CN111258727B - 面向实时流处理的负载均衡方法、电子设备及存储介质 - Google Patents
面向实时流处理的负载均衡方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111258727B CN111258727B CN201911213322.3A CN201911213322A CN111258727B CN 111258727 B CN111258727 B CN 111258727B CN 201911213322 A CN201911213322 A CN 201911213322A CN 111258727 B CN111258727 B CN 111258727B
- Authority
- CN
- China
- Prior art keywords
- message
- root
- load balancing
- consumers
- real
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Abstract
本发明公开了一种面向实时流处理的负载均衡方法、电子设备及存储介质,该方法为:使根消费者将原始消息按资源/子资源指标组进行切片并汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算后返回给根消费者;使根消费者将消息片传递给业务消费者按单个资源/子资源指标拆分消息片并汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算后批量传送给对应的业务消费者进行处理。该方法能按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。
Description
技术领域
本发明涉及工作站负载均衡技术领域,尤其涉及一种面向实时流处理的负载均衡方法、电子设备及存储介质。
背景技术
随着监控对象、监控数据量日益巨量化,如何实时处理海量数据是最为核心的问题。我们面临的问题是必须依据数据消息做完整事务处理,而每个消息的块包括的监控指标数量存在巨大差异,从而导致并发数据处理负载不均衡,有的工作者处理超负荷宕机,有的工作者实际处理量非常少,浪费了大量cpu和内存的宝贵资源
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种面向实时流处理的负载均衡方法,其能按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。
本发明的目的之二在于提供一种电子设备,其能按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。
本发明的目的之三在于提供一种计算机可读存储介质,该存储介质中的程序运行时能实现按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。
本发明的目的之一采用如下技术方案实现:
一种面向实时流处理的负载均衡方法,包括以下步骤:
使根消费者将原始消息按资源/子资源指标组进行切片以形成多个消息片,一个消息片包含多个资源/子资源指标消息;
将所述消息片汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算以根据消息池中的消息片总量和根消费者数量进行动态平均分配;
将负载均衡好的消息片均匀返回给本次参与的所有根消费者,以使所述根消费者将所述消息片传递给业务消费者进而所述业务消费者将每个所述消息片按单个资源/子资源指标进行拆分以形成多个消息块;
将所拆分得到的所有消息块汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算以根据消息块总量和业务消费者数量进行动态分配;
按照预设数量,将负载均衡好的消息按批量传送给对应的业务消费者进行处理。
进一步地,所述将负载均衡好的消息按批量传送给对应的业务消费者进行处理具体为:将负载均衡好的消息按批量上传至数据库,然后调度对应的业务消费者处理各自的消息。
进一步地,所述根据消息片总量和根消费者数量进行动态平均分配具体为:当消息池中的消息片总量超过第一预设阈值时,每个根消费者对应的消息片数量等于消息片总量除以根消费者数量;当消息池中的消息片总量未超过第一预设阈值而所述消息处理间隙时间已经达到预设时间段时,根据根消费者的工作性能分配对应数量的消息片以保障每个根消费者的工作性价比。
进一步地,所述第一预设阈值根据原始消息表的列数、根消费者个数以及业务消费者的最佳消费值设定;第二预设阈值根据业务消费者的个数以及业务消费者的最佳消费值设定。
进一步地,所述第一预设阈值为2万,所述第二预设阈值为200万。
进一步地,所述预设时间段为10秒。
进一步地,所述根据根消费者的工作性能分配对应数量的消息片具体为:确定根消费者的最优工作量,根据所述最优工作量逐一给各个根消费者分配对应数量的消息片直至消息片分配完为止。
进一步地,所述预设数量根据数据库的最佳存储方式来设定,所述预设数量设为1万个。
本发明的目的之二采用如下技术方案实现:
一种电子设备,包括处理器和存储器,所述存储器存储有可执行计算机程序,所述处理器可读取所述存储器的计算机程序并运行以实现如上所述的面向实时流处理的负载均衡方法。
本发明的目的之三采用如下技术方案实现:
一种计算机可读存储介质,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现如上所述的面向实时流处理的负载均衡方法。
相比现有技术,本发明的有益效果在于:
该面向实时流处理的负载均衡方法采用两次负载均衡,第一次是在按照资源/子资源指标组进行切片后均衡分配返回给根消费者,第二次是在按照单个指标来进行拆分后再均衡分配给各个业务消费者进行消息处理;该方法实现了按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。
附图说明
图1为本发明提供的一种面向实时流处理的负载均衡方法的流程示意图;
图2为应用本发明提供的一种面向实时流处理的负载均衡方法的负载均衡实施过程示例图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
请参阅图1和图2,其为一种面向实时流处理的负载均衡方法的流程示意图,包括以下步骤:
S1、使根消费者将原始消息按资源/子资源指标组进行切片以形成多个消息片,一个消息片包含多个资源/子资源指标消息;
S2、将所述消息片汇总到消息池,,当消息处理间隙时间达到预设时间段时或者消息池中的消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算以根据消息池中的消息片总量和根消费者数量进行动态平均分配;
S3、将负载均衡好的消息片均匀返回给本次参与的所有根消费者,以使所述根消费者将所述消息片传递给业务消费者进而所述业务消费者将每个所述消息片按单个资源/子资源指标进行拆分以形成多个消息块;
S4、将所拆分得到的所有消息块汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算以根据消息块总量和业务消费者数量进行动态分配;
S5、按照预设数量(该数值根据数据库最佳存储方式来设定,在本实施例中,所述预设数量设为1万个),将负载均衡好的消息按批量传送给对应的业务消费者进行处理。
该面向实时流处理的负载均衡方法采用两次负载均衡,第一次是在按照资源/子资源指标组进行切片后均衡分配返回给根消费者,第二次是在按照单个指标来进行拆分后再均衡分配给各个业务消费者进行消息处理;该方法实现了按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。
需要说明的是,按资源/子资源指标组进行切片即为将原始消息表按行进行切片,按单个资源/子资源指标进行拆分即为将每个消息片(原始消息表中的一行)按列进行切块。
作为一种优选的实施方式,所述将负载均衡好的消息按批量传送给对应的业务消费者进行处理具体为:将负载均衡好的消息按批量进行数据库操作,以将消息批量上传至数据库,然后调度对应的业务消费者处理各自的消息。这样可以保障每次并行的work节点都在进行等量的指标处理。比如数据库1万个一批存入是最佳存储方式,那么以1万个消息为一批,批量上传至数据库,在这个数量内也是优先保证消费者1万个消息一消费。
作为一种优选的实施方式,所述根据消息片总量和根消费者数量进行动态平均分配具体为:当消息池中的消息片总量超过预设阈值时,每个根消费者对应的消息片数量等于消息片总量除以根消费者数量;当消息池中的消息片总量未超过第一预设阈值而所述消息处理间隙时间已经达到预设时间段时,根据根消费者的工作性能分配对应数量的消息片以保障每个根消费者的工作性价比。具体地,所述第一预设阈值根据原始消息表的列数、根消费者个数以及业务消费者的最佳消费值设定;第二预设阈值根据业务消费者的个数以及业务消费者的最佳消费值设定;在本实施例中,根消费者有20个,消息一般列数10列,业务消费最佳消费是1万个,那么第一预设阈值就是2万个,2万个以内消息总量,就尽量保证每个根消费者拿回的是1千个消息,余下的给一个根消费者拿回;超过2万个就每2万个一批轮回。也就是说,所述第一预设阈值设为2万;类似地,所述第二预设阈值设为200万。此外,所述预设时间段设为10秒。
此外,所述根据根消费者的工作性能分配对应数量的消息片具体为:确定根消费者的最优工作量,根据所述最优工作量逐一给各个根消费者分配对应数量的消息片直至消息片分配完为止。通过该方式,使得工作中的每个根消费者都能处于较优的工作状态,避免出现大量根消费者都处于工作中但各自的处理量都非常少,造成资源的浪费。
本发明还提供了一种电子设备,包括处理器和存储器,所述存储器存储有可执行计算机程序,所述处理器可读取所述存储器的计算机程序并运行以实现如上所述的面向实时流处理的负载均衡方法。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现如上所述的面向实时流处理的负载均衡方法。
该计算机可读存储介质存储有计算机程序,本发明的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在该计算机存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机存储介质不包括电载波信号和电信信号。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (9)
1.一种面向实时流处理的负载均衡方法,其特征在于,包括以下步骤:
使根消费者将原始消息按资源/子资源指标组进行切片以形成多个消息片,一个消息片包含多个资源/子资源指标消息;
将所述消息片汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算以根据消息池中的消息片总量和根消费者数量进行动态平均分配;
将负载均衡好的消息片均匀返回给本次参与的所有根消费者,以使所述根消费者将所述消息片传递给业务消费者进而所述业务消费者将每个所述消息片按单个资源/子资源指标进行拆分以形成多个消息块;
将所拆分得到的所有消息块汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算以根据消息块总量和业务消费者数量进行动态分配;
按照预设数量,将负载均衡好的消息按批量传送给对应的业务消费者进行处理;
其中,所述根据消息池中的消息片总量和根消费者数量进行动态平均分配具体为:当消息池中的消息片总量达到第一预设阈值时,每个根消费者对应的消息片数量等于消息片总量除以根消费者数量;当消息池中的消息片总量未超过第一预设阈值而所述消息处理间隙时间已经达到预设时间段时,根据根消费者的工作性能来分配对应数量的消息片以保障每个根消费者的工作性价比。
2.如权利要求1所述的面向实时流处理的负载均衡方法,其特征在于,所述将负载均衡好的消息按批量传送给对应的业务消费者进行处理具体为:将负载均衡好的消息按批量上传至数据库,然后调度对应的业务消费者处理各自的消息。
3.如权利要求1所述的面向实时流处理的负载均衡方法,其特征在于,所述第一预设阈值根据原始消息表的列数、根消费者个数以及业务消费者的最佳消费值设定;第二预设阈值根据业务消费者的个数以及业务消费者的最佳消费值设定。
4.如权利要求3所述的面向实时流处理的负载均衡方法,其特征在于,所述第一预设阈值为2万,所述第二预设阈值为200万。
5.如权利要求1所述的面向实时流处理的负载均衡方法,其特征在于,所述预设时间段为10秒。
6.如权利要求1所述的面向实时流处理的负载均衡方法,其特征在于,所述根据根消费者的工作性能分配对应数量的消息片具体为:确定根消费者的最优工作量,根据所述最优工作量逐一给各个根消费者分配对应数量的消息片直至消息片分配完为止。
7.如权利要求1所述的面向实时流处理的负载均衡方法,其特征在于,所述预设数量根据数据库的最佳存储方式来设定,所述预设数量设为1万个。
8.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有可执行计算机程序,所述处理器可读取所述存储器的计算机程序并运行以实现如权利要求1至7任一项所述的面向实时流处理的负载均衡方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现如权利要求1至7任一项所述的面向实时流处理的负载均衡方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911213322.3A CN111258727B (zh) | 2019-12-02 | 2019-12-02 | 面向实时流处理的负载均衡方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911213322.3A CN111258727B (zh) | 2019-12-02 | 2019-12-02 | 面向实时流处理的负载均衡方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258727A CN111258727A (zh) | 2020-06-09 |
CN111258727B true CN111258727B (zh) | 2023-06-16 |
Family
ID=70946724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911213322.3A Active CN111258727B (zh) | 2019-12-02 | 2019-12-02 | 面向实时流处理的负载均衡方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111258727B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935622A (zh) * | 2014-03-21 | 2015-09-23 | 阿里巴巴集团控股有限公司 | 一种用于消息分配、消费的方法及装置,用于消息处理的系统 |
CN105338061A (zh) * | 2015-09-29 | 2016-02-17 | 华中科技大学 | 一种轻量级消息中间件的实现方法与系统 |
CN108769162A (zh) * | 2018-05-16 | 2018-11-06 | 上海携程商务有限公司 | 分布式消息均衡处理方法、装置、电子设备、存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055694A1 (en) * | 2003-09-04 | 2005-03-10 | Hewlett-Packard Development Company, Lp | Dynamic load balancing resource allocation |
-
2019
- 2019-12-02 CN CN201911213322.3A patent/CN111258727B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104935622A (zh) * | 2014-03-21 | 2015-09-23 | 阿里巴巴集团控股有限公司 | 一种用于消息分配、消费的方法及装置,用于消息处理的系统 |
CN105338061A (zh) * | 2015-09-29 | 2016-02-17 | 华中科技大学 | 一种轻量级消息中间件的实现方法与系统 |
CN108769162A (zh) * | 2018-05-16 | 2018-11-06 | 上海携程商务有限公司 | 分布式消息均衡处理方法、装置、电子设备、存储介质 |
Non-Patent Citations (1)
Title |
---|
动态消息队列负载均衡策略的研究与应用;嵇智辉等;《计算机工程》;20090420(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111258727A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109783224B (zh) | 基于负载调配的任务分配方法、装置及终端设备 | |
US11556541B2 (en) | Data query method, apparatus and device | |
US8504556B1 (en) | System and method for diminishing workload imbalance across multiple database systems | |
CN110351375B (zh) | 一种数据处理方法、装置及计算机装置、可读存储介质 | |
CN110119876B (zh) | 工单处理方法及装置 | |
CN105975340A (zh) | 一种虚拟机应用分配部署算法 | |
CN111045808B (zh) | 一种分布式网络任务调度方法及装置 | |
CN108804383B (zh) | 基于度量空间的支撑点并行枚举方法及装置 | |
CN111694663A (zh) | 服务器集群的负载均衡方法、装置及系统 | |
CN105430027A (zh) | 基于多资源尺度的负载均衡动态预调度方法 | |
CN111491027A (zh) | 均衡负载方法、均衡负载装置和可读存储介质 | |
CN111258727B (zh) | 面向实时流处理的负载均衡方法、电子设备及存储介质 | |
CN102098223B (zh) | 节点设备调度方法、装置和系统 | |
CN104468710A (zh) | 一种混合大数据处理系统及处理方法 | |
CN109753501A (zh) | 一种离线状态的数据显示方法、装置、设备和存储介质 | |
CN105550025A (zh) | 分布式基础设施即服务(IaaS)调度方法及系统 | |
CN106850822A (zh) | 负载均衡方法、设备及分布式系统 | |
CN105357317A (zh) | 一种基于多客户端轮循排队的数据上传方法及系统 | |
WO2018205890A1 (zh) | 一种分布式系统的任务分配方法及系统及其计算机可读存储介质和计算机设备 | |
US20230300086A1 (en) | On-demand resource capacity in a serverless function-as-a-service infrastructure | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
Oonhawat et al. | Hotspot management strategy for real-time log data in MongoDB | |
CN110019274A (zh) | 一种数据库系统以及查询数据库的方法和装置 | |
CN114003345A (zh) | 一种基于云原生的Kubernetes平台健康度确定方法和装置 | |
Sookhtsaraei et al. | A multi objective virtual machine placement method for reduce operational costs in cloud computing by genetic |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |