亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于不同數(shù)據(jù)傳輸格式對(duì)Ajax實(shí)時(shí)性響應(yīng)影響的研究

        2011-03-16 07:42:10王鵬吳曉東楊華民
        關(guān)鍵詞:數(shù)據(jù)格式服務(wù)器端客戶端

        王鵬,吳曉東,楊華民

        (長(zhǎng)春理工大學(xué) 計(jì)算機(jī)科學(xué)技術(shù)學(xué)院,長(zhǎng)春 130022)

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

        1 HTML、XML、JSON 簡(jiǎn)介

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

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

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

        2 影響實(shí)時(shí)響應(yīng)的因素

        影響Ajax應(yīng)用的實(shí)時(shí)響應(yīng)因素包括:

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

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

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

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

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

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

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

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

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

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

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

        其中為根節(jié)點(diǎn),在根節(jié)點(diǎn)以下為子節(jié)點(diǎn),在這些節(jié)點(diǎn)中存儲(chǔ)著需要保存的坐標(biāo)信息。

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

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

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

        4 不同數(shù)據(jù)格式對(duì)象的解析實(shí)驗(yàn)

        4.1 Html片段

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

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

        Load方法可以遠(yuǎn)程載入HTML代碼并插入到Dom中

        單個(gè)Html解析對(duì)象可以表示為:

        4.2 XML

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

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

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

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

        4.3 JSON

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

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

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

        實(shí)驗(yàn)環(huán)境為單機(jī):

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

        Memory:2G;

        OS:Windows XP sp 2。

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

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

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

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

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

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

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

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

        5 結(jié)語(yǔ)

        在模擬實(shí)驗(yàn)中,選取的解析對(duì)象為簡(jiǎn)單的一維數(shù)組形式,在較為復(fù)雜的應(yīng)用中會(huì)有復(fù)雜的數(shù)組或?qū)ο笄短浊闆r出現(xiàn),此時(shí)對(duì)XML對(duì)象的解析會(huì)更加耗時(shí),同時(shí)增加更多的信息冗余。而使用 Html進(jìn)行傳輸會(huì)使編碼和維護(hù)工作異常繁重。使用JSON作為數(shù)據(jù)傳輸格式在不增加冗余的同時(shí),對(duì)JSON對(duì)象的解析也會(huì)比以上兩種數(shù)據(jù)格式更加容易且更易維護(hù)。因此,不同的應(yīng)用背景下選擇不同數(shù)據(jù)傳輸格式會(huì)影響 Ajax應(yīng)用的響應(yīng)時(shí)間,進(jìn)而影響到用戶體驗(yàn)。

        [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].測(cè)繪科學(xué),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.

        猜你喜歡
        數(shù)據(jù)格式服務(wù)器端客戶端
        縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
        孵化垂直頻道:新聞客戶端新策略
        基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
        在智能交通系統(tǒng)中PLC數(shù)據(jù)格式轉(zhuǎn)換方法的研究
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        在Windows中安裝OpenVPN
        論子函數(shù)在C語(yǔ)言數(shù)據(jù)格式輸出中的應(yīng)用
        DWG與SHP數(shù)據(jù)格式互轉(zhuǎn)換方法研究——以龍巖規(guī)劃測(cè)繪數(shù)據(jù)為例
        基于ArcGIS的規(guī)劃數(shù)據(jù)格式轉(zhuǎn)換研究
        客戶端空間數(shù)據(jù)緩存策略
        国产乱子伦精品免费女| 少妇高潮太爽了在线视频| 啦啦啦www在线观看免费视频| 日本免费人成视频播放| 日本理论片一区二区三区| 少妇人妻在线伊人春色| 蜜桃视频在线观看免费亚洲 | 亚洲男人天堂2017| 夫妻一起自拍内射小视频| 少妇被按摩出高潮了一区二区| av免费网址在线观看| 亚洲国产精品av在线| а天堂中文最新一区二区三区| 亚洲自偷自偷偷色无码中文| 国产午夜亚洲精品不卡免下载| 国产女人精品一区二区三区| 亚洲av中文无码乱人伦在线咪咕| 亚洲精品综合一区二区三| 麻豆密入视频在线观看| 日本国产一区在线观看| 国产精品国产三级国产av品爱网 | 人人添人人澡人人澡人人人人| 日本一区二区三区激情视频| 亚洲桃色蜜桃av影院| 国产亚洲综合一区二区三区| 亚洲国产精品特色大片观看完整版 | 丝袜美腿网站一区二区| 免费在线不卡黄色大片| 国自产拍偷拍精品啪啪一区二区| 乱子伦视频在线看| 无码精品国产午夜| 成熟妇女毛茸茸性视频| 粗大猛烈进出白浆视频| 国产成人啪精品| 人妻少妇激情久久综合| 伊人久久精品无码av一区| 国产精品麻豆成人av电影艾秋| 92精品国产自产在线观看48页| 亚洲一区二区综合精品| 亚洲人成人无码www影院| 欧美aⅴ在线|