CN111752892B - 分布式文件***及其实现方法、管理***、设备及介质 - Google Patents

分布式文件***及其实现方法、管理***、设备及介质 Download PDF

Info

Publication number
CN111752892B
CN111752892B CN201910238655.5A CN201910238655A CN111752892B CN 111752892 B CN111752892 B CN 111752892B CN 201910238655 A CN201910238655 A CN 201910238655A CN 111752892 B CN111752892 B CN 111752892B
Authority
CN
China
Prior art keywords
metadata
file system
metadata node
node cluster
request
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
CN201910238655.5A
Other languages
English (en)
Other versions
CN111752892A (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 Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201910238655.5A priority Critical patent/CN111752892B/zh
Publication of CN111752892A publication Critical patent/CN111752892A/zh
Application granted granted Critical
Publication of CN111752892B publication Critical patent/CN111752892B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种分布式文件***及其实现方法、管理***、设备及介质。其中,实现方法包括:接收创建文件***的创建请求;根据创建请求创建元数据节点集群,不同的文件***与不同的元数据节点集群对应,其中,元数据节点集群包括若干组成员,不同的组成员对应不同的元数据节点;元数据节点集群创建成功后,生成表征成功创建的文件***的***编号;将***编号与元数据节点集群的对应关系存储在第一数据库中。在本发明中,所有用户的文件***分散对应到各元数据节点集群中,用户的元数据在实现逻辑隔离的同时还实现了物理隔离,并且,当元数据节点集群需要扩容时,也仅需迁移对应用户在元数据节点上的元数据,提高了***的可扩展性。

Description

分布式文件***及其实现方法、管理***、设备及介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种分布式文件***及其实现方法、管理***、设备及介质。
背景技术
目前,大多数分布式文件***将所有用户的元数据存储在同一个元数据服务器集群中。在海量文件存储的场景下,文件***中文件数和目录数急剧增加,元数据总量随之增加,从而导致元数据服务器的并发访问速度下降。为了保证文件***的服务性能,需要增加元数据服务器集群中的节点数量进行横向扩容,但在该文件***下进行扩容时需要迁移所有用户的元数据,可扩展性差。此外,当前的分布式文件***仅通过文件路径层级的方式实现逻辑上的数据隔离,而未能实现物理上的数据隔离,存在用户间相互访问数据的风险。
发明内容
本发明实施例要解决的技术问题是为了克服现有技术中所有用户的元数据存储在同一个元数据服务器集群中所导致的上述缺陷,提供一种分布式文件***及其实现方法、管理***、设备及介质。
本发明实施例是通过下述技术方案来解决上述技术问题:
一种分布式文件***的实现方法,其特点在于,所述实现方法包括:
接收创建文件***的创建请求;
根据所述创建请求创建元数据节点集群,不同的文件***与不同的元数据节点集群对应,其中,所述元数据节点集群包括若干组成员,不同的组成员对应不同的元数据节点;
所述元数据节点集群创建成功后,生成表征成功创建的文件***的***编号;
将所述***编号与所述元数据节点集群的对应关系存储在第一数据库中。
较佳地,所述创建请求包括第一创建请求,所述根据所述创建请求创建元数据节点集群的步骤包括:
根据所述第一创建请求创建第一元数据节点集群,所述第一元数据节点集群涉及的元数据节点仅与一个文件***对应。
较佳地,所述创建请求包括第二创建请求,所述根据所述创建请求创建元数据节点集群的步骤包括:
根据所述第二创建请求创建第二元数据节点集群,所述第二元数据节点集群涉及的元数据节与至少两个文件***对应。
较佳地,在所述接收创建文件***的创建请求的步骤之前,所述实现方法还包括:
接收元数据节点的节点信息,所述节点信息包括所述元数据节点对应的组成员、可用***资源、内存配置以及磁盘类型;
所述根据所述创建请求创建元数据节点集群的步骤包括:
根据所述创建请求以及接收到的节点信息选择多个元数据节点;
向所述多个元数据节点分别发送创建新的组成员的请求;
判断是否收到所述多个元数据节点发送的新的组成员创建成功的响应;
若是,则确定元数据节点集群创建成功,所述元数据节点集群包括创建成功的新的组成员;
若否,则确定元数据节点集群创建失败。
较佳地,在所述生成表征成功创建的文件***的***编号的步骤之后,所述实现方法还包括:
将文件***的元数据存储在所述文件***的***编号对应的元数据节点集群中;
将所述元数据节点集群和所述文件***的元数据的对应关系存储在第二数据库中;
所述第一数据库和所述第二数据库采用嵌入式数据库。
较佳地,在所述将文件***的元数据存储在所述文件***的***编号对应的元数据节点集群中的步骤之后,所述实现方法还包括:
接收管理目标文件***的元数据的管理请求,所述管理请求包括创建、读取、更新、删除元数据中的至少一种;
确定与所述目标文件***的***编号对应的目标元数据节点集群;
根据所述管理请求管理所述目标元数据节点集群中的元数据。
较佳地,所述实现方法还包括:
接收对待扩容文件***进行扩容的扩容请求,所述扩容请求包括用于扩容的扩容元数据节点;
确定与所述待扩容文件***的***编号对应的待扩容元数据节点集群,并确定所述待扩容元数据节点集群涉及的负载最高的元数据节点对应的组成员为目标组成员;
在所述待扩容元数据节点集群中增加在所述扩容元数据节点上创建的扩容组成员;
将所述目标组成员中所述待扩容文件***的元数据迁移至所述扩容组成员。
较佳地,所述实现方法还包括:
定时将所述第二数据库中的元数据复制到第二本地磁盘中,生成第二数据库快照;
根据所述第二数据库快照重新构建第二数据库。
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特点在于,所述处理器执行所述计算机程序时实现上述任一种分布式文件***的实现方法。
一种计算机可读存储介质,其上存储有计算机程序,其特点在于,所述计算机程序被处理器执行时实现上述任一种分布式文件***的实现方法的步骤。
一种分布式文件***,其特点在于,所述分布式文件***包括:
请求接收模块,用于接收创建文件***的创建请求;
创建模块,用于根据所述创建请求创建元数据节点集群,不同的文件***与不同的元数据节点集群对应,其中,所述元数据节点集群包括若干组成员,不同的组成员对应不同的元数据节点;
***编号生成模块,用于在所述元数据节点集群创建成功后,生成表征成功创建的文件***的***编号;
第一存储模块,用于将所述***编号与所述元数据节点集群的对应关系存储在第一数据库中。
较佳地,所述创建请求包括第一创建请求,所述创建模块具体用于:
根据所述第一创建请求创建第一元数据节点集群,所述第一元数据节点集群涉及的元数据节点仅与一个文件***对应。
较佳地,所述创建请求包括第二创建请求,所述创建模块具体用于:
根据所述第二创建请求创建第二元数据节点集群,所述第二元数据节点集群涉及的元数据节与至少两个文件***对应。
较佳地,所述分布式文件***还包括:
节点管理模块,用于接收元数据节点的节点信息,所述节点信息包括所述元数据节点对应的组成员、可用***资源、内存配置以及磁盘类型;
所述创建模块包括:
节点选择单元,用于根据所述创建请求以及接收到的节点信息选择多个元数据节点;
创建请求单元,用于向所述多个元数据节点分别发送创建新的组成员的请求;
判断单元,用于判断是否收到所述多个元数据节点发送的新的组成员创建成功的响应;
若是,则调用第一确定单元;若否,则调用第二确定单元;
所述第一确定单元用于确定元数据节点集群创建成功,所述元数据节点集群包括创建成功的新的组成员;
所述第二确定单元用于确定元数据节点集群创建失败。
较佳地,所述分布式文件***还包括:
元数据存储模块,用于将文件***的元数据存储在所述文件***的***编号对应的元数据节点集群中;
第二存储模块,用于将所述元数据节点集群和所述文件***的元数据的对应关系存储在第二数据库中;
所述第一数据库和所述第二数据库采用嵌入式数据库。
较佳地,所述请求接收模块还用于接收管理目标文件***的元数据的管理请求,所述管理请求包括创建、读取、更新、删除元数据中的至少一种;
所述分布式文件***还包括:
确定模块,用于确定与所述目标文件***的***编号对应的目标元数据节点集群;
元数据管理模块,用于根据所述管理请求管理所述目标元数据节点集群中的元数据。
较佳地,所述请求接收模块还用于接收对待扩容文件***进行扩容的扩容请求,所述扩容请求包括用于扩容的扩容元数据节点;
所述分布式文件***还包括:
确定模块,用于确定与所述待扩容文件***的***编号对应的待扩容元数据节点集群,并用于确定所述待扩容元数据节点集群涉及的负载最高的元数据节点对应的组成员为目标组成员;
节点增加模块,用于在所述待扩容元数据节点集群中增加在所述扩容元数据节点上创建的扩容组成员;
元数据迁移模块,用于将所述目标组成员中所述待扩容文件***的元数据迁移至所述扩容组成员。
较佳地,所述分布式文件***还包括:
数据库快照模块,用于定时将所述第二数据库中的元数据复制到第二本地磁盘中,生成第二数据库快照;
数据库重构模块,用于根据所述第二数据库快照重新构建第二数据库。
一种分布式文件***的管理***,其特点在于,所述管理***包括客户端以及上述任一种分布式文件***;
所述客户端用于向所述分布式文件***的请求接收模块发送请求。
本发明实施例的积极进步效果在于:在本发明实施例中,所有用户的元数据并非存储在同一个元数据节点集群中,而是将各用户的文件***分散对应到各元数据节点集群中,从而,用户的元数据在实现逻辑隔离的同时还实现了物理隔离,并且,当元数据节点集群需要扩容时,也仅需迁移对应用户在元数据节点上的元数据,提高了***的可扩展性。
附图说明
图1为根据本发明实施例1分布式文件***的实现方法中创建文件***的流程图。
图2为根据本发明实施例1分布式文件***的实现方法中步骤S13的流程图。
图3为根据本发明实施例1分布式文件***的实现方法中创建文件***的部分流程图。
图4为根据本发明实施例1分布式文件***的实现方法中创建文件***的另一部分流程图。
图5为根据本发明实施例1分布式文件***的实现方法中管理元数据的流程图。
图6为根据本发明实施例1分布式文件***的实现方法中对文件***进行扩容的流程图。
图7为根据本发明实施例2的电子设备的硬件结构示意图。
图8为根据本发明实施例4的分布式文件***的模块示意图。
图9为根据本发明实施例5的分布式文件***的管理***的模块示意图
具体实施方式
下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
实施例1
本实施例提供一种分布式文件***的实现方法,图1示出了本实施例中创建文件***的流程图,参照图1,创建文件***的步骤包括:
S11、接收元数据节点的节点信息。
分布式文件***基于元数据节点实现,其中,各元数据节点在启用时会注册其节点信息,节点信息可以包括但不限于该元数据节点对应的组成员、可用***资源、内存配置以及磁盘类型等。步骤S11即用于接收各元数据节点注册的节点信息。
S12、接收创建文件***的创建请求。
各文件***的创建要求不尽相同,其中,创建要求可以包括但不限于副本数、业务类型、可用***资源、内存配置以及磁盘类型等,各用户发起的创建文件***的创建请求中包括上述创建要求。
其中,副本数用于确定待创建文件***对应的元数据节点集群中组成员的数量,又有,组成员用于处理元数据节点上一定范围的数据,从而副本数也是待创建文件***对应的元数据节点集群所涉及的元数据节点的数量。
业务类型可以包括但不限于主要业务和次要业务。主要业务的IO(Input/Output,输入/输出)请求高,通常要求独占元数据节点,也即,该元数据节点仅对应一个组成员,供主要业务使用。次要业务的IO请求相对较低,可以与其他文件***共享元数据节点,也即,该元数据节点可以包括至少两个组成员,不同的组成员可以供不同的次要业务使用,以实现不同文件***对元数据节点的共享。
S13、根据创建请求创建元数据节点集群。
在该步骤中,解析创建请求并将其转化为创建参数,该创建参数可以包括但不限于副本数、业务类型、可用***资源、内存配置以及磁盘类型等。
参见图2,步骤S13可以具体包括:
S131、根据创建请求以及接收到的节点信息选择多个元数据节点;
S132、向多个元数据节点分别发送创建新的组成员的请求;
S133、判断是否收到多个元数据节点发送的新的组成员创建成功的响应;
若是,则转至步骤S134;若否,则转至步骤S135;
S134、确定元数据节点集群创建成功;
S135、确定元数据节点集群创建失败。
具体地,在本实施例中,在步骤S131中基于创建请求以及各节点信息选择元数据节点。例如,创建请求要求为主要业务创建由3个组成员构成的元数据节点集群,从元数据节点资源池中选择元数据节点N1、N2、N3,其中,元数据节点N1、N2、N3当前并未被占用,也即,不对应任何组成员或者文件***,在元数据节点N1、N2、N3中分别创建新的组成员以构建上述元数据节点集群,并且该元数据节点集群涉及的元数据节点仅对应一个文件***。创建请求要求为次要业务创建由3个组成员构成的元数据节点集群,从元数据节点资源池中选择元数据节点N4、N5、N6,其中,元数据节点N4、N5、N6中的至少一个当前可以被占用,也即,可以对应组成员或者文件***,在元数据节点N4、N5、N6中分别创建新的组成员以构建上述元数据节点集群,有该元数据节点集群涉及的元数据节点与至少两个文件***对应。在本实施例中,读取到的节点信息可以存储在缓存中,以提高读取速度。
在步骤S132中,与选择的多个元数据节点通信,具体地,向选择的多个元数据节点分别发送创建新的组成员的请求,上述多个元数据节点接收到请求后对该请求进行响应。若步骤S133判断上述多个元数据节点均对该请求发送新的组成员创建成功的响应,则在步骤S134中确定元数据节点集群创建成功,并且创建成功的元数据节点集群包括创建成功的新的组成员;若步骤S133判断上述多个元数据节点并未均对该请求发送新的组成员创建成功的响应,则在步骤S135中确定元数据节点集群创建失败,并对该失败进行上报,此外,还可以清理在此过程中未成功创建的数据。
在本实施例中,可以基于multi-raft协议来实现集群内部的一致性以及元数据节点资源的合理配置,具体地,包括若干组成员的元数据节点集群构成一个raft group(筏组),多个raft group构成了multi raft(多筏),筏组中的组成员并不直接进行通信,而是经由筏组中组成员所对应的元数据节点进行通信,来实现筏组内部的一致性。
S14、元数据节点集群创建成功后,生成表征成功创建的文件***的***编号。
S15、将***编号与元数据节点集群的对应关系存储在第一数据库中。
经由上述步骤,文件***创建成功,并且根据***编号和元数据节点集群的对应关系,可以确定文件***对应的元数据节点,继而可以实现对文件***的元数据的管理。
具体地,在本实施例中,根据创建请求中不同的业务类型(主要业务、次要业务),创建请求可以分为第一创建请求(主要业务)和第二创建请求(次要业务),相应地,元数据节点集群可以包括第一元数据节点集群和第二元数据节点集群,其中,第一元数据节点集群涉及的所有元数据节点仅与一个文件***对应,第二元数据节点集群涉及的所有元数据节点与至少两个文件***对应。
于是,参见图3,创建请求是第一创建请求时,创建文件***的步骤可以包括:
S12A、接收创建文件***的第一创建请求;
S13A、根据第一创建请求创建第一元数据节点集群;
S14A、第一元数据节点集群创建成功后,生成表征成功创建的文件***的***编号;
S15A、将***编号与第一元数据节点集群的对应关系存储在第一数据库中。
参见图4,创建请求是第二创建请求时,创建文件***的步骤可以包括:
S12B、接收创建文件***的第二创建请求。
S13B、根据第二创建请求创建第二元数据节点集群。
S14B、第二元数据节点集群创建成功后,生成表征成功创建的文件***的***编号。
S15B、将***编号与第二元数据节点集群的对应关系存储在第一数据库中。
在文件***创建成功后,本实施例的实现方法还包括:
将文件***的元数据存储在文件***的***编号对应的元数据节点集群中;
将元数据节点集群和文件***的元数据的对应关系存储在第二数据库中。
经由上述步骤,首先根据文件***的***编号确定其对应的元数据节点集群,再将该文件***的元数据写入元数据节点集群,实现了元数据的存储,并且,将元数据节点集群和文件***的元数据的对应关系存储在第二数据库中,基于元数据节点集群与元数据的对应关系,可以实现对元数据节点集群中元数据的管理。
在本实施例中,第一数据库和第二数据库可以采用嵌入进程本身的嵌入式数据库,例如,上述嵌入式数据库可以包括基于B-Tree(多路搜索树)的内存键值数据库、基于levelbd的内存键值数据库、SQLite(遵守ACID(Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性))的关系型数据库管理***),不似RDBMS(Relational Database Management System,关系数据库管理***)数据库需要额外部署响应***,降低了文件***的运维成本。
图5示出了本实施例中管理元数据的流程图,参照图5,管理元数据的步骤包括:
S21、接收管理目标文件***的元数据的管理请求;
S22、确定与目标文件***的***编号对应的目标元数据节点集群;
S23、根据管理请求管理目标元数据节点集群中的元数据。
在本实施例中,管理请求可以包括但不限于创建、读取、更新、删除元数据,具体地,通过目标文件***的***编号确定对应的目标元数据节点集群,再根据管理请求来管理目标元数据节点集群中的元数据。其中,对于查询读取元数据的管理请求,可以直接返回相应的元数据,而对于修改元数据的管理请求,则根据multi-raft协议对元数据节点集群中的元数据进行修改,并将该修改更新到第二数据库中。
图6示出了本实施例中对文件***进行扩容的流程图,参照图6,对文件***进行扩容的步骤包括:
S31、接收对待扩容文件***进行扩容的扩容请求;
S32、确定与待扩容文件***的***编号对应的待扩容元数据节点集群,并确定待扩容元数据节点集群涉及的负载最高的元数据节点对应的组成员为目标组成员;
S33、在待扩容元数据节点集群中增加在扩容元数据节点上创建的扩容组成员;
S34、将目标组成员中待扩容文件***的元数据迁移至扩容组成员。
在本实施例中,扩容请求可以包括待扩容文件***的***编号以及用于扩容的扩容元数据节点(可以根据实际需要设置不同数量的扩容元数据节点)。首先根据***编号确定待扩容元数据节点集群,例如,待扩容元数据节点集群包括位于元数据节点A上的组成员AM、位于元数据节点B上的组成员BM、位于元数据节点C上的组成员CM,其中,元数据节点A的负载最高,则确定组成员AM为目标组成员。又有已知用于扩容的扩容元数据节点D、E、F,在扩容元数据节点D、E、F上分别创建新的组成员DM、EM、FM,将组成员DM、EM、FM增加到待扩容元数据节点集群中。最后,将目标组成员AM中待扩容文件***的元数据分别迁移至组成员DM、EM、FM,最终形成包括组成员AM、BM、CM、DM、EM以及FM的元数据节点集群,实现了元数据节点集群的扩容。
本实施例的实现方法还可以包括:
定时将第二数据库中的元数据复制到第二本地磁盘中,生成第二数据库快照。
该步骤旨在对数据库进行备份,以免由于灾难、故障的发生而导致的数据丢失。
上述快照可以用于灾备或者节点重启时使用,具体地,可以根据上述第二数据库快照重新构建第二数据库。
在本实施例中,还可以定时向元数据节点发送心跳,以更新节点信息。
在本实施例中,一个文件***对应于一个用户,并且不同的文件***与不同的元数据节点集群对应,使得所有用户的文件***分散到各元数据节点集群中,用户的元数据在实现逻辑隔离的同时还实现了物理隔离,并且,当元数据节点集群需要扩容时,也仅需迁移对应用户在元数据节点上的元数据,提高了***的可扩展性。此外,第一和第二元数据节点集群的设置,避免了不同用户之间对服务资源的竞争,提高了服务质量。
实施例2
本实施例提供一种电子设备,电子设备可以通过计算设备的形式表现(例如可以为服务器设备),包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中处理器执行计算机程序时可以实现实施例1提供的分布式文件***的实现方法。
图7示出了本实施例的硬件结构示意图,如图7所示,电子设备9具体包括:
至少一个处理器91、至少一个存储器92以及用于连接不同***组件(包括处理器91和存储器92)的总线93,其中:
总线93包括数据总线、地址总线和控制总线。
存储器92包括易失性存储器,例如随机存取存储器(RAM)921和/或高速缓存存储器922,还可以进一步包括只读存储器(ROM)923。
存储器92还包括具有一组(至少一个)程序模块924的程序/实用工具925,这样的程序模块924包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
处理器91通过运行存储在存储器92中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1所提供的分布式文件***的实现方法。
电子设备9进一步可以与一个或多个外部设备94(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口95进行。并且,电子设备9还可以通过网络适配器96与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器96通过总线93与电子设备9的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备9使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID(磁盘阵列)***、磁带驱动器以及数据备份存储***等。
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
实施例3
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1提供的分布式文件***的实现方法的步骤。
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1中的分布式文件***的实现方法的步骤。
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
实施例4
本实施例提供一种分布式文件***,图8示出了本实施例的模块示意图,参照图8,本实施例的分布式文件***100包括:
节点管理模块1,用于接收元数据节点的节点信息。
分布式文件***100基于元数据节点实现,其中,各元数据节点在启用时会注册其节点信息,节点信息可以包括但不限于该元数据节点对应的组成员、可用***资源、内存配置以及磁盘类型等。节点管理模块1即用于接收各元数据节点注册的节点信息。
请求接收模块2,用于接收创建文件***的创建请求。
各文件***的创建要求不尽相同,其中,创建要求可以包括但不限于副本数、业务类型、可用***资源、内存配置以及磁盘类型等,各用户发起的创建文件***的创建请求中包括上述创建要求。
其中,副本数用于确定待创建文件***对应的元数据节点集群中组成员的数量,又有,组成员用于处理元数据节点上一定范围的数据,从而副本数也是待创建文件***对应的元数据节点集群所涉及的元数据节点的数量。
业务类型可以包括但不限于主要业务和次要业务。主要业务的IO(Input/Output,输入/输出)请求高,通常要求独占元数据节点,也即,该元数据节点仅对应一个组成员,供主要业务使用。次要业务的IO请求相对较低,可以与其他文件***共享元数据节点,也即,该元数据节点可以包括至少两个组成员,不同的组成员可以供不同的次要业务使用,以实现不同文件***对元数据节点的共享。
创建模块3,用于根据创建请求创建元数据节点集群。
在本实施例中,创建模块3解析创建请求并将其转化为创建参数,该创建参数可以包括但不限于副本数、业务类型、可用***资源、内存配置以及磁盘类型等。参见图8,创建模块3可以包括:
节点选择单元31,用于根据创建请求以及接收到的节点信息选择多个元数据节点;
创建请求单元32,用于向多个元数据节点分别发送创建新的组成员的请求;
判断单元33,用于判断是否收到多个元数据节点发送的新的组成员创建成功的响应;
若是,则调用第一确定单元34;若否,则调用第二确定单元35;
第一确定单元34,用于确定元数据节点集群创建成功;
第二确定单元35,用于确定元数据节点集群创建失败。
具体地,在本实施例中,节点选择单元31基于创建请求以及各节点信息选择元数据节点。例如,创建请求要求为主要业务创建由3个组成员构成的元数据节点集群,从元数据节点资源池中选择元数据节点N1、N2、N3,其中,元数据节点N1、N2、N3当前并未被占用,也即,不对应任何组成员或者文件***,在元数据节点N1、N2、N3中分别创建新的组成员以构建上述元数据节点集群,并且该元数据节点集群涉及的元数据节点仅对应一个文件***。创建请求要求为次要业务创建由3个组成员构成的元数据节点集群,从元数据节点资源池中选择元数据节点N4、N5、N6,其中,元数据节点N4、N5、N6中的至少一个当前可以被占用,也即,可以对应组成员或者文件***,在元数据节点N4、N5、N6中分别创建新的组成员以构建上述元数据节点集群,有该元数据节点集群涉及的元数据节点与至少两个文件***对应。在本实施例中,读取到的节点信息可以存储在缓存中,以提高读取速度。
创建请求单元32与选择的多个元数据节点通信,具体地,向选择的多个元数据节点分别发送创建新的组成员的请求,上述多个元数据节点接收到请求后对该请求进行响应。若判断单元33判断上述多个元数据节点均对该请求发送新的组成员创建成功的响应,则调用第一确定单元34确定元数据节点集群创建成功,并且创建成功的元数据节点集群包括创建成功的新的组成员;若判断单元33判断上述多个元数据节点并未均对该请求发送新的组成员创建成功的响应,则调用第二确定单元35确定元数据节点集群创建失败,并对该失败进行上报,此外,还可以清理在此过程中未成功创建的数据。
在本实施例中,可以基于multi-raft协议来实现集群内部的一致性以及元数据节点资源的合理配置,具体地,包括若干组成员的元数据节点集群构成一个raft group(筏组),多个raft group构成了multi raft(多筏),筏组中的组成员并不直接进行通信,而是经由筏组中组成员所对应的元数据节点进行通信,来实现筏组内部的一致性。
***编号生成模块4,用于在元数据节点集群创建成功后,生成表征成功创建的文件***的***编号。
第一存储模块5,用于将***编号与元数据节点集群的对应关系存储在第一数据库中。
由此,文件***创建成功,并且根据***编号和元数据节点集群的对应关系,可以确定文件***对应的元数据节点,继而可以实现对文件***的元数据的管理。
具体地,在本实施例中,根据创建请求中不同的业务类型(主要业务、次要业务),创建请求可以分为第一创建请求(主要业务)和第二创建请求(次要业务),相应地,元数据节点集群可以包括第一元数据节点集群和第二元数据节点集群,其中,第一元数据节点集群涉及的所有元数据节点仅与一个文件***对应,第二元数据节点集群涉及的所有元数据节点与至少两个文件***对应。
于是,相应的,请求接收模块2可以接收创建文件***的第一创建请求,创建模块3可以根据第一创建请求创建第一元数据节点集群,***编号生成模块4可以在第一元数据节点集群创建成功后,生成表征成功创建的文件***的***编号,第一存储模块5可以将***编号与第一元数据节点集群的对应关系存储在第一数据库中。
请求接收模块2还可以接收创建文件***的第二创建请求,创建模块3还可以根据第二创建请求创建第二元数据节点集群,***编号生成模块4还可以在第二元数据节点集群创建成功后,生成表征成功创建的文件***的***编号,第一存储模块5还可以将***编号与第二元数据节点集群的对应关系存储在第一数据库中。
本实施例的分布式文件***100还可以包括元数据存储模块以及第二存储模块。具体地,在本实施例中,元数据存储模块用于根据文件***的***编号确定其对应的元数据节点集合,再将该文件***的元数据写入元数据节点集群,实现了元数据的存储。第二存储模块用于将元数据节点集群和文件***的元数据的对应关系存储在第二数据库中,基于元数据节点集群与元数据的对应关系,可以实现对元数据节点集群中元数据的管理。
在本实施例中,第一数据库和第二数据库可以采用嵌入进程本身的嵌入式数据库,例如,上述嵌入式数据库可以包括基于B-Tree(多路搜索树)的内存键值数据库、基于levelbd的内存键值数据库、SQLite(遵守ACID(Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性))的关系型数据库管理***),不似RDBMS(Relational Database Management System,关系数据库管理***)数据库需要额外部署响应***,降低了文件***的运维成本。
参见图8,本实施例的分布式文件***100还可以包括确定模块6、元数据管理模块7、节点增加模块8、元数据迁移模块10。
具体地,在本实施例中,请求接收模块2还用于接收管理目标文件***的元数据的管理请求,确定模块6用于确定与目标文件***的***编号对应的目标元数据节点集群,元数据管理模块7则用于根据管理请求管理目标元数据节点集群中的元数据。
其中,管理请求可以包括但不限于创建、读取、更新、删除元数据,具体地,通过目标文件***的***编号确定对应的目标元数据节点集群,再根据管理请求来管理目标元数据节点集群中的元数据。其中,对于查询读取元数据的管理请求,可以直接返回相应的元数据,而对于修改元数据的管理请求,则根据multi-raft协议对元数据节点集群中的元数据进行修改,并将该修改更新到第二数据库中。
在本实施例中,请求接收模块2还用于接收对待扩容文件***进行扩容的扩容请求,确定模块6还用于确定与待扩容文件***的***编号对应的待扩容元数据节点集群,并且还用于确定待扩容元数据节点集群涉及的负载最高的元数据节点对应的组成员为目标组成员,节点增加模块8用于在待扩容元数据节点集群中增加在扩容元数据节点上创建的扩容组成员,元数据迁移模块10用于将目标组成员中待扩容文件***的元数据迁移至扩充组成员。
其中,扩容请求包括可以包括待扩容文件***的***编号以及用于扩容的扩容元数据节点(可以根据实际需要设置不同数量的扩容元数据节点)。首先根据***编号确定待扩容元数据节点集群,例如,待扩容元数据节点集群包括位于元数据节点A上的组成员AM、位于元数据节点B上的组成员BM、位于元数据节点C上的组成员CM,其中,元数据节点A的负载最高,则确定组成员AM为目标组成员。又有已知用于扩容的扩容元数据节点D、E、F,在扩容元数据节点D、E、F上分别创建新的组成员DM、EM、FM,将组成员DM、EM、FM增加到待扩容元数据节点集群中。最后,将目标组成员AM中待扩容文件***的元数据分别迁移至组成员DM、EM、FM,最终形成包括组成员AM、BM、CM、DM、EM以及FM的元数据节点集群,实现了元数据节点集群的扩容。
参见图8,本实施例的分布式文件***100还可以包括数据库快照模块11、数据库重构模块12。
具体地,数据库快照模块11用于定时将第二数据库中的元数据复制到第二本地磁盘中,生成第二数据库快照。
数据库快照模块11旨在对数据库进行备份,以免由于灾难、故障的发生而导致的数据丢失。
上述快照可以用于灾备或者节点重启时使用,具体地,数据库重构模块12可以根据上述第二数据库快照重新构建第二数据库。
在本实施例中,节点管理模块1还可以定时向元数据节点发送心跳,以更新节点信息。
在本实施例中,一个文件***对应于一个用户,并且不同的文件***与不同的元数据节点集群对应,使得所有用户的文件***分散到各元数据节点集群中,用户的元数据在实现逻辑隔离的同时还实现了物理隔离,并且,当元数据节点集群需要扩容时,也仅需迁移对应用户在元数据节点上的元数据,提高了***的可扩展性。此外,第一和第二元数据节点集群的设置,避免了不同用户之间对服务资源的竞争,提高了服务质量。
实施例5
本实施例提供一种分布式文件***的管理***,图9示出了本实施例的模块示意图,参照图9,本实施例的管理***包括客户端200以及实施例4所提供的分布式文件***100。
在本实施例中,客户端200用于向分布式文件***100的请求接收模块2发送请求,还用于接收分布式文件***100向其发送的数据。具体地,客户端200可以包括fuse客户端以及Java SDK客户端。
本实施例在实施例4的基础上,提供一种分布式文件***的管理***,实现了用户的分布式文件***的管理。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。

Claims (19)

1.一种分布式文件***的实现方法,其特征在于,所述实现方法包括:
接收创建文件***的创建请求;
根据所述创建请求创建元数据节点集群,不同的文件***与不同的元数据节点集群对应,其中,所述元数据节点集群包括若干组成员,不同的组成员对应不同的元数据节点;
所述元数据节点集群创建成功后,生成表征成功创建的文件***的***编号;
将所述***编号与所述元数据节点集群的对应关系存储在第一数据库中。
2.如权利要求1所述的分布式文件***的实现方法,其特征在于,所述创建请求包括第一创建请求,所述根据所述创建请求创建元数据节点集群的步骤包括:
根据所述第一创建请求创建第一元数据节点集群,所述第一元数据节点集群涉及的元数据节点仅与一个文件***对应。
3.如权利要求1所述的分布式文件***的实现方法,其特征在于,所述创建请求包括第二创建请求,所述根据所述创建请求创建元数据节点集群的步骤包括:
根据所述第二创建请求创建第二元数据节点集群,所述第二元数据节点集群涉及的元数据节与至少两个文件***对应。
4.如权利要求1所述的分布式文件***的实现方法,其特征在于,在所述接收创建文件***的创建请求的步骤之前,所述实现方法还包括:
接收元数据节点的节点信息,所述节点信息包括所述元数据节点对应的组成员、可用***资源、内存配置以及磁盘类型;
所述根据所述创建请求创建元数据节点集群的步骤包括:
根据所述创建请求以及接收到的节点信息选择多个元数据节点;
向所述多个元数据节点分别发送创建新的组成员的请求;
判断是否收到所述多个元数据节点发送的新的组成员创建成功的响应;
若是,则确定元数据节点集群创建成功,所述元数据节点集群包括创建成功的新的组成员;
若否,则确定元数据节点集群创建失败。
5.如权利要求1所述的分布式文件***的实现方法,其特征在于,在所述生成表征成功创建的文件***的***编号的步骤之后,所述实现方法还包括:
将文件***的元数据存储在所述文件***的***编号对应的元数据节点集群中;
将所述元数据节点集群和所述文件***的元数据的对应关系存储在第二数据库中;
所述第一数据库和所述第二数据库采用嵌入式数据库。
6.如权利要求5所述的分布式文件***的实现方法,其特征在于,在所述将文件***的元数据存储在所述文件***的***编号对应的元数据节点集群中的步骤之后,所述实现方法还包括:
接收管理目标文件***的元数据的管理请求,所述管理请求包括创建、读取、更新、删除元数据中的至少一种;
确定与所述目标文件***的***编号对应的目标元数据节点集群;
根据所述管理请求管理所述目标元数据节点集群中的元数据。
7.如权利要求5所述的分布式文件***的实现方法,其特征在于,所述实现方法还包括:
接收对待扩容文件***进行扩容的扩容请求,所述扩容请求包括用于扩容的扩容元数据节点;
确定与所述待扩容文件***的***编号对应的待扩容元数据节点集群,并确定所述待扩容元数据节点集群涉及的负载最高的元数据节点对应的组成员为目标组成员;
在所述待扩容元数据节点集群中增加在所述扩容元数据节点上创建的扩容组成员;
将所述目标组成员中所述待扩容文件***的元数据迁移至所述扩容组成员。
8.如权利要求5所述的分布式文件***的实现方法,其特征在于,所述实现方法还包括:
定时将所述第二数据库中的元数据复制到第二本地磁盘中,生成第二数据库快照;
根据所述第二数据库快照重新构建第二数据库。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8中任一项所述的分布式文件***的实现方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的分布式文件***的实现方法的步骤。
11.一种分布式文件***,其特征在于,所述分布式文件***包括:
请求接收模块,用于接收创建文件***的创建请求;
创建模块,用于根据所述创建请求创建元数据节点集群,不同的文件***与不同的元数据节点集群对应,其中,所述元数据节点集群包括若干组成员,不同的组成员对应不同的元数据节点;
***编号生成模块,用于在所述元数据节点集群创建成功后,生成表征成功创建的文件***的***编号;
第一存储模块,用于将所述***编号与所述元数据节点集群的对应关系存储在第一数据库中。
12.如权利要求11所述的分布式文件***,其特征在于,所述创建请求包括第一创建请求,所述创建模块具体用于:
根据所述第一创建请求创建第一元数据节点集群,所述第一元数据节点集群涉及的元数据节点仅与一个文件***对应。
13.如权利要求11所述的分布式文件***,其特征在于,所述创建请求包括第二创建请求,所述创建模块具体用于:
根据所述第二创建请求创建第二元数据节点集群,所述第二元数据节点集群涉及的元数据节与至少两个文件***对应。
14.如权利要求11所述的分布式文件***,其特征在于,所述分布式文件***还包括:
节点管理模块,用于接收元数据节点的节点信息,所述节点信息包括所述元数据节点对应的组成员、可用***资源、内存配置以及磁盘类型;
所述创建模块包括:
节点选择单元,用于根据所述创建请求以及接收到的节点信息选择多个元数据节点;
创建请求单元,用于向所述多个元数据节点分别发送创建新的组成员的请求;
判断单元,用于判断是否收到所述多个元数据节点发送的新的组成员创建成功的响应;
若是,则调用第一确定单元;若否,则调用第二确定单元;
所述第一确定单元用于确定元数据节点集群创建成功,所述元数据节点集群包括创建成功的新的组成员;
所述第二确定单元用于确定元数据节点集群创建失败。
15.如权利要求11所述的分布式文件***,其特征在于,所述分布式文件***还包括:
元数据存储模块,用于将文件***的元数据存储在所述文件***的***编号对应的元数据节点集群中;
第二存储模块,用于将所述元数据节点集群和所述文件***的元数据的对应关系存储在第二数据库中;
所述第一数据库和所述第二数据库采用嵌入式数据库。
16.如权利要求15所述的分布式文件***,其特征在于,所述请求接收模块还用于接收管理目标文件***的元数据的管理请求,所述管理请求包括创建、读取、更新、删除元数据中的至少一种;
所述分布式文件***还包括:
确定模块,用于确定与所述目标文件***的***编号对应的目标元数据节点集群;
元数据管理模块,用于根据所述管理请求管理所述目标元数据节点集群中的元数据。
17.如权利要求15所述的分布式文件***,其特征在于,所述请求接收模块还用于接收对待扩容文件***进行扩容的扩容请求,所述扩容请求包括用于扩容的扩容元数据节点;
所述分布式文件***还包括:
确定模块,用于确定与所述待扩容文件***的***编号对应的待扩容元数据节点集群,并用于确定所述待扩容元数据节点集群涉及的负载最高的元数据节点对应的组成员为目标组成员;
节点增加模块,用于在所述待扩容元数据节点集群中增加在所述扩容元数据节点上创建的扩容组成员;
元数据迁移模块,用于将所述目标组成员中所述待扩容文件***的元数据迁移至所述扩容组成员。
18.如权利要求15所述的分布式文件***,其特征在于,所述分布式文件***还包括:
数据库快照模块,用于定时将所述第二数据库中的元数据复制到第二本地磁盘中,生成第二数据库快照;
数据库重构模块,用于根据所述第二数据库快照重新构建第二数据库。
19.一种分布式文件***的管理***,其特征在于,所述管理***包括客户端以及如权利要求11-18中任一项所述的分布式文件***;
所述客户端用于向所述分布式文件***的请求接收模块发送请求。
CN201910238655.5A 2019-03-27 2019-03-27 分布式文件***及其实现方法、管理***、设备及介质 Active CN111752892B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910238655.5A CN111752892B (zh) 2019-03-27 2019-03-27 分布式文件***及其实现方法、管理***、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910238655.5A CN111752892B (zh) 2019-03-27 2019-03-27 分布式文件***及其实现方法、管理***、设备及介质

Publications (2)

Publication Number Publication Date
CN111752892A CN111752892A (zh) 2020-10-09
CN111752892B true CN111752892B (zh) 2024-01-12

Family

ID=72671137

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910238655.5A Active CN111752892B (zh) 2019-03-27 2019-03-27 分布式文件***及其实现方法、管理***、设备及介质

Country Status (1)

Country Link
CN (1) CN111752892B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821176B (zh) * 2021-09-29 2023-07-21 重庆紫光华山智安科技有限公司 一种数据迁移的处理方法、装置及存储介质
CN114866570A (zh) * 2022-04-18 2022-08-05 北京快乐茄信息技术有限公司 一种信息处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521386A (zh) * 2011-12-22 2012-06-27 清华大学 基于集群存储的空间元数据分组方法
CN104077315A (zh) * 2013-03-29 2014-10-01 国家计算机网络与信息安全管理中心 分布式文件***数据导入方法及装置
CN105205402A (zh) * 2014-06-26 2015-12-30 佘堃 一种基于隐私集群元数据分离的云存储隐私保护方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10091212B2 (en) * 2016-03-04 2018-10-02 BlueTalon, Inc. Policy management, enforcement, and audit for data security

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521386A (zh) * 2011-12-22 2012-06-27 清华大学 基于集群存储的空间元数据分组方法
CN104077315A (zh) * 2013-03-29 2014-10-01 国家计算机网络与信息安全管理中心 分布式文件***数据导入方法及装置
CN105205402A (zh) * 2014-06-26 2015-12-30 佘堃 一种基于隐私集群元数据分离的云存储隐私保护方法

Also Published As

Publication number Publication date
CN111752892A (zh) 2020-10-09

Similar Documents

Publication Publication Date Title
US11153380B2 (en) Continuous backup of data in a distributed data store
US9535907B1 (en) System and method for managing backup operations of virtual machines
JP2021002369A (ja) 索引更新パイプライン
US20190196728A1 (en) Distributed storage system-based data processing method and storage device
US8856091B2 (en) Method and apparatus for sequencing transactions globally in distributed database cluster
JP6491210B2 (ja) 分散データグリッドにおいて永続性パーティションリカバリをサポートするためのシステムおよび方法
US20070061379A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster
EP3745269B1 (en) Hierarchical fault tolerance in system storage
US11106541B2 (en) System and method for replicating data in distributed database systems
US8626722B2 (en) Consolidating session information for a cluster of sessions in a coupled session environment
US7702757B2 (en) Method, apparatus and program storage device for providing control to a networked storage architecture
US10963353B2 (en) Systems and methods for cross-regional back up of distributed databases on a cloud service
CN111752892B (zh) 分布式文件***及其实现方法、管理***、设备及介质
CN110121694B (zh) 一种日志管理方法、服务器和数据库***
US11042454B1 (en) Restoration of a data source
US20220197761A1 (en) Cloud architecture for replicated data services
CN116389233B (zh) 容器云管理平台主备切换***、方法、装置和计算机设备
CN116974489A (zh) 一种数据处理方法、装置、***、电子设备及存储介质
US20030023810A1 (en) Method and apparatus for validating and ranking disk units for switching
CN116233146A (zh) 实现跨分布式存储集群的缓存一致性的技术
WO2007028249A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring
JP2017208113A (ja) データ格納方法、データストレージ装置、及びストレージデバイス
KR101589122B1 (ko) 네트워크 분산 파일 시스템 기반 iSCSI 스토리지 시스템에서의 장애 복구 방법 및 시스템
US11132267B1 (en) Ability to maintain RPO in clustered environment with failed nodes/disks
CN111797062B (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