littlebot
Published on 2025-04-09 / 1 Visits
0

【源码】基于CS架构的轻量化分布式存储系统

项目简介

本项目是一个轻量化的分布式存储系统,采用C/S架构设计。系统由客户端和服务端两部分组成,客户端负责文件的上传和下载,服务端负责文件的存储和管理,支持快速存取4MB到50GB的文件。通过优秀的策略选择算法和分布式存储机制,能高效处理大文件和小文件的存储与传输。

项目的主要特性和功能

  • 分布式存储:支持在多台服务器上分布式存储文件,提升存储容量和可靠性。
  • 快速存取:采用高效策略选择算法,保障文件快速存取。
  • 文件切片:支持将大文件切片存储,提高传输效率和可靠性。
  • 多线程处理:服务端运用多线程处理文件分块,增强并发处理能力。
  • 自启动服务:服务端支持自启动服务,便于管理和维护。
  • 文件生成脚本:提供文件生成脚本,方便测试和验证系统的传输速度和可靠性。

安装使用步骤

1. 环境准备

确保系统满足以下要求: - CMake >= 2.8.8 - glibc-staticlibstdc++-static

2. 编译项目

进入项目根目录,执行以下命令编译整个项目: bash sh build.sh 编译完成后,项目文件将存放在当前文件夹的 ./bin 目录下。

3. 运行服务端

服务端会把接收到的文件存放在 /raid 目录下。首先创建 /raid 目录并设置好目录权限: bash mkdir /raid 然后运行服务端: bash ./bin/server 服务端将监听 6667 端口,并同时在 9.100.173.1709.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.1709.100.173.189 两台服务器。

6. 文件生成脚本

提供文件生成脚本用于测试: - 生成小文件及 filelist: bash ./bin/gen_small_file.sh - 小文件上传(20个并发): bash ./bin/upload_20_small_file.sh 通过这些步骤,您可以快速搭建并运行本项目的分布式存储系统。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】