CN107704343A - 一种多控制器的数据备份方法、装置、设备及存储介质 - Google Patents
一种多控制器的数据备份方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN107704343A CN107704343A CN201710912366.XA CN201710912366A CN107704343A CN 107704343 A CN107704343 A CN 107704343A CN 201710912366 A CN201710912366 A CN 201710912366A CN 107704343 A CN107704343 A CN 107704343A
- Authority
- CN
- China
- Prior art keywords
- controller
- target
- data
- backup
- data cached
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
- G06F11/2092—Techniques of failing over between control units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种多控制器的数据备份方法,应用于目标IO组,包括N个正常工作的控制器。目标控制器中的缓存数据由且仅由第一控制器备份,作为第一控制器中的备份数据;其中,目标控制器为N个控制器中的任意一个控制器;第二控制器中的缓存数据由且仅由目标控制器备份,作为目标控制器中的备份数据;当目标控制器失效时,第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据;第一控制器代替目标控制器对第二控制器中的缓存数据进行备份。应用本发明实施例所提供的技术方案,增加了存储系统的可靠性,并且有效地控制了各个控制器的缓存成本。本发明还公开了一种多控制器的数据备份装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本发明涉及计算机存储技术领域,特别是涉及一种多控制器的数据备份方法、装置、设备及存储介质。
背景技术
随着计算机存储技术的不断发展,海量数据的爆发式增长对存储技术的性能以及稳定性都提出了更高的要求。
现有技术中,普遍采用的是两个存储器构成一个IO组的方式。同一个IO组中的两个控制器各自承担该IO组的50%的负载,两个控制器相互备份。为了便于描述,针对任意一个控制器,本申请中将下发至该控制器,需要该控制器进行处理的数据称为该控制器中的缓存数据,对于该控制器中存储的其他控制器中的缓存数据,称为该控制器中的备份数据。即该控制器对其他控制器中的缓存数据进行备份。
当采用两个控制器相互备份时,一个控制器如果发生故障,由于另一个控制器中有故障控制器的缓存数据的备份,使得另一个控制器能接管故障控制器的工作,使得数据不丢失。但是当两个控制器均失效时,数据会丢失。随着存储技术的要求不断提高,目前还出现了四控制器构成一个IO组的存储集群以增加存储的可靠性。四个控制器中,每个控制器对其余三个控制器中的缓存数据进行备份,以保障控制器故障时数据不丢失,每个控制器各自承担25%的负载。相较于两个控制器相互备份的方式,由于四控制器的方式中控制器的数量更多,不会出现两个控制器均失效数据就丢失的情况,提高了可靠性。但是相较于双控制器的架构,四控制器的架构中每个控制器均需要大幅提高存储空间的大小,对每个控制器的缓存空间要求很高,增大了控制器的缓存成本。
综上所述,如何在有效控制控制器的缓存成本的前提下,提高存储系统的可靠性,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种多控制器的数据备份方法、装置、设备及存储介质,以增加存储系统的可靠性,并且有效地控制各个控制器的缓存成本。
为解决上述技术问题,本发明提供如下技术方案:
一种多控制器的数据备份方法,应用于目标IO组,所述目标IO组包括N个正常工作的控制器,该方法包括:
目标控制器中的缓存数据由且仅由第一控制器备份,作为所述第一控制器中的备份数据;
其中,所述目标控制器为所述N个控制器中的任意一个控制器;
第二控制器中的缓存数据由且仅由所述目标控制器备份,作为所述目标控制器中的备份数据;
当所述目标控制器失效时,所述第一控制器获得所述目标控制器中的缓存数据以及所述目标控制器中的备份数据;
所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份。
优选的,在所述目标控制器失效之前,还包括:
所述N个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/N的负载;
相应的,在所述目标控制器失效之后,还包括:
除所述目标控制器之外的N-1个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/(N-1)的负载。
优选的,在所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份之后,还包括:
当所述目标控制器恢复正常时,所述N个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/N的负载;
所述目标控制器代替所述第一控制器对所述第二控制器中的缓存数据进行备份;
所述第一控制器清空自身的备份数据,并对所述目标控制器中的缓存数据进行备份。
优选的,在所述目标控制器失效之后,还包括:
输出所述目标控制器失效的提示信息。
优选的,在所述第一控制器获得所述目标控制器中的缓存数据以及所述目标控制器中的备份数据之后,还包括:
所述第一控制器根据自身缓存中的每个数据的优先级,按照优先级从高到低的顺序刷写自身缓存中的数据。
一种多控制器的数据备份装置,应用于目标IO组,所述目标IO组包括N个正常工作的控制器,该装置包括:
目标控制器控制模块,用于控制目标控制器中的缓存数据由且仅由第一控制器备份,作为所述第一控制器中的备份数据;
其中,所述目标控制器为所述N个控制器中的任意一个控制器;
第二控制器控制模块,用于控制第二控制器中的缓存数据由且仅由所述目标控制器备份,作为所述目标控制器中的备份数据;
失效接管控制模块,用于当所述目标控制器失效时,控制所述第一控制器获得所述目标控制器中的缓存数据以及所述目标控制器中的备份数据;
第一备份代替控制模块,用于控制所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份。
优选的,还包括:
负载第一控制模块,用于在所述目标控制器失效之前,控制所述N个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/N的负载;
负载第二控制模块,用于在所述目标控制器失效之后,控制除所述目标控制器之外的N-1个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/(N-1)的负载。
优选的,还包括:
失效恢复控制模块,用于在所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份之后,当所述目标控制器恢复正常时,控制所述N个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/N的负载;
第二备份代替控制模块,用于控制所述目标控制器代替所述第一控制器对所述第二控制器中的缓存数据进行备份;
备份数据清空控制模块,用于控制所述第一控制器清空自身的备份数据,并对所述目标控制器中的缓存数据进行备份。
一种多控制器的数据备份设备,应用于目标IO组,所述目标IO组包括N个正常工作的控制器,该设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现:目标控制器中的缓存数据由且仅由第一控制器备份,作为所述第一控制器中的备份数据;其中,所述目标控制器为所述N个控制器中的任意一个控制器;第二控制器中的缓存数据由且仅由所述目标控制器备份,作为所述目标控制器中的备份数据;当所述目标控制器失效时,所述第一控制器获得所述目标控制器中的缓存数据以及所述目标控制器中的备份数据;所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份。
一种计算机可读存储介质,所述计算机可读存储介质上存储有控制器缓存循环备份程序,所述控制器缓存循环备份程序被处理器执行时实现上述多控制器的数据备份方法的步骤。
应用本发明实施例所提供的技术方案,应用于目标IO组,目标IO组包括N个正常工作的控制器,包括:目标控制器中的缓存数据由且仅由第一控制器备份,作为第一控制器中的备份数据;其中,目标控制器为N个控制器中的任意一个控制器;第二控制器中的缓存数据由且仅由目标控制器备份,作为目标控制器中的备份数据;当目标控制器失效时,第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据;第一控制器代替目标控制器对第二控制器中的缓存数据进行备份。
针对每个控制器,该控制器对另一个控制器中的缓存数据进行备份,每一个控制器均有对其缓存数据进行备份的其他控制器,使得实现了在N个控制器正常工作时,控制器之间的循环备份。由于每个控制器仅备份其余控制器中的一个控制器的缓存数据,使得本发明的方案有效控制了每个控制器的缓存成本。当N个正常工作的控制器任一个失效时,剩余的N-1个控制器继续完成循环备份。当N-1个控制器正常工作时,再次出现控制器失效,剩余的N-2个控制器可以实现循环备份,依然能使得目标IO组的数据不丢失,请求不中断,直至只有一个控制器接收目标IO组的全部IO请求,使得目标IO组的可靠性大为提高。本发明的方案增加了存储系统的可靠性,并且有效地控制了各个控制器的缓存成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中一种多控制器的数据备份方法的实施流程图;
图2为本发明中一种多控制器的数据备份装置的结构示意图;
图3为本发明中一种多控制器的数据备份设备的结构示意图。
具体实施方式
本发明的核心是提供一种多控制器的数据备份方法,增加了存储系统的可靠性,并且有效地控制了各个控制器的缓存成本。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,为本发明中一种多控制器的数据备份方法的实施流程图,该方法应用于目标IO组,目标IO组包括N个正常工作的控制器,包括以下步骤:
S101:目标控制器中的缓存数据由且仅由第一控制器备份,作为第一控制器中的备份数据;
其中,目标控制器为N个控制器中的任意一个控制器。
本发明的方法应用于目标IO组,目标IO组可以是管理磁盘的IO组集群中的任意一个IO组,目标IO组包括N个正常工作的控制器,为了便于描述,以四个控制器构成一个目标IO组为例进行说明。即当目标IO组中四个控制器均正常工作时,N的值为4。当然,这四个控制器构成的目标IO中如果只有三个控制器正常工作,N的值即为3。
目标控制器为N个控制器中的任意一个控制器。目标控制器中可以认为有两部分数据,一部分是目标控制器中的缓存数据,一部分是目标控制器中的备份数据。目标控制器中的缓存数据是目标控制器接收目标IO组下发的IO请求,需要目标控制器进行刷写的数据。目标控制器中的备份数据是目标控制器对其他控制器中的缓存数据进行备份而保存的数据。当然,目标控制器接收IO请求,需要变更自身的缓存数据时,相应的,第一控制器中的备份数据也会根据相应的请求进行变更。
目标控制器中的缓存数据由且仅由第一控制器备份,作为第一控制器中的备份数据。本申请中将对目标控制器中的缓存数据进行备份的控制器称为第一控制器。
S102:第二控制器中的缓存数据由且仅由目标控制器备份,作为目标控制器中的备份数据。
第二控制器中的缓存数据由且仅由目标控制器备份。本申请中,将作为目标控制器的备份对象的那一个控制器称为第二控制器。当然,目标控制器,第一控制器以及第二控制器,均是为了便于描述而命名的控制器,并不是对控制器的编号进行限定。
在步骤S101以及步骤S102中,以目标控制器为例,对本发明的N个控制器正常工作时的数据备份方式进行了说明。目标控制器是目标IO组中的任意一个控制器。为了便于描述,本申请中,将在N个正常工作的控制器中的该种数据备份方式,称为循环备份。也就是说,在这正常工作的N个控制器中,每个控制器的缓存数据由且仅由另一个控制器备份,作为另一个控制器的备份数据,并且每个控制器仅备份其余N-1个控制器中的一个控制器的缓存数据。
以四个控制器正常工作为例进行说明,为了便于描述,依次将这四个控制器进行编号,可以依次编号为1号控制器,2号控制器,3号控制器以及4号控制器。将1号控制器中的缓存数据用A表示,2号控制器中的缓存数据用B表示,3号控制器中的缓存数据用C表示,4号控制器中的缓存数据用D表示。例如目标控制器为2号控制器,2号控制器由且仅由3号控制器备份,即3号控制器相当于第一控制器,例如1号控制器由且仅由2号控制器备份,即1号控制器相当于第二控制器。
由于目标控制器是任意一个控制器,也就是说,每个控制器中的缓存数据由且仅由另一个控制器备份,作为另一个控制器的备份数据,并且每个控制器仅备份其余3个控制器中的一个控制器的缓存数据。例如,1号控制器中的缓存数据由2号控制器备份,2号控制器中的缓存数据由3号控制器备份,3号控制器中的缓存数据由4号控制器备份,4号控制器中的缓存数据由1号控制器备份。则1号控制器中的数据为A和D,2号至4号控制器中的数据依次为B和A,C和B,D和C。
在采用步骤S102以及步骤S102中的循环备份的方式时,每个控制器仅备份另一个控制器中的缓存数据,且每个控制器中的缓存数据都有一个相应的控制器对其进行备份。需要说明的是,当控制器中的缓存数据发生变化时,对该控制器进行备份的控制器中的备份数据也会同步变化。例如上述例子中,1号控制器中的数据为A和D,2号控制器对1号控制器中的缓存数据进行备份,2号控制器中的数据为B和A。当1号控制器写入数据时,例如将数据E写入1号控制器,使得1号控制器中的缓存数据由A变为E,即1号控制器中的数据为变E和D,相应的,可以同时将数据E写入2号控制器,使得2号控制器中的备份数据由A变为E,即2号控制器中的数据变为B和E。
需要说明的是,N个控制器正常工作时,N个控制器之间采用循环备份。当只有一个控制器正常工作时,自然就没有其他控制器对这个控制器进行备份,可以使该控制器接收目标IO组的全部IO请求,以使IO请求不中断。
S103:当目标控制器失效时,第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据。
当N个控制器正常工作时,这N个控制器采用循环备份的方式,当这N个控制器任意一个失效时,由于目标控制器是任意一个控制器,便于描述仍以目标控制器失效进行说明。
当目标控制器失效时,第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据。具体的,第一控制器可以获得目标控制器中的缓存数据,作为自身的缓存数据的一部分,并且获得目标控制器中的备份数据,作为自身的备份数据的一部分。仍以上述四个控制器正常工作为例,例如目标控制器为2号控制器,当2号控制器失效时,即目标控制器失效时,3号控制器即第一控制器可以获得2号控制器中的缓存数据以及备份数据。在2号控制器失效之前,2号控制器中的数据为B和A,其中B为2号控制器中的缓存数据,A为2号控制器中的备份数据。3号控制器中的数据为C和B,其中C为3号控制器中的缓存数据,B为3号控制器中的备份数据。当2号控制器失效时,3号控制器获得2号控制器中的缓存数据B以及备份数据A,即当2号控制器失效时,3号控制器中的数据为C,B,B以及A。也就是说,当目标控制器失效时,第一控制器中的缓存使用量会变为在目标控制器正常工作时的两倍。
在本发明的一种具体实施方式中,在步骤S103之后,还包括:
第一控制器根据自身缓存中的每个数据的优先级,按照优先级从高到低的顺序刷写自身缓存中的数据。
数据的优先级可以根据数据的使用频率进行确定。例如,根据第一控制器获得目标控制器中的数据的时刻,确定时间戳,针对第一控制器中的每一个数据,确定该数据最近一次使用的时刻与时间戳的差值,差值越大,可以说明该数据越久未使用,即最近时间段内该数据的使用频率较低,则可以将该数据的优先级设为高,使得该数据优先刷写至磁盘中。可以按照优先级从高到低的顺序刷写数据,使得第一控制器的缓存使用量从正常范围的两倍恢复至正常范围。当然,对于第一控制器中的部分备份数据,例如上述例子中的备份数据A,由于备份数据A为第一控制器代替失效的目标控制器对第二控制器进行备份而保存的备份数据,在第一控制器进行数据刷写时,并不将备份数据A刷写至磁盘,当第二控制器中的缓存数据A变更时,可以同步将第一控制器中的备份数据A进行变更。
S104:第一控制器代替目标控制器对第二控制器中的缓存数据进行备份。
在目标控制器失效之后,第一控制器代替目标控制器对第二控制器中的缓存数据进行备份。
仍以上述2号控制器作为目标控制器的例子进行说明,当2号控制器失效时,正常工作的控制器由4个变为3个,第一控制器即3号控制器获得2号控制器中的缓存数据以及备份数据。3号控制器代替2号控制器对第二控制器的缓存数据进行备份,第二控制器在该实施例中即为1号控制器。当然,当3号控制器代替2号控制器对1号控制器进行缓存数据的备份时,3号控制器可以接管2号控制器的负载,导致3号控制器的负载会较高,存储系统可以降低3号控制器的负载,提高1号控制器以及4号控制器的负载,以使这3个控制器的负载逐渐均衡。
当2号控制器失效时,1号控制器中的缓存数据由3号控制器进行备份,即当1号控制器中的缓存数据变更时,3号控制器中的备份数据进行同步变更,3号控制器中的缓存数据由4号控制器进行备份,4号控制器中的缓存数据由1号控制器进行备份。1号控制器,3号控制器以及4号控制器进行循环备份。当然,这3个控制器中任意一个控制器再次失效时,可以参考2号控制器失效时的相应操作。例如3号控制器失效时,则由1号控制器和4号控制器相互备份。
在本发明的一种具体实施方式中,在步骤S103之前,即目标控制器失效之前,正常工作的控制器数量为N时,包括:
N个控制器中的每个控制器接收通过目标IO组下发的总负载量中的1/N的负载;
相应的,在目标控制器失效之后,还包括:
除目标控制器之外的N-1个控制器中的每个控制器接收通过目标IO组下发的总负载量中的1/(N-1)的负载。
目标IO组下发的负载即目标IO组下发的IO请求。当N个控制器正常工作时,N个控制器中的每个控制器接收通过目标IO组下发的总负载量中的1/N的负载。例如,当目标IO组中一共有四个控制器,当这四个控制器均正常工作时,四个控制器中的每个控制器接收通过目标IO组下发的总负载量中的1/4的负载。当任意一个控制器失效后,剩下的三个控制器正常工作时,每个控制器接收1/3的负载。当然,当构成一个目标IO组的多个控制器中,仅有一个控制器能够正常工作时,由该控制器接收目标IO组下发的全部负载。
需要说明的是,当正常工作的控制器的数量超过4个时,仍然可以参照上述4个控制器的例子。如当8个控制器正常工作时,8个控制器循环备份,每个控制器接收目标IO组中的八分之一的负载,当任意一个控制器失效时,其余7个控制器循环备份,并且每个控制器接收目标IO组中的七分之一的负载。
在本发明的一种具体实施方式中,在步骤S104之后,还包括:
当目标控制器恢复正常时,N个控制器中的每个控制器接收通过目标IO组下发的总负载量中的1/N的负载;
目标控制器代替第一控制器对第二控制器中的缓存数据进行备份,第一控制器清空自身的备份数据,并对目标控制器中的缓存数据进行备份。
仍以上述N为4的例子进行说明。当2号控制器失效时,1号控制器,3号控制器以及4号控制器进行循环备份。当2号控制器恢复正常时,每个正常工作的控制器接收通过目标IO组下发的总负载量中的1/4的负载。
2号控制器恢复正常后,代替3号控制器对1号控制器中的缓存数据进行备份,同时,3号控制器清空自身的备份数据,并对2号控制器中的缓存数据进行备份。
当然,当存储系统中有多个控制器失效并逐个恢复时,例如从1个控制器恢复为2个控制器,以及2个控制器恢复为3个控制器的过程,均可以参照上述例子中3个控制器恢复为4个控制器的过程,此处不重复说明。
应用本发明实施例所提供的技术方案,应用于目标IO组,目标IO组包括N个正常工作的控制器,包括:目标控制器中的缓存数据由且仅由第一控制器备份,作为第一控制器中的备份数据;其中,目标控制器为N个控制器中的任意一个控制器;第二控制器中的缓存数据由且仅由目标控制器备份,作为目标控制器中的备份数据;当目标控制器失效时,第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据;第一控制器代替目标控制器对第二控制器中的缓存数据进行备份。
针对每个控制器,该控制器对另一个控制器中的缓存数据进行备份,每一个控制器均有对其缓存数据进行备份的其他控制器,使得实现了在N个控制器正常工作时,控制器之间的循环备份。由于每个控制器仅备份其余控制器中的一个控制器的缓存数据,使得本发明的方案有效控制了每个控制器的缓存成本。当N个正常工作的控制器任一个失效时,剩余的N-1个控制器继续完成循环备份。当N-1个控制器正常工作时,再次出现控制器失效,剩余的N-2个控制器可以实现循环备份,依然能使得目标IO组的数据不丢失,请求不中断,直至只有一个控制器接收目标IO组的全部IO请求,使得目标IO组的可靠性大为提高。本发明的方案增加了存储系统的可靠性,并且有效地控制了各个控制器的缓存成本。
在本发明的一种具体实施方式中,在步骤S103之后,还包括:
输出目标控制器失效的提示信息。
目标控制器为任意一个控制器,当任意一个控制器失效时,可以输出提示信息。例如当4号控制器失效时,可以输出4号控制器失效的提示信息,以便提示相关工作人员采取相应的措施。
相应于上面的方法实施例,本发明实施例还提供了一种多控制器的数据备份装置,下文描述的多控制器的数据备份装置与上文描述的多控制器的数据备份方法可相互对应参照。
参见图2所示,为本发明中一种多控制器的数据备份装置的结构示意图,该装置应用于目标IO组,目标IO组包括N个正常工作的控制器,包括以下模块:
目标控制器控制模块201,用于控制目标控制器中的缓存数据由且仅由第一控制器备份,作为第一控制器中的备份数据,其中,目标控制器为N个控制器中的任意一个控制器;
第二控制器控制模块202,用于控制第二控制器中的缓存数据由且仅由目标控制器备份,作为目标控制器中的备份数据;
失效接管控制模块203,用于当目标控制器失效时,控制第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据;
第一备份代替控制模块204,用于控制第一控制器代替目标控制器对第二控制器中的缓存数据进行备份。
应用本发明实施例所提供的装置,应用于目标IO组,目标IO组包括N个正常工作的控制器,包括:目标控制器中的缓存数据由且仅由第一控制器备份,作为第一控制器中的备份数据;其中,目标控制器为N个控制器中的任意一个控制器;第二控制器中的缓存数据由且仅由目标控制器备份,作为目标控制器中的备份数据;当目标控制器失效时,第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据;第一控制器代替目标控制器对第二控制器中的缓存数据进行备份。
针对每个控制器,该控制器对另一个控制器中的缓存数据进行备份,每一个控制器均有对其缓存数据进行备份的其他控制器,使得实现了在N个控制器正常工作时,控制器之间的循环备份。由于每个控制器仅备份其余控制器中的一个控制器的缓存数据,使得本发明的方案有效控制了每个控制器的缓存成本。当N个正常工作的控制器任一个失效时,剩余的N-1个控制器继续完成循环备份。当N-1个控制器正常工作时,再次出现控制器失效,剩余的N-2个控制器可以实现循环备份,依然能使得目标IO组的数据不丢失,请求不中断,直至只有一个控制器接收目标IO组的全部IO请求,使得目标IO组的可靠性大为提高。本发明的方案增加了存储系统的可靠性,并且有效地控制了各个控制器的缓存成本。
在本发明的一种具体实施方式中,还包括:
负载第一控制模块,用于在目标控制器失效之前,控制N个控制器中的每个控制器接收通过目标IO组下发的总负载量中的1/N的负载;
负载第二控制模块,用于在目标控制器失效之后,控制除目标控制器之外的N-1个控制器中的每个控制器接收通过目标IO组下发的总负载量中的1/(N-1)的负载。
在本发明的一种具体实施方式中,还包括:
失效恢复控制模块,用于在第一控制器代替目标控制器对第二控制器中的缓存数据进行备份之后,当目标控制器恢复正常时,控制N个控制器中的每个控制器接收通过目标IO组下发的总负载量中的1/N的负载;
第二备份代替控制模块,用于控制目标控制器代替第一控制器对第二控制器中的缓存数据进行备份;
备份数据清空控制模块,用于控制第一控制器清空自身的备份数据,并对目标控制器中的缓存数据进行备份。
在本发明的一种具体实施方式中,还包括:
信息提示模块,用于在目标控制器失效之后,输出目标控制器失效的提示信息。
在本发明的一种具体实施方式中,还包括:
优先级刷写控制模块,用于在第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据之后,控制第一控制器根据自身缓存中的每个数据的优先级,按照优先级从高到低的顺序刷写自身缓存中的数据。
相应于上面的方法及装置实施例,本发明实施例还提供了一种多控制器的数据备份设备,下文描述的多控制器的数据备份设备与上文描述的多控制器的数据备份方法及装置可相互对应参照。
参见图3所示,为本发明中一种多控制器的数据备份设备的结构示意图,该设备应用于目标IO组,目标IO组包括N个正常工作的控制器,包括:
存储器301,用于存储计算机程序;
处理器302,用于执行计算机程序以实现:目标控制器中的缓存数据由且仅由第一控制器备份,作为第一控制器中的备份数据;其中,目标控制器为N个控制器中的任意一个控制器;第二控制器中的缓存数据由且仅由目标控制器备份,作为目标控制器中的备份数据;当目标控制器失效时,第一控制器获得目标控制器中的缓存数据以及目标控制器中的备份数据;第一控制器代替目标控制器对第二控制器中的缓存数据进行备份。
相应于上面的方法、装置及设备实施例,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有控制器缓存循环备份程序,控制器缓存循环备份程序被处理器执行时实现上述多控制器的数据备份方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种多控制器的数据备份方法,其特征在于,应用于目标IO组,所述目标IO组包括N个正常工作的控制器,包括:
目标控制器中的缓存数据由且仅由第一控制器备份,作为所述第一控制器中的备份数据;
其中,所述目标控制器为所述N个控制器中的任意一个控制器;
第二控制器中的缓存数据由且仅由所述目标控制器备份,作为所述目标控制器中的备份数据;
当所述目标控制器失效时,所述第一控制器获得所述目标控制器中的缓存数据以及所述目标控制器中的备份数据;
所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份。
2.根据权利要求1所述的方法,其特征在于,在所述目标控制器失效之前,还包括:
所述N个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/N的负载;
相应的,在所述目标控制器失效之后,还包括:
除所述目标控制器之外的N-1个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/(N-1)的负载。
3.根据权利要求2所述的方法,其特征在于,在所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份之后,还包括:
当所述目标控制器恢复正常时,所述N个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/N的负载;
所述目标控制器代替所述第一控制器对所述第二控制器中的缓存数据进行备份;
所述第一控制器清空自身的备份数据,并对所述目标控制器中的缓存数据进行备份。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述目标控制器失效之后,还包括:
输出所述目标控制器失效的提示信息。
5.根据权利要求1至3任一项所述的方法,其特征在于,在所述第一控制器获得所述目标控制器中的缓存数据以及所述目标控制器中的备份数据之后,还包括:
所述第一控制器根据自身缓存中的每个数据的优先级,按照优先级从高到低的顺序刷写自身缓存中的数据。
6.一种多控制器的数据备份装置,其特征在于,应用于目标IO组,所述目标IO组包括N个正常工作的控制器,包括:
目标控制器控制模块,用于控制目标控制器中的缓存数据由且仅由第一控制器备份,作为所述第一控制器中的备份数据;
其中,所述目标控制器为所述N个控制器中的任意一个控制器;
第二控制器控制模块,用于控制第二控制器中的缓存数据由且仅由所述目标控制器备份,作为所述目标控制器中的备份数据;
失效接管控制模块,用于当所述目标控制器失效时,控制所述第一控制器获得所述目标控制器中的缓存数据以及所述目标控制器中的备份数据;
第一备份代替控制模块,用于控制所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份。
7.根据权利要求6所述的装置,其特征在于,还包括:
负载第一控制模块,用于在所述目标控制器失效之前,控制所述N个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/N的负载;
负载第二控制模块,用于在所述目标控制器失效之后,控制除所述目标控制器之外的N-1个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/(N-1)的负载。
8.根据权利要求7所述的装置,其特征在于,还包括:
失效恢复控制模块,用于在所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份之后,当所述目标控制器恢复正常时,控制所述N个控制器中的每个控制器接收通过所述目标IO组下发的总负载量中的1/N的负载;
第二备份代替控制模块,用于控制所述目标控制器代替所述第一控制器对所述第二控制器中的缓存数据进行备份;
备份数据清空控制模块,用于控制所述第一控制器清空自身的备份数据,并对所述目标控制器中的缓存数据进行备份。
9.一种多控制器的数据备份设备,其特征在于,应用于目标IO组,所述目标IO组包括N个正常工作的控制器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现:目标控制器中的缓存数据由且仅由第一控制器备份,作为所述第一控制器中的备份数据;其中,所述目标控制器为所述N个控制器中的任意一个控制器;第二控制器中的缓存数据由且仅由所述目标控制器备份,作为所述目标控制器中的备份数据;当所述目标控制器失效时,所述第一控制器获得所述目标控制器中的缓存数据以及所述目标控制器中的备份数据;所述第一控制器代替所述目标控制器对所述第二控制器中的缓存数据进行备份。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有控制器缓存循环备份程序,所述控制器缓存循环备份程序被处理器执行时实现如权利要求1至5任一项所述多控制器的数据备份方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710912366.XA CN107704343A (zh) | 2017-09-29 | 2017-09-29 | 一种多控制器的数据备份方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710912366.XA CN107704343A (zh) | 2017-09-29 | 2017-09-29 | 一种多控制器的数据备份方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107704343A true CN107704343A (zh) | 2018-02-16 |
Family
ID=61175916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710912366.XA Pending CN107704343A (zh) | 2017-09-29 | 2017-09-29 | 一种多控制器的数据备份方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107704343A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881424A (zh) * | 2018-06-07 | 2018-11-23 | 上海海得自动化控制软件有限公司 | 数据的交互存储/获取方法/系统、可读存储介质及终端 |
CN109298837A (zh) * | 2018-09-13 | 2019-02-01 | 郑州云海信息技术有限公司 | 一种多控制器缓存备份方法、装置、设备及可读存储介质 |
CN110069330A (zh) * | 2019-04-23 | 2019-07-30 | 苏州浪潮智能科技有限公司 | 一种基于系统负载的数据销毁方法、装置以及设备 |
CN110262993A (zh) * | 2019-06-11 | 2019-09-20 | 浙江华创视讯科技有限公司 | 输入信息的读取方法及电路、存储介质、电子装置 |
CN111881067A (zh) * | 2020-07-30 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种内存申请方法、装置、电子设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268032A (zh) * | 2014-09-19 | 2015-01-07 | 浪潮(北京)电子信息产业有限公司 | 一种多控制器的快照处理方法及装置 |
CN106407043A (zh) * | 2016-09-13 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种多控制器缓存备份方法 |
CN106569751A (zh) * | 2016-11-10 | 2017-04-19 | 郑州云海信息技术有限公司 | 一种多控制器缓存镜像方法及系统 |
CN106775472A (zh) * | 2016-12-09 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种控制器缓存方法、存储控制器及多控制器存储系统 |
-
2017
- 2017-09-29 CN CN201710912366.XA patent/CN107704343A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268032A (zh) * | 2014-09-19 | 2015-01-07 | 浪潮(北京)电子信息产业有限公司 | 一种多控制器的快照处理方法及装置 |
CN106407043A (zh) * | 2016-09-13 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种多控制器缓存备份方法 |
CN106569751A (zh) * | 2016-11-10 | 2017-04-19 | 郑州云海信息技术有限公司 | 一种多控制器缓存镜像方法及系统 |
CN106775472A (zh) * | 2016-12-09 | 2017-05-31 | 郑州云海信息技术有限公司 | 一种控制器缓存方法、存储控制器及多控制器存储系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881424A (zh) * | 2018-06-07 | 2018-11-23 | 上海海得自动化控制软件有限公司 | 数据的交互存储/获取方法/系统、可读存储介质及终端 |
CN108881424B (zh) * | 2018-06-07 | 2021-06-25 | 上海海得自动化控制软件有限公司 | 数据的交互存储/获取方法/系统、可读存储介质及终端 |
CN109298837A (zh) * | 2018-09-13 | 2019-02-01 | 郑州云海信息技术有限公司 | 一种多控制器缓存备份方法、装置、设备及可读存储介质 |
CN110069330A (zh) * | 2019-04-23 | 2019-07-30 | 苏州浪潮智能科技有限公司 | 一种基于系统负载的数据销毁方法、装置以及设备 |
CN110069330B (zh) * | 2019-04-23 | 2020-05-29 | 苏州浪潮智能科技有限公司 | 一种基于系统负载的数据销毁方法、装置以及设备 |
CN110262993A (zh) * | 2019-06-11 | 2019-09-20 | 浙江华创视讯科技有限公司 | 输入信息的读取方法及电路、存储介质、电子装置 |
CN111881067A (zh) * | 2020-07-30 | 2020-11-03 | 北京浪潮数据技术有限公司 | 一种内存申请方法、装置、电子设备和介质 |
CN111881067B (zh) * | 2020-07-30 | 2022-07-08 | 北京浪潮数据技术有限公司 | 一种内存申请方法、装置、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704343A (zh) | 一种多控制器的数据备份方法、装置、设备及存储介质 | |
CN104331478B (zh) | 一种自精简存储系统数据一致性管理方法 | |
CN103354923B (zh) | 一种数据重建方法、装置和系统 | |
CN111158587B (zh) | 基于存储池虚拟化管理的分布式存储系统及数据读写方法 | |
US9823876B2 (en) | Nondisruptive device replacement using progressive background copyback operation | |
CN103942112B (zh) | 磁盘容错方法、装置及系统 | |
US8103825B2 (en) | System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair | |
US9575844B2 (en) | Mass storage device and method of operating the same to back up data stored in volatile memory | |
US20120030425A1 (en) | Parity declustered storage device array with partition groups | |
US20080126700A1 (en) | System for optimizing the performance and reliability of a storage controller cache offload circuit | |
US20080109602A1 (en) | Method and apparatus for writing data to a disk array | |
DE112021003061T5 (de) | Ausgleichen von resilienz und leistung durch selektive verwendung von verschlechterten schreibvorgängen und freier kapazität in speichersystemen | |
CN104168323B (zh) | 一种云服务系统及方法 | |
CN104583930B (zh) | 数据迁移的方法、控制器和数据迁移装置 | |
US11150846B2 (en) | Storage system, computer-readable recording medium, and control method for system that reconstructs and distributes data | |
US11144396B1 (en) | Raid reliability with a provisional spare disk | |
WO2014113175A1 (en) | Method and system for mirrored multi-dimensional raid | |
GB2368161A (en) | Method and apparatus for providing battery-backed immediate write back cashe for an arrayof disk drives in a computor system | |
CN104615381B (zh) | 一种视频监控系统的磁盘冗余阵列 | |
CN106445409A (zh) | 一种分布式块存储的数据写入方法及装置 | |
CN102902602A (zh) | 数据热备份的方法、装置及存储系统 | |
CN106775472A (zh) | 一种控制器缓存方法、存储控制器及多控制器存储系统 | |
CN110515542A (zh) | 数据存储方法、装置、计算设备、存储系统及存储介质 | |
CN109408299A (zh) | 三控制器集群的数据处理方法、装置、设备及存储介质 | |
CN109298837A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180216 |
|
RJ01 | Rejection of invention patent application after publication |