智能移动系统i/o接口可靠性分析方法及容错装置
技术领域:
:1.本发明属于可靠性分析、容错
技术领域:
:,特别是一种智能移动系统i/o接口可靠性分析方法及容错装置。
背景技术:
::2.智能移动系统i/o接口作为智能移动系统的重要组成部分,是智能移动主机和外围设备进行交互的软硬件接口。通常来说,主机与外界的信息交换是通过输入/输出设备(input/outputdevice)进行的,而一般的输入/输出设备都是机械的或者机电相结合的产物,它们相对于高速的中央处理器(centralprocessingunit,cpu)来说,处理信息的速度要慢得多。除此以外,不同外围设备的信号形式、数据格式也各不相同。因此,外围设备不能直接与cpu连接,而需要通过相应的电路和软件协议来完成它们之间的速度匹配、信号转换,并实现某些控制功能,这种缓冲电路和软件协议就称为智能移动系统i/o接口(input/outputinterface)。3.智能移动系统i/o接口具体包括以下几个功能:①数据缓冲,即实现速度匹配;②数据格式转换;③电平匹配与时需协调;④交换控制/状态信息。智能移动系统i/o接口一般可分为:(1)并行接口和串行接口;(2)同步接口和异步接口;(3)直接程序控制、程序中断和直接存储器存取(dma)接口。智能移动系统i/o接口由寄存器组、控制逻辑电路、主机与接口和接口与i/o设备之间的信号连接线、数据地址线、控制状态信号线组成,智能移动系统i/o接口的典型结构如图2(智能移动系统i/o接口典型结构图)所示。4.传统的硬件可靠性技术包括可靠性框图、故障树、事件树等,但是随着智能移动系统的发展,其智能移动系统i/o接口硬件结构日益复杂,传统方法现已难以描述其动态特征和其可靠性与时间的相关性。由于马尔可夫模型能通过状态转移来反映目标对象与时间的相关性,并可以很好地研究动态特性,因此引入马尔可夫模型。5.容错技术通常包括硬件实现的容错(hardware-implementedfaulttolerance,hift)和软件实现的容错(software-implementedfaulttolerance,sift)hift技术包括ecc(errorcorrectingcode)、三重模块冗余(triplemoduleredundancy,tmr),还有的文献中提出的许多提高容错能力的技术需要冗余的外围硬件设备,这可能会带来高昂的硬件和重新配置的成本。软件冗余技术无需额外的硬件设备,实现成本较低并且更加灵活,通常几乎不需要对现有硬件结构进行修改。但是在某些情况下,纯软件实现的容错方案无法提供足够的故障覆盖率。信息冗余技术基于原始信息生成补充信息,并将补充信息添加进原始信息中。信息冗余技术包括校验和、奇偶校验位、ecc码等。时间冗余技术基于应用程序的额外执行时间,多次执行以进行容错。基于时间冗余的容错方法可实现于不同的层级:如指令级、程序级、操作系统级和任务级。技术实现要素:6.本发明的目的在于提供一种智能移动系统i/o接口可靠性分析方法及容错装置,用于对智能移动系统中的智能移动系统i/o接口硬件的可靠性进行描述,具有很好的可扩展性,且可根据i/o接口可靠性分析结果进行智能容错修复。7.实现本发明目的的技术解决方案为:8.第一方面,本发明提出了一种智能移动系统i/o接口可靠性分析方法,所述方法包括以下步骤:9.提取智能移动系统i/o接口设计中的可靠性相关信息,进行分级建模,以智能移动系统i/o接口功能模块为单位,自下而上地为智能移动系统i/o接口建立可靠性模型rmio;通过提取智能移动系统i/o接口硬件系统即iohs中的硬件结构信息,将iohs划分为不同的智能移动系统i/o接口功能模块即iofm,iofm包括接收数据寄存器rdr、发送数据寄存器sdr、控制寄存器cr、状态寄存器sr;10.采用连续时间马尔可夫链ctmc描述rmio模型,建立映射关系,构建ctmcio模型,为每一个智能移动系统i/o接口功能模块iofm建立ctmcio模型;11.采用马尔可夫链蒙特卡算法mcmc对智能移动系统i/o接口功能模块的失效率进行随机采样,根据ctmcio评估智能移动系统i/o接口各功能模块可靠性,并以其为依据计算智能移动系统i/o接口各功能模块的瞬时可用度;12.将智能移动系统i/o接口硬件系统iohs状态随时间的演化过程描述为一个马尔可夫链ctmcio,基于该马尔可夫链完成对iohs整体的可靠性评估;所有功能模块的正常或者失效的状态构成iohs整体的状态空间sio,sio中的状态转移概率矩阵aio=[aij]通过状态之间的关系以及功能模块的可靠性评估结果计算得到;[0013]根据iohs整体可靠性评估结果,使用基于任务冗余的i/o接口容错方案对可靠性低于设定阈值的iofm进行加固,生成管理器任务创建孪生i/o任务,比较孪生i/o任务执行结果以完成故障检测;[0014]在智能移动系统i/o接口硬件系统iohs整体可靠性评估的基础上,使用基于强化学习的i/o接口修复方法,对处于失效状态的智能移动系统i/o接口进行修复以在最短时间内恢复正常状态;首先将失效状态作为状态空间中的初始状态,制定确定性策略和收益函数,最后使用ε-greedy算法确定最优策略,根据最优策略选择iofm进行修复。[0015]进一步地,建立智能移动系统i/o接口功能模块的可靠性模型表示为以下三元组:[0016]rmioiofm=(frio,ssio,strio)[0017]式中,rmioiofm为智能移动系统i/o接口功能可靠性模型,frio表示智能移动系统i/o接口功能模块iofm的失效率;ssio表示iofm的状态空间;strio表示状态转移关系,其中strio包含源状态sstateio和目标状态tstateio;iofm的接收数据寄存器rdr、发送数据寄存器sdr、控制寄存器cr、状态寄存器sr的失效率分别为λrdr、λsdr、λcr、λsr,设不同智能移动系统中iofm的重要性权重为ωrdr、ωsdr、ωcr、ωsr,iofm的失效率λiofm的计算公式为:[0018]λiofm=1-πi∈(rdr,sdr,cr,sr)(1-ωiλi)。[0019]进一步地,连续时间马尔可夫链ctmcio为一个五元组:[0020]ctmc10=(sio,sin,aio,tio,t)[0021]其中,sio表示ctmcio的状态空间,sin∈sio表示ctmcio的初始状态,aio=[aij]表示状态转移概率矩阵,aij表示从状态si∈sio转移到状态sj∈sio的概率;是状态转移关系集合,(si,sj)表示存在状态si到状态sj的一个转移;t表示时间。[0022]进一步地,将rmio描述为ctmcio,并通过设计rmio和ctmcio之间的元素映射规则来进行转换,映射规则如下表1所示:[0023]表1rmio建模与ctmcio元素之间的映射规则[0024][0025][0026]进一步地,所述iofm的失效率λiofm与时间的函数关系为:[0027][0028]智能移动系统i/o接口的功能模块的典型状态转移矩阵为:[0029][0030]其中的参数含义如下表2所示:[0031]表2iofm状态转移关系图参数[0032][0033][0034]由此可以得到智能移动系统i/o接口功能模块的状态概率方程为:[0035][0036]其中,pn(t)、pr(t)、pdg(t)、pd(t)、pf(t)、pe(t)分别表示iofm在t时刻处于正常状态、恢复状态、降级错误容忍工作状态、故障检测状态、失效状态和故障状态的概率,t'为t时刻的下一时刻;[0037]i/o接口功能模块的可靠性riofm(t)评估计算公式为:[0038]riofm(t)=1-pe(t)[0039]其中,riofm(t)指的是在t时刻不处于失效状态failurestate的概率。[0040]进一步地,对智能移动系统i/o接口硬件系统进行可靠性评估时,智能移动系统i/o接口整体的状态空间是由所有功能模块的状态构成的,即所有功能模块的一个状态序列sn-1sn-2…s1s0构成了智能移动系统i/o接口整体的一个状态,其中sj表示功能模块iofmj处于正常状态sj=0或者失效状态sj=1,0≤j<n,n为功能模块的个数。[0041]第二方面,本发明提出了一种智能移动系统i/o接口容错装置,所述装置包括:[0042]提取模块,用于监测智能移动系统i/o接口各个功能模块的状态,提取智能移动系统iohs中的硬件结构信息并获取功能模块的状态信息;所述状态信息包括接收数据寄存器保存的数据、发送数据寄存器保存的数据、控制寄存器的控制位信息和状态寄存器中的状态位信息以及重要性信息;[0043]模型构建与转换模块,用于构建智能移动系统i/o接口功能模块可靠性模型rmioiofm,将rmioiofm模型转换成ctmcio,并通过事先设计的元素映射规则进行模型元素映射,生成连续时间马尔可夫模型;[0044]可靠性评估模块,用于根据转换生成的ctmcio对iohs的整体可靠性进行评估,使用状态之间的关系以及功能模块的可靠性评估接口计算iohs整体状态空间的状态;[0045]容错机制,用于根据iohs整体可靠性评估结果,使用基于任务冗余的i/o接口检错方案和基于强化学习的i/o接口修复方法对处于失效状态的智能移动系统i/o接口进行修复。[0046]进一步地,所述容错机制使用基于任务冗余的i/o接口检错方法创建管理器任务并由管理器任务生成i/o任务的两个孪生版本;管理器任务负责孪生任务的输入准备、调度、输出比较以及错误的恢复操作;先运行第一版本和第二版本孪生任务,如果这两个孪生任务的执行结果不同,则会运行第三版本的孪生任务,一旦管理器任务检测到前两个版本孪生任务的输出不匹配,会保存第一版本和第二版本的任务结果,等待第三版本任务执行结束后,判断任务的正确执行结果,最后将故障任务堆栈的状态恢复到初始状态,准备下一个任务的运行。[0047]进一步地,所述容错机制使用的基于强化学习的i/o接口修复方法采用以下方法构建:[0048]第一步,为iohs的所有状态分布创建一个唯一编码,该编码不仅能用于区别iohs的所有状态,还能与iohs的可靠性相关联;对于iohs的每一个状态,都有一个唯一的编码与之对应,而这个唯一编码则是由iohs中所有iofm的状态构成,采用所有iofm的状态序列作为iohs的状态编码;[0049]第二步,iohs在t时刻接收到外部环境的状态为st∈s,当前时刻iohs可从当前状态允许的修复操作集中挑选执行的操作表示为mt∈m(st),采取修复操作后下一个时刻iohs的状态为st+1∈s+,该修复操作带来的可靠性修复值为其中,将所有状态记作s+,将非终止状态记作s;[0050]第三步,根据马尔可夫决策过程得到的特征方程如下式:[0051]p(s',r|s,m)=pr[st+1=s',rt+1=r|s0,m0,s1,m1,...,st,mt][0052]其中,p(s',r|s,m)为状态s下考虑可靠性修复值r,采取修复操作m∈m(s)时跳转到状态s'的概率;此概率由iohs的状态和修复操作集合s0,m0,s1,m1,...,st,mt∈(s,m(s))中,t+1时刻状态为s,t+1时刻可靠性修复值为r的条件概率表示,其中角标r表示可靠性修复值;[0053]决策过程dp定义为下式所示的五元组,[0054]dp=(s,m,p,r,γ)[0055]其中,s表示状态空间;m表示修复操作集合,该集合是有限的;p表示初始状态转化为目标状态的状态转移概率;r表示采取修复操作后取得的iohs可靠性修复值;γ∈[0,1]表示衰减率,其量化可靠性修复值的差异性;[0056]第四步,修复模型的价值函数如下式:[0057][0058]其中r(sio(k),mio(k))是奖励函数即对于k时刻的状态sio(k)采取修复操作mio(k)带来的奖励,γk是从初始时刻到k时刻的累积可靠性修复值衰减率;将折现系数和奖励函数相乘并对修复步骤进行求和即最后的目标函数,选取能产生最大目标函数的修复步骤,通过在每个状态做出最佳动作,即得到最后的修复步骤;[0059]第五步,以iohs所有状态作为状态转移集合,设置iohs的失效状态为初始状态;对于瞬时故障引起的iofm失效,通过刷新重配置、等待重写这些容错方法进行修复,对于永久故障引起的iofm失效,使用基于硬件实现的多模冗余以及更换元器件这些方法进行修复;采用ε-greedy算法计算并采取第四步中公式的结果以得到最大值的修复动作,从状态转移集合中选择需要修复的iofm并采取最优动作对其进行修复,然后重复采用该修复动作直至iohs恢复正常状态为止。[0060]本发明与现有技术相比,其显著优点为:[0061]1)本发明采用分级建模的形式,以智能移动系统i/o接口功能模块为单位,为智能移动系统i/o接口建立可靠性模型,易于理解,简洁清晰且模型不会臃肿。[0062]2)具有强大的数据约束能力和良好的可扩展性,可以对概率进行描述,并能方便的添加可靠性元素。[0063]3)设计了基于任务冗余的i/o接口检错方案和基于强化学习的i/o接口容错方法及装置,可有效修复处于失效状态的i/o接口。[0064]下面结合附图对本发明作进一步详细描述。附图说明[0065]图1为智能移动系统i/o接口可靠性分析方法及容错装置的流程图。[0066]图2为以智能移动系统i/o接口为中心的智能移动系统硬件抽象图。[0067]图3为四个智能移动系统i/o接口功能模块iofm的智能移动系统i/o接口硬件系统iohs状态转移关系图。[0068]图4为典型智能移动系统i/o接口的功能模块iofm状态转移图。[0069]图5为智能系统i/o接口容错装置架构图。具体实施方式[0070]为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。[0071]在一个实施例中,本发明提出了一种智能移动系统i/o接口可靠性分析方法,具体包括以下步骤:[0072]步骤s101,提取智能移动系统i/o接口设计中的可靠性相关信息,进行分级建模,以智能移动系统i/o接口功能模块为单位,自下而上地为智能移动系统i/o接口建立可靠性模型rmio(reliabilitymodelofi/ointerface)。通过提取智能移动系统i/o接口硬件系统(i/ointerfacehardwaresystem,iohs)中的硬件结构信息,将iohs划分为不同的智能移动系统i/o接口功能模块(i/ointerfacefunctionmodule,iofm),iofm包括接收数据寄存器rdr(receivedataregister)、发送数据寄存器sdr(senddataregister)、控制寄存器cr(controlregister)、状态寄存器sr(stateregister);,上述的功能模块的失效率分别用λrdr、λsdr、λcr、λsr表示,由于每种智能移动系统i/o接口功能模块在不同的智能移动系统中对智能移动系统i/o接口整体可靠性的影响不同,故引入四种智能移动系统i/o接口功能模块的重要性权重ωrdr、ωsdr、ωcr、ωsr;[0073]步骤s102,采用连续时间马尔可夫链ctmc(continuoustimemarkovchain)描述rmio模型,为每一个智能移动系统i/o接口功能模块iofm建立ctmcio模型,ctmcio中描述了智能移动系统i/o接口功能模块的状态空间sio、初始状态sin∈sio、状态转移关系和转移概率与时间的函数关系矩阵aio=[aij];[0074]步骤s103,采用马尔可夫链蒙特卡算法mcmc进行随机采样,使用指数模型描述智能移动系统i/o接口失效率与时间的关系,根据ctmcio评估智能移动系统i/o接口各功能模块可靠性,并以其为依据来计算智能移动系统i/o接口各功能模块的瞬时可用度;[0075]步骤s104,将智能移动系统i/o接口硬件系统iohs状态随时间的演化过程描述为一个马尔可夫链ctmcio,基于该马尔可夫链完成对iohs整体的可靠性评估。所有功能模块的正常或者失效的状态构成了iohs整体的状态空间sio,sio中的状态转移概率矩阵aio=[aij]通过状态之间的关系以及步骤s102中功能模块的可靠性评估结果计算得到;[0076]步骤s105,在智能移动系统i/o接口硬件系统iohs整体可靠性评估的基础上,使用基于强化学习的智能移动系统i/o接口修复方法,对处于失效状态的智能移动系统i/o接口进行修复。[0077]下面进行更详细的描述。[0078]本发明所提出的一种智能移动系统i/o接口可靠性分析方法及容错装置,建立了rmio模型。下面给出rmio模型的定义,并给出智能移动系统软件中各类约束的描述方法,以便进行严格的分析与验证。对建模元素的属性进行约束,能够使建立的模型具备一致性,有利于提高软件建模的正确性与效率。[0079]1、智能移动系统i/o接口的硬件结构[0080]由于智能移动系统i/o接口作为智能移动系统和外围设备进行通信交互的桥梁,为了研究智能移动系统i/o接口的抗seu能力,准确地对智能移动系统i/o接口硬件系统(i/ointerfacehardwaresystem,iohs)的可靠性进行建模,则需要先明确iohs的结构模型。iohs可以根据功能划分为不同的智能移动系统i/o接口功能模块(i/ointerfacefunctionmodule,iofm),而iofm又是由各类机械和电子元器件组成。因此,基于电子元器件和iofm对iohs的结构进行抽象的定义和描述,能够从本质上对iohs的可靠性进行建模和分析。如图2所示,智能移动系统i/o接口按照功能和规范可分为接收数据寄存器rdr(receivedataregister)、发送数据寄存器sdr(senddataregister)、控制寄存器cr(controlregister)、状态寄存器sr(stateregister)。rdr用于接收外围设备发送的数据,并且传送给处理器进行处理;sdr用于存储从处理器发送出的数据,并且向外围设备发送;cr用于控制处理器与外围设备的电平匹配和时需协调;sr用于存储处理器和外围设备进行交互时的状态和控制信息。[0081]定义1.iofm表示为四元组,其中每个元素表示组成iofm的所有对应元素的集合。[0082]iofm=(rdr,sdr,cr,sr)[0083]定义2.iohs用集合表示,其中iohs可能含有一个或者多个cfm。[0084]iohs={iofm1,iofm2,...,iofmn}[0085]从定义2可以看出,iohs的主要构成要素是iofm。因此,对于iohs可靠性的研究,主要是研究iofm可靠性,而且iofm是由底层电子元器件构成,研究其可靠性,能够从本质上分析iohs的可靠性。[0086]2、智能移动系统i/o接口功能模块可靠性模型[0087]定义1给出了rmio模型中关于iofm子模型的定义,详细描述了构成iofm可靠性模型的建模要素,具体定义如下:[0088]定义3.rmio的iofm子模型rmioiofm表示为下式所示的三元组,其中,rmioiofm(reliabilitymodelofi/ointerfaceiofm)为智能移动系统i/o接口功能可靠性模型;frio(failurerateio)表示智能移动系统i/o接口功能模块iofm的失效率;ssio(statespaceio)表示iofm的状态空间;strio(statetransferrelationshipio)表示状态转移关系。[0089]rmioiofm=(frio,ssio,strio)[0090]下面分别介绍rmioiofm三元素的具体含义以及定义方法。[0091](1)失效率frio[0092]根据定义1,iofm是由接收数据寄存器rdr、发送数据寄存器sdr、控制寄存器cr、状态寄存器sr组成的集合,因此iofm的可靠性也与四者相关,并且四者中任何一个部分发生故障(error)可视为整个bfm发生一次故障(error),因此可以对于bfm的错误率给出如下定义4。[0093]定义4.iofm的rdr、sdr、cr和sr的失效率分别为λrdr、λsdr、λcr、λsr,每种iofm在不同的嵌入式系统中对智能移动系统i/o接口整体可靠性的影响不同,故引入重要性权重为ωrdr、ωsdr、ωcr、ωsr,由具体系统决定重要性权重的值。那么iofm的失效率λiofm的计算公式为:[0094][0095]结合定义4,iofm失效率frio表示如下:[0096][0097]其中,rdr_frio、sdr_frio、cr_frio、sr_frio分别表示λrdr、λsdr、λcr、λsr,iofm_frio则表示iofm的失效率,且iohs存在多个iofm,在名称中加入《iofmname》用以区别。[0098](2)状态空间ssio[0099]iofm的状态空间包含正常状态(normalstate,ns)、故障状态(errorstate,es)、失效状态(failurestate,fs)、故障检测状态(detectedstate,ds)和恢复状态(recoverystate,rs),其中normalstate是初始状态;errorstate是一种瞬时状态,是normalstate发生故障时的过渡状态;detectedstate也是一种瞬时状态,是bfm检测到发生故障,对并故障进行进一步处理的状态。并且,对于具有容错机制的bfm,还存在降级工作状态(degradestate,dgs)。由此可得图4所示的iofm典型状态转移图,其中的椭圆表示状态,带参数的连接线表示状态转移关系及其转移概率,图中各参数定义如表3所示。[0100]表3iofm状态转移关系图参数[0101][0102][0103]明确iofm的状态空间之后,其定义如下:[0104][0105]其中,isinitial和isarrive分别表示是否初始状态和是否当前状态。[0106](3)状态转移关系strio[0107]图4中不仅描述了iofm的状态空间,还描述了iofm所有状态之间的转移关系。一次状态转移必须要声明三个要素,分别是源状态sstate、目标状态tstate和转移概率参数trate,其中,sstate和tstate必须是该iofm状态空间中含有的,trate来自上表中所列出的转移参数。具体定义方法如下:[0108][0109]对iofm各可靠性要素进行建模之后,需要将同属一个iofm的可靠性约束进行整合,便于当iohs过于复杂,含有过多的iofm时,对所有的可靠性约束进行分级管理。智能移动系统i/o接口的局部失效可以通过智能移动系统以软件的方式得到修复,如重装驱动程序、外围设备热插拔等。在智能移动系统i/o接口系统中,硬件的局部失效即iofm失效时仍然存在恢复到正常状态的可能性,该可能性称之为iofm的修复概率,可通过下式计算得到,其中μiofm代表iofm的修复概率,fiofm代表iofm的修复次数,δtiofm代表iofm总修复时间,δtiofm代表iofm的运行总时间。[0110][0111]因此,需要将同属一个iofm的可靠性约束进行管理,使用iofmrrate表示iofm的修复率,具体定义方法如下:[0112][0113]上述的《iofmname》iofm中模式包含的定义方式。[0114]3、智能移动系统i/o接口可靠性模型[0115]iofm是iohs的基本单位,因此iofm是否处于失效状态直接反映了iohs的状态。图3描述了一个具有四个iofm的iohs的状态转移关系。如图3所示,iohs具有四个iofm,分别是接收数据寄存器rdr(receivedataregister)、发送数据寄存器sdr(senddataregister)、控制寄存器cr(controlregister)和状态寄存器sr(stateregister),图中的圆圈表示iohs的一个状态,如状态“rdr·sdr·cr·sr”表示该状态下rdr、sdr、cr以及sr均未处于失效状态;“rdr·sdr·cr_”表示rdr、sdr、cr未处于失效状态,而sr处于失效状态。λrdr、λsdr、λcr、λsr分别表示rdr、sdr、cr以及sr的失效概率,使用μrdr、μsdr、μcr、μsr分别表示四者的修复概率。[0116]如图3所示,具有四个iofm的iohs拥有24个状态,iohs包含的iofm数目直接影响着iohs的状态空间大小,具体关系为,假设iohs含有n个bfm,那么bas的状态空间中含有2n个状态。因此,必须明确声明iohs所包含的iofm及其数目。iohs声明方式如下:[0117][0118]其中,iofm_num表示iohs所含有的iofm数目,以模式包含的声明方式包含所有属于该iohs的iofm。[0119]下面对基于rmio模型的可靠性评估方法进行具体描述。[0120]rmio模型的状态空间的变化是与时间相关的,但是,rmio模型下一时刻的状态仍然只与当前状态相关,所以rmio模型符合ctmc的性质。下面给出ctmcio的定义:[0121]定义5.ctmcio是一个如下式所示的五元组:[0122]ctmcio=(sio,sin,aio,tio,t)[0123]其中,sio表示ctmcio的状态空间;sin∈sio表示ctmcio的初始状态;aio=[aij]表示状态转移概率矩阵,aij表示从状态si∈sio转移到状态sj∈sio的概率;是状态转移关系集合,(si,sj)表示存在状态si到状态sj的一个转移;t表示时间。[0124]要利用ctmcio对rmio进行可靠性评估,需要将rmio转换为ctmcio,为了使得转换过程是等价的,可靠性约束在转换前、后保持一致性,必须对两者所包含的元素进行分析、比较,将两者中相同的元素进行映射转换。下面给出两者之间元素的转换规则,如表4所示:[0125]表4rmio建模与ctmcio元素映射转换规则[0126][0127][0128]通过上表可以看出,rmio中的所有可靠性约束都被映射到了ctmcio中,可靠性约束在转换过程无遗漏、修改,说明转换过程是等价的。[0129]4、单个iofm可靠性评估[0130]由于ctmcio最终的概率分布趋于同一个稳定的概率分布,马尔科夫链模型的状态转移矩阵收敛到的稳定概率分布与我们的初始状态概率分布无关,可以使用该稳定概率分布对应的马尔可夫链模型的状态转移矩阵快速得到符合对应稳定概率分布的样本,故引入马尔可夫链蒙特卡洛(markovchainmontecarlo,mcmc)采样。下面给出ctmcio的平稳概率分布概念:[0131]定义6.如果ctmcio的状态转移矩阵aio和概率分布pstable(t)对于所有的t满足下式所示的关系,则称pstable(t)为状态转移矩阵aio的平稳概率分布。[0132]pstable(t1)aio=pstable(t2)aio[0133]通过使用mcmc采样,可以由平稳分布pstable(t)找到对应的样本集,求解pstable(t)的过程分为以下几个步骤:[0134]步骤1,输入任意选定的ctmcio状态转移矩阵bio以及平稳分布pstable(t),设定状态转移次数阈值n1和需要的样本个数n2。其中状态转移次数阈值n1代表ctmcio经过n1轮可以得到平稳分布pstable(t)。[0135]步骤2,从任意简单的概率分布(比如高斯分布)中采样得到初始状态值s0;[0136]步骤3,设置i=1,从条件概率分布b(t|ti)中采样得到样本t*。从均匀分布u~uniform[0,1],如果u<α(ti,t*)=π(t*)·bio(t*,ti),则接受转移ti→t*,即ti+1=t*,否则不接受转移,i=max(i-1,0);[0137]步骤4,重复步骤三直到i=n1+n2,最后得到的样本集就是最后平稳分布对应的样本集。[0138]在所有硬件模块失效率模型中,指数模型有着很好的优势,对智能移动系统i/o接口模块失效率的真实曲线有着较高的拟合度。因此,可对iofm的失效率与时间的关系进行如下定义:[0139]定义7.iofm的失效率与时间的关系如下式所示,其中,λiofm(t)表示t时刻iofm的失效率,λiofm表示初始时刻t=0时的错误率,也即rmioiofm中frio声明的iofm_frio。[0140][0141]设piofm(t)=(pn(t),pr(t),pdg(t),pd(t),pf(t),pe(t))表示iofm在t时刻的状态概率向量,其中pn(t)、pr(t)、pdg(t)、pd(t)、pf(t)和pe(t)分别表示iofm在t时刻处于normalstate、recoverystate、degradestate、detectedstate、failurestate和errorstate的概率。根据ctmc的状态转移方程可得到关于iofm的状态概率方程,其计算方式如下式所示:[0142]piofm(t')=piofm(t)×aio[0143]其中,piofm(t')=(pn(t'),pr(t'),pdg(t'),pd(t'),pf(t'),pe(t'))表示t'时刻iofm的状态概率向量,其中t'表示t时刻的下一时刻,aio表示iofm的状态转移概率矩阵,可从图4中得到,如下式所示。[0144][0145]可得iofm的状态概率方程,如下式所示:[0146][0147]求解上式可得iofm在t时刻的状态概率分布,则t时刻iofm的可靠度计算方式如下式所示:[0148]riofm(t)=1-pe(t)[0149]5、智能移动系统i/o接口整体可靠性评估[0150]将智能移动系统i/o接口的功能模块的失效概率和rmioiofm中《iofmname》iofm定义的iofmrrate填充到图3中。因为此时已经计算得到所有iofm可靠性与时间的函数关系,即图3中每一个状态转移在任意时刻的概率都是已经确定的,且图3中的状态转移关系满足马尔可夫链性质。[0151]对于智能移动系统i/o接口来说,只有所有的iofm均处于正常状态时,整个智能移动系统i/o接口整体才是可用的,因此智能移动系统i/o接口的的正常状态要求没有iofm处于失效状态,即对应与图3中的状态“rdr·sdr·cr·sr”。因此,评估智能移动系统i/o接口的可靠性的问题就转化为利用马尔可夫链计算智能移动系统i/o接口的各iofm处于正常状态的概率,即处于状态“rdr·sdr·cr·sr”的概率。[0152]因为马尔可夫链的状态概率分布与其初始分布无关,结合马尔可夫链的平稳分布性质,可得下式所示的方程:[0153][0154]其中,pstable表示iohs对应的马尔可夫链处于平稳状态时的概率分布,pstable包含了iohs处于每个状态的概率,n表示转移次数。尤其注意的是上式中的t并不简单的表示时间,而是表示每个iofm的可靠性对应的时刻,转移矩阵的转移概率是基于iofm的可靠性的,而iofm的可靠性又与时间相关。[0155]6、智能移动系统i/o接口容错装置总体架构[0156]智能移动i/o接口容错装置使用基于任务级冗余的i/o接口容错方案和基于强化学习的修复方法,该容错装置的架构如图5所示,整体被分成三个层级,这三个层级分别是:核心功能层、基础软件层、操作系统及硬件层。三个层级分别负责不同的功能:[0157](1)核心功能层[0158]核心功能层包含两个子系统:接口检测子系统和故障修复子系统。[0159]i/o接口加固子系统使用基于任务冗余的i/o接口检错方案,负责生成管理器任务并且调用管理器任务实现基于任务级冗余的i/o接口软加固功能。在i/o接口加固子系统中包含生成管理器任务、孪生任务结果对比和故障检测三大主要模块。其中生成管理器任务主要在i/o接口驱动程序中植入管理器任务;孪生任务结果对比可以使用管理器任务对i/o任务进行任务级冗余,并且对孪生版本任务执行接口进行对比和投票,最后输出正确的i/o任务结果;故障检测模块根据孪生任务对比结果判定是否发生故障,若发生故障,将故障发生位置和错误信息以日志形式发送给用户。[0160]接口修复子系统采用基于强化学习的i/o接口修复方法,首先为iohs的所有状态分布创建一个唯一编码,该编码不仅仅能用于区别iohs的所有状态,还必须能够与iohs的可靠性相关联;其次定义修复模型的修复操作集和系统状态监控,计算修复模型的价值函数;最后通过ε-greedy算法得到状态转移的最优状态序列,根据此序列采取相应的修复操作,修复故障并将iohs恢复到正常工作状态。[0161](2)基础软件层[0162]基础软件层是系统需要使用的工具软件,为上层软件提供功能接口,实现上层软件与底层软件交互的集成框架。在本层中实现了上层功能模块与底层软件(如gdb、keil、realevo-ide等)数据、接口之间的相互调用,也实现了模块之间的信息交互。[0163](3)操作系统及硬件层[0164]操作系统及硬件层为上层软件和应用层提供操作系统支持,包括接口驱动程序、实时操作系统sylixos和板级支持包bsp。本层将硬件资源抽象成系统调用函数和接口,以供基础软件层的模块进行调用。操作系统及硬件层是整个系统最底层也是最基础的一层,硬件包括lin/sci和nic等。硬件层的硬件单位是错误检测和故障恢复的对象,也是整体系统的基础核心。[0165]8、基于任务冗余的i/o接口检错方案[0166]检错方案创建管理器任务并由管理器任务生成i/o任务的两个冗余版本。管理器任务负责孪生任务的输入准备、调度、输出比较以及错误的恢复操作。为了提高该容错方案的性能,先运行第一版本和第二版本孪生任务,如果这两个孪生任务的执行结果不同,则会运行第三版本的孪生任务。一旦管理器任务检测到前两个版本孪生任务的输出不匹配,它会保存第一版本和第二版本的任务结果,等待第三版本任务执行结束后,判断任务的正确执行结果,最后将故障任务堆栈的状态恢复到初始状态,准备下一个任务的运行。i/o任务表现为运行正常和存在故障两种情况,首先管理器任务执行输入接受阶段,然后相应地创建i/o任务的两个冗余版本并且给定输入,同时设定这两个孪生任务的执行时间,其中执行时间等于运行第一个和第二个孪生任务的最长时间总和。[0167]由于第一版本孪生任务的优先级高于第二版本孪生任务,因此其必须先执行第一版本孪生任务,然后再运行第二版本孪生任务。当两个任务都执行完毕或者设定的执行时间到达之后,管理器任务抢占cpu资源并比较这两个任务的执行结果。如果结果相等,管理器任务进入i/o传输阶段。[0168]如果第一版本孪生任务或第二版本孪生任务运行时由于软错误发生了瞬时故障,管理器任务在任务状态对比时将检测到瞬时故障并创建第三版本孪生任务。第三版本孪生任务的优先级高于管理器任务,所以当第三版本孪生任务执行完成之后管理器任务将抢占cpu资源并且进入投票阶段。在投票阶段中如果其中两个任务的结果相同,则将这类任务的结果进行i/o传输,否则则将三个孪生任务挂起,完成后续异常处理特定的操作。[0169]7、基于强化学习的i/o接口修复方法[0170]在智能移动系统i/o接口硬件系统iohs整体可靠性评估的基础上,使用基于强化学习的智能移动系统i/o接口修复方法,对处于失效状态的智能移动系统i/o接口进行修复。[0171]本发明提供的一种智能移动系统i/o接口容错装置具有上述可靠性分析方法的功能,并可根据可靠性分析结果进行容错修复。装置所述功能可以由硬件实现,也可以由具有相应功能的软件实现。该装置可以包括:提取模块、模型构建与转换模块、可靠性评估模块以及容错机制。[0172]提取模块,用于监测智能移动系统i/o接口各个功能模块的状态,提取智能移动系统iohs中的硬件结构信息并获取功能模块的状态信息;所述状态信息包括接收数据寄存器保存的数据、发送数据寄存器保存的数据、控制寄存器的控制位信息和状态寄存器中的状态位信息以及重要性信息;[0173]模型构建与转换模块,用于构建智能移动系统i/o接口功能模块可靠性模型rmioiofm,将rmioiofm模型转换成ctmcio,通过事先设计的元素映射规则进行模型元素映射,生成连续时间马尔可夫模型;[0174]可靠性评估模块,用于根据转换生成的ctmcio对iohs的整体可靠性进行评估,使用状态之间的关系以及功能模块的可靠性评估接口计算iohs整体状态空间的状态;[0175]容错机制,用于根据iohs整体可靠性评估结果,使用基于强化学习的i/o接口修复方法对处于失效状态的智能移动系统i/o接口进行修复。[0176]模型构建与转换模块具体用于:[0177]根据提取模块获取的信息建立可靠性模型rmioiofm,由于iohs状态随时间的演化过程可描述为一个连续时间马尔可夫链,故依照所述的映射规则进行模型转换,生成时间相关的ctmcio模型。[0178]容错机制使用的基于强化学习的i/o接口修复方法采用以下方法构建:[0179]第一步,需要为iohs的所有状态分布创建一个唯一编码,该编码不仅仅能用于区别iohs的所有状态,还必须能够与iohs的可靠性相关联。对于iohs的每一个状态,都有一个唯一的编码与之对应,而这个唯一编码则是由iohs中所有iofm的状态构成,如图3中的状态“rdr·sdr·cr·sr”的编码就是“rdr·sdr·cr·sr”,表示rdr、sdr、cr以及sr均处于正常状态。因此,采用所有iofm的状态序列作为iohs的状态编码。[0180]第二步,在连续的时刻t=1,2,3...中,iohs的状态编码是变化的,每个iofm都有概率因为外部环境影响正常工作从而产生故障。iohs在t时刻接收到外部环境的状态为st∈s,当前时刻iohs可从当前状态允许的修复操作集中挑选执行的操作表示为mt∈m(st)。采取修复操作后下一个时刻iohs的状态为st+1∈s+,该修复操作带来的可靠性修复值为其中,将所有状态记作s+,将非终止状态记作s。[0181]第三步,根据马尔可夫决策过程得到的特征方程如下式所示,其中p(s',r|s,a)为状态s下考虑可靠性修复值r,采取修复操作m∈m(s)时跳转到状态s'的概率。[0182]p(s',r|s,m)=pr[st+1=s',rt+1=r|s0,m0,s1,m1,...,st,mt][0183]决策过程dp定义为下式所示的五元组,其中s表示状态空间;m表示修复操作集合,该集合是有限的;p表示初始状态转化为目标状态的状态转移概率;r表示采取修复操作后取得的iohs可靠性修复值;γ∈[0,1]表示衰减率,其量化了可靠性修复值得差异性。[0184]dp=(s,m,p,r,γ)[0185]第四步,修复模型的价值函数如下式所示,其中γ∈[0,1]表示衰减率,r(s,m)是奖励函数即对于状态sio采取修复操作mio带来的奖励。将折现系数和奖励函数相乘并对修复步骤进行求和即最后的目标函数,选取能产生最大目标函数的修复步骤,通过在每个状态做出最佳动作,就可以得到最后的修复步骤[0186][0187]第五步,以iohs所有状态作为状态转移集合,设置iohs的失效状态为初始状态。瞬时故障或永久故障都可能引起iohs中的iofm变为失效状态,对于瞬时故障引起的iofm失效,可以通过刷新重配置、等待重写等容错方法进行修复,对于永久故障引起的iofm失效,可以使用基于硬件实现的多模冗余以及更换元器件等方法进行修复。为了让智能移动系统i/o接口整体在最短的时间内恢复到正常工作状态,采用ε-greedy算法计算并采取上式的结果并采取可以得到最大值的修复动作,从状态转移集合中选择需要修复的iofm并采取最优动作对其进行修复,然后重复采用该修复动作直至iohs恢复正常状态为止。[0188]以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。当前第1页12当前第1页12