面向安全云存储的文档共享平台的设计与实现毕业论文内容摘要:

的方式 ;要对数据库进行正确的参数配置,可以从调整内存分配、 I/O、系统参数等方面入手。 杭州师范大学本科生毕业设计(论文)正文 面向安全云存储的文档共享平台的设计 与实现 第 4 页 共 27 页 第二章 开发技术 本章讲述了面向 安全云存储的文档共享平台开发时所用的技术, 网页端通过 ,在网关上使用面向服务体系结构的 WebService技术开发服务,数据库是轻量级的 MySQL,整个平台使用三层架构。 微软 技术简介 ASP技术发展而来, 它 嵌入于网页中,在服务器端执行,是一种服务器端脚本技术。 .NET Framework的 IIS( Inter Information Server)服务器上,也可运行于 Apache、 Nginx等服务器,但需要借助第三方 平台 或 插件。 开发时使用微软的集成开发环境Visual Studio,还可用 MonoDevelop、 Microsoft Expression Web、 Microsoft WebMatrix等工具进行开发。 首选的开发语言是 C或 ,还可以使用 F、 J、 Python等。 与之前的 ASP相比, 的发展性要强大很多, 它分为五大基本对象: Application、 Request、 Response、 Session和 Server,它们依次封装 HttpApplication对象、 HttpRequest对象 、 HttpResponse对象、 HttpSessionState对象和HttpServerUtility对象 ;支持多种控件,包括 HTML控件( HTML control)和用户控件( User control),在 HTML标记添加 runat=”server”,就可以与 ,也可以直接使用服务器控件, 与 HTML控件相比,它能提供更为强大的功能。 用户控件以 .ascx为扩展名,开发简单便捷,能根据相应的需求对控件进行灵活定制; 可管理性高,与 ASP可以较好兼容 ,同时 它的 编程模型和结构 是全新 的 , 这大大提高了应用程序的可扩展性和稳定性 , ASP采用即时解释程序, 而 不同,它在服务器端 将应用程序编译, 这样大幅度提高了应用程序的 运行 速度。 近几年来以 PHP、 Ruby、 Python等为首的 Web技术不断出现,并且逐渐热门,但是 术以其自身的优势仍旧呈上升趋势。 面向服务体系结构( SOA)的 WebService 技术概述 面向 服务的体系结构是一个组件模型, 它通过事先定义好的接口将应用程序的不同功能 、 服务联系起来。 其中接口的定义完全独立于实现服务的操作系统、硬件及编程方法, 这 样一来我们可以使用一种统一通用的方式来实现服务的交互。 WebService则是实现面向服务体系结构的一种方法,它是一个松耦合、平台独立、可编程的 Web应用程序,能够使运行在不同平台或硬件上的应用实现数据交互或集成,并且不需要通过第三方的 软件,也就是所谓的 Web无缝集成。 同时由于 WebService是基于一些已有的技术和常规的产业化标准,部署非常简单,也大大减少了开发应用接口的开销。 面向服务体系结构的 WebService技术主要有以下优势: ( 1)跨平台性,该技术可以让不同平台上的使用不同编程语言的服务进行 数据交互。 ( 2)松耦合性,也就是说服务请求者 、 服务提供者 与服务之间 三者之间 具有松耦合性,这样请求者就不需要了解提供者是如何实现该服务,包括其中的平台架构、编程语言、技术细节等等。 同时在服务发生变更时,应用程序之间的数据交互不会中断。 杭州师范大学本科生毕业设计(论文)正文 面向安全云存储的文档共享平台的设计 与实现 第 5 页 共 27 页 ( 3)可重用性, 当一个服务被创建时,能够用于多个应用程序,可以在任何地点、任何时间通过 Inter网络调用此服务。 ( 4) 接口的明确性, 服务请求者到服务提供者绑定的细节 通过 Web服务描述语言( Web Services Description Language, WSDL) 来 明确描述。 ( 5)开放性, 目前基于面向服务体系结构的 WebService技术都是基于 W3C或其他公认标准实现,主要有 SOAP、 WSDL、 UDDI等。 ( 6)强适应性, 一般客户需求经常会发生变更,而该技术只需要通过适当少量的修改就可以很好的适应。 三层架构概述 三层架构 ( 3tier architecture) 包括 数据访问层( DAL)、业务逻辑层( BLL)和表现层( UI) ,这三层把应用程序 模块化。 数据访问层 也可以叫做持久化层, 所做的就是直接操作数据库, 包括数据库系统、数据文本、 XML文档等等, 主要是针 对数据的增加、删除、修改以及查找,为业务逻辑层或表现层提供数据服务,也就是说业务逻辑层或表现层通过调用数据访问层来实现所有数据库操作; 业务逻辑层则针对每一个具体的问题,处理数据访问层的数据,对数据进行业务逻辑处理,供表现层调用 ,它是整个架构中的核心,在数据访问层语表现层之间架起了一座桥梁,需要有良好的可扩展性 ;表现层 也叫表示层, 一般为 Web形式, 是最接近用户的, 它提供一个界面来与用户进行交互,收集用户填写的数据调用业务逻辑层来实现具体功能,因此在表现层的代码量是很少的,只要业务逻辑层的功能比较完善,不管表现 层如何改变,业务逻辑层都能很好地提供服务。 一般的项目如果只是把程序分为数据访问、业务逻辑、表现三个模块式不能叫做三层架构的,三层架构需要满足一定的规则, 首先在表现层没有或者只有极少的 SQL语句,而且不能包含任何业务逻辑的处理;其次三个模块是可以分别独立运行于不同的服务器,数据访问层能被不同的程序调用;最后程序在去掉表现层之后还能在接口层提供所有的功能。 三层架构的优势比较明显,主要有以下几点: ( 1) 整个项目分成三个模块,开发人员只需要关注其中的一层,利于分工合作。 ( 2) 比较容易做后期的维护工作,一般只 需要修改业务逻辑层,降低了维护的成本和时间。 ( 3)按照这样的架构开发更符合标准化。 ( 4)源代码管理方便,整个代码的结构非常清晰。 ( 5)降低了层与层之间的依赖。 数据库概述 本平台 所采用的数据库是 MySQL。 MySQL是一个小型关系型数据库管理系统, 瑞典的MySQL AB公司 作为它的开发者,目前 已经被 Sun公司收购, MySQL能够支持 多种操作系统,包括Windows、 Linux、 MAC以及 FreeBSD等。 MySQL具有 体积小、速度快、总体拥有成本较低 等特点 ,因此 很多的中小型网站为了 降低成本而选择 MySQL作为数据库。 MySQL作为一个 快速的 SQL数据库服务器 ,实现了多线程、多用户等特性 ,并且 支持关键任务以及重负载生产系统的使用,也可将它杭州师范大学本科生毕业设计(论文)正文 面向安全云存储的文档共享平台的设计 与实现 第 6 页 共 27 页 嵌入到大配置的软件中。 尽管它的版本还在不断更新迭代中 ,但已经 把 一个丰富和有用的功能集 提供给了广大用户。 MySQL是 非常适合访问在 Inter上的数据库 因为它的速度、安全性和连接性。 MySQL的源代码具有可移植性,主要 使用 C、 C++编写,并使用多重编译器进行了测试。 它还为多种编程语言提供了 API,包括 C、 C++、 Java和 PHP等 ,优化了 SQL查询 算法,有效地提高了查询的速度。 MySQL不仅能够作为一个库嵌入到其他的软件中,也可以是一个单独的应用程序应用于客户端服务器的网络环境中。 它提供了多种编码格式例如中文的 GB2312以及 BIG日文的 Shift_JIS等 ,这些 都可以用来当做数据的表名和列名,增强了数据库的灵活性。 虽然与其他的大型数据库比如DB SQL Server以及 Oracle等相比有它的不足之处,例如功能有限、规模小、效率相对比较差,但它可以处理拥有上千万条记录的大型数据,并且支持常见的 SQL语句规范,对于一般的中小型企业和个人用户, MySQL所拥有的功能已经绰绰有余。 它的安装相对简单,便于用户的管理、调试,优化。 相对于之前的版本, MySQL 5大新特性。 ( 1) 优化器的改进 : SQL查询效率大幅度提高 ,主要体现在多范围的读数据和索引条件 pushdown。 ( 2) InnoDB的改进 : InnoDB存储引擎团队提供了 NoSQL的访问接口,可以通过 Memcached的API来直接访问 InnoDB的表。 ( 3) 通过 memcached API直接访问 NoSQL: 使用这种方法对于 Web应用中数据访问 的 性能 来说会大幅度提高 ,适合 简单的查询。 ( 4) 更好的复制 : 改进数据的完整性和可用性,并且提升了数据性能。 ( 5) Performance Schema: 从 版本中引入 , 做了 进一步的修改 , 它所 提供新功能包括:表锁、表锁等待以及表 的输入输出。 杭州师范大学本科生毕业设计(论文)正文 面向安全云存储的文档共享平台的设计 与实现 第 7 页 共 27 页 第三 章 平台设计 本章讲述了面向安全云存储的文 档共享平台的设计,包括架构设计、功能设计和数据库设计。 架构设计 平台架构图 本平台致力于解决目前云存储产品中数据安全性低、云服务提供商不可信、数据缺乏严格访问控制等问题,实现云存储环境下数据的安 全存储、灵活共享以及对已加密数据的严格访问控制,比较适用于企业信息化过程中数据外包给云存储安全性得不到保证的情况。 整个 平台分成四个模块,分别是网关、前端的客户端和管理端、后端云存储和授权中心。 网关是平台的核心,它是客户端和云存储之间的连接桥梁,在网关上会部署 WebService,实现文件加解密、云存储操作、密钥管理等功能,同时网关会隔离内外网;前端的客户端和管理端主要面向普通用户及管理员使用,普通用户上传、下载文件,管理员管理用户的信息;后端云存储是用来存储经过网关加密后的数据,可以使用公有云或私有云;授 权中心负责用户密钥的生成和分布,将生成的密钥发送至网关。 具体架构图可见下图 31。 图 31 面向安全云存储的文档共享平台架构图 如图 31所示, 本平台 前端可以是各种客户端形态,有网站、 APP、安装版的客户端等等;后端支持的云存储服务具有很好的可扩展性,有目前主流的阿里云、百度云等,也可以是自建的 Hadoop私有云;前端与后端之间用网关连接,进行一系列的文件加解密工作,有效地将加密与存储分离,提高安全性;将授权中心单独分离进行密钥生成分发工作。 基本框架搭建 整个平台使用三层架构,在基本框架搭建时使用 Visual Studio2020编程工具 , 基本的框架如下图杭州师范大学本科生毕业设计(论文)正文 面向安全云存储的文档共享平台的设计 与实现 第 8 页 共 27 页 32。 图 32 平台基本框架 首先新建一个解决方案 ,命名为 Gateway,在其目录下分别添加新的项目, MiYunDAL、MiYunBLL、 MiYunWeb就是三层架构中的数据访问层、业务逻辑层和表现层。 然后新建一个WebService项目,命名 MiYunWS,这是网关上服务接口实现的部分。 最后新建 MiYunModel、MiYunCommon、 MiYunManage三个项目,前面两个是实体类库和通用方 法类库,主要是为了辅助三层架构,使整个架构更加完善, MiYunManage是平台的管理端。 MiYunDAL中主要包含基本的数据操作类 MySqlHelp和数据库中每一张表的操作类, 如下图 33。 图 33 数据访问层结构 MiYunBLL是处理 DAL层中数据及实现所有业务逻辑的类库,其中包含的类如下图 34。 图 34 业务逻辑层结构 MiYunWeb是表现层,主要是一些 Web页面、 CSS、图片等, 结构 如下图 35。 杭州师范大学本科生毕业设计(论文)正文 面向安全云存储的文档共享平台的设计 与实现 第 9 页 共 27 页 图 35 表现层结构 MiYunModel和 MiYunCommon分别定义了一 些数据库中的实体和平台通用的方法,结构如下图3 37。 图 36 实体类结构 图 37 公用方法类结构 功能设计 平台 WebService 功能设计 平台的 WebService主要有以下几个接口 , 用户登录接口、文件对称加密接口、文件属性基加密接口、云存储上传下载接口、云存储创建删除 Bucket和文件夹接口、 云存储获取 Bucket、文件夹及文件列表接口、部门角色属性管理接口、用户修改密码接口。 这些接口都是 写在 同一个 WebService中,将 WebService部署在服务器上就可 以实现客户端的调用。 用户登录分为普通用户登录和管理员登录,接口需要判断该用户普通用户还是管理员,相对应的返回成功或者错误信息。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。