实现系统间数据交互的处理单元、数据发送/接收方法

文档序号:7925682阅读:229来源:国知局
专利名称:实现系统间数据交互的处理单元、数据发送/接收方法
技术领域
本发明涉及一种企业各个系统间进行数据交互的技术,特别是涉及一 种通过开放接口实现不同系统间数据交互的技术。
背景技术
随着企业规模的扩大,企业内部的各种系统随着增加,系统间的数据 交互也越来越多,然而由于很多系统早期并没有开放接口,或是系统使用 的架构、操作系统、开发语言不一致,导致数据交互的困难。
目前,实现系统间数据交互的方式有文件方式、Socket、 RPC、 Web服 务等,但文件交互方式不够实时,很难应付同步数据交互,Socket、 RPC 方式实现起来相当繁琐,Web服务是克服异构系统间交互困难最简单的一 种方式也是现在最常用的方式。对于Web服务方式,需要进行数据交互的 系统只需提供各自的Web服务做为数据交互的接口 ,即可与其他系统进行 交互。但是,参与交互的每个系统接口内部的处理方式不一致,导致数据 交互的安全、稳定、性能受到了影响,各个系统的开发人员不得不投入大 量的精力去维护、优化这些数据交互接口。

发明内容
本发明克服了现状中数据交互接口实现不一致的问题,提供了一种将 交互工作从系统中剥离出来,统一实现系统间数据交互的数据处理单元、 数据发送方法和数据接收方法。
本发明采用以下技术方案
一种实现系统间数据交互的处理单元,包括
数据交互清单,用于配置数据类型、系统标识、系统数据接收地址、 数据处理/接口实现类之间的对应关系;
数据接收接口,用于接收来自其他系统发送的数据;
数据发送接口,用于将数据发送到其他系统;
数据处理/回调接口,通过所述数据处理/回调接口将数据接收接口接 收到的数据转交到数据对应的程序中进行处理;
控制器,用于控制单元内各模块根据所述数据交互清单的配置进行数 据交互。
优选的,所述单元还包括数据队列,用于存储异步数据交互模式下, 异步发送和异步接收的数据。
优选的,所述单元还包括数据压縮/解压縮以及加解密模块,用于对 交互数据进行压縮/解压缩处理,以及加解密处理。
优选的,所述单元还包括线程池,用于管理并行处理交互数据的各 线程。
优选的,所述数据接收接口为Web服务,所述系统数据接收地址为数 据接收接口对应的地址。
一种实现系统间数据交互的数据发送方法,包括以下步骤
1) 调用数据发送接口,提取待发送数据的数据头;
2) 根据数据头中的数据类型在数据交互清单中进行匹配,匹配结果包
括待发送数据的接收接口地址;
3) 数据发送接口调用接收接口地址,完成数据发送操作。
优选的,当以异步方式发送数据时,所述步骤1)具体为调用数据 发送接口,从数据队列中提取一条数据,并提取该数据的数据头;所述步 骤3)之后还包括在异步发送间隔时间到达后,转入步骤l)进行下一条 异步数据的发送。
优选的,所述步骤2)中匹配的结果还包括数据压縮处理指示信息 和数据加密处理指示信息,所述步骤2)、 3)之间还包括按照所述匹配 结果对待发送数据进行压縮和加密处理。
一种实现系统间数据交互的数据接收方法,包括以下步骤 1)数据接收接口接收来自其他系统的数据;2) 根据数据交互清单中设置的校验规则对数据进行校验处理;
3) 提取校验通过的数据的数据头,并在数据交互清单中进行匹配;
4) 根据匹配的结果对接收数据通过数据处理/回调接口完成处理,或 者进行数据暂存。
优选的,所述步骤3)中匹配的结果包括数据同步/异步接收方式, 数据类型对应的数据处理/回调接口实现类;所述步骤4)具体为对于异 步接收方式的数据将数据存入数据队列;对于同步接收方式的数据,将数 据通过数据处理/回调接口交给对应的数据处理/回调接口实现类进行处 理。
优选的,所述步骤3)中还包括判断接收的数据是否为压縮和加密
数据,将压縮数据和加密数据进行解压縮处理和解密处理。
采用本发明,与现有技术相比,所有的交互都在交互处理单元中实现, 使原来每个系统都要关注的交互性能、安全、效率等问题全集中在处理单 元中统一解决,系统很简单地就可以将处理单元集成进来,使得系统的开 发人员根本不需要去了解交互的技术细节,完全从交互中解脱出来,大大 节省了系统的开发时间,也避免了重复开发。此外数据交互清单使得系统
间的交互关系变得清晰明了,数据校验、安全规则等也可在此灵活配置; 数据的异步发送方式,使数据发送系统的性能不再受制于交互系统数据处 理能力的制约,提高了数据的并行处理能力,节省了系统的等待时间,且 有了异步数据队列的支持,数据的完整性也得到了保障。


图l是本发明优选实施例的处理单元结构示意图2是本发明系统间数据交互结构示意图; 图3是本发明优选实施例数据发送处理流程图; 图4是本发明优选实施例数据异步发送流程图; 图5是本发明优选实施例数据接收处理流程图6是本发明优选实施例接收异步数据的处理流程图。
具体实施例方式
下面结合附图并通过具体实施例对本发明的技术方案进行详细说明。 如图l所示的本发明优选实施例的处理单元结构示意,主要包括以下 处理模块-
控制器,用于控制处理单元中其他模块的运行。
数据交互清单,用于配置数据类型、系统标识、系统数据接收地址、 数据处理/接口实现类之间的对应关系。具体为配置三种对应关系, 一是系 统标识与此系统的数据接收地址的对应关系,二是数据类型与数据接收系 统标识的对应关系,三是数据类型与数据处理接口实现类的对应关系。还 可配置数据类型对应的校验规则、加密方式、是否需要压縮等。处理单元 就是根据交互清单来决定数据的处理方式及流向的。
数据接收接口,用于接收来自其他系统的数据的接口,此接口可以是
一个Web服务,每一个集成了处理单元的系统,都会有一个此接口对应的 地址。
同步/异步发送接口,供系统发送数据时调用,系统可根据自身的情况 决定采用同步还是异步方式发送,发送时传递的参数为一个包含数据头的 数据,数据头中含有数据的类型、来源系统编号、是否是同步数据、是否 是回调数据、是否加密等,发送接口会根据数据头中的数据类型,将数据 发送至数据交互清单中数据类型所对应的所有系统中。
数据处理/回调接口,数据处理接口使得组件接收到某类型的数据时, 知道应该将该数据交给哪个程序进行处理,每种数据类型都应该有对应的 数据处理接口实现;回调接口用于数据异步发送方式中,如果数据接收系 统完成数据的处理后系统还有后续的操作要处理,则在此接口的实现中处 理,同样,每种需要回调的数据类型必须要有此接口的实现。
数据队列,用于存储异步发送、接收的数据。
压縮/安全,用于保证交互数据的高效及安全性,对数据进行压縮/解 压縮以及加密/解密处理。
线程池,用于管理并行处理数据的线程。
如图2所示为两个系统间进行数据交互的连接示意图。系统A和系统 B中都分别设有用于数据交互处理的处理单元,其中系统A的数据发送接
口与系统B的数据接收接口相连;系统A的数据接收接口与系统B的数据 发送接口相连。其数据交互处理的核心就是系统A和系统B根据数据交 互清单来决定处理方式和流向,并通过数据发送和数据接口实现数据交互。 具体实现时,可以通过以下操作步骤完成
第一步,定义好进行交互的各个系统的编号、交互的数据类型(比如 用户新增数据、产品注册数据)以及数据头的格式定义;
第二步,将交互处理单元集成至系统中。针对于每种数据类型提供的 两个接口,即数据处理接口与数据回调接口;
第三步,实现数据发送。在系统需要发送数据的地方,对交互处理单 元的发送接口进行调用,以同步方式发送数据则调用同步发送接口,以异 步方式发送数据则调用异步发送接口。
第四步,配置交互清单。
完成上述四个步骤后,交互处理单元即可根据交互清单的配置进行数 据交互。
如图3所示为系统数据发送时的流程
1、 系统根据自身需要,决定采用同步还是异的方式进行数据的发 送;
2、 如果为异步发送方式,则调用交互组件的异步发送接口,异步发 送接口接收到数据后,将数据存入至异步发送队列,发送结束;
3、 如果为同步发送方式,则调用交互组件的同步发送接口,同步发
送接口接收到数据后,根据数据头中的数据类型,至交互清单中
査找此数据类型是否需要进行数据压縮/加密处理;
4、 如果需要进行压縮/加密处理,则调用压縮/加密模块,压縮/加
密模块会根据交互清单中的配置对数据进行对应的压縮/加密处
理;
5、 发送接口根据数据头中的数据类型,至交互清单中査找出该数据 类型所要发往的所有系统及系统的数据接口地址,
6、 发送接口分别调用査找到的数据接口地址,完成数据的发送操 作。
当以异步方式发送数据时,会将数据存至异步发送队列中,交给异步
发送线程处理,异步发送线程是一个轮询发送队列的线程,时刻都运行在 交互组件中,如图4所示,即为异步发送线程处理数据的流程
1、 异步线程判断发送队列是否有数据,如果没有数据则进入步骤4;
2、 如果队列中有数据,线程则取出一条数据,并从数据头中得到数 据的类型,根据数据类型,至交互清单中查找此数据类型是否需
要进行数据压縮/加密处理;
3、 执行上一流程描述中的4至6步骤;
4、 进程休眠一个时间间隔(时间间隔可在交互清单中进行配置),
然后进入下一次轮询,即步骤l。
如图5所示为交互组件接收到数据时的处理流程
1 、 交互组件数据接收接口接收到来自其他系统的数据 ,
2、 根据交互清单中配置的校验规则,对数据进行校验,如数据格式、 数据的来源、类型等,以避免恶意的数据进入系统;
3、 如果数据校验不通过,则结束数据的接收处理;
4、 如果校验通过,则根据数据头判断数据是否为压縮/加密的数据, 如果为压縮/加密的数据,则进行解压縮/解密的处理;
5、 根据数据头判断数据是否为同步数据,如果不是,则将数据则将 数据保存至异步数据接收队列,并结束数据的接收处理。
6、 根据数据头判断数据是否为回调的数据,如不是,则进入步骤8;
7、 数据为回调数据,则根据数据类型,至交互清单中査询数据类型 对应的回调接口实现类,将数据交给此实现类处理,结束数据的 接收处理。
8、 数据不为回调数据,则根据数据类型,至交互清单中査询数据对 应的数据处理接口实现类,将数据交给此实现类处理,结束数据 的接收处理。
当以数据为异步数据时,会将数据存至异步接收队列中,交给异步接 收线程处理,异步接收线程是一个轮询接收队列的线程,时刻都运行在交 互组件中,如图6所示,即为异步接收线程处理数据的流程
1、 异步接收线程判断接收队列是否有数据,如果没有则进入步骤4;
2、 如果队列中有数据,线程则取出一条数据,并根据数据头判断数
据是否为回调的数据;
3、 如为回调数据,则根据数据类型,至交互清单中査询数据类型对 应的回调接口实现类,将数据交给此实现类处理,然后进入步骤 6;
4、 数据不为回调数据,则根据数据类型,至交互清单中查询数据对 应的数据处理接口实现类,将数据交给此实现类处理;
5、 数据处理完毕后根据数据头判断是否需要进行回调,如需进行回 调则査询出数据来源系统的数据接收地址,并向此地址发送回调 数据;
6、 进程休眠一个时间间隔(时间间隔可在交互清单中进行配置), 然后进入下一次轮询,即步骤l。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说 明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术 领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若 干简单推演或替换,都应当视为属于本发明的保护范围。
权利要求
1.一种实现系统间数据交互的处理单元,其特征在于,所述单元包括数据交互清单,用于配置数据类型、系统标识、系统数据接收地址、数据处理/接口实现类之间的对应关系;数据接收接口,用于接收来自其他系统发送的数据;数据发送接口,用于将数据发送到其他系统;数据处理/回调接口,通过所述数据处理/回调接口将数据接收接口接收到的数据转交到数据对应的程序中进行处理;控制器,用于控制单元内各模块根据所述数据交互清单的配置进行数据交互。
2. 根据权利要求1所述的实现系统间数据交互的处理单元,其特征在 于,所述单元还包括数据队列,用于存储异步数据交互模式下,异步发送和异步接收的数据。
3. 根据权利要求1或2所述的实现系统间数据交互的处理单元,其特征在于,所述单元还包括数据压縮/解压縮以及加解密模块,用于对交互数据进行压縮/解压縮 处理,以及加解密处理。
4. 根据权利要求1或2所述的实现系统间数据交互的处理单元,其特征在于,所述单元还包括线程池,用于管理并行处理交互数据的各线程。
5. 根据权利要求1或2所述的实现系统间数据交互的处理单元,其特 征在于,所述数据接收接口为Web服务,所述系统数据接收地址为数据接 收接口对应的地址。
6. —种实现系统间数据交互的数据发送方法,其特征在于,所述方法 包括以下步骤1) 调用数据发送接口,提取待发送数据的数据头;2) 根据数据头中的数据类型在数据交互清单中进行匹配,匹配结果包括待发送数据的接收接口地址; 3)数据发送接口调用接收接口地址,完成数据发送操作。
7. 根据权利要求6所述的实现系统间数据交互的数据发送方法,其特征在于,当以异步方式发送数据时,所述步骤1)具体为调用数据发送接口,从数据队列中提取一条数据,并提取该数据的数据头;所述步骤3)之后还包括在异步发送间隔时间到达后,转入步骤1)进行下一条异步数据的发送。
8. 根据权利要求6或7所述的实现系统间数据交互的数据发送方法,其特征在于,所述步骤2)中匹配的结果还包括数据压縮处理指示信息 和数据加密处理指示信息,所述步骤2)、 3)之间还包括按照所述匹配结果对待发送数据进行压縮和加密处理。
9. 一种实现系统间数据交互的数据接收方法,其特征在于,所述方法包括以下步骤1) 数据接收接口接收来自其他系统的数据;2) 根据数据交互清单中设置的校验规则对数据进行校验处理;3) 提取校验通过的数据的数据头,并在数据交互清单中进行匹配;4) 根据匹配的结果对接收数据通过数据处理/回调接口完成处理,或者进行数据暂存。
10. 根据权利要求9所述的实现系统间数据交互的数据接收方法,其 特征在于,所述步骤3)中匹配的结果包括数据同步/异步接收方式,数 据类型对应的数据处理/回调接口实现类;所述步骤4)具体为对于异步 接收方式的数据将数据存入数据队列;对于同步接收方式的数据,将数据 通过数据处理/回调接口交给对应的数据处理/回调接口实现类进行处理。
11. 根据权利要求9或10所述的实现系统间数据交互的数据接收方法, 其特征在于,所述步骤3)中还包括判断接收的数据是否为压縮和加密 数据,将压縮数据和加密数据进行解压缩处理和解密处理。
全文摘要
本发明公开了一种实现系统间数据交互的处理单元,包括数据交互清单、数据接收接口、数据发送接口、数据处理/回调接口、控制器;本发明还公开了一种实现系统间数据交互的数据发送方法和数据接收方法,实现了根据数据交互清单决定数据交互处理的处理方式和数据流向。采用本发明,可以大大节省了系统的开发时间,也避免了重复开发。
文档编号H04L12/56GK101360060SQ20081021616
公开日2009年2月4日 申请日期2008年9月18日 优先权日2008年9月18日
发明者任国华 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1