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

文档序号:9200387阅读:来源:国知局
坐标为参数d的取值,纵坐标为冗余率&汉人
[0067] 图15为在P =4和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
[0068] 图16为在/?=萬P =4和左=4青形下,〇取所有合法值的两种初始解,优化解和上 界&(?*之间的对比。A为使用Srijan Anil的编码矩阵生成算法作为起始矩阵生成算法 得出的结果,B为使用Toni Ernvail的编码矩阵生成算法作为起始矩阵生成算法得出的结 果。A和B两图中横坐标为参数d的取值,纵坐标为冗余率&汉人
【主权项】
1. 一种基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法,其特征在于该方法 具体包含以下步骤: 第1、搜索起始编码矩阵的生成 在分布式存储系统中,将一个文件分为若干数据块后存储在《个节点上,每个节点存 储#不同的数据块,连接任意^个节点可重构出原文件,满足以上性质的分布式存储系统 爾、% (n,k,d)DSS-, 在&夂必似沖,FR编码〇L4 的定义如下: FR编码W定义为集合匕,…,以,其中为集合[/?]二汉名…, ~的子集且/匕/=^,满足集合/?_7中的任一元素出现在冲的P个集合里;其中/?即为 &夂必iASS中的/?,表示参与文件存储的存储节点数量,〇为&先必iASS中的A表示每个 存储节点上存储的数据块数量,〃表示文件被分割成的数据块的总数量,P表示每个数据 包的存储次数;集合^表示编号为i的存储节点上需存入的数据包编号;且参数/?,〃,A 0满足: nd=Op (l) 算法需根据存储文件和分布式存储系统的具体需要,输入参数/?,4 〃,p,使用初始矩 阵生成算法生成与上述定义相对应的每行权重为么每列权重为p的〃布尔矩阵,此布 尔矩阵即搜索的起始编码矩阵; 使用布尔矩阵4^描述,则矩阵的各行代表存储节点,各列代表数据块,从而当FR编 码的节点i需要存储数据块J;则矩阵A中i行j列的位置为1,否则为0 ; 首先根据存储文件和分布式存储系统的具体需要,输入参与文件存储的存储节点数/?, 每个存储节点存储文件块数4文件分割数据块数〃,每个数据块的复制深度根据以上 参数,算法使用初始矩阵生成算法生成每行中1数量皆为J且每列中1数量皆为P初始布 尔矩阵; 即初始矩阵为行权重序列为兄列权重序列为50勺布尔矩阵,7?与S定又如下:行权重序列A表示布尔矩阵每行中1的数量,列权重序列5表示布尔矩阵中每列中1 的数量; 第2、禁忌搜索初始化 在第1步获得搜索的起始编码矩阵后,初始化搜索所使用的搜索节点;首先将起始 编码矩阵作为起始搜索节点的编码矩阵屬其次计算起始搜索节点的C4圈计数矩阵 #atriz;同时以6¥_抱^办中所有元素之和作为此矩阵的C4圈数并以此初始化搜索进程的 当前最优C4圈数办搜索节点C4圈数再次输入参数对十算此矩阵的冗余 率并以此初始化当前最优冗余率办(_&汉人同时计算冗余率上界最后输入禁 忌步长最大值同时将当前节点的禁忌步长ste/?设为ste/Lffiar,并将搜索进程最 优矩阵办Z_i/设为起始搜索节点的编码矩阵屬 第3、生成邻域节点 在第2步得到初始化后的起始搜索节点的基础上,以起始搜索节点作为当前节点开始 搜索;在当前节点上执行固定行重列重矩阵交换操作逐一生成邻域节点并计算邻域节点编 码矩阵的C4圈数;若生成的邻域节点编码矩阵的C4圈数少于当前节点编码矩阵的C4圈 数,则此邻域节点为较优节点,执行第4步;若生成的邻域节点编码矩阵的C4圈数等于当前 节点编码矩阵的C4圈数,则此邻域节点为同等节点,执行第5步;若生成的邻域节点编码矩 阵的C4圈数大于当前节点编码矩阵的C4圈数则此邻域节点为较差节点,直接放弃此节点 继续执行第3步; 第4、处理较优节点 计算较优节点编码矩阵的&汉人判断是否达到FR码存储能力上界码 的存储能力上界的定义如下/若等于则结束算法返回较优节点;否则判断较优节点C4圈数和是否 优于搜索进程的当前最优C4圈数和<ft人若是则以较优节点C4圈数和 更新当前最 优C4圈数和&ft人记录较优节点的C4圈数和&ft人更新较优节点的C4圈计数矩阵,将搜 索进程最优矩阵办(_#更新为较优节点的编码矩阵私将较优节点的禁忌步长设为初始值, 以较优节点为当前节点执行第3步; 第5、处理同等节点 若生成此同等节点的当前节点的禁忌步长step大于1,则将同等节点的禁忌步长设为step-1,记录同等节点的C4圈数和/(^汉人更新同等节点C4圈计数矩阵,以同等节点为当前 节点执行第4步;否则直接放弃此同等节点执行第3步; 第6、输出结果 算法停止后返回搜索进程最优矩阵办?L#。2.根据权利要求1所述的方法,其特征在于第2步禁忌搜索初始化的具体方法包括: 第2. 1、计算起始编码矩阵C4圈数与C4圈计数矩阵 在第1步中获得起始编码矩阵的基础上,采用计算编码矩阵C4圈数的方法作为禁忌搜 索的启发式规则;C4圈的定义如下: C4圈为图论概念,在布尔矩阵中表现为2阶子方阵:C4圈数即为此2阶子方阵在编码矩阵中的数量; 在计算编码矩阵C4圈数寸,使用C4圈计数矩阵降低生成邻域节点 时的C4圈数计算量;通过布尔矩阵中的一行看作二进制数,利用二进制数间的并来计算两 行之间的C4圈数,具体计算公式如下:其中,£74 _ .fetrijr#为i行和j行之间的C4圈数,%7为编码矩阵納i行和j行之 间的并的值;算法遍历起始编码矩阵滅勺行中所有两行组合,利用上述公式(6)计算C4 圈数并存入W圈计数矩阵COfetriAOi圈计数矩阵COfetrijr中元素即表 示i行和J行之间的C4圈数;C4圈计数矩阵d#Wri冲所有元素之和即为C4圈数 Num\ 第2. 2、计算冗余率&ft) FR编码的编码矩阵滅勺冗余率的定义如下:其中/"Wi,…,》人匕为编码矩阵納第i行; 根据公式(7)对的定义,算法遍历起始编码矩阵/?行中的所有对于组合,并计算 每个对于组合的并的权值,所有对于组合并的权值中的最小值即为编码矩阵冗余率的 值。3.根据权利要求1所述的方法,其特征在于第3步生成邻域节点的方法包括: 第3. 1、基于固定行重列重矩阵交换操作生成邻域节点 使用当前节点的布尔矩阵,通过固定行重列重矩阵交换操作生成邻域节点;固定行重 列重矩阵交换操作的定义如下: 存在如下两种2阶子方阵之一,经过这种交换,能够将这两种子矩阵相互转换,称为交换操作; 本步中将逐一生成当前节点的所有邻域节点;首先遍历当前解矩阵行中的所有两行 组合i,j在得到的每个i行和J行中遍历所有2列组合r,人即得到了矩阵_所有2X2 子矩阵:判断编码矩阵中是否存在可执行交换操作的子矩阵,若是则执行交换操作即生成一邻 域节点,否则继续判断下一个子矩阵; 第3. 2、计算邻域节点C4圈数 使用C4圈计数矩阵的方法简化计算领域节点C4圈数;使用第2步中生成的C4圈计数 矩阵计算邻域节点C4圈数;重新计算生成此邻域节点的当前节点C4圈计数矩 阵中i行和j行相关的元素,但不计算,其中i和j为生成此邻域 节点使用的2X2子矩阵中的2行。
【专利摘要】一种基于禁忌搜索的分片复制码最优冗余率编码矩阵构造方法。包含以下步骤:使用初始编码生成算法生成搜索起始编码矩阵;输入参数初始化搜索进程,采用C4圈数量作为启发式准则,利用固定行重列重矩阵交换操作产生邻域编码矩阵;通过禁忌搜索策略迭代搜索得到最优编码矩阵。本发明首先针对现有分片复制码编码矩阵构造方法只限于有限参数的情况,提出基于禁忌搜索的编码矩阵搜索方法,可在任意合法参数下给出分片复制码的编码矩阵;其次本发明针对现有构造方法构造的编码矩阵存储效率较低的问题,提出了基于C4圈计数的启发式规则,使得本方法的结果达到理论最优;最后本发明提出C4圈计数矩阵计算法,简化算法核心运算过程,极大加快搜索速度。
【IPC分类】G06F17/30
【公开号】CN104915370
【申请号】CN201510162479
【发明人】郭星, 徐光平, 张桦, 薛彦兵, 高赞, 徐珂琼
【申请人】天津理工大学
【公开日】2015年9月16日
【申请日】2015年4月8日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1