吕太之,张子恒(江苏海事职业技术学院 信息工程学院,南京 211170)
基于云存储的教学资源共享平台设计与实现
吕太之,张子恒
(江苏海事职业技术学院 信息工程学院,南京 211170)
云存储技术基于低成本、高效率等优势已得到了广泛的应用。将云存储技术应用到高职院校教学中,能够有效地促进学生自主学习。基于江苏海事职业技术学院教学资源管理的现状,设计并实现了基于私有云的云存储系统,实现了教学资源的信息化管理和共享。私有云平台基于OpenStack开源框架搭建而成,提供了Web和Android客户端两种访问方式。系统开发采用MVC模式,Web服务器开发通过Spring4+Hibernate实现MVC模式。
云存储;OpenStack;Android;MVC
云计算技术是大型机到CS(Client Server客户端-服务器)模式,再到BS(Browser Server浏览器-服务器)模式巨变之后的IT领域的又一次革命性的创新[1]。智慧国家、智慧城市、智慧校园的建设都离不开“云”[2]。
在学习和生活中经常会用到百度、网易等云盘系统,而这些云盘无疑给学习和生活带来了很大的便利。但是这些公共云盘只适合存储个人信息,并不适合教育资源的共享和使用。江苏海事职业技术学院数字化校园建设已开展多年,但是由于各种原因,到目前为止还没有构建一个类似百度云盘的私有云存储平台。当教师和学生需要共享数字信息和教学资料,需要传送文件时,只能使用移动存储设备、FTP、邮件等方式。云存储的教学资源共享平台是基于此背景而开发的,是江苏海事职业技术学院“互联网+时代下数字化校园建设”项目的子课题,为学院内部师生共享教学资源提供了一种解决方案。
1.1功能需求
当前的功能需求将云存储平台用户分为普通用户和管理员用户。管理员用户主要实现日志管理、参数设置、用户管理等功能。普通用户主要有个人用户管理和存储管理两个功能模块。根据推广使用的反馈,系统将会提供更多级别的用户和功能。当前功能需求如图1所示。
图1 云存储平台用例图
1.2其他需求
对于UI(User Interface用户界面)要求,云存储平台将参照江苏海事职业技术学院校园信息门户网站的布局和色调。安全性方面要求用户的存储空间是私密的,未经授权的访问都是无效的,即使管理员也无法获取任何用户的存储信息,同时要防止用户短时间内多次操作等。性能需求要满足1 000人同时在线操作,大部分的操作控制在5秒以内。
2.1技术架构
云存储平台技术架构如图2所示。
图2 技术架构图
Bootstrap是一款前端框架,基于Html、CSS和JavaScript,比传统前端框架更加灵活,使得Web客户端开发更加快捷。JQuery是一个兼容性良好的轻量级JavaScript库[3]。volley是Android一款网络操作开源框架,简化了网络操作。XUtils框架类似于Java开发中的Hibernate框架,是Android中的ORM(Object Relation Mapping时态关系映射)框架,简化了对数据库的操作[4]。ThinkAndroid是一款Android实现MVC的开源框架。Spring是一款轻量级的开源框架,云盘平台使用该框架完成Restful Web Service和MVC框架,通过Hibernate简化数据库操作[5]。MySQL是Oracle旗下的一款关系型DBMS(Database Management System数据库管理系统),分为社区版和商业版。云存储平台使用的是社区版,降低了开发和运行成本[6]。Restful服务接口(Restful Web service Interface)是一种运用与客户端和服务器交互的软件架构方式[7]。OpenStack是一款开源云计算平台,由若干组件合作完成相关工作[8]。PaaS(Platform-as-a-Service),即平台即服务。IaaS(Infrastructure as a Service),即基础设施即服务。Swift开源项目提供了高可用性的分布式对象存储服务。
2.2功能设计
云存储平台为普通用户使用提供的基本功能包括新建文件夹、上传文件、下载、删除、重命名、复制、移动、搜索、登录、注册、注销、分享等。普通用户的系统功能模块如图3所示。
图3 普通用户功能模块图
3.1OpenStack平台的搭建
云存储平台的搭建采用源代码安装的方式,源代码来自GitHub开源网站。受资金限制,云存储平台的所有服务部署在一台浪潮服务器上,即采用了All-in-one的方式。平台搭建包括了操作系统安装、网络配置、Keystone、Swift等服务的安装。平台安装过程中遇到了很多问题,如网络拓扑结构的设计,环境变量的设置,Keystone数据库配置等问题。
3.2OpenStack API调用
通过HTTP的Restful服务接口调用Open-Stack Swift服务,实现对账号、容器和对象的增删改查等操作。在访问之前,首先需要通过Keystone认证服务器获取访问令牌,然后在请求头加入X-Auth-Token信息。由于通过Restful服务接口调用Swift服务器方式繁琐,并且容易出错,云存储系统开发中使用了JOSS(Java OpenStack storage component)开源工具包来调用Restful服务接口,简化了开发工作。
3.3用户映射
云存储平台通过Keystone服务完成Swift的身份验证。Web服务器连接到Swift服务器需要在Keystone中使用Keystone用户名和密码。将云存储平台客户登录名称和Keystone的租户关联起来,通过该租户信息获取Swift服务的容器信息。为了简化操作,云存储平台的登录名即Keystone的租户名,新用户注册的同时会在Keystone服务器上创建一个租户,Keystone创建成功以后才提示用户注册成功,并将租户ID更新到云存储平台数据库。云存储平台用户信息表主要包括用户ID、登录名称(租户名称)、真实姓名、用户邮箱、最后访问日期、容量、角色ID等信息。
3.4页面美化
为了与学院信息门户的界面风格一致,同时减轻浏览器负荷,提高运行效率,提升用户体验水平,在页面的渲染方面,使用了JQuery,JavaScript等脚本,并且运用Ajax技术,刷新局部页面模块来显示信息,从而让用户感受到更快的响应速度,降低了系统崩溃的概率[9]。云存储平台也使用Flat UI工具包来美化界面。
云计算作为一种新的资源使用方式,已得到了广泛的应用。本文基于OpenStack搭建了一个供学院内部教学资源管理和共享的私有云存储平台,通过开源框架完成了OpenStack API的调用。开发过程中使用了MVC模式,提高了开发效率,使得系统易于扩展。通过Ajax、JQuery、Bootstrap Flat-UI等技术美化了页面,改进了用户体验。但是已实现的基于云存储的教学资源共享平台还存在不足,仍需要进一步改进。虽然数据库设计中已经考虑到权限的问题,但是平台对于用户的空间大小和权限还没有实现,同时也没有提供IOS和Window Mobile两个移动平台。
[1]何清.大数据与云计算[J].科技促进发展,2014(1):35-40.
[2]胡钦太,郑凯,林南晖.教育信息化的发展转型:从“数字校园”到“智慧校园”[J].中国电化教育,2014(1):35-39.
[3]潘杰,周传生.基于jQuery框架的Web研究与实现[J].沈阳师范大学学报(自然科学版),2015,33(1):96-99.
[4]孟远.Android网络通信框架Volley的解析和比较[J].软件,2014(12):66-68.
[5]韩晓霞,梁晓辉,李彩霞.基于MVC模式的销售管理系统设计与实现[J].河北软件职业技术学院学报,2013 (1):58-60.
[6]张晓孪.基于MySQL的小型数据库管理工具实现[J].微处理机,2015(2):48-52.
[7]李凯凯.基于REST的云存储服务接口的研究与实现[D].武汉:武汉理工大学,2014.
[8]孙寒玉,顾春华,万锋,等.一种基于OpenStack的云应用开发框架[J].华东理工大学学报(自然科学版),2015,41(2):272-276.
[8]王亚楠,吴华瑞,黄锋.高并发Web应用系统的性能优化分析与研究[J].计算机工程与设计,2014(8):2976-2980.
Development and Realization of Teach Resource Management System Based on Cloud Storage Technology
LV Tai-zhi,ZHANG Zi-heng
(Jiangsu Maritime Institute,School of Information Technology,Nanjing 211170,China)
Cloud storage technology has been widely applied for its low cost,high efficiency and other advantages. Applying the cloud storage technology in the teaching of high vocation institute can promote students'autonomous learning.The cloud storage platform is designed and implemented based on the teach resources management situation of Jiangsu Maritime Institute.This platform can implement the management and sharing of teaching resources.This platform is implemented by OpenStack,and provides two methods to access,including Web and Android Application. Its development uses MVC pattern,and MVC pattern of Web application is implemented by Spring4+Hibernate.
Cloud Computing;Cloud Storage;OpenStack;Android;MVC;Swift
TP312
A
1673-2022(2016)03-0040-03
2016-06-13
第二届江苏省高校中青年骨干教师和校长境外研修项目(201121);江苏海事职业技术学院千帆团队建设项目(20156001)
吕太之(1979-),男,江苏南京人,高级工程师,研究方向为职业教育、云计算及人工智能;张子恒(1994-),男,江苏南京人,程序员,研发方向为软件开发和云计算。