CN113448601B - 基于内容分发网络的软件包安装方法、装置、设备和系统 - Google Patents

基于内容分发网络的软件包安装方法、装置、设备和系统 Download PDF

Info

Publication number
CN113448601B
CN113448601B CN202111004936.8A CN202111004936A CN113448601B CN 113448601 B CN113448601 B CN 113448601B CN 202111004936 A CN202111004936 A CN 202111004936A CN 113448601 B CN113448601 B CN 113448601B
Authority
CN
China
Prior art keywords
software package
preset
host
image file
distribution network
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.)
Active
Application number
CN202111004936.8A
Other languages
English (en)
Other versions
CN113448601A (zh
Inventor
余亚超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba China Co Ltd
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd, Alibaba Cloud Computing Ltd filed Critical Alibaba China Co Ltd
Priority to CN202111004936.8A priority Critical patent/CN113448601B/zh
Publication of CN113448601A publication Critical patent/CN113448601A/zh
Application granted granted Critical
Publication of CN113448601B publication Critical patent/CN113448601B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种基于内容分发网络的软件包安装方法、装置、设备和系统,该方法包括:预设专有云中的主机向CDN节点发送软件包获取请求,将从CDN节点接收到的镜像文件存储在本地。CDN节点根据软件包获取请求确定所述专有云中的主机符合设定的鉴权条件时获取预设内网中的主机生成的镜像文件,预设内网与预设专有云属于同一用户,镜像文件中包含存储在预设内网中的多个软件包。响应于用户触发的与目标软件包对应的安装请求,从本地存储的镜像文件中获取目标软件包并安装。基于本方案,可以实现专有云环境下的软件包的安全、高效安装。

Description

基于内容分发网络的软件包安装方法、装置、设备和系统
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于内容分发网络的软件包安装方法、装置、设备和系统。
背景技术
不管是用户终端设备还是服务器,各种电子设备的使用离不开各种软件包,比如各种应用程序(app)、驱动程序、中间件,等等。
目前,为了提高软件包的安装效率,提供了多种软件包管理工具,比如Yum,红帽软件包管理工具(Red Hat Package Manager,简称RPM),等等。
现实应用中,有这样一种需求:某个企业用户可能在某地部署了一个内网,在其他一些地方分别部署了专有云网络,因工作需要,在内网中存储了多种软件,希望专有云环境中也能够支持这些软件,这就产生了在专有云环境中部署相应的这些软件包的需求。专有云位于公网,与企业内网之间无法直接通信交互,而且,当该企业在很多地方都设有专有云网络时,众多专有云环境都需要部署这些软件包,因此,如何高效、安全地完成专有云环境中软件包的安装问题,是亟待解决的问题。
发明内容
本发明实施例提供一种基于内容分发网络的软件包安装方法、装置、设备和系统,用以在专有云环境中实现软件包的安全高效安装。
第一方面,本发明实施例提供一种基于内容分发网络的软件包安装方法,应用于预设专有云中的主机,所述方法包括:
向内容分发网络节点发送软件包获取请求;
将从所述内容分发网络节点接收到的镜像文件存储在本地,所述镜像文件是所述内容分发网络节点根据所述软件包获取请求确定所述专有云中的主机符合设定的鉴权条件时从预设内网中的主机获取的;其中,所述预设内网与所述预设专有云属于同一用户,所述镜像文件中包含存储在所述预设内网中的多个软件包;
响应于所述用户触发的与目标软件包对应的安装请求,从本地存储的所述镜像文件中获取所述目标软件包,并安装所述目标软件包。
第二方面,本发明实施例提供一种基于内容分发网络的软件包安装装置,应用于预设专有云中的主机,所述装置包括:
发送模块,用于向内容分发网络节点发送软件包获取请求;
存储模块,用于将从所述内容分发网络节点接收到的镜像文件存储在本地,所述镜像文件是所述内容分发网络节点根据所述软件包获取请求确定所述专有云中的主机符合设定的鉴权条件时从预设内网中的主机获取的;其中,所述预设内网与所述预设专有云属于同一用户,所述镜像文件中包含存储在所述预设内网中的多个软件包;
安装模块,用于响应于所述用户触发的与目标软件包对应的安装请求,从本地存储的所述镜像文件中获取所述目标软件包,并安装所述目标软件包。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的基于内容分发网络的软件包安装方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的基于内容分发网络的软件包安装方法。
第五方面,本发明实施例提供一种基于内容分发网络的软件包安装方法,应用于预设内网中的主机,所述方法包括:
根据所述预设内网中存储的多个软件包的配置信息,下载所述多个软件包;
将所述多个软件包封装为镜像文件;
将所述镜像文件发送至内容分发网络节点,以使所述内容分发网络节点响应于预设专有云中的主机所触发的软件包获取请求,确定所述预设专有云中的主机符合设定的鉴权条件时将所述镜像文件发送至所述预设专有云中的主机;其中,所述预设内网与所述预设专有云属于同一用户。
第六方面,本发明实施例提供一种基于内容分发网络的软件包安装装置,应用于预设内网中的主机,所述装置包括:
下载模块,用于根据所述预设内网中存储的多个软件包的配置信息,下载所述多个软件包;
封装模块,用于将所述多个软件包封装为镜像文件;
发送模块,用于将所述镜像文件发送至内容分发网络节点,以使所述内容分发网络节点响应于预设专有云中的主机所触发的软件包获取请求,确定所述预设专有云中的主机符合设定的鉴权条件时将所述镜像文件发送至所述预设专有云中的主机;其中,所述预设内网与所述预设专有云属于同一用户。
第七方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第五方面所述的基于内容分发网络的软件包安装方法。
第八方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第五方面所述的基于内容分发网络的软件包安装方法。
第九方面,本发明实施例提供了一种基于内容分发网络的软件包安装系统,包括:
预设内网中的第一主机,预设专有云中的第二主机,以及内容分发网络节点,所述预设内网与所述预设专有云属于同一用户;
所述第一主机,用于根据所述预设内网中存储的多个软件包的配置信息,下载所述多个软件包,将所述多个软件包封装为镜像文件;
所述第二主机,用于向内容分发网络节点发送软件包获取请求,将从所述内容分发网络节点接收到的所述镜像文件存储在本地;响应于所述用户触发的与目标软件包对应的安装请求,从本地存储的所述镜像文件中获取所述目标软件包,并安装所述目标软件包;
所述内容分发网络节点,用于根据所述软件包获取请求确定所述第二主机符合设定的鉴权条件时,获取所述第一主机生成的所述镜像文件,将所述镜像文件发送至所述第二主机。
假设一个企业用户在某地部署了内网,在其他若干地方部署了专有云,当前内网中存储了多个软件包,需要在各个专有云环境中部署其中的全部或部分软件包。为满足该需求,本发明实施例中提供了基于内容分发网络(Content Delivery Network,简称CDN)的解决方案。具体地,内网中某主机可以下载本地存储的多个软件包,将这些软件包封装为某种软件包管理工具可以操作的镜像文件,相当于生成与内网本地的挂载有多个软件包的仓库目录对应的镜像文件,之后,可以将该镜像文件传输到CDN网络中。任一专有云中的主机可以向CDN网络发送软件包获取请求,当接收到该软件包获取请求的CDN节点确定该专有云中主机符合鉴权条件时,将相应内网中主机生成的镜像文件发送到该专有云中的主机,专有云中的主机便可以将该镜像文件存储在本地,这样就在专有云环境内形成了一个镜像的软件仓库。当专有云中主机接收到用户触发的针对目标软件包的安装请求时,便可以从本地存储的镜像文件中获取相应的目标软件包并进行安装。
在上述方案中,借助CDN网络覆盖范围广、响应速度快的优势,可以实现企业用户的众多专有云环境中的软件包的高效安装。而且,企业用户使用CDN网络时,需要使用分配给它的账号密码进行登录,保证其镜像文件上传到CDN网络的安全性,对于访问CDN网络的专有云中的主机来说,CDN网络需要对其进行鉴权,只有确定专有云中主机具有通过CDN网络获取相应内网发布的数据时,才会将该内网中主机生成的镜像文件发给该专有云中主机,保证了内网中软件包的安全可靠传输。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于内容分发网络的软件包安装系统的示意图;
图2为本发明实施例提供的一种基于内容分发网络的软件包安装方法的流程图;
图3为本发明实施例提供的一种打包内网中软件包的应用示意图;
图4为本发明实施例提供的一种基于内容分发网络的软件包安装方法的流程图;
图5为本发明实施例提供的一种专有云中主机安装软件包的应用示意图;
图6为本发明实施例提供的一种软件包安装装置的结构示意图;
图7为与图6所示实施例提供的软件包安装装置对应的电子设备的结构示意图;
图8为本发明实施例提供的一种软件包安装装置的结构示意图;
图9为与图8所示实施例提供的软件包安装装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例提供的软件包安装方案,适用于在专有云环境中安装软件包的情形。具体地,专有云,简单来说就是让某用户(一般为企业用户)获得专属的公有云服务的网络实现方式。
针对某企业用户来说,该企业用户可能在某地部署了一个内网,在其他一些地方分别部署了专有云网络,在内网中存储了多种软件,比如在构建专有云的时候,也希望各个专有云环境中也能够支持其中的全部或部分软件,这就产生了在专有云环境中部署相应软件包的需求。
为完成在专有云环境中安装企业用户内网中存储的软件包的任务,本发明实施例提供了图1所示的软件包安装系统来完成该任务。
图1为本发明实施例提供的一种基于内容分发网络的软件包安装系统的示意图,如图1所示,该系统包括:预设内网中的第一主机,预设专有云中的第二主机,以及内容分发网络节点,所述预设内网与所述预设专有云属于同一用户。
其中,上述预设内网是上述用户在某地部署的内网,内网也可以称为局域网。上述预设专有云是指为该用户在多个地方中的任一地方提供的专有云,即可以为该用户提供位于不同地方的多个专有云,上述专有云是多个专有云中的任一个。实际应用中,多个专有云往往都具有软件包的安装需求,该安装需求是指需要安装原本由内网提供的多个软件包中的全部或部分。
比如,该用户出于工作需要而开发出某款应用软件,该应用软件在内网中部署运行,在构建各专有云的时候,希望各专有云中也可以运行该应用软件,那么就需要将原本存储在内网中的这款特定的应用软件安装到专有云中。
可以理解的是,在内网中会包含很多电子设备,包括用户终端设备和服务器,而且,往往可能包含不止一台服务器,不同服务器的功能可能有所不同。本实施例中,将内网中用于完成专有云中软件包安装的电子设备成为第一主机,第一主机可能是内网中的某个服务器。
针对上述任一专有云来说,上述第二主机可以是该专有云中的包含的任一服务节点,该服务节点可以是物理服务器,虚拟服务器等。
基于此,将内网中存储的软件包安装到专有云环境中的过程,即可以描述为第一主机如何将内网中的软件包提供到第二主机,供第二主机安装的过程。
另外,为了完成上述软件包安装任务,本发明实施例中还引入了CDN网络,通过CDN网络来辅助完成软件包的安装任务。
CDN网络由若干节点构成,包括中心节点和边缘节点。每个节点可以实现为服务器的形式,不以此为限。CDN网络覆盖范围很广,可以根据需要在若干地方部署边缘节点。而且,CDN网络可以跨不同运营商进行网络通信。基于CDN网络,可以使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
本发明实施例中,引入CDN网络的目的概括来说就是:一方面,内网和专有云都可以接入CDN网络,通过CDN网络构建起交互隧道,且利用CDN网络的优势实现高效的数据传输;第二方面,为了保证内网中数据的安全,即保证不会让其他用户随意发现下载某用户提供的软件包,在CDN网络中还实现了保证数据安全的相关措施。
下面概述在软件包的安装过程中,上述第一主机、第二主机、CDN网络的工作过程:
第一主机,用于根据预设内网中存储的多个软件包的配置信息,下载多个软件包,将多个软件包封装为镜像文件。
第二主机,用于向CDN节点发送软件包获取请求,将从CDN节点接收到的镜像文件存储在本地;响应于用户触发的与目标软件包对应的安装请求,从本地存储的镜像文件中获取目标软件包,并安装目标软件包。
CDN节点,用于根据软件包获取请求确定第二主机符合设定的鉴权条件时,获取第一主机生成的镜像文件,将镜像文件发送至第二主机。
其中,第二主机所接入的上述CDN节点一般是距离自己较近的CDN边缘节点。
实际应用中,内网中的第一主机可以响应于网络维护等相关人员的触发,将内网中当前存储的多个软件包进行打包,打包结果称为镜像文件,该镜像文件可以通过CDN网络最终提供到专有网中的第二主机。其中,第二主机基于专有云侧相关人员的触发,向接入的CDN节点触发软件包获取请求,CDN节点基于该软件包获取请求对第二主机进行鉴权,如果第二主机通过鉴权,则CDN节点会获取与第二主机的软件包获取请求相对应的上述镜像文件,将该镜像文件发送至第二主机,使得第二主机本地存储镜像文件,这样就相当于在第二主机内生成了一个与内网中软件仓库对应的镜像软件仓库,其中包含内网中存储的多个软件包。
这样,当专有云中第二主机接收到相关人员触发的针对其中某目标软件包的安装请求时,第二主机可以在本地的镜像软件仓库中查询到相应的目标软件包,并进行安装。
下面对内网中第一主机生成镜像文件的过程,以及第二主机通过CDN节点获取该镜像文件的过程分别进行说明。
图2为本发明实施例提供的一种基于内容分发网络的软件包安装方法的流程图,该方法可以由上文中的第一主机来执行,如图2所示,可以包括如下步骤:
201、根据预设内网中存储的多个软件包的配置信息,下载多个软件包。
202、将多个软件包封装为镜像文件。
203、将镜像文件发送至CDN节点,以使CDN节点响应于预设专有云中的主机所触发的软件包获取请求,确定预设专有云中的主机符合设定的鉴权条件时将镜像文件发送至预设专有云中的主机,预设内网与预设专有云属于同一用户。
其中,根据预设内网中存储的多个软件包的配置信息,下载多个软件包,具体可以实现为:获取第一主机对应的配置文件,该配置文件中包括预设内网中的主机的环境参数信息和多个软件包的配置信息;解析配置文件以根据多个软件包的配置信息生成与多个软件包对应的下载命令,执行该下载命令以下载多个软件包。
实际应用中,如上文所述,内网中会设置很多主机,内网中包含的多个软件包可能不仅仅是存储在一台主机中,可能存储在多台主机中。本实施例中假设将内网中设置的用于进行软件包封装(或者称为打包)处理的主机称为第一主机,在第一主机中会存储有一种配置文件(如salt.sls文件),这个配置文件中描述了内网中存储的各软件包的相关配置信息,还包括内网中各主机的环境参数信息。
可以对该配置文件进行解析,以从中解析出多个软件包的配置信息。这些软件包的配置信息中描述了包括诸如版本号、包名、存储位置,等与安装逻辑相关的信息。其中,开发者在开发软件的时候,目前常将其封装为RPM软件包,因此,上述包名可以是RPM包名;存储位置是指软件包在内网中的存储位置。
可以认为在内网中会生成一个软件包源仓库,其中存储有各个软件包,上述存储位置可以是软件包在该软件包源仓库中的位置。
在从配置文件中解析出其中包含的多个软件包的配置信息后,可以根据每个软件包对应的存储位置下载相应软件包,之后,将下载的多个软件包封装为镜像文件。其中,之所以仅从配置文件中读取出其中的软件包配置信息,而不需要环境参数信息,是因为专有云环境下的主机的运行环境往往可以自定义设置,不需要与内网中主机的运行环境保持一致,环境参数信息比如包括主机的一些硬件参数、软件运行环境,等等。
实际应用中,常常使用某种软件包管理工具来进行软件包的下载、安装、升级、卸载等管理,比如RPM工具、YUM工具等等。
为便于描述,以使用YUM工具为例,当内网使用这种软件包管理工具来进行软件包的管理时,在从配置文件中解析出多个软件包的配置信息后,可以根据多个软件包的配置信息生成与多个软件包对应的下载命令,其中,该下载命令时YUM工具中提供的相关下载命令。也就是说,针对一个软件包来说,该软件包的配置信息会被封装在YUM对应的包下载命令中,这样,这条下载命令就可以被YUM工具执行,且这条下载命令中描述了需要下载的软件包的名称、存储位置、版本号等相关信息。基于封装得到的多条下载命令(分别对应于多个软件包),执行这些下载命令以下载多个软件包。具体地,下载的多个软件包可以被下载到本地的预设仓库目录(或者称为镜像打包目录:用于进行镜像文件打包的目录)下。之后,封装下载的多个软件包,以得到镜像文件。
可选地,将多个软件包封装为镜像文件,具体可以实现为:
将多个软件包下载到预设仓库目录下;
通过设定软件包管理命令对所述预设仓库目录进行处理,以得到仓库源索引文件;
对多个软件包和仓库源索引文件进行封装,以得到镜像文件。
在使用YUM工具的情形下,上述设定软件包管理命令可以是:createrepo /yum/local。使用该命令对挂载了多个软件包的上述预设仓库目录进行处理,便可以生成yum源索引文件,即上述仓库源索引文件。之后,对下载的多个软件包和该yum源索引文件进行打包封装,便可以得到镜像文件:repo.tar文件,其中,tar仅为一种可选的打包格式,比如还可以是iso、zip等。
为更加直观地理解上述软件包打包过程,结合图3示例性说明。如图3所示,第一主机获取salt.sls文件,将该文件输入到sls包生成解析器中进行解析,便可以得到内网中存储的各个软件包的配置信息,并可以基于该配置信息生成各个软件包对应的yum包下载命令。执行生成的yum包下载命令便可以从内网中下载下来各个软件包。将下载的各软件包挂载到本地的设定仓库目录下,通过createrepo /yum/local命令生成yum源索引文件,之后,对该yum源索引文件和下载的多个软件包进行压缩打包处理,得到镜像文件:repo.tar.gz。
第一主机得到上述镜像文件后,可选地,可以主动地推送到CDN网络中,或者,也可以本地存储,后续某些CDN节点回源拉取该镜像文件。
针对主动推送情形:用户若要使用CDN网络,会预先注册自己的账号并设置密码,以保证自身数据的安全性。因此,用户通过第一主机主动向CDN网络推送镜像文件时,可以通过登录自己的账号、密码,将镜像文件通过自己的账号上传到CDN网络中。其中,可选地,镜像文件可以先被传输到CDN中心节点,由CDN中心节点分发到若干CDN边缘节点,当然,不以此为限,具体上传过程可以遵从CDN网络的规定,在此不展开。
针对回源拉取的情形,此时往往是基于专有云中第二主机的请求,第二主机接入的CDN节点(是CDN边缘节点)在本地发现没有缓存所要请求的数据时,才会回源拉取所请求的数据。其中,所谓回源,在本发明实施例中是指内网中的第一主机,因为第一主机是所要请求的镜像文件的源站。该交互过程结合以下实施例来说明。
图4为本发明实施例提供的一种基于内容分发网络的软件包安装方法的流程图,该方法可以由上文中的第二主机来执行,如图4所示,可以包括如下步骤:
401、向CDN节点发送软件包获取请求。
402、将从CDN节点接收到的镜像文件存储在本地,其中,镜像文件是CDN节点根据软件包获取请求确定专有云中的主机符合设定的鉴权条件时从预设内网中的主机获取的。
其中,预设内网与预设专有云属于同一用户,镜像文件中包含存储在预设内网中的多个软件包。
403、响应于用户触发的与目标软件包对应的安装请求,从本地存储的镜像文件中获取目标软件包,并安装目标软件包。
实际应用中,第二主机可以在接收到用户输入的特定下载指示时,触发与某CDN节点的连接,并向该CDN节点发送软件包获取请求。或者,第二主机也可以被配置为定时地向CDN节点发送该软件包获取请求。
可以理解的是,在该软件包获取请求中会包括与其想要获取的资源对应的URL,本实施例中,想要获取的资源即为内网中的软件包。另外,为了对第二主机进行鉴权,该软件包获取请求中还包括第二主机对应的鉴权参数。CDN节点接收到该请求后,基于其中包括的URL和鉴权参数对第二主机进行鉴权,确定第二主机是否具有通过CDN网络获取其想要请求的内网中资源的权限。如果确定第二主机具有该权限,则CDN节点需要获取第二主机所要请求的资源:包含内网中多个软件包的镜像文件。
具体地,如果CDN节点本地没有缓存该镜像文件,则建立与内网中第一主机之间的通信连接,从第一主机内拉取该镜像文件,并提供给第二主机;反之,如果CDN节点本地已经缓存有该镜像文件,则直接反馈给第二主机。
下面说明一种可选的鉴权过程:
软件包获取请求中包括:与预设内网对应的访问参数信息和第一秘钥,第一秘钥是预先分配给所述专有云的。基于此,CDN节点若根据所述访问参数信息生成的第二秘钥与第一秘钥一致,则确定专有云中的第二主机符合设定的鉴权条件。
其中,上述访问参数信息包括URL以及诸如用户标识、随机数、鉴权失效时间等参数。上述第一秘钥是预先分配给一个用户对应的各专有云环境使用的,不同用户对应的秘钥不同。
CDN节点接收到上述软件包获取请求后,从中解析出访问参数信息和第一秘钥。根据设定算法(如md5算法)对该访问参数信息进行计算得到第二秘钥,如果第二秘钥与第一秘钥相同,说明第二主机通过了鉴权,反之,第二主机未通过鉴权。
第二主机从CDN节点接收到镜像文件后,本地存储该镜像文件。可选地,存储过程可以包括:将镜像文件存储在本地的预设目录下,并生成镜像文件的配置信息。其中,以使用YUM工具管理软件包为例,该预设目录可以是/yum/local/目录,将镜像文件挂载在该目录下,并生成与之对应的配置信息,该配置信息中可以包括镜像文件挂载的地址,还可以包括镜像文件中包含的各软件包的相关描述信息,该相关描述信息比如包括:软件包名、软件包所在子目录、版本号,等等。
至此,第二主机便将内网中存储的多个软件包镜像存储到了本地,在本地形成了一个软件包仓库。
当用户通过软件包安装指令触发针对目标软件包的安装请求时,可以读取镜像文件的配置信息,以得知镜像文件存储在了哪里,以及其中包含了哪些软件包,每个软件包的存储位置。这样便根据镜像文件的配置信息确定了目标软件包的存储位置,从该存储位置处获取目标软件包并进行安装即可。
为更加直观地理解上述软件包安装过程,结合图5示例性说明。如图5所示,第二主机中可以设有预设脚本:yum_local_sync.sh脚本,第二主机内启动一定时同步任务,该定时同步任务用于定时同步内网的软件包存储情况,即定时将内网中存储的软件包更新到本地。该定时同步任务被触发后,调用上述脚本,以向CDN节点发出软件包获取请求,其中,该脚本可以用于对该请求进行封装。CDN接收到该请求后,基于上文介绍的鉴权过程进行鉴权处理,若通过鉴权,则可以回源拉取镜像文件,向第二主机发送该镜像文件。第二主机一方面将该镜像文件挂载到设定目录下,另一方面,在挂载成功后,生成镜像文件的配置信息。当用户触发针对目标软件包的yum安装命令时,读取该配置信息得到目标软件包的存储位置,从镜像文件中获取目标软件包并安装。
综上,基于CDN网络覆盖范围广、具有鉴权以及访问加速的优势,可以实现用户的专有云环境下软件包的高效、安全安装。
以下将详细描述本发明的一个或多个实施例的软件包安装装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种软件包安装装置的结构示意图,该装置位于预设专有云中的主机中,如图6所示,该装置包括:发送模块11、存储模块12、安装模块13。
发送模块11,用于向内容分发网络节点发送软件包获取请求。
存储模块12,用于将从所述内容分发网络节点接收到的镜像文件存储在本地,所述内容分发网络节点根据所述软件包获取请求确定所述专有云中的主机符合设定的鉴权条件时,获取预设内网中的主机生成的所述镜像文件;其中,所述预设内网与所述预设专有云属于同一用户,所述镜像文件中包含存储在所述预设内网中的多个软件包。
安装模块13,用于响应于所述用户触发的与目标软件包对应的安装请求,从本地存储的所述镜像文件中获取所述目标软件包,并安装所述目标软件包。
可选地,所述软件包获取请求中包括:与所述预设内网对应的访问参数信息和第一秘钥,所述第一秘钥是预先分配给所述专有云的;所述内容分发网络节点若根据所述访问参数信息生成的第二秘钥与所述第一秘钥一致,则确定所述专有云中的主机符合设定的鉴权条件。
可选地,所述存储模块12具体可以用于:将所述镜像文件存储在本地的预设目录下,并生成所述镜像文件的配置信息。基于此,所述安装模块13具体用于:根据所述镜像文件的配置信息确定所述目标软件包的存储位置;从所述存储位置处获取所述目标软件包。
图6所示装置可以执行前述实施例中第二主机执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图6所示软件包安装装置的结构可实现为一电子设备,如图7所示,该电子设备可以包括:第一处理器21、第一存储器22、第一通信接口23。其中,第一存储器22上存储有可执行代码,当所述可执行代码被第一处理器21执行时,使第一处理器21至少可以实现如前述实施例中第二主机执行的软件包安装方法。
图8为本发明实施例提供的一种软件包安装装置的结构示意图,该装置位于预设内网中的主机中,如图8所示,该装置包括:下载模块31、封装模块32、发送模块33。
下载模块31,用于根据所述预设内网中存储的多个软件包的配置信息,下载所述多个软件包。
封装模块32,用于将所述多个软件包封装为镜像文件。
发送模块33,用于将所述镜像文件发送至内容分发网络节点,以使所述内容分发网络节点响应于预设专有云中的主机所触发的软件包获取请求,确定所述预设专有云中的主机符合设定的鉴权条件时将所述镜像文件发送至所述预设专有云中的主机;其中,所述预设内网与所述预设专有云属于同一用户。
可选地,所述下载模块31具体用于:获取所述预设内网中的主机对应的配置文件,所述配置文件中包括所述预设内网中的主机的环境参数信息和所述多个软件包的配置信息;解析所述配置文件,以根据所述多个软件包的配置信息生成与所述多个软件包对应的下载命令;执行所述下载命令以下载所述多个软件包。
可选地,所述封装模块32具体用于:将所述多个软件包下载到预设仓库目录下;通过设定软件包管理命令对所述预设仓库目录进行处理,以得到仓库源索引文件;对所述多个软件包和所述仓库源索引文件进行封装,以得到镜像文件。
图8所示装置可以执行前述实施例中第一主机执行的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图8所示软件包安装装置的结构可实现为一电子设备,如图9所示,该电子设备可以包括:第二处理器41、第二存储器42、第二通信接口43。其中,第二存储器42上存储有可执行代码,当所述可执行代码被第二处理器41执行时,使第二处理器41至少可以实现如前述实施例中第一主机执行的软件包安装方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的软件包安装方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种基于内容分发网络的软件包安装方法,其特征在于,应用于预设专有云中的主机,包括:
向内容分发网络节点发送软件包获取请求;
将从所述内容分发网络节点接收到的镜像文件存储在本地,所述镜像文件是所述内容分发网络节点根据所述软件包获取请求确定所述专有云中的主机符合设定的鉴权条件时从预设内网中的主机获取的;其中,所述预设内网与所述预设专有云属于同一用户,所述镜像文件中包含存储在所述预设内网中的多个软件包;
响应于所述用户触发的与目标软件包对应的安装请求,从本地存储的所述镜像文件中获取所述目标软件包,并安装所述目标软件包。
2.根据权利要求1所述的方法,其特征在于,所述软件包获取请求中包括:与所述预设内网对应的访问参数信息和第一秘钥,所述第一秘钥是预先分配给所述专有云的;
所述内容分发网络节点若根据所述访问参数信息生成的第二秘钥与所述第一秘钥一致,则确定所述专有云中的主机符合设定的鉴权条件。
3.根据权利要求1所述的方法,其特征在于,所述将从所述内容分发网络节点接收到的镜像文件存储在本地,包括:
将所述镜像文件存储在本地的预设目录下,并生成所述镜像文件的配置信息;
所述从本地存储的所述镜像文件中获取所述目标软件包,包括:
根据所述镜像文件的配置信息确定所述目标软件包的存储位置;
从所述存储位置处获取所述目标软件包。
4.一种基于内容分发网络的软件包安装方法,其特征在于,应用于预设内网中的主机,包括:
根据所述预设内网中存储的多个软件包的配置信息,下载所述多个软件包;
将所述多个软件包封装为镜像文件;
将所述镜像文件发送至内容分发网络节点,以使所述内容分发网络节点响应于预设专有云中的主机所触发的软件包获取请求,确定所述预设专有云中的主机符合设定的鉴权条件时将所述镜像文件发送至所述预设专有云中的主机;其中,所述预设内网与所述预设专有云属于同一用户。
5.根据权利要求4所述的方法,其特征在于,所述根据所述预设内网中存储的多个软件包的配置信息,下载所述多个软件包,包括:
获取所述预设内网中的主机对应的配置文件,所述配置文件中包括所述预设内网中的主机的环境参数信息和所述多个软件包的配置信息;
解析所述配置文件,以根据所述多个软件包的配置信息生成与所述多个软件包对应的下载命令;
执行所述下载命令以下载所述多个软件包。
6.根据权利要求5所述的方法,其特征在于,所述将所述多个软件包封装为镜像文件,包括:
将所述多个软件包下载到预设仓库目录下;
通过设定软件包管理命令对所述预设仓库目录进行处理,以得到仓库源索引文件;
对所述多个软件包和所述仓库源索引文件进行封装,以得到镜像文件。
7.一种基于内容分发网络的软件包安装装置,其特征在于,应用于预设专有云中的主机,包括:
发送模块,用于向内容分发网络节点发送软件包获取请求;
存储模块,用于将从所述内容分发网络节点接收到的镜像文件存储在本地,所述镜像文件是所述内容分发网络节点根据所述软件包获取请求确定所述专有云中的主机符合设定的鉴权条件时从预设内网中的主机获取的;其中,所述预设内网与所述预设专有云属于同一用户,所述镜像文件中包含存储在所述预设内网中的多个软件包;
安装模块,用于响应于所述用户触发的与目标软件包对应的安装请求,从本地存储的所述镜像文件中获取所述目标软件包,并安装所述目标软件包。
8.一种基于内容分发网络的软件包安装装置,其特征在于,应用于预设内网中的主机,包括:
下载模块,用于根据所述预设内网中存储的多个软件包的配置信息,下载所述多个软件包;
封装模块,用于将所述多个软件包封装为镜像文件;
发送模块,用于将所述镜像文件发送至内容分发网络节点,以使所述内容分发网络节点响应于预设专有云中的主机所触发的软件包获取请求,确定所述预设专有云中的主机符合设定的鉴权条件时将所述镜像文件发送至所述预设专有云中的主机;其中,所述预设内网与所述预设专有云属于同一用户。
9.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至3中任一项所述的软件包安装方法,或者,执行如权利要求4至6中任一项所述的基于内容分发网络的软件包安装方法。
10.一种基于内容分发网络的软件包安装系统,其特征在于,包括:
预设内网中的第一主机,预设专有云中的第二主机,以及内容分发网络节点,所述预设内网与所述预设专有云属于同一用户;
所述第一主机,用于根据所述预设内网中存储的多个软件包的配置信息,下载所述多个软件包,将所述多个软件包封装为镜像文件;
所述第二主机,用于向内容分发网络节点发送软件包获取请求,将从所述内容分发网络节点接收到的所述镜像文件存储在本地;响应于所述用户触发的与目标软件包对应的安装请求,从本地存储的所述镜像文件中获取所述目标软件包,并安装所述目标软件包;
所述内容分发网络节点,用于根据所述软件包获取请求确定所述第二主机符合设定的鉴权条件时,获取所述第一主机生成的所述镜像文件,将所述镜像文件发送至所述第二主机。
CN202111004936.8A 2021-08-30 2021-08-30 基于内容分发网络的软件包安装方法、装置、设备和系统 Active CN113448601B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111004936.8A CN113448601B (zh) 2021-08-30 2021-08-30 基于内容分发网络的软件包安装方法、装置、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111004936.8A CN113448601B (zh) 2021-08-30 2021-08-30 基于内容分发网络的软件包安装方法、装置、设备和系统

Publications (2)

Publication Number Publication Date
CN113448601A CN113448601A (zh) 2021-09-28
CN113448601B true CN113448601B (zh) 2022-01-11

Family

ID=77819052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111004936.8A Active CN113448601B (zh) 2021-08-30 2021-08-30 基于内容分发网络的软件包安装方法、装置、设备和系统

Country Status (1)

Country Link
CN (1) CN113448601B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114500722B (zh) * 2022-01-25 2023-10-17 北京百度网讯科技有限公司 一种分发应用程序镜像的方法、装置、电子设备及介质
CN114900562B (zh) * 2022-05-09 2023-07-21 北京百度网讯科技有限公司 一种资源获取方法、装置、电子设备和存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634410A (zh) * 2013-12-12 2014-03-12 北京奇虎科技有限公司 基于内容分发网络cdn的数据同步方法,客户端及服务器
CN107294785A (zh) * 2017-07-11 2017-10-24 上海帝联信息科技股份有限公司 Cdn节点服务的自动部署方法及装置、计算机可读存储介质
CN107509097A (zh) * 2017-09-15 2017-12-22 武汉斗鱼网络科技有限公司 视频分享方法、装置及分享服务器
CN107566533A (zh) * 2017-10-26 2018-01-09 南威软件股份有限公司 一种基于nas实现的内外网文件共享系统
CN107766126A (zh) * 2017-11-15 2018-03-06 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、装置及存储介质
CN108737463A (zh) * 2017-04-17 2018-11-02 北京神州泰岳软件股份有限公司 一种软件部署方法、服务器和系统
US10219290B2 (en) * 2015-03-17 2019-02-26 Wangsu Science & Technology Co., Ltd. Method, device, and system for content delivery network-based mobile terminal traffic processing
CN110650096A (zh) * 2018-06-27 2020-01-03 中国电信股份有限公司 基于mcdn的内容分发方法和系统
US10931778B2 (en) * 2019-01-09 2021-02-23 Margo Networks Pvt. Ltd. Content delivery network system and method
CN112799688A (zh) * 2021-01-18 2021-05-14 中国银联股份有限公司 容器应用内软件包安装方法、装置、计算机设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002079905A2 (en) * 2001-04-02 2002-10-10 Akamai Technologies, Inc. Scalable, high performance and highly available distributed storage system for internet content
CN105917647B (zh) * 2013-11-14 2021-06-11 Ksi数据科技公司 一种管理和分析多媒体信息的系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634410A (zh) * 2013-12-12 2014-03-12 北京奇虎科技有限公司 基于内容分发网络cdn的数据同步方法,客户端及服务器
US10219290B2 (en) * 2015-03-17 2019-02-26 Wangsu Science & Technology Co., Ltd. Method, device, and system for content delivery network-based mobile terminal traffic processing
CN108737463A (zh) * 2017-04-17 2018-11-02 北京神州泰岳软件股份有限公司 一种软件部署方法、服务器和系统
CN107294785A (zh) * 2017-07-11 2017-10-24 上海帝联信息科技股份有限公司 Cdn节点服务的自动部署方法及装置、计算机可读存储介质
CN107509097A (zh) * 2017-09-15 2017-12-22 武汉斗鱼网络科技有限公司 视频分享方法、装置及分享服务器
CN107566533A (zh) * 2017-10-26 2018-01-09 南威软件股份有限公司 一种基于nas实现的内外网文件共享系统
CN107766126A (zh) * 2017-11-15 2018-03-06 腾讯科技(深圳)有限公司 容器镜像的构建方法、系统、装置及存储介质
CN110650096A (zh) * 2018-06-27 2020-01-03 中国电信股份有限公司 基于mcdn的内容分发方法和系统
US10931778B2 (en) * 2019-01-09 2021-02-23 Margo Networks Pvt. Ltd. Content delivery network system and method
CN112799688A (zh) * 2021-01-18 2021-05-14 中国银联股份有限公司 容器应用内软件包安装方法、装置、计算机设备及介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Protecting Your Own Private Key in Cloud: Security, Scalability and Performance";Wenqian Yu 等;《2018 IEEE Conference on Communications and Network Security (CNS)》;20180813;第1-2页 *
"Resource management in cloud and tactile-capable next-generation optical access networks";Joelle Neaime 等;《 IEEE/OSA Journal of Optical Communications and Networking》;20181121;第902-914页 *
"基于CDN的安全私有云";盛瀚;《网络安全和信息化》;20171105;第130-133页 *

Also Published As

Publication number Publication date
CN113448601A (zh) 2021-09-28

Similar Documents

Publication Publication Date Title
CN113448601B (zh) 基于内容分发网络的软件包安装方法、装置、设备和系统
JP6725924B2 (ja) ページジャンプの方法及び装置
US20180373517A1 (en) Systems, methods, and apparatuses for docker image downloading
KR102191347B1 (ko) 클라우드 컴퓨팅 노드들의 보안 구성
CN107294785B (zh) Cdn节点服务的自动部署方法及装置、计算机可读存储介质
CN110806883B (zh) 一种固件的安全升级方法、装置及计算机可读介质
CN111224952B (zh) 用于定向流量的网络资源获取方法、装置及存储介质
CN111857758B (zh) 应用部署方法、装置及介质
CN108600151B (zh) 一种数据通讯方法、设备及系统
CN110968400B (zh) 应用程序的执行方法、装置、计算机设备和存储介质
CN106909826B (zh) 口令代填装置及系统
CN115361119A (zh) 车载设备软件的批量升级方法及装置
EP2905942B1 (en) Application popularization method, device and system
CN104219312A (zh) 一种安装程序的方法及装置
CN111431957A (zh) 文件处理方法、装置、设备和系统
CN113268254A (zh) 一种集群系统安装方法、装置、电子设备及存储介质
CN102685115A (zh) 一种资源的访问方法、资源管理设备和系统
CN111988324A (zh) 一种数据通讯方法、系统、设备及存储介质
CN115118504B (zh) 知识库更新方法、装置、电子设备及存储介质
CN114884730B (zh) 一种请求检测方法、装置、设备及可读存储介质
CN112565447B (zh) 云环境下上传下载配合加解密方法、系统及web文件管理器
CN111314365B (zh) 应用下载、应用链接生成方法、设备及介质
CN115080338A (zh) 一种自动监测边缘设备容器内应用进程的系统及方法
CN115348172B (zh) 边缘网络设备不同部位版本升级的方法、设备及介质
CN117156474B (zh) 远程智能运维系统及其运维方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant