基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法

文档序号:9200387阅读:387来源:国知局
基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法
【技术领域】
[0001] 本发明属于计算机存储技术领域,涉及一种基于禁忌搜索的分片复制码 (Fractional Repetition Code)最优冗余率编码矩阵构造方法,解决现有分片复制码编码 矩阵构造方法构造的编码矩阵存储效率较低、构造适用参数范围较小的困难,并提高构造 速度,可以用于分布式存储系统的冗余构造。
【背景技术】
[0002] 计算机存储系统冗余技术是利用存储系统的并联存储模型来提高系统数据可靠 性和可用性的技术。传统的冗余技术一般使用两种方法:数据备份和纠删码技术。采用数 据备份的存储系统修复丢失数据速度较快但需使用大量冗余存储空间,造成了存储资源的 浪费。而采用纠删码的存储系统占用冗余存储空间较小但恢复数据时需读取较多数据且需 进行计算,不仅加速了存储设备的损耗且对存储系统有了计算功能上的要求。分片复制码 能够很好的克服这些问题,适用于大型分布式存储系统、商用云存储系统以及对数据可靠 性或可用性要求较高的各种类型存储系统。
[0003] 分片复制码技术(FR编码)是由Rouayheb和Ramchandran提出的一种基于特定组 合结构的纠删编码。该编码兼有数据备份和传统纠删码的优点,修复数据时读取数据量最 低且不需要计算,同时具有比传统纠删码更大的冗余率。由于FR编码优良的性能,大量的 研宄者投入到了 FR编码的研宄中。FR的冗余率主要依靠其特定组合结构决定,现有得出这 种特定组合结构的方法主要为依靠组合数学特定结构的构造法和基于布尔矩阵算法的构 造法。由于组合数学特定结构对参数有较严要求,因此大部分参数下的FR编码无法由组合 数学特定结构得出。布尔矩阵算法虽能给出所有参数下的FR编码矩阵,但其给出的编码矩 阵冗余率较低,实用性较低。
[0004] 如何在任意参数下给出FR编码的编码矩阵同时保证其冗余率最优是研宄的重点 和难点。由于每组参数下的编码矩阵各不相同,因此选取的构造方法对结果有很大影响;FR 编码冗余率的本质是编码矩阵中1的分布对于参数是否均匀,这是可以看作矩阵的一个整 体属性,因此任何一个1的位置改变都有可能改变编码矩阵的冗余率。

【发明内容】

[0005] 本发明的目的是克服现有技术存在的上述问题,提出一种基于禁忌搜索的分片复 制码最优冗余率编码矩阵构造方法。由于现有的方法不能在任意参数下给出最优冗余率的 FR编码,基于禁忌搜索的构造方法能够很好的克服这些问题,可给出任意参数下的最优冗 余率FR编码。
[0006] 本发明提供的基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法,该方法 具体包含以下步骤: 第1、生成搜索起始编码矩阵 在分布式存储系统中,将一个文件分为若干数据块后存储在《个节点上,每个节点存 储?/个不同的数据块,任意连接々个节点能够重构出原文件,将满足这一性质的存储系统记 % (n,k,d)DSS·, 在(?夂FR编码CV (?匕4 的定义如下: ?尺编码0&匕4/^定义为集合卜/%^"%以,其中匕为[/7]二汉名"' ~的 子集且/Ki/=^满足中的任一元素出现在冲的P个集合里;其中/?即为&先必 中的/?,表示参与文件存储的存储节点数量,〇为&先必Λ?中的A表示每个存储节点上 存储的数据块数量,〃表示文件被分割成的数据块的总数量,P表示每个数据包的存储次 数;集合Ki表示编号为i的存储节点上需存入的数据包编号;且参数/7, 〃,A P满足: nd = θρ (1) 算法需根据存储文件和分布式存储系统的具体需要,输入参数/?,4 P,使用初始矩 阵生成算法生成与上述定义相对应的每行权重为A每列权重为P的〃布尔矩阵,此布 尔矩阵即搜索的起始编码矩阵; 本发明使用布尔矩阵4^描述,则矩阵的各行代表存储节点,各列代表数据块,从而当 FR编码的节点i需要存储数据块;则矩阵A中i行j列的位置为1,否则为O ; 本发明首先根据存储文件和分布式存储系统的具体需要,输入参与文件存储的存储节 点数/?,每个存储节点存储文件块数?/,文件分割数据块数〃,每个数据块的复制深度P。根 据以上参数,算法使用初始矩阵生成算法生成每行中1数量皆为且每列中1数量皆为P 初始布尔矩阵; 即初始矩阵为行权重序列为兄列权重序列为却勺/7X 〃布尔矩阵,7?与5定义如下:
(2) 行权重序列A表示布尔矩阵每行中1的数量,列权重序列5表示布尔矩阵中每列中1 的数量。
[0007] 第2、禁忌搜索初始化 在第1步获得搜索的起始编码矩阵后,初始化搜索所使用的搜索节点;首先将起始 编码矩阵作为起始搜索节点的编码矩阵屬其次计算起始搜索节点的C4圈计数矩阵 ifeiriz;同时以所有元素之和作为此矩阵的C4圈数并以此初始化搜索进程的 当前最优C4圈数和搜索节点C4圈数再次输入参数对十算此矩阵的冗余 率 <(幻并以此初始化当前最优冗余率汉人同时计算冗余率上界最后输入禁 忌步长最大值·5???/7_?^Γ,同时将当前节点的禁忌步长·5???/7设为·5???/7_?^Γ,并将搜索进程最 优矩阵设为起始搜索节点的编码矩阵见
[0008] 第3、生成邻域节点 在第2步得到初始化后的起始搜索节点的基础上,以起始搜索节点作为当前节点开始 搜索;在当前节点上执行固定行重列重矩阵交换操作逐一生成邻域节点并计算邻域节点编 码矩阵的C4圈数;若生成的邻域节点编码矩阵的C4圈数少于当前节点编码矩阵的C4圈 数,则此邻域节点为较优节点,执行第4步;若生成的邻域节点编码矩阵的C4圈数等于当前 节点编码矩阵的C4圈数,则此邻域节点为同等节点,执行第5步;若生成的邻域节点编码矩 阵的C4圈数大于当前节点编码矩阵的C4圈数则此邻域节点为较差节点,直接放弃此节点 继续执行第3步。
[0009] 计算编码矩阵C4圈数,等价于计算编码矩阵的&泛人当编码矩阵中C4圈数较少 到一定程度,其&(方即会上升。
[0010] 本发明通过以下定理,证明了&(方与间的充分关系,具体定理及证明过程 如下: 引理3.1.设r为一固定行重列重布尔矩阵加勺&(方,J为加勺&(幻时,r与J 存在以下关系:
证明:由&(幻定义可知,々中任意两行中相同列的1的个数最多为及/-Z。不失一般 性,令左=J,当出现最差情况,即3行不存在同一列的3个位置皆为1,又因任意两行间相同 列的1数最多为r,则矩阵艰I J与z有以下关系:以此类推,得证。
[0011] 引理3. 1实际通过&(方给出了 值的一个下界,显然,若一个矩阵的&(方的 值增大,无论k为何值,&(幻的下界也随之增大。则由引理3.1,与&(幻J存在以 下关系: 定理3.1.设r为一固定行重列重布尔矩阵^ 方,5为加勺时,若S不 为最大时,必存在正整数C和0,对任意与货于重列重相同的布尔矩阵辟卩任意正整数f, 当f彡0且r彡",矩阵/?勺冬⑵与&⑷有:
其中f <及/-7。
[0012] 证明:由引理3. 1可知,当r增大时,J的下界也随之增大,当矩阵F的下界大于 J时,矩阵F的&ft;也随之增大。
[0013] 第4、处理较优节点 计算较优节点编码矩阵的&汉人判断是否达到FR码存储能力上界码 的存储能力上界的定义如下/
若&(幻等于则结束算法返回较优节点;否则判断较优节点C4圈数和是否 优于搜索进程的当前最优C4圈数和人若是则以较优节点C4圈数和更新当前最 优C4圈数和& ft人记录较优节点的C4圈数和& ft人更新较优节点的C4圈计数矩阵,将搜 索进程最优矩阵φ?_#更新为较优节点的编码矩阵私将较优节点的禁忌步长设为初始值, 以较优节点为当前节点执行第3步。
[0014] 第5、处理同等节点 若生成此同等节点的当前节点的禁忌步长step大于1,则将同等节点的禁忌步长设为 step-Ι,记录同等节点的C4圈数和4(?),更新同等节点C4圈计数矩阵,以同等节点为当前 节点执行第4步;否则直接放弃此同等节点执行第3步。
[0015] 第6、输出结果 算法停止后返回搜索进程最优矩阵φ?_#。
[0016] 本发明第2步所述的禁忌搜索初始化的具体方法包括: 第2. 1、计算起始编码矩阵C4圈数与C4圈计数矩阵 在第1步中获得起始编码矩阵的基础上,本发明采用计算编码矩阵C4圈数的方法作为 禁忌搜索的启发式规则;C4
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1