论文部分内容阅读
摘要:通过使用云网盘,用户可以随时随地办公,并能实现数据的快速备份和恢复,避免可能出现的数据风险,Openstack对象存储(Swift)是目前常用的一种云存储技术,本文利用OpenStack开源的项目,使用Swift對象存储,设计了一个基于Android的云网盘 App 软件。
关键词:Openstack;Swift;云存储
1 Openstack Swift简介
Openstack Swift 是一个高度可用的、分布式的、最终一致的对象存储,可以控制整个数据中心的大量计算、存储和网络资源的云操作系统。Swift是Openstack存储无约束增长的非结构化数据的理想选择,可以高效、安全、廉价地存储大量数据,且具有很强的冗余性、扩展性和持久性。Swift 支持多种应用,包括上传、复制、存储、移动、删除文档/图像/视频等服务,用户可以使用 Swift 高效、安全、廉价地存储大量数据。
2 系统设计
2.1 需求分析
使用Openstack的云存储Swift,构建网盘客户端APP,实现常规的文件操作。常规的网盘功能包括登录、获取文件列表、分类、上传、新建、拍照上传、移动、复制、下载、删除、还原、打开和查找等。功能需求列表如表1所示。
登录
实现使用OpenStack Swift账户登录和认知,Swift使用OpenStack Keystone服务。登录采用是账户名和密码。使用OpenStack提供的Swift Restful 服务。
2.2 概要设计
根据需求分析,设计云网盘 App 软件包括用户管理、文件管理、文件分类管理三个功能模块。
2.3客户端技术架构设计
根据需求和概要设计,进行技术架构设计。
Swift云存储云端服务能够连接OpenStack Swift云存储,需要在Android端引入SDK,使用SDK项目包(openstack-java-sdk)。实现的原理基于HTTP协议连接云存储Swift Restful服务。同样使用SKD项目包中封装的OpenStackClientService进行异步网络操作。
还原和登录各定义一个Activity。Swift账户管理使用Keystone完成,这里需要Keystone的访问SDK,openstack-java-sdk提供了对OpenStack各服务访问的接口,可以直接使用。
目前SDK提供了对Swift云存储的操作,云存储不是一种文件系统(File System),为了实现文件,基于Swift的SDK接口,封装模拟文件操作的类文件系统,命名为OssFilesystem。
使用一个Activity来完成主界面,导航通过NavigationView控件实现、文件列表通过Fragment来实现。不同的分类操作不同,我们使用不同的Fragment实现,降低程序的复杂性。
所有文档可以实现展示所有文件类别;分类实现文档、图片、视频分类的文件列表;回收站实现回收站的文件列表。均采用Fragment实现。
上传本地文件实现一个本地存储文件导航选择窗口Activity,完成文件选择和上传。
工具类包括文件操作,处理本地缓存,一个文件打开时,需要下载本地。同时为了提供性能,对当前操作文件路径进行缓存,跟踪状态信息。
3、结束语
本文设计了一个基于Android平台的云网盘系统,该系统的设计具备一个商用云网盘APP的几乎所有功能。本文主要介绍了该系统的需求分析、概要设计、界面设计以及客户端技术架构设计,为以后系统功能的实现提供依据。
参考文献:
[1]曾新洲. 一种基于Openstack+swift的高职院校android云网盘设计与实现. 电脑知识与技术,2018(6):55-58.
[2]黑马程序员.Android移动开发基础案例教程.人民邮电出版社,2017年1月
作者简介:王倩,女(汉),1981年11月生,山东淄博,现为淄博职业学院信息工程系讲师,主要研究方向:计算机软件技术。
关键词:Openstack;Swift;云存储
1 Openstack Swift简介
Openstack Swift 是一个高度可用的、分布式的、最终一致的对象存储,可以控制整个数据中心的大量计算、存储和网络资源的云操作系统。Swift是Openstack存储无约束增长的非结构化数据的理想选择,可以高效、安全、廉价地存储大量数据,且具有很强的冗余性、扩展性和持久性。Swift 支持多种应用,包括上传、复制、存储、移动、删除文档/图像/视频等服务,用户可以使用 Swift 高效、安全、廉价地存储大量数据。
2 系统设计
2.1 需求分析
使用Openstack的云存储Swift,构建网盘客户端APP,实现常规的文件操作。常规的网盘功能包括登录、获取文件列表、分类、上传、新建、拍照上传、移动、复制、下载、删除、还原、打开和查找等。功能需求列表如表1所示。
登录
实现使用OpenStack Swift账户登录和认知,Swift使用OpenStack Keystone服务。登录采用是账户名和密码。使用OpenStack提供的Swift Restful 服务。
2.2 概要设计
根据需求分析,设计云网盘 App 软件包括用户管理、文件管理、文件分类管理三个功能模块。
2.3客户端技术架构设计
根据需求和概要设计,进行技术架构设计。
Swift云存储云端服务能够连接OpenStack Swift云存储,需要在Android端引入SDK,使用SDK项目包(openstack-java-sdk)。实现的原理基于HTTP协议连接云存储Swift Restful服务。同样使用SKD项目包中封装的OpenStackClientService进行异步网络操作。
还原和登录各定义一个Activity。Swift账户管理使用Keystone完成,这里需要Keystone的访问SDK,openstack-java-sdk提供了对OpenStack各服务访问的接口,可以直接使用。
目前SDK提供了对Swift云存储的操作,云存储不是一种文件系统(File System),为了实现文件,基于Swift的SDK接口,封装模拟文件操作的类文件系统,命名为OssFilesystem。
使用一个Activity来完成主界面,导航通过NavigationView控件实现、文件列表通过Fragment来实现。不同的分类操作不同,我们使用不同的Fragment实现,降低程序的复杂性。
所有文档可以实现展示所有文件类别;分类实现文档、图片、视频分类的文件列表;回收站实现回收站的文件列表。均采用Fragment实现。
上传本地文件实现一个本地存储文件导航选择窗口Activity,完成文件选择和上传。
工具类包括文件操作,处理本地缓存,一个文件打开时,需要下载本地。同时为了提供性能,对当前操作文件路径进行缓存,跟踪状态信息。
3、结束语
本文设计了一个基于Android平台的云网盘系统,该系统的设计具备一个商用云网盘APP的几乎所有功能。本文主要介绍了该系统的需求分析、概要设计、界面设计以及客户端技术架构设计,为以后系统功能的实现提供依据。
参考文献:
[1]曾新洲. 一种基于Openstack+swift的高职院校android云网盘设计与实现. 电脑知识与技术,2018(6):55-58.
[2]黑马程序员.Android移动开发基础案例教程.人民邮电出版社,2017年1月
作者简介:王倩,女(汉),1981年11月生,山东淄博,现为淄博职业学院信息工程系讲师,主要研究方向:计算机软件技术。