蔡金瑩,向 峰,周 平,周 順
(1冶金裝備及其控制教育部重點實驗室(武漢科技大學),武漢 430081;2機械傳動與制造工程湖北省重點實驗室(武漢科技大學),武漢 430081;3武漢科技大學精密制造研究院,武漢 430081)
工業互聯網作為國家推進“中國制造2025”的主要方向,是成為制造強國和信息強國的重要支撐,是實體經濟全要素的樞紐、資源配置的中心和智能制造的核心。當前,生產型制造向服務型制造轉型已成為制造業發展的重要趨勢。因此,如何可靠穩定的支持企業實現跨地域、跨組織的完成制造協同協作工作,成為支撐制造服務協作平臺(Manufacturing Service Collaboration Platform,MSCP)運行的重要基礎。
在信息技術還未與制造業深度融合的初期,制造網格(Manufacturing Grid,MGrid)和應用服務提供商(Application Service Provider,ASP)作為制造服務協作平臺的早期的代表,以實現異構、分布制造資源的共享和協同工作為目標,達到快速滿足市場需求、降低企業制造成本。隨著互聯網的不斷發展和企業應用的范圍不斷擴大,制造模式逐漸從單主體單階段制造模式和多主體單階段協同制造模式轉向多主體跨階段協同制造模式和多主體按需獲得制造能力模式,工業互聯網下的制造服務協作平臺結構也變得越來越復雜。當制造資源達到一定數量時,整個系統將面臨靈活度差、延伸性差、耦合嚴重、服務監控和性能評估難以進行等問題。并且,當某一個制造服務出現故障,整個協作過程就會出現部署頻繁,維護困難等問題,導致整個制造任務無法持續開展,進而無法達到用戶的制造需求。
隨著工業互聯網和制造業的進一步融合,以協同制造和服務按需使用為核心的云制造(Cloud Manufacturing,CMfg)發展迅速。CMfg是面向服務的架構(Service-Oriented Architecture,SOA)傾向于將制造資源成為基于標準協議的、能夠重復使用的、可被擴展的、具有靈活性的制造服務。用戶可以向制造服務協作平臺提出設計、制造、計算等服務需求,制造服務協作平臺依據用戶的需求,為其提供服務篩選、服務匹配和服務組合。但制造服務協作流程中仍存在制造資源動態變化快、制造任務交付速度慢、平臺維護困難等問題,這促使制造服務協作平臺探索更加優質的平臺架構以實現制造服務協作的智能化與信息化。
微服務架構(Microservice Architecture)作為一種新型的系統架構設計風格,是解決當前制造服務協作平臺存在問題的方案之一。微服務架構提倡去中心化思想,追求服務化,滿足制造服務協作平臺的主要流程訴求,目前眾多學者對微服務展開了研究,Camilli等人提出了一種基于工作流的微服務組合建模形式化方法,并指定了一種基于Petri網的微服務形式化語義,以工作流組合的形式來驗證微服務組合的可行性。李蘇璇基于微服務架構在SaaS應用構建過程中的應用,提出一種微服務的高可用管理方案。郭棟等人基于輕量級容器技術和微服務架構,提出了一種具有較好擴展性、規模化部署、容災和靈活配置等特性的云件PaaS平臺。在智能制造應用方面眾多學者對其展開了研究,D Salikhov等人提出一種基于微服務的IoT平臺,提高了平臺的可擴展性、可靠性和易用性,并充分展示了其提供外部服務的優勢。相錚基于Docker容器虛擬化技術,結合制造執行系統云平臺化的發展趨勢,設計微服務制造執行系統部署架構。黃啟啟等人提出一種基于微服務的倉儲管控系統架構,實現倉儲業務的分布式集成。周文坤等人分析了微服務架構的ERP應用系統的優勢及挑戰。以上文獻研究了微服務架構在不同的復雜系統中的應用,為微服務架構面向制造服務協作平臺的可行性打下了基礎。
基于微服務架構的制造服務協作平臺意味著一切功能都是微服務,在實現多種微服務的分布式集成、通信、持續監控具有良好的優勢。當前,制造服務協作平臺中存在大量異構的制造資源,實現這些制造資源的實時、靈活監控是保障整個平臺中制造任務正常完成的重要前提。
本文為解決制造服務協作流程中存在制造資源缺乏實時監督、數據訪問擁堵、制造服務協作平臺維護困難等問題,提出了一種基于微服務架構的工業互聯網服務制造服務協作平臺,構建了制造服務協作平臺的架構。在此基礎上分析關鍵方法,并研究了微服務架構下制造服務協作平臺的運行流程,有效地解決了目前制造服務協作系統所面臨的問題,實現制造服務的輕量化。
微服務架構是從單體架構演化而來的一種架構模式。在基于微服務架構的工業互聯網制造服務協作平臺中,將機器、物料、產品、人力、和軟件制造資源和制造能力,進行統一封裝,形成制造微服務(Manufacturing Microservices,MMS),MMS之間采用輕量級協議進行溝通,呈現出單元小型化和微型化的特征。制造協作平臺基于制造任務的需求,將整個復雜的制造任務拆分成多個制造子任務。制造子任務由一個或多個可以被獨立管理、部署和擴展的MMS組織的服務集合協作完成。并且,每個MMS擁有獨立的數據庫,每個微服務只需以可靠的服務質量完成自身的制造服務。MMS可以在短時間內被重新部署和改變,服務的失信和失效不會對整個復雜制造任務造成很大的影響。而在單體架構中,各制造服務被部署在一個整體的架構中,無法獨立運行,所有的制造服務基于數據庫提供的信息一致性標準,共用同一個數據庫,所有的業務數據、業務邏輯和流程被集合在一起,只有在制造規模小的情況下,才可以很好的而滿足制造任務的需求。單體框架和微服務框架圖對比如圖1所示。

圖1 單體架構與微服務架構對比圖Fig.1 Comparison between monolithic architecture and microservice architecture
相比于單體架構,微服務架構在工業互聯網制造服務協作平臺應用具有以下優勢:
(1)易管理:單個MMS專注于單一的制造任務,當平臺中的MMS出現變更時,僅需對這特定的服務進行重新管理,無需調整整個制造任務。較單體架構更加可控。
(2)可獨立部署:每個MMS都是一個獨立的制造過程,服務粒度劃分小,具有獨立的數據庫和制造環境,這一自治性使得服務可以獨立的部署。
(3)穩定可靠:微服務架構重視服務的可用性、流量的負載均衡,失效和失信的MMS會被隔離在內部,加上配套監控機制使得平臺的運行更加可靠。
(4)靈活度高:MMS的細粒度特征在提高制造效率、縮短制造需求響應時間有明顯的效果,可以通過平臺實現制造服務的自動組合和篩選。
綜上分析,微服務架構在很大程度上簡化了制造服務的創建、集成、部署及運行流程。由此可見,微服務架構更加符合當前工業互聯網制造服務協作的發展新趨勢。
工業互聯網服務協作平臺以各類制造資源和制造能力為構成要素,以為全生命周期制造活動提供按需使用、穩定可靠、獲取方便的制造服務為目標,以傳感器采集的多源異構類數據為信息來源,并融合互聯網、云計算、虛擬化等先進的制造技術,有效建立穩定可靠的制造服務協作平臺,實現制造服務協作的制造資源接入和發布、產品制造、制造任務交付等全流程功能操作。
基于微服務架構的工業互聯網制造服務協作平臺物理架構從底層到頂層分別由基礎層、共享層、制造應用層、微服務層組成,如圖2所示。

圖2 基于微服務架構的工業互聯網制造服務協作平臺物理架構圖Fig.2 Physical architecture diagram of industrial internet manufacturing service collaboration platform based on microservice architecture
(1)基礎層。基礎層是保障所有MMS可靠運行的關鍵。工業互聯網制造服務協作平臺的基礎層主要包含防火墻、網關、服務器、數據庫、操作系統等要素。管理服務器對制造服務起到保障安全、預警及監控的作用。當平臺中出現制造資源訪問失敗、制造任務發布錯誤、制造資源配置不合理等故障時,可以通過服務監控、服務授權、日志分析、服務降級等功能,實現對微服務的高效管理。
(2)共享層。共享層實現了制造服務協作平臺中信息流的交互與共享。制造平臺中MMS的制造任務命令傳達需要在多層中進行,共享層包含DNS、RPC、服務注冊和發現中心Eureka組件等要素。服務注冊和發現中心是共享層的核心要素之一,制造服務協作平臺將制造資源以服務的形式封裝注冊到服務中心,注冊服務中心記錄了所有MMS的物理地址和制造服務參數等信息。
(3)制造應用層。應用平臺層為服務監控、斷路器和容錯處理Hystrrix、制造服務流程管理、服務發布、服務查詢、服務篩選、服務組合等功能的實現提供支撐,為用戶提供“按需服務”。
(4)微服務層。微服務層由基礎微服務和應用微服務兩個部分組成。是MMS以及MMS所有相關的事物所在的層,與下方的基礎層、共享層和制造應用層相互獨立。
基于物聯網和虛擬化技術的制造服務協作平臺,將制造資源和制造能力封裝成制造微服務形式,具體流程如圖3所示。采用可拓展標記語言(Extendable Markup Language,XML)進行標準的服務化描述,實體資源經過標準化分類后異構為多種不同的資源池,賦予其制造屬性和行為,并向上提供統一的數據接口,為各類制造任務所靈活調用,為制造服務的查詢、管理、篩選、組合等提供支持,實現制造資源高效集成和高效利用的基礎。其中,每個制造微服務的服務化描述如下所示:

圖3 制造資源封裝流程圖Fig.3 Manufacturing resource encapsulation flow chart

其中:MMSID表示服務標識;MMSAddress表示其物理地址;MSSfunction表示該微服務的執行主要功能;MMSType表示服務類型;MMSProvider表示制造服務商;MMSState表示當前狀態;MMSParameter參數信息;MMSOthers為其他信息。
制造服務協作追求靈活管理服務。如圖4所示,Eureka中心為制造資源提供商提供服務注冊、服務發布及服務發布的功能,為制造任務需求方提供用戶用戶注冊和制造服務訂閱的功能。制造任務需求方能夠從Eureka中心獲取查詢獲取制造資源提供商的注冊信息。如當用戶向MMS(如仿真計算服務)發送發起制造協作時,通過查詢服務注冊中心,找到MMS的位置,從而獲取該服務實例。Eureka框架組成服務注冊中心集群,各注冊中心之間相互注冊當前注冊中心已有的MMS,當一個注冊中心出現故障,并不會影響注冊和查詢服務,從而實現注冊中心的高可用。

圖4 服務注冊與發現架構Fig.4 Service registration and discovery architecture
良好的溝通過程能夠提高制造流程的可靠性。在制造服務協作系統中,各制造微服務之間基于制造任務形成制造微服務集,采用輕量級通信協議進行P2P節點通信,占用極少的平臺資源,且互不影響,呈現松耦合狀態。在微服務架構中,制造任務提供商可以直接與任一制造資源協作方進行通信,而不需要再找制造服務協作平臺的運營商。以實現制造資源提供商做出更快地響應,縮短制造周期的目的。在執行制造任務MT的通信總時長ST計算公式如下:

其中,TW為微服務請求等待時間;TD為微服務的請求延長時間;為該項制造任務中的MMS數量。
每個制造微服務都有Eureka client,在server中注冊后需要和服務中心保持“心跳”。此外,采用“心跳機制”定時同步與感知微服務的當前服務狀態,即在規定時間內持續與平臺確認該服務正常運行的狀態,在不影響監測實時性的基礎上,通過定期端推送監控信息,從而實現遠程虛擬化監控功能。若某個微服務出現服務不可用和請求超時或超時次數超出一定范圍等問題,則平臺將會對這些微服務進行服務降級或者移除,緩解請求阻塞,縮小對制造服務協作平臺的影響,提高資源的高可用性。
API網關為MMS提供規范及標準化的接口,Ribbon負載均衡組件負責協作平臺流量的分發,Hystrix服務熔斷機制通過記錄和監測協作平臺的實時運行狀態及制造任務協作情況。API網關、Ribbon負載均衡組件和Hystrix服務熔斷機制從不同維度保障了微服務的健康狀況,有效提高了制造服務協作平臺的容錯性和健壯性。負載均衡模塊依據各制造服務的健康狀況與負荷,決定下一項制造任務的完成者,保證制造任務可靠的運行。負載均衡評價因素集合為:

其中,response time為響應時間;request times為請求次數;waiting time為等待時間;failure times為失敗請求次數;delaylatency為延遲時間。
制造服務篩選和制造服務組合是工業互聯網平臺實現“按需制造的”核心環節,基于微服務架構的制造服務協作流程如圖5所示,具體步驟如下:

圖5 基于微服務架構的制造服務協作流程Fig.5 Flow chart of manufacturing service collaboration based on microservice architecture
各制造資源服務提供商將制造資源分類之后,通過虛擬化技術,將制造資源進行標準化描述,生成部署制造服務包,每個MMS都開放服務接口。
每個微服務都是一個獨立的服務實例,制造資源提供商在服務注冊中心注冊其所提供的制造資源,上傳制造資源屬性、服務價格、服務違約率、物理地址、接口版本等信息。
用戶向平臺提交制造任務,制造任務被分解成多個制造任務集MTS。用戶依據制造任務集需求向注冊中心訂閱所需要的服務實例,經過服務檢索和匹配,平臺的注冊中心向用戶提供匹配的MMS的地址列表。
在分布式制造環境中,采用RPC篩選合適的制造服務,展開一對一或一對多的制造服務協作,從而形成制造服務候選集MRS。
各MMS之間結合制造服務任務和制造服務需求,綜合權衡多種因素,進行服務協商,其中協議內容包各自的QoS參數及協作的懲罰和獎勵機制。若協商成功,則簽訂制造服務等級協議(Service Level Agreement),且SLA保存在各MMS的數據庫中。
創建分布式MTS協作方案,開始制造任務,調用匹配的MMS,進行服務組合。若出現調用連接超時、請求失敗,則采取重試策略;若出現流量突增和負載過高等問題,將Ribbon配置好的算法負載均衡組件分散到各服務提供商上,接收到請求的服務提供商將響應請求,從而實現負載均衡。
監控中心定期向每個服務實例發送心跳監控請求,若某個服務實例隔斷時間不連續,則監控中心將移除該服務實例并重新篩選新的服務實例,并啟用日志功能。
對最終的制造任務的QoS進行評估,如果MMS在協作過程中出現服務失信或服務失效狀況,則制造服務協作平臺依據事先簽訂的SLA對其進行違約金賠償并將違約信息記錄在該服務的注冊信息中。
當一項制造任務完成后,則該制造服務集迅速解散。
上述協作流程從多個角度保證了工業互聯網平臺中制造服務協作的可靠性和穩定性。
(1)通過注冊中心和服務發現機制的應用,對制造協作任務進行快速創建、部署,極大地提高制造任務的交付速度。
(2)基于微服務架構的組件,斷路器和熔斷處理Hystrix使得各MMS更可靠的進行制造消息共享,監控技術持續的分析各制造服務的實時行為,保障了制造任務的穩定執行。
(3)協作流程中引入服務等級協議,能在很大程度上降低人為干擾,增加服務提供商的制造積極性,從而保證了工業互聯網制造服務協作平臺的可信性。
基于工業互聯網平臺的制造服務協作是制造業發展的方向。本文針對制造服務協作平臺中存在的制造資源集成困難、缺乏服務監控、平臺維護困難等問題,提出了一種基于微服務架構的制造協作平臺,通過分析平臺的架構和關鍵技術,設計了基于微服務架構的制造服務協作流程。較好的解決了制造服務協作平臺的穩定性及制造任務的服務質量,滿足了智能制造對制造平臺的新要求,同時也為后續基于工業互聯網的制造服務協作的研究工作奠定了堅實的理論基礎。