面向实时流处理的负载均衡方法、电子设备及存储介质技术

技术编号:24455015 阅读:24 留言:0更新日期:2020-06-10 15:17
本发明专利技术公开了一种面向实时流处理的负载均衡方法、电子设备及存储介质,该方法为:使根消费者将原始消息按资源/子资源指标组进行切片并汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算后返回给根消费者;使根消费者将消息片传递给业务消费者按单个资源/子资源指标拆分消息片并汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算后批量传送给对应的业务消费者进行处理。该方法能按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。

Load balancing methods, electronic devices and storage media for real-time stream processing

【技术实现步骤摘要】
面向实时流处理的负载均衡方法、电子设备及存储介质
本专利技术涉及工作站负载均衡
,尤其涉及一种面向实时流处理的负载均衡方法、电子设备及存储介质。
技术介绍
随着监控对象、监控数据量日益巨量化,如何实时处理海量数据是最为核心的问题。我们面临的问题是必须依据数据消息做完整事务处理,而每个消息的块包括的监控指标数量存在巨大差异,从而导致并发数据处理负载不均衡,有的工作者处理超负荷宕机,有的工作者实际处理量非常少,浪费了大量cpu和内存的宝贵资源
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一在于提供一种面向实时流处理的负载均衡方法,其能按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。本专利技术的目的之二在于提供一种电子设备,其能按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。本专利技术的目的之三在于提供一种计算机可读存储介质,该存储介质中的程序运行时能实现按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。本专利技术的目的之一采用如下技术方案实现:一种面向实时流处理的负载均衡方法,包括以下步骤:使根消费者将原始消息按资源/子资源指标组进行切片以形成多个消息片,一个消息片包含多个资源/子资源指标消息;将所述消息片汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算以根据消息池中的消息片总量和根消费者数量进行动态平均分配;将负载均衡好的消息片均匀返回给本次参与的所有根消费者,以使所述根消费者将所述消息片传递给业务消费者进而所述业务消费者将每个所述消息片按单个资源/子资源指标进行拆分以形成多个消息块;将所拆分得到的所有消息块汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算以根据消息块总量和业务消费者数量进行动态分配;按照预设数量,将负载均衡好的消息按批量传送给对应的业务消费者进行处理。进一步地,所述将负载均衡好的消息按批量传送给对应的业务消费者进行处理具体为:将负载均衡好的消息按批量上传至数据库,然后调度对应的业务消费者处理各自的消息。进一步地,所述根据消息片总量和根消费者数量进行动态平均分配具体为:当消息池中的消息片总量超过第一预设阈值时,每个根消费者对应的消息片数量等于消息片总量除以根消费者数量;当消息池中的消息片总量未超过第一预设阈值而所述消息处理间隙时间已经达到预设时间段时,根据根消费者的工作性能分配对应数量的消息片以保障每个根消费者的工作性价比。进一步地,所述第一预设阈值根据原始消息表的列数、根消费者个数以及业务消费者的最佳消费值设定;第二预设阈值根据业务消费者的个数以及业务消费者的最佳消费值设定。进一步地,所述第一预设阈值为2万,所述第二预设阈值为200万。进一步地,所述预设时间段为10秒。进一步地,所述根据根消费者的工作性能分配对应数量的消息片具体为:确定根消费者的最优工作量,根据所述最优工作量逐一给各个根消费者分配对应数量的消息片直至消息片分配完为止。进一步地,所述预设数量根据数据库的最佳存储方式来设定,所述预设数量设为1万个。本专利技术的目的之二采用如下技术方案实现:一种电子设备,包括处理器和存储器,所述存储器存储有可执行计算机程序,所述处理器可读取所述存储器的计算机程序并运行以实现如上所述的面向实时流处理的负载均衡方法。本专利技术的目的之三采用如下技术方案实现:一种计算机可读存储介质,所述计算机可读存储介质存储有可执行计算机程序,所述计算机程序运行时可实现如上所述的面向实时流处理的负载均衡方法。相比现有技术,本专利技术的有益效果在于:该面向实时流处理的负载均衡方法采用两次负载均衡,第一次是在按照资源/子资源指标组进行切片后均衡分配返回给根消费者,第二次是在按照单个指标来进行拆分后再均衡分配给各个业务消费者进行消息处理;该方法实现了按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。附图说明图1为本专利技术提供的一种面向实时流处理的负载均衡方法的流程示意图;图2为应用本专利技术提供的一种面向实时流处理的负载均衡方法的负载均衡实施过程示例图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。请参阅图1和图2,其为一种面向实时流处理的负载均衡方法的流程示意图,包括以下步骤:S1、使根消费者将原始消息按资源/子资源指标组进行切片以形成多个消息片,一个消息片包含多个资源/子资源指标消息;S2、将所述消息片汇总到消息池,,当消息处理间隙时间达到预设时间段时或者消息池中的消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算以根据消息池中的消息片总量和根消费者数量进行动态平均分配;S3、将负载均衡好的消息片均匀返回给本次参与的所有根消费者,以使所述根消费者将所述消息片传递给业务消费者进而所述业务消费者将每个所述消息片按单个资源/子资源指标进行拆分以形成多个消息块;S4、将所拆分得到的所有消息块汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算以根据消息块总量和业务消费者数量进行动态分配;S5、按照预设数量(该数值根据数据库最佳存储方式来设定,在本实施例中,所述预设数量设为1万个),将负载均衡好的消息按批量传送给对应的业务消费者进行处理。该面向实时流处理的负载均衡方法采用两次负载均衡,第一次是在按照资源/子资源指标组进行切片后均衡分配返回给根消费者,第二次是在按照单个指标来进行拆分后再均衡分配给各个业务消费者进行消息处理;该方法实现了按最小指标单元进行消息重分配,使并发的多个计算工作站之间的任务相当,实现多个并发工作站的数据处理负载均衡。需要说明的是,按资源/子资源指标组进行切片即为将原始消息表按行进行切片,按单个资源/子资源指标进行拆分即为将每个消息片(原始消息表中的一行)按列进行切块。作为一种优选的实施方式,所述将负载均衡好的消息按批量传送给对应的业务消费者进行处理具体为:将负载均衡好的消息按批量进行数据库操作,以将消息批量上传至数据库,然后调度对应的业务消费者处理各自的消息。这样可以保障每次并行的work节点都在进行等量的指标处理。比如数据库1万个一批存入是最佳存储方式,那么以1万个消息为一批,批量上传至数据库,在这个数量内也是优先保证消费者1万个消息一消费。作为一种优选的实施方式,所述根据消息片总量和本文档来自技高网...

【技术保护点】
1.一种面向实时流处理的负载均衡方法,其特征在于,包括以下步骤:/n使根消费者将原始消息按资源/子资源指标组进行切片以形成多个消息片,一个消息片包含多个资源/子资源指标消息;/n将所述消息片汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算以根据消息池中的消息片总量和根消费者数量进行动态平均分配;/n将负载均衡好的消息片均匀返回给本次参与的所有根消费者,以使所述根消费者将所述消息片传递给业务消费者进而所述业务消费者将每个所述消息片按单个资源/子资源指标进行拆分以形成多个消息块;/n将所拆分得到的所有消息块汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算以根据消息块总量和业务消费者数量进行动态分配;/n按照预设数量,将负载均衡好的消息按批量传送给对应的业务消费者进行处理。/n

【技术特征摘要】
1.一种面向实时流处理的负载均衡方法,其特征在于,包括以下步骤:
使根消费者将原始消息按资源/子资源指标组进行切片以形成多个消息片,一个消息片包含多个资源/子资源指标消息;
将所述消息片汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息片总量达到第一预设阈值时,进行第一次消息池负载均衡计算以根据消息池中的消息片总量和根消费者数量进行动态平均分配;
将负载均衡好的消息片均匀返回给本次参与的所有根消费者,以使所述根消费者将所述消息片传递给业务消费者进而所述业务消费者将每个所述消息片按单个资源/子资源指标进行拆分以形成多个消息块;
将所拆分得到的所有消息块汇总到消息池,当消息处理间隙时间达到预设时间段时或者消息池中的消息块总量达到第二预设阈值时,进行第二次消息池负载均衡计算以根据消息块总量和业务消费者数量进行动态分配;
按照预设数量,将负载均衡好的消息按批量传送给对应的业务消费者进行处理。


2.如权利要求1所述的面向实时流处理的负载均衡方法,其特征在于,所述将负载均衡好的消息按批量传送给对应的业务消费者进行处理具体为:将负载均衡好的消息按批量上传至数据库,然后调度对应的业务消费者处理各自的消息。


3.如权利要求1所述的面向实时流处理的负载均衡方法,其特征在于,所述根据消息片总量和根消费者数量进行动态平均分配具体为:当消息池中的消息片总量达到第一预设阈值时,每个根消费者对应的消息片数量等于消息片总量除以根消费者数量;当消息池中的消息片总量未超过第一预设阈值而所述消息处理间隙时间已经达到...

【专利技术属性】
技术研发人员:詹岭刘晓华蔡幼忠
申请(专利权)人:广州赢领信息科技有限公司
类型:发明
国别省市:广东;44

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

1