CN115454720B - 基于daos分布式存储系统中数据增量重构系统和方法 - Google Patents

基于daos分布式存储系统中数据增量重构系统和方法 Download PDF

Info

Publication number
CN115454720B
CN115454720B CN202211144644.9A CN202211144644A CN115454720B CN 115454720 B CN115454720 B CN 115454720B CN 202211144644 A CN202211144644 A CN 202211144644A CN 115454720 B CN115454720 B CN 115454720B
Authority
CN
China
Prior art keywords
dkey
restored
recovery
module
restoring
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
Application number
CN202211144644.9A
Other languages
English (en)
Other versions
CN115454720A (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.)
China Electronic System Technology Co ltd
Zhongdian Cloud Computing Technology Co ltd
Original Assignee
China Electronic System Technology Co ltd
Zhongdian Cloud Computing 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 China Electronic System Technology Co ltd, Zhongdian Cloud Computing Technology Co ltd filed Critical China Electronic System Technology Co ltd
Priority to CN202211144644.9A priority Critical patent/CN115454720B/zh
Publication of CN115454720A publication Critical patent/CN115454720A/zh
Application granted granted Critical
Publication of CN115454720B publication Critical patent/CN115454720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及数据重构技术领域,提供基于daos分布式存储系统中数据增量重构系统和方法,本发明的系统由恢复端和权威端组成,其中,恢复端包括:扫描模块,对象遍历模块,对象粒度识别模块,dkey遍历模块,dkey粒度识别模块,rsv比较模块,akey遍历模块,akey粒度识别模块,恢复端数据库,rsv更新模块。根据本发明示例性实施例的基于daos分布式存储系统中数据增量重构系统和方法,通过分级数据恢复机制来提升重构效率,以最短的时间识别出数据需要进行重构的粒度,仅恢复故障期间缺失部分的数据,有效减少重构过程的数据迁移,提升重构流程的效率,降低重构对系统资源的消耗,提高集群的可靠性,以最小的数据恢复代价实现分布式存储系统数据的一致性。

Description

基于daos分布式存储系统中数据增量重构系统和方法
技术领域
本发明涉及数据重构技术领域,尤其涉及基于daos分布式存储系统中数据增量重构系统和方法。
背景技术
在分布式存储系统中,为了提升系统数据的安全性以及保证系统故障的可用性,一般采用数据多冗余的方式。而为了保证数据的多冗余,在集群故障恢复后,就会触发恢复数据的重构流程,以保证各副本之间数据的一致性。在实际应用中,基于开源daos的分布式存储系统的数据重构方式,都是基于对象粒度进行全量重构,重构过程会将缺失的对象恢复到故障节点。
如图1所示,对象(object)元数据按照多版本树的形式存储,一个object可以映射多个dkey,一个dkey可以映射多个akey,akey下的records可以映射数据的多个版本,重构过程中本地恢复端需要去权威端拉取数据以保证节点之间的数据一致性。数据重构的粒度如果只以object为最小单位,则在重构数据迁移中需要将object下多版本的所有数据都拉取到本地恢复端,即使本地对象在故障前已经存在了大量的有效数据,但因为可能存在部分对象在故障期间被修改过,在重构过程中也只能将所有的本地对象先清除掉(即使该对象可能在故障期间并未被修改),这样数据将会完整的从权威端拉取,以保证分布式存储系统节点间的数据一致性。但在上述数据重构完成后保证数据一致性的基本原则下,重构过程本身的效率是极其低下的,每个object的多版本数据都需要从权威端拉取到本地,即使本地object在故障期间只修改了很小一部分的数据甚至根本未曾被修改。这种方式在功能上可以保证数据的一致性恢复并且实现较简单,但在效率上却存在严重缺陷:重构的粒度太大,不够精细化,造成了大量无效数据的迁移,而这些无效数据的迁移不仅会影响重构本身的效率,还会消耗系统的磁盘/网络等资源。
因此,如何提供一种高效率的数据重构方法,成为亟待解决的技术问题。
发明内容
有鉴于此,为了克服现有技术的不足,本发明通过分级数据恢复实现精细化的数据增量重构,提升数据重构的效率以及减少重构对系统资源的消耗。
一方面,本发明提供基于daos分布式存储系统中数据增量重构系统,本发明的系统系统由恢复端和权威端组成,其中,权威端用于供恢复端拉取数据进行恢复,恢复端包括:
扫描模块,用于从权威端获取待恢复对象;
对象遍历模块,用于遍历待恢复对象;
对象粒度识别模块,对待恢复对象进行对象粒度识别,将恢复端不存在的对象拉取至恢复端数据库,将恢复端存在的对象发送至dkey遍历模块;
dkey遍历模块,用于遍历恢复端存在的待恢复对象的所有dkey;
dkey粒度识别模块,对待恢复对象进行dkey粒度识别,将恢复端不存在的dkey拉取至恢复端数据库,将恢复端存在的dkey发送至rsv比较模块;
rsv比较模块,用于判断恢复端存在的dkey是否需要重构恢复,将需要恢复的dkey发送至akey遍历模块;
akey遍历模块,用于遍历需要恢复的dkey的所有akey;
akey粒度识别模块,对待恢复dkey进行akey粒度识别,将恢复端不存在的akey拉取至恢复端数据库,以恢复端存在的akey的records为最小粒度进行数据的增量重构;
恢复端数据库,用于存储从权威端拉取的对象、dkey、akey和records数据;
rsv更新模块,用于在数据在以对象、dkey、akey或records为粒度进行增量重构后将恢复端的rsv更新为重构任务版本。
进一步地,本发明基于daos分布式存储系统中数据增量重构系统的对象粒度识别模块具体用于:将每个待恢复对象的object_id依次与在恢复端数据库中对象的对象树进行匹配,当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配失败,判定恢复端存在所述待恢复对象,当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配成功,判定恢复端不存在所述待恢复对象。
进一步地,本发明基于daos分布式存储系统中数据增量重构系统的dkey粒度识别模块具体用于:将每个待恢复dkey的dkey_id依次与恢复端数据库中dkey的dkey树进行匹配,当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配失败,判定恢复端存在所述待恢复对象,当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配成功,判定恢复端不存在所述待恢复对象。
进一步地,本发明基于daos分布式存储系统中数据增量重构系统的rsv比较模块具体用于:获取恢复端存在的dkey在权威端的rsv,若所述dkey在恢复端的rsv等于权威端的rsv,则判定所述dkey不需要重构恢复,若所述dkey在恢复端的rsv小于权威端的rsv,将所述dkey发送至akey遍历模块。
进一步地,本发明基于daos分布式存储系统中数据增量重构系统的akey粒度识别模块具体用于:对待恢复dkey进行akey粒度识别,包括:将每个待恢复akey的akey_id依次与在恢复端数据库中akey的akey树进行匹配,当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配失败,判定恢复端存在所述待恢复对象,当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配成功,判定恢复端不存在所述待恢复对象。
另一方面,本发明提供基于daos分布式存储系统中数据增量重构方法,包括:
步骤S1:通过扫描模块从权威端获取待恢复对象;
步骤S2:通过对象遍历模块遍历待恢复对象,通过对象粒度识别模块对待恢复对象进行对象粒度识别,将恢复端不存在的对象拉取至恢复端数据库,将恢复端存在的对象发送至dkey遍历模块;
步骤S3:通过dkey遍历模块遍历步骤S2发送的待恢复对象的所有dkey,通过dkey粒度识别模块对待恢复对象进行dkey粒度识别,将恢复端不存在的dkey拉取至恢复端数据库,将恢复端存在的dkey发送至rsv比较模块,通过rsv比较模块判断恢复端存在的dkey是否需要恢复,将需要恢复的dkey发送至akey遍历模块;
步骤S4:通过akey遍历模块遍历步骤S3发送的需要恢复的dkey的所有akey,通过akey粒度识别模块对待恢复dkey进行akey粒度识别,将恢复端不存在的akey拉取至恢复端数据库,以恢复端存在的akey的records为最小粒度进行数据的增量重构。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法的步骤S2中,通过对象粒度识别模块对待恢复的对象进行对象粒度识别,包括:将每个待恢复对象的object_id依次与在恢复端数据库中对象的对象树进行匹配,根据匹配结果判定待恢复对象是否存在于恢复端。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法中,根据匹配结果判定待恢复对象是否存在于恢复端,包括:
当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配成功,判定恢复端不存在所述待恢复对象。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法的步骤S3中,通过dkey粒度识别模块对待恢复对象进行dkey粒度识别,包括:将每个待恢复dkey的dkey_id依次与恢复端数据库中dkey的dkey树进行匹配,根据匹配结果判定待恢复dkey是否存在于恢复端。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法中,根据匹配结果判定待恢复dkey是否存在于恢复端,包括:
当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配成功,判定恢复端不存在所述待恢复对象。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法的步骤S3中,通过rsv比较模块判断恢复端存在的dkey是否需要重构恢复,将需要重构恢复的dkey发送至akey遍历模块,包括:获取所述dkey在权威端的rsv,若所述dkey在恢复端的rsv等于权威端的rsv,则判定所述dkey不需要重构恢复,若所述dkey在恢复端的rsv小于权威端的rsv,将所述dkey发送至akey遍历模块。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法的步骤S4中,通过akey粒度识别模块对待恢复dkey进行akey粒度识别,包括:将每个待恢复akey的akey_id依次与在恢复端数据库中akey的akey树进行匹配,根据匹配结果判定待恢复akey是否存在于恢复端。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法中,根据匹配结果判定待恢复akey是否存在于恢复端,包括:
当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配成功,判定恢复端不存在所述待恢复对象。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法的步骤S4中,以恢复端存在的akey的records为最小粒度进行数据的增量重构,包括:将所述akey所属dkey上记录的rsv对应的版本号与恢复端故障恢复时的版本号之间的records所对应的数据段拉取至恢复端数据库。
进一步地,本发明基于daos分布式存储系统中数据增量重构方法的步骤S1至步骤S4中,任一步骤执行结束后,采用rsv更新模块将恢复端的rsv更新为重构任务版本。
本发明基于daos分布式存储系统中数据增量重构系统和方法,具有以下有益效果:
1.通过分级数据恢复机制来提升重构效率,数据重构的粒度不再只基于对象,而是基于对象下各级实际的数据版本差异,可以有效减少重构过程的数据迁移,提升重构流程的效率,降低重构对系统资源的消耗。
2.通过多层次细粒度的重构判断,以最短的时间识别出数据需要进行重构的粒度,并且仅仅恢复故障期间缺失部分的数据,可以快速恢复冗余,提高集群的可靠性。
3.以最小的数据恢复代价实现分布式存储系统数据的一致性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术中daos分布式存储系统多版本存储的某层级b+树示意图。
图2为本发明第一实施例基于daos分布式存储系统中数据增量重构系统的架构图。
图3为本发明第二实施例基于daos分布式存储系统中数据增量重构方法的流程图。
图4为本发明第二实施例基于daos分布式存储系统中数据增量重构方法的执行流程图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
以下各实施例中涉及的名词解释如下:
权威端:daos分布式存储系统中数据可靠完整的节点,未发生任何故障,数据保持完整。
dkey:daos分布式存储系统多版本存储的某层级b+树(位于object的下层)。
akey:daos分布式存储系统多版本存储的某层级b+树(位于dkey的下层)。
records:daos分布式存储系统多版本存储的层级b+树的树节点的最小组成单位。
object_id:对象唯一标识码。
dkey_id:对象下dkey的唯一标识码。
akey_id:dkey下akey的唯一标识码。
rsv:重构稳定版本,即对象上一次数据可靠完整的版本号。
图2为根据本发明示例性第一实施例的基于daos分布式存储系统中数据增量重构系统的架构图,如图2所示,本实施例的系统由恢复端和权威端组成,其中,权威端用于供恢复端拉取数据进行恢复,恢复端包括:
扫描模块,用于从权威端获取待恢复对象;
对象遍历模块,用于遍历待恢复对象;
对象粒度识别模块,对待恢复对象进行对象粒度识别,将恢复端不存在的对象拉取至恢复端数据库,将恢复端存在的对象发送至dkey遍历模块;
dkey遍历模块,用于遍历恢复端存在的待恢复对象的所有dkey;
dkey粒度识别模块,对待恢复对象进行dkey粒度识别,将恢复端不存在的dkey拉取至恢复端数据库,将恢复端存在的dkey发送至rsv比较模块;
rsv比较模块,用于判断恢复端存在的dkey是否需要重构恢复,将需要恢复的dkey发送至akey遍历模块;
akey遍历模块,用于遍历需要恢复的dkey的所有akey;
akey粒度识别模块,对待恢复dkey进行akey粒度识别,将恢复端不存在的akey拉取至恢复端数据库,以恢复端存在的akey的records为最小粒度进行数据的增量重构;
恢复端数据库,用于存储从权威端拉取的对象、dkey、akey和records数据;
rsv更新模块,用于在数据在以对象、dkey、akey或records为粒度进行增量重构后将恢复端的rsv更新为重构任务版本。
本实施例中基于daos分布式存储系统中数据增量重构系统的对象粒度识别模块具体用于:将每个待恢复对象的object_id依次与在恢复端数据库中对象的对象树进行匹配,当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配失败,判定恢复端存在所述待恢复对象,当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配成功,判定恢复端不存在所述待恢复对象。
本实施例中基于daos分布式存储系统中数据增量重构系统的dkey粒度识别模块具体用于:将每个待恢复dkey的dkey_id依次与恢复端数据库中dkey的dkey树进行匹配,当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配失败,判定恢复端存在所述待恢复对象,当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配成功,判定恢复端不存在所述待恢复对象。
本实施例中基于daos分布式存储系统中数据增量重构系统的rsv比较模块具体用于:获取恢复端存在的dkey在权威端的rsv,若所述dkey在恢复端的rsv等于权威端的rsv,则判定所述dkey不需要重构恢复,若所述dkey在恢复端的rsv小于权威端的rsv,将所述dkey发送至akey遍历模块。
本实施例中基于daos分布式存储系统中数据增量重构系统的akey粒度识别模块具体用于:对待恢复dkey进行akey粒度识别,包括:将每个待恢复akey的akey_id依次与在恢复端数据库中akey的akey树进行匹配,当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配失败,判定恢复端存在所述待恢复对象,当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配成功,判定恢复端不存在所述待恢复对象。
图3为根据本发明示例性第二实施例的基于daos分布式存储系统中数据增量重构方法的流程图,图4为根据本发明示例性第二实施例的基于daos分布式存储系统中数据增量重构方法的执行流程图,如图3和图4所示,本实施例的方法,包括:
步骤S1:通过扫描模块从权威端获取待恢复对象;
步骤S2:通过对象遍历模块遍历待恢复对象,通过对象粒度识别模块对待恢复对象进行对象粒度识别,将恢复端不存在的对象拉取至恢复端数据库,将恢复端存在的对象发送至dkey遍历模块;
步骤S3:通过dkey遍历模块遍历步骤S2发送的待恢复对象的所有dkey,通过dkey粒度识别模块对待恢复对象进行dkey粒度识别,将恢复端不存在的dkey拉取至恢复端数据库,将恢复端存在的dkey发送至rsv比较模块,通过rsv比较模块判断恢复端存在的dkey是否需要恢复,将需要恢复的dkey发送至akey遍历模块;
步骤S4:通过akey遍历模块遍历步骤S3发送的需要恢复的dkey的所有akey,通过akey粒度识别模块对待恢复dkey进行akey粒度识别,将恢复端不存在的akey拉取至恢复端数据库,以恢复端存在的akey的records为最小粒度进行数据的增量重构。
在实际应用中,本实施例方法的步骤S1至步骤S4中,任一步骤执行结束后,采用rsv更新模块将恢复端的rsv更新为重构任务版本。
本发明示例性第三实施例提供基于daos分布式存储系统中数据增量重构方法,本实施例是图3和图4所示方法的优选实施例。
本实施例方法的步骤S2中,通过对象粒度识别模块对待恢复的对象进行对象粒度识别,包括:将每个待恢复对象的object_id依次与在恢复端数据库中对象的对象树进行匹配,根据匹配结果判定待恢复对象是否存在于恢复端。
具体的,本实施例方法中根据匹配结果判定待恢复对象是否存在于恢复端,包括:
当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配成功,判定恢复端不存在所述待恢复对象。
本发明示例性第四实施例提供基于daos分布式存储系统中数据增量重构方法,本实施例是图3和图4所示方法的优选实施例。
本实施例方法的步骤S3中,通过dkey粒度识别模块对待恢复对象进行dkey粒度识别,包括:将每个待恢复dkey的dkey_id依次与恢复端数据库中dkey的dkey树进行匹配,根据匹配结果判定待恢复dkey是否存在于恢复端。
具体的,本实施例方法中根据匹配结果判定待恢复dkey是否存在于恢复端,包括:
当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配成功,判定恢复端不存在所述待恢复对象。
本实施例方法的步骤S3中,通过rsv比较模块判断恢复端存在的dkey是否需要重构恢复,将需要重构恢复的dkey发送至akey遍历模块,包括:获取所述dkey在权威端的rsv,若所述dkey在恢复端的rsv等于权威端的rsv,则判定所述dkey不需要重构恢复,若所述dkey在恢复端的rsv小于权威端的rsv,将所述dkey发送至akey遍历模块。
本发明示例性第五实施例提供基于daos分布式存储系统中数据增量重构方法,本实施例是图3和图4所示方法的优选实施例。
本实施例方法的步骤S4中,通过akey粒度识别模块对待恢复dkey进行akey粒度识别,包括:将每个待恢复akey的akey_id依次与在恢复端数据库中akey的akey树进行匹配,根据匹配结果判定待恢复akey是否存在于恢复端。
具体的,本实施例方法中根据匹配结果判定待恢复akey是否存在于恢复端,包括:
当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配成功,判定恢复端不存在所述待恢复对象。
本实施例方法的步骤S4中,以恢复端存在的akey的records为最小粒度进行数据的增量重构,包括:将所述akey所属dkey上记录的rsv对应的版本号与恢复端故障恢复时的版本号之间的records所对应的数据段拉取至恢复端数据库。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (14)

1.基于daos分布式存储系统中数据增量重构系统,其特征在于,所述系统由恢复端和权威端组成,其中,权威端用于供恢复端拉取数据进行恢复,恢复端包括:
扫描模块,用于从权威端获取待恢复对象;
对象遍历模块,用于遍历待恢复对象;
对象粒度识别模块,对待恢复对象进行对象粒度识别,将恢复端不存在的对象拉取至恢复端数据库,将恢复端存在的对象发送至dkey遍历模块;
dkey遍历模块,用于遍历恢复端存在的待恢复对象的所有dkey;
dkey粒度识别模块,对待恢复对象进行dkey粒度识别,将恢复端不存在的dkey拉取至恢复端数据库,将恢复端存在的dkey发送至rsv比较模块;
rsv比较模块,用于判断恢复端存在的dkey是否需要重构恢复,将需要恢复的dkey发送至akey遍历模块;
akey遍历模块,用于遍历需要恢复的dkey的所有akey;
akey粒度识别模块,对待恢复dkey进行akey粒度识别,将恢复端不存在的akey拉取至恢复端数据库,以恢复端存在的akey的records为最小粒度进行数据的增量重构;
恢复端数据库,用于存储从权威端拉取的对象、dkey、akey和records数据;
rsv更新模块,用于在数据在以对象、dkey、akey或records为粒度进行增量重构后将恢复端的rsv更新为重构任务版本;
其中,dkey为daos分布式存储系统多版本存储的位于对象的下层的b+树,akey为daos分布式存储系统多版本存储的位于dkey的下层的b+树,records为daos分布式存储系统多版本存储的层级b+树的树节点的最小组成单位,rsv为对象上一次数据可靠完整的版本号。
2.根据权利要求1所述的基于daos分布式存储系统中数据增量重构系统,其特征在于,对象粒度识别模块具体用于:将每个待恢复对象的object_id依次与在恢复端数据库中对象的对象树进行匹配,当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配失败,判定恢复端存在所述待恢复对象,当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配成功,判定恢复端不存在所述待恢复对象。
3.根据权利要求1所述的基于daos分布式存储系统中数据增量重构系统,其特征在于,dkey粒度识别模块具体用于:将每个待恢复dkey的dkey_id依次与恢复端数据库中dkey的dkey树进行匹配,当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配失败,判定恢复端存在所述待恢复对象,当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配成功,判定恢复端不存在所述待恢复对象。
4.根据权利要求1所述的基于daos分布式存储系统中数据增量重构系统,其特征在于,rsv比较模块具体用于:获取恢复端存在的dkey在权威端的rsv,若所述dkey在恢复端的rsv等于权威端的rsv,则判定所述dkey不需要重构恢复,若所述dkey在恢复端的rsv小于权威端的rsv,将所述dkey发送至akey遍历模块。
5.根据权利要求1所述的基于daos分布式存储系统中数据增量重构系统,其特征在于,akey粒度识别模块具体用于:对待恢复dkey进行akey粒度识别,包括:将每个待恢复akey的akey_id依次与在恢复端数据库中akey的akey树进行匹配,当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配失败,判定恢复端存在所述待恢复对象,当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配成功,判定恢复端不存在所述待恢复对象。
6.基于daos分布式存储系统中数据增量重构方法,其特征在于,所述方法,包括:
步骤S1:通过扫描模块从权威端获取待恢复对象,权威端用于供恢复端拉取数据进行恢复;
步骤S2:通过对象遍历模块遍历待恢复对象,通过对象粒度识别模块对待恢复对象进行对象粒度识别,将恢复端不存在的对象拉取至恢复端数据库,将恢复端存在的对象发送至dkey遍历模块;
步骤S3:通过dkey遍历模块遍历步骤S2发送的待恢复对象的所有dkey,通过dkey粒度识别模块对待恢复对象进行dkey粒度识别,将恢复端不存在的dkey拉取至恢复端数据库,将恢复端存在的dkey发送至rsv比较模块,通过rsv比较模块判断恢复端存在的dkey是否需要恢复,将需要恢复的dkey发送至akey遍历模块;
步骤S4:通过akey遍历模块遍历步骤S3发送的需要恢复的dkey的所有akey,通过akey粒度识别模块对待恢复dkey进行akey粒度识别,将恢复端不存在的akey拉取至恢复端数据库,以恢复端存在的akey的records为最小粒度进行数据的增量重构;
步骤S1至步骤S4中,任一步骤执行结束后,采用rsv更新模块将恢复端的rsv更新为重构任务版本;
其中,dkey为daos分布式存储系统多版本存储的位于对象的下层的b+树,akey为daos分布式存储系统多版本存储的位于dkey的下层的b+树,records为daos分布式存储系统多版本存储的层级b+树的树节点的最小组成单位,rsv为对象上一次数据可靠完整的版本号。
7.根据权利要求6所述的基于daos分布式存储系统中数据增量重构方法,其特征在于,步骤S2中,通过对象粒度识别模块对待恢复的对象进行对象粒度识别,包括:将每个待恢复对象的object_id依次与在恢复端数据库中对象的对象树进行匹配,根据匹配结果判定待恢复对象是否存在于恢复端。
8.根据权利要求7所述的基于daos分布式存储系统中数据增量重构方法,其特征在于,根据匹配结果判定待恢复对象是否存在于恢复端,包括:
当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复对象的object_id与在恢复端数据库中对象的对象树匹配成功,判定恢复端不存在所述待恢复对象。
9.根据权利要求6所述的基于daos分布式存储系统中数据增量重构方法,其特征在于,步骤S3中,通过dkey粒度识别模块对待恢复对象进行dkey粒度识别,包括:将每个待恢复dkey的dkey_id依次与恢复端数据库中dkey的dkey树进行匹配,根据匹配结果判定待恢复dkey是否存在于恢复端。
10.根据权利要求9所述的基于daos分布式存储系统中数据增量重构方法,其特征在于,根据匹配结果判定待恢复dkey是否存在于恢复端,包括:
当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复dkey的dkey_id与在恢复端数据库中dkey的dkey树匹配成功,判定恢复端不存在所述待恢复对象。
11.根据权利要求6所述的基于daos分布式存储系统中数据增量重构方法,其特征在于,步骤S3中,通过rsv比较模块判断恢复端存在的dkey是否需要重构恢复,将需要重构恢复的dkey发送至akey遍历模块,包括:获取所述dkey在权威端的rsv,若所述dkey在恢复端的rsv等于权威端的rsv,则判定所述dkey不需要重构恢复,若所述dkey在恢复端的rsv小于权威端的rsv,将所述dkey发送至akey遍历模块。
12.根据权利要求6所述的基于daos分布式存储系统中数据增量重构方法,其特征在于,步骤S4中,通过akey粒度识别模块对待恢复dkey进行akey粒度识别,包括:将每个待恢复akey的akey_id依次与在恢复端数据库中akey的akey树进行匹配,根据匹配结果判定待恢复akey是否存在于恢复端。
13.根据权利要求12所述的基于daos分布式存储系统中数据增量重构方法,其特征在于,根据匹配结果判定待恢复akey是否存在于恢复端,包括:
当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配失败,判定恢复端存在所述待恢复对象;
当待恢复akey的akey_id与在恢复端数据库中akey的akey树匹配成功,判定恢复端不存在所述待恢复对象。
14.根据权利要求6所述的基于daos分布式存储系统中数据增量重构方法,其特征在于,步骤S4中,以恢复端存在的akey的records为最小粒度进行数据的增量重构,包括:将所述akey所属dkey上记录的rsv对应的版本号与恢复端故障恢复时的版本号之间的records所对应的数据段拉取至恢复端数据库。
CN202211144644.9A 2022-09-20 2022-09-20 基于daos分布式存储系统中数据增量重构系统和方法 Active CN115454720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211144644.9A CN115454720B (zh) 2022-09-20 2022-09-20 基于daos分布式存储系统中数据增量重构系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211144644.9A CN115454720B (zh) 2022-09-20 2022-09-20 基于daos分布式存储系统中数据增量重构系统和方法

Publications (2)

Publication Number Publication Date
CN115454720A CN115454720A (zh) 2022-12-09
CN115454720B true CN115454720B (zh) 2024-04-02

Family

ID=84305489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211144644.9A Active CN115454720B (zh) 2022-09-20 2022-09-20 基于daos分布式存储系统中数据增量重构系统和方法

Country Status (1)

Country Link
CN (1) CN115454720B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844089A (zh) * 2015-12-03 2017-06-13 阿里巴巴集团控股有限公司 一种用于恢复树形数据存储的方法与设备
CN111581020A (zh) * 2020-04-22 2020-08-25 上海天玑科技股份有限公司 一种分布式块存储系统中数据恢复的方法和装置
CN112667437A (zh) * 2020-12-23 2021-04-16 北京浪潮数据技术有限公司 一种多副本分布式集群恢复方法、装置、设备及存储介质
CN113220236A (zh) * 2021-05-17 2021-08-06 北京青云科技股份有限公司 一种数据管理方法、系统及设备
CN113254394A (zh) * 2021-05-14 2021-08-13 平安科技(深圳)有限公司 一种快照处理方法、系统、设备及存储介质
CN113282540A (zh) * 2021-06-04 2021-08-20 深圳大学 一种云对象存储同步方法、装置、计算机设备及存储介质
CN113918385A (zh) * 2021-10-14 2022-01-11 江苏安超云软件有限公司 本地存储虚拟机在线增量备份和恢复的方法及应用

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9703645B2 (en) * 2014-10-24 2017-07-11 Netapp, Inc. Data recovery technique for recovering data from an object storage service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106844089A (zh) * 2015-12-03 2017-06-13 阿里巴巴集团控股有限公司 一种用于恢复树形数据存储的方法与设备
CN111581020A (zh) * 2020-04-22 2020-08-25 上海天玑科技股份有限公司 一种分布式块存储系统中数据恢复的方法和装置
CN112667437A (zh) * 2020-12-23 2021-04-16 北京浪潮数据技术有限公司 一种多副本分布式集群恢复方法、装置、设备及存储介质
CN113254394A (zh) * 2021-05-14 2021-08-13 平安科技(深圳)有限公司 一种快照处理方法、系统、设备及存储介质
CN113220236A (zh) * 2021-05-17 2021-08-06 北京青云科技股份有限公司 一种数据管理方法、系统及设备
CN113282540A (zh) * 2021-06-04 2021-08-20 深圳大学 一种云对象存储同步方法、装置、计算机设备及存储介质
CN113918385A (zh) * 2021-10-14 2022-01-11 江苏安超云软件有限公司 本地存储虚拟机在线增量备份和恢复的方法及应用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
计算机数据备份和数据恢复技术探究;门丽;;信息与电脑(理论版)(第10期);全文 *

Also Published As

Publication number Publication date
CN115454720A (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
US10860547B2 (en) Data mobility, accessibility, and consistency in a data storage system
US8972347B1 (en) Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity
CN105159818B (zh) 内存数据管理中日志恢复方法及其仿真系统
CN106843750B (zh) 分布式存储系统
US7801846B2 (en) Generating log sequence identifiers to apply a transaction to a storage system
JP2019036353A (ja) 索引更新パイプライン
US20070094312A1 (en) Method for managing real-time data history of a file system
CN105574187B (zh) 一种异构数据库复制事务一致性保障方法及系统
US11347600B2 (en) Database transaction log migration
US20080162599A1 (en) Optimizing backup and recovery utilizing change tracking
JPH06168169A (ja) ログフォースなしに仮定コミットを持つ2相コミットプロトコルを使用する分散トランザクション処理
CN105635252B (zh) 一种Hadoop分布式文件系统HDFS纠删码冗余备份方法
US20080162600A1 (en) Optimizing backup and recovery utilizing change tracking
US6782399B2 (en) Ultra-high speed database replication with multiple audit logs
CN110515557B (zh) 一种集群管理方法、装置、设备及可读存储介质
US11468011B2 (en) Database management system
CN108255638B (zh) 一种快照回滚方法及装置
CN109063005B (zh) 一种数据迁移方法及系统、存储介质、电子设备
CN107229540A (zh) 一种基于时间点的数据库恢复方法及系统
US11403176B2 (en) Database read cache optimization
Wang et al. Understanding real world data corruptions in cloud systems
Lomet et al. Redo recovery after system crashes
CN115454720B (zh) 基于daos分布式存储系统中数据增量重构系统和方法
CN114787780A (zh) 用于基于区块链的备份和恢复的系统和方法
WO2013091183A1 (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 430058 No. n3013, 3rd floor, R & D building, building n, Artificial Intelligence Science Park, economic and Technological Development Zone, Caidian District, Wuhan City, Hubei Province

Applicant after: Zhongdian Cloud Computing Technology Co.,Ltd.

Applicant after: CHINA ELECTRONIC SYSTEM TECHNOLOGY Co.,Ltd.

Address before: 430058 No. n3013, 3rd floor, R & D building, building n, Artificial Intelligence Science Park, economic and Technological Development Zone, Caidian District, Wuhan City, Hubei Province

Applicant before: CLP cloud Digital Intelligence Technology Co.,Ltd.

Applicant before: CHINA ELECTRONIC SYSTEM TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant