一、开题报告内容
1、目的和意义
目的:
现在大部分企业使用的办公软件是钉钉或者企业微信等软件,企业员工之间经常会 传一些资料,但通常这些资料会被聊天记录冲刷掉,导致我们想去找文件的时候还有去以前的聊天历史里面去找,这样对于办公人员非常不友好,而且有时候我们把软件的缓存清除,以前传输的文件也会被清除。目前市面上也有一些比较网盘成熟的网盘产品,比如百度网盘,微盘等,但这大部分都是个人网盘。个人网盘关注的是生活,不直接创造价值;而企业网盘更强调生产,直接为客户企业创造价值。目前我知道的比较大的企业网盘有百度,联想等,它们在行业中的地位不必多说了,大多数的服务都过多的商业化,对企业信息化建设来说,在数据安全和价格上都是问题。为了能给一些企业有效管理他们内部资源,因此私有的企业级网盘系统顺势而生。
意义:
企业网盘是基于云计算和大数据理念推出的企业数据网络存储和管理解决方案,利用互联网后台数据中心的海量计算和存储能力为企业提供数据汇总,存储备份等服务。本项目前端采用渐进式框架Vue实现,后端采用SpringCloud微服务提供服务,这样一来不仅前后端可以实现分离,并行开发而且采用微服务架构,服务与服务之间更易相互协调,相互配合,为用户提供最终价值,每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境类生产环境等。该系统具有强大和简单易用的文件管理、部门或虚拟团队级文件共享等丰富功能。与免费的个人网盘相比,具有更强的团队协同功能,在组织架构能适应企业的需求。在多人共享、协作日常办公文档时能有效的提高工作效率,统一管理企业资源。除此之外,采用hdfs分布式文件系统可以支持超大文件,在集群环境中可以检测和快速应对硬件故障,保证了大数据可靠存储,与MapReduce配合使用,可以对结构化和复杂大数据进行快速,可靠分析。通过本次设计使自己对软件专业理论知识了解更加深刻,对多门技术的综合使用,加深对他们的了解,同时对IDEA 等常用的开发工具,平台的使用、网站设计更加熟练。
2、研究现状和发展趋势
随着信息技术与网络技术的发展,现在国家推动对文件管理的网络化、电子化,全面信息共享已成大趋势。然而许多企业时刻进行着大量数据资源的产生和流通,信息共享交流更加频繁,如各类文档文件、代码文件、多媒体素材等都需要频繁使用。移动存储设备由于使用不便 和共享困难等一般适用于存储个人数据;E-Mail使用较方便,但不适用于存储传输较大的文件;FTP功能相对强大,但是服务界面简陋,有些用户使用起来有一定困难。因此,如何在安全、便捷、可接受代价的前提下向用户提供大容量、高可靠性的网络存储业务,成为了信息化建设的一大课题。于是网络硬盘应运而生。但随着存储技术的不断发展,传统的网盘技术已经显得力不从心,存在传输速度慢、容灾备份及恢复能力低、安全性差、营运成本高等诸多瓶颈。而近年流行的云存储技术推动了网盘行业的浪潮,如百度云、腾讯微云等。由于目前的云存储服务大多是商业化产品,对企业网的信息化建设来说,在数据安全和价格上都是问题。为了能给一些企业有效管理他们内部资源,因此企业网盘系统顺势而生,企业可以把这个项目拉到本地,私有化部署,采用Hadoop的分布式存储技术,结合javaEE技术开发这样一个能满足海量数据存储、高效可靠、安全稳定、低成本等网盘系统有着十分积极的意义。
3、设计方案
3.1功能性需求:该系统分为前台和后台两大模块。
前台:
1.用户登录,这里提供了多种登录的方式,方便用户登录系统。如账号登录,
2.扫码登录,短信登录,还提供记住密码功能。
3.个人中心,用户可以修改自己的资料,密码修改功能。
4.系统通知,后台管理员可以发布通知,前台用户可以接收到该通知。
5.网盘管理,每个用户系统会分配一个网盘给他,用户可以在分配的网盘里面创建文件夹,
上传各种格式的文件,文件下载,文件重命名,文件复制,文件删除功能。除此之外,用
户可以在线浏览文档,图片和视频。
6.企业内部资源查询,用户可以把自己个人好的资源加入到企业内部共享网盘,比如自己
总结的一些好的技术文档,或者一些好的开源项目,开发工具。企业其他用户在改模块里面
可以按关键词模糊查询资源。
7.分享管理,用户可以把自己一些好的资源分享给企业其他用户,这里的分享方式有:链
接分享和用户分享两种方式。
8.关注用户,自己感兴趣的一些用户可以进行关注,当关注的用户发布他们的资源,关注
他的用户可以在动态里面看见。
后台:
1.用户登录,这里提供了多种登录的方式,如账号登录,扫码登录,短信登录,方便用户
登录系统。
2.首页数据大盘,系统管理员可以通过可视化的界面查看企业内部用户使用该系统的活跃
折线图,资源下载排行榜,资源受欢迎程度排行榜。
3.用户管理,这里的用户分为两类,一类是前台用户,一类是系统后台管理用户。前台用
户支持单个添加,或通过Excel批量导入企业用户。如果用户有些信息填写失误,可以修改用户的信息。后台用户只支持单个添加,添加时可以选择用户所在的部门,分配系统用户角色。
4.部门管理,企业刚开始使用系统时,需要将企业部门相关信息完善,后台提供了非常友
好的界面和操作方便管理员录入。
5.角色管理,系统超级管理员可以添加多个角色,然后分别给角色分配权限,该权限包过
系统后台菜单的权限和部门之间的数据权限,保存之后既可以生效。
6.企业共享网盘资源管理,后台管理员可以管理企业内部用户上传在共享网盘上的资源,
可以将一些劣质的,对企业无关的一些资料进行删除。
7.系统管理,管理员可以动态的增加,删除,修改菜单,给菜单分配对应的权限,使拥有
不同角色的用户看到的菜单也是不一样的;系统还提供了一个可视化定时任务配置管理界面,管理员可以更加需要,随时添加定时任务;系统管理员可以在通知管理下发布系统通知和对以前的历史通知进行管理;当然系统管理员可以在日志管理里面查看所有的系统日志,监控一些恶意的请求,及时给管理员发送警告。
8.其他管理,系统对后台所有提供的接口生成一个在线接口文档,对系统开发人员,和系
统以后的维护有重要的意义。
9.系统监控,改模块可以查看服务器的状况,在线SQL监控,有哪些比较慢的接口;还可
以在线查看HADOOP监控界面, 包括HDFS各个节点的状况和存储资源状况。
3.2非功能性需求
本项目在Windows系统环境下IDEA平台开发,关系型数据库管理系统使用的Mysql并使用Maven来管理项目的构建。整个项目前端用的是Vue渐进式框架,后端使用的是SpringCloud提供服务,将打包好的Jar包直接部署在Docker容器里即可,前端VUE使Node服务器部署,前端发送Ajax请求,通过SpringCloud的网关统一入口,请求到后端对应的服务,返回Json数据给前端,前端在通过拿取到的JSON数据,对前台的页面进行渲染。通过这种架构,真正实现前后端的解耦,前端的Css,Js,图片等资源还可以放到特定的文件服务器上,并使用CDN加速。前端服务器负责控制页面引用,跳转,路由。在大并发的情况下,我们可以很方便扩展后端服务器,并且通过使用SpringCloud可以实现服务与服务之间的解耦,而且SpringCloud提供了许多插件,我们可以很方便部署项目,提供项目可扩展性和可靠性,降低系统的维护成本。
1.易用性,本项目使用的技术都是现在非常主流的技术,只需把Hadoop分布式集群,和数
据库创建好,把镜像拉取到Docker容器即可,部署使用都非常简单。
2.系统平均响应时间:用户感受软件系统为其服务所耗费的时间。
3.用户并发数:并发用户数用来度量服务器并发容量和同步协调能力。在客户端指一批用
户同时执行一个操作。并发数反映了软件系统的并发处理能力。 如果系统并发数很大,SpringCloud会提供负载均衡服务,降低服务器的请求压力。
|