掌桥专利:专业的专利平台
掌桥专利
首页

技术领域

本申请涉及数据处理技术领域,尤其涉及一种报表时效预测方法、装置、设备及存储介质。

背景技术

在部分周期报表的时效要求较高的应用场景中,若由于报表相应的数据未按照日常预计时间内产出,则会导致相关人员在无法得到周期报表时,同样无法得知该报表何时能够产出,影响后期运维效果。

其中,为了实现对周期报表(或表)时效的感知和预测,可通过线性计算处理得方式,并引入相应的线性函数,对周期性产出的报表的历史刷新完成时间进行分析,可以预测出准确的报表刷新完成时间。

但此上述时效的感知和预测方式存在一定不足,首先在实际应用场景中,周期报表的数量较大,且针对不同的周期报表需要采用不同的线性函数参数值,此时无法将适用于其中任一周期报表的时效感知和预测方式应用于其他周期报表的时效感知和预测,即当前针对周期报表的时效感知和预测方式的通用性差,导致针对大批量不同的周期报表的环境下,需要实时调整时效感知和预测方式中的线性函数参数值,导致整个时效感知和预测过程的效率低。

申请内容

本申请的主要目的在于提供一种报表时效预测方法、装置、设备及存储介质,旨在解决现有时效感知和预测技术的通用性较低,导致对大批量不同的周期报表的时效感知和预测效率低的技术问题。

为实现上述目的,本申请提供一种报表时效预测方法,所述报表时效预测方法包括以下步骤:

获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系;

根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路;

对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果。

可选地,所述根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路的步骤,还包括:

根据所述依赖关系和预设图技术,生成由所述各作业组成的初始图形式作业链路;

获取实时消息数据,并从所述实时消息数据中筛选得到满足预设数据筛选条件的有效数据;

根据所述有效数据,对所述初始图形式作业链路进行更新处理,得到更新后的目标图形式作业链路。

可选地,所述从所述实时消息数据中筛选得到满足预设数据筛选条件的有效数据的步骤,包括:

将所述实时消息数据的日期不满足预设日期的部分数据去除;

将去除部分数据的实时消息数据的作业名与所述初始图形式作业链路中的各作业名进行比较,并将所述去除部分数据的实时消息数据的时间戳和所述目标图形式作业链路中各节点的时间戳进行比较,得到比较结果;

若所述比较结果满足预设筛选条件,则将所述去除部分数据的实时消息数据作为有效数据。

可选地,所述对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果的步骤,还包括:

获取目标作业,并根据所述目标图形式作业链路,确定所述目标作业的全部上游作业,并从所述全部上游作业中确定数据产出时间最晚的最晚节点;

确定由所述最晚节点和所述目标作业之间的最晚链路;

对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

可选地,所述对所述最晚链路的数据产出时间进行预测,得到时效预测结果的步骤,包括:

识别所述最晚链路中各作业的节点状态,并根据所述节点状态,计算所述最晚链路中各作业的节点完成时长;

根据所述节点完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

可选地,所述根据所述节点状态,计算所述最晚链路中各作业的节点完成时长的步骤,包括:

若所述节点状态为处于执行进程中,则获取所述作业的历史平均执行时长,并根据所述历史平均时长,计算所述作业的节点完成时长;

若所述节点状态为处于等待进程中,则获取所述作业的历史平均等待时长和历史平均执行时长,并根据所述历史平均等待时长和所述历史平均执行时长,计算所述作业的节点完成时长。

可选的,所述对所述最晚链路的数据产出时间进行预测,得到时效预测结果的步骤,包括:

在所述最晚链路的上游作业已准备就绪时,通过所述目标图形式作业链路,遍历将已准备就绪的上游作业剔除后的全部作业链路,并计算每一条作业链路的第一预计完成时长,并根据所述每一条作业链路中所对应的最大的第一预计完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果;

在所述最晚链路的上游作业未准备就绪,且所述最晚链路中的源头节点对应作业未准备就绪时,计算所述源头节点对应作业的延迟出数时长,并根据延迟出数时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果;

在所述最晚链路的上游作业未准备就绪,且所述最晚链路中的源头节点对应作业准备就绪时,计算所述最晚链路的第二预计完成时长,并根据所述第二预计完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

此外,为实现上述目的,本申请还提供一种报表时效预测装置,所述报表时效预测装置包括:

获取模块,用于获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系;

生成模块,用于根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路;

预测模块,用于对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果。

此外,为实现上述目的,本申请还提供一种设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的报表时效预测程序,所述报表时效预测程序配置为实现如上所述的报表时效预测方法的步骤。

此外,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有报表时效预测程序,所述报表时效预测程序被处理器执行时实现如上所述的报表时效预测方法的步骤。

本申请通过获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系,并根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路,即将原本各作业线性执行关系的时效预测方式,转化为以目标图形式作业链路的方式进行相应的时效预测和数据产出时间计算,即对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果,从而规避原本时效感知和预测方式中需要针对不同周期报表设计不同线性函数参数值的情况,直接基于相应的目标图形式作业链路进行周期报表的时效预测,降低了对不同周期报表进行时效预测时的参数需求,从而使得基于相应的目标图形式作业链路的时效预测方式具备通用性,进而可提高相应周期报表的时效感知和预测的预测效率。

附图说明

图1为本申请报表时效预测方法第一实施例的流程示意图;

图2为本申请实施例有效消息的处理流程示意图;

图3为本申请报表时效预测方法第二实施例中步骤S30的细化流程示意图;

图4为本申请实施例不同状态节点的时长计算流程示意图;

图5为本申请实施例实际应用场景流程示意图;

图6为本申请实施例数据产出的时效预测流程示意图;

图7为本申请报表时效预测装置一实施例的结构框图;

图8是本申请实施例方案涉及的硬件运行环境的设备结构示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,图1为本申请报表时效预测方法第一实施例的流程示意图。

在第一实施例中,所述报表时效预测方法包括以下步骤:

S10,获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系。

可理解的是,周期报表指的是具备周期性产出的数据报表,例如,当日内各业务数据的统计结果,而为了产出此类报表通常需要拉取相应的数据内容,并作相应的处理,包括但不限于数据聚合、数据分类和数据去重等,因此,在产出相应的数据报表时,可包括数据拉取、数据处理、数据转换和数据输出等多项作业内容,而每项作业之间存在顺序或其他逻辑层面的依赖关系,在对周期报表的各作业进行时效预测时,需要获取到该周期报表对应的作业内容,以及获取到各作业之间的依赖关系。

其中,待时效预测主要指的是对周期报表产出的时间进行感知和预测,在这一预测过程中,可通过对各作业执行的时效进行统计和预测,并结合依赖关系将该周期报表对应的全部作业进行预测,从而预测得到周期报表产出时间的具体时效情况。

其中,依赖关系可包括作业之间的顺序关系和逻辑执行关系,例如,存在一周期报表,其包含了作业1、作业2和作业3,其中,三个作业之间的顺序为作业2、作业3和作业1,其中,三个作业之间的逻辑执行关系为作业2完成后,根据作业2所执行得到的数据进行执行作业3,并根据作业2和作业3的执行结果执行作业1。

需要说明的是,在数据仓库背景下,周期报表(也可为周期的表)数据是通过作业(job)执行来更新的,而作业(job)的执行由调度系统统一控制,本发明针对的是通过配置依赖,依赖完成后再执行作业(job)进行周期报表(或表)数据更新的场景。

其中,数据仓库就是面向主题的、集成的、稳定的、不同时间的数据集合,用以支持经营管理中的决策制定过程。

可理解的是,上述作业内容和作业的依赖关系更多的是依赖于数据仓库存储有的历史相关数据,而在历史相关的数据中可能仍然存在部分针对同一个周期报表采用不同生成方式的情况,例如,周期报表A可由作业1、作业2和作业3依次执行产出,该周期报表A还可由作业1、作业2和作业4,可针对此类情况设计相应的以下三种方案。

具体的,识别当前周期报表的应用环境,从上述两种产出周期报表的方式中选择其中之一进行时效预测,或对上述两种产出周期报表的方式均进行时效预测,并同时将两个时效预测的结果反馈至相关人员处,或对上述两种产出周期报表的方式均进行时效预测,并在两个时效预测结果近似的情况下,求取两者的平均值,在两个时效预测结果相差较大的情况下,进一步判定当前的具体产出方式,并输出时效预测的结果,即通过设计不同场景下的时效预测方式,以保证对时效预测的精准性。

S20,根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路。

可理解的是,预设图技术指的是图计算的相关技术,该技术是一类在实际应用中常见的计算类型。许多大数据都是以大规模图或网络的形式呈现,如社交网络、传染病传播途径、交通事故对路网的影响许多非图结构的大数据,也常常会被转换为图模型后进行分析。图数据结构很好地表达了数据之间的关联性。要处理规模巨大的图数据,传统的单机处理方式已经无力处理,需要采用大规模机器集群构成的并行数据库。

因此,在本实施例中,同样可以采用图技术的形式,将各项作业根据依赖关系,生成相应的目标图形式作业链路,即将调度系统中用户自定义配置的作业之间的依赖关系入图,比如,作业job1的上游配置了3个作业,分别为job2、job3、job4,只有当job2、job3、job4执行完成,job1才可以执行,但因为系统资源有限,各作业根据重要性设置了优先级,所以只有等待系统分配资源后job1才会真正执行,具体可表达为job2-job3-job4-job1的作业执行链路。

需要说明的是,针对job2、job3、job4的执行顺序或逻辑执行关系,是通过历史数据的统计得到的。可按日跑批的作业取最近一年的数据,月跑的作业取最近5年的数据,根据3sigema规则,剔除异常值,计算作业最近7天的历史平均等待时长、平均执行运行时长、平均开始时间和平均结束时间。根据平均的开始时间和平均结束时间可以得到job2、job3、job4的历史执行顺序。

其中,3sigema指的是数值分布在(μ-3σ,μ+3σ)中的概率为0.9974;其中在正态分布中σ代表标准差,μ代表均值x=μ即为图像的对称轴。由于“小概率事件”和假设检验的基本思想“小概率事件”通常指发生的概率小于5%的事件,认为在一次试验中该事件是几乎不可能发生的,从而可通过3sigema规则保证时效预测时使用的数据的精准性。

其中,等待时长,指上游依赖作业已全部完成,但目标作业尚未开始执行的时间,例如,job2、job3、job4已完成执行,而job1还需要等待系统分配资源,此时job1执行之前会产生相应的等待时长。

应理解的是,通过可视化链路的呈现,可以查看每一个作业的预测完成时间,因为每个报表(或表)与作业是一一对应的,因此作业的预测完成时间及报表(或表)的完成时间。在页面上作业的预测时间是每五分钟进行一次更新的,即预测时间是按最新的实时状况来计算的。

此外,由于上述作业内容和作业的依赖关系更多的是依赖于数据仓库存储有的历史相关数据,而实际应用过程中,可能存在部分周期报表更换作业或系统资源分配效率产生波动的情况,因此,若仍然按照历史相关数据进行时效预测,其最终得到的预测结果的精准度低。

为了避免上述的情况,在本实施例中,可根据所述依赖关系和预设图技术,生成由所述各作业组成的初始图形式作业链路,并获取实时消息数据,并从所述实时消息数据中筛选得到满足预设数据筛选条件的有效数据,从而根据所述有效数据,对所述初始图形式作业链路进行更新处理,得到更新后的目标图形式作业链路。

可理解的是,在根据历史相关数据生成初始图形式作业链路时,该初始图形式作业链路并不能灵活应对不同的应用场景,在本实施例中通过获取到相应的实时消息数据,并将该实时消息数据中的有效数据补充至该初始图形式作业链路中,从而实现对该初始图形式作业链路的更新效果,从而得到目标图形式作业链路。

其中,实时消息数据可指的是实际应用场景中存在时间节点差异的相关作业数据,该数据需要根据实时反馈获取,而该有效数据指的是实时消息数据中的能够用于纳入作业链路的消息数据。

具体的,可参照图2,在获取到实时消息数据时,可在该消息流达到时判断其是否有效,判断过程可将所述实时消息数据的日期不满足预设日期的部分数据去除;将去除部分数据的实时消息数据的作业名与所述初始图形式作业链路中的各作业名进行比较,并将所述去除部分数据的实时消息数据的时间戳和所述目标图形式作业链路中各节点的时间戳进行比较,得到比较结果;若所述比较结果满足预设筛选条件,则将所述去除部分数据的实时消息数据作为有效数据。

可理解的是,该实时消息数据可为相应的作业,该实时消息数据可包含相应的时间信息,该时间信息内可包含日期、时间戳等用于表征该实时消息数据的产生或变更时间等,因此,在判断实时消息数据的有效性时,通过时间信息,判断该实时消息数据对应的日期,以及判断该实时消息数据对应的时间戳等,从而筛选出部分的有效数据。

其中,预设日期指的是对周期报表进行时效预测的日期,可理解为进行时效预测的当日。

其中,时间戳可用于判断实时消息数据的最新时间,因此,在判断时间戳的相关信息时,可将实时消息数据的时间戳和初始图形式作业链路中的各作业对应的节点的时间戳进行比较,得到比较结果,若根据该比较结果确定实时消息数据的时间戳大于节点的时间戳,则证明当前的实时消息数据为最新的数据,可将其更新至该初始图形式作业链路中。

其中,预设筛选条件指的是实时消息数据的时间戳需要大于节点的时间戳的情况。

可理解的是,在实际应用场景中,可能根据不同的需求,创建新的作业,或将以往的作业进行调整,即实时消息数据中可能涉及部分与历史相关的作业不同的作业,而此类数据由于并没有记载其相关的作用执行时间和作业执行效果,可不对该作业的时效进行预测,因此,需要先将实时消息数据中的作业和初始图形式作业链路中的各作业进行比对,将名称一致的作业保留,以进行时效分析。

其中,作业的名称相同,但作业可为经过相应更新处理后的作业,因此,在判断作业名称一致后,还通过时间戳进行判断,以确定是否可对初始图形式作业链路中的作业进行更新。

具体的,可分为以下三方面判断过程:

(1)实时消息的作业名要与图内日终的作业名一致,由于依赖关系是T+1的,因此新上线的作业当天不作入图分析,即新上线的作业可在当日纳入数据仓库后,用于后一天的时效预测的分析进程中;

(2)消息的数据日期为当天,剔除跨天的数据,即跨天的数据并非当前所需分析的数据;

(3)消息达到时与图内的节点作判断,若时间戳小于节点的时间戳,则不作更新处理,即保证更新时所使用的数据为实时最新的数据。

S30,对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果。

可理解的是,目标图形式作业链路会由于其相关的周期报表的数量,以及各作业的执行顺序和执行逻辑的差异性,在该目标图形式作业链路中可能存在同一个周期报表对应多条作业链路,或多条作业链路共用部分作业并生成不同的周期报表等复杂情况。

即可根据周期报表为目标节点,向前追溯至多个头节点,或多个头节点对应多个目标节点,或一个头节点对应多个目标节点等多种情况,因此,在该目标图形式作业链路中存在多条作业链路,需要对各作业链路的数据产出时间进行预测,从而得到相应的时效预测结果。

其中,在预测过程中,主要针对不同作业链路所涉及的作业的执行时间而定,例如,统计各作业历史执行过程中的平均执行时间,以及统计各作业历史执行过程中的等待时间,以及系统实时分配资源的调度时间等多方面时间相关数据进行整合运算,最终得到每条作业链路的整条链路的数据产出的预计时间,进而得到时效预测结果。

本实施例通过获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系,并根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路,即将原本各作业线性执行关系的时效预测方式,转化为以目标图形式作业链路的方式进行相应的时效预测和数据产出时间计算,即对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果,从而规避原本时效感知和预测方式中需要针对不同周期报表设计不同线性函数参数值的情况,直接基于相应的目标图形式作业链路进行周期报表的时效预测,降低了对不同周期报表进行时效预测时的参数需求,从而使得基于相应的目标图形式作业链路的时效预测方式具备通用性,进而可提高相应周期报表的时效感知和预测的预测效率。

如图3所示,基于第一实施例提出本申请报表时效预测方法第二实施例,本实施例中,步骤S30具体包括:

S31,获取目标作业,并根据所述目标图形式作业链路,确定所述目标作业的全部上游作业,并从所述全部上游作业中确定数据产出时间最晚的最晚节点。

可理解的是,目标作业指的是根据目标图形式作业链路进行预测时,最终所需确定的总时长的链路节点,例如,在周期报表A的产出数据过程中,需要通过执行四个作业,其中,该四个作业中的前三个作业可作为全部上游作业,该四个作业中最后一个作业可作为目标作业,分别整个链路运行至该目标作业时,即可预测得到周期报表A的预计数据产出的时间。

其中,为了精准计算目标作业执行之后的数据产出的情况进行具体计算,需要先根据目标作业结合目标图形式作业链路,计算包含有目标作业的整条链路的执行所需时间,根据该执行所需时间,确定当前包含目标作业的链路产出数据的预估时间。

可理解的是,上游作业即指的是目标作业相对为上游部分的作业内容,即在产出数据时,先执行相应的上游作业,并在上游作业完成之后,再执行该目标作业,因此,可从全部上游作业中确定出各数据产出时间的情况,并将数据产出时间最晚的作业作为最晚节点。

其中,该最晚节点指的是数据产出时所需经历的最长等待周期的作业节点,即在该最晚节点开始执行时,目标节点需要等待最长的时间,可近似理解为该最晚节点是目标作业所处链路中的一个源头节点。

S32,确定由所述最晚节点和所述目标作业之间的最晚链路。

在图数据库(例如,Neo4j)中获取目标作业的所有直接上游作业,取其中上游作业平均出数时间最晚的节点,标记两者之间的关系为最晚关系,按照最晚关系遍历作业节点上游链路,得到该节点的最晚链路,从而可标记最晚链路的源头节点:通过向上游遍历目标节点的最晚链路,标记该链路的起始节点为源头节点,并通过比较源头节点的平均出数时间与当前时间,计算源头节点的延迟出数时长为。

S33,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

应理解的是,在预测过程中,各作业的准备资源时间(等待时间)和执行时间均可能受到作业执行过程的实际应用场景的影响,随之在预测目标图形式作业链路时,应考虑实际作业执行过程中的时间波动情况,因此,在本实施例中,以预测出整条链路执行所需的最长时间为例进行预测,从而以最长时间作为对外出示的信息,以避免出现以最短时间进行对外出示,结果实际各作业执行过程中所需的时间远大于预测时间,造成相关人员基于该最短时间的工作任务受到影响,从而影响整个团队的工作效率的情况。

因此,在本实施例最终,对最晚链路的数据产出进行预测,得到时效预测结果,从而保证将含有目标作业的整条链路进行完整的时效预测。

此外,在预测得到最晚链路的数据产出的时效预测结果之后,可根据该结果进一步地对其他链路的执行所需时间进行相应预测,具体的,在目标作业对应的节点固定时,可能存在多条包含了该目标作业的链路,在对除了最晚链路之外的其他链路进行预测时,分析最晚链路和其他链路之间存在的作业相关的差异性,例如,作业数量的差异,作业的历史平均执行时长的差异性等。

具体的,在最晚链路的作业数量比其他链路的作业数量多的情况下,仅将最晚链路中的作业的历史平均执行时长作为参考,代入至其他链路中进行计算,仅调整所需计算的作业的数量即可,提高时效预测的效率,在最晚链路的作业数量比其他链路的作业数量少的情况下,仅考虑其他链路的最大历史平均执行时长和最晚链路中最小历史平均执行时长的差值,并根据该差值,作为其他链路中每一个作业和最晚链路中每一个作业的执行时间的差值,从而在最晚链路的时效预测结果的前提下,将其他链路中每一个作业对应的差值进行去除,从而可得到其他链路的时效预测结果,保证了时效预测的效率。

具体的,在进行时效预测时,需要先识别所述最晚链路中各作业的节点状态,并根据所述节点状态,计算所述最晚链路中各作业的节点完成时长,从而可根据所述节点完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

可理解的是,作业节点有五种状态正常完成、异常、执行中、等资源和等条件,每种状态其完成时长的计算公式也不同,因此,需要先识别出各作业所对应的节点状态,并根据该节点状态,对最晚链路中各作业节点的完成试产进行分别预测,进而完成时效预测动作。

具体的,在根据所述节点状态,计算所述最晚链路中各作业的节点完成时长的情况下,需要结合节点状态的情况进行计算,其具体的计算过程为若所述节点状态为处于执行进程中,则获取所述作业的历史平均执行时长,并根据所述历史平均时长,计算所述作业的节点完成时长;若所述节点状态为处于等待进程中,则获取所述作业的历史平均等待时长和历史平均执行时长,并根据所述历史平均等待时长和所述历史平均执行时长,计算所述作业的节点完成时长。

可理解的是,历史平均执行时长和历史等待时长均为根据该作业的历史运行数据所计算得到的平均时长。

具体的,以下将目标作业的节点状态为例进行阐述,具体可参照图4和图5:

其中,若节点状态为正常完成,该作业已就绪,目标作业的完成时长=0;

其中,若节点状态为异常,报错或者hold(锁定)导致无法计算该节点的完成时长,目标作业的完成时长=空(null);

其中,若节点状态为执行中,通过比较作业历史平均执行时长和作业已执行时长得出执行就绪时长,目标作业的完成时长=max(历史平均执行时长-(当前时间-节点开始时间),0);

其中,若节点状态为等待资源,且其为源头节点对应作业,该目标作业节点的完成时长即历史平均执行时长,若非源头节点对应作业,计算等待就绪时长,目标作业的完成时长=历史平均执行时长+max(历史平均等待时长-(当前时间-最晚上游节点结束时间),0);

其中,若节点状态为等待条件,即上游作业为就绪目标作业的完成时长=历史平均执行时长+历史平均等待时长。

综上,除了对目标节点的节点状态进行分析,还可对其他节点的节点状态进行同步分析,可结合该链路中的每一个作业所需的等待时间、执行时间或其他时间等进行预测和分析,从而保证对链路中每一个节点的分析的精准性,此外,在链路中各作业执行的过程中,也会由于实际系统资源调度情况、系统执行各作业的实际运行情况产生波动,因此,在预测时还增加了对实际情况的综合考虑,将实时消息数据引入后,增加了时效预测的精准性。

具体的,在所述最晚链路的上游作业已准备就绪时,通过所述目标图形式作业链路,遍历将已准备就绪的上游作业剔除后的全部作业链路,并计算每一条作业链路的第一预计完成时长,并根据所述每一条作业链路中所对应的最大的第一预计完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

可理解的是,作业准备就绪指的是系统分配相应的资源给该上游作业,该上游作业,并已完成执行动作的作业,将该已就绪的上游作业去除,从而将去除相应准备就绪作业的链路进行遍历,并计算每一条链路的第一预计完成时长,从而可进一步完成数据产出时间的时效预测结果。

具体的,在所述最晚链路的上游作业未准备就绪,且所述最晚链路中的源头节点对应作业未准备就绪时,计算所述源头节点对应作业的延迟出数时长,并根据延迟出数时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

可理解的是,延迟出数时长指的是源头节点对应作业产出数据最迟的时长,从而可实现对最晚产出数据的情况进行预测,使用该方式得到的时效预测结果可保证提示相关人员预留相应的时间等待该数据产出,即相当于预测数据产出的最晚时长,实际数据产出可能为小于等于该最晚时长的情况,保证相关人员可根据该时效预测结果,合理安排工作。

具体的,在所述最晚链路的上游作业未准备就绪,且所述最晚链路中的源头节点对应作业准备就绪时,计算所述最晚链路的第二预计完成时长,并根据所述第二预计完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

可理解的是,第二预计完成时长为源头节点对应作业执行时的第二预计完成时长,即计算最晚链路中的上游作业的执行时间即可。

可理解的是,综上,作业的预测出数时间有三种计算,具体可参照图6:

(1)最晚链路的上游作业已经就绪,剔除已经就绪的上游作业后,用图计算遍历所有链路,计算每条链路的完成时长,取其中的最大值,则作业的预测出数时间为:

(2)最晚链路的上游作业没就绪,且源头节点对应作业还没就绪,计算源头节点对应作业的延迟出数时长,则作业的预测出数时间为:

Predict_time=Avgtime

(3)最晚链路的上游作业没就绪,且源头节点对应作业就绪,计算最晚链路的完成时长,则作业的预测出数时间为:

本实施例通过获取目标作业,并根据所述目标图形式作业链路,确定所述目标作业的全部上游作业,并从所述全部上游作业中确定数据产出时间最晚的最晚节点,确定由所述最晚节点和所述目标作业之间的最晚链路,对所述最晚链路的数据产出时间进行预测,得到时效预测结果,从而可实现仅对最晚链路节点计算,得出目标图形式作业链路中产出数据最晚的情况,从而得到相应的时效预测结果,保证预测的精准性,且符合实际预测过程所需的效果,避免出现预测得到的时效预测结果对应时间较短,实际产出时的时间较长,影响相关人员工作的情况。

此外,本申请实施例还提出一种报表时效预测装置,参照图7,所述报表时效预测装置包括:

获取模块10,用于获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系;

生成模块20,用于根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路;

预测模块30,用于对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果。

本实施例通过获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系,并根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路,即将原本各作业线性执行关系的时效预测方式,转化为以目标图形式作业链路的方式进行相应的时效预测和数据产出时间计算,即对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果,从而规避原本时效感知和预测方式中需要针对不同周期报表设计不同线性函数参数值的情况,直接基于相应的目标图形式作业链路进行周期报表的时效预测,降低了对不同周期报表进行时效预测时的参数需求,从而使得基于相应的目标图形式作业链路的时效预测方式具备通用性,进而可提高相应周期报表的时效感知和预测的预测效率。

需要说明的是,上述装置中的各模块可用于实现上述方法中的各个步骤,同时达到相应的技术效果,本实施例在此不再赘述。

参照图8,图8为本申请实施例方案涉及的硬件运行环境的设备的结构示意图。

如图8所示,该设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图8中示出的结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及报表时效预测程序。

在图8所示的设备中,网络接口1004主要用于与外部网络进行数据通信;用户接口1003主要用于接收用户的输入指令;所述设备通过处理器1001调用存储器1005中存储的报表时效预测程序,并执行以下操作:

获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系;

根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路;

对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果。

进一步地,处理器1001可以调用存储器1005中存储的报表时效预测程序,还执行以下操作:

根据所述依赖关系和预设图技术,生成由所述各作业组成的初始图形式作业链路;

获取实时消息数据,并从所述实时消息数据中筛选得到满足预设数据筛选条件的有效数据;

根据所述有效数据,对所述初始图形式作业链路进行更新处理,得到更新后的目标图形式作业链路。

进一步地,处理器1001可以调用存储器1005中存储的报表时效预测程序,还执行以下操作:

将所述实时消息数据的日期不满足预设日期的部分数据去除;

将去除部分数据的实时消息数据的作业名与所述初始图形式作业链路中的各作业名进行比较,并将所述去除部分数据的实时消息数据的时间戳和所述目标图形式作业链路中各节点的时间戳进行比较,得到比较结果;

若所述比较结果满足预设筛选条件,则将所述去除部分数据的实时消息数据作为有效数据。

进一步地,处理器1001可以调用存储器1005中存储的报表时效预测程序,还执行以下操作:

获取目标作业,并根据所述目标图形式作业链路,确定所述目标作业的全部上游作业,并从所述全部上游作业中确定数据产出时间最晚的最晚节点;

确定由所述最晚节点和所述目标作业之间的最晚链路;

对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

进一步地,处理器1001可以调用存储器1005中存储的报表时效预测程序,还执行以下操作:

识别所述最晚链路中各作业的节点状态,并根据所述节点状态,计算所述最晚链路中各作业的节点完成时长;

根据所述节点完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

进一步地,处理器1001可以调用存储器1005中存储的报表时效预测程序,还执行以下操作:

若所述节点状态为处于执行进程中,则获取所述作业的历史平均执行时长,并根据所述历史平均时长,计算所述作业的节点完成时长;

若所述节点状态为处于等待进程中,则获取所述作业的历史平均等待时长和历史平均执行时长,并根据所述历史平均等待时长和所述历史平均执行时长,计算所述作业的节点完成时长。

进一步地,处理器1001可以调用存储器1005中存储的报表时效预测程序,还执行以下操作:

在所述最晚链路的上游作业已准备就绪时,通过所述目标图形式作业链路,遍历将已准备就绪的上游作业剔除后的全部作业链路,并计算每一条作业链路的第一预计完成时长,并根据所述每一条作业链路中所对应的最大的第一预计完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果;

在所述最晚链路的上游作业未准备就绪,且所述最晚链路中的源头节点对应作业未准备就绪时,计算所述源头节点对应作业的延迟出数时长,并根据延迟出数时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果;

在所述最晚链路的上游作业未准备就绪,且所述最晚链路中的源头节点对应作业准备就绪时,计算所述最晚链路的第二预计完成时长,并根据所述第二预计完成时长,对所述最晚链路的数据产出时间进行预测,得到时效预测结果。

本实施例通过获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系,并根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路,即将原本各作业线性执行关系的时效预测方式,转化为以目标图形式作业链路的方式进行相应的时效预测和数据产出时间计算,即对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果,从而规避原本时效感知和预测方式中需要针对不同周期报表设计不同线性函数参数值的情况,直接基于相应的目标图形式作业链路进行周期报表的时效预测,降低了对不同周期报表进行时效预测时的参数需求,从而使得基于相应的目标图形式作业链路的时效预测方式具备通用性,进而可提高相应周期报表的时效感知和预测的预测效率。

此外,本申请实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有报表时效预测程序,所述报表时效预测程序被处理器执行时实现如下操作:

获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系;

根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路;

对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果。

本实施例通过获取待时效预测的周期报表所涉及的各作业,以及获取所述各作业之间的依赖关系,并根据所述依赖关系和预设图技术,生成由所述各作业组成的目标图形式作业链路,即将原本各作业线性执行关系的时效预测方式,转化为以目标图形式作业链路的方式进行相应的时效预测和数据产出时间计算,即对所述目标图形式作业链路进行各作业链路的数据产出时间进行预测,得到时效预测结果,从而规避原本时效感知和预测方式中需要针对不同周期报表设计不同线性函数参数值的情况,直接基于相应的目标图形式作业链路进行周期报表的时效预测,降低了对不同周期报表进行时效预测时的参数需求,从而使得基于相应的目标图形式作业链路的时效预测方式具备通用性,进而可提高相应周期报表的时效感知和预测的预测效率。

需要说明的是,上述计算机可读存储介质被处理器执行时还可实现上述方法中的各个步骤,同时达到相应的技术效果,本实施例在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

技术分类

06120116566481