基于云存储的数据冗余备份方法、系统及存储节点服务器的制造方法
【技术领域】
[0001]本发明涉及云存储技术,尤其涉及基于云存储的数据冗余备份方法、系统及存储节点服务器。
【背景技术】
[0002]云存储,是指通过集群应用、网格技术和分布式自有存储文件系统等,将网络中大量的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的存储方案。云存储系统包括存储节点服务器和多个用于进行数据存储的节点设备,存储节点服务器用于对该系统中的各节点设备进行冗余管理和维护。云存储系统中还包括有其他器件,如索引服务器,用于对存储节点服务器存储的信息进行快速检索。
[0003]在云存储中,常涉及数据冗余备份,需要将某些节点设备的数据进行备份到其他节点设备。目前基于云存储的数据冗余备份方案包括:
[0004]向主设备写入数据成功后,由上层应用逻辑来进行冗余控制,具体包括:选择冗余设备,确定进行数据备份的冗余时间、数量以及冗余位置标识,由于采用应用层逻辑,不能一次将数据直接备份到冗余设备,而需要指定冗余位置标识,之后,在冗余时间到来时将数据分多次依次写入冗余设备中与冗余位置标识对应的位置。
[0005]现有方案由应用层实现数据冗余,根据应用层特点,其逻辑比较复杂,需要将应用层操作逐层解析,下发到底层进行实施;并且,现有的应用层实现方案中,在向主设备写入数据成功后才触发冗余备份,不够及时、速度慢。
【发明内容】
[0006]本发明提供了一种基于云存储的数据冗余备份方法,该方法能够实现实时、快速冗余备份,且避免采用上层应用实现的逻辑复杂性。
[0007]本发明提供了一种基于云存储的数据冗余备份系统,该系统能够实现实时、快速冗余备份,且避免采用上层应用实现的逻辑复杂性。
[0008]本发明提供了一种基于云存储的数据冗余备份存储节点服务器,该存储节点服务器能够实现实时、快速冗余备份,且避免采用上层应用实现的逻辑复杂性。
[0009]一种基于云存储的数据冗余备份方法,该方法包括:
[0010]存储节点服务器的冗余驱动单元对写操作命令进行监控;
[0011]冗余驱动单元捕获到向主设备写入数据的写操作命令,获取主设备的全球唯一标识 GUID ;
[0012]冗余驱动单元根据主设备⑶ID,在映射关系中查找出对应的冗余设备⑶ID ;
[0013]冗余驱动单元确定出与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。
[0014]一种基于云存储的数据冗余备份系统,该系统包括存储节点服务器和节点设备,所述存储节点服务器包括冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元;所述节点设备包括主设备和冗余设备;
[0015]所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元;
[0016]所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备GUID,根据主设备GUID,在所述映射关系存储单元的映射关系中查找出对应的冗余设备GUID,确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备;
[0017]所述映射关系存储单元,用于存储主设备⑶ID和冗余设备⑶ID之间的映射关系。
[0018]一种基于云存储的数据冗余备份存储节点服务器,该存储节点服务器包括
[0019]冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元;
[0020]所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元;
[0021]所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备GUID,根据主设备GUID,在所述映射关系存储单元的映射关系中查找出对应的冗余设备GUID,确定出与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备;
[0022]所述映射关系存储单元,用于存储主设备⑶ID和冗余设备⑶ID之间的映射关系。从上述方案可以看出,本发明中,存储节点服务器的冗余驱动单元对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备GUID ;冗余驱动单元根据主设备GUID,在映射关系中查找出对应的冗余设备GUID ;冗余驱动单元确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。本发明由驱动层完成数据冗余,驱动层处于底层,避免了现有技术中采用上层应用实现的逻辑复杂性;并且,由冗余驱动单元对写操作命令进行监控,捕获到向主设备写入数据的写操作命令时,便进行数据备份,避免了现有技术在向主设备写入数据成功后才触发冗余备份,达到了冗余备份的实时、快速。
【附图说明】
[0023]图1为本发明基于云存储的数据冗余备份方法示意性流程图;
[0024]图2为本发明基于云存储的数据冗余备份之初始化处理流程图实例;
[0025]图3为本发明基于云存储的数据冗余备份之数据同步流程图实例;
[0026]图4为本发明基于云存储的数据冗余备份之写操作处理流程图实例;
[0027]图5为本发明基于云存储的数据冗余备份之读操作处理流程图实例;
[0028]图6为本发明基于云存储的数据冗余备份之解除处理流程图实例;
[0029]图7为本发明基于云存储的数据冗余备份系统结构示意图。
【具体实施方式】
[0030]为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
[0031]本发明由驱动层完成数据冗余备份,驱动层处于底层,避免了现有技术中采用上层应用实现的逻辑复杂性;并且,由冗余驱动单元对写操作命令进行监控,捕获到向主设备写入数据的写操作命令时,使冗余备份更加实时、快速。参见图1,为本发明基于云存储的数据冗余备份方法示意性流程图,其包括以下步骤:
[0032]步骤101,存储节点服务器的冗余驱动单元对写操作命令进行监控。
[0033]冗余驱动单元实现存储节点服务器的驱动层功能。
[0034]步骤102,冗余驱动单元捕获到向主设备写入数据的写操作命令,获取主设备的全球唯一标识(GUID, Globally Unique Identifier)。
[0035]每个节点设备有各自的⑶ID。
[0036]步骤103,冗余驱动单元根据主设备⑶ID,在映射关系中查找出对应的冗余设备⑶ID。
[0037]预先地,为主设备选取冗余设备,建立主设备⑶ID和冗余设备⑶ID之间的映射关系;具体如在王设备初始化过程中建立,包括:
[0038]存储节点服务器的初始化应用单元接收来自主设备的初始化指令,为主设备选取冗余设备;
[0039]初始化应用单元将主设备⑶ID和冗余设备⑶ID包含在冗余初始化命令中下发给冗余驱动单元;
[0040]冗余驱动单元建立并存储主设备⑶ID和冗余设备⑶ID之间的映射关系,将主设备初始化为云存储的自有存储结构,自有存储结构包含一致性位图区域、信息区域和数据区域,一致性位图区域用于对没有同步写入冗余设备的数据进行记录,信息区域存储信息块,数据区域存储数据块,信息块和数据块一一对应,每个信息块和数据块用数据编号进行标识。
[0041]步骤104,冗余驱动单元确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。
[0042]在进行数据写入时,为了进一步保证写入到主设备和冗余设备的数据一致,可以先向冗余设备写入数据,成功之后,再向主设备写入数据。
[0043]本发明由驱动层完成数据冗余,驱动层处于底层,其逻辑比较简单,可以直接对节点设备进行监控,且可将数据直接写入节点设备,无需根据冗余位置标识进行多次写入,避免了现有技术中采用上层应用实现的逻辑复杂性;并且,由冗余驱动单元对写操作命令进行监控,捕获到向主设备写入数据的写操作命令时,便进行数据备份,避免了现有技术在向主设备写入数据成功后才触发冗余备份,达到了冗余备份的实时、快速。
[0044]图1的流程中,如果冗余驱动单元确定出与冗余设备GUID对应的冗余设备不在线或晚在线,该方法可采用下述方式进行数据写入:允许向主设备写入数据,并将一致性位图中相应的位图进行未同步标记。
[0045]为了保证主设备和冗余设备上数据的一致性,还可进行下述的同步操作:
[0046]冗余驱动单元对设备上线状态进行监控;
[0047]冗余驱动单元捕获到第一设备上线,获取第一设备GUID,在映射关系中查询出对应的第二⑶ID ;
[0048]冗余驱动单元确定出第二⑶ID对应的第二设备在线,根据第一设备和第二设备中主设备内的一致性位图确定出第一设备和第二设备存储的数据不一致,将第一设备和第二设备设置为同步状态;
[0049]冗余驱动单元获取一致性位