CN115437843A - 一种基于多级分布式共识的数据库存储分区恢复方法 - Google Patents

一种基于多级分布式共识的数据库存储分区恢复方法 Download PDF

Info

Publication number
CN115437843A
CN115437843A CN202211023202.9A CN202211023202A CN115437843A CN 115437843 A CN115437843 A CN 115437843A CN 202211023202 A CN202211023202 A CN 202211023202A CN 115437843 A CN115437843 A CN 115437843A
Authority
CN
China
Prior art keywords
storage
partition
level
master node
normal
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
CN202211023202.9A
Other languages
English (en)
Other versions
CN115437843B (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.)
Beijing Great Opensource Software Co ltd
Original Assignee
Beijing Great Opensource Software 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 Beijing Great Opensource Software Co ltd filed Critical Beijing Great Opensource Software Co ltd
Priority to CN202211023202.9A priority Critical patent/CN115437843B/zh
Publication of CN115437843A publication Critical patent/CN115437843A/zh
Application granted granted Critical
Publication of CN115437843B publication Critical patent/CN115437843B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1448Management of the data involved in backup or backup restore
    • 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/1456Hardware arrangements for backup
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

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

Abstract

本发明提供了一种基于多级分布式共识的数据库存储分区恢复方法,包括:预先分别获取分布式系统中各数据库存储分区的层级配置信息、分区配置信息和分区存储信息;当检测到任一存储分区故障时,基于多级分布式共识,获取故障存储分区所属层级的层级主节点;根据层级主节点,协调与故障存储分区的相关联的其他存储分区对故障存储分区执行存储分区恢复操作。

Description

一种基于多级分布式共识的数据库存储分区恢复方法
技术领域
本发明涉及分布式系统技术领域,尤其涉及一种基于多级分布式共识的数据库存储分区恢复方法。
背景技术
近年来,分布式系统技术快速发展,有关分布式系统的数据库存储分区的恢复方法也成为了一个重中之重的问题,目前,在分布式系统中采用的最多的算法是分布式共识算法,分布式共识算法(如raft、paxos等)一般通过超过半数确认的机制,来保证具有2N+1个节点的分布式系统对N个节点故障的容错能力。在这样的分布式系统中,所有决策需要由至少N+1个节点确认才会最终生效,或者分布式系统通过选举得到由至少N+1个节点认可的主节点,然后由主节点进行决策和命令发布。但是上述算法都有一个最基本的要求,那就是要求收到超过半数节点的确认,因此在出现分区时,分布式共识算法会牺牲掉小分区的可用性,来保证一致性,但若仅采用分布式共识选举主节点对数据库存储分区的恢复进行决策,那么当主节点发生故障时,若剩余节点恰好在二次选举时存在一半一半的情况,则会导致出现双主问题,甚至存在脑裂的可能,从而使得分区恢复的容错率降低,因此,本发明提供一种基于多级分布式共识的数据库存储分区恢复方法,用于根据多级分布式共识选出当前故障存储分区所属层级的层级主节点用于进行决策和命令发布,用于满足分布式系统的存储分区恢复。
发明内容
针对现有技术的不足,本发明提供一种基于多级分布式共识的数据库存储分区恢复方法,用于根据多级分布式共识选出当前故障存储分区所属层级的层级主节点用于进行决策和命令发布,用于满足分布式系统的存储分区恢复。
一种基于多级分布式共识的数据库存储分区恢复方法,包括:
预先分别获取分布式系统中各数据库存储分区的层级配置信息、分区配置信息和分区存储信息;当检测到任一存储分区故障时,基于多级分布式共识,获取故障存储分区所属层级的层级主节点;根据层级主节点,协调与故障存储分区的相关联的其他存储分区对故障存储分区执行存储分区恢复操作。
作为本发明的一种实施例,预先分别获取分布式系统中各存储分区的层级配置信息、分区配置信息和分区存储信息,包括:
基于预定义规则,对分布式系统中的所有存储分区进行层级划分,确定每个存储分区的层级配置信息;
基于第二预定义规则,对分布式系统中的每一层级的存储分区进行区级划分,确定每个存储分区的分区配置信息;
基于层级配置信息和分区配置信息,获取对应存储分区的分区存储信息。
作为本发明的一种实施例,层级配置信息包括存储分区所属层级和存储分区所属层级的层级节点;分区配置信息包括存储分区的区级节点。
作为本发明的一种实施例,基于多级分布式共识,获取故障存储分区所属层级的层级主节点,包括:
基于分布式共识算法的主节点选举,对每一存储分区的所有节点进主节点选举,得到每一存储分区的区级主节点;
基于分布式共识算法的主节点选举,对每一层级的所有区级主节点和层级节点进行主节点选举,得到每一层级的层级主节点;
根据故障存储分区所属层级,确定故障存储分区所属层级对应的层级主节点。
作为本发明的一种实施例,一种基于多级分布式共识的数据库存储分区恢复方法还包括:
若故障存储分区对应的区级主节点为故障存储分区所属层级对应的层级主节点时,基于分布式共识算法的主节点选举,在故障存储分区所属层级内对除故障存储分区对应的区级主节点外的其他区级主节点和层级节点重新进行主节点选举,得到故障存储分区所属层级的新层级主节点。
作为本发明的一种实施例,根据层级主节点,协调与故障存储分区的相关联的其他存储分区对故障存储分区执行存储分区恢复操作,包括:
根据层级主节点,获取与故障存储分区存在相同层级配置信息的其他正常存储分区的正常分区配置信息;
基于层级主节点,根据正常分区配置信息中包含的区级节点,获取每个正常存储分区的正常分区存储信息;
判断是否存在与故障存储分区的分区存储信息相匹配的正常分区存储信息,若存在,协调相匹配的正常分区存储信息对应的正常存储分区对故障存储分区执行存储分区恢复操作。
作为本发明的一种实施例,基于层级主节点,根据正常分区配置信息中包含的区级节点,获取每个正常存储分区的正常分区存储信息,包括:
多个区级节点分别接收来自层级主节点并行发送的访存请求;其中,一个区级节点对应一个访存请求;
区级节点根据接收到的访存请求返回对应的信息至层级主节点。
作为本发明的一种实施例,一种基于多级分布式共识的数据库存储分区恢复方法还包括:
若层级主节点接收到的返回信息数量与发出的访存指令信息数量不一致时,对接收到的返回信息与发出的访存指令信息进行比对筛选,根据筛选结果确定未返回对应的信息至层级主节点的迟钝区级节点,根据筛选结果确定返回对应的信息至层级主节点的正常区级节点;
迟钝区级节点接收来自层级主节点和多个正常区级节点的并行的多个第二访存请求;其中,一个正常区级节点对应一个第二访存请求,层级主节点对应一个第二访存请求,所有第二访存请求中携带的访问地址均与访存请求的访问地址相同;
对于任一命中迟钝区级节点指令缓存的第二访存请求,根据命中的先后顺序,选取最先命中的第二访存请求作为目标访存请求;
迟钝区级节点根据收到的第二访存请求返回对应的信息至层级主节点。
作为本发明的一种实施例,协调相匹配的正常分区存储信息对应的正常存储分区对故障存储分区执行存储分区恢复操作,包括:
分别提取若干正常分区存储信息中的第一存储特征数据;其中,第一存储特征数据用于表述对应正常存储分区的内存剩余情况;
提取故障分区存储信息中的第二存储特征数据;其中,第二存储特征数据用于表述故障存储分区的内存占用情况;
分别对不同的第一存储特征数据和第二存储特征数据进行内存匹配检测,根据内存匹配结果生成恢复处理方案;
根据恢复处理方案,协调对应的正常存储分区对故障存储分区执行存储分区恢复操作。
作为本发明的一种实施例,根据内存匹配结果生成恢复处理方案,包括:
若存在内存匹配结果满足预设条件的第一存储特征数据时,确定满足预设条件第一存储特征数据对应的第一恢复区级节点;
基于层级节点,根据多个第一恢复区级节点生成恢复处理方案;
若不存在内存匹配结果满足预设条件的第一存储特征数据时,获取空载率最高的内存匹配结果对应的第一存储特征数据作为第三存储特征数据,并确定第三存储特征数据对应的正常分区存储信息中的第四存储特征数据,同时确定第三存储特征数据对应的第二恢复区级节点;其中,第四存储特征数据用于表述正常存储分区的内存占用情况,空载率通过正常存储分区的内存剩余量与内存占用量以及内存匹配结果共同确定;
分别对除第二恢复区级节点对应的第一存储特征数据外不同的第一存储特征数据和第四存储特征数据进行内存匹配检测,若存在内存匹配结果满足预设第二条件的第一存储特征数据时,确定满足预设第二条件第一存储特征数据对应的第三恢复区级节点;
基于层级节点,根据第二恢复区级节点和多个第三恢复区级节点生成恢复处理方案。
本发明的有益效果为:
本发明提供一种基于多级分布式共识的数据库存储分区恢复方法,用于根据多级分布式共识选出当前故障存储分区所属层级的层级主节点用于进行决策和命令发布,用于满足分布式系统的存储分区恢复。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例中一种基于多级分布式共识的数据库存储分区恢复方法的方法流程图;
图2为本发明实施例中一种基于多级分布式共识的数据库存储分区恢复方法中S101的具体流程图;
图3为本发明实施例中一种基于多级分布式共识的数据库存储分区恢复方法中S102的具体流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
请参阅图1,本发明实施例提供了一种基于多级分布式共识的数据库存储分区恢复方法,包括:
S101、预先分别获取分布式系统中各存储分区的层级配置信息、分区配置信息和分区存储信息;
S102、当检测到任一存储分区故障时,基于多级分布式共识,获取故障存储分区所属层级的层级主节点;
S103、根据层级主节点,协调与故障存储分区的相关联的其他存储分区对故障存储分区执行存储分区恢复操作;
上述技术方案的工作原理为:首先预先获取分布式系统中各存储分区的配置情况,包括层级配置信息、分区配置信息和分区存储信息,其中,分区存储信息包括分区存储内容和存储总容量以及存储剩余容量等信息,且分区存储信息的预存方式优选通过磁盘映射的方式进行预存,当分布式系统检测到任一存储分区出现故障时,基于多级分布式共识,获取故障存储分区所属层级的层级主节点,这样设计可以灵活配置中心节点,由选举出的层级主节点(即中心节点)协调与故障存储分区的相关联的其他存储分区对故障存储分区执行存储分区恢复操作;
上述技术方案的有益效果为:通过上述技术方案,根据多级分布式共识选出当前故障存储分区所属层级的层级主节点用于进行决策和命令发布,用于满足分布式系统的存储分区恢复。
请参阅图2,在一个实施例中,预先分别获取分布式系统中各存储分区的层级配置信息、分区配置信息和分区存储信息,包括:
S201、基于预定义规则,对分布式系统中的所有存储分区进行层级划分,确定每个存储分区的层级配置信息;
S202、基于第二预定义规则,对分布式系统中的每一层级的存储分区进行区级划分,确定每个存储分区的分区配置信息;
S203、基于层级配置信息和分区配置信息,获取对应存储分区的分区存储信息;
上述技术方案的工作原理为:提前预置好预定义规则和第二预定义规则,当存储分区规划完成后,基于预定义规则,对分布式系统中的所有存储分区进行层级划分,确定每个存储分区的层级配置信息,并基于第二预定义规则,对分布式系统中的每一层级的存储分区进行区级划分,确定每个存储分区的分区配置信息,最后基于层级配置信息和分区配置信息,定位到具体的存储分区后,再获取对应存储分区的分区存储信息;
上述技术方案的有益效果为:提前获取存储分区的层级配置信息、分区配置信息和分区存储信息,有益于在后续快速执行存储分区的恢复操作。
在一个实施例中,层级配置信息包括存储分区所属层级和存储分区所属层级的层级节点;分区配置信息包括存储分区的区级节点;
上述技术方案的工作原理为和有益效果为:通过区级节点和层级节点,不仅可以通过选举法快速确定层级主节点,同时还能根据配置信息快速确定对应的存储分区。
请参阅图3,在一个实施例中,基于多级分布式共识,获取故障存储分区所属层级的层级主节点,包括:
S301、基于分布式共识算法的主节点选举,对每一存储分区的所有节点进主节点选举,得到每一存储分区的区级主节点;
S302、基于分布式共识算法的主节点选举,对每一层级的所有区级主节点和层级节点进行主节点选举,得到每一层级的层级主节点;
S303、根据故障存储分区所属层级,确定故障存储分区所属层级对应的层级主节点;
上述技术方案的工作原理为:首先将每一层级的存储分区作为单级分布式共识系统,单级分布式共识中层级主节点的确定方法则为基于分布式共识算法的主节点选举,对每一存储分区的所有节点进主节点选举,得到每一存储分区的区级主节点,基于分布式共识算法的主节点选举,对每一层级的所有区级主节点和层级节点进行主节点选举,得到每一层级的层级主节点,若当前分区对应的层级无法确定层级主节点的情况下,获取当前层级的下一层级的层级主节点共同参与当前层级的层级主节点的选举,同时,在上一层级的层级主节点无法确定时,获取当前层级的层级主节点共同参与上一层级的层级主节点的选举,构成多级分布式共识系统,最后在故障存储分区所属层级的层级主节点选举完成后,确定故障存储分区所属层级对应的层级主节点;
上述技术方案的有益效果为:通过多级分布式共识的方法,使得主节点的选取始终满足半数确认机制,且在当前层级本身满足半数确认机制时,构成单级分布式共识系统,无需在分布式系统中保障最终的一致性,仅需满足当前层级的一致性,使得主节点的选取在满足一致性后还提高了分区容错性。
在一个实施例中,一种基于多级分布式共识的数据库存储分区恢复方法还包括:
若故障存储分区对应的区级主节点为故障存储分区所属层级对应的层级主节点时,基于分布式共识算法的主节点选举,在故障存储分区所属层级内对除故障存储分区对应的区级主节点外的其他区级主节点和层级节点重新进行主节点选举,得到故障存储分区所属层级的新层级主节点;
上述技术方案的工作原理和有益效果为:当层级主节点为故障存储分区对应的区级主节点时,基于分布式共识算法的主节点选举,在故障存储分区所属层级内对除故障存储分区对应的区级主节点外的其他区级主节点和层级节点重新进行主节点选举,得到故障存储分区所属层级的新层级主节点,防止层级主节点无法正常工作导致故障无法解决,同时,根据多级分布式共识的方法,在当前分区对应的层级因节点数量的问题无法确定层级主节点的情况下,获取当前层级的下一层级的层级主节点共同参与当前层级的层级主节点的选举,有益于防止脑裂的发生。
在一个实施例中,根据层级主节点,协调与故障存储分区的相关联的其他存储分区对故障存储分区执行存储分区恢复操作,包括:
根据层级主节点,获取与故障存储分区存在相同层级配置信息的其他正常存储分区的正常分区配置信息;
基于层级主节点,根据正常分区配置信息中包含的区级节点,获取每个正常存储分区的正常分区存储信息;
判断是否存在与故障存储分区的分区存储信息相匹配的正常分区存储信息,若存在,协调相匹配的正常分区存储信息对应的正常存储分区对故障存储分区执行存储分区恢复操作;
上述技术方案的工作原理为:根据层级主节点,获取与故障存储分区存在相同层级配置信息的其他正常存储分区的区级节点,根据区级节点确定正常存储分区的路径,根据对应路径获取正常分区配置信息,同时,判断是否存在与故障存储分区的分区存储信息相匹配的正常分区存储信息,若存在,协调相匹配的正常分区存储信息对应的正常存储分区对故障存储分区执行存储分区恢复操作;
上述技术方案的有益效果为:根据层级主节点协调合适的正常存储分区对故障存储分区执行恢复操作,有益于提高恢复效率。
在一个实施例中,基于层级主节点,根据正常分区配置信息中包含的区级节点,获取每个正常存储分区的正常分区存储信息,包括:
多个区级节点分别接收来自层级主节点并行发送的访存请求;其中,一个区级节点对应一个访存请求;
区级节点根据接收到的访存请求返回对应的信息至层级主节点;
上述技术方案的工作原理和有益效果为:层级主节点根据对应确定的正常存储分区的路径,分别并行发送多个访存请求至多个区级节点,其中,一个区级节点对应一个访存请求,区级节点根据接收到的访存请求返回对应的信息至层级主节点,用于快速确定分区存储信息,保证了指令访存的时效性。
在一个实施例中,一种基于多级分布式共识的数据库存储分区恢复方法还包括:
若层级主节点接收到的返回信息数量与发出的访存指令信息数量不一致时,对接收到的返回信息与发出的访存指令信息进行比对筛选,根据筛选结果确定未返回对应的信息至层级主节点的迟钝区级节点,根据筛选结果确定返回对应的信息至层级主节点的正常区级节点;
迟钝区级节点接收来自层级主节点和多个正常区级节点的并行的多个第二访存请求;其中,一个正常区级节点对应一个第二访存请求,层级主节点对应一个第二访存请求,所有第二访存请求中携带的访问地址均与访存请求的访问地址相同;
对于任一命中迟钝区级节点指令缓存的第二访存请求,根据命中的先后顺序,选取最先命中的第二访存请求作为目标访存请求;
迟钝区级节点根据收到的第二访存请求返回对应的信息至层级主节点;
上述技术方案的工作原理为:访存指令存在命中失败的情况,所以在层级主节点接收到的返回信息数量与发出的访存指令信息数量不一致时,即返回信息数量少于发出的访存指令信息数量,对接收到的返回信息与发出的访存指令信息进行比对筛选,根据筛选结果确定未返回对应的信息至层级主节点的迟钝区级节点,并根据筛选结果确定返回对应的信息至层级主节点的正常区级节点;层级主节点根据预定义的选取规则,选取多个正常区级节点,并协同多个该正常区级节点对迟钝区级节点发送第二访存请求,迟钝区级节点接收来自层级主节点和多个正常区级节点的并行的多个第二访存请求;其中,一个正常区级节点对应一个第二访存请求,层级主节点对应一个第二访存请求,所有第二访存请求中携带的访问地址均与访存请求的访问地址相同,均为层级主节点对应的访问地址;对于任一命中迟钝区级节点指令缓存的第二访存请求,根据命中的先后顺序,选取最先命中的第二访存请求作为目标访存请求,其他命中的第二访存请求则自动失效;迟钝区级节点根据收到的第二访存请求返回对应的信息至层级主节点;
上述技术方案的有益效果为:当层级主节点发送的访存请求失败后,为防止后续再次发送的访存请求失败导致时效性降低,同时协同多个正常区级节点一同发送第二访存请求,只要有一个命中便可以获取到对应信息,提高了访存的时效性和容错性。
在一个实施例中,协调相匹配的正常分区存储信息对应的正常存储分区对故障存储分区执行存储分区恢复操作,包括:
分别提取若干正常分区存储信息中的第一存储特征数据;其中,第一存储特征数据用于表述对应正常存储分区的内存剩余情况;
提取故障分区存储信息中的第二存储特征数据;其中,第二存储特征数据用于表述故障存储分区的内存占用情况;
分别对不同的第一存储特征数据和第二存储特征数据进行内存匹配检测,根据内存匹配结果生成恢复处理方案;
根据恢复处理方案,协调对应的正常存储分区对故障存储分区执行存储分区恢复操作;
上述技术方案的工作原理为:协调相匹配的正常分区存储信息对应的正常存储分区对故障存储分区执行存储分区恢复操作首需要分别提取若干正常分区存储信息中的第一存储特征数据;其中,第一存储特征数据用于表述对应正常存储分区的内存剩余情况;一个正常存储分区对应一个存储特征数据;再提取故障分区存储信息中的第二存储特征数据;其中,第二存储特征数据用于表述故障存储分区的内存占用情况,并分别对不同的第一存储特征数据和第二存储特征数据进行内存匹配检测,根据内存匹配结果生成恢复处理方案,最后根据恢复处理方案,协调对应的正常存储分区对故障存储分区执行存储分区恢复操作;
上述技术方案的有益效果为:通过上述技术方案,根据每个存储分区的具体情况,协调匹配度高的存储分区对故障存储分区执行恢复操作,有益于提高恢复的针对性和贴合性,防止出现当故障存储分区数量增多时,随机采用存储分区对故障存储分区执行恢复操作时导致后续可能存在剩余存储分区并不能很好的贴合部分故障存储分区的恢复操作。
在一个实施例中,根据内存匹配结果生成恢复处理方案,包括:
若存在内存匹配结果满足预设条件的第一存储特征数据时,确定满足预设条件第一存储特征数据对应的第一恢复区级节点;
基于层级节点,根据多个第一恢复区级节点生成恢复处理方案;
若不存在内存匹配结果满足预设条件的第一存储特征数据时,获取空载率最高的内存匹配结果对应的第一存储特征数据作为第三存储特征数据,并确定第三存储特征数据对应的正常分区存储信息中的第四存储特征数据,同时确定第三存储特征数据对应的第二恢复区级节点;其中,第四存储特征数据用于表述正常存储分区的内存占用情况,空载率通过正常存储分区的内存剩余量与内存占用量以及内存匹配结果共同确定;
分别对除第二恢复区级节点对应的第一存储特征数据外不同的第一存储特征数据和第四存储特征数据进行内存匹配检测,若存在内存匹配结果满足预设第二条件的第一存储特征数据时,确定满足预设第二条件第一存储特征数据对应的第三恢复区级节点;
基于层级节点,根据第二恢复区级节点和多个第三恢复区级节点生成恢复处理方案;
上述技术方案的工作原理为:若存在内存匹配结果满足预设条件的第一存储特征数据时,确定满足预设条件第一存储特征数据对应的第一恢复区级节点;预设条件优选为匹配度大于等于100%,内存匹配结果可以大于100%;基于层级节点,根据多个第一恢复区级节点生成恢复处理方案;若不存在内存匹配结果满足预设条件的第一存储特征数据时,获取空载率最高的内存匹配结果对应的第一存储特征数据作为第三存储特征数据,并确定第三存储特征数据对应的正常分区存储信息中的第四存储特征数据,同时确定第三存储特征数据对应的第二恢复区级节点;其中,第四存储特征数据用于表述正常存储分区的内存占用情况,空载率通过正常存储分区的内存剩余量与内存占用量以及内存匹配结果共同确定;确定方法优选通过下述计算公式确定:
Figure BDA0003814838980000141
其中,P为空载率,MB为内存剩余量,MF为内存占用量,MC为内存匹配结果,gMF为内存占用量在预设权重范围中的权重值,其中,内存占用量越小,gMF越大,gMF大于0且小于1,分别对除第二恢复区级节点对应的第一存储特征数据外不同的第一存储特征数据和第四存储特征数据进行内存匹配检测,若存在内存匹配结果满足预设第二条件的第一存储特征数据时,确定满足预设第二条件第一存储特征数据对应的第三恢复区级节点;基于层级节点,根据第二恢复区级节点和多个第三恢复区级节点生成恢复处理方案;
上述技术方案的有益效果为:通过上述技术方案,有益于快速在正常存储分区中筛选出与故障存储分区相匹配的存储分区生成恢复处理方案,提高了恢复的时效性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,包括:预先分别获取分布式系统中各存储分区的层级配置信息、分区配置信息和分区存储信息;当检测到任一存储分区故障时,基于多级分布式共识,获取故障存储分区所属层级的层级主节点;根据层级主节点,协调与故障存储分区的相关联的其他存储分区对故障存储分区执行存储分区恢复操作。
2.根据权利要求1所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,预先分别获取分布式系统中各存储分区的层级配置信息、分区配置信息和分区存储信息,包括:
基于预定义规则,对分布式系统中的所有存储分区进行层级划分,确定每个存储分区的层级配置信息;
基于第二预定义规则,对分布式系统中的每一层级的存储分区进行区级划分,确定每个存储分区的分区配置信息;
基于层级配置信息和分区配置信息,获取对应存储分区的分区存储信息。
3.根据权利要求2所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,层级配置信息包括存储分区所属层级和存储分区所属层级的层级节点;分区配置信息包括存储分区的区级节点。
4.根据权利要求1所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,基于多级分布式共识,获取故障存储分区所属层级的层级主节点,包括:
基于分布式共识算法的主节点选举,对每一存储分区的所有节点进主节点选举,得到每一存储分区的区级主节点;
基于分布式共识算法的主节点选举,对每一层级的所有区级主节点和层级节点进行主节点选举,得到每一层级的层级主节点;
根据故障存储分区所属层级,确定故障存储分区所属层级对应的层级主节点。
5.根据权利要求4所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,还包括:若故障存储分区对应的区级主节点为故障存储分区所属层级对应的层级主节点时,基于分布式共识算法的主节点选举,在故障存储分区所属层级内对除故障存储分区对应的区级主节点外的其他区级主节点和层级节点重新进行主节点选举,得到故障存储分区所属层级的新层级主节点。
6.根据权利要求1所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,根据层级主节点,协调与故障存储分区的相关联的其他存储分区对故障存储分区执行存储分区恢复操作,包括:
根据层级主节点,获取与故障存储分区存在相同层级配置信息的其他正常存储分区的正常分区配置信息;
基于层级主节点,根据正常分区配置信息中包含的区级节点,获取每个正常存储分区的正常分区存储信息;
判断是否存在与故障存储分区的分区存储信息相匹配的正常分区存储信息,若存在,协调相匹配的正常分区存储信息对应的正常存储分区对故障存储分区执行存储分区恢复操作。
7.根据权利要求6所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,基于层级主节点,根据正常分区配置信息中包含的区级节点,获取每个正常存储分区的正常分区存储信息,包括:
多个区级节点分别接收来自层级主节点并行发送的访存请求;其中,一个区级节点对应一个访存请求;
区级节点根据接收到的访存请求返回对应的信息至层级主节点。
8.根据权利要求7所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,还包括:
若层级主节点接收到的返回信息数量与发出的访存指令信息数量不一致时,对接收到的返回信息与发出的访存指令信息进行比对筛选,根据筛选结果确定未返回对应的信息至层级主节点的迟钝区级节点,根据筛选结果确定返回对应的信息至层级主节点的正常区级节点;
迟钝区级节点接收来自层级主节点和多个正常区级节点的并行的多个第二访存请求;其中,一个正常区级节点对应一个第二访存请求,层级主节点对应一个第二访存请求,所有第二访存请求中携带的访问地址均与访存请求的访问地址相同;
对于任一命中迟钝区级节点指令缓存的第二访存请求,根据命中的先后顺序,选取最先命中的第二访存请求作为目标访存请求;
迟钝区级节点根据收到的第二访存请求返回对应的信息至层级主节点。
9.根据权利要求6所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,协调相匹配的正常分区存储信息对应的正常存储分区对故障存储分区执行存储分区恢复操作,包括:
分别提取若干正常分区存储信息中的第一存储特征数据;其中,第一存储特征数据用于表述对应正常存储分区的内存剩余情况;
提取故障分区存储信息中的第二存储特征数据;其中,第二存储特征数据用于表述故障存储分区的内存占用情况;
分别对不同的第一存储特征数据和第二存储特征数据进行内存匹配检测,根据内存匹配结果生成恢复处理方案;
根据恢复处理方案,协调对应的正常存储分区对故障存储分区执行存储分区恢复操作。
10.根据权利要求9所述的一种基于多级分布式共识的数据库存储分区恢复方法,其特征在于,根据内存匹配结果生成恢复处理方案,包括:
若存在内存匹配结果满足预设条件的第一存储特征数据时,确定满足预设条件第一存储特征数据对应的第一恢复区级节点;
基于层级节点,根据多个第一恢复区级节点生成恢复处理方案;
若不存在内存匹配结果满足预设条件的第一存储特征数据时,获取空载率最高的内存匹配结果对应的第一存储特征数据作为第三存储特征数据,并确定第三存储特征数据对应的正常分区存储信息中的第四存储特征数据,同时确定第三存储特征数据对应的第二恢复区级节点;其中,第四存储特征数据用于表述正常存储分区的内存占用情况,空载率通过正常存储分区的内存剩余量与内存占用量以及内存匹配结果共同确定;
分别对除第二恢复区级节点对应的第一存储特征数据外不同的第一存储特征数据和第四存储特征数据进行内存匹配检测,若存在内存匹配结果满足预设第二条件的第一存储特征数据时,确定满足预设第二条件第一存储特征数据对应的第三恢复区级节点;
基于层级节点,根据第二恢复区级节点和多个第三恢复区级节点生成恢复处理方案。
CN202211023202.9A 2022-08-25 2022-08-25 一种基于多级分布式共识的数据库存储分区恢复方法 Active CN115437843B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211023202.9A CN115437843B (zh) 2022-08-25 2022-08-25 一种基于多级分布式共识的数据库存储分区恢复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211023202.9A CN115437843B (zh) 2022-08-25 2022-08-25 一种基于多级分布式共识的数据库存储分区恢复方法

Publications (2)

Publication Number Publication Date
CN115437843A true CN115437843A (zh) 2022-12-06
CN115437843B CN115437843B (zh) 2023-03-28

Family

ID=84244487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211023202.9A Active CN115437843B (zh) 2022-08-25 2022-08-25 一种基于多级分布式共识的数据库存储分区恢复方法

Country Status (1)

Country Link
CN (1) CN115437843B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017028394A1 (zh) * 2015-08-20 2017-02-23 北京百度网讯科技有限公司 一种基于实例的分布式数据恢复方法和装置
US20170270176A1 (en) * 2010-12-23 2017-09-21 Eliot Horowitz System and method for determining consensus within a distributed database
CN107967291A (zh) * 2017-10-12 2018-04-27 腾讯科技(深圳)有限公司 日志条目复制方法、装置、计算机设备及存储介质
CN109032830A (zh) * 2018-07-25 2018-12-18 广东浪潮大数据研究有限公司 一种分布式存储系统的故障恢复方法、系统及相关组件
CN109656911A (zh) * 2018-12-11 2019-04-19 江苏瑞中数据股份有限公司 分布式并行处理数据库系统及其数据处理方法
US20190278676A1 (en) * 2019-05-29 2019-09-12 Intel Corporation Technologies for fast recovery of distributed storage systems on disaggregated storage
CN111475576A (zh) * 2020-04-15 2020-07-31 中国工商银行股份有限公司 基于区块链的分布式数据库存储方法及系统
CN113742417A (zh) * 2020-05-29 2021-12-03 同方威视技术股份有限公司 多级分布式共识方法及系统、电子设备及计算机可读介质
CN114237981A (zh) * 2021-12-10 2022-03-25 北京人大金仓信息技术股份有限公司 数据恢复方法、装置、设备及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170270176A1 (en) * 2010-12-23 2017-09-21 Eliot Horowitz System and method for determining consensus within a distributed database
WO2017028394A1 (zh) * 2015-08-20 2017-02-23 北京百度网讯科技有限公司 一种基于实例的分布式数据恢复方法和装置
CN107967291A (zh) * 2017-10-12 2018-04-27 腾讯科技(深圳)有限公司 日志条目复制方法、装置、计算机设备及存储介质
CN109032830A (zh) * 2018-07-25 2018-12-18 广东浪潮大数据研究有限公司 一种分布式存储系统的故障恢复方法、系统及相关组件
CN109656911A (zh) * 2018-12-11 2019-04-19 江苏瑞中数据股份有限公司 分布式并行处理数据库系统及其数据处理方法
US20190278676A1 (en) * 2019-05-29 2019-09-12 Intel Corporation Technologies for fast recovery of distributed storage systems on disaggregated storage
CN111475576A (zh) * 2020-04-15 2020-07-31 中国工商银行股份有限公司 基于区块链的分布式数据库存储方法及系统
CN113742417A (zh) * 2020-05-29 2021-12-03 同方威视技术股份有限公司 多级分布式共识方法及系统、电子设备及计算机可读介质
CN114237981A (zh) * 2021-12-10 2022-03-25 北京人大金仓信息技术股份有限公司 数据恢复方法、装置、设备及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
KEVIN BEINEKE等: "Fast Parallel Recovery of Many Small In-Memory Objects", 《2017 IEEE 23RD INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS)》 *
余海波: "基于区块链的数据分布式存储安全机制研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
徐海东: "分布式数据库系统的故障恢复方法探讨", 《软件》 *
海陆云: "分布式高可用:故障恢复", 《HTTPS://BLOG.CSDN.NET/WEIXIN_38333368/ARTICLE/DETAILS/122180852》 *
祝朝凡: "分布式数据库中的副本恢复优化", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN115437843B (zh) 2023-03-28

Similar Documents

Publication Publication Date Title
CN110169008B (zh) 一种基于一致性哈希算法的分布式数据冗余存储方法
CN108810100B (zh) 一种主节点的选举方法、装置及设备
CN106527981B (zh) 一种基于配置的自适应分布式存储系统的数据分片方法
CN110190987B (zh) 基于备份收益与重映射的虚拟网络功能可靠性部署方法
CN109597567B (zh) 一种数据处理方法和装置
CN110188084B (zh) 一种分布式文件存储系统及文件存储方法
CN106339181A (zh) 存储系统中数据处理方法和装置
CN114584577B (zh) 一种处理数据的区块链分片异步共识方法及系统
CN107133228A (zh) 一种数据重分布的方法及装置
JP5512442B2 (ja) ディザスタリカバリシステムのための管理装置、方法及びプログラム
CN115437843B (zh) 一种基于多级分布式共识的数据库存储分区恢复方法
CN108459926B (zh) 数据异地备份方法、装置及计算机可读介质
CN112037873B (zh) 一种基于集群选主和共识机制的单点优化方法
CN117033004B (zh) 负载均衡方法、装置、电子设备及存储介质
CN111338778B (zh) 任务调度方法、装置、存储介质及计算机设备
CN113742417B (zh) 多级分布式共识方法及系统、电子设备及计算机可读介质
WO2022217795A1 (zh) 失效位置的修补方法和装置
CN116016540A (zh) 一种基于物联网设备的区块链网络节点群可容错协助存储机制
CN114121129B (zh) 失效位元修补方案的确定方法、装置及芯片
WO2022037199A1 (zh) 失效位元的修补方法及装置
CN112527473B (zh) 一种分布式事务处理方法及装置
CN115438021A (zh) 一种数据库服务器的资源配置方法及装置
EP3866010A1 (en) Method and system for processing transactions in a block-chain network
CN114171103A (zh) 失效位元的修补方案的确定方法
US20230068779A1 (en) Method for Evicting Data from Memory

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
GR01 Patent grant
GR01 Patent grant