Skip to content

本项目用C++实现了一套分布式存储服务,主要设计并实现了存储服务器、ID服务器、跟踪服务器、HTTP服务器以及客户机等功能模块。主要功能是为客户机提供媒体数据的上传、存储和下载功能。

Notifications You must be signed in to change notification settings

daimawanjiaA/DSMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

分布式流媒体服务器

⚒️**项目描述:**该项目含有跟踪服务器(tracker)、ID服务器、存储服务器(storage)、HTTP服务器与客户机(client)。实现了client向storage上传、下载、删除文件等功能,ID服务器对上传文件生成唯一ID,HTTP服务器向tracker发送下载文件请求、storage向tracker发送和加入心跳请求等。

⚒️主要技术:

​ 🔹使用ACL库提供的网络通信模块,采用连接池的方式来降低服务器端的通信压力;

​ 🔹自定义报文规约,遵循“定长包头、边长包体”的形式方便通信双方编码与解码,提升通信效率与稳定;

​ 🔹采用MySQL保存跟踪服务器、ID服务器、存储服务器数据信息,采用Redis作为缓存减少数据库查询次数;

​ 🔹存储服务器利用雪花算法来生成唯一的ID,提供给用户上传的文件;

​ 🔹VLC播放器测试项目正确性与并发量,通过ClusterFS组件来实现同组存储服务器之间的数据备份。

About

本项目用C++实现了一套分布式存储服务,主要设计并实现了存储服务器、ID服务器、跟踪服务器、HTTP服务器以及客户机等功能模块。主要功能是为客户机提供媒体数据的上传、存储和下载功能。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published