编程语言:Java、Mybatis、Spring、SpringBoot、SpringCloud、Node、Vue
开发环境:Windows 10 + Mysql
开发工具:WebStorm、IDEA编译器、Git、Maven
应用部署服务器:SpringBoot内置Tomcat插件
Node服务器:Node v10.15.3
数据库:Mysql v5.5.59
缓存服务:Redis v2.8.9
代码仓库管理系统:GitHub
服务器环境:处理器Core i5以上
系统展示
- 用户界面
用户界面由菜单、欢迎词组、系统通知、用户头像组成。横向菜单中列出用户能够使用的功能,由首页,网盘,分享,资源库,关注用户,系统公告,个人信息管理几个功能选项组成;题头是根据用户登录ID来显示对应的登录用户称呼题头中还设置了注销退出的按钮,清晰明了的告诉用户,如何退出系统,另外题头也有消息通知提示,点击后可以看到消息简略内容,点击查看更多可以进入系统公告列表页面,然后可以查看公告详情。整体界面
用户界面
管理员界面
- 超级管理员界面
超级管理员拥有最高权限
超级管理员界面
登陆界面
网盘界面
分享界面
- 用户管理界面
在系统后台主界面下的子界面中,用户可以在用户管理菜单目录下查看企业用户列表,编辑用户信息(如用户名、部门、密码、邮箱、手机号、状态)。选择部门时,会弹出企业部门选择框,该数据结构是树状的,可以一层一层展开下去,直到子部门
用户管理界面
菜单界面
摘 要
随着信息技术与网络技术的发展,现在我们国家推动文件管理的电子化,网络化,全面信息共享已经成为大趋势。许多企业时刻进行着大量数据资源的产生和流通,信息共享交流更加频繁,如各类文档文件、代码文件、学习视频、多媒体素材等都需要频繁使用。但随着存储技术的不断发展,传统的网盘技术已经显得力不从心,存在传输速度慢、容灾备份及恢复能力低、安全性差、营运成本高等诸多瓶颈。而近年流行的云存储技术推动了网盘行业的浪潮,如百度云、腾讯微云等。由于目前的云存储服务大多是商业化产品,对企业网的信息化建设来说,在数据安全和价格上都是问题。分布式存储技术应用于企业文件管理中,增强了企业资源的安全可靠性,提高了企业的资源共享率,降低了信息价值的流失。
本文首先分析了企业网盘的系统背景,明确了本文的研究思路和方向,然后,按照软件工程项目的要求,进行了业务的需求分析,并通过业务流程整理和问题分析,整理出系统的需求,根据分析结果进行了系统的建模,然后通过对相关技术的调研,依据软件的设计原则,在充分考虑灵活性,通用性,安全性,易扩展性等的基础上确定了系统,给出了企业级网盘的系统框架设计,包括前后端Web系统,数据访问层,业务逻辑层,视图控制层,该出了项目的代码结构,包括用户登录,个人中心,系统通知,网盘管理,分享资源,关注用户,用户管理,部门管理,角色管理,菜单管理,系统监控等功能模块,并进行了实现。本系统融合了SpringCloud微服务和渐进式框架Vue以及基于JavaEE中主流的SSM框架的Web系统进行设计,使用Hadoop的分布式文件系统来存储企业产生的各种资源,实现了一个用户交互性能良好、功能实用、能满足当前企业需求以及可扩展的企业网盘系统。在本文的研究中,在系统的架构设计方面以及用户交互体验方面做了较多的工作,目标是开发出一个拓展性强、代码重用度高的系统,以便将来的拓展和维护,同时,改善传统企业网盘用户交互体验差和性能差的状况,提高系统的实用性及易用性。
研究的背景及意义
1.1.1 研究的背景
随着信息网络技术的迅猛发展,云计算技术从它的概念提出已经开始在实际生产环境中使用了。大部分的东西都已经慢慢云端化,这种新型的技术也受到许多互联网人员的关注,网盘产品的诞生也是建立在云计算的基础之上的。互联网相关的公司不断增多,这些公司内部每天都进行着数据的产生和流动,由于公司的人员和公司业务的扩大,员工之间传输资源文件也变得更加频繁了,而通过传统的移动设备来进行资源传播,存在着许多问题,首先移动设备的使用寿命是有限的,而且通过传统方法来共享资源的话,用户一定要将该移动设备转交给另个用户。除了移动设备外,大家也经常使用发送电子邮件方式来传输文件,但是大型的文件是不支持的。随着数据量不断增大,传统的网盘已经不能很好满足企业的需求,无论是在文件的传输速度上,还是文件保密性都存在一定得缺陷。不过,现在市面上有一些企业做网盘服务,比如腾讯公司和百度公司,但他们的产品太过于商业化,数据的隐私和购买服务的价格都不太理想。因此,根据目前企业网盘发展状况,我们急需设计一个符合企业的网盘系统,该系统能够提供超大容量、高可用的存储服务,帮助企业更高效管理内部的资源。
在这个大数据和云计算时代,海量数据的存储面临着一个难题,因此有些企业先对这个问题进行了研究,谷歌也做出了很大的贡献,它开发了一套文件系统,通过现有的技术和各种资源,做到可以在多台电脑上进行分布式存储,这样的设计方式更好的满足了大数据存储的需要。谷歌分布式文件系统不是开源的,HDFS分布式文件存储系统对此进行了实现并向大众公开源码,让大家参与进来。HDFS系统部署的机器没有什么特殊要求,另外Hdfs集群有许多优秀的设计模式,我们可以用它以更低的成本实现更多数据的传输,所以本系统最终选用Hdfs作为资源文件存储文件系统。
1.1.2 国内外研究现状
我们常见的网盘有个人版和企业版。本次毕业要实现的是一个私有化的企业网盘系统,该系统的主要作用是可以将企业内部产生的资源文件按系统设定的算法,同过大数据技术和云计算能力将资源高效的存储在云端,然后系统提供给用户在线查看、分享、备份、下载等多种资源操作服务。
根据调查发现,国内外企业网盘发展的状况是不同的。通过资料了解到,国外很早的时候就开始研究企业网盘了,而我们国内研究的时间相对要晚许多。但近年随着云计算和大数据的不断成熟,企业网盘很多遗留的问题也得到了解决。对于很多新型的企业公司,他们会将企业内部用户产生的各种数据、文件、多媒体资源进行统一存储,然后提供一个友好的平台给用户进行访问,这个可以让一些资源在企业进行流动分享,提高资源的利用
率和团队的协同办公效率。最近几年,国内的很多巨头公司在企业网盘上也砸下了很多资金,投入了许多人力物力来研究企业网盘。而在海外,企业网盘也是发展地非常迅速,从多种数据角度分析,可以看出企业网盘存在的合理性。从目前国内外发展状况来看,企业网盘在市场上任然有很多的上升空间。
1.1.3 研究的意义
为了解决企业的数据存储和企业内部资源的高效管理问题,本系统底层采用云存储技术,在数据中心进行海量数据的运算和存储,为企业数据可视化提供数据服务支持。目前,该项目前端使用的是Vue.js;后端使用SpringCloud。通过这种系统架构,可以实现前后端的分离,前端开发人员和后端开发人员可以减少更多的冲突,如果后端的接口没及时提供,前端可以先Mock数据,这样可以提高开发的效率。SpringCloud提供了很多插件,有链路监控插件,日志在线查看插件,数据大盘插件等,通过集成这些插件,我们可以很轻松扩展我们应用的功能。对于注册在SpringCloud里面的服务,它可单独部署,就算系统其中某些服务出现问题,也不会影响系统完整的功能。
本企业网盘系统也提供了许多实用的功能和友好的界面,整个系统的架构可以快速满足企业的发展需求。当企业员工共享文件时,可以有效地提高工作效率,用户产生的文件会在后台进行一个处理,该处理对用户是无感的。此外,我们将产生的文件都存放到Hdfs文件系统,该文件系统也提供了非常强大的平台,我们可以对存储的文件进行各种计算处理,而且该系统会将文件备份成3份,就算系统文件丢失,我们也有办法进行恢复。咱们也希望通过本次毕业系统设计,让我们能够将多种技术进行整合,加强了对常用的开发工具,各种开源办公平台的使用。
1.2 系统目标
现在大部分企业使用的办公软件是钉钉或者企业微信等软件,企业员工之间经常会 传一些资料,但通常这些资料会被聊天记录冲刷掉,导致我们想去找文件的时候还有去以前的聊天历史里面去找,这样对于办公人员非常不友好,而且有时候我们把软件的缓存清除,以前传输的文件也会被清除。目前市面上也有一些比较网盘成熟的网盘产品,比如百度网盘,微盘等,但这大部分都网盘对应的用户都是个体。个人使用的网盘基本上存储的是自己私人的资料,而且大部分网盘的上传速度和下载速度都非常慢,所以我们需要开发一套私有化的企业网盘,来满足企业的需求。目前百度,联想等是常见的企业网盘公司,他们大多数服务都过多的商业化,对企业来讲,在数据的保密性和租赁服务的价格上都不太理想。为了能给一些企业有效管理内部资源,帮助企业快速成长,因此私有的企业级网盘系统顺势而生。