[发明专利]一种环路检测方法、装置、电子设备与存储介质有效
申请号: | 202110662248.4 | 申请日: | 2021-06-15 |
公开(公告)号: | CN113111099B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 滕旭旺;钱晨;阳振坤;韩富晟;孔繁宇;肖金亮 | 申请(专利权)人: | 蚂蚁金服(杭州)网络技术有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/27 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 周嗣勇 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 环路 检测 方法 装置 电子设备 存储 介质 | ||
1.一种环路检测方法,应用于分布式系统中的任一目标节点;所述目标节点对应至少一条以所述目标节点为起点的依赖路径;所述依赖路径中的任意两个相邻的节点之间具有数据依赖关系;所述目标节点维护了与所述目标节点对应的候选状态、公有标识与私有标识;所述公有标识用于在相邻的节点之间传递;所述私有标识用于指示与其对应的节点;
所述方法包括:
获取相邻的下游节点的候选状态,并根据所述相邻的下游节点的候选状态更新自身候选状态,以由所述目标节点的上游节点根据所述目标节点更新后的候选状态更新自身候选状态,以使各依赖路径的终点的候选状态向前传递;其中,如果所述终点存在下游节点,则所述终点的候选状态为第一候选状态;
获取相邻的下游节点的候选状态与公有标识,响应于所述相邻的下游节点的候选状态为第一候选状态,并且所述目标节点的公有标识小于所述相邻的下游节点的公有标识,将所述目标节点的公有标识更新为所述相邻的下游节点的公有标识;
响应于所述相邻的下游节点的候选状态为第一候选状态,并且所述目标节点的私有标识等于所述相邻的下游节点的公有标识,确定所述目标节点对应的依赖路径中存在环路。
2.根据权利要求1所述的方法,所述目标节点还维护了通知状态;所述通知状态包括指示通知该节点的下游节点更新候选状态的第一通知状态以及指示不通知该节点的下游节点更新候选状态的第二通知状态;
所述根据所述相邻的下游节点的候选状态更新自身候选状态,包括:
响应于所述目标节点的通知状态为第二通知状态,根据所述相邻的下游节点的候选状态更新自身候选状态;
响应于所述目标节点为通知状态为第一通知状态,向所述相邻的下游节点发送通知消息,以使所述相邻的下游节点响应于自身为末梢节点,将候选状态更新为第二候选状态,或者,响应于自身为非末梢节点,将候选状态更新为第一候选状态;以及,根据所述相邻的下游节点的候选状态更新自身候选状态,并将所述目标节点的通知状态更新为第二通知状态。
3.根据权利要求2所述的方法,所述方法还包括:
响应于建立依赖关系,将所述目标节点的通知状态更新为第一通知状态,以及将所述目标节点的候选状态更新为第一候选状态;
响应于解除依赖关系,并且所述目标节点为末梢节点,将所述目标节点的候选状态更新为第二候选状态,以及将所述目标节点的通知状态更新为第二通知状态。
4.根据权利要求1所述的方法,所述目标节点还维护了标识来源信息;所述标识来源信息指示所述目标节点的公有标识的来源;
所述方法还包括:
将所述目标节点的公有标识更新为所述相邻的下游节点的公有标识之后,更新所述目标节点的标识来源信息,以使该标识来源信息指示所述目标节点的公有标识的来源于所述相邻的下游节点。
5.根据权利要求4所述的方法,在获取相邻的下游节点的候选状态与公有标识之后,所述方法还包括:
响应于所述相邻的下游节点的候选状态为第二候选状态,并且所述目标节点的标识来源信息指示所述目标节点的公有标识的来源于所述相邻的下游节点,增大所述目标节点的公有标识,并将所述目标节点的私有标识更新为增大后的公有标识,以使所述目标节点的公有标识与私有标识大于所述相邻的下游节点的公有标识。
6.根据权利要求5所述的方法,所述增大所述目标节点的公有标识,包括:
将所述目标节点的公有标识输入增大函数,得到增大后的公有标识;
其中,所述增大函数用于使输出大于输入。
7.根据权利要求5或6所述的方法,还包括:
响应于建立或解除依赖关系,增大所述目标节点的公有标识,并将所述目标节点的私有标识更新为增大后的公有标识。
8.根据权利要求7所述的方法,还包括:
在确定所述目标节点对应的依赖路径中存在环路的情形下,所述目标节点进一步向所述目标节点的下游节点发送环检测消息;
响应于接收到由所述目标节点的上游节点发送的所述环检测消息,确定包含所述目标节点的依赖路径中存在环路。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蚂蚁金服(杭州)网络技术有限公司,未经蚂蚁金服(杭州)网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110662248.4/1.html,转载请声明来源钻瓜专利网。