CN110113363A - 一种煤矿物联网数据的发布订阅系统 - Google Patents
一种煤矿物联网数据的发布订阅系统 Download PDFInfo
- Publication number
- CN110113363A CN110113363A CN201910459296.6A CN201910459296A CN110113363A CN 110113363 A CN110113363 A CN 110113363A CN 201910459296 A CN201910459296 A CN 201910459296A CN 110113363 A CN110113363 A CN 110113363A
- Authority
- CN
- China
- Prior art keywords
- data
- client
- coal mine
- zeromq
- things
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- 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/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种煤矿物联网数据的发布订阅系统,在使用基于ZeroMQ组件的SUB套接字进行数据实时订阅时,客户端需指定其订阅数据的topic,保证客户端只订阅指定topic的数据。本发明涉及煤矿各类物联网数据在联网监控系统中进行高效、稳定、无数据遗漏的实时发布订阅。
Description
技术领域
本发明涉及一种数据发布订阅系统,具体涉及一种煤矿物联网数据的发布订阅系统。
背景技术
随着煤矿监管力度的加强,煤矿各级监管中心往往需要实时采集与分析煤矿物联网数据(煤矿传感器实时数据、井下作业人员位置实时数据、煤矿重大设备运行状态实时数据等)。而这些数据的传输,往往具有多级传输、多路分发的特点,即矿端一份数据按照监管要求从矿-集团公司-县-市-省逐级上传,同时在每一级监管中心,一份数据也会被不同的应用使用,例如传感器实时监测应用负责采集煤矿实时传感器数据并显示,传感器流计算应用负责采集煤矿实时传感器数据并实时计算是否发生报警。即数据既有扇入(即多份数据汇聚到一起)又有扇出(一份数据分发为多份)的需求。目前,最常见的做法是数据发送端主动推送数据到接收端,这样随着数据接收端的增加,发送端势必会维护很多的数据接收端以及每一个接收端对应的数据缓存,系统性能将会出现瓶颈;同时,一旦有新的数据接收端,数据发送端对应的程序就需要修改,并增加新的数据接收端和对应的数据缓存,发送端只会变得越来越臃肿,不利于优化与问题的排查。
发明内容
为了克服现有数据发送技术中随着数据接收端增多而系统性能出现瓶颈以及发送端易变得臃肿而不利于维护的缺陷,本发明提供了一种能够降低系统瓶颈,精简发送端软件架构,保证数据快速、稳定发布订阅的煤矿物联网数据发布订阅系统。
该系统基于ZeroMQ组件的PULL、PUSH、PUB、SUB、ROUTER、DEALER套接字进行组合封装,制定了相关协议来保证数据高效、快速、稳定、无遗漏的进行发布订阅。
为了实现上述目的,本发明所采用的技术方案是:
一种煤矿物联网数据的发布订阅系统,包括服务器端及客户端,所述服务器端先通过基于ZeroMQ组件的PULL套接字采集煤矿物联网数据,再通过基于ZeroMQ组件的PUB套接字将采集的煤矿物联网数据实时对外发布,同时将采集的煤矿物联网数据缓存入历史数据数据库中;所述客户端启动后先通过基于ZeroMQ组件的DEALER套接字,向服务器端发送数据同步请求协议,以请求从上次停止到本次启动期间服务端已经发布的数据,并将获取到的可用数据进行存储用来实时业务处理;当服务器端数据同步完成或暂无数据可同步时,会通过基于ZeroMQ组件的ROUTER套接字,发送给客户端数据同步请求结束协议,结束本次数据同步过程;客户端随后使用基于ZeroMQ组件的SUB套接字进行实时订阅服务器端发布的数据,在通过基于ZeroMQ组件的SUB套接字开始实时订阅服务器端发布的数据时,当客户端在3秒内未订阅到任何服务器端发布的数据,认为数据订阅超时,需要进行数据订阅超时处理,在数据订阅超时处理完成后,继续通过基于ZeroMQ组件的SUB套接字实时订阅服务器端发布的数据,并将获取到的可用数据进行存储用来实时业务处理。本发明在使用基于ZeroMQ组件的SUB套接字进行数据实时订阅时,客户端需指定其订阅数据的topic,保证客户端只订阅指定topic的数据。本发明涉及煤矿各类物联网数据在联网监控系统中进行高效、稳定、无数据遗漏的实时发布订阅。
进一步地 ,所述客户端在向服务器端发送数据同步请求协议时,当服务器端历史数据缓存中存在自增序列ID大于客户端数据同步请求协议中的_id时,则认为服务器端实时发布的数据客户端并未第一时间进行订阅处理,服务器端需通过基于ZeroMQ组件的ROUTER套接字,将服务器端自增序列ID大于客户端同步请求协议中_id的数据按自增序列ID增序的方式进行发送,同时加入数据发送的同步属性,即ROUTER_MANDATORY属性,保证在客户端可接受能力的范围内,进行数据传输。
更进一步地 ,所述造成服务器端实时发布的数据客户端并未第一时间进行订阅处理的原因是客户端和服务器端先前网络存在异常或客户端先前异常退出。
优选的,所述数据同步请求协议如下组成:[“hisSync”,”_id”,”topic”],其定于如下:hisSync:数据同步请求指令,为字符串hisSync;_id:自增序列ID,当前客户端获取到的最新数据的_id;topic:数据主题,表示客户端只同步对应主题的数据。
优选的,所述数据同步请求结束协议,其格式为["endHisSync", -1, {}]。
优选的,所述煤矿物联网数据由3部分组成,[topic,_id,msg],其定义如下:topic:数据主题,表示该数据代表的含义;_id:自增序列ID,由服务器端自动生成;msg:数据实体,JSON风格,代表真正的数据。
进一步地,所述数据订阅超时处理的步骤是:客户端向服务器端发送心跳请求协议后,若服务器端发送数据同步请求结束协议,表示二者通信正常,认为服务器端当前没有可用数据进行发布;否则认为二者存在通信异常,此时客户端进入数据同步请求阻塞阶段,直到二者通信正常后,客户端将异常期间丢失的数据全部进行同步。
优选的,所述心跳请求协议与数据同步请求协议格式一致。
优选的,所述通过基于ZeroMQ组件的PULL套接字采集煤矿物联网数据的方式为第三方应用程序通过接口调用、程序抓取、实时订阅等方式获取物联网数据后,使用基于ZeroMQ组件的PUSH套接字将数据推送到PULL套接字。
优选的,所述历史数据数据库为MongoDB数据库。
本发明只需要维护服务器端(发送端),服务器端的发布订阅模式以及数据同步协议,可以支持任意数量的客户端(接收端),将发送端主动推送数据到接收端的模式转变为接收端主动同发送端要数据的模式,并且通过定义数据同步协议、数据同步结束协议、心跳协议和对应的编排流程,保证了客户端收到数据的完整性,同时服务器端也只需维护一份数据副本即可。本发明降低了系统的瓶颈,保证了数据快速、稳定、无遗漏的发布订阅。
附图说明
下面结合附图对本发明作进一步描述,其中:
图1为本发明的流程图;
图2为服务器端的流程图;
图3为客户端流程图。
具体实施方式
如图1及2所示,本实施例的煤矿物联网数据的发布订阅系统,其特征在于,包括服务器端及客户端,所述服务器端先通过基于ZeroMQ组件的PULL套接字采集煤矿物联网数据,再通过基于ZeroMQ组件的PUB套接字将采集的煤矿物联网数据实时对外发布,同时将采集的煤矿物联网数据缓存入历史数据数据库中;所述客户端启动后先通过基于ZeroMQ组件的DEALER套接字,向服务器端发送数据同步请求协议,以请求从上次停止到本次启动期间服务端已经发布的数据,并将获取到的可用数据进行存储用来实时业务处理;当服务器端数据同步完成或暂无数据可同步时,会通过基于ZeroMQ组件的ROUTER套接字,发送给客户端数据同步请求结束协议,结束本次数据同步过程;客户端随后使用基于ZeroMQ组件的SUB套接字进行实时订阅服务器端发布的数据,在通过基于ZeroMQ组件的SUB套接字开始实时订阅服务器端发布的数据时,当客户端在3秒内未订阅到任何服务器端发布的数据,认为数据订阅超时,需要进行数据订阅超时处理,在数据订阅超时处理完成后,继续通过基于ZeroMQ组件的SUB套接字实时订阅服务器端发布的数据,并将获取到的可用数据进行存储用来实时业务处理。本发明在使用基于ZeroMQ组件的SUB套接字进行数据实时订阅时,客户端需指定其订阅数据的topic,保证客户端只订阅指定topic的数据。本发明涉及煤矿各类物联网数据在联网监控系统中进行高效、稳定、无数据遗漏的实时发布订阅。
进一步地 ,所述客户端在向服务器端发送数据同步请求协议时,当服务器端历史数据缓存中存在自增序列ID大于客户端数据同步请求协议中的_id时,则认为服务器端实时发布的数据客户端并未第一时间进行订阅处理,服务器端需通过基于ZeroMQ组件的ROUTER套接字,将服务器端自增序列ID大于客户端同步请求协议中_id的数据按自增序列ID增序的方式进行发送,同时加入数据发送的同步属性,即ROUTER_MANDATORY属性,保证在客户端可接受能力的范围内,进行数据传输。
更进一步地 ,所述造成服务器端实时发布的数据客户端并未第一时间进行订阅处理的原因是客户端和服务器端先前网络存在异常或客户端先前异常退出。
优选的,所述数据同步请求协议如下组成:[“hisSync”,”_id”,”topic”],其定于如下:hisSync:数据同步请求指令,为字符串hisSync;_id:自增序列ID,当前客户端获取到的最新数据的_id;topic:数据主题,表示客户端只同步对应主题的数据。
优选的,所述数据同步请求结束协议,其格式为["endHisSync", -1, {}]。
优选的,所述煤矿物联网数据由3部分组成,[topic,_id,msg],其定义如下:topic:数据主题,表示该数据代表的含义;_id:自增序列ID,由服务器端自动生成;msg:数据实体,JSON风格,代表真正的数据。
进一步地,所述数据订阅超时处理的步骤是:客户端向服务器端发送心跳请求协议后,若服务器端发送数据同步请求结束协议,表示二者通信正常,认为服务器端当前没有可用数据进行发布;否则认为二者存在通信异常,此时客户端进入数据同步请求阻塞阶段,直到二者通信正常后,客户端将异常期间丢失的数据全部进行同步。
优选的,所述心跳请求协议与数据同步请求协议格式一致。
优选的,所述通过基于ZeroMQ组件的PULL套接字采集煤矿物联网数据的方式为第三方应用程序通过接口调用、程序抓取、实时订阅等方式获取物联网数据后,使用基于ZeroMQ组件的PUSH套接字将数据推送到PULL套接字。
优选的,所述历史数据数据库为MongoDB数据库。
Claims (10)
1.一种煤矿物联网数据的发布订阅系统,其特征在于,包括服务器端及客户端,所述服务器端先通过基于ZeroMQ组件的PULL套接字采集煤矿物联网数据,再通过基于ZeroMQ组件的PUB套接字将采集的煤矿物联网数据实时对外发布,同时将采集的煤矿物联网数据缓存入历史数据数据库中;所述客户端启动后先通过基于ZeroMQ组件的DEALER套接字,向服务器端发送数据同步请求协议,以请求从上次停止到本次启动期间服务端已经发布的数据,并将获取到的可用数据进行存储用来实时业务处理;当服务器端数据同步完成或暂无数据可同步时,会通过基于ZeroMQ组件的ROUTER套接字,发送给客户端数据同步请求结束协议,结束本次数据同步过程;客户端随后使用基于ZeroMQ组件的SUB套接字进行实时订阅服务器端发布的数据,在通过基于ZeroMQ组件的SUB套接字开始实时订阅服务器端发布的数据时,当客户端在3秒内未订阅到任何服务器端发布的数据,认为数据订阅超时,需要进行数据订阅超时处理,在数据订阅超时处理完成后,继续通过基于ZeroMQ组件的SUB套接字实时订阅服务器端发布的数据,并将获取到的可用数据进行存储用来实时业务处理。
2.根据权利要求1所述的煤矿物联网数据的发布订阅系统,其特征在于,所述客户端在向服务器端发送数据同步请求协议时,当服务器端历史数据缓存中存在自增序列ID大于客户端数据同步请求协议中的_id时,则认为服务器端实时发布的数据客户端并未第一时间进行订阅处理,服务器端需通过基于ZeroMQ组件的ROUTER套接字,将服务器端自增序列ID大于客户端同步请求协议中_id的数据按自增序列ID增序的方式进行发送,同时加入数据发送的同步属性,即ROUTER_MANDATORY属性,保证在客户端可接受能力的范围内,进行数据传输。
3.根据权利要求2所述的煤矿物联网数据的发布订阅系统,其特征在于,所述造成服务器端实时发布的数据客户端并未第一时间进行订阅处理的原因是客户端和服务器端先前网络存在异常或客户端先前异常退出。
4.根据权利要求1至2中任一项所述的煤矿物联网数据的发布订阅系统,其特征在于,所述数据同步请求协议如下组成:[“hisSync”,”_id”,”topic”],其定于如下:hisSync:数据同步请求指令,为字符串hisSync;_id:自增序列ID,当前客户端获取到的最新数据的_id;topic:数据主题,表示客户端只同步对应主题的数据。
5.根据权利要求1所述的煤矿物联网数据的发布订阅系统,其特征在于,所述数据同步请求结束协议,其格式为["endHisSync", -1, {}]。
6.根据权利要求1所述的煤矿物联网数据的发布订阅系统,其特征在于,所述煤矿监控系统数据由3部分组成,[topic,_id,msg],其定义如下:topic:数据主题,表示该数据代表的含义;_id:自增序列ID,由服务器端自动生成;msg:数据实体,JSON风格,代表真正的数据。
7.根据权利要求1所述的煤矿物联网数据的发布订阅系统,其特征在于,所述数据订阅超时处理的步骤是:客户端向服务器端发送心跳请求协议后,若服务器端发送数据同步请求结束协议,表示二者通信正常,认为服务器端当前没有可用数据进行发布;否则认为二者存在通信异常,此时客户端进入数据同步请求阻塞阶段,直到二者通信正常后,客户端同时将异常期间丢失的数据同步。
8.根据权利要求7所述的煤矿物联网数据的发布订阅系统,其特征在于,所述心跳请求协议与数据同步请求协议格式一致。
9.根据权利要求1所述的煤矿物联网数据的发布订阅系统,其特征在于,所述通过基于ZeroMQ组件的PULL套接字采集煤矿物联网数据的方式为第三方应用程序通过接口调用、程序抓取、实时订阅等方式获取物联网数据后,使用基于ZeroMQ组件的PUSH套接字将数据推送到PULL套接字。
10.根据权利要求1所述的煤矿物联网数据的发布订阅系统,其特征在于,所述历史数据数据库为MongoDB数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910459296.6A CN110113363B (zh) | 2019-05-29 | 2019-05-29 | 一种煤矿物联网数据的发布订阅系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910459296.6A CN110113363B (zh) | 2019-05-29 | 2019-05-29 | 一种煤矿物联网数据的发布订阅系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110113363A true CN110113363A (zh) | 2019-08-09 |
CN110113363B CN110113363B (zh) | 2020-09-15 |
Family
ID=67492829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910459296.6A Active CN110113363B (zh) | 2019-05-29 | 2019-05-29 | 一种煤矿物联网数据的发布订阅系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110113363B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105207352A (zh) * | 2015-08-27 | 2015-12-30 | 许继集团有限公司 | 一种分布式监控数据传输系统 |
CN105354656A (zh) * | 2015-10-09 | 2016-02-24 | 珠海许继芝电网自动化有限公司 | 基于分区解耦的配电网状态估计的分布式并行计算方法及系统 |
CN105373834A (zh) * | 2015-10-12 | 2016-03-02 | 珠海许继芝电网自动化有限公司 | 基于分布式计算的配电网短路电流计算方法及系统 |
CN107750441A (zh) * | 2015-01-26 | 2018-03-02 | 卢森堡商创研腾智权信托有限公司 | 安全动态通讯网络及协定 |
CN108270855A (zh) * | 2018-01-15 | 2018-07-10 | 司中明 | 一种物联网平台接入设备的方法 |
-
2019
- 2019-05-29 CN CN201910459296.6A patent/CN110113363B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107750441A (zh) * | 2015-01-26 | 2018-03-02 | 卢森堡商创研腾智权信托有限公司 | 安全动态通讯网络及协定 |
CN105207352A (zh) * | 2015-08-27 | 2015-12-30 | 许继集团有限公司 | 一种分布式监控数据传输系统 |
CN105354656A (zh) * | 2015-10-09 | 2016-02-24 | 珠海许继芝电网自动化有限公司 | 基于分区解耦的配电网状态估计的分布式并行计算方法及系统 |
CN105373834A (zh) * | 2015-10-12 | 2016-03-02 | 珠海许继芝电网自动化有限公司 | 基于分布式计算的配电网短路电流计算方法及系统 |
CN108270855A (zh) * | 2018-01-15 | 2018-07-10 | 司中明 | 一种物联网平台接入设备的方法 |
Non-Patent Citations (1)
Title |
---|
蒲风平: "《基于中间件技术的分布式监测系统研究》", 《中国优秀硕士论文全文库》 * |
Also Published As
Publication number | Publication date |
---|---|
CN110113363B (zh) | 2020-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4287634A1 (en) | Game data processing method and apparatus, and storage medium | |
US11356748B2 (en) | Method, apparatus and system for slicing live streaming | |
US11350139B2 (en) | Video live broadcast method and apparatus | |
US8238350B2 (en) | Message batching with checkpoints systems and methods | |
CN108848060B (zh) | 一种多媒体文件处理方法、处理系统及计算机可读存储介质 | |
US8370196B2 (en) | Multimedia advertising service through a mobile communication network and multimedia content controlling apparatus and method of a mobile terminal supporting said service | |
US9143564B2 (en) | Concert server incorporating front-end and back-end functions to cooperate with an app to provide synchronized messaging to multiple clients | |
CN107241615A (zh) | 直播暂停方法、系统、直播暂停装置及直播服务器 | |
EP1416732A1 (en) | Method and apparatus for removing clients from interactive tv network | |
CN106488273A (zh) | 一种传输直播视频的方法和装置 | |
CN110324654A (zh) | 主播端直播视频帧处理方法、装置、设备、系统及介质 | |
CN105898506A (zh) | 媒体文件的多屏播放方法和系统 | |
CN110620699B (zh) | 消息到达率确定方法、装置、设备和计算机可读存储介质 | |
CN111209467A (zh) | 一种多并发多通道环境下的数据实时查询系统 | |
CN110309342B (zh) | 一种媒体文件获取方法、装置及存储介质 | |
CN109525852B (zh) | 直播视频流处理方法、装置、系统及计算机可读存储介质 | |
JP2018191251A (ja) | 情報処理システム、情報処理方法、およびプログラム | |
CN113194335B (zh) | 流媒体传输方法、传输设备和播放设备 | |
CN112131014B (zh) | 决策引擎系统及其业务处理方法 | |
CN110113363A (zh) | 一种煤矿物联网数据的发布订阅系统 | |
CN111866544B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN103034632A (zh) | 一种信息传送方法和系统 | |
CN114422866B (zh) | 一种视频处理方法、装置、电子设备和存储介质 | |
CN114302140B (zh) | 一种预丢帧方法、系统、设备及计算机可读存储介质 | |
US20220272391A1 (en) | Media processing method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |