APP下载

WebBIM的分布式软件架构设计与实现

2018-01-20李光威

电脑知识与技术 2018年31期
关键词:分布式数据库

李光威

摘要:关于基于Web的BIM(Building Information Modeling)软件架构设计与实现,学术界和工程界对此方面的软件架构设计进行了长期的研究与讨论。当前WebBIM的软件架构设计多种多样,同济大学学生将介绍WebBIM的分布式架构设计,给出一整套开发方案,并对开发过程中的科学问题进行突破并实现WebBIM在线可视化系统的示范性应用。

关键词:BIM;软件架构;分布式;Web;数据库

中图分类号:TP311      文献标识码:A      文章编号:1009-3044(2018)31-0073-02

1 背景

建筑信息模型BIM是近年来兴起的新概念,在建筑的设计、施工、运维的全生命周期中应用价值极高,已成为建筑业的新趋势。理论中的BIM应能够贯穿建设项目的整个生命周期,并支持项目全部信息的存储与交互。目前我国的BIM技术应用大体分为以下两大类:1)单机模式。每个用户都有一个工作站,BIM数据模型一般都是保存在本地的,由自己掌握。2)基于产品数据的管理模式。BIM可视化管理平台使企业内部的所有设计模型数据集中存储与管理。每个用户还拥有一个工作站。

然而传统BIM应用模式中尚且存在一些问题:

1)投入的成本比较高。

2)BIM模型数据的安全性让人担忧。

3)BIM模型的交互性较差。

所以仍需要一个以实际技术搭建的系统将BIM的这些特性实现,BIM服务器应运而生。目前主流的BIM服务器多为C/S架构,而C/S架构的桌面应用程序对电脑软硬件和软件使用者都有一定的要求。随着HTML5标准的推进,帶来了支持浏览器硬件图形加速的WebGL技术,更带来了一系列划时代的Web技术,同时为实现B/S架构下的BIM信息管理与模型三维浏览奠定了基础。HTML5的出现为Web浏览器带来了各式各样的功能支持,引领我们走向内嵌式富互联网应用的新纪元。于是面向Web的BIM服务器有了理想的技术支撑。

因此,随着BIM技术的发展,实现基于B/S架构的WebBIM系统越来越重要。该文的主攻方向是设计基于WebBIM开发的后端架构方式,该课题现阶段还有许多尚未攻克的技术难题。一方面,基于B/S架构的WebBIM系统的存储系统受到物理环境的影响;另一方面,WebBIM场景中的模型的5V特性(大量化(Volune)、多样性(Variety)、高速性(Velocity)、价值(Value)和可视化(Visualization))使得对存储系统提出了负载均衡性能的要求。

2 系统设计

2.1 大型WebBIM软件架构方式

虽然已有基于服务器的BIM软件架构方式,但是对于大型WebBIM系统的架构方式仍在探索阶段。所以该课题借鉴其他项目的分布式架构方式,设计大型WebBIM的分布式软件架构。

2.2 大型WebBIM系统前端与后端的高效网络传输方式

使用Node.js+MongoDB+Redis作为整体服务架构,实现前端与后端的高效传输。主要功能在于交互式地浏览和修改数据,生成动态Web内容。目前基于Web的应用程序开发很多是使用Node.js来进行项目开发。在大型WebBIM系统开发中,后端数据库要与前端通信,并配合前端语义表达。

2.3 大规模WebBIM系统的数据库设计

该文就BIM行业内某公司需求,设计并实施了以FastDFS为主HDFS为辅的分布式文件存储系统。本实验室前期已经IFC的BIM模型数据进行轻量化,形成了DAT文件,每个DAT文件只有几KB级别的数据,一个大型建筑总的文件只有几十兆级别的。而主流分布式存储系统HDFS适合存储大文件,为节省研发HDFS针对小文件存储算法方面的成本,该文引入适合存储中小型文件的轻量级分布式存储系统FastDFS,以此为主要存储系统,并部署HDFS,存储大文件,为之后优化小文件存储,迁移全部存储平台至HDFS,并在此之上建立分布式计算平台打下技术基础。

2.4 基于IFC文件的BIM模型数据云存储设计

WebBIM模型的集合数据和元数据都将存入数据库中,前端需要加载几何数据,我们将集合数据放在分布式文件系统中,而描述数据的数据(元数据)放在关系型数据库中。

2.5 针对IFC文件的关系型数据库到分布式数据库的数据迁移工具

该项目目前将模型文件存储在MongoDB数据库中,现在需要将这些文件通过MySQL迁移到分布式数据库中。初步使用Sqoop,此开源工具主要用于Hadoop与传统的数据库进行数据的传递,在迁移过程中,设计基于该项目目前开发中的数据,迁移到分布式数据库中的方法。

3 系统实现

该系统采用Node.js作为开发语言环境,选择MongoDB作为模型数据库。根据WebBIM项目开发的实际情况,结合业务流程,确定了系统的整体框架,对功能模块,数据库设计进行了深入分析,研究与探讨。切实完成了WebBIM系统设计,代码编写,系统压力测试,如图1。

由于该系统功能模块较多,受篇幅限制,只给出技术路线图与Web展示,如图2。

4 结束语

针对浏览器端提出一套WebBIM软件开发的架构方式,该解决方案具有通用性强、适用性广、兼容性好的特点,并且有很好的功能拓展性和完整的对外接口。对下列关键技术进行研究并形成研究报告,主要体现下列关键技术研究内容:大型WebBIM软件架构方式;大型WebBIM系统前端与后端的高效网络传输方式;大规模WebBIM系统的数据库设计;基于IFC文件的BIM模型数据云存储设计;针对IFC文件的关系型数据库到分布式数据库的数据迁移工具。最终形成一整套WebBIM软件开发项目的架构方案。

参考文献:

[1] 吕玉惠, 俞启元, 张尚. 基于BIM的施工项目多要素集成管理信息系统研究[J]. 建筑经济, 2013(8): 35-38.

[2] 王珩伟, 胡振中. 面向Web的BIM三维浏览与信息管理[J]. 土木建筑工程信息技术, 2013, 5(3): 1-7.

[3] 王宝会, 高远. 面向BIM数据的分布式文件存储系统设计与实施[J]. 土木建筑工程信息技术, 2016, 8(5): 40-44.

猜你喜欢

分布式数据库
基于DDS的分布式三维协同仿真研究
西门子 分布式I/O Simatic ET 200AL