项目简介
本项目是一个轻量化的分布式存储系统,采用C/S架构设计。系统由客户端和服务端两部分组成,客户端负责文件的上传和下载,服务端负责文件的存储和管理,支持快速存取4MB到50GB的文件。通过优秀的策略选择算法和分布式存储机制,能高效处理大文件和小文件的存储与传输。
项目的主要特性和功能
- 分布式存储:支持在多台服务器上分布式存储文件,提升存储容量和可靠性。
- 快速存取:采用高效策略选择算法,保障文件快速存取。
- 文件切片:支持将大文件切片存储,提高传输效率和可靠性。
- 多线程处理:服务端运用多线程处理文件分块,增强并发处理能力。
- 自启动服务:服务端支持自启动服务,便于管理和维护。
- 文件生成脚本:提供文件生成脚本,方便测试和验证系统的传输速度和可靠性。
安装使用步骤
1. 环境准备
确保系统满足以下要求:
- CMake >= 2.8.8
- glibc-static
和 libstdc++-static
2. 编译项目
进入项目根目录,执行以下命令编译整个项目:
bash
sh build.sh
编译完成后,项目文件将存放在当前文件夹的 ./bin
目录下。
3. 运行服务端
服务端会把接收到的文件存放在 /raid
目录下。首先创建 /raid
目录并设置好目录权限:
bash
mkdir /raid
然后运行服务端:
bash
./bin/server
服务端将监听 6667
端口,并同时在 9.100.173.170
和 9.100.173.189
两台服务器上运行,以实现分布式存储效果。
4. 自启动服务
将服务端放到 /data/home/TGuest/
目录下,并执行以下命令(需要 root 权限):
bash
cp myserver.service /etc/systemd/system/myserver.service
systemctl enable myserver
systemctl start myserver
5. 运行客户端
客户端支持文件的上传和下载,使用方法如下:
bash
./bin/upload <文件名>
./bin/download <文件名>
客户端默认尝试访问 9.100.173.170
和 9.100.173.189
两台服务器。
6. 文件生成脚本
提供文件生成脚本用于测试:
- 生成小文件及 filelist:
bash
./bin/gen_small_file.sh
- 小文件上传(20个并发):
bash
./bin/upload_20_small_file.sh
通过这些步骤,您可以快速搭建并运行本项目的分布式存储系统。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】