在网络上为业务定义实时
对于基于Web的系统,使用"实时"一词会让我发疯,无法听取业务支持者的话。我在房间里变得疯狂起来,高呼:"网络上没有实时性!我们在银行业务,而不是火箭发射/船舶导航/飞机自动驾驶业务!"
在性能指标方面,有谁比实时或者其可怕的混合实时性能更好?
解决方案
回答
排队?与在带外或者一天结束时的批处理作业相反,在行动中发生的动作与动作一致。
回答
对于嵌入式程序员而言,实时意味着一回事。对于普通人来说,这意味着其他的东西。如果我的在线余额始终与我的ATM /银行柜员的余额匹配,我会称其为实时。如果我可以在帐户之间进行转帐,刷新屏幕并立即看到完成的转帐,我会称之为实时。
如果Web后端只是打印出人工干预的命令,或者将用户命令转储到文件中以进行脱机批处理,那么这将不是实时的。
回答
在银行业中,大多数时候,"实时"与"日终"相反。
因为在过去没有Internet / Intranet / LAN / WAN这样的事物,所以所有平衡都是在"一天结束"时完成的。在一个分支机构中使用某个银行帐户进行的交易将忽略在另一个分支机构中进行的交易;所有余额结算将在一天结束时进行。当大型机采用相同的规则时:解析是由计算机通过长时间运行的进程来完成的,该进程通常在晚上9点至午夜12点之间运行。
这就是诸如"当前余额"和"可用余额"之类的术语背后的原因,例如,可用余额是由日末处理确定为前一天的帐户余额的;当前的余额应该是应该的,但是我们不能触摸它,因为银行不确定我们是否在其他地方进行过交易。
随着ATM,互联网和其他互连技术的出现,"实时"余额解析现在成为可能:提款,在线交易,购买借记等将立即反映在客户的银行帐户中,而无需等待收尾处理。
回答
即时?立即的? Live(不,等等,微软最近拥有这个词了,不是吗?)?
更严重的是,对于没有流程控制/嵌入式系统背景的人来说,"实时"可能不会使他们感到困惑。喝一杯令人放松的饮料,并担心其他事情。
回答
实时意味着我们要执行一组任务以执行一个任务,如果一个任务花费的时间超过了定义的时间,则整个过程将失败,并且可能导致系统崩溃。例如,用于控制火星探测飞行器的应用程序被认为是实时应用程序,即使在地球上触发的命令需要8分钟才能达到飞行器,而车辆摄像头的图像也需要花费8分钟以上才能到达地球。因此,即使在采取行动与看到结果之间有16分钟的延迟,也可以将其定义为实时的,因为如果花费的时间超过计划的16分钟,则存在很大的风险,即车辆可能会与岩石或者岩石碰撞。陷入萧条。
回到示例中,我看不到ATM机,或者上述余额是实时的,它们可能是"在线"或者"已更新",但不是实时的,因为如果花费更多的时间才能完成该系统,则不会崩溃的系统在ATM上取款。
回答
我们如何为嵌入式系统定义"实时"?我要说一个体面的定义是"一个系统,它能够比输入之间的平均时间更快地处理和响应输入"。换句话说,与正在馈送数据的系统相比,该系统永远不会落后于处理。使用此定义,Web上的所有内容都是实时系统,因为落后的Web服务器往往无法访问(即,斜线效果)。
回答
这是一个营销术语,意思是"非常快",例如,可能不到1秒。
显然,这与人们谈论实时嵌入式系统,实时操作系统等的含义不同。
回答
实时系统(来自安全关键系统领域)的一种定义是一种系统,其正确性取决于其响应的及时性。
这对于实时网络交易系统同样适用,其股票价值在几秒钟内就变得陈旧,对于具有毫秒级正确性要求的嵌入式航空电子电传飞行系统也是如此。