APP下载

基于微服务的江苏终身教育资源平台构建研究*

2018-01-26王小军李慧娟

中国教育信息化 2018年1期
关键词:中间件终身教育江苏

王小军,孙 旭,李慧娟

(1.江苏开放大学 信息化建设处,江苏 南京 210036;2.江苏开放大学 资源建设中心,江苏 南京 210036)

一、前言

在 《国家中长期教育改革和发展规划纲要 (2010-2020年)》的指引下,2010年,江苏省政府启动实施了“创建江苏开放大学、加快构建终身教育体系”这一国家教育体制改革试点项目,赋予了江苏开放大学在构建和完善江苏省终身教育体系中的主体地位。江苏开放大学的成立,使江苏终身教育体系的构建有了实体的依托和新型载体的支持。终身教育体系包括学校教育系统、企业教育系统对在职人员的培训和以城乡社区为单位的社会教育,其通过网络等多种方式实现各类教育力量的互补,打破学习的时空限制,使学习者根据社会需要和自身条件不同选择学习方式,从而促进教育结构体系的终身化、网络化、多样化和社会化。[1][2]

优质的教育资源是终身教育的重要基础,也是“互联网+”时代在线教育的主要载体之一。文中教育资源是指用于终身教育的数字化资源,是以互联网技术为载体,有国家、团体和个人混合提供,以推进教育公平和终身学习为宗旨,能够激发并满足支持者、教育者和学习者需要的优质数字化资源。优质教育资源既包括学习者使用的学习资料,也包括数字化的学习环境,如在线学习平台和数字化资源平台。[3][4]

近年来,数字化教学资源的建设取得了瞩目的成果,但是优质的网络资源平台成为制约教学资源共享的瓶颈。[5][6]目前国内已经建成数字化教学资源平台主要有中国高等教育数字图书馆(CADLIS)、中国知识基础设施工程(CNKI)、国家数字化学习资源中心(NERC)、中国高校课程网、高等学校仪器设备和优质资源共享系统、国家精品课程资源网。国外数字化教学资源平台主要有美国SMETE电子图书馆、休斯顿大学的Connexions项目、澳大利亚教育和培训机构合作计划(EdNA计划)、加拿大国家互联共享的学习资源库EduSource项目、德国基于互联网的远程实验教学LearnNet项目。国内数字化资源平台主要由国家重点立项和投资,在政策和资金上予以保证,部分由企业出资建设,运营模式除国家精品课程资源网免费外,其他数字化资源平台主要采用会员制或加盟制模式。国外数字化教学资源主要由国家政府和民间团体提供资金资助,科研机构提供技术支持和服务,高校提供资源和素材,运营主要采用免费模式,为学习者提供终身学习所需要的资料和素材。

江苏开放大学的建设不仅是教育改革的一项重要任务,也是江苏省全面学习、终身学习的重大工程与创新举措,目前迫切需要建设与江苏开放大学目标和任务相吻合的江苏终身教育资源平台(以下简称资源平台),支撑和完善自主学习服务体系,实践学习者终身学习的需求,同时资源平台应符合江苏省情实际、适应时代需求,并具备开放性和共享性,学习者随时随地通过多种途径可以获得学习资源。但是目前资源平台建设过程中,主要采用单体式应用架构开发模式,难以满足终身教育学习者数量快速增长和资源平台业务功能快速发展的需求,单体式应用开发模式主要存在不支持持续开发和集成、业务功能修复和扩展上线周期长、平台可靠性较低、对新技术和开放工具兼容性低等问题,期望借鉴微服务架构技术,在江苏终身教育资源平台的构建过程中,整合学历、非学历、行业企业、社区教育各类数字化教育资源,统一数据标准、统一资源平台、统一数据库系统,实现数据共享和资源的统一管理。

二、资源平台相关技术

1.云计算和大数据技术

云计算技术主要为客户提供高可靠、高可用、规模可扩展的按需服务,其关键技术主要包括云计算编程模型、虚拟化技术、海量数据管理技术和海量数据存储技术。云计算技术主要包括四种服务模式、四种部署模式、五大核心特征。四种服务模式为基础设施即服务(IAAS),可提供底层硬件资源(存储服务、计算服务)的按需分配;平台即服务(PAAS),将软件平台以服务的形式向开发者提供;软件即服务(SAAS),将软件以服务的形式通过网络向最终用户提供服务;功能即服务(Function as a Service,FAAS),由云计算提供商负责后端基础结构的维护,以服务的方式为开发者提供所需功能,例如数据库、消息、加密以及身份验证等,并可根据需求对服务容量进行缩放。四种部署方式为公有云、私有云、社区云、混合云。五大核心特征包括按需自助服务、泛在的网络接入、资源池化、快速可伸缩性、可计费服务。[7][8]

大数据技术从系统工程方法的角度,可分解为4个阶段,数据生成、数据获取、数据存储和数据分析。从层次角度,可分为3层,从下往上分别为基础设施层、计算层和应用层,基础设施层是利用云计算资源,以特定的服务级别协定SLA和不同细粒度,提供给上层系统。计算层,将数据集成、管理和编程模型封装在云计算资源中的中间件。应用层利用提供的接口,实现不同的数据查询、统计、分析等功能。同时大数据技术在数据采集、数据表示、数据压缩、数据生命周期管理、数据隐私和安全等方面还存在着较多的挑战。[9][10]

2.微服务架构技术

传统的单体式应用在复杂核心业务中,存在代码量大、业务逻辑复杂、开发周期长、测试难度大、系统可靠性低等问题,给敏捷开发和集成部署带来较大挑战。为此,Amazon、eBay、Facebook、阿里等互联网公司,采用微服务架构模式,将复杂的单体式应用分解为一系列功能细粒度、分布式网状结构的服务组件,如亚马逊产品展示页面,由11个微服务组件构成。微服务架构如图1所示,用户客户端和服务器端之间通信采用Restful API轻量级的Http通信机制,访问请求通过API Gateway进行转发,微服务内部之间通信采用基于Http协议的同步机制和基于消息队列的异步消息处理机制,同时提供微服务的注册、发现、负载均衡、监控机制、配置和容错功能,可根据业务需求支持关系型数据库、键值型数据库、非关系型数据库。常见的微服务框架有Netflix的Karyon/Ribbon、Spring的 Spring Boot/Cloud、阿里的 Dubbo等。

应用微服务架构后,为了保证服务的可用性,需要提供微服务的容错机制,常用的微服务容错模式包括,电路熔断器模式(Circuit Breaker Patten)、舱壁隔离模式(Bulkhead Isolation Pattern)、限流(Rate Limiting)、回退(Fallback)。

微服务架构优点显而易见,服务功能内聚,开发效率高,支持敏捷开发和持续部署,服务可在横向和纵向进行轻易扩展,可提高系统整体容错性。同时微服务架构也面临着如下缺点,开发人员需要设计服务之间的通信机制,处理分布式系统的复杂性,提高服务管理的复杂性,因此实施微服务架构的时机选择也十分重要。

图1 微服务架构示意图

三、资源平台建设

江苏终身教育资源平台的建设思路是充分利用主流的混合云架构、聚集行业企业各类资源,联通现有各层次资源平台,对接“江苏省学分银行”系统,服务多类型用户,建设与江苏开放大学目标和任务相吻合的江苏终身教育资源平台,为终身教育学习者提供优质的在线学习资源服务。

江苏终身教育资源平台功能结构如图2所示,借助云计算、大数据分析和微服务技术,从功能层次角度分为六层,自下而上分别为,云资源层、中间件层、微服务层、应用层、领域层、用户层。

图2 江苏终身教育资源平台功能结构图

云资源层采用混合云的设计,可以根据实际需要对接国内外一线云服务提供商的公有云资源,如阿里云、百度云、腾讯云、Amazon云和微软云,按需弹性购买计算、存储和网络等云资源,同时也支持基于VMware、KVM、Xen、OpenStack技术的私有云资源,并可以依托虚拟化技术实现云资源的快速迁移和切换。

中间件层是资源平台的基础,包括核心中间件、开发部署和运维管理三个部分,其中核心中间件由数据库中间件、缓存中间件、消息中间件、应用发布中间件组成,资源平台根据业务需求核心功能优先采用Oracle数据库,部分功能可以采用Mysql等其他数据库,缓存中间件,主要对查询和读数据进行加速,可以选择分布式缓存软件如Redis。消息中间件可以提供同步发送和异步发送消息的模式,并根据不同的微服务应用场景和对消息机制的需求,选用不同模式的消息中间件。应用发布中间件,针对Java可采用ApacheTomcat开源方案或者OracleWeblogic商业方案。资源平台功能迭代更新是常态,开发部署中间件,可以通过成熟的产品和工具,完成资源平台代码的持续集成、环境的持续部署、功能的持续交付,相关自动化工具如Amazon Web Services(AWS),CRP持续交付平台。运维管理中间件既是系统监控运维的核心模块,也是大数据分析重要数据采集的模块,在运维能力足够的前提下,可以选择开源的分布式日志采集方案,如 FacebookScribe、ApacheChukwa、LinkedInKafka、ClouderaFlume。

微服务层是资源平台业务逻辑的核心层,通过RestfulAPI接口提供各类服务,通常微服务以集群方式部署在云计算资源中的虚拟机或者容器中,微服务的调度和容错功能统一集中到微服务层的APIGateway集群,如SpringCloud微服务框架利用Eureka组件实现服务的注册和发现、Config Server实现服务的分布式配置、Zuul组件实现API Gateway功能,可根据路由策略转发服务请求、Ribbon组件实现微服务多个实例之间负载均衡功能,Feign是微服务客户端,Hystrix实现服务监控和断路器功能,Turbine实现对每个微服务实例监控的聚合,Graphite做性能监控,其核心组件示意图如图3所示。

图3 Spring Cloud微服务核心组件示意图

微服务层根据资源平台的功能定位,可以分为系统服务区、资源服务区、第三方应用服务区、大数据服务区四个微服务区。系统服务区主要提供身份认证、用户管理、数据采集和数据管理服务,身份认证服务打通云服务提供商(如百度、腾讯)和江苏终身教育资源平台用户之间数据,实现资源平台用户和互联网产品用户(如百度文库、淘宝大学的注册用户)之间的转化,发挥双方行业特色优势,可在江苏有条件的市县先行先试,共同开拓江苏的终身教育市场,身份认证服务需支持Cas、Oauth、Openid、Saml等通用身份认证功能,支持微信、微博、QQ等第三方交互工具的授权认证,其访问形式如http://res.jsou.cn:10000/system/oauth/authentication?username=jsou。数据采集提供系统相关的各类数据源的收集、筛选、格式化、压缩,为数据存储服务提供内部服务之间的数据传递,数据管理服务主要是数据的添加和删除,将采集数据进行存储,根据数据容量和类型,分别存储到不同的分布式数据存储中,可支持块存储、文件存储、对象存储等存储类型。用户管理服务是负责提供资源平台用户注册、审核、锁定、导入、导出等服务。

资源服务区是微服务层的业务核心区,主要提供资源相关的服务,如资源管理类服务(上传、转码、发布、分类、标签、加密)、资源操作类服务(查询、播放、引用、下载、分享)、资源统计类服务(访问记录、收藏,评价)、资源推荐类服务(根据用户推荐、根据资源推荐)。为了更好地描述资源平台的服务功能,接下来将选择相关重点资源服务功能进行描述。资源上传服务,可支持客户端上传和浏览器插件上传方式,同时支持断点续传功能,为了更好的用户体验,尤其视频资源的上次速率不小于2MB/s,需要云服务提供商在省内有功能完备、支持多运营商的CDN节点。资源转码服务主要是视频资源转码,转码效率不低于10MB/s,支持多码流、多终端视频输出,自动完成视频的切片、转码、水印、加密、合并、CDN分发等业务流程,因此需要在资源转码服务中根据资源的类型调用云端视频转码服务,利用云端大规模专业视频转码集群支撑资源平台视频资源转码服务,如百度云、阿里云、七牛云、Amazon Elastic Transcoder等。资源标签服务,用户可以调用该服务为视频、文本等资源选择或者自定义合适的标签,为个性化资源对接积累数据样本。资源加密服务,可根据资源的版权和用户需求,在资源转码过程中,对资源进行加密,只有授权用户可用访问资源,防止下载和盗链,有效保护资源的知识产权。资源查询服务可以根据资源名称、标签、大小、分类、标识码等信息,查询结果以XML方式返回资源列表给用户。资源引用服务,提供给上层应用使用资源,支持松耦合URL地址推送和嵌入式紧耦合链接两种方式,资源使用者根据使用场景自主决策资源的引用方式。资源播放服务,采用嵌入式播放器模式,视频资源支持普通、标清、高清切换。资源推荐服务,根据推荐服务使用对象的不同,分为基于资源的推荐和基于用户的推荐,如给用户推荐资源,其推荐服务的访问形式如:http://res.jsou.cn:10000/resource/user/recommend?username=user1,根据用户个性化需求,返回用户感兴趣的资源列表。

第三方应用服务区,主要为江苏终身教育机构用户、江苏开放大学系统用户、资源平台联盟用户、移动支付公司等提供第三方应用系统对接服务,主要通过统一的标准(如SOAP协议 v1.2)提供资源平台与第三方平台之间的通信和信息交换,在资源平台功能层面包括资源的共享、用户学习过程信息共享,以及支持学分记录功能,并与江苏省学分银行进行学分的共享、转换、互认,同时支持支付宝、微信等移动在线支付功能。

大数据服务区,主要为资源平台提供内部服务之间的数据存储、数据分析和辅助决策等大数据应用。通过对数据采集服务提供的统一格式采集数据,进行数据存储、数据分析,其中数据存储主要采用MongoDB、Hbase等非关系型数据存储软件,数据分析主要采用基于MapReduce框架的统计分析、个性化推荐、移动社交检测、社交网络分析等应用场景,实现为不同的资源平台用户提供大数据服务,如学习者的个性化推荐、管理者的辅助决策、教学者的统计分析和趋势分析等功能。

通过江苏终身教育资源平台的建设,可以在江苏省内终身教育领域支持多用户类型(个人用户、企业行业用户、平台用户)、多领域(学习教育系统、行业企业培训、社区教育、老年教育)利用移动设备、终端设备访问资源平台,并利用云计算、大数据和微服务等技术,保障资源平台的扩展性、可靠性和安全性。

四、实验分析

为了验证微服务构建江苏终身教育资源平台的可行性,实验选用一台DELL R720 X86通用服务器,开发环境选用Eclipse Neon.2,运行环境Oracle Java JDK 8,微服务框架采用Spring Cloud开发框架(版本号1.1.0),Spring Cloud提供分布式系统的配置管理、服务发现、断路器、智能路由、服务网关、消息中心等开发工具包。微服务平台运行在Docker容器中,利用Docker提供的应用隔离,每一个容器运行一个微服务实例,Docker集群的管理采用GoogleKubernetes进行管理。

Spring Cloud Netflix Zuul服务网关和路由的配置代码如下,通过@EnableZuulProxy注释在应用中启用微服务服务网关和路由功能,根据微服务的ServiceID进行服务路由访问接口服务,实现了资源平台中的关键服务,包括资源的上传服务、转码服务、共享分发服务。

实验中,实现江苏终身教育资源平台服务网关API Gateway微服务1个,服务端口9000,资源的上传、转码、共享分发微服务各2个,服务端口9001-9006,实验结果如图4所示。通过实验仿真,利用微服务构建江苏终身教育资源平台技术方案是有效的。

图4 江苏终身教育资源平台Eureka Server微服务注册中心

五、总结

本文根据江苏开放大学在构建和完善江苏省终身教育体系中的主体地位,围绕江苏开放大学资源库建设项目,通过对国内外优质资源平台学习模式和运营模式的分析,体现了资源建设在江苏终身教育体系构建中的重要性,利用云计算、大数据、微服务等技术,提出了江苏终身教育资源平台功能框架,并从六个层次,分别对资源平台相关业务功能进行了详细的阐述,为江苏终身教育资源平台的建设提供技术方案,并通过Spring Cloud开发框架验证了方案的可行性。

[1]张鲤鲤.终身教育发展与江苏的实践[J].江苏开放大学学报,2015(5):11-19.

[2]金丽霞,许玲.江苏省终身教育体系构建的主要特征概述[J].江苏开放大学学报,2016(1):19-25.

[3]吴遵民.终身教育的基本概念[J].江苏开放大学学报,2016(1):75-79.

[4]袁灵.构建终身教育体系的一种有效方法——资历架构法[J].中国电化教育,2014(11):55-58.

[5]范如永.终身学习理念下我国远程教育研究的热点、前沿和发展趋势分析[J].中国电化教育,2013(2):34-37.

[6]伊万·A.斯诺克,陈荷男.终身教育:杜威的观点[J].开放教育研究,2013(4):47-52.

[7]王聪,王翠荣,王兴伟,蒋定德.面向云计算的数据中心网络体系结构设计 [J].计算机研究与发展,2012(2):286-293.

[8]罗军舟,金嘉晖,宋爱波,东方.云计算:体系架构与关键技术[J].通信学报,2011(7):3-21.

[9]程学旗,靳小龙,王元卓,郭嘉丰,张铁赢,李国杰.大数据系统和分析技术综述[J].软件学报,2014(9):1889-1908.

[10]孟小峰,慈祥.大数据管理:概念、技术与挑战[J].计算机研究与发展,2013(1):146-169.

猜你喜欢

中间件终身教育江苏
树立终身教育理念 推进学习型城市建设
数读江苏
数独江苏
数读江苏
江苏
RFID中间件技术及其应用研究
慕课让终身教育变为一种现实
基于Android 平台的OSGi 架构中间件的研究与应用
终身教育背景下中职高职的有效衔接探析
中间件在高速公路领域的应用