SCI论文(www.lunwensci.com)
摘 要:在智能建筑中,建筑设备管理系统作为其重要组成部分,随着对象数量和设备功能模块的多样性增加,传统建筑 设备管理系统容易出现高耦合、开发难度加大等问题。本文针对传统设备管理系统单体架构的不足,提出了基于微服务架构对 系统进行设计,使用 Spring Cloud 框架、MySQL 数据库、Java 开发语言等技术完成系统的整体设计,实现了系统各微服务 模块的搭建与联通。经测试表明,采用微服务架构能够较好地解决传统架构存在的问题,具备很好的开发前景。
Design and Implementation of Building Equipment Management System Based
on Microservice Architecture
JIN Dongyi1. TIAN Chenlu1.2. ZHANG Guiqing1. HOU Lintao1. LU Zhenwei1. WANG Baoyi1
(1.School of Information and Electrical Engineering, Shandong Jianzhu University, Ji'nan Shandong 250101;2.Shandong Key Laboratory of Intelligent Buildings Technology, Ji'nan Shandong 250101)
【Abstract】:Construction equipment management system has been an important part of the development of intelligent buildings so far, with the number of objects and the diversity of equipment function modules and the emergence of new technology, the traditional construction equipment management system is prone to high degree of coupling, performance decline, development difficulty and huge characteristics. In this paper, aiming at some deficiencies of the single architecture of the traditional construction equipment management system, the construction equipment management system is designed based on the micro-service framework, the overall design of the system is completed based on the Spring Cloud framework, MySQL, Java and the registration of services and the call between services are realized through a series of related components. The test results show that the micro-service architecture can solve the problems of high coupling, performance degradation and slow test in the traditional monomer service architecture to a certain extent, which has certain feasibility and reference significance.
【Key words】:construction equipment management system;microservices architecture;Spring Cloud;MySQL
0 引言
近年来, 智能建筑发展迅速, 建筑设备管理系统作 为智能建筑的重要组成部分也越来越被人们熟悉且重 视。建筑设备管理系统是智能建筑的重要组成部分,是 对冷热源、中央空调、新风机组、照明、电梯、供配电 等设备实施综合管理的系统 [1]。系统主要包括供配电设 备监测系统、照明控制系统、空调控制系统、给排水控 制系统、电梯控制系统等,具有对建筑机电设备状态监测、实时控制、故障报警等功能,确保各类设备安全和 可靠运行并达到节能和环保的管理要求 [2]。随着设备和 用户数量以及设备功能的不断增加,传统的建筑设备管 理系统存在的开发效率低下、从提交到部署耗时长、伸 缩性差、技术过时难以升级、且由于缺乏故障隔离导致 某一功能出错就可能造成整个系统瘫痪等问题越来越突 出,因此针对系统进行优化具有十分重要的意义。
传统建筑设备管理系统都是依靠单体架构进行搭建。单体架构是指功能集中、代码和数据中心化、一个 发布包、部署后运行在同一进程的应用程序,在软件设 计的时候经常提到和使用经典的三层模型,即表现层、 业务逻辑层、数据访问层。软件设计中虽然划分了三层 模型,但是并没有对相应的业务场景进行划分,比如 说,作为一个典型的单体架构是将所有的业务场景的表 现层、业务逻辑层、数据访问层通通放在一个工程中最 终经过编译、打包,部署在一台服务器上 [3]。在微服务 架构出现之前各系统应用大部分全是通过单体架构进行 实现,随着技术的不断进步,单体架构的弊端越来越明 显,如单体架构的应用并发能力十分有限、代码的可读 性和可维护性越来越低等。
随着新一代信息技术的发展,近年来业界提出了基 于微服务架构进行平台软件开发的理念,叶维裕 [4] 等人 提出了基于微服务架构对智慧校园平台进行开发,将原 平台庞大的系统功能拆分成一站式服务中心、统一信息 门户、教务系统、人事系统、学工系统、财务系统、智 慧教学平台以及一卡通微服务模块,大大提高了各模块 之间的独立性。钟云南 [5] 等人设计并实现了微服务架构 的电力云平台,将系统划分为基础设施服务、公共组件 服务、应用管理服务、应用软件服务、API 管理服务模 块,完成了系统的解耦。
本文开展了基于微服务构架进行建筑设备管理系统 平台开发的尝试,把其系统功能划分成许多独立的服 务,实现系统的解耦,改善系统性能。
1 微服务架构
1.1 微服务架构简介
微服务的概念在 2011 年首次被提出,它主要针对各 电子商务平台,由于用户数量激增、各式各样的需求增 加带来的逻辑复杂、不易拓展、不易维护、难以应对高 并发、用户访问时效低等问题 [6]。在 2014 年 M.Fowler 和 J.Lewis 针对微服务这一概念给出了较为准确的定义,即 微服务架构是一种将单一的、复杂的应用程序划分成一 些微小的、独立的服务,这些服务之间可以相互协调、相互配合,最后为用户提供有需要、有价值的架构模式 [7]。 传统的 Java Web 单体架构在小型系统应用的开发和维 护都较为容易,但随着业务需求增加,单体式架构系统 低效问题逐渐显现, 任何一个模块的改变都需要重新打包 部署,大大增加了人工工作量。而微服务架构则是按业务 逻辑拆分系统,使系统服务实现高内聚低耦合,而且针对 每一服务都独立开发部署,大大减少了系统运维难度 [8]。 微服务架构与单体架构对比如图 1 所示。
1.2 微服务架构主要特点
1.2.1 易于开发和维护
在系统中,一个微服务关注一个特定的业务功能, 好处是业务清晰、代码量少。开发和维护单个微服务都 比较简单。单个微服务启动较快,局部修改容易部署, 针对某个微服务进行修改,只需要重新部署该服务,启 动对应微服务容器,而不需要重启整个系统。
1.2.2 技术灵活性
采用微服务架构实现系统功能,可根据不同的业务 需要使用不同的技术,实现异构开发。在微服务架构 中,可以结合项目业务及团队的特点,采用不同的开发 语言和不同的数据库,合理地选择相关技术进行开发。
1.2.3 高容错及易扩展
由于各微服务进程相互独立,某微服务模块出现问 题不会影响其他模块的正常运行,只需要检查修复该模 块即可,且系统可以实现按需伸缩,也可根据需求实现 系统细粒度的扩展。
2 系统设计与实现
2.1 系统功能模块设计
将系统按照业务逻辑和微服务划分原则进行划分, 系统主要功能包括用户管理微服务模块、中央空调监控 系统微服务模块、电梯系统微服务模块、照明系统微 服务模块、供配电系统微服务模块,事件报警微服务模 块。系统总体架构如图 2 所示。
(1)数据层 :资源设施层以建筑设备管理平台中心 数据库为依托,为系统提供实时准确的数据源。作为建筑设备管理系统的核心数据层,能够提供完整的相应的 数据服务接口。
(2)服务应用层 :服务层由一系列完成特定功能的 微服务组成,包括用户管理系统微服务模块、中央空调 监控系统微服务模块、供配电系统微服务模块、电梯系 统微服务模块、照明系统微服务模块等。为用户和业务提 供服务支持,并且根据相应需要,微服务能够进行扩充。
(3) 网关层 :网关层主要提供通道与接口,是用来访 问各类服务的。即通过部署相应设施策略让用户可以访问 微服务更加方便快捷,从而更轻易获取所需相应数据资源。
(4)客户端 :各类用户建筑设备管理系统平台进行 交互、访问以及调用各业务系统等。
2.2 系统架构设计
该系统基于 Spring Cloud 框架进行搭建,Spring Cloud 提供一系列 Spring 组件, 规范由 Spring 团队推 出并长期维护,是一套基于 Spring Boot 实现的微服务架 构, 核心组件包括注册中心集群、配置中心集群、业务服 务集群、客户端负载均衡、统一服务网关、调用链路监 控等组件 [9.10]。Spring Cloud 微服务架构图如图 3 所示。
服务注册管理工具使用 Eureka。它是由 Netflix 进行开 发,一个基于 REST 服务、服务注册与发现的组件 [11],主 要包括两个组件 :Eureka Server 和 Eureka Client。系 统中的各微服务可以通过 Eureka 服务注册管理工具 管理各个服务的注册和发现。网关服务的服务组件为 Nginx 和 Spring Cloud Gateway,Ribbon 作为服务 通信中客户端负载均衡调用组件, Hystrix 是熔断保护, 可实现对相应接口的监控, Feign 为服务调用组件 [12.13]。
本系统运行流程为 :前端通过网关向服务区发送访问微服务请求,网关收到请求后向服务注册中心获得该 服务,通过负载均衡找到合适的微服务响应请求,该系 统服务注册界面如图 4 所示。
可以看到该平台目前已经向服务注册中心创建了三个 微服务,分别为供配电系统微服务模块、照明系统微服 务模块以及中央空调管理系统微服务模块,通过用户下发 页面指令统一访问服务注册中心后再进行微服务的调用。
3 平台测试
3.1 系统平台界面展示
在后台Java 配置文件运行之后输入 localhost :8080/ jzsbglpt 登录界面以及平台菜单栏如图 5 所示。
3.2 系统平台功能展示
以中央空调控制系统微服务模块为例,本系统平台连接某机房中央空调设备,可以查看设备信息,实时监控设备运行状态,控制设备启停,实时能耗曲线,观察设备运行参数包括冷却出水温度、冷却回水温度、冷冻供水温度、冷冻回水温度等一系列参数,该控制界面如 图 6 所示。
4 结语
基于微服务架构的建筑设备管理系统是在时代进步 和科技发展的浪潮中会出现的必然结果。该平台通过微 服务架构实现了系统间的解耦,使得每一个模块都可以 进行完全独立的开发,并且各模块之间可以做到数据互 通,实现相互调用,降低了系统后期运维以及功能二次 开发的难度。在后续项目中不仅是在建筑设备管理系统 中可以进行微服务架构的升级,在任何有需求的平台系 统都可以使用微服务架构进行升级。微服务架构会在软 件不断地发展升级的过程中占据更多的重要地位,微服务架构能够有效地解决传统单体式架构包括的可扩展性 差、高度耦合、可靠性差等问题。基于微服务架构的建 筑设备管理系统具有完善的信息交互接口、灵活的策略 配置和容错的运行机制,与系统开发语言、运行环境和 中间件等条件无关。每个服务都有明确的功能目标,服 务内部逻辑联系紧密,外部耦合度低,微服务间独立部 署,一个微服务的异常不会导致其他微服务同时异常。 微服务架构为建筑设备管理系统提供了优秀的解决方 案,不仅提升了系统构建的相应灵活性并且提高了开发 效率,还使得系统软件的开发成本以及运维成本大大降 低。在未来的工作中,可以根据需求增加系统微服务模 块,在现有建筑设备管理系统的基础上,进一步提升系 统的优越性,完善系统功能。
参考文献
[1] 任虔英.物联网技术在建筑设备管理系统中的应用研究[D]. 西安:长安大学,2013.
[2] 刘莉馨.建筑设备监控系统标准化设计研究[D].北京:北京建 筑大学,2018.
[3] 王娜,沈国民.智能建筑概论[M].北京:中国建筑工业出版 社,2010.
[4] 叶维裕,陈景.基于微服务的智慧校园平台建设研究与实践 [J].电子测试,2022(15):82-84+136.
[5] 钟云南,陈冬隐,翁贞,等.微服务架构的电力云平台设计与实 现[J].粘接,2022.49(8):174-176+181.
[6] 马永东.基于微服务架构的质量管理信息系统设计与实现 [D].成都:电子科技大学,2022.
[7] 龚森.基于微服务架构的电商平台设计与实现[D].北京:北京 交通大学,2021.
[8] 董国卿,夏凌云.一种智慧校园微服务数据服务平台方案设 计[J].信息技术,2022.46(9):72-77+83.
[9] 朱蔓菁.基于微服务架构的智慧校园基础平台设计与实现 [J].江西科学,2021.39(6):1094-1097+1129.
[10] 刘姣,薛云霞,肖琴,等.基于智能微服务架构的智慧校园融 合门户模型建设[J].江苏科技信息,2021.38(30):48-51.
[11] 杨斌,王加阳.基于微服务架构的智慧照明管理平台[J].计 算机系统应用,2021.30(9):110-115.
[12] 袁小凯,李果,黄世平.基于微服务架构的电力云服务平台 设计研究[J].电子设计工程,2021.29(11):185-188.
[13] KOHLBRECHER S,VON STRYK O,MEYER J,et al.A Flexible and Scalable SLAM System with Full 3D Motion Estimation[C]//2021 IEEE International Symposium on Safety,Security,and Rescue Robotics.IEEE,2021:155-160.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/65277.html