CN108063780A - 用于动态复制数据的方法和系统 - Google Patents
用于动态复制数据的方法和系统 Download PDFInfo
- Publication number
- CN108063780A CN108063780A CN201610976492.7A CN201610976492A CN108063780A CN 108063780 A CN108063780 A CN 108063780A CN 201610976492 A CN201610976492 A CN 201610976492A CN 108063780 A CN108063780 A CN 108063780A
- Authority
- CN
- China
- Prior art keywords
- heat
- metadata server
- mrow
- inode
- data object
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000010076 replication Effects 0.000 title claims abstract description 23
- 230000005012 migration Effects 0.000 claims abstract description 12
- 238000013508 migration Methods 0.000 claims abstract description 12
- 238000012544 monitoring process Methods 0.000 claims description 16
- 230000003362 replicative effect Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种用于动态复制数据的方法和系统,涉及云计算技术领域。其中以预定周期检测元数据服务器集群中各元数据服务器的服务质量,若第i个元数据服务器的服务质量低于预定质量阈值,则将第i个元数据服务器中超过热度阈值的目录子树迁移到指定的第j个元数据服务器中,其中第j个元数据服务器在子树迁移后的服务质量不低于预定质量阈值,且i≠j。由于元数据服务器的服务质量与元数据服务器的服务能力及该元数据服务器目录树中根节点的热度相关联,因此本发明根据元数据服务器的服务质量对相应目录子树进行迁移,从而可实现弹性的动态复制,提高系统的可扩展性。
Description
技术领域
本发明涉及云计算技术领域,特别涉及一种用于动态复制数据的方法和系统。
背景技术
复制是将一组数据从一个数据源拷贝到多个数据源的软件技术,是将一份数据发布到多个存储站点上的有效方式。典型的云计算对象存储系统一般采用“静态复制”策略:一方面,对象副本的信息在对象生成时由系统存储策略预先确定,包括副本的个数、副本的位置等,一旦副本建立,这些副本将存储在相对固定的对象存储设备上,直到它们由客户端删除或者其生命周期结束;另一方面,复制过程仅在对象存储设备间基于数据对象展开,很少甚至没有考虑数据对象所对应的元数据的复制。
这种静态复制策略既没有充分考虑数据对象对存取环境的自适应性,即针对“热点”数据动态扩展其服务能力,又没有综合考虑对象存储系统的交互特性,如元数据和数据对象的复制与客户端之间的交互关系,因而面对热点数据易产生数据访问性能瓶颈问题,且其元数据的无复制特性限制了系统的可扩展性。
发明内容
本发明实施例提供一种用于动态复制数据的方法和系统,由于元数据服务器的服务质量与元数据服务器的服务能力及该元数据服务器目录树中根节点的热度相关联,因此根据元数据服务器的服务质量对相应目录子树进行迁移,从而可实现弹性的动态复制,提高系统的可扩展性。
根据本发明的一个方面,提供一种用于动态复制数据的方法,包括:
以预定周期检测元数据服务器集群中各元数据服务器的服务质量;
若第i个元数据服务器的服务质量低于预定质量阈值,则将第i个元数据服务器中超过热度阈值的目录子树迁移到指定的第j个元数据服务器中,其中第j个元数据服务器在子树迁移后的服务质量不低于预定质量阈值,且i≠j。
在一个实施例中,元数据服务器的服务质量为该元数据服务器的服务能力S与该元数据服务器目录树中根节点的热度HM的商;
其中,元数据服务器的服务能力S为该元数据服务器的中央处理器、内存和带宽可用值的加权和;
元数据服务器中文档索引节点Inode的热度取决于该Inode的访问频率。
在一个实施例中,Inode的热度满足Hn=H0×f(t)+1
其中H0为Inode的原有热度,Hn为Inode得到请求后的热度,f(t)为时间衰减函数,
t为前次计算热度与本次计算热度的时间差。
在一个实施例中,Inode子树父节点的热度与该Inode的热度变化相关联。
在一个实施例中,元数据服务器目录子树节点更新后,删除原有目录子树节点的副本。
在一个实施例中,在创建或更新数据对象时,在对象设备集群中选择Ns个对象存储设备以存储该数据对象的对象副本;
以预定周期监控相应元数据服务器目录子树中的叶子节点的热度HF;
若叶子节点对应的数据类型为文件,且该叶子节点的热度HF大于预定门限,则调整该数据对象的副本数N;
在对象设备集群中将该数据对象复制到新增加的对象存储设备中。
在一个实施例中,调整该数据对象的副本数N包括:
利用公式
对数据对象的副本数N进行调整,其中为向下取整函数。
在一个实施例中,在数据对象完成复制后,将相应的元数据目录树叶子节点的热度进行更新。
在一个实施例中,若叶子节点的热度HF小于预定门限,且该叶子节点在对象设备集群中的对象副本数N大于Ns,则通过删除该数据对象的副本,使该数据对象的副本数保持为Ns个。
在一个实施例中,若在元数据目录子树中,Inode叶子节点被删除,则删除该Inode所对应对象在对象设备集群中的全部副本。
根据本发明的另一方面,提供一种用于动态复制数据的系统,包括服务质量检测模块和子树迁移模块,其中:
服务质量检测模块,用于以预定周期检测元数据服务器集群中各元数据服务器的服务质量;
子树迁移模块,用于根据服务质量检测模块的检测结果,若第i个元数据服务器的服务质量低于预定质量阈值,则将第i个元数据服务器中超过热度阈值的目录子树迁移到指定的第j个元数据服务器中,其中第j个元数据服务器在子树迁移后的服务质量不低于预定质量阈值,且i≠j。
在一个实施例中,元数据服务器的服务质量为该元数据服务器的服务能力S与该元数据服务器目录树中根节点的热度HM的商;
其中,元数据服务器的服务能力S为该元数据服务器的中央处理器、内存和带宽可用值的加权和;
元数据服务器中文档索引节点Inode的热度取决于该Inode的访问频率。
在一个实施例中,Inode的热度满足Hn=H0×f(t)+1
其中H0为Inode的原有热度,Hn为Inode得到请求后的热度,f(t)为时间衰减函数,
t为前次计算热度与本次计算热度的时间差。
在一个实施例中,Inode子树父节点的热度与该Inode的热度变化相关联。
在一个实施例中,系统还包括副本管理模块,其中:
副本管理模块,用于在元数据服务器目录子树节点更新后,删除原有目录子树节点的副本。
在一个实施例中,系统还包括选择模块、热度监控模块和复制模块,其中:
选择模块,用于在创建或更新数据对象时,在对象设备集群中选择Ns个对象存储设备以存储该数据对象的对象副本;
热度监控模块,用于以预定周期监控相应元数据服务器目录子树中的叶子节点的热度HF;
副本管理模块用于在叶子节点对应的数据类型为文件,且该叶子节点的热度HF大于预定门限的情况下,调整该数据对象的副本数N;
复制模块,用于在对象设备集群中将该数据对象复制到新增加的对象存储设备中。
在一个实施例中,副本管理模块具体利用公式对数据对象的副本数N进行调整,其中为向下取整函数。
在一个实施例中,系统还包括热度更新模块,其中:
热度更新模块,用于在数据对象完成复制后,将相应的元数据目录树叶子节点的热度进行更新。
在一个实施例中,副本管理模块还用于在叶子节点的热度HF小于预定门限,且该叶子节点在对象设备集群中的对象副本数N大于Ns的情况下,通过删除该数据对象的副本,使该数据对象的副本数保持为Ns个。
在一个实施例中,副本管理模块还用于在元数据目录子树中,Inode叶子节点被删除的情况下,删除该Inode所对应对象在对象设备集群中的全部副本。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1描述了对象存储系统S中的各元素在对单个文件进行读操作的交互过程。
图2描述了对象存储系统S中的各元素在对单个文件进行写操作的交互过程。
图3为本发明用于动态复制数据的方法一个实施例的示意图。
图4为本发明动态复制方法一个实施例的示意图。
图5为本发明用于动态复制数据的系统一个实施例的示意图。
图6为本发明用于动态复制数据的系统另一实施例的示意图。
图7为数据中心存储层次架构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
首先需要说明的是,对象存储系统S由三类物理节点和三种逻辑数据组成。其中,物理节点包括:对象存储设备端(Object Storage Device,简称:OSD)、元数据服务器端(Metadata Server,简称:MDS)和客户端(Client,简称:CT),它们通过高速网络进行互连。逻辑数据包括元数据E、数据对象O和文件/目录F。OSD是一个智能设备,负责数据对象O及其属性的组织和其在存储介质上的物理存放,并向外提供基于对象的访问接口。MDS维护元数据E,管理用户请求文件和OSD上数据对象之间映射关系、安全认证信息的维护等。用户通过客户端CT提供的一个友好访问界面访问文件(或目录)F,从而通过与MDS和OSD的交互,高效、安全地利用系统的存储资源。
图1描述了对象存储系统S中的各元素在对单个文件进行读操作的交互过程。其中:
步骤101,客户端连接到系统中后,通过元数据交互命令,如更改目录操作(cd)和查看文件操作(ls)等,与元数据服务器交互。
步骤102,元数据服务器集群中的一个MDS接收到客户端命令后,返回基于文档索引节点(Inode)的元数据,它用来描述系统中的对象数据信息。
步骤103,客户端对文件F执行读(RD)操作,转换为客户端从对象存储设备上读取对象数据ObjectExtent(简称OE)的操作,即RD(OE)。
图2描述了对象存储系统S中的各元素在对单个文件进行写操作的交互过程。其中:
步骤201,客户端连接到系统中后,通过元数据交互命令,如更改目录操作(cd)和查看文件操作(ls)等,与元数据服务器交互。
步骤202,元数据服务器集群中的一个MDS接收到客户端命令后,返回基于文档索引节点(Inode)的元数据,它用来描述系统中的对象数据信息。
步骤203,客户端要进行写操作,则需要更新原有的Inode,或者新建一个Inode,并在客户端本地缓存;基于这个新的Inode信息,客户端将对文件的写操作(WT)转换为向对象存储设备上执行写对象数据(ObjectExtent)的操作,即执行WT(OE)。
步骤204,由于每个对象存在多副本,因此只有将WT(OE)操作应用到满足客户一致性要求的对象存储设备上之后,对象存储设备才向客户端返回确认消息(ACK)。
步骤205,当满足一致性要求的数据持久化之后,对象存储设备向客户端返回安全更新消息(Safe)。
步骤206,客户端收到数据在对象存储设备上安全更新消息后,将在步骤203中缓存的新Inode信息应用到元数据服务器上。
每个文件或者目录元数据都存储在Inode节点中,根据上述交互流程,Inode是客户端与元数据服务器交互的核心数据结构。客户端CT在执行RD(OE)或WT(OE)之前,都要先与元数据服务器交互并得到Inode信息(通过元数据操作命令,如cd,ls等),进而基于Inode执行后续操作。在构造Inode数据结构时,既要反映数据对象的特点,又要突破传统Linux文件系统中Inode的硬连接限制,以便于系统的可扩展性。因此,需要重新审视Inode数据结构。宏观上通过层次树描述Inode(元数据)之间的整体结构关系;层次结构反映出文件的目录层次,每一个子树节点通过一个数字及其对应的文件/目录名来表示。
图3为本发明用于动态复制数据的方法一个实施例的示意图。其中:
步骤301,以预定周期检测元数据服务器集群中各元数据服务器的服务质量。
其中,元数据服务器的服务质量Q为该元数据服务器的服务能力S与该元数据服务器目录树中根节点的热度HM的商。即:
Q=S/HM (1)
其中。目录树中根节点的热度HM代表者整个MDS的负载情况。
可选地,元数据服务器的服务能力S为该元数据服务器的中央处理器可用值Scpu、内存可用值Smem和带宽Sbw可用值的加权和。即:
S=a×Scpu+b×Smem+c×Sbw (2)
其中,a、b和c为相应的权值。
元数据服务器中文档索引节点Inode的热度取决于该Inode的访问频率。例如,每当有来自用户的元数据请求时,对应的元数据热度加一。
可选地,考虑到元数据的热度会随时间衰减,可采用下述方式进行热度计算。
例如,H0为Inode的原有热度,Hn为Inode得到请求后的热度,则Inode的热度满足:
Hn=H0×f(t)+1 (3)
其中f(t)为时间衰减函数,
其中t为前次计算热度与本次计算热度的时间差,θ为参数。
此外,在层次化目录树结构中,Inode子树父节点的热度Hancestor与该Inode的热度变化相关联,即也会受到子节点热度的影响,该影响如式(5)所示:
Hancestor_new=Hancestor_old×Δ (5)
其中,Hancestor_new、Hancestor_old分别表示Hancestor受影响后及受影响前的值;Δ=Hn-H0,表示当前Inode子树的热度变化。
步骤302,若第i个元数据服务器的服务质量低于预定质量阈值,则将第i个元数据服务器中超过热度阈值的目录子树迁移到指定的第j个元数据服务器中,其中第j个元数据服务器在子树迁移后的服务质量不低于预定质量阈值,且i≠j,1≤i,j≤M,M为元数据服务器集群中的元数据服务器总数。
可选地,如果找不到满足条件的MDS,则通知系统管理员,新增加一台元数据服务器节点,从而来满足新增加的服务需求。
此外,当目录子树节点更新后,删除原有子树节点的副本。
基于本发明上述实施例提供的用于动态复制数据的方法,由于元数据服务器的服务质量与元数据服务器的服务能力及该元数据服务器目录树中根节点的热度相关联,因此根据元数据服务器的服务质量对相应目录子树进行迁移,从而可实现弹性的动态复制,提高系统的可扩展性。
在上述复制流程中,可定义目录子树热度阀值HT,并根据该阀值选择需要复制的热点子树,其热度为Hc。遍历MDS的目录树中各个子树的热度值H,Hc为超过阀值HT的最小H值;进而将具有Hc的目录子树复制。被复制子树的各个节点的热度减半,其受影响的父节点的热度按照上式(5)进行调整。
在一段时间ΔT内,多个客户端(设客户数为CN)对特定文件F的并发读操作转化为对特定对象O关于对象数据OE的读操作。由于每个对象共有N个副本,分别存储在至多N个OSD上,则由该对象O所在的N个OSD对CN个客户端提供基于对象数据OE的读服务。因此,每个OSD服务的平均客户数CN′如式(6)所示。
CN′=CN/N (6)
其中,若采用静态的数据对象复制算法,则N为固定值,此时CN′将随着客户数的增加而线性增大;当客户数足够大时,易造成OSD过载而无法提供对象数据读服务,进而成为性能瓶颈而影响系统性能。
因此,需要采用动态的数据对象复制算法来解决热点数据的并发读问题:根据客户数,动态改变对象的副本数,亦即动态调整存储对象副本的OSD数N,进而来提高系统的对象存取服务能力;特别地,对象副本数N随着并发客户数CN的增加而增大,从而有效地减少CN′的值;同时,将热点数据对象O的负载均匀地在N个对象存储设备上分布,从而消除面对热度数据的OSD瓶颈。当数据为非热点数据时,则固定N的个数,提供通用的对象存取服务。
为此,需要首先标识出热点数据对象。根据图1,CN个客户端在ΔT时间内与OSD交互之前,都要先与MDS交互;因而热点数据对象的热度与其对应文件F的热度,进而与该文件F在MDS上所对应的Inode热度是一致的;根据目录树的构造特点,文件F所对应的Inode为MDS上目录子树的叶子节点;通过变量HF记录MDS上目录子树的叶子节点的热度。由于HF只记录叶子节点的热度,故该值不向上传递。
设定叶子节点热度的最大阀值HFmax和最小阀值HFmin,分别用于判定是否启动叶子节点所对应的对象副本的动态增加和动态减少过程;当新建数据对象或者该对象为非热点数据时,为该对象保留固定副本数Ns。
图4为本发明动态复制方法一个实施例的示意图。其中:
步骤401,在创建或更新数据对象时,在对象设备集群中选择Ns个对象存储设备以存储该数据对象的对象副本。
例如,可通过Ceph的CRUSH算法进行计算。
步骤402,以预定周期监控相应元数据服务器目录子树中的叶子节点的热度HF。
步骤403,若叶子节点对应的数据类型为文件,且该叶子节点的热度HF大于预定门限,则调整该数据对象的副本数N。
可选地,利用下述公式对数据对象的副本数N进行调整。
其中,为向下取整函数。
步骤404,在对象设备集群中将该数据对象复制到新增加的对象存储设备中。
可选地,在数据对象完成复制后,将相应的元数据目录树叶子节点的热度进行更新。
此外,若叶子节点的热度HF小于预定门限HFmin,则表明该对象为非热点数据。若该叶子节点在对象设备集群中的对象副本数N大于Ns,则通过删除该数据对象的副本,使该数据对象的副本数保持为Ns个。若在元数据目录子树中,Inode叶子节点被删除,则删除该Inode所对应对象在对象设备集群中的全部副本。
通过锁机制辅助对象存储设备集群动态复制对象O。只有当对象O完成动态增加完个副本后,才允许客户端读取这些新增加的副本。因此,在动态复制过程中,并没有客户端的参与,因而该过程不影响对象存储系统的面向用户的原有一致性存取标准。
图5为本发明用于动态复制数据的系统一个实施例的示意图。如图5所示,该系统包括服务质量检测模块501和子树迁移模块502。其中:
服务质量检测模块501用于以预定周期检测元数据服务器集群中各元数据服务器的服务质量。
可选地,元数据服务器的服务质量为该元数据服务器的服务能力S与该元数据服务器目录树中根节点的热度HM的商,如公式(1)所示。
其中,元数据服务器的服务能力S为该元数据服务器的中央处理器、内存和带宽可用值的加权和,如公式(2)所示。
元数据服务器中文档索引节点Inode的热度取决于该Inode的访问频率。
例如,Inode的热度满足Hn=H0×f(t)+1,其中H0为Inode的原有热度,Hn为Inode得到请求后的热度,f(t)为时间衰减函数,如公式(4)所示。
此外,Inode子树父节点的热度与该Inode的热度变化相关联,对应关系可如公式(5)所示。
子树迁移模块502用于根据服务质量检测模块的检测结果,若第i个元数据服务器的服务质量低于预定质量阈值,则将第i个元数据服务器中超过热度阈值的目录子树迁移到指定的第j个元数据服务器中,其中第j个元数据服务器在子树迁移后的服务质量不低于预定质量阈值,且i≠j,1≤i,j≤M,M为元数据服务器集群中的元数据服务器总数。
可选地,如果找不到满足条件的MDS,则通知系统管理员,新增加一台元数据服务器节点,从而来满足新增加的服务需求。
此外,当目录子树节点更新后,删除原有子树节点的副本。
基于本发明上述实施例提供的用于动态复制数据的系统,由于元数据服务器的服务质量与元数据服务器的服务能力及该元数据服务器目录树中根节点的热度相关联,因此根据元数据服务器的服务质量对相应目录子树进行迁移,从而可实现弹性的动态复制,提高系统的可扩展性。
图6为本发明用于动态复制数据的系统另一实施例的示意图。与图5所示实施例相比,除服务质量检测模块601和子树迁移模块602之外,还包括副本管理模块603。
其中,副本管理模块603用于在元数据服务器目录子树节点更新后,删除原有目录子树节点的副本。
此外,在图6所示实施例中,还包括选择模块604、热度监控模块605和复制模块606。其中:
选择模块604用于在创建或更新数据对象时,在对象设备集群中选择Ns个对象存储设备以存储该数据对象的对象副本。
热度监控模块605用于以预定周期监控相应元数据服务器目录子树中的叶子节点的热度HF。
副本管理模块603用于在叶子节点对应的数据类型为文件,且该叶子节点的热度HF大于预定门限的情况下,调整该数据对象的副本数N。
可选地,副本管理模块603利用公式对数据对象的副本数N进行调整,其中为向下取整函数。
复制模块606用于在对象设备集群中将该数据对象复制到新增加的对象存储设备中。
可选地,在图6所示实施例中,还包括热度更新模块607。其中:
热度更新模块607用于在数据对象完成复制后,将相应的元数据目录树叶子节点的热度进行更新。
可选地,副本管理模块603还用于在叶子节点的热度HF小于预定门限,且该叶子节点在对象设备集群中的对象副本数N大于Ns的情况下,通过删除该数据对象的副本,使该数据对象的副本数保持为Ns个。
此外,副本管理模块603还可用于在元数据目录子树中,Inode叶子节点被删除的情况下,删除该Inode所对应对象在对象设备集群中的全部副本。
另外还需要说明的是,数据中心可以抽象化为层次化的存储结构,基于物理设备的视角,如图7所示,数据的终端存储设备是磁盘或者逻辑卷。为了简化描述,磁盘或者其卷通过唯一标识而标定为虚拟磁盘(VD),进而构建为数据中心的第一个存储层。一般情况下,VD是主机的存储设备,主机的载体是PC或者服务器,它们进而构建了第二个存储层次。
在数据中心,主机可以配置为一个廉价的存储节点,或者它可以进步配置为机架上的一个刀片机,该机架作为数据中心的第三个层次。几个挂载机架的服务器组成了一个数据中心,可以配置在不同的地方。
然而,根据每一个层次的功能,所有层次分为两类:终端存储设备和设备容器。因此,VD是终端存储设备,来执行本地存储,而磁盘、主机或机架都是VD的容器。
硬件失效在每一类容器中是常见现象,这里将磁盘的稳定性定义为其失效概率。基于VD的稳定性和抽象的两个层次,容器划分为n个域,在一个域Domaini中节点的稳定性有一个下界di -和一个上界di +。如公式(8)所示,当且仅当节点稳定性满足域Domaini的条件时,磁盘才能够划到该域内。这里定义di+1 -=di +,d0 -=0,dn-1 +=dn -=0,相应的域条件定义如公式(9)所示。
通过实施本发明,能够得到以下有益效果:
(1)综合考虑数据对象在云存储系统中对象存储设备间的复制和元数据在元数据服务器间的复制,以便增加对象存储系统的可扩展性。
(2)根据数据对象的热度,动态调整元数据及数据对象的复制策略,包括它们的副本的个数及相应的存储位置,以便增加数据对象的并发服务能力,从而消除针对热点数据的访问性能瓶颈问题,并提高对象存储系统的可扩展性。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (20)
1.一种用于动态复制数据的方法,其特征在于,包括:
以预定周期检测元数据服务器集群中各元数据服务器的服务质量;
若第i个元数据服务器的服务质量低于预定质量阈值,则将第i个元数据服务器中超过热度阈值的目录子树迁移到指定的第j个元数据服务器中,其中第j个元数据服务器在子树迁移后的服务质量不低于预定质量阈值,且i≠j。
2.根据权利要求1所述的方法,其特征在于,
元数据服务器的服务质量为该元数据服务器的服务能力S与该元数据服务器目录树中根节点的热度HM的商;
其中,元数据服务器的服务能力S为该元数据服务器的中央处理器、内存和带宽可用值的加权和;
元数据服务器中文档索引节点Inode的热度取决于该Inode的访问频率。
3.根据权利要求2所述的方法,其特征在于,
Inode的热度满足Hn=H0×f(t)+1
其中H0为Inode的原有热度,Hn为Inode得到请求后的热度,f(t)为时间衰减函数,
<mrow>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mn>0</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>t</mi>
<mo><</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<mi>e</mi>
<mrow>
<mo>-</mo>
<mi>&theta;</mi>
<mi>t</mi>
</mrow>
</msup>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>t</mi>
<mo>&GreaterEqual;</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
t为前次计算热度与本次计算热度的时间差。
4.根据权利要求3所述的方法,其特征在于,还包括:
Inode子树父节点的热度与该Inode的热度变化相关联。
5.根据权利要求4所述的方法,其特征在于,还包括:
元数据服务器目录子树节点更新后,删除原有目录子树节点的副本。
6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:
在创建或更新数据对象时,在对象设备集群中选择Ns个对象存储设备以存储该数据对象的对象副本;
以预定周期监控相应元数据服务器目录子树中的叶子节点的热度HF;
若叶子节点对应的数据类型为文件,且该叶子节点的热度HF大于预定门限,则调整该数据对象的副本数N;
在对象设备集群中将该数据对象复制到新增加的对象存储设备中。
7.根据权利要求6所述的方法,其特征在于,
调整该数据对象的副本数N包括:
利用公式
对数据对象的副本数N进行调整,其中为向下取整函数。
8.根据权利要求7所述的方法,其特征在于,还包括:
在数据对象完成复制后,将相应的元数据目录树叶子节点的热度进行更新。
9.根据权利要求8所述的方法,其特征在于,还包括:
若叶子节点的热度HF小于预定门限,且该叶子节点在对象设备集群中的对象副本数N大于Ns,则通过删除该数据对象的副本,使该数据对象的副本数保持为Ns个。
10.根据权利要求9所述的方法,其特征在于,还包括:
若在元数据目录子树中,Inode叶子节点被删除,则删除该Inode所对应对象在对象设备集群中的全部副本。
11.一种用于动态复制数据的系统,其特征在于,包括服务质量检测模块和子树迁移模块,其中:
服务质量检测模块,用于以预定周期检测元数据服务器集群中各元数据服务器的服务质量;
子树迁移模块,用于根据服务质量检测模块的检测结果,若第i个元数据服务器的服务质量低于预定质量阈值,则将第i个元数据服务器中超过热度阈值的目录子树迁移到指定的第j个元数据服务器中,其中第j个元数据服务器在子树迁移后的服务质量不低于预定质量阈值,且i≠j。
12.根据权利要求11所述的系统,其特征在于,
元数据服务器的服务质量为该元数据服务器的服务能力S与该元数据服务器目录树中根节点的热度HM的商;
其中,元数据服务器的服务能力S为该元数据服务器的中央处理器、内存和带宽可用值的加权和;
元数据服务器中文档索引节点Inode的热度取决于该Inode的访问频率。
13.根据权利要求12所述的系统,其特征在于,
Inode的热度满足Hn=H0×f(t)+1
其中H0为Inode的原有热度,Hn为Inode得到请求后的热度,f(t)为时间衰减函数,
<mrow>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mn>0</mn>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>t</mi>
<mo><</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msup>
<mi>e</mi>
<mrow>
<mo>-</mo>
<mi>&theta;</mi>
<mi>t</mi>
</mrow>
</msup>
<mo>,</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>t</mi>
<mo>&GreaterEqual;</mo>
<mn>0</mn>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
t为前次计算热度与本次计算热度的时间差。
14.根据权利要求13所述的系统,其特征在于,还包括:
Inode子树父节点的热度与该Inode的热度变化相关联。
15.根据权利要求14所述的系统,其特征在于,还包括副本管理模块,其中:
副本管理模块,用于在元数据服务器目录子树节点更新后,删除原有目录子树节点的副本。
16.根据权利要求15所述的系统,其特征在于,还包括选择模块、热度监控模块和复制模块,其中:
选择模块,用于在创建或更新数据对象时,在对象设备集群中选择Ns个对象存储设备以存储该数据对象的对象副本;
热度监控模块,用于以预定周期监控相应元数据服务器目录子树中的叶子节点的热度HF;
副本管理模块用于在叶子节点对应的数据类型为文件,且该叶子节点的热度HF大于预定门限的情况下,调整该数据对象的副本数N;
复制模块,用于在对象设备集群中将该数据对象复制到新增加的对象存储设备中。
17.根据权利要求16所述的系统,其特征在于,
副本管理模块具体利用公式对数据对象的副本数N进行调整,其中为向下取整函数。
18.根据权利要求17所述的系统,其特征在于,还包括热度更新模块,其中:
热度更新模块,用于在数据对象完成复制后,将相应的元数据目录树叶子节点的热度进行更新。
19.根据权利要求18所述的系统,其特征在于,
副本管理模块还用于在叶子节点的热度HF小于预定门限,且该叶子节点在对象设备集群中的对象副本数N大于Ns的情况下,通过删除该数据对象的副本,使该数据对象的副本数保持为Ns个。
20.根据权利要求19所述的系统,其特征在于,还包括:
副本管理模块还用于在元数据目录子树中,Inode叶子节点被删除的情况下,删除该Inode所对应对象在对象设备集群中的全部副本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610976492.7A CN108063780B (zh) | 2016-11-08 | 2016-11-08 | 用于动态复制数据的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610976492.7A CN108063780B (zh) | 2016-11-08 | 2016-11-08 | 用于动态复制数据的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108063780A true CN108063780A (zh) | 2018-05-22 |
CN108063780B CN108063780B (zh) | 2021-02-19 |
Family
ID=62136626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610976492.7A Active CN108063780B (zh) | 2016-11-08 | 2016-11-08 | 用于动态复制数据的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108063780B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108848180A (zh) * | 2018-06-27 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种元数据同步方法、装置、设备及可读存储介质 |
CN108846114A (zh) * | 2018-06-26 | 2018-11-20 | 郑州云海信息技术有限公司 | 分布式系统控制方法、装置、设备及可读存储介质 |
CN111125047A (zh) * | 2019-12-06 | 2020-05-08 | 中盈优创资讯科技有限公司 | 冷热数据目录识别方法及装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030200222A1 (en) * | 2000-09-19 | 2003-10-23 | George Feinberg | File Storage system having separation of components |
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
CN101079902A (zh) * | 2007-06-29 | 2007-11-28 | 清华大学 | 海量数据分级存储方法 |
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
CN102104494A (zh) * | 2009-12-18 | 2011-06-22 | 华为技术有限公司 | 元数据服务器、带外网络文件系统及其处理方法 |
CN102571772A (zh) * | 2011-12-26 | 2012-07-11 | 华中科技大学 | 一种元数据服务器热点均衡方法 |
US20120246170A1 (en) * | 2011-03-22 | 2012-09-27 | Momentum Consulting | Managing compliance of data integration implementations |
WO2013075640A1 (en) * | 2011-11-22 | 2013-05-30 | Hangzhou H3C Technologies Co., Ltd. | Balancing virtual machine loads |
US8667171B2 (en) * | 2010-05-28 | 2014-03-04 | Microsoft Corporation | Virtual data center allocation with bandwidth guarantees |
CN103763365A (zh) * | 2014-01-16 | 2014-04-30 | 浪潮(北京)电子信息产业有限公司 | 一种云存储下元数据服务的负载均衡方法及系统 |
US8825608B2 (en) * | 2011-02-23 | 2014-09-02 | Level 3 Communications, Llc | Content delivery network analytics management via edge stage collectors |
CN104348793A (zh) * | 2013-07-30 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 存储服务器系统及数据信息的存储方法 |
CN104348913A (zh) * | 2014-10-28 | 2015-02-11 | 浪潮电子信息产业股份有限公司 | 一种紧耦合可扩展的大数据交互方法 |
CN104641650A (zh) * | 2012-07-16 | 2015-05-20 | 康佩伦特科技公司 | 在数据存储子系统中的源引用复制 |
-
2016
- 2016-11-08 CN CN201610976492.7A patent/CN108063780B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030200222A1 (en) * | 2000-09-19 | 2003-10-23 | George Feinberg | File Storage system having separation of components |
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
CN101079902A (zh) * | 2007-06-29 | 2007-11-28 | 清华大学 | 海量数据分级存储方法 |
CN101697168A (zh) * | 2009-10-22 | 2010-04-21 | 中国科学技术大学 | 一种分布式文件系统动态元数据管理方法及系统 |
CN102104494A (zh) * | 2009-12-18 | 2011-06-22 | 华为技术有限公司 | 元数据服务器、带外网络文件系统及其处理方法 |
US8667171B2 (en) * | 2010-05-28 | 2014-03-04 | Microsoft Corporation | Virtual data center allocation with bandwidth guarantees |
US8825608B2 (en) * | 2011-02-23 | 2014-09-02 | Level 3 Communications, Llc | Content delivery network analytics management via edge stage collectors |
US20120246170A1 (en) * | 2011-03-22 | 2012-09-27 | Momentum Consulting | Managing compliance of data integration implementations |
WO2013075640A1 (en) * | 2011-11-22 | 2013-05-30 | Hangzhou H3C Technologies Co., Ltd. | Balancing virtual machine loads |
CN102571772A (zh) * | 2011-12-26 | 2012-07-11 | 华中科技大学 | 一种元数据服务器热点均衡方法 |
CN104641650A (zh) * | 2012-07-16 | 2015-05-20 | 康佩伦特科技公司 | 在数据存储子系统中的源引用复制 |
CN104348793A (zh) * | 2013-07-30 | 2015-02-11 | 阿里巴巴集团控股有限公司 | 存储服务器系统及数据信息的存储方法 |
CN103763365A (zh) * | 2014-01-16 | 2014-04-30 | 浪潮(北京)电子信息产业有限公司 | 一种云存储下元数据服务的负载均衡方法及系统 |
CN104348913A (zh) * | 2014-10-28 | 2015-02-11 | 浪潮电子信息产业股份有限公司 | 一种紧耦合可扩展的大数据交互方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108846114A (zh) * | 2018-06-26 | 2018-11-20 | 郑州云海信息技术有限公司 | 分布式系统控制方法、装置、设备及可读存储介质 |
CN108848180A (zh) * | 2018-06-27 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种元数据同步方法、装置、设备及可读存储介质 |
CN111125047A (zh) * | 2019-12-06 | 2020-05-08 | 中盈优创资讯科技有限公司 | 冷热数据目录识别方法及装置 |
CN111125047B (zh) * | 2019-12-06 | 2024-03-12 | 中盈优创资讯科技有限公司 | 冷热数据目录识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108063780B (zh) | 2021-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9171052B2 (en) | Methods and systems for replicating an expandable storage volume | |
US9015123B1 (en) | Methods and systems for identifying changed data in an expandable storage volume | |
WO2018059032A1 (zh) | 一种虚拟节点的数据迁移方法和虚拟节点 | |
EP4241166B1 (en) | Data connector component for implementing data requests | |
US10521401B2 (en) | Data object lockdown | |
US9069710B1 (en) | Methods and systems for replicating an expandable storage volume | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
US20140136483A1 (en) | Method and system for managing metadata in a storage environment | |
US9471803B2 (en) | System and method for secure multi-tenancy in an operating system of a storage system | |
US8955087B2 (en) | Method and system for transferring replicated information from source storage to destination storage | |
US9189494B2 (en) | Object file system | |
US10516732B2 (en) | Disconnected ingest in a distributed storage system | |
JP2016505935A (ja) | 分散オブジェクトストレージエコシステムにおけるコンテンツとメタデータの分離 | |
US8756687B1 (en) | System, method and computer program product for tamper protection in a data storage system | |
US10628298B1 (en) | Resumable garbage collection | |
US9760457B2 (en) | System, method and computer program product for recovering stub files | |
US20130339645A1 (en) | Rapid cloning of virtual machines | |
CN108063780B (zh) | 用于动态复制数据的方法和系统 | |
US11023159B2 (en) | Method for fast recovering of data on a failed storage device | |
JP7407275B2 (ja) | 同期のためのローカルデバイスフォルダのコンテンツ管理システムへのバインディング | |
US20180210950A1 (en) | Distributed file system with tenant file system entity | |
US20210240666A1 (en) | Displaying an alert and options when deleting a file that is associated with a sequence of files | |
US9898485B2 (en) | Dynamic context-based data protection and distribution | |
US9111015B1 (en) | System and method for generating a point-in-time copy of a subset of a collectively-managed set of data items | |
US10540329B2 (en) | Dynamic data protection and distribution responsive to external information sources |
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 |