CN113204368A - 应用程序处理方法、服务器及存储介质 - Google Patents
应用程序处理方法、服务器及存储介质 Download PDFInfo
- Publication number
- CN113204368A CN113204368A CN202110425400.7A CN202110425400A CN113204368A CN 113204368 A CN113204368 A CN 113204368A CN 202110425400 A CN202110425400 A CN 202110425400A CN 113204368 A CN113204368 A CN 113204368A
- Authority
- CN
- China
- Prior art keywords
- application program
- application
- request
- server
- label
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开是关于一种应用程序处理方法、服务器及存储介质,属于计算机技术领域。该应用程序处理方法包括:配置服务器接收终端发送的携带第一应用程序标签和发布条件的第一发布请求;配置服务器响应于第一发布请求,向调度服务器发送至少携带第一应用程序标签的第二发布请求,第二发布请求用于指示将第一应用程序标签对应的第一应用程序按照发布条件发布于第一目标节点;调度服务器响应于第二发布请求,将第一应用程序标签对应的第一应用程序发布于第一目标节点。本公开通过配置服务器和调度服务器相互配合,按照终端指示的发布条件实现了应用程序的发布,保证了应用程序的发布方式的灵活配置,提高了应用程序发布的可控性。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种应用程序处理方法、服务器及存储介质。
背景技术
随着计算机技术的发展,网络系统的结构也越来越复杂,为了给更多的终端提供更加稳定的计算服务,具有特定功能的应用程序通常发布在网络系统包括的多个节点上。
当前,应用程序的发布通常是由调度服务器来进行调度的,调度服务器会将应用程序发布在剩余可用的计算资源较多的节点上,这种应用程序发布的方式是固定的,对于应用程序的发布者来说是不可控的,存在着不确定性。
发明内容
本公开提供了一种应用程序处理方法、服务器及存储介质,能够提高应用程序发布的可控性。
根据本公开实施例的一方面,提供一种应用程序处理方法,所述应用程序处理方法包括:
配置服务器接收终端发送的第一发布请求,所述第一发布请求携带第一应用程序标签和发布条件,所述发布条件表征发布所述第一应用程序标签对应的第一应用程序的节点应满足的条件;
所述配置服务器响应于所述第一发布请求,向调度服务器发送第二发布请求,所述第二发布请求至少携带所述第一应用程序标签,所述第二发布请求用于指示将所述第一应用程序标签对应的所述第一应用程序按照所述发布条件发布于第一目标节点;
所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
在一些实施例中,所述发布条件包括地区信息,所述地区信息表征发布所述第一应用程序的节点所属的目标地区;
所述配置服务器响应于所述第一发布请求,向调度服务器发送第二发布请求,包括:
所述配置服务器响应于所述第一发布请求,在所述第一应用程序标签中添加所述地区信息对应的地区标签;
向所述调度服务器发送所述第二发布请求,所述第二发布请求携带添加所述地区标签后的所述第一应用程序标签。
在一些实施例中,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
所述调度服务器响应于所述第二发布请求,获取所述第一应用程序标签中添加的所述地区标签;
确定属于所述地区标签对应的所述目标地区的所述第一目标节点;
将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
在一些实施例中,一个节点中包括多个服务器,所述发布条件包括第一目标数量,所述第一目标数量表征在同一个节点中发布所述第一应用程序的服务器的数量,所述第二发布请求还携带所述第一目标数量;
所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
所述调度服务器响应于所述第二发布请求,在所述第一目标节点中的所述第一目标数量的服务器中,发布所述第一应用程序。
在一些实施例中,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
所述调度服务器向所述配置服务器发送所述第一应用程序的发布结果;
所述配置服务器接收所述调度服务器发送的所述发布结果,向所述终端发送所述发布结果,所述发布结果用于显示在所述终端上。
在一些实施例中,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
所述调度服务器响应于所述第二发布请求,在所述第一目标节点上创建容器托管对象;
将所述第一应用程序标签对应的所述第一应用程序发布于所述容器托管对象所包括的容器中。
在一些实施例中,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
所述配置服务器接收所述终端发送的第一升级请求,所述第一升级请求携带第二应用程序标签,所述第一升级请求用于指示将所述第一应用程序升级为所述第二应用程序标签对应的第二应用程序;
所述配置服务器响应于所述第一升级请求,向所述调度服务器发送第二升级请求,所述第二升级请求携带所述第二应用程序标签,所述第二升级请求用于指示将所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序;
所述调度服务器响应于所述第二升级请求,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述第一升级请求还携带升级方式,所述第二升级请求还携带所述升级方式;
所述调度服务器响应于所述第二升级请求,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序,包括:
所述调度服务器响应于所述第二升级请求,获取所述第二升级请求携带的升级方式;
基于所述升级方式,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述基于所述升级方式,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序,包括:
响应于所述升级方式为原地升级方式,从所述第一目标节点中,确定所述第一应用程序所在的容器托管对象;
从所述第一应用程序所在的容器托管对象中,删除所述第一应用程序所在的容器,并在所述容器托管对象中创建新的容器,将所述第二应用程序标签对应的所述第二应用程序发布于所述新的容器。
在一些实施例中,所述基于所述升级方式,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序,包括:
响应于所述升级方式为重建升级方式,从所述第一目标节点中,确定所述第一应用程序所在的容器托管对象;
删除所述第一应用程序所在的容器托管对象;
在所述第一目标节点中创建新的容器托管对象,将所述第二应用程序标签对应的所述第二应用程序发布于所述新的容器托管对象所包括的容器中。
在一些实施例中,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
所述配置服务器接收所述终端发送的第三升级请求,所述第三升级请求携带第二应用程序标签和升级条件,所述第三升级请求用于指示将满足所述升级条件的所述第一应用程序升级为所述第二应用程序标签对应的第二应用程序;
所述配置服务器响应于所述第三升级请求,从已发布的多个所述第一应用程序的应用程序标签中,确定满足所述升级条件的目标应用程序标签;
所述配置服务器向所述调度服务器发送第四升级请求,所述第四升级请求携带所述第二应用程序标签和所述目标应用程序标签;
所述调度服务器响应于所述第四升级请求,将所述目标应用程序标签对应的所述目标应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述升级条件包括第一升级比例;
所述配置服务器响应于所述第三升级请求,从已发布的多个所述第一应用程序的应用程序标签中,确定满足所述升级条件的目标应用程序标签,包括:
所述配置服务器响应于所述第三升级请求,获取已发布的多个所述第一应用程序的第一发布数量;
将所述第一发布数量与所述第一升级比例的乘积,确定为第一升级数量;
从所述多个第一应用程序的应用程序标签中,确定所述第一升级数量的所述目标应用程序标签。
在一些实施例中,所述升级条件包括第二升级比例和第一节点标签;
所述配置服务器响应于所述第三升级请求,从已发布的多个所述第一应用程序的应用程序标签中,确定满足所述升级条件的目标应用程序标签,包括:
所述配置服务器响应于所述第三升级请求,获取所述第一节点标签对应的第二发布数量,所述第二发布数量为发布在所述第一节点标签对应的第二目标节点上的所述第一应用程序的数量;
将所述第二发布数量与所述第二升级比例的乘积,确定为第二升级数量;
从所述第一节点标签对应的多个第一应用程序的应用程序标签中,确定所述第二升级数量的目标应用程序标签。
在一些实施例中,所述调度服务器响应于所述第四升级请求,将所述目标应用程序标签对应的所述目标应用程序升级为所述第二应用程序标签对应的所述第二应用程序之后,所述应用程序处理方法还包括:
所述配置服务器接收所述终端发送的第一回滚请求,所述第一回滚请求用于指示将所述第二应用程序还原为所述目标应用程序;
所述配置服务器响应于所述第一回滚请求,向所述调度服务器发送第二回滚请求,所述第二回滚请求至少携带发布所述第二应用程序的节点的第二节点标签;
所述调度服务器响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序。
在一些实施例中,发布所述第二应用程序的节点包括多个服务器,所述第二回滚请求还携带发布所述第二应用程序的服务器的服务器标签;
所述调度服务器响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序,包括:
所述调度服务器响应于所述第二回滚请求,在所述第二节点标签对应的节点中的所述服务器标签对应的服务器中,删除所述第二应用程序,发布所述目标应用程序。
在一些实施例中,所述配置服务器响应于所述第一回滚请求,向所述调度服务器发送第二回滚请求,包括:
所述配置服务器响应于所述第一回滚请求,在所述第二应用程序所在的容器托管对象与升级前所述目标应用程序所在的容器托管对象相同的情况下,获取第一对象标签和第一容器标签;所述第一对象标签表征所述第二应用程序所在的容器托管对象,所述第一容器标签表征所述容器托管对象中所述第二应用程序所在的容器;
向所述调度服务器发送携带所述第二节点标签、所述第一对象标签和所述第一容器标签的第二回滚请求。
在一些实施例中,所述调度服务器响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序,包括:
所述调度服务器响应于所述第二回滚请求,从所述第一对象标签对应的容器托管对象中,删除所述第一容器标签对应的容器;
在所述第一对象标签对应的容器托管对象中,创建新的容器,将所述目标应用程序发布于所述新的容器。
在一些实施例中,所述配置服务器响应于所述第一回滚请求,向所述调度服务器发送第二回滚请求,包括:
所述配置服务器响应于所述第一回滚请求,在所述第二应用程序所在的容器托管对象与升级前所述目标应用程序所在的容器托管对象不同的情况下,获取第一对象标签以及升级前所述目标应用程序所在的服务器的服务器标签,所述第一对象标签表征所述第二应用程序所在的容器托管对象;
向所述调度服务器发送携带所述第二节点标签、所述第一对象标签和所述服务器标签的第二回滚请求。
在一些实施例中,所述调度服务器响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序,包括:
所述调度服务器响应于所述第二回滚请求,删除所述第一对象标签对应的容器托管对象;
在所述服务器标签对应的服务器中,创建新的容器托管对象,将所述目标应用程序发布于所述新的容器托管对象所包括的容器中。
在一些实施例中,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
所述配置服务器接收所述终端发送的第一更新请求,所述第一更新请求携带第三应用程序标签和配置版本标签,所述第一更新请求用于指示将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件;
所述配置服务器响应于所述第一更新请求,向所述调度服务器发送第二更新请求,所述第二更新请求携带所述第三应用程序标签和所述配置版本标签对应的配置文件;
所述调度服务器响应于所述第二更新请求,将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件。
在一些实施例中,所述第三应用程序标签对应的应用程序所在的容器托管对象中包括辅助监听容器;所述辅助监听容器用于响应于监听到所述第三应用程序标签对应的应用程序的配置文件更新,向所述第三应用程序标签对应的应用程序发送更新信号;所述第三应用程序标签对应的应用程序用于响应于所述更新信号,载入所述配置版本标签对应的配置文件,按照所述配置版本标签对应的配置文件的配置运行。
在一些实施例中,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
所述配置服务器接收所述终端发送的调整请求,所述调整请求携带第三节点标签和第二目标数量,所述调整请求用于指示将所述第三节点标签对应的节点上的第一应用程序的当前数量调整为所述第二目标数量;
所述配置服务器响应于所述调整请求,将所述第二目标数量与所述当前数量的差值,确定为调整数量;
所述配置服务器响应于所述第二目标数量小于所述当前数量,向调度服务器发送第一删除请求,所述第一删除请求携带所述调整数量和所述第三节点标签;
所述调度服务器响应于所述第一删除请求,从所述第三节点标签对应的节点上,删除所述调整数量的所述第一应用程序。
在一些实施例中,所述应用程序处理方法还包括:
所述配置服务器响应于所述第二目标数量大于所述当前数量,向调度服务器发送第三发布请求,所述第三发布请求携带所述调整数量和所述第三节点标签;
所述调度服务器响应于所述第三发布请求,在所述第三节点标签对应的节点中的所述调整数量的服务器中,发布所述第一应用程序。
在一些实施例中,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
所述配置服务器接收所述终端发送的第二删除请求,所述第二删除请求携带第四应用程序标签,所述第二删除请求用于指示删除所述第四应用程序标签对应的应用程序;
所述配置服务器响应于所述第二删除请求,向所述调度服务器发送第三删除请求,所述第三删除请求携带所述第四应用程序标签;
所述调度服务器响应于所述第三删除请求,删除所述第四应用程序标签对应的应用程序。
根据本公开实施例的再一方面,提供一种应用程序处理方法,所述应用程序处理方法包括:
接收终端发送的第一发布请求,所述第一发布请求携带第一应用程序标签和发布条件,所述发布条件表征发布所述第一应用程序标签对应的第一应用程序的节点应满足的条件;
响应于所述第一发布请求,向调度服务器发送第二发布请求,所述第二发布请求至少携带所述第一应用程序标签,所述第二发布请求用于指示将所述第一应用程序标签对应的所述第一应用程序按照所述发布条件发布于第一目标节点;
所述调度服务器用于响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
在一些实施例中,所述发布条件包括地区信息,所述地区信息表征发布所述第一应用程序的节点所属的目标地区;
所述响应于所述第一发布请求,向调度服务器发送第二发布请求,包括:
响应于所述第一发布请求,在所述第一应用程序标签中添加所述地区信息对应的地区标签;
向所述调度服务器发送所述第二发布请求,所述第二发布请求携带添加所述地区标签后的所述第一应用程序标签。
在一些实施例中,所述应用程序处理方法还包括:
接收所述调度服务器发送的所述发布结果,向所述终端发送所述发布结果,所述发布结果用于显示在所述终端上。
在一些实施例中,所述应用程序处理方法还包括:
接收所述终端发送的第一升级请求,所述第一升级请求携带第二应用程序标签,所述第一升级请求用于指示将所述第一应用程序升级为所述第二应用程序标签对应的第二应用程序;
响应于所述第一升级请求,向所述调度服务器发送第二升级请求,所述第二升级请求携带所述第二应用程序标签,所述第二升级请求用于指示将所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序;
所述调度服务器用于响应于所述第二升级请求,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述应用程序处理方法还包括:
接收所述终端发送的第三升级请求,所述第三升级请求携带第二应用程序标签和升级条件,所述第三升级请求用于指示将满足所述升级条件的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序;
响应于所述第三升级请求,从已发布的多个所述第一应用程序的应用程序标签中,确定满足所述升级条件的目标应用程序标签;
向所述调度服务器发送第四升级请求,所述第四升级请求携带所述第二应用程序标签和所述目标应用程序标签;
所述调度服务器用于响应于所述第四升级请求,将所述目标应用程序标签对应的所述目标应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述升级条件包括第一升级比例;
所述响应于所述第三升级请求,从已发布的多个所述第一应用程序的应用程序标签中,确定满足所述升级条件的目标应用程序标签,包括:
响应于所述第三升级请求,获取已发布的多个所述第一应用程序的第一发布数量;
将所述第一发布数量与所述第一升级比例的乘积,确定为第一升级数量;
从所述多个第一应用程序的应用程序标签中,确定所述第一升级数量的所述目标应用程序标签。
在一些实施例中,所述升级条件包括第二升级比例和第一节点标签;
所述响应于所述第三升级请求,从已发布的多个所述第一应用程序的应用程序标签中,确定满足所述升级条件的目标应用程序标签,包括:
响应于所述第三升级请求,获取所述第一节点标签对应的第二发布数量,所述第二发布数量为发布在所述第一节点标签对应的第二目标节点上的所述第一应用程序的数量;
将所述第二发布数量与所述第二升级比例的乘积,确定为第二升级数量;
从所述第一节点标签对应的多个第一应用程序的应用程序标签中,确定所述第二升级数量的目标应用程序标签。
在一些实施例中,所述应用程序处理方法还包括:
接收所述终端发送的第一回滚请求,所述第一回滚请求用于指示将所述第二应用程序还原为所述目标应用程序;
响应于所述第一回滚请求,向所述调度服务器发送第二回滚请求,所述第二回滚请求至少携带发布所述第二应用程序的节点的第二节点标签;
所述调度服务器用于响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序。
在一些实施例中,所述响应于所述第一回滚请求,向所述调度服务器发送第二回滚请求,包括:
响应于所述第一回滚请求,在所述第二应用程序所在的容器托管对象与升级前所述目标应用程序所在的容器托管对象相同的情况下,获取第一对象标签和第一容器标签;所述第一对象标签表征所述第二应用程序所在的容器托管对象,所述第一容器标签表征所述容器托管对象中所述第二应用程序所在的容器;
向所述调度服务器发送携带所述第二节点标签、所述第一对象标签和所述第一容器标签的第二回滚请求。
在一些实施例中,所述响应于所述第一回滚请求,向所述调度服务器发送第二回滚请求,包括:
响应于所述第一回滚请求,在所述第二应用程序所在的容器托管对象与升级前所述目标应用程序所在的容器托管对象不同的情况下,获取第一对象标签以及升级前所述目标应用程序所在的服务器的服务器标签,所述第一对象标签表征所述第二应用程序所在的容器托管对象;
向所述调度服务器发送携带所述第二节点标签、所述第一对象标签和所述服务器标签的第二回滚请求。
在一些实施例中,所述应用程序处理方法还包括:
接收所述终端发送的第一更新请求,所述第一更新请求携带第三应用程序标签和配置版本标签,所述第一更新请求用于指示将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件;
响应于所述第一更新请求,向所述调度服务器发送第二更新请求,所述第二更新请求携带所述第三应用程序标签和所述配置版本标签对应的配置文件;
所述调度服务器用于响应于所述第二更新请求,将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件。
在一些实施例中,所述第三应用程序标签对应的应用程序所在的容器托管对象中包括辅助监听容器;所述辅助监听容器用于响应于监听到所述第三应用程序标签对应的应用程序的配置文件更新,向所述第三应用程序标签对应的应用程序发送更新信号;所述第三应用程序标签对应的应用程序用于响应于所述更新信号,载入所述配置版本标签对应的配置文件,按照所述配置版本标签对应的配置文件的配置运行。
在一些实施例中,所述应用程序处理方法还包括:
接收所述终端发送的调整请求,所述调整请求携带第三节点标签和第二目标数量,所述调整请求用于指示将所述第三节点标签对应的节点上的第一应用程序的当前数量调整为所述第二目标数量;
响应于所述调整请求,将所述第二目标数量与所述当前数量的差值,确定为调整数量;
响应于所述第二目标数量小于所述当前数量,向调度服务器发送第一删除请求,所述第一删除请求携带所述调整数量和所述第三节点标签;
所述调度服务器用于响应于所述第一删除请求,从所述第三节点标签对应的节点上,删除所述调整数量的所述第一应用程序。
在一些实施例中,所述应用程序处理方法还包括:
响应于所述第二目标数量大于所述当前数量,向调度服务器发送第三发布请求,所述第三发布请求携带所述调整数量和所述第三节点标签;
所述调度服务器用于响应于所述第三发布请求,在所述第三节点标签对应的节点中的所述调整数量的服务器中,发布所述第一应用程序。
在一些实施例中,所述应用程序处理方法还包括:
接收所述终端发送的第二删除请求,所述第二删除请求携带第四应用程序标签,所述第二删除请求用于指示删除所述第四应用程序标签对应的应用程序;
响应于所述第二删除请求,向所述调度服务器发送第三删除请求,所述第三删除请求携带所述第四应用程序标签;
所述调度服务器用于响应于所述第三删除请求,删除所述第四应用程序标签对应的应用程序。
根据本公开实施例的再一方面,提供一种应用程序处理方法,所述应用程序处理方法包括:
接收配置服务器发送的第二发布请求,所述第二发布请求至少携带第一应用程序标签,所述第二发布请求用于指示将所述第一应用程序标签对应的第一应用程序按照发布条件发布于第一目标节点,所述发布条件表征发布所述第一应用程序标签对应的所述第一应用程序的节点应满足的条件,且所述发布条件和所述第一应用程序标签由终端发送给所述配置服务器;
响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
在一些实施例中,所述响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
响应于所述第二发布请求,获取所述第一应用程序标签中添加的所述地区标签;
确定属于所述地区标签对应的目标地区的所述第一目标节点;
将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
在一些实施例中,一个节点中包括多个服务器,所述发布条件包括第一目标数量,所述第一目标数量表征在同一个节点中发布所述第一应用程序的服务器的数量,所述第二发布请求还携带所述第一目标数量;
所述响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
响应于所述第二发布请求,在所述第一目标节点中的所述第一目标数量的服务器中,发布所述第一应用程序标签对应的所述第一应用程序。
在一些实施例中,所述响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
向所述配置服务器发送所述第一应用程序的发布结果;
所述配置服务器用于接收所述调度服务器发送的所述发布结果,向所述终端发送所述发布结果,所述发布结果用于显示在所述终端上。
在一些实施例中,所述响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
响应于所述第二发布请求,在所述第一目标节点上创建容器托管对象;
将所述第一应用程序标签对应的所述第一应用程序发布于所述容器托管对象所包括的容器中。
在一些实施例中,所述响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
接收配置服务器发送的第二升级请求,所述第二升级请求携带第二应用程序标签,所述第二升级请求用于指示将所述第一应用程序升级为所述第二应用程序标签对应的第二应用程序,所述第二应用程序标签由终端发送给所述配置服务器;
响应于所述第二升级请求,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述第一升级请求还携带升级方式,所述第二升级请求还携带所述升级方式;
所述响应于所述第二升级请求,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序,包括:
响应于所述第二升级请求,获取所述第二升级请求携带的升级方式;
基于所述升级方式,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述基于所述升级方式,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序,包括:
响应于所述升级方式为原地升级方式,从所述第一目标节点中,确定所述第一应用程序所在的容器托管对象;
从所述第一应用程序所在的容器托管对象中,删除所述第一应用程序所在的容器,并在所述容器托管对象中创建新的容器,将所述第二应用程序标签对应的所述第二应用程序发布于所述新的容器。
在一些实施例中,所述基于所述升级方式,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序,包括:
响应于所述升级方式为重建升级方式,从所述第一目标节点中,确定所述第一应用程序所在的容器托管对象;
删除所述第一应用程序所在的容器托管对象;
在所述第一目标节点中创建新的容器托管对象,将所述第二应用程序标签对应的所述第二应用程序发布于所述新的容器托管对象所包括的容器中。
在一些实施例中,所述响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
接收所述配置服务器发送的第四升级请求,所述第四升级请求携带所述第二应用程序标签和目标应用程序标签;
响应于所述第四升级请求,将所述目标应用程序标签对应的所述目标应用程序升级为所述第二应用程序标签对应的所述第二应用程序;
其中,所述目标应用程序标签是由所述配置服务器基于终端发送的升级条件,从已发布的多个所述第一应用程序的应用程序标签中,确定的满足所述升级条件的应用程序标签。
在一些实施例中,所述响应于所述第四升级请求,将所述目标应用程序标签对应的所述目标应用程序升级为所述第二应用程序标签对应的所述第二应用程序之后,所述应用程序处理方法还包括:
接收所述配置服务器发送的第二回滚请求,所述第二回滚请求至少携带发布所述第二应用程序的节点的第二节点标签,所述第二回滚请求由所述配置服务器基于终端发送的第一回滚请求发送,所述第一回滚请求用于指示将所述第二应用程序还原为所述目标应用程序;
响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序。
在一些实施例中,发布所述第二应用程序的节点包括多个服务器,所述第二回滚请求还携带发布所述第二应用程序的服务器的服务器标签;
所述响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序,包括:
响应于所述第二回滚请求,在所述第二节点标签对应的节点中的所述服务器标签对应的服务器中,删除所述第二应用程序,发布所述目标应用程序。
在一些实施例中,所述第二回滚请求携带所述第二节点标签、第一对象标签和第一容器标签,所述第一对象标签表征所述第二应用程序所在的容器托管对象,所述第一容器标签表征所述容器托管对象中所述第二应用程序所在的容器;
所述响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序,包括:
响应于所述第二回滚请求,从所述第一对象标签对应的容器托管对象中,删除所述第一容器标签对应的容器;
在所述第一对象标签对应的容器托管对象中,创建新的容器,将所述目标应用程序发布于所述新的容器。
在一些实施例中,所述第二回滚请求携带所述第二节点标签、第一对象标签和升级前所述目标应用程序所在的服务器的服务器标签,所述第一对象标签表征所述第二应用程序所在的容器托管对象;
所述响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序,包括:
所述调度服务器响应于所述第二回滚请求,删除所述第一对象标签对应的容器托管对象;
在所述服务器标签对应的服务器中,创建新的容器托管对象,将所述目标应用程序发布于所述新的容器托管对象所包括的容器中。
在一些实施例中,所述响应于所述第二发布请求,将所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
接收所述配置服务器发送的第二更新请求,所述第二更新请求携带第三应用程序标签和配置版本标签,所述第三应用程序标签和所述配置版本标签由终端发送给所述配置服务器,所述第二更新请求用于指示将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件;
所述调度服务器响应于所述第二更新请求,将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件。
在一些实施例中,所述第三应用程序标签对应的应用程序所在的容器托管对象中包括辅助监听容器;所述辅助监听容器用于响应于监听到所述第三应用程序标签对应的应用程序的配置文件更新,向所述第三应用程序标签对应的应用程序发送更新信号;所述第三应用程序标签对应的应用程序用于响应于所述更新信号,载入所述配置版本标签对应的配置文件,按照所述配置版本标签对应的配置文件的配置运行。
在一些实施例中,所述响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
接收配置服务器发送的第一删除请求,所述第一删除请求携带调整数量和第三节点标签,所述第一删除请求由所述配置服务器响应于所述第二目标数量小于所述当前数量,向调度服务器发送,所述调整数量为所述第三节点标签对应的节点上的第一应用程序的当前数量与第二目标数量的差值,所述第二目标数量用于指示将所述第三节点标签对应的节点上的第一应用程序的当前数量调整为所述第二目标数量;
响应于所述第一删除请求,从所述第三节点标签对应的节点上,删除所述调整数量的所述第一应用程序。
在一些实施例中,所述应用程序处理方法还包括:
接收配置服务器发送的第三发布请求,所述第三发布请求携带所述调整数量和第三节点标签,所述第三发布请求由所述配置服务器响应于所述第二目标数量大于所述当前数量,向调度服务器发送;
响应于所述第三发布请求,在所述第三节点标签对应的节点中的所述调整数量的服务器中,发布所述第一应用程序。
在一些实施例中,所述响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
接收配置服务器发送的第三删除请求,所述第三删除请求携带第四应用程序标签,所述第三删除请求用于指示删除所述第四应用程序标签对应的应用程序,所述第四应用程序标签由终端发送给所述配置服务器;
响应于所述第三删除请求,删除所述第四应用程序标签对应的应用程序。
根据本公开实施例的再一方面,提供一种应用程序处理系统,所述应用程序处理系统包括:
配置服务器接收终端发送的第一发布请求,所述第一发布请求携带第一应用程序标签和发布条件,所述发布条件表征发布所述第一应用程序标签对应的第一应用程序的节点应满足的条件;
所述配置服务器响应于所述第一发布请求,向调度服务器发送第二发布请求,所述第二发布请求至少携带所述第一应用程序标签,所述第二发布请求用于指示将所述第一应用程序标签对应的所述第一应用程序按照所述发布条件发布于第一目标节点;
所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
根据本公开实施例的再一方面,提供一种应用程序处理装置,所述应用程序处理装置包括:
第一发布请求接收单元,被配置为执行接收终端发送的第一发布请求,所述第一发布请求携带第一应用程序标签和发布条件,所述发布条件表征发布所述第一应用程序标签对应的第一应用程序的节点应满足的条件;
第一发布请求发送单元,被配置为执行响应于所述第一发布请求,向调度服务器发送第二发布请求,所述第二发布请求至少携带所述第一应用程序标签,所述第二发布请求用于指示将所述第一应用程序标签对应的所述第一应用程序按照所述发布条件发布于第一目标节点;
所述调度服务器用于响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
在一些实施例中,所述发布条件包括地区信息,所述地区信息表征发布所述第一应用程序的节点所属的目标地区;
所述第一发布请求发送单元,被配置为执行:
响应于所述第一发布请求,在所述第一应用程序标签中添加所述地区信息对应的地区标签;
向所述调度服务器发送所述第二发布请求,所述第二发布请求携带添加所述地区标签后的所述第一应用程序标签。
在一些实施例中,所述应用程序处理装置还包括:
结果接收单元,被配置为执行接收所述调度服务器发送的所述发布结果;
第一结果发送单元,被配置为执行向所述终端发送所述发布结果,所述发布结果用于显示在所述终端上。
在一些实施例中,所述应用程序处理装置还包括:
第一升级请求接收单元,被配置为执行接收所述终端发送的第一升级请求,所述第一升级请求携带第二应用程序标签,所述第一升级请求用于指示将所述第一应用程序升级为所述第二应用程序标签对应的第二应用程序;
第一升级请求发送单元,被配置为执行响应于所述第一升级请求,向所述调度服务器发送第二升级请求,所述第二升级请求携带所述第二应用程序标签,所述第二升级请求用于指示将所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序;
所述调度服务器用于响应于所述第二升级请求,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述应用程序处理装置还包括:
第二升级请求接收单元,被配置为执行接收所述终端发送的第三升级请求,所述第三升级请求携带第二应用程序标签和升级条件,所述第三升级请求用于指示将满足所述升级条件的所述第一应用程序升级为所述第二应用程序标签对应的第二应用程序;
应用程序确定单元,被配置为执行响应于所述第三升级请求,从已发布的多个所述第一应用程序的应用程序标签中,确定满足所述升级条件的目标应用程序标签;
第二升级发送接收单元,被配置为执行向所述调度服务器发送第四升级请求,所述第四升级请求携带所述第二应用程序标签和所述目标应用程序标签;
所述调度服务器用于响应于所述第四升级请求,将所述目标应用程序标签对应的所述目标应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述升级条件包括第一升级比例;
所述应用程序确定单元,被配置为执行:
响应于所述第三升级请求,获取已发布的多个所述第一应用程序的第一发布数量;
将所述第一发布数量与所述第一升级比例的乘积,确定为第一升级数量;
从所述多个第一应用程序的应用程序标签中,确定所述第一升级数量的所述目标应用程序标签。
在一些实施例中,所述升级条件包括第二升级比例和第一节点标签;
所述应用程序确定单元,被配置为执行:
响应于所述第三升级请求,获取所述第一节点标签对应的第二发布数量,所述第二发布数量为发布在所述第一节点标签对应的第二目标节点上的所述第一应用程序的数量;
将所述第二发布数量与所述第二升级比例的乘积,确定为第二升级数量;
从所述第一节点标签对应的多个第一应用程序的应用程序标签中,确定所述第二升级数量的目标应用程序标签。
在一些实施例中,所述应用程序处理装置还包括:
第一回滚请求接收单元,被配置为执行接收所述终端发送的第一回滚请求,所述第一回滚请求用于指示将所述第二应用程序还原为所述目标应用程序;
回滚请求发送单元,被配置为执行响应于所述第一回滚请求,向所述调度服务器发送第二回滚请求,所述第二回滚请求至少携带发布所述第二应用程序的节点的第二节点标签;
所述调度服务器用于响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序。
在一些实施例中,所述回滚请求发送单元,被配置为执行:
响应于所述第一回滚请求,在所述第二应用程序所在的容器托管对象与升级前所述目标应用程序所在的容器托管对象相同的情况下,获取第一对象标签和第一容器标签;所述第一对象标签表征所述第二应用程序所在的容器托管对象,所述第一容器标签表征所述容器托管对象中所述第二应用程序所在的容器;
向所述调度服务器发送携带所述第二节点标签、所述第一对象标签和所述第一容器标签的第二回滚请求。
在一些实施例中,所述回滚请求发送单元,被配置为执行:
响应于所述第一回滚请求,在所述第二应用程序所在的容器托管对象与升级前所述目标应用程序所在的容器托管对象不同的情况下,获取第一对象标签以及升级前所述目标应用程序所在的服务器的服务器标签,所述第一对象标签表征所述第二应用程序所在的容器托管对象;
向所述调度服务器发送携带所述第二节点标签、所述第一对象标签和所述服务器标签的第二回滚请求。
在一些实施例中,所述应用程序处理装置还包括:
第一更新请求接收单元,被配置为执行接收所述终端发送的第一更新请求,所述第一更新请求携带第三应用程序标签和配置版本标签,所述第一更新请求用于指示将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件;
更新请求发送单元,被配置为执行响应于所述第一更新请求,向所述调度服务器发送第二更新请求,所述第二更新请求携带所述第三应用程序标签和所述配置版本标签对应的配置文件;
所述调度服务器用于响应于所述第二更新请求,将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件。
在一些实施例中,所述第三应用程序标签对应的应用程序所在的容器托管对象中包括辅助监听容器;所述辅助监听容器用于响应于监听到所述第三应用程序标签对应的应用程序的配置文件更新,向所述第三应用程序标签对应的应用程序发送更新信号;所述第三应用程序标签对应的应用程序用于响应于所述更新信号,载入所述配置版本标签对应的配置文件,按照所述配置版本标签对应的配置文件的配置运行。
在一些实施例中,所述应用程序处理装置还包括:
调整请求接收单元,被配置为执行接收所述终端发送的调整请求,所述调整请求携带第三节点标签和第二目标数量,所述调整请求用于指示将所述第三节点标签对应的节点上的第一应用程序的当前数量调整为所述第二目标数量;
调整数量确定单元,被配置为执行响应于所述调整请求,将所述第二目标数量与所述当前数量的差值,确定为调整数量;
第一删除请求发送单元,被配置为执行响应于所述第二目标数量小于所述当前数量,向调度服务器发送第一删除请求,所述第一删除请求携带所述调整数量和所述第三节点标签;
所述调度服务器用于响应于所述第一删除请求,从所述第三节点标签对应的节点上,删除所述调整数量的所述第一应用程序。
在一些实施例中,所述应用程序处理装置还包括:
第二发布请求发送单元,被配置为执行响应于所述第二目标数量大于所述当前数量,向调度服务器发送第三发布请求,所述第三发布请求携带所述调整数量和所述第三节点标签;
所述调度服务器用于响应于所述第三发布请求,在所述第三节点标签对应的节点中的所述调整数量的服务器中,发布所述第一应用程序。
在一些实施例中,所述应用程序处理装置还包括:
第一删除请求接收单元,被配置为执行接收所述终端发送的第二删除请求,所述第二删除请求携带第四应用程序标签,所述第二删除请求用于指示删除所述第四应用程序标签对应的应用程序;
第二删除请求发送单元,被配置为执行响应于所述第二删除请求,向所述调度服务器发送第三删除请求,所述第三删除请求携带所述第四应用程序标签;
所述调度服务器用于响应于所述第三删除请求,删除所述第四应用程序标签对应的应用程序。
根据本公开实施例的再一方面,提供一种应用程序处理装置,所述应用程序处理装置包括:
第二发布请求接收单元,被配置为执行接收配置服务器发送的第二发布请求,所述第二发布请求至少携带第一应用程序标签,所述第二发布请求用于指示将所述第一应用程序标签对应的第一应用程序按照发布条件发布于第一目标节点,所述发布条件表征发布所述第一应用程序标签对应的所述第一应用程序的节点应满足的条件,且所述发布条件和所述第一应用程序标签由终端发送给所述配置服务器;
第一应用程序发布单元,被配置为执行响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
在一些实施例中,所述第一应用程序发布单元,被配置为执行:
响应于所述第二发布请求,获取所述第一应用程序标签中添加的所述地区标签;
确定属于所述地区标签对应的目标地区的所述第一目标节点;
将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
在一些实施例中,一个节点中包括多个服务器,所述发布条件包括第一目标数量,所述第一目标数量表征在同一个节点中发布所述第一应用程序的服务器的数量,所述第二发布请求还携带所述第一目标数量;
所述第一应用程序发布单元,被配置为执行:
响应于所述第二发布请求,在所述第一目标节点中的所述第一目标数量的服务器中,发布所述第一应用程序标签对应的所述第一应用程序。
在一些实施例中,所述应用程序处理装置还包括:
第二结果发送单元,被配置为执行向所述配置服务器发送所述第一应用程序的发布结果;
所述配置服务器用于接收所述调度服务器发送的所述发布结果,向所述终端发送所述发布结果,所述发布结果用于显示在所述终端上。
在一些实施例中,所述第一应用程序发布单元,被配置为执行:
响应于所述第二发布请求,在所述第一目标节点上创建容器托管对象;
将所述第一应用程序标签对应的所述第一应用程序发布于所述容器托管对象所包括的容器中。
在一些实施例中,所述应用程序处理装置还包括:
第三升级请求接收单元,被配置为执行接收配置服务器发送的第二升级请求,所述第二升级请求携带第二应用程序标签,所述第二升级请求用于指示将所述第一应用程序升级为所述第二应用程序标签对应的第二应用程序,所述第二应用程序标签由终端发送给所述配置服务器;
第一应用程序升级单元,被配置为执行响应于所述第二升级请求,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述第一升级请求还携带升级方式,所述第二升级请求还携带所述升级方式;
所述第一应用程序升级单元,包括:
升级方式获取子单元,被配置为执行响应于所述第二升级请求,获取所述第二升级请求携带的升级方式;
应用程序升级子单元,被配置为执行基于所述升级方式,将所述第一目标节点中的所述第一应用程序升级为所述第二应用程序标签对应的所述第二应用程序。
在一些实施例中,所述应用程序升级子单元,被配置为执行:
响应于所述升级方式为原地升级方式,从所述第一目标节点中,确定所述第一应用程序所在的容器托管对象;
从所述第一应用程序所在的容器托管对象中,删除所述第一应用程序所在的容器,并在所述容器托管对象中创建新的容器,将所述第二应用程序标签对应的所述第二应用程序发布于所述新的容器。
在一些实施例中,所述应用程序升级子单元,被配置为执行:
响应于所述升级方式为重建升级方式,从所述第一目标节点中,确定所述第一应用程序所在的容器托管对象;
删除所述第一应用程序所在的容器托管对象;
在所述第一目标节点中创建新的容器托管对象,将所述第二应用程序标签对应的所述第二应用程序发布于所述新的容器托管对象所包括的容器中。
在一些实施例中,所述应用程序处理装置还包括:
第四升级请求接收单元,被配置为执行接收所述配置服务器发送的第四升级请求,所述第四升级请求携带所述第二应用程序标签和所述目标应用程序标签;
第二应用程序升级单元,被配置为执行响应于所述第四升级请求,将所述目标应用程序标签对应的所述目标应用程序升级为所述第二应用程序标签对应的第二应用程序;
其中,所述目标应用程序标签是由所述配置服务器基于终端发送的第二应用程序标签和升级条件,从已发布的多个所述第一应用程序的应用程序标签中,确定的满足所述升级条件的目标应用程序标签。
在一些实施例中,所述应用程序处理装置还包括:
第二回滚请求接收单元,被配置为执行接收所述配置服务器发送的第二回滚请求,所述第二回滚请求至少携带发布所述第二应用程序的节点的第二节点标签,所述第二回滚请求由所述配置服务器基于终端发送的第一回滚请求发送,所述第一回滚请求用于指示将所述第二应用程序还原为所述目标应用程序;
应用程序回滚单元,被配置为执行响应于所述第二回滚请求,在所述第二节点标签对应的节点中,删除所述第二应用程序,发布所述目标应用程序。
在一些实施例中,发布所述第二应用程序的节点包括多个服务器,所述第二回滚请求还携带发布所述第二应用程序的服务器的服务器标签;
所述应用程序回滚单元,被配置为执行:
响应于所述第二回滚请求,在所述第二节点标签对应的节点中的所述服务器标签对应的服务器中,删除所述第二应用程序,发布所述目标应用程序。
在一些实施例中,所述第二回滚请求携带所述第二节点标签、第一对象标签和第一容器标签,所述第一对象标签表征所述第二应用程序所在的容器托管对象,所述第一容器标签表征所述容器托管对象中所述第二应用程序所在的容器;
所述应用程序回滚单元,被配置为执行:
响应于所述第二回滚请求,从所述第一对象标签对应的容器托管对象中,删除所述第一容器标签对应的容器;
在所述第一对象标签对应的容器托管对象中,创建新的容器,将所述目标应用程序发布于所述新的容器。
在一些实施例中,所述第二回滚请求携带所述第二节点标签、第一对象标签和升级前所述目标应用程序所在的服务器的服务器标签,所述第一对象标签表征所述第二应用程序所在的容器托管对象;
所述应用程序回滚单元,被配置为执行:
所述调度服务器响应于所述第二回滚请求,删除所述第一对象标签对应的容器托管对象;
在所述服务器标签对应的服务器中,创建新的容器托管对象,将所述目标应用程序发布于所述新的容器托管对象所包括的容器中。
在一些实施例中,所述应用程序处理装置还包括:
第二更新请求接收单元,被配置为执行接收所述配置服务器发送的第二更新请求,所述第二更新请求携带第三应用程序标签和配置版本标签,所述第三应用程序标签和所述配置版本标签由终端发送给所述配置服务器,所述第二更新请求用于指示将所述第三应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件;
配置文件更新单元,被配置为执行所述调度服务器响应于所述第二更新请求,将所述第一应用程序标签对应的应用程序的配置文件更新为所述配置版本标签对应的配置文件。
在一些实施例中,所述第三应用程序标签对应的应用程序所在的容器托管对象中包括辅助监听容器;所述辅助监听容器用于响应于监听到所述第三应用程序标签对应的应用程序的配置文件更新,向所述第三应用程序标签对应的应用程序发送更新信号;所述第三应用程序标签对应的应用程序用于响应于所述更新信号,载入所述配置版本标签对应的配置文件,按照所述配置版本标签对应的配置文件的配置运行。
在一些实施例中,所述应用程序处理装置还包括:
第二删除请求接收单元,被配置为执行接收配置服务器发送的第一删除请求,所述第一删除请求携带调整数量和第三节点标签,所述第一删除请求由所述配置服务器响应于所述第二目标数量小于所述当前数量,向调度服务器发送,所述调整数量为所述第三节点标签对应的节点上的第一应用程序的当前数量与第二目标数量的差值,所述第二目标数量用于指示将所述第三节点标签对应的节点上的第一应用程序的当前数量调整为所述第二目标数量;
第一应用程序删除单元,被配置为执行响应于所述第一删除请求,从所述第三节点标签对应的节点上,删除所述调整数量的所述第一应用程序。
在一些实施例中,所述应用程序处理装置还包括:
第二发布请求接收单元,被配置为执行接收配置服务器发送的第三发布请求,所述第三发布请求携带所述调整数量和第三节点标签,所述第三发布请求由所述配置服务器响应于所述第二目标数量大于所述当前数量,向调度服务器发送;
第二应用程序发布单元,被配置为执行响应于所述第三发布请求,在所述第三节点标签对应的节点中的所述调整数量的服务器中,发布所述第一应用程序。
在一些实施例中,所述应用程序处理装置还包括:
第三删除请求接收单元,被配置为执行接收配置服务器发送的第三删除请求,所述第三删除请求携带第四应用程序标签,所述第三删除请求用于指示删除所述第四应用程序标签对应的应用程序,所述第四应用程序标签由终端发送给所述配置服务器;
第二应用程序删除单元,被配置为执行响应于所述第三删除请求,删除所述第四应用程序标签对应的应用程序。
根据本公开实施例的再一方面,提供了一种服务器,所述服务器包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的存储器;
其中,所述一个或多个处理器被配置为执行上述方面所述的应用程序处理方法。
根据本公开实施例的再一方面,提供了一种服务器,所述服务器包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的存储器;
其中,所述一个或多个处理器被配置为执行上述方面所述的应用程序处理方法。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述方面所述的应用程序处理方法。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述方面所述的应用程序处理方法。
根据本公开实施例的再一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被处理器执行以实现上述方面所述的应用程序处理方法。
根据本公开实施例的再一方面,提供一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被处理器执行以实现上述方面所述的应用程序处理方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开实施例提供了一种新型的应用程序发布平台,借助原有的调度服务器的调度功能,并在调度服务器的基础上进行了扩展,增加了配置服务器,配置服务器和调度服务器相互配合,按照终端发送的应用程序的发布条件实现了应用程序的发布,从而保证应用程序的发布者能够灵活配置应用程序的发布方式,指示调度服务器按照所配置的发布方式来进行应用程序的发布,提高了应用程序发布的可控性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种实施环境的示意图。
图2是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图3是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图4是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图5是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图6是根据一示例性实施例示出的一种发布应用程序的示意图。
图7是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图8是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图9是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图10是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图11是根据一示例性实施例示出的一种应用程序处理方法的流程图。
图12是根据一示例性实施例示出的一种应用程序发布升级平台的架构图。
图13是根据一示例性实施例示出的一种应用程序处理装置的框图。
图14是根据一示例性实施例示出的一种应用程序处理装置的框图。
图15是根据一示例性实施例示出的一种服务器的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图说明中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等),均为经用户授权或者经过各方充分授权的信息。
图1是根据一示例性实施例示出的一种实施环境的示意图,参见图1,该实施环境包括应用程序发布升级平台100,该应用程序发布升级平台100包括终端101、配置服务器102、调度服务器103和节点104。
终端101为台式电脑、手提电脑、平板电脑、智能手机或者其他电子设备。终端101具有支持终端101对应的发布者控制应用程序的发布进程的功能。
终端101与配置服务器102通过有线或无线通信方式进行直接或间接的连接,配置服务器102为终端101的后台服务器,为终端101面向发布者提供控制应用程序的发布进程的功能提供后台服务。配置服务器102为一台服务器、多台服务器、云服务器、云计算平台或者虚拟化中心,本公开对此不加以限定。
配置服务器102与调度服务器103通过有线或无线通信方式进行直接或间接的连接,配置服务器102基于终端101发送的请求,指示调度服务器103进行应用程序的发布。调度服务器103为一台服务器、多台服务器、云服务器、云计算平台或者虚拟化中心,本公开对此不加以限定。
在一些实施例中,节点104的数量为多个,调度服务器103从多个节点104中选择至少一个节点104来发布应用程序。调度服务器103与节点104通过有线或无线通信方式进行直接或间接的连接,节点104由多台服务器构成,调度服务器103基于配置服务器102的指示,在节点104所包括的服务器上发布应用程序。
本公开提供的应用程序处理方法,能够应用在具有应用程序发布需求的任一场景中。
例如,在以边缘计算为基础的应用程序发布场景中,基于边缘计算构建的网络系统中包括多个节点,该多个节点分布在各个地区,应用程序会发布在各个地区的节点上。对于一个地区来说,应用程序在属于该地区的节点上运行,为位于该地区内的用户终端提供快速的计算服务。其中,一个节点通常包括多台服务器,应用程序发布在一个节点中的一台或者多台服务器中。用户终端向与该用户终端属于同一地区的节点中的服务器发送请求,指示该服务器通过运行应用程序来进行数据处理,并向用户终端返回相应的处理结果。
对于不同地区来说,同一时间需要处理的请求的数量是不同的,而每台服务器的计算资源是有限的,每台服务器同一时间所能处理的请求数量也是有限的,每个地区的节点中发布应用程序的服务器的数量应与该地区同一时间需要处理的请求的数量相匹配,才能为该地区内的用户终端提供更加稳定的计算服务,因此,对于属于任一地区的节点,应用程序的发布者常常有将应用程序发布在该节点中指定数量的服务器上的需求。基于本公开提供的应用程序处理方法,应用程序的发布者可以通过终端指定发布应用程序的目标地区和每个目标地区中发布应用程序的服务器的目标数量,触发终端向配置服务器发送相应的发布请求;配置服务器响应于终端发送的发布请求,指示调度服务器在属于目标地区的节点中的目标数量的服务器上,发布应用程序。
图2是根据一示例性实施例示出的一种应用程序处理方法的流程图,参见图2,该应用程序处理方法包括以下步骤:
201、配置服务器接收终端发送的第一发布请求,第一发布请求携带第一应用程序标签和发布条件,发布条件表征发布第一应用程序标签对应的第一应用程序的节点应满足的条件。
上述终端是指应用程序的发布者对应的终端,应用程序的发布者通过在该终端上执行操作,来控制应用程序的发布进程。
第一应用程序标签表征待发布的任一应用程序。第一应用程序可用于提供各种功能,例如,第一应用程序用于提供视频处理、图像处理或者语音识别等功能,本公开对第一应用程序的功能不加以限定。
202、配置服务器响应于第一发布请求,向调度服务器发送第二发布请求,第二发布请求至少携带第一应用程序标签,第二发布请求用于指示将第一应用程序标签对应的第一应用程序发布于满足发布条件的第一目标节点。
配置服务器响应于携带第一应用程序标签和发布条件的第一发布请求,向调度服务器发送第二发布请求,以指示调度服务器将第一应用程序标签对应的第一应用程序发布于满足发布条件的第一目标节点。
203、调度服务器响应于第二发布请求,将第一应用程序标签对应的第一应用程序发布于第一目标节点。
调度服务器基于第二发布请求的指示,将第一应用程序标签对应的第一应用程序发布于满足发布条件的第一目标节点。
需要说明的是,上述由配置服务器执行的步骤可以构成本公开的一个实施例,由调度服务器执行的步骤可以构成本公开的另一个实施例,在此不再赘述。
本公开实施例提供了一种新型的应用程序发布平台,借助原有的调度服务器的调度功能,并在调度服务器的基础上进行了扩展,增加了配置服务器,配置服务器和调度服务器相互配合,按照终端指示的应用程序的发布条件实现了应用程序的发布,从而保证应用程序的发布者能够灵活配置应用程序的发布方式,指示调度服务器按照所配置的发布方式来进行应用程序的发布,提高了应用程序发布的可控性。
图3是根据一示例性实施例示出的一种应用程序处理方法的流程图,在本公开实施例中,以按照发布条件包括的地区信息,在属于该地区信息表征的目标地区的节点上发布应用程序为例进行说明,参见图3,该应用程序处理方法包括以下步骤:
301、终端显示发布配置界面,基于该发布配置界面,获取第一应用程序标签和地区信息,向配置服务器发送携带第一应用程序标签和该地区信息的第一发布请求。
其中,地区信息表征发布第一应用程序标签对应的第一应用程序的节点所属的目标地区。在一些实施例中,地区信息包括目标地区的地区名称。在一些实施例中,节点属于目标地区是指该节点所在的地理位置位于目标地区内。
第一应用程序的发布者通过在终端显示的发布配置界面上执行操作,配置第一应用程序的发布条件。在一些实施例中,发布配置界面包括应用程序选项和配置选项,第一应用程序的发布者可以通过对应用程序选项和配置选项执行操作,来配置相应的应用程序的发布条件。其中,每个应用程序选项代表一个应用程序,终端响应于对第一应用程序选项的触发操作,获取该第一应用程序选项对应的第一应用程序标签;响应于对配置选项的触发操作,获取被触发的配置选项对应的信息作为发布条件。
在一些实施例中,配置选项包括地区选项,地区选项包括多个不同地区的地区信息,每个地区部署有至少一个可发布第一应用程序的节点,发布者通过选中地区选项中的至少一个地区信息来配置发布条件,终端将被选中的地区信息作为发布条件。
需要说明的是,若发布者选中了一个地区信息,则发布条件包括一个地区信息;若发布者选中了多个地区信息,则发布条件包括多个地区信息,本公开实施例对发布条件包括的地区信息的数量不加以限定。一个地区信息表征的地区代表地理维度上的一块区域。在一些实施例中,地区按照行政区划来划分,例如,按照省来划分,或者,按照市来划分,或者,按照更细维度的乡镇来划分;在一些实施例中,地区按照节点的部署情况来划分,例如,将一个节点提供服务的最大范围内的区域作为一个地区,本公开对地区的划分方式不加以限定。
需要说明的是,终端显示包括多个地区信息的地区选项之前,还向配置服务器发送节点列表获取请求,该节点列表获取请求用于指示获取节点标签列表,节点标签列表至少包括多个节点的节点标签;终端接收配置服务器返回的节点标签列表;在发布配置界面中的配置选项包括地区选项的情况下,终端确定节点标签列表中的多个节点标签对应的地区信息,显示包括该多个地区信息的地区选项。在一些实施例中,节点标签列表包括多个地区信息以及每个地区信息对应的节点标签,一个地区信息对应至少一个节点标签,表示一个地区部署有至少一个节点标签对应的节点,终端从该节点标签列表中获取多个地区信息,显示包括该多个地区信息的地区选项。在一些实施例中,一个地区包括一个节点,该节点包括的多台服务器均部署在该地区内,节点所属的地区的地区信息能够表征该节点,节点的节点标签与该节点所属的地区的地区信息相同,终端从节点标签列表中获取多个节点标签,显示包括该多个节点标签的地区选项。
302、配置服务器响应于第一发布请求,在第一应用程序标签中添加该地区信息对应的地区标签。
在一些实施例中,发布条件包括地区信息,第一发布请求携带第一应用程序标签和地区信息。配置服务器响应于第一发布请求,为第一应用程序标签添加地区信息对应的地区标签,以通过所添加的地区标签指示在该地区标签对应的目标地区的节点上发布第一应用程序。
在一些实施例中,配置服务器将地区信息作为地区标签。在一些实施例中,配置服务器存储有地区信息和地区标签的对应关系表,配置服务器基于第一发布请求携带的地区信息,从该对应关系表中获取该地区信息对应的地区标签。其中,一个地区对应一个地区标签,一个地区对应的地区标签用于唯一表征该地区。地区标签为具有标识性的字符或字符串,其中,字符或者字符串中包含的字符为数字、英文字符或者中文字符,本公开实施例对地区标签的表现形式不加以限定。配置服务器将地区信息对应的地区标签添加至第一应用程序标签中,来指示第一应用程序标签对应的第一应用程序应发布在属于该地区信息表征的地区的节点中。例如,第一应用程序标签为“App”,该地区信息对应的地区标签为“A”,则配置服务器为第一应用程序标签添加该地区信息对应的地区标签,得到添加地区标签后的第一应用程序标签“App-A”。
上述过程是以第一发布请求携带一个地区信息,第二发布请求携带添加该地区信息对应的地区标签后的第一应用程序标签为例进行说明的。在一些实施例中,若第一发布请求携带多个地区信息,相应的,第二发布请求携带多个添加地区信息对应的地区标签后的第一应用程序。例如,第一发布请求携带3个地区信息,3个地区信息对应的地区标签分别为“A”、“B”和“C”,配置服务器分别将3个地区信息对应的地区标签添加至第一应用程序标签,得到3个添加地区标签后的第一应用程序标签,3个添加地区标签后的第一应用程序标签分别为“App-A”、“App-B”和“App-C”。
303、配置服务器向调度服务器发送第二发布请求,该第二发布请求携带添加地区标签后的第一应用程序标签。
配置服务器向调度服务器发送第二发布请求,该第二发布请求携带的第一应用程序标签中添加了地区标签,从而能够通过该地区标签指示调度服务器在该地区标签对应的目标地区的节点上发布第一应用程序。
上述技术方案,在发布条件包括地区信息的情况下,通过在第一应用程序标签中添加地区标签,来表征第一应用程序应发布在位于地区标签对应的目标地区的节点上,从而能够支持在指定地区发布应用程序,提高了应用程序发布的灵活性。
304、调度服务器响应于第二发布请求,获取第一应用程序标签中添加的地区标签,确定属于该地区标签对应的目标地区的第一目标节点。
在一些实施例中,调度服务器存储有地区标签与节点标签的对应关系,任一节点标签对应的节点属于与该节点标签对应的地区标签所指示的地区,相应的,上述步骤304包括:调度服务器从地区标签与节点标签的对应关系中,确定获取到的地区标签对应的节点标签,将所确定的节点标签对应的节点确定为第一目标节点。
在一些实施例中,一个地区包括一个节点,目标地区的地区标签与属于该目标地区的节点的节点标签相同,相应的,上述步骤304包括:调度服务器将获取到的地区标签对应的节点确定为第一目标节点。
305、调度服务器将第一应用程序标签对应的第一应用程序发布于第一目标节点。
调度服务器基于第一应用程序标签,获取第一应用程序标签对应的第一应用程序。在一些实施例中,调度服务器对应存储了第一应用程序和第一应用程序标签,调度服务器基于第一应用程序标签,从本地存储中获取第一应用程序标签对应的第一应用程序。在一些实施例中,调度服务器存储的第一应用程序和第一应用程序标签是终端上传的;在一些实施例中,调度服务器存储的第一应用程序和第一应用程序标签是终端发送至配置服务器后,配置服务器发送给调度服务器的。在一些实施例中,终端向配置服务器发送了第一应用程序和第一应用程序标签,配置服务器对应存储了第一应用程序和第一应用程序标签,调度服务器基于第一应用程序标签,从配置服务器获取该第一应用程序标签对应的第一应用程序。
在一些实施例中,调度服务器通过运行Kubernetes(一种用于管理容器化应用的容器集群管理系统),以容器的形式发布应用程序,相应的,上述步骤305包括:调度服务器在第一目标节点上创建容器托管对象;将第一应用程序发布于该容器托管对象所包括的容器中。其中,容器托管对象在Kubernetes中也称为Pod(豆荚)。其中,一个容器包括一个第一应用程序。
其中,第一目标节点包括多个服务器,若待发布于第一目标节点的第一应用程序的数量为1,则调度服务器在第一目标节点的一个服务器上创建容器托管对象,将第一应用程序发布于该容器托管对象所包括的容器中。在一些实施例中,调度服务器在第一目标节点的任一服务器上创建容器托管对象;或者,调度服务器从第一目标节点包括的多个服务器中,确定剩余的计算资源最多的服务器,在该服务器上创建容器托管对象,本公开对调度服务器确定发布应用程序的服务器的方式不加以限定。
需要说明的是,在上述步骤304至步骤305中,调度服务器在一个属于目标地区的第一目标节点上发布了一个添加该目标地区的地区标签后的第一应用程序。若第二发布请求携带多个添加地区标签后的第一应用程序标签,且每个第一应用程序标签中添加的地区标签对应的地区不同,则对于每个添加地区标签后的第一应用程序标签,调度服务器均通过与上述步骤304至步骤305同理的过程进行应用程序的发布,在此不再赘述。
上述技术方案,按照第一应用程序标签中添加的地区标签的指示,将第一应用程序发布在指定地区的节点上,提高了应用程序发布的灵活性。
图4是根据一示例性实施例示出的一种应用程序处理方法的流程图,在本公开实施例中,以按照发布条件包括的第一目标数量,在同一节点上发布应用程序为例进行说明,参见图4,该应用程序处理方法包括以下步骤:
401、终端显示发布配置界面,基于该发布配置界面,获取第一目标数量和第一应用程序标签,向配置服务器发送携带第一应用程序标签和该第一目标数量的第一发布请求。
在一些实施例中,发布配置界面包括应用程序选项和配置选项,终端响应于对第一应用程序选项的触发操作,获取该第一应用程序选项对应的第一应用程序标签。配置选项包括数量选项,数量选项为输入框形式的选项,发布者通过在数量选项中输入数值来配置发布条件,终端将数量选项中的数值作为第一目标数量,得到发布条件。其中,第一目标数量表征在同一个节点中发布第一应用程序的服务器的数量。在一些实施例中,配置选项包括一个数量选项,相应的,发布条件包括一个第一目标数量,从该数量选项中获取的第一目标数量表征每个节点中发布第一应用程序的服务器的数量。在一些实施例中,配置选项包括多个数量选项,其中,一个数量选项与一个可发布第一应用程序的节点相对应,相应的,发布条件包括多个第一目标数量,且一个第一目标数量与一个节点相对应,从一个数量选项中获取的第一目标数量表征该数量选项对应的节点中发布第一应用程序的服务器的数量。
需要说明的是,在发布配置界面中的配置选项包括多个节点对应的数量选项的情况下,终端显示发布配置界面之前,还向配置服务器发送节点列表获取请求,该节点列表获取请求用于指示获取节点标签列表,节点标签列表至少包括多个节点的节点标签;终端接收配置服务器返回的节点标签列表;获取该节点标签列表包括的每个节点标签,在发布配置界面中对应显示节点标签和该节点标签对应的数量选项。
402、配置服务器响应于第一发布请求,向调度服务器发送第二发布请求,该第二发布请求携带第一应用程序标签和第一目标数量。
若第一发布请求携带一个第一目标数量,则配置服务器向调度服务器发送携带该第一目标数量的第二发布请求。若第一发布请求携带多个第一目标数量,则配置服务器向调度服务器发送携带该多个第一目标数量的第二发布请求,其中,多个第一目标数量分别与多个节点对应,一个第一目标数量对应一个节点。
403、调度服务器响应于第二发布请求,在第一目标节点中的第一目标数量的服务器中,发布第一应用程序标签对应的第一应用程序。
调度服务器从第一目标节点包括的多个服务器中,确定第一目标数量的服务器;对于第一目标数量的服务器中的任一服务器,调度服务器在该服务器上创建容器托管对象,获取第一应用程序标签对应的第一应用程序;将第一应用程序发布于该容器托管对象所包括的容器中。例如,第一目标数量为3,调度服务器从第一目标节点中确定3个服务器,在该3个服务器中的每个服务器上均发布一个第一应用程序。
上述技术方案,支持指定同一节点中发布应用程序的服务器的数量,能够在同一节点中发布指定数量的应用程序,进一步提高了应用程序发布的灵活性。
图5是根据一示例性实施例示出的一种应用程序处理方法的流程图,在本公开实施例中,以按照发布条件包括的地区信息和地区信息对应的发布数量,在属于地区信息表征的目标地区的节点上发布应用程序为例进行说明,参见图5,该应用程序处理方法包括以下步骤:
501、终端显示发布配置界面,基于该发布配置界面,获取第一应用程序标签和发布条件,向配置服务器发送携带第一应用程序标签和该发布条件的第一发布请求,该发布条件包括地区信息和地区信息对应的发布数量。
在一些实施例中,发布配置界面包括应用程序选项和配置选项,终端响应于对第一应用程序选项的触发操作,获取该第一应用程序选项对应的第一应用程序标签。配置选项包括地区选项以及地区选项包括的每个地区信息对应的数量选项,相应的,发布条件包括地区信息和地区信息对应的发布数量,其中,发布数量表征在属于该地区信息表征的目标地区的节点中发布第一应用程序的服务器的数量。例如,地区选项包括A地区、B地区和C地区,数量选项包括A地区对应的数量选项、B地区对应的数量选项和C地区对应的数量选项。发布者先选中地区选项中的多个地区信息中的至少一个地区信息,对于被选中的至少一个地区信息中的任一地区信息,终端显示该地区信息对应的数量选项,发布者在该地区信息对应的数量选项中输入数值,终端将该地区信息对应的数量选项中的数值作为该地区信息对应的发布数量,进而终端将获取到的至少一个地区信息以及至少一个地区信息中每个地区信息对应的发布数量,作为发布条件。需要说明的是,若发布者选中了一个地区信息,则发布条件包括该地区信息以及该地区信息对应的发布数量;若发布者选中了多个目标地区,则发布条件包括多个地区信息以及多个发布数量,其中,一个地区信息与一个发布数量相对应。
在一些实施例中,一个地区包括一个节点,该节点能够代表该地区,节点标签能够表征该节点标签对应的节点所属的地区,也即是,地区可由节点标签来表征,地区标签可以替换为节点标签,第一发布请求中的发布条件包括的地区信息可由节点标签来表征。例如,参见图6,对于第一应用程序标签为“App”的第一应用程序,发布者指示A地区对应的发布数量为1,B地区对应的发布数量为2,C地区对应的发布数量为3,若A地区由节点标签为“A”的节点也即是由节点A来代表,B地区由节点标签为“B”的节点也即是由节点B来代表;C地区由节点标签为“C”的节点也即是由节点C来代表,则发布者指示A地区对应的发布数量为1,B地区对应的发布数量为2,C地区对应的发布数量为3,也即是指示节点A对应的发布数量为1、节点B对应的发布数量为2以及节点C对应的发布数量为3,相应的,终端向配置服务器发送的第一发布请求携带第一应用程序标签“App”、节点标签“A”对应的发布数量1、节点标签“B”对应的发布数量2以及节点标签“C”对应的发布数量3。
502、配置服务器响应于第一发布请求,在第一应用程序标签中添加该地区信息对应的地区标签。
步骤502与步骤302同理,在此不再赘述。
503、配置服务器从第一发布请求中获取发布数量,向调度服务器发送第二发布请求,该第二发布请求携带添加地区标签后的第一应用程序标签以及该发布数量。
上述过程是以第一发布请求携带一个地区信息,第二发布请求携带添加地区标签后的第一应用程序标签和一个发布数量为例进行说明的。在一些实施例中,若第一发布请求携带第一应用程序标签、多个地区信息和每个地区信息对应的发布数量,相应的,第二发布请求携带多个添加地区标签后的第一应用程序标签和多个发布数量,其中,一个添加地区标签后的第一应用程序标签与一个发布数量相对应,并且,对于任一对添加地区标签后的第一应用程序标签和发布数量,该第一应用程序标签中添加的地区标签对应的目标地区与该发布数量对应的地区信息所表征的目标地区相同。
例如,继续参见图6,地区标签替换为节点标签,目标地区由节点标签来表征,第一发布请求携带第一应用程序标签为“App”的第一应用程序、节点标签“A”对应的发布数量1、节点标签“B”对应的发布数量2以及节点标签“C”对应的发布数量3,则配置服务器分别将3个节点标签添加至第一应用程序标签中,得到的3个添加节点标签后的第一应用程序标签,分别为“App-A”、“App-B”和“App-C”,第二发布请求携带添加节点标签后的第一应用程序标签“App-A”以及对应的发布数量1、添加节点标签后的第一应用程序标签“App-B”以及对应的发布数量2、添加节点标签后的第一应用程序标签“App-C”以及对应的发布数量3,用于指示在节点标签为“A”的节点上发布1个第一应用程序,在节点标签为“B”的节点上发布2个第一应用程序,在节点标签为“C”的节点上发布3个第一应用程序。
上述技术方案,发布条件还包括每个目标地区对应的发布数量,通过发布数量来表征在每个目标地区的节点中应发布应用程序的服务器的数量,从而支持在指定地区的节点中发布指定数量的应用程序,进一步提高了应用程序发布的灵活性。
504、调度服务器响应于第二发布请求,获取第一应用程序标签中添加的地区标签,确定属于该地区标签对应的目标地区的第一目标节点。
步骤504与步骤304同理,在此不再赘述。
505、调度服务器从第二发布请求中获取发布数量,在第一目标节点中的该发布数量的服务器中,发布第一应用程序标签对应的第一应用程序。
调度服务器从第一目标节点包括的多个服务器中,确定该发布数量的服务器;对于该发布数量的服务器中的任一服务器,调度服务器在该服务器上创建容器托管对象,获取第一应用程序标签对应的第一应用程序;将第一应用程序发布于该容器托管对象所包括的容器中。
例如,继续参见图6,第二发布请求携带添加节点标签后的第一应用程序标签“App-A”以及对应的发布数量1、添加节点标签后的第一应用程序标签“App-B”以及对应的发布数量2、添加节点标签后的第一应用程序标签“App-C”以及对应的发布数量3,调度服务器响应于该第二发布请求,确定“App-A”对应的第一目标节点为节点A,在节点A中的一个服务器上发布第一应用程序;确定“App-B”对应的第一目标节点为节点B,在节点B中的2个服务器上发布第一应用程序;确定“App-C”对应的第一目标节点为节点C,在节点C中的3个服务器上发布第一应用程序。其中,一个服务器上发布一个第一应用程序。
需要说明的是,上述实施例是以第二发布请求携带第一应用程序和发布数量为例进行说明的。在一些实施例中,配置服务器响应于第一发布请求,对于第一发布请求携带的任一地区信息,循环执行在第一发布请求携带的第一应用程序标签中添加该地区信息对应的地区标签的步骤,直至得到发布数量的添加该地区信息对应的地区标签后的第一应用程序,相应的,配置服务器向调度服务器发送的第二发布请求携带该地区信息对应的发布数量的添加该地区信息对应的地区标签后的第一应用程序标签;调度服务器响应于第二发布请求,对于每个第一应用程序标签,均获取该第一应用程序标签中添加的地区标签,确定属于该地区标签对应的目标地区的第一目标节点,将该第一应用程序标签对应的第一应用程序发布于该第一目标节点。
需要说明的是,在上述步骤504至步骤505中,调度服务器在一个属于目标地区的第一目标节点上发布了发布数量的第一应用程序。若第二发布请求携带多个添加地区标签后的第一应用程序标签和多个发布数量,则对于每个添加地区标签后的第一应用程序标签,调度服务器均通过与上述步骤504至步骤505同理的过程进行应用程序的发布,在此不再赘述。其中,一个添加地区标签后的第一应用程序标签对应一个发布数量。
上述技术方案,按照目标地区对应的发布数量的指示,在目标地区的节点中发布指定数量的应用程序,进一步提高了应用程序发布的灵活性。并且,发布者通过执行简单操作,即可控制应用程序按照一定的策略进行发布,提高了应用程序的发布效率。
需要说明的是,调度服务器将第一应用程序发布于第一目标节点之后,还向配置服务器发送第一应用程序的发布结果;配置服务器接收该发布结果,向终端发送该发布结果;终端显示该发布结果。在一些实施例中,发布结果包括发布第一应用程序的节点的节点标签、发布第一应用程序的服务器的服务器标签、第一应用程序所在的容器托管对象的对象标签和第一应用程序所在的容器的容器标签中的至少一项。在一些实施例中,发布结果还包括第一应用程序发布成功或者第一应用程序发布失败;若发布结果包括第一应用程序发布失败,发布结果还包括发布失败的原因。在一些实施例中,配置服务器还对接收到的发布结果进行存储。
在上述技术方案中,在第一应用程序发布之后,配置服务器还从调度服务器获取发布结果,向终端发送该发布结果,以使终端将发布结果展示给用户,便于用户了解查看应用程序的部署情况,提高了人机交互效率。
在应用程序发布之后,还会有对应用程序进行升级的需求。下面结合图7,对应用程序升级的过程进行说明,参见图7,该应用程序处理方法还包括以下步骤:
701、终端响应于第一升级操作,显示第一应用程序的升级配置界面,基于该升级配置界面,获取升级方式和第二应用程序标签,向配置服务器发送携带第二应用程序标签和升级方式的第一升级请求。
其中,第二应用程序标签表征第一应用程序对应的升级版本的应用程序,也即是第二应用程序标签表征第二应用程序。发布者通过在终端上执行操作,触发终端向配置服务器发送第一升级请求,第一升级请求用于指示将已发布的第一应用程序升级为第二应用程序标签对应的第二应用程序。终端响应于第一升级操作,显示升级配置界面,以便于发布者通过该升级配置界面配置升级方式。在一些实施例中,升级配置界面包括至少一个应用程序升级选项和多个不同的升级方式对应的选项,发布者可以通过选中任一升级方式对应的选项和任一应用程序升级选项,来指示对第一应用程序的升级方式以及所升级至的应用程序的版本,终端获取被选中的选项对应的升级方式和被选中的应用程序升级选项对应的第二应用程序标签,向配置服务器发送携带第二应用程序标签和该升级方式的第一升级请求。
702、配置服务器响应于第一升级请求,向调度服务器发送第二升级请求,第二升级请求携带第二应用程序标签和升级方式,第二升级请求用于指示按照该升级方式将第一应用程序升级为第二应用程序标签对应的第二应用程序。
配置服务器接收到第一升级请求后,向调度服务器发送第二升级请求,以使调度服务器按照所指示的升级方式,将已发布在节点中的第一应用程序升级为第二应用程序标签对应的第二应用程序。
703、调度服务器响应于第二升级请求,获取第二升级请求携带的升级方式,基于该升级方式,将第一目标节点中的第一应用程序升级为第二应用程序标签对应的第二应用程序。
在一些实施例中,第二升级请求携带的升级方式为原地升级方式,原地升级方式表征应用程序在同一个容器托管对象中进行升级,相应的,上述步骤703包括:调度服务器响应于升级方式为原地升级方式,从第一目标节点中,确定第一应用程序所在的容器托管对象;从第一应用程序所在的容器托管对象中,删除第一应用程序所在的容器,并在容器托管对象中创建新的容器,获取第二应用程序标签对应的第二应用程序,将第二应用程序发布于新的容器。
在一些实施例中,调度服务器在第一目标节点中发布第一应用程序之后,对应存储了第一应用程序标签、第一目标节点的节点标签和第一应用程序所在的容器对象的对象标签,第一升级请求和第二升级请求还携带第一应用程序标签,调度服务器基于第一应用程序标签对应的节点标签,确定第一目标节点,基于第一应用程序标签对应的对象标签,从第一目标节点中确定第一应用程序所在的容器托管对象。
在一些实施例中,调度服务器对应存储了第二应用程序和第二应用程序标签,调度服务器基于第二应用程序标签,从本地存储中获取第二应用程序标签对应的第二应用程序。在一些实施例中,调度服务器存储的第二应用程序和第二应用程序标签是终端上传的;在一些实施例中,调度服务器存储的第二应用程序和第二应用程序标签是终端发送至配置服务器后,配置服务器发送给调度服务器的。在一些实施例中,终端向配置服务器发送了第二应用程序和第二应用程序标签,配置服务器对应存储了第二应用程序和第二应用程序标签,调度服务器基于第二应用程序标签,从配置服务器获取该第二应用程序标签对应的第二应用程序。
上述技术方案,支持应用程序的原地升级,也即是在容器托管对象内部针对应用程序所在的容器进行升级,应用程序升级无需重新创建新的容器托管对象,减少了重新创建容器托管对象所消耗的资源,提高了资源利用率。
在一些实施例中,第二升级请求携带的升级方式为重建升级方式,重建升级方式表征通过创建新的容器托管对象来进行应用程序升级,相应的,上述步骤703包括:调度服务器响应于升级方式为重建升级方式,从第一目标节点中,确定第一应用程序所在的容器托管对象;删除第一应用程序所在的容器托管对象;在第一目标节点中创建新的容器托管对象,获取第二应用程序标签对应的第二应用程序,将第二应用程序发布于新的容器托管对象所包括的容器中。
上述技术方案,支持发布者灵活选择应用程序的升级方式,按照发布者所选择的升级方式进行应用程序的升级,提高了应用程序升级的灵活性,发布者通过执行简单操作,即可控制应用程序按照一定的升级方式进行升级,提高了应用程序的维护效率。
在上述实施例中,调度服务器按照发布者指定的升级方式进行应用程序的升级。而在另一些实施例中,若发布者未指定升级方式,则上述步骤701至步骤703替换为以下步骤:终端向配置服务器发送携带第二应用程序标签的第一升级请求;配置服务器响应于第一升级请求,向调度服务器发送第二升级请求,第二升级请求用于指示将第一应用程序升级为第二应用程序标签对应的第二应用程序;调度服务器响应于第二升级请求,将第一目标节点中的第一应用程序升级为第二应用程序标签对应的第二应用程序。其中,调度服务器按照默认的升级方式,将第一目标节点中的第一应用程序升级为第二应用程序,默认的升级方式为原地升级方式或者重建升级方式,本公开对此不加以限定。
在将已发布的第一应用程序全量升级为第二应用程序之前,通常还需要进行灰度升级,也即是将已发布的部分数量的第一应用程序更新为第二应用程序,通过第二应用程序的运行为部分用户终端提供服务,基于用户终端的反馈,及时对第二应用程序进行调整,使最终用于全量升级第二应用程序符合用户期望。下面结合图8,对应用程序灰度升级的过程进行说明,参见图8,该应用程序处理方法还包括以下步骤:
801、终端响应于第二升级操作,显示第一应用程序的升级配置界面,基于该升级配置界面,获取升级条件和第二应用程序标签,向配置服务器发送携带第二应用程序标签和升级条件的第三升级请求。
发布者通过在终端上执行操作,触发终端向配置服务器发送第三升级请求,第三升级请求用于指示将满足升级条件的第一应用程序升级为第二应用程序。终端响应于第二升级操作,显示升级配置界面,以便于发布者通过该升级配置界面配置升级条件。
在一些实施例中,升级配置界面包括多个升级选项,发布者可以通过对升级选项执行操作,来指示对应用程序的升级条件,终端获取升级选项对应的升级条件,向配置服务器发送携带第二应用程序标签和该升级条件的第三升级请求。
例如,升级配置界面包括节点选项、升级比例选项、服务器选项和应用程序选项中的至少一个。其中,节点选项包括已发布第一应用程序的多个节点的节点标签,发布者通过选中节点选项中的至少一个节点标签,来指定升级应用程序的节点。在一些实施例中,节点选项还包括全量子选项,全量子选项表征执行升级应用程序的节点为已发布第一应用程序的全量节点。升级比例选项为输入框形式的选项,发布者通过在升级比例选项中输入0到1之间的数值来指示应用程序的升级比例。服务器选项包括已发布第一应用程序的多个服务器的服务器标签,发布者通过选中服务器选项中的至少一个服务器标签,来指示升级应用程序的服务器。应用程序选项包括多个第一应用程序的应用程序标签,发布者通过选中应用程序选项中的至少一个应用程序标签,来指示升级被选中的应用程序标签对应的应用程序,终端向配置服务器发送第三升级请求,该第三升级请求携带被选中的应用程序标签。
在一些实施例中,升级配置界面还包括多个不同的升级方式对应的选项,发布者可以通过选中任一选项,来指示对应用程序的升级方式,相应的,终端向配置服务器发送的第三升级请求还携带升级方式。
802、配置服务器响应于第三升级请求,从已发布的多个第一应用程序的应用程序标签中,确定满足升级条件的目标应用程序的目标应用程序标签。
在一些实施例中,调度服务器发布第一应用程序之后,向配置服务器发送了节点标签和服务器标签中的至少一项,其中,该节点标签表征第一应用程序所在的节点,该服务器标签表征第一应用程序所在的服务器。配置服务器在一个第一应用程序标签中添加一个节点标签和一个服务器标签中的至少一项,得到一个已发布的第一应用程序的应用程序标签,由添加节点标签和服务器标签中的至少一项的应用程序标签来表征已发布的第一应用程序。其中,添加节点标签后的应用程序标签表征第一应用程序已发布在该节点标签对应的节点中,添加服务器标签后的应用程序标签表征第一应用程序已发布在该服务器标签对应的服务器中。任一已发布的第一应用程序的应用程序标签表征该已发布的第一应用程序,已发布于不同节点的第一应用程序的应用程序标签不同,已发布于不同服务器的第一应用程序的应用程序标签不同。
在一些实施例中,升级条件包括第一升级比例,该升级条件表征在已发布的全量的第一应用程序中,按照第一升级比例升级一部分第一应用程序,相应的,上述步骤802包括:配置服务器响应于第三升级请求,获取已发布的多个第一应用程序的第一发布数量;将第一发布数量与第一升级比例的乘积,确定为第一升级数量;从多个第一应用程序的应用程序标签中,确定第一升级数量的目标应用程序标签。
例如,已发布的第一应用程序的总量,也即是第一发布数量为100,第一升级比例为20%,则第一升级数量为20,配置服务器从已发布的第一应用程序的应用程序标签中,确定20个应用程序标签,将所确定的20个应用程序标签均作为目标应用程序标签。
上述技术方案,支持指定某个应用程序按照比例进行灰度升级,提高了应用程序灰度升级的灵活性。
在一些实施例中,升级条件包括第二升级比例和第一节点标签,该升级条件表征在发布于第一节点标签对应的节点的应用程序中,按照第二升级比例升级一部分第一应用程序,相应的,上述步骤802包括:配置服务器响应于第三升级请求,获取第一节点标签对应的第二发布数量,第二发布数量为发布在第一节点标签对应的第二目标节点上的第一应用程序的数量;将第二发布数量与第二升级比例的乘积,确定为第二升级数量;从第一节点标签对应的多个第一应用程序的应用程序标签中,确定第二升级数量的目标应用程序标签。在一些实施例中,已发布的第一应用程序的应用程序标签包括节点标签,第一节点标签对应的多个第一应用程序的应用程序标签即为多个包括第一节点标签的第一应用程序的应用程序标签。
例如,已发布的第一应用程序的总量为100,第一节点标签对应的节点为节点A,发布于节点A的第一应用程序的第二发布数量为10,若第二升级比例为10%,则第二升级数量为1,配置服务器从第一节点标签对应的10个应用程序标签中,确定1个应用程序标签,将所确定的应用程序标签均作为目标应用程序标签。
上述实施例是以配置服务器针对一个节点确定目标应用程序标签为例进行说明的,在另一些实施例中,升级条件包括多个节点标签和每个节点标签对应的升级比例,对于多个节点标签中的任一个节点标签,配置服务器均按照与上述实施例同理的步骤,确定该节点标签对应的目标应用程序标签,进而得到多个节点标签分别对应的目标应用程序。
上述技术方案,支持指定一个或多个节点按照比例进行灰度升级,实现了更细粒度的灰度升级控制,进一步提高了应用程序灰度升级的灵活性。
在一些实施例中,升级条件包括服务器标签,该升级条件表征对该服务器标签对应的服务器上的第一应用程序进行升级,相应的,上述步骤802包括:配置服务器响应于第三升级请求,将该第三升级请求中包括的服务器标签对应的应用程序标签,确定为目标应用程序标签。在一些实施例中,已发布的第一应用程序的应用程序标签包括第一应用程序所在的服务器的服务器标签,配置服务器从已发布的多个第一应用程序的应用程序标签中,确定包括第三升级请求中的服务器标签的应用程序标签,将所确定的应用程序标签确定为目标应用程序标签。
上述技术方案,支持对一个或多个服务器中发布的第一应用程序进行灰度升级,实现了更细粒度的灰度升级控制,进一步提高了应用程序灰度升级的灵活性。
在一些实施例中,升级条件包括目标应用程序标签,该升级条件表征对该目标应用程序标签对应的第一应用程序进行升级,相应的,配置服务器响应于第三升级请求,将该第三升级请求中包括的应用程序标签确定为目标应用程序标签。
上述技术方案,支持指定一个或多个第一应用程序进行灰度升级,实现了更细粒度的灰度升级控制,进一步提高了应用程序灰度升级的灵活性。
需要说明的是,在一些实施例中,一个容器托管对象中包括一个提供特定功能的应用程序,也即是,一个容器托管对象中包括一个第一应用程序,应用程序所在的容器托管对象的对象标签也能够表征该应用程序,上述已发布的第一应用程序的应用程序标签能够替换为该已发布的第一应用程序所在的容器托管对象的对象标签。
803、配置服务器向调度服务器发送第四升级请求,第四升级请求携带第二应用程序标签和目标应用程序标签。
配置服务器向调度服务器发送第四升级请求,该第四升级请求携带了第二应用程序标签和目标应用程序标签,从而能够通过该第四升级请求指示调度服务器将目标应用程序标签对应的第一应用程序升级为第二应用程序标签对应的第二应用程序。
在一些实施例中,终端向配置服务器发送的第三升级请求还携带升级方式,相应的,配置服务器向调度服务器发送的第四升级请求还携带升级方式。
804、调度服务器响应于第四升级请求,将目标应用程序标签对应的目标应用程序升级为第二应用程序标签对应的第二应用程序。
在一些实施例中,调度服务器响应于第四升级请求,按照原地升级方式或者重建升级方式,将目标应用程序标签对应的目标应用程序升级为第二应用程序标签对应的第二应用程序,本公开对调度服务器灰度升级所采用的升级方式不加以限定。
在一些实施例中,第四升级请求还携带升级方式,调度服务器按照该升级方式,将目标应用程序标签对应的目标应用程序升级为第二应用程序标签对应的第二应用程序。其中,调度服务器将目标应用程序标签对应的目标应用程序升级为第二应用程序标签对应的第二应用程序的过程与步骤703同理,在此不再赘述。
在一些实施例中,调度服务器将第一应用程序升级为第二应用程序之后,还向配置服务器发送第一应用程序的升级结果。在一些实施例中,配置服务器对接收到的升级结果进行存储。在一些实施例中,配置服务器向终端发送该升级结果;终端显示该升级结果。在一些实施例中,升级结果包括第二应用程序所在的节点的节点标签、第二应用程序所在的服务器的服务器标签、第二应用程序所在的容器托管对象的对象标签和第二应用程序所在的容器的容器标签中的至少一项。
本公开实施例提供的技术方案,支持指定升级条件,对满足升级条件的部分应用程序进行灰度升级,相较于逐渐对全量应用程序进行升级的灰度升级方式,升级方式更加灵活,更便于控制,提高了应用程序的可维护性,强化了对应用程序的编排和管理能力。
在将第一应用程序升级为第二应用程序之后,若发现第二应用程序存在问题,可以将已升级的第二应用程序回退为第一应用程序,来保证应用程序运行的稳定性。下面结合图9,对应用程序回滚的过程进行说明,参见图9,该应用程序处理方法还包括以下步骤:
901、终端响应于回滚操作,向配置服务器发送第一回滚请求,第一回滚请求用于指示将第二应用程序还原为目标应用程序。
第一应用程序的发布者通过在终端上执行回滚操作,触发终端向配置服务器发送第一回滚请求。
902、配置服务器响应于第一回滚请求,向调度服务器发送第二回滚请求,第二回滚请求至少携带发布第二应用程序的节点的第二节点标签。
在一些实施例中,配置服务器向调度服务器发送的第二回滚请求至少携带第二节点标签,以使调度服务器仍将目标应用程序发布于第二应用程序原始所在的节点上,保证应用程序回滚的有序进行,提高稳定性。需要说明的是,若调度服务器未存储有历史发布的目标应用程序,配置服务器向调度服务器发送的第二回滚请求还包括目标应用程序,其中,目标应用程序存储于配置服务器中。若调度服务器存储有历史发布的目标应用程序,则配置服务器无需再向调度服务器发送目标应用程序。
在一些实施例中,发布第二应用程序的节点包括多个服务器,第二回滚请求还携带发布第二应用程序的服务器的服务器标签,以使调度服务器仍将目标应用程序发布于第二应用程序原始所在的服务器上,进一步保证应用程序回滚的有序性,提高稳定性。
在一些实施例中,配置服务器存储有第一对象标签和第二对象标签,第一对象标签表征第二应用程序所在的容器托管对象,第二对象标签表征目标应用程序升级前所在的容器托管对象。配置服务器基于第一对象标签和第二对象标签,确定调度服务器将目标应用程序升级为第二应用程序所采用的升级方式,基于该升级方式,向调度服务器发送第二回滚请求,以使调度服务器尽可能还原目标应用程序的历史发布情况。
若第一对象标签和第二对象标签相同,也即是在第二应用程序所在的容器托管对象与升级前目标应用程序所在的容器托管对象相同的情况下,表示应用程序的升级是在同一个容器托管对象中进行的,升级方式为原地升级方式,则配置服务器获取第一对象标签和第一容器标签;向调度服务器发送携带第二节点标签、第一对象标签和第一容器标签的第二回滚请求,其中,第一容器标签表征第二应用程序所在的容器。
在上述技术方案中,配置服务器在应用程序的升级方式为原地升级方式时,向调度服务器发送第二节点标签、第一对象标签和第一容器标签,能够使调度服务器重新在第一对象标签对应的容器托管对象中发布目标应用程序,从而使目标应用程序重新运行在其升级前所在的容器托管对象中,提高了应用程序回滚的还原度,进一步提高了稳定性。
若第一对象标签和第二对象标签不同,也即是在第二应用程序所在的容器托管对象与升级前目标应用程序所在的容器托管对象不同的情况下,表示应用程序的升级不是在同一个容器托管对象中进行的,升级方式为重建升级方式,则配置服务器获取第一对象标签以及升级前目标应用程序所在的服务器的服务器标签,向调度服务器发送携带第二节点标签、第一对象标签和该服务器标签的第二回滚请求。
在上述技术方案中,配置服务器在应用程序的升级方式为重建升级方式时,向调度服务器发送第二节点标签、第一对象标签和升级前目标应用程序所在的服务器的服务器标签,能够使调度服务器重新在目标应用程序原始所在的服务器中发布目标应用程序,从而使目标应用程序重新运行在其升级前所在的服务器中,提高了应用程序回滚的还原度,进一步提高了稳定性。
903、调度服务器响应于第二回滚请求,在第二节点标签对应的节点中,删除第二应用程序,发布目标应用程序。
在一些实施例中,第二回滚请求携带第二节点标签,调度服务器响应于该第二回滚请求,在第二节点标签对应的节点中,删除第二应用程序,并在第二节点标签对应的节点中的任一服务器中,发布目标应用程序。
在上述技术方案中,调度服务器能够将目标应用程序仍发布于第二应用程序原始所在的节点上,保证了应用程序回滚的有序进行,提高了稳定性。
在一些实施例中,第二回滚请求携带第二节点标签和发布第二应用程序的服务器的服务器标签,调度服务器响应于该第二回滚请求,在第二节点标签对应的节点中的该服务器标签对应的服务器中,删除第二应用程序,发布目标应用程序。
在上述技术方案中,调度服务器能够将目标应用程序仍发布于第二应用程序原始所在的服务器上,进一步保证了应用程序回滚的有序性,提高了稳定性。
在一些实施例中,第二回滚请求携带第二节点标签、第一对象标签和第一容器标签,调度服务器响应于该第二回滚请求,从第一对象标签对应的容器托管对象中,删除第一容器标签对应的容器;在第一对象标签对应的容器托管对象中,创建新的容器,将目标应用程序发布于新的容器。
上述技术方案,在目标应用程序升级为第二应用程序的升级方式为原地升级方式的情况下,调度服务器仍然能够将目标应用程序发布于其升级前所在的容器托管对象中,进一步提高了应用程序回滚的还原度,提高了稳定性。
在一些实施例中,第二回滚请求携带第二节点标签、第一对象标签以及升级前目标应用程序所在的服务器的服务器标签,调度服务器响应于该第二回滚请求,删除第一对象标签对应的容器托管对象;在服务器标签对应的服务器中,创建新的容器托管对象,将目标应用程序发布于新的容器托管对象所包括的容器中。
上述技术方案,在目标应用程序升级为第二应用程序的升级方式为重建升级方式的情况下,调度服务器仍然能够在目标应用程序原始所在的服务器中发布目标应用程序,进一步提高了应用程序回滚的还原度,提高了稳定性。
在应用程序发布之后,还会有对应用程序的配置进行更新的需求。下面结合图10,对更新应用程序的配置的过程进行说明,参见图10,该应用程序处理方法还包括以下步骤:
1001、终端响应于配置更新操作,显示更新配置界面,基于该更新配置界面,获取第三应用程序标签和配置版本标签,向配置服务器发送携带第三应用程序标签和配置版本标签的第一更新请求。
其中,第三应用程序标签用于表征已发布的应用程序,一个第三应用程序标签对应一个已发布的应用程序。配置版本标签用于表征配置文件的版本,一个配置版本标签对应一个版本的配置文件。配置文件包括应用程序运行所基于的参数,通过配置文件的更新,即可实现对应用程序运行所基于的参数的更新,从而无需对应用程序整体进行升级,也能够实现相应参数的更新,能够提高参数配置的灵活性。
发布者通过在终端上执行配置更新操作,触发终端向配置服务器发送第一更新请求,第一更新请求用于指示将第三应用程序标签对应的应用程序的配置文件更新为配置版本标签对应的配置文件。终端响应于配置更新操作,显示更新配置界面,以便于发布者通过该更新配置界面指定配置文件更新所针对的应用程序以及配置版本标签。在一些实施例中,更新配置界面包括应用程序选项和配置版本选项,该应用程序选项包括已发布的多个应用程序的应用程序标签,该配置版本选项包括每个应用程序对应的配置文件的至少一个配置版本标签,每个配置版本标签表征配置文件的一个版本,发布者通过选中应用程序选项中的应用程序标签以及该应用程序标签对应的配置版本标签,来指示将该应用程序标签对应的应用程序的配置文件更新为所选中的配置版本标签对应的配置文件,终端向配置服务器发送携带被选中的第三应用程序标签和被选中的配置版本标签的第一更新请求。
1002、配置服务器响应于第一更新请求,向调度服务器发送第二更新请求,第二更新请求携带第三应用程序标签和配置版本标签。
配置服务器接收到第一更新请求后,向调度服务器发送第二更新请求,以使调度服务器将第三应用程序标签对应的应用程序的配置文件更新为该配置版本标签对应的配置文件。
1003、调度服务器响应于第二更新请求,将第三应用程序标签对应的应用程序的配置文件更新为该配置版本标签对应的配置文件。
在一些实施例中,容器托管对象与ConfigMap(配置字典)绑定,ConfigMap用于存储配置文件,容器托管对象中的应用程序通过引用ConfigMap中的配置文件获取运行所基于的参数。基于此,调度服务器响应于第二更新请求,确定第三应用程序标签对应的应用程序所在的容器托管对象,将与该容器托管对象绑定的ConfigMap中的配置文件更新为配置版本标签对应的配置文件。
在一些实施例中,第三应用程序标签对应的应用程序具有监听配置文件更新的功能,第三应用程序标签对应的应用程序运行在服务器上,响应于监听到与该第三应用程序标签对应的应用程序所在的容器托管对象绑定的配置文件更新,即载入更新后的配置文件,按照更新后的配置文件的配置运行。
在一些实施例中,第三应用程序标签对应的应用程序所在的容器托管对象中包括辅助监听容器,该辅助监听容器响应于监听到第三应用程序标签对应的应用程序的配置文件更新,向第三应用程序标签对应的应用程序发送更新信号,从而第三应用程序标签对应的应用程序响应于该更新信号,载入更新后的配置文件,也即是该配置版本标签对应的配置文件,按照该配置版本标签对应的配置文件的配置运行。在一些实施例中,辅助监听容器为Sidecar(边车)容器。
上述技术方案,通过辅助监听容器监听配置文件的更新,并将更新信号发送至对应的应用程序,从而应用程序能够感知到配置文件的更新,按照更新后的配置文件的配置运行,即使在第一应用程序不具有监听配置文件更新的功能的情况下,也能够使配置文件及时应用到应用程序的运行中,提高了配置效率。
需要说明的是,调度服务器将第三应用程序标签对应的应用程序的配置文件更新为该配置版本标签对应的配置文件之前,还基于该配置版本标签,获取该配置版本标签对应的配置文件。在一些实施例中,调度服务器对应存储了配置版本标签和配置文件,调度服务器基于配置版本标签,从本地存储中获取该配置版本标签对应的第一应用程序。在一些实施例中,调度服务器存储的配置版本标签和配置文件是终端上传的;在一些实施例中,调度服务器存储的配置版本标签和配置文件是终端发送至配置服务器后,配置服务器发送给调度服务器的。在一些实施例中,终端向配置服务器发送了配置版本标签和配置文件,配置服务器对应存储了配置版本标签和配置文件,调度服务器基于配置版本标签,从配置服务器获取该配置版本标签对应的配置文件。
在应用程序发布之后,还会有对所发布的应用程序的数量进行调整的需求,也即是扩缩容的需求。下面结合图11,对调整所发布的应用程序的数量的过程进行说明,参见图11,该应用程序处理方法还包括以下步骤:
1101、终端显示调整界面,获取第三节点标签和第二目标数量,向配置服务器发送携带第三节点标签和第二目标数量的调整请求,该调整请求用于指示将第三节点标签对应的节点上的第一应用程序的当前数量调整为第二目标数量。
在一些实施例中,调整界面包括节点选项和数量调整选项。其中,节点选项包括已发布第一应用程序的多个节点的节点标签,发布者通过选中节点选项中的至少一个第三节点标签,来指定进行数量调整的节点。在一些实施例中,数量调整选项为输入框形式的选项,发布者通过在数量调整选项中输入第二目标数量,来指示节点中的应用程序应达到的数量。终端获取调整界面中被选中的第三节点标签和被输入的第二目标数量,向配置服务器发送携带第三节点标签和第二目标数量的调整请求。
1102、配置服务器响应于调整请求,将第二目标数量与当前数量的差值,确定为调整数量,向调度服务器发送携带调整数量的请求。
在一些实施例中,配置服务器响应于第二目标数量小于当前数量,向调度服务器发送第一删除请求,该第一删除请求携带调整数量,该第一删除请求指示调度服务器删除该调整数量的第一应用程序。
在一些实施例中,配置服务器响应于第二目标数量大于当前数量,向调度服务器发送第三发布请求,该第三发布请求携带调整数量,该第三发布请求指示调度服务器在该调整数量的服务器中,发布第一应用程序。
1103、调度服务器响应于配置服务器发送的携带调整数量的请求,按照该调整数量,调整第一应用程序的数量。
在一些实施例中,配置服务器发送的携带调整数量和第三节点标签的请求为第一删除请求,相应的,上述步骤1103包括:调度服务器响应于第一删除请求,从第三节点标签对应的节点上,删除调整数量的第一应用程序。在一些实施例中,一个容器托管对象中包括一个第一应用程序,调度服务器删除调整数量的第一应用程序,也即是删除调整数量的包括第一应用程序的容器托管对象。
在一些实施例中,配置服务器发送的携带调整数量和第三节点标签的请求为第三发布请求,相应的,上述步骤1103包括:调度服务器响应于第三发布请求,在第三节点标签对应的节点中的调整数量的服务器中,发布第一应用程序。其中,调度服务器在第三节点标签对应的节点中的调整数量的服务器中的每个服务器中,创建一个容器托管对象,在所创建的容器托管对象包括的容器中发布第一应用程序。
需要说明的是,上述实施例是以对一个节点中的第一应用程序的数量进行调整为例进行说明的,在另一些实施例中,第三节点标签的数量为多个,对于每个第三节点标签对应的节点,均通过与上述步骤1102至步骤1103同理的步骤,对节点中的第一应用程序的数量进行调整,在此不再一一赘述。
上述技术方案,支持对一个或多个节点中的应用程序的数量进行调整,也即是支持在节点粒度上的批量的扩缩容操作,进一步提高了应用程序发布的灵活性。
在一些实施例中,还能够通过指定删除至少一个应用程序来进行缩容,相应的,在应用程序发布之后,该应用程序处理方法还包括以下步骤:配置服务器接收终端发送的第二删除请求,该第二删除请求携带第四应用程序标签,第四应用程序标签用于表征已发布的应用程序,一个第四应用程序标签对应一个已发布的应用程序,该第二删除请求用于指示删除第四应用程序标签对应的应用程序;配置服务器响应于第二删除请求,向调度服务器发送第三删除请求,第三删除请求携带第四应用程序标签;调度服务器响应于第三删除请求,删除第四应用程序标签对应的应用程序。在一些实施例中,已发布的应用程序的应用程序标签中添加了节点标签和服务器标签,调度服务器响应于第三删除请求,基于第四应用程序标签中包括的节点标签,确定该节点标签对应的节点,其中,第四应用程序标签对应的应用程序发布于该节点;基于第四应用程序标签中包括的服务器标签,从该节点中确定该服务器标签对应的服务器;基于第四应用程序标签,从该服务器中确定该第四应用程序标签对应的应用程序,删除该第四应用程序标签对应的应用程序。在一些实施例中,一个容器托管对象中包括一个具有特定功能的应用程序,应用程序所在的容器托管对象的对象标签也能够表征该应用程序,上述第四应用程序标签能够替换为该第四应用程序标签对应的应用程序所在的容器托管对象的对象标签。调度服务器删除第四应用程序标签对应的应用程序,也即是删除第四应用程序标签对应的应用程序所在的容器托管对象。
上述技术方案,能够应用在对IP(Internet Protocol,网际互连协议)敏感的场景中,对IP敏感是指某一服务器上的应用程序在对外提供服务,该应用程序的IP是敏感的,该应用程序删除后会影响正常服务。上述技术方案支持删除指定的应用程序,能够指定删除对IP不敏感的应用程序,保证对IP敏感的应用程序不被删除,从而保证应用程序正常对外提供服务,提高应用程序对外提供服务的稳定性。
为了使应用程序发布的过程更加清晰,下面结合图12进行说明,参见图12,业务方通过终端向配置服务器发送请求来控制应用程序的发布过程,例如,业务方向配置服务器发送第一发布请求、第一升级请求、第三升级请求、第一回滚请求、第一更新请求或者调整请求来控制应用程序的发布、升级、回滚、配置更新等过程,配置服务器响应于业务方发送的请求,会向业务方返回可操作的节点标签列表,以使业务方指定对哪些节点进行何种操作,上述过程也即是,业务方向配置服务器提交应用节点需求,配置服务器向业务方返回节点标签列表的过程。
配置服务器包括应用管理模块、服务管理模块、调度模块、监控告警模块和镜像仓库,具有应用管理功能、服务管理功能、镜像管理功能、对请求进行预处理的功能以及调度功能。业务方发送的请求经过配置服务器处理后,下发给调度服务器执行后续操作。其中,镜像是指容器镜像,包括应用程序在容器中运行所需的资源。业务方会将镜像上传至镜像仓库,节点在需要创建容器以运行应用程序时,会从配置服务器的镜像仓库中拉取镜像来在容器托管对象中进行容器的创建。
调度服务器以Kubernetes为基础运行,Kubernetes包括控制模块(master)和节点。其中,控制模块包括调度组件(scheduler)、接口服务组件(apiserver)、控制管理组件(controller manager)、cloud-hub(云端口组件)和存储组件。存储组件为etcd(一种分布式存储引擎)。在边缘计算的场景中,节点即为边缘节点,云端口组件与多个节点的边缘端口组件连接,节点中包括边缘端口(Edge-hub)、节点代理组件(kubelet)、通信与负载均衡组件(Kubeproxy)以及容器托管对象。控制模块向节点下发请求,指示节点创建容器托管对象,并在容器托管对象中发布应用程序。需要说明的是,本公开提供的应用程序处理方法基于Kubernetes的CRD(Custom Resource Definition,用户资源定义)能力实现,基于Kubernetes的CRD能力,实现了对Kubernetes的无侵入扩展,从而能够应对边缘计算场景中的各种复杂的应用程序发布需求。
本公开实施例提供的应用程序发布升级平台,通过支持指定地区和数量来进行应用程序的发布,支持灵活配置升级方式对应用程序进行升级,支持按照灵活配置的升级条件进行灰度升级,支持在灰度升级的过程中进行回滚,支持节点粒度上的批量扩缩容,支持删除指定应用程序来进行缩容,支持指定应用程序应用更新的配置文件,优化了应用程序的编排和管理能力,极大的提升了应用程序的发布和维护效率,提升了应用程序运行的稳定性。
图13是根据一示例性实施例示出的一种应用程序处理装置的框图。参见图13,该应用程序处理装置包括:
第一发布请求接收单元1301,被配置为执行接收终端发送的第一发布请求,第一发布请求携带第一应用程序标签和发布条件,发布条件表征发布第一应用程序标签对应的第一应用程序的节点应满足的条件;
第一发布请求发送单元1302,被配置为执行响应于第一发布请求,向调度服务器发送第二发布请求,第二发布请求至少携带第一应用程序标签,第二发布请求用于指示将第一应用程序标签对应的第一应用程序按照发布条件发布于第一目标节点;
调度服务器用于响应于第二发布请求,将第一应用程序标签对应的第一应用程序发布于第一目标节点。
本公开实施例借助原有的调度服务器的调度功能,并在调度服务器的基础上进行了扩展,增加了配置服务器,配置服务器和调度服务器相互配合,按照终端指示的应用程序的发布条件实现了应用程序的发布,从而保证应用程序的发布者能够灵活配置应用程序的发布方式,指示调度服务器按照所配置的发布方式来进行应用程序的发布,提高了应用程序发布的可控性。
在一些实施例中,发布条件包括地区信息,地区信息表征发布第一应用程序的节点所属的目标地区;
第一发布请求发送单元1302,被配置为执行:
响应于第一发布请求,在第一应用程序标签中添加地区信息对应的地区标签;
向调度服务器发送第二发布请求,第二发布请求携带添加地区标签后的第一应用程序标签。
在一些实施例中,应用程序处理装置还包括:
结果接收单元,被配置为执行接收调度服务器发送的发布结果;
第一结果发送单元,被配置为执行向终端发送发布结果,发布结果用于显示在终端上。
在一些实施例中,应用程序处理装置还包括:
第一升级请求接收单元,被配置为执行接收终端发送的第一升级请求,第一升级请求携带第二应用程序标签,第一升级请求用于指示将第一应用程序升级为第二应用程序标签对应的第二应用程序;
第一升级请求发送单元,被配置为执行响应于第一升级请求,向调度服务器发送第二升级请求,第二升级请求携带第二应用程序标签,第二升级请求用于指示将第一应用程序升级为第二应用程序标签对应的第二应用程序;
调度服务器用于响应于第二升级请求,将第一目标节点中的第一应用程序升级为第二应用程序标签对应的第二应用程序。
在一些实施例中,应用程序处理装置还包括:
第二升级请求接收单元,被配置为执行接收终端发送的第三升级请求,第三升级请求携带第二应用程序标签和升级条件,第三升级请求用于指示将满足升级条件的第一应用程序升级为第二应用程序标签对应的第二应用程序;
应用程序确定单元,被配置为执行响应于第三升级请求,从已发布的多个第一应用程序的应用程序标签中,确定满足升级条件的目标应用程序标签;
第二升级发送接收单元,被配置为执行向调度服务器发送第四升级请求,第四升级请求携带第二应用程序标签和目标应用程序标签;
调度服务器用于响应于第四升级请求,将目标应用程序标签对应的目标应用程序升级为第二应用程序标签对应的第二应用程序。
在一些实施例中,升级条件包括第一升级比例;
应用程序确定单元,被配置为执行:
响应于第三升级请求,获取已发布的多个第一应用程序的第一发布数量;
将第一发布数量与第一升级比例的乘积,确定为第一升级数量;
从多个第一应用程序的应用程序标签中,确定第一升级数量的目标应用程序标签。
在一些实施例中,升级条件包括第二升级比例和第一节点标签;
应用程序确定单元,被配置为执行:
响应于第三升级请求,获取第一节点标签对应的第二发布数量,第二发布数量为发布在第一节点标签对应的第二目标节点上的第一应用程序的数量;
将第二发布数量与第二升级比例的乘积,确定为第二升级数量;
从第一节点标签对应的多个第一应用程序的应用程序标签中,确定第二升级数量的目标应用程序标签。
在一些实施例中,应用程序处理装置还包括:
第一回滚请求接收单元,被配置为执行接收终端发送的第一回滚请求,第一回滚请求用于指示将第二应用程序还原为目标应用程序;
回滚请求发送单元,被配置为执行响应于第一回滚请求,向调度服务器发送第二回滚请求,第二回滚请求至少携带发布第二应用程序的节点的第二节点标签;
调度服务器用于响应于第二回滚请求,在第二节点标签对应的节点中,删除第二应用程序,发布目标应用程序。
在一些实施例中,回滚请求发送单元,被配置为执行:
响应于第一回滚请求,在第二应用程序所在的容器托管对象与升级前目标应用程序所在的容器托管对象相同的情况下,获取第一对象标签和第一容器标签;第一对象标签表征第二应用程序所在的容器托管对象,第一容器标签表征容器托管对象中第二应用程序所在的容器;
向调度服务器发送携带第二节点标签、第一对象标签和第一容器标签的第二回滚请求。
在一些实施例中,回滚请求发送单元,被配置为执行:
响应于第一回滚请求,在第二应用程序所在的容器托管对象与升级前目标应用程序所在的容器托管对象不同的情况下,获取第一对象标签以及升级前目标应用程序所在的服务器的服务器标签,第一对象标签表征第二应用程序所在的容器托管对象;
向调度服务器发送携带第二节点标签、第一对象标签和服务器标签的第二回滚请求。
在一些实施例中,应用程序处理装置还包括:
第一更新请求接收单元,被配置为执行接收终端发送的第一更新请求,第一更新请求携带第三应用程序标签和配置版本标签,第一更新请求用于指示将第三应用程序标签对应的应用程序的配置文件更新为配置版本标签对应的配置文件;
更新请求发送单元,被配置为执行响应于第一更新请求,向调度服务器发送第二更新请求,第二更新请求携带第三应用程序标签和配置版本标签对应的配置文件;
调度服务器用于响应于第二更新请求,将第三应用程序标签对应的应用程序的配置文件更新为配置版本标签对应的配置文件。
在一些实施例中,第三应用程序标签对应的应用程序所在的容器托管对象中包括辅助监听容器;辅助监听容器用于响应于监听到第三应用程序标签对应的应用程序的配置文件更新,向第三应用程序标签对应的应用程序发送更新信号;第三应用程序标签对应的应用程序用于响应于更新信号,载入配置版本标签对应的配置文件,按照配置版本标签对应的配置文件的配置运行。
在一些实施例中,应用程序处理装置还包括:
调整请求接收单元,被配置为执行接收终端发送的调整请求,调整请求携带第三节点标签和第二目标数量,调整请求用于指示将第三节点标签对应的节点上的第一应用程序的当前数量调整为第二目标数量;
调整数量确定单元,被配置为执行响应于调整请求,将第二目标数量与当前数量的差值,确定为调整数量;
第一删除请求发送单元,被配置为执行响应于第二目标数量小于当前数量,向调度服务器发送第一删除请求,第一删除请求携带调整数量和第三节点标签;
调度服务器用于响应于第一删除请求,从第三节点标签对应的节点上,删除调整数量的第一应用程序。
在一些实施例中,应用程序处理装置还包括:
第二发布请求发送单元,被配置为执行响应于第二目标数量大于当前数量,向调度服务器发送第三发布请求,第三发布请求携带调整数量和第三节点标签;
调度服务器用于响应于第三发布请求,在第三节点标签对应的节点中的调整数量的服务器中,发布第一应用程序。
在一些实施例中,应用程序处理装置还包括:
第一删除请求接收单元,被配置为执行接收终端发送的第二删除请求,第二删除请求携带第四应用程序标签,第二删除请求用于指示删除第四应用程序标签对应的应用程序;
第二删除请求发送单元,被配置为执行响应于第二删除请求,向调度服务器发送第三删除请求,第三删除请求携带第四应用程序标签;
调度服务器用于响应于第三删除请求,删除第四应用程序标签对应的应用程序。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图14是根据一示例性实施例示出的一种应用程序处理装置的框图。参见图14,该应用程序处理装置包括:
第二发布请求接收单元1401,被配置为执行接收配置服务器发送的第二发布请求,第二发布请求至少携带第一应用程序标签,第二发布请求用于指示将第一应用程序标签对应的第一应用程序按照发布条件发布于第一目标节点,发布条件表征发布第一应用程序标签对应的第一应用程序的节点应满足的条件,且发布条件和第一应用程序标签由终端发送给配置服务器;
第一应用程序发布单元1402,被配置为执行响应于第二发布请求,将第一应用程序标签对应的第一应用程序发布于第一目标节点。
本公开实施例借助原有的调度服务器的调度功能,并在调度服务器的基础上进行了扩展,增加了配置服务器,配置服务器和调度服务器相互配合,按照终端指示的应用程序的发布条件实现了应用程序的发布,从而保证应用程序的发布者能够灵活配置应用程序的发布方式,指示调度服务器按照所配置的发布方式来进行应用程序的发布,提高了应用程序发布的可控性。
在一些实施例中,第一应用程序发布单元1402,被配置为执行:
响应于第二发布请求,获取第一应用程序标签中添加的地区标签;
确定属于地区标签对应的目标地区的第一目标节点;
将第一应用程序标签对应的第一应用程序发布于第一目标节点。
在一些实施例中,一个节点中包括多个服务器,发布条件包括第一目标数量,第一目标数量表征在同一个节点中发布第一应用程序的服务器的数量,第二发布请求还携带第一目标数量;
第一应用程序发布单元1402,被配置为执行:
响应于第二发布请求,在第一目标节点中的第一目标数量的服务器中,发布第一应用程序标签对应的第一应用程序。
在一些实施例中,该应用程序处理装置还包括:
第二结果发送单元,被配置为执行向配置服务器发送第一应用程序的发布结果;
配置服务器用于接收调度服务器发送的发布结果,向终端发送发布结果,发布结果用于显示在终端上。
在一些实施例中,第一应用程序发布单元1402,被配置为执行:
响应于第二发布请求,在第一目标节点上创建容器托管对象;
将第一应用程序标签对应的第一应用程序发布于容器托管对象所包括的容器中。
在一些实施例中,该应用程序处理装置还包括:
第三升级请求接收单元,被配置为执行接收配置服务器发送的第二升级请求,第二升级请求携带第二应用程序标签,第二升级请求用于指示将第一应用程序升级为第二应用程序标签对应的第二应用程序,第二应用程序标签由终端发送给配置服务器;
第一应用程序升级单元,被配置为执行响应于第二升级请求,将第一目标节点中的第一应用程序升级为第二应用程序标签对应的第二应用程序。
在一些实施例中,第一升级请求还携带升级方式,第二升级请求还携带升级方式;
第一应用程序升级单元,包括:
升级方式获取子单元,被配置为执行响应于第二升级请求,获取第二升级请求携带的升级方式;
应用程序升级子单元,被配置为执行基于升级方式,将第一目标节点中的第一应用程序升级为第二应用程序标签对应的第二应用程序。
在一些实施例中,应用程序升级子单元,被配置为执行:
响应于升级方式为原地升级方式,从第一目标节点中,确定第一应用程序所在的容器托管对象;
从第一应用程序所在的容器托管对象中,删除第一应用程序所在的容器,并在容器托管对象中创建新的容器,将第二应用程序标签对应的第二应用程序发布于新的容器。
在一些实施例中,应用程序升级子单元,被配置为执行:
响应于升级方式为重建升级方式,从第一目标节点中,确定第一应用程序所在的容器托管对象;
删除第一应用程序所在的容器托管对象;
在第一目标节点中创建新的容器托管对象,将第二应用程序标签对应的第二应用程序发布于新的容器托管对象所包括的容器中。
在一些实施例中,该应用程序处理装置还包括:
第四升级请求接收单元,被配置为执行接收配置服务器发送的第四升级请求,第四升级请求携带第二应用程序标签和目标应用程序标签;
第二应用程序升级单元,被配置为执行响应于第四升级请求,将目标应用程序标签对应的目标应用程序升级为第二应用程序标签对应的第二应用程序;
其中,目标应用程序标签是由配置服务器基于终端发送的第二应用程序标签和升级条件,从已发布的多个第一应用程序的应用程序标签中,确定的满足升级条件的目标应用程序标签。
在一些实施例中,该应用程序处理装置还包括:
第二回滚请求接收单元,被配置为执行接收配置服务器发送的第二回滚请求,第二回滚请求至少携带发布第二应用程序的节点的第二节点标签,第二回滚请求由配置服务器基于终端发送的第一回滚请求发送,第一回滚请求用于指示将第二应用程序还原为目标应用程序;
应用程序回滚单元,被配置为执行响应于第二回滚请求,在第二节点标签对应的节点中,删除第二应用程序,发布目标应用程序。
在一些实施例中,发布第二应用程序的节点包括多个服务器,第二回滚请求还携带发布第二应用程序的服务器的服务器标签;
应用程序回滚单元,被配置为执行:
响应于第二回滚请求,在第二节点标签对应的节点中的服务器标签对应的服务器中,删除第二应用程序,发布目标应用程序。
在一些实施例中,第二回滚请求携带第二节点标签、第一对象标签和第一容器标签,第一对象标签表征第二应用程序所在的容器托管对象,第一容器标签表征容器托管对象中第二应用程序所在的容器;
应用程序回滚单元,被配置为执行:
响应于第二回滚请求,从第一对象标签对应的容器托管对象中,删除第一容器标签对应的容器;
在第一对象标签对应的容器托管对象中,创建新的容器,将目标应用程序发布于新的容器。
在一些实施例中,第二回滚请求携带第二节点标签、第一对象标签和升级前目标应用程序所在的服务器的服务器标签,第一对象标签表征第二应用程序所在的容器托管对象;
应用程序回滚单元,被配置为执行:
调度服务器响应于第二回滚请求,删除第一对象标签对应的容器托管对象;
在服务器标签对应的服务器中,创建新的容器托管对象,将目标应用程序发布于新的容器托管对象所包括的容器中。
在一些实施例中,该应用程序处理装置还包括:
第二更新请求接收单元,被配置为执行接收配置服务器发送的第二更新请求,第二更新请求携带第三应用程序标签和配置版本标签,第三应用程序标签和配置版本标签由终端发送给配置服务器,第二更新请求用于指示将第三应用程序标签对应的应用程序的配置文件更新为配置版本标签对应的配置文件;
配置文件更新单元,被配置为执行调度服务器响应于第二更新请求,将第一应用程序标签对应的应用程序的配置文件更新为配置版本标签对应的配置文件。
在一些实施例中,第三应用程序标签对应的应用程序所在的容器托管对象中包括辅助监听容器;辅助监听容器用于响应于监听到第三应用程序标签对应的应用程序的配置文件更新,向第三应用程序标签对应的应用程序发送更新信号;第三应用程序标签对应的应用程序用于响应于更新信号,载入配置版本标签对应的配置文件,按照配置版本标签对应的配置文件的配置运行。
在一些实施例中,该应用程序处理装置还包括:
第二删除请求接收单元,被配置为执行接收配置服务器发送的第一删除请求,第一删除请求携带调整数量和第三节点标签,第一删除请求由配置服务器响应于第二目标数量小于当前数量,向调度服务器发送,调整数量为第三节点标签对应的节点上的第一应用程序的当前数量与第二目标数量的差值,第二目标数量用于指示将第三节点标签对应的节点上的第一应用程序的当前数量调整为第二目标数量;
第一应用程序删除单元,被配置为执行响应于第一删除请求,从第三节点标签对应的节点上,删除调整数量的第一应用程序。
在一些实施例中,该应用程序处理装置还包括:
第二发布请求接收单元,被配置为执行接收配置服务器发送的第三发布请求,第三发布请求携带调整数量和第三节点标签,第三发布请求由配置服务器响应于第二目标数量大于当前数量,向调度服务器发送;
第二应用程序发布单元,被配置为执行响应于第三发布请求,在第三节点标签对应的节点中的调整数量的服务器中,发布第一应用程序。
在一些实施例中,该应用程序处理装置还包括:
第三删除请求接收单元,被配置为执行接收配置服务器发送的第三删除请求,第三删除请求携带第四应用程序标签,第三删除请求用于指示删除第四应用程序标签对应的应用程序,第四应用程序标签由终端发送给配置服务器;
第二应用程序删除单元,被配置为执行响应于第三删除请求,删除第四应用程序标签对应的应用程序。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图15是根据一示例性实施例示出的一种服务器的框图,该服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)1501和一个或一个以上的存储器1502,其中,存储器1502中存储有至少一条指令,该至少一条指令由处理器1501加载并执行以实现上述各个方法实施例提供的应用程序处理方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述应用程序处理方法中配置服务器或调度服务器所执行的步骤。在一些实施例中,计算机可读存储介质可以是ROM(只读存储器,Read Only Memory)、RAM(随机存取存储器,Random Access Memory)、CD-ROM(只读光盘,Compact Disc Read-Only Memory)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序被处理器执行以实现上述应用程序处理方法。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种应用程序处理方法,其特征在于,所述应用程序处理方法包括:
配置服务器接收终端发送的第一发布请求,所述第一发布请求携带第一应用程序标签和发布条件,所述发布条件表征发布所述第一应用程序标签对应的第一应用程序的节点应满足的条件;
所述配置服务器响应于所述第一发布请求,向调度服务器发送第二发布请求,所述第二发布请求至少携带所述第一应用程序标签,所述第二发布请求用于指示将所述第一应用程序标签对应的所述第一应用程序按照所述发布条件发布于第一目标节点;
所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
2.根据权利要求1所述的应用程序处理方法,其特征在于,所述发布条件包括地区信息,所述地区信息表征发布所述第一应用程序的节点所属的目标地区;
所述配置服务器响应于所述第一发布请求,向调度服务器发送第二发布请求,包括:
所述配置服务器响应于所述第一发布请求,在所述第一应用程序标签中添加所述地区信息对应的地区标签;
向所述调度服务器发送所述第二发布请求,所述第二发布请求携带添加所述地区标签后的所述第一应用程序标签。
3.根据权利要求2所述的应用程序处理方法,其特征在于,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
所述调度服务器响应于所述第二发布请求,获取所述第一应用程序标签中添加的所述地区标签;
确定属于所述地区标签对应的所述目标地区的所述第一目标节点;
将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点。
4.根据权利要求1所述的应用程序处理方法,其特征在于,一个节点中包括多个服务器,所述发布条件包括第一目标数量,所述第一目标数量表征在同一个节点中发布所述第一应用程序的服务器的数量,所述第二发布请求还携带所述第一目标数量;
所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
所述调度服务器响应于所述第二发布请求,在所述第一目标节点中的所述第一目标数量的服务器中,发布所述第一应用程序。
5.根据权利要求1所述的应用程序处理方法,其特征在于,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点之后,所述应用程序处理方法还包括:
所述调度服务器向所述配置服务器发送所述第一应用程序的发布结果;
所述配置服务器接收所述调度服务器发送的所述发布结果,向所述终端发送所述发布结果,所述发布结果用于显示在所述终端上。
6.根据权利要求1所述的应用程序处理方法,其特征在于,所述调度服务器响应于所述第二发布请求,将所述第一应用程序标签对应的所述第一应用程序发布于所述第一目标节点,包括:
所述调度服务器响应于所述第二发布请求,在所述第一目标节点上创建容器托管对象;
将所述第一应用程序标签对应的第一应用程序发布于所述容器托管对象所包括的容器中。
7.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的存储器;
其中,所述一个或多个处理器被配置为执行如权利要求1-6任一项中的配置服务器所执行的步骤。
8.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的存储器;
其中,所述一个或多个处理器被配置为执行如权利要求1-6任一项中的调度服务器所执行的步骤。
9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1-6任一项中的配置服务器所执行的步骤。
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1-6任一项中的调度服务器所执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110425400.7A CN113204368B (zh) | 2021-04-20 | 2021-04-20 | 应用程序处理方法、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110425400.7A CN113204368B (zh) | 2021-04-20 | 2021-04-20 | 应用程序处理方法、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204368A true CN113204368A (zh) | 2021-08-03 |
CN113204368B CN113204368B (zh) | 2022-04-01 |
Family
ID=77027499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110425400.7A Active CN113204368B (zh) | 2021-04-20 | 2021-04-20 | 应用程序处理方法、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204368B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115934A (zh) * | 2021-10-25 | 2022-03-01 | 珠海格力电器股份有限公司 | 一种程序发布方法、电子设备及存储介质 |
CN115292024A (zh) * | 2022-10-09 | 2022-11-04 | 苏州市中地行信息技术有限公司 | 一种多目标导向的数据筛选方法与系统 |
WO2024123350A1 (en) * | 2022-12-09 | 2024-06-13 | Robin Systems, Inc | Batch upgrade management in network computing environments |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290053A (zh) * | 2019-06-18 | 2019-09-27 | 腾讯音乐娱乐科技(深圳)有限公司 | 资源发放方法、终端及服务器 |
CN110362337A (zh) * | 2019-07-12 | 2019-10-22 | 腾讯科技(北京)有限公司 | 应用程序的版本发布方法、装置、设备及存储介质 |
CN112148320A (zh) * | 2019-06-26 | 2020-12-29 | 顺丰科技有限公司 | 一种应用程序升级方法、装置、设备及存储介质 |
-
2021
- 2021-04-20 CN CN202110425400.7A patent/CN113204368B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110290053A (zh) * | 2019-06-18 | 2019-09-27 | 腾讯音乐娱乐科技(深圳)有限公司 | 资源发放方法、终端及服务器 |
CN112148320A (zh) * | 2019-06-26 | 2020-12-29 | 顺丰科技有限公司 | 一种应用程序升级方法、装置、设备及存储介质 |
CN110362337A (zh) * | 2019-07-12 | 2019-10-22 | 腾讯科技(北京)有限公司 | 应用程序的版本发布方法、装置、设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114115934A (zh) * | 2021-10-25 | 2022-03-01 | 珠海格力电器股份有限公司 | 一种程序发布方法、电子设备及存储介质 |
CN115292024A (zh) * | 2022-10-09 | 2022-11-04 | 苏州市中地行信息技术有限公司 | 一种多目标导向的数据筛选方法与系统 |
WO2024123350A1 (en) * | 2022-12-09 | 2024-06-13 | Robin Systems, Inc | Batch upgrade management in network computing environments |
Also Published As
Publication number | Publication date |
---|---|
CN113204368B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113204368B (zh) | 应用程序处理方法、服务器及存储介质 | |
CN111290828A (zh) | 使用容器编排服务进行动态路由 | |
US20210326161A1 (en) | Apparatus and method for multi-cloud service platform | |
CN107656748B (zh) | 应用发布的方法和装置 | |
CN111984270A (zh) | 应用部署方法和系统 | |
CN111427675A (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN107291744A (zh) | 确定及运用应用程序之间的关系关联的方法及装置 | |
CN114924751A (zh) | 一种业务访问请求流量分配的方法和装置 | |
JP2021121921A (ja) | 人工知能開発プラットフォームの管理方法及び装置、媒体 | |
CN113297031A (zh) | 容器集群中的容器组防护方法及装置 | |
CN114996337A (zh) | 多集群数据库管理系统及方法 | |
CN114840222A (zh) | 基于esop系统的灰度发布方法及相关设备 | |
CN115061774A (zh) | 应用镜像的管理和发布方法、系统、装置以及存储介质 | |
CN112199200B (zh) | 资源调度方法、装置、计算机设备和存储介质 | |
CN117873719A (zh) | 基于DevOps的集群动态更新方法 | |
CN115309558A (zh) | 一种资源调度管理系统、方法、计算机设备及存储介质 | |
CN114675872B (zh) | 一种对应用程序的数据处理方法、装置、设备及存储介质 | |
CN115567523A (zh) | 资源管理方法及系统 | |
CN114090201A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN114625479A (zh) | 边缘计算中云边协同应用管理方法及对应的装置 | |
CN113326052A (zh) | 业务组件的升级方法、装置、计算机设备和存储介质 | |
CN113296913A (zh) | 基于单集群的数据处理方法、装置、设备及存储介质 | |
CN111858234A (zh) | 一种任务执行方法、装置、设备、介质 | |
CN115086333B (zh) | 服务请求分配方法、装置及存储介质 | |
US11977922B2 (en) | Resource reuse for pipeline workloads |
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 |