一种基于集群技术的高并发MQTT配电物联网系统及方法技术方案

技术编号:38460393 阅读:8 留言:0更新日期:2023-08-11 14:37
本发明专利技术公开了一种基于集群技术的高并发MQTT配电物联网系统及方法包括,通过设计储存结构实现对设备状态的管理和集群功能的实现;采用MD5salt值加密算法对设备密码进行加密处理;服务器对报文进行解析,按照报文的需求对数据进行处理;对数据库进行集群部署,基于负载权值的动态负载均衡算法实现负载分发;通过设立监控系统实时监控通信系统的运行状况,本发明专利技术方法将集群技术应用于桥接MQTT服务器实现服务器节点相互连接,组成的集群MQTT服务器用于智能网关等边缘设备与配电物联网云平台之间的消息传输,提高配网作业场景中进行边云通信的配电物联网云平台消息传输负载能力,满足当前配网作业高并发、高可用性的场景需求。高可用性的场景需求。高可用性的场景需求。

【技术实现步骤摘要】
一种基于集群技术的高并发MQTT配电物联网系统及方法


[0001]本专利技术涉及配电物联网
,尤其涉及一种基于集群技术的高并发MQTT配电物联网系统及方法。

技术介绍

[0002]MQTT协议是一种网络通信协议,主要应用在物联网通信中,具有轻巧、开放、简单、规范易于实现的优点,通常应用在计算能力不强且处于网络带宽有限的场景中。因此适用于在配网作业中边缘设备与配电物联网云平台的通信。
[0003]MQTT协议的通信模式采用发布/订阅模式,通信系统中包含三种角色:publisher(发布者)、subscriber(订阅者)、broker(代理服务器,简称为服务器)。通信过程分为三个步骤:(1)客户端(订阅者)向代理服务器发送订阅信息,订阅信息包含订阅主题。(2)客户端(发布者)向代理服务器发送数据信息,这条数据信息中包含主题和内容。(3)代理服务器检查订阅表中是否有订阅此信息相应主题的用户,如果有则发送出去到该用户中。
[0004]Mosquitto是当前主流的用于MQTT协议的消息代理服务器,提供轻量级的,支持发布/订阅的消息推送模式。Mosquitto内部有一个订阅树用来记录主题和订阅者关系的信息。订阅树是一棵二叉树,左子树为业务子树,用于保存主题与订阅者之间的关系;右子树为系统子树,用于保存在线用户数、消息收发数等数据。
[0005]Redis是一种基于内存的数据结构存储数据库,主要用于缓存和消息代理,支持丰富的数据结构类型。在Redis3.0版本之后正式提供RedisCluster这种集群服务,每个主服务器伴随两个冗余备份的从服务器。
[0006]MD5消息摘要算法属于密码散列函数,用于保证信息传输完整一致,具有压缩性、易于计算、抗修改性、弱碰撞性、强抗碰撞的优点。为防止MD5被暴力破解,本系统采用MD5salt值加密算法,将密码与salt值相结合后再进行MD5加密,salt值可由客户端或服务器自身随机生成,从而提高安全性。
[0007]Nginx是HTTP和反向代理的Web服务器,具有占用内存小、高并发的优点。在本系统中应用Nginx作为负载均衡服务器,由Nginx将当前消息传输到当前负载压力最小的服务器,从而平衡所有服务器的工作量。

技术实现思路

[0008]本部分的目的在于概述本专利技术的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和专利技术名称中可能会做些简化或省略以避免使本部分、说明书摘要和专利技术名称的目的模糊,而这种简化或省略不能用于限制本专利技术的范围。
[0009]鉴于上述现有存在的问题,提出了本专利技术。
[0010]因此,本专利技术提供了一种基于集群技术的高并发MQTT配电物联网系统及方法,将集群技术应用于桥接MQTT服务器实现服务器节点相互连接,组成的集群MQTT服务器用于智能网关等边缘设备与配电物联网云平台之间的消息传输,提高配网作业场景中进行边云通
信的配电物联网云平台消息传输负载能力,满足当前配网作业高并发、高可用性的场景需求。
[0011]为解决上述技术问题,本专利技术提供如下技术方案,一种基于集群技术的高并发MQTT配电物联网方法,包括:
[0012]通过设计储存结构实现对设备状态的管理和集群功能的实现;
[0013]采用MD5salt值加密算法对设备密码进行加密处理;
[0014]服务器对报文进行解析,按照报文的需求对数据进行处理;
[0015]对数据库进行集群部署,基于负载权值的动态负载均衡算法实现负载分发;
[0016]通过设立监控系统实时监控通信系统的运行状况。
[0017]作为本专利技术所述的一种基于集群技术的高并发MQTT配电物联网方法的一种优选方案,其中:所设计储存结构包括,物模型设计、主题设计及数据库设计。
[0018]作为本专利技术所述的一种基于集群技术的高并发MQTT配电物联网方法的一种优选方案,其中:所述MD5salt值加密算法包括,在进行密码的明文加密前先进行salt处理,此处的salt值为每个设备随机生成,系统将密码和salt值合并后进行MD5计算,数据库对每个设备的hash值和salt值进行存储。
[0019]作为本专利技术所述的一种基于集群技术的高并发MQTT配电物联网方法的一种优选方案,其中:所述按照报文的需求对数据进行处理包括,当客户端发送发布或订阅报文时,服务器对报文进行解析,按照报文的需求对消息数据进行处理,完成推送或订阅。
[0020]作为本专利技术所述的一种基于集群技术的高并发MQTT配电物联网方法的一种优选方案,其中:所述MD5salt值加密算法包括,在进行密码的明文加密前先进行salt处理,此处的salt值为每个设备随机生成,系统将密码和salt值合并后进行MD5计算,数据库对每个设备的hash值和salt值进行存储。
[0021]作为本专利技术所述的一种基于集群技术的高并发MQTT配电物联网方法的一种优选方案,其中:所述对数据库进行集群部署包括,数据库是多个Redis节点构成,每个节点组对应数据的一个分片,节点组之间的数据不互通,通过master主节点和slave备用节点构成节点组,两节点的数据通过异步的主备复制实现一致。
[0022]作为本专利技术所述的一种基于集群技术的高并发MQTT配电物联网方法的一种优选方案,其中:所述基于负载权值的动态负载均衡算法实现负载分发包括,通过在配电物联网云平台设立负载均衡服务器,服务器采用桥接的方式实现集群功能,通过基于负载权值的动态负载均衡算法选出负载最小的节点,使节点承担当前信息的处理;
[0023]令负载均衡系统中每个代理服务器节点为B=(B1,B2,

,Bn);
[0024]计算节点性能CB
i

[0025]CB
i
=k1×
CM
i
+k2×
CN
i
+k3×
C(R
i
)
[0026]其中,节点i的内存容量为C(M
i
)、网络吞吐量为C(N
i
)、磁盘读写速率为C(R
i
);
[0027]计算节点负载LB
i

[0028]LB
i
=k4×
L(C
i
)+k5×
L(M
i
)+k6×
L(N
i
)
[0029]其中,CPU占用率为L(C
i
)、内存占用率为L(M
i
)、网络带宽占用率为L(N
i
);
[0030]计算出负载因子,
[0031]F(B
i
)=LB
i
/CB
i

[0032]计算出负载差值,
[0033]ΔLB
i
=(F
max
...

【技术保护点】

【技术特征摘要】
1.一种基于集群技术的高并发MQTT配电物联网方法,其特征在于:包括,通过设计储存结构实现对设备状态的管理和集群功能的实现;采用MD5salt值加密算法对设备密码进行加密处理;服务器对报文进行解析,按照报文的需求对数据进行处理;对数据库进行集群部署,基于负载权值的动态负载均衡算法实现负载分发;通过设立监控系统实时监控通信系统的运行状况。2.如权利要求1所述的一种基于集群技术的高并发MQTT配电物联网方法,其特征在于:所述设计储存结构包括,设计物模型、设计主题及设计数据库。3.如权利要求2所述的一种基于集群技术的高并发MQTT配电物联网方法,其特征在于:所述MD5salt值加密算法包括,在进行密码的明文加密前先进行salt处理,salt值为每个设备随机生成,系统将密码和salt值合并后进行MD5计算,数据库对每个设备的hash值和salt值进行存储。4.如权利要求3所述的一种基于集群技术的高并发MQTT配电物联网方法,其特征在于:所述按照报文的需求对数据进行处理包括,当客户端发送发布或订阅报文时,服务器对报文进行解析,按照报文的需求对消息数据进行处理,完成推送或订阅。5.如权利要求4所述的一种基于集群技术的高并发MQTT配电物联网方法,其特征在于:所述对数据库进行集群部署包括,数据库由多个Redis节点构成,每个节点组对应数据的一个分片,节点组之间的数据不互通,通过master主节点和slave备用节点构成节点组,两节点的数据通过异步的主备复制实现一致。6.如权利要求5所述的一种基于集群技术的高并发MQTT配电物联网方法,其特征在于:所述基于负载权值的动态负载均衡算法实现负载分发包括,通过在配电物联网云平台设立负载均衡服务器,服务器采用桥接的方式实现集群功能,通过基于负载权值的动态负载均衡算法选出负载最小的节点,使节点承担当前信息的处理;负载均衡系统中每个代理服务器节点为B=(B1,B2,

,B
n
);计算节点性能C(B
i
),C(B
i
)=k1×
C(M
i
)+k2×
C(N
i
)+k3×
C(R
i
)其中,节点i的内存容量为C(M
i
)、网络吞吐量为C(N
i
)、磁盘读写速率为C(R
i
)。计算节点负载L(B
...

【专利技术属性】
技术研发人员:许逵李鑫卓张历张俊杰李欣张锐锋班国邦冯光璐孟令雯肖小兵刘君杨旗陈敦辉祝健杨冯起辉王宇范强毛先胤陈沛龙罗显跃刘斌付渊
申请(专利权)人:贵州电网有限责任公司
类型:发明
国别省市:

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

1