[发明专利]一种环路检测方法、装置、电子设备与存储介质有效
申请号: | 202110550972.8 | 申请日: | 2021-05-20 |
公开(公告)号: | CN112994990B | 公开(公告)日: | 2021-07-30 |
发明(设计)人: | 阳振坤;钱晨;滕旭旺;孔繁宇;韩富晟 | 申请(专利权)人: | 蚂蚁金服(杭州)网络技术有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/705 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 周嗣勇 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 环路 检测 方法 装置 电子设备 存储 介质 | ||
1.一种环路检测方法,应用于分布式系统中的任一目标节点;所述分布式系统包括至少一条包含所述目标节点的数据依赖路径;所述数据依赖路径中的任意两个相邻的节点之间具有数据依赖关系;所述目标节点维护了所述目标节点对应的深度值;所述深度值表征所述数据依赖路径上的起始节点与所述目标节点之间的路径长度;
所述方法包括:
更新所述目标节点或其下游节点的深度值,以使所述目标节点的深度值小于其下游节点的深度值;
接收所述目标节点的上游节点传递的所述上游节点的深度值,并响应于所述目标节点的深度值小于其上游节点的深度值,将所述目标节点的深度值更新为其上游节点的深度值,并继续将所述目标节点更新后的深度值传递给所述目标节点的下游节点,以使所述目标节点的下游节点在接收到所述目标节点传递的所述深度值时,响应于所述下游节点的深度值小于所述目标节点的深度值,将所述下游节点的深度值更新为所述目标节点的深度值;
响应于所述目标节点的深度值等于其上游节点传递的所述上游节点的深度值,确定包含所述目标节点的数据依赖路径中存在环路。
2.根据权利要求1所述的方法,所述更新所述目标节点或其下游节点的深度值,以使所述目标节点的深度值小于其下游节点的深度值,包括:
在预设的第一检测时长内,周期性更新所述目标节点或其下游节点的深度值,以使所述目标节点的深度值小于其下游节点的深度值,直至所述第一检测时长超时。
3.根据权利要求1或2所述的方法,更新所述目标节点的下游节点的深度值,以使所述目标节点的深度值小于其下游节点的深度值,包括:
将所述目标节点的深度值发送至所述下游节点,以使所述下游节点响应于接收到所述目标节点的深度值,将所述目标节点的深度值和自身深度值输入预设的第一关系函数,得到第一深度值,并将自身深度值更新为所述第一深度值;
其中,所述第一关系函数描述所述目标节点的下游节点的深度值相对于所述目标节点的深度值的递增关系。
4.根据权利要求3所述的方法,所述第一关系函数用如下函数表征:
P= MAX(DEPTH(A)+N,DEPTH(B));其中,P表示计算得到第一深度值;所述A表示所述数据依赖路径中的任一目标节点;所述B表示所述目标节点A在所述数据依赖路径中的下游节点;DEPTH(A)和DEPTH(B)分别表示所述节点A和节点B的深度值;所述N为预设值。
5.根据权利要求1或2所述的方法,更新所述目标节点的深度值,以使所述目标节点的深度值小于其下游节点的深度值,包括:
获取所述目标节点的下游节点的深度值;
将所述目标节点的深度值和其下游节点的深度值输入预设的第二关系函数,得到第二深度值;其中,所述第二关系函数描述所述目标节点的深度值相对于其下游节点的深度值的递减关系;
将所述目标节点的深度值更新为所述第二深度值。
6.根据权利要求5所述的方法,所述第二关系函数用如下函数表征:
Q= MIN(DEPTH(A),DEPTH(B)-M);其中,Q表示计算得到第二深度值;所述A表示所述数据依赖路径中的任一目标节点;所述B表示所述目标节点A在所述数据依赖路径中的下游节点;DEPTH(A)和DEPTH(B)分别表示所述节点A和节点B的深度值;所述M为预设值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蚂蚁金服(杭州)网络技术有限公司,未经蚂蚁金服(杭州)网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110550972.8/1.html,转载请声明来源钻瓜专利网。