The present invention provides a chain dependency analysis method and system for directed acyclic graphs, which includes the following steps: detecting whether the pre-order batch task of the current batch has been completed by a global scanner; instantiating all tasks of the current batch if the pre-order batch task has been completed; running all root node tasks; and judging whether all root node tasks are positive or not. Normally running is over; if all root node tasks have been completed normally, all subsequent tasks belonging to each root node task will be monitored and run through node scanner; if all root node tasks and their subsequent tasks in the current batch have been completed normally, then running batches in the subsequent batches will be carried out. In the case of limited server resources, the invention can efficiently analyze the chain dependence of DAG and real-time performance of task execution. When running in batches, the node scanner can only monitor the subsequent tasks in real-time, and the scanning operation is less, and the real-time efficiency is higher.
【技术实现步骤摘要】
有向无环图的链式依赖分析方法及系统
本专利技术涉及区块链
,特别涉及一种有向无环图的链式依赖分析方法及系统。
技术介绍
现有关于有向无环图的链式依赖分析有以下两种方案:一种是创建等待任务视图,该视图实时监控任务运行表以及任务依赖关系表,将可以进入运行队列的任务加入到视图当中,程序以一定的时间间隔扫描该视图,运行等待任务;另一种是程序实时扫描任务运行表中的等待任务,分析所有等待任务的前置依赖是否已经全部完成,若完成再运行等待任务。方案一中的问题是:由于视图对任务的依赖分析需要一定时间,所以扫描时间间隔不能过小且不好预估,实时性比较差。方案二中的问题是:任务数量不宜过大,否则每一次轮询等待任务并分析等待任务的依赖都需要大量的时间消耗,降低实时性;高速扫描会占用大量的服务器资源。但是不论方案一还是方案二,均存在不管任务是否已经全部完成,两种方案的扫描程序都会一直运行,会造成服务器资源的浪费的问题。
技术实现思路
本专利技术提供一种有向无环图的链式依赖分析方法及系统,解决现有上述的问题。为解决上述问题,本专利技术实施例提供一种有向无环图的链式依赖分析方法,包括以下步骤: ...
【技术保护点】
1.一种有向无环图的链式依赖分析方法,其特征在于,包括以下步骤:通过全局扫描器检测当前批次的前序批次任务是否均已完成;若前序批次任务均已完成,则将当前批次的所有任务实例化;运行所有根节点任务;判断所有根节点任务是否全部正常运行结束;若全部根节点任务已经全部正常运行结束,则通过节点扫描器对各自根节点任务所属的所有后续任务进行监控和运行;若当前批次的所有根节点任务和其所属的后续任务均已全部正常运行结束,则进行后续批次的跑批。
【技术特征摘要】
1.一种有向无环图的链式依赖分析方法,其特征在于,包括以下步骤:通过全局扫描器检测当前批次的前序批次任务是否均已完成;若前序批次任务均已完成,则将当前批次的所有任务实例化;运行所有根节点任务;判断所有根节点任务是否全部正常运行结束;若全部根节点任务已经全部正常运行结束,则通过节点扫描器对各自根节点任务所属的所有后续任务进行监控和运行;若当前批次的所有根节点任务和其所属的后续任务均已全部正常运行结束,则进行后续批次的跑批。2.根据权利要求1所述的有向无环图的链式依赖分析方法,其特征在于,还包括以下步骤:若在根节点任务运行中出现错误或在根节点任务的后续任务运行中出现错误,则通过错误重调扫描器重新调用该运行错误的失败任务;监控失败任务是否正常运行结束,若失败任务正常运行结束,则在检测所有任务完成后,完成当前批次的任务的跑批;若失败任务没有正常运行,则对失败任务的没有正常完成的次数进行统计,当次数达到上限,则异常结束当前批次任务的跑批。3.根据权利要求1所述的有向无环图的链式依赖分析方法,其特征在于,还包括以下步骤:若任务实例化后存在N个根节点任务,则启动N个线程来分析N个根节点任务和其所属后续任务。4.根据权利要求3所述的有向无环图的链式依赖分析方法,其特征在于,若根节点任务或其所属后续任务不能正常运行结束,且重调后仍没发正常完成,则关闭存在该任务所属的线程。5.根据权利要求1~4中任意一项所述的有向无环图的链式依赖分析方法,其特征在于,每一批次任务跑批的时间间隔为5分钟。6.一种有向无环图的链式依赖分析系统,其特征在于,包括:全局扫描模...
【专利技术属性】
技术研发人员:王联军,马平男,王有兵,陈如亨,
申请(专利权)人:杭州雅拓信息技术有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。