WebSocket在电能实时监测系统中研究与应用.docVIP

WebSocket在电能实时监测系统中研究与应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WebSocket在电能实时监测系统中研究与应用

WebSocket在电能实时监测系统中研究与应用   摘 要 本文分析了目前几种Web实时通信方案的特点,着重研究了基于WebSocket的实时通信机制。在电能实时监测系统中应用该机制,使用Jmeter测试其性能,结果表明WebSocket具有高实时性、低网络流量、对服务器端压力小的特点。   【关键词】WebSocket 电能实时监测系统 Jmeter   社会经济的不断进步和智能电网技术的不断发展,电力系统规模不断扩大,用电需求量也持续增长。与之伴随的是用电设备运行时急剧增长的数据量。在物联网和智能电网技术飞速发展的今天,为了便于用户实时地掌控管理设备用电情况,为用户用电合理地调度提出决策支持,一种基于Web的用户侧用电信息实时、精确、可视化的监测系统应运而生。该电能实时监测系统对数据传输的实时性提出了很高的要求。传统的实时Web方案存在网络延时较高,满足不了实时性需求;数据传输耗费大量的网络流量,造成带宽浪费;无法完全做到全双工通信;不能有效地满足大量用户并发访问服务的需求等缺点,从而不能够满足电能实时监测系统的性能需求。在该系统中采用了一种新的实时Web方案――WebSocket技术,实现了WebSocket传输实时用电数据的功能。并利用软件测试工具Jmeter测试其运行时的各项参数指标,进行评估。   1 传统的Web实时通信方案   Web应用的信息交互方式通常是客户端通过浏览器向服务器发送一个请求,服务器接收处理该请求并返回结果给客户端,客户端浏览器将信息呈现。这种机制对于信息变化不频繁的应用尚能应对,但对于实时性要求高、海量并发的应用来说,该机制完全不能胜任。在WebSocket规范出来之前,传统的实时Web应用方案有轮询(polling)、Comet技术。   1.1 轮询技术   轮询是最早的一种实时Web应用方案,是一种定时的同步调用。客户端向服务器以固定的时间间隔发出请求,查看是否有新信息需要传送。轮询通过频繁的请求方式来保持客户端与服务器端的同步。当客户端频繁地发送请求,而服务器端可能没有数据更新时,轮询方式会带来很多无谓的网络传输造成带宽的浪费,也导致了CPU利用率的浪费,所以轮询其实是一种非常低效的实时方案。   1.2 Comet技术   Comet是一种基于HTTP长连接、无需在浏览器端安装插件的“服务器推”技术。Comet技术可以细分为三种实现方式,分别是基于长轮询(long polling)、基于iframe和基于流(stream)的方式。Comet技术一定程度上提升了系统的实时性能力减少了服务器的计算工作,并且能够支持大量用户。但由于其长期占用连接从而丧失了无状态高并发的特点,具有一定的副作用。   2 基于WebSocket的实时通信   WebSocket协议是HTML5标准中提出的一种新的协议,WebSocket设计的初衷就是要取代轮询和Comet技术,使得浏览器具备实时、双向通信的能力。WebSocket协议主要包括两个阶段,其一是浏览器与Web服务器的“握手”阶段,其二是基于TCP的数据帧传输阶段。在“握手”阶段完成WebSocket连接的建立,连接成功后进行TCP数据帧的传输。   2.1 WebSocket协议“握手”阶段   在WebSocket的握手阶段,浏览器与服务器之间首先通过TCP三次握手建立连接,连接成功后浏览器通过HTTP协议向服务器发送请求报文,服务器接收验证该请求报文并向浏览器返回一个HTTP数据包,浏览器对该数据包进行确认,如果正确,则握手连接建立成功,浏览器与服务器之间建立用于数据帧传输的TCP连接。浏览器与服务器端建立连接的过程如图1所示。   下面是TCP连接建立成功后,浏览器向Web服务器发送给的HTTP请求的报文:   服务器接收到客户端的握手请求报文后,需要对WebSocket子协议的支持类型和协议版本进行验证,并对Sec-WebSocket-Key字段进行处理,具?w做法为:将Sec-WebSocket-Key字段加上字符“258EAFA5-E914-47DA-95CA-C5AB0DC85B11”,采用HA-1方法加密,在进行base64编码后得到结果,并在应答报文中将结果赋给Sec-WebSocket-Accept字段。服务器返回给浏览器的HTTP应答报文如下:   浏览器对报文中的返回状态码及Sec-WebSocket-Accept字段进行验证,如果正确,则握手成功,如此,浏览器和服务器就可以通过专用的TCP连接发送和接收数据。   2.2 TCP数据帧传输阶段   WebSocket只有在第一次握手时数据交互比较复杂,握手成功后,浏览器与服务器之间只传输纯数据。WebSocket按照数据帧的标准格

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档