CN107231406A - 一种向Web页面高效传输及推送报警数据方法 - Google Patents
一种向Web页面高效传输及推送报警数据方法 Download PDFInfo
- Publication number
- CN107231406A CN107231406A CN201710265514.3A CN201710265514A CN107231406A CN 107231406 A CN107231406 A CN 107231406A CN 201710265514 A CN201710265514 A CN 201710265514A CN 107231406 A CN107231406 A CN 107231406A
- Authority
- CN
- China
- Prior art keywords
- web page
- time
- alarm
- web server
- web
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Alarm Systems (AREA)
Abstract
本发明公开了属于计算机通讯技术领域的一种向Web页面高效传输及推送报警数据方法。该方法把报警数据自下位机经由Web服务器高效实时推送到Web页面;下位机和Web服务器之间采用具有接收确认机制的UDP协议进行通讯,这种通讯方式利用了UDP高效数据传输的优点,同时又增强了传输的可靠性;在Web服务器和Web网页之间采用直接Web远程通讯技术,该技术能够实时快速把最新的报警数据推送到Web页面。本发明支持同时传输多个下位机的报警数据,经由Web服务器处理后实时推送给前端Web页面,适合在能源、化工等自动化相关行业的局域网内进行推广应用。
Description
技术领域
本发明属于计算机通讯技术领域,特别涉及一种向Web页面高效传输及推送报警数据方法。
背景技术
在能源、化工等生产自动化及信息系统等行业,分布着大量的传感器及其信息处理模块,这些模块往往会产生大量的报警数据,这些报警数据要求秒级或毫秒级发送给运行监控人员,以前这些报警数据的处理和展示都由下位机来实现,所以只有在生产现场能收到报警信息。但是随着信息技术的不断发展,要求能够在装有浏览器的任意一台电脑上收到所有下位机的报警数据。要解决多个下位机报警数据到任意Web页面的实时通讯问题,需要引入Web服务器作为中转,这样就要解决报警数据从下位机到Web服务器再到Web页面的实时通讯问题。
下位机到Web服务器的数据传输有两种基础通讯协议即TCP和UDP,TCP是面向连接的可靠的数据通讯技术,UDP是非连接的不可靠的数据通讯技术(局域网稳定性好的特点的决定了UDP在局域网内同样相对可靠),因为不需要在传输前建立连接所以UDP比TCP传输效率高,尤其是针对突发的小数据量传输,报警数据的突发性、数据量小及实时性要求高的特点决定了用UDP协议最合适,本发明在UDP协议的基础上增加了确认机制克服了UDP的缺点。
Web服务器到Web页面的数据传输是通过Http协议,其本质上是构建在TCP协议之上的应用层协议,Http协议的基本模式是Web页面发送请求然后Web服务器响应并传输数据,这种模式显然不适合报警数据发生时实时推送给Web页面,因为Web页面不知道报警数据什么时候发生,但是可以采用一种变通的方式,即Web页面发送请求后Web服务器暂时不响应,只有报警数据发生时才响应,如果Web服务器一直不响应则Web页面会在超时后重新发送请求建立连接,这种方式Web页面一直跟Web服务器保持连接所以叫长连接技术。DWR就是支持这种长连接技术的开源框架,该框架能够在服务器端获得Web页面连接会话,并能调用会话页面中的JavaScript脚本。
Json是一种轻量级的数据交换格式,本质是一个字符串,可以直接被JavaScript解析成数据对象,广泛应用于JSP页面(一种Web页面)与Java服务器(一种Web服务器如Tomcat服务器)的交互。
发明内容
本发明的目的是
提出一种向Web页面高效传输及推送报警数据方法,
其特征在于,包含如下步骤:
步骤1:下位机把报警数据封装成UDP数据包,包中包含版本号、报警时间、系统号、分组号、报警点编号和报警类型和报警值,然后与发送时间、发送计数作为一个对象放入发送队列,准备发送;其中UDP数据包格式为:(1)版本号为1字节,用于系统升级时能兼容不同版本的数据包;(2)报警时间,年月日时分秒各1字节共6字节,年份2000算第0年;(3)系统号为1字节,下位机唯一标识;(4)分组号为1字节,用于区分同一时间报警的多个数据包,因为UDP数据包不宜过大所以一个数据包最多含64个报警数据(实际很少超过64个);(5)报警数量为1字节;(6)报警点编号为2字节;(7)报警类型为1字节,包括越上限、越下限和变化率过快3种,分别用0、1、2代表;(8)报警值,浮点型4个字节。数据包中的报警点编号、报警类型和报警值根据报警数量可循环多次;
步骤2:下位机使用独立的发送线程依次取出发送队列中对象,向Web服务器发送其中的UDP数据包,同时记录发送时间,发送计数加1;
步骤3:Web服务器接收和解析下位机发过来的报警数据UDP数据包;
步骤4:Web服务器解析成功后给下位机发送确认信号,确认信号仍然使用UDP数据包的形式,包中含报警时间、系统号、分组号;
步骤5:下位机使用独立的接收线程接收确认数据包,包中的报警时间、系统号和分组号能唯一定位报警数据对象,下位机会从发送队列中删除该对象以避免重复发送;
步骤6:下位机会定时检测发送队列,如不为空则会判断发送对象的上次发送时间是否超时,如超时且发送计数少于3次则再次发送该数据包,如发送计数达到3次应将该对象从发送队列中删除;
步骤7:Web服务器接收并正确解析数据包后,会把同一时间的报警数据组合成一个Json格式数据对象,对象中包含了报警时间、系统号,报警对象数组,报警对象中包含报警点编号、报警类型和报警值;
步骤8:Web页面向Web服务器发送一次长连接请求;
步骤9:Web服务器和Web页面建立连接并获取Web页面会话,并采用直接Web远程通信技术向Web页面会话推送Json格式数据对象;
步骤10:Web页面内的脚本负责解析Json数据对象并展示到Web页面上。
本发明的有益效果是本发明包括下位机到Web服务器的高效数据传输技术和Web服务器到Web页面的实时数据推送技术两部分。把报警数据自下位机经由Web服务器高效实时推送到Web页面上。明显加快下位机经由Web服务器到Web页面的通讯效率,传统数据通讯时间最少需要2秒,而本发明只需要0.5秒,并且支持多个下位机和多个Web页面同时应用。
附图说明
图1为报警数据传输及推送系统数据流转示意图;
图2为报警数据传输及推送系统流程图。
具体实施方式
本发明提供一种向Web页面高效传输及推送报警数据方法,下面结合附图和实施例予以说明。
本发明中包含有下位机、Web服务器和Web页面等组件,报警数据由下位机传输给Web服务器然后推送到Web页面上显示,报警数据流转示意图如图1所示,具体实施说明如下:
1.在下位机中报警数据被封装成UDP数据包,数据包包含有版本号、报警时间、系统号、分组号、报警点对象数组,报警对象包含报警编号、报警类型、报警值,UDP包示例:01[版本号为1]11 04 0A 0C 08 08[报警时间2017-04-1012:08:08,包中数据用16进制]01[系统号为1]00[分组号为0]00 01 00 00 00 03 20[编号为1的报警点类型为0报警值为800]00 02 01 00 00 00 64[编号为2的报警点类型为1报警值为100]。UDP封装好后加入发送时间和发送计数放到发送队列中等待发送,然后激活发送线程发送UDP数据包。
2.下位机在启动时创建端口号为7001的UDP服务端口接收Web服务器发送回来的确认信号,确认信号包含报警时间、系统号、分组号能唯一定位发送队列中的发送对象,然后从发送队列中删除该对象以避免重复发送。
3.Web服务器启动时不仅建立端口为8080的http协议服务端口,而且会建立端口号为7002的UDP服务端口,8080端口用于响应Web网页访问请求,7002端口用于接收下位机发送过来的UDP数据包。
4.Web服务器向Web页面推送的Json数据对象格式为:报警时间,系统号,报警点对象数组,报警点对象包含报警点编号、报警类型和报警数据三个字段,示例{"alarmtime":"2017-01-01 00:00:00","sysno":1,"alarmobjs":[{"code":"001","type":0,"value":800},{"code":"002","type":1,"value":100}]}为包含了两个报警点数据的Json对象,其中type代表报警类型,取值含义分别为,0-越上限、1-越下限、2-变化率过快。
5.Web页面中包含了两段JavaScript脚本,一段用于跟Web服务器建立长连接,一段用于Json对象的解析和数据展示。
6.Web服务器到Web网页的实时数据推送具体实现过程如下:1)引入DWR(DirectWeb Remoting)开源框架,并配置可向Web页面提供服务的Java类;2)Web网页向Web服务器发送一次长连接请求,实际上就是在Web网页加载时调用请求Java服务类的JavaScript脚本;3)Java服务类获取Web页面连接会话,并调用Web页面中一段Json对象解析和展示的JavaScript脚本;4)Web页面运行Json对象解析和展示脚本把报警数据显示在浏览器上。
本实施例中下位机用Pascal语言进行开发,实际可以用任意一种支持UDP通讯的语言开发。Web服务器使用Tomcat作服务器,服务端代码使用Java语言开发,Web页面为Jsp类型的页面,内嵌JavaScript脚本,本实施实例部署了2个下位机,1个Web服务器和5个浏览器终端,下位机和Web终端运行在Windows7操作系统环境,Web服务器运行在Win2008操作系统环境。
Claims (2)
1.一种向Web页面高效传输及推送报警数据方法,其特征在于,能够把报警数据自下位机经由Web服务器高效实时推送到Web页面,具体包含如下步骤:
步骤1:下位机把报警数据封装成UDP数据包,包中包含版本号、报警时间、系统号、分组号、报警点编号和报警类型和报警值,然后与发送时间、发送计数作为一个对象放入发送队列,准备发送;
步骤2:下位机使用独立的发送线程依次取出发送队列中对象,向Web服务器发送其中的UDP数据包,同时记录发送时间,发送计数加1;
步骤3:Web服务器接收和解析下位机发过来的报警数据UDP数据包;
步骤4:Web服务器解析成功后给下位机发送确认信号,确认信号仍然使用UDP数据包的形式,包中含报警时间、系统号、分组号;
步骤5:下位机使用独立的接收线程接收确认数据包,包中的报警时间、系统号和分组号能唯一定位报警数据对象,下位机会从发送队列中删除该对象以避免重复发送;
步骤6:下位机会定时检测发送队列,如不为空则会判断发送对象的上次发送时间是否超时,如超时且发送计数少于3次则再次发送该数据包,如发送计数达到3次应将该对象从发送队列中删除;
步骤7:Web服务器接收并正确解析数据包后,会把同一时间的报警数据组合成一个Json格式数据对象,该对象中包含了报警时间、系统号,报警对象数组,报警对象中包含报警点编号、报警类型和报警值;
步骤8:Web页面向Web服务器发送一次长连接请求;
步骤9:Web服务器和Web页面建立连接并获取Web页面会话,并采用直接Web远程通信技术向Web页面会话推送Json格式数据对象;
步骤10:Web页面内的脚本负责解析Json数据对象并展示到Web页面上。
2.根据权利要求1所述一种向Web页面高效传输及推送报警数据方法,其特征在于,步骤1所述数据包格式内容包括:(1)版本号为1字节,用于系统升级时能兼容不同版本的数据包;(2)报警时间,年月日时分秒各1字节共6字节,年份2000算第0年;(3)系统号为1字节,下位机唯一标识;(4)分组号为1字节,用于区分同一时间报警的多个数据包,因为UDP数据包不宜过大所以一个数据包最多含64个报警数据;(5)报警数量为1字节;(6)报警点编号为2字节;(7)报警类型为1字节,包括越上限、越下限和变化率过快3种,分别用0、1、2代表;(8)报警值,浮点型4个字节;数据包中的报警点编号、报警类型和报警值根据报警数量可循环多次。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710265514.3A CN107231406A (zh) | 2017-04-21 | 2017-04-21 | 一种向Web页面高效传输及推送报警数据方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710265514.3A CN107231406A (zh) | 2017-04-21 | 2017-04-21 | 一种向Web页面高效传输及推送报警数据方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107231406A true CN107231406A (zh) | 2017-10-03 |
Family
ID=59933080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710265514.3A Pending CN107231406A (zh) | 2017-04-21 | 2017-04-21 | 一种向Web页面高效传输及推送报警数据方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107231406A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021088773A1 (zh) * | 2019-11-06 | 2021-05-14 | 杭州海康威视数字技术股份有限公司 | 一种显示报警文件的方法、装置及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662635A (zh) * | 2009-09-05 | 2010-03-03 | 太原理工大学 | 音视频智能分析终端 |
US20130254087A1 (en) * | 2012-03-21 | 2013-09-26 | Yuval Rooz | Web-based peer-to-peer electronic negotiations |
CN104010039A (zh) * | 2014-06-05 | 2014-08-27 | 北京航空航天大学 | 一种基于WebSocket的多雷达远程监控系统及方法 |
US20160132099A1 (en) * | 2014-11-10 | 2016-05-12 | Novi Security, Inc. | Security Sensor Power Management |
-
2017
- 2017-04-21 CN CN201710265514.3A patent/CN107231406A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101662635A (zh) * | 2009-09-05 | 2010-03-03 | 太原理工大学 | 音视频智能分析终端 |
US20130254087A1 (en) * | 2012-03-21 | 2013-09-26 | Yuval Rooz | Web-based peer-to-peer electronic negotiations |
CN104010039A (zh) * | 2014-06-05 | 2014-08-27 | 北京航空航天大学 | 一种基于WebSocket的多雷达远程监控系统及方法 |
US20160132099A1 (en) * | 2014-11-10 | 2016-05-12 | Novi Security, Inc. | Security Sensor Power Management |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021088773A1 (zh) * | 2019-11-06 | 2021-05-14 | 杭州海康威视数字技术股份有限公司 | 一种显示报警文件的方法、装置及系统 |
EP4044513A4 (en) * | 2019-11-06 | 2022-11-16 | Hangzhou Hikvision Digital Technology Co., Ltd. | METHOD, APPARATUS AND SYSTEM FOR DISPLAYING AN ALARM FILE |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69725971T2 (de) | Protokollschnittstellengateway | |
CN102006616B (zh) | 一种测试系统及测试方法 | |
CN111083161A (zh) | 数据传输的处理方法及装置、物联网设备 | |
CN106936932B (zh) | 一种通过云服务协议访问机器人软件包的方法 | |
CN101953139B (zh) | 响应于网络层连通性的dhcp初始化 | |
SE0103535L (sv) | Ett system av intelligenta anordningar, en metod för att tillhandahålla ett sådant system och en datordatasignal | |
RU2005136207A (ru) | Система и способ дистанционного контроля услуги sms для мобильного коммуникационного терминала | |
CN106656534A (zh) | 一种数据通信方法及系统 | |
CN112468322B (zh) | 一种即插即用的电网稳控装置通信测试方法及系统 | |
CN102916833B (zh) | 远程调试方法、系统及调试目标设备 | |
US11709722B2 (en) | Extensible communication framework and communication method supporting multiple communication protocols | |
CN107231406A (zh) | 一种向Web页面高效传输及推送报警数据方法 | |
CN109617763B (zh) | 一种用于fc-ae总线的压力测试方法及装置 | |
CN112702430B (zh) | 一种基于云边模式和Web技术的数据传输方法 | |
CN101383731A (zh) | 网络卡测试系统 | |
CN104348645A (zh) | 服务器和服务器传送数据的方法 | |
CN109634856B (zh) | 基于云服务的iOS智能终端远程真机调试系统及方法 | |
CN110572315A (zh) | 一种信息交互的方法及装置、机器人、存储介质 | |
CN116418567A (zh) | 一种网络协议安全性测试系统 | |
CN101931564B (zh) | 协议异常测试方法和系统、测试设备及控制设备 | |
CN113556399B (zh) | 消息推送装置、系统、方法、电子设备、存储介质 | |
CN103973519A (zh) | 一种基于pc平台的交换中心仿真测试系统 | |
CN107819846A (zh) | 一种远程连接方法及装置 | |
CN114244698B (zh) | 一种基于mqtt的cpe管理配置方法 | |
CN108712373A (zh) | 单向通信方法、装置、用户终端及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171003 |
|
RJ01 | Rejection of invention patent application after publication |