CN101360060B - 实现系统间数据交互的处理单元、数据发送/接收方法 - Google Patents
实现系统间数据交互的处理单元、数据发送/接收方法 Download PDFInfo
- Publication number
- CN101360060B CN101360060B CN 200810216164 CN200810216164A CN101360060B CN 101360060 B CN101360060 B CN 101360060B CN 200810216164 CN200810216164 CN 200810216164 CN 200810216164 A CN200810216164 A CN 200810216164A CN 101360060 B CN101360060 B CN 101360060B
- Authority
- CN
- China
- Prior art keywords
- data
- interface
- mutual
- processing
- asynchronous
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现系统间数据交互的处理单元,包括:数据交互清单、数据接收接口、数据发送接口、数据处理/回调接口、控制器;本发明还公开了一种实现系统间数据交互的数据发送方法和数据接收方法,实现了根据数据交互清单决定数据交互处理的处理方式和数据流向。采用本发明,可以大大节省系统的开发时间,也避免了重复开发。
Description
技术领域
本发明涉及一种企业各个系统间进行数据交互的技术,特别是涉及一种通过开放接口实现不同系统间数据交互的技术。
背景技术
随着企业规模的扩大,企业内部的各种系统随着增加,系统间的数据交互也越来越多,然而由于很多系统早期并没有开放接口,或是系统使用的架构、操作系统、开发语言不一致,导致数据交互的困难。
目前,实现系统间数据交互的方式有文件方式、Socket、RPC、Web服务等,但文件交互方式不够实时,很难应付同步数据交互,Socket、RPC方式实现起来相当繁琐,Web服务是克服异构系统间交互困难最简单的一种方式也是现在最常用的方式。对于Web服务方式,需要进行数据交互的系统只需提供各自的Web服务做为数据交互的接口,即可与其他系统进行交互。但是,参与交互的每个系统接口内部的处理方式不一致,导致数据交互的安全、稳定、性能受到了影响,各个系统的开发人员不得不投入大量的精力去维护、优化这些数据交互接口。
发明内容
本发明克服了现状中数据交互接口实现不一致的问题,提供了一种将交互工作从系统中剥离出来,统一实现系统间数据交互的数据处理单元、数据发送方法和数据接收方法。
本发明采用以下技术方案:
一种实现系统间数据交互的处理单元,包括:
数据交互清单,用于配置数据类型、系统标识、系统数据接收地址、数据处理/接口实现类之间的对应关系;
数据接收接口,用于接收来自其他系统发送的数据;
数据发送接口,用于将数据发送到其他系统;
数据处理/回调接口,通过所述数据处理/回调接口将数据接收接口接收到的数据转交到数据对应的程序中进行处理;
控制器,用于控制单元内各模块根据所述数据交互清单的配置进行数据交互。
优选的,所述单元还包括:数据队列,用于存储异步数据交互模式下,异步发送和异步接收的数据。
优选的,所述单元还包括:数据压缩/解压缩以及加解密模块,用于对交互数据进行压缩/解压缩处理,以及加解密处理。
优选的,所述单元还包括:线程池,用于管理并行处理交互数据的各线程。
优选的,所述数据接收接口为Web服务,所述系统数据接收地址为数据接收接口对应的地址。
一种实现系统间数据交互的数据发送方法,包括以下步骤:
1)调用数据发送接口,提取待发送数据的数据头;
2)根据数据头中的数据类型在数据交互清单中进行匹配,匹配结果包括:待发送数据的接收接口地址;
3)数据发送接口调用接收接口地址,完成数据发送操作。
优选的,当以异步方式发送数据时,所述步骤1)具体为:调用数据发送接口,从数据队列中提取一条数据,并提取该数据的数据头;所述步骤3)之后还包括:在异步发送间隔时间到达后,转入步骤1)进行下一条异步数据的发送。
优选的,所述步骤2)中匹配的结果还包括:数据压缩处理指示信息和数据加密处理指示信息,所述步骤2)、3)之间还包括:按照所述匹配结果对待发送数据进行压缩和加密处理。
一种实现系统间数据交互的数据接收方法,包括以下步骤:
1)数据接收接口接收来自其他系统的数据;
2)根据数据交互清单中设置的校验规则对数据进行校验处理;
3)提取校验通过的数据的数据头,并在数据交互清单中进行匹配;
4)根据匹配的结果对接收数据通过数据处理/回调接口完成处理,或者进行数据暂存。
优选的,所述步骤3)中匹配的结果包括:数据同步/异步接收方式,数据类型对应的数据处理/回调接口实现类;所述步骤4)具体为:对于异步接收方式的数据将数据存入数据队列;对于同步接收方式的数据,将数据通过数据处理/回调接口交给对应的数据处理/回调接口实现类进行处理。
优选的,所述步骤3)中还包括:判断接收的数据是否为压缩和加密数据,将压缩数据和加密数据进行解压缩处理和解密处理。
采用本发明,与现有技术相比,所有的交互都在交互处理单元中实现,使原来每个系统都要关注的交互性能、安全、效率等问题全集中在处理单元中统一解决,系统很简单地就可以将处理单元集成进来,使得系统的开发人员根本不需要去了解交互的技术细节,完全从交互中解脱出来,大大节省了系统的开发时间,也避免了重复开发。此外数据交互清单使得系统间的交互关系变得清晰明了,数据校验、安全规则等也可在此灵活配置;数据的异步发送方式,使数据发送系统的性能不再受制于交互系统数据处理能力的制约,提高了数据的并行处理能力,节省了系统的等待时间,且有了异步数据队列的支持,数据的完整性也得到了保障。
附图说明
图1是本发明优选实施例的处理单元结构示意图;
图2是本发明系统间数据交互结构示意图;
图3是本发明优选实施例数据发送处理流程图;
图4是本发明优选实施例数据异步发送流程图;
图5是本发明优选实施例数据接收处理流程图;
图6是本发明优选实施例接收异步数据的处理流程图。
具体实施方式
下面结合附图并通过具体实施例对本发明的技术方案进行详细说明。
如图1所示的本发明优选实施例的处理单元结构示意,主要包括以下处理模块:
控制器,用于控制处理单元中其他模块的运行。
数据交互清单,用于配置数据类型、系统标识、系统数据接收地址、数据处理/接口实现类之间的对应关系。具体为配置三种对应关系,一是系统标识与此系统的数据接收地址的对应关系,二是数据类型与数据接收系统标识的对应关系,三是数据类型与数据处理接口实现类的对应关系。还可配置数据类型对应的校验规则、加密方式、是否需要压缩等。处理单元就是根据交互清单来决定数据的处理方式及流向的。
数据接收接口,用于接收来自其他系统的数据的接口,此接口可以是一个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、进程休眠一个时间间隔(时间间隔可在交互清单中进行配置),然后进入下一次轮询,即步骤1。
如图5所示为交互组件接收到数据时的处理流程:
1、交互组件数据接收接口接收到来自其他系统的数据;
2、根据交互清单中配置的校验规则,对数据进行校验,如数据格式、数据的来源、类型等,以避免恶意的数据进入系统;
3、如果数据校验不通过,则结束数据的接收处理;
4、如果校验通过,则根据数据头判断数据是否为压缩/加密的数据,如果为压缩/加密的数据,则进行解压缩/解密的处理;
5、根据数据头判断数据是否为同步数据,如果不是,则将数据则将数据保存至异步数据接收队列,并结束数据的接收处理。
6、根据数据头判断数据是否为回调的数据,如不是,则进入步骤8;
7、数据为回调数据,则根据数据类型,至交互清单中查询数据类型对应的回调接口实现类,将数据交给此实现类处理,结束数据的接收处理。
8、数据不为回调数据,则根据数据类型,至交互清单中查询数据对应的数据处理接口实现类,将数据交给此实现类处理,结束数据的接收处理。
当以数据为异步数据时,会将数据存至异步接收队列中,交给异步接收线程处理,异步接收线程是一个轮询接收队列的线程,时刻都运行在交互组件中,如图6所示,即为异步接收线程处理数据的流程:
1、异步接收线程判断接收队列是否有数据,如果没有则进入步骤4;
2、如果队列中有数据,线程则取出一条数据,并根据数据头判断数据是否为回调的数据;
3、如为回调数据,则根据数据类型,至交互清单中查询数据类型对应的回调接口实现类,将数据交给此实现类处理,然后进入步骤6;
4、数据不为回调数据,则根据数据类型,至交互清单中查询数据对应的数据处理接口实现类,将数据交给此实现类处理;
5、数据处理完毕后根据数据头判断是否需要进行回调,如需进行回调则查询出数据来源系统的数据接收地址,并向此地址发送回调数据;
6、进程休眠一个时间间隔(时间间隔可在交互清单中进行配置),然后进入下一次轮询,即步骤1。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (11)
1.一种实现系统间数据交互的处理单元,其特征在于,所述单元包括:
数据交互清单,用于配置数据类型、系统标识、系统数据接收地址、数据处理/回调接口实现类之间的对应关系;
数据接收接口,用于接收来自其他系统发送的数据;
数据发送接口,用于将数据发送到其他系统;
数据处理/回调接口,通过所述数据处理/回调接口将数据接收接口接收到的数据转交到数据对应的程序中进行处理;
控制器,用于控制单元内各模块根据所述数据交互清单的配置进行数据交互。
2.根据权利要求1所述的实现系统间数据交互的处理单元,其特征在于,所述单元还包括:
数据队列,用于存储异步数据交互模式下,异步发送和异步接收的数据。
3.根据权利要求1或2所述的实现系统间数据交互的处理单元,其特征在于,所述单元还包括:
数据压缩/解压缩以及加解密模块,用于对交互数据进行压缩/解压缩处理,以及加解密处理。
4.根据权利要求1或2所述的实现系统间数据交互的处理单元,其特征在于,所述单元还包括:
线程池,用于管理并行处理交互数据的各线程。
5.根据权利要求1或2所述的实现系统间数据交互的处理单元,其特征在于,所述数据接收接口为Web服务,所述系统数据接收地址为数据接收接口对应的地址。
6.一种应用权利要求1的处理单元实现系统间数据交互的数据发送方法,其特征在于,所述方法包括以下步骤:
1)调用数据发送接口,提取待发送数据的数据头;
2)根据数据头中的数据类型在数据交互清单中进行匹配,匹配结果包括:待发送数据的接收接口地址;
3)数据发送接口调用接收接口地址,完成数据发送操作。
7.根据权利要求6所述的实现系统间数据交互的数据发送方法,其特征在于,当以异步方式发送数据时,所述步骤1)具体为:调用数据发送接口,从数据队列中提取一条数据,并提取该数据的数据头;所述步骤3)之后还包括:在异步发送间隔时间到达后,转入步骤1)进行下一条异步数据的发送。
8.根据权利要求6或7所述的实现系统间数据交互的数据发送方法,其特征在于,所述步骤2)中匹配的结果还包括:数据压缩处理指示信息和数据加密处理指示信息,所述步骤2)、3)之间还包括:按照所述匹配结果对待发送数据进行压缩和加密处理。
9.一种应用权利要求1的处理单元实现系统间数据交互的数据接收方法,其特征在于,所述方法包括以下步骤:
1)数据接收接口接收来自其他系统的数据;
2)根据数据交互清单中设置的校验规则对数据进行校验处理;
3)提取校验通过的数据的数据头,并在数据交互清单中进行匹配;
4)根据匹配的结果对接收数据通过数据处理/回调接口完成处理,或者进行数据暂存。
10.根据权利要求9所述的实现系统间数据交互的数据接收方法,其特征在于,所述步骤3)中匹配的结果包括:数据同步/异步接收方式,数据类型对应的数据处理/回调接口实现类;所述步骤4)具体为:对于异步接收方式的数据将数据存入数据队列;对于同步接收方式的数据,将数据通过数据处理/回调接口交给对应的数据处理/回调接口实现类进行处理。
11.根据权利要求9或10所述的实现系统间数据交互的数据接收方法,其特征在于,所述步骤3)中还包括:判断接收的数据是否为压缩和加密数据,将压缩数据和加密数据进行解压缩处理和解密处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810216164 CN101360060B (zh) | 2008-09-18 | 2008-09-18 | 实现系统间数据交互的处理单元、数据发送/接收方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810216164 CN101360060B (zh) | 2008-09-18 | 2008-09-18 | 实现系统间数据交互的处理单元、数据发送/接收方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101360060A CN101360060A (zh) | 2009-02-04 |
CN101360060B true CN101360060B (zh) | 2011-05-11 |
Family
ID=40332401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810216164 Expired - Fee Related CN101360060B (zh) | 2008-09-18 | 2008-09-18 | 实现系统间数据交互的处理单元、数据发送/接收方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101360060B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2978315B1 (fr) * | 2011-07-20 | 2013-09-13 | Thales Sa | Reseau de transmission d'informations et noeud de reseau correspondant |
CN104253837A (zh) * | 2013-06-27 | 2014-12-31 | 核工业西南物理研究院 | 一种用于高精度实时控制的异构平台同步通信方法 |
CN106648858A (zh) * | 2016-11-29 | 2017-05-10 | 深圳市捷顺科技实业股份有限公司 | 一种c#接口数据交互管理系统 |
CN109445960B (zh) * | 2018-10-18 | 2021-03-02 | 腾讯科技(深圳)有限公司 | 应用的路由方法、装置及存储介质 |
CN109783254A (zh) * | 2019-01-02 | 2019-05-21 | 深圳壹账通智能科技有限公司 | 异步回调方法、装置、计算机设备和存储介质 |
CN110286966B (zh) * | 2019-05-21 | 2021-05-18 | 上海烜翊科技有限公司 | 嵌入式系统中多个子系统的对接方法及装置 |
CN112188213B (zh) * | 2020-08-14 | 2023-06-20 | 深圳市捷视飞通科技股份有限公司 | 编码方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020033253A (ko) * | 2000-10-30 | 2002-05-06 | 구자홍 | 교환기의 멀티링크용 시그널 데이터 보드 |
CN1466051A (zh) * | 2002-07-03 | 2004-01-07 | 联想(北京)有限公司 | 实现不同系统之间数据交互的方法 |
CN1825838A (zh) * | 2005-02-23 | 2006-08-30 | 华为技术有限公司 | 实现企业间业务集成的系统及方法 |
CN101136929A (zh) * | 2007-10-19 | 2008-03-05 | 杭州华三通信技术有限公司 | 因特网小型计算机系统接口数据传输方法及设备 |
-
2008
- 2008-09-18 CN CN 200810216164 patent/CN101360060B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020033253A (ko) * | 2000-10-30 | 2002-05-06 | 구자홍 | 교환기의 멀티링크용 시그널 데이터 보드 |
CN1466051A (zh) * | 2002-07-03 | 2004-01-07 | 联想(北京)有限公司 | 实现不同系统之间数据交互的方法 |
CN1825838A (zh) * | 2005-02-23 | 2006-08-30 | 华为技术有限公司 | 实现企业间业务集成的系统及方法 |
CN101136929A (zh) * | 2007-10-19 | 2008-03-05 | 杭州华三通信技术有限公司 | 因特网小型计算机系统接口数据传输方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN101360060A (zh) | 2009-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101360060B (zh) | 实现系统间数据交互的处理单元、数据发送/接收方法 | |
US10432741B2 (en) | Systems and methods for guaranteeing delivery of pushed data to remote clients | |
CN101883108B (zh) | 动态认证的文件传输方法及系统 | |
US11758599B2 (en) | Bluetooth™ low energy data transfer communication system and method | |
CN102739644B (zh) | 一种金融数据的发送/接收方法及装置 | |
US9496927B1 (en) | Interrupt based near field communication (NFC) pairing | |
CN103079176A (zh) | 一种遥控电子设备的方法及系统和移动终端及电子设备 | |
CN106992908A (zh) | 一种智能家居管理系统及其管理方法 | |
CN113923655B (zh) | 基于相邻节点的数据解密接收方法及装置 | |
CN109842624A (zh) | 一种交换机安全代理通信方法及系统 | |
EP4391445A3 (en) | Provisioning method and system with message conversion | |
EP1530318A1 (en) | Electronic apparatus for encryption key updating | |
EP2036349B8 (en) | Renewable conditional access | |
CN103546427B (zh) | 一种实现加密机应用的高可用性的方法和系统 | |
CN102281197A (zh) | 一种rfid路由器架构系统 | |
CN104821889B (zh) | 一种备份报文的处理方法和设备 | |
CN107222473B (zh) | 在传输层对api服务数据进行加解密的方法及系统 | |
CN104780171A (zh) | 一种消息传送的方法、装置及系统 | |
CN114328353A (zh) | 一种web可交互式串口通讯架构 | |
CN101917462A (zh) | 基于移动互联网的信息系统的信息推送和处理方法及系统 | |
CN102255895A (zh) | 客户端和服务端之间的数据通信方法及系统 | |
CN106330955A (zh) | 一种即时通讯扩展方法及系统 | |
CN105516097A (zh) | 基于Thrift数据格式的混合架构消息系统及消息传输方法 | |
CN201699990U (zh) | 基于移动互联网应用的信息系统的信息推送和处理系统 | |
CN221531503U (zh) | 一种跨网络业务数据交换系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110511 Termination date: 20160918 |
|
CF01 | Termination of patent right due to non-payment of annual fee |