数据集成系统和数据集成方法技术方案

技术编号:8532978 阅读:244 留言:0更新日期:2013-04-04 16:04
本发明专利技术提供了一种数据集成系统和数据集成方法,数据集成系统包括:第一事务适配器,用于在第一系统进行业务操作时,调用事务运行引擎装置和事务补偿装置;事务运行引擎装置,为业务操作建立业务流程,若业务流程被配置为支持全局事务,则为业务流程创建全局事务上下文;事务补偿装置,用于记录全局事务的状态,以及根据第二事务适配器捕获的调用情况更新全局事务的状态;第二事务适配器,针对每一个业务操作,提供第二系统的服务,捕获调用情况并根据调用情况在本地事务中记录调用结果。本发明专利技术通过事务适配器收集每一个事务型操作的事务状态和执行结果,及时发现不一致的数据记录,给予自动补偿,以保证多个系统集成时数据的一致性。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体而言,涉及一种数据集成系统和一种数据集成方法。
技术介绍
随着企业业务的不断发展,企业规模不断扩大,经营策略不断深化改进,企业对信息化系统的要求越来越高,信息化所覆盖的领域也越来越广,企业的信息化建设从核心财务系统、供应链及生产制造系统,发展到资产管理、预算管理、资金管理、HR管理等,并逐渐延伸到侧重企业间协同的电子商务系统建设。企业在建设这些系统的过程中,为了控制IT系统建设的风险(不能将鸡蛋放在一个篮子里),也因为市场上任何一家软件供应商都很难提供覆盖企业经营活动全生命周期的产品,往往会在各自领域相应选择具备独特优势的IT系统供应商。这样选择的结果就是企业内会出现多个独立的信息系统。即便某个企业因各种原因短时间内在所有领域均选择使用同一厂商的系统,往往也会因为不同业务系统更新换代的频率不同,比如财务系统往往不用频繁升级,而电子商务系统为了快速响应市场变化往往需要快速的改进业务流程或发布新的功能,从而导致同一厂商开发的系统也会出现版本差异,需要独立的开发和维护多个系统(各自配置独立的数据源和运行环境)。另外一种情况就是由于企业内经营业务不同,地理位置限制,即使同一厂商的产品,往往也会采用异地分布式部署的方案。还有一些企业结构庞大,管理关系复杂(重组、并购、加盟等等),企业内本身就存在各种已经投产的IT系统。另外有一些企业的分支机构往往还根据自身需要而采用贴近本组织业务需要的特定软件解决方案。以上众多原因都会导致企业内出现多个独立部署的信息系统。不同的应用系统虽然满足了企业在各个领域及局部范围内的需求,但往往随着时间推移,会在企业内形成信息孤岛。信息孤岛使得企业内的数据无法被有效共享,无法从企业全局范围内挖掘有效信息,业务功能重复建设,业务流程不通畅(如订单系统和供应链、财务系统间往往需要集成以满足企业财务业务一体化的要求,能够管理到从下单到订单从发货、到出库、签收、到财务对账的全流程,再比如WMS系统的库存和供应链系统库存的统一管理等等),无法根据经营需要快速变更业务流程。如何快速、灵活的实现各种异构系统互联互通,有效整合现有软件资产,构建随需应变的跨系统业务流程是企业面临的巨大挑战。要实现系统间的集成,目前有很多较为成熟的技术,例如消息中间件、EAI平台及SOA集成平台等。其中基于SOA (Service-OrientedArchitecture,面向服务的体系结构)的集成类平台,通过SCA服务组件技术,将服务、流程、规则、协议进行分离,真正可以达到随需应变的整合目标,已经成为目前集成的主流技术。无论使用哪种技术,都会面临一个无法回避的问题,那就是多个系统间如何保证数据一致性?与一个系统一个数据源时的事务管理不同,多个具有自己独立数据源的系统交互时,我们无法通过传统的如EJB容器管理事务或者通过JDBC事务接口自行管理事务的方式来保证事务的一致性。目前解决分布式系统事务一致性最典型的做法就是通过两阶段提交技术(Java体系基于此,相应的提出了 JTA的分布式事务接口)。要实现两阶段提交,首先全局事务的数据源必须支持XA特性,也就是说如果某个业务流程处于一个全局事务内,而且对多个系统有事务操作(资源变更),则需要实现和配置所涉及系统的数据源(事务适配器、JMS或JDBC连接池)以支持XA。而且与本地事务相比,XA协议的系统开销相当大,因而在很多生产系统中应当慎重考虑是否确实需要分布式事务。还有些系统在集成时,不做分布式事务配置和控制,完全依靠事后对各系统数据做人工校验和补偿,这样的校验往往工作量巨大,效率很低。有些专利技术或工程实践则是针对特定系统特定业务,专门开发数据核对工具或者界面,把技术问题转化为业务解决,虽然在某些场景下是很好的解决方案,但面对纷繁复杂的业务,这种做法毕竟不是一个通用的做法,一旦出现新的集成流程,往往就需要投入新的开发资源,开发成本很高;另外一些专利技术侧重容错及状态恢复,尝试通过简单方式保证分布式系统间数据的可靠性,但缺乏整个事务控制的概念,无法灵活定制事务控制策略,应用场景有限。
技术实现思路
本专利技术正是基于上述问题,提出了一种数据集成技术,可有效解决多系统集成时事务一致性的问题。有鉴于此,根据本专利技术的一个方面,提供了一种数据集成系统,用于第一系统和第二系统之间的数据同步,包括事务运行引擎装置、事务补偿装置、第一事务适配器和第二事务适配器,其中,第一事务适配器,安装于所述第一系统处,用于在所述第一系统进行业务操作时,调用所述事务运行引擎装置和所述事务补偿装置;所述事务运行引擎装置,为所述业务操作建立业务流程,若所述业务流程被配置为支持全局事务,则为所述业务流程创建全局事务上下文;事务补偿装置,用于记录所述全局事务的状态,以及在所述业务流程运行结束时,根据所述第二事务适配器捕获的调用情况更新所述全局事务的状态;第二事务适配器,安装于所述第二系统处,针对所述全局事务中的每一个业务操作,提供所述第二系统的服务,捕获所述调用情况并根据所述调用情况在创建的本地事务中记录调用结果。因此,在保证数据一致性的前提下,本专利技术不做全局事务的锁控制,不需要参与全局事务的资源必须支持XA协议,同时避免了全局事务在两阶段提交时加锁所带来的性能损耗。在上述技术方案中,优选的,事务运行引擎装置还用于为所述全局事务创建全局事务标识;所述事务补偿装置还用于新增对应于所述全局事务标识的状态记录,所述状态记录包括所述全局事务的状态和所述全局事务中每一业务操作的状态,所述全局事务中每一业务操作的状态来自所述第二事务适配器。该事务适配器可嵌入每个第三方系统中,并可准确收集每一个事务型操作的事务状态和执行结果,以供事务补偿装置处理。在上述技术方案中,优选的,所述事务补偿装置还用于在所述全局事务中所有业务操作的状态不一致时,对处理失败的业务操作进行补偿处理。事务补偿装置可根据一个全局事务中各事务型操作的结果,进行对比,准确及时地发现不一致的数据记录,给予自动补偿,在自动补偿不能完整恢复数据一致性的情况下,还可预警给系统管理员,系统管理员可根据提示进行批量补偿操作,从而保证多个系统集成时数据的一致性。在上述任一技术方案中,优选的,所述第二事务适配器还用于在接收到来自所述第一事务适配器的调用请求后,根据所述调用请求新建所述本地事务,在所述本地事务被成功提交后,开启另一个本地事务。在上述任一技术方案中,优选的,所述第二事务适配器还用于在所述另一个本地事务外围监测异常情况,在出现异常情况时,回滚所述另一个本地事务,并新建其他本地事务,根据异常情况的类型更新所述调用结果以及提交所述其他本地事务。根据本专利技术的另一方面,还提供了一种数据集成方法,用于第一系统和第二系统之间的数据同步,包括步骤1202,在所述第一系统进行业务操作时,通过安装于所述第一系统处的第一事务适配器调用事务运行引擎装置和事务补偿装置,通过所述事务运行引擎装置为所述业务操作建立业务流程,若所述业务流程被配置为支持全局事务,则为所述业务流程创建全局事务上下文,通过事务补偿装置记录所述全局事务的状态;步骤1204,针对所述全局事务中的每一个业务操作,调用所述第二系统通过第二事务适配器提供的服务,所述第二事务适配器安装于所述第本文档来自技高网
...

【技术保护点】
一种数据集成系统,其特征在于,用于第一系统和第二系统之间的数据同步,包括:事务运行引擎装置、事务补偿装置、第一事务适配器和第二事务适配器,其中,第一事务适配器,安装于所述第一系统处,用于在所述第一系统进行业务操作时,调用所述事务运行引擎装置和所述事务补偿装置;所述事务运行引擎装置,为所述业务操作建立业务流程,若所述业务流程被配置为支持全局事务,则为所述业务流程创建全局事务上下文;事务补偿装置,用于记录所述全局事务的状态,以及在所述业务流程运行结束时,根据所述第二事务适配器捕获的调用情况更新所述全局事务的状态;第二事务适配器,安装于所述第二系统处,针对所述全局事务中的每一个业务操作,提供所述第二系统的服务,捕获所述调用情况并根据所述调用情况在创建的本地事务中记录调用结果。

【技术特征摘要】
1.一种数据集成系统,其特征在于,用于第一系统和第二系统之间的数据同步,包括事务运行引擎装置、事务补偿装置、第一事务适配器和第二事务适配器,其中, 第一事务适配器,安装于所述第一系统处,用于在所述第一系统进行业务操作时,调用所述事务运行引擎装置和所述事务补偿装置; 所述事务运行引擎装置,为所述业务操作建立业务流程,若所述业务流程被配置为支持全局事务,则为所述业务流程创建全局事务上下文; 事务补偿装置,用于记录所述全局事务的状态,以及在所述业务流程运行结束时,根据所述第二事务适配器捕获的调用情况更新所述全局事务的状态; 第二事务适配器,安装于所述第二系统处,针对所述全局事务中的每一个业务操作,提供所述第二系统的服务,捕获所述调用情况并根据所述调用情况在创建的本地事务中记录调用结果。2.根据权利要求1所述的数据集成系统,其特征在于,事务运行引擎装置还用于为所述全局事务创建全局事务标识; 所述事务补偿装置还用于新增对应于所述全局事务标识的状态记录,所述状态记录包括所述全局事务的状态和所述全局事务中每一业务操作的状态,所述全局事务中每一业务操作的状态来自所述第二事务适配器。3.根据权利要求2所述的数据集成系统,其特征在于,所述事务补偿装置还用于在所述全局事务中所有业务操作的状态不一致时,对处理失败的业务操作进行补偿处理。4.根据权利要求1至3中任一项所述的数据集成系统,其特征在于,所述第二事务适配器还用于在接收到来自所述第一事务适配器的调用请求后,根据所述调用请求新建所述本地事务,在所述本地事务被成功提交后,开启另一个本地事务。5.根据权利要求4所述的数据集成系统,其特征在于,所述第二事务适配器还用于在所述另一个本地事务外围监测异常情况,在出现异常情况时,回滚所述另一个本地事务,并新建其他本地事务,根据异常情况的类型更新所述调...

【专利技术属性】
技术研发人员:程操红
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1