项目简介
本项目是基于C++实现的EVENODD纠删码优化系统,通过对编码、解码和修复操作的性能优化,提升分布式存储系统的可靠性与效率。该项目是华为云“Massive Storage第一届大学生信息存储技术竞赛 · 挑战赛”参赛作品,在初赛和决赛均获冠军。
项目的主要特性和功能
- 编码功能:实现EVENODD编码算法,将数据分散存于多个磁盘保证数据冗余和可靠,利用多线程和异步I/O技术提升编码速度。
- 解码功能:从存储编码数据的磁盘读取并恢复原始文件,支持数据修复,可利用剩余磁盘数据恢复丢失数据。
- 修复功能:提供数据修复机制,混合使用行校验列和对角校验列修复数据,支持最多两个磁盘损坏修复,保障数据完整性和可靠性。
- 性能优化:通过计时功能统计操作执行时间优化系统性能,利用缓冲区大小和带宽关系分析提升数据处理效率。
安装使用步骤
- 环境准备:确保系统支持OpenMP并行编程库和POSIX异步I/O库,安装必要编译工具和依赖库。
- 编译项目:使用C++编译器(如g++)编译项目源代码,编译命令示例:
g++ -o evenodd main.cpp encoding.cpp decoding.cpp repair.cpp -fopenmp -laio
- 运行项目:执行生成的可执行文件,按命令行提示操作,示例命令:
./evenodd write input_file.txt 3
- 测试与优化:使用提供的测试脚本(如
buffer_plot.py
和decoding_plot.py
)进行性能测试和分析,根据结果调整系统参数优化性能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】