摘 要: 云制造環(huán)境中存在大量功能相同或相似的資源,使得用戶很難獲得符合需求的資源。針對這個關鍵問題,對云制造環(huán)境下基于功能需求的資源發(fā)現進行了研究,提出了一種云制造資源發(fā)現框架。首先對云制造資源進行形式化描述,并分別計算語義相似性,然后進行加權相似度計算,最后采用聚類技術,從功能相似角度對資源進行聚類預處理,從而降低資源查找空間,提高資源發(fā)現效率。通過實驗驗證了所提方法的有效性。
關鍵詞: 云制造;功能需求;資源發(fā)現;語義相似
為了從根本上解決我國制造業(yè)普遍存在的制造能力重復建設和不均衡、資源閑置和資源瓶頸并存的問題,人們在ASP、制造網格、敏捷制造和眾包制造的基礎上提出了云制造的概念。李伯虎院士指出,云制造是一種利用網絡和云制造服務平臺,按用戶需求組織網上制造資源,為用戶提供各類按需制造服務的一種網絡化制造新模式[1]。云制造作為一種基于知識、面向服務、高效低碳的網絡化制造新模式,強調產品全生命周期中各類制造資源的整合與高度共享,在云制造環(huán)境中,資源提供者把自己閑置的制造資源通過智能感知并虛擬化接入云制造平臺、經過服務化后以服務的形式發(fā)布到云制造平臺,資源使用者通過向云制造服務平臺提出資源請求,實現動態(tài)按需地使用各類制造資源[2]。
隨著云制造技術的應用與普及,云制造平臺中資源數量急劇增加,面對龐大的資源群,如何發(fā)現符合需求的資源,實現資源智能高效的匹配成為云制造技術進一步發(fā)展的重大瓶頸。因此,在云制造環(huán)境下進行資源發(fā)現技術的研究,對于云制造服務平臺的實施和開展具有重要意義。當前有關云制造的研究主要是集中在概念、體系結構、關鍵技術[3]等方面,有關云制造環(huán)境下資源發(fā)現的研究并不多,但是已有文獻中關于網格資源和服務發(fā)現的研究值得借鑒。王真等人[4]提出了一種基于資源本體的Web服務發(fā)現與組合方法,通過分析服務輸入輸出關系,建立了一種逐級查找的Web服務組合方法,具有較高的組合質量和效率;姚清等人[5]提出服務行為的概念,并對其進行語義標注,然后再比較服務相似度,實驗表明該算法能夠有效提高服務發(fā)現效率。另外,高翔等人[6]提出了一種基于功能匹配的服務資源選擇算法,在概念結構匹配的基礎上,考慮輸入輸出間的不同,使得機器人能夠根據任務需求,從分布式資源環(huán)境中快速查找到符合需求的服務;郭皓明等人[7]指出功能需求是應用流程所需服務功能的基本邏輯描述單元,針對SOA環(huán)境中資源聚合的特點,提出了一種以功能需求為驅動的資源聚合方法??傮w來說,現有研究一般都是直接查找制造資源及其服務,比較輸入輸出關系,而沒有對資源及其服務預處理,在數量龐大的情況下,這樣無疑會消耗大量時間。
本文將聚類技術引入到云制造環(huán)境中,并對云制造環(huán)境下資源的功能需求進行定義和語義描述。在資源功能需求的基礎上,構建一種云制造資源發(fā)現框架,對云制造環(huán)境下的資源發(fā)現進行研究。
1 云制造資源發(fā)現框架
云制造資源是指涉及制造行業(yè)相關企業(yè)的一切活動和產品全生命周期的所有資源的總稱,云制造系統(tǒng)中的成員并無太多交互,用戶提交的資源請求要通過云制造服務平臺來尋找,為了快速發(fā)現符合需求的資源,本文提出了一種基于功能需求的云制造資源發(fā)現框架,如圖1所示。在該框架中,資源提供者將自身所擁有的空閑資源(包括硬制造資源、軟制造資源等)發(fā)布注冊到云制造資源池,然后平臺根據資源功能屬性對資源池中的所有資源進行聚類。資源使用者通過云制造服務平臺發(fā)出資源請求,需求解析器則對請求進行需求分析,將功能需求與資源池中的資源進行比較,最后將所得到的結果返回給用戶。
云制造環(huán)境下,資源具有動態(tài)性、異構性、數目龐大、類型廣泛等特點,為支持資源的快速查找與精確匹配,首先對云制造資源的功能信息進行了語義描述。
定義1 功能需求是云制造中表征資源功能的基本邏輯描述單元,可以用輸入、輸出等進行定義,將資源功能需求抽象為以下三元組:
Res=(Des,In,Out)
其中,Des表示資源的基本描述信息,In表示資源的輸入集合,Out表示資源的輸出集合,Des、In、Out都用本體進行標注。為簡單起見,本文假定存在一個共享的本體庫,云制造平臺中的所有資源都基于該本體庫進行描述。
2 基于功能需求的資源聚類
云制造服務平臺中,很多資源都能完成相似的功能,雖然這些資源或許屬性會有所不同,但是具有相近的語義信息,因此,預先對這些資源進行聚類預處理,可以使資源發(fā)現效率更為高效。本節(jié)從資源的功能需求出發(fā),充分考慮其語義信息,并計算其相似度,從而對云制造資源池中的海量資源進行聚類。
假設存在兩個制造資源Resi和Resj,下面對它們的功能需求基本描述(Desi、Desj)、輸入(Ini、Inj)和輸出(Outi、Outj)進行相似度計算。
2.1 語義相似度
本體是對領域知識概念的抽象,通過定義概念以及概念與概念之間的關系來描述語義信息,本文采用下面的方式來定義語義相似度。
2.3 輸入參數的相似性
云制造環(huán)境下,資源種類繁多功能各異,資源之間因其使用方式、客戶需求等不同而存在很大差異,因此,為了準確表示某一資源的功能,通常大多數資源的輸入都是由一組參數來進行描述的。這里假定各自輸入參數為Ini={ini1,ini2,…}和Inj={inj1,inj2,…},在有多個參數的情況下,就不能直接運用上面公式來求解??紤]到每一個參數都是對應于本體庫中的一個概念,可以先對這些參數進行兩兩配對,在此基礎上再進行相似度計算。圖3是假設兩組參數之間可能存在的配對情況,可以看出,每一個參數都可能與另外一組的輸入參數進行配對,因此,需要從這些配對組合中找到配對程度最高的組合,也就是最優(yōu)配對。圖4是一種可能的配對結果。
2.5 綜合相似度計算
前面已經對資源功能屬性的3個方面進行了相似度計算,則資源之間的相似度就可以用如下公式表示:
Sim(Resi、Resj)=w1Sim(Desi、Desj)+w2Sim(Ini、Inj)+w3Sim(Outi、Outj)
其中,w1、w2、w3分別表示基本描述、輸入參數、輸出參數三者在資源功能描述中所占的權重,并且w1+w2+w13=1,0≤w1,w2,w3≤1。
至此,云制造環(huán)境下基于功能屬性的資源相似度已經計算完畢,接下來只需要對資源池中的所有資源進行兩兩相似性計算,從而實現基于功能屬性的資源聚類。聚類技術當前已經發(fā)展得比較成熟,其方法就是根據相似度將資源池中的資源不斷聚合,形成越來越多的類,直到不能聚合或者滿足一定條件為止,至于具體過程,這里就不再介紹,直接運用當前已經存在的方法[9-10]即可。
3 云制造資源發(fā)現算法
云制造環(huán)境下資源規(guī)模和數量龐大,再加上資源種類繁多,這就使得云制造環(huán)境下的資源發(fā)現存在很大困難,因此,先對資源進行聚類預處理,將與資源請求完全不匹配的資源過濾掉,這樣就可以避免和一些相似度較低的資源進行匹配計算,大幅度降低了資源匹配的時間。在聚類預處理的基礎上,本節(jié)對基于功能屬性的資源發(fā)現算法進行研究。
用戶向云制造服務平臺提交資源請求,平臺則對請求進行功能需求分析,然后將功能需求信息與已有資源的功能屬性進行語義比較。為了讓已有資源與請求資源順利匹配,本文作如下約定:
(1)已有資源的輸出能夠滿足資源請求的輸出;
(2)資源請求的輸入能夠滿足已有資源的輸入。
上面兩點概括來講就是,平臺所需要的資源輸入必須由用戶提供,而用戶所需要的返回結果則必須由平臺已有資源來進行輸出。
在資源功能聚類的基礎上,如果查找某一資源符合用戶請求的需求,那么該資源所在聚類的其他資源滿足用戶需求的可能性要高很多,如果不符合需求,那么該聚類其他資源符合的可能性就很低,就可以將這個聚類忽略掉。通過這樣的聚類預處理,資源發(fā)現的復雜度將大大降低。整個資源發(fā)現算法流程大致如下。
輸入:基于功能需求的資源聚類集合C={C1,C2,…,Cn},資源請求Req=(RIn,ROut);
輸出:功能匹配的資源集合S;
(1)令集合S元素個數為0,即S=Φ;
(2)任取一個新的Ci∈C;status=0;
(3)任取一個新的Resj=(Inj,Outj)∈Ci,將Req與Resj中的參數進行語義比較,若對Ci中的所有資源比較完畢,則轉步驟(8),否則轉步驟(4);
(4)對Req與Resj的輸出參數進行匹配,若能匹配,則轉步驟(5),否則轉步驟(7);
(5)對Req與Resj的輸入參數進行匹配,若能匹配,則轉步驟(6),否則轉步驟(7);
(6)S=S∪{Req},令status=1,轉步驟(3);
(7)若status=1,轉步驟(3),否則轉步驟(2);
(8)輸出集合S,結束。
假設云制造資源池中有N個資源,如果直接查找,需要對所有資源遍歷N次。采用聚類預處理后,復雜性將降為O(M+N/M),其中M為預處理后的聚類個數。
4 實驗驗證
鑒于目前沒有可靠的相關標準平臺和測試數據集,本文對服裝行業(yè)產品制造全生命周期中涉及的制造資源(如各種物料、不同工種的人力資源等)進行模擬實驗,生成測試用例,從測試的角度看,模擬生成的數據與真實情況并無差別,不影響實驗結論。為測試方便,實驗首先模擬構建領域本體,并分別模擬生成200、400、600、800、1 000個資源,同時資源的輸入輸出參數個數為1~10個。
在本文提出的方法和沒有進行聚類預處理直接查找這兩種情況下,對于某一特定的資源請求,分別在資源池中尋找符合需求的資源,若找到,則計算查詢時間以及查找到的資源個數,并分別在不同數目候選資源情況下進行實驗,實驗結果如圖5和圖6所示。
仿真實驗表明,采用聚類預處理查詢到符合需求資源所用時間遠遠低于直接查找的時間,平均查詢時間大大降低;同時采用聚類預處理所查找到的資源數目也更少,說明了本文所提出的方法更精確。另外也可以發(fā)現,候選資源數目越多,本文所提出方法的效果越明顯。
本文對云制造環(huán)境下的資源發(fā)現進行了研究,提出了一種基于功能需求的資源發(fā)現方法。首先利用現有聚類技術將云制造資源池中的所有資源進行功能聚類,然后在此基礎上進一步篩選出符合需求的資源,通過此方法,有效地降低了資源查找空間,提高了資源發(fā)現效率。
本文的研究只是對云制造環(huán)境下的資源發(fā)現作了一個初步的探討,在今后的工作中將對本文所提出的方法作進一步的改進。另外,云制造強調的是產品全生命周期中資源的高度整合與共享,因此,產品全流程下的資源發(fā)現也是今后研究工作的一個重點。
參考文獻
[1] 李伯虎,張霖,王時龍,等.云制造——面向服務的網絡化制造新模式[J].計算機集成制造系統(tǒng),2010,16(1):1-7.
[2] 李慧芳,董訓,宋長剛.制造云服務智能搜索與匹配方法[J].計算機集成制造系統(tǒng),2012,18(7):1485-1493.
[3] 張霖,羅永亮,陶飛,等.制造云構建關鍵技術研究[J].計算機集成制造系統(tǒng),2010,16(11):2510-2520.
[4] 王真,孫富春,劉志友.基于資源本體的Web服務發(fā)現與組合研究[J].計算機應用與軟件,2012,29(3):191-194,244.
[5] 姚清,陳性元,杜學繪,等.網格環(huán)境中基于語義注釋的服務發(fā)現算法[J].計算機科學,2012,39(6):54-57,76.
[6] 高翔,梁志偉,徐國政.基于功能匹配的服務資源選擇機制[J].儀器儀表學報,2012,33(12):2647-2654.
[7] 郭皓明,馬世龍.以功能需求為驅的資源聚合方法與實現[J].北京航空航天大學學報,2008,34(5):576-579.
[8] 鄧水光,尹建偉,李瑩,等.基于二分圖匹配的語義Web服務發(fā)現算法[J].計算機學報,2008,31(8):1364-1375.
[9] 武彩紅,李蜀瑜.基于聚類的QoS語義Web服務發(fā)現研究[J].計算機技術與發(fā)展,2011,21(3):132-136.
[10] RAJAGOPAL S,THAMARAI S S.Semantic grid service discovery approach using clustering of service ontologies[C]. Proceedings of IEEE TENCON 2006,Hong Kong,China,2006:1-4.