CN104699566A - 基于云存储的数据冗余备份方法、系统及存储节点服务器 - Google Patents

基于云存储的数据冗余备份方法、系统及存储节点服务器 Download PDF

Info

Publication number
CN104699566A
CN104699566A CN201310690697.5A CN201310690697A CN104699566A CN 104699566 A CN104699566 A CN 104699566A CN 201310690697 A CN201310690697 A CN 201310690697A CN 104699566 A CN104699566 A CN 104699566A
Authority
CN
China
Prior art keywords
main equipment
data
unit
guid
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.)
Granted
Application number
CN201310690697.5A
Other languages
English (en)
Other versions
CN104699566B (zh
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital 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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201310690697.5A priority Critical patent/CN104699566B/zh
Publication of CN104699566A publication Critical patent/CN104699566A/zh
Application granted granted Critical
Publication of CN104699566B publication Critical patent/CN104699566B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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对应的冗余设备在线,将向主设备写入的数据写入到冗余设备。
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之间的映射关系。
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,在映射关系查找对应的主设备和冗余设备,解除查找出的映射关系。
CN201310690697.5A 2013-12-16 2013-12-16 基于云存储的数据冗余备份方法、系统及存储节点服务器 Active CN104699566B (zh)

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 true CN104699566A (zh) 2015-06-10
CN104699566B 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105490847A (zh) * 2015-12-08 2016-04-13 天津市初志科技有限公司 一种私有云存储系统中节点故障实时检测及处理方法
CN107643961A (zh) * 2017-09-26 2018-01-30 郑州云海信息技术有限公司 普通卷转镜像卷的数据同步方法、系统、装置及存储介质
CN108241551A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种冗余数据库系统
CN113010259A (zh) * 2019-12-20 2021-06-22 上海云轴信息科技有限公司 两节点超融合一体机的存储方法及设备
CN113225375A (zh) * 2021-03-29 2021-08-06 北京城建智控科技有限公司 一种基于分布式的中心车站一体城轨云架构系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153774A1 (en) * 2008-12-12 2010-06-17 Bizcon Solutions Limited Data storage system, method and data storage and backkup system
CN102750196A (zh) * 2011-04-20 2012-10-24 大连兆阳软件科技有限公司 一种用于数据存储和备份系统及方法
CN102968360A (zh) * 2012-11-28 2013-03-13 青岛海信网络科技股份有限公司 具有n+1冗余功能的存储系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100153774A1 (en) * 2008-12-12 2010-06-17 Bizcon Solutions Limited Data storage system, method and data storage and backkup system
CN102750196A (zh) * 2011-04-20 2012-10-24 大连兆阳软件科技有限公司 一种用于数据存储和备份系统及方法
CN102968360A (zh) * 2012-11-28 2013-03-13 青岛海信网络科技股份有限公司 具有n+1冗余功能的存储系统及方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105490847A (zh) * 2015-12-08 2016-04-13 天津市初志科技有限公司 一种私有云存储系统中节点故障实时检测及处理方法
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 上海云轴信息科技有限公司 两节点超融合一体机的存储方法及设备
CN113225375A (zh) * 2021-03-29 2021-08-06 北京城建智控科技有限公司 一种基于分布式的中心车站一体城轨云架构系统
CN113225375B (zh) * 2021-03-29 2022-01-21 北京城建智控科技股份有限公司 一种基于分布式的中心车站一体城轨云架构系统

Also Published As

Publication number Publication date
CN104699566B (zh) 2018-01-19

Similar Documents

Publication Publication Date Title
CN106055431B (zh) 基于快照在线回滚的数据备份与恢复的方法及装置
CN104699566A (zh) 基于云存储的数据冗余备份方法、系统及存储节点服务器
CN103324533B (zh) 分布式数据处理方法、装置及系统
CN102611745B (zh) 文件在线迁移方法、装置和系统
CN106126374B (zh) 数据写入方法、数据读取方法及装置
CN107656695B (zh) 一种数据存储、删除方法、装置及分布式存储系统
CN102368222A (zh) 一种多副本存储系统在线修复的方法
CN103593147A (zh) 一种数据读取的方法及装置
CN106709013A (zh) 数据处理方法及对应装置、数据交互方法及对应装置
CN107111531A (zh) 使用分配图的数据恢复
CN107544869A (zh) 一种数据恢复方法和装置
CN105849688A (zh) 数据写入的方法、装置、设备和存储系统
US9146921B1 (en) Accessing a file system during a file system check
CN108920725A (zh) 一种对象存储的方法及对象存储网关
CN104967807A (zh) 一种缓存方法和装置
US10318196B1 (en) Stateless storage system controller in a direct flash storage system
CN110737389B (zh) 存储数据的方法和装置
CN106095331B (zh) 一种固定大文件内部资源的控制方法
CN103164172B (zh) 数据流存储方法及装置
US11687489B2 (en) Method and system for identifying garbage data, electronic device, and storage medium
CN107864209A (zh) 数据写入的方法、装置及服务器
CN105450679A (zh) 进行数据云存储的方法及系统
CN105045542B (zh) 一种实现快照管理的方法及装置
CN104516988B (zh) 一种文件写入方法和装置
CN109656825B (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