到此为止, 就是EC算法的核心思想了. 接下来, 我们再深入1点, 从另外1个角度来解释下为什么要选择这样1组系数.
现实中使用的[RAID-5]和[RAID-6]都是 EC 算法的子集....EC的几何解释
上面介绍了如何选择 EC 生成校验块(编码过程)的系数, 我们隐约可以感觉到它的系数选择可能有某种内涵, 接下来我们回到最初的问题, 思索下为什么要使用这样1组系数....如果要用描点方式来为更多的数据块生成冗余数据, 我们就需要有更多系数的方程, 也就是使用高次的曲线....如果有k个数据块, 我们把k个数据作为系数, 来定义1条关于x的高次曲线, 再通过记录曲线上的点的坐标来实现冗余:
例如要存储4个数据1, 2, 3, 4, 则曲线方程是: y = 1 + 2x +...和所有m个校验块 y₁, y₂ ....
恢复过程:
平面上m个点可以唯一确定1条 m-1 次幂的曲线(或通过m个点跟k-m个已知系数确定一条k-1次幂的曲线).