CN116149824A - 任务重跑的处理方法、装置、设备及存储介质 - Google Patents
任务重跑的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116149824A CN116149824A CN202310188798.6A CN202310188798A CN116149824A CN 116149824 A CN116149824 A CN 116149824A CN 202310188798 A CN202310188798 A CN 202310188798A CN 116149824 A CN116149824 A CN 116149824A
- Authority
- CN
- China
- Prior art keywords
- job
- task
- target
- running
- analysis
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种任务重跑的处理方法、装置、设备及存储介质,可以应用于计算机技术领域、大数据技术领域或金融科技领域。该方法包括:响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成待重跑任务所需要的至少一个目标作业,其中,待重跑任务是处理请求中携带的;根据执行目标作业所需要的依赖关系,对目标作业进行依赖关系分析,得到依赖关系分析结果,其中,依赖关系分析结果包括目标作业和与目标作业相关联的多个上下游作业;从依赖关系分析结果中确定目标作业流,并为目标作业流配置重跑参数,得到重跑作业流;执行重跑作业流,得到待重跑任务的处理结果。
Description
技术领域
本公开涉及计算机技术领域、大数据技术领域或金融科技领域,尤其涉及一种任务重跑的处理方法、装置、设备、存储介质和程序产品。
背景技术
在调度***中一般会出现需要任务进行重跑的场景,例如,由于上游数据供应错误,或其他业务经常需要按照某一数据的加工链路进行重跑等以满足数据重加工的需求。在实现本公开发明构思的过程中,发明人发现相关技术中一般存在如下问题:相关技术在执行任务重跑的过程中,执行的智能化和自动化程度较低,进而降低了任务重跑事件的处理效率。
发明内容
鉴于上述问题,本公开提供了任务重跑的处理方法、装置、设备、存储介质和程序产品。
根据本公开的一个方面,提供了一种任务重跑的处理方法,包括:响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成上述待重跑任务所需要的至少一个目标作业,其中,上述待重跑任务是上述处理请求中携带的;根据执行上述目标作业所需要的依赖关系,对上述目标作业进行依赖关系分析,得到依赖关系分析结果,其中,上述依赖关系分析结果包括上述目标作业和与上述目标作业相关联的多个上下游作业;从上述依赖关系分析结果中确定目标作业流,并为上述目标作业流配置重跑参数,得到重跑作业流;执行上述重跑作业流,得到上述待重跑任务的处理结果。
根据本公开的实施例,上述作业库中包括多个作业,每个作业均配置有事件表,上述事件表包括执行上述作业需要的依赖关系;上述对上述目标作业进行依赖关系分析包括:将上述目标作为作为根节点,其中,上述根节点用于构建作业树;配置上述作业树的初始层级数和上述依赖关系分析的分析类型;根据上述初始层级数和上述分析类型,从上述事件表中查找与上述目标作业相关联的上下游作业。
根据本公开的实施例,上述根据上述初始层级数和上述分析类型,从上述事件表中查找与上述目标作业相关联的上下游作业包括:响应于目标用户对上述目标作业进行依赖关系分析的操作,校验上述目标用户的操作权限、上述初始层级数,得到校验结果;在上述校验结果表征校验通过的情况下,基于层次遍历算法并根据上述分析类型,从上述事件表中查找与上述目标作业相关联的上下游作业。
根据本公开的实施例,与上述目标作业相关联的上下游作业作为层级叶节点;上述方法还包括:根据上述根节点和上述层级叶节点,构建上述作业树,其中,上述作业树的最终层级数小于或等于上述初始层级数,上述最终层级数是根据查找到的上下游作业确定的;通过可视化组件,展示上述作业树。
根据本公开的实施例,上述从上述依赖关系分析结果中确定目标作业流包括:从上述作业树中选择上述目标作业和至少一个上述上下游作业,得到初始作业流;基于上述目标用户的操作权限,对上述初始作业流进行过滤,得到上述目标作业流。
根据本公开的实施例,上述方法还包括:根据上述目标作业和上述上下游作业生成列表,其中,上述列表中的每一行的作业代表一组具有上述依赖关系的作业;通过上述可视化组件,展示上述列表图。
根据本公开的实施例,上述方法还包括:响应于执行上述重跑作业流的操作,根据上述重跑作业流的依赖关系,确定与上述重跑作业流相关联的下游作业;以及向上述下游作业的运维人员展示上述重跑作业流,以便上述运维人员对上述下游作业进行决策分析。
根据本公开的实施例,上述方法还包括:在上述运维人员对上述下游作业进行决策分析后,生成决策分析结果;根据上述决策分析结果,为上述重跑作业流赋予已处理状态标识。
根据本公开的实施例,上述分析类型包括溯源分析、输出分析和双向分析。
根据本公开的实施例,上述重跑参数包括上述待重跑任务的日期、上述待重跑任务的批次号、上述待重跑任务的时区、重跑作业流的名称。
根据本公开的实施例,上述方法还包括:基于预设的任务重跑策略,生成包括上述重跑作业流的待重跑实例表;根据上述待重跑实例表,执行上述重跑作业流,得到上述待重跑任务的处理结果。
本公开的另一方面还提供了一种任务重跑的处理装置,包括:第一查找模块,用于响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成上述待重跑任务所需要的至少一个目标作业,其中,上述待重跑任务是上述处理请求中携带的;第一分析模块,用于根据执行上述目标作业所需要的依赖关系,对上述目标作业进行依赖关系分析,得到依赖关系分析结果,其中,上述依赖关系分析结果包括上述目标作业和与上述目标作业相关联的多个上下游作业;第一确定模块,用于从上述依赖关系分析结果中确定目标作业流,并为上述目标作业流配置重跑参数,得到重跑作业流;第一执行模块,用于执行上述重跑作业流,得到上述待重跑任务的处理结果。
本公开的另一方面还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器执行上述的任务重跑的处理方法。
本公开的另一方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的任务重跑的处理方法。
本公开的另一方面还提供了一种计算机程序产品,包括计算机程序,上述计算机程序被处理器执行时实现上述的任务重跑的处理方法。
根据本公开提供的任务重跑的处理方法、装置、设备、存储介质和程序产品,通过响应于任务重跑的处理请求,根据待重跑任务的属性信息查找到至少一个目标作业;根据执行目标作业所需要的依赖关系对目标作业进行依赖分析,得到包括目标作业和上下游作业的分析结果;从分析结果中确定目标作业流,并为目标作业流配置重跑参数,得到重跑作业流;执行重跑作业流,得到任务重跑的处理结果。因为在处理任务重跑的过程中结合了依赖关系的分析结果,并在依赖关系分析结果中基于目标作业和上下游作业确定重跑作业流,以及执行重跑作业流,不仅可以自动化执行全流程,而且还可以灵活地结合上下游的作业,至少部分地克服了相关技术中执行重跑任务的智能化和自动化程度较低的问题,进而达到了提高任务重跑事件的处理效率的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的任务重跑的处理方法及装置的***架构图;
图2示意性示出了根据本公开实施例的任务重跑的处理方法的流程图;
图3示意性示出了根据本公开另一实施例的任务重跑的处理方法的流程图;
图4示意性示出了根据本公开实施例的任务重跑的处理***;
图5示意性示出了根据本公开实施例的依赖关系分析后生成的作业树的页面示意图;
图6示意性示出了根据本公开实施例的配置重跑参数的页面示意图;
图7示意性示出了根据本公开实施例的生成的待重跑实例列表的示意图;
图8A示意性示出了根据本公开实施例的目标用户接收到的重跑作业流的示意图;
图8B示意性示出了根据本公开另一实施例的目标用户接收到的重跑作业流的示意图;
图9示意性示出了根据本公开实施例的任务重跑的处理装置的结构框图;以及
图10示意性示出了根据本公开实施例的适于实现任务重跑的处理方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在传统数据线的批处理调度中,由于上游数据供应错误或其他业务需要经常按照某一数据的加工链路,选择对应批处理作业,并进行重跑,以满足数据重加工的需求。具体来说,包括以下几类场景。
场景一:如果遇到作业长时间不运行,可能是由于依赖条件未到达,例如该作业需要依赖其他作业的完成结果才能执行。此时,由于上游作业的完成状态未知,因此需要追溯查询上游作业的完成状态,这就需要依赖关系分析。
场景二:如果一批作业运行成功了,但所使用的数据是错的,现在要对这批数据进行重跑。作业重跑会重新发出新的完成事件,这对下游作业可能会有影响。如果下游作业用到上游的加工数据,那么下游作业也需要进行重跑操作。在该场景下,还需要考虑的是该重跑操作可能已经跨应用了(应用,可以理解为项目,指的是一系列独特的、复杂的并相互关联的活动,这些活动有着一个明确的目标或目的),上游作业的运维人员不一定有权限操作下游作业。
作业之间的依赖关系复杂,靠人的记忆可能也难以梳理清楚。因此需要一种方式展示作业之间的依赖层级关系,以便更好地进行运维管理。而且在数据链路的安全角度方面,上游应用进行作业的重跑之后,需要及时通知下游应用,以便下游应用及时评估该重跑作业的影响,并能及时定位受影响的本应用作业集合、处理该作业集合。
相关技术在进行依赖关系分析时,会存在如下问题:无法灵活查看上游和下游作业信息;在分析时只支持分析单个目标作业,不能一组作业一起分析;不能直接在页面操作依赖关系分析结果,比如对异常作业发起临时重跑等操作;作业重跑之后,无法让下游受影响的应用知悉并定位受影响的作业集合。而且相关技术的批处理调度***,缺乏针对作业依赖关系分析结果进行批量重跑的方法,同时在上游作业重跑后,由于无法自动定位受影响的下游作业集合,因此需要依赖人工通知到下游相关的运维人员,使得任务重跑过程的自动化和智能化的水平较低,降低了任务重跑事件的处理效率。
有鉴于此,本公开提供了一种任务重跑的处理方法、装置、设备、存储介质和程序产品,用于提升任务重跑过程的自动化和智能化的水平,提高任务重跑事件的处理效率。具体地,该方法包括响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成待重跑任务所需要的至少一个目标作业,其中,待重跑任务是处理请求中携带的;根据执行目标作业所需要的依赖关系,对目标作业进行依赖关系分析,得到依赖关系分析结果,其中,依赖关系分析结果包括目标作业和与目标作业相关联的多个上下游作业;从依赖关系分析结果中确定目标作业流,并为目标作业流配置重跑参数,得到重跑作业流;执行重跑作业流,得到待重跑任务的处理结果。
需要说明的是,本公开实施例确定的任务重跑的处理方法和装置可用于计算机技术领域、大数据技术领域或金融科技领域,也可用于除计算机技术领域、大数据技术领域或金融科技领域之外的任意领域,本公开实施例对确定的任务重跑的处理方法和装置的应用领域不做限定。
在本公开的技术方案中,所涉及的数据(如包括但不限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
图1示意性示出了根据本公开实施例的任务重跑的处理方法及装置的***架构图。
如图1所示,根据该实施例的应用场景100可以包括第一终端设备101、第二终端设备102、第三终端设备103、网络104、服务器105。网络104用以在第一终端设备101、第二终端设备102、第三终端设备103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用第一终端设备101、第二终端设备102、第三终端设备103中的至少一个通过网络104与服务器105交互,以接收或发送任务重跑的处理请求等。第一终端设备101、第二终端设备102、第三终端设备103上可以安装有各种通讯客户端应用,例如金融类应用、购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
第一终端设备101、第二终端设备102、第三终端设备103可以是支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对用户利用第一终端设备101、第二终端设备102、第三终端设备103所发送的任务重跑的处理请求提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的处理请求等数据进行分析等处理,并将处理结果(例如根据处理请求获取或生成的重跑作业流、执行重跑作业流得到的结果、信息、或数据等)反馈给终端设备。
例如,服务器105可以响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成待重跑任务所需要的至少一个目标作业,其中,待重跑任务是处理请求中携带的;根据执行目标作业所需要的依赖关系,对目标作业进行依赖关系分析,得到依赖关系分析结果,其中,依赖关系分析结果包括目标作业和与目标作业相关联的多个上下游作业;从依赖关系分析结果中确定目标作业流,并为目标作业流配置重跑参数,得到重跑作业流;执行重跑作业流,得到待重跑任务的处理结果。
需要说明的是,本公开实施例所提供的任务重跑的处理方法一般可以由服务器105执行。相应地,本公开实施例所提供的任务重跑的处理装置一般可以设置于服务器105中。本公开实施例所提供的任务重跑的处理方法也可以由不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的任务重跑的处理装置也可以设置于不同于服务器105且能够与第一终端设备101、第二终端设备102、第三终端设备103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
以下将基于图1描述的场景,通过图2~图8B对公开实施例的任务重跑的处理方法进行详细描述。
图2示意性示出了根据本公开实施例的任务重跑的处理方法的流程图。
如图2所示,该实施例的任务重跑的处理方法包括操作S201~操作S204。
在操作S201,响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成待重跑任务所需要的至少一个目标作业,其中,待重跑任务是处理请求中携带的。
在操作S202,根据执行目标作业所需要的依赖关系,对目标作业进行依赖关系分析,得到依赖关系分析结果,其中,依赖关系分析结果包括目标作业和与目标作业相关联的多个上下游作业。
在操作S203,从依赖关系分析结果中确定目标作业流,并为目标作业流配置重跑参数,得到重跑作业流。
在操作S204,执行重跑作业流,得到待重跑任务的处理结果。
根据本公开的实施例,任务重跑,也可以理解为链路重跑,可以时指以某个作业或作业流为起始节点,根据依赖关系和依赖层级,定位出该节点的依赖关系,并选择结果集中的作业/作业流节点组装作业流进行重新运行的过程。
根据本公开的实施例,作业流可以理解为调度***中用于组织和管理若干有业务关系作业的实体。简单而言,作业流是作业的运行集合。每个作业节点可以按照配置完成一定的处理逻辑。作业节点之间可以是无关联的,也可以是通过有向边进行依赖关系的,但有关联时不能形成环路。可以理解的是,在作业流调度中,作业流可以为调度单位,而其中的作业节点可以为最小粒度的执行单位。
根据本公开的实施例,作业可以是调度***的基本的配置单位,可以是由使用调度***的人员定义的完成一定工作的逻辑单元,作业可以包括执行的程序及其参数。在任务调度中,作业(或任务)是最小的执行单位。同一份程序,不同的参数形式,对调度***而言可以是不同的作业配置。作业是调度的基本单元,作业流为作业的组织单元,一般将一组功能相近、频度相近的作业组织在同一个作业流下。
根据本公开的实施例,任务重跑的处理请求可以是在溯源上游作业或上游任务时触发的;也可以是在需要获得重跑数据时触发的;还可以是在使用了错误数据的情况下需要重新跑正确数据的情况下触发的。在触发任务重跑处理请求的同时可以形成多个待重跑任务,例如溯源上游作业的任务;需要按照当前数据重跑的任务;利用正确数据进行重跑的任务等。
根据本公开的实施例,待重跑任务的属性信息可以是根据重跑任务确定的,例如字段、标识等信息,用于识别该待重跑任务的类型。具体地,可以为每种触发任务重跑处理请求的情况赋予不同的标识,当响应到处理请求时,可以提取处理请求中的字段,例如“溯源”、“xx业务”等,并根据该字段确定该待重跑任务是在需要溯源上游任务的情况下触发的,并根据该字段,从作业库中查找到与“xx业务”相关的作业,目标作业可以是该相关的作业。可以理解的是,作业库中可以记载有多个作业,从作业库中找到的多个目标作业可以组成一个作业集合,作为需要分析的作业集合。
根据本公开的实施例,执行目标作业所需要的依赖关系分析可以理解为作业/作业流的上下游依赖关系。例如该目标作业的执行条件需要依赖上游作业,当该上游作业完成后,才能执行该目标作业。通过对目标作业进行分析,可以分析找到目标作业的上下游作业,并基于该结果,生成包括目标作业和与目标作业相关联的多个上下游作业组成的分析结果。
根据本公开的实施例,可以理解的是,在实现依赖关系分析时,可以首先获取事件表,事件表的数据可以是在作业配置完成后,初始化生成的静态表。事件表中存储有关于作业的事件,可以存储该事件的方向,例如可以通过(I/O)表示输入事件和输出事件等。事件表中可以存储事件标识、业务日期、批次号、对象标识、对象类型等信息,还可以存储有作业与作业之间的依赖关系,例如作业A需要在作业B执行完成的情况下,或得到作业B的执行结果的情况下,在执行作业A;也可以是作业A需要在作业B和/或作业C均执行完成的情况下,才能执行等。
根据本公开的实施例,由于在分析结果中,部分的上下游作业可能并不需要重跑,只重跑其中的几个作业,所以目标作业流可以是由分析结果中的目标作业和需要进行重跑的上下游作业进行组装得到临时作业流。
根据本公开的实施例,重跑参数包括所述待重跑任务的日期、所述待重跑任务的批次号、所述待重跑任务的时区、重跑作业流的名称。
根据本公开的实施例,在为目标作业流配置重跑参数是可以自动抓取日期、批次号、时区以及自动命名等,也可以在页面中输入任务日期、批次号、目标作业流的名称、待重跑任务的时区等,以便该些重跑参数可以和目标作业流组合成一个临时重跑作业流。
根据本公开的实施例,执行上文描述的临时重跑作业流,可以得到相应的处理结果,例如溯源到的上游作业、上游作业形成的数据、重跑数据、利用正确数据进行重跑后得到的数据等。
根据本公开提供的任务重跑的处理方法、装置、设备、存储介质和程序产品,通过响应于任务重跑的处理请求,根据待重跑任务的属性信息查找到至少一个目标作业;根据执行目标作业所需要的依赖关系对目标作业进行依赖分析,得到包括目标作业和上下游作业的分析结果;从分析结果中确定目标作业流,并为目标作业流配置重跑参数,得到重跑作业流;执行重跑作业流,得到任务重跑的处理结果。因为在处理任务重跑的过程中结合了依赖关系的分析结果,并在依赖关系分析结果中基于目标作业和上下游作业确定重跑作业流,以及执行重跑作业流,不仅可以自动化执行全流程,而且还可以灵活地结合上下游的作业,至少部分地克服了相关技术中执行重跑任务的智能化和自动化程度较低的问题,进而达到了提高任务重跑事件的处理效率的技术效果。
根据本公开的实施例,作业库中包括多个作业,每个作业均配置有事件表,事件表包括执行作业需要的依赖关系。操作S202还可以包括如下操作:将目标作为作为根节点,其中,根节点用于构建作业树;配置作业树的初始层级数和依赖关系分析的分析类型;根据初始层级数和分析类型,从事件表中查找与目标作业相关联的上下游作业。
根据本公开的实施例,上述操作可以在页面中进行,例如,在页面中,响应于选中待分析的作业集合的操作,从作业集合中选择需要分析的N个目标作业,将该N个目标作业分别作为N个根节点,根据这N个根节点可以构建N个作业树。其中,N可以是正整数,优选地,N可以小于等于5,由于考虑到运行过程中的资源,以及涉及到的业务数据量,所以将N设置为小于等于5,若大于5,则可能涉及到多个业务数据,数据量较大,同时也增大了对运行资源的消耗,反而会降低重跑事件的处理效率,因此将N设置为小于等于5。但还应理解的是,对于不同的运行环境或重跑情况,N以及N的阈值也可以根据实际需要进行适应性调整。可以理解的是,在分析完N个作业后可以继续分析待分析的作业集合中其余的作业,直至作业集合中每一个作业均分析完成。通过分批分析作业集合中的作业,可以降低运行资源,提高重跑事件的处理效率。
根据本公开的实施例,在确定根节点之后,可以继续响应于页面的操作,为作业树配置初始层级数M。本公开实施例的层级可以理解为作业树图中的层级,初始层级数M可以是正整数,优选地,M可以不超过30,即作业树可以不超过30层。由于考虑到运行过程中的资源,以及涉及到的业务数据量,每一层均会涉及到多个业务数据,在M超过30的情况下,在运行过程中可能涉及到多个业务数据,数据量较大,同时也增大了对运行资源的消耗,反而会降低重跑事件的处理效率,因此将M设置为不超过30。但还应理解的是,对于不同的运行环境或重跑情况,M以及M的阈值也可以根据实际需要进行适应性调整。应理解的是,初始层级数并不是作业树最终的层级数,由于数据的不同,会出现最终的层级数小于初始层级数的情况。
根据本公开的实施例,还可以为作业树配置分析类型,分析类型可以包括溯源分析、输出分析和双向分析。分析类型可以是指进行依赖关系分析时的分析方向。例如,溯源分析可以是指往前溯源推算上游节点/作业;输出分析可以是指往后推算下游节点/作业;双向分析可以是指同时进行上游节点/作业和下游节点/作业的推算。在根节点、初始层级数、分析类型配置完成后,响应于点击页面上的查找操作,根据设置的参数从事件表中进行查找。
根据本公开的实施例,根据初始层级数和分析类型,从事件表中查找与目标作业相关联的上下游作业可以包括如下操作:响应于目标用户对目标作业进行依赖关系分析的操作,校验目标用户的操作权限、初始层级数,得到校验结果;在校验结果表征校验通过的情况下,基于层次遍历算法并根据分析类型,从事件表中查找与目标作业相关联的上下游作业。
根据本公开的实施例,目标用户可以是指使用调度***的人员。在用户管理模块可以给目标用户创建用户账号,目标用户与应用的关系可以是多对多的,一个用户可能有一个或者多个应用的操作权限。一个应用也可所属于多个用户。
根据本公开的实施例,在接收到设置的根节点、初始层级数、分析类型的情况下,可以先校验目标用户的操作权限、初始层级数的设置是否超出阈值、业务数据的完整性、业务数据的正确性等,得到响应的校验结果。在上述检验均通过的情况下,可以根据分析类型,走不同的分析分支。根据事件表中的作业输入事件、输出事件的映射关系,或作业与作业之间的依赖关系,查找出作业的上游或者下游作业。在查找的过程中,可以使用层次遍历的算法,根据设置的初始层级数一层一层地查找下去,直至业务数据查找完毕或已遍历到设置的初始层级数,从而完成对目标作业的依赖关系分析。
根据本公开的实施例,在设置N或M的阈值时,还需要考虑到层次遍历算法的算法速率、响应速度等。
根据本公开的实施例,依赖关系分析结果可以是以作业树的形式展示,例如将查找到的与目标作业相关联的上下游作业可以作为叶节点;根据根节点和层级叶节点,构建作业树,其中,作业树的最终层级数小于或等于初始层级数,最终层级数是根据查找到的上下游作业确定的;通过可视化组件,展示作业树。
根据本公开的实施例,根据实际查找到的上下游作业和目标作业构建作业树,该作业树会有实际的层级数,最终层级数可以是该实际实际的层级数。可以理解的是,该最终层级数会小于初始层级数。在利用可视化组件展示作业树时,若最终层级数小于初始层级数,则作业树展示到最终层级数;若最终层级数等于初始层级数,则作业树展示到初始层级数。可选地,在展示作业树时,有N个根节点,就可以展示N个作业树图,且展示每一个作业的实例状态(例如就绪、运行成功、运行失败等状态),可以通过不同颜色表示作业实例的不同状态。
根据本公开的实施例,通过选用N个目标作业作为根节点,并展示N个最终的作业树图,可以理解为本公开实施例可以支持多个作业一起进行依赖关系分析,解决了相关技术中只支持单个目标作为进行分析的请求,提高了任务重跑事件的处理效率。
根据本公开的实施例,依赖关系分析结果可以是以列表的形式展示,例如根据目标作业和上下游作业生成列表,其中,列表中的每一行的作业代表一组具有依赖关系的作业;通过可视化组件,展示列表图。
根据本公开的实施例,利用列表展示依赖关系分析结果时,列表中每一行数据/作业可以是一组具有依赖关系的数据/作业。基于此,可以将目标作业和上下游作业按照该方式生成列表并展示。可选地,列表中也可以通过不同颜色表示作业实例的不同状态。
根据本公开的实施例,通过展示作业树或列表,实现依赖关系分析结果的可视化,而且作业树或列表均可以清晰地展示作业之间的依赖关系或处理逻辑、展示作业的实例状态情况,以便运维人员可以灵活查看上游作业和下游作业的信息,并基于查看到的信息进行决策。
根据本公开的实施例,操作S203还可以包括如下操作:从作业树中选择目标作业和至少一个上下游作业,得到初始作业流;基于目标用户的操作权限,对初始作业流进行过滤,得到目标作业流。
根据本公开的实施例,得到初始作业流的过程可以是响应于目标用户在页面的勾选操作得到的。具体地,可以从展示的列表或作业树中勾选需要进行重跑的目标作业和上下游作业,对勾选到的作业进行组装,可以得到初始作业流。但由于每一个目标用户的操作权限并不是相同的,而且有的目标用户可能没有实际操作某一个作业的权限,只能查看或勾选该作业,并不能有权限触发该初始作业流的执行。因此在得到初始作业流后,会根据目标用户的实际操作权限对初始作业流进行过滤,过滤后得到的目标作业流,可以是该目标用户能够触发执行的。
根据本公开的实施例,在形成目标作业流之前进行权限过滤,可以提高数据的安全性,防止没有操作权限的目标用户对作业进行误选,从而影响了整个链路的运行。
根据本公开的实施例,为目标作业流配置重跑参数后可以得到重跑作业流,在具体执行该重跑作业流时,可以在后端服务器上设置执行该重跑作业流的接口,以便将实现重跑作业流的执行。可选地,在目标用户发起执行重跑作业流时,后端服务器可以分析该重跑作业流影响的下游作业,并且通知下游作业的运维人员。
根据本公开的实施例,在执行重跑作业流时还可以包括如下操作:基于预设的任务重跑策略,生成包括重跑作业流的待重跑实例表;根据待重跑实例表,执行重跑作业流,得到待重跑任务的处理结果。
根据本公开的实施例,预设的任务重跑策略可以是根据重跑的并行度(可以同时执行K个重跑作业流,K为正整数)、重跑的范围(如业务日期范围)、作业之间的依赖关系等确定的。例如,考虑到后端服务器的运行资源,可以设置同时执行K个重跑作业流;又或者根据依赖关系,重跑作业流D是否依赖重跑作业流E和/或重跑作业流F的重跑结果等,从而设置重跑作业流的执行顺序。
根据本公开的实施例,待重跑实例表可以是根据实例化后的重跑作业流得到的,实例化过程可以理解为将配置完成的作业流转变为可以执行的作业流。
根据本公开的实施例,可以理解的是,无论是作业树或列表,均可以展示多个目标节点及相关联的上下游作业,通过为每一个目标节点勾选上下游作业,可以得到多个重跑作业流;在另一实施例中,通过在一个目标节点中根据业务情况勾选多个上下游作业也可以得到多个重跑作业流。基于此,在具体执行重跑任务时,可以对重跑任务进行拆分,得到多个重跑作业流,并根据预设的任务重跑策略(重跑的并行度、重跑的范围(如业务日期范围)等),确定执行重跑作业流的顺序,并生成该任务对应的所有待重跑实例列表,以及定时触发作业流的重跑。
根据本公开的实施例,上述方法还可以包括如下操作:响应于执行重跑作业流的操作,根据重跑作业流的依赖关系,确定与重跑作业流相关联的下游作业;以及向下游作业的运维人员展示重跑作业流,以便运维人员对下游作业进行决策分析。
根据本公开的实施例,在根据重跑作业流的依赖关系,自动查找到下游作业的情况下,可以通过页面的消息标签,告知下游作业的运维人员待处理事项。可选地,还可以通过页面,展示列表、作业树、正在执行或执行完成的重跑作业流等,以告知下游作业的运维人员重跑任务的信息,展示受影响的下游作业列表。运维人员可以进行决策分析,确定这些受影响的下游作业进行重跑。可选地,也可以通过短信、内信等方式告知。例如,将受影响的下游作业、业务日期、批次号等信息和提前设置的消息通知模板进行内容拼接,生成告警短信、告警内信等通知相关的运维人员。
本公开提供的实施例可以自动查找受影响的下游作业,并自动通知下游作业的运维人员,以便下游作业的运维人员及时对受影响的下游作业进行决策分析,降低由于数据重跑为业务带来的损失。
根据本公开的实施例,在运维人员对下游作业进行决策分析后,生成决策分析结果;可以根据决策分析结果,为重跑作业流赋予已处理状态标识。
根据本公开的实施例,通过为处理过的重跑作业流赋予已处理的状态标识,可以区分未处理的重跑作业流,防止运维人员对重跑作业流重复处理,提高对重跑作业流的处理效率。
图3示意性示出了根据本公开另一实施例的任务重跑的处理方法的流程图。
如图3所示,该方法包括操作S301~操作S306。
在操作S301,在页面添加分析节点。可以理解为在页面添加根节点。
在操作S302,选择分析类型、层级数。
在操作S303,发起请求,后台进行依赖关系分析。
在操作S304,根据依赖关系分析结果,在页面发起临时任务重跑。
在操作S305,后台算出受影响的作业,并且通知下游应用的目标用户。
在操作S306,下游应用的用户在页面查看受影响的作业信息,进行决策。
根据本公开的实施例,作业配置完成后,即生成事件表,这个表只需要记录事件的对象和方向等基本信息,后续作业依赖关系分析,都是依赖这张表的数据。这可以实现灵活的依赖关系分析,而且依赖关系只需记录所依赖作业的执行结果,可以不需要记录所依赖作业的其余信息,数据冗余低。
根据本公开的实施例,使用上述的事件表数据,分析目标作业的上游或者下游信息,得到作业数据。
根据本公开的实施例,基于上述的作业数据,进行临时作业流重跑。即将目标用户勾选的作业组成一个临时的作业流,可以按原有的依赖关系进行跑批。同时推断一级下游受影响的应用,将临时作业流信息关联下游应用存储到数据库中。
根据本公开的实施例,依据上述过程得到的数据,给下游应用的目标用户(运维人员)发起通知。下游应用的用户在登录相关页面之后,用户可以在页面查看上游已经重跑过的作业流,同时显示待跑链路,由用户判断是否对受影响的作业进行重跑。
根据本公开的实施例,下游应用用户根据分析处理的结果,设置上游发起任务的处理状态。
根据本公开的实施例,操作S301~操作S306中的内容可以参考操作S201~操作S204中相关的内容,在此不再赘述。
图4示意性示出了根据本公开实施例的任务重跑的处理***。
如图4所示,该任务重跑的处理***400可以包括依赖关系分析模块410、临时作业流重跑发起模块420、自动重跑模块430、链路重跑影响性分析模块440。该任务重跑的处理***400可以用于实现操作S201~操作S204或操作S301~操作S306中相关的内容。
图5示意性示出了根据本公开实施例的依赖关系分析后生成的作业树的页面示意图。
依赖关系分析模块410,具体地,可以响应页面操作,例如选中需要分析的作业集合,限制不超过5个,作为根节点。选择分析的层级数,这里的层级跟树图的层级概念一样,层级数有做限制,一般不超过30层。选择分析的类型,可以按照三个方向进行依赖关系分析(按照依赖,即往前溯源推算上游节点;按照输出,即往后推算下游节点;双向,即同时进行上游和下游节点的推算)。这些配置好后,点击查找。后台就会计算并返回数据,页面分节点图(作业树图)和列表两种展示方式。节点图展示,即跟树图一样,可以如图5所示。有几个根节点,就展示几个树图,且展示作业实例状态,通过不同颜色表示作业实例的不同状态。列表展示,每行数据就是一组依赖关系。
后端实现可以通过事件表。首先有一份事件表,存储的作业的事件,事件有方向,通过(I/O)表示输入事件和输出事件。存储事件标识、业务日期、批次号、对象标识、对象类型等信息。这份表的数据是在作业配置完成后,初始化生成的静态表。
后端接收到页面的数据后,先做校验,这里会校验用户权限,数据完整性、数据正确性。根据分析类型,走不同的分支。根据事件表中的作业输入事件,输出事件的映射关系,查找出作业的上游或者下游对象。这里使用层次遍历的算法,一层一层查找下去。最终结果数据是树形结构的,树的层级数小于等于页面输入的层级数。
图6示意性示出了根据本公开实施例的配置重跑参数的页面示意图。
临时作业流重跑发起模块420,具体地,可以响应页面操作,例如在数据列表中勾选作业,这份列表作业是根据作业之间依赖关系查找出来,可能用户没有权限应用作业,这时候用户只能查看。这里选中作业做了权限控制,无法进行作业重跑。输入业务日期、批次号,临时作业流名、选择时区组合成一个临时作业流,进行重跑作业,配置过程可以如图6所示。
后端实现时,可以在后端开放有一个临时作业流重跑的接口,将对这组作业进行重跑。在用户进行发起临时流重跑时,后台会分析这组作业影响的下游作业,并且通过重跑通知模块告知应用项目组。
图7示意性示出了根据本公开实施例的生成的待重跑实例列表的示意图。
自动重跑模块430,可以根据临时作业流重跑发起模块420发起的任务信息,拆分该任务包含的作业流,根据重跑的并行度、重跑的范围(如业务日期范围),生成该任务对应的所有待重跑实例列表,并定时触发作业流的重跑。发起的待重跑实例列表可以如图7所示。
图8A示意性示出了根据本公开实施例的目标用户接收到的重跑作业流的示意图;图8B示意性示出了根据本公开另一实施例的目标用户接收到的重跑作业流的示意图。
链路重跑影响性分析模块440,用于通知下游作业的运维人员。例如可以通过左上角的消息标签,告知用户需要处理的事项。或页面通知,例如设置作业临时重跑影响页面,给下游应用用户展示重跑任务信息,展示受影响的作业列表。用户可以自主决定是否对这些受影响的作业进行重跑。接收到重跑作业流的页面可以如图8A~图8B所示。在一实施例中,还可以进行告警通知,例如将影响的作业、业务日期、批次号以站内信、短信等方式通知。
该任务重跑的处理***400可以用于实现操作S201~操作S204或操作S301~操作S306中相关的内容,在此不再赘述。
本公开的实施例可以结合作业依赖关系分析结果,可视化选择链路上的节点,组装成任务进行作业流重跑;而且作业依赖关系分析结果可以查看完整的作业链路,但是只能操作有操作权限的作业/作业流;本公开的实施例还可以实现对重跑任务下游应用的分析,并及时通知。
本公开实施例提供的任务重跑的处理方法可以依据用户的需求场景,提升批处理智能调度平台的自动化和智能化水平。具体地,可以支持页面操作;可以支持作业依赖关系分析,灵活查看上游和下游作业信息,可以展示作业的实例状态情况;支持一组作业一起进行依赖关系分析,每个目标作业作为一个根节点;在作业依赖关系的基础上,可以发起临时任务进行链路重跑,方便用户追溯作业异常的原因,临时任务中的节点包括作业节点和作业流节点两类;任务重跑发起时可自动定位任务中所包含节点影响的下游作业/作业流节点,并自动推断出受影响的第一级下游,以及自动推断对该下游应用的影响,并按照站内信、短信等多种形式及时自动通知这些下游应用的运维人员;受影响下游应用可以链接到上游已经重跑过的作业流,同时定位本应用受影响的作业,由下游应用根据该作业进行进一步依赖关系分析,并进行链路重跑,由下游应用确定需要进行重跑的作业。
在权限控制上,进行依赖关系分析可以查看到没有权限的应用作业,可以根据依赖关系分析查看完整链路的上下游作业/作业流作业信息,但是不能对该应用的作业进行操作,只能勾选对有权限的作业/作业流进行链路重跑等操作,只有有相应操作权限的用户有权限的应用作业。下游应用可以针对上游发起的任务设置处理状态,当下游已经针对该重跑任务进行相应的影响分析及操作之后,可以设置处理状态为“已处理”。
需要说明的是,本公开实施例中的流程图所示的操作除非明确说明不同操作之间存在执行的先后顺序,或者不同操作在技术实现上存在执行的先后顺序,否则,多个操作之间的执行顺序可以不分先后,多个操作也可以同时执行。
基于上述任务重跑的处理方法,本公开还提供了一种任务重跑的处理装置。以下将结合图9对该装置进行详细描述。
图9示意性示出了根据本公开实施例的任务重跑的处理装置的结构框图。
如图9所示,该实施例的任务重跑的处理装置900包括第一查找模块910、第一分析模块920、第一确定模块930和第一执行模块940。
第一查找模块910,用于响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成所述待重跑任务所需要的至少一个目标作业,其中,所述待重跑任务是所述处理请求中携带的。
第一分析模块920,用于根据执行所述目标作业所需要的依赖关系,对所述目标作业进行依赖关系分析,得到依赖关系分析结果,其中,所述依赖关系分析结果包括所述目标作业和与所述目标作业相关联的多个上下游作业。
第一确定模块930,用于从所述依赖关系分析结果中确定目标作业流,并为所述目标作业流配置重跑参数,得到重跑作业流。
第一执行模块940,用于执行所述重跑作业流,得到所述待重跑任务的处理结果。
根据本公开提供的任务重跑的处理方法、装置、设备、存储介质和程序产品,通过响应于任务重跑的处理请求,根据待重跑任务的属性信息查找到至少一个目标作业;根据执行目标作业所需要的依赖关系对目标作业进行依赖分析,得到包括目标作业和上下游作业的分析结果;从分析结果中确定目标作业流,并为目标作业流配置重跑参数,得到重跑作业流;执行重跑作业流,得到任务重跑的处理结果。因为在处理任务重跑的过程中结合了依赖关系的分析结果,并在依赖关系分析结果中基于目标作业和上下游作业确定重跑作业流,以及执行重跑作业流,不仅可以自动化执行全流程,而且还可以灵活地结合上下游的作业,至少部分地克服了相关技术中执行重跑任务的智能化和自动化程度较低的问题,进而达到了提高任务重跑事件的处理效率的技术效果。
根据本公开的实施例,第一分析模块还包括第一确定单元、第一配置单元、第一查找单元。
第一确定单元,用于将所述目标作为作为根节点,其中,所述根节点用于构建作业树。
第一配置单元,用于配置所述作业树的初始层级数和所述依赖关系分析的分析类型。
第一查找单元,用于根据所述初始层级数和所述分析类型,从所述事件表中查找与所述目标作业相关联的上下游作业。
根据本公开的实施例,第一查找单元还可以包括校验子单元、查找子单元。
校验子单元,用于响应于目标用户对所述目标作业进行依赖关系分析的操作,校验所述目标用户的操作权限、所述初始层级数,得到校验结果。
查找子单元,用于在所述校验结果表征校验通过的情况下,基于层次遍历算法并根据所述分析类型,从所述事件表中查找与所述目标作业相关联的上下游作业。
根据本公开的实施例,任务重跑的处理装置还可以包括构建模块、第一展示模块。
构建模块,用于根据所述根节点和所述层级叶节点,构建所述作业树,其中,所述作业树的最终层级数小于或等于所述初始层级数,所述最终层级数是根据查找到的上下游作业确定的。
第一展示模块,用于通过可视化组件,展示所述作业树。
根据本公开的实施例,第一确定模块还可以包括选择单元、过滤单元。
选择单元,用于从所述作业树中选择所述目标作业和至少一个所述上下游作业,得到初始作业流。
过滤单元,用于基于所述目标用户的操作权限,对所述初始作业流进行过滤,得到所述目标作业流。
根据本公开的实施例,任务重跑的处理装置还可以包括第一生成模块、第二展示模块。
第一生成模块,用于根据所述目标作业和所述上下游作业生成列表,其中,所述列表中的每一行的作业代表一组具有所述依赖关系的作业;
第二展示模块,用于通过所述可视化组件,展示所述列表图。
根据本公开的实施例,任务重跑的处理装置还可以包括第二确定模块、第三展示模块。
第二确定模块,用于响应于执行所述重跑作业流的操作,根据所述重跑作业流的依赖关系,确定与所述重跑作业流相关联的下游作业。
第三展示模块,用于向所述下游作业的运维人员展示所述重跑作业流,以便所述运维人员对所述下游作业进行决策分析。
根据本公开的实施例,任务重跑的处理装置还可以包括第二生成模块、赋予模块。
第二生成模块,用于在所述运维人员对所述下游作业进行决策分析后,生成决策分析结果。
赋予模块,用于根据所述决策分析结果,为所述重跑作业流赋予已处理状态标识。
根据本公开的实施例,任务重跑的处理装置还可以包括第三生成模块、第二执行模块。
第三生成模块,用于基于预设的任务重跑策略,生成包括所述重跑作业流的待重跑实例表。
第二执行模块,用于根据所述待重跑实例表,执行所述重跑作业流,得到所述待重跑任务的处理结果。
根据本公开的实施例,第一查找模块910、第一分析模块920、第一确定模块930和第一执行模块940中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一查找模块910、第一分析模块920、第一确定模块930和第一执行模块940中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一查找模块910、第一分析模块920、第一确定模块930和第一执行模块940中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中任务重跑的处理装置部分与本公开的实施例中任务重跑的处理方法部分是相对应的,任务重跑的处理装置部分的描述具体参考任务重跑的处理方法部分,在此不再赘述。
图10示意性示出了根据本公开实施例的适于实现任务重跑的处理方法的电子设备的方框图。
如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM 1002和RAM1003以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机***中运行时,该程序代码用于使计算机***实现本公开实施例所提供的任务重跑的处理方法。
在该计算机程序被处理器1001执行时执行本公开实施例的***/装置中限定的上述功能。根据本公开的实施例,上文描述的***、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (15)
1.一种任务重跑的处理方法,包括:
响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成所述待重跑任务所需要的至少一个目标作业,其中,所述待重跑任务是所述处理请求中携带的;
根据执行所述目标作业所需要的依赖关系,对所述目标作业进行依赖关系分析,得到依赖关系分析结果,其中,所述依赖关系分析结果包括所述目标作业和与所述目标作业相关联的多个上下游作业;
从所述依赖关系分析结果中确定目标作业流,并为所述目标作业流配置重跑参数,得到重跑作业流;
执行所述重跑作业流,得到所述待重跑任务的处理结果。
2.根据权利要求1所述的方法,其中,所述作业库中包括多个作业,每个作业均配置有事件表,所述事件表包括执行所述作业需要的依赖关系;
所述对所述目标作业进行依赖关系分析包括:
将所述目标作为作为根节点,其中,所述根节点用于构建作业树;
配置所述作业树的初始层级数和所述依赖关系分析的分析类型;
根据所述初始层级数和所述分析类型,从所述事件表中查找与所述目标作业相关联的上下游作业。
3.根据权利要求2所述的方法,其中,所述根据所述初始层级数和所述分析类型,从所述事件表中查找与所述目标作业相关联的上下游作业包括:
响应于目标用户对所述目标作业进行依赖关系分析的操作,校验所述目标用户的操作权限、所述初始层级数,得到校验结果;
在所述校验结果表征校验通过的情况下,基于层次遍历算法并根据所述分析类型,从所述事件表中查找与所述目标作业相关联的上下游作业。
4.根据权利要求3所述的方法,其中,与所述目标作业相关联的上下游作业作为层级叶节点;
所述方法还包括:
根据所述根节点和所述层级叶节点,构建所述作业树,其中,所述作业树的最终层级数小于或等于所述初始层级数,所述最终层级数是根据查找到的上下游作业确定的;
通过可视化组件,展示所述作业树。
5.根据权利要求4所述的方法,其中,所述从所述依赖关系分析结果中确定目标作业流包括:
从所述作业树中选择所述目标作业和至少一个所述上下游作业,得到初始作业流;
基于所述目标用户的操作权限,对所述初始作业流进行过滤,得到所述目标作业流。
6.根据权利要求4所述的方法,还包括:
根据所述目标作业和所述上下游作业生成列表,其中,所述列表中的每一行的作业代表一组具有所述依赖关系的作业;
通过所述可视化组件,展示所述列表图。
7.根据权利要求1所述的方法,还包括:
响应于执行所述重跑作业流的操作,根据所述重跑作业流的依赖关系,确定与所述重跑作业流相关联的下游作业;以及
向所述下游作业的运维人员展示所述重跑作业流,以便所述运维人员对所述下游作业进行决策分析。
8.根据权利要求7所述的方法,还包括:
在所述运维人员对所述下游作业进行决策分析后,生成决策分析结果;
根据所述决策分析结果,为所述重跑作业流赋予已处理状态标识。
9.根据权利要求2所述的方法,其中,所述分析类型包括溯源分析、输出分析和双向分析。
10.根据权利要求1~9中任一项所述的方法,其中,所述重跑参数包括所述待重跑任务的日期、所述待重跑任务的批次号、所述待重跑任务的时区、重跑作业流的名称。
11.根据权利要求1~9中任一项所述的方法,还包括:
基于预设的任务重跑策略,生成包括所述重跑作业流的待重跑实例表;
根据所述待重跑实例表,执行所述重跑作业流,得到所述待重跑任务的处理结果。
12.一种任务重跑的处理装置,包括:
第一查找模块,用于响应于任务重跑的处理请求,根据待重跑任务的属性信息从作业库中查找出完成所述待重跑任务所需要的至少一个目标作业,其中,所述待重跑任务是所述处理请求中携带的;
第一分析模块,用于根据执行所述目标作业所需要的依赖关系,对所述目标作业进行依赖关系分析,得到依赖关系分析结果,其中,所述依赖关系分析结果包括所述目标作业和与所述目标作业相关联的多个上下游作业;
第一确定模块,用于从所述依赖关系分析结果中确定目标作业流,并为所述目标作业流配置重跑参数,得到重跑作业流;
第一执行模块,用于执行所述重跑作业流,得到所述待重跑任务的处理结果。
13.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~11中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~11中任一项所述的方法。
15.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310188798.6A CN116149824A (zh) | 2023-02-27 | 2023-02-27 | 任务重跑的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310188798.6A CN116149824A (zh) | 2023-02-27 | 2023-02-27 | 任务重跑的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116149824A true CN116149824A (zh) | 2023-05-23 |
Family
ID=86359937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310188798.6A Pending CN116149824A (zh) | 2023-02-27 | 2023-02-27 | 任务重跑的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116149824A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149887A (zh) * | 2023-11-01 | 2023-12-01 | 建信金融科技有限责任公司 | 一种异常处理方法、装置、电子设备及计算机可读介质 |
-
2023
- 2023-02-27 CN CN202310188798.6A patent/CN116149824A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149887A (zh) * | 2023-11-01 | 2023-12-01 | 建信金融科技有限责任公司 | 一种异常处理方法、装置、电子设备及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10901727B2 (en) | Monitoring code sensitivity to cause software build breaks during software project development | |
US11080121B2 (en) | Generating runbooks for problem events | |
CN110050257B (zh) | 可执行数据流图的差分 | |
US10310968B2 (en) | Developing software project plans based on developer sensitivity ratings detected from monitoring developer error patterns | |
US20170024299A1 (en) | Providing Fault Injection to Cloud-Provisioned Machines | |
US9158655B2 (en) | Computer development assessment system | |
US11327749B2 (en) | System and method for generating documentation for microservice based applications | |
US20230039566A1 (en) | Automated system and method for detection and remediation of anomalies in robotic process automation environment | |
US9400637B1 (en) | Solution modeling and analysis toolset for enterprise software architecture | |
US9189203B1 (en) | Solution modeling and analysis toolset for enterprise software architecture and architecture roadmaps | |
CN112446511A (zh) | 一种故障处置方法、装置、介质及设备 | |
CN116149824A (zh) | 任务重跑的处理方法、装置、设备及存储介质 | |
WO2022042126A1 (en) | Fault localization for cloud-native applications | |
US20200372367A1 (en) | Cognitive methods and systems for responding to computing system incidents | |
US9244655B1 (en) | Solution modeling and analysis toolset for enterprise software architecture and skeleton architecture | |
US11307971B1 (en) | Computer analysis of software resource load | |
US11418411B1 (en) | Data center issue resolution prioritization | |
Sebu et al. | Business activity monitoring solution to detect deviations in business process execution | |
CN115238292A (zh) | 数据安全管控方法、装置、电子设备及存储介质 | |
CN114281586A (zh) | 故障确定方法及装置、电子设备和计算机可读存储介质 | |
CN115812195A (zh) | 计算开发过程中的开发者时间 | |
CN112579402A (zh) | 一种应用***故障定位的方法和装置 | |
KR20220048761A (ko) | 업무 자동화 관리 시스템 및 그 방법 | |
Hanamori et al. | Real-time monitoring solution to detect symptoms of system anomalies | |
US20230267396A1 (en) | Generating automation recommendations for ad hoc processes |
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 |