專利名稱:一種網絡服務環境下求解線性服務組合前k優解的方法
技術領域:
本發明涉及計算機軟件技術領域,一種網絡服務環境下求解線性服務組合前K優解的方法,用于處理服務組合的動態重規劃等需求。
背景技術:
在Web應用過去的幾年發展中,面向服務的計算獲得了ー個又ー個的成功。面向服務的計算是涵蓋計算機與信息技術、商業管理、商業質詢服務等領域的一個新的學科,是應用面向服務架構(SOA)技術消除商業服務與信息支撐技術之間鴻溝的直接產物。在軟件工程和商業應用領域里,人們很快便知道了面向服務計算技術的無處不在和顯著的優勢。Web服務技術已經在很多新產品和新應用軟件中得到了廣泛和深入的應用,服務計算提供的服務協同和管理將會使目前不堪重負的業務系統得以改善,從而提高生產效率,重新建立起新的價值鏈增值體系。同時,從關注數據管理到流程管理的轉變必然會帶來大量基于 面向服務架構(SOA)的新應用。越來越多的Web服務將使得Web從ー個面向數據的倉庫變成一個面向服務的倉庫。從技術上講,服務是因特網上通過URI標識的軟件構件中的自制的軟件系統,它們封裝了應用程序的功能和信息資源,并使得可以通過編程接ロ實現對這些功能和資源的利用。根據ー些標準(例如SOAP,WSDL和UDDI),通過基于XML的消息的封裝,Web服務可以被發布,定位,訪問或者在網絡傳輸。為了能夠方便的被其他Web上的應用程序發現和利用,應該給予Web服務明確的描述,使得它們的功能和服務質量便于理解。一般來講,QoS在區分服務的非功能屬性的時候,扮演了重要的角色。對于ー個擁有相同功能的服務集合而言,QoS在服務選擇和服務組合中起著重要的作用。在實際應用中,QoS的屬性包括價格、執行時間、可用性、可信性和信譽度等等。為了獲得ー個符合要求的服務解決方案,大量的精力投入在服務選擇和服務組合的研究中。例如,Dimitrios Skoutas等人研究了如何使用多屬性的支配關系來對Web服務進行排序和聚類。他們的方法通過提高Web搜索引擎的能力來幫助基于QoS感知的服務檢索和選擇。Moha_ad Alrifai等人提出了一個啟發式的服務組合方法,通過結合全局優化和局部選擇,來實現基于QoS感知的服務組合。Qi Yu等人研究了基于不確定的QoS屬性值進行服務選擇的Skyline方法。由于Web服務環境的動態性,采用預先綁定的策略可能會導致事先確定好的服務組合執行方案在運行時不可行,如Web服務的QoS屬性值已經發生改變或在運行吋,該Web服務已經不可得。這將導致整個服務流程的終止。隨著互聯網以及服務計算技術的飛速發展,個人或企業都希望能夠對已有資源進行動態組合以實現增值服務。
發明內容
發明目的本發明所要解決的技術問題是針對現有技術的不足,提供一種網絡服務環境下求解線性服務組合前K優解的方法,以便支持動態服務組合的重規劃等后續需求的處理。為了解決上述技術問題,本發明公開了ー種網絡服務環境下求解線性服務組合前K優解的方法,包括以下步驟
輸入處理步驟,對用戶輸入的數據進行有效性驗證,并從網絡服務器中取出候選服務的Q0S數據,所述用戶輸入的數據包括不同屬性維度上的權重和約束;創建約束模型步驟,依據用戶輸入的數據以及候選服務的QoS數據,創建約束模型以及目標函數;最優解計算步驟,依據所述約束模型和目標函數進行最優解計算;中間數據處理步驟,對上步得到的最優解進行處理,依據已經迭代的次數和數據處理的結果,確定是否需要増加新的約束規則和轉向最優解計算步驟繼續進行迭代計算;約束模型修改步驟,依據上步驟中中間數據處理的結果,通過增加約束用于從當前解空間中去除最優解計算步驟中獲得的最優服務組合方案;輸出處理步驟,向用戶輸出結果;所述結果包括前K優服務組合方案或無組合方案。本發明中,所述對用戶輸入的數據進行有效性驗證包括K是否為大于零的自然數、用戶在服務的各指標上的權重是否為非負實數以及總和是否為I。本發明中,在線性服務組合的情況下,假設當前服務組合中有N個任務,每個任務有M個候選服務,用約束變量Xi, j表示第i個任務的第j個候選服務是否出現在當前最優服務組合方案中,規定Xu = I表示該候選服務出現在當前最優服務組合方案中,Xi, j = 0表示該候選服務沒有出現在當前最優服務組合方案中。本發明中,所述最優解計算方法包括窮舉法或者分支限界法,最優服務組合方案的計算工具包括Matlab或者LPSlove ;所述最優解計算結果中包括當前各約束變量的取值,用于確定約束規則和最優服務組合方案。本發明中,當最優解的計算過程確定目標函數存在最優解時,通過確定各約束變量的取值,從而確定當前最優服務組合方案。本發明中,如果當前最優服務組合方案中,'k=l即第i個任務的第ik個候選服務出現在當前的最優服務組合方案中,ik的值可通過對最優解的計算結果進行處理獲得。本發明中,通過對約束模型増加新的約束從解空間中去除當前最優服務組合方
i=N
案,在線性服務組合場景下,增加約束W去除當前最優服務組合方案。
/=1有益效果本發明不僅可用于支持傳統服務組合的求解,還可支持服務組合的動態重規劃以及基于歷史記錄的服務組合等需求的處理。具體包括以下優點(I)靈活性,用戶僅需指定K的值即可獲得前K優服務組合方案,當K = I時即退化為傳統的服務組合求解過程。(2)透明性,用戶無需了解系統的底層實現,可大大節省用戶的學習成本。(3)實時性,求解速度快,耗時少,可滿足實時需求。
下面結合附圖和具體實施方式
對本發明做更進一歩的具體說明,本發明的上述和/或其他方面的優點將會變得更加清楚。圖I為本發明線性服務組合場景簡述圖。圖2為本發明的方法流程圖。圖3為本發明以手機上的多媒體傳輸為例說明線性服務組合場景的示意圖。
具體實施例方式本發明公開了ー種網絡服務環境下求解線性服務組合前K優解的方法,包括以下步驟輸入處理步驟,對用戶輸入的數據進行有效性驗證,并從網絡服務器中取出候選服務的QoS數據,所述用戶輸入的數據包括不同屬性維度上的權重和約束;創建約束模型步驟,依據用戶輸入的數據以及候選服務的QoS數據,創建約束模 型以及目標函數;最優解計算步驟,依據所述約束模型和目標函數進行最優解計算;中間數據處理步驟,對上步得到的最優解進行處理,依據已經迭代的次數和數據處理結果,確定是否需要増加新的約束規則和轉向最優解計算步驟繼續進行迭代計算;約束模型修改步驟,依據上步驟中中間數據處理的結果,通過增加約束用于從當前解空間中去除最優解計算步驟中獲得的最優服務組合方案;輸出處理步驟,向用戶輸出結果;所述結果要么是前K優服務組合方案,要么是提示無組合方案的消息。所述對用戶輸入的數據進行有效性驗證包括K是否為大于零的自然數、用戶在服務的各指標上的權重是否為非負實數以及總和是否為I。在線性服務組合的情況下,假設當前服務組合中有N個任務,每個任務有M個候選服務,用約束變量Xi, j表示第i個任務的第j個候選服務是否出現在當前最優服務組合方案中,規定Xi, j = I表示該候選服務出現在當前最優服務組合方案中,Xi, j = 0表示該候選服務沒有出現在當前最優服務組合方案中。所述最優解計算方法包括窮舉法或者分支限界法,最優服務組合方案的計算工具包括 Matlab 或者 LPSlove ;所述最優解計算結果中包括當前各約束變量的取值,用于確定約束規則和最優服務組合方案。當最優解的計算過程確定目標函數存在最優解時,通過確定各約束變量的取值,從而確定當前最優服務組合方案。如果當前最優服務組合方案中,、=1,即第i個任務的第ik個候選服務出現在當前的最優服務組合方案中,ik的值可以通過對最優解的計算結果進行處理獲得。通過對約束模型増加新的約束從解空間中去除當前最優服務組合方案,在線性服
i=N
務組合場景下,增加約束W去除當前最優服務組合方案。附圖I是線性服務組合
/=1
場景的ー個抽象,表明該場景中共有N個任務,且第i個任務有Mi個候選服務。假設候選服務的QoS屬性共有I維,當前用戶在第i維上的權重為Wi,在第i維上的約束為Q。用戶需要獲得前K優服務組合方案。
輸入處理步驟,該步驟處理的數據分為兩部分,一部分來自于用戶輸入,如
權利要求
1.一種網絡服務環境下求解線性服務組合前K優解的方法,其特征在于,包括以下步驟 輸入處理步驟,對用戶輸入的數據進行有效性驗證,并從網絡服務器中取出候選服務的QoS數據,所述用戶輸入的數據包括不同屬性維度上的權重和約束; 創建約束模型步驟,依據用戶輸入的數據以及候選服務的QoS數據,創建約束模型以及目標函數; 最優解計算步驟,依據所述約束模型和目標函數進行最優解計算; 中間數據處理步驟,對上步得到的最優解進行處理,依據已經迭代的次數和數據處理的結果,確定是否需要増加新的約束規則和轉向最優解計算步驟繼續進行迭代計算; 約束模型修改步驟,依據上步驟中中間數據處理的結果,通過增加約束用于從當前解空間中去除最優解計算步驟中獲得的最優服務組合方案; 輸出處理步驟,向用戶輸出結果;所述結果包括前K優服務組合方案或無組合方案。
2.根據權利要求I所述的ー種網絡服務環境下求解線性服務組合前K優解的方法,其特征在于,所述對用戶輸入的數據進行有效性驗證包括K是否為大于零的自然數、用戶在服務的各指標上的權重是否為非負實數以及總和是否為I。
3.根據權利要求I所述的ー種網絡服務環境下求解線性服務組合前K優解的方法,其特征在于,在線性服務組合的情況下,假設當前服務組合中有N個任務,每個任務有M個候選服務,用約束變量Xi, j表示第i個任務的第j個候選服務是否出現在當前最優服務組合方案中,規定Xi, j = I表示該候選服務出現在當前最優服務組合方案中,Xi, j = 0表示該候選服務沒有出現在當前最優服務組合方案中。
4.根據權利要求I所述的ー種網絡服務環境下求解線性服務組合前K優解的方法,其特征在于,所述最優解計算方法包括窮舉法或者分支限界法,最優服務組合方案的計算エ具包括Matlab或者LPSlove ; 所述最優解計算結果中包括當前各約束變量的取值,用于確定約束規則和最優服務組合方案。
5.根據權利要求I所述的ー種網絡服務環境下求解線性服務組合前K優解的方法,其特征在于,當最優解的計算過程確定目標函數存在最優解時,通過確定各約束變量的取值,從而確定當前最優服務組合方案。
6.根據權利要求I所述的ー種網絡服務環境下求解線性服務組合前K優解的方法,其特征在于,如果當前最優服務組合方案中,'4 =1即第i個任務的第ik個候選服務出現在當前的最優服務組合方案中,ik的值可以通過對最優解的計算結果進行處理獲得。
7.根據權利要求I或6所述的ー種網絡服務環境下求解線性服務組合前K優解的方法,其特征在于,通過對約束模型増加新的約束從解空間中去除當前最優服務組合方案,在 i=N線性服務組合場景下,增加約束[ろ.4 < W去除當前最優服務組合方案。/=全文摘要
本發明公開了網絡服務環境下求解線性服務組合前K優解的方法,包括以下步驟輸入處理步驟,從網絡服務器中取出候選服務的QoS(Quality of Service,QoS)數據;創建約束模型步驟,依據用戶輸入的數據以及候選服務的QoS數據,創建約束模型以及目標函數;最優解計算步驟,依據所述約束模型和目標函數進行最優解計算;中間數據處理步驟,對上步得到的最優解進行處理,依據已經迭代的次數和數據處理的結果,確定是否需要增加新的約束規則和轉向最優解計算步驟繼續進行迭代計算;約束模型修改步驟,依據上步驟中中間數據處理的結果,通過增加約束用于從當前解空間中去除最優解計算步驟中獲得的最優服務組合方案;輸出處理步驟,向用戶輸出結果。
文檔編號H04L29/08GK102655514SQ20111005119
公開日2012年9月5日 申請日期2011年3月3日 優先權日2011年3月3日
發明者岳建明, 王聯民, 竇萬春, 董維, 謝海軍 申請人:南京大學, 江蘇三棱科技發展有限公司