数据交换系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.1.1数据交换系统
数据交换中心需遵循统一数据交换规范支持各应用系统间无人值守的数据交换。数据交换中心是一种分布式联网系统,它的基本结构是通过区域集成服务器将一个区域内的各个应用系统联系起来,各应用的开发者可以从繁冗的数据结构中解脱出来,不再考虑不同系统之间不同的数据结构和字段类型,不再开发复杂且不易移植的数据迁移程序。各应用系统都创建各自的代理程序作为系统与数据交换中心的接口,代理程序之间并不直接通信,而是通过数据交换中心间接通信,数据交换中心是所有代理程序的集成点。
数据交换中心和代理程序都使用统一数据标准的JSON词汇,作为数据传输与交换的语言。数据交换中心可以交换的数据是通过一系列数据对象进行定义的。各数据对象包括了操作状态维护以及内容。数据发布方或数据订阅方根据数据代理程序实现数据的交换。数据代理的职责是将业务系统的数据转化为规范的格式,或将接受到的数据转化为业务系统的数据格式,代理通过数据交换中心的API使用数据交换中心的服务,业务系统通过代理实现数据的交换与共享,业务系统无需关注数据交换的细节,可以完全按照面向数据对象的方式去完成数据交换。数据代理就是业务系统与数据交换中心之间的桥梁。数据交换中心针对基础数据和用户档案数据提供数据订阅和数据发布两种服务,主要的功能包括数据报文管理、数据发布授权管理、接口权限管理、数据发布管理、数据订阅管理、日志管理、数据交换统计等功能。
1.1.1.1数据交换模式
1.1.1.1.1发布模式
发布模式适用于数据的提供方。数据提供方的数据发生变化(新增、修改或删除)时,代理程序会将监控到的数据变化信息和变化类型根据报文规范,组装成一条报文发送到统一数据交换中心子系统的专用通道中,统一数据交换中心子系统接收到报文后,会校验报文格式和解析报文,并完成数据库的数据更新。
为实现数据有效性维护机制,数据提供方(数据源)所发生的任何数据变化,都要以无人值守的方式自动同步到所有的数据使用方。要实现这种无人值守的数据自动同步,需要数据提供方在统一数据交换中心子系统申请发布数据服务,并在应用系统内部完成数据发布代理的开发和配置,实现数据的共享。
发布代理的作用是数据提供方获取到数据变动后,需要自动处理数据,加工成数据报文提供给统一数据交换中心子系统,供数据使用方订阅,同时记录数据交换的日志信息。
1.1.1.1.2订阅模式
订阅模式适用于数据的使用方。数据使用方通过统一数据交换中心子系统订阅需要的数据,当交换中心监控到订阅的该数据发生变化时,会根据报文规范生成相应的报文,发送给数据订阅方。数据订阅方收到报文后,即可消费报文,并完成自身数据库的数据更新。
数据使用方需要在统一数据交换中心子系统申请订阅数据服务,并在应用系统内部完成数据订阅代理的开发和配置。当统一数据交换中心子系统获取到数据提供方的数据时,会将数据同步给所有订阅了该数据服务的应用系统;应用系统可以根据自身的需要,实时或者周期性的更新数据。
订阅代理的作用是数据使用方订阅数据服务,获取到数据报文后,需要自动处理报文加工成自己需要的数据并进行入库,同时记录数据交换的日志信息。
1.1.1.2报文规范
1.1.1.
2.1元素命名规范
元素的名字须采用驼峰命名法,即用一个小写字母开头,后面的单词用大写字母开头,如:
1.1.1.
2.2报文结构
报文分为通用元素和业务元素两部分。通用元素记录报文的来源、业务数据类型编码、业务数据标识ID、测试数据标识以及报文对应的数据对象事件类型:新增、修改、删除。业务元素记录报文对应的数据对象字段,每个字段代表特定的数据含义。
示例:
{
"isTest":1,
"messageBodyType":"account",
"obj":{
"accountId":"6b47dc7d391d4758980303d266a5959e",
……
},
"operatorType":3,
"sourceCode":"eduYun"
}
1.1.1.
2.3报文格式
报文格式一般为JSON格式,在实际的数据交换过程中,为了方便业务系统的快速对接,统一数据交换中心子系统提供了统一的SDK工具包,业务系统只需要做面向对象的开发,封装成数据对象,并调用统一数据交换中心子系统提供的报文发送服务,完成报文的统一格式转换,不需要对报文格式过多关注。
1.1.1.3数据安全管理机制
数据的共享并不是无限制共享,由于数据包含教师、学生和家长的个人隐私信息和各平台的资源建设成果,因此,在实现数据共享的同时,如何保证数据安全也是在数据层建设阶段要重点考虑的问题。
统一数据交换中心子系统具有严格的代理准入和传输授权设置功能,并对传输的数据进行加密,为数据的安全共享提供了保障。统一数据交换中心子系统的安全性主要体现在如下几个方面:
1.1.1.3.1严格的代理准入
统一数据交换中心子系统的代理包括:数据发布和订阅代理,均需要通过accessKeyId和accessKeySecret才能接入到统一数据交换中心子系统,在未得到accessKeyId和accessKeySecret的情况下,任何代理都无法接入到统一数据交换中心子系统,也就无法进行数据传输操作。
1.1.1.3.2严格的授权传输
代理通过统一数据交换中心子系统,发布与订阅的数据都需要在统一数据交换中心子系统授权,不在授权范围内的数据类型不允许发布、订阅。
所有的第三方订阅方和发布方消费或生产的数据,都需要接入统一数据交换中心子系统SDK,并注册IP,用于数据交换平台的IP白名单设置。
通过SDK消费或生产数据服务接口需要传递对应的TOKEN,交换平台会对TOKEN进行校验,并检验该TOKEN是否有获取某服务接口的合法性。
1.1.1.3.3数据分级加密
针对教师、学生和家长的个人隐私信息和各平台的资源建设成果等关键数据属性根据相应的级别进行加密。
1.1.1.4数据交换管理
1.1.1.4.1数据服务审核管理
管理员对第三方系统申请数据服务进行审核管理,包括数据订阅审核和数据发布审核。提供数据服务的列表查询和数据服务的详情查看。
列表页:展示申请人的accessKeyId、数据服务名称、服务状态、发布时间、操作;
服务状态包含:未审核、审核通过、审核不通过、已删除;
详情查看:包含数据服务名称、数据服务编码、数据服务类型、过滤字段(订阅)、审核历史;
1.1.1.4.2调度管理
管理员可以对统一数据交换中心子系统数据发布服务进行调度管理,可以查看第三方系统的数据发布和数据交换的服务状态信息,也可以暂停或终止其数据交换服务。
暂停服务:暂停第三方子系统接入当前的数据服务(当数据服务类型为订阅时,恢复服务可以断点续传)
删除服务:删除第三方子系统接入当前的数据服务(如需重新接入,需要重新走申请数据服务流程)
运行服务:当前服务状态为暂停时可选,实时恢复服务;
1.1.1.4.3权限管理
管理员可以对统一数据交换中心子系统用户(accessKey)进行授权或取消授权,未授权