CN108319463B - 一种应用升级方法、装置 - Google Patents

一种应用升级方法、装置 Download PDF

Info

Publication number
CN108319463B
CN108319463B CN201810012326.4A CN201810012326A CN108319463B CN 108319463 B CN108319463 B CN 108319463B CN 201810012326 A CN201810012326 A CN 201810012326A CN 108319463 B CN108319463 B CN 108319463B
Authority
CN
China
Prior art keywords
application
node
deployed
identifier
template
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
CN201810012326.4A
Other languages
English (en)
Other versions
CN108319463A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810012326.4A priority Critical patent/CN108319463B/zh
Publication of CN108319463A publication Critical patent/CN108319463A/zh
Application granted granted Critical
Publication of CN108319463B publication Critical patent/CN108319463B/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/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种应用升级方法、装置,应用于云计算领域,能够保证升级后的应用能正常运行。所述应用升级方法用于应用部署服务器,包括:接收应用部署请求;确定待部署的应用部署包升级包;确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包;使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点;确定待升级的应用节点的标识;使用所述待部署的应用部署包,升级所述待升级的应用节点的标识指示的应用节点。本发明实施例提供一种应用升级方法、装置,应用于云计算领域的应用升级。

Description

一种应用升级方法、装置
技术领域
本发明涉及云计算领域,尤其涉及一种应用升级方法、装置。
背景技术
云计算的核心思想是将大量用网络连接的计算资源统一管理和调度,构成计算资源池按用户的需求向用户提供资源和服务,提供这种计算资源的网络被称为云。
云平台是一种向应用开发者提供基于云的服务的平台。PaaS(Platform as aService,服务平台)是一种常用的云平台,属于常见的广义云计算的服务模式,所述广义云计算是指开发者通过网络以按需、易扩展的方式获得所需的服务。所述PaaS将定制化研发的中间件平台作为一种服务提供给用户,其实质是将互联网的资源服务化为可编程接口,为第三方开发者提供有商业价值的资源和服务平台。其中,所述中间件平台也被称为平台节点,是具有标准的程序接口和协议的通用服务,通常位于硬件与应用之间或操作系统与应用之间。PaaS CSP(Cloud Service Provider,云服务供应商)提供种类繁多的中间件平台,例如应用服务器、数据库等,CSP可以设计、开发和优化平台节点,而应用开发者则只需在平台节点之上着重于应用节点的开发,这就为开发带来了极大的方便。
但是目前PaaS CSP只向应用开发者提供固定版本的平台节点,为所有的应用维护平台节点的版本。如果应用开发者需要升级一个应用节点,但升级后的应用节点对平台节点的版本有要求。如果平台节点的版本不能满足升级后的应用节点的要求,就会造成应用节点更新失败,应用无法正常运行。
发明内容
本发明的实施例提供一种应用升级的方法、装置,以保证升级后的应用能正常运行。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例的第一方面提供了一种应用升级方法,包括:
接收应用部署请求,所述应用部署请求包含待部署的应用部署包,所述待部署的应用部署包描述了待部署的应用节点模板、已部署应用的标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
根据所述升级标识确定所述待部署的应用部署包为所述已部署应用的标识指示的已部署应用的升级包;
根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;
根据所述第一平台节点的版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;
根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包;
使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点;
确定待升级的应用节点的标识;
使用所述待部署的应用部署包,升级所述待升级的应用节点的标识指示的应用节点。
结合第一方面,在第一种可实现方式中,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
结合第一方面或第一种可实现方式,在第二种可实现方式中,所述确定待升级的应用节点的标识具体为:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升及的应用节点的标识具体为:
确定所述应用部署包包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
结合第一方面,第一种可实现方式或第二种可实现方式,在第三种可实现方式中,所述升级所述第一平台节点的标识指示的所述第一平台节点之前,该方法进一步包括:根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;
根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;
获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本;
确定所述第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;
所述根据所述第一平台节点升级包,升级所述第一平台节点之前,所述方法还包括:
根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;
根据所述第二平台节点升级包,升级所述第二平台节点。
本发明实施例的第二方面,提供了一种应用升级方法,包括:
生成待部署的应用部署包,所述待部署的应用部署包描述了待部署的应用节点模板、已部署的应用的标识、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对所述第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
生成应用部署请求,所述应用部署请求包含所述待部署的应用部署包;
向应用部署服务器发送所述应用部署请求。
结合第二方面,在第一种可实现方式中,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
结合第二方面或第一种可实现方式,在第二种可实现方式中,所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识。
结合第二方面、第一种可实现方式或第二种可实现方式的第三种可实现方式中,所述生成待部署的应用部署包之前,该方法进一步包括:根据已部署的应用部署包的描述文件,确定所述已部署应用标识指示的已部署应用的第一平台节点模板,所述第一平台节点模板将已部署的应用节点模板作为源节点模板。
本发明实施例的第三方面提供了一种应用部署服务器,包括:
接收模块,用于接收应用部署请求,所述应用部署请求包含待部署的应用部署包;所述待部署的应用部署包描述了待部署的应用节点模板、已部署应用的标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识,并将所述待部署应用的应用部署包发送至确定模块和升级模块;
确定模块,用于接收所述接收模块发送的所述待部署应用的应用部署包,并根据所述升级标识确定所述待部署的应用部署包为所述已部署应用的标识指示的已部署应用的升级包;以及用于根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;以及用于根据所述第一平台节点的版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;
根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包,发送所述第一平台节点升级包至升级模块;
所述升级模块,用于接收所述确定模块发送的所述第一平台节点升级包,使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点;
所述确定模块进一步用于根据所述已部署的应用节点模板的标识确定待升级的应用节点的标识,并发送所述待升级的应用节点的标识至升级模块;
所述升级模块,进一步用于接收所述接收模块发送的所述待部署应用的应用部署包,并接收所述确定模块发送的所述待升级的应用节点的标识,以及用于使用所述待部署的应用部署包升级所述待升级的应用节点的标识指示的应用节点。
结合第三方面,在第一种可实现方式中,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
结合第三方面或第一种可实现方式的第二种可实现方式中,所述确定模块具体用于:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升及的应用节点的标识具体为:
确定所述应用部署包包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
结合第三方面、第一种可实现方式或第二种可实现方式的第三种可实现方式中,所述确定模块还用于:
根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;
根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;
获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本;
确定所述第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;
根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;
所述升级模块还用于:
根据所述第二平台节点升级包,升级所述第二平台节点。
本发明实施例的第四方面提供了一种用户设备,包括:
生成模块,用于生成待部署的应用部署包,所述待部署的应用部署包描述了待部署的应用节点模板、已部署的应用的标识、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
所述生成模块进一步用于生成应用部署请求,向发送模块发送所述应用部署请求,所述应用部署请求包含所述待部署的应用部署包;
所述发送模块,用于接收所述生成模块发送的所述应用部署请求,向应用部署服务器发送所述应用部署请求。
结合第四方面的第一种可实现方式中,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
结合第四方面或第一种可实现方式,在第二种可实现方式中,所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识。
结合第四方面、第一种可实现方式或第二种可实现方式的第三种可实现方式中,所述用户设备还包括:确定模块,用于根据已部署的应用部署包的描述文件,确定所述已部署应用标识指示的已部署应用的第一平台节点模板,所述第一平台节点模板将已部署的应用节点模板作为源节点模板。
本发明实施例的第五方面提供了一种应用部署服务器,包括:
接收机,用于接收应用部署请求,所述应用部署请求包含待部署的应用部署包;所述待部署的应用部署包描述了待部署的应用节点模板、已部署应用的标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识,并将所述待部署的应用部署包发送至处理器;
所述处理器,用于:
接收所述接收机发送的所述待部署的应用部署包,并根据所述升级标识确定所述待部署的应用部署包为所述已部署应用的标识指示的已部署应用的升级包;
根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;
根据所述第一平台节点的版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;
根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包;
使用所述第一平台节点升级包,升级所述第一平台节点模板的标识指示的所述第一平台节点;
确定待升级的应用节点的标识;
使用所述待部署的应用部署包,升级所述待升级的应用节点的标识指示的应用节点。
结合第五方面的第一种可实现方式,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
结合第五方面或第一种可实现方式的第二种可实现方式,所述处理器具体用于:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升及的应用节点的标识具体为:
确定所述应用部署包包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
结合第五方面、第一种可实现方式或第二种可实现方式的第三种可实现方式中,所述处理器还用于:
根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;
根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;
获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本;
确定所述第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;
根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;
根据所述第二平台节点升级包,升级所述第二平台节点。
本发明实施例的第六方面提供了一种用户设备,包括:
处理器,用于生成待部署的应用部署包,所述待部署的应用部署包描述了待部署的应用节点模板、已部署的应用的标识、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
生成应用部署请求,所述应用部署请求包含所述待部署的应用部署包;
向发射机发送所述应用部署请求;
所述发射机,用于接收处理器发送的所述应用部署请求,并向应用部署服务器发送所述应用部署请求。
结合第六方面的第一种可实现方式中,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
结合第六方面或第一种可实现方式的第二种可实现方式中,所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识。
结合第六方面、第一种可实现方式或第二种可实现方式,在第三种可实现方式中,所述处理器还用于:根据已部署的应用部署包的描述文件,确定所述已部署应用标识指示的已部署应用的第一平台节点模板,所述第一平台节点模板将已部署的应用节点模板作为源节点模板。
由以上方案可知,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当应用部署服务器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,应用部署服务器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,应用部署服务器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A为本发明实施例提供的应用部署方法所基于的应用部署描述文件描述的应用模板结构示意图;
图1B为本发明实施例提供的与图1A对应的计划的结构示意图;
图2为本发明实施例提供的应用升级方法的流程示意图;
图3为本发明实施例提供的应用升级方法的流程示意图;
图4为本发明实施例提供的应用升级方法的流程示意图;
图5为本发明实施例中应用部署服务器根据应用部署包A的描述以及应用部署包B描述而得出的升级应用节点app的示意图;
图6为本发明实施例提供的应用部署服务器升级所述已部署的应用节点的流程示意图;
图7为本发明实施例提供的待部署的应用部署包示意图;
图8为本发明实施例提供的一种应用部署服务器的结构示意图;
图9为本发明实施例提供的一种用户设备的结构示意图;
图10为本发明实施例提供的另一种用户设备的结构示意图;
图11为本发明实施例提供的另一种应用部署服务器的结构示意图;
图12为本发明实施例提供的又一种用户设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种应用升级方法,可应用于TOSCA标准也可以应用于其他方面,而并不局限于TOSCA标准。如图1A所示包括:
在本发明实施例中,部署一个应用所需的信息在应用部署服务器中名为云服务档案(Cloud Service Archive,简称:CSAR)的应用部署包中描述。应用部署包至少包含一个后缀为ste的应用部署描述文件,该*.ste的应用部署描述文件可以用XML语言描述应用的部署信息,该*.ste的应用部署描述文件的根元素为应用模板Service Template。也就是说本发明实施例中可以用应用模板Service Template来完整描述需部署的应用的信息。*.ste的应用部署描述文件的子元素包括拓扑模板Topology Template、节点类型NodeType、节点模板Node Template、关系类型Relationship Type、关系模板 RelationshipTemplate、边界定义Boundary Definitions等。应用部署描述文件中的根元素及子元素的关系如图1A所示,图1A为本发明实施例提供的应用升级方法所基于的应用部署描述文件描述的应用模板结构示意图。
如图1A所示,本发明实施例使用Topology Template来描绘一个应用拓扑。该应用拓扑中包含了分别针对a1、a2、a3和a4四个节点的节点模板,即每个节点模板表述一次应用部署的一个节点(也就是说,如果应用被多次部署,每个节点模板则对应多个该类节点),在应用拓扑上给出每个节点模板的标识。每个Node Template的类型由Node Type定义(NodeTemplate的type 属性描述了该Node Template对应的Node Type)。Node Type定义了节点的属性(用Properties定义)、该节点的接口(用接口集合Interfaces定义) 等,而NodeTemplate是Node Type的实例。
每个Node Type对应一个节点类型执行(Node Type Implementation:简称NTI),NTI描述了该Node Type对应的节点的部署制品以及Node Type中的Interface中包含的所有方法的方法制品的信息。
应用拓扑Topology Template中的连接节点的每条边都是一个RelationshipTemplate,关系模板与应用节点模板对应。
每个应用部署包还包括计划(Plan),如图1B所示,图1B为本发明实施例与图1A对应的计划的结构示意图,计划是可执行的工作流,实际上是由多个被引用的方法组成的工作流。执行该工作流实际上就是执行组成该工作流的各方法对应的方法制品。在执行计划时,应用部署服务器根据计划的定义按序逐个运行各任务对应的方法所对应的方法制品。例如参见图1B,该plan 中包括任务c1、c2和c3。按照plan中的定义,在执行该plan时,执行顺序是先执行任务c1,再执行任务c2,然后执行任务c3;而所述的c1、c2和c3 即是NodeType中的interface对应的方法。
另外,每个Service Template中都包括边界(用Boundary Definitions 定义),Service Template内部定义的一些组件都在该Boundary Definitions 内呈现给用户;所述的组件即是上述的Node Template、部署制品、方法制品等。
由上述说明可知,一个应用部署包中包含了部署该应用所需要的信息如:应用部署描述文件、计划、节点的部署制品和各方法的方法制品。其中,应用部署描述文件描述了应用的完整拓扑、拓扑中节点的部署制品信息、拓扑中节点模板的方法和方法制品信息步骤。
特别的,该拓扑上描述了各个节点模板,以及所述节点模板之间的逻辑关系,在本发明实施例中,所述拓扑上的节点模板可以包括:应用节点模板和平台节点模板,所述应用节点模板是指由用户设备维护和使用的待部署应用的节点,所述平台节点模板是指由服务器运行和维护的待部署应用的节点。
图2为本发明实施例提供的应用升级方法的流程示意图,本实施例的方法的执行主体是应用部署服务器,如图2所示,该方法包括:
步骤201、接收应用部署请求,所述应用部署请求包含待部署的应用部署包。所述待部署的应用部署包描述了待部署的应用节点模板、已部署的应用标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对所述第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识。
具体的,待部署的应用节点模板、已部署的应用标识、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识都在应用描述文件中描述。第一平台节点模板的标识指示的平台节点模板和已部署的应用节点模板标识指示的应用节点模板在已部署的应用标识指示的应用部署包中的描述文件中描述。
在本发明实施例中,所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识可以用 Patch For表示。其中,所述升级标识指的是所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识。所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
需要说明的是,一个部署后的应用包含多个节点,节点相当于模块,比如计费应用里面包含数据库模块和管理模块等。应用需要进行部署时,用户设备会生成待部署的应用部署包通过应用部署请求发送至应用部署服务器。应用部署服务器在接收到该应用部署包后,会根据该应用部署包的应用部署描述文件、部署制品、方法制品以及计划进行的应用部署。特别的,应用部署包括初始部署、更新或升级等。在本发明实施例中假设所述待部署的应用部署包为对已部署的应用进行升级的升级包。
特别的,应用部署服务器每次在收到应用部署包时,会将应用部署包中的所有应用描述信息都记录到数据库中。
步骤202、根据所述升级标识确定所述待部署的应用部署包为所述已部署应用的标识指示的已部署应用的升级包。
具体有,所述应用部署服务器根据携带在描述所述待部署的应用节点模板的关系模板中的所述升级标识,或根据携带在待部署的应用节点模板对应的节点类型执行中的所述升级标识确定所述部待部署的应用部署包为针对已部署应用的升级包。
步骤203、根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本。
具体的,应用部署服务器存储有各已部署应用的各节点的版本或能力。应用部署服务器根据所述已部署的应用标识从存储的已部署应用的各平台节点的版本信息中获取与所述第一平台节点模板的标识对应的第一平台节点的版本。并根据所述待部署的应用节点模板对所述第一平台节点模板的版本需求以及获取的所述第一平台节点的版本,确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求。
所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求即所述第一平台节点的版本的版本号小于所述待部署的应用节点模板对第一平台节点模板的版本需求指示的版本号。
步骤204、根据所述第一平台节点版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求。
步骤205、根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包。
具体的,应用部署服务器根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包。
步骤206、使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点。
可选的,所述待部署的应用部署包可以不包括已部署的应用节点的标识;当应用部署包不包括已部署的应用节点的标识,应用部署服务器可以根据所述已部署应用的标识,获取第一平台节点模板的标识对应的所有的第一平台节点的标识,使用所述第一平台节点升级包分别升级每个所述第一平台节点的标识指示的第一平台节点。
所述升级过程与现有技术相同,本发明对此不再赘述。
步骤207、确定待升级的应用节点的标识。
具体的,应用部署服务器可以确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识。
或,当所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升及的应用节点的标识具体为:确定所述应用部署包包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
步骤208、使用所述待部署的应用部署包,升级所述待升级的应用节点的标识指示的应用节点。
可选的,当所述应用部署包包括:至少一个与所述已部署的应用节点模板的标识对应的应用节点的标识时,应用部署服务器可以使用所述待部署的应用部署包,升级所述已部署的应用节点的标识指示的应用节点。
可选的,所述升级所述待升级的应用节点的标识指示的应用节点具体为:获取所述已部署应用节点模板的标识对应的所有已部署的应用节点的标识;使用所述待部署的应用部署包分别升级每个所述已部署的应用节点的标识指示的应用节点。
由于所述待部署的应用部署包为升级包,因此,其计划(p lan)为升级计划,根据该升级计划即可将相应的应用节点升级。
因此,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当应用部署服务器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,应用部署服务器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,应用部署服务器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
在步骤206之前,根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点版本;确定第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;所述根据所述第一平台节点升级包,升级所述第一平台节点之前,所述方法还包括:根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;根据所述第二平台节点升级包,升级所述第二平台节点。
此外,所述获取第二平台节点的版本具体为:根据所述第二平台节点模板的标识以及第一平台节点的标识获取第二平台节点的标识,所述第二平台节点的标识与第二平台节点模板的标识对应,且部署编号与第一平台节点的标识对应的编号相同。
进一步的,应用部署服务器在确定所述已部署的应用部署包的描述文件中描述了将第一平台节点模板作为源节点模板的第二平台节点模板之后,获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本。
本发明实施例提供了一种应用升级方法,该方法可以由用户设备执行。如图3所示,该方法包括:
步骤301、生成待部署的应用部署包,所述待部署的应用部署包描述了待部署的应用节点模板、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对所述第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识。
所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在描述所述待部署的应用节点模板的关系模板中;或,所述待部署的应用部署包进一步待部署的应用节点模板对应的节点类型执行;所述升级标识携带在所述节点类型执行中,所述升级标识为所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识。
步骤302、生成应用部署请求,所述应用部署请求包含所述待部署的应用部署包。
步骤303、向应用部署服务器发送所述应用部署请求。
由上述方案可知,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。因此,应用部署服务器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,可以根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,应用部署服务器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。具体的,应用部署服务器在收到所述待部署的应用部署包之后,可以执行图2描述的应用部署服务器执行的任一动作。本发明实实例在此不再详述。
进一步的,所述待部署的应用部署包还可以包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识,以便于所述应用部署服务器使用所述待部署的应用部署包,升级所述已部署的应用节点的标识指示的应用节点。
特别的,步骤301之前,该方法进一步包括:根据已部署的应用部署包的描述文件,确定所述已部署应用标识指示的已部署应用的第一平台节点模板,所述第一平台节点模板将已部署的应用节点模板作为源节点模板。
这样一来,由于在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当应用部署服务器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,应用部署服务器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,应用部署服务器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
本发明实施例提供一种应用升级方法,假设该应用升级方法应用于TOSCA 标准,如图4所示,包括:
步骤401、应用部署服务器对应用部署包进行部署。
对应用部署包进行部署的过程与现有技术相同。本发明实施例假设用户设备向应用部署服务器提交的应用部署包为应用部署包B,该应用部署包B的标识(也就是应用的标识)为appB。所述应用部署包中的描述文件中描述了节点模板app、节点模板apache和节点模板javaModule、描述了节点模板app 对节点模板apache的部署需求(如版本需求)的关系模板、描述节点模板 apache对节点模板javaModule的部署需求的关系模板。其中节点模板app为应用部署包B部署的应用节点模板,由用户设备负责提供资源。即在应用部署包B中包括针对节点模板app的部署制品和方法制品等。节点模板apache 和节点模板javaModule是平台节点模板,由CSP服务器负责提供资源,并保证所提供的资源满足所述应用部署包中的所有部署需求。假设应用部署服务器根据所述应用部署包B成功部署运行该应用,并将上述两个关系模板中的内容写入应用部署服务器所维护的数据库中的应用信息表中,如表1所示。本发明实施例中,将已成功部署并运行的应用appB称为已部署的应用。
表1应用信息表
Figure BDA0001540738350000131
步骤402、用户设备生成待部署的应用部署包。所述待部署的应用部署包是针对已部署的应用(appB)的升级包。
假设所述针对已部署的应用的升级包(即待部署的应用部署包)为应用部署包A,该应用部署包A可以将应用节点模板app(也就是已部署的应用节点模板的标识)对应的应用节点升级。具体的,应用部署服务器在收到应用部署包appB后,根据appB部署该应用。并针对appB包中的各节点模板生成节点,如应用节点和平台节点,使得各节点模板与已成功部署并运行的节点对应。
所述应用部署包A的描述文件描述了待部署的应用节点模板appPatch,并在描述待部署的应用节点模板appPatch的关系模板中描述了对已部署的应用节点模板app的升级标识。进一步的,所述升级标识还可以在待部署的应用节点模板appPatch对应的NTI中描述。
进一步的,用户设备在生成应用部署包A之前,还要根据appB的描述文件确定在描述待部署的应用节点模板app的关系模板中将应用节点模板app作为源节点模板,而将平台节点模板作为目的平台节点模板。作为一个例子,通过分析appB的描述文件的关系模板描述的内容,可知应用节点模板app就作为源节点模板,而平台节点模板apache作为目标节点模板。因此,用户设备在应用部署包A的描述文件中描述待部署的应用节点模板appPatch对已部署的平台节点模板apache的版本需求。具体的,版本需求的内容由用户设备根据对应用节点的升级内容确定。比如要求平台节点模板apache支持Servlet 3.0,从而需要将平台节点apache升级到Tomcat 7.0。该版本需求表明应用节点模板app所对应的应用节点经过appA升级之后,平台节点模板apache所对应的平台节点能够支持Servlet 3.0(即所述平台节点需要升级到Tomcat 7.0),才能保证升级后的应用节点模板app所对应的应用节点能够正常运行。
具体的,用户设备获取appB的描述文件的方式可以为:从自身存储的文件中获取appB的描述文件,或通过向应用部署服务器发送请求获取appB的描述文件。
所述应用部署包A还提供了应用节点appPatch的部署制品和方法制品,所述方法制品为patchApp。在本发明实施例中,为了描述方便,将待部署的应用节点模板appPatch对已部署的平台节点模板的版本需求中的平台节点模板称为第一平台节点模板,而将第一平台节点模板对另一平台节点模板的版本需求中的另一平台节点模板称为第二平台节点模板。具体的,所述版本需求可以为版本需求,所述版本需求可以为具体的版本号或某版本具有的某个能力。
应用部署包A中的应用标识为appA,应用节点模板的标识为appPatch。图5为为本发明实施例中应用部署服务器根据应用部署包A的描述以及应用部署包B描述而得出的升级应用节点app的示意图。如图5所示,根据应用部署包A的描述文件,可知应用部署包A描述的应用节点模板appPacth为针对已部署的应用部署包B中描述的应用节点模板app的升级节点。比如通过 PatchFor字段描述出两个节点模板之间的关系的标识(如升级标识),当然还可以通过别的字段描述出升级标识,本发明实施例在此不做限定。此外,应用部署包A还描述了应用节点模板appPacth对于已部署的应用部署包B中描述的平台节点模板apache的版本需求,通过Requirement For Apache(Apache 为平台节点模板)的形式表示。其中Patch For App指应用部署包A中的 appPatch节点模板是用于App应用节点模板的升级,Requirement For Apache 描述了应用节点模板appPatch对平台节点模板apache的版本需求。由于应用部署包B为已经部署的应用的部署包,且appA为针对应用节点模板app的升级。因此在appA中,需要调用到一些在应用部署包B的应用描述文件 appB.tosca中所描述的元素。在appA的描述文件中,需要导入appB的描述文件。比如,可以通过属性location给出该appB.tosca文件的URL(Uniform Resource Locator,统一资源定位符URL),具体调用程序如下:
<Import namespace=“appB:http://www.example.com/ste/Topology"
location=http://www.example.com/ste/appB.tosca
importType="http://docs.oasis-open.org/tosca/ns/2011/12"/>
作为一个例子,在appA.tosca的TopologyTemplate元素中,给出了图5 所示的应用拓扑结构的描述,具体可以如下所示:
Figure BDA0001540738350000151
Figure BDA0001540738350000161
具体的,应用部署包A中在拓扑模板Topology Template中用节点模板 NodeTemplate元素定义了应用节点模板appPatch,并在节点模板元素中指明了版本需求requirement Of App和部署制品Da Of AppPatch。通过关系模板 Patch For App指明所述appPatch应用节点模板与应用部署包B中app应用节点模板存在升级标识,如PatchFor。在升级标识Patch For App中,通过 Source Element指明源应用节点模板的标识(待部署的应用节点模板的标识) appPatch,通过Target Element指明目标应用节点模板的标识(已部署的应用节点模板的标识)appB:app。在Target Element的描述中,属性“externalref”表明了应用节点模板app定义在外部应用描述文件中,通过前缀“appB”和“Import”元素指名了该外部应用描述文件为appB.tosca。此外,关系模板 Relationship Template的Requirement For Apache定义了所述appPatch应用节点模板对应用部署包B中Apache的版本需求。在需求关系Requirement For Apache中,通过Source Element定义了源版本需求requirement Of AppPatch,通过Target Element定义了目标部署能力appB:capabilityOf Apache。在Target Element的描述中,属性“externalref”表明部署能力capability OfApache定义在外部应用描述文件中,前缀“appB”和“Import”元素指出了该外部应用描述文件为appB.tosca。拓扑中还定义了升级计划upgrade,其类型为 http://www.example.com/UpgradePlan。
其中,应用节点模板appPatch的节点类型NodeType的描述如下:
Figure BDA0001540738350000162
Figure BDA0001540738350000171
在该NodeType中给出了应用节点模板appPatch的方法制品patchApp的定义和版本需求requirement Of AppPatch的定义。其中,方法制品patchApp 将在应用部署服务器执行升级计划中被调用,版本需求requirement Of AppPatch的中的约束Contraint字段,其属性约束类型constraint Type取值 http://www.example.com/PropertyConstraints/supportServlet3 表明,应用部署服务器需要根据上述取值,在数据库中查找哪个软件版本包含了这个supportServlet3的能力。
需要说明的是,应用部署包A的描述文件中还可以进一步包含已部署的应用节点的标识如app1。所述已部署的应用节点的标识为需要升级的应用节点的标识。也可以在上述描述中通过升级标识如apptchFor指明待升级应用节点模板的标识如:app。如果应用部署包A的描述文件中没有单独指示包含已部署的应用节点的标识,在升级标识中仅指示了已部署的应用节点模板的标识如app。则应用部署服务器在进行应用升级时,会针对已部署的应用节点模板的标识app所对应的所有应用节点进行升级。比如,appB首先在南京进行部署,然后在上海进行了部署,则已部署的应用节点模板的标识对应的应用节点有:南京的应用节点app1和上海的应用节点app2。当应用每次部署时,会产生一个编号,例如appB在南京部署时产生编号1,表明app1是appB第1 次部署产生的,在上海部署时产生编号2,表明app2是appB第2次部署产生的,该编号可以用于判断哪些节点是属于同一次部署产生的。在待部署的应用部署包包含已部署的应用节点的标识时,部署包appA中的计划可以如下:
Figure BDA0001540738350000172
Figure BDA0001540738350000181
在该描述中首先定义了输入参数,其中输入参数“appInstance标识”指明了已部署的应用节点的标识为app1。接口invokePlan是应用部署服务器向用户设备提供的API,用户设备可以通过调用该API来访问定义在应用部署包 A的管理计划。该API有两个参数,第一个参数为已部署的应用节点的标识,第二个参数是需要调用的计划标识。在元素计划模型PlanModel中给出了该计划的各个步骤。
当应用部署包A中不指明已部署的应用节点的标识时,升级计划如下:
Figure BDA0001540738350000182
在该描述中没有指明已部署的应用节点的标识,则应用部署服务器获取所述已部署应用节点模板的标识app,并根据应用标识appB找到与已部署的应用模板标识app对应的所有已部署的应用节点的标识(如app1和app2),对已部署的应用节点模板的标识app对应的所有已部署的应用节点进行升级。用户设备直接执行“appB:计划”来调用定义在appB.tosca中的计划来生成该升级。
上述程序可以使得应用部署服务器获知已部署应用的标识是“appB”、已部署的应用节点模板的标识“app”对应的应用节点需要升级。
步骤403、用户设备生成应用部署请求,所述应用部署请求包含所述应用部署包A。
步骤404、应用部署服务器接收应用部署请求。
步骤405、应用部署服务器判断所述部署包为针对已部署的应用(appB) 的升级包。
具体的,所述待部署的应用部署包的描述文件可以描述了待部署的应用节点模板、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求以及所述待部署的应用节点模板与所述已部署的应用节点模板升级的升级标识。
应用部署服务器根据所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识确定所述部署包为针对已部署应用的升级包。
作为一个例子,应用部署服务器检查应用部署包A的部署描述文件 appA.tosca,发现描述文件appA.tosca包含升级标识“PatchFor”,和/或源应用节点模板(即待部署的应用节点模板)appPatch的部署制品类型为
“Patch”。应用部署服务器可以识别PatchFor关系类型,或部署制品的类型为”Patch”,从而可以确定应用部署包A为升级包。进一步的,应用部署服务器还可以检查升级计划upgrade发现其类型为
“http://www.example.com/UpgradePlan”,确定该计划是用于升级的计划,从而确定判断应用部署包A是升级包。
步骤406、应用部署服务器根据待部署的应用部署包升级已部署的应用节点。
如图6所示,应用部署服务器升级所述已部署的应用节点的步骤具体如下:
步骤4061、获取第一平台节点的标识。执行步骤4062。
应用部署服务器在收到待部署的应用部署包A后,根据应用部署包A的描述文件中的“Import”元素中包含的描述文件的URL,从应用部署服务器存储的部署包信息表中查找到该描述文件的位置File://ste/appB.tosca。然后通过该描述文件的位置File://ste/appB.tosca获取应用部署包B的描述文件。该部署包信息表如表2所示。
表2部署包信息表
Figure BDA0001540738350000191
如图7所示,在appB.tosca的拓扑描述中,定义了已部署的应用节点模板 app、平台节点模板apache和javaModule,并定义了这些节点模板之间的关系。下面给出主要信息在拓扑描述中的定义。
Figure BDA0001540738350000192
Figure BDA0001540738350000201
Figure BDA0001540738350000211
在平台节点模板apache的定义中,描述了部署能力capabilityOfApache,对该部署能力的定义包含在apache的NodeType的能力定义 CapabilityDefinition元素中。平台节点模板apache中还给出了部署制品 DaOfApache的描述。平台节点模板javaModule的定义中,描述了部署能力 capabilityOfJM,对该部署能力的定义包含在javaModul的NodeType的 CapabilityDefinition中。在拓扑描述中还描述了start和stop管理计划。本实施例中,部署能力为对平台节点模板的版本需求,如某版本具有的能力,或支持的版本。
例如,平台节点模板apache的NodeType描述如下:
Figure BDA0001540738350000212
在apache的NodeType中给出了部署能力capabilityOfApache的定义,在该定义中给出了约束Contraint,其属性值constraintType表明了该能力“支持 Servlet 2.0”。
应用部署服务器可以首先判断应用部署包appA中是否包括已部署的应用节点的标识“app1”,该已部署的应用节点的标识“app1”用于指示需要升级的应用节点。若已部署的应用部署包包括已部署的应用节点的标识,应用部署服务器可以在数据库中获取所述已部署的应用节点的标识指示的已部署的应用节点;根据所述待部署的应用部署包,升级所述已部署的应用节点的标识指示的应用节点。比如,假设应用部署请求中的计划中描述已部署的应用节点的标识为“app1”,应用部署服务器会在其存储的部署应用信息表中查找已部署的应用节点的标识app1。
若待部署的应用部署包不包括该已部署的应用节点的标识“app1”,则应用部署服务器根据所述已部署应用节点模板的标识获取与所述已部署应用节点模板的标识对应的所有已部署的应用节点的标识;使用所述待部署的应用部署包分别升级每个已部署的应用节点的标识指示的应用节点。进一步的,在升级每一个应用节点之前,应用部署服务器确定版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点的标识,使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的第一平台节点。
需要说明的是,由于同一个应用可以部署多次,因此一个应用节点模板的标识可以对应多个应用节点的标识。在所述待部署的应用部署包没有指定应用节点的标识时,应用部署服务器确定升级与应用部署请求中已部署的应用节点模板的标识对应的所有应用节点。应用部署服务器根据所述已部署的应用节点模板的标识确定待升及的应用节点的标识具体为:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识。因此需要获取所有应用节点的标识。比如,假设已部署的应用节点模板的标识为app,应用部署服务器可以根据app在部署应用信息表中查找与应用节点模板app对应的所有应用节点的标识,得到应用节点的标识为{app1, app2}。应用部署服务器分别对每一个应用节点app1和app2进行升级。进一步的,应用部署请求中还可以包含已部署的应用标识(作为一种可选方式,已部署的应用标识可以为已部署的应用部署包的标识或应用描述文件的URL或应用描述文件的位置)。应用部署服务器在根据应用节点模板的标识app在部署应用信息表中查找与应用节点模板app对应的所有应用节点的标识具体为:应用部署服务器根据已部署的应用部署包的标识或应用描述文件的URL 或应用描述文件的位置,在存储的部署应用信息表中查找已部署应用的与应用节点模板app对应的所有应用节点的标识,得到应用节点的标识为{app1, app2}。分别对每一个应用节点进行升级。
所述部署应用信息表如表3所示。所述部署应用信息表记录了节点的标识,已部署应用的标识和节点模板的标识的对应关系,用部署编号表明某次应用部署,具有相同部署编号的节点为应用在同一次部署中产生。所述节点的标识即包括应用节点的标识和平台节点的标识。
表3部署应用信息表
节点的标识 应用标识 部署编号 节点模板的标识
app1 appB 1 app
Apache1 appB 1 apache
JavaModule 1 appB 1 javaModule
app2 appB 2 app
Apache2 appB 2 apache
JavaModule2 appB 2 javaModule
步骤4062、判断第一平台节点的版本是否满足所述待部署的应用部署包中描述的所述待部署的应用节点模板对第一平台节点模板的版本需求。若否,执行步骤4063,若是,执行步骤4068。
首先,应用部署服务器根据待升级的应用节点的标识app1及部署编号 1,根据第一平台节点模板的标识从数据库中获取具有相同部署编号1的第一平台节点的标识Apache1。根据所述第一平台节点的标识Apache1获取所述第一平台节点的版本。具体的,应用部署服务器根据第一平台节点Apache1的标识,在数据库中进行查找,获取第一平台节点Apache1的部署能力,本实施例假设所述第一平台节点Apache1当前的部署制品是Tomcat6.0,如表4所示,只能支持Servlet 2.0,因此第一平台节点Apache1的版本为Tomcat 6.0。
假设已部署的应用节点的标识为app1,根据第一平台节点模板标识从表 3中获取具有与app1相同部署编号的第一平台节点的标识Apache1。在CSP 存储的应用实现信息表中,获取capabilityOfApache的apache1中只能提供“支持Servlet 2.0”的部署能力,即获取第一平台节点的标识apache1指示的平台节点支持的版本为Tomcat 6.0。所述应用实现信息表如表4所示。
表4应用实现信息表
Figure BDA0001540738350000231
因此,应用部署服务器根据所述第一平台节点模板的标识获取所述第一平台节点的版本,确定所述第一平台节点的版本不能满足所述待部署的应用节点模板对第一平台节点模板的版本需求。例如,应用部署服务器根据表3 中的第一平台节点模板的标识获取第一平台节点Apache1和Apache2,并确定第一平台节点Apache1的版本只supportServlet2或Tomcat 6.0,而不能满足待部署的应用节点模板对第一平台节点模板的版本需求,支持Servlet3.0或 Tomcat 6.0。因此,执行步骤4063。
假设应用部署请求包含了已部署的应用节点的标识,如app2,则应用部署服务器还需要确定具有app2相同的部署编号的第一平台节点Apache2的版本。具体的应用服务器根据所述第一平台节点模板的标识获取所述第一平台节点的版本为:获取应用节点的标识指示的应用节点的部署编号,根据第一平台节点模板的标识获取具有应用节点的编部编号相同的部署编号第一平台节点的标识。也就是说,所述获取的第一平台节点的标识对应的部署编号与所述应用节点的标识对应的部署编号相同。根据获取的第一平台节点的标识Apache2确定第一平台节点Apache2的版本为Servlet3.0。从而确定第一平台节点的能力满足待部署的应用节点模板对第一平台节点模板的版本需求。
步骤4063、获取第一平台节点升级包。
具体的:根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包。比如:首先根据第一平台节点的标识获取第一平台节点的版本(比如,应用部署服务器可以从平台节点的部署制品名中获取该平台节点的版本),并确定满足所述待部署的应用节点模板对第一平台节点模板的版本,然后获取与所述确定的满足所述待部署的应用节点模板对第一平台节点模板的版本对应的升级包。
作为一个例子,应用部署服务器根据表4从Apache1的部署制品名中获取Apache1的版本为Tomcat 6.0。而通过部署制品信息表(如表5)中,高于 Apache1的版本且可以满足待部署的应用节点对Apachel需求的版本是Tomcat 7.0。然后,应用部署服务器根据确定的版本Tomcat 7.0,从表5中获取可以将 Apache1从Tomcat 6.0升级到Tomcat 7.0的升级包位置为 File://appcontainer/apache/update/appE,从该位置获取升级包appE。
表5部署制品信息表
Figure BDA0001540738350000241
作为一种可选方式,待部署的应用节点模板对第一平台节点模板的版本需求,还可以是版本支持的能力,如supportServlet3。本发明实施例在此不再详述。
步骤4064、确定所述第二平台节点的版本低于所述第一平台节点模板对第二平台节点模板的版本需求,否则,直接执行步骤4067。
在执行此步骤4064之前,应用部署服务器根据存储的已部署的应用部署包的描述文件,确定已部署的应用部署包的描述文件具有将第一平台节点模板作为源节点模板的目标节点模板(即为第二平台节点模板)。进一步的,应用部署服务器根据描述文件的关系模板,确定在关系模板中将第一平台节点模板作为源节点模板的目标节点模板。本发明实施例将所述将第一平台节点模板作为源节点模板的目标节点模板作为第二平台节点模板。
仍以图5为例,apache节点模板与javaModule节点模板之间有箭头指向,则在关系模板中,apache节点模板作为源节点模板,而javaModule作为目标节点模板。因此,javaModule节点模板作为第二平台节点模板。而应用部署服务器根据源节点模板和目标节点模板的版本需求匹配表(如表6)确定,第一平台节点Apache将会升级到Tomcat 7.0。第二平台节点模板javaModule 的对应的节点需支持JDK 1.6。但是当前JavaModule1的版本是JDK1.5,因此第二平台节点的版本JDK1.5低于升级后的第一平台节点对第二平台节点的版本需求(JDK 1.6)
表6源节点模板和目标节点模板的版本需求匹配表
Figure BDA0001540738350000242
步骤4065、获取第二平台节点升级包。执行步骤4066。
具体的,根据第一平台节点对第二平台节点的版本需求获取第二第平台节点升级包。
假设应用部署服务器上维护了升级包D,该升级包可以将节点模板 javaModule所对应平台节点升级到JDK1.6,则第二平台节点升级包为升级包 D。
步骤4066、根据所述第二平台节点升级包,升级第二平台节点。执行步骤4067。
需要说明的是,在步骤4066之前,应用部署服务器还需要继续确定已部署的应用部署包的描述文件是否具有将第二平台节点模板作为源节点模板的目标节点模板(即第三节点模板)。以及重复执行步骤4064和4065),直至升级后任意节点的版本需求均得到满足。
步骤4067、根据第一平台节点升级包,升级第一平台节点。执行步骤 4068。
步骤4068、根据所述待部署的应用部署包,升级所述已部署应用的应用节点。
由于平台节点是应用部署服务器进行管理的,而应用节点是用户设备进行管理的,已部署应用的应用部署包也是用户设备生成的。因此,升级所述已部署的应用实际指的是升级已部署的应用对应的应用节点。所述升级过程可以根据获取的待部署的应用部署包中计划(plan)描述的信息来升级,所述应用部署包描述了待部署的应用节点模板、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求以及所述待部署的应用节点模板与所述已部署的应用节点模板升级的升级标识,可以使用所述待部署的应用部署包,升级所述已部署的应用节点模板的标识指示的应用节点。
由于平台节点的升级包是应用部署服务器维护的,如果安装失败,除非应用部署服务器能够及时响应失败保证平台节点升级最终成功,否则应用升级必定失败,应用节点即使升级成功也是无发正常运行。如果先升级平台节点,如果应用节点升级失败,则很可能是用户设备在构造应用节点升级包的过程中引入了错误,此时CSP可以将错误信息返回给用户设备,所述错误信息包含发生错误的应用节点的标识,由用户设备进行修改之后再提交新的待部署的应用部署包,应用部署服务器只需安装修改过的待部署的应用部署包,无需再去对平台节点进行升级。因此,在上述升级过程中,当获取了第一应用节点的待部署的应用部署包、第一平台节点的升级包、第二平台节点的升级包直至第n平台节点升级包时,可以按照从后往前的顺序,依次升级第n平台节点、第n-1平台节点,直至第二平台节点、第一平台节点及第一应用节点。
步骤407、应用部署服务器向用户设备返回升级响应信息。
特别的,在每个平台节点成功升级后,由于其具备了新的版本,因此需要将该平台节点新的版本写入数据库。
例如,在使用升级包appE升级平台节点Apache1后,因为平台节点 Apache1节点升级成功后具有了新的版本“supportServlet3”,因此需要将应用实现信息表中的部署制品名和能力描述进行更新,更新后的应用实现信息表如表7所示。其中,能务描述或部署制品名都可以体现平台节点的版本。
表7应用实现信息表
Figure BDA0001540738350000261
需要说明的是,本发明实施例提供的应用升级方法步骤的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本发明的保护范围之内,因此不再赘述。
由以上方案可知,本发明实施例提供的应用升级方法,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当应用部署服务器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,应用部署服务器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,应用部署服务器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
本发明实施例提供一种应用部署服务器80,如图8所示,包括:
接收模块801,用于接收应用部署请求,所述应用部署请求包含待部署的应用部署包;所述待部署的应用部署包描述了待部署的应用节点模板、已部署应用的标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识,并将所述待部署应用的应用部署包发送至确定模块802和升级模块803;
所述确定模块802,用于接收所述接收模块801发送的所述待部署应用的应用部署包,并根据所述升级标识确定所述待部署的应用部署包为所述已部署应用的标识指示的已部署应用的升级包;以及用于根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;以及用于确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;需要说明的,所述升级标识为所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识。
根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包,发送所述第一平台节点升级包至升级模块;
所述升级模块803,用于接收所述确定模块802发送的所述第一平台节点升级包,使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点;
所述确定模块802进一步用于根据所述已部署的应用节点模板的标识确定待升级的应用节点的标识,并发送所述待升级的应用节点的标识至升级模块803;
所述升级模块803,进一步用于接收所述接收模块801发送的所述待部署应用的应用部署包,并接收所述确定模块802发送的所述待升级的应用节点的标识,以及用于使用所述待部署的应用部署包升级所述待升级的应用节点的标识指示的应用节点。
这样一来,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当确定模块在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,升级模块会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,升级模块根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
需要说明的,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
进一步的,所述确定模块802具体用于:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升及的应用节点的标识具体为:
确定所述应用部署包包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
所述确定模块802还用于:
根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;
根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;
获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本;
确定所述第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;
根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;
所述升级模块803还用于:
根据所述第二平台节点升级包,升级所述第二平台节点。
值得说明的是,本发明实施例提供的应用部署服务器可以执行图2到图6 中描述的应用部署服务器执行的任何部骤。本发明实施例在此不再详述。
本发明提供的应用部署服务器,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当确定模块在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,升级模块会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,升级模块根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
本发明实施例提供一种用户设备90,如图9所示,包括:
生成模块901,用于生成待部署的应用部署包,所述待部署的应用部署包描述了待部署的应用节点模板、已部署的应用的标识、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
所述生成模块901进一步用于生成应用部署请求,向发送模块902发送所述应用部署请求,所述应用部署请求包含所述待部署的应用部署包;
所述发送模块902,用于接收所述生成模块901发送的所述应用部署请求,向应用部署服务器发送所述应用部署请求。
这样一来,用户设备的生成模块生成待部署的应用部署包,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当应用部署服务器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,应用部署服务器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,应用部署服务器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
需要说明的,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
其中,所述生成模块901生成的所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识。
进步一的,所述用户设备还包括,如图10所示:确定模块903,用于根据已部署的应用部署包的描述文件,确定所述已部署应用标识指示的已部署应用的第一平台节点模板,所述第一平台节点模板将已部署的应用节点模板作为源节点模板。
值得说明的是,本发明实施例提供的用户设备可以执行图2到图6中描述的用户设备执行的任何部骤。本发明实施例在此不再详述。
本发明实施例提供的用户设备,用户设备的生成模块生成待部署的应用部署包,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当应用部署服务器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,应用部署服务器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,应用部署服务器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
本发明实施例提供一种应用部署服务器110,如图11所示,包括:
接收机111,用于接收应用部署请求,所述应用部署请求包含待部署的应用部署包;所述待部署的应用部署包描述了待部署的应用节点模板、已部署应用的标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识,并将所述待部署的应用部署包发送至处理器112;
所述处理器112,用于:
接收所述接收机111发送的所述待部署的应用部署包,并根据所述待部署的应用节点模板用于对所述升级标识确定所述待部署的应用部署包为针对所述已部署应用的标识指示的已部署应用的升级包;需要说明的,所述升级标识为所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识。
根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;
根据所述第一平台节点版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;
根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包;
使用所述第一平台节点升级包,升级所述第一平台节点模板的标识指示的所述第一平台节点;
确定待升级的应用节点的标识;
使用所述待部署的应用部署包,升级所述待升级的应用节点的标识指示的应用节点。
这样一来,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当处理器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,处理器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,处理器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
需要说明的,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
进一步的,所述处理器112具体用于:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升及的应用节点的标识具体为:
确定所述应用部署包包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
所述处理器112还用于:
根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;
根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;
获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本;
确定所述第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;
根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;
根据所述第二平台节点升级包,升级所述第二平台节点。
值得说明的是,本发明实施例提供的应用部署服务器可以执行图2到图6 中描述的应用部署服务器执行的任何部骤。本发明实施例在此不再详述。
本发明提供的应用部署服务器,在待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当处理器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,处理器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,处理器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
本发明实施例提供一种用户设备120,如图12所示,包括:
处理器121,用于生成待部署的应用部署包,所述待部署的应用部署包描述了待部署的应用节点模板、已部署的应用的标识、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
生成应用部署请求,所述应用部署请求包含所述待部署的应用部署包;
向发射机122发送所述应用部署请求;
所述发射机122,用于接收处理器发送的所述应用部署请求,并向应用部署服务器发送所述应用部署请求。
这样一来,用户设备的处理器生成待部署的应用部署包,然后根据所述待部署的应用部署包生成应用部署请求,并发送给发射机,然后通过发射机将所述应用部署请求发送给应用部署服务器,由应用部署服务器根据该应用部署请求中的待部署的应用部署包自动进行平台节点和应用节点的升级,因此,提高应用升级的自动化程度,减少了人工干预。
需要说明的,所述待部署的应用部署包进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述待部署的应用部署包进一步待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
进一步,所述处理器121生成的所述待部署的应用部署包还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识。
所述处理器121还用于:根据已部署的应用部署包的描述文件,确定所述已部署应用标识指示的已部署应用的第一平台节点模板,所述第一平台节点模板将已部署的应用节点模板作为源节点模板。
值得说明的是,本发明实施例提供的用户设备可以执行图2到图6中描述的用户设备执行的任何部骤。本发明实施例在此不再详述。
由以上方案可知,处理器根据应用开发者的升级需求生成待部署的应用部署包,所述待部署的应用部署包中的应用描述文件描述了待部署的应用节点模板对第一平台节点模板的版本需求。当应用部署服务器在确定第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求时,应用部署服务器会根据所述待部署的应用节点模板对第一平台节点模板的版本需求获取第一平台节点升级包。之后,应用部署服务器根据获取的第一平台节点升级包升级第一平台节点。使得升级后第一平台节点的版本满足所述待部署的应用节点模板对第一平台节点模板的版本需求,从而确保升级后的应用能正常运行。
本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和 B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种应用升级方法,其特征在于,包括:
接收应用部署请求,所述应用部署请求包含待部署的应用节点模板、已部署应用的标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
根据所述升级标识确定所述应用部署请求为所述已部署应用的标识指示的已部署应用的升级请求;
根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;
根据所述第一平台节点的版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;
根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包;
使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点;
确定待升级的应用节点的标识;
升级所述待升级的应用节点的标识指示的应用节点。
2.根据权利要求1所述的方法,其特征在于,所述应用部署请求进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述应用部署请求进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
3.根据权利要求1或2所述的方法,其特征在于,所述确定待升级的应用节点的标识具体为:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述应用部署请求还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升级的应用节点的标识具体为:
确定所述应用部署请求包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
4.根据权利要求1至2任意一项权利要求所述的方法,其特征在于,所述升级所述第一平台节点的标识指示的所述第一平台节点之前,该方法进一步包括:根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;
根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;
获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本;
确定第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;
所述根据所述第一平台节点升级包,升级所述第一平台节点之前,所述方法还包括:
根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;
根据所述第二平台节点升级包,升级所述第二平台节点。
5.一种应用部署服务器,其特征在于,包括:
接收模块,用于接收应用部署请求,所述应用部署请求包含待部署的应用节点模板、已部署应用的标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
确定模块,用于根据所述升级标识确定所述应用部署请求为所述已部署应用的标识指示的已部署应用的升级请求;以及用于根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;以及用于根据所述第一平台节点的版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;
根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包;
升级模块,用于使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点;
所述确定模块进一步用于确定待升级的应用节点的标识;
所述升级模块,进一步用于升级所述待升级的应用节点的标识指示的应用节点。
6.根据权利要求5所述的应用部署服务器,其特征在于,所述应用部署请求进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述应用部署请求进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
7.根据权利要求5或6所述的应用部署服务器,其特征在于,所述确定模块具体用于:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述应用部署请求还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升级的应用节点的标识具体为:确定所述应用部署请求包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
8.根据权利要求5至6任意一项权利要求所述的应用部署服务器,其特征在于,所述确定模块还用于:
根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;
根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;
获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本;
确定所述第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;
根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;
所述升级模块还用于:
根据所述第二平台节点升级包,升级所述第二平台节点。
9.一种应用部署服务器,其特征在于,包括:
接收机,用于接收应用部署请求,所述应用部署请求包含待部署的应用节点模板、已部署应用的标识、已部署的应用节点模板的标识、第一平台节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;
处理器,用于:
根据所述升级标识确定所述应用部署请求为所述已部署应用的标识指示的已部署应用的升级请求;
根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;
根据所述第一平台节点版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;
根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包;
使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点;
确定待升级的应用节点的标识;
升级所述待升级的应用节点的标识指示的应用节点。
10.根据权利要求9所述的应用部署服务器,其特征在于,所述应用部署请求进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述应用部署请求进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
11.根据权利要求9或10所述的应用部署服务器,其特征在于,所述处理器具体用于:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述应用部署请求还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升级的应用节点的标识具体为:
确定所述应用部署请求包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
12.根据权利要求9至10任意一项权利要求所述的应用部署服务器,其特征在于,所述处理器还用于:
根据所述已部署的应用标识获取存储的已部署的应用部署包的描述文件;
根据获取的已部署的应用部署包的描述文件确定所述已部署的应用部署包的描述文件中描述了将所述第一平台节点模板作为源节点模板的第二平台节点模板;
获取升级后的第一平台节点对第二平台节点的版本需求以及第二平台节点的版本;
确定所述第二平台节点的版本低于升级后的第一平台节点对第二平台节点的版本需求;
根据所述升级后的第一平台节点对第二平台节点的版本需求,获取满足所述升级后的第一平台节点对第二平台节点的版本需求的第二平台节点升级包;
根据所述第二平台节点升级包,升级所述第二平台节点。
13.一种应用升级的方法,其特征在于,包括:
用户终端生成应用部署请求,所述应用部署请求包括待部署的应用节点模板、已部署的应用的标识、第一平台节点模板的标识、已部署的应用节点模板的标识、待部署的应用节点模板对第一平台节点模板的版本需求、以及所述待部署的应用节点模板用于对所述已部署的应用节点模板的标识所指示的已部署的应用节点模板升级的升级标识;将所述应用部署请求发送给应用部署服务器;
所述应用部署服务器接收所述用户终端发送的应用部署请求;根据所述升级标识确定所述应用部署请求为所述已部署应用的标识指示的已部署应用的升级请求;根据所述已部署的应用标识获取与所述第一平台节点模板的标识对应的第一平台节点的标识,以及获取所述第一平台节点的标识指示的第一平台节点的版本;根据所述第一平台节点的版本确定所述第一平台节点的版本低于所述待部署的应用节点模板对第一平台节点模板的版本需求;根据所述待部署的应用节点模板对第一平台节点模板的版本需求,获取满足所述待部署的应用节点模板对第一平台节点模板的版本需求的第一平台节点升级包;使用所述第一平台节点升级包,升级所述第一平台节点的标识指示的所述第一平台节点;确定待升级的应用节点的标识;升级所述待升级的应用节点的标识指示的应用节点。
14.如权利要求13所述的方法,其特征在于,所述应用部署请求进一步包括描述所述待部署的应用节点模板的关系模板,所述升级标识携带在所述关系模板中;或
所述应用部署请求进一步包括待部署的应用节点模板对应的节点类型执行,所述升级标识携带在所述节点类型执行中。
15.根据权利要求13或14所述的方法,其特征在于,所述确定待升级的应用节点的标识具体为:确定与所述已部署的应用节点模板的标识对应的所有的应用节点的标识为待升级的应用节点的标识;或
当所述应用部署请求还包括:与所述已部署的应用节点模板的标识对应的至少一个已部署的应用节点的标识时,所述确定待升级的应用节点的标识具体为:
所述应用部署服务器确定所述应用部署请求包括的与所述已部署的应用节点模板的标识对应的所述至少一个已部署的应用节点的标识为待升级的应用节点的标识。
CN201810012326.4A 2013-08-13 2013-08-13 一种应用升级方法、装置 Active CN108319463B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810012326.4A CN108319463B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810012326.4A CN108319463B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置
PCT/CN2013/081410 WO2015021604A1 (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置
CN201380001370.0A CN104583945B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201380001370.0A Division CN104583945B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置

Publications (2)

Publication Number Publication Date
CN108319463A CN108319463A (zh) 2018-07-24
CN108319463B true CN108319463B (zh) 2021-08-20

Family

ID=52467924

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201810012326.4A Active CN108319463B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置
CN201380001370.0A Active CN104583945B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置
CN201810011915.0A Active CN108052340B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201380001370.0A Active CN104583945B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置
CN201810011915.0A Active CN108052340B (zh) 2013-08-13 2013-08-13 一种应用升级方法、装置

Country Status (7)

Country Link
US (3) US9696984B2 (zh)
EP (1) EP2945055A4 (zh)
JP (1) JP6164440B2 (zh)
KR (1) KR101782457B1 (zh)
CN (3) CN108319463B (zh)
AU (1) AU2013397867B2 (zh)
WO (1) WO2015021604A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101782457B1 (ko) * 2013-08-13 2017-09-28 후아웨이 테크놀러지 컴퍼니 리미티드 어플리케이션 업그레이드 방법 및 장치
US9998323B2 (en) * 2014-09-25 2018-06-12 Bank Of America Corporation Datacenter configuration management tool
US10318265B1 (en) * 2015-10-09 2019-06-11 Amazon Technologies, Inc. Template generation for deployable units
CN107479862A (zh) * 2016-06-07 2017-12-15 阿里巴巴集团控股有限公司 一种软件升级的灰度发布方法及系统
US10353686B1 (en) * 2016-12-28 2019-07-16 Facebook, Inc. Application installation system
CN108809683B (zh) * 2017-05-04 2022-07-15 中兴通讯股份有限公司 部署云应用系统的方法及装置
US10749743B2 (en) 2017-06-12 2020-08-18 Microsoft Technology Licensing, Llc Upgrade a version of a service
CN107844314B (zh) * 2017-12-22 2020-12-18 税友软件集团股份有限公司 一种升级Weblogic应用程序的方法及系统
CN110308914B (zh) * 2018-03-27 2023-08-22 阿里巴巴(中国)有限公司 升级处理方法、装置、设备、系统及计算机可读存储介质
CN109032634B (zh) * 2018-07-16 2021-11-26 北京百度网讯科技有限公司 用于更新应用的方法、装置、设备和计算机可读存储介质
CN109388415A (zh) * 2018-09-27 2019-02-26 深圳供电局有限公司 一种应用自动化更新装置、系统和方法
CN112035146B (zh) * 2020-09-11 2023-10-24 百富计算机技术(深圳)有限公司 固件更新方法、安全设备和计算机可读存储介质
WO2023275589A1 (en) * 2021-06-28 2023-01-05 Sensetime International Pte. Ltd. Methods and apparatuses for installing device application
US11861339B2 (en) * 2021-09-16 2024-01-02 Change Healthcare Holdings, Llc Systems and methods for deploying software applications using application catalogs
WO2023230642A1 (en) * 2022-05-31 2023-12-07 Technological Resources Pty Limited Ensuring backwards compatbility between a supervisory system and on-device control software

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404147A (zh) * 2011-11-21 2012-04-04 中兴通讯股份有限公司 一种软件版本的动态更新方法及系统
CN102821162A (zh) * 2012-08-24 2012-12-12 上海和辰信息技术有限公司 云计算网络环境下面向松散云节点新型服务平台的系统

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6912711B1 (en) 2000-05-25 2005-06-28 International Business Machines Corporation Method of applying an update to a contained collection of program and data files based upon versions
US7478385B2 (en) 2003-01-17 2009-01-13 National Instruments Corporation Installing software using programmatic component dependency analysis
US20040148370A1 (en) * 2003-01-23 2004-07-29 Electronic Data Systems Corporation System and method for composing, configuring, deploying, and managing services using a graphical user interface
US20040261071A1 (en) * 2003-06-23 2004-12-23 Macronix International Co., Ltd. Peer version control system
KR101169432B1 (ko) 2005-12-12 2012-07-27 삼성전자주식회사 자바 어플리케이션의 실행 환경 관리 시스템 및 방법
US8726267B2 (en) 2006-03-24 2014-05-13 Red Hat, Inc. Sharing software certification and process metadata
CN100549950C (zh) * 2006-07-14 2009-10-14 中兴通讯股份有限公司 分布式软件系统的部署方法
US7874008B2 (en) * 2006-08-29 2011-01-18 International Business Machines Corporation Dynamically configuring extensible role based manageable resources
US7634488B2 (en) * 2006-11-13 2009-12-15 Ricoh Company, Ltd. Remote distribution/installation utility and associated method of deploying executable code
US8205194B2 (en) * 2007-06-29 2012-06-19 Microsoft Corporation Updating offline virtual machines or VM images
US20090133014A1 (en) 2007-11-16 2009-05-21 Nokia Corporation Methods, apparatuses and computer program product for automatic download of software dependencies on installation
KR100952166B1 (ko) * 2008-07-24 2010-04-09 인하대학교 산학협력단 그리드 데이터 베이스의 데이터 버전 관리 방법 및 장치
US8291378B2 (en) * 2008-07-29 2012-10-16 International Business Machines Corporation Simplified deployment modeling
US9280335B2 (en) * 2010-09-30 2016-03-08 International Business Machines Corporation Semantically rich composable software image bundles
US20110061046A1 (en) * 2008-12-18 2011-03-10 Virtual Computer, Inc. Installing Software Applications in a Layered Virtual Workspace
US20100281475A1 (en) * 2009-05-04 2010-11-04 Mobile On Services, Inc. System and method for mobile smartphone application development and delivery
US8479098B2 (en) * 2009-08-12 2013-07-02 Ebay Inc. Reservation of resources and deployment of applications using an integrated development environment
US20120066672A1 (en) * 2010-03-16 2012-03-15 Salesforce.Com, Inc. Systems and Methods for Implementing Upgradeable Subscriber-Controlled Managed Package Components in a Multi-Tenant Environment
US9448790B2 (en) * 2010-04-26 2016-09-20 Pivotal Software, Inc. Rapid updating of cloud applications
US8661132B2 (en) * 2010-05-28 2014-02-25 International Business Machines Corporation Enabling service virtualization in a cloud
US8782748B2 (en) * 2010-06-22 2014-07-15 Microsoft Corporation Online service access controls using scale out directory features
US8407689B2 (en) * 2010-06-25 2013-03-26 Microsoft Corporation Updating nodes considering service model constraints
US8627310B2 (en) * 2010-09-30 2014-01-07 International Business Machines Corporation Capturing multi-disk virtual machine images automatically
US9753713B2 (en) * 2010-10-22 2017-09-05 Microsoft Technology Licensing, Llc Coordinated upgrades in distributed systems
CN102006332B (zh) * 2010-12-03 2013-12-11 杭州华三通信技术有限公司 一种软件升级的方法和系统
US9021465B2 (en) * 2010-12-15 2015-04-28 Red Hat Israel, Ltd. Downloading guest software updates by a hypervisor
US8261295B1 (en) * 2011-03-16 2012-09-04 Google Inc. High-level language for specifying configurations of cloud-based deployments
JP5665188B2 (ja) * 2011-03-31 2015-02-04 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ソフトウエア更新を適用した情報処理装置を検査するシステム
US8997078B2 (en) * 2011-04-12 2015-03-31 Pivotal Software, Inc. Release lifecycle management system for a multi-node application
CN102811136A (zh) * 2011-06-01 2012-12-05 南京中兴新软件有限责任公司 软件升级系统及方法
TW201250482A (en) 2011-06-02 2012-12-16 Hon Hai Prec Ind Co Ltd System and method for updating virtual machine templates
US20130117749A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Provisioning and Managing an Application Platform
BR112014012772A8 (pt) * 2011-12-01 2017-06-20 Tencent Tech Shenzhen Co Ltd método e sistema para aprimorar software
US9946526B2 (en) * 2011-12-07 2018-04-17 Excalibur Ip, Llc Development and hosting for platform independent applications
CN102495733A (zh) * 2011-12-08 2012-06-13 方正国际软件有限公司 应用程序与相关数据库脚本兼容性检测和升级维护的方法
US20130166311A1 (en) * 2011-12-21 2013-06-27 The TriZetto Group System and Method for Provisioning and Deploying a Virtual Appliance to Implement Enterprise Solutions
CN102413022B (zh) * 2011-12-31 2014-04-16 北京新媒传信科技有限公司 一种应用调试方法和系统
US9043784B2 (en) * 2012-01-12 2015-05-26 Red Hat, Inc. Management of inter-dependent configurations of virtual machines in a cloud
US10031783B2 (en) * 2012-03-02 2018-07-24 Vmware, Inc. Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure
US9047133B2 (en) * 2012-03-02 2015-06-02 Vmware, Inc. Single, logical, multi-tier application blueprint used for deployment and management of multiple physical applications in a cloud environment
CN102629207B (zh) * 2012-03-05 2016-12-14 浪潮通用软件有限公司 一种多租户环境运行实例分时更新的方法
US8667486B2 (en) * 2012-06-26 2014-03-04 Google Inc. Automatic provisioning of a software platform to a device ecosystem
US9348652B2 (en) * 2012-07-02 2016-05-24 Vmware, Inc. Multi-tenant-cloud-aggregation and application-support system
US8997088B2 (en) * 2012-11-02 2015-03-31 Wipro Limited Methods and systems for automated deployment of software applications on heterogeneous cloud environments
US8875121B2 (en) * 2012-11-06 2014-10-28 Nvidia Corporation Framework for multi-type and multi-location firmware updates and hardware feature updates through a single interface protocol
CN102945175A (zh) * 2012-11-09 2013-02-27 杭州易和网络有限公司 一种基于云计算环境的终端软件在线升级系统及其方法
US8924950B2 (en) * 2012-12-17 2014-12-30 Itron, Inc. Utility node software/firmware update through a multi-type package
US9189224B2 (en) * 2013-07-11 2015-11-17 Oracle International Corporation Forming an upgrade recommendation in a cloud computing environment
KR101782457B1 (ko) * 2013-08-13 2017-09-28 후아웨이 테크놀러지 컴퍼니 리미티드 어플리케이션 업그레이드 방법 및 장치
US9753784B2 (en) * 2013-11-27 2017-09-05 At&T Intellectual Property I, L.P. Cloud delivery platform
EP3137989A4 (en) * 2014-04-30 2018-01-03 Pivotal Software, Inc. Fast deployment across cloud platforms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404147A (zh) * 2011-11-21 2012-04-04 中兴通讯股份有限公司 一种软件版本的动态更新方法及系统
CN102821162A (zh) * 2012-08-24 2012-12-12 上海和辰信息技术有限公司 云计算网络环境下面向松散云节点新型服务平台的系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Portable Cloud Services Using TOSCA;Tobias Binz 等;《IEEE Internet Computing》;20120420;第16卷(第3期);第80-85页 *
Topology and Orchestration Specification for Cloud Applications-Version 1.0;OASIS;《http://docs.oasis-open.org/tosca/TOSCA/v1.0/cs01/TOSCA-v1.0-cs01.pdf》;20130318;第1-114页 *
分布式应用服务提供平台的研究与实现;刘小兵;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111215;I139-218 *

Also Published As

Publication number Publication date
US20170277532A1 (en) 2017-09-28
JP6164440B2 (ja) 2017-07-19
AU2013397867B2 (en) 2017-05-18
CN108052340B (zh) 2021-03-30
CN108319463A (zh) 2018-07-24
EP2945055A1 (en) 2015-11-18
JP2016521897A (ja) 2016-07-25
CN108052340A (zh) 2018-05-18
CN104583945B (zh) 2018-01-12
AU2013397867A1 (en) 2015-08-27
US10191730B2 (en) 2019-01-29
US20190129709A1 (en) 2019-05-02
KR101782457B1 (ko) 2017-09-28
CN104583945A (zh) 2015-04-29
EP2945055A4 (en) 2016-05-25
US20150347123A1 (en) 2015-12-03
US9696984B2 (en) 2017-07-04
WO2015021604A1 (zh) 2015-02-19
KR20150110766A (ko) 2015-10-02
US10649761B2 (en) 2020-05-12

Similar Documents

Publication Publication Date Title
CN108319463B (zh) 一种应用升级方法、装置
US10318287B2 (en) Deploying documents to a server in a specific environment
US10191736B2 (en) Systems and methods for tracking configuration file changes
CN102413022B (zh) 一种应用调试方法和系统
US11561784B2 (en) Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms
CN102497454B (zh) 一种在应用服务平台系统中对应用进行灰度发布的方法
CN110636093B (zh) 微服务注册和发现方法、设备、存储介质以及微服务系统
US8135732B2 (en) System and method for providing network-based services to users with high availability
CN106953746A (zh) 集群节点升级系统及方法
EP1872215A1 (en) Implementing data-compatibility-based version scheme
US20110087767A1 (en) Computer Environment Analysis Tool
US20160246582A1 (en) Generic Semantic Configuration Service
US11392366B1 (en) Optimized compilation of pipelines for continuous delivery of services on datacenters configured in cloud platforms
CN106775816A (zh) 一种局域网中应用程序的自动更新方法及系统
CN110018835B (zh) Yang模型配置数据处理方法及装置、终端设备及存储介质
CN109992279A (zh) 配置数据更新方法、装置、计算设备及存储介质
CN113839992B (zh) 设备控制方法及装置
CN115729590A (zh) 服务部署方法、装置、设备和计算机可读存储介质
CN113760320A (zh) 元数据部署方法和装置
CN104298750A (zh) 用于实时系统通信的更新处理方法及装置
CN118827357A (zh) 一种服务编排处理方法、装置、设备及存储介质
KR20160028248A (ko) 기기 등록 자동화 장치 및 이를 이용한 프로비저닝 자동화 방법
CN117971258A (zh) 热发布管理系统
CN117311792A (zh) 版本号的更新方法、装置、设备及存储介质
CN117724859A (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