一种分布式系统多节点锁定方法与流程

文档序号:23151979发布日期:2020-12-04 13:47阅读:来源:国知局

技术特征:

1.一种分布式系统多节点锁定方法,其特征在于,该方法包括以下步骤:

步骤一、为分布式系统中所有待锁定节点分配身份信息;

步骤二、对所有待锁定节点发送预锁定请求;

步骤三、判断所有待锁定节点是否都预锁定成功,当有待锁定节点预锁定失败时,向各个预锁定成功的待锁定节点发送解除预锁定报文,预锁定失败,等待时间t1,返回执行步骤二;当所有待锁定节点都预锁定成功时,对所有待锁定节点发送锁定请求,预锁定成功,执行步骤四;

步骤四、判断所有待锁定节点是否都锁定成功,当有待锁定节点锁定失败时,向各个锁定成功的待锁定节点发送解除锁定报文,锁定失败,等待时间t2,返回执行步骤二;当所有待锁定节点都锁定成功时,锁定成功。

2.按照权利要求1所述的一种分布式系统多节点锁定方法,其特征在于:步骤三中所述判断所有待锁定节点是否都预锁定成功时采用的方法为:

当发送预锁定请求后,在设定的预锁定报文返回时间段阈值t1内没有收到某个待锁定节点发送回的预锁定成功报文或预锁定失败报文时,或者当发送预锁定请求后,在设定的预锁定报文返回时间段阈值t1内收到某个待锁定节点发送回的预锁定失败报文时,判断为该待锁定节点锁定失败;

当发送预锁定请求后,在设定的预锁定报文返回时间段阈值t1内收到某个待锁定节点发送回的预锁定成功报文时,判断为该待锁定节点锁定成功。

3.按照权利要求1所述的一种分布式系统多节点锁定方法,其特征在于:步骤四中所述判断所有待锁定节点是否都锁定成功时采用的方法为:

当发送锁定请求后,在设定的锁定报文返回时间段阈值t2内没有收到某个待锁定节点发送回的锁定成功报文或锁定失败报文时,或者当发送锁定请求后,在设定的锁定报文返回时间段阈值t2内收到某个待锁定节点发送回的锁定失败报文时,判断为该待锁定节点锁定失败;

当发送锁定请求后,在设定的锁定报文返回时间段阈值t2内收到某个待锁定节点发送回的锁定成功报文时,判断为该待锁定节点锁定成功。

4.按照权利要求1所述的一种分布式系统多节点锁定方法,其特征在于:步骤三中所述当有待锁定节点预锁定失败时,向各个预锁定成功的待锁定节点发送解除预锁定报文时,还对解除预锁定是否成功进行判断,具体的判断方法为:

当发送解除预锁定报文后,在设定的解除预锁定成功报文返回时间段阈值t3内没有收到某个待锁定节点发送回的解除预锁定成功报文时,判断为该待锁定节点解除预锁定失败;

当发送解除预锁定报文后,在设定的解除预锁定成功报文返回时间段阈值t3没有收到某个待锁定节点发送回的解除预锁定成功报文时,判断为该待锁定节点解除预锁定成功;

当待锁定节点解除预锁定失败时,重新向该待锁定节点发送解除预锁定报文,直至该待锁定节点解除预锁定成功。

5.按照权利要求1所述的一种分布式系统多节点锁定方法,其特征在于:步骤四中所述当有待锁定节点锁定失败时,向各个锁定成功的待锁定节点发送解除锁定报文时,还对解除锁定是否成功进行判断,具体的判断方法为:

当发送解除锁定报文后,在设定的解除锁定成功报文返回时间段阈值t4内没有收到某个待锁定节点发送回的解除锁定成功报文时,判断为该待锁定节点解除锁定失败;

当发送解除锁定报文后,在设定的解除锁定成功报文返回时间段阈值t4没有收到某个待锁定节点发送回的解除锁定成功报文时,判断为该待锁定节点解除锁定成功;

当待锁定节点解除锁定失败时,重新向该待锁定节点发送解除锁定报文,直至该待锁定节点解除锁定成功。

6.按照权利要求1~5中任一权利要求所述的一种分布式系统多节点锁定方法,其特征在于:步骤一中还为分布式系统中所有待锁定节点分配优先级,或使用已有特征表征优先级;所述待锁定节点的状态包括空闲、预锁定和锁定三种。

7.按照权利要求6所述的一种分布式系统多节点锁定方法,其特征在于:步骤二中所述对所有待锁定节点发送预锁定请求时,预锁定请求中携带待锁定节点的身份信息和优先级信息;

步骤三中所述判断所有待锁定节点是否都预锁定成功时,所述待锁定节点发送回预锁定成功报文或预锁定失败报文,具体情况为:

当待锁定节点当前状态为空闲,切换状态为预锁定时,记录预锁定所有者身份和优先级,发送回预锁定成功报文;

当待锁定节点当前状态为预锁定时,比较预锁定所有者优先级与预锁定报文发送者优先级,当预锁定所有者优先级高于预锁定报文发送者优先级时,发送回预锁定失败报文,否则,当预锁定所有者优先级低于预锁定报文发送者优先级时,更新预锁定所有者身份和优先级,发送回预锁定成功报文;

当待锁定节点当前状态为锁定时,发送回预锁定失败报文。

8.按照权利要求6所述的一种分布式系统多节点锁定方法,其特征在于:步骤三中所述对所有待锁定节点发送锁定请求时,锁定请求中携带待锁定节点的身份信息和优先级信息;

步骤四中所述判断所有待锁定节点是否都锁定成功时,所述待锁定节点发送回锁定成功报文或锁定失败报文,具体情况为:

当待锁定节点当前状态为空闲时,发送回锁定失败报文;

当待锁定节点当前状态为预锁定时,比较预锁定所有者身份与锁定报文发送者身份,当预锁定所有者身份与锁定报文发送者身份相同时,切换状态为锁定,记录锁定所有者身份和优先级,发送回锁定成功报文;否则,当预锁定所有者身份与锁定报文发送者身份不相同时,发送回锁定失败报文;

当待锁定节点当前状态为锁定时,发送回锁定失败报文。

9.按照权利要求6所述的一种分布式系统多节点锁定方法,其特征在于:步骤三中所述向各个预锁定成功的待锁定节点发送解除预锁定报文时,解除预锁定报文中携带待锁定节点的身份信息和优先级信息;

步骤三中所述当有待锁定节点预锁定失败时,向各个预锁定成功的待锁定节点发送解除预锁定报文时,还对解除预锁定是否成功进行判断,所述待锁定节点发送回解除预锁定成功报文或解除预锁定失败报文,具体情况为:

当待锁定节点当前状态为空闲时,发送回解预锁定成功报文;

当待锁定节点当前状态为预锁定时,比较预锁定所有者身份与解除预锁定报文发送者身份,当预锁定所有者身份与解除预锁定报文发送者身份相同时,切换状态为空闲,发送回解除预锁定成功报文;否则,当预锁定所有者身份与解除预锁定报文发送者身份不相同时,发送回解除预锁定失败报文;

当待锁定节点当前状态为锁定时,发送回解除预锁定失败报文;

步骤四中所述向各个锁定成功的待锁定节点发送解除锁定报文时,解除锁定报文中携带待锁定节点的身份信息和优先级信息;

步骤四中所述当有待锁定节点锁定失败时,向各个锁定成功的待锁定节点发送解除锁定报文时,还对解除锁定是否成功进行判断,所述待锁定节点发送回解除锁定成功报文或解除锁定失败报文,具体情况为:

当待锁定节点当前状态为空闲时,发送回解锁定成功报文;

当待锁定节点当前状态为预锁定时,发送回解锁定成功报文;

当待锁定节点当前状态为锁定时,比较锁定所有者身份与解除锁定报文发送者身份,当锁定所有者身份与解除锁定报文发送者身份相同时,切换状态为空闲,发送回解除锁定成功报文;否则,当锁定所有者身份与解除锁定报文发送者身份不相同时,发送回解除锁定失败报文。

10.按照权利要求6所述的一种分布式系统多节点锁定方法,其特征在于:步骤二至四执行的过程中,当待锁定节点处于预锁定状态时,当超过预锁定状态时间阈值t5,没有切换状态,也没有变更预锁定所有者身份,也没有变更预锁定所有者优先级时,待锁定节点切换为空闲状态,清除保存的预锁定所有者身份信息和优先级信息;

步骤二至四执行的过程中,当待锁定节点处于锁定状态时,当超过锁定状态时间阈值t6,没有切换为空闲状态时,待锁定节点切换为空闲状态,清除保存的预锁定所有者身份信息和优先级信息。


技术总结
本发明公开了一种分布式系统多节点锁定方法,包括步骤:一、为所有待锁定节点分配身份信息;二、对所有待锁定节点发送预锁定请求;三、判断所有待锁定节点是否都预锁定成功,当有待锁定节点预锁定失败时,向各个预锁定成功的待锁定节点发送解除预锁定报文,预锁定失败,等待时间T1,返回步骤二;当所有待锁定节点都预锁定成功时,对所有待锁定节点发送锁定请求,预锁定成功,执行步骤四;四、判断所有待锁定节点是否都锁定成功,当有待锁定节点锁定失败时,向各个锁定成功的待锁定节点发送解除锁定报文,锁定失败,等待时间T2,返回步骤二;当所有待锁定节点都锁定成功时,锁定成功。本发明不受权威节点的约束,不存在单点失效和死锁问题。

技术研发人员:蔡国凤
受保护的技术使用者:蔡国凤
技术研发日:2020.09.10
技术公布日:2020.12.04
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1