一种基于HPI模型的热插拔处理方法技术

技术编号:2919165 阅读:289 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种基于HPI模型的热插拔处理方法,包括热插入和热移出,所述处理方法包括逻辑域分隔机制及热插拔处理机制;所述逻辑域分隔机制将热插拔组件抽象为实体以资源的方式进行逻辑上的分组管理,资源再进行分组以域的方式管理,当热拔出时,所述逻辑域分隔机制对域对象和资源对象的访问加以控制,保证了组件的移出不影响系统服务的可用性;热插拔处理机制与逻辑域分隔机制交互,实现对逻辑域的初始化,使系统组件处于不同的逻辑域中,并负责对热插入和热移出过程中组件的状态进行控制,保证了组件的插入和移出不影响系统服务的可用性。本发明专利技术有效地克服了热插拔过程对系统稳定性的影响。

【技术实现步骤摘要】

本专利技术涉及计算机热插拔
,特别是在电信领域的高可用ATCA电信服务器中的一种在热插拔处理策略的设计与实现技术,具体地说,本专利技术设计了一种以HPI模型为基础的新的热插拔处理方法。
技术介绍
随着计算机技术的快速发展,网络用户对电信系统可用性提出了更高的要求——具有提供连续服务的能力;这种能力要求系统的年宕机时间不得超过30秒。为了满足这种需求提高服务的高可用性,在不关闭系统,不切断电源的情况下取出和更换损坏的风扇、电源、硬盘和内存等系统组件成为电信领域关注的一种技术;这就是所谓的热插拔技术。热插拔技术包括热拔出和热插入。Windows和Linux操作系统中都对USB、Ieee1394、PCI设备和网路设备有了较好的热插拔处理。Linux中热插拔的设计是分为三层的首先是驱动层,为了配置一个热插拔设备,它必须首先被创建并注册到内核中;这项任务通常由相关的设备驱动完成。这些设备的驱动为了支持热插拔都进行了相应的改动。其次是中间层的热切换处理程序,这是热插拔技术的重点。最上层,Linux的热插拔子系统借助shell和系统用户进行交互。Linux中热切换处理程序的处理分为以下几步检测系统总线上设备的变化和热插拔状态; 处理设备的插入或拔出事件;通知操作系统加载或卸载相应设备的驱动。Windows系统中(以Windows2000为例)热插拔系统可以分为两层驱动层和热切换处理层。在Windows2000中为了支持热插拔在内核中集成了热插拔工具集(Hot Swap Kit,简称HSK由Pigeon Point Systems and Auriga开发)。HSK完成了类似于Linux中热切换处理和命令交互层的功能。HSK的处理机制可以简要概述为以下几点确认系统总线上设备的数目和热插拔状态;在硬件为了支持热插拔增加了热插拔控制状态寄存器(HS_CSR);捕获并处理电信号或者处理拔出操作请求;通知操作系统系统总线上设备的变化;操作系统根据相应变化加载或者卸载相应设备的驱动;预留了API便于其它程序进行热插拔状态查询。Windows和Linux中的热插拔处理机制基本相同,然而都是只解决了设备的拔出和插入问题。对于拔出操作或插入操作对系统的影响考虑的远远不够,然而这些影响对提供高可用服务的系统来说是至关重要的。HPI模型是2002年9月份服务可用性论坛发布的HPI规范中提到的,它主要是通过统一的抽象机制来对服务器硬件进行统一的管理,从而对上层应用和中间件屏蔽硬件差异;提高电信系统的可靠性和服务的高可用性。
技术实现思路
本专利技术的目的在于克服现有热插拔技术在拔出操作或插入操作时对系统的影响,提供一种热插拔处理策略并将之高效实现,使系统能在运行中更换损坏的组件进而使用户能够得到不间断的系统服务。为了实现上述专利技术目的,采用的技术方案如下一种基于HPI模型的热插拔处理方法,包括热插入和热移出,所述处理方法包括逻辑域分隔机制及热插拔处理机制;所述逻辑域分隔机制将热插拔组件抽象为实体以资源的方式进行逻辑上的分组管理,资源再进行分组以域的方式管理,当热拔出时,所述逻辑域分隔机制对域对象和资源对象的访问加以控制,保证了组件的移出不影响系统服务的可用性;热插拔处理机制与逻辑域分隔机制交互,实现对逻辑域的初始化,使系统组件处于不同的逻辑域中,并负责对热插入和热移出过程中组件的状态进行控制,保证了组件的插入和移出不影响系统服务的可用性。所述逻辑域分隔机制把系统组件划分为多个逻辑域,并在建立逻辑域的同时为每个一级逻辑区域——域建立了域参照表,为二级逻辑区域——资源建立了资源出席表;域参照表记录与自身有联系的域,并控制对域对象的访问;资源出席表则记录域中的所有资源,并控制对资源对象的访问。所述逻辑域分隔机制将系统的冗余组件作为独立的简单逻辑域。冗余组件可以是板级的冗余,也可以是热插拔组件的冗余。本专利技术所述的基于HPI模型的热插拔处理方法,当组件热移出时,所述热插拔处理机制将该组件实体对应的资源移出资源出席表,然后刷新资源出席表,使得所有与该实体的交互终止运行;接着,把含有移出组件的冗余的简单逻辑域描述信息加入到该组件的域参照表中,使得其它组件仍然可以访问到移出组件对应的实体。所述热插拔处理机制对热插入和热移出过程中组件的状态控制包括将状态分为不存在状态、插入挂起状态、激活状态、拔出挂起状态、非激活状态;所述不存在状态可转换到插入挂起状态,插入挂起状态可转换到激活状态,激活状态可转换到拔出挂起状态,拔出挂起状态可转换到非激活状态,所述插入挂起状态、激活状态、拔出挂起状态、非激活状态均可转换到不存在状态。所述热插拔处理机制的热插入过程包括加载驱动及用户层热插拔控制;所述加载驱动当新插入一个组件后,设备驱动程序的中断服务程序接受到信号后扫描整个CompactPCI总线,扫描完毕通过内核函数request_module调用call_usermodehelper与用户空间进行交互,内核函数request_module把arg初始化成将要加载模块的名字,然后利用/sbin/modprobe和配置文件/etc/modprobe.conf来确定将要加载模块的详细信息;所述用户层热插拔控制通过Addresource命令调用函数ResourceAdd将插入组件所对应的FRU实体加入到域中,ResourceAdd函数加入新实体的操作执行完毕后,会自动调用Rptflush函数来刷新建立逻辑域时所维护的的资源出席表,最后执行命令hotplug—>active,该命令会调用ResourceActive函数激活新的实体使之在域中处于活跃状态,正常提供服务。所述热插拔处理机制的热移出过程先定位移出组件所对应的逻辑模型所处的逻辑域;并执行Inactive指令钝化改组件,终止其它组件与其产生的会话;然后将资源移出所处的逻辑域,即从域所维护的资源出席表中剔除该组件;再刷新资源出席表,使所有与该组件所对应实体的交互都终止运行;最后将该组件的冗余组件所在的逻辑域信息加入该组件所在域维护的域参照表中,使得其它应用可以通过层次域访问的模式访问到该组件。本专利技术借助HPI模型对ATCA硬件的逻辑抽象,把ATCA服务器系统成功划分了多个逻辑域。并在建立逻辑域时需要将ATCA服务器的冗余组件单独作为独立的简单域。冗余的组件可以是板级的冗余,也可以是热插拔组件的冗余。主要包括两部分,一是逻辑域分隔机制;二是热插拔处理。本专利技术的热插拔方法对于提高电信服务器的高可用性有重要的意义,本专利技术以不停止系统运行为宗旨,将损坏的系统组件移出系统进行修复,并在组件修复完成后将其动态的加入系统。整个过程中保证系统服务不中断,系统的可用性得以增强。本专利技术能够不停止处于运行状态的系统,对目标系统组件进行热插入和热移出,降低系统的宕机时间,提高系统的可靠性,使之能高效、稳定地运行于电信服务平台,满足高可用的运行环境需求。附图说明图1为热插拔整体框架图;图2为逻辑隔离结构图;图3为热插拔状态迁移图;图4为热插入处理流程图;图5为热移出处理流程图。具体实施例方式本专利技术中热插拔的处理需要操作系统和用户层的热插拔处理程序协作完成。操作系统主要负责在系统中插入新设备时加载对应的驱动;在卸载损坏组件时用户层的本文档来自技高网
...

【技术保护点】
一种基于HPI模型的热插拔处理方法,包括热插入和热移出,其特征在于所述处理方法包括逻辑域分隔机制及热插拔处理机制;所述逻辑域分隔机制将热插拔组件抽象为实体以资源的方式进行逻辑上的分组管理,资源再进行分组以域的方式管理,当热拔出时,所 述逻辑域分隔机制对域对象和资源对象的访问加以控制,保证了组件的移出不影响系统服务的可用性;热插拔处理机制与逻辑域分隔机制交互,实现对逻辑域的初始化,使系统组件处于不同的逻辑域中,并负责对热插入和热移出过程中组件的状态进行控制,保证了 组件的插入和移出不影响系统服务的可用性。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘发贵范志强吴庆波
申请(专利权)人:华南理工大学广东美泰科技有限公司
类型:发明
国别省市:81[中国|广州]

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

1