葉濤 張弛







摘要:針對單架構下鋼絲繩監測系統面臨的設備分散、數據龐雜、容錯率低、擴展性差等問題,設計并實現了基于微服務的鋼絲繩物聯監測系統。系統通過建立數據存儲集群,實現損傷數據的同步備份,系統業務以微服務的形式部署于阿里云上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—),男,湖北天門人,在讀碩士研究生,研究方向為工業物聯網。