![7258db012665067089088dddd5cbc7ad.png](https://i-blog.csdnimg.cn/blog_migrate/f06be3a067ca464d16f2b1cb77719145.jpeg)
今天码哥给大家带来一种数据备份与修复的技术——里德所罗门编码。
里德所罗门编码可是应用场景很多,例如我们耳熟能详的RAID(磁盘阵列),又例如在UDP传输中降低丢包导致的数据缺失的情况等等。
什么是里德所罗门编码
这里,先要介绍一种纠错方法——极大距离可分法(MDS)。这是一种很常见的纠错方法,它将原始数据分成等长的N份,并根据这N份数据生成M个冗余的校验数据。此时,M+N块数据中任意M块数据损失,也可以通过剩余N块数据经过计算来恢复原始数据。
里德所罗门纠错算法就是经典的MDS算法。
里德所罗门编码的理论基础
- 范德蒙矩阵
![3d01b023dc8a344df72541f786cc3fee.png](https://i-blog.csdnimg.cn/blog_migrate/c8e17e85a8d5434f4556c882f0d0bd0e.jpeg)
- 有限域算法
- 伽罗华域
这里我们那先不过多解释,大家先对矩阵型形式混个脸熟,