一种基于Hadoop的分布式云存储自动分级数据管理系统的制作方法

文档序号:6382627阅读:463来源:国知局
专利名称:一种基于Hadoop的分布式云存储自动分级数据管理系统的制作方法
—种基于Hadoop的分布式云存储自动分级数据管理系统技术领域
本发明属于计算机技术领域,具体涉及一种基于Hadoop的分布式云存储自动分级数据管理系统。
背景技术
随着云计算技术在国内外的高速发展,基于Hadoop分布式文件系统(HDFS)的云存储技术得到了广泛的应用。通过利旧和新增PC服务器的方式建立规模庞大的HDFS集群, 利用PC服务器上的本地磁盘提供高性能、高性价比、可弹性扩展的分布式云存储服务。
由于组成HDFS集群的服务器节点的差异性,集群中节点很有可能具有不同的存储性能和存储容量。因此,如何充分考虑节点间的差异性,最优化存储资源的分配是构建基于Hadoop的分布式云存储系统亟待解决的问题。发明内容
为了克服上述现有技术的不足,本发明提供一种基于Hadoop的分布式云存储自动分级数据管理系 统,实现自动数据分级管理,提高存储资源利用率。
为了实现上述发明目的,本发明采取如下技术方案
提供一种基于Hadoop的分布式云存储自动分级数据管理系统,所述系统包括节点服务器和中心服务器,所述节点服务器采集服务器状态消息和数据温度分布消息,并将所采集的消息发送到所述中心服务器的数据分级管理模块。
所述节点服务器包括服务器信息采集模块、数据温度采集模块和数据分级代理模块;所述服务器信息采集模块和数据温度采集模块分别采集服务器状态消息和数据温度分布消息,并分别将采集的消息发送到所述数据分级管理模块。
所述服务器信息采集模块部署在HDFS集群的数据节点上,所述数据温度采集模块和数据分级代理模块部署在所述HDFS集群的名字节点上,所述数据分级管理模块部署在所述中心服务器上。
所述服务器状态消息包含数据节点的硬件配置和运行状态信息,所述数据温度分布消息包含数据温度消息和数据分布消息。
所述消息均包括消息头和消息体,所述消息头包括中心服务器名称、IP地址、节点 ID、加密方法、校验和时间戳;所述消息体包括经消息头指定加密方法加密后的节点硬件配置、节点运行状态、数据温度和数据分布。
所述数据分级代理模块接收带外数据分级命令,解析所述带外数据分级命令获取需要移动数据块信息,并将所获取信息告知名字节点,所述名字节点接收信息的同时复制目标数据块到目标节点,并删除源数据节点上的数据块,需要移动数据块消息全部获取结束后,名字节点向数据分级代理模块发送成功消息,所述数据分级代理模块向数据分级管理模块发送确认消息。
所述需要移动数据块信息包括需要移动的目标数据块ID、源数据节点ID和目的节点ID。所述中心服务器包括消息接收模块、信息持久化模块、信息缓存模块、数据分级管理模块、指令加工模块、指令发送模块、分析引擎模块节点和注册模块。所述消息接收模块接收来自数据节点和名字节点分别发送的服务器状态消息和数据温度分布消息,对消息进行解析并送往所述数据分级管理模块;所述数据分级管理模块生成带外数据分级命令,并周期性发送给名字节点;所述信息缓存模块接收来自消息接收模块的消息,经过处理形成有效信息存入信息缓存区,同时管理和维护信息缓存区内容,并将信息分类后发送给数据分级管理模块,所述信息缓存区内容包括信息的创建、更新和删除;
信息缓存区超出容量或时间计数器结束或服务停止时,所述信息持久化模块对经过信息缓存模块处理后的消息写入到磁盘,数据分级管理模块从磁盘读取信息,送入信息缓存区;所述分析引擎模块信息缓存模块发送的服务器状态消息和数据温度分布消息,形成数据温度分布式矢量图,并维护数据温度分布矢量图的状态更新;根据数据温度分布式矢量图形成带外数据分级指令,发送给指令加工模块;所述指令加工模块根据分析弓I擎模块输出的内容,加工形成可以由指令发送模块发送给特定节点的指令编码;所述指令发送模块接收来自所述数据分级管理模块生成的带外数据分级命令,并根据所接收指令向目标节点发送指令;所述节点注册模块接收来自信息缓存区的注册信息,并注册或更新指定节点的信肩、O与现有技术相比,本发明的有益效果在于1、不同于其他分层存储方法将数据分布在不同的存储介质(内存、固态磁盘、磁盘、SAN网络、磁带)上,本发明提供的基于Hadoop的分布式云存储自动分级数据管理系统利用X86服务器的本地磁盘(SATA接口、SCSI接口)存储数据的情况;通过节点服务器配置信息对比磁盘容量、数量、接口类型、读写速率等静态信息进行比对,结合服务器运行状态消息(磁盘容量、CPU、网络带宽等动态信息)和数据温度分布消息息(数据被访问的次数、时间、频率),实现在不同性能的服务器上存放不同温度数据,达到服务器存储资源的最优化使用。2、不是在数据存储之初考虑数据块的合理分布,本发明使用的是离线的数据块再分布策略,即通过发送带外数据分层指令,在整个HDFS集群负载最轻或最合适的时间进行数据块的移动,从而更为合理地计算出数据的温度信息,同时减少对存储正常使用的影响。3、本发明与所指的Hadoop分布式文件系统是松耦合状态,设计过程中仅在两处需要对HDFS进行修改,可很快移植到其它采用分布式文件系统(元数据集中管理)的云存储平台上,提供数据分级存储方案,具有较强的可移植性。


图1是基于Hadoop的分布式云存储的数据管理流程图;图2是基于Hadoop的分布式云存储自动分级数据管理系统逻辑架构示意图3是中心服务器组成模块示意图。
具体实施方式
下面结合附图对本发明作进一步详细说明。
如图1和图2,提供一种基于Hadoop的分布式云存储自动分级数据管理系统,所述系统包括节点服务器和中心服务器,所述节点服务器采集服务器状态消息和数据温度分布消息,并将所采集的消息发送到所述中心服务器的数据分级管理模块。
所述节点服务器包括服务器信息采集模块、数据温度采集模块和数据分级代理模块;
所述服务器信息采集模块将收集数据节点的硬件配置信息(包含CPU、内存、硬盘、 网络等配置情况的静态信息),生成服务器状态消息后发送给中心服务器;之后,该服务将周期性地采集数据节点的运行状态消息(包含CPU、内存、硬盘、网络等使用情况的动态信息),经分析处理后形成服务器状态消息发送给中心服务器。
所述数据温度采集模块将记录数据被访问的次数和频率(可通过修改HDFS集群中名字节点源代码的直接方式,或在分布式云存储系统客户端读请求消息中嵌入更新计数的间接方式),计算得出存储中每个数据(以文件形式存在)的温度信息;通过解析名字节点上的元数据信息,获取文件的分布信息;周期性地将上述有更新地信息合成数据温度分布消息发送给中心服务器。
所述服务器信息采集模块部署在HDFS集群的数据节点上,所述数据温度采集模块和数据分级代理模块部署在所述HDFS集群的名字节点上,所述数据分级管理模块部署在所述中心服务器上。
所述服务器状态消息包含数据节点的硬件配置和运行状态信息,所述数据温度分布消息包含数据温度消息和 数据分布消息。
所述消息均包括消息头和消息体,所述消息头包括中心服务器名称、IP地址、节点 ID、加密方法、校验和时间戳;所述消息体包括经消息头指定加密方法加密后的节点硬件配置、节点运行状态、数据温度和数据分布。
所述数据分级代理模块接收带外数据分级命令,解析所述带外数据分级命令获取需要移动数据块信息,并将所获取信息告知名字节点,所述名字节点接收信息的同时复制目标数据块到目标节点,并删除源数据节点上的数据块,需要移动数据块消息全部获取结束后,名字节点向数据分级代理模块发送成功消息,所述数据分级代理模块向数据分级管理模块发送确认消息。
所述需要移动数据块信息包括需要移动的目标数据块ID、源数据节点ID和目的节点ID。
如图3,所述中心服务器包括消息接收模块、信息持久化模块、信息缓存模块、数据分级管理模块、指令加工模块、指令发送模块、分析引擎模块节点和注册模块。
所述消息接收模块接收来自数据节点和名字节点分别发送的服务器状态消息和数据温度分布消息,对消息进行解析并送往所述数据分级管理模块;
所述数据分级管理模块生成带外数据分级命令,并周期性发送给名字节点;
所述信息缓存模块接收来自消息接收模块的消息,经过处理形成有效信息存入信息缓存区,同时管理和维护信息缓存区内容,并将信息分类后发送给数据分级管理模块,所述信息缓存区内容包括信息的创建、更新和删除;
信息缓存区超出容量或时间计数器结束或服务停止时,所述信息持久化模块对经过信息缓存模块处理后的消息写入到磁盘,数据分级管理模块从磁盘读取信息,送入信息缓存区;
所述分析引擎模块信息缓存模块发送的服务器状态消息和数据温度分布消息,形成数据温度分布式矢量图,并维护数据温度分布矢量图的状态更新;根据数据温度分布式矢量图形成带外数据分级指令,发送给指令加工模块;
所述指令加工模块根据分析引擎模块输出的内容,加工形成可以由指令发送模块发送给特定节点的指令编码;
所述指令发送模块接收来自所述数据分级管理模块生成的带外数据分级命令,并根据所接收指令向目标节点发送指令;
所述节点注册模块接收来自信息缓存区的注册信息,并注册或更新指定节点的信息(形成节点的ID,供分析引擎完成状态信息和数据温度分布信息解析、节点标识、生成指令等操作)。
最后应当说明的是以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发 明进行了详细的说明,所属领域的普通技术人员应当理解依然可以对本发明的具体实施方式
进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述系统包括节点服务器和中心服务器,所述节点服务器采集服务器状态消息和数据温度分布消息,并将所采集的消息发送到所述中心服务器的数据分级管理模块。
2.根据权利要求1所述的基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述节点服务器包括服务器信息采集模块、数据温度采集模块和数据分级代理模块;所述服务器信息采集模块和数据温度采集模块分别采集服务器状态消息和数据温度分布消息,并分别将采集的消息发送到所述数据分级管理模块。
3.根据权利要求2所述的基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述服务器信息采集模块部署在HDFS集群的数据节点上,所述数据温度采集模块和数据分级代理模块部署在所述HDFS集群的名字节点上,所述数据分级管理模块部署在所述中心服务器上。
4.根据权利要求2所述的基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述服务器状态消息包含数据节点的硬件配置和运行状态信息,所述数据温度分布消息包含数据温度消息和数据分布消息。
5.根据权利要求1所述的基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述消息均包括消息头和消息体,所述消息头包括中心服务器名称、IP地址、节点ID、加密方法、校验和时间戳;所述消息体包括经消息头指定加密方法加密后的节点硬件配置、节点运行状态、数据温度和数据分布。
6.根据权利要求1所述的基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述数据分级代理模块接收带外数据分级命令,解析所述带外数据分级命令获取需要移动数据块信息,并将所获取信息告知名字节点,所述名字节点接收信息的同时复制目标数据块到目标节点,并删除源数据节点上的数据块,需要移动数据块消息全部获取结束后,名字节点向数据分级代理模块发送成功消息,所述数据分级代理模块向数据分级管理模块发送确认消息。
7.根据权利要求6所述的基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述需要移动数据块信息包括需要移动的目标数据块ID、源数据节点ID和目的节点ID0
8.根据权利要求1-3任一所述的基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述中心服务器包括消息接收模块、信息持久化模块、信息缓存模块、数据分级管理模块、指令加工模块、指令发送模块、分析引擎模块节点和注册模块。
9.根据权利要求8任一所述的基于Hadoop的分布式云存储自动分级数据管理系统,其特征在于所述消息接收模块接收来自数据节点和名字节点分别发送的服务器状态消息和数据温度分布消息,对消息进行解析并送往所述数据分级管理模块; 所述数据分级管理模块生成带外数据分级命令,并周期性发送给名字节点; 所述信息缓存模块接收来自消息接收模块的消息,经过处理形成有效信息存入信息缓存区,同时管理和维护信息缓存区内容,并将信息分类后发送给数据分级管理模块,所述信息缓存区内容包括信息的创建、更新和删除; 当信息缓存区超出容量或时间计数器结束或服务停止时,所述信息持久化模块对经过信息缓存模块处理后的消息写入到磁盘,数据分级管理模块从磁盘读取信息,送入信息缓存区; 所述分析引擎模块信息缓存模块发送的服务器状态消息和数据温度分布消息,形成数据温度分布式矢量图,并维护数据温度分布矢量图的状态更新;根据数据温度分布式矢量图形 成带外数据分级指令,发送给指令加工模块; 所述指令加工模块根据分析引擎模块输出的内容,加工形成可以由指令发送模块发送给特定节点的指令编码; 所述指令发送模块接收来自所述数据分级管理模块生成的带外数据分级命令,并根据所接收指令向目标节点发送指令; 所述节点注册模块接收来自信息缓存区的注册信息,并注册或更新指定节点的信息。
全文摘要
本发明提供一种基于Hadoop的分布式云存储自动分级数据管理系统,包括节点服务器和中心服务器,所述节点服务器采集服务器状态消息和数据温度分布消息,并将所采集的消息发送到所述中心服务器的数据分级管理模块。本发明通过在中心服务器上部署数据分级管理模块,统一接收来自HDFS集群中数据节点和名字节点发送的消息,经处理后形成带外数据分级指令,并发送给HDFS集群中的名字节点负责最终的数据块再分布,从而实现基于Hadoop的分布式云存储系统的自动数据分级管理,提高存储资源的利用率。
文档编号G06F17/30GK103023995SQ20121049941
公开日2013年4月3日 申请日期2012年11月29日 优先权日2012年11月29日
发明者张大华, 罗志明, 周里涛 申请人:中国电力科学研究院, 四川省电力公司, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1