微服务架构下安全监测智能平台的开发及部署.pdf
《微服务架构下安全监测智能平台的开发及部署.pdf》由会员分享,可在线阅读,更多相关《微服务架构下安全监测智能平台的开发及部署.pdf(6页珍藏版)》请在咨信网上搜索。
1、第4 期2023年8 月D0I:10.19364/j.1674-9405.2023.04.012微服务架构下安全监测智能平台的开发及部署水利信息化Water Resources InformatizationNO.4Aug.2023李培聪2,袁明道 2 徐云乾12,李田贵1-2(1.广东省水利水电科学研究院,广东广州510 6 35;2.广东省大坝安全技术管理中心,广东广州510 6 35)摘要:随着水利工程在数字化、智慧化方面的需求日益增强,安全监测智能平台功能日渐增多,迭代优化也逐渐加快,为提高安全监测平台开发、维护、迭代更新的效率,分布式微服务架构已逐步应用于安全监测智能平台中。针对分布
2、式微服务应用架构实现中的服务划分不清晰,数据管理混乱,服务间通信困难,通过领域驱动设计拆分业务,以编排的方式组织协同服务,构建微服务基础架构下的大坝安全监测智能平台。各服务之间互相协调、配合,并通过Docker工具,实现在混合环境(开发、测试及实际部署环境)中部署,最终实现系统的高可拓展性和快捷部署性等,并成功应用于阳江大河水库、广州黄龙带水库,取得良好效果。关键词:微服务架构;安全监测;智能平台;服务组合;服务编排;开发;部署中图分类号:TV697.2;T P311.10引言智慧水利是新阶段水利高质量发展的重要标志,随着人工智能、大数据、云计算、物联网与移动互联等新一代信息技术的发展,智慧水
3、利体系的构建,数字李生水利工程的建设成为可能,同时在工程设计、建设、运行中,全要素全过程的感知、模拟、分析、预警的数字化和智能化需求日益增强,相关平台迭代优化也逐渐加快。构建安全监测智能平台是实现智慧水利的关键一环,为工程管理提供全过程、全要素信息,是水利工程安全监测最基本和最重要的支撑。2 0 世纪9 0 年代,葛洲坝船闸、小浪底大坝等工程开始尝试应用自动化监测系统采集监测数据;2 0 0 0 年以后,由于存储数据容量越来越大,存储内容媒体形式不再只是单一的文本或数据,涉及到文本、图形、图像等媒体,因此,三峡大坝 2 、小浪底大坝 3 等工程逐渐在现有系统基础上进行数据库优化;“十三五”以来
4、,随着人工智能、识别技术及软硬件的快速发展,水利工程各类平台系统开始从数字水利向智慧水利发展,GIS综合展示 4 、BIM模型构建 5、图像水位识别 6 等功能开始在各类平台系统中应用。然而,随着用户需求的增加,安全监测智能平台收稿日期:2 0 2 2-11-0 5基金项目:广东省水利科技创新项目(2 0 2 2-4)作者简介:李培聪(19 9 3一),男,广东潮州人,硕士,工程师,研究方向为水利信息化、安全监测、水工结构。E-mail:l i p c f 2 2 16 3.c o m通信作者:袁明道(19 7 2 一),男,北京人,博士,正高级工程师,研究方向为安全监测、水工结构。E-mai
5、l:g d 1338 0 0 2 59 6 4 16 3.c o m文献标识码:A功能日渐增多,应用程序日趋庞大复杂,迭代周期也日益缩短,以往单体式结构平台已经无法满足智慧水利快速发展的需求。因此,目前安全监测智能平台的一个发展趋势是将整体的系统拆分成独立的业务模块,每个业务模块独立运行,共同构建整个平台的微服务基础架构,提高平台开发、维护、迭代更新的效率。本研究将微服务基础架构应用于安全监测智能平台中,通过业务拆分和服务封装等构建一个服务之间互相协调、配合,能独立地部署到生产环境、类生产环境中,具备高可拓展性及快捷部署的安全监测智能平台。1基础架构微服务基础架构是区别于单体式架构的平台开发方
6、法闪,相比单体式架构,微服务技术的松耦合式结构可靠性高,迭代更新快,同时具备更好的可扩展性。安全监测智能平台结合监测、管理、预警等工作,通过划分不同业务模块,形成独立运行的各服务,服务之间采用基于TCP/IP传输协议中应用层的http通信协议进行通信 9,各服务可在不影响整体系统运行的情况下修改,运行,停止 10 ,实现高内聚和低耦合。微服务架构如图1所示。文章编号:16 7 4-9 4 0 5(2 0 2 3)0 4-0 0 6 4-0 5第4 期李培聪等:微服务架构下安全监测智能平台的开发及部署65服务注册中心用户服务注册服务发现服务端动态路由安全策略Ribbon负载均衡SentinelA
7、PIGateway限流、熔断降级数据持久化缓存RDSRDSMySQL集群Redis集群图1微服务架构功能与代码。因此,采用领域驱动设计(DDD)的方法2关键技术2.1服务构造采用微服务架构的主要难点在于颗粒度的最优划分:颗粒度划分过细,容易导致服务数量倍增,加剧相互之间协调、配合、通信的复杂程度;颗粒度划分过粗,则无法实现系统的解耦,不同服务会存在较多的重复智能监测一领域用户服务一子域登陆用户用户详安全编辑情编辑1用户注册登录用户用户组织验证1监测预警一子域仪器仪器信息基本工程安全监测仪器仪器测值操作2.2数据管理微服务架构下,各微服务可部署在不同的服务器上,也可部署在相同服务器的不同容器上,
8、因此,数据管理也是主要难点,目前通常采用一库一服或一库多服2 种方式:一库多服是常用的方式,即1个数据库可对应多个模块;一库一服,即每个微服务准备1个单独的数据库。2 种方式的部署模式如图3所示。配置中心注册环境隔离灰度发布权限控制基础服务http通信业务服务对象存储云存储进行服务划分。DDD是一种处理复杂系统架构的设计方法,通过业务需求构建领域模型,控制业务的复杂性,将复杂业务领域简单化,实现颗粒度划分。本研究从大坝安全监测及工程运行管理的实际需求出发,控制单个业务的复杂性,合理划分领域边界,从业务出发的领域驱动设计结构图如图2 所示。综合展示一子域子域1工程1111一1111测站实时状态日
9、志收集一日志热发布ELK报警、监控安全控制空间一地理1信息1综合展示工程工程1动态1模型信意息预报基术信息雨水情监测测站测站测值操作图2领域驱动设计结构图一库多服存在以下问题:1)数据库出现问题,会导致整批服务全部停止;2)程序编写中存在数据间的依赖性大、耦合性高的部分,不利于后续拓展;3)无法针对某一个服务进行精准优化或扩展。而一库一服模式在数据管理上可保证共享数据的全局一致性,解决跨流程服务组合时数据丢失的问题。因此本研究中的微服务框架采用一库一服模式。聚合界限上下文预警预警洪水预警预报模型短期洪水预报模型安全预警预报阅值分析管理提示预警管理66监测信息监控预警用户服务务其他服务数据库a一
10、库多服水利信息化部分功能,其中业务功能主要包括监测、预报、预警等内容,而大坝主要监测项目包括环境量、变形、渗流、应力应变及温度等监测项目。根据水利工程安全监测需求及用户使用情况,将安全监测、用户管理等作为单一领域模型,安全监测智能平台的基本架构如图5所示。安全监测智能平台2023(4)监测信息监控预警用户服务其他服务数据库数据库数据库b一库一服图3数据库部署模式2.3月服务组合微服务架构下,服务组合通常采用编排和协同2 种方式,将相互独立的各服务按照需求组合成更为复杂、完善、满足使用需要的整体模块,其中:编排是根据业务流程处理顺序,通过中心服务组织多个服务的配合;协同通常是在没有中心服务的情况
11、下,所有服务以需求或某一功能为核心的相互协作。2 种组合方式具体形式如图4 所示。服务B服务A服务服务A事件1订阅服务D服务D中心服务配合服务a编排图4 服务组合方式本研究根据安全监测系统中监测、预警等业务需要,以本业务为中心,同时调动其他业务协助的需求,以编排的方式,在中心服务的组织下,按照一定的顺序调用配合的多个微服务,并对配合服务返回的成果进行组合、转换等加工,最终实现整体功能。中心服务与每个配合服务都有自己的缓存和数据库,利用Rabbit等分布式事件流平台协调组合服务的调用,不需要持久化任何数据。3业业务服务3.1基本架构及模块化微服务架构核心是模块化,通过DDD的方法,合理划分系统颗
12、粒度,将系统拆分成合适的微服务。目前,安全监测智能平台主要包括业务及基础两用户注册登录数据库3.2数据管理数据管理体现为管理某一服务完成某一功能所需的数据,在微服务架构中包括数据及数据库管理。本研究根据服务划分,采用一服一库的方式设计微服务的数据库,限制对应服务对其他服务数据库的访问能力,同时保证数据在全局上的一致性,并利用Rabbit等分布式事件流平台协调组合服务的调用。订阅服务B订阅服务Cb协同公共类服务基础服务图5安全监测智能平台服务基本架构本监测平台涉及的独立数据库主要包括用户、基础、安全监测、雨水情、运行管理、监控数据云服务等数据库,其中:监控云服务器数据库采用对象存储方式,存储和检
13、索非结构化的数据和元数据,通过URL(UniformResource Locator)访问一个空间及其中的文件,存储对象包括非结构化的图像文件、视频文件、日志、HTML文件等。3.3模块化开发本研究将整体系统拆分成独立的业务模块,每个模块独立运行的微服务共同构建起整个系统,微服务是一种以服务为中心的架构,服务之间通过定义明确的协议和接口进行通信,因此,可根据不同水库的不同需求,针对某一个服务定制开发,同时共用大部分服务,提高开发效率。微服务架构在阳江大河水库及广州黄龙带水库体现明显,2 座水库均部署了安全监测智能平台,需求类似,因此仅需修改部分服务内容即可部署,极大提高了开发效率。如2 座水库
14、的接入数据方式不同,可采取以下方式部署:大河水库通过设备厂商的物联网平台直接接入数据,监测平台通过安全监测服务中的数据定时抓取,满足安全监测数据的需求;黄龙基础数据服务任务调度服务综合监控控安全监测雨水情测报业务服务洪水预警预报安全预警运行管频监控理控视第4 期带水库建立本地数据库,数据由监测设备直接通过部署在本地的采集服务传回数据库。3.4部署及开发工具部署服务器环境为:Centos7+Java+Docker+MySQL+Redis。考虑平台具备生产级应用的移植性、稳定性及跨平台性等特性,选择Docker作为部署的应用容器,主要开发环境及工具如表1所示。表1开发工具表环境工具服务开发语言JD
15、K 1.8.0(Java)构建工具ApacheMavenWeb开发框架VueApp开发平台Flutter数据库MySQL缓存工具Redis4部署应用4.1系统部署微服务程序十分适合在Docker环境下部署。Docker是基于容器的平台,可以在物理或虚拟机,云服务上或混合环境(开发、测试及实际部署环境)中部署、应用。Docker中主要有以下3个基本概念:1)镜像。镜像是一个可执行的程序包,是创建容器的基础,包括运行应用程序所需要的所有内容,包含代码、通用李培聪等:微服务架构下安全监测智能平台的开发及部署Dockerfile定义镜像部署依赖(MySQL,Re d i s 等)导入数据库数据导入镜像
16、部署容器图6主要部署步骤4.2服务编排4.2.1监测预警根据业务流程处理的需要,以编排的方式,将安全预警服务作为中心服务,调用多个微服务,包括通过安全监测、雨水情测报等服务提供数据,结合气象、水文要素对监测数据进行分析,提供各类监测预警情况,及时发布报警信息等,黄龙带水库相关业务平台安全预警界面示例如图7 所示。4.2.2智慧管理将运行管理服务作为中心服务,涉及移动端、视频监控等服务,最终实现水库日常管理所需的功能,67类程序库、环境变量和配置文件。2)容器。容器是从镜像创建的运行实例,可以被启动、停止和拆除。3)仓库。仓库是用来集中保存镜像的存储位置。本研究在Docker环境下部署安全监测智
17、能平台,主要部署步骤如图6 所示。Docker安装黄龙带水库运行管理系统主坝视频2023年月0 0 日星期二11:35:37报警统计坝真位移慧乐含:0%小数:0巡视检查100%巡查总次数0国基本信息水雨情安全监测视频图像血间门腔控制资料整编运行管理60分雨量0.00mm今日雨量0.00mm预警1今日降雨牌雨量(mm)预警提示3级预警预警类型坝体内部垂直位移预警仪器:x15仪器编号:0 2 0 5坝体内部垂直位移测值x-10.455510139465332坝体分鲜开鹿位移预警周值x5坝基垂直位移项基扬压力现基水平位移坝肩垂直位移现肩水平位移坝质蛋直位移A12100%隐惠上报个数0二张三雨情时段雨
18、量0.00mm本月雨量0.00mm0.80.6040.2水三实时水位168.93m二汛限水位174.41m水位库容水位(mm)88888888023:0000:2001:4003:0004:2005:4007:0008:2009:4011:00闸门1#溢洪闸:关网当前开度:0cm面个视频球视频枪温度监湿度监雨量测坝顶垂坝顶水坝肩垂坝肩水绕坝渗水位监图7 安全预警24时雨量0.00mm本年雨量0.00mm08092#溢洪闸:关闲当前开度:0 cm当前流量:0 m/s当前流量:0 m/s10三卖时库容5685.66万m全汛限库容8017万m库容(万m)6,000电站进水闸:开启当前开度:190cm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微服 架构 安全 监测 智能 平台 开发 部署
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。