一種規范化用戶需求的組合服務選擇方法
【專利摘要】本發明是一種規范化用戶需求的組合服務選擇方法,包括組合服務選擇中的用戶需求描述語言URDL-CSS和基于URDL-CSS語言的組合服務選擇方法兩部分。URDL-CSS語言有固定的組成元素及語法結構,是一種在組合服務選擇過程中解決如何規范化用戶復雜需求的工具,并可利用它更方便的保存、讀取、分析、計算出用戶的實際需求,再通過組合服務選擇部分計算出更有價值的符合用戶需求的組合服務QoS值,用于組合服務選擇。該組合服務選擇方法解決了組合服務選擇中用戶需求的復雜性問題,使用戶需求的表示更加規范化、文檔化,同時使用戶需求的獲取、計算和管理更為方便,為組合服務選擇提供了一種有力的方法和工具。
【專利說明】一種規范化用戶需求的組合服務選擇方法
【技術領域】
[0001]本發明是一個在開放異構的復雜網絡環境下,實現用戶對組合服務選擇的方法。主要針對組合服務選擇中用戶需求具有復雜性的特點,提出了一種適用于組合服務選擇的用戶需求描述語言URDL-CSS,該語言可以描述用戶的復雜需求,使用戶需求清晰化、規范化、文檔化,解決組合服務選擇過程中用戶需求越來越復雜的問題,并給出基于該語言的組合服務選擇方法。屬于信息服務、服務計算領域。
【背景技術】
[0002]信息服務是以開發利用信息資源為基礎,根據用戶需求,運用電子信息技術對相關知識內容進行采集、加工、存儲、傳輸、檢索和利用,以新的序列化的知識單元提供給用戶的服務工作。在信息服務的演變過程中,P2P服務、網格服務、Web服務、SOA和云服務扮演著重要的角色,可以說,信息服務是諸多具體服務形式高層次的抽象與凝練。信息服務具有與平臺無關、松耦合、可表達、可發現、可組合和可度量等服務特性。
[0003]面對網絡中日益增多的不同服務,以及不同服務商提供的相同服務,作為服務的請求者,做出服務選擇的過程變得越來越復雜。同時,由于單個服務往往不能滿足用戶的需求,這時就需將已有的多個原子服務進行組合,以便產生滿足用戶特定的復雜功能需求的、增值的組合服務。
[0004]結合用戶需求的組合服務選擇是解決以上問題的一種主要方法,由于用戶需求具有復雜性的特點,提出組合服務選擇中的用戶需求描述語言URDL-CSS,考慮了用戶需求在組合服務選擇中的特點,并給出基于該語言的組合服務選擇方法,具有重要意義。
【發明內容】
[0005]技術問題:本發明的目的是給出一種描述組合服務選擇中用戶復雜需求的工具,即組合服務選擇中的用戶需求描述語言URDL-CSS,并實現基于該語言的組合服務選擇方法。
[0006]技術方案:本發明將借鑒最新的組合服務選擇方法,考慮用戶需求具有復雜性的的特點,提出一種有效描述組合服務選擇中用戶需求的規范方法,給出組合服務選擇中的用戶需求描述語言URDL-CSS,并實現組合服務選擇。
[0007]本發明是一種策略性的方案,參考組合服務選擇已有的研究成果、結合成熟的基于服務質量的組合服務選擇模型,提出一種適用于組合服務選擇的用戶需求描述語言URDL-CSS,實現一種用戶需求清晰化、規范化、文檔化的組合服務選擇方法,主要有組合服務選擇中的用戶需求描述語言URDL-CSS和基于URDL-CSS語言的組合服務選擇方法兩部分。
[0008]組合服務選擇中的用戶需求描述語言URDL-CSS有固定的組成元素,主要的組成結構包括需求基本信息、需求詳細信息、服務屬性信息和服務結構信息四大部分,其中需求基本信息主要有用戶ID、需求ID、需求生存期,需求詳細信息主要有功能屬性需求、非功能屬性需求、服務權重分值,服務屬性信息主要是服務質量屬性,服務結構信息主要有前驅服務名、有無執行概率、后繼服務名;
[0009]基于URDL-CSS語言的組合服務選擇方法關鍵在于數據處理過程,主要包括的數據有用戶需求庫、個人需求庫、原子服務QoS需求、組合服務結構模型、組合服務QoS需求、處理后的QoS參數、最佳組合服務等,主要包括的處理過程有用戶需求庫查詢讀取分析過程、原子服務用戶需求計算過程、組合服務結構模型構建過程、組合服務用戶需求計算過程、組合服務QoS參數計算處理過程、用戶選擇最佳服務過程等處理子過程。
[0010]該規范化用戶需求的組合服務選擇方法的步驟在于先讀取分析用戶需求XML文檔后形成用戶需求庫,用戶需求庫經過查詢讀取分析過程可以得到個人需求庫,個人需求庫通過進一步的分析,經過原子服務用戶需求計算過程可以得到原子服務QoS需求,經過組合服務結構模型構建過程可以得到組合服務結構模型,再經過組合服務用戶需求計算過程可以得到組合服務QoS需求,而組合服務QoS參數計算處理過程可以得到處理后的QoS參數,最后,用戶選擇最佳服務過程可以得到最佳組合服務,將最佳組合服務提供給上層用戶,完成組合服務選擇。
[0011]下面給出組合服務選擇中的用戶需求描述語言URDL-CSS中所有組成元素的定乂:
[0012]I)用戶ID:需求基本信息之一。用于標識提供某用戶需求XML文檔的用戶的ID號,該用戶ID必須是唯一的;
[0013]2)需求ID:需求基本信息之一。用于唯一標識某用戶需求XML文檔;
[0014]3)需求生存期:需求基本彳目息之一。表不該需求存在的時間起止,只有在生存期內的需求才可用,不在生存期內的需求不可用;
[0015]4)功能屬性需求:需求詳細信息之一。表示用戶所需要的服務的功能;
[0016]5)非功能屬性需求:需求詳細信息之一。表示用戶對所需要的服務的服務質量方面的需求,如對服務的價格、性能、可靠性等方面的需求;
[0017]6)服務權重分值:需求詳細信息之一。表示用戶對該服務的重視程度,并給出一個分值表示其重視大小;
[0018]7)服務質量屬性:服務屬性信息。列出服務具有的非功能屬性,如價格、性能、可靠性、可用性、安全性、聲譽度等;
[0019]8)前驅服務名:服務結構信息之一。前驅服務表示執行當前服務之前,所必須要先執行的服務,沒有執行過前驅服務,也就不能執行當前服務,沒有前驅服務的服務為組合服務中第一個服務;
[0020]9)有無執行概率:服務結構信息之一。特別針對組合服務中的分支結構模型,在執行前驅服務后,有一定概率會執行到當前服務,有執行概率的服務即表示它當前所在的組合服務結構模型為分支結構模型;
[0021]10)后繼服務名:服務結構信息之一。后繼服務表示執行當前服務之后,所必須或可能要執行的服務,當后續服務為多個時,可能是組合服務結構模型中的分支結構,也可能是并行結構,當無后繼服務時,表示其為組合服務中的最后一個服務。
[0022]下面針對基于URDL-CSS語言的組合服務選擇方法中數據處理過程中包含的數據和處理的過程,定義如下:[0023]I) XML文檔:使用URDL-CSS語言描述的所有用戶需求描述XML文檔;
[0024]2)用戶需求庫:用戶需求庫是通過能夠識別URDL-CSS語言的定制軟件讀取所有用戶提供的用戶需求XML文檔,再將數據存入數據庫形成,用于查詢、讀取、分析及上層的處理;
[0025]3)個人需求庫:用戶需求庫經過查詢讀取分析過程可以得到個人需求庫,個人需求庫中只保存與指定用戶有關的有效信息,不在生存期內的需求不保存在該數據庫中,該數據庫隨著用戶需求的各種變化及用戶需求生存期的限制而改變,具有實時更新的功能;
[0026]4)原子服務QoS需求:用戶對組合服務中的每一個可能用到的原子服務的QoS需求,通過讀取個人需求庫信息,利用原子服務用戶需求計算過程可以得到用戶對每個原子服務的QoS需求;
[0027]5)組合服務結構模型:組合服務結構模型,主要有串行模型、并行模型、分支模型和循環模型,在較復雜的組合服務中,可能會同時存在這四種模型。通過讀取個人需求庫信息,利用組合服務結構模型構建過程可以得到組合服務結構模型;
[0028]6)組合服務QoS需求:用戶對該組合服務的一個整體的QoS需求,通過讀取各個原子服務QoS需求和組合服務結構模型,利用組合服務用戶需求計算過程可以得到用戶的組合服務QoS需求;
[0029]7)處理后的QoS參數:通過讀取組合服務原始的QoS參數,再利用組合服務QoS參數計算處理過程,即得到處理后的組合服務QoS參數;
[0030]8)最佳組合服務:符合用戶需求的QoS值最高的組合服務,通過讀取組合服務QoS需求和處理后的QoS參數,利用用戶選擇最佳服務過程可以得到最佳組合服務;
[0031]9)用戶需求庫查詢讀取分析過程:在用戶需求庫中讀取出同時滿足“用戶名”和“需求存在時間”的用戶需求信息,形成個人需求庫;
[0032]10)原子服務用戶需求計算過程:讀取個人需求庫中每個原子服務的需求詳細信息及服務屬性信息,利用直覺模糊集理論計算出用戶的原子服務QoS需求;
[0033]11)組合服務結構模型構建過程:讀取個人需求庫中每個原子服務的“前驅服務名”、“有無執行概率”和“后繼服務名”,結合當前服務的功能屬性需求,利用圖論知識構建組合服務的鄰接矩陣,通過鄰接矩陣可以得到組合服務的結構模型;
[0034]12)組合服務用戶需求計算過程:利用得到的原子服務QoS需求和組合服務結構模型,再讀取原子服務權重分值,根據給出的結合了服務權重分值的組合服務中每個結構模型所對應的用戶需求計算方法(公式詳見圖4),計算出用戶的組合服務QoS需求;
[0035]13)組合服務QoS參數計算處理過程:通過常用的各個組合服務結構模型對應的QoS參數計算方法,先計算出組合服務的QoS參數,再將QoS參數進行歸一化處理;
[0036]14)用戶選擇最佳服務過程:將組合服務用戶需求與處理后的QoS參數加權計算,通過Top-K算法選擇出QoS值最大的組合服務,供上層用戶選擇使用。
[0037]基于URDL-CSS語言的組合服務選擇方法不同于傳統的組合服務選擇方法,它將原本用戶隨意表達的復雜需求轉變成清晰的、規范的用戶需求XML文檔,完成了用戶需求文檔化的建立。在考慮用戶需求時,增加了需求生存期、前驅服務名、有無執行概率、后繼服務名等新元素。通過需求生存期,可以有效剔除過期的用戶需求,適應了用戶需求存在動態性的特點,通過用戶需求中的服務結構信息,表達出用戶所需組合服務的結構模型,達到更好的描述用戶需求的目的。
[0038]一、URDL-CSS語言中元素的語法結構及功能
[0039]URDL-CSS語言描述的用戶需求XML文檔以〈URDL-CSS〉開始,以〈/URDL-CSS〉結尾,主要包括以下四個組成部分:
[0040]1)需求基本信息:主要有用戶ID、需求ID、需求生存期。包含在〈Requirement ofBasic Information〉......〈/Requirement of Basic Information〉節點內。
[0041]2)需求詳細信息:主要有功能屬性需求、非功能屬性需求、服務權重分值。包
含在〈Requirement of Detailed Information)......〈/Requirement of Detailed
Information)節點內。
[0042]3)服務屬性信息:主要是服務質量屬性。包含在〈Service PropertiesInformation〉......〈/Service Properties Information〉節點內。
[0043]4)服務結構信息:主要有前驅服務名、有無執行概率、后繼服務名。包含在〈Service Structure Information)......〈/Service Structure Information〉節點內。
[0044]每一部分中元素的語法結構及功能如下:
[0045]1)用戶ID:包含在〈User ID>……〈/User ID>節點內,用于唯一標識用戶,以正整數表示。
[0046]2)需求 ID:包含在〈Requirement ID>......〈/Requirement ID> 節點內,用于唯一
標識用戶需求,以正整數表示。
[0047]3)需求生存期:包含在〈Requirement Lifetime〉......〈/Requirement Lifetime〉
節點內,由一對日期與時間組成,中間用空格隔開,表示該用戶需求生存時間的起止,過期的用戶需求將不再用到,例如“2014-01-01-00-002014-01-05-00-00”。
[0048]4)功能屬性需求:包含在〈Functional Properties Requirement〉......〈/
Functional Properties Requirement)節點內,用字符串表示用戶需求的服務功能,例如“hotel”。
[0049]5)非功能屬性需求:包含在〈Non-Functional Properties Requirement〉......〈/
Non-Functional Properties Requirement〉節點內,根據直覺模糊集理論,由用戶提供直覺判斷矩陣表示用戶對服務各非功能屬性的需求,逐行書寫,每個直覺模糊數用空格隔開,例如 “ (0.5,0.5) (0.2,0.7) (0.4,0.6) (0.7,0.2) (0.5,0.5) (0.6,0.2) (0.6,0.4) (0.2,0.6)(0.5,0.5) ”。
[0050]6)服務權重分值:包含在〈Weight Score〉......〈/Weight Score〉節點內,表示用
戶對該服務的重視程度,用I到100的整數表示。
[0051]7)服務質量屬性:包含在<QoS>……〈/Qos>節點內,表示所關注的服務非功能屬性,用若干字符串表示,以空格隔開,數量與非功能屬性需求中直覺判斷矩陣的行列數相一致,例如 “Price Performance Reliability Availability Security Reputation,,。
[0052]8)前驅服務名:包含在〈Precursor Service Name〉......〈/Precursor Service
Name)節點內,用字符串表示該服務的前驅服務名,例如“airplane”。
[0053]9)有無執行概率:包含在〈Execution Probability〉......〈/Execution
Probability)節點內,I表示有執行概率,即該服務處于分支結構中,O表示必然發生,即該服務不處于分支結構中。[0054]10)后繼服務名:包含在〈Successor Service Name〉......〈/Successor Service
Name)節點內,用字符串表示該服務的后繼服務名,例如“restaurant”。
[0055]二、基于URDL-CSS語言的組合服務選擇方法工作流程
[0056]第一步:所有用戶給出使用URDL-CSS語言描述的用戶需求XML文檔;
[0057]第二步:通過能夠識別URDL-CSS語言的軟件讀取所有用戶提供的用戶需求XML文檔,再將數據存入數據庫形成用戶需求庫;
[0058]第三步:從用戶需求庫中讀取出同時滿足需要服務的用戶的“用戶名”和“需求存在時間”沒有過期的用戶需求信息,形成個人需求庫;
[0059]第四步:從個人需求庫中讀取每條需求的需求詳細信息及服務屬性信息,利用直覺模糊集理論計算出用戶的原子服務QoS需求;
[0060]第五步:從個人需求庫中讀取每條需求的“前驅服務名”、“有無執行概率”和“后繼服務名”,結合本條需求的功能屬性需求,利用圖論知識構建鄰接矩陣,再根據鄰接矩陣得到組合服務結構模型;
[0061]第六步:給出結合了服務權重分值的組合服務中每個結構模型所對應的用戶需求計算方法(公式詳見圖4),利用得到的原子服務QoS需求和組合服務結構模型,結合服務權重分值,計算出用戶的組合服務QoS需求;
[0062]第七步:通過常用的組合服務結構模型對應的QoS參數計算方法,計算出組合服務的QoS參數,并將QoS參數歸一化;
[0063]第八步:將組合服務用戶需求與處理后的QoS參數加權計算,通過Top-K算法選擇出QoS值最大的組合服務,即最佳組合服務;
[0064]第九步:將最佳組合服務提供給上層用戶選擇使用。
[0065]三、基于URDL-CSS語言的組合服務選擇方法性能分析
[0066]本方案主要針對在開放異構的復雜網絡環境下,用戶選擇組合服務時,用戶需求具有復雜性的特點,提出了一種組合服務選擇中用戶需求描述語言URDL-CSS,利用該語言描述用戶的復雜需求,并給出基于該語言的組合服務選擇方法。該語言將用戶需求分為四大部分,涵蓋了用戶所有可能的需求,包括所需服務的功能屬性需求、非功能屬性需求、月艮務質量屬性、用戶對服務的偏好權重分值、所需服務的前后結構等。該方案使用戶需求清晰化、規范化、文檔化,解決了服務選擇過程中用戶需求越來越復雜的問題,使用戶需求的獲取、計算和管理更為方便,為組合服務選擇提供了一種有力的方法與工具。具體分析如下:
[0067]I)該用戶需求描述語言考慮了用戶需求可能涉及到的所有方面,并將描述用戶需求的過程規范化,將用戶對組合服務的復雜需求抽離出為若干個清晰可見的XML文檔,更方便快速地保存與讀取用戶需求。
[0068]2)每個用戶需求XML文檔都具有用戶ID、需求ID,用戶可以方便地管理自己已有的需求文檔,當對某一服務的需求有所變動時,只需要對相應的XML文檔作少量的更改,而且可以通過更改需求生存期達到延期需求生存時間、重復使用該XML文檔的目的,大大減少了使用的空間資源,避免了重新填寫需求帶來的重復操作。
[0069]3)每一個XML文檔中都有服務結構信息的相關內容,通過“功能屬性需求”、“前驅服務名”、“有無執行概率”和“后繼服務名”,進行快速匹配操作,利用圖論知識構建鄰接矩陣,可以方便、自動、快速地構建出用戶所需要的組合服務結構。[0070]有益效果:使用該組合服務選擇中的用戶需求描述語言URDL-CSS實現開放異構的復雜網絡環境下的組合服務選擇有如下優點:
[0071]I)用戶需求的清晰化、文檔化、規范化。本方案規范化了用戶提供的復雜需求,并使之文檔化,在使用戶需求更加清晰的同時,其需求文檔也更加便于保存和管理。
[0072]2)便于用戶對已有需求的管理與使用。由于每個需求文檔都有唯一的需求ID標識,用戶可以方便的管理自己已有的需求文檔,并可以將過期的需求文檔刪除或者修改需求生存期以進行延期、重復使用等操作。
[0073]3)服務提供商可以利用用戶需求文檔以完善、改進自己的服務。用戶請求過的服務,在服務提供商那里會有相應的信息記錄,服務提供商可以根據請求過的所有用戶需求文檔,綜合分析出用戶需求的偏好以改進服務,使更多的用戶使用該服務,獲得更多的收益,同時也使用戶可以獲得更加優質的服務。
[0074]4)服務結構信息有助于更方便快速地構建組合服務的結構。與傳統的用戶需求信息所不同,URDL-CSS語言包含了用戶需求的服務結構信息,它有助于自動地、快速地構建出用戶所需要的組合服務結構,更加便捷智能。
[0075]5)另外該方案還具有其它優點。如:服務權重分值,體現了用戶對組合服務中個別原子服務的偏好程度,使最終得到的最佳組合服務在全局和局部上同時滿足用戶偏好需求;又如:非功能屬性需求,使用直覺模糊集理論,可以處理用戶直覺模糊信息,比傳統模糊數學更勝一籌。
[0076]該方案的提出將對開放異構的復雜網絡中組合服務選擇理論研究及其未來網絡平臺軟件的發展產生一定的推動作用,對未來網絡中組合服務選擇策略是一種新的嘗試,提供了一種新的思路。
【專利附圖】
【附圖說明】
[0077]圖1是組合服務選擇中的用戶需求描述語言URDL-CSS的組成結構。
[0078]圖2是基于URDL-CSS語言的組合服務選擇方法框架。
[0079]圖3是查詢讀取分析用戶需求庫過程。
[0080]圖4是組合服務用戶需求計算過程。
【具體實施方式】
[0081]為了說明本發明所述的組合服務選擇中的用戶需求描述語言URDL-CSS及基于URDL-CSS語言的組合服務選擇方法框架,我們給出如下的最佳實施例,詳細的描述了此規范化用戶需求的組合服務選擇方法的實現過程。
[0082]圖2給出了基于URDL-CSS語言的組合服務選擇方法框架及整體流程。假設用戶向網絡請求北京最佳的旅游組合服務,具體步驟表述如下:
[0083]第一步,某用戶通過北京某旅游網的網頁表單的形式填寫旅游中需求的具體內容,例如需要“住宿”功能的服務,時間在“2014年I月10日到2014年I月15日”期間,關注的服務屬性有“價格、環境、便利性、安全性、聲譽度”,并給出這五個屬性之間兩兩比較的偏好判斷矩陣,矩陣元素用直覺模糊數表示,由于該用戶對住宿服務比較看重,因此用戶為該服務權重分值打“90分”,該服務的前驅服務名為“出行”,后繼服務名為“餐飲”,是必然執行服務;表單填寫完畢后,網站后臺根據用戶填寫的內容形成使用URDL-CSS語言描述的用戶需求XML文檔,它們描述了旅游中用戶需求的基本信息和詳細信息,以及所需要的所有原子服務的屬性信息和結構信息。
[0084]第二步:網站后臺具有識別及分析URDL-CSS語言的功能,它讀取最近新填寫表單的用戶提供的用戶需求XML文檔,再分析處理后將數據存入后臺數據庫,形成用戶需求庫;
[0085]第三步:針對該用戶提交過來的需求XML文檔,經過網站后臺分析后,從用戶需求庫中讀取出“用戶ID”是該用戶的,并且用戶需求XML文檔的“需求存在時間”沒有過期的用戶需求信息,在后臺形成一個臨時的個人需求數據庫;
[0086]第四步:從該臨時的個人需求庫中讀取每條需求的需求詳細信息及服務屬性信息,從某條需求的需求詳細信息中獲取用戶的功能屬性需求即所需原子服務的功能,例如“住宿”服務;非功能屬性需求結合所需原子服務的屬性信息,由直覺模糊數組成的用戶偏好判斷矩陣表示,例如 “ (0.5,0.5) (0.2,0.7) (0.4,0.6) (0.7,0.2) (0.5,0.5) (0.6,0.2)(0.6,0.4) (0.2,0.6) (0.5,0.5) ”,利用直覺模糊集理論可以計算出用戶對該原子服務的QoS需求,由用戶偏好權重向量表示,例如“(0.1, 0.3,0.1, 0.2,0.3)τ” ;如果無法計算出用戶偏好權重向量,返回約定的失敗代碼給用戶;
[0087]第五步:從該臨時的個人需求庫中讀取每條需求的“前驅服務名”、“有無執行概率”和“后繼服務名”,其中“前驅服務名”和“后繼服務名”可能與其它某條需求中的“功能屬性需求”同名,例如“住宿”服務的“前驅服務名”為“出行”,而某條需求中的“功能屬性需求”名為“出行”,因此,通過查找其它需求的“功能屬性需求”,與本條需求的“前驅服務名”(或“后繼服務名”)進行匹配,匹配成功后,再用匹配成功的那條需求的“后繼服務名”(或“前驅服務名”)與本需求的“功能屬性需求”匹配,再次成功后,便可以結合本條需求的“有無執行概率”,利用圖論知識構建有向圖的鄰接矩陣,其中“O”表示無關聯,“ I ”表示有必然執行的前后關系,“2”表示有概率執行的前后關系,例如“住宿”服務的“前驅服務名”為“出行”,它匹配到“功能屬性需求”名為“出行”的一條需求,而該“出行”的“后繼服務名”為“住宿”,則兩次匹配成功,如果“出行”執行完后必然執行“住宿”,則這兩個需求之間的關系在鄰接矩陣中就表示為“ 1”,如果是有概率執行便為“2”,如此就可以構建一個完整的鄰接矩陣,根據鄰接矩陣便可得到組合服務結構模型;如果鄰接矩陣中的元素全為“0”,則無法構建組合服務結構模型,返回約定的失敗代碼給用戶;
[0088]第六步:根據給出的組合服務中每個結構模型所對應的用戶需求計算方法(公式詳見圖4),結合第四步得到的每個需求的原子服務的用戶偏好權重向量,第五步得到的組合服務結構模型,以及每個原子服務的權重分值,計算出用戶的組合服務QoS需求;再通過常用的組合服務結構模型對應的QoS參數計算方法,計算出組合服務的QoS參數,并將QoS參數歸一化;最后將用戶的組合服務QoS需求與處理后的QoS參數加權計算,通過Top-K算法選擇出QoS值最大的組合服務即最佳組合服務,將其所有的原子服務屬性、組合服務屬性、組合服務結構等信息在網頁上顯示出來,提供給用戶選擇使用。
【權利要求】
1.一種規范化用戶需求的組合服務選擇方法,其特征在于使用用戶需求描述語言規范化用戶需求,主要有組合服務選擇中的用戶需求描述語言URDL-CSS和基于URDL-CSS語言的組合服務選擇方法兩部分; 組合服務選擇中的用戶需求描述語言URDL-CSS有固定的組成元素,其主要的組成結構包括需求基本信息、需求詳細信息、服務屬性信息和服務結構信息四大部分,其中需求基本信息主要有用戶ID、需求ID和需求生存期,需求詳細信息主要有功能屬性需求、非功能屬性需求和服務權重分值,服務屬性信息主要是服務質量屬性,服務結構信息主要有前驅服務名、有無執行概率和后繼服務名; 基于URDL-CSS語言的組合服務選擇方法關鍵在于數據處理過程,主要包括的數據有用戶需求XML文檔、用戶需求庫、個人需求庫、原子服務QoS需求、組合服務結構模型、組合服務QoS需求、處理后的QoS參數和最佳組合服務,主要包括的處理過程有用戶需求庫查詢讀取分析過程、原子服務用戶需求計算過程、組合服務結構模型構建過程、組合服務用戶需求計算過程、組合服務QoS參數計算處理過程和用戶選擇最佳服務過程; 該規范化用戶需求的組合服務選擇方法的步驟在于先讀取分析用戶需求XML文檔后形成用戶需求庫,用戶需求庫經過查詢讀取分析過程得到個人需求庫,個人需求庫通過進一步的分析,經過原子服務用戶需求計算過程得到原子服務QoS需求,經過組合服務結構模型構建過程得到組合服務結構模型,再經過組合服務用戶需求計算過程得到組合服務QoS需求,而組合服務QoS參數計算處理過程得到處理后的QoS參數,最后,用戶選擇最佳服務過程得到最佳組合服務,將最佳組合服務提供給上層用戶,完成組合服務選擇。
2.根據權利要求1所述的一種規范化用戶需求的組合服務選擇方法,其特征在于:組合服務選擇中的用戶需求描述語言URDL-CSS固定的組成元素如下: 所述用戶ID:需求基本信息之一,用于標識提供某用戶需求XML文檔的用戶的ID號,該用戶ID必須是唯一的; 所述需求ID:需求基本信息之一,用于唯一標識某用戶需求XML文檔; 所述需求生存期:需求基本信息之一,表示該需求存在的時間起止,只有在生存期內的需求才可用,不在生存期內的需求不可用; 所述功能屬性需求:需求詳細信息之一,表示用戶所需要的服務的功能; 所述非功能屬性需求:需求詳細信息之一,表示用戶對所需要的服務的服務質量方面的需求,如對服務的價格、性能、可靠性等方面的需求; 所述服務權重分值:需求詳細信息之一,表示用戶對該服務的重視程度,并給出一個分值表示其重視大小; 所述服務質量屬性:服務屬性信息,列出服務具有的非功能屬性,如價格、性能、可靠性、可用性、安全性、聲譽度; 所述前驅服務名:服務結構信息之一,前驅服務表示執行當前服務之前,所必須要先執行的服務,沒有執行過前驅服務,也就不能執行當前服務,沒有前驅服務的服務為組合服務中第一個服務; 所述有無執行概率:服務結構信息之一,特別針對組合服務中的分支結構模型,在執行前驅服務后,有一定概率會執行到當前服務,有執行概率的服務即表示它當前所在的組合服務結構模型為分支結構模型;所述后繼服務名:服務結構信息之一,后繼服務表示執行當前服務之后,所必須或可能要執行的服務,當后續服務為多個時,可能是組合服務結構模型中的分支結構,也可能是并行結構,當無后繼服務時,表示其為組合服務中的最后一個服務。
3.根據權利要求1所述的一種規范化用戶需求的組合服務選擇方法,其特征在于:所述的數據處理過程,其包含的數據和處理的過程如下: 1)XML文檔:使用URDL-CSS語言描述的所有用戶需求描述XML文檔; 2)用戶需求庫:用戶需求庫是通過能夠識別URDL-CSS語言的定制軟件讀取所有用戶提供的用戶需求XML文檔,再將數據存入數據庫形成,用于查詢、讀取、分析及上層的處理; 3)個人需求庫:用戶需求庫經過查詢讀取分析過程得到個人需求庫,個人需求庫中只保存與指定用戶有關的有效信息,不在生存期內的需求不保存在該數據庫中,該數據庫隨著用戶需求的各 種變化及用戶需求生存期的限制而改變,具有實時更新的功能; 4)原子服務QoS需求:用戶對組合服務中的每一個可能用到的原子服務的QoS需求,通過讀取個人需求庫信息,利用原子服務用戶需求計算過程可以得到用戶對每個原子服務的QoS需求; 5)組合服務結構模型:組合服務結構模型,主要有串行模型、并行模型、分支模型和循環模型,在較復雜的組合服務中,可能會同時存在這四種模型。通過讀取個人需求庫信息,利用組合服務結構模型構建過程可以得到組合服務結構模型; 6)組合服務QoS需求:用戶對該組合服務的一個整體的QoS需求,通過讀取各個原子服務QoS需求和組合服務結構模型,利用組合服務用戶需求計算過程可以得到用戶的組合服務QoS需求; 7)處理后的QoS參數:通過讀取組合服務原始的QoS參數,再利用常用的組合服務QoS參數計算處理過程,即得到處理后的組合服務QoS參數; 8)最佳組合服務:符合用戶需求的QoS值最高的組合服務,通過讀取組合服務QoS需求和處理后的QoS參數,利用用戶選擇最佳服務過程可以得到最佳組合服務; 9)用戶需求庫查詢讀取分析過程:在用戶需求庫中讀取出同時滿足“用戶名”和“需求存在時間”的用戶需求信息,形成個人需求庫; 10)原子服務用戶需求計算過程:讀取個人需求庫中每個原子服務的需求詳細信息及服務屬性信息,利用直覺模糊集理論計算出用戶的原子服務QoS需求; 11)組合服務結構模型構建過程:讀取個人需求庫中每個原子服務的“前驅服務名”、“有無執行概率”和“后繼服務名”,結合當前服務的功能屬性需求,利用圖論知識構建組合服務的鄰接矩陣,通過鄰接矩陣可以得到組合服務的結構模型; 12)組合服務用戶需求計算過程:利用得到的原子服務QoS需求和組合服務結構模型,再讀取原子服務權重分值,根據給出的結合了服務權重分值的組合服務中每個結構模型所對應的用戶需求計算方法(公式詳見圖4),計算出用戶的組合服務QoS需求; 13)組合服務QoS參數計算處理過程:通過常用的各個組合服務結構模型所對應的QoS參數計算方法,先計算出組合服務的QoS參數,再將QoS參數進行歸一化處理; 14)用戶選擇最佳服務過程:將組合服務用戶需求與處理后的QoS參數加權計算,通過Top-K算法選擇出QoS值最大的組合服務,供上層用戶選擇使用。
4.根據權利要求1所述的一種規范化用戶需求的組合服務選擇方法,其特征在于:組合服務選擇方法的步驟如下: 第一步:所有用戶給出使用URDL-CSS語言描述的用戶需求XML文檔; 第二步:通過能夠識別URDL-CSS語言的軟件讀取所有用戶提供的用戶需求XML文檔,再將數據存入數據庫形成用戶需求庫; 第三步:從用戶需求庫中讀取出同時滿足需要服務的用戶的“用戶名”和“需求存在時間”沒有過期的用戶需求信息,形成個人需求庫; 第四步:從個人需求庫中讀取每條需求的需求詳細信息及服務屬性信息,利用直覺模糊集理論計算出用戶的原子服務QoS需求; 第五步:從個人需求庫中讀取每條需求的“前驅服務名”、“有無執行概率”和“后繼服務名”,結合本條需求的功能屬性需求,利用圖論知識構建鄰接矩陣,再根據鄰接矩陣得到組合服務結構模型; 第六步:給出結合了服務權重分值的組合服務中每個結構模型所對應的用戶需求計算方法,利用得到的原子服務QoS需求和組合服務結構模型,結合服務權重分值,計算出用戶的組合服務QoS需求; 第七步:通過常用的組合服務結構模型對應的QoS參數計算方法,計算出組合服務的QoS參數,并將QoS參數歸一化; 第八步:將組合服務用戶需求與處理后的QoS參數加權計算,通過Top-K算法選擇出QoS值最大的組合服務,即最佳組合服務; 第九步:將最佳組合服務提供給上層用戶選擇使用。
【文檔編號】G06F17/30GK103838841SQ201410073869
【公開日】2014年6月4日 申請日期:2014年2月28日 優先權日:2014年2月28日
【發明者】王海艷, 王隨昌, 嚴騏, 駱健 申請人:南京郵電大學