CN117608482A - 缓存镜像管理方法、装置、设备及计算机可读存储介质 - Google Patents

缓存镜像管理方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN117608482A
CN117608482A CN202311616258.XA CN202311616258A CN117608482A CN 117608482 A CN117608482 A CN 117608482A CN 202311616258 A CN202311616258 A CN 202311616258A CN 117608482 A CN117608482 A CN 117608482A
Authority
CN
China
Prior art keywords
controller
mirror
remapping
cache
storage system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311616258.XA
Other languages
English (en)
Inventor
刘文志
赵书龙
杨善松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN202311616258.XA priority Critical patent/CN117608482A/zh
Publication of CN117608482A publication Critical patent/CN117608482A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Abstract

本发明公开了一种缓存镜像管理方法、装置、设备及计算机可读存储介质,属于存储系统领域,用于针对缓存数据重镜像过程中叠加控制器事件场景进行状态识别并处理,解决了缓存数据错乱且浪费计算资源的问题。考虑到控制器恢复时所触发的缓存数据重镜像工作的过程中,并不会将恢复的控制器所在镜像对中原有的控制器从镜像对中剔除,若恢复的控制器未执行完缓存数据重镜像工作出现故障,理论上不影响所在镜像对的缓存数据一致性,因此本发明中可以在出现控制器故障事件且自身控制器所在镜像对发生改变时,判断故障事件中的故障控制器是否属于上述情况,如果属于便无需重新进行缓存数据重镜像,在保证缓存数据准确的情况下,降低了计算资源的浪费。

Description

缓存镜像管理方法、装置、设备及计算机可读存储介质
技术领域
本发明涉及存储系统领域,特别是涉及一种缓存镜像管理方法,本发明还涉及一种缓存镜像管理装置、设备及计算机可读存储介质。
背景技术
多控存储系统中各个控制器的缓存模块通常使用循环镜像及双副本的方式存放缓存数据,例如在四控存储系统中,将互联的四个控制器按照循环镜像的方式分为四组镜像对,每组镜像对内包含的两个控制器之间的缓存数据互相镜像,并通过上层的IO分发,实现高端存储的负载均衡与循环镜像。在此基础上,当多控存储系统中发生控制器事件(包括控制器故障与控制器恢复)时,便需要对存储系统的四组镜像对进行调整,并且成员控制器发生改变的镜像对需要进行缓存数据的重镜像工作,且在缓存数据重镜像的过程中仍然可能叠加控制器事件,相关技术中缺少一种成熟的对于多控存储系统的缓存镜像进行管理的方法,导致容易发生缓存数据的错乱,且浪费了计算资源。
因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。
发明内容
本发明的目的是提供一种缓存镜像管理方法,可以识别出控制器恢复并在缓存数据重镜像未完成时再次故障的情况,并不再针对该控制器所在镜像对进行缓存数据重镜像工作,在保证缓存数据准确的情况下,降低了计算资源的浪费;本发明的另一目的是提供一种缓存镜像管理装置、设备及计算机可读存储介质,可以识别出控制器恢复并在缓存数据重镜像未完成时再次故障的情况,并不再针对该控制器所在镜像对进行缓存数据重镜像工作,在保证缓存数据准确的情况下,降低了计算资源的浪费。
为解决上述技术问题,本发明提供了一种缓存镜像管理方法,应用于存储系统中的每个控制器,包括:
当存储系统出现控制器的故障事件,且自身所述控制器所在的镜像对的成员控制器发生改变时,判断所述故障事件中的故障控制器是否处于第一状态;
若处于,则结束;
若不处于,与自身所述控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
其中,所述第一状态为:未完成加入所述存储系统后的缓存数据重镜像工作。
另一方面,所述当存储系统出现控制器的故障事件,且自身所述控制器所在的镜像对的成员控制器发生改变时,判断所述故障事件中的故障控制器是否处于第一状态包括:
当存储系统出现控制器的故障事件时,判断自身所述控制器所在的镜像对的成员控制器是否发生改变;
若改变,则执行所述判断所述故障事件中的故障控制器是否处于第一状态的步骤;
若未改变,判断所在的镜像对在所述故障事件之前,是否存在未完成的缓存数据重镜像工作;
若存在,则与自身所述控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
若不存在,则结束。
另一方面,该缓存镜像管理方法还包括:
当存储系统出现控制器的恢复事件,判断所述存储系统当前是否存在正在执行的缓存数据重镜像工作;
若存在,则待所述存储系统当前正在执行的缓存数据重镜像工作完成后,响应所述恢复事件,以便进行镜像对重组。
另一方面,该缓存镜像管理方法还包括:
响应于所述存储系统中的控制器事件以及镜像对重组信息,确定并存储各组所述镜像对的重镜像工作状态;
响应于其他控制器发送的缓存数据重镜像工作完成的通知信息,更新发送所述通知信息的控制器所在镜像对的重镜像工作状态;
其中,所述控制器事件包括故障事件与恢复事件,所述重镜像工作状态为:是否执行缓存数据重镜像工作以及在所述缓存数据重镜像工作中作为缓存数据发送方的控制器;
所述判断所述故障事件中的故障控制器是否处于第一状态包括:
根据所述故障事件之前与之后的自身所述控制器所在镜像对的所述重镜像工作状态,判断所述故障事件中的故障控制器是否处于第一状态。
另一方面,每组所述镜像对的重镜像工作状态包括多组与镜像对一一对应的比特位数组;
其中,每组所述比特位数组中包括与所述存储系统中的控制器一一对应的多个比特位,每个所述比特位的数值表示对应的所述控制器在所述缓存数据重镜像工作中是否作为缓存数据发送方。
另一方面,该缓存镜像管理方法还包括:
控制提示器提示各组所述镜像对当前的所述重镜像工作状态。
另一方面,该缓存镜像管理方法还包括:
根据所述存储系统中各组所述镜像对的重镜像工作状态,判断所述存储系统当前是否存在正在执行的缓存数据重镜像工作的镜像对;
若存在,则将预设标志置为第一数值,若不存在,将所述预设标志置为第二数值。
为解决上述技术问题,本发明还提供了一种缓存镜像管理装置,应用于存储系统中的每个控制器,包括:
第一判断模块,用于当存储系统出现控制器的故障事件,且自身所述控制器所在的镜像对的成员控制器发生改变时,判断所述故障事件中的故障控制器是否处于第一状态,若处于,则触发结束模块,若不处于,触发第一动作模块;
所述结束模块,用于结束;
所述第一动作模块,用于与自身所述控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
其中,所述第一状态为:未完成加入所述存储系统后的缓存数据重镜像工作。
为解决上述技术问题,本发明还提供了一种缓存镜像管理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述缓存镜像管理方法的步骤。
为解决上述技术问题,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述缓存镜像管理方法的步骤。
有益效果:
本发明提供了一种缓存镜像管理方法,考虑到控制器恢复时所触发的缓存数据重镜像工作的过程中,并不会将恢复的控制器所在镜像对中原有的控制器从镜像对中剔除,若恢复的控制器未执行完缓存数据重镜像工作出现故障,理论上不影响所在镜像对的缓存数据一致性,因此本发明中可以在出现控制器故障事件且自身控制器所在镜像对发生改变时,判断故障事件中的故障控制器是否属于上述情况(也即第一状态),如果属于便无需重新进行缓存数据重镜像,在保证缓存数据准确的情况下,降低了计算资源的浪费。
本发明还提供了一种缓存镜像管理装置、设备及计算机可读存储介质,具有如上缓存镜像管理方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对相关技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种缓存镜像管理方法的流程示意图;
图2为本发明提供的另一种缓存镜像管理方法的流程示意图;
图3为本发明提供的一种缓存镜像管理装置的结构示意图;
图4为本发明提供的一种缓存镜像管理设备的结构示意图;
图5为本发明提供的一种计算机可读存储介质的结构示意图。
具体实施方式
本发明的核心是提供一种缓存镜像管理方法,可以识别出控制器恢复并在缓存数据重镜像未完成时再次故障的情况,并不再针对该控制器所在镜像对进行缓存数据重镜像工作,在保证缓存数据准确的情况下,降低了计算资源的浪费;本发明的另一核心是提供一种缓存镜像管理装置、设备及计算机可读存储介质,可以识别出控制器恢复并在缓存数据重镜像未完成时再次故障的情况,并不再针对该控制器所在镜像对进行缓存数据重镜像工作,在保证缓存数据准确的情况下,降低了计算资源的浪费。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明提供的一种缓存镜像管理方法的流程示意图,该缓存镜像管理方法应用于存储系统中的每个控制器,包括:
S101:当存储系统出现控制器的故障事件,且自身控制器所在的镜像对的成员控制器发生改变时,判断故障事件中的故障控制器是否处于第一状态,若处于,则执行S102,若不处于,执行S103;
具体的,考虑到如上背景技术中的技术问题,又结合考虑到控制器恢复时触发的“缓存数据重镜像工作”的特殊性,也即在控制器恢复并需要对恢复的控制器进行缓存数据重镜像工作时,首先会“将恢复的控制器加入为其分配的目标镜像对,并且不剔除目标镜像对中原有的控制器”,在此基础上展开缓存数据重镜像工作,以防恢复的控制器在“缓存数据重镜像工作”过程中再次故障掉线,待“缓存数据重镜像工作”结束后,再将需要剔除的控制器从目标镜像对中剔除,例如在四控制器的存储系统中,将互联的四个控制器按照循环镜像的方式分为四组镜像对(0,1)(1,2)(2,3)(3,0),0、1、2、3为四个控制器,假设控制器3故障,存活控制器0、1、2,此时四个镜像对的组队方式变为(0,1)(1,2)(2,0)(0,1),待控制器3恢复时,那么四个镜像对的组队方式需要变回(0,1)(1,2)(2,3)(3,0)的状态,此时会先将控制器3分别加入第3和第4个镜像对并进行缓存数据重镜像工作,也即(0,1)(1,2)(2,0,3)(0,1,3)的临界状态,待第3和第4个镜像对完成对于控制器3的缓存数据重镜像工作后,才会“将控制器0从第3个镜像对中剔除,将控制1从第4个镜像对中剔除”,最终达到(0,1)(1,2)(2,3)(3,0)的镜像对组队方式。也就是说,即使恢复的控制器在“缓存数据重镜像工作”过程中再次故障掉线,也不会影响目标镜像对中原有的控制器组织形式,也不会影响恢复控制器所在镜像对中原有的控制器间的缓存数据的一致性。
具体的,基于以上考虑,本发明实施例中决定识别这种情况,并在这种情况下免去多余的缓存数据重镜像工作,因此本发明实施例中识别出“当存储系统出现控制器的故障事件,且自身控制器所在的镜像对的成员控制器发生改变”这种状态,这种状态属于上述情况的基础,然后在此基础上判断故障事件中的故障控制器是否处于第一状态,也即未完成加入存储系统后的缓存数据重镜像工作的状态,如果属于第一状态,说明在故障事件之前,故障控制器所在的镜像对处于“故障控制器临时加入并且未剔除原有控制器”的状态,此时故障控制器的故障并不改变原有镜像对的组织形式以及缓存数据一致性,因此本发明实施例中可以判别第一状态,并根据判别结果触发后续不同的动作。
其中,存储系统可以为多控存储系统,控制器的数量可以为多种类型,例如可以为四个、六个或者八个控制器等,本发明实施例在此不做限定。
S102:结束;
具体的,若故障事件中的故障控制器处于第一状态,代表“因故障事件导致镜像对的成员控制器的改变”,实际上属于“恢复的控制器在缓存数据重镜像过程中再次故障”的情况,并不影响该镜像对原有的缓存数据一致性,因此发生改变的该镜像对无需进行缓存数据重镜像工作,便可以结束,从而节省了计算资源并提升了工作效率。
S103:与自身控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
其中,第一状态为:未完成加入存储系统后的缓存数据重镜像工作。
具体的,若故障事件中的故障控制器不处于第一状态,那么基本表示自身控制器所在镜像对的成员控制器已经发生了改变,此时所在镜像对中的两个控制器需要保持缓存数据的一致性,因此便可以与自身控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作。
本发明提供了一种缓存镜像管理方法,考虑到控制器恢复时所触发的缓存数据重镜像工作的过程中,并不会将恢复的控制器所在镜像对中原有的控制器从镜像对中剔除,若恢复的控制器未执行完缓存数据重镜像工作出现故障,理论上不影响所在镜像对的缓存数据一致性,因此本发明中可以在出现控制器故障事件且自身控制器所在镜像对发生改变时,判断故障事件中的故障控制器是否属于上述情况(也即第一状态),如果属于便无需重新进行缓存数据重镜像,在保证缓存数据准确的情况下,降低了计算资源的浪费。
在上述实施例的基础上:
作为一种可选的实施例,当存储系统出现控制器的故障事件,且自身控制器所在的镜像对的成员控制器发生改变时,判断故障事件中的故障控制器是否处于第一状态包括:
S201:当存储系统出现控制器的故障事件时,判断自身控制器所在的镜像对的成员控制器是否发生改变;
S202:若改变,则执行判断故障事件中的故障控制器是否处于第一状态的步骤;
S203:若未改变,判断所在的镜像对在故障事件之前,是否存在未完成的缓存数据重镜像工作;
S204:若存在,则与自身控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
S205:若不存在,则结束。
具体的,考虑到控制器事件并不会改变所有镜像对的成员控制器,且控制器事件会使得原本正在进行的缓存数据重镜像工作暂停,因此即使是成员控制器未发生改变的镜像对,在故障事件同样有可能存在未完成的缓存数据重镜像工作,因此本发明实施例中可以当存储系统出现控制器的故障事件时,判断自身控制器所在的镜像对的成员控制器未发生改变时,进一步判断所在的镜像对在故障事件之前,是否存在未完成的缓存数据重镜像工作,如果存在,便可以与自身控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作,从而保证缓存数据重镜像工作的可靠执行,保证镜像对中的控制器间的缓存数据的一致性。
作为一种可选的实施例,该缓存镜像管理方法还包括:
S206:当存储系统出现控制器的恢复事件,判断存储系统当前是否存在正在执行的缓存数据重镜像工作;
S207:若存在,则待存储系统当前正在执行的缓存数据重镜像工作完成后,响应恢复事件,以便进行镜像对重组。
为了更好地对本发明实施例进行说明,请参考图2,图2为本发明提供的另一种缓存镜像管理方法的流程示意图。
具体的,考虑到(1)控制器间的缓存数据重镜像流程速率比起下刷落盘快很多,对应的等待时间比起原有的刷盘方式也少很多;(2)控制器恢复场景下,控制器可能之前因为某种原因刚刚退出集群,再恢复后同样可能不稳定,因此本身对于控制器恢复也会设置一定的等待时间(防震荡),满足等待时间后才允许加入集群,避免控制器恢复后再次故障退出,造成缓存模块需要不断重新发起重镜像的情况出现,因此本发明实施例可以在存储系统出现控制器的恢复事件时,判断存储系统当前是否存在正在执行的缓存数据重镜像工作,如果存在,便可以待存储系统当前正在执行的缓存数据重镜像工作完成后,响应恢复事件,以便进行镜像对重组,能够提升工作效率。
作为一种可选的实施例,该缓存镜像管理方法还包括:
响应于存储系统中的控制器事件以及镜像对重组信息,确定并存储各组镜像对的重镜像工作状态;
响应于其他控制器发送的缓存数据重镜像工作完成的通知信息,更新发送通知信息的控制器所在镜像对的重镜像工作状态;
其中,控制器事件包括故障事件与恢复事件,重镜像工作状态为:是否执行缓存数据重镜像工作以及在缓存数据重镜像工作中作为缓存数据发送方的控制器;
判断故障事件中的故障控制器是否处于第一状态包括:
根据故障事件之前与之后的自身控制器所在镜像对的重镜像工作状态,判断故障事件中的故障控制器是否处于第一状态。
具体的,为了便于存储系统中的各个控制器获取存储系统中各个镜像对的重镜像工作状态,也即“是否执行缓存数据重镜像工作以及在缓存数据重镜像工作中作为缓存数据发送方的控制器”,本发明实施例中,控制器可以响应于存储系统中的控制器事件以及镜像对重组信息,确定并存储各组镜像对的重镜像工作状态,并且可以响应于其他控制器发送的缓存数据重镜像工作完成的通知信息,更新发送通知信息的控制器所在镜像对的重镜像工作状态,从而使得每个控制器能够维护一套存储系统中各个镜像对的重镜像工作状态,可以基于该信息处理各种事项,例如可以根据故障事件之前与之后的自身控制器所在镜像对的重镜像工作状态,判断故障事件中的故障控制器是否处于第一状态等,本发明实施例在不做限定。
作为一种可选的实施例,每组镜像对的重镜像工作状态包括多组与镜像对一一对应的比特位数组;
其中,每组比特位数组中包括与存储系统中的控制器一一对应的多个比特位,每个比特位的数值表示对应的控制器在缓存数据重镜像工作中是否作为缓存数据发送方。
考虑到比特位数组的形式能够高效且准确的标识对应的镜像对的重镜像工作状态,因此本发明实施例为每组镜像对设置了对应的比特位数组,每组比特位数组中包括与存储系统中的控制器一一对应的多个比特位,每个比特位的数值表示对应的控制器在缓存数据重镜像工作中是否作为缓存数据发送方。
具体的,在一种具体的实施例中,可以通过一个(包含多个比特位数组的)数组类型数据结构syncNodes记录为[0000,0001,0100,0000],其中每个镜像对采用bit位的方式记录,每个比特位数组的四个比特位从右到左依次表示0/1/2/3号控制器,比特位的数值1代表对应的控制器作为缓存数据重镜像工作的发送方,例如上述syncNodes:[0000,0001,0100,0000]中的从左到右的第1组比特位数组表示镜像对0无需进行缓存数据重镜像工作/缓存数据重镜像工作已完成;第4组比特位数组表示镜像对3无需进行缓存数据重镜像工作/缓存数据重镜像工作已完成;第2组比特位数组0001表示镜像对1的0号控制器作为缓存数据重镜像工作中的发送方,且当前未完成缓存数据重镜像工作;第2组比特位数组0100表示镜像对2的2号控制器作为缓存数据重镜像工作中的发送方,且当前未完成缓存数据重镜像工作。此方式在重镜像结束判断时较为方便。进而通过找到发起重镜像的节点在对应镜像对的对端节点,确定数据接收的节点。
其中,当某个控制器的缓存数据重镜像工作完成后,便可以向其他控制器发送通知消息,以便各个控制器得到通知消息后更新数组类型数据结构syncNodes,例如对于上述的syncNodes:[0000,0001,0100,0000]情况,假设0号控制器在镜像对1中的重镜像工作完成后,则可以经过通知后消除syncNodes中对应位的值,即此时syncNodes变为[0000,0000,0100,0000],说明第二个镜像对中的重镜像流程完成。等待镜像对2中的2号控制器在重镜像工作完成后,同样的方式将syncNodes更新为[0000,0000,0000,0000]。此时syncNodes中每一位都为0,则说明此该存储系统的各个镜像对的重镜像工作均完成。
另外,值得一提的是,考虑到缓存数据重镜像工作因为各种情况可能出现卡滞并超时的异常状态,因此在维护了存储系统中各个镜像对的重镜像工作状态之后,控制器还可以监测各个镜像对的缓存数据重镜像工作的持续时间是否大于预设阈值,并在大于的情况下将该状况进行推送,便于工作人员及时对异常情况进行检查处理。
作为一种可选的实施例,该缓存镜像管理方法还包括:
控制提示器提示各组镜像对当前的重镜像工作状态。
具体的,为了便于工作人员及时对存储系统中各组镜像对当前的重镜像工作状态进行了解,本发明实施例中还可以控制提示器提示各组镜像对当前的重镜像工作状态。
其中,提示器可以为多种类型,例如显示器等,本发明实施例在此不做限定。
作为一种可选的实施例,该缓存镜像管理方法还包括:
根据存储系统中各组镜像对的重镜像工作状态,判断存储系统当前是否存在正在执行的缓存数据重镜像工作的镜像对;
若存在,则将预设标志置为第一数值,若不存在,将预设标志置为第二数值。
具体的,为了更加快速准确的获悉存储系统中是否存在正在执行的缓存数据重镜像工作的镜像对,本发明实施例中可以根据存储系统中各组镜像对的重镜像工作状态,判断存储系统当前是否存在正在执行的缓存数据重镜像工作的镜像对,并将判断结果分为两种情况通过预设标志的两种数值进行体现,例如可以设置bool类型syncComplete标志,总体表示机框中所有镜像对是否完成数据重镜像流程,当机框中有镜像对正在执行的缓存数据重镜像工作时,设置syncComplete值为false,当syncNodes中每个镜像对对应位的置全部清0后,syncComplete值设置为true。
请参考图3,图3为本发明提供的一种缓存镜像管理装置的结构示意图,该缓存镜像管理装置应用于存储系统中的每个控制器,包括:
第一判断模块31,用于当存储系统出现控制器的故障事件,且自身控制器所在的镜像对的成员控制器发生改变时,判断故障事件中的故障控制器是否处于第一状态,若处于,则触发结束模块32,若不处于,触发第一动作模块33;
结束模块32,用于结束;
第一动作模块33,用于与自身控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
其中,第一状态为:未完成加入存储系统后的缓存数据重镜像工作。
本发明提供了一种缓存镜像管理装置,考虑到控制器恢复时所触发的缓存数据重镜像工作的过程中,并不会将恢复的控制器所在镜像对中原有的控制器从镜像对中剔除,若恢复的控制器未执行完缓存数据重镜像工作出现故障,理论上不影响所在镜像对的缓存数据一致性,因此本发明中可以在出现控制器故障事件且自身控制器所在镜像对发生改变时,判断故障事件中的故障控制器是否属于上述情况(也即第一状态),如果属于便无需重新进行缓存数据重镜像,在保证缓存数据准确的情况下,降低了计算资源的浪费。
作为一种可选的实施例,第一判断模块31包括:
第一判断子模块,用于当存储系统出现控制器的故障事件时,判断自身控制器所在的镜像对的成员控制器是否发生改变,若改变,则触发第二判断子模块,若未改变,触发第三判断子模块;
第二判断子模块,用于判断故障事件中的故障控制器是否处于第一状态;
第三判断子模块,用于判断所在的镜像对在故障事件之前,是否存在未完成的缓存数据重镜像工作,若存在,则触发第二动作模块,若不存在,触发结束模块32;
第二动作模块,用于与自身控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作。
作为一种可选的实施例,该缓存镜像管理装置还包括:
第二判断模块,用于当存储系统出现控制器的恢复事件,判断存储系统当前是否存在正在执行的缓存数据重镜像工作,若存在,则触发第三动作模块;
第三动作模块,用于待存储系统当前正在执行的缓存数据重镜像工作完成后,响应恢复事件,以便进行镜像对重组。
作为一种可选的实施例,该缓存镜像管理装置还包括:
第一确定模块,用于响应于存储系统中的控制器事件以及镜像对重组信息,确定并存储各组镜像对的重镜像工作状态;
第四动作模块,用于响应于其他控制器发送的缓存数据重镜像工作完成的通知信息,更新发送通知信息的控制器所在镜像对的重镜像工作状态;
其中,控制器事件包括故障事件与恢复事件,重镜像工作状态为:是否执行缓存数据重镜像工作以及在缓存数据重镜像工作中作为缓存数据发送方的控制器;
第二判断子模块包括:
根据故障事件之前与之后的自身控制器所在镜像对的重镜像工作状态,判断故障事件中的故障控制器是否处于第一状态。
作为一种可选的实施例,每组镜像对的重镜像工作状态包括多组与镜像对一一对应的比特位数组;
其中,每组比特位数组中包括与存储系统中的控制器一一对应的多个比特位,每个比特位的数值表示对应的控制器在缓存数据重镜像工作中是否作为缓存数据发送方。
作为一种可选的实施例,该缓存镜像管理装置还包括:
控制模块,用于控制提示器提示各组镜像对当前的重镜像工作状态。
作为一种可选的实施例,该缓存镜像管理装置还包括:
第三判断模块,用于根据存储系统中各组镜像对的重镜像工作状态,判断存储系统当前是否存在正在执行的缓存数据重镜像工作的镜像对,若存在,则触发第五动作模块,若不存在,触发第六动作模块;
第五动作模块,用于将预设标志置为第一数值;
第六动作模块,用于将预设标志置为第二数值。
对于本发明实施例提供的缓存镜像管理装置的介绍请参照前述的缓存镜像管理方法的实施例,本发明实施例在此不再赘述。
请参考图4,图4为本发明提供的一种缓存镜像管理设备的结构示意图,该缓存镜像管理设备包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序时实现如前述实施例中缓存镜像管理方法的步骤。
具体的,存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机可读指令,该内存储器为非易失性存储介质中的操作系统和计算机可读指令的运行提供环境。处理器执行存储器中保存的计算机程序时,可以实现以下步骤:当存储系统出现控制器的故障事件,且自身控制器所在的镜像对的成员控制器发生改变时,判断故障事件中的故障控制器是否处于第一状态;若处于,则结束;若不处于,与自身控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;其中,第一状态为:未完成加入存储系统后的缓存数据重镜像工作。
本发明提供了一种缓存镜像管理设备,考虑到控制器恢复时所触发的缓存数据重镜像工作的过程中,并不会将恢复的控制器所在镜像对中原有的控制器从镜像对中剔除,若恢复的控制器未执行完缓存数据重镜像工作出现故障,理论上不影响所在镜像对的缓存数据一致性,因此本发明中可以在出现控制器故障事件且自身控制器所在镜像对发生改变时,判断故障事件中的故障控制器是否属于上述情况(也即第一状态),如果属于便无需重新进行缓存数据重镜像,在保证缓存数据准确的情况下,降低了计算资源的浪费。
对于本发明实施例提供的缓存镜像管理设备的介绍请参照前述的缓存镜像管理方法的实施例,本发明实施例在此不再赘述。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质50上存储有计算机程序51,计算机程序51被处理器42执行时实现如前述实施例中缓存镜像管理方法的步骤。
本发明提供了一种计算机可读存储介质,考虑到控制器恢复时所触发的缓存数据重镜像工作的过程中,并不会将恢复的控制器所在镜像对中原有的控制器从镜像对中剔除,若恢复的控制器未执行完缓存数据重镜像工作出现故障,理论上不影响所在镜像对的缓存数据一致性,因此本发明中可以在出现控制器故障事件且自身控制器所在镜像对发生改变时,判断故障事件中的故障控制器是否属于上述情况(也即第一状态),如果属于便无需重新进行缓存数据重镜像,在保证缓存数据准确的情况下,降低了计算资源的浪费。
对于本发明实施例提供的计算机可读存储介质的介绍请参照前述的缓存镜像管理方法的实施例,本发明实施例在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种缓存镜像管理方法,其特征在于,应用于存储系统中的每个控制器,包括:
当存储系统出现控制器的故障事件,且自身所述控制器所在的镜像对的成员控制器发生改变时,判断所述故障事件中的故障控制器是否处于第一状态;
若处于,则结束;
若不处于,与自身所述控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
其中,所述第一状态为:未完成加入所述存储系统后的缓存数据重镜像工作。
2.根据权利要求1所述的缓存镜像管理方法,其特征在于,所述当存储系统出现控制器的故障事件,且自身所述控制器所在的镜像对的成员控制器发生改变时,判断所述故障事件中的故障控制器是否处于第一状态包括:
当存储系统出现控制器的故障事件时,判断自身所述控制器所在的镜像对的成员控制器是否发生改变;
若改变,则执行所述判断所述故障事件中的故障控制器是否处于第一状态的步骤;
若未改变,判断所在的镜像对在所述故障事件之前,是否存在未完成的缓存数据重镜像工作;
若存在,则与自身所述控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
若不存在,则结束。
3.根据权利要求2所述的缓存镜像管理方法,其特征在于,该缓存镜像管理方法还包括:
当存储系统出现控制器的恢复事件,判断所述存储系统当前是否存在正在执行的缓存数据重镜像工作;
若存在,则待所述存储系统当前正在执行的缓存数据重镜像工作完成后,响应所述恢复事件,以便进行镜像对重组。
4.根据权利要求1所述的缓存镜像管理方法,其特征在于,该缓存镜像管理方法还包括:
响应于所述存储系统中的控制器事件以及镜像对重组信息,确定并存储各组所述镜像对的重镜像工作状态;
响应于其他控制器发送的缓存数据重镜像工作完成的通知信息,更新发送所述通知信息的控制器所在镜像对的重镜像工作状态;
其中,所述控制器事件包括故障事件与恢复事件,所述重镜像工作状态为:是否执行缓存数据重镜像工作以及在所述缓存数据重镜像工作中作为缓存数据发送方的控制器;
所述判断所述故障事件中的故障控制器是否处于第一状态包括:
根据所述故障事件之前与之后的自身所述控制器所在镜像对的所述重镜像工作状态,判断所述故障事件中的故障控制器是否处于第一状态。
5.根据权利要求4所述的缓存镜像管理方法,其特征在于,每组所述镜像对的重镜像工作状态包括多组与镜像对一一对应的比特位数组;
其中,每组所述比特位数组中包括与所述存储系统中的控制器一一对应的多个比特位,每个所述比特位的数值表示对应的所述控制器在所述缓存数据重镜像工作中是否作为缓存数据发送方。
6.根据权利要求4所述的缓存镜像管理方法,其特征在于,该缓存镜像管理方法还包括:
控制提示器提示各组所述镜像对当前的所述重镜像工作状态。
7.根据权利要求4至6任一项所述的缓存镜像管理方法,其特征在于,该缓存镜像管理方法还包括:
根据所述存储系统中各组所述镜像对的重镜像工作状态,判断所述存储系统当前是否存在正在执行的缓存数据重镜像工作的镜像对;
若存在,则将预设标志置为第一数值,若不存在,将所述预设标志置为第二数值。
8.一种缓存镜像管理装置,其特征在于,应用于存储系统中的每个控制器,包括:
第一判断模块,用于当存储系统出现控制器的故障事件,且自身所述控制器所在的镜像对的成员控制器发生改变时,判断所述故障事件中的故障控制器是否处于第一状态,若处于,则触发结束模块,若不处于,触发第一动作模块;
所述结束模块,用于结束;
所述第一动作模块,用于与自身所述控制器所在的镜像对中的对端控制器配合,完成缓存数据重镜像工作;
其中,所述第一状态为:未完成加入所述存储系统后的缓存数据重镜像工作。
9.一种缓存镜像管理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述缓存镜像管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述缓存镜像管理方法的步骤。
CN202311616258.XA 2023-11-29 2023-11-29 缓存镜像管理方法、装置、设备及计算机可读存储介质 Pending CN117608482A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311616258.XA CN117608482A (zh) 2023-11-29 2023-11-29 缓存镜像管理方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311616258.XA CN117608482A (zh) 2023-11-29 2023-11-29 缓存镜像管理方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN117608482A true CN117608482A (zh) 2024-02-27

Family

ID=89947752

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311616258.XA Pending CN117608482A (zh) 2023-11-29 2023-11-29 缓存镜像管理方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN117608482A (zh)

Similar Documents

Publication Publication Date Title
CN103581225A (zh) 分布式系统中的节点处理任务的方法
US10432455B2 (en) Distributed processing system, data processing method, and control node device
CN101137984A (zh) 用于分布加载数据库的系统、方法和软件
CN110716793A (zh) 一种分布式事务的执行方法、装置、设备及存储介质
US7434204B1 (en) Method and apparatus for managing software processes
CN107122271B (zh) 一种恢复节点事件的方法、装置及系统
CN111124283A (zh) 一种存储空间管理方法、系统、电子设备及存储介质
CN117608482A (zh) 缓存镜像管理方法、装置、设备及计算机可读存储介质
CN116663853B (zh) 任务分派方法、装置、计算机设备和存储介质
JPH11259326A (ja) ホットスタンバイシステムおよびホットスタンバイシステムにおける自動再実行方法およびその記録媒体
CN112463079A (zh) 一种数据存储控制方法、装置、设备及可读存储介质
CN111831408A (zh) 异步任务处理方法、装置、电子设备及介质
CN113342499B (zh) 分布式任务调用方法、装置、设备、存储介质、程序产品
CN112527561B (zh) 基于物联网云存储的数据备份方法及装置
CN110928684B (zh) 多HiveServer2服务器场景下连接池的实现方法及系统
US8615769B2 (en) Data processing system, data processing method, and data processing program
CN112269693B (zh) 一种节点自协调方法、装置和计算机可读存储介质
EP3388943A1 (en) Method and apparatus for managing events in a network that adopts event-driven programming framework
CN111090491B (zh) 虚拟机任务状态的恢复方法、装置及电子设备
US9110850B2 (en) Method for accelerating start up of a computerized system
CN104516778A (zh) 一种多任务环境下进程检查点的保存与恢复系统及方法
CN115934428B (zh) 一种mysql数据库的主灾备切换方法、装置及电子设备
CN111381969B (zh) 一种分布式软件的管理方法及其系统
CN112668882B (zh) 一种移动机器人集群自主存活检测与分布式协调方法
TWI780537B (zh) 智慧化調整監控告警服務的系統、方法及電腦可讀媒介

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination