3.2 基于移动Agent的容错技术
移动代理是指一个可以在网络上移动并执行确定功能的程序,也就是说移动代理可以在运行的一点挂起,移动到另一台机器并从挂起点继续运行。从这一方面上讲,它和检查点技术颇为相似。
移动代理系统的研究涉及多方面的问题,其中移动代理的容错性能占据一个重要方面,移动代理在有线或无线网络上自行移动,网络节点内部程序的错误、网络节点的崩溃或离线、网络传输的延迟等无一不对代理的顺利执行构成威胁,移动代理的自主性、可移动性、交互性等自身特性使它的容错性能有别于传统的容错方案。
现有几种的移动代理的容错模型多数是基于复制的。下面加以介绍:
(1)检查点方法(Check Pointing ApprOAch)如图3所示,当代理在库所执行时,它的初始代码存储在稳定存储器中,执行状态周期性地被存储到检查点,如果库所失效,代理将从稳定存储器中恢复。但在实际运行过程中,检查点需要将运行状态及时发送到库所存储位置,如果库所失效,则检查点方法无法恢复。这种方法只能处理到库所失效级。
图3 检查点容错原理图
(2)Stefan Pleisch和Andr 6 Schiper提出的分类方法
将多数模型分为基于暂态复制(temporal—replica—don—based)和基于空间复制(spatial—replication—based)两类。
暂态复制基于检查点方法,但将备份保存在前一库所。如图4所示,P1监视P2和P2”,当库所P2发生故障时,P1将代理a2送至P2’继续执行。可见,暂态复制能够克服库所故障,如果库所处在不同的主机上还能克服主机故障。
图4 基于暂态复制的容错模型
空间复制方法如图5所示,代理将每个阶段的执行结果全部复制到下一阶段的库所上,即使有一个库所失效,其它库所也收到了代理,也可以继续执行。通常每个阶段只有一个代理执行,这是由每个阶段的选举法则(voting protoco1)决定的。显然这种方法也能克服库所故障和主机故障。甚至在某种程度上能够克服拜占庭故障。
图5 基于空间复制方法的容错模型
4 相关的比较
目前关于容错机制的研究工作正在广泛地开展。在已有的工作中,最简单的方法是基于检查点的方法,只需保存进程的检查点,检查点间的协作通过引入通信的策略也只要较少的消息代价就能实现因而其无故障操作开销较小,但是它的故障恢复开销却很大,因为它需要严格的恢复协同和回滚后需要大量的重计算。悲观和随机的日志策略由于频繁的存储访问、消息高开销,它们的无故障操作开销比较大;但乐观日志可以以vector clock实现较低的无故障操作开销,乐观日志的低无故障开销使其在移动环境中得以实现。
从移动Agent方面来考虑的话,S.Pleisch and A.Schiper提出的基于复制的技术,无论是基于暂态的复制技术(Temporal Replication based,TRB),还是基于空间的复制技术(Spatial Replication based,SRB),都将面临一种可能,即对移动Agent故障的判断是不可靠的,这样将导致有多个相同的移动Agent同时在网络中执行,破坏只执行一次的性质。
从实现的角度上考虑,系统设计者常常需要在决定每个主机的副本数量、保持每个副本和决定备份、恢复的策略等等问题上做大量工作。由于在大多数应用中,每个主机都拥有自己独立的控制权,因此要决定诸如主机同时运行的副本数量的问题是件非常困难的事情,同时在一个主机中,运行多个副本无形中也增加了安全性方面的负担。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:移动计算容错行为研究(下)