基于公有云的建筑企业BIM构件库管理系统研发
建筑信息模型(building information modeling,BIM)作为信息集成技术,通过对建筑工程项目实体和功能特性的数字化表达,集成建筑工程项目全生命周期和各专业相关信息。在BIM技术高速推进和发展的大环境下,建筑企业BIM技术的应用水平直接关系到企业竞争力,而BIM信息资源是建筑企业在BIM实施过程中开发积累的信息资源,是建筑企业BIM应用的核心竞争力之一。BIM构件作为建筑信息模型的最小粒度,是模型创建的基本单元,更是BIM信息资源的重要载体。BIM构件作为企业BIM信息资源的重要组成部分,其完备程度和管理水平对建筑企业建模效率和质量的提高,及BIM信息资源的积累非常重要。建立完备的BIM构件库管理系统,提升构件库的管理水平和应用水平是建筑企业BIM应用的关键。
目前建筑企业BIM构件库系统广泛采用个人计算机终端创建、服务器集中存储的管理模式,存在硬件成本高、管理效率低、构件库扩展困难、构件标准化程度低、系统可靠性难以保障等问题。而公有云作为云计算的服务方式,已在不同领域得到广泛应用,通过公有云平台提供的软硬件资源和服务,结合BIM构件的管理标准与管理流程,建立基于公有云的建筑企业BIM构件库管理系统,为建筑企业BIM构件库管理提供可行的技术路线。
1 BIM构件与BIM构件库
目前,建筑企业逐渐重视信息资源的共享、重用和规模化管理过程。BIM构件资源作为BIM信息资源的重要组成部分,其开发、积累、加工和处理逐渐受建筑企业和研究人员的关注。如由于BIM建模存在大量重复性工作,通过BIM内容库的建立可有效减少建模工作的冗余,提高建模效率[1]。针对伊斯兰风格建筑形式复杂、信息量大的特点,Almaimani等[2]基于BIM建立伊斯兰风格建筑的构件库,该构件库以Revit系列软件插件的形式进行设计,内嵌在Revit软件中,从时间和空间维度对BIM构件进行分类和表达,实现对构件的管理。为解决建筑信息模型和能耗模拟软件操作性不足的问题,Kim等[3]使用面向对象的建模方法和以方程为基础的Modelica语言建立Modelica BIM资源库。
崔旸等[4]针对机电专业常用族,从族的属性和功能方面进行分类,从文件夹级、构件级和数据级进行命名。刘尚蔚等[5]以桥梁工程BIM构件库的开发和建设为目标,研究桥梁工程BIM构件的命名、分类编码、建立流程和在实际项目中的运用。李伟伟等[6]研究设计企业BIM构件库的建设方法,提出设计企业BIM构件库的建立流程。冯延力[7]通过分析建筑工程设计各阶段对BIM构件的需求,对BIM构件制作标准体系的建立、BIM构件库管理系统的功能和扩展应用进行规划。符聪[8]结合国内设计标准和习惯,基于Revit API开发族库管理工具集。周洪波等[9]对BIM构件库中产品数据格式仅针对专属软件,缺乏数据通用性和统一性等问题,提出基于IFC标准构建BIM构件库。佘长岗等[10]针对BIM构件库激励机制展开研究,并提出激励措施。
构件库管理系统主要存在系统服务器软硬件购置成本高、后期BIM构件库维护和扩展困难、服务器维护成本高、构件库可靠性和安全性难以保障、BIM构件标准化程度低等问题。针对该问题,利用公有云平台提供的硬件基础,结合对BIM构件管理标准与管理流程的研究,按应用系统开发流程,建立基于公有云的建筑企业BIM构件库管理系统,并在一定程度上解决问题。
2 云计算与阿里云ECS服务
2.1 云计算
云计算被看成商业交互模式,将各种底层资源虚拟成资源池,屏蔽物理资源的异构性,从而便于云计算服务商进行统一管理和分配资源。消费者通过该服务资源池有偿获得存储和计算等多种资源,云计算也被看作服务交互模式。云计算按服务模式自下而上分为基础设施即服务(infrastructure as a service,简称Iaa S,)、平台即服务(platform as a service,简称Paa S)、软件即服务(software as a service,简称Saa S),如图1所示。
图1 云计算的服务模式体系架构
1) Iaa S位于架构最底层,主要为需要硬件资源的IT建设部署者提供服务,以虚拟资源池的方式为用户提供底层硬件资源,包括服务器、存储和网络资源等。
2) Paa S位于架构中间层,主要为程序员和开发者提供服务,是在Saa S模式基础上发展的以软件开发平台为服务,通过Saa S模式提供给用户使用的模式。用户使用该平台支持的开发编程工具开发出自己的应用,并在平台上部署使用。
3) Saa S位于架构最顶端,主要针对需要软件应用的用户,通过互联网将软件作为服务模式,Saa S服务提供商不仅需搭建服务要求的网络基础设施及软硬件开发平台,且需要以此为基础部署软件和相关应用。
云计算以提供者和使用者的隶属关系为标准,进行如下划分:(1)公有云(public cloud)由独立的第三方供应商为用户提供所需服务,服务对象包括普通用户、公司或其他组织,用户可同时共享供应商提供的所有资源;(2)私有云(private cloud)为某个组织或企业内部创建的独占云环境,在自有数据中心布置完整的云服务,具有防火墙内的信息安全保障,是封闭性的,只有组织和企业内部成员拥有权限才可访问云中资源;(3)混合云(hybrid cloud)提供通过整合公有云及私有云提供的云环境为用户提供所需服务,用户可根据自身因素和业务需求选择合理的整合方式。
2.2 ECS服务
ECS(elastic compute service)是阿里云推出的计算服务,具有简单高效、安全可靠、处理能力弹性伸缩等特点。用户无须购买任何硬件,便可随时创建或释放多台ECS服务器。ECS服务器涉及的资源如图2所示,主要功能包括完全管理权限、块存储、自定义镜像、快速备份和恢复、安全防护。ECS服务器相比传统服务器,在扩展性、可靠性、安全性、系统性、易用性、成本等方面具有一定优势。
图2 ECS服务器涉及的资源
3 基于公有云的建筑企业BIM构件库管理系统分析与设计
3.1 功能性和性能需求分析
对基于公有云的建筑企业BIM构件库管理系统进行需求分析,可明确系统需要实现的功能和性能目标,主要用户包括普通用户和管理员。普通用户主要针对建筑企业内部相关的BIM建模人员和BIM构件创建人员,实现普通用户登录系统后完成操作构件、查看库内公告和管理个人信息的功能。
BIM构件库管理系统管理员是建筑企业内部专门管理BIM构件及信息、用户及其信息与公告信息的相关人员。管理员具有普通用户的所有权限,并可在此基础上增加管理和维护BIM构件库管理系统的相关权限。管理员登录系统后可实现管理构件、审核构件、管理公告、管理用户信息和管理个人信息模块的功能。
建筑企业BIM构件库管理系统在满足普通用户和系统管理员功能性需求的前提下,需进一步满足企业及用户对BIM构件库管理系统的性能需求。基于公有云的建筑企业BIM构件库管理系统性能需求主要包括安全性、可靠性、可扩充性、易使用性、健壮性和可移植性等。
3.2 架构设计
对基于公有云的建筑企业BIM构件库管理系统进行需求分析,确定系统需满足的功能性需求和性能需求,以系统需求为目标,设计BIM构件库管理系统。系统架构设计分别从技术架构、物理架构、逻辑架构和模型结构方面展开。
目前系统开发常用C/S架构和B/S架构。C/S架构即客户机/服务器(client/server)架构,是分布式软件系统结构,主要包括前台客户端应用程序和后台服务器。由于建筑企业BIM构件库管理系统对构件保密性和安全性要求较高,系统用户群体相对固定,一般仅针对建筑企业内部人员。因此,在综合考虑建筑企业对BIM构件库管理系统的功能和性能需求后,采用C/S架构进行设计。用户只需运行系统客户端并提交用户需求,客户端程序即将用户需求提交到服务器端,再将服务器端返回的结果以特定形式显示给用户。
系统物理架构主要体现在系统在硬件设施的选择和策略上。基于公有云的建筑企业BIM构件库管理系统硬件设施,主要用于阿里云平台的ECS服务器中,以满足建筑企业对BIM构件库管理系统的经济性、可扩展性和安全性等需求。如图3所示,用户在个人计算机上运行基于公有云的建筑企业BIM构件库管理系统客户端,通过网络通信设备与云服务器进行交互。服务器端部署在阿里云平台上,其中FTP服务器是支持FTP (file transfer protocol,FTP协议)的ECS服务器,用于存储BIM构件和二维、三维视图等文件。数据库服务器是运行Oracle数据库管理软件的ECS服务器,用于存储BIM构件、用户和公告等相关信息。
图3 物理架构
基于公有云的建筑企业BIM构件库管理系统逻辑架构包含界面表示层、业务逻辑层、数据访问层和基础设施层4个层次。系统运行和功能实现通过这4个层次间的相互协作完成。系统逻辑架构如图4所示。
系统建模过程涉及大量的类、接口、构件、节点和图,可通过组织形成包,通过描述包与包间的关系形成包图。包图在逻辑上可对系统模型进行模块化分解,描述和维护系统模型的组织结构。在基于公有云的建筑企业BIM构件库管理系统建模过程中,构件类、公共类、数据模型类和逻辑类等都存放在Java包中。系统中Java包可根据软件开发的3层架构体系进行组织和设计。其中Cient包内部放置单例类Sing Leton,用于实现软件的单例模式,保证系统中一个类只有一个实例,并提供一个访问的全局访问点,从而方便统一管理系统中的资源。UI包属于界面表示层,放置系统中的所有构件类,UI包又划分以下子包:(1)main UI包放置系统的头界面类和一些父界面类;(2)user UI包放置普通用户界面类;(3)administrator UI包放置管理员界面类。Business Login包属于业务逻辑层,放置系统中的身份认证、构件操作、界面响应、安全管理等业务逻辑类。DAO包和FTP包属于数据访问层。DAO包放置与数据库进行交互的类,包括与数据库保持连接的类和对数据库中数据进行增、删、改、查的类。FTP包放置与FTP服务器进行交互的类,包括FTP服务器中对文件进行上传、下载、删除等操作的类。
图4 逻辑架构
4 云服务器部署及系统功能实现与测试
4.1 云服务器部署
建筑企业BIM构件库管理系统初步租用ECS服务器,ECS服务器的基本配置为CPU核心数为1,内核为2GB,宽带峰值为1Mbps。选择华北2地区,操作系统选择Windows Server 2016数据中心64位中文版,ECS服务器的基本配置可根据BIM构件库管理系统的需求进行在线变更,提高资源利用率,节约企业成本。实例开通后,可查看新建实例名称、实例ID、公网IP地址、内网IP地址等信息。
BIM构件的上传、下载和删除采用FTP工具进行实现。本系统需在ECS实例上搭建FTP站点。添加FTP站点前,需创建FTP服务器用户名及密码,创建FTP文件并对共享文件进行权限设置。在FTP站点添加过程中,需设置FTP站点名称、共享文件夹的物理路径、ECS实例公网IP及端口号等信息,并设置用户访问的身份验证方法。
BIM构件、用户及公告信息采用Oracle数据库进行管理。本系统选择Oracle Database 12c作为数据库管理软件。数据库安装完成后,需通过图形化用户界面工具DBCA创建基于公有云的建筑企业BIM构件库管理系统数据库,并通过Oracle Net Manager(简称Oracle网络管理)工具配置服务命名和监听程序。配置结束后,使用图形管理工具SQL Developer创建和管理数据表。
作为逻辑上的分组,安全组由同一地域内具有相同安全保护需求且相互信任的实例组成,是网络安全隔离的手段之一,可对云服务器的网络访问控制进行设置。每台ECS服务器实例至少应属于1个安全组,本系统中ECS服务器实例共创建4个安全组,安全组的规则方向为入方向,表示其他实例可访问本系统的ECS服务器实例。
4.2 系统功能实现与测试
普通用户进入BIM构件库管理系统的登录界面后,进入普通用户功能选择界面,界面显示普通用户可进行的功能操作,包括操作构件、查看库内公告、管理个人信息。
5 结语
本文针对建筑企业BIM构件库存在的问题,分析云计算技术的相关理论和BIM构件的管理标准与管理流程,结合系统开发和设计的基本路线,实现基于公有云的建筑企业BIM构件库管理系统。该系统以需求为目标,设计建筑企业BIM构件库管理系统的架构、业务流程、主要功能和数据库。本系统能充分发挥云计算节约成本、安全可靠、动态扩展等优势,提高建筑企业BIM构件库管理系统的管理效率和管理水平,实现BIM构件的高效复用和不断积累,促进BIM技术在企业内部的推广和应用。
[2] Al MAIMANI A K, NAWARI N O. BIM-driven components library for islamic facilities(BIM-IF)[J]. Visualization in engineering,2017,5(1):41-46.
[3] KIM J B,JEONG W,CLAYTON M J,et al. Developing a physical BIM library for building thermal energy simulation[J].Automation in construction,2015,6(12):16-28.
[4] 崔旸,朱丹,王德俊,等.机电专业常用族的分类和命名方法[J].建设科技,2015(14):135-138.
[5] 刘尚蔚,白硕,魏群.基于BIM的某拉索桥族库构建方法与应用[J].中国水运(下半月),2016,16(10):189-190,194.
[6] 李伟伟,王强强,王瑜.设计企业BIM构件库建设方法[J].土木建筑工程信息技术,2012,4(4):110-114.
[7] 冯延力.面向建筑工程设计的BIM产品构件分析及构件库管理系统建设[C]//第三届BIM技术在设计、施工及房地产企业协同工作中的应用国际技术交流会,2014.
[8] 符聪.基于BIM平台的Revit工具集的设计实现[D].武汉:华中科技大学,2014.
[9] 周洪波,施平望,邓雪原.基于IFC标准的BIM构件库建设方案研究[C]//第二届全国BIM学术会议,2016.
[10] 佘长岗,刘文伍,罗兰.基于BIM构件库的激励机制研究[J].土木建筑工程信息技术,2016,8(3):32-38.
[11] 住房和城乡建设部标准定额研究所,四川省建设工程造价管理总站.建设工程工程量清单计价规范:GB 50500—2013[S].北京:中国计划出版社,2013.