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

基于不同數(shù)據(jù)傳輸格式對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)組成,它使用客戶端腳本異步傳輸、局部刷新技術很大程度上降低了服務器端的壓力。在一些實際項目應用中,如地理信息系統(tǒng),常常需要大量的數(shù)據(jù)交換,使用不同的數(shù)據(jù)格式,客戶和服務器端的響應會有很大不同。常見的數(shù)據(jù)交換格式 有 HTML、XML、JSON、CSV(Comma Separated Values)、GZIP五種。其中,HTML傳輸是最簡單的形式,但缺乏一定的靈活性。XML作為一種通用的標記語言,具有跨平臺、跨語言的優(yōu)勢。然而在實際的應用中,XML的解析工作會讓開發(fā)效率低下。JSON作為為新生代的純文本數(shù)據(jù)格式,在Ajax數(shù)據(jù)交換中有著得天獨厚的應用優(yōu)勢。在不考慮網(wǎng)絡傳輸?shù)那闆r下,解析不同數(shù)據(jù)格式的對象有著明顯的區(qū)別。本文主要從HTML、XML、JSON三種常用的數(shù)據(jù)交換格式探究三者在對象解析方面的區(qū)別,及對實時數(shù)據(jù)傳輸產(chǎn)生的影響。

1 HTML、XML、JSON 簡介

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

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

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

2 影響實時響應的因素

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

1.網(wǎng)絡傳輸環(huán)境

2.不同數(shù)據(jù)格式的傳輸速度

3.不同數(shù)據(jù)格式的解析速度

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

3 數(shù)據(jù)格式比較

下面以服務器端實時向客戶端發(fā)送簡單的地圖地理信息[4]為例來說明相同信息在使用不同數(shù)據(jù)格式時的表現(xiàn)形式。服務器端向客戶端返回的信息包括區(qū)域、經(jīng)度、緯度信息。

3.1 基于HTML的信息傳遞數(shù)據(jù)格式

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

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

3.2 基于XML的信息傳遞數(shù)據(jù)格式

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

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

3.3 基于JSON的信息傳遞數(shù)據(jù)格式

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

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

4 不同數(shù)據(jù)格式對象的解析實驗

4.1 Html片段

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

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

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

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

4.2 XML

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

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

以下是一個xml解析對象的表現(xiàn)形式:

其中data為根節(jié)點,area、xcoordinate、ycoordinate為子結點,分別記錄地區(qū)、緯度、經(jīng)度信息。

4.3 JSON

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

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

JSON數(shù)據(jù)格式的單個解析對象為:

實驗環(huán)境為單機:

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

Memory:2G;

OS:Windows XP sp 2。

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

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

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

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

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

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

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

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

5 結語

在模擬實驗中,選取的解析對象為簡單的一維數(shù)組形式,在較為復雜的應用中會有復雜的數(shù)組或對象嵌套情況出現(xiàn),此時對XML對象的解析會更加耗時,同時增加更多的信息冗余。而使用 Html進行傳輸會使編碼和維護工作異常繁重。使用JSON作為數(shù)據(jù)傳輸格式在不增加冗余的同時,對JSON對象的解析也會比以上兩種數(shù)據(jù)格式更加容易且更易維護。因此,不同的應用背景下選擇不同數(shù)據(jù)傳輸格式會影響 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的地理信息數(shù)據(jù)交換方法研究[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
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 老司国产精品视频| 91娇喘视频| 国产理论精品| 人人爱天天做夜夜爽| 中文字幕有乳无码| 国产一区成人| 色视频久久| 国产欧美一区二区三区视频在线观看| 国产精品亚欧美一区二区 | 狠狠色婷婷丁香综合久久韩国| 激情综合激情| 五月婷婷丁香色| 国产成人久久777777| 天天综合网色中文字幕| 国产精品久久久久久久久久久久| 特级欧美视频aaaaaa| 国产免费福利网站| 999精品色在线观看| 国产精品综合久久久| 999精品色在线观看| 四虎永久免费地址| 国产剧情无码视频在线观看| 亚洲综合日韩精品| 全裸无码专区| 四虎永久免费网站| 在线另类稀缺国产呦| 中文字幕天无码久久精品视频免费| 伊人国产无码高清视频| 国产高潮视频在线观看| hezyo加勒比一区二区三区| 久久精品波多野结衣| 中文字幕欧美成人免费| 久久精品国产亚洲AV忘忧草18| 国产成人超碰无码| 四虎影视国产精品| 欧美黄色a| 国产好痛疼轻点好爽的视频| 亚洲综合色婷婷| 精品国产一二三区| 最新国产高清在线| 国产杨幂丝袜av在线播放| 97在线免费视频| 国产91精品久久| 国产亚洲男人的天堂在线观看| 免费国产在线精品一区| 亚洲欧美一区二区三区麻豆| 亚洲欧美日韩另类在线一| 97国产一区二区精品久久呦| 91美女在线| 久久久久久久蜜桃| 国产成人无码久久久久毛片| 无码一区中文字幕| 五月天综合婷婷| 丁香婷婷在线视频| 日韩人妻精品一区| 伊人色在线视频| 欧美成人看片一区二区三区 | 精品一区二区三区视频免费观看| 玖玖精品视频在线观看| 国产又粗又猛又爽视频| 一级成人欧美一区在线观看| 美女无遮挡被啪啪到高潮免费| 精品国产欧美精品v| 99视频精品全国免费品| 2022国产无码在线| 免费无码在线观看| 久久人搡人人玩人妻精品一| 国产熟女一级毛片| 97青青青国产在线播放| 99视频在线免费| 日韩av在线直播| 国产成人久视频免费| 91色在线视频| 国产精品无码制服丝袜| 一级在线毛片| 国产网友愉拍精品视频| 国产靠逼视频| 色婷婷亚洲综合五月| 日本爱爱精品一区二区| 国产一区成人| 91热爆在线| 亚洲视频在线网|