CN104699566B - 基于云存储的数据冗余备份方法、系统及存储节点服务器 - Google Patents
基于云存储的数据冗余备份方法、系统及存储节点服务器 Download PDFInfo
- Publication number
- CN104699566B CN104699566B CN201310690697.5A CN201310690697A CN104699566B CN 104699566 B CN104699566 B CN 104699566B CN 201310690697 A CN201310690697 A CN 201310690697A CN 104699566 B CN104699566 B CN 104699566B
- Authority
- CN
- China
- Prior art keywords
- data
- main equipment
- guid
- unit
- equipment
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了基于云存储的数据冗余备份方法、系统及存储节点服务器,其中,该方法包括:存储节点服务器的冗余驱动单元对写操作命令进行监控;冗余驱动单元捕获到向主设备写入数据的写操作命令,获取主设备的全球唯一标识GUID;冗余驱动单元根据主设备GUID,在映射关系中查找出对应的冗余设备GUID;冗余驱动单元确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。本发明方案能够实现实时、快速冗余备份,且避免采用上层应用实现的逻辑复杂性。
Description
技术领域
本发明涉及云存储技术,尤其涉及基于云存储的数据冗余备份方法、系统及存储节点服务器。
背景技术
云存储,是指通过集群应用、网格技术和分布式自有存储文件系统等,将网络中大量的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的存储方案。云存储系统包括存储节点服务器和多个用于进行数据存储的节点设备,存储节点服务器用于对该系统中的各节点设备进行冗余管理和维护。云存储系统中还包括有其他器件,如索引服务器,用于对存储节点服务器存储的信息进行快速检索。
在云存储中,常涉及数据冗余备份,需要将某些节点设备的数据进行备份到其他节点设备。目前基于云存储的数据冗余备份方案包括:
向主设备写入数据成功后,由上层应用逻辑来进行冗余控制,具体包括:选择冗余设备,确定进行数据备份的冗余时间、数量以及冗余位置标识,由于采用应用层逻辑,不能一次将数据直接备份到冗余设备,而需要指定冗余位置标识,之后,在冗余时间到来时将数据分多次依次写入冗余设备中与冗余位置标识对应的位置。
现有方案由应用层实现数据冗余,根据应用层特点,其逻辑比较复杂,需要将应用层操作逐层解析,下发到底层进行实施;并且,现有的应用层实现方案中,在向主设备写入数据成功后才触发冗余备份,不够及时、速度慢。
发明内容
本发明提供了一种基于云存储的数据冗余备份方法,该方法能够实现实时、快速冗余备份,且避免采用上层应用实现的逻辑复杂性。
本发明提供了一种基于云存储的数据冗余备份系统,该系统能够实现实时、快速冗余备份,且避免采用上层应用实现的逻辑复杂性。
本发明提供了一种基于云存储的数据冗余备份存储节点服务器,该存储节点服务器能够实现实时、快速冗余备份,且避免采用上层应用实现的逻辑复杂性。
一种基于云存储的数据冗余备份方法,该方法包括:
存储节点服务器的冗余驱动单元对写操作命令进行监控;
冗余驱动单元捕获到向主设备写入数据的写操作命令,获取主设备的全球唯一标识GUID;
冗余驱动单元根据主设备GUID,在映射关系中查找出对应的冗余设备GUID;
冗余驱动单元确定出与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。
一种基于云存储的数据冗余备份系统,该系统包括存储节点服务器和节点设备,所述存储节点服务器包括冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元;所述节点设备包括主设备和冗余设备;
所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元;
所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备GUID,根据主设备GUID,在所述映射关系存储单元的映射关系中查找出对应的冗余设备GUID,确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备;
所述映射关系存储单元,用于存储主设备GUID和冗余设备GUID之间的映射关系。
一种基于云存储的数据冗余备份存储节点服务器,该存储节点服务器包括
冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元;
所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元;
所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备GUID,根据主设备GUID,在所述映射关系存储单元的映射关系中查找出对应的冗余设备GUID,确定出与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备;
所述映射关系存储单元,用于存储主设备GUID和冗余设备GUID之间的映射关系。从上述方案可以看出,本发明中,存储节点服务器的冗余驱动单元对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备GUID;冗余驱动单元根据主设备GUID,在映射关系中查找出对应的冗余设备GUID;冗余驱动单元确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。本发明由驱动层完成数据冗余,驱动层处于底层,避免了现有技术中采用上层应用实现的逻辑复杂性;并且,由冗余驱动单元对写操作命令进行监控,捕获到向主设备写入数据的写操作命令时,便进行数据备份,避免了现有技术在向主设备写入数据成功后才触发冗余备份,达到了冗余备份的实时、快速。
附图说明
图1为本发明基于云存储的数据冗余备份方法示意性流程图;
图2为本发明基于云存储的数据冗余备份之初始化处理流程图实例;
图3为本发明基于云存储的数据冗余备份之数据同步流程图实例;
图4为本发明基于云存储的数据冗余备份之写操作处理流程图实例;
图5为本发明基于云存储的数据冗余备份之读操作处理流程图实例;
图6为本发明基于云存储的数据冗余备份之解除处理流程图实例;
图7为本发明基于云存储的数据冗余备份系统结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明由驱动层完成数据冗余备份,驱动层处于底层,避免了现有技术中采用上层应用实现的逻辑复杂性;并且,由冗余驱动单元对写操作命令进行监控,捕获到向主设备写入数据的写操作命令时,使冗余备份更加实时、快速。参见图1,为本发明基于云存储的数据冗余备份方法示意性流程图,其包括以下步骤:
步骤101,存储节点服务器的冗余驱动单元对写操作命令进行监控。
冗余驱动单元实现存储节点服务器的驱动层功能。
步骤102,冗余驱动单元捕获到向主设备写入数据的写操作命令,获取主设备的全球唯一标识(GUID,Globally Unique Identifier)。
每个节点设备有各自的GUID。
步骤103,冗余驱动单元根据主设备GUID,在映射关系中查找出对应的冗余设备GUID。
预先地,为主设备选取冗余设备,建立主设备GUID和冗余设备GUID之间的映射关系;具体如在主设备初始化过程中建立,包括:
存储节点服务器的初始化应用单元接收来自主设备的初始化指令,为主设备选取冗余设备;
初始化应用单元将主设备GUID和冗余设备GUID包含在冗余初始化命令中下发给冗余驱动单元;
冗余驱动单元建立并存储主设备GUID和冗余设备GUID之间的映射关系,将主设备初始化为云存储的自有存储结构,自有存储结构包含一致性位图区域、信息区域和数据区域,一致性位图区域用于对没有同步写入冗余设备的数据进行记录,信息区域存储信息块,数据区域存储数据块,信息块和数据块一一对应,每个信息块和数据块用数据编号进行标识。
步骤104,冗余驱动单元确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。
在进行数据写入时,为了进一步保证写入到主设备和冗余设备的数据一致,可以先向冗余设备写入数据,成功之后,再向主设备写入数据。
本发明由驱动层完成数据冗余,驱动层处于底层,其逻辑比较简单,可以直接对节点设备进行监控,且可将数据直接写入节点设备,无需根据冗余位置标识进行多次写入,避免了现有技术中采用上层应用实现的逻辑复杂性;并且,由冗余驱动单元对写操作命令进行监控,捕获到向主设备写入数据的写操作命令时,便进行数据备份,避免了现有技术在向主设备写入数据成功后才触发冗余备份,达到了冗余备份的实时、快速。
图1的流程中,如果冗余驱动单元确定出与冗余设备GUID对应的冗余设备不在线或晚在线,该方法可采用下述方式进行数据写入:允许向主设备写入数据,并将一致性位图中相应的位图进行未同步标记。
为了保证主设备和冗余设备上数据的一致性,还可进行下述的同步操作:
冗余驱动单元对设备上线状态进行监控;
冗余驱动单元捕获到第一设备上线,获取第一设备GUID,在映射关系中查询出对应的第二GUID;
冗余驱动单元确定出第二GUID对应的第二设备在线,根据第一设备和第二设备中主设备内的一致性位图确定出第一设备和第二设备存储的数据不一致,将第一设备和第二设备设置为同步状态;
冗余驱动单元获取一致性位图中标记为未同步的数据块位图,确定与获取的数据块位图对应的数据编号,将数据编号对应的数据块写入第一设备和第二设备中的冗余设备,将相应数据块位图修改为已同步;并获取一致性位图中标记为未同步的信息块位图,确定与获取的信息块位图对应的数据编号,将数据编号对应的信息块写入第一设备和第二设备中的冗余设备,将相应信息块位图修改为已同步。
图1流程步骤104中,所述冗余驱动单元确定出与冗余设备GUID对应的冗余设备在线之后,该方法还可以进一步包括:判断主设备和冗余设备是否处于同步状态:
如果处于同步状态,则根据主设备存储的一致性位图判断写操作命令所在块是否标记为已同步,如果不是标记为已同步,则直接向主设备写入数据完成写操作,如果是,则执行所述将向主设备写入的数据写入到冗余设备的步骤;
如果不处于同步状态,则执行所述将向主设备写入的数据写入到冗余设备。
本发明中,还可以进一步包括数据读取操作,具体地:
冗余驱动单元对读操作命令进行监控;
冗余驱动单元捕获到从设备读取数据的读操作命令,判断进行读操作的设备是主设备还是冗余设备:
如果为主设备,从主设备的相应位置进行数据读取,判断数据读取是否成功:如果读取成功则结束流程;如果读取失败,则从与主设备对应的冗余设备的相应位置读取数据;
如果为冗余设备,则直接读取冗余设备相应位置的数据。
上述数据读取流程中,从主设备读取数据失败时,该方法还可以进一步包括:判断主设备与冗余设备是否处于同步状态:
如果不处于同步状态,则执行所述从与主设备对应的冗余设备的相应位置读取数据的步骤;
如果处于同步状态,则根据主设备存储的一致性位图确定读操作命令所在块标记是否为已同步,如果不是标记为已同步,则结束流程,如果是标记为已同步,则执行所述从与主设备对应的冗余设备的相应位置读取数据的步骤。
本发明中,还可以进一步包括映射关系解除操作,具体地:
存储节点服务器的解除应用单元接收包含的主设备GUID和冗余设备GUID的解除冗余设备命令,发送给冗余驱动单元;
冗余驱动单元根据解除冗余设备命令包含主设备GUID和冗余设备GUID,在映射关系查找对应的主设备和冗余设备,解除查找出的映射关系。
下面通过图2-6,对本发明基于云存储的数据冗余备份方法进行详细说明。
参见图2,为本发明基于云存储的数据冗余备份之初始化处理流程图实例,其包括以下步骤:
步骤201,存储节点服务器的初始化应用单元接收来自主设备的初始化指令,为主设备选取冗余设备。
步骤202,初始化应用单元将主设备GUID和冗余设备GUID包含在冗余初始化命令中下发给冗余驱动单元。
进一步地,还可将主设备GUID写入冗余设备中的约定位置,将冗余设备GUID写入主设备中的约定位置。
步骤203,冗余驱动单元将主设备和冗余设备的设备状态设置为正在初始化状态,冗余驱动单元建立并存储主设备GUID和冗余设备GUID之间的映射关系,将主设备初始化为云存储的自有存储结构。
自有存储结构可根据需要设置,例如包含一致性位图区域、信息区域和数据区域,一致性位图区域用于对没有同步写入冗余设备的数据进行记录,信息区域存储信息块,数据区域存储数据块,信息块和数据块一一对应,每个信息块和数据块用数据编号进行标识。自有存储结构还可以包含控制信息区域,可用于存储冗余设备GUID。下面对自有存储结构的各部分进行详细说明。
一致性位图区域:此区域包含信息块位图区域和数据块位图区域两部分,两部分位图区域所占的大小相同,每部分位图所占区域大小的计算方式例如为:如果((信息块数量/8)%信息块大小)的值为0,则计算大小的公式为(信息块数量/8);如果((信息块数量/8)%信息块大小)的值不为0,则计算大小的公式为((信息块数量/8)+(信息块大小–(信息块数量/8)%信息块大小))。“%”为求余数符号,所述信息块数量为信息区域能够存储的信息块的数量,所述信息块大小为信息区域存储的每个信息块的大小。
一致性位图区域主要是为了记录冗余设备不在线或比主设备晚上线时,向主设备写数据时信息块和数据块的数据改变,当冗余设备上线后,通过一致性位图区域来进行一致性同步。
信息区域:此区域是由所有的信息块组成的,是一片连续的区域,每个信息块都有对应的编号,信息块和数据块是一一对应的关系,信息块主要存储数据块中数据的相关索引信息,例如相应数据块的内容介绍、地址等信息。
数据区域:此区域是由所有的数据块组成的,是一片连续的区域,每个数据块和信息块是一一对应的且有相同的编号,便于寻址访问。
控制信息区域:该区域可用于存储控制信息,控制信息包括存储设备初始化标志、初始化参数、其他三个区域的起始位置、设备冗余信息和校验信息;设备冗余信息可具体包括本设备GUID以及对应的冗余设备GUID。控制信息位于设备的头部,可通过设备的前512个字节中的信息来确定其他三个区域的大小。
进一步地,本步骤中,还可以将冗余设备也初始化为云存储的自有存储结构,也可以包含控制信息区域、一致性位图区域、信息区域和数据区域,冗余设备中的一致性位图区域为空。
步骤204,冗余驱动将设备状态置为正常状态,并返回初始化完成结果,开始提供数据冗余备份服务。
参见图3,为本发明基于云存储的数据冗余备份之数据同步流程图实例,其包括以下步骤:
步骤301,冗余驱动单元发现主设备和冗余设备数据不一致,生成一致性任务。
本步骤可具体采用如下方式实现:冗余驱动单元对设备上线状态进行监控,捕获到第一设备上线,获取第一设备GUID,在映射关系中查询出对应的第二GUID;冗余驱动单元确定出第二GUID对应的第二设备在线,根据第一设备和第二设备中主设备内的一致性位图确定出第一设备和第二设备存储的数据不一致;生成一致性任务,加入任务列表中。
如果第一设备为主设备,则第二设备为冗余设备;如果第二设备为主设备,则第一设备为冗余设备。
步骤302,冗余驱动单元执行一致性任务,将一致性任务中的主设备和冗余设备的设备状态均置为同步状态。
步骤303,冗余驱动单元将处于同步状态的设备的读写操作命令缓存到一个临时链表中。
缓存到临时链表中的读操作命令和写操作命令,暂时不执行。
步骤304,冗余驱动单元获取一致性位图中标记为未同步的数据块位图,确定与获取的数据块位图对应的数据编号,将数据编号对应的数据块写入第一设备和第二设备中的冗余设备,将相应数据块位图修改为已同步;并获取一致性位图中标记为未同步的信息块位图,确定与获取的信息块位图对应的数据编号,将数据编号对应的信息块写入第一设备和第二设备中的冗余设备,将相应信息块位图修改为已同步;执行完每一个块的同步之后,取出步骤303中临时链表中的读写操作命令并执行;依此类推完成标记为未同步的所有数据块和信息块的同步。
本实例中,标记为未同步的位图,即标记为“1”位图,表明该位图指示的块未进行同步,也就是只在主设备相应位置写入了数据,没有同步在冗余设备的相应位置写入数据;每个位图对应一个数据编号,确定标记为“1”的位图后,确定这些位图对应的数据编号,将数据编号对应的块块写入冗余设备的相应位置;将相应的位图修改为已同步,本实例中,也就是,将相应位图标记为“0”。
关于读写操作命令的执行,参见图4和图5的流程实例。
步骤305,将主设备和冗余设备的设备状态置为正常状态。
采用图3的流程,便可完成主设备和冗余设备的自动同步。
参见图4,为本发明基于云存储的数据冗余备份之写操作处理流程图实例,其包括以下步骤:
步骤401,用户向主设备写入数据。
步骤402,冗余驱动单元捕获写操作命令。
步骤403,冗余驱动单元判断是否是向主设备写入数据,如果不是,则直接返回失败,如果是,则执行步骤404。
步骤404,冗余驱动单元获取主设备的GUID,根据主设备GUID,在映射关系中查找出对应的冗余设备GUID;判断冗余设备是否在线,如果不在线,则执行步骤409;如果冗余设备在线,则执行步骤405。
步骤409,冗余驱动单元向主设备写数据,在一致性位图中将相应位图记录为未同步。
在主设备的一致性位图中进行记录后,冗余设备上线冗余驱动便可自动完成数据同步。
步骤405,冗余驱动单元判断主设备和冗余设备是否处于同步状态,如果处于同步状态,则执行步骤406;否则执行步骤408。
步骤406,冗余驱动单元根据主设备的一致性位图判断写操作命令所在块是否标记为已同步,如果不是,则执行步骤408,否则执行步骤407。
步骤407,向冗余设备相应位置写入数据,如果写入数据成功,则执行步骤408。
写操作命令中包含有写入数据的位置,写入时,在相应位置写入数据。
步骤408,向主设备相应位置写入数据,完成写操作。
参见图5,为本发明基于云存储的数据冗余备份之读操作处理流程图实例,其包括以下步骤:
步骤501,用户请求进行数据读取。
步骤502,冗余驱动单元捕获到读操作命令。
步骤503,冗余驱动单元判断读取的设备是否为主设备,如果是,则执行步骤504,否则执行步骤507。
步骤504,允许从主设备进行数据读取,判断数据读取是否成功:如果读取成功则结束流程;如果读取失败,则执行步骤505。
步骤505,冗余驱动单元判断主设备与冗余设备是否处于同步状态,如果是,则执行步骤506,否则执行步骤507。
步骤506,冗余驱动单元根据主设备存储的一致性位图确定读操作命令所在块标记是否为已同步,如果不是,则结束流程,如果是,则执行步骤507。
如果主设备存储的一致性位图确定读操作命令所在块标记为已同步,表明主设备和冗余设备的数据一致。
步骤507,读取冗余设备相应位置的数据。
完成读数据请求。
参见图6,为本发明基于云存储的数据冗余备份之解除处理流程图实例,其包括以下步骤:
步骤601,存储节点服务器的解除应用单元接收包含主设备GUID和冗余设备GUID的解除冗余设备命令。
解除应用单元位于应用层,用户通过应用层输入解除冗余设备命令。
步骤602,解除应用单元向冗余驱动单元下发解除冗余设备命令,该命令中包含主设备GUID和冗余设备GUID以便匹配到正确的设备。
步骤603,冗余驱动单元通过GUID找到对应的设备,将设备状态置为解除冗余状态,同时将映射关系从驱动中解除,并将设备中控制信息区域的关联信息清除。
步骤604,冗余驱动单元将设备状态置为正常状态,完成冗余设备解除。
采用本发明方案,实现真正的设备级的实时冗余,保证在主设备数据写成功时已将数据实时冗余到指定的冗余设备,避免了上层应用的复杂的冗余逻辑;并且,对冗余设备实时写保护,只有在向主设备写数据时才能够由冗余驱动单元自动的向冗余设备写数据,其他任何不是由冗余驱动单元向冗余设备写数据的写操作都会被冗余驱动单元拒绝,以保证冗余设备与主设备有效数据的一致性;不仅如此,在主设备和冗余设备数据同步的过程中,仍然可以继续读写任意数据而不受同步的影响。
参见图7,为本发明基于云存储的数据冗余备份系统结构示意图,该系统包括存储节点服务器和节点设备,所述存储节点服务器包括冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元;所述节点设备包括主设备和冗余设备;
所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元;
所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备GUID,根据主设备GUID,在所述映射关系存储单元的映射关系中查找出对应的冗余设备GUID,确定出与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备;
所述映射关系存储单元,用于存储主设备GUID和冗余设备GUID之间的映射关系。
较佳地,所述存储节点服务器还包括初始化应用单元,所述冗余驱动单元还包括初始化处理子单元;
所述初始化应用单元,接收来自主设备的初始化指令,为主设备选取冗余设备;将主设备GUID和冗余设备GUID包含在冗余初始化命令中下发给所述初始化处理子单元;
所述初始化处理子单元,建立并存储主设备GUID和冗余设备GUID之间的映射关系,将主设备初始化为云存储的自有存储结构,自有存储结构包含一致性位图区域、信息区域和数据区域,一致性位图区域用于对没有同步写入冗余设备的数据进行记录,信息区域存储信息块,数据区域存储数据块,信息块和数据块一一对应,每个信息块和数据块用数据编号进行标识。
较佳地,所述冗余驱动单元还包括同步子单元,对设备上线状态进行监控,捕获到第一设备上线,获取第一设备GUID,在映射关系中查询出对应的第二GUID;确定出第二GUID对应的第二设备在线,根据第一设备和第二设备中主设备内的一致性位图确定出第一设备和第二设备存储的数据不一致;获取一致性位图中标记为未同步的数据块位图,确定与获取的数据块位图对应的数据编号,将数据编号对应的数据块写入第一设备和第二设备中的冗余设备,将相应数据块位图修改为已同步;并获取一致性位图中标记为未同步的信息块位图,确定与获取的信息块位图对应的数据编号,将数据编号对应的信息块写入第一设备和第二设备中的冗余设备,将相应信息块位图修改为已同步。。
较佳地,所述写操作处理子单元,确定出与冗余设备GUID对应的冗余设备在线之后,还判断主设备和冗余设备是否处于同步状态:如果处于同步状态,则根据主设备存储的一致性位图判断写操作命令所在块是否标记为已同步,如果不是标记为已同步,则直接向主设备写入数据,如果是标记为已同步,则执行所述将向主设备写入的数据写入到冗余设备;如果不处于同步状态,则执行所述将向主设备写入的数据写入到冗余设备。
较佳地,所述冗余驱动单元还包括读操作处理子单元;所述操作命令监控子单元,对读操作命令进行监控,捕获到从设备读取数据的读操作命令,获取设备的GUID,将写操作命令和设备GUID发送给所述读操作处理子单元;
所述读操作处理子单元,判断进行读操作的设备是主设备还是冗余设备:如果为主设备,从主设备的相应位置进行数据读取,判断数据读取是否成功,如果读取失败,则从与主设备对应的冗余设备的相应位置读取数据;如果为冗余设备,则直接读取冗余设备相应位置的数据。
较佳地,所述读操作处理子单元,从主设备读取数据失败时,还判断主设备与冗余设备是否处于同步状态:如果不处于同步状态,则执行所述从与主设备对应的冗余设备的相应位置读取数据;如果处于同步状态,则根据主设备存储的一致性位图确定读操作命令所在块标记为已同步,如果不是标记为已同步,则结束流程,如果是标记为已同步,则执行所述从与主设备对应的冗余设备的相应位置读取数据。
较佳地,所述存储节点服务器还包括解除应用单元,所述冗余驱动单元还包括解除处理子单元;
所述解除应用单元,收包含的主设备GUID和冗余设备GUID的解除冗余设备命令,发送给所述解除处理子单元;
所述解除处理子单元,根据解除冗余设备命令包含主设备GUID和冗余设备GUID,在映射关系查找对应的主设备和冗余设备,解除查找出的映射关系。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (17)
1.一种基于云存储的数据冗余备份方法,其特征在于,该方法包括:
存储节点服务器的冗余驱动单元对写操作命令进行监控;
冗余驱动单元捕获到向主设备写入数据的写操作命令,获取主设备的全球唯一标识GUID;
冗余驱动单元根据主设备GUID,在预先建立的主设备GUID和冗余设备GUID之间的映射关系中查找出对应的冗余设备GUID;
冗余驱动单元确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。
2.如权利要求1所述的方法,其特征在于,所述冗余驱动单元对写操作命令进行监控之前,该方法还包括:
存储节点服务器的初始化应用单元接收来自主设备的初始化指令,为主设备选取冗余设备;
初始化应用单元将主设备GUID和冗余设备GUID包含在冗余初始化命令中下发给冗余驱动单元;
冗余驱动单元建立并存储主设备GUID和冗余设备GUID之间的映射关系,将主设备初始化为云存储的自有存储结构,自有存储结构包含一致性位图区域、信息区域和数据区域,一致性位图区域用于对没有同步写入冗余设备的数据进行记录,信息区域存储信息块,数据区域存储数据块,信息块和数据块一一对应,每个信息块和数据块用数据编号进行标识。
3.如权利要求2所述的方法,其特征在于,冗余驱动单元确定与冗余设备GUID对应的冗余设备不在线时,该方法还包括:向主设备写入数据,并将主设备的一致性位图中的相应位图标记为未同步。
4.如权利要求3所述的方法,其特征在于,该方法还包括:
冗余驱动单元对设备上线状态进行监控;
冗余驱动单元捕获到第一设备上线,获取第一设备GUID,在映射关系中查询出对应的第二GUID;
冗余驱动单元确定出第二GUID对应的第二设备在线,根据第一设备和第二设备中主设备内的一致性位图确定出第一设备和第二设备存储的数据不一致;
冗余驱动单元获取一致性位图中标记为未同步的数据块位图,确定与获取的数据块位图对应的数据编号,将数据编号对应的数据块写入第一设备和第二设备中的冗余设备,将相应数据块位图修改为已同步;并获取一致性位图中标记为未同步的信息块位图,确定与获取的信息块位图对应的数据编号,将数据编号对应的信息块写入第一设备和第二设备中的冗余设备,将相应信息块位图修改为已同步。
5.如权利要求4所述的方法,其特征在于,所述冗余驱动单元确定出与冗余设备GUID对应的冗余设备在线之后,该方法还包括:判断主设备和冗余设备是否处于同步状态:
如果处于同步状态,则根据主设备存储的一致性位图判断写操作命令所在块是否标记为已同步,如果不是标记为已同步,则直接向主设备写入数据,如果是标记为已同步,则执行所述将向主设备写入的数据写入到冗余设备的步骤;
如果不处于同步状态,则执行所述将向主设备写入的数据写入到冗余设备。
6.如权利要求4所述的方法,其特征在于,该方法还包括:
冗余驱动单元对读操作命令进行监控;
冗余驱动单元捕获到从设备读取数据的读操作命令,判断进行读操作的设备是主设备还是冗余设备:
如果为主设备,从主设备的相应位置进行数据读取,判断数据读取是否成功:如果读取成功则结束流程;如果读取失败,则从与主设备对应的冗余设备的相应位置读取数据;
如果为冗余设备,则直接读取冗余设备相应位置的数据。
7.如权利要求6所述的方法,其特征在于,从主设备读取数据失败时,该方法还包括:判断主设备与冗余设备是否处于同步状态:
如果不处于同步状态,则执行所述从与主设备对应的冗余设备的相应位置读取数据的步骤;
如果处于同步状态,则根据主设备存储的一致性位图确定读操作命令所在块标记是否为已同步,如果不是标记为已同步,则结束流程,如果是标记为已同步,则执行所述从与主设备对应的冗余设备的相应位置读取数据的步骤。
8.如权利要求1至7中任一项所述的方法,其特征在于,该方法还包括:
存储节点服务器的解除应用单元接收包含主设备GUID和冗余设备GUID的解除冗余设备命令,发送给冗余驱动单元;
冗余驱动单元根据解除冗余设备命令包含的主设备GUID和冗余设备GUID,在映射关系查找对应的主设备和冗余设备,解除查找出的映射关系。
9.一种基于云存储的数据冗余备份系统,其特征在于,该系统包括存储节点服务器和节点设备,所述存储节点服务器包括冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元;所述节点设备包括主设备和冗余设备;
所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元;
所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备GUID,根据主设备GUID,在所述映射关系存储单元存储的预先建立的主设备GUID和冗余设备GUID之间的映射关系中查找出对应的冗余设备GUID,确定与冗余设备GUID对应的冗余设备在线,将向主设备写入的数据写入到冗余设备;
所述映射关系存储单元,用于存储所述主设备GUID和冗余设备GUID之间的映射关系。
10.如权利要求9所述的系统,其特征在于,所述存储节点服务器还包括初始化应用单元,所述冗余驱动单元还包括初始化处理子单元;
所述初始化应用单元,接收来自主设备的初始化指令,为主设备选取冗余设备;将主设备GUID和冗余设备GUID包含在冗余初始化命令中下发给所述初始化处理子单元;
所述初始化处理子单元,建立并存储主设备GUID和冗余设备GUID之间的映射关系,将主设备初始化为云存储的自有存储结构,自有存储结构包含一致性位图区域、信息区域和数据区域,一致性位图区域用于对没有同步写入冗余设备的数据进行记录,信息区域存储信息块,数据区域存储数据块,信息块和数据块一一对应,每个信息块和数据块用数据编号进行标识。
11.一种基于云存储的数据冗余备份存储节点服务器,其特征在于,该存储节点服务器包括冗余驱动单元和映射关系存储单元,所述冗余驱动单元包括操作命令监控子单元和写操作处理子单元;
所述操作命令监控子单元,对写操作命令进行监控,捕获到向主设备写入数据的写操作命令,获取主设备的GUID,将写操作命令和主设备GUID发送给所述写操作处理子单元;
所述写操作处理子单元,接收来自所述操作命令监控子单元的写操作命令和主设备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,在映射关系查找对应的主设备和冗余设备,解除查找出的映射关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310690697.5A CN104699566B (zh) | 2013-12-16 | 2013-12-16 | 基于云存储的数据冗余备份方法、系统及存储节点服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310690697.5A CN104699566B (zh) | 2013-12-16 | 2013-12-16 | 基于云存储的数据冗余备份方法、系统及存储节点服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699566A CN104699566A (zh) | 2015-06-10 |
CN104699566B true CN104699566B (zh) | 2018-01-19 |
Family
ID=53346727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310690697.5A Active CN104699566B (zh) | 2013-12-16 | 2013-12-16 | 基于云存储的数据冗余备份方法、系统及存储节点服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699566B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490847B (zh) * | 2015-12-08 | 2019-03-29 | 天津市初志科技有限公司 | 一种私有云存储系统中节点故障实时检测及处理方法 |
CN108241551A (zh) * | 2016-12-23 | 2018-07-03 | 航天星图科技(北京)有限公司 | 一种冗余数据库系统 |
CN107643961A (zh) * | 2017-09-26 | 2018-01-30 | 郑州云海信息技术有限公司 | 普通卷转镜像卷的数据同步方法、系统、装置及存储介质 |
CN113010259A (zh) * | 2019-12-20 | 2021-06-22 | 上海云轴信息科技有限公司 | 两节点超融合一体机的存储方法及设备 |
CN113225375B (zh) * | 2021-03-29 | 2022-01-21 | 北京城建智控科技股份有限公司 | 一种基于分布式的中心车站一体城轨云架构系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750196A (zh) * | 2011-04-20 | 2012-10-24 | 大连兆阳软件科技有限公司 | 一种用于数据存储和备份系统及方法 |
CN102968360A (zh) * | 2012-11-28 | 2013-03-13 | 青岛海信网络科技股份有限公司 | 具有n+1冗余功能的存储系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751307A (zh) * | 2008-12-12 | 2010-06-23 | 比兹肯解决方法有限公司 | 数据存储系统、方法以及数据存储和备份系统 |
-
2013
- 2013-12-16 CN CN201310690697.5A patent/CN104699566B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750196A (zh) * | 2011-04-20 | 2012-10-24 | 大连兆阳软件科技有限公司 | 一种用于数据存储和备份系统及方法 |
CN102968360A (zh) * | 2012-11-28 | 2013-03-13 | 青岛海信网络科技股份有限公司 | 具有n+1冗余功能的存储系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104699566A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699566B (zh) | 基于云存储的数据冗余备份方法、系统及存储节点服务器 | |
CN104969168B (zh) | 具有用于分级写入的nvram的持久性存储装置 | |
CN104506619B (zh) | 一种数据备份、恢复方法及其装置、服务器 | |
CN106354544A (zh) | 虚拟机创建方法、系统以及主机 | |
CN103473272B (zh) | 数据处理方法、装置及系统 | |
CN109697133A (zh) | Id生成方法、装置及系统 | |
CN103870362B (zh) | 一种数据恢复方法、装置及备份系统 | |
CN103581216B (zh) | 分片数据存储的方法、设备和系统 | |
CN106487850A (zh) | 一种云环境下获取镜像的方法、装置和系统 | |
CN105849688B (zh) | 数据写入的方法、装置、设备和存储系统 | |
CN104767655B (zh) | 一种模拟结果检测方法及装置 | |
CN106598789A (zh) | 容器服务容灾的方法、装置、生产站点和灾备站点 | |
CN106648939A (zh) | 用于进程间资源共享的方法与设备 | |
CN104021089B (zh) | 快闪存储器控制芯片与存储装置以及快闪存储器控制方法 | |
CN104793981B (zh) | 一种虚拟机集群的在线快照管理方法及装置 | |
CN103559098B (zh) | 智能卡测试号码控制方法、装置及系统 | |
CN107544298A (zh) | 一种摄像头调用方法和装置 | |
CN102170466B (zh) | 一种数据处理方法及系统 | |
US9146921B1 (en) | Accessing a file system during a file system check | |
US9786373B2 (en) | EEPROM backup method and device | |
EP2012476A4 (en) | NODE DEVICE, A MEMORY CONTROL PROGRAM CONTAINING RECORDING MEDIA, AND INFORMATION STORAGE METHOD | |
CN104951481A (zh) | 一种管理数据库连接的方法和装置 | |
CN107070719A (zh) | 一种设备管理方法和装置 | |
CN107092206A (zh) | 具有自动国际电工委员会(iec)地址生成的输入/输出(i/o)绑定 | |
CN103607449A (zh) | 企业内网物理机访问云存储虚拟机的方法、设备和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |