CN114116219A - 一种数据分布均衡方法、系统及电子设备 - Google Patents

一种数据分布均衡方法、系统及电子设备 Download PDF

Info

Publication number
CN114116219A
CN114116219A CN202111414811.2A CN202111414811A CN114116219A CN 114116219 A CN114116219 A CN 114116219A CN 202111414811 A CN202111414811 A CN 202111414811A CN 114116219 A CN114116219 A CN 114116219A
Authority
CN
China
Prior art keywords
topics
data distribution
user node
user
subscribeable
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.)
Pending
Application number
CN202111414811.2A
Other languages
English (en)
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.)
Beijing Likong Yuantong Technology Co ltd
Original Assignee
Beijing Likong Yuantong 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 Beijing Likong Yuantong Technology Co ltd filed Critical Beijing Likong Yuantong Technology Co ltd
Priority to CN202111414811.2A priority Critical patent/CN114116219A/zh
Publication of CN114116219A publication Critical patent/CN114116219A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种数据分布均衡方法、系统及电子设备,该方法包括:接收注册中心发送的数据分布均衡请求;基于数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,数据库用于实时存储已有的用户节点和可订阅主题;基于当前用户节点的数量和当前可订阅的主题的数量计算每个用户节点对应的平衡目标;将平衡目标发送至所有用户节点,以使用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。此方法通过均衡用户节点订阅主题的数量,提高了数据处理效率,同时通过对主题数量进行均衡,避免了部分节点运算量过大的问题,缓解了节点对数据处理的压力。

Description

一种数据分布均衡方法、系统及电子设备
技术领域
本发明涉及软件系统技术领域,具体涉及一种数据分布均衡方法、系统及电子设备。
背景技术
分布式系统是建立在网络之上的软件系统。主要解决的问题有:1、持久化数据太大,单个节点的硬盘无法存储;2、运算量太大,单个节点的内存、CPU无法处理等。MQTT是一个轻量的发布订阅模式消息传输协议,专门针对低带宽和不稳定网络环境的物联网应用设计。在现实情况中当实时历史数据库在使用EMQ作为消息队列时,随着接入物联设备数量的增加,会出现消费节点的任务分布不均衡的情况,从而导致数据处理效率低。
发明内容
有鉴于此,本发明实施例提供了一种数据分布均衡方法、系统及电子设备,以解决在使用EMQ作为消息队列时,随着接入物联设备数量的增加,消费节点的任务分布不均衡,导致的数据的处理效率低的问题。
为达到上述目的,本发明提供如下技术方案:
本发明实施例提供了一种数据分布均衡方法,包括:
接收注册中心发送的数据分布均衡请求;
基于所述数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,所述数据库用于实时存储已有的用户节点和可订阅主题;
基于所述当前用户节点的数量和所述当前可订阅的主题的数量计算每个用户节点对应的平衡目标;
将所述平衡目标发送至所有用户节点,以使所述用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。
可选的,所述用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整,包括:
计算所述当前已订阅主题的数量与所述平衡目标的数量差值;
在所述数量差值为负数时,在所述数据库筛选满足数量差值的可订阅主题添加为已订阅主题,所述在所述数据库筛选满足数量差值的可订阅主题不包括所述当前已订阅主题;
在所述数量差值为正数时,在所述当前已订阅主题中筛选满足所述数量差值的已订阅主题取消订阅。
可选的,所述的数据分布均衡方法,还包括:
接收用户的查询请求;
基于所述查询请求获取当前已订阅主题信息;
将所述当前已订阅主题信息发送至用户。
本发明实施例提供了一种数据分布均衡方法,应用于注册中心,包括:
对消息服务器的可订阅主题进行监测,并将主题监测结果更新到数据库;
对用户节点的状态进行监测,并将状态监测结果更新到数据库,所述数据库用于实时存储已有的用户节点和可订阅主题;
当监测到所述可订阅主题和/或用户节点的状态发生变化时,向第一用户节点发送数据分布均衡请求,以使所述第一用户节点根据所述数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量;基于所述当前用户节点的数量和所述当前可订阅的主题的数量计算每个用户节点对应的平衡目标;将所述平衡目标发送至所有用户节点,以使所述用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。
可选的,在所述向第一用户节点发送数据分布均衡请求之前,还包括:
从所述数据库中获取当前存储已有的用户节点;
基于用户节点的运行状态,从当前已有的用户节点中筛选第一用户节点。
可选的,所述基于用户节点的运行状态,从当前已有的用户节点中筛选第一用户节点,包括:
基于已有的用户节点的运行状态,对用户节点进行分类,得到正常运行的用户节点和非正常运行的用户节点;
从正常运行的用户节点中随机选择一个用户节点作为所述第一用户节点。
可选的,所述数据分布均衡方法,还包括:
对所述第一用户节点设置分布式锁,以使所述第一用户节点向所有用户节点发布数据分布均衡指令。
本发明实施例还提供了一种数据分布均衡方法系统,其特征在于,包括:至少一用户节点和注册中心,所述至少一用户节点中包括:第一用户节点,其中,
所述注册中心对消息服务器的可订阅主题进行监测,并将主题监测结果更新到数据库;
对用户节点的状态进行监测,并将状态监测结果更新到数据库,所述数据库用于实时存储已有的用户节点和可订阅主题;
当监测到所述可订阅主题和/或用户节点的状态发生变化时,向第一用户节点发送数据分布均衡请求
所述第一用户节点接收注册中心发送的数据分布均衡请求;
基于所述数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,所述数据库用于实时存储已有的用户节点和可订阅主题;
基于所述当前用户节点的数量和所述当前可订阅的主题的数量计算每个用户节点对应的平衡目标;
将所述平衡目标发送至所有用户节点,以使所述用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。
本发明实施例还提供了一种电子设备,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明实施例提供的数据分布均衡方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本发明实施例提供的数据分布均衡方法。
本发明技术方案,具有如下优点:
1.本发明提供的应用于第一用户节点的数据分布均衡方法,接收注册中心发送的数据分布均衡请求;基于数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,数据库用于实时存储已有的用户节点和可订阅主题;基于当前用户节点的数量和当前可订阅的主题的数量计算每个用户节点对应的平衡目标;将平衡目标发送至所有用户节点,以使用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。此方法通过均衡用户节点订阅主题的数量,提高了数据处理效率,同时通过对主题数量进行均衡,避免了部分节点运算量过大的问题,缓解了节点对数据处理的压力。
2.本发明提供的应用于注册中心的数据分布均衡方法,对消息服务器的可订阅主题进行监测,并将主题监测结果更新到数据库;对用户节点的状态进行监测,并将状态监测结果更新到数据库,数据库用于实时存储已有的用户节点和可订阅主题;当监测到可订阅主题和/或用户节点的状态发生变化时,向第一用户节点发送数据分布均衡请求。此方法通过对可订阅主题进行检测,可及时的获取到主题数量是否变化,在发生变化时,及时请求用户节点进行数据分布均衡,从而有效避免了大量主题集中在一个用户节点的情况,提高系统的稳定性,使系统保持高可用状态。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种数据分布均衡方法的流程图;
图2为根据本发明实施例中用户节点根据平衡目标调整当前已订阅主题数量的流程图;
图3为根据本发明实施例中查询已订阅主题的流程图;
图4为根据本发明实施例中另一种数据分布均衡方法的流程图;
图5为根据本发明实施例获取已有的用户节点并确定第一用户节点的流程图;
图6为根据本发明实施例中筛选第一用户节点的流程图;
图7为本发明实施例中一种数据分布均衡装置的结构示意图;
图8为本发明实施例中另一种数据分布均衡装置的结构示意图;
图9为本发明实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明实施例,提供了一种数据分布均衡方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种数据分布均衡方法,该方法主要用于对用户节点的订阅主题数量进行均衡,如图1所示,该数据分布均衡方法包括如下步骤:
步骤S101:接收注册中心发送的数据分布均衡请求。具体的,当注册中心检测到可订阅主题和/或用户节点的状态发生变化时,会发布均衡请求,对用户节点的订阅主题数量进行均衡。
步骤S102:基于数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,数据库用于实时存储已有的用户节点和可订阅主题。
步骤S103:基于当前用户节点的数量和当前可订阅的主题的数量计算每个用户节点对应的平衡目标。具体的,通过计算,可以得出平均每个用户节点对应的可订阅的主题数量。
步骤S104:将平衡目标发送至所有用户节点,以使用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。具体的,将用户节点当前已订阅的主题数量与平衡目标进行对比,若当前已订阅的主题数量大于平衡目标,则由系统将多出部分的主题分配给其他节点;若当前已订阅的主题数量小于平衡目标,则由系统分配主题至当前的用户节点,使主题数量与平衡目标一致。
通过上述步骤S101至步骤S104,本发明实施例提供的数据分布均衡方法,通过均衡用户节点订阅主题的数量,提高了数据处理效率,同时通过对主题数量进行均衡,避免了部分节点运算量过大的问题,缓解了节点对数据处理的压力。
具体地,在一实施例中,上述的步骤S104,如图2所示,具体包括如下步骤:
步骤S41:计算当前已订阅主题的数量与平衡目标的数量差值。具体的,通过计算数量差值,可以得知当前用户节点需要增加或减少订阅主题。
步骤S42:在数量差值为负数时,在数据库筛选满足数量差值的可订阅主题添加为已订阅主题,在数据库筛选满足数量差值的可订阅主题不包括当前已订阅主题。具体的,在需要对当前用户节点分配主题的情况下,会通过数据库进行筛选,确保新订阅主题与当前已订阅主题不会出现重复。
步骤S43:在数量差值为正数时,在当前已订阅主题中筛选满足数量差值的已订阅主题取消订阅。具体的,在当前已订阅主题数量超出均衡目标时,需要从已订阅的主题中选取满足数量差值的主题进行取消订阅操作,被取消订阅的主题会在数据库内标定待分配,然后会被分配至其他用户节点进行处理。
具体地,在一实施例中,上述的数据分布均衡方法,如图3所示,还包括如下步骤:
步骤S111:接收用户的查询请求。
步骤S112:基于查询请求获取当前已订阅主题信息。
步骤S113:将当前已订阅主题信息发送至用户。
具体的,通过上述步骤S111至步骤S113,用户可通过查询获取已订阅主题,此过程可用于查询每个用户节点真正订阅到的主题,可用于验证平衡的结果。还可以通过提供restful接口,用于查看当前服务实例订阅的主题内容,更容易掌握数据流向。同时提供手动触发平衡分配的restful接口,避免新增主题后订阅不到导致数据丢失的情况。
图4给出了根据本发明实施例的另一种数据分布均衡方法,该方法应用于注册中心,如图4所示,该数据分布均衡方法包括如下步骤:
步骤401:对消息服务器的可订阅主题进行监测,并将主题监测结果更新到数据库。具体的,通过实时监测可订阅主题,可及时的将新增的主题更行到数据库,便于对可订阅主题进行快速的分配。
步骤402:对用户节点的状态进行监测,并将状态监测结果更新到数据库,数据库用于实时存储已有的用户节点和可订阅主题。具体的,对用户节点的状态进行监测,是为了避免某个用户节点状态发生变化时,影响主题的分配。
步骤403:当监测到可订阅主题和/或用户节点的状态发生变化时,向第一用户节点发送数据分布均衡请求,以使第一用户节点根据数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量;基于当前用户节点的数量和当前可订阅的主题的数量计算每个用户节点对应的平衡目标;将平衡目标发送至所有用户节点,以使用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。
具体地,在一实施例中,在向第一用户节点发送数据分布均衡请求之前,如图5所示,还包括如下步骤:
步骤S51:从数据库中获取当前存储已有的用户节点。
步骤S52:基于用户节点的运行状态,从当前已有的用户节点中筛选第一用户节点。具体的,通过第一用户节点想所有用户节点发布数据分布均衡的指令。
具体地,在一实施例中,上述步骤S52,如图6所示,包括如下步骤:
步骤S521:基于已有的用户节点的运行状态,对用户节点进行分类,得到正常运行的用户节点和非正常运行的用户节点。具体的,对正常运行和非正常运行的用户节点进行分类,非正常运行的用户节点无法正常处理分配的主题,影响效率,因此会将主题分配至正常运行的用户节点,此分类是为了保障后续分配主题过程正常进行,提高分配效率。
步骤S522:从正常运行的用户节点中随机选择一个用户节点作为第一用户节点。具体的,此过程是为了确保发布数据分布均衡指令的用户节点为正常运行的用户节点,确保指令能正常发送。
具体地,在一实施例中,上述的数据分布均衡方法,还包括:
步骤404:对第一用户节点设置分布式锁,以使第一用户节点向所有用户节点发布数据分布均衡指令。具体的,通过分布式锁保证只有一个用户节点在进行数据分布均衡请求的操作,此用户节点会在固定延迟时间之后发布数据分布均衡请求,固定延迟时间主要是为了防止服务不稳定,短时间内频繁上下线。
本发明实施例提供了一种数据分布均衡系统,该系统可以实现上述任意一数据分布均衡方法实施例所提供的方案。该系统包括:至少一用户节点和注册中心,至少一用户节点中包括:第一用户节点,其中:
通过注册中心对消息服务器的可订阅主题进行监测,并将主题监测结果更新到数据库;对用户节点的状态进行监测,并将状态监测结果更新到数据库,数据库用于实时存储已有的用户节点和可订阅主题;当监测到可订阅主题和/或用户节点的状态发生变化时,向第一用户节点发送数据分布均衡请求;
第一用户节点接收注册中心发送的数据分布均衡请求;基于数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,数据库用于实时存储已有的用户节点和可订阅主题;基于当前用户节点的数量和当前可订阅的主题的数量计算每个用户节点对应的平衡目标;将平衡目标发送至所有用户节点,以使用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。
通过上述各个组成部分的协同合作,本发明实施例提供的数据分布均衡系统,在监测到可订阅主题和/或用户节点的状态发生变化时,通过向第一用户节点发送数据分布均衡请求,对每个用户节点的订阅主题的数量进行调整,提升系统的消费能力,从而在新增或剔除消费者节点时,不需要手动调整每个节点要订阅的主题,系统会进行自动平衡,避免订阅的所有主题都集中在一个用户节点;在新增或剔除用户节点时,只要用户节点数不为0,实时更新的数据库就能持续提供服务,保证系统高可用。
在本实施例中还提供了一种数据分布均衡装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种数据分布均衡装置,如图7所示,包括:
接收模块101,用于接收注册中心发送的数据分布均衡请求,详细内容参见上述方法实施例中步骤S101的相关描述,在此不再进行赘述。
获取模块102,用于基于数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,详细内容参见上述方法实施例中步骤S102的相关描述,在此不再进行赘述。
计算模块103,用于基于当前用户节点的数量和当前可订阅的主题的数量计算每个用户节点对应的平衡目标,详细内容参见上述方法实施例中步骤S103的相关描述,在此不再进行赘述。
平衡模块104,用于将平衡目标发送至所有用户节点,以使用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整,详细内容参见上述方法实施例中步骤S104的相关描述,在此不再进行赘述。
本实施例中的数据分布均衡装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。在本实施例中还提供了另一种数据分布均衡装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种数据分布均衡装置,如图8所示,包括:
第一监测模块201,用于对消息服务器的可订阅主题进行监测,并将主题监测结果更新到数据库,详细内容参见上述方法实施例中步骤S401的相关描述,在此不再进行赘述。
第二监测模块202,用于对用户节点的状态进行监测,并将状态监测结果更新到数据库,详细内容参见上述方法实施例中步骤S402的相关描述,在此不再进行赘述。
发送模块203,用于当监测到可订阅主题和/或用户节点的状态发生变化时,向第一用户节点发送数据分布均衡请求,详细内容参见上述方法实施例中步骤S403的相关描述,在此不再进行赘述。
本实施例中的数据分布均衡装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
根据本发明实施例还提供了一种电子设备,如图9所示,该电子设备可以包括处理器901和存储器902,其中处理器901和存储器902可以通过总线或者其他方式连接,图9中以通过总线连接为例。
处理器901可以为中央处理器(Central Processing Unit,CPU)。处理器901还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器902作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明方法实施例中的方法所对应的程序指令/模块。处理器901通过运行存储在存储器902中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器901所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至处理器901。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器902中,当被处理器901执行时,执行上述方法实施例中的方法。
上述电子设备具体细节可以对应参阅上述方法实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (10)

1.一种数据分布均衡方法,应用于第一用户节点,其特征在于,包括:
接收注册中心发送的数据分布均衡请求;
基于所述数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,所述数据库用于实时存储已有的用户节点和可订阅主题;
基于所述当前用户节点的数量和所述当前可订阅的主题的数量计算每个用户节点对应的平衡目标;
将所述平衡目标发送至所有用户节点,以使所述用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。
2.根据权利要求1所述的数据分布均衡方法,其特征在于,所述用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整,包括:
计算所述当前已订阅主题的数量与所述平衡目标的数量差值;
在所述数量差值为负数时,在所述数据库筛选满足数量差值的可订阅主题添加为已订阅主题,所述在所述数据库筛选满足数量差值的可订阅主题不包括所述当前已订阅主题;
在所述数量差值为正数时,在所述当前已订阅主题中筛选满足所述数量差值的已订阅主题取消订阅。
3.根据权利要求1所述的数据分布均衡方法,其特征在于,还包括:
接收用户的查询请求;
基于所述查询请求获取当前已订阅主题信息;
将所述当前已订阅主题信息发送至用户。
4.一种数据分布均衡方法,应用于注册中心,其特征在于,包括:
对消息服务器的可订阅主题进行监测,并将主题监测结果更新到数据库;
对用户节点的状态进行监测,并将状态监测结果更新到数据库,所述数据库用于实时存储已有的用户节点和可订阅主题;
当监测到所述可订阅主题和/或用户节点的状态发生变化时,向第一用户节点发送数据分布均衡请求,以使所述第一用户节点根据所述数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量;基于所述当前用户节点的数量和所述当前可订阅的主题的数量计算每个用户节点对应的平衡目标;将所述平衡目标发送至所有用户节点,以使所述用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。
5.根据权利要求4所述的数据分布均衡方法,其特征在于,在所述向第一用户节点发送数据分布均衡请求之前,还包括:
从所述数据库中获取当前存储已有的用户节点;
基于用户节点的运行状态,从当前已有的用户节点中筛选第一用户节点。
6.根据权利要求5所述的数据分布均衡方法,其特征在于,所述基于用户节点的运行状态,从当前已有的用户节点中筛选第一用户节点,包括:
基于已有的用户节点的运行状态,对用户节点进行分类,得到正常运行的用户节点和非正常运行的用户节点;
从正常运行的用户节点中随机选择一个用户节点作为所述第一用户节点。
7.根据权利要求5所述的数据分布均衡方法,其特征在于,还包括:
对所述第一用户节点设置分布式锁,以使所述第一用户节点向所有用户节点发布数据分布均衡指令。
8.一种数据分布均衡系统,其特征在于,包括:至少一用户节点和注册中心,所述至少一用户节点中包括:第一用户节点,其中,
所述注册中心对消息服务器的可订阅主题进行监测,并将主题监测结果更新到数据库;
对用户节点的状态进行监测,并将状态监测结果更新到数据库,所述数据库用于实时存储已有的用户节点和可订阅主题;
当监测到所述可订阅主题和/或用户节点的状态发生变化时,向第一用户节点发送数据分布均衡请求;
所述第一用户节点接收注册中心发送的数据分布均衡请求;
基于所述数据分布均衡请求,从数据库获取当前用户节点的数量和当前可订阅主题的数量,所述数据库用于实时存储已有的用户节点和可订阅主题;
基于所述当前用户节点的数量和所述当前可订阅的主题的数量计算每个用户节点对应的平衡目标;
将所述平衡目标发送至所有用户节点,以使所述用户节点根据接收到的平衡目标对当前已订阅主题的数量进行调整。
9.一种电子设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-4中任一项所述的数据分布均衡方法,或者执行权利要求5-7中任一项所述的数据分布均衡方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-4中任一项所述的数据分布均衡方法,或者执行权利要求5-7中任一项所述的数据分布均衡方法。
CN202111414811.2A 2021-11-25 2021-11-25 一种数据分布均衡方法、系统及电子设备 Pending CN114116219A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111414811.2A CN114116219A (zh) 2021-11-25 2021-11-25 一种数据分布均衡方法、系统及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111414811.2A CN114116219A (zh) 2021-11-25 2021-11-25 一种数据分布均衡方法、系统及电子设备

Publications (1)

Publication Number Publication Date
CN114116219A true CN114116219A (zh) 2022-03-01

Family

ID=80373316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111414811.2A Pending CN114116219A (zh) 2021-11-25 2021-11-25 一种数据分布均衡方法、系统及电子设备

Country Status (1)

Country Link
CN (1) CN114116219A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116452581A (zh) * 2023-06-13 2023-07-18 常州满旺半导体科技有限公司 一种基于机器视觉的电压源状态智能检测系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210109A1 (en) * 2004-03-22 2005-09-22 International Business Machines Corporation Load balancing mechanism for publish/subscribe broker messaging system
CN110781015A (zh) * 2019-10-28 2020-02-11 深圳前海微众银行股份有限公司 消息队列的分配方法、装置、设备及计算机可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050210109A1 (en) * 2004-03-22 2005-09-22 International Business Machines Corporation Load balancing mechanism for publish/subscribe broker messaging system
CN110781015A (zh) * 2019-10-28 2020-02-11 深圳前海微众银行股份有限公司 消息队列的分配方法、装置、设备及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘耀等: "发布订阅系统中高效消息投递机制的研究", 《网络新媒体技术》 *
王郑合等: "一种优化的Kafka消费者/客户端负载均衡算法", 《计算机应用研究》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116452581A (zh) * 2023-06-13 2023-07-18 常州满旺半导体科技有限公司 一种基于机器视觉的电压源状态智能检测系统及方法
CN116452581B (zh) * 2023-06-13 2023-08-25 常州满旺半导体科技有限公司 一种基于机器视觉的电压源状态智能检测系统及方法

Similar Documents

Publication Publication Date Title
US11032210B2 (en) Software load balancer to maximize utilization
US20210337046A1 (en) Intelligent scheduling method, terminal device, edge node cluster and intelligent scheduling system
US9769032B1 (en) Cluster instance management system
CN110858843B (zh) 业务请求处理方法、装置及计算机可读存储介质
CN108696374B (zh) 更新客户端配置的方法和装置
US10389801B2 (en) Service request processing method, related apparatus, and system
CN106911582B (zh) 一种基于Nginx服务器的实时流量控制方法及系统
CN111367662B (zh) 一种负载均衡方法、装置及系统
CN110519183B (zh) 一种节点限速的方法、装置、电子设备及存储介质
WO2023050901A1 (zh) 一种负载均衡方法、装置、设备、计算机存储介质和程序
US20070265976A1 (en) License distribution in a packet data network
CN112953840A (zh) 一种限流控制方法、网关设备及限流控制系统
CN112711479A (zh) 服务器集群的负载均衡系统、方法、装置和存储介质
CN111949404B (zh) 调整服务器负载的方法、装置和相关设备
CN114116219A (zh) 一种数据分布均衡方法、系统及电子设备
CN110138808B (zh) 基于cdn的反劫持下载方法和系统
CN111506443A (zh) 服务调用方法、装置、设备和存储介质
CN114531373A (zh) 节点状态检测方法、节点状态检测装置、设备及介质
CN109413117B (zh) 分布式数据计算方法、装置、服务器及计算机存储介质
CN110336884B (zh) 服务器集群更新方法和装置
CN105338037A (zh) 一种动态调度方法及系统
CN104168207A (zh) 负载调节方法及系统
CN109962941B (zh) 通信方法、装置以及服务器
CN113835905B (zh) 一种消息队列负载均衡方法、装置、电子设备及介质
US20180367448A1 (en) Dataflow consistency verification

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