唐銘成,柳先輝,秦修功
(1.同濟大學 電子與信息工程學院,上海 201804;2.北京機械工業自動化研究所有限公司,北京 100120)
在網絡協同制造資源服務平臺的研發中,由于其所接觸的制造業業務種類越來越多,所管理的資源也越來越復雜,往往在同一個業務中會調用多種異構資源,因此建立資源服務平臺、高效地管理以及調度多源異構資源對推進工業信息化、制造業與服務業融合發展來說異常重要。
目前針對網絡協同制造資源服務平臺中多源異構資源的管理國內外已經有許多方法,例如采用較多的聯邦數據庫法[1]進行資源整合,但當數據源過多時,數據訪問接口也因此增多,導致執行效率較低。而中間件集成法[2]在通信時需要專門接口,且使用不同技術開發組件,互相的交互性較差,現有大多對異構資源的管理都存在或多或少的缺點。隨著業務的發展,異構資源的管理往往涉及到對整個架構的修改較為復雜,傳統的資源管理模式存在中心化、單一化特征,在開發成本和效率上沒有優勢[3],新加入的業務人員也較難弄清內部邏輯,因此需要設計更加高效可靠的資源管理架構。
由于云計算的提出,數據的處理地點從個人計算機和服務器轉移到因特網,實現了超級計算并由此延伸出資源池的概念。傳統意義上的資源池指云計算數據中心涉及的各種計算資源與服務資源,其中的資源獨立于任何項目實現資源共享[4]。本文將云計算資源池思想[5]應用到網絡協同制造資源服務平臺的設計中,提出一種扁平化的資源池架構。資源池整體架構主要包含了資源虛擬化、資源集成、業務抽象等模塊,形成一個完整的智能系統,能夠管理異構資源并實現存儲、共享、調用等功能,解決分布式資源集成與路由的問題,將資源的集成和挖掘利用分離,增加資源管理的靈活性與高效性,在提高資源配置效率的同時實現整個業務過程的安全保障。
傳統的資源管理模式在面對復雜業務時往往會出現許多問題,例如異構資源存儲在服務器中時往往會出現數據高度集中現象,雖然集中資源可以方便管理與共享,但是隨之會加劇數據異?;蛘呦到y堵塞的風險,當資源種類增多時,存儲管理出現的異常會越來越多,在資源調度時數據映射也出現誤差[6]。
而在資源存儲過程中,由于大型項目所需求的資源種類過多且互相差異性巨大,因此往往存在多種完全不同的存儲設備,這些設備往往較難集中管理無法滿足高效、靈活的資源調度需求[7]。隨著大數據的快速發展,多種設備的擴容和維護也帶來很大的麻煩。
因此在傳統資源管理架構中,由于資源的多樣性以及隨著業務擴展,會使得系統越來越復雜,當對某一功能區進行變動時,需要對資源管理系統的整體架構進行統一的重新建設以及重新部署,效率較低且存在著并發風險,當某一功能發生故障時,往往也會使得整個系統穩定性受到影響,從而影響多個業務的處理,甚至導致系統崩潰。在初始部署系統架構時也會因為技術選擇限制從而開銷大量人力成本[8]。
針對上述分析,本文提出的資源池扁平化架構需要解決以下問題:能夠屏蔽存儲多源異構資源時的資源差異性與設備差異性;能夠在實現資源信息集成的基礎上實現資源的跨平臺調度;能夠通過資源池架構的設計實現服務應用的快速部署;最后在架構設計中還需要降低系統復雜性,保證開發人員能夠快速熟悉系統、靈活選擇技術從而易于系統擴展。
目前,在異構資源管理方面還沒有統一的虛擬化模型進行構建。而資源池最底層一定是在異構環境下對資源進行集成,在網絡協同制造資源服務平臺中管理的資源包含了服務信息與技術資源兩大類,需要對多源異構資源進行虛擬化從而以數據形式存儲進行統一管理。本文提出一種針對異構制造資源的統一虛擬化技術,首先需要對異構資源進行建模,第一步是序列標注,目前機器學習中HMM方法可以很好的對資源進行序列標 注[9],通過制造業已有數據進行訓練,包含詞性標注、命名實體識別等。第二步按照不同粒度進行數據抽象成元數據[10],用一個五維元組表示,包含資源名稱、相關屬性、標識、查詢關鍵字段、映射關系,元數據保存方式可以用CSV、RDF、XML。對上述處理后的元數據進行基于本體的語義建模,參考制造業技術資源服務能力的一些已有資源信息元數據[11],對制造業相關技術的重要概念和知識進行整理,通過Annotea語義標識系統進行語義標注[12],將標注后的數據存進本體知識庫[13],接著將構建虛擬資源模型以便之后生成虛擬資源。所用虛擬機是由網絡鏡像、虛擬機的規格及支持的Hypervisor 構成,環境為異構虛擬化平臺Vmware[14],虛擬資源邏輯組成由四元組進行定義,分別是屬性實體、鏡像實體、虛擬機規格實體、網絡實體[15],基于上文構建的本體知識庫調用其中實體資源數據進行虛擬資源生成,同時在映射表中一一建立虛擬資源和實體資源聯系方便查詢。圖1是資源虛擬化流程圖。

圖1 資源虛擬化流程圖
在本文提出的資源池架構中,資源虛擬化成后將在數據層進行集成,是數據匯聚的中心。查詢虛擬資源信息主要通過對存儲的元數據進行查詢,在網絡協同制造技術資源服務平臺中資源主要按照服務信息與技術資源進行劃分,包含多種資源類別。本文基于改進的K-means算法對元數據按照資源種類進行劃分,將其應用到數據層,可以直接查詢到各類資源的元數據信息。
首先確定最初k值和個中心點開始位置,對于大規模數據查詢,可以定義輪廓系數確定初始k值:

Si為輪廓系數ai是當前所選數據到其所在簇其他數據的平均距離,bi是當前所選數據到其他各簇中數據的平均距離的最小值,當輪廓系數si=+1時,說明當前對象的分簇正確,其與其他簇數據具有較大區別;當si=-1時,說明分類效果不好,當前數據與其本簇數據具有較大區別[16]。計算各個分類距離中心的位置,取其最小值,即為距離最近的分類中心點,對于每個樣本xi,可以認為xi為距離簇中心最近的類j。因此各個簇距離中心點的距離公式為:

接著繼續迭代計算各類聚合類的新中心點,根據平方誤差E多次迭代到收斂。平方誤差的計算方法如下:

通過元數據聚類技術,屏蔽了多源數據的異構性,將其應到到數據層相關模塊中可以明顯提高對服務信息與技術資源集成與查詢的性能。
資源池扁平化是在充分理解業務需求的基礎上,將資源池在邏輯以及物理層面對技術資源,服務資源進行粒度劃分、用途分類和應用分級。本文借助云計算資源池的思想,提出一種扁平化資源池架構,自下而上分為資源層、數據層、鏈路層、技術支撐層和服務接口層,利用虛擬化、動態適配等技術實現服務和資源的分層解耦,從而可以將資源的繼承定義與挖掘應用分離,在需要資源調用時系統進行計算分配,可以獲得很高的資源吞吐率。
系統的資源層經過虛擬化后形成資源集成標準,分為服務資源和技術資源,技術支撐層通過安全工具、適配接入工具、資源配置工具以及資源池備份工具完成對鏈路層與接口層的自動部署,使得鏈路層可以有較為穩定的透明傳輸,能夠在建立合理路由情況下進行跨平臺并行調度資源,相對傳統管理優化了資源調度,并提供各層接口,包含目錄、資源、權限接口,實現資源池的分層解耦。而安全層負責整個資源池的監控,包含了密文傳輸,危險預警,專利維權等功能,通過接口層提供的各個接口達到實時監控。整個架構如圖2所示。

圖2 資源池整體架構圖
資源層通常包含了支撐多種業務服務的硬軟件設備以及人才資源,該層主要針對不同類型的資源建立虛擬化模型,對異構資源進行虛擬化方便上層數據集成。在發現與錄入初始制造業資源后通過訓練好的HMM序列標注模型對各類資源進行序列標注,經過語義標注后仍然通過基于監督學習的方法進行知識抽取,可以準確將資源特性標識出來。而后將其存儲進本體知識庫,從庫中抽取對應資源信息結合4.1構建的虛擬資源模型生成虛擬資源,同時建立物理資源與虛擬資源的映射信息存放到映射表中。資源層主要負責對各種資源進行虛擬化,并對資源進行信息錄入與維護,同時資源層作為最底層,虛擬化后的數據將由上層數據層集成并存儲。資源層不僅可以由上層需求調度,也可以通過一個網絡服務界面將計算、存儲、網絡處理等信息直接提供給用戶。圖3是資源層內部結構圖。

圖3 資源層具體結構圖
由底層資源層虛擬化后的數據將在數據層進行集成,網絡系統制造資源服務平臺包含的數據主要分為服務信息與技術資源。數據層在整個資源池中負責制定資源集成標準,并提供信息查詢服務以支持上層的跨平臺調度。數據層按照網絡協同制造資源集成標準進行集成,分成服務資源與數據資源。在服務資源和數據資源下通過本文3.2中技術進行元數據聚合,整合成各類異構資源信息簇存儲進Mysql與NEO4J數據庫中,根據資源特性以RDF、XML多種形式進行存儲。這樣虛擬資源經過集成與分類聚合后可以高效地進行管理,并通過基于Elastic的搜索模塊進行查詢,相對直接查詢大大提高了效率,該功能主要由元數據解析模塊和元數據聚合模塊共同完成。數據層內部主要負責對虛擬化后的資源制定不同的標準將其抽象化,并將邏輯運算與相應業務進行封裝,對不同的業務類型與資源類型進行動態劃分存儲區域,實現分布存儲,等待上層的調度。圖4是數據層內部邏輯結構:

圖4 數據層具體結構圖
鏈路層將對資源進行集成編制,最終負責資源的調度與傳輸維護,可以實現資源調動過程中的透明傳輸、跨平臺調度、數據交換接口最終相對傳統管理大大提高了調度效率。能夠保證多個業務協同工作,在提高傳輸效率的同時做到安全加密,保證系統資源調用的穩定傳輸。
技術支撐層主要包含了支撐架構的核心技術,從資源池底層到頂層都需利用這些技術來實現資源池的分層解耦以及業務的部署,支撐著資源池的運轉。所有層都需要依賴技術支撐層提供的技術,包括了虛擬化工具,元數據聚合工具、數據庫管理工具、資源池管理工具,安全保障工具,適配接入工具等。
接口層主要是提供一種約束,將所寫的多數服務功能寫成接口,可以簡化調用者對該服務的內部邏輯依賴,本質是解耦作用,這樣數據層跟業務層的實現就可以同時進行而彼此不會糾纏在一塊,達到高內聚、低耦合的效果,邏輯簡單清晰,分工協作,提高效率。
安全層主要負責對整個資源池的監控,保證資源池在出現功能性故障時能夠及時發現并處理,將發生災害時的影響下降到最小。安全層主要包含了對密文傳輸的安全保障,對突發危險預警,對分布式資源的持續追蹤以及對專利的維權功能,安全層同時對接口層、技術支持層、鏈路層、數據層起到監管與保護的功能,是整個扁平化資源池管理系統的重要部分。
本文最終研究目標是為網絡協同制造技術資源服務平臺開發出可行的資源管理模塊,實現各類制造資源的集成、存儲與共享,為制造業企業提供高效便捷的服務,扁平化資源池運作模型如圖5所示。

圖5 資源池運作模型
結合第三章對扁平化資源池各層的定義可以構建出整個平臺的運作過程。在用戶角度上看,用戶通過平臺交互發送需求后根據資源類別進行目錄接口調用,而后通過鏈路層傳輸請求,在資源池中找到用戶需求的數據并通過鏈路層跨平臺調度傳輸到資源服務平臺最上層供用戶調度。從資源池角度看首先各種資源在網絡協同制造技術資源服務平臺進行注冊,通過調用技術支撐層的多種虛擬化工具將部分業務需求的資源統一集成存儲在數據層實現動態部署,數據層會根據資源種類進行信息統計與記錄,而后通過鏈路層實行跨平臺調度滿足多用戶的資源需求,安全層將會在上述過程中一直起到多方面的安全保障。
隨著企業信息化的不斷推進,需要注重資源的集成與路由問題,本文對此提出了一種扁平化資源池架構并投入應用,將資源池在邏輯以及物理層面對技術資源,服務資源進行粒度劃分、用途分類和應用分級,有效地處理分布式和集成路由的問題,實現對資源池配置的優化,為用戶提供高效穩定的服務。此外還對整個架構用到的技術方法進行研究,下一步將嘗試在實際項目中實現本文提出的架構并進行應用驗證。