掌桥专利:专业的专利平台
掌桥专利
首页

使用测试数据流测试网络的方法

文献发布时间:2023-06-19 19:27:02


使用测试数据流测试网络的方法

技术领域

本发明涉及供分布式控制系统DCS使用的通信网络(例如时间敏感网络TSN)的测试。

背景技术

工业工厂的监测和主动控制是基于工厂内收集的各种信息。例如,传感器设备输出测量值,并且执行器设备报告其操作状态。该信息可以供分布式控制系统DCS使用。例如,传感器数据可以用作控制回路中的反馈,该控制回路控制工厂使得某些状态变量(例如温度或压力)保持在期望的设定点值。

这种沟通具有时间关键性。需要保证及时传达测量值的任何变化,以使得DCS能够对变化做出反应。此外,DCS采取的任何行动都需要及时传达给工厂中的执行器。时间敏感网络TSN名义上保证通信中的端到端确定性。然而,网络可能由于多种原因偏离此标称状态,原因包括配置错误、硬件或布线故障,或者承诺一定性能但未能兑现承诺的硬件和/或软件组件。

WO 2020/143 900 A1公开了一种用于处理TSN网络中的TSN通信链路故障的方法。

发明目标

本发明的目标是促进通信网络的测试,以验证其处于正常的工作状态并且可以依赖于时间关键的通信。

此目标通过根据独立权利要求的测试方法来实现。在从属权利要求中详述了其他有利实施例。

发明内容

本发明提供了一种用于测试包括多个设备的网络的方法。例如,该网络可以被选择为工业工厂中的被配置为承载分布式控制系统 DCS的网络流量的网络。特别地,这种网络可以被选择为关于资源分配和/或流量调度是确定性的。时间敏感网络TSN是这种确定性网络的典型示例。

在该方法的过程中,第一设备将测试数据流发送给第二设备,该第一设备是网络的常规参与者,该第二设备是网络的另一常规参与者。第二设备将所接收的测试数据流和/或从所接收的测试数据流导出的至少一个诊断度量发送给诊断实体。至少一个诊断度量可以例如涉及吞吐量、延迟、可靠性和/或抖动。

诊断实体接着至少部分地基于从第二设备接收的测试数据流和/ 或诊断度量确定通过网络的路径是否正在根据至少一个预定标准执行。

以这种方式,可以一次性测试沿着第一设备与第二设备之间的路径的完整网络基础设施。特别地,从第一设备到第二设备的路径不需要是网络中可用的最短路径。相反,通过选择通过网络的更长路径,可以测试网络的更大部分。特别地,从第一设备到第二设备的通过网络的路径可以被选择为包括网络的所有网络基础设施设备。这可能不允许直接查明网络中问题的根本原因。但是对于许多应用来说,测试整个网络是否常规操作更为重要。如果在用于在工业工厂中传送控制流量的网络中检测到任何问题,无论确切的根本原因是什么,立即对工业工厂采取行动以将其移至安全状态可能是有利的,在该安全状态下,消息传递的延迟甚至失败将不再导致工厂关闭或甚至工厂损坏。例如,可以启动在工厂上执行的过程的有序关闭。作为一种不太严厉的措施,该过程的生产速度可能会减慢到其他安全系统或甚至人工干预可以足够快地做出反应以防止在网络性能进一步降低的情况下造成损害的程度。

同时,该方法对于诊断实体如何以及在何处集成到网络中是完全灵活的。例如,诊断实体可以至少部分地在网络的常规参与者上、在添加到网络专门用于测试的额外参与者上实施。

例如,测试数据流可以由诊断实体提供。但测试数据流还可以由第一设备生成,这取决于第一设备的处理能力。

例如,网络的测试可以由诊断实体启动。但这不是必需的。相反,测试还可以由第一设备启动。如果第一设备启动测试并提供其自身的测试数据流,则诊断实体可以基本上简化为侦听测试数据流和由此导出的诊断度量的角色,并根据此信息得出网络常规操作的结论。

在特别有利的实施例中,诊断实体至少部分地被实现为时间敏感网络TSN的以下的一部分

·集中式用户配置CUC,

·集中式网络配置CNC,和/或

·工程工具。

以这种方式,将测试数据流从第一设备传送到第二设备或将测试数据流和/或诊断度量从第二设备传送到诊断实体所需的网络配置的任何变化可以由诊断实体直接协调。例如,可能需要分配带宽和其他资源来传输测试数据流。

在一个实施例中,第一设备和第二设备被选择为终端设备,该终端设备是网络中流量的源和/或汇。此类终端设备的示例包括分布式控制系统中的计算机、传感器、致动器或控制器。与可能在OSI第2层 (数据链路层)上或第三层(网络层)上完成大部分工作的纯网络基础设施设备相比,此类终端设备具有更强的计算能力,并且更有能力在更抽象的级别(即更高的OSI层)上处理测试数据流。这种更高级别的处理以更容易出现意外延迟为代价。为了减少这种意外延迟对网络性能测量的影响,由第二设备从所接收的测试数据流中导出至少一个诊断度量可能是有利的。如果此诊断度量被传送给诊断实体并在传输过程中经历进一步延迟,则不会更改此诊断度量。

由于其处理资源更大,作为第一设备和第二设备的终端设备还能够更大程度地参与网络中使用的发布-订阅系统,例如开放平台通信统一架构OPC UA中的PubSub特征。在发布-订阅系统中,实体可以在一个或多个频道或主题中发布消息。实体可以订阅频道或主题,然后接收随后在这些频道或主题中发布的任何消息。

因此,在另一有利实施例中,方法还包括:

·由诊断实体向第一设备订阅的主题和/或频道发布将测试数据流发送给第二设备的指令;以及

·由诊断实体向第二设备订阅的主题和/或频道发布将所接收的测试数据流和/或诊断度量发送给诊断实体的指令。

特别地,如果终端设备是用于工业工厂的分布式控制系统DCS 的现场设备或控制器,并且这些设备已经知道OPC,则该设备将已经内置OPC UA PubSub。在这种情况下,部署使终端设备能够充当诊断网络的第一设备和第二设备的软件特别容易。此软件可能会调用已经存在、经过尝试和测试的PubSub功能性。出错的可能性更小,并且附加软件的占用空间也更小。同样,在除OPC UA PubSub之外的其他发布-订阅机制已用于终端设备的正常操作的其他用例中,此发布- 订阅机制可以重新用于将指令从诊断实体传送给第一设备和第二设备。

测试数据流原则上可以由第一设备本身生成。但测试数据流也可以由诊断实体提供,该诊断实体可能更好地了解哪些特定数据流可能适合对网络执行“压力测试”。也就是说,第一设备将从诊断实体接收测试数据流,然后将其传递给第二设备。为了通过此过程减少额外的延迟,将测试数据流发送给第二设备的指令可以包括通过更改此数据流的元数据来将从诊断实体接收的数据流转换成测试数据流的指令。特别地,这种元数据可以包括与数据流相关的流标识符和/或调度信息。通过在不实际接触有效负载的情况下修改元数据,可以在第一设备侧以最小的努力获得测试数据流。数据流只是在第一设备处产生“U形转弯”。

同样,测试数据流可以在第二设备处产生类似的“U形转弯”以传递给诊断实体。因此,将所接收的测试数据流发送给诊断实体的指令可以包括更改所接收的测试数据流的元数据的指令。

如上所述,在带宽和其他资源被调度或以其他方式分配的网络中,可能需要为在该方法的过程中生成的额外流量采购这种资源。因此,在另一有利实施例中,第一设备从网络管理实体请求网络基础设施设备的配置,以便提供从第一设备到第二设备的路径。作为对此的替代或组合,第二设备从网络管理实体请求网络基础设施设备的配置,以便提供从第二设备到诊断实体的路径。例如,这些请求可以由发布- 订阅(PubSub)代理机制传送。例如,如果由于资源短缺而不能立即批准请求,则第一设备和第二设备可以决定可以暂时牺牲哪些其他流量以释放资源用于测试。

在另一实施例中,第一设备和第二设备被选择为在作为源和汇的终端设备之间转发数据流的网络基础设施设备。这种网络基础设施设备的示例包括交换机、路由器、网桥和无线接入点。如前所述,这些网络基础设施设备通常比终端设备对数据流的处理能力更有限,并且在较低的OSI层(通常是第2层或最多第3层)上处理数据流。另一方面,这种处理发生得非常快,如果有的话,几乎没有额外的延迟。也就是说,源自诊断实体的数据流可以通过网络在一个或多个“U形转弯”上被发送并由网络基础设施设备非常有效地返回到诊断实体。因此,可以通过仅注入一个测试数据流来测试大部分网络基础设施。此测试无法涵盖的唯一网络部分是网络基础设施设备与终端设备之间的连接。为了检测这些连接上的任何问题,例如连接松动或收发器故障,需要将终端设备用作如上文所述的第一设备和第二设备。但在大多数应用中,更重要的测试是网络基础设施的测试,该测试可以通过在网络基础设施设备之间传递测试数据流来执行。在交换网络中,与终端站的连接出现问题只会影响这个终端站。但网络基础设施中的问题可能会影响许多终端设备,并且更有可能损害正在使用网络的工业工厂的功能。

特别地,由于测试数据流甚至可以通过网络在多个“U形转弯”上发送而没有不适当的延迟,因此该测试数据流可能会被反馈到其起源的同一诊断实体。这意味着这个诊断实体可以直接评估关于例如完整性和延迟的最终接收的测试数据流。以前,在很多测试情况下都会用到“两点测试”。即,测试数据流通过网络从第一诊断实体发送给第二诊断实体,该第二诊断实体接着执行评估。在“单点测试”设置中只有一个诊断实体只是为了测试目的而对网络的最小补充。除了节省第二诊断实体的成本外,这还有助于更准确地测量网络在实际状态下的性能,在该状态下将用于其预期目的。此外,将此单个诊断实体移动到网络中的不同点变得更容易,以从不同的角度对其进行探测,并可能发现仅从某个角度可见的问题。

为了将数据流发送到U形转弯上,在特别有利的实施例中,诊断实体更改第一设备的转发配置,以将从诊断实体接收的数据流作为测试数据流转发给第二设备。同样,诊断实体更改第二设备的转发配置,以将从第一设备接收的测试数据流转发给诊断实体。如果相应设备上有足够的计算能力可用,则可以通过网络中使用的发布-订阅系统(例如OPC UAPubSub)触发转发配置的更改。

第一设备和第二设备转发测试数据流的方式主要有两种。第一种方式是由第一设备或由第二设备更改传入测试数据流的各个分组的元数据。这是一种通过OSI第2层处理重新路由测试数据流的特别快速的方法。第二种方法是以“拾取-更改-转发”的方式使用传入测试数据流的有效负载创建新数据流。以这种方式,设备可以收集更详细的诊断度量(例如时序信息),其代价是所需的处理更复杂并且在第一设备或第二设备侧需要更强的计算能力。

在特别有利的实施例中,至少部分地基于以下一项或多项来确定至少一个测试数据流:

·网络常规操作期间预期的流量模式;

·网络的拓扑;

·网络的配置;以及

·网络的流量调度。

以这种方式,根据将通过测试实现的目标,可以将测试数据流调整为类似于在网络的常规操作期间预期的流量。但测试数据流也可能专门用于“压力测试”网络的特定方面。例如,如果已知某个网络资源稀缺,则可以制作测试数据流来测试此资源是否可能被耗尽。

并非该方法的所有功能性都需要集中在单个诊断实体中。特别地,如果诊断实体指示终端设备或网络基础设施设备执行某些动作(例如转发测试数据流),则这些动作可以通过在相应设备中运行的帮助软件应用程序来实施。此帮助应用程序可以扩展在相应设备上运行的普通软件和/或固件的功能性。例如,通常用于获取测量值并通过网络将该测量值发送给控制器的终端设备可能缺乏将传入数据流发送到“U 形转弯”上的功能性。网络基础设施设备的软件可能已经具有“U形转弯”功能性,但可能缺少“拾取-更改-转发”功能性,该功能性允许从测试数据流中导出高级诊断度量。

该方法可以全部或部分由计算机实施。因此,本发明还涉及具有机器可读指令的一个或多个计算机程序,该指令当在一个或多个计算机和/或计算实例上执行时使得一个或多个计算机执行该方法。在这种情况下,虚拟化平台、硬件控制器、网络基础设施设备(例如交换机、网桥、路由器或无线接入点)以及能够执行机器可读指令的网络中的终端设备(例如传感器、致动器或其他工业现场设备)也被视为计算机。特别地,网络可以被实现为在通用硬件上运行的软件定义网络。

因此,本发明还涉及具有一个或多个计算机程序的非暂态存储介质和/或下载产品。下载产品是可以在在线商店中出售以通过下载立即实现的产品。本发明还提供了具有一个或多个计算机程序和/或具有一个或多个非暂态机器可读存储介质和/或下载产品的一个或多个计算机和/或计算实例。

附图说明

在下文中,使用图式来说明本发明,但无意限制本发明的范围。

图式显示:

图1:用于测试包括多个设备2a至2f、3a至3f的网络1的方法100的示例性实施例;

图2:方法100在以终端设备3b作为第一设备4且终端设备3f 作为第二设备6的网络1的示例性应用;

图3:方法100在以TSN网桥2a作为第一设备4且TSN网桥2d 作为第二设备6的网络1的示例性应用。

具体实施方式

图1是用于测试网络1的方法100的实施例的示意流程图。网络 1包括多个网络基础设施设备2a至2f和多个终端设备3a至3f。

在步骤110中,第一设备4将测试数据流5发送给第二设备6,该第一设备是网络1的常规参与者,该第二设备是网络1的另一常规参与者。

在步骤120中,第二设备6将所接收的测试数据流5和/或从所接收的测试数据流5导出的至少一个诊断度量5a发送给诊断实体7。

在步骤130中,诊断实体7确定通过网络1的路径是否正在根据至少一个预定标准8执行。此确定10至少部分地基于诊断实体7已经从第二设备6接收到的测试数据流5和/或诊断度量5a。

根据框105,第一设备4和第二设备6可以被选择为终端设备3a 至3f,该终端设备是网络1在其预期的常规操作期间的流量的源和/ 或汇。根据框111,诊断实体7可以接着发布将测试数据流5发送给第二设备6的指令。此发布可以针对第一设备4订阅的主题和/或频道进行,使得第一设备4得到它。特别地,根据框111a,将测试数据流 5发送给第二设备6的指令可以包括通过更改此数据流5'的元数据将从诊断实体7接收的数据流5'转换成测试数据流5的指令。

同样,根据框121,诊断实体7可以发布将在第二设备6处接收的数据流5和/或从此测试数据流5导出的诊断度量5a发送给诊断实体7的指令。此发布可以针对第二设备6订阅的主题和/或频道进行,使得第二设备6得到它。特别地,根据框121a,将所接收的测试数据流5发送给诊断实体7的指令可以包括更改所接收的测试数据流5的元数据的指令。

根据框112,第一设备4可以从网络管理实体9请求网络基础设施设备2a至2f的配置,以便提供从第一设备到第二设备6的通过网络1的路径。

同样,根据框122,第二设备6可以从网络管理实体9请求网络基础设施设备2a至2f的配置,以便提供从第二设备6到诊断实体7 的路径。

根据框106,第一设备4和第二设备6可以被选择为网络基础设施设备2a至2f,该网络基础设施设备在作为源和汇的终端设备3a至 3f之间转发数据流。根据框113,诊断实体7可以接着更改第一设备 4的转发配置,以将从诊断实体7接收的数据流5'转发给第二设备6作为测试数据流5。特别地,测试数据流5的转发可以包括

·根据框113a由第一设备4更改传入测试数据流5'的各个分组的元数据;或者

·根据框113b使用传入测试数据流5'的有效负载创建新数据流。

同样,根据框123,诊断实体7可以更改第二设备6的转发配置,以将从第一设备4接收的测试数据流5转发给诊断实体7。特别地,测试数据流5的此转发可以包括

·根据框123a由第二设备6更改传入测试数据流5的各个分组的元数据;或者

·根据框123b使用传入测试数据流5的有效负载创建新数据流。

根据框114,可以至少部分地基于以下一项或多项来确定至少一个测试数据流5:

·网络1常规操作期间预期的流量模式;

·网络1的拓扑;

·网络1的配置;以及

·网络1的流量调度。

根据框115,从第一设备4到第二设备6的通过网络1的路径可以被选择为包括网络1的所有网络基础设施设备2a至2f。

图2说明了方法100在网络1的示例性应用,该网络1包括作为网络基础设施设备的六个TSN网桥2a至2f和附接到TSN网桥2a至 2f的六个终端设备3a至3f。此外,在此示例中,诊断实体7附接到 TSN网桥2c。

在图2所示的示例中,选择终端设备3b作为第一设备4,并且选择终端设备3f作为第二设备6。数据流5'从诊断实体7发送给第一设备4。由诊断实体7指示第一设备4将数据流5'作为测试数据流5转发给第二设备6。同样,由诊断实体7指示第二设备6将测试数据流 5转发给诊断实体7。在图2所示的示例中,第一设备4和第二设备6 从网络管理实体9请求用于其相应转发任务的网络资源。也就是说, TSN网桥2a至2f的配置更改以适应测试数据流5从第一设备4到第二设备6并继续到诊断实体7的转发。为清楚起见,这未在图2中显示。

图3说明了方法100在图2所示的同一网络1的另一示例性应用。与图2相比,在图3所示的示例中,选择TSN网桥2a作为第一设备 4,并且选择TSN网桥2d作为第二设备6。源自诊断实体7的数据流 5'被注入网络1。此数据流5'在第一设备4处产生第一个U形转弯,以作为测试数据流5继续到第二设备6。在第二设备6处,测试数据流5产生另一U形转弯以继续到诊断实体7。为了适应数据流5在整个网络1的转发,可选地借助安装在每个TSN网桥2a至2f上的帮助应用程序由诊断实体7更新所有TSN网桥2a至2f的配置。

附图标记列表

1 网络

2a-2f 网络1中的网络基础设施设备

3a-3f 网络1中的终端设备

4 用于测试的第一设备

5,5' 测试数据流

5a 从测试数据流5导出的诊断度量

6 用于测试的第二设备

7 诊断实体

8 网络1正常工作的预定标准

9 网络管理实体

10 关于网络1正常工作的确定

100 用于测试网络1的方法

105 选择终端设备3a至3f作为第一设备4和第二设备6

106 选择网络设备2a至2f作为第一设备4和第二设备6

110 将测试数据流5发送给第二设备6

111 发布将测试数据流5发送给第二设备6的指令

111a 通过更改元数据来转换数据流5'

112 从网络管理实体9请求到第二设备6的路径

113 更改第一设备4的转发配置

113a 更改数据流5'的各个分组的元数据

113b 使用传入数据流5'的有效负载创建新数据流

114 基于具体信息确定测试数据5

115 选择通过网络1的路径以覆盖所有网络设备2a至2f

120 将测试数据流5、诊断度量5a发送给诊断实体7

121 发布将数据流5、度量5a发送给诊断实体7的指令

121a 更改所接收的测试数据流5的元数据

122 从网络管理实体9请求到诊断实体7的路径

123 更改第二设备6的转发配置

123a 更改数据流5的各个分组的元数据

123b 使用传入数据流5的有效负载创建新数据流

130 获得关于网络1正常工作的确定10

技术分类

06120115918770