最近,我的一位同事参加了在奥地利林茨开普勒大学的座谈会,发生了一件有趣的事情。尽管时间敏感型网络(TSN)是一个相对较新的标准,但他仍然惊讶于有关TSN和数据分发服务™(DDS)如何一起工作的问题而感到惊讶。这告诉了我们一些事情:许多系统架构师似乎已经相信,TSN在未来的系统设计中将扮演越来越重要的角色。

TSN是一组IEEE标准,旨在通过以太网提供对时间敏感的数据传输。TSN非常适合需要以确定性方式发送周期性信息的实时系统的通信要求。

但是,TSN可能会做更多的事情。原因很简单:TSN可以为以前无法在以太网上运行的全新应用程序提供实时通信的基础。因此,这些应用程序可以使用效率,带宽和性能改进的新领域。

但是,当然,没有什么是凭空运作的:TSN是一种低层网络技术(第1层和第2层),需要与更高层的网络和连接技术(第3-6层)结合才能发挥其全部潜力。在我看来,DDS是实现这一目标的最佳方法。例如,当DDS位于堆栈中的TSN上方时,突然之间,您可以通过简单地配置应用程序级QoS并使用DDS进行发布-订阅通信来使用实时服务质量(QoS)。这将确定性直接带给Edge Autonomy应用程序,而无需配置网络交换机或执行自定义编程。

最适合实时性需求

那么,为什么DDS和TSN天生适合?关键原因在于,将它们结合使用时,它们可以使用商业上可用的标准技术集成实时应用程序组件。这是一个明显的优势,因为定制或专用技术的制造成本往往很高且难以维护。随着技术的发展,自定义技术将无法跟上并最终成为孤岛,无法与新系统和技术集成。网络技术的演进提供了一个示例:早期,有数百种彼此不互操作的网络技术。随着时间的流逝,所有这些技术都被整合为各种以太网标准(用于第1层和第2层)和TCP / IP(用于第3层和第4层)。其他技术成为孤立的孤岛,无法从Internet的技术进步中受益。

如今,Internet应用程序使用高级(第5层和第6层)中间件和“连接框架”技术(例如MQTT,DDS,OPC-UA,HTTP / REST等)进行集成。这些中间件技术将应用程序与细节隔离开来。网络化,并使其能够构建强大的分布式系统,并且可以随着时间的推移而发展。它们促进了数据模型的创建和共享,并为简化了应用程序开发的通信模式(例如发布-订阅和远程服务调用)提供了支持。

但是,由于中间件和网络技术无法提供应用程序所需的性能和/或确定性(例如,有限的延迟和抖动),因此许多硬实时系统无法利用这些优势。因此,他们被迫使用专用解决方案,包括专用的“工业协议”和定制的网络硬件。

DDS和TSN的组合可以改变这种情况。为了理解这一点,让我们剖析每种技术提供的功能以及它们如何协同工作。

TSN提供了一项出色的技术,可以通过以太网传递实时流量。它允许定义每个流的时序要求,并配置网络路径(包括交换机)以确保满足要求。它还为不同的流提供隔离,因此实时流量不会受到同一网络上发生的其他通信的干扰。但是,由于该技术在配置堆栈中处于较低级别,因此应用程序必须配置流,数据包大小,频率,优先级,网络端点等。尽管可以为几个节点和流的简单应用程序完成此操作,但对于更复杂的系统却变得很棘手。

DDS提供了一项出色的技术,可以集成由单独的组件构建的应用程序。它离应用程序更近。它在主题,应用程序数据类型,与应用程序相关的QoS(例如,可靠性,持久性,优先级,截止日期)方面提供了更高级别的界面,并处理了诸如发现端点和建立通信之类的较低级别的细节。路径。但是,尽管DDS尝试通过使用有效的二进制协议来尽力而为,但它不能保证确定性的行为,因为它不控制底层网络层:它必须与基础网络(例如UDP / IP)可以提供的内容兼容。

DDS和TSN的结合提供了两全其美的方法。

增强QoS策略

实时系统的关键是QoS的整个概念。结合DDS和TSN,可以在分布式系统中指定和实施与应用程序相关的QoS。这使系统管理员可以指定诸如哪些流需要可靠,延迟预算,期限,耐用性要求,数据寿命等方面的信息。DDS可以使用此信息自动配置TSN网络,从而可以保证QoS。

将DDS与TSN结合使用还可以通过DDS中的QoS功能节省时间。除了配置与应用程序相关的DDS QoS外,该应用程序无需做其他事情。自动配置下层TSN概念的繁琐细节,因此大大简化了应用程序集成和部署。

降低复杂度

TSN的原始驱动程序是音频和视频社区,因为那些系统发送需要精确协调的高带宽信号。例如,发送到多个扬声器的信号需要精确同步,以使听众获得正确的声音感知。随着这种趋势的发展,许多其他行业指出它们也面临着类似的挑战。多轴控制机器,机器人,3D打印和汽车都是很好的例子,因为它们涉及在多个端点发生的协调动作。

因此,所有流量都可以共享一个实时TSN,而不是使用多个网络和多个线路。这在复杂性和硬件方面提供了显着的节省。它还可以保证设计的前瞻性:只需将新组件插入公共TSN网络即可添加新组件。

DDS在应用程序层也解决了该问题。应用程序流程和组件也可以“插入”通用DDS数据总线。除了改善分布式系统的互操作性,带宽和性能外,您将不会受制于看起来像1950年代电话总机的系统架构。

结论

显然需要DDS和TSN可以一起完成。当前,甚至有一个建议,对象管理小组(OMG)为带有TSN的DDS开发新的标准,有望在2020年成为OMG标准。

使用标准技术和中间件集成硬实时应用程序的能力可能是革命性的。这将使跨商业技术提供商生态系统开发通用工具链。这将降低成本,并大大简化应用程序开发人员和系统集成商的职责。此外,这将确保生成的系统不会孤立,并保留轻松整合未来技术优势的能力。

本文转自微信公众号【DDS论坛】


译文连载

RTPS规范-译文连载:实时发布订阅协议(RTPS)DDS互操作网络协议规范-中文翻译_001

DDS规范-译文连载:DDS (Data Distribution Service) 数据分发服务-规范中文翻译_001


相关链接

DDS科普:一文读懂DDS(数据分发服务)

DDS定义:什么是DDS?

DDS和TSN:实时数据交换的未来?相关推荐

  1. DDS融合TSN:实时数据交换解决方案

    工业物联网(IIoT)通过利用来自多个来源的实时数据来创建更智能的应用程序和系统.这需要语法上的互操作性-以可发现且明确的方式交换结构化数据的能力.它是构建IIoT组件和系统的连接基础架构的最低要求. ...

  2. 实时数据交换平台 - BottledWater-pg with confluent

    标签 PostgreSQL , Bottled Water , Kafka , Confluent , IoT 背景 想必大家都在图书馆借过书,小时候有好看的书也会在小伙伴之间传阅. 借书和数据泵有点 ...

  3. 数据交换实践:创建业务系统间高速公路

    转载本文需注明出处:微信公众号EAWorld,违者必究.扫描文末二维码可加入本文作者所在技术讨论群. 企业大量的IT投资建立了众多的信息系统,但是随着信息系统的增加,各自孤立工作的信息系统将会造成大量 ...

  4. 百信银行基于 Apache Hudi 实时数据湖演进方案

    简介:本文介绍了百信银行实时计算平台的建设情况,实时数据湖构建在 Hudi 上的方案和实践方法,以及实时计算平台集成 Hudi 和使用 Hudi 的方式. 本文介绍了百信银行实时计算平台的建设情况,实 ...

  5. 百分点“数据隧道”玩转大数据平台实时数据复制

    实时数据复制技术在银行.电信.保险.政务和电商等领域应用非常广泛. 比如银行领域的收单业务涉及收单行.银行卡组织及发卡行的数据同步.收单行的数据需要传输到银行卡组织,再由银行卡组织传输给发卡行. 如果 ...

  6. 银行应用系统间的数据交换

    在核心业务系统与外围系统之间批量交互数据是银行应用系统中最常见的任务之一,由于通常要受到多方面因素的制约,这是一个十分复杂而且耗费精力的工作.本文对其中的技术困难和应对策略进行了总结. 尽管目前银行正 ...

  7. 基于JSON数据交换模型的实时支付系统设计和实现

    随着支付行业向各类便民账单服务.金融服务类扩展,支付内核采用固定格式数据交换模型已不能适应快速灵活开发的需要.以JSON为基础构建精简3层数据交换模型,并对JSON内存分配管理.键值使用进行优化,实现 ...

  8. opensplice dds v6.3.2_DDS生态社区带你解读|Filecoin创始人胡安:数据存储需求未来会增长3倍...

    10月27日,在第六届区块链全球峰会上,IPFS分布式存储和Filecoin创始人Juan Benet发表了关于Filecoin及数据存储主题演讲. 10月27日-28,由万向区块链主办的第六届区块链 ...

  9. 安科瑞DJSF1352系列直流电能表,可通过RS485接口与微机进行数据交换,并具有电能测量、数据处理、实时监测等功能

    1.概述 DJSF1352电子式直流电能表采用液晶显示,可通过RS485接口与微机进行数据交换,并具有电能测量.数据处理.实时监测等功能.适合充电桩直流计量.蓄电池.太阳能电池板等直流信号设备电量测量 ...

最新文章

  1. 一门杀人于无形的艺术——社会工程
  2. 解决JDBC连接mysql时server time zone问题及com.mysql.jdbc.Driver is deprecated
  3. Web应用程序安全性:战斗自己或寻找理智的边缘
  4. IntelliJ IDEA 显示行号方法
  5. 【Maven入门教程】Maven的基本概念
  6. 移动web开发之rem布局(rem基础、媒体查询、 less 基础、rem适配方案)
  7. 耳目一新!令人膜拜的牛人简历!厉害的攻城师啊
  8. Mysql之索引详解
  9. 微信又出隐藏“技能”,一夜之间朋友圈刷屏了
  10. 关于 Visual Studio 2017 ,或2019 ,Installer 没检测到已安装的程序.以及C++ 创建项目失败...
  11. OA报账规范(出差专用)
  12. lwip协议栈实现服务器端主动发送,lwip协议栈源码详解说明 - 全文
  13. Python学习手册-笔记2
  14. 数值计算(四)——插值法(3)Hermite插值法(补充)
  15. 【复习】数学分析知识点梳理【思维导图】
  16. [c语言编程入门]迭代法求平方根
  17. 关于可见光摄像机与机器视觉的科普
  18. 【转载】.btc勒索病毒删除+还原文件(Dharma家族新成员)
  19. 天干地支计算公式_天干地支计算方法
  20. java 模板转 PDF

热门文章

  1. flash media server和kv3000之间的矛盾。
  2. 应广单片机PFC151
  3. 微软数字签名工具--SigCheck的应用
  4. 对计算机专业有用的书籍
  5. 怎么对Revit族三个方向旋转
  6. 大数据行业面试注意这几点,让你招招“制敌”
  7. 翻页时钟Fliqlo不显示时间
  8. 闲鱼自动抓取/筛选/发送系统 V13发布
  9. Apache ab -- 工具简介
  10. 关于Seeed XIAO RP2040在Arduino IDE中上传出错的问题(错误内容在正文)