一种基于Project Reactor框架的数据传输方法及系统技术方案

技术编号:28046105 阅读:27 留言:0更新日期:2021-04-09 23:31
本发明专利技术提供一种基于Project Reactor框架的数据传输方法及系统,包括:设备端获取传感器实时检测的数据,并将传感器实时检测的数据发送给云平台的数据采集引擎;设备端和云平台的数据采集引擎之间采用MQTT协议进行通信;云平台的数据采集引擎利用Project Reactor框架构建;云平台的数据采集引擎利用Reactive Spring Cloud Stream构建响应式消息通信组件,将传感器实时检测的数据发送给Kafka消息中间件,将Kafka消息中间件中传感器实时检测数据转发给大数据平台或数据库;云平台的数据采集引擎利用Spring Reactive Data构建响应式数据访问组件,将Kafka消息中间件中传感器实时检测数据转发给MongoDB。本发明专利技术在数据的传输方面更加高效。

【技术实现步骤摘要】
一种基于ProjectReactor框架的数据传输方法及系统
本专利技术属于数据采集
,更具体地,涉及一种基于ProjectReactor框架的数据传输方法及系统。
技术介绍
中国专利技术申请CN201210228761.3公开一种基于nio的简易高效的socket通信框架。采用了TCP连接建立部分和IO读写处理部分分离的架构模式。在IO读写部分,设计了一种消息缓存队列,提高了读写的效率。但是使用nio编程接口比较繁琐。中国专利技术申请CN201610993370.9公开一种基于Netty的大规模并发数据转发方法,包括数据接收器和转发器的构建,数据接收器主要接收远程主机的数据信息,数据转发器主要负责向远程接收主机进行数据传输。同样使用Netty框架的API接口较为复杂,网络通信能力差,且只包含数据接受器和转发器,并没有提供数据缓存和数据存储、以及设备校验、设备上下线通知等其他功能。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种基于ProjectReactor框架的数据传输方法及系统,旨在解决现本文档来自技高网...

【技术保护点】
1.一种基于Project Reactor框架的数据传输方法,其特征在于,包括如下步骤:/n基于Project Reactor框架开发MQTT通信引擎,以基于MQTT协议接收传感器发送的数据;/n利用Reactive Spring Cloud Stream构建响应式消息通信组件Kafka消息中间件,将接收的传感器数据发送给kafka消息中间件;所述kafka消息中间件作为传感器数据的中转站;/n利用Spring Reactive Data构建响应式数据访问组件MongoDB;所述MongoDB作为传感器数据持久化保存的数据库;/n当需要对传感器数据持久化时,将所述kafka消息中间件中的检测数...

【技术特征摘要】
1.一种基于ProjectReactor框架的数据传输方法,其特征在于,包括如下步骤:
基于ProjectReactor框架开发MQTT通信引擎,以基于MQTT协议接收传感器发送的数据;
利用ReactiveSpringCloudStream构建响应式消息通信组件Kafka消息中间件,将接收的传感器数据发送给kafka消息中间件;所述kafka消息中间件作为传感器数据的中转站;
利用SpringReactiveData构建响应式数据访问组件MongoDB;所述MongoDB作为传感器数据持久化保存的数据库;
当需要对传感器数据持久化时,将所述kafka消息中间件中的检测数据发送给所述MongoDB;
当需要对传感器数据转发时,将所述kafka消息中间件中的检测数据发送给大数据平台。


2.根据权利要求1所述的基于ProjectReactor框架的数据传输方法,其特征在于,所述MQTT协议的发布者和MQTT协议的服务器建立TCP连接后,先进行MQTT协议连接,发布者会发送一个CONNECT控制报文给服务器,表示发布者想要连接服务器,服务器收到CONNECT控制报文后,会向发布者回复一个CONNACK控制报文,表示确认连接;
所述MQTT协议的订阅者和发布者一样,通过CONNECT和CONNACK控制报文和服务器建立连接,此时,发布者和订阅者都和服务器建立了基于MQTT协议的连接;
所述MQTT协议的订阅者先向服务器发送一个订阅话题请求,表示将要接收此订阅话题的数据,订阅者会发送一个SUBSCRIBE控制报文给服务器,表示订阅者想要订阅消息,服务器收到SUBSCRIBE控制报文后,会向订阅者回复一个SUBACK控制报文,表示订阅请求的确认;所述订阅话题为获取传感器实时数据;
所述MQTT协议的发布者向服务器中指定的订阅话题发送消息,服务器就会接收到发布者发来的所有传感器数据,进而服务器在把所有的传感器数据实时的转发给订阅者;发布者会发送一个PUBACK控制报文,并且包含了传感器实时数据,服务器接收到数据后会查找对应的订阅者,同样使用PUBACK控制报文把数据转发给相应的订阅者。


3.一种基于ProjectReactor框架的数据传输系统,其特征在于,包括:设备端、传感器、云平台的数据采集引擎以及大数据平台;
传感器实时检测数据;
设备端获取传感器实时检测的数据,并将传感器实时检测的数据发送给云平台的数据采集引擎;所述设备端和云平台的数据采集引擎之间采用MQTT协议进行通信;所述设备端作为MQTT协议的发布者,所述云平台的数据采集引擎作为MQTT协议的服务器和订阅者;所述云平台的数据采集引擎利用ProjectReactor框架构建;
云平台的数据采集引擎利用ReactiveSpringCloudStream构建响应式消息通信组件,将传感器实时检测的数据发送给Kafka消息中间件,再将Kafka消息中间件中传感器实时检测数据转发给大数据平台或数据库;所述kafka消息中间件为响应式消息通信组件的一种,作为传感器实时检测数据的中转站;
云平台的数据采集引擎利用SpringReactiveData构建响应式数据访问组件,将Kafka消息中间件中传感器实时检测数据转发给MongoDB;...

【专利技术属性】
技术研发人员:杨宗凯张立山侯恩硕陈宇飞王姝文刘丽丽戴志诚
申请(专利权)人:华中师范大学
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1