CN114168275A - 任务调度方法、系统、终端设备及存储介质 - Google Patents

任务调度方法、系统、终端设备及存储介质 Download PDF

Info

Publication number
CN114168275A
CN114168275A CN202111266115.1A CN202111266115A CN114168275A CN 114168275 A CN114168275 A CN 114168275A CN 202111266115 A CN202111266115 A CN 202111266115A CN 114168275 A CN114168275 A CN 114168275A
Authority
CN
China
Prior art keywords
task
node
downstream
nodes
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111266115.1A
Other languages
English (en)
Other versions
CN114168275B (zh
Inventor
李龙权
汲浩
洪逸飞
李祖泉
蔡建平
林文海
唐雁南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen International Bank Co ltd
Original Assignee
Xiamen International Bank Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen International Bank Co ltd filed Critical Xiamen International Bank Co ltd
Priority to CN202111266115.1A priority Critical patent/CN114168275B/zh
Publication of CN114168275A publication Critical patent/CN114168275A/zh
Application granted granted Critical
Publication of CN114168275B publication Critical patent/CN114168275B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种任务调度方法、系统、终端设备及存储介质,该方法包括:分别获取各异常任务节点的下游依赖节点,分别以各下游依赖节点为起点查询对应下游节点生成下游节点串;确定各下游节点串中的各任务节点的位置序号,根据各任务节点的位置序号确定任务跑批层次得到下游任务集合;各目标任务节点的上游依赖节点与下游任务集合进行匹配得到目标节点集合;根据目标节点集合中各任务节点的任务跑批层次执行任务,当完成目标节点集合中各任务节点的任务,对下游任务集合中剩余任务节点执行任务。本发明能够在不影响数据正确性的前提下,优先恢复关键任务节点的数据,同时通过任务跑批层次执行任务,控制跑批顺序,提高任务调度的效率跟直观性。

Description

任务调度方法、系统、终端设备及存储介质
技术领域
本发明涉及任务调度技术领域,尤其涉及一种任务调度方法、系统、终端设备及存储介质。
背景技术
在多并发跑批的任务调度系统中,经常出现多源头节点任务发生数据质量问题或者程序逻辑问题,需要进行重新任务调度。由于某些任务的下游任务可能会有几千个,为了使所有数据都恢复正常,理论上相关下游的任务都进行重跑,需要花费几个小时的时间,影响业务使用。一般系统中还会有最小服务级别协议(service Level Agreement,SLA)的调度路径设置(关键任务),一旦关键任务受影响,需要以最快速度进行修复。如何按照影响性进行任务恢复调度,同时保证SLA路径获得最优先的跑批资源,是任务调度系统的一个难题。
现有的任务调度只能根据单异常节点进行整条链路的任务恢复,进而导致任务调度效率低下,降低了用户的使用体验。
发明内容
本发明实施例的目的在于提供一种任务调度方法、系统、终端设备及存储介质,旨在解决现有的任务调度过程中,只能根据单异常节点进行整条链路的任务恢复,导致的任务调度效率低下及优先级无法控制的问题。
本发明实施例是这样实现的,一种任务调度方法,所述方法包括:
分别获取各异常任务节点的下游依赖节点,并分别以各下游依赖节点为起点查询对应下游节点,生成下游节点串;
分别确定各下游节点串中的各任务节点的位置序号,并根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合;
分别获取各目标任务节点的上游依赖节点,并将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合;
根据所述目标节点集合中各任务节点的任务跑批层次执行任务,并当完成所述目标节点集合中各任务节点的任务,对所述下游任务集合中剩余任务节点执行任务。
更进一步的,所述分别以各下游依赖节点为起点查询对应下游节点,生成下游节点串,包括:
分别以各下游依赖节点为起点进行下游节点查询,并以查询到的下游节点为起点返回执行所述进行下游节点查询的步骤,直至未查询到下游节点;
针对各下游依赖节点,将查询到的下游节点进行去重合并,得到所述下游节点串,并对所述下游节点串进行去重处理。
更进一步的,所述根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合,包括:
分别获取各任务节点对应最大位置序号,并将所述最大位置序号确定为对应所述任务节点的所述任务跑批层次;
将各任务节点与对应的所述任务跑批层次进行存储,得到所述下游任务集合。
更进一步的,所述根据所述目标节点集合中各任务节点的任务跑批层次执行任务之后,还包括:
若所述目标节点集合中任一任务节点完成任务,则根据完成的任务节点对所述下游任务集合中对应的任务节点进行标注。
更进一步的,所述对所述下游任务集合中剩余任务节点执行任务,包括:
将所述下游任务集合中未被标注的任务节点,确定为所述剩余任务节点,并根据所述剩余任务节点对应的任务跑批层次执行任务。
更进一步的,所述方法还包括:
分别确定各目标任务节点的必要任务节点,并将预设跑批层次确定为各必要任务节点的任务跑批层次;
将所述必要任务节点添加至所述目标节点集合中。
更进一步的,所述将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合之后,还包括:
若同一所述任务跑批层次对应的任务节点的数量大于数量阈值,则生成任务跑批队列,并根据所述任务跑批队列对同一所述任务跑批层次对应的任务节点执行任务。
本发明实施例的另一目的在于提供一种任务调度系统,所述系统包括:
下游节点查询模块,用于分别获取各异常任务节点的下游依赖节点,并分别以各下游依赖节点为起点查询对应下游节点,生成下游节点串;
位置序号确定模块,用于分别确定各下游节点串中的各任务节点的位置序号,并根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合;
任务节点匹配模块,用于分别获取各目标任务节点的上游依赖节点,并将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合;
任务执行模块,用于根据所述目标节点集合中各任务节点的任务跑批层次执行任务,并当完成所述目标节点集合中各任务节点的任务,对所述下游任务集合中剩余任务节点执行任务。
本发明实施例的另一目的在于提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本发明实施例的另一目的在于提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明实施例,通过分别以各下游依赖节点为起点查询对应下游节点,能有效地生成各下游依赖节点对应的下游节点串,根据各下游节点串中的各任务节点的位置序号和任务跑批层次,能有效地确定到需要重新执行任务的下游任务集合,通过将各个上游依赖节点与下游任务集合中的任务节点进行匹配,能有效地确定到需要优先恢复的任务节点,通过目标节点集合中各任务节点的任务跑批层次执行任务,能同时对多个任务节点执行任务,且对目标任务节点并未造成影响,提高了任务调度效率。
附图说明
图1是本发明第一实施例提供的任务调度方法的流程图;
图2是本发明第二实施例提供的任务调度方法的流程图;
图3是本发明第三实施例提供的任务调度系统的结构示意图;
图4是本发明第四实施例提供的终端设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一
请参阅图1,是本发明第一实施例提供的任务调度方法的流程图,该任务调度方法可以应用与任一终端设备或系统,该终端设备包括服务器、手机、平板或可穿戴智能设备等,该任务调度方法包括步骤:
步骤S10,分别获取各异常任务节点的下游依赖节点,并分别以各下游依赖节点为起点查询对应下游节点,生成下游节点串;
其中,该任务调度方法应用于任务调度系统中,在任务调度系统中一般登记的依赖关系为任务节点D->任务节点A,表示任务节点A执行完任务,任务节点D才能执行任务,若任务节点A发生问题需要执行任务,则任务节点D也需要重新执行任务。
该步骤中,分别获取各异常任务节点的节点标识,并将获取到的节点标识与预存储的节点依赖关系表进行匹配,以分别获取各异常任务节点的下游依赖节点,该节点依赖关系表中存储有不同任务节点之间的上游依赖和/或下游依赖关系,可选的,该步骤中,为了获取异常起点的多个下游依赖可以采用递归算法,以异常起点作为开头,查找其直属下游依赖,得到该下游依赖节点。需要说明的是,在任务调度系统和节点依赖关系表中,一个任务节点可以存在多个上游依赖和/或多个下游依赖关系。
步骤S20,分别确定各下游节点串中的各任务节点的位置序号,并根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合;
其中,根据各下游节点串中各任务节点被查询到的顺序,确定对应任务节点在下游节点串中的位置序号,可选的,该步骤中,所述根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合,包括:
分别获取各任务节点对应最大位置序号,并将所述最大位置序号确定为对应所述任务节点的所述任务跑批层次;
其中,当任一任务节点同时存在不同的下游节点串中时,即,同一个任务节点属于不同下游依赖节点的下游节点时,该任务节点存在多个位置序号,此时,将最大位置序号确定为该任务节点的任务跑批层次,例如,根据下游依赖节点a1生成的下游节点串为b1,根据下游依赖节点a2生成的下游节点串为b2,下游节点串b1对应的信息为a1-c1-c2-c3,下游节点串b2对应的信息为a2-c4-c5-c2,即,针对任务节点c2分别存在位置序号3和位置序号4,此时,将位置序号4确定为任务节点c2的任务跑批层次,且当该任务跑批层次越大时,对应的任务节点执行任务的优先级越低。
将各任务节点与对应的所述任务跑批层次进行存储,得到所述下游任务集合;其中,该下游任务集合中存储有所有需要重新执行任务的任务节点和各任务节点对应的任务跑批层次,该任务跑批层次用于表征对应任务节点执行任务时的优先级。
步骤S30,分别获取各目标任务节点的上游依赖节点,并将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合;
其中,该目标任务节点的数量和作业内容均可以根据需求进行设置,将该各目标任务节点的节点标识与节点依赖关系表进行匹配,以获取各目标任务节点的上游依赖节点,得到上游任务集合,该上游任务集合中包括执行各目标任务节点所必须重新执行的任务节点;
该步骤中,获取该上游任务集合与下游任务集合中的任务节点之间的交集,得到该目标节点集合,该目标节点集合是本次多源头异常任务节点发生异常,并且需要优先恢复的任务节点,该目标节点集合中包括执行各目标任务节点所必须重新执行的任务节点和对应的任务跑批层次。
可选的,该步骤中,所述将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合之后,还包括:
若同一所述任务跑批层次对应的任务节点的数量大于数量阈值,则生成任务跑批队列,并根据所述任务跑批队列对同一所述任务跑批层次对应的任务节点执行任务;
其中,该数量阈值可以根据需求进行设置,例如,该数量阈值可以设置为10、20或30等,该数量阈值用于控制并发跑批的任务数据量,以防止太多任务导致资源争抢过度现象,例如,同一任务跑批层次对应的任务节点的数量为100,数量阈值为50,则根据同一任务跑批层次对应的任务节点的节点标识生成任务跑批队列d1和任务跑批队列d2,任务跑批队列d1和任务跑批队列d2均包括20个同一任务跑批层次对应的任务节点,当执行完任务跑批队列d1中的任务节点的任务时,释放任务跑批队列d1中任务节点对应的内存,并继续执行任务跑批队列d2中的任务节点的任务。
步骤S40,根据所述目标节点集合中各任务节点的任务跑批层次执行任务,并当完成所述目标节点集合中各任务节点的任务,对所述下游任务集合中剩余任务节点执行任务;
其中,通过目标节点集合中各任务节点的任务跑批层次执行任务,能同时对多个任务节点执行任务,且基于任务跑批层次执行任务,防止了各任务节点之间的相互影响,提高了任务调度的准确性。
本实施例中,通过分别以各下游依赖节点为起点查询对应下游节点,能有效地生成各下游依赖节点对应的下游节点串,根据各下游节点串中的各任务节点的位置序号和任务跑批层次,能有效地确定到需要重新执行任务的下游任务集合,通过将各个上游依赖节点与下游任务集合中的任务节点进行匹配,能有效地确定到需要优先恢复的任务节点,通过目标节点集合中各任务节点的任务跑批层次执行任务,能同时对多个任务节点执行任务,且对目标任务节点并未造成影响,提高了任务调度效率,即,本发明实施例能够在不影响数据正确性的前提下,优先恢复关键任务节点的数据,同时通过任务跑批层次执行任务,控制跑批顺序,提高任务调度的效率跟直观性。
实施例二
请参阅图2,是本发明第二实施例提供的任务调度方法的流程图,该实施例用于对步骤S10作进一步细化,包括步骤:
步骤S11,分别以各下游依赖节点为起点进行下游节点查询,并以查询到的下游节点为起点返回执行所述进行下游节点查询的步骤,直至未查询到下游节点;
其中,分别将各下游依赖节点的节点标识与节点依赖关系表进行匹配,以分别获取各下游依赖节点对应的下游节点,并将查询到的下游节点的节点标识返回执行上述与节点依赖关系表进行匹配的步骤,直至未查询到下游节点;
例如,针对下游依赖节点d1进行下游节点的查询,得到下游节点d2,根据下游节点d2进行下游节点的查询,得到下游节点d3,根据下游节点d3进行下游节点的查询,得到下游节点d4…直至下游不存在停止下游节点的查询。
步骤S12,针对各下游依赖节点,将查询到的下游节点进行去重合并,得到所述下游节点串,并对所述下游节点串进行去重处理;
其中,通过将查询到的下游节点进行去重合并,防止了下游节点串中任务节点重复的现象,提高了下游节点串的准确性,且该步骤中,通过对下游节点串进行去重处理,防止了下游节点串重复的现象。
可选的,该步骤中,所述根据所述目标节点集合中各任务节点的任务跑批层次执行任务之后,还包括:
若所述目标节点集合中任一任务节点完成任务,则根据完成的任务节点对所述下游任务集合中对应的任务节点进行标注,其中,通过完成的任务节点对下游任务集合中对应的任务节点进行标注,能有效地对已重新执行任务的任务节点起到标记的效果,防止同一任务节点多次进行重新执行的现象,提高了任务调度的准确性。
进一步地,所述对所述下游任务集合中剩余任务节点执行任务,包括:
将所述下游任务集合中未被标注的任务节点,确定为所述剩余任务节点,并根据所述剩余任务节点对应的任务跑批层次执行任务;
其中,当完成目标节点集合中各任务节点的任务,通过对下游任务集合中剩余任务节点执行任务,能有效地恢复剩余非关键任务节点的跑批,从而将受影响的所有任务节点的作业都进行数据修正。
更进一步地,本实施例中,所述方法还包括:
分别确定各目标任务节点的必要任务节点,将预设跑批层次确定为各必要任务节点的任务跑批层次,并将所述必要任务节点添加至所述目标节点集合中。
本实施例中,通过分别以各下游依赖节点为起点进行下游节点查询,并以查询到的下游节点为起点返回执行进行下游节点查询的步骤,能有效地获取到需要重新执行任务的所有任务节点,通过将查询到的下游节点进行去重合并,防止了下游节点串中任务节点重复的现象,提高了下游节点串的准确性,且该步骤中,通过对下游节点串进行去重处理,防止了下游节点串重复的现象。
实施例三
请参阅图3,是本发明第三实施例提供的任务调度系统100的结构示意图,包括:下游节点查询模块10、位置序号确定模块11、任务节点匹配模块12和任务执行模块13,其中:
下游节点查询模块10,用于分别获取各异常任务节点的下游依赖节点,并分别以各下游依赖节点为起点查询对应下游节点,生成下游节点串。其中,分别获取各异常任务节点的节点标识,并将获取到的节点标识与预存储的节点依赖关系表进行匹配,以分别获取各异常任务节点的下游依赖节点,该节点依赖关系表中存储有不同任务节点之间的上游依赖和/或下游依赖关系,可选的,该步骤中,为了获取异常起点的多个下游依赖可以采用递归算法,以异常起点作为开头,查找其直属下游依赖,得到该下游依赖节点。需要说明的是,在任务调度系统和节点依赖关系表中,一个任务节点可以存在多个上游依赖和/或多个下游依赖关系。
其中,下游节点查询模块10还用于:分别以各下游依赖节点为起点进行下游节点查询,并以查询到的下游节点为起点返回执行所述进行下游节点查询的步骤,直至未查询到下游节点;
针对各下游依赖节点,将查询到的下游节点进行去重合并,得到所述下游节点串,并对所述下游节点串进行去重处理。
位置序号确定模块11,用于分别确定各下游节点串中的各任务节点的位置序号,并根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合。
其中,位置序号确定模块11还用于:分别获取各任务节点对应最大位置序号,并将所述最大位置序号确定为对应所述任务节点的所述任务跑批层次;
将各任务节点与对应的所述任务跑批层次进行存储,得到所述下游任务集合。
任务节点匹配模块12,用于分别获取各目标任务节点的上游依赖节点,并将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合。
其中,任务节点匹配模块12还用于:分别确定各目标任务节点的必要任务节点,并将预设跑批层次确定为各必要任务节点的任务跑批层次;
将所述必要任务节点添加至所述目标节点集合中。
进一步地,任务节点匹配模块12还用于:若同一所述任务跑批层次对应的任务节点的数量大于数量阈值,则生成任务跑批队列,并根据所述任务跑批队列对同一所述任务跑批层次对应的任务节点执行任务。
任务执行模块13,用于根据所述目标节点集合中各任务节点的任务跑批层次执行任务,并当完成所述目标节点集合中各任务节点的任务,对所述下游任务集合中剩余任务节点执行任务。
其中,任务执行模块13还用于:若所述目标节点集合中任一任务节点完成任务,则根据完成的任务节点对所述下游任务集合中对应的任务节点进行标注。
可选的,任务执行模块13还用于:将所述下游任务集合中未被标注的任务节点,确定为所述剩余任务节点,并根据所述剩余任务节点对应的任务跑批层次执行任务。
本实施例,通过分别以各下游依赖节点为起点查询对应下游节点,能有效地生成各下游依赖节点对应的下游节点串,根据各下游节点串中的各任务节点的位置序号和任务跑批层次,能有效地确定到需要重新执行任务的下游任务集合,通过将各个上游依赖节点与下游任务集合中的任务节点进行匹配,能有效地确定到需要优先恢复的任务节点,通过目标节点集合中各任务节点的任务跑批层次执行任务,能同时对多个任务节点执行任务,且对目标任务节点并未造成影响,提高了任务调度效率。
实施例四
图4是本申请第四实施例提供的一种终端设备2的结构框图。如图4所示,该实施例的终端设备2包括:处理器20、存储器21以及存储在所述存储器21中并可在所述处理器20上运行的计算机程序22,例如任务调度方法的程序。处理器20执行所述计算机程序22时实现上述各个任务调度方法各实施例中的步骤,例如图1所示的S10至S40,或者图2所示的S11至S12。或者,所述处理器20执行所述计算机程序22时实现上述图3对应的实施例中各单元的功能,例如,图3所示的单元10至13的功能,具体请参阅图3对应的实施例中的相关描述,此处不赘述。
示例性的,所述计算机程序22可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器21中,并由所述处理器20执行,以完成本申请。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序22在所述终端设备2中的执行过程。例如,所述计算机程序22可以被分割成下游节点查询模块10、位置序号确定模块11、任务节点匹配模块12和任务执行模块13,各单元具体功能如上所述。
所述终端设备可包括,但不仅限于,处理器20、存储器21。本领域技术人员可以理解,图3仅仅是终端设备2的示例,并不构成对终端设备2的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器21可以是所述终端设备2的内部存储单元,例如终端设备2的硬盘或内存。所述存储器21也可以是所述终端设备2的外部存储设备,例如所述终端设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器21还可以既包括所述终端设备2的内部存储单元也包括外部存储设备。所述存储器21用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器21还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。其中,计算机可读存储介质可以是非易失性的,也可以是易失性的。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种任务调度方法,其特征在于,所述方法包括:
分别获取各异常任务节点的下游依赖节点,并分别以各下游依赖节点为起点查询对应下游节点,生成下游节点串;
分别确定各下游节点串中的各任务节点的位置序号,并根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合;
分别获取各目标任务节点的上游依赖节点,并将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合;
根据所述目标节点集合中各任务节点的任务跑批层次执行任务,并当完成所述目标节点集合中各任务节点的任务,对所述下游任务集合中剩余任务节点执行任务。
2.如权利要求1所述的任务调度方法,其特征在于,所述分别以各下游依赖节点为起点查询对应下游节点,生成下游节点串,包括:
分别以各下游依赖节点为起点进行下游节点查询,并以查询到的下游节点为起点返回执行所述进行下游节点查询的步骤,直至未查询到下游节点;
针对各下游依赖节点,将查询到的下游节点进行去重合并,得到所述下游节点串,并对所述下游节点串进行去重处理。
3.如权利要求1所述的任务调度方法,其特征在于,所述根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合,包括:
分别获取各任务节点对应最大位置序号,并将所述最大位置序号确定为对应所述任务节点的所述任务跑批层次;
将各任务节点与对应的所述任务跑批层次进行存储,得到所述下游任务集合。
4.如权利要求1所述的任务调度方法,其特征在于,所述根据所述目标节点集合中各任务节点的任务跑批层次执行任务之后,还包括:
若所述目标节点集合中任一任务节点完成任务,则根据完成的任务节点对所述下游任务集合中对应的任务节点进行标注。
5.如权利要求4所述的任务调度方法,其特征在于,所述对所述下游任务集合中剩余任务节点执行任务,包括:
将所述下游任务集合中未被标注的任务节点,确定为所述剩余任务节点,并根据所述剩余任务节点对应的任务跑批层次执行任务。
6.如权利要求1所述的任务调度方法,其特征在于,所述方法还包括:
分别确定各目标任务节点的必要任务节点,并将预设跑批层次确定为各必要任务节点的任务跑批层次;
将所述必要任务节点添加至所述目标节点集合中。
7.如权利要求1至6任一所述的任务调度方法,其特征在于,所述将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合之后,还包括:
若同一所述任务跑批层次对应的任务节点的数量大于数量阈值,则生成任务跑批队列,并根据所述任务跑批队列对同一所述任务跑批层次对应的任务节点执行任务。
8.一种任务调度系统,其特征在于,所述系统包括:
下游节点查询模块,用于分别获取各异常任务节点的下游依赖节点,并分别以各下游依赖节点为起点查询对应下游节点,生成下游节点串;
位置序号确定模块,用于分别确定各下游节点串中的各任务节点的位置序号,并根据各任务节点的位置序号确定任务跑批层次,得到下游任务集合;
任务节点匹配模块,用于分别获取各目标任务节点的上游依赖节点,并将各个上游依赖节点与所述下游任务集合中的任务节点进行匹配,得到目标节点集合;
任务执行模块,用于根据所述目标节点集合中各任务节点的任务跑批层次执行任务,并当完成所述目标节点集合中各任务节点的任务,对所述下游任务集合中剩余任务节点执行任务。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN202111266115.1A 2021-10-28 2021-10-28 任务调度方法、系统、终端设备及存储介质 Active CN114168275B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111266115.1A CN114168275B (zh) 2021-10-28 2021-10-28 任务调度方法、系统、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111266115.1A CN114168275B (zh) 2021-10-28 2021-10-28 任务调度方法、系统、终端设备及存储介质

Publications (2)

Publication Number Publication Date
CN114168275A true CN114168275A (zh) 2022-03-11
CN114168275B CN114168275B (zh) 2022-10-18

Family

ID=80477588

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111266115.1A Active CN114168275B (zh) 2021-10-28 2021-10-28 任务调度方法、系统、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN114168275B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117286A (zh) * 2015-09-22 2015-12-02 北京大学 MapReduce中任务的调度方法和流水化执行方法
CN106293928A (zh) * 2015-06-05 2017-01-04 阿里巴巴集团控股有限公司 一种全局任务节点依赖关系可视化方法、装置和系统
CN111045848A (zh) * 2019-12-19 2020-04-21 广州唯品会信息科技有限公司 日志分析方法、终端设备及计算机可读存储介质
US20200125406A1 (en) * 2017-11-20 2020-04-23 Shanghai Cambricon Information Technology Co., Ltd Task parallel processing method, apparatus and system, storage medium and computer device
CN111160873A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 基于分布式架构的跑批处理装置及方法
CN111858065A (zh) * 2020-07-28 2020-10-30 中国平安财产保险股份有限公司 数据处理方法、设备、存储介质及装置
WO2020253116A1 (zh) * 2019-06-20 2020-12-24 深圳壹账通智能科技有限公司 数据跑批方法、装置、存储介质及集群中的成员主机
WO2020259392A1 (zh) * 2019-06-25 2020-12-30 深圳前海微众银行股份有限公司 一种异常任务的根因任务确定方法及装置
CN112764907A (zh) * 2021-01-26 2021-05-07 网易(杭州)网络有限公司 一种任务处理方法、装置、电子设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293928A (zh) * 2015-06-05 2017-01-04 阿里巴巴集团控股有限公司 一种全局任务节点依赖关系可视化方法、装置和系统
CN105117286A (zh) * 2015-09-22 2015-12-02 北京大学 MapReduce中任务的调度方法和流水化执行方法
US20200125406A1 (en) * 2017-11-20 2020-04-23 Shanghai Cambricon Information Technology Co., Ltd Task parallel processing method, apparatus and system, storage medium and computer device
WO2020253116A1 (zh) * 2019-06-20 2020-12-24 深圳壹账通智能科技有限公司 数据跑批方法、装置、存储介质及集群中的成员主机
WO2020259392A1 (zh) * 2019-06-25 2020-12-30 深圳前海微众银行股份有限公司 一种异常任务的根因任务确定方法及装置
CN111045848A (zh) * 2019-12-19 2020-04-21 广州唯品会信息科技有限公司 日志分析方法、终端设备及计算机可读存储介质
CN111160873A (zh) * 2019-12-31 2020-05-15 中国银行股份有限公司 基于分布式架构的跑批处理装置及方法
CN111858065A (zh) * 2020-07-28 2020-10-30 中国平安财产保险股份有限公司 数据处理方法、设备、存储介质及装置
CN112764907A (zh) * 2021-01-26 2021-05-07 网易(杭州)网络有限公司 一种任务处理方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
CN114168275B (zh) 2022-10-18

Similar Documents

Publication Publication Date Title
WO2019056540A1 (zh) 测试用例自动化管理方法、装置、设备及存储介质
CN111045933A (zh) 一种回归策略更新方法、装置、存储介质及终端设备
US10102098B2 (en) Method and system for recommending application parameter setting and system specification setting in distributed computation
CN109508912B (zh) 一种业务调度方法、装置、设备和存储介质
CN109542462B (zh) 一种系统环境部署方法、存储介质和服务器
CN112035230A (zh) 一种任务调度文件生成方法、装置及存储介质
CN111404755B (zh) 一种网络配置方法、装置及存储介质
CN109241042B (zh) 数据处理方法、装置以及电子设备
CN110737603B (zh) 一种替换rom中函数的方法及装置
CN107256167B (zh) 应用于应用系统迁移的升级控制方法及升级控制设备
CN111221650A (zh) 基于进程类型关联的系统资源回收方法及装置
US20180267831A1 (en) Information processing apparatus, stage-out processing method and recording medium recording job management program
CN114168275B (zh) 任务调度方法、系统、终端设备及存储介质
CN113157720A (zh) 查询语句的处理方法、装置、设备及介质
CN113535206B (zh) 多版本代码升级方法及系统
US11321120B2 (en) Data backup method, electronic device and computer program product
CN110929207B (zh) 数据处理方法、装置和计算机可读存储介质
CN113971074A (zh) 事务处理方法、装置、电子设备及计算机可读存储介质
CN110083438B (zh) 事务分发方法、装置、设备和存储介质
CN113297149A (zh) 数据处理请求的监测方法及装置
CN112308440A (zh) 工单处理方法、装置、计算机设备及计算机可读存储介质
CN109408035B (zh) 一种业务系统的流程配置方法、存储介质和服务器
CN109542598B (zh) 定时任务管理方法及装置
CN117056068B (zh) ETL中JobEngine任务拆分方法
CN112463125B (zh) 一种虚拟定时器的定时方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant