999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Lucene的Web服務查詢系統設計與實現

2016-03-15 02:15:42葉駿宏,王勇,強保華
桂林電子科技大學學報 2016年1期

?

基于Lucene的Web服務查詢系統設計與實現

引文格式: 葉駿宏,王勇,強保華.基于Lucene的Web服務查詢系統設計與實現[J].桂林電子科技大學學報,2016,36(1):29-34.

葉駿宏,王勇,強保華

(桂林電子科技大學 計算機科學與工程學院,廣西 桂林541004)

摘要:針對用戶需求復雜多變,提出了用戶反饋2階段Web服務查詢方法。該方法引入基于Lucene規范的Web服務搜索引擎系統,該系統由WSDL處理模塊、向量化模塊、相似度計算模塊和QoS模塊組成,分別支持WSDL解析功能、WSDL索引建立與查詢功能、自定義權重計算功能和QoS功能。在解析加拿大Guelph大學的2507個真實WSDL文檔集合基礎上,篩選出符合Web服務功能標準的WSDL文檔集,并對其進行服務索引建立和查詢測試。實驗結果表明,系統Web服務發現性能具有較高P@N值和NDCP值,驗證了系統的可行性和有效性。

關鍵詞:Web服務;用戶反饋2階段查詢;WSDL;Lucene

隨著以Web服務為基本單位的分布式計算模式SOC(service-oriented computing)產生和SOA(service-oriented architecture)技術的快速發展,互聯網上的Web服務數量急劇增多,如何精準、高效地發現服務成為Web服務體系結構實現的一個重要任務,也是亟待解決的關鍵問題。目前,涌現出各式各樣的Web服務發現技術。例如,針對服務中心單點故障和性能瓶頸,文獻[1]提出了多中心對等架構Web服務注冊系統;根據經典的向量空間模型,文獻[2]提出了基于文本向量空間模型的Web服務搜索引擎系統;林文亮等[3]提出一種基于QoS感知的S-Skyline服務選擇算法,對原子服務數量和組合服務搜索空間進行有效剪枝優化,使整個組合服務QoS達到或接近最優;郭得科等[4]基于宿主、服務和方法3個維度提出了三維QoS模型,該模型把QoS非功能指標作為維度并通過維度之間彼此正交且存在層次關系,完成Web服務的過濾和選擇;李征等[5]把服務進行SVM分類,對分類后的領域服務集中進行面向主題聚類,該方法認為在一個主題相似的類簇中更容易發現兼容的服務以及可替代服務。

面對互聯網上海量的Web服務描述文檔(Web service description language,簡稱WSDL),用戶無所適從。WSDL的價值不在于它本身,而在于是否滿足用戶需求。雖然用戶的需求千變萬化,但WSDL的功能操作始終是用戶最直接的查詢要求,即只有在滿足用戶業務邏輯功能需求的基礎上,篩選出非功能質量高的Web服務才有意義。Lucene是一款高性能的可擴展的信息檢索工具庫,它能輕松地將搜索功能加入到任何系統框架[6]。為此,以用戶的需求為主,提出一種基于用戶反饋的2階段Web服務發現方法,通過引入基于Lucene框架規范下的Web服務搜索引擎系統,支持WSDL的功能性和非功能性搜索,在滿足用戶查詢業務功能需求條件下盡可能地滿足非功能屬性選擇。該系統由WSDL處理模塊、向量化模塊、相似度計算模塊和QoS模塊組成,實現了WSDL索引簡歷和存儲、QoS信息采集與計算、WSDL查詢和匹配、WSDL解析與處理、WSDL文檔相似度評分等功能。系統各個軟件模塊均使用開源軟件實現,具有高可擴展性、開放性、可編程性和易維護性。

1用戶反饋2階段查詢方法

1.1WSDL模型

現有的Web服務體系一般基于典型的3層模式:Soap消息傳遞機制(可跨平臺);WSDL的服務描述標準(可對服務進行自描述);UDDI(universal description discovery and integration)對服務進行管理。現有的Web服務通常是一個WSDL文檔,它是滿足W3C系列規范的XML文檔[8],用來描述和定位網絡服務,其包含了Web服務的地址和描述、服務使用的數據類型和通信協議、服務提供的執行操作與操作參數等。而對于只關注服務功能的服務發現方法會更多關注WSDL與服務功能相關的部分,即描述信息、名稱信息、操作信息和數據信息。

定義1單向量模型:Ms=〈N,D〉。其中:N為名稱信息,包含服務名稱、操作名稱、消息名稱和元素名稱;D為描述信息,包含服務描述、操作描述、消息描述和元素描述。單向量模型對應自然語言查詢,查詢輸入是純文本信息,因此,需要把N和D的信息切成單個詞放到同一向量,故名為單向量模型。

定義2多向量模型:Mm=〈F,I,O,Q〉。其中:F=〈Nf,Df〉,Nf為服務功能名稱,由Service和Operation的名稱組成,Df為服務功能描述,由Service和Operation描述組成;I=〈Ni,Ti〉,Ni為輸入消息的名稱,Ti為輸入消息的類型;O為輸出消息,定義與I相同;Q=〈Rq,Aq,Tq,Sq,Rq,Lq〉,分別代表響應時間、成功調用率、調用吞吐量、響應率、可靠度和處理時延6種非功能指標。多向量模型對應WSDL文檔查詢,查詢輸入是半結構化的WSDL文檔信息。WSDL文檔每個結構內容分布的特征不相同,因此,需要把F、I、O、Q四種結構切成的詞放到不同向量進行計算,故名多向量模型。

1.2查詢算法流程

基于WSDL模型,提出用戶反饋2階段服務查詢方法,分別結合自然語言的非結構化查詢和半結構化的WSDL查詢,前者使用單向量模型表示,后者使用多向量模型表示。首先對用戶的自然語言查詢進行分詞、過濾和變換等處理,以便于向量化模塊建模和單向量服務庫中服務的匹配,最終目的是為了返回相關度高的Web服務供用戶選擇。此時,用戶可在候選服務列表中選取最滿意的WSDL作為反饋信息進行第2階段的查詢,即半結構化的WSDL查詢,通過與多向量服務庫中服務的相似度計算,返回與此WSDL相似度高的Web服務集。圖1為用戶反饋2階段Web服務查詢流程。

圖1 用戶反饋2階段Web服務查詢流程Fig.1 Flow chart of user feedback two-phaseWeb server discovery

2Web服務查詢系統

2.1系統功能需求

基于用戶反饋2階段查詢方法的Web服務查詢系統滿足的主要功能為:

1)從每一個注冊的WSDL描述文檔中抽取出服務功能描述信息,形成服務功能信息詞集,并對其進行分詞、過濾和變換,完成WSDL解析和處理。

2)為每個服務的功能信息詞集建立單向量索引和多向量索引,并存儲在數據庫中,完成WSDL索引建立和存儲。

3)定義多項非功能屬性指標,為每一個注冊入庫的服務QoS進行采集和計算。

4)針對用戶自然語言查詢和WSDL半結構化查詢,能夠完成查詢輸入與單向量或多向量模型的匹配,最終返回用戶滿意度高的服務集。

5)靈活的相似度計算模塊,自定義相似度計算方法完成服務文檔的評分。

2.2系統模型

2.2.1系統網絡模型

Web服務查詢系統網絡模型按照角色可分為Web服務使用方、Web服務提供方和Web服務中間方。Web服務提供方產生服務,通過開放對外接口提供給互聯網用戶有償或無償使用;Web服務使用方通過定位服務調用地址、使用服務;Web服務中間方是一個服務中心庫,存儲著大量Web服務描述和調用信息。中心庫信息主要面向Web服務使用者,來源可通過互聯網上采集或者服務提供方主動注冊。圖2為Web服務查詢系統網絡模型。

圖2 Web服務查詢系統網絡模型Fig.2 Network model of Web service discovery system

2.2.2數據關系映射模型

Web服務查詢系統是基于Lucene開源規范框架下開發的,系統主要功能包括WSDL服務信息的索引存儲和索引查詢。因此,需要了解WSDL結構和內容信息與Lucene標準索引數據格式之間的映射關系信息,以便于建立和查詢索引接口程序的設計與開發。WSDL到Lucene數據關系單向量或多向量的映射分別如圖3、4所示。

圖3 單向量數據關系映射圖Fig.3 Mapping of single vector data

圖4 多向量數據關系映射圖Fig.4 Mapping of multiple vector data

3Web服務查詢系統框架

Web服務查詢系統框架主要包括WSDL處理模塊、向量化模塊、相似度計算模塊和QoS模塊。系統面向服務查詢者和服務注冊者,提供不同的登錄接口,不同的登錄接口具有不同的操作權限。Web服務查詢系統框架如圖5所示。

圖5 Web服務查詢系統框架Fig.5 Framework of Web service discovery system

3.1WSDL索引建立與存儲

Web服務文檔經過WSDL處理模塊處理形成詞集,然后向量化模塊對詞集進行索引建立后再存儲。WSDL處理過程中的分詞、變換和過濾可參照現有互聯網上經典的算法,無法識別和濾除的需要加入人工標注。因此,為了得到具有代表性的Web服務詞集,采用軟件輔助工具和人工標注相結合的方法。偽代碼描述如下。

Function:索引建立與存儲

Input:WSDL文檔集WSD

Output:Void(是否生成索引存入數據庫)

1ArrayList〈wsdl〉WSD;

2IndexWriteriwriter;//存儲索引類

3QoSWriterqwriter;//寫QoS信息類

4QoSDataqdata;//QoS數據類

5FOREACHwsdliInWSD

6Definitiondefi=readWSDL(wsdli);

7qdata=collectQosData(defi.getAddress( ));

//QoS采集

8Documentdi;

9FOREACHattributejIndefi;

//抽取WSDL屬性

10 di.add(Filedj(attributej));

11Fieldj=Analyzed(Filedj(attributej));//分詞

12Fieldj=Stop_Filter(Filedj(attributej));//過濾

13Fieldj=Stem_Lemma(Filedj(attributej));

//變換

14CONTINUE

15qwriter.write(di.getID(),qdata);

16iwriter.addDocument(di);

17CONTINUE

18iwriter.commit();//寫入索引

3.2WSDL服務索引查詢

基于用戶反饋2階段查詢分為自然語言查詢和半結構化WSDL查詢2個階段。第1階段是查詢語句與文檔的相似度匹配,目的是為了返回相關度高的文檔集供用戶選擇,用戶可選擇一個滿意的Web服務文檔作為輸入,進行第2階段查詢。偽代碼描述如下。

Function:自然語言查詢

Input:字符串Query

Output:評分從大到小的Document文檔集

1StringQuery;

2Queryq=QueryParser.parse(Query);

//解析查詢字符串,將查詢q向量化成

//Document,Weight計算向量權重

3Documentdq=Scorer.Doc(Weight.creatweight(q));

4ArrayList〈IndexReader〉Simreader;

//單向量索引庫

5ArrayList〈TopScorer〉tscorer;

//文檔相似評分集,按分數從大到小排列

6FOREACHEsubReaderiInSimreader;

//讀索引庫

7Documentdi=subReader.getDocument(i);

8Scorersco=Similarity.score(dq,di);

//匹配評分

9tscorer.add(sco);

10CONTINUE

11RETURNtscorer.docs( );

第2階段查詢是文檔與文檔的相似度匹配,加入QoS屬性滿足用戶非功能需求,最終目的是為了返回高質量的Web服務文檔。偽代碼描述如下。

Function:半結構化WSDL查詢

Input:WSDL文檔Documentd

Output:匹配度從大到小的Document文檔集

1Documentdq;

2ArrayList〈IndexReader〉Mutil_reader;

//多向量索引庫;

3QoSReaderqreader;//讀QoS信息類

4Map〈DocumentScore,QosScore〉top_scorer;

//文檔相似評分集,按分數從大到小排列;

5FOREACHEsubReaderiInMutilreader;

//讀索引庫

6Documentdi=subReader.getDocument(i);

7QosScoreqsco=qreader.getQosScore(di.getID( ));//獲得該文檔的QoS評分信息

8DocumentScorersco=Similarity.score(dq,di);

//文檔相似度評分計算

9top_scorer.put(sco,qsco);

10CONTINUE

11RETURNtop_scorer.docs( );

4實驗結果

4.1實驗環境

Web服務查詢系統部署在戴爾7910塔式工作站,該服務器擁有IntelXeonE5-2670 2.3GHz雙處理器,32GB內存和1TB硬盤;系統在64位Windows7專業版操作系統上運行,采用JDK1.7+Eclipse4.3.2開發,MySQL5.0數據庫,Tomcat7.0服務器,Lucene3.0.3開源項目,解析工具WSDL4J和軟件架構SpringMVC。

數據集采用加拿大Guelph大學Ai-Masri等[9-10]收集的2507個真實WSDL文檔集合,該集合每個服務都有相應的人工服務質量標注信息、具體調用地址和服務名稱。系統通過WSDL4J解析該數據集,刪除一些不符合算法要求的WSDL文檔,例如,非英文描述的服務、信息不全的服務、無效服務等。然后,使用Lucene開源工具對每個服務信息塊進行分詞、詞干提取和詞態轉變,再次剔除一些不符合功能信息描述的服務,如重復的服務、僅用于本地測試的服務、功能錯綜復雜的服務等,最后剩余1371個WSDL文檔作為實驗數據集。

4.2評價方法

針對系統2個階段的服務查詢有不同的評價標準。對于第1階段的自然語言查詢,使用搜索引擎的用戶點擊方式有其特殊性,一般用戶更多關注返回的前N條服務。因此,對于此階段實驗采用P@N測試方法,用P表示。用Pm表示m個查詢的平均P@N值,對特定的查詢檢測其前N條結果的準確率。

(1)

(2)

其中:m為查詢數量;Ri為在第i個查詢中返回的相關服務文檔數量,0≤Ri≤N。

對于第2階段的半結構化WSDL查詢,可假設高相似的服務出現在結果列表越靠前就越有用,高相似的服務比低相似和不相似的服務有用。第2階段實驗采用NDCG(normalizeddiscountedcumulativegain)評價標準,衡量其DCG值與最佳DCG值接近程度來比較不同查詢之間的效能。

實驗為此階段查詢返回的服務制定5個相關性等級,分別為Perfect、Excellent、Good、Fair和Bad,對應5~1分,用r表示。

(3)

(4)

(5)

其中:p為返回的結果數量;ri為第i個結果的相關性等級;Npm為m個查詢下的平均Np值;Dp、Np、Ip分別為返回p個結果下的DCG值、NDCG值、最佳DCG值。

4.3測試結果分析

系統2個階段的測試都是基于平均查詢值。自然語言查詢進行15次,每次查詢輸入不同的查詢主題,采用平均P@N值衡量系統的服務相關度。半結構化WSDL查詢也進行15次,采用平均NDCG值反映服務匹配滿意度。自然語言和半結構化WSDL查詢性能如圖6、7所示。

圖6 自然語言查詢性能Fig.6 Query performance of natural language

圖7 半結構化WSDL查詢性能Fig.7 Query performance of semi-structured WSDL

5結束語

針對Web服務發現性能問題,提出用戶反饋2階段查詢方法,基于該方法引入基于Lucene的Web服務查詢系統,通過實驗分析和測試,系統的查詢性能在用戶需求多變情況下有一定的優勢,下一步工作將建立面向海量服務的分布式架構。

參考文獻:

[1]龍運堅,何倩,王勇,等.基于對等架構的Web服務注冊系統[J].計算機應用,2014(7):1983-1987.

[2]PLATZERC,DUSTDARS.Avectorspacesearchengineforwebservices[C]//The3rdIEEEEuropeanConfonWebServices,2005:62-71.

[3]林文亮,王勇,何倩.基于QoS感知的S-Skyline服務選擇算法[J].桂林電子科技大學學報,2014,34(6):464-468.

[4]郭得科,任彥,陳洪輝,等.一種QoS有保障的Web服務分布式發現模型[J].軟件學報,2006,11:2324-2334.

[5]李征,王健,張能,等.一種面向主題的領域服務聚類方法[J].計算機研究與發展,2014(2):408-419.

[6]MICHAELM,ERIKH.Lucene實戰[M].牛長流,肖宇,譯.北京:人民郵電出版社,2011:4-5.

[7]BELLWOODT,CLEMENTL,EHNEBUSKED,etal.UDDIspectechnicalcommitteespecification[EB/OL].(2002-07-19)[2014-03-15].http://www.uddi.org/pubs/uddi-v3.00-published-20020719.htm.

[8]CHRISTENSENE,CURBERAF,MEREDITHG,etal.Webservicesdescriptionlanguage(WSDL)1.1 [EB/OL].(2001-05-15)[2014-03-15].http://www.w3.org/TR/wsdl.

[9]AI-MASRIE,MAHMOUDQH.Discoveringthebestwebservice[C]//The16thInt’lConfonWorldWideWeb,2007:1257-1258.

[10]AL-MASRIE,MAHMOUDQH.QoS-baseddiscoveryandrankingofwebservices[C]//ProceedingsofIEEE16thInternationalConferenceonComputerCommunicationsandNetworks,2007:529-534.

編輯:梁王歡

Design and implementation of Web service discovery system based on Lucene

YE Junhon, WANG Yong, QIANG Baohua

(School of Computer Science and Engineering, Guilin University of Electronic Technology, Guilin 541004, China)

Abstract:A two-phase Web service discovery method based on user feedback is proposed for the complex user requirements. Web service discovery system based on Lucene is introduced, it consists of WSDL processing module, the vectorization module, similarity calculation module and QoS module. The system supports the function of WSDL parsing, WSDL indexing and querying, custom weighting and QoS. Finally, with the real 2507 WSDL documents from Guelph University, a proper Web service discovery test collection is constructed to test the query performance of system. The experimental results demonstrate that the system has higher value of P@N and NDCP, which validates its feasibility and efficiency.

Key words:Web service; user feedback two-phase query; WSDL; Lucene

中圖分類號:TP312

文獻標志碼:A

文章編號:1673-808X(2016)01-0029-06

通信作者:王勇(1964-),男,四川閬中人,教授,博士,研究方向為計算機網絡技術與應用、信息安全。E-mail:ywang@guet.edu.cn

基金項目:國家自然科學基金(61163057,61163058);廣西自然科學基金(2012GXNSFAA053228);廣西可信軟件重點實驗室開放基金(KX201308)

收稿日期:2015-04-20

主站蜘蛛池模板: 22sihu国产精品视频影视资讯| 亚洲欧美日韩中文字幕一区二区三区| 无码福利日韩神码福利片| 久草视频中文| 免费在线a视频| 一级毛片免费高清视频| 欧美午夜在线视频| 国产成+人+综合+亚洲欧美| 亚洲成人77777| 精品久久高清| 999国产精品| 久久综合五月| 婷婷色狠狠干| 全部免费毛片免费播放| 国产福利拍拍拍| AV不卡在线永久免费观看| 任我操在线视频| 国产在线专区| 亚洲AV无码久久精品色欲| 嫩草在线视频| 伊人国产无码高清视频| 国产剧情伊人| 91成人精品视频| 精品国产香蕉在线播出| 青青青视频91在线 | 中文字幕第4页| 国产成人区在线观看视频| 亚洲侵犯无码网址在线观看| 手机在线看片不卡中文字幕| 欧美国产在线看| 久久久91人妻无码精品蜜桃HD| 亚洲无码91视频| 亚洲第一综合天堂另类专| 欧美色视频日本| 午夜国产不卡在线观看视频| 99热亚洲精品6码| 欧美性猛交xxxx乱大交极品| 国产一级一级毛片永久| 97一区二区在线播放| 在线观看欧美国产| 亚洲精品制服丝袜二区| 精品视频在线一区| 亚洲无线观看| 国产激情无码一区二区免费| 国产日韩久久久久无码精品| 亚洲欧美在线综合一区二区三区| 一级爆乳无码av| 国产97色在线| 夜夜操国产| 成人精品区| 欧美日韩在线成人| 在线播放精品一区二区啪视频| 日韩美一区二区| 国产色婷婷视频在线观看| 欧美亚洲一区二区三区在线| 极品尤物av美乳在线观看| 欧美三级视频网站| 97视频在线观看免费视频| 日韩毛片免费观看| 国产麻豆福利av在线播放| 亚洲AV色香蕉一区二区| 深爱婷婷激情网| 国内嫩模私拍精品视频| 欧美日韩免费观看| 白浆免费视频国产精品视频 | 国产一区自拍视频| 国产一区二区色淫影院| 亚洲一道AV无码午夜福利| 亚洲精品动漫在线观看| 亚洲无码A视频在线| 四虎永久在线视频| 亚洲视频免| 欧美日韩精品一区二区在线线 | 国产精品部在线观看| 在线无码九区| 99久久国产综合精品女同| 中文字幕欧美成人免费| 妇女自拍偷自拍亚洲精品| 2021精品国产自在现线看| 成年人免费国产视频| 国内精品久久人妻无码大片高| 99色亚洲国产精品11p|