【问题标题】:Why solutions like pusher claim to be "Real time"?为什么像 pusher 这样的解决方案声称是“实时的”?
【发布时间】:2017-08-14 22:42:45
【问题描述】:

我使用 Pusher 已经有一段时间了。我一直认为“实时”意味着“即时”。最近我进了这篇文章:https://en.wikipedia.org/wiki/Real-time_computing,一句话引起了我的注意:

"实时程序必须保证在规定时间内响应 约束”

他们举了一个基于音频处理的例子:

"考虑一个音频 DSP 示例;如果一个进程需要 2.01 秒 分析、合成或处理 2.00 秒的声音,它不是 即时的。但是,如果需要 1.99 秒,则可以或可以 进入实时 DSP 进程。”

我的问题: 1. 这个定义只适用于硬件/电子设备还是也可以适用于软件? 2.如果适用于软件,是否适用于Pusher等远程服务? 3. 什么是推送器被视为“实时”的时间限制? 4. WebRTC、Firebase等其他服务的时间限制是多少?

【问题讨论】:

    标签: webrtc real-time pusher


    【解决方案1】:

    很抱歉这篇冗长的帖子没有具体回答您的问题,但我希望它能让您更好地理解“实时”定义的来源。


    是的,“实时”意味着“瞬时”,这是可以理解的混淆。但如果你真的开始思考,你很快就会发现“瞬时”是很难定义的。

    瞬时是什么意思?从命令时间到响应时间的 0(零)秒响应时间(如 0 sec 0 ms 0 ns 0 ps)在物理上是不可能的。然后我们可以尝试说瞬时意味着命令响应时间是瞬时感知的,即它不会被视为延迟。但是……“瞬间感知”到底是什么意思?被人类感知?好的,这很好,我们正在取得进展。人眼和大脑图像处理是一个非常复杂的机器,它并不能简单地以 fps 工作,但我们可以使用数据来近似一些。人眼可以“感知屏幕上闪烁的图像 1/250 秒”。那将是0.004 秒或 250 fps。因此,通过这种近似,如果图形程序的响应时间 0.01666 秒。所以现在我们有两个不同的答案。我们能以某种方式证明他们俩的合理性吗?是的。我们可以说理论上实时意味着 0.004 秒,但实际上 0.01666 秒就足够了。

    我们本可以很高兴并在这里停下来,但我们正在探索的旅程中。所以让我们进一步思考。您是否希望“实时”航空电子自动化系统具有0.01666 秒的响应时间?您认为“实时”核电站系统的0.01666 秒响应时间是否可以接受?如果命令完成时间为0.0166 秒,那么阀门需要 15 秒物理关闭的油控系统是否会被定义为“实时”?所有这些问题的答案绝对是否定的。为什么?回答这个问题,你就回答了为什么“实时”被定义为:“实时程序必须保证在指定的时间限制内响应”。

    对不起,我对“Pusher”一点也不熟悉,但我可以回答你的第一个问题和第二个问题的一部分:“实时”可以应用于任何需要“反应”或响应的系统到某种形式的输入。这里的“系统”比你想象的更通用。一个大脑会符合条件,但在工程的上下文中意味着整个堆栈:硬件 + 软件。

    【讨论】:

      【解决方案2】:
      1. 此定义仅适用于硬件/电子设备还是也适用于软件?

      它也适用于软件。任何有时间限制的东西。例如,有实时操作系统,甚至还有 Java 的实时规范。

      1. 如果适用于软件,是否适用于 Pusher 等远程服务?

      很难看出如何,如果涉及网络。更可能它们只是意味着“及时”,或者顾名思义,这可能只是一种草率的说法“推送模型”。该站点上的大量用户似乎认为“实时”意味着“真实世界”。在 IT 中,它意味着能够满足硬实时约束的系统。您引用的维基百科定义是正确的,但示例不是很令人满意。

      1. 什么是推送器被视为“实时”的时间限制?

      问题格式不正确。真正的问题是,Pusher 是否真的可以满足严格的实时约束,只有那时它们的最小值可能是多少。如果没有操作系统和网络支持,这似乎根本不可能。

      1. WebRTC、Firebase 等其他服务的时间限制是多少?

      同上。

      【讨论】:

      • 很好的答案。一个小想法:(根本不熟悉推送器,但是)网络应用程序可以在没有操作系统/网络支持的情况下“实时”。对于某些系统,超时响应可被视为可接受的响应。
      • @bolov 我猜是这样,但是非实时操作系统甚至无法保证超时时间不增加一些延迟。
      【解决方案3】:

      “实时”一词的大多数解释是指传统的静态类型,通常称为“硬实时”。尽管对于“硬实时”和“软实时”这两个术语的含义没有太多共识,但我在Introduction to Fundamental Principles of Dynamic Real-Time Systems. 中提供了基于科学第一原理的这些术语和其他基本术语的定义

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-20
        • 1970-01-01
        • 1970-01-01
        • 2021-11-26
        相关资源
        最近更新 更多