【技术实现步骤摘要】
一种基于物联网通信的数据传输方法及系统
[0001]本专利技术涉及物联网通信技术,具体是基于防火墙端口映射的Kafka数据传输方法及系统。
技术介绍
[0002]当前,物联网技术方兴未艾,每个物体均可以作为物联网的一个节点,物与物之间的信息联通为很多应用场景的实现奠定了通信基础,从而为人类生产、生活方面的改善提供了便利和帮助。
[0003]目前,物联网节点之间的通信一般以消息型数据为主,因此需要建立一套有效的消息传输、分发与存取机制。Kafka体系是一个分布式的、易扩展的、安全性高的消息服务系统。如图1所示,Kafka体系包括消息的Producer节点、Consumer节点以及Kafka服务器集群。Producer节点向Kafka服务器集群发送消息,而Consumer节点通过与Kafka服务器集群建立长连接的方式,不断地从Kafka服务器集群中拉取消息,然后可以对这些消息进行处理。其中,消息被分类为不同的主题即Topic,图1中两个Producer节点向Kafka服务器集群发送了主题为Topic1的消息,另外一个Pr ...
【技术保护点】
【技术特征摘要】
1.一种基于物联网通信的数据传输方法,其是基于防火墙端口映射的Kafka数据进行传输,其特征在于,包括:通过Kafka服务器集群接收Producer节点上传的属于特定Topic的消息;由Kafka服务器集群中的消息缓存和解析服务器缓存所述消息,并且解析该消息生成该消息的属性标识符;为Kafka服务器集群中的每一个Partition生成并存储一个消息分配记录表,消息分配记录表记录了该Partition上承担的每个消息的相关信息,所述相关信息中包括每个消息的属性标识符;实时获得每一个Partition对应的存储消息数以及Broker服务器处理能力分配参数,并通过对应每一个Partition的能力状态列表对各个Partition消息接收能力参数进行保存;统计所述消息缓存和解析服务器当前缓存的消息数量;通过查询所述能力状态列表获得每个Partition的消息接收能力参数;根据所述当前缓存的消息数量以及每个Partition的消息接收能力参数,决定每一个Partition承担的缓存消息数量;按照每一个Partition承担的缓存消息数量,生成将缓存的消息分派给Partition的分配方案;根据所述分配方案,将消息缓存和解析服务器中缓存的消息传输给相应的Partition进行存储,以及更新该Partition对应的消息分配记录表;Kafka服务器集群通过防火墙外部端口接收Consumer节点关于拉取消息的请求,并根据Kafka服务器集群中各Broker服务器的实时负荷,确定响应该请求的Broker服务器,并将该请求映射到该Broker服务器的内部端口。2.根据权利要求1所述的方法,其特征在于,在按照每一个Partition承担的缓存消息数量生成分配方案时,还进一步获得缓存的消息的属性标识符;根据属性标识符,确定缓存的消息之间的属性相关度,从而使被分配在同一个Partition的消息之间的属性相关度最小化,生成分配在同一个Partition上的消息组。3.根据权利要求1所述的方法,其特征在于,在按照每一个Partition承担的缓存消息数量生成分配方案时,还进一步获得缓存的消息的属性标识符;根据消息的属性标识符以及每个Partition的消息分配记录表,确定缓存的消息与Partition上的消息之间的属性相关度,从而使缓存的消息与被分配的Partition上的消息之间的属性相关度最小化,确定缓存的消息所分配的Partition。4.根据权利要求2或3所述的方法,其特征在于,为缓存的消息所生成的属性标识符包括消息源标识符与关键值标识符;其中,由同一个Producer节点所生成的消息具有相同的消息源标识符;以及,分析每个消息,从中提取关键值作为关键值标识符。5.根据权利要求4所述的方法,其特征在于,确定每两个缓存的消息之间的属性相关度,可按下述公式进行确定:R=a1
·
S+a2
·
K其中R是表示两个消息之间的属性相关度的量化参数;S是根据两个消息的消息源标识符评估的相关度量化参数;K表示根据两个消息的关键值标识符的重合度所评估的相关度
量化参数,a1与a2是加权求和系数。6.一种基于物联网通信的数据传输系统,其是基于防火墙端口映射的Kafka数据进行传输,其特征在于,包括:至少一个Producer节点,用于上传属于特定Topic的消息;Kafka服务器集群,包括消息缓存和...
【专利技术属性】
技术研发人员:鲍敏,
申请(专利权)人:光控特斯联上海信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。