共享存储集群的资源恢复方法、介质、产品及设备与流程

摘要: 本发明涉及共享存储集群,特别是涉及一种共享存储集群的资源恢复方法、介质、产品及设备。背景技术:1、在共享存储集群环境中,多写多读集群通常用于提供高效的资源访问服...
共享存储集群的资源恢复方法、介质、产品及设备与流程

本发明涉及共享存储集群,特别是涉及一种共享存储集群的资源恢复方法、介质、产品及设备。

背景技术:

1、在共享存储集群环境中,多写多读集群通常用于提供高效的资源访问服务。当一个节点需要访问全局资源时,往往需要通过一致性哈希环来计算该资源的管理节点,并向该管理节点发送请求以完成资源操作。当发生节点故障(集群中部分节点异常退出)时,如何确保资源的一致性和安全性是一个关键问题。如果在不对资源进行一致性维护,可能会导致资源锁信息丢失,最终造成数据不一致的问题。

技术实现思路

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、根据本发明的又一个方面,还提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现上述任一种的共享存储集群的资源恢复方法的步骤。

31、根据本发明的再一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的计算机程序,并且处理器执行计算机程序时实现上述任一种的共享存储集群的资源恢复方法的步骤。

32、本发明的共享存储集群的资源恢复方法,响应于目标节点的资源操作请求,根据资源操作请求的操作类型分配对应的读写锁,读写锁包括排他锁和共享锁;在目标节点出现故障成为故障节点的情况下,确定故障节点发生故障的时机;若故障节点在请求到读写锁之后发生故障,则确定待恢复页面;清理故障节点的读写锁授权记录,并对发生变化的资源进行迁移,通过预设锁共享表记录资源迁移过程中需要恢复的资源信息,预设锁共享表在记录的资源信息超出预设阈值的情况下会被设置为无效;在最近一次请求读写锁的空锁持有者持有待恢复页面对应历史页面的情况下,根据历史页面对待恢复页面进行恢复,并在预设锁共享表中删除恢复完毕后的待恢复页面的记录;在待恢复页面完成恢复后,检查预设锁共享表是否有效;若预设锁共享表有效,则遍历预设锁共享表中的资源信息,将最近一次请求过读写锁的空锁持有者升级为排他锁,并授予刷脏权限。通过此方法,可以避免因全局授权重置而导致的资源重复请求,从而显著提升集群故障恢复后的业务响应速度与系统吞吐量;同时,借助预设阈值对记录表进行动态规模控制,防止因待恢复资源过多而引发内存溢出风险,在保证资源高效恢复的同时兼顾了系统长期稳定性,有效增强了共享存储集群的容错能力和运维可控性。

33、根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。

1.一种共享存储集群的资源恢复方法,包括:

2.根据权利要求1所述的共享存储集群的资源恢复方法,其中,

3.根据权利要求1所述的共享存储集群的资源恢复方法,其中,

4.根据权利要求1所述的共享存储集群的资源恢复方法,其中,

5.根据权利要求1所述的共享存储集群的资源恢复方法,其中,

6.根据权利要求1所述的共享存储集群的资源恢复方法,其中,

7.根据权利要求1所述的共享存储集群的资源恢复方法,其中,

8.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的共享存储集群的资源恢复方法的步骤。

9.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的共享存储集群的资源恢复方法的步骤。

10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的计算机程序,并且所述处理器执行所述计算机程序时实现根据权利要求1至7任一项所述的共享存储集群的资源恢复方法的步骤。