在线观看国产区-在线观看国产欧美-在线观看国产免费高清不卡-在线观看国产久青草-久久国产精品久久久久久-久久国产精品久久久

美章網 資料文庫 Ajax數據通信應用論文范文

Ajax數據通信應用論文范文

本站小編為你精心準備了Ajax數據通信應用論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。

Ajax數據通信應用論文

1相關工作

近年來,研究者們主要圍繞ajax的客戶端編程模式、數據交換格式、數據壓縮、客戶端解析效率等方面對其性能優化進行了廣泛的研究,取得了一定的成果。文獻[4]比較了Ajax分別以XML和JSON為數據負載時的響應數據量、客戶端解析效率及安全性,提出了Ajax以XML和JSON為數據載體時的應用場合;文獻[5]著重從HTML、XML、JSON三種數據傳輸格式的對象解析入手,分析了在不同環境下使用不同數據傳輸格式對Ajax應用實時性響應的影響,提出JSON在不增加冗余的同時解析也比前兩者容易;文獻[2]基于傳統Web應用模型的通信缺陷并結合Ajax工作原理,提出基于HTTP數據壓縮和緩存的方法提高網絡響應速度和Ajax框架性能。這些研究成果表明基于JSON的Ajax數據通信量、傳輸速度、解析效率都要高于同等條件下以XML和HTTP為載體的Web通信。因此,將不同的Ajax數據負載轉換為JSON格式是優化Ajax數據響應性能的一種有效方法。文獻[6]提出了在Web服務器的業務邏輯層實現以XML為載體的Ajax的數據轉為JSON格式的方法,有效地提高了系統的傳輸效率;文獻[7]通過分析JSON文法并建立對象導航圖,提出了一種透明地將Java對象序列化為JSON表達式的算法,利用JavaScript引擎解析JSON響應,有效解決了解析XML所造成的缺陷。通過對以上研究的分析,可以看出目前對Ajax數據通信性能優化的方法主要集中在不同場合選擇不同數據負載形式的策略上。雖然在基于JSON一定能提高Ajax數據通信效率上達成了共識,但還沒有研究對服務器如何直接以JSON格式為載體響應Ajax引擎請求數據的實現方法進行探討,一般都是研究以JSON作為一種中間轉換格式進行數據傳輸。這種方式無疑多了一個中間轉換的環節,浪費了系統資源,延時了數據響應時間,降低了用戶的體驗度。因此,研究服務器端應答Ajax引擎請求數據的結構及有效的實現應答數據轉換為JSON格式的方法以提高Ajax數據傳輸和解析的效率具有重要的意義。

2基于JSON的Ajax數據通信快速算法

本文算法的基本思想是以JSON格式為參照,分析服務器應答Ajax引擎請求數據的結構,設計應答數據JSON序列化的有限狀態機模型,基于此模型實現應答數據向JSON格式的轉換,從而降低Ajax的通信數據量,減少客戶端因JavaScript不能直接解析XML所占用的系統資源和無用解析計算,大大提高Ajax的數據傳輸效率和響應速度,使客戶端擁有良好的用戶體驗度。

2.1JSON文法JSON是一種輕量級獨立于編程語言的文本型數據傳輸格式。它采用JavaScript的子集StandardECMA-262第3版實現,能被所有的瀏覽器支持,不依賴第三方工具直接使用JavaScript解析,易于人們閱讀和編寫,也便于機器解析[8]。JSON建構于兩種結構[9]:(1)對象:一個無序的“名稱/值”對的集合。每個對象以“{”、“}”作為始、終標志,“名稱”和“值”分別用‘“”’括住,兩者間用“:”間隔,不同的“名稱/值”對間用“,”分隔,如圖1所示。從JSON的文法不難看出,JSON中的標簽完全用于描述數據,不負責引導客戶端瀏覽器顯示的是格式化功能,是能實現服務器與客戶端之間更簡潔數據傳遞的主要原因。因此,JSON廣泛用于Web客戶端表現層數據描述和交換的載體。

2.2服務器端應答數據結構分析及其JSON序列化方法由于XML是Ajax的標準數據交換格式,已有的基于Ajax的Web應用在服務器端將作為應答的數據對象直接使用XML綁定、傳輸,如JAXB(JavaArchitectureforXMLBinding)。如果需要使用JSON作為數據交換格式時,再通過JSON編程接口將這些數據對象轉換成JSON格式,如圖3中帶箭頭實線所示。由圖3可以看出,標準的Ajax基于XML數據傳輸是一種間接的方式,中間存在大量的數據格式化過程,占用服務器的資源和運算時間較多,降低了整個Ajax系統的數據響應效率。本文的主要工作正是要變間接為直接,將應答數據一步轉換為JSON負載。為了實現這個目標,就必須分析應答數據的結構,找出其與JSON數據文法間的映射規律。目前,Web應用主要基于B/S結構,Web服務器的應答數據來源于數據庫服務器的查詢結果,這些結果以二維表格的形式存儲,稱之為記錄集,實質是數據庫服務器上被選中表里數據的一個鏡像,如圖4所示。也就是說,Web服務器應答的數據結構是一種復合表,一條記錄對應一個數據對象,每個數據對象由若干個屬性(字段)組成。通過比較可知,Web服務器中應答的記錄集與JSON文法規定的數據格式間基本上是直接的映射關系:(1)記錄集中的每條記錄對應于一個數據對象,恰好與JSON文法中的數組對應,可以實現直接映射;(2)記錄集中存儲數據對象屬性的字段在轉換成“名稱/值”對時,鑒于對象的屬性可能較多,對象名仍然采用屬性名,然后將其映射為JSON格式;(3)記錄集中存儲數據名稱和值的字段與JSON文法中的對象的“名稱/值”對應,將對象名用“名-value”替代后直接映射;(4)記錄集中有些外鍵字段不能直接映射為JSON中的“名稱/值”對,它們在記錄集中主要起關聯數據對象作用。此時,應該將這些關聯字段進行“原子化”處理,將其映射為直接數據對象,再將這些直接數據對象按(1)、(2)、(3)中的方法映射為數組和原子的“名稱/值”對對象,并將其作為關聯字段所在數據對象的子對象。弄清Web服務器應答Ajax引擎的數據結構及其與JSON文法中定義的數據格式間的映射關系后,設計出應答數據與JSON數據格式間轉換的有限狀態機模型為M(rj)=(R,I,S,F,O,J),如圖5所示。

2.3客戶端JSON反序列化實現客戶端反序列化就是將用于傳輸的流式文本型數據(jstd)轉換為JSON對象以便JavaScript解析,這個工作可直接使用JavaScript的eval方法實現,無需借助第三方工具及結構。

3實驗設計及結果分析

為了驗證本文提出算法的正確性和傳輸速度快、解析效率高的特點,實驗數據集采用RamonLawrence基于Java的DBstats程序通過JDBC連接MicrosoftAccess的Northwind庫、UCIKDD、ML庫及Internet上的一些公用數據庫得到的樣例數據[10],如表2所示。其中,未用比例表示空屬性值占所在模式的比例,使用比例表示非空數據值占模式的比例,前者平均約為7.4%,后者平均約為44.8%,能較好地分析數據傳輸開銷和解析效率。基于以上數據集,在相同網絡環境下和相同應答數據量的條件下從生成數據負載時間、傳輸時間和客戶端解析數據所用時間三個方面對比Ajax分別基于JSON和XML時數據交互的性能,應答數據集轉換成JSON或XML數據負載時間、JSON或XML數據傳輸時間及客戶端解析時間隨數據元素個數變化的情況如圖6、圖7、圖8所示。從圖6可以看出,本文算法的序列化時間遠少于XML序列化的時間。相同數據元素個數的條件下,本文算法平均要快5個/ms。其主要原因是序列化JSON時直接利用JSON對象的字符串型變量直接寫入JavaScript,而XML要先生成一個DOM對象再用I/O流寫入專門的XML文件,驗證了JSON在性能上優于XML的事實。從圖7中可看出,在傳輸相同數據量的條件下,本文算法的數據傳輸時間明顯要少于基于XML的數據負載,平均約快13.85個/ms。其主要原因是本文算法基于的JSON只負載攜帶數據,而XML除攜帶數據外還要攜帶數據在客戶端顯示的標簽,存在大量冗余標記,因此,將同一個元素序列化成XML后的數據量要大于JSON,傳輸速度當然也要慢些。圖8說明本文算法在客戶端的速度要明顯快于XML,且隨著數據的不斷增大,優勢越來越明顯。其原因是因為本文算法基于的JSON負載是基于JavaScript的子集,直接使用瀏覽器的JavaScript解析,而XML要借助于DOM才能被瀏覽器解析,而且數據量越大,DOM的結構越負載,解析速度就越慢。綜上所述,實驗結果表明本文算法無論是在數據傳輸方面,還是在Web服務器序列化和客戶端反序列化方面效率都明顯高于基于XML的數據傳輸,更要高于先序列化為XML再轉化為JSON的間接方式,是一種實現Ajax異步數據交互的快速算法。

4結語

本文設計了一個Web服務器應答Ajax引擎數據的JSON序列化有限狀態機模型,提出了一種基于JSON的Ajax數據通信快速算法,較好地解決了Web服務器應答數據集直接序列化為JSON的問題,提高了數據通信和解析的效率,具有較好的響應比,帶來了較好的用戶體驗度。如果在本文的基礎上考慮對傳輸過程中的JSON數據負載進行壓縮傳輸,可能使通信速度更快,這將是本文算法的主要后續工作。

作者:孫光明王碩單位:河北交通學院網絡教研室北京交通大學計算機與信息技術學院

主站蜘蛛池模板: 亚洲日韩图片专区第1页 | 亚洲伊人成综合成人网 | 成人羞羞视频免费 | 亚洲精品中文字幕乱码三区一二 | 自拍视频第一页 | 综合五月天 | 日本欧美小视频 | 五月激情婷婷丁香 | 久久久最新精品 | 2021国产麻豆剧传媒精品网站 | 国产精品久久久久久一级毛片 | 激情五月婷婷丁香 | 狠狠干五月天 | a级毛片免费在线观看 | 亚洲黄色小视频 | 亚洲国产欧美在线观看 | 亚洲国产片 | 开心婷婷激情五月 | 亚洲专区欧美专区 | 免费看久久 | 女人天堂网在线观看2019 | 国产综合视频在线 | 亚洲精品综合久久中文字幕 | 国内精品视频成人一区二区 | 亚洲福利视频一区二区 | 亚洲国产精品一区二区久 | 羞羞动漫免费首入口 | 亚欧精品一区二区三区四区 | 日韩区欧美区 | 久久精品国产69国产精品亚洲 | 亚洲视频在线免费观看 | 性殴美| 亚洲自拍成人 | 四虎地址8848| 亚洲美女高清一区二区三区 | 久久一区二区三区免费播放 | 婷婷六月激情在线综合激情 | 亚洲小视频在线观看 | 东方亚洲东方欧美色二区 | 亚洲爱爱爱 | 亚洲精品xxxxx |