一种分布式文件系统的输入/输出负载调整方法及装置与流程

文档序号:12786220阅读:282来源:国知局
一种分布式文件系统的输入/输出负载调整方法及装置与流程

本发明涉及Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)领域,尤其涉及一种分布式文件系统的输入/输出负载调整方法及装置。



背景技术:

自大数据技术和Hadoop平台出现以来,已经成为各种业务平台(如教育云、医疗云、数据云等等)构建的核心技术。其中,HDFS是Hadoop大数据平台的核心系统,具有高容错性、高可扩展性等众多优点。

现有技术中,HDFS的架构包括一个元数据节点(Namenode)、多个数据节点(Datanode)以及客户端(Client),其中,元数据节点用于存储和管理元数据,该元数据包括文件系统目录树信息、文件和数据块(Block)的对应关系信息以及数据块的位置信息;客户端用于提供与元数据节点和数据节点进行交互的应用程序编程接口(Application Programming Interface,API),周期性的向元数据节点回报存储的数据块信息;数据节点用于存储数据,元数据节点或客户端可以向数据节点请求写入或读出数据块。

当HDFS中有大量数据分布时,尤其是在有新的数据节点加入或有数据节点退出时,会出现数据节点的数据分布不均衡的问题。为解决该问题,在HDFS内部集成数据分布调整模块,该数据分布调整模块可以有效地将数据分布到新的数据节点或其他数据节点上,实现数据的均衡化分布。在分布过程中其考虑每个数据节点中数据块的大小和数量,尽可能的让每个数据节点中的数据块和大小平均分布。

然而,对于一些对输入/输出(Input/Output,I/O)负载存在不同需求的业务,就存在较多的问题,尤其是在整体I/O系统性能上。如下为教育云的主要 负载表现:

(1)一段时间内某个数据块是热点数据块,而其他数据块的使用较少;热点数据块的读写频度非常高,而其他数据块的读写频度就很低;

(2)一般情况下,对数据块的读操作很多,而写操作较少,但在写操作的时候,数据量较大,而HDFS对大块数据的写操作为顺序写,使得部分数据节点的写入数据块的频度非常高,而其他数据节点的写入数据块的频度就很低。

上述负载表现就导致各个数据块的I/O负载不均衡,有的数据块读写频度非常高,I/O负载大;有的数据块读写频度很低,I/O负载小;这样有高频率读写数据块的数据节点就会出现I/O负载过多、I/O性能整体快速下降、客户响应时间下降等问题。



技术实现要素:

有鉴于此,本发明实施例期望提供一种分布式文件系统的输入/输出负载调整方法及装置,可以达到数据节点输入/输出负载均衡的目的。

为达到上述目的,本发明的技术方案是这样实现的:

本发明提供了一种分布式文件系统的输入/输出负载调整方法,所述方法包括:

计算各个数据节点的节点冷热度,获取节点冷热度最大的最热数据节点的节点号和节点冷热度最小的最冷数据节点的节点号;

计算所述最热数据节点中数据块的块冷热度,获取块冷热度最大的最热数据块的位置信息;

获取所述最热数据块的备份数据块的位置信息,根据所述备份数据块的位置信息以及所述最冷数据节点的节点号,将所述备份数据块迁移到所述最冷数据节点内;

向元数据节点发送主备标识修改请求,所述主备标识修改请求中携带有将所述最冷数据节点中的备份数据块的位置信息设置为主标识,并将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示。

上述方案中,所述计算各个数据节点的节点冷热度,包括:

按照以下公式计算获得各个数据节点的节点冷热度B:

B=M*(M2/M1)*(N2/N1);

其中,所述M为数据节点在单位时间内的输入/输出负载总量;所述M1为数据节点在单位时间内的读操作数;所述M2为数据节点在单位时间内的写操作数;所述N1为数据节点在单位时间内的读数据块总量;所述N2为数据节点在单位时间内的写数据块总量。

上述方案中,所述计算所述最热数据节点中数据块的块冷热度,包括:

按照以下公式计算获得所述最热数据节点中数据块的块冷热度N:

N=X*(T1-T2);

其中,所述X为数据块在单位时间内的读写操作总数;所述T1为最近访问时间;所述T2为预设的基准访问时间。

上述方案中,所述根据所述备份数据块的位置信息以及所述最冷数据节点的节点号,将所述备份数据块迁移到所述最冷数据节点内,包括:

计算各个所述备份数据块的块冷热度,获得块冷热度最小的最冷备份数据块的位置信息;

根据所述最冷备份数据块的位置信息以及所述最冷数据节点的节点号,确定所述最冷备份数据块在所述最冷数据节点内时,不进行迁移;确定所述最冷备份数据块不在所述最冷数据节点内时,将所述最冷备份数据块迁移到所述最冷数据节点内。

本发明还提供了一种分布式文件系统的输入/输出负载调整方法,所述方法包括:

接收调整装置发送的主备标识修改请求,所述主备标识修改请求中携带有将最冷数据节点中的备份数据块的位置信息设置为主标识,并将最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示;

根据所述主备标识修改请求,将所述最冷数据节点中的备份数据块的位置信息设置为主标识,将所述最热数据节点中的最热数据块的位置信息由原有的 主标识修改为备用标识。

本发明提供了一种分布式文件系统的输入/输出负载调整装置,所述装置包括:

计算单元,用于计算各个数据节点的节点冷热度,获取节点冷热度最大的最热数据节点的节点号和节点冷热度最小的最冷数据节点的节点号;并计算所述最热数据节点中数据块的块冷热度,获取块冷热度最大的最热数据块的位置信息;

位置获取单元,用于获取所述计算单元计算出的块冷热度最大的最热数据块的备份数据块的位置信息;

迁移单元,用于根据所述位置获取单元获取的所述备份数据块的位置信息以及所述计算单元获取的所述最冷数据节点的节点号,将所述备份数据块迁移到所述最冷数据节点内;

发送单元,用于向元数据节点发送主备标识修改请求,所述主备标识修改请求中携带有将由所述迁移单元迁移到所述最冷数据节点中的备份数据块的位置信息设置为主标识,并将所述计算单元获取的所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示。

上述方案中,所述计算单元,具体用于按照以下公式计算获得各个数据节点的节点冷热度B:

B=M*(M2/M1)*(N2/N1);

其中,所述M为数据节点在单位时间内的输入/输出负载总量;所述M1为数据节点在单位时间内的读操作数;所述M2为数据节点在单位时间内的写操作数;所述N1为数据节点在单位时间内的读数据块总量;所述N2为数据节点在单位时间内的写数据块总量。

上述方案中,所述计算单元,具体用于按照以下公式计算获得所述位置获取单元获取到的所述最热数据节点中数据块的块冷热度N:

N=X*(T1-T2);

其中,所述X为数据块在单位时间内的读写操作总数;所述T1为最近访问 时间;所述T2为预设的基准访问时间。

上述方案中,所述计算单元,还用于计算所述位置获取单元获取的各个所述备份数据块的块冷热度,获得块冷热度最小的最冷备份数据块的位置信息;

所述迁移单元,具体用于根据所述计算单元获取的所述最冷备份数据块的位置信息以及所述最冷数据节点的节点号,确定所述最冷备份数据块在所述最冷数据节点内时,不进行迁移;确定所述最冷备份数据块不在所述最冷数据节点内时,将所述最冷备份数据块迁移到所述最冷数据节点内。

本发明提供了一种元数据节点,所述元数据节点包括:

接收单元,用于接收调整装置发送的主备标识修改请求,所述主备标识修改请求中携带有将最冷数据节点中的备份数据块的位置信息设置为主标识,并将最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示;

修改单元,用于根据所述接收单元接收到的所述主备标识修改请求,将所述最冷数据节点中的备份数据块的位置信息设置为主标识,将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识。

本发明实施例提供了一种分布式文件系统的输入/输出负载调整方法及装置,该装置首先计算各个数据节点的冷热度,获取节点冷热度最大的最热数据节点的节点号和节点冷热度最小的最冷数据节点的节点号;然后计算所述最热数据节点中数据块的块冷热度,获取块冷热度最大的最热数据块的位置信息;接下来,获取所述最热数据块的备份数据块的位置信息,将所述备份数据块迁移到所述最冷数据节点内。这样,将所述最热数据节点中最热数据块的备份数据块迁移至所述最冷数据节点中,降低了所述最热数据节点的I/O负载,提高了所述最冷数据节点的I/O负载,均衡各数据节点的I/O负载,提高这个系统的I/O性能,缩短了客户响应时间。

附图说明

图1为本发明实施例提供的一种分布式文件系统的结构示意图;

图2为本发明实施例提供的一种应用于调整装置一侧的分布式文件系统的输入/输出负载调整方法的流程示意图;

图3为本发明实施例提供的一种应用于元数据节点一侧的分布式文件系统的输入/输出负载调整方法的流程示意图;

图4为本发明实施例提供的一种分布式文件系统的输入/输出负载调整装置的结构示意图;

图5为本发明实施例提供的一种元数据节点的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例提供了一种分布式文件系统,该分布式文件系统基于HDFS,如图1所示,所述系统包括:元数据节点101、数据节点102、客户端103以及调整装置104;其中,

所述元数据节点101,用于管理元数据;所述元数据包括文件系统目录树信息、文件和数据块的对应关系信息以及数据块的位置信息,通常,所述元数据节点101的个数为一个;

所述数据节点102,用于存储数据,响应来自所述元数据节点101的创建、删除和复制数据块的命令,还响应来自所述客户端103写入或读出数据块的请求,HDFS中默认的基本存储单位是大小为64M的数据块;

所述客户端103是HDFS的外部接口功能模块,用于提供与所述元数据节点101和所述数据节点102进行交互的应用程序编程接口,周期性的向所述元数据节点101回报存储的数据块信息;

所述调整装置104具有I/O负载调整功能,用于在所述数据节点102的I/O负载分布不均衡时调整I/O负载的分布,其可通过所述客户端103与所述元数据节点101进行交互,也可直接与所述数据节点102进行交互来调整数据节点102中的I/O负载。

在本实施例中,所述元数据节点101、每个所述数据节点102、所述调整装置104均可为单独的服务器,当然,还可以为其它设备,本发明中不做具体限定。

本发明实施例提供了一种分布式文件系统的输入/输出负载调整方法,应用于调整装置一侧,如图2所示,本实施例方法的处理流程包括以下步骤:

步骤201、计算各个数据节点的节点冷热度,获取节点冷热度最大的最热数据节点的节点号和节点冷热度最小的最冷数据节点的节点号。

HDFS启动的同时,调整装置也开始工作,所述调整装置周期性的计算本HDFS中各个数据节点的节点冷热度,也就是各个数据节点的I/O负载情况。在某个周期,部分数据节点的I/O负载过多而部分数据节点的I/O负载过少,就会造成数据节点的I/O负载不均衡,特别是I/O负载最多的数据节点与I/O负载最少的数据节点之间,I/O负载分布不均衡尤为突出,这时,所述调整装置就可以计算得出各个数据节点的I/O负载情况,及时调整数据节点的I/O负载分布,避免由于数据节点的I/O负载不均衡造成的I/O性能快速下降、客户响应时间下降等问题的发生。

具体来说,所述调整装置计算各个数据节点的节点冷热度时,是按照以下公式计算获得各个数据节点的节点冷热度B:

B=M*(M2/M1)*(N2/N1)(1)

其中,所述M为数据节点在单位时间内的输入/输出负载总量;所述M1为数据节点在单位时间内的读操作数;所述M2为数据节点在单位时间内的写操作数;所述N1为数据节点在单位时间内的数据块读出总量;所述N2为数据节点在单位时间内的数据块写入总量。

由公式(1)可知,数据节点的节点冷热度B越大,表明所述数据节点的I/O负载越高;反之,数据节点的节点冷热度B越小,表明所述数据节点的I/O负载越低。

由此可见,在计算出各个数据节点的节点冷热度B之后,节点冷热度最大的数据节点,也就是最热数据节点,其I/O负载最多,而节点冷热度最小的数 据节点,也就是最冷数据节点,其I/O负载最少。为了实现数据节点间I/O负载均衡,就需要降低所述最热数据节点的I/O负载并提高所述最冷数据节点的I/O负载,此时,所述调整装置就需要获取所述最热数据节点的节点号和所述最冷数据节点的节点号以重新调整数据节点中数据块的分布。

本实施例方法中所述各个数据节点的节点冷热度B的计算公式(1)中的各个参数是通过以下步骤获取的:

步骤A1、所述调整装置发送获取数据节点数目的第一请求给客户端;

步骤A2、所述客户端将所述第一请求转发给元数据节点;

步骤A3、所述元数据节点获取数据节点总数并发送给所述客户端;

步骤A4、所述客户端将所述数据节点总数返回给所述调整装置;

步骤A5、所述调整装置发送获取第i个数据节点节点号以及参数值的第二请求给所述客户端;其中,所述i为自然数,初始值为1;所述参数值包括第i个数据节点在单位时间内的输入/输出负载总量M、读操作数M1、写操作数M2、数据块读出总量N1和数据块写入总量N2

步骤A6、所述客户端将所述第二请求转发给所述元数据节点;

步骤A7、所述元数据节点获取第i个数据节点的节点号,并以所述第i个数据节点的节点号为索引获取第i个数据节点的参数值,将所述第i个数据节点的节点号以及参数值发送给所述客户端;

步骤A8、所述客户端将所述第i个数据节点的节点号以及参数值返回给所述调整装置;

步骤A9、所述调整装置判断i是否小于所述数据节点总数;如果是,则i=i+1,返回执行步骤A5;否则,执行步骤A10;

步骤A10、所述调整装置将得到的所有数据节点的节点号以及各个参数值进行存储,退出流程。

通常,所述元数据节点中记录有HDFS中数据节点总数、各个数据节点的节点号、以及在单位时间内的输入/输出负载总量、读操作数、写操作数、数据块读出总量和数据块写入总量等参数值,而所述调整装置不能直接与所述元数 据节点进行交互,需要通过所述客户端间接的与所述元数据节点进行交互才能获得数据节点的数目、各个数据节点的节点号以及参数值,在所述调整装置获得各个数据节点的参数值之后,可利用节点冷热度B的计算公式(1)分别计算出各个数据节点的节点冷热度,获取节点冷热度最大的最热数据节点的节点号和节点冷热度最小的最冷数据节点的节点号。

步骤202、计算所述最热数据节点中数据块的块冷热度,获取块冷热度最大的最热数据块的位置信息。

由于所述最热数据节点的I/O负载最多,其中各个数据块的读写频率都很高,所述调整装置需要及时将最热数据节点中读写频率最高的数据块进行调整,进而降低所述最热数据节点的读写频率,减少所述最热数据节点的I/O负载。

因此,所述调整装置需要进一步计算获得所述最热数据节点中读写频率最高即块冷热度最大的数据块,所述计算所述最热数据节点中数据块的块冷热度,具体包括:

按照以下公式计算获得所述最热数据节点中数据块的块冷热度N:

N=X*(T1-T2)(2)

其中,所述X为数据块在单位时间内的读写操作总数;所述T1为最近访问时间;所述T2为预设的基准访问时间。

由公式(2)可知,所述最热数据节点中数据块的块冷热度N越大,表明其I/O负载越大;反之,所述最热数据节点中数据块的块冷热度N越小,表明其I/O负载越小。为了均衡数据块上的I/O负载分布,本实施例方法中的所述调整装置需要对所述最热数据节点中块冷热度最高的最热数据块进行调整,故需要获取所述最热数据块的位置信息,所述最热数据块的位置信息为所述最热数据块所在的最热数据节点的节点号以及其在该最热数据节点中的位置。

本实施例方法中计算所述最热数据节点中数据块的块冷热度,获取块冷热度最大的最热数据块的位置信息是通过以下步骤实现的:

步骤B1、所述调整装置发送获取所述最热数据节点中数据块数目的第三请求给所述客户端;

步骤B2、所述客户端将所述第三请求转发给所述元数据节点;

步骤B3、所述元数据节点获取所述最热数据节点中数据块总数并发送给所述客户端;

步骤B4、所述客户端将所述最热数据节点中数据块总数返回给所述调整装置;

步骤B5、所述调整装置将所述最热数据节点的节点号、获取所述最热数据节点中第j块数据块的位置信息以及单位时间内读写操作总数的第四请求发送给所述客户端;其中,所述j为自然数,初始值为1;

步骤B6、所述客户端将所述第四请求转发给所述元数据节点;

步骤B7、所述元数据节点根据所述最热数据节点的节点号获取第j块数据块的位置信息,并以所述第j块数据块的位置信息为索引获取第j块数据块单位时间内的读写操作总数X,将所述第j块数据块的位置信息以及单位时间内的读写操作总数X发送给所述客户端;

步骤B8、所述客户端将所述第j块数据块的位置信息以及单位时间内数据块的读写操作总数X返回给所述调整装置;

步骤B9、所述调整装置判断j是否小于所述最热数据节点中数据块总数;如果是,则j=j+1,返回执行步骤B5;否则,执行步骤B10;

步骤B10、所述调整装置获取所述最热数据节点中所有数据块单位时间内的读写操作总数X后,按照块冷热度N的计算公式进行块冷热度计算,比较得到块冷热度最大的数据块,即最热数据块,并将所述最热数据块的位置信息进行存储,退出流程。

这里,所述调整装置通过所述客户端与所述元数据节点进行交互,获取所述元数据节点中记录的各个数据节点中数据块总数、数据块的位置信息、数据块单位时间内的读写操作总数。

步骤203、获取所述最热数据块的备份数据块的位置信息,根据所述备份数据块的位置信息以及所述最冷数据节点的节点号,将所述备份数据块迁移到所述最冷数据节点内。

为了降低所述最热数据节点的数据块的读写频率,所述调整装置需要对所述最热数据节点中最热数据块进行调整,然而,针对所述最热数据块本身进行调整,容易在调整过程中出现数据块操作冲突的问题,而在HDFS中,每个数据块均有与该数据内容相同的备份数据块,并且所述备份数据块存放在不同的数据节点上,因此,所述调整装置不对最所述热数据节点中最热数据块进行调整,而是对所述最热数据块的一个备份数据块进行调整,因此所述调整装置首先要获取所述最热数据块的备份数据块的位置信息。

本实施例方法中,所述调整装置在获取所述最热数据块的备份数据块的位置信息之后,所述调整装置可以按照上述的计算最热数据节点中各个数据块的块冷热度的过程计算各个备份数据块的块冷热度,获得块冷热度最小的最冷备份数据块的位置信息;然后,所述调整装置根据所述最冷备份数据块的位置信息以及所述最冷数据节点的节点号,确定所述最冷备份数据块在所述最冷数据节点内时,即最冷数据节点的节点号与所述最冷备份数据块所在的数据节点的节点号相同,不进行迁移,流程结束;否则,所述调整装置将所述最冷备份数据块迁移到所述最冷数据节点内;所述调整装置获取所述最冷备份数据块迁移后的位置信息。

这里,所述调整装置通过所述客户端与所述元数据节点进行交互,获取所述元数据节点中记录的各个数据块的备份数据块的位置信息,包括所述获取所述最热数据块的备份数据块的位置信息以及所述获取所述最冷备份数据块迁移后的位置信息;其中,所述备份数据块的位置信息为所述备份数据块所在数据节点的节点号以及所述备份数据块在该数据节点中的位置;所述最冷备份数据块的位置信息为所述最冷备份数据块所在最冷数据节点的节点号以及所述最冷备份数据块在所述最冷数据节点中的位置。

在本发明实施例的分布式文件系统中,默认每一个数据块除数据块本身之外还存放2个备份数据块,当然,所述备份数据块的数目也可以根据需要进行设置,本发明中不做具体限定。

步骤204、向元数据节点发送主备标识修改请求。

所述主备标识修改请求中携带有将所述最冷数据节点中的备份数据块的位置信息设置为主标识,并将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示。

本实施例方法中,所述调整装置将所述最热数据块的最冷备份数据块迁移到最冷数据节点上,为了使后续针对所述最热数据节点中最热数据块的读写操作指向所述最冷数据节点中的备份数据块的位置上,所述调整装置还需要向所述元数据节点发送主备标识修改请求,所述主备标识修改请求中携带有将所述最冷数据节点中的备份数据块的位置信息设置为主标识,并将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示。包括如下步骤:

步骤C1、所述调整装置向所述客户端发送主备标识修改请求,所述主备标识修改请求中携带有将所述最冷数据节点中的备份数据块的位置信息设置为主标识,并将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示;

步骤C2、所述客户端中断对所述最热数据块的所有操作;

步骤C3、所述客户端将所述主备标识修改请求发送给所述元数据节点。

本发明实施例还提供了一种分布式文件系统的输入/输出负载调整方法,应用于元数据节点一侧,如图3所示,本实施例方法的处理流程包括以下步骤:

步骤301、接收调整装置发送的主备标识修改请求。

所述元数据节点接收调整装置发送的主备标识修改请求,所述主备标识修改请求中携带有将所述最冷数据节点中的备份数据块的位置信息设置为主标识,并将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示。

步骤302、根据所述主备标识修改请求,将所述最冷数据节点中的备份数据块的位置信息设置为主标识,将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识。

所述元数据节点中存储有位置信息设置为主标识的数据块位置信息和位置 信息设置为备用标识的数据块位置信息,当所述客户端需要读出数据块时,所述元数据节点将设置为主标识的数据块的位置信息发送给所述客户端,所述客户端可从该位置信息处读取数据块。

本实施例方法中,所述元数据节点接收到主备标识修改请求后就会根据所述主备标识修改请求,将所述最冷数据节点中的备份数据块的位置信息设置为主标识,将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识,这样,所述客户端在请求读取相应数据块时,就会从所述最冷数据节点的备份数据块的位置信息处读取。

待所述元数据节点修改完主备标识后,会发送修改完成通知所述客户端,所述客户端就可以继续对所述最热数据块进行操作;同时所述客户端将所述修改完成通知转发给所述调整装置;所述调整模块接收所述修改完成通知后,知道本次的调整流程结束。

这样,通过以上步骤就可以实现将原来的最热数据块置换成备份数据块,再将其备份数据块迁移到所述最冷数据节点上后置换成主数据块,一方面降低所述最热数据节点的I/O负载,另一方面提高所述最冷数据节点的I/O负载,从而达到数据节点I/O负载均衡的目的,进而提高了I/O性能以及客户的响应时间。

为了测试本发明实施例中分布式文件系统的I/O负载性能,模拟系统采用了50台PC服务器作为数据节点,1台PC服务器作为元数据节点,1台PC服务器运行调整装置,1个PC服务器作为客户端,而采用10台PC服务器作为I/O负载模拟器。

模拟系统测试结构显示:(1)在上述系统配置情况下,同样的I/O负载情况下,读I/O操作可以提升37%性能,而写性能可以提高54.3%左右的性能;(2)整体I/O性能大概提升42%左右。

因此,应用本发明分布式文件系统的输入/输出负载调整方法比原来HDFS具有较大的I/O性能提升,更适合类似教育云这类I/O负载情况下的数据负载分布调整。

本发明实施例还提供一种分布式文件系统的输入/输出负载调整装置,如图4所示,所述调整装置包括:计算单元401、位置获取单元402、迁移单元403以及发送单元404;其中,

所述计算单元401,用于计算各个数据节点的节点冷热度,获取节点冷热度最大的最热数据节点的节点号和节点冷热度最小的最冷数据节点的节点号;并计算所述最热数据节点中数据块的块冷热度,获取块冷热度最大的最热数据块的位置信息;

所述位置获取单元402,用于获取所述计算单元401计算出的块冷热度最大的最热数据块的备份数据块的位置信息;

迁移单元403,用于根据所述位置获取单元402获取的所述备份数据块的位置信息以及所述计算单元401获取的所述最冷数据节点的节点号,将所述备份数据块迁移到所述最冷数据节点内;

发送单元404,用于向元数据节点发送主备标识修改请求,所述主备标识修改请求中携带有将由所述迁移单元403迁移到所述最冷数据节点中的备份数据块的位置信息设置为主标识,并将所述计算单元401获取的所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示。

可选的,所述计算单元401,具体用于按照以下公式计算获得各个数据节点的节点冷热度B:

B=M*(M2/M1)*(N2/N1);

其中,所述M为数据节点在单位时间内的输入/输出负载总量;所述M1为数据节点在单位时间内的读操作数;所述M2为数据节点在单位时间内的写操作数;所述N1为数据节点在单位时间内的读数据块总量;所述N2为数据节点在单位时间内的写数据块总量。

可选的,所述计算单元401,具体用于按照以下公式计算获得所述位置获取单元402获取到的所述最热数据节点中数据块的块冷热度N:

N=X*(T1-T2);

其中,所述X为数据块在单位时间内的读写操作总数;所述T1为最近访问 时间;所述T2为预设的基准访问时间。

可选的,所述计算单元401,还用于计算所述位置获取单元402获取的各个所述备份数据块的块冷热度,获得块冷热度最小的最冷备份数据块的位置信息;

所述迁移单元403,具体用于根据所述计算单元401获取的所述最冷备份数据块的位置信息以及所述最冷数据节点的节点号,确定所述最冷备份数据块在所述最冷数据节点内时,不进行迁移;确定所述最冷备份数据块不在所述最冷数据节点内时,将所述最冷备份数据块迁移到所述最冷数据节点内。

本发明实施例还提供一种元数据节点,如图5所示,所述元数据节点包括:接收单元501和修改单元502;其中,

所述接收单元501,用于接收调整装置发送的主备标识修改请求,所述主备标识修改请求中携带有将最冷数据节点中的备份数据块的位置信息设置为主标识,并将最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识的指示;

所述修改单元502,用于根据所述接收单元501接收到的所述主备标识修改请求,将所述最冷数据节点中的备份数据块的位置信息设置为主标识,将所述最热数据节点中的最热数据块的位置信息由原有的主标识修改为备用标识。

在实际应用中,本实施例中所述的计算单元401、位置获取单元402、迁移单元403、发送单元404可以由调整装置上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)、调制解调器等器件实现等器件实现;本实施例中所述的接收单元501、修改单元502可以由元数据节点上的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)、调制解调器等器件实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储 器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1