專利名稱:一種基于重疊有向圖的web服務(wù)匹配方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)信息分析與數(shù)據(jù)處理領(lǐng)域,具體涉及一種基于重疊有向圖的WEB服務(wù)匹配方法。
背景技術(shù):
Web服務(wù)(WebService)是基于XML和HTTP的一種服務(wù),每個(gè)web服務(wù)對應(yīng)了一個(gè)WSDL (WebServicesDescriptionLanguage)描述文件。WSDL 描述文件是一個(gè)用來描述 Web服務(wù)和說明客戶端如何與Web服務(wù)通信的XML語言文件。每一個(gè)WSDL描述文件都封裝了若干可供調(diào)用接口及其說明文檔,但當(dāng)WSDL描述文件大量存在時(shí),如何迅速找到需要的服務(wù)接口,是需要解決的一個(gè)問題。1.WEB服務(wù)描述面向服務(wù)體系架構(gòu)(Service-OrientedArchitecture, S0A)帶來了一種新的集成思想,根據(jù)它可以構(gòu)造出靈活的以服務(wù)為中心的架構(gòu)。SOA憑借其松耦合的特性,可以把企業(yè)現(xiàn)有的應(yīng)用作為服務(wù)來發(fā)布,服務(wù)擁有獨(dú)立于硬件平臺(tái)、操作系統(tǒng)和編程語言的接口。因此,不同系統(tǒng)之間可以通過這種定義良好的服務(wù)的交互實(shí)現(xiàn)系統(tǒng)之間的通信,不僅可以實(shí)現(xiàn)海量數(shù)據(jù)集成與異構(gòu)業(yè)務(wù)系統(tǒng)的協(xié)同工作,還可以按照模塊化的方式來添加新服務(wù)或更新現(xiàn)有服務(wù),以解決新的業(yè)務(wù)需求。SOA的核心就是WEB服務(wù),它向外界暴露出一個(gè)能夠通過Web進(jìn)行調(diào)用的應(yīng)用程序接口(ApplicationProgramlnterface, API),能夠用編程的方法通過Web來調(diào)用這個(gè)應(yīng)用程序。Web服務(wù)平臺(tái)是一套標(biāo)準(zhǔn),它定義了應(yīng)用程序如何在Web上實(shí)現(xiàn)互操作性。你可以用任何你喜歡的語言,在任何你喜歡的平臺(tái)上寫Web服務(wù),只要我們可以通過Web服務(wù)標(biāo)準(zhǔn)對這些服務(wù)進(jìn)行查詢和訪問。
Web服務(wù)平臺(tái)需要一套協(xié)議來實(shí)現(xiàn)分布式應(yīng)用程序的創(chuàng)建。任何平臺(tái)都有它的數(shù)據(jù)表示方法和類型系統(tǒng)。要實(shí)現(xiàn)互操作性,Web服務(wù)平臺(tái)必須提供一套標(biāo)準(zhǔn)的類型系統(tǒng),用于溝通不同平臺(tái)、編程語言和組件模型中的不同類型系統(tǒng)。在傳統(tǒng)的分布式系統(tǒng)中,基于界面(interface)的平臺(tái)提供了一些方法來描述界面、方法和參數(shù)(如COM和COBAR中的IDL語言)。同樣的,Web服務(wù)平臺(tái)也必須提供一種標(biāo)準(zhǔn)來描述Web服務(wù),讓客戶可以得到足夠的信息來調(diào)用這個(gè)Web服務(wù)。如何把來自客戶端的關(guān)鍵詞語與網(wǎng)絡(luò)中服務(wù)端大量存在的WSDL描述文件進(jìn)行匹配并找到這些關(guān)鍵詞語最匹配的WSDL描述文件從而實(shí)現(xiàn)合適的web服務(wù)是網(wǎng)絡(luò)信息搜索技術(shù)領(lǐng)域亟待解決的問題。2.WEB服務(wù)匹配在網(wǎng)絡(luò)上的WEB服務(wù)的數(shù)量可能會(huì)非常大,如何根據(jù)關(guān)鍵字或基本信息尋找到匹配的WEB服務(wù),是一個(gè)十分重要的問題。將WEB服務(wù)的WSDL描述文件作為數(shù)據(jù)源,將需要匹配的關(guān)鍵字和基本信息作為基本要素,尋找合適的WEB服務(wù)的過程,即WEB服務(wù)的匹配。為了在海量數(shù)據(jù)源的情況下迅速找到合適的WEB服務(wù)(即WSDL描述文件),本發(fā)明引入基于空位種子的信息局部搜索方法,完成WEB服務(wù)的匹配。本方法主要基于現(xiàn)有技術(shù)“序列比對方法”對匹配序列進(jìn)行評估。序列比對的定義是將兩條序列字符進(jìn)行兩兩匹配。在匹配過程上中,可能出現(xiàn)以下三種情況:(I) 一個(gè)字符代替了另一個(gè)字符,即發(fā)生了突變而產(chǎn)生字符失配;(2)插入一個(gè)或多個(gè)字符;(3)刪除一個(gè)或多個(gè)字符。因此,在序列比對過程中,并不是簡單的字符一一對應(yīng),除了匹配和失配以外,還會(huì)在序列中引入空位(用符號表示)來反映第2、3種變化。如兩個(gè)序列AATCTATA和AAGATA,下面給出了其中3種序列比對情況:AATCTATA AATCTATA AATCTATAAAG-AT-A AA-G-ATA AA-GATA為了對序列比對結(jié)果進(jìn)行量化,引入分?jǐn)?shù)機(jī)制對序列比對進(jìn)行打分,以得到最優(yōu)的序列比對。弓丨入空位后,根據(jù)不同的比對情況,可以得到序列比對得分。打分規(guī)則其定義如下:
權(quán)利要求
1.一種基于重疊有向圖的WEB服務(wù)匹配方法,其特征在于:包括以下步驟: 步驟1:將WEB服務(wù)的描述文件即WSDL文件通過網(wǎng)絡(luò)載入服務(wù)器端的內(nèi)存,形成WEB描述源數(shù)據(jù); 步驟2:建立空位種子匹配模型,將WEB服務(wù)描述源數(shù)據(jù)與目標(biāo)服務(wù)數(shù)據(jù)以空位種子的形式進(jìn)行描述,得到空位種子匹配框架; 步驟3:構(gòu)建面向不同空位種子的重疊有向圖,針對每一個(gè)重疊有向圖計(jì)算其連通性和重疊數(shù); 步驟4:以最大的連通性和最小的重疊數(shù)為標(biāo)準(zhǔn)尋找最優(yōu)空位種子,并通過重疊有向圖權(quán)重ODW描述最優(yōu)空位種子; 步驟5:將最優(yōu)空位種子與目標(biāo)WEB服務(wù)描述源數(shù)據(jù)進(jìn)行匹配,得到最優(yōu)的WEA服務(wù)匹配結(jié)果,找到需要的WEB服務(wù)結(jié)點(diǎn)。
2.根據(jù)權(quán)利要求1所述的一種基于重疊有向圖的WEB服務(wù)匹配方法,其特征在于:步驟I的具體方法為:采用超文本傳輸協(xié)議連接所有需要的遠(yuǎn)程WSDL文件地址,將WEB服務(wù)描述文件通過文檔對象樹模型進(jìn)行解析,其解析格式為超文件標(biāo)記格式,針對解析的文檔對象樹,將所有包含〈wsdl:documentation〉的結(jié)點(diǎn)載入服務(wù)器端的內(nèi)存。
3.根據(jù)權(quán)利要求1或2所述的一種基于重疊有向圖的WEB服務(wù)匹配方法,其特征在于:步驟2中所述的空位種子,其定義為: 一個(gè)空位種子S是定義在字符集A = {1,*}上的,并規(guī)定以I開始,I結(jié)束的固定模式串;其中I表示匹配,*是一個(gè)通配符,表示在該位置可以是I匹配或O失配;S表示為:
4.根據(jù)權(quán)利要求1或2所述一種基于重疊有向圖的WEB服務(wù)匹配方法,其特征在于:步驟3包括以下步驟: a)建立結(jié)構(gòu)有向圖:自上而下的節(jié)點(diǎn)是按照種子對應(yīng)元素從左到右的I或0,其中I代表節(jié)點(diǎn)I,*代表兩個(gè)節(jié)點(diǎn):1和O,每條有向邊標(biāo)有相似度P或q=l_p ; b)標(biāo)記步驟:從頂部節(jié)點(diǎn)到底部按順序從序號I開始標(biāo)記每個(gè)節(jié)點(diǎn),放到節(jié)點(diǎn)值后面用括號括起來,然后刪除標(biāo)記P或q,同時(shí),將首節(jié)點(diǎn)序號標(biāo)記在每條有向邊上; c)重疊步驟:重疊步驟是一系列重復(fù)迭代的過程,依次以每層節(jié)點(diǎn)值為I的節(jié)點(diǎn)作為開始節(jié)點(diǎn)構(gòu)造結(jié)構(gòu)有向圖,下一步從第二層節(jié)點(diǎn)中值I節(jié)點(diǎn)開始,以此類推,最終停留在L-1層,經(jīng)過重疊步驟后,得到空位種子的重疊有向圖模型。
5.根據(jù)權(quán)利要求4所述的一種基于重疊有向圖的WEB服務(wù)匹配方法,其特征在于:重疊有向圖的連通性定義為: 有兩個(gè)有公共結(jié)點(diǎn)的邊ei和e2,即ei的結(jié)束節(jié)點(diǎn)是e2的開始節(jié)點(diǎn),設(shè)B1是ei標(biāo)記的集合,B2是e2標(biāo)記的集合,稱B1和B2具有連通性或是連通的當(dāng)且僅當(dāng)4^; 重疊有向圖的重疊數(shù)的定義為: 設(shè)B是邊e的標(biāo)記集合,定義重疊數(shù): oc (e) = IB I。
6.根據(jù)權(quán)利要求1所述的一種基于重疊有向圖的WEB服務(wù)匹配方法,其特征在于:計(jì)算重疊有向圖權(quán)重ODW包括以下步驟: a)構(gòu)建重疊懲罰函數(shù):
7.根據(jù)權(quán)利要求1或6所述的一種基于重疊有向圖的WEB服務(wù)匹配方法,其特征在于步驟5包括以下步驟: a)首先確定一個(gè)終止值d、連續(xù)種子長度w和一個(gè)閾值t,d值通常是基于統(tǒng)計(jì)學(xué)的原理指明一個(gè)預(yù)期的終止E值,然后在考慮搜索背景性質(zhì)的基礎(chǔ)上計(jì)算出合適的d值; b)根據(jù)空位種子模式對內(nèi)存中的WEB服務(wù)描述源數(shù)據(jù)進(jìn)行局部匹配,當(dāng)有一個(gè)匹配串的分值高于t時(shí),則找到了一個(gè)選中的字串,即增強(qiáng)點(diǎn); c)當(dāng)一個(gè)分值高于t的字串選中后,進(jìn)行基于動(dòng)態(tài)規(guī)劃算法的局部延伸尋優(yōu),規(guī)定比對的最低分值是d,當(dāng)比對延伸時(shí)會(huì)遇到一些負(fù)的分值,使得比對的分值下降,當(dāng)下降的分值小于d時(shí),命中的延伸就會(huì)終止,這時(shí)這段比對中具有最高分值的片段便成為一段命中的匹配,從而找到符合要求的WEB服務(wù)結(jié)點(diǎn)。
全文摘要
本發(fā)明提供了一種基于重疊有向圖的WEB服務(wù)匹配方法,涉及計(jì)算機(jī)信息分析與數(shù)據(jù)處理領(lǐng)域,通過將大量的WEB服務(wù)結(jié)點(diǎn)的描述文件(WSDL)載入服務(wù)器端內(nèi)存,形成海量WEB描述源數(shù)據(jù),為了匹配到指定的服務(wù),建立了空位種子匹配模型,并在此基礎(chǔ)上構(gòu)建重疊有向圖,通過連通性和重疊數(shù)兩個(gè)關(guān)鍵指標(biāo)對種子進(jìn)行評價(jià),找到最優(yōu)種子,最終完成WEB服務(wù)的匹配,是一種快速尋找合適的WEB服務(wù)方法。本發(fā)明可廣泛應(yīng)用在WEB服務(wù)結(jié)點(diǎn)大量存在,對WEB服務(wù)尋找要求較高的環(huán)境中,如面向服務(wù)的架構(gòu)(SOA)、云計(jì)算等環(huán)境中。
文檔編號G06F17/30GK103198114SQ201310108699
公開日2013年7月10日 申請日期2013年3月29日 優(yōu)先權(quán)日2013年3月29日
發(fā)明者唐雪飛, 陳科 申請人:電子科技大學(xué)