System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 分布式锁的管理方法、装置、计算设备集群及存储介质制造方法及图纸_技高网

分布式锁的管理方法、装置、计算设备集群及存储介质制造方法及图纸

技术编号:40559264 阅读:7 留言:0更新日期:2024-03-05 19:21
本申请公开了一种分布式锁的管理方法、装置、计算设备集群及存储介质,属于计算机技术领域。本申请中,分布式系统的计算节点能够在占用目标资源对应的分布式锁时,根据历史预期概率来预测第一预期信息;根据分布式系统中各个计算节点对分布式锁的请求情况来更新该第一预期信息,从而在更新后的第一预期信息符合解锁条件的情况下解锁。通过上述方案,能够参考历史经验来预测分布式系统中各个节点对分布式锁的需求,并根据请求情况实时地进行更新,从而能够在历史经验的基础上不断更新预期信息,以根据预期信息进行解锁,保证计算节点的解锁时机能够契合分布式系统的请求情况,有效提升了分布式锁的性能,进而稳定地维护分布式系统中的负载均衡。

【技术实现步骤摘要】

本申请涉及计算机,特别涉及一种分布式锁的管理方法、装置、计算设备集群及存储介质


技术介绍

1、分布式锁是一种应用在分布式系统中的互斥机制。由于分布式系统的数据会分布在不同节点中,为了保证数据的一致性,通常使用分布式锁来控制分布式系统中各个节点对共享资源的同步访问。系统中的节点能够申请占用分布式锁,从而获得对该分布式锁控制的共享资源进行访问的权限,这一过程也称为加锁。而系统中未能占用该分布式锁的其他节点,则需等待该分布式锁的占用状态被解除之后,才能申请占用该分布式锁。通常,占用分布式锁的当前节点在完成对共享资源的访问任务后,会主动解除对该分布式锁的占用,这一过程也称为解锁。

2、在分布式系统的高并发场景下,例如,各个节点对同一共享资源的访问较频繁,按照目前的技术方案,若节点每次完成访问任务后都主动解锁,则节点需要反复地申请加锁和解锁,但若节点持续占用分布式锁来满足自身需求,又会因无法及时解锁而影响到其他节点对锁的使用,使得整个分布式系统的负载难以均衡。因此,亟需一种方法,能够有效提升分布式锁的性能,以维护分布式系统中的负载均衡。


技术实现思路

1、本申请提供了一种分布式锁的管理方法、装置、计算设备集群及存储介质,能够提升分布式锁的性能,以维护分布式系统中的负载均衡。该技术方案如下:

2、第一方面,提供了一种分布式锁的管理方法,应用于分布式系统的计算节点中,该系统包括多个计算节点,该方法包括:

3、在该计算节点占用目标资源对应的分布式锁的情况下,基于历史预期概率,预测针对该分布式锁的第一预期信息,该历史预期概率基于该多个计算节点针对该目标资源所发送的加锁请求确定,该加锁请求用于占用该分布式锁,该第一预期信息指示该多个计算节点在未来时间段中发送加锁请求的频率;

4、基于该分布式系统的该多个计算节点对该分布式锁的请求情况,更新该第一预期信息;

5、若更新后的该第一预期信息符合解锁条件,解除该计算节点对该分布式锁的占用。

6、其中,该多个计算节点能够对分布式系统中存储的共享资源进行访问。在一些实施例中,该共享资源可以是硬件资源,例如,存储硬盘;也可以是软件资源,例如,文件或进程,本申请对此不作限定。在一些实施例中,该历史预期概率能够表示分布式系统中远端节点对分布式锁的需求占比,从而为预测未来时间段内各个计算节点的需求提供有效的参考。

7、通过上述方案,能够参考历史经验来预测分布式系统中各个节点对分布式锁的需求,并根据请求情况实时地进行更新,从而能够在历史经验的基础上不断更新预期信息,以根据预期信息进行解锁,保证计算节点的解锁时机能够契合分布式系统中的请求情况,有效提升了分布式锁的性能,进而稳定地维护分布式系统中的负载均衡。

8、在一些实施例中,在该计算节点占用该分布式锁的过程中,分布式系统中依旧存在对该目标资源的访问需求。因此,通过统计分布式系统中的各个计算节点针对该目标资源发送的加锁请求,即可确定该分布式系统中对该分布式锁的请求情况。后续内容中,远端节点是指未占用分布式锁的计算节点,本地节点是指正占用分布式锁的计算节点。

9、在一种可能实施方式中,该基于该分布式系统的该多个计算节点对该分布式锁的请求情况,更新该第一预期信息,包括:

10、响应于该计算节点针对该分布式锁的加锁请求,更新该第一预期信息,以使该在未来时间段中发送加锁请求的频率减小,该计算节点针对该分布式锁的加锁请求用于请求继续占用该分布式锁。

11、通过上述技术方案,针对计算节点在本地继续占用分布式锁的情况,实时地根据本地的加锁请求的次数来更新第一预期信息,从而能够基于本地加锁的需求来预测远端加锁的需求,有效地平衡了本地节点和远端节点对分布式锁需求。

12、在一种可能实施方式中,该方法还包括:

13、若更新后的该第一预期信息不符合该解锁条件,基于更新后的该第一预期信息,确定该计算节点待执行的加锁请求的次数;

14、在该待执行的加锁请求执行完成后,解除该计算节点对该分布式锁的占用。

15、通过上述技术方案,本地节点能够在本地对分布式锁的需求较大的情况下,针对本地节点发送的加锁请求,直接在本地完成加锁操作,来有效地避免网络延迟对加锁效率的影响;基于此,提升了对分布式锁的加锁效率,有效提升了分布式锁的性能。

16、在一种可能实施方式中,该基于该分布式系统的该多个计算节点对该分布式锁的请求情况,更新该第一预期信息,包括:

17、响应于该计算节点接收到针对该分布式锁的第二预期信息,更新该第一预期信息,以使该在未来时间段中发送加锁请求的频率增大,该第二预期信息指示该多个计算节点已发送的加锁请求的加锁失败次数。

18、通过上述技术方案,针对系统中计算节点请求分布式锁失败的情况,及时地更新第一预期信息,从而实时地更新了该第一预期信息所指示的远端加锁的需求,保证了占用分布式锁的计算节点能够灵敏地获知远端的加锁需求,有效地平衡了本地节点和远端节点对分布式锁需求。

19、在一种可能实施方式中,该方法还包括:

20、响应于该计算节点接收到该第二预期信息,在该加锁失败次数大于零的情况下,解除该计算节点对该分布式锁的占用。

21、通过上述技术方案,本地节点能够在远端节点对分布式锁的需求较大的情况下解锁,以及时地满足远端节点对分布式锁的需求。基于此,提升了各种情况下对分布式锁的加锁效率,有效提升了分布式锁的性能。

22、在一种可能实施方式中,该解锁条件为该在未来时间段中发送加锁请求的频率大于该计算节点继续占用该分布式锁的频率。

23、通过上述技术方案,能够稳定地平衡本地节点和远端节点之间的需求,从而高效地维护了分布式系统中负载的均衡。

24、在一种可能实施方式中,该方法还包括:

25、每隔第一周期,基于接收到的锁负载信息,调整该历史预期概率,该锁负载信息指示该第一周期内该多个计算节点针对目标资源所发送的加锁请求中加锁成功次数的占比。

26、在一种可能实施方式中,该每隔第一周期,基于接收到的锁负载信息,调整该历史预期概率,包括:

27、在该锁负载信息指示的该加锁成功次数的占比大于该历史预期概率的情况下,调整该历史预期概率,以使该未来时间段中发送加锁请求的频率增大;

28、在该锁负载信息指示的该加锁成功次数的占比小于或等于该历史预期概率的情况下,调整该预期频率,以使该未来时间段中发送加锁请求的频率减小。

29、通过上述技术方案,计算节点能够周期性地根据分布式系统中对该分布式锁的请求情况,对历史预期概率进行迭代更新,以平衡远端节点与本地节点对分布式锁使用需求,从而大大提升分布式锁的性能,尽可能确保各个节点都能够在其需要的时机成功占用到分布式锁,有效地维护了分布式系统中的负载均衡。

30、在一种可能实施方式中,该方法还包括:

本文档来自技高网...

【技术保护点】

1.一种分布式锁的管理方法,其特征在于,应用于分布式系统的计算节点中,所述系统包括多个计算节点,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述分布式系统的所述多个计算节点对所述分布式锁的请求情况,更新所述第一预期信息,包括:

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述分布式系统的所述多个计算节点对所述分布式锁的请求情况,更新所述第一预期信息,包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述解锁条件为所述在未来时间段中发送加锁请求的频率大于所述计算节点继续占用所述分布式锁的频率。

7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述每隔第一周期,基于接收到的锁负载信息,调整所述历史预期概率,包括:

9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:

10.一种分布式锁的管理装置,其特征在于,应用于包括多个计算节点的分布式系统中,所述装置包括:

11.根据权利要求10所述的装置,其特征在于,所述更新模块,用于:

12.根据权利要求10或11所述的装置,其特征在于,所述装置还包括:

13.根据权利要求10至12任一项所述的装置,其特征在于,所述更新模块,用于:

14.根据权利要求13所述的装置,其特征在于,所述装置还包括:

15.根据权利要求10至14任一项所述的装置,其特征在于,所述解锁条件为所述在未来时间段中发送加锁请求的频率大于所述计算节点继续占用所述分布式锁的频率。

16.根据权利要求10至15任一项所述的装置,其特征在于,所述装置还包括:

17.根据权利要求16所述的装置,其特征在于,所述负载调整模块,用于:

18.根据权利要求10至17任一项所述的装置,其特征在于,所述装置还包括:

19.一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;

20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储至少一段程序代码,所述至少一段程序代码由计算设备集群执行时,所述计算设备集群执行如权利要求1至权利要求9中任一项所述的分布式锁的管理方法。

21.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算设备集群上运行时,使得所述计算设备集群执行如权利要求1至权利要求9中任一项所述的分布式锁的管理方法。

...

【技术特征摘要】

1.一种分布式锁的管理方法,其特征在于,应用于分布式系统的计算节点中,所述系统包括多个计算节点,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述基于所述分布式系统的所述多个计算节点对所述分布式锁的请求情况,更新所述第一预期信息,包括:

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述分布式系统的所述多个计算节点对所述分布式锁的请求情况,更新所述第一预期信息,包括:

5.根据权利要求4所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述解锁条件为所述在未来时间段中发送加锁请求的频率大于所述计算节点继续占用所述分布式锁的频率。

7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述每隔第一周期,基于接收到的锁负载信息,调整所述历史预期概率,包括:

9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:

10.一种分布式锁的管理装置,其特征在于,应用于包括多个计算节点的分布式系统中,所述装置包括:

11.根据权利要求10所述的装置,其特征在于,所述更新...

【专利技术属性】
技术研发人员:陆基伟赵智杰戈弋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1