基于HTML5的异步数据传输

摘 要:为优化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大小(缓存空间包含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:///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.

转载请注明出处学文网 » 基于HTML5的异步数据传输

学习

鲁坚和他的《延安往事》

阅读(17)

鲁坚是中国人民警官大学(现中国人民公安大学)毕业的,毕业后他顺理成章的到派出所工作,成为一名预审员,日常工作就是审查犯人。在派出所工作的三年时光里,他对犯人的心理了如指掌。由于爱好文学,身边的同事都亲切地称他为:文学青年。鲁坚很喜欢中

学习

诗巴丹,海底的冲击

阅读(29)

如果你不是潜水爱好者,诗巴丹这个地名肯定没听说过;如果你潜水,这个非常出名的小岛肯定听说过。每年很多潜水客从世界各地辗转到此。诗巴丹位于东马来西亚和印尼交界的一个小岛,10分钟可以沿着海边走一圈。而在岛上除了有蜥蜴有小鸟外再找不

学习

宁波:书藏古今,港通天下

阅读(35)

本文为您介绍宁波:书藏古今,港通天下,内容包括书藏古今港通天下谁写的,书藏古今港通天下的含义。坐落于“东来第一峰”的保国寺1961年,保国寺同北京故宫、八达岭长城,南京中山陵、布达拉宫等共同入选为我国第一批重点文物保护单位,它是我国

学习

孔雀男其实还不赖!

阅读(18)

健身、节食、防晒……他们照顾自己,无微不至;打底裤、眼线、粉底……他们全副武装,自恋到爆,钟情外表一如爱借自己羽毛的孔雀。被无数女人嗤之以鼻的“孔雀男”,正从一个群落,逐渐演变为一场风潮。好吧,大势当前,无封丑转——与其闷声嘀咕“感觉

学习

王力可素食主义的美丽之道

阅读(16)

王力可的大眼睛里透着孩子般的性情,自然弯曲的发梢显得有些调皮。她的声音温柔,姿态沉稳。在她身上看不到一点80后的浮躁和张扬。80后,也许只是与她无关的一种文化公式,就像她不在乎谁说她是别人的副本一样。对她的采访有点像一场限时比赛,尽

学习

基于TM影像的榆次区土地利用分类研究

阅读(42)

本研究以TM影像数据为基础数据,通过对TM影像的几何精校正、彩色增强、TM影像的叠加等处理,对处理后的影像进行矢量化和人工解译,获得详细土地类别的布局信息,并分析研究区域土地利用类型之间的转化情况和分布状况。关键词:土地利用分类;监督分

学习

淡水白鲳养殖技术

阅读(29)

本文为您介绍淡水白鲳养殖技术,内容包括海水白鲳能养殖吗,淡水白鲳鱼缸养殖方法。近年来,老百姓的餐桌上又多了一道以往不常见的鱼。这种鱼肉厚刺少,肉质细嫩,具有较高的食用价值和营养保健价值。它的学名叫短盖巨脂鲤,可老百姓管它叫“淡水

学习

小松鼠摘松果范文精选

阅读(23)

本文为您介绍小松鼠摘松果范文精选,内容包括小松鼠摘松果的顺序是什么,小松鼠每次摘松果吃一个。小松鼠摘松果篇1小松鼠和大老鼠快乐作文平桥分校区一小三(1)班付晓宇在一个秋高气爽的日子里,小松鼠出去找食物,准备储存过冬时吃的食物。小松

学习

我国上市银行表外信息超载问题研究

阅读(23)

本文为您介绍我国上市银行表外信息超载问题研究,内容包括大型银行披露信息偏离度,银行业敏感数据。一、上市银行信息披露现状及分析(一)信息披露统计纵观我国上市银行年度财务报告基本上都是洋洋洒洒好几百页。除了四张财务报表外,其他都是

学习

轻音乐大师艾瑞克·科茨

阅读(36)

科茨的音乐总是被成箱成箱地销售,他过耳不忘的曲调已经成为了一种民间音乐风俗。然而,那并不意味着他的音乐就缺乏深度,绝对不,尼克·福尔顿(NickForton)辩解道。艾瑞克·科茨(EricCoates,1886-1957)的人生差点就以一个普普通通的银行经理而告终

学习

漫话洛阳龙门石窟造像——卢舍那大佛

阅读(22)

本文为您介绍漫话洛阳龙门石窟造像——卢舍那大佛,内容包括洛阳龙门石窟四大石窟之首,闻名世界的中国洛阳龙门石窟。内容卢舍那大佛造像是举世闻名的佛教石窟造像,文章从佛教、艺术等角度去重新审视大佛造像,并阐述了卢舍那大佛的来源和艺

学习

对地铁运营模式的浅谈

阅读(38)

本文为您介绍对地铁运营模式的浅谈,内容包括地铁运营模式,对地铁运营工作优化有什么建议。摘要进入21世纪以来,中国人口剧增,为了适应人们快节奏的生活,近几年,交通工具的形式日益多样化,在一些大中型城市,地铁,成了人们外出工作的主要交通方式

学习

丁奶奶家的猫

阅读(38)

丁奶奶是谁?只要你走进她家大门,你就不难发现,猫狗都愿紧紧依偎在她身边,动物依恋的眼神中尽显老人风雨数十载的辛苦与艰难。谁是丁奶奶?北京城闻名的后海旁边有个龙头井胡同,整条胡同都知道有这么个老太太,她这一辈子没结婚,自打1973年开始,就在

学习

传承千年的藏传佛教觉囊画派艺术

阅读(18)

本文为您介绍传承千年的藏传佛教觉囊画派艺术,内容包括藏传佛教绘画特色有哪些,藏传佛教艺术精品高清。唐卡是藏族传统工艺中的瑰宝,是藏族的一部百科全书,是一部以画言史、叙事、载道、弘法的总集,深深熔铸在藏族人民的生命力、创造力、信

学习

论环氧沥青的施工方法及注意事项

阅读(18)

本文为您介绍论环氧沥青的施工方法及注意事项,内容包括环氧沥青防腐怎么施工,桥面环氧沥青施工。大跨径钢箱梁桥桥面铺装普遍采用沥青混凝土。桥面铺装沥青混凝土耐高温性能一般较差,钢箱梁桥面铺装问题已成为制约钢箱梁桥发展的关键因素

学习

隔墙构造与施工方法介绍

阅读(24)

本文为您介绍隔墙构造与施工方法介绍,内容包括隔墙施工图讲解,隔墙施工标准技术参数。【摘要】隔墙是分隔室内空间的非承重构件。在现代建筑中,大量采用隔墙以适应建筑功能的变化。由于隔墙不承受任何外来荷载,且本身的重量还是由楼板或小

学习

6大方法抗击皮肤衰老

阅读(29)

本文为您介绍6大方法抗击皮肤衰老,内容包括紫外线是皮肤衰老的原因吗,一张自测皮肤衰老。“胜肽”抗皱、密集护理、弹性减压、双效焕颜、智能修复……选对真正适合自己的抗衰老方式与产品,你会发现皱纹并不可怕,斑点也不那么顽固,松弛也能

学习

深基坑工程中地下水处理方法

阅读(27)

深基坑工程是一项施工时间长、施工难度高、涉及学科种类多的一项复杂的工程。当深基坑的基础深度低于地下水位线时,就必须对地下水进行处理,以防止其对深基坑工程的渗透与破坏。在本文中,笔者主要通过分析地下水对深基坑工程的破坏原理,以探

学习

议论文的命题角度和解读方法

阅读(33)

本文为您介绍议论文的命题角度和解读方法,内容包括议论文正反对比式例文,议论文和说明文的答题模板。初中阶段,虽然议论文在课文中的比重不大,但是,作为中考考查的重要文体之一,我们必须掌握与议论文相关的知识及其解读方法,才能应对考试。议

学习

农业生产中合理施肥的意义及具体方法

阅读(43)

本文为您介绍农业生产中合理施肥的意义及具体方法,内容包括农业生产如何做到合理施肥,合理施肥的意义及方法。近日,国际肥料工业协会(IFA)公布了《全球短期肥料市场展望2011—2012》报告。报告显示,2012年全球粮食需求将持续增长,主要粮食作

学习

实验室COD、氨氮废液简易处理方法

阅读(21)

本文为您介绍实验室COD、氨氮废液简易处理方法,内容包括氨氮废液与cod废液倒混怎么办,废水氨氮和cod去除方法。[摘要]用重铬酸钾法测定COD及用纳氏试剂分光光度法测氨氮实验过程产生的废液均有毒有害,不可随意倾倒。结合两种废液性质,通过

学习

浅谈树木年龄测定方法的研究进展

阅读(127)

本文为您介绍浅谈树木年龄测定方法的研究进展,内容包括树木年轮怎么判定年龄,年轮代表树木年龄。指出了准确鉴定树木生长年龄是一个国际性的技术难题,目前,国内外关于树木年龄测定的方法很多,但都停留在“估算推算”阶段,没有达到“精准快速