一种元数据管理方法、云服务器及存储介质与流程
未命名
07-12
阅读:82
评论:0

技术领域:
:,具体涉及一种元数据管理方法、云服务器及存储介质。
背景技术:
::2.随着云计算的发展,用户(例如企业用户、个人用户等)可以通过云存储服务(例如网盘等)来存储数据。元数据作为描述数据属性的信息,其可以看做是电子式的目录,可用于协助数据访问,因此云存储服务可以通过管理元数据来支持数据的云存储。3.元数据管理涉及到元数据的访问管理,因此如何提供元数据管理方案,以在兼顾云存储服务的系统资源的情况下,提升元数据访问效率,成为了本领域技术人员亟需解决的技术问题。技术实现要素:4.有鉴于此,本技术实施例提供一种元数据管理方法、云服务器及存储介质,本技术实施例提供的元数据管理方案能够基于分区实例的访问负载,自适应的调整分区实例所管理的元数据规模,从而平衡分区实例的系统资源使用情况,以在兼顾云存储服务的系统资源的情况下,提升元数据访问效率。5.为实现上述目的,本技术实施例提供如下技术方案。6.第一方面,本技术实施例提供一种元数据管理方法,包括:7.确定第一分区实例的访问负载,所述第一分区实例为第一元数据分区中的元数据提供访问服务;8.如果所述访问负载高于预设的第一访问负载,确定第二分区实例;以及,从所述第一元数据分区中确定部分元数据,作为第二元数据分区;9.为所述第一分区实例解除所述第二元数据分区的访问服务,以及配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务。10.第二方面,本技术实施例提供一种元数据管理方法,包括:11.确定第三分区实例的访问负载,所述第三分区实例为第三元数据分区中的元数据提供访问服务;12.如果所述访问负载低于预设的第二访问负载,从已有的多个分区实例中确定第四分区实例,所述第四分区实例为第四元数据分区提供访问服务;13.至少将所述第三元数据分区合并到所述第四元数据分区,并使所述第三分区实例停止访问服务;14.配置所述第四分区实例为合并后的元数据分区提供访问服务,并回收所述第三分区实例。15.第三方面,本技术实施例提供一种云服务器,包括至少一个存储器和至少一个处理器,所述存储器存储有一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执行如上述第一方面所述的元数据管理方法,或者,如上述第二方面所述的元数据管理方法。16.第四方面,本技术实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如上述第一方面所述的元数据管理方法,或者,如上述第二方面所述的元数据管理方法。17.第五方面,本技术实施例提供一种计算机程序,所述计算机程序被执行时实现如上述第一方面所述的元数据管理方法,或者,如上述第二方面所述的元数据管理方法。18.本技术实施例提供的元数据管理方法可以确定第一分区实例的访问负载,所述第一分区实例为第一元数据分区中的元数据提供访问服务;在所述访问负载高于预设的第一访问负载时,本技术实施例可以确定第二分区实例;并且,从所述第一元数据分区中确定部分元数据,作为第二元数据分区;进而,为所述第一分区实例解除所述第二元数据分区的访问服务,以及配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务,使得第二分区实例能够分担第二元数据分区的访问压力,以降低第一分区实例的访问压力,从而均衡第一分区实例和第二分区实例的访问压力。19.可以看出,本技术实施例提供的元数据管理方法可以在分区实例的访问负载较高时,从分区实例所管理的元数据分区中确定部分元数据,从而解除分区实例与该部分元数据的管理关系,并将该部分元数据配置给其他分区实例提供访问服务,进而降低分区实例的访问压力,缓解分区实例的系统资源过度使用或者不够使用的情况。因此本技术实施例提供的元数据管理方法能够基于分区实例的访问负载,自适应的调整分区实例所管理的元数据规模(例如,在分区实例的访问负载较高时,解除部分元数据的管理关系并配置给其他分区实例进行管理),从而平衡分区实例的系统资源使用情况,以在兼顾云存储服务的系统资源的情况下,提升元数据访问效率。附图说明20.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。21.图1为数据访问系统的架构示例图。22.图2a为元数据分区的示例图。23.图2b为元数据分区的另一示例图。24.图3a为本技术实施例提供的元数据管理方法的流程图。25.图3b为本技术实施例提供的元数据管理方法的实现示例图。26.图4a为本技术实施例提供的元数据管理方法的另一流程图。27.图4b为本技术实施例提供的元数据管理方法的另一实现示例图。28.图5为本技术实施例提供的元数据管理方法的再一实现示例图。29.图6为本技术实施例提供的元数据管理方法的再一流程图。30.图7为本技术实施例提供的元数据管理方法的又一实现示例图。31.图8a为本技术实施例提供的元数据管理装置的框图。32.图8b为本技术实施例提供的元数据管理装置的另一框图。33.图9为云服务器的架构示例图。具体实施方式34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。35.元数据访问可以在用户访问数据时进行,例如在用户进行数据访问时,云存储服务需要访问数据对应的元数据,进而利用数据对应的元数据实现数据访问。36.为便于理解,图1示例性的示出了数据访问系统的架构示例图,如图1所示,该数据访问系统可以包括:客户端110以及云存储服务120。其中,企业、个人等用户的数据可以存储于云存储服务120中,并且云存储服务120通过元数据对数据进行组织管理。进一步如图1所示,云存储服务120可以包括:元数据服务121以及数据服务122。其中,元数据服务121可用于对元数据进行管理和处理;数据服务122可以用于存储数据。在进行数据访问时,客户端110可以将访问请求发送给云存储服务120;从而云存储服务120中的元数据服务121可以确定客户端110需访问的数据对应的元数据;进而元数据服务121可以基于所确定的元数据,与数据服务122进行通信,实现对数据服务122中存储的数据进行访问。37.需要说明的是,在可能的实现中,云存储服务120可以是服务器集群的形式,相应的,元数据服务121和数据服务122也可以均是服务器集群的形式。例如,在分布式存储架构中,数据可以分布式的存储于数据服务器集群中(数据服务器集群可以是由数据服务器形成的集群,数据服务对应的服务器可以称为数据服务器,一个数据服务器可以运行一个或多个数据服务);元数据可以分布式的存储于元数据服务器集群中(元数据服务器集群可以是由元数据服务器形成的集群,元数据服务对应的服务器可以称为元数据服务器,一个元数据服务器可以运行一个或多个元数据服务)。38.上述以用户访问数据的情形来示例说明元数据的访问情况,当然,元数据访问也可能发生在其他情形下,并不限于用户访问数据的情形,本技术实施例对此并不设限。39.在分布式的元数据管理方案中,出于保障元数据的scaleout(水平扩容)访问能力等目的,云存储服务所管理的元数据可以切分为多个元数据分区(partition);其中,一个元数据分区可以保存多个元数据,并且每个元数据分区可以通过对应的分区实例进行管理。一个分区实例可以视为是管理一个元数据分区的元数据服务的实例化;例如,一个分区实例可以视为是加载一个元数据分区,并为所加载的元数据分区提供访问服务的容器或服务器等。40.为便于理解,图2a示例性的示出了元数据分区的示例图,如图2a所示,云存储服务所管理的元数据可以被切分为多个元数据分区211至21n(n为元数据分区的数量),并且多个分区实例p211至p21n可用于分别管理多个元数据分区211至21n,其中一个分区实例管理一个元数据分区,例如分区实例p211管理元数据分区211,分区实例p212管理元数据分区212,以此类推。41.在一个示例中,如果元数据以层级的树状结构进行组织,则由层级的树状结构所组织的元数据可称为目录树;例如,目录树是以根目录为源头,对目录或者文件对象进行逐层分支的树状数据结构。从而,分布式的元数据管理可以视为是分布式的目录树管理,例如将目录树切分为多个目录子树,并且每个目录子树通过对应的分区实例进行管理;其中,目录子树可以视为是从目录树的某个目录开始,由该目录的所有子孙目录或文件对象组成的树形结构。42.为便于理解,以目录树组织元数据为例,图2b示例性的示出了元数据分区的另一示例图,如图2b所示,以三层结构的目录树,并且每层分支两个目录为例,根目录1可以分支出两个目录11和12,目录11可以分支出目录111和112,目录12可以分支出目录121和122;假设目录树切分为两个目录子树201和202,则可以实例化两个分区实例p201和p202,由分区实例p201管理目录子树201(分区实例p201为目录子树201中的目录或文件对象提供访问服务),由分区实例p202管理目录子树202(分区实例p202为目录子树202中的目录或文件对象提供访问服务)。需要说明的是,目录树的层级数量以及每层分支的目录数量,可以根据实际情况而定(例如,如果数据规模较大,目录树的层级数量和每层分支的目录数量相应的较多),图2b是出于便于示例的角度,以三层结构并且每层分支两个目录的目录树进行示例。43.可以看出,在元数据切分为多个元数据分区(例如目录树切分为多个目录子树)的情况下,访问元数据需要确定元数据所在的分区,即确定为元数据提供访问服务的分区实例;例如,当云存储服务处理用户的访问请求时,需要先访问数据对应的元数据,而在访问元数据时,需要查找元数据对应的分区实例,从而由元数据对应的分区实例提供访问服务。因此元数据所在分区的查找处于元数据访问的关键路径,需要在进行元数据管理时,设计高效的分区路由查找方案(即设计高效的查找元数据所在分区的方案)。需要说明的是,查找元数据所在分区可以视为是,查找为元数据提供访问服务的分区实例。44.在一种可选实现中,元数据所在分区的路由查找可以基于静态分区路由方案实现,即在将元数据切分为多个元数据分区后,每个分区实例管理的元数据分区不进行进一步的切分,不同分区实例管理的元数据分区之间也不进行合并,并且每个元数据分区分配到固定的分区实例进行管理。例如,每个分区实例管理的元数据分区不变,并且元数据分区中的元数据在产生新的目录或者文件对象时,所产生的新目录或者文件对象也由固定的分区实例进行管理。在一个示例中,以目录树为例,在目录树切分为多个目录子树后,某个目录子树上新创建的目录或者文件对象也由固定的分区实例进行管理。45.上述静态分区路由方案至少存在如下问题:46.分区实例的访问负载处于动态变化的状态,如果分区实例管理的元数据分区固定,则可能导致分区实例的系统资源处于不均衡的状态。例如,由于分区实例管理的元数据分区固定,因此在分区实例的访问负载较高时,分区实例的系统资源可能无法支持较高的访问负载;而在分区实例的访问负载较低时,分区实例可能处于系统资源闲置的状态。也就是说,上述静态分区路由方案无法基于分区实例的访问负载,自适应的调整分区实例所管理的元数据分区的规模,导致分区实例的系统资源使用情况处于不均衡的状态。47.进一步的,如果上述静态分区路由方案是以哈希或区间的方式,将元数据切分为多个元数据分区,则分区实例所管理的元数据分区的粒度较大,这也导致上述静态分区路由方案无法基于分区实例的访问负载,自适应的调整分区实例所管理的元数据分区的规模。48.进一步的,上述静态分区路由方案的分区实例数量固定不变,且由于分区实例管理的元数据分区的粒度较大,因此分区实例的数量较少(即提供访问服务的节点较少),这导致云存储服务所能够提供的元数据访问上限是有限的。49.基于上述静态分区路由方案存在的问题,本技术实施例提供进一步改进的元数据管理方案,本技术实施例提供的元数据管理方案可以根据分区实例的访问负载,通过切分元数据分区以及合并元数据分区的方式,动态调整分区实例所管理的元数据分区的规模(即实现元数据的动态路由),从而使得分区实例的系统资源使用情况趋于合理状态。也就是说,本技术实施例提供的元数据管理方案能够基于分区实例的访问负载,自适应的调整分区实例所管理的元数据规模,从而平衡分区实例的系统资源使用情况,以在兼顾云存储服务的系统资源的情况下,提升元数据访问效率。50.基于上述思路,作为可选实现,图3a示例性的示出了本技术实施例提供的元数据管理方法的可选流程图,该方法流程可以由云服务器执行实现。可选的,该方法流程可以由提供云存储服务的云服务器执行实现,例如由提供元数据服务的元数据服务器执行实现,元数据服务器可以是元数据服务器集群的形式。参照图3a,该方法流程可以包括如下步骤。51.在步骤s310中,检测第一分区实例的访问负载,所述第一分区实例为第一元数据分区中的元数据提供访问服务。52.本技术实施例所指的第一元数据分区可以是任一元数据分区,为第一元数据分区中的元数据提供访问服务的分区实例可称为第一分区实例。作为可选实现,本技术实施例支持当前存在一个元数据分区以及多个元数据分区的情况,如果当前存在一个元数据分区,则该一个元数据分区可以视为是本技术实施例所指的第一元数据分区;如果当前存在多个元数据分区,则该多个元数据分区中的任一元数据分区可以视为是本技术实施例所指的第一元数据分区。53.可选的,当前存在一个元数据分区的情况可能是:在初始情况下,云存储服务所管理的元数据整体作为初始的元数据分区,此时由默认的一个分区实例管理初始的元数据分区。可选的,当前存在多个元数据分区可能是:以上述初始的元数据分区为源头,按照本技术实施例提供的方案分裂的多个元数据分区;或者,将云存储服务所管理的元数据直接进行切分后,所得到的多个元数据分区。54.针对于第一元数据分区,本技术实施例可检测为第一元数据分区提供访问服务的第一分区实例的访问负载。在可选实现中,在访问第一元数据分区中的元数据时,访问是路由到第一分区实例来处理,因此通过检测第一分区实例的访问负载可以确定第一元数据分区的访问负载。55.在可选实现中,本技术实施例可以周期性的检测第一分区实例的访问负载。在可选实现示例中,访问负载可以是ops(operationpersecond,每秒操作数)的形式,本技术实施例可以周期性的检测访问第一分区实例的ops。当然,访问负载也可以具有其他形式,只要能够体现第一分区实例在单位时间的访问情况即可,本技术实施例并不设限。56.在步骤s311中,如果所述访问负载高于预设的第一访问负载,确定第二分区实例;以及,从所述第一元数据分区中确定部分元数据,作为第二元数据分区。57.本技术实施例可以在第一分区实例的访问负载较高时,将第一元数据分区内的部分元数据的访问服务分担给第二分区实例,由第二分区实例为第一元数据分区内的部分元数据提供访问服务,第二分区实例不同于第一分区实例。基于此,本技术实施例可以预先设置表征访问负载较高的第一访问负载,例如,第一访问负载可以是第一ops阈值,第一ops阈值可以是表征ops较高的预设阈值;从而在所检测的第一分区实例的访问负载高于第一访问负载时,本技术实施例可确定分担第一分区实例的访问压力的第二分区实例,并且将第一元数据分区中的部分元数据配置为由第二分区实例提供访问服务,以使得第二分区实例能够分担第一分区实例的访问压力。为便于说明,从第一元数据分区中确定的配置给第二分区实例的部分元数据,可以称为第二元数据分区分。58.在可选实现中,本技术实施例可以从第一元数据分区中选择访问占比为预设比例的元数据,作为第二元数据分区,并配置给第二分区实例;其中,预设比例可以根据实际情况设置。在一个实现示例中,本技术实施例可以从第一元数据分区中选择访问占比为50%的元数据,作为第二元数据分区。例如,本技术实施例可从第一元数据分区中选择ops占比为预设比例(例如50%)的元数据,作为第二元数据分区。在一个实现示例中,本技术实施例可以将第一元数据分区中的元数据划分为第一部分元数据和第二部分元数据,第一部分元数据在第一元数据分区中的访问占比(例如ops占比),与第二部分元数据在第一元数据分区中的访问占比(例如ops占比)趋近于相同;比如,第一部分元数据和第二部分元数据在第一元数据分区中的访问占比的差值在预设差值范围内;从而本技术实施例可将第一部分元数据或者第二部分元数据中的一项,作为第二元数据分区,以将第一元数据分区中接近一半ops的元数据配置给第二分区实例进行管理,使得第二分区实例分担第一分区实例接近一半的访问压力。当然,所选择的第二元数据分区在第一元数据分区中的访问占比(即所述预设比例)可以根据实际情况而定,不限于上述示例。59.在可选实现中,如果当前存在一个元数据分区(例如只有第一元数据分区,对应的分区实例也只有第一分区实例),则第二分区实例可以是新的分区实例,本技术实施例可以向云存储服务的系统(例如元数据服务的系统),请求分配新的分区实例,该新的分区实例可以视为是本技术实施例所指的第二分区实例。在一个实现示例中,可以由第一分区实例向云存储服务的系统,请求分配新的分区实例。60.在可选实现中,如果当前存在多个元数据分区(对应的分区实例也有多个,例如,在一个分区实例管理一个元数据分区的情况下,多个元数据分区对应多个分区实例),则第二分区实例可以是新的分区实例,也可能是当前已存在的多个分区实例中的分区实例。当前存在多个元数据分区的情况下,第二分区实例为新的分区实例的内容可参照前文相关部分的描述。当前存在多个元数据分区的情况下,第二分区实例可以是:从已有的多个分区实例中确定的访问负载较低的分区实例;例如,本技术实施例可以从已有的多个分区实例中确定访问负载最低的分区实例,将该分区实例作为是第二分区实例;又例如,本技术实施例可以从已存在的多个分区实例中确定,承担上述第二元数据分区的访问压力后,访问负载仍低于第一访问负载的候选分区实例,并从所确定的候选分区实例中选择第二分区实例(例如从所确定的分区实例中随机选择一个分区实例,作为第二分区实例;或者,从所确定的分区实例中选择访问负载最小的分区实例,作为第二分区实例)。61.在本技术实施例中,第二分区实例不同于第一分区实例,第二分区实例可能具有多种形式,例如新分配的分区实例或者已存在的分区实例,本技术实施例对此并不设限,第二分区实例应在分担第二元数据分区的访问压力后,访问负载仍低于第一访问负载。62.在步骤s312中,为所述第一分区实例解除所述第二元数据分区的访问服务,以及配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务。63.在确定分担第一分区实例的访问压力的第二分区实例,以及第二分区实例所分担的第二元数据分区后,本技术实施例可为第一分区实例解除第二元数据分区的访问服务,并将第二元数据分区中的元数据配置为由第二分区实例提供访问服务;从而针对第二元数据分区中的元数据的访问,可以被路由到第二分区实例来处理,使得第二分区实例能够分担第二元数据分区的访问压力。64.本技术实施例提供的元数据管理方法可以确定第一分区实例的访问负载,所述第一分区实例为第一元数据分区中的元数据提供访问服务;在所述访问负载高于预设的第一访问负载时,本技术实施例可以确定第二分区实例;并且,从所述第一元数据分区中确定部分元数据,作为第二元数据分区;进而,为所述第一分区实例解除所述第二元数据分区的访问服务,以及配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务,使得第二分区实例能够分担第二元数据分区的访问压力,以降低第一分区实例的访问压力,从而均衡第一分区实例和第二分区实例的访问压力。65.可以看出,本技术实施例提供的元数据管理方法可以在分区实例的访问负载较高时,从分区实例所管理的元数据分区中确定部分元数据,从而解除分区实例与该部分元数据的管理关系,并将该部分元数据配置给其他分区实例提供访问服务,进而降低分区实例的访问压力,缓解分区实例的系统资源过度使用或者不够使用的情况。因此本技术实施例提供的元数据管理方法能够基于分区实例的访问负载,自适应的调整分区实例所管理的元数据规模(例如,在分区实例的访问负载较高时,解除部分元数据的管理关系并配置给其他分区实例进行管理),从而平衡分区实例的系统资源使用情况,以在兼顾云存储服务的系统资源的情况下,提升元数据访问效率。66.在一种可选实现中,云存储服务所管理的元数据可以通过层级的树状结构进行组织;在所述层级的树状结构中,第二元数据分区为第一元数据分区的子结构数据;相应的,基于第一元数据分区与第二元数据分区的父子关系,第一分区实例为第二分区实例的父分区实例(即第一分区实例为第二分区实例的上层分区实例)。也就是说,基于各个分区实例所管理的元数据分区的层级关系,多个分区实例可形成级联的多层级关系,其中,基于第二元数据分区为第一元数据分区的子结构数据,管理第一元数据分区的第一分区实例为管理第二元数据分区的第二分区实例的上层分区实例。67.在可选实现中,元数据可以通过层级的树状结构组织为目录树,从而第一元数据分区可能是整体的目录树(对应当前存在一个初始的元数据分区的情况),也可能是目录树中的目录子树(对应当前存在多个元数据分区的情况)。在可选实现中,第二元数据分区可以是第一元数据分区的目录子树,从而第一元数据分区与第二元数据分区可以是父子关系;相应的,第一分区实例为第二分区实例的父分区实例。可以看出,按照本技术实施例提供的方案,以目录树为源头逐步的分裂出多个目录子树,每个目录子树由相应分配的分区实例进行管理,则所有的分区实例可以形成级联的父子关系。68.例如,假设第一元数据分区为目录树,则从第一元数据分区中确定的第二元数据分区可以是目录树中的目录子树,从而第一元数据分区(目录树)与第二元数据分区(目录子树)是父子关系,即第二元数据分区(目标子树)是第一元数据分区(目录树)的子结构数据。又例如,假设第一元数据分区为目录子树,则从第一元数据分区中确定的第二元数据分区可以是目录子树中的目录子树,从而第一元数据分区(目录子树)与第二元数据分区(目录子树中的目录子树)是父子关系。69.在一个实现示例中,图3b示例性的示出了本技术实施例提供的元数据管理方法的实现示例图。如图3b所示,在初始情况下,目录树311由一个分区实例p301提供访问服务;在周期性的检测分区实例p301的ops时,如果ops超过第一ops阈值,则分区实例p301可以向系统请求分配新的分区实例p302,并且从目录树311中确定部分的目录子树312;从而,分区实例p301可与目录子树312解除管理关系(即分区实例p301解除目录子树312的访问服务),同时目录子树312被配置给由分区实例p302提供访问服务;其中,目录树311减去目录子树312之后的目录树,由分区实例p301管理。由于目录子树312属于目录树311的子结构,因此分区实例p302属于分区实例p301的子分区实例(即分区实例p301为分区实例p302的父分区实例)。70.此时存在分区实例p301和p302,则本技术实施例可以分别检测分区实例p301和p302的ops,如果分区实例p302的ops超过第一ops阈值,则分区实例p302向系统请求分配新的分区实例303,并且目录子树312中部分的目录子树313被分区实例p302解除管理关系,同时目录子树313被配置给由分区实例p303提供访问服务;其中,目录子树312减去目录子树313之后的目录子树,由分区实例p302管理。由于目录子树313属于目录子树312的子结构,因此分区实例p303属于分区实例p302的子分区实例。71.此时存在分区实例p301、p302和p303,则每个分区实例均可以按照本技术实施例提供的方案进行元数据管理,从而分区实例可以根据访问负载的情况,进行目录子树的分裂以及向系统请求分配新的分区实例,最终所有的分区实例组成级联的父子关系。72.需要说明的是,第一元数据分区在分裂出第二元数据分区后,还可能再多次的分裂出元数据分区。例如,第一元数据分区分裂出第二元数据分区后,如果后续第一元数据分区的访问负载存在增高情况,还是出现了第一元数据分区的访问负载高于第一访问负载,则本技术实施例可以再次从第一元数据分区中分裂出元数据分区,并由新分配的分区实例进行管理,或者由已存在但访问负载较低的分区实例进行管理。在一个示例中,目录树311分裂出目录子树312后,如果后续分区实例p301的ops还存在超过第一ops阈值的情况,则目录树311可以再次分裂出目录子树,由新分配的分区实例进行管理,或者由已存在但访问负载较低的分区实例进行管理。73.在可选实现中,分区实例可以通过本地路由表(localroutertable),来维护由分区实例提供访问服务的元数据。分区实例的本地路由表可以通过多个路由表项,来记录分区实例与提供访问服务的元数据的映射关系;例如,分区实例的本地路由表可以通过元数据对应的路由表项,来记录分区实例提供访问服务的元数据。针对于分区实例提供访问服务的元数据,元数据的访问可路由到分区实例进行处理。在进一步的可选实现中,分区实例可以通过远程路由表(remoteroutertable),来维护分区实例解除访问服务的元数据。分区实例的远程路由表可以通过多个路由表项,来记录分区实例与解除访问服务的元数据的映射关系;例如,分区实例的远程路由表可以通过元数据对应的路由表项,来记录分区实例解除访问服务的元数据。基于此,本技术实施例可以通过修改分区实例的本地路由表中元数据对应的表项记录,来实现为分区实例维护提供访问服务的元数据;通过修改分区实例的远程路由表中元数据对应的表项记录,来实现为分区实例设置解除访问服务的元数据。可选的,图4a示例性的示出了本技术实施例提供的元数据管理方法的另一可选流程图,参照图4a,该方法流程可以包括如下步骤。74.在步骤s410中,检测第一分区实例的访问负载,所述第一分区实例为第一元数据分区中的元数据提供访问服务。75.在步骤s411中,如果所述访问负载高于预设的第一访问负载,确定第二分区实例;以及,从所述第一元数据分区中确定部分元数据,作为第二元数据分区。76.步骤s410与步骤s411的介绍可参照前文相应部分的描述。77.在步骤s412中,在第一分区实例的本地路由表中删除第二元数据分区对应的路由表项;以及,在第一分区实例的远程路由表中添加第二元数据分区对应的路由表项,所添加的路由表项指向第二分区实例。78.在为第一分区实例解除第二元数据分区的访问服务时,本技术实施例可以在第一分区实例的本地路由表中删除第二元数据分区对应的路由表项,并在第一分区实例的远程路由表中添加第二元数据分区对应的路由表项,以使得第一分区实例不再为第二元数据分区提供访问服务。同时,为明确为第二元数据分区提供访问服务的分区实例,本技术实施例可以将第一分区实例的远程路由表中所添加的第二元数据分区对应的路由表项,指向第二分区实例。79.在步骤s413中,为第二分区实例加载第二元数据分区,并在第二分区实例的本地路由表中添加第二元数据分区对应的路由表项。80.在可选实现中,第一分区实例可以告知第二分区实例加载第二元数据分区,从而第二分区实例可以加载第二元数据分区,并且第二分区实例的本地路由表中可以添加第二元数据分区对应的路由表项,从而第二分区实例可以通过本地路由表中记录的第二元数据分区对应的路由表项,为第二元数据分区提供访问服务。81.为便于理解,图4b示例性的示出了本技术实施例提供的元数据管理方法的另一实现示例图,如图4b所示,在初始情况下,分区实例p401为元数据1至n提供访问服务,分区实例p401的本地路由表可以通过n个路由表项,记录元数据1至n的信息,并且此时分区实例p401的远程路由表为空;如果分区实例p401的ops超过第一ops阈值,假设确定元数据i至k作为分区实例p401解除访问服务的元数据,并由新分配的分区实例402提供访问服务,则分区实例p401的本地路由表可以删除元数据i至k的路由表项,并且在分区实例p401的远程路由表中添加元数据i至k的路由表项;在分区实例p401的远程路由表中,元数据i至k的路由表项指向分区实例402。82.分区实例402可以加载元数据i至k,并在分区实例402的本地路由表中记录元数据i至k的路由表项,此时分区实例402的远程路由表为空;如果分区实例402的ops超过第一ops阈值,则可以按照上述修改本地路由表和远程路由表的方式,将部分元数据的访问压力分担给新分配的子分区实例,以此类推。83.每个分区实例在ops超过第一ops阈值时,可以按照上述修改本地路由表和远程路由表的方式,将部分元数据的访问压力分担给其他分区实例,从而分区实例可以实现根据访问负载的情况进行分裂,最终所有的分区实例可以组成级联的父子关系。84.需要说明的是,在云存储服务管理的局部元数据中,较短时间内活跃的文件或目录的数量不多,较短时间内活跃的文件或目录的规模与用户应用场景有关。尽管这些活跃的文件或目录是持续动态变化的,但在较短时间内的变化一般是平滑的。另外,目录和文件访问也体现了不同的特点,目录在较短时间内可能存在重复访问,文件依赖于应用场景而会有不同的表现,因此本技术实施例提供的方案也可以相应的区分目录和文件访问的不同特点。85.在可选实现中,元数据可以使用inode(索引节点)进行唯一标识,一个inode可以唯一标识一个元数据。例如,inode可以唯一标识目录树中的目录或者文件对象。相应的,分区实例可以通过管理元数据的inode,以实现管理元数据。例如,分区实例可以加载inode集合,并在本地路由表中记录inode对应的路由表项,以实现为inode标识的元数据提供访问服务。在一个实现示例中,分区实例的本地路由表中可以记录,分区实例提供访问服务的元数据所对应的inode集合的路由表项;分区实例的远程路由表中可以记录,分区实例解除访问服务的元数据所对应的inode集合的路由表项。86.需要说明的是,inode的规模可与元数据规模相对应,例如,对于千亿级别的元数据规模,inode的规模相应的达到千亿级别,相应的,云存储服务在元数据分布式管理的情况下,需要处理海量的元数据,从而以inode为示例,本技术实施例提供的方案需要满足如下条件:87.算法简便,支持单inode级别粒度的元数据路由;88.分区查找路径的损耗较小,常态下不需要额外rpc(remoteprocedurecall,远程过程调用),并基本不影响云存储服务的io(输入输出)性能;89.系统资源的消耗较少,单个分区实例可以至少支持多活跃的inode。90.为便于说明上述条件效果,作为可选实现,图5示例性的示出了本技术实施例提供的元数据管理方法的再一实现示例图,如图5所示,网盘等云存储服务的目录树在初始状态下,默认由一个分区实例p0为inode集合s提供访问服务,inode集合s为目录树中各个目录或者文件对象的inode的集合,可以视为是云存储服务所有元数据的inode的集合;此时,分区实例p0的本地路由表中记录inode集合s中各inode的路由表项。在周期性的检查分区实例p0的ops时,如果分区实例p0的ops超过第一ops阈值,则执行如下过程:91.分区实例p0向系统请求分配新的分区实例p1;92.分区实例p0将inode集合s划分为inode集合s1和inode集合s2,inode集合s1的总ops与inode集合s2的总ops相近(例如,inode集合s1与inode集合s2的总ops的差值在预设差值范围内),假设分区实例p0将inode集合s1的访问服务分担给分区实例p1承担,则分区实例p0可以将inode集合s1的访问服务迁移到分区实例p1;从而,分区实例p0可以在本地路由表中删除inode集合s1的路由表项,并将inode集合s1的路由表项添加到分区实例p0的远程路由表,分区实例p0的远程路由表中添加的inode集合s1的路由表项,指向分区实例p1;93.进而,分区实例p0可告知分区实例p1加载inode集合s1,分区实例p1在加载inode集合s1时,可以在分区实例p1的本地路由表中添加inode集合s1的路由表项,从而分区实例p1可以为inode集合s1对应的元数据提供访问服务。94.分区实例p1可以按照与分区实例p0同样的策略,根据访问负载的情况进行分裂,最终所有的分区实例组成级联的父子关系。95.可以看出,本技术实施例提供的方案中,分区实例的路由表(本地路由表和远程路由表)可以根据分区实例的访问情况自适应的变化,并且具备文件或目录级别细粒度的调度能力,这增强了分区实例对于访问负载的自适应能力;分区实例的路由表(本地路由表和远程路由表)会随着inode集合的切分而自动切分,从而云存储服务中可以自然地由多个分区实例提供访问服务,这具备了元数据的scaleout的访问能力,消除了路由查找瓶颈。96.基于本技术实施例提供的切分元数据分区的元数据管理方法,本技术实施例相应提供合并元数据分区的元数据管理方法。下文描述内容与前文描述相关的部分可以相互参照。可选的,本技术实施例可以在某一分区实例的访问负载较低时,将该分区实例管理的元数据分区合并到该分区实例的父分区实例进行管理。作为可选实现,图6示例性的示出了本技术实施例提供的元数据管理方法的再一可选流程图,参照图6,该方法流程可以包括如下步骤。97.在步骤s610中,确定第三分区实例的访问负载,所述第三分区实例为第三元数据分区中的元数据提供访问服务。98.可选的,在级联的多层分区实例中,第三分区实例可以是除顶层分区实例外的任一分区实例。第三分区实例提供访问服务的元数据分区可以称为第三元数据分区。99.在步骤s611中,如果所述访问负载低于预设的第二访问负载,从已有的多个分区实例中确定第四分区实例,第四分区实例为第四元数据分区提供访问服务。100.在第三分区实例的访问负载低于预设的第二访问负载时,本技术实施例可以认为第三分区实例所管理的第三元数据分区的访问压力较低,可以将第三元数据分区合并到其他分区实例进行管理。可选的,第二访问负载可以低于前文描述的第一访问负载。在可选实现示例中,如果访问负载为ops,则预设的第二访问负载可以是预设的第二ops阈值,第二ops阈值低于前文描述的第一ops阈值。101.第四分区实例可以是第三元数据分区所合并到的分区实例,第四分区实例提供访问服务的元数据分区可以称为第四元数据分区。可选的,在级联的多层分区实例中,本技术实施例可将第三分区实例的上层分区实例确定为第四分区实例;相应的,第三元数据分区可以是第四元数据分区的子结构数据。102.在其他可能的实现中,第四分区实例也可以是第三分区实例的非上层分区实例;例如,第三分区实例的上层分区实例可以存在多个下层分区实例,本技术实施例可从第三分区实例的上层分区实例对应的多个下层分区实例中,确定与第三分区实例不同的第四分区实例;比如,所确定的第四分区实例可以是与第三分区实例属于相同层级的分区实例。103.在进一步的可选实现中,第四分区实例在合并第三元数据分区后,第四分区实例的访问负载应不高于预设的第一访问负载,否则,第四分区实例在合并第三元数据分区后还需再次切分元数据,这将导致元数据分区的合并无意义。基于此,本技术实施例在确定第四分区实例时,还可预测第四分区实例合并第三元数据分区后的访问负载(即第四分区实例增加第三元数据分区的访问负载后,第四分区实例的总访问负载),并应保障预测的访问负载不高于第一访问负载。104.在一个实现示例中,如果第四分区实例为第三分区实例的上层分区实例,则本技术实施例可以在第三分区实例的访问负载低于第二访问负载,并且第三分区实例的上层分区实例合并第三元数据分区后的访问负载低于第一访问负载时,确定第三分区实例的上层分区实例为第四分区实例。在再一个实现示例中,如果第四分区实例不为第三分区实例的上层分区实例,则本技术实施例可以从第三分区实例的上层分区实例对应的多个下层分区实例中,确定合并第三元数据分区后的访问负载低于第一访问负载的分区实例,作为第四分区实例。105.在步骤s612中,至少将第三元数据分区合并到第四元数据分区,并使第三分区实例停止访问服务。106.第三元数据分区的访问服务处理需要迁移给第四分区实例,则第三元数据分区可以合并到第四元数据分区,从而得到合并后的元数据分区,以便后续第四分区实例能够为合并后的元数据分区提供访问服务。107.进一步的,基于第三元数据分区转由第四分区实例提供访问服务,因此第三元数据分区不属于第四分区实例解除访问服务的元数据,因此本技术实施例可在第四分区实例解除访问服务的元数据中,删除属于第三元数据分区的元数据,得到第四分区实例更新后的解除访问服务的元数据。进一步的,第三分区实例也可能存在本身已解除访问服务的元数据(例如,在第三分区实例的访问负载高于第一访问负载时,第三分区实例需要解除部分元数据的访问服务,并迁移给第三分区实例的下层分区实例),因此本技术实施例除将第三元数据分区合并到第四元数据分区外,还可将第三分区实例已解除访问服务的元数据(包括已解除访问服务的元数据,以及已解除访问服务的元数据所指向的分区实例),合并到第四分区实例更新后的解除访问服务的元数据,得到第四分区实例的合并后的解除访问服务的元数据。108.在一个实现示例中,基于分区实例通过本地路由表,维护由分区实例提供访问服务的元数据,并且分区实例通过远程路由表,维护分区实例解除访问服务的元数据;本技术实施例可将第三分区实例的本地路由表合并到第四分区实例的本地路由表,从而得到第四分区实例的合并后的本地路由表。进一步的,本技术实施例可在第四分区实例的远程路由表中,删除属于第三分区实例的本地路由表的路由表项,得到第四分区实例更新后的远程路由表;进而,如果第三分区实例的远程路由表不为空,则将第三分区实例的远程路由表合并到第四分区实例更新后的远程路由表,得到第四分区实例的合并后的远程路由表。109.进一步的,本技术实施例可以停止第三分区实例的访问服务,例如告知第三分区实例停止服务。110.在步骤s613中,配置第四分区实例为合并后的元数据分区提供访问服务,并回收第三分区实例。111.本技术实施例可以将合并后的元数据分区的访问服务,配置给第四分区实例进行处理,即配置第四分区实例配置为合并后的元数据分区提供访问服务。在可选实现中,本技术实施例可使第四分区实例使用合并后的本地路由表;进一步的,本技术实施例可以使第四分区实例使用合并后的远程路由表。进一步的,本技术实施例可以回收第三分区实例,从而消除第三分区实例。112.在一个实现示例中,图7示例性的示出了本技术实施例提供的元数据管理方法的又一实现示例图,如图7所示,分区实例p0为顶层分区实例,分区实例p1和p2分别为分区实例p0的下层分区实例;其中,分区实例p0当前管理inode集合s21,分区实例p0的本地路由表记录inode集合s21的路由表项,远程路由表记录inode集合s1的路由表项并指向分区实例p1(即分区实例p1管理inode集合s1),以及记录inode集合s22的路由表项并指向分区实例p2(即分区实例p2管理inode集合s22);相应的,分区实例p1的本地路由表记录inode集合s1的路由表项,假设远程路由表为空;分区实例p2的本地路由表记录inode集合s22的路由表项,假设远程路由表为空;则在分区实例p1的ops低于第二ops阈值时,分区实例p1可将inode集合s1的访问服务迁移回上层分区实例p0(进一步的,还可设定分区实例p0在增加inode集合s1的ops后,分区实例p0的总ops不高于第一ops阈值),从而分区实例p1的本地路由表可合并到分区实例p0的本地路由表,因此分区实例p0的本地路由表记录inode集合s1的路由表项以及inode集合s21的路由表项;同时,在分区实例p0的远程路由表删除inode集合s1的路由表项。113.进一步的,分区实例p1的远程路由表可合并到分区实例p0的远程路由表(在本示例中,分区实例p1的远程路由表为空,此操作可以省略;也就是说,如果第三分区实例的远程路由表为空,则可省略将第三分区实例的远程路由表合并到第四分区实例的远程路由表的步骤),进而分区实例p0使用新的本地路由表为inode集合s1和s21对应的元数据提供访问服务,使用新的远程路由表解除相应元数据的访问服务。114.本技术实施例提供的方案可以适用于除顶层分区实例外的任一分区实例,分区实例可以按照本技术实施例上述提供的方案,在访问负载较低时,将当前管理的元数据分区合并到其他分区实例(例如上层分区实例)进行管理,从而能够实现动态调整分区实例的数量,并控制分区实例管理的元数据分区的规模,使得网盘等云存储服务具备自适应处理应用访问的能力。115.作为可选实现,本技术实施例提供的元数据管理方法可以由云服务器中的监测服务执行;例如,由元数据服务器集群中负责元数据管理监测的监测服务,执行实现本技术实施例提供的元数据管理方法。116.下面对本技术实施例提供的元数据管理装置进行介绍,下文描述的装置内容可以认为是云服务器(例如云服务器中的监测服务)为实现本技术实施例切分元数据分区层面的元数据管理方法所需设置的功能模块。下文描述的装置内容可与上文描述内容相互对应参照。117.可选的,图8a示例性的示出了本技术实施例提供的元数据管理装置的可选框图,如图8a所示,该装置可以包括:118.第一确定负载模块810,用于确定第一分区实例的访问负载,所述第一分区实例为第一元数据分区中的元数据提供访问服务;119.分区及数据确定模块811,用于如果所述访问负载高于预设的第一访问负载,确定第二分区实例;以及,从所述第一元数据分区中确定部分元数据,作为第二元数据分区;120.服务解除模块812,用于为所述第一分区实例解除所述第二元数据分区的访问服务;121.服务配置模块813,用于配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务。122.可选的,分区实例通过本地路由表,维护由分区实例提供访问服务的元数据,并且分区实例通过远程路由表,维护分区实例解除访问服务的元数据。相应的,服务解除模块812,用于为所述第一分区实例解除所述第二元数据分区的访问服务包括:123.在第一分区实例的本地路由表中删除第二元数据分区对应的路由表项;以及,在第一分区实例的远程路由表中添加第二元数据分区对应的路由表项,所添加的路由表项指向第二分区实例。124.相应的,服务配置模块813,用于配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务包括:125.为第二分区实例加载第二元数据分区,并在第二分区实例的本地路由表中添加第二元数据分区对应的路由表项。126.可选的,元数据使用索引节点inode进行唯一标识,一个inode唯一标识一个元数据;相应的,分区实例的本地路由表中记录有分区实例提供访问服务的元数据所对应的inode集合的路由表项;分区实例的远程路由表中记录有分区实例解除访问服务的元数据所对应的inode集合的路由表项。127.可选的,分区及数据确定模块811,用于确定第二分区实例包括:128.请求分配新的分区实例,作为第二分区实例;129.或者,从已有的多个分区实例中确定候选分区实例,从候选分区实例中选择第二分区实例,其中,候选分区实例在承担所述第二元数据分区的访问压力后,访问负载仍低于第一访问负载。130.可选的,分区及数据确定模块811,用于从所述第一元数据分区中确定部分元数据,作为第二元数据分区包括:131.将第一元数据分区中的元数据划分为第一部分元数据和第二部分元数据,所述第一部分元数据在第一元数据分区中的访问占比,与所述第二部分元数据在第一元数据分区中的访问占比的差值在预设差值范围内;确定所述第一部分元数据或所述第二部分元数据为第二元数据分区。132.可选的,云存储服务所管理的元数据以层级的树状结构进行组织;在所述层级的树状结构中,所述第二元数据分区为所述第一元数据分区的子结构数据;多个分区实例形成级联的多层级关系,其中,所述第一分区实例为所述第二分区实例的上层分区实例。133.下面对本技术实施例提供的另一元数据管理装置进行介绍,下文描述的装置内容可以认为是云服务器(例如云服务器中的监测服务)为实现本技术实施例合并元数据分区层面的元数据管理方法所需设置的功能模块。下文描述的装置内容可与上文描述内容相互对应参照。134.可选的,图8b示例性的示出了本技术实施例提供的元数据管理装置的另一可选框图,如图8b所示,该装置可以包括:135.第二确定负载模块820,用于确定第三分区实例的访问负载,所述第三分区实例为第三元数据分区中的元数据提供访问服务;136.分区确定模块821,用于如果所述访问负载低于预设的第二访问负载,从已有的多个分区实例中确定第四分区实例,所述第四分区实例为第四元数据分区提供访问服务;137.合并及控制模块822,用于至少将所述第三元数据分区合并到所述第四元数据分区,并使所述第三分区实例停止访问服务;138.服务配置及控制模块823,用于配置所述第四分区实例为合并后的元数据分区提供访问服务,并回收所述第三分区实例。139.可选的,分区确定模块821,用于从已有的多个分区实例中确定第四分区实例包括:140.将所述第三分区实例的上层分区实例确定为第四分区实例,其中,云存储服务所管理的元数据以层级的树状结构进行组织,在所述层级的树状结构中,所述第三元数据分区为所述第四元数据分区的子结构数据;141.或者,从第三分区实例的上层分区实例对应的多个下层分区实例中,确定与第三分区实例不同的第四分区实例;142.其中,所述第四分区实例增加所述第三元数据分区的访问负载后,所述第四分区实例的总访问负载不高于预设的第一访问负载。143.可选的,分区实例通过本地路由表,维护由分区实例提供访问服务的元数据,并且分区实例通过远程路由表,维护分区实例解除访问服务的元数据;相应的,合并及控制模块822,用于至少将所述第三元数据分区合并到所述第四元数据分区包括:144.将所述第三分区实例的本地路由表合并到所述第四分区实例的本地路由表,得到第四分区实例的合并后的本地路由表;145.相应的,服务配置及控制模块823,用于配置所述第四分区实例为合并后的元数据分区提供访问服务包括:146.使所述第四分区实例使用所述合并后的本地路由表。147.本技术实施例提供的装置还可用于:148.在所述第四分区实例的远程路由表中,删除属于所述第三分区实例的本地路由表的路由表项,得到第四分区实例更新后的远程路由表;以及,如果所述第三分区实例的远程路由表不为空,将所述第三分区实例的远程路由表合并到所述第四分区实例更新后的远程路由表,得到所述第四分区实例的合并后的远程路由表;149.使所述第四分区实例使用所述合并后的远程路由表。150.可选的,元数据使用索引节点inode进行唯一标识,一个inode唯一标识一个元数据;相应的,分区实例的本地路由表中记录有分区实例提供访问服务的元数据所对应的inode集合的路由表项;分区实例的远程路由表中记录有分区实例解除访问服务的元数据所对应的inode集合的路由表项。151.本技术实施例还提供一种云服务器,本技术实施例提供的云服务器可以通过设置上述所述的元数据管理装置,以实现本技术实施例相应提供的元数据管理方法。在可选实现中,图9示例性的示出了云服务器的架构示例图,如图9所示,云服务器可以包括:至少一个处理器91,至少一个通信接口92,至少一个存储器93和至少一个通信总线94。152.在本技术实施例中,处理器91、通信接口92、存储器93、通信总线94的数量为至少一个,且处理器91、通信接口92、存储器93通过通信总线94完成相互间的通信。153.可选的,通信接口92可以为用于进行网络通信的通信模块的接口。154.可选的,处理器91可能是cpu,gpu(graphicsprocessingunit,图形处理器),npu(嵌入式神经网络处理器),fpga(fieldprogrammablegatearray,现场可编程逻辑门阵列),tpu(张量处理单元),ai芯片,特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本技术实施例的一个或多个集成电路等。155.存储器93可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。156.其中,存储器93存储一条或多条计算机可执行指令,处理器91调用所述一条或多条计算机可执行指令,以执行本技术实施例提供的元数据管理方法。157.本技术实施例还提供一种存储介质,其中,存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如本技术实施例提供的元数据管理方法。158.本技术实施例还提供一种计算机程序,所述计算机程序被执行时实现如本技术实施例提供的元数据管理方法。159.上文描述了本技术实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本技术实施例披露、公开的实施例方案。160.虽然本技术实施例披露如上,但本技术并非限定于此。任何本领域技术人员,在不脱离本技术的精神和范围内,均可作各种更动与修改,因此本技术的保护范围应当以权利要求所限定的范围为准。当前第1页12当前第1页12
技术特征:
1.一种元数据管理方法,其中,包括:确定第一分区实例的访问负载,所述第一分区实例为第一元数据分区中的元数据提供访问服务;如果所述访问负载高于预设的第一访问负载,确定第二分区实例;以及,从所述第一元数据分区中确定部分元数据,作为第二元数据分区;为所述第一分区实例解除所述第二元数据分区的访问服务,以及配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务。2.根据权利要求1所述的方法,其中,分区实例通过本地路由表,维护由分区实例提供访问服务的元数据,并且分区实例通过远程路由表,维护分区实例解除访问服务的元数据;所述为所述第一分区实例解除所述第二元数据分区的访问服务包括:在第一分区实例的本地路由表中删除第二元数据分区对应的路由表项;以及,在第一分区实例的远程路由表中添加第二元数据分区对应的路由表项,所添加的路由表项指向第二分区实例。3.根据权利要求2所述的方法,其中,所述配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务包括:为第二分区实例加载第二元数据分区,并在第二分区实例的本地路由表中添加第二元数据分区对应的路由表项。4.根据权利要求1-3任一项所述的方法,其中,元数据使用索引节点inode进行唯一标识,一个inode唯一标识一个元数据;所述分区实例通过本地路由表,维护由分区实例提供访问服务的元数据包括:分区实例的本地路由表中记录有分区实例提供访问服务的元数据所对应的inode集合的路由表项;所述分区实例通过远程路由表,维护分区实例解除访问服务的元数据包括:分区实例的远程路由表中记录有分区实例解除访问服务的元数据所对应的inode集合的路由表项。5.根据权利要求1-3任一项所述的方法,其中,所述确定第二分区实例包括:请求分配新的分区实例,作为第二分区实例;或者,从已有的多个分区实例中确定候选分区实例,从候选分区实例中选择第二分区实例,其中,候选分区实例在承担所述第二元数据分区的访问压力后,访问负载仍低于第一访问负载;所述从所述第一元数据分区中确定部分元数据,作为第二元数据分区包括:将第一元数据分区中的元数据划分为第一部分元数据和第二部分元数据,所述第一部分元数据在第一元数据分区中的访问占比,与所述第二部分元数据在第一元数据分区中的访问占比的差值在预设差值范围内;确定所述第一部分元数据或所述第二部分元数据为第二元数据分区。6.根据权利要求1-3任一项所述的方法,其中,云存储服务所管理的元数据以层级的树状结构进行组织;在所述层级的树状结构中,所述第二元数据分区为所述第一元数据分区的子结构数据;多个分区实例形成级联的多层级关系,其中,所述第一分区实例为所述第二分区实例的上层分区实例。7.一种元数据管理方法,其中,包括:
确定第三分区实例的访问负载,所述第三分区实例为第三元数据分区中的元数据提供访问服务;如果所述访问负载低于预设的第二访问负载,从已有的多个分区实例中确定第四分区实例,所述第四分区实例为第四元数据分区提供访问服务;至少将所述第三元数据分区合并到所述第四元数据分区,并使所述第三分区实例停止访问服务;配置所述第四分区实例为合并后的元数据分区提供访问服务,并回收所述第三分区实例。8.根据权利要求7所述的方法,其中,所述从已有的多个分区实例中确定第四分区实例包括:将所述第三分区实例的上层分区实例确定为第四分区实例,其中,云存储服务所管理的元数据以层级的树状结构进行组织,在所述层级的树状结构中,所述第三元数据分区为所述第四元数据分区的子结构数据;或者,从第三分区实例的上层分区实例对应的多个下层分区实例中,确定与第三分区实例不同的第四分区实例;其中,所述第四分区实例增加所述第三元数据分区的访问负载后,所述第四分区实例的总访问负载不高于预设的第一访问负载。9.根据权利要求8所述的方法,其中,分区实例通过本地路由表,维护由分区实例提供访问服务的元数据,并且分区实例通过远程路由表,维护分区实例解除访问服务的元数据;所述至少将所述第三元数据分区合并到所述第四元数据分区包括:将所述第三分区实例的本地路由表合并到所述第四分区实例的本地路由表,得到第四分区实例的合并后的本地路由表;所述配置所述第四分区实例为合并后的元数据分区提供访问服务包括:使所述第四分区实例使用所述合并后的本地路由表;所述方法还包括:在所述第四分区实例的远程路由表中,删除属于所述第三分区实例的本地路由表的路由表项,得到第四分区实例更新后的远程路由表;以及,如果所述第三分区实例的远程路由表不为空,将所述第三分区实例的远程路由表合并到所述第四分区实例更新后的远程路由表,得到所述第四分区实例的合并后的远程路由表;使所述第四分区实例使用所述合并后的远程路由表。10.根据权利要求9所述的方法,其中,元数据使用索引节点inode进行唯一标识,一个inode唯一标识一个元数据;所述分区实例通过本地路由表,维护由分区实例提供访问服务的元数据包括:分区实例的本地路由表中记录有分区实例提供访问服务的元数据所对应的inode集合的路由表项;所述分区实例通过远程路由表,维护分区实例解除访问服务的元数据包括:分区实例的远程路由表中记录有分区实例解除访问服务的元数据所对应的inode集合的路由表项。11.一种云服务器,其中,包括至少一个存储器和至少一个处理器,所述存储器存储有一条或多条计算机可执行指令,所述处理器调用所述一条或多条计算机可执行指令,以执
行如权利要求1-6任一项所述的元数据管理方法,或者,如权利要求7-10任一项所述的元数据管理方法。12.一种存储介质,其中,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如权利要求1-6任一项所述的元数据管理方法,或者,如权利要求7-10任一项所述的元数据管理方法。
技术总结
本申请实施例提供一种元数据管理方法、云服务器及存储介质,其中方法包括:确定第一分区实例的访问负载,所述第一分区实例为第一元数据分区中的元数据提供访问服务;如果所述访问负载高于预设的第一访问负载,确定第二分区实例;以及,从所述第一元数据分区中确定部分元数据,作为第二元数据分区;为所述第一分区实例解除所述第二元数据分区的访问服务,以及配置所述第二分区实例为所述第二元数据分区中的元数据提供访问服务。本申请实施例能够基于分区实例的访问负载,自适应的调整分区实例所管理的元数据规模,在兼顾云存储服务的系统资源的情况下,提升元数据访问效率。提升元数据访问效率。提升元数据访问效率。
技术研发人员:裴晓辉 李文兆 汪先登 熊杉杉 邹勇波 陈亮 石兆斌 龚晓峰
受保护的技术使用者:阿里巴巴(中国)有限公司
技术研发日:2023.03.22
技术公布日:2023/7/7
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:血泵装配工装及血泵装配方法与流程 下一篇:一种船舶机舱远程监控系统和方法