# MultimediaDesktop **Repository Path**: bestnewcoding_admin/MultimediaDesktop ## Basic Information - **Project Name**: MultimediaDesktop - **Description**: 分布式多媒体共享平台,个人毕业设计的系统,采用分布式系统构架,保证服务的稳定性。项目wiki文档:https://github.com/wu560130911/MultimediaDesktop/wiki - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 60 - **Created**: 2019-02-26 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MultimediaDesktop(分布式多媒体共享平台) 本系统为个人毕业设计的系统,采用分布式系统构架,保证服务的稳定性。目前系统已经开发完毕,现开源和大家一起分享学习。系统采用Apache License Version 2.0开源协议。
作者:吴梦升 邮箱:560130911@163.com **项目wiki文档:[https://github.com/wu560130911/MultimediaDesktop/wiki](https://github.com/wu560130911/MultimediaDesktop/wiki)(还在完善中)** 具体的系统设计和功能文档将在后期完善。。。。。。。。。。。。 ## 目录 * [系统项目结构](#h1) * [系统构架](#h2) * [系统采用的技术](#h3) * [系统处理流程](#h4) * [如何部署本系统](#h5) * [系统功能](#h6) * [系统功能截图](#h8) ## 系统项目结构 系统整个是一个Maven项目,包含三个子项目,分别是:Server-API、Server、Client。其中Server-API主要包含一些基本工具类和服务接口等,Server主要是业务逻辑和数据持久化,Client主要是WEB服务,处理web请求。 ## 系统构架 ![](deploy/pictures/system.png)
系统构架采用目前中小型公司常用的构架方式。 ##
系统采用的技术 系统采用的技术主要有:Dubbo,memcache,mail,spring,fastjson,hibernate,druid,freemarker,jpa,spring data jpa,servlet3.1,shiro,fastjson,spring mvc,extjs4等
## 系统依赖的工具 Zookeeper,MemCache,Mysql(默认,可选择其他的),Tomcat(默认,可以选择其他的),Maven,JDK 1.7+,dubbo admin,dubbo monitor
##
系统处理流程 系统最外层由nginx进行处理,然后nginx对请求进行转发(静态文件和媒体文件特殊处理),如图所示。
![](deploy/pictures/Nginx.png)
当nginx分发请求到web集群后,web端的处理流程如图所示。
![](deploy/pictures/webHandler.png)
##
如何部署本系统 在deploy/sql里包含本系统的sql文件,导入数据库即可。管理员账号:wu560130911,密码:1234567 项目对打包进行了处理,服务端将打包成文件夹,包含执行脚本。消费端将打包成文件夹(war文件)和静态资源文件(经过压缩)。 请参见本人博文,[分布式桌面多媒体共享平台](http://my.oschina.net/WMSstudio/blog/408026)。
##
系统功能 系统采用shiro作为安全框架,目前只有三个角色的用户,使用Memcache作为分布式会话缓存(不依赖容器),将用户权限等信息存放在缓存中,如图所示。
![](deploy/pictures/function.png)
![](deploy/pictures/Handler.png)
##
系统功能截图 ![](deploy/pictures/1.png)
![](deploy/pictures/2.png)
![](deploy/pictures/3.png)
![](deploy/pictures/5.png)
![](deploy/pictures/6.png)
![](deploy/pictures/7.png)
![](deploy/pictures/8.png)
![](deploy/pictures/9.png)