Microservice architecture of BIM + GIS cloud platform for rail transit engineering
-
摘要: 为解决轨道交通工程BIM+GIS云平台在多站点、多区间、多线路管理中,BIM、GIS数据量大、数据服务庞杂、并发访问量大等问题,研究分析单体服务架构缺陷和微服务架构优势,在制定微服务拆分方式和设计原则的基础上,实现了轨道交通工程BIM+GIS云平台的微服务架构设计。并在大连地铁5号线火梭区间海底盾构隧道施工中进行应用。应用结果表明,采用SpringBoot/Cloud微服务架构,平台性能、承载能力、用户体验度都得到提高。Abstract: In order to solve the problems of large amount of BIM and GIS data, complex data services and large concurrent visits in the multiple sites, multiple intervals and multiple lines management of rail transit BIM + GIS cloud platform, this article analyzed the defects of single service architecture and the advantages of micro service architecture. Based on the formulation of microservice splitting mode and design principles, the microservice architecture design of rail transit BIM + GIS cloud platform was implemented. The architecture was applied in the construction of subsea shield tunnel in Huosuo section of Dalian Metro Line 5. The application results show that the platform performance, carrying capacity and user experience are improved by using SpringBoot / Cloud microservice architecture.
-
当前轨道交通工程BIM技术应用主要为BIM建模及模型应用、BIM方案展示、BIM协同设计等,随着5G、大数据、物联网、云计算、移动应用等技术水平的提高,结合轨道交通工程线网状特点,并以GIS为骨架进行整合,二维平面抽象的信息化管理向BIM+GIS云平台可视化管理升级已成为必然趋势[1]。
轨道交通工程BIM+GIS云平台需承载大量BIM模型、GIS瓦片数据、过程信息及文档等,同时,需满足大量模型导入与操作的流畅性服务需求[2]。单体服务架构的BIM+GIS云平台较难满足多用户并发访问、加载、操作BIM与GIS数据时的快速响应,且会带来耦合度高、可靠性低、维护难度大、扩展困难、阻碍技术创新等诸多不利因素,不满足轨道交通工程BIM+GIS云平台应用要求。
为解决在单体服务架构下各类系统存在的问题,众多研究人员展开了研究。靳磊采用微服务架构改造中国国家铁路集团有限公司调度系统,使其满足业务需求、解决复杂问题、加速交付过程、提高系统扩展性[3];王雪峰等人从需求分析、关键技术、系统架构和实现方法等几个方面论证微服务架构优势,并采用Spring Cloud作为微服务基础框架集合,保证系统的可靠性和可扩展性[4]。陶承提出基于微服务架构的招标采购管理系统技术方案,为铁路货物、工程、服务相关的采购行为的规范化、信息化管理提供技术支撑[5]。因此,本文引入微服务架构设计轨道交通工程BIM+GIS云平台,在实现三维可视化管理应用的基础上,合理利用硬件及网络资源,提供更流畅的加载、浏览、管理等服务。
1 微服务架构分析与选型
1.1 微服务架构分析
微服务架构将单体服务程序拆分为一组小型服务,每个小型服务运行在独立进程中,小型服务间的通信采用REST API轻量级HTTP通信接口机制,如图1所示。研发人员可围绕业务功能模块构建小型服务集,不同的小型服务相对独立,可采用不同的服务器、编程语言、数据库、存储方式等,但会产生一些额外要求,例如:需制定微服务间的通信机制和解决跨服务器网络连接稳定性问题。
微服务架构在轨道交通工程BIM+GIS云平台中应用的优点:(1)易于开发与维护,松耦合模式、专注于单一服务、边界清晰、复杂度低;(2)容错度高,故障针对单一微服务,可通过重试、平稳退化等机制实现应用层容错;(3)易于扩展,每个微服务可独立扩展;(4)易于创新,技术选型灵活、去中心化,各团队可自由选择合适的技术路线,技术升级重构风险低,不影响整体研发进度[6]。
1.2 微服务架构框架选型
目前市场上主流的微服务架构框架有Apache Dubbo、Spring Boot/Cloud[7]、Thrift、Motan、gRPC等,主要分为HTTP、RPC通信协议两类,如表1所示。
表 1 微服务框架一览表框架名称 Apache Dubbo Spring Boot/Cloud Thrift Motan gRPC 框架描述 经过阿里巴巴检验的产品,
在社区中有较完整的案例基于Spring的完整
微服务体系跨语言的
RPC框架新浪微博的开源
轻量级服务框架Google的开源、面向移动和HTTP/2
设计的高性能RPC框架通信协议 RPC HTTP RPC RPC RPC 服务跨平台 不支持 支持 支持 不支持 支持 服务注册/发现 支持 支持 不支持 支持 不支持 负载均衡 支持 支持 不支持 支持 不支持 高可用/容错 客户端容错 客户端容错 不支持 客户端容错 不支持 社区活跃度 高 高 一般 一般 高 学习难度 低 中等 高 低 高 文档丰富 丰富 丰富 一般 一般 一般 本文研发的轨道交通工程BIM+GIS云平台,后端采用Spring MVC Framework与MyBatis持久化组件,数据库采用MySQL与MongoDB,前端采用Vue.js。根据BIM+GIS云平台主要技术路线,对比多种开源框架,选择与轨道交通工程特点契合度高的SpringBoot/Cloud框架实现微服务架构。
2 平台架构设计
2.1 微服务拆分
本文依据单一职责、服务自治、轻量级通信、接口明确的原则,将轨道交通工程BIM+GIS云平台从一个单体服务拆分为多个微服务,如图2所示,包括监控量测、风险源、报表服务、整改处置、进度管理、预警巡查、文件服务、盾构机服务等。拆分后的微服务通过注册中心统一管理,网关认证鉴定后分发,对外提供网页访问服务。
2.2 微服务架构设计
轨道交通工程BIM+GIS云平台微服务架构设计需考虑多方面因素。
(1)统一API网关,实现内部服务的统一认证与鉴权,避免监控量测、报表服务、盾构机服务等内部服务重复认证与鉴权,提高资源利用效率。
(2)数据库横向扩展,BIM+GIS云平台采用关系型MySQL主数据库,分布式部署,数据库节点可随需求的增加而随时增加。
(3)有层次的缓存,针对静态数据如GIS瓦片数据、轨道交通工程BIM模型等,平台通过CDN将数据缓存在距离客户端最近的节点,就近加载;针对动态数据,如盾构机实时监测数据、风险源状态数据、实时进度数据等,平台采用Redis缓存,使大部分服务请求可读取Redis缓存数据,减轻数据库压力。
(4)服务编排管理依赖关系,将服务部署代码化,实现服务发布、更新、追溯、弹性收缩等功能,增加服务的可追溯性、易管理性和自动化能力。
(5)统一配置中心,管理所有微服务环境,进行集中配置,保障云平台底层支撑与对外服务连接通畅。
(6)统一日志服务,所有微服务遵守统一日志规范,便于查询分析。
(7)服务具备熔断、限流、降级能力,繁忙、线程池满、连接池满则及时熔断,超时则返回,负载过高则对部分服务限流、降级以保障核心服务。
综合考虑以上7方面因素,轨道交通工程BIM+GIS云平台微服务架构,如图3所示,应用SpringBoot/Cloud框架支撑、监控服务治理,结合底层数据(数据库、文件)的读写操作权限,部署监控量测、报表服务、盾构机服务等微服务应用,实现终端用户鉴权认证后的业务管理。
SpringBoot/Cloud框架主要包含:Spring Cloud Eureka用于服务注册和发现、断路器Netflix Hystrix用于熔断保护、Spring Cloud Ribbon用于负载均衡、声明式REST客户端Feign调用远端HTTP服务、Netflix Zuul用于智能路由和过滤、SpringCloud Config用于配置中心、Spring Cloud Sleuth用于链路跟踪,同时每个微服务单独连接数据库[8]。
轨道交通工程BIM+GIS云平台微服务架构,可对网关、注册中心、微服务进行集群配置与发布,如图4所示。随着轨道交通工程线网统一管理需求的深化,数据量、访问量急剧增加,为缩短平台响应时间,提高并发请求数,可在微服务架构的业务集群中增加主机扩展节点并配置到相应的注册中心,以应对轨道交通工程BIM+GIS管理需求的增长。
3 微服务架构运用
本文基于微服务架构的轨道交通工程BIM+GIS云平台实现工程建设全生命周期管理,包括设计阶段的协同工作、文档管理、三维浏览,施工阶段的质量管理、安全管理、进度管理,运营维护阶段的资产管理、巡检管理、应急管理等。设计单位、施工单位、监理单位、设备单位等可基于轨道交通工程BIM+GIS云平台实现数字化交付与协同建设运营维护管理[9],如图5所示。
目前,基于微服务架构的轨道交通工程BIM+GIS云平台已在大连地铁5号线火梭区间海底盾构隧道施工过程中试运行。现场实践应用表明,相较于单体架构的BIM+GIS平台,在同等数据规模和访问量的情况下,平台内存占用从1.4 GB左右降低至500 MB,原始场景加载从10 s降低至3 s,操作流畅度增加100%,并消除卡顿现象,盾构机等实时大量数据经Redis缓存后导入MySQL,使效率提高80%,服务稳定性提高200%以上。较好地满足现阶段单个工点、单条轨道交通工程线路,以及未来扩展多条轨道交通工程线路的管理需求。
4 结束语
本文研究分析单体服务架构缺陷和微服务架构优势,在制定微服务拆分方式和设计原则的基础上,实现了轨道交通工程BIM+GIS云平台的微服务架构设计。并在大连地铁5号线火梭区间海底盾构隧道施工中进行应用。实践表明,基于微服务架构的轨道交通工程BIM+GIS云平台性能、承载能力、用户体验度大幅度提高。微服务架构的应用,为BIM+GIS轨道交通工程云平台进一步深化研发及多领域应用提供技术支撑。
-
表 1 微服务框架一览表
框架名称 Apache Dubbo Spring Boot/Cloud Thrift Motan gRPC 框架描述 经过阿里巴巴检验的产品,
在社区中有较完整的案例基于Spring的完整
微服务体系跨语言的
RPC框架新浪微博的开源
轻量级服务框架Google的开源、面向移动和HTTP/2
设计的高性能RPC框架通信协议 RPC HTTP RPC RPC RPC 服务跨平台 不支持 支持 支持 不支持 支持 服务注册/发现 支持 支持 不支持 支持 不支持 负载均衡 支持 支持 不支持 支持 不支持 高可用/容错 客户端容错 客户端容错 不支持 客户端容错 不支持 社区活跃度 高 高 一般 一般 高 学习难度 低 中等 高 低 高 文档丰富 丰富 丰富 一般 一般 一般 -
[1] 李双喜,周 滢. BIM技术在轨道交通工程设计中的应用 [J]. 引文版:工程技术,2016(4):135. [2] 胡林峰. 轨道交通项目BIM+GIS云平台建设研究 [J]. 工程建设与设计,2018(16):254-255. [3] 靳 磊. 微服务在铁路调度管理系统改造中的应用 [J]. 铁路计算机应用,2017,26(4):43-47. DOI: 10.3969/j.issn.1005-8451.2017.04.011 [4] 王雪峰,阎志远,翁湦元. 基于微服务架构的高铁Wi-Fi运营服务系统设计与实现 [J]. 铁路计算机应用,2018,27(6):25-28. DOI: 10.3969/j.issn.1005-8451.2018.06.007 [5] 陶 承. 基于微服务架构的铁路招标采购管理系统研究及设计 [J]. 铁路计算机应用,2019,28(2):49-52, 55. DOI: 10.3969/j.issn.1005-8451.2019.02.012 [6] 李 娜. 基于Spring Cloud微服务架构的应用 [J]. 电子技术与软件工程,2019(12):142. [7] 陈 娜,严张凌. 基于Spring微服务架构的学生实践平台 [J]. 信息与电脑,2020,32(13):127-129. DOI: 10.3969/j.issn.1003-9767.2020.13.045 [8] 樊 雷. 基于Docker的企业级微服务架构设计 [J]. 电脑知识与技术,2018,14(34):25-26. [9] 苏立勇,周 轶,张志伟,等. BIM技术在轨道交通工程中的应用构想与实践——以北京轨道交通19号线一期工程为例 [J]. 隧道建设(中英文),2020,40(10):1399-1407. -
期刊类型引用(10)
1. 魏存礼. 基于GIS+BIM技术的城市轨道交通工程风险管理研究. 智能城市. 2024(03): 108-110 . 百度学术
2. 刘刚,李朋,青舟,段悟哲. 城市轨道交通工程设计数字化管理平台研究与实践. 土木建筑工程信息技术. 2024(02): 111-116 . 百度学术
3. 付功云,王立彬,青舟,高俊峰,董晓龙,孙国文. 复杂条件下盾构施工BIM管理平台研发及应用——以大连地铁5号线海底隧道工程为例. 铁道标准设计. 2023(11): 113-120 . 百度学术
4. 杨楚骅,饶凡威,傅志浩,廖祥君. 基于BIM的水利工程施工监管平台设计与实现. 人民珠江. 2022(02): 17-23 . 百度学术
5. 王恰时,青舟,杨喆. BIM协同设计管理平台研发与应用. 高速铁路技术. 2022(02): 47-52 . 百度学术
6. 吴桦林,纪伟,谢鹏,张雅琴,李志鹏. 中老铁路客货运输一体化平台总体架构研究. 铁路计算机应用. 2022(05): 17-21 . 本站查看
7. 金昌根. 基于BIM+GIS的城市桥梁群运管平台架构及功能设计. 无线互联科技. 2022(14): 40-43 . 百度学术
8. 石硕. GIS+BIM技术在轨道交通工程建造管理中的应用研究. 铁道标准设计. 2022(11): 29-35+42 . 百度学术
9. 付功云,青舟,张佩竹,杨喆,王震宇,王恰时. 地铁保护BIM管理平台研发及应用实践. 中国铁路. 2022(12): 114-121 . 百度学术
10. 邓院林,陈敏,王伟. 基于数字孪生的大坝施工智慧管理平台. 人民长江. 2021(S2): 302-304+311 . 百度学术
其他类型引用(5)