数据流转重点解决以下两个领域的问题:
1)为了业务流程运转的需要,数据实时发生过程中从一个系统到另外一个系统的流转。
2)为了经营分析和管理的需要,数据准实时或者日终批量的方式从前台操作、中台控制到后台决策系统的流转。
这两种流转方式,一种是基于SOA架构,借助于ESB来完成的,通常把它叫作消息总线;另外一种则是借助于批量数据交换服务平台来完成的,通常把它叫作数据总线。这就构成了当前企业数据架构中的“双总线”策略。
1.数据实时交换
在前台交易系统、渠道系统之间,会大量使用实时的数据交互方式,实时交换的目的有两个:一是为了完成一个完整的业务操作流程,数据基于流程模型在不同应用之间流转;二是为了满足在业务操作过程中一些实时营销、风险控制等动态管理决策的需求,数据基于应用需要在不同系统之间流转。如果把这种基于交易单元的数据处理和基于实时决策的数据处理封装为服务,把服务产生的数据通过消息包的方式发布出去,发布出去的消息可以被指定的接受方接收,进行下一步的处理,这就是基于SOA架构下的消息总线的服务机制,在企业应用架构中叫做ESB(EnterpriseServiceBus)。
基于ESB传输的内容主要是符合约定格式的消息包,消息包有两种主要的传输方式:点对点模式和广播模式。
(1)点对点模式 在点对点模式中,两个系统之间直接建立消息传输通道。根据消息传输通道连接的保持模式可分为长连接与短连接。长连接是指两个系统之间一直保持一条或数条消息传输通道,无论是否有消息传输的需要。当需要传输消息时不需要即时发起连接,可以直接复用传输通道。短连接是指每次消息传输时需要即时的建立消息传输通道,消息传输结束后关闭传输通道。由于点对点模式为两个系统之间的消息传递,因此采用长连接居多。点对点模式在选型中通常会采用交易中间件或消息中间件。
(2)广播模式 广播模式和点对点模式的区别是不选择目标进行消息发布,因此很少建立点与点之间的长连接,就发布方而言也没有选择性,采用广而告之的策略,接受方可以有选择性的收取发布方发布的信息,按照自身的业务逻辑进行处理,也可以忽略消息。
无论是点对点模式还是广播模式,信息的传输主要通过企业服务总线(ESB)技术完成。ESB技术是多种中间件相关技术的集合,其中用到的主要功能如下:
1)系统服务化和服务管理:接入到总线的各个应用系统必须将自己的系统功能以API或其他方式对总线开放接口,即形成自己的服务能力,并在总线范畴内对服务的注册命名及寻址进行管理。
2)传输服务:传输服务包括内容的路由功能以及确保通过企业总线互连的业务流程间的消息的正确交付。
3)中介:提供位置透明的路由和定位服务,提供多种消息传递形式,支持广泛使用的传输协议。
4)多服务集成方式:如JCA,Web服务,Messaging,Adaptor等。
5)服务和事件管理支持:调用服务的记录、测量和监控数据,提供事件检测、触发和分布功能。
ESB最核心的功能在于服务管理和高性能的消息传递。ESB采用“中心-节点”模式实现系统间实时数据交互,可以是同步或者异步消息交互。数据格式类型可以是报文或者平面文件。在消息交互中一般采用固定格式报文的方式。
ESB中的消息机制是核心,一般都会采用消息队列技术。通过消息队列,ESB提供了异步的通信能力,消息会保存在队列中,直到订阅消息的接收者取回它或者消息被Push到目标系统。此外ESB也可以提供文件传输,对于前端交易系统间可靠性要求较高的文件交互,可以采用消息+文件传输方式。与下面所说的批量文件传输不同,ESB中的文件传输主要针对实时性要求更高的文件传输。ESB同样也会支持断点续传等功能,保证传输的高可靠性。
2.数据批量交换
基于消息总线的实时数据流转主要通过ESB来承担,非实时数据流转则主要是由数据批量系统来承担的。数据批量交换系统主要解决以下领域的操作:
1)源系统到管理分析系统之间的批量数据流转。
2)源系统之间的批量数据流转。
3)数据整合平台到数据应用平台(数据集市)的批量数据流转。(www.xing528.com)
4)数据集市之间的批量数据流转。
通常把承担批量数据流转的平台叫作EDB(Enterprise Data Bus)企业数据总线,或者叫作企业数据交换平台。企业数据交换平台的功能定位,如图4-4所示。
图4-4 企业数据交换平台的功能定位图
数据交换平台具备的功能如下:
1)配置功能。
①数据交换标准配置:定义数据交换标准,并将反映到各个应用所需要的数据结构中。所有的数据交换标准定义信息,均以XML结构记录。数据交换标准定义管理工具完成的功能有新建标准、修改标准、删除标准。
②数据交换流程配置:数据交换是依据数据交换流程实现的,针对不同的数据,可以设定和管理不同的数据流转过程。数据交换流转过程的描述也采用XML方式。具体功能有新建流程、修改流程、删除流程。
2)数据抽取。需要支持按照以下抽取方式:
①源数据的类别:是内部系统、外部数据源还是手工补录数据。
②源系统的分布方式:是集中式还是分布式。
④源数据的抽取方式:是消息队列、数据库直连还是数据文件。
⑤源数据抽取的时间窗口:是优先考虑源系统的性能约束还是应用系统的功能要求。
⑥源数据的全增量抽取策略:是增量抽取还是全量抽取。
制定完整的抽取策略和方案,需要从以上各个方面进行全面和细致的分析。
3)数据交换过程中的处理。
①增量比对:支持增量抽取,提供数据更新的时间点或周期,以便可以灵活处理。
②数据筛选:数据交换平台为了满足各数据消费系统使用数据的要求,要具备对数据进行筛选的自定义功能,包括行筛选和列筛选。
③数据格式标准化:数据交换平台为数据标准管理模块提供标准落地接口,通过数据标准规范数据模型设计,并按照数据标准整合数据的方式实现数据标准的落地。根据标准对代码进行转换,使数据消费系统按照同一标准来使用数据。
除此之外,还有数据投影、加密、压缩、分拆等不同类型的处理,不再一一阐述。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。