基于云计算的半结构化BIM数据库
2019-11-30王永强
文/王永强
BIM数据库是目前工程建设的重要基础,为了保证BIM数据库的性能,需要基于云计算来进行数据库的构建。为此,必须要了解BIM数据库的特点,使用合理的方式来构建半结构化的BIM数据库。
1 BIM技术和云计算
1.1 BIM技术对数据库的需求
BIM技术的全称是建筑信息模型,利用三维数字技术作为基础,集成建筑工程的数据信息,可以进行可视化演示,并且对工程进行检查。BIM技术目前正在变得普遍和完整,通过对工程对象的描述,提高了对建筑工程项目建设的管理效果,受到了很多不同工程项目信赖。随着技术水平的提升,BIM技术正在形成完整的理论、技术、标准和系统,但是BIM数据的储存和传递都以文件的方式是进行,例如Autodesk会使用开发商特定的.rvt格式,使用Revit、Structure建立的BIM模型都是使用.rvt或者IFC格式来进行储存和传递的。应用时,通过特定的软件来获得模型文件,然后提取相关数据,从而实现信息的共享。
虽然这种文件能够有专业的信息应用,并且在设计更改时也可以获得全新的数据文件,并且能够根据工程项目的不同周期来对文件进行灵活的管理,但是使用的文件依然是存在固有缺陷的。例如不同的商业企业会使用到不同的文件格式,导致模型数据缺少一致性和唯一性,在工程各个阶段的使用中比较繁琐。因此,通过使用数据库来储存BIM数据就成为了一个重要的方式。
1.2 BIM数据库
通过建立BIM数据库,可以对BIM数据进行储存和管理。BIM服务中可以利用子模型技术,这种技术是针对某一个流程对BIM数据提取所获得的子集,其中包含所需要的所有信息。建筑的模型形成子信息模型能够加成到BIM服务器,从而实现完整的BIM创建,之后通过子模型来进行服务器的信息交换,满足对信息提取在技术和参数上的需要。BIM服务器投入使用,能够解决信息集成和数据维护方面的问题,可以去除服务器内不相关信息,给工程项目提供全周期的BIM技术平台。
基于数据库的储存管理模式仍然需要面临一定的问题,比如建筑项目都是涉及多个单位的,所以数据库的网络传输负担很大,数据库的稳定性和性能都会受制于网络环境,甚至会难以在现场应用。其次,由于BIM数据集中在中央服务器,也会由于施工各方产权和安全等方面的原因导致法律纠纷。
1.3 云计算结合BIM数据库的必要性
云计算是分布式处理、并行处理和网络计算的发展,云计算使用互联网技术实现资源的共享,并且方便资源的访问。云计算中的关键技术包括分布式文件系统、数据维护技术、虚拟化硬件资源等等。基于云计算的数据库,都是分布在不同云平台上的关系数据库,能够进行大型数据的储存,并且可以减少数据的传输量,这样就能通过缩小单个节点的数据规模,来提高查询的效率。为此,通过使用云计算来支持BIM数据库,可以弥补数据库的不足,依靠云平台的虚拟集成,就能够形成统一的BIM模型,以便给用户提供完整的服务,并且支持在工程不同生命阶段的信息交互。
2 BIM数据库类型介绍
BIM数据可以存储结构化的数据,按照需求来进行数据的过滤和提取,BIM数据库都是根据IFC标准进行设计,包括面向对象型的BIM数据库,关系型BIM数据库,关系-对象型数据库和NoSql数据库。
2.1 面对对象型BIM数据库
面对对象的程序设计是个常用的程序设计方法,根据IFC模型的面向对象设计,有学者也提出了面向对象储存的BIM数据库。比如目前实现了基于Versant Object Database的IFC型数据库,这种数据库比关系型数据库的效率更高。但是面向对象型的数据库还存在理论不完善等问题,并且数据库的造价也十分昂贵,实际应用当中的扩展性也很低。
2.2 关系型BIM数据库
关系型BIM数据库利用数据之间的关系来实现对数据的储存,目前主要根据IFC模型进行设计。其中的模式在于,针对每个IFC实体,专门制作一个表,表中的一列是实体数据的属性,另一列是属性的值。目前的关系型BIM数据库,有基于Sql开发的IFC数据库;国内开发了BIM信息集成平台。实际应用中,IFC实体具有很多属性,但是很多属性的值为空,这就导致关系数据库为了能够进行储存工作,必须要留有大量的空间,会导致明显的资源浪费。和面向对象的BIM数据库一样,关系型BIM数据库也有扩展性比较差的问题,导致在BIM数据量很多时,储存效果非常差。
2.3 对象-关系型BIM数据库
由于无论是关系型数据库还是面向对象的数据库都有扩展性不足的问题,目前通过将二者结合,有效解决了他们在应用上的不足,形成了一种扩展关系的数据库,让他们能够具备面向对象的数据库特征。但是目前对象数据库也并不成熟,所以这种方式的数据库应用仍然比较少。
2.4 键值型BIM数据库
键值型BIM数据库就是利用键值对来对BIM数据进行储存,目前的键值型数据库能够储存IFC数据,查询速度很快,并且扩展性很强。但由于只是基于键值对来进行查询,所以在查询时局限性很大。
3 云端的服务层构建
由于BIM信息需要进行跨周期、跨学科的传递和共享,为此在云计算方面也需要做好不同项目的协同,并且有足够的效率,而且具备智能化的水平,满足工程建设的实际需要。
3.1 协同
协同是面向多用户、多终端云端系统,能够实现异地同步的信息共享和传递。为了满足多学科共同协作的需要,BIM数据库的云端需要能够满足不同时间、不同地点的工作方案。为此,云端的建筑项目在向数据库传输的时候,必须要解决IFC格式所存在的数据冗余问题,并且能够支持多种软件的协同管理工作。其次在信息交换安全上,也需要避免知识产权被盗用或者被套用的问题,所以数据库需要具备私有数据和公有数据混合的特性,而且能够满足建筑物建设不同阶段中参与方角色的转换,避免出现信息风险。为了保证扩展性,还需要允许第三方数据传输,有效降低信息传输的风险,并且明确各方的责任。
3.2 高效
为了能够对BIM数据进行高效的管理,并且拥有复杂数据的处理能力,降低BIM数据的复杂程度,可以建立键值树作为索引,实现对数据的快速定位,保证数据的查询效率。同时,还可以对于频繁使用的数据使用触控模式的图形界面来提升高效性。例如可以将BIM模型和集成开发式的云技术结合,保证BIM数据库可以高效交付。目前,BIM360能够利用强大的计算和储存来实现BIM数据模型的仿真和渲染。对于现场进度监测耗时耗力的问题,可以用实际施工进度和计划施工状态进行对比,根据两者的偏差来表达施工状态,通过匹配记录可以将施工的情况准确表现出来。
3.3 智能化
随着人们对BIM技术的要求,云端除了能够对BIM数据进行查询,必要时也能够对BIM技术进行深度分析,通过提取原始数据中的有效信息,基于数据库来进行辅助决策、信息变动支持、自动建模等方面的工作。
在辅助信息决策上,可以根据建筑物的目标状态和摄影测量的点云数据,形成信息决策的辅助方案,帮助进行建筑构件和互动的工作。将数据进行对比,就能够形成比较合理的决策方式。自动建模上,可以根据BIM数据来形成生动的3D模型,满足使用者的需求,提升数据的交互性。如果信息发生了变动,比如工程参与各方根据需求增加了自定义属性,需要进行同步的修改和更新。
4 基于云计算的分布式BIM数据和服务架构
解决网络传输的需求是BIM数据库的重要需求,通过云计算来构建的分布式数据库中,企业可以将数据储存在本地的服务器中,然后根据协议要求来公开服务器中的公共数据,对私有数据做好保护避免其被随意访问。这样,就可以根据数据的共享协议,各个参与方只是在服务器上将自己可以公开的数据公开,自己只能访问其他参与方的公开数据。各个参与方的服务器通过云计算进行分布式的虚拟管理,能够形成完整的BIM模型,这样就能够对建筑工程的各个阶段来建立信息模型。同时,还可以建立所有用户统一的数据接口,让工程参与各方都可以在任何时间、任何地点来获取权限内的数据。在数据发生改变时,也能够自动在其他节点把数据储存,保证了数据的透明和共享。
4.1 数据库的选择
基于云计算的BIM数据库需要支持数据的查询,并且由于BIM数据的数据量很大,所以数据库需要具备一定的扩展性。目前,NoSql数据库具有读写速度快、可以进行海量数据处理、扩展性好的特点,被充分应用在云计算和互联网当中。数据库可以分为键值型数据库、面向文档的数据库和面向列储存的数据库,使用特定的文档进行储存,工作时并不定义表结构,并且能够满足很多复杂的查询需要。NoSql的储存方式以行为储存标准,和传统关系数据库以列为标准有很大的区别。这就能够让数据库能够以列为单位进行数据的读取,能够储存稀疏表,并且具有很高的扩展性。根据IFC具有的机构化和稀疏性的特征,实际应用中用户可能会使用到很多不同的方式来进行数据的查询,所以面向列的NoSql数据库的实用性更强。
NoSql数据库中,HBase是分布式的面向列的开源数据库,这种数据库已经被很多大型的互联网公司所采用,并且在长时间使用之后已经比较成熟和稳定,故使用HBase来作为BIM数据库有比较好的效果。该数据库使用了分布式数据管理模式,能够让用户进行统一的数据储存和访问工作,并且通过不同的RegionServer实现了分布式的储存。储存中,使用行键来作为一行的键值,利用时间来标识版本,并使用列族的方式来进行不同列的定义。同一个列族会在同一个储存区域进行储存,不同列的数据会得到分开的储存。在查询时,可以根据行键、列族和实践来进行快速的查询。
4.2 基于NoSql的半结构化BIM数据库设计
IFC数据本身就具备一定的面向数据的特性,并且能够针对一个表来进行结构化的储存工作。应用当中,数据的访问效率比较低,必须要进行大量的Join操作,实际应用的效率相对低下。为此,可以使用半结构化的储存方法,充分发挥IFC的结构特性。
IFC只有存在可独立交换实体时,才能够进行提取和修改,而且资源实体是不会被单独访问的,工作中只会根据可交换实体建立表,并且资源实体受到的访问也会被记录。可独立交换实体具有所有的属性信息,无论是简单类型的数据信息还是复杂类型的数据信息,都囊括在可交换实体中,并且所有的信息都被序列化成了二进制的数据储存在相应的单元中。为了避免出现数据冗余的问题,在应用中关系实体和类型实体中,类型实体能够储存交换实体的属性。为了避免由于同一个资源被多个可独立交换实体采用导致的重复问题,可以根据其GlobalID或者名称直接从IfcPrduct上进行提取,这样就能够避免过多Join操作导致的工作效率下降,有效提升了工作的效率。
5 结束语
BIM数据库有着十分重要的作用,为了保证BIM数据库的性能,需要充分利用云计算技术。为此,数据库需要满足协同、高效和智能化的需求。通过使用HBase来进行数据库的构建,能够满足实际的需求,提高工程建设的协同水平。