【技术实现步骤摘要】
有序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瑞士股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。