一种预警数据的快速处理系统
文献发布时间:2023-06-19 11:06:50
技术领域
本发明涉及物联网技术领域,尤其是涉及一种预警数据的快速处理系统。
背景技术
随着物联网的发展,社会逐渐向信息化、自动化和数字化的方向发展,基于物理采集设备的信息处理系统已经广泛应用与人们的生产和生活中。通过物理采集设备采集监控数据,上传至应用系统,并代替人工执行自动化监控和报警,当监控数据不符合设定的规则时,及时向客户端和移动端发出警报,大大提高了工作效率。
目前基于物联网的信息处理系统包括物理采集设备、采集网关和云端服务器,物理采集设备实时采集监控数据,并通过采集网关上传至云端服务器,云端服务器再根据预设的预警规则,发出预警信息,并发送至客户端。由于物理采集设备众多,且时刻在产生新的数据,数据量庞大,使得数据上传速度慢,延时严重,同时造成云端服务器的工作负荷大,导致当存在不符合规则的监控数据产生时,云端服务器无法及时向客户端发送预警消息,可能会造成额外的损失。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种预警数据的快速处理系统,数据传输量少,延时少,响应及时。
本发明的目的可以通过以下技术方案来实现:
一种预警数据的快速处理系统,包括边缘网关、消息上传模块、云端服务器和数据存储模块;
所述的云端服务器向边缘网关发送报警规则以及报警规则对应的编号;
所述的边缘网关通过物理采集器采集预警数据,生成预警触发消息,所述的预警触发消息包括预警数据以及该预警数据触发的报警规则的编号;
所述的消息上传模块接收预警触发消息,并上传至云端服务器;
所述的云端服务器根据最新接收的预警触发消息中编号对应的报警规则,生成报警消息;
所述的数据存储模块包括第一存储单元和第二存储单元,所述的第一存储单元采用DB,用于存储报警消息的历史数据,具有历史时序数据查询功能,所述的第二存储单元采用Redis,用于存储最新发出的报警信号,客户端读取速度快,实时性好。
其中,所述的消息上传模块判断其最新接收的预警触发消息和最新上传至云端服务器的预警触发消息是否完全相同,若是则消息上传模块中断预警触发消息的上传,且云端服务器根据最新接收的预警触发消息生成报警消息,否则消息上传模块将其最新接收的预警触发消息上传至云端服务器;
所述的消息上传模块接收的预警触发消息发生重复时,消息上传模块只需上传一次该预警触发消息,减少数据传输量;同时云端服务器向边缘网关发送报警规则以及报警规则对应的编号,通过编号取代报警规则,大大缩减了数据传输量,而数据传输量的减少能够提高数据传输速度,使得云端服务器能够在边缘网关接收到预警数据后快速地生成报警消息,并发送至客户端,响应及时。
进一步地,所述的边缘网关以第一设定值为一周期,周期性采集预警数据,所述的消息上传模块中断预警触发消息的上传时,所述的云端服务器根据最新接收的预警触发消息,以第二设定值为一周期,周期性生成报警消息,所述的第一设定值和第二设定值相同,使得消息上传模块在接收到多个重复的预警触发消息时,所述的云端服务器周期性生成报警消息的周期与消息上传模块接收预警触发消息的周期保持一致,保证报警消息的准确性。
进一步地,所述的边缘网关向处于在线状态时向云端服务器周期性发送心跳信号,并在离线时向云端服务器发送遗嘱信号,所述的云端服务器接收到边缘网关的心跳信号时,判定该边缘网关处于在线状态,所述的云端服务器接收到遗嘱信号时,判定该边缘网关处于离线状态,所述的云端服务器科实时监控边缘网关的在线状态。
进一步地,所述的消息上传模块采用Kafka,所述的Kafka能够缓存边缘网关离线前发送的预警触发消息,使得边缘网关网络断开后云端服务器仍然能够接收边缘网关离线前发送的预警触发消息。
与现有技术相比,本发明具有以如下有益效果:
(1)本发明云端服务器向边缘网关发送报警规则以及报警规则对应的编号,通过编号取代报警规则,大大缩减了数据传输量,同时消息上传模块接收的预警触发消息发生重复时,消息上传模块只需上传一次该预警触发消息,云端服务器根据已经接收的重复的预警触发消息触发报警消息,来补充因重复而未上传至云端服务器的预警触发消息,能在边缘网关接收的预警数据重复时大大减少数据传输量,整体上本发明减少了数据传输量,提高了数据的上传速度,减少了延时,使得云端服务器能够在边缘网关接收到预警数据后快速地生成报警消息,并发送至客户端,响应及时;
(2)本发明边缘网关以第一设定值为一周期,周期性采集预警数据,消息上传模块中断预警触发消息的上传时,云端服务器根据最新接收的预警触发消息,以第二设定值为一周期,周期性生成报警消息,第一设定值和第二设定值相同,使得消息上传模块在接收到多个重复的预警触发消息时,云端服务器周期性生成报警消息的周期与消息上传模块接收预警触发消息的周期保持一致,保证报警消息的准确性;
(3)本发明数据存储模块包括第一存储单元和第二存储单元,第一存储单元采用DB,用于存储报警消息的历史数据,具有历史时序数据查询功能,所述的第二存储单元采用Redis,用于存储最新发出的报警信号,客户端读取速度快,实时性好;
(4)本发明边缘网关向处于在线状态时向云端服务器周期性发送心跳信号,并在离线时向云端服务器发送遗嘱信号,云端服务器接收到边缘网关的心跳信号时,判定该边缘网关处于在线状态,云端服务器接收到遗嘱信号时,判定该边缘网关处于离线状态,云端服务器科实时监控边缘网关的在线状态;
(5)本发明消息上传模块采用Kafka,所述的Kafka能够缓存边缘网关离线前发送的预警触发消息,使得边缘网关网络断开后云端服务器仍然能够接收边缘网关离线前发送的预警触发消息。
附图说明
图1为本发明的系统结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
一种预警数据的快速处理系统,如图1,包括边缘网关、消息上传模块、云端服务器和数据存储模块;
云端服务器向边缘网关发送报警规则以及报警规则对应的编号;
边缘网关通过物理采集器采集预警数据,生成预警触发消息,预警触发消息包括预警数据以及该预警数据触发的报警规则的编号;
消息上传模块采用Kafka,用于接收预警触发消息,并上传至云端服务器;
云端服务器根据最新接收的预警触发消息中编号对应的报警规则,生成报警消息;
数据存储模块包括第一存储单元和第二存储单元,第一存储单元采用DB,用于存储报警消息的历史数据,具有历史时序数据查询功能,第二存储单元采用Redis,用于存储最新发出的报警信号,客户端通过Redis读取云端服务器最新发出的报警信号,读取速度快,实时性好;
其中,消息上传模块判断其最新接收的预警触发消息和最新上传至云端服务器的预警触发消息是否完全相同,若是则消息上传模块中断预警触发消息的上传,且云端服务器根据最新接收的预警触发消息生成报警消息,否则消息上传模块将其最新接收的预警触发消息上传至云端服务器;
消息上传模块接收的预警触发消息发生重复时,消息上传模块只需上传一次该预警触发消息,减少数据传输量;同时云端服务器向边缘网关发送报警规则以及报警规则对应的编号,通过编号取代报警规则,大大缩减了数据传输量,而数据传输量的减少能够提高数据传输速度,减少延时,使得云端服务器能够在边缘网关接收到预警数据后快速地生成报警消息,并发送至客户端,响应及时。
边缘网关以第一设定值为一周期,周期性采集预警数据,消息上传模块中断预警触发消息的上传时,云端服务器根据最新接收的预警触发消息,以第二设定值为一周期,周期性生成报警消息,第一设定值和第二设定值相同,使得消息上传模块在接收到多个重复的预警触发消息时,云端服务器周期性生成报警消息的周期与消息上传模块接收预警触发消息的周期保持一致,保证报警消息的准确性。
边缘网关向处于在线状态时向云端服务器周期性发送心跳信号,并在离线时向云端服务器发送遗嘱信号,云端服务器接收到边缘网关的心跳信号时,判定该边缘网关处于在线状态,云端服务器接收到遗嘱信号时,判定该边缘网关处于离线状态,云端服务器科实时监控边缘网关的在线状态。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写,是一种高吞吐量的分布式发布订阅消息系统,统一线上和离线的消息处理,能够缓存边缘网关离线前发送的预警触发消息,使得边缘网关网络断开后云端服务器仍然能够接收边缘网关离线前发送的预警触发消息。
本实施例提出了一种预警数据的快速处理系统,通过编号取代报警规则,大大缩减了数据传输量,同时消息上传模块接收的预警触发消息发生重复时,消息上传模块只需上传一次该预警触发消息,云端服务器根据已经接收的重复的预警触发消息触发报警消息,来补充因重复而未上传至云端服务器的预警触发消息,能在边缘网关接收的预警数据重复时大大减少数据传输量,整体上减少了数据传输量,提高了数据的上传速度,减少了延时,使得云端服务器能够在边缘网关接收到预警数据后快速地生成报警消息,并发送至客户端,响应及时。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
- 一种预警数据的快速处理系统
- 一种实现雾霾预警和策略制定的雾霾因子数据处理系统及方法