私有云存储的设计与实现_第1页
私有云存储的设计与实现_第2页
私有云存储的设计与实现_第3页
私有云存储的设计与实现_第4页
私有云存储的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一种私有云存储的设计与实现目录TOC\o"1-3"\h\u1引言 [10],把产生的散列数字跟用户登记时的散列数字比较;一致认为正确,准许该用户进入系统。从安全角度分析是可行的。3.2系统功能性分析按照一种私有云存储的设计与实现的角色,主要包括普通用户和管理员这两大功能模块,各模块功能内容如下。3.1.1普通用户功能登录系统:新注册用户在获得账号密码后能够使用该密码进入系统。首页:首页界面是用户访问系统的入口页面,用户可以查看首页展示的轮播图、通知公告和新闻资讯等信息。交流论坛:用户可以发布论坛内容,可以查看交流论坛列表中某个论坛的详情并可以进行点赞、收藏和评论。通知公告:用户可以查看系统发布的网站公告、联系方式、网站介绍信息。新闻资讯:可以查看新闻资讯列表中某一资讯详情并可以进行点赞、收藏、发表评论操作。文件分享:可以查看文件分享列表中某一文件详情和下载文件附件并可以进行点赞、收藏、发表评论操作。个人中心:用户点击用户头像的下拉按钮进入页面可以修改个人信息和登录密码;点击个人中心可以查看和管理个人首页、文件信息、文件分享和收藏信息;点击退出即可退出系统登录。3.1.2管理员功能(1)登录方式:用户可以通过在后台输入准确的账号和密码来完成注册。(2)管理员可以查看后台首页所呈现的相关信息。(3)管理用户:管理员有权限查看系统用户(包括管理员和普通用户)列表中某一用户的详细信息,可以进行用户信息的查询、重置、添加和删除等操作。(4)管理文件信息:管理员能够查看文件列表中某个文件的详细内容并可以进行共享,还能对文件信息执行检索、重新设置、增加或删除操作。(5)管理文件分类:用户有权查看文件分类表中某个种类的详细信息,并能对这些信息进行检索、重新设置、添加和删除。(6)管理文件分享:管理员能够查看某个文件在文件分享列表中的详细分享和评论,并且可以对列表信息进行检索、重新设置和移除操作。(7)系统监控:管理员在系统监控过程中,对轮播图进行管理,并对轮播图信息执行查找、重新设置、添加和删除的操作。(8)通知公告管理:管理员可通过通知公告管理界面进行查询、重置、添加和删除系统中的通知公告。(9)资源管理:管理员有权查看新闻信息列表中某一信息的详细内容和评论,也能查看新闻分类列表中某一分类的详情。还可以对新闻信息和新闻分类进行检索、重置、添加或删除操作。(10)互动管理:管理员有权查看交流论坛列表中某个论坛的详细信息和评价,也能够查询论坛分类列表中某一种类型的详情。他们还可以对交流论坛和论坛分类信息进行检索、重新设置、添加或删除操作。(11)管理员中心:用户有权更改个人资料和登录账号;能够查看网站的首页;点击退出键即可终止系统的使用。3.3非功能性分析一种私有云存储的设计与实现中,其关键在于保证数据库部署、应用程序运行及其设置的安全性和保密性符合规定标准。稳定性的核心是该软件能根据客户的需求执行任务并通过检测验证是否达到了期望的效果。关于效率问题,系统经过压力测试证明它可以支持大量进程的同时运作以达成设计的目标。至于灵活度,系统配置了很多属性和API来保障非功能性需求。最后是便利程度问题,系统的客户端界面会引导用户完成所需的行为步骤。3.4系统用例分析通过3.2功能的分析,得出了本系统的用例图:普通用户用例图如图3-1所示。注册登录注册登录首页退出个人账户新闻资讯通知公告文件分享收藏个人首页文件信息文件分享普通用户注册登录注册登录首页退出个人账户新闻资讯通知公告文件分享收藏个人首页文件信息文件分享普通用户图3-1普通用户用例图管理员用例图如图3-2所示。管理员管理员登录文件分享管理系统管理通知公告管理个人中心交流管理资源管理后台首页系统用户文件信息管理文件分类管理退出个人信息网站首页修改密码图3-2管理员用例图3.5系统流程分析系统流程是通过一些特定的符号和线条来描述用户在使用系统时的步骤。当进行系统分析时,业务流程能够帮助开发者更深入地理解业务、识别错误并优化系统。3.5.1用户注册流程只有用户成功注册后,才能访问系统内的相应权限。用户注册流程如图3-3所示。开始开始登录界面输入账号密码显示错误用户登录成功是否通过验证结束是否图3-3用户注册流程图3.5.2数据删除流程管理员对数据进行删除的流程图如图3-4所示。开始开始选择需要删除记录是否删除更新数据库结束是否图3-4数据删除流程图

4系统总体设计4.1系统架构设计私有云存储的设计和实施可分为三个层次:用户界面层(UI)、业务逻辑层(BLL)和数据处理层(DL)。展示层面(UI)也被称为UI层次,其核心任务是实现整个系统的UI互动性能。优秀的UI能提升用户的使用好感并增加对系统的满意度。同时,UI的布局和视觉元素需要能够适配各种平台及屏幕大小,以便达到最佳的兼容效果。此外,合理的UI交互行为也是必要的,当用户执行特定动作后必须获得相应的反馈,这意味着展现层需与业务逻辑层保持紧密配合。BLL层主要负责处理系统的数据操作,将用户传输到UI层的数据经过BLL层处理后传递给数据层,系统从数据层读取的数据也经过BLL层处理后传递给UI层。DL数据层:由于本系统的数据储存在mysql服务端,因此服务层的部分可以直接融入业务逻辑层。数据层仅包含数据库,主要负责本系统的数据保存和管理任务。4.2系统功能模块设计4.2.1整体功能模块设计在前一部分内容中,已经详细讨论过系统的功能性和非功能性的要求,基于这些要求确定了系统内的使用场景。此处定义这个系统的核心功能及其数据库的设计。依据前一部分的需要评估结果,系统整体设计模块图如图4-1所示。一种私有云存储的设计与实现一种私有云存储的设计与实现普通用户注册登录首页用户中心交流论坛通知公告新闻资讯文件分享管理员后台首页登录系统用户文件信息管理文件分类管理资源管理交流管理个人中心通知公告管理系统管理文件分享管理图4-1系统功能模块图4.2.2用户模块设计作为系统的核心部分之一,用户模块负责执行账号创建与注销、账户信息维护等工作任务。在此过程中需要对“用户资料的数据构造及其特性”(例如:姓名、密钥及电子邮件地址)做出明确规定并实施相应的程序以完成这些工作流程(比如帐号申请、身份认证或更改安全码等),确保客户提供的文本内容经过有效的检查且被妥善处置。用户模块的结构图如图4-2所示。用户模块用户模块查询用户信息添加用户信息修改用户信息删除用户信息图4-2用户模块结构图4.2.3文件信息管理模块设计文件信息管理模块是系统的重要功能之一。该模块的设计旨在提供对文件信息的发布、编辑、删除和查看等管理功能,以便及时、准确地向系统用户分享相关的文件信息。具体的结构图如图4-3所示。文件信息管理模块文件信息管理模块查询信息添加信息重置信息删除信息图4-3文件信息管理模块结构图4.2.4评论管理模块设计私有云储存系统允许用户发表关于社区论坛、新闻信息等相关内容的意见,从而提高彼此间的交互。为确保内容质量防止不当言论,管理员可选择移除不符合规定的评价。其模块功能结构图如图4-4所示。评论模块评论模块查看评论发布评论删除评论图4-4评论管理模块结构图4.3数据库设计数据库的设计过程包括需求分析、理念模型构建和数据库表格的创建三个主要环节。在前面的章节中已经详细阐述了需求分析的内容,而理念模型的构建则涵盖了理念模型以及逻辑结构的设计两个部分。4.3.1数据库概念结构设计私有云存储的设计与实现中主要的数据库表总E-R实体关系图如图4-5所示。图4-5系统总E-R图4.3.2数据库逻辑结构设计从总E-R图分析后,开发流程到达数据库逻辑结构设计阶段,以下为系统中较为重要的数据表结构。表4-1file_information(文件信息)名称数据类型长度允许空值主键默认值说明file_information_idint10NY-文件信息IDdocument_numbervarchar64YN-文件编号file_namevarchar64YN-文件名称file_classificationvarchar64YN-文件分类upload_datedate10YN-上传日期upload_usersint10YN0上传用户file_attachmentsvarchar255YN-文件附件cover_photovarchar255YN-封面图片续表4-1名称数据类型长度允许空值主键默认值说明file_descriptiontext65535YN-文件描述create_timedatetime19NNCURRENT_TIMESTAMP创建时间update_timetimestamp19NNCURRENT_TIMESTAMP更新时间表4-2file_sharing(文件分享)名称数据类型长度允许空值主键默认值说明file_sharing_idint10NY-文件分享IDdocument_numbervarchar64YN-文件编号file_namevarchar64YN-文件名称file_classificationvarchar64YN-文件分类upload_datedate10YN-上传日期upload_usersint10YN0上传用户file_attachmentsvarchar255YN-文件附件cover_photovarchar255YN-封面图片file_descriptiontext65535YN-文件描述sharing_contentlongtext2147483647YN-分享内容hitsint10NN0点击数praise_lenint10NN0点赞数recommendint10NN0智能推荐create_timedatetime19NNCURRENT_TIMESTAMP创建时间update_timetimestamp19NNCURRENT_TIMESTAMP更新时间表4-3upload(文件上传)名称数据类型长度允许空值主键默认值说明upload_idint10NY-上传IDnamevarchar64YN-文件名pathvarchar255YN-访问路径filevarchar255YN-文件路径displayvarchar255YN-显示顺序father_idint10YN0父级IDdirvarchar255YN-文件夹typevarchar32YN-文件类型5系统详细设计与实现5.1普通用户功能模块5.1.1用户注册界面在新用户登录时,系统提供了一个注册界面,用户必须提交个人资料、选取适合用户自己的名字及设置密码。在这个页面上,通过利用Vue提供的v-model功能来实现数据的一对一关联,使得表格中填入的信息能立即更新到Vue实例内的data对象上,从而实现了动态更新的效果。这个主要的功能是使系统可以及时地回应用户的行为,而QuickVue的反馈机制则保证了状态信息与显示信息的实时一致性。使用submit_check方法,通过正则表达式校验邮箱格式以及其他输入项是否有效。在接口调用方面系统使用get_list_user_group方法向/api/user_group/get_list发起GET请求获取用户组列表,通过回调处理响应,将结果更新到组件的状态中,确保系统能够正确处理异步逻辑和可能的错误响应以求给用户带来良好的体验感。系统设置了“找回密码”和“登录”功能,通过对VueRouter的使用实现了路由导航功能进行页面间的跳转。用户注册完成,页面跳转到登录界面,填写密码,点击登录触发submit()方法进行前端的用户名和密码长度的验证,如果不满足条件,通过调用this.$message.warning反馈给用户;验证通过后,系统对密码进行rsaEncrypt()加密来保护用户信息并发起API请求,根据返回的结果告知登录成功或展示错误信息。在本界面中,设置了找回密码和注册功能,依然使用了VueRouter在页面导航中的应用,通过调用$router.push()实现页面的跳转。用户忘记密码,点击忘记密码选项跳转页面找回密码,在对应的输入框中输入用户名、密码和邮箱,点击发送验证码功能,系统将通过get_code方法生成一个四位数的验证码并自动填充到验证码输入框中,至此便实现了一个功能完整的找回密码页面,用户可以通过验证和重新设置密码来找回账户访问权限。其界面展示如图5-1、图5-2所示。图5-1用户注册界面图图5-2用户登录界面图5.1.2首页界面首页界面是用户访问系统的入口页面,它应该展示平台的主要功能和特色。系统首页以上中下的布局进行展示,上方是系统的导航栏,中间是轮播图,下面是通知公告、新闻资讯等信息。其界面展示如图5-3所示。图5-3首页界面图5.1.3文件分享界面对于文件分类的信息管理,系统使用ElementUI进行前端界面的构建,用于实现对文件的查看、添加和编辑功能。系统通过v-if和自定义方法$check_field对用户的权限进行控制,确保不同用户/用户组只能看到或操作被授权的内容。系统使用el-row和el-col实现响应式布局来适配不同尺寸的屏幕。在数据驱动方面,表单数据和状态由Vue的数据对象管理实现数据的双向绑定。对于文件上传功能,本系统基于Vue和ElementUI实现动态表单处理逻辑,包含权限控制、表单数据绑定、条件渲染、事件处理等典型的前端开发任务,通过调用get_list_file_classification()方法来获取文件分类列表;系统使用el-upload和按钮触发的方法实现文件的上传和下载功能。通过调用get_list_user_upload_users()/get_group_user_upload_users()获取普通用户列表和用户组信息。通过调用upload_file_attachments,upload_cover_photo处理文件和上传封面图片。调用submit_check来实现文件上传提交前要进行的验证,如检查上传日期是否为空等条件。文件分享页面使用Vue组件div_file_sharing来显示文件共享详细信息功能,系统使用基于基础分页算法的分页器组件来响应change_page事件的触发并提供分页功能,允许用户在不同的页码间切换。总的来说系统通过异步请求与后端API的交互,实现数据的动态更新和页面无需刷新即可显示最新状态的功能。文件分享界面如图5-4所示。图5-4文件分享界面图5.1.4个人中心界面在个人中心模块开发采用Bootstrap栅格系统,可以快速设计响应式布局。使用基于Vue.js框架开发的用户个人中心首页组件,主要功能是展示用户信息及提供个人操作选项,如登录、退出和个人资料修改。若用户已登录,页面会显示用户的头像、昵称和用户组以及个人资料和退出登录的按钮。若用户未登录,则显示登录按钮。此外,在脚本部分采用sign_out方法执行用户退出操作并重新跳转到首页。还采用了location.reload()方法用于重新加载页面,确保用户状态得到更新。用户操作流程大体为用户点击右上角个人头像的下拉按钮“个人中心”进入页面可以查看和管理个人首页、文件信息、文件分享和收藏信息。通过点击“文件信息”按钮,用户能获取到特定文件详细的信息;选择“分享”实现对文件的共享操作。一旦进行了分享,其他用户便能在主界面查阅相关资料,同时也能执行查找、恢复、新增或移除文件数据等功能,进一步实行文件共享。5.2管理员功能模块管理员登录系统要身份验证。登录系统时生成一个身份验证Token,验证登录身份并允许访问受权限限制的资源,管理员也可以通过Token实现密码重置流程。5.2.1系统用户界面管理员有权查看系统用户列表中的信息,进行查询、重新设置、添加或删除信息。其界面如图5-5所示。图5-5系统用户界面图5.2.2文件信息管理界面管理员有权添加文件信息,能够查看文件信息列表中某一文件的详细内容并分享,也能对列表信息进行检索、重置和删除操作。其界面如图5-6所示。图5-6文件信息管理界面图5.2.3文件分类管理界面管理员有权添加文件分类的信息,能够查看文件分类列表中某个分类的详细内容,实现对列表信息进行查询、重新设定和删除操作。其界面如图5-7所示。图5-7文件分类管理界面图5.2.4文件分享管理界面管理员有权查看文件分享列表中某个文件的分享详情和评论数据,并能对列表信息进行检索、重新配置和删除操作。其界面如图5-8所示。图5-8文件分享管理界面图6系统测试6.1系统测试目的无论何种系统,检测都是至关紧要的。通过这种方式,我们能够找出隐藏的问题,进而保证系统的效率和稳定性,防止bug的产生,同时也确保系统的功能和性价比达到预期的标准。6.2系统测试用例系统的检测内容包括:用户登录功能的检测、文件共享查看功能的检测以及密码修改功能的检测。如表6-1、6-2、6-3所示。用户登录功能测试:表6-1用户登录功能测试表用例名称用户登录系统目的测试用户通过正确的用户名和密码可否登录功能前提未登录的情况下测试流程1)进入登录页面2)输入正确的用户名和密码预期结果密码正确登录成功,反之显示错误信息,提示重新输入实际结果实际结果与预期结果一致文件分享查看功能测试:表6-2文件分享查看功能测试表用例名称文件分享查看目的测试文件分享查看功能前提普通用户登录测试流程点击文件分享预期结果可以查看到所有文件分享信息实际结果实际结果与预期结果一致密码修改功能测试:表6-3密码修改功能测试表用例名称密码修改测试用例目的测试普通用户户密码修改功能前提普通用户正常登录情况下续表6-3

测试流程1)点击“修改密码”2)修改后点击“确认”预期结果使用新的密码可以登录实际结果实际结果与预期结果一致6.3压力测试压力测试主要用于确定系统的稳定性以及其在高负荷下的行为表现。主要目的是找出系统的极限,预防系统因突发高负荷而导致的崩溃或性能下降。通过使用网页开发者的工具来捕捉互联网请求,当在前台界面上选定并提交文档时,可以在开发者工具的网络部分找到引发的HTTP请求,分析其相应的网络请求的具体细节,包括请求头部、请求主体、回应头部及回应主体等等,接着观察启动请求的Http方法与URL,从而确认前台对后台发送的请求数据。然后打开jmeter,创建线程组,模拟一定数量用户,创建http请求设定配置请求路径和请求方法也就是刚才抓取到的网络请求信息和后端端口,选择文件上传,设置muitipart/form-data格式,添加上传的文件,设置文件类型以及参数名称,如果没有设置名称会报没有参数名的异常,最后添加监听器。测试最终得出聚合报告,汇合报告,图形结果,响应时间图。6.3.1多用户登录并发测试五百个用户同时登录时压力测试聚合报告如图6-1、图6-2所示。图6-1汇总报告图6-2聚合报告从上述报告分析中可以看出,在五百规模模拟用户请求情况下,单个请求的平均响应时间为5毫秒,中位数50%用户的响应时间为5毫秒,对于前90%和95%的用户来说,响应时间分别为7毫秒和9毫秒;至于那些在前99%的用户,他们可能要花费高达14毫秒来完成这个任务;然而,也有一些用户会以最低的3毫秒或最高达21毫秒的时间来做出回应;此外,错误请求的数量与请求总数的百分比为0,吞吐量为每秒501.0个请求,每秒从服务器端接受到的数据量为108.62Kb,每秒发送给服务器端的数据量为117.91Kb,达到系统开发预期效果。6.3.2多用户上传文件压力测试一万个用户同时上传203Kb照片时的服务器状态的响应时间等图形结果以及聚合图如图6-3、图6-4所示。图6-3图形结果报告图6-4聚合报告对上述研究结果的解读,不难发现单一请求的平均反应时间是16926毫秒,其中有50%的用户需要等待的时间是16700毫秒,而超过90%的用户则需花费31025毫秒来完成这个过程;对于95%和99%的用户来说,分别需要耗费32099毫秒和33118毫秒才能得到回应。至于最低的响应时长,只有34毫秒,而最高达到了34165毫秒。此外,错误请求占了所有请求的比例约为5.14%,系统的吞吐能力大约为每秒处理168.9次请求,同时,服务器的接收数据速率也高达每秒58.60Kb,向其传输的数据速度达到了每秒32704.90Kb,基本符合预期的系统开发目标。6.4系统测试结果对本系统完成的一系列测试包括用户登录功能、文件分享查看功能以及密码修改功能的检测,为私有云存储设计和实现的成功开发做出了坚实的技术支撑。

7总结在设计和构建私有云储存系统前,必须首先理解并满足客户的需求。涉及到技术可能性的评估、功能需求的研究以及其他的需求等等。从技术的角度、财务的角度来全面地研究这个系统的实际操作的可能性。可以确定该系统的可执行性是完全可以被确认的。探讨了私有云储存设计的实施和构建环境及其重要性,明确了该系统的特定商业需求,对系统的基础构架及主要功能组件做了深入的研究,把整体系统分成若干个独立的功能部分。当讨论系统的功能需求时,对整套系统的总架构和关键功能块作出了详尽的解析,选择了适当的技术来执行每个单元的建设任务。系统建成后被布置到使用中,经过了一个全面的检测流程,结果证实系统在其功能性和效率方面符合预期标准。

参考文献杨熙.基于小区服务器的家庭共享文件系统的设计与实现[D].电子科技大学,2022.王偲璇.“云存储”背景下的电子档案长期保存管理系统设计[J].网络安全技术与应用,2022,(03):73-74.刘深,王利朋,刘光享.一种可信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论