项目简介
本项目是基于伽罗瓦域GF256的纠删码实验系统,可实现纠删码编码、解码和恢复数据的功能,适用于大数据存储场景,即便部分数据丢失,也能利用纠删码技术恢复原始数据。
项目的主要特性和功能
- 纠删码编码:把原始文件划分成多个数据块,添加冗余数据块进行编码,保证丢失部分数据块时仍可恢复原始数据。
- 纠删码解码:从编码后的数据块中恢复原始数据。
- 数据恢复:借助解码器,即使有部分数据块丢失,也能恢复原始数据。
- 冗余度可调:通过调整编码参数,控制冗余度,满足不同场景的数据存储需求。
安装使用步骤
环境准备
确保操作系统为Ubuntu18.04,安装GNU Make 4.1、cmake version 3.10.2。
获取项目源码
使用git复制项目到本地。
编译
在源码目录下运行make
命令,编译生成可执行文件。
运行
- 编码:使用
./encode
命令,指定原始文件路径、数据块大小(N)和冗余度(K),进行编码操作。 - 解码:使用
./decode
命令,指定数据块(shards)的目录路径,进行解码操作。 - 随机删除数据块:使用
./rmshards
命令,指定数据块(shards)的目录路径和要删除的数据块数量,进行随机删除操作。
验证
通过比较原始数据和恢复数据,验证数据恢复的准确性。
注意事项
使用./run/scripts/clean.sh
脚本可以清除恢复数据和碎片文件,以便于重新运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】