【问题1】(8分)
张工提出:宇航装备的软件架构可采用四层的层次化体系结构,即模块支持层、操作系统层、分布式中间件层和功能应用层。为了有效、方便地实现分布式系统的故障检测和诊断能力,方案建议将系统的故障检测和诊断能力构建在分布式中间件内,通过使用心跳或者超时探测技术来实现故障检测器。请用300字以内的文字分别说明心跳检测和超时探测技术的基本原理及特点。
【问题2】(8分)
张工针对分布式综合化电子系统的架构特征,给出了初步设计方案,指出每个节点的故障监测与诊断器主要负责监控系统中所有的故障信息,并将故障信息进行综合分析判断,使用故障诊断器分析出故障原因,给出解决方案和措施。系统可以给模块的每个处理机器核配置核状态监控器、给每个分区配置分区状态监控器、给每个模块配置模块状态监控器、给系统配置系统状态监控器,如图3-1所示。
图3-1 系统故障检测和诊断原理
请根据下面给出的分布式综合化电子系统可能产生的故障(a)~(h),判断这些故障分别属于哪类监控器检测的范围,完善表3-1的(1)~(8)的空白。
(a)应用程序除零
(b)看门狗故障
(c)任务超时
(d)网络诊断故障
(e)BIT检测故障
(f)分区堆栈溢出
(g)操作系统异常
(h)模块掉电
【问题3】(9分)
张工在方案中指出,本系统的故障诊断采用故障诊断器实现,它可综合多种故障信息和系统状态,依据智能决策数据库提供的决策策略判定出故障类型和处理方法。智能决策数据库中的策略可以对故障开展定性或定量分析。通常,在定量分析中,普遍采用基于解析模型的方法和数据驱动的方法。张工在方案中提出该系统定量分析时应采用基于解析模型的方法。但是此提议受到王工的反对,王工指出采用数据驱动的方法更适合分布式综合化电子系统架构的设计。请用300字以内的文字,说明数据驱动方法的基本概念,以及王工提出采用此方法的理由。
【问题1】
心跳是一种用于故障检测的手段。分布式系统中,各种异常,如:宕机、磁盘损坏、网络故障等,时有发生,通过心跳可以快速有效的定位集群中的错误结点,并做及时的处理保证集群正常服务
通常探针会不断发送健康检查来检查服务是否健康。当远程节点没有响应时,我们只能猜测数据包在过程中的某个地方丢失了。下一个操作将是重试或等待一段时间,直到超时。
【问题2】
(1)(2) : be
(3):f
(4)(5)(6):adh
(7)(8)gc
【问题3】
通过对系统运行过程中的监测数据进行分析,从而在无精准系统数学模型情况下,对系统进行故障诊断,具体方法包括机器学习、统计分析法和信号分析法 。
因为宇航系统是一个非常复杂的系统,如果采用张工的方案(基于解析模型的方法),这一类方法需要建立在精准数学模型的基础上来进行故障诊断。但是对于宇航系统这种非常复杂的系统难以精确建模。所以王工提出了数据驱动的方法,不需要精准系统数学模型。
【问题1】心跳顾名思义,就是以固定的频率向其他节点汇报当前节点状态的方式。收到心跳,一般可以认为一个节点和现在的网络拓扑是良好的。当然,心跳汇报时,一般也会携带一些附加的状态、元数据信息,以便管理。故障检测是任何一个拥有容错性的分布式系统的基本功能,而实际上所有的故障检测协议都基于心跳通讯机制,原理很简单,被监控的组件定期发送心跳信息给监控进程(或者由监控进程轮询被监控组件),如果有一段时间没有收到心跳信息就被认为失效了。通常探针会不断发送健康检查来检查服务是否健康。健康检查是一种让系统知道应用程序实例是否正常运行的简单方法。当远程节点没有响应时,我们只能猜测数据包在过程中的某个地方丢失了。下一个操作将是重试或等待一段时间,直到超时。
【问题2】首先可以通过名称进行定位,分区堆栈溢出应该属于分区状态监控器的检测范围,操作系统异常应该属于系统状态监控器的检测范围,模块掉电应该属于模块状态监控器的检测范围,其次可以判断任务超时是操作系统层面的,应该属于系统状态监控器的检测范围。核状态监控器主要监控的是CPU,硬件层次,所以看门狗故障以及BIT检测故障应该属于核状态监控器的检测范围,最后剩下应用程序除零以及网络诊断故障应该属于模块状态监控器的检测范围。
【问题3】基于定量分析的故障诊断方法可以分为基于解析模型的方法和基于数据驱动的方法。(1)基于分析模型的方法通过被研究对象的数学模型和可观测输入输出量构造残差信号,在此基础上进行故障诊断。此类方法需要建立在精准数学模型的基础上,进行故障诊断。但是在实际中,复杂的系统难以精确建模,因此该类方法在实际应用中会有很大的局限。 (2)基于数据驱动的方法通过对系统运行过程中的监测数据进行分析,从而在无精准系统数学模型情况下,对系统进行故障诊断,具体方法包括机器学习、统计分析法和信号分析法等等(数据驱动的方法是现有大量的数据,而不是预设模型,然后用很多简单的模型来契合数据。虽然通过这种方法找到的模型可能和真实模型存在一定的偏差,但是在误差允许的范围内,单从结果上和精确的模型是等效的)。对于宇航系统这种非常复杂的系统难以精确建模。所以王工提出了数据驱动的方法,不需要精准系统数学模型。