CN108737543B - 一种分布式物联网中间件及工作方法 - Google Patents

一种分布式物联网中间件及工作方法 Download PDF

Info

Publication number
CN108737543B
CN108737543B CN201810491133.1A CN201810491133A CN108737543B CN 108737543 B CN108737543 B CN 108737543B CN 201810491133 A CN201810491133 A CN 201810491133A CN 108737543 B CN108737543 B CN 108737543B
Authority
CN
China
Prior art keywords
node
load
sub
module
equipment
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.)
Active
Application number
CN201810491133.1A
Other languages
English (en)
Other versions
CN108737543A (zh
Inventor
申燕
祁田宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Intelligent IoT Technology Co Ltd
Original Assignee
Gaoxing Zhilian Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Gaoxing Zhilian Technology Co ltd filed Critical Gaoxing Zhilian Technology Co ltd
Priority to CN201810491133.1A priority Critical patent/CN108737543B/zh
Publication of CN108737543A publication Critical patent/CN108737543A/zh
Application granted granted Critical
Publication of CN108737543B publication Critical patent/CN108737543B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2871Implementation details of single intermediate entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种分布式物联网中间件及工作方法,中间件包括:访问控制模块、节点管理模块、负载均衡模块、设备管理模块、节点通信模块、子节点管理模块、设备代理模块、业务模块、设备通信模块、zookeeper代理、kafka代理。用户通过节点管理模块增加或删除子节点,Zookeeper代理把子节点的变更情况通知给子节点管理模块,用户通过设备管理模块增加和删除设备,设备代理模块连接系统分配的设备,系统通过业务模块、节点通信模块、Kafka代理下发业务消息给每个子系统。本发明把中间件和设备交互的任务分散给各个子节点系统,某个子节点系统宕机时,负载会被动态的分配给其他子节点系统,提高了系统的可靠性。

Description

一种分布式物联网中间件及工作方法
技术领域
本发明涉及计算机技术,更具体的说,涉及一种分布式物联网中间件及工作方法。
背景技术
中间件是位于平台操作系统和应用之间的通用服务。现有中间件软件产品一般部署在单独一台服务器上,直接和电子标识设备交互,处理能力有限,一般最多支持200多台设备同时工作。如果需要支持上千台设备同时工作,需要部署多套中间件软件产品,比较繁琐。
随着汽车电子标识行业的逐步发展,已经出现需要部署大量电子标识设备的需求,对现有的中间件软件产品构成较大的压力。在部署多套中间件软件产品时,每个中间件产品都需要配置一套相同的规则信息,容易出现差错;而当中间件软件产品出现单点故障,或者网络中断时,设备也无法迅速恢复到正常工作状态。
发明内容
基于此,提出一种分布式物联网中间件及工作方法,方便系统的扩容,能有效避免网络中断、单点故障导致的电子标识设备无法工作情况的发生。
为达到上述目的,本发明提出的技术方案为:
一种分布式物联网中间件,所述中间件包括:主节点系统、子节点系统、zookeeper代理、kafka代理、主节点系统接收用户的请求,通过kafka代理把任务下发到所述的子节点系统,同时通过kafka代理接收子节点系统上报的信息,主节点系统通过zookeeper代理把子节点的变更情况通知给子节点系统。
进一步的,当所述主节点系统启动时,创建主节点和主节点状态节点,主节点系统创建负载节点,其中一个负载节点中包含多个负载单元,每个负载单元中含有与其对应的负载数量,子节点系统创建子节点状态节点。
进一步的,主节点系统包括:访问控制模块、节点管理模块、负载均衡模块、设备管理模块、节点通信模块、业务模块,操作者通过节点管理模块增加或删除子节点,负载均衡模块用于动态均衡负载设备,设备管理模块用于增加和删除设备,业务模块与节点通信模块相连,节点通信模块和kafka代理相连接,主节点系统通过业务模块、节点通信模块、kafka代理将业务下发给子节点系统,访问控制模块用于验证用户。
进一步的,子节点系统包括:子节点管理模块、子节点通信模块、设备代理模块、子节点业务模块、设备通信模块,子节点管理模块用于接收zookeeper代理发送的子节点变更通知,子节点通信模块用于接收主节点下发的业务消息并下发给设备,子节点通信模块还用于把设备返回的业务消息返回给主节点系统,子节点系统通过设备代理模块连接主节点系统分配的设备,设备通信模块接收设备的信息,子节点业务模块与设备通信模块相连接用于将设备的信息上传至数据库。
进一步的,主节点系统对应多个子节点系统,中间件与设备交互的工作被分配到不同的所述子节点系统中。
进一步的,当一个所述子节点系统宕机时,负载的设备会动态的分配给其他所述子节点系统。
与现有技术相比,本发明的有益效果在于:
1、本发明把传统的中间件系统中和大量设备交互的任务分散给各个子节点系统;
2、某个子节点系统宕机时,负载的设备会动态分配给其他子节点系统,提高了系统的可靠性。
本发明的另一目的在于提出一种分布式物联网中间件的工作方法,步骤包括:
步骤1,用户通过主节点系统的访问控制模块的验证;
步骤2,用户通过主节点系统的节点管理模块,进行子节点的增加和删除;
步骤3,Zookeeper代理把子节点的变更情况通知给子节点系统的子节点管理模块;
步骤4,用户通过主节点系统的设备管理模块,进行设备的增加和删除;
步骤5,步骤4的操作会触发负载均衡模块中的负载均衡算法把设备动态分配给在线的所有的子节点;
步骤6,子节点系统通过设备代理模块,连接主节点系统分配的设备;
步骤7,主节点系统通过业务模块、节点通信模块、Kafka代理下发业务消息给每个子节点系统;
步骤8,子节点系统通过子节点通信模块接收主节点下发的业务消息,并下发给设备;
步骤9,子节点系统把设备返回的业务消息通过子节点通信模块、Kafka代理上报给主节点系统;
步骤10,主节点系统把子节点系统上报的消息展示给用户。
进一步的,当负载设备或在线所述子节点系统数量发生变化,或所述子节点系统超负荷时,所述主节点系统调用负载均衡模块中的负载均衡算法动态均衡所述子节点系统中的负载,负载均衡算法包括步骤:
步骤1,判断是否存在未分配的负载单元,如果存在,则执行步骤2,否则执行步骤8;
步骤2,根据负载量,对待分配的负载单元进行排序;
步骤3,根据负载量,对所有在线的子节点进行排序;
步骤4,根据所有在线子节点系统的运行情况,判断是否存在没有超负荷的子节点,如果存在,则执行步骤5,否则执行步骤12;
步骤5,把负载量最大的待分配负载单元分配给负载量最小且没有超负荷的子节点;
步骤6,标识该负载单元已经被分配;
步骤7,判断所有的待分配负载单元是否分配完毕,如果已经分配完毕,则执行步骤8,否则执行步骤3;
步骤8,根据负载量对在线子节点进行排序;
步骤9,取得所有在线子节点中最大和最小负载量的差,并记做M;
步骤10,取得最大负载量节点中最小负载单元的负载量,并记做N;
步骤11,比较N和M/2,如果N<=M/2,则把最大负载量节点的最小负载单元分配给最小负载量节点,执行步骤8,否则,则执行步骤12;
步骤12,不再进行分配处理,负载均衡终止。
本发明所述的一种分布式物联网中间件的工作方法与上述一种分布式物联网中间件的有益效果相同,在此不再赘述。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明的系统模块示意图;
图2是本发明的节点存储模型示意图;
图3是本发明的工作流程图;
图4是本发明的负载均衡算法流程图。
具体实施方式
如图1所示,一种分布式物联网中间件包括:主节点系统、子节点系统、zookeeper代理、kafka代理,主节点系统接收用户的请求,通过kafka代理把任务下发到所述的子节点系统,同时通过kafka代理接收子节点系统上报的信息,主节点系统通过zookeeper代理把子节点的变更情况通知给子节点系统。
主节点系统包括:访问控制模块、节点管理模块、负载均衡模块、设备管理模块、节点通信模块、业务模块,操作者通过节点管理模块增加或删除子节点,负载均衡模块用于动态均衡负载设备,设备管理模块用于增加和删除设备,业务模块与节点通信模块相连,节点通信模块和kafka代理相连接,主节点系统通过业务模块、节点通信模块、kafka代理将业务下发给子节点系统,访问控制模块用于验证用户。
子节点系统包括:子节点管理模块、子节点通信模块、设备代理模块、子节点业务模块、设备通信模块,子节点管理模块用于接收zookeeper代理发送的子节点变更通知,子节点通信模块用于接收主节点下发的业务消息并下发给设备,子节点通信模块还用于把设备返回的业务消息返回给主节点系统,子节点系统通过设备代理模块连接主节点系统分配的设备,设备通信模块接收设备的信息,子节点业务模块与设备通信模块相连接用于将设备的信息上传至数据库。
图1中的Zookeeper服务为开源的分布式可靠协调系统,数据库服务为数据库软件系统,Kafka服务为开源的分布式发布订阅消息系统。
如图2所示,主节点系统启动时创建主节点和主节点状态节点,主节点系统中的负载均衡模块创建负载节点,其中一个负载节点中包含多个负载单元,每个负载单元中含有与其对应的负载数量。操作者通过节点管理模块增加或删除子节点,子节点系统创建子节点状态节点。其中“/”为Zookeeper的根节点,“/dms”为分布式物联网中间件的根节点,“/dms/master”为主节点,“/dms/master/status”为主节点的状态节点,“/dms/master/slave”为子节点,子节点的存在依赖于主节点,“/dms/master/slave/status”为子节点的状态节点。不同种类的节点都在Zookeeper中生成并进行管理的。主节点对应主节点系统,根据主节点的状态节点实时监控主节点系统是否在线,子节点对应一个子节点系统,根据子节点的状态节点实时监控当前子节点系统是否在线,主节点下可以包含多个子节点,也就是说一个主节点系统,对应多个子节点系统。
如图3所示,本发明一种分布式物联网中间件的工作流程为:
步骤1:用户通过主节点系统的访问控制模块的验证。
步骤2:用户通过主节点系统的节点管理模块,进行子节点的增加和删除。
步骤3:Zookeeper代理把子节点的变更情况通知给子节点系统的子节点管理模块。
步骤4:用户通过主节点系统的设备管理模块,进行设备的增加和删除。
步骤5:步骤4的操作会触发负载均衡模块中的负载均衡算法把设备均衡分配给在线的所有的子节点。
步骤6:子节点系统通过设备代理模块,连接主节点系统分配的设备。
步骤7:主节点系统通过业务模块、节点通信模块、Kafka服务下发业务消息给每个子节点系统。
步骤8:子节点系统通过子节点通信模块接收主节点下发的业务消息,并下发给设备。
步骤9,子节点系统把设备返回的业务消息通过子节点通信模块、Kafka代理上报给主节点系统。
步骤10,主节点系统把子节点系统上报的消息展示给用户。
如图4所示,当负载设备或在线所述子节点系统数量发生变化,或所述子节点系统超负荷时,所述主节点系统调用负载均衡模块中的负载均衡算法动态均衡所述子节点系统中的负载,负载均衡算法包括步骤:
步骤1,判断是否存在未分配的负载单元。如果存在,则执行步骤2;否则执行步骤8。
步骤2,根据负载量,对待分配的负载单元进行排序
步骤3,根据负载量,对所有在线的子节点进行排序
步骤4,根据所有在线子节点系统的运行情况,判断是否存在没有超负荷的子节点。如果存在,则执行步骤5;否则执行步骤12。
步骤5,把负载量最大的待分配负载单元分配给负载量最小且没有超负荷的子节点
步骤6,标识该负载单元已经被分配。
步骤7,判断所有的待分配负载单元是否分配完毕。如果已经分配完毕,则执行步骤8;否则执行步骤3。
步骤8,根据负载量对在线子节点进行排序
步骤9,取得所有在线子节点中最大和最小负载量的差,并记做M。
步骤10,取得最大负载量节点中负载数最小的负载单元的负载量,并记做N。
步骤11,比较N和M/2,如果N<=M/2,则把最大负载量节点上的负载数最小的负载单元分配给最小负载量节点,执行步骤8;否则,则执行步骤12。
步骤12,不再进行分配处理,负载均衡终止。
以上所述仅为本发明创造的较佳实施例而已,并不用以限制本发明创造,凡在本发明创造的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明创造的保护范围之内。

Claims (2)

1.一种分布式物联网中间件的工作方法,其特征在于,包括步骤:
步骤1,用户通过主节点系统的访问控制模块的验证;
步骤2,用户通过主节点系统的节点管理模块,进行子节点的增加和删除;
步骤3,Zookeeper代理把子节点的变更情况通知给子节点系统的子节点管理模块;
步骤4,用户通过主节点系统的设备管理模块,进行设备的增加和删除;
步骤5,步骤4的操作会触发负载均衡模块中的负载均衡算法把设备动态分配给在线的所有的子节点;
步骤6,子节点系统通过设备代理模块,连接主节点系统分配的设备;
步骤7,主节点系统通过业务模块、节点通信模块、Kafka代理下发业务消息给每个子节点系统;
步骤8,子节点系统通过子节点通信模块接收主节点下发的业务消息,并下发给设备;
步骤9,子节点系统把设备返回的业务消息通过子节点通信模块、Kafka代理上报给主节点系统;
步骤10,主节点系统把子节点系统上报的消息展示给用户。
2.如权利要求1所述一种分布式物联网中间件的工作方法,其特征在于,当负载设备或在线子节点系统数量发生变化,或所述子节点系统超负荷时,所述主节点系统调用负载均衡模块中的负载均衡算法动态均衡所述子节点系统中的负载,负载均衡算法包括以下步骤:
步骤1,判断是否存在未分配的负载单元,如果存在,则执行步骤2,否则执行步骤8;
步骤2,根据负载单元的负载量,对待分配的负载单元进行排序;
步骤3,根据负载单元的负载量,对所有在线的子节点进行排序;
步骤4,根据所有在线子节点系统的运行情况,判断是否存在没有超负荷的子节点,如果存在,则执行步骤5,否则执行步骤12;
步骤5,把负载量最大的待分配负载单元分配给负载量最小且没有超负荷的子节点系统;
步骤6,标识该负载单元已经被分配;
步骤7,判断所有的待分配负载单元是否分配完毕,如果已经分配完毕,则执行步骤8,否则执行步骤3;
步骤8,根据负载单元的负载量对在线子节点系统进行排序;
步骤9,取得所有在线子节点系统中最大和最小负载量的差,并记做M;
步骤10,取得最大负载量节点中负载数最小的负载单元的负载量,并记做N;
步骤11,比较N和M/2,如果N<=M/2,则把最大负载量节点中负载数最小的负载单元分配给最小负载量节点,执行步骤8,否则,则执行步骤12;
步骤12,不再进行分配处理,负载均衡终止。
CN201810491133.1A 2018-05-21 2018-05-21 一种分布式物联网中间件及工作方法 Active CN108737543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810491133.1A CN108737543B (zh) 2018-05-21 2018-05-21 一种分布式物联网中间件及工作方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810491133.1A CN108737543B (zh) 2018-05-21 2018-05-21 一种分布式物联网中间件及工作方法

Publications (2)

Publication Number Publication Date
CN108737543A CN108737543A (zh) 2018-11-02
CN108737543B true CN108737543B (zh) 2021-09-24

Family

ID=63938857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810491133.1A Active CN108737543B (zh) 2018-05-21 2018-05-21 一种分布式物联网中间件及工作方法

Country Status (1)

Country Link
CN (1) CN108737543B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614164B (zh) * 2018-11-29 2021-09-28 深圳前海微众银行股份有限公司 实现插件可配置的方法、装置、设备及可读存储介质
CN110851488A (zh) * 2019-09-26 2020-02-28 贵阳信息技术研究院(中科院软件所贵阳分部) 基于多源多模态数据融合分析处理方法及平台
CN112671889B (zh) * 2020-12-21 2022-05-10 高新兴智联科技有限公司 一种实现支持多协议的分布式物联网中间件的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100259A (zh) * 2015-08-18 2015-11-25 北京京东尚科信息技术有限公司 一种分布式定时任务执行方法和系统
CN105338086A (zh) * 2015-11-04 2016-02-17 浪潮软件股份有限公司 一种分布式的消息转发方法
CN105468735A (zh) * 2015-11-23 2016-04-06 武汉虹旭信息技术有限责任公司 基于移动互联网海量信息的流式预处理系统及其方法
US20170083579A1 (en) * 2015-09-18 2017-03-23 Alibaba Group Holding Limited Distributed data processing method and system
CN106936899A (zh) * 2017-02-25 2017-07-07 九次方大数据信息集团有限公司 分布式统计分析系统的配置方法及分布式统计分析系统
CN107391672A (zh) * 2017-07-21 2017-11-24 中国联合网络通信集团有限公司 数据的读写方法及消息化的分布式文件系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521044B (zh) * 2011-12-30 2013-12-25 北京拓明科技有限公司 一种基于消息中间件的分布式任务调度方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100259A (zh) * 2015-08-18 2015-11-25 北京京东尚科信息技术有限公司 一种分布式定时任务执行方法和系统
US20170083579A1 (en) * 2015-09-18 2017-03-23 Alibaba Group Holding Limited Distributed data processing method and system
CN105338086A (zh) * 2015-11-04 2016-02-17 浪潮软件股份有限公司 一种分布式的消息转发方法
CN105468735A (zh) * 2015-11-23 2016-04-06 武汉虹旭信息技术有限责任公司 基于移动互联网海量信息的流式预处理系统及其方法
CN106936899A (zh) * 2017-02-25 2017-07-07 九次方大数据信息集团有限公司 分布式统计分析系统的配置方法及分布式统计分析系统
CN107391672A (zh) * 2017-07-21 2017-11-24 中国联合网络通信集团有限公司 数据的读写方法及消息化的分布式文件系统

Also Published As

Publication number Publication date
CN108737543A (zh) 2018-11-02

Similar Documents

Publication Publication Date Title
WO2020253786A1 (zh) 一种去中心化处理的方法、通信代理、主机以及存储介质
CN103873279B (zh) 一种服务器管理方法,及装置
WO2021129367A1 (zh) 一种监控分布式存储系统的方法及装置
CN110209492B (zh) 一种数据处理方法及装置
CN110266716B (zh) 电网统一服务平台系统
US7743142B2 (en) Verifying resource functionality before use by a grid job submitted to a grid environment
CN111861140B (zh) 一种业务处理方法、装置、存储介质和电子装置
CN108737543B (zh) 一种分布式物联网中间件及工作方法
EP3264723B1 (en) Method, related apparatus and system for processing service request
CN108322345A (zh) 一种故障修复数据包的发布方法及服务器
CN105007312A (zh) 一种云计算服务器自适应负载均衡控制方法及控制系统
CN112671928B (zh) 设备集中管理架构、负载均衡方法、电子设备及存储介质
CN105450757A (zh) 一种服务管理方法及系统
CN111858054B (zh) 一种异构环境下基于边缘计算的资源调度系统及方法
CN110851278A (zh) 一种基于微服务架构的配网自动化主站移动应用服务管理方法和系统
US20160344582A1 (en) Call home cluster
CN111093162A (zh) 一种智能选择短信发送通道的方法
CN109873714B (zh) 云计算节点配置更新方法及终端设备
CN109617750A (zh) 一种服务预警方法及网关
CN101467132B (zh) 用于在通信网络中分配数据处理单元的方法和系统
CN102845023B (zh) 用于在宽带接入网中登记传输容量的装置和方法
CN113407340A (zh) 业务控制系统、网关服务方法、业务请求转发方法及装置
CN116389385A (zh) 一种系统资源处理方法、装置、存储介质及设备
CN113254245A (zh) 一种存储集群的故障检测方法和系统
CN116032932A (zh) 针对边缘服务器的集群管理方法、系统、设备及介质

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
CB02 Change of applicant information

Address after: Room 401, building 12, East Airport Business Park, 80 Huanhe North Road, Tianjin Binhai New Area pilot free trade zone (Airport Economic Zone)

Applicant after: Gaoxing Zhilian Technology Co.,Ltd.

Address before: 300308 Tianjin Binhai New Area Airport Economic Zone Dongqidao No.2 ZTE Industrial Base

Applicant before: ZTE INTELLIGENT IOT TECHNOLOGY Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Room 401, building 12, East Airport Business Park, 80 Huanhe North Road, Tianjin Binhai New Area pilot free trade zone (Airport Economic Zone)

Patentee after: Zte Intelligent Iot Technology Co.,Ltd.

Address before: Room 401, building 12, East Airport Business Park, 80 Huanhe North Road, Tianjin Binhai New Area pilot free trade zone (Airport Economic Zone)

Patentee before: Gaoxing Zhilian Technology Co.,Ltd.

CP01 Change in the name or title of a patent holder