new essay: reed-solomon-coding.md
This commit is contained in:
parent
a769b5712d
commit
caea3a4377
23
content/essays/reed-solomon-coding.md
Normal file
23
content/essays/reed-solomon-coding.md
Normal file
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
title: "Reed Solomon"
|
||||
date: 2022-11-08T10:10:26+08:00
|
||||
tags: []
|
||||
categories: []
|
||||
weight: 50
|
||||
show_comments: true
|
||||
draft: false
|
||||
---
|
||||
|
||||
Reed-Solomon 直译大概是“里德-所罗门”,它利用多项式插值拟合的思想,将数据分为 `n = t + k` 份,那么任意最多 k 份数据丢失,依然能够还原出原始数据。
|
||||
|
||||
<!--more-->
|
||||
|
||||
首先多项式拟合的思想是,对于任意 t 个点,存在唯一的插值 t 项(最高次幂为 t-1)多项式,使得函数图像经过所有这 t 个点。更多特点可以看[维基百科](https://zh.wikipedia.org/wiki/%E5%A4%9A%E9%A1%B9%E5%BC%8F%E6%8F%92%E5%80%BC)
|
||||
|
||||
那么我们将数据分为 t 份存储,将存储媒介随意标号,比如 1 号磁盘、2 号磁盘……,将这些标号作为横坐标,每个磁盘中存的数据作为纵坐标,可以得到坐标系中的 t 个点。对这 t 个点进行插值,得到一个唯一的函数图像,然后再取 k 个不同的点,将纵坐标存储为冗余数据。
|
||||
|
||||
假设这 n 块磁盘有不多于 k 份丢失,那么可以从剩下的至少 t 份数据插值得到与原来相同的唯一函数,只需要取原磁盘标号处的纵坐标,就可以还原出原磁盘中的 t 份数据。
|
||||
|
||||
## 参考
|
||||
|
||||
- [The essence of Reed-Solomon coding](https://mazzo.li/posts/reed-solomon.html)
|
Loading…
Reference in a new issue