[发明专利]一种环路检测方法、装置、电子设备与存储介质有效
申请号: | 202110662248.4 | 申请日: | 2021-06-15 |
公开(公告)号: | CN113111099B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 滕旭旺;钱晨;阳振坤;韩富晟;孔繁宇;肖金亮 | 申请(专利权)人: | 蚂蚁金服(杭州)网络技术有限公司 |
主分类号: | G06F16/2458 | 分类号: | G06F16/2458;G06F16/27 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 周嗣勇 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 环路 检测 方法 装置 电子设备 存储 介质 | ||
本申请提供一种环路检测方法、装置、电子设备与存储介质。所述方法应用于分布式系统中的任一节点。该方法包括,根据相邻的下游节点的候选状态更新自身候选状态,以使各依赖路径的终点的候选状态向前传递。其中,如果所述终点存在下游节点,则所述终点的候选状态为第一候选状态。响应于所述相邻的下游节点的候选状态为第一候选状态,并且所述目标节点的公有标识小于所述相邻的下游节点的公有标识,将所述目标节点的公有标识更新为所述相邻的下游节点的公有标识。响应于所述相邻的下游节点的候选状态为第一候选状态,并且所述目标节点的私有标识等于所述相邻的下游节点的公有标识,确定所述目标节点对应的依赖路径中存在环路。
技术领域
本申请一个或多个实施例涉及网络业务风险识别领域,尤其涉及一种环路检测方法、装置、电子设备与存储介质。
背景技术
在分布式系统中,执行并发事务的节点之间可能会发生数据依赖关系。如果发生数据依赖关系的若干节点出现环路,则可能对分布式系统性能造成影响。
例如,当分布式系统为分布式数据库系统时,如果系统中的节点A与节点B之间形成环路存在环路,则节点A需要依赖节点B执行事务之后的结果,节点B也需要依赖节点A执行事务之后的结果,这可能导致节点A与节点B之间出现死锁,难以正常执行事务。因此需要进行环路检测。
目前,在一些相关技术中,需要在某一节点中维护全局的依赖路径,然后通过该节点进行环路检测。这样操作一方面过分依赖单一节点,如果该节点被杀死,则不能正常进行环路检测;另一方面,需要在节点之间进行全局依赖路径的传递,导致节点维护和传递的信息量比较大,可能降低节点执行分布式事务的性能。而另外一些环路检测方法仅能针对单出度场景进行环路检测,无法应用在多出度场景中。其中,单出度是指节点仅可能依赖单个节点,或被单个节点依赖。多出度是指节点可能依赖多个节点,也可能被多个节点依赖。
发明内容
有鉴于此,本申请提出了一种环路检测方法。该方法可以应用于分布式系统中的任一目标节点。所述目标节点对应至少一条以所述目标节点为起点的依赖路径。所述依赖路径中的任意两个相邻的节点之间具有数据依赖关系。所述目标节点维护了与所述目标节点对应的候选状态、公有标识与私有标识。所述公有标识用于在相邻的节点之间传递。所述私有标识用于指示与其对应的节点。所述方法可以包括,获取相邻的下游节点的候选状态,并根据所述相邻的下游节点的候选状态更新自身候选状态,以由所述目标节点的上游节点根据所述目标节点更新后的候选状态更新自身候选状态,以使各依赖路径的终点的候选状态向前传递;其中,如果所述终点存在下游节点,则所述终点的候选状态为第一候选状态。获取相邻的下游节点的候选状态与公有标识,响应于所述相邻的下游节点的候选状态为第一候选状态,并且所述目标节点的公有标识小于所述相邻的下游节点的公有标识,将所述目标节点的公有标识更新为所述相邻的下游节点的公有标识。响应于所述相邻的下游节点的候选状态为第一候选状态,并且所述目标节点的私有标识等于所述相邻的下游节点的公有标识,确定所述目标节点对应的依赖路径中存在环路。
在示出的一些实施例中,所述目标节点还维护了通知状态;所述通知状态包括指示通知该节点的下游节点更新候选状态的第一通知状态以及指示不通知该节点的下游节点更新候选状态的第二通知状态;所述根据所述相邻的下游节点的候选状态更新自身候选状态,包括:响应于所述目标节点的通知状态为第二通知状态,根据所述相邻的下游节点的候选状态更新自身候选状态;响应于所述目标节点为通知状态为第一通知状态,向所述相邻的下游节点发送通知消息,以使所述相邻的下游节点响应于自身为末梢节点,将候选状态更新为第二候选状态,或者,响应于自身为非末梢节点,将候选状态更新为第一候选状态;以及,根据所述相邻的下游节点的候选状态更新自身候选状态,并将所述目标节点的通知状态更新为第二通知状态。
在示出的一些实施例中,所述方法还包括:响应于建立依赖关系,将所述目标节点的通知状态更新为第一通知状态,以及将所述目标节点的候选状态更新为第一候选状态;响应于解除依赖关系,并且所述目标节点为末梢节点,将所述目标节点的候选状态更新为第二候选状态,以及将所述目标节点的通知状态更新为第二通知状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蚂蚁金服(杭州)网络技术有限公司,未经蚂蚁金服(杭州)网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110662248.4/2.html,转载请声明来源钻瓜专利网。