基于SpringCloud+Hadoop+Vue实现的企业级网盘系统实现

55 篇文章 0 订阅
52 篇文章 0 订阅

编程语言: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

服务器环境:处理器Core i5以上

系统展示

  1. 用户界面

用户界面由菜单、欢迎词组、系统通知、用户头像组成。横向菜单中列出用户能够使用的功能,由首页,网盘,分享,资源库,关注用户,系统公告,个人信息管理几个功能选项组成;题头是根据用户登录ID来显示对应的登录用户称呼题头中还设置了注销退出的按钮,清晰明了的告诉用户,如何退出系统,另外题头也有消息通知提示,点击后可以看到消息简略内容,点击查看更多可以进入系统公告列表页面,然后可以查看公告详情。整体界面

用户界面

管理员界面

  1. 超级管理员界面

超级管理员拥有最高权限

 超级管理员界面

 登陆界面

 网盘界面

分享界面

  1. 用户管理界面

在系统后台主界面下的子界面中,用户可以在用户管理菜单目录下查看企业用户列表,编辑用户信息(如用户名、部门、密码、邮箱、手机号、状态)。选择部门时,会弹出企业部门选择框,该数据结构是树状的,可以一层一层展开下去,直到子部门

用户管理界面

菜单界面

  

随着信息技术与网络技术的发展,现在我们国家推动文件管理的电子化,网络化,全面信息共享已经成为大趋势。许多企业时刻进行着大量数据资源的产生和流通,信息共享交流更加频繁,如各类文档文件、代码文件、学习视频、多媒体素材等都需要频繁使用。但随着存储技术的不断发展,传统的网盘技术已经显得力不从心,存在传输速度慢、容灾备份及恢复能力低、安全性差、营运成本高等诸多瓶颈。而近年流行的云存储技术推动了网盘行业的浪潮,如百度云、腾讯微云等。由于目前的云存储服务大多是商业化产品,对企业网的信息化建设来说,在数据安全和价格上都是问题。分布式存储技术应用于企业文件管理中,增强了企业资源的安全可靠性,提高了企业的资源共享率,降低了信息价值的流失。

本文首先分析了企业网盘的系统背景,明确了本文的研究思路和方向,然后,按照软件工程项目的要求,进行了业务的需求分析,并通过业务流程整理和问题分析,整理出系统的需求,根据分析结果进行了系统的建模,然后通过对相关技术的调研,依据软件的设计原则,在充分考虑灵活性,通用性,安全性,易扩展性等的基础上确定了系统,给出了企业级网盘的系统框架设计,包括前后端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 系统目标

 现在大部分企业使用的办公软件是钉钉或者企业微信等软件,企业员工之间经常会 传一些资料,但通常这些资料会被聊天记录冲刷掉,导致我们想去找文件的时候还有去以前的聊天历史里面去找,这样对于办公人员非常不友好,而且有时候我们把软件的缓存清除,以前传输的文件也会被清除。目前市面上也有一些比较网盘成熟的网盘产品,比如百度网盘,微盘等,但这大部分都网盘对应的用户都是个体。个人使用的网盘基本上存储的是自己私人的资料,而且大部分网盘的上传速度和下载速度都非常慢,所以我们需要开发一套私有化的企业网盘,来满足企业的需求。目前百度,联想等是常见的企业网盘公司,他们大多数服务都过多的商业化,对企业来讲,在数据的保密性和租赁服务的价格上都不太理想。为了能给一些企业有效管理内部资源,帮助企业快速成长,因此私有的企业级网盘系统顺势而生。

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: SpringCloudHadoop可以配合实现分布式网盘系统SpringCloud可以提供支撑服务,比如服务注册,服务发现,负载均衡,Hadoop则可以构建分布式文件系统,用于存储和管理文件,这样就可以实现一个分布式网盘系统。 ### 回答2: 要实现分布式网盘,可以使用Spring CloudHadoop等技术来进行开发和搭建。 首先,使用Spring Cloud可以实现分布式的服务治理和微服务架构。可以使用Eureka作为服务注册与发现的中心,各个微服务将自身注册到Eureka服务器中,并通过Eureka来发现其他微服务的地址。通过使用Ribbon或Feign等负载均衡组件,可以实现对微服务的负载均衡和调用。此外,还可以使用Spring Cloud Config来统一管理配置文件,从而方便对系统进行配置和管理。 其次,使用Hadoop分布式文件系统HDFS来存储和管理网盘中的文件。HDFS的分布式特性可以将文件划分为多个块,并将这些块存储在不同的节点上,从而实现高可靠性和高性能的分布式文件存储。可以将HDFS作为网盘的底层文件系统,通过在Spring Cloud中调用HDFS提供的API,可以实现文件的上传、下载、删除和修改等功能。 在搭建分布式网盘时,可以使用Spring Cloud实现用户管理和权限控制等功能。可以通过使用Spring Security来实现用户认证和授权,保证只有合法用户可以访问网盘。可以在用户登录后,根据其身份和权限,通过HDFS提供的API来实现对文件的访问控制,例如只有拥有读权限的用户才能下载文件,只有拥有写权限的用户才能上传文件等。 此外,可以使用Spring Cloud的其他组件来实现更多的功能,例如使用Spring Cloud Stream来实现文件传输,使用Spring Cloud Task来实现定时清理和备份任务,使用Spring Cloud Sleuth来实现分布式链路追踪等。 总结来说,通过结合Spring CloudHadoop等技术,可以实现分布式网盘系统,从而实现文件的分布式存储、用户管理和权限控制等功能。 ### 回答3: 要实现分布式网盘,可以结合使用Spring CloudHadoop来完成。 首先,我们可以使用Spring Cloud来构建网盘的核心服务,包括用户管理、文件上传下载、文件管理等功能。通过Spring Cloud的微服务架构,可以将这些功能拆分为不同的服务,每个服务可以独立部署,并通过Spring Cloud的注册中心进行服务发现和管理。 接下来,我们可以使用Hadoop来存储和管理分布式网盘的文件。Hadoop提供了分布式文件系统HDFS,可以将大文件切分为小文件,然后分散存储在不同的HDFS节点上,实现文件的分布式存储和冗余备份。同时,Hadoop还提供了分布式计算框架MapReduce,可以用来处理大规模数据集。 在整合Spring CloudHadoop时,可以通过Spring Cloud的服务调用功能来实现文件的上传和下载。当用户上传文件时,可以将文件切分为小文件后,并使用Hadoop的分布式文件系统HDFS进行存储。同时,可以使用Spring Cloud的负载均衡功能,将文件上传请求转发到不同的HDFS节点,实现负载均衡和高可用。 在文件的下载过程中,可以通过Spring Cloud将下载请求转发到对应的HDFS节点上,从而实现文件的并发下载。此外,还可以使用Hadoop的MapReduce进行文件的搜索和统计等操作,提供更多的网盘功能。 总之,结合使用Spring CloudHadoop,可以实现一个分布式网盘系统,具备高可用、分布式存储和计算等优势。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值