CN112698847A - 一种云应用的部署方法、装置及系统 - Google Patents
一种云应用的部署方法、装置及系统 Download PDFInfo
- Publication number
- CN112698847A CN112698847A CN202011616705.8A CN202011616705A CN112698847A CN 112698847 A CN112698847 A CN 112698847A CN 202011616705 A CN202011616705 A CN 202011616705A CN 112698847 A CN112698847 A CN 112698847A
- Authority
- CN
- China
- Prior art keywords
- application
- deployment
- cloud application
- cloud
- server
- 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.)
- Pending
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种云应用的部署方法、装置及系统。其中,方法包括:接收云应用部署任务;对云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略;根据应用信息从分区内的应用存储节点获取云应用的安装文件进行校验;在校验通过后根据部署策略将云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。本申请,至少具有降低人工部署的工作量和运维成本的优点。
Description
技术领域
本申请涉及云计算技术领域,具体而言,涉及一种云应用的部署方法、装置及系统。
背景技术
基于云计算技术的发展,依赖于云端强大的计算能力,越来越多的云应用被部署在云端运行,应用在云端运行过程中云端将应用运行的显示输出、声音输出编码后作为视频和音频流,通过网络实时传输给终端,由终端进行实时解码后显示输出。终端同时可以进行对应用的控制操作,经过网络将操作控制信息实时传送给云端进行应用控制。
相关技术中,在云应用规模化运营场景下,由于服务器数量规模庞大(通常数千台服务器),该场景下在将应用进行大规模部署于应用服务器上时,如果采用人工部署的方式,存在着工作量巨大、效率低且运维成本很高的问题。
发明内容
有鉴于此,本申请提供一种云应用的部署方法、装置及系统,以降低部署的工作量和和运维成本,并且提高部署效率。
具体地,本申请是通过如下技术方案实现的:
第一方面,本申请实施例提供了一种云应用的部署方法,所述方法,包括:
接收云应用部署任务;
对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略;
根据所述应用信息对预先获取并存储的所述云应用的安装文件进行校验;
若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
第二方面,本申请实施例提供了一种云应用的部署系统,包括:中心管理服务器和一个或多个部署管理服务器;
所述中心管理服务器,用于响应于用户针对待进行部署的云应用的部署操作触发生成应用部署任务,将所述云应用部署任务发送至待进行所述云应用部署的分区的部署管理服务器;
所述部署管理服务器,用于接收所述云应用部署任务;
对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略;
根据所述应用信息对预先获取并存储的所述云应用的安装文件进行校验;
若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
第三方面,本申请实施例提供了一种云应用的部署装置,所述装置,包括:
接收模块,用于接收云应用部署任务;
解析模块,用于对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略;
获取模块,用于根据所述应用信息对预先获取并存储的所述云应用的安装文件进行校验;
部署模块,用于若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
第四方面,本申请实施例提供了一种机器可读存储介质,机器可读存储介质上存储有若干计算机指令,计算机指令被执行时实现如第一方面所述的方法。
第五方面,本申请实施例提供了一种计算机设备,包括:机器可读存储介质和处理器,机器可读存储介质:存储指令代码,处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中的指令代码,实现如第一方面所述的方法。
本申请实施例中提供的一种云应用的部署方法、装置及系统,部署管理服务在接收到某一云应用的应用部署任务以后,对该应用部署任务进行解析,得到在该分区内待进行部署的云应用的应用信息和部署策略;根据应用信息获取分区内应用存储节点预先存储的该云应用的安装文件,在对云应用的安装文件校验完成后,根据该云应用的安装策略将该云应用安装于分区内的目标应用服务器和/或与该云应用适配的共享存储服务器,本实施例中由分区内的部署管理服务自动执行云应用在该分区的部署安装,并且安装的方式根据不同云应用的部署策略可以是安装于目标应用服务器本地,也可以是安装于应用共享存储服务器,因而安装的方式更灵活,人工参与度低,部署更高效。
附图说明
图1是本申请一示例性实施例示出的云应用部署的应用场景架构示意图;
图2是本申请一示例性实施例示出的一个分区内的服务器集群分布示意图;
图3是本申请一示例性实施例示出的一种云应用的部署方法的流程示意图;
图4是本申请一示例性实施例提供的一种云应用在分区内进行部署安装的流程示意图;
图5是本申请一示例性实施例提供的另一种云应用的部署方法的流程示意图的流程示意图;
图6是本申请一示例性实施例示出一种云应用的部署系统的结构示意图;
图7是本申请一示例性实施例示出的一种应用的部署装置的结构示意图;
图8是本申请一示例性实施例示出的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是本申请一示例性实施例示出的云应用的部署方法的应用场景架构示意图;参照图1所示,本实施例中,云流化系统通过设置不同服务分区的方式为不同的用户提供各类云应用服务,比如分区1、分区2……分区m;在进行云应用部署的情况下,中心管理服务器10响应于用户(比如系统运营人员、租户等)针对待进行部署的云应用的部署操作生成云应用部署任务,向待进行该云应用部署的分区发送云应用部署任务,该分区的部署管理服务接收云应用部署任务后,对该云应用部署任务进行解析得到待进行部署的云应用的应用信息和部署策略,按照应用信息获取分区内预先存储的该云应用的安装文件,根据该部署策略执行该云应用在分区内的部署工作。
本实施例中,各分区内分别设有部署管理服务,通过该部署管理服务执行云应用在分区内的部署工作;本实施例中,上述的分区是指对应于不同的地域用户进行设置的服务器集群,比如上海分区、北京分区等,或者是对应于同一个地域用户设置的不同服务器集群,比如上海分区1、上海分区2等;一个中心管理服务器对应多个分区,可以同时管理多个分区的云应用部署。
图2是本申请一示例性实施例所示出的一个分区内的服务器集群分布的示意图;参照图2所示,分区1内包括一定数量的共享存储服务器102和和一定数量的应用服务器103,通过部署管理服务执行该分区内的云应用的部署管理工作和预先获取该分区的待进行部署的云应用的安装文件存储至应用存储节点 101,可选的,该应用存储节点101用于存储云流化系统中经过应用适配操作后的所有云应用的安装文件,进而所有经过适配系统适配完成的云应用的安装文件均被同步至各分区内的应用存储节点101,该安装文件包括应用安装包和应用适配包,同时应用经过适配后得到的应用的配置文件被同步至应用存储节点的数据库,在部署管理服务执行云应用的部署任务时,部署管理服务控制目标应用服务器和/或共享存储服务器从该应用存储节点101获取云应用的安装文件。
本实施例中,上述应用服务器用于具体执行云应用的解压安装工作,以及在启动部署于共享存储服务器上的云应用时的云应用的镜像挂载工作,应用服务器在安装启动云应用以后执行该云应用的流化工作。
本申请中,上述的部署管理服务可以是部署于部署管理服务器上,该部署管理服务器包括一个或多个应用存储节点(也可以理解成是该部署管理服务部署于各存储节点上),该应用存储节点为分区内独立于应用服务器之外的服务器,也可以是包括上述的应用服务器;当然本申请的部署管理服务器也可以是与上述的应用存储节点相独立的,本申请对此不作限定。
图3是本申请一示例性实施例示出的一种云应用的部署方法的流程示意图;参照图3所示,该方法应用于待进行云应用部署的分区的部署管理服务器,该方法包括以下步骤:
S10、部署管理服务器接收云应用部署任务。
示例性地,本申请中上述中心管理服务器响应于用户的云应用部署操作触发生成云应用部署任务,将该云应用部署任务发送至待进行该云应用部署的分区的部署管理服务器。
本实施例中,上述云应用部署任务中可以是携带有一个待进行部署的云应用的应用信息和应用部署策略,也可以是携带有多个待进行部署的云应用的应用信息和应用部署策略,进而可以触发同时进行多个云应用的部署工作。
S20、部署管理服务器对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略。
本申请中,部署管理服务器接收到云应用部署任务以后,对该云应用部署任务进行解析得到待进行部署的云应用的应用信息和部署策略,该应用信息包括:应用标识、应用版本信息等;该应用部署策略包括:应用部署位置、应用所支持的应用服务器类型(比如Windows7服务器、Windows10服务器、Andriod 服务器、Linux服务器等)和共享存储服务器的类型、应用部署执行时间和应用部署范围等;其中,该应用部署位置包括:应用服务器本地磁盘和共享磁盘,在应用服务器本地磁盘部署的方式中,最终将云应用部署到应用服务器本地磁盘;在共享磁盘部署的方式中,最终将云应用部署到共享存储服务器的共享存储目录下,该方式下应用服务器通过远程磁盘挂载方式启动云应用。上述应用部署执行时间包括:立即执行和在指定时间执行,比如指定在当日晚上10点执行应用部署。上述应用部署范围包括:云应用所要部署的分区(比如同时部署于北京分区、上海分区1和上海分区2),以及该应用在分区内部署的应用服务器范围或者共享存储服务器范围,示例性地,包括:在应用服务器本地磁盘部署的方式中,比如可以指定要安装该云应用的应用服务器数量(安装路数)或安装覆盖比例,或者直接指定进行该云应用安装的具体应用服务器。
S30、根据所述应用信息对预先获取并存储于应用存储节点的所述云应用的安装文件进行校验。
分区内所包含的应用存储节点可以是不同类型的,比如包括Andriod应用存储节点、Windows应用存储节点、Linux应用存储节点等,分区内同一类型的应用存储节点的数量为多个的情况下,各应用存储节点之间通过文件自动同步机制实现应用安装文件的同步,各应用存储节点之间的应用安装文件保持一致,对外提供高可用的文件存储能力。
本实施例中,部署管理服务器在到达应用部署执行时间后,执行云应用部署任务,部署管理服务器首先检查待部署云应用是否存在于应用存储节点的应用目录中,如果存在,则获取该云应用的安装文件,对获取的安装文件进行校验文件的完整性,示例性地,通过比较安装文件的MD5值与安装文件对应于该云应用的配置文件中的MD5值是否一致进行校验,如果一致则校验通过,进一步执行该云应用的部署工作,如果不一致,则中止任务执行并进行上报。
S40、若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
本实施例中,根据云应用的部署策略,该云应用可以是按照以下3种部署位置进行部署:1、部署于应用服务器;2、部署于共享存储服务器;3、同时部署于应用服务器和共享存储服务器。
图4是本申请一示例性实施例提供的一种云应用在分区内进行部署安装的流程示意图;参照图4所示,本实施例中,上述步骤S40中,根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器,具体包括如下步骤S401-S407:
S401、识别所述部署策略中所配置的所述云应用的部署位置。
云应用的部署策略中包含有待进行部署的云应用的部署位置,具体的,可以是上述所述3种部署位置中的任意一种。
S402、若所述云应用的部署位置为应用服务器本地磁盘,则查找满足部署条件的目标应用服务器。
本领域技术人员应该清楚,上述满足部署条件的目标应用服务器包括满足应用部署策略中设置的条件、应用配置文件中所包含的条件、应用类型和目标应用服务器类型一致的条件(Windows应用部署于Windows应用服务器上)以及满足云应用对资源占用需求等的条件。
示例性地,本申请中按照以下方式查找满足云应用对资源占用需求的条件的应用服务器:
根据应用安装对磁盘空间的要求,查询应用服务器的磁盘空间剩余情况,结合应用服务器的用户在线情况,优先选择剩余磁盘空间满足应用安装空间需求且无用户在线的应用服务器,次选满足空间需求但有用户在线的应用服务器。如果筛选完应用服务器后,无法满足策略要求的安装路数或覆盖率,则任务中止执行。
本实施例中,在未查找到满足部署条件的目标应用服务器的情况下,则中止执行该云应用在分区内的部署并进行上报。
S403、按照与所述云应用相适配的应用安装方式控制所述云应用安装于所述目标应用服务器。
本实施例中,在应用服务器本地磁盘部署的方式中,由于应用类型不同,应用所支持的安装方式不同,比如大多数的Andriod应用不支持文件分发模式安装,因而筛选完目标应用服务器后,还需要判断应用安装包所支持的应用安装方式,按照该云应用所支持的应用安装方式控制将该云应用安装于目标应用服务器,进而上述步骤S403,具体包括如下步骤A10-A40:
步骤A10、若与所述云应用相适配的应用安装方式为下载安装的方式,则针对各所述目标应用服务器分别生成带有时效性的所述云应用的安装文件的下载地址,将所述下载地址分别发送至各所述目标应用服务器,使所述目标应用服务器在有效时间内从所述分区内的应用存储节点下载所述云应用的安装文件进行解压安装。
比如,为每台目标应用服务器生成安装文件下载url(Uniform ResourceLocator,统一资源定位器),url中携带访问令牌标识,该访问令牌标识具有时效性,控制在限定时间内仅允许目标应用服务器进行安装文件下载。
应用安装文件包括:应用安装包和应用适配包,安装过程先解压应用安装包,然后解压应用适配包,且解压后的应用适配包以覆盖方式保存于应用安装包。本地化磁盘部署方式下,还需要执行特定安装脚本来完成应用的本地化部署过程。同理,本地化磁盘部署的应用执行卸载时,需要先在安装目录执行卸载脚本,然后执行安装目录删除操作。
云应用的配置文件中包含有该应用安装包和应用适配包的解压秘钥,部署管理服务器将url和解压秘钥发送给目标应用服务器,触发目标应用服务器下载安装文件到本地,然后内部执行安装文件解压和静默安装。安装过程中,部署管理服务服务器获取安装的进度和状态。
步骤A30、若与所述云应用相适配的应用安装方式为文件分发安装的方式,则在所述应用存储节点的应用分发根目录下创建所述云应用的子目录,将所述应用安装文件解压至所述云应用的子目录下,通知所述目标应用服务器将所述应用存储节点的新增目录结构同步至本地磁盘目录。
本实施例中,如果是采用分发模式安装时,则在应用存储节点的应用分发根目录下,创建该云应用的解压释放子目录,然后将该云应用安装包和云应用适配包依次解压到应用分发目录下创建的该云应用的解压释放子目录,通知目标应用服务器开启文件同步功能,将该新增的应用目录结构同步到目标应用服务器本地磁盘目录下。在同步过程中,部署管理服务获取同步进度和状态。
本实施例中,多数应用支持绿色包安装方式,该类应用则按照文件分发模式进行安装,云应用安装于应用服务器的方式可以通过该云应用的类型确定,也可以是通过读取云应用的配置文件得到。
S404、若所述应用的部署位置为共享磁盘,则查找与所述云应用相适配的共享存储服务器。
本申请中,针对一些热度不高的应用、对启动速度要求不高的云应用,可以在部署策略中设置采用共享磁盘部署的方式进行部署,进而可以节省应用服务器的本地磁盘存储空间,降低应用服务器的存储成本。
S405、将所述云应用的安装文件解压释放到所述共享存储服务器的应用安装目录中。
本实施例中,如果部署位置是共享磁盘,则首先根据应用类型筛选出符合的共享存储服务器,然后将安装文件解压缩至各共享存储服务器上的应用安装目录,安装包解压需要使用解压缩密码才能完成解压,且先解压释放应用安装包,然后将云应用适配包解压释放并覆盖到应用安装目录下。
S406、若所述云应用的部署位置包括本地磁盘与共享磁盘,则查找满足部署条件的目标应用服务器和与所述云应用相适配的共享存储服务器。
本实施例中,根据云应用的运营策略可以设置某一云应用既在应用服务器本地部署,也在共享存储服务器部署。
S407、按照与所述云应用相适配的应用安装方式控制使所述云应用安装于所述目标应用服务器本地,以及将所述云应用的安装文件解压释放到所述共享存储服务器的应用安装目录中。
本实施例中,将该按照与所述云应用相适配的应用安装方式将所述云应用安装于所述目标应用服务器,以及将所述云应用的安装包和应用适配包解压释放到所述共享存储服务器的应用安装目录的过程,具体可详见上述步骤的描述。
本申请一实施例中,上述方法,还包括如下步骤B10-B20:
步骤B10、接收所述目标应用服务器和/或共享存储服务器反馈的所述云应用的部署状态,将所述部署状态进行上报。
该部署的状态包括部署结果,比如是否成功部署在了所有的待部署分区或者服务器上。
步骤B20、以及在所述云应用部署完毕以后,存储所述云应用在所述分区内的安装分布状况。
本实施例中,存储云应用在分区内的安装分布情况(包括应用部署关系) 以便于后续该云应用的卸载和更新操作进行参考。
本申请一实施例中,部署管理服务器在接收到目标应用服务器和共享存储服务器反馈的云应用的部署状态后,将所述部署状态进行上报,该部署状态包括云应用部署的进度、部署的具体结果(全部部署成功还是部分部署成功)等;示例性地,将该应用状态上报至中心管理服务器,进而可以监控部署进度和部署结果。
本申请上述实施例中,针对云应用的首次在分区内的部署,通过分区内设置的部署管理服务器自动执行,相对于现有技术中通过人工进行部署的方式具有简单、高效的效果。
可选地,上述的部署管理服务器还用于执行云应用的更新任务和卸载任务。
图5是本申请一示例性实施例提供的另一种云应用的部署方法的流程示意图的流程示意图;参照图5所示,在所述根据所述部署策略将所述云应用部署于分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器之后,所述方法,还包括如下步骤S50:
S50、在需要对所述云应用进行自动调整部署的情况下,所述云应用上线后统计所述云应用的运行状态,基于所述云应用在指定时间段内的运行状态对所述云应用的部署进行适应性调整。
本实施例中,在云应用初期上线时,运营人员按照运营策略,人为的初步决策出应用的部署策略,但是在应用实际运营过程中,受终端用户的喜爱程度、应用服务器磁盘空间限制、实际运营状况等客观因素影响,部署管理服务会动态调整应用的部署路数、部署位置;比如,增加或减少本地部署的路数,增加或减少该云应用所部署的共享存储服务器的数量等;再比如,将云应用由应用服务器本地磁盘部署转为共享磁盘部署,或者由共享磁盘部署调整为本地磁盘部署。
示例性地,上述需要对所述云应用进行自动调整部署的情况,包括果当前应用部署管理服务开启了自动调整部署且该云应用支持进行自动调整部署,该情况下部署管理服务会根据该云应用的启动路数的增长或减少情况、启动时间要求等调整该云应用的部署情况。
示例性地,部署管理服务器收集该云应用单位时间内(比如以天为单位) 的在线人数峰值、最长启动时间;根据指定时间段内的各单位时间应用版本的在线人数峰值、最长启动时间,统计指定时间段内的(比如一周内)的在线人数峰值的平均值和最长启动时间的平均值,判断该在线人数峰值的平均值和最长启动时间的平均值是否匹配,如果不匹配,则根据在该指定时间段内的在线人数增长率的平均值p重新计算应用版本的部署路数m1,计算公式为:m1=m0×k×(1+p),其中,k为常数系数,p可以是正值或者是负值,m1为调整前部署路数;示例性地,根据实际运营需求设置k=1.5。根据计算出来的应用版本部署路数和当前应用服务器本地化部署的情况,在指定时间段(可以是应用服务器的空闲时间,比如凌晨2点至4点)自动执行应用部署安装任务或应用卸载任务,从而自动调整本地化部署的应用路数。
根据云应用的热度和云应用所支持的部署位置优化该云应用的部署,示例性地,针对本地化部署的应用,统计最近7天的应用版本列表,对于在线人数连续7天(可配置)不在top30(可配置)范围内的云应用,如果该云应用支持共享存储部署,每天凌晨自动生成该云应用本地化卸载任务和共享存储部署任务,将应用从本地磁盘动态转移至共享存储的网络磁盘,以节约本地磁盘空间。
再比如,根据云应用的热度和启动时间两个因素优化该云应用的部署,对于在线人数连续7天在top20(可配置)范围的应用,且平均启动时间排名在top20 (可配置)之外的应用,通过调整本地化部署路数的比例,来优化热点应用的启动效率。
图6是本申请一示例性实施例示出一种云应用的部署系统的结构示意图;参照图6所示,该系统包括:中心管理服务器和一个或多个部署管理服务器。
所述中心管理服务器10,用于响应于用户针对待进行部署的云应用的部署操作触发生成应用部署任务,将所述云应用部署任务发送至待进行所述云应用部署的分区的部署管理服务器;
所述部署管理服务器100,用于接收所述云应用部署任务;
对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略;
根据所述应用信息对预先获取并存储的所述云应用的安装文件进行校验;
若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
本申请实施例所提供的系统,按照上述各方法实施例中所述的云应用的部署方法执行云应用在系统内各分区的部署工作,具体可参照上述方法实施例中的描述。
图7是本申请一示例性实施例示出的一种应用的部署装置的结构示意图;参照图7所示,该装置600包括:
接收模块601,用于接收云应用部署任务。
解析模块602,用于对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略。
获取模块603,用于根据所述应用信息对预先获取并存储的所述云应用的安装文件进行校验。
部署模块604,用于若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
可选地,上述部署模块604,具体用于:
识别所述部署策略中所配置的所述云应用的部署位置;
若所述云应用的部署位置为应用服务器本地磁盘,则查找满足部署条件的目标应用服务器;
按照与所述云应用相适配的应用安装方式控制使所述云应用安装于所述目标应用服务器本地。
可选地,上述部署模块604,具体用于:
若所述云应用的部署位置为共享磁盘,则查找与所述云应用适配的共享存储服务器;
将所述云应用的安装文件解压释放到所述共享存储服务器的应用安装目录中。
可选地,上述部署模块604,具体用于:
若所述云应用的部署位置包括本地磁盘与共享磁盘,则查找满足部署条件的目标应用服务器和与所述云应用相适配的共享存储服务器;
按照与所述云应用相适配的应用安装方式控制使所述云应用安装于所述目标应用服务器本地,以及将所述云应用的安装文件解压释放到所述共享存储服务器的应用安装目录中。
可选地,上述部署模块604,具体用于通过以下步骤按照与所述云应用相适配的应用安装方式将所述云应用安装于所述目标应用服务器:
若与所述云应用相适配的应用安装方式为下载安装的方式,则针对各所述目标应用服务器分别生成带有时效性的所述云应用的安装包的下载地址,将所述下载地址分别发送至各所述目标应用服务器,使所述目标应用服务器在有效时间内从所述分区内的应用存储节点下载所述云应用的安装文件进行解压安装;
若与所述云应用相适配的应用安装方式为文件分发安装的方式,则在所述应用存储节点的应用分发根目录下创建所述云应用的子目录,将所述应用安装文件解压至所述云应用的子目录下,通知所述目标应用服务器将所述应用存储节点的新增目录结构同步至本地磁盘目录。
可选地,上述装置600,还包括:
状态上报模块(图中未示出),用于接收所述目标应用服务器和/或共享存储服务器反馈的所述云应用的部署状态,将所述部署状态进行上报;
存储模块(图中未示出),用于在所述云应用部署完毕以后,存储所述云应用在所述分区内的安装分布状况。
可选地,上述装置600,还包括:
部署调整模块(图中未示出),用于在需要对所述云应用进行自动调整部署的情况下,在所述云应用上线后统计所述云应用的运行状态,基于所述云应用在指定时间段内的运行状态对所述云应用的部署进行周期性的适应性调整。
本申请另一实施例中还提供了一种机器可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例所述的云应用的部署方法的步骤。
图8是本申请本申请实施例示出的一种计算机设备的结构示意图。参照图8 所示,该计算机设备700,至少包括存储器702和处理器701;所述存储器702 通过通信总线703和所述处理器701连接,用于存储所述处理器701可执行的指令代码;所述处理器701用于从所述存储器702读取和执行指令代码以实现上述任一实施例所述的云应用的部署方法的步骤。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、 EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM 和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种云应用的部署方法,其特征在于,所述方法包括:
接收云应用部署任务;
对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略;
根据所述应用信息对预先获取并存储于应用存储节点的所述云应用的安装文件进行校验;
若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
2.根据权利要求1所述的方法,其特征在于,所述根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器,包括:
识别所述部署策略中所配置的所述云应用的部署位置;
若所述云应用的部署位置为应用服务器本地磁盘,则查找满足部署条件的目标应用服务器;
按照与所述云应用相适配的应用安装方式控制所述云应用安装于所述目标应用服务器本地。
3.根据权利要求2所述的方法,其特征在于,所述按照所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器,还包括:
若所述云应用的部署位置为共享磁盘,则查找与所述云应用适配的共享存储服务器;
将所述云应用的安装文件解压释放到所述共享存储服务器的应用安装目录中。
4.根据权利要求2所述的方法,其特征在于,所述根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器,包括:
若所述云应用的部署位置包括本地磁盘与共享磁盘,则查找满足部署条件的目标应用服务器和与所述云应用相适配的共享存储服务器;
按照与所述云应用相适配的应用安装方式控制使所述云应用安装于所述目标应用服务器本地,以及将所述云应用的安装文件解压释放到所述共享存储服务器的应用安装目录中。
5.根据权利要求2或4所述的方法,其特征在于,所述按照与所述云应用相适配的应用安装方式控制使所述云应用安装于所述目标应用服务器,包括:
若与所述云应用相适配的应用安装方式为下载安装的方式,则针对各所述目标应用服务器分别生成带有时效性的所述云应用的安装文件的下载地址,将所述下载地址分别发送至各所述目标应用服务器,以使所述目标应用服务器在有效时间内从所述分区内的应用存储节点下载所述云应用的安装文件进行解压安装;
若与所述云应用相适配的应用安装方式为文件分发安装的方式,则在所述应用存储节点的应用分发根目录下创建所述云应用的子目录,将所述应用安装文件解压至所述云应用的子目录下,通知所述目标应用服务器将所述应用存储节点的新增目录结构同步至本地磁盘目录。
6.根据权利要求1-4任一所述的方法,其特征在于,所述方法,还包括:
接收所述目标应用服务器和/或共享存储服务器反馈的所述云应用的部署状态,将所述部署状态进行上报;
以及在所述云应用部署完毕以后,存储所述云应用在所述分区内的安装分布状况。
7.根据权利要求1-4任一所述的方法,其特征在于,在所述根据所述部署策略控制将所述云应用部署于分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器之后,所述方法,还包括:
在需要对所述云应用进行自动调整部署的情况下,所述云应用上线后统计所述云应用的运行状态,基于所述云应用在指定时间段内的运行状态对所述云应用的部署进行适应性调整。
8.一种云应用的部署系统,其特征在于,包括:中心管理服务器和一个或多个部署管理服务器;
所述中心管理服务器,用于响应于用户针对待进行部署的云应用的部署操作触发生成应用部署任务,将所述云应用部署任务发送至待进行所述云应用部署的分区的部署管理服务器;
所述部署管理服务器,用于接收所述云应用部署任务;
对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略;
根据所述应用信息对预先获取并存储的所述云应用的安装文件进行校验;
若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
9.一种云应用的部署装置,其特征在于,所述装置,包括:
接收模块,用于接收云应用部署任务;
解析模块,用于对所述云应用部署任务进行解析,得到待进行部署的云应用的应用信息和部署策略;
获取模块,用于根据所述应用信息对预先获取并存储的所述云应用的安装文件进行校验;
部署模块,用于若校验通过,则根据所述部署策略控制将所述云应用部署于所述分区内的目标应用服务器和/或与所述云应用适配的共享存储服务器。
10.一种机器可读存储介质,其特征在于,机器可读存储介质上存储有若干计算机指令,计算机指令被执行时执行如权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011616705.8A CN112698847A (zh) | 2020-12-31 | 2020-12-31 | 一种云应用的部署方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011616705.8A CN112698847A (zh) | 2020-12-31 | 2020-12-31 | 一种云应用的部署方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112698847A true CN112698847A (zh) | 2021-04-23 |
Family
ID=75512785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011616705.8A Pending CN112698847A (zh) | 2020-12-31 | 2020-12-31 | 一种云应用的部署方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112698847A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489856A (zh) * | 2022-01-28 | 2022-05-13 | 中国农业银行股份有限公司 | 应用程序配置文件获取方法、装置和设备 |
WO2024027160A1 (zh) * | 2022-07-30 | 2024-02-08 | 华为云计算技术有限公司 | 一种应用部署方法、系统及设备 |
-
2020
- 2020-12-31 CN CN202011616705.8A patent/CN112698847A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489856A (zh) * | 2022-01-28 | 2022-05-13 | 中国农业银行股份有限公司 | 应用程序配置文件获取方法、装置和设备 |
WO2024027160A1 (zh) * | 2022-07-30 | 2024-02-08 | 华为云计算技术有限公司 | 一种应用部署方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111176669B (zh) | 云应用的安装启动方法、云流化服务器及存储服务器 | |
CN1790266B (zh) | 用于下载更新的方法和系统 | |
CN108595221B (zh) | PaaS平台的插件加载方法、装置、服务器及存储介质 | |
CN111741134B (zh) | 一种网络靶场大规模场景中虚拟机快速构建系统与方法 | |
US8799890B2 (en) | Generating a version identifier for a computing system based on software packages installed on the computing system | |
CN112698847A (zh) | 一种云应用的部署方法、装置及系统 | |
US8997083B2 (en) | Managing a network of computer systems using a version identifier generated based on software packages installed on the computing systems | |
CN113296792B (zh) | 存储方法、装置、设备、存储介质和系统 | |
CN108089913B (zh) | 一种超融合系统的虚拟机部署方法 | |
CN110865842B (zh) | 一种ota升级方法和设备 | |
CN103841134A (zh) | 基于api发送、接收信息的方法、装置及系统 | |
CN104394223A (zh) | 大规模计算机集群系统节点的自动化快速部署方法 | |
CN111930396B (zh) | 一种基于notify机制的4G路由器中通讯模组的升级方法 | |
CN111147272A (zh) | 一种单服务器及多服务器运营平台升级方法 | |
CN114844879A (zh) | 镜像管理方法、电子设备和存储介质 | |
CN115878138B (zh) | 应用预下载方法、装置、计算机、存储介质 | |
CN117714532A (zh) | 一种基于Timeline模型的数据信息推送方法、网关及相关设备 | |
KR20120117504A (ko) | 통신 시스템 및 그 통신 시스템에서 소프트웨어 업데이트 방법 | |
CN112035579B (zh) | 图管理、数据存储、数据查询方法、装置及存储介质 | |
CN112306640A (zh) | 容器分配方法及其装置、设备、介质 | |
US20040131077A1 (en) | Server client system for automatically setting port number | |
CN112153093B (zh) | 基于集群的任务调度方法、装置、设备及可读存储介质 | |
CN113268272B (zh) | 基于私有云的应用交付方法、装置及系统 | |
CN110968646B (zh) | 一种嵌入式系统数据库同步方法、装置及存储介质 | |
CN114489711A (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 |