一种系统间交互方法和装置制造方法及图纸

技术编号:16128551 阅读:44 留言:0更新日期:2017-09-01 20:42
本发明专利技术公开了一种系统间交互方法和装置,用于使系统运行环境不同的第一系统和第二系统之间进行交互,所述方法包括:第一处理模块创建第一消息队列,将从第一系统获取的第一数据存储到第一消息队列中并发送第一消息队列;第二处理模块接收第一消息队列,从第一消息队列中获取第一数据,将第一数据应用于第二系统并将从第二系统得到的相应的结果数据存储到第一消息队列中;第一处理模块从第一消息队列中获取结果数据并返回给第一系统。通过本发明专利技术提供的方案,能够解决运行环境不同的系统间不兼容的问题,减低系统间的耦合度。

Inter system interaction method and device

The invention discloses a system interaction method and device for system running environment for the interaction between different first system and the second system, the method comprises: a first message queue to create a first processing module, storing first data obtained from the first system to the first message in the queue and sends the first message queue; second the module receives the first message queue, obtaining the first data from the first message in the queue, the first data applied to the second system and will get the corresponding results from the second system data storage to the first message in the queue; the first processing module obtains from the first message in the queue data and return to the first system. The scheme provided by the invention can solve the problem of incompatibility between different operating environments, and reduce the coupling between the systems.

【技术实现步骤摘要】
一种系统间交互方法和装置
本专利技术涉及信息交互领域,尤其涉及一种系统间交互方法和装置。
技术介绍
随着信息化的快速发展,企业需要管理和维护的系统越来越多,系统之间的信息交互也日益增多。目前普遍采用的信息交互技术是在一个系统中直接调用目标系统开放的WebService接口,该技术要求各系统的运行环境需要一致。当交互双方系统的运行环境不一致时,甚至在双方系统使用了同一接口协议的情况下但其中一方系统对该协议封装的API进行过修改时,或者其中一方系统所采用的该协议版本较低时,都将导致双方系统无法直接进行信息或数据的交互。例如,在申请人所使用的一个系统中,底层使用gSOAP提供的SOAPAPI,在SERVER层中需要用C来实现对目标系统的WebService接口的调用,其中将调用WebService的接口代码编译链接成动态链接库,并注册到系统当中。然而,这时却会出现无法加载动态链接库的情况。通过查看该系统所使用的SOAPAPI的链接库及系统日志分析发现,由于该系统使用了SOAPAPI并对其中部分函数库进行了改造,导致与目标系统中原生的SOAPAPI无法集成到一起。可见,由于不同的系统各自具体的运行环境各有差异,给系统间的信息交互带来了各种不便。因此,系统之间如何更好的实现复杂信息交互已成为亟待解决的问题。
技术实现思路
有鉴于此,本专利技术实施例提供了一种系统间交互方法和装置,旨在解决需要进行信息交互的不同系统因开发语言、接口协议、操作系统、特定业务系统等运行环境不同而无法顺利地进行交互的问题。本专利技术实施例的系统间交互方法用于使系统运行环境不同的第一系统和第二系统之间进行交互,并包括:第一处理模块创建第一消息队列,将从第一系统获取的第一数据存储到所述第一消息队列中并发送所述第一消息队列,所述第一消息队列具有唯一标识符;第二处理模块接收所述第一消息队列,从所述第一消息队列中获取所述第一数据,将所述第一数据应用于所述第二系统并将从所述第二系统得到的相应的结果数据存储到所述第一消息队列中;所述第一处理模块从所述第一消息队列中获取所述结果数据并返回给所述第一系统。本专利技术的系统间交互装置用于使系统运行环境不同的第一系统和第二系统之间进行交互,包括:第一处理模块,配置为创建第一消息队列,将从第一系统获取的第一数据存储到所述第一消息队列中并发送所述第一消息队列,所述第一消息队列具有唯一标识符;第二处理模块,配置为接收所述第一消息队列,从所述第一消息队列中获取所述第一数据,将所述第一数据应用于所述第二系统并将从所述第二系统得到的相应的结果数据存储到所述第一消息队列中,所述第一处理模块进一步配置为从所述第一消息队列中获取所述结果数据并返回给所述第一系统。通过本专利技术实施例的技术方案,不但解决了系统间因运行环境不同而无法顺利进行信息交互的问题,而且降低了系统间的耦合度,并实现了能够在系统中实现功能热部署的效果,从而对减少企业生产管理系统停机时间起到了极大的作用。附图说明图1为本专利技术的系统间交互方法的一个实施例的示意性流程图;图2为本专利技术的系统间交互方法的另一个实施例的示意性流程图;图3为本专利技术的系统间交互方法的再一个实施例的示意性流程图;图4为本专利技术的系统间交互装置的一个实施例的示意性框图;图5为本专利技术的系统间交互装置的一个实施方式的示意性框图。具体实施方式下面参照附图对本专利技术的实施例进行详细说明。图1为本专利技术的系统间交互方法的一个实施例的示意性流程图。在本专利技术实施例中,该系统间交互方法用于使系统运行环境不同的第一系统和第二系统之间进行交互,这里的系统运行环境不同例如可以为开发语言、接口协议、操作系统等中的一方面不同或各方面均不相同。本专利技术实施例对于交互双方的系统的具体类型没有限制。如图1所示,本专利技术实施例的系统间交互方法可以包括以下步骤:S101、第一处理模块创建第一消息队列,将从第一系统获取的第一数据存储到第一消息队列中并发送第一消息队列;当第一系统需要与第二系统进行信息交互或数据交互时,第一系统可调用第一处理模块或通知第一处理模块开始工作。第一处理模块从第一系统获取需要与第二系统进行交互的第一数据。第一处理模块在创建第一消息队列后,可根据第一系统的数据处理规则创建专用的数据结构,使用该数据结构将第一数据存储在第一消息队列中。第一消息队列中可存放多个消息,第一消息队列可以具有唯一标识符,第一消息队列中的每个消息也可以具有唯一标识符,在不同的处理阶段中,可根据消息队列和消息的标识符对其进行识别、解析、存储和更新等操作。本专利技术实施例中使用IPC(进程间通信)消息队列作为第一消息队列的示例,但本专利技术可用的消息队列不限于此,例如还可以是Redis消息队列或者Rabbit消息队列等。S102、第二处理模块接收所述第一消息队列,从所述第一消息队列中获取所述第一数据,将所述第一数据应用于所述第二系统并将从所述第二系统得到的相应的结果数据存储到所述第一消息队列中;第二处理模块可根据消息队列的标识来接收第一消息队列。第二处理模块可从消息队列中获取由第一处理模块存入的第一数据,将第一数据应用于第二系统,例如调用第二系统的相关进程或接口来处理第一数据,并从第二系统得到相应的结果数据。第二处理模块可根据消息队列的标识,将结果数据存入相应的第一消息队列中。S103、所述第一处理模块从所述第一消息队列中获取所述结果数据并返回给所述第一系统。第一处理模块可根据消息队列的标识,识别出第一消息队列并从中获取由第二处理模块存入的结果数据,并将结果数据返回给第一系统。通过本专利技术实施例的技术方案,不但解决了系统间因运行环境不同而无法顺利进行信息交互的问题,而且降低了系统间的耦合度,并实现了能够在系统中实现功能热部署的效果,从而对减少企业生产管理系统停机时间起到了极大的作用。同时,由于消息队列可以在系统的底层中实现,这样可以对复杂的待交互数据进行结构化的存储和交互,能够提高信息或数据处理的速度。图2为本专利技术的系统间交互方法的另一个实施例的示意性流程图。如图2所示,步骤S201-S203与图1所示实施例中的步骤S101-S103相同,本专利技术实施例的系统间交互方法在图1所示实施例的基础上,可以进一步包括如下步骤:S204、第一处理模块从第一消息队列中获取结果数据后,删除第一消息队列。在本专利技术实施例中,第一系统每次出现需要与第二系统交互的数据时,第一处理模块创建一个新的第一消息队列,并在获得第二处理模块存入的结果数据后,将第一消息队列删除。如此可避免交互过程中产生过多的消息队列,避免浪费队列资源,同时能够降低数据处理过程的复杂性。在本专利技术一个实施例中,第一系统的待交互的第一数据可以由多个数据单元构成,这些数据单元可能要在例如树形结构数据的不同的数据对象中提取。第一处理模块获得由多个数据单元构成的第一数据后,可将这些数据单元存储在所述第一消息队列中的各个消息中,并为第一消息队列中的每个消息分配唯一标识符。每个消息中可存储一个数据单元或多个数据单元,有的数据单元可能需要分为几个部分存储在不同的消息中。消息的存储和接收可按照消息的标识符来进行,第一处理模块与第二处理模块之间可约定数据单元在消息中的分布方式,例如将各数据单元按序排列后按照标识符的顺序将数据分段写入各个消息中,使得本文档来自技高网...
一种系统间交互方法和装置

【技术保护点】
一种系统间交互方法,用于使系统运行环境不同的第一系统和第二系统之间进行交互,所述方法包括:第一处理模块创建第一消息队列,将从第一系统获取的第一数据存储到所述第一消息队列中并发送所述第一消息队列,所述第一消息队列具有唯一标识符;第二处理模块接收所述第一消息队列,从所述第一消息队列中获取所述第一数据,将所述第一数据应用于所述第二系统并将从所述第二系统得到的相应的结果数据存储到所述第一消息队列中;所述第一处理模块从所述第一消息队列中获取所述结果数据并返回给所述第一系统。

【技术特征摘要】
1.一种系统间交互方法,用于使系统运行环境不同的第一系统和第二系统之间进行交互,所述方法包括:第一处理模块创建第一消息队列,将从第一系统获取的第一数据存储到所述第一消息队列中并发送所述第一消息队列,所述第一消息队列具有唯一标识符;第二处理模块接收所述第一消息队列,从所述第一消息队列中获取所述第一数据,将所述第一数据应用于所述第二系统并将从所述第二系统得到的相应的结果数据存储到所述第一消息队列中;所述第一处理模块从所述第一消息队列中获取所述结果数据并返回给所述第一系统。2.如权利要求1所述的方法,其中,所述方法还包括:所述第一处理模块从所述第一消息队列中获取所述结果数据后删除所述第一消息队列。3.如权利要求1所述的方法,其中,所述第一数据由多个数据单元构成,所述多个数据单元存储在所述第一消息队列中的各个消息中,所述第一消息队列中的每个消息具有唯一标识符,所述方法还包括:所述第二处理模块接收所述第一消息队列后,根据所述第一消息队列中每个消息的唯一标识符将所述多个数据单元整合为所述第一数据。4.如权利要求1所述的方法,其中,所述第一数据由多个数据单元构成,所述多个数据单元存储在所述第一消息队列中的各个消息中,每个所述数据单元具有唯一编号,所述方法还包括:所述第二处理模块接收所述第一消息队列后,根据所述第一消息队列中各个消息中的所述数据单元的唯一编号将所述多个数据单元整合为所述第一数据。5.如权利要求1所述的方法,其中,所述结果...

【专利技术属性】
技术研发人员:隋娜罗江波裴保祥王晓冉
申请(专利权)人:京东方科技集团股份有限公司
类型:发明
国别省市:北京,11

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

1