魯城華 魯縣華 錢升華
1(天津財經大學珠江學院數據工程學院 天津 301811) 2(中國科學院自動化研究所復雜系統管理與控制國家重點實驗室 北京 100190)
云制造是面向服務的網絡化和智能化制造新模式,它將云計算技術、互聯網技術、大數據技術等新興技術結合到一起,把云制造資源的各項制造能力通過虛擬化打包和封裝發布到云制造服務平臺上,用戶可以使用這種服務,即云制造服務(Cloud Manufacturing Services)[1-3]。這種制造模式充分體現出“分散的資源集中化使用、集中的資源分散化服務”的思想,使制造企業由生產型向服務型轉化。
制造資源是指在產品制造周期中涉及到的各種要素。目前,對云制造資源的分類并沒有統一的標準和定義[4-5]。本文根據以往專家的經驗從不同角度對云制造資源的種類進行了詳細分析和定義,為服務屬性描述和建模打好基礎。
云制造服務匹配和優選是根據需求方所提交的請求在云制造平臺中查詢與其最相關的服務,該問題吸引了大量學者的研究[5-9]。為了提高服務優選的計算效率及準確度,提出一種基于多層次屬性建模的云制造服務匹配和優選方法。首先對云制造服務屬性進行了詳細描述和劃分,構建多層次屬性描述模型。然后從基本屬性匹配、功能屬性匹配、非功能屬性匹配、綜合匹配四個層次對候選服務和請求服務進行匹配。對文本描述類型屬性之間的匹配將采用文獻[10]提出的基于語義的句子相似度計算方法,該方法已被驗證具有較好的相似度計算效果;對于服務類型和前提效果等以集合和邏輯方式描述的屬性匹配采用基于集合理論的匹配方法[11];對于數值型屬性的匹配則采用歐氏距離方法來衡量其相似度。經過綜合匹配得到一組服務集合,用戶可以根據自身需求選出最終承擔其制造任務的服務。
在制造生產過程中,涉及不同類型的資源,服務需求者通過云制造平臺對服務進行搜索和匹配從而完成調度和使用[12]。
目前,關于云制造資源的種類劃分有很多形式,例如文獻[13]根據制造任務屬性將制造資源分為產品設計類、制造加工類、檢測類、物料零件類、維修類、物流倉儲類、方案咨詢類和其他類型。文獻[14]把云制造資源劃分為設備資源、物料資源、人力資源、技術資源、計算資源、服務資源等十大類。
服務資源描述是服務選擇和匹配的基礎,但目前尚缺乏一種規范統一的描述方式。比如文獻[6]提出將云制造資源屬性描述為五個方面,分別為表征屬性、功能屬性、商務屬性、資源屬性、技術屬性。文獻[9]考慮了云模式下的機械加工服務,將其描述為五部分:服務編號、基本信息、服務加工能力、服務質量和服務狀態。文獻[15]將云制造服務定義為六元組:服務提供者、服務類別、制造能力、負荷狀態、輸入輸出、服務質量。以上研究均是從不同角度出發對云制造服務的屬性進行了劃分,本文將根據云制造服務的特征和分類,結合用戶搜索習慣,分別從靜態和動態角度對云制造服務屬性進行劃分,對其進行多層次描述,進一步提高云制造服務的匹配和優選效果。
如何將云平臺內的候選服務與用戶請求進行完備準確地匹配和優選是云制造服務平臺的關鍵技術之一。文獻[8]從運營、產品、組織多維角度對云制造服務進行評價,建立基于模糊AHP與模糊綜合評價的云制作服務優選模型,并通過實例驗證了方法的有效性。文獻[16]提出了一種基于服務屬性匹配的云制造服務查詢方法,通過構造關鍵詞算法和參數化的屬性匹配算法進行服務資源的匹配。文獻[17]針對服務優選問題,將服務質量劃分成可量化和不可量化兩種類型,對可量化類型采用綜合加權計算方法進行分析,對不可量化類型則采用直覺模糊集的計算方法進行分析。
目前,云制造服務的匹配和優選研究已經取得了一定成果,但是仍然存在各種問題需要解決。云制造資源種類非常多、分布廣泛且性能復雜,大多數只是針對單一資源的描述,缺乏對服務資源和屬性的統一描述和建模。傳統的匹配方法包括基于關鍵詞的匹配和部分基于語義的匹配方法,前者只重視服務功能的關鍵詞語法匹配,缺乏靈活性;后者對于服務屬性的語義提取不夠全面,通常只考慮了語義概念之間的簡單繼承關系,影響了服務的查準率和查全率。為了提高服務優選的效率和匹配的準確性,本文提出一種基于多層次屬性建模的云制造服務優選方法。從基本屬性匹配、功能屬性匹配、非功能屬性匹配、綜合匹配四個層次對候選服務和請求服務進行計算,對每個匹配層次設定相應的閾值進行服務過濾和篩選,從而提高匹配效率,最終得到一組服務集合以供用戶根據自身需求進行選擇。
在云制造系統中,包含三個主要的用戶角色:云制造服務平臺、服務提供方、服務需求方[18]。云制造系統中的角色類型及運行原理如圖1所示。

圖1 云制造系統架構
云制造服務平臺主要負責各類虛擬化服務資源的發布、管理和維護,實現服務的高效整合與利用。當接到服務需求方的任務請求時,可以動態靈活地為其提供合適便捷的服務資源,為云制造服務的供需雙方做好銜接和匹配;服務提供方是云制造服務的提供者,其將自身所擁有的制造資源和能力等進行虛擬化封裝成為服務發布到云制造服務平臺中;服務需求方是搜索和使用云制造服務的單位或者個人,其根據自身需求,在云制造服務平臺的支持下,按需獲取和使用各類服務資源。需要注意的是,服務的提供方和需求方角色并不唯一,可以相互轉換,可以同時由一個單位或個人扮演。也就是說,服務提供方也可以作為需求方來使用平臺中的資源,服務需求方也可以向平臺提供其擁有的服務資源供他人使用。
在云制造環境下,制造資源被規范化成為標準的制造服務模式,對外提供制造服務的屬性和功能,實現資源共享,在一定程度上隱藏了資源內部的實現細節。為了更好地幫助用戶成功匹配所需要的云制造服務和資源,需要建立云制造服務的描述模型,從而能夠將異構的云制造資源和服務進行統一的形式化描述,便于服務管理和調度。
由于云制造服務具有多樣性、廣域性和異構性的特征,資源類型多樣,一種描述模板通常無法更好地描述所有云制造服務的特征。因此,云制造服務平臺通常采取三階段描述機制[19]:模板建立、模板獲取、服務描述。首先,針對不同類型服務分別建立對應的描述模板,描述其屬性特征;然后,平臺根據提供者所提供的服務類型為其分配對應的描述模板;最后,提供者根據描述模板對其制造服務進行描述并注冊到云制造平臺中。下面將對云制造資源進行分類,然后對資源服務屬性進行描述和建模。
目前,很多研究人員對云制造資源的分類都不相同,也沒有統一的定義和標準劃分。本文根據以往專家的經驗以及在制造活動中每個階段的不同需求對云制造資源進行分類,結果如表1所示。

表1 云制造資源分類表

續表1
從以上制造資源的分類來看,不同類型的資源在某些屬性上具有共同點,但也存在不同的屬性。為了使服務供求雙方在制造資源的匹配和調度上具有較高的準確性,就需要對不同類型的資源服務進行統一的屬性描述和建模,既可以提煉出一些共同的屬性,又可以體現不同資源類型的差異性。
屬性是云制造服務的核心表現形式,針對服務屬性構建相應的描述模型,能夠更加清晰地反映云制造服務的特征,對服務的匹配和優選起著至關重要的作用。本文根據云制造服務的特征和分類,結合用戶搜索習慣,提出云制造服務多層次屬性描述模型,如圖2所示,將云制造服務形式化描述為CloudMS=

圖2 云制造服務多層次屬性描述模型
(1)SBasicAttr表示云制造服務的基本屬性,可形式化描述為SBasicAttr=
(2)SResourceAttr是服務的資源屬性,包括云制造服務的資源集合,根據表1中對云制造資源的分類,可形式化描述為SResourceAttr=
(3)SFunAttr表示云制造服務的功能屬性,是用戶最重視的部分。可形式化描述為SFunAttr=,分別代表服務的輸入、輸出、前提效果、功能描述,不同類型服務的功能描述有所不同。
(4)SAppliAttr表示云制造服務的應用屬性,包括服務提供方式(在線或者離線)、獲取方式(免費、租賃或者購買)、部署方式(在提供者本地部署或者服務平臺部署),可形式化描述為SAppliAttr=
(5)SStatusAttr表示云制造服務狀態屬性,是對服務當前狀態的描述,是服務選擇、調度和監控的重要參考因素。可形式化描述為SStatusAttr=
(6)SPerforAttr表示云制造服務性能屬性,描述服務性能所能達到的邊界條件及服務能滿足用戶所要求的精度等,可形式化描述為SPerforAttr=
(7)SQualityAttr表示云制造服務的質量屬性,可形式化描述為SQualityAttr=
(8)SAssessAttr表示云制造服務的評價屬性,主要是對服務提供者、服務需求者、云制造服務的相關評價信息,可形式化描述為SAssessAttr=
從以上屬性描述模型來看,云制造服務的基本屬性、資源屬性、功能屬性、應用屬性和性能屬性是相對比較穩定的信息,屬于靜態屬性;狀態屬性、質量屬性和評價屬性在服務運行過程中受主客觀因素影響會不斷發生變化,因此屬于動態屬性。將云制造服務按照上述描述模型進行描述和發布,便于服務的選擇和調用。
當用戶需要獲得云制造服務時,首先需要對其需求進行描述并提交,然后與云服務進行匹配和交易。本文將云制造服務的屬性描述為八類,其中:資源屬性描述了完成該服務所需要的資源和工具,可不參與匹配;應用屬性是服務提供、獲取和部署方式,也不參與匹配;狀態屬性描述了服務當前的使用狀態,受服務提供方和平臺運營方授權管理,也不參與匹配。參與服務匹配和選擇的屬性主要有基本屬性、功能屬性、性能屬性、質量屬性、評價屬性。因此,本文將云制造需求相應地描述為CloudMR=
2.3 兩組患者圍手術期并發癥發生率比較 觀察組圍手術期總并發癥發生率顯著低于對照組,差異有統計學意義(χ2=4.659,P=0.031)。觀察組隨訪2年,未見網片侵蝕、感染現象發生。見表3。
為了提高云制造服務匹配和優選的精確度,本文從四個層次進行服務的匹配和計算,分別為基本屬性的匹配、功能屬性的匹配、非功能屬性的匹配、綜合匹配。其中在非功能屬性匹配的計算中主要包括服務的性能屬性、質量屬性和評價屬性三個方面的匹配。本文所提出的云制造服務優選流程如圖3所示。

圖3 云制造服務優選流程
當云制造服務的需求方提出服務請求時,云制造平臺將服務集合中的候選服務和用戶請求服務進行匹配。為了提高計算效率,每個層次的匹配均設定一個匹配閾值,只有大于匹配閾值的服務才可以進入下一階段的匹配。最后,經過綜合匹配得到一組服務集合,用戶根據自身需求和偏好選出最終承擔其制造任務的服務。
在云制造服務的基本屬性匹配中,候選服務編號和請求服務編號是服務和需求在云平臺上的唯一標識號,生成后不再改變,不需要參加匹配。為了提高匹配效率,首先提取基本屬性中的服務類型匹配,進行服務初次篩選。
服務類型通常是代碼表示的方式,SBasicAttr.Type和RBasicAttr.Type分別代表候選服務和請求服務的類型代碼,本文將采用基于集合理論的匹配方法。當SBasicAttr.Type?RBasicAttr.Type,即候選服務類型代碼中涵蓋了請求服務類型代碼,則匹配值為1;當SBasicAttr.Type∩RBasicAttr.Type=!?,即候選服務與請求服務的類型代碼存在交集,但也存在差異,則匹配值為δT<1,δT取值與交集中代碼個數有關,交集代碼越多則δT取值越大;當SBasicAttr.Type∩RBasicAttr.Type=?時,說明候選服務與請求服務的類型代碼沒有任何交集,則匹配值為0。為了提高匹配效率,本文對服務類型匹配設定一個閾值,當類型匹配值大于閾值時,則該候選服務通過篩選,否則將該服務過濾掉。
進行服務初次篩選之后,將進行服務基本屬性中的其他屬性信息的匹配計算。由于其他屬性信息是關于服務名稱、提供者信息、服務簡介情況的介紹,均是以文本描述的形式出現。因此,對這部分信息的匹配計算將采用文獻[10]中的基于本體語義的句子相似度計算方法。為了便于描述,將候選服務和請求服務的基本屬性分別表示為SBasicAttr=
首先提取每個屬性指標文本描述中的關鍵詞集合,分別表示為SBk={SBk1,SBk2,…,SBkm},RBk={RBk1,RBk2,…,RBkn}。然后采用相似度矩陣的方法來計算每個對應屬性指標的相似度,如式(1)所示,相似度矩陣SM
(1)
根據矩陣SM
(2)

(3)
云制造服務的功能屬性主要是對服務的功能描述,包括輸入、輸出、前提效果、功能描述。前提是指執行該服務之前需要滿足哪些約束條件,效果是指執行該服務之后達到的狀態。前提效果一般是采用邏輯條件進行描述,因此,將采用與服務類型相同的匹配方法。服務的輸入和輸出描述的分別是執行該服務所需要的輸入參數和輸出結果參數,功能描述是對服務功能和執行流程的介紹,均是文本描述。因此,對服務輸入、輸出、功能描述的匹配將同樣采用上文中介紹的基于本體語義的句子相似度計算方法。

Sim(SFunAttr,RFunAttr)=
αF1·Sim(IS,IR)+αF2·Sim(OS,OR)+
αF3·Match(PES,PER)+αF4·Sim(FS,FR)
(4)
從本文關于云制造服務的屬性描述模型來看,服務的性能屬性、質量屬性和評價屬性中有的指標是數值型,比如最小批量數目、服務價格、響應時間、可靠性、可用性等,而有的指標則是定性描述形式,比如提供商評價、用戶評價、用戶滿意度等。對于數值型屬性的匹配本文將通過計算候選服務與請求服務之間的歐氏距離來衡量其相似度。對于定性描述指標,由于其難以用精確客觀的數值直接進行描述,因此,本文將采用語言評價集進行評價描述,同時根據評價等級進行量化處理,取值范圍為[0,1],如表2所示。經過量化處理之后,定性描述指標的匹配同樣可以通過計算服務之間歐氏距離的方法來衡量相似度。

表2 定性指標的語言評價集以及量化值
性能屬性、質量屬性和評價屬性均屬于服務的非功能屬性,且服務匹配的計算方法相同,在此將對其統一描述。將候選服務和請求服務的非功能屬性分別表示為SNF=
由于不同的屬性指標具有不同的數據類型,例如,可靠性、可用性、柔性等屬于比率型數據,最小批量數目、價格、響應時間等屬于數值型數據。對于比率型數據,其變化范圍是有限的,通常為[0,100%];而對于數值型數據,可能存在不同的數據范圍。比如響應時間,有的用戶響應時間范圍為[0 s,1 s],而有的用戶則是[10 s,20 s]。取值范圍不同會對整體相似度的計算產生一定影響,因此,本文將采用高斯法[20]對數值型數據進行規范化處理,將其映射到[0,1]之間,如式(5)所示。
(5)

將候選服務和請求服務的非功能屬性值經過規范化處理之后,數值的取值范圍均在[0,1]之間。然后計算兩者之間的歐氏距離來衡量其相似度,計算如式(6)所示。
(6)
歐氏距離和相似度是一對相反的度量標準,歐氏距離越大,相似度越低,反之則說明相似度越高。為了使相似度取值范圍介于0和1之間,本文采用一個負指數函數對歐氏距離進行處理,如式(7)所示。ED是根據式(6)計算的候選服務與請求服務非功能屬性之間的歐氏距離。
Sim(SNF,RNF)=e-ED
(7)
根據以上計算方法,可以分別得到候選服務與請求服務在性能屬性、質量屬性和評價屬性上的相似度結果,在本文中分別表示為Sim(SPerforAttr,RPerforAttr)、Sim(SQualityAttr,RQualityAttr)、Sim(SAssessAttr,RAssessAttr)。將三者綜合計算得到候選服務與請求服務的非功能屬性整體相似度如式(8)。
Sim(SNoFunAttr,RNoFunAttr)=
αNF1·Sim(SPerforAttr,RPerforAttr)+
αNF2·Sim(SQualityAttr,RQualityAttr)+
αNF3·Sim(SAssessAttr,RAssessAttr)
(8)

經過以上服務的基本屬性匹配、功能屬性匹配和非功能屬性匹配之后,可以篩選出一部分候選服務,然后需要計算其綜合的匹配結果進行服務的優選。綜合匹配的計算如式(9)所示。
Sim(CloudMS,CloudMR)=
δB·Sim(SBasicAttr,RBasicAttr)+
δF·Sim(SFunAttr,RFunAttr)+
δNF·Sim(SNoFunAttr,RNoFunAttr)
(9)
式中:δB、δF、δNF分別為基本屬性、功能屬性、非功能屬性在綜合匹配中的權重,δB+δF+δNF=1且δB,δF,δNF∈[0,1]。通過計算候選服務和請求服務的綜合相似度,然后根據相似度結果進行排序可以選出滿足用戶需求的最優服務。如果出現相似度值相同的情況,則對相似度相同的服務以其評價屬性相似度即Sim(SAssessAttr,RAssessAttr)的值作為排序的標準,Sim(SAssessAttr,RAssessAttr)的值越大則排序越靠前。
由于云制造服務的定義和描述具有較強的自主性和多樣性,當前缺乏一個公共的基準服務庫作為標準測試集,因此,大多數研究學者采用自動生成的測試數據進行仿真測試。本文實驗將采用一組仿真數據集來驗證本文方法的有效性。同時,將本文方法與傳統的關鍵詞匹配方法以及文獻[13]中的匹配計算方法進行對比分析。
本文以手機外殼加工服務為例,假設請求服務R的屬性要求如表3中R列所示,根據我國制造業分類及代碼要點[21],S1,S2,…,S10分別是云制造服務平臺中通過服務類型初選(即服務類型匹配值均為1)的10個候選服務,服務的其他屬性值如表3所示。其中候選服務和請求服務的評價屬性根據表2中的語言評價集及量化值對應關系分別填入了相應的取值,便于服務匹配的計算。

表3 請求服務和候選服務屬性列表

續表3
根據表3中請求服務和候選服務的描述信息,采用本文所提出的服務匹配和優選方法,分別計算基本屬性匹配、功能屬性匹配、非功能屬性匹配、綜合匹配,結果如表4所示。同時,給出了每個匹配層次中不同屬性的權值以及每個匹配層次所設定的篩選閾值。在計算綜合匹配時,根據經驗以及不同類型屬性在服務優選中的重要性,基本屬性匹配、功能屬性匹配和非功能屬性匹配分別給予了0.3、0.4、0.3的權重值。

表4 屬性權值、匹配閾值、各層次匹配結果列表
根據表4中的計算結果可以發現,候選服務S1在第二階段功能匹配時未達到閾值,停止匹配計算;服務S3和S7在第三階段非功能匹配時未達到閾值,停止匹配計算;服務S10在綜合匹配之后相似度值小于閾值0.75,因此,不提供給用戶。其他候選服務與請求服務的相似度值由大到小排序依次為S2(0.846)、S6(0.829)、S4(0.817)、S9(0.811)、S8(0.766)、S5(0.763),將這些服務提供給用戶進行選擇。以上實驗結果驗證了本文云制造服務優選方法的有效性和可行性。
傳統的關鍵詞匹配方法是提取候選服務和請求服務屬性描述中的關鍵詞進行匹配,該方法是基于語法的服務匹配,依賴于關鍵詞提取的準確性和全面性。文獻[13]對云制造服務資源從服務類型、基本信息、服務質量三個方面進行匹配。在進行類型匹配時,只設定了0和1兩個匹配值,當提供方的資源類型與需求方的資源類型相同時匹配值為1,其他情況為0?;拘畔⑵ヅ浒Q匹配和功能參數匹配,名稱匹配采用了基于概念信息量的相似度計算方法[22],功能參數匹配只考慮了數值型參數,計算了參數區間值之間的相似度。服務質量匹配同樣采用歐氏距離計算方法,相似度指標采用數值1與距離值之差來衡量。
本實驗將采用手機外殼加工服務的仿真數據集來進行驗證和分析,主要采用三個相關性評價指標來評價匹配結果,包括PCC(Pearson’s Correlation Coefficient)、SRCC(Spearman’s Rank Correlation Coefficient)、NDCG(Normalized Discounted Cumulative Gain)。三個指標均可以反映服務匹配結果與人工匹配結果之間的相關性,值越大說明相關性越高。PCC著重于數據的線性相關性,SRCC著重于數據的排序相關性,與數據是否為線性的無關,NDCG著重于數據排名的接近程度及相似性。三個指標的公式分別如下:
(10)

(11)
式中:Ri表示雙方排名的相關性等級,為[0,3]之間的整數。當第i個方案在雙方排名完全一致時,Ri取3;當雙方排名之差的絕對值在[1,3]之間時,Ri取2;當排名之差的絕對值在[4,6]之間時,Ri取1;當排名之差的絕對值大于6時,Ri取0。IDCG是在完美排序下k具有的最大DCG值,在本文中k取10。
(12)
式中:n為評價的數據個數;di為兩組數據的秩次值之差。
根據實驗數據,分別采用本文方法、傳統的關鍵詞匹配方法、文獻[13]的計算方法進行候選服務與請求服務的匹配計算,計算PCC、SRCC和NDCG三個評價指標值,結果如圖4所示。

圖4 三種方法匹配結果對比
從圖4三個指標的計算結果來看,本文方法的PCC、SRCC、NDCG三個指標值均大于0.85且優于其他兩種方法。說明本文方法與人工匹配結果在前10個服務解的排名上顯著正相關,且排名靠前的服務與需求服務相關性更大。文獻[13]的三個指標值均優于關鍵詞匹配方法,其NDCG值也高于0.80,說明該方法得到的服務解與人工匹配結果在前10個解的排名次序之間的相似性也非常大。由于關鍵詞匹配方法不能區分一詞多義的情況,存在一定缺陷,可能無法準確查詢到相關服務,查詢效果較差。文獻[13]的方法在服務基本信息匹配時采用了概念信息量的相似度計算方法,沒有充分考慮概念之間的多重語義關系,因此準確性和有效性較本文方法略低。
本文提出一種基于多層次屬性建模的云制造服務優選方法。首先,根據制造周期中不同階段的需求對云制造資源的種類進行了詳細劃分;然后構建了云制造服務多層次屬性描述模型,從基本屬性匹配、功能屬性匹配、非功能屬性匹配、綜合匹配四個層次對候選服務和請求服務進行匹配計算。對不同類型的屬性值采取了不同的計算方法,以提高服務匹配和優選的準確性。同時,每個匹配層次所設定的篩選閾值進一步提高了計算效率。實驗結果表明,本文方法具有良好的有效性和可行性,相較其他同類方法有較好的查詢效果。
本文中對于云制造服務的非功能屬性采取的是定值量化方式,比如性能屬性和質量屬性,評價屬性根據評價等級進行了離散量化處理。在實際應用中,服務的非功能屬性往往不是固定值,有的是動態變化的,比如服務的可靠性、可用性等。在今后的研究工作中,將進一步考慮服務非功能屬性值的模糊性以及對評價屬性的細粒度化劃分,提升云制造服務的優選效果。