CN114356720A - 基于图数据库的作业链任务延迟预警方法、装置和设备 - Google Patents
基于图数据库的作业链任务延迟预警方法、装置和设备 Download PDFInfo
- Publication number
- CN114356720A CN114356720A CN202210030456.7A CN202210030456A CN114356720A CN 114356720 A CN114356720 A CN 114356720A CN 202210030456 A CN202210030456 A CN 202210030456A CN 114356720 A CN114356720 A CN 114356720A
- Authority
- CN
- China
- Prior art keywords
- node
- delay threshold
- chain
- task
- delay
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种基于图数据库的作业链任务延迟预警方法、装置和设备。该方法包括:在作业链运行过程中,监测作业链中各节点的任务执行状态;当监测到作业节点的任务执行状态表征任务执行失败时,从作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,作业链的拓扑结构信息基于图数据库存储,作业链的拓扑结构信息中包括作业链中各节点之间的关系信息;生成延迟预警信息,延迟预警信息用于指示关联节点存在任务延迟风险。本申请的方法,当有节点的任务执行失败时,可以快速搜索到可能会受到影响的关联节点,并发出针对关联节点的延迟预警,从而将响应时机提前到异常问题最初发生的时刻,有助于提高整个作业链的工作效率和成功率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于图数据库的作业链任务延迟预警方法、装置和设备。
背景技术
金融相关的业务系统后台往往存在着众多信息系统的彼此协作和信息交换,以共同完成如评级、计量、考核等复杂的业务逻辑,其中占用带宽多、传送耗时长的数据发送和抓取工作大多以日间批量执行的方式实施。实现不同逻辑的节点或并联、或串联,在广袤的数据丛林中收集所需的信息按次序加工,形成了庞大的作业链机制。每个作业链独自构成一个系统,最终作业的成功实施取决于整个作业链的有效运行。
为了保证业务作业的顺利、按期实施,通常作业链中的每个节点都会被纳入到统一的监控告警系统中进行监控,以便在作业发生异常问题(如作业延时超过预先定义的延时阈值)时触发告警。
然而,局限于传统的关系型数据模型的限制以及僵化的作业链延时阈值设定逻辑,目前的告警机制属于“救火式”的处理机制,即每个节点都是等到异常问题发生后才触发告警,导致对于异常问题的响应不够及时,影响整个作业链的工作效率和成功率。
发明内容
本申请提供一种基于图数据库的作业链任务延迟预警方法、装置和设备,用以解决目前对于异常问题的响应不够及时,影响整个作业链的工作效率和成功率的问题。
第一方面,本申请提供一种基于图数据库的作业链任务延迟预警方法,包括:
在作业链运行过程中,监测所述作业链中各节点的任务执行状态;
当监测到作业节点的任务执行状态表征任务执行失败时,从所述作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,所述作业链的拓扑结构信息基于图数据库存储,所述作业链的拓扑结构信息中包括所述作业链中各节点之间的关系信息;
生成延迟预警信息,所述延迟预警信息用于指示所述关联节点存在任务延迟风险。
第二方面,本申请提供一种基于图数据库的作业链任务延迟预警装置,包括:
监测单元,用于在作业链运行过程中,监测所述作业链中各节点的任务执行状态;
搜索单元,用于当监测到作业节点的任务执行状态表征任务执行失败时,从所述作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,所述作业链的拓扑结构信息基于图数据库存储,所述作业链的拓扑结构信息中包括所述作业链中各节点之间的关系信息;
预警单元,用于生成延迟预警信息,所述延迟预警信息用于指示所述关联节点存在任务延迟风险。
第三方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;所述存储器存储计算机执行指令;所述处理器执行所述存储器存储的计算机执行指令,以实现如上述第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如上述第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的方法。
本申请提供的基于图数据库的作业链任务延迟预警方法、装置和设备,在作业链运行过程中,监测作业链中各节点的任务执行状态;当监测到作业节点的任务执行状态表征任务执行失败时,从作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,作业链的拓扑结构信息基于图数据库存储,作业链的拓扑结构信息中包括作业链中各节点之间的关系信息;生成延迟预警信息,延迟预警信息用于指示关联节点存在任务延迟风险。据此,将图数据库应用到作业链管理场景,与作业节点间的复杂关系相契合,简化了作业链内节点间的关系计算复杂度,当有节点的任务执行失败时,可以快速搜索到可能会受到影响的关联节点,并发出针对关联节点的延迟预警,从而将响应时机提前到异常问题最初发生的时刻,避免在延迟传导方向上的后续节点都因受影响导致任务执行失败了才暴露出异常情况,有助于提高整个作业链的工作效率和成功率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为一示例性实施例中基于图数据库的作业链任务延迟预警方法的流程示意图;
图2为一示例性实施例中作业链拓扑结构的示意图;
图3为另一示例性实施例中基于图数据库的作业链任务延迟预警方法的流程示意图;
图4为一示例性实施例中图数据库中节点关系的设计模式简化示意图;
图5为一示例性实施例中基于图数据库的作业链任务延迟预警装置的结构示意图;
图6为另一示例性实施例中基于图数据库的作业链任务延迟预警装置的结构示意图;
图7为一示例性实施例中电子设备的结构示意图;
图8为一示例性实施例中电子设备的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
图数据库:一种非关系型数据库(NoSQL),应用图形理论存储实体之间的关系信息;
Neo4j:一个高性能的图数据库引擎,因其嵌入式、高性能、轻量级等优势成为建设图计算平台首选方案,具有嵌入式、基于磁盘和完全事务支持等特点,满足所有成熟数据库的特性需求;
作业链:为了最终满足客户需要而设计的一系列相互联系的作业活动链条,各个节点有其独立的业务需求,整体作业的高效执行依赖于作业的良好调度;
告警风暴:在短时间内系统产生大量的告警消息,这些消息有的是由某种共同因素引发,互相之间存在一定的关联,有的也可能没有任何关系,运维人员短时间内接受各类告警消息导致了分析响应不及时和重要消息遗漏;
牛顿冷却定律:温度高于周围环境的物体向周围媒质传递热量逐渐冷却时所遵循的规律,当物体表面与周围存在温度差时,单位时间从单位面积散失的热量与温度差成正比,比例系数称为热传递系数;
PaaS(平台即服务):一个完整的软件研发和部署平台,将应用设计、应用开发、应用测试和应用托管,都作为一种服务提供给客户;
弹性节点:执行时间无法容忍超时执行、延迟会导致业务失败等后果的这类作业节点称之为刚性节点,否则称之为弹性节点。
本申请具体的应用场景为针对银行业务系统进行监控和告警的监控告警系统。银行业务系统后台往往存在着众多信息系统的彼此协作和信息交换,以共同完成如评级、计量、考核等复杂的业务逻辑,其中占用带宽多、传送耗时长的数据发送和抓取工作大多以日间批量执行的方式实施。实现不同逻辑的节点或并联、或串联,在广袤的数据丛林中收集所需的信息按次序加工,形成了庞大的作业链机制。每个作业链独自构成一个系统,最终作业的成功实施取决于整个作业链的有效运行。
为了保证业务作业的顺利、按期实施,作业链中的每个节点都会被纳入到统一的监控告警系统中进行监控,以便在作业发生异常问题(如作业延时超过预先定义的延时阈值)时触发告警。各种因素导致的如前置节点数据晚到等延迟告警实际上无法彻底避免,不过这种告警却是一种十分低效、笨拙的方式。
本申请发明人意识到相比于在作业延时突破阈值后才发现问题并告警,预警是更好的选择,如果可以在一连串延迟事件的最初节点触发阈值时就着手解决后续节点的问题并第一时间响应,那么即便不能完全从问题中自动恢复,也可以中断问题的后续传导。
然而,局限于传统的关系型数据模型的限制以及僵化的作业链延时阈值设定逻辑,目前的告警机制属于“救火式”的处理机制,即每个节点都是等到异常问题发生后才触发告警,缺少合适的提前预警机制,导致对于异常问题的响应不够及时,影响整个作业链的工作效率和成功率。
本申请提供的基于图数据库的作业链任务延迟预警的方法、装置和设备,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1是根据一示例性实施例示出的基于图数据库的作业链任务延迟预警方法的流程示意图,如图1所示,该方法包括:
S101,在作业链运行过程中,监测作业链中各节点的任务执行状态。
本实施例的执行主体可以是服务器、或者终端、或者包含服务器和终端的系统,对此不做限制。本实施例以执行主体为监控告警系统所在的服务器进行介绍。
作业链中包括相互关联的多个节点,每个节点负责执行相应的任务。在作业链运行过程中,作业链中的每个节点都会被纳入到监控告警系统中进行监控,监控告警系统的服务器对作业链中各节点的任务执行状态进行监测。通过节点的任务执行状态,可以判断该节点的任务执行结果是成功还是失败。
S102,当监测到作业节点的任务执行状态表征任务执行失败时,从作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,作业链的拓扑结构信息基于图数据库存储,作业链的拓扑结构信息中包括作业链中各节点之间的关系信息。
任务执行失败的作业节点的关联节点,是指可能会因为该作业节点任务执行失败而被影响到的节点。若作业节点的任务执行状态表征任务执行失败,则说明该作业节点出现问题,继而该作业节点的关联节点可能因此受到牵连而超时。
图2是根据一示例性实施例示出的作业链拓扑结构的示意图,如图2所示,除两端开始和结束的节点外,其他作业节点构成了一副单向箭线图,节点任务之间存在串联、并联及前后次序关系。
示例性地,对于一个特定时点执行的业务作业,最简单的情景是全部任务都在一个系统边界内,最小粒度的任务是图2中的一个节点,动作可能只在本系统中处理数据,也可能是与外部系统进行数据交换;复杂的情景是图2中所示的整体任务是业务作业的一个部分(称之为子任务),多个子任务彼此协作(与子任务内的作业顺序触发不同,子任务各自可能有自己的调起时间),又构成了类似图2所示的拓扑结构。
作业链拓扑结构反映了作业链中各节点之间的关系,本实施例摒弃了在图形关系计算方面复杂低效的关系型数据库,而是在图数据库中建立作业链模型,基于图数据库对作业链拓扑结构进行存储,获得作业链的拓扑结构信息。作业链的拓扑结构信息中包括作业链中各节点之间的关系信息,例如,从作业链的拓扑结构信息中可以获得任一节点的前置节点、后续节点、上级任务、子任务等信息。
当监测到作业节点的任务执行状态表征任务执行失败时,服务器获取作业链的拓扑结构信息,根据作业链的拓扑结构信息生成树并进行广度遍历,能够快速搜索到任务执行失败的作业节点的关联节点,简化计算复杂度。
S103,生成延迟预警信息,延迟预警信息用于指示关联节点存在任务延迟风险。
服务器搜索到任务执行失败的作业节点的关联节点之后,生成用于指示关联节点存在任务延迟风险的延迟预警信息。
示例性地,可以为作业链中的节点设置预警响应策略,预警响应策略用于对已经出现的或者可能存在的任务延迟风险进行应对。服务器将延迟预警信息发送至关联节点,关联节点收到延迟预警信息之后执行相应的预警响应策略,以便自动进行异常处置,同时任务执行失败的作业节点也可以根据预先设置的响应策略执行响应操作。据此,对于不是简单的PaaS节点自愈(对业务无影响)的情况,异常问题也可以得到快速解决或者隔离,有效降低后续节点接连告警的概率,避免有效信息淹没到大量告警中出现告警风暴。
示例性地,服务器也可以将延迟预警信息反馈给相关工作人员,使相关工作人员能够在异常问题最初发生的时刻,对后续可能因受到牵连而产生的任务延迟风险进行提前应对准备,避免错过最佳的异常处置时机。
本实施例中,在作业链运行过程中,监测作业链中各节点的任务执行状态;当监测到作业节点的任务执行状态表征任务执行失败时,从作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,作业链的拓扑结构信息基于图数据库存储,作业链的拓扑结构信息中包括作业链中各节点之间的关系信息;生成延迟预警信息,延迟预警信息用于指示关联节点存在任务延迟风险。据此,将图数据库应用到作业链管理场景,与作业节点间的复杂关系相契合,简化了作业链内节点间的关系计算复杂度,当有节点的任务执行失败时,可以快速搜索到可能会受到影响的关联节点,并发出针对关联节点的延迟预警,从而将响应时机提前到异常问题最初发生的时刻,避免在延迟传导方向上的后续节点都因受影响导致任务执行失败了才暴露出异常情况,有助于提高整个作业链的工作效率和成功率。
图3是根据一示例性实施例示出的基于图数据库的作业链任务延迟预警方法的流程示意图,如图3所示,该方法包括:
S301,基于图数据库存储作业链中各节点的节点数据、关系数据和记录数据,获得作业链的拓扑结构信息;其中,节点数据包括节点标识、任务标识、初始延时阈值和预警响应策略;关系数据包括上级任务标识、子任务标识、前置节点标识以及后续节点标识;记录数据包括历史任务执行数据和延时阈值变化信息;作业链的拓扑结构信息中包括作业链中各节点之间的关系信息、各节点的延时阈值记录以及任务执行数据记录。
本实施例在Neo4j中设计作业链模型。节点数据用于作为设计节点的核心要素。其中,节点标识用于区分作业链中不同的节点,每个节点具有唯一的节点标识。可选地,节点标识为节点id。任务标识用于区分不同的任务,每个节点用于执行一个任务,每个任务具有唯一的任务标识。可选地,任务标识为任务名称。
初始延时阈值可以根据业务目标和场景要求设定,不同节点的初始延时阈值可以相同也可以不同。可选地,若节点任务延时超过该节点设定的初始延时阈值,则会发出告警信息。
预警响应策略用于对可能存在的任务延迟风险进行应对,预警响应策略的描述记录到节点实体上,预警响应策略的执行机构依据描述执行。可选地,对于刚性节点,策略包括直接失效触发告警(不再被动等到上游节点的失败依次传导到该节点);对于弹性节点,策略包括旁路、跳过、重试(有限和无限)、临时阈值轮候等措施,设计上采用策略模式,用户可以进行扩展。节点的响应为作业系统提供了主动应对延迟风险的能力,有助于在允许的范围内最大限度的提高总体作业的成功率。
可选地,节点的核心要素还可以包括是否为子任务、超时风险等级、连续成功执行次数及其他相关信息。
关系数据用于作为设计关系的核心要素。其中,节点的上级任务标识用于表征该节点对应任务的上级任务,节点的子任务标识用于表征该节点对应任务的子任务,节点的前置节点标识用于表征该节点的前置节点,节点的后续节点标识用于表征该节点的后续节点。需要说明的是,上级任务标识、子任务标识、前置节点或后续节点存在可能为空的情况。
图4是根据一示例性实施例示出的图数据库中节点关系的设计模式简化示意图。如图4所示,节点关系是自关联,简化了作业链内节点间的关系计算复杂度,当有节点的任务执行失败时,能够快速搜索到可能会受到影响的关联节点,以便及时发出延迟预警。
记录数据用于作为设计节点执行记录的历史实体。其中,节点的历史任务执行数据用于记录节点的历史任务执行情况,集中存储到节点运行记录的实体中,以便对节点的任务执行情况进行统计分析、参数调节和后期预测。可选地,历史任务执行数据包括成功时点、失败时点、连续成功次数和连续失败次数。节点的延时阈值变化信息用于记录节点的延时阈值参数调整情况,当延时阈值被调整时,对调整后的延时阈值进行记录。可选地,延时阈值变化信息包括按照时序记录的所有延时阈值。
S302,在作业链运行过程中,监测作业链中各节点的任务执行状态。
步骤S302与步骤S101的实现方式类似,此处不再赘述。
S303,从作业链的拓扑结构信息中获取作业节点的当前延时阈值,作业节点的当前延时阈值表示作业节点最新记录的延时阈值,当作业节点的任务延时超过作业节点的当前延时阈值时,从作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点。
服务器从作业链的拓扑结构信息中获取作业节点的延时阈值记录,从作业节点的延时阈值记录中获取最新记录的延时阈值,即作业节点的当前延时阈值,用于作为是否触发延迟预警的判断依据。当作业节点的任务延时超过作业节点的当前延时阈值时,服务器判定作业节点的任务执行状态表征任务执行失败,从而触发延迟预警。服务器从作业链的拓扑结构信息中获取作业节点与其他节点的关系信息,从作业节点与其他节点的关系信息中搜索作业节点的关联节点。
S304,生成延迟预警信息,延迟预警信息用于指示关联节点存在任务延迟风险。
步骤S304与步骤S103的实现方式类似,此处不再赘述。
S305,对作业链的拓扑结构信息中作业节点的任务执行数据记录进行更新;根据更新后的作业节点的任务执行数据记录,对作业节点的当前延时阈值进行调整,记录作业节点调整后的延时阈值。
当监测到作业节点的任务执行状态表征任务执行失败时,服务器对作业链的拓扑结构信息中任务执行失败的作业节点的任务执行数据记录进行更新,可以包括新增该作业节点的最新任务执行失败数据,并对该作业节点记录的连续成功执行次数或者连续失败执行次数进行更新。
可选地,当该作业节点第一次执行任务时,该作业节点记录的连续成功执行次数和连续失败执行次数均为初始值0;从该作业节点第二次执行任务时起,该作业节点记录的连续成功执行次数和连续失败执行次数根据该作业节点之前的任务执行状态进行更新,不管是连续成功执行次数还是连续失败执行次数,一旦中断将重新计数。
举例来说,假设作业节点在当前次执行任务时,之前连续成功执行了3次,此时该作业节点记录的连续成功执行次数为3,连续失败执行次数为0,若该作业节点的当前次任务执行失败,则将该作业节点记录的连续成功执行次数更新为1,连续失败执行次数更新为1。
作业节点的任务执行失败,说明该作业节点的当前延时阈值不再适用,当前延时阈值可能存在阈值过小的问题。基于此,可以在预期范围内对当前延时阈值进行自动调高,淘汰不合理的延时阈值,以实现在降低人工干预的条件下能够达到预期效果。
在一示例中,更新后的作业节点的任务执行数据记录中包括作业节点的连续失败执行次数;根据更新后的作业节点的任务执行数据记录,对作业节点的当前延时阈值进行调整,记录作业节点调整后的延时阈值,包括:根据作业节点的连续失败执行次数,对作业节点的当前延时阈值进行上调,获得作业节点上调后的延时阈值;记录作业节点上调后的延时阈值。
由于作业节点的任务执行失败,因此该作业节点更新后的任务执行数据记录中的连续失败执行次数是在更新前的任务执行数据记录中的连续失败执行次数的基础上加一。
示例性地,根据更新后的连续失败执行次数,对该作业节点的当前延时阈值进行上调,可以是延时阈值逐步上调的过程。举例来说,若更新后的连续失败执行次数为1次,则将当前延时阈值恢复至目标延时阈值的100%,若更新后的连续失败执行次数为2次,则将当前延时阈值恢复至目标延时阈值的110%,若更新后的连续失败执行次数为3次,若更则将当前延时阈值恢复目标延时阈值的120%,以此实现当前延时阈值的上调。其中,目标延时阈值可以是初始延时阈值,也可以是之前连续N(N≥2)次成功执行任务的过程中所使用的延时阈值。
示例性地,根据更新后的连续失败执行次数,对该作业节点的当前延时阈值进行上调,可以采用以下根据“牛顿冷却定律”构建的延时阈值上调公式实现:
Tu=T0×eα×n
其中,Tu表示上调后的延时阈值;T0表示当前延时阈值;α表示冷却系数,这里具体表示上调系数,可以根据上调速度要求设定;n表示连续失败执行次数。
服务器计算得到该作业节点上调后的延时阈值之后,将该作业节点上调后的延时阈值进行记录,即成为新的当前延时阈值,用于作为该作业节点下次执行任务时是否触发延迟预警的判断依据。
在一示例中,根据作业节点的连续失败执行次数,对作业节点的当前延时阈值进行上调,获得作业节点上调后的延时阈值,包括:若根据作业节点的连续失败执行次数,对作业节点的当前延时阈值进行上调后获得的延时阈值超过预设的阈值上限,则将阈值上限确定为作业节点上调后的延时阈值。
可以预先设置作业节点的延时阈值的阈值上限,若作业节点频繁执行失败,使得对作业节点的当前延时阈值进行上调后获得的延时阈值超过阈值上限,则不再对当前延时阈值进行上调,将阈值上限确定为作业节点上调后的延时阈值。据此通过上限突破的方式可以使得不合理的阈值最终收敛到最合理的设定。
S306,从作业链的拓扑结构信息中获取各关联节点的当前延时阈值和任务执行数据记录,关联节点的当前延时阈值表示关联节点最新记录的延时阈值;根据各关联节点的任务执行数据记录,对各关联节点的当前延时阈值进行调整,记录各关联节点调整后的延时阈值。
服务器确定作业节点的关联节点之后,从作业链的拓扑结构信息中获取关联节点的延时阈值记录,从关联节点的延时阈值记录中获取最新记录的延时阈值,即关联节点的当前延时阈值。由于作业节点的任务执行状态会对关联节点产生相应的影响,因此关联节点的任务执行数据记录是考虑了作业节点影响的结果。当作业节点的任务执行失败触发延迟预警时,根据关联节点的任务执行数据记录,对关联节点的当前延时阈值进行调整,以获得更为合理的延时阈值来应对可能受到的影响。
在一示例中,根据各关联节点的任务执行数据记录,对各关联节点的当前延时阈值进行调整,记录各关联节点调整后的延时阈值,包括:对于任一关联节点,若关联节点的任务执行数据记录中的最新记录为成功执行数据,则获取关联节点的连续成功执行次数;根据关联节点的连续成功执行次数,对关联节点的当前延时阈值进行衰减,获得关联节点衰减后的延时阈值;记录关联节点衰减后的延时阈值。
对于任一关联节点,若该关联节点的任务执行数据记录中的最新记录为成功执行数据,则该关联节点此时的连续成功执行次数大于或等于1,连续失败执行次数为0,继而根据该关联节点的连续成功执行次数,对该关联节点的当前延时阈值进行衰减。
示例性地,根据该关联节点的连续成功执行次数,对该关联节点的当前延时阈值进行衰减,可以采用以下根据“牛顿冷却定律”构建的延时阈值衰减公式实现:
Td=T0×e-β×m
其中,Td表示衰减后的延时阈值;T0表示当前延时阈值;β表示冷却系数,这里具体表示衰减系数,可以根据衰减速度要求设定;m表示连续成功执行次数。
服务器计算得到该关联节点衰减后的延时阈值之后,将该关联节点衰减后的延时阈值进行记录,即成为新的当前延时阈值,用于作为该关联节点下次执行任务时是否触发延迟预警的判断依据。
可选地,延时阈值动态衰减的执行过程以当前节点连续成功执行任务序列中的首次执行开始,一旦执行失败,衰减过程重新开始。每次延时阈值的调整原则上按照衰减过程实现,若按照预警响应策略执行临时阈值的,则临时阈值仅应用于当前响应,之后继续按照衰减过程执行(不重新开始)。
对于特定时点调起的任务,其可以等待的延时阈值一般是设定不变的,但是这样存在的问题是阈值设多大合适,如果运行的情况显示很少超时,那么这个情况很难引起运维人员的关注,而且优化调低到多少合适也是问题。基于此,上述实施例通过衰减方式自动调低阈值,对于经常不出错的任务,系统对其任务失败或超时的容忍度就越低,这样可以尽快将异常情况暴露出来,及时捕获异常超时以便尽快处理,同时也能不断淘汰不合理的阈值设定。
在一示例中,根据各关联节点的任务执行数据记录,对各关联节点的当前延时阈值进行调整,记录各关联节点调整后的延时阈值,包括:对于任一关联节点,若关联节点的任务执行数据记录中的最新记录为失败执行数据,则获取关联节点的连续失败执行次数;根据各关联节点的连续失败执行次数,对关联节点的当前延时阈值进行上调,获得关联节点上调后的延时阈值;记录关联节点上调后的延时阈值。
对于任一关联节点,若该关联节点的任务执行数据记录中的最新记录为失败执行数据,则该关联节点此时的连续失败执行次数大于或等于1,连续成功执行次数为0,继而根据各关联节点的连续失败执行次数,对关联节点的当前延时阈值进行上调。
示例性地,根据该关联节点的连续失败执行次数,对该关联节点的当前延时阈值进行上调,可以采用以下根据“牛顿冷却定律”构建的延时阈值上调公式实现:
Tu=T0×eα×n
其中,Tu表示上调后的延时阈值;T0表示当前延时阈值;α表示冷却系数,这里具体表示上调系数,可以根据上调速度要求设定;n表示连续失败执行次数。
服务器计算得到该关联节点上调后的延时阈值之后,将该关联节点上调后的延时阈值进行记录,即成为新的当前延时阈值,用于作为该关联节点下次执行任务时是否触发延迟预警的判断依据。
上述实施例中,采用图数据库存储作业链模型,基于图计算框架进行作业节点关系的实时计算,建立作业链任务超时预警和延时阈值自动调节机制,控制作业链告警范围,避免告警风暴,指导作业链按计划高效执行和动态调优,作用对象可以是整个作业链的执行和异常处置。具体地,上述实施例至少包括以下优点:
本方案将图数据库应用到作业链管理场景,与作业节点间的复杂图形关系相契合,极大简化了作业链之间以及作业链内任务之间的计算复杂度,使得实时完成复杂的生成树计算过程并完成广度搜索预警成为可能。而在传统的关系型数据库上存储、运算图形数据关系本身运算缓慢、效率极低,基于这样基础设施构建复杂的作业链预警机制可行性极低。
本方案突破了传统作业链管理的被动告警模式,每个节点不再等到超过延时阈值后才将问题暴露出来,通过作业节点的拓扑结构实现了下游节点的延迟预警,将系统响能力扩展到整体响应层面,问题响应时机提前到问题最初发生的那一刻,一旦预警开始传递,所有下游节点都将采用最合适的延迟预警策略予以响应,使得作业系统具备足够的韧性,大幅提高整体任务的成功几率。
本方案与传统的固定设置延时阈值(阈值的经验设定成为孤值检验,效用失灵问题突出)的方式不同,是依据任务执行情况对延时阈值进行自动调节,调优作业链系统的整体耗时情况,这样就不会出现延迟传导方向上的每个节点都到阈值上限才暴露真实情况的问题,从而将为作业系统总体延迟赋予了逐步收敛的特性。此外每个节点的延时阈值调节过程都记录到延时阈值历史情况中,所有历史延时阈值记录会持久化,后续可以进行序列分析,为优化延时阈值设定提供依据。
图5是根据一示例性实施例示出的基于图数据库的作业链任务延迟预警装置的结构示意图,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,如图5所示,该装置500包括:
监测单元510,用于在作业链运行过程中,监测作业链中各节点的任务执行状态。
搜索单元520,用于当监测到作业节点的任务执行状态表征任务执行失败时,从作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,作业链的拓扑结构信息基于图数据库存储,作业链的拓扑结构信息中包括作业链中各节点之间的关系信息。
预警单元530,用于生成延迟预警信息,延迟预警信息用于指示关联节点存在任务延迟风险。
在一示例中,作业链的拓扑结构信息中还包括作业链中各节点的延时阈值记录;搜索单元520还用于:从作业链的拓扑结构信息中获取作业节点的当前延时阈值,作业节点的当前延时阈值表示作业节点最新记录的延时阈值;当作业节点的任务延时超过作业节点的当前延时阈值时,判定作业节点的任务执行状态表征任务执行失败。
图6是根据一示例性实施例示出的基于图数据库的作业链任务延迟预警装置的结构示意图,在图5所示实施例的基础上,作业链的拓扑结构信息中还包括作业链中各节点的任务执行数据记录,该装置600还包括:
第一调整单元540,用于当监测到作业节点的任务执行状态表征任务执行失败时,对作业链的拓扑结构信息中作业节点的任务执行数据记录进行更新;根据更新后的作业节点的任务执行数据记录,对作业节点的当前延时阈值进行调整,记录作业节点调整后的延时阈值。
在一示例中,更新后的作业节点的任务执行数据记录中包括作业节点的连续失败执行次数;第一调整单元540具体用于:根据作业节点的连续失败执行次数,对作业节点的当前延时阈值进行上调,获得作业节点上调后的延时阈值,记录作业节点上调后的延时阈值。
在一示例中,第一调整单元540还用于:若根据作业节点的连续失败执行次数,对作业节点的当前延时阈值进行上调后获得的延时阈值超过预设的阈值上限,则将阈值上限确定为作业节点上调后的延时阈值。
在一示例中,该装置600还包括:
第二调整单元550,用于从作业链的拓扑结构信息中获取各关联节点的当前延时阈值和任务执行数据记录,关联节点的当前延时阈值表示关联节点最新记录的延时阈值;根据各关联节点的任务执行数据记录,对各关联节点的当前延时阈值进行调整,记录各关联节点调整后的延时阈值。
在一示例中,第二调整单元550具体用于:对于任一关联节点,若关联节点的任务执行数据记录中的最新记录为成功执行数据,则获取关联节点的连续成功执行次数;根据关联节点的连续成功执行次数,对关联节点的当前延时阈值进行衰减,获得关联节点衰减后的延时阈值;记录关联节点衰减后的延时阈值。
在一示例中,第二调整单元550具体用于:对于任一关联节点,若关联节点的任务执行数据记录中的最新记录为失败执行数据,则获取关联节点的连续失败执行次数;根据各关联节点的连续失败执行次数,对关联节点的当前延时阈值进行上调,获得关联节点上调后的延时阈值;记录关联节点上调后的延时阈值。
在一示例中,该装置600还包括:
存储单元560,用于基于图数据库存储作业链中各节点的节点数据、关系数据和记录数据,获得作业链的拓扑结构信息;其中,节点数据包括节点标识、任务标识、初始延时阈值和预警响应策略;关系数据包括上级任务标识、子任务标识、前置节点标识以及后续节点标识;记录数据包括历史任务执行数据和延时阈值变化信息。
图7是根据一示例性实施例示出的一种电子设备的结构示意图,该电子设备包括:处理器701,以及与处理器701通信连接的存储器702;存储器702存储计算机执行指令;处理器701执行存储器702存储的计算机执行指令,以实现如上述实施例提供的基于图数据库的作业链任务延迟预警方法。
电子设备还包括接收器703和发送器704。接收器703用于接收外部设备发送的指令和数据,发送器704用于向外部设备发送指令和数据。
图8是根据一示例性实施例示出的一种终端设备的框图,该设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种非临时性计算机可读存储介质,当该存储介质中的指令由计算机设备的处理器执行时,使得计算机设备能够执行上述任一实施例提供的方法。
本发明实施例还提供了一种计算机程序产品,计算机程序产品包括:计算机程序,计算机程序存储在可读存储介质中,计算机设备的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得计算机设备执行上述任一实施例提供的方法。
需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种基于图数据库的作业链任务延迟预警方法,其特征在于,所述方法包括:
在作业链运行过程中,监测所述作业链中各节点的任务执行状态;
当监测到作业节点的任务执行状态表征任务执行失败时,从所述作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,所述作业链的拓扑结构信息基于图数据库存储,所述作业链的拓扑结构信息中包括所述作业链中各节点之间的关系信息;
生成延迟预警信息,所述延迟预警信息用于指示所述关联节点存在任务延迟风险。
2.根据权利要求1所述的方法,其特征在于,所述作业链的拓扑结构信息中还包括所述作业链中各节点的延时阈值记录;所述方法还包括:
从所述作业链的拓扑结构信息中获取所述作业节点的当前延时阈值,所述作业节点的当前延时阈值表示所述作业节点最新记录的延时阈值;
当所述作业节点的任务延时超过所述作业节点的当前延时阈值时,判定所述作业节点的任务执行状态表征任务执行失败。
3.根据权利要求2所述的方法,其特征在于,所述作业链的拓扑结构信息中还包括所述作业链中各节点的任务执行数据记录;
当监测到作业节点的任务执行状态表征任务执行失败时,还包括:
对所述作业链的拓扑结构信息中所述作业节点的任务执行数据记录进行更新;
根据更新后的所述作业节点的任务执行数据记录,对所述作业节点的当前延时阈值进行调整,记录所述作业节点调整后的延时阈值。
4.根据权利要求3所述的方法,其特征在于,更新后的所述作业节点的任务执行数据记录中包括所述作业节点的连续失败执行次数;
根据更新后的所述作业节点的任务执行数据记录,对所述作业节点的当前延时阈值进行调整,记录所述作业节点调整后的延时阈值,包括:
根据所述作业节点的连续失败执行次数,对所述作业节点的当前延时阈值进行上调,获得所述作业节点上调后的延时阈值;
记录所述作业节点上调后的延时阈值。
5.根据权利要求4所述的方法,其特征在于,根据所述作业节点的连续失败执行次数,对所述作业节点的当前延时阈值进行上调,获得所述作业节点上调后的延时阈值,包括:
若根据所述作业节点的连续失败执行次数,对所述作业节点的当前延时阈值进行上调后获得的延时阈值超过预设的阈值上限,则将所述阈值上限确定为所述作业节点上调后的延时阈值。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
从所述作业链的拓扑结构信息中获取各所述关联节点的当前延时阈值和任务执行数据记录,所述关联节点的当前延时阈值表示所述关联节点最新记录的延时阈值;
根据各所述关联节点的任务执行数据记录,对各所述关联节点的当前延时阈值进行调整,记录各所述关联节点调整后的延时阈值。
7.根据权利要求6所述的方法,其特征在于,根据各所述关联节点的任务执行数据记录,对各所述关联节点的当前延时阈值进行调整,记录各所述关联节点调整后的延时阈值,包括:
对于任一所述关联节点,若所述关联节点的任务执行数据记录中的最新记录为成功执行数据,则获取所述关联节点的连续成功执行次数;
根据所述关联节点的连续成功执行次数,对所述关联节点的当前延时阈值进行衰减,获得所述关联节点衰减后的延时阈值;
记录所述关联节点衰减后的延时阈值。
8.根据权利要求6所述的方法,其特征在于,根据各所述关联节点的任务执行数据记录,对各所述关联节点的当前延时阈值进行调整,记录各所述关联节点调整后的延时阈值,包括:
对于任一所述关联节点,若所述关联节点的任务执行数据记录中的最新记录为失败执行数据,则获取所述关联节点的连续失败执行次数;
根据各所述关联节点的连续失败执行次数,对所述关联节点的当前延时阈值进行上调,获得所述关联节点上调后的延时阈值;
记录所述关联节点上调后的延时阈值。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:
基于图数据库存储作业链中各节点的节点数据、关系数据和记录数据,获得所述作业链的拓扑结构信息;
其中,所述节点数据包括节点标识、任务标识、初始延时阈值和预警响应策略;所述关系数据包括上级任务标识、子任务标识、前置节点标识以及后续节点标识;所述记录数据包括历史任务执行数据和延时阈值变化信息。
10.一种基于图数据库的作业链任务延迟预警装置,其特征在于,所述装置包括:
监测单元,用于在作业链运行过程中,监测所述作业链中各节点的任务执行状态;
搜索单元,用于当监测到作业节点的任务执行状态表征任务执行失败时,从所述作业链的拓扑结构信息中搜索任务执行失败的作业节点的关联节点;其中,所述作业链的拓扑结构信息基于图数据库存储,所述作业链的拓扑结构信息中包括所述作业链中各节点之间的关系信息;
预警单元,用于生成延迟预警信息,所述延迟预警信息用于指示所述关联节点存在任务延迟风险。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210030456.7A CN114356720A (zh) | 2022-01-12 | 2022-01-12 | 基于图数据库的作业链任务延迟预警方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210030456.7A CN114356720A (zh) | 2022-01-12 | 2022-01-12 | 基于图数据库的作业链任务延迟预警方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114356720A true CN114356720A (zh) | 2022-04-15 |
Family
ID=81109269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210030456.7A Pending CN114356720A (zh) | 2022-01-12 | 2022-01-12 | 基于图数据库的作业链任务延迟预警方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356720A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339958A (zh) * | 2023-05-30 | 2023-06-27 | 支付宝(杭州)信息技术有限公司 | 一种任务执行方法、装置以及设备 |
-
2022
- 2022-01-12 CN CN202210030456.7A patent/CN114356720A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116339958A (zh) * | 2023-05-30 | 2023-06-27 | 支付宝(杭州)信息技术有限公司 | 一种任务执行方法、装置以及设备 |
CN116339958B (zh) * | 2023-05-30 | 2023-09-08 | 支付宝(杭州)信息技术有限公司 | 一种任务执行方法、装置以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11212208B2 (en) | Adaptive metric collection, storage, and alert thresholds | |
EP3226471B1 (en) | Method and system to improve correlation between overlay and underlay networks in data centers | |
US11119828B2 (en) | Digital processing system for event and/or time based triggering management, and control of tasks | |
CN105760240A (zh) | 分布式任务处理方法及装置 | |
US20080263556A1 (en) | Real-time system exception monitoring tool | |
CN109861856B (zh) | 系统故障信息的通知方法、装置、存储介质及计算机设备 | |
KR20140145972A (ko) | 단말 및 그 단말에서 애플리케이션 동기화 방법 | |
CN109783311A (zh) | 断点行为的监控处理方法、装置、设备及可读存储介质 | |
CN109669835A (zh) | MySQL数据库监控方法、装置、设备及可读存储介质 | |
CN114356720A (zh) | 基于图数据库的作业链任务延迟预警方法、装置和设备 | |
CN111124609A (zh) | 数据采集方法、装置、数据采集设备及存储介质 | |
CN111612422B (zh) | 一种突发事件的响应方法、装置、存储介质及设备 | |
CN105988886B (zh) | 一种运维过程中的故障处理方法及装置 | |
CN109766198B (zh) | 流式处理方法、装置、设备及计算机可读存储介质 | |
CN112530074A (zh) | 排队叫号提醒方法、装置、设备及存储介质 | |
WO2019227624A1 (zh) | 呼叫中心的监控方法、电子装置、计算机设备及存储介质 | |
CN103299584A (zh) | 用于在暂时性失去连接之后优化网络性能的方法 | |
US9043274B1 (en) | Updating local database and central database | |
CN112910733A (zh) | 一种基于大数据的全链路监控系统及方法 | |
CN110750425A (zh) | 数据库监控方法、装置、系统和存储介质 | |
WO2019227622A1 (zh) | 呼叫中心的任务跟踪方法、装置、设备及存储介质 | |
CN115168139A (zh) | 一种基于监控预测的预警方法及系统 | |
CN112804108B (zh) | 信令执行方法、装置、电子设备及机器可读存储介质 | |
WO2012045241A1 (zh) | 一种实现用户预警的方法及系统 | |
CN110324385A (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 |