主权项 |
一种基于带宽比较的磁盘阵列扩容时校验更新方式选择方法,其特征在于包括以下步骤:第一步:设计建立存储结构,并进行相应的初始化;存储结构如下:A‑‑一个扩容单元中的校验块集合,B‑‑一个扩容单元中迁移的数据块集合,C‑‑使用“读‑改‑写”方式更新校验块所需读取的额外数据块集合,D‑‑使用“读‑重构‑写”方式更新校验块所需读取的额外数据块集合,E‑‑扩容前产生校验块P的数据块集合,F‑‑扩容后产生校验块P’的数据块集合,扩容前的校验块P变为扩容后相应的校验块P’,m‑‑使用“读‑改‑写”方式更新一个扩容单元中的检验数据所需读取的额外数据块个数,n‑‑使用“读‑重构‑写”方式更新一个扩容单元中的校验数据所需读取的额外数据块个数;初始化集合A、B、C、D、E、F为空集<img file="FDA0000867622940000011.GIF" wi="42" he="54" />;第二步:计算任意一个扩容场景的一个扩容单元,令A包含一个扩容单元中的所有校验块,B包含一个扩容单元中所有迁移的数据块,m=|A|,|A|表示求集合A中元素的个数,n=0;第三步:对于集合A中的每一个元素P’计算扩容前产生相应的校验数据P的数据块集合E和扩容后产生校验数据P’的数据块集合F,计算集合G=(E∪F)‑(E∩F),符号∪表示求集合的并集,∩表示求集合的交集,‑表示求集合的差集;更新集合A=A‑{P’};第四步:更新集合C、D和变量m,检查A是否为空集,如果不是,则跳转到第三步,否则执行第五步;具体的更新规则:令C=C∪G,即C等于C与G的并集;令D=D∪F;如果G为空集,则令m=m‑1;令E、F为空集;第五步:根据C=C‑B,D=D‑B,m=m+|C|,n=|D|,计算集合C、D和变量m,n;比较m、n的值的大小,如果m小于n,则选择“读‑改‑写”方式来更新校验数据,否则选择“读‑重构‑写”方式来更新校验数据。 |