开放性视角下浙江教育资源公共服务平台数据流的设计和应用
2017-01-03赵川莫世荣
赵川 莫世荣
摘 要:数据是平台核心价值所在,数据开放和共享是互联网平台发展的必然趋势。本文从开放性视角将浙江教育资源公共服务平台数据分为基础数据、共享数据和专属数据,并分层、分类探讨平台数据及数据流的设计,最后以“网络教研”应用接入为案例说明设计的可行性。
关键词:教育资源公共服务;平台;数据;开放;共享
中图分类号:TP393 文献标志码:B 文章编号:1673-8454(2016)21-0051-05
教育资源公共服务平台数据类型多样、关系复杂、容量大。浙江教育资源公共服务平台建设以国家教育资源公共服务体系建设试点为契机,强调互联互通和众筹共建,以进一步推动优质资源共享交流,促进资源应用与教育教学深度融合。在此背景下,研究浙江教育资源公共服务平台数据及数据流的设计和应用,强化数据顶层设计,有助于理顺“国家—省—市—县—校”各级平台之间、理顺平台与应用之间的关系,提升平台性能和提高平台数据安全。
一、从开放性视角梳理平台数据
只有数据开放,才有可能促进互联互通,才能实现资源共建共享。浙江教育资源公共服务平台建成开放平台,形成开放体系,既符合互联网平台技术发展的趋势,也能满足用户对资源应用的多样性需求。如图1所示,浙江教育资源公共服务平台基于开放性视角可将数据分为基础数据、共享数据和专属数据,各类数据经开放平台交换。
如表1所示,基础数据、共享数据和专属数据是依据开放平台和第三方应用的读写权限来区分的。基础数据由教育资源公共服务平台维护,供第三方应用读取;共享数据由教育资源公共服务平台和第三方应用共同维护;专属数据由第三方应用自行维护。
同时第三方应用的专属数据经开放平台许可路由后,可供其它第三方应用读写,具体规则由第三方应用之间协商。
二、开放性视角下浙江教育资源公共服务平台数据流的设计
如图2所示,浙江教育资源公共服务平台包括用户、资源、统计和空间等数据,向下与电信运营商及第三方能力厂商实现云服务、资源转码、统一搜索、消息互通等各种能力的系统集成;向上与各类第三方应用对接;两翼与相应的教育资源公共服务平台和资源内容实现联通,实现公共服务和互联互通两大体系构建。
浙江教育资源公共服务平台已实现电信云部署、第三方资源转码服务、平台与接入应用的资源和信息统一搜索、应用国家平台用户统一消息机制;接入包括网络教研、名师工作室、信息技术学科学习平台在内的14个浙江特色应用和12个国家平台落地部署应用;与浙江教育管理公共服务平台实现用户数据统一,上联国家教育资源公共服务平台,向下通过“同构、异构、映射”三种模式推进全网融通;与国家教育资源公共服务平台智能导航系统对接引入近400万条国家优质资源,通过Solr企业级搜索应用服务接口全网搜索包含区域平台和第三方应用在内的资源信息。
1.数据和数据流设计的原则
教育资源公共服务平台的数据模型称为“核式模型”,既要保证核心数据内容对第三方应用、平台、资源的接入具有足够的吸引力,也要留出足够的空间供第三方应用、平台、资源开展数据设计。浙江教育资源公共服务平台的数据设计的重点在基础数据和共享数据,数据流设计坚持“边界清晰、安全至上、精准高效”的原则。
(1)边界清晰
教育资源公共服务平台内部用户、资源、统计、空间之间采用内部接口调用,不直接读数据库数据,外部与应用、平台、资源之间采用外部接口调用,保持边界清晰,有利于模块化开发,便于故障分析。
(2)安全至上
开放性带来的数据安全不容小觑,设计坚持“最小权限原则”,每个第三方应用或平台只能访问当下所必需的数据,赋予每一个合法动作最小的权限,避免教育资源公共服务平台数据受到错误或者恶意行为的破坏。
(3)精准高效
教育资源公共服务平台数据设计以精准为出发点,既便于数据维护,降低数据设计的复杂程度,也为开放接口高效调用的实现提供基础。要求99%的接口单次服务请求响应时间不超过1秒。单台服务器支持HTTP连接并发请求数多于1000个。
2.基础数据和共享数据的设计
教育资源公共服务平台基础数据和共享数据主要包括用户、资源、统计和空间数据。
(1)用户数据流设计
对于第三方平台和应用而言,教育资源公共服务平台的用户数据属于基础数据,第三方平台和应用只有读权限,没有写权限。浙江教育资源公共服务平台的大部分用户数据(包括机构和用户关系)从浙江教育管理公共服务平台同步读取,不再管理维护,实现“三通两平台”中的“两平台”的初步融通,避免重复数据录入和清洗,保证用户数据的真实性和权威性。浙江教育资源公共服务平台新增用户(包括机构和用户关系)称为自建用户数据,仅由教育资源公共服务平台管理维护。第三方平台和应用的新增用户数据以及相关的用户权限和角色分配由各第三方平台和应用自行管理维护。
教育资源公共服务平台用户授权采用OAuth2.0安全认证机制,用户帐号、密码等信息对第三方应用不可见,第三方通过令牌访问用户在资源公共服务平台上的受权资源,授权流程如图3所示。
OAuth认证的优势在于用户授权第三方应用,而不是平台授权第三方应用获取用户存放在教育资源公共服务平台中的资源。OAuth认证为教育资源市场化运营,为“政府规范引导、企业竞争参与、用户自主选择”的资源应用新机制探索和实施打下基础。
(2)资源数据流设计
资源数据是教育资源公共服务平台的核心共享数据,教育资源公共服务平台围绕资源展开功能设计和开发。资源数据元数据规范和目录编码作为基础数据由教育资源公共服务平台本身管理维护。教育资源公共服务平台依托服务系统提供统一搜索、资源转码、流媒体服务,这些服务可以由第三方企业提供。
国家教育资源公共服务平台通过智能导航系统提供接口下发国家资源,区域资源平台通过报送和报审两种方式向浙江教育资源公共服务平台提供资源。报送是常态化流程,按区域层级逐级上报优质资源;报审是活动性流程,区域平台按活动要求上报资源评审;同样,浙江教育资源公共服务平台既可以向国家教育资源公共服务平台报送和报审资源,也可向区域资源平台推送资源供区域资源平台选择。第三方平台和应用可根据平台或应用的特点获取相关资源,如学科教研根据学科不同获取不同的学科资源;第三方平台和应用可将优质资源报送给浙江教育资源公共服务平台。
(3)统计数据流设计
浙江教育资源公共服务平台统计数据包括内部统计数据和共享统计数据。内部统计数据属基础数据,包括各类资源总量、资源使用情况等,供第三方平台和应用在资源调用时读取;共享统计数据属共享数据,目前主要指积分、经验值和虚拟币等针对用户平台使用绩效体现和平台运营的统计数据。第三方平台和应用按照双方认可的规则向教育资源公共服务平台按用户操作行为推送积分、经验值、虚拟币等数据信息。
(4)空间数据流设计
空间数据是共享数据,空间数据开放度越高,空间展现的可控性和灵活性就越好,相应空间使用的用户体验就越好。
浙江教育资源公共服务平台空间数据流如图4所示。浙江教育资源公共服务平台通过“同构、异构、映射”三种服务模式推进全网融通,其中映射服务与前两者的区别在于映射服务确保用户空间唯一性。映射服务分虚拟映射和实体映射。虚拟映射服务直接使用浙江教育资源公共服务平台所有功能,包括用户、资源、统计、空间和应用,使用虚拟映射服务的区域教育资源公共服务平台不需要通过开放平台获取空间数据。实体映射直接使用浙江教育资源公共服务平台的空间服务,但自建用户、资源、统计、应用等功能的一项或多项,在自建功能中需要获取浙江教育资源公共服务平台开放平台通过映射服务提供的空间数据。
实体映射平台可将自建应用在开放平台中通过模块注册的方式接入空间展示,实现区域门户、区域内所有用户空间展现该自建应用的相应信息,也可通过分享转发将空间数据在自建应用中加工使用。
3.开放平台数据流调控的实现
开放平台将自身的数据、服务等封装成API(应用程序编程接口),并向外界提供API,以吸引第三方的应用开发者开发程序,使用平台服务(包括资源和能力)或增加平台功能。浙江教育资源公共服务平台开放平台(http://open.zjer.cn)不仅提供标准化接口和数据,还提供数据授权、数据流调控和数据调用监控。
(1)开放平台标准化透明开放接口
接口在开发平台中标准化透明公布,任何第三方区域平台或应用提供商均可获得与接口有关的功能描述、接口调用说明、请求参数说明、返回参数说明。目前已有的接口类型与数量如表2所示。
开放平台提供接口的检索和搜索功能,为每一个接口提供编号和应用示范案例,方便沟通交流。同时开放平台提供Java、JS、 PHP、 C#、 C++五个版本的SDK开发包,方便开发者开发和调用。
(2)开放平台提供接口数据调控
如图5所示,开放平台“多轮审核、多层筛选”立体防护数据安全。开发者基于自身所开发应用的需求向平台注册和申请API接口列表,平台管理员审核开发者身份和API列表申请的合理性。
同时,开放平台可对第三方平台或应用调用服务器的IP地址进行白名单限制,确保调用来源地址的合法性;可对开发者调用参数合法性设置范围,确保第三方平台或应用只能对数据授权范围内的数据进行读取和管理;可对任一许可的API设置日调用频度进行流量控制,超出流控额的API调用不被许可,以促使第三方平台或应用尽可能完善本平台或应用的数据体系,应用数据缓存机制,避免高频度调用平台资源和能力,增加教育资源公共服务平台的服务压力,影响其它第三方平台和应用的服务调用。
(3)开放平台管理空间应用展示模块
门户和空间是各类应用信息的汇聚地,为学习者提供自主选课、学习课程、交流协作、评价课程等功能,为教师和教育机构提供课程创建、课程管理、课程答疑、课程测试、教学活动组织等功能。浙江教育资源公共服务平台开放平台为各类应用展示模块提供申请、审核、复测、上线等功能。允许第三方应用通过开放平台接口能力开发和接入应用相匹配的特色展现模块。
第三方应用在开放平台后台填写模块名称、父应用、平台区域(显示的尺寸和主要方式)、模块介绍、流量范围、运行URL等信息后,经接入审核、接入测试后上线。第三方应用和管理员可指定应用注册模块的可见范围,范围包括省级平台、区域平台、甚至学校。
上线后的应用模块,显示在用户空间设置的“应用模块”中,用户可自主选择是否在空间显示。在空间页面渲染时,会将与用户相关的个人票据动态加密传递给第三方应用模块,第三方应用模块根据用户的身份、区域、学科等信息推送给空间,真正构建“以学习者为中心”的空间应用环境。
(4)开放平台路由第三方接口
开放平台允许第三方应用软件将其开发的接口向开放平台注册,所开放的接口纳入API接口列表中,其它第三方平台或应用可按照开放平台的接口调用规则调用相关接口,以获取相应的数据服务。
如图6所示,网络教研平台提供“获取学科公开课”接口,第三方平台或应用在开放平台的授权下,可根据开放接口描述的方式获取到相关学科、学段、播放时段等相关信息筛选下的公开课列表。
(5)开放平台实现接口数据调用监控
接口数据调用的统计和监控,便于及时对数据流进行管控,进而加强数据传输的安全和性能。
总体监控数据包括:活跃API、API调用平均数、API调用最高值、API调用平均响应时间、API调用最长响应时间。及时观察监控动态,对活跃API需要重点关注并开展接口性能优化;对长响应时间的API调用需要分析是否是突发值的还是持续值,对持续响应时间长的API调用需要在优化性能的基础上降低调用频度。
开放平台在提供日志记录的基础上,可具体监控到单个应用、应用模块和接口的运行情况。单个应用每个接口当前的使用状态、调用频度、调用峰值和数据流值;单个应用模块用户的浏览次数、用户订阅数、调用频度、调用峰值和数据流值;单个接口在所有应用中的使用状态、调用频度、调用峰值和数据流值。
平台管理者从宏观和不同颗粒度层面的微观对平台接口的调用进行全面把控,促进开放平台稳定、可持续发展,确保数据传输的安全和性能。
三、“网络教研”应用接入案例
“浙江省中小学网络教研”(访问地址:http://jys.zjer.cn,以下简称“网络教研”)包括教研门户、学科协作组、天天公开课、教学评比等一系列子应用,目前已实现与浙江教育资源公共服务平台实现用户、资源、统计和空间的互联互通。下面以“网络教研”应用接入为案例,具体说明开放性视角下浙江教育资源公共服务平台数据及数据流的设计和应用。
1.用户身份认证
浙江教育资源公共服务平台与各第三方应用实现相同的用户身份认识机制,利用动态令牌获取相关的数据和信息。“网络教研”调用教育资源公共服务平台统一的页面头部和页部,实现以用户消息机制为中心的平台统一格局,帮助用户快速定位到资源、社区、应用等应用模块,定位到发现、搜索等将资源寻找模块,定位到区域、学校、班级等区域位置,定位至站内消息、个人中心等个人信息模块,同时实现应用统计、版权信息、用户帮助的统一链接标识。
用户在应用头部点击用户登录按钮,进入浙江教育资源公共服务平台登录界面输帐号与密码验证,合法用户携带动态令牌回应用界面。网络教研应用根据ticket验证结果获取用户相关信息形成页面头部和尾部,登陆成功,保存session。同时,网络教研应用可在一定的时效内,凭有效令牌向教育资源公共服务平台获取授权范围内的相关数据。
用户凭有效令牌可在教育资源公共服务平台各应用之间跳转,用户各应用使用权限由各应用分别授权。用户退出时session注销,同时调用教育资源公共服务平台使ticket失效。
2.资源共享融通
网络教研实现与教育资源公共服务平台资源统一搜索和资源报送订阅。教育资源公共服务平台不记录网络教研产生的资源目录结构和保存网络教研产生的资源实体,仅通过接口调用以记录网络教研产生的资源记录,供教育资源公共服务平台搜索。教育资源公共服务平台搜索获得网络教研上传的资源,点击资源链接回到网络教研资源显示页,是否允许搜索用户下载该资源,取决于该搜索用户在网络教研中是否有相应的权限。网络教研优质资源管理可报送至教育资源公共服务平台,报送资源经平台审核通过后入库。同时,教育资源公共服务平台优质资源以“云资源”形式显示在网络教研中。
3.积分按动作推送
积分按动作推送,用户在个人中心可实时查询到积分变更结果。
为提升积分推送的效率,提高积分推送的可靠性,网络教研积分规则只限定于资源、活动和论坛相关动作,积分规则需经教育资源公共服务平台审定并配置后生效。
4.空间信息汇聚
网络教研在用户个人空间智能推送与用户学科属性相配套的通知通告、论坛新贴、最新资源、教研活动等信息。
用户在教育资源公共服务平台登录后,进入个人空间,空间携带用户动态令牌信息调取网络教研特定url,网络教研根据来访动态令牌生成展示数据在用户的个人工作(或学习)空间显示。显示内容由网络教研根据业务需要确定,可及时调整和动态刷新。
当前浙江教育资源公共服务平台数据开放还处于初期阶段,进一步探索和研究开放性视角下浙江教育资源公共服务平台数据及数据流的设计和应用,将有助于打造教育资源建设和应用的生态环境,推动教育系统内各级、教育系统外各企业群策群力,真正推进教育资源与教育教学深度融合应用。
参考文献:
[1]周雨程.基于Oauth2.0的认证授权系统的设计与实现[D].华南理工大学,2012.12.
[2]刘大红,刘明.第三方应用与开放平台OAuth认证互连技术研究[J].电脑知识与技术,2012(8).
(编辑:王晓明)