一种基于数据温度对数据块自动进行分布的方法和装置与流程

文档序号:11780183阅读:186来源:国知局
一种基于数据温度对数据块自动进行分布的方法和装置与流程
本发明属于数据处理领域,尤其涉及一种基于数据温度对数据块自动进行分布的方法和装置。

背景技术:
随着计算机技术和网络技术有了飞速的发展,单位存储的成本不断降低。这些为信息数字化提供了坚实的基础。而数据总线带宽、磁盘速度的增长无法满足应用对于数据带宽的需求,存储系统成为计算机系统发展的瓶颈。在现有技术中,数据被分为固定大小的“块”,称为数据块,这些数据块被随机的存储在存储系统的磁盘中,读取时存储系统的存储层根据文件系统层请求的地址进行映射向合适的磁盘读取数据。但是由于磁盘I/O性能的不同,磁盘访问量的不同可能出现:某些磁盘一直被访问,某些磁盘一直不被访问的情况,这样就对磁盘的性能造成很大的浪费。

技术实现要素:
本发明实施例的目的在于提供一种基于数据温度对数据块自动进行分布的方法和装置,以解决现有无法充分利用所有存储节点的存储性能的问题。第一方面,本发明实施例提供了一种基于数据温度对数据块自动进行分布的方法,所述方法包括:获取存储节点存储的数据块的被访问信息,所述被访问信息包括:数据块的修改时间、数据块的被访问时间、数据块的被访问次数和数据块的被访问频率;对所述被访问信息进行统计,生成统计数据,所述统计为:对被访问信息中的一种或多种进行统计;根据所述统计数据将存储节点存储的数据块划分为不同的数据温度;根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布。在第一方面的第一种可能的实施方式中,在所述对所述被访问信息进行统计,生成统计数据的步骤之前,所述方法还包括:预设需要进行统计的信息。在第一方面的第二种可能的实施方式中,在所述获取存储节点存储的数据块的被访问信息之后,所述方法还包括:获取存储节点的负载信息,所述负载信息包括:存储节点的存储空间和数据块的大小信息。结合第一方面的第二种可能的实施方式,在第三种可能的实施方式中,在所述根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布的步骤之后,所述方法还包括:根据所述负载信息对重新分布后的数据块进行调整。结合第一方面的第三种可能的实施方式,在第四种可能的实施方式中,所述根据所述负载信息对重新分布后的数据块进行调整,包括:当第一存储节点的存储空间无法存储对应的数据块时,将多出的数据块存储到所述第一存储节点的I/O性能相近的第二存储节点。第二方面,本发明实施例提供了一种基于数据温度对数据块自动进行分布的装置,所述装置包括:获取单元,用于获取存储节点存储的数据块的被访问信息,所述被访问信息包括:数据块的修改时间、数据块的被访问时间、数据块的被访问次数和数据块的被访问频率;统计单元,用于对所述获取单元获取的被访问信息进行统计,生成统计数据,所述统计为:对被访问信息中的一种或多种进行统计;划分单元,用于根据所述统计单元的统计数据将存储节点存储的数据块划分为不同的数据温度。在第二方面的第一种可能的实施方式中,在所述统计单元统计之前,所述装置还包括:统计信息预设单元,用于预设需要进行统计的信息。在第二方面的第二种可能的实施方式中,在所述获取单元获取之后,所述装置还包括:负载信息获取单元,用于获取存储节点的负载信息,所述负载信息包括:存储节点的存储空间和数据块的大小信息。结合第二方面的第二种可能的实施方式,在第三种可能的实施方式中,在所述负载信息获取单元获取之后,所述装置还包括:调整单元,用于根据所述负载信息获取单元获取的负载信息对重新分布后的数据块进行调整。结合第二方面的第三种可能的实施方式,在第四种可能的实施方式中,所述调整单元的调整,包括:当第一存储节点的存储空间无法存储对应的数据块时,将多出的数据块存储到所述第一存储节点的I/O性能相近的第二存储节点。本发明实施例,系统获取存储节点存储的数据块的被访问信息,根据所述被访问信息对数据块的数据温度进行划分,根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布,使得所有存储节点的性能都能够得到充分发挥,为应用提供了更好的磁盘I/O性能。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳 动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的基于数据温度对数据块自动进行分布方法的流程图;图2为本发明实施例提供的基于数据温度对数据块自动进行分布装置的结构图;图3为本发明实施例提供的基于数据温度对数据块自动进行分布系统的结构示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明实施例,系统获取存储节点存储的数据块的被访问信息,根据所述被访问信息对数据块的数据温度进行划分,根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布,使得所有存储节点的性能都能够得到充分发挥,为应用提供了更好的磁盘I/O性能。为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。实施例一如图1所示为本发明实施例提供的基于数据温度对数据块自动进行分布方法的流程图,所述方法包括以下步骤:在步骤S101中,获取存储节点存储的数据块的被访问信息,所述被访问信息包括:数据块的修改时间、数据块的被访问时间、数据块的被访问次数和数据块的被访问频率。在本发明实施例中,系统获取存储节点存储的数据块的被访问信息,包括:数据块的修改时间(数据块什么时候被存储到该存储节点的)、数据块的被访问时间(数据块在哪些时间被访问的)、数据块的被访问次数(数据块被总共 被访问了多少次)、数据块的被访问频率(数据块在单位时间内被访问的次数)等。在步骤S102中,对所述被访问信息进行统计,生成统计数据,所述统计为:对被访问信息中的一种或多种进行统计。在本发明实施例中,系统在获取到上述被访问信息之后,对被访问的信息进行统计,生成对应的统计数据,所述统计为:对被访问信息的一种进行统计,如:只对数据块的修改时间进行统计;或者对被放文信息的多种进行统计,如:即统计数据块的修改世界、也统计数据块的被访问时间。在步骤S103中,根据所述统计数据将存储节点存储的数据块划分为不同的数据温度。在本发明实施例中,系统根据获取的统计数据,对各个存储节点存储的数据进行数据温度的重新划分,如:存储节点A存储的数据块的被访问次数被统计为“多”,则将存储节点A存储的数据块的数据温度设置为“热”;存储节点B存储的数据块的被访问次数被统计为“中”,则将存储节点B存储的数据块的数据温度设置为“温”;存储节点C存储的数据块的被访问次数被统计为“少”,则将存储节点C存储的数据块的数据温度设置为“冷”。以上只是以“数据块的被访问次数”为例进行说明,并不用以限制,也可以结合“数据块的被访问次数”和“数据块的被访问频率”、“数据块的被访问频率”和“数据块的被访问时间”等方式对数据块的数据温度进行划分。在步骤S104中,根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布。在本发明实施例中,系统根据存储节点的I/O性能和数据温度对所述数据块进行重新分布,即:将数据温度“热”的数据块分布到I/O性能“强”的存储节点、将数据温度“中”的数据块分布到I/O性能“中”的存储节点、将数据温度“冷”的数据块分布到I/O性能“弱”的存储节点。本发明实施例,系统获取存储节点存储的数据块的被访问信息,根据所述 被访问信息对数据块的数据温度进行划分,根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布,使得所有存储节点的性能都能够得到充分发挥,为应用提供了更好的磁盘I/O性能。作为本发明的一个可选实施例,在所述对所述被访问信息进行统计,生成统计数据的步骤之前,所述方法还包括:预设需要进行统计的信息。在本发明实施例中,系统可以从:数据块的修改时间、数据块的被访问时间、数据块的被访问次数和数据块的被访问频率等信息中,预设一种或多种进行统计,在后续的步骤中即可根据预设的信息种类统计信息作为本发明的另一个可选实施例,在所述获取存储节点存储的数据块的被访问信息之后,所述方法还包括:获取存储节点的负载信息,所述负载信息包括:存储节点的存储空间和数据块的大小信息。在本发明实施例中,系统根据存储节点的负责信息可以对重新分布后的数据块进行调整,如:数据温度为“热”的数据块有150mb,而I/O性能“强”的存储节点的存储空间只有100mb,因此需要根据存储节点的负载信息,将另外的50mb数据块存储到I/O性能为“中”的存储节点。实施例二如图2所示为本发明实施例提供的基于数据温度对数据块自动进行分布装置的结构图,为了便于说明,仅示出与本发明实施例相关的部分,包括:获取单元201,用于获取存储节点存储的数据块的被访问信息,所述被访问信息包括:数据块的修改时间、数据块的被访问时间、数据块的被访问次数和数据块的被访问频率。在本发明实施例中,获取单元201获取存储节点存储的数据块的被访问信息,包括:数据块的修改时间(数据块什么时候被存储到该存储节点的)、数据块的被访问时间(数据块在哪些时间被访问的)、数据块的被访问次数(数 据块被总共被访问了多少次)、数据块的被访问频率(数据块在单位时间内被访问的次数)等。统计单元202,用于对所述获取单元201获取的被访问信息进行统计,生成统计数据,所述统计为:对被访问信息中的一种或多种进行统计。在本发明实施例中,获取单元201在获取到上述被访问信息之后,统计单元202对被访问的信息进行统计,生成对应的统计数据,所述统计为:对被访问信息的一种进行统计,如:只对数据块的修改时间进行统计;或者对被放文信息的多种进行统计,如:即统计数据块的修改世界、也统计数据块的被访问时间。划分单元203,用于根据所述统计单元202的统计数据将存储节点存储的数据块划分为不同的数据温度。在本发明实施例中,划分单元203根据获取的统计数据,对各个存储节点存储的数据进行数据温度的重新划分,如:存储节点A存储的数据块的被访问次数被统计为“多”,则将存储节点A存储的数据块的数据温度设置为“热”;存储节点B存储的数据块的被访问次数被统计为“中”,则将存储节点B存储的数据块的数据温度设置为“温”;存储节点C存储的数据块的被访问次数被统计为“少”,则将存储节点C存储的数据块的数据温度设置为“冷”。以上只是以“数据块的被访问次数”为例进行说明,并不用以限制,也可以结合“数据块的被访问次数”和“数据块的被访问频率”、“数据块的被访问频率”和“数据块的被访问时间”等方式对数据块的数据温度进行划分。重新分布单元204,用于根据存储节点的I/O性能和所述划分单元203划分的数据温度对所述数据块进行重新分布。在本发明实施例中,重新分布单元204根据存储节点的I/O性能和数据温度对所述数据块进行重新分布,即:将数据温度“热”的数据块分布到I/O性能“强”的存储节点、将数据温度“中”的数据块分布到I/O性能“中”的存储节点、将数据温度“冷”的数据块分布到I/O性能“弱”的存储节点。本发明实施例,系统获取存储节点存储的数据块的被访问信息,根据所述被访问信息对数据块的数据温度进行划分,根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布,使得所有存储节点的性能都能够得到充分发挥,为应用提供了更好的磁盘I/O性能。作为本发明的一个可选实施例,在所述统计单元202统计之前,所述装置还包括:统计信息预设单元,用于预设需要进行统计的信息。在本发明实施例中,统计信息预设单元可以从:数据块的修改时间、数据块的被访问时间、数据块的被访问次数和数据块的被访问频率等信息中,预设一种或多种进行统计,在后续的步骤中即可根据预设的信息种类统计信息。作为本发明的另一个可选实施例,在所述获取单元201获取之后,所述装置还包括:负载信息获取单元,用于获取存储节点的负载信息,所述负载信息包括:存储节点的存储空间和数据块的大小信息。在所述负载信息获取单元获取之后,所述装置还包括:调整单元,用于根据所述负载信息获取单元获取的负载信息对重新分布后的数据块进行调整。系统根据存储节点的负责信息可以对重新分布后的数据块进行调整,如:数据温度为“热”的数据块有150mb,而I/O性能“强”的存储节点的存储空间只有100mb,因此需要根据存储节点的负载信息,将另外的50mb数据块存储到I/O性能为“中”的存储节点。实施例三如图3所示为本发明实施例提供的基于数据温度对数据块自动进行分布系统的结构示意图。所述系统可以用于执行图1所示的方法。所述系统可以是网络设备。所述网络设备可以是路由器、交换机、防火墙或者负载均衡器。如图3所示,本实施例提供的系统包括:至少一个处理器301、存储器302、通信接 口303和总线。处理器301、存储器302和通信接口303通过总线连接并完成相互间的通信。所述总线可以是工业标准体系结构(IndustryStandardArchitecture,简称为ISA)总线、外部设备互连(PeripheralComponetInterconnect简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、控制总线等。为了便于表示,图3中仅用一条粗线表示,但并不表示图3所示的系统只能有一根总线或一种类型的总线。其中:存储器302用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器302可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个存盘存储器。在一个实施例中,处理器301通过读取存储器302中存储的可执行程序代码来运行于所述可执行程序代码对应的程序,以用于:获取存储节点存储的数据块的被访问信息,所述被访问信息包括:数据块的修改时间、数据块的被访问时间、数据块的被访问次数和数据块的被访问频率。在本发明实施例中,系统获取存储节点存储的数据块的被访问信息,包括:数据块的修改时间(数据块什么时候被存储到该存储节点的)、数据块的被访问时间(数据块在哪些时间被访问的)、数据块的被访问次数(数据块被总共被访问了多少次)、数据块的被访问频率(数据块在单位时间内被访问的次数)等。对所述被访问信息进行统计,生成统计数据,所述统计为:对被访问信息中的一种或多种进行统计。在本发明实施例中,系统在获取到上述被访问信息之后,对被访问的信息进行统计,生成对应的统计数据,所述统计为:对被访问信息的一种进行统计,如:只对数据块的修改时间进行统计;或者对被放文信息的多种进行统计,如:即统计数据块的修改世界、也统计数据块的被访问时间。根据所述统计数据将存储节点存储的数据块划分为不同的数据温度。在本发明实施例中,系统根据获取的统计数据,对各个存储节点存储的数据进行数据温度的重新划分,如:存储节点A存储的数据块的被访问次数被统计为“多”,则将存储节点A存储的数据块的数据温度设置为“热”;存储节点B存储的数据块的被访问次数被统计为“中”,则将存储节点B存储的数据块的数据温度设置为“温”;存储节点C存储的数据块的被访问次数被统计为“少”,则将存储节点C存储的数据块的数据温度设置为“冷”。以上只是以“数据块的被访问次数”为例进行说明,并不用以限制,也可以结合“数据块的被访问次数”和“数据块的被访问频率”、“数据块的被访问频率”和“数据块的被访问时间”等方式对数据块的数据温度进行划分。根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布。在本发明实施例中,系统根据存储节点的I/O性能和数据温度对所述数据块进行重新分布,即:将数据温度“热”的数据块分布到I/O性能“强”的存储节点、将数据温度“中”的数据块分布到I/O性能“中”的存储节点、将数据温度“冷”的数据块分布到I/O性能“弱”的存储节点。本发明实施例,系统获取存储节点存储的数据块的被访问信息,根据所述被访问信息对数据块的数据温度进行划分,根据存储节点的I/O性能和所述数据温度对所述数据块进行重新分布,使得所有存储节点的性能都能够得到充分发挥,为应用提供了更好的磁盘I/O性能。作为本发明的一个可选实施例,在所述对所述被访问信息进行统计,生成统计数据的步骤之前,所述方法还包括:预设需要进行统计的信息。在本发明实施例中,系统可以从:数据块的修改时间、数据块的被访问时间、数据块的被访问次数和数据块的被访问频率等信息中,预设一种或多种进行统计,在后续的步骤中即可根据预设的信息种类统计信息作为本发明的另一个可选实施例,在所述获取存储节点存储的数据块的被 访问信息之后,所述方法还包括:获取存储节点的负载信息,所述负载信息包括:存储节点的存储空间和数据块的大小信息。在本发明实施例中,系统根据存储节点的负责信息可以对重新分布后的数据块进行调整,如:数据温度为“热”的数据块有150mb,而I/O性能“强”的存储节点的存储空间只有100mb,因此需要根据存储节点的负载信息,将另外的50mb数据块存储到I/O性能为“中”的存储节点。处理器301可能是一个CPU,或者是特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。需说明的是,上述处理器301除了具有上述功能之外,还可用于执行上述方法实施例中的其他流程,再此不再赘述。通信接口303主要用于实现本实施例的流量来源,确定设备与其他设备或装置之间的通信。本领域普通技术人员可以理解为上述实施例所包括的各个单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1