国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于語義的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法

      文檔序號:6629064閱讀:530來源:國知局
      基于語義的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法
      【專利摘要】本發(fā)明涉及Web服務(wù)【技術(shù)領(lǐng)域】,為實現(xiàn)對Web服務(wù)的可用性、響應(yīng)時間等QoS信息的監(jiān)測,極大地解決人工輸入?yún)?shù)的負(fù)擔(dān),節(jié)省時間和開銷,并保證QoS的準(zhǔn)確性和時效性。為此,本發(fā)明采取的技術(shù)方案是,基于語義的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法(1)解析Web服務(wù)的WSDL文件;(2)建立基于DBpedia關(guān)聯(lián)數(shù)據(jù)的Web服務(wù)標(biāo)注模型;(3)判斷標(biāo)注結(jié)果是否為本體概念;(4)將標(biāo)注的本體概念作為賓語;(5)利用JavaScript發(fā)送封裝有SPARQL查詢語句的請求給DBpedia SPARQL協(xié)議終端http://dbpedia.org/sparql;本發(fā)明主要應(yīng)用于Web服務(wù)。
      【專利說明】基于語義的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及Web服務(wù)【技術(shù)領(lǐng)域】,具體來說,涉及一種基于語義的Web服務(wù)自動調(diào)用 方法,以及自動的服務(wù)QoS監(jiān)測方法。 技術(shù)背景
      [0002] Web服務(wù)是實現(xiàn)面向服務(wù)計算的主要技術(shù),是面向服務(wù)的架構(gòu)(S0A)的最佳實現(xiàn)。 服務(wù)接口描述,如Web服務(wù)描述語言(WSDL)定義的機器可讀格式的接口,從數(shù)據(jù)和功能兩 個方面定義軟件所支持的操作,描述了服務(wù)運行環(huán)境、輸入/輸出參數(shù)等信息。目前S0A軟 件測試得到了研究者和開發(fā)者的廣泛關(guān)注,基于服務(wù)的軟件系統(tǒng)測試必要考慮三個因素: 自動化、動態(tài)協(xié)同能力、服務(wù)自主計算。服務(wù)重構(gòu)需要持續(xù)在互聯(lián)網(wǎng)上驗證與確認(rèn)以保證 Web服務(wù)在功能和性能上滿足實際生活應(yīng)用的需求。
      [0003] 此外,服務(wù)質(zhì)量(Quality of Service, QoS)從不同角度對服務(wù)的質(zhì)量進(jìn)行了評 估,如響應(yīng)時間、可用性、安全性、可靠性、服務(wù)價格、吞吐量、準(zhǔn)確性、可擴展性、并發(fā)處理能 力等。QoS信息在Web服務(wù)的發(fā)現(xiàn)、組合、交互過程中起著重要作用,是Web服務(wù)滿足服務(wù)請 求者需求能力的一種度量。目前QoS數(shù)據(jù)的獲取主要依賴服務(wù)提供商的發(fā)布和用戶的反饋 信息,這兩種方式都是主觀獲取方式。此外,隨著服務(wù)數(shù)量的增長,對于批量的服務(wù),手工配 置參數(shù)的方式不僅耗費時間,還極易出現(xiàn)錯誤。Web服務(wù)發(fā)布之后可能會被更改和演化,月艮 務(wù)的QoS信息也需要被更新,從而保持信息的時效性。通過自動地服務(wù)調(diào)用運行服務(wù)來采 集QoS數(shù)據(jù),可以避免服務(wù)提供商提供的虛假信息和客戶的主觀評價差異,使得QoS數(shù)據(jù)具 有更好的準(zhǔn)確性與及時性。因此,實現(xiàn)Web服務(wù)調(diào)用自動化,能夠使得服務(wù)測試與QoS監(jiān)測 自動化,極大地解決人工輸入?yún)?shù)的負(fù)擔(dān),節(jié)省時間和開銷。
      [0004] 實現(xiàn)服務(wù)的自動化調(diào)用最重要內(nèi)容是參數(shù)數(shù)據(jù)的自動化生成。然而,自動化參數(shù) 數(shù)據(jù)生成有一定的困難。在S0A中,服務(wù)松散地耦合,這意味著它們獨立于彼此而開發(fā),從 而不具有一致的共同接口。因此,如何保證Web服務(wù)請求者能夠提供Web服務(wù)提供者需要的 輸入信息,成為了亟待解決的問題。目前,語義Web服務(wù)的提出為了實現(xiàn)機器可理解的Web 服務(wù),旨在實現(xiàn)自動化的Web服務(wù)發(fā)現(xiàn)及組合等過程。但是,語義Web服務(wù)發(fā)現(xiàn)方法中沒有 專門對QoS的描述,QoS監(jiān)測仍然需要人工參與,因此仍然無法支持批量地、自動地服務(wù)調(diào) 用以及QoS信息獲取。
      [0005] 針對以上問題,有必要提出一種Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法,方便于批 量的服務(wù)QoS信息實時監(jiān)測。


      【發(fā)明內(nèi)容】

      [0006] 為克服現(xiàn)有技術(shù)的不足,利用基于服務(wù)接口的描述文檔和語義網(wǎng)技術(shù),自動生成 Web服務(wù)的調(diào)用數(shù)據(jù)并與Web服務(wù)交互,實現(xiàn)對Web服務(wù)的可用性、響應(yīng)時間等QoS信息的 監(jiān)測,極大地解決人工輸入?yún)?shù)的負(fù)擔(dān),節(jié)省時間和開銷,并保證QoS的準(zhǔn)確性和時效性。 為此,本發(fā)明采取的技術(shù)方案是,基于語義的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法
      [0007] (1)解析Web服務(wù)的WSDL文件,獲取服務(wù)名稱、服務(wù)接口名稱、服務(wù)接口描述、服務(wù) 參數(shù)名稱、服務(wù)參數(shù)類型;
      [0008] (2)利用DBpedia本體標(biāo)注服務(wù)參數(shù),包括建立基于DBpedia關(guān)聯(lián)數(shù)據(jù)的Web服務(wù) 標(biāo)注模型,對Web服務(wù)參數(shù)層進(jìn)行參數(shù)精化和清洗,利用DBpedia Spotlight應(yīng)用將Web服 務(wù)的每個清洗后的參數(shù)關(guān)聯(lián)到一個合適的DBpedia實例數(shù)據(jù)或本體概念上;
      [0009] (3)判斷標(biāo)注結(jié)果是否為本體概念,如果是,則執(zhí)行步驟(4);如果否,則執(zhí)行步驟
      [10] ;
      [0010] ⑷將標(biāo)注的本體概念作為賓語,謂語為資源描述框架(RDF)的rdf:type 屬性,按照簡單協(xié)議和資源描述框架查詢語言(Simple Protocol and RDF Query Language, SPARQL)的語法規(guī)則,生成SPARQL語句;
      [0011] (5)利用JavaScript發(fā)送封裝有SPARQL查詢語句的請求給DBpedia SPARQL協(xié)議 http://dbpedia. org/sparql ;
      [0012] (6)獲取對象符號 JS0N(JavaScript Object Notation, JavaScript)格式的服務(wù) 返回結(jié)果,對其進(jìn)行解封裝;
      [0013] (7)判斷返回結(jié)果是否包含實例,如果是,則執(zhí)行步驟(8);如果否,則執(zhí)行步驟 (11);
      [0014] (8)獲取返回結(jié)果的實例列表,即為該本體概念下的實例值的列表;
      [0015] (9)順序讀取實例列表中的一個實例值;
      [0016] (10)判斷該實例值是否包含除大小寫字母和下劃線以外的字符,如果是,則執(zhí)行 步驟(9);如果否,則執(zhí)行步驟(12);
      [0017] (11)基于約束限制模型生成服務(wù)參數(shù)的測試數(shù)據(jù);
      [0018] (12)根據(jù)測試數(shù)據(jù),自動生成參數(shù)的可擴展標(biāo)記語言(XML)文件;
      [0019] (13)利用XML文件調(diào)用Web服務(wù),獲取QoS信息;
      [0020] (14)記錄得到的該服務(wù)的QoS信息;
      [0021] (15)設(shè)定定時自動更新QoS信息的時間周期,到期后觸發(fā)QoS自動監(jiān)測工作,即執(zhí) 行步驟(1)。
      [0022] 本發(fā)明的步驟(11)具體過程如下:
      [0023] 1L 1讀取服務(wù)的參數(shù)信息;
      [0024] 11. 2判斷該參數(shù)是否為簡單數(shù)據(jù)類型,如果是,則執(zhí)行步驟11. 5,;如果否,則執(zhí) 行步驟11. 3 ;
      [0025] 11. 3分解復(fù)雜類型的參數(shù);
      [0026] 11. 4判斷復(fù)雜參數(shù)分解后的參數(shù)是否為簡單類型,如果是,則執(zhí)行步驟11.5 ;如 果否,則執(zhí)行步驟11. 3繼續(xù)分解復(fù)雜類型參數(shù);
      [0027] 11. 5獲取該參數(shù)信息及約束條件;
      [0028] 11. 6判斷該參數(shù)是否為XML架構(gòu)的pattern元素,如果是,則執(zhí)行步驟11. 7,;如 果否,則執(zhí)行步驟11. 8;
      [0029] 11. 7調(diào)用REX(XML遠(yuǎn)程事件,Remote Events for XML)生成參數(shù)的測試值,執(zhí)行 步驟11. 10 ;
      [0030] 11. 8設(shè)置參數(shù)的范圍、大小、長度約束限制;
      [0031] 11. 9隨機生成參數(shù)測試值;
      [0032] 11. 10記錄基于約束限制模型生成服務(wù)參數(shù)的測試數(shù)據(jù)。
      [0033] 本發(fā)明的步驟(13)具體過程如下:
      [0034] 13. 1新建Axis2服務(wù)客戶端;
      [0035] 13. 2解析測試參數(shù)的XML文件;
      [0036] 13. 3將測試參數(shù)值封裝成Axis2中的OMElement對象;
      [0037] 13. 4根據(jù)服務(wù)的接口調(diào)用Web服務(wù);
      [0038] 13. 5判斷服務(wù)調(diào)用是否成功,如果是,則執(zhí)行步驟13. 6 ;如果否,則執(zhí)行步驟 13. 10 ;
      [0039] 13. 6根據(jù)發(fā)送請求到接受響應(yīng)信息的間隔時間,計算服務(wù)的響應(yīng)時間;
      [0040] 13. 7在給定的一段時間內(nèi),根據(jù)服務(wù)總的調(diào)用次數(shù),計算服務(wù)的吞吐率;
      [0041] 13. 8在給定的一段時間內(nèi),根據(jù)服務(wù)被成功交付的次數(shù),計算服務(wù)的可靠性;
      [0042] 13. 9記錄服務(wù)的QoS監(jiān)測日志,包括記錄服務(wù)調(diào)用的時間、調(diào)用的次數(shù)等,執(zhí)行步 驟 13. 12 ;
      [0043] 13. 10利用AxisFault獲取異常信息,其異常情況包括連接異 常(ConnectException)、輸入輸出異常(I/O Exception)、未知主機異常 (UnknownHostException)、超文本傳送協(xié)議301錯誤(HTTP 301Erro;r)、超文本傳送協(xié)議 302錯誤(HTTP 302Error)、簡單對象訪問協(xié)議異常(SoapException);
      [0044] 13. 11將異常情況的分析結(jié)果記錄到服務(wù)的調(diào)用異常日志中;
      [0045] 13. 12根據(jù)調(diào)用及異常分析結(jié)果,獲取服務(wù)的可訪問性。
      [0046] 與已有技術(shù)相比,本發(fā)明的技術(shù)特點與效果:
      [0047] 本發(fā)明通過自動調(diào)用Web服務(wù),實現(xiàn)對Web服務(wù)的可用性、響應(yīng)時間等QoS信息的 監(jiān)測,極大地解決人工輸入?yún)?shù)的負(fù)擔(dān),節(jié)省時間和開銷,并保證QoS的準(zhǔn)確性和時效性; 同時,本發(fā)明還有利于提高服務(wù)質(zhì)量,提高服務(wù)消費者的可知性。

      【專利附圖】

      【附圖說明】
      [0048] 圖1為本發(fā)明提供的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法的流程圖;
      [0049] 圖2為本發(fā)明提供的基于約束限制模型生成參數(shù)測試數(shù)據(jù)的流程圖;
      [0050] 圖3為本發(fā)明提供的自動獲取QoS信息方法的流程圖;
      [0051] 圖4為本發(fā)明提供的調(diào)用Web服務(wù)返回信息的異常處理分支情況。

      【具體實施方式】
      [0052] 本發(fā)明采用的技術(shù)方案是:
      [0053] (1)解析Web服務(wù)的WSDL文件,獲取服務(wù)名稱、服務(wù)接口名稱、服務(wù)接口描述、服務(wù) 參數(shù)名稱、服務(wù)參數(shù)類型;
      [0054] (2)利用DBpedia本體標(biāo)注服務(wù)參數(shù),包括建立基于DBpedia關(guān)聯(lián)數(shù)據(jù)的Web服務(wù) 標(biāo)注模型,對Web服務(wù)參數(shù)層進(jìn)行參數(shù)精化和清洗,利用DBpedia Spotlight應(yīng)用將Web 服務(wù)的每個清洗后的參數(shù)關(guān)聯(lián)到一個合適的DBpedia實例數(shù)據(jù)或本體概念上(參見專利 201310172375. 1);
      [0055] (3)判斷標(biāo)注結(jié)果是否為本體概念,如果是,則執(zhí)行步驟(4);如果否,則執(zhí)行步驟 (10);
      [0056] (4)將標(biāo)注的本體概念作為賓語,謂語為RDF的rdf: type屬性,按照SPARQL語法 規(guī)則,生成SPARQL語句;
      [0057] (5)利用JavaScript發(fā)送封裝有SPARQL查詢語句的請求給DBpedia SPARQL協(xié)議 http://dbpedia. org/sparql ;
      [0058] (6)獲取JS0N格式的服務(wù)返回結(jié)果,進(jìn)行解封裝;
      [0059] (7)判斷返回結(jié)果是否包含實例,如果是,則執(zhí)行步驟⑶;如果否,則執(zhí)行步驟 (11);
      [0060] (8)獲取返回結(jié)果的實例列表,即為該本體概念下的實例值的列表;
      [0061] (9)順序讀取實例列表中的一個實例值;
      [0062] (10)判斷該實例值是否包含除大小寫字母和下劃線以外的字符,如果是,則執(zhí)行 步驟(9);如果否,則執(zhí)行步驟(12);
      [0063] (11)基于約束限制模型生成服務(wù)參數(shù)的測試數(shù)據(jù);
      [0064] (12)根據(jù)測試數(shù)據(jù),自動生成參數(shù)的XML文件;
      [0065] (13)利用XML文件調(diào)用Web服務(wù),獲取QoS信息;
      [0066] (14)記錄得到的該服務(wù)的QoS信息;
      [0067] (15)設(shè)定定時自動更新QoS信息的時間周期,到期后觸發(fā)QoS自動監(jiān)測工作,即執(zhí) 行步驟(1)。
      [0068] 本發(fā)明的步驟(11)具體過程如下:
      [0069] 11. 1讀取服務(wù)的參數(shù)信息;
      [0070] 11. 2判斷該參數(shù)是否為簡單數(shù)據(jù)類型,如果是,則執(zhí)行步驟11. 5,;如果否,則執(zhí) 行步驟11. 3 ;
      [0071] 1L 3分解復(fù)雜類型的參數(shù);
      [0072] 11. 4判斷復(fù)雜參數(shù)分解后的參數(shù)是否為簡單類型,如果是,則執(zhí)行步驟11.5 ;如 果否,則執(zhí)行步驟11. 3繼續(xù)分解復(fù)雜類型參數(shù);
      [0073] 11. 5獲取該參數(shù)信息及約束條件;
      [0074] 11. 6判斷該參數(shù)是否為XML架構(gòu)的pattern元素,如果是,則執(zhí)行步驟11. 7,;如 果否,則執(zhí)行步驟11. 8;
      [0075] 11. 7調(diào)用REX(XML遠(yuǎn)程事件,Remote Events for XML)生成參數(shù)的測試值,執(zhí)行 步驟11. 10 ;
      [0076] 11. 8設(shè)置參數(shù)的范圍、大小、長度約束限制;
      [0077] 1L 9隨機生成參數(shù)測試值;
      [0078] 11. 10記錄基于約束限制模型生成服務(wù)參數(shù)的測試數(shù)據(jù)。
      [0079] 本發(fā)明的步驟(13)具體過程如下:
      [0080] 13. 1新建Axis2服務(wù)客戶端;
      [0081] 13. 2解析測試參數(shù)的XML文件;
      [0082] 13. 3將測試參數(shù)值封裝成Axis2的OMElement對象;
      [0083] 13. 4根據(jù)服務(wù)的接口調(diào)用Web服務(wù);
      [0084] 13. 5判斷服務(wù)調(diào)用是否成功,如果是,則執(zhí)行步驟13. 6 ;如果否,則執(zhí)行步驟 13. 10 ;
      [0085] 13. 6根據(jù)發(fā)送請求到接受響應(yīng)信息的間隔時間,計算服務(wù)的響應(yīng)時間;
      [0086] 13. 7在給定的一段時間內(nèi),根據(jù)服務(wù)總的調(diào)用次數(shù),計算服務(wù)的吞吐率;
      [0087] 13. 8在給定的一段時間內(nèi),根據(jù)服務(wù)被成功交付的次數(shù),計算服務(wù)的可靠性;
      [0088] 13. 9記錄服務(wù)的QoS監(jiān)測日志,包括記錄服務(wù)調(diào)用的時間、調(diào)用的次數(shù)等,執(zhí)行步 驟 13. 12 ;
      [0089] 13. 10利用AxisFault獲取異常信息,其異常情況包括ConnectException、I/O Exception、UnknownHostException、HTTP 301Error、HTTP 302Error、SoapException ;
      [0090] 13. 11將異常情況的分析結(jié)果記錄到服務(wù)的調(diào)用異常日志中;
      [0091] 13. 12根據(jù)調(diào)用及異常分析結(jié)果,獲取服務(wù)的可訪問性。
      [0092] 為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方 式作進(jìn)一步地詳細(xì)描述。
      [0093] 為了減少人工輸入?yún)?shù)的負(fù)擔(dān),保證QoS的準(zhǔn)確性和時效性,本發(fā)明實施提供了 一種Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法,參見圖1,圖2和圖3,詳見下文描述:
      [0094] (1)解析Web服務(wù)的WSDL文件,可以利用Dom4j工具解析Web服務(wù)文檔,從而獲取 對應(yīng)標(biāo)簽下的服務(wù)名稱、服務(wù)接口名稱、服務(wù)接口描述、服務(wù)參數(shù)名稱、服務(wù)參數(shù)類型;
      [0095] (2)利用DBpedia本體標(biāo)注服務(wù)參數(shù),包括建立基于DBpedia關(guān)聯(lián)數(shù)據(jù)的Web服 務(wù)標(biāo)注模型,對Web服務(wù)參數(shù)層進(jìn)行參數(shù)精化和清洗,利用DBpedia Spotlight應(yīng)用將Web 服務(wù)的每個清洗后的參數(shù)關(guān)聯(lián)到一個合適的DBpedia實例數(shù)據(jù)或本體概念上(參見專利 201310172375. 1);
      [0096] (3)判斷標(biāo)注結(jié)果是否為本體概念,如果是,則需要找到對應(yīng)的實例作為參數(shù)的測 試數(shù)據(jù),即執(zhí)行步驟(4);如果否,則可直接利用該標(biāo)注實例作為參數(shù)的測試數(shù)據(jù),即執(zhí)行 步驟(10);
      [0097] (4)將標(biāo)注的本體概念作為賓語,謂語為rdf: type,按照SPARQL (簡單協(xié)議和資源 描述框架查詢語言,Simple Protocol and RDF Query Language)語法規(guī)則,生成SPARQL語 句,下面為 DBpedia 本體概念 http://dbpedia. org/ontology/Currency 對應(yīng)的 SPARQL 語 句,獲取的前2000個實例值;
      [0098] PREFIX owl :<http ://www. w3. org/2002/07/owl#>
      [0099] PREFIX xsd :<http ://wwww. w3. org/2001/XMLSchema#>
      [0100] PREFIX rdfs :<http ://www. w3. org/2000/01/rdf-schema#>
      [0101] PREFIX rdf :<http ://www. w3. org/1999/02/22-rdf-syntax-ns#>
      [0102] PREFIX foaf :<http ://xmlns. com/foaf/0. l/>
      [0103] PREFIX dc :<http ://purl. org/dc/elements/1. l/>
      [0104] PREFIX :<http ://dbpedia. org/resource/>
      [0105] PREFIX dbpedia2 :<http ://dbpedia. org/property/>
      [0106] PREFIX dbpedia :<http ://dbpedia. org/>
      [0107] PREFIX skos :<http ://www. w3. org/2004/02/skos/core#>
      [0108] SELECT*WHERE {
      [0109] ? subject rdf :type<http ://dbpedia. org/ontology/Currency>
      [0110] }LIMIT2000
      [0111] (5)利用JavaScript發(fā)送封裝有SPARQL查詢語句的請求給DBpedia SPARQL協(xié)議 終端 http ://dbpedia. org/sparql ;
      [0112] (6)獲取JSON格式的服務(wù)返回結(jié)果,進(jìn)行解封裝;
      [0113] (7)判斷返回結(jié)果是否包含實例,如果是,則執(zhí)行步驟(8);如果否,則執(zhí)行步驟 (11),因為有些本體概念是無法查詢到其對應(yīng)的實例,如對于DBpedia本體的IP_address 類,我們不能得到實例結(jié)果,因此需要利用參數(shù)信息及約束來自動生成參數(shù)的測試數(shù)據(jù);
      [0114] (8)獲取返回結(jié)果的實例列表,即為該本體概念下的實例值的列表如Currency 概念對應(yīng)的實例有 http ://dbpedia. org/resource/Krak % C3 % B3w_z % C5 % 82oty、 http ://dbpedia. org/resource/Polish_Z% C5% 82oty>http ://dbpedia. org/resource/ Straits_Dollar 等實例值;
      [0115] (9)順序讀取實例列表中的一個實例值;
      [0116] (10)判斷該實例值是否包含除大小寫字母和下劃線以外的字符,如果是,則執(zhí)行 步驟(9),如上述Currency概念,則取第三個實例作為參數(shù)的測試數(shù)據(jù),而前面兩個實例值 被過濾掉,這樣就保留了更符合人理解的實例值,增加服務(wù)調(diào)用成功率;如果否,則執(zhí)行步 驟(12);
      [0117] (11)基于約束限制模型生成服務(wù)參數(shù)的測試數(shù)據(jù);
      [0118] (12)根據(jù)測試數(shù)據(jù),自動生成參數(shù)的XML文件,自動生成參數(shù)的XML文件, PostalCodeWorld_Mexico為Web服務(wù)下的方法名,在它下面有PostalCode和LICENSE兩個 參數(shù),而我們算法實現(xiàn)自動生成參數(shù)就是這兩個標(biāo)簽的值,其中PostalCode下的參數(shù)值為 基于本體概念下的參數(shù)生成算法生成的,LICENSE下的參數(shù)值為基于約束限制下的參數(shù)生 成算法生成的;
      [0119] <?xml version='*1.0" eocoding=*'UTF-8'*?> -<root> -<PostaiCodeWortd_Mexico> -《parameters》 <PostafCode> 101_California_Street</PostalCode> <OCENSE>Utu</LlCEMSE> 《/parameters》 《/Postal Code World_MexSco》 </root>
      [0120] (13)利用XML文件調(diào)用Web服務(wù),獲取QoS信息;
      [0121] (14)記錄得到的該服務(wù)的QoS信息;
      [0122] (15)設(shè)定定時自動更新QoS信息的時間周期,到期后觸發(fā)QoS自動監(jiān)測工作,即執(zhí) 行步驟(1)。
      [0123] 本發(fā)明的步驟(11)是基于約束限制模型生成參數(shù)測試數(shù)據(jù)方法,是在參數(shù)對應(yīng) 的實例值為空的情況下執(zhí)行的,是將全局變量中得到的參數(shù)信息和約束條件,根據(jù)其簡單 數(shù)據(jù)類型、范圍、大小、長度限制利用隨機生成算法得到參數(shù)值。其流程參見圖2,具體過程 如下:
      [0124] 11. 1讀取服務(wù)的參數(shù)信息,在上述步驟(1)的基礎(chǔ)上即可直接得到參數(shù)信息;
      [0125] 11. 2判斷該參數(shù)是否為簡單數(shù)據(jù)類型,如果是,則執(zhí)行步驟11.5,;如果否,則執(zhí) 行步驟11. 3 ;
      [0126] 11. 3根據(jù)WSDL文檔定義,分解復(fù)雜類型的參數(shù);
      [0127] 11. 4判斷復(fù)雜參數(shù)分解后的參數(shù)是否為簡單類型,如果是,則執(zhí)行步驟11.5 ;如 果否,則執(zhí)行步驟11. 3繼續(xù)分解復(fù)雜類型參數(shù);
      [0128] 11. 5獲取該參數(shù)信息及約束條件;
      [0129] 11. 6判斷該參數(shù)是否為XML架構(gòu)的pattern元素,如果是,則執(zhí)行步驟11. 7,;如 果否,則執(zhí)行步驟11. 8 ;具體地,基于約束模型的參數(shù)生成的算法如下:
      [0130] V WS0L £ W €· Wife toiief Boaii; if ....Γ .* ....二.3 ::...卜.κ ^ ι.j^p-?tapceof :*:r 1 L---*: ντ;-.-- zt -- ? xnstaRcecjf >:.r. 1 , :i.: : .: V. . Π; 4:.. ,.....: _ ·"!··. else i \ . ..instance-of , .,-r -;:-:; ;/: :- - i ,-- : v-f -i -..:.j - "-- ?ls? if I . * 1^:: .l· :. 士?。? > .c.d.j.:i; erm ?Ise if · . : :, iiir.t*nceof -r F : r V.j ;1 fi Yl - nrlse i £ i .:….: i :..,二 *乂.:.. : j .. i . \1--? Kz'Jl- *ls色 if i :'.. Γs -::: : " ; instAn.ceQf ^r... r: : -::f-K,:-:} i ----?ιρ > ::
      [0131] 11. 7調(diào)用REX (XML遠(yuǎn)程事件,Remote Events for XML)生成參數(shù)的測試值,執(zhí)行 步驟11. 10 ;
      [0132] 11. 8設(shè)置參數(shù)的范圍、大小、長度約束限制;
      [0133] 11. 9若類型為int, String, float, date, bool等簡單數(shù)據(jù)類型,隨機生成參數(shù)測 試值;
      [0134] 11. 10記錄基于約束限制模型生成服務(wù)參數(shù)的測試數(shù)據(jù)。
      [0135] 高質(zhì)量的Web服務(wù)應(yīng)當(dāng)是穩(wěn)定的、可靠的。為自動獲取Web服務(wù)的QoS信息,本發(fā) 明將服務(wù)QoS描述為:QoS= {Rt,T,Rb,A},包括服務(wù)的響應(yīng)時間(Response Time)、吞吐率 (Throughput)、可靠性(Reliability)以及可訪問性(Availability)。其中,服務(wù)的響應(yīng) 時間與當(dāng)前的網(wǎng)路狀況有一定的關(guān)系。響應(yīng)時間等于用戶發(fā)送請求到接受響應(yīng)信息的間隔 時間,是服務(wù)處理時間和服務(wù)傳輸時間之和,公式為:T = Ts+Tc。其中Ts表示服務(wù)時間, Tc表示通信時間;服務(wù)的吞吐率是指給定的一段時間內(nèi),服務(wù)總的調(diào)用次數(shù),吞吐率增加, 則響應(yīng)時間也將變大;服務(wù)的可靠性是指在最大預(yù)期時間內(nèi),請求被正確響應(yīng)的概率,可以 通過在最大預(yù)期時間內(nèi)服務(wù)被成功交付的次數(shù)除以指總的調(diào)用次數(shù)計算得到;服務(wù)的可訪 問性是指在某個特定的一段時間內(nèi)服務(wù)可被訪問的概率,可以通過服務(wù)可以被訪問的總的 時間除以該時間段計算得到。
      [0136] 本發(fā)明的步驟(13)是自動獲取QoS信息方法,用Asix2對服務(wù)進(jìn)行調(diào)用,并將自 動生成參數(shù)賦值給該服務(wù),得到從服務(wù)器返回的信息,并對信息進(jìn)行異常處理等操作。其流 程參見圖3,具體過程如下:
      [0137] 13. 1新建Axis2服務(wù)客戶端;
      [0138] 13. 2解析測試參數(shù)的XML文件;
      [0139] 13. 3將測試參數(shù)值封裝成Axis2的OMElement對象;
      [0140] 13. 4根據(jù)服務(wù)的接口調(diào)用Web服務(wù);
      [0141] 13. 5判斷服務(wù)調(diào)用是否成功,如果是,則執(zhí)行步驟13. 6 ;如果否,則執(zhí)行步驟 13. 10 ;
      [0142] 13. 6根據(jù)發(fā)送請求到接受響應(yīng)信息的間隔時間,計算服務(wù)的響應(yīng)時間;
      [0143] 13. 7在給定的一段時間內(nèi),根據(jù)服務(wù)總的調(diào)用次數(shù),計算服務(wù)的吞吐率;
      [0144] 13. 8在給定的一段時間內(nèi),根據(jù)服務(wù)被成功交付的次數(shù),計算服務(wù)的可靠性;
      [0145] 13. 9記錄服務(wù)的QoS監(jiān)測日志,包括記錄服務(wù)調(diào)用的時間、調(diào)用的次數(shù)等,執(zhí)行步 驟 13. 12 ;
      [0146] 13. 10利用AxisFault獲取異常信息,其異常情況包括ConnectException、1/ 0 Exception、UnknownHostException、HTTP 301Error、HTTP 302Error、SoapException, 若異常結(jié)果為 ConnectException、1/0 Exception、UnknownHostException 導(dǎo)致的連接時 間超時,可用認(rèn)為此類服務(wù)已經(jīng)不再存活;若異常結(jié)果為HTTP 301Error、HTTP 302Error、 SoapException是由于SoapAction異常導(dǎo)致;若異常結(jié)果為所有方法參數(shù)調(diào)用失敗,貝lj為 自動生成參數(shù)不合法導(dǎo)致。
      [0147] 13. 11將異常情況的分析結(jié)果記錄到服務(wù)的調(diào)用異常日志中;
      [0148] 13. 12根據(jù)調(diào)用及異常分析結(jié)果,獲取服務(wù)的可訪問性。
      【權(quán)利要求】
      1. 一種基于語義的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法,其特征是,包括下列步驟: (1) 解析Web服務(wù)的WSDL文件,獲取服務(wù)名稱、服務(wù)接口名稱、服務(wù)接口描述、服務(wù)參數(shù) 名稱、服務(wù)參數(shù)類型; (2) 利用DBpedia本體標(biāo)注服務(wù)參數(shù),包括建立基于DBpedia關(guān)聯(lián)數(shù)據(jù)的Web服務(wù)標(biāo)注 模型,對Web服務(wù)參數(shù)層進(jìn)行參數(shù)精化和清洗,利用DBpedia Spotlight應(yīng)用將Web服務(wù)的 每個清洗后的參數(shù)關(guān)聯(lián)到一個合適的DBpedia實例數(shù)據(jù)或本體概念上; (3) 判斷標(biāo)注結(jié)果是否為本體概念,如果是,則執(zhí)行步驟(4);如果否,則執(zhí)行步驟 (10); (4) 將標(biāo)注的本體概念作為賓語,謂語為rdf:type,按照簡單協(xié)議和資源描述框架查 詢語言SPARQL語法規(guī)則,生成SPARQL語句; (5) 利用JavaScript發(fā)送封裝有SPARQL查詢語句的請求給DBpedia SPARQL協(xié)議終端 http://dbpedia.org/sparql ; (6) 獲取JS0N格式的服務(wù)返回結(jié)果,對其進(jìn)行解封裝; ⑵判斷返回結(jié)果是否包含實例,如果是,則執(zhí)行步驟⑶;如果否,則執(zhí)行步驟(11); (8) 獲取返回結(jié)果的實例列表,即為該本體概念下的實例值的列表; (9) 順序讀取實例列表中的一個實例值; (10) 判斷該實例值是否包含除大小寫字母和下劃線以外的字符,如果是,則執(zhí)行步驟 (9);如果否,則執(zhí)行步驟(12); (11) 基于約束限制模型生成服務(wù)參數(shù)的測試數(shù)據(jù); (12) 根據(jù)測試數(shù)據(jù),自動生成參數(shù)的XML文件; (13) 利用XML文件調(diào)用Web服務(wù),獲取QoS信息; (14) 記錄得到的該服務(wù)的QoS信息; (15) 設(shè)定定時自動更新QoS信息的時間周期,到期后觸發(fā)QoS自動監(jiān)測工作,即執(zhí)行步 驟⑴。
      2. 如權(quán)利要求1所述的基于語義的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法,其特征是, 步驟(11)具體過程如下: 11. 1讀取服務(wù)的參數(shù)信息; 11. 2判斷該參數(shù)是否為簡單數(shù)據(jù)類型,如果是,則執(zhí)行步驟11. 5,;如果否,則執(zhí)行步 驟 11. 3 ; 11. 3分解復(fù)雜類型的參數(shù); 11. 4判斷復(fù)雜參數(shù)分解后的參數(shù)是否為簡單類型,如果是,則執(zhí)行步驟11. 5 ;如果否, 則執(zhí)行步驟11. 3繼續(xù)分解復(fù)雜類型參數(shù); 11. 5獲取該參數(shù)信息及約束條件; 11. 6判斷該參數(shù)是否為XML架構(gòu)的pattern元素,如果是,則執(zhí)行步驟11. 7,;如果否, 則執(zhí)行步驟11. 8 ; 11. 7調(diào)用REX生成參數(shù)的測試值,執(zhí)行步驟11. 10 ; 11. 8設(shè)置參數(shù)的范圍、大小、長度約束限制; 11. 9隨機生成參數(shù)測試值; 11. 10記錄基于約束限制模型生成服務(wù)參數(shù)的測試數(shù)據(jù)。
      3.如權(quán)利要求1所述的基于語義的Web服務(wù)自動調(diào)用及QoS信息監(jiān)測方法,其特征是, 步驟 (13)具體過程如下: 13. 1新建Axis2服務(wù)客戶端; 13. 2解析測試參數(shù)的XML文件; 13. 3將測試參數(shù)值封裝成OMElement對象; 13. 4根據(jù)服務(wù)的接口調(diào)用Web服務(wù); 13. 5判斷服務(wù)調(diào)用是否成功,如果是,則執(zhí)行步驟13. 6 ;如果否,則執(zhí)行步驟13. 10 ; 13. 6根據(jù)發(fā)送請求到接受響應(yīng)信息的間隔時間,計算服務(wù)的響應(yīng)時間; 13. 7在給定的一段時間內(nèi),根據(jù)服務(wù)總的調(diào)用次數(shù),計算服務(wù)的吞吐率; 13. 8在給定的一段時間內(nèi),根據(jù)服務(wù)被成功交付的次數(shù),計算服務(wù)的可靠性; 13. 9記錄服務(wù)的QoS監(jiān)測日志,包括記錄服務(wù)調(diào)用的時間、調(diào)用的次數(shù)等,執(zhí)行步驟 13. 12 ; 13. 10利用AxisFault獲取異常信息,其異常情況包括ConnectException、I/O Exception、UnknownHostException、HTTP 301Error、HTTP 302Error、SoapException ; 13. 11將異常情況的分析結(jié)果記錄到服務(wù)的調(diào)用異常日志中; 13. 12根據(jù)調(diào)用及異常分析結(jié)果,獲取服務(wù)的可訪問性。
      【文檔編號】G06F11/34GK104268070SQ201410515034
      【公開日】2015年1月7日 申請日期:2014年9月29日 優(yōu)先權(quán)日:2014年9月29日
      【發(fā)明者】馮志勇, 張禎, 陳世展 申請人:天津大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1