- 实时是同步 Web 服务或异步 Web 服务。 - 准实时可以是 JMS 或消息系统,或者大多数事件驱动系统。 - 批处理对我来说更像是一个定时系统,在它唤醒时进行处理。
请给出每个示例,并随意纠正我的假设。
https://stackoverflow.com/tags/real-time/info
实时意味着活动完成的时间是其功能正确性的一部分。例如,sqrt()
函数的正确性大致如下:
如果对于所有x>=0,sqrt(x) = y,则sqrt()函数已正确实现,且y^2 == x。
在这种情况下,执行sqrt()
过程所需的时间不是其功能正确性的一部分。某些定性意义上更快的算法可能更好,但并不更正确或更不正确。
假设我们有一个名为sqrtrt()
的神话般的函数,它是平方根的实时版本。例如,我们需要计算速度的平方根,以便在防抱死制动系统中正确执行下一个刹车应用程序。在这种情况下,我们可能会说:
在这种情况下,时间约束不仅是性能参数。如果如果对于所有x>=0,
sqrtrt(x)
= y,则sqrtrt()函数已正确实现,且y^2 == x,并且sqrtrt()
返回结果小于等于275微秒。
sqrtrt()
未在275微秒内完成,则您可能会延迟刹车,触发打滑或减少制动效率,可能导致事故。时间限制是例程功能正确性的一部分。将其提升几层,您将得到一个实时系统,其中包含具有及时性作为其功能正确性条件的活动(至少部分组成)。
股票价格将在其在交易所变化后500ms内显示给用户,概率p> 0.75。
我认为实时意味着完成操作所需的时间(而不仅仅是正确的输出)是其正确性的一部分。
准实时是想要与实时相同的东西,但不想去保证纪律/努力/成本的诡辩话语。
批处理是“准实时”,在这种情况下,您甚至更容忍长时间的响应时间。
通常这些术语(在我看来很糟糕)用于区分人类对延迟/性能的感知。人们认为实时是非常快的,例如,毫秒级或其他东西。准实时通常是秒或毫秒级。批处理是几秒、几分钟、几小时甚至几天的延迟。但我认为这些区别并不特别有用。如果您关心及时性,有学科可以帮助您实现这一点。
Attribute4与我正在做的事情更相关,因此您可以将其排除或扩展列表以实现您想要实现的目标。对于每个这些属性值,可能会有其他特定的属性。但是为了将信息汇集起来,我们需要考虑使集体数据有用所需的内容。例如,我们需要知道批处理和事务流之间的差异,以使它们一起有用。例如,您可以考虑为每个属性提供能够理解给定时间段内总吞吐量的能力。看起来很有趣,我们可以为业务客户创建概念、逻辑和物理数据模型(希望如此),但我们并不总是将这种思考方式应用于如何定义我们讨论中的术语。