Alb*_*ong 5 etl web-services real-time batch-processing
我想要获得实时,接近实时和批量的良好定义?我不是在谈论同步和异步,虽然对我来说,它们是不同的维度.这就是我的想法
举几个例子,随意修复我的假设.
and*_*soj 23
https://stackoverflow.com/tags/real-time/info
实时意味着活动完成的时间是其功能正确性的一部分.例如,sqrt()函数的正确性就像
如果对于所有x> = 0,sqrt(x)= y意味着y ^ 2 == x,则正确实现sqrt()函数.
在此设置中,执行sqrt()过程所需的时间不是其功能正确性的一部分.在某种定性意义上,更快的算法可能更好,但不会更正或更不正确.
假设我们有一个神话函数叫做sqrtrt()平方根的实时版本.想象一下,例如,我们需要计算速度的平方根,以便在防抱死制动系统中正确执行下一个制动应用.在这种情况下,我们可能会说:
如果,则正确实现sqrtrt()函数
- 对于所有x> = 0,
sqrtrt(x)= y意味着y ^ 2 == x和sqrtrt()返回<= 275微秒的结果.
在这种情况下,时间约束不仅仅是性能参数.如果sqrtrt()未能在275微秒内完成,您可能会迟到刹车,触发打滑或降低制动效率,可能导致事故.时间约束是例程功能正确性的一部分.提升几层,你得到一个实时系统(至少部分)由具有及时性作为其功能正确性条件的一部分的活动组成.
近实时系统是指根据挂钟时间测量的活动完成时间,响应性或感知等待时间是系统质量的重要方面.这个典型的例子是股票代码系统 - 您希望在价格变化后合理地快速获得报价.对于我们大多数非高速交易者而言,这意味着数据可用和我们看到它之间的感知延迟可以忽略不计.
"实时"和"近实时"之间的差异是精度和幅度的差异.实时系统的时间限制范围从微秒到几小时,但这些时间限制往往相当精确.近实时通常意味着较窄的范围 - 在人类感知容差范围内 - 但通常不精确地表达.
我认为近实时系统可以称为实时系统,但它们的时间限制仅仅是概率性的:
股票价格将在交易所变更后500ms内显示给用户,概率p> 0.75.
批处理操作是那些被认为是大块计算任务的操作,只有宏观,人工或过程引起的最后期限.计算的特定上下文通常并不重要,批量计算通常是一个独立的计算任务.实时和近实时任务通常与物理世界紧密耦合,其时间限制来自物理/现实世界交互的需求.相比之下,批量操作可以在任何时间和任何地点计算; 它们的输出仅由定义批次时提供的输入定义.
我想说实时意味着完成一个操作的时间(而不仅仅是正确的输出)是其正确性的一部分.
近乎实时的是狡猾的词语,因为它们想要与实时相同的东西,但又不想去纪律/努力/成本来保证它.
批量是"接近实时",您可以更加容忍长响应时间.
通常使用这些术语(严重地,恕我直言)来区分人类对延迟/性能的看法.人们认为实时是真实的,例如毫秒或其他东西.近实时通常是几秒或几毫秒.批处理是秒,分钟,小时甚至天的延迟.但我认为这些并不是特别有用的区别.如果您关心及时性,那么有一些学科可以帮助您实现这一目标.
| 归档时间: |
|
| 查看次数: |
14774 次 |
| 最近记录: |