一种任务均衡消费方法、系统及电子设备与流程

文档序号:34325593发布日期:2023-06-01 03:06阅读:41来源:国知局
一种任务均衡消费方法、系统及电子设备与流程

本发明涉及数据处理领域,尤其涉及一种任务均衡消费方法、系统及电子设备。


背景技术:

1、任务均衡是指基于任务调度的负载均衡策略,通过将任务均衡的分配到资源节点上来实现各服务器间负载的相对均衡,从而降低任务占用资源的时间,以充分利用系统资源来实现任务的执行。

2、现有的任务均衡消费方法通常是采用多线程分发的方式将各个任务分发到对应的服务节点进行消费处理,但这种方式只是把下游消费服务进行均衡处理,而没有考虑到上游任务消费的服务能力,因此当任务中心随着业务的不断增加,会造成任务堵塞,容灾能力差甚至整个业务系统崩盘等问题,极大的降低了待执行任务的执行效率。


技术实现思路

1、本发明提供一种任务均衡消费方法、系统及电子设备,其主要目的在于提高待执行任务的执行效率。

2、为实现上述目的,本发明提供的一种任务均衡消费方法,包括:

3、在预先构建的注册中心中部署至少两个服务节点,并配置每个所述服务节点的节点序列号;

4、查询每个所述服务节点的待执行任务,根据所述待执行任务,计算每个所述服务节点的任务分发量;

5、查询每个所述服务节点的当前负载总量,计算每个所述服务节点的当前负载总量与所述任务分发量的当前差值;

6、根据所述当前差值,计算所述待执行任务对应的哈希槽位,并识别所述哈希槽位与所述节点序列号之间的关联关系;

7、根据所述关联关系,确定待执行任务与所述节点序列号的映射关系,以生成所述待执行任务与所述节点序列号的映射关系表;

8、基于所述映射关系表,从所述服务节点确定所述待执行任务中每个任务对应的任务执行节点,并采用消息队列的方式将所述待执行任务分发至所述任务执行节点中,以对所述待执行任务进行任务处理,得到任务执行结果。

9、可选地,所述在预先构建的注册中心中部署至少两个服务节点,包括:

10、在预先构建的注册中心中确定任务执行时的节点服务器和节点环境;

11、基于所述节点环境,构建所述节点服务器的网络拓扑位置,并基于所述网络拓扑位置,部署任务执行时的服务节点。

12、可选地,所述根据所述当前差值,计算所述待执行任务对应的哈希槽位,包括:

13、在所述当前差值大于预设阈值时,删减所述待执行任务对应的服务节点,得到删减节点,并根据所述删减节点,利用哈希槽算法,计算所述待执行任务对应的哈希槽位,得到哈希槽位;

14、在所述当前差值不大于所述预设阈值时,增添所述待执行任务对应的服务节点,得到增添节点,并根据所述增添节点,利用哈希槽算法,计算所述待执行任务对应的哈希槽位,得到哈希槽位。

15、可选地,所述哈希槽算法,包括:

16、s=crc16(key)%h

17、其中,s表示哈希槽位,crc16表示校验算法,key表示待执行任务的任务信息,h表示待执行任务对应删减节点或增添节点的当前负载总量,%表示求模符号。

18、可选地,所识根据所述关联关系,确定所述待执行任务与所述节点序列号的映射关系,包括:

19、利用下述公式计算所述待执行任务与所述节点序列号的映射关系:

20、

21、其中,g:t→n表示待执行任务集t与节点序列号集n的映射关系,tj表示待执行任务集中的第j个待执行任务,k表示节点序列号,if表示条件函数,sj表示第j个待执行任务对应的哈希槽位,q表示哈希槽位值,ni-1表示节点序列号对应第i-1个服务节点的当前负载总量,∑表示求和符号。

22、可选的,所述基于所述映射关系表,从所述服务节点确定所述待执行任务中每个任务对应的任务执行节点,包括:

23、基于所述映射关系表,查询所述待执行任务中每个任务对应的服务节点;

24、根据所述服务节点,查询所述服务节点的任务执行节点类型,将所述待执行任务中每个任务与所述任务执行节点类型进行匹配,得到匹配结果;

25、在匹配结果成功时,将所述待执行任务中每个任务分发到所述服务节点对应的类型匹配的任务执行节点中;

26、在匹配结果不成功时,计算所述待执行任务中每个任务与所述任务执行节点类型的键值信息之间的相似度,将所述相似度最大的所述任务执行节点,作为所述待执行任务中每个任务对应的任务执行节点。

27、可选地,所述采用消息队列的方式将所述待执行任务分发至所述任务执行节点中,包括:

28、配置所述待执行任务在所述消息队列与所述服务节点之间的分发方式;

29、配置所述待执行任务在所述消息队列与所述服务节点之间的分发路径;

30、根据所述分发方式和所述分发路径,将所述待执行任务分发至所述任务执行节点中。

31、可选地,所述配置所述待执行任务在所述消息队列与所述服务节点之间的分发方式,包括:

32、分别获取所述待执行任务在所述消息队列与所述服务节点的通信端口,以分别提取消息队列通信协议与服务节点通信协议;

33、识别所述消息队列通信协议与所述服务节点通信协议中的通信差异参数,利用通信协议单元,将所述通信差异参数转换成通信同步参数;

34、根据所述通信同步参数,生成所述消息队列与所述服务节点的同步协议,并将所述同步协议作为所述待执行任务在所述消息队列与所述服务节点之间的分发方式。

35、为了解决上述问题,本发明还提供一种任务均衡消费系统,所述系统包括:

36、服务节点部署模块,用于在预先构建的注册中心中部署至少两个服务节点,并配置每个所述服务节点的节点序列号;

37、任务分发量计算模块,用于查询每个所述服务节点的待执行任务,根据所述待执行任务,计算每个所述服务节点的任务分发量;

38、任务差值计算模块,用于查询每个所述服务节点的当前负载总量,计算每个所述服务节点的当前负载总量与所述任务分发量的当前差值;

39、关联关系识别模块,用于根据所述当前差值,计算所述待执行任务对应的哈希槽位,并识别所述哈希槽位与所述节点序列号之间的关联关系;

40、映射关系表生成模块,用于根据所述关联关系,确定待执行任务与所述节点序列号的映射关系,以生成所述待执行任务与所述节点序列号的映射关系表;

41、待执行任务处理模块,用于基于所述映射关系表,从所述服务节点确定所述待执行任务中每个任务对应的任务执行节点,并采用消息队列的方式将所述待执行任务分发至所述任务执行节点中,以对所述待执行任务进行任务处理,得到任务执行结果。

42、为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:

43、至少一个处理器;以及,

44、与所述至少一个处理器通信连接的存储器;其中,

45、所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以实现上述所述的任务均衡消费方法。

46、可以看出,本发明实施例通过在预先构建的注册中心中部署至少两个服务节点可以为后续任务执行提供服务对象,并将直接影响覆盖网络的服务质量和运行效率,并配置所述服务节点的节点序列号可以为后续将任务分发到对应的节点序列号,以提高任务分发的效率,查询每个所述服务节点的待执行任务可以确定所述待执行任务的服务类型和任务分发数量,以为后续分发到对应的任务执行节点,并计算每个所述服务节点的任务分发量可以为后续比较当前负载总量与所述任务分发量的当前差值,以做出对应的服务节点调整方案;其次,本发明实施例通过查询每个所述服务节点的当前负载总量可以为后续计算所有服务节点的当前负载总量提供计算依据,并计算每个所述服务节点的当前负载总量与所述任务分发量的当前差值可以作为后续增删服务节点的判定对象,根据所述当前差值,计算所述待执行任务对应的哈希槽位可以通过根据所述当前差值做条件判断,以自适应调整服务节点数量,并分配所述待执行任务的哈希槽位,通过识别所述哈希槽位与所述节点序列号之间的关联关系为后续建立待执行任务与服务节点的对应关系提供保障;进一步地,本发明实施例通过所述根据所述关联关系,确定待执行任务与所述节点序列号的映射关系,以生成所述待执行任务与所述节点序列号的映射关系表以为后续将待执行任务分发到对应节点序列号的服务节点中提供实施规则,基于所述映射关系表,从所述服务节点确定所述待执行任务中每个任务对应的任务执行节点可以后续将所述待执行任务中每个任务一对一的负载均衡的分发到具有映射关系的所述服务节点对应的任务执行节点中,以实现任务的执行,基于所述任务执行节点,采用消息队列的方式将所述待执行任务分发至所述任务执行节点中以实现所述待执行任务负载均衡的分发至各任务执行节点上,进而提高服务的稳定性和执行效率,对所述待执行任务进行任务处理,得到任务执行结果可以对所述待执行任务进行最终的任务执行处理,以得到最终任务执行结果,实现问题意图。因此,本发明实施例提出的一种任务均衡消费方法可以提高待执行任务的执行效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1