虚拟资源管理方法、系统及装置的制作方法

文档序号:6359003阅读:208来源:国知局
专利名称:虚拟资源管理方法、系统及装置的制作方法
技术领域
本发明涉及信息技术领域,特别涉及虚拟资源管理方法、系统及装置。
背景技术
随着信息化进程的深入发展,信息技术anformation Technology, IT)运维所需物理服务器的数量不断增长,每一项业务应用都部署一台单独的物理服务器,其中多数物理服务器的资源没有得到充分利用,而有些物理服务器的资源需求却没有得到满足。目前一种分布式虚拟技术主要是通过对物理资源的虚拟化,从而对资源进行再分配,这样上层应用所使用的资源就不受单个物理服务器限制的,从而提升了整体的资源利用率,有利于配置优化。应用分布式虚拟技术的一种分布式虚拟机监控(Distributed Virtual Machine Monitor, DVMM)系统中,多台服务器通过用于高性能计算的交换结构的通信链接(A switched fabric communications link used in high-performance computing, InfiniBand)连接到hfiniBand交换机上,这样每台服务器就可以通过hfiniBand网络访问其它服务器的资源。在DVMM系统中的每台服务器上都会利用虚拟资源池中的资源创建虚拟机 (Virtual Machine, VM),其中在虚拟资源池中存放着虚拟化后的服务器的物理资源(比如内存、中央处理器等)。且可以在创建的虚拟机中运行控制域(Control Domain)或输入输出域(1/0 Domain),其中在启动绑定节点(Boot Strap Node,BSN)即主节点上运行Control Domain,主节点可以管理虚拟资源池中的资源,且能访问非启动绑定节点(Non-BSN)即从节点或远端节点的资源,而在远端节点上可以运行1/0 Domain。如果主节点上创建本地固有输入输出1/0(Localized 1/0,LI0)的虚拟机时,远端节点上不需要运行1/0 Domainjn 果主节点上创建分布式IAKDistributed 1/0,DI0)的虚拟机时,在远端节点上需要运行 1/0 Domain。上述现有技术中,虚拟机在创建的过程中就决定了运行哪个域,且无论是运行1/0 Domain还是运行Control Domain,都需要占用处理器的一个核(core),该处理器核除了运行1/0 Domain或运行Control Domain之外,不处理其它业务进程,这样造成了资源浪费。 例如,在主节点上创建DIO的虚拟机时,在远端节点上需要运行1/0域,且即使没有主节点访问该远端节点的资源,该远端节点都会使用处理器核来运行1/0域,不处理其它业务进程,从而造成了资源浪费。

发明内容
本发明实施例提供虚拟资源管理方法、系统及装置,提高了处理器核的使用率,从而降低资源的浪费。本发明实施例提供一种虚拟资源管理方法,该方法包括在远端节点上运行输入输出1/0域,判断远端节点是否需要进入休眠状态,如果所述远端节点需要进入休眠状态,获取所述远端节点上运行的所述输入输出I/O域所占用处理器核的信息,所述远端节点在休眠状态停止运行I/O域;根据所述获取的处理器核的信息,将所述信息对应的处理器核的资源归属到虚拟资源池中,以使所述处理器核可用于业务处理。本发明实施例提供一种虚拟资源管理方法,该方法包括远端节点运行输入输出 I/O域,判断所述远端节点是否需要进入休眠状态,如果是,则发送休眠请求给主节点,以使得所述主节点根据所述远端节点上运行的输入输出I/O域所占用处理器核的信息,将所述信息对应的处理器核的资源归属到虚拟资源池中,以使用所述处理器核进行业务处理;停止使用处理器核运行I/O域。本发明实施例提供一种节点设备,该节点设备包括信息获取单元,用于判断远端节点是否需要进入休眠状态,如果所述远端节点需要进入休眠状态,获取所述远端节点上运行的输入输出I/O域所占用处理器核的信息;所述远端节点在休眠状态停止运行I/O域; 资源加入单元,用于根据所述获取的处理器核的信息,将对应所述信息的处理器核的资源归属到虚拟资源池中;业务处理单元,用于使用所述资源加入单元归属到虚拟资源池中的处理器核进行业务处理。本发明实施例还提供一种节点设备,该节点设备包括休眠判断单元,用于在远端节点上运行输入输出I/O域,判断所述远端节点是否需要进入休眠状态;休眠请求发送单元,用于当所述休眠判断单元判断所述远端节点需要进入休眠状态,则发送休眠请求给主节点,以使得所述主节点根据所述远端节点上运行的输入输出I/O域所占用处理器核的信息,将所述信息对应的处理器核的资源归属到虚拟资源池中,以使用所述处理器核进行业务处理;停止运行单元,用于停止使用处理器核运行I/O域。本发明实施例还提供一种虚拟资源管理系统,包括主节点和至少一个远端节占.
^ \\\ 所述主节点,用于判断远端节点是否需要进行休眠状态,如果远端节点需要进入休眠状态,获取所述远端节点上运行的输入输出I/O域所占用处理器核的信息;所述远端节点在休眠状态停止运行I/O域;根据所述获取的处理器核的信息,将所述信息对应处理器核的资源归属到虚拟资源池中,以使所述处理器核可用于进行业务处理;所述远端节点,用于停止使用处理器核运行I/O域。本发明实施例中如果某一个远端节点需要进入休眠状态,主节点就会获取该远端节点运行I/O域所占用处理器核的信息,并根据获取的处理器核的信息,将对应所述信息的处理器核的资源归属到虚拟资源池中,以使该处理器核可用于业务处理。由于远端节点在休眠状态停止运行I/O域,而主节点将运行该I/O域的处理器核加入到虚拟资源池中,使得主节点可以利用该处理器核的资源进行业务处理,提高了处理器核的资源使用率,并降低资源的浪费。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种DVMM系统的结构示意图;图2是本发明实施例提供的一种虚拟资源管理方法的流程图;图3是本发明实施例中提供的唤醒远端节点的方法流程图;图4是本发明实施例提供的另一种虚拟资源管理方法的流程图;图5是本发明一个具体应用实施例提供的虚拟资源管理方法的流程图;图6是本发明另一个具体应用实施例提供的虚拟资源管理方法的流程图;图7是本发明另一个具体应用实施例提供的虚拟资源管理方法的流程图;图8是本发明实施例提供的一种节点设备的结构示意图;图9是本发明实施例提供的另一种节点设备的结构示意图;图10是本发明实施例提供的另一种节点设备的结构示意图;图11是本发明实施例提供的又一种节点设备的结构示意图;图12是本发明实施例提供的又一种节点设备的结构示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种虚拟资源管理方法,适应于如图1所示的DVMM系统中, 该系统中的每个节点都包括底层驱动、操作系统内核(Linux Kernel)和管理控制台 (Management Console, MC),其中底层驱动用来实现对节点的驱动,并对该节点的物理资源整合以及虚拟化;Linux Kernel是操作系统的核心程序;而MC是用来对Linux Kernel的运行进行管理。且操作系统(Operating System, OS)可以成为MC、Linux Kernel和资源整合的一种实现载体。且该系统中还包括虚拟资源池,该虚拟资源池是各个节点的物理资源访问能力的集合,存放着虚拟化后的各个节点的物理资源包括内存、处理器和I/O资源等。该DVMM系统中每个节点都会利用虚拟资源池中的资源创建VM,其中在虚拟资源池中存放着虚拟化后节点的物理资源,且创建的VM可以包括MC和Linux Kernel。在主节点上创建的虚拟机中的Linux Kernel运行控制域,实现对虚拟资源池中虚拟资源的配置和访问管理;而在远端节点上创建的虚拟机包括的Linux Kernel中运行I/O域,并可以为主节点提供I/O资源。需要说明的是,该DVMM系统中的一个节点即为一个物理服务器。该DVMM系统中主节点可以通过执行如下的方法来进行虚拟资源的管理,流程图如图2所示,包括步骤101、在远端节点上运行I/O域,判断该远端节点是否需要进行休眠状态,如果该远端节点需要进入休眠(sle印)状态,获取该远端节点上运行的输入输出I/O域所占用处理器核的信息;且远端节点在休眠状态停止运行I/O域。可以理解,主节点在运行控制域或远端节点在运行I/O域时,都需要占用处理器的一个核(core),比如Linux Kernel.当某个远端节点停止运行1/0域时,为了使用运行该I/O域所占用处理器核的资源处理其它业务,节省资源,主节点可以先获取该处理器核的信息,包括该处理器核的标识信息,资源信息,和与远端节点的对应关系信息等。且远端节点是否进入休眠状态,可以由远端节点自己来决定,具体地,如果远端节点发现在一段时间内,没有主节点访问该远端节点上的I/O资源,则决定进入休眠状态,这时远端节点就会发送休眠请求给主节点,同时远端节点也可以将停止运行I/O域的处理器核的信息发送给主节点。其中对I/O资源的访问可以具体为使用远端节点的网卡、硬盘等操作。远端节点是否进入休眠状态也可以由主节点来决定,具体地,主节点可以检测远端节点是否处于I/O资源访问的空闲状态,如果是,即没有节点访问该远端节点的I/O资源,则确定远端节点需要进入休眠状态。在这种情况下,主节点还需要发送休眠指令给远端节点,以使得该远端节点停止运行I/O域。其中当远端节点处于I/O资源访问的空闲状态时,该远端节点的I/O资源在一段时间内没有被访问,但是该远端节点还是运行I/O域的。主节点在执行步骤101中的获取时,主节点可以读取该主节点上储存的远端节点运行I/O域的处理器核的信息,还可以接收远端节点发送的运行I/O域的处理器核的信息寸。需要说明的是,上述所说的I/O域是指远端节点的功能,即远端节点可以运行I/O 域;而I/O资源是指物理资源,主节点和远端节点都有I/O资源。步骤102、根据获取的处理器核的信息,将该信息对应的处理器核的资源归属到虚拟资源池中,以使该处理器核可用于业务处理。可以理解,将对应处理器核的资源归属到虚拟资源池中即为将该处理器核加入虚拟资源池中的过程,具体地,主节点可以将该处理器核的资源信息状态修改为未被占用的状态,并将该处理器核的资源信息的归属属性修改为虚拟资源池。这样在虚拟资源池中的资源都是未被占用的资源,节点都可以利用该虚拟资源池中的资源创建虚拟机,从而进行业务处理。步骤103、使用步骤102中加入虚拟资源池中的处理器核进行业务处理。可见,本发明实施例中如果某一个远端节点需要进入休眠状态,主节点就会获取该远端节点运行I/O域所占用处理器核的信息,并根据获取的处理器核的信息,将对应处理器核的资源归属到虚拟资源池中,以使该处理器核可用于进行业务处理。由于远端节点在休眠状态停止运行I/O域,而主节点将运行该I/O域的处理器核加入到虚拟资源池中,使得主节点可以利用该处理器核的资源进行业务处理,提高了处理器核的资源使用率,并降低资源的浪费。在一个具体的实施例中,远端节点可以处于休眠状态,也可以处于被唤醒(Wake) 状态,且每个远端节点在休眠和唤醒两个状态之间的转换是独立的,相互不影响。当远端节点在被唤醒状态下,该远端节点使用一个处理器核运行I/O域。具体地,主节点在唤醒远端节点时,可以有如下几种情况(1)判断主节点上是否有I/O资源访问请求,如果主节点上有I/O资源访问请求, 且该I/O资源访问请求的地址属于任一休眠状态的远端节点的资源,则Al 主节点将休眠状态的远端节点上的一个处理器核的资源移出虚拟资源池;Bl 主节点发送唤醒请求给休眠状态的远端节点。
可以理解,在主节点上储存着各个远端节点的资源信息,包括处理器核的信息,内存信息等,当该主节点上在对某一个远端节点的I/O资源访问请求时,如果该I/O资源访问请求的地址属于任一休眠状态的远端节点时,主节点需要唤醒该远端节点。具体地,主节点可以将该远端节点上的某一个处理器核的资源从虚拟资源池中移出,即将虚拟资源池中第一处理器核的资源信息状态修改为被占用的状态,并将第一处理器核的资源信息的归属属性进行修改;然后主节点再发送唤醒请求给该休眠状态的远端节点。在唤醒请求中可以包括主节点移出虚拟资源池的该处理器核的信息,这样远端节点在接收到唤醒请求后,就会使用该移出虚拟资源池的处理器核来运行I/O域。(2)参考如图3所示,判断主节点上是否有I/O资源访问请求,如果主节点上有I/ 0资源访问请求,且该I/O资源访问请求属于对该主节点I/O资源的访问,则A2 判断该主节点上的I/O资源是否足够,如果不够,则执行步骤B2,如果是,则访问该主节点中的I/O资源;B2:将任一休眠状态的远端节点上的某一个处理器核的资源移出虚拟资源池中, 之后执行步骤C2 ;C2 发送唤醒请求给该休眠状态的远端节点,以使得该休眠状态的远端节点使用移出虚拟资源池的处理器核来运行I/O域。可以理解,在主节点上储存着各个远端节点的资源信息,包括处理器核的信息,内存信息等,当该主节点上的I/O资源不够时,比如该主节点上的硬盘资源或网卡资源不够时,主节点可以唤醒任一个休眠状态的远端节点。具体地,主节点可以将该远端节点上的某一个处理器核的资源从虚拟资源池中移出,即将虚拟资源池中一个处理器核的资源信息状态修改为被占用的状态,并将该处理器核的资源信息的归属属性进行修改;然后主节点再发送唤醒请求给该休眠状态的远端节点。在唤醒请求中可以包括主节点移出虚拟资源池的该处理器核的信息,这样远端节点在接收到唤醒请求后,就会使用该移出虚拟资源池的处理器核来运行I/O域。本发明实施例还提供一种虚拟资源的管理方法,适应于如图1所示的DVMM系统中,本实施例的方法是DVMM系统中远端节点所执行的方法,流程如图4所示,包括步骤201、在远端节点上运行I/O域,判断该远端节点是否需要进入休眠状态,如果是,则执行步骤202,如果不是,则执行步骤203 ;其中,远端节点在休眠状态停止运行I/O 域。可以理解,本实施例中远端节点自己决定是否需要进入休眠状态,且在具体在确定是否需要进入休眠状态时,可以查看在预置的一段时间内,是否有主节点访问该远端节点上的I/O资源,如果没有,则需要进入休眠状态。具体地,该远端节点可以启用一个计时器,当有主节点访问该远端节点的I/O资源时,远端节点就清空该计时器;如果一直没有主节点访问该远端节点的I/O资源,则该计时器会溢出,这种情况下远端节点确定需要进入休眠状态。步骤202、发送休眠请求给主节点,以使得主节点根据远端节点上运行的输入输出 I/O域所占用处理器核的信息,将该信息对应的处理器核的资源归属到虚拟资源池中,以使用处理器核进行业务处理;且远端节点停止使用处理器核运行I/O域。可以理解,当远端节点决定进入休眠状态,则会发送休眠请求给主节点,而主节点进行虚拟资源的管理,具体的管理方法如图2和3所示,在此不进行赘述。且在远端节点发送的休眠请求中还可以包括该远端节点上运行I/O域所占用的处理器核信息。步骤203、继续使用该处理器核运行I/O域。可见,本发明实施例中如果某一个远端节点确定需要进入休眠状态,则该远端节点停止运行I/O域且发送休眠请求给主节点,由主节点获取该远端节点运行I/O域所占用处理器核的信息,并根据获取的处理器核的信息,将对应处理器核的资源归属到虚拟资源池中,并使用该处理器核进行业务处理。由于远端节点在休眠状态停止运行I/O域,而主节点会将运行该I/O域的处理器核加入到虚拟资源池中,即将该处理器核的信息归属到虚拟资源池中,使得主节点可以利用该处理器核的资源进行其它业务处理,提高了处理器核的使用率,并降低资源的浪费。在一个具体的实施例中,远端节点是否需要进行休眠状态是可以由主节点来决定,这种情况下,主节点决定让该远端节点进入休眠状态,则会发送休眠给该远端节点,当该远端节点接收到休眠指令时,则停止使用处理器核运行I/O域。在另一个实施例中,远端节点可以处于休眠状态,也可以处于被唤醒(Wake)状态,远端节点是否被唤醒是由主节点来决定,如果需要唤醒,则会将该远端节点上一个处理器核移出虚拟资源池,并发送唤醒请求给该远端节点。该唤醒请求是用来指示远端节点进入被唤醒状态,即请求该远端节点使用虚拟资源池之外的处理器核来运行I/O域,其中该虚拟池之外的处理器核是由主节点从虚拟资源池中移出的。则在唤醒请求中可以包括主节点移出虚拟资源池的处理器核的信息,当该远端节点接收到唤醒请求后,会利用该处理器核运行I/O域。以下以一个具体的实施例来说明本发明实施例中的虚拟资源管理方法,可以应用于如图1所示的系统中,且本实施例的方法具体为远端节点进入休眠状态的过程,流程图如图5所示,包括步骤301、远端节点进行I/O资源空闲侦测,具体地,在远端节点上可以启用一个计时器,当有主节点访问该远端节点的I/O资源时,清空该计时器;如果在一段时间内没有主节点访问该远端节点的I/O资源,计时器就会溢出,则认为是该远端节点处于I/O资源访问的空闲状态,此时远端节点可以发起进行休眠状态的流程。步骤302、发送休眠请求到主节点。步骤303、主节点可以判断该主节点上是否会有该远端节点的I/O资源访问请求, 如果有,那么回复拒绝(Reject)消息,并要求远端节点清空计时器;如果没有,需要首先禁止对该远端节点的I/O资源访问,然后回复确认(OK)消息。步骤304、远端节点开启休眠过程,可以同时发送该远端节点运行I/O域所占用的处理器核的信息给主节点。步骤305、主节点将对应的处理器核加入到虚拟资源池,但是在收到从节点休眠完成的通知前,要禁止使用这个处理器核。步骤306、远端节点停止运行I/O域,并释放出所占用的处理器核,可以通知主节点该休眠完成,至此主节点就可以开始使用该新加入到虚拟资源池中的处理器核进行业务处理。且这时,主节点上可以保留该远端节点的I/O资源访问请求地址,以便如果需要对远端节点的I/O资源进行访问时,唤醒该远端节点。可以理解,本实施例是由远端节点自己决定进入休眠状态,从而发起进入休眠状态的流程。在其他具体的实施例中,主节点也可以访问该远端节点的计时器,从而得知远端节点是否需要进行休眠状态,从而由主节点发起让远端节点进行休眠状态的流程。则在这种情况下,主节点会发送休眠指令给远端节点,要求远端节点停止运行I/O域,且主节点会将该远端节点上运行I/O域所占用的处理器核加入虚拟资源池。以下以一个具体的实施例来说明本发明实施例中的虚拟资源管理方法,可以应用于如图1所示的系统中,且本实施例的方法具体为如果主节点上有远端节点的I/O资源访问请求时,发起该休眠状态的远端节点进入唤醒状态的过程,流程图如图6所示,包括步骤401、主节点上有I/O资源访问请求,判断这个I/O资源访问请求地址是否属于在远端节点的资源,如果不是,则按照该主节点I/O资源访问的方式处理,如果是,则需要唤醒远端节点。步骤402、根据该I/O资源访问请求地址,及本主节点上储存的I/O资源访问地址与远端节点的对应关系,确定该I/O资源访问请求是哪个远端节点的请求。步骤403、如果该远端节点处于休眠状态,此时该远端节点的处理器核的资源归属于虚拟资源池中,则主节点需要将该远端节点上的一个处理器核移出虚拟资源池。步骤404、主节点发送唤醒请求给该远端节点,请求该远端节点使用移出虚拟资源池的处理器核运行I/O域,且可以在唤醒请求中携带移出虚拟资源池的处理器核的信息。步骤405、远端节点接收到唤醒请求后,使用步骤403中移出虚拟资源池的处理器核运行I/O域,并可以在唤醒后通知主节点,为主节点提供I/O资源。步骤406、主节点在接收到远端节点的通知后开启远端节点的I/O资源访问。以下以一个具体的实施例来说明本发明实施例中的虚拟资源管理方法,可以应用于如图1所示的系统中,且本实施例的方法具体为如果主节点上的I/O资源不够时,发起休眠状态的远端节点进入唤醒状态的过程,流程图如图7所示,包括步骤501、如果主节点上有I/O资源访问请求,确定该I/O资源访问请求是否是对该主节点I/O资源的请求,如果是,则执行步骤502,如果不是,则可以按照上述实施例中步骤401到406来执行。步骤502、主节点判断该主节点的I/O资源是否足够,如果是,则进行本地I/O资源访问,如果不是,则执行步骤503。步骤503、主节点判断该主节点的I/O资源是否可向远端节点扩展,若不是,则结束流程;若是,则准备远端节点的唤醒流程。步骤504、将虚拟资源池中任一远端节点的处理器核移出,使得该处理器核的归属属性为非虚拟资源池,并发送唤醒请求给该远端节点。且可以将移出虚拟资源池的处理器核的信息携带在唤醒请求中。步骤505、远端节点接收到唤醒请求后,使用步骤504中移出虚拟资源池的处理器核运行I/O域,并可以在唤醒后通知主节点,为主节点提供I/O资源。步骤506、主节点在接收到远端节点的通知后开启远端节点的I/O资源访问。可见,本发明实施例的虚拟资源管理方法中,提供了远端节点上休眠和唤醒状态的转换,使得在远端节点的I/O资源访问频度较低的时候,可以将最大效率地利用该远端节点的处理器核处理其它业务,从而提升了系统的性能;且在主节点I/O资源无法满足需求的时候,比如硬盘剩余容量较少等,可以动态地利用远端节点上的I/O资源,从而减小主节点I/O资源的压力。本发明实施例提供一种节点设备,该节点可以是终端设备,也可以是服务器等,其结构示意图如图8所示,包括信息获取单元10,用于判断远端节点是否需要进入休眠状态,如果远端节点需要进入休眠状态,获取所述远端节点上运行的输入输出I/O域所占用处理器核的信息;所述远端节点在休眠状态停止运行I/O域;资源加入单元11,用于根据所述信息获取单元10获取的处理器核的信息,将该信息对应的处理器核的资源归属到虚拟资源池中;以使该处理器核可用于进行业务处理。可以理解,本发明实施例的节点设备还可以包括业务处理单元12,用于使用所述资源加入单元11归属到虚拟资源池中的处理器核进行业务处理。本发明实施例中如果某一个远端节点需要进入休眠状态,则节点设备中的信息获取单元10就会获取该远端节点运行I/O域所占用处理器核的信息,并由资源加入单元11 根据获取的处理器核的信息,将对应处理器核的资源归属到虚拟资源池中,业务处理单元 12就可以使用该处理器核进行业务处理。由于远端节点在休眠状态停止运行I/O域,而主节点会将运行该I/O域的处理器核加入到虚拟资源池中,即将该处理器核的信息归属到虚拟资源池中,使得主节点可以利用该处理器核的资源进行业务处理,提高了处理器核的资源使用率,并降低资源的浪费。参考图9所示,在一个具体的实施例中,本实施例中节点设备除了包括如图8所示的结构外,还可以包括休眠接收单元13、资源移出单元14和唤醒发送单元15,其中休眠接收单元13,用于接收所述远端节点发送的休眠请求,则根据所述休眠请求确定所述远端节点需要进入休眠状态;资源移出单元14,用于将休眠状态的远端节点上一个处理器核的资源移出所述虚拟资源池;唤醒发送单元15,用于发送唤醒请求给所述休眠状态的远端节点,以使得所述休眠状态的远端节点使用所述虚拟资源池之外的处理器核来运行I/O域。本实施例中,当休眠接收单元13接收到休眠请求,则认为远端节点需要进行休眠状态,由信息获取单元10获取该远端节点上运行I/O域的处理器核的信息,并由资源加入单元11将该处理器核的信息归属到虚拟资源池中;资源移出单元14可以判断主节点上是否有I/O资源访问请求,如果主节点上有I/O资源访问请求,且该I/O资源访问请求的地址属于休眠状态的远端节点的资源,则资源移出单元14将处于休眠状态的远端节点上一个处理器核的资源移出虚拟资源池,并由唤醒单元15发送唤醒请求给该远端节点。实现了远端节点从休眠状态到唤醒状态的动态转换。参考图10所示,在一个具体的实施例中,本实施例中节点设备除了包括如图9所示的结构外,还可以包括空闲检测单元16、休眠发送单元17和资源判断单元18,其中空闲检测单元16,用于检测远端节点是否处于I/O资源访问的空闲状态;;当远端节点处于I/O资源访问的空闲状态时,所述远端节点的I/O资源在一段时间内没有被访问。
休眠发送单元17,用于在所述空闲检测单元16检测到所述远端节点处于I/O资源访问的空闲状态时,发送休眠指令给所述远端节点,以使得所述远端节点停止运行I/O域;资源判断单元18,用于判断主节点上是否有I/O资源访问请求,如果所述主节点上有I/O资源访问请求,且所述I/O资源访问请求属于对该主节点上I/O资源的访问,判断所述主节点上的I/O资源是否足够。在本实施例中,当节点设备的空闲检测单元16检测到远端节点处于I/O资源访问的空闲状态,则认为该远端节点需要进入休眠状态,由信息获取单元10获取该远端节点上运行I/O域的处理器核的信息,且由休眠发送单元17发送休眠指令给远端节点,来触发该远端节点进入休眠状态的流程;且本实施例中资源判断单元18可以判断主节点设备上是否有I/O资源访问请求, 如果该主节点设备上有I/O资源访问请求,且该I/O资源访问请求属于对该主节点I/O资源的访问,则进一步判断主节点的资源是否足够,如果不够则需要扩展该主节点的资源,从而发起唤醒处于休眠状态的远端节点,并由资源移出单元14将处于休眠状态的远端节点上一个处理器核的资源移出虚拟资源池,并由唤醒单元15发送唤醒请求给该远端节点。实现了远端节点从休眠状态到唤醒状态的动态转换,且扩展了本地资源。本发明实施例提供一种节点设备,该节点可以是终端设备,也可以是服务器等,其结构示意图如图11所示,包括休眠判断单元20,用于在远端节点上运行输入输出I/O域,判断所述远端节点是否需要进入休眠状态;休眠请求发送单元21,用于当所述休眠判断单元20判断所述远端节点需要进入休眠状态,则发送休眠请求给主节点,以使得所述主节点根据所述远端节点上运行的输入输出I/O域所占用处理器核的信息,将该信息对应的处理器核的资源归属到虚拟资源池中,以使用所述处理器核进行业务处理;停止运行单元22,用于停止使用处理器核运行I/O域。本发明实施例中如果某一个远端节点的休眠判断单元20判断需要进入休眠状态,则停止运行单元22远端节点停止运行I/O域,并由休眠请求发送单元21发送休眠请求给主节点,由主节点获取该远端节点运行I/O域所占用处理器核的信息,并根据获取的处理器核的信息,将对应处理器核的资源归属到虚拟资源池中,以使该处理器核可用于进行业务处理。由于远端节点在休眠状态停止运行I/O域,而主节点将运行该I/O域的处理器核加入到虚拟资源池中,使得主节点可以利用该处理器核的资源进行业务处理,使得提高了处理器核的使用率,并降低资源的浪费。参考图12所示,在一个具体的实施例中,节点设备除了包括如图11所示的结构外,还可以唤醒接收单元23和域运行单元对,其中唤醒接收单元23,用于接收所述主节点发送的唤醒请求,所述唤醒请求用于请求所述远端节点使用虚拟资源池之外的处理器核来运行I/O域;所述虚拟资源池之外的处理器核是所述主节点从所述虚拟资源池中移出的;域运行单元对,用于使用所述移出虚拟资源池的处理器核运行I/O域。本实施例中,可以由唤醒接收单元23接收主节点发送的唤醒请求,从而通过域运行单元M运行I/O域,实现远端节点从休眠状态转换到唤醒状态。
本发明实施例还提供一种虚拟资源管理系统,可以是如图1所示的系统,具体包括主节点和至少一个远端节点,其中主节点,用于判断远端节点是否需要进行休眠状态,如果远端节点需要进入休眠状态,获取所述远端节点上运行的输入输出I/O域所占用处理器核的信息;所述远端节点在休眠状态停止运行I/O域;根据所述获取的处理器核的信息,将所述信息对应处理器核的资源归属到虚拟资源池中,以使所述处理器核可用于进行业务处理;所述虚拟资源池用于存放虚拟化后的节点物理资源;远端节点,用于停止使用处理器核运行I/O域。则该系统中的主节点的结构可以如图8到10任一个图所示的节点设备的结构,而远端节点的结构可以如图11或12所示的节点设备的结构,且主节点和远端节点可以按照如图2到7任一个图所示的方法进行虚拟资源的管理。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括ROM、RAM、磁盘或光盘等。以上对本发明实施例所提供的虚拟资源管理方法、系统及装置,进行了详细介绍, 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种虚拟资源管理方法,其特征在于,包括在远端节点上运行输入输出I/O域,判断远端节点是否需要进入休眠状态,如果所述远端节点需要进入休眠状态,获取所述远端节点上运行的所述输入输出I/O域所占用处理器核的信息,所述远端节点在休眠状态停止运行I/O域;根据所述获取的处理器核的信息,将对应所述信息的处理器核的资源归属到虚拟资源池中,以使所述处理器核可用于业务处理。
2.如权利要求1所述的方法,其特征在于,所述判断远端节点是否需要进入休眠状态包括接收所述远端节点发送的休眠请求,则根据所述休眠请求确定所述远端节点需要进入休眠状态。
3.如权利要求2所述的方法,其特征在于,所述判断远端节点是否需要进入休眠状态包括检测所述远端节点是否处于I/O资源访问的空闲状态,如果是,则确定所述远端节点需要进入休眠状态;当远端节点处于I/O资源访问的空闲状态时,所述远端节点的I/O资源在一段时间内没有被访问;且所述将对应所述信息的处理器核的资源归属到虚拟资源池中之前还包括发送休眠指令给所述远端节点,以使得所述远端节点停止运行I/O域。
4.如权利要求1至3任一项的方法,其特征在于,还包括判断主节点上是否有I/O资源访问请求,如果主节点上有I/O资源访问请求,且所述主节点上的I/O资源访问请求的地址属于休眠状态的远端节点的资源,则将所述休眠状态的远端节点上一个处理器核的资源移出所述虚拟资源池;发送唤醒请求给所述休眠状态的远端节点,以使得所述休眠状态的远端节点使用所述移出虚拟资源池的处理器核来运行I/O域。
5.如权利要求1至3任一项所述的方法,其特征在于,还包括判断主节点上是否有I/O资源访问请求,如果所述主节点上有I/O资源访问请求,且所述主节点上的I/O资源访问请求属于对所述主节点I/O资源的访问,判断所述主节点上的 I/O资源是否足够,如果不够,则将休眠状态的远端节点上的一个处理器核的资源移出所述虚拟资源池;发送唤醒请求给所述休眠状态的远端节点,以使得所述休眠状态的远端节点使用所述移出虚拟资源池的处理器核来运行I/O域。
6.一种虚拟资源管理方法,其特征在于,包括远端节点运行输入输出I/O域,判断所述远端节点是否需要进入休眠状态,如果是,则发送休眠请求给主节点,以使得所述主节点根据所述远端节点上运行的输入输出I/O域所占用处理器核的信息,将所述信息对应的处理器核的资源归属到虚拟资源池中,以使用所述处理器核进行业务处理;停止使用处理器核运行I/O域。
7.如权利要求6所述的方法,其特征在于,所述确定远端节点是否需要进入休眠状态具体包括如果在预置的一段时间内,所述远端节点上的I/O资源未被访问,则确定需要进入休眠状态。
8.如权利要求6或7所述的方法,其特征在于,接收所述主节点发送的唤醒请求,所述唤醒请求用于请求所述远端节点使用非虚拟资源池之外的处理器核来运行I/O域,所述非虚拟资源池之外的处理器核是所述主节点从所述虚拟资源池中移出的;使用所述移出的处理器核运行I/O域。
9.一种节点设备,其特征在于,包括信息获取单元,用于判断远端节点是否需要进入休眠状态,如果远端节点需要进入休眠状态,则获取所述远端节点上运行的输入输出I/O域所占用处理器核的信息;所述远端节点在休眠状态停止运行I/O域;资源加入单元,用于根据所述获取的处理器核的信息,将所述信息对应的处理器核的资源归属到虚拟资源池中,以使所述处理器核可用于进行业务处理。
10.如权利要求9所述的节点设备,其特征在于,还包括休眠接收单元,用于接收所述远端节点发送的休眠请求,则根据所述休眠请求确定所述远端节点需要进入休眠状态。
11.如权利要求9所述的节点设备,其特征在于,还包括空闲检测单元和休眠发送单元;所述空闲检测单元,用于检测所述远端节点是否处于I/O资源访问的空闲状态,如果是,则确定所述远端节点需要进入休眠状态;当远端节点处于I/O资源访问的空闲状态时, 所述远端节点的I/O资源在一段时间内没有被访问;休眠发送单元,用于当所述空闲检测单元检测到所述远端节点处于I/O资源访问的空闲状态时,发送休眠指令给所述远端节点,以使得所述远端节点停止运行I/O域。
12.如权利要求9至11任一项的节点设备,其特征在于,还包括资源移出单元,用于判断主节点上是否有I/O资源访问请求,如果所述主节点上有I/ 0资源访问请求,且所述I/O资源访问请求的地址属于休眠状态的远端节点的资源,则将所述休眠状态的远端节点上一个处理器核的资源移出所述虚拟资源池;唤醒发送单元,用于发送唤醒请求给所述休眠状态的远端节点,以使得所述休眠状态的远端节点使用所述移出虚拟资源池的处理器核来运行I/O域。
13.如权利要求9至11任一项所述的节点设备,其特征在于,还包括资源判断单元,用于判断主节点上是否有I/O资源访问请求,如果所述主节点上有I/O 资源访问请求,且所述I/O资源访问请求属于对所述主节点I/O资源的访问,判断所述主节点上的I/O资源是否足够;所述资源移出单元,还用于当所述资源判断单元判断所述主节点上的I/O资源不够, 则将休眠状态的远端节点上的一个处理器核的资源移出所述虚拟资源池。
14.一种节点设备,其特征在于,包括休眠判断单元,用于在远端节点上运行输入输出I/O域,判断所述远端节点是否需要进入休眠状态;休眠请求发送单元,用于当所述休眠判断单元判断所述远端节点需要进入休眠状态, 则发送休眠请求给主节点,以使得所述主节点根据所述远端节点上运行的输入输出I/O域所占用处理器核的信息,将所述信息对应的处理器核的资源归属到虚拟资源池中,以使用所述处理器核进行业务处理;停止运行单元,用于停止使用处理器核运行I/O域。
15.如权利要求14所述的节点设备,其特征在于,还包括唤醒接收单元,用于接收所述主节点发送的唤醒请求,所述唤醒请求用于请求所述远端节点使用虚拟资源池之外的处理器核来运行I/O域;所述虚拟资源池之外的处理器核是所述主节点从所述虚拟资源池中移出的处理器核;域运行单元,用于使用所述移出虚拟资源池的处理器核运行I/O域。
16.一种虚拟资源管理系统,其特征在于,包括主节点和至少一个远端节点;所述主节点,用于判断远端节点是否需要进行休眠状态,如果远端节点需要进入休眠状态,获取所述远端节点上运行的输入输出I/O域所占用处理器核的信息;所述远端节点在休眠状态停止运行I/O域;根据所述获取的处理器核的信息,将所述信息对应处理器核的资源归属到虚拟资源池中,以使所述处理器核可用于进行业务处理;所述远端节点,用于停止使用处理器核运行I/O域。
17.如权利要求16所述的系统,其特征在于,所述主节点是如权利要求9至13任一项所述的节点设备。
18.如权利要求16所述的系统,其特征在于,所述远端节点时如权利要求14或15所述的节点设备。
全文摘要
一种虚拟资源管理方法、系统及设备,应用于通信技术领域。该虚拟资源管理方法包括在远端节点上运行输入输出I/O域,如果远端节点需要进入休眠状态,则获取远端节点上运行输入输出I/O域所占用处理器核的信息;远端节点在休眠状态停止运行I/O域;根据获取的处理器核的信息,将对应处理器核的资源归属到虚拟资源池中,以使该处理器核可用于进行业务处理。实现了对虚拟资源的管理。
文档编号G06F9/46GK102317914SQ201180001516
公开日2012年1月11日 申请日期2011年8月1日 优先权日2011年8月1日
发明者俞柏峰, 陈奔 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1