CN113918097A - 一种分布式存储方法及系统 - Google Patents
一种分布式存储方法及系统 Download PDFInfo
- Publication number
- CN113918097A CN113918097A CN202111230912.4A CN202111230912A CN113918097A CN 113918097 A CN113918097 A CN 113918097A CN 202111230912 A CN202111230912 A CN 202111230912A CN 113918097 A CN113918097 A CN 113918097A
- Authority
- CN
- China
- Prior art keywords
- metadata
- server
- load
- target
- metadata server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种分布式存储方法及系统,通过建立全局映射表储存元数据和元数据的地址形成的映射关系,便于对目标元数据及文件数据进行访问。又通过对元数据服务器负载状态的分析,释放高负载状态的元数据服务器的存储空间,同时将元数据优先配置给低负载状态的元数据服务器,提高了低负载状态的元数据服务器的利用率,解决了元数据服务器动态负载分配不均的问题。
Description
技术领域
本申请涉及文件存储技术领域,尤其涉及一种分布式存储方法及系统。
背景技术
大数据技术最早应用于IT行业,通过对数量巨大,来源分散的数据进行采集和分析创造新价值。大量的数据被应用时,计算机的存储能力不足以存储全部数据,因此,采用分布式存储方法进行分布式数据挖掘。
HDFS(Hadoop Distributed File System,分布式文件系统)使用主从结构,由名字节点构成HDFS集群,用于管理文件命名空间和调节客户端访问文件,HDFS对外开放文件命名空间并允许用户数据以文件形式存储。是一种应用广泛的大数据存储技术,具有高容错率、高吞吐量的特点,适用于数据量大的应用背景。但是HDFS存在可扩展性差和读写数据时会发生延迟的问题。可扩展性差导致HDFS的应用范围受硬件设施限制,而读写数据会发生延迟则会导致数据处理速度下降,影响工作效率。因此,对HDFS进行了进一步的升级改进。改进后的HDFS解决了可扩展性差的问题,但没有解决读写延迟的问题。
元数据分配不均衡,即动态负载分布不均衡是形成读写延迟的主要原因。元数据分配不均衡会导致一部分服务器数据拥挤,发生多进程资源抢占的情况。而另一部分服务器处于空闲状态,空间利用率低。综合看来会导致对用户请求的响应效率低下,形成读写数据延迟。
发明内容
本申请提供了一种分布式存储方法及系统,以解决元数据服务器负载分配不均匀的问题。
一方面,本申请提供了一种分布式存储方法,其步骤包括:
收集元数据与所述元数据的地址,将所述元数据和所述元数据的地址储存到映射表中,得到全局映射表。
所述元数据是一种描述数据属性的信息,记录了目标数据的特征,所述特征包括数据类型、数据来源等信息。所述元数据与元数据的地址一一对应,形成映射关系,将大量元数据和元数据对应的地址形成的映射关系储存到映射表中,就得到了全局映射表。所述全剧映射表的内容可以根据元数据访问情况增加或减少。
在全局映射表中访问目标元数据。
在申请访问一个文件数据时,需要先访问描述所述文件数据特征的元数据,所述元数据被定义为目标元数据。通过所述目标元数据描述的文件数据特征,经数据检索,得到所述文件数据。
若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数。所述元数据距离函数如下:
其中,di为所述目标元数据到所述元数据服务器的距离;hi为元数据服务器的信息参数;f1(diri)为哈希函数1;f2(addri)为哈希函数2;ri为哈希圆。
结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址。
所述元数据距离函数可以求出目标元数据与元数据服务器之间的距离,又通过对元数据服务器的负载状态进行分析,将目标元数据配置到低负载状态的元数据服务器上,提高元数据服务器的利用率。
将所述目标元数据和所述目标元数据的地址储存到映射表中。
所述步骤相当于将所述目标元数据和所述目标元数据的地址的映射关系储存到全局映射表中,即访问所述目标元数据可以得到所述目标元数据描述的文件数据。
返回所述目标元数据。
根据所述目标元数据,访问所述目标元数据对应的文件数据。
返回所述文件数据。
执行在全局映射表中访问目标元数据的步骤时,若全局映射表中包含目标元数据与目标元数据的映射关系则可以直接访问目标元数据,从而访问文件数据。若全局映射表中没有目标元数据与目标元数据的映射关系,则执行上述步骤。
可选的,若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数的步骤包括:
设置半径为1的哈希环。
设置哈希函数f1,所述哈希函数f1以文件目录的路径信息为参数,将所述目标元数据信息映射到所述哈希环的组成点上,得到所述目标元数据的逻辑位置。
设置哈希函数f2,所述哈希函数f2以元数据服务器的信息为参数,并将所述元数据服务器的信息映射到所述哈希环的组成点上,得到所述元数据服务器的逻辑位置。所述元数据服务器的信息包括元数据服务器的IP地址和元数据服务对外端口串的数据。
添加元数据服务器处理能力特征。
得到所述元数据距离函数。
所述元数据距离函数的建立需要添加元数据服务器处理能力特征,对所述元数据服务器处理能力特征描述的越详细,则所述元数据距离函数精度越高。为元数据服务器的处理能力动态特征,可以对每一时刻的元数据服务器处理能力进行表示。
可选的,添加元数据服务器处理能力特征的步骤包括:
设置所述元数据服务器没存放元数据时,元数据服务器的处理能力,所述元数据服务器的处理能力用公式表示为:
bi(0)=r1×cpui+r2×memi+r3×ioi+r4×diski。
其中cpui为所述元数据服务器中cpu的计算性能;memi为所述元数据服务器中内存的性能;ioi为所述元数据服务器的读取性能;diski为所述元数据服务器中的磁盘大小;bi(0)为没存放元数据的元数据服务器的处理能力;r1、r2、r3和r4均为系数。
设置r1、r2、r3和r4之间的数值关系,用公式表示为:
r1+r2+r3+r4=1。
为所述元数据服务器的处理能力添加动态特征,得到服务器性能变化状态下的元数据服务器处理能力公式:
bi(t)=r1×cpui(t)+r2×memi(t)+r3×ioi(t)+r4×diski(t)。
其中,cpui(t)为t时刻所述元数据服务器中cpu的性能;memi(t)为t时刻所述元数据服务器中内存的性能;ioi(t)为t时刻所述元数据服务器的读取性能;diski(t)为所述元数据服务器中的磁盘大小。
添加了动态特征的元数据服务器处理能力表达公式可以随时间变化,描述每一时刻的处理能力,从而使元数据距离函数也可以对每一时刻的元数据与元数据服务器的距离进行描述。
可选的,结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址的步骤包括:
根据影响元数据服务器的负载的因素建立特征公式。
结合所述特征公式建立元数据服务器负载公式。
判断元数据服务器的负载状态,将目标元数据配置给低负载量的元数据服务器。
将低负载量的元数据服务器参数和目标元数据的参数代入所述元数据距离函数,得到所述目标元数据的地址。
通过对元数据服务器负载量进行判断,区分元数据服务器工作状态,为低负载量的元数据服务器配置元数据,暂停为高负载量的元数据服务器配置元数据,并将高负载量的元数据服务器中的元数据迁移到低负载量的元数据服务器。结合元数据距离函数,求出目标元数据的地址。
可选的,所述影响元数据服务器的负载的因素包括:元数据服务器的资源利用率和元数据等待元数据服务器处理消耗的平均等待时间;根据影响元数据服务器的负载的因素建立特征公式的步骤包括:
建立元数据服务器的资源利用率公式,所述资源利用率公式为:
rati(t)=r1×cpuURi(t)+r2×memURi(t)+r3×ioURi(t)+r4×diskURi(t)。
其中,cpuURi(t)为t时刻,cpu的利用率;memURi(t)为t时刻,内存的利用率;ioURi(t)为t时刻,io接口的读取性能的利用率;diskURi(t)为磁盘容量的利用率。
建立目标元数据的平均等待时间公式,所述平均等待时间公式为:
其中,V和S均为权重参数;Q为元数据请求的集合,Q={Q1,Q2,…Qn}。
建立资源利用率公式和平均等待时间公式,通过设置权重参数,将资源利用率公式和平均等待时间公式添加到元数据服务器负载公式的表达公式中。
可选的,结合所述特征公式建立元数据服务器负载公式的步骤包括:
设置权重参数W1和W2,所述权重参数的数值关系为:W1+W2=1。
结合特征公式和权重参数,建立元数据服务器负载公式,所述负载公式如下:
Loadi(t)=W1×rati(t)+W2×STi(t)。
其中,rati(t)为t时刻,元数据服务器的资源利用率;STi(t)为t时刻,目标元数据的平均等待时间。
建立元数据服务器负载公式即可对元数据服务器负载状态进行判断,从而实现对元数据的分配。
可选的,判断元数据服务器的负载状态,将目标元数据配置给低负载状态的元数据服务器的步骤包括:
建立元数据服务器集合H,H={h1,h2,…hn}。
结合元数据服务器负载公式和元数据服务器集合,计算得到元数据服务器集合的平均负载,所述平均负载用公式表示为:
其中,Loat(t)为t时刻,元数据服务器集合的平均负载。
设置元数据服务器的高位负载阈值Loadh(t),所述高位负载阈值用公式表示为:
Loadh(t)=a×Load(t)。
其中,a为高位负载阈值系数,a>1。
设置元数据服务器的低位负载阈值Loadl(t),所述低位负载阈值用公式表示为:
Loadl(t)=b×Load(t)。
其中,b为低位负载阈值系数,0<b<1。
若元数据服务器的负载状态大于或等于元数据服务器的高位负载阈值,则判定所述元数据服务器为高负载状态服务器,终止配置目标元数据给高负载状态服务器,并释放高负载状态服务器的负载压力。
若元数据服务器的负载状态小于或等于元数据服务器的低位负载阈值,则判定所述元数据服务器为低负载状态服务器,优先配置目标元数据到低负载状态服务器。
对元数据服务器的负载量进行判断有利于对高负载量的元数据服务器空间的释放,同时又提高了低负载量的元数据服务器的空间利用率,使元数据的动态分布变得均衡,有助于提高对元数据及数据的处理速度。
可选的,释放高负载状态服务器的负载压力的步骤包括:
定位高负载状态服务器上的热点数据。
复制所述热点数据并迁移到低负载状态服务器。
另一方面,本申请还提供了一种分布式存储系统,包括:元数据集群管理模块、元数据集群存储模块、数据存储模块和客户端。
所述元数据集群管理模块用于收集元数据与所述元数据的地址,将所述元数据和所述元数据的地址储存到映射表中,得到全局映射表。
所述客户端用于在全局映射表中访问目标元数据。
所述元数据集群管理模块还用于,若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数;所述元数据距离函数如下:
其中,di为所述目标元数据到所述元数据服务器的距离;hi为元数据服务器的信息参数;f1(diri)为哈希函数1;f2(addri)为哈希函数2;ri为哈希圆;bi(t)为元数据服务器处理能力。
所述元数据集群管理模块还用于结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址。
所述元数据集群管理模块还用于将所述目标元数据和所述目标元数据的地址储存到映射表中。
所述元数据集群存储模块用于返回所述目标元数据。
所述客户端还用于根据所述目标元数据,访问所述目标元数据对应的文件数据。
所述数据存储模块用于返回所述文件数据。
由上述技术方案可知,本申请通过建立全局映射表储存元数据和元数据的地址形成的映射关系,便于对目标元数据进行访问。对于未包含于全局映射表的目标元数据,通过设置哈希环,结合文件目录的路径信息、目标元数据的特征信息和元数据服务器的信息,添加元数据服务器处理能力特征,建立元数据距离函数对目标元数据和元数据服务器之间的距离进行描述。又通过对元数据服务器负载状态的分析,释放高负载状态的元数据服务器的利用空间,同时将元数据配置给低负载状态的元数据服务器,提高了低负载状态的元数据服务器的利用率,实现了元数据服务器的动态负载均衡。将目标元数据和目标元数据的地址形成的映射关系存储到全局映射表,并返回目标元数据,以供客户端根据目标元数据访问文件数据。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为分布式存储方法步骤示意图;
图2为得到元数据距离函数的步骤示意图;
图3为添加元数据服务器处理能力特征的步骤示意图;
图4为得到目标元数据的地址的步骤示意图;
图5为根据影响元数据服务器的负载的因素建立特征公式的步骤示意图;
图6为结合特征公式建立元数据服务器负载公式的步骤示意图;
图7为判断元数据服务器的负载状态,将目标元数据配置给低负载状态的元数据服务器的步骤示意图;
图8为释放高负载状态的服务器的负载压力的步骤示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
本申请提供了一种分布式存储方法,下面结合图1对所述分布式存储方法进行说明,其步骤包括:
S101:收集元数据与所述元数据的地址,将所述元数据和所述元数据的地址储存到映射表中,得到全局映射表。
所述元数据是一种描述数据属性的信息,记录了目标数据的特征,所述特征包括数据类型、数据来源等信息。所述元数据与元数据的地址一一对应,形成映射关系,将大量元数据和元数据对应的地址形成的映射关系储存到映射表中,就得到了全局映射表。所述全剧映射表的内容可以根据元数据访问情况增加或减少。
S102:在全局映射表中访问目标元数据。
在申请访问一个文件数据时,需要先访问描述所述文件数据特征的元数据,所述元数据被定义为目标元数据。通过所述目标元数据描述的文件数据特征,经数据检索,得到所述文件数据。
S103:若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数。所述元数据距离函数如下:
其中,di为所述目标元数据到所述元数据服务器的距离;hi为元数据服务器的信息参数;f1(diri)为哈希函数1;f2(addri)为哈希函数2;ri为哈希圆;bi(t)为元数据服务器处理能力。
S104:结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址。
所述元数据距离函数可以求出目标元数据与元数据服务器之间的距离,又通过对元数据服务器的负载状态进行分析,将目标元数据配置到低负载状态的元数据服务器上,提高元数据服务器的利用率。
S105:将所述目标元数据和所述目标元数据的地址储存到映射表中。
所述步骤相当于将所述目标元数据和所述目标元数据的地址的映射关系储存到全局映射表中,即访问所述目标元数据可以得到所述目标元数据描述的文件数据。
S106:返回所述目标元数据。
S107:根据所述目标元数据,访问所述目标元数据对应的文件数据。
S108:返回所述文件数据。
执行在全局映射表中访问目标元数据的步骤时,若全局映射表中包含目标元数据与目标元数据的映射关系则可以直接访问目标元数据,从而访问文件数据。若全局映射表中没有目标元数据与目标元数据的映射关系,则执行上述步骤。
下面结合图2对若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数的步骤进行说明:
S201:设置半径为1的哈希环。
所述哈希环可用于描述元数据及元数据服务器的位置,结合元数据距离函数可以描述元数据与元数据服务器之间的距离。
S202:设置哈希函数f1,所述哈希函数f1以文件目录的路径信息为参数,将所述目标元数据信息映射到所述哈希环的组成点上,得到所述目标元数据的逻辑位置。
S203:设置哈希函数f2,所述哈希函数f2以元数据服务器的信息为参数,并将所述元数据服务器的信息映射到所述哈希环的组成点上,得到所述元数据服务器的逻辑位置。所述元数据服务器的信息包括元数据服务器的IP地址和元数据服务对外端口串的数据。
所述哈希环上的每一个点都可以存储数据的逻辑位置,访问目标元数据的过程可以看作是在寻找哈希环上的数据点,并从数据点上得到目标元数据的逻辑位置,实现对目标元数据的访问。
S204:添加元数据服务器处理能力特征。
S205:得到所述元数据距离函数。
所述元数据距离函数的建立需要添加元数据服务器处理能力特征,对所述元数据服务器处理能力特征描述的越详细,则所述元数据距离函数精度越高。为元数据服务器的处理能力动态特征,可以对每一时刻的元数据服务器处理能力进行表示。
下面结合图3对添加元数据服务器处理能力特征的步骤进行说明:
S301:设置所述元数据服务器没存放元数据时,元数据服务器的处理能力,所述元数据服务器的处理能力用公式表示为:
bi(0)=r1×cpui+r2×memi+r3×ioi+r4×diski。
其中cpui为所述元数据服务器中cpu的计算性能;memi为所述元数据服务器中内存的性能;ioi为所述元数据服务器的读取性能;diski为所述元数据服务器中的磁盘大小;bi(0)为没存放元数据的元数据服务器的处理能力;r1、r2、r3和r4均为系数。
S302:设置r1、r2、r3和r4之间的数值关系,用公式表示为:
r1+r2+r3+r4=1。
S303:为所述元数据服务器的处理能力添加动态特征,得到服务器性能变化状态下的元数据服务器处理能力公式:
bi(t)=r1×cpui(t)+r2×memi(t)+r3×ioi(t)+r4×diski(t)。
其中,cpui(t)为t时刻所述元数据服务器中cpu的性能;memi(t)为t时刻所述元数据服务器中内存的性能;ioi(t)为t时刻所述元数据服务器的读取性能;diski(t)为所述元数据服务器中的磁盘大小。
添加了动态特征的元数据服务器处理能力表达公式可以随时间变化,描述每一时刻的处理能力,从而使元数据距离函数也可以对每一时刻的元数据与元数据服务器的距离进行描述。
下面结合图4对结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址的步骤进行说明:
S401:根据影响元数据服务器的负载的因素建立特征公式。
S402:结合所述特征公式建立元数据服务器负载公式。
根据元数据服务器的工作特性及负载状态,分析出影响元数据服务器的负载的因素,并将所述因素用公式表示,所述公式的准确度越高,则对元数据服务器负载情况描述准确度越高。
S403:判断元数据服务器的负载状态,将目标元数据配置给低负载状态的元数据服务器。
提高了低负载状态的元数据服务器的利用率,加快了访问目标元数据并得到服务器应答从而获取目标元数据的速度,提高了效率。同时,对元数据的动态分配更为均衡。
S404:将低负载量的元数据服务器参数和目标元数据的参数代入所述元数据距离函数,得到所述目标元数据的地址。
结合哈希环和元数据距离函数,计算出目标元数据及其对应的元数据服务器的地址,从而形成目标元函数的映射关系。在为目标元数据配置元数据服务器时,需要对元数据服务器的负载进行判断。
下面结合图5对根据影响元数据服务器的负载的因素建立特征公式的步骤包括:
S501:建立元数据服务器的资源利用率公式,所述资源利用率公式为:
rati(t)=r1×cpuURi(t)+r2×memURi(t)+r3×ioURi(t)+r4×diskURi(t)。
其中,cpuURi(t)为t时刻,cpu的利用率;memURi(t)为t时刻,内存的利用率;ioURi(t)为t时刻,io接口的读取性能的利用率;diskURi(t)为磁盘容量的利用率。
S502:建立目标元数据的平均等待时间公式,所述平均等待时间公式为:
其中,V和S均为权重参数;Q为元数据请求的集合,Q={Q1,Q2,…Qn}。
建立资源利用率公式和平均等待时间公式,通过设置权重参数,将资源利用率公式和平均等待时间公式添加到元数据服务器负载公式的表达公式中。
通过对资源利用率和平均等待时间按比重加权即可建立元数据服务器负载公式,下面结合图6对结合所述特征公式建立元数据服务器负载公式的步骤进行说明:
S601:设置权重参数W1和W2,所述权重参数的数值关系为:W1+W2=1。
所述权重参数按照资源利用率和平均等待时间对元数据服务器负载能力的影响程度设置,各权重参数之间符合上述数值关系即可。
S602:结合特征公式和权重参数,建立元数据服务器负载公式,所述负载公式如下:
Loadi(t)=W1×rati(t)+W2×STi(t)。
其中,rati(t)为t时刻,元数据服务器的资源利用率;STi(t)为t时刻,目标元数据的平均等待时间。
建立元数据服务器负载公式即可对元数据服务器负载状态进行判断,从而实现对元数据的分配。
下面结合图7,对判断元数据服务器的负载状态,将目标元数据配置给低负载量的元数据服务器的步骤进行说明:
S701:建立元数据服务器集合H,H={h1,h2,…hn}。
所述元数据服务器集合在对目标元数据配置元数据服务器时,提供元数据服务器,并且根据数据处理量,可以增加或减少元数据服务器的数量。
S702:结合元数据服务器负载公式和元数据服务器集合,计算得到元数据服务器集合的平均负载,所述平均负载用公式表示为:
其中,Load(t)为t时刻,元数据服务器集合的平均负载。
S703:设置元数据服务器的高位负载阈值Loadh(t),所述高位负载阈值用公式表示为:
Loadh(t)=a×Load(t)。
其中,a为高位负载阈值系数,a>1。
S704:设置元数据服务器的低位负载阈值Loadl(t),所述低位负载阈值用公式表示为:
Loadl(t)=b×Load(t)。
其中,b为低位负载阈值系数,0<b<1。
S705:若元数据服务器的负载状态大于或等于元数据服务器的高位负载阈值,则判定所述元数据服务器为高负载状态服务器,终止配置目标元数据给高负载状态服务器,并释放高负载状态服务器的负载压力。
S706:若元数据服务器的负载状态小于或等于元数据服务器的低位负载阈值,则判定所述元数据服务器为低负载状态服务器,优先配置目标元数据到低负载状态服务器。
对元数据服务器的负载量进行判断有利于对高负载量的元数据服务器空间的释放,同时又提高了低负载量的元数据服务器的空间利用率,使元数据的动态分布变得均衡,有助于提高对元数据及数据的处理速度。
下面结合图8对释放高负载状态服务器的负载压力的步骤进行说明:
S801:定位高负载状态服务器上的热点数据。
所述热点数据即为在高负载状态服务器中等待处理的热点元数据。大量热点元数据堆积影响系统处理数据的速度并且造成其余元数据服务器空闲,浪费内存空间,降低了数据处理效率,因此要对高负载状态服务器的内存空间进行释放,也就是对高负载状态服务器中的热电源数据进行迁移。
S802:复制所述热点数据并迁移到低负载状态服务器。
另一方面,本申请还提供了一种分布式存储系统,包括:元数据集群管理模块、元数据集群存储模块、数据存储模块和客户端。
所述元数据集群管理模块用于收集元数据与所述元数据的地址,将所述元数据和所述元数据的地址储存到映射表中,得到全局映射表。
所述客户端用于在全局映射表中访问目标元数据。
所述元数据集群管理模块还用于,若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数;所述元数据距离函数如下:
其中,di为所述目标元数据到所述元数据服务器的距离;hi为元数据服务器的信息参数;f1(diri)为哈希函数1;f2(addri)为哈希函数2;ri为哈希圆。
所述元数据集群管理模块还用于结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址。
所述元数据集群管理模块还用于将所述目标元数据和所述目标元数据的地址储存到映射表中。
所述元数据集群存储模块用于返回所述目标元数据。
所述客户端还用于根据所述目标元数据,访问所述目标元数据对应的文件数据。
所述数据存储模块用于返回所述文件数据。
本申请提供了一种分布式存储方法及系统,通过建立全局映射表储存元数据和元数据的地址形成的映射关系,便于对目标元数据进行访问。对于未包含于全局映射表的目标元数据,通过设置哈希环,结合文件目录的路径信息、目标元数据的特征信息和元数据服务器的信息,添加元数据服务器处理能力特征,建立元数据距离函数对目标元数据和元数据服务器之间的距离进行描述。又通过对元数据服务器负载状态的分析,释放高负载状态的元数据服务器的利用空间,同时将元数据配置给低负载状态的元数据服务器,提高了低负载状态的元数据服务器的利用率,解决了元数据服务器的动态负载分配不均的问题。对元数据进行均衡分配后,将目标元数据和目标元数据的地址形成的映射关系存储到全局映射表,并返回目标元数据,以供客户端根据目标元数据访问文件数据。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (9)
1.一种分布式存储方法,其特征在于,包括:
收集元数据与所述元数据的地址,将所述元数据和所述元数据的地址储存到映射表中,得到全局映射表;
在全局映射表中访问目标元数据;
若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数;所述元数据距离函数如下:
其中,dis为距离函数;di为所述目标元数据到所述元数据服务器的距离;hi为元数据服务器的信息参数;f1(diri)为哈希函数1;f2(addri)为哈希函数2;ri为哈希圆;bi(t)为元数据服务器处理能力;
结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址;
将所述目标元数据和所述目标元数据的地址储存到映射表中;
返回所述目标元数据;
根据所述目标元数据,访问所述目标元数据对应的文件数据;
返回所述文件数据。
2.根据权利要求1所述的分布式存储方法,其特征在于,若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数的步骤包括:
设置半径为1的哈希环;
设置哈希函数f1,使用哈希函数f1以文件目录的路径信息为参数,将所述目标元数据信息映射到所述哈希环的组成点上,得到所述目标元数据的逻辑位置;
设置哈希函数f2,所述哈希函数f2以元数据服务器的信息为参数,并将所述元数据服务器的信息映射到所述哈希环的组成点上,得到所述元数据服务器的逻辑位置;所述元数据服务器的信息包括元数据服务器的IP地址和元数据服务对外端口串的数据;
添加元数据服务器处理能力特征;
结合哈希函数和元数据服务器处理能力特征得到所述元数据距离函数。
3.根据权利要求2所述的分布式存储方法,其特征在于,添加元数据服务器处理能力特征的步骤包括:
设置所述元数据服务器没存放元数据时,元数据服务器的处理能力,所述元数据服务器的处理能力用公式表示为:
bi(0)=r1×cpui+r2×memi+r3×ioi+r4×diski;
其中cpui为所述元数据服务器中cpu的计算性能;memi为所述元数据服务器中内存的性能;ioi为所述元数据服务器的读取性能;diski为所述元数据服务器中的磁盘大小;bi(0)为没存放元数据的元数据服务器的处理能力;r1、r2、r3和r4均为系数;
设置r1、r2、r3和r4之间的数值关系,用公式表示为:
r1+r2+r3+r4=1;
为所述元数据服务器的处理能力添加动态特征,得到服务器性能变化状态下的元数据服务器处理能力公式:
bi(t)=r1×cpui(t)+r2×memi(t)+r3×ioi(t)+r4×diski(t);
其中,cpui(t)为t时刻所述元数据服务器中cpu的性能;memi(t)为t时刻所述元数据服务器中内存的性能;ioi(t)为t时刻所述元数据服务器的读取性能;diski(t)为所述元数据服务器中的磁盘大小。
4.根据权利要求1所述的分布式存储方法,其特征在于,结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址的步骤包括:
根据影响元数据服务器的负载的因素建立特征公式;
结合所述特征公式建立元数据服务器负载公式;
判断元数据服务器的负载状态,将目标元数据配置给低负载状态的元数据服务器;
将低负载状态的元数据服务器参数和目标元数据的参数代入所述元数据距离函数,得到所述目标元数据的地址。
5.根据权利要求4所述的分布式存储方法,其特征在于,所述影响元数据服务器的负载的因素包括:元数据服务器的资源利用率和元数据等待元数据服务器处理消耗的平均等待时间;根据影响元数据服务器的负载的因素建立特征公式的步骤包括:
建立元数据服务器的资源利用率公式,所述资源利用率公式为:
rati(t)=r1×cpuURi(t)+r2×memURi(t)+r3×ioURi(t)+r4×diskURi(t);
其中,cpuURi(t)为t时刻,cpu的利用率;memURi(t)为t时刻,内存的利用率;ioURi(t)为t时刻,io接口的读取性能的利用率;diskURi(t)为磁盘容量的利用率;
建立目标元数据的平均等待时间公式,所述平均等待时间公式为:
其中,V和S均为权重参数;Q为元数据请求的集合,Q={Q1,Q2,…Qn}。
6.根据权利要求4所述的分布式存储方法,其特征在于,结合所述特征公式建立元数据服务器负载公式的步骤包括:
设置权重参数W1和W2,所述权重参数的数值关系为:W1+W2=1;
结合特征公式和权重参数,建立元数据服务器负载公式,所述负载公式如下:
Loadi(t)=W1×rati(t)+W2×STi(t);
其中,rati(t)为t时刻,元数据服务器的资源利用率;STi(t)为t时刻,目标元数据的平均等待时间。
7.根据权利要求4的分布式存储方法,其特征在于,判断元数据服务器的负载状态,将目标元数据配置给低负载状态的元数据服务器的步骤包括:
建立元数据服务器集合H,H={h1,h2,…hn};
结合元数据服务器负载公式和元数据服务器集合,计算得到元数据服务器集合的平均负载,所述平均负载用公式表示为:
其中,Load(t)为t时刻,元数据服务器集合的平均负载;
设置元数据服务器的高位负载阈值Loadh(t),所述高位负载阈值用公式表示为:
Loadh(t)=a×Load(t);
其中,a为高位负载阈值系数,a>1;
设置元数据服务器的低位负载阈值Loadl(t),所述低位负载阈值用公式表示为:
Loadl(t)=b×Load(t);
其中,b为低位负载阈值系数,0<b<1;
若元数据服务器的负载状态大于或等于元数据服务器的高位负载阈值,则判定所述元数据服务器为高负载状态服务器,终止配置目标元数据给高负载状态服务器;
若元数据服务器的负载状态小于或等于元数据服务器的低位负载阈值,则判定所述元数据服务器为低负载状态服务器,配置目标元数据到低负载状态服务器。
8.根据权利要求7的分布式存储方法,其特征在于,释放高负载状态服务器的负载压力的步骤包括:
定位高负载状态服务器上的热点数据;
复制所述热点数据并迁移到低负载状态服务器。
9.一种分布式存储系统,其特征在于,包括:元数据集群管理模块、元数据集群存储模块、数据存储模块和客户端;
所述元数据集群管理模块用于收集元数据与所述元数据的地址,将所述元数据和所述元数据的地址储存到映射表中,得到全局映射表;
所述客户端用于在全局映射表中访问目标元数据;
所述元数据集群管理模块还用于,若全局映射表中没有所述目标元数据和所述目标元数据的地址,以文件目录的路径信息、所述目标元数据的特征信息和元数据服务器的信息为参数,得到元数据距离函数;所述元数据距离函数如下:
其中,di为所述目标元数据到所述元数据服务器的距离;hi为元数据服务器的信息参数;f1(diri)为哈希函数1;f2(addri)为哈希函数2;ri为哈希圆;
所述元数据集群管理模块还用于结合所述元数据距离函数,根据元数据服务器的负载情况,为所述目标元数据配置元数据服务器,得到所述目标元数据的地址;
所述元数据集群管理模块还用于将所述目标元数据和所述目标元数据的地址储存到映射表中;
所述元数据集群存储模块用于返回所述目标元数据;
所述客户端还用于根据所述目标元数据,访问所述目标元数据对应的文件数据;
所述数据存储模块用于返回所述文件数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111230912.4A CN113918097A (zh) | 2021-10-22 | 2021-10-22 | 一种分布式存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111230912.4A CN113918097A (zh) | 2021-10-22 | 2021-10-22 | 一种分布式存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113918097A true CN113918097A (zh) | 2022-01-11 |
Family
ID=79242224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111230912.4A Pending CN113918097A (zh) | 2021-10-22 | 2021-10-22 | 一种分布式存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113918097A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706527A (zh) * | 2022-03-24 | 2022-07-05 | 北京涵鑫盛科技有限公司 | 一种存储空间分布式的释放方法及分布式系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130118088A (ko) * | 2012-04-19 | 2013-10-29 | 케이티하이텔 주식회사 | 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법 |
CN105242881A (zh) * | 2015-10-12 | 2016-01-13 | 创新科软件技术(深圳)有限公司 | 分布式存储系统及其数据读写方法 |
CN106161120A (zh) * | 2016-10-08 | 2016-11-23 | 电子科技大学 | 动态均衡负载的分布式元数据管理方法 |
US20170024324A1 (en) * | 2015-07-22 | 2017-01-26 | Tsinghua University | Method for distributed transaction processing in flash memory |
CN113221470A (zh) * | 2021-06-10 | 2021-08-06 | 南方电网科学研究院有限责任公司 | 一种用于电网边缘计算系统的联邦学习方法及其相关装置 |
-
2021
- 2021-10-22 CN CN202111230912.4A patent/CN113918097A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130118088A (ko) * | 2012-04-19 | 2013-10-29 | 케이티하이텔 주식회사 | 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법 |
US20170024324A1 (en) * | 2015-07-22 | 2017-01-26 | Tsinghua University | Method for distributed transaction processing in flash memory |
CN105242881A (zh) * | 2015-10-12 | 2016-01-13 | 创新科软件技术(深圳)有限公司 | 分布式存储系统及其数据读写方法 |
CN106161120A (zh) * | 2016-10-08 | 2016-11-23 | 电子科技大学 | 动态均衡负载的分布式元数据管理方法 |
CN113221470A (zh) * | 2021-06-10 | 2021-08-06 | 南方电网科学研究院有限责任公司 | 一种用于电网边缘计算系统的联邦学习方法及其相关装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706527A (zh) * | 2022-03-24 | 2022-07-05 | 北京涵鑫盛科技有限公司 | 一种存储空间分布式的释放方法及分布式系统 |
CN114706527B (zh) * | 2022-03-24 | 2022-09-20 | 北京涵鑫盛科技有限公司 | 一种存储空间分布式的释放方法及分布式系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11782875B2 (en) | Directory structure for a distributed storage system | |
US11847098B2 (en) | Metadata control in a load-balanced distributed storage system | |
US11134055B2 (en) | Naming service in a distributed memory object architecture | |
CN103793534B (zh) | 分布式文件系统及均衡元数据存储和访问负载的实现方法 | |
US11301421B2 (en) | Scalable multi-tier storage structures and techniques for accessing entries therein | |
US7536426B2 (en) | Hybrid object placement in a distributed storage system | |
KR20170133247A (ko) | 어드레스 기반의 멀티-스트림 스토리지 장치 액세스 | |
CN114860163B (zh) | 一种存储系统、内存管理方法和管理节点 | |
WO2023036005A1 (zh) | 信息处理方法及装置 | |
US8769196B1 (en) | Configuring I/O cache | |
CN113918097A (zh) | 一种分布式存储方法及系统 | |
Trivedi et al. | RStore: A direct-access DRAM-based data store | |
WO2022262381A1 (zh) | 一种数据压缩方法及装置 | |
US20190146713A1 (en) | Flash registry with on-disk hashing | |
Liu et al. | ONFS: a hierarchical hybrid file system based on memory, SSD, and HDD for high performance computers | |
EP4016312B1 (en) | Data operations using a cache table in a file system | |
US11928336B2 (en) | Systems and methods for heterogeneous storage systems | |
CN114063914B (zh) | 一种面向dram-hbm混合内存的数据管理方法 | |
US12001338B2 (en) | Method and system for implementing metadata compression in a virtualization environment | |
WO2023241740A1 (zh) | 计算任务的执行方法及装置 | |
Song et al. | MHDFS: A memory-based hadoop framework for large data storage | |
US20230136522A1 (en) | Method and system for implementing metadata compression in a virtualization environment | |
Yu et al. | MRFS: A distributed files system with geo-replicated metadata | |
Li et al. | Performance optimization of small file I/O with adaptive migration strategy in cluster file system | |
Song et al. | Memory-based Data Storing Technologies on Hadoop Distribution File System |
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 |