系统中的故障处理技术方案

技术编号:9928484 阅读:89 留言:0更新日期:2014-04-16 19:12
提供关于第一子系统的操作的状况指示。检测第一子系统的故障。响应于检测到故障,更新状况指示,并且释放由第一子系统使用的资源。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】提供关于第一子系统的操作的状况指示。检测第一子系统的故障。响应于检测到故障,更新状况指示,并且释放由第一子系统使用的资源。【专利说明】系统中的故障处理
技术介绍
系统能够具有用于执行各种任务的不同子系统。系统的示例包括存储系统、处理系统或其它类型的系统。在系统操作期间,一些子系统可能经历故障,故障会导致该系统中的错误。【专利附图】【附图说明】一些实施例是关于以下附图描述的:图1和图2是根据各实现方式的示例布置的框图;图3是根据一些实现方式的处理的流程图;图4和图5图示根据一些实现方式的示例状况指示;以及图6是根据一些实现方式的监视子系统的框图。【具体实施方式】系统内的子系统能够提供关于相应子系统的?呆作的状况指不。“子系统”能够指在物理机器内运行的进程(例如机器可读指令),或者可替代地,“子系统”能够指机器(包括硬件组件和机器可读指令)或该机器的任何部分。在一些示例中,状况指示能够指示子系统的各种状态,如“启动”(子系统正在启动)、运行(子系统目前正在运行)等等(其它示例状态在下面进一步介绍)。子系统会经历故障(如子系统失效或子系统的组件未正确操作)。当子系统经历故障时,子系统可能不能更新其状况指示,这能够导致在子系统已经经历故障以后状况指示不再准确。由子系统提供的不正确的状况指示能够造成整体系统中的错误。例如,一组子系统可能对有序的或顺序的约束敏感,在该有序的或顺序的约束中,一个这样的子系统的特定操作会在另一子系统的相应操作以后发生(例如一个子系统会在另一子系统已经启动以后启动)。该组子系统可能是一堆子系统的一部分,其中该堆对该堆内的子系统施加有序的或顺序的约束。因此,如果该堆中的第一子系统表示其正在正确地操作(即便第一子系统未正在正确地操作),那么跟随第一子系统后的第二子系统可能基于第一子系统已经成功地完成其操作的不正确假设而不正确地进行第二子系统的操作。作为另一示例,第一子系统可以尝试访问第二子系统,第二子系统的状况指示表示第二子系统正在正常地操作,但是此时实际上第二子系统已经失效。无法访问第二子系统能够造成第一子系统以及整体系统的其它部分处的错误。而且,当特定子系统已经失效但其状况指示表示其正在正常地操作时,由该失效的子系统使用的资源可能继续被分配给该失效的子系统,这使得被分配的资源无法由其它子系统利用。图1图示根据一些实现方式的示例系统100。该系统能够具有按层次布置的多个子系统。图1所示的多个子系统能够是一个物理机器(例如计算机系统、存储系统、通信系统等)的一部分或者能够是物理机器的分布式布置的一部分。该层次的顶层包括监视子系统102,该层次的中间层包括中间子系统104和106,并且该层次的低层包括子系统108、110,112 和 114。尽管图1示出具有三个层次的系统,但应当注意,在其它实现方式中能够采用其它示例布置,这包括仅采用两个层次或多于三个层次的布置。低层子系统108和110与中间子系统104关联(例如低层子系统108和110能够是在中间子系统104中运行的进程)。类似地,低层子系统112和114与中间子系统106关联。如图1所示,每个子系统包括状态报告模块(在每个子系统中标记为“SRM”),该状态报告模块能够提供相应的状况指示。一些实现方式中的状况指示能够以状态文件的形式,如根据XML (可扩展标记语言)格式或其它格式的文件。由中间层子系统和低层子系统(104、106、108、110、112、114)中任何子系统的状态报告模块提供的状况指示,能够由监视子系统102监视。在一些示例中,监视子系统102能够提供“监视狗”活动。监视狗活动能够包括对系统中各个子系统的状态进行监视,并且在检测各个子系统中任何子系统中的某故障时,能够执行任务来解决这样的故障。监视子系统102能够是与实现中间层子系统和低层子系统的机器分离的机器的一部分。可替代地,监视子系统102能够是在与中间层子系统和低层子系统中一个或多个子系统相同的机器上运行的监视进程。除了中间层子系统和低层子系统的状况指示可由监视子系统102访问以外,应当注意,特定子系统的状况指示也可由与该特定子系统关联的更高层子系统访问。例如,由低层子系统112或114的状态报告模块报告的状况指示可由中间子系统106访问。监视子系统102还包括能够将状况指示提供给可管理性接口 116的状态报告模块,可管理性接口 116能够包括用户接口系统(如管理控制台,像管理员这样的用户能够通过该管理控制台确定系统100的各个子系统的状态)。可替代地或此外,可管理性接口 116能够包括不同类型的系统,如能够响应于由监视子系统102提供的状况指示而采取自动补救行动的自动化系统。根据一些实现方式,较高层子系统能够监视较低层子系统的操作,以确定由较低层子系统提供的状况指示是否是准确的。例如,监视子系统102能够间歇性地轮询中间层子系统和低层子系统(104、106、108、110、112和114)中每个子系统,以确定相应的子系统是否可操作。在可替代示例中,代替监视子系统102轮询较低层子系统,能够采用心跳机制,其中较低层子系统间歇性地向监视子系统102发送心跳消息。在预限定的时间间隔内未能收到心跳消息是较低层子系统已经经历故障的指示。能够定期地或根据某些其它准则执行心跳消息的轮询或通信。在其它实现方式中,代替监视子系统102执行心跳消息的轮询或接收,中间子系统104或106能够执行分别每个低层子系统108、110、112或114的轮询或从各个低层子系统的心跳消息的接收。在这样的实现方式中,正是中间系统能够识别低层子系统的故障状态。在一些示例中,如果检测到特定子系统的状况指示是不正确的(例如,特定子系统的状况指示表示特定子系统的正常操作,虽然该特定子系统已经经历故障),则能够更新由监视子系统102输出的状况指示来表示已经发生故障。在示例中,由低层子系统108输出的状况指示可以表示正常操作,虽然低层子系统108已经经历故障。表示子系统的“正常操作”的状况指示能够指该子系统正在以期望的方式操作(例如,该子系统正以成功指示对轮询请求做出响应,或者该子系统正以期望的时间间隔发送心跳消息)的指示。当监视子系统102检测低层子系统108的故障状态(如通过上面提到的轮询机制或心跳机制)时,监视子系统102能够更新其状况指示(被输出至可管理性接口 116)来反映该故障。此外,监视子系统102能够更新由故障的低层子系统108输出的状况指示来反映低层子系统108的故障状态。在其它示例中,当检测低层子系统108的故障状态时,能够更新由中间子系统104报告的状况指示来反映中间子系统104与已经经历故障的低层子系统关联。在一些实现方式中,中间子系统104的状况指示的更新能够由监视子系统102执行。在其它实现方式中,中间子系统104的状况指示能够由中间子系统104自身更新。图2是另一示例系统200的框图,其能够是根据一些实现方式的存储系统。存储系统200包括应用管理器202以及各个虚拟磁带库(VTL)管理器204和206。此外,能够存在由VTL管理器204和206管理的多个VTL进程,这些VTL进程包括VTL进程208、210、212、214和216。VTL (或虚拟磁带库本文档来自技高网...

【技术保护点】
一种用于具有处理器的系统中的故障处理的方法,包括:由第一子系统提供关于所述第一子系统的操作的状况指示;由第二子系统检测所述第一子系统的故障;并且响应于检测第一子系统的故障,所述第二子系统更新状况指示来反映被检测的故障,以及释放由已经经历所述故障的所述第一子系统使用的资源。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:西蒙·佩利阿拉斯泰尔·斯莱特
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1