论文部分内容阅读
进入90年代,随着分布计算技术的发展,分布对象计算已成为分布计算的主流。分布对象计算环境解决了分布应用面临的十分突出的系统集成问题,被广泛应用于各个领域,已成为当前研究的热点,并且出现了以CORBA、DCOM、Java RMI等为代表的分布对象计算模型。其中,CORBA满足平台、实现语言的无关性,透明性、互操作性和开放性等分布计算的本质属性,已成为分布对象计算的主流。然而,分布对象计算的多层次抽象本质和其具体计算模型的不足使得当前的分布对象计算环境往往是一个低效、固定、静态、黑箱式的软件平台,难以满足来自不同领域的应用需求,阻碍了分布对象计算在各领域的深入应用。因此,如何基于分布对象计算的本质定义分布对象计算的抽象层次及其实现模型,并在层次与应用需求以及性能之间寻求平衡则成为分布对象计算领域中研究的重点。 针对上述问题,本文的主要工作围绕高效、灵活的分布对象计算环境技术的研究展开,其基本思路是通过分布对象层次抽象模型建立开放实现,支持扩展和定制的分布对象计算环境框架,优化各抽象层次和内部机制的实现,在计算环境中建立灵活的配置结构,提供对请求处理的控制和调度机制,支持分布对象计算环境的动态配置,动态响应资源和环境的变化,满足来自不同领域的不同应用需求。在此基础上,我们开发了一个符合CORBA2.3标准的高效、灵活的分布对象计算环境。本文的主要工作包括: 1.基于分布对象计算提出了分布对象层次抽象模型,定义了分布对象的抽象层次。综合Agent技术与分布对象计算深入研究了分布对象计算环境的总体框架。基于AOP(Aspect-Oriented-Programming)技术和构件技术,通过层次抽象模型细化总体框架,提出了一种开放实现的层次式分布对象计算环境框架ML-DOF。ML-DOF支持分布对象计算环境的扩展和定制以及在功能结构上的垂直划分。基于ML-DOF分析了CORBA和Java RMI计算模型,分别给出了开放式ORB模型和可扩展RMI模型,克服了原有模型的不足。 2.针对分布对象计算环境低效、单一策略的实现,本文基于ML-DOF研究了各抽象层次的优化技术和开放实现技术,提出了一种基于CORBA中公共数据表示的高效编码算法和延迟编码算法,能有效地将编译型编码效率提高12%~33%,对于解释型编码和复杂数据类型具有更好的优化效果;提出了一种基于常量时间的对象适配策略和多种策略集成框架;提出了一种具有较优时空效率以分布对象类型为单位的基于方法分发策略定制的优化机制和分层算法以及基于处理句柄直接定位方法的方法分发策略;给出了一种基于不变量分析和内容共享的内存优化技术。采用上述策略和技术对StarBus进行优化,在给定的BenchMark下测试,总体效率提高了30%左右。 3.基于ML-DOF框架提出了一种高效、面向服务和对应用透明的本地请求优化模型MOCICF,支持CORBA计算模型的所有属性和透明性假设,例如请求处理语义、请求激活方式和操作散转方式的组合和相互透明等属性。 4.针对分布对象是分布共享资源管理属性的一种抽象表示,本文研究了分布对象资源访问的多层映射模型和基于反应式Agent模型的事件处理机制,提出了一种划分分布对象计算环境的配置结构,建立灵活应用部署环境的层次管理域模型MLMD及监控结构,支持不同管理属性的实现。基于MLMD和CORBA计算模型提出了一个可灵活配置的多端口ORB结构,支持层次管理域的部署,并讨论了流控机制的实现,基于Reactor国防科学技术大学研究生院学位论文模板的扩展技术提出了一种事件类型“借用”策略的公平、自调度的流控机制算法。基于监控结构,提出了一种独立于应用和底层支持的引用驱动类型的适应性请求调度机制,高效支持分布对象系统物理拓扑结构的动态改变和其它管理属性的实现。 5.为支持分布对象计算环境的动态配置,本文提出了一种三层管理结构和满足动态配置一致性的条件。在此基础上,提出了一种具有较好效率、不限制实现环境、易于使用、支持非预定义构件交互的ORB动态配置管理结构,并提出了一种独立于应用,支持在线动态配置的协议TCDRP,解决了动态配置的关键问题。 6.实现了一个高效、灵活的分布对象计算环境starBus。讨论了系统内核的实现和CORBA23中新特性,如POA、值对象、IDL编译器、编码引擎等的实现技术。另外,对所实现的具有不同特性的StarBus版本完成了各方面测试,总结了一套较为成熟的测试技术,目前已基本产品化,被广泛应用于各个领域。 最后,本文总结了课题研究的主要成果,并给出了下一步要进行研究和工作的方向。