专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

基于HTML5的实时Web数据监测系统的设计与研究论文

  随着人们对信息实时性需求的不断提高,实时Web技术越来越受到人们的重视。例如,实时在线版网络游戏、在线购票系统等都是实时Web的典型代表。有国外媒体称实时Web的时代即将到来,实时Web不仅仅是一种时尚也是一种技术趋势。客户端数据的实时性要求服务器能主动向客户端实时发送数据,将最新的消息通知用户。传统的Web应用中,服务器都是响应浏览器请求发送数据给客户端,而客户端并不知道服务器数据何时变化,因此,无法做到真正的实时性。随着HTML5技术的发展,通过HTML5的WebSocket技术和Canvas可实现真正实时Web的需求。为此,构建基于HTML5的实时Web数据监测系统,与传统实时Web技术相比,有效地减少了网络延时和吞吐量。
  1传统实时Web技术
  传统实时Web技术是基于HTTP协议(超文本传输协议),HTTP协议下的服务器和客户端的信息交互方式为:客户端发送请求到服务器端,服务器端接收并处理客户端请求后返回结果给客户端,然后断开连接。由于HTTP协议是无状态协议,对于实时性要求比较高的Web应用,当客户端准备呈现服务器端的响应数据时数据可能已经过时,如果用户想要获得实时性信息需要不停地刷新页面,这显然是不明智的。目前,实时Web的实现形式主要是轮询和其他服务器推送,最常用的主要是轮询和长轮询技术。
  1)轮询技术。客户端以固定频率向服务器发送HTTP请求,通过服务器端响应请求实现实时性。显然,消息传递之间如果有准确的时间间隔,轮询是一个很好的方法,但是通常实时数据之间的时间间隔是不可预知的,实时数据何时发生改变无法预测,若频率过高会加重服务器负载和网络负担,频率过低会丢失重要数据,并且每次连接需要发送HTTP报头而产生网络噪声。因此,轮询技术是一种很低效的实时通信方案。
  2)长轮询技术。客户端向服务器发送请求后,在一段时间内服务器会保持打开状态,在此期间,如果服务器收到发送消息通知,会发送数据到客户端,客户端接收到数据时重新发送请求信息。然而,当数据量较大时,长轮询对于传统轮询方式并无性能改善。从以上分析可知,传统实时Web存在的缺陷是服务器端和客户端缺少全双工、稳定的长连接。
  2相关技术与开发环境
  2。1WebSocket技术HTML5为继HTML4。01后由W3C(万维网联盟)和WHATWG(Web超文本应用技术工作组)共同开发的一个全新版本的HTML。WebSocket作为HTML5的一种新的协议,它提供了一种全新的服务器客户端的异步通信方法,弥补了传统实时Web的缺陷,成为未来实时Web应用的首选方案。
  WebSocket协议和WebSocketAPI分别为WebSocket的理论和实践部分。WebSocket协议由握手和数据传输2个阶段构成。TCP建立连接后首先要进行WebSocket层的握手操作,这个阶段非常简单,客户端给服务器发送HTTP请求,服务器响应客户端请求。
  这个阶段的数据传输都基于文本,与现有的HTTP1。1相兼容。握手成功后进入数据传输阶段,这个阶段脱离了HTTP协议。WebSocketAPI由W3C制定,在WebSocketAPI中客户端和服务器端只需一个交互信息,客户端和服务器端就建立了一条全双工的信息传输通道,可直接相互传输数据,类似于TCPIP。这种技术不仅为实时Web应用节省了大量的服务器带宽和资源,而且能满足实时性的需求。
  2。2WebSocket服务器
  WebSocket协议基于BS架构,因此要实现WebSocket协议,必须要有WebSocket服务器。目前WebSocket服务器的开源实现有很多,例如:
  1)KaazingWebSocketGateway(Java实现的WebSocket服务器);
  2)Netty3。0(Java实现的WebSocket服务器);
  3)Node。js(JavaScript实现的WebSocket服务器);
  4)modpywebsocket(Python实现的WebSocket服务器);
  Node。js是由RyanDahl发起的开源项目,现由Joyent公司管理维护。Node。js是可以让JavaScript在服务器端运行的平台,它可以让JavaScript既可在浏览器端又可在服务器环境下运行。Node。js与其他服务器语言相比优势有以下几点:
  1)Node。js采用V8引擎,大大提升了JavaScript代码的运行速度。
  2)Node。js摒弃了传统平台采用多线程实现高并发的方法,采用了单线程、异步式IO、事件驱动的方式,不仅摆脱了多线程所带来的困扰,也使性能得到了巨大的提升,提高了开发效率。
  3)Node。js充分考虑了数据的实时性,是一个为实时Web而诞生的平台。通过Node。js与WebSocket的合作,可开发实时性要求较高的Web应用。
  2。3客户端图形实时呈现
  如今,实时Web应用的开发者越来越注重用户的体验度,将繁杂的数据进行可视化可向用户更加简单、直观地展示数据的变化,减少用户整理和思考的时间。目前,互联网上的数据可视化工具有很多,例如Spss、Matlab、Excel、TableauDesktop、Echarts等。其中,Spss更加注重统计分析,但图表与其他软件的兼容性较差;Matlab需要很强的编程能力,更偏向于科学方面的可视化处理;Excel输出图表无交互性,不能进行动态数据的可视化处理;TableauDesktop需要收取较高的费用。
  HTML5中的Canvas元素提供了可进行绘图的平台,采用JavaScript语言对其操作可绘制理想的图形,通过Canvas元素可对系统的实时数据进行可视化处理。Echarts(EnterpriseCharts商业产品图表库)是基于Canvas使用JavaScript语言编写的可视化图表库,而且拥有动态数据接口。通过Echarts的动态数据接口,可对系统的实时数据进行可视化处理。
  2。4开发工具及开发环境
  Web程序主要是在浏览器上观看运行效果,在后端服务器和浏览器中完成调试和运行Web程序,选用Editplus作为编辑器,可在编码过程中对代码进行高亮显示,提高编程效率。目前浏览器对HTML5的支持程度良莠不齐,系统选用GoogleChrome浏览器(版本35。0。1916。114m)作为开发和测试环境,与其他浏览器相比,Chrome打开速度快,用户体验好。服务器端安装Node。js(版本0。10。26)及Node。js的包管理器NPM(版本1。4。3)。在Windows系统中安装Node。js非常简单,访问http:nodejs。org下载安装包后点击Next就可以自动完成安装,通过这种方式还自动安装了Node。js的包管理器NPM。另外,在命令提示符中输入node,即可测试Node。js是否安装成功。
  3构建实时数据监测系统
  3。1系统结构
  实时Web数据监测系统由服务器端和客户端2部分构成,其系统结构如图2所示。服务器端主要采集和推送数据,客户端主要实现动态数据接收控制和显示等功能。
  3。2系统流程图
  基于WebSocket实时数据监测系统的流程图如图3所示。从图3可看出,WebSocket服务器主要功能通过WebSocket接口来响应客户端事件,客户端通过WebSocket对象监听事件,通过触发OnMessage接收数据并动态显示数据。
  3。3基于Node。js的WebSocket服务器端实现Node。jsWebSocket是专门为WebSocket服务器开发的Node。js模块,通过直接调用Node。jsWebSocket模块封装的方法可轻松构建属于自己的WebSocket服务器。Node。jsWebSocket模块的使用及通过模块中的相关函数构建WebSocket服务器过程为:
  1)在Node。js中通过NPM包管理器执行程序
  NPMinstallNode。jsWebSocket安装Node。jsWebSocket模块。
  2)通过Node。js提供的require函数调用Node。jsWebSocket模块,并运用其中的createServer()创建服务器对象,开始监听客户端请求,客户端发出请求后,WebSocket服务器端和客户端开始建立连接。
  varwsrequire(nodejswebsocket);
  调用Node。jsWebSocket模块
  varserverws。createServer(function(conn){
  })。listen(8001);
  上述代码创建WebSocket服务器对象并监听8001端口。
  3)注册事件并为事件指定响应的函数。本代码注册了text、error、close三个事件:
  a)text,当服务器接收到客户端字符串时触发;
  b)error,连接过程中发生错误时触发;
  c)close,当WebSocket连接关闭时触发。
  WebSocket服务器接收到客户端字符串时触发text事件,进而调用相应的函数,将Mysql数据库中实时数据发送给客户端。例如:
  conn。on(text,function(str){console。log(收到的信息为:str)
  sendmess()发送实时数据到客户端})
  conn。on(close,function(code,reason){
  console。浃鉥K〕log(关闭连接)})
  conn。on(error,function(code,reason){
  console。log(异常关闭)})
  WebSocket服务器编写完毕后保存文档为WebSocket。js,打开终端,进入WebSocket。js所在的目录,执行nodeWebSocket。js命令即可运行WebSocket服务器。
  3。4WebSocket客户端与Echarts实时数据显示WebSocket客户端只需要绑定相应地址和端口并与服务器建立连接,可接收服务器推送的数据,因此,WebSocket的客户端很容易使用。具体步骤为:
  1)创建连接。首先需要新建一个WebSocket对象,并传入相应的URL,WebSocket创建完成后,页面可连接服务器。
  varwsnewWebSocket(39;ws:192。168。17。80:800139;)
  上述代码创建了WebSocket对象,其中URL由3部分组成,分别为通信标记(ws)、主机IP和端口号。
  2)监听事件。WebSocket对象拥有4个事件:onOpen、onClose、onError和onMessage。
  a)onOpen:WebSocket服务器建立完成时触发;
  b)onClose:WebSocket服务器关闭时触发;
  c)onError:WebSocket服务器创建过程中发生错误时触发;
  d)onMessage:客户端收到服务器端数据时触发。
  WebSocket服务器发送数据给客户端时触发onMessage事件,通过onMessage事件将实时数据传入Echarts图表的动态接口。例如:
  ws。onopenfunction(e){console。log(连接服务器成功)
  ws。send(game1);}
  ws。onclosefunction(e){console。log(服务器关闭);}
  ws。onerrorfunction(e){console。log(连接出错);}
  ws。onmessagefunction(e){data2e。data;}
  3)数据显示。Echarts拥有动态数据接口,将数据库动态数据传入动态数据接口就可展示实时数据,例如:
  myChart。addData(〔动态数据接口addData
  〔0系列索引
  data2,
  新增数据,data2为服务器发送给客户端实时
  数据
  False新增数据是否从队列头部插入
  false是否增加队列长度
  4)主动关闭连接。若客户端认为通信已结束,可调用disconnect()函数关闭连接:ws。disconnect()。图4为采用该实时数据监测系统开发的实时温度数据显示图。其中,X轴为动态并持续更新最新时间,Y轴为对应时间的温度值。由此可对温度数据进行实时监测。
  4轮询与WebSocket服务器推送方式的测试
  4。1网络延时
  图5为Ajax长轮询与WebSocket服务器推送方式的网络延时对比。从图5可看出,Ajax轮询方式下客户端与服务器之间的平均延时为50ms,为了保持连接,服务器与客户端需不断进行请求和响应的操作,从而造成多次延时,并且延时中服务器无法向客户端发送消息,从而造成资源浪费。WebSocket模式下,服务器和客户端只在第一次握手连接时会造成延时,握手连接成功后客户端无需向服务器发送请求,服务器主动发送消息到客户端,从而减少了网络延时,提高了系统的实时性。
  4。2网络吞吐量
  本次实验中,Ajax长轮询的请求和响应的报头大小为734Byte,不包含任何数据。采用WebSocket技术,消息为一个数据帧,开销为2Byte。3种情景下连接数增加时Ajax长轮询和采用WebSocket技术的网络吞吐量对比情况如图6所示,其中1000个用户Ajax长轮询和Websocket的网络吞吐量分别为5。6、0。015Mbits,10000个用户Ajax长轮询和Websocket的网络吞吐量分别为56、0。15Mbits,100000个用户Ajax长轮询和WebsocketK〕P浃的网络吞吐量分别为560、1。526Mbits。可见,随着用户的增加,WebSocket的吞吐量明显低于Ajax长轮询。
  5结束语
  构建了基于HTML5的实时Web数据监测系统,能将数据(如温度、湿度、电压、电流等)实时发送到客户端,客户端通过Echarts对数据进行直观显示。与传统实时Web技术Ajax轮询对比测试结果表明,HTML5能大大减小网络延时和吞吐量。随着HTML5协议的完善,基于HTML5的实时方案将会被大量应用。

高职生克服自卑心理有效途径的创建策略论文一本研究的意义自卑是个体由于生理或心理上的缺陷或其他某些原因引起的自我轻视和自我怀疑的态度体验,表现为自我评价偏低,担心失去他人尊重,看不起自己,从而导致自信心缺乏和自我效能感降低心理暗示在舞蹈教学中的实验研究论文一家长对于孩子学习不重视,不理解当前社会大多数父母都是为了让自己的孩子可以有更好的学习条件而奋斗在事业上。所以,总会忽略了孩子的学习。但是,她们看重孩子的的成绩,有时只在乎结果不在汉语人称指示语语用移情的语境关系顺应分析论文韦氏词典对移情(empathy)的定义是分享他人思想或情感的能力,与同情感情移入情感共鸣等相似。从心理学的角度看,指通过对情感的感知而产生接近他人情感的情感体验,即情感的共鸣。从语优秀的中职生心理健康教育论文分享第1篇试论当代中职生心理问题及心理健康教育在日益激烈的市场经济环境下,中职生面临来自社会家庭及学校多方面的压力,在生活学习和日常交往过程中存在很多不容忽视的心理健康问题。因此,从学企业全面预算管理论文全面预算对于推动现代企业管理成熟与发展起过至关重要的作用。以下是小编整理的企业全面预算管理论文,欢迎阅读。企业全面预算管理论文1一对全面预算管理的认识全面预算管理是指企业对所有资源单片机通信性能探究专业论文一串行通信口的物理特性对单片机的通信性能可以从通信接口性能和软件处理能两个方面进行考虑。通信接口性能主要表现在与通信有关的电路物理性能上而软件处理性能则与单片机的指令系统和CPU性传输网管监控系统设计和应用研究论文摘要随着通信网络飞速发展,要想维护复杂的传输网络和设备,依赖于人工维护的方式已经颇具压力,集中网管告警系统的引入和发展提高了设备维护效率,节约了人力资源。本文就传输集中告警监控系统浅谈积极心理学对青少年心理健康教育的启示论文积极心理学作为心理学的一个分支,一经提出便受到广泛关注,其应用范围也越来越广。青少年是国家的希望,将积极心理学引入青少年心理健康教育中,是对心理健康教育理论的丰富和完善,更是为中小积极心理学的论文积极心理学采用科学的原则和方法来研究幸福,倡导心理学的积极取向。下面是小编推荐给大家的积极心理学的论文,希望大家有所收获。积极心理学的论文一摘要积极心理学是心理学的一种新思潮,本文积极心理学引导心理论文高职心理学健康教育以积极心理学为引导,不断转变教育思想,创新教学模式,能够帮助学生更好地塑造积极人格特质,提高他们的幸福感,帮助他们树立自信,帮助学生健康成长,促进学生全面发展。积积极心理学健康教育课程的论文从积极心理学出发,提出从以下方面构建高校心理健康教育课程体系以增进学生的积极体验和培养学生积极的人格品质为核心确定课程目标,以积极生动实用的内容为主体丰富课程内容,以多样化的教学组
浅述悖论的发展古希腊的芝诺为了证明运动的不可能,提出了四个悖论,其中比较有名的是阿喀琉斯追乌龟悖论和飞矢不动悖论,我们先以这两个悖论开始阿喀琉斯追乌龟悖论用亚里士多德的话转述如下动得最慢的物体不逻辑学与素质培养一逻辑学与素质培养素质不仅表现在知识面广的层次,更为深刻的是表现在对问题的处理能力,既对问题的意识思考分析和批判等,一句话,就是能力。因此,素质教育就不仅仅是掌握几门知识技艺,更为解读黑格尔小逻辑导言中的哲学观黑格尔小逻辑导言不在于对随后展开的逻辑学范畴主要内容及阐述顺序做事先交代和理论规定,而是全面阐述其本人的哲学观。这多少与正文中思维范畴之大量而详细的演绎有些相悖,似乎导言并没有起到康德道德哲学中道德法则概念及逻辑困难在道德形而上学的奠基里面,康德提出了关于道德法则的概念,尝试通过对道德法则的三个层次的建构能建立人类所有行为的道德评判标准和最终归属。康德以道德法则概念为中心建立的道德哲学成为了欧把握时代的特殊逻辑唯物史观的逻辑创新唯物史观作为马克思的第一个伟大发现,它最集中地体现了马克思主义在人类认识史上所实现的伟大变革。它创造性地发展和超越了包括黑格尔在内的以往的历史观,第一次借助政治经济学解剖市民社会。岂能用逻辑悖论矛盾修正唯物辩证法的辩证矛盾钱广荣教授逻辑悖论矛盾的误用与缺位一文(以下简称为钱文),把韩非子难一中所说不可陷之盾与无不陷之矛的有关形式逻辑矛盾律的论述(或者说是有关形式逻辑自相矛盾的论述)曲解为逻辑悖论的自分析推理的古典实用主义在科学世界相对于生活世界日趋超然独立数理逻辑逐渐成为逻辑学代名词的今天,人文学者在逻辑或方法论上热切关注的一个问题是实践逻辑(practicallogic)如何可能?在这方面,不仅论述时间图形的双重本原康德的时间图形概念,经过胡塞尔维特根斯坦柏格森的发展,到海德格尔那里获得完全的综合,先验演绎的三重综合发展成为四维流形,原始而本真的时间成为四维时间。不过海德格尔不同时期对于时间图浅析中国古代推理思想的语境化特征在中国逻辑史研究与中西逻辑比较研究中,古今中外诸多学者都注意到了这一现象逻辑是文化的产物,不同文化背景或文化传统所孕育的逻辑思想有其共同性的一面同时,它们也反映了特定的历史文化背景浅谈艾尔布朗语义下的真谓词塔斯基提出了一阶语言的一种解释,这种解释允许使用任何个体对象作为变元的取值,不同的变元或常元可能以相同的对象作为它们的解释。这种解释现在已成为一阶语言的标准解释,被称为塔斯基语义。简谈评估语用规范的复兴论证是一个命题序列,其中一个命题由其它命题得出。对论证的评估可从语形语义语用三个角度进行。语形角度侧重命题之间的形式关系,从该角度看,论证是正确的,当且仅当其结论是根据逻辑规则从前
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网