设备在线,根据第一设备和第二设备中主设备内的一致性位图确定出第一设备和第二设备存储的数据不一致; 冗余驱动单元获取一致性位图中标记为未同步的数据块位图,确定与获取的数据块位图对应的数据编号,将数据编号对应的数据块写入第一设备和第二设备中的冗余设备,将相应数据块位图修改为已同步;并获取一致性位图中标记为未同步的信息块位图,确定与获取的信息块位图对应的数据编号,将数据编号对应的信息块写入第一设备和第二设备中的冗余设备,将相应信息块位图修改为已同步。
5.如权利要求4所述的方法,其特征在于,所述冗余驱动单元确定出与冗余设备GUID对应的冗余设备在线之后,该方法还包括:判断主设备和冗余设备是否处于同步状态: 如果处于同步状态,则根据主设备存储的一致性位图判断写操作命令所在块是否标记为已同步,如果不是标记为已同步,则直接向主设备写入数据,如果是标记为已同步,则执行所述将向主设备写入的数据写入到冗余设备的步骤; 如果不处于同步状态,则执行所述将向主设备写入的数据写入到冗余设备。
6.如权利要求4所述的方法,其特征在于,该方法还包括: 冗余驱动单元对读操作命令进行监控; 冗余驱动单元捕获到从设备读取数据的读操作命令,判断进行读操作的设备是主设备还是冗余设备: 如果为主设备,从主设备的相应位置进行数据读取,判断数据读取是否成功:如果读取成功则结束流程;如果读取失败,则从与主设备对应的冗余设备的相应位置读取数据; 如果为冗余设备,则直接读取冗余设备相应位置的数据。
7.如权利要求6所述的方法,其特征在于,从主设备读取数据失败时,该方法还包括:判断主设备与冗余设备是否处于同步状态: 如果不处于同步状态,则执行所述从与主设备对应的冗余设备的相应位置读取数据的步骤; 如果处于同步状态,则根据主设备存储的一致性位图确定读操作命令所在块标记是否为已同步,如果不是标记为已同步,则结束流程,如果是标记为已同步,则执行所述从与主设备对应的冗余设备的相应位置读取数据的步骤。
8.如权利要求1至7中任一项所述的方法,其特征在于,该方法还包括: 存储节点服务器的解除应用单元接收包含主设备GUID和冗余设备GUID的解除冗余设备命令,发送给冗余驱动单元; 冗余驱动单元根据解除冗余设备命令包含的主设备GUID和冗余设备GUID,在映射关系查找对应的主设备和冗余设备,解除查找出的映射关系。
9.一种基于云存储的数据冗余备份系统,其特征在于,该系统包括存储节点服务器和节点设备,所述存储节点服务器包括冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元;所述节点设备包括主设备和冗余设备; 所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元; 所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备GUID,根据主设备GUID,在所述映射关系存储单元的映射关系中查找出对应的冗余设备GUID,确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备; 所述映射关系存储单元,用于存储主设备GUID和冗余设备GUID之间的映射关系。
10.如权利要求9所述的系统,其特征在于,所述存储节点服务器还包括初始化应用单元,所述冗余驱动单元还包括初始化处理子单元; 所述初始化应用单元,接收来自主设备的初始化指令,为主设备选取冗余设备;将主设备GUID和冗余设备GUID包含在冗余初始化命令中下发给所述初始化处理子单元; 所述初始化处理子单元,建立并存储主设备GUID和冗余设备GUID之间的映射关系,将主设备初始化为云存储的自有存储结构,自有存储结构包含一致性位图区域、信息区域和数据区域,一致性位图区域用于对没有同步写入冗余设备的数据进行记录,信息区域存储信息块,数据区域存储数据块,信息块和数据块一一对应,每个信息块和数据块用数据编号进行标识。
11.一种基于云存储的数据冗余备份存储节点服务器,其特征在于,该存储节点服务器包括冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元; 所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元; 所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备GUID,根据主设备GUID,在所述映射关系存储单元的映射关系中查找出对应的冗余设备GUID,确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备; 所述映射关系存储单元,用于存储主设备GUID和冗余设备GUID之间的映射关系。
12.如权利要求11所述的存储节点服务器,其特征在于,所述存储节点服务器还包括初始化应用单元,所述冗余驱动单元还包括初始化处理子单元; 所述初始化应用单元,接收来自主设备的初始化指令,为主设备选取冗余设备;将主设备GUID和冗余设备GUID包含在冗余初始化命令中下发给所述初始化处理子单元; 所述初始化处理子单元,建立并存储主设备GUID和冗余设备GUID之间的映射关系,将主设备初始化为云存储的自有存储结构,自有存储结构包含一致性位图区域、信息区域和数据区域,一致性位图区域用于对没有同步写入冗余设备的数据进行记录,信息区域存储信息块,数据区域存储数据块,信息块和数据块一一对应,每个信息块和数据块用数据编号进行标识。
13.如权利要求12所述的存储节点服务器,其特征在于,所述冗余驱动单元还包括同步子单元,对设备上线状态进行监控,捕获到第一设备上线,获取第一设备GUID,在映射关系中查询出对应的第二 GUID ;确定出第二 GUID对应的第二设备在线,根据第一设备和第二设备中主设备内的一致性位图确定出第一设备和第二设备存储的数据不一致;获取一致性位图中标记为未同步的数据块位图,确定与获取的数据块位图对应的数据编号,将数据编号对应的数据块写入第一设备和第二设备中的冗余设备,将相应数据块位图修改为已同步;并获取一致性位图中标记为未同步的信息块位图,确定与获取的信息块位图对应的数据编号,将数据编号对应的信息块写入第一设备和第二设备中的冗余设备,将相应信息块位图修改为已同步。
14.如权利要求13所述的存储节点服务器,其特征在于,所述写操作处理子单元,确定出与冗余设备GUID对应的冗余设备在线之后,还判断主设备和冗余设备是否处于同步状态:如果处于同步状态,则根据主设备存储的一致性位图判断写操作命令所在块是否标记为已同步,如果不是标记为已同步,则直接向主设备写入数据,如果是标记为已同步,则执行所述将向主设备写入的数据写入到冗余设备;如果不处于同步状态,则执行所述将向主设备写入的数据写入到冗余设备。
15.如权利要求13所述的存储节点服务器,其特征在于,所述冗余驱动单元还包括读操作处理子单元;所述操作命令监控子单元,对读操作命令进行监控,捕获到从设备读取数据的读操作命令,获取设备的GUID,将写操作命令和设备GUID发送给所述读操作处理子单元; 所述读操作处理子单元,判断进行读操作的设备是主设备还是冗余设备:如果为主设备,从主设备的相应位置进行数据读取,判断数据读取是否成功,如果读取失败,则从与主设备对应的冗余设备的相应位置读取数据;如果为冗余设备,则直接读取冗余设备相应位置的数据。
16.如权利要求15所述的存储节点服务器,其特征在于,所述读操作处理子单元,从主设备读取数据失败时,还判断主设备与冗余设备是否处于同步状态:如果不处于同步状态,则执行所述从与主设备对应的冗余设备的相应位置读取数据;如果处于同步状态,则根据主设备存储的一致性位图确定读操作命令所在块标记为已同步,执行所述从与主设备对应的冗余设备的相应位置读取数据。
17.如权利要求11至16中任一项所述的存储节点服务器,其特征在于,所述存储节点服务器还包括解除应用单元,所述冗余驱动单元还包括解除处理子单元; 所述解除应用单元,接收包含主设备GUID和冗余设备GUID的解除冗余设备命令,发送给所述解除处理子单元; 所述解除处理子单元,根据解除冗余设备命令包含的主设备GUID和冗余设备GUID,在映射关系查找对应的主设备和冗余设备,解除查找出的映射关系。
【专利摘要】本发明公开了基于云存储的数据冗余备份方法、系统及存储节点服务器,其中,该方法包括:存储节点服务器的冗余驱动单元对写操作命令进行监控;冗余驱动单元捕获到向主设备写入数据的写操作命令,获取主设备的全球唯一标识GUID;冗余驱动单元根据主设备GUID,在映射关系中查找出对应的冗余设备GUID;冗余驱动单元确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。本发明方案能够实现实时、快速冗余备份,且避免采用上层应用实现的逻辑复杂性。
【IPC分类】G06F11-14
【公开号】CN104699566
【申请号】CN201310690697
【发明人】林鹏, 闫春, 汪渭春, 陈翟翟
【申请人】杭州海康威视数字技术股份有限公司
【公开日】2015年6月10日
【申请日】2013年12月16日