[发明专利]支持循环依赖的任务调度方法和系统在审
申请号: | 202010865327.0 | 申请日: | 2020-08-25 |
公开(公告)号: | CN112434061A | 公开(公告)日: | 2021-03-02 |
发明(设计)人: | 周海源 | 申请(专利权)人: | 上海幻电信息科技有限公司 |
主分类号: | G06F16/2453 | 分类号: | G06F16/2453 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 王勇;邓小玲 |
地址: | 200120 上海市浦东新区中国(上海)*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 支持 循环 依赖 任务 调度 方法 系统 | ||
1.一种支持循环依赖的任务调度方法,其特征在于,所述方法包括:
获取一个或多个数据库查询文件,所述一个或多个数据库查询文件包括多个查询语句;
遍历和解析所述多个查询语句;
提取各个查询语句之间的相对关系;及
根据各个查询语句和各个查询语句之间的相对关系,生成用于任务调度的有向无环图;
其中,所述有向无环图包括多个任务节点和所述多个任务节点之间的依赖关系,当所述多个查询语句包括递归查询语句时,所述递归查询语句的每次递归操作分别对应所述多个任务节点中的其中一个任务节点。
2.根据权利要求1所述的支持循环依赖的任务调度方法,其特征在于,获取一个或多个数据库查询文件,包括:
获取文件夹的文件夹参数,所述文件夹包括所述一个或多个数据库查询文件;及
通过所述文件的文件夹参数,导入所述一个或多个数据库查询文件。
3.根据权利要求1所述的支持循环依赖的任务调度方法,其特征在于,所述递归查询语句用于循环执行N个递归查询操作且与多个关联查询语句之间具有相对关系,其中,所述多个关联查询语句对应于所述有向无环图中的多个关联任务节点;根据各个查询语句和各个查询语句之间的相对关系,生成有向无环图,包括:
配置与所述N个递归查询操作一一对应的N个分拆任务节点;
根据N个分拆任务节点对应的N个分区信息,确定所述N个分拆任务节点之间的依赖关系;及
根据N个分拆任务节点对应的N个分区信息,配置所述多个关联任务节点和所述N个分拆任务节点之间的依赖关系。
4.根据权利要求1至3任意一项所述的支持循环依赖的任务调度方法,其特征在于,还包括:
获取所述多个任务节点中的多个没有上游依赖关系的任务节点,所述多个没有上游依赖关系的任务节点包括根任务节点和非根任务节点;
将所述非根任务节点确定为第一类异常任务节点,并对所述非根任务节点执行以下操作:
禁止以所述非根任务节点为起始任务节点启动所述数据库查询操作;及
在检测到以所述根任务节点为所述起始任务节点启动所述数据库查询操作时,则启动所述非根任务节点。
5.根据权利要求1至3任意一项所述的支持循环依赖的任务调度方法,其特征在于,还包括:
获取所述多个任务节点中的多个没有下游依赖关系的任务节点,所述多个没有下游依赖关系的任务节点包括结束任务节点和非结束任务节点;及
将所述非结束任务节点确定为第二类异常任务节点,并基于所述非结束任务节点执行相应的操作。
6.根据权利要求1至3任意一项所述的支持循环依赖的任务调度方法,其特征在于,还包括:
确定所述有向无环图是否包括错误依赖关系;及
如果所述有向无环图包括所述错误依赖关系,则基于所述错误依赖关系执行相应的操作。
7.根据权利要求6所述的支持循环依赖的任务调度方法,其特征在于,确定所述有向无环图是否包括错误依赖关系,包括:
获取各个任务节点的分区时间信息;
根据所述各个任务节点的分区时间信息,判断是否存在两个任务节点中的分区时间较早的任务节点调用分区时间较晚的另一个任务节点;及
如果存在两个任务节点中的分区时间较早的任务节点调用分区时间较晚的另一个任务节点,则确定这两个任务节点之间的依赖关系为所述错误依赖关系。
8.根据权利要求1至3任意一项所述的支持循环依赖的任务调度方法,其特征在于,还包括:
确定所述多个任务节点是否包括具有多路输出的任务节点;及
如果所述多个任务节点包括具有多路输出的任务节点,则为这个具有多路输出的任务节点配置多个相应的下游任务节点,并在这个具有多个输出的任务节点和各个相应的下游任务节点之间建立相应的依赖关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海幻电信息科技有限公司,未经上海幻电信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010865327.0/1.html,转载请声明来源钻瓜专利网。