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

news2024/11/27 9:21:20

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

系统展示

  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 系统目标

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1551182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【吊打面试官系列】Redis篇 -Redis 集群如何选择数据库?

大家好,我是锋哥。今天分享关于 【Redis 集群如何选择数据库?】面试题,希望对大家有帮助; Redis 集群如何选择数据库? Redis 集群目前无法做数据库选择,默认在 0 数据库。 Redis 集群不支持使用 SELECT 命令…

RF-TI1352P2—双频多协议高发射功率无线模块

RF-TI1352P2是一款基于TI CC1352P7为核心的双频(Sub-1 GHz 和 2.4 GHz)多协议高发射功率(20 dBm)无线模块;支持IPEX接口和邮票孔两种天线形式;模块除了集成负责应用逻辑的高性能 48 MHz ARM Cortex-M4F 主处…

实验02-1 C#和ASP.NET控件:在Web窗体中输出九九乘法表

【实验内容及要求】 1. 在Web窗体中输出九九乘法表 浏览效果如图2-1所示。 图2-1 在Default.aspx.cs中编写C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;public par…

什么是通配符SSL证书?

在当前互联网环境中,数据传输安全至关重要,而通配符SSL证书作为保护多个子域名的理想工具,因其灵活、经济高效的特性而备受瞩目。本文将详细介绍通配符SSL证书的定义、主要特性及其价格区间。 通配符SSL证书的核心特性概述如下: …

【python】flask模板渲染引擎Jinja2中的模板继承,简化前端模块化开发

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

霉霉说地道中文,口型、卡点几乎完美,网友:配音时代结束了?

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站 每天给大家更新可用的国内可用chatGPT资源 更多资源欢迎关注 「给电影配音的时代即将结束了。」 AI 的发展让很多人直呼饭碗被抢了,以前是艺术家、程序员…… 现在配音员也要失业了&a…

763. 划分字母区间(力扣LeetCode)

763. 划分字母区间 题目描述 给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。 注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s 。 返回一个表示每个字符串…

Linux:基础IO

回顾C文件接口 stdin & stdout & stderr C 默认会打开三个输入输出流&#xff0c;分别是 stdin, stdout, stderr 仔细观察发现&#xff0c;这三个流的类型都是 FILE*, fopen 返回值类型&#xff0c;文件指针 系统文件I/O 接口介绍 open man open #include <sy…

LeetCode 每日一题 Day 109-115

1969. 数组元素的最小非零乘积 给你一个正整数 p 。你有一个下标从 1 开始的数组 nums &#xff0c;这个数组包含范围 [1, 2p - 1] 内所有整数的二进制形式&#xff08;两端都 包含&#xff09;。你可以进行以下操作 任意 次&#xff1a; 从 nums 中选择两个元素 x 和 y 。 选…

【贫民版】Springboot导入返回错误Excel表格 ---- 通过session存储字节数据,再获取写到响应体中。

目录 前言一、需求二、需求分析三、代码 前言 在开发中会遇到导入文件后&#xff0c;失败的数据需要整理在加上导入失败原因。 按照目前主流的方法&#xff0c;要么通过流输出到response响应体中&#xff0c;或者把失败的excel上传到服务器中&#xff0c;返回url让前端下载。…

pyqt 创建右键菜单栏

class MainModule(QMainWindow, Ui_MainWindow):def __init__(self):super().__init__(parentNone)self.setupUi(self)# 允许出现菜单栏self.tableWidget.setContextMenuPolicy(Qt.CustomContextMenu)# 对空间添加右键菜单栏处理 self.tableWidget.customContextMenuRequested.…

Redis入门到实战-第十九弹

Redis实战热身Count-min-sketch篇 完整命令参考官网 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://redis.io/Redis概述 Redis是一个开源的&#xff08;采用BSD许可证&#xff09;&#xff0c;用作数据库、缓存、…

cuDNN——核心概念

在讨论graph和legacy API的细节之前&#xff0c;这一部分先介绍两者共同的核心概念。 cuDNN Handle cuDNN库暴露了一系列主机API&#xff0c;但是假设所有用到GPU的op&#xff0c;其必要的数据都可以直接从设备上访问。 使用cuDNN的应用必须先调用cudnnCreate()来初始化句柄…

【C/C++】C++中的四种强制类型转换

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

USART发送各种数据类型数据的原理及程序实现

硬件接线&#xff1a; 显示屏的SCA接在B11&#xff0c;SCL接在B10&#xff0c;串口的RX连接A9&#xff0c;TX连接A10。 新建Serial.c和Serial.h文件 在Serial.c文件中&#xff0c;实现初始化函数&#xff0c;等需要的函数&#xff0c;首先对串口进行初始化&#xff0c;只需要…

信创实力进阶,Smartbi再获华为云鲲鹏技术认证

日前&#xff0c;经华为技术有限公司评测&#xff0c;思迈特商业智能与数据分析软件Smartbi Insight V11与华为技术有限公司Kunpeng 920 Taishan 200完成并通过相互兼容性测试认证&#xff0c;成功再获华为云鲲鹏技术认证书&#xff0c;标志着Smartbi与华为云鲲鹏产业生态合作更…

http模块—http请求练习

题目要求&#xff1a;搭建如下http服务&#xff1a; 1.当浏览器向我们的服务器发送请求时&#xff0c;当请求类型是get请求&#xff0c;请求的url路径地址是/login。响应体结果是登录页面 2.当浏览器向我们的服务器发送请求时&#xff0c;当请求类型是get请求&#xff0c;请求…

物流智能蓝牙锁控设计方案

一、行业背景与需求分析 物流行业作为全球贸易和供应链管理的关键环节&#xff0c;其安全性和效率对整个经济体系的运作至关重要。随着电子商务的兴起和全球市场的一体化&#xff0c;物流行业正面临着前所未有的挑战&#xff0c;尤其是在货物安全、运输效率、成本控制和信息管…

C#学生信息成绩管理系统

一、系统功能描述 本系统包括两类用户&#xff1a;学生、管理员。管理员可以通过系统来添加管理员信息、修改管理员信息、添加学生信息、修改学生信息&#xff1b;开设课程、查询课程、录入成绩、统计成绩、修改成绩、修改个人密码等&#xff0c;而学生则可以通过系统来选择课…

干货分享:品牌如何通过社媒激发年轻人消费力?

随着年轻人的消费愈发理性&#xff0c;年轻人在消费时更偏向于熟人种草场景下的信任决策&#xff0c;社交媒体成为品牌吸引用户的必争之地。今天媒介盒子就来和大家聊聊&#xff1a;品牌如何通过社媒激发年轻人消费力。 一、 激发用户共鸣&#xff0c;与用户产生情感连接。 虽…