王曉妍 劉壽春 王子璇 王瓊瓊 李志明
(①燕山大學信息科學與工程學院(軟件學院),河北 秦皇島 066004;②河北省計算機虛擬技術與系統集成重點實驗室,河北 秦皇島 066004;③河北省軟件工程重點實驗室,河北 秦皇島 066004)
目前,我國制造行業存在“資源閑置與短缺并存,能力過剩與不足同在”的情況。在一定程度上造成了制造資源的浪費。在互聯網+制造業的時代背景下,以“分散資源集中使用,集中資源分散服務”為理念的云制造模式可有效緩解上述問題[1-2]。運用先進的新一代信息技術,將分散的、閑置的制造資源虛擬化封裝,并發布至云平臺,為用戶提供按需使用、隨時獲取的制造全生命周期服務,從而實現制造資源共享和企業協作。數控裝備種類繁多,功能多樣,在制造資源中占有很大的比重,且與其它種類制造裝備相比,更易于實現裝備資源的封裝及虛擬化。本文在云制造環境下,針對數控裝備資源服務匹配方法展開了深入研究,提出了一種“剛性參數”與“分層匹配”相結合的數控裝備資源服務匹配方法,并通過仿真實驗驗證了其性能。
高效的資源服務匹配算法是云制造環境下制造資源得以快速、準確共享的重要前提。文獻[3]提出一種基于屬性匹配的云制造服務資源搜索方法,設計了制造領域同義詞字典和服務資源屬性字典,用來規范用戶的檢索詞和確定用戶檢索意圖,并在該基礎上提出屬性匹配算法。但是,該算法要求服務資源檢索系統的維護人員具有較高專業知識,同時,也對字典集的更新帶來挑戰。文獻[4]構建了“先語義推理,后計算語義距離”的兩層語義匹配模型,提出一種基于概念模糊特征集合的服務匹配方法。然而,在云制造環境下,制造資源可能存在多種狀態的情況,該算法難以適用。針對制造資源的多樣性和復雜性問題,文獻[5]在概念信息、句子信息和數值參量信息3個角度進行相似度度量,提出了包括基本信息、功能信息、約束信息和綜合匹配的多層次匹配算法模型。該算法的不足之處是忽略了相似度不對稱的現象。
文獻[6]結合制造資源在某一時刻有“可用/不可用”狀態的特點,提出制造資源服務分級匹配策略,對資源服務類別信息、狀態信息、功能信息和服務質量信息進行分級匹配。在計算語義相似度時,充分考慮資源類節點在資源類別樹中的深度和類別節點間的繼承關系,提高了服務匹配的精度,然而,在資源服務匹配時僅考慮了兩個概念在樹中所處的深度,忽略了概念的寬度和重合度,可能導致匹配結果不夠全面。
為實現更準確高效的數控裝備資源云服務匹配,以文獻[6]為參照,以數控裝備資源為研究對象,結合請求者對資源類別的不同需求,提出一種“剛性參數”與“分層匹配”相結合的數控裝備資源服務匹配算法。該算法不僅考慮了資源概念的深度,還考慮了資源概念的寬度、語義重合度、語義距離和層次順序,對資源服務匹配進行了精確的量化,并搭建了數控裝備資源云制造平臺系統原型。
從數控裝備資源請求者角度考慮,較為注重數控裝備資源提供的服務類別、運行狀態、加工能力和服務質量(quality of service,QoS)信息等。從數控裝備資源提供者角度考慮,較為注重數控裝備資源的基本信息、功能信息、狀態信息和QoS信息等。因此,本文從數控裝備資源的類別信息、狀態信息、功能信息、QoS信息和綜合信息等5個角度分別對接資源請求者和資源提供者對資源的描述,并依次進行匹配,形成“剛性參數”與“層次匹配”相結合的數控裝備資源服務匹配方法,其流程如圖1所示。

在實際生產中,資源請求者由于諸多原因導致提交的資源需求表述不準確的情況時有發生。針對該情況,將資源類別匹配分為類別明確和類別不明確兩種情況,進而再將類別明確的情況分為“剛性參數”匹配和“非剛性參數”匹配。前者是指資源請求者對所需資源類別清晰、明確的情況下應設置為剛性參數,即資源匹配結果必須是資源請求者指定的資源類別,否則匹配失敗;后者是指資源請求者對所需資源類別清晰、明確的情況下設置為非剛性參數,即云制造資源池中,和請求資源類別相似度不小于預設閾值的數控裝備資源均可列入資源服務匹配結果。
另外,在計算類別相似度時,考慮了數控裝備資源概念間的深度、寬度、語義距離、語義重合度及層次順序5個因素,其中,計算語義距離時需同時考慮資源概念之間的深度、寬度和資源概念之間邊的權重。資源集合中第i個資源Ci和第j個資源Cj之間的類別相似度計算公式如式(1)所示。式(1)既考慮了資源概念之間的繼承關系和同層關系,又對概念匹配做了精確的量化,從而為提高資源服務匹配的查準率奠定了基礎。
(1)
式中:OL(Ci,Cj)為Ci和Cj之間的語義重合度;Lev(Ci)為Ci的層次順序;Dis(Ci,Cj)為Ci和Cj之間的語義距離。資源類別信息匹配算法的輸入、輸出、初始狀態及步驟如下。
輸入:CateList為所有數控裝備資源類別集合,i(i=1,2,…,k)為類別序號,k為CateList的元素個數;cateR為請求數控裝備資源類別描述信息;cate_i為類別是否明確參數;Sim(cate_i,cateR)為類別相似度;flag為類別剛性參數標識位 (“1”為剛性參數,“0”為非剛性參數);valueCate為請求者設定的類別匹配相似度閾值;MatchCate為類別匹配序列;Resources為資源序列。
輸出:Cate_Resources為類別信息匹配之后的數控裝備資源集合;CateSimSet為對應的類別相似度集合。
初始狀態:CateList≠?,i=1,Cate_Resources=?,CateSimSet=?。
(1)若cate_i為“類別不明確”,則轉至(2);否則,轉至(4)。
(2)將cate_i添加到類別匹配序列MatchCate中,設置類別相似度Sim(cate_i,cateR)的值為1.0,并將Sim(cate_i,cateR)添加到類別相似度集合CateSimSet中。
(3)i=i+1。若i≤k,則轉至(2);否則,轉至(12)。
(4)若flag是“1”,則轉至(5);否則,轉至(8)。
(5)判斷cate_i是否和請求資源類別cateR相同,若相同,則轉至(6);否則,轉至(7)。
(6)將匹配的cate_i添加到MatchCate中,并將相似度1.0添加到類別相似度集合CateSimSet中,轉至(12)。
(7)i=i+1。若i≤k,則轉至(5);否則,轉至(12)。
(8)計算請求資源類別和資源庫中類別相似度Sim(cate_i,cateR)。
(9) 比較Sim(cate_i,cateR)和相似度閾值valueCate的大小。若Sim(cate_i,cateR)不小于valueCate,則轉至(10);否則,轉至(11)。
(10) 將cate_i添加到MatchCate中,并將Sim(cate_i,cateR) 添加到CateSimSet中。
(11)i=i+1。若i≤k,則轉至(8);否則,轉至(12)。
(12)將資源序列Resources中MatchCate所對應的資源添加到類別信息匹配后資源序列Cate_Resources中,并返回Cate_Resources和CateSimSet。
資源提供者提供的數控裝備資源的狀態信息主要包括維修、空閑、未滿負荷、滿負荷和超負荷5個狀態;資源請求者需求的資源狀態包括空閑、非滿負荷和滿負荷3種工作狀態。
資源狀態信息匹配算法的輸入、輸出、初始狀態及步驟如下。
輸入:Cate_Resources為類別信息匹配之后的數控裝備資源集合,i(i=1,2,…,k)為類別序號,k為Cate_Resources的元素個數;CateSimSet為對應的類別相似度集合;。
輸出:State_Resources為狀態信息匹配之后的數控裝備資源集合;StateSimSet為對應的狀態匹配相似度集合。
初始狀態:Cate_Resources≠?,i=1,State_Resources=?,StateSimSet=?。
(1)判斷候選資源序列中第i個資源Cate_Resources_i的state是否為“超負荷”和“維修中”。若是,則轉至(2);否則,轉至(3)。
(2)將Cate_Resources_i添加到State_Resources中,并將Cate_Resources_i對應的相似度添加到StateSimSet中。
(3)i=i+1。若i≤k,則轉至(1);否則,轉至(4)。
(4) 返回State_Resources和StateSimSet。
數控裝備資源可能包括多個輸入和輸出參數,輸入參數主要指加工材料、控制系統、最大加工任務量、聯動軸數、定位精度、重復定位精度、粗糙度等,輸出參數主要指用途等,而資源請求者和資源提供者對資源的描述中輸入和輸出參數需要滿足一定的關系,才有可能匹配成功,這就是資源功能信息匹配。
資源功能信息匹配算法的輸入、輸出、初始狀態及步驟如下。
輸入:State_Resources為狀態信息匹配之后的數控裝備資源集合,i(i=1,2,…,k1)為State_Resources集合中資源的序號,k1為State_Resources的元素個數;StateSimSet為對應的狀態匹配相似度集合;valueFun為功能相似度閾值;IR為請求資源R的輸入集合,j(j=1,2,…,m)為輸入參數序號;IPi為State_Resources中第i個資源Pi的輸入參數集合,k(k=1,2,…,n)為輸入序號;OR為R的輸出集合,a(a=1,2,…,p)為R的輸出集合中參數的序號;OPi為Pi的輸出集合,b(b=1,2,…,q)為輸出序號。
輸出:Fun_Resources為功能信息匹配之后的數控裝備資源序列;FunSimSet為對應的相似度集合。
初始狀態:State_Resources≠?,Fun_Resources=?,FunSimSet=?,i=1,j=1,k=1,a=1,b=1。
(1)若State_Resources≠?,計算State_Resources中的第i個資源Pi和請求資源R的功能匹配相似度。
①若m≥n且p≤q,計算R的第j個輸入參數和Pi中對應的輸入參數的相似度Sim(Iij)。
②j=j+1,若j≤n,則轉至①,否則,轉至③。
③計算R與Pi的輸入參數相似度,如式(2)所示。
(2)
④計算R的第a個輸出參數和Pi的每個輸出參數的相似度Sim(ORa,OPib),輸出相似度如式(3)所示。
Sim(Oia)=max(Sim(ORa,OPib))(b=1,2,…,q)
(3)
⑤a=a+1。若a≤p,則轉至④;否則、轉至⑥。
⑥按式(4)計算R與Pi的輸出參數相似度。
(4)
⑦計算R與Pi的功能信息相似度, 輸出相似度如式(5)所示。若Simi(Pi,R)≥valueFun,則將資源Pi添加到Fun_Resources候選資源序列中,將Simi(Pi,R)添加到功能匹配相似度集合FunSimSet中。
(5)
(2)i=i+1。若i≤k1,則轉至(1);否則,轉至(3)。
(3) 返回Fun_Resources和FunSimSet。
QoS屬性有多個指標,此處主要針對資源請求者比較關注的成本、加工時間、無故障時間和用戶滿意度4個屬性進行匹配。對于QoS信息匹配,采用基于歐氏距離的相似度計算方法,通過QoS屬性矩陣中各向量之間的歐氏距離反映不同資源間QoS的相似性[7]。
資源QoS信息匹配算法的輸入、輸出、初始狀態及步驟如下。
輸入:Fun_Resources為功能信息匹配之后的數控裝備資源序列,i為Fun_Resources中資源的序號(i=1,2,…,m),m為Fun_Resources的元素個數,初始值i=1;ω=(ω1,ω2,ω3,ω4)為資源QoS四個屬性的權重向量;valueQoS為QoS屬性匹配相似度閾值。
輸出:QoS_Resources為QoS屬性匹配后的候選數控裝備資源序列;QoSSimSet為對應的相似度集合。
初始狀態:Fun_Resources≠?,QoS_Resources=?,QoSSimSet=?。
(1)將Fun_Resources中m個候選資源的QoS指標向量qi=(qi1,qi2,qi3,qi4),(i=1,2,…,m),依次排列構成QoS屬性矩陣,如式(6)所示。
(6)
(7)
(8)
(3)運用線性比例變換公式(9)將Q中的每個數據標準化,標準化后的QoS屬性矩陣P如式(10)所示。
(9)
(10)
在此基礎上定義最優資源A的QoS屬性指標向量p=(p1,p2,…,p4),pj(j=1,2,…,4)為矩陣P第j列中最大的元素。
(4) 計算P中第i個行向量pi(即第i個候選資源的QoS屬性向量)和P之間的歐氏距離,定義第i個資源服務Fun_Resources_i和最優資源服務A之間的QoS相似度計算公式,如式(11)所示。
(11)
(5)比較SimiQoS和valueQoS的大小。若SimiQoS≥valueQoS,則將Fun_Resources_i添加到QoS_Resources中,并將對應的SimiQoS添加到QoS屬性相似度集合QoSSimSet中,轉至(6);否則,轉至(7)。
(6)i=i+1。若i≤m,則轉至(4),否則,轉至(7)。
(7) 返回QoS_Resources和QoSSimSet。
首先,計算各個候選數控裝備資源的綜合相似度,然后,按照綜合相似度由大到小的順序排列候選數控裝備資源,以供資源請求者選擇。
資源綜合信息匹配算法的輸入、輸出、初始狀態及步驟如下。
輸入:QoS_Resources為QoS信息匹配之后的候選資源序列,i(i=1,2,…,m)為QoS_Resources中資源的序號,m為QoS_Resources的元素個數,初始值i=1;CateSimSet為類別信息匹配相似度集合;FunSimSet為功能信息匹配相似度集合;QoSSimSet為QoS信息匹配相似度集合。
輸出:Resources為按綜合相似度大小排序的候選資源集合;SimSet為對應的相似度集合。
初始狀態:QoS_Resources=?,CateSimSet≠?,FunSimSet≠?,QoSSimSet≠?,Resources=?,SimSet=?。
(1)計算QoS_Resources中的第i個資源服務的綜合相似度,如式(12)所示。
Simi=αCateSimSeti+βFunSimSeti+γQoSSimSeti
(12)
式中:CateSimSeti為第i個資源的類別信息相似度;FunSimSeti為第i個資源的功能信息相似度;QoSSimSeti為第i個資源的QoS信息相似度;α、β、γ為類別信息相似度、功能信息相似度、QoS信息相似度的權重,0<α<1,0<β<1,0<γ<1且α+β+γ=1。
(2)i=i+1。若i≤m,則轉至(1),否則,轉至(3)。
(3)由大到小對m個值進行排序,并返回Resources和SimSet。
依據文中數控裝備資源服務匹配的策略及思想,利用Java Web技術及SQL Server2008數據庫,設計并開發了云制造平臺系統原型,數據庫中錄入了幾百條資源數據,并在該平臺上對“剛性參數”與“分層匹配”相結合的數控裝備資源服務匹配方法進行了仿真。圖2為數控裝備資源請求者向云制造平臺提交資源需求時的界面。

在數控裝備資源信息和需求信息數據準確的前提下,運用查全率和查準率驗證“剛性參數”和“分層匹配”相結合的數控裝備資源服務匹配方法的優劣。查全率Recall及查準率Precision的計算公式分別如式(13)、式(14)所示。
(13)
(14)
其中:C表示云制造平臺系統原型中符合請求者需求描述的資源序列;D表示匹配出的資源序列;C∩D表示匹配出的符合資源請求者需求描述的資源序列。
以文獻[6]中的資源匹配方法作為對比對象,按照圖2所示的資源請求參數分別計算查全率和查準率,仿真結果顯示文獻[6]和本文方法的查全率均為100%,查準率則分別為50.8%和72.5%。由此可見,在查準率方面,本文所提匹配方法與文獻[6]中的匹配方法相比得到了較大幅度的提升,從而,驗證了方法的有效性。
在云制造環境下,以數控裝備資源為研究對象,提出“剛性參數”與“分層匹配”相結合的數控裝備資源服務匹配方法,對資源服務匹配做出了精確的量化,方法包括資源類別信息匹配、資源狀態信息匹配、資源功能信息匹配、資源QoS信息匹配和資源綜合信息匹配5個部分。該方法以提高資源服務匹配的查準率為目標,在進行資源類別信息匹配時,結合資源請求者對資源類別的不同需求,并充分考慮了資源功能信息匹配過程中概念及數值的匹配;在進行資源概念的相似度計算時,不僅考慮資源概念的深度和層次順序,還考慮資源概念之間的寬度、語義距離、語義重合度等因素。通過仿真實驗表明,本文所提資源匹配方法與文獻[6]相比,更能夠準確地匹配出符合資源請求者需求描述的資源,使得資源查準率得到了較大幅度的提升。
[1]Yu C, Xu X, Lu Y. Computer-integrated manufacturing, cyber-physical systems and cloud manufacturing - concepts and relationships[J]. Manufacturing Letters, 2015, 6: 5-9.
[2]Zhang L, Luo Y L, Tao F, et al. Cloud manufacturing: A new manufacturing paradigm[J]. Enterprise Information Systems, 2014, 8(2): 167-187.
[3]李成海, 黃必清. 基于屬性描述匹配的云制造服務資源搜索方法[J]. 計算機集成制造系統, 2014, 20(6): 1499-1507.
[4]殷華英. 基于本體相似度的語義Web服務匹配算法研究[D]. 沈陽: 遼寧大學, 2011: 22-53.
[5]王成建. 云制造環境下資源服務匹配研究[D]. 南昌: 南昌大學, 2014: 27-38.
[6]李慧芳, 董訓, 宋長剛. 制造云服務智能搜索與匹配方法[J]. 計算機集成制造系統, 2012, 18(7): 1485-1493.
[7]李新. 基于本體的制造資源建模與智能搜索研究開發[D]. 西安:西安建筑科技大學, 2016: 18-23.