数据报表任务执行方法、装置、设备和存储介质与流程

文档序号:26139205发布日期:2021-08-03 14:22阅读:75来源:国知局
数据报表任务执行方法、装置、设备和存储介质与流程

本申请涉及计算机技术领域,具体而言,涉及一种数据报表任务执行方法、装置、设备和存储介质。



背景技术:

在电商领域中,经常需要统计商品的数据报表,任务队列中,当前的数据报表任务需要执行时,如果该数据报表相关联的数据报表没有更新完毕,就执行该数据报表统计计算任务,则可能会造成该数据报表统计计算的失误。



技术实现要素:

本申请的主要目的在于提供一种数据报表任务执行方法、装置、设备和存储介质,以解决上述问题。

为了实现上述目的,根据本申请的一个方面,提供了一种数据报表任务执行方法,包括:

在数据报表任务队列中,对于任意的一个当前要执行的数据报表任务,确定所述数据报表任务的多个关联数据报表任务;

确定每个关联数据报表任务的任务执行状态;

如果至少有一个数据报表任务的数据报表的任务执行状态为没有完成;

则不执行所述数据报表任务,以及将所述数据报表任务放在所述队列的队尾,等待所有所述关联数据报表任务执行完成后再执行所述数据报表任务。

在一种实施方式中,如果所有关联数据报表任务的执行状态为执行完成,则执行所述数据报表任务。

在一种实施方式中,确定当前数据报表任务的关联数据报表任务,包括:

根据预先设定的数据报表任务关联关系确定所述当前数据报表任务的关联数据报表任务。

在一种实施方式中,多个关联数据报表任务为并行关系。

在一种实施方式中,所述方法还包括:如果在一天的时间之内,所述数据报表任务被放置在队尾的次数达到了预定次数阈值,则确定所述数据报表任务为失败任务。

在一种实施方式中,确定所述数据报表任务为失败任务后,所述方法还包括:确定所述数据报表任务的关联数据报表任务集合中的目标数据报表任务。

为了实现上述目的,根据本申请的第二方面,提供了一种数据报表任务执行装置;该装置包括:

任务确定模块,用于在数据报表任务队列中,对于任意的一个当前要执行的数据报表任务,确定所述数据报表任务的多个关联数据报表任务;

执行状态确定模块,用于确定每个关联数据报表任务的任务执行状态;

任务执行模块,用于如果至少有一个数据报表任务的数据报表的任务执行状态为没有完成;则不执行所述数据报表任务;

调度模块,用于将所述数据报表任务放在所述队列的队尾,等待所有所述关联数据报表任务执行完成后再执行所述数据报表任务。

在一种实施方式中,任务执行模块还用于,如果所有关联数据报表任务的执行状态为执行完成,则执行所述数据报表任务。

在一种实施方式中,任务确定模块还用于,根据预先设定的数据报表任务关联关系确定所述当前数据报表任务的关联数据报表任务。

在一种实施方式中,还包括判断模块,用于如果在一天的时间之内,所述数据报表任务被放置在队尾的次数达到了预定次数阈值,则确定所述数据报表任务为失败任务。

在一种实施方式中,任务确定模块还用于,确定所述数据报表任务为失败任务后,确定所述数据报表任务的关联数据报表任务集合中的目标数据报表任务。

为了实现上述目的,根据本申请的第三方面,提供了一种数据报表任务执行设备;包括至少一个处理器和至少一个存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行以下的步骤:

在数据报表任务队列中,对于任意的一个当前要执行的数据报表任务,确定所述数据报表任务的多个关联数据报表任务;

确定每个关联数据报表任务的任务执行状态;

如果至少有一个数据报表任务的数据报表的任务执行状态为没有完成;

则不执行所述数据报表任务,以及将所述数据报表任务放在所述队列的队尾,等待所有所述关联数据报表任务执行完成后再执行所述数据报表任务。

在一种实施方式中,如果所有关联数据报表任务的执行状态为执行完成,则执行所述数据报表任务。

在一种实施方式中,确定当前数据报表任务的关联数据报表任务,包括:

根据预先设定的数据报表任务关联关系确定所述当前数据报表任务的关联数据报表任务。

在一种实施方式中,多个关联数据报表任务为并行关系。

在一种实施方式中,所述方法还包括:如果在一天的时间之内,所述数据报表任务被放置在队尾的次数达到了预定次数阈值,则确定所述数据报表任务为失败任务。

在一种实施方式中,确定所述数据报表任务为失败任务后,所述方法还包括:确定所述数据报表任务的关联数据报表任务集合中的目标数据报表任务。

根据本申请的第四方面,提供了一种计算机可读存储介质,计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行以下的步骤:

在数据报表任务队列中,对于任意的一个当前要执行的数据报表任务,确定所述数据报表任务的多个关联数据报表任务;

确定每个关联数据报表任务的任务执行状态;

如果至少有一个数据报表任务的数据报表的任务执行状态为没有完成;

则不执行所述数据报表任务,以及将所述数据报表任务放在所述队列的队尾,等待所有所述关联数据报表任务执行完成后再执行所述数据报表任务。

在一种实施方式中,如果所有关联数据报表任务的执行状态为执行完成,则执行所述数据报表任务。

在一种实施方式中,确定当前数据报表任务的关联数据报表任务,包括:

根据预先设定的数据报表任务关联关系确定所述当前数据报表任务的关联数据报表任务。

在一种实施方式中,多个关联数据报表任务为并行关系。

在一种实施方式中,所述方法还包括:如果在一天的时间之内,所述数据报表任务被放置在队尾的次数达到了预定次数阈值,则确定所述数据报表任务为失败任务。

在一种实施方式中,确定所述数据报表任务为失败任务后,所述方法还包括:确定所述数据报表任务的关联数据报表任务集合中的目标数据报表任务。

本发明的上述的技术方案,确定当前数据报表任务的多个关联数据报表任务,以及任务执行状态;如果至少有一个数据报表任务的数据报表的任务执行状态为没有完成,则不执行所述数据报表任务,以及将所述数据报表任务放在所述队列的队尾,等待所有所述关联数据报表任务执行完成后再执行所述数据报表任务。本发明的上述的方法,确保相关的数据报表任务执行完毕后,再执行数据报表任务,能够提高该数据报表任务执行后,得到更加满意的精确的数据报表统计的结果,提高数据报表的精确性。

附图说明

构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的一种数据报表任务执行方法的流程图;

图2是根据本申请实施例的一种数据报表任务执行装置的结构示意图;

图3是根据本申请实施例的一种数据报表任务执行设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请提出了一种数据报表任务执行方法,参见附图1所示的一种数据报表任务执行方法流程图,该方法包括:

步骤s102,在数据报表任务队列中,对于任意的一个当前要执行的数据报表任务,确定所述数据报表任务的多个关联数据报表任务;

其中,多个关联数据报表任务为并行关系。

步骤s104,确定每个关联数据报表任务的任务执行状态;

其中,任务执行状态包括任务执行完成,或者,任务没有执行完成;其中,任务执行完成包括:数据报表的数据已经完成更新;任务没有执行完成,包括:数据报表的数据没有完成更新;

步骤s106,如果至少有一个数据报表任务的任务执行状态没有完成,则不执行所述数据报表任务,以及将所述数据报表任务放在所述队列的队尾,等待所有的关联数据报表任务的任务执行完成后再执行所述数据报表任务。

步骤s108,如果所有关联数据报表任务的执行状态为执行完成,则执行所述数据报表任务。

本发明的数据报表任务执行方法,当对于队列中的当前的数据报表任务需要执行时,首先判断与该数据报表任务相关的关联数据报表任务,如果该数据报表任务相关的关联数据报表任务还没有执行完毕,则将该当前的数据报表任务放在队列的队尾。如果轮到该当前的数据报表任务时,再次进行判断,如果该数据报表任务相关的关联数据报表任务还没有执行完毕,再次放在队列的队尾。避免了因为相关的数据报表任务没有执行完毕而执行当前的数据报表任务而造成的数据报表计算不准确。

示例性的,电商商家销售多种不同的商品,假如该电商销售了三种商品;

商品a,统计商品a的数据报表的销售额为a,对应的执行任务标识为aa;

商品b,商品b的数据报表的销售额为b,对应的执行任务标识为bb;

商品c,商品c的数据报表的销售额为c,对应的执行任务标识为cc;

统计总的销售额z=a+b+c,对应的执行任务标识为zz。

只有当执行任务aa、bb和cc都执行完毕后,也就是数据报表更新完毕之后,才能执行任务zz。否则,执行任务zz,也会造成得到的最终销售额不准确。因为三种商品中,每种商品的销售额的统计是并行的,时间同时进行,但是,有可能发生的情况是,商品b、c的销售额的统计已经完成,任务bb和cc执行完毕,但是商品a的销售额的更新统计还没有完成,任务aa没有执行完毕,就统计最终的销售额zz,就会造成最终的销售额统计的不准确。

在一种实施方式中,确定当前数据报表任务的关联数据报表任务时,根据预先设定的数据报表任务关联关系确定所述当前数据报表任务的关联数据报表任务。

具体的,可以设定关联关系表,为每个任务设置标识,在关联关系表中设定任务的关联关系。示例性的,参见表1所示的一种关联关系表。

表1

在一种实施方式中,确定所述数据报表任务为失败任务后,确定所述数据报表任务的关联数据报表任务集合中的目标数据报表任务。

具体的,如果一段预定的时间段内,数据报表任务多次被放在队列的队尾,被放在队列的队尾的次数达到了预定的次数阈值,则确定该数据报表任务为失败任务。对于失败任务,不再继续执行该任务。查找分析该数据报表任务失败的原因,确定导致失败的目标数据报表关联任务。

其中,预定的时间段可以为一天,预定的次数阈值可以为5次,上述的阈值可以灵活设定,本申请不进行限定。

示例性的,如果一天中,任务zz被放在队列的队尾的次数达到了5次,则确定任务zz为失败任务,拒绝再次执行该任务。

并且分析该任务失败的原因,可能是因为任务aa、bb或者cc中的一个或者几个迟迟没有成功执行导致的。确定出关联数据报表任务后,可以关联数据报表进行干预处理,比如,检查是否是因为机器宕机导致的数据更新失败,或者,检查是否是因为数据传输的链路发生阻塞导致的数据更新失败,或者是是否是因为数据的存储数据库的故障导致的数据更新的失败,或者,是否是因为数据统计计算的程序导致的更新失败等等。

具体实施时,数据更新,是以新数据项或记录、替换数据文件或数据库中与之相对应的旧数据项或记录的过程,通过删除、修改、再插入的操作来实现。

所以,需要检查目标关联数据报表的删除操作、修改操作、插入操作环节。

在一种实施方式中,所述方法还包括,计算每一种商品的价格;

根据每个商品的价格和所述商品的销售数量计算得到所述商品的销售额;

在计算每一种商品的价格时,采用以下的步骤:

计算所述商品的超期的时间段;

如果超期的时间段处于第一预定的时间段,则对应的单价为第一单价;

如果超期的时间段处于第二预定的时间段,则对应的单价为第二单价;

如果超期的时间段处于第三预定的时间段,则对应的单价为第三单价;

示例性的,第一时间段为0<x≤5天,如果商品a超期为2天,则价格为15元每件。

第二时间段为5≤x<10天,如果商品a超期为7天,则价格为12元每件;

第三时间段为10≤x≤15天,如果商品a的超期为10天,则价格为10元每件。

也可以将超期时间段按照保质期的比例来计算,

如果商品保质期超期的时间小于等于保质期的1/5,则对应第一价格;

如果超期的时间大于保质期的1/5,小于保质期的1/3,则对应第二价格;

如果超期的时间达到了大于等于保质期的1/3,小于保质期的1/2,则对应第三价格。

值得强调的是,上述的保质期

超期的天数越长,单价越低,所以商品a的销售额的计算会根据天数的变化而变化。

第二方面,本发明还提供了一种数据报表任务执行装置,如图2所示,该装置包括:

任务确定模块21,用于在数据报表任务队列中,对于任意的一个当前要执行的数据报表任务,确定所述数据报表任务的多个关联数据报表任务;

执行状态确定模块22,用于确定每个关联数据报表任务的任务执行状态;

任务执行模块23,用于如果至少有一个数据报表任务的数据报表的任务执行状态为没有完成;则不执行所述数据报表任务;

调度模块24,用于将所述数据报表任务放在所述队列的队尾,等待所有所述关联数据报表任务执行完成后再执行所述数据报表任务。

在一种实施方式中,任务执行模块23还用于,如果所有关联数据报表任务的执行状态为执行完成,则执行所述数据报表任务。

在一种实施方式中,任务确定模块21还用于,根据预先设定的数据报表任务关联关系确定所述当前数据报表任务的关联数据报表任务。

在一种实施方式中,还包括判断模块,用于如果在一天的时间之内,所述数据报表任务被放置在队尾的次数达到了预定次数阈值,则确定所述数据报表任务为失败任务。

在一种实施方式中,任务确定模块21还用于,确定所述数据报表任务为失败任务后,确定所述数据报表任务的关联数据报表任务集合中的目标数据报表任务。

根据本申请的第三方面,提供了一种数据报表任务执行设备;参见附图3,包括至少一个处理器31和至少一个存储器32;所述存储器32用于存储一个或多个程序指令;所述处理器31,用于运行一个或多个程序指令,用以执行上述任意一项所述的方法。

第四方面,本申请还提出了一种计算机可读存储介质,计算机可读存储介质中包含一个或多个程序指令,所述一个或多个程序指令用于执行上述任意一项所述的方法。

可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。

存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。

其中,非易失性存储器可以是只读存储器(read-onlymemory,简称rom)、可编程只读存储器(programmablerom,简称prom)、可擦除可编程只读存储器(erasableprom,简称eprom)、电可擦除可编程只读存储器(electricallyeprom,简称eeprom)或闪存。

易失性存储器可以是随机存取存储器(randomaccessmemory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(staticram,简称sram)、动态随机存取存储器(dynamicram,简称dram)、同步动态随机存取存储器(synchronousdram,简称sdram)、双倍数据速率同步动态随机存取存储器(doubledataratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhancedsdram,简称esdram)、同步连接动态随机存取存储器(synchlinkdram,简称sldram)和直接内存总线随机存取存储器(directrambusram,简称drram)。

本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。

本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1