一种基于中间程序的异构系统集成方法及异构系统与流程

文档序号:31468104发布日期:2022-09-09 22:14阅读:119来源:国知局
一种基于中间程序的异构系统集成方法及异构系统与流程

1.本发明涉及数据集成技术,尤其涉及一种基于中间程序的异构系统集成方法及异构系统。


背景技术:

2.在工业自动化和控制软件项目中,通讯方式和通讯协议的多样化难题变得越来越明显,工程技术人员需要找到一种合适的方式解决异构系统之间的互连通信难题。
3.现有的软件系统由c#、c++、java等编程语言开发,当系统之间需要数据交互时,通常需要定制交互接口,现有的接口通信方式一般是通过实时数据库虚位号、关系数据库、自定义api等。其接口复杂,开发困难,可靠性差。即,针对每一个系统定制适合的通信方式,存在需要重复组态、工作量大、数据传输量少,开发困难,可靠性差,部署、结构复杂等问题。


技术实现要素:

4.(一)要解决的技术问题
5.鉴于现有技术的上述缺点、不足,本发明提供一种基于中间程序的异构系统集成方法及异构系统。
6.(二)技术方案
7.为了达到上述目的,本发明采用的主要技术方案包括:
8.第一方面,本发明实施例提供一种基于中间程序的异构系统集成方法,异构系统包括多个需要交互信息的客户端,任意两个客户端的信息交互借助于中间程序实现,所述中间程序中存储各个客户端间交互的信息;方法包括:
9.s10、中间程序接收至少一个第一客户端发送的第一监听信息,所述第一监听信息包括需要监听的通道标识;
10.s20、中间程序基于所述通道标识锁定与该通道标识对应的处理线程,以及;
11.接收第二客户端发送的该通道标识的更新信息,并将所述更新信息添加在通道标识所属的key队列链表的尾部,且所述第二客户端为周期性发送所述通道标识对应的更新信息;
12.s30、中间程序基于更新的该通道标识的key队列链表向所述第一客户端反馈,以及解除该通道标识对应的处理线程的锁定。
13.可选地,s20中的中间程序基于所述通道标识锁定与该通道标识对应的处理线程之后,还包括:
14.所述中间程序接收所述第二客户端发送的修剪指令,并通道标识所属的key队列链表进行修剪,使所述key队列链表的长度在预设长度以内。
15.可选地,第一客户端、第二客户端分别为下述系统中的一种:
16.pid回路健康管理与优化系统;
17.apc先进过程控制系统;
18.aas高级报警管理系统;
19.direct智能操作导航系统。
20.可选地,所述s10之前,所述方法还包括:
21.s00、所述第一客户端与所述第二客户端交互,获取用于监听的位号下的通道标识。
22.可选地,所述s30中的中间程序基于更新的该通道标识的key队列链表向所述第一客户端反馈;
23.中间程序基于该通道标识的key队列链表,从key队列链表的表头信息发送第一客户端。
24.可选地,所述s30还包括:
25.中间程序接收到第一客户端发送的指令监听解除信息,则解除该通道标识对应的处理线程的锁定。
26.可选地,中间程序包括:
27.rabbitmq中间程序或redis中间程序。
28.第二方面,本发明实施例还提供一种中间处理装置,包括:
29.接收单元,用于接收至少一个第一客户端发送的第一监听信息,所述第一监听信息包括需要监听的通道标识;
30.锁定单元,用于基于所述通道标识锁定与该通道标识对应的处理线程,以及;
31.所述接收单元还用于,接收第二客户端发送的该通道标识的更新信息,并将所述更新信息添加在通道标识所属的key队列链表的尾部,且所述第二客户端为周期性发送所述通道标识对应的更新信息;
32.发送单元,用于基于更新的该通道标识的key队列链表向所述第一客户端反馈;
33.解除锁定单元,用于解除该通道标识对应的处理线程的锁定。
34.第三方面,本发明实施例还提供一种异构系统,其包括上述第二方面所述的中间处理装置,该中间处理装置与异构系统中的各客户端交互。
35.(三)有益效果
36.采用本发明的异构系统集成方法,相比于现有技术,具有如下效果:
37.1)相比实时数据库虚位号方案,本发明开发、部署简单,只需要一个中间程序的服务即可满足所有系统间的通信,不需要组态,同时减轻了实时数据库的通讯压力。
38.2)相比现有技术中的关系数据库方案,借助于中间程序的消息传输实时性能高,单机可以支持读的速度高达110000次/s,写的速度高达81000次/s。
39.3)相比现有技术中自定义api方案,本发明协议单一,通过本方式即可基本满足所有系统间的通信,避免了多次开发。
附图说明
40.图1为本发明实施例示出的异构系统的架构图;
41.图2至图4均为本发明一实施例提供的一种基于中间程序的异构系统集成方法的流程图。
具体实施方式
42.为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
43.redis是工业控制领域产品广泛使用的一个中间软件/程序(下述简称中间件),其存储各个系统/客户端间交互的信息/消息,是一个高性能的key-value数据库,它以内存作为数据存储介质,读写数据的效率极高,而且redis中的数据是持久化的,断电或重启,数据也不会丢失,能满足工业现场要求高速、稳定的数据传输场景。
44.本发明实施例提出一种便捷、高效能在各种编程语言中通用的通信方式,旨在统一异构系统间消息传送技术,降低系统间的耦合性,期望在减少开发、部署运维成本的同时也能提高整体系统的稳定性。
45.需要说明的是,本实施例中消息/指令之间的发送可采用定向发送或广播方式实现。当然,系统间单向信息传播可以也叫广播,如果是有多系统发送下述的xread block监听同一个队列的指令,即可以实现一对多广播。
46.本实施例中异构系统包括多个需要交互信息的客户端,任意两个客户端的信息交互借助于中间程序实现,所述中间程序中存储各个客户端间交互的信息。具体地,图1示出了本发明的异构系统的架构图,在图1中示出了pid回路健康管理与优化系统、apc先进过程控制系统、aas高级报警管理系统、direct智能操作导航系统均和redis中间程序,其借助于redis中间程序的统一各个系统间的通信方式,整个结构简单无需组态,无需创建数据库和表结构;数据传输具有实时性高,可靠性高的优点。
47.下述方法的中间程序/中间件均为redis中间程序/中间件,当然,在其他实施例中,中间程序还可为rabbitmq中间程序,本实施例仅为举例说明,根据实际需要选择。
48.如图2所示,本实施例提供一种基于中间程序的异构系统集成方法,本实施例的方法可包括下述的步骤:
49.s10、中间程序接收至少一个第一客户端发送的第一监听信息,所述第一监听信息包括需要监听的通道标识;
50.s20、中间程序基于所述通道标识锁定与该通道标识对应的处理线程,以及,接收第二客户端发送的该通道标识的更新信息,并将所述更新信息添加在通道标识所属的key队列链表的尾部,且所述第二客户端为周期性发送所述通道标识对应的更新信息;
51.此时,所述中间程序还接收所述第二客户端发送的修剪指令,并通道标识所属的key队列链表进行修剪,使所述key队列链表的长度在预设长度以内。
52.s30、中间程序基于更新的该通道标识的key队列链表向所述第一客户端反馈,以及解除该通道标识对应的处理线程的锁定。
53.举例来说,中间程序基于该通道标识的key队列链表,从key队列链表的表头信息发送第一客户端,以及中间程序接收到第一客户端发送的指令监听解除信息,则解除该通道标识对应的处理线程的锁定。
54.此外,上述各步骤中的第一客户端、第二客户端分别为下述系统中的一种:pid回路健康管理与优化系统;
55.apc先进过程控制系统;
56.aas高级报警管理系统;
57.direct智能操作导航系统。
58.本实施例的中间程序开发、部署简单,可满足所有系统间的通信,不需要组态,同时减轻了实时数据库的通讯压力。此外,本实施例的消息传输实时性能高,通过上述方法即可基本满足所有系统间的通信,避免了多次开发。
59.如图3所示,本实施示出一种从pid系统广播位号实时值到apc系统的方法,适用于广播消息的场景,以位号名称uic1175.sv为例进行说明。
60.301、apc先进过程控制系统(简称apc系统)发送xread block指令监听uic1175.sv的key消息,在中间程序接收xread block指令后将堵住相对应的处理线程直到相关消息到来。
61.可理解的是,该步骤中堵住的是apc系统中该通道的处理线程,直到redis中间程序给apc系统发送消息。
62.302、pid回路健康管理与优化系统(简称pid系统)发送xtrim指令,对uic1175.sv的key进行修剪,限制redis中该key的长度。
63.在本实施例中,每一个实际消息发送前发送一个预处理修剪指令。另外,为了避免消息长度过大占用过多redis中间程序的内存,故需要对队列的消息进行修剪,即修剪可理解为每次将队列中的消息降到一个指定的长度。
64.进一步地,限制redis中间程序中该key的长度可理解为:限定每个通道和队列的消息长度,限定值根据服务器内存配置、消息通道(队列)数量的多少来决定,避免产生服务器内存不够用的情况。
65.303、pid系统将消息通过xadd指令发送位号到redis中间程序中名称为uic1175.sv的key中。
66.在本步骤中,pid系统可周期性发送xadd指令,比如需要3秒钟或者一分钟广播更新一次位号值。
67.304、redis中间件将该消息加入uic1175.sv的key队列链表的尾部。
68.305、redis将apc先进过程控制系统发送xread block的指令监听解除(对应的前面xread block堵住的指令),从链表头返回一条消息给apc,完成一次消息广播过程。
69.本实施例的方法利用redis中间程序的消息队列用于工业控制软件集成,可以解决工业软件领域系统现有系统集成方式的缺点,本实施例中利用现有的redis基础组件,统一各个系统间的通信方式;整个系统结构简单无需组态,无需创建数据库和表结构;数据传输具有实时性高,可靠性高的优点。
70.实施例二
71.如图4所示,本实施例提供一种基于中间程序的异构系统集成方法,具体是一种apc系统发送请求到pid系统获取pid系统的位号信息的方法,适用于主动拉取消息的场景:例如借助于中间程序apc系统先发送位号请求(即发送需要获取哪一位号信息的请求消息如下的xread block指令),pid系统收到请求后借助于中间程序发送位号信息给apc。
72.401、apc系统发送xread block指令监听通道名称为2的key(即xread block指令中携带通道名称2),pid系统发送xread block指令监听通道名称为1的key,指令都将堵住直到消息的到来。
73.402、apc系统发送xtrim指令,对通道名称为1的key进行修剪,限制redis中间程序
中该key的长度。
74.需要说明的是,在发送xread block指令后,均需要发送修剪指令即xtrim指令。
75.403、apc系统将消息通过xadd指令发送位号(即要获取信息的该位号的名称)到redis中间程序内通道名称为1的key中。
76.404、redis中间程序将该消息加入通道名称为1的key队列链表的尾部。
77.405、redis中间程序将pid系统发送xread block的监听通道名称为1的key指令监听解除,从key队列链表头返回一条消息给pid系统。
78.406、pid系统收到redis中间程序回复的消息后,处理和使用相关信息。
79.407、pid系统先发送xtrim指令,对通道名称为2的key进行修剪,限制redis中间程序中key队列链表的key的长度。
80.本实施例中,每次发送消息前都修剪,修剪目的就是为了限制长度。
81.408、pid系统通过xadd指令发送位号(该处可为承载位号的信息的消息)到redis中间程序通道名称为2的key中。
82.409、redis中间程序将该消息加入通道名称为2的key队列链表的尾部。
83.410、redis中间程序将apc系统发送xread block的监听通道名称为2的key指令监听解除,从key队列链表的链表头返回一条消息给apc系统,完成本次消息返回。
84.本实施例利用redis中间程序的成熟稳定、高性能,易部署的特点来集成各个系统,采用stream数据结构作为统一的消息传输通道,避免了传统的实时数据库虚位号、关系数据库、自定义api等方案的需要重复组态、需要创建数据库表、接口协议复杂等难点。
85.另外,本发明实施例还提供一种中间处理装置,其包括:接收单元、锁定单元、发送单元和解除锁定单元;
86.其中,所述接收单元用于接收至少一个第一客户端发送的第一监听信息,所述第一监听信息包括需要监听的通道标识;
87.锁定单元,用于基于所述通道标识锁定与该通道标识对应的处理线程,以及;
88.所述接收单元还用于,接收第二客户端发送的该通道标识的更新信息,并将所述更新信息添加在通道标识所属的key队列链表的尾部,且所述第二客户端为周期性发送所述通道标识对应的更新信息;
89.发送单元,用于基于更新的该通道标识的key队列链表向所述第一客户端反馈;
90.解除锁定单元,用于解除该通道标识对应的处理线程的锁定。
91.另外,上述图1的异构系统可包括该处的中间处理装置,该中间处理装置与异构系统中的各客户端交互。
92.应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。
93.此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具
体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
94.尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。
95.显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1