APP下载

自动化工程BIM+GIS云平台的微服务架构研究

2021-07-25蔡文婷

制造业自动化 2021年7期
关键词:架构节点工程

苗 璐,杨 诚,龙 霏,蔡文婷

(1.广东电网有限责任公司电力调度控制中心,广州 510600;2.南方电网数字电网研究院有限公司,广州 510600)

0 引言

云平台的服务架构能够对系统进行良好的服务,并帮助各类系统正常、稳定运行,提升服务质量。随着网络信息的快速变化,服务架构由传统的单体式架构发展成面向服务架构,但两者均体量大、业务模糊,开发和日常维护具有一定的难度,不能满足云平台外服务的多样性和复杂性需求,微服务架构能够很好的解决以上出现的问题,微服务架构把系统的每个服务方式进行分解,使每个服务方法互相独立并组成同一个模块,分别进行开发、部署和检测,每一个微服务均可解决系统的一种业务功能问题,并且与传统服务架构的体量、业务相比,微服务架构的体量更小,业务更明确,日常维护和开发更简单,缩短了系统的开发部署流程,统一提供服务的各种配置[1]。

目前,利用微服务对服务架构进行调整的方法很多,有的利用微服务架构的理念对服务架构进行改造,有的从服务架构构成方式、服务开发、服务数据存储等方面对微服务架构进行修改。但利用微服务架构对自动化工程进行研究的方案没有被提出,也没有相关的工程研究,基于以上问题,本文基于自动化工程BIM+GIS云平台对微服务架构进行研究,设计自动化工程BIM+GIS云平台的微服务架构结构,分析其相关特性,并详细介绍微服务架构流程,通过实验验证微服务架构服务的效果。

1 自动化工程BIM+GIS云平台的微服务架构结构

在自动化工程BIM+GIS云平台的微服务架构中,每种微服务可向系统提供一个服务端,添加微服务节点为系统的架构节点,微服务节点是架构结构中所有微服务进入平台的入口,能够很好的发挥负载均衡和服务数据缓存功能,微服务节点可以通过水平扩容满足平台终端用户提出的服务需求,为了拥有更多的流量,微服务节点可以在架构结构中部署大量的节点[2]。

除此之外,微服务节点利用系统中的插件,扩展终端用户授权和身份认证监控功能,微服务节点还可向自动化工程中提供服务管理接口,能够采集与管理微服务架构中的原始数据信息,原始数据信息包括微服务种类、节点集群、微服务接口、用户注册信息等。

通过微服务节点,可以实现微服务的负载均衡和缓存功能,如图1所示为微服务节点的主要功能模块。

图1 自动化工程BIM+GIS云平台的微服务架构结构

根据图1可知,自动化工程BIM+GIS云平台的微服务架构结构中的微服务控制接口在进行设计时,要充分利用微服务节点的授权、控制特点,发挥微服务节点的灵活性和复杂性,采用REST风格设计微服务控制接口。微服务控制接口首先需要将微服务管理资源进行系统分类,分成配置微服务节点状态资源和微服务接口数据资源,具体资源数据如表1所示。

表1 具体资源数据

表1中详细介绍了微服务控制接口对应的数据集资源,将这些数据集资源通过资源路径存储在微服务平台中,配置微服务接口的授权信息,针对微服务接口的服务请求,通过微服务节点进行传递,微服务节点接收请求并及时响应,利用云平台的字符串管理微服务接口的格式,由于微服务接口的信息结构体不同,所以在定义其响应代码时,需要用进程内的内存堆栈进行捕获,以实现微服务接口的响应,微服务接口如图2所示。

图2 微服务架构接口

自动化工程BIM+GIS云平台的微服务架构结构中,除了微服务节点和微服务控制接口外,还包括电力云服务平台和GIS云平台,本文设计的自动化工程BIM+GIS云平台微服务架构工作原理如图3所示。

图3 电力云服务平台工作原理

根据图3可知,设计人员对微服务架构的平台应用设计完毕后,通过微服务接口的负载均衡和控制功能验证平台应用,并对电力云服务平台进行注册、登录。电力云服务平台的核心是微服务注册中心,微服务注册中心可以对微服务架构的内部进行综合评估,根据评估结果向各大系统提供访问、查询、缓存等服务,电力云服务平台通过微服务节点中的数据集资源,控制微服务架构中原始服务记录向外输出,由监控服务中心对注册服务中心进行动态监管,注册服务中心将用户发送的负载请求通过分发路径向服务网关进行传递,服务网关是电力云平台传输微服务数据的出口,能够保证微服务架构内部服务信息的安全性和可靠性,为电力云平台提供数据缓存和安全防护等服务[3,4]。微服务架构示意图如下图4所示。

图4 微服务架构示意图

GIS云平台主要包括GIS微服务应用平台、GIS微服务数据库、GIS微服务组件库。GIS微服务应用平台可以管理微服务资源数据,辅助用户快速开发多维服务,GIS微服务数据库包含各类空间位置数据和微服务拓扑数据,可以控制多源异构微服务数据,GIS微服务组件库可以浏览微服务组件目录,获取微服务类型,对微服务控制接口进行添加、修改管理。

2 自动化工程BIM+GIS云平台的微服务构建流程

BIM是一种工程信息模型,通过模拟数字信息集成各种相关数据,将BIM技术应用于自动化工程BIM+GIS云平台的微服务架构中,可以实现微服务架构的智能化维护,BIM技术可将微服务架构的设计效果通过服务网关进行检验,使微服务架构具有复杂性和灵活性,方便终端用户发送服务请求,BIM技术还可以管理微服务的数据集资源分配。GIS(地理信息系统)是基于计算机的工具,在自动化工程BIM+GIS云平台的微服务架构中使用GIS技术,能够对微服务架构中的空间和平面进行表达,还可以查询微服务架构中的空间向量大小,分析和统计微服务种类和服务标准,除此之外,GIS技术能够管理微服务数据库,方便微服务数据的采集和存储,GIS技术还可提供全面的微服务分析功能,智能化的GIS技术具有较高的专业性和集成性,利用该技术可以对微服务的服务项目进行管理,评价服务的效果。

鉴于云平台中微服务信息的复杂性,在自动化工程BIM+GIS云平台的微服务构建时需要考虑数字信息的复杂程度,把微服务架构中相邻区域的数据信息传输到同一空间内,发送数据集请求至平台服务器中。按照松散划分准则对分配至微服务架构中的请求进行服务划分,如果同一服务空间的数据请求量巨大,则需要把这些大量的数据请求分配到微服务节点上,否则会出现节点过载的情况,负载均衡的功能不能有效完成。所以,自动化工程BIM+GIS云平台的微服务构建算法应采用负载均衡算法,微服务的服务端推送功能能够查询微服务数据调用次数,不同微服务区域具有不同的空间热度,微服务数据集群中的实例容量大则表示用户缓存的服务数据较多,自动化工程BIM+GIS云平台的微服务构建流程如图5所示。

图5 自动化工程BIM+GIS云平台的微服务构建流程

1)定义自动化工程微服务数据的空间区间为a,负载均衡的微服务节点个数为m,在微服务数据资源库中选择某一服务时刻的用户访问数据,通过用户发送数据请求的时间和次数构建空间资源数据集E[0,b]。

2)定义微服务架构的标准热度ya=[b/m/2],也就是用户访问微服务架构的总次数除以2倍的负载均衡微服务节点个数。

3)对自动化工程BIM+GIS云平台的微服务数据空间区间a内的数据集进行划分,划分的结果可得到2个字节的空间区间,通过微服务数据记录判断字节所属的接口范围,从而按照计算公式计算2个字节的空间热度。假设2个字节的空间热度为y0,y1,存在等式y0+y1=b。

4)如果yi>ya,即微服务节点的空间热度低于标准热度,需要对微服务子节点进行划分,计算2个节点的空间热度值。

5)执行步骤2),当微服务节点的热度高于标准热度,yi<ya,对节点可以不进行划分,那么得到的微服务节点热度将高于标准热度。

6)通过采用负载均衡算法,得到子节点的空间热度序列,按照先序遍历算法对微服务节点进行编号,由步骤1)所得的负载均衡值构建自动化工程BIM+GIS云平台的微服务。

3 实验研究

为了验证本文提出的自动化工程BIM+GIS云平台的微服务架构的稳定性和可行性,本文采用了负载均衡算法和先序遍历算法,将传统的微服务架构与采用负载均衡算法重构后的微服务架构进行对比,证明了本文提出的自动化工程BIM+GIS云平台的微服务架构具有更高的稳定性和可行性。

微服务架构中的不同服务数据使用的服务器种类不同,服务数据的采集、处理和存储通过微服务节点的缓存功能来完成,这样可以提高服务的灵活性和稳定性,能够充分满足不同用户发送的服务请求,而传统微服务架构创造的实验环境中,微服务架构中的不同服务数据对应同一个服务器,且微服务架构中没有设置服务数据缓存区域,导致微服务架构中的大量服务数据丢失,降低了服务数据的完整性,服务数据的准确度不能得到保障。需求响应实验结果如图6所示。

图6 需求时间响应实验结果

微服务架构工作过程损耗实验结果如图7所示。

图7 微服务架构工作过程损耗实验结果

由实验结果可知,微服务架构中含有多种不同的服务项目,传统的微服务架构通常包含直接访问服务和代理服务,不同的服务种类对应不同的服务地址,使服务的授权和监控功能无法得到扩展,微服务节点接口是整个微服务架构的唯一入口,无法高效支撑服务终端所有微服务的缓存、授权、监控、负载均衡等基本功能。除此之外,传统的微服务架构内,没有设计微服务的登录、注册等控制接口,不能应对复杂性较高的微服务,微服务组织不能有效形成。

而本文提出的自动化工程BIM+GIS云平台的微服务架构,通过负载均衡服务简化了服务的流程,并能够对微服务架构中的单一功能进行独立的开发,实现微服务架构的分布管理和单独部署,微服务架构中的数据检索服务、数据存储服务、数据采集服务等服务的复杂性、多样性、可靠性以及连续性较高,客户端的服务请求量与每种微服务的细粒度高度匹配,面对客户多次发送的服务请求,能够有效降低客户端代码的复杂程度,使编码更加简单,很大程度上能够提高微服务架构的应用效果,采用的消息协议可以较为容易的通过适配器的约束,在微服务架构内可以高效利用浏览器。直接访问不使用服务器,可以直接测出微服务架构的服务效果,在同样条件下,增加了微服务接口的数量,使微服务架构在访问时不产生性能损耗。

4 结语

本文提出的微服务架构通过采用BIM和GIS技术后被拆分成多种微服务,使客户端和微服务互相独立,提高了微服务的灵活度,重构微服务架构更加简单,有效提高了微服务架构的伸缩性和可靠性,可根据用户的不同需求对微服务架构进行独立设计开发,对于海量的服务数据和复杂度高的服务信息内容通过负载均衡功能,可实现高效存储、分级处理以及分布管理,对微服务架构的日常维护也更加方便,每种微服务都设计了相应的存储功能,所以服务设计更加合理,也会提供更高的服务性能。

猜你喜欢

架构节点工程
基于FPGA的RNN硬件加速架构
CM节点控制在船舶上的应用
Analysis of the characteristics of electronic equipment usage distance for common users
功能架构在电子电气架构开发中的应用和实践
基于AutoCAD的门窗节点图快速构建
WebGIS架构下的地理信息系统构建研究
子午工程
抓住人才培养的关键节点
工程
一种基于FPGA+ARM架构的μPMU实现