设备接管方法和装置及双控系统的制作方法

文档序号:7710894阅读:353来源:国知局
专利名称:设备接管方法和装置及双控系统的制作方法
技术领域
本发明涉及电子技术领域,具体涉及设备接管方法和装置及双控系统。
背景技术
目前,随着总线技术和双控技术的发展,在快速外设组件互联(PCIE, Peripheral Component Interconnect Express )总线中,i午多的转4灸器(SW, Switch) 都带有非透明(NT, NON-Transparent)桥,现有技术中也常常利用NT桥来 实现对i殳备的双控。
NT桥是一种非透明的PCIE连接桥,转换器的NT桥可以防止主机列举连 接到NT桥后面的设备,同时允许打开窗口以交换数据,并隔离连接到NT桥 后面的设备及内存空间。
现有双控系统中主要通过PCIE NT桥镜像技术实现对设备的双控,例如 当一个控制板A出现故障时,与该控制板通过NT桥连接的另一个控制板B 可以采用镜像技术对此前由控制板A控制的设备的请求进行间接处理,从而 通过控制板A和B实现对设备的双控,提高系统的抗故障能力。
在实现本发明的过程中,发明人发现,通过镜像技术间接对设备的请求进 行处理,其处理响应速度通常相对较慢。

发明内容
本发明实施例提供一种设备接管方法和装置及双控系统,通过直接接管设 备实现双控,能够相对提高对设备请求的处理响应速度。
为解决上述技术问题,本发明实施例中提供以下技术方案 一种设备接管方法,包括
第一控制板对快速外设组件互联PCIE总线进行拓朴发现; 在拓朴发现到非透明NT桥时,按照设定的资源预留策略为所述NT桥所在 的转换器以及连接到该转换器的下行端口的设备预留资源,所述NT桥所在的 转换器以及连接到该转换器的下行端口的设备当前由第二控制板控制;
在第二控制板出现故障时,从第二控制板接管所述转换器以及连接到该转换器的下行端口的设备,将所述预留的资源分配给所述转换器以及连接到该转 换器的下行端口的设备,使所述转换器以及连接到该转换器的下行端口的设备 在第一控制板的控制下工作。
一种设备接管装置,包括
拓朴发现^t块,用于对PCIE总线进行拓朴发现;
资源预留模块,用于在所述拓朴发现模块拓朴发现到NT桥时,按照设定 的资源预留策略为所述NT桥所在的转换器以及连接到该转换器的下4亍端口的 设备预留资源,所述NT桥所在的转换器以及连接到该转换器的下行端口的设 备当前由第二控制板控制;
接管模块,用于在第二控制板出现故障时,从第二控制板接管所述转换器 以及连接到该转换器下行端口的设备,将所述资源预留模块预留的资源分配给 所述转换器以及连接到该转换器下行端口的设备,使所述转换器以及连接到该 转换器的下行端口的设备在所述设备接管装置的控制下工作。
一种双控系统,包括第一控制板和第二控制板,
其中,第一控制板,用于对PCIE总线进行拓朴发现;在拓朴发现到NT桥 时,按照设定的资源预留策略为所述NT桥所在的转换器以及连接到该转换器 的下行端口的设备预留资源,所述NT桥所在的转换器以及连接到该转换器的 下行端口的设备当前由第二控制板控制;在第二控制板出现故障时,从第二控 制板接管所述转换器以及连接到该转换器下行端口的设备,将所述预留的资源 分配给所述转换器以及连接到该转换器下行端口的设备,使所述转换器以及连 接到该转换器的下行端口的设备在第一控制板的控制下工作。
由上述技术方案可以看出,本发明实施例中采用的技术方案具有如下优 点由于第 一控制板事先为当前由第二控制板控制的带有NT桥的转换器以及 连接到该转换器的下行端口的设备预留了资源,使得在从第二控制板接管上述 转换器以及与该转换器的下行端口连接的设备后,可以将事先预留的资源分配 给上述转换器以及与该转换器下行端口连接的设备,使被接管的设备具有相对 足够的可操作资源,能够在第一控制板的控制下正常工作,通过直接接管设备 的方式实现双控,可以相对提高请求处理的响应速度。


为了更清楚地说明本发明实施例和现有技术中的技术方案,下面将对实施 例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述 中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付 出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例 一提供一种设备接管方法流程图2是本发明实施例二提供一种设备接管方法流程图3-a是本发明实施例二提供一种资源预留的双控架构示意图3-b是本发明实施例二提供一种预留资源分配的双控架构示意图4是本发明实施例三提供一种设备接管方法流程图5-a是本发明实施例三提供一种资源未预留的双控架构示意图5-b是本发明实施例三提供一种资源预留的双控架构示意图5-c是本发明实施例三提供一种预留资源分配的双控架构示意图6是本发明实施例四提供一种设备接管装置示意图7是本发明实施例五提供一种双控系统示意图。
具体实施例方式
本发明实施例提供一种设备接管的方法和装置及双控系统,通过直接接管 设备的方式实现双控,可以相对提高对设备请求的处理响应速度。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是 全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动前捩下所获得的所有其他实施例,都属于本发明保护的范围。
首先说明的是,随着转换器的发展,带有NT桥的转换器可以设置失败接 管(FV, Failover)功能,所谓失败接管是指带有NT桥转换器具有端口类型 转换的功能,即在控制板的控制下,转换器的NT桥可以转换为up端口,转 换器的up端口也可以转换为NT桥,以此类推。
本发明实施例主要是利用带有NT桥的转换器的失败接管功能,实现对设 备的直接接管,下面通过具体实施例进行详细的说明。实施例一、
一种设备接管方法,流程图如图l所示,该方法可以包括
步骤IIO、第一控制板对快速外设组件互联总线进行拓朴发现。
其中,所谓拓朴发现,是指通过扫描系统的PCIE总线,发现不同总线及 其连接的设备和功能。
步骤120、在拓朴发现到NT桥时,按照设定的资源预留策略为该NT桥所 在的转换器以及连接到该转换器的下行端口的设备预留资源,上述NT桥所在 的转换器以及连接到该转换器的下行端口的设备当前由第二控制板控制。
在一种应用场景下,第一控制板可以在操作系统启动时,按照深度遍历的 方式对PCIE总线的所有支路进行拓朴发现。
在另一种应用场景下,第一控制板也可以在操作系统稳定运行过程中,按 照深度遍历的方式重新对PCIE总线中NT桥所在的支路进行拓朴发现。
在上述两种应用场景下,当拓朴发现到NT桥时,可以按照设定的资源预 留策略为当前由第二控制板控制的NT桥所在的转换器以及连接到该转换器下 行端口的设备预留总线资源和/或地址空间资源等。
在一种应用场景下,上述设定的资源预留策略可以包括事先设定的在不 同场景下为NT桥所在的转换器以及连接到该转换器的下行端口的设备预留资 源的数量。举例来说,若某个带有NT桥的转换器下行端口通常连接网卡设备, 则可以根据网卡设备地址空间资源的需求,设定预留地址空间资源的数量,尽 量为该网卡设备预留足够的地址空间资源,以此类推。
步骤130、在第二控制板出现故障时,从第二控制板接管上述转换器以及 连接到该转换器下行端口的设备,将上述预留的资源分配给上述转换器以及连 接到该转换器下行端口的设备,使上述转换器以及连接到该转换器的下行端口 的设备在第 一控制板的控制下工作。
在一种应用场景下,在当前控制上述转换器的第二控制板出现故障时,第 一控制板可以将上述转换器的NT桥转换设置为up端口 ,即利用上述转换器的 失败接管功能,直接接管上述转换器以及连接到该转换器的下行端口的设备。
在进行设备接管的同时,第 一控制板可以根据上述转换器以及连接到该转 换器的下行端口的设备所需的总线资源和/或地址空间资源等,将上述预留的资源分配给上述转换器以及连接到该转换器的下行端口的设备,使之前由第二 控制板控制下的转换器以及连接到该转换器下行端口的设备能够在第 一控制 板的控制下继续正常工作。举例来说,若第一控制板事先预留了3条总线资源
和6M地址空间资源,从第二控制板接管的转换器当前包括1个up端口和2个 down端口 , 2个down端口连接了两个分别需要2M地址空间的端点设备,则第 一控制板可以将事先预留的3条总线资源分别分配给上述转换器的l个up端口 和2个down端口 ,将事先预留的6M地址空间资源平均或非平均的分配给连接到 上述转换器的down端口的两个端点设备。
其中,连接到上述转换器下行端口的设备可以包括端点设备和/或桥设备。
可以理解的是,本实施例上述的技术方案可以由第一控制板或第一控制板 的部分功能模块来具体实施。
可以理解,本实施是以第一控制板事先为第二控制板控制的NT桥所在的 转换器以及连接到该转换器的下行端口的设备预留资源;当第二控制板故障 时,第一控制板从第二控制板接管上述转换器以及连接到该转换器的下行端口 的设备,并其分配预留的资源为例进行说明的,当然,第二控制板也可以事先 为第一控制板控制的NT桥所在的转换器以及连接到该转换器的下行端口的设 备预留资源;当第一控制板故障时,第二控制板从第一控制板接管上述转换器 以及连接到该转换器的下行端口的设备,并其分配预留的资源,实现第二控制 板从第一控制板接管设备,实现对设备的双控。
由上述技术方案可以看出,本实施例第一控制板事先为第二控制板控制的 带有NT桥的转换器以及连接到该转换器的下行端口的设备预留资源,在从第 二控制板接管上述转换器以及与该转换器的下行端口连接的设备后,将事先预 留的资源分配给上述转换器以及与该转换器下行端口连接的设备,使祐:接管的 设备具有相对足够的可操作的资源,能够在第一控制板的控制下正常工作,通 过直接接管设备的方式实现双控,可以相对提高请求处理的响应速度。
实施例二、
为便于理解,本实施以控制板A在系统启动时,为当前由控制板B控制的 带有NT桥的转换器以及连接到该转换器的下行端口的设备预留资源,在接管 上述转换器以及连接到该转换器的下行端口的设备后,为被接管的设备分配预留的资源为例,进行具体说明。
一种设备接管方法,流程图如图2所示,该方法可以包括 步骤201 、控制板A对PCIE总线的全部支路进行拓朴发现。 步骤202、当控制板A拓朴发现到NT桥时,按照设定的资源预留策略为当
前由控制板B控制的上述NT桥所在的转换器以及连接到该转换器的下行端口
的设备预留资源。
在一种应用场景下,在控制板A的操作系统启动时,控制板A的系统内核 可以按照深度遍历的方式,依次对PCIE总线的所有支路进行拓朴发现。
具体的,控制板A可以根据PCIE总线下的各个设备自身携带的类型标识判 断出该设备的类型以及资源需求,从而可以根据不同类型设备的资源需求为其 分配总线资源和/或地址空间资源。
其中,PCIE总线下的设备可以包括端点设备(例如,网卡、显卡等功能 设备)和桥设备(例如,转换器等)。
上述设定的资源预留策略可以包括事先设定的在不同场景下为NT桥所在 的转换器以及连接到该转换器的下行端口的设备预留资源的数量,具体可以根 据应用场景的不同来设定需要预留的资源数量。
举例来说,当控制板A拓朴发现到端点设备时,可以根据该端点设备的资 源需求为该端点设备分配地址空间资源;在拓朴发现到不带有NT桥的转换器 时,可以为先为该转换器分配一条总线资源,然后继续拓朴该总线下的设备; 在拓朴发现到NT桥时,按照设定的资源预留策略为NT桥所在的转换器预留总 线资源(或预留总线资源和地址空间资源),以及为连接到该转换器的下行端 口的设备预留总线资源和/或地址空间资源,以此类推"直至完成PCIE总线全 部支路的拓朴发现。
需要说明的是,在进行PC正总线的拓朴发现时,控制板A可能拓朴发现到 一个或多个NT桥,且上述1个或多个NT桥所在的转换器以及连接到该转换器 下行端口的设备当前可能由其它的一个或多个控制板实际控制,控制板A可以 为拓朴发现到的每个NT桥所在的转换器以及连接到该转换器下行端口的设备 预留资源。本实施例以控制板A只拓朴发现到1个NT桥且该NT桥所在的转换器 当前由控制板B控制为例进行具体i^L明。步骤203、在控制板B出现故障时,控制板A从控制板B接管上述转换器以 及连接到该转换器下行端口的设备,将预留的资源分配给上述转换器以及连接 到该转换器下行端口的设备。
在一种应用场景下,当控制板B出现故障时,控制板A可以将上述转换器 与控制板B连接的up端口转换为NT桥,将上述转换器与控制板A连接的NT桥转 换为up端口 ,进而从控制板B接管上述转换器以及连接到该转换器下行端口的 设备。同时,控制板A可以按照深度遍历的方式对上述转换器以及连接到该转 换器的下行端口的设备进行拓朴发现,根据上述转换器的总线资源需求以及连 接到该转换器的下行端口的设备的总线资源和/或地址空间资源需求,将事先 预留的部分或全部总线资源分配给上述转换器的上行端口和下行端口 ,将事先 预留的部分或全部总线资源和/或地址空间资源分配给连接到该转换器的下行 端口的设备,使得该转换器以及该转换器的下行端口的设备可以在控制板A的 控制下继续正常工作。
可以看出,由于被控制板A的接管上述转换器以及连接到该转换器下行端 口的设备分配到了足够的可操作资源,因而可以在控制板A的控制下正常的工 作,成功实现控制板B和控制板A对上述转换器以及连接到该转换器下行端口 的i殳备的双4空。
可以理解的是,若控制板A拓朴发现到多个NT桥,且上述多个NT桥所在 的转换器当前由其它l个或多个控制板控制的情况,对于每个NT桥所在的转换 器以及连接到该转换器下行端口的设备,控制板A均可采用上述方式进行设备 接管和预留资源的分配,此处不再赘述。
可以理解,本实施是以控制板A事先为控制板B控制的NT桥所在的转换器 以及连接到该转换器的下行端口的设备预留资源;当控制板B故障时,控制板 A从控制板B接管上述转换器以及连接到该转换器的下行端口的设备,并其分 配预留的资源为例进行说明的,当然,控制板B也可以事先为控制板A控制的 NT桥所在的转换器以及连接到该转换器的下行端口的设备预留资源;当控制 板A故障时,控制板B从控制板A接管上述转换器以及连接到该转换器的下行端 口的设备,并其分配预留的资源,控制板B的实现上述接管的过程可以与控制 板A的实现过程相同,此处不再赘述。为更好的理解本实施例上述的技术方案,下面通过具体的实例对本实例技 术方案做进一步详细的描述。
请参见图3-a和3-b,以控制板310为上述的控制板A,控制板320为上述的 控制板B为例。如图所示,控制板310包括转换器311、转换器312和转换器 313。控制板320包括转换器321、转换器322和转换器323。
其中,转换器311的down端口3111和转换器312连接,down端口3112和转 换器313连接。转换器312的NT桥端口和转换器322的一个down端口连接;转换 器323的端口 3231和转换器313的1个down端口连接。
在控制板310的操作系统启动时,控制板310的系统内核按照深度遍历的方 式拓朴发现PCIE总线下的全部支路,为拓朴发现到的设备分配或预留地址空 间资源和/或总线资源。
如图3-a所示,转换器323的端口 3231当前为NT桥,端口 3132当前为up端口 。 控制板310为转换器311的up端口分配0号总线资源、down端口 3111分配1号总线 资源、down端口3112分配了6号总线资源;为转换器312的up端口分配2号总线 资源、down端口分配3、 4、 5号总线资源;为端点设备331分配1M (0x00000000 0x000ffiff )的地址空间资源、为端点设备332分配2M (0x00100000 0x002fffff)的地址空间资源;为转换器313的up端口和3个down 端口分配7、 8、 12、 13号总线;为转换器323预留9、 10、 ll号总线,为端点设 备343和344预留6M( 0x00e00000 0x013fffff)的地址空间资源;为端点设备333 分配2M (0x01400000 0x015fffif)的地址空间资源、为端点设备334分配2M (0x01600000 0x017fffff)的地址空间资源。
上述拓朴发现完成后,PCIE的总线号和地址资源按照顺序递增,转换器 311的端口3111允许的有效总线号范围是1~5号,地址空间范围是 0x00000000 0x002fffff ( 3M);端口3112允许的有效总线号范围是6~13号, 地址空间范围是0x00e00000 0x017fffff ( 10M )。
如图3-b所示,当控制板320出现故障或其它原因时,控制板310从控制板 320接管转换器323以及端点设备343和端点设备344,即将转换器323的端口 3232转换设置为NT桥,将端口3231转换设置为up端口。同时,控制板310可以 按照深度遍历的方式对8号总线下的设备进行拓朴发现,根据转换器323以及端点设备343和端点设备344的资源需求,将预留的9、 10、 ll号总线资源分配给 转换器323的l个up端口和2个down端口 ,将预留的6M( 0x00e00000 0x013fffff) 地址空间资源分配给端点设备343和344 ,例如可以为端点设备343分配2M (0x00e00000 0x00ffffff )、为端点设备344分配4M ( 0x01000000 0x013fffff )。
此时,对于控制板310来说,由于为转换器323以及端点设备343和端点设 备344具有相对足够的可操作资源,因此使得转换器323以及端点设备343和端 点设备344能够在控制板310的控制下继续正常工作,从而控制板310和控制板 320利用NT桥实现了对转换器323以及端点设备343和端点设备344的双控,进 而相对提高了系统抗故障能力。
可以理解的是,控制板320也可以按照上述方式为对PCIE总线进行拓朴发 现,并为控制板310的NT桥所在的转换器312以及连接到该转换器下行端口的 端点设备331和端点设备332预留资源,当控制板310故障时,控制板320也可以 按照上述方式接管转换器312以及端点设备331和端点设备332,通过直接接管 转换器312以及端点设备331和端点设备332实现双控。
由上述技术方案可以看出,本实施例中控制板A在操作系统启动时,为当 前由控制板B控制的带有NT桥的转换器以及连接到该转换器的下行端口的设 备预留资源,在从控制板B失败接管上述转换器以及与该转换器的下行端口连 接的设备后,将事先预留的资源分配给上述转换器以及与该转换器下行端口连 接的设备,使得被失败接管的设备具有相对足够的可操作的资源,能够在控制 板A的控制下正常工作,通过直接接管设备的方式实现双控,可以相对提高设 备请求的处理响应速度。
实施例三、
为便于理解,本实施以控制板A在系统稳定运行后的任意时刻,为当前由 控制板B控制的带有NT桥的转换器以及连接到该转换器的下行端口的设备预 留资源,在接管上述转换器以及连接到该转换器的下行端口的设备后,为被接 管的设备分配预留的资源为例,进行具体说明。
一种设备接管方法,流程图可如图4所示,该方法可以包括 步骤401、在控制板A的操作系统启动时,控制板A对其PC正总线的各 条支路进行拓朴发现,为拓朴发现到的端点设备和不带有NT桥的转换器分配地址空间资源和/或总线资源。
在一种应用场景下,在控制板A的操作系统启动时,控制板A的系统内核 可以按照深度遍历的方式依次对PCIE总线的所有支路进行拓朴发现。
具体的,控制板A可以根据PCIE总线下的各个设备自身携带的类型标识判 断出该设备的类型以及资源需求,从而可以根据不同类型设备的资源需求为其 分配总线资源和/或地址空间资源。
其中,由于NT桥的属性特点,在拓朴发现PCIE总线时,控制板A若拓朴 发现到NT桥,并不能对该NT桥所在的转换器以及连接到该转换器下行端口的 设备进行进一步的拓朴发现,故而直接跳过对NT桥所在的转换器以及连接到 该转换器下行端口的设备进行拓朴发现。
举例来说,当控制板A拓朴发现到端点设备时,可以根据该端点设备的资 源需求为该端点设备分配地址空间资源;在拓朴发现到不带有NT桥的转换器 时,可以先为该转换器分配一条总线资源,然后继续拓朴该总线下的设备;在 拓朴发现到NT桥时,可以记录该NT桥的位置,并停止拓朴发现该NT桥所在转 换器以及该转换器下面连接的设备,且暂不为其分配资源,以此类推,直至完 成PCIE总线全部支路的拓朴发现。
步骤402、在操作系统稳定运行中,控制板A重新拓朴发现PCIE总线中NT 桥所在的支路。
在一种应用场景下,控制板A可以在操作系统稳定运行后的任意时刻,按 照深度遍历的方式对PCIE总线中NT桥所在的支路重新进行拓朴发现,为该条 支路的设备预留资源或重新分配资源。
步骤403、控制板A在拓朴发现到带有NT桥时,按照设定的资源预留策略 为当前由控制板B控制的上述NT桥所在的转换器以及连接到该转换器的下行 端口的设备预留资源。
具体的,在控制板A重新拓朴发现NT桥所在的支路过程中,在拓朴发现到 端点设备时,可以根据该端点设备的资源需求重新为该端点设备分配地址空间 资源,在拓朴发现到不带有NT桥的转换器时,可以重新为该转换器分配一条 总线资源,然后继续拓朴发现该总线下的设备;在拓朴发现到NT桥时,可以 按照设定的资源预留策略为NT桥所在的转换器以及连接到该转换器的下行端口的设备预留总线资源和/或地址空间资源等,以此类推,直至完成上述对NT 桥所在的支路的拓朴发现。
其中,上述设定的资源预留策略可以包括事先设定的在不同场景下为NT 桥所在的转换器以及连接到该转换器的下行端口的设备预留资源的数量,具体 可以根据应用场景的不同来设定需要预留的资源数量。
可以理解的是,控制板A在系统启动时,可能拓朴发现到一个或多个NT 桥,且上述一个或多个NT桥所在的转换器以及连接到该转换器下行端口的设 备当前可能由其它的l个或多个控制板实际控制,在系统稳定运行后的任意时 刻,控制板A可以重新拓朴发现PCIE总线中每个NT桥所在的支路,并为拓朴 发现到的每个NT桥所在的转换器以及连接到该转换器下行端口的设备预留资 源,为拓朴发现到的其它设备重新分配资源。本实施例以控制板A在系统启动 时只拓朴发现到1个NT桥,且该NT桥所在的转换器当前由控制板B控制为例, 进行具体说明。
步骤404、在控制板B出现故障时,控制板A从控制板B失败接管上述转换 器以及连接到该转换器的下行端口的设备,将预留的资源分配给上述转换器以 及连接到该转换器下行端口的设备。
在一种应用场景下,当控制板B出现故障时,控制板A可以将上述转换器 与控制板B连接的up端口转换为NT桥,将上述转换器与控制板A连接的NT桥转 换为up端口 ,进而从控制板B失败接管上述转换器以及连接到该转换器下行端 口的设备。同时,控制板A可以按照深度遍历的方式对上述转换器以及连接到 该转换器的下行端口的设备进行拓朴发现,才艮据上述转换器的总线资源需求以 及连接到该转换器的下行端口的设备的总线资源和/或地址空间资源需求,将 事先预留的部分或全部总线资源分配给上述转换器的上行端口和下行端口 ,将 事先预留的部分或全部总线资源和/或地址空间资源分配给连接到该转换器的 下行端口的设备,使得该转换器以及该转换器的下行端口的设备可以在控制板 A的控制下继续正常工作。
可以看出,由于被控制板A的接管上述转换器以及连接到该转换器下行端 口的设备分配到了足够的可操作资源,因而可以在控制板A的控制下正常的工 作,成功实现控制板B和控制板A对上述转换器以及连接到该转换器下行端口的设备的双控。
可以理解的是,若控制板A拓朴发现到多个NT桥,且上述多个NT桥所在 的转换器当前由其它1个或多个控制板控制的情况,对于每个NT桥所在的转换 器以及连接到该转换器下行端口的设备,控制板A均可采用上述方式进行设备 接管和预留资源的分配,此处不再赘述。
可以理解,本实施是以控制板A事先为控制板B控制的NT桥所在的转换器 以及连接到该转换器的下行端口的设备预留资源;当控制板B故障时,控制板 A从控制板B接管上述转换器以及连接到该转换器的下行端口的设备,并其分 配预留的资源为例进行说明的,当然,控制板B也可以事先为控制板A控制的 NT桥所在的转换器以及连接到该转换器的下行端口的设备预留资源;当控制 板A故障时,控制板B从控制板A接管上述转换器以及连接到该转换器的下行端 口的设备,并其分配预留的资源,控制板B实现设备4^管的过程可以与控制板 A的实现过程相同,此处不再赘述。
为更好的理解本实施例的技术方案,下面通过具体的实例对本实施例的技 术方案做进一步详细的描述。
请参见图5-a、 5-b和5-c,以控制板510为上述的控制板A,控制板520为上 述的控制板B为例。如图所示,控制板510包括转换器511、转换器512和转 换器513。控制板520包括转换器521、转换器522和转换器523。
其中,转换器511的down端口5111和转换器512连接,down端口5112和转 换器513连接。转换器512的NT桥端口和转换器522的一个down端口连接;转换 器523的端口 5231和转换器513的1个down端口连接。
在控制板510的操作系统启动时,控制板510的系统内核可以按照深度遍历 的方式拓朴发现PC正总线下的全部支路,为拓朴发现到的端点设备和不带有 NT桥的转换器分配地址空间资源和/或总线资源。
如图5-a所示,转换器523的端口 5231当前为NT桥,端口 5232当前为up端口 。 在操作系统启动时,控制板510为转换器511的up端口分配0号总线资源、down 端口5111分配1号总线资源、down端口5112分配了6号总线资源;为转换器512 的up端口和down端口分配2、 3、 4、 5号总线资源;为端点i殳备531分配lM (0x00000000 0x000fffff )的地址空间资源、为端点设备532分配2M(0x00100000 0x002fffff)的地址空间资源;为转换器513的up端口和down端 口分配7、 8、 9、 10号总线,为端点设备533分配2M (0x00e00000 0x00fffiff) 的地址空间资源,为端点设备534分配2M ( 0x01000000~0x011 fffff)的地址空 间资源;转换器523以及端点设备543和544暂不分配资源。
上述系统启动时进行的拓朴发现完成后,转换器511的端口5111允许控制 的总线号范围是1~5号,允许的地址空间范围是0x00000000~ 0x002fffff
(3M);端口5112允许控制的总线号范围是6~10号,允许地址空间范围是 0x00e00000 0x011fffff (4M )。
如图5-b所示,在操作系统稳定运行后的任意时刻,控制板510重新拓朴发 现NT桥所在的支路,从NT桥所在的支路的顶端(0号总线)开始向下重新拓 朴发现,为连接到O号总线以下支路的设备预留和重新分配资源。
举例来说,若此前的地址空间资源分配到了0x01ffffif,总线号分配到了30 号,则控制板510可以重新为转换器511的down端口5112分配31号总线;重新 为转换器513的up端口和3个down端口分配32、 33、 37、 38号总线;为转换器 523预留34 、 35和36号总线,为端点设备543和544预留6M
(0x02000000 0x025fffff)的地址空间资源;为端点设备533重新分配2M
(0x02600000 0x027ffiff)的地址空间资源,为端点设备534重新分配2M
(0x02800000 0x029ffiff)的地址空间资源。
上述重新进行的拓朴发现完成后,转换器511的端口5111允许控制的总线 号范围是1-5,允许的地址空间范围是0x00000000 0x002fffff ( 3M);端 口5112允许控制的总线号范围是31-38,允许地址空间范围是0x02000000-0x029fffff ( 10M )。
如图5-c所示,当控制板520出现故障或其它原因时,控制板510从控制板 520接管转换器523以及端点设备543和端点设备544,将转换器523的端口 5232 转换设置为NT桥,将端口 5231转换设置为up端口 。
控制板510可以按照深度遍历的方式,对33号总线下的设备进行拓朴发现, 根据转换器523以及端点设备543和端点设备544的资源需求,将预留的34、 35 和36号总线资源分配给转换器523的l个up端口和2个down端口 ,将预留的6M (0x02000000 0x025fffff)地址空间资源分配给端点设备543和544,例如,可以为端点设备543分配3M (0x02000000 0x022ffiff)、为端点设备544分配3M (0x02300000 0x025離)。
此时,对于控制板510来说,转换器523以及端点设备543和端点设备544 具有相对足够的可操作资源,控制板510能够控制其正常的工作,控制板510 和控制板520利用NT桥,实现了对转换器523以及端点设备543和端点设备544 的双控,进而相对提高了系统抗故障能力。
可以理解的是,控制板520也可以4姿照上述方式为对PCIE总线进行拓朴发 现,并为控制板510的NT桥所在的转换器512以及连接到该转换器下行端口的 端点设备531和端点设备532预留资源,当控制板510故障时,控制板520也可以 按照上述方式接管转换器512以及端点设备531和端点设备532,通过直接接管 转换器512以及端点设备531和端点设备532实现双控。
由上述技术方案可以看出,本实施例中控制板A在操作系统稳定运行的任 意时刻,为当前由控制板B控制的带有NT桥的转换器以及连接到该转换器的下 行端口的设备预留资源,在从控制板B失败接管上述转换器以及与该转换器的 下行端口连接的设备后,将事先预留的资源分配给上述转换器以及与该转换器 下行端口连接的设备,使得被失败接管的设备具有相对足够的可操作的资源, 能够在控制板A的控制下正常工作,通过直接接管设备的方式实现双控,可以 相对提高设备请求的处理响应速度。
为便于更好的实施本发明上述实施例的技术方案,本发明实施例中还提供 一种设备接管装置。
实施例四
请参见图6,本发明实施例四的一种设备接管装置600可以包^:拓朴发现 模块610、资源预留模块620和接管模块630。
其中,拓朴发现模块610,用于对PCIE总线进行拓朴发现;
资源预留模块620,用于在拓朴发现模块610拓朴发现到NT桥时,按照设 定的资源预留策略为该NT桥所在的转换器以及连接到该转换器的下行端口的 设备预留资源,上述NT桥所在的转换器以及连接到该转换器的下行端口的设 备当前由第二控制板控制;
在具体应用时,上述设定的资源预留策略可以是事先设定的在不同场景下为NT桥所在的转换器以及连接到该转换器的下行端口的设备预留资源的多 少。举例来说,若带有NT桥的转换器下行端口通常连接网卡设备,则可以根 据网卡设备地址空间资源的需求,设定预留地址空间资源的数量,尽量为该网 卡设备预留足够的地址空间资源,以此类推。
接管模块630,用于在第二控制板出现故障时,从第二控制板失败接管上 述转换器以及连接到该转换器下行端口的设备,将资源预留模块620预留的资 源分配给上述转换器以及连接到该转换器下行端口的设备,使上述转换器以及 连接到该转换器的下行端口的设备在设备接管装置600控制下工作。
在一种应用场景下,拓朴发现模块610具体可以用于,在系统启动时,对 PCIE总线的全部支路进行拓朴发现。
在一种应用场景下,拓朴发现模块610具体可以用于,在系统运行过程中, 对PCIE总线中NT桥所在的支路进行拓朴发现。
在一种应用场景下,资源预留模块620具体可以用于,在拓朴发现模块610 拓朴发现到NT桥时,按照设定的资源预留策略为当前由第二控制板控制的上 述NT桥所在的转换器预留总线资源以及为连接到该转换器的下行端口的设备 预留总线资源和/或地址空间资源。
在一种应用场景下,接管模块630可以包括
接管子模块,用于在第二控制板出现故障时,从第二控制板接管上述转换 器以及连接到该转换器的下行端口的设备。
资源分配子模块,用于将资源预留模块620为上述转换器预留的总线资源 分配给上述转换器的上行端口和下行端口 ,将资源预留模块620为连接到上述 转换器的下行端口的设备预留的总线资源和/或地址空间资源分配给连接到上 述转换器的下行端口的设备。
在具体应用中,在第二控制板出现故障时,接管子模块可以将上述转换器
的NT桥转换设置为up端口 ,进而接管上述转换器以及连接到该转换器的下行 端口的设备,其中,连接到上述转换器下行端口的设备可以包括端点设备和/ 或桥设备。
换器的下行端口的设备进行拓朴发现,根据上述转换器以及连接到该转换器的下行端口的设备所需的总线资源和/或地址空间资源等,将资源预留模块620预
留的资源分配给上述转换器以及连接到该转换器的下行端口的设备。
举例来说,若资源预留模块620事先预留了 3条总线资源和6M地址空间资 源,失败接管子模块从第二控制板接管的转换器当前包括l个up端口和2个 down端口 , 2个down端口连接了两个分别需要2M地址空间的端点设备,则资 源分配子模块可以将资源预留模块620事先预留的3条总线资源分别分配给上 述转换器的l个up端口和2个down端口 ,将资源预留模块620事先预留的6M地址 空间资源平均或非平均的分配给连接到上述转换器的down端口的两个端点设 备。
可以理解是的,本实施例的设备接管装置600可以设置于如实施例二或三 的控制板A或其它设备中,其各个功能模块的功能可以根据实施例二或三中的 方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘 述。
由上述技术方案可以看出,本实施例中,设备接管装置事先为第二控制板 控制的带有NT桥的转换器以及连接到该转换器的下行端口的设备预留资源, 在从第二控制板失败接管上述转换器以及与该转换器的下行端口连接的设备 后,将事先预留的资源分配给上述转换器以及与该转换器下行端口连接的设 备,使得被失败接管的设备具有相对足够的可操作的资源,能够在上述装置的 控制下正常工作,通过直接接管设备的方式实现双控,可以相对提高设备请求 的处理响应速度。
为便于更好的实施本发明上述实施例的技术方案,本发明实施例中还提供 一种双控系统。
实施例五
请参见图7,本发明实施例五的 一种双控系统可以包括第 一控制^反710 和第二控制板720。
其中,第一控制板710,用于对PCIE总线进行拓朴发现;用于在拓朴发现 到NT桥时,按照设定的资源预留策略为该NT桥所在的转换器以及连接到该转 换器的下行端口的设备预留资源,上述NT桥所在的转换器以及连接到该转换 器的下行端口的设备当前由第二控制板控制;在第二控制板720出现故障时,从第二控制板720接管上述转换器以及连接到该转换器下行端口的设备,将上 述预留的资源分配给上述转换器以及连接到该转换器下行端口的设备,使上述
转换器以及连接到该转换器的下行端口的设备在第 一控制板710的控制下工作。
此外,第二控制板720也可以对PCIE总线进行拓朴发现;用于在拓朴发现 到NT桥时,按照设定的资源预留策略为当前由第一控制板710控制的上述NT 桥所在的转换器以及连接到该转换器的下行端口的设备预留资源;在第一控制 板710出现故障时,从第一控制板710接管上述转换器以及连接到该转换器下行 端口的设备,将上述预留的资源分配给该转换器以及连接到该转换器下行端口 的设备,使上述转换器以及连接到该转换器的下行端口的设备在第二控制板 720的控制下工作。
可以理解是的,本实施例双控系统的第一控制板710可以包括如实施例四 中的设备接管的装置600,双控系统的各个实体的功能可以根据实施例二或三 中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不 再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没 有详述的部分,可以参见其他实施例的相关描述。
综上所述,本发明实施例中,第一控制板事先为第二控制板控制的带有 NT桥的转换器以及连接到该转换器的下行端口的设备预留资源,在从第二控 制板接管上述转换器以及与该转换器的下行端口连接的设备后,将事先预留的 资源分配给上述转换器以及与该转换器下行端口连接的设备,使被接管设备具 有相对足够的可操作的资源,能够在第一控制板的控制下正常工作,通过直接 接管设备的方式实现双控,可以相对提高设备请求的处理响应速度。
是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算积j 可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。 其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory, ROM)或随机存储记忆体(Random Access Memory, RAM)等。
以上对本发明实施例所提供的一种设备接管方法和装置及双控系统进行以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于 本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均 会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1、一种设备接管方法,其特征在于,包括第一控制板对快速外设组件互联PCIE总线进行拓扑发现;在拓扑发现到非透明NT桥时,按照设定的资源预留策略为所述NT桥所在的转换器以及连接到该转换器的下行端口的设备预留资源,所述NT桥所在的转换器以及连接到该转换器的下行端口的设备当前由第二控制板控制;在第二控制板出现故障时,从第二控制板接管所述转换器以及连接到该转换器的下行端口的设备,将所述预留的资源分配给所述转换器以及连接到该转换器的下行端口的设备,使所述转换器以及连接到该转换器的下行端口的设备在第一控制板的控制下工作。
2、 根据权利要求l所述方法,其特征在于,所述对快速外设组件互联PCIE 总线进行拓朴发现,包括在系统启动时,对PCIE总线的全部支路进行拓朴发现;或 在系统运行过程中,对PCIE总线中NT桥所在的支路进行拓朴发现。
3、 根据权利要求1或2所述方法,其特征在于,所述按照设定的资源预留 策略为所述NT桥所在的转换器以及连接到该转换器的下行端口的设备预留资 源,包括按照设定的资源预留策略,为当前由第二控制板控制的所述NT桥所在的 转换器预留总线资源,以及为连接到所述转换器的下行端口的设备预留总线资 源和/或:l也址空间资源。
4、 根据权利要求1或2所述方法,其特征在于,所述将预留的资源分配给 所述转换器以及连接到该转换器下行端口的设备,包括将为所述转换器预留的总线资源分配给所述转换器的上行端口和下行端 口 ,将为连接到所述转换器的下行端口的设备预留的总线资源和/或地址空间 资源分配给连接到所述转换器下行端口的设备。
5、 一种设备接管装置,其特征在于,包括 拓朴发现^t块,用于对PCIE总线进行拓朴发现;资源预留模块,用于在所述拓朴发现模块拓朴发现到NT桥时,按照设定 的资源预留策略为所述NT桥所在的转换器以及连接到该转换器的下行端口的 设备预留资源,所述NT桥所在的转换器以及连接到该转换器的下行端口的设备当前由第二控制板控制;接管模块,用于在第二控制板出现故障时,从第二控制板接管所述转换器 以及连接到该转换器下行端口的设备,将所述资源预留模块预留的资源分配给 所述转换器以及连接到该转换器下行端口的设备,使所述转换器以及连接到该 转换器的下行端口的设备在所述设备接管装置的控制下工作。
6、 根据权利要求5所述装置,其特征在于,所述拓朴发现模块用于在系统 启动时,对PCIE总线的全部支路进行拓朴发现。
7、 根据权利要求5所述装置,其特征在于,所述拓朴发现模块还用于在系 统运行过程中,对PCIE总线中NT桥所在的支路进行拓朴发现。
8、 根据权利要求5-7任一项所述装置,其特征在于, 所述资源预留模块用于在所述拓朴发现模块拓朴发现到NT桥时,按照设定的资源预留策略为所述NT桥所在的转换器预留总线资源以及为连接到该转 换器的下行端口的设备预留总线资源和/或地址空间资源。
9、 根据权利要求8所述装置,其特征在于,所述接管模块包括 接管子模块,用于在第二控制板出现故障时,从第二控制板接管所述转换器以及连接到该转换器的下行端口的设备;资源分配子模块,用于将所述资源预留模块为所述转换器预留的总线资源 分配给所述转换器的上行端口和下行端口 ,将所述资源预留;漠块为连4^到所述 转换器的下行端口的设备预留的总线资源和/或地址空间资源分配给连接到所 述转换器的下行端口的设备。
10、 一种双控系统,其特征在于,包括第一控制板和第二控制板,其中,第一控制板,用于对PCIE总线进行拓朴发现;在拓朴发现到NT桥 时,按照设定的资源预留策略为所述NT桥所在的转换器以及连接到该转换器 的下行端口的设备预留资源,所述NT桥所在的转换器以及连接到该转换器的 下行端口的设备当前由第二控制板控制;在第二控制板出现故障时,从第二控 制板接管所述转换器以及连接到该转换器下行端口的设备,将所述预留的资源 分配给所述转换器以及连接到该转换器下行端口的设备,使所述转换器以及连 接到该转换器的下行端口的设备在第一控制板的控制下工作。
全文摘要
本发明实施例公开了一种设备接管方法和装置及双控系统。本发明实施例的方案中,第一控制板事先为当前由第二控制板控制的带有NT桥的转换器以及连接到该转换器的下行端口的设备预留了资源,使得在从第二控制板接管上述转换器以及与该转换器的下行端口连接的设备后,可以将事先预留的资源分配给上述转换器以及与该转换器下行端口连接的设备,使被接管的设备具有相对足够的可操作资源,能够在第一控制板的控制下正常工作,通过直接接管设备的方式实现双控,可以相对提高设备请求的处理响应速度。
文档编号H04L12/56GK101631083SQ200910161060
公开日2010年1月20日 申请日期2009年8月7日 优先权日2009年8月7日
发明者王学友 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1