任务处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:24205496 阅读:25 留言:0更新日期:2020-05-20 14:29
本申请涉及数据处理技术领域,公开了一种任务处理方法、装置、电子设备及存储介质,方法包括:获取目标任务对应的业务数据;获取目标任务的任务模块,任务模块包括多个逻辑单元实例,各逻辑单元实例之间具有设定的依赖关系;将业务数据输入任务模块中的第一级逻辑单元实例;并获得最后一级逻辑单元实例输出的业务处理结果,其中,各逻辑单元实例根据依赖关系确定位于其上一级的逻辑单元实例,并在根据上一级的逻辑单元实例的执行情况确定满足触发条件时,对上一级逻辑单元实例的输出数据执行相应的处理并输出处理结果。本申请实施例提供的技术方案,通过配置框架封装的方式以及简单的依赖关系,降低了维护逻辑单元实例间的依赖关系的成本。

Task processing method, device, electronic equipment and storage medium

【技术实现步骤摘要】
任务处理方法、装置、电子设备及存储介质
本申请涉及数据处理
,尤其涉及一种任务处理方法、装置、电子设备及存储介质。
技术介绍
随着移动互联网的不断发展,业务需求也在不断增加,当一个项目发展到一定阶段时,项目功能的频繁变更,随之带来的是项目结构复杂度的增加以及程序代码量的增大。当一项任务的处理逻辑比较复杂时,为了更高效地使用计算资源,需要将该任务尽可能地划分成多个子任务,通过串行和并行执行各子任务对应的逻辑单元的方式,提高处理效率,子任务的划分粒度越细,并行效率越高。但是,子任务的划分粒度越细,一项任务对应的逻辑单元就越多,这就需要花费大量的代码来处理逻辑单元之间的逻辑关系,不利于代码阅读,且在后续的维护中,一旦业务需求发生变更,修改成本较高且容易出错。
技术实现思路
本申请实施例提供一种任务处理方法、装置、电子设备及存储介质,以降低维护各逻辑单元间的依赖关系的成本。一方面,本申请一实施例提供了一种任务处理方法,包括:获取目标任务对应的业务数据,所述目标任务包括多个子任务;获取所述目标任务的任务模块,所述任务模块包括多个逻辑单元实例,每个逻辑单元实例对应所述目标任务中的一个子任务,各逻辑单元实例之间具有设定的依赖关系,所述依赖关系根据所述多个子任务之间的处理逻辑设置;将所述业务数据输入所述任务模块中的第一级逻辑单元实例;并获得最后一级逻辑单元实例输出的业务处理结果,其中,各逻辑单元实例根据所述依赖关系确定位于其上一级的逻辑单元实例,并在根据上一级的逻辑单元实例的执行情况确定满足触发条件时,对上一级逻辑单元实例的输出数据执行相应的处理并输出处理结果。可选地,所述获取所述目标任务的任务模块,具体包括:获取所述目标任务的任务配置文件,所述任务配置文件中包括所述目标任务的各子任务对应的逻辑单元,以及各逻辑单元之间的依赖关系;根据所述任务配置文件中的逻辑单元,创建对应的逻辑单元实例;根据所述各逻辑单元之间的依赖关系,确定各逻辑单元实例之间的依赖关系。可选地,所述任务配置文件还包括所述目标任务所需处理的业务数据的类别,以及每种类别的业务数据对应的工作流,每个工作流包括处理对应类别的业务数据所需的至少一个逻辑单元;所述获取所述目标任务的任务模块,具体包括:根据各类别的业务数据的数据量,确定各工作流对应的工作流数量N;针对每个工作流,确定N个与所述工作流相同的工作流实例;根据各工作流实例中的逻辑单元,创建对应的逻辑单元实例;针对每个工作流实例,根据其对应的工作流中的逻辑单元之间的依赖关系,确定所述工作流实例中的逻辑单元实例之间的依赖关系;针对每个工作流实例,根据其对应的工作流中的逻辑单元与其他工作流中的逻辑单元的依赖关系,确定所述工作流实例中的逻辑单元实例与其他工作流实例中的逻辑单元实例之间的依赖关系;根据各类别的业务数据对应的N,将各类别的业务数据划分为N组;确定每个工作流实例对应的业务数据的类别以及组别,并确定每个工作流实例中的各逻辑单元实例对应的输入数据。可选地,本申请一实施例提供的任务处理方法还包括:在确定出各逻辑单元实例之间的依赖关系后,确定所述各逻辑单元实例之间的依赖关系是否为有向无环图;若不是有向无环图,则生成错误提示信息。可选地,本申请一实施例提供的任务处理方法还包括:各逻辑单元实例执行完对应的处理流程后,向位于其下一级的逻辑单元实例发送已执行完的通知消息;所述根据上一级的逻辑单元实例的执行情况确定满足触发条件,具体包括:根据上一级的逻辑单元实例发送的已执行完的通知消息,确定满足触发条件。可选地,所述触发条件包括:所述上一级的逻辑单元实例均已执行完对应的处理流程,或者所述上一级的逻辑单元实例的执行时间均已超时,或者所述上一级的逻辑单元实例中的部分逻辑单元实例已执行完对应的处理流程且另一部分逻辑单元实例的执行时间已超时。一方面,本申请一实施例提供了一种任务处理装置,包括:数据获取模块,用于获取目标任务对应的业务数据,所述目标任务包括多个子任务;任务调用模块,用于获取所述目标任务的任务模块,所述任务模块包括多个逻辑单元实例,每个逻辑单元实例对应所述目标任务中的一个子任务,各逻辑单元实例之间具有设定的依赖关系,所述依赖关系根据所述多个子任务之间的处理逻辑设置;数据处理模块,用于将所述业务数据输入所述任务模块中的第一级逻辑单元实例;并获得最后一级逻辑单元实例输出的业务处理结果,其中,各逻辑单元实例根据所述依赖关系确定位于其上一级的逻辑单元实例,并在根据上一级的逻辑单元实例的执行情况确定满足触发条件时,对上一级逻辑单元实例的输出数据执行相应的处理并输出处理结果。可选地,所述任务调用模块具体用于:获取所述目标任务的任务配置文件,所述任务配置文件中包括所述目标任务的各子任务对应的逻辑单元,以及各逻辑单元之间的依赖关系;根据所述任务配置文件中的逻辑单元,创建对应的逻辑单元实例;根据所述各逻辑单元之间的依赖关系,确定各逻辑单元实例之间的依赖关系。可选地,所述任务配置文件还包括所述目标任务所需处理的业务数据的类别,以及每种类别的业务数据对应的工作流,每个工作流包括处理对应类别的业务数据所需的至少一个逻辑单元。相应地,所述任务调用模块具体用于:根据各类别的业务数据的数据量,确定各工作流对应的工作流数量N;针对每个工作流,确定N个与所述工作流相同的工作流实例;根据各工作流实例中的逻辑单元,创建对应的逻辑单元实例;针对每个工作流实例,根据其对应的工作流中的逻辑单元之间的依赖关系,确定所述工作流实例中的逻辑单元实例之间的依赖关系;针对每个工作流实例,根据其对应的工作流中的逻辑单元与其他工作流中的逻辑单元的依赖关系,确定所述工作流实例中的逻辑单元实例与其他工作流实例中的逻辑单元实例之间的依赖关系;根据各类别的业务数据对应的N,将各类别的业务数据划分为N组;确定每个工作流实例对应的业务数据的类别以及组别,并确定每个工作流实例中的各逻辑单元实例对应的输入数据。可选地,所述任务调用模块还用于:在确定出各逻辑单元实例之间的依赖关系后,确定所述各逻辑单元实例之间的依赖关系是否为有向无环图;若不是有向无环图,则生成错误提示信息。可选地,数据处理模块,还用于:各逻辑单元实例执行完对应的处理流程后,向位于其下一级的逻辑单元实例发送已执行完的通知消息;相应地,所述数据处理模块具体用于:根据上一级的逻辑单元实例发送的已执行完的通知消息,确定满足触发条件。可选地,所述触发条件包括:所述上一级的逻辑单元实例均已执行完对应的处理流程,或者所述上一级的逻辑单元实例的执行时间均已超时,或者所述上一级的逻辑单元实例中的部分逻辑单元实例已执行完对应的处理流程且另一部分逻辑单元实例的执行时间已超时本文档来自技高网...

【技术保护点】
1.一种任务处理方法,其特征在于,包括:/n获取目标任务对应的业务数据,所述目标任务包括多个子任务;/n获取所述目标任务的任务模块,所述任务模块包括多个逻辑单元实例,每个逻辑单元实例对应所述目标任务中的一个子任务,各逻辑单元实例之间具有设定的依赖关系,所述依赖关系根据所述多个子任务之间的处理逻辑设置;/n将所述业务数据输入所述任务模块中的第一级逻辑单元实例;并/n获得最后一级逻辑单元实例输出的业务处理结果,其中,各逻辑单元实例根据所述依赖关系确定位于其上一级的逻辑单元实例,并在根据上一级的逻辑单元实例的执行情况确定满足触发条件时,对上一级逻辑单元实例的输出数据执行相应的处理并输出处理结果。/n

【技术特征摘要】
1.一种任务处理方法,其特征在于,包括:
获取目标任务对应的业务数据,所述目标任务包括多个子任务;
获取所述目标任务的任务模块,所述任务模块包括多个逻辑单元实例,每个逻辑单元实例对应所述目标任务中的一个子任务,各逻辑单元实例之间具有设定的依赖关系,所述依赖关系根据所述多个子任务之间的处理逻辑设置;
将所述业务数据输入所述任务模块中的第一级逻辑单元实例;并
获得最后一级逻辑单元实例输出的业务处理结果,其中,各逻辑单元实例根据所述依赖关系确定位于其上一级的逻辑单元实例,并在根据上一级的逻辑单元实例的执行情况确定满足触发条件时,对上一级逻辑单元实例的输出数据执行相应的处理并输出处理结果。


2.根据权利要求1所述的方法,其特征在于,所述获取所述目标任务的任务模块,具体包括:
获取所述目标任务的任务配置文件,所述任务配置文件中包括所述目标任务的各子任务对应的逻辑单元,以及各逻辑单元之间的依赖关系;
根据所述任务配置文件中的逻辑单元,创建对应的逻辑单元实例;
根据所述各逻辑单元之间的依赖关系,确定各逻辑单元实例之间的依赖关系。


3.根据权利要求2所述的方法,其特征在于,所述任务配置文件还包括所述目标任务所需处理的业务数据的类别,以及每种类别的业务数据对应的工作流,每个工作流包括处理对应类别的业务数据所需的至少一个逻辑单元;
所述获取所述目标任务的任务模块,具体包括:
根据各类别的业务数据的数据量,确定各工作流对应的工作流数量N;
针对每个工作流,确定N个与所述工作流相同的工作流实例;
根据各工作流实例中的逻辑单元,创建对应的逻辑单元实例;
针对每个工作流实例,根据其对应的工作流中的逻辑单元之间的依赖关系,确定所述工作流实例中的逻辑单元实例之间的依赖关系;
针对每个工作流实例,根据其对应的工作流中的逻辑单元与其他工作流中的逻辑单元的依赖关系,确定所述工作流实例中的逻辑单元实例与其他工作流实例中的逻辑单元实例之间的依赖关系;
根据各类别的业务数据对应的N,将各类别的业务数据划分为N组;
确定每个工作流实例对应的业务数据的类别以及组别,并确定每个工作流实例中的各逻辑单元实例对应的输入数据。


4.根据权利要求2或3所述的方法,其特征在于,还包括:
在确定出各逻辑单元实例之间的依赖关系后,确定所述各逻辑单元实例之间...

【专利技术属性】
技术研发人员:安明洋周智昊
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1