叶涛 张弛
摘要:针对单架构下钢丝绳监测系统面临的设备分散、数据庞杂、容错率低、扩展性差等问题,设计并实现了基于微服务的钢丝绳物联监测系统。系统通过建立数据存储集群,实现损伤数据的同步备份,系统业务以微服务的形式部署于阿里云上Docker容器中,并采用微服务治理手段运营该系统。基于微服务架构的钢丝绳物联监测系统应用于港口岸桥时,解决了诸多通信问题,满足现场高效可靠的传输需求,从而大大提高对钢丝绳监测智能化及精益化水平。
关键词:钢丝绳;微服务;监测系统;阿里云;物联网
中图分类号 TP391 文献标识码:A
文章编号:1009-3044(2022)07-0016-03
钢丝绳作为一种工程构件,具有强度高、耐冲击、耐腐蚀等特点,广泛应用于工业领域中。然而,钢丝绳在使用过程中会经常发生断丝、磨损、锈蚀等现象,因此,对钢丝绳的损伤量进行科学检测与实时监控,及时检测钢丝绳失效的情况,可以避免发生重大的安全事故,这也成为广大钢丝绳用户的迫切要求。
传统的钢丝绳无损检测方法主要有电磁检测法、超声波检测法、光学检测法等[1]。目前,基于单系统的钢丝绳监测系统将全部功能集成在一起,随着设备与功能增多,数据量增大,单体的钢丝绳监测系统面临着不能应对高并发、高负载、服务扩展、网络安全等问题[2]。
因此,本文基于微服务架构理论,提出使用Spring Cloud中相应组件进行解决的最佳实践方法,设计开发了基于微服务架构的钢丝绳物联监测系统。运用于港口岸桥场景时,解决了原系统存在的如物联通信,远程传输等通信问题,满足现场高负载的需求,为工作人员提供可视化操作界面,从而大大提高对钢丝绳监测智能化及精益化水平。
1 微服务介绍
微服务思想提倡将多功能的单一系统,划分为多组具有各自功能的小型服务,即微服务,微服务运行于独立进程中,微服务之间通过轻量级通信协议互相协调,互相配合,而又相对独立。
在物联网、云计算、大数据、可视化等技术发展的带动下,出现了云计算与物联网的相互协同,提高企业对工业大数据的处理效率[3],而微服务生态,为这些技术提供了实现基础,为未来的系统架构朝着灵活、高效、可扩展以及高可用的方向发展提供全新的实现方案[4]。
2 微服务系统设计
分析微服务架构在钢丝绳损伤监测领域的运用场景后[5],将监测系统模型拆分为多个模块,分别为物联层、服务层以及环境层,对每个模块进行独立的设计与实现。
2.1 物联层
物联層作为系统与硬件之间通信的物理基础。由于钢丝绳工作环境较差,使得无线传输不够稳定,因此采用串口形式的有线信道进行数据传输,这样既保证了高效率传输,又保证了传输可靠。
选择RS-485进行串口通信,其支持使用差分信号进行传输,当有噪声干扰时仍可进行数值判断,允许钢丝绳探伤仪与上位机进行全双工模式的双向实时通信,为数据监听上传和远程维护提供物理通信基础。
2.1.1 物联通信测试
钢丝绳探伤仪提供的损伤数据格式为机构编号、损伤位置、损伤量(三位有效数字)、损伤类型以及检测时间,其中规定的钢丝绳判废上限为损伤量0.010。
为验证基于串口方式进行数据传输可行性,选取5000条有效数据进行测试,具体如下:
钢丝绳探伤仪的最大采样频率为10Hz,为验证串口通信的可靠性,取极限采样频率为50Hz。以串口通信比特率进行分组实验。表1为串口通信测试结果记录。
实验中,串口COM2发送的数据被COM1及时监听。结果表明,以RS-485的串口通信协议作为基础的物联通信,使得系统完全具备对损伤大数据的可靠采集能力。
2.2 服务层
2.2.1 系统核心业务设计
用户管理:对访问权限进行拆分设计,分为用户、角色以及权限管理,用户与角色、角色与权限分别为多对多的关系。
设备管理:对监测设备进行管理与维护,该业务包括设备状态更新、设备增删、设备维护等功能。
日志服务:对系统运行时,各个环节运行与使用情况进行细粒度监控记录,提供实时或离线的日志服务。
数据发布:负责向其他模块提供数据服务。将检测到的钢丝绳损伤数据提供给调用者,比如为前端实时或历史的数据可视化联动展示等功能提供数据源。
实时预警:检测到钢丝绳发生或将要失效时,通过实时预警,通知现场工作人员及时更换钢丝绳,防止其在失效后继续工作从而造成生产事故。
定时任务:定期为管理人员发送详细的可视化监测报表以及邮件推送,提供离线的数据展示。
数据上传:为了实现数据的实时与离线调用,需要对数据上传至云端并备份,保障数据安全。
远程维护:将用户的操作信息转换成控制逻辑,经由RPC接口转发至对应上位机,通过串口传输至探伤设备,从而实现系统对设备的远程控制。使得用户能够在可视化操作页面上直接更改设备状态,达到远程维护的目的。
2.2.2 微服务架构方案设计
为降低微服务之间耦合度,避免服务之间的循环依赖,需要建立完善的微服务集群,结合微服务思想,对服务的功能进行合理拆分[6],服务分为客户端与服务端,并以微服务集群的形式部署,客户端仅提供接口调用。
客户端与服务端集群各自注册于Eureka集群中,确保了客户端能够发现并调用可用服务接口[7]。
在客户端中配置OpenFeign后,实现客户端对前端请求的负载均衡[8],提高了系统的健壮性与功能性。
应用Hystrix确保客户端的服务降级,使得核心业务所占服务器资源最大化,保证核心业务的正常使用。
使用Spring Cloud Config实现微服务的远程配置,并进行监听,将配置文件存储于远程仓库,实现自动化部署。
此外,为避免暴露真实资源路径,提高系统网络安全性能,运用Gateway自定义的资源访问路径掩盖真实路径对请求进行转发,并创建请求白名单过滤掉不合规请求。
2.3 环境层
环境层作为微服务的运行环境与数据存储的物理基础。
为保证系统运行正常,配置环境稳定,需克服微服务系统的复杂性与微服务的连续集群等问题,对微服务运行基础进行具体设计。
2.3.1 环境搭建
系统应用阿里云计算平台,同时集成了Docker容器,搭建镜像服务器集群,保证稳定运行。
2.3.2 数据库
针对钢丝绳损伤大数据的海量、多元、分散等特点,首先,对数据库进行分库分表设计,其次,建立Docker镜像的数据库集群与分布式文件存储实现数据的备份与同步,提高損伤数据的存储效率,保证数据安全,为服务层的业务场景提供有效保障。
2.3.3 损伤数据上传测试
对上位机处理后的实时损伤数据上传至云端数据库的时效性与可靠性进行测试。
以阿里云上基于Docker容器的MySQL镜像服务器作为测试基础,记录将损伤数据分组上传的测试结果。分组提交测试结果如表2所示,上传总耗时与每组容量的关系如图3所示。
实验结果表明,数据传输过程并未发生丢失,完全能够应对检测设备较多时的数据上传。
为了满足系统对损伤数据的时效性要求以及传输效率要求,每组数据不必过多,以每组50条数据进行上传较为合适。
3 系统实现
3.1 应用实例
港口岸桥上钢丝绳工作量大、负载大、环境恶劣,尤其需要及时地检测钢丝绳损伤情况,避免发生安全事故。基于微服务的钢丝绳物联监测系统于港口岸桥上投入使用后,设计了最小连接数负载均衡算法后,如图4所示,充分利用计算资源,能够满足港口对钢丝绳安全生产的管理需求。
3.2 可视化管理
如图5所示,基于已有的微服务系统,设计并实现了基于Vue的移动端界面,并使用Echarts开发了联动的可视化图表,其交互简单、展示直观,赋予用户对数据进行高效挖掘、整合的能力[9],操作人员直接在可视化界面上对检测设备进行控制。
4 结束语
相较于本地单系统,微服务架构采用轻量化运行技术以及通信方法,简化基础设施,降低服务粒度,使得独立开发和演化、独立部署运行和独立自治成为可能。
基于微服务架构的钢丝绳物联监测系统结合物联网理论,不但实现了原单体系统的所有功能,还具有一定程度的设备维护功能,满足钢丝绳监测智能可视化、业务精细化需求,同时,微服务架构的构建,提高了系统的开发、维护效率,降低运营成本,具备优秀的可移植性,表现出良好的推广价值,为工业4.0添砖加瓦。
目前造成岸桥钢丝绳损伤的主要因素并不明确,本系统主要对损伤数据进行处理与展示,在一定程度上实现物联功能,并未对数据进行有效的挖掘分析。下一步利用大数据技术实现对钢丝绳工作能力进行综合评价,预测其剩余寿命,得出造成钢丝绳损伤的主要因素,对其进行深度研究与优化。
参考文献:
[1] 王博思,黄子恒,赵雅,等.基于漏磁检测的电梯钢丝绳断丝检测实验研究[J].自动化与仪器仪表,2020(8):29-32.
[2] 奂光润,谢良魁,张豪,等.基于弱磁无损检测技术的钢丝绳在线监测系统的应用与实践[J].能源与环保,2019,41(6):101-106.
[3] 苟英,李冀明,魏星.边缘计算的物联网深度学习及任务卸载调度策略[J].计算机应用与软件,2019,36(8):125-129.
[4] 刘罡.基于微服务架构的汽车经销商管理系统[J].计算机应用,2018,38(S2):243-249.
[5] 方意,朱永强,宫学庆.微服务架构下的分布式事务处理[J].计算机应用与软件,2019,36(1):152-158.
[6] 熊肖磊,韩雄飞,赵炯,等.微服务在大型设备监控管理系统中的应用探究[J].现代机械,2019(6):88-93.
[7] 吴晓龙.基于微服务架构的在线学习系统设计与实现[D].济南:山东师范大学,2019.
[8] 迟殿委.基于Ribbon的微服务通讯及负载均衡的实现[J].电脑与信息技术,2019,27(5):25-27.
[9] 崔蓬.ECharts在数据可视化中的应用[J].软件工程,2019,22(6):42-46.
【通联编辑:梁书】
收稿日期:2021-10-21
作者简介:叶涛(1972—),女,湖北武汉人,博士,副教授,研究方向为计算机仿真;张弛(1996—),男,湖北天门人,在读硕士研究生,研究方向为工业物联网。