專利名稱:一種Web服務(wù)組合方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種Web服務(wù)組合方法,特別是一種基于分層存儲(chǔ)結(jié)構(gòu)的Web服務(wù)組 合方法。
背景技術(shù):
Web服務(wù)組合技術(shù)的研究,是推動(dòng)S0A由理論向?qū)嵺`跨越的關(guān)鍵技術(shù)。文 獻(xiàn)"Effective Web Service Composition in Diverse and Large-Scale ServiceNetworks, IEEE Transactions on Services Computing,2008,Vol. 1 (1),pl5_32,, 公開了一種以前向搜索和回溯策略相結(jié)合的Web服務(wù)組合方法。該方法根據(jù)Web服務(wù)組 合請(qǐng)求內(nèi)容,對(duì)整個(gè)Web服務(wù)進(jìn)行順序掃描和分析,并根據(jù)當(dāng)前掃描狀態(tài)不斷計(jì)算能夠激 活當(dāng)前Web服務(wù)的最少組合步驟數(shù),直至掃描完所有與當(dāng)前Web服務(wù)組合請(qǐng)求潛在相關(guān)的 Web服務(wù);在回溯過程中,該方法充分利用前向搜索過程中獲取到激活每個(gè)Web服務(wù)的最少 組合步驟數(shù),進(jìn)而尋找一條由目標(biāo)Web服務(wù)節(jié)點(diǎn)到起訖Web服務(wù)節(jié)點(diǎn)的最短組合路徑。但 是對(duì)于任意兩次Web服務(wù)組合請(qǐng)求而言,該方法所使用的分析過程是完全相互獨(dú)立的。每 次收到Web服務(wù)組合請(qǐng)求時(shí),都必須重新對(duì)整個(gè)Web服務(wù)集進(jìn)行掃描和分析,存在大量冗余 操作,影響系統(tǒng)組合效率。特別是隨著Web服務(wù)請(qǐng)求中的“20/80”現(xiàn)象日益明顯,即20%的 Web服務(wù)完成了 80%的Web服務(wù)組合請(qǐng)求,該方法無法滿足大規(guī)模場(chǎng)景下對(duì)Web服務(wù)組合 效率的要求。
發(fā)明內(nèi)容
為了克服現(xiàn)有的Web服務(wù)組合方法因大量冗余操作,而使整個(gè)系統(tǒng)組合效率低的 不足,本發(fā)明提供一種Web服務(wù)組合方法。該方法采用分層存儲(chǔ)結(jié)構(gòu),通過對(duì)歷史組合請(qǐng)求 過程的跟蹤和分析,將下一次組合請(qǐng)求中最可能使用到的組合請(qǐng)求及其使用的Web服務(wù)分 別存儲(chǔ)到本地組合服務(wù)器的Web服務(wù)請(qǐng)求處理和熱點(diǎn)Web服務(wù)兩個(gè)虛擬存儲(chǔ)單元中,并置 為優(yōu)先訪問權(quán);當(dāng)響應(yīng)某Web服務(wù)組合請(qǐng)求時(shí),依次訪問Web服務(wù)請(qǐng)求處理、熱點(diǎn)Web服務(wù) 等虛擬存儲(chǔ)單元以及本地Web服務(wù)集,可以避免大量重復(fù)組合請(qǐng)求再分析的冗余操作和以 整個(gè)實(shí)際Web服務(wù)集為處理對(duì)象而造成的性能影響,可以提高組合過程執(zhí)行效率。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案一種Web服務(wù)組合方法,其特點(diǎn)是包 括下述步驟(a)根據(jù)組合場(chǎng)景中有效Web服務(wù)數(shù)量和系統(tǒng)對(duì)組合效率最低要求,設(shè)定Web 服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元最大存儲(chǔ)記錄數(shù)N,各虛擬存儲(chǔ)單元存儲(chǔ)內(nèi)容主體格式為 〈Request,Result, Frequency〉,并采用最近最少使用策略,構(gòu)建Web服務(wù)請(qǐng)求處理記錄添 加和維護(hù)策略,對(duì)歷史組合請(qǐng)求記錄跟蹤和記錄,完成對(duì)Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元 的構(gòu)建。其中,Request是存儲(chǔ)記錄所對(duì)應(yīng)的Web服務(wù)組合請(qǐng)求的輸入、輸出、前置條件以 及影響參數(shù)集;Result表示在歷史請(qǐng)求過程存儲(chǔ)記錄所對(duì)應(yīng)的Web服務(wù)組合請(qǐng)求的組合處
3理結(jié)果;Frequency表示存儲(chǔ)記錄所對(duì)應(yīng)的Web服務(wù)組合請(qǐng)求的訪問頻率。(b)根據(jù)組合場(chǎng)景中有效Web服務(wù)數(shù)量和系統(tǒng)對(duì)組合效率最低要求,設(shè)定熱點(diǎn)Web 服務(wù)虛擬存儲(chǔ)單元的最大存儲(chǔ)記錄數(shù)M,各虛擬存儲(chǔ)單元存儲(chǔ)內(nèi)容主體格式為<WS>,并采 用標(biāo)識(shí)號(hào)輪詢策略,構(gòu)建Web服務(wù)記錄添加和維護(hù)策略,對(duì)歷史組合請(qǐng)求處理過程中所使 用的Web服務(wù)進(jìn)行跟蹤和記錄,完成對(duì)熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元的構(gòu)建。其中,ws為存儲(chǔ)記錄所對(duì)應(yīng)的Web服務(wù)的輸入、輸出、前置條件以及影響參數(shù)集。(c)采用前向搜索和回溯策略,構(gòu)建熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元和本地Web服務(wù)集 的Web服務(wù)組合請(qǐng)求處理算法。 (d)提取Web服務(wù)組合請(qǐng)求和處理結(jié)果信息存儲(chǔ)到Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單 元;提取所有有效Web服務(wù)組合路徑上參與的Web服務(wù)信息,并存儲(chǔ)到熱點(diǎn)Web服務(wù)虛擬存 儲(chǔ)單元。本發(fā)明的有益結(jié)果是由于采用了三級(jí)Web服務(wù)存儲(chǔ)結(jié)構(gòu),通過對(duì)歷史組合請(qǐng)求 過程的跟蹤和分析,將下一次請(qǐng)求過程中最可能的組合請(qǐng)求內(nèi)容、組合處理結(jié)果以及使用 的Web服務(wù)置于一個(gè)獨(dú)立的存儲(chǔ)單元中,并置于優(yōu)先訪問權(quán),有效地減少了組合請(qǐng)求過程 的大量冗余組合請(qǐng)求分析操作,避免了大量冗余本地Web服務(wù)集訪問操作,從而有效地提 高了 Web服務(wù)組合系統(tǒng)的執(zhí)行效率。在相同工作環(huán)境下,以300個(gè)本地測(cè)試集和4000個(gè)虛 擬Web服務(wù)組合請(qǐng)求為對(duì)象;設(shè)置N為5,M為200的實(shí)驗(yàn)環(huán)境參數(shù);另外,為了挖掘盡可能 多的有效組合路徑以保證實(shí)驗(yàn)環(huán)境的一致性,在不影響組合效率和結(jié)果質(zhì)量的前提下,將 現(xiàn)有方法中使用基于回溯策略的路徑有效檢查階段轉(zhuǎn)換成在所有潛在有效路徑搜索完成 后的路徑有效性檢查。實(shí)驗(yàn)結(jié)果表明現(xiàn)有方法平均耗時(shí)為1290. 9ms,而采用本發(fā)明的Web 服務(wù)組合方法平均耗時(shí)為119. 8ms。下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作詳細(xì)說明。
圖1是本發(fā)明Web服務(wù)組合方法的框架圖;圖2是本發(fā)明Web服務(wù)組合方法的流程圖。
具體實(shí)施例方式參照?qǐng)D1、圖2,本實(shí)施例以某300個(gè)本地測(cè)試集和4000個(gè)Web服務(wù)組合請(qǐng)求場(chǎng)景 為對(duì)象,組合最大延遲為500ms,構(gòu)建基于分層存儲(chǔ)結(jié)構(gòu)的Web服務(wù)組合方法。具體步驟如 下第一步,根據(jù)組合場(chǎng)景中有效Web服務(wù)數(shù)量和系統(tǒng)對(duì)組合最大延遲最低要求,設(shè) 定Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元最大存儲(chǔ)記錄數(shù)5,且通常該數(shù)值遠(yuǎn)小于有效Web服務(wù) 數(shù)量;設(shè)定記錄單元存儲(chǔ)內(nèi)容主體格式為<Request,Result, Frequency〉。以訪問頻率 Frequency為評(píng)價(jià)基準(zhǔn),采用最近最少使用策略構(gòu)建Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元的添 加和更新策略,且采取添加和訪問頻率更新同步進(jìn)行策略,每次掃描或添加記錄時(shí)對(duì)存儲(chǔ) 單元中所有存儲(chǔ)記錄的訪問頻率信息進(jìn)行更新,進(jìn)而對(duì)歷史組合請(qǐng)求記錄進(jìn)行跟蹤和記 錄。完成對(duì)Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元的建立。Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元處于存儲(chǔ)框架的頂層,存儲(chǔ)容量最小但訪問優(yōu)化
4級(jí)最高和速度最快,其作用和位置相當(dāng)于計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中的高速Cache,主要用于存儲(chǔ)最 可能處理的Web服務(wù)組合請(qǐng)求及其組合處理結(jié)果,且所有匹配過程中的匹配策略以完全匹 配為主。在Web服務(wù)組合處理過程中,Web服務(wù)組合請(qǐng)求將首先被發(fā)送到該存儲(chǔ)單元進(jìn)行 匹配查詢,如果存在與該請(qǐng)求相一致的記錄,則轉(zhuǎn)入第四步;否則,Web服務(wù)組合請(qǐng)求將被 發(fā)送到熱點(diǎn)Web服務(wù)存儲(chǔ)單元進(jìn)行處理。第二步,根據(jù)組合場(chǎng)景中有效Web服務(wù)數(shù)量和系統(tǒng)對(duì)組合最大延遲最低要求,設(shè) 定熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元最大存儲(chǔ)記錄數(shù)200,且通常該數(shù)值小于有效Web服務(wù)數(shù)量; 設(shè)定記錄單元存儲(chǔ)內(nèi)容主體格式為<ws> ;采用標(biāo)識(shí)號(hào)輪詢策略構(gòu)建熱點(diǎn)Web服務(wù)虛擬存 儲(chǔ)單元的添加和更新策略,獲取到歷史組合請(qǐng)求過程中參與組合的Web服務(wù)的跟蹤和記錄。熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元處于Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元和本地Web服務(wù) 集之間,存儲(chǔ)容量大于Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元,但小于本地Web服務(wù)集,但訪問優(yōu) 化級(jí)和速度都小于Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元的優(yōu)化級(jí)和速度,但大于本地Web服務(wù) 集,其作用和位置相當(dāng)于計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中的主存儲(chǔ)器;主要用于存儲(chǔ)最可能參與組合的 Web服務(wù),其可視為本地Web服務(wù)集的縮略版。當(dāng)該存儲(chǔ)單元收到Web服務(wù)組合請(qǐng)求時(shí),將 以其所存儲(chǔ)的Web服務(wù)集作為分析對(duì)象,利用前向搜索和回溯策略并結(jié)合路徑末節(jié)點(diǎn)存儲(chǔ) 輸出參數(shù)集機(jī)制構(gòu)建Web服務(wù)組合分析算法。如果組合分析結(jié)果獲取到若干潛在有效的 Web服務(wù)組合路徑,則轉(zhuǎn)入第四步;否則,Web服務(wù)組合請(qǐng)求將被發(fā)送到本地Web服務(wù)集進(jìn)行 處理。第三步,采用前向搜索和回溯策略,并采取路徑末節(jié)點(diǎn)存儲(chǔ)輸出參數(shù)集機(jī)制構(gòu)建 Web服務(wù)組合算法,循環(huán)掃描目標(biāo)Web服務(wù)集中的有效Web服務(wù),直至該路徑滿足當(dāng)前Web 服務(wù)組合請(qǐng)求或已掃描該目標(biāo)Web服務(wù)集中所有潛在可組合的有效Web服務(wù),從而完成熱 點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元和本地Web服務(wù)集的Web服務(wù)組合請(qǐng)求處理算法。本地Web服務(wù)集存儲(chǔ)單元處于存儲(chǔ)框架的底層,存儲(chǔ)容量最大但訪問優(yōu)化級(jí)最小 和訪問速度最慢,其作用和位置相當(dāng)于計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)中的聯(lián)機(jī)外部存儲(chǔ)器,主要用于所 有組合服務(wù)器可以訪問的有效Web服務(wù)。當(dāng)該模塊收到Web服務(wù)組合請(qǐng)求處理時(shí),其將直 接基于前向搜索和回溯策略的Web服務(wù)組合算法對(duì)整個(gè)Web服務(wù)集進(jìn)行掃描和分析,并轉(zhuǎn) 入第四步;第四步,根據(jù)Web服務(wù)請(qǐng)求內(nèi)容,對(duì)處理結(jié)果進(jìn)行功能因素和非功能因素的組合 路徑有效性檢驗(yàn);如果存在有效的Web服務(wù)組合路徑,則將所有有效的Web服務(wù)組合路徑及 其對(duì)應(yīng)的Web服務(wù)組合請(qǐng)求信息添加到Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元,并將所有參與組 合的有效Web服務(wù)添加到熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元;否則,將組合失敗分析結(jié)果及其對(duì)應(yīng) 的Web服務(wù)組合請(qǐng)求信息添加到Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元。最后將處理結(jié)果返回給 Web服務(wù)請(qǐng)求者。
權(quán)利要求
一種Web服務(wù)組合方法,其特征在于包括下述步驟(a)根據(jù)組合場(chǎng)景中有效Web服務(wù)數(shù)量和系統(tǒng)對(duì)組合效率最低要求,設(shè)定Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元最大存儲(chǔ)記錄數(shù)N,各虛擬存儲(chǔ)單元存儲(chǔ)內(nèi)容主體格式為<Request,Result,F(xiàn)requency>,并采用最近最少使用策略,構(gòu)建Web服務(wù)請(qǐng)求處理記錄添加和維護(hù)策略,對(duì)歷史組合請(qǐng)求記錄跟蹤和記錄,完成對(duì)Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元的構(gòu)建;其中,Request是存儲(chǔ)記錄所對(duì)應(yīng)的Web服務(wù)組合請(qǐng)求的輸入、輸出、前置條件以及影響參數(shù)集;Result表示在歷史請(qǐng)求過程存儲(chǔ)記錄所對(duì)應(yīng)的Web服務(wù)組合請(qǐng)求的組合處理結(jié)果;Frequency表示存儲(chǔ)記錄所對(duì)應(yīng)的Web服務(wù)組合請(qǐng)求的訪問頻率;(b)根據(jù)組合場(chǎng)景中有效Web服務(wù)數(shù)量和系統(tǒng)對(duì)組合效率最低要求,設(shè)定熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元的最大存儲(chǔ)記錄數(shù)M,各虛擬存儲(chǔ)單元存儲(chǔ)內(nèi)容主體格式為<ws>,并采用標(biāo)識(shí)號(hào)輪詢策略,構(gòu)建Web服務(wù)記錄添加和維護(hù)策略,對(duì)歷史組合請(qǐng)求處理過程中所使用的Web服務(wù)進(jìn)行跟蹤和記錄,完成對(duì)熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元的構(gòu)建;其中,ws為存儲(chǔ)記錄所對(duì)應(yīng)的Web服務(wù)的輸入、輸出、前置條件以及影響參數(shù)集;(c)采用前向搜索和回溯策略,構(gòu)建熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元和本地Web服務(wù)集的Web服務(wù)組合請(qǐng)求處理算法;(d)提取Web服務(wù)組合請(qǐng)求和處理結(jié)果信息存儲(chǔ)到Web服務(wù)請(qǐng)求處理虛擬存儲(chǔ)單元;提取所有有效Web服務(wù)組合路徑上參與的Web服務(wù)信息,并存儲(chǔ)到熱點(diǎn)Web服務(wù)虛擬存儲(chǔ)單元。
全文摘要
本發(fā)明公開了一種Web服務(wù)組合方法,其目的是解決現(xiàn)有的Web服務(wù)組合方法因大量冗余操作,而使整個(gè)系統(tǒng)組合效率低的技術(shù)問題。技術(shù)方案是采用分層存儲(chǔ)結(jié)構(gòu),通過對(duì)歷史組合請(qǐng)求過程的跟蹤和分析,將下一次組合請(qǐng)求中最可能使用到的組合請(qǐng)求及其使用的Web服務(wù)分別存儲(chǔ)到本地組合服務(wù)器的Web服務(wù)請(qǐng)求處理和熱點(diǎn)Web服務(wù)兩個(gè)虛擬存儲(chǔ)單元中,并置為優(yōu)先訪問權(quán);當(dāng)響應(yīng)某Web服務(wù)組合請(qǐng)求時(shí),依次訪問Web服務(wù)請(qǐng)求處理、熱點(diǎn)Web服務(wù)等虛擬存儲(chǔ)單元以及本地Web服務(wù)集。避免了大量重復(fù)組合請(qǐng)求再分析的冗余操作和以整個(gè)實(shí)際Web服務(wù)集為處理對(duì)象而造成的性能影響,提高了Web服務(wù)組合過程的執(zhí)行效率。
文檔編號(hào)H04L29/08GK101848242SQ201010171888
公開日2010年9月29日 申請(qǐng)日期2010年5月13日 優(yōu)先權(quán)日2010年5月13日
發(fā)明者孫占志, 朱怡安, 遲文明, 鐘冬, 雷萬保 申請(qǐng)人:西北工業(yè)大學(xué)