CN109725920A - 一种服务实例的更新方法、装置及存储介质 - Google Patents

一种服务实例的更新方法、装置及存储介质 Download PDF

Info

Publication number
CN109725920A
CN109725920A CN201811640853.6A CN201811640853A CN109725920A CN 109725920 A CN109725920 A CN 109725920A CN 201811640853 A CN201811640853 A CN 201811640853A CN 109725920 A CN109725920 A CN 109725920A
Authority
CN
China
Prior art keywords
service
ratio
batches
update
version
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
Application number
CN201811640853.6A
Other languages
English (en)
Other versions
CN109725920B (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.)
China Mobile Communications Group Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
MIGU Culture Technology 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 China Mobile Communications Group Co Ltd, MIGU Culture Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201811640853.6A priority Critical patent/CN109725920B/zh
Publication of CN109725920A publication Critical patent/CN109725920A/zh
Application granted granted Critical
Publication of CN109725920B publication Critical patent/CN109725920B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种服务实例的更新方法,所述服务实例的更新方法包括:确定待更新的新版本服务;确定当前运行的旧版本服务;接收更新操作启动指令,所述更新操作启动指令用于指示开启服务实例的更新操作;基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成;本申请实施例还公开了一种服务实例的更新装置及存储介质。

Description

一种服务实例的更新方法、装置及存储介质
技术领域
本申请实施例涉及计算机技术领域,涉及但不限于一种服务实例的更新方法、装置及存储介质。
背景技术
在相关技术中,当业务应用因程序改动而需要对服务更新时,需要运维人员进行停止应用服务、替换服务应用、再重新启动的操作,若更新失败,则需要运维人员再进行一次反向操作。
在实际生产中,上述服务更新操作存在以下问题:应用服务更新过程中,会有业务处理中断的情况发生,使得服务使用方体验差;更新过程中,人工操作过多,易错,且随着待更新服务对应的实例数增多,更新操作的复杂程度也会增加;如果更新失败不能自动回退,需要人工进行更新的反向操作,繁琐且易错。
发明内容
有鉴于此,本申请实施例提供一种服务实例的更新方法、装置及存储介质。
本申请实施例的技术方案是这样实现的:
本申请实施例提供了一种服务实例的更新方法,所述方法包括:
确定待更新的新版本服务;
确定当前运行的旧版本服务;
接收更新操作启动指令,所述更新操作启动指令用于指示开启服务实例的更新操作;
基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成。
本申请实施例还提供了一种服务实例的更新装置,所述装置包括:第一确定模块、第二确定模块、第一接收模块和启停模块;其中,
所述第一确定模块,用于确定待更新的新版本服务;
所述第二确定模块,用于确定当前运行的旧版本服务;
所述第一接收模块,用于接收更新操作启动指令,所述更新操作启动指令用于指示开启服务实例的更新操作;
所述启停模块,用于基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成。
本申请实施例还提供了一种服务实例的更新设备,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行应用于终端设备的上述方案中所述服务实例的更新方法中的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现应用于终端设备的上述方案中所述服务实例的更新方法中的步骤。
本申请实施例所提供的服务实例的更新方法、装置及存储介质,确定待更新的新版本服务;确定当前运行的旧版本服务;接收更新操作启动指令,所述更新操作启动指令用于指示开启服务实例的更新操作;基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成;如此,能够在服务实例更新的过程中不间断对任务请求的处理,实现无缝更新,且减少人工操作,降低出错概率。
附图说明
图1为本申请实施例的服务实例的更新方法的实现流程示意图一;
图2为本申请实施例的服务实例的更新方法的实现流程示意图二;
图3为本申请实施例的服务实例的更新装置的一种组成结构示意图;
图4为本申请实施例的服务实例的更新设备的一种硬件装置示意图。
具体实施方式
下面结合附图及具体实施例对本申请作进一步详细的说明。
图1为本申请实施例中的服务实例的更新方法的实现流程示意图一,如图1所示,该方法包括以下步骤:
步骤101:确定待更新的新版本服务;
这里,在确定待更新的新版本服务时,可以包括以下两种方式:
1)可以根据接收到版本确定指令,来确定待更新的新版本服务,其中,所述版本确定指令用于确定待更新的新版本服务;
在实际应用中,在对服务实例进行更新时,可以通过管理节点对应的管理界面进行操作,用户在管理界面上选择待更新的新版本服务,基于用户在管理界面上的选择操作生成版本确定指令,版本确定指令中携带有新版本服务信息,将生成的版本确定指令发送给管理节点,管理节点接收版本确定指令,基于版本确定指令,确定待更新的新版本服务。
2)可以根据查询的版本信息,确定待更新的新版本服务;当查询到更高版本的服务时,将更高版本的服务确定为待更新的新版本服务。
在实际应用中,管理节点可以查询版本信息,当发现有比当前版本的服务更高版本的服务时,将更高版本的服务确定为待更新的新版本服务。
步骤102:确定当前运行的旧版本服务;
管理节点可以根据运行服务的配置信息,确定当前运行的旧版本服务;
步骤103:接收更新操作启动指令;
其中,所述更新操作启动指令用于指示开启服务实例的更新操作;
在确定新版本服务和旧版本服务后,管理节点接收更新操作启动指令;更新操作启动指令可以为用户在管理界面上点击更新按钮而生成的,在管理节点接收到更新操作启动指令后,对服务实例进行更新。
步骤104:基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成。
根据接收到的更新操作启动指令,管理节点按照预设的第一比例,先分批启动新版本服务对应的实例,按照预设的第二比例,再分批停止旧版本服务对应的实例,这里,每批启动的新版本服务对应的实例数目根据预设的第一比例确定,每批停止的旧版本服务对应的实例数目根据预设的第二比例确定,预设的第一比例和预设的第二比例,可以根据用户需求进行设置。
在一批次的新版本服务对应的实例启动完成,一批次的旧版本服务对应的实例停止完成后,再接着启动另一批次的新版本服务对应的实例,停止另一批次的旧版本服务对应的实例,持续重复循环,直至新版本服务对应的实例和旧版本服务对应的实例更新完成。
在本申请实施例中,确定待更新的新版本服务;确定当前运行的旧版本服务;接收更新操作启动指令,所述更新操作启动指令用于指示开启服务实例的更新操作;基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成;如此,能够在服务实例更新的过程中不间断对任务请求的处理,实现无缝更新,且减少人工操作,降低出错概率。
本申请实施例中提供一种服务实例的更新方法,该方法包括以下步骤:
步骤201:确定待更新的新版本服务;
步骤202:确定当前运行的旧版本服务;
步骤203:接收更新操作启动指令;
其中,所述更新操作启动指令用于指示开启服务实例的更新操作;
其中,步骤201至步骤203分别参见上述实施例中的步骤101至步骤103。
步骤204:基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,直至所述新版本服务对应的实例更新完成;
在确定分批启动的新版本服务对应的实例时,需要首先确定新版本服务对应的第一实例总数,根据第一实例总数和预设的第一比例,确定每一次启动的第一实例数目。其中,第一比例可根据用户需求进行设置。
在每一次启动的第一实例数目确定后,管理节点基于更新操作启动指令,每次启动第一实例数目对应的实例,在一批次的第一实例数目对应的实例启动完成后,再启动另一批次的第一实例数目对应的实例,循环往复,直至新版本服务对应的实例更新完成。
在一些实施例中,第一比例可以为四分之一,如此,可以保证服务实例的更新速度,在不影响处理性能的基础上,又不会耗时太久。
步骤205:基于所述更新操作启动指令,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述旧版本服务对应的实例更新完成。
在确定分批停止的旧版本服务对应的实例时,需要首先确定旧版本服务对应的第二实例总数,根据第二实例总数和预设的第二比例,确定每一次启动的第二实例数目。其中,第二比例可根据用户需求进行设置。
在每一次停止的第二实例数目确定后,管理节点基于更新操作启动指令,每次停止第二实例数目对应的实例,在一批次的第二实例数目对应的实例停止完成后,再停止另一批次的第二实例数目对应的实例,循环往复,直至旧版本服务对应的实例更新完成。
在一些实施例中,第二比例可以为四分之一,如此,可以保证服务实例的更新速度,在不影响处理性能的基础上,又不会耗时太久。
在本申请实施例中,能够根据服务对应的实例总数和预设的比例,确定每次启动或停止的实例数目;当预设的比例为四分之一时,可以保证服务实例的更新速度,能够在不影响处理性能的基础上,减少消耗的时间。
本申请实施例中提供一种服务实例的更新方法,该方法包括以下步骤:
步骤301:确定待更新的新版本服务;
步骤302:确定当前运行的旧版本服务;
步骤303:接收更新操作启动指令;
其中,所述更新操作启动指令用于指示开启服务实例的更新操作;
步骤304:基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成;
其中,步骤301至步骤304分别参见上述实施例中的步骤101至步骤104。
步骤305:接收调用的服务检查探针返回的注册完成消息;
其中,所述注册完成消息用于表征所述新版本服务对应的实例启动且注册完成;
在新版本服务对应的实例启动完成后,启动完成的实例向注册与发现中心发送注册请求,管理节点调用服务检查探针,来判断启动完成的实例是否注册完成,当管理节点接收到服务检查探针返回的注册完成消息后,确认启动完成的实例注册完成。这里,注册与发现中心用于对服务实例进行注册或注销。
步骤306:基于所述注册完成消息,将启动且注册完成的实例加入可用服务实例集群,以使用所述启动且注册完成的实例对新任务请求进行处理。
其中,可用服务实例集群中可包括多个启动且注册完成的实例,利用可用服务实例集群中的启动且注册完成的实例能够对新任务进行处理。
根据接收的注册完成消息,管理节点将启动且注册完成的实例加入到可用服务实例集群中,当服务使用方发起新任务请求时,管理节点可将新任务请求分配给启动且注册完成的实例,以使用所述启动且注册完成的实例对新任务请求进行处理。
在本申请实施例中,启动完成的实例能够自动向注册与发现中心进行注册,在注册完成后加入可用服务实例集群,以对新任务请求进行处理。
本申请实施例中提供一种服务实例的更新方法,该方法包括以下步骤:
步骤401:确定待更新的新版本服务;
步骤402:确定当前运行的旧版本服务;
步骤403:接收更新操作启动指令;
其中,所述更新操作启动指令用于指示开启服务实例的更新操作;
其中,步骤401至步骤403分别参见上述实施例中的步骤101至步骤103。
步骤404:接收注册与发现中心发送的注销注册消息;
其中,所述注销注册消息用于表征所述旧版本服务对应的实例为待注销实例;
在旧版本服务对应的实例停止之前,旧版本服务对应的实例向注册与发现中心发送注销请求,注册与发现中心注销旧版本服务对应的实例的注册信息,并向管理节点发送注销注册消息。
步骤405:基于所述注销注册消息,确定所述旧版本服务对应的实例为待注销实例;
当管理节点接收到注册与发现中心发送的注销注册消息后,确定旧版本服务对应的实例为待注销实例。
步骤406:基于所述更新操作启动指令,如果所述待注销实例没有未处理完成的任务请求,按照预设的第二比例,分批停止所述待注销的实例;
在接收到指示开启服务实例的更新操作的更新操作启动指令时,确定待注销实例当前是否有没有未处理完成的任务请求,如果待注销实例没有未处理完成的任务请求,按照预设的第二比例,分批停止待注销的实例。
步骤407:基于所述更新操作启动指令,如果所述待注销实例有未处理完成的任务请求,等待所述待注销实例将所述未处理完成的任务请求处理完成后,按照预设的第二比例,分批停止所述待注销的实例。
在接收到指示开启服务实例的更新操作的更新操作启动指令时,确定待注销实例当前是否有没有未处理完成的任务请求,如果待注销实例有未处理完成的任务请求,待注销实例则继续对未处理完成的任务进行处理,在待注销实例对未处理完成的任务处理完成后,按照预设的第二比例,分批停止待注销的实例。
在本申请实施例中,能够在待注销实例没有未处理完成的任务请求时,直接分批停止待注销实例;在待注销实例有未处理完成的任务请求时,等待未处理完成的任务请求处理完成后,再分批停止所述待注销的实例,使得对未处理完成的任务请求的处理不受影响。
本申请实施例中以容器云平台的微服务实例的升级为例,通过具体场景对本申请实施例提供的服务实例的更新方法进行说明。
本申请实施例基于容器云平台的微服务无缝升级方法的具体流程,如图2所示:
步骤21:运维人员登录管理界面;
本申请实施例提供万维网(World Wide Web,web)控制台的管理界面,控制容器云管理平台对微服务进行升级。
步骤22:运维人员在管理界面中指定新版本,并点击升级按钮;
步骤23:容器云管理平台执行无缝升级;
在容器云管理平台执行无缝升级时,包括两个方面内容:启动部分新版服务实例和停止部分旧版服务实例;其中,启动部分新版服务实例对应步骤231,停止部分旧版服务实例对应步骤232。
通过提供web控制台的管理界面,控制容器云管理平台按特定算法,分批次依次停止旧版微服务对应的实例,比如:每批次停止的实例数可自定义,默认为总实例数的25%,向上取整,及启动新版微服务实例,比如:每批次启动的实例数可自定义,默认为总实例数的25%,向上取整。
本申请实施例中所述停止与启动总实例数的25%是个经验值,即能保证更新速度。如果比例设置得太小,对于微服务系统动辄几十个待更新的服务实例来说,更新过程耗时太久;如果比例设置的太大,会因为更新时,服务的可用实例数减少太多,而影响处理性能,无法保证在更新时的并发吞吐量。
步骤231:容器云管理平台启动部分新版服务实例;
在容器云管理平台启动部分新版服务实例时,包括以下流程:
步骤231-1:云管理平台按比例启动新版服务实例;
步骤231-2:云管理平台发送启动指令;
步骤231-3:新版服务实例向微服务注册与发现中心发送注册请求;
步骤231-4:微服务注册与发现中心返回注册完成消息;
在新版实例升级的过程中,本申请实施例还可以进一步设置服务检查探针,由云管理平台调用该探针,来判断新服务实例是否已经启动完毕并在微服务注册与发现中心注册。
步骤231-5:微服务注册与发现中心通知服务使用方新实例上线;
步骤231-6:服务使用方向该实例发送请求。
当探针返回新服务实例启动且注册完毕的信号后,才将该新服务实例加入可用服务实例集群,再分发前端服务请求至该服务实例进行业务处理。
步骤232:容器云管理平台停止部分旧版服务实例;
在容器云管理平台停止部分旧版服务实例时,包括以下流程:
步骤232-1:云管理平台按比例停止旧版服务实例;
步骤232-2:云管理平台发送预停止指令;
步骤232-3:旧版服务实例向微服务注册与发现中心发送注销请求;
步骤232-4:微服务注册与发现中心返回注销完成消息;
在旧版实例停止过程中,先主动注销待停止微服务在微服务注册与发现中心的注册信息。注销注册信息用于告知前端的请求分发进程,不再分发新的服务请求至待注销的旧版服务实例上,但此时该旧版服务实例本身并没有退出,因此处理中的请求仍然能正常响应。
步骤232-5:微服务注册与发现中心通知服务使用方旧实例下线;
步骤232-6:服务使用方停止向该实例发送请求;
步骤232-7:旧版服务实例继续处理完已接收请求;
停止响应新请求后,再等待已接受但尚未处理完成的请求处理完后,延时退出。如此可以确保升级过程中,服务对外请求不间断,同时,最大程度减少人工操作,降低出错概率。
步骤232-8:云管理平台等待指定时间;
步骤232-9:云管理平台发送停止指令;
步骤232-10:旧版服务实例停止。
步骤24:重复上述过程,直至所有新版和旧版服务实例都更新完成;
接续再启动另一批次的新版服务实例,以及停止另一批次的旧版服务实例,持续重复循环直到所有的旧版服务实例升级或更新完成。
步骤25:服务实例升级完成。
本申请实施例通过向“微服务注册与发现中心”注册来实现自动发现升级后完成启动的新版服务实例。采用分批次,先启动目标实例总数指定比例,比如:默认25%的新版服务实例,再停止目标实例总数指定比例,比如:默认25%的旧版服务实例。旧版服务实例向服务注册与发现中心将自己先注销,确保待升级服务的使用方,不再发送新请求给待停止服务实例,并且待停止服务处理完已接受请求后,再真正停止待停止服务实例。
本申请实施例能够避免应用服务因代码变动而导致的升级时,应用服务中断,尤其对7*24小时的业务系统而言,可提升系统可用度;提供一键升级功能,减少人工操作,减轻系统运维人员工作负荷,降低出错概率。
本申请实施例提供一种服务实例的更新装置,图3为本申请实施例的服务实例的更新装置的一种组成结构示意图,如图3所示,服务实例的更新装置30包括:第一确定模块301、第二确定模块302、第一接收模块303和启停模块304;其中,
第一确定模块301,用于确定待更新的新版本服务;
第二确定模块302,用于确定当前运行的旧版本服务;
第一接收模块303,用于接收更新操作启动指令,所述更新操作启动指令用于指示开启服务实例的更新操作;
启停模块304,用于基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成。
在其他实施例中,所述启停模块包括:第一确定单元、第二确定单元和启动单元;其中,
所述第一确定单元,用于确定所述新版本服务对应的第一实例总数;
所述第二确定单元,用于根据所述第一实例总数和所述第一比例,确定每次启动的第一实例数目;
所述启动单元,用于分批启动所述第一实例数目对应的实例。
在其他实施例中,所述启停模块包括:第三确定单元、第四确定单元和第一停止单元;其中,
所述第三确定单元,用于确定所述旧版本服务对应的第二实例总数;
所述第四确定单元,用于根据所述第二实例总数和所述第二比例,确定每次停止的第二实例数目;
所述第一停止单元,用于分批停止所述第二实例数目对应的实例。
在其他实施例中,所述装置还包括:第二接收模块和加入模块;其中,
所述第二接收模块,用于接收调用的服务检查探针返回的注册完成消息,所述注册完成消息用于表征所述新版本服务对应的实例启动且注册完成;
所述加入模块,用于基于所述注册完成消息,将启动且注册完成的实例加入可用服务实例集群,以使用所述启动且注册完成的实例对新任务请求进行处理。
在其他实施例中,所述装置还包括:第三接收模块,用于接收注册与发现中心发送的注销注册消息,所述注销注册消息用于表征所述旧版本服务对应的实例为待注销实例;
相应地,所述启停模块包括:第五确定单元和第二停止单元;其中,
所述第五确定单元,用于基于所述注销注册消息,确定所述旧版本服务对应的实例为待注销实例;
所述第二停止单元,用于如果所述待注销实例没有未处理完成的任务请求,按照所述第二比例,分批停止所述待注销的实例。
在其他实施例中,所述启停模块包括:第三停止单元,用于如果所述待注销实例有未处理完成的任务请求,等待所述待注销实例将所述未处理完成的任务请求处理完成后,按照所述第二比例,分批停止所述待注销的实例。
需要说明的是,上述实施例提供的服务实例的更新装置在进行服务实例的更新时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的服务实例的更新装置与服务实例的更新方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图4为本申请实施例的服务实例的更新设备的一种硬件装置示意图,如图4所示,所述装置包括处理器402和用于存储能够在处理器402上运行的计算机程序的存储器401;其中,所述处理器402用于运行所述计算机程序时,以实现上述实施例中提供的服务实例的更新方法中的步骤。
这里需要指出的是:以上终端实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本申请终端实施例中未披露的技术细节,本领域的技术人员请参照本申请方法实施例的描述而理解,为节约篇幅,这里不再赘述。
在示例性实施例中,本申请实施例还提供了一种计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器401,上述计算机程序可由处理器402处理,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器处理时实现上述实施例中提供的服务实例的更新方法中的步骤。
这里需要指出的是:以上计算机介质实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本申请终端实施例中未披露的技术细节,本领域的技术人员请参照本申请方法实施例的描述而理解,为节约篇幅,这里不再赘述。
上述本申请实施例揭示的方法可以应用于所述处理器中,或者由所述处理器实现。所述处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过所述处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的所述处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。所述处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,所述处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
可以理解,本申请实施例的存储器(存储器)可以是易失性存储器或者非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(FlashMemory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,Synchronous Dynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random AccessMemory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random AccessMemory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。

Claims (10)

1.一种服务实例的更新方法,其特征在于,所述方法包括:
确定待更新的新版本服务;
确定当前运行的旧版本服务;
接收更新操作启动指令,所述更新操作启动指令用于指示开启服务实例的更新操作;
基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成。
2.根据权利要求1所述的方法,其特征在于,所述按照预设的第一比例,分批启动所述新版本服务对应的实例,包括:
确定所述新版本服务对应的第一实例总数;
根据所述第一实例总数和所述第一比例,确定每次启动的第一实例数目;
分批启动所述第一实例数目对应的实例。
3.根据权利要求1所述的方法,其特征在于,所述按照预设的第二比例,分批停止所述旧版本服务对应的实例,包括:
确定所述旧版本服务对应的第二实例总数;
根据所述第二实例总数和所述第二比例,确定每次停止的第二实例数目;
分批停止所述第二实例数目对应的实例。
4.根据权利要求2或3所述的方法,其特征在于,所述第一比例为四分之一,所述第二比例为四分之一。
5.根据权利要求1所述的方法,其特征在于,所述按照预设的第一比例,分批启动所述新版本服务对应的实例之后,所述方法还包括:
接收调用的服务检查探针返回的注册完成消息,所述注册完成消息用于表征所述新版本服务对应的实例启动且注册完成;
基于所述注册完成消息,将启动且注册完成的实例加入可用服务实例集群,以使用所述启动且注册完成的实例对新任务请求进行处理。
6.根据权利要求1所述的方法,其特征在于,所述按照预设的第二比例,分批停止所述旧版本服务对应的实例之前,所述方法还包括:
接收注册与发现中心发送的注销注册消息,所述注销注册消息用于表征所述旧版本服务对应的实例为待注销实例;
相应地,所述按照预设的第二比例,分批停止所述旧版本服务对应的实例,包括:
基于所述注销注册消息,确定所述旧版本服务对应的实例为待注销实例;
如果所述待注销实例没有未处理完成的任务请求,按照所述第二比例,分批停止所述待注销的实例。
7.根据权利要求6所述的方法,其特征在于,所述按照预设的第二比例,分批停止所述旧版本服务对应的实例,包括:
如果所述待注销实例有未处理完成的任务请求,等待所述待注销实例将所述未处理完成的任务请求处理完成后,按照所述第二比例,分批停止所述待注销的实例。
8.一种服务实例的更新装置,其特征在于,所述装置包括:第一确定模块、第二确定模块、第一接收模块和启停模块;其中,
所述第一确定模块,用于确定待更新的新版本服务;
所述第二确定模块,用于确定当前运行的旧版本服务;
所述第一接收模块,用于接收更新操作启动指令,所述更新操作启动指令用于指示开启服务实例的更新操作;
所述启停模块,用于基于所述更新操作启动指令,按照预设的第一比例,分批启动所述新版本服务对应的实例,按照预设的第二比例,分批停止所述旧版本服务对应的实例,直至所述新版本服务对应的实例和所述旧版本服务对应的实例更新完成。
9.一种服务实例的更新设备,其特征在于,包括处理器和用于存储能够在处理器上运行的计算机程序的存储器;其中,所述处理器用于运行所述计算机程序时,执行权利要求1至7任一项所述服务实例的更新方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述服务实例的更新方法中的步骤。
CN201811640853.6A 2018-12-29 2018-12-29 一种服务实例的更新方法、装置及存储介质 Active CN109725920B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811640853.6A CN109725920B (zh) 2018-12-29 2018-12-29 一种服务实例的更新方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811640853.6A CN109725920B (zh) 2018-12-29 2018-12-29 一种服务实例的更新方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN109725920A true CN109725920A (zh) 2019-05-07
CN109725920B CN109725920B (zh) 2022-05-06

Family

ID=66298587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811640853.6A Active CN109725920B (zh) 2018-12-29 2018-12-29 一种服务实例的更新方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN109725920B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609701A (zh) * 2019-08-29 2019-12-24 凡普数字技术有限公司 提供服务的方法、装置和存储介质
CN111026425A (zh) * 2019-12-11 2020-04-17 腾讯科技(深圳)有限公司 服务更新方法、装置、服务器及介质
CN111309365A (zh) * 2020-02-12 2020-06-19 北京字节跳动网络技术有限公司 一种响应访问请求的方法、装置及计算机可读存储介质
CN111459612A (zh) * 2020-03-27 2020-07-28 新浪网技术(中国)有限公司 针对Kubernetes系统中Pod的更新方法及装置
CN111708759A (zh) * 2020-06-12 2020-09-25 北京思特奇信息技术股份有限公司 一种大表数据移植的优化方法和系统
CN111796854A (zh) * 2020-07-03 2020-10-20 中国建设银行股份有限公司 一种模块热升级的方法、装置、电子设备和可读存储介质
CN113411362A (zh) * 2020-03-16 2021-09-17 阿里巴巴集团控股有限公司 应用实例的控制方法、装置及设备
CN113672253A (zh) * 2021-07-29 2021-11-19 华人运通(上海)云计算科技有限公司 车辆的微服务系统的访问方法、装置、设备和介质
CN115002194A (zh) * 2022-05-25 2022-09-02 中国工商银行股份有限公司 一种微服务的管理方法及相关装置
CN113411362B (zh) * 2020-03-16 2024-05-14 阿里巴巴集团控股有限公司 应用实例的控制方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140282469A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Mechanism for safe and reversible rolling upgrades
CN106843945A (zh) * 2017-01-04 2017-06-13 厦门亿力吉奥信息科技有限公司 基于PaaS的GIS应用部署方法及系统
CN108282507A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 在CaaS环境中进行应用发布的方法、装置以及电子设备
CN108683516A (zh) * 2018-03-14 2018-10-19 聚好看科技股份有限公司 一种应用实例的升级方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140282469A1 (en) * 2013-03-15 2014-09-18 Microsoft Corporation Mechanism for safe and reversible rolling upgrades
CN106843945A (zh) * 2017-01-04 2017-06-13 厦门亿力吉奥信息科技有限公司 基于PaaS的GIS应用部署方法及系统
CN108282507A (zh) * 2017-01-06 2018-07-13 阿里巴巴集团控股有限公司 在CaaS环境中进行应用发布的方法、装置以及电子设备
CN108683516A (zh) * 2018-03-14 2018-10-19 聚好看科技股份有限公司 一种应用实例的升级方法、装置和系统

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110609701A (zh) * 2019-08-29 2019-12-24 凡普数字技术有限公司 提供服务的方法、装置和存储介质
CN111026425A (zh) * 2019-12-11 2020-04-17 腾讯科技(深圳)有限公司 服务更新方法、装置、服务器及介质
CN111309365A (zh) * 2020-02-12 2020-06-19 北京字节跳动网络技术有限公司 一种响应访问请求的方法、装置及计算机可读存储介质
CN113411362A (zh) * 2020-03-16 2021-09-17 阿里巴巴集团控股有限公司 应用实例的控制方法、装置及设备
CN113411362B (zh) * 2020-03-16 2024-05-14 阿里巴巴集团控股有限公司 应用实例的控制方法、装置及设备
CN111459612A (zh) * 2020-03-27 2020-07-28 新浪网技术(中国)有限公司 针对Kubernetes系统中Pod的更新方法及装置
CN111708759B (zh) * 2020-06-12 2023-07-07 北京思特奇信息技术股份有限公司 一种大表数据移植的优化方法和系统
CN111708759A (zh) * 2020-06-12 2020-09-25 北京思特奇信息技术股份有限公司 一种大表数据移植的优化方法和系统
CN111796854A (zh) * 2020-07-03 2020-10-20 中国建设银行股份有限公司 一种模块热升级的方法、装置、电子设备和可读存储介质
CN111796854B (zh) * 2020-07-03 2023-03-31 中国建设银行股份有限公司 一种模块热升级的方法、装置、电子设备和可读存储介质
CN113672253A (zh) * 2021-07-29 2021-11-19 华人运通(上海)云计算科技有限公司 车辆的微服务系统的访问方法、装置、设备和介质
CN113672253B (zh) * 2021-07-29 2023-11-14 华人运通(上海)云计算科技有限公司 车辆的微服务系统的访问方法、装置、设备和介质
CN115002194A (zh) * 2022-05-25 2022-09-02 中国工商银行股份有限公司 一种微服务的管理方法及相关装置

Also Published As

Publication number Publication date
CN109725920B (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
CN109725920A (zh) 一种服务实例的更新方法、装置及存储介质
US8001080B2 (en) Managing real-time execution of transactions in a network
US20200314168A1 (en) Distributed code execution involving a serverless computing infrastructure
US20160301758A1 (en) Generic cloud enabling of stateful applications
CN102663649A (zh) 金融衍生品交易系统
US10904086B1 (en) Device capabilities management from a service provider environment
CN106161537A (zh) 远程过程调用的处理方法、装置、系统及电子设备
CN110677462B (zh) 多区块链网络的访问处理方法、系统、装置及存储介质
CN107203560B (zh) 数据库、多数据库操作事务一致性保证方法及系统
CN111460504B (zh) 业务处理方法、装置、节点设备及存储介质
CN109639598A (zh) 基于微服务的请求处理方法、服务器、存储介质及装置
CN109785042A (zh) 分布式部署的异常处理方法、服务器、存储介质及装置
CN104065636A (zh) 数据处理方法和系统
CN106557471A (zh) 任务调度方法及装置
US20060123070A1 (en) Method and system of committing operations of a synchronized transaction
CN105119997A (zh) 云计算系统的数据处理方法
JP2019528490A (ja) マルチテナント・データベース環境における接続の効率的な転用のためのシステムおよび方法
US10585696B2 (en) Predicting transaction outcome based on artifacts in a transaction processing environment
US7155712B2 (en) Information processing system enabling dynamically loading or replacing program component in memory allocated to activated process
WO2007081351A1 (en) System and method for conversation and callback based on web service addressing and asynchronous request response
US7133913B2 (en) Information routing
CN104391876A (zh) 一种静态数据存储及查询方法及系统
US20200045139A1 (en) Remote procedure call using quorum state store
US8732346B2 (en) Coordination of direct I/O with a filter
CN110381150B (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