本发明属于计算机信息存储技术领域,更具体地,涉及一种混合存储系统中的数据分布方法。
背景技术:
为了提高存储性能加速数据访问,许多新型存储设备如Flash SSD、PCM等被广泛研究应用,使得混合存储成为一种趋势。在混合存储环境下,如何有效地组织管理数据,使各存储设备得到充分利用,是提高存储性能的一个关键问题。
关键数据是当其分布在高性能存储设备上时能有效提高整体存储性能的数据,关键数据的识别主要是通过数据的大小、访问频率、存储设备读写性能等因素计算得出。目前的混合存储数据组织方案主要关注如何有效识别关键数据,将关键数据分布于高性能存储设备上来提高存储性能。
但是,将关键数据集中分布在高性能存储设备上的方式,忽略了充分利用各个存储设备的聚合性能来进一步提升存储性能。当关键数据集中于高性能存储设备时,高性能存储设备很可能高负荷运行成为性能瓶颈,而其它存储设备则被空置。虽然,由于之前的混合存储大多是固态硬盘SSD与机械硬盘HDD混合,由于HDD的随机小写性能小于SSD数个数量级,该问题并不明显。而随着技术发展各种新型存储设备的不断出现,各种SSD之间混合,甚至SSD与NVRAM之间的混合越来越多,该问题也将逐渐变得突出。
技术实现要素:
针对现有技术的以上缺陷或改进需求,本发明提供了一种混合存储系统中的数据分布方法,不将所有的关键数据全部集中分布在高性能存储设备上,而是根据高性能存储设备与低性能存储设备的性能比,在各存储设备之间分布关键数据,一方面缓解高性能存储设备被密集访问带来的瓶颈问题,另一方面利用低性能存储设备提高数据访问并行性,从而提高系统的整体存储性能,由此解决现有技术中将关键数据全部集中于高性能存储设备时给高性能存储设备带来的性能瓶颈以及其它存储设备被空置造成性能降低的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种混合存储系统中的数据分布方法,包括:
(1)将非关键数据分布在低性能存储设备上;
(2)将关键数据在高性能存储设备和低性能存储设备上按比例分布。
优选地,所述将关键数据在高性能存储设备和低性能存储设备上按比例分布,包括:计算关键数据在高性能存储设备和低性能存储设备上能达到的存储性能的比值;按照存储性能的比值将关键数据分布在高性能存储设备和低性能存储设备上。
优选地,所述计算关键数据在高性能存储设备和低性能存储设备上能达到的存储性能的比值,包括:计算关键数据在低性能存储设备上的访问延迟与关键数据在高性能存储设备上的访问延迟的比值,其中,访问延迟等于等待时间与传输时间之和,传输时间等于关键数据的大小与传输带宽的比值。
优选地,所述关键数据中包括N个独立的子关键数据包;在计算出关键数据在高性能存储设备和低性能存储设备上能达到的存储性能的比值之后,所述方法还包括:设定一个阈值T,以关键数据在各存储设备上能达到的存储性能的比值,分别将超过阈值T的各子关键数据包拆分成多个数据块分布在各存储设备上;将大小不超过阈值T的各子关键数据包在各存储设备上逐个分布,最终各存储设备上分布的总的关键数据量的比例为所有关键数据在各存储设备上能达到的存储性能的比值。
优选地,设定一个阈值T包括:设大小为T的关键数据在高性能存储设备和低性能存储设备上的性能比为m:n,再设大小为T*[m/(m+n)]的关键数据在高性能存储设备上的存储性能与大小为T*[n/(m+n)]的关键数据在低性能存储设备上的存储性能之比为p:q,则设定的阈值T应使(m:n)/(p:q)∈[α,β],α与β为经验值,用来表示m:n与p:q基本相等。
附图说明
图1为本发明实施例公开的一种混合存储系统中的数据分布的结构示意图;
图2为本发明实施例公开的一种混合存储系统中的数据分布方法的流程示意图;
图3为本发明实施例公开的一种混合存储数据组织方法的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明提供了一种混合存储系统中的数据分布方法,不将关键数据全部集中分布在高性能存储设备上,而是根据关键数据在高性能存储设备与低性能存储设备上能达到的存储性能比,在各存储设备之间分布关键数据,一方面缓解高性能存储设备被密集访问带来的瓶颈问题,另一方面利用低性能存储设备提高数据访问并行性,从而提高系统的整体存储性能。
如图1所示,为本发明实施例公开的一种混合存储系统中的数据分布的结构示意图,具体包括识别关键数据和数据分布两个步骤:
(1)识别关键数据:关键数据是当其分布在高性能存储设备上时能有效提高整体存储性能的数据,关键数据的识别主要是通过数据的大小、数据的访问频率、存储设备的读写性能等因素计算得出,通常情况关键数据为访问频率高的热点数据;
(2)数据分布:按数据分布方法将数据分布在各存储设备上。
如图2所示,为本发明实施例公开的一种混合存储系统中的数据分布方法的流程示意图,该方法包括:
201:将非关键数据分布在低性能存储设备上;
202:将关键数据在高性能存储设备和低性能存储设备上按比例分布。
其中,关键数据在高性能存储设备与低性能存储设备上的分布比例为关键数据在高性能存储设备与低性能存储设备上能达到的存储性能之比。不同大小的关键数据在同一存储设备上的存储性能可能变化,因此,关键数据在高性能存储设备与低性能存储设备上能达到的存储性能之比也可能随关键数据的大小变化。所以对不同大小的关键数据进行分布时按照关键数据的大小对应的比例进行分布。
其中,关键数据在高性能存储设备与低性能存储设备上能达到的存储性能之比的计算方法为:关键数据在低性能存储设备上的访问延迟与关键数据在高性能存储设备上的访问延迟的比值,其中访问延迟等于等待时间与传输时间之和,例如,SSD的等待时间为0,HDD的等待时间取平均寻道时间,传输时间等于关键数据的大小与传输带宽的比值,平均寻道时间、传输带宽为存储设备的固有参数。
需要说明的是,本发明实施例所述的关键数据中包括N个独立的子关键数据包,例如关键数据S1,关键数据S2,关键数据S3等,可以设定一个阈值T,以所有的关键数据在各存储设备上能达到的存储性能的比值,分别将超过阈值T的各子关键数据包拆分成多个数据块分布在各存储设备上;将大小不超过阈值T的各子关键数据包在各存储设备上逐个分布,最终各存储设备上分布的总的关键数据量的比例为所有关键数据在各存储设备上能达到的存储性能的比值,如图3所示,为本发明实施例公开的一种混合存储数据组织方法的结构示意图。
从图3中可以看出,关键数据中包含4个子关键数据包,分别为数据S1、数据S2、数据S3以及数据S4,其中数据S1的大小超过阈值T,则将数据S1分成两个数据块分别分布在高性能设备与低性能设备上,分布比例按照所有关键数据在高性能设备与低性能设备所能达到的性能的比值进行分布,而数据S2、数据S3以及数据S4的大小均未超过阈值T,则不进行拆分,将数据S2和数据S3分布在高性能设备上,数据S4分布在低性能设备上,按照上述分布方式后,最终在高性能设备上分布的总的关键数据量与最终在低性能设备上分布的总的关键数据量的比例为所有关键数据在高性能设备与低性能设备上能达到的存储性能的比值。
其中,可以采用如下方式设定阈值T:设大小为T的关键数据在高性能存储设备与低性能存储设备上的性能比为m:n,再设大小为T*[m/(m+n)]的关键数据在高性能存储设备上的存储性能与大小为T*[n/(m+n)]的关键数据在低性能存储设备上的存储性能之比为p:q,则设定的阈值T应使(m:n)/(p:q)∈[α,β],α与β为经验值,用来表示m:n与p:q基本相等,一般可选取为[0.8,1.2]。
下面以一个具体实施例来具体介绍如何完成关键数据的分布操作,选取数个固定大小的关键数据S1,S2,S3,…,Si,…,如S1=4KB,S2=8KB,S3=16KB,S4=32KB,S5=64KB,S6=256KB,S7=512KB,S8=1MB,S9=2MB等,分别计算这些大小的关键数据在高性能存储设备与低性能存储设备上的存储性能之比,以大小为Si的关键数据在高性能存储设备与低性能存储设备上的存储性能之比代表所处区间(Si-1,Si]内其它大小的关键数据在高性能存储设备与低性能存储设备上的存储性能之比。如果相邻区间的性能比接近则向前合并成为一个区间。对于每个小于阈值T的区间(Si-1,Si],在关键数据分布过程中分别监控高性能存储设备上和低性能存储设备上已经存在的处于该区间的关键数据的数据量,直到最终在高性能存储设备上分布的处于该区间的关键数据量与最终在低性能存储设备上分布的处于该区间的关键数据的比值等于大小为Si的数据在高性能存储设备和低性能存储设备上的存储性能之比。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。