[发明专利]一种有向图识别方法及系统和服务器在审
申请号: | 201910293860.1 | 申请日: | 2019-04-12 |
公开(公告)号: | CN111814002A | 公开(公告)日: | 2020-10-23 |
发明(设计)人: | 赵凯 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F16/901 | 分类号: | G06F16/901 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李丹;栗若木 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 识别 方法 系统 服务器 | ||
本申请公开了一种有向图识别方法及系统和服务器,所述方法包括:确定有向图中每个节点的入度数/出度数;逐个对有向图中入度数/出度数为0的节点的直接下游节点/直接上游节点的入度数/出度数进行处理,直至所有节点处理完成;如果有向图中存在入度数/出度数不为0的节点,表明所述有向图为有向有环图。本申请实现了对有环图的检查。
技术领域
本申请涉及但不限于向图技术,尤指一种有向图识别方法及系统和服务 器。
背景技术
在大数据量场景下的工作流调度引擎中,当出现有环图的工作流时,会 因为环路的无限循环而导致无法完成正常的调度工作,最终导致环的下游任 务不能被调度运行。这里,环也称回路,是图论里的概念,一个环是一个边 的排列,并且满足沿着这个排列走一次可以回到起点。
发明内容
本申请提供一种有向图识别方法及系统和服务器,能够实现对有环图的 检查。
本发明实施例提供了一种有向图识别方法,包括:
确定有向图中每个节点的入度数/出度数;
逐个对有向图中入度数/出度数为0的节点的直接下游节点/直接上游节 点的入度数/出度数进行处理,直至所有节点处理完成;
如果有向图中存在入度数/出度数不为0的节点,表明所述有向图为有向 有环图。
在一种示例性实例中,所述逐个对有向图中入度数/出度数为0的节点的 直接下游节点/直接上游节点的入度数/出度数进行处理,直至所有节点处理 完成,包括:
将所述有向图中入度数为0的节点存储在待处理队列中,从根节点开始, 删除该节点,将该节点的直接下游节点的入度数进行减1处理,如果该节点 的直接下游节点的入度数减1后为0,则将该下游节点存储在所述待处理节 点队列中,以此循环,直至所有节点处理完成,如果该节点的直接下游节点 的入度数减1后不为0,则保留该节点的直接下游节点和对应的处理后的入 度数;
或者,
将所述有向图中出度数为0的节点存储在待处理队列中,从最外层枝叶 节点开始,删除该节点,将该节点的直接上游节点的入度数进行减1处理, 如果该节点的直接上游节点的入度数减1后为0,则将该上游节点存储在所 述待处理节点队列中,以此循环,直至所有节点处理完成,如果该节点的直 接上游节点的入度数减1后不为0,则保留该节点的直接上游节点和对应的 处理后的入度数。
在一种示例性实例中,所述方法之前还包括:根据有向图包括的边将有 向图划分为多个子有向图;
所述确定有向图中每个节点的入度数/出度数,包括:采用分布式方式确 定每个子有向图中各节点的入度数/出度数;
所述逐个对有向图中入度数/出度数为0的节点的直接下游节点/直接上 游节点的入度数/出度数进行处理,包括:
对于每个子有向图,确定在子有向图中入度数/出度数为0的节点在有向 图中的入度数/出度数,对于在有向图中的入度数/出度数为0的节点,对该 节点的直接下游节点/直接上游节点的入度数/出度数进行处理。
在一种示例性实例中,所述将有向图划分为多个子有向图,包括:
按照预先设置的子有向图包括的边的数量,随机将所述有向图中的节点 划分到不同的所述子有向图中。
在一种示例性实例中,所述将有向图划分为多个子有向图,包括:
根据所述有向图中节点的节点标识,计算子有向图中包括的节点数量;
根据计算出的节点数量和子有向图对应的处理设备的编号,获取子有向 图包括的节点的节点标识范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910293860.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:新型聚三芳基胺及其用途
- 下一篇:半导体组合物及其应用