https://stackoverflow.com/tags/real-time/info
实时
实时意味着活动完成的时间是其功能正确性的一部分。例如,sqrt() 函数的正确性类似于
实现了 sqrt() 函数
如果对于所有 x >=0,sqrt(x) =
y 意味着 y^2 == x。
在此设置中,执行sqrt() 过程所花费的时间不是其功能正确性的一部分。更快的算法在某种定性上可能会更好,但不会或多或少是正确的。
假设我们有一个名为sqrtrt() 的神秘函数,它是平方根的实时版本。例如,想象一下,为了正确执行防抱死制动系统中的下一个制动应用,我们需要计算速度的平方根。在这种情况下,我们可能会说:
实现了sqrtrt()函数
正确如果
- 对于所有 x >=0,
sqrtrt(x) =
y 意味着 y^2 == x 和
-
sqrtrt() 在
在这种情况下,时间限制不仅仅是一个性能参数。如果sqrtrt() 未能在 275 微秒内完成,则您可能会延迟刹车,从而触发打滑或降低刹车效率,从而可能导致事故。时间限制是例程功能正确性的一部分。将其提升几层,您将获得一个实时系统(至少部分地)由具有作为其功能正确性条件的一部分的及时性的活动组成。
近乎实时
接近实时的系统是这样一种系统,其中活动完成时间、响应能力或根据挂钟时间衡量的感知延迟是系统质量的重要方面。典型的例子是股票报价系统——您希望在价格变化后合理快速地获得报价。对于我们大多数非高速交易者来说,这意味着数据可用与我们看到数据之间的感知延迟可以忽略不计。
“实时”和“近实时”的区别在于精度和幅度上的区别。实时系统具有从微秒到几小时不等的时间限制,但这些时间限制往往相当精确。近实时通常意味着更窄的幅度范围 - 在人类感知容差范围内 - 但通常没有精确表达。
我认为近实时系统可以称为实时系统,但它们的时间限制仅仅是概率性的:
股票价格将在交易所发生变化后的 500 毫秒内显示给用户,其中
概率 p > 0.75。
批次
批处理操作被认为是大块的计算任务,只有宏观的、人为或流程引起的最后期限。计算的具体上下文通常并不重要,批量计算通常是一个独立的计算任务。实时和近实时任务通常与物理世界紧密耦合,它们的时间限制来自物理/现实世界交互的需求。相比之下,批处理操作可以在任何时间、任何地点进行计算;它们的输出仅由定义批次时提供的输入定义。
原帖
我会说实时意味着完成操作的时间(而不仅仅是正确的输出)是其正确性的一部分。
Near real-time 是一个狡猾的词,表示想要与实时相同的东西,但不想用纪律/努力/成本来保证它。
批处理是“近乎实时的”,您可以更容忍较长的响应时间。
通常使用这些术语(糟糕的是,恕我直言)来区分人类对延迟/性能的看法。人们认为实时是非常快的,例如毫秒或其他东西。近实时通常是几秒或几毫秒。批处理是几秒钟、几分钟、几小时甚至几天的延迟。但我认为这些并不是特别有用的区别。如果您关心及时性,有一些纪律可以帮助您做到这一点。