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

基于不同數據傳輸格式對Ajax實時性響應影響的研究

2011-03-16 07:42:10王鵬吳曉東楊華民
關鍵詞:文本信息

王鵬,吳曉東,楊華民

(長春理工大學 計算機科學技術學院,長春 130022)

Ajax(Asynchronous JavaScript and XML)作為Web2.0核心技術被越來越多地使用到Web應用中。Ajax 由 HTML、JavaScript、DHTML(Dynamical Hypertext Markup Language)和 DOM[1](Document Object Model)組成,它使用客戶端腳本異步傳輸、局部刷新技術很大程度上降低了服務器端的壓力。在一些實際項目應用中,如地理信息系統,常常需要大量的數據交換,使用不同的數據格式,客戶和服務器端的響應會有很大不同。常見的數據交換格式 有 HTML、XML、JSON、CSV(Comma Separated Values)、GZIP五種。其中,HTML傳輸是最簡單的形式,但缺乏一定的靈活性。XML作為一種通用的標記語言,具有跨平臺、跨語言的優勢。然而在實際的應用中,XML的解析工作會讓開發效率低下。JSON作為為新生代的純文本數據格式,在Ajax數據交換中有著得天獨厚的應用優勢。在不考慮網絡傳輸的情況下,解析不同數據格式的對象有著明顯的區別。本文主要從HTML、XML、JSON三種常用的數據交換格式探究三者在對象解析方面的區別,及對實時數據傳輸產生的影響。

1 HTML、XML、JSON 簡介

HTML(HypertextMark-upLanguage)即超文本標記語言或超文本鏈接標示語言,是目前網絡上應用最為廣泛的語言,也是構成網頁文檔的主要語言。HTML文本是由 HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML的結構包括頭部(Head)、主體(Body)兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內容。在Ajax輕量級應用中,通常以HTML片段的形式實現客戶端和服務器端的簡單數據交換。

XML[2](Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言)。Xml是Internet環境中跨平臺的,依賴于內容的技術。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立服務器端使用數據格式。一個XML文檔最基本的構成包括:聲明,處理指令(可選)和元素,所有xml文檔都從一個根節點開始,根節點包含了一個根元素,其他元素必須包含在根元素中,嵌套在內的為子元素,子元素還可以包含子元素,數據既可以存在子元素中也可以存在元素的屬性中。

和XML一樣,JSON[3]也是基于純文本的數據格式。由于JSON是為JavaScript準備的,因此,JSON的數據格式非常簡單,可以用JSON傳輸一個簡單的String,Number或Boolean類型變量,也可以傳輸一個數組,或者一個復雜的Object對象。在實際應用中通常以Object對象進行數據交換,而Object對象在 JSON中是用{}包含一系列無序的Key-Value鍵值對表現的。

2 影響實時響應的因素

影響Ajax應用的實時響應因素包括:

1.網絡傳輸環境

2.不同數據格式的傳輸速度

3.不同數據格式的解析速度

由于Ajax在異步傳輸、局部刷新方面的特點,在網絡傳輸環境一定的情況下,不同數據格式的傳輸速度差別不大,但是計算機在對不用數據格式對象的解析上所耗費的時間是明顯的。

3 數據格式比較

下面以服務器端實時向客戶端發送簡單的地圖地理信息[4]為例來說明相同信息在使用不同數據格式時的表現形式。服務器端向客戶端返回的信息包括區域、經度、緯度信息。

3.1 基于HTML的信息傳遞數據格式

使用HTML進行傳輸需要對以上坐標信息按一定規則連成文本信息,在服務器端對信息編碼完成后,進而傳遞至客戶端。在客戶端再按該規則將文本還原。例如,需要傳遞的坐標信息為{所在區域:長春;經度:125.29889;緯度:43.81185}。傳遞的 HTML片段可確定為"#長春%125.29889%43.81185#",在連接串中使用約定符號組織傳遞的數據信息。在客戶端端按所在區域、經度、緯度進行文本還原,實時顯示地理信息。

使用HTML片段,內容簡潔,不會浪費過多的帶寬資源,但是需要在服務器端或客戶端以字符串形式構造出HTML文本,不利于編程,也不容易調試和維護。特別在傳輸的文本的數據結構的復雜的情況下,調試維護的難度會凸顯出來。

3.2 基于XML的信息傳遞數據格式

XML的非空標記必須由開始標記和結束標記組成,兩者之間是標記的內容。開始標記以"<"開始,以">"結束,中間是標記名稱,結束標記以""結束,中間是標記名稱。在開始標記和結束標記之間即為該標記的值。將以上的HTML片段改寫成XML形式,即:

其中為根節點,在根節點以下為子節點,在這些節點中存儲著需要保存的坐標信息。

3.3 基于JSON的信息傳遞數據格式

JSON包含簡單的數值類型,諸如字符串(string)、數值(number)等,但使用這些簡單數據類型定義復雜格式的數據無疑是困難的,在實際應用中以JSON的對象(Object)格式進行定義數據,以上的XML信息對應轉換為JSON格式即為[5]:

以上 coordinate即為 JSON的一個對象(Object),JSON 在表示數據時將屬性和值以":"分開,同一個對象的不同屬性通過","相區別。

4 不同數據格式對象的解析實驗

4.1 Html片段

在本實驗中不使用規則串的形式來傳遞數據,而是用具體的 div標簽形式傳遞所需要的數據信息。使用Ajax輕量級框架JQuery的Load方法,將包含不同個數對象的 Html片段加載至網頁。實現方式如下:

$("#DataReslultDiv").load("CustomerOrders.htm");

Load方法可以遠程載入HTML代碼并插入到Dom中

單個Html解析對象可以表示為:

4.2 XML

Ajax輕量級框架JQuery提供ajax方法,可以實現對xml文件的讀取和xml結點的解析,具體方法為:

其中,type定義了獲取xml的方式為get請求,url為訪問xml文件的地址,dataType定義了訪問的文件類型為 xml,success為訪問成功后執行的函數,在該函數中解析XML結點,計算每個結點解析所需要花費的時間。

以下是一個xml解析對象的表現形式:

其中data為根節點,area、xcoordinate、ycoordinate為子結點,分別記錄地區、緯度、經度信息。

4.3 JSON

JQuery提供訪問JSON文件的方法getJSON():

getJSON(paramOne,paramTwo)其中參數一為要訪問的文件名,第二個參數為訪問成功后要執行的函數,該函數的參數data為返回的JSON格式的數據,在該函數中完成對JSON數組元素的解析并記錄解析所需要的時間。

JSON數據格式的單個解析對象為:

實驗環境為單機:

CPU:AMD Athlon(tm)64 X2 Dual-Core Processor TK-53;

Memory:2G;

OS:Windows XP sp 2。

實驗一模擬了在大量解析對象個數的情況下,計算機分別解析普通HTML、XML以及JSON對象所需要的時間。

表1 實驗一(大量解析對象耗時情況)Tab.1 Time-consuming cases of a large-number analysis objects

從實驗一可以看出使用 Html作為傳輸數據格式明顯比XML、JSON獲得更快的響應時間[6],在數據量少且數據結構不復雜的情況下,使用 Html應為首選的數據傳輸格式。同時,計算機對 JSON數據對象的解析也快于XML,雖然XML具有很好的通用性,但是在某些應用環境下使用JSON數據格式會縮短響應時間。

實驗二模擬了在隨解析對象個數遞增的情況下(解析對象個數分別為 100、500、1000、2000、5000個),解析普通HTML片段、XML以及JSON對象所需要耗費的總時間和解析單個對象所要耗費的時間。

表2 實驗二(不同解析對象數量耗時情況)Tab.2 Time-consuming cases of a different analysis objects

從實驗二可以看出單個HTML對象的解析時間并沒有隨著解析對象的個數的增多而增多,在解析對象個數少量的情況下(100和500),計算機會花費較多的時間比重在 Html文件的解析上,但是當結點個數增加(1000、2000、5000)單個 Html的對象的解析時間基本持平。單個JSON對象的解析速度要快于XML對象的解析速度,而且XML對象的信息冗余會比JSON大得多,以下是兩者在不同解析對象個數下的文件大小比較。

表3 不同數據格式文件大小比較Tab.3 Comparison of different data format file size

隨著解析對象個數的增加,XML較之JSON的冗余程度增速會越來越快,冗余比重越來越大,因此與使用XML作為數據傳輸格式相比JSON會有更少的數據冗余,更快的響應。

5 結語

在模擬實驗中,選取的解析對象為簡單的一維數組形式,在較為復雜的應用中會有復雜的數組或對象嵌套情況出現,此時對XML對象的解析會更加耗時,同時增加更多的信息冗余。而使用 Html進行傳輸會使編碼和維護工作異常繁重。使用JSON作為數據傳輸格式在不增加冗余的同時,對JSON對象的解析也會比以上兩種數據格式更加容易且更易維護。因此,不同的應用背景下選擇不同數據傳輸格式會影響 Ajax應用的響應時間,進而影響到用戶體驗。

[1]W3C Document Object Model[EB/OL].http://www.w3.org/DOM,2005.

[2]Extensible markup language(xml)1.0[EB/OL].http://www.w3.org,2006.

[3]json.Introducing JSON[EB/OL].http://www.json.org,2006.

[4]韓敏,馮浩.基于JSON的地理信息數據交換方法研究[J].測繪科學,2010,35(1):159-161.

[5]XML與JSON[EB/OL].http://book.51cto.com/art/200-803/67482.htm,2008.

[6]Smullen,C,Smullen S.AJAX Application Server Performance[J].Proceedings of the IEEE SoutheastCon 2007:154-158.

猜你喜歡
文本信息
初中群文閱讀的文本選擇及組織
甘肅教育(2020年8期)2020-06-11 06:10:02
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
論《柳毅傳》對前代文本的繼承與轉化
人間(2015年20期)2016-01-04 12:47:10
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
如何快速走進文本
語文知識(2014年1期)2014-02-28 21:59:13
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 中文字幕佐山爱一区二区免费| 无码视频国产精品一区二区| 欧美成人精品在线| 国产精品亚洲欧美日韩久久| 欧美成人a∨视频免费观看| 亚洲日韩久久综合中文字幕| 亚洲乱码在线播放| 99热这里只有精品在线观看| 99国产精品国产| 国产一级α片| 性视频一区| 国产嫩草在线观看| 国产成人1024精品| 国产尤物jk自慰制服喷水| 国产精品一区在线麻豆| 性视频久久| 国产99视频在线| AV在线麻免费观看网站| 亚洲区第一页| 毛片久久久| 欧美精品亚洲日韩a| 欧美特黄一免在线观看| 2021国产v亚洲v天堂无码| 久久精品人妻中文系列| 欧美日韩在线成人| 亚洲视频a| 日本在线免费网站| 久久国产热| 99在线视频网站| 91色国产在线| 偷拍久久网| 欧美成人h精品网站| 精品国产网| 中文字幕伦视频| 99热这里只有精品久久免费| 国产va免费精品观看| 亚洲欧美一区二区三区蜜芽| 亚洲区视频在线观看| 高清无码手机在线观看| 欧美三级不卡在线观看视频| 亚欧美国产综合| 91精品人妻一区二区| 欧美爱爱网| 亚洲欧美一级一级a| 久久www视频| 亚洲视频欧美不卡| 久久久久夜色精品波多野结衣| 九九香蕉视频| 欧美福利在线观看| 国产91小视频在线观看| 精品黑人一区二区三区| 99中文字幕亚洲一区二区| 色哟哟国产精品一区二区| 国产成人精品高清不卡在线| 欧美在线导航| 67194亚洲无码| 久久国产精品夜色| 伊人久久久大香线蕉综合直播| 亚洲日韩AV无码精品| 国产69精品久久久久孕妇大杂乱 | 色综合热无码热国产| 毛片大全免费观看| 日韩午夜福利在线观看| 极品av一区二区| 国产在线观看成人91| 亚洲一区国色天香| 国产女人喷水视频| 青青青视频91在线 | 91国语视频| 亚洲国产成人自拍| 一级毛片免费观看不卡视频| 中文字幕亚洲综久久2021| 国内精自视频品线一二区| 美女毛片在线| 欧美曰批视频免费播放免费| 成人亚洲天堂| 色天堂无毒不卡| 国产亚洲精品自在久久不卡| 欧美福利在线观看| a国产精品| 日韩精品中文字幕一区三区| 亚洲人成影院在线观看|