一种批量同质任务的处理系统、方法以及装置与流程
未命名
08-03
阅读:70
评论:0

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.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,
本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:图1为本说明书提供的一种批量同质任务的处理系统的结构示意图;图2为本说明书提供的处理系统的结构示意图;图3为本说明书提供的处理系统执行批量处理任务的流程示意图;图4为本说明书提供的调度节点的调度流程示意图;图5为本说明书提供的确定执行同质任务的指定单元的场景示意图;图6为本说明书提供的批量同质任务的处理方法的流程示意图;图7为本说明书提供的批量同质任务的处理装置的结构示意图;图8为本说明书提供的对应于图6的电子设备示意图。
具体实施方式
30.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
31.以下结合附图,详细说明本说明书各实施例提供的技术方案。
32.图1为本说明书提供的一种批量同质任务的处理系统的结构示意图,其中,该批量同质任务的处理系统包括:调度节点和若干计算集群。该计算集群中包含若干计算单元,各计算单元提供相同的批处理服务。也就是说,本说明书提供的该批量同质任务的处理系统,实质上为调度多个计算集群对批量同质任务处理的系统。其中,各计算单元提供相同的批处理服务,为任意一个计算单元都可根据批量同质任务的配置信息执行批量同质任务中的各同质任务。
33.从硬件角度上来说,本说明书提供的一个或多个实施例中,计算单元也可被称作计算节点。针对该系统中的每个节点,该节点可为一个或多个服务器,也可为一个或多个智能设备。
34.从软件角度上来说,本说明书提供的一个或多个实施例中,该系统中的各节点可为在服务器上运行的代码,通过运行各节点的代码实现各节点的功能。而对于该系统中的计算集群来说,各计算集群可通过执行相同代码来对外提供相同功能的批处理服务。并且,在本说明书中,不同节点的代码之间是相互独立的,每个节点可通过预设的数据接口与其他节点进行通信或者数据传输。
35.从硬件角度上来说,本说明书提供的一个或多个实施例中,各节点分别在不同的服务器上运行。
36.本说明书提供的一个或多个实施例中,以该批量同质任务的处理系统由单个调度节点和多个计算集群组成,且该批量同质任务为数据库查询任务或模型使用任务为例进行说明。其中,数据库中以表格形式存储数据,而要从数据库中查询到待查询数据,通常需将该待查询数据和该数据库中存储的各数据进行比对,于是,针对该数据库中存储的每个数据,该待查询数据和该数据之间进行比对的过程可为一个数据库查询任务,该待查询任务和该数据库中存储的各数据之间生成的各数据库查询任务执行环境相同、业务流程相同且
相互独立,因此,可作为批量同质任务。
37.同样的,在模型上线后,通常需使用模型来执行业务。而通常情况下,可将多条待执行数据输入模型中,由模型来输入各待执行数据分别对应的执行结果来执行业务。因此,通过模型确定一条待执行数据的执行结果的过程可为一个模型使用任务,通过模型确定多条待执行数据的执行结果的过程可为多个模型使用任务,各模型使用任务之间执行环境相同、业务流程相同且相互独立,因此,各模型使用任务可作为批量同质任务。
38.当然,上述数据库查询任务和模型使用任务仅为批量同质任务的示例说明,具体该批量同质任务的任务类型可根据需要进行设置,满足执行环境相同、业务流程相同且相互独立的条件即可,本说明书对此不做限制。
39.该批量同质任务的处理系统中的调度节点可接收任务生成请求。其中,该任务生成请求可为用户发送的,也可为存储任务生成数据的服务器根据预设的任务生成条件自动生成的。该预设的任务生成条件可为上一批量同质任务执行完成、当前时刻到达预设的时间点、监测到用户执行的指定操作中的至少一种。
40.该任务生成请求中可携带有任务生成数据,于是,调度节点可对该任务生成请求进行解析,确定该任务生成请求中携带的任务生成数据,并根据该任务生成数据,生成若干待执行的批量同质任务。其中,该任务生成数据可包含该任务生成数据对应的批量同质任务的任务名称、该批量同质任务对应的任务类型,执行该任务所需调用的函数的函数标识等。
41.在本说明书提供的一个或多个实施例中,在确定出批量同质任务后,该调度节点可将该批量同质任务拆分为各计算集群分别对应的待执行任务,由各计算集群来完成上述批量同质任务的执行过程。而对于计算集群来说,该计算集群可提供的计算资源,可基于该计算集群的负载情况确定。于是,该调度节点可根据各计算集群分别对应的负载情况,将该批量同质任务进行拆分。
42.具体的,针对每个计算集群,该调度节点可向该计算集群发送负载获取指令。
43.计算集群在获取到负载获取指令后,可确定该计算集群中包含的各计算单元分别对应的负载情况,并根据各计算单元分别对应的负载情况,确定该计算集群自身的负载情况。于是,在确定出该计算集群自身的负载情况后,该计算集群可根据该负载获取指令,将该计算集群自身的负载情况进行返回。其中,该负载情况可为该计算集群中可用的计算资源,也可为该计算集群中可用的计算资源在总计算资源中的占比。
44.于是,该调度节点可将该计算集群发送的负载情况进行接收。则该调度节点可确定各计算集群分别对应的负载情况。
45.接着,该调度节点可根据确定出的各计算集群分别对应的负载情况,将该批量同质任务进行拆分,得到各计算集群分别对应的待执行任务。针对每个计算集群,该计算集群对应的待执行任务为该批量同质任务中,该计算集群需执行的各同质任务。
46.则该调度节点在确定出各计算集群分别对应的待执行任务后,可针对每个计算集群,将该计算集群的待执行任务下发至该计算集群。
47.于是,该计算集群可对该调度节点下发的待执行任务进行接收,并执行该待执行任务,得到该待执行任务的执行结果。
48.其中,该计算集群中包含有多个计算单元。则该计算集群可根据该计算集群中各
计算单元分别对应的负载情况,将该计算集群自身对应的待执行任务进行拆分,确定各计算单元分别对应的待执行任务,并针对每个计算单元,由该计算单元执行自身对应的待执行任务。
49.另外,在本说明书中,对于批量同质任务中的一个同质任务来说,该同质任务可由单个计算节点执行,也可由多个计算节点执行。当该同质任务所需的计算资源较多的情况下,由多个计算节点提供的计算资源才可满足执行该同质任务所需的计算资源。因此,在将该批量同质任务进行拆分时,不仅需要考虑到各计算集群的负载情况,还需考虑到执行该批量同质任务中的一个同质任务所需的计算资源需由几个计算单元提供。即,需由几个计算单元执行一个同质任务。
50.因此,该调度节点可在生成该批量同质任务后,确定该批量同质任务中一个同质任务对应的计算单元的数量。其中,该同质任务对应的计算单元的数量可根据估计出的执行该同质任务所需的计算资源和各计算单元平均可提供的计算资源的比值确定,也可为预先设置在任务生成请求中,由调度节点根据该任务生成请求生成批量同质任务的同时,确定一个同质任务对应的计算单元的数量。
51.然后,该服务器可根据各计算集群的负载情况、该批量同质任务中各同质任务的数量以及每个同质任务对应的计算单元的数量,将该批量同质任务拆分为各计算集群分别对应的待执行任务。
52.基于图1所示的批量同质任务的处理系统,调度节点生成批量同质任务,并根据各计算集群分别对应的负载,将该批量同质任务下发至各计算集群,由各计算集群执行该批量同质任务。在批量同质任务的任务量过大时,可调用多个计算集群来协同处理同一批量同质任务,减少了批量同质任务的处理时间,保证了处理效率。
53.进一步的,对于本说明书中的该系统来说,为了保证该系统的高利用率,该系统中的调度节点通常需对多个批量同质任务进行处理。而对于调度节点来说,若在该调度节点中储较多数据,则或多或少会占用该调度节点中的计算资源,进而降低该系统的处理效率。为了避免上述情况的发生,该系统中还可设置有存储节点。
54.而在该系统进行任务处理的过程中,存在该处理系统同时接收到多个用户分别发送的任务生成请求的情况。则在该系统中设置有存储节点的情况下,该调度节点可将用户发送的任务处理请求存储在存储节点中,并在用户发送的任务处理请求满足处理条件时,从存储节点获取该任务生成请求。
55.于是,当接收到任务生成请求时,该调度节点可判断自身是否在执行批量同质任务的过程中。若是,则该调度节点可将该任务生成请求转发至该存储节点中。
56.则该存储节点可接收该调度节点发送的任务生成请求。
57.当该调度节点确定前述存储在存储节点中的任务生成请求满足处理条件时,该调度节点可向存储节点发送请求获取指令。其中,该处理条件可为该计算集群中可用的计算资源多于预设的资源阈值,也可为该计算集群将批量同质任务处理完成,还可为到达预设的处理时刻、计算集群中可用的计算资源足以执行该任务生成请求对应的任务等。该处理条件具体可根据需要进行设置,本说明书对此不做限制。
58.则该存储节点可根据该请求获取请求,从自身存储的各任务生成请求中,确定目标生成请求,并将该目标生成请求发送至该调度节点。
59.则该调度节点可根据接收到的目标生成请求,生成批量同质任务。其中,该目标生成请求可为该存储节点从各任务生成请求中随机选择的任意一个任务生成请求,也可为该存储节点根据各任务生成请求的发送时间,从各任务生成请求中选择的发送时间最早的任务生成请求。
60.当然,该调度节点还可在确定自身执行批量同质任务完成后,从存储节点拉取任务生成请求。具体该调度节点和该存储节点之间的数据传输方式可根据需要进行设置,本说明书对此不做限制。
61.更进一步的,在本说明书中,各任务生成请求还可有其对应的优先级,则该调度节点在接收到任务生成请求时,还可确定自身正在执行的任务生成请求的优先级,作为第一优先级,以及接收到的任务生成请求的优先级,作为第二优先级。若第一优先级高于第二优先级,则继续执行第一优先级对应的任务生成请求,若第二优先级高于第一优先级,则先执行第二优先级对应的任务生成请求。其中,该优先级可为任务生成请求中携带的,也可为根据各任务生成请求的生成时刻确定的,具体该优先级如何确定可根据需要进行设置,本说明书对此不做限制。
62.或者,继续执行该第一优先级对应的任务生成请求,并将接收到的任务生成请求及其对应的第二优先级存储在存储节点中,当根据该第一优先级对应的任务生成请求生成批量同质任务后,根据各任务生成请求分别对应的优先级,从存储节点中,确定需进行相应的任务生成请求。具体该调度节点如何基于优先级对各任务生成请求进行处理,或该调度节点如何对各任务生成请求进行合理调度,可根据需要进行设置,本说明书对此不做限制。
63.基于同样思路,本说明书提供一种批量同质任务的处理系统的结构示意图。如图2所示。
64.图2为本说明书提供的处理系统的结构示意图。图中,该系统中包含调度节点、三个计算集群和存储节点。调度节点用于调度多个计算集群执行批量同质任务,计算集群用于执行批量同质任务,存储节点用于存储执行结果。用户可向调度节点发送任务生成请求。调度节点可将该任务生成请求进行接收,并当确定自身可执行该任务生成请求时,根据该任务生成请求生成批量同质任务,并调用多个计算集群对批量同质任务进行处理。当该调度节点确定自身无法执行该任务生成请求时,可将该任务生成请求存储至存储节点中,当可执行该任务生成请求时,从该存储节点中获取任务生成请求,再根据该任务生成请求生成批量同质任务,并调用多个计算集群对批量同质任务进行处理。
65.基于同样思路,本说明书提供一种批量同质任务的处理系统的结构示意图。如图3所示。
66.图3为本说明书提供的处理系统执行批量处理任务的流程示意图。图中,该系统中包含调度节点、三个计算集群和存储节点。该调度节点可从存储节点中获取用户发送的任务生成请求,再对该任务生成请求进行解析,得到任务生成数据,再根据任务生成数据确定批量同质任务,以及根据各计算集群分别对应的负载情况,将该批量同质任务拆分为各计算集群分别对应的待执行任务并进行下发。
67.另外,针对每个计算集群,该调度节点在确定该计算集群对应的待执行任务时,可确定该调度节点生成的批量同质任务中的各任务分别对应的编号。根据各计算集群分别对应的负载和批量同质任务中各任务分别对应的编号,确定各计算集群分别对应的待执行任
务包含的同质任务的编号,作为各指定编号,再将各指定编号的同质任务下发至各计算集群。
68.以该批量同质任务中包含3000个任务,且该批量同质任务中包含的同质任务对应的编号为1~3000为例,假设该系统中存在两个计算集群:计算集群a和计算集群b,若计算集群a的负载情况为:未使用的计算资源为200mb,计算集群b的负载情况为:未使用的计算资源为100mb。则调度节点可根据该计算集群a和计算集群b的负载情况,以及上述批量同质任务中包含的各任务分别对应的编号,确定计算集群a对应的指定编号:1~2000,以及计算集群b对应的指定编号:2001~3000。
69.当然,由于上述基于编号确定各计算集群分别对应的待执行任务的方式中,还需确定批量同质任务中的各同质任务分别对应的编号,确定编号的步骤对计算资源同样有所要求,占用了调度节点中的计算资源,降低了任务处理效率。为了避免上述情况的发生,该调度节点还可针对每个计算集群,确定该计算集群对应的待执行任务中包含的同质任务的数量,再基于该数量,确定该计算集群的待执行任务。
70.具体的,调度节点可确定各计算集群分别对应的负载情况,并根据各计算集群分别对应的负载情况和生成的批量同质任务,确定各计算集群分别对应的待执行任务中包含的同质任务的数量。
71.然后,该调度节点可确定未下发的各同质任务,并针对每个计算集群,根据该计算集群对应的待执行任务中包含的同质任务的数量,从该调度节点未下发的各同质任务中,选择该数量对应的同质任务,作为该计算集群对应的待执行任务。
72.则该调度节点可针对每个计算集群,将该计算集群对应的待执行任务下发。
73.在本说明书中,如前所述的,该处理系统可同时对多个批量同质任务进行处理。对于计算集群来说,一个计算集群在同一时段内可仅执行一个批量同质任务,但对于调度节点来说,一个调度节点可同时对多个用户发送的不同任务生成请求进行响应,并将各批量同质任务下发至不同的计算集群。在此情况下,若在确定出各计算集群分别对应的待执行任务后,仍将待执行任务及其相关数据存储在调度节点中,则难免出现调度节点中的计算资源被占用,导致该处理系统的处理效率较低的情况出现。为了避免上述情况的发生,该调度节点还可将各计算集群分别对应的待执行任务存储在存储节点中。
74.具体的,该调度节点可针对每个计算集群,将该计算集群的标识和该计算集群的待执行任务发送至该系统中的存储节点中。
75.该存储节点可接收该调度节点发送的计算集群的标识和待执行任务,并确定该标识和该待执行任务之间的关联关系,以及将该标识和该待执行任务之间的关联关系,以及接收到的待执行任务进行存储。
76.在存储节点将上述内容存储后,该调度节点可从各计算集群中,确定目标集群。其中,该目标集群可为各计算集群中已将上一批量同质任务处理完成的计算集群,也可为空闲计算资源达到预设的资源阈值的计算集群。具体该目标集群如何确定可根据需要进行设置,本说明书对此不做限制。
77.则在确定出目标集群后,该调度节点可根据该目标集群的标识,向该存储节点发送第一指令。其中,该第一指令用于确定该目标集群的待执行任务。
78.则该存储节点可接收该第一指令,并根据该第一指令中携带的目标集群的标识,
确定该目标集群的待执行任务,以及将该目标集群的待执行任务返回给调度节点。
79.该调度节点可接收该存储节点发送的该目标集群的待执行任务,并将该目标集群的待执行任务下发给该目标集群。
80.则该目标集群可接收该存储节点下发的待执行任务,并将该待执行任务的执行结果存储至存储节点中。
81.需要说明的是,该存储节点中可不仅存储用户发送的任务生成请求、各计算集群分别对应的待执行任务以及各待执行任务分别对应的执行结果,该存储节点中还可存储有执行各批量同质任务所需执行的代码或函数,即,批量同质任务的处理脚本。该处理脚本可以是为同质任务提供执行环境的代码,也可以是执行即可得到同质任务的执行结果的代码。则调度节点在根据任务生成请求生成批量同质任务时,可从该存储节点存储的各处理脚本中,确定该批量同质任务的处理脚本,并根据该处理脚本、各计算集群的负载情况、批量同质任务中同质任务的数量、一个同质任务对应的计算节点的数量等,确定各计算集群分别对应的待执行任务。具体如何该计算集群如何处理待执行任务,待执行任务中携带的内容、如何生成该待执行任务,以及存储节点中存储的处理脚本的用途均可根据需要进行设置,本说明书对此不做限制。
82.进一步的,在本说明书中,还可能出现某计算集群在任务执行过程中出现宕机的情况为了避免上述情况的发生,在本说明书中,调度节点还可对各计算集群进行监测。
83.具体的,该调度节点可针对每个计算集群,按照预设的第一时间间隔向该计算集群发送负载获取请求。
84.则该计算集群可根据该负载获取请求,确定自身负载情况,并将自身负载情况根据该负载获取请求进行返回。
85.则该调度节点可接收各计算集群分别发送的负载情况,并根据该负载情况,对各计算集群进行监测。
86.更进一步的,在某计算集群在任务执行过程中出现宕机的情况下,该调度节点需及时将宕机的该计算集群执行的各任务分配给其他计算集群处理。因此,在本说明书中,调度节点还可对批量同质任务中包含的各任务分别对应的执行进度进行检测。
87.具体的,调度节点可针对每个计算集群,按照预设的第二时间间隔,向该计算集群发送进度获取请求。
88.则该计算集群可根据该进度获取请求,确定自身对于待处理任务的执行进度,并将该待处理任务的执行进度根据该进度获取请求返回至调度节点。其中,该待处理任务的执行进度可为该计算集群执行完成的各同质任务,也可为该计算集群未执行完的各同质任务,具体该执行进度如何确定以及如何表征可根据需要进行设置,本说明书对此不做限制。
89.此外,在本说明书中,可能出现某同质任务执行失败的情况出现。而该处理系统的目标是将批量同质任务中包含的所有同质任务都处理成功。因此,该调度节点还可针对批量同质任务中的每个同质任务,确定该同质任务的执行状态,即,未启动、正在执行、执行成功、执行失败等。于是,调度节点可从各同质任务中,确定执行状态为执行失败的同质任务,并将该执行状态为执行失败的同质任务的状态更新为未启动。于是,用于执行该同质任务的计算单元可根据该同质任务的状态,重新执行该同质任务。
90.基于同样思路,本说明书提供一种调度节点的调度流程示意图。如图4所示。
91.图4为本说明书提供的调度节点的调度流程示意图。该调度节点可根据任务生成数据,生成批量同质任务。并在生成批量同质任务后,确定自身存储的该批量同质任务中尚未下发的各同质任务。进而根据各计算集群分别对应的负载情况,确定指定集群。其中,该指定集群为用于执行该批量同质任务的计算集群。
92.然后,调度节点可从未下发的同质任务中,确定各指定集群的待执行任务,并针对每个指定集群,将该指定集群的待执行任务下发至该指定集群。
93.最后,该调度节点可确定该指定集群的待执行任务中各同质任务的执行状态。
94.当该同质任务执行成功时,该调度节点可释放该同质任务占用的资源。当该同质任务未执行成功时,若该同质任务执行失败,该调度节点可将该同质任务的状态更新为未启动,而若同质任务未执行成功且未执行失败,即,该同质任务处于未启动状态或正在执行状态,则该调度节点可跳过该同质任务,继续判断下一同质任务是否执行成功。其中,该调度节点可将该同质任务的状态更新为未启动时,可继续调用执行该同质任务的计算节点来重新执行该同质任务,也可将该同质任务添加到该批量同质任务中未下发的同质任务中继续下发。
95.当然,若某同质任务执行失败的次数较多,则可能该同质任务中的数据存在错误。因此,该调度节点还可针对每个同质任务,将该同质任务执行失败的次数进行记录,当该次数到达预设的次数阈值时,根据该同质任务的标识发送提示信息,该提示信息用于提示该同质任务执行失败的次数到达预设的次数阈值。
96.另外,在实际作业中,各批量同质任务可由计算集群中的计算单元执行,一个计算单元在同一时段内可仅执行一个批量同质任务,而对于一个计算集群来说,该计算集群在同一时段内可用于执行多个批量同质任务。若调度节点将各计算单元分别对应的待执行任务进行存储,则该调度节点对计算资源的要求可能较高,若调度节点的计算资源较少,则可能有调度节点宕机的情况出现。因此,为了避免上述情况的发生,该调度节点还可确定各计算节点分别对应的待执行任务,并将各计算单元分别对应的待执行任务存储在存储节点中。
97.具体的,针对每个计算节点,该调度节点可确定该计算节点的负载情况,并根据该计算节点的负载情况和自身生成的各批量同质任务中的同质任务对应的计算节点的数量,将各计算节点和各同质任务进行匹配,确定相互匹配的同质任务和计算节点。其中,针对每个相互匹配的同质任务和计算节点,该同质任务的数量可为一个,该计算节点的数量可为一个或多个,也就是说,一个计算节点在同一时段能且仅能对一个同质任务进行处理,而一个同质任务可由多个计算节点进行处理。
98.于是,针对每个计算节点,该调度节点可根据与该计算节点匹配的同质任务,确定该计算节点的待执行任务。
99.则在确定出各计算节点的待执行任务后,该调度节点可针对每个计算节点,将该计算节点的标识和该计算节点的待执行任务发送至该系统中的存储节点中。
100.该存储节点可接收该调度节点发送的计算节点的标识和待执行任务,并确定该标识和该待执行任务之间的关联关系,以及将该标识和该待执行任务之间的关联关系,以及接收到的待执行任务进行存储。
101.在存储节点将上述内容存储后,该调度节点可从各计算节点中,确定目标节点。其
中,该目标节点可为各计算节点中已将上一批量同质任务处理完成的计算节点,也可为空闲计算资源达到预设的资源阈值的计算节点。具体该目标节点如何确定可根据需要进行设置,本说明书对此不做限制。
102.则在确定出目标节点后,该调度节点可根据该目标节点的标识,向该存储节点发送第二指令。其中,该第二指令用于确定该目标节点的待执行任务。
103.则该存储节点可接收该第二指令,并根据该第二指令中携带的目标节点的标识,确定该目标节点的待执行任务,以及将该目标节点的待执行任务返回给调度节点。
104.该调度节点可接收该存储节点发送的该目标节点的待执行任务,并将该目标节点的待执行任务下发给该目标节点。
105.则计算集群中的目标节点可接收该存储节点下发的待执行任务,并将该待执行任务的执行结果存储至存储节点中。
106.在本说明书中,针对每个计算集群,该计算集群通常包含有多个计算单元,而每个计算单元可对不完全相同的同质任务进行处理。因此,在对各同质任务的执行进度进行监测时,该调度节点可直接针对每个计算单元,向该计算单元发送进度获取请求。
107.则该计算单元可根据该进度获取请求,确定自身对待执行任务的执行进度,该执行进度可为该计算单元已经处理完成的各同质任务,也可为尚未处理完成的各同质任务。
108.则该调度节点可接收各计算单元分别对应的执行进度。则基于上述方式,当存在计算单元或计算集群宕机的情况时,该调度节点可确定宕机的计算单元或计算集群未执行完成的各同质任务,作为特定任务。并从该系统包含的各计算集群中,确定用于执行该特定任务的计算集群,以及将该特定任务下发至用于执行该特定任务的计算集群中。
109.执行该特定任务的计算集群可将该特定任务进行接收,并执行。
110.进一步的,对于计算单元或计算集群来说,若该计算单元或计算集群的负载过高,则该计算单元或计算集群可能会宕机。因此,为了避免上述情况的发生,该调度节点在确定各计算集群分别对应的待执行任务时,可仅确定用于执行该批量同质任务的计算集群对应的待执行任务。
111.具体的,该调度节点在确定出各计算集群分别对应的负载情况后,可按照预设的负载阈值,确定负载情况不超过负载阈值的各计算集群,作为用于执行该批量同质任务的计算集群。其中,该负载阈值可为:已使用的计算资源超过80%、已使用的计算资源超过90%等。该负载情况不超过负载阈值的各计算集群用于表征剩余的计算资源较多的计算集群。
112.然后,该调度节点可根据用于执行该批量同质任务的计算集群分别对应的负载情况,确定用于执行该批量同质任务的计算集群分别对应的待执行任务。
113.更进一步的,用于执行该批量处理任务的为计算单元,因此,该调度节点也可针对每个计算单元,根据该计算单元的负载情况确定用于执行该批量同质任务的计算单元,进而基于确定出的用于执行该批量同质任务的计算单元,确定各计算集群分别对应的待执行任务。
114.具体的,该调度节点可确定各计算集群中包含的各计算单元分别对应的负载情况。
115.然后,该调度节点可根据各负载情况,从各计算单元中,确定用于执行该批量同质任务的计算单元,作为指定单元。其中,确定出的指定单元的可用的计算资源较多。或者说,
确定出的指定单元中已使用的计算资源较少。
116.于是,该调度节点可根据各指定单元分别对应的负载情况和该批量同质任务,确定各指定单元分别对应的待执行任务。进而将各指定单元分别对应的待执行任务下发至各指定单元进行执行,以此来完成批量同质任务的处理过程。
117.另外,在本说明书中,各批量同质任务的数据量不同,因此,针对每个批量同质任务,用于执行该批量同质任务的计算单元或计算集群的数量也不同。因此,该调度节点还可确定执行该批量同质任务的计算单元的数量,作为指定数量,也就是说,指定数量的计算单元可用于执行该批量同质任务。同时,为了避免计算单元宕机的情况出现,调度节点还可根据各计算单元的负载情况,从计算单元中,选择用于执行该批量同质任务的计算单元,作为指定单元。其中,该指定单元的数量为该指定数量。
118.进一步的,针对该批量同质任务包含的每个同质任务,若该同质任务较为复杂,则可能需要多个计算单元来执行该同质任务,若该同质任务较为简单,则可能仅需要一个计算单元或一个计算单元中的部分计算资源即可执行该同质任务。因此,该调度节点还可针对每个同质任务,确定用于执行该同质任务的指定单元。
119.具体的,该调度节点可针对该批量同质任务中包含的每个同质任务,确定需执行该同质任务的计算单元的数量。
120.若该数量不超过特定数量,则该调度节点可从各计算单元中,确定用于执行批量同质的各指定单元,并从各指定单元中,确定与该同质任务匹配的指定单元。即,从可用于执行该批量同质任务的指定单元中,选择用于执行该同质任务的指定单元。该特定数量可为1、2等,该特定数量的具体数值可根据需要进行设置,本说明书对此不做限制。
121.若该数量超过指定数量,则该调度节点可从各计算单元中,选择该数量的计算单元作为执行该同质任务的指定单元。当然,该调度节点也可选择该数量的指定单元,作为执行该同质任务的指定单元。
122.更进一步的,一个计算集群中通常包含有较多计算单元,为了方便管理,集群中通常以分区形式对计算单元进行管理。即,一个计算集群中包含若干分区,每个分区中包含一个或多个计算节点。则当需执行同质任务的计算单元的数量超过指定数量时,该调度节点还需确定包含该数量的指定单元的分区,作为执行该同质任务的分区。
123.具体的,针对每个分区,该调度节点可确定该分区中包含的指定单元的数量。
124.然后,该调度节点可判断该分区中包含的指定单元的数量是否超过指定同质任务的计算单元的数量。
125.若是,则该调度节点可确定该分区为用于执行该同质任务的分区,并将该同质任务下发至该分区包含的各指定单元中。
126.若否,则该调度节点可确定该分区为不可用于执行该同质任务的分区。
127.基于同样思路,本说明书提供一种确定执行同质任务的指定单元的场景示意图。如图5所示。
128.图5为本说明书提供的确定执行同质任务的指定单元的场景示意图,该调度节点可从各计算点中,确定指定单元,并针对每个同质任务,确定执行该同质任务的计算单元的数量。
129.然后,该调度节点可判断该数量是否小于预设的数量阈值。其中,该数量阈值可为
1。
130.若是,则可表征数量阈值的计算单元足以执行该同质任务。则该调度节点可将该同质任务和各指定单元匹配,确定与该同质任务匹配的指定单元,并将该同质任务下发至该指定单元。
131.若否,则可表征数量阈值的计算单元不足以执行该同质任务。于是,该调度节点可确定用于执行该同质任务的分区。
132.则针对每个分区,该调度节点可确定该分区包含的指定单元的数量,并当该分区包含的指定单元的数量不小于执行该同质任务的计算单元的数量时,确定该分区为用于执行该同质任务的分区,以及将该同质任务下发至该分区包含的各指定单元。
133.当该分区包含的指定单元的数量小于执行该同质任务的计算单元的数量时,该调度节点可确定该分区不为执行该同质任务的分区。
134.基于同样思路,本说明书提供一种批量同质任务的处理方法的流程示意图。如图6所示,其中:s100:响应于任务生成请求,生成若干待执行的批量同质任务,所述批量同质任务为执行环境相同、业务流程相同且相互独立的各任务。
135.在本说明书提供的一个或多个实施例中,该方法应用于批量同质任务的处理系统中的调度节点,所述系统包括:调度节点和若干计算集群,所述计算集群包含若干计算单元,各计算单元提供相同的批处理服务。
136.则该调度节点可响应于任务生成请求,并根据该任务生成请求,确定批量同质任务。
137.s102:根据所述各计算集群分别对应的负载情况和所述批量同质任务,确定所述各计算集群分别对应的待执行任务。
138.s104:将各待执行任务下发至所述各待执行任务分别对应的计算集群。
139.在本说明书提供的一个或多个实施例中,该批量同质任务的处理方法的具体实时步骤可参照上述系统中对调度节点的描述,本说明书在此不再赘述。
140.基于图6所示的一种批量同质任务的处理方法,根据任务生成请求,生成批量同质任务,并根据各计算集群分别对应的负载,将该批量同质任务下发至各计算集群,由各计算集群执行该批量同质任务。在批量同质任务的任务量过大时,可调用多个计算集群来协同处理同一批量同质任务,减少了批量同质任务的处理时间,保证了处理效率。
141.另外,该系统总包含存储节点,该存储节点可用于存储用户发送的任务生成请求,于是,该调度节点可行存储节点发送任务获取请求,并接收存储节点根据任务获取请求返回的任务生成请求。其中,该任务生成请求为用户发送的。于是,该调度节点可确定任务生成请求中携带的任务生成数据,并根据任务生成数据,生成待执行的批量同质任务。
142.进一步的,该调度节点可根据各计算集群分别对应的负载情况和生成的批量同质任务,确定各计算集群分别对应的待执行任务中包含的同质任务的数量,再针对每个计算集群,根据该计算集群的待执行任务中包含的同质任务的数量,从未下发的各同质任务中,选择该数量对应的同质任务,作为该计算集群对应的待执行任务。
143.更进一步的,该调度节点可确定该各计算集群中包含的各计算单元分别对应的负载情况,并根据各负载情况,从各计算单元中,确定用于执行该批量同质任务的计算单元,
作为指定单元,再根据各指定单元分别对应的负载情况以及该批量同质任务,确定该各指定单元分别对应的待执行任务,并根据各计算集群分别对应的指定单元,确定该各计算集群分别对应的待执行任务。
144.另外,针对该批量同质任务中的每个同质任务,该同质任务有其对应的任务执行状态,该任务执行状态包含未启动、执行中、执行成功和执行失败中的一种。于是,该服务器可针对该批量同质任务中的每个同质任务,按照预设的时间间隔,确定该同质任务的任务执行状态,当根据该任务执行状态确定该同质任务执行失败时,将该同质任务的任务执行状态更新为未启动。
145.进一步的,该调度节点可确定执行该批量同质任务的计算单元的数量,作为指定数量,并根据各负载情况,从各计算单元中,选择用于执行该批量同质任务的计算单元,作为指定单元,该指定单元的数量为该指定数量。
146.更进一步的,该调度节点可从各计算单元中,确定用于执行该批量同质的各指定单元,并针对该批量同质任务中包含的每个同质任务,确定需执行该同质任务的计算单元的数量。
147.其中,若该数量不超过特定数量,则该调度节点可从该各指定单元中,确定与该同质任务匹配的指定单元。
148.若该数量超过指定数量,则从该各指定单元中,选择该数量的指定单元作为执行该同质任务的指定单元。
149.需要说明的是,该批量同质任务的处理方法应用于上述批量同质任务的处理系统中的调度单元,因此,该批量同质任务的处理方法的具体执行过程可参见对于上述批量同质任务的处理系统中调度单元的描述,本说明书在此不再赘述。
150.基于同样思路,本说明书还提供一种批量同质任务的处理装置,如图7所示。
151.图7为本说明书提供的一种批量同质任务的处理装置的结构示意图,所述装置应用于批量同质任务的处理系统中的调度节点,所述批量同质任务处理系统包括:调度节点和若干计算集群,所述计算集群包含若干计算单元,各计算单元提供相同的批处理任务;其中:请求确定模块200,用于响应于任务生成请求,生成若干待执行的批量同质任务,所述批量同质任务为执行环境相同、业务流程相同且相互独立的各任务。
152.任务确定模块202,用于根据所述各计算集群分别对应的负载情况和所述批量同质任务,确定所述各计算集群分别对应的待执行任务。
153.下发模块204,用于将各待执行任务下发至所述各待执行任务分别对应的计算集群。
154.可选地,所述系统包含存储节点,请求确定模块200,用于向所述存储节点发送任务获取请求,接收所述存储节点根据所述任务获取请求返回的任务生成请求,所述任务生成请求为用户发送的,确定所述任务生成请求中携带的任务生成数据,并根据所述任务生成数据,生成若干待执行的批量同质任务。
155.可选地,任务确定模块202,用于根据所述各计算集群分别对应的负载情况和生成的批量同质任务,确定所述各计算集群分别对应的待执行任务中包含的同质任务的数量,针对每个计算集群,根据该计算集群的待执行任务中包含的同质任务的数量,从未下发的
各同质任务中,选择所述数量对应的同质任务,作为该计算集群对应的待执行任务。
156.可选地,任务确定模块202,用于确定所述各计算集群中包含的各计算单元分别对应的负载情况,并根据各负载情况,从各计算单元中,确定用于执行所述批量同质任务的计算单元,作为指定单元,根据各指定单元分别对应的负载情况以及所述批量同质任务,确定所述各指定单元分别对应的待执行任务,并根据各计算集群分别对应的指定单元,确定所述各计算集群分别对应的待执行任务。
157.可选地,针对所述批量同质任务中的每个同质任务,该同质任务有其对应的任务执行状态,所述任务执行状态包含未启动、执行中、执行成功和执行失败中的一种,任务确定模块202,用于针对所述批量同质任务中的每个同质任务,按照预设的时间间隔,确定该同质任务的任务执行状态,当根据所述任务执行状态确定该同质任务执行失败时,将该同质任务的任务执行状态更新为未启动。
158.可选地,任务确定模块202,用于确定执行所述批量同质任务的计算单元的数量,作为指定数量,并根据各负载情况,从各计算单元中,选择用于执行所述批量同质任务的计算单元,作为指定单元,所述指定单元的数量为所述指定数量。
159.可选地,任务确定模块202,用于从各计算单元中,确定用于执行所述批量同质的各指定单元,并针对所述批量同质任务中包含的每个同质任务,确定需执行该同质任务的计算单元的数量,若所述数量不超过特定数量,则从所述各指定单元中,确定与该同质任务匹配的指定单元,若所述数量超过指定数量,则从所述各指定单元中,选择所述数量的指定单元作为执行该同质任务的指定单元。
160.可选地,下发模块204,用于将该计算集群的标识和该计算集群的待执行任务发送至所述存储节点,从所述各计算集群中,确定目标集群,根据所述目标集群的标识,向所述存储节点发送第一指令,接收所述存储节点返回的所述目标集群的待执行任务,并将所述目标集群的待执行任务下发至所述目标集群。
161.可选地,任务确定模块202,用于确定所述批量同质任务中的同质任务对应的计算单元的数量,根据所述各计算集群中分别对应的负载情况、所述批量同质任务以及所述同质任务对应的计算单元的数量,确定所述各计算集群分别对应的待执行任务,其中,所述同质任务对应的计算单元的数量为执行所述同质任务所需的计算单元的数量。
162.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种批量同质任务的处理方法。
163.本说明书还提供了图8所示的电子设备的示意结构图。如图8所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图6所述的一种批量同质任务的处理方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
164.在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因
此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmable logic device, pld)(例如现场可编程门阵列(field programmable gate array,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardware description language,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advanced boolean expression language)、ahdl(altera hardware description language)、confluence、cupl(cornell university programming language)、hdcal、jhdl(java hardware description language)、lava、lola、myhdl、palasm、rhdl(ruby hardware description language)等,目前最普遍使用的是vhdl(very-high-speed integrated circuit hardware description language)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
165.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20 以及silicone labs c8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
166.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
167.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
168.本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
169.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的
流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程病灶检测设备的处理器以产生一个机器,使得通过计算机或其他可编程病灶检测设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
170.这些计算机程序指令也可存储在能引导计算机或其他可编程病灶检测设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
171.这些计算机程序指令也可装载到计算机或其他可编程病灶检测设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
172.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
173.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
174.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
175.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
176.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
177.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、
组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
178.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
179.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
技术特征:
1.一种批量同质任务的处理系统,其特征在于,所述系统包括:调度节点和若干计算集群,所述计算集群包含若干计算单元,各计算单元提供相同的批处理服务;所述调度节点,用于响应于任务生成请求,生成若干待执行的批量同质任务,所述批量同质任务为执行环境相同、业务流程相同且相互独立的各任务;根据所述各计算集群分别对应的负载情况和所述批量同质任务,确定所述各计算集群分别对应的待执行任务;将各待执行任务下发至所述各待执行任务分别对应的计算集群;所述计算集群,用于根据所述计算集群中各计算单元分别对应的负载情况,确定该计算集群自身的负载情况,并将该计算集群自身的负载情况发送至所述调度节点;接收并执行所述调度节点发送的待执行任务,得到所述待执行任务的执行结果。2.如权利要求1所述的系统,其特征在于,所述系统还包括:存储节点;所述存储节点,用于接收用户发送的任务生成请求,并存储;所述调度节点,用于从所述存储节点中获取所述用户发送的任务生成请求,并根据所述任务生成请求中携带的任务生成数据,生成若干待执行的批量同质任务。3.如权利要求1所述的系统,其特征在于,所述调度节点,用于根据所述各计算集群分别对应的负载情况和生成的批量同质任务,确定所述各计算集群分别对应的待执行任务中包含的同质任务的数量;针对每个计算集群,根据该计算集群的待执行任务中包含的同质任务的数量,从未下发的各同质任务中,选择所述数量对应的同质任务,作为该计算集群对应的待执行任务。4.如权利要求3所述的系统,其特征在于,所述系统还包括:存储节点;所述调度节点,用于将该计算集群的标识和该计算集群的待执行任务发送至所述存储节点;从所述各计算集群中,确定目标集群,并根据所述目标集群的标识,向所述存储节点发送第一指令;接收所述存储节点返回的所述目标集群的待执行任务,并将所述目标集群的待执行任务下发至所述目标集群;所述存储节点,用于接收所述调度节点发送的计算集群的标识和待执行任务,确定所述标识和所述待执行任务之间的关联关系,并将所述标识和所述待执行任务之间的关联关系和所述待执行任务存储;接收第一指令,根据所述第一指令中携带的所述目标集群的标识,确定所述目标集群的待执行任务,并返回;所述计算集群,用于接收所述调度节点下发的待执行任务,并执行。5.如权利要求1所述的系统,其特征在于,所述调度节点,用于确定所述各计算集群中包含的各计算单元分别对应的负载情况,并根据各负载情况,从各计算单元中,确定用于执行所述批量同质任务的计算单元,作为指定单元;根据各指定单元分别对应的负载情况以及所述批量同质任务,确定所述各指定单元分别对应的待执行任务,并根据各计算集群分别对应的指定单元,确定所述各计算集群分别对应的待执行任务;所述计算集群,用于接收所述调度节点发送的待执行任务,并确定所述计算集群自身包含的各指定单元,以及调度所述各指定单元执行所述待执行任务。6.如权利要求1所述的系统,其特征在于,针对所述批量同质任务中的每个同质任务,该同质任务有其对应的任务执行状态,所述任务执行状态包含未启动、执行中、执行成功和执行失败中的一种;所述调度节点,用于针对所述批量同质任务中的每个同质任务,按照预设的时间间隔,
确定该同质任务的任务执行状态;当根据所述任务执行状态确定该同质任务执行失败时,将该同质任务的任务执行状态更新为未启动。7.如权利要求5所述的系统,其特征在于,所述调度节点,用于确定执行所述批量同质任务的计算单元的数量,作为指定数量,并根据各负载情况,从各计算单元中,选择用于执行所述批量同质任务的计算单元,作为指定单元,所述指定单元的数量为所述指定数量。8.如权利要求5所述的系统,其特征在于,所述调度节点,用于从各计算单元中,确定用于执行所述批量同质的各指定单元,并针对所述批量同质任务中包含的每个同质任务,确定需执行该同质任务的计算单元的数量,若所述数量不超过特定数量,则从所述各指定单元中,确定与该同质任务匹配的指定单元;若所述数量超过指定数量,则从所述各指定单元中,选择所述数量的指定单元作为执行该同质任务的指定单元。9.如权利要求1所述的系统,其特征在于,所述调度节点用于确定所述批量同质任务中的同质任务对应的计算单元的数量,并根据所述各计算集群中分别对应的负载情况、所述批量同质任务以及所述同质任务对应的计算单元的数量,确定所述各计算集群分别对应的待执行任务,其中,所述同质任务对应的计算单元的数量为执行所述同质任务所需的计算单元的数量。10.一种批量同质任务的处理方法,其特征在于,所述方法应用于批量同质任务的处理系统中的调度节点,所述系统包括:调度节点和若干计算集群,所述计算集群包含若干计算单元,各计算单元提供相同的批处理服务;响应于任务生成请求,生成若干待执行的批量同质任务,所述批量同质任务为执行环境相同、业务流程相同且相互独立的各任务;根据所述各计算集群分别对应的负载情况和所述批量同质任务,确定所述各计算集群分别对应的待执行任务;将各待执行任务下发至所述各待执行任务分别对应的计算集群。11.如权利要求10所述的方法,其特征在于,所述系统包含存储节点;响应于任务生成请求,生成若干待执行的批量同质任务,具体包括:向所述存储节点发送任务获取请求;接收所述存储节点根据所述任务获取请求返回的任务生成请求,所述任务生成请求为用户发送的;确定所述任务生成请求中携带的任务生成数据,并根据所述任务生成数据,生成若干待执行的批量同质任务。12.如权利要求10所述的方法,其特征在于,确定所述各计算集群分别对应的待执行任务,具体包括:根据所述各计算集群分别对应的负载情况和生成的批量同质任务,确定所述各计算集群分别对应的待执行任务中包含的同质任务的数量;针对每个计算集群,根据该计算集群的待执行任务中包含的同质任务的数量,从未下发的各同质任务中,选择所述数量对应的同质任务,作为该计算集群对应的待执行任务。13.如权利要求10所述的方法,其特征在于,确定所述各计算集群分别对应的待执行任务,具体包括:确定所述各计算集群中包含的各计算单元分别对应的负载情况,并根据各负载情况,
从各计算单元中,确定用于执行所述批量同质任务的计算单元,作为指定单元;根据各指定单元分别对应的负载情况以及所述批量同质任务,确定所述各指定单元分别对应的待执行任务,并根据各计算集群分别对应的指定单元,确定所述各计算集群分别对应的待执行任务。14.如权利要求10所述的方法,其特征在于,针对所述批量同质任务中的每个同质任务,该同质任务有其对应的任务执行状态,所述任务执行状态包含未启动、执行中、执行成功和执行失败中的一种;所述方法还包括:针对所述批量同质任务中的每个同质任务,按照预设的时间间隔,确定该同质任务的任务执行状态;当根据所述任务执行状态确定该同质任务执行失败时,将该同质任务的任务执行状态更新为未启动。15.如权利要求13所述的方法,其特征在于,从各计算单元中,确定用于执行所述批量同质任务的计算单元,作为指定单元,具体包括:确定执行所述批量同质任务的计算单元的数量,作为指定数量,并根据各负载情况,从各计算单元中,选择用于执行所述批量同质任务的计算单元,作为指定单元,所述指定单元的数量为所述指定数量。16.如权利要求10所述的方法,其特征在于,从各计算单元中,确定用于执行所述批量同质任务的计算单元,作为指定单元,具体包括:从各计算单元中,确定用于执行所述批量同质的各指定单元,并针对所述批量同质任务中包含的每个同质任务,确定需执行该同质任务的计算单元的数量;若所述数量不超过特定数量,则从所述各指定单元中,确定与该同质任务匹配的指定单元;若所述数量超过指定数量,则从所述各指定单元中,选择所述数量的指定单元作为执行该同质任务的指定单元。17.如权利要求12所述的方法,其特征在于,所述系统还包括:存储节点;将各待执行任务下发至所述各待执行任务分别对应的计算集群,具体包括:将该计算集群的标识和该计算集群的待执行任务发送至所述存储节点;从所述各计算集群中,确定目标集群;根据所述目标集群的标识,向所述存储节点发送第一指令;接收所述存储节点返回的所述目标集群的待执行任务,并将所述目标集群的待执行任务下发至所述目标集群。18.如权利要求10所述的方法,其特征在于,根据所述各计算集群分别对应的负载情况和所述批量同质任务,确定所述各计算集群分别对应的待执行任务,具体包括:确定所述批量同质任务中的同质任务对应的计算单元的数量;根据所述各计算集群中分别对应的负载情况、所述批量同质任务以及所述同质任务对应的计算单元的数量,确定所述各计算集群分别对应的待执行任务;其中,所述同质任务对应的计算单元的数量为执行所述同质任务所需的计算单元的数量。
19.一种批量同质任务的处理装置,其特征在于,所述装置应用于批量同质任务的处理系统中的调度节点,所述批量同质任务处理系统包括:调度节点和若干计算集群,所述计算集群包含若干计算单元,各计算单元提供相同的批处理任务;请求确定模块,用于响应于任务生成请求,生成若干待执行的批量同质任务,所述批量同质任务为执行环境相同、业务流程相同且相互独立的各任务;任务确定模块,用于根据所述各计算集群分别对应的负载情况和所述批量同质任务,确定所述各计算集群分别对应的待执行任务;下发模块,用于将各待执行任务下发至所述各待执行任务分别对应的计算集群。20.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述权利要求10~18任一项所述的方法。21.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求10~18任一项所述的方法。
技术总结
本说明书公开了一种批量同质任务的处理系统、方法以及装置,调度节点生成批量同质任务,并根据各计算集群分别对应的负载,将该批量同质任务下发至各计算集群,由各计算集群执行该批量同质任务。在批量同质任务的任务量过大时,可调用多个计算集群来协同处理同一批量同质任务,减少了批量同质任务的处理时间,保证了处理效率。证了处理效率。证了处理效率。
技术研发人员:杨非 宋全恒 杨清霖 潘爱民
受保护的技术使用者:之江实验室
技术研发日:2023.06.08
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种煤层顺层钻孔孔口除尘装置及方法与流程 下一篇:铅液浇煲的制作方法