有序IOT消息流的高度可用传递制造技术

技术编号:35055109 阅读:44 留言:0更新日期:2022-09-28 11:01
本公开涉及有序IOT消息流的高度可用传递。公开了一种用于在第一容器中的第一软件应用与第二容器中的第二软件应用之间传送消息的方法,包括以下步骤:通过与第一容器相关联的第一连接性服务接收由第一应用发送的消息的有序序列;通过第一连接性服务将每个消息的至少两个副本传输给与第二容器相关联的第二连接性服务,其中至少两个副本在至少部分冗余路径上路由,并且其中每个副本指示原始消息在原始有序序列中的位置;以及通过第二连接性服务按照由原始有序序列给出的次序将每个消息的至少一个副本转发给第二应用。的至少一个副本转发给第二应用。的至少一个副本转发给第二应用。

【技术实现步骤摘要】
有序IOT消息流的高度可用传递


[0001]本专利技术涉及物联网IoT应用中的有序消息流的传递,例如控制和/或监测工业设备上执行的工业过程。

技术介绍

[0002]工业应用越来越多地采用专门为物联网设计的面向消息的中间件。此类中间件(例如使用MQTT代理)可用于对经由互联网协议发送的工业设备进行数据流处理,从而有可能在运行时间期间提供生产优化。MQTT在本文档中用作针对面向消息的中间件的示例,同时可以使用其他示例(例如AMQP、DDS、XMPP、JMS)。
[0003]MQTT为消息传递指定不同服务质量(QoS)水平。然而,代理实施方式的行为差异很大,特别是在代理实例故障的情况下。存在旨在最小化代理实例故障的影响的集群多实例代理实施方式。实验示出针对QoS 1(至少一次传递)消息,大多数实验无法实现可靠且有序消息传递(没有消息丢失,没有消息重新排序)。针对依赖可靠和有序消息传递的应用,例如在线流处理应用,应用开发人员有两种选择:(1)依赖特定代理实施方式并且在密集测试后信任其机制;(2)将附加机制实施为应用逻辑的一部分以补偿消息丢失和重本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于在第一容器(11)中的第一软件应用(11a)与第二容器(21)中的第二软件应用(21a)之间传送消息(4)的方法(100),包括以下步骤:
·
通过与所述第一容器(11)相关联的第一连接性服务(12)接收(110)由所述第一应用(11a)发送的消息(4)的有序序列;
·
通过所述第一连接性服务(12)将每个消息(4)的至少两个副本(4a

4c)传输(120)给与所述第二容器(21)相关联的第二连接性服务(22),其中所述至少两个副本(4a

4c)在至少部分冗余路径上被路由,并且其中每个副本(4a

4c)指示原始消息(4)在原始有序序列中的位置;以及
·
通过所述第二连接性服务(22)按照由所述原始有序序列给出的次序将每个消息(4)的至少一个副本(4a

4c)转发(130)给所述第二应用(21a)。2.根据权利要求1所述的方法(100),其中所述至少部分冗余路径中的至少两个路径通过:
·
中间件代理的不同实例(31

33),所述中间件代理被配置为管理软件应用(11a、21a)之间的发布/订阅通信;和/或
·
网络内的不同路由;和/或
·
针对网络的不同硬件接口;
·
不同通信协议;和/或
·
不同网络(8a,8b)。3.根据权利要求2所述的方法(100),其中中间件代理的所述不同实例(31

33)已经被不同地编程和/或从不同的供应商获得。4.根据权利要求1或3中任一项所述的方法(100),还包括:如果根据所述原始有序序列接下来要转发给所述第二应用的第一消息(4)的副本(4a

4c)尚未被所述第二连接性服务(22)接收到(131),但是在所述原始有序序列中稍晚的第二消息(4)的副本(4a

4c)已被接收(132),则缓冲(133)所述第二消息(4)直到所述第一消息(4)已经被接收并且转发给所述第二应用(21a)。5.根据权利要求1到4中任一项所述的方法(100),还包括:如果在前一消息(4)已被转发给所述第二应用(21a)之后的预定期限内,根据所述原始有序序列接下来要转发给所述第二应用(21a)的消息(4)的副本未被所述第二连接性服务(22)接收(134),则请求(135)重传该消息(4)。6.根据权利要求1到5中任一项所述的方法(100),还包括:
·

【专利技术属性】
技术研发人员:朱利叶斯
申请(专利权)人:ABB瑞士股份有限公司
类型:发明
国别省市:

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

1