专利名称:设备初始化的方法、装置及系统的制作方法
技术领域:
本发明涉及计算机技术领域,尤其涉及一种设备初始化的方法、装置及系统。
背景技术:
分布式虚拟化技术是一种将来自多台物理机器的资源,例如处理器、内存和外部设备,以虚拟的方式重新组合成一台虚拟机的技术,在分布式虚拟化场景中,诸如磁盘、网卡的设备可能位于不同的物理节点上,此时需要虚拟机进行设备初始化,使得所有设备设置在同一个拓扑结构下,并为所有设备分配对应的地址空间,进而使得虚拟机在处理业务请求时,能够访问到所有节点的设备。现有技术中提供设备初始化方法包括为每个节点单独设置一条总线及一个总线桥,并将节点上的设备挂载在该节点的总线上,然后通过PCI (Peripheral ComponentInterconnect,周边元件扩展接口)控制器将所有节点对应的总线桥连接到主桥生成的总线上,并通过遍历的方式为所有设备分配地址空间,以使得所述虚拟机使用地址访问到对应的设备上。在实现上述虚拟机初始化的过程中,发明人发现现有技术中至少存在如下问题当某个节点只有一个设备时,仍然需要设置一个总线去挂载该设备,并设置一个总线桥与PCI控制器相连,增加了系统复杂度,影响初始化效率。
发明内容
本发明的实施例提供一种设备初始化的方法、装置及系统,能够降低虚拟机系统复杂度,提高虚拟机初始化效率。为达到上述目的,本发明的实施例采用如下技术方案一种设备初始化的方法,包括获取主节点内和从节点内的设备的设备信息;根据所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树;根据所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本,所述从节点内的设备与对应所述设备的设备副本具有相同的设备信息;
将与所述从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上,并为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间;向所述设备副本对应的设备所在的从节点发送与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。一种设备初始化的方法,包括获取从节点内的设备的设备信息;根据所述从节点内的设备的设备信息在所述从节点内建立总线树;
将所述从节点内的设备挂载在所述总线树上;接收主节点发送地址空间信息,所述地址空间信息指示与所述从节点内的设备的设备副本对应的地址空间;根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。一种设备初始化的装置,包括获取单元,用于获取主节点内和从节点内的设备对应的设备信息;建立单元,用于根据所述获取单元获取的所述主节点内和从节点内的设备的设备 信息在所述主节点内建立总线树;生成单元,用于根据所述获取单元获取的所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本,所述从节点内的设备与对应所述设备的设备副本具有相同的设备信息;挂载单元,用于将所述生成单元生成的与从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上;分配单元,用于为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间;发送单元,用于向所述设备副本对应的设备所在的从节点发送所述分配单元分配的与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。一种设备初始化的装置,包括获取单元,用于获取从节点内的设备的设备信息;建立单元,用于根据所述获取单元获取的所述从节点内的设备的设备信息在所述从节点内建立总线树;挂载单元,用于将所述从节点内的设备挂载在所述总线树上;接收单元,用于接收主节点发送地址空间信息,所述地址空间信息指示与所述从节点内的设备的设备副本对应的地址空间;分配单元,用于根据所述接收单元接收的与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。一种设备初始化的系统,包括主节点和至少一个从节点;其中,所述主节点,用于获取主节点内和从节点内的设备的设备信息;根据所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树;根据所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本,所述从节点内的设备与对应所述设备的设备副本具有相同的设备信息;将与所述从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上,并为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间;向所述设备副本对应的设备所在的从节点发送与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间;
所述从节点,用于获取从节点内的设备的设备信息;根据所述从节点内的设备的设备信息在所述从节点内建立总线树;将所述从节点内的设备挂载在所述总线树上;接收主节点发送地址空间信息,所述地址空间信息指示与所述从节点内的设备的设备副本对应的地址空间;根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。本发明实施例提供的设备初始化的方法、装置及系统,获取主节点和从节点内所有设备的设备信息,并根据所有设备的设备信息在主节点内建立总线树,与现有技术提供的技术方案相比,不需要为每个从节点单独建立一条总线桥,使得总线树的拓扑结构更加简单,从而让虚拟机系统设置上更加简单,降低了系统负担,提高了虚拟机的初始化效率。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例I中的一种设备初始化的方法流程图;图2为本发明实施例I中的一种总线树结构图;图3为本发明实施例I中的另一种设备初始化的方法流程图;图4为本发明实施例2中的一种设备初始化的装置的组成框图;图5为本发明实施例2中的另一种设备初始化的装置的组成框图;图6为本发明实施例3中的另一种设备初始化的装置的组成框图;图7为本发明实施例3中的一种设备初始化的系统的组成框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例I本发明实施例提供了一种设备初始化的方法,如图I所示,该方法为主节点侧的方法,包括101、获取主节点内和从节点内的设备的设备信息。其中,所述设备信息用于标识各个节点内的设备对应的设备名称、设备型号、设备所在的节点等信息,本发明实施例在此不一一列举。需要说明的是,设备信息的获取可以是直接从系统配置文件中获取的,也可以是通过与其它节点进行交互获取的,本发明实施例对此不进行限制。其中,主节点和从节点可以为单片机、服务器单板等设备,本发明实施例对此不进行限制。102、根据所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树。其中,所述根据所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树的实现方式如下,具体包括根据所述设备信息获取所有节点设备的设备类型,并根据设备类型,建立如图2所示的总线树结构,其中,在该总线树结构中只有一条总线,并且所有设备都连接在该条总线上。当然,总线树的结构不限制于如图2所示的总线树结构,当设备类型复杂或者设备数量比较多时,也可以设置多级总线,本发明实施例对此不进行限制。103、根据所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本,所述从节点内的设备与对应所述设备的设备副本具有相同的设备信肩、O需要说明的是,从节点内的每个设备都在主节点内对应生成一个设备副本,以使得主节点内的可检测到的设备能够包括所有设备,其中,设备副本就是主节点内的配置文件,在主节点内系统内,一个设备副本相当于一个实体设备。104、将与所述从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上,并为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间。其中,所述将与所述从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上的实现方法为将按照总线树的逻辑结构将将所述从节点内的设备的设备副本以及所述主节点内的设备连接到总线树上,具体实现方法为本领域技术人员公知的技术,本发明实施例在此不再详细描述。其中,所述为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间的实现方法如下,具体为获取地址空间范围信息,所述地址空间范围信息指示所有节点各自对应的地址空间段。根据所述所有节点各自对应的地址空间段,为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间。值得说明的是,所述地址空间范围信息为预先设置的,可以按照每个节点内的设备所需的地址空间范围大小顺序,选择最大的地址空间范围作为所有节点对应的地址空间段,也可以根据每个节点内的设备所需的地址空间范围对应设置每个节点对应的地址空间段,但是必须保证每个节点的地址空间段不能有重叠。105、向所述设备副本对应的设备所在的从节点发送与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。其中,所述地址空间信息可以使用新的专用信令承载,也可以使用已有的信令进行承载,本发明实施例对此不进行限制。本发明实施例还提供了一种设备初始化的方法,如图3所述,该方法为从节点侧的方法,包括201、获取从节点内的设备的设备信息。
202、根据所述从节点内的设备的设备信息在所述从节点内建立总线树。其中,从节点内的总线树的结构可以设置为与主节点内的总线树具有相同的结构,也可以独立设置,本发明实施例对此不进行限制。203、将所述从节点内的设备挂载在所述总线树上。其中,从节点内的设备在从节点内的总线树上的挂载方式可以设置为与主节点内的对应的设备副本的挂载方式,也可以独立设置,本发明实施例对此不进行限制。
204、接收主节点发送地址空间信息,所述地址空间信息指示与所述从节点内的设备的设备副本对应的地址空间。205、根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。本发明实施例提供的设备初始化的方法,获取主节点和从节点内所有设备的设备信息,并根据所有设备的设备信息在主节点内建立总线树,与现有技术提供的技术方案相比,不需要为每个从节点単独建立一条总线桥,使得总线树的拓扑结构更加简单,从而让虚拟机系统设置上更加简单,降低了系统负担,提高了虚拟机的初始化效率。并且,为每个节点内的设备统一分配到对应的地址空间段中,使得同一个节点内的设备能够设置到连续的地址空间上,方便后续访问操作。实施例2本发明实施例提供了一种设备初始化的装置,如图4所示,该装置包括获取单元31、建立単元32、生成単元33、挂载单元34、分配単元35、发送单元36。获取单元31,用于获取主节点内和从节点内的设备对应的设备信息。建立単元32,用于根据所述获取単元31获取的所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树。生成単元33,用于根据所述获取単元31获取的所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本,所述从节点内的设备与对应所述设备的设备副本具有相同的设备信息。挂载单元34,用于将所述生成単元33生成的与从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上。 分配単元35,用于为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间。发送单元36,用于向所述设备副本对应的设备所在的从节点发送所述分配単元分配的与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点根据与所述对设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。可选的是,如图5所示,所述分配単元35具体包括获取模块351、分配模块352。获取模块351,用于获取地址空间范围信息,所述地址空间范围信息指示所有节点各自对应的地址空间段。
分配模块352,用于根据所述获取模块351获取的所述所有节点各自对应的地址空间段,为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间。
本发明实施例还提供了一种设备初始化的装置,如图6所示,该装置包括获取单元41、建立单元42、挂载单元43、接收单元44、分配单元45。获取单元41,用于获取从节点内的设备的设备信息。建立単元42,用于根据所述获取単元41获取的所述从节点内的设备的设备信息在从节点内建立总线树。挂载单元43,用于将所述从节点内的设备挂载在所述总线树上。接收单元44,用于接收主节点发送地址空间信息,所述地址空间信息指示与所述从节点内的设备的设备副本对应的地址空间。分配単元45,用于根据所述接收単元44接收的与所述设备副本对应的地址空间 为所述从节点内的设备分配与所述设备副本对应的地址空间。本发明实施例还提供了一种设备初始化的系统,如图7所示,该系统包括;主节点51和至少ー个从节点52,包括从节点52-1至52-n ;其中,所述主节点51,获取主节点51内和从节点52内的设备的设备信息;根据所述主节点51内和从节点52内的设备的设备信息在所述主节点51内建立总线树;根据所述从节点52内的设备的设备信息,生成所述从节点52内与所述设备信息对应的设备的设备副本,所述从节点52内的设备与对应所述设备的设备副本具有相同的设备信息;将与所述从节点52内的设备对应的设备副本以及所述主节点51内的设备挂载在所述总线树上,并为与所述从节点52内的设备对应的设备副本以及所述主节点51内的设备分配对应的地址空间;向所述设备副本对应的设备所在的从节点52发送与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点52根据与所述设备副本对应的地址空间为所述从节点52内的设备分配与所述设备副本对应的地址空间;所述从节点52,用于获取从节点52内的设备的设备信息;根据所述从节点52内的设备的设备信息在所述从节点52内建立总线树;将所述从节点52内的设备挂载在所述总线树上;接收主节点51发送地址空间信息,所述地址空间信息指示与所述从节点52内的设备的设备副本对应的地址空间;根据与所述设备副本对应的地址空间为所述从节点52内的设备分配与所述设备副本对应的地址空间。本发明实施例提供的设备初始化的装置及系统,获取主节点和从节点内所有设备的设备信息,并根据所有设备的设备信息在主节点内建立总线树,与现有技术提供的技术方案相比,不需要为每个从节点单独建立一条总线桥,使得总线树的拓扑结构更加简单,从而让虚拟机系统设置上更加简单,降低了系统负担,提高了虚拟机的初始化效率。并且,为每个节点内的设备统一分配到对应的地址空间段中,使得同一个节点内的设备能够设置到连续的地址空间上,方便后续访问操作。通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
权利要求
1.一种设备初始化的方法,其特征在于,包括 获取主节点内和从节点内的设备的设备信息; 根据所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树; 根据所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本,所述从节点内的设备与对应所述设备的设备副本具有相同的设备信息; 将与所述从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上,并为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间; 向所述设备副本对应的设备所在的从节点发送与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。
2.根据权利要求I所述的方法,其特征在于,所述为与所述从节点内的设备对应的设备副本以及所述主节点设备分配对应的地址空间包括 获取地址空间范围信息,所述地址空间范围信息指示所有节点各自对应的地址空间段; 根据所述所有节点各自对应的地址空间段,为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间。
3.一种设备初始化的方法,其特征在于,包括 获取从节点内的设备的设备信息; 根据所述从节点内的设备的设备信息在所述从节点内建立总线树; 将所述从节点内的设备挂载在所述总线树上; 接收主节点发送地址空间信息,所述地址空间信息指示与所述从节点内的设备的设备副本对应的地址空间; 根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。
4.一种设备初始化的装置,其特征在于,包括 获取单元,用于获取主节点内和从节点内的设备对应的设备信息; 建立单元,用于根据所述获取单元获取的所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树; 生成单元,用于根据所述获取单元获取的所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本,所述从节点内的设备与对应所述设备的设备副本具有相同的设备信息; 挂载单元,用于将所述生成单元生成的与从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上; 分配单元,用于为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间; 发送单元,用于向所述设备副本对应的设备所在的从节点发送所述分配单元分配的与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。
5.根据权利要求4所述的装置,其特征在于,所述分配单元具体包括 获取模块,用于获取地址空间范围信息,所述地址空间范围信息指示所有节点各自对应的地址空间段; 分配模块,用于根据所述获取模块获取的所述所有节点各自对应的地址空间段,为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间。
6.一种设备初始化的装置,其特征在于,包括 获取单元,用于获取从节点内的设备的设备信息; 建立单元,用于根据所述获取单元获取的所述从节点内的设备的设备信息在所述从节点内建立总线树; 挂载单元,用于将所述从节点内的设备挂载在所述总线树上; 接收单元,用于接收主节点发送地址空间信息,所述地址空间信息指示与所述从节点内的设备的设备副本对应的地址空间; 分配单元,用于根据所述接收单元接收的与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。
7.一种设备初始化的系统,其特征在于,包括主节点和至少一个从节点;其中, 所述主节点,获取主节点内和从节点内的设备的设备信息;根据所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树;根据所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本,所述从节点内的设备与对应所述设备的设备副本具有相同的设备信息;将与所述从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上,并为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间;向所述设备副本对应的设备所在的从节点发送与所述设备副本对应的地址空间信息,所述地址空间信息指示所述设备副本对应的地址空间,以使得所述从节点根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间; 所述从节点,用于获取从节点内的设备的设备信息;根据所述从节点内的设备的设备信息在所述从节点内建立总线树;将所述从节点内的设备挂载在所述总线树上;接收主节点发送地址空间信息,所述地址空间信息指示与所述从节点内的设备的设备副本对应的地址空间;根据与所述设备副本对应的地址空间为所述从节点内的设备分配与所述设备副本对应的地址空间。
全文摘要
本发明公开了一种设备初始化的方法、装置及系统,涉及计算机技术领域,能够降低虚拟机系统复杂度,提高虚拟机初始化效率。本发明包括获取主节点内和从节点内的设备的设备信息;根据所述主节点内和从节点内的设备的设备信息在所述主节点内建立总线树;根据所述从节点内的设备的设备信息,生成所述从节点内与所述设备信息对应的设备的设备副本;将与所述从节点内的设备对应的设备副本以及所述主节点内的设备挂载在所述总线树上,并为与所述从节点内的设备对应的设备副本以及所述主节点内的设备分配对应的地址空间;向所述设备副本对应的设备所在的从节点发送与所述设备副本对应的地址空间信息。本发明实施例主要用于虚拟机初始化的过程中。
文档编号G06F9/455GK102662724SQ20121006911
公开日2012年9月12日 申请日期2012年3月15日 优先权日2012年3月15日
发明者董益兼 申请人:华为技术有限公司