Ajax技術(shù)的數據響應優(yōu)化 Ajax技術(shù)的數據響應優(yōu)化

Ajax技術(shù)的數據響應優(yōu)化

  • 期刊名字:計算機工程
  • 文件大?。?22kb
  • 論文作者:譚力,楊宗源,謝瑾奎
  • 作者單位:華東師范大學(xué)計算機科學(xué)技術(shù)系
  • 更新時(shí)間:2020-09-30
  • 下載次數:次
論文簡(jiǎn)介

第36卷第7期計算機工程2010年4月VoL36Computer EngineeringApril 2010●軟件技術(shù)與數據庫●文章編號: 1000- -3428(2010)07- 0052- 03文獻標識碼: A中團分類(lèi)號: TP311.52Ajax技術(shù)的數據響應優(yōu)化譚力,楊宗源,謝瑾奎(華東師范大學(xué)計算機科學(xué)技術(shù)系,上海200241)摘要: 對Ajax工作原理和數據傳輸性能進(jìn)行分析,從響應數據的返回格式角度入手,通過(guò)實(shí)驗,對比2種數據格式XML和JSON的差異與優(yōu)劣,基于實(shí)際應用場(chǎng)最,給出權衡取舍的建議,總結出效率和安全性更高的Ajax模型,改善了目前Ajax帶來(lái)的數據響應冗余的缺陷。關(guān)鍵詞: Ajax 技術(shù);數據晌應; XML 傳輸格式; JISON 傳輸格式Data Response Optimization of AjaxTAN Li, YANG Zong-yuan, XIE Jin-kui(Department of Computer Science and Technology, East China Normal University, Shanghai 200241)[Abstract] This paper analyzes the work principle and data tansmission performance of Ajax, and dscusses the dference between XML andJSON by experiments with a focus on the format of response data retumed. Some suggestions to choose either based on the current aplicationscenarios are given, an optimized model of Ajax which is more eficient and secure is summarized, which improves the shortcomings such as dataresponse redundancy caused by Ajax nowadays.[Key words] Ajax; data response; XML rasmission format; JSON tasnmission format1概述回響應數據并解析時(shí),需要額外的XML或文本中間數據解作為多項傳統技術(shù)的優(yōu)勢整合,Ajax 以其各技術(shù)分支所析過(guò)程,存在著(zhù)一定的效率低下問(wèn)題,這會(huì )影響該Web應用體現出的綜合優(yōu)勢提供著(zhù)較好的用戶(hù)體驗,因此,獲得了廣程序的整體性能。闞的Web應用市場(chǎng)。Ajax綜合使用了JavaScript, XHTML,HTPCSS, DOM, XML, XSTL以及XMLHttpRequest等技術(shù),集上述各技術(shù)的優(yōu)缺點(diǎn)于一身。當運用Ajax技術(shù)來(lái)開(kāi)發(fā)一個(gè)健壯ix界服務(wù)器的軟件系統時(shí),需要考慮Ajax 的可移植性、效用性和可用性等非功能性因素。而在A(yíng)jax與服務(wù)器異步交互的過(guò)程中如何HTML+CSSXML數據高效地傳遞響應數據則是很重要的一個(gè)環(huán)節。本文從Ajax的崗覺(jué)器客戶(hù)端服務(wù)器璃數據響應角度進(jìn)行分析,探討如何趨利避害,構建一個(gè)高效圜2甚于A(yíng)jax的Web應用模式(異步交互方式)的Ajax應用程序,提出了一個(gè)整體優(yōu)化方案。目前,國內關(guān)于A(yíng)jax性能優(yōu)化已有的研究主要包括:對2 Ajax 性能優(yōu)化分析及研究進(jìn)展基于A(yíng)jax的MVC模式進(jìn)行改造,借鑒Ajax和DataWindow在A(yíng)jax廣泛應用的今天,提高Ajax應用程序的執行效技術(shù)創(chuàng )建和實(shí)現較高交互性能的B/S應用2,提出一種基于率已成為首要問(wèn)題。要對Ajax的性能實(shí)施優(yōu)化,首先要考慮JSON的對象序列化算法,通過(guò)分析JSON文法并建立對象導的是Ajax的基本工作原理。Ajax 采用異步交互方式,在用航圖,來(lái)解決解析XML所造成的缺陷,對Ajax的首頁(yè)加載戶(hù)與服務(wù)器之間引入了一個(gè)用JavaScript編寫(xiě)的Ajax引擎,模式進(jìn)行改進(jìn)等。但是,這些研究只是針對XML或JSON來(lái)代替用戶(hù)與服務(wù)器進(jìn)行交互這樣用戶(hù)可以無(wú)需等待響應,各自的缺陷進(jìn)行改進(jìn),當程序員面對一個(gè)Ajax實(shí)際開(kāi)發(fā)場(chǎng)景繼續其他的Web交互。傳統的Web應用模式(同步交互方式)時(shí),卻仍無(wú)法作出關(guān)于選用何種響應數據載體的合理選擇。如圖1所示。3響應數據傳輸格式對比HTTP請求Ajax引擎可以用2種數據響應格式(純文本和XML文檔)來(lái)獲取從服務(wù)器返回的信息。若使用純文本格式,當前最常用戶(hù)界面用的格式是JSON。 用JSON和XML來(lái)返回響應數據各有利HTML.+CSS金項目;高等學(xué)校博七點(diǎn)基金資助項目“構件系統中軟件架構定圖1傳統的Web應用模式(周步交互方式)義與構中國煤化工D0602690020基于A(yíng)jax的Web應用模式(異步交互方式)如圖2所示。作儲筒CNMHG'主研方向:軟件工程,從圖1和圖2川"的對比中可以看到,與傳統Web應用相比,謝瑾缶,講師在基于A(yíng)jax 的Web應用中,在向作為中間層的Aiax 引擎返收稿日期: 2009-08-03 E -mai: darkwhite29@gmail.com- -52-弊,而由于XML作為Web上數據表示事實(shí)標準的地位,在.上減少瀏覽器和服務(wù)器之間傳輸的數據量。隨著(zhù)應用程序中傳統方式下較多采用XML作為數據載體。以下將從幾個(gè)方的數據交換量的增長(cháng),數據結構的復雜化,JSON 數據量小面作進(jìn)一步分析,通過(guò)對比兩者的優(yōu)劣,就可選用一個(gè)當前的優(yōu)勢將更明顯。應用場(chǎng)景下最合適的響應數據載體,從而達到優(yōu)化Ajax響應3.2客戶(hù)端解析效率數據傳輸過(guò)程進(jìn)而提高整個(gè)程序性能的目的。JSON與XML都是結構化的數據交換格式,兩者的不同3.1數據量在于XML本身是DOM樹(shù)結構的,需要JavaScript操作DOM下面通過(guò)2個(gè)示例:在Google Suggest 中輸入查詢(xún)字符元素來(lái)進(jìn)行解析才能獲取其中的數據。而JSON本身就是串"compiler" 后返回搜索建議(示例I)和電子郵件(示例2),JavaScript,因此,只要調用JavaScript的eval()方法將JSON來(lái)對2種數據響應格式作出對比。字符串序列化成為JavaScript 對象之后,就可以直接讀取其示例1的XML格式代碼如下:屬性來(lái)獲取數據。<?xml version=*1.0" encding"ulf-8*"?>下面通過(guò)一個(gè)簡(jiǎn)單的測試程序來(lái)計算代碼的執行時(shí)間,從而比較2種格式讀取數據時(shí)的解析效率。其中,解析XMLvar tl = new Date().getTime);for(var i=0; i10000; it+){var data = request.responseXML;("name' )O1,firstChild.nodeValue;var website■data.getElementsByTagName("website")[O].firstChild.nodeValue;('email")0/.frstChil.nodeValue;alr(2-t1);解析JSON中響應數據的代碼如下:示例1的JSON格式代碼如下:vartI = new Date().getTime);{"suggestions":{for(var i=0; i10000; i++){"terms":"compiler","sugestion":[{var name = data.person.name;"term":"compiler compliance lel"“rsults".*451, 000 resuls"}, {var email = data.person.email;"erm'"."compiler design".“ests':*9S2, 000 results"},{var website = dataperson.websit;trem'.*compiler opios"sust".*253, 000 resuts"},{"erm"."compiler oimizion"suts".*417, 000 rsuts"),{var口2 = ncw Datc()getTime0);erm"."compiler sericise,"sust:*5t, 400 results"),{al(2-t1);"term"."compiler course"," rsusts":*s, 400, 000 rsuts",{;上面2段分別解析了XML和JSON中響應數據的代碼"term"."compiler conference","'suts':*s, 080, 0000 resuls"),{中,for 循環(huán)中的代碼是兩者各自的解析操作,在解析操作代em":"compiler er,",suts,."t, 700, 000 rsuls"),{碼段的開(kāi)始和結束分別使用了JavaScript中的getTime()函數erem'."compilers and compiler generators,","esults": “*314, 000來(lái)記錄時(shí)間,最后計算差值,即代碼的運算時(shí)間。為消除偶results"然誤差,重復實(shí)驗10次,數據解析效率分析如圖4所示。]}由于篇幅關(guān)系,示例2的代碼不具體給出。XML和JSON2500 |格式響應數據量分析如圖3所示。2000150080JSON1000s0050器40XOMLISON316ML20ISON F圜4 XML和JSON格式的教據解析效率分析示例|樂(lè )微2從圖4可以看出,JSON的數據解析效率遠比XML高,圈3 XML和JSON格式晌應數據量分析即使用JSON作為響應數據載體能會(huì )加快頁(yè)面響應速度,便可以看到,若服務(wù)器端返回的是XML格式的數據,除得運中國煤化工更加顯著(zhù),用戶(hù)體驗了冗余的開(kāi)始結束標簽之外,還必須確保該XML文檔含有更加北特定內容的首部信息,如XML版本號和編碼格式;而若采.3CNMHG用JSON返回響應數據,使用的結構化符號將短小精悍許多,對于如何將一段數據序列化為一個(gè)XML文檔,各種服如逗號、冒號等只占一個(gè)字符的簡(jiǎn)單符號,這將在很大程度務(wù)器端編程語(yǔ)言都有提供多種方式來(lái)實(shí)現,如在.NET框架-53-下,C#中的XmlSerializer 類(lèi),通過(guò)結合TextWriter類(lèi),它可端處理效率和安全性,而JSON優(yōu)于XML的方面是數據量和以序列化-個(gè)對象成為XML格式??蛻?hù)端解析效率。于是,針對具體的開(kāi)發(fā)場(chǎng)景,可以給出如而對于JSON的自動(dòng)生成支持工具,目前來(lái)講還比較少。下響應數據載體選取方案用作基本優(yōu)化策略:在開(kāi)發(fā)一個(gè)基因此,從服務(wù)器端開(kāi)發(fā)效率上來(lái)講,較早出現并且更加標準于A(yíng)jax 技術(shù)的Web應用程序時(shí),在安全性要求不高及服務(wù)化、規范化的XML會(huì )比JSON有更好的表現。器處理能力較強的場(chǎng)景下,選用JSON更好;在用戶(hù)體驗要3.4安全性分析求不高的安全敏感場(chǎng)景下,選用XML較合適;在用戶(hù)體驗JSON是一種用于在2臺機器之間的傳輸數據的數據交和安全性要求都較高的場(chǎng)景下,應從大局者眼,選用較為安換格式。由于它承載的只是數據,不會(huì )含有賦值和調用,因.全的XML而犧牲--部分系統性能。此它是安全中立的。而當開(kāi)發(fā)人員用eva()函數把JSON數據總之,開(kāi)發(fā)人員需要認真評估在不同場(chǎng)景下2種響應數作為JavaScript代碼執行,從而轉化為JavaScript對象時(shí),攻據表示方式的成本和效率,了解兩者的差異后,再來(lái)根據實(shí)擊者可以在JSON數據中攜帶惡意的JavaScript代碼發(fā)送給客際需要進(jìn)行合理選擇,或直接采用傳統的頁(yè)面重載刷新的方戶(hù)端,這樣eval()函 數就會(huì )執行這些惡意代碼,系統可能會(huì )式而不是采用Ajax技術(shù)。因此而崩潰。5結束語(yǔ)另外,JSON本質(zhì)上就是JavaScript,由于Web應用程序本文的不足之處在于提出的部分觀(guān)點(diǎn)尚無(wú)法給出量化的的所有訪(fǎng)問(wèn)者都可以閱讀到程序中的JavaScript 源代碼,因模型來(lái)衡量,有的只能通過(guò)主觀(guān)經(jīng)驗來(lái)判斷,如怎樣根據安此對于一些敏感數據,除非使用了代碼混淆器之類(lèi)的工具來(lái)全隱患的嚴重程度來(lái)決定選用XML還是JSON,這都是需要使得JSON文檔的URL無(wú)法預測,使用JSON才是安全的。進(jìn)一步研究的內容。XML由于解析時(shí)不含有任何本地執行過(guò)程,因此相對JSON來(lái)講更安全-一些。銬文獻4優(yōu)化策略[1] Garett J J. Ajax: A New Approach to Web Applications(EB/OL].通過(guò)以上分析,可以總結出XML與JSON的對比結果如(2005-02-18). ht:/:/ww.adaptivepath.com/ideas/essays/archives/000385.php.表1所示。2]王東,孫彬.基于A(yíng)jax的MVC框架的改造分析[幾. 計算機表1 XML 和JSON的對比結果應用, 2007, 27(S1): 293-295.數據格式 數據區解析效事開(kāi)發(fā)效率安合性XML較[3]陽(yáng)餼,徐建波. Ajax技術(shù)的性能改進(jìn)研究[J].計算機工程與科ISON學(xué), 2008, 30(6): 146-148.可以看出,XML表現較好的方面是用戶(hù)可讀性、服務(wù)器編輯顧姣健(上接第51頁(yè))(4)術(shù)語(yǔ)的非交性檢驗。給定術(shù)語(yǔ)集s,如果對于任意(3)如果存在個(gè)體a,使得類(lèi)的實(shí)例聲明[]([]), i∈1,2個(gè)原子術(shù)語(yǔ)或者術(shù)語(yǔ)公式x y和任意一個(gè)本體商空間2..",n成立,則稱(chēng)實(shí)例聲明β關(guān)于[O]n是一致的。[0],=<[X],[F], [7]>,ie {,,.,n},有[x]0[y]=0,則稱(chēng)y(4)如果存在個(gè)體a, b,使得屬性的實(shí)例聲明[P]l(a], [b]),與x非交。iel,2..,n成立,則實(shí)例聲明β關(guān)于[0]n是一致的。根據以上定義,對“本體商空間[0]<[X],[F],[7].>,ie{0, 4 結束語(yǔ)1,.-, n}中的術(shù)語(yǔ)a和b是等價(jià)的"進(jìn)行驗證,具體方法如下:本文介紹了屬性粒度商空間下本體的形式化和檢驗問(wèn)(1)給定本體0=和屬性集等價(jià)關(guān)系集R。題,實(shí)現了在不同層次的屬性商空間之間進(jìn)行自由跳轉。下(2)在屬性等價(jià)關(guān)系集R的作用下,對本體0進(jìn)行商空間一步的工作是研究基于屬性粒度商空間的本體推理,構造一運算,形成不同層次的商空間: 01<1...<..個(gè)基于屬性粒度商空間的完備推理體系,并且基于此進(jìn)行應(3)如果存在[O]=<(I], [F]I. []>, ie {.,.. n},使得[a],用開(kāi)發(fā)。[b]∈[xI,成立,且[a]c [b]和[]s [a]成立,則根據商空間的多考文獻保真原理"4,一定有a=b成立。[1]王洪偉,吳家春蔣馥本體的形式化模型及在語(yǔ)義查詢(xún)中的其他方面的檢驗方法類(lèi)似,在此不再重復。應用[C/全國搜索引擎和網(wǎng)上信息挖掘學(xué)術(shù)討論會(huì )論文集.3.2實(shí)例檢驗北京:高等教育出版社, 2003: 205-213.定義9實(shí)例聲明的一致性:給定本體0=, 若[2]鄧凱,吳家春,王洪偉.本體論在知識圖書(shū)館的應用研究[D].存在本體屬性集等價(jià)關(guān)系集R是實(shí)例聲明β的一個(gè)模型,則情報科學(xué), 2003, 21(1): 106-108.稱(chēng)β是一致的,否則稱(chēng)β是不一一致的。 若屬性集等價(jià)關(guān)系集[3]李彥敏.王曉東.基于角色概念的合作學(xué)習Ontology 的構建[小]R既是β的一個(gè)模型,又是[0],的一一個(gè)模型,則稱(chēng)β關(guān)于[0],河南師范大學(xué)學(xué)報:自然科學(xué)版,2007, 35/2); 4749.是一致的。若屬性集等價(jià)關(guān)系集R是[0],的一個(gè)模型,則稱(chēng)[4)張鈸,張鈴問(wèn)題求解理論及應用[M].2版北京:消華大[0]n是一致的。學(xué)出版社,2007.下面對本體實(shí)例的-致性進(jìn)行驗證:[5] Zh". Snacc Theory off ProblemR, .,Rn}. .(1)給定本體0=和屬性等價(jià)關(guān)系集R={Ro,61鄧i中國煤化工5923): 287-298.YHC N M H G研究綜述[]北京大學(xué)(2)在等價(jià)關(guān)系R,∈R的作用下,對本體0進(jìn)行商空聞運學(xué)報:日然料字做,20U2, 38(): 730-/38.算,確定實(shí)例商空間[O],=<[X].. [F] [7],>.偏輯張帆

論文截圖
版權:如無(wú)特殊注明,文章轉載自網(wǎng)絡(luò ),侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學(xué)習使用,務(wù)必24小時(shí)內刪除。
欧美AAAAAA级午夜福利_国产福利写真片视频在线_91香蕉国产观看免费人人_莉莉精品国产免费手机影院