国家教育资源智能导航系统
第三方系统资源信息接入协议
科大讯飞信息科技股份有限公司
2014年05月
版本记录
1. 文档目的
教育资源集中展示系统搜索和导航需要第三方教育资源系统的资源元数据,例如国家教育资源公共服务平台、安徽教育云平台、学科网等资源系统。为了实现汇集的第三方资源信息能在集中展示系统中可被导航,需要保证第三方资源目录属性符合集中展示系统要求。同时,为了保证汇集资源的搜索效果,也需要第三方资源信息包含必要的扩展属性。为此,本文档定义了元数据描述标准。
在统一的元数据标准下,集中展示系统提供多种灵活的资源信息交换方式与第三方资源系统进行信息汇总与同步。只要第三方资源系统满足信息交换接口,就可以将资源信息同步到集中展示平台。
2. 元数据标准描述
元数据描述标准包含了资源元数据字段定义、资源类型定义及相关定义的样例。详细内容参见《资源元数据标准描述》,相关枚举类型字段值,请参见《资源字段枚举值.xlsx 》。
3. 资源信息交换接口
第三方系统同步资源元数据到教育资源集中展示系统之前,需要标准化《资源元数据字段定义》中定义的枚举类型字段值,各个枚举类型字段值,请参考《资源字段枚举值.xlsx 》文档。
根据第三方系统的实际情况,系统提供两种数据同步接口:
3.1 SFTP接口
第三方系统把自己已有资源元数据信息按照《资源元数据标准描述》导出写入到txt 文件中,再通过SFTP 方式上传到教育资源集中展示系统提供的FTP Server 。教育资源集中展示系
统定时扫描FTP Server 目录,检查是否有txt 文件,如果发现新txt 文件,解析txt 文件中资源元数据信息入库。并把解析过的txt 文件转移到其他文件夹中备份。
数据同步支持全量和增量同步方式,第三方系统首次同步数据使用全量同步资源元数据,以后定期增量同步资源元数据数据。
资源同步交互时序图如下图所示:
(FTP 数据交互时序图)
3.1.1 数据格式
第三方系统同步资源元数据到教育资源集中展示系统之前,需要标准化资源元数据,标
准化的字段有:资源类型、知识点、年级、学科、课本、单元、课、出版社、资源来源、资源扩展名,标准化字段信息请参考附件《资源元数据标准描述》。
Txt 同步文件数据格式定义如下:
1. 第三方接入资源系统每次导出的所有资源元数据写入同一个txt 文件中。
2. txt 文件包含多条资源元数据,每条完整资源元数据使用特殊字符串区分开始和结束。
资源开始字符串:s==========s\r\n 资源结束字符串:e==========e\r\n
3. 一条完整资源元数据包含多个字段,每一行包含一个字段信息,格式为:字段名称 =字段
值\r\n,等号(=)前后各有一个空格。资源元数据所有字段名称请参考《4.1资源元数据字段定义》
4. 文件中换行符为:\r\n。
5. 资源信息增加、更新、删除使用status 字段值标识,新增0,更新1,删除-1 6. 完整资源元数据格式如下:
具体实例,请参考附件:
resource_anhui_20140620.txt
3.1.2 文件名格式
Txt 文件名格式分为增量和全量两种格式,如下:
增量文件格式:resource_第三方系统编码_时间.txt ,其中时间为资源元数据同步时间,
时间格式为yyyymmdd 。
全量文件格式:resource_第三方系统编码_all.txt
例如安徽资源云平台同步数据给教育资源集中展示系统文件名格式: resource_anhui_20140522.txt或resource_anhui_all.txt。
3.2 Restful接口
第三方系统调用教育资源集中展示系统开放RestfulAPI 接口,实时增量同步资源元数据,第三方系统同步数据之前,需要通过用户名和密码获取oauth2服务请求token 。服务调用过程如下图:
初次接入教育资源集中展示系统,资源数据量比较大,全量导入资源数据方式采用FTP 接口全量导入数据。
3.2.1 获取oauth2 服务请求token
1. 请求说明
请求参数实例:
grant_type=client_credentials&client_id=***&client_secret=**** 2. 参数说明
操作成功,http 相应状态值为:200,返回json 数据格式,得到access_token,实例数据如下:
{"access_token":"e0b97df8-8b17-41bc-861f-598b5b3e1dc5","token_type":"bearer","refresh_token":"8696789f-0cc4-4890-988b-7b767160ee37","expires_in":3599,"scope":"delete write"}
read
操作失败,根据不同失败原因,http 相应状态值不同,并返回不同的错误信息。
3.2.2 新增资源元数据
1. 请求说明
请求参数实例:
appkey=****&access_token=****&data=**** Data 事例数据结构:
2. 参数说明
3. 返回信息
操作成功,http 相应状态值为:200,
操作失败,根据不同失败原因,http 相应状态值不同,并返回不同的错误信息。
3.2.3 更新资源元数据
1. 请求说明
请求参数实例:
appkey=****&access_token=****&data=**** Data 事例数据结构:
2. 参数说明
3. 返回信息
操作成功,http 相应状态值为:200,不返回数据。
操作失败,根据不同失败原因,http 相应状态值不同,并返回不同的错误信息。
4. 接口协议对比
对比两种数据同步协议,每种方式有各自的优缺点:
1. SFTP 接口:数据同步系统相互依赖关系比较小,不影响双方系统的运行,同时适合大量
数据的传输交互,但数据更新不够及时。
2. Restful 服务接口:数据同步系统相互依赖关系比较强,但能实时更新资源数据。
5. 资源全文检索
资源全文检索通过对资源内容的数据分析,建立以内容为依据的搜索索引库。由于全文检索是基于内容分析,所以第三方系统必需提供资源原文件,且资源文件以HTTP 协议接口提供, 系统通过接口获取文件后,对内容进行分析并创建全文检索索引,从而实现资源的全文检索。 资源文件获取接口规范说明如下: 1、请求说明
2、参数说明
3、返回数据
操作成功,http 相应状态值为:200,返回资源内容字节流。操作失败,根据不同失败原因,http 相应状态值不同,并返回不同的错误信息。
6. 附件:《资源元数据标准描述》
6.1 资源元数据字段定义
6.2 资源类型
第11页,共11页
6.3 学段枚举值
6.4 年级枚举值
第12页,共12页
6.5 适用学习者枚举值
6.6 所属课程标准枚举值
第13页,共13页
6.7 文件格式枚举值
第14页,共14页
第15页,共15页
第16页,共16页
国家教育资源智能导航系统
第三方系统资源信息接入协议
科大讯飞信息科技股份有限公司
2014年05月
版本记录
1. 文档目的
教育资源集中展示系统搜索和导航需要第三方教育资源系统的资源元数据,例如国家教育资源公共服务平台、安徽教育云平台、学科网等资源系统。为了实现汇集的第三方资源信息能在集中展示系统中可被导航,需要保证第三方资源目录属性符合集中展示系统要求。同时,为了保证汇集资源的搜索效果,也需要第三方资源信息包含必要的扩展属性。为此,本文档定义了元数据描述标准。
在统一的元数据标准下,集中展示系统提供多种灵活的资源信息交换方式与第三方资源系统进行信息汇总与同步。只要第三方资源系统满足信息交换接口,就可以将资源信息同步到集中展示平台。
2. 元数据标准描述
元数据描述标准包含了资源元数据字段定义、资源类型定义及相关定义的样例。详细内容参见《资源元数据标准描述》,相关枚举类型字段值,请参见《资源字段枚举值.xlsx 》。
3. 资源信息交换接口
第三方系统同步资源元数据到教育资源集中展示系统之前,需要标准化《资源元数据字段定义》中定义的枚举类型字段值,各个枚举类型字段值,请参考《资源字段枚举值.xlsx 》文档。
根据第三方系统的实际情况,系统提供两种数据同步接口:
3.1 SFTP接口
第三方系统把自己已有资源元数据信息按照《资源元数据标准描述》导出写入到txt 文件中,再通过SFTP 方式上传到教育资源集中展示系统提供的FTP Server 。教育资源集中展示系
统定时扫描FTP Server 目录,检查是否有txt 文件,如果发现新txt 文件,解析txt 文件中资源元数据信息入库。并把解析过的txt 文件转移到其他文件夹中备份。
数据同步支持全量和增量同步方式,第三方系统首次同步数据使用全量同步资源元数据,以后定期增量同步资源元数据数据。
资源同步交互时序图如下图所示:
(FTP 数据交互时序图)
3.1.1 数据格式
第三方系统同步资源元数据到教育资源集中展示系统之前,需要标准化资源元数据,标
准化的字段有:资源类型、知识点、年级、学科、课本、单元、课、出版社、资源来源、资源扩展名,标准化字段信息请参考附件《资源元数据标准描述》。
Txt 同步文件数据格式定义如下:
1. 第三方接入资源系统每次导出的所有资源元数据写入同一个txt 文件中。
2. txt 文件包含多条资源元数据,每条完整资源元数据使用特殊字符串区分开始和结束。
资源开始字符串:s==========s\r\n 资源结束字符串:e==========e\r\n
3. 一条完整资源元数据包含多个字段,每一行包含一个字段信息,格式为:字段名称 =字段
值\r\n,等号(=)前后各有一个空格。资源元数据所有字段名称请参考《4.1资源元数据字段定义》
4. 文件中换行符为:\r\n。
5. 资源信息增加、更新、删除使用status 字段值标识,新增0,更新1,删除-1 6. 完整资源元数据格式如下:
具体实例,请参考附件:
resource_anhui_20140620.txt
3.1.2 文件名格式
Txt 文件名格式分为增量和全量两种格式,如下:
增量文件格式:resource_第三方系统编码_时间.txt ,其中时间为资源元数据同步时间,
时间格式为yyyymmdd 。
全量文件格式:resource_第三方系统编码_all.txt
例如安徽资源云平台同步数据给教育资源集中展示系统文件名格式: resource_anhui_20140522.txt或resource_anhui_all.txt。
3.2 Restful接口
第三方系统调用教育资源集中展示系统开放RestfulAPI 接口,实时增量同步资源元数据,第三方系统同步数据之前,需要通过用户名和密码获取oauth2服务请求token 。服务调用过程如下图:
初次接入教育资源集中展示系统,资源数据量比较大,全量导入资源数据方式采用FTP 接口全量导入数据。
3.2.1 获取oauth2 服务请求token
1. 请求说明
请求参数实例:
grant_type=client_credentials&client_id=***&client_secret=**** 2. 参数说明
操作成功,http 相应状态值为:200,返回json 数据格式,得到access_token,实例数据如下:
{"access_token":"e0b97df8-8b17-41bc-861f-598b5b3e1dc5","token_type":"bearer","refresh_token":"8696789f-0cc4-4890-988b-7b767160ee37","expires_in":3599,"scope":"delete write"}
read
操作失败,根据不同失败原因,http 相应状态值不同,并返回不同的错误信息。
3.2.2 新增资源元数据
1. 请求说明
请求参数实例:
appkey=****&access_token=****&data=**** Data 事例数据结构:
2. 参数说明
3. 返回信息
操作成功,http 相应状态值为:200,
操作失败,根据不同失败原因,http 相应状态值不同,并返回不同的错误信息。
3.2.3 更新资源元数据
1. 请求说明
请求参数实例:
appkey=****&access_token=****&data=**** Data 事例数据结构:
2. 参数说明
3. 返回信息
操作成功,http 相应状态值为:200,不返回数据。
操作失败,根据不同失败原因,http 相应状态值不同,并返回不同的错误信息。
4. 接口协议对比
对比两种数据同步协议,每种方式有各自的优缺点:
1. SFTP 接口:数据同步系统相互依赖关系比较小,不影响双方系统的运行,同时适合大量
数据的传输交互,但数据更新不够及时。
2. Restful 服务接口:数据同步系统相互依赖关系比较强,但能实时更新资源数据。
5. 资源全文检索
资源全文检索通过对资源内容的数据分析,建立以内容为依据的搜索索引库。由于全文检索是基于内容分析,所以第三方系统必需提供资源原文件,且资源文件以HTTP 协议接口提供, 系统通过接口获取文件后,对内容进行分析并创建全文检索索引,从而实现资源的全文检索。 资源文件获取接口规范说明如下: 1、请求说明
2、参数说明
3、返回数据
操作成功,http 相应状态值为:200,返回资源内容字节流。操作失败,根据不同失败原因,http 相应状态值不同,并返回不同的错误信息。
6. 附件:《资源元数据标准描述》
6.1 资源元数据字段定义
6.2 资源类型
第11页,共11页
6.3 学段枚举值
6.4 年级枚举值
第12页,共12页
6.5 适用学习者枚举值
6.6 所属课程标准枚举值
第13页,共13页
6.7 文件格式枚举值
第14页,共14页
第15页,共15页
第16页,共16页