一種基于加權(quán)hg指數(shù)的開放API服務(wù)重要性度量方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及一種開放API服務(wù)重要性度量方法,尤其是設(shè)及一種基于加權(quán)hg指數(shù) 的開放API服務(wù)重要性度量方法。
【背景技術(shù)】
[0002] 面向服務(wù)的計算(Service-Oriented Computing,S0C)目前備受工業(yè)界與學(xué)術(shù)界 的關(guān)注,它是一種新型的計算模式,通過組合現(xiàn)有Web服務(wù)或者開放API服務(wù)來開發(fā)新的應(yīng) 用。Web服務(wù)(Web Services)是基于網(wǎng)絡(luò)的、分布式、自描述、模塊化的組件,遵循W3C所定義 的技術(shù)規(guī)范,執(zhí)行特定的任務(wù),廣泛的應(yīng)用于互聯(lián)網(wǎng)的各個領(lǐng)域。但是傳統(tǒng)的基于SOAP (Simple Object Access Protocol)協(xié)議并使用WSDL(Web Services Description Language)文檔描述的Web服務(wù)也暴露出越來越多的問題,如技術(shù)體系過于復(fù)雜、可擴展性 較差、高禪合等。近年來,基于REST化Kr邱resen化tional S化te化ansfer)架構(gòu)的輕量級 Web服務(wù)(如開放API服務(wù))因其具有簡單、輕便、容易調(diào)用、靈活性、可擴展性等優(yōu)點,目前已 成為Web服務(wù)的主流。由多個開放API服務(wù)組合而成的應(yīng)用稱為mashup。
[0003] 隨著開放API技術(shù)的發(fā)展,許多互聯(lián)網(wǎng)公司和Web網(wǎng)站如Google、Facebook和 Amazon等都提供了開放API服務(wù),W便于對其數(shù)據(jù)資源和功能的訪問。據(jù)知名開放API服務(wù) 管理平臺ProgrammableWeb.com的最新統(tǒng)計,Web API的數(shù)量早已突破10,000,且近年來呈 現(xiàn)指數(shù)增長的趨勢。然而,隨著開放API服務(wù)數(shù)量的迅速增長,如何利用開放API服務(wù)來構(gòu)建 新的mashup是當前面臨的一個難題。要利用運些開放API服務(wù),其中一個比較重要的問題是 對開放API服務(wù)的重要性進行度量,運對于開放API服務(wù)選擇及推薦具有重要的意義。然而 現(xiàn)有的開放API服務(wù)相關(guān)的工作主要集中于開放API服務(wù)使用模式的分析、開放API服務(wù)數(shù) 增長規(guī)律的分析等方面,缺少開放API服務(wù)重要性度量方面的工作。因此,提供一種有效的 開放API服務(wù)重要性度量方法對于有效利用運些開放API服務(wù)意義重大。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供了一種基于加權(quán)hg指數(shù)的開放API 服務(wù)重要性度量方法。
[0005] 本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得W解決的:一種基于加權(quán)hg指 數(shù)的開放API服務(wù)重要性度量方法,該方法包括W下步驟:
[0006] (1)根據(jù)mashup和開放API服務(wù)的組合數(shù)據(jù)構(gòu)建API服務(wù)隸屬網(wǎng)APIN= (Nmashup, Napi ,Duse)。其中,Nmashup為mash叩節(jié)點的集合;Napi是開放API服務(wù)節(jié)點的集合;Duse = {{mashupi,APIj}} (mashupiENmashup,APIjE化)是無向邊的集合,表示mashup對開放API服務(wù) 的使用關(guān)系。APIN的關(guān)聯(lián)矩陣4描述了mashup節(jié)點和開放API服務(wù)節(jié)點間的連接關(guān)系,其元 素:
[0007] 的 i〇,其他 ,
[000引其中,4是一個lNmash叩I X INapiI的二值矩陣。lNmash叩陵示mashup的數(shù)量,INapiI表 示開放API服務(wù)的數(shù)量。若Ihj = I,則第i個mashup節(jié)點和第j個開放API服務(wù)節(jié)點間有邊相 連,否則不存在邊。
[0009] (2)基于步驟(1)完成的APIN構(gòu)建開放API組合網(wǎng)APICN= (Napi,Dc)。其中,Napi為開 放API服務(wù)節(jié)點的集合;D。是一個無向邊的集合,表示開放API服務(wù)間的共現(xiàn)關(guān)系,即若兩個 開放API服務(wù)共同作為某個mashup的構(gòu)成部分,則代表運兩個開放API服務(wù)的節(jié)點間存在一 條無向邊;APICN的關(guān)聯(lián)矩陣1^1描述了開放API服務(wù)節(jié)點間的連接關(guān)系及其強度。iT可由4 得到,其元素:
[0010] 、二邵時=Yy礎(chǔ)hi, k .龍.
[00川其中,廬f I表示開放API服務(wù)i和j共同參與構(gòu)成的maShup的數(shù)量,I表示開放 API服務(wù)i參與構(gòu)成的mash叫的數(shù)量。因此,若^^fI>0則API服務(wù)i和j之間存在共現(xiàn)關(guān)系 ({八口11,4?。}邱。),否則不存在共現(xiàn)關(guān)系(;.'^1,.八! 31,;60,)。
[0012] (3)基于步驟(2)完成的APICN計算節(jié)點i的加權(quán)h指數(shù)h(i)。
[0013] (4)基于步驟(2)完成的APIC的十算節(jié)點i的加權(quán)g指數(shù)g(i)。
[0014] (5)基于步驟(3)和步驟(4)計算節(jié)點i的加權(quán)hg指數(shù)hg(/)=v/W)別/)。:
[001引(6)基于步驟(3)、(4)和(5)計算APICN中所有節(jié)點的加權(quán)hg指數(shù),作為節(jié)點相應(yīng)開 放API服務(wù)的重要性值。
[0016] 進一步地,所述的步驟(3)中節(jié)點i的加權(quán)h指數(shù)h(i)的計算具體包括W下子步驟:
[0017] (3.1)求步驟(2)所得APICN中所有節(jié)點的節(jié)點權(quán)。節(jié)點j的節(jié)點權(quán)Sj定義為APICN 中與該節(jié)點相連的所有邊的權(quán)重和,即:
[001 引 Sj 二 ,
[0019] 其中,V遺節(jié)點j的鄰居節(jié)點集合,終I是節(jié)點巧P節(jié)點k(kev如司邊(j,k)的權(quán)值。
[0020] (3.2)求步驟(2)所得APICN中節(jié)點i的鄰居節(jié)點集合VI。
[0021 ] (3.3)將Vi中的節(jié)點按其節(jié)點權(quán)降序排列(若存在節(jié)點權(quán)相等的情況,則相等的幾 個值隨機選擇一種可能的排序),得到排序后的數(shù)組list, list。]位置存放的是節(jié)點權(quán)最 大的那個節(jié)點。
[0022] (3.4)從113*[1]開始,依次遍歷113*列表中的每個節(jié)點113*[111],找到第一個滿足 節(jié)點權(quán)小于(n+1)的節(jié)點1 iSt [n+1 ],則節(jié)點i的加權(quán)h指數(shù)h(i)為n。
[0023] 進一步地,所述的步驟(4)中節(jié)點i的加權(quán)g指數(shù)g(i)的計算具體包括W下子步驟:
[0024] (4.1)求步驟(2)所得APICN中所有節(jié)點的節(jié)點權(quán)。節(jié)點j的節(jié)點權(quán)Sj定義為與該節(jié) 點相連的所有邊的權(quán)重和,即:
[002引 Sj 二 ,
[0026] 其中,Vj是節(jié)點j的鄰居節(jié)點集合,是節(jié)點j和節(jié)點k化evj)間邊(j,k)的權(quán)值。
[0027] (4.2)求步驟(2)所得APICN中節(jié)點i的鄰居節(jié)點集合Vi。
[0028] (4.3)將Vi中的節(jié)點按其節(jié)點權(quán)降序排列(若存在節(jié)點權(quán)相等的情況,則相等的幾 個值隨機選擇一種可能的排序),得到排序后的數(shù)組list, list。]位置存放的是節(jié)點權(quán)最 大的那個節(jié)點。
[0029] (4.4)從list[1]開始,依次遍歷IiSt列表中的每個節(jié)點list[m],找到第一個滿足 前(P+1)個節(jié)點Qist[l],list[2],???,list[p+l])的節(jié)點權(quán)值和小于(p+l)2的節(jié)點list[p +U,則可W得到節(jié)點i的加權(quán)g指數(shù)g(i)為P。
[0030] 與現(xiàn)有技術(shù)相比,本發(fā)明具有W下優(yōu)點和積極效果:本發(fā)明提出用加權(quán)hg指數(shù)度 量開放API服務(wù)的重要性,在一定程度上克服了現(xiàn)有方法只關(guān)注開放API服務(wù)使用模式的分 析及數(shù)量增長規(guī)律的分析,缺少開放API服務(wù)重要性度量的問題,對于有效利用開放API月良 務(wù)構(gòu)建新的mashup應(yīng)用具有重要意義。
【附圖說明】
[0031] 圖1本發(fā)明的mashup及其所用的開放API服務(wù)數(shù)據(jù);
[0032] 圖2本發(fā)明的實施例構(gòu)建的APIN;
[0033] 圖3本發(fā)明的實施例構(gòu)建的APIN相應(yīng)的關(guān)聯(lián)矩陣;
[0034] 圖4本發(fā)明的實施例構(gòu)建的APICN;
[0035] 圖5本發(fā)明的實施例構(gòu)建的APICN相應(yīng)的關(guān)聯(lián)矩陣。
【具體實施方式】
[0036] 下面通過實施例并結(jié)合附圖對本發(fā)明的技術(shù)方案作進一步的說明:
[0037] 本發(fā)明提出的一種基于加權(quán)hg指數(shù)的開放API服務(wù)重要性度量方法,具體步驟如 下:
[003引(1)根據(jù)mashup和開放API服務(wù)的組合數(shù)據(jù)構(gòu)建API服務(wù)隸屬網(wǎng)APIN= (Nmash叩, Napi, Duse)。圖1所示的是mashup及其所用開放API服務(wù)數(shù)據(jù)。按照圖1所給的數(shù)據(jù),可W構(gòu)建 相應(yīng)的APIN(如圖2所示)。其中,Nmashup= {Facebook Friend Plotter,Blog on Map, Biodiversity Taxonomic Catalogue}為mashup節(jié)點的集合;Napi= (Google Ajax Search, Facebook,Google Maps ,Flickr ,Global Biodiversity Information Facility}表示 mash叩所使用的所有開放API服務(wù)的集合;Duse= {(hcebook Friend Plotter ,Google Ajax Search),(Facebook Friend Plotter,Facebook),(Facebook Friend Plotter, Google Maps),(Blog on Map,Facebook),(Blog on Map,Google Maps),(Blog on Map, Flickr),(Biodiversity Taxonomic Catalogue,Flickr),(Biodiversity Taxonomic Catalogue ,Global Biodiversity Information Facility)}是無向邊的集合,表示mashup 對開放API服務(wù)的使用關(guān)系。APIN的關(guān)聯(lián)矩陣4描述了復(fù)合服務(wù)節(jié)點和原子服務(wù)節(jié)點間的連 接關(guān)系,其元素: '1, .! mash啤"API色 D"
[00例的'=i0,其他'。
[0040] 圖2中APIN相應(yīng)的關(guān)聯(lián)矩陣4如圖3所示。Ihj = I表示第i個mashup節(jié)點和第j個開放 API服務(wù)節(jié)點間有邊相連,否則不存在邊。
[00川 (2)基于步驟(1)完成的APIN構(gòu)建開放API組合網(wǎng)APICN= (Napi,Dc)。圖2所示APIN 的APICN如圖4所示D其中,Napi二{Google Ajax Search,F(xiàn)acebook,Google Maps ,Flickr, Global Biodiversity Information Facility}為開放API服務(wù)節(jié)點的集合;Dc二{(Google Ajax Search,Facebook),(Google Ajax Search,Google Maps),(Facebook,F(xiàn)lickr), (Facebook,Google Maps), (Flickr,Google Maps), (Flickr,Global Biodiversity)}是一 個無向邊的集合,表示開放API服務(wù)間的共現(xiàn)關(guān)系,即若兩個開放API服務(wù)共同作為某個 mashup的構(gòu)成部分,則代表這兩個開放API服務(wù)的節(jié)點間存在一條無向邊;APICN的關(guān)聯(lián)矩 陣古"^(如圖5所示)描述了開放API服務(wù)節(jié)點間的連接關(guān)系及其強度。礦PI可由ID得到,其元 素:
[0042] S 約.的7. = k k
[0043] 其中,5^1表示開放API服務(wù)i和j共同參與構(gòu)成的mashup的數(shù)量,於ft表示開放 API服務(wù)i參與構(gòu)成的mashup的數(shù)量。因此,若?//fi>0貝IJAPI服務(wù)i和j之間存在共現(xiàn)關(guān)系 ({APIl,AP。}eD。),否則不存在共現(xiàn)關(guān)系(-|API,.,A巧}(6化)。如圖2中,開放API服務(wù) !^icebook和Google Maps共同參與構(gòu)成mashup Facebook Friend Plotter和Bl