CN110096237A - 副本处理方法及节点、存储系统、服务器、可读介质 - Google Patents

副本处理方法及节点、存储系统、服务器、可读介质 Download PDF

Info

Publication number
CN110096237A
CN110096237A CN201910363193.XA CN201910363193A CN110096237A CN 110096237 A CN110096237 A CN 110096237A CN 201910363193 A CN201910363193 A CN 201910363193A CN 110096237 A CN110096237 A CN 110096237A
Authority
CN
China
Prior art keywords
copy
node
processed
group
configuration information
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
CN201910363193.XA
Other languages
English (en)
Other versions
CN110096237B (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201910363193.XA priority Critical patent/CN110096237B/zh
Publication of CN110096237A publication Critical patent/CN110096237A/zh
Priority to KR1020200016815A priority patent/KR102289192B1/ko
Priority to JP2020069789A priority patent/JP6940645B2/ja
Priority to US16/852,746 priority patent/US11119688B2/en
Application granted granted Critical
Publication of CN110096237B publication Critical patent/CN110096237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

本公开提供了一种基于Raft协议的副本处理方法,包括:针对每个复制组对应的待处理节点,确定该待处理节点对应的待清理副本,该复制组包括第一节点和至少一个第二节点;针对每个复制组对应的待处理节点,获取该待处理节点对应的复制组的副本配置信息,副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本;针对每个复制组对应的待处理节点,判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本,若是,保留该待处理节点对应的待清理副本,若否,删除该待处理节点对应的待清理副本。本公开还提供了副本处理节点、分布式存储系统、服务器及计算机可读介质。

Description

副本处理方法及节点、存储系统、服务器、可读介质
技术领域
本公开实施例涉及通信领域,特别涉及基于Raft协议的副本处理方法及副本处理节点、分布式存储系统、服务器、计算机可读介质。
背景技术
垃圾清理是分布式块存储系统设计中的重要内容,传统的垃圾清理方法通常是:数据存储节点(BlockServer)询问元数据服务器(Master)该数据存储节点上包含哪些副本(Replica),然后根据这些副本信息,将Master上没有而BlockServer上有的副本清理掉。这种单纯的信任Master的实现方法存在一定的问题,例如,Master的软件难免会有Bug,磁盘会出现故障,Master的元数据还可能被破坏,这些情况都有可能造成Master的副本元数据出错,将使得Master上存储的副本元数据与BlockServer上的副本信息不一致,这样会导致BlockServer错误地将本地副本数据删掉。如果最后该数据存储节点所属的复制组里剩余副本数小于总副本数的一半时,将会造成复制组不可用,甚至数据丢失。
发明内容
本公开实施例提供一种基于Raft协议的副本处理方法及副本处理节点、分布式存储系统、服务器、计算机可读介质。
第一方面,本公开实施例提供一种基于Raft协议的副本处理方法,该副本处理方法包括:
针对每个复制组对应的待处理节点,确定该待处理节点对应的待清理副本,该复制组包括用于存储主副本的第一节点和至少一个用于存储从副本的第二节点;
针对每个复制组对应的待处理节点,获取该待处理节点对应的复制组的副本配置信息,所述副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本;
针对每个复制组对应的待处理节点,判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本,若是,保留该待处理节点对应的待清理副本,若否,删除该待处理节点对应的待清理副本。
在一些实施例中,所述针对每个复制组对应的待处理节点,确定该待处理节点对应的待清理副本包括:
针对每个复制组对应的待处理节点,向元数据服务器发送该待处理节点的第一副本列表的获取请求;
针对每个复制组对应的待处理节点,接收所述元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表;
针对每个复制组对应的待处理节点,根据该待处理节点存储的第二副本列表中的副本和所述第一副本列表中的副本,确定出该待处理节点对应的待清理副本,该待处理节点对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
在一些实施例中,所述针对每个复制组对应的待处理节点,获取该待处理节点对应的复制组的副本配置信息包括:
针对每个复制组对应的待处理节点,根据确定的该待处理节点对应的待清理副本,向该复制组的第一节点发送副本配置信息获取请求,以供该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息。
在一些实施例中,所述副本配置信息获取请求包括空日志,针对每个复制组对应的待处理节点,该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息包括:
该复制组的第一节点将所述空日志发送给该复制组的至少一个第二节点;
当该复制组的第一节点接收到至少预设数量个同步空日志确认信息时,该复制组的第一节点返回所述副本配置信息,所述预设数量为大于或等于该复制组的第一节点和第二节点的总数量的一半的数量。
第二方面,本公开实施例提供一种副本处理节点,所述副本处理节点包括:
确定模块,用于针对每个复制组对应的待处理节点,确定该待处理节点对应的待清理副本,该复制组包括用于存储主副本的第一节点和至少一个用于存储从副本的第二节点;
获取模块,用于针对每个复制组对应的待处理节点,获取该待处理节点对应的复制组的副本配置信息,所述副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本;
判断模块,用于针对每个复制组对应的待处理节点,判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本;
清理模块,用于针对每个复制组对应的待处理节点,若判断模块判断出该待处理节点对应的副本配置信息中包含该待处理节点对应的待清理副本时,保留该待处理节点对应的待清理副本;针对每个复制组对应的待处理节点,若判断模块判断出该待处理节点对应的副本配置信息中不包含该待处理节点对应的待清理副本时,删除该待处理节点对应的待清理副本。
在一些实施例中,所述确定模块具体用于针对每个复制组对应的待处理节点,向元数据服务器发送该待处理节点的第一副本列表的获取请求;针对每个复制组对应的待处理节点,接收所述元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表;针对每个复制组对应的待处理节点,根据该待处理节点存储的第二副本列表中的副本和所述第一副本列表中的副本,确定出该待处理节点对应的待清理副本,该待处理节点对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
在一些实施例中,所述获取模块具体用于针对每个复制组对应的待处理节点,根据确定的该待处理节点对应的待清理副本,向该复制组的第一节点发送副本配置信息获取请求,以供该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息。
在一些实施例中,所述副本配置信息获取请求包括空日志,针对每个复制组对应的待处理节点,该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息包括:
该复制组的第一节点将所述空日志发送给该复制组的至少一个第二节点;
当该复制组的第一节点接收到至少预设数量个同步空日志确认信息时,该复制组的第一节点向所述获取模块返回所述副本配置信息,所述预设数量为大于或等于该复制组的第一节点和第二节点的总数量的一半的数量。
第三方面,本公开实施例提供一种分布式存储系统,该分布式存储系统包括元数据服务器、至少一个复制组和副本处理节点,每个所述复制组包括用于存储主副本的第一节点和至少一个用于存储从副本的第二节点;
针对每个复制组对应的待处理节点,在垃圾清理触发后,所述副本处理节点用于执行如下步骤:
确定该待处理节点对应的待清理副本;
获取该待处理节点对应的复制组的副本配置信息,所述副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本;
判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本,若是,保留该待处理节点对应的待清理副本,若否,删除该待处理节点对应的待清理副本。
在一些实施例中,所述副本处理节点具体用于向元数据服务器发送该待处理节点的第一副本列表的获取请求;接收所述元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表;根据该待处理节点存储的第二副本列表中的副本和所述第一副本列表中的副本,确定出该待处理节点对应的待清理副本,该待处理节点对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
在一些实施例中,所述副本处理节点具体用于根据确定的该待处理节点对应的待清理副本,向该待处理节点对应的复制组的第一节点发送副本配置信息获取请求;
该待处理节点对应的复制组的第一节点用于根据所述副本配置信息获取请求向副本处理节点返回所述副本配置信息。
在一些实施例中,所述副本配置信息获取请求包括空日志,该待处理节点对应的复制组的第一节点具体用于:
将所述空日志发送给该复制组的至少一个第二节点;
当接收到至少预设数量个同步空日志确认信息时,向所述副本处理节点返回所述副本配置信息,所述预设数量为大于或等于该复制组的第一节点和第二节点的总数量的一半的数量。
在一些实施例中,所述分布式存储系统为基于分布式一致性协议Raft的分布式存储系统。
在一些实施例中,针对每个复制组对应的待处理节点,所述副本处理节点为该待处理节点。
第四方面,本公开实施例提供一种服务器,该服务器包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述的副本处理方法。
第五方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如上述的副本处理方法。
本公开实施例提供的基于Raft协议的副本处理方法及副本处理节点、分布式存储系统、服务器、计算机可读介质,在保证复制组的数据安全的前提下进行待清理副本(垃圾)清理,有效避免盲目信任元数据服务器而导致副本被误删的现象,从而有效防止复制组的不可用现象发生和数据丢失现象发生。
附图说明
附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种基于Raft协议的副本处理方法的流程图;
图2为本公开实施例中步骤11的一种具体实施方式的流程图;
图3为本公开实施例中步骤12的一种具体实施方式的流程图;
图4为本公开实施例所提供的副本处理方法的一种应用示意图;
图5为本公开实施例提供的一种副本处理节点的结构示意图;
图6为本公开实施例提供的一种分布式存储系统的结构示意图;
图7为本公开实施例提供的另一种分布式存储系统的结构示意图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的基于Raft协议的副本处理方法及副本处理节点、分布式存储系统、服务器、计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
图1为本公开实施例提供的一种基于Raft协议的副本处理方法的流程图,如图1所示,该副本处理方法包括:
步骤11、针对每个复制组对应的待处理节点,副本处理节点确定该待处理节点对应的待清理副本,该复制组包括用于存储主副本的第一节点和至少一个用于存储从副本的第二节点。
在基于分布式一致性协议即Raft协议的分布式存储系统中,分布式存储系统一般包括至少一个复制组(Raft Replica Group),每个复制组包括用于存取数据的主副本的主进程,还包括至少一个用于存取数据的从副本的从进程,以便备份数据。主进程被称为Leader,从进程被称为Follower。在本公开实施例中,主进程称为第一节点,从进程称为第二节点。在本公开实施例中第一节点、第二节点也可以统称为数据存储节点(BlockServer)。
在本公开实施例中,针对每个复制组中的每个第二节点,按照存储策略,该第二节点被元数据服务器(Master)踢出该复制组后,该第二节点成为待处理节点。
在本公开实施例中,在步骤11中,针对每个复制组对应的待处理节点,副本处理节点确定该待处理节点对应的待清理副本。在本公开实施例中,针对每个复制组对应的待处理节点,副本处理节点为该待处理节点,即为按照存储策略已被踢出复制组的第二节点。在一些实施例中,副本处理节点还可以为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备、服务器或者系统等。
在一些实施例中,针对每个复制组对应的待处理节点,当副本处理节点为该待处理节点时,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤11中,该待处理节点(副本处理节点)首先确定该待处理节点(副本处理节点)上的待清理副本,而后执行后续步骤,以对该待处理节点(副本处理节点)上的待清理副本(Replica)进行处理。
在一些实施例中,针对每个复制组对应的待处理节点,当副本处理节点为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备或者系统时,在垃圾清理触发后,针对每个复制组对应的待处理节点,该副本处理节点首先确定该待处理节点上的待清理副本,而后执行后续步骤,以对该待处理节点上的待清理副本(Replica)进行处理。
图2为本公开实施例中步骤11的一种具体实施方式的流程图,在一些实施例中,如图2所示,步骤11包括步骤11A至步骤11C:
步骤11A、针对每个复制组对应的待处理节点,副本处理节点向元数据服务器发送该待处理节点的第一副本列表的获取请求。
在分布式存储系统中,分布式存储系统还包括元数据服务器(Master),元数据服务器用于存储该分布式存储系统的所有元数据,包括各复制组的各第一节点的所有副本元数据(副本列表)和各第二节点的所有副本元数据(副本列表)。针对每个复制组中的每个第二节点,按照存储策略,该第二节点被元数据服务器踢出该复制组后成为待处理节点,元数据服务器上仍然存储有该第二节点(待处理节点)的副本列表(第一副本列表)。
在本公开实施例中,在步骤11A中,针对每个复制组对应的待处理节点,副本处理节点向元数据服务器发送该待处理节点的第一副本列表的获取请求。
在一些实施例中,针对每个复制组对应的待处理节点,该副本处理节点为该待处理节点,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤11A中,该待处理节点(副本处理节点)询问元数据服务器本节点上的第一副本列表,第一副本列表为元数据服务器上存储的该待处理节点(副本处理节点)的副本列表。
在一些实施例中,针对每个复制组对应的待处理节点,该副本处理节点为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备或者系统,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤11A中,该副本处理节点询问元数据服务器该待处理节点上的第一副本列表,第一副本列表为元数据服务器上存储的该待处理节点的副本列表。
步骤11B、针对每个复制组对应的待处理节点,副本处理节点接收元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表。
在本公开实施例中,在步骤11B中,针对每个复制组对应的待处理节点,副本处理节点接收元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表。在一些实施例中,第一副本列表包括至少一个副本;在一些实施例中,第一副本列表中副本的数量为0。第一副本列表中副本的数量具体根据实际情况而定,本公开实施例对此不作限定。
在一些实施例中,针对每个复制组对应的待处理节点,该副本处理节点为该待处理节点,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤11B中,该待处理节点(副本处理节点)接收元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表。
在一些实施例中,该副本处理节点为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备或者系统,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤11B中,该副本处理节点接收元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表。
步骤11C、针对每个复制组对应的待处理节点,根据该待处理节点存储的第二副本列表中的副本和获取的第一副本列表中的副本,确定出该待处理节点对应的待清理副本。
在本公开实施例中,在步骤11C中,针对每个复制组对应的待处理节点,副本处理节点根据该待处理节点存储的第二副本列表中的副本和第一副本列表中的副本,确定出该待处理节点对应的待清理副本。其中,该待处理节点对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
在一些实施例中,针对每个复制组对应的待处理节点,该副本处理节点为该待处理节点,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤11C中,该待处理节点(副本处理节点)根据预先存储的第二副本列表中的副本和从元数据服务器处获取的第一副本列表中的副本,确定出该待处理节点(副本处理节点)上的待清理副本。换言之,该待处理节点(副本处理节点)将自身存储的第二副本列表中的副本和获取的元数据服务器上存储的该待处理节点(副本处理节点)的第一副本列表中的副本进行比对,从而确定出第二副本列表中有而第一副本列表中没有的副本,并将第二副本列表中有而第一副本列表中没有的副本确定为待清理副本。
在一些实施例中,该副本处理节点为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备或者系统,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤11C中,该副本处理节点在获取元数据服务器上存储的该待处理节点的第一副本列表后,还获取该待处理节点上存储的第二副本列表,而后根据该待处理节点上存储的第二副本列表中的副本和元数据服务器上存储的该待处理节点的第一副本列表中的副本,确定出待清理副本。
例如,第一副本列表为{S2,S3,…,Sn},其中,Sn表示副本,第二副本列表为{S1,S2,S3,…,Sn},对比可知,S1为第二副本列表中有而第一副本列表中没有的副本,即S1为待清理副本。
步骤12、针对每个复制组对应的待处理节点,副本处理节点获取该待处理节点对应的复制组的副本配置信息。
在本公开实施例中,在步骤12中,针对每个复制组对应的待处理节点,副本处理节点获取该待处理节点对应的复制组的副本配置信息。其中,该副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本。需要说明的是,在本公开实施例中,针对每个复制组,该复制组的第一节点和各第二节点均存储有该复制组的副本配置信息。
在一些实施例中,针对每个复制组对应的待处理节点,该副本处理节点为该待处理节点,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤12中,该待处理节点(副本处理节点)获取该待处理节点(副本处理节点)对应的复制组的副本配置信息。
在一些实施例中,该副本处理节点为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备或者系统,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤12中,该副本处理节点获取该待处理节点对应的复制组的副本配置信息。
图3为本公开实施例中步骤12的一种具体实施方式的流程图,在一些实施例中,如图3所示,步骤12包括:
步骤12A、针对每个复制组对应的待处理节点,副本处理节点根据确定的该待处理节点对应的待清理副本,向该复制组的第一节点发送副本配置信息获取请求。
步骤12B针对每个复制组对应的待处理节点,副本处理节点接收该待处理节点对应的复制组的第一节点根据副本配置信息获取请求返回的副本配置信息。
在一些实施例中,针对每个复制组对应的待处理节点,该副本处理节点为该待处理节点,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤12A中,该待处理节点(副本处理节点)根据确定的待清理副本,向对应的复制组的第一节点发送副本配置信息获取请求,在步骤12B中,该待处理节点(副本处理节点)接收该对应的复制组的第一节点根据副本配置信息获取请求返回的副本配置信息。
在一些实施例中,该副本处理节点为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备或者系统,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤12A中,该副本处理节点根据确定该待处理节点上的待清理副本,通过该待处理节点向该待处理节点对应的复制组的第一节点发送副本配置信息获取请求,在步骤12B中,该副本处理节点接收该待处理节点对应的复制组的第一节点根据副本配置信息获取请求返回的副本配置信息。
在一些实施例中,副本配置信息获取请求包括空日志,步骤12B之前还包括步骤12A1至步骤12A3,即针对每个复制组对应的待处理节点,该待处理节点对应的复制组的第一节点根据副本配置信息获取请求返回副本配置信息包括:
步骤12A1、该复制组的第一节点将空日志发送给该复制组的至少一个第二节点。
在步骤12A1中,针对每个复制组对应的待处理节点,该待处理节点对应的复制组的第一节点接收到副本处理节点发送的副本配置信息获取请求后,将副本配置信息获取请求中的空日志同步发送至该复制组的至少一个第二节点,其中,空日志为Raft空日志。
步骤12A2、当该复制组的第一节点接收到至少预设数量个同步空日志确认信息时,该复制组的第一节点向副本处理节点返回副本配置信息。
在步骤12A2中,针对每个复制组对应的待处理节点,该复制组的至少一个第二节点接收到空日志后,接收到空日志的各第二节点分别向该复制组的第一节点返回同步空日志确认信息,当该复制组的第一节点接收到至少预设数量个第二节点返回的同步空日志确认信息时,表明大多数第二节点接受了该空日志,说明该复制组是正常的,故该复制组的第一节点可以向副本处理节点返回该复制组的副本配置信息。
针对每个复制组对应的待处理节点,通过向该复制组的第一节点写入空日志,该复制组的第一节点将空日志同步至该复制组中的各第二节点,当判断出空日志能够被提交到该复制组中的第一节点和第二节点的数量大于或等于预设数量时,表明该复制组是正常的,即通过写入空日志的方式来检测复制组是否正常。因此,该复制组的第一节点在接收到该复制组中的大多数(至少预设数量)同步空日志确认信息后,将副本配置信息返回给副本处理节点。
在步骤12A2中,针对每个复制组,所述预设数量为大于或等于该复制组的第一节点和第二节点的总数量的一半的数量,不难理解,前述“至少预设数量”是指大于或等于预设数量的数量。
需要说明的是,针对每个复制组,该复制组的第一节点在接收到空日志后,该第一节点自身将生成同步空日志确认信息,该复制组的各第二节点接收到空日志后,该复制组的各第二节点也将生成同步空日志确认信息。当该复制组的第一节点接收到至少预设数量个同步空日志确认信息时(当该第一节点已生成同步空日志确认信息时,该至少预设数量个同步空日志确认信息中包括该第一节点生成的同步空日志确认信息),向副本处理节点返回副本配置信息。
步骤13、针对每个复制组对应的待处理节点,副本处理节点判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本,若是,保留该待处理节点对应的待清理副本,若否,删除该待处理节点对应的待清理副本。
在一些实施例中,针对每个复制组对应的待处理节点,该副本处理节点为该待处理节点,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤13中,该待处理节点(副本处理节点)判断该待处理节点(副本处理节点)对应的复制组的副本配置信息中是否包含该待处理节点(副本处理节点)上的待清理副本,若是,则该待处理节点(副本处理节点)保留该待处理节点(副本处理节点)上的待清理副本,否则删除该待处理节点(副本处理节点)上的待清理副本。
在一些实施例中,该副本处理节点为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备或者系统,在垃圾清理触发后,针对每个复制组对应的待处理节点,在步骤13中,该副本处理节点判断该待处理节点对应的复制组的副本配置信息中是否包含该待处理节点上的待清理副本,若是,则该副本处理节点保留该待处理节点上的待清理副本,否则删除该待处理节点上的待清理副本。
图4为本公开实施例所提供的副本处理方法的一种应用示意图,图4示出了基于Raft协议的分布式存储系统包括一个复制组的情况,如图4所示,分布式存储系统包括元数据服务器A、复制组B和副本处理节点,其中,复制组B包括第一节点2、第二节点1、第二节点3和第二节点4,位于第二节点1上的副本根据存储策略被踢出复制组B,该第二节点1成为待处理节点1,图4示出了副本处理节点为复制组B对应的待处理节点1的情况,以副本处理节点为复制组B对应的待处理节点1为例,在垃圾清理触发后,待处理节点1首先向元数据服务器A询问元数据服务器A存储的本节点(待处理节点1)对应的第一副本列表;待处理节点1在接收到第一副本列表后,将自身存储的第二副本列表中的副本与第一副本列表中的副本进行比对,确定出本节点(待处理节点1)上的待清理副本;而后,向对应的复制组B的第一节点2写入一条空日志;第一节点2将空日志同步发送至第二节点3和第二节点4;第二节点3向第一节点2返回同步空日志确认信息,第二节点4向第一节点2返回同步空日志确认信息;而后,第一节点2向待处理节点1返回复制组B的副本配置信息;待处理节点1判断副本配置信息中是否包含待清理副本,如果包含,则不删除该待清理副本,否则删除该待清理副本。
本公开实施例所提供的副本处理方法中,在确定分布式存储系统中的复制组对应的待处理节点上的待清理副本后,不立即删除待清理副本,而是获取该待处理节点对应的复制组的副本配置信息,判断该副本配置信息中是否包含待清理副本,若是,则表明删除该待清理副本将破坏复制组的数据安全,故保留该待处理节点上的待清理副本,若否,则表明可安全删除该待处理节点上的待清理副本,故删除该待处理节点上的待清理副本。
本公开实施例所提供的副本处理方法,在保证复制组的数据安全的前提下进行待清理副本(垃圾)清理,有效避免盲目信任元数据服务器而导致副本被误删的现象,从而有效防止复制组的不可用现象发生和数据丢失现象发生。
图5为本公开实施例提供的一种副本处理节点的结构示意图,如图5所示,该副本处理节点用于实现上述的副本处理方法,该副本处理节点包括:确定模块21、获取模块22、判断模块23和清理模块24。
其中,确定模块21用于针对每个复制组对应的待处理节点,确定该待处理节点对应的待清理副本,该复制组包括用于存储主副本的第一节点和至少一个用于存储从副本的第二节点。
获取模块22用于针对每个复制组对应的待处理节点,获取该待处理节点对应的复制组的副本配置信息,所述副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本。
判断模块23用于针对每个复制组对应的待处理节点,判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本。
清理模块24用于针对每个复制组对应的待处理节点,若判断模块23判断出该待处理节点对应的副本配置信息中包含该待处理节点对应的待清理副本时,保留该待处理节点对应的待清理副本;针对每个复制组对应的待处理节点,若判断模块23判断出该待处理节点对应的副本配置信息中不包含该待处理节点对应的待清理副本时,删除该待处理节点对应的待清理副本。
在一些实施例中,确定模块21具体用于针对每个复制组对应的待处理节点,向元数据服务器发送该待处理节点的第一副本列表的获取请求;针对每个复制组对应的待处理节点,接收所述元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表;针对每个复制组对应的待处理节点,根据该待处理节点存储的第二副本列表中的副本和所述第一副本列表中的副本,确定出该待处理节点对应的待清理副本,该待处理节点对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
在一些实施例中,获取模块22具体用于针对每个复制组对应的待处理节点,根据确定的该待处理节点对应的待清理副本,向该复制组的第一节点发送副本配置信息获取请求,以供该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息。
在一些实施例中,副本配置信息获取请求包括空日志,针对每个复制组对应的每个第二节点,该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息包括:该复制组的第一节点将所述空日志发送给该复制组的至少一个第二节点;当该复制组的第一节点接收到至少预设数量个同步空日志确认信息时,该复制组的第一节点向所述获取模块22返回所述副本配置信息。
在本公开实施例中,针对每个复制组中的每个第二节点,根据存储策略,该第二节点被踢出该复制组成为待处理节点。
在本公开实施例中,针对每个复制组对应的待处理节点,该副本处理节点可以为该待处理节点。在一些实施例中,该副本处理节点还可以为用于对复制组对应的待处理节点上的待清理副本进行处理的装置、设备、服务器或者系统等。
此外,本公开实施例所提供的副本处理节点具体用于实现前述副本处理方法,具体可参见前述副本处理方法的描述,此处不再赘述。
图6为本公开实施例提供的一种分布式存储系统的结构示意图,如图6所示,该分布式存储系统用于实现上述的副本处理方法,该分布式存储系统包括:元数据服务器31、至少一个复制组32、待处理节点323、和副本处理节点33,每个复制组32包括用于存储主副本的第一节点321和至少一个用于存储从副本的第二节点322。
针对每个复制组32对应的待处理节点323,在垃圾清理触发后,该副本处理节点33用于执行如下步骤41至步骤43:
步骤41、确定该待处理节点对应的待清理副本。
步骤42、获取该待处理节点对应的复制组的副本配置信息,所述副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本。
步骤43、判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本,若是,保留该待处理节点对应的待清理副本,若否,删除该待处理节点对应的待清理副本。
在一些实施例中,副本处理节点33具体用于向元数据服务器31发送该待处理节点323的第一副本列表的获取请求;接收所述元数据服务器31根据该待处理节点的第一副本列表的获取请求返回的第一副本列表;根据该待处理节点323存储的第二副本列表中的副本和所述第一副本列表中的副本,确定出该待处理节点323对应的待清理副本,该待处理节点323对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
在一些实施例中,副本处理节点33具体用于根据确定的该待处理节点323对应的待清理副本,向该待处理节点323对应的复制组32的第一节点321发送副本配置信息获取请求;该待处理节点323对应的复制组32的第一节点321用于根据所述副本配置信息获取请求向副本处理节点33返回所述副本配置信息。
在一些实施例中,副本配置信息获取请求包括空日志,针对每个复制组对应的待处理节点323,该待处理节点323对应的复制组32的第一节点321具体用于:将所述空日志发送给该复制组32的至少一个第二节点322;当接收到至少预设数量个同步空日志确认信息时,向所述副本处理节点33返回所述副本配置信息。
在本公开实施例中,分布式存储系统为基于分布式一致性协议Raft的分布式存储系统。
图7为本公开实施例提供的另一种分布式存储系统的结构示意图,在一些实施例中,如图7所示,针对每个复制组32对应的待处理节点323,副本处理节点33为该待处理节点323。
需要说明的是,图6和图7均仅示出了一个复制组且该复制组包括多个第二节点的情况。
此外,本公开实施例所提供的分布式存储系统中,在垃圾清理触发后,副本处理节点用于实现前述副本处理方法,具体可参见前述副本处理方法的描述,此处不再赘述。
本公开实施例还提供了一种服务器,该服务器包括:一个或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现前述的副本处理方法。
本公开实施例还提供了一计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被执行时实现前述的副本处理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

Claims (16)

1.一种基于Raft协议的副本处理方法,包括:
针对每个复制组对应的待处理节点,确定该待处理节点对应的待清理副本,该复制组包括用于存储主副本的第一节点和至少一个用于存储从副本的第二节点;
针对每个复制组对应的待处理节点,获取该待处理节点对应的复制组的副本配置信息,所述副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本;
针对每个复制组对应的待处理节点,判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本,若是,保留该待处理节点对应的待清理副本,若否,删除该待处理节点对应的待清理副本。
2.根据权利要求1所述的副本处理方法,其中,所述针对每个复制组对应的待处理节点,确定该待处理节点对应的待清理副本包括:
针对每个复制组对应的待处理节点,向元数据服务器发送该待处理节点的第一副本列表的获取请求;
针对每个复制组对应的待处理节点,接收所述元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表;
针对每个复制组对应的待处理节点,根据该待处理节点存储的第二副本列表中的副本和所述第一副本列表中的副本,确定出该待处理节点对应的待清理副本,该待处理节点对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
3.根据权利要求1所述的副本处理方法,其中,所述针对每个复制组对应的待处理节点,获取该待处理节点对应的复制组的副本配置信息包括:
针对每个复制组对应的待处理节点,根据确定的该待处理节点对应的待清理副本,向该复制组的第一节点发送副本配置信息获取请求,以供该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息。
4.根据权利要求3所述的副本处理方法,其中,所述副本配置信息获取请求包括空日志,针对每个复制组对应的待处理节点,该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息包括:
该复制组的第一节点将所述空日志发送给该复制组的至少一个第二节点;
当该复制组的第一节点接收到至少预设数量个同步空日志确认信息时,该复制组的第一节点返回所述副本配置信息,所述预设数量为大于或等于该复制组的第一节点和第二节点的总数量的一半的数量。
5.一种副本处理节点,包括:
确定模块,用于针对每个复制组对应的待处理节点,确定该待处理节点对应的待清理副本,该复制组包括用于存储主副本的第一节点和至少一个用于存储从副本的第二节点;
获取模块,用于针对每个复制组对应的待处理节点,获取该待处理节点对应的复制组的副本配置信息,所述副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本;
判断模块,用于针对每个复制组对应的待处理节点,判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本;
清理模块,用于针对每个复制组对应的待处理节点,若判断模块判断出该待处理节点对应的副本配置信息中包含该待处理节点对应的待清理副本时,保留该待处理节点对应的待清理副本;针对每个复制组对应的待处理节点,若判断模块判断出该待处理节点对应的副本配置信息中不包含该待处理节点对应的待清理副本时,删除该待处理节点对应的待清理副本。
6.根据权利要求5所述的副本处理节点,其中,所述确定模块具体用于针对每个复制组对应的待处理节点,向元数据服务器发送该待处理节点的第一副本列表的获取请求;针对每个复制组对应的待处理节点,接收所述元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表;针对每个复制组对应的待处理节点,根据该待处理节点存储的第二副本列表中的副本和所述第一副本列表中的副本,确定出该待处理节点对应的待清理副本,该待处理节点对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
7.根据权利要求5所述的副本处理节点,其中,所述获取模块具体用于针对每个复制组对应的待处理节点,根据确定的该待处理节点对应的待清理副本,向该复制组的第一节点发送副本配置信息获取请求,以供该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息。
8.根据权利要求7所述的副本处理节点,其中,所述副本配置信息获取请求包括空日志,针对每个复制组对应的待处理节点,该复制组的第一节点根据所述副本配置信息获取请求返回所述副本配置信息包括:
该复制组的第一节点将所述空日志发送给该复制组的至少一个第二节点;
当该复制组的第一节点接收到至少预设数量个同步空日志确认信息时,该复制组的第一节点向所述获取模块返回所述副本配置信息,所述预设数量为大于或等于该复制组的第一节点和第二节点的总数量的一半的数量。
9.一种分布式存储系统,包括元数据服务器、至少一个复制组和副本处理节点,每个所述复制组包括用于存储主副本的第一节点和至少一个用于存储从副本的第二节点;
针对每个复制组对应的待处理节点,在垃圾清理触发后,所述副本处理节点用于执行如下步骤:
确定该待处理节点对应的待清理副本;
获取该待处理节点对应的复制组的副本配置信息,所述副本配置信息包括该复制组的第一节点存储的主副本和该复制组的至少一个第二节点存储的从副本;
判断该待处理节点对应的副本配置信息中是否包含该待处理节点对应的待清理副本,若是,保留该待处理节点对应的待清理副本,若否,删除该待处理节点对应的待清理副本。
10.根据权利要求9所述的分布式存储系统,其中,所述副本处理节点具体用于向元数据服务器发送该待处理节点的第一副本列表的获取请求;接收所述元数据服务器根据该待处理节点的第一副本列表的获取请求返回的第一副本列表;根据该待处理节点存储的第二副本列表中的副本和所述第一副本列表中的副本,确定出该待处理节点对应的待清理副本,该待处理节点对应的待清理副本为所述第二副本列表中有而所述第一副本列表中没有的副本。
11.根据权利要求9所述的分布式存储系统,其中,所述副本处理节点具体用于根据确定的该待处理节点对应的待清理副本,向该待处理节点对应的复制组的第一节点发送副本配置信息获取请求;
该待处理节点对应的复制组的第一节点用于根据所述副本配置信息获取请求向副本处理节点返回所述副本配置信息。
12.根据权利要求11所述的分布式存储系统,其中,所述副本配置信息获取请求包括空日志,该待处理节点对应的复制组的第一节点具体用于:
将所述空日志发送给该复制组的至少一个第二节点;
当接收到至少预设数量个同步空日志确认信息时,向所述副本处理节点返回所述副本配置信息,所述预设数量为大于或等于该复制组的第一节点和第二节点的总数量的一半的数量。
13.根据权利要求9至12任一所述的分布式存储系统,其中,所述分布式存储系统为基于分布式一致性协议Raft的分布式存储系统。
14.根据权利要求9至12任一所述的分布式存储系统,其中,针对每个复制组对应的待处理节点,所述副本处理节点为该待处理节点。
15.一种服务器,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-4中任一所述的副本处理方法。
16.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如权利要求1-4中任一所述的副本处理方法。
CN201910363193.XA 2019-04-30 2019-04-30 副本处理方法及节点、存储系统、服务器、可读介质 Active CN110096237B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910363193.XA CN110096237B (zh) 2019-04-30 2019-04-30 副本处理方法及节点、存储系统、服务器、可读介质
KR1020200016815A KR102289192B1 (ko) 2019-04-30 2020-02-12 사본 처리 방법 및 노드, 저장 시스템, 서버, 판독 가능 저장 매체
JP2020069789A JP6940645B2 (ja) 2019-04-30 2020-04-08 レプリカ処理方法、ノード、ストレージシステム、サーバ及び読み取り可能な記憶媒体
US16/852,746 US11119688B2 (en) 2019-04-30 2020-04-20 Replica processing method and node, storage system, server, and readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910363193.XA CN110096237B (zh) 2019-04-30 2019-04-30 副本处理方法及节点、存储系统、服务器、可读介质

Publications (2)

Publication Number Publication Date
CN110096237A true CN110096237A (zh) 2019-08-06
CN110096237B CN110096237B (zh) 2022-02-08

Family

ID=67446681

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910363193.XA Active CN110096237B (zh) 2019-04-30 2019-04-30 副本处理方法及节点、存储系统、服务器、可读介质

Country Status (4)

Country Link
US (1) US11119688B2 (zh)
JP (1) JP6940645B2 (zh)
KR (1) KR102289192B1 (zh)
CN (1) CN110096237B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021082465A1 (zh) * 2019-10-31 2021-05-06 华为技术有限公司 一种保证数据一致性的方法及相关设备
CN113656501A (zh) * 2021-08-18 2021-11-16 北京百度网讯科技有限公司 一种数据读取方法、装置、设备以及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806316B (zh) * 2021-09-15 2022-06-21 星环众志科技(北京)有限公司 一种文件同步方法、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157165A (ja) * 2003-11-28 2005-06-16 Xing Inc コンテンツ配信システム
CN105144161A (zh) * 2013-03-13 2015-12-09 亚马逊科技公司 针对复制写入的基于令牌的准入控制
CN105550229A (zh) * 2015-12-07 2016-05-04 北京奇虎科技有限公司 分布式存储系统数据修复的方法和装置
US9396202B1 (en) * 2013-12-27 2016-07-19 Google Inc. Weakly synchronized garbage collection and compaction for aggregated, replicated object stores
US20170116095A1 (en) * 2015-10-27 2017-04-27 Netapp, Inc. Third vote consensus in a cluster using shared storage devices
US20170177448A1 (en) * 2015-12-16 2017-06-22 Netapp, Inc. Optimized file system layout for distributed consensus protocol
US20170364273A1 (en) * 2016-06-16 2017-12-21 Sap Se Consensus protocol enhancements for supporting flexible durability options
US20180225052A1 (en) * 2017-02-09 2018-08-09 Hewlett Packard Enterprise Development Lp Modifying membership of replication groups via journal operations
CN108415986A (zh) * 2018-02-11 2018-08-17 杭州朗和科技有限公司 一种数据处理方法、装置、系统、介质和计算设备
CN109347655A (zh) * 2018-09-11 2019-02-15 上海天旦网络科技发展有限公司 基于网络数据的故障恢复系统和方法及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001318921A (ja) * 2000-05-10 2001-11-16 Misawa Homes Co Ltd データベースシステム及び端末装置
US9355100B2 (en) * 2008-09-22 2016-05-31 Qualcomm Incorporated Methods and apparatus for reconciling versions of media context lists in communications networks
US9135164B2 (en) * 2013-03-15 2015-09-15 Virident Systems Inc. Synchronous mirroring in non-volatile memory systems
KR101592860B1 (ko) * 2015-01-23 2016-02-12 경북대학교 산학협력단 사물인터넷 기기를 이용한 분산형 데이터 저장 시스템 및 그 운영방법
US10884869B2 (en) * 2015-04-16 2021-01-05 Nuodb, Inc. Backup and restore in a distributed database utilizing consistent database snapshots
US10402115B2 (en) * 2016-11-29 2019-09-03 Sap, Se State machine abstraction for log-based consensus protocols
JP7312251B2 (ja) * 2018-10-15 2023-07-20 ネットアップ,インコーポレイテッド 様々なデータ冗長性スキームを備えた、システムにおける利用可能なストレージ空間を改善すること

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157165A (ja) * 2003-11-28 2005-06-16 Xing Inc コンテンツ配信システム
CN105144161A (zh) * 2013-03-13 2015-12-09 亚马逊科技公司 针对复制写入的基于令牌的准入控制
US9396202B1 (en) * 2013-12-27 2016-07-19 Google Inc. Weakly synchronized garbage collection and compaction for aggregated, replicated object stores
US20170116095A1 (en) * 2015-10-27 2017-04-27 Netapp, Inc. Third vote consensus in a cluster using shared storage devices
CN105550229A (zh) * 2015-12-07 2016-05-04 北京奇虎科技有限公司 分布式存储系统数据修复的方法和装置
US20170177448A1 (en) * 2015-12-16 2017-06-22 Netapp, Inc. Optimized file system layout for distributed consensus protocol
US20170364273A1 (en) * 2016-06-16 2017-12-21 Sap Se Consensus protocol enhancements for supporting flexible durability options
US20180225052A1 (en) * 2017-02-09 2018-08-09 Hewlett Packard Enterprise Development Lp Modifying membership of replication groups via journal operations
CN108415986A (zh) * 2018-02-11 2018-08-17 杭州朗和科技有限公司 一种数据处理方法、装置、系统、介质和计算设备
CN109347655A (zh) * 2018-09-11 2019-02-15 上海天旦网络科技发展有限公司 基于网络数据的故障恢复系统和方法及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021082465A1 (zh) * 2019-10-31 2021-05-06 华为技术有限公司 一种保证数据一致性的方法及相关设备
CN113656501A (zh) * 2021-08-18 2021-11-16 北京百度网讯科技有限公司 一种数据读取方法、装置、设备以及存储介质
CN113656501B (zh) * 2021-08-18 2024-01-12 北京百度网讯科技有限公司 一种数据读取方法、装置、设备以及存储介质

Also Published As

Publication number Publication date
KR20200127122A (ko) 2020-11-10
US11119688B2 (en) 2021-09-14
JP2020184325A (ja) 2020-11-12
CN110096237B (zh) 2022-02-08
JP6940645B2 (ja) 2021-09-29
US20200348849A1 (en) 2020-11-05
KR102289192B1 (ko) 2021-08-12

Similar Documents

Publication Publication Date Title
US10178184B2 (en) System and method for session handling in a multitenant application server environment
CN110138588A (zh) 配置文件自动化管理方法和系统、配置管理平台和客户端
CN107426265A (zh) 数据一致性同步的方法及设备
CN109101341A (zh) 分布式锁的分配方法及设备
CN110096237A (zh) 副本处理方法及节点、存储系统、服务器、可读介质
CN106843749A (zh) 写入请求处理方法、装置及设备
CN101136728A (zh) 群集系统和用于备份群集系统中的副本的方法
CN111314479A (zh) 一种数据处理方法和设备
CN106325768B (zh) 一种双机存储系统及方法
US8612799B2 (en) Method and apparatus of backing up subversion repository
CN108762982A (zh) 一种数据库恢复方法、装置及系统
CN116389233B (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备
JP2011522337A (ja) サーバクラスタに配信されるコンピュータシステムのソフトウェアモジュールの同期化方法、同期化システムおよびデータストレージへの適用
CN110659303A (zh) 一种数据库节点的读写控制方法及装置
CN115878361A (zh) 数据库集群的节点管理方法、装置及电子设备
CN106354830B (zh) 一种数据库集群节点间数据同步的方法及装置
CN114968656A (zh) 一种数据回滚方法、装置、设备及介质
CN113890875B (zh) 任务分配方法及装置
CN115480914B (zh) 一种多租户服务的实现方法及系统
US11853177B2 (en) Global entity distribution
US9747166B2 (en) Self healing cluster of a content management system
CN116069868B (zh) 基于企业微服务的分布式柔性事务处理方法和装置
US20220229741A1 (en) Protecting databases in a clusterless availability group
KR20130043823A (ko) 로그에 기반하여 데이터 정합성을 유지하는 분산 저장 시스템 및 방법
CN106375354A (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
GR01 Patent grant
GR01 Patent grant