一种异构系统间实现数据交互完整性的方法及系统的制作方法

文档序号:7628015阅读:213来源:国知局
专利名称:一种异构系统间实现数据交互完整性的方法及系统的制作方法
技术领域
本发明涉及数据传输技术领域,尤其涉及一种异构系统间实现数据交互完整性的方法及系统。
背景技术
目前随着数据传输技术的飞速发展,在一些较为复杂的数据处理过程中,单个系统往往无法实现所有的功能,通常是整体数据逻辑处理分布在若干个应用系统中,而此类系统往往架构差异较大,如硬件体系统、操作系统、数据库、开发语言等各不相同,而同时, 若要完成数据的逻辑处理却需要各系统间有序地组合。例如很多银行提供网上银行服务, 其中有一些诸如“代缴话费”、“代销基金”等功能,在其数据处理逻辑中,银行端核心系统管理银行账户、合作单位(如电信公司、基金公司等)管理其自身的账户,而这些系统就是异构的,要完成这样一个交易,就需要在多个异构系统间进行数据交互。在异构系统之间进行数据交互的过程中,当出现异常时,往往依赖传统的数据库保证事务一致性;例如,在上述提及的联机交易系统中,对于逻辑处理的异常,通常采用自动冲正的机制进行处理,即通过一定的机制,调用正交易的反交易以达到保障数据交互完整性的目的;但实践证明,这种传统的做法往往只限于单机系统内部处理,却不能解决异构系统间数据交互时产生的不一致问题,这就需要额外的机制对数据交互的完整性做出保障,目前普遍存在的方式有如下几种1、当异构系统间数据交互出现异常时,由数据交互发起者通过置标志位等判断方式,判断数据的逻辑处理是否异常,如果异常则调用相关的数据反向交互过程;例如,在联机交易系统中,当出现交易异常时,由交易的调用者通过置标志位等判断方式判断逻辑处理是否异常,若异常则调用相关的冲正交易进行处理;但是,此种数据逻辑的异常处理与正常处理全由系统开发人员实现,这对于在有多个外部异构系统参与或系统间多次交互的复杂使用场景下,此种逻辑处理会变得非常复杂,而由于没有统一的机制,处理结果往往达不到预期。2、在异构系统间进行数据交互式,逻辑上认为异常情况较少发生,即使发生时也不处理或简单置标志,后续通过人工方式、由人工触发相应的数据逆交互过程;但是,显然这是一种不作为或被动作为的方式,由于在异常情况下,往往已造成单侧数据交互完成的结果,若不不及时处理,很有可能造成数据丢失,从而对系统的稳定性造成影响。

发明内容
有鉴于此,本发明实施例提供一种异构系统间实现数据交互完整性的方法及系统,能够降低异常处理的复杂性,从而有效保障了异构系统间数据交互的完整性。为解决上述问题,本发明实施例提供的技术方案如下一种异构系统间实现数据交互完整性的方法,包括预设用于上下文数据交互的数据交互区、以及用于登记异常交互信息的异常交互登记区;当数据交互出现异常时,调用所述数据交互区和异常交互登记区,获取当前数据交互的逆交互的相关信息;根据所述当前数据交互的逆交互的相关信息对当前数据交互进行逆交互处理。优选的,所述数据交互区中存储的当前数据交互的相关属性信息包括当前进行交互的数据信息、数据交互的主体信息、当前数据交互名称。优选的,所述数据交互区内存储的数据信息为可读可写信息。优选的,所述异常交互登记区中登记的异常交互信息包括当前数据是否需要进行逆交互的判断信息、当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间。优选的,采用下述方式获取到当前数据交互的逆交互的相关信息调用所述数据交互区,并根据所述数据交互区中存储的当前数据交互名称提取出当前数据交互的数据信息;调用所述异常交互登记区,利用所述数据信息和所述异常交互登记区中登记的当前数据是否需要进行逆交互的判断信息,判断当前数据是否需要执行逆交互操作;如果是, 则提取出当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间。优选的,采用下述方式对当前数据交互进行逆交互处理将获取到的当前数据交互的数据信息、逆交互名称、逆交互处理次数、逆交互处理时间插入系统预设的异常映射表中,并向外部反馈逆交互操作指示;当扫描到所述异常映射表中存储有异常记录时,利用所述异常记录中的相关信息执行数据交互的逆交互操作。优选的,通过下述方式实现所述将相关信息插入系统预设的异常映射表将数据交互过程中设计的相关数据信息、及其出现异常时设计的逆交互的相关信息通过快照方式保存在对应的数据体中。优选的,该方法还包括当多组数据交互出现异常时,按照数据交互的逆序执行每组数据交互的逆交互操作。一种异构系统间实现数据交互完整性的系统,包括设置单元,用于设置用于上下文数据交互的数据交互区、以及用于登记异常交互信息的异常交互登记区;调用单元,用于当数据交互出现异常时,调用所述数据交互区和异常交互登记区, 获取当前数据交互的逆交互的相关信息;处理单元,用于根据所述当前数据交互的逆交互的相关信息对当前数据交互进行逆交互处理。优选的,所述调用单元包括第一提取模块,用于调用所述数据交互区,并根据所述数据交互区中存储的当前数据交互名称提取出当前数据交互的数据信息;第二提取模块,用于调用所述异常交互登记区,利用所述数据信息和所述异常交互登记区中登记的当前数据是否需要进行逆交互的判断信息,判断当前数据是否需要执行逆交互操作;如果是, 则提取出当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间。优选的,所述处理单元包括插入模块,用于将获取到的当前数据交互的数据信息、逆交互名称、逆交互处理次数、逆交互处理时间插入系统预设的异常映射表中,并向外部反馈逆交互操作指示;扫描模块,用于扫描所述异常映射表中是否存储有异常记录时,如果是,则利用所述异常记录中的相关信息执行数据交互的逆交互操作。可以看出,采用本发明实施例的方法和系统,通过预设上下文数据交互区和异常交互登记区,当数据交互出现异常时,利用上下文数据交互区内记录的交互数据以及异常交互登记区内登记的异常信息对所述异常的数据交互进行数据逆交互操作,从而降低了异常处理的复杂性,有效的保障了异构系统间数据交互的完整性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例1异构系统间实现数据交互完整性的方法流程示意图;图2是本发明实施例1方法中获取当前数据交互的逆交互相关信息的流程示意图;图3是本发明实施例1方法中对当前数据交互进行逆交互处理的流程示意图;图4是本发明实施例2的方法流程示意图;图5是本发明实施例3异构系统间实现数据交互完整性的系统结构示意图。
具体实施例方式本发明的基本思想在于通过预设上下文数据交互区和异常交互登记区,当数据交互出现异常时,利用上下文数据交互区内记录的交互数据以及异常交互登记区内登记的异常信息对所述异常的数据交互进行数据逆交互操作,从而降低了异常处理的复杂性,有效的保障了异构系统间数据交互的完整性。其中,需要注意的是,本领域普通技术人员很容易了解,本发明实施例中提及的数据逆交互是指数据交互的逆过程,即将一侧向另一侧已发送的数据送回至原侧,从而使得在数据交互过程中出现异常时,各方数据仍然保证其完整性,而不会因异常情况的发生导致一侧的数据有所丢失,具体数据逆交互过程和具体方式本文不再赘述。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例1提供了一种异构系统间实现数据交互完整性的方法,如图1所示, 该方法包括步骤110 预设用于上下文数据交互的数据交互区、以及用于登记异常交互信息的异常交互登记区;其中,所述数据交互区中存储着当前数据交互的相关属性信息,包括但不限于当前进行交互的数据信息、数据交互的主体信息、当前数据交互名称等;所述异常交互登记区中登记的异常交互信息包括但不限于当前数据是否需要进行逆交互的判断信息、当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间等;需要注意的是,本实施例中提及的数据交互区内部存储的数据信息皆为可读可写信息;此外,所述异常交互登记区开放各种相关的接口以供系统中其他部件调用;并且该异常交互登记区所登记的信息占用系统资源很少,基本不会对系统的正常工作、其他数据处理产生性能影响;值得注意的是,所述异常交互登记区在系统无异常时也进行了数据登记,而在此种情况下该登记的数据为冗余数据,系统不对其进行任何处理,因此对系统造成的影响也可忽略不计;步骤120 当数据交互出现异常时,调用所述数据交互区和异常交互登记区,获取当前数据交互的逆交互的相关信息;具体的,在本实施例中可采用下述方式获取到当前数据交互的逆交互的相关信息,但并不局限于此,如图2所示S121 调用所述数据交互区,并根据所述数据交互区中存储的当前数据交互名称提取出当前数据交互的数据信息;S122:调用所述异常交互登记区,利用所述数据信息和所述异常交互登记区中登记的当前数据是否需要进行逆交互的判断信息,判断当前数据是否需要执行逆交互操作; 如果是,则提取出当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间;否则,结束操作;步骤130 根据所述当前数据交互的逆交互的相关信息对当前数据交互进行逆交
互处理。在实际应用中,本实施例中所述的当前数据交互的逆交互的相关信息包含但不局限于当前数据交互的数据信息、逆交互名称、逆交互处理次数、逆交互处理时间等;具体的,在本实施例中可采用下述方式对当前数据交互进行逆交互处理,但并不局限于此,如图 3所示S131 将获取到的当前数据交互的数据信息、逆交互名称、逆交互处理次数、逆交互处理时间插入系统预设的异常映射表中,并向外部反馈逆交互操作指示;其中,所述将相关信息插入系统预设的异常映射表中的具体实施方式
可为将数据交互过程中设计的相关数据信息、及其出现异常时设计的逆交互的相关信息通过快照方式保存在对应的数据体中;但本领域普通技术人员很容易了解,此种方式并不局限于此,具体本文不再赘述;S132:当扫描到所述异常映射表中存储有异常记录时,利用所述异常记录中的相关信息执行数据交互的逆交互操作;此外,值得注意的是,基于上述步骤,本发明实施例的方法还可包括步骤140 当多组数据交互出现异常时,按照数据交互的逆序执行每组数据交互进行逆交互操作;当然,本领域普通技术人员很容易了解,除了逆序方式,还可以采用其他方式执行数据交互的逆交互处理,例如无序、顺序等,本实施例在此不再赘述。下面以一个联机交易的实例对上述实施例的方法进行详细说明,如本实施例2、图 4所示,该方法包括S410:系统预设用于上下文交换的数据区和用于登记异常交易的异常交易登记区;其中,所述数据区中的数据可读可写,并且各处理部件进行上下文交换时必须使用该数据区;而所述异常交易登记区中登记着冲正相关的交易属性如当前交易名称、是否需要冲正、冲正交易名称、冲正处理重试次数、冲正处理间隔时间等;S420:当系统交易出现异常时,系统根据异常交易登记区中的登记信息,判断出有哪些交易需要自动冲正,并根据异常交易已登记的冲正交易名称属性,得到其冲正交易的名称;S430:然后系统根据以上信息,得到上下文交换区中需用到的数据、已成功的交易名称、以及所述异常交易登记区中该交易的冲正交易名称和其它参数,诸如冲正重试次数、 处理间隔等;S440:再将上述获得的数据插入到一个系统已定义的异常映射表中,并向外部返回交易失败指示;S450 当冲正处理进程扫描到需处理的异常记录后,进行自动冲正处理。可以看出,采用上述实施例的方法,通过预设上下文数据交互区和异常交互登记区,当数据交互出现异常时,利用上下文数据交互区内记录的交互数据以及异常交互登记区内登记的异常信息对所述异常的数据交互进行数据逆交互操作,从而降低了异常处理的复杂性,有效的保障了异构系统间数据交互的完整性。基于上述思想,本发明实施例3又提出了一种异构系统间实现数据交互完整性的系统,如图5所示,该系统500包括设置单元510,用于设置用于上下文数据交互的数据交互区、以及用于登记异常交互信息的异常交互登记区;调用单元520,用于当数据交互出现异常时,调用所述数据交互区和异常交互登记区,获取当前数据交互的逆交互的相关信息;处理单元530,用于根据所述当前数据交互的逆交互的相关信息对当前数据交互进行逆交互处理。其中,所述调用单元520包括(图5中未示出)第一提取模块,用于调用所述数据交互区,并根据所述数据交互区中存储的当前数据交互名称提取出当前数据交互的数据信息;第二提取模块,用于调用所述异常交互登记区,利用所述数据信息和所述异常交互登记区中登记的当前数据是否需要进行逆交互的判断信息,判断当前数据是否需要执行逆交互操作;如果是,则提取出当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间。此外,所述处理单元530包括(图5中未示出)插入模块,用于将获取到的当前数据交互的数据信息、逆交互名称、逆交互处理次数、逆交互处理时间插入系统预设的异常映射表中,并向外部反馈逆交互操作指示;扫描模块,用于扫描所述异常映射表中是否存储有异常记录时,如果是,则利用所述异常记录中的相关信息执行数据交互的逆交互操作。专业人员还可以进一步应能意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明实施例。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明实施例的精神或范围的情况下,在其它实施例中实现。因此,本发明实施例将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。以上所述仅为本发明实施例的较佳实施例而已,并不用以限制本发明实施例,凡在本发明实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
权利要求
1.一种异构系统间实现数据交互完整性的方法,其特征在于,包括预设用于上下文数据交互的数据交互区、以及用于登记异常交互信息的异常交互登记区;当数据交互出现异常时,调用所述数据交互区和异常交互登记区,获取当前数据交互的逆交互的相关信息;根据所述当前数据交互的逆交互的相关信息对当前数据交互进行逆交互处理。
2.根据权利要求1所述的方法,其特征在于,所述数据交互区中存储的当前数据交互的相关属性信息包括当前进行交互的数据信息、数据交互的主体信息、当前数据交互名称。
3.根据权利要求2所述的方法,其特征在于所述数据交互区内存储的数据信息为可读可写信息。
4.根据权利要求1所述的方法,其特征在于,所述异常交互登记区中登记的异常交互信息包括当前数据是否需要进行逆交互的判断信息、当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间。
5.根据权利要求2所述的方法,其特征在于,采用下述方式获取到当前数据交互的逆交互的相关信息调用所述数据交互区,并根据所述数据交互区中存储的当前数据交互名称提取出当前数据交互的数据信息;调用所述异常交互登记区,利用所述数据信息和所述异常交互登记区中登记的当前数据是否需要进行逆交互的判断信息,判断当前数据是否需要执行逆交互操作;如果是,则提取出当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间。
6.根据权利要求2所述的方法,其特征在于,采用下述方式对当前数据交互进行逆交互处理将获取到的当前数据交互的数据信息、逆交互名称、逆交互处理次数、逆交互处理时间插入系统预设的异常映射表中,并向外部反馈逆交互操作指示;当扫描到所述异常映射表中存储有异常记录时,利用所述异常记录中的相关信息执行数据交互的逆交互操作。
7.根据权利要求6所述的方法,其特征在于,通过下述方式实现所述将相关信息插入系统预设的异常映射表将数据交互过程中设计的相关数据信息、及其出现异常时设计的逆交互的相关信息通过快照方式保存在对应的数据体中。
8.根据权利要求1至7任意一项所述的方法,其特征在于,该方法还包括当多组数据交互出现异常时,按照数据交互的逆序执行每组数据交互的逆交互操作。
9.一种异构系统间实现数据交互完整性的系统,其特征在于,包括设置单元,用于设置用于上下文数据交互的数据交互区、以及用于登记异常交互信息的异常交互登记区;调用单元,用于当数据交互出现异常时,调用所述数据交互区和异常交互登记区,获取当前数据交互的逆交互的相关信息;处理单元,用于根据所述当前数据交互的逆交互的相关信息对当前数据交互进行逆交互处理。
10.根据权利要求9所述的系统,其特征在于,所述调用单元包括第一提取模块,用于调用所述数据交互区,并根据所述数据交互区中存储的当前数据交互名称提取出当前数据交互的数据信息;第二提取模块,用于调用所述异常交互登记区,利用所述数据信息和所述异常交互登记区中登记的当前数据是否需要进行逆交互的判断信息,判断当前数据是否需要执行逆交互操作;如果是,则提取出当前数据交互的逆交互名称、数据逆交互处理次数、数据逆交互处理时间。
11.根据权利要求9所述的系统,其特征在于,所述处理单元包括插入模块,用于将获取到的当前数据交互的数据信息、逆交互名称、逆交互处理次数、 逆交互处理时间插入系统预设的异常映射表中,并向外部反馈逆交互操作指示;扫描模块,用于扫描所述异常映射表中是否存储有异常记录时,如果是,则利用所述异常记录中的相关信息执行数据交互的逆交互操作。
全文摘要
本发明实施例涉及一种异构系统间实现数据交互完整性的方法及系统;其中,该方法包括预设用于上下文数据交互的数据交互区、以及用于登记异常交互信息的异常交互登记区;当数据交互出现异常时,调用所述数据交互区和异常交互登记区,获取当前数据交互的逆交互的相关信息;根据所述当前数据交互的逆交互的相关信息对当前数据交互进行逆交互处理。采用本发明实施例的方法及系统,可以降低异常处理的复杂性,有效的保障了异构系统间数据交互的完整性。
文档编号H04L12/24GK102164047SQ20111008104
公开日2011年8月24日 申请日期2011年3月31日 优先权日2011年3月31日
发明者田欢春, 范径武 申请人:恒生电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1