APP下载

基于云计算的远程教育系统研究*

2010-09-12刘晓刚

中国教育信息化 2010年15期
关键词:计算技术调度服务器

刘晓刚

(浙江经贸职业技术学院,浙江杭州310018)

基于云计算的远程教育系统研究*

刘晓刚

(浙江经贸职业技术学院,浙江杭州310018)

中国疆域广大、人口众多,远程教育的应用前景非常广阔。把云计算的技术与方法运用到远程教育系统的建设中,可以整合教学信息资源,提高资源的利用率,提升教学水平。文章讨论了云计算技术在远程教育系统中应用时的几个关键问题,在逻辑结构设计、调度机制、数据安全等方面给出了设计方案,为基于云计算的远程教育系统的具体实现提供了有力支持。

云计算;远程教育系统;逻辑结构;调度机制;数据安全

一、概述

中国的远程教育由于国土面积大、经济发展不平衡、参与人数多而遇到了较多的困难,现有的远程教育系统存在软硬件要求高、资源重复建设、系统扩充能力弱、可配置性差等难题。基于云计算(Cloud Computing)的远程教育系统能够充分发挥云计算的特点,统筹使用各地软、硬件资源,提供强大的远程教学能力和资源提供能力:各地远程教育中心能够统一部署建设资源,有效避免资源重复建设;资源访问者不需要知道资源位于何处,系统使用统一的资源列表提供最合理的服务,不再受地域、时间的限制;对于任意的一个资源访问者,系统可以自动分析IP、确定路由,寻找离他最近的资源并建立好连接,提供最快最好的访问;对于不同用户,系统可以做功能上的定制而非代码级定制,不需要独立部署,提供灵活的自定义功能,从而很好地满足不同学校的教学需求;系统还可方便地进行调整,以支持单位的变化与发展,达到按需使用和随处可用;在用户数大量增加的情况下,无须更改应用架构,仅需增加硬件设备的数量,就可以支撑应用规模的增长;而且基于云计算的远程教育系统不再强求高性能的服务器,由各地普通的服务器组成“云”来提供高性能的服务,节约了硬件投资;“云”的通用性使资源的利用率较之传统系统大幅提升,远程教育单位也无需再负担高昂的数据中心管理成本。本文尝试对基于云计算技术的远程教育系统展开探索,为新型远程教育系统的建设提供支持。

二、基于云计算远程教育系统的设计

1.基于云计算远程教育系统的逻辑结构及设计原理

由于网络环境不理想,集中式访问对网络和服务器压力太大,中国的远程教育单位通常建立多台校外学习中心分流服务器,都采用Browser/Server的网络结构。校本部建立中央教学资源服务器,省级和地市级学习中心也各自建立资源服务器,都安装课件供学生上网使用,学生就近访问学习中心的资源。从使用情况看这种模式有两个明显的缺陷:一是由于学习资源种类繁多且体积庞大,在现有的条件下传输困难,导致各服务器的资源更新不能同步,部分学习中心的资源残缺或滞后,学生经常无资源可用。虽然有的学校采用了先进的卫星广播方式传输,但这种方式代价昂贵不利于推广,而且广播的单向性也不方便分类选择下载。学生使用这种远程教育系统学习,在市级学习中心资源服务器上找不到资源就要访问省级学习中心,再找不到只有访问中央服务器,使用不方便且容易造成网络阻塞;二是要求学生多次注册,即一个学员要在中央服务器、省级学习中心服务器和地市级学习中心服务器注册三次,非常繁琐。

基于云计算的远程教育系统的逻辑结构如图1所示。各远程教育学习中心的资源组成云,远程教育系统应能够自动搜索新的资源并选择最佳路径来传送数据,当一台服务器发生故障时,能自动转向其他服务器;各模块设计实现高效的资源共享,实现教学资源的就近访问;实现一次注册全部资源服务器共享注册信息的功能,不需多次注册。这种系统能充分利用云中的软硬件资源,提供强大的服务能力。而且可以为不同用户提供不同配置的应用和界面,具有很强的伸缩性和适用性。

图1 基于云计算的远程教育系统逻辑结构

2.基于云计算的远程教育系统的调度机制

按照云计算提供资源的类型,可以将其划分为三层。最低层提供基本的基础设施部件如CPU、内存和存储,称为“基础设施即服务”(Infrastructure as a Service,IaaS)。IaaS层的上面,是为特定需求定制的面向服务的主机环境平台,称为“平台即服务”(Platform as a Service,PaaS)。如谷歌应用引擎就是一个实例,它能够部署和伸缩基于Python和Java的Web应用。最上面的层为用户提供其准备使用的应用,称为软件即服务(Software as a Service,SaaS)。Web服务通常使用IaaS提供的云计算服务,而Web浏览器通常用于访问SaaS提供的云计算应用。新型的远程教育系统基于B/S结构,使用由Web浏览器提供的SaaS应用。

远程教育系统的SaaS应用结构可以分为四层:用户接口层、平衡层、应用逻辑层和数据库层。租户使用浏览器通过用户接口层登录系统,平衡层为系统提供可伸缩性,应用逻辑层包括安全服务、外观服务和配置服务,数据库层一般使用共享数据库和分隔数据模式的方式来设计,以提高数据的安全性。为了实现系统的外观、功能的可配置性,以及资源的高效、灵活调度,我们设计了面向请求的调度机制。

从租户来的请求可以分为三类:第一类是外观请求,外观请求由外观模块支持,这种类型的请求要求SaaS应用在不改变业务服务状态的基础上显示指定信息;第二类是配置请求,这类请求需要改变SaaS应用的配置,由于配置模块的设计是从业务模块中隔离出来的,所以配置模块处理这些请求之后也不改变业务服务的状态;第三类是资源请求,这种请求要改变业务服务的状态。例如一位学生提交了一份课件请求,这个操作将激活工作流管理模块,应用将分配资源去维持这个课件播放的生命周期。使用工作流引擎和规则引擎,SaaS应用能容易地处理请求并安排好应用服务支持它们的资源调度。

通过分析SaaS应用的业务流程,可以使用模块设计方法将云计算技术的远程教育系统分成几个无归属和可重用的逻辑功能模块,如图2所示。规则引擎(Rule Engine)管理业务规则并决策工作流引擎(Workflow Engine)的操作,工作流引擎能够装配一个新进程并且正确执行它。从租户来的业务请求都被应用接收,通过分析相关的规则,规则引擎将决定如何处理下一步并且发送应答去工作流引擎。之后,工作流引擎将在规则引擎的指导下激活关联的业务服务(Business Service)模块。对于租户的资源请求,业务服务模块将请求递交给业务管理模块(Transaction Management),业务管理模块调度远程教育的资源(Video,Image,Text)输出到浏览器,从而完成资源的调度。

图2 远程教育调度机制

三、基于云计算技术的远程教育系统的数据安全

1.云计算技术远程教育系统的数据安全性要求

在传统远程教育系统中,应用服务器和数据库设备、网络都部署在校本部,系统维护都是由学校自己掌握,每个客户的数据是完全独立的。而在云计算技术的远程教育系统中,应用服务器、数据库设备不再由学校自己管理,而是都部署在软件服务运营商处,系统维护也不再由学校负责。另外,云计算技术是完全基于互联网使用的,用户所有的交互和数据都需要通过互联网,这也给数据的安全带来隐患。远程教育系统虽然不像商业系统那样对安全性有极高的要求,但是师生信息、试题、答案、课件等是私有数据或具版权的作品,也不允许对外泄漏。这就要求在设计云计算技术的远程教育系统时,必须采用较可靠的技术和手段来保证数据的安全。

2.云计算SaaS应用的数据隔离方案

在传统远程教育系统的应用中,每个用户的设备是独立的,相互之间数据是绝对隔离的,应用也是相对独立的。而对于云计算技术远程教育系统的SaaS应用来说,应用部分不再独立,数据设备也可能不独立,因此必须采用数据隔离的方法来保证用户数据仍然像传统应用一样安全。SaaS应用的数据隔离方案一般有以下三种:

(1)独立数据库:一个用户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但是成本高。

(2)共享数据库、数据模式(Schema)隔离:多个或所有用户共享数据库,但一个用户单独一个模式。这种方案为用户提供了一定程度的逻辑数据隔离,但并不是完全隔离;同时每个数据库可以支持更多的用户,成本较低。其缺点是管理比较复杂。

(3)共享数据库、数据模式共享:用户共享同一个数据库、同一个模式,但为每个需要隔离的业务表加上用户ID来实现用户数据的隔离。这是共享程度最高、隔离级别最低的模式,但是系统的实施成本最低。这种方案会增加系统设计开发时安全方面的工作量,数据的备份和恢复困难也是其缺点。

考虑成本因素和安全性要求的水平,云计算技术的远程教育系统采用共享数据库和数据模式隔离方式,具有较高的安全性和较低的成本,比较适合中国的远程教育实际情况。但是,除了数据库中的数据隔离,云计算技术的远程教育系统还有一个安全性方面的先天缺陷:由于系统由软件服务运营商开发和维护,开发人员和管理维护人员拥有对敏感数据的控制权,存在一定的安全隐患。

3.针对云计算增强的数据安全性设计

在传统应用中,对用户身份密码要进行加密,但是很少对用户的业务数据进行加密,因为数据库都是自己管理。但是在SaaS应用中数据库由运营商来管理,对于用户来说,运营商及数据库管理员不是完全值得信任的,必须对一些敏感数据进行数据隔离,防止被窃取。

我们尝试通过改变惯用的存储方法和SaaS用户的应用来解决这个问题。在开发软件过程中,我们从软件中分隔用户数据,在软件运行之后,如果用户的新数据能存储在一个新的位置,如用户自己或数据库服务商提供的一个隔离的数据库中,而这个新位置是软件服务运营商所不知道的,就可以有效保护敏感数据。

完成的细节如下:当设计系统时,开发者开发和维护用户的数据库,不可避免地获取了数据库的结构(大多数情况下他们不需要知道数据的细节),在创建和运行系统需要的数据库时,我们可以按照通常的加密方式来加密数据库,同时添加一些小的设计去替换软件的系统功能,使得当系统运行时用户可以更改数据存储的位置。

图3 数据迁移示意

如图3所示,软件服务运营商提供的原数据库服务器A上实际运转的数据库能够迁移至新的服务器B上运行,即将服务器A上的数据库拷贝并下载到用户自己的硬盘上,然后用户将数据库中的文件自由移动到其他的服务器数据库中,并且使用它们作为正式的数据库文件。

在这种方法中,数据库被移动,原始数据库服务提供者失去了获取服务器A上用户敏感数据的权力。同时,由于先前设计中的加密限制,服务器B管理者也失去了获取用户有价值数据的机会。

但是由于当前开发技术的限制,在用户通过Web接口鉴别到数据库的新位置后,在相应的代码中要修改新数据库访问的连接字符串。同时,服务提供方的开发者获取连接字符串后也能够轻易地通过ADO.NET等技术获取其他服务器上的用户数据。因此必须分隔连接字符串部分的数据代码,方法是编写一个小的桌面应用程序,只要输入数据库的IP地址和用户名、密码等信息,就会自动生成一个新的包含连接字符串的动态链接库文件(.dll),它直接覆盖替换掉旧的动态链接库,同时更新了连接字符串。因为动态链接库文件是编译过的,里面的连接字符串无法被窃取。这样在设计时为用户数据库管理系统添加一个替换动态链接库文件的功能,用户就可以重新指定数据的存放位置,动态链接库的替换过程不被软件服务运营商知道,软件开发者和维护者就无法获得用户的敏感数据。

四、结束语

中国疆域广大、人口众多,远程教育的应用前景非常广阔。把云计算的技术与方法运用到远程教育系统的建设中,不但可以整合教学信息资源,提高资源的利用率,提升教学水平,而且可以为云计算带来新的应用领域,使云计算服务更加贴近我们的生活和学习,让我们切身感受到科技带来的巨大变革。本文讨论了云计算技术在远程教育系统中应用时的几个关键问题,在逻辑结构设计、调度机制、安全性等方面给出了设计方案。笔者认为,基于云计算的远程教育系统研发技术基本成熟,完全可以利用云计算高效的运算处理能力和无限的存储能力来提升中国远程教育的整体水平。☉

[1]Zhang Qiang,Cui Dong,Enhance the user data privacy for SAAS by separation of data,2009International Conference on Information Management,p:130-132,2009.

[2]Meiko Jensen,Jörg Schwenk,Nils Gruschka,Luigi Lo Iacono,On Technical Security Issues in Cloud Computing,2009 IEEE International Conference on Cloud Computing,p:109-116,2009.

[3]Lamia Youseff,Maria Butrico,Dilma Da Silva,Toward a Unified Ontology of Cloud Computing,in ieee xplore,p:2-10,2009.

[4]Börje Ohlman,Anders Eriksson,René Rembarz,What Networking of Information Can Do for Cloud Computing,200918th IEEE International Workshops on Enabling Technologies: Infrastructures for Collaborative Enterprises,p:78-83,2009.

[5]Liang-Jie Zhang,Qun Zhou,CCOA:Cloud Computing Open Architecture,2009 IEEE International Conference on Web Services,p:607-616,2009.

[6]Stefan Tai,Cloud Service Engineering,200918th IEEE International Workshops on Enabling Technologies:Infrastructures for Collaborative Enterprises:p:3-4,2009.

(编辑:杨馥红)

book=78,ebook=109

TP302.7

A

1673-8454(2010)15-0078-04

*浙江省教育厅2009年科研项目“基于云计算的远程教育系统研究”,项目编号:Y200907827。

猜你喜欢

计算技术调度服务器
基于5G和边缘计算技术的智能仓储数字化管理平台
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
电力调度自动化中UPS电源的应用探讨
通信控制服务器(CCS)维护终端的设计与实现
基于强化学习的时间触发通信调度方法
一种基于负载均衡的Kubernetes调度改进算法
PowerTCP Server Tool
云计算技术在现代化办公系统中的应用
得形忘意的服务器标准
计算机网络安全服务器入侵与防御