一种数据存储方法及系统的制作方法
【技术领域】
[0001]本发明涉及数据处理技术领域,更具体的说,涉及一种数据存储方法及系统。
【背景技术】
[0002]随着信息科技的进步,搜索引擎、社交网络、电子商务、智能终端、物联网等持续发展,数据被快速地产生和积累,导致数据规模急剧膨胀。PB(Petabyte)级别的数据成为常态。与此同时,由于数据的来源不同,采用了如文本、图片、音频、视频等不同的形式,当前的数据还呈现多样化的特征。
[0003]如此大规模的数据给存储带来了很大挑战。首先在存储时要保证大规模数据集的安全性,确保数据不会丢失;然后当前存储大规模数据的主要目的是满足数据访问需求,而不是作为归档性存储,要求具有良好的数据访问性能。
[0004]这对大规模数据的存储提出了新的要求。以往的存储方式只能满足小规模数据的需求,或者数据访问性能差。现有的大规模数据集存储方法中,仅考虑数据安全性,通过采用经典的数据副本方式来保证安全,存储空间利用率低,访问效率低。
【发明内容】
[0005]为解决上述问题,本发明提供了一种数据存储方法及系统,提高了存储空间的利用率以及访问效率。
[0006]为实现上述目的,本发明提供如下技术方案:
[0007]—种数据存储方法,该数据存储方法包括:
[0008]为多个数据均对应分配多个副本;
[0009]根据所述数据的受访问热度调整所述数据的副本数量,受访问热度越大的数据,其副本容量越大。
[0010]优选的,在上述数据存储方法中,所述为多个数据均对应分配多个副本包括:
[0011]为所有数据分配相同个数的副本。
[0012]优选的,在上述数据存储方法中,所述根据所述数据的受访问热度调整所述数据的副本数量包括:
[0013]获取所述数据对应的单位数据在多个时间段内的受访问频率;
[0014]为每个时间段设定对应的权重系数;
[0015]根据每个时间段对应的权重系数以及受访问频率计算所述数据的受访问热度;
[0016]根据所述受访问热度调整所述数据的副本数量,所述受访问热度越大,所述副本容量越大,且所述副本容量小于上限阈值。
[0017]优选的,在上述数据存储方法中,所述受访问热度的计算方法是:
[0018]Hi =K1*F1+...+Κ j*F j+...+Kn*Fn ;
[0019]其中,j、n为正整数,且j小于n;Hi表示单位数据i的所述受访问热度;Kj表示第j个时间段对应的权重系数,Fj表示第j个时间段对应的访问频率。
[0020]优选的,在上述数据存储方法中,还包括:调整所述访问节点的数据分布策略,将关联性值大的两数据存储在同一访问节点。
[0021 ]优选的,在上述数据存储方法中,所述调整所述访问节点的数据分布策略包括:
[0022]按照数据同时受访问的次数计算数据之间的关联性值;
[0023]对于关联性值达到设定关联阈值的两个数据,判断二者是否位于同一访问节点;
[0024]如果否,进行移动成本代价评价;
[0025]根据移动成本代价评价,将第一访问节点中的第一数据移动到第二访问节点,将所述第二访问节点中的第三数据移动到所述第一访问节点;其中,所述两个数据中:移动成本代价低的一者为所述第一数据,位于所述第一访问节点;移动成本代价高的一者为所述第二数据,位于所述第二访问节点;所述第三数据为移动前所述第二访问节点中移动成本代价小于所述第一数据,且与所述第二数据的关联性值不满足所述关联阈值的数据。
[0026]优选的,在上述数据存储方法中,所述关联性值的计算方法是:
[0027]Rxy = P1 *Rxy 1+---+P i *Rxy i+...+Pn*Rxy η ;
[0028]其中,1、n为正整数,且j小于η; Rxy表示数据χ与数据y的关联性值;Rxyi表示数据x和数据y之间的在时间段i内的关联次数;Pi表示第i个时间段的权重系数。
[0029 ]本发明还提供了一种数据存储系统,该数据存储系统包括:
[0030]分配模块,所述分配模块用于为多个数据均对应分配多个副本;
[0031]副本调整模块,所述副本调整模块用于根据所述数据的受访问热度调整所述数据的副本数量,受访问热度越大的数据,其副本容量越大。
[0032]优选的,在上述数据存储系统中,所述副本调整模块包括:
[0033]获取单元,所述获取单元用于获取所述数据对应的单位数据在多个时间段内的受访问频率;
[0034]设定单元,所述设定单元用于为每个时间段设定对应的权重系数;
[0035]计算单元,所述计算单元用于根据每个时间段对应的权重系数以及受访问频率计算所述数据的受访问热度;
[0036]调整单元,所述调整单元用于根据所述受访问热度调整所述数据的副本数量,所述受访问热度越大,所述副本容量越大,且所述副本容量小于上限阈值。
[0037]优选的,在上述数据存储系统中,还包括:数据分布调整模块,所述数据分布调整模块用于调整所述访问节点的数据分布策略,将关联性值大的两数据存储在同一访问节点。
[0038]通过上述描述可知,本发明提供的数据存储方法包括:为多个数据均对应分配多个副本;根据所述数据的受访问热度调整所述数据的副本数量,增大受访问热度高的数据的副本数量,减少受访问热度低的数据的副本数量。所述数据存储方法为每个数据设置多个副本数量,保证了数据存储的安全性,同时,每个数据副本的数量会根据数据的受访问热度进行调整,增大受访问热度高的数据的副本数量,减少受访问热度低的数据的副本数量,提高了存储空间的利用率以及访问效率。
【附图说明】
[0039]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0040]图1为本申请实施例提供的一种数据存储方法的流程示意图;
[0041 ]图2为本申请实施例提供一种调整所述数据的副本数量的方法流程示意图;
[0042]图3为本申请实施例提供的一种数据分布策略调整方法的流程示意图;
[0043]图4为本申请实施例提供的一种数据存储系统的结构示意图;
[0044]图5为本申请实施例提供的一种副本调整模块的结构示意图。
【具体实施方式】
[0045]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046]传统的数据存储方法只考虑数据安全的需求,而没有考虑数据访问需求。这样导致只是简单地设置数据副本及数据分布策略。如典型的如GFS(Google File System)中将所有数据的副本默认设置为3份,然后分布在不同的机架上来获得较好的数据安全性。但这种设置没有考虑数据访问需求,导
致所有的数据都有相同数量的副本,没有有效地利用存储资源,且数据访问效率低,导致访问性能不佳。
[0047]为解决上述问题,本申请实施例提供了一种数据存储方法,如图1所示,图1为本申请实施例提供的一种数据存储方法的流程示意图,该数据存储方法包括:
[0048]步骤S11:为多个数据均对应分配多个副本。
[0049]在该步骤中可以为所有数据分配相同个数的副本,即每个数据均分配N个副本,N为大于1的正整数。所有数据分配相同个数的副本,便于初始副本的分配,操作简单。
[0050]在其他实施方式中,也可以为所述数据设置任意多个副本,不同数据对应的副本个数可以相同,也可以不同。
[0051]步骤S12:根据所述数据的受访问热度调整所述数据的副本数量。
[0052]初始时候,每个数据具有设定的初始数量的副本。随着访问时间的进行,受访问热度越大的数据,其副本容量越大。通过增大受访问热度高的数据的副本数量,便于高使用频率数据的访问,提高数据访问效率。因此,本申请可以提高访问效率以及存储空间的利用率,进而可以提高数据访问时的访问性能。
[0053]具体的,所述根据所述数据的受访问热度调整所述数据的副本数量的方法可以如图2所示,图2为本申请实施例提供一种调整所述数据的副本数量的方法流程示意图,该方法包括:
[0054]步骤S21:获取所述数据对应的单位数据在多个时间段内的受访问频率。
[0055]多个时间段可以为一个统计阶段内多个连续的时间段,或是多个分离的时间段。
[0056]步骤S22:为每个时间段设定对应的权重系数。
[0057]步骤S23:根据每个时间段对应的权重系数以及受访问频率计算所述数据的受访问热度。
[0058]步骤S24:根据所述受访问热度调整所述数据的副本数量,所述受访问热度越大,所述副本容量越大。
[0059]当对所述数据的副本数量进行调整时,设定所述副本容量小于上限阈值。在增大高访问热度的数据副本数量的同时,避免其副本数量过量,保证存储空间的利用率。
[0000]在本申请实施例中,所述受访冋热度的计算方法是:
[0061 ] Hi =K1*F1+...+Κ j*F j+...+Kn*Fn
[0062]其中,j、n为正整数,且j小于ruHi表示单位数据i的所述受访问热度。Kj表示第j个时间段对应的权重系数。Fj表示第j个时间段对应的访问频率,单位为次/小时。
[0063]副本数量调整前,可以设定每份数据具有xO个副本,如可以设定每份数据具有两个副本。此后,按照单位数据来统计数据受访问热度,对于不同的时间段设置不同的权重系数,时间越久的访问对应的权重系数越小,反之越大。
[0064]随着访问的持续进行,根据数据的受访问热度不同,并结合存储空间的容量,设定几个副本阈值,不同的的副本阈值对应不同的副本数量。当一个数据的访问热度达到某个阈值后,那么其对应的副本数量设置为对应的数值。通过这种方式可以使得访问热度高的数据对应更多的数据副本,而访问热度低的数据对应较少的副本。该数据存储方法可以有效地利用存储资源,并能够保证良好的数据安全性和数据访问性能。
[0065]可选的,在所述数据存储方法中,还包括:
[0066]步骤SO:调整所述访问节点的数据分布策略,将关联性值大的两数据存储在同一访问节点。该步骤可以上述步骤S12同时进行,或是在述步骤S12之后进行,或是在步骤S12与步骤S11之间进行。
[0067]参考图3,图3为本申请实施例提供的一种数据分布策略调整方法的流程示意图,所述调整所述访问节点的数据分布策略包括:
[0068]步骤S31:按照数据同时受访问的次数计算数据之间的关联性值;
[0069]步骤S32:对于关联性值达到设定关联阈值的两个数据,判断二者是否位于同一访问节点。
[0070]步骤S33:如果否,进行移动成本代价评价。
[0071 ]步骤S34:根据移动成本代价评价,将第一访问节点中的第一数据移动到第二访问节点,将所述第二访问节点中的第三数据移动到所述第一访问节点。
[0072]其中,所述两个数据中:移动成本代价低的一者为所述第一数据,位于所述第一访问节点;移动成本代价高的一者为所述第二数据,位于所述第二访问节点。所述第三数据为移动前所述第二访问节点中移动成本代价小于所述第一数据,且与所述第二数据的关联性值不满足所述关联阈值的数据。可选的,设定第三数据为第二访问节点中与所述第二数据关联性值最低的数据。
[0073]所述关联性值的计算方法是:
[0074]Rxy = Pl*Rxy 1+..-+Pi*Rxyi+...+Pn*Rxyn
[0075]其中,1、n为正整数,且j小于ruRxy表示数据x与数据y的关联性值。Rxyi表示数据χ和数据y之间的在时间段i内的关联次数。Pi表示第i个时间段的权重系数。
[0076]数据分布策略调整前,按照数据进入存储系统的时间先后顺序进行存储。之后根据运行状态进行数据存储的调整。按照不同数据被同时访问的次数来计算其关联性值。对于不同的时间段设置不同的权重系数,时间段越久的访问对应的权重系数,反之则越大。
[0077]随着访问的持续进行,根据数据关联性值不同,并结合不同数据调整时所需付出的移动成本代,设置一个关联阈值。当两个数据的关联性值达到该阈值后,那么两个数据进行整合操作,即将两个数据放置在同一访问节点。
[0078]如设定关联阈值R0,第一数据xl与第二数据yl之间的关联性值达到该关联阈值R0,即大于或等于关联阈值R0,且第一数据xl的移动成本代价小于第二数据yl的移动成本代价。第一数据xl位于第一访问节点X,第二数据y2位于第二访问节点Y。在进行数据分布策略调整时,将第一数据xl移动到第二访问节点Y,并将第二访问节点Y中的第三数据y2移动到第一访问节点X中。其中,第三数据y2为与第二数据关联性值最低,且不满足所述关联阈值R0的数据。通过这种方式可以通过较低的移动成本代价,使得关联性质高的数据集中在一起,在进行数据访问时,便于更快地获得数据,减少不必要的磁盘操作,提升数据访问性會泛。
[0079]通过上述描述可知,本申请实施例所述数据存储方法中,根据数据受访问热度设置数据的副本数量,可以使得受访问热度高的数据对应更多的副本,而访问热度低的数据对应较少的副本,可以有效的利用存储空间资源,并能够保证良好的数据安全性以及数据访问性能。
[0080]同时,该数据存储方法根据数据之间的关联性值实现关联性高的数据聚集存储,使得关联性高的数据集中在同一访问节点中,可以在请求数据访问时更快的获得数据,提高访问效率,减少不必要的磁盘操作,提升数据访问性能。
[0081]可见,本申请实施例所述数据存储方法主要通过数据访问需求来优化数据存储。在保证数据安全的基础上,将数据访问需求作为指导数据副本数量、数据分布的重要策略。将被大频率访问的数据可以设置更多的副本,且根据数据访问时的时间、空间相关性,将经常访问的数据放置在一起。通过这样的策略,可以使得存储的大规模数据集可以良好地满足数据访问和数据使用的需求。具体实现方式如下:
[0082]根据数据受访问热度不同,并结合可用的存储容量,设置副本阈值。不同的副本阈值对应不同的副本数量。当一个数
据的受访问热度达到某个阈值后,那么其对应的副本数量设置为对应的数值。通过这种方式可以使得受访问热度高的数据对应更多的数据副本,而受访问热度低的数据对应更少的副本。该方法可以有效地利用存储资源,并能够保证良好的数据安全性和数据访问性能。
[0083]根据数据关联关系不同,并结合不同数据调整时所需付出的成本代价,设置关联阈值。当两个数据的关联关系达到该阈值后,那么两个数据进行整合操作,即将两个数据放置在一起。同时通过评价移动成本代价,从代价高的数据中移除一个关联性最低的数据,并将代价低的数据迀移到该位置。通过这种方式可以使得关联关系高的数据集中在一起,可以更快地获得数据,减少不必要的磁盘操作,提升数据访问性能。
[0084]基于上述存储方法,本申请实施例还提供了一种存储系统,如图4所示,图4为本申请实施例提供的一种数据存储系统的结构示意图,包括:分配模块41以及副本调整模块42。
[0085]所述分配模块41用于为多个数据均对应分配多个副本。所述副本调整模块42用于根据所述数据的受访问热度调整所述数据的副本数量,受访问热度越大的数据,其副本容量越大。所述副本调整模块42可以如图5所示。
[0086]参考图5,图5为本申请实施例提供的一种副本调整模块的结构示意图,包括:获取单元51,设定单元52,计算单元53以及调整单元54。
[0087]所述获取单元51用于获取所述数据对应的单位数据在多个时间段内的受访问频率。所述设定单元52用于为每个时间段设定对应的权重系数。所述计算单元53用于根据每个时间段对应的权重系数以及受访问频率计算所述数据的受访问热度。所述调整单元54用于根据所述受访问热度调整所述数据的副本数量,受访问热度越大的数据,其副本容量越大,且所述副本容量小于上限阈值。所述调整单元54与所述分配模块41连接。
[0088]副本调整模块的工作原理可以参考上述实施例中副本数量调整的方法描述。在此不再赘述。
[0089]可选的,所述数据存储系统还包括:数据分布调整模块,所述数据分布调整模块用于调整所述访问节点的数据分布策略,将关联性值大的两数据存储在同一访问节点。数据分布调整模块与所述分配模块41连接。
[0090]需要说明的是,本申请实施例素数存储系统实施例基于上述存储方法实施例,相同相似之处可以相互补充说明,在此不再赘述。
[0091]通过上述描述可知,所述数据存储系统将被大频率访问的数据设置更多的副本,且根据数据访问时的时间、空间相关性,将经常访问的数据放置在一起。通过这样的策略,可以使得存储的大规模数据集可以良好地满足数据访问和数据使用的需求。
[0092]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【主权项】
1.一种数据存储方法,其特征在于,包括: 为多个数据均对应分配多个副本; 根据所述数据的受访问热度调整所述数据的副本数量,受访问热度越大的数据,其副本容量越大。2.根据权利要求1所述的数据存储方法,其特征在于,所述为多个数据均对应分配多个副本包括: 为所有数据分配相同个数的副本。3.根据权利要求1所述的数据存储方法,其特征在于,所述根据所述数据的受访问热度调整所述数据的副本数量包括: 获取所述数据对应的单位数据在多个时间段内的受访问频率; 为每个时间段设定对应的权重系数; 根据每个时间段对应的权重系数以及受访问频率计算所述数据的受访问热度; 根据所述受访问热度调整所述数据的副本数量,所述受访问热度越大,所述副本容量越大,且所述副本容量小于上限阈值。4.根据权利要求3所述的数据存储方法,其特征在于,所述受访问热度的计算方法是: Hi=Kl*Fl+.._+Kj*Fj+.._+Kn*Fn; 其中,j、n为正整数,且j小于n;Hi表示单位数据i的所述受访问热度;Kj表示第j个时间段对应的权重系数,Fj表示第j个时间段对应的访问频率。5.根据权利要求1所述的数据存储方法,其特征在于,还包括:调整所述访问节点的数据分布策略,将关联性值大的两数据存储在同一访问节点。6.根据权利要求5所述的数据存储方法,其特征在于,所述调整所述访问节点的数据分布策略包括: 按照数据同时受访问的次数计算数据之间的关联性值; 对于关联性值达到设定关联阈值的两个数据,判断二者是否位于同一访问节点; 如果否,进行移动成本代价评价; 根据移动成本代价评价,将第一访问节点中的第一数据移动到第二访问节点,将所述第二访问节点中的第三数据移动到所述第一访问节点;其中,所述两个数据中:移动成本代价低的一者为所述第一数据,位于所述第一访问节点;移动成本代价高的一者为所述第二数据,位于所述第二访问节点;所述第三数据为移动前所述第二访问节点中移动成本代价小于所述第一数据,且与所述第二数据的关联性值不满足所述关联阈值的数据。7.根据权利要求6所述的数据存储方法,其特征在于,所述关联性值的计算方法是:Rxy = Pl 氺 Rxyl+***+Pi 氺 Rxyi+***+Pn 氺 Rxyn; 其中,1、n为正整数,且j小于n;Rxy表示数据X与数据y的关联性值;Rxyi表示数据X和数据y之间的在时间段i内的关联次数;Pi表示第i个时间段的权重系数。8.一种数据存储系统,其特征在于,包括: 分配模块,所述分配模块用于为多个数据均对应分配多个副本; 副本调整模块,所述副本调整模块用于根据所述数据的受访问热度调整所述数据的副本数量,受访问热度越大的数据,其副本容量越大。9.根据权利要求8所述的存储系统,其特征在于,所述副本调整模块包括: 获取单元,所述获取单元用于获取所述数据对应的单位数据在多个时间段内的受访问频率; 设定单元,所述设定单元用于为每个时间段设定对应的权重系数; 计算单元,所述计算单元用于根据每个时间段对应的权重系数以及受访问频率计算所述数据的受访问热度; 调整单元,所述调整单元用于根据所述受访问热度调整所述数据的副本数量,所述受访问热度越大,所述副本容量越大,且所述副本容量小于上限阈值。10.根据权利要求8所述的存储系统,其特征在于,还包括:数据分布调整模块,所述数据分布调整模块用于调整所述访问节点的数据分布策略,将关联性值大的两数据存储在同一访问节点。
【专利摘要】本发明公开了一种数据存储方及系统,该数据存储方法包括:为多个数据均对应分配多个副本;根据所述数据的受访问热度调整所述数据的副本数量,增大受访问热度高的数据的副本数量,减少受访问热度低的数据的副本数量。所述数据存储方法为每个数据设置多个副本数量,保证了数据存储的安全性,同时,每个数据副本的数量会根据数据的受访问热度进行调整,增大受访问热度高的数据的副本数量,减少受访问热度低的数据的副本数量,提高了存储空间的利用率以及访问效率。
【IPC分类】G06F17/30
【公开号】CN105488180
【申请号】CN201510862690
【发明人】顾涛, 沈奕, 信怀义, 贺媛, 安卫杰, 邬大卫, 渠文龙
【申请人】中国建设银行股份有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日