一种分布式存储系统纠删矩阵缓存的老化方法及设备技术方案

技术编号:27974460 阅读:32 留言:0更新日期:2021-04-06 14:08
本发明专利技术公开了一种分布式存储系统纠删矩阵缓存的老化方法,包括:获取数据存储时的原始数据份数和冗余数据份数;根据原始数据份数、冗余数据份数和丢失数据块份数计算解码矩阵数;设定缓存队列缓存解码矩阵,并记录解码矩阵对应的丢失数据份数和解码矩阵的访问时间;计算数据解码所需矩阵数,比较解码矩阵数与缓存队列的最大缓存记录数,确定解码矩阵是否使用缓存;生成约束条件,根据约束条件清除解码矩阵,以提高解码矩阵的查找效率。本发明专利技术还提供了一种可读介质和电子设备,用以实现分布式存储系统纠删矩阵缓存的老化方法的步骤。提前判断缓存空间是否充足、根据缓存约束条件淘汰缓存,减少缓存的数量,提升缓存查找的效率,进而提升纠删矩阵计算的效率。

【技术实现步骤摘要】
一种分布式存储系统纠删矩阵缓存的老化方法及设备
本专利技术涉及数据存储领域,特别涉及一种分布式存储系统纠删矩阵缓存的老化方法。
技术介绍
分布式存储系统存储数据时都会用到纠删算法来对数据进行冗余计算后保存到硬盘上,这样既可以保证整个系统的利用率又能保证数据的可靠性,不会因为个别盘损坏导致数据丢失。一种K+M的纠删表示一份原始数据存储时,会先平均分成K份,然后根据纠删算法生成M份相同大小的冗余数据,再将这K+M份相同大小的数据分别存储到K+M块硬盘上。这K+M份数据只要有K份数据是正确的,就可以还原出原始的数据来。这也同时意味着最多可以丢失M份数据而不会真正造成数据丢失。纠删算法计算时需要用到纠删矩阵,纠删矩阵可根据不同的方式生成不同的矩阵。为了加速纠删计算的过程,可以将生成的纠删矩阵提前缓存,每次纠删计算时直接使用提前缓存的矩阵,不用每次都重新生成,这样可提高计算的效率。在纠删编码时,一种K+M的组合对应着一个纠删编码矩阵,故生成该矩阵后直接缓存,数据编码时直接读取即可,也不需要老化;但纠删解码时一种K+M组合会对应多个解码矩阵。比如丢失1份数据,可能是K+M份数据中的任意一种,那就会对应K+M种矩阵。一般缓存都会定义一个最大记录个数,超过个数了一般采用先进先出的方式淘汰最早缓存的记录。这种方式能满足常用的绝大部分场景,但也存在着一定的不足:1、只在缓存满时才会淘汰记录,这样会有一些旧的解码矩阵存在,每次查找时会增加查找次数;2、如果K+M比较大,以至于解码矩阵数量超过了缓存最大记录,会导致缓存失效,反而降低效率。
技术实现思路
本专利技术提供了一种分布式存储系统纠删矩阵缓存的老化方法,提前计算解码矩阵数量,预判缓存队列内存是否充足,如果超过最大缓存条数,则不再缓存,直接生成解码矩阵后进行解码,减少对系统内存资源的占用;根据缓存约束条件清除解码矩阵,在解码时重新缓存新记录,并且设定门限时间,实时监控缓存队列,清除不符合门限的解码矩阵。本专利技术的技术方案为:一种分布式存储系统纠删矩阵缓存的老化方法,包括:获取数据存储时的原始数据份数和冗余数据份数;根据原始数据份数、冗余数据份数和数据块份数计算解码矩阵数;设定缓存队列缓存解码矩阵,并记录解码矩阵对应的丢失数据份数和解码矩阵的访问时间;计算数据解码所需矩阵数,比较解码矩阵数与缓存队列的最大缓存记录数,确定解码矩阵是否使用缓存;生成约束条件,根据约束条件清除解码矩阵,以提高解码矩阵的查找效率。优选的是,确定解码矩阵是否使用缓存,包括如下步骤:根据原始数据份数和冗余数据份数计算最大解码矩阵数;并根据最大解码矩阵数定义最大缓存记录数;比较解码矩阵数与最大缓存记录数;若解码矩阵数大于最大缓存记录数,不使用缓存队列,直接生成解码矩阵并进行解码;若解码矩阵数小于最大缓存记录数,使用缓存队列进行解码。优选的是,约束条件优化缓存队列,包括如下步骤:获取解码矩阵的上一次访问时间,并将其与时间阈值作比较;若上一次访问时间超过时间阈值,将缓存队列缓存的解码矩阵清空;若上一次访问时间小于时间阈值,访问并查找缓存队列寻找对应的解码矩阵;若在缓存队列中查找到解码矩阵,利用解码矩阵进行解码,并更新访问时间;若在缓存队列中未查找到解码矩阵,在缓存队里中生成解码矩阵,并记录访问时间。优选的是,一种分布式存储系统纠删矩阵缓存的老化方法,还包括:设定门限时间,并将缓存队列中访问时间超过门限时间的解码矩阵清除;实时监测缓存队列中的缓存总量,当缓存总量大于所述最大缓存记录数时,将缓存队列中最近访问时间超过一定门限的队列清空。优选的是,最大解码矩阵数计算公式为:F=C(K,M)+C(K,M-1)+C(K,M-2)+······+C(K,1);其中,F表示最大缓存矩阵数,K表示原始数据份数,M表示冗余数据份数,C表示组合算法,mn为常数。优选的是,解码矩阵数计算公式为:P=C(K+M,N);其中,P表示丢失数据块的解码矩阵数,K表示原始数据份数,M表示冗余数据份数,N表示丢失的数据份数。优选的是,访问的时间包括解码矩阵的生成时间和/或最近被访问时间。优选的是,缓存约束条件包括最大缓存矩阵数和单个解码矩阵的被访问时限。一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任一项方法的步骤。一种电子设备,包括存储器、处理器,处理器用于执行存储器中存储的计算机管理类程序时实现上述任一项方法的步骤。本专利技术的有益效果是:设定缓存队列,用以缓存解码矩阵,解码时直接使用提前缓存的对应解码矩阵,不用每次都重新生成,通过提前计算解码矩阵数量,判断缓存队列空间是否充足,当缓存空间不足时,不进行缓存,以免刚缓存的矩阵就被后面新生成的矩阵淘汰,起不到缓存的作用,减少对内存资源的占用,提高解码效率。根据缓存队列约束条件清除解码矩阵,使得缓存队列中的矩阵尽可能的保证是最近使用的或者正在使用的矩阵,提高查找的效率。设定门限时间,对缓存队列中的解码矩阵进行筛选,淘汰掉不符合门限的解码矩阵,并实时监控缓存队列总量,使得缓存队列的内存空间及时的释放,保证充足内存。附图说明图1为本专利技术一个实施例中分布式数据存储解码过程示意图。图2为本专利技术一种分布式存储系统纠删矩阵缓存的老化方法的流程图。具体实施方式以下由特定的具体实施例说明本专利技术的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本专利技术的其他优点及功效,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。需要说明的是,在本专利技术的描述中,术语“中”、“上”、“下”、“横”、“内”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,还需要说明的是,在本专利技术的描述中,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本专利技术中的具体含义。如图1所示为本专利技术一个实施例中分布式数据存储解码过程示意图,具体包括如下步骤:S100数据存储:存储数据时将原始数据平分成多份,并生成多份冗余数据,将所述原始数据和所述冗余数据分别存储到多块硬盘上。一份原始数据存储时,会先平均分成K份,然本文档来自技高网
...

【技术保护点】
1.一种分布式存储系统纠删矩阵缓存的老化方法,包括:/n获取数据存储时的原始数据份数和冗余数据份数;/n根据所述原始数据份数、所述冗余数据份数和丢失数据块份数计算解码矩阵数;/n设定缓存队列缓存所述解码矩阵,并记录所述解码矩阵对应的丢失数据份数和所述解码矩阵的访问时间;/n计算数据解码所需矩阵数,比较所述解码矩阵数与所述缓存队列的最大缓存记录数,确定所述解码矩阵是否使用缓存;/n生成约束条件,根据所述约束条件清除解码矩阵,以提高解码矩阵的查找效率。/n

【技术特征摘要】
1.一种分布式存储系统纠删矩阵缓存的老化方法,包括:
获取数据存储时的原始数据份数和冗余数据份数;
根据所述原始数据份数、所述冗余数据份数和丢失数据块份数计算解码矩阵数;
设定缓存队列缓存所述解码矩阵,并记录所述解码矩阵对应的丢失数据份数和所述解码矩阵的访问时间;
计算数据解码所需矩阵数,比较所述解码矩阵数与所述缓存队列的最大缓存记录数,确定所述解码矩阵是否使用缓存;
生成约束条件,根据所述约束条件清除解码矩阵,以提高解码矩阵的查找效率。


2.根据权利要求1所述的分布式存储系统纠删矩阵缓存的老化方法,其特征在于,所述确定解码矩阵是否使用缓存,包括如下步骤:
根据所述原始数据份数和所述冗余数据份数计算最大解码矩阵数;
并根据所述最大解码矩阵数定义最大缓存记录数;
比较所述解码矩阵数与所述最大缓存记录数;
若所述解码矩阵数大于所述最大缓存记录数,不使用缓存队列,直接生成解码矩阵并进行解码;
若所述解码矩阵数小于所述最大缓存记录数,使用缓存队列进行解码。


3.根据权利要求1或2所述的分布式存储系统纠删矩阵缓存的老化方法,其特征在于,根据所述约束条件清除解码矩阵,包括如下步骤:
获取解码矩阵的上一次访问时间,并将其与时间阈值作比较;
若所述上一次访问时间超过时间阈值,将所述缓存队列缓存的解码矩阵清空;
若所述上一次访问时间小于时间阈值,访问并查找所述缓存队列寻找对应的解码矩阵;
若在所述缓存队列中查找到解码矩阵,利用所述解码矩阵进行解码,并更新访问时间;
若在所述缓存队列中未查找到解码矩阵,在缓存队里中生成所述解码矩阵,并记录访问时间。
<...

【专利技术属性】
技术研发人员:甄天桥孟祥瑞
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1