一种设备迁移的方法及资源管理中心
技术领域
本发明涉及计算机技术领域,尤其涉及一种设备迁移的方法及资源管理中心。
背景技术
随着计算机技术的发展,多核CPU(Central Processing Unit,中央处理器)、并行计算以及分布式系统等新型技术逐渐应用于计算机,产生了一系列的新架构计算机,如众核计算机,众核计算机内CPU的core数超过16个,甚至超过1000个。众核解耦架构是指将计算机中的硬件分离,形成多个管理独立的硬件模块,各个硬件模块之间通过高速互联网络连接,并由高速互联网络中的云控制芯片控制,这些硬件模块只负责执行各自的工作,优点在于提高了计算机的工作并行性和数据吞吐量。
其中,众核解耦架构计算机的硬件可以分为计算资源池、内存池、IO设备池、资源管理中心以及连接网络。计算机资源池是由多个多核CPU组成的CPU板,其总核数可达上千个,多个核可以组合运行在一个操作系统(OS,Operating System)上;内存池是由多个内存条组成的内存板,其存储总容量可达T、P量级,内存可以分配给多个操作系统使用;IO设备池是由多个IO设备组成的设备板,IO设备包括磁盘、网卡、显卡等,可通过操作系统控制;资源管理中心,用于通过云控制芯片对计算机资源池、内存池和IO设备池进行调度和分配,以形成至少一个硬件模块,例如:将2个指定的核、1G的内存和1个指定的网卡组成一个运行操作系统OS1的硬件模块。
众核解耦架构计算机可以同时运行多个操作系统,由于不同的操作系统之间存在逻辑上的隔离,故操作系统不能访问未分配的其它IO设备。进一步地,如果新的操作系统想要访问原有的操作系统下的IO设备,则需要在资源管理中心的调度下,将该IO设备从原有的操作系统上移除,再添加到新的操作系统上。例如,假设计算机同时运行OS1和OS2两个操作系统,IO设备A被分配在OS1下,OS2想要使用IO设备A,此时设备迁移过程如下:(1)OS2向资源管理中心提出请求,要求将网卡A分配给OS2使用;(2)资源管理中心根据预设的迁移决策机制判断是否可以迁移设备;(3)若可以,资源管理中心向OS1提出网卡A移除请求,以从运行OS1的CPU上热拔出网卡A;(4)资源管理中心更新网卡A的使用状态,将网卡A放入IO设备资源池的空闲池;(5)资源管理中心将网卡A从空闲池中取出,分配给OS2,更新网卡A的使用状态;(6)资源管理中心向OS2发出通道建立请求,以将网卡A热插入运行OS2的CPU;(7)OS2使用网卡A。可见,现有的设备迁移过程需要资源管理中心提出多次请求,步骤繁多,尤其是迁移的IO设备有多个时,需要重复多次,导致复杂度高和效率低。并且迁移的IO设备有多个时,现有的迁移过程没有保持原有的连接结构,必须重新连接,造成了不必要的开销。
发明内容
本发明实施例提供了一种设备迁移的方法及资源管理中心,可以实现在众核解耦架构计算机下,当两个操作系统之间有多个设备需要迁移时,保持这多个设备的连接结构,以设备组的形式进行迁移,从而降低复杂度、提高效率以及减小开销。
本发明实施例第一方面提供了一种设备迁移的方法,所述方法应用于众核解耦架构计算机,所述众核解耦架构计算机包括多个多核中央处理器CPU、多个内存条、多个IO设备以及资源管理中心,所述方法包括:
资源管理中心获取第一操作系统提出的使用目标设备组的请求,所述第一操作系统运行在第一CPU组,所述第一CPU组包括至少一个所述多核CPU,所述目标设备组由至少一个所述内存条和/或至少一个所述IO设备组成,所述目标设备组被第二操作系统使用,所述第二操作系统运行在第二CPU组,所述第二CPU组包括至少一个所述多核CPU;
资源管理中心保持所述目标设备组的内部连接结构,从所述第二CPU组的通道接口上热拔出所述目标设备组;
资源管理中心将所述目标设备组热插入所述第一CPU组的通道接口,以使所述第一操作系统使用所述目标设备组。
在第一方面的第一种可能实现方式中,所述资源管理中心保持所述目标设备组的内部连接结构,从所述第二CPU组的通道接口上热拔出所述目标设备组之前,还包括:
资源管理中心根据预设的迁移决策机制,确定当前可从所述第二CPU组的通道接口上热拔出所述目标设备组。
结合第一方面的可能实现方式,在第二种可能实现方式中,所述资源管理中心保持所述目标设备组的内部连接结构,从所述第二CPU组的通道接口上热拔出所述目标设备组,包括:
资源管理中心向所述第二操作系统发送移除所述目标设备组的指示消息,以使所述第二操作系统根据所述指示消息触发所述目标设备组从所述第二CPU的通道接口上热拔出。
结合第一方面的可能实现方式,在第三种可能实现方式中,所述资源管理中心将所述目标设备组热插入所述第二CPU组的通道接口,包括:
资源管理中心获取所述第二操作系统的设备树文件DTS,所述DTS用于描述CPU、内存条和IO设备的连接;
资源管理中心获取所述第二操作系统的DTS中描述所述目标设备组的内部连接的文本;
资源管理中心将所述文本增添到所述第一操作系统的DTS中,增添后的第一操作系统的DTS描述有所述第一CPU组与所述目标设备组的连接;
资源管理中心将所述增添后的第一操作系统的DTS发送到云控制芯片,以使所述云控制芯片根据所述增添后的第二操作系统的DTS,将所述目标设备组热插入所述第二CPU组的通道接口。
结合第一方面以及第一方面的第三种可能实现方式,在第四种可能实现方式中,所述资源管理中心获取所述第二操作系统的DTS中描述所述目标设备组的内部连接的文本之后,还包括:
资源管理中心从所述第二操作系统的DTS中移除描述所述目标设备组的文本。
本发明实施例第二方面提供了一种资源管理中心,所述资源管理中心应用于众核解耦架构计算机,包括:
请求获取模块,用于获取第一操作系统提出的使用目标设备组的请求,所述第一操作系统运行在第一CPU组,所述第一CPU组包括至少一个多核CPU,所述目标设备组由至少一个内存条和/或至少一个IO设备组成,所述目标设备组被第二操作系统使用,所述第二操作系统运行在第二CPU组,所述第二CPU组包括至少一个多核CPU;
热拔出模块,用于保持所述目标设备组的内部连接结构,从所述第二CPU组的通道接口上热拔出所述目标设备组;
热插入模块,用于将所述目标设备组热插入所述第一CPU组的通道接口,以使所述第一操作系统使用所述目标设备组。
在第一方面的第一种可能实现方式中,所述资源管理中心还包括:
迁移确定模块,用于根据预设的迁移决策机制,确定当前可从所述第二CPU组的通道接口上热拔出所述目标设备组。
结合第一方面的可能实现方式,在第二种可能实现方式中,所述热拔出模块,具体用于向所述第二操作系统发送移除所述目标设备组的指示消息,以使所述第二操作系统根据所述指示消息触发所述目标设备组从所述第二CPU的通道接口上热拔出。
结合第一方面的可能实现方式,在第三种可能实现方式中,所述热插入模块包括:
DTS获取单元,用于获取所述第二操作系统的设备树文件DTS,所述DTS用于描述CPU、内存条和IO设备的连接;
文本获取单元,用于获取所述第二操作系统的DTS中描述所述目标设备组的内部连接的文本;
文本增添单元,用于将所述文本增添到所述第一操作系统的DTS中,增添后的第一操作系统的DTS描述有所述第一CPU组与所述目标设备组的连接;
DTS发送单元,用于将所述增添后的第一操作系统的DTS发送到云控制芯片,以使所述云控制芯片根据所述增添后的第二操作系统的DTS,将所述目标设备组热插入所述第二CPU组的通道接口。
结合第一方面以及第一方面的第三种可能实现方式,在第四种可能实现方式中,所述热插入模块还包括:
文本移除单元,用于从所述第二操作系统的DTS中移除描述所述目标设备组的文本。
由上可见,本发明实施例中的资源管理中心,在获取第一操作系统提出的使用目标设备组的请求后,保持目标设备组的内部连接结构,从第二CPU组的通道接口上热拔出目标设备组,再将目标设备组热插入第一CPU组的通道接口,以使第一操作系统可以使用目标设备组,实现在两个操作系统之间的设备迁移,由于本发明实施例是以组的形式进行迁移,不会改变目标设备组原有的内部连接,从而避免依次迁移目标设备组内的各个设备,降低了复杂度、提高了效率以及减小了开销,并且使用的热插拔技术不会影响其它设备的正常使用。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种设备迁移的方法的流程示意图;
图2是本发明实施例提供的另一种设备迁移的方法的流程示意图;
图3是本发明实施例提供的一种资源管理中心的结构示意图;
图4是本发明实施例提供的一种热插入模块的结构示意图;
图5是本发明实施例提供的一种众核解耦架构计算机的结构示意图;
图6是本发明实施例提供的一种设备迁移应用场景的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解,本发明实施例先简单介绍下以下几点:
一、众核解耦架构计算机。众核解耦架构是指将计算机中的硬件分离,形成多个管理独立的硬件模块,各个硬件模块之间通过高速互联网络连接,并由高速互联网络中的云控制芯片控制,这些硬件模块只负责执行各自的工作,优点在于提高了计算机的工作并行性和数据吞吐量。请参阅图5,如图所示的众核解耦架构计算机的硬件可以分为计算资源池、内存池、IO设备池、资源管理中心以及连接网络。其中:
●计算资源池:CPU板上接入多个多核CPU,其总核数可达上千个,这些CPU资源由资源管理中心调度分配。多个核可以组合运行在某个操作系统(OS,Operating System)上。
●内存池:内存板上插入多个内存条,形成一段巨大容量(T、P量级)的内存空间,内存可以按地址分给上层的操作系统使用。
●IO设备池:设备板上接入多个IO设备,IO设备包括磁盘、网卡、显卡等。待资源管理中心将某个IO设备分配给具体的操作系统后,该操作系统便可以使用该IO设备。
●资源管理中心:可以通过云控制芯片对计算机资源池、内存池和IO设备池进行调度和分配,以形成至少一个硬件模块,例如:将2个指定的核、1G的内存和1个指定的网卡组成一个运行操作系统OS1的硬件模块。
多核解耦架构计算机上运行的操作系统不同于传统单机上的操作系统,而是类似于分布式管理系统。即将多核解耦架构计算机上的各个池中选取合适的组件,组合成一个可以运行操作系统的硬件环境,并且相互间实行逻辑上的隔离,这样就可以运行具有多个操作系统的分布式集群系统。需要指出的是,在已经运行的操作系统上添加和删除设备板上的设备时,会使用热插拔的技术。另外,现有操作系统已兼容热插拔技术,故可以不用修改现有的操作系统代码。
二、设备树文件DTS。设备树(Device Tree)是一种描述硬件的数据结构,由一系列被命名的结点(node)和节点对应的属性(property)组成,而结点本身可包含子结点。所述属性包括成对出现的名(name)和值(value)。设备树中可描述的信息包括:CPU的数量和类别、内存的基地址和大小、总线和桥、外设连接、中断控制器和中断使用情况、GPIO控制器和GPIO使用情况、Clock控制器和Clock使用情况等。总的来说,设备树描述了一个由CPU、内存条、IO设备、连接线构成的树型结构,以及该树形结构上各个节点的设备信息。进一步地,设备树的文本表现形式为设备树文件DTS。
三、本发明实施例的应用场景。请参阅图6,如图所示的应用场景下,存在两个操作系统OS1和OS2,OS1运行于由CPU5和CPU6构成的第一CPU组,OS2运行于由CPU1、CPU2、CPU3和CPU4构成的第二CPU组。OS1想要使用OS2下的网卡1、内存1和显卡1,本发明实施例将这三个设备归为一组,定义为目标设备组。需要指出的是,通过现有的迁移过程,只能依次迁移网卡1、内存1和显卡1,不能保持它们整体的连接结构,导致复杂度高和效率低,并造成了不必要的开销。
图1是本发明实施例中一种设备迁移的方法的流程示意图,该方法应用于众核解耦架构计算机,众核解耦架构计算机包括多个多核中央处理器CPU、多个内存条、多个IO设备以及资源管理中心。如图所示本实施例中的设备迁移的方法的流程可以包括:
S101,资源管理中心获取第一操作系统提出的使用目标设备组的请求。
其中,第一操作系统(以下简称为“OS1”)运行在第一CPU组,第一CPU组包括至少一个多核CPU,目标设备组被第二操作系统(以下简称为“OS2”)使用,第二操作系统运行在第二CPU组,第二CPU组包括至少一个多核CPU。进一步地,目标设备组被OS2使用是指,目标设备有且仅与运行OS2的第二CPU组的通道接口连接,故运行OS1的第一CPU组不能与目标设备交互,OS1不能使用目标设备组。
本发明实施例中,目标设备组由至少一个内存条和/或至少一个IO设备组成,这些设备具备一定的连接结构。例如,请参阅图6,如图所示的目标设备组包括网卡1、内存1和显卡1,其中网卡1、内存1和显卡1之间具备树形的连接结构。
具体地,当OS1需要使用目标设备组时,OS1会向资源管理中心发出使用目标设备组的请求,资源管理中心获取该请求。
S102,资源管理中心保持所述目标设备组的内部连接结构,从所述第二CPU组的通道接口上热拔出所述目标设备组。
其中,所述热拔出是指允许不关闭操作系统、不断电的情况下拔出设备,因而不会影响其它设备的正常使用。
可选地,资源管理中心根据预设的迁移决策机制,先确定当前可从第二CPU组的通道接口上热拔出目标设备组。所述迁移决策机制可以根据设备状态、操作系统状态或优先级状态等因素预先设定,这里不作限定,例如:若当前目标设备组处于空闲状态,或OS2当前未使用目标设备组,或OS1当前所执行任务的优先级高于OS2,则资源管理中心确定当前可以热拔出目标设备组。
又可选地,资源管理中心“保持目标设备组的内部连接结构,从第二CPU组的通道接口上热拔出目标设备组”的具体操作为:向OS2发送移除目标设备组的指示消息,以使OS2根据指示消息触发目标设备组从第二CPU的通道接口上热拔出,拔出的目标设备组的内部连接结构不发生变化。
S103,资源管理中心将所述目标设备组热插入所述第一CPU组的通道接口,以使所述第一操作系统使用所述目标设备组。
可选地,资源管理中心“保持目标设备组的内部连接结构,从第二CPU组的通道接口上热拔出目标设备组”的具体操作为:
步骤1,资源管理中心获取第二操作系统的设备树文件DTS,所述DTS用于描述CPU、内存条和IO设备的连接。
上文已经介绍过什么是DTS,这里不再赘述。其中,OS2的DTS通过文本描述了OS2下CPU、内存条和IO设备的连接结构。例如:如图6所示,OS2的DTS描述了左侧大圆圈内的所有树形连接,以及树形结构与第一CPU组的连接。
步骤2,资源管理中心获取第二操作系统的DTS中描述目标设备组的内部连接的文本。
例如:如图6所示,目标设备组的内部连接如左侧小圆圈内的树形连接所示,资源管理资源获取描述该树形连接的文本。
可选地,资源管理中心获取OS2的DTS中描述目标设备组的内部连接的文本之后,从OS2的DTS中移除描述目标设备组的文本,从而实现更新OS2的DTS,并对其保存。
步骤3、资源管理中心将文本增添到第一操作系统的DTS中,增添后的第一操作系统的DTS描述有第一CPU组与目标设备组的连接。
具体地,资源管理资源在OS1的DTS中找到可以接入的节点,将上述获取的文本的断点接入该节点,即增添后的OS1的DTS描述有第一CPU组与目标设备组的连接。
进一步地,资源管理中心将增添后的OS1的DTS更新为当前OS1的DTS,并对其保存。
步骤4、资源管理中心将增添后的第一操作系统的DTS发送到云控制芯片,以使云控制芯片根据增添后的第二操作系统的DTS,将目标设备组热插入第二CPU组的通道接口。
同理,所述热插入是指允许不关闭操作系统、不断电的情况下插入设备,因而也不会影响其它设备的正常使用。
最后,资源管理中心获取云控制模块返回的目标设备组迁移成功信息,此时OS2可以使用目标设备组。
由上可见,本发明实施例中的资源管理中心,在获取第一操作系统提出的使用目标设备组的请求后,保持目标设备组的内部连接结构,从第二CPU组的通道接口上热拔出目标设备组,再将目标设备组热插入第一CPU组的通道接口,以使第一操作系统可以使用目标设备组,实现在两个操作系统之间的设备迁移,由于本发明实施例是以组的形式进行迁移,不会改变目标设备组原有的内部连接,从而避免依次迁移目标设备组内的各个设备,降低了复杂度、提高了效率以及减小了开销,并且使用的热插拔技术不会影响其它设备的正常使用。
图2是本发明实施例中另一种设备迁移的方法的流程示意图,该方法应用于众核解耦架构计算机,众核解耦架构计算机包括多个多核中央处理器CPU、多个内存条、多个IO设备以及资源管理中心。如图所示本实施例中的设备迁移的方法的流程可以包括:
S201,资源管理中心获取第一操作系统提出的使用目标设备组的请求。
其中,第一操作系统(以下简称为“OS1”)运行在第一CPU组,第一CPU组包括至少一个多核CPU,目标设备组被第二操作系统(以下简称为“OS2”)使用,第二操作系统运行在第二CPU组,第二CPU组包括至少一个多核CPU。进一步地,目标设备组被OS2使用是指,目标设备有且仅与运行OS2的第二CPU组的通道接口连接,故运行OS1的第一CPU组不能与目标设备交互,OS1不能使用目标设备组。
本发明实施例中,目标设备组由至少一个内存条和/或至少一个IO设备组成,这些设备具备一定的连接结构。例如,请参阅图6,如图所示的目标设备组包括网卡1、内存1和显卡1,其中网卡1、内存1和显卡1之间具备树形的连接结构。
具体地,当OS1需要使用目标设备组时,OS1会向资源管理中心发出使用目标设备组的请求,资源管理中心获取该请求。
S202,资源管理中心根据预设的迁移决策机制,判断当前是否可从所述第二CPU组的通道接口上热拔出所述目标设备组。
其中,所述迁移决策机制可以根据设备状态、操作系统状态或优先级状态等因素预先设定,这里不作限定,例如:若当前目标设备组处于空闲状态,或OS2当前未使用目标设备组,或OS1当前所执行任务的优先级高于OS2,则资源管理中心确定当前可以热拔出目标设备组。
具体地,资源管理中心若判断当前可从第二CPU组的通道接口上热拔出目标设备组,则执行步骤S203,否则结束。
S203,资源管理中心向所述第二操作系统发送移除所述目标设备组的指示消息,以使所述第二操作系统根据所述指示消息触发所述目标设备组从所述第二CPU的通道接口上热拔出。
其中,所述热拔出是指允许不关闭操作系统、不断电的情况下拔出设备,因而不会影响其它设备的正常使用。
S204,资源管理中心获取所述第二操作系统的设备树文件DTS,所述DTS用于描述CPU、内存条和IO设备的连接。
上文已经介绍过什么是DTS,这里不再赘述。其中,OS2的DTS通过文本描述了OS2下CPU、内存条和IO设备的连接结构。例如:如图6所示,OS2的DTS描述了左侧大圆圈内的所有树形连接,以及树形结构与第一CPU组的连接。
S205,资源管理中心获取所述第二操作系统的DTS中描述所述目标设备组的内部连接的文本。
例如:如图6所示,目标设备组的内部连接如左侧小圆圈内的树形连接所示,资源管理资源获取描述该树形连接的文本。
可选地,资源管理中心获取OS2的DTS中描述目标设备组的内部连接的文本之后,从OS2的DTS中移除描述目标设备组的文本,从而实现更新OS2的DTS,并对其保存。
S206,资源管理中心将所述文本增添到所述第一操作系统的DTS中,增添后的第一操作系统的DTS描述有所述第一CPU组与所述目标设备组的连接。
具体地,资源管理资源在OS1的DTS中找到可以接入的节点,将上述获取的文本的断点接入该节点,即增添后的OS1的DTS描述有第一CPU组与目标设备组的连接。
进一步地,资源管理中心将增添后的OS1的DTS更新为当前OS1的DTS,并对其保存。
S207,资源管理中心将所述增添后的第一操作系统的DTS发送到云控制芯片,以使所述云控制芯片根据所述增添后的第二操作系统的DTS,将所述目标设备组热插入所述第二CPU组的通道接口。
同理,所述热插入是指允许不关闭操作系统、不断电的情况下插入设备,因而也不会影响其它设备的正常使用。
最后,资源管理中心获取云控制模块返回的目标设备组迁移成功信息,此时OS2可以使用目标设备组。
由上可见,本发明实施例中的资源管理中心,在获取第一操作系统提出的使用目标设备组的请求后,保持目标设备组的内部连接结构,从第二CPU组的通道接口上热拔出目标设备组,再将目标设备组热插入第一CPU组的通道接口,以使第一操作系统可以使用目标设备组,实现在两个操作系统之间的设备迁移,由于本发明实施例是以组的形式进行迁移,不会改变目标设备组原有的内部连接,从而避免依次迁移目标设备组内的各个设备,降低了复杂度、提高了效率以及减小了开销,并且使用的热插拔技术不会影响其它设备的正常使用。
图3是本发明实施例中一种资源管理中心的结构示意图,所述资源管理中心应用于众核解耦架构计算机。如图所示本发明实施例中的资源管理中心至少可以包括请求获取模块310、热拔出模块320以及热插入模块330,其中:
请求获取模块310,用于获取第一操作系统提出的使用目标设备组的请求。
其中,第一操作系统(以下简称为“OS1”)运行在第一CPU组,第一CPU组包括至少一个多核CPU,目标设备组被第二操作系统(以下简称为“OS2”)使用,第二操作系统运行在第二CPU组,第二CPU组包括至少一个多核CPU。进一步地,目标设备组被OS2使用是指,目标设备有且仅与运行OS2的第二CPU组的通道接口连接,故运行OS1的第一CPU组不能与目标设备交互,OS1不能使用目标设备组。
本发明实施例中,目标设备组由至少一个内存条和/或至少一个IO设备组成,这些设备具备一定的连接结构。例如,请参阅图6,如图所示的目标设备组包括网卡1、内存1和显卡1,其中网卡1、内存1和显卡1之间具备树形的连接结构。
具体地,当OS1需要使用目标设备组时,OS1会向资源管理中心发出使用目标设备组的请求,请求获取模块310获取该请求。
热拔出模块320,用于保持所述目标设备组的内部连接结构,从所述第二CPU组的通道接口上热拔出所述目标设备组。
其中,所述热拔出是指允许不关闭操作系统、不断电的情况下拔出设备,因而不会影响其它设备的正常使用。
可选地,热拔出模块320具体用于向OS2发送移除目标设备组的指示消息,以使OS2根据指示消息触发目标设备组从第二CPU的通道接口上热拔出,拔出的目标设备组的内部连接结构不发生变化。
热插入模块330,用于将所述目标设备组热插入所述第一CPU组的通道接口,以使所述第一操作系统使用所述目标设备组。具体实现中,热插入模块330可以如图4所示进一步包括DTS获取单元331、文本获取单元332、文本增添单元333以及DTS发送单元334,其中:
DTS获取单元331,用于获取所述第二操作系统的设备树文件DTS,所述DTS用于描述CPU、内存条和IO设备的连接。
上文已经介绍过什么是DTS,这里不再赘述。其中,OS2的DTS通过文本描述了OS2下CPU、内存条和IO设备的连接结构。例如:如图6所示,OS2的DTS描述了左侧大圆圈内的所有树形连接,以及树形结构与第一CPU组的连接。
文本获取单元332,用于获取所述第二操作系统的DTS中描述所述目标设备组的内部连接的文本。
例如:如图6所示,目标设备组的内部连接如左侧小圆圈内的树形连接所示,资源管理资源获取描述该树形连接的文本。
文本增添单元333,用于将所述文本增添到所述第一操作系统的DTS中,增添后的第一操作系统的DTS描述有所述第一CPU组与所述目标设备组的连接。
具体地,文本增添单元333在OS1的DTS中找到可以接入的节点,将上述获取的文本的断点接入该节点,即增添后的OS1的DTS描述有第一CPU组与目标设备组的连接。
进一步地,文本增添单元333将增添后的OS1的DTS更新为当前OS1的DTS,并对其保存。
DTS发送单元334,用于将所述增添后的第一操作系统的DTS发送到云控制芯片,以使所述云控制芯片根据所述增添后的第二操作系统的DTS,将所述目标设备组热插入所述第二CPU组的通道接口。
同理,所述热插入是指允许不关闭操作系统、不断电的情况下插入设备,因而也不会影响其它设备的正常使用。
可选地,如图4所示本发明实施例中的热插入模块330还可以包括文本移除单元335,用于从所述第二操作系统的DTS中移除描述所述目标设备组的文本。
具体地,文本移除单元335获取OS2的DTS中描述目标设备组的内部连接的文本之后,从OS2的DTS中移除描述目标设备组的文本,从而实现更新OS2的DTS,并对其保存。
进一步可选地,如图3所示本发明实施例中的资源管理中心还可以包括迁移确定模块340,用于根据预设的迁移决策机制,确定当前可从所述第二CPU组的通道接口上热拔出所述目标设备组。
所述迁移决策机制可以根据设备状态、操作系统状态或优先级状态等因素预先设定,这里不作限定,例如:若当前目标设备组处于空闲状态,或OS2当前未使用目标设备组,或OS1当前所执行任务的优先级高于OS2,则迁移确定模块340确定当前可以热拔出目标设备组。
本发明实施例还提出了一种计算机存储介质,所述计算机存储介质存储有程序,所述程序包括若干指令用以执行本发明实施例图1-图2所描述的一种设备迁移的方法中的部分或全部的步骤。
由上可见,本发明实施例中的资源管理中心,在获取第一操作系统提出的使用目标设备组的请求后,保持目标设备组的内部连接结构,从第二CPU组的通道接口上热拔出目标设备组,再将目标设备组热插入第一CPU组的通道接口,以使第一操作系统可以使用目标设备组,实现在两个操作系统之间的设备迁移,由于本发明实施例是以组的形式进行迁移,不会改变目标设备组原有的内部连接,从而避免依次迁移目标设备组内的各个设备,降低了复杂度、提高了效率以及减小了开销,并且使用的热插拔技术不会影响其它设备的正常使用。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。