WebLogic Real Time 简介
时间:2006-06-14
作者:Markus Eisele
浏览次数: 1232
本文关键字:WebLogic Real Time,latency,deterministic,garbage
collection,spring,WebLogic Server,BEA JRockit,Markus Eisele,延迟,
确定性,垃圾收集,实时
文章工具
推荐给朋友
打印文章
摘要
BEA WebLogic Real Time (WLRT)服务器提供了一种基于 Java 的基础架构来满足实时处理
需求。这在 Java 领域中是比较少见的:按照实时需求处理请求,而不是只要求 J2EE 服务器可运
行且可靠即可。使新特性成为可能的关键组件是 JRockit Java Virtual Machine (JVM)。本文将介
绍 BEA WebLogic Server 与 BEA JRockit 的完美结合,并提供一些实时计算的基础知识。在文章
的末尾,我们将简要介绍与 WebLogic Real Time 相关的用例。
关于实时
在开始讨论 WebLogic Real Time 之前,我们必须首先思考一下该产品中的两个单词的意思:
“real”和“time”。关于“实时”(real time),存在着许多种定义,许多文章也描述了不同的概念——
第一个 Java Specification Request (JSR 1)甚至就是专门针对此主题的。然而,实时的定义并不
是一成不变的。没有人可以给出一个确定的定义,说明到底什么是实时以及如何确定它,但是似
乎大家都认为,如果看到实时,自己就会知道了。为了更好地说明实时的概念,我们将引入几个
常见的定义。根据 Douglas Jenson 对实时的讨论,存在两种类型的实时:“软”实时和“硬”实时。
硬实时:定义了一个系统,其中所有可调度和不可调度的实体的执行都要遵守规定的完成时
间约束。其它时间约束(也称为“上界”)可能也必须满足。实体的行为和运行时间是可预测的、
确定的。
软实时:表示不属于硬实时的所有其它实时情况。所有时间约束都是软性的。基本上,这就
意味着所有可调度和不可调度的实体都可能被优化以便以最佳状态执行,但是执行时间不可
预测。
在一个硬实时系统中,必须遵守时间期限,否则计算结果就会无效。例如,考虑汽车中的嵌
入式系统。如果您要加速,而电子加速器的响应延迟了,那么就会得到无法预料的行为。而如果
刹车系统延迟了,就会导致可怕的后果。软实时系统中的定时约束没这么严格,甚至在超出了时
间约束之后,计算结果也可能仍然有用。
音频流就是一个软实时系统的例子。如果一个数据包延迟或丢失了,音频的质量会降低,但是流
可能依然有效。
为了保证满足实时系统的定时需求,底层计算系统的行为和计时必须是可预测的。一个可预
测的定时系统,其所有操作所需的时间必须是有限制的。这意味着所有操作在最坏情况下的定时
是已知的。实时系统通常都是用多个异步线程实现的。这是因为他们通常需要响应事件以及控制
异步设备。