CN112468601A - 一种分布式存储系统的数据同步方法、访问方法及系统 - Google Patents

一种分布式存储系统的数据同步方法、访问方法及系统 Download PDF

Info

Publication number
CN112468601A
CN112468601A CN202110145700.XA CN202110145700A CN112468601A CN 112468601 A CN112468601 A CN 112468601A CN 202110145700 A CN202110145700 A CN 202110145700A CN 112468601 A CN112468601 A CN 112468601A
Authority
CN
China
Prior art keywords
mds
node
metadata
mds node
target
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
CN202110145700.XA
Other languages
English (en)
Other versions
CN112468601B (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.)
Baike Data Technology Shenzhen Co ltd
Original Assignee
Baike Data Technology Shenzhen 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 Baike Data Technology Shenzhen Co ltd filed Critical Baike Data Technology Shenzhen Co ltd
Priority to CN202110145700.XA priority Critical patent/CN112468601B/zh
Publication of CN112468601A publication Critical patent/CN112468601A/zh
Application granted granted Critical
Publication of CN112468601B publication Critical patent/CN112468601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种分布式存储系统的数据同步方法、访问方法及系统,所述数据同步方法包括当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库;该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点。本申请通过部署若干mds节点,并且在元数据池中配置元数据库,各mds节点将元数据库作为缓存数据库,并通过缓存数据库和元数据库进行数据同步,这样可以将请求分配至若干mds节点,从而可以避免分布系统发生阻塞,进而提高了分布系统的性能。

Description

一种分布式存储系统的数据同步方法、访问方法及系统
技术领域
本申请涉及分布式数据存储技术领域,特别涉及一种分布式存储系统的数据同步方法、访问方法及系统。
背景技术
分布式存储系统对外提供了文件存储的访问接口,通过mds节点为客户端提供对文件元数据的访问。在集群规模比较大时,为了缓解单个mds节点的压力,也为了避免由于单点故障造成集群不可访问,通常会配置多个mds节点。然而,现有的分布式存储系统在配置多个普遍mds节点时,普遍采用主备的方式来控制多个mds节点协调工作,作为备份的mds节点不会分担客户端的访问流量,只在主节点崩溃后才作为替代者开始工作,那么即便分布式存储系统在配置多个普遍mds节点,也无法实现流量的分摊。
因而现有技术还有待改进和提高。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种分布式存储系统的数据同步方法、访问方法及系统。
为了解决上述技术问题,本申请实施例第一方面提供了一种分布式存储系统的数据同步方法,所述分布式存储系统包括若干mds节点,所述数据同步方法包括:
当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库,其中,所述缓存数据库为目标mds节点启动时从元数据池获取的;
该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点。
所述分布式存储系统的数据同步方法,其中,所述元数据池中预先存储有元数据库,所述元数据库中的数据以键值对的形式存储。
所述分布式存储系统的数据同步方法,其中,所述当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库之前,所述方法包括:
当若干mds节点中的任一mds节点启动时,该mds节点读取元数据池中的元数据库,并将读取到的元数据库存储于内存以得到该mds节点对应的缓存数据库。
所述分布式存储系统的数据同步方法,其中,所述方法还包括:
对于若干mds节点中的每个mds节点,该mds节点周期性的向其自身存储的缓存数据库中写入状态数据,其中,所述状态数据包括该mds节点的节点标识以及系统时间。
所述分布式存储系统的数据同步方法,其中,所述该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点具体包括:
该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库;
该目标mds节点向各候选mds节点发送更新通知,以使得各候选mds节点读取元数据池中的元数据库,并将所述元数据库中的所述写入数据同步至各自存储的缓存数据库内。
所述分布式存储系统的数据同步方法,其中,所述方法还包括:
该目标mds节点接收各候选mds节点的反馈信息;
当接收到所有候选mds节点发送的反馈信息时,该目标mds节点反馈该写入操作写入成功。
本实施例第二方面提供了一种分布式存储系统的访问方法,所述分布式存储系统基于如上所述的分布式存储系统的数据同步方法同步数据,所述访问方法包括:
当客户端访问所述分布式存储系统时,客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点;
客户端向访问mds节点发送访问请求,以通过该访问mds节点响应该访问请求。
所述分布式存储系统的访问方法,其中,所述分布式存储系统包括mon节点,所述当客户端访问所述分布式存储系统时,客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点之前,所述访问方法还包括:
所述mon节点获取若干mds节点中的各mds节点各自对应的IP地址,并基于各mds节点各自对应的IP地址在元数据库内检索各mds节点各自对应的系统时间;
当存在参考mds节点对应的系统时间与mon节点的系统时间的时间间隔达到预设时长时,所述mon节点将该参考mds节点标记为非活跃状态。
所述分布式存储系统的访问方法,其中,所述客户端向访问mds节点发送访问请求,以通过该访问mds节点响应该访问请求之后,所述访问方法还包括:
所述客户端接收所述访问mds节点发送的响应信息;
当未接收到响应信息时,向mon节点发送反馈信息以使得mon节点基于该反馈信息将所述访问mds节点标记为非活跃状态,并重新执行客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点的步骤。
本申请实施例第三方面提供了一种分布式存储系统,其特征在于,所述分布式存储系统包括若干mds节点以及元数据池,所述元数据池预先存储有元数据库;所述若干mds节点中的每个mds节点均用于在接收到写入操作时,将该写入操作对应的写入数据存储于其身存储的缓存数据库,并通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除该mds节点外的各个候选mds节点,其中,所述缓存数据库为目标mds节点启动时从元数据池获取的。
有益效果:与现有技术相比,本申请提供了一种分布式存储系统的数据同步方法、访问方法及系统,所述数据同步方法包括当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库;该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点。本申请通过部署若干mds节点,并且在元数据池中配置元数据库,各mds节点将元数据库作为缓存数据库,并通过缓存数据库和元数据库进行数据同步,这样可以将请求分配至若干mds节点,从而可以避免分布系统发生阻塞,进而提高了分布系统的性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的分布式存储系统的数据同步方法的流程图。
图2为本申请提供的分布式存储系统的数据同步方法中各元数据服务器更新自身的状态数据的流程示意图。
图3为本申请提供的分布式存储系统的访问方法的流程图。
图4为本申请提供的分布式存储系统的访问方法的流程示例图。
图5为本申请提供的分布式存储系统的访问方法中的mon节点确定各元数据服务器的活跃状态的流程示例图。
图6为本申请提供的分布式存储系统的访问方法与现有访问方法的测试结果对比图。
具体实施方式
本申请提供一种分布式存储系统的数据同步方法、访问方法及系统,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。此外应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,分布式存储系统对外提供了文件存储的访问接口,通过mds节点为客户端提供对文件元数据的访问。在集群规模比较大时,为了缓解单个mds节点的压力,也为了避免由于单点故障造成集群不可访问,通常会配置多个mds节点。然而,现有的分布式存储系统在配置多个普遍mds节点时,普遍采用主备的方式来控制多个mds节点协调工作,作为备份的mds节点不会分担客户端的访问流量,只在主mds节点崩溃后才作为替代者开始工作,那么即便分布式存储系统在配置多个普遍mds节点,也无法实现流量的分摊。
为了解决上述问题,在本申请实施例中,当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库;该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点。本申请通过部署若干mds节点,并且在元数据池中配置元数据库,各mds节点将元数据库作为缓存数据库,并通过缓存数据库和元数据库进行数据同步,这样可以将请求分配至若干mds节点,从而可以避免分布系统发生阻塞,进而提高了分布系统的性能。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施提供了一种分布式存储系统的数据同步方法,所述数据同步方法应用于分布式存储系统,该分布式存储系统包括若干mds节点,每个mds节点均用于为访问该分布式存储系统的客户端提供文件元数据,若干mds节点中的各mds节点之间可以相同通讯,并且若干mds节点中的各mds节点均存储有文件元数据,并且当任一mds节点在进行文件元数据更新时均会通知若干mds节点中的其它mds节点进行数据同步。
基于此,本实施例提供的分布式存储系统的数据同步方法用于分布式存储系统中的若干mds节点之间的元数据同步。如图1所示,所述方法包括:
S10、当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库。
具体地,mds节点为元数据服务器节点,用于为客户端提供对文件元数据的访问,其中,目标mds节点包含于若干mds节点,并且目标mds节点可以为若干mds节点中的任意一个mds节点。所述写入操作用于向目标mds节点内写入元数据,目标mds节点将写入操作写入的元数据存储于其身存储的缓存数据库。其中,目标mds节点自身存储的缓存数据库为目标mds节点启动时从元数据池获取的,换句话说,目标mds节点启动时,会获取元数据池存储的元数据库,并将获取到的元数据库作为缓存数据库存储于内存。
基于此,在本实施例的一个实现方式中,所述当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库之前,所述方法包括:
当若干mds节点中的任一mds节点启动时,该mds节点读取元数据池中的元数据库,并将读取到的元数据库存储于内存以得到该mds节点对应的缓存数据库。
具体地,所述元数据池预先存储有元数据库,所述元数据库内存储有元数据以及各mds节点各自对应的状态数据,其中,各mds节点各自对应的状态数据用于反映各mds节点自身的活跃状态。这样当mds节点启动时,可以通过元数据池中的元数据库来同步若干mds节点中的其它mds节点的状态数据以及分布式存储系统中的元数据,提高了mds节点之间的数据同步效率。
在本实施例的一个实现方式中,所述元数据库以键值对形式存储元数据以及各mds节点各自对应的状态数据,并且元数据库中任意两个键值对的键互不相同。例如,元数据库为哈希表结构的键值数据库,每个mds节点启动时均将元数据池中的元数据库读入内存作为数据库缓存。此外,元数据库中的元数据可以包括元数据属性以及元数据路径,其中,元数据路径为键值对的键,元数据属性为键值对的值,相应的,元数据库中的元数据可以表示为["文件路径":"文件属性"]。
在本实施例的一个实现方式中,各mds节点各自对应的状态数据用于反映各mds节点自身的活跃状态,所述状态数据包括mds节点的节点标识以及系统时间,mds节点会周期性的更新其自身存储的缓存数据库中存储的状态数据,以使得若干mds节点之间可以实时获知其它mds节点的最新状态数据。换句话说,每个mds节点会周期性的向其自身存储的缓存数据库内写入其自身的状态数据,并且将向其自身存储的缓存数据库写入状态数据的操作也作为一次写入操作。由此,本实施中的写入操作包括向缓存数据库写入状态数据的操作,以及向缓存数据库写入元数据的操作。
基于此,在本实施例的一个实现方式中,所述方法还包括:
对于若干mds节点中的每个mds节点,该mds节点周期性的向其自身存储的缓存数据库中写入状态数据。
具体地,所述状态数据包括该mds节点的节点标识以及系统时间,其中,所述mds节点的节点标识为该mds节点的唯一标识,用于表示该mds节点,换句话说,通过该mds节点的节点标识可以确定该mds节点,例如,mds节点的节点标识为mds节点的IP地址。在一个具体实现方式中,如图2所示,mds节点每间隔第一预设时间向其自身存储的缓存数据库写入状态数据,其中,状态数据为以其自身的ip地址为键,以系统时间作为值的键值对,系统数据为写入状态数据对应的写入时间。例如,作为状态数据的键值对为"172.17.0.1:2020-09-24 15:00",其中,172.17.0.1为作为键的mds节点的ip地址,2020-09-24 15:00为作为值的系统时间。此外,所述第一预设时间可以为预先设置的,例如,5秒,6秒等。
S20、该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点。
具体地,若干mds节点中除目标mds节点外的mds节点均为候选mds节点,换句话说,通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个mds节点,以使得若干mds节点中的每个mds节点均可以获取到该写入数据,从而使得各mds节点中存储的元数据同步。
在本实施例的一个实现方式中,所述该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点具体包括:
该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库;
该目标mds节点向各候选mds节点发送更新通知,以使得各候选mds节点读取元数据池中的元数据库,并将所述元数据库中的所述写入数据同步至各自存储的缓存数据库内。
具体地,目标mds节点在接收到写入操作时,将写入操作对应的写入数据存储于其自身存储的缓存数据库内,以保存该写入数据。同时,将其自身存的缓存数据库与元数据池中的元数据库进行比较,以在元数据库中查找与写入数据中的键相同的目标元数据,当查找到目标元数据时,将写入数据中的值更新至目标元数据,以将写入数据同步至元数据库;当未查找到目标元数据时,直接将写入数据存储于元数据库以将写入数据同步至元数据库。
此外,该目标mds节点向各候选mds节点发送更新通知之后,会接收各候选mds节点发送的反馈信息,以便于确定各候选mds节点均同步该写入数据。相应的,在本实施例的一个实现方式中,所述方法还包括:
该目标mds节点接收各候选mds节点的反馈信息;
当接收到所有候选mds节点发送的反馈信息时,该目标mds节点反馈该写入操作写入成功。
具体地,反馈信息为各候选mds节点基于目标mds节点发送的更新通知所生成的,用于反映候选mds节点同步写入数据成功。那么,当目标mds节点接收到每个候选mds节点发送的反馈信息时,说明若干mds节点中的每个mds节点均将该写入数据存储于其自身存储的缓存数据库内,这样可以使得若干mds节点中的每个mds节点中的缓存数据库中存储的元数据相同,从而各mds节点均可以为客户端提供元数据,进而可以避免分布系统发生阻塞,提高了分布系统的性能。
此外,在实际应用中,目标mds节点在工作过程中还可以接收到读操作,当目标mds节点接收到读操作时,确定该读操作对应给的键(例如,读操作携带有键等),并根据确定得到的键在缓存数据表中查找包括该键的键值对,当查找到包括该键的键值对时,将包括该键的键值对中的值反馈给该读操作对应的客户端;当未查找到包括该键的键值对时,反馈读取失败。
综上所述,本实施例提供了一种分布式存储系统的数据同步方法,所述数据同步方法包括当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库;该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点。本申请通过部署若干mds节点,并且在元数据池中配置元数据库,各mds节点将元数据库作为缓存数据库,并通过缓存数据库和元数据库进行数据同步,这样可以将请求分配至若干mds节点,从而可以避免分布系统发生阻塞,进而提高了分布系统的性能。
基于上述分布式存储系统的数据同步方法,本实施例提供了一种分布式存储系统的访问方法,如图3和4所示,所述访问方法包括:
N10、当客户端访问所述分布式存储系统时,客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点;
N20、客户端向访问mds节点发送访问请求,以通过该访问mds节点响应该访问请求。
具体地,客户端通过分布式存储系统提供的文件存储接口挂载分布式存储系统,分布式存储系统包括若干mds节点,并且记录各mds节点的工作状态,其中,所述工作状态包括活跃状态和不活跃状态,活跃状态指的是mds节点可以正常工作,不活跃状态指的是mds节点不可以正常工作。由此,当客户端通过分布式存储系统提供的文件存储接口挂载分布式存储系统时,分布式存储系统会将处于活跃状态的活跃mds节点反馈给客户端,以使得客户端在获取到的活跃mds节点中选取一个(例如,随机选取一个等)活跃mds节点作为访问mds节点,这样可以选取一个活跃mds节点来响应客户端对mds服务的访问,是由于各mds节点之间的数据同步,所有mds节点就好像在从同一个键值数据库中获取数据,从而可以实现了若干mds节点并行响应客户端请求,提高了分布式存储系统的性能。
在本实施例的一个实现方式中,所述分布式存储系统包括mon节点,所述当客户端访问所述分布式存储系统时,客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点之前,所述访问方法还包括:
所述mon节点获取若干mds节点中的各mds节点各自对应的IP地址,并基于各mds节点各自对应的IP地址在元数据库内检索各mds节点各自对应的系统时间;
当存在参考mds节点对应的系统时间与mon节点的系统时间的时间间隔达到预设时长时,所述mon节点将该参考mds节点标记为非活跃状态。
具体地,分布式存储系统中存储有用于保存分布式存储系统中mds节点信息的数据结构图mdsmap,mon(monitor,监视器)节点从mdsmap中获取分布式存储系统中的各mds节点各自对应的节点标识(例如,IP地址等),并以获取到各节点标识为键,在元数据库中查找各mds节点各自对应的系统时间。此外,如图5所示,mon节点每间隔第二预设时间从元数据池中的元数据库中获取各节点标识各自对应的系统时间,并将获取各系统时间与当前时间的时间间隔,并将时间间隔大于第三预设时间的mds节点标记为非活跃状态,将间隔时间小于或者等于第三预设时间的mds节点标记为活跃状态,这样当客户端访问所述分布式存储系统时,可以将标记为活跃状态的mds节点反馈给客户端,这样可以避免因客户端访问处于非活跃状态的mds节点而导致的访问延时或者无响应的问题,从而可以提高客户端的访问效率。
在本实施例的一个实现方式中,所述第二预设时间大于第一预设时间,这样可以使得mon节点在元数据库中读取到各mds节点各自对应的系统时间时,各mds节点在mon节点的相邻两次获取操作之间更新过自身的状态数据,从而可以提高活跃状态和非活跃状态判定的准确性。在一个具体实现方式中,第二预设时间大于或者等于第一预设数据的2倍,第三预设时间等于第二预设时间,例如,第一预设时间为5秒,第二预设时间为10秒,第三预设时间为10秒。当然,在实际应用中,第一预设时间、第二预设时间以及第三预设时间可以根据实际使用需求而设置不同数值,这里就不一一说明。
举例说明:mon节点通过mdsmap获得分布式存储系统中所有mds节点的ip地址,并且每隔10秒从元数据池读到以各mds节点的ip地址为键的系统时间,如果一ip地址对应的系统数据与当前时间的时间间隔超过10秒,或该ip地址的键不存在,则说明该mds节点已经超过10秒没有更新自己的状态数据,此时将该mds节点标记为非活跃状态,否则将该mds节点标记为活跃状态,其中,mds节点会每隔5秒会将自身的ip地址和系统时间以键值对的形式同步至元数据库。
在本实施例的一个实现方式中,所述客户端向访问mds节点发送访问请求,以通过该访问mds节点响应该访问请求之后,所述访问方法还包括:
所述客户端接收所述访问mds节点发送的响应信息;
当未接收到响应信息时,向mon节点发送反馈信息以使得mon节点基于该反馈信息将所述访问mds节点标记为非活跃状态,并重新执行客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点的步骤。
具体地,所述客户端在访问元数据服务后,接收到访问mds节点发送的响应信息,以确定该访问mds节点可以响应客户端的访问请求。此外,客户端会监听预设时间(例如,30秒等)内是否接收到访问mds节点发送的响应信息,若预设时间未接收到访问mds节点发送的响应信息,则向mon节点发送请求以重新获取处于活跃状态的mds节点,并向mon节点反馈访问mds节点未响应,以使得mon节点将访问mds节点标记为非活跃状态。
举例说明:分布式存储系统包括个mds节点,元数据池的数据分布在7个以ssd作为后端存储设备的osd上,测试了使用传统的方式和本实施例提供的访问方法,客户端得到响应所等待的时间,测试结果如图6所示,其中,横轴表示模拟的并行客户端请求数,纵轴表示从发出请求到收到mds回复所等待的时间,单位为微秒。根据如图6所示的测试结果可知,在进行写入访问时,如果访问压力较小,传统的mds工作方式由于不需要与其他进行数据同步,能更快做出响应,但是当随着访问压力加大,传统的方式因为将所有请求都集中在单一mds节点进行处理,很快就会达到性能上的瓶颈,而采用本发实施例提供的访问方法,无论是读请求还是写请求,由于对事件的处理任务被各mds节点平摊,当访问压力较大时,能更好地避免阻塞的发生,性能优势会得到体现。
基于上述分布式存储系统的数据同步方法,本实施例提供了分布式存储系统,其特征在于,所述分布式存储系统包括若干mds节点以及元数据池,所述元数据池预先存储有元数据库;所述若干mds节点中的每个mds节点均用于在接收到写入操作时,将该写入操作对应的写入数据存储于其身存储的缓存数据库,并通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除该mds节点外的各个候选mds节点,其中,所述缓存数据库为目标mds节点启动时从元数据池获取的。
此外,上述分布式存储系统的具体工作过程在上述数据同步方法以及访问方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种分布式存储系统的数据同步方法,其特征在于,所述分布式存储系统包括若干mds节点,所述数据同步方法包括:
当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库,其中,所述缓存数据库为目标mds节点启动时从元数据池获取的;
该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点。
2.根据权利要求1所述分布式存储系统的数据同步方法,其特征在于,所述元数据池中预先存储有元数据库,所述元数据库中的数据以键值对的形式存储。
3.根据权利要求1所述分布式存储系统的数据同步方法,其特征在于,所述当若干mds节点中的任一目标mds节点接收到写入操作时,该目标mds节点将该写入操作对应的写入数据存储于其身存储的缓存数据库之前,所述方法包括:
当若干mds节点中的任一mds节点启动时,该mds节点读取元数据池中的元数据库,并将读取到的元数据库存储于内存以得到该mds节点对应的缓存数据库。
4.根据权利要求1所述分布式存储系统的数据同步方法,其特征在于,所述方法还包括:
对于若干mds节点中的每个mds节点,该mds节点周期性的向其自身存储的缓存数据库中写入状态数据,其中,所述状态数据包括该mds节点的节点标识以及系统时间。
5.根据权利要求1所述分布式存储系统的数据同步方法,其特征在于,所述该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除目标mds节点外的各个候选mds节点具体包括:
该目标mds节点通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库;
该目标mds节点向各候选mds节点发送更新通知,以使得各候选mds节点读取元数据池中的元数据库,并将所述元数据库中的所述写入数据同步至各自存储的缓存数据库内。
6.根据权利要求5所述分布式存储系统的数据同步方法,其特征在于,所述方法还包括:
该目标mds节点接收各候选mds节点的反馈信息;
当接收到所有候选mds节点发送的反馈信息时,该目标mds节点反馈该写入操作写入成功。
7.一种分布式存储系统的访问方法,其中,所述分布式存储系统基于权利要求1-6任一所述的分布式存储系统的数据同步方法同步数据,所述访问方法包括:
当客户端访问所述分布式存储系统时,客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点;
客户端向访问mds节点发送访问请求,以通过该访问mds节点响应该访问请求。
8.根据权利要求7所述分布式存储系统的访问方法,其特征在于,所述分布式存储系统包括mon节点,所述当客户端访问所述分布式存储系统时,客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点之前,所述访问方法还包括:
所述mon节点获取若干mds节点中的各mds节点各自对应的IP地址,并基于各mds节点各自对应的IP地址在元数据库内检索各mds节点各自对应的系统时间;
当存在参考mds节点对应的系统时间与mon节点的系统时间的时间间隔达到预设时长时,所述mon节点将该参考mds节点标记为非活跃状态。
9.根据权利要求7所述分布式存储系统的访问方法,其特征在于,所述客户端向访问mds节点发送访问请求,以通过该访问mds节点响应该访问请求之后,所述访问方法还包括:
所述客户端接收所述访问mds节点发送的响应信息;
当未接收到响应信息时,向mon节点发送反馈信息以使得mon节点基于该反馈信息将所述访问mds节点标记为非活跃状态,并重新执行客户端在所述分布式存储系统中处于活跃状态的活跃mds节点中选取一访问mds节点的步骤。
10.一种分布式存储系统,其特征在于,所述分布式存储系统包括若干mds节点以及元数据池,所述元数据池预先存储有元数据库;所述若干mds节点中的每个mds节点均用于在接收到写入操作时,将该写入操作对应的写入数据存储于其身存储的缓存数据库,并通过其自身存储的缓存数据库将所述写入数据同步至元数据池中的元数据库,以通过元数据库将所述写入数据同步至若干mds节点中除该mds节点外的各个候选mds节点,其中,所述缓存数据库为目标mds节点启动时从元数据池获取的。
CN202110145700.XA 2021-02-03 2021-02-03 一种分布式存储系统的数据同步方法、访问方法及系统 Active CN112468601B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110145700.XA CN112468601B (zh) 2021-02-03 2021-02-03 一种分布式存储系统的数据同步方法、访问方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110145700.XA CN112468601B (zh) 2021-02-03 2021-02-03 一种分布式存储系统的数据同步方法、访问方法及系统

Publications (2)

Publication Number Publication Date
CN112468601A true CN112468601A (zh) 2021-03-09
CN112468601B CN112468601B (zh) 2021-05-18

Family

ID=74802630

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110145700.XA Active CN112468601B (zh) 2021-02-03 2021-02-03 一种分布式存储系统的数据同步方法、访问方法及系统

Country Status (1)

Country Link
CN (1) CN112468601B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988680A (zh) * 2021-03-30 2021-06-18 联想凌拓科技有限公司 数据加速方法、缓存单元、电子设备及存储介质
CN114048269A (zh) * 2022-01-12 2022-02-15 北京奥星贝斯科技有限公司 在分布式数据库中同步更新元数据的方法及装置
CN114465957A (zh) * 2021-12-29 2022-05-10 天翼云科技有限公司 一种数据写入方法及装置
CN116170448A (zh) * 2023-04-20 2023-05-26 河北先见软件科技股份有限公司 一种跨组织的数据共享的方法和存储介质
CN117176743A (zh) * 2023-11-03 2023-12-05 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、可读存储介质及程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023816A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种对象存储系统的对象存放策略和访问方法
US20130218934A1 (en) * 2012-02-17 2013-08-22 Hitachi, Ltd. Method for directory entries split and merge in distributed file system
CN105577776A (zh) * 2015-12-17 2016-05-11 上海爱数信息技术股份有限公司 基于数据仲裁者副本的分布式存储系统及方法
CN109032802A (zh) * 2018-07-26 2018-12-18 国信优易数据有限公司 一种区块链系统和管理方法
CN110633046A (zh) * 2018-06-22 2019-12-31 北京东土科技股份有限公司 一种分布式系统的存储方法、装置、存储设备及存储介质
CN111309266A (zh) * 2020-02-23 2020-06-19 苏州浪潮智能科技有限公司 一种基于ceph的分布式存储元数据系统日志优化系统与方法
CN111984191A (zh) * 2020-08-05 2020-11-24 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种支持分布式存储的多客户端缓存方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102023816A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种对象存储系统的对象存放策略和访问方法
US20130218934A1 (en) * 2012-02-17 2013-08-22 Hitachi, Ltd. Method for directory entries split and merge in distributed file system
CN105577776A (zh) * 2015-12-17 2016-05-11 上海爱数信息技术股份有限公司 基于数据仲裁者副本的分布式存储系统及方法
CN110633046A (zh) * 2018-06-22 2019-12-31 北京东土科技股份有限公司 一种分布式系统的存储方法、装置、存储设备及存储介质
CN109032802A (zh) * 2018-07-26 2018-12-18 国信优易数据有限公司 一种区块链系统和管理方法
CN111309266A (zh) * 2020-02-23 2020-06-19 苏州浪潮智能科技有限公司 一种基于ceph的分布式存储元数据系统日志优化系统与方法
CN111984191A (zh) * 2020-08-05 2020-11-24 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 一种支持分布式存储的多客户端缓存方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
散尽浮华: "Ceph分布式存储工作原理及部署介绍", 《CEPH分布式存储工作原理及部署介绍》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988680A (zh) * 2021-03-30 2021-06-18 联想凌拓科技有限公司 数据加速方法、缓存单元、电子设备及存储介质
CN114465957A (zh) * 2021-12-29 2022-05-10 天翼云科技有限公司 一种数据写入方法及装置
CN114465957B (zh) * 2021-12-29 2024-03-08 天翼云科技有限公司 一种数据写入方法及装置
CN114048269A (zh) * 2022-01-12 2022-02-15 北京奥星贝斯科技有限公司 在分布式数据库中同步更新元数据的方法及装置
CN114048269B (zh) * 2022-01-12 2022-04-22 北京奥星贝斯科技有限公司 在分布式数据库中同步更新元数据的方法及装置
CN116170448A (zh) * 2023-04-20 2023-05-26 河北先见软件科技股份有限公司 一种跨组织的数据共享的方法和存储介质
CN116170448B (zh) * 2023-04-20 2023-07-18 河北先见软件科技股份有限公司 一种跨组织的数据共享的方法和存储介质
CN117176743A (zh) * 2023-11-03 2023-12-05 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、可读存储介质及程序产品
CN117176743B (zh) * 2023-11-03 2024-02-06 腾讯科技(深圳)有限公司 数据处理方法、装置、设备、可读存储介质及程序产品

Also Published As

Publication number Publication date
CN112468601B (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
CN112468601B (zh) 一种分布式存储系统的数据同步方法、访问方法及系统
CN106815218B (zh) 数据库访问方法、装置和数据库系统
US9367261B2 (en) Computer system, data management method and data management program
US20150248434A1 (en) Delayed asynchronous file replication in a distributed file system
CN107623703B (zh) 全局事务标识gtid的同步方法、装置及系统
CN108762668B (zh) 一种处理写入冲突的方法及装置
WO2022174735A1 (zh) 基于分布式存储的数据处理方法、装置、设备以及介质
CN113094430B (zh) 一种数据处理方法、装置、设备以及存储介质
WO2020019995A1 (en) Asynchronous cache coherency for mvcc based database systems
JP2012234333A (ja) クラスタシステム、同期制御方法、サーバ装置および同期制御プログラム
CN113010549A (zh) 基于异地多活系统的数据处理方法、相关设备及存储介质
CN110740155A (zh) 分布式系统中的请求处理方法及装置
CN109726211B (zh) 一种分布式时序数据库
US8793234B2 (en) Database management method
CN106855869B (zh) 一种实现数据库高可用的方法、装置和系统
CN105323271B (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN112506432A (zh) 一种动静分离的电力自动化系统实时数据存储和管理方法及装置
CN113297234A (zh) 一种数据处理方法、装置、设备及计算机可读存储介质
CN112000850A (zh) 进行数据处理的方法、装置、系统及设备
US10073874B1 (en) Updating inverted indices
WO2015035891A1 (zh) 补丁方法、设备及系统
CN112698926A (zh) 数据处理方法、装置、设备、存储介质及系统
CN112988708A (zh) 版本更新方法及装置、计算机可读存储介质、处理器
CN113051108A (zh) 一种数据备份方法及系统
US11108730B2 (en) Group heartbeat information in a domain name system server text record

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