基于HTML5的异步数据传输

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:dingshilin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:为优化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://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.
其他文献
在幼儿园的室外活动教学逐渐受到重视,多样化的教学模式模式中"区域体育活动"的教学形式,不论从教学的实施、幼儿对内容的学习还是最终的教学效果上,都比单纯的室外活动开展更
作家雨果说:“人世间没有爱,太阳也会死.”关爱他人不仅是一种传统美德,也是未来人才的基本素质要求.现在的幼儿绝大多数是独生子女,倍受家长的宠爱.有些家长在把全部的爱倾注
摘要:汽车发动机构造与维修是高职汽车类各专业的核心课程或主干课程,高职院校开设本课程不仅仅是帮助学生掌握汽车发动机结构等原理知识,更重要是培养学生的检测维修专业能力,而这种检测维修专业能力通过以往的试卷笔试很难进行检验和评价。采用教考分离和理论与实踐相结合的综合考核模式更有利于对学生的检测维修专业能力进行客观地进行检验和评价,并做到以考促教、以考促学,从而提高汽车发动机构造与维修课程的教学水平,培
摘 要:现在许多家庭都有多个无线终端,笔记本,手机,平板等,为了上网的需求,就需要购置无线路由器,但有时受线路,位置的影响,会发现在卧室或其它房间信号不好,网络上不去,办法就是再购置一台路由器放在信号弱的房间,将原来无线信号接收过来,再放大进行中继,能很好解决这种问题。  关键词:无线路由器;中继功能  现在许多家庭都有多个无线终端,笔记本,手机,平板等,为了上网的需求,就需要购置无线路由器,但有
中国体育产业的发展对于增加就业岗位、扩大内需、拉动消费、调整产业结构、提高人民生活水平、促进国民经济增长、保持社会经济繁荣稳定等发挥了十分重要的作用,但体育产业
盼星星盼月亮,终于盼来国庆小长假。放学铃声还未落,我便像小鸟一样冲出了教室,迫不及待地跑回了家——家人正等着我一起去三峡呢!我们匆匆吃了晚饭,就直奔车站,几个小时后终
电子票务系统本质上属于一类"电子门票",融合了当代先进的高科技技术,广泛采用了电子技术、条形码记录技术、无线传输技术、计算机网络技术、加密技术等技术,主要由电子门票、
父亲走在我前面,“吱呀”一声推开那扇木门,老家的院子就这样清晰地展现在我眼前。几座不大的瓦屋,几处开裂的泥墙,萋萋荒草已漫止屋前的石阶上。正是初夏时节,鸟雀乱飞,耳际却是超
校园文化是学校精神风貌的集中体现,在学校内涵发展中起着“润物无声”的作用。澄江镇小学校致力于校园特色文化的打造,以精神文化为核心,营造美好校园风气;以环境文化基础。
合唱, 是集体艺术的呈现方式.但是在小学音乐课堂开展合唱教学, 其教学困境诸多, 但从总体上来看, 笔者认为, 皆因难以调动学生学习兴趣导致,合唱学习兴趣是保证小学音乐合唱