统一数据交换(UDX)

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的整体技术架构,目前版本未全部实现


猜你喜欢

转载自blog.csdn.net/wherwh/article/details/80629804