一种负载均衡方法、装置和批处理系统与流程

文档序号:30907603发布日期:2022-07-27 00:28阅读:56来源:国知局
一种负载均衡方法、装置和批处理系统与流程

1.本技术涉及分布式领域,特别是涉及一种负载均衡方法、装置和批处理系统。


背景技术:

2.随着计算机技术的发展,许多繁琐但单调的工作由计算机取代人工处理,企业在面对成百上千个任务时,可以使用多个批处理节点(如批处理服务器)共同对任务进行批量处理。
3.对于成百上千个任务,服务器对每个任务进行处理的时长各不相同,且处理时长不固定,无法预测针对每个任务的处理时长。在任务分配给多个批处理节点的情况下,容易出现各批处理节点间处理的任务量(负载)不均衡的情况,例如,某次将批处理任务均匀分配给各个批处理节点,其中一些节点处理任务花费的时间都很长,另一些节点处理任务花费的时间都很短,一段时间后,一些节点的当前负载量(即节点正在处理和等待处理任务量)多,另一些节点的当前负载量少。此时,再一次进行批处理任务分配时仍采用均匀分配给各个批处理节点的方式,那么就会导致各批处理节点间处理任务量不均衡的问题。
4.因此,上述对任务的处理方式中,容易出现各批处理节点间负载不均衡的情况,无法发挥多个批处理节点共同对任务进行批量的处理的性能优势。


技术实现要素:

5.基于上述问题,本技术提供了一种负载均衡方法、装置和批处理系统,以实现各批处理节点间处理任务量均衡。
6.本技术公开了如下技术方案:
7.本技术第一方面提供一种负载均衡方法,包括:
8.获取各批处理节点的负载信息,所述各批处理节点的负载信息包括:各批处理节点的当前负载量;
9.根据所述各批处理节点的当前负载量,确定所述各批处理节点的当前负载量中的最大值;确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点;
10.将任务分配给所述目标节点。
11.在一个可能的实现方式中,所述确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点,包括:
12.将各批处理节点的当前负载量进行排序,得到排序结果;
13.根据所述排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点。
14.在一个可能的实现方式中,所述各批处理节点的负载信息还包括:各批处理节点的最高负载量;
15.所述根据所述排序结果,确定所述各批处理节点中的当前负载量低于所述最大值
的至少一个批处理节点为目标节点包括:
16.根据所述排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的、且当前负载量小于对应批处理节点的最高负载量的至少一个批处理节点为目标节点。
17.在一个可能的实现方式中,所述方法还包括:在所述目标节点接受任务后,更新的当前负载量。
18.在一个可能的实现方式中,所述方法还包括:在每个批处理节点每次处理完任务后,更新的对应的当前负载量。
19.在一个可能的实现方式中,所述将任务分配给所述目标节点,包括:
20.根据所述目标节点的地址,将处理任务分配给所述目标节点。
21.本技术第二方面提供一种负载均衡装置,包括:
22.负载信息获取单元,用于获取各批处理节点的负载信息,所述各批处理节点的负载信息包括:各批处理节点的当前负载量;
23.目标节点获得单元,用于根据所述各批处理节点的当前负载量,确定所述各批处理节点的当前负载量中的最大值;确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点;
24.发送单元,用于将任务分配给所述目标节点。
25.在一个可能的实现方式中,所述目标节点获得单元,包括:
26.排序单元,用于将各批处理节点的当前负载量进行排序,得到排序结果;
27.目标节点获得子单元,用于确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点。
28.在一个可能的实现方式中,所述各批处理节点的负载信息还包括:各批处理节点的最高负载量;
29.所述目标节点获得子单元具体用于:
30.根据所述排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的、且当前负载量小于对应批处理节点的最高负载量的至少一个批处理节点为目标节点。
31.本技术第三方面提供一种批处理系统,包括:服务器和多个批处理节点;
32.所述多个批处理节点,用于对任务进行批量处理;
33.所述服务器用于获取各批处理节点的负载信息,所述各批处理节点的负载信息包括:各批处理节点的当前负载量;根据所述各批处理节点的当前负载量,确定所述各批处理节点的当前负载量中的最大值;确定至少一个当前负载量低于所述最大值的批处理节点为目标节点;将任务分配给所述目标节点。
34.相较于现有技术,本技术具有以下有益效果:
35.本技术提供的一种负载均衡方法,在给各批处理节点分配任务时,根据各批处理节点负载信息,选择当前负载量最少的批处理节点作为目标节点,将任务处理请求发送给目标节点。根据各批处理节点的当前负载量合理的进行任务分配,实现了各批处理节点间处理任务量均衡。
附图说明
36.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
37.图1为本技术实施例提供的一种负载均衡方法流程示意图;
38.图2为本技术实施例提供的一种负载均衡装置结构示意图;
39.图3为本技术实施例提供的一种批处理系统结构示意图。
具体实施方式
40.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
41.正如前文描述,对于成百上千个任务,服务器对每个任务进行处理的时长各不相同,且处理时长不固定,无法预测针对每个任务的处理时长。在任务分配给多个批处理节点的情况下,容易出现各批处理节点间处理的任务量(负载)不均衡的情况,例如,某次将批处理任务均匀分配给各个批处理节点,其中一些节点处理任务花费的时间都很长,另一些节点处理任务花费的时间都很短,一段时间后,一些节点的当前负载量(即节点正在处理和等待处理任务量)多,另一些节点的当前负载量少。此时,再一次进行批处理任务分配时仍采用均匀分配给各个批处理节点的方式,那么就会导致各批处理节点间处理任务量不均衡的问题,无法发挥多个批处理节点共同对任务进行批量的处理的性能优势。
42.有鉴于此,本技术实施例提供一种负载均衡方法,该方法可以由负载均衡服务器(后续简称服务器)执行。具体地,该方法中,服务器在给各批处理节点分配任务时,根据各批处理节点负载信息,选择当前负载量少的至少一个的批处理节点作为目标节点,将任务发送给目标节点。根据各批处理节点的当前负载量合理的进行任务分配,实现了各批处理节点间处理任务量均衡,进而有利于提高多个批处理节点共同进行批处理任务的效率。
43.图1为本技术实施例提供的一种负载均衡方法流程示意图,如图1所示,负载均衡方法包括:
44.s110、获取各批处理节点的负载信息,各批处理节点的负载信息包括:各批处理节点的当前负载量。
45.服务器中预于先存储各批处理节点的地址、对应的当前负载量、最高负载量。当有处理节点的当前负载量发生变化时,即有任务完成或接到新的任务时,会向服务器发送更新消息,服务器收到更新消息后,更新该批处理节点的当前负载量。当前负载量为批处理节点正在处理和等待处理的任务量。
46.服务器根据各批处理节点的当前负载量,可以选择较为空闲的批处理节点分配批处理任务。
47.各批处理节点在接受或完成一个任务时会更新自身对应的当前负载量。
48.在一些实施例中,服务器在各批处理节点每次接受任务后,更新的当前负载量。例如,各批处理节点接受新任务(即获得新分配的任务)后,当前负载量增加,每次接受1个任务,当前负载量增加1,每次接受2个任务,当前负载量增加2;每次接受n(n为大于0的整数)
个任务,当前负载量增加n。
49.在一些实施例中,服务器在各批处理节点每次处理完任务后,更新的当前负载量。例如,各批处理节点每次处理完任务后,当前负载量减少,每次完成1个任务,当前负载量减少1,每次同时完成2个任务,当前负载量减少2;每次同时n(n为大于0的整数)个任务,当前负载量减少n。
50.s120、根据所述各批处理节点的当前负载量,确定所述各批处理节点的当前负载量中的最大值;确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点。
51.在一个示例中,目标节点中可以包括一个批处理节点,也可以包括多个批处理节点。
52.需要说明的是,目标节点的个数可以根据实际需求设定,本发明对此不做限定。
53.在一些实施例中,服务器将各批处理节点的当前负载量进行排序,得到排序结果。
54.在一些实施例中,服务器根据排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点。
55.在一些实施例中,各批处理节点的负载信息还包括:各批处理节点的最高负载量;根据排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的、且当前负载量小于对应批处理节点的最高负载量的至少一个批处理节点为目标节点。
56.在一个示例中,将m个批处理节点的当前负载量进行排序,选择前m个当前负载量少的批处理节点,将这m个批处理节点的当前负载量和批处理节点各自的最高负载量作对比,将这m个批处理节点中当前负载量小于最高负载量的批处理节点,作为目标节点。若目标节点个数不足需求的,可以从其余的m-m个批处理节点中再选择当前负载量小于最高负载量的节点,也可以先分配给选出目标节点,等待一段时间,会有批处理节点王城任务更新当前负载量,再次从m个批处理节点中选择当前负载量少、且当前负载量小于最高负载量的目标节点。其中m小于m,m和m均为大于零的整数。
57.在一个示例中,筛选m个批处理节点中当前负载量小于最高负载量的批处理节点,将当前负载量小于最高负载量的批处理节点,按照当前负载量由少到多的顺序进行排序,根据排序结果选择m个当前负载量少的批处理节点,作为目标节点。其中m小于m,m和m均为大于零的整数。
58.s130、将任务分配给目标节点。
59.在一个示例中,在需要多个目标节点的情况下,可以根据各个目标节点的当前负载量,向不同的目标节点发送不同个数的任务。
60.在一个示例中,任务可以为服务器接收的由客户端发来的处理请求,在确定目标节点后,将请求分配(转发)给目标节点。
61.在一些实施例中,根据目标节点的地址,将任务分配给目标节点。
62.服务器预先存储有各批处理节点的地址。
63.在一个示例中,各批处理节点的地址可以是ip地址。
64.目标节点接受任务后,可以对该任务进行处理,如此既保证该目标节点的负载量不会达到最大负载量,又能够使该目标节点充分发挥其性能价值,减少了空闲资源的浪费。
65.本技术实施例提供一种负载均衡方法,该方法在给各批处理节点分配任务时,根
据各批处理节点负载信息,选择当前负载量少的至少一个批处理节点作为目标节点,将任务发送给目标节点。根据各批处理节点的当前负载量合理的进行任务分配,实现了各批处理节点间处理任务量均衡,进而有利于提高多个批处理节点共同进行批处理任务的效率。
66.图2为本技术实施例提供的一种负载均衡装置结构示意图,如图2所示,负载均衡装置包括:
67.负载信息获取单元210,用于获取各批处理节点的负载信息,各批处理节点的负载信息包括:各批处理节点的当前负载量;
68.目标节点获得单元220,用于根据所述各批处理节点的当前负载量,确定所述各批处理节点的当前负载量中的最大值;确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点;
69.发送单元230,用于将任务分配给目标节点。
70.在一些实施例中,目标节点获得单元220,包括:
71.排序单元221,用于将各批处理节点的当前负载量进行排序,得到排序结果;
72.目标节点获得子单元222,用于确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点。
73.在一些实施例中,各批处理节点的负载信息还包括:各批处理节点的最高负载量;
74.目标节点获得子单元222具体用于:
75.根据所述排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的、且当前负载量小于对应批处理节点的最高负载量的至少一个批处理节点为目标节点。
76.在一些实施例中,负载信息获取单元210具体用于:在所述目标节点接受任务后,更新的当前负载量。在每个批处理节点每次处理完任务后,更新的对应的当前负载量。
77.在一些实施例中,所述各批处理节点的负载信息还包括:各批处理节点的地址;
78.所述发送单元230具体用于:
79.根据所述目标节点的地址,将处理任务分配给目标节点。
80.本领域技术人员能够理解的是,本技术实施例还能够实现负载均衡方法中所述的其他方法,本技术实施例在此不再赘述。
81.本技术实施例提供一种负载均衡装置,该装置在给各批处理节点分配任务时,根据各批处理节点负载信息,选择当前负载量最少的预设个数的批处理节点作为目标节点,将任务发送给目标节点。根据各批处理节点的当前负载量合理的进行任务分配,实现了各批处理节点间处理任务量均衡,进而有利于提高多个批处理节点共同进行批处理任务的效率。
82.图3为本技术实施例提供的一种批处理系统,如图3所示,批处理系统包括:服务器310和多个批处理节点320;
83.多个批处理节点320,用于对任务进行批量处理;
84.服务器310用于获取各批处理节点的负载信息,所述各批处理节点的负载信息包括:各批处理节点的当前负载量;根据所述各批处理节点的当前负载量,确定所述各批处理节点的当前负载量中的最大值;确定至少一个当前负载量低于所述最大值的批处理节点为目标节点;将任务分配给所述目标节点。
85.在一个示例中,服务器310包括:数据存放模块311和任务分配模块312。数据存放
模块311用于存放各个批处理节点对应的地址、当前负载量和最高负载量。任务分配模块312接收到批处理任务后,从数据存放模块311获取各批处理节点的负载信息,根据所述各批处理节点的当前负载量,确定所述各批处理节点的当前负载量中的最大值;确定至少一个当前负载量低于所述最大值的批处理节点为目标节点;将任务分配给所述目标节点。在每个批处理节点接受新的任务后或每次处理完成任务后当前的负载量发生变化时,向数据存放模块311发更新信息,数据存放模块311更新对应节点的存储的当前负载量。
86.在一些实施例中,服务器310具体用于将各批处理节点的当前负载量进行排序,得到排序结果;根据所述排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点。
87.在一些实施例中,所述各批处理节点的负载信息还包括:各批处理节点的最高负载量;
88.所述根据所述排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的至少一个批处理节点为目标节点包括:
89.根据所述排序结果,确定所述各批处理节点中的当前负载量低于所述最大值的、且当前负载量小于对应批处理节点的最高负载量的至少一个批处理节点为目标节点。
90.在一些实施例中,服务器310还用于在所述目标节点接受任务后,更新的当前负载量。
91.在一些实施例中,服务器310还用于在每个批处理节点每次处理完任务后,更新的对应的当前负载量。
92.在一些实施例中,服务器310具体用于根据所述目标节点的地址,将处理任务分配给所述目标节点。
93.本技术实施例提供的一种批处理系统,该系统在给各批处理节点分配任务时使用本技术实施例提供的负载均衡方法,根据各批处理节点负载信息,选择当前负载量最少的至少一个的批处理节点作为目标节点,将任务发送给目标节点。根据各批处理节点的当前负载量合理的进行任务分配,实现了各批处理节点间处理任务量均衡,进而有效提高了多个批处理节点共同进行批处理任务的效率。
94.本领域技术人员能够理解的是,本技术实施例还能够实现负载均衡方法中所述的其他方法,本技术实施例在此不再赘述。
95.本发明提供的一种负载均衡方法、装置和批处理系统可用于分布式领域或金融领域。上述仅为示例,并不对本发明提供的一种负载均衡方法、装置和批处理系统的应用领域进行限定。
96.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元提示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
97.以上所述,仅为本技术的一种具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应该以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1