批处理方法、装置、及计算机存储介质与流程

文档序号:33557891发布日期:2023-03-22 12:48阅读:37来源:国知局
批处理方法、装置、及计算机存储介质与流程

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.图1为相关技术提供的一种批处理方法的系统架构图;
34.图2为本说明书实施例提供的一种批处理方法的流程示意图;
35.图3为本说明书实施例提供的另一种批处理方法的流程示意图;
36.图4a为本说明书实施例提供的又一种批处理方法的流程示意图;
37.图4b为本说明书实施例提供的一种批处理方法的系统架构图;
38.图5为本说明书实施例提供的一种批处理装置的结构示意图;
39.图6为本说明书实施例提供的另一种批处理装置的结构示意图;
40.图7为本说明书实施例提供的一种分发服务器的结构示意图;
41.图8为本说明书实施例提供的一种任务服务器的结构示意图。
具体实施方式
42.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
43.在本说明书的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本说明书中的具体含义。此外,在本说明书的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
44.图1示例性示出了相关技术提供的批处理方法的系统架构图。其中:分发服务器用于向各个任务服务器发送批量任务。
45.具体地,在电商金融等场景下可能存在很多任务需要进行批处理,例如,商品促销信息、提醒用户还款的信息等等。通常,用于分发任务的分发处理器将需要处理的批量任务发送到相应的任务服务器,任务服务器会对接收到的批量任务进行处理,例如,任务服务器1接收到分发服务器分发的商品促销信息后,可以将商品促销信息分发到各个用户的终端,任务服务器2接收到分发服务器分发的提醒用户还款的信息后,会将每个用户对应的待还款金额等信息发送到相应用户的终端。
46.通常批处理实现任务流速管控的方式有两种:一种是通过控制任务服务器的处理速度实现,这种方式存在的弊端是:需要人为对每个任务服务器的处理速度进行调控,因此存在人力资源的浪费问题;另外一种是通过人工更改分发服务器的配置实现,这种方式存在的弊端是:任务分发后无法对每个任务服务器的处理速度进行调控,从而分发服务器和任务服务器之间处理的能力不匹配,导致处理效率较低。
47.接下来结合图1介绍的批处理方法的系统架构图,来介绍本说明书实施例提供的批处理方法。
48.在一个实施例中,图2所示,提供了一种批处理方法的流程示意图。如图2所示,该批处理方法可以包括如下步骤:
49.s101,分发服务器基于第一分发速度向目标任务服务器分发批处理任务。
50.其中,本说明书实施例中的第一分发速度表示分发服务器向目标任务服务器发送批处理任务的初始速度。
51.可以理解的是,在分发服务器向目标任务服务器发送批处理任务的初始阶段,分发服务器会按照预先设定一个较小的分发速度发送批处理任务。
52.可能地,在一段时间后,分发服务器可以适当提高批处理任务的分发速度,以提高处理效率。
53.可以理解的是,本说明书实施例中分发服务器基于第一分发速度向目标任务服务器分发批处理任务的目的是使目标任务服务器基于第一分发速度对批处理任务进行批处理。
54.例如,如果第一分发速度为每秒钟300个任务,那么目标任务服务器进行批处理时的速度也是每秒钟300个任务。
55.s102,目标任务服务器接收分发服务器以第一分发速度发送的批处理任务,并基于第一分发速度对批处理任务进行处理。
56.可以理解的是,目标任务服务器会以第一分发速度接收批处理任务,例如,分发服务器分发速度为300个/秒,目标任务服务器接收批处理任务也是300个/秒。
57.可以理解的是,在目标任务服务器的处理能力为最多350个/秒的情况下,其可以按照第一分发速度处理任务,即每秒钟处理300个任务。在目标任务服务器的处理能力为最多280个/秒的情况下,其无法按照第一分发速度处理任务,每秒钟只能处理280个任务。
58.s103,目标任务服务器采集批处理任务的处理过程中生成的多个指标。
59.可能地,本说明书实施例中的多个指标可以包括以下至少两项:目标任务服务器的机器指标、虚拟机指标、任务处理指标、以及预定义指标。其中,预定义指标表示根据目标任务服务器中未处理的任务的状态预设的分发速度。
60.具体地,本说明书实施例中的机器指标可以包括:中央处理器使用率、内存使用率、磁盘读写使用率中的一项或多项。
61.可以理解的是,中央处理器使用率是衡量目标任务服务器处理任务速度的快慢的指标,例如,如果中央处理器使用率较低,可以认为中央处理器有多余的能力处理当前接收到的批处理任务。在中央处理器使用率过高时,其处理大量批处理任务的可用资源较少,需要降低分配批处理任务的速度。此外,在中央处理器使用率过高的情况下,内存使用率也会过高、可能影响后续计算结果的存储过程,磁盘读写使用率相应地也可能过高,导致磁盘保存的空间可能不足。
62.具体地,本说明书实施例中的虚拟机内存指标可以包括:堆垃圾回收次数和/或堆内存使用率。
63.可以理解的是,任何程序的运行都需要开辟一块内存空间,如果内存快满了,就需要进行一次堆垃圾回收full gc动作,清除不用的代码。但是fill gc使用次数过多会对任
务处理器有损耗,应该尽量减少使用次数。因此,应该降低指令分发速度,以减少fgc次数。
64.具体地,本说明书实施例中的任务处理指标可以包括:任务处理耗时、任务处理成功率、单位时间处理任务数中的一项或多项。
65.具体地,任务处理耗时可以理解为处理批处理任务指令的时间。任务处理成功率可以理解为任务服务器处理批处理任务的成功率,例如,任务服务器1调取通信供应商的接口,处理动作是否成功的概率,分发速度是1秒钟300个任务,如果任务服务器可以在1秒钟处理300个任务,则成功率为100%;如果任务服务器可以在1秒钟处理200个任务,则成功率为67%。单位时间处理任务数表示任务处理器每秒钟最多可以处理任务的数量,例如,任务服务器1当前单位时间处理任务数可能是300,任务服务器2当前单位时间处理任务数可能是500。
66.具体地,预定义指标是指预先设定的可能会对批处理任务的处理速度造成影响的指标。例如,三天后,有新的项目要上架会影响相应服务器的处理速度,因此,就需要预先设定三天后需要降低批处理任务的分发速度。
67.s104,目标任务服务器将多个指标发送至分发服务器。
68.可以理解的是,本说明书实施例中目标任务服务器将多个指标发送至分发服务器的目的是使分发服务器基于第一分发速度和各指标将批处理任务的分发速度从第一分发速度调整为第二分发速度。
69.可能地,如果通过对多个指标分析可以确定第一分发速度过低,会造成目标任务服务器的资源浪费,因此可以适当增加分发速度以提高批处理效率。
70.可能地,如果通过对多个指标分析可以确定第一分发速度大于目标任务服务器处理速度,会造成目标任务服务器中待处理任务的冗余越来越多,使得目标任务服务器运行效率下降。
71.s105,分发服务器接收目标任务服务器发送的处理批处理任务过程中生成的多个指标。
72.可以理解的是,分发服务器可以根据接收到的指标的情况调整分发速度。例如,如果中央处理器使用率较高表示当前的分发速度可能会导致批处理任务冗余,需要适当减小。如果堆内存使用率较小表示当前的分发速度可能较慢,可以适当调高当前的分发速度。
73.s106,分发服务器基于第一分发速度和各指标,将批处理任务的分发速度从第一分速度调整为第二分发速度。
74.可能地,在本说明书实施例中如果各指标的范围超出相应的指标预设范围,可以通过调整分发速度的方式提升系统的稳定性,例如,分发服务器感知指标(比如机器指标、任务处理成功率、任务处理耗时等)后根据预设策略变更分发速度。
75.s107,分发服务器基于第二分发速度向目标任务服务器分发批处理任务。
76.可以理解的是,分发服务器将第一分发速度调整为第二分发速度后,会按照第二分发速度向目标任务服务器分发批处理任务,以使目标服务器根据第二分发速度处理批处理任务。
77.s108,目标任务服务器接收分发服务器以第二分发速度发送的批处理任务。
78.可以理解的是,目标任务服务器会按照第二分发速度接收批处理任务后进行处理。
79.在一个具体的例子中,分发服务器以100个/秒(第一分发速度)向目标任务服务器分发批处理任务。目标任务服务器接收分发服务器发送的批处理任务后,可以基于100个/秒对批处理任务进行处理并生成目标任务服务器的机器指标、虚拟机指标等多个指标。进一步地,目标任务服务器根据上述指标可以确定需要对第一分发速度进行调整,将其调整为300个/秒,以提高目标任务服务器的处理效率。
80.在本说明书实施例中,可以基于第一分发速度向目标任务服务器分发批处理任务,以使目标任务服务器基于第一分发速度对批处理任务进行批处理;进一步地,接收目标任务服务器发送的处理批处理任务过程中生成的多个指标;再基于第一分发速度和各指标,将批处理任务的分发速度从第一分速度调整为第二分发速度;并基于第二分发速度向目标任务服务器分发批处理任务。由此,本说明书实施例可以根据从目标任务服务器中接收到的多个指标来调整第一分发速度,以使目标任务服务器按照调整后的第二分发速度处理批处理任务的效率达到最优状态。此外,本说明书实施例还通过采集指标的方式实现了对指标的自动感知,其不需要人工干预即可实现对分发速度的调控,分发速度更新灵活且及时,可以明显提升批处理任务的整体处理效率以及目标任务服务器的稳定性。
81.在一个实施例中,图3所示,提供了一种批处理方法的流程示意图。如图3所示,该批处理方法可以包括如下步骤:
82.s301,分发服务器基于第一分发速度向目标任务服务器分发批处理任务。
83.具体地,s301与s201一致,此处不再赘述。
84.s302,目标任务服务器接收分发服务器以第一分发速度发送的批处理任务,并基于第一分发速度对批处理任务进行处理。
85.具体地,s302与s202一致,此处不再赘述。
86.s303,目标任务服务器采集批处理任务的处理过程中生成的多个指标。
87.具体地,s303与s203一致,此处不再赘述。
88.s304,目标任务服务器将多个指标发送至分发服务器。
89.可能地,本说明书实施例可以按照预设的时间间隔将多个指标发送至分发服务器。例如,每隔1s将多个指标发送至分发服务器,以避免实时上报可能存在的资源浪费。
90.s305,接收目标任务服务器发送的处理批处理任务过程中生成的多个指标。
91.具体地,s305与s205一致,此处不再赘述。
92.s306,分发服务器判断多个指标中是否存在至少一个不满足相应的指标参数范围的指标;是,执行s307;不是,返回s302。
93.可以理解的是,分发服务器可以在接收到多个指标后,进一步对这些指标所在的范围进行判断,如果各指标在其相应的指标参数范围内,则表明当前的第一分发速度合适,该第一分发速度可以使目标任务服务器的运行达到最优。
94.s307,分发服务器基于第一分发速度和各指标,将批处理任务的分发速度从第一分速度调整为第二分发速度。
95.具体地,本说明书实施例中在多个指标中存在至少一个不满足相应的指标参数范围的指标的情况下,基于第一分发速度和各指标,将批处理任务的分发速度从第一分速度调整为第二分发速度。
96.可以理解的是,在本说明书实施例中的初始分发速度(第一分发速度)过小的情况
下,可以基于初始分发速度和各指标的当前值适当增加分发速度到第二分发速度。
97.进一步地,本说明书实施例还可以基于第一分发速度、第一分发速度的权重、各指标、以及各指标的权重,将批处理任务的分发速度从第一分速度调整为第二分发速度。
98.可以理解的是,本说明书实施例还可以根据目标任务服务器采集的指标和预先设定的流控策略公式来自动调整分发服务器的批处理任务分发速度。
99.可能地,流控策略公式需要先确定各指标的权重和第一分发速度的权重之间的优先级。具体地,各权重之间的优先从高到低依次是:预定义指标的权重、任务处理指标的权重、虚拟机指标的权重、机器指标的权重、以及第一分发速度的权重。进一步地,流控策略公式可以根据各指标的当前值以及相应权重、第一分发速度以及第一分发速度的权重确定第二分发速度。
100.s308,分发服务器基于第二分发速度向目标任务服务器分发批处理任务。
101.具体地,s308与s207一致,此处不再赘述。
102.s309,目标任务服务器接收分发服务器以第二分发速度发送的批处理任务,并以第二分发速度处理批处理任务。
103.具体地,s309与s208一致,此处不再赘述。
104.s310,目标任务服务器采集批处理任务的处理过程中生成的多个指标。
105.具体地,s310与s203一致,此处不再赘述。
106.s311,目标服务器将多个指标发送至分发服务器。
107.具体地,s311与s204一致,此处不再赘述。
108.s312,分发服务器判断多个指标中是否存在至少一个不满足相应的指标参数范围的指标;是,执行s312;不是,返回s309。
109.具体地,s312与s306一致,此处不再赘述。
110.s313,分发服务器基于第二分发速度和各指标,继续对第二分发速度进行调整,直至多个指标均满足相应的指标参数范围。
111.可以理解的是,如果目标服务器按照第二分发速度处理批处理任务生成的指标仍不满足相应的指标参数范围,则仍需要基于流控策略公式继续对第二分发速度进行调整,直至多个指标均满足相应的指标参数范围。
112.s314,基于满足多个指标参数范围对应的分发速度向目标任务服务器分发批处理任务。
113.s315,接收以满足多个指标参数范围对应的分发速度发送的批处理任务,并以该分发速度处理批处理任务。
114.具体地,本说明书实施例还可以通过确定不满足相应的指标参数范围的至少一个指标和至少一个指标对应的分发速度与调整后满足相应的指标参数范围对应的分发速度之间的对应关系的方式,调整第一分发速度。
115.进一步地,在接收目标任务服务器以当前分发速度处理批处理任务过程中生成的当前多个指标后;若当前多个指标与对应关系中不满足相应的指标参数范围的至少一个指标相同、并且当前分发速度与对应关系中不满足相应的指标参数范围的至少一个指标对应的分发速度也相同,则基于对应关系将批处理任务的当前分发速度调整为满足相应的指标参数范围的分发速度。
116.例如,在接收目标任务服务器以500个/秒处理批处理任务过程中生成的多个当前指标是:中央处理器使用率80%、堆垃圾回收次数260、任务处理成功率85%后;若上述当前指标在对应关系中存在相同的历史指标(即历史指标中存在中央处理器使用率80%、堆垃圾回收次数260、任务处理成功率85%)、并且该历史指标对应的调整前的分发速度也是500个/秒,则分发服务器可以基于对应关系中该历史指标对应的调整后的分发速度400个/秒调整当前的分发速度,即是第二分发速度也为400个/秒,以避免再次计算,从而进一步提升系统的运行效率。
117.由此,本说明书实施例可以通过自动采集目标任务服务器生成的指标是否满足相应指标范围的方式,来确定是否需要通过预先设定流控策略公式的方式或者确定对应关系的方式自动调整的批处理任务的分发速度。这种实现方式既不需要人工干预,也不需要告知预警信息,其可以根据异常或者波动等信息,自动对分发速度进行调控,从而提前实现相关预警操作。
118.在一个实施例中,图4a所示,提供了一种批处理方法的流程示意图。如图4a所示,该批处理方法可以包括如下步骤:
119.s401,分发服务器基于第一分发速度向目标任务服务器分发批处理任务。
120.具体地,s401与s201一致,此处不再赘述。
121.s402,目标任务服务器接收分发服务器以第一分发速度发送的批处理任务,并基于第一分发速度对批处理任务进行处理。
122.具体地,s402与s202一致,此处不再赘述。
123.s403,目标任务服务器采集批处理任务的处理过程中生成的多个指标。
124.具体地,s403与s203一致,此处不再赘述。
125.s404,目标任务服务器判断多个指标中是否存在至少一个不满足相应的指标参数范围的指标;是,执行s406;否,执行s405。
126.可以理解的是,目标任务服务器可以在接收到多个指标后,进一步对这些指标所在的范围进行判断。
127.s405,目标任务服务器继续基于第一分发速度对批处理任务进行处理。
128.可以理解的是,如果各指标在其相应的指标参数范围内,则表明当前的第一分发速度合适,该第一分发速度可以使目标任务服务器的运行达到最优。
129.s406,目标任务服务器将多个指标发送至分发服务器。
130.可以理解的是,如果存在至少一个指标不在其相应的指标参数范围内,需要将目标任务服务器中的多个指标发送至分发服务器,以对第一分发速度进行调整。
131.s407,分发服务器接收目标任务服务器发送的处理批处理任务过程中生成的多个指标。
132.具体地,s407与s205一致,此处不再赘述。
133.s408,分发服务器基于第一分发速度和各指标,将批处理任务的分发速度从第一分速度调整为第二分发速度。
134.具体地,s408与s206一致,此处不再赘述。
135.s409,分发服务器基于第二分发速度向目标任务服务器分发批处理任务
136.具体地,s409与s207一致,此处不再赘述。
137.s410,目标任务服务器接收以第二分发速度发送的批处理任务。
138.具体地,s410与s208一致,此处不再赘述。
139.s411,目标任务服务器判断多个指标中是否存在至少一个不满足相应的指标参数范围的指标;是,执行s413;否,执行s412。
140.s412,目标任务服务器继续基于第二分发速度对批处理任务进行处理。
141.具体地,s412与s405一致,此处不再赘述。
142.s413,目标任务服务器将多个指标发送至分发服务器。
143.具体地,s413与s406一致,此处不再赘述。
144.s414,分发服务器基于第二分发速度和各指标,继续对第二分发速度进行调整,直至多个指标均满足相应的指标参数范围。
145.具体地,s414与s313一致,此处不再赘述。
146.s415,分发服务器基于满足多个指标参数范围对应的分发速度向目标任务服务器分发批处理任务。
147.具体地,s415与s314一致,此处不再赘述。
148.s416,目标任务服务器接收以满足多个指标参数范围对应的分发速度发送的批处理任务,并以该分发速度处理批处理任务。
149.具体地,s416与s315一致,此处不再赘述。
150.可能地,本说明书实施例还可以通过确定不满足相应的指标参数范围的至少一个指标和至少一个指标对应的分发速度与调整后满足相应的指标参数范围对应的分发速度之间的对应关系的方式,调整第一分发速度。
151.进一步地,将对应关系发送给目标任务服务器,以使目标任务服务器根据对应关系调整批处理任务的处理速度。
152.具体地,本说明书实施例可以任务服务器接收分发服务器发送的不满足相应的指标参数范围的至少一个指标和至少一个指标对应的分发速度与调整后满足相应的指标参数范围对应的分发速度之间的对应关系;获取以当前分发速度处理批处理任务过程中生成的当前多个指标;若当前多个指标与对应关系中不满足相应的指标参数范围的至少一个指标相同、并且当前分发速度与对应关系中不满足相应的指标参数范围的至少一个指标对应的分发速度也相同,则基于对应关系将批处理任务的当前分发速度调整为满足相应的指标参数范围的分发速度。
153.例如,在接收目标任务服务器以500个/秒处理批处理任务过程中生成的多个当前指标是:中央处理器使用率80%、堆垃圾回收次数260、任务处理成功率85%后;若上述当前指标在对应关系中存在相同的历史指标(即历史指标中存在中央处理器使用率80%、堆垃圾回收次数260、任务处理成功率85%)、并且该历史指标对应的调整前的分发速度也是500个/秒,则目标任务服务器可以基于对应关系中该历史指标对应的调整后的分发速度400个/秒调整当前的处理速度,分发服务器相应的也会调整分发速度到400个/秒,以避免再次计算,从而进一步提升系统的运行效率。
154.参见图4b,在一个具体的例子中,目标任务服务器中的指标上报模块可以将采集到的不满足相应指标范围的指标发送到分发服务器中的指标感知模块,指标感知模块进一步会将这些指标发送至流控策略模块以对当前分发速度进行调整,调整完成后流控策略模
块会将第二分发速度对应的数值发送至流控配置生效模块,以使流控配置生效模块将第一分发速度调整为第二分发速度,以使任务分发模块可以按照第二分发速度将批处理任务分发至目标任务服务器中的任务处理模块。
155.由此,本说明书实施例可以在存在至少一个不满足相应指标范围的指标时,通过自动上报各个指标后,利用预先设定流控策略公式的方式或者确定对应关系的方式来自动调整的批处理任务的分发速度。这种仅在存在至少一个不满足相应指标范围的指标时上报的方式不仅节省了分发服务器的计算资源,还提高了整体的处理速度。
156.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
157.图5是本说明书实施例提供的批处理装置的结构示意图。所述装置用于分发服务器,并执行本说明书上述任一实施例批处理方法。如图5所示,该批处理装置可以包括:
158.第一分发模块51,用于基于第一分发速度向目标任务服务器分发批处理任务,以使所述目标任务服务器基于所述第一分发速度对所述批处理任务进行批处理;
159.第一接收模块52,用于接收所述目标任务服务器发送的处理所述批处理任务过程中生成的多个指标;
160.调整模块53,用于基于所述第一分发速度和各指标,将所述批处理任务的分发速度从所述第一分速度调整为第二分发速度;
161.第二分发模块54,用基于所述第二分发速度向所述目标任务服务器分发所述批处理任务。
162.可以基于第一分发速度向目标任务服务器分发批处理任务,以使目标任务服务器基于第一分发速度对批处理任务进行批处理;进一步地,接收目标任务服务器发送的处理批处理任务过程中生成的多个指标;再基于第一分发速度和各指标,将批处理任务的分发速度从第一分速度调整为第二分发速度;并基于第二分发速度向目标任务服务器分发批处理任务。由此,本说明书实施例可以根据从目标任务服务器中接收到的多个指标来调整第一分发速度,以使目标任务服务器按照调整后的第二分发速度处理批处理任务的效率达到最优状态。此外,本说明书实施例还通过采集指标的方式实现了对指标的自动感知,其不需要人工干预即可实现对分发速度的调控,分发速度更新灵活且及时,可以明显提升批处理任务的整体处理效率以及目标任务服务器的稳定性。
163.在一些实施例中,所述调整模块53,具体用于:在所述多个指标中存在至少一个不满足相应的指标参数范围的指标的情况下,基于所述第一分发速度和各指标,将所述批处理任务的分发速度从所述第一分速度调整为第二分发速度。
164.在一些实施例中,所述调整模块53,具体用于:基于所述第一分发速度、所述第一分发速度的权重、所述各指标、以及所述各指标的权重,将所述批处理任务的分发速度从所述第一分速度调整为第二分发速度。
165.在一些实施例中,所述多个指标包括以下至少两项:所述目标任务服务器的机器指标、虚拟机指标、任务处理指标、以及预定义指标;其中,所述预定义指标表示根据所述目
标任务服务器中未处理的任务的状态预设的分发速度;
166.所述机器指标包括:中央处理器使用率、内存使用率、磁盘读写使用率中的一项或多项;
167.所述虚拟机内存指标包括:堆垃圾回收次数和/或堆内存使用率;
168.所述任务处理指标包括:任务处理耗时、任务处理成功率、单位时间处理任务数中的一项或多项。
169.在一些实施例中,所述第二分发模块54之后,所述装置还包括:
170.处理模块,用于再次执行所述接收所述目标任务服务器发送的处理所述批处理任务过程中生成的多个指标的步骤,直至所述多个指标均满足相应的指标参数范围。
171.在一些实施例中,所述装置还包括:确定模块,用于确定不满足相应的指标参数范围的至少一个指标和所述至少一个指标对应的分发速度与调整后满足相应的指标参数范围对应的分发速度之间的对应关系。
172.在一些实施例中,所述确定模块之后,所述装置还包括:
173.第二接收模块,用于接收所述目标任务服务器以当前分发速度处理所述批处理任务过程中生成的当前多个指标;
174.第一分发速度调整模块,用于若所述当前多个指标与所述对应关系中不满足相应的指标参数范围的至少一个指标相同、并且所述当前分发速度与所述对应关系中不满足相应的指标参数范围的至少一个指标对应的分发速度也相同,则基于所述对应关系将所述批处理任务的当前分发速度调整为满足相应的指标参数范围的分发速度。
175.在一些实施例中,所述装置还包括:对应关系发送模块,用于将所述对应关系发送给所述目标任务服务器,以使所述目标任务服务器根据所述对应关系调整所述批处理任务的处理速度。
176.图6是本说明书实施例提供的批处理装置的结构示意图。所述装置用于任务服务器,并执行本说明书上述任一实施例批处理方法。如图6所示,该批处理装置可以包括:
177.第二接收模块61,用于接收分发服务器以第一分发速度发送的批处理任务,并基于所述第一分发速度对所述批处理任务进行处理;
178.采集模块62,用于采集所述批处理任务的处理过程中生成的多个指标;
179.发送模块63,用于将所述多个指标发送至所述分发服务器,以使所述分发服务器基于所述第一分发速度和各指标将所述批处理任务的分发速度从所述第一分发速度调整为第二分发速度;
180.第三接收模块64,用于接收所述分发服务器以所述第二分发速度发送的所述批处理任务。
181.在一些实施例中,所述发送模块63,具体用于:在所述多个指标中存在至少一个不满足相应的指标参数范围的指标的情况下,将所述多个指标发送给所述分发服务器。
182.在一些实施例中,所述发送模块63,具体用于:按照预设的时间间隔将所述多个指标发送至所述分发服务器。
183.在一些实施例中,所述多个指标包括以下至少两项:所述目标任务服务器的机器指标、虚拟机指标、任务处理指标、以及预定义指标;其中,所述预定义指标表示根据所述目标任务服务器中未处理的任务的状态预设的分发速度;
184.所述机器指标包括:中央处理器使用率、内存使用率、磁盘读写使用率中的一项或多项;
185.所述虚拟机内存指标包括:堆垃圾回收次数和/或堆内存使用率;
186.所述任务处理指标包括:任务处理耗时、任务处理成功率、单位时间处理任务数中的一项或多项。
187.在一些实施例中,所述第三接收模块64之后,所述装置还包括:执行模块,用于基于所述第二分发速度对所述批处理任务进行处理,并再次执行所述采集所述批处理任务的处理过程中生成的多个指标的步骤,直至所述多个指标均满足相应的指标参数范围。
188.在一些实施例中,所述装置还包括:对应关系接收模块,用于接收所述分发服务器发送的不满足相应的指标参数范围的至少一个指标和所述至少一个指标对应的分发速度与调整后满足相应的指标参数范围对应的分发速度之间的对应关系;
189.获取模块,用于获取以当前分发速度处理所述批处理任务过程中生成的当前多个指标;
190.第二分发速度调整模块,用于若所述当前多个指标与所述对应关系中不满足相应的指标参数范围的至少一个指标相同、并且所述当前分发速度与所述对应关系中不满足相应的指标参数范围的至少一个指标对应的分发速度也相同,则基于所述对应关系将所述批处理任务的当前分发速度调整为满足相应的指标参数范围的分发速度。
191.需要说明的是,上述实施例提供的批处理装置在执行批处理方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分发由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的批处理装置与批处理方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
192.上述本说明书一个或多个实施例序号仅仅为了描述,不代表实施例的优劣。
193.请参见图7,为本说明书一个或多个实施例提供了一种分发服务器的结构示意图。如图7所示,所述分发服务器70可以包括:至少一个处理器71,至少一个网络接口74,用户接口73,存储器75,至少一个通信总线72。
194.其中,通信总线72用于实现这些组件之间的连接通信。
195.其中,用户接口73可以包括显示屏(display)、摄像头(camera),可选用户接口73还可以包括标准的有线接口、无线接口。
196.其中,网络接口74可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
197.其中,处理器71可以包括一个或者多个处理核心。处理器71利用各种借口和线路连接整个分发服务器70内的各个部分,通过运行或执行存储在存储器75内的指令、程序、代码集或指令集,以及调用存储在存储器75内的数据,执行分发服务器70的各种功能和处理数据。可选的,处理器71可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器71可集成处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上
述调制解调器也可以不集成到处理器71中,单独通过一块芯片进行实现。
198.其中,存储器75可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器75包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器75可用于存储指令、程序、代码、代码集或指令集。存储器75可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器75可选的还可以是至少一个位于远离前述处理器71的存储装置。如图7所示,作为一种计算机存储介质的存储器75中可以包括操作系统、网络通信模块、用户接口模块以及批处理应用程序。
199.在图7所示的分发服务器70中,用户接口73主要用于为用户提供输入的接口,获取用户输入的数据;而处理器71可以用于调用存储器75中存储的批处理应用程序,并具体执行以下操作:
200.基于第一分发速度向目标任务服务器分发批处理任务,以使所述目标任务服务器基于所述第一分发速度对所述批处理任务进行批处理;
201.接收所述目标任务服务器发送的处理所述批处理任务过程中生成的多个指标;
202.基于所述第一分发速度和各指标,将所述批处理任务的分发速度从所述第一分速度调整为第二分发速度;
203.基于所述第二分发速度向所述目标任务服务器分发所述批处理任务。
204.在一种可能的实施例中,所述处理器71在执行基于所述第一分发速度和各指标,将所述批处理任务的分发速度从所述第一分速度调整为第二分发速度时,具体执行:
205.在所述多个指标中存在至少一个不满足相应的指标参数范围的指标的情况下,基于所述第一分发速度和各指标,将所述批处理任务的分发速度从所述第一分速度调整为第二分发速度。
206.在一种可能的实施例中,所述处理器71在执行基于所述第一分发速度和各指标,将所述批处理任务的分发速度从所述第一分速度调整为第二分发速度时,具体执行:
207.基于所述第一分发速度、所述第一分发速度的权重、所述各指标、以及所述各指标的权重,将所述批处理任务的分发速度从所述第一分速度调整为第二分发速度。
208.在一种可能的实施例中,所述多个指标包括以下至少两项:所述目标任务服务器的机器指标、虚拟机指标、任务处理指标、以及预定义指标;其中,所述预定义指标表示根据所述目标任务服务器中未处理的任务的状态预设的分发速度;
209.所述机器指标包括:中央处理器使用率、内存使用率、磁盘读写使用率中的一项或多项;
210.所述虚拟机内存指标包括:堆垃圾回收次数和/或堆内存使用率;
211.所述任务处理指标包括:任务处理耗时、任务处理成功率、单位时间处理任务数中的一项或多项。
212.在一种可能的实施例中,所述处理器71在执行所述基于所述第二分发速度向所述目标服务器分发所述批处理任务之后,还执行:再次执行所述接收所述目标任务服务器发送的处理所述批处理任务过程中生成的多个指标的步骤,直至所述多个指标均满足相应的
指标参数范围。
213.在一种可能的实施例中,所述处理器71还执行:确定不满足相应的指标参数范围的至少一个指标和所述至少一个指标对应的分发速度与调整后满足相应的指标参数范围对应的分发速度之间的对应关系。
214.在一种可能的实施例中,所述处理器71在执行所述确定不满足相应的指标参数范围的至少一个指标和所述至少一个指标对应的分发速度与调整后满足相应的指标参数范围对应的分发速度之间的对应关系之后,还执行:
215.接收所述目标任务服务器以当前分发速度处理所述批处理任务过程中生成的当前多个指标;
216.若所述当前多个指标与所述对应关系中不满足相应的指标参数范围的至少一个指标相同、并且所述当前分发速度与所述对应关系中不满足相应的指标参数范围的至少一个指标对应的分发速度也相同,则基于所述对应关系将所述批处理任务的当前分发速度调整为满足相应的指标参数范围的分发速度。
217.在一种可能的实施例中,所述处理器71还执行:将所述对应关系发送给所述目标任务服务器,以使所述目标任务服务器根据所述对应关系调整所述批处理任务的处理速度。
218.请参见图8,为本说明书一个或多个实施例提供了一种任务服务器的结构示意图。如图8所示,所述任务服务器80可以包括:至少一个处理器81,至少一个网络接口84,用户接口83,存储器85,至少一个通信总线82。
219.其中,通信总线82用于实现这些组件之间的连接通信。
220.其中,用户接口83可以包括显示屏(display)、摄像头(camera),可选用户接口83还可以包括标准的有线接口、无线接口。
221.其中,网络接口84可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
222.其中,处理器81可以包括一个或者多个处理核心。处理器81利用各种借口和线路连接整个任务服务器80内的各个部分,通过运行或执行存储在存储器85内的指令、程序、代码集或指令集,以及调用存储在存储器85内的数据,执行任务服务器80的各种功能和处理数据。可选的,处理器81可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器81可集成处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器81中,单独通过一块芯片进行实现。
223.其中,存储器85可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器85包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器85可用于存储指令、程序、代码、代码集或指令集。存储器85可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实
施例中涉及到的数据等。存储器85可选的还可以是至少一个位于远离前述处理器81的存储装置。如图8所示,作为一种计算机存储介质的存储器85中可以包括操作系统、网络通信模块、用户接口模块以及批处理应用程序。
224.在图8所示的任务服务器80中,用户接口83主要用于为用户提供输入的接口,获取用户输入的数据;而处理器81可以用于调用存储器85中存储的批处理应用程序,并具体执行以下操作:
225.接收分发服务器以第一分发速度发送的批处理任务,并基于所述第一分发速度对所述批处理任务进行处理;
226.采集所述批处理任务的处理过程中生成的多个指标;
227.将所述多个指标发送至所述分发服务器,以使所述分发服务器基于所述第一分发速度和各指标将所述批处理任务的分发速度从所述第一分发速度调整为第二分发速度;
228.接收所述分发服务器以所述第二分发速度发送的所述批处理任务。
229.在一种可能的实施例中,所述处理器81在执行将所述多个指标发送至所述分发服务器时,具体执行:
230.在所述多个指标中存在至少一个不满足相应的指标参数范围的指标的情况下,将所述多个指标发送给所述分发服务器。
231.在一种可能的实施例中,所述处理器81在执行所述将所述多个指标发送至所述分发服务器时,具体执行:按照预设的时间间隔将所述多个指标发送至所述分发服务器。
232.在一种可能的实施例中,所述多个指标包括以下至少两项:所述目标任务服务器的机器指标、虚拟机指标、任务处理指标、以及预定义指标;其中,所述预定义指标表示根据所述目标任务服务器中未处理的任务的状态预设的分发速度;
233.所述机器指标包括:中央处理器使用率、内存使用率、磁盘读写使用率中的一项或多项;
234.所述虚拟机内存指标包括:堆垃圾回收次数和/或堆内存使用率;
235.所述任务处理指标包括:任务处理耗时、任务处理成功率、单位时间处理任务数中的一项或多项。
236.在一种可能的实施例中,所述处理器81在执行所述接收所述分发服务器以所述第二分发速度发送的所述批处理任务之后,还执行:
237.基于所述第二分发速度对所述批处理任务进行处理,并再次执行所述采集所述批处理任务的处理过程中生成的多个指标的步骤,直至所述多个指标均满足相应的指标参数范围。
238.在一种可能的实施例中,所述处理器81还执行:
239.接收所述分发服务器发送的不满足相应的指标参数范围的至少一个指标和所述至少一个指标对应的分发速度与调整后满足相应的指标参数范围对应的分发速度之间的对应关系;
240.获取以当前分发速度处理所述批处理任务过程中生成的当前多个指标;
241.若所述当前多个指标与所述对应关系中不满足相应的指标参数范围的至少一个指标相同、并且所述当前分发速度与所述对应关系中不满足相应的指标参数范围的至少一个指标对应的分发速度也相同,则基于所述对应关系将所述批处理任务的当前分发速度调
整为满足相应的指标参数范围的分发速度。
242.本说明书一个或多个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机或处理器上运行时,使得计算机或处理器执行上述图2、图3、以及图4a所示实施例中的一个或多个步骤。上述批处理装置的各组成模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在所述计算机可读取存储介质中。
243.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本说明书一个或多个实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字多功能光盘(digital versatile disc,dvd))、或者半导体介质(例如,固态硬盘(solid state disk,ssd))等。
244.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。而前述的存储介质包括:制度存储器(read only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的介质。在不冲突的情况下,本实施例和实施方案中的技术特征可以任意组合。
245.以上所述的实施例仅仅是本说明书的优选实施例方式进行描述,并非对本说明书的范围进行限定,在不脱离本说明书的设计精神的前提下,本领域普通技术人员对本说明书的技术方案作出的各种变形及改进,均应落入本说明书的权利要求书确定的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1