• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于SOAP的Web Service消息處理優(yōu)化研究

      2013-03-27 11:35:50鄭學(xué)偉
      電大理工 2013年4期
      關(guān)鍵詞:數(shù)據(jù)格式序列化吞吐量

      鄭學(xué)偉

      遼寧廣播電視大學(xué)(沈陽 10034)

      隨著信息技術(shù)日益融進我們的工作生活中,各種企業(yè)商業(yè)信息服務(wù)應(yīng)用平臺在社會發(fā)展中起著越來越重要的作用,各個企業(yè)的信息系統(tǒng)在選擇開發(fā)平臺、通訊協(xié)議和開發(fā)語言方面都有其自己的方式,“信息孤島” 的情況日益嚴重,大量的信息數(shù)據(jù)冗余出現(xiàn),隨著網(wǎng)絡(luò)信息交換的日益頻繁,越來越多的企業(yè)希望自己的系統(tǒng)具有很強的兼容能力,能夠?qū)崿F(xiàn)跨平臺、跨語言,從而是不同系統(tǒng)間的數(shù)據(jù)交換更加高效方便。

      Web Service是基于網(wǎng)絡(luò)的、分布式的模塊化組件,是一種基于Web的中間件技術(shù)。提供給外界一個接口,不同的客戶可以通過編程的方式來調(diào)用它提供的服務(wù),被外界日益廣泛接受,越來越多的運用在各種服務(wù)程序間的數(shù)據(jù)通信中。Web Service的主要核心技術(shù)是XML、SOAP和WSDL。SOAP協(xié)議是訪問 Web Service最常用的協(xié)議。數(shù)據(jù)格式基于XML文檔,具備互操作行格式,各個基于不同平臺的服務(wù)程序可以在彼此不是同一數(shù)據(jù)標準的情況下進行無縫的數(shù)據(jù)交換。但是也正是由于SOAP具有這一特性導(dǎo)致SOAP的數(shù)據(jù)交換效率較為低下。SOAP消息的格式是基于XML,SOAP在進行數(shù)據(jù)通信時必須先對傳送數(shù)據(jù)進行格式化。即將所有數(shù)據(jù)格式轉(zhuǎn)換為XML數(shù)據(jù),而XML格式的有點是數(shù)據(jù)可操作性,而缺點則是占用數(shù)據(jù)交換空間大。同樣,在進行SOAP數(shù)據(jù)交換時,接收端在接收XML消息后必須將接收到的數(shù)據(jù)進行反操作。SOAP消息交換程序直接降低了Web Service的工作效率。因此,提高Web Service性能的關(guān)鍵就在于提高對數(shù)據(jù)進行XML格式化和反操作的速度。

      1 Web服務(wù)性能指標

      Web Service性能主要有兩項:一是Web Service運行環(huán)境實現(xiàn)服務(wù)調(diào)用功能的能力;二是其執(zhí)行功能的能力的度量。響應(yīng)時間要求越短越好,吞吐量則要求在相同響應(yīng)時間內(nèi)越好。響應(yīng)時間是指在發(fā)送端將消息發(fā)出后接收到接收端的回復(fù)這一周期。影響響應(yīng)時間的因素很多,包括網(wǎng)絡(luò)延遲時間(通訊網(wǎng)上的傳播時延和接口的傳輸延遲),以及服務(wù)端(服務(wù)執(zhí)行)和中間節(jié)點(集線器、路由器和調(diào)制解調(diào)器的開關(guān)時間)的處理延遲。延遲的長時間處理是影響響應(yīng)時間的關(guān)鍵因素,也是最難解決的地方。吞吐量是指每個時間單位執(zhí)行處理的請求數(shù)(例如:每秒的 I/O操作數(shù)),它通常是在服務(wù)器端進行評估。有很多吞吐量的測量因素是以工作單位的定義而定,通常的因素有:點對點的吞吐量(傳輸性能的量化)、節(jié)點吞吐量(處理性能的量化)和系統(tǒng)整體的吞吐量(又名系統(tǒng)的一致吞吐量)。系統(tǒng)整體的吞吐量受到傳輸和處理鏈中局部吞吐量這些小的執(zhí)行元件的限制。

      2 Web服務(wù)消息處理優(yōu)化研究

      SOAP協(xié)議只定義了數(shù)據(jù)格式的基本,而不是精確地綁定。也就是說SOAP協(xié)議的框架規(guī)范在具體操作時極富于靈活性。對于任何數(shù)據(jù)的路由、防火墻的通道以及數(shù)據(jù)的可靠傳輸SOAP都沒有進行硬性的規(guī)定。SOAP協(xié)議中數(shù)據(jù)的定義的本質(zhì)上就是一條以XML形式的文檔。一條SOAP消息就是一個普通的XML文檔,在數(shù)據(jù)傳送過程中相同數(shù)據(jù)的重復(fù)調(diào)用大量的發(fā)生在SOAP傳輸過程中,可以利用這一特點,將大量的重復(fù)調(diào)用數(shù)據(jù)通過一種機制嵌入SOAP通信過程中。在SOAP通信過程中,客戶端發(fā)送SOAP請求時,可以預(yù)設(shè)一個信息模板,在客戶端將數(shù)據(jù)發(fā)送出去后,模板并不清空,而是完整的保留下來,將數(shù)據(jù)進行XML格式化的結(jié)果保存在模板中,客戶端在進行數(shù)據(jù)發(fā)送時,可以將待發(fā)送的數(shù)據(jù)同模板進行比較,如果再一次通信時處理的數(shù)據(jù)同前一次數(shù)據(jù)相同或者結(jié)構(gòu)相同時,可以直接將信息模板進行套用,不需要對待處理的數(shù)據(jù)進行完整的處理,要實現(xiàn)上訴的功能需要進行以下幾方面處理:將已經(jīng)發(fā)生過的數(shù)據(jù)進行抽取,進行數(shù)據(jù)命名后進行標注,針對不同的服務(wù)方式進行不同的模板,在后續(xù)構(gòu)建XML時在調(diào)用標注時套取模板,避免了發(fā)送類似 SOAP消息時重新進行序列化操作的開銷。模板建立好以后,客戶端再進行數(shù)據(jù)發(fā)送時,對于下面要發(fā)送的數(shù)據(jù),在進行數(shù)據(jù)序列化之前,首先要在數(shù)據(jù)存儲表中進行迭代查找。查找到相同的標注名之后,在對模板中的方法名進行進一步的查找,如果有目標方法,則直接套用模板進行數(shù)據(jù)的序列化,如果沒有,則對新的數(shù)據(jù)格式進行序列化,再講序列化的方法以新的標注存儲進模板中。每一次遇見新的數(shù)據(jù)格式,都要將數(shù)據(jù)格式以模板的形式存儲進數(shù)據(jù)序列中,存儲空間滿時,為防止數(shù)據(jù)溢出導(dǎo)致信息傳輸崩潰,根據(jù)“最近最久未使用(LRU)”方法,將一段時間內(nèi)最少使用的模板刪除掉,系統(tǒng)需要根據(jù)LRU將系統(tǒng)的數(shù)據(jù)調(diào)用頻率進行排序,這樣可以保證模板的使用效率,當需要刪除很少使用的模板是,可以將數(shù)據(jù)鏈表中模板進行排序,尾部為最少使用的,首部始終為上一次使用或剛剛建立好的。

      數(shù)據(jù)信息的發(fā)送方通過模板的使用減少了數(shù)據(jù)操作時間后,如果信息的數(shù)據(jù)接收方?jīng)]有同樣進行反序列化操作,則對于數(shù)據(jù)的整體性能提升意義不大。SOAP中數(shù)據(jù)通信的反序列化操作以如下方式進行,在反序列化階段也可以使用基于模板的方式來提升性能。該方法的大致描述如,反序列化數(shù)據(jù)的模板,模板是通過預(yù)先定義好的 SOAP消息的 XML Schema獲得的,并為每個服務(wù)程序制定模板。

      模板是由不變的標簽部分和變化的數(shù)據(jù)序列化方法組成。tSoap處理器提取接收到SOAP請求消息中第一個標簽塊的內(nèi)容和模板是相同的。tSoap處理器從請求消息中提取變化的部分后將提取下一個標簽塊。當 SOAP消息中有多個標簽時,則需要對待反序列化的數(shù)據(jù)進行重復(fù)操作,一直到套用到合適的模板為止。如果 SOAP消息中只有一個標簽時,到這步就結(jié)束了。然后tSoap處理器反復(fù)執(zhí)行前邊操作,直到SOAP請求消息的結(jié)束部分。驗證是通過比較請求消息和模板的標簽塊的字符串。驗證成功,則說明兩個字符串匹配。另一方面,如果兩個字符串不匹配,也就是驗證失敗,則模板不可用。tSoap處理器提取 SOAP消息的結(jié)構(gòu)和模板進行比較,另外,由于驗證是通過把每個標簽塊的字符串和模板的標簽塊進行比較,因此,和現(xiàn)有驗證每個標簽的方法比較,tSoap方法可以有比較好的性能改進??梢杂矛F(xiàn)有的 SOAP處理器進行服務(wù)程序的驗證,因此,tSoap方法減少了構(gòu)建系統(tǒng)的成本。

      Web Service性能測試主要從響應(yīng)時間和吞吐量兩個方面進行測評,這種方案在這兩個方面能夠改善SOAP消息處理的性能,進而對整個Web Service的服務(wù)質(zhì)量得到了一定的提高?;谀0宓姆椒ㄔ谕掏铝糠矫媸瞧渌椒ǖ?.5倍?;谀0宓姆椒ㄔ谕掏铝糠矫嫱瑯痈潜绕渌椒ㄐЧ?。當消息的容量大小逐漸遞增時,基于模板的方法和其他方法的吞吐量曲線都逐步的減小,但比其他方法每秒處理的事務(wù)數(shù)要多出幾倍。

      3 結(jié)語

      隨著信息技術(shù)的飛速發(fā)展,Web服務(wù)以其特有的跨平臺、快語言的便利特性正在得到越來越廣泛的應(yīng)用,而應(yīng)用的要求也越來越高,各個服務(wù)系統(tǒng)SOAP的應(yīng)用已經(jīng)不僅僅滿足于其原有的特性,正在要求其具備更快的反應(yīng)速度與信息處理能力,因此如何提高基于SOAP的Web Service信息通信能力是目前數(shù)據(jù)通信研究的熱點所在,基于模板的序列化與反序列化SOAP數(shù)據(jù)處理模式對于Web Service服務(wù)效率的提升有著非常明顯的改善。

      [1]柴曉路,梁宇奇.Web Servicess技術(shù)、架構(gòu)、和應(yīng)用[M].北京:北京電子工業(yè)出版社,2003.

      [2]余曉峰.SOAP安全性模型的設(shè)計與實現(xiàn)[D].杭州:浙江大學(xué),2003.

      猜你喜歡
      數(shù)據(jù)格式序列化吞吐量
      如何建構(gòu)序列化閱讀教學(xué)
      甘肅教育(2020年14期)2020-09-11 07:58:36
      在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
      電子測試(2018年1期)2018-04-18 11:52:49
      2016年10月長三角地區(qū)主要港口吞吐量
      集裝箱化(2016年11期)2017-03-29 16:15:48
      2016年11月長三角地區(qū)主要港口吞吐量
      集裝箱化(2016年12期)2017-03-20 08:32:27
      Java 反序列化漏洞研究
      論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
      作文訓(xùn)練微格化、序列化初探
      語文知識(2015年12期)2015-02-28 22:02:15
      DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測繪數(shù)據(jù)為例
      2014年1月長三角地區(qū)主要港口吞吐量
      集裝箱化(2014年2期)2014-03-15 19:00:33
      上海港11月集裝箱吞吐量同比增長4.25%
      廣東造船(2013年6期)2013-04-29 16:34:55
      镇宁| 江口县| 宾阳县| 阿城市| 孝感市| 杭锦后旗| 枞阳县| 云林县| 铁岭市| 临泽县| 平安县| 兴安盟| 腾冲县| 安宁市| 炉霍县| 广州市| 攀枝花市| 启东市| 固阳县| 万载县| 崇义县| 昌图县| 鸡泽县| 高密市| 奉化市| 新建县| 宁南县| 乌兰浩特市| 扎赉特旗| 阜南县| 马山县| 乐都县| 茂名市| 和田县| 新昌县| 河北省| 平潭县| 镇坪县| 宁南县| 西乌珠穆沁旗| 慈溪市|