数据交换服务组件
该平台还提供了数据交换服务组件,如下所示

如上所示,数据的处理包括数据源、数据的抽取、数据格式规范化、数据加工处理、数据目标等组成。
数据源或目标可以是数据库、数据文件、内存表等。
l 数据库
主要支持的数据库包括:Oracle、SQL Server、DB2、Sybase ASE、Sybase IQ、Informix、My SQL等;
l 文件
支持的文件包括:有分隔符的文本文件、Excel文件、DBF文件、ReiKing数据文件、XML等其他格式的文件;
l 内存表
由客户端API传来的数据或者是消息队列传来的数据,以内存表的形式存储,经过处理后的数据也可以以内存表的形式提供给内存表或放到消息队列中,由消息中间件作可靠的传输处理。
数据的抽取
数据的抽取主要实现对数据源的批量、增量、实时的抽取。支持实时触发和非实时(含准实时)的数据抽取
n 实时触发一般用在消息队列和应用系统调用,通过消息队列绑定数据处理服务的方式或通过应用程序调用ReiKing的客户端API调用服务的方式实现。
n 非实时数据抽取一般通过定时服务或其他的调度方式,由数据抽取层主动抽取数据库或数据文件的数据,一般用批量抽取或增量抽取的方式。
数据格式规范化
数据格式规范化用来实现把抽取来的数据、消息队列的数据、客户端传来的数据作格式的规范化处理,格式化的过程就是建立统一的数据对象的过程,统一数据对象用来存储了各种不同的数据,并支持不同数据格式之间的转换处理。
数据加工处理层
数据加工处理层主要对规范化的统一数据对象做数据的复制、数据的转换、数据的路由处理。
l 数据的复制是指将规范化的数据对象复制到另一数据对象的过程,在这个过程中,数据不做任何的改变。
l 数据的转换是指规范化的一个或多个数据对象经过转换处理后放到另一数据对象的过程,在这个过程中,数据作了转换处理,转换处理方法主要包括:
n 格式转换,包括字段拆分/合并、不同格式间转换
n 静/动态字段,包括系统时间、动态序列号、给定值
n 基于规则的翻译,包括基于规则表的翻译、给定规则翻译
n 数学运算,不同的数据对象之间作数学运算
n 聚类处理,根据一个或几个字段做聚类操作
l 数据的路由处理是指经过规范化的数据对象根据数据路由条件将处理后的结果数据(可能经过转换,也可能没有经过转换处理)放在不同目的的数据对象中。

路由条件为路由判断的方法,支持的路由条件主要是包括:
等于、不等于、小于、小于等于、大于、大于等于、大于且小于、大于等于且小于、大于且小于等于、大于等于且小于等于、规则表达、是空、非空、在列表中、包含、开始为、结束为等方法。
n 采用“一次抽取,并发路由”的机制
n 支持一对多的数据推送方式
n 减轻对数据源如数据库的压力
n 提高处理的性能。
下图是数据转换和路由服务数据映射操作界面截图

支持的数据源:
n 数据库表
n 内存表
通过消息队列绑定该处理服务或者通过客户端API调用传来数据
支持的数据目标
n 数据仓库,如IQ
n 数据库
n 内存表
将处理的结果返回给调用者或者将处理结果放到消息队列中,由消息中间件传递给相应的订阅者。
当数据源为数据库表时,其处理如下所示:

当数据源为内存表时,其处理如下所示:

当数据目标为内存表时,其后续的处理如下所示:

当目标内存表传递给消息队列时,可以:
– 支持异地可靠传输
– 支持一对一、一对多传送
– 通过队列邦定交由目标服务器的数据转换和路由服务做处理