一种信息获取方法、电子设备及存储介质与流程

文档序号:33510120发布日期:2023-03-21 22:21阅读:35来源:国知局
一种信息获取方法、电子设备及存储介质与流程

1.本发明实施例涉及虚拟化技术领域,尤其涉及一种信息获取方法、电子设备及存储介质。


背景技术:

2.随着信息技术的快速发展,虚拟化技术也在飞速发展。虚拟化技术可以实现在单台机器上运行多个虚拟系统,提高硬件的利用率,进而降低生产成本。现有的基于虚拟化技术的虚拟化平台又以vmware vsphere最为成熟,使用最为广泛。vmware vsphere提供有vmware vsphere应用程序接口(application programming interface,api),该vmware vsphere api提供了对vsphere管理组件的访问,可以用来管理、监视和控制虚拟机和其他虚拟基础架构组件(如数据中心、数据存储和网络等)的生命周期操作的管理对象。在使用vmware vsphere api对vmware vsphere进行管理时,首要的就是要获取vmware vsphere上的虚拟机信息。
3.目前,客户端是发送超文本传输协议(hypertext transfer protocol,http)请求至vmware vsphere服务器以获取虚拟机信息,vmware vsphere服务器再根据http请求返回指示虚拟机信息的响应信息。然而,由于在生产环境中,通常虚拟机的数量规模都能达到千级以上级别,如果要获取所有虚拟机信息则需要发送大量的http请求以及接收大量的响应信息,这些http请求和响应信息中也存在大量的重复内容,从而导致获取虚拟机信息时传输数据量以及消耗时间的增加,进而影响虚拟机信息获取的效率。


技术实现要素:

4.本发明实施例提供了一种信息获取方法、电子设备及存储介质,以提高信息获取的效率。
5.根据本发明实施例的一方面,提供了一种信息获取方法,包括:
6.与服务端建立连接;
7.创建第一对象属性过滤器,其中,所述第一对象属性过滤器指定的第一对象指示所述服务端的虚拟化平台上的所有虚拟机,所述第一对象属性过滤器指定的第一待获取属性为与虚拟机信息所关联的属性;
8.针对所述第一对象所对应的每个虚拟机,通过所述第一对象属性过滤器从所述虚拟化平台中获取所述虚拟机的第一目标属性值,并将所述第一目标属性值作为所述虚拟机对应的虚拟机信息,所述第一目标属性值为所述第一待获取属性对应的属性值;
9.通过所创建的第一属性收集器收集各所述虚拟机对应的虚拟机信息,并将所收集的所有虚拟机信息缓存在本地。
10.根据本发明实施例的另一方面,提供了一种电子设备,所述电子设备包括:
11.至少一个处理器;以及
12.与所述至少一个处理器通信连接的存储器;其中,
13.所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的信息获取方法。
14.根据本发明实施例的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的信息获取方法。
15.本发明实施例的技术方案,首先与服务端建立连接;然后创建第一对象属性过滤器,其中,第一对象属性过滤器指定的第一对象指示服务端的虚拟化平台上的所有虚拟机,第一对象属性过滤器指定的第一待获取属性为与虚拟机信息所关联的属性;之后针对第一对象所对应的每个虚拟机,通过第一对象属性过滤器从虚拟化平台中获取虚拟机的第一目标属性值,并将第一目标属性值作为虚拟机对应的虚拟机信息,第一目标属性值为第一待获取属性对应的属性值;最后通过所创建的第一属性收集器收集各虚拟机对应的虚拟机信息,并将所收集的所有虚拟机信息缓存在本地。该方法通过所创建的第一对象属性过滤器从虚拟化平台中获取所有虚拟机的虚拟机信息,还通过第一属性收集器收集所有虚拟机信息并缓存在本地,能够避免由于发送大量请求而导致获取虚拟机信息时传输数据量以及消耗时间的增加的问题,从而提高了信息获取的效率。
16.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
17.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
18.图1为本发明实施例一提供的一种信息获取方法的流程示意图;
19.图2为本发明实施例二提供的一种信息获取方法的流程示意图;
20.图3为本发明实施例三提供的一种信息获取装置的结构示意图;
21.图4为本发明实施例四提供的一种电子设备的结构示意图。
具体实施方式
22.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
23.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
24.伴随着信息技术的快速发展,虚拟化技术也在飞速发展。虚拟化技术可以实现在单台机器上运行多个虚拟系统、提高硬件的利用率,进而降低生产成本。虚拟化平台主要以vmware虚拟化技术最为成熟,使用最为广泛。
25.由于虚拟化的广泛应用,各种依赖于虚拟化的产品也随之出现。例如云计算中的计算资源服务就使用了虚拟化技术,还有灾备领域针对虚拟机数据保护的产品等。这些产品不可避免都要与虚拟化平台进行交互,其交互性能将会影响自身产品的使用体验,因此平台接口对接的性能在开发中也是非常重要的一环。
26.vmware vsphere提供有vmware vsphere api reference documentation,该api提供了对vsphere管理组件的访问,可以用来管理、监视和控制虚拟机和其他虚拟基础架构组件(如数据中心、数据存储和网络等)的生命周期操作的管理对象。vmware vsphere api主要可涉及以下三种数据类型:
27.1.managed object:代表服务端对象,在vsphere server上,代表着vsphere的服务和组件,都直接或间接继承自管理实体(managedentity)抽象类。
28.2.managed object referenece:代表客户端对服务端对象的引用,客户端应用程序可通过使用managedobjectreference objects来向服务器发送请求操作。
29.3.data objects(即数据对象):包含着关于managed objects的信息,客户端(即client)通过发送data objects和接收data objects与服务端(即server)进行通信(如通过键值对的形式)。
30.vsphere api可以以全球广域网(world wide web,web)service的形式公开,在vmware vsphere服务器系统上运行。客户端与vsphere服务器之间可以通过基于可扩展标记语言(extensible markup language,xml)的简单对象访问协议(simple object access protocol,soap)进行通信,其使用xml编写简单的请求和回复消息,并用http协议进行传输。soap相当于是将请求和回复放到一个信封里面,就像是传递一个邮件一样。信封里包括信封抬头和正文,抬头用来表示soap信息、soap的头部信息,正文包含所有的调用和响应信息。超文本传输协议(hyper text transfer protocol,http)则可以是一个基于传输控制协议(tcp,transmission control protocol)/网际互连协议(internet protocol,ip)来传递数据的协议。一个http请求消息包含请求行(request line)、请求头部(header)、空行和请求数据四个部分组成;一个响应消息也可由四个部分组成,分别是:状态行、消息报头、空行和响应正文。
31.本发明实施例在使用vsphere api对vsphere进行管理时,首要的就是要获取vsphere上的虚拟机信息。在生产环境中,通常虚拟机的数量规模都能达到千及以上级别,如果需要获取所有虚拟机的虚拟机信息则必然需要发送以及接收大量的http请求,这些http请求包含的http请求头相同,而且请求体中的soap头部信息也相同,相应的vsphere的响应中也存在大量重复的内容,这将导致获取虚拟机信息时传输数据量以及消耗时间的增加。
32.本发明实施例主要是通过遍历vsphere管理对象的层次结构以实现获取所有虚拟
机的信息,服务实例(service instance)下一层级为vsphere平台的根文件夹,根文件夹的下一层级为数据中心(即datacenter);具体流程如下:从datacenter向下遍历,记录每层的虚拟机(virtualmachine,vm)及其子类(即每层的下一层级的对象),然后对子类重复此过程,直至到当前层无子类。此时可得到整个datacenter的层次结构及每层的virtualmachine;然后再遍历所有的virtualmachine,依次获取其配置信息、网络信息和运行信息等即可。其中,子类可以是指由某个类的对象实例集合的子集所形成的类;前者称为该子类的超类或父类;子类拥有其超类(父类)的全部属性和全部操作,而且还具有自己特有的属性或操作。
33.在本发明实施例中,当虚拟机数量较多时,忽略掉只需要有限次数请求即可得到的层次结构,整个流程的请求数量与虚拟机数量是线性相关的,系数可以取决于需要取得的虚拟机信息的种类。
34.针对上述获取虚拟机信息随环境规模增长而线性增长的问题,本发明提供一种使用vmware vsphere api高效获取整个虚拟化平台虚拟机信息的方法。本发明可以将大批量的virtualmachine信息的查询请求压缩成少量的请求,并在获取整个平台的信息的过程中引入缓存机制,减少重复信息的获取。这样就可以大量的减少请求数量,即使虚拟机规模再度扩大,也不会增加请求数量,即可以使得获取所有虚拟机信息这个流程的请求数量是常数级别的。
35.实施例一
36.图1为本发明实施例一提供的一种信息获取方法的流程示意图,该方法可适用于对服务端的虚拟化平台上的信息进行获取以提高获取效率的情况,该方法可以由信息获取装置来执行,其中该装置可由软件和/或硬件实现,并一般集成在电子设备上,在本实施例中电子设备包括但不限于:台式计算机、笔记本电脑和服务器等设备。可理解的是,电子设备可理解为客户端所属设备。
37.如图1所示,本发明实施例一提供的一种信息获取方法,该方法包括如下步骤:
38.s110、与服务端建立连接。
39.在本实施例中,客户端所属电子设备与服务端建立连接,也就是说,客户端连接到服务端(如vsphere服务端)。此处对如何与服务端建立连接不作具体限定。
40.s120、创建第一对象属性过滤器。
41.在本实施例中,第一对象属性过滤器可理解为用于匹配过滤出所指定对象和属性所对应虚拟机信息的组件。
42.第一对象属性过滤器可以指定有第一对象和第一待获取属性;也就是说,第一对象和第一待获取属性可认为是第一对象属性过滤器所配置的用于指示虚拟机信息过滤的参数。第一对象属性过滤器指定的第一对象可以指示服务端的虚拟化平台上的所有虚拟机。第一对象属性过滤器指定的第一待获取属性可理解为与虚拟机信息所关联的属性。此处对第一待获取属性的具体内容不作具体限定,可根据实际需求进行灵活设定;如可以包括虚拟机配置属性(即config属性)、虚拟机网络属性(即network属性)以及虚拟机所在主机属性(即summary.runtime.host属性)等。
43.虚拟机信息可理解为与虚拟机所关联的信息;此处对虚拟机信息的具体内容不作具体限定,如可包括虚拟机配置信息、虚拟机网络信息以及虚拟机所在主机信息等。
44.电子设备在连接到服务端之后,可以创建一个第一对象属性过滤器,以用于获取服务端上所有虚拟机的虚拟机信息。
45.s130、针对第一对象所对应的每个虚拟机,通过第一对象属性过滤器从虚拟化平台中获取虚拟机的第一目标属性值,并将第一目标属性值作为虚拟机对应的虚拟机信息。
46.在本实施例中,第一目标属性值可理解为第一待获取属性对应的属性值;如虚拟机配置属性所对应的属性值为虚拟机配置信息,虚拟机网络属性所对应的属性值为虚拟机网络属性,虚拟机所在主机属性所对应的属性值为虚拟机所在主机信息。
47.本实施例针对第一对象属性过滤器所指定第一对象所对应指示的每个虚拟机,可以通过第一对象属性过滤器从虚拟化平台中获取该虚拟机的第一目标属性值,并将该第一目标属性值作为该虚拟机对应的虚拟机信息,以此通过第一对象属性过滤器可以获取到所指定的虚拟化平台上所有虚拟机的虚拟机信息。
48.s140、通过所创建的第一属性收集器收集各虚拟机对应的虚拟机信息,并将所收集的所有虚拟机信息缓存在本地。
49.在本实施例中,本地可理解为电子设备的本地存储空间。第一属性收集器可理解为用于收集第一对象属性过滤器所过滤出的各虚拟机所对应虚拟机信息的组件。
50.电子设备可以通过所创建的第一属性收集器收集各虚拟机对应的虚拟机信息,并将所收集的所有虚拟机信息缓存在本地,以实现对虚拟机信息的获取。
51.本发明实施例一提供的一种信息获取方法,首先与服务端建立连接;然后创建第一对象属性过滤器,其中,第一对象属性过滤器指定的第一对象指示服务端的虚拟化平台上的所有虚拟机,第一对象属性过滤器指定的第一待获取属性为与虚拟机信息所关联的属性;之后针对第一对象所对应的每个虚拟机,通过第一对象属性过滤器从虚拟化平台中获取虚拟机的第一目标属性值,并将第一目标属性值作为虚拟机对应的虚拟机信息,第一目标属性值为第一待获取属性对应的属性值;最后通过所创建的第一属性收集器收集各虚拟机对应的虚拟机信息,并将所收集的所有虚拟机信息缓存在本地。该方法通过所创建的第一对象属性过滤器从虚拟化平台中获取所有虚拟机的虚拟机信息,还通过第一属性收集器收集所有虚拟机信息并缓存在本地,能够避免由于发送大量请求而导致获取虚拟机信息时传输数据量以及消耗时间的增加的问题,从而提高了信息获取的效率。
52.实施例二
53.图2为本发明实施例二提供的一种信息获取方法的流程示意图,本实施例二在上述各实施例的基础上进行细化。在本实施例中,对确定第一对象的过程进行了具体描述。需要说明的是,未在本实施例中详尽描述的技术细节可参见上述任意实施例。如图2所示,该方法包括:
54.如图2所示,本发明实施例二提供的一种信息获取方法,包括如下步骤:
55.s210、与服务端建立连接。
56.s220、为虚拟化平台的根文件夹创建一个管理数据类型为虚拟机的第一容器视图。
57.本实施例中,容器视图可表示为containerview,可理解为用于指示和管理对象的容器组件。第一容器视图可以指示虚拟化平台的所有虚拟机;也就是说,第一容器视图所指示的对象为虚拟化平台的所有虚拟机;第一容器视图只与虚拟化平台上的虚拟机实体关
联。根文件夹(即rootfolder)可理解为虚拟化平台最初始时所创建的文件夹,也可认为是结构层级为最上层的文件夹。管理数据类型可理解为容器视图所管理对象的数据类型。
58.电子设备可以为虚拟化平台的根文件夹创建一个管理数据类型为虚拟机(即virtualmachine)的第一容器视图,以用于指示虚拟化平台的所有虚拟机。
59.s230、将第一容器视图确定为第一对象。
60.本实施例中,可以将第一容器视图确定为第一对象;也就是说,可以将第一容器视图所指示的虚拟化平台的所有虚拟机确定为第一对象。
61.s240、创建第一对象属性过滤器。
62.本实施例中,第一对象属性过滤器指定的第一对象可以指示服务端的虚拟化平台上的所有虚拟机。第一对象属性过滤器指定的第一待获取属性可以为与虚拟机信息所关联的属性。
63.s250、针对第一对象所对应的每个虚拟机,通过第一对象属性过滤器从虚拟化平台中获取虚拟机的第一目标属性值,并将第一目标属性值作为虚拟机对应的虚拟机信息。
64.本实施例中,第一目标属性值可以为第一待获取属性对应的属性值。
65.s260、通过所创建的第一属性收集器收集各虚拟机对应的虚拟机信息,并将所收集的所有虚拟机信息缓存在本地。
66.本发明实施例二提供的一种信息获取方法,具体化了确定第一对象的过程。该方法通过为根文件夹创建一个第一容器视图,能够使得第一容器视图指示根文件夹下所有层级的虚拟机即虚拟化平台上的所有虚拟机,并将第一容器视图作为第一对象属性过滤器所指定的第一对象,以通过所创建的第一对象属性过滤器从虚拟化平台中获取所有虚拟机的虚拟机信息,还通过第一属性收集器收集所有虚拟机信息并缓存在本地,能够避免由于发送大量请求而导致获取虚拟机信息时传输数据量以及消耗时间的增加的问题,从而提高了信息获取的效率。
67.可选的,确定第一对象的操作,包括:针对虚拟化平台的根文件夹,基于根文件夹的子实体属性获取根文件夹下一级的所有数据中心;
68.针对每个数据中心,获取数据中心下的所有主机文件夹和每个主机文件夹的子实体属性;
69.基于每个主机文件夹的子实体属性确定数据中心下的目标计算资源;
70.基于目标计算资源确定数据中心下的目标虚拟机标识(identity,id)信息;
71.将各数据中心下的目标虚拟机id信息所指示的虚拟机确定为第一对象。
72.本实施例中,虚拟化平台可理解为基于虚拟化技术的系统平台。数据中心(datacenter)可理解为虚拟化数据中心,可应用于虚拟化平台上,通过虚拟化技术将物理计算资源(如服务器、存储器和网络等硬件资源)抽象整合成单一的逻辑资源后所形成的资源集合体。数据中心也可认为是根文件夹下的一个层级的文件夹,其内可包含有计算资源等。
73.子实体(childentity)属性可理解为表征子实体的属性;子实体可认为是子类或子类实体,也就是说当前实体的下一级(即结构层级的下一层级)的对象实体;一个文件夹的子实体属性可以指示该文件夹下的所有子文件夹;一个文件夹可包含子实体属性。主机文件夹(hostfolder)可理解为指示主机和主机所关联信息的文件夹。目标计算资源可理解
为数据中心下所包含主机文件夹内的所有计算资源。目标虚拟机id信息可理解为数据中心下所包含的所有指示虚拟机id的信息。虚拟机id可理解为唯一指示虚拟机的标识。
74.本实施例针对虚拟化平台的根文件夹,可以获取根文件夹的子实体属性,以基于根文件夹的子实体属性获取根文件夹下一级的所有数据中心(如可以是一个或多个数据中心对应的文件夹)。
75.针对每个数据中心,可以获取该数据中心的子实体属性,以基于该数据中心的子实体属性得到该数据中心下的所有主机文件夹和每个主机文件夹的子实体属性。在此基础上,可以基于每个主机文件夹的子实体属性确定数据中心下的目标计算资源,并基于目标计算资源确定数据中心下的目标虚拟机id信息;将各数据中心下的目标虚拟机id信息所指示的虚拟机确定为第一对象。
76.此处对如何基于每个主机文件夹的子实体属性确定数据中心下的目标计算资源不作具体限定。如,若数据中心下未创建集群,则可以获取数据中心下的每个主机文件夹的子实体属性,以基于每个主机文件夹的子实体属性获取该数据中心下的所有计算资源(即computeresource),并将所获取的所有计算资源确定为目标计算资源。其中,集群可认为是一组协同工作的主机实体。
77.若数据中心下创建有集群,则可以获取数据中心下的每个主机文件夹的子实体属性,以基于每个主机文件夹的子实体属性获取该数据中心下的所有集群计算资源(即clustercomputeresource),并将所获取的所有集群计算资源确定为目标计算资源。
78.此处对如何基于目标计算资源确定数据中心下的目标虚拟机id信息也不作具体限定。如可以基于目标计算资源的主机属性获取到对应的所有主机或主机系统,在此基础上,针对各主机或各主机系统的虚拟机属性(即vm属性)可以获取到各主机或各主机系统对应的所有虚拟机id信息,将所获取的所有虚拟机id信息作为目标虚拟机id信息。
79.可选的,目标计算资源为所有计算资源;
80.基于目标计算资源确定数据中心下的目标虚拟机id信息,包括:基于计算资源的主机属性获取计算资源对应的所有主机;针对各主机中的每个主机,基于主机的虚拟机属性获取主机内的所有第一虚拟机id信息;将所有第一虚拟机id信息确定为数据中心下的目标虚拟机id信息。
81.本实施例中,第一虚拟机id信息可理解为主机内所包含的虚拟机id信息。主机属性可理解为指示主机的属性。虚拟机属性可理解为指示虚拟机的属性。
82.在目标计算资源为所有计算资源的情况下,针对各计算资源中的每个计算资源,可以获取该计算资源的主机属性(即host属性),以基于该计算资源的主机属性获取该计算资源对应的所有主机;针对所获取各主机中的每个主机,获取该主机的虚拟机属性,以基于该主机的虚拟机属性获取该主机内的所有虚拟机id信息;在此基础上,可以将所获取的各主机对应的所有第一虚拟机id信息确定为数据中心下的目标虚拟机id信息。
83.可选的,目标计算资源为所有集群计算资源;
84.基于目标计算资源确定数据中心下的目标虚拟机id信息,包括:
85.针对各集群计算资源中的每个集群计算资源,基于集群计算资源的主机属性获取集群计算资源对应的所有主机系统;针对各主机系统中的每个主机系统,基于主机系统的资源池属性获取主机系统所在的根资源池;获取根资源池下的所有第二虚拟机id信息;将
所有第二虚拟机id信息确定为数据中心下的目标虚拟机id信息。
86.本实施例中,第二虚拟机id信息可理解为根资源池下所包含的虚拟机id信息。主机系统可理解为主机所属的系统。资源池属性可理解为指示资源池的属性。根资源池可理解为结构层级为最上层的资源池;资源池(即resourcepool)可理解为资源的集合,即用于管理虚拟化平台所有可用资源的模块。
87.在目标计算资源为所有集群计算资源的情况下,针对各集群计算资源中的每个集群计算资源,可以获取该集群计算资源的主机属性,以基于该集群计算资源的主机属性获取该集群计算资源对应的所有主机系统(即hostsystem);针对各主机系统中的每个主机系统,获取该主机系统的资源池属性,以基于该主机系统的资源池属性获取该主机系统所在的根资源池。在此基础上,可以获取根资源池下的所有第二虚拟机id信息,并将所获取的所有第二虚拟机id信息确定为数据中心下的目标虚拟机id信息。
88.此处对如何获取根资源池下的所有第二虚拟机id信息不作具体限定,如可以先基于根资源池的虚拟机属性获取根资源池所对应的所有虚拟机id信息作为第二虚拟机id信息;然后基于根资源池的资源池属性获取该根资源池的子资源池,针对所获取的子资源池,也是基于子资源池的虚拟机属性获取子资源池下的虚拟机id信息作为第二虚拟机id信息;再基于子资源池的资源池属性获取子资源池下的子资源池,并基于该子资源池的虚拟机属性获取其下的虚拟机id信息作为第二虚拟机id信息,以此类推,直至遍历完根资源池下所有层级的子资源池。根资源池所对应的虚拟机id信息和所遍历的所有子资源池所对应的虚拟机id信息即可认为是所有第二虚拟机id信息。
89.可选的,该方法还包括:
90.为虚拟化平台的根文件夹创建一个管理数据类型为网络(即network)的第二容器视图,第二容器视图指示虚拟化平台的所有网络实体;
91.创建第二对象属性过滤器,其中,第二对象属性过滤器指定的第二对象为第二容器视图,第二对象属性过滤器指定的第二待获取属性为与网络实体的网络信息所关联的属性;
92.针对所述第二对象所对应的每个网络实体,通过第二对象属性过滤器从虚拟化平台中获取网络实体的第二目标属性值,并将第二目标属性值作为网络实体对应的网络信息,第二目标属性值为第二待获取属性对应的属性值;
93.通过所创建的第二属性收集器收集各网络实体对应的网络信息,并将所收集的所有网络信息缓存在本地。
94.本实施例中,第二容器视图可以指示虚拟化平台的所有网络实体,也就是说,第二容器视图所指示的对象为虚拟化平台的所有网络实体。第二容器视图只与虚拟化平台的网络实体关联。网络实体可理解为虚拟化平台中指示网络的实体对象。可以将第二容器视图所指示的虚拟化平台的所有网络实体确定为第二对象。
95.第二对象属性过滤器可理解为用于匹配过滤出所指定对象和属性所对应网络信息的组件。第二对象属性过滤器可以指定有第二对象和第二待获取属性;也就是说,第二对象和第二待获取属性可认为是第二对象属性过滤器所配置的用于指示网络信息过滤的参数。此处对第二待获取属性的具体内容不作限定,可根据实际需求进行灵活设定;如可以包括网络名称属性(即网络name属性)和网络连接的主机属性等。
96.网络信息可理解为与网络实体所关联的信息。此处对网络信息的具体内容不作具体限定,如可包括网络名称和网络连接的主机等信息。
97.第二目标属性值可理解为第二待获取属性对应的属性值;如网络名称属性所对应属性值为网络名称(如可以是网络id或网络ip地址等),网络连接的主机属性所对应属性值为网络连接的主机。第二属性收集器可理解为用于收集第二对象属性过滤器所过滤出的各网络实体所对应网络信息的组件。
98.可选的,该方法还包括:
99.为虚拟化平台的根文件夹创建一个管理数据类型为主机系统的第三容器视图,第三容器视图指示虚拟化平台的所有主机;
100.创建第三对象属性过滤器,其中,第三对象属性过滤器指定的第三对象为第三容器视图,第三对象属性过滤器指定的第三待获取属性为与主机的主机信息所关联的属性;
101.针对第三对象所对应的每个主机,通过第三对象属性过滤器从虚拟化平台中获取主机的第三目标属性值,并将第三目标属性值作为主机对应的主机信息,第三目标属性值为第三待获取属性对应的属性值;
102.通过所创建的第三属性收集器收集各主机对应的主机信息,并将所收集的所有主机信息缓存在本地。
103.本实施例中,第三容器视图可以指示虚拟化平台的所有主机,也就是说,第三容器视图所指示的对象为虚拟化平台的所有主机。第三容器视图只与虚拟化平台的主机关联。可以将第三容器视图所指示的虚拟化平台的所有主机确定为第三对象。
104.第三对象属性过滤器可理解为用于匹配过滤出所指定对象和属性所对应主机信息的组件。第三对象属性过滤器可以指定有第三对象和第三待获取属性;也就是说,第三对象和第三待获取属性可认为是第三对象属性过滤器所配置的用于指示主机信息过滤的参数。此处对第三待获取属性的具体内容不作限定,可根据实际需求进行灵活设定;如可以包括主机名称属性(即主机name属性)和主机配置信息属性等。
105.主机信息可理解为与主机所关联的信息。此处对主机信息的具体内容不作具体限定,如可包括主机名称和主机配置信息等信息。
106.第三目标属性值可理解为第三待获取属性对应的属性值;如主机名称属性所对应属性值为主机名称(如可以是主机id),主机配置信息属性所对应属性值为主机配置信息。第三属性收集器可理解为用于收集第三对象属性过滤器所过滤出的各主机所对应主机信息的组件。
107.实施例三
108.图3为本发明实施例三提供的一种信息获取装置的结构示意图,该装置可由软件和/或硬件实现。如图3所示,该装置包括:连接模块310、创建模块320、获取模块330和缓存模块340;
109.其中,连接模块310,用于与服务端建立连接;
110.创建模块320,用于创建第一对象属性过滤器,其中,所述第一对象属性过滤器指定的第一对象指示所述服务端的虚拟化平台上的所有虚拟机,所述第一对象属性过滤器指定的第一待获取属性为与虚拟机信息所关联的属性;
111.获取模块330,用于针对所述第一对象所对应的每个虚拟机,通过所述第一对象属
性过滤器从所述虚拟化平台中获取所述虚拟机的第一目标属性值,并将所述第一目标属性值作为所述虚拟机对应的虚拟机信息,所述第一目标属性值为所述第一待获取属性对应的属性值;
112.缓存模块340,用于通过所创建的第一属性收集器收集各所述虚拟机对应的虚拟机信息,并将所收集的所有虚拟机信息缓存在本地。
113.在本实施例中,该装置首先通过连接模块310,与服务端建立连接;然后通过创建模块320,创建第一对象属性过滤器,其中,第一对象属性过滤器指定的第一对象指示服务端的虚拟化平台上的所有虚拟机,第一对象属性过滤器指定的第一待获取属性为与虚拟机信息所关联的属性;之后通过获取模块330,针对第一对象所对应的每个虚拟机,通过第一对象属性过滤器从虚拟化平台中获取虚拟机的第一目标属性值,并将第一目标属性值作为虚拟机对应的虚拟机信息,第一目标属性值为第一待获取属性对应的属性值;最后通过缓存模块340,通过所创建的第一属性收集器收集各虚拟机对应的虚拟机信息,并将所收集的所有虚拟机信息缓存在本地。该装置通过所创建的第一对象属性过滤器从虚拟化平台中获取所有虚拟机的虚拟机信息,还通过第一属性收集器收集所有虚拟机信息并缓存在本地,能够避免由于发送大量请求而导致获取虚拟机信息时传输数据量以及消耗时间的增加的问题,从而提高了信息获取的效率。
114.可选的,该装置还包括:
115.第一视图创建模块,用于为所述虚拟化平台的根文件夹创建一个管理数据类型为虚拟机的第一容器视图,所述第一容器视图指示所述虚拟化平台的所有虚拟机;
116.第一确定模块,用于将所述第一容器视图确定为第一对象。
117.可选的,该装置还包括:
118.数据中心获取模块,用于针对所述虚拟化平台的根文件夹,基于所述根文件夹的子实体属性获取所述根文件夹下一级的所有数据中心;
119.第一文件夹模块,用于针对每个数据中心,获取所述数据中心下的所有主机文件夹和每个主机文件夹的子实体属性;
120.资源确定模块,用于基于每个主机文件夹的子实体属性确定所述数据中心下的目标计算资源;
121.id信息获取模块,用于基于所述目标计算资源确定所述数据中心下的目标虚拟机id信息;
122.第二确定模块,用于将各所述数据中心下的目标虚拟机id信息所指示的虚拟机确定为第一对象。
123.可选的,资源确定模块,包括:
124.第一资源确定单元,用于若所述数据中心下未创建集群,则基于所述数据中心下的每个主机文件夹的子实体属性,获取所述数据中心下的所有计算资源,并将所述所有计算资源确定为目标计算资源;
125.第二资源确定单元,用于若所述数据中心下创建有集群,则基于所述数据中心下的每个主机文件夹的子实体属性,获取所述数据中心下的所有集群计算资源,并将所述所有集群计算资源确定为目标计算资源。
126.可选的,所述目标计算资源为所述所有计算资源;
127.id信息获取模块,包括:
128.第一获取单元,用于针对各所述计算资源中的每个计算资源,基于所述计算资源的主机属性获取所述计算资源对应的所有主机;
129.第二获取单元,用于针对各所述主机中的每个主机,基于所述主机的虚拟机属性获取所述主机内的所有第一虚拟机id信息;
130.第一信息确定单元,用于将所述所有第一虚拟机id信息确定为所述数据中心下的目标虚拟机id信息。
131.可选的,所述目标计算资源为所述所有集群计算资源;
132.id信息获取模块,包括:
133.第三获取单元,用于针对各所述集群计算资源中的每个集群计算资源,基于所述集群计算资源的主机属性获取所述集群计算资源对应的所有主机系统;
134.第四获取单元,用于针对各所述主机系统中的每个主机系统,基于所述主机系统的资源池属性获取所述主机系统所在的根资源池;
135.第五获取单元,用于获取所述根资源池下的所有第二虚拟机id信息;
136.第二信息确定单元,用于将所述所有第二虚拟机id信息确定为数据中心下的目标虚拟机id信息。
137.可选的,该装置还包括:
138.第二视图创建模块,用于为所述虚拟化平台的根文件夹创建一个管理数据类型为网络的第二容器视图,所述第二容器视图指示所述虚拟化平台的所有网络实体;
139.第一过滤器创建模块,用于创建第二对象属性过滤器,其中,所述第二对象属性过滤器指定的第二对象为所述第二容器视图,所述第二对象属性过滤器指定的第二待获取属性为与网络实体的网络信息所关联的属性;
140.网络信息获取模块,用于针对所述第二对象所对应的每个网络实体,通过所述第二对象属性过滤器从所述虚拟化平台中获取所述网络实体的第二目标属性值,并将所述第二目标属性值作为所述网络实体对应的网络信息,所述第二目标属性值为所述第二待获取属性对应的属性值;
141.网络信息收集模块,用于通过所创建的第二属性收集器收集各所述网络实体对应的网络信息,并将所收集的所有网络信息缓存在本地。
142.可选的,该装置还包括:
143.第三视图创建模块,用于为所述虚拟化平台的根文件夹创建一个管理数据类型为主机系统的第三容器视图,所述第三容器视图指示所述虚拟化平台的所有主机;
144.第二过滤器创建模块,用于创建第三对象属性过滤器,其中,所述第三对象属性过滤器指定的第三对象为所述第三容器视图,所述第三对象属性过滤器指定的第三待获取属性为与主机的主机信息所关联的属性;
145.主机信息获取模块,用于针对所述第三对象所对应的每个主机,通过所述第三对象属性过滤器从所述虚拟化平台中获取所述主机的第三目标属性值,并将所述第三目标属性值作为所述主机对应的主机信息,所述第三目标属性值为所述第三待获取属性对应的属性值;
146.主机信息收集模块,用于通过所创建的第三属性收集器收集各所述主机对应的主
机信息,并将所收集的所有主机信息缓存在本地。
147.本发明实施例所提供的信息获取装置可执行本发明任意实施例所提供的信息获取方法,具备执行方法相应的功能模块和有益效果。
148.实施例四
149.图4为本发明实施例四提供的一种电子设备的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
150.如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
151.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
152.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如信息获取方法。
153.在一些实施例中,信息获取方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的信息获取方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行信息获取方法。
154.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
155.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
156.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
157.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
158.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
159.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
160.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
161.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1