CN111309365A - 一种响应访问请求的方法、装置及计算机可读存储介质 - Google Patents
一种响应访问请求的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111309365A CN111309365A CN202010089673.4A CN202010089673A CN111309365A CN 111309365 A CN111309365 A CN 111309365A CN 202010089673 A CN202010089673 A CN 202010089673A CN 111309365 A CN111309365 A CN 111309365A
- Authority
- CN
- China
- Prior art keywords
- service instance
- version
- service
- instance
- version service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000008569 process Effects 0.000 claims description 36
- 238000001514 detection method Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
- G06F11/143—Reconfiguring to eliminate the error with loss of software functionality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种响应访问请求的方法、装置及计算机可读存储介质,其中,该方法应用于服务设备,该服务设备中运行有当前对外提供服务的第一版本服务实例,且服务设备中部署有服务代理Agent模块,服务设备基于所述Agent模块执行:启动第二版本服务实例;检测启动的所述第二版本服务实例是否能够对外提供服务;在确定所述第二版本服务实例能够对外提供服务后,将当前对外提供服务的服务实例从第一版本服务实例切换为第二版本服务实例。本公开实施例通过使用服务代理实现新旧版本的无缝切换,提升了业务服务质量。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种响应访问请求的方法、装置及计算机可读存储介质。
背景技术
服务设备通常通过部署服务实例来为其它客户机,如手机、电脑等终端提供计算或者应用服务。在对服务实例进行升级操作时,需要使用新版本的服务实例代替旧版本的服务实例,也即需要关闭旧版本的服务实例,安装并启动新版本的服务实例。
上述过程中,在关闭旧版本的服务实例之后,启动完成新版本的服务实例之前,服务设备是无法对外与该服务实例相关的服务内容的,从而导致无法正常响应外部的访问请求。
发明内容
本公开实施例至少提供一种响应访问请求的方法、装置及计算机可读存储介质。
第一方面,本公开实施例提供了一种响应访问请求的方法,应用于服务设备,所述服务设备中运行有当前对外提供服务的第一版本服务实例,且所述服务设备中部署有服务代理Agent模块,所述服务设备基于所述Agent模块执行以下方法步骤:
启动第二版本服务实例;第二版本服务实例为第一版本服务实例对应的更新后版本的服务实例;
检测启动的第二版本服务实例是否能够对外提供服务;
在确定第二版本服务实例能够对外提供服务后,将当前对外提供服务的服务实例从第一版本服务实例切换为第二版本服务实例。
在一种可能的实施方式中,将当前对外提供服务的服务实例从第一版本的服务实例切换为第二版本服务实例,包括:
在保持所述第一版本服务实例运行的过程中,若接收到外部的访问请求,将该访问请求迁移至所述第二版本服务实例,以便通过所述第二版本服务实例处理所述访问请求。
在一种可能的实施方式中,将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例之后,还包括:
在预设时间长度内,若未接收到服务实例回滚指令,则关闭所述第一版本服务实例;所述服务实例回滚指令用于指示将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例。
在另一种可能的实施方式中,将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例之后,还包括:
若接收到服务实例回滚指令,将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例。
在一种可能的实施方式中,将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例之后,还包括:
关闭所述第二版本服务实例。
在一种可能的实施方式中,检测启动的所述第二版本服务实例是否能够对外提供服务,包括:
向所述第二版本服务实例发送检测请求;
若接收到所述第二版本服务实例反馈的正确响应结果,则确定所述第二版本服务实例能够对外提供服务。
第二方面,本公开实施例还提供一种响应访问请求的装置,所述装置应用于服务设备,所述服务设备中运行有当前对外提供服务的第一版本服务实例,且所述服务设备中部署有服务代理Agent模块,所述Agent模块包括:
启动单元,用于启动第二版本服务实例;所述第二版本服务实例为所述第一版本服务实例对应的更新后版本的服务实例;
检测单元,用于检测启动的所述第二版本服务实例是否能够对外提供服务;
切换单元,用于在确定所述第二版本服务实例能够对外提供服务后,将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例。
在一种可能的实施方式中,所述切换单元在将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例时,用于:
在保持所述第一版本服务实例运行的过程中,若接收到外部的访问请求,将该访问请求迁移至所述第二版本服务实例,以便通过所述第二版本服务实例处理所述访问请求。
在一种可能的实施方式中,切换单元将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例之后,还用于:
若接收到服务实例回滚指令,将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例。
在另一种可能的实施方式中,切换单元将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例之后,还用于:
若在预设时间长度内,未接收到服务实例回滚指令,则关闭所述第一版本服务实例;所述服务实例回滚指令用于指示将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例。
在一种可能的实施方式中,切换单元将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例之后,还用于:
关闭所述第二版本服务实例。
在一种可能的实施方式中,检测单元检测启动的所述第二版本服务实例是否能够对外提供服务时,用于:
向所述第二版本服务实例发送检测请求;
若接收到所述第二版本服务实例反馈的正确响应结果,则确定所述第二版本服务实例能够对外提供服务。
第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令中包括执行代理服务的指令模块,该指令模块被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有执行代理服务的计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本公开实施例提供的响应访问请求的方法,通过在服务设备中部署服务代理Agent模块,来实现对外部访问请求的灵活迁移。首先在保持旧版本服务实例对外提供服务的前提下,启动新版本服务实例,在确定新版本服务实例能够对外提供服务后,再将当前响应外部访问请求的服务实例从旧版本服务实例切换到新版本服务实例,从而在新版本服务实例启动过程中,也能使用旧版本服务实例对外提供服务,实现了新旧版本的无缝切换,保证了业务不被中断,提升了业务服务质量。
进一步地,本公开实施例在启用新版本服务实例后的一定时间内,可以保持旧版本服务实例处于运行状态,当发现新版本服务实例存在需要修复的问题时,可以在极短的时间内从第二版本服务实例切换回第一版本服务实例,实现秒级回滚,从而维护业务的正常进行。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种响应访问请求的方法的流程图;
图2示出了本公开实施例所提供的一种响应访问请求的装置的示意图;
图3示出了本公开实施例所提供的一种计算机设备结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
经研究发现,在服务设备进行更新服务实例操作(也就是对服务实例进行升级操作)时,通常需要关闭第一版本服务实例(也即更新前的服务实例,即旧版本服务实例,下述旧版本服务实例均以第一版本服务实例指代)。在关闭第一版本服务实例之后,再在服务设备上启动第二版本服务实例(也就是更新后的服务实例,即新版本服务实例,下述新版本服务实例均以第二版本服务实例指代)。在关闭第一版本服务实例,启动第二版本服务实例的过程中,服务设备上并没有可以提供相关功能的服务实例可以为外部请求提供相关服务,也即服务设备无法对外提供相关服务,从而影响业务服务质量。
除此之外,在第二版本服务实例启动成功后,如出现问题,不能为外部请求提供服务,此时需要关闭第二版本服务实例,并重新启动第一版本服务实例,此过程与上述更新操作相反,但是原理相同,(此过程称之为回滚操作)。在回滚操作中,同样需要关闭服务设备中的运行中服务实例后,再启动可用服务实例,因而会出现同样的问题:在回滚操作过程中,服务设备上没有服务实例来响应外部请求。
基于上述研究,本公开实施例提供了一种响应访问请求的方法,通过在服务设备中部署服务代理Agent模块,来实现对外部访问请求的灵活迁移。首先在保持旧版本服务实例对外提供服务的前提下,启动新版本服务实例,在确定新版本服务实例能够对外提供服务后,再将当前响应外部访问请求的服务实例从旧版本服务实例切换到新版本服务实例,从而在新版本服务实例启动过程中也能一直对外提供服务,实现了新旧版本的无缝切换,提升了服务设备的业务服务质量。
另外,为了进一步提升业务服务的可靠性,本公开实施例在启用新版本服务实例后的一定时间内,继续保持旧版本服务实例处于运行状态;当发现新版本服务实例存在需要修复的问题时,由于不需要再执行可用服务实例的启动操作,可以通过Agent模块在极短的时间内从第二版本服务实例切换回第一版本服务实例,实现秒级回滚,从而维护业务的正常进行。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本公开实施例进行理解,首先对本公开实施例所公开的一种响应访问请求的方法进行详细介绍,本公开实施例所提供的响应访问请求的方法的执行主体为对外提供访问服务的服务设备,服务设备具体可以通过处理器调用存储器中存储的计算机可读指令的方式来实现本公开实施例的方法。
下面对本公开实施例提供的响应访问请求的方法加以说明。
参见图1所示,为本公开实施例提供的响应访问请求的方法的流程图,该方法应用于服务设备,在服务设备中运行有当前对外提供服务的第一版本服务实例,也即更新前版本的服务实例;本公开实施例在服务设备中部署了服务代理(Agent)模块,用以代理外部访问请求,外部会先向服务设备的Agent模块发送访问请求,Agent模块将访问请求代理到当前对外提供服务的服务实例上。比如,在新版本的服务实例,也即下述第二版本服务实例正式上线前,先将外部的访问请求代理到更新前的第一版本服务实例。同时,Agent模块在保证当前有服务实例对外提供服务的前提下,执行下述版本更新流程:
S101:启动第二版本服务实例;第二版本服务实例为第一版本服务实例对应的更新后版本的服务实例;
在具体实施中,可以在保持第一版本服务实例运行的过程中,通过Agent模块将更新后的第二版本服务实例进行启动。在第二版本服务实例启动过程中,如果有外部的访问请求进来,Agent模块可以将访问请求代理到更新前的第一版本服务实例,从而第二版本服务实例的启动不会影响服务设备对外提供服务。
S102:检测启动的第二版本服务实例是否能够对外提供服务;
这里,若检测到更新后的第二版本服务实例不能够对外提供服务,则继续将访问请求代理到更新前的第一版本服务实例,若检测到第二版本服务实例可以开始对外提供服务,进入S103执行版本切换流程。
在具体实施中,在检测到上述第二版本服务实例启动完成后,Agent模块可以向第二版本服务实例发送检测请求,根据第二版本服务实例的响应结果,判断第二版本服务实例是否能够对外提供服务,若能够对外提供服务则执行版本切换流程,如果不能,则继续由第一版本服务实例对外提供服务,也即继续将外部的访问请求代理到(或称迁移到)第一版本服务实例进行响应。
具体地,当Agent模块检测到第二版本服务实例启动完成后,向第二版本服务实例发送检测请求,该检测请求可以为预先配置的请求指令或模拟外部的访问请求的请求指令;第二版本服务实例接收到Agent模块发送的检测请求后,响应该请求,若Agent模块未接收到响应结果,或者接收到的响应结果与预期结果不符,则认为第二版本服务实例无法正常对外提供服务,此时继续由第一版本服务实例对外提供服务,也即继续将接收到的外部的访问请求迁移至第一版本服务实例进行响应,同时还可以关闭第二版本服务实例,等待开发人员重新对第二版本服务实例进行调整后,再次执行上述启动和检测的步骤。若Agent模块接收到的第二版本服务实例的响应结果与预期相符合,则可以认为第二版本服务实例能够对外提供服务,此时进入S103,执行版本切换流程。
S103:在确定第二版本服务实例能够对外提供服务后,将当前对外提供服务的服务实例从第一版本服务实例切换为第二版本服务实例。
这里,在确定第二版本服务实例能够对外提供服务后,也即在向第二版本服务实例发送检测请求后,若第二版本服务实例针对检测请求反馈了正确的响应结果,则认为此时第二版本服务实例能够对外提供服务,此时将当前对外提供服务的服务实例从第一版本服务实例切换为第二版本服务实例。
这里执行服务实例切换,也即Agent模块在确认第二版本服务实例可以正常上线后,若接收到外部的访问请求,不再迁移到第一版本服务实例进行响应,而是将外部的访问请求迁移到第二版本服务实例进行响应。具体执行过程包括:在保持第一版本服务实例运行的过程中,当Agent模块接收到外部访问请求时,将该访问请求迁移至第二版本服务实例,第二版本服务实例针对该访问请求执行相关处理操作,比如反馈访问内容、执行相关业务处理等。
在上述过程中,Agent模块虽然将外部的访问请求迁移到了第二版本服务实例,但仍可以保持第一版本服务实例继续运行,以便在第二版本服务实例出现问题(bug)时实现及时回滚。也即,保持第一版本服务实例继续运行的情况下,若开发人员发现第二版本服务实例出现bug,可以向Agent模块下发服务实例回滚指令,该服务实例回滚指令即用于指示将当前对外提供服务的服务实例从所述第二版本服务实例切换回第一版本服务实例。Agent模块响应该服务实例回滚指令,及时将当前对外提供服务的服务实例从所述第二版本服务实例切换回第一版本服务实例,也即将后续接收的访问请求迁移至第一版本服务实例进行响应。
另外,在具体实施中,Agent模块在将当前对外提供服务的服务实例从第一版本服务实例切换为第二版本服务实例之后,若在经过预设时间长度内,未接收到服务实例回滚指令,则此时可以认为第二版本服务实例可以稳定运行了,此时可以自动关闭第一版本服务实例,以节省服务设备资源。
这里,上述预设时间长度可以根据经验预先设置,比如10分钟。Agent模块可以在第二版本服务实例正式上线后启动定时器,设置定时时间为10分钟。若第二版本服务实例存在bug,一般会在该预设时间长度内出现响应错误的情况,比如刷新失败、文字显示错误、图片显示错误等情况,此时可以选择服务实例回滚,切换回第一版本服务实例。若在上述预设时间长度内服务正常,开发人员不用下发关闭指令,Agent模块可以在定时器到达定时时间后,自动关闭第一版本服务实例。
在具体实施中,若因第二版本服务实例出现bug进行了服务实例回滚,在切换回第一版本服务实例后,可以选择关闭存在bug的第二版本服务实例,等待开发人员调试后再次上线,并再次执行上述服务实例切换过程。
采用本公开实施例提供的上述响应访问请求的方法,通过引入Agent模块,来对外部的访问请求进行分配,在启动新版本的服务实例的过程中,可以一直由Agent模块来接收外部的访问请求,并将其迁移到旧版本的服务实例进行响应,在新版本的服务实例启动完成,并确认可用后,Agent模块可以将外部的访问请求再迁移到旧版本的服务实例,在此过程中,一直有服务实例可以对外提供服务,保证了业务服务的不中断,提升了服务设备的对外服务质量。除此之外,在新版本的服务实例启动后的一段时间之内,旧版本的服务实例仍然可以处于运行状态,一旦发现新版本的服务实例存在问题,可以及时进行回滚,继续由旧版本的服务实例对外提供服务,该回滚过程由于不需要旧版本的启动过程,需要的时间非常短,基本可以在几秒的时间内完成,同时在这个极短的时间内,新版本的服务实例仍然可以临时应急,从而进一步确保了业务服务的可靠性。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与响应访问请求的方法对应的响应访问请求的装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述响应访问请求的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图2所示,为本公开实施例提供的一种响应访问请求的装置的示意图,所述装置应用于服务设备,所述服务设备中运行有当前对外提供服务的第一版本服务实例,且所述服务设备中部署有服务代理Agent模块,所述Agent模块包括:
启动单元21,用于启动第二版本服务实例;所述第二版本服务实例为所述第一版本服务实例对应的更新后版本的服务实例;
检测单元22,用于检测启动的所述第二版本服务实例是否能够对外提供服务;
切换单元23,用于在确定所述第二版本服务实例能够对外提供服务后,将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例。
在一种可能的实施方式中,所述切换单元23在将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例时,用于:
在保持所述第一版本服务实例运行的过程中,若接收到外部的访问请求,将该访问请求迁移至所述第二版本服务实例,以便通过所述第二版本服务实例处理所述访问请求。
一种可能的实施方式中,切换单元23将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例之后,还用于:
若接收到服务实例回滚指令,将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例。
一种可能的实施方式中,切换单元23将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例之后,还用于:
若在预设时间长度内,未接收到服务实例回滚指令,则关闭所述第一版本服务实例;所述服务实例回滚指令用于指示将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例。
一种可能的实施方式中,切换单元23将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例之后,还用于:
关闭所述第二版本服务实例。
一种可能的实施方式中,检测单元22检测启动的所述第二版本服务实例是否能够对外提供服务时,用于:
向所述第二版本服务实例发送检测请求;
若接收到所述第二版本服务实例反馈的正确响应结果,则确定所述第二版本服务实例能够对外提供服务。
本公开实施例提供的上述装置通过在服务设备中部署服务代理Agent模块,来实现对外部访问请求的灵活迁移。Agent模块能够将外部的访问请求代理到可用的服务实例,在此基础上,在保持旧版本服务实例对外提供服务的前提下,Agent模块的启动单元21启动新版本服务实例,在检测单元22确定新版本服务实例能够对外提供服务后,切换单元23再将当前响应外部访问请求的服务实例从旧版本服务实例切换到新版本服务实例,也即将后续的服务请求代理到新版本的服务实例,从而在新版本服务实例启动过程中也能一直对外提供服务,实现了新旧版本的无缝切换,提升了对外服务质量;同时,在切换到新版本的服务实例后,可以在一定时间内保持旧版本的服务实例处于运行状态,在新版本服务实例出现问题时,切换单元23可以及时回滚,进一步确保了对外服务的可靠性。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
对应于图3中的响应访问请求的方法,本公开实施例还提供了一种计算机设备30,如图3所示,为本公开实施例提供的计算机设备30结构示意图,包括:处理器31、存储器32、和总线33。所述存储器32存储有所述处理器31可执行的机器可读指令,当计算机设备30运行时,所述处理器31与所述存储器32之间通过总线33通信,所述机器可读指令中包括执行代理服务的指令模块(Agent模块),该指令模块被所述处理器31执行时可以执行上述响应访问请求的方法,具体地,在将外部的访问请求代理到当前运行的对外提供服务的第一版本服务实例的过程中,启动第二版本服务实例;所述第二版本服务实例为所述第一版本服务实例对应的更新后版本的服务实例;检测启动的所述第二版本服务实例是否能够对外提供服务;在确定所述第二版本服务实例能够对外提供服务后,将当前对外提供服务的服务实例从所述第一版本服务实例切换为第二版本服务实例。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有执行代理服务的计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的响应访问请求的方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例所提供的响应访问请求的方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的响应访问请求的方法的步骤,具体可参见上述方法实施例,在此不再赘述。
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现上述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可能实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可能实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software DevelopmentKit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种响应访问请求的方法,其特征在于,应用于服务设备,所述服务设备中运行有当前对外提供服务的第一版本服务实例,且所述服务设备中部署有服务代理Agent模块,所述服务设备基于所述Agent模块执行以下方法步骤:
启动第二版本服务实例;所述第二版本服务实例为所述第一版本服务实例对应的更新后版本的服务实例;
检测启动的所述第二版本服务实例是否能够对外提供服务;
在确定所述第二版本服务实例能够对外提供服务后,将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例。
2.根据权利要求1所述的方法,其特征在于,所述将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例,包括:
在保持所述第一版本服务实例运行的过程中,若接收到外部的访问请求,将该访问请求迁移至所述第二版本服务实例,以便通过所述第二版本服务实例处理所述访问请求。
3.根据权利要求2所述的方法,其特征在于,将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例之后,还包括:
若接收到服务实例回滚指令,将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例。
4.根据权利要求2所述的方法,其特征在于,将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例之后,还包括:
若在预设时间长度内,未接收到服务实例回滚指令,则关闭所述第一版本服务实例;所述服务实例回滚指令用于指示将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例。
5.根据权利要求4所述的方法,将当前对外提供服务的服务实例从所述第二版本服务实例切换回所述第一版本服务实例之后,还包括:
关闭所述第二版本服务实例。
6.根据权利要求1所述的方法,其特征在于,检测启动的所述第二版本服务实例是否能够对外提供服务,包括:
向所述第二版本服务实例发送检测请求;
若接收到所述第二版本服务实例反馈的正确响应结果,则确定所述第二版本服务实例能够对外提供服务。
7.一种响应访问请求的装置,其特征在于,应用于服务设备,所述服务设备中运行有当前对外提供服务的第一版本服务实例,且所述服务设备中部署有服务代理Agent模块,所述Agent模块包括:
启动单元,用于启动第二版本服务实例;所述第二版本服务实例为所述第一版本服务实例对应的更新后版本的服务实例;
检测单元,用于检测启动的所述第二版本服务实例是否能够对外提供服务;
切换单元,用于在确定所述第二版本服务实例能够对外提供服务后,将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例。
8.根据权利要求7所述的装置,其特征在于,所述切换单元在将当前对外提供服务的服务实例从所述第一版本服务实例切换为所述第二版本服务实例时,用于:
在保持所述第一版本服务实例运行的过程中,若接收到外部的访问请求,将该访问请求迁移至所述第二版本服务实例,以便通过所述第二版本服务实例处理所述访问请求。
9.一种计算机设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令中包括执行代理服务的指令模块,该指令模块被所述处理器执行时执行如权利要求1至6任一所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有执行代理服务的计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任意一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089673.4A CN111309365A (zh) | 2020-02-12 | 2020-02-12 | 一种响应访问请求的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010089673.4A CN111309365A (zh) | 2020-02-12 | 2020-02-12 | 一种响应访问请求的方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111309365A true CN111309365A (zh) | 2020-06-19 |
Family
ID=71145749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010089673.4A Pending CN111309365A (zh) | 2020-02-12 | 2020-02-12 | 一种响应访问请求的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309365A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113590178A (zh) * | 2021-07-30 | 2021-11-02 | 远光软件股份有限公司 | Api实例的管理方法、装置、存储介质及电子设备 |
CN114710550A (zh) * | 2022-03-18 | 2022-07-05 | 中国建设银行股份有限公司 | 请求响应方法、装置、设备及计算机存储介质 |
US20230107783A1 (en) * | 2020-03-26 | 2023-04-06 | Autonetworks Technologies, Ltd. | In-vehicle information processing apparatus, information processing method, and server program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108683516A (zh) * | 2018-03-14 | 2018-10-19 | 聚好看科技股份有限公司 | 一种应用实例的升级方法、装置和系统 |
CN109725920A (zh) * | 2018-12-29 | 2019-05-07 | 咪咕文化科技有限公司 | 一种服务实例的更新方法、装置及存储介质 |
CN110333875A (zh) * | 2019-07-02 | 2019-10-15 | 上海企创信息科技有限公司 | 一种服务程序更新方法、装置、服务器及存储介质 |
-
2020
- 2020-02-12 CN CN202010089673.4A patent/CN111309365A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108683516A (zh) * | 2018-03-14 | 2018-10-19 | 聚好看科技股份有限公司 | 一种应用实例的升级方法、装置和系统 |
CN109725920A (zh) * | 2018-12-29 | 2019-05-07 | 咪咕文化科技有限公司 | 一种服务实例的更新方法、装置及存储介质 |
CN110333875A (zh) * | 2019-07-02 | 2019-10-15 | 上海企创信息科技有限公司 | 一种服务程序更新方法、装置、服务器及存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230107783A1 (en) * | 2020-03-26 | 2023-04-06 | Autonetworks Technologies, Ltd. | In-vehicle information processing apparatus, information processing method, and server program |
CN113590178A (zh) * | 2021-07-30 | 2021-11-02 | 远光软件股份有限公司 | Api实例的管理方法、装置、存储介质及电子设备 |
CN113590178B (zh) * | 2021-07-30 | 2023-06-13 | 远光软件股份有限公司 | Api实例的管理方法、装置、存储介质及电子设备 |
CN114710550A (zh) * | 2022-03-18 | 2022-07-05 | 中国建设银行股份有限公司 | 请求响应方法、装置、设备及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111309365A (zh) | 一种响应访问请求的方法、装置及计算机可读存储介质 | |
CN108430116B (zh) | 断网重连方法、介质、装置和计算设备 | |
EP2864873B1 (en) | Auto-update while running a client software application with update handshake between versions and runtime validation of the successor version | |
EP1705566A1 (en) | Server system and online software update method | |
CN102035683B (zh) | 一种主备板倒换的控制方法和系统 | |
CN109361542B (zh) | 客户端的故障处理方法、装置、系统、终端和服务器 | |
CN111552489B (zh) | 用户态文件系统热升级方法、装置、服务器及介质 | |
CN105260209A (zh) | 一种程序热更新解决方法 | |
WO2017028375A1 (zh) | 一种版本升级方法及系统 | |
CN110399152A (zh) | 一种设备系统双备份升级方法及装置 | |
CN109144776A (zh) | 虚拟机镜像文件处理方法及装置 | |
CN113206877A (zh) | 一种会话保持方法及装置 | |
CN108804129B (zh) | 一种软件升级方法及装置 | |
CN107465756B (zh) | 一种服务请求处理的方法和装置 | |
CN113110948A (zh) | 一种容灾数据处理方法和装置 | |
CN112751693B (zh) | 分布式存储系统的数据处理方法、装置及电子设备 | |
WO2017000586A1 (zh) | 虚拟网元的升级方法、装置和计算机存储介质 | |
CN110708203A (zh) | 一种容错方法、装置及设备 | |
CN110149232B (zh) | 分布式存储块升级iscsi服务方法、系统、装置及存储介质 | |
CN112181512B (zh) | 一种业务进程管理方法、装置、电子设备及存储介质 | |
CN114020311A (zh) | 固件升级方法、装置及电子设备 | |
CN114090055A (zh) | 应用程序更新方法、装置、终端及存储介质 | |
JP5317182B2 (ja) | Pos端末、モジュールアップデート方法およびモジュールアップデートプログラム | |
CA2679021A1 (en) | System and method for transactional application lifecycle management for mobile devices | |
CN107688475B (zh) | 基于IOS系统软件开发包引用Swift语言类库的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200619 |