CN112417053A - 云存储的元数据管理方法、装置、电子设备及存储介质 - Google Patents

云存储的元数据管理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN112417053A
CN112417053A CN202011411944.XA CN202011411944A CN112417053A CN 112417053 A CN112417053 A CN 112417053A CN 202011411944 A CN202011411944 A CN 202011411944A CN 112417053 A CN112417053 A CN 112417053A
Authority
CN
China
Prior art keywords
node
sequence
metadata
operation sequence
state machine
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.)
Pending
Application number
CN202011411944.XA
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011411944.XA priority Critical patent/CN112417053A/zh
Publication of CN112417053A publication Critical patent/CN112417053A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06F16/275Synchronous replication
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures

Landscapes

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

Abstract

本公开提供了一种云存储的元数据管理方法、装置、电子设备及存储介质,所述方法包括:监测数据库中资源数据的数据变更;生成用于描述所述数据变更的操作序列;将所述操作序列同步至各节点,并触发各节点的状态机分别按照各自的状态机结构执行所述操作序列,以使得各节点分别按照各自的索引结构独立存储用于描述所述资源数据的增量元数据。本公开实施例使得不同索引结构的元数据被分散到各节点,避免了单一节点同时存储多种索引结构的元数据,有效节省了内存消耗。

Description

云存储的元数据管理方法、装置、电子设备及存储介质
技术领域
本公开涉及数据库领域,具体涉及一种云存储的元数据管理方法、装置、电子设备及存储介质。
背景技术
在数据库领域中,对用于描述资源数据的元数据进行存储管理是云存储的元数据管理中的一项重要课题,元数据的管理对于数据库的性能表现有着重大影响。
现有技术中在进行云存储的元数据管理时,为保证存储元数据的节点所维护元数据的一致性,通常需要每个节点在内存中存储多种索引结构的元数据,从而导致数据库在元数据的存储上会消耗大量内存,极大限制了数据库的性能。
发明内容
本公开的一个目的在于提出一种云存储的元数据管理方法、装置、电子设备及存储介质,不同索引结构的元数据被分散到各节点,避免了单一节点同时存储多种索引结构的元数据,有效节省了内存消耗。
根据本公开实施例的一方面,公开了一种云存储的元数据管理方法,所述方法包括:
监测数据库中资源数据的数据变更;
生成用于描述所述数据变更的操作序列;
将所述操作序列同步至各节点,并触发各节点的状态机分别按照各自的状态机结构执行所述操作序列,以使得各节点分别按照各自的索引结构独立存储用于描述所述资源数据的增量元数据。
根据本公开实施例的一方面,公开了一种云存储的元数据管理装置,所述装置包括:
监测模块,配置为监测数据库中资源数据的数据变更;
生成模块,配置为生成用于描述所述数据变更的操作序列;
同步模块,配置为将所述操作序列同步至各节点,并触发各节点的状态机分别按照各自的状态机结构执行所述操作序列,以使得各节点分别按照各自的索引结构独立存储用于描述所述资源数据的增量元数据。
在本公开的一示例性实施例中,所述装置配置为:
通过预设的一致性协议触发各节点通过投票选举出一个主节点,除所述主节点外的节点为从节点;
通过所述主节点生成所述操作序列并将所述操作序列同步至所述从节点。
在本公开的一示例性实施例中,所述装置配置为:
监测各节点的状态机分别对所述操作序列的执行进度;
基于所述执行进度将所述操作序列同步至各节点处。
在本公开的一示例性实施例中,所述装置配置为:
将所述操作序列顺序划分为等长的各子操作序列;
每次同步将同一子操作序列发送至各节点,并响应于所述执行进度均完成本次同步的子操作序列,将下一子操作序列发送至各节点以进行下一次同步。
在本公开的一示例性实施例中,所述装置配置为:
监测所述执行进度之间的最大进度差;
持续地将所述操作序列同步发送至各节点,并响应于所述最大进度差调整单位时间内所发送的操作序列的信息量,其中,所述信息量与所述最大进度差呈反相关。
在本公开的一示例性实施例中,所述装置配置为:
监测各节点各自的次序序列,所述次序序列用于描述对应节点的状态机依次所执行的操作记录的次序;
响应于检测到目标节点的次序序列与所述操作序列相比存在中断,将所述中断处的操作记录发送至所述目标节点,并触发所述目标节点的状态机按照其状态机结构执行所述中断处的操作记录。
根据本公开实施例的一方面,公开了一种云存储的元数据管理电子设备,包括:存储器,存储有计算机可读指令;处理器,读取存储器存储的计算机可读指令,以执行以上权利要求中的任一个所述的方法。
根据本公开实施例的一方面,公开了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行以上权利要求中的任一个所述的方法。
根据本公开实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
本公开实施例中,云存储的元数据管理的过程主要包括两个流程:在各节点间同步操作序列的流程、各节点的状态机分别执行操作序列的流程。这两个流程相互解耦,使得各节点的状态机可以独立地执行操作序列,从而使得可以预先定制各节点的状态机结构。通过这种方法,各节点可以基于相同的资源数据只独立维护本节点索引结构的元数据。不同索引结构的元数据被分散到各节点,避免了单一节点同时存储多种索引结构的元数据,有效节省了内存消耗。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参考附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。
图1示出了根据本公开一个实施例的基本体系构架的示意图。
图2示出了根据本公开一个实施例的云存储的元数据管理方法的流程图。
图3示出了根据本公开一个实施例的节点间同步操作序列的示意图。
图4示出了根据本公开一个实施例的节点状态机执行同一操作记录的详细示意图。
图5示出了根据本公开一个实施例的云存储的元数据管理装置的框图。
图6示出了根据本公开一个实施例的云存储的元数据管理电子设备的硬件图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本公开的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本公开的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面首先参考图1描述本公开实施例的基本体系构架。
如图1所示,该实施例中的数据库主要划分为两层:管理资源数据的一层、管理元数据的一层。其中,元数据是用于描述资源数据的数据。例如:用户所上传的照片a被存储入磁盘A中,则对应的资源数据指的是该照片a,对应的元数据则是“照片a->磁盘A”这一起着索引作用的数据。
具体的,管理资源数据的一层由多个资源数据服务器20组成,管理元数据的一层由多个元数据服务器10组成;各个资源数据服务器20在逻辑上是一体的,在物理上则可以相互分离;同样,各个元数据服务器10在逻辑上是一体的,在物理上也可以相互分离。
相比于元数据服务器10,资源数据服务器20更贴近用户侧。资源数据服务器20通过与用户侧的通信,从用户侧采集资源数据并存储。
元数据服务器10则根据管理资源数据的一层中资源数据的变化,进行元数据的更新以及存储。其中,每个元数据服务器10内部均预设有用于执行操作流程的状态机。状态机主要描述的是其元数据服务器10在各个预设状态下所应执行的动作、以及各个预设状态相互之间的转移过程。通过配置状态机的结构,可以使得结构不同的状态机以不同的操作流程执行同一操作指令。以不同的操作流程执行的同一操作指令,执行结果的表现往往也不同。其中,该执行结果在数据管理中一般体现为数据的存储形式或是数据的索引结构;在数据管理中,不同的存储形式或是不同的索引结构会带来不同的应用优势。
通过查询元数据服务器10中存储的元数据,可以定位目标资源数据所在的资源数据服务器20,进而可以对目标资源数据进行各类操作(例如:复制、迁移、更新)。
一般的,数据库在管理元数据的一层提供用于管理元数据服务器10的管理系统,该管理系统按照本公开提供的云存储的元数据管理方法控制各元数据服务器10对元数据的存储。
在对本公开实施例的具体实施过程进行详细描述之前,首先对本公开实施例涉及的部分概念进行简要解释。
资源数据指的是用于展现具体资源的数据,例如:展现人像的图像数据a、展现演讲内容的音视频数据b、展现文字作品的文本数据c。
元数据指的是主要起着索引作用的用于描述资源数据的数据,例如:描述图像数据a存储位置的数据、描述音视频数据b文件规格的数据、描述文本数据c著作信息的数据。
增量元数据则指的是更新的元数据。在本公开实施例中,增量元数据对应于变更的资源数据,指的是主要起着索引作用的用于描述变更的资源数据的数据。
图2示出了本公开一实施例的云存储的元数据管理方法,示例性地以数据库在管理元数据的一层提供的管理系统为执行主体,该方法包括:
步骤S310、监测数据库中资源数据的数据变更;
步骤S320、生成用于描述所述数据变更的操作序列;
步骤S330、将所述操作序列同步至各节点,并触发各节点的状态机分别按照各自的状态机结构执行所述操作序列,以使得各节点分别按照各自的索引结构独立存储用于描述所述资源数据的增量元数据。
本公开实施例中,云存储的元数据管理的过程主要包括两个流程:在各节点间同步操作序列的流程、各节点的状态机分别执行操作序列的流程。这两个流程相互解耦,使得各节点的状态机可以独立地执行操作序列,从而使得可以预先定制各节点的状态机结构。通过这种方法,各节点可以基于相同的资源数据只独立维护本节点索引结构的元数据。不同索引结构的元数据被分散到各节点,避免了单一节点同时存储多种索引结构的元数据,有效节省了内存消耗。
本公开实施例中,管理系统监测着数据库中资源数据的数据变更。为保证数据库能够准确查询到任何一个资源数据,管理系统要将元数据与资源数据进行同步。由于资源数据发生了数据变更,则节点中也要在已有元数据的基础上进一步存储与该数据变更相对应的增量元数据。
本公开实施例中,管理系统监测到资源数据的数据变更后,生成用于描述该数据变更的操作序列。具体的,该操作序列由多个操作记录依序组成,每个操作记录描述了至少一个发生了变更的资源数据。一般的,每个操作记录描述了一个资源数据在变更前所存储位置、以及该资源数据在变更后所存储位置。
本公开实施例中,管理系统所管理的各节点用于存储元数据,图1中所示的各元数据服务器10即为该各节点的一种可选形式。各节点内部预设的用于执行操作序列的状态机相互独立,各状态机的状态机结构与对应节点的索引结构相匹配。当各节点的索引结构互不相同时,各状态机的状态机结构也互不相同。
管理系统生成操作序列后,将该操作序列同步至各节点,触发各节点的状态机按照各自的状态机结构执行该操作序列,分别独立存储用于描述资源数据的增量元数据。由于各节点的状态机的状态机结构与对应节点的索引结构相匹配,因此使得各节点分别按照各自的索引结构独立存储增量元数据。
具体的,每一节点均会存储增量元数据,而索引结构则决定了存储后的增量元数据的组成形式。组成形式的不同,会导致增量元数据与已存储的存量元数据之间的耦合方式不同、耦合程度不同;也会导致增量元数据内部各个最小单位的单位元数据之间的耦合方式不同、耦合程度的不同;从而导致各节点所存储的元数据虽然包含有相同的信息,但应用优势各有不同。
在一实施例中,将所述操作序列同步至各节点,包括:
监测各节点的状态机分别对所述操作序列的执行进度;
基于所述执行进度将所述操作序列同步至各节点处。
该实施例中,管理系统以执行进度为依据进行操作序列的同步控制。
具体的,由于资源数据的数据变更通常是持续不断发生的,因此用于描述数据变更的操作序列通常也是持续不断产生的,相应的,从整体上来看,对于操作序列的同步需要持续不断地进行。
管理系统监测着各节点的状态机,从而实时确定各节点的状态机对操作序列的执行进度。执行进度主要展示当前时刻下,状态机执行到了操作序列的哪一具体位置。进而管理系统基于执行进度继续控制于后续过程中持续产生的操作序列的同步。
在一实施例中,基于所述执行进度将所述操作序列同步至各节点,包括:
将所述操作序列顺序划分为等长的各子操作序列;
每次同步将同一子操作序列发送至各节点,并响应于所述执行进度均完成本次同步的子操作序列,将下一子操作序列发送至各节点以进行下一次同步。
该实施例中,管理系统分批次地进行操作序列的同步。
具体的,将持续不断生成的操作序列按照生成的先后顺序划分为等长的各子操作序列。进而,每次同步将同一个子操作序列发送至各节点,进而监测各节点对该子操作序列的执行进度,实时确定各节点对该子操作序列的完成程度;当各节点均执行完成该子操作序列时,在将下一个子操作序列发送至各节点,不断循环。
例如:将已生成的操作序列记为<1、2、3、4、5、6>,表示该操作序列由依生成顺序排列的编号1至编号6的六条操作记录所组成。可将该操作序列划分为等长的两个子操作序列,分别记为<1、2、3>以及<4、5、6>。其中,状态机按照操作记录的编号顺序执行操作序列。
第一次同步,管理系统将子操作序列<1、2、3>同步发送至各节点,监测各节点对子操作序列<1、2、3>的执行进度。当确定各节点均执行完成了操作记录3时,第一次同步完成,进而继续第二次同步。
第二次同步,管理系统将子操作序列<4、5、6>同步发送至各节点,监测各节点对子操作序列<4、5、6>的执行进度。当确定各节点均执行完成了操作记录6时,第二次同步完成,进而再继续接下来的同步。
该实施例的优点在于,通过分批次地进行操作序列的同步,阶段性地保证了各节点的状态机执行操作序列的一致性。
在一实施例中,基于所述执行进度将所述操作序列同步至各节点,包括:
监测所述执行进度之间的最大进度差;
持续地将所述操作序列同步发送至各节点,并响应于所述最大进度差调整单位时间内所发送的操作序列的信息量,其中,所述信息量与所述最大进度差呈反相关。
该实施例中,管理系统以数据流的方式持续进行操作序列的同步。
具体的,将持续不断生成的操作序列按照生成的先后顺序,同样持续不断地同步至各节点。在不断同步的过程中,管理系统监测各节点的状态机的执行进度之间的最大进度差。进而再根据最大进度差,调整单位时间内向各节点发送的操作序列的信息量,即,调整向各节点发生操作序列的速度。随着最大进度差的增大,单位时间内向各节点发送的操作序列的信息量不变或者减小;随着最大进度差的减小,单位时间内向各节点发送的操作序列的信息量不变或者增大。
例如:管理系统持续不断地将操作序列同步至第一节点、第二节点以及第三节点;操作序列由依生成顺序排列的多条操作记录组成;进度差由操作记录的次序差值衡量;作为对比基准,当最大进度差为10时,管理系统在单位时间内向各节点发送的操作序列的信息量为100个单位。
根据监测的各节点的状态机的执行进度,在t1时刻,管理系统确定第一节点的状态机已执行至操作记录4,第二节点的状态机已执行至操作记录5,第三节点的状态机已执行至操作记录3。则在t1时刻,各节点的状态机的执行进度之间的最大进度差为(5-3)=2;由于2小于10,则管理系统可将t1时刻单位时间内向各节点发送的操作序列的信息量从100个单位向上调整至180个单位。
在t2时刻,管理系统确定第一节点的状态机已执行至操作记录50,第二节点的状态机已执行至操作记录45,第三节点的状态机已执行至操作记录60。则在t2时刻,各节点的状态机的执行进度之间的最大进度差为(60-45)=15;由于15大于10,则管理系统可将t2时刻单位时间内向各节点发送的操作序列的信息量从100个单位向下调整至50个单位。
该实施例的优点在于,通过实时调整单位时间内信息量的方式进行操作序列的同步,连续动态地保证了各节点的状态机执行操作序列的一致性。
需要说明的是,该实施例中,信息量的调整与最大进度差之间的关系视应用需求,可以呈连续变化的正比例函数关系,也可以呈阶梯式变化的正相关函数关系;其中,变化的程度可以是均匀的,也可以是不均匀的。
在一实施例中,所述操作序列由多个操作记录依序组成,所述方法还包括:
监测各节点各自的次序序列,所述次序序列用于描述对应节点的状态机依次所执行的操作记录的次序;
响应于检测到目标节点的次序序列与所述操作序列相比存在中断,将所述中断处的操作记录发送至所述目标节点,并触发所述目标节点的状态机按照其状态机结构执行所述中断处的操作记录。
该实施例中,管理系统在进行操作序列的同步时,引入针对中断的补偿机制。
具体的,操作序列由多个操作记录依序组成,每个操作记录具有各自的次序。各节点的状态机每执行操作序列中的一操作记录,便将所执行的操作记录的次序进行存储,得到描述了该节点的状态机已执行的操作记录次序的次序序列。
管理系统监测各节点各自的次序序列,在将各次序序列与管理系统所发送的操作序列进行对比。如果目标节点的次序序列与管理系统所发送的操作序列相比存在中断,则说明目标节点的状态机遗漏了操作记录的执行;进而管理系统将该中断处的操作记录发送至目标节点,触发目标节点的状态机执行该中断处的操作记录,以补偿该中断处的操作记录的执行。
该实施例的优点在于,通过中断的补偿机制的引入,避免了因通信错误或者其他因素导致的操作记录漏执行,从而保证了各节点所存储元数据在每一操作记录上的一致性。
在一实施例中,所述方法还包括:
通过预设的一致性协议触发各节点通过投票选举出一个主节点,除所述主节点外的节点为从节点;
通过所述主节点生成所述操作序列并将所述操作序列同步至所述从节点。
该实施例中,管理系统通过预设的一致性协议进行操作序列的同步。
具体的,管理系统通过预设的一致性协议,触发各节点间相互投票,根据投票结果选举出一个节点作为主节点,剩余的其他节点则作为从节点。进而通过该主节点监测资源数据的数据变更、生成用于描述数据变更的生成操作序列以及将操作序列同步至从节点。
可选的,在投票未开始之前,尚未确定主节点,各节点均为从节点;每个从节点内部均会有一个随机的倒计时的计时器。当一个从节点的计时器倒计时走至零时,该从节点的状态转换为候选节点。候选节点开始发起投票,投票给自己的同时并向各从节点发送投票请求。计时器还未倒计时走至零的从节点只能响应候选节点的投票请求,将选票投给对应的候选节点。由于节点的数目有限,因此总的票数也有限。当一个候选节点接收到大多数的选票时(例如:接收到51%的选票),该候选节点转换为主节点,其他候选节点以及其他从节点均转换为从节点。
该实施例的优点在于,通过投票选举主节点并由主节点主导操作序列的同步,有序清晰地保证了各节点间的一致性。
在一实施例中,各自的索引结构包括:用于描述数据分片列表所在磁盘的索引结构,或者,用于描述数据分片所在磁盘的索引结构。
该实施例中,各节点按照各自的索引结构进行元数据的存储。具体的,其中一个节点的索引结构用于描述数据分片列表所在磁盘。即,该索引结构对应的节点在内存中存储着磁盘与数据分片列表的关联关系。
另一个节点的索引结构用于描述数据分片所在磁盘。即,该索引结构对应的节点在内存中存储这磁盘与数据分片的关联关系。
该实施例的优点在于,通过用于描述数据分片列表所在磁盘的索引结构,使得对应节点可以以低内存消耗高效率地提供磁盘数据巡检服务合集群总体均衡服务;通过用于描述数据分片所在磁盘的索引结构,使得对应节点可以以低内存消耗高效率地提供数据分片的位置信息服务。
需要说明的是,该实施例示出的两种索引结构只是示例性地展示本公开实施例中各节点间相互不同的索引结构,不应对本公开的功能和使用范围造成限制。
图3示出了本公开一实施例的节点间同步操作序列的示意图。
如图3所示,该实施例中,第一节点与第二节点均进行操作序列的同步。其中,通过预设的一致性协议的作用,在第一节点与第二节点间保证操作序列的一致性。即,第一节点与第二节点共享操作序列。
其中,第一节点的状态机与第二节点的状态机异构,即,第一节点的状态机对该操作序列的处理逻辑与第二节点的状态机对该操作序列的处理逻辑不同。
操作序列独立地作用于第一节点的状态机,第一节点的状态机执行该操作序列,以第一节点的索引结构<分片ID->磁盘ID>进行元数据的存储;操作序列同样独立地作用于第二节点的状态机,第二节点的状态机执行该操作序列,以第二节点的索引结构<磁盘ID->分片列表>进行元数据的存储。
图4示出了根据本公开一实施例的节点状态机执行同一操作记录的详细示意图。
该实施例中,资源数据所发生的数据变更为:一编号为1的数据分片1被从逻辑存储卷磁盘1移动至逻辑存储卷磁盘2。由于资源数据发生了数据变更,因此各节点均需要更新各自所存储的元数据,其中,更新的元数据即为增量元数据。该增量元数据为“逻辑卷:[分片1->磁盘2]”。
则该数据变更在操作序列中对应的操作记录为“逻辑卷:[分片1->磁盘1]更新为逻辑卷:[分片1->磁盘2]”,以指示各节点按照该操作记录存储增量元数据“逻辑卷:[分片1->磁盘2]”。
其中,第一节点的索引结构为<分片ID->磁盘ID>,主要用于提供数据分片的位置信息服务;第二节点的索引结构为<磁盘ID->分片列表>,主要用于提供磁盘数据巡检服务合集群总体均衡服务。
如图4所示,同样是执行同一操作记录,第一节点更新后的元数据的索引结构与第二节点更新后的元数据的索引结构各自保持着本来的索引结构。
从而,第一节点提供数据分片的位置信息服务,只需存储一份<分片ID->磁盘ID>索引结构的元数据即可,而不必如现有技术中一样为了保证与第二节点的一致性至少还要再多存储一份<磁盘ID->分片列表>索引结构的元数据。从而使得第一节点的内存消耗至少节约了一半。如果还有更多其他节点,则第一节点的内存消耗相比于现有技术将节约得更多。
同理,第二节点提供磁盘数据巡检服务合集群总体均衡服务,只需存储一份<磁盘ID->分片列表>索引结构的元数据即可,而不必如现有技术中一样为了保证与第一节点的一致性至少还要再多存储一份<分片ID->磁盘ID>索引结构的元数据。从使得第二节点的内存消耗也至少节约了一半。
需要说明的是,图3以及图4均只是示例性地展示了节点间操作序列的执行对比,不应对本公开的功能和使用范围造成限制。
图5示出了根据本公开一实施例的云存储的元数据管理装置,所述装置包括:
监测模块410,配置为监测数据库中资源数据的数据变更;
生成模块420,配置为生成用于描述所述数据变更的操作序列;
同步模块430,配置为将所述操作序列同步至各节点,并触发各节点的状态机分别按照各自的状态机结构执行所述操作序列,以使得各节点分别按照各自的索引结构独立存储用于描述所述资源数据的增量元数据。
在本公开的一示例性实施例中,所述装置配置为:
通过预设的一致性协议触发各节点通过投票选举出一个主节点,除所述主节点外的节点为从节点;
通过所述主节点生成所述操作序列并将所述操作序列同步至所述从节点。
在本公开的一示例性实施例中,所述装置配置为:
监测各节点的状态机分别对所述操作序列的执行进度;
基于所述执行进度将所述操作序列同步至各节点处。
在本公开的一示例性实施例中,所述装置配置为:
将所述操作序列顺序划分为等长的各子操作序列;
每次同步将同一子操作序列发送至各节点,并响应于所述执行进度均完成本次同步的子操作序列,将下一子操作序列发送至各节点以进行下一次同步。
在本公开的一示例性实施例中,所述装置配置为:
监测所述执行进度之间的最大进度差;
持续地将所述操作序列同步发送至各节点,并响应于所述最大进度差调整单位时间内所发送的操作序列的信息量,其中,所述信息量与所述最大进度差呈反相关。
在本公开的一示例性实施例中,所述装置配置为:
监测各节点各自的次序序列,所述次序序列用于描述对应节点的状态机依次所执行的操作记录的次序;
响应于检测到目标节点的次序序列与所述操作序列相比存在中断,将所述中断处的操作记录发送至所述目标节点,并触发所述目标节点的状态机按照其状态机结构执行所述中断处的操作记录。
下面参考图6来描述根据本公开实施例的云存储的元数据管理电子设备50。图6显示的云存储的元数据管理电子设备50仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,云存储的元数据管理电子设备50以通用计算设备的形式表现。云存储的元数据管理电子设备50的组件可以包括但不限于:上述至少一个处理单元510、上述至少一个存储单元520、连接不同系统组件(包括存储单元520和处理单元510)的总线530。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元510执行,使得所述处理单元510执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元510可以执行如图2中所示的各个步骤。
存储单元520可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)5201和/或高速缓存存储单元5202,还可以进一步包括只读存储单元(ROM)5203。
存储单元520还可以包括具有一组(至少一个)程序模块5205的程序/实用工具5204,这样的程序模块5205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线530可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
云存储的元数据管理电子设备50也可以与一个或多个外部设备600(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该云存储的元数据管理电子设备50交互的设备通信,和/或与使得该云存储的元数据管理电子设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口550进行。输入/输出(I/O)接口550与显示单元540相连。并且,云存储的元数据管理电子设备50还可以通过网络适配器560与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器560通过总线530与云存储的元数据管理电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合云存储的元数据管理电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
根据本公开的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如JAVA、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

Claims (10)

1.一种云存储的元数据管理方法,其特征在于,所述方法包括:
监测数据库中资源数据的数据变更;
生成用于描述所述数据变更的操作序列;
将所述操作序列同步至各节点,并触发各节点的状态机分别按照各自的状态机结构执行所述操作序列,以使得各节点分别按照各自的索引结构独立存储用于描述所述资源数据的增量元数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过预设的一致性协议触发各节点通过投票选举出一个主节点,除所述主节点外的节点为从节点;
通过所述主节点生成所述操作序列并将所述操作序列同步至所述从节点。
3.根据权利要求1所述的方法,其特征在于,将所述操作序列同步至各节点,包括:
监测各节点的状态机分别对所述操作序列的执行进度;
基于所述执行进度将所述操作序列同步至各节点处。
4.根据权利要求3所述的方法,其特征在于,基于所述执行进度将所述操作序列同步至各节点,包括:
将所述操作序列顺序划分为等长的各子操作序列;
每次同步将同一子操作序列发送至各节点,并响应于所述执行进度均完成本次同步的子操作序列,将下一子操作序列发送至各节点以进行下一次同步。
5.根据权利要求3所述的方法,其特征在于,基于所述执行进度将所述操作序列同步至各节点,包括:
监测所述执行进度之间的最大进度差;
持续地将所述操作序列同步发送至各节点,并响应于所述最大进度差调整单位时间内所发送的操作序列的信息量,其中,所述信息量与所述最大进度差呈反相关。
6.根据权利要求1所述的方法,其特征在于,所述操作序列由多个操作记录依序组成,所述方法还包括:
监测各节点各自的次序序列,所述次序序列用于描述对应节点的状态机依次所执行的操作记录的次序;
响应于检测到目标节点的次序序列与所述操作序列相比存在中断,将所述中断处的操作记录发送至所述目标节点,并触发所述目标节点的状态机按照其状态机结构执行所述中断处的操作记录。
7.根据权利要求1所述的方法,其特征在于,各自的索引结构包括:用于描述数据分片列表所在磁盘的索引结构,或者,用于描述数据分片所在磁盘的索引结构。
8.一种云存储的元数据管理装置,其特征在于,所述装置包括:
监测模块,配置为监测数据库中资源数据的数据变更;
生成模块,配置为生成用于描述所述数据变更的操作序列;
同步模块,配置为将所述操作序列同步至各节点,并触发各节点的状态机分别按照各自的状态机结构执行所述操作序列,以使得各节点分别按照各自的索引结构独立存储用于描述所述资源数据的增量元数据。
9.一种云存储的元数据管理电子设备,其特征在于,包括:
存储器,存储有计算机可读指令;
处理器,读取存储器存储的计算机可读指令,以执行权利要求1-7中的任一个所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1-7中的任一个所述的方法。
CN202011411944.XA 2020-12-03 2020-12-03 云存储的元数据管理方法、装置、电子设备及存储介质 Pending CN112417053A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011411944.XA CN112417053A (zh) 2020-12-03 2020-12-03 云存储的元数据管理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011411944.XA CN112417053A (zh) 2020-12-03 2020-12-03 云存储的元数据管理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN112417053A true CN112417053A (zh) 2021-02-26

Family

ID=74830432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011411944.XA Pending CN112417053A (zh) 2020-12-03 2020-12-03 云存储的元数据管理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN112417053A (zh)

Similar Documents

Publication Publication Date Title
US11016944B2 (en) Transferring objects between different storage devices based on timestamps
CA2978889C (en) Opportunistic resource migration to optimize resource placement
CN108519914B (zh) 大数据计算方法、系统和计算机设备
US9652161B2 (en) System, method, and medium of optimizing load reallocation in an in-memory data management grid
EP4191411A1 (en) Distributed training method based on end-to-end adaption, and device
Mahgoub et al. {SOPHIA}: Online reconfiguration of clustered {NoSQL} databases for {Time-Varying} workloads
JP6325001B2 (ja) 階層データ構造のノードにおいて再帰的イベントリスナを用いる方法およびシステム
WO2020215752A1 (zh) 图计算方法及装置
CN115373835A (zh) Flink集群的任务资源调整方法、装置及电子设备
CN111552701B (zh) 确定分布式集群中数据一致性的方法及分布式数据系统
US10019182B2 (en) Management system and management method of computer system
CN113596117A (zh) 实时数据处理方法、系统、设备及介质
CN112541513A (zh) 一种模型训练方法、装置、设备及存储介质
CN110704851A (zh) 公有云数据处理方法和设备
JP5708450B2 (ja) マルチコアプロセッサシステム、レジスタ利用方法、およびレジスタ利用プログラム
CN113760638A (zh) 一种基于kubernetes集群的日志服务方法和装置
CN115470303B (zh) 一种数据库访问方法、装置、系统、设备及可读存储介质
US10997058B2 (en) Method for performance analysis in a continuous integration pipeline
CN112417053A (zh) 云存储的元数据管理方法、装置、电子设备及存储介质
US20230017844A1 (en) Dynamic Profiling of Storage Class Memory for Implementation of Various Enterprise Solutions
CN114925078A (zh) 数据更新方法、系统、电子设备及存储介质
CN114090201A (zh) 资源调度方法、装置、设备及存储介质
CN112685486A (zh) 数据库集群的数据管理方法、装置、电子设备及存储介质
US20240086419A1 (en) Electronic Apparatus and Method for Managing Feature Information
US11698914B1 (en) Serverless managed bulk import on a global NoSQL database with selective back pressure

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40038277

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20230915

Address after: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Applicant after: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

Applicant after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd.

Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors

Applicant before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd.

TA01 Transfer of patent application right