一种容错移动计算系统记录节点事件日志的方法

文档序号:6437441阅读:144来源:国知局
专利名称:一种容错移动计算系统记录节点事件日志的方法
一种容错移动计算系统记录节点事件日志的方法技术领域
本发明属于电通讯数字信息通信领域,具体涉及一种容错无线移动计算系统中记录存储移动主机节点计算进程历经事件日志内容和事件日志间偏序依赖关系的方法。
背景技术
高性能计算、互联网、分布式计算、无线通信、普适计算和云计算等领域的不断发展,极大地推动了移动计算技术的应用。区别于传统固定有线分布式计算系统,移动计算系统具备临时搭建性、自治性、移动性、对等性和拓扑结构易变性等特性,拥有广阔的发展前景。移动计算系统m-MSS-m模型系统由一系列移动主机节点和静态的移动支持站组成,移动主机节点与移动支持站之间能够建立动态的无线连接链路;而任意两个移动支持站之间具备高速的静态有线连接链路。
地理空间上,一个移动支持站覆盖的一个服务区域称作一个服务组。计算进程分布于移动计算系统的移动主机节点上。一个服务组中移动主机节点能够直接与服务于该服务组的移动支持站(本地移动支持站)建立连接,并通过本地移动支持站实现与系统其它移动主机节点或移动支持站通信(系统移动主机节点之间不能够直接通信)。每一个移动支持站均需维护相应列表记录当前连接的移动主机节点,同时,移动支持站还需记录移动主机节点移动性方面的信息,包括加入服务组、离开服务组、拆除连接和重新连接等。移动计算系统中计算进程服从分段确定性执行模型,计算进程之间仅通过消息传递的方式协同任务执行过程,计算进程状态转换由非确定性事件序列驱动。计算进程历经的事件包括进程检查点事件、中断事件、外部输入事件(如键盘或其它设备输入)、外部输出事件(如显示或打印)和普通消息事件。对于单个计算进程而言,普通消息的发送事件为确定性事件;非确定性事件包括进程检查点事件、普通消息接收事件、外部输入提交事件、外部输出提交事件和中断事件。为方便叙述,设定移动计算系统中每个移动主机节点上仅存在一个参与计算任务的计算进程。
为节省能耗等原因,一个移动主机节点能够经常转入休眠状态而断开与移动支持站的连接,移动主机节点能够通过向本地移动支持站发送拆除连接消息来完成断开操作。 本地移动支持站从移动主机节点接收到断开消息后,通过设置相应的标志位来标识该移动主机节点处于断开状态,并维护断开状态的移动主机节点列表。当断开的移动主机节点需重新连接到本地移动支持站上时,可以通过向本地移动支持站发送建立连接的请求来完成连接操作。
与传统固定网络分布式计算系统相比,移动计算系统的通讯带宽窄、移动主机节点的存储容量有限且易丢失、电池供电能力有限及移动主机节点的移动性。随着移动计算系统规模的增长,系统的出错概率大大增加。单个节点的故障可能导致整个系统崩溃并损失掉前面所有的计算过程。
针对基于无线网络的移动计算中移动主机节点计算进程容错这一问题,国内外专家学者对移动计算系统基于检查点卷回恢复的软件容错技术进行了初步的研究,设计了一些检查点卷回恢复技术的容错方法以解决移动计算系统的可靠性。设计的检查点卷回恢复机制中,各移动主机节点计算进程的执行过程中,周期性地将进程状态保存到可靠存储介质上,保存的进程状态称作进程检查点,移动计算检查点卷回恢复策略同时需要对各移动主机节点计算进程相关性进行跟踪和记录。当移动主机节点计算进程发生故障后,移动计算检查点卷回恢复策略的卷回恢复模块获取保存进程状态的检查点文件,将移动主机节点上发生故障的计算进程状态恢复为检查点文件所记录的进程状态,即进程检查点状态。发生故障的进程自此进程检查点状态继续执行,以降低进程故障所导致的运算损失。由于移动主机节点的存储器通常容量有限且不可靠,目前移动计算检查点卷回恢复容错策略中都是利用移动支持站上的可靠存储器存储移动主机节点计算进程状态,即移动主机节点每创建一新的进程检查点,会将其传输到本地移动支持站,并由本地移动支持站将接收到的计算进程检查点信息保存在可靠存储器上。设计的故障进程卷回恢复容错机制利用移动支持站中间管理者的职能,使用先行图等结构形式记录存储本地服务组移动主机节点进程事件日志内容和事件日志间偏序关系,然而,由于维护管理先行图等结构形式的操作过于复杂, 计算进程无故障事件运行期间的容错开销较大。因此,选取更高效的容错机制维护管理移动主机节点进程事件日志内容和事件日志间偏序依赖关系,能够进一步提升移动计算系统的容错性能。发明内容
本发明的目的在于提供一种减小系统开销,提升容错移动计算系统性能的记录节点事件日志的方法。
本发明的目的是这样实现的
该方法中使用的容错构件包括移动支持站C3)上的支持站消息处理机制(8)、日志记录机制(9)、内存(10)和可靠存储设备(11),移动主机节点( 上的进程检查点接口 (12)和节点消息处理机制(13);日志记录机制为其服务组(6)内移动主机节点的计算进程 (7)维护LogArray、P_LogArray、P_U_LogArray三个一维数组;节点消息处理机制为本地的计算进程维护TEN、DEN两个记录偏序信息的变量,TEN为计算进程历经处理事件的总数, DEN为计算进程历经处理非确定性事件的总数,其特征是,具体步骤如下
a.移动主机节点将计算进程历经的事件信息交付给节点消息处理机制,节点消息处理机制更新计算进程历经事件的总数TEN和计算进程历经非确定性事件的总数DEN ;
b.节点消息处理机制将事件信息和TEN,DEN 一同发送给本地移动支持站;
c.本地移动支持站的支持站消息处理机制将事件信息交付给日志记录机制,日志记录机制生成事件信息对应的日志确定因子#e,将#e添加到移动支持站上的一维数组;
d.日志记录机制根据事件信息附带的TEN和DEN校正数组LogArray中元素的顺序;
e.日志记录机制根据事件信息的类型判断是否触发可靠存储过程,若事件信息为计算进程检查点、计算进程输入、输出提交或中断事件时,则触发可靠存储过程,将移动支持站上内存中的数组LogArray更新至可靠存储设备中的数组P_LogArray ;若事件信息为进程间普通消息事件时,不触发可靠存储过程。
日志确定因子#e由表示事件e发起者标识的e. source、表示事件e最终处理者标识的e. dest、表示保存事件e内容数据信息的e. data、表示e. dest历经非确定性事件个数的e. dsn、表示e. dest历经事件总数的e. tdsn、表示e. source历经非确定性事件个数的 e. sdsn、表示e. source历经事件总数的e. stdsn和记录e是否为确定性事件的e. ide构成, 其中若e为确定性事件,ide = 0,若e为非确定性事件,ide = I0
计算进程历经的事件信息为移动主机计算进程检查点,计算进程检查点由参与计算任务的移动主机节点依照预先设定的时间间隔序列定期调用检查点接口创建获得,所述的移动支持站上的一维数组为移动支持站内存中的LogArray。
计算进程历经的事件信息为移动主机计算进程输入、输出提交或中断事件,所述移动支持站上的一维数组为移动支持站内存中的LogArray。
计算进程历经的事件信息为移动主机计算进程发往外地服务组的普通消息事件或移动计算进程接收的普通消息事件,若事件信息的目标进程不处于本地移动支持站所在的服务组,所述的移动支持站上的一维数组为移动支持站可靠存储设备中的P_u_ LogArray ;若事件信息的目标进程处于本地移动支持站所在的服务组,所述的移动支持站上的一维数组为移动支持站内存中的LogArray。
其有益效果在于采用计算进程检查点和日志记录两种容错技术,使用移动支持站内存和可靠存储设备中的一维数组维护本地服务组内计算进程历经事件及事件间偏序依赖关系。移动主机进程消息只需携带两个普通变量,即可完成偏序关系的记录和校正。移动支持站维护的日志数组同步保存于存取速度较快的易失存储器,随后在特定事件的触发下异步更新至移动支持站的可靠存储设备。该方法能够准确记录移动主机节点计算进程历经事件的内容和事件间偏序依赖关系,同时能够有效提升移动计算系统的日志记录效率。


图1为移动计算系统结构示意图2为移动计算系统进程事件日志记录框架示意图3为日志记录机制保存移动主机计算进程检查点到移动支持站内存的过程示意图4为日志记录机制保存移动主机计算进程输入、输出提交或中断事件到移动支持站内存的过程示意图5为日志记录机制保存移动主机计算进程间普通事件到移动支持站内存或可靠存储设备的过程示意图6为日志记录机制将移动支持站内存中日志更新至可靠存储设备的过程示意图7为实施例一的过程示意图8为实施例二的过程示意图9为实施例三的过程示意图。
具体实施方式
下面结合附图举例对本发明做更详细地描述
移动计算系统结构如图1所示,系统由一系列移动主机节点2和静态的移动支持站3组成,移动主机节点2与移动支持站3之间能够建立动态的无线连接链路4 ;而任意两个移动支持站3之间具备高速的静态有线连接链路5。地理空间上,一个移动支持站3覆盖的一个服务区域称作一个服务组6。计算进程7分布于移动计算系统的移动主机节点2 上。一个服务组6中移动主机节点2能够直接与服务于该服务组6的移动支持站3 (本地移动支持站)建立连接,并通过本地移动支持站实现与系统其它移动主机节点或移动支持站通信(系统移动主机节点之间不能够直接通信)。每一个移动支持站3均需维护相应列表记录当前连接的移动主机节点2,同时,移动支持站3还需记录移动主机节点2移动性方面的信息,包括加入服务组、离开服务组、拆除连接和重新连接等。移动计算系统中计算进程7服从分段确定性执行模型,计算进程7之间仅通过消息传递的方式协同任务执行过程, 计算进程状态转换由非确定性事件序列驱动。计算进程历经的事件包括进程检查点事件、 中断事件、外部输入事件(如键盘或其它设备输入)、外部输出事件(如显示或打印)和普通消息事件。对于单个计算进程而言,普通消息的发送事件为确定性事件;非确定性事件包括进程检查点事件、普通消息接收事件、外部输入提交事件、外部输出提交事件和中断事件。为方便叙述,设定移动计算系统中每个移动主机节点2上仅存在一个参与计算任务的计算进程7。
容错移动计算系统中记录节点事件日志方法中使用的容错构件包括移动支持站 3上的支持站消息处理机制8、日志记录机制9、内存10和可靠存储设备11,移动主机节点 2上的进程检查点接口 12和节点消息处理机制13。移动计算系统通过容错构件实现记录计算进程事件日志及事件日志间偏序关系的功能。整个移动计算系统中记录节点事件日志的框架如图2所示。
移动支持站3上日志记录机制9为其服务组6内移动主机节点的计算进程7维护以下三个一维数组
LogArray用于存储移动支持站3服务组6内移动主机计算进程7历经事件的日志数组。LogArray中日志间先后顺序对应进程非确定性事件间的偏序依赖关系,LogArray 由移动支持站3上的内存10同步维护。
P_LogArray用于存储移动支持站3服务组6内移动主机计算进程7历经事件的日志数组。P_LogArray中日志间先后顺序对应进程非确定性事件间的偏序依赖关系,P_ LogArray由移动支持站3上的可靠存储设备11异步维护。
P_U_LogArray用于存储移动支持站3服务组6内移动主机进程7发往外地服务组普通消息的日志数组。P_U_LogArray中日志间先后顺序对应计算进程7事件间偏序依赖关系,P_U_LogArray由移动支持站3的可靠存储设备11同步维护。
移动主机节点2上的节点消息处理机制13为本地的计算进程7维护以下两个记录偏序信息的变量
TEN为移动主机节点2上计算进程7历经处理事件的总数。若TEN = θ,则表示计算进程7已历经处理了 θ个事件。
DEN为移动主机节点2上计算进程7历经处理非确定性事件的总数。若DEN = θ, 则表示计算进程7已历经处理了 θ个非确定性事件。
移动支持站内存或可靠存储设备上数组中日志确定因子由元组<e. source, e. dest, e. dsn, e. sdsn, e. tdsn, e. stdsn, e. data, e. ide> 构成。为方便叙述,使用符号 #e 表不事件 e 对应的兀组 <e. source, e. dest, e. dsn, e. sdsn, e. tdsn, e. stdsn, e. data, e. ide>, #e提供了故障计算进程实施容错恢复操作所需的进程检查点和事件日志信息。#e元组中各变量含义如下
e. source为事件e发起者的标识。若e为计算进程消息事件,则e. source为消息发送进程的标识;若e为外部输入提交事件,则e. source为外部输入设备的标识;若e为外部输出提交事件、计算进程中断事件或创建进程检查点事件,则e. source为历经该事件计算进程自身的标识。
e. dest为事件e最终处理者的标识。若e为计算进程消息事件,则e. dest为该消息接收进程的标识;若e为外部输入提交事件、进程中断事件或创建进程检查点事件,则 e. dest为历经处理该事件计算进程自身的标识。若e为外部输出提交事件,则e. dest为外部输出设备的标识。
e. data用于保存事件e的内容数据信息。
e. dsn用于记录事件e的目标计算进程e. dest历经非确定性事件的个数。若e为目标进程e. dest历经的非确定性事件且e. dsn = θ,则e为移动主机计算进程e. dest历经处理的第θ个非确定性事件。
e. tdsn用于记录事件e的目标计算进程e. dest历经事件的总数。若e为目标进程e. dest历经的事件且e. tdsn = θ,则事件e为移动主机计算进程e. dest历经处理的第 θ个事件。
e. sdsn用于记录事件e的源计算进程e. source历经非确定性事件的个数。若 e. sdsn = θ,则表示事件e发生时源计算进程e. source已历经处理了 θ个非确定性事件 (如果e为非确定性事件,则包含事件e)。
e. stdsn用于记录事件e的源计算进程e. source历经事件的总数。若e. stdsn = θ,则表示事件e发生时源计算进程e. source已历经处理了 θ个事件(包含事件e)。
e. ide用于记录e是否为确定性事件。若e为确定性事件,ide = 0 ;若e为非确定性事件,ide = I0
根据本发明的方法,移动支持站使用日志记录机制记录服务组内计算进程历经事件的日志确定因子的具体实现是(1)日志记录机制保存移动主机计算进程检查点到移动支持站内存数组LogArray ; O)日志记录机制保存移动主机计算进程输入、输出提交或中断事件到移动支持站内存数组LogArray ; (3)日志记录机制保存移动主机计算进程发往外地服务组的普通消息事件到移动支持站可靠存储设备数组P_U_LogArray J4)日志记录机制保存移动主机计算进程接收的普通消息事件到移动支持站内存数组LogArray ; (5)日志记录机制将移动支持站内存中日志更新至可靠存储设备。
(1)日志记录机制保存移动主机计算进程检查点到移动支持站内存数组 LogArray的实现方法
如图3,移动计算系统正常运行期间,参与计算任务的移动主机节点依照预先设定的时间间隔序列定期调用检查点接口创建计算进程检查点,然后将计算进程检查点信息交付给节点消息处理机制,节点消息处理机制更新计算进程历经事件的总数TEN和计算进程历经非确定性事件的总数DEN(DEN++ ;TEN++)。最后节点消息处理机制将该计算进程检查点和<TEN,DEN> 一同发送给本地移动支持站以实现日志记录。
本地移动支持站的支持站消息处理机制接收到移动主机计算进程检查点消息后, 将该计算进程检查点消息交付给日志记录机制,移动支持站的日志记录机制首先生成该计算进程检查点信息对应的日志确定因子#e,其中,e. ide = 1,e. stdsn = e. tdsn = TEN, e. sdsn = e. dsn = DEN。然后日志记录机制将日志确定因子#e添加到内存中一维数组 LogArray0为正确跟踪事件日志间的偏序依赖关系,移动支持站的日志记录机制根据该计算进程检查点消息附带的TEN和DEN校正数组LogArray中元素的顺序,即移动支持站的日志记录机制依据计算进程检查点消息对应日志的e. stdsn和e. sdsn校正数组LogArray中成员间先后顺序。
移动支持站的日志记录机制依据计算进程检查点消息对应日志的e. stdsn和 e. sdsn校正数组LogArray中成员间先后顺序的具体实现是记计算进程检查点消息对应的日志确定因子为#e,E#e,为数组LogArray中#e的直接前驱,若条件e,. dest = e. source 且 e,· tdsn > = e. stdsn 成立,则令 e,· tdsn = e,· tdsn+1 且 e,· dsn = e,· dsn+1, 并互换#e,与#e在数组LogArray中的位置。重复该校正过程直至#e,无法满足e’ . dest =e. source 且 e' . tdsn > = e. stdsn。
(2)日志记录机制保存移动主机计算进程输入、输出提交或中断事件到移动支持站内存数组LogArray的实现方法
如图4,移动计算系统正常运行期间,参与计算任务的移动主机计算进程处理外部输入、输出提交或中断事件前,将该外部输入、输出提交或中断事件交付给节点消息处理机制,节点消息处理机制更新计算进程历经事件的总数TEN和计算进程历经非确定性事件的总数DEN(DEN++ ;TEN++)。最后节点消息处理机制将该外部输入、输出提交或中断事件和 <TEN, DEN> 一同发送给本地移动支持站以实现日志记录。
本地移动支持站的支持站消息处理机制接收到移动主机计算进程输入、输出提交或中断事件消息后,将该移动主机计算进程输入、输出提交或中断事件消息交付给日志记录机制,移动支持站的日志记录机制首先生成该移动主机计算进程输入、输出提交或中断事件对应的日志确定因子 #e,其中,e. ide = l,e. stdsn = e. tdsn = TEN, e. sdsn = e. dsn =DEN0然后日志记录机制将日志确定因子如添加到内存中一维数组LogArray。为正确跟踪事件日志间的偏序依赖关系,移动支持站的日志记录机制根据该移动主机计算进程输入、输出提交或中断事件携带的TEN和DEN校正数组LogArray中元素的顺序,即移动支持站的日志记录机制依据移动主机计算进程输入、输出提交或中断事件消息对应日志的 e. stdsn和e. sdsn校正数组LogArray中成员间先后顺序。
移动支持站的日志记录机制依据移动主机计算进程输入、输出提交或中断事件消息对应日志的e. stdsn和e. sdsn校正数组LogArray中成员间先后顺序的具体实现是记输入、输出提交或中断事件对应的日志确定因子为#e,记#e’为数组LogArray中#e的直接前驱,若条件(e'. dest = e. source 或 e’· dest = e. dest) e'. tdsn > = e. stdsn 成立, 则令 e,. tdsn = e,. tdsn+1 且 e,. dsn = e,. dsn+1,并互换 #e,与 #e 在数组 LogArray 中的位置。重复该校正过程直至#e,无法满足(e,. dest = e. source或e,. dest = e. dest) 且 e' . tdsn > = e. stdsn。
(3)日志记录机制保存移动主机计算进程发往外地服务组的普通消息事件到移动支持站可靠存储设备数组P_U_LogArray的实现方法
如图5,移动计算系统正常运行期间,参与计算任务的移动主机计算进程向外地服务组节点发送普通消息时,将该普通消息交付给节点消息处理机制,节点消息处理机制更新计算进程历经事件的总数TEN (TEN++)。最后节点消息处理机制将该普通消息和<TEN, DEN> —同发送给本地移动支持站以实现中继转发和日志记录。
移动支持站的支持站消息处理机制接收到移动主机计算进程发送的普通消息后, 判断该普通消息的目标进程是否处于本地移动支持站所在的服务组。若该普通消息的目标进程不处于本地移动支持站所在的服务组,移动支持站的消息处理机制将该普通消息交付给日志记录机制,移动支持站的日志记录机制首先生成该普通消息对应的日志确定因子 #e,其中,e. ide = 0, e. stdsn = TEN, e. sdsn = DEN, e. dsn = -1, e. tdsn = -1,然后移动支持站的日志记录机制将日志确定因子#e添加到可靠存储设备中一维数组P_U_LogArray 中。为正确跟踪事件日志间的偏序依赖关系,移动支持站的日志记录机制根据该普通消息所附带的TEN和DEN校正数组LogArray中元素的顺序,即移动支持站的日志记录机制依据移动主机计算进程发往外地服务组的普通消息对应日志的e. stdsn和e. sdsn校正数组 LogArray中成员间先后顺序。
移动支持站的日志记录机制依据移动主机计算进程发往外地服务组的普通消息对应日志的e. stdsn和e. sdsn校正数组LogArray中成员间先后顺序的具体实现是记移动主机计算进程发往外地服务组的普通消息对应的日志确定因子为#e,逆序遍历数组 LogArray,记当前访问的日志为 #e,,若条件 e\ dest = e. source 且 e,· tdsn > = e. stdsn 成立,则令e,· tdsn = e,· tdsn+1。重复该校正过程直至#e,无法满足e,· dest = e. source 且 · tdsn > = e. stdsn0
(4)日志记录机制保存移动主机计算进程接收的普通消息事件到移动支持站内存数组LogArray的实现方法
如图5,移动支持站的支持站消息处理机制接收到移动主机计算进程间的普通消息后,判断该普通消息的目标进程是否处于本地移动支持站所在的服务组。若该普通消息的目标进程处于本地移动支持站所在的服务组,移动支持站的支持站消息处理机制将该计算进程间的普通消息交付给日志记录机制,移动支持站的日志记录机制首先生成该计算进程间的普通消息对应的日志确定因子#e,其中,e. ide = l,e. stdsn = TEN, e. sdsn = DEN, e. dsn = DSN+1,e. tdsn = TDSN+1, DSN和TDSN分别对应LogArray中该普通消息目标进程的日志确定因子中dsn和tdsn的最大值,然后移动支持站的日志记录机制将日志确定因子如添加到内存中一维数组LogArray中。为正确跟踪事件日志间的偏序依赖关系,移动支持站的日志记录机制根据该普通消息事件所附带的TEN和DEN校正数组LogArray中元素的顺序,即移动支持站的日志记录机制依据计算进程接收的普通消息对应日志的e. stdsn和 e. sdsn校正数组LogArray中成员间先后顺序。
移动支持站的日志记录机制依据计算进程接收的普通消息对应日志的e. stdsn 和e. sdsn校正数组LogArray中成员间先后顺序的具体实现是记计算进程接收的普通消息对应的日志确定因子为#e,记#e,为数组LogArray中#e的直接前驱,若e’ . dest = e. source 且 e' · tdsn > = e. stdsn,则令 e' . tdsn = e' . tdsn+1 且 e' · dsn = e' . dsn+1, 并互换#e,与#e在数组LogArray中的位置。重复该校正过程直至#e,无法满足e’ . dest =e. source 且 e' . tdsn > = e. stdsn。
(5)日志记录机制将移动支持站内存中日志更新至可靠存储设备的实现方法
如图6,移动支持站使用日志记录机制存储完计算进程检查点、计算进程输入、输出提交或中断事件后,移动支持站的日志记录机制将内存中数组LogArray的内容更新至可靠存储设备中数组P_LogArray。
实施例一
日志记录机制保存移动主机计算进程发往外地服务组的普通消息事件到移动支持站的可靠存储设备数组P_U_LogArray。
如图7,移动计算系统正常运行期间,某时刻移动支持站3连接的移动主机计算进程7A向外地服务组节点发送普通消息m。计算进程7A将消息m交付给节点消息处理机制 13A,节点消息处理机制13A更新计算进程7A历经事件的总数TEN(TEN++)。最后节点消息处理机制13A将消息m和<TEN,DEN>通过无线链路4发送给本地移动支持站3。
移动支持站3的支持站消息处理机制8接收到移动主机计算进程7A发送的消息 m和<TEN,DEN>后,判断消息m的目标进程是否处于本地移动支持站3所在的服务组6。由于消息m的目标进程不处于移动支持站3所在的服务组6,移动支持站3的支持站消息处理机制8将消息m交付给日志记录机制9,移动支持站3的日志记录机制9首先生成消息m 的日志确定因子 #e,其中,e. ide = 0,e. stdsn = TEN, e. sdsn = DEN, e. dsn = -1,e. tdsn =-1,e. data = m。然后移动支持站3的日志记录机制9将日志确定因子#e添加到可靠存储设备11中一维数组P_U_LogArray。为正确跟踪事件日志间的偏序依赖关系,移动支持站3的日志记录机制9根据消息m对应日志的e. stdsn和e. sdsn校正数组LogArray成员的顺序。
由于m为进程间普通消息事件,日志记录机制9不会触发该可靠存储过程,即日志记录机制9不会将移动支持站3上内存10中的数组LogArray更新至可靠存储设备11中的数组 P_LogArray。
实施例二
日志记录机制保存移动主机计算进程接收的普通消息事件到移动支持站的内存数组 LogArray0
如图8,移动计算系统正常运行期间,某时刻移动支持站3的支持站消息处理机制 8接收到普通消息m和<TEN,DEN>,消息m的目标节点是计算进程7B。移动支持站3的支持站消息处理机制8判断消息m的目标进程是否处于服务组6。由于消息m的目标进程处于本地服务组6,移动支持站3的支持站消息处理机制8将消息m交付给日志记录机制9,移动支持站3的日志记录机制9首先生成消息m的日志确定因子#e,其中,e. ide = l,e. stdsn =TEN, e. sdsn = DEN, e. dsn = DSN+1, e. tdsn = TDSN+1,e. data = m, DSN 和 TDSN 分别对应LogArray中计算进程7B的日志确定因子中dsn和tdsn的最大值。然后移动支持站3 的日志记录机制9将日志确定因子#e添加到内存10中一维数组LogArray。为正确跟踪事件日志间的偏序依赖关系,移动支持站3的日志记录机制9根据消息m对应日志的e. stdsn 和e. sdsn校正数组LogArray中元素的顺序。最后移动支持站3的支持站消息处理机制8 通过无线链路4将消息m交付本地服务组的目标节点。
由于m为进程间普通消息事件,日志记录机制9不会触发该可靠存储过程,即日志记录机制9不会将移动支持站3上内存10中的数组LogArray更新至可靠存储设备11中的数组 P_LogArray。
实施例三
日志记录机制保存移动主机计算进程检查点和计算进程输入事件到移动支持站内存数组LogArray,并更新内存中LogArray到可靠存储设备中P_LogArray。
如图9,移动计算系统正常运行期间,某时刻移动支持站3连接的移动主机计算进程7A通过进程检查点接口 12A创建一计算进程检查点,并将其以消息ml的形式交付给节点消息处理机制13A。节点消息处理机制13A更新计算进程7A历经事件的TEN和 DEN(DEN++ ;TEN++)。最后节点消息处理机制13A将消息ml和<TEN,DEN>通过无线链路4 发送给本地移动支持站3。
移动支持站3的支持站消息处理机制8接收到移动主机计算进程7A发送的消息 ml和<TEN,DEN>后,移动支持站3的支持站消息处理机制8将消息ml交付给日志记录机制9,移动支持站3的日志记录机制9首先生成消息ml的日志确定因子如1,其中,el. ide =1, el. stdsn = e. tdsn = TEN, el. sdsn = el. dsn = DEN, el. data = m。然后移云力支持站3的日志记录机制9将日志确定因子#el添加到内存10中一维数组LogArray。为正确跟踪事件日志间的偏序依赖关系,移动支持站3的日志记录机制9根据消息ml对应日志的 el. stdsn和el. sdsn校正数组LogArray成员的顺序。
移动支持站3使用日志记录机制9存储完进程检查点消息ml后,移动支持站3 的日志记录机制9将内存10中数组LogArray的内容更新至可靠存储设备11中数组P_ LogArray0
某时刻移动支持站3连接的移动主机计算进程7B历经一计算进程输入事件并将其以消息m2的形式交付给节点消息处理机制13B。节点消息处理机制1 更新计算进程 7B历经事件的TEN和DEN(DEN++ ;TEN++)。最后节点消息处理机制1 将消息m2和<TEN, DEN>通过无线链路4发送给本地移动支持站3。
移动支持站3的支持站消息处理机制8接收到移动主机计算进程7B发送的消息 m2和<TEN,DEN>后,移动支持站3的支持站消息处理机制8将消息m2交付给日志记录机制9,移动支持站3的日志记录机制9首先生成消息m2的日志确定因子如2,其中,e2. ide =1, e2. stdsn = e. tdsn = TEN, e2. sdsn = e2. dsn = DEN, e2. data = m。然后移动支持站3的日志记录机制9将日志确定因子#e2添加到内存10中一维数组LogArray。为正确跟踪事件日志间的偏序依赖关系,移动支持站3的日志记录机制9根据消息m2对应日志的 e2. stdsn和e2. sdsn校正数组LogArray成员的顺序。
由于m2为计算进程输入事件,日志记录机制9触发该可靠存储过程。移动支持站 3使用日志记录机制9存储完计算进程输入事件m2后,移动支持站3的日志记录机制9将内存10中数组LogArray的内容更新至可靠存储设备11中数组P_LogArray。
权利要求
1.一种容错移动计算系统记录节点事件日志的方法,该方法中使用的容错构件包括移动支持站C3)上的支持站消息处理机制(8)、日志记录机制(9)、内存(10)和可靠存储设备(11),移动主机节点⑵上的进程检查点接口(12)和节点消息处理机制(13);日志记录机制为其服务组(6)内移动主机节点的计算进程(7)维护LogArray、P_LogArray, P_U_ LogArray三个一维数组;节点消息处理机制为本地的计算进程维护TEN、DEN两个记录偏序信息的变量,TEN为计算进程历经处理事件的总数,DEN为计算进程历经处理非确定性事件的总数,其特征是,具体步骤如下a.移动主机节点将计算进程历经的事件信息交付给节点消息处理机制,节点消息处理机制更新计算进程历经事件的总数TEN和计算进程历经非确定性事件的总数DEN ;b.节点消息处理机制将事件信息和TEN,DEN—同发送给本地移动支持站;c.本地移动支持站的支持站消息处理机制将事件信息交付给日志记录机制,日志记录机制生成事件信息对应的日志确定因子#e,将#e添加到移动支持站上的一维数组;d.日志记录机制根据事件信息附带的TEN和DEN校正数组LogArray中元素的顺序;e.日志记录机制根据事件信息的类型判断是否触发可靠存储过程,若事件信息为计算进程检查点、计算进程输入、输出提交或中断事件时,则触发可靠存储过程,将移动支持站上内存中的数组LogArray更新至可靠存储设备中的数组P_LogArray ;若事件信息为进程间普通消息事件时,不触发可靠存储过程。
2.根据权利要求1所述的一种容错移动计算系统记录节点事件日志的方法,其特征是所述的日志确定因子#e由表示事件e发起者标识的e. source、表示事件e最终处理者标识的e. dest、表示保存事件e内容数据信息的e. data、表示e. dest历经非确定性事件个数的e. dsn、表示e. dest历经事件总数的e. tdsn、表示e. source历经非确定性事件个数的 e. sdsn、表示e. source历经事件总数的e. stdsn和记录e是否为确定性事件的e. ide构成, 其中若e为确定性事件,ide = 0,若e为非确定性事件,ide = I0
3.根据权利要求1或2所述的一种容错移动计算系统记录节点事件日志的方法,其特征是所述的计算进程历经的事件信息为移动主机计算进程检查点,计算进程检查点由参与计算任务的移动主机节点依照预先设定的时间间隔序列定期调用检查点接口创建获得, 所述的移动支持站上的一维数组为移动支持站内存中的LogArray。
4.根据权利要求1或2所述的一种容错移动计算系统记录节点事件日志的方法,其特征是所述的计算进程历经的事件信息为移动主机计算进程输入、输出提交或中断事件,所述移动支持站上的一维数组为移动支持站内存中的LogArray。
5.根据权利要求1或2所述的一种容错移动计算系统记录节点事件日志的方法,其特征是所述的计算进程历经的事件信息为移动主机计算进程发往外地服务组的普通消息事件或移动计算进程接收的普通消息事件,若事件信息的目标进程不处于本地移动支持站所在的服务组,所述的移动支持站上的一维数组为移动支持站可靠存储设备中的P_u_ LogArray ;若事件信息的目标进程处于本地移动支持站所在的服务组,所述的移动支持站上的一维数组为移动支持站内存中的LogArray。
全文摘要
本发明属于电通讯数字信息通信领域,具体涉及一种容错无线移动计算系统中记录存储移动主机节点计算进程事件日志内容和事件日志间偏序依赖关系的方法。本发明包括移动主机节点将计算进程历经的事件信息交付给节点消息处理机制,更新计算进程历经事件的总数和非确定性事件的总数;将事件信息等发送给本地移动支持站;支持站消息处理机制将事件信息交付给日志记录机制,生成对应的日志确定因子#e,将#e添加到移动支持站内存或可靠存储设备中的一维数组;根据附带的TEN和DEN校正一维数组中元素的顺序。该方法能够准确记录移动主机节点计算进程历经事件的内容和事件间偏序依赖关系,同时能够有效提升移动计算系统的日志记录效率。
文档编号G06F11/34GK102508764SQ20111034458
公开日2012年6月20日 申请日期2011年11月4日 优先权日2011年11月4日
发明者何忠政, 徐振朋, 李香, 门朝光 申请人:哈尔滨工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1