软件包的安装方法及系统、电子设备及存储介质与流程
- 国知局
- 2024-09-11 15:05:48
本发明涉及数据处理,具体而言,涉及一种软件包的安装方法及系统、电子设备及存储介质。
背景技术:
1、相关技术中,在软件包和补丁安装过程中,当安装服务过多时,会导致部署过程中安装工具的页面产生延迟;同时在整个安装过程中如果需要安装的软件包和补丁过多时,会导致整个安装过程周期很长。
技术实现思路
1、本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
2、为此,本发明的第一个方面提出了一种软件包的安装方法。
3、本发明的第二个方面提出了一种软件包的安装系统。
4、本发明的第三个方面提出了一种电子设备。
5、本发明的第四个方面提出了一种存储介质。
6、有鉴于此,根据本发明的第一个方面,提出了一种软件包的安装方法,软件包中包括多个应用程序;软件包的安装方法包括:获取与软件包相关的数据脚本和中间件;对数据脚本和中间件进行安装,生成应用环境;根据应用环境获取软件包中的多个第一应用程序,第一应用程序与应用环境相对应;构建agent调度服务集群;根据agent调度服务集群和安装工具的第一主机同时对多个第一应用程序进行安装部署。
7、本发明提供的软件包的安装方法,主要用于包含有多个应用程序的软件包。其中,软件包的安装方法包括:首先获取与软件包相关的数据脚本和中间件,即根据软件包内的应用程序确定进行该软件包内的应用程序时所需要的各种数据脚本和中间件,其中,中间件可以为数据库等。在得到数据脚本和中间件后,控制数据脚本进行执行,并且将中间件安装在安装工具内部,从而得到了软件包内的应用程序能够进行工作的应用环境。进一步地,根据应用环境获取软件包中的多个第一应用程序,其中,第一应用程序与应用环境相对应。由于软件包中存在多个应用程序,在这多个应用程序中有些应用程序是并不需要进行安装的,因此需要根据应用环境对软件包中的多个应用程序进行筛选,确定出第一应用程序,并且第一应用程序的个数为多个。在确定好多个第一应用程序后,将多个第一应用程序下载到安装工具的第一主机内。进一步地,构建一个agent(代理)调度服务集群,agent调度服务集群是一种利用agent技术来管理和调度服务器集群的方法,agent调度服务集群中包括有多个节点主机,节点主机能够自动化执行应用程序的安装过程,将应用程序的代码、配置文件、数据库等必要的文件组合在一起,并将这些文件上传到服务器上,同时在安装过程中,agent可以在集群中根据各个节点主机的负载情况,动态地分配任务,确保系统的高效运行。最后根据agent调度服务集群和安装工具的第一主机同时对多个第一应用程序进行安装部署,从而使得多个第一应用程序能够并发执行部署,保证了软件包的快速安装。进一步地,还可以通过对agent调度服务集群和安装工具的第一主机进行设置,实现对同时部署的第一应用程序的数量进行限制,防止机器过载。本发明通过在软件包安装过程中,构建agent调度服务集群,然后根据agent调度服务集群和安装工具的第一主机同时对多个应用程序进行安装部署,实现了多个应用程序安装的并发执行,进而减少了安装时间,缩短了整个安装过程的周期。
8、根据本发明的上述软件包的安装方法,还可以具有以下技术特征:
9、在一些技术方案中,可选地,构建agent调度服务集群的步骤,包括:建立一个kubernetes集群,kubernetes集群中接入了多个节点主机;在daemonset中对agent进行配置;将配置后的daemonset和service部署到kubernetes集群中,得到agent调度服务集群,其中,在agent调度服务集群的内部采用netty架构进行通信。
10、在该技术方案中,构建agent调度服务集群的步骤,包括:首先建立kubernetes(一个开源的容器集群管理系统)集群,其中,在kubernetes集群中接入多个节点主机,即将多个节点主机作为kubernetes集群中的node(节点)。然后获取kubernetes集群中daemonset(守护进程集),并在daemonset的pod(kubernetes中最小的资源管理组件)模板中对agent进行部署信息、资源使用和节点亲和性等进行配置。然后通过配置后的daemonset和service(服务)将agent(代理)镜像部署到kubernetes集群中的每个节点主机,得到agent调度服务集群,其中,service在kubernetes集群中能够为外部或内部的应用提供稳定服务访问入口。agent镜像是一种特殊的容器镜像,它包含了用于执行特定任务的agent应用程序和相关依赖项。通过配置后的daemonset和service对agent进行部署,从而确保了每个节点上都运行一个agent容器实例,使得pod可以在指定的节点上运行一个或多个agent容器实例。同时在agent调度服务集群中采用netty(一个高性能、异事件驱动的网络应用程序框架)架构进行通信,具体地,可以通过采用netty架构将需要执行的任务消息发送给agent来执行,保证安装工具的第一主机不会耗费资源。本发明通过构建agent调度服务集群使得在安装过程中可以使用安装工具的第一主机之外的节点主机进行安装部署,从而进一步地缩短了安装周期。
11、在一些技术方案中,可选地,根据agent调度服务集群和安装工具的第一主机同时对多个第一应用程序进行安装部署的步骤,包括:根据多个第一应用程序建立多个安装任务;对多个安装任务进行排序,并组合得到第一安装任务集合;按照第一安装任务集合中的顺序获取第一安装任务集合中预设数量的安装任务,并组合得到第二安装任务集合;控制安装工具的第一主机同时执行第二安装任务集合中的安装任务;按照第一安装任务集合中的顺序获取第一安装任务集合中剩余的安装任务,并组合得到第三安装任务集合;通过调度算法确定安装工具的第一主机的第一权重和agent调度服务集群中的节点主机的第二权重;控制第一主机和节点主机按照第一权重和第二权重执行第三安装任务集合中的安装任务。
12、在该技术方案中,根据agent调度服务集群和安装工具的第一主机同时对多个第一应用程序进行安装部署的步骤,包括:首先根据多个要进行安装部署的第一应用程序建立多个安装任务。然后对多个安装任务进行排序,然后按照顺序将多个安装任务组合起来得到第一安装任务集合。进一步地,由于安装工具的第一主机的执行效率相比节点主机而言更优,所以将执行优先调度到安装工具所在第一主机,即首先按照第一安装任务集合中的安装任务顺序依次获取预设数量的安装任务,其中,预设数量与安装工具的第一主机能够执行并发任务的数量相关。将预设数量的安装任务组合得到第二安装任务集合。进一步的,控制安装工具的第一主机同时执行第二安装任务集合中的安装任务,即第二安装任务集合中的安装任务都由安装工具的第一主机来执行。进一步地,按照第一安装任务集合中的顺序获取第一安装任务集合中剩余的安装任务,并组合得到第三安装任务集合。进一步地,通过调度算法计算安装工具的第一主机和agent调度服务集群中的多个节点主机的第二权重,最后控制第一主机和节点主机安装第一权重和第二权重执行第三安装任务集合中的安装任务,即第三安装任务集合中的安装任务由安装工具的第一主机和节点主机来执行。本发明通过将所有的安装任务通过调度算法进行安装工具的第一主机和节点主机的混合调度部署,从而能够保证在安装工具的第一主机进行性能高使用的基础上,对节点主机的资源进行同步使用。
13、在一些技术方案中,可选地,控制第一主机和节点主机按照第一权重和第二权重执行第三安装任务集合中的安装任务的步骤,包括:获取第一主机内的产品补丁目录;将产品补丁目录共享到agent调度服务集群中的节点主机。
14、在该技术方案中,控制第一主机和节点主机按照第一权重和第二权重执行第三安装任务集合中的安装任务的步骤,包括:在安装过程中,由于采用的是第一主机和节点主机同时执行应用程序的安装任务,因此需要保证执行目录的一致性。因此需要获取安装工具的第一主机内的产品补丁目录,然后将产品补丁目录采用共享存储的方式共享到节点主机中,从而使得安装工具的产品补丁目录与agent容器内的产品补丁目录保持一致,从而保证在安装过程命令所需信息是一致的,不会出现找不到文件或目录的情况。
15、根据本发明的第二个方面,提出了一种软件包的安装系统,软件包中包括多个应用程序;软件包的安装系统包括:第一获取模块,第一获取模块用于获取与软件包相关的数据脚本和中间件;生成模块,生成模块用于对数据脚本和中间件进行安装,生成应用环境;第二获取模块,第二获取模块用于根据应用环境获取软件包中的多个第一应用程序,第一应用程序与应用环境相对应;构建模块,构建模块用于构建agent调度服务集群;安装模块,安装模块用于根据agent调度服务集群和安装工具的第一主机同时对多个第一应用程序进行安装部署。
16、本发明提供的软件包的安装系统,主要用于包含有多个应用程序的软件包。其中,软件包的安装主要包括:第一获取模块、生成模块、第二获取模块、构建模块以及安装模块。其中,第一获取模块获取与软件包相关的数据脚本和中间件,即根据软件包内的应用程序确定进行该软件包内的应用程序时所需要的各种数据脚本和中间件,其中,中间件可以为数据库等。在得到数据脚本和中间件后,生成模块控制数据脚本进行执行,并且将中间件安装在安装工具内部,从而得到了软件包内的应用程序能够进行工作的应用环境。进一步地,第二获取模块根据应用环境获取软件包中的多个第一应用程序,其中,第一应用程序与应用环境相对应。由于软件包中存在多个应用程序,在这多个应用程序中有些应用程序是并不需要进行安装的,因此需要根据应用环境对软件包中的多个应用程序进行筛选,确定出第一应用程序,并且第一应用程序的个数为多个。在确定好多个第一应用程序后,将多个第一应用程序下载到安装工具的第一主机内。进一步地,构建模块构建一个agent(代理)调度服务集群,agent调度服务集群是一种利用agent技术来管理和调度服务器集群的方法,agent调度服务集群中包括有多个节点主机,节点主机能够自动化执行应用程序的安装过程,将应用程序的代码、配置文件、数据库等必要的文件组合在一起,并将这些文件上传到服务器上,同时在安装过程中,agent可以在集群中根据各个节点主机的负载情况,动态地分配任务,确保系统的高效运行。最后安装模块根据agent调度服务集群和安装工具的第一主机同时对多个第一应用程序进行安装部署,从而使得多个第一应用程序能够并发执行部署,保证了软件包的快速安装。进一步地,还可以通过对agent调度服务集群和安装工具的第一主机进行设置,实现对同时部署的第一应用程序的数量进行限制,防止机器过载。本发明通过在软件包安装过程中,构建agent调度服务集群,然后根据agent调度服务集群和安装工具的第一主机同时对多个应用程序进行安装部署,实现了多个应用程序安装的并发执行,进而减少了安装时间,缩短了整个安装过程的周期。
17、在一些技术方案中,可选地,构建模块包括:第一建立模块,第一建立模块用于建立一个kubernetes集群,kubernetes集群中接入了多个节点主机;配置模块,配置模块用于在daemonset中对agent进行配置;部署模块,部署模块用于将配置后的daemonset和service部署到kubernetes集群中,得到agent调度服务集群,其中,在agent调度服务集群的内部采用netty架构进行通信。
18、在该技术方案中,构建模块包括:第一建立模块、配置模块以及部署模块。其中,第一建立模块首先建立kubernetes(一个开源的容器集群管理系统)集群,其中,在kubernetes集群中接入多个节点主机,即将多个节点主机作为kubernetes集群中的node(节点)。然后获取kubernetes集群中daemonset(守护进程集),配置模块在daemonset的pod模板中对agent进行部署信息、资源使用和节点亲和性等进行配置。然后部署模块通过配置后的daemonset和service(服务)将agent(代理)镜像部署到kubernetes集群中的每个节点主机,得到agent调度服务集群,其中,service在kubernetes集群中能够为外部或内部的应用提供稳定服务访问入口。agent镜像是一种特殊的容器镜像,它包含了用于执行特定任务的agent应用程序和相关依赖项。通过配置后的daemonset和service对agent进行部署,从而确保了每个节点上都运行一个agent容器实例,使得pod可以在指定的节点上运行一个或多个agent容器实例。同时在agent调度服务集群中采用netty(一个高性能、异事件驱动的网络应用程序框架)架构进行通信,其中,netty架构能够进行消息传输与节点任务执行,具体地,可以通过采用netty架构将需要执行的任务消息发送给agent来执行,保证安装工具的第一主机不会耗费资源。本发明通过构建agent调度服务集群使得在安装过程中可以使用安装工具的第一主机之外的节点主机进行安装部署,从而进一步地缩短了安装周期。
19、在一些技术方案中,可选地,安装模块包括:第二建立模块,第二建立模块用于根据多个第一应用程序建立多个安装任务;排序模块,排序模块用于对多个安装任务进行排序,并组合得到第一安装任务集合;第三获取模块,第三获取模块用于按照第一安装任务集合中的顺序获取第一安装任务集合中预设数量的安装任务,并组合得到第二安装任务集合;第一执行模块,第一执行模块用于控制安装工具的第一主机同时执行第二安装任务集合中的安装任务;第四获取模块,第四获取模块用于按照第一安装任务集合中的顺序获取第一安装任务集合中剩余的安装任务,并组合得到第三安装任务集合;计算模块,计算模块用于通过调度算法计算第一主机的第一权重和agent调度服务集群中的节点主机的第二权重;第二执行模块,第二执行模块用于控制第一主机和节点主机按照第一权重和第二权重执行第三安装任务集合中的安装任务。
20、在该技术方案中,安装模块包括:第二建立模块、排序模块、第三获取模块、第一执行模块、第四获取模块、计算模块以及第二执行模块。其中,第二建立模块首先根据多个要进行安装部署的第一应用程序建立多个安装任务。然后排序模块对多个安装任务进行排序,然后按照顺序将多个安装任务组合起来得到第一安装任务集合。进一步地,由于安装工具的第一主机的执行效率相比节点主机而言更优,所以将执行优先调度到安装工具所在第一主机,即第三获取模块按照第一安装任务集合中的安装任务顺序依次获取预设数量的安装任务,其中,预设数量与安装工具的第一主机能够执行并发任务的数量相关。将预设数量的安装任务组合得到第二安装任务集合。进一步的,第一执行模块控制安装工具的第一主机同时执行第二安装任务集合中的安装任务,即第二安装任务集合中的安装任务都由安装工具的第一主机来执行。进一步地,第四获取模块按照第一安装任务集合中的顺序获取第一安装任务集合中剩余的安装任务,并组合得到第三安装任务集合。进一步地,计算模块通过调度算法计算安装工具的第一主机和agent调度服务集群中的多个节点主机的第二权重,最后第二执行模块控制第一主机和节点主机安装第一权重和第二权重执行第三安装任务集合中的安装任务,即第三安装任务集合中的安装任务由安装工具的第一主机和节点主机来执行。本发明通过将所有的安装任务通过调度算法进行安装工具的第一主机和节点主机的混合调度部署,从而能够保证在安装工具的第一主机进行性能高使用的基础上,对节点主机的资源进行同步使用。
21、在一些技术方案中,可选地,第二执行模块包括:第五获取模块,第五获取模块用于获取第一主机内的产品补丁目录;共享模块,共享模块用于将产品补丁目录共享到agent调度服务集群中的节点主机。
22、在该技术方案中,第二执行模块包括:第五获取模块以及共享模块。其中,在安装过程中,由于采用的是第一主机和节点主机同时执行应用程序的安装任务,因此需要保证执行目录的一致性。因此需要第五获取模块获取安装工具的第一主机内的产品补丁目录,然后共享模块将产品补丁目录采用共享存储的方式共享到节点主机中,从而使得安装工具的产品补丁目录与agent容器内的产品补丁目录保持一致,从而保证在安装过程命令所需信息是一致的,不会出现找不到文件或目录的情况。
23、根据本发明的第三个方面,提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述任一项的软件包的安装方法的步骤。
24、本发明提供的电子设备,处理器执行计算机程序时实现上述软件包的安装方法的步骤,能够实现上述任一技术方案的技术效果,在此不再赘述。
25、根据本发明的第四个方面,提出了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一项的软件包的安装方法的步骤。
26、本发明提供的存储介质,计算机程序被处理器执行时实现上述软件包的安装方法的步骤,能够实现上述任一技术方案的技术效果,在此不再赘述。
27、本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
本文地址:https://www.jishuxx.com/zhuanli/20240911/293171.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。