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

基于HTML5的異步數據傳輸

2013-12-31 00:00:00劉繼飛方友
無線互聯科技 2013年10期

摘 要:為優化B/S系統結構與網絡數據負載,本文在HTML5的WebStorage和WebSocket技術基礎上,設計了一種異步數據傳輸方案。它將部分業務邏輯移交到客戶端執行,并在客戶端本地緩存數據,以異步方式與服務器進行交互。實踐證明能有效減輕服務器負擔,增強用戶體驗。

關鍵詞:B/S結構;WebStorage;WebSocket;異步模式

對B/S(Browser/Server)結構的應用系統[1]而言,當客戶端用戶在同一時段內進行大量數據傳輸時,瀏覽器與服務器之間交互的大部分時間用來處理和傳輸數據。服務器負載增加、用戶體驗降低。本文使用HTML5中的存儲和通信技術設計了一種異步數據傳輸方案,能解決上述問題。

1 WebStorage和WebSocket

WebStorage是在HTML5本地保存信息和狀態的技術,其持久存儲LocalStorage和會話期存儲SessionStoage兩種方式共可存儲多達5M字節[2]的數據,與Cookie等技術相比,具有更大的存儲空間和更靈活的使用方式。

WebSocket是Web中目前為止最強大的通信功能,它定義一個全雙工的通信信道,通過一個Socket即可進行通信。目的是為了取代輪詢和Comet技術,使瀏覽器具有客戶機/服務器(Client/Server,C/S)模式下應用程序的實時通信能力[3]。客戶端與服務器的連接在握手時,基于同底層的TCP/IP連接,將HTTP協議升級為WebSocket協議,握手成功后進入雙向長連接階段,以全雙工方式發送和接收數據。數據幀以0x00字節開頭,0xff字節結束,與HTTP頭的幾百個字節相比,WebSocket只有2個字節的額外開銷。

2 異步數據傳輸

WebSocket與WebStorage提供了一系列API處理客戶端業務,結合服務器端類庫,可以進行異步數據傳輸。筆者使用JavaScript和C#語言,在.NET Framework 4.5環境下設計了方案并做了實驗。方案結構如圖1所示:

在傳統用戶端與服務器交互基礎上增加了一個中介:WebStorage。它在客戶端存儲數據并與服務器進行異步傳輸。下面以一個數據自動保存過程為例,簡述該方案的應用。

客戶端步驟:(JavaScript實現)

(1)初始化WebStorage對象,設置緩存空間和片段Seg大?。ň彺婵臻g包含n個片段);

(2)創建并打開WebSocket對象Ws,同時設置OnSend、OnMessage各個事件的函數;

(3)用戶輸入或修改數據,觸發OnChange方法;

(4)OnChange判斷緩存狀態,如果緩存超過閾值,則執行(5),否則轉到(3);

(5)設置緩存的Seg數據編號,裝配形成格式化的數據流,Ws異步Send數據,請求服務器處理;

(6)判斷OnMessage返回編號隊列(OnMessage異步響應服務器返回,把服務器成功保存的Seg編號入隊),如果隊列為空,則繼續執行(7),否則執行(8);

(7)用戶如果還有數據輸入,轉到(3),否則執行(9);

(8)清除服務器成功保存的Seg,對應編號出隊,重新設置流序編號和修改標志,然后轉到(3);

(9)提交頁面,Flush緩存中現有內容,關閉Ws。

上述過程中,用戶編輯的數據片段存入緩存被發送給服務器。服務器成功保存片段數據后,返回其編號交與客戶端Socket的OnMessage,OnMessage執行不影響用戶編輯數據,處理過程是異步的。

管理端步驟:(C#實現)

(1) HttpHandler監聽客戶端請求;

(2)有客戶端請求(IsWebSocketRequest),則引用HttpContext中的WebSocket對象Ws;

(3)如果Ws成功打開,則調用ReceiveAsync方法獲取客戶端送過來的數據置于buffer;否則轉到(1);

(4)解析buffer,有效的Seg保存至數據庫;

(5)調用Ws的SendAsync方法回送成功保存的編號,最后轉到(1)。

3 結論

該方案應用到筆者參與開發的兩個信息管理系統中,運行結果表明:(1)在客戶端駐留部分業務邏輯代碼,可最大程度地利用客戶端的軟件資源;(2)減少訪問次數,利用客戶端本地緩存數據可大大減少網絡流量,減少服務器的負載。(3)異步傳輸數據,在不影響邏輯功能前提下,改進數據傳輸形式與性能,改善系統運行效率而提升用戶體驗。

[參考文獻]

[1]Bruce Silver.How to choose an E-form system[J].Transform Magazine,2002,11:21-24.

[2]http://www.w3.org/TR/webstorage/[3]XU Z K.Research on WebGIS based on HTML5,Ajax and Web Service[J].Science of Surveying and Mapping,2012,37(1):145-147.

主站蜘蛛池模板: 美女高潮全身流白浆福利区| 国产精品视频第一专区| 日本不卡视频在线| 91亚洲精选| 九色在线视频导航91| 国产区在线看| 91精品免费高清在线| 日韩精品成人在线| 国产啪在线91| 青青操国产视频| 国产成人夜色91| 9久久伊人精品综合| 欧美成人看片一区二区三区 | 手机永久AV在线播放| 亚洲伊人久久精品影院| 美女被操91视频| 国产国语一级毛片| 综合网久久| 成人韩免费网站| 国产91在线|日本| 538精品在线观看| 性喷潮久久久久久久久| 国产欧美综合在线观看第七页| 成人亚洲天堂| 无码电影在线观看| 91精品久久久久久无码人妻| 国产欧美中文字幕| 黑人巨大精品欧美一区二区区| 丰满人妻被猛烈进入无码| 日韩一级二级三级| 91精品久久久无码中文字幕vr| 国产在线精品美女观看| 亚洲中文字幕av无码区| 免费看的一级毛片| 中文字幕欧美日韩| av一区二区人妻无码| 国产自在自线午夜精品视频| 国产av无码日韩av无码网站| 亚洲欧美在线精品一区二区| 亚洲品质国产精品无码| 国产精品欧美激情| 韩国v欧美v亚洲v日本v| 婷婷综合在线观看丁香| 一级毛片中文字幕| 欧洲一区二区三区无码| 国产毛片片精品天天看视频| 久久精品国产免费观看频道| 最新国产成人剧情在线播放| 2021精品国产自在现线看| 狠狠亚洲五月天| 国产欧美日韩视频怡春院| 青青热久免费精品视频6| 激情五月婷婷综合网| 四虎国产在线观看| 亚洲欧美日韩精品专区| 国内精品自在欧美一区| 亚洲另类国产欧美一区二区| 欧美视频免费一区二区三区 | 欧美视频在线播放观看免费福利资源| 亚洲国产黄色| 亚洲成a人在线观看| 日韩欧美国产中文| 国产美女91视频| 精品一区二区三区自慰喷水| 婷婷综合亚洲| 亚洲自偷自拍另类小说| 刘亦菲一区二区在线观看| 欧美在线观看不卡| a级毛片网| 专干老肥熟女视频网站| 国产精品无码翘臀在线看纯欲| 日韩毛片免费| 波多野结衣一区二区三区四区| 美女一区二区在线观看| 精品视频在线一区| 亚洲一区二区三区麻豆| 国产精品福利导航| 欧美 国产 人人视频| jizz国产在线| 久久精品女人天堂aaa| 国产18在线播放| 国内精品久久九九国产精品 |