CN111338656A - 安装软件包至目标主机的方法、装置和计算机设备 - Google Patents
安装软件包至目标主机的方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111338656A CN111338656A CN202010116137.9A CN202010116137A CN111338656A CN 111338656 A CN111338656 A CN 111338656A CN 202010116137 A CN202010116137 A CN 202010116137A CN 111338656 A CN111338656 A CN 111338656A
- Authority
- CN
- China
- Prior art keywords
- software package
- target host
- installing
- package
- management platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 230000001360 synchronised effect Effects 0.000 claims abstract description 89
- 238000012795 verification Methods 0.000 claims abstract description 48
- 238000012423 maintenance Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims description 33
- 238000011144 upstream manufacturing Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 238000009434 installation Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000011900 installation process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 235000015422 Rumex crispus ssp. crispus Nutrition 0.000 description 1
- 235000015426 Rumex crispus ssp. fauriei Nutrition 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 244000023042 curly dock Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种安装软件包至目标主机的方法、装置和计算机设备。该方法的执行主体为软件包管理平台,包括:接收待同步的软件包和目标主机的参数;对软件包按照预设的校验规则进行校验;当校验通过时,根据目标主机的参数确定同步路径,其中,同步路径为由软件包管理平台到达目标主机的服务器的路径;根据软件包的包名和目标主机的参数生成目标主机安装软件包所需的配置信息;将软件包经由同步路径同步至目标主机的服务器;将配置信息发送至目标主机的运维管理平台,其中,运维管理平台用于根据配置信息将目标主机的服务器上的软件包安装至目标主机。通过本发明,能够提升安装软件包到目标主机的效率。
Description
技术领域
本发明涉及软件包安装的技术领域,尤其涉及一种安装软件包至目标主机的方法、装置和计算机设备。
背景技术
传统软件安装或软件升级时,开发人员打包制作软件包后,需要部署人员手动将软件包上传到目标主机并安装,但随着云计算和分布式的兴起,以及企业安全意识的提高,办公网与目标主机之间往往设置有网络安全隔离以及云服务器等若干中间设备,且安装包需要同步到多个目标主机,这时,再采用传统的方式上传安装包,就需要人工手动逐步依次同步到每个中间设备,最终同步到多个目标主机,期间需要部署人员做大量重复的工作,耗费大量时间和人力,且效率低。
因此,提供一种安装软件包至目标主机的方法、装置和计算机设备,实现软件包的自动同步和安装,以快速有效的将软件包同步至目标主机并实现安装,成为本领域亟需解决的技术问题。
发明内容
本发明的目的是提供一种安装软件包至目标主机的方法、装置和计算机设备,用于解决现有技术中将软件包同步至目标主机时效率低的技术问题。
一方面,为实现上述目的,本发明提供了一种安装软件包至目标主机的方法。
该安装软件包至目标主机的方法的执行主体为软件包管理平台,该方法包括:接收待同步的软件包和目标主机的参数;对软件包按照预设的校验规则进行校验;当校验通过时,根据目标主机的参数确定同步路径,其中,同步路径为由软件包管理平台到达目标主机的服务器的路径;根据软件包的包名和目标主机的参数生成目标主机安装软件包所需的配置信息;将软件包经由同步路径同步至目标主机的服务器;将配置信息发送至目标主机的运维管理平台,其中,运维管理平台用于根据配置信息将目标主机的服务器上的软件包安装至目标主机。
进一步地,将软件包经由同步路径同步至目标主机的服务器的过程包括至少两个同步步骤,同步步骤用于将软件包由上游设备同步至相邻的下游设备,同步步骤包括:调用脚本执行函数执行上游设备上的预置脚本,其中,预置脚本被执行时,将上游设备上的软件包同步至下游设备。
进一步地,同步步骤还包括:获取脚本执行函数执行预置脚本的过程信息和执行结果;以及将过程信息和执行结果写入同步日志。
进一步地,将软件包经由同步路径同步至目标主机的服务器的步骤包括:建立同步任务,其中,同步任务包括与同步步骤一一对应且按顺序设置的子任务,每启动一个子任务,执行一个同步步骤;启动一个子任务;根据执行结果标记子任务的状态;当子任务的状态为执行成功时,启动下一个子任务;当子任务的状态为执行失败时,中断同步任务;输出子任务执行失败的提示信息,并提供日志查看控件;响应于对日志查看控件的操作,显示同步日志。
进一步地,该方法还包括:针对中断的同步任务,提供断点续做控件;响应于对断点续做控件的操作,重新启动状态为执行失败的子任务。
进一步地,该方法还包括:当校验通过时,计算软件包的数字指纹,得到原始指纹;预置脚本被执行时,计算上游设备的软件包的数字指纹,得到校验指纹,并在校验指纹和原始指纹一致时,将上游设备的软件包同步至下游设备。
该对软件包按照预设的校验规则进行校验的步骤包括:校验软件包的包名是否符合预设的包名规范;判断软件包的包名中所包含的环境信息与目标主机的环境信息是否相同;判断软件包的包名中所包含的主机类型与目标主机的主机类型是否相同;和/或判断软件包的包名中所包含的***版本信息是否满足预设的***版本要求。
另一方面,为实现上述目的,本发明提供了一种安装软件包至目标主机的装置。
该安装软件包至目标主机的装置设置于软件包管理平台,该装置包括:接收模块,用于接收待同步的软件包和目标主机的参数;校验模块,用于对软件包按照预设的校验规则进行校验;确定模块,用于当校验通过时,根据目标主机的参数确定同步路径,其中,同步路径为由软件包管理平台到达目标主机的服务器的路径;处理模块,用于根据软件包的包名和目标主机的参数生成目标主机安装软件包所需的配置信息;同步模块,用于将软件包经由同步路径同步至目标主机的服务器;发送模块,用于将配置信息发送至目标主机的运维管理平台,其中,运维管理平台用于根据配置信息将目标主机的服务器上的软件包安装至目标主机。
为实现上述目的,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,该处理器执行计算机程序时实现上述方法的步骤。
为实现上述目的,本发明还提供计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本发明提供的安装软件包至目标主机的方法、装置和计算机设备,提供统一的软件包接收界面入口,接收用户上传的软件包和目标主机的参数,对用户上传的软件包进行自动校验,保证软件包的合法性,在校验通过时,一方面,确定出软件包到达目标主机的服务器的同步路径,从而将软件包经由该同步路径同步至目标主机的服务器;另一方面,生成目标主机安装软件包所需的一些配置信息,并将这些配置信息发送至目标主机的运维管理平台,使得运维管理平台能够根据配置信息将目标主机的服务器上的软件包安装至目标主机,从而对于用户来说,用户只需要将软件包上传至软件包管理平台,软件包管理平台即会自动将软件包安装到相应的主机,操作简单,解放了人力,节省了大量时间。进一步,同步过程中,在每一个同步步骤中对比软件包文件的数字指纹,一致才进行同步,用户通过软件包管理平台提供的实时同步日志可快速了解软件包的状态,进而可轻松定位安装过程中发生的问题。
附图说明
图1为本发明实施例一提供的安装软件包至目标主机的方法的流程图;
图2为本发明实施例二提供的安装软件包至目标主机的方法的流程图;
图3为本发明实施例三提供的安装软件包至目标主机的示意图;
图4为本发明实施例四提供的安装软件包至目标主机装置的框图;
图5为本发明实施例五提供的计算机设备的硬件结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种安装软件包至目标主机的方法、装置、计算机设备和计算机可读存储介质,在本发明中,基于一种软件包管理平台实现安装软件包至目标主机的方法,具体地,软件包管理平台提供统一的软件包接收入口,以接收用户上传的待同步的软件包以及目标主机的相关参数等,对软件包按照预设的校验规则进行校验,保证待同步的软件包合法合规,对于校验通过的软件包,一方面,根据目标主机的参数确定同步路径,也即确定由软件包管理平台到达目标主机的服务器的路径,然后将软件包经由同步路径同步至目标主机的服务器,另一方面,根据软件包的包名和目标主机的参数生成目标主机安装软件包所需的配置信息,然后将配置信息发送至目标主机的运维管理平台,使得运维管理平台能够根据配置信息将目标主机的服务器上的软件包安装至目标主机,实现软件包的自动同步和安装,从而能够快速有效的将软件包同步至目标主机并实现安装。
关于本发明提供的安装软件包至目标主机的方法、装置、计算机设备和计算机可读存储介质的具体实施例,将在下文中进行详细的描述。
实施例一
本发明实施例提供了一种安装软件包至目标主机的方法,该方法的执行主体为软件包管理平台,该软件包管理平台位于办公网,与目标主机之间设置有网络安全隔离以及云服务器等若干中间设备,例如若干堡垒机、跳板机、公有云服务器、专有云服务器和/或内部云服务器等。通过该方法,软件包管理平台向用户提供的统一的软件包接收入口,用户只需上传待同步的软件包以及选定和/或输入目标主机的参数,软件包管理平台即可自动完成软件包的同步和安装。具体地,图1为本发明实施例一提供的安装软件包至目标主机的方法的流程图,如图1所示,该实施例提供的安装软件包至目标主机的方法包括如下的步骤S101至步骤S106。
步骤S101:接收待同步的软件包和目标主机的参数。
可选地,软件包管理平台包括与用户交互的前端和进行数据处理的后端。前端提供一交互界面,交互界面上设置接收用户上传的待同步的软件包的入口以及目标主机的参数选择和/或输入窗口,用户能够通过该交互界面,将待同步的软件包和目标主机的参数提交至软件包管理平台。
步骤S102:对软件包按照预设的校验规则进行校验。
软件包管理平台预置校验规则,以对用户上传的软件包进行校验,当校验通过时,软件包上传成功,执行下述步骤S103,当校验不通过时,软件包上传失败,同时可通过前端输出提示上传失败的相关信息。
可选地,对软件包按照预设的校验规则进行校验时,可包括以下步骤中的至少之一:
1、校验软件包的包名是否符合预设的包名规范。
例如,包名规范可包括:包名的信息项、每项信息的数据格式或结构等要求,在该步骤中,按照包名规范对待上传的软件包的包名进行比对,以校验软件包的包名是否符合预设的包名规范。
2、判断软件包的包名中所包含的环境信息与目标主机的环境信息是否相同。
包名中包含的环境信息具体可以为标识测试环境的信息或标识生产环境的信息,软件包管理平台预置目标主机的参数与环境信息的对应关系,通过接收到的目标主机的参数可确定出目标主机的环境信息。在该步骤中,解析包名中的环境信息,再根据目标主机的参数获取目标主机的环境信息,并将二者进行比对,若均为标识测试环境的信息或均为标识生产环境的信息时,则为软件包的包名中所包含的环境信息与目标主机的环境信息相同。
3、判断述软件包的包名中所包含的主机类型与目标主机的主机类型是否相同。
包名中包含的主机类型具体可以为标识不同种主机类型的信息,软件包管理平台预置目标主机的参数与目标主机的主机类型的对应关系,在该步骤中,解析包名中的主机类型,再根据目标主机的参数获取目标主机的主机类型,并将二者进行比对,若为同一种主机类型,则为软件包的包名中所包含的主机类型与目标主机的主机类型相同。
4、判断软件包的包名中所包含的***版本信息是否满足预设的***版本要求。
包名中包含***版本信息,标识安装包版本的高低,软件包管理平台预置目标主机的参数与***版要求的对应关系,在该步骤中,解析包名中的***版本信息,按照目标主机的参数确定***版本要求,再使用***版本要求与待上传的软件包的包名进行比对,以校验软件包包名中包含的***版本信息是否符合***版本要求。
其中,对软件包进行校验时,若包括多个校验项,则当所有校验项均通过时,表征对软件包的校验成功,当任一校验项没有通过时,表征对软件包的校验失败。
步骤S103:当校验通过时,根据目标主机的参数确定同步路径。
其中,同步路径为由软件包管理平台到达目标主机的服务器的路径。可选地,软件包管理平台预置至多个目标主机的服务器的路径,其中,目标主机接收到目标主机的服务器下发的安装包获取指令后,目标主机向该服务器获取安装包。软件包管理平台预置至多个目标主机的服务器的路径可通过网状或树状结构体现节点关系,其中,在网状或树状结构中,以目标主机的参数体现节点关系,具体地,目标主机的参数包括主机名称等信息。根据目标主机的参数,在网状或树状结构中匹配到对应的节点,即可确定出同步路径。
步骤S104:根据软件包的包名和目标主机的参数生成目标主机安装软件包所需的配置信息。
具体地,可将安装软件包所需的配置信息一部分定义在软件包的包名中,一部分作为需要用户选定的目标主机的参数,从而根据软件包的包名和目标主机的参数生成目标主机即可得到安装软件包所需的配置信息;或者,可在软件包管理平台存储安装软件包所需的配置参数与软件包的包名、以及与目标主机的参数的对应关系,从而根据软件包的包名和目标主机的参数在该对应关系中能够查找出相匹配的配置信息。
步骤S105:将软件包经由同步路径同步至目标主机的服务器。
其中,同步路径可包括多个节点,软件包管理平台为同步路径的起始节点,目标主机的服务器为同步路径的终了节点,软件包管理平台与目标主机的服务器之间的中间设备为同步路径的中间节点,该中间设备至少为一个,则经由同步路径同步至目标主机的服务器的过程包括至少两个同步步骤,每个同步步骤用于将软件包由上游设备同步至相邻的下游设备,其中,起始节点仅为上游设备,终了节点仅为下游设备,中间节点可以为上游设备也可以为下游设备。
同步路径上可以作为上游设备的每个节点上,均预置将本地软件包同步至相邻下游设备的预置脚本,每个同步步骤具体包括:软件包管理平台调用脚本执行函数执行上游设备上的预置脚本,从而该预置脚本被执行时,将上游设备本地的软件包同步至下游设备。执行同步路径包括的所有同步步骤,即完成该步骤S105。
进一步地,同步步骤还包括:获取脚本执行函数执行预置脚本的过程信息和执行结果,然后将过程信息和执行结果写入同步日志,其中,执行每个同步步骤时,均实时将过程信息和执行结果写入同步日志,从而在同步过程中,用户可实时查看同步日志,了解安装包的实时动态,若同步环节中出现错误,用户可通过实时的同步日志马上定位到错误信息并解决。
可选地,当校验通过时,该方法还包括如下的步骤:计算软件包的数字指纹,得到原始指纹。对应的,预置脚本被执行时,针对上游设备中将要向下游设备同步的软件包,计算该软件包的数字指纹,得到校验指纹,然后比对校验指纹与数字指纹是否一致,并在校验指纹和原始指纹一致时,再将上游设备的软件包同步至下游设备,如果不一致,则输出提示指纹不一致的信息,中断同步。具体地,数字指纹可以为MD5值,或者也可以为其他数字指纹,本申请对此并不进行限定。通过对竖直指纹的校验,能够提升同步过程中的安全性。
步骤S106:将配置信息发送至目标主机的运维管理平台。
其中,运维管理平台与软件包管理平台同处于办公网,软件包管理平台可对目标主机进行控制,但不可向目标主机传输安装包,运维管理平台根据配置信息向目标主机的服务器下发安装软件包的命令,服务器再向目标主机发送获取软件包的命令,目标主机向服务器获取软件包进行安装,实现了将软件包安装至目标主机。
采用该实施例提供的安装软件包至目标主机的方法,提供统一的软件包接收界面入口,接收用户上传的软件包和目标主机的参数,对用户上传的软件包进行自动校验,保证软件包的合法性,在校验通过时,一方面,确定出软件包到达目标主机的服务器的同步路径,从而将软件包经由该同步路径同步至目标主机的服务器;另一方面,生成目标主机安装软件包所需的一些配置信息,并将这些配置信息发送至目标主机的运维管理平台,使得运维管理平台能够根据配置信息将目标主机的服务器上的软件包安装至目标主机,从而对于用户来说,用户只需要将软件包上传至软件包管理平台,软件包管理平台即会自动将软件包安装到相应的主机,操作简单,解放了人力,节省了大量时间。进一步,同步过程中,在每一个同步步骤中对比软件包文件的数字指纹,一致才进行同步,用户通过软件包管理平台提供的实时同步日志可快速了解软件包的状态,进而可轻松定位安装过程中发生的问题。
实施例二
本发明实施例二提供了一种优选地安装软件包至目标主机的方法,该安装软件包至目标主机的方法的部分步骤与上述实施例一中的步骤对应相同,这部分步骤在该实施例中不再赘述,具体可参考上述实施例一。具体地,图2为本发明实施例二提供的安装软件包至目标主机的方法的流程图,如图2所示,该实施例二提供的安装软件包至目标主机的方法包括如下的步骤S201至步骤S210。
步骤S201:接收待同步的软件包和目标主机的参数。
步骤S202:对软件包按照预设的校验规则进行校验。
其中,当校验通过时,执行下述步骤S203,当校验不通过时,执行下述步骤S211。
步骤S203:当校验通过时,根据目标主机的参数确定同步路径。
其中,同步路径为由软件包管理平台到达目标主机的服务器的路径。
步骤S204:建立同步任务。
其中,针对每次接收到的待同步的软件包,建立一个同步任务。同步任务包括与同步步骤一一对应且按顺序设置的子任务,每启动一个子任务,执行一个同步步骤,顺序启动各个子任务,即可完成同步任务。
步骤S205:启动一个子任务。
其中,同步任务建立后,启动首个子任务,后续各个子任务均会在一个子任务执行成功后,启动下一个。
一个子任务启动后,执行一个同步步骤,也即调用脚本执行函数执行上游设备上的预置脚本,该预置脚本被执行时,将上游设备本地的软件包同步至下游设备,同时获取脚本执行函数执行预置脚本的过程信息和执行结果,然后将过程信息和执行结果写入同步日志,其中,执行结果包括执行成功和执行失败。
步骤S206:根据执行结果标记子任务的状态。
当子任务的状态为执行成功时,执行下述步骤S207,当子任务的状态为执行失败时,执行下述步骤S208。
步骤S207:判断当前子任务是否为同步任务包括的最后一个子任务。
其中,可对各个子任务设置子任务标识,在该步骤中,判断当前子任务的任务标识与最后一个子任务的任务标识是否相同,若相同,则当前子任务为同步任务包括的最后一个子任务。
具体地,若当前子任务是同步任务包括的最后一个子任务,执行下述步骤S209,若当前子任务不是同步任务包括的最后一个子任务,返回步骤S205,启动下一个子任务。
步骤S208:中断同步任务,输出子任务执行失败的提示信息,并提供日志查看控件,响应于对日志查看控件的操作,显示同步日志。
若子任务执行失败,则软件包管理平台提供一中断交互界面,在该界面上设置日志查看控件,当用户点击该日志查看控件时,软件包管理平台响应于对日志查看控件的操作,获取并显示当前的同步日志。
此外,可选地,针对中断的同步任务,提供断点续做控件,例如,提供一个显示同步任务的列表,该列表中包括多个同步任务,对应中断的同步任务,设置断点续做控件,当用户点击该断点续做控件时,软件包管理平台响应于对断点续做控件的操作,重新启动状态为执行失败的子任务。
步骤S209:根据软件包的包名和目标主机的参数生成目标主机安装软件包所需的配置信息,将配置信息发送至目标主机的运维管理平台。
其中,同步任务中的最后一个子任务执行成功,说明已将软件包同步至目标主机的服务器,则在该步骤中,将配置信息发送至目标主机的运维管理平台,运维管理平台用于根据配置信息将目标主机的服务器上的软件包安装至目标主机。
步骤S210:输出校验失败的提示信息。
在对软件包按照预设的校验规则进行校验时,校验不通过时,执行该步骤,以使用户能够及时处理。
采用该实施例提供的安装软件包至目标主机的方法,基于任务的方式实现同步软件包的过程,对饮给每个同步步骤设置子任务,在每个子任务执行的过程中,能够形成执行结果的反馈,进而形成同步日志,当子任务执行成功时,启动下一个子任务,最终完成同步任务,当子任务执行失败,用户能够查询同步日志,并且能够对中断的同步任务进行断点续做。
实施例三
本发明实施例三提供了一种优选地安装软件包至目标主机的方法,该安装软件包至目标主机的方法的部分步骤与上述实施例中的步骤对应相同,这部分步骤在该实施例中不再赘述,具体可参考上述实施例。在该实施例中,安装包围PRM(Red Hat PackageManager)包,具体地,图3为本发明实施例三提供的安装软件包至目标主机的示意图,如图3所示,该实施例三提供的安装软件包至目标主机的方法包括如下的步骤:
用户将制作好的RPM包上传至软件包管理平台后,软件包管理平台接收到RPM包以及目标主机的参数,平台按照设置好的规则,对RPM包进行校验,通过后则上传,否则上传失败。同时,平台计算RPM包的MD5值,将RPM包的包名、所属主机类型、***版本、MD5值、版本信息、release,rpm包说明等等记录到数据库中。
软件包管理平台提供同步按钮,用户点击同步按钮,软件包管理平台采用rsync算法将RPM包先并行同步到已配置好的公有云、专有云以及内部云等YUM服务器(Yellow dogUpdaterModified SERVER),再从各朵云的YUM服务器并行同步到各可用区的YUM服务器(以及目标主机的服务器),例如:从公有云的YUM服务器同步到公有云ECA、ECB、SCA、HKA、HKB、SGA等不同可用区的YUM服务器,同步成功后,读取数据库中的信息,将RPM包的相关信息作为配置信息同步到各朵云的运维管理平台,方便其监管和部署。其中,RPM包在同步的过程中,当从软件包管理平台同步到云的YUM服务器,或者从云的YUM服务器同步到可用区的YUM服务器时,软件包管理平台都会调用脚本执行函数执行预置脚本,以对比RPM包的MD5值,若与RPM包的初始MD5值一致则同步,否则会发出告警通知。
此外,RPM包在同步过程中,将脚本执行函数的执行过程和执行结果写入同步日志,用户可实时查看同步日志,了解RPM包的实时动态,若同步环节中出现错误,用户可通过实时日志马上定位到错误信息并解决,且若是同步过程中有失败环节,支持用户进行断点续做。具体地,若有失败的任务,软件包管理平台会从数据库中获取到该任务在哪一步骤失败,从而按照用户的指令继续往下执行任务。
采用该实施例提供的安装软件包至目标主机的方法,提供统一的web界面入口,可以进行RPM包的生命周期管理;上传RPM包时,增加RPM包的校验机制,不符合规范的禁止上传;在同步RPM包的过程中,会校验RPM包文件的MD5值,若与文件的初始MD5值一致则同步,否则不会同步且会发出告警通知。可支持多个RPM包的批量同步操作,节省大量时间。可以实时显示RPM包的同步日志,查看RPM包的同步进度。通过日志可轻松定位同步过程中发生的问题,且***支持断点续做功能。
实施例四
对应于上述实施例一,本发明实施例四提供了一种安装软件包至目标主机的装置,该装置设置于软件包管理平台,相关技术特征和技术效果可参考上述实施例一。图4为本发明实施例四提供的安装软件包至目标主机装置的框图,如图4所示,该装置包括:接收模块401、校验模块402、确定模块403、处理模块404、同步模块405和发送模块406。
其中,接收模块401用于接收待同步的软件包和目标主机的参数;校验模块402用于对软件包按照预设的校验规则进行校验;确定模块403用于当校验通过时,根据目标主机的参数确定同步路径,其中,同步路径为由软件包管理平台到达目标主机的服务器的路径;处理模块404用于根据软件包的包名和目标主机的参数生成目标主机安装软件包所需的配置信息;同步模块405用于将软件包经由同步路径同步至目标主机的服务器;发送模块406用于将配置信息发送至目标主机的运维管理平台,其中,运维管理平台用于根据配置信息将目标主机的服务器上的软件包安装至目标主机。
可选地,在一种实施例中,同步模块405在将软件包经由同步路径同步至目标主机的服务器时,至少执行两个同步步骤,同步步骤用于将软件包由上游设备同步至相邻的下游设备,同步步骤包括:调用脚本执行函数执行上游设备上的预置脚本,其中,预置脚本被执行时,将上游设备上的软件包同步至下游设备。
可选地,在一种实施例中,同步步骤还包括:获取脚本执行函数执行预置脚本的过程信息和执行结果;以及将过程信息和执行结果写入同步日志。
可选地,在一种实施例中,同步模块405包括同步任务建立单元、子任务启动单元、状态标记单元、同步任务中断单元、输出单元和显示单元,其中,同步任务建立单元用于建立同步任务,其中,同步任务包括与同步步骤一一对应且按顺序设置的子任务,每启动一个子任务,执行一个同步步骤;子任务启动单元用于启动一个子任务;状态标记单元用于根据执行结果标记子任务的状态;同步任务中断单元用于当子任务的状态为执行失败时,中断同步任务;子任务启动单元还用于当子任务的状态为执行成功时,启动下一个子任务;输出单元用于输出子任务执行失败的提示信息,并提供日志查看控件;显示单元用于响应于对日志查看控件的操作,显示同步日志。
可选地,在一种实施例中,同步模块405还用于针对中断的同步任务,提供断点续做控件,并响应于对断点续做控件的操作,重新启动状态为执行失败的子任务。
可选地,在一种实施例中,同步模块405还用于当校验通过时,计算软件包的数字指纹,得到原始指纹,预置脚本被执行时,计算上游设备的软件包的数字指纹,得到校验指纹,并在校验指纹和原始指纹一致时,将上游设备的软件包同步至下游设备。
可选地,在一种实施例中,校验模块402对软件包按照预设的校验规则进行校验时,具体执行的步骤包括:校验软件包的包名是否符合预设的包名规范;判断软件包的包名中所包含的环境信息与目标主机的环境信息是否相同;判断软件包的包名中所包含的主机类型与目标主机的主机类型是否相同;和/或判断软件包的包名中所包含的***版本信息是否满足预设的***版本要求。
实施例五
本实施例还提供一种计算机设备,如可以执行程序的智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图5所示,本实施例的计算机设备01至少包括但不限于:可通过***总线相互通信连接的存储器011、处理器012,如图5所示。需要指出的是,图5仅示出了具有组件存储器011和处理器012的计算机设备01,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
本实施例中,存储器011(即可读存储介质)包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器011可以是计算机设备01的内部存储单元,例如该计算机设备01的硬盘或内存。在另一些实施例中,存储器011也可以是计算机设备01的外部存储设备,例如该计算机设备01上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器011还可以既包括计算机设备01的内部存储单元也包括其外部存储设备。本实施例中,存储器011通常用于存储安装于计算机设备01的操作***和各类应用软件,例如实施例四的安装软件包至目标主机的装置的程序代码等。此外,存储器011还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器012在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器012通常用于控制计算机设备01的总体操作。本实施例中,处理器012用于运行存储器011中存储的程序代码或者处理数据,例如安装软件包至目标主机的方法等。
实施例六
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储安装软件包至目标主机的装置,被处理器执行时实现实施例一的安装软件包至目标主机的方法。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种安装软件包至目标主机的方法,其特征在于,所述方法的执行主体为软件包管理平台,所述方法包括:
接收待同步的软件包和目标主机的参数;
对所述软件包按照预设的校验规则进行校验;
当校验通过时,根据所述目标主机的参数确定同步路径,其中,所述同步路径为由所述软件包管理平台到达所述目标主机的服务器的路径;
根据所述软件包的包名和所述目标主机的参数生成所述目标主机安装所述软件包所需的配置信息;
将所述软件包经由所述同步路径同步至所述目标主机的服务器;
将所述配置信息发送至所述目标主机的运维管理平台,其中,所述运维管理平台用于根据所述配置信息将所述目标主机的服务器上的软件包安装至所述目标主机。
2.根据权利要求1所述的安装软件包至目标主机的方法,其特征在于,将所述软件包经由所述同步路径同步至所述目标主机的服务器的过程包括至少两个同步步骤,所述同步步骤用于将所述软件包由上游设备同步至相邻的下游设备,所述同步步骤包括:
调用脚本执行函数执行所述上游设备上的预置脚本,其中,所述预置脚本被执行时,将所述上游设备上的所述软件包同步至所述下游设备。
3.根据权利要求2所述的安装软件包至目标主机的方法,其特征在于,所述同步步骤还包括:
获取所述脚本执行函数执行预置脚本的过程信息和执行结果;以及
将所述过程信息和执行结果写入同步日志。
4.根据权利要求3所述的安装软件包至目标主机的方法,其特征在于,将所述软件包经由所述同步路径同步至所述目标主机的服务器的步骤包括:
建立同步任务,其中,所述同步任务包括与所述同步步骤一一对应且按顺序设置的子任务,每启动一个所述子任务,执行一个所述同步步骤;
启动一个所述子任务;
根据所述执行结果标记所述子任务的状态;
当所述子任务的状态为执行成功时,启动下一个所述子任务;
当所述子任务的状态为执行失败时,中断所述同步任务;
输出所述子任务执行失败的提示信息,并提供日志查看控件;
响应于对所述日志查看控件的操作,显示所述同步日志。
5.根据权利要求4所述的安装软件包至目标主机的方法,其特征在于,所述方法还包括:
针对中断的所述同步任务,提供断点续做控件;
响应于对所述断点续做控件的操作,重新启动状态为执行失败的所述子任务。
6.根据权利要求2所述的安装软件包至目标主机的方法,其特征在于,
所述方法还包括:当校验通过时,计算所述软件包的数字指纹,得到原始指纹;
所述预置脚本被执行时,计算所述上游设备的所述软件包的数字指纹,得到校验指纹,并在所述校验指纹和所述原始指纹一致时,将所述上游设备的所述软件包同步至所述下游设备。
7.根据权利要求1所述的安装软件包至目标主机的方法,其特征在于,对所述软件包按照预设的校验规则进行校验的步骤包括:
校验所述软件包的包名是否符合预设的包名规范;
判断所述软件包的包名中所包含的环境信息与所述目标主机的环境信息是否相同;
判断所述软件包的包名中所包含的主机类型与所述目标主机的主机类型是否相同;和/或
判断所述软件包的包名中所包含的***版本信息是否满足预设的***版本要求。
8.一种安装软件包至目标主机的装置,其特征在于,所述装置设置于软件包管理平台,所述装置包括:
接收模块,用于接收待同步的软件包和目标主机的参数;
校验模块,用于对所述软件包按照预设的校验规则进行校验;
确定模块,用于当校验通过时,根据所述目标主机的参数确定同步路径,其中,所述同步路径为由所述软件包管理平台到达所述目标主机的服务器的路径;
处理模块,用于根据所述软件包的包名和所述目标主机的参数生成所述目标主机安装所述软件包所需的配置信息;
同步模块,用于将所述软件包经由所述同步路径同步至所述目标主机的服务器;
发送模块,用于将所述配置信息发送至所述目标主机的运维管理平台,其中,所述运维管理平台用于根据所述配置信息将所述目标主机的服务器上的软件包安装至所述目标主机。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010116137.9A CN111338656B (zh) | 2020-02-25 | 2020-02-25 | 安装软件包至目标主机的方法、装置和计算机设备 |
PCT/CN2020/099444 WO2021169124A1 (zh) | 2020-02-25 | 2020-06-30 | 安装软件包至目标主机的方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010116137.9A CN111338656B (zh) | 2020-02-25 | 2020-02-25 | 安装软件包至目标主机的方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338656A true CN111338656A (zh) | 2020-06-26 |
CN111338656B CN111338656B (zh) | 2023-12-15 |
Family
ID=71183643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010116137.9A Active CN111338656B (zh) | 2020-02-25 | 2020-02-25 | 安装软件包至目标主机的方法、装置和计算机设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111338656B (zh) |
WO (1) | WO2021169124A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112286531A (zh) * | 2020-09-21 | 2021-01-29 | 麒麟软件有限公司 | Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法 |
WO2021169124A1 (zh) * | 2020-02-25 | 2021-09-02 | 平安科技(深圳)有限公司 | 安装软件包至目标主机的方法、装置和计算机设备 |
CN113434156A (zh) * | 2021-06-29 | 2021-09-24 | 青岛海尔科技有限公司 | 数据库自动部署方法和装置、存储介质及电子装置 |
CN113535270A (zh) * | 2021-07-23 | 2021-10-22 | 建信金融科技有限责任公司 | 一种软件启动方法和装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020032763A1 (en) * | 1998-12-14 | 2002-03-14 | Cox David E. | Methods, systems and computer program products for distribution of application programs to a target station on a network |
US20040213159A1 (en) * | 2001-03-13 | 2004-10-28 | Helgesen Jan Ingvard | Method for optimizing software distribution in large communication networks |
US20090007096A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Secure Software Deployments |
CN102136942A (zh) * | 2010-12-31 | 2011-07-27 | 华为技术有限公司 | 软件的下载方法和装置 |
CN102195978A (zh) * | 2011-04-26 | 2011-09-21 | 深圳市共济科技有限公司 | 一种软件分布部署方法及*** |
CN102437938A (zh) * | 2012-01-09 | 2012-05-02 | 北京邮电大学 | 面向大规模网络监测的虚拟化部署***和方法 |
CN103577235A (zh) * | 2013-11-14 | 2014-02-12 | 中安消技术有限公司 | 一种软件部署方法、部署服务器、待部署机和*** |
CN104639614A (zh) * | 2015-01-05 | 2015-05-20 | 广州杰赛科技股份有限公司 | 一种软件分发方法、***及服务器 |
CN104699799A (zh) * | 2015-03-19 | 2015-06-10 | 神华集团有限责任公司 | 基于跨***数据传输方法 |
CN105049504A (zh) * | 2015-07-09 | 2015-11-11 | 国云科技股份有限公司 | 一种大数据中转传输同步及存储方法 |
CN108234607A (zh) * | 2017-12-18 | 2018-06-29 | 上海中畅数据技术有限公司 | 一种基于微服务架构模式下的文件分发方法与*** |
CN108509203A (zh) * | 2018-03-13 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 软件跨云部署方法、计算机设备及存储介质 |
CN108776604A (zh) * | 2018-05-23 | 2018-11-09 | 网易(杭州)网络有限公司 | 目标任务的执行方法及*** |
CN109995653A (zh) * | 2019-04-15 | 2019-07-09 | 深圳市迅雷网络技术有限公司 | 跨节点的数据传输方法、装置、***及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104360878B (zh) * | 2014-10-29 | 2019-05-17 | 中国建设银行股份有限公司 | 一种应用软件部署的方法及装置 |
CN111338656B (zh) * | 2020-02-25 | 2023-12-15 | 平安科技(深圳)有限公司 | 安装软件包至目标主机的方法、装置和计算机设备 |
-
2020
- 2020-02-25 CN CN202010116137.9A patent/CN111338656B/zh active Active
- 2020-06-30 WO PCT/CN2020/099444 patent/WO2021169124A1/zh active Application Filing
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020032763A1 (en) * | 1998-12-14 | 2002-03-14 | Cox David E. | Methods, systems and computer program products for distribution of application programs to a target station on a network |
US20040213159A1 (en) * | 2001-03-13 | 2004-10-28 | Helgesen Jan Ingvard | Method for optimizing software distribution in large communication networks |
US20090007096A1 (en) * | 2007-06-28 | 2009-01-01 | Microsoft Corporation | Secure Software Deployments |
CN102136942A (zh) * | 2010-12-31 | 2011-07-27 | 华为技术有限公司 | 软件的下载方法和装置 |
CN102195978A (zh) * | 2011-04-26 | 2011-09-21 | 深圳市共济科技有限公司 | 一种软件分布部署方法及*** |
CN102437938A (zh) * | 2012-01-09 | 2012-05-02 | 北京邮电大学 | 面向大规模网络监测的虚拟化部署***和方法 |
CN102437938B (zh) * | 2012-01-09 | 2013-11-13 | 北京邮电大学 | 面向大规模网络监测的虚拟化部署***和方法 |
CN103577235A (zh) * | 2013-11-14 | 2014-02-12 | 中安消技术有限公司 | 一种软件部署方法、部署服务器、待部署机和*** |
CN104639614A (zh) * | 2015-01-05 | 2015-05-20 | 广州杰赛科技股份有限公司 | 一种软件分发方法、***及服务器 |
CN104699799A (zh) * | 2015-03-19 | 2015-06-10 | 神华集团有限责任公司 | 基于跨***数据传输方法 |
CN105049504A (zh) * | 2015-07-09 | 2015-11-11 | 国云科技股份有限公司 | 一种大数据中转传输同步及存储方法 |
CN108234607A (zh) * | 2017-12-18 | 2018-06-29 | 上海中畅数据技术有限公司 | 一种基于微服务架构模式下的文件分发方法与*** |
CN108509203A (zh) * | 2018-03-13 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 软件跨云部署方法、计算机设备及存储介质 |
CN108776604A (zh) * | 2018-05-23 | 2018-11-09 | 网易(杭州)网络有限公司 | 目标任务的执行方法及*** |
CN109995653A (zh) * | 2019-04-15 | 2019-07-09 | 深圳市迅雷网络技术有限公司 | 跨节点的数据传输方法、装置、***及可读存储介质 |
Non-Patent Citations (5)
Title |
---|
COMPUTER ASSOCIATES THINK, INC.: "System for software distribution in a digital computer network", Retrieved from the Internet <URL:https://patents.justia.com/patent/6286041> * |
SANDER VAN DER BURG: "A generic approach for deploying and upgrading mutable software components", 《2012 4TH INTERNATIONAL WORKSHOP ON HOT TOPICS IN SOFTWARE UPGRADES》, pages 26 - 30 * |
UML: "如何跨云实现应用部署管理", Retrieved from the Internet <URL:www.uml.org.cn/yunjisuan/201906121.asp?artid=22071> * |
巩徽等: "《传媒信息安全》", 31 August 2015, 中国传媒大学出版社, pages: 121 * |
邓书芬: "基于云平台的软件分发设计与实现", 《移动通信》, no. 2017, pages 70 - 74 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021169124A1 (zh) * | 2020-02-25 | 2021-09-02 | 平安科技(深圳)有限公司 | 安装软件包至目标主机的方法、装置和计算机设备 |
CN112286531A (zh) * | 2020-09-21 | 2021-01-29 | 麒麟软件有限公司 | Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法 |
CN112286531B (zh) * | 2020-09-21 | 2023-07-04 | 麒麟软件有限公司 | Redhat系发行版中实现RPM包管理工具切换为DPKG包管理工具的方法 |
CN113434156A (zh) * | 2021-06-29 | 2021-09-24 | 青岛海尔科技有限公司 | 数据库自动部署方法和装置、存储介质及电子装置 |
CN113535270A (zh) * | 2021-07-23 | 2021-10-22 | 建信金融科技有限责任公司 | 一种软件启动方法和装置 |
CN113535270B (zh) * | 2021-07-23 | 2022-12-13 | 建信金融科技有限责任公司 | 一种软件启动方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111338656B (zh) | 2023-12-15 |
WO2021169124A1 (zh) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338656B (zh) | 安装软件包至目标主机的方法、装置和计算机设备 | |
CN108600029B (zh) | 一种配置文件更新方法、装置、终端设备及存储介质 | |
CN111694592A (zh) | 项目版本发布的管理方法以及*** | |
CN105138347A (zh) | 一种差分升级包生成方法、软件升级方法及相应装置 | |
CN110727575B (zh) | 一种信息处理方法、***、装置、以及存储介质 | |
TW201407341A (zh) | 修復軟體運行錯誤的方法、裝置及系統 | |
CN110224854A (zh) | 区块链节点的部署方法、装置及存储介质 | |
CN110489161B (zh) | 一种版本文件的管理方法及相关装置 | |
CN111580926A (zh) | 模型发布方法、模型部署方法、装置、设备及存储介质 | |
CN113448862B (zh) | 软件版本测试方法、装置及计算机设备 | |
CN111162953A (zh) | 数据处理方法、***升级方法和服务器 | |
CN112860645A (zh) | 一种离线压缩文件的处理方法、装置、计算机设备及介质 | |
CN113805925A (zh) | 分布式集群管理软件的在线升级方法、装置、设备及介质 | |
CN108874425A (zh) | 配置文件更新方法、装置、基板管理控制器及存储介质 | |
CN113434254B (zh) | 客户端部署方法、装置、计算机设备及存储介质 | |
CN105242981A (zh) | 一种Kdump的配置方法及计算机设备 | |
CN113961199A (zh) | 一种模型部署***、方法、装置及存储介质 | |
KR20150124653A (ko) | 프로세스 검증 기능이 구비된 전력 계통 감시 및 제어 시스템 | |
CN113419949B (zh) | 数据处理的异常检测方法、装置、设备及存储介质 | |
CN113360172B (zh) | 应用部署方法、装置、计算机设备及存储介质 | |
CN115827069A (zh) | 服务器主板的启动控制方法、***及装置 | |
CN108737184A (zh) | 一种容灾***的管理方法和装置 | |
CN114153503A (zh) | 一种bios控制方法、装置、介质 | |
CN114895916A (zh) | 代码部署方法、装置、存储介质以及电子设备 | |
CN107797800B (zh) | 对多个关联业务***的数据处理方法、电子装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40032313 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |