分布式任务处理系统及方法、装置、存储介质以及设备与流程
未命名
09-17
阅读:82
评论:0

1.本说明书涉及计算机技术领域,尤其涉及一种分布式任务处理系统及方法、装置、存储介质以及设备。
背景技术:
2.随着计算机技术的发展和业务融合的需要,使用分布式系统来执行任务处理过程,已经成为分布式系统最常见的应用场景之一。
3.一般的,分布式系统中包含调度节点和计算节点,其中,调度节点接收任务,并将任务信息发送给计算节点,由计算节点根据接收到的任务信息自动生成任务并执行。
4.但是,在分布式系统执行任务的过程中,存在系统负载过高的情况,在该情况下,只能通过增加系统计算资源的方式来避免分布式系统宕机,以此来保证分布式系统的任务处理效率。
5.基于此,本说明书提供一种分布式任务处理系统。
技术实现要素:
6.本说明书提供一种分布式任务处理系统及方法、装置、存储介质以及设备,以部分的解决现有技术存在的上述问题。
7.本说明书采用下述技术方案:本说明书提供一种分布式任务处理系统,所述系统包括:调度节点和若干计算节点,各计算节点执行不同的任务;其中:所述调度节点,用于确定各计算节点执行的任务分别对应的任务信息,并根据各任务的任务信息确定所述系统的负载情况,当根据所述负载情况确定存在异常时,根据各任务分别对应的任务信息,确定目标任务,以及根据所述目标任务的任务标识生成终止指令,并广播;所述计算节点,用于接收调度节点发送的终止指令,并当根据所述终止指令中携带的目标任务的任务标识确定自身存储有所述目标任务及其对应的执行状态时,将所述目标任务的执行状态更新为终止状态,以及针对自身执行的每个任务,确定该任务对应的执行状态,若所述执行状态为终止状态,则停止执行该任务。
8.可选地,所述计算节点,用于向所述调度节点发送任务生成请求;接收所述调度节点返回的任务标识,并根据所述任务标识和任务信息,生成待执行任务,确定所述待执行任务的执行状态,以及根据所述任务标识将所述执行状态发送至所述调度节点;所述调度节点,用于根据接收到的任务生成请求,为所述任务生成请求对应的任务分配任务标识,所述各计算节点执行的任务对应于不同的任务标识;将所述任务标识根据所述任务生成请求返回给所述计算节点;接收所述计算节点发送的执行状态,根据所述执行状态更新所述任务标识对应的任务的状态,并存储。
9.可选地,所述调度节点,用于确定各计算节点分别执行的任务对应的任务信息,针
对每个任务,该任务的任务信息包含任务执行时长、任务优先级、任务占用线程数量中的至少一种;根据各任务分别对应的任务信息,确定所述系统的负载情况。
10.可选地,所述调度节点,用于根据各任务分别对应的任务信息,确定所述各任务分别对应的任务等级,并根据所述各任务分别对应的任务等级,确定所述任务等级低于预设阈值的任务,作为目标任务;其中,针对每个任务,该任务的任务信息包含任务执行时长、任务优先级、任务占用线程数量中的至少一种,该任务的任务等级与所述任务执行时长负相关,所述任务等级与所述任务优先级正相关,所述任务等级与所述任务占用线程数量负相关。
11.本说明书提供一种分布式任务处理方法,所述任务执行方法应用于分布式任务处理系统的调度节点,所述系统包括:调度节点和若干计算节点,各计算节点执行不同的任务;所述方法包括:确定所述各计算节点执行的任务分别对应的任务信息,并根据各任务的任务信息,确定所述系统的负载情况;当根据所述负载情况确定所述系统存在异常时,根据所述各任务分别对应的任务的任务信息,确定目标任务;根据所述目标任务的任务标识生成终止指令,并广播;以使接收到所述终止指令的计算节点根据所述目标任务的任务标识,终止执行所述目标任务。
12.可选地,根据各任务的任务信息确定所述系统的负载情况,具体包括:针对每个计算节点,接收该计算节点发送的任务信息,所述任务信息为该计算节点执行的任务对应的任务信息,其中,所述任务信息包括任务执行时长、任务优先级、任务占用线程数量中的至少一种;根据各任务分别对应的任务信息,确定所述系统的负载情况。
13.可选地,根据所述各任务分别对应的任务的信息,确定目标任务,具体包括:根据各任务分别对应的任务信息,确定所述各任务分别对应的任务等级,针对每个任务,该任务的任务信息包含任务执行时长、任务优先级、任务占用线程数量中的至少一种,该任务的任务等级与所述任务执行时长负相关,所述任务等级与所述任务优先级正相关,所述任务等级与所述任务占用线程数量负相关;根据所述各任务分别对应的任务等级,确定所述任务等级低于预设阈值的任务,作为目标任务。
14.本说明书提供一种分布式任务处理装置,所述装置应用于分布式任务处理系统中的调度节点,所述系统包括:调度节点和若干计算节点,各计算节点执行不同的任务,所述装置包括:负载确定模块,用于确定所述各计算节点执行的任务分别对应的任务信息,并根据各任务的任务信息确定所述系统的负载情况;目标确定模块,用于当根据所述负载情况确定所述系统存在异常时,根据所述各任务分别对应的任务的信息,确定目标任务;广播模块,用于根据所述目标任务的任务标识生成终止指令,并广播,以使接收到所述终止指令的计算节点根据所述任务标识终止执行所述目标任务。
15.本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所
述计算机程序被处理器执行时实现上述一种分布式任务处理方法。
16.本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述一种分布式任务处理方法。
17.本说明书采用的上述至少一个技术方案能够达到以下有益效果:在分布式任务处理系统对各任务进行处理的过程中,通过调度节点确定各任务的任务信息,并基于各任务信息,确定系统的负载情况,以及在负载情况过高时,确定需要终止的目标任务,将该目标任务的任务标识广播给计算节点。计算节点可根据接收到的目标任务的任务标识,判断自身是否在执行该目标任务,若是,则将该目标任务的状态更新为终止状态,并停止执行该目标任务。
18.本说明书可对分布式处理系统的负载状态进行监控,并在监控到系统负载过高时,自动基于各任务的任务信息,确定需终止的目标任务来进行终止。在不需要增加计算资源的情况下,也可保证该系统的任务处理效率。
附图说明
19.此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:图1为本说明书提供的一种分布式任务处理系统的结构示意图;图2为本说明书提供的分布式任务处理方法的流程示意图;图3为本说明书提供的分布式任务处理方法的流程示意图;图4为本说明书提供的分布式任务处理方法的流程示意图;图5为本说明书提供的分布式任务处理方法的流程示意图;图6为本说明书提供的分布式任务处理装置的结构示意图;图7为本说明书提供的对应于图5的电子设备示意图。
具体实施方式
20.为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
21.以下结合附图,详细说明本说明书各实施例提供的技术方案。
22.图1为本说明书提供的一种分布式任务处理系统的结构示意图。其中,该分布式任务处理系统包括:调度节点和若干计算节点。其中,各计算节点提供不同的服务。也就是说,在本说明书中的该分布式任务处理系统中,各计算节点执行不同的任务。当然,针对每个计算节点,该计算节点中为仅可用于执行某种类型的任务的节点,如,验证任务、风控任务等。也可为该分布式任务处理系统中预先部署有各类型的任务分别对应的配置信息,该计算节点在对任务进行处理时,可确定任务对应的类型对应的配置信息,以基于配置信息来执行该任务。该计算节点具体可执行的任务对应的任务类型可根据需要进行设置,本说明书对
此不做限制。
23.从硬件角度上来说,本说明书提供的一个或多个实施例中,针对该系统中的每个节点,该节点可为一个或多个服务器,也可为一个或多个智能设备。各节点可分别在不同的服务器上运行,也可为部署在相同的服务器中运行。
24.从软件角度上来说,本说明书提供的一个或多个实施例中,该系统中的各节点可为在服务器上运行的代码,通过运行各节点的代码实现各节点的功能。并且,在本说明书中,不同节点的代码之间是相互独立的,每个节点可通过预设的数据接口与其他节点进行通信或者数据传输。
25.本说明书提供的一个或多个实施例中,以该分布式任务处理系统由单个调度节点和多个计算节点组成为例进行说明。其中,该分布式任务处理系统执行的任务可为相同任务类型对应的任务,也可为不同任务类型对应的任务。
26.以该分布式任务处理系统执行的任务为数据库查询任务为例进行说明。其中,数据库中以表格形式存储数据,而要从数据库中查询到待查询数据,通常需将该待查询数据和该数据库中存储的各数据进行比对,于是,针对该数据库中存储的每个数据,该待查询数据和该数据之间进行比对的过程可为一个数据库查询任务。于是,该分布式任务系统中的各节点执行的各任务可为该待查询任务和该数据库中存储的各数据之间生成的各数据库查询任务。
27.当然,上述数据库查询任务仅为该分布式任务处理系统执行的任务的示例说明,该分布式任务处理系统中的各节点可执行相同类型的任务,也可执行不同类型的任务,如,a节点执行a类型的任务,b节点执行b类型的任务。具体各节点执行的任务是否属于相同任务类型,可根据需要进行设置,本说明书对此不做限制。
28.该分布式任务处理系统中的调度节点可响应于任务处理请求。其中,该任务处理请求可为用户发送的,也可为存储任务生成数据的服务器根据预设的任务生成条件自动生成的。该预设的任务生成条件可为当前时刻到达预设的时间点、监测到用户执行的指定操作中的至少一种。
29.该任务处理请求中可携带有任务生成数据,于是,调度节点可对该任务生成请求进行解析,确定该任务生成请求中携带的任务生成数据,并将各任务生成数据发送给各计算节点,由计算节点根据接收到的任务生成数据,来生成任务,并执行。其中,该任务生成数据可包括任务对应的任务类型,执行任务所需的计算资源,任务对应的配置信息等。
30.在本说明书提供的一个或多个实施例中,在该分布式任务处理系统中的各计算节点执行任务的过程中,该调度节点可对该系统的负载情况进行监测,并当监测到该系统的负载情况过高时,从各计算节点执行的各任务中,确定目标任务,并将该目标任务终止,以减小该系统的负载压力。
31.具体的,该分布式任务处理系统中的每个计算节点,可按照预设的时间间隔,向调度节点发送自身执行的任务的任务信息。
32.于是,该调度节点可接收该计算节点发送的任务信息,该任务信息可为该节点当前正在执行的任务对应的任务信息。其中,该任务信息可包含该任务对应的任务标识。
33.则在接收到各计算节点发送的任务信息后,该调度节点可根据各任务的任务信息,确定该系统的负载情况。以该任务信息为任务标识为例,当接收到的各任务标识的数量
大于预设的数量阈值时,则该调度节点可确定该系统的负载过高。则该调度节点可根据预设的数量阈值以及接收到的各任务的任务信息,判断该系统中的计算节点正在处理的任务的数量,是否大于高数量阈值。
34.若是,则该调度节点可确定系统的负载过高。在该情况下,通常该系统中的计算节点存在宕机的可能性。则该计算节点可根据负载情况确定存在异常。
35.若否,则该调度节点可确定该系统的负载均衡,不存在异常。
36.进一步的,在根据负载情况确定异常时,该调度节点还可从各计算节点正在执行的各任务中,确定目标任务并终止。
37.具体的,针对每个任务,该任务的任务信息可包含该任务的任务执行时长、任务优先级、任务占用线程数量中的至少一种。
38.于是,该调度节点可针对每个任务,根据该任务的任务信息,确定该任务对应的任务等级。其中,该任务等级用于表征该任务的重要程度。该任务等级与该任务的任务执行时长负相关,该任务等级与该任务的任务优先级正相关,该任务的任务等级和该任务的任务占用线程数量负相关。也就是说,针对每个任务,该任务的任务执行时长越短,该任务的任务优先级越高,该任务的任务占用线程数量越少,则该任务的任务等级越高。反之,该任务的任务执行时长越长,任务优先级越低,任务占用线程数量越多,则该任务的任务等级越低。
39.接着,该调度节点可根据各任务分别对应的任务等级,从各任务中,确定该任务等级低于预设阈值的任务,作为目标任务。其中,该目标任务为用于终止的任务。
40.在确定出目标任务后,该调度节点可基于该目标任务的任务标识,生成终止指令,并将该终止指令广播给各计算节点。
41.针对每个计算节点,该计算节点中存储有该计算节点自身正在执行和/或待执行的任务的任务标识,以及上述各任务对应的执行状态。于是,该计算节点可接收该调度节点广播的终止指令,并对该终止指令进行解析,确定出该终止指令中包含的该目标任务的任务标识。
42.然后,该计算节点可根据自身存储的各任务的任务标识,以及确定出的目标任务的任务标识,判断自身执行的任务中是否包含该目标任务。
43.若是,则可确定该目标任务为该计算节点执行的,则该计算节点需根据该目标任务的任务标识,将该目标任务的执行状态更新为终止状态,并将更新后的目标任务及其状态存储在该计算节点中。
44.若否,则可确定该目标任务不为该计算节点执行,则该计算节点可将接收到的终止指令、确定出的目标任务的任务标识等数据进行丢弃。
45.于是,经过上述操作,针对每个计算节点,若该计算节点执行目标任务,则在该计算节点存储的各任务及其对应的状态中,该目标任务的执行状态为终止状态。但由于上述更改状态的步骤可为在目标任务执行过程中执行的,因此可能出现目标任务对应的执行状态已更改,但计算节点仍然在执行任务的情况出现。为了避免上述情况的出现,该计算节点还可针对自身执行的每个任务,确定该任务对应的执行状态,并当该执行状态为终止状态时,停止执行该任务。当然,若该执行状态为正在执行或待执行,该计算节点可继续处理该任务。
46.其中,该计算节点可按照预设的时间间隔,确定各任务分别对应的执行状态,并停止执行该执行状态为终止状态的任务。该计算节点也可对各任务的执行状态是否变化进行监测,若监测到存在执行状态变化的任务,则判断该任务变更后的状态是否为终止状态,若是,则停止执行该任务。具体该计算节点如何确定各任务分别对应的执行状态,以及如何基于执行状态对各任务进行处理,可根据需要进行设置,本说明书对此不做限制。
47.基于图1所示的分布式任务处理系统,在对各任务进行处理的过程中,通过调度节点确定各任务的任务信息,并基于各任务信息,确定系统的负载情况,以及在负载情况过高时,确定需要终止的目标任务,将该目标任务的任务标识广播给计算节点。计算节点可根据接收到的目标任务的任务标识,判断自身是否在执行该目标任务,若是,则将该目标任务的状态更新为终止状态,并停止执行该目标任务。本说明书可对分布式处理系统的负载状态进行监控,并在监控到系统负载过高时,自动基于各任务的任务信息,确定需终止的目标任务来进行终止。在不需要增加计算资源的情况下,也可保证该系统的任务处理效率。
48.进一步的,对于本说明书中的该系统来说,为了避免出现多个计算节点处理的任务对应于相同任务标识,但各任务实际上为不同任务的情况。在各计算节点生成任务时,还可由调度节点为各任务分配不同的任务标识。
49.具体的,针对每个计算节点,该计算节点可接收调度节点发送的任务生成信息,于是,该计算节点可根据该任务生成信息,向调度节点发送任务生成请求。
50.则该调度节点可接收计算节点发送的任务生成请求,并根据该任务生成请求,为该任务生成请求对应的任务分配任务标识,其中,该系统中执行的各任务对应于不同的任务标识。
51.于是,在分配好任务标识后,该调度节点可根据该任务生成请求,将该任务标识返回给计算节点。
52.该计算节点可接收调度节点返回的任务标识,并根据任务生成信息以及在该系统中全局唯一的该任务标识,生成任务,并确定该任务对应的执行状态。
53.在确定出该执行状态后,该计算节点可根据该任务标识将该执行状态发送给调度节点。
54.则该调度节点可接收该执行状态,并基于该执行状态对应的任务标识,存储该任务标识和执行状态之间的对应关系。
55.于是,后续,该调度节点可按照预设的时间间隔,从计算节点处获取计算节点执行的任务以及各任务对应的任务信息,并根据任务信息更新各任务标识和各任务状态之间的对应关系。
56.基于相同思想,本说明书提供如图2所示的分布式任务处理方法的流程示意图。其中,该分布式任务处理方法应用于调度节点。
57.该调度节点可首先从各计算节点处,确定各任务分别对应的任务信息。然后,再根据各任务分别对应的任务信息,确定该系统的负载情况。接着,该调度节点可根据该负载情况判断该系统的负载是否过高。若是,则该调度节点可从根据各任务分别对应的任务信息,从各任务中,确定需终止的目标任务。于是,在确定出目标任务后,该调度节点可根据目标任务的任务标识,生成终止指令,并将该终止指令进行广播。
58.其中,该终止指令中包含的目标任务的数量可为一个,也可为多个。
59.基于相同思想,本说明书提供如图3所示的分布式任务处理方法的流程示意图。其中,该分布式任务处理方应用于计算节点。
60.该计算节点可监听终止指令,并在监听到终止指令后,确定该终指令中包含的目标任务的任务标识。接着,该计算节点可根据该目标任务的任务标识,以及自身存储的各任务分别对应的任务标识,判断该目标任务是否为该计算节点自身执行。若是,则该计算节点可将该目标任务的执行状态更新为终止状态。若否,则该计算节点可将该终止指令丢弃。
61.基于相同思想,本说明书提供如图4所示的分布式任务处理方法的流程示意图。其中,该分布式任务处理方应用于计算节点。
62.该计算节点可针对自身正在执行的每个任务,确定该任务的执行状态,并根据确定出的执行状态,判断该执行状态是否为终止状态。若是,则该调度节点可终止该任务。若否,则该计算节点可执行该任务。
63.需要说明的是,上述目标任务在终止之后,该调度节点可基于目标任务的任务标识,从计算节点中确定该目标任务对应的任务生成信息,并将该任务生成信息分配给其他计算节点来执行。也可根据该目标任务对应的任务标识,向发送该目标任务的任务生成信息的用户返回提示信息,该提示信息用于提示用户该目标任务存在错误。当然,该计算节点在将目标任务对应的任务生成信息分配给其他计算节点时,还可按照确定各计算节点的负载情况,并基于负载情况进行分配,或者将该任务生成信息进行存储,后续在该系统的压力较小时,将该任务生成信息重新进行分配。具体该系统在将任务进行终止后如何进行处理以及何时进行处理,可根据需要进行设置,本说明书对此不做限制。
64.基于同样思路,本说明书提供一种分布式任务处理方法的流程示意图。如图5所示,其中:s100:确定所述各计算节点执行的任务分别对应的任务信息,并根据各任务的任务信息,确定所述系统的负载情况。
65.s102:当根据所述负载情况确定所述系统存在异常时,根据所述各任务分别对应的任务的任务信息,确定目标任务。
66.s104:根据所述目标任务的任务标识生成终止指令,并广播,以使接收到所述终止指令的计算节点根据所述目标任务的任务标识终止执行所述目标任务。
67.在本说明书提供的一个或多个实施例中,该方法应用于分布式任务处理系统中的调度节点,该系统包括:调度节点和若干计算节点。各节点可用于执行不完全相同的任务。
68.在本说明书提供的一个或多个实施例中,该分布式任务处理方法的具体实施步骤可参照上述系统中对调度节点的描述,本说明书在此不再赘述。
69.基于图5所示的一种分布式任务处理方法,在对各任务进行处理的过程中,确定各任务的任务信息,并基于各任务信息,确定系统的负载情况,以及在负载情况过高时,确定需要终止的目标任务,将该目标任务的任务标识广播给计算节点。使得计算节点可根据接收到的目标任务的任务标识,停止执行该目标任务。本方法可对分布式处理系统的负载状态进行监控,并在监控到系统负载过高时,自动基于各任务的任务信息,确定需终止的目标任务来进行终止。在不需要增加计算资源的情况下,也可保证该系统的任务处理效率。
70.另外,在本说明书中,该调度节点可基于各任务的任务信息,确定该系统的负载情况。
71.具体的,针对每个计算节点,该调度接地那可接收该计算节点发送的任务信息,该任务信息为该计算节点执行的任务对应的任务信息。其中,该任务信息包括任务标识、任务执行时长、任务优先级、任务占用线程数量中的至少一种。
72.于是,该调度节点可根据各任务分别对应的任务信息,确定所述系统的负载情况。
73.其中,若该系统中执行的任务过多,即,调度节点接收到的任务标识过多,则该调度节点可确定该系统负载过高。若该系统中各任务对应的平均执行时间过长,则该系统负载过高,若各任务的平均线程数量过多,则该系统负载过高。
74.于是,该调度节点可根据各任务分别对应的任务信息,确定所述系统的任务数量指标、任务执行时间指标以及任务占用资源指标中的至少一种,作为该系统的系统指标,并基于系统指标和预设的规则,确定该系统的负载情况。其中,该任务数量指标为该系统正在执行的任务的总数量,任务执行时间指标可根据各任务分别对应的任务执行时间的平均数、中位数等确定,任务占用资源指标可根据各任务分别对应的任务占用线程数量的平均数、中位数等确定。
75.进一步的,在负载过高的情况下,该调度节点还可基于各任务的任务信息,确定各任务的任务等级,并从等级低的任务中确定目标任务进行终止。
76.具体的,该调度节点可根据各任务分别对应的任务信息,确定各任务分别对应的任务等级。其中,针对每个任务,该任务的任务等级与该任务的任务执行时长负相关,该任务等级与该任务的任务优先级正相关,该任务等级与该任务的任务占用线程数量负相关。
77.以任务执行时长为a、任务占用线程数量为b、任务优先级为c为例,则任务等级可为。当然,上述任务等级的确定公式仅为示例说明,具体如何基于任务信息确定任务等级,可根据需要进行设置,本说明书对此不做限制。
78.最后,该调度节点可根据各任务分别对应的任务等级,确定任务等级低于预设阈值的任务,作为目标任务。
79.需要说明的是,该分布式任务处理方法应用于上述分布式任务处理系统中的调度单元,因此,该分布式任务处理方法的具体执行过程可参见对于上述分布式任务处理系统中调度单元的描述,本说明书在此不再赘述。
80.基于同样思路,本说明书还提供一种分布式任务处理装置,如图6所示。
81.图6为本说明书提供的一种分布式任务处理装置的结构示意图,所述装置应用于分布式任务处理系统中的调度节点,所述系统包括:调度节点和若干计算节点,各计算节点执行不同的任务,其中:负载确定模块200,用于确定所述各计算节点执行的任务分别对应的任务信息,并根据各任务的任务信息确定所述系统的负载情况。
82.目标确定模块202,用于当根据所述负载情况确定所述系统存在异常时,根据所述各任务分别对应的任务的信息,确定目标任务。
83.广播模块204,用于根据所述目标任务的任务标识生成终止指令,并广播,以使接收到所述终止指令的计算节点根据所述任务标识终止执行所述目标任务。
84.可选地,负载确定模块200,用于针对每个计算节点,接收该计算节点发送的任务信息,所述任务信息为该计算节点执行的任务对应的任务信息,其中,所述任务信息包括任
务执行时长、任务优先级、任务占用线程数量中的至少一种,根据各任务分别对应的任务信息,确定所述系统的负载情况。
85.可选地,目标确定模块202,用于根据各任务分别对应的任务信息,确定所述各任务分别对应的任务等级,针对每个任务,该任务的任务信息包含任务执行时长、任务优先级、任务占用线程数量中的至少一种,该任务的任务等级与所述任务执行时长负相关,所述任务等级与所述任务优先级正相关,所述任务等级与所述任务占用线程数量负相关,根据所述各任务分别对应的任务等级,确定所述任务等级低于预设阈值的任务,作为目标任务。
86.本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种分布式任务处理方法。
87.本说明书还提供了图7所示的电子设备的示意结构图。如图7所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图5所述的一种分布式任务处理方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
88.在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。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
89.控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(application specific integrated circuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc 625d、atmel at91sam、microchip pic18f26k20 以及silicone labs c8051f320,
存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
90.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
91.为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
92.本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
93.本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程病灶检测设备的处理器以产生一个机器,使得通过计算机或其他可编程病灶检测设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
94.这些计算机程序指令也可存储在能引导计算机或其他可编程病灶检测设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
95.这些计算机程序指令也可装载到计算机或其他可编程病灶检测设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
96.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
97.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
98.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法
或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
99.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
100.本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
101.本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
102.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
103.以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
技术特征:
1.一种分布式任务处理系统,其特征在于,所述系统包括:调度节点和若干计算节点,各计算节点执行不同的任务;其中:所述调度节点,用于确定各计算节点执行的任务分别对应的任务信息,并根据各任务的任务信息确定所述系统的负载情况,当根据所述负载情况确定存在异常时,根据各任务分别对应的任务信息,确定目标任务,以及根据所述目标任务的任务标识生成终止指令,并广播;所述计算节点,用于接收调度节点发送的终止指令,并当根据所述终止指令中携带的目标任务的任务标识确定自身存储有所述目标任务及其对应的执行状态时,将所述目标任务的执行状态更新为终止状态,以及针对自身执行的每个任务,确定该任务对应的执行状态,若所述执行状态为终止状态,则停止执行该任务。2.如权利要求1所述的系统,其特征在于,所述计算节点,用于向所述调度节点发送任务生成请求;接收所述调度节点返回的任务标识,并根据所述任务标识和任务信息,生成待执行任务,确定所述待执行任务的执行状态,以及根据所述任务标识将所述执行状态发送至所述调度节点;所述调度节点,用于根据接收到的任务生成请求,为所述任务生成请求对应的任务分配任务标识,所述各计算节点执行的任务对应于不同的任务标识;将所述任务标识根据所述任务生成请求返回给所述计算节点;接收所述计算节点发送的执行状态,根据所述执行状态更新所述任务标识对应的任务的状态,并存储。3.如权利要求1所述的系统,其特征在于,所述调度节点,用于确定各计算节点分别执行的任务对应的任务信息,针对每个任务,该任务的任务信息包含任务执行时长、任务优先级、任务占用线程数量中的至少一种;根据各任务分别对应的任务信息,确定所述系统的负载情况。4.如权利要求1所述的系统,其特征在于,所述调度节点,用于根据各任务分别对应的任务信息,确定所述各任务分别对应的任务等级,并根据所述各任务分别对应的任务等级,确定所述任务等级低于预设阈值的任务,作为目标任务;其中,针对每个任务,该任务的任务信息包含任务执行时长、任务优先级、任务占用线程数量中的至少一种,该任务的任务等级与所述任务执行时长负相关,所述任务等级与所述任务优先级正相关,所述任务等级与所述任务占用线程数量负相关。5.一种分布式任务处理方法,其特征在于,所述任务执行方法应用于分布式任务处理系统的调度节点,所述系统包括:调度节点和若干计算节点,各计算节点执行不同的任务;所述方法包括:确定所述各计算节点执行的任务分别对应的任务信息,并根据各任务的任务信息,确定所述系统的负载情况;当根据所述负载情况确定所述系统存在异常时,根据所述各任务分别对应的任务信息,确定目标任务;根据所述目标任务的任务标识生成终止指令,并广播;以使接收到所述终止指令的计算节点根据所述目标任务的任务标识,终止执行所述目标任务。6.如权利要求5所述的方法,其特征在于,根据各任务的任务信息确定所述系统的负载情况,具体包括:
针对每个计算节点,接收该计算节点发送的任务信息,所述任务信息为该计算节点执行的任务对应的任务信息,其中,所述任务信息包括任务执行时长、任务优先级、任务占用线程数量中的至少一种;根据各任务分别对应的任务信息,确定所述系统的负载情况。7.如权利要求5所述的方法,其特征在于,根据所述各任务分别对应的任务的信息,确定目标任务,具体包括:根据各任务分别对应的任务信息,确定所述各任务分别对应的任务等级,针对每个任务,该任务的任务信息包含任务执行时长、任务优先级、任务占用线程数量中的至少一种,该任务的任务等级与所述任务执行时长负相关,所述任务等级与所述任务优先级正相关,所述任务等级与所述任务占用线程数量负相关;根据所述各任务分别对应的任务等级,确定所述任务等级低于预设阈值的任务,作为目标任务。8.一种分布式任务处理装置,其特征在于,所述装置应用于分布式任务处理系统中的调度节点,所述系统包括:调度节点和若干计算节点,各计算节点执行不同的任务,所述装置包括:负载确定模块,用于确定所述各计算节点执行的任务分别对应的任务信息,并根据各任务的任务信息确定所述系统的负载情况;目标确定模块,用于当根据所述负载情况确定所述系统存在异常时,根据所述各任务分别对应的任务的信息,确定目标任务;广播模块,用于根据所述目标任务的任务标识生成终止指令,并广播,以使接收到所述终止指令的计算节点根据所述任务标识终止执行所述目标任务。9.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述权利要求5~7任一项所述的方法。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求5~7任一项所述的方法。
技术总结
本说明书公开了一种分布式任务处理系统及方法、装置、存储介质以及设备,在对各任务进行处理的过程中,通过调度节点确定各任务的任务信息,并基于各任务信息,确定系统的负载情况,以及在负载情况过高时,确定需要终止的目标任务,将该目标任务的任务标识广播给计算节点。计算节点可根据接收到的目标任务的任务标识,判断自身是否在执行该目标任务,若是,则将该目标任务的状态更新为终止状态,并停止执行该目标任务。本说明书可对分布式处理系统的负载状态进行监控,并在监控到系统负载过高时,自动基于各任务的任务信息,确定需终止的目标任务来进行终止。在不需要增加计算资源的情况下,也可保证该系统的任务处理效率。也可保证该系统的任务处理效率。也可保证该系统的任务处理效率。
技术研发人员:曾洪海 肖恒进 王超 王永恒 巫英才 连建晓 周春来 恽爽 路游 韩珺婷 王梦丝 杨亚飞 董子铭 郑黄河 沈镇方 鲁艺
受保护的技术使用者:之江实验室
技术研发日:2023.08.11
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/