1 简介
UDX:Unified Data eXchange System统一数据交换系统
UDX是一个分布式的数据对象交换系统。存储在不同平台,数据库,应用系统的数据通过UDX能够以数据对象为单位进行交换。
一个数据对象是一个有意义的业务实体。
UDX系统的组成如下图所示:
交换主体是需要交换数据的系统,如一个数据库。
接口的作用是面向不同的交换主体的适配器,负责UDX和交换主体之间的数据转换,地址标记。接口隔离各个交换实体之间的差异,接口是UDX中与应用相关的部分。
数据提供者接口方式[1]支持:
l 空接口:空接口是直接面向提供者数据源
空接口方式支持全表处理和增量处理2种方式。
全表处理仅适用于数据量少,实时性要求不高的应用。
增量处理依赖数据源的某个字段,如最后更新时间字段,或时序递增的字段(如自增长字段)
空接口不需要对原系统做任何修改,对数据源只读。
空接口支持新增和修改,不支持删除。删除对于业务系统而言通常不是必须的,所以本方案仍是快速,简单的选择。
l 事件队列:事件队列表记录数据变更的摘要信息,如什么数据发生了什么变化。由业务应用系统写入。
事件队列方式能支持所有的实体变更。
要由应用系统写入,应用系统可以采用统一的方式做简单修改,如利用触发器。
数据接收者接口方式支持:
l 空接口:直接写入到目标数据源中
UDX内核是应用无关的分布式数据传输系统,提供在不同网络层上的一致的数据传输界面。
UDX内核具有以下传输特性:
l 可靠:在任何故障(传输网络,UDX故障,接口错误,交换实体故障)的情况下,能够确保数据的送达
l 消息分级:根据内容分可靠性和优先级分级
l 时序控制:对有时序属性的交换活动提供支持
l 高效:并行处理提供系统的交换效率
l 事务支持:提供交换实体的事务特性
l 支持安全属性:数据加密
l 错误处理:数据传输错误时可以根据需要自动挂起
l 校验:验证数据在交换实体之间
l 可管理:UDX内部组件,接口可集中配置
l 可监控:可监控UDX内核,接口及交换实体的实时运行状况
2 功能
UDX可以作为应用系统之间数据层的透明的集成工具。
也可基于UDX构建应用系统,如传单系统。
UDX可适用的场合:
l 应用无关:适应性的扩展通过接口实现
l 适用于企业内部数据/应用整合
l 适用于企业之间数据交换
l 适用不同性质的企业
l 可满足企业对关键数据的应用需求:如主档管理,核心业务应用
例如,UDX能为企业提供以下应用功能:
l 实现主档等共享数据在分布式环境下的统一管理和维护
l 应用于关键业务流程:如流通领域的单据在不同营销节点之间的实时传输
l 在业务和系统整合时,利用UDX集成数据,消除数据的不一致性
l 当业务结构调整和规模扩大时,可以把集中式应用进行分布部署,UDX提供内部数据同步和交换
l 整合所有现有的各种应用系统和数据资源,不论何种平台,形成企业范围的共享的底层数据设施
l 构建企业和商业伙伴的数据交换平台,实现即时通信,协作和线上业务处理
3 特性/规格
3.1 特性
UDX具有以下特性:
1. 支持异构数据源:如支持在不同的数据库之间的数据交换
2. 支持局域网和广域网
3. 数据传输可靠:存储转发,重发,保证数据的正确传输
4. 传输属性控制:可针对不同的数据指定传输要求,如优先级,存储转发,时序控制,自动挂起,自动校验
5. 高效率传输:支持并行处理
6. 支持单播,多播:支持一个数据实体发送给多个数据节点发送
7. 数据传输安全:数据加密,签名可避免数据传输过程被窃取或篡改
8. 支持UDX服务器验证:提供在不安全网络环境下的安全保证
9. 易于配置:可对各个UDX服务器,接口进行远程集中配置。接口支持自定义脚本完成传输前后的扩展逻辑。
10. 可监控:实时运行状态检测,错误报警和提供交互式处理手段
11. 复杂复合数据支持
3.2 规格
指标 | 值 |
版本 | 1.1 |
服务器操作系统 | Windows |
主通信数据库 | MySQL |
通信节点数据库 | MySQL,SQL Server |
最大数据包(字节) | 64M(默认) |
4 技术架构
UDX的技术架构如下图[2]:
4.1 UDX内核
UDX的核心是由多个UDX服务器组成的一个传输网络。
UDX服务器通过传输总线(T-Bus)连接,可组成星型结构或网状结构。
星型结构有一个UDX主控服务器,所有其它UDX服务器都注册连接到主控服务器上,这种结构在容错性,容量方面需要在主控服务器上应用相应的集群。
网状结构时,每个UDX服务器都是对等的,支持最短路径和加权路由选择。
传输总线提供可靠,安全的传输服务。
UDX服务器由以下主要模块组成:
l Hotfox框架:跨平台的应用服务器容器
l SEMQ实例:构成传输总线的实例,提供应用模块API访问
l 通信模块:提供主动/被动连接器,用于组网和通信
l 消息分发:多队列的基于消息的任务调度器
l 插件管理:各种功能模块的管理模块
l 服务器管理:管理UDX服务器的注册和接入
4.2 接口层
接口层分两个子层:接口处理层,接口环境层。
接口处理层负责通过接口环境层对交换实体数据进行I/O处理,处理过程对数据进行转换。
转换后通过地址转换确定在UDX系统的地址,调用UDX的接口进行发送处理。
对于接收的数据则通过接口处理层进入交换实体。
l 地址转换
交换实体交换的数据必须有表示接收者的信息。需要把交换实体内部的目标地址映射到UDX系统中,这个过程就是地址转换,转换后把需要发送的数据标记上UDX的地址。
地址转换方式和算法和交换实体相关。
对于接收的数据,必须反向解析出交换实体的内部地址表示。
l 寻址
寻址是指在UDX内确定接收UDX服务器的地址和路由,寻址的执行实际上在UDX的SEMQ模块内完成。
l 数据转换
根据需要把交换实体的数据转换为UDX内部格式,在出口端则还原出目标交换实体的格式。
l 数据I/O
从交换实体获取数据和提供数据。
l NGX,RAWX
NGX是内部定义的数据交换标准
RAWX表示交换实体间原始数据交换协议,即UDX对数据不做任何处理的情况。
接口环境层中的各种标准和API方式同时支持双向操作,交换实体支持和UDX实现。
UDX实现这些标准和提供API可用于第三方开发。
4.3 管理总线(M-Bus)
M-Bus提供UDX内核和接口的统一的管理和监控界面。
包括:
l 信息表示界面
l 信息传输界面
l 查询,展示:实现配置,监控框架
4.4 交换实体
交换实体可以是任何有数据(信息)交换需求的实体。
广义上讲,交换实体可以包括个人,UDX则延伸到客户端。
实体的多样性由接口层处理和隔离。
[1]如果考虑与应用系统隔离,可以利用数据交换表在UDX和接收数据源之间交换
[2] 该图是UDX的整体技术架构,目前版本未全部实现