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

文档序号:8546199阅读:735来源:国知局
多集群系统和控制多集群系统的数据存储的方法
【技术领域】
[0001]本申请涉及大数据技术领域,尤其涉及一种多集群系统和控制多集群系统的数据存储的方法。
【背景技术】
[0002]随着云时代的来临,大数据(Big data)也吸引了越来越多的关注,大数据的概念已经日益清晰,但解决大数据的存储问题仍然是摆在每个用户面前的一道难题。目前,已知的主流分布式存储系统在设计上一般都采用主从(master-slave)体系结构,一个分布式存储系统由一个名字节点(Namenode)加上若干个数据节点(Datanode)组成。单集群的规模受限于名字节点的内存和处理能力的上限。名字节点在内存中存储了整个分布式文件系统中的元数据信息,限制了集群中数据块、文件和目录的数目,文件系统中所有元数据信息的读取和操作都必须与名字节点通信才能进行,所以,文件操作的性能受制于单个名字节点的吞吐量,单个名字节点所能存储的对象受限于名字节点内存的容量。目前的设计,单个存储集群能够支持5000个节点,而单个计算集群能够支持50000个节点以上的规模,可见,存储集群与计算集群的处理能力存在比较大的差异。随着数据的爆炸式增长以及业务规模的迅速扩展,存储和计算绑定的单集群模式将达到计算、存储与流量瓶颈。
[0003]现有的解决方案,一种是采用大集群模式,通过HDFS Federat1n (名字节点水平扩展方案,允许分布式文件系统HDFS创建多个名字空间namespace以提高集群的扩展性和隔离性)方案将文件系统扩展为多个名字节点,能够增加文件系统读写操作的吞吐量,一个集群可以共享及管理所有资源;一种是采用多集群模式,按照业务逻辑拆分成若干个集群,各个集群之间没有影响,容易水平扩展。
[0004]然而,采用大集群模式,对于多个名字节点需采用均衡机制,且集群出现故障时恢复时间长,影响面大;采用多集群模式,由于各个集群的应用特点不同,它们的利用率可能不一致,可能出现在某一时间段有的集群业务繁忙、资源利用率高,甚至需要排队等待资源,而有的集群业务空闲,资源利用率低的情况,而且多集群模式还需要考虑集群之间的数据共享,跨集群计算等等问题,架构更为复杂。并且,上述方案采用的都是存储和计算绑定(Data-Compute Combined Deployment)模型,当计算能力不足需要扩容时,增加计算节点的同时也必须增加存储节点,无法灵活定制,会造成存储或计算资源的浪费。
[0005]综上所述,需要提出一种控制集群系统中数据的存储方案。

【发明内容】

[0006]本申请的主要目的在于提供一种多集群系统和控制多集群系统的数据存储的方法,以解决现有技术存在的由于使用存储和计算绑定模型的存储集群与计算集群的处理能力的差异,以及活跃数据与沉默数据的等同处理带来的存储利用率低下的问题,各个集群业务逻辑不通导致的各个集群的资源利用不平衡,且不能在整体上进行资源调度的问题,其中:
[0007]本申请的提供了一种控制多集群系统的数据存储的方法,包括:收集主存储集群和次存储集群中存储的数据的元数据;根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度;根据所述主存储集群和次存储集群中存储的数据的活跃程度识别所述主存储集群中存储的沉默数据以及所述次存储集群中存储的活跃数据;以及将任意次存储集群中存储的活跃数据迁移至任意主存储集群中存储以及将任意主存储集群中存储的沉默数据迁移至任意次存储集群中存储。
[0008]本申请的另一方面提供了一种多集群系统,包括:主存储集群和次存储集群,其中,所述主存储集群用于存储活跃数据,所述次存储集群用于存储沉默数据;计算集群,用于对所述主存储集群和次存储集群中存储的数据执行计算;控制集群,包括:元数据管理模块,用于收集所述主存储集群和次存储集群中存储的数据的元数据;活跃程度确定模块,用于根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度;识别模块,用于根据所述主存储集群和次存储集群中存储的数据的活跃程度识别所述主存储集群中存储的沉默数据以及所述次存储集群中存储的活跃数据;迁移模块,用于将任意次存储集群中存储的活跃数据迁移至任意主存储集群中存储以及将任意主存储集群中存储的沉默数据迁移至任意次存储集群中存储。
[0009]与现有技术相比,根据本申请的技术方案,通过一个控制集群管理与控制一个计算集群和多个存储集群,以解决存储集群与计算集群的处理能力的差异,同时,计算集群管理在拓扑上覆盖所有的存储集群,能够很简单地实现不同存储集群之间的数据直读直写,并且在整体上进行资源的调度。根据数据的活跃程度将数据划分为活跃数据和沉默数据,将活跃数据和沉默数据分别存储于主存储集群和次存储集群中,主存储集群与次存储集群采用不同的主机硬件配置、文件管理机制与文件压缩策略,从整体上,突破集群的存储容量,提升存储的磁盘利用率。
【附图说明】
[0010]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0011]图1是根据本申请实施例的多集群系统的结构示意图;
[0012]图2是本申请实施例的控制多集群系统的数据存储的方法的总流程图;
[0013]图3是本申请实施例的根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度的流程图;
[0014]图4是本申请另一实施例的根据所述主存储集群和次存储集群中存储的数据的元数据确定所述主存储集群和次存储集群中存储的数据的活跃程度的流程图;以及
[0015]图5是本申请实施例的多集群系统的结构示意图。
【具体实施方式】
[0016]本申请的主要思想在于,将多集群系统中的各集群按照功能划分为控制集群、存储集群和计算集群,且存储集群包括主存储集群和次存储集群,通过一个控制集群管理控制一个计算集群和多个存储集群,以解决存储集群与计算集群的处理能力的差异,同时,计算集群管理在拓扑上覆盖所有的存储集群,能够很简单地实现不同存储集群之间的数据直读直写,并且在整体上进行资源的调度。将数据按活跃程度划分为沉默数据和活跃数据,主存储集群用来存储活跃数据,次存储集群用来存储沉默数据,主存储集群与次存储集群采用不同的文件管理机制与文件压缩策略,从整体上,突破集群的存储容量,提升存储的磁盘利用率。
[0017]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018]根据本申请的实施例,提供了一种控制多集群系统的数据存储的方法。该方法可以适用于包含计算集群、存储集群以及控制集群的多集群系统。
[0019]图1示出了根据本申请实施例的多集群系统的结构示意图。如图1所示,系统100至少可以包括:一个或多个主存储集群111-1、111_2、…、111-N、一个或多个次存储集群112-1、112-2、…、112-M、计算集群120和控制集群130。
[0020]主存储集群111-1、111_2、…、Ill-N可以用于存储活跃数据,次存储集群112_1、112-2、…、112-M可以用于存储沉默数据,其中,N和M可以相同也可以不同。
[0021]计算集群120,可以用于对所述主存储集群111-1、111_2、…、Ill-N以及次存储集群112-1、112-2、…、112-M中存储的数据执行计算。
[0022]控制集群130,可以用于收集所述主存储集群111-1、111-2、…、Ill-N和次存储集群112-1、112-2、…、112-M中存储的数据的元数据,对所述主存储集群111_1、111_2、…、Ill-N和次存储集群112-1、112-2、…、112-M中存储的数据的元数据进行管理,以便对所述主存储集群和次存储集群中存储的数据进行访问,并根据所述元数据确定主存储集群111-1、111-2、…、Ill-N以及次存储集群112_1、112_2、…、112-M中存储的数据的活跃程度,以便根据活跃程度和动态的活跃阈值对所述一个或多个主存储集群111-1、111_2、…、
111-N以及一个或多个次存储集群112-1、112-2、…、112-M中存储的数据进行数据迁移。
[0023]优选地,多集群系统100可以包含一个计算集群120、一个控制集群130、以及一个或多个主存储集群111-1、111_2、…、Ill-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、…、Ill-N以及次存储集群112-1、112-2、…、112-M中任意的集群的数据进行计算。因此,能够实现多个存储集群之间的跨集群数据读写。例如,可以读取一个或者多个不同存储集群中存储的数据,并且可以将结果写入另外的一个或多个存储集群中存储。并且,在用户层面不会感知到数据读写的集群的位置。
[0024
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1