欢迎来到天天文库
浏览记录
ID:33617122
大小:3.73 MB
页数:109页
时间:2019-02-27
《服务网格动态维护研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、华中科技大学博士学位论文通常,预防性维护定义为:“把今天的方法学用于昨天的系统以满足明天的需要”。也就是说,采用先进的软件工程方法对需要维护的软件或软件中的某一部分(重新)进行设计。1.1.2动态维护不同于软件工程中的维护,动态维护更倾向于运行态的软件实体能够在服务或应用服务不停机的情况下保持系统完整正确的运行。动态维护的目标是在线更新、在线演化,它要求在不停机的情况下允许系统从当前的状态更新到下一种状态,并且保证在更新的过程中,对系统带来的影响要尽可能的低。系统的演化随着系统运行和应用需求的变化而变化,而这种变化在系统的设计阶段是不可知的。当发现系统的配置信息不满足系统的实际运
2、行要求,或监测到系统的异常时,系统必须在运行时刻动态地调整,以满足应用需求的变化。在动态维护过程中,被配置的服务对象将受到影响,而其它服务对象将继续保持其原来的状态。动态维护操作包括如下四类:(1)部署在系统中增加一个新的服务对象;(2)反部署将一个服务对象从系统中停止、移除并删除掉服务实体;(3)迁移服务对象从一个系统资源迁移到系统中另外的系统资源上;(4)升级服务对象被新的服务所替换、新的对象在新环境中运行,但可能有与旧对象不一样的功能和服务质量(QualityofService,简称QoS)属性。动态维护的一个重要需求是保持所维护的系统的一致性。为了确保系统的正确性,必须满
3、足下面三个条件:(1)系统满足结构完整性要求;(2)系统中的实体处于相互一致的状态;(3)系统状态的一致性。1.2动态维护的特性及其关键问题1.2.1动态维护的特性文献[4]中指出,类似网格这样的大规模计算系统应当具备7个主要特性,也就是可扩展性、异构性、可用性、容错性、安全性、动态性和易用性。如果把分布式维护中相对应的问题映射到这些点上则必须解决如下的挑战:3华中科技大学博士学位论文1)动态性动态性是大规模分布式系统的共同特征。随着新节点的加入和离开,动态维护的特点也变得越来越困难。动态维护必须保证在网格节点加入或者离开的时候,所进行的维护能够正常无误地执行。这是动态维护一个至
4、关重要的特性。2)安全性由于动态维护提供给用户极高的灵活性,用户甚至可以自如地在可用资源上部署所需要的服务或者软件资源。当这种灵活性扩大到整个分布式系统时,动态维护应该严格授权给所涉及虚拟组织中的可信用户,并能合理地处理和提供可靠的安全传输、认证工作。3)可扩展性动态维护系统应该能够随着维护目标系统规模的增大而自动适应,这意味着相应的维护指令应该能在最短的时间内,正确无误地传播到上千乃至上万的节点上去。这意味着动态维护系统的可扩展性实质上是维护指令准确的高并发性,这一点随着网格异购软硬件的急速膨胀,显得尤为重要。4)易用性无论对于系统管理员还是最终的用户,动态维护接口应该足够简单
5、。对于系统管理员,动态维护系统应该能够按照管理员的指令,尽快和实时地把维护指令传播到分布式节点中去;对虚拟组织或特定应用客户端,动态维护系统必须能自动透明地传播相关指令到目标节点。5)异构性为了正确地维护服务和软件,大规模维护必须为差异性考虑多种策略。换言之,它必须能够适应不同的操作系统(比如Windows、Linux、AIX等)、不同的体系架构(比如X86-32、IA64和X86-64等)、不同的编译器版本(比如GCC2.1和2.3)。除去这些物理特性,来自网络影响(比如包传输时间、指令执行时间)的同步也许要纳入到决策考虑中来。6)容错性有许多不确定的因素(如不稳定的网络延迟和
6、突发事件)会导致维护很难保证快速和正确地传播任务到所有节点上去。动态维护系统应该具备容忍这些紧急事件发生的能力,在错误发生的情况下能够正常工作并具备使被中断的维护能够正确执行下去的机制。在动态性极强的分布式环境下,容错性显得尤为重要。4华中科技大学博士学位论文7)网格应用的高可用性网格维护系统的六点非功能指标均是为了实现大规模动态维护应该在最短时间内完成,保证最短的系统停机时间,从而实现网格应用的高可用性。而且动态维护自身的执行应该尽量避免与多用户环境下普通请求产生矛盾。在不损害用户请求的利益下,动态无缝地完成维护工作是动态维护在可用性方面的最理想要求。1.2.2动态维护的关键问
7、题动态维护具有实时性的特点,实现真正的动态维护需要解决多个关键问题。它们主要包括:1.2.2.1支持热替换的基础构架支持热替换的软件体本身对动态维护起着至关重要的作用。在不停止容器和服务器的情况下,不间断地完成动态置换工作,为高效的动态维护工作提供关键的基础支持。DCom,CORBA[5],和Java虚拟机技术[6]支持反射与组件的热替换。针对Java,GangAo[6]提出了一种热置换的策略来改进软件维护的过程,这在通讯和信息工程领域,实现在线软件升级而不中断其业务具有非常重要
此文档下载收益归作者所有