对虚拟机进行分类排序的方法、装置和电子设备与流程

文档序号:25089259发布日期:2021-05-18 19:29阅读:271来源:国知局
对虚拟机进行分类排序的方法、装置和电子设备与流程

1.本发明涉及虚拟机技术领域,尤其是涉及一种对虚拟机进行分类排序的方法、装置和电子设备。


背景技术:

2.随着openstack集群的性能提高,虚拟机的数量也逐渐增大,在openstack管理大规模虚拟机时,通常有对大规模虚拟机进行分类查看的需求,相关技术中,可以基于虚拟机的名称或创建时间等固有属性进行排序,但该方式并不能对大规模虚拟机进行精确分类。


技术实现要素:

3.本发明的目的在于提供一种对虚拟机进行分类排序的方法、装置和电子设备,以对虚拟机进行精确分类查看。
4.本发明提供的一种对虚拟机进行分类排序的方法,所述方法包括:响应于标签选中指令,显示虚拟机列表;所述虚拟机列表中,至少一部分虚拟机具有所述标签选中指令包含的被选中标签的标签值;响应于所述被选中标签中目标标签的触发指令,基于所述目标标签的标签值,对所述虚拟机列表中的虚拟机进行排序,得到排序结果;所述排序结果中,具有所述目标标签的同一标签值的虚拟机相邻排列。
5.进一步的,预设属性列表中包括多个标签;所述响应于标签选中指令,显示虚拟机列表的步骤包括:响应于所述标签选中指令,从所述预设属性列表包括的所述多个标签中确定被选中标签;基于所述被选中标签生成并显示所述虚拟机列表;所述虚拟机列表的表项包括所述被选中标签。
6.进一步的,所述目标标签预设有多个标签值;所述响应于所述被选中标签中目标标签的触发指令,基于所述目标标签的标签值,对所述虚拟机列表中的虚拟机进行排序,得到排序结果的步骤包括:响应于所述被选中标签中目标标签的触发指令,获取所述至少一部分虚拟机对应的所述目标标签的标签值;将具有同一标签值的虚拟机划分为一个虚拟机集合,得到至少一个虚拟机集合;按所述多个标签值升序或降序的方式,对所述至少一个虚拟机集合进行排序,得到排序结果。
7.进一步的,按所述多个标签值升序或降序的方式,对所述至少一个虚拟机集合进行排序,得到排序结果的步骤之后,所述方法还包括:将不具有所述目标标签的标签值的虚拟机排列在所述排序结果的后面。
8.进一步的,所述虚拟机列表中还包括:不具有所述被选中标签的虚拟机;所述方法还包括:将所述虚拟机列表中,不具有所述被选中标签的虚拟机,排列在所述具有所述被选中标签的虚拟机的后面。
9.进一步的,所述方法还包括:响应于虚拟机创建指令,创建目标虚拟机;响应于标签添加指令,为所述目标虚拟机添加至少一个标签和所述至少一个标签的标签值;保存所述至少一个标签和所述至少一个标签的标签值。
10.进一步的,所述方法还包括:响应于针对指定虚拟机的指定标签的标签删除指令,删除所述指定虚拟机具有的所述指定标签和所述指定标签的标签值。
11.本发明提供的一种对虚拟机进行分类排序的装置,所述装置包括:显示模块,用于响应于标签选中指令,显示虚拟机列表;所述虚拟机列表中,至少一部分虚拟机具有所述标签选中指令包含的被选中标签的标签值;排序模块,用于响应于所述被选中标签中目标标签的触发指令,基于所述目标标签的标签值,对所述虚拟机列表中的虚拟机进行排序,得到排序结果;所述排序结果中,具有所述目标标签的同一标签值的虚拟机相邻排列。
12.本发明提供的一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现上述任一项所述的对虚拟机进行分类排序的方法。
13.本发明提供的一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述任一项所述的对虚拟机进行分类排序的方法。
14.本发明提供的一种对虚拟机进行分类排序的方法、装置和电子设备,响应于标签选中指令,显示虚拟机列表;该虚拟机列表中,至少一部分虚拟机具有该标签选中指令包含的被选中标签的标签值;响应于被选中标签中目标标签的触发指令,基于该目标标签的标签值,对该虚拟机列表中的虚拟机进行排序,得到排序结果;该排序结果中,具有该目标标签的同一标签值的虚拟机相邻排列。该方法可以为虚拟机所具有的标签设置相应的标签值,在虚拟机列表中显示该标签值,并且可以基于该标签值,对虚拟机列表中的虚拟机进行排序,由于不同虚拟机具有的同一标签的标签值可能相同,通过排序便于查看具有同一标签值的虚拟机,进而可以对虚拟机进行精确分类查看。
附图说明
15.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本发明实施例提供的一种对虚拟机进行分类排序的方法的流程图;
17.图2为本发明实施例提供的另一种对虚拟机进行分类排序的方法的流程图;
18.图3为本发明实施例提供的另一种对虚拟机进行分类排序的方法的流程图;
19.图4为本发明实施例提供的一种对虚拟机进行创建的方法的流程图;
20.图5为本发明实施例提供的一种创建虚拟机的示意图;
21.图6为本发明实施例提供的一种属性列表的示意图;
22.图7为本发明实施例提供的一种虚拟机列表示意图;
23.图8为本发明实施例提供的一种对虚拟机进行分类排序的装置的结构示意图;
24.图9为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
25.下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实
施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.随着openstack集群的性能提高,虚拟机的数量也逐渐增大,在openstack管理大规模虚拟机时,也有归类查看虚拟机的需求,如:维护查看指定场景的虚拟机,每一类服务部署的多个虚拟机,需要管理多类服务,需要查看多类服务的虚拟机运行状态等。相关技术中,openstack可以基于虚拟机的固有属性,如名称、创建时间或id(identity document,身份标识号)等进行排序查看,但该方式并不能对大规模虚拟机进行精确分类。
27.基于此,本发明实施例提供了一种对虚拟机进行分类排序的方法、装置和电子设备,该技术可以应用于需要对虚拟机进行精确分类及排序查看的应用中。
28.为便于对本实施例进行理解,首先对本发明实施例所公开的一种对虚拟机进行分类排序的方法进行详细介绍;如图1所示,该方法包括如下步骤:
29.步骤s102,响应于标签选中指令,显示虚拟机列表;虚拟机列表中,至少一部分虚拟机具有标签选中指令包含的被选中标签的标签值。
30.上述标签选中指令可以理解为用户选中标签时所生成的指令;上述虚拟机列表中通常包括多个虚拟机所对应的相关信息,如虚拟机的名称、运行状态、类型或ip(internet protocol,网际互连协议)地址等;上述被选中标签的数量可以是一个,可以是多个,具体可以根据实际筛选需求选择需要被选中的标签;上述标签值可以理解为被选中标签所对应的具体值,该标签值可以用于标记该虚拟机的用途等;比如,被选中标签为“海淀”,其标签值可以是“视频服务”或“音频服务”等;在实际实现时,用户可以从包含多个标签的预设列表中选中标签,比如,可以从预设属性列表中选中一个或多个标签,生成相应的标签选中指令,响应于该标签选中指令,显示虚拟机列表,该虚拟机列表中可以包括多个虚拟机的相关信息,比如,可以包括openstack所管理的大规模虚拟机所对应的相关信息等,在该虚拟机列表所包括的多个虚拟机中,至少有一部分虚拟机具有被选中标签的标签值;比如,虚拟机列表中包括10个虚拟机所对应的相关信息,如果被选中标签为“海淀”,有两个虚拟机具有“海淀”这个被选中标签,两个虚拟机所具有的该标签的标签值可以均为“视频服务”。
31.需要说明的是,通过对openstack进行配置,可以为虚拟机添加标签,并实现从虚拟机的属性列表中选择指定标签的功能。为虚拟机添加标签后,可以通过选中指定标签来显示具有该指定标签的虚拟机。
32.步骤s104,响应于被选中标签中目标标签的触发指令,基于目标标签的标签值,对虚拟机列表中的虚拟机进行排序,得到排序结果;排序结果中,具有目标标签的同一标签值的虚拟机相邻排列。
33.上述目标标签可以是被选中标签中的指定标签,如果被选中标签的数量是一个,则该目标标签即为该被选中标签,如果被选中标签的数量是多个,则该目标标签可以是被选中标签中的任意一个标签;上述触发指令可以是用户触发目标标签时所生成的指令;在实际实现时,当显示虚拟机列表后,用户可以根据实际需求,从显示在虚拟机列表中的被选中标签中确定目标标签,触发该目标标签,生成相应的触发指令,响应于该触发指令,基于该目标标签的标签值,对虚拟机列表中的虚拟机进行排序,在虚拟机列表中,可能有多个虚拟机具有该目标标签的同一标签值,在得到的排序结果中,具有该目标标签的同一标签值
的多个虚拟机相邻排列,比如,虚拟机列表中包括10个虚拟机所对应的相关信息,如果目标标签为“海淀”,有三个虚拟机具有“海淀”这个目标标签,且这三个虚拟机所具有的该目标标签的标签值均为“视频服务”,则在虚拟机列表中,标签值为“视频服务”的这三个虚拟机前后相邻,另外七个虚拟机排列在这三个虚拟机的前面或后面,即,这三个虚拟机之间不会穿插其他虚拟机。
34.本发明实施例提供的一种对虚拟机进行分类排序的方法,响应于标签选中指令,显示虚拟机列表;该虚拟机列表中,至少一部分虚拟机具有该标签选中指令包含的被选中标签的标签值;响应于被选中标签中目标标签的触发指令,基于该目标标签的标签值,对该虚拟机列表中的虚拟机进行排序,得到排序结果;该排序结果中,具有该目标标签的同一标签值的虚拟机相邻排列。该方法可以为虚拟机所具有的标签设置相应的标签值,在虚拟机列表中显示该标签值,并且可以基于该标签值,对虚拟机列表中的虚拟机进行排序,由于不同虚拟机具有的同一标签的标签值可能相同,通过排序便于查看具有同一标签值的虚拟机,进而可以对虚拟机进行精确分类查看。
35.本发明实施例还提供了另一种对虚拟机进行分类排序的方法,该方法在上述实施例方法的基础上实现;该方法中,预设属性列表中包括多个标签;该标签也可以称为标签名称,可以基于虚拟机的具体用途等进行设置,不同的虚拟机所具有的标签可以不同;以openstack管理多个虚拟机为例,该预设属性列表中可以包括多个虚拟机的固有属性名称和多个虚拟机所具有的标签名称,其中,固有属性名称可以包括虚拟机的类型、ip地址或创建时间等名称;标签可以包括“海淀”、“丰台”等;如图2所示,该方法包括如下步骤:
36.步骤s202,响应于标签选中指令,从预设属性列表包括的多个标签中确定被选中标签。
37.在实际实现时,可以基于用户从预设属性列表中选中标签时所生成的标签选中指令,从该预设属性列表所包括的多个标签中确定被选中标签;比如,从预设属性列表中确定的被选中标签可以包括:类型、ip地址、操作系统、创建时间和海淀等。
38.步骤s204,基于被选中标签生成并显示虚拟机列表;虚拟机列表的表项包括被选中标签。
39.上述表项也可以称为表头,该表项可以设置在虚拟机列表的第一行,以便于归类查看或排序等;当从预设属性列表包括的多个标签中确定被选中标签后,可以基于该被选中标签生成虚拟机列表,将该被选中标签包含至虚拟机列表的表项中,显示该虚拟机列表;比如,被选中标签包括类型、ip地址、操作系统、创建时间和海淀,则在所显示的虚拟机列表的表项中包括这些被选中标签。
40.步骤s206,响应于被选中标签中目标标签的触发指令,基于目标标签的标签值,对虚拟机列表中的虚拟机进行排序,得到排序结果;排序结果中,具有目标标签的同一标签值的虚拟机相邻排列。
41.本发明实施例提供的另一种对虚拟机进行分类排序的方法,首先响应于标签选中指令,从预设属性列表包括的多个标签中确定被选中标签,然后基于该被选中标签生成并显示虚拟机列表,响应于被选中标签中目标标签的触发指令,基于目标标签的标签值,对虚拟机列表中的虚拟机进行排序,得到排序结果;该方法可以从预设属性列表中确定被选中标签,并生成包含该被选中标签的虚拟机列表,由于该预设属性列表中包含有多个标签,可
以根据分类需求,直接从多个标签中选择适合的被选中标签,从而提高了对虚拟机进行分类的灵活性和便利性。
42.本发明实施例还提供了另一种对虚拟机进行分类排序的方法,该方法在上述实施例方法的基础上实现;该方法中,目标标签预设有多个标签值;比如,以目标标签是“海淀”为例,“海淀”这个目标标签的标签值可以包括:视频服务、音频服务或音视频服务等;如图3所示,该方法包括如下步骤:
43.步骤s302,响应于标签选中指令,显示虚拟机列表;虚拟机列表中,至少一部分虚拟机具有标签选中指令包含的被选中标签的标签值。
44.步骤s304,响应于被选中标签中目标标签的触发指令,获取至少一部分虚拟机对应的目标标签的标签值。
45.在实际实现时,当显示虚拟机列表后,用户可以根据实际需求,从显示在虚拟机列表中的被选中标签中确定目标标签,触发该目标标签,生成相应的触发指令,响应于该触发指令,获取至少一部分虚拟机对应的该目标标签的标签值,其中,该标签值可以包括多个。
46.步骤s306,将具有同一标签值的虚拟机划分为一个虚拟机集合,得到至少一个虚拟机集合。
47.如果目标标签预设有多个标签值,可以将具有同一标签值的虚拟机划分为一个虚拟机集合,即,在同一个虚拟机集合中,该目标标签的标签值都是相同的,从而可以得到与目标标签预设的多个标签值相对应的多个虚拟机集合;比如,以目标标签是“海淀”为例,“海淀”这个目标标签的标签值包括:视频服务和音频服务两种标签值,可以将标签值为视频服务的虚拟机划分为一个虚拟机集合,将标签值为音频服务的虚拟机划分为另一个虚拟机集合,从而可以得到与两种标签值相对应的两个虚拟机集合。
48.步骤s308,按多个标签值升序或降序的方式,对至少一个虚拟机集合进行排序,得到排序结果。
49.在实际实现时,为了使虚拟机的排序结果更加清晰明确,更便于用户查看,可以对所得到的至少一个虚拟机集合进行排序,得到排序结果;具体的,可以按照至少一个虚拟机集合中,每个虚拟机集合中的标签值升序或降序的方式进行排序;比如,仍以目标标签是“海淀”,其标签值包括视频服务和音频服务两种标签值为例,如果按照标签值升序的方式对虚拟机集合进行排序,则可以将标签值为音频服务的虚拟机集合排列在标签值为视频服务的虚拟机集合的后面;如果按照标签值降序的方式对虚拟机集合进行排序,则可以将标签值为视频服务的虚拟机集合排列在标签值为音频服务的虚拟机集合的后面。
50.这里,排序方式可以有多种。例如可以根据具有该标签值的虚拟机数量进行排序,即包括较多虚拟机的虚拟机集合排在前面,具有较少虚拟机的虚拟机集合排在后面。又例如,可以根据标签值的重要性进行排序,即预先对全部标签值按重要性高低进行排序,在划分虚拟机集合后,重要性高的标签值对应的虚拟机集合排在前面,重要性低的标签值对应的虚拟机集合排在后面。通过上述排序方式,可以更便于用户快速查到所需的虚拟机。
51.步骤s310,将不具有目标标签的标签值的虚拟机排列在排序结果的后面。
52.在实际实现时,考虑到可能有的虚拟机具有该目标标签,但是不具有该目标标签的标签值,也可以理解为在这部分虚拟机中,该目标标签的标签值为空值;当得到上述具有该目标标签的标签值的虚拟机的排序结果后,可以将不具有该目标标签的标签值的虚拟机
排列在该排序结果的后面。
53.本发明实施例提供的另一种对虚拟机进行分类排序的方法,首先响应于标签选中指令,显示虚拟机列表;响应于被选中标签中目标标签的触发指令,获取至少一部分虚拟机对应的目标标签的标签值;然后将具有同一标签值的虚拟机划分为一个虚拟机集合,得到至少一个虚拟机集合,按多个标签值升序或降序的方式,对至少一个虚拟机集合进行排序,得到排序结果;最后将不具有目标标签的标签值的虚拟机排列在排序结果的后面。该方法通过将虚拟机划分为至少一个虚拟机集合,并对该至少一个虚拟机集合进行排序,可以使虚拟机的排序结果更加清晰明确,更便于用户快速查到所需的虚拟机。
54.需要说明的是,通常在虚拟机列表中还包括:不具有被选中标签的虚拟机;这时可以将虚拟机列表中,不具有被选中标签的虚拟机,排列在具有被选中标签的虚拟机的后面。在实际实现时,在虚拟机列表中可能还包括不具有被选中标签的虚拟机,比如,如果被选中标签为“海淀”,可能有的虚拟机并不具有“海淀”这个标签,可以将不具有“海淀”这个标签的虚拟机排列在具有“海淀”这个标签的虚拟机的后面。
55.本发明实施例还提供了一种对虚拟机进行创建的方法,该方法在上述实施例方法的基础上实现;如图4所示,该方法包括如下步骤:
56.步骤s402,响应于虚拟机创建指令,创建目标虚拟机。
57.上述虚拟机创建指令可以理解为当用户需要创建新的虚拟机,在点击相应的创建按钮时所生成的指令;上述目标虚拟机可以理解为用户需要创建的新的虚拟机;在实际实现时,如果用户需要创建新的目标虚拟机,在点击相应的创建按钮后,可以生成相应的虚拟机创建指令,响应于该虚拟机创建指令,创建该目标虚拟机。
58.步骤s404,响应于标签添加指令,为目标虚拟机添加至少一个标签和至少一个标签的标签值。
59.上述标签添加指令可以理解为当用户创建新的目标虚拟机时,如果需要为该目标虚拟机添加标签,在输入相应的标签和标签值时所生成的指令;在实际实现时,在创建目标虚拟机时,可以在创建界面中选择添加标签,为该目标虚拟机添加所需要的标签和该标签的标签值,也可以为该目标虚拟机添加多个标签和该多个标签对应的多个标签值,具体可以根据实际需求进行设定;比如,可以为目标虚拟机添加“海淀”标签,相应的标签值为“视频服务”等。
60.步骤s406,保存至少一个标签和至少一个标签的标签值。
61.当为所创建的目标虚拟机添加标签和该标签的标签值后,可以将该标签和标签值保存在数据库中,比如,以openstack管理多个虚拟机为例,当为目标虚拟机添加“海淀”标签和相应的“视频服务”标签值后,可以将所添加的“海淀”标签和“视频服务”标签值保存在openstack的tag数据库表中。
62.本发明实施例提供的一种对虚拟机进行创建的方法,响应于虚拟机创建指令,创建目标虚拟机。响应于标签添加指令,为目标虚拟机添加至少一个标签和至少一个标签的标签值;保存至少一个标签和至少一个标签的标签值。该方法可以根据实际需求创建目标虚拟机,并可以对目标虚拟机添加自定义标签和标签值,提高了对虚拟机进行分类的灵活性和便利性。
63.在一可选的实施例中,如果需要对虚拟机的标签进行删除时,可以响应于针对指
定虚拟机的指定标签的标签删除指令,删除指定虚拟机具有的指定标签和指定标签的标签值。
64.上述标签删除指令可以理解为当用户需要删除虚拟机列表中指定虚拟机的指定标签时,在点击相应的删除按钮时所生成的指令;上述指定标签可以理解为指定虚拟机所具有的标签中的任一标签;在实际实现时,如果用户需要删除虚拟机列表中指定虚拟机的指定标签,在点击相应的删除按钮后,可以生成相应的标签删除指令,响应于该标签删除指令,删除该指定虚拟机具有的指定标签和指定标签的标签值;比如,虚拟机列表中的虚拟机a具有“海淀”标签,其标签值为“视频服务”,当需要删除该虚拟机a的“海淀”标签时,用户可以先点击“视频服务”标签值,然后再点击相应的删除按钮,即可生成相应的标签删除指令,响应于该标签删除指令,删除该虚拟机a具有的“海淀”标签和“视频服务”标签值。通过该方式,可以使用户根据实际需求灵活选择是否删除虚拟机的标签,以便于对虚拟机进行精确分类查看。
65.为进一步理解上述实施例,下面提供如图5所示的一种创建虚拟机的示意图;其中包括创建虚拟机时需要选择或填写的基本信息,如计费方式、主机类型、主机名称和标签;其中,计费方式包括:按年、按月、按天和按小时,可以根据实际需求选择合适的计费方式;主机类型可以选择云主机,可以基于每个虚拟机设置相应的主机名称,在标签一栏中可以输入标签名称(对应上述标签)和相应的标签值,可以根据实际需求为所创建的虚拟机添加多个标签名称和标签值,比如,在标签名称处填写“海淀”,在标签值处填写“视频服务”,以标记该虚拟机的用途;相应的调用api可以按如下方式表示:
[0066][0067][0068]
在添加新的标签名称和标签值后,可以将该标签名称和标签值保存至数据库中,在openstack中,通常将标签名称和标签值保存至tag数据库表中,由于相关技术中并没有对虚拟机添加自定义标签并排序的功能,因此,需要对该tag数据库表进行改进,如表1所示的一种现有的tag数据库表和表2所示的一种改进后的tag数据库表;表1中仅包括resource_id和tag两项内容,改进后的表2在表1的基础上增加了value(对应上述标签值)这一项,可以将所添加的“海淀”标签名称保存至tag项中,将“视频服务”标签值保存至value项中。
[0069]
表1
[0070]
resource_idtaguuid1tag1
[0071]
表2
[0072]
resource_idtagvalueuuid1tag1 uuid2海淀视频服务
[0073]
下面提供如图6所示的一种属性列表的示意图,以及如图7所示的一种虚拟机列表示意图;图6中的表格列(对应上述预设属性列表)中包括多个标签,如类型、ip地址、监控状态、操作系统、资源池、虚拟化类型等,用户可以根据实际需求,查看带有特定标签的虚拟机,从该表格列中选中需要查看及排序的标签,以根据被选中标签对虚拟机进行筛选排序,如图6中的被选中标签包括:类型、ip地址、操作系统、资源池、虚拟化类型、创建时间和海淀;根据图6中所选中的标签,生成并显示如图7所示的虚拟机列表,该虚拟机列表以两台虚拟机为例进行示意,该虚拟机列表的表项中包括图6中的被选中标签,具有被选中标签的虚拟机自动显示在虚拟机列表的顶部,不具有被选中标签的虚拟机向后排列,以“海淀”这一标签为例,在虚拟机列表中,点击“海淀”,即可获得具有该标签的虚拟机,并自动显示在虚拟机列表的顶部,通过判断“海淀”这一标签的标签值是否为空值,可以判定该标签是用于筛选功能还是排序功能,该方式既不影响原生openstack的标签筛选功能,同时增强了新的标签排序特性。例如,图7中虚拟机列表的两台虚拟机中,第一台虚拟机具有“海淀”这一标签的标签值,其标签值为“视频服务”;第二台虚拟机不具有“海淀”这一标签的标签值,在所生成的虚拟机列表中,当点击虚拟机列表表项中的“海淀”时,可以对具有该标签的虚拟机进行排序,由于第二台虚拟机不具有“海淀”这一标签的标签值,因此,第二台虚拟机排列在第一台虚拟机的后面。
[0074]
在虚拟机列表的表项中还包括“操作”标签,通过该“操作”标签可以对指定虚拟机的指定标签进行移除等操作,具体的,可以按名称选择需要移除指定标签的指定虚拟机,比如,以移除图7中第一台虚拟机的“海淀”标签和对应的“视频服务”标签值为例,用户可以先点击第一台虚拟机的“海淀”标签所对应的“视频服务”标签值,再点击第一台虚拟机对应的“操作”标签下的“删除”按钮,就可以移除第一台虚拟机所具有的“海淀”标签和“视频服务”标签值。
[0075]
如果在表格列中选中了多个标签,可依次按照被选中标签对虚拟机进行分组归类,具有被选中标签的虚拟机显示在虚拟机列表的顶部。
[0076]
上述对虚拟机进行分类排序的方式,不仅满足openstack筛选查看虚拟机的标签功能,而且还具有基于标签归类排序查看虚拟机列表的功能,增强并改进了原有openstack虚拟机的标签功能,该方式充分利用现有openstack基于标签筛选查看虚拟机的功能,同时实现了对虚拟机添加自定义标签并可以对虚拟机进行归类排序,使虚拟机的标签功能同时具有了两种功能,丰富了openstack的虚拟机标签功能,实现过程高效。需要说明的是,上述对虚拟机添加自定义标签并可以归类排序的功能,可以单独实现,可以不基于现有openstack标签功能来实现。
[0077]
相关技术中,现有的openstack的版本一直没有对虚拟机添加自定义标签并排序的功能。而本申请中,通过自定义标签,可以根据实际需求选择是否需要按标签值进行筛选排序,应用更加灵活,可以查看具有相同标签和相同标签值的虚拟机,实现对虚拟机的精确分类查看,便于管理部署多类服务的虚拟机,具有较强的实用性,并且,具有被选中标签和
不具有被选中标签的虚拟机都会显示在虚拟机列表中,其中,具有被选中标签的虚拟机显示在虚拟机列表的前部,不具有被选中标签的虚拟机向后排列;比如,如果被选中标签为aa,具有该标签aa的虚拟机有两个,其中一个虚拟机部署的一类服务的标签值是aa1,另一个虚拟机部署的另一类服务的标签值是aa2,当点击虚拟机列表中的标签aa,对虚拟机列表中的虚拟机进行排序时,所关注的标签值为aa1和aa2的虚拟机显示在虚拟机列表的前部,不具有该标签值的虚拟机向后排列,即可以区分出该标签下不同标签值的虚拟机,便于识别查看、管理部署多类服务的虚拟机。
[0078]
本发明实施例提供了一种对虚拟机进行分类排序的装置,如图8所示,该装置包括:显示模块80,用于响应于标签选中指令,显示虚拟机列表;虚拟机列表中,至少一部分虚拟机具有标签选中指令包含的被选中标签的标签值;排序模块81,用于响应于被选中标签中目标标签的触发指令,基于目标标签的标签值,对虚拟机列表中的虚拟机进行排序,得到排序结果;排序结果中,具有目标标签的同一标签值的虚拟机相邻排列。
[0079]
本发明实施例提供的一种对虚拟机进行分类排序的装置,响应于标签选中指令,显示虚拟机列表;该虚拟机列表中,至少一部分虚拟机具有该标签选中指令包含的被选中标签的标签值;响应于被选中标签中目标标签的触发指令,基于该目标标签的标签值,对该虚拟机列表中的虚拟机进行排序,得到排序结果;该排序结果中,具有该目标标签的同一标签值的虚拟机相邻排列。该装置可以为虚拟机所具有的标签设置相应的标签值,在虚拟机列表中显示该标签值,并且可以基于该标签值,对虚拟机列表中的虚拟机进行排序,由于不同虚拟机具有的同一标签的标签值可能相同,通过排序便于查看具有同一标签值的虚拟机,进而可以对虚拟机进行精确分类查看。
[0080]
进一步的,预设属性列表中包括多个标签;显示模块80还用于:响应于标签选中指令,从预设属性列表包括的多个标签中确定被选中标签;基于被选中标签生成并显示虚拟机列表;虚拟机列表的表项包括被选中标签。
[0081]
进一步的,目标标签预设有多个标签值;排序模块81还用于:响应于被选中标签中目标标签的触发指令,获取至少一部分虚拟机对应的目标标签的标签值;将具有同一标签值的虚拟机划分为一个虚拟机集合,得到至少一个虚拟机集合;按多个标签值升序或降序的方式,对至少一个虚拟机集合进行排序,得到排序结果。
[0082]
进一步的,排序模块81还用于:将不具有目标标签的标签值的虚拟机排列在排序结果的后面。
[0083]
进一步的,虚拟机列表中还包括:不具有被选中标签的虚拟机;该装置还用于:将虚拟机列表中,不具有被选中标签的虚拟机,排列在具有被选中标签的虚拟机的后面。
[0084]
进一步的,该装置还用于:响应于虚拟机创建指令,创建目标虚拟机;响应于标签添加指令,为目标虚拟机添加至少一个标签和至少一个标签的标签值;保存至少一个标签和至少一个标签的标签值。
[0085]
进一步的,该装置还用于:响应于针对指定虚拟机的指定标签的标签删除指令,删除指定虚拟机具有的指定标签和指定标签的标签值。
[0086]
本发明实施例所提供的对虚拟机进行分类排序的装置,其实现原理及产生的技术效果和前述对虚拟机进行分类排序的方法实施例相同,为简要描述,对虚拟机进行分类排序的装置实施例部分未提及之处,可参考前述对虚拟机进行分类排序的方法实施例中相应
内容。
[0087]
本发明实施例还提供了一种电子设备,参见图9所示,该电子设备包括处理器130和存储器131,该存储器131存储有能够被处理器130执行的机器可执行指令,该处理器130执行机器可执行指令以实现上述对虚拟机进行分类排序的方法。
[0088]
进一步地,图9所示的电子设备还包括总线132和通信接口133,处理器130、通信接口133和存储器131通过总线132连接。
[0089]
其中,存储器131可能包含高速随机存取存储器(ram,random access memory),也可能还包括非不稳定的存储器(non

volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口133(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线132可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0090]
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器131,处理器130读取存储器131中的信息,结合其硬件完成前述实施例的方法的步骤。
[0091]
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述对虚拟机进行分类排序的方法,具体实现可参见方法实施例,在此不再赘述。
[0092]
本发明实施例所提供的对虚拟机进行分类排序的方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
[0093]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0094]
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技
术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1