本说明书涉及互联网,尤其涉及一种数据处理方法和系统。
背景技术:
1、在相关技术中,针对多任务工作流的处理,通常采用airflow实现。在airflow中,执行器负责控制多任务工作流中各任务的执行方式,包括并行执行和串行执行。
2、然而,在airflow中,对执行器或采用并行执行,或采用串行执行的具体实现方式并未明确。因此,执行器基于airflow对任务工作流进行处理时,无法实现数据处理的有效性和可靠性。
3、值得说明的是,上述相关技术的内容仅仅是发明人个人所知晓的信息,并不代表上述信息在本说明书申请日之前已经进入公共领域,也不代表其可以成为本说明书的现有技术。
技术实现思路
1、本说明书提供一种数据处理方法和系统,用以避免上述技术问题中的至少一种。
2、第一方面,本说明书提供一种数据处理方法,包括:
3、获得数据处理请求,所述数据处理请求用于请求获取与任务图对应的任务执行结果;
4、基于所述数据处理请求获得所述任务图的配置信息,其中,所述任务图中包括多个任务,所述配置信息包括所述多个任务之间的依赖关系;
5、基于所述配置信息对所述任务图进行分析,得到目标任务工作流,其中,在所述目标任务工作流中:所述任务图中的不同依赖层级的任务为串行执行,相同依赖层级的任务为并行执行;以及
6、控制执行所述目标任务工作流,得到并输出所述任务执行结果。
7、在一些实施例中,所述配置信息还包括数据分区信息,所述数据分区信息表征用于执行所述目标任务工作流的数据存储粒度;所述控制执行所述目标任务工作流,包括:
8、基于所述数据分区信息,获得不同数据分区各自对应的待执行数据;以及
9、根据不同数据分区各自对应的待执行数据,控制执行所述目标任务工作流。
10、在一些实施例中,所述不同数据分区中包括第一数据分区和第二数据分区;所述根据不同数据分区各自对应的待执行数据,控制执行所述目标任务工作流,包括:
11、在根据所述第一数据分区的待执行数据,控制执行所述第一数据分区的所述目标任务工作流时,根据所述第二数据分区的待执行数据,并行控制执行所述第二数据分区的所述目标任务工作流。
12、在一些实施例中,所述配置信息还包括执行所述任务图中的任务的参数信息;
13、所述不同依赖层级的任务在所述目标任务工作流中的第一参数信息至少部分不同,和/或,所述相同依赖层级的任务在所述目标任务工作流中的第二参数信息至少部分不同;
14、其中,所述参数信息包括所述第一参数信息和/或所述第二参数信息。
15、在一些实施例中,所述第一参数信息为执行频率;所述不同依赖层级的任务包括第一层级任务和第二层级任务;所述第一层级任务、所述第二层级任务在所述目标任务工作流中的执行频率不同。
16、在一些实施例中,所述第二层级任务为所述第一层级任务的下游层级任务;所述第二层级任务的执行频率小于所述第一层级任务的执行频率。
17、在一些实施例中,所述第二参数信息为优先级;所述相同依赖层级的任务包括第一任务和第二任务;所述第一任务和所述第二任务在所述目标任务工作流中的优先级不同。
18、在一些实施例中,所述第一任务和所述第二任务在所述目标任务工作流中的优先级,是基于所述第一任务和所述第二任务的属性信息确定的;
19、其中,所述属性信息包括重要性属性和/或资源消耗属性。
20、在一些实施例中,所述配置信息还包括并发度,所述并发度用于表征在所述目标任务工作流中支持所述相同依赖层级的任务的并行最大数量;
21、所述目标任务工作流是在所述相同依赖层级的任务并行数量达到所述并发度的情况下,基于所述优先级确定的。
22、第二方面,本说明书提供一种数据处理系统,包括:
23、至少一个存储介质,存储有至少一个指令集来进行数据处理;
24、至少一个处理器,同所述至少一个存储介质通讯连接;
25、其中,当所述至少一个处理器运行时读取所述至少一个指令集,并且根据所述至少一个指令集的指示实施如上第一方面任一实施例所述的方法。
26、第三方面,本说明书提供一种计算机可读非暂时性存储介质,其中,所述计算机可读非暂时性存储介质中存储有至少一个指令集,所述至少一个指令集被至少一个处理器执行,实现如上第一方面任一实施例所述的方法。
27、由以上技术方案可知,本说明书提供的数据处理方法和系统,通过基于配置信息对任务图进行分析,以构建得到“任务图中的不同依赖层级的任务为串行执行,相同依赖层级的任务为并行执行”的目标任务工作流,并在控制执行目标工作流的情况下,得到并输出任务执行结果。能够确保在相同依赖层级间保持串行执行,同时在各依赖层级内部实现并发执行,以加速整个目标任务工作流的处理速度,即可以提高数据处理的效率,且在数据处理系统处于高负载的情况下提高吞吐量。
28、本说明书提供的数据处理方法和系统的其他功能将在以下说明中部分列出。本说明书提供的数据处理方法和系统的创造性方面可以通过实践或使用下面详细示例中所述的方法、装置和组合得到充分解释。
1.一种数据处理方法,包括:
2.根据权利要求1所述的方法,其中,所述配置信息还包括数据分区信息,所述数据分区信息表征用于执行所述目标任务工作流的数据存储粒度;所述控制执行所述目标任务工作流,包括:
3.根据权利要求2所述的方法,其中,所述不同数据分区中包括第一数据分区和第二数据分区;所述根据不同数据分区各自对应的待执行数据,控制执行所述目标任务工作流,包括:
4.根据权利要求1所述的方法,其中,所述配置信息还包括执行所述任务图中的任务的参数信息;
5.根据权利要求4所述的方法,其中,所述第一参数信息为执行频率;所述不同依赖层级的任务包括第一层级任务和第二层级任务;所述第一层级任务、所述第二层级任务在所述目标任务工作流中的执行频率不同。
6.根据权利要求5所述的方法,其中,所述第二层级任务为所述第一层级任务的下游层级任务;所述第二层级任务的执行频率小于所述第一层级任务的执行频率。
7.根据权利要求4所述的方法,其中,所述第二参数信息为优先级;所述相同依赖层级的任务包括第一任务和第二任务;所述第一任务和所述第二任务在所述目标任务工作流中的优先级不同。
8.根据权利要求7所述的方法,其中,所述第一任务和所述第二任务在所述目标任务工作流中的优先级,是基于所述第一任务和所述第二任务的属性信息确定的;
9.根据权利要求7所述的方法,其中,所述配置信息还包括并发度,所述并发度用于表征在所述目标任务工作流中支持所述相同依赖层级的任务的并行最大数量;
10.一种数据处理系统,包括:
