本发明涉及计算机,具体涉及软件包安装方法、装置及存储介质。
背景技术:
1、在分布式集群领域内,集群中的各个节点所安装的操作系统可能有所不同,所配置的处理器架构也可能存在不同。在安装相关软件时,不同的操作系统和处理器架构所需的软件包不同。
2、对于分布式集群中的每一个节点,技术人员都需要根据该节点的操作系统和处理器架构,选取相应的软件包传输至该节点,并进行安装操作。由于分布式集群中节点较多,通过相关技术安装软件包的效率较低。
技术实现思路
1、有鉴于此,本发明提供了一种软件包安装方法、装置、软件管理平台、客户端节点以及存储介质,以解决安装软件包效率较低的问题。
2、第一方面,本发明提供了一种软件包安装方法,所述方法应用于软件管理系统,所述软件管理系统包括软件管理平台和异构集群,所述异构集群包括多个节点,所述方法由所述软件管理平台执行,所述方法包括:
3、接收客户端节点发送的与每一个节点对应的架构信息和软件配置信息;
4、获取软件全量清单和软件兼容清单;
5、根据与每一个节点对应的所述软件配置信息和所述架构信息、所述软件全量清单,以及所述软件兼容清单,确定每一个节点的关联软件包标识列表,以及与所述关联软件包标识列表对应的总软件包标识;
6、将与每一个节点对应的总软件包标识发送至所述客户端节点,其中,所述客户端节点根据与每一个节点对应的总软件包标识,对多个节点进行分组后得到至少一个节点组,并为每一个节点组选取组长节点;
7、接收目标组长节点发送的软件包获取请求,其中,所述软件包获取请求中包括所述目标组长节点对应的目标总软件包标识,所述目标组长节点为至少一个组长节点中的任一个组长节点;
8、根据所述目标总软件包标识,从已确定的每一个节点的关联软件包标识列表中选取与所述目标总软件包标识对应的目标关联软件包标识列表,其中,所述目标关联软件包标识列表包括多个关联软件包标识;
9、根据所述目标关联软件包标识列表中的每一个关联软件包标识,获取与每一个关联软件包标识分别对应的关联软件包;
10、根据获取到的多个关联软件包生成目标总软件包,并发送至所述目标组长节点,其中,所述目标组长节点将所述目标总软件包同步至所述目标节点组中除自身之外的其他节点,所述目标节点组中所有的节点在接收到所述目标总软件包后,对所述目标软件包进行安装。
11、本发明提供的一种软件包安装方法,具有如下优点:
12、第一,本方案通过软件管理平台对所有软件的相关信息进行管理,可以自动完成选择软件包和安装软件包的操作,降低了技术人员的参与程度,可以大大提高安装软件包的效率。
13、第二,本方案通过节点的架构信息,可以为节点选取符合其自身的架构特点的软件包。
14、第三,本方案通过节点的软件配置信息,可以为节点选择安装软件时所需的软件包,可以最小化软件包,提高传输效率。
15、第四,本方案可以对节点进行分类,每一类节点仅需获取一次软件包,可以降低异构集群和软件管理平台之间的交互频率,节约资源。
16、在一种可选的实施方式中,所述软件配置信息中包括待安装软件的软件信息和已安装软件的软件信息,所述软件全量清单中包括所有软件的软件信息,以及与每一个软件对应的关联软件信息;
17、所述根据与每一个节点对应的所述软件配置信息和所述架构信息、所述软件全量清单,以及所述软件兼容清单,确定每一个节点的关联软件包标识列表,以及与所述关联软件包标识列表对应的总软件包标识,包括:
18、在所述软件全量清单中确定与每一个节点的所述待安装软件的软件信息匹配的第一级关联软件信息;
19、将与每一个节点对应的所述第一级关联软件信息和所述已安装软件的软件信息进行对比,得到与每一个节点对应的第二级关联软件信息;
20、根据与每一个节点对应的所述第二级关联软件信息和所述架构信息,在所述软件兼容清单中确定与每一个节点对应的多个关联软件包标识,其中,每一个节点对应的多个关联软件包标识构成与每一个节点对应的关联软件包标识列表;
21、根据与每一个节点对应的多个关联软件包标识,确定与每一个节点对应的总软件包标识。
22、具体地,如果每一个节点都生成一个总软件包标识和一个总软件包,那么节点数量较多,将会占用大量的存储资源,并且在传输效率也较低。而本方案通过节点的软件配置信息和架构信息,结合软件全量清单和软件兼容清单,可以确定出每一个节点所需的软件包标识,即上述的关联软件包标识列表。进一步,将所需的软件包标识完全相同的节点赋给一个相同的总软件包标识,即对于所需的软件包标识完全相同的节点,只需要生成一个总软件包即可,可以节约存储资源、网络资源等,并提高安装软件包的效率。
23、另外,将第一级关联软件信息和已安装软件的软件信息进行对比,可以过滤部分软件。这样,可以避免重复获取软件包,减小安装包的大小,提高传输效率和安装效率。
24、在一种可选的实施方式中,所述第二级关联信息中包括至少一条子关联软件信息,每一条子关联信息均包括软件的名称和软件的版本号,所述架构信息中包括操作系统类型和处理器架构类型;
25、所述根据与每一个节点对应的所述第二级关联软件信息和所述架构信息,在所述软件兼容清单中确定与每一个节点对应的多个关联软件包标识,包括:
26、遍历与目标节点对应的目标第二级关联软件信息中的每一条子关联软件信息,其中,所述目标节点为多个节点中的任一节点;
27、每遍历到一条子关联软件信息,从遍历到的子关联软件信息中获取目标软件名称和目标软件版本号;
28、在所述软件兼容清单中获取与所述目标软件名称、所述目标软件版本号,以及所述目标节点的操作系统类和处理器架构类型均匹配的目标关联软件包标识;
29、在遍历完与所述目标节点对应的所述第二级关联软件信息中的所有子关联软件信息后,得到与所述目标节点对应的多个关联软件包标识。
30、具体地,通过本方案可以准确地找出每一个节点所需软件包的标识,符合节点自身的架构特点。
31、在一种可选的实施方式中,所述根据所述目标关联软件包标识列表中的每一个关联软件包标识,获取与每一个关联软件包标识分别对应的关联软件包,包括:
32、根据所述目标关联软件包标识列表中包括的每一个关联软件包标识,从所述软件兼容清单中获取与每一个关联软件包标识对应的存储路径;
33、根据与每一个关联软件包标识对应的存储路径,获取与每一个关联软件包标识对应的关联软件包。
34、具体地,通过对各个软件的存储路径进行管理,可以在需要软件包时,根据该软件包的标识获取到相应的存储路径,以获取软件包。这样,无需技术人员参与,可以提高查找软件包的准确性和效率。
35、第二方面,本发明提供了一种软件包安装方法,所述方法应用于软件管理系统,所述软件管理系统包括软件管理平台和异构集群,所述异构集群包括多个节点,所述方法由客户端节点执行,其中,所述客户端节点为多个节点中的任一节点,所述方法包括:
36、获取与多个节点中每一个节点对应的架构信息和软件配置信息,并发送至所述软件管理平台,其中,所述软件管理平台根据接收到的与每一个节点对应的所述架构信息和所述软件配置信息,生成与每一个节点对应的总软件包标识,并发送至所述客户端节点;
37、接收所述软件管理平台发送的与每一个节点对应的总软件包标识;
38、将所述总软件包标识相同的节点划分为一个组,得到至少一个节点组;
39、从目标节点组中选择一个节点作为目标组长节点,其中,所述目标节点组为至少一个节点组中的任一节点组;
40、将与所述目标节点组对应的所述目标总软件包标识发送至所述目标组长节点,其中,所述目标组长节点将所述目标总软件包标识发送至所述软件管理平台,所述软件管理平台在接收到所述目标总软件包标识后,获取与所述目标总软件包标识对应的目标总软件包,发送至所述目标组长节点,所述目标组长节点将所述目标软件包同步至所述目标节点组中除自身之外的其他节点,所述目标节点组中所有的节点在接收到所述目标总软件包后,对所述目标总软件包进行安装。
41、本发明提供的一种软件包安装方法,具有如下优点:
42、第一,本方案通过软件管理平台对所有软件的相关信息进行管理,可以自动完成选择软件包和安装软件包的操作,降低了技术人员的参与程度,可以大大提高安装软件包的效率。
43、第二,本方案通过节点的架构信息,可以为节点选取符合其自身的架构特点的软件包。
44、第三,本方案通过节点的软件配置信息,可以为节点选择安装软件时所需的软件包,可以最小化软件包,提高传输效率。
45、第四,本方案可以对节点进行分类,每一类节点仅需获取一次软件包,可以降低异构集群和软件管理平台之间的交互频率,节约资源。
46、第三方面,本发明提供了一种软件包安装装置,所述装置应用于软件管理系统,所述软件管理系统包括软件管理平台和异构集群,所述异构集群包括多个节点,所述装置包括:
47、接收模块,用于接收客户端节点发送的与每一个节点对应的架构信息和软件配置信息;
48、获取模块,用于获取软件全量清单和软件兼容清单;
49、确定模块,用于根据与每一个节点对应的所述软件配置信息和所述架构信息、所述软件全量清单,以及所述软件兼容清单,确定每一个节点的关联软件包标识列表,以及与所述关联软件包标识列表对应的总软件包标识;
50、发送模块,用于将与每一个节点对应的总软件包标识发送至所述客户端节点,其中,所述客户端节点根据与每一个节点对应的总软件包标识,对多个节点进行分组后得到至少一个节点组,并为每一个节点组选取组长节点;
51、所述接收模块,还用于接收目标组长节点发送的软件包获取请求,其中,所述软件包获取请求中包括所述目标组长节点对应的目标总软件包标识,所述目标组长节点为至少一个组长节点中的任一个组长节点;
52、选取模块,用于根据所述目标总软件包标识,从已确定的每一个节点的关联软件包标识列表中选取与所述目标总软件包标识对应的目标关联软件包标识列表,其中,所述目标关联软件包标识列表包括多个关联软件包标识;
53、所述获取模块,还用于根据所述目标关联软件包标识列表中的每一个关联软件包标识,获取与每一个关联软件包标识分别对应的关联软件包;
54、所述发送模块,还用于根据获取到的多个关联软件包生成目标总软件包,并发送至所述目标组长节点,其中,所述目标组长节点将所述目标总软件包同步至所述目标节点组中除自身之外的其他节点,所述目标节点组中所有的节点在接收到所述目标总软件包后,对所述目标软件包进行安装。
55、第四方面,本发明提供了一种软件包安装装置,所述装置应用于软件管理系统,所述软件管理系统包括软件管理平台和异构集群,所述异构集群包括多个节点,所述装置包括:
56、接收模块,用于接收所述软件管理平台发送的与每一个节点对应的总软件包标识;
57、划分模块,用于将所述总软件包标识相同的节点划分为一个组,得到至少一个节点组;
58、选择模块,用于从目标节点组中选择一个节点作为目标组长节点,其中,所述目标节点组为至少一个节点组中的任一节点组;
59、发送模块,用于将与所述目标节点组对应的所述目标总软件包标识发送至所述目标组长节点,其中,所述目标组长节点将所述目标总软件包标识发送至所述软件管理平台,所述软件管理平台在接收到所述目标总软件包标识后,获取与所述目标总软件包标识对应的目标总软件包,发送至所述目标组长节点,所述目标组长节点将所述目标软件包同步至所述目标节点组中除自身之外的其他节点,所述目标节点组中所有的节点在接收到所述目标总软件包后,对所述目标总软件包进行安装。
60、第五方面,本发明提供了一种软件管理平台,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的软件包安装方法。
61、第六方面,本发明提供了一种客户端节点,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第二方面或其对应的任一实施方式的软件包安装方法。
62、第七方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使软件管理平台执行上述第一方面或其对应的任一实施方式的软件包安装方法。
63、第八方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使软件管理平台执行上述第二方面或其对应的任一实施方式的软件包安装方法。
1.一种软件包安装方法,其特征在于,所述方法应用于软件管理系统,所述软件管理系统包括软件管理平台和异构集群,所述异构集群包括多个节点,所述方法由所述软件管理平台执行,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述软件配置信息中包括待安装软件的软件信息和已安装软件的软件信息,所述软件全量清单中包括所有软件的软件信息,以及与每一个软件对应的关联软件信息;
3.根据权利要求2所述的方法,其特征在于,所述第二级关联信息中包括至少一条子关联软件信息,每一条子关联信息均包括软件的名称和软件的版本号,所述架构信息中包括操作系统类型和处理器架构类型;
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据所述目标关联软件包标识列表中的每一个关联软件包标识,获取与每一个关联软件包标识分别对应的关联软件包,包括:
5.一种软件包安装方法,其特征在于,所述方法应用于软件管理系统,所述软件管理系统包括软件管理平台和异构集群,所述异构集群包括多个节点,所述方法由客户端节点执行,其中,所述客户端节点为多个节点中的任一节点,所述方法包括:
6.一种软件包安装装置,其特征在于,所述装置应用于软件管理系统,所述软件管理系统包括软件管理平台和异构集群,所述异构集群包括多个节点,所述装置包括:
7.一种软件包安装装置,其特征在于,所述装置应用于软件管理系统,所述软件管理系统包括软件管理平台和异构集群,所述异构集群包括多个节点,所述装置包括:
8.一种软件管理平台,其特征在于,包括:
9.一种客户端节点,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使软件管理平台执行权利要求1至4中任一项所述的软件包安装方法,或者,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使客户端节点执行权利要求5所述的软件包安装方法。