CN104869140B - 多集群系统和控制多集群系统的数据存储的方法 - Google Patents

多集群系统和控制多集群系统的数据存储的方法 Download PDF

Info

Publication number
CN104869140B
CN104869140B CN201410064882.8A CN201410064882A CN104869140B CN 104869140 B CN104869140 B CN 104869140B CN 201410064882 A CN201410064882 A CN 201410064882A CN 104869140 B CN104869140 B CN 104869140B
Authority
CN
China
Prior art keywords
data
main memory
cluster
storage cluster
memory accumulation
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
CN201410064882.8A
Other languages
English (en)
Other versions
CN104869140A (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.)
Advanced New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410064882.8A priority Critical patent/CN104869140B/zh
Publication of CN104869140A publication Critical patent/CN104869140A/zh
Application granted granted Critical
Publication of CN104869140B publication Critical patent/CN104869140B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请的提供一种多集群系统和控制多集群系统的数据存储的方法,包括:收集主存储集群和次存储集群中存储的数据的元数据;根据主存储集群和次存储集群中存储的数据的元数据确定主存储集群和次存储集群中存储的数据的活跃程度;根据主存储集群和次存储集群中存储的数据的活跃程度识别主存储集群中存储的沉默数据以及次存储集群中存储的活跃数据;将任意次存储集群中存储的活跃数据迁移至任意主存储集群中存储以及将任意主存储集群中存储的沉默数据迁移至任意次存储集群中存储。采用本申请的技术方案,能解决存储集群与计算集群的处理能力存在差异的问题,实现不同存储集群之间的数据直读直写和整体上的资源调度,并能提升存储集群磁盘利用率。

Description

多集群系统和控制多集群系统的数据存储的方法
技术领域
本申请涉及大数据技术领域,尤其涉及一种多集群系统和控制多集群系统的数据存储的方法。
背景技术
随着云时代的来临,大数据(Big data)也吸引了越来越多的关注,大数据的概念已经日益清晰,但解决大数据的存储问题仍然是摆在每个用户面前的一道难题。目前,已知的主流分布式存储系统在设计上一般都采用主从(master-slave)体系结构,一个分布式存储系统由一个名字节点(Namenode)加上若干个数据节点(Datanode)组成。单集群的规模受限于名字节点的内存和处理能力的上限。名字节点在内存中存储了整个分布式文件系统中的元数据信息,限制了集群中数据块、文件和目录的数目,文件系统中所有元数据信息的读取和操作都必须与名字节点通信才能进行,所以,文件操作的性能受制于单个名字节点的吞吐量,单个名字节点所能存储的对象受限于名字节点内存的容量。目前的设计,单个存储集群能够支持5000个节点,而单个计算集群能够支持50000个节点以上的规模,可见,存储集群与计算集群的处理能力存在比较大的差异。随着数据的爆炸式增长以及业务规模的迅速扩展,存储和计算绑定的单集群模式将达到计算、存储与流量瓶颈。
现有的解决方案,一种是采用大集群模式,通过HDFS Federation(名字节点水平扩展方案,允许分布式文件系统HDFS创建多个名字空间namespace以提高集群的扩展性和隔离性)方案将文件系统扩展为多个名字节点,能够增加文件系统读写操作的吞吐量,一个集群可以共享及管理所有资源;一种是采用多集群模式,按照业务逻辑拆分成若干个集群,各个集群之间没有影响,容易水平扩展。
然而,采用大集群模式,对于多个名字节点需采用均衡机制,且集群出现故障时恢复时间长,影响面大;采用多集群模式,由于各个集群的应用特点不同,它们的利用率可能不一致,可能出现在某一时间段有的集群业务繁忙、资源利用率高,甚至需要排队等待资源,而有的集群业务空闲,资源利用率低的情况,而且多集群模式还需要考虑集群之间的数据共享,跨集群计算等等问题,架构更为复杂。并且,上述方案采用的都是存储和计算绑定(Data-Compute Combined Deployment)模型,当计算能力不足需要扩容时,增加计算节点的同时也必须增加存储节点,无法灵活定制,会造成存储或计算资源的浪费。
综上所述,需要提出一种控制集群系统中数据的存储方案。
发明内容
本申请的主要目的在于提供一种多集群系统和控制多集群系统的数据存储的方法,以解决现有技术存在的由于使用存储和计算绑定模型的存储集群与计算集群的处理能力的差异,以及活跃数据与沉默数据的等同处理带来的存储利用率低下的问题,各个集群业务逻辑不通导致的各个集群的资源利用不平衡,且不能在整体上进行资源调度的问题,其中:
本申请的提供了一种控制多集群系统的数据存储的方法,包括:收集主存储集群和次存储集群中存储的数据的元数据;根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度;根据所述主存储集群和次存储集群中存储的数据的活跃程度识别所述主存储集群中存储的沉默数据以及所述次存储集群中存储的活跃数据;以及将任意次存储集群中存储的活跃数据迁移至任意主存储集群中存储以及将任意主存储集群中存储的沉默数据迁移至任意次存储集群中存储。
本申请的另一方面提供了一种多集群系统,包括:主存储集群和次存储集群,其中,所述主存储集群用于存储活跃数据,所述次存储集群用于存储沉默数据;计算集群,用于对所述主存储集群和次存储集群中存储的数据执行计算;控制集群,包括:元数据管理模块,用于收集所述主存储集群和次存储集群中存储的数据的元数据;活跃程度确定模块,用于根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度;识别模块,用于根据所述主存储集群和次存储集群中存储的数据的活跃程度识别所述主存储集群中存储的沉默数据以及所述次存储集群中存储的活跃数据;迁移模块,用于将任意次存储集群中存储的活跃数据迁移至任意主存储集群中存储以及将任意主存储集群中存储的沉默数据迁移至任意次存储集群中存储。
与现有技术相比,根据本申请的技术方案,通过一个控制集群管理与控制一个计算集群和多个存储集群,以解决存储集群与计算集群的处理能力的差异,同时,计算集群管理在拓扑上覆盖所有的存储集群,能够很简单地实现不同存储集群之间的数据直读直写,并且在整体上进行资源的调度。根据数据的活跃程度将数据划分为活跃数据和沉默数据,将活跃数据和沉默数据分别存储于主存储集群和次存储集群中,主存储集群与次存储集群采用不同的主机硬件配置、文件管理机制与文件压缩策略,从整体上,突破集群的存储容量,提升存储的磁盘利用率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的多集群系统的结构示意图;
图2是本申请实施例的控制多集群系统的数据存储的方法的总流程图;
图3是本申请实施例的根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度的流程图;
图4是本申请另一实施例的根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度的流程图;以及
图5是本申请实施例的多集群系统的结构示意图。
具体实施方式
本申请的主要思想在于,将多集群系统中的各集群按照功能划分为控制集群、存储集群和计算集群,且存储集群包括主存储集群和次存储集群,通过一个控制集群管理控制一个计算集群和多个存储集群,以解决存储集群与计算集群的处理能力的差异,同时,计算集群管理在拓扑上覆盖所有的存储集群,能够很简单地实现不同存储集群之间的数据直读直写,并且在整体上进行资源的调度。将数据按活跃程度划分为沉默数据和活跃数据,主存储集群用来存储活跃数据,次存储集群用来存储沉默数据,主存储集群与次存储集群采用不同的文件管理机制与文件压缩策略,从整体上,突破集群的存储容量,提升存储的磁盘利用率。
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
根据本申请的实施例,提供了一种控制多集群系统的数据存储的方法。该方法可以适用于包含计算集群、存储集群以及控制集群的多集群系统。
图1示出了根据本申请实施例的多集群系统的结构示意图。如图1所示,系统100至少可以包括:一个或多个主存储集群111-1、111-2、…、111-N、一个或多个次存储集群112-1、112-2、…、112-M、计算集群120和控制集群130。
主存储集群111-1、111-2、…、111-N可以用于存储活跃数据,次存储集群112-1、112-2、…、112-M可以用于存储沉默数据,其中,N和M可以相同也可以不同。
计算集群120,可以用于对所述主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据执行计算。
控制集群130,可以用于收集所述主存储集群111-1、111-2、…、111-N和次存储集群112-1、112-2、…、112-M中存储的数据的元数据,对所述主存储集群111-1、111-2、…、111-N和次存储集群112-1、112-2、…、112-M中存储的数据的元数据进行管理,以便对所述主存储集群和次存储集群中存储的数据进行访问,并根据所述元数据确定主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的活跃程度,以便根据活跃程度和动态的活跃阈值对所述一个或多个主存储集群111-1、111-2、…、111-N以及一个或多个次存储集群112-1、112-2、…、112-M中存储的数据进行数据迁移。
优选地,多集群系统100可以包含一个计算集群120、一个控制集群130、以及一个或多个主存储集群111-1、111-2、…、111-N和一个或多个次存储集群112-1、112-2、…、112-M的存储集群,其中,主存储集群111-1、111-2、…、111-N可以用于存储活跃数据,次存储集群112-1、112-2、…、112-M可以用于存储沉默数据。主存储集群与次存储集群可以采用不同的主机硬件配置、文件管理机制与文件压缩策略,主存储集群111-1、111-2、…、111-N可以由性能、主机硬件配置相对较好的大集群组成,压缩算法可以采用性能优先、压缩率较低的存储策略,例如,可以采用压缩率低于第一压缩率阈值的存储策略,对于小文件个数比较多的情况,可以实施有条件的小文件合并策略,次存储集群112-1、112-2、…、112-M可以采用性能、主机硬件配置相对略差的大集群或中集群组成,压缩算法可以采用压缩率较高的存储策略,可以采用不低于第二压缩率阈值的存储策略。次存储集群可以实施比主存储集群更激进的文件合并策略。计算集群120在拓补上可以覆盖所有存储集群的节点,也就是说,计算集群120可以对主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中任意的集群的数据进行计算。因此,能够实现多个存储集群之间的跨集群数据读写。例如,可以读取一个或者多个不同存储集群中存储的数据,并且可以将结果写入另外的一个或多个存储集群中存储。并且,在用户层面不会感知到数据读写的集群的位置。
下面结合图2至图4详细描述该系统中,控制集群130根据主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的活跃程度对所述主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据进行数据迁移的过程。
图2示出了根据本申请一个实施例的控制多集群系统的数据存储的方法的总流程图。
在步骤S210处,控制集群130收集主存储集群和次存储集群中存储的数据的元数据。
每个数据的元数据中记录了该数据的存储集群(cluster)、创建时间(createtime)、上一次访问时间(last visit time)、访问数(access count)、上一次修改时间(last modify time)、存放路径(DataPath)、数据的层级等信息,控制集群130可以对所述主存储集群111-1、111-2、…、111-N和次存储集群112-1、112-2、…、112-M中存储的数据的元数据进行管理,以便对所述主存储集群和次存储集群中存储的数据进行访问。
在步骤S220处,根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度。
具体而言,数据的活跃程度可以根据该数据的访问情况确定,数据的访问情况可以通过数据的元数据体现,因此,可以获取主存储集群111-1、111-2、…、111-N及次存储集群112-1、112-2、…、112-M中存储的数据的元数据,每个数据的元数据中记录了该数据的存储集群(cluster)、创建时间(create time)、上一次访问时间(last visit time)、访问数(access count)、上一次修改时间(last modify time)、存放路径(DataPath)、数据的层级等信息,因此,从元数据中可以获取的数据的访问情况可以包括数据的读写频率、创建时间、上一次访问时间、上一次修改时间、数据的层级等参数,其中,以数据的读写频率为确定数据的活跃程度的基本参数,还可以综合考虑其他的任意一项或多项参数。根据数据的活跃程度,可以确定主存储集群111-1、111-2、…、111-N中存储的沉默数据以及次存储集群中112-1、112-2、…、112-M存储的活跃数据。
参考图3,图3是根据本申请一个实施例的控制集群130根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度的流程图。
如图3所示,在步骤S310处,控制集群130从所述主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的元数据中获取所述主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的读写频率。
具体而言,每个数据的元数据中记录了该数据的创建时间(create time)、上一次访问时间(last visit time)、访问数(access count)、上一次修改时间(last modifytime)、数据的层级等,因此,根据每个数据的元数据可以统计并获取该数据的读写频率。
在步骤S320处,控制集群130根据所述主存储集群111-1、111-2、…、111-N和次存储集群112-1、112-2、…、112-M中存储的数据的读写频率确定所述主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的活跃程度。
具体地,控制集群130可以以主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的读写频率确定主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的活跃程度,例如,可以根据数据的读写频率,对数据的活跃程度进行打分,读写频率越高的数据、活跃分值越高。
参考图4,图4是根据本申请另一实施例的控制集群130根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度的流程图。
在步骤S410中,控制集群130从所述元数据中获取主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项以及所述数据的读写频率。
控制集群130可以从主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的元数据中,获取主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项参数。
在步骤S420中,控制集群130根据主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项以及所述读写频率确定主存储集群111-1、111-2、…、111-N以及次存储集群112-1、112-2、…、112-M中存储的数据的活跃程度。
具体而言,控制集群130可以根据获取的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项参数以及统计得到的数据的读写频率确定主存储集群和次存储集群中存储的数据的活跃程度。也就是说,主存储集群和次存储集群中存储的数据的活跃程度,可以以数据的读写频率为主要参数,选取数据的创建时间、上一次访问时间、上一次修改时间、数据的层级等参数中的任意一项或多项参数按预定规则进行计算来确定该数据的活跃程度。例如,可以选取上述的参数中的任意一项或多项,并分别设置权重,进而通过与数据的读写频率做加权运算,作为该数据的活跃程度分值。
在步骤S230处,控制集群130根据所述主存储集群111-1、111-2、…、111-N和次存储集群112-1、112-2、…、112-M中存储的数据的活跃程度识别所述主存储集群111-1、111-2、…、111-N中存储的沉默数据以及所述次存储集群112-1、112-2、…、112-M中存储的活跃数据。
根据数据的活跃程度的高低可以将数据划分为活跃数据和沉默数据,活跃数据的活跃程度可能会随着时间推移降低,因而可能会变成沉默数据,而沉默数据可能因为一些外在因素,如用户重视度的变化,活跃程度升高而变为活跃数据,因此,控制集群130可以周期性地识别主存储集群111-1、111-2、…、111-N中由活跃数据转变成的沉默数据以及次存储集群112-1、112-2、…、112-M中由沉默数据转变成的活跃数据,以便当任意主存储集群111中存储的活跃数据变为沉默数据则将该沉默数据迁移至次存储集群112中存储,当任意次存储集群112中存储的数据变为活跃数据,则将该活跃数据迁移至主存储集群111中存储。
具体地,控制集群130可以将次存储集群112-1、112-2、…、112-M中存储的活跃程度超过活跃阈值的数据确定为活跃数据,以及将主存储集群111-1、111-2、…、111-N中存储的活跃程度未超过活跃阈值的数据确定为沉默数据。其中,活跃阈值可以是根据所述主存储集群的存储情况而确定的,也就是说,活跃阈值可以是一个动态、变化的值,当主存储集群111-1、111-2、…、111-N的存储资源比较空闲时,活跃阈值可以设置得相对较低,当该主存储集群111-1、111-2、…、111-N的存储资源紧张时,可以适当调高活跃阈值,以便将更多数据从主存储集群中111-1、111-2、…、111-N迁移至次存储集群中,缓解主存储集群111-1、111-2、…、111-N的压力。
在步骤S240处,控制集群130将任意次存储集群112中存储的活跃数据迁移至任意主存储集群111中存储以及将任意主存储集群111中存储的沉默数据迁移至任意次存储集群112中存储。
根据本申请的实施例,控制集群130可以将任意次存储集群112中存储的活跃数据迁移至任意主存储集群111中存储,具体地,控制集群130可以将次存储集群112-1、112-2、…、112-M中的任意次存储集群112中存储的活跃数据复制到主存储集群111-1、111-2、…、111-N中的任意主存储集群111中,复制成功后,再从原来存储该活跃数据的次存储集群中删除该数据。控制集群130还可以将任意主存储集群111中存储的沉默数据迁移至任意次存储集群112中存储,具体地,控制集群130可以将主存储集群111-1、111-2、…、111-N中的任意主存储集群111中存储的沉默数据复制到次存储集群112-1、112-2、…、112-M中的任意次存储集群112中存储,再从原来存储该沉默数据的主存储集群中删除该数据。
根据本申请的一个实施例,还可以包括:控制集群130当将任意次存储集群112中存储的活跃数据成功迁移至任意主存储集群111中存储时,修改所述活跃数据的元数据;以及当将任意主存储集群111中存储的沉默数据成功迁移至任意次存储集群112中存储时,修改所述沉默数据的元数据。
具体地,由于进行了数据迁移,数据存放的集群发生变化,因此,当数据迁移完成时,需要修改迁移数据的元数据,即,更新该迁移数据的元数据中的存储集群和存储路径信息,并且,还可以将该数据迁移后所在的存储集群设置为该数据的默认存储集群。
根据本申请的一个实施例,主存储集群111-1、111-2、…、111-N和次存储集群112-1、112-2、…、112-M中的存储的数据可以以表和/或表分区为单位进行管理和计算,确定数据的活跃程度时,也可以以表和/或表分区为单位进行。确定数据的活跃程度时,可以对主存储集群和次存储集群区别对待,具体地,对于主存储集群111-1、111-2、…、111-N,可以对存储的所有的表和/或表分区的数据进行活跃程度的计算,对于次存储集群112-1、112-2、…、112-M,可以只对其中预定时间内进行过读写的表和/或表分区的数据进行活跃程度的计算。
本申请还提供了一种多集群系统。
可以参考图5所示,图5示出了根据本申请实施例的多集群系统500的结构示意图。如图5所示,系统500至少可以包括:主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M、计算集群520和控制集群530。
主存储集群511-1、511-2、…、511-N可以用于存储活跃数据,次存储集群512-1、512-2、…、512-M可以用于存储沉默数据,其中,N和M可以相同,也可以不同。
计算集群520,可以用于对所述主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据执行计算。
控制集群530,可以用于根据所述主存储集群511-1、511-2、…、511-N以及次存储集群512-1、512-2、…、512-M中存储的数据的活跃程度对所述主存储集群511-1、511-2、…、511-N以及次存储集群512-1、512-2、…、512-M中存储的数据进行数据迁移。
根据本申请的一个实施例,主存储集群、次存储集群、计算集群和控制集群是根据功能不同进行划分的,它们可以部署在同一台虚拟机或者物理主机上。优选地,多集群系统400可以包含一个计算集群520、一个控制集群530、一个或多个主存储集群511-1、511-2、…、511-N以及一个或多个次存储集群512-1、512-2、…、512-M(N和M可以相同,也可以不同),主存储集群与次存储集群可以采用不同的主机硬件配置、文件管理机制与文件压缩策略,其中,主存储集群511-1、511-2、…、511-N可以用于存储活跃数据,因此可以由性能、主机硬件配置相对较好的大集群组成,压缩算法可以采用性能优先、压缩率较低的存储策略,次存储集群512-1、512-2、…、512-M可以用于存储沉默数据,因此可以采用性能、主机硬件配置相对略差的大集群或中集群组成,压缩算法可以采用压缩率比较高的存储策略。
活跃数据和沉默数据可以是由控制集群530根据数据的活跃程度进行划分的,活跃数据的活跃程度可能会随着时间推移降低,因而可能会变成沉默数据,而沉默数据可能因为一些外在因素,如用户重视度的变化,活跃程度升高而变为活跃数据,因此,控制集群530可以周期性地识别主存储集群511-1、511-2、…、511-N中由活跃数据转变成的沉默数据以及次存储集群512-1、512-2、…、512-M中由沉默数据转变成的活跃数据,当主存储集群511-1、511-2、…、511-N中存储的活跃数据变为沉默数据则将该沉默数据迁移至次存储集群512-1、512-2、…、512-M中存储,当次存储集群512-1、512-2、…、512-M中存储的数据变为活跃数据,则将该活跃数据迁移至主存储集群511-1、511-2、…、511-N中存储。
计算集群520在拓补上可以覆盖所有存储集群的节点,也就是说,计算集群520可以对所述主存储集群511-1、511-2、…、511-N以及次存储集群512-1、512-2、…、512-M中任意的集群的数据进行计算。因此,能够实现多个存储集群之间的跨集群数据读写。例如,可以读取一个或者多个不同存储集群中存储的数据,并且可以将结果写入另外的存储集群中存储。并且,在用户层面不会感知到数据读写的集群的位置。
控制集群530可以包括:元数据管理模块531、活跃程度确定模块532、识别模块533和迁移模块534。
其中,元数据管理模块531可以用于收集主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的元数据。每个数据的元数据中记录了该数据的存储集群(cluster)、创建时间(create time)、上一次访问时间(last visit time)、访问数(access count)、上一次修改时间(last modify time)、存放路径(DataPath)、数据的层级等信息,元数据管理模块531可以主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的元数据进行管理,以便对主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据进行访问。
活跃程度确定模块532可以用于根据所述主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的元数据确定主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的活跃程度。
识别模块533可以用于根据主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的活跃程度识别所述主存储集群511-1、511-2、…、511-N中存储的沉默数据以及所述次存储集群512-1、512-2、…、512-M中存储的活跃数据。
迁移模块534可以用于将任意次存储集群512中存储的活跃数据迁移至任意主存储集群511中存储以及将任意主存储集群511中存储的沉默数据迁移至任意次存储集群512中存储。
数据的活跃程度可以根据数据的访问情况确定,数据的访问情况可以通过数据的元数据体现,每个数据的元数据中记录了该数据的创建时间(create time)、上一次访问时间(last visit time)、访问数(access count)、上一次修改时间(last modify time)、数据的层级等。根据主存储集群511-1、511-2、…、511-N及次存储集群512-1、512-2、…、512-M中存储的数据的元数据可以确定所述数据的活跃程度。从元数据中获取的数据的访问情况可以包括数据的创建时间、上一次访问时间、上一次修改时间、数据的层级等,根据每个数据的元数据可以统计并获取该数据的读写频率。数据的读写频率可以作为确定数据的活跃程度的基本参数,还可以综合考虑其他的任意一项或多项参数,上述参数都可以从数据的元数据中获取。
根据本申请的一个实施例,活跃程度确定模块532可以包括第一获取子模块和第一确定子模块。
第一获取子模块可以用于从所述元数据中获取所述主存储集群511-1、511-2、…、511-N以及次存储集群512-1、512-2、…、512-M中存储的数据的读写频率。
第一确定子模块可以用于根据主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的读写频率确定主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的活跃程度。例如,可以根据数据的读写频率,对数据的活跃程度进行打分,读写频率越高的数据、活跃分值越高。
根据本申请的另一个实施例,活跃程度确定模块532可以包括第二获取子模块和第二确定子模块。
第二获取子模块可以用于从所述主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的元数据中获取所述主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项以及读写频率。
第二确定子模块可以用于根据主存储集群511-1、511-2、…、511-N以及次存储集群512-1、512-2、…、512-M中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级属性中的任意一项或多项以及读写频率确定主存储集群511-1、511-2、…、511-N以及次存储集群512-1、512-2、…、512-M中存储的数据的活跃程度。例如,可以选取上述的参数中的任意一项或多项并分别设置权重,进而通过与数据的读写频率做加权运算,作为该数据的活跃程度分值。
根据本申请的一个实施例,所述识别模块533可以进一步用于:将次存储集群中512-1、512-2、…、512-M存储的活跃程度超过活跃阈值的数据确定为活跃数据,以及将主存储集群511-1、511-2、…、511-N中存储的活跃程度未超过活跃阈值的数据确定为沉默数据。其中,活跃阈值可以是根据主存储集群511-1、511-2、…、511-N的存储情况而确定的,也就是说,活跃阈值可以是一个动态的、变化的值,当主存储集群511-1、511-2、…、511-N的存储资源比较空闲时,活跃阈值可以设置得相对较低,当主存储集群511-1、511-2、…、511-N的存储资源紧张时,可以适当调高活跃阈值,以便将更多数据从主存储集群511-1、511-2、…、511-N中迁移至次存储集群512-1、512-2、…、512-M中,缓解主存储集群的压力。
根据本申请的实施例,所述迁移模块534可以进一步包括:复制模块和删除模块。
其中,复制模块可以用于将次存储集群512-1、512-2、…、512-M中的任意次存储集群512中存储的活跃数据复制到主存储集群511-1、511-2、…、511-N中的任意主存储集群中存储。删除模块可以用于当所述复制成功后,从原来存储所述活跃数据的次存储集群512中删除所述数据。所述复制模块还可以用于可以将主存储集群511-1、511-2、…、511-N中的任意主存储集群511中存储的沉默数据复制到次存储集群512-1、512-2、…、512-M中的任意次存储集群中512存储,所述删除模块还可以用于当所述复制成功后,从原来存储该沉默数据的主存储集群511中删除所述数据。
根据本申请的一个实施例,控制集群530还可以包括:修改模块,该模块可以用于当将任意次存储集群512中存储的活跃数据成功迁移至任意主存储集群511中存储时,修改所述活跃数据的元数据;以及当将任意主存储集群511中存储的沉默数据成功迁移至任意次存储集群512中存储时,修改所述沉默数据的元数据。具体地,由于进行了数据迁移,数据存放的集群发生变化,因此,当数据迁移完成时,需要修改迁移数据的元数据,即,更新该迁移数据的元数据中的存储集群以及存储路径信息,并且,还可以将该数据迁移后所在的存储集群设置为该数据的默认存储集群。
根据本申请的一个实施例,主存储集群511-1、511-2、…、511-N和次存储集群512-1、512-2、…、512-M中的存储的数据可以以表和/或表分区为单位进行管理和计算,确定数据的活跃程度时,也可以以表和/或表分区为单位进行。并且,确定数据的活跃程度时,可以对主存储集群和次存储集群区别对待,具体地,对于主存储集群511-1、511-2、…、511-N,可以对存储的所有的表和/或表分区的数据进行活跃程度的计算,对于次存储集群512-1、512-2、…、512-M,可以只对次存储集群512-1、512-2、…、512-M中预定时间内进行过读写的表和/或表分区的数据进行活跃程度的计算。
由于本实施例的装置所实现的功能基本相应于前述图1至图4所示的方法实施例,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种控制多集群系统的数据存储的方法,其特征在于,所述方法适用于多集群系统,所述多集群系统中包括主存储集群以及次存储集群,所述方法包括:
收集所述主存储集群和所述次存储集群中存储的数据的元数据;
根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度;
根据所述主存储集群和次存储集群中存储的数据的活跃程度识别所述主存储集群中存储的沉默数据以及所述次存储集群中存储的活跃数据;以及
将任意次存储集群中存储的活跃数据迁移至任意主存储集群中存储以及将任意主存储集群中存储的沉默数据迁移至任意次存储集群中存储。
2.根据权利要求1所述的方法,其特征在于,根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度,包括:
从所述元数据中获取所述主存储集群和次存储集群中存储的数据的读写频率;
根据所述主存储集群和次存储集群中存储的数据的读写频率确定所述主存储集群和次存储集群中存储的数据的活跃程度。
3.根据权利要求1所述的方法,其特征在于,根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度,包括:
从所述元数据中获取所述主存储集群和次存储集群中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项以及读写频率;
根据所述主存储集群和次存储集群中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项以及读写频率确定所述主存储集群和次存储集群中存储的数据的活跃程度。
4.根据权利要求1所述的方法,其特征在于,根据所述主存储集群和次存储集群中存储的数据的活跃程度识别所述主存储集群中存储的沉默数据以及所述次存储集群中存储的活跃数据,包括:
将所述次存储集群中存储的活跃程度超过活跃阈值的数据确定为活跃数据,以及
将所述主存储集群中存储的活跃程度未超过活跃阈值的数据确定为沉默数据。
5.根据权利要求4所述的方法,其特征在于,所述活跃阈值是根据所述主存储集群的存储情况而确定的。
6.根据权利要求1所述的方法,其特征在于,还包括:当将任意次存储集群中存储的活跃数据成功迁移至任意主存储集群中存储时,修改所述活跃数据的元数据;以及当将任意主存储集群中存储的沉默数据成功迁移至任意次存储集群中存储时,修改所述沉默数据的元数据。
7.一种多集群系统,其特征在于,包括:
主存储集群和次存储集群,其中,所述主存储集群用于存储活跃数据,所述次存储集群用于存储沉默数据;
计算集群,用于对所述主存储集群和次存储集群中存储的数据执行计算;
控制集群,包括:
元数据管理模块,用于收集所述主存储集群和次存储集群中存储的数据的元数据;
活跃程度确定模块,用于根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度;
识别模块,用于根据所述主存储集群和次存储集群中存储的数据的活跃程度识别所述主存储集群中存储的沉默数据以及所述次存储集群中存储的活跃数据;
迁移模块,用于将任意次存储集群中存储的活跃数据迁移至任意主存储集群中存储以及将任意主存储集群中存储的沉默数据迁移至任意次存储集群中存储。
8.根据权利要求7所述的系统,其中,所述活跃程度确定模块包括:
第一获取子模块,用于从所述元数据中获取所述主存储集群和次存储集群中存储的数据的读写频率;
第一确定子模块,用于根据所述主存储集群和次存储集群中存储的数据的读写频率确定所述主存储集群和次存储集群中存储的数据的活跃程度。
9.根据权利要求7所述的系统,其中,所述活跃程度确定模块包括:
第二获取子模块,用于从所述主存储集群和次存储集群中存储的数据的元数据中获取所述主存储集群和次存储集群中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项以及读写频率;
第二确定子模块,用于根据所述主存储集群和次存储集群中存储的数据的创建时间、上一次访问时间、上一次修改时间、数据的层级中的任意一项或多项以及读写频率确定所述主存储集群和次存储集群中存储的数据的活跃程度。
10.根据权利要求7所述的系统,其特征在于,所述识别模块进一步用于:
将所述次存储集群中存储的活跃程度超过活跃阈值的数据确定为活跃数据,以及
将所述主存储集群中存储的活跃程度未超过活跃阈值的数据确定为沉默数据。
11.根据权利要求10所述的系统,其特征在于,所述活跃阈值是根据所述主存储集群的存储情况而确定的。
12.根据权利要求7所述的系统,其特征在于,所述控制集群还包括:
修改模块,用于当将任意次存储集群中存储的活跃数据成功迁移至任意主存储集群中存储时,修改所述活跃数据的元数据;以及当将任意主存储集群中存储的沉默数据成功迁移至任意次存储集群中存储时,修改所述沉默数据的元数据。
CN201410064882.8A 2014-02-25 2014-02-25 多集群系统和控制多集群系统的数据存储的方法 Active CN104869140B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410064882.8A CN104869140B (zh) 2014-02-25 2014-02-25 多集群系统和控制多集群系统的数据存储的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410064882.8A CN104869140B (zh) 2014-02-25 2014-02-25 多集群系统和控制多集群系统的数据存储的方法

Publications (2)

Publication Number Publication Date
CN104869140A CN104869140A (zh) 2015-08-26
CN104869140B true CN104869140B (zh) 2018-05-22

Family

ID=53914661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410064882.8A Active CN104869140B (zh) 2014-02-25 2014-02-25 多集群系统和控制多集群系统的数据存储的方法

Country Status (1)

Country Link
CN (1) CN104869140B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354246B (zh) * 2015-10-13 2018-11-02 华南理工大学 一种基于分布式内存计算的数据去重方法
CN107220263B (zh) * 2016-03-22 2021-09-03 阿里巴巴集团控股有限公司 数据迁移的优化方法、评估方法及处理方法及装置
CN108566294B (zh) * 2018-03-21 2020-02-18 北京邮电大学 一种支持计算平面的通信网络系统
CN108776690B (zh) * 2018-06-05 2020-07-07 上海孚典智能科技有限公司 基于分层治理的hdfs分布式与集中式混合数据存储系统的方法
CN109145053B (zh) 2018-08-01 2021-03-23 创新先进技术有限公司 数据处理方法和装置、客户端、服务器
CN109032804B (zh) * 2018-08-01 2020-12-11 创新先进技术有限公司 数据处理方法和装置、服务器
CN109144791B (zh) * 2018-09-30 2020-12-22 北京金山云网络技术有限公司 数据转存方法、装置和数据管理服务器
CN110196851B (zh) * 2019-05-09 2024-05-10 腾讯科技(深圳)有限公司 一种数据存储方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291450A (zh) * 2011-08-08 2011-12-21 浪潮电子信息产业股份有限公司 一种集群存储系统内部的数据在线分级存储方法
CN102521419A (zh) * 2011-12-31 2012-06-27 曙光信息产业股份有限公司 分级存储的实现方法和系统
CN102520882A (zh) * 2011-12-08 2012-06-27 浪潮电子信息产业股份有限公司 一种静态随机存储器及其实现方法
CN102841931A (zh) * 2012-08-03 2012-12-26 中兴通讯股份有限公司 分布式文件系统的存储方法及装置
CN103150263A (zh) * 2012-12-13 2013-06-12 深圳先进技术研究院 分级存储方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102291450A (zh) * 2011-08-08 2011-12-21 浪潮电子信息产业股份有限公司 一种集群存储系统内部的数据在线分级存储方法
CN102520882A (zh) * 2011-12-08 2012-06-27 浪潮电子信息产业股份有限公司 一种静态随机存储器及其实现方法
CN102521419A (zh) * 2011-12-31 2012-06-27 曙光信息产业股份有限公司 分级存储的实现方法和系统
CN102841931A (zh) * 2012-08-03 2012-12-26 中兴通讯股份有限公司 分布式文件系统的存储方法及装置
CN103150263A (zh) * 2012-12-13 2013-06-12 深圳先进技术研究院 分级存储方法

Also Published As

Publication number Publication date
CN104869140A (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
CN104869140B (zh) 多集群系统和控制多集群系统的数据存储的方法
CN105468473B (zh) 数据迁移方法及数据迁移装置
CN107807796B (zh) 一种基于超融合存储系统的数据分层方法、终端及系统
CN103106152B (zh) 基于层次存储介质的数据调度方法
CN104025054B (zh) 虚拟环境中的动态存储分层
CN103793425B (zh) 用于分布式系统的数据处理方法及装置
CN104113597B (zh) 一种多数据中心的hdfs数据读写方法
US9424274B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
CN104679661B (zh) 混合存储的控制方法及混合存储系统
US10356150B1 (en) Automated repartitioning of streaming data
CN104298681B (zh) 一种数据存储方法及装置
US20140059559A1 (en) Intellegent tiering
CN106687911A (zh) 不损害数据完整性的在线数据移动
WO2016069034A1 (en) Data management for tenants
CN106339386B (zh) 数据库弹性调度方法以及装置
CN103345430B (zh) 分布式存储池的模糊平衡方法及系统
CN110347651A (zh) 基于云存储的数据同步方法、装置、设备及存储介质
CN102984280A (zh) 针对社交类云存储网络应用的数据备份系统和方法
US20220391124A1 (en) Software Lifecycle Management For A Storage System
US20180307603A1 (en) Memory hierarchy-aware processing
Liu et al. An improved hadoop data load balancing algorithm
Jiang et al. Parallel K-Medoids clustering algorithm based on Hadoop
CN103905517A (zh) 一种数据存储方法及设备
CN105426255A (zh) Hadoop大数据平台中基于网络I/O代价评估的ReduceTask数据本地性调度方法
Bienkowski Migrating and replicating data in networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20191206

Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands

Patentee after: Innovative advanced technology Co., Ltd

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: Alibaba Group Holding Co., Ltd.

TR01 Transfer of patent right