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