代码之家  ›  专栏  ›  技术社区  ›  Steve M

什么是“实时”

  •  9
  • Steve M  · 技术社区  · 16 年前

    我很难决定是否把我的应用程序分类为“实时”或“接近实时”,甚至可能是别的什么。

    软件立即从源接收数据,然后基于某些规则,当满足某些条件时,发出警报。它采用的方法是每隔30秒检查最后30秒的数据,以查看是否满足规则的标准。

    那是真的吗?实时与近实时定义的阈值是什么?

    编辑

    我想这是 Define realtime on the web for business .

    请确定以上内容是否不足以回答您的问题。

    13 回复  |  直到 8 年前
        1
  •  20
  •   Community    16 年前

    实时=保证的最大分辨率时间。根据应用程序的要求,可能是皮秒或分钟

    这是stackoverflow最大的问题:不合格的人回答很多问题的答案都是“听起来不错”的,然后被投票通过,关心答案是否真的正确的人不会快速地胡说八道,以赢得修正错误答案的代表。由于预期的下意识反应而匿名发布。

        2
  •  9
  •   YermoungDer    16 年前

    实时对所指定的时间段内完成的事件进行必要的响应。 你的系统出故障了 是的。

    人们习惯于认为这一定意味着“少量毫秒/微秒”,但这不一定是真的——这取决于你的系统。

    如果你的系统会 失败 如果它没有完成,它需要在30秒内响应,然后它是“实时”。

    对于某些系统,a 失败 可能是灾难性的,例如造成多人死亡-这被描述为 安全关键 比如关闭核电站。

        3
  •  6
  •   Noel Grandin    16 年前

    “实时”这个短语覆盖了相当大的一块土地。

    模糊的定义是“在有限的响应时间内运行的软件”。

    如果边界很难,例如在汽车的喷射控制系统中,该软件被称为“硬实时”。

    如果边界是软的,例如在一个音乐播放系统中,在多达50ms的变化是可以容忍的情况下,该系统被称为“软实时”。

    是的,对于实时的一些定义,你的系统是实时的。

    但是如果你把它称为实时系统的人,你可能会被嘲笑,因为30秒是相当大的。

        4
  •  3
  •   paxdiablo    16 年前

    嗯,这可能是一个营销问题,而不是技术问题。

    实时,就嵌入式硬件而言,包括已知的处理传入信息(中断等)的固定最长时间。

    您当然可以要求30秒的实时延迟,特别是如果所述信息的传递时间超过了30秒。

    例如,如果您的“警报”是一封电子邮件,它可能在邮件服务器上花费10分钟,或者在监视器上花费10分钟,而用户只需每半小时检查一次,那么30秒就足以进行实时处理。

        5
  •  2
  •   moobaa    16 年前

    我认为定义实时性的一个方面是 确定性的 也就是说,基于输入的应用程序的响应时间是完全可预测的。

    因此,绘画非常广泛的笔触,任何应用程序坐在窗口顶部只能是“接近实时”,充其量。如果你的应用程序运行在某种沙箱平台(Java,.NET)上,你对平台功能没有绝对的控制(比如垃圾收集)。

    我个人的规则是“实时”不属于桌面PC,这是PLC的领域(是的,它们可能运行像QNX,VxWorx甚至RTLinux)的OSES。

        6
  •  1
  •   Bob Nadler    16 年前

    另一种定义“实时”的方法是评估许多人的能力。 RTOS 实时操作系统。例如QNX的定义是 here 是的。注意,它们符合 POSIX PSE52实时控制器1003.13-2003系统产品标准。大多数嵌入式操作系统将提供类似的功能。

        7
  •  1
  •   Stephen Friederichs    16 年前

    从我的控制朋友的定义“硬”-迟到的信息是错误的信息。如果它需要每1秒到1.1秒,那么它对计算是没有用的。

        8
  •  1
  •   E. Douglas Jensen    14 年前

    我在我的网站real-time.org上对此做了一个冗长的讨论。主页有一个到简报的临时链接。简报讨论了人们如何以及为什么不理解“实时”(以及“硬”、“软”、“可预测”等)的含义。它提供了一些精确和一般的定义。我听过一些人不同意我对这个问题的解释,但没有一个人提出过比我的解释更精确、更笼统的意见。”拉起椅子,我们谈谈“就像拉里金说的。

        9
  •  0
  •   Rob Gray    16 年前

    我相信答案是实时系统是主观的,因为“实时”只是由需求强加的时效性约束。虽然显然需要2小时来回应请求的东西不是实时的,但30秒的延迟可能足够快,才能符合实时性。

    我研究我认为的实时系统,当系统中发生事件时,它立即被扩展到系统上的设备,这样,知道设备上的更新的延迟是网络延迟和更新内存数据的时间的乘积。

    我个人不会把每30秒更新一次的投票结果归类为实时。作为上述系统的一部分,我们有一个web应用程序,它每30秒刷新一次,因此向用户显示的数据最长为30秒。与此形成对比的是比赛一开始就更新的赢球形式。

    再次强调,“实时”是由您对及时响应的定义所限定的。

        10
  •  -1
  •   Adam Driscoll    16 年前

    我认为实时的定义将取决于上下文。与音乐示例一样,实时需要毫秒,但可能与您的示例实时可能在30秒左右。都是相对的。

        11
  •  -1
  •   Per Hornshøj-Schierbeck    16 年前

    我认为你需要看看具体的解决方案或解决方案的一部分,在那里你需要实时响应。实时响应是由接收机(应用程序或基本上是终端用户)感知的实时响应。

        12
  •  -1
  •   Tom Carr    16 年前

    实时处理微秒…主要是机器人技术。想想“移动臂30微秒;焊接1000微秒;”,就像在汽车装配。

    你的30秒是基于线程睡眠还是非实时操作系统中的定时器?如果是,那么你有一个潜在的变量。如果你超出了30.01秒,你会认为这是失败吗?如果不是,那么它不是实时的。

        13
  •  -2
  •   Mitchel Sellers    16 年前

    我同意约翰的看法,在你的设想中,你至少要延迟30秒,我想说,这几乎是实时的。

    推荐文章