预加载实例申请的处理方法、装置、存储介质及电子设备

著录项
  • CN202211692809.6
  • 20221228
  • CN115671716A
  • 20230203
  • 北京海誉动想科技股份有限公司
  • 李二帅
  • A63F13/35
  • A63F13/35 A63F13/77 G06F9/48 G06F9/50 H04L67/131 H04L67/51 H04L67/568 H04N21/231

  • 北京市朝阳区酒仙桥北路甲10号院201楼3层304室、305室
  • 北京(11)
  • 福州市景弘专利代理事务所(普通合伙)
  • 郭鹏飞
摘要
本申请提供了一种预加载实例申请的处理方法、装置、存储介质和电子设备,该方法适用于第一云服务器,通过接收第二云服务器对预加载实例申请请求的反馈结果,根据反馈结果判断是否满足预设的熔断条件,若是则第一云服务器对业务申请对象后续的资源配置请求的响应进入熔断状态或第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;判断是否满足预设的恢复条件,若是则第一云服务器结束对业务申请对象后续的资源配置请求的响应的熔断状态或第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。上述方案能够有效降低第二云服务器的负荷以及提升第一云服务器的整体性能。
权利要求

1.一种预加载实例申请的处理方法,适用于第一云服务器,其特征在于,所述方法包括:

接收业务申请对象的资源配置请求,确定所述资源配置请求对应的预加载配置信息,并向第二云服务器发起包含所述预加载配置信息的预加载实例申请请求;

接收所述第二云服务器对所述预加载实例申请请求的反馈结果,根据所述反馈结果判断是否满足预设的熔断条件,若是则所述第一云服务器对所述业务申请对象后续的资源配置请求的响应进入熔断状态或所述第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;

判断是否满足预设的恢复条件,若是则所述第一云服务器结束对所述业务申请对象后续的资源配置请求的响应的熔断状态或所述第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。

2.如权利要求1所述的预加载实例申请的处理方法,其特征在于,

第一云服务器对后续的预加载实例申请请求的响应进入熔断状态包括:

第一云服务器将后续的预加载实例申请请求暂停,并以探针方式向所述第二云服务器申请预加载实例;

判断是否满足预设的恢复条件包括:

判断一次或连续多次以探针方式向所述第二云服务器申请预加载实例是否成功,若是则视为满足预设的恢复条件。

3.如权利要求1所述的预加载实例申请的处理方法,其特征在于,

接收所述第二云服务器对所述预加载实例申请请求的反馈结果,根据所述反馈结果判断是否满足预设的熔断条件包括:

根据滚动时间窗内包含的所有申请数据桶对所述滚动时间窗做健康检查,获得健康检查结果,判断所述健康检查结果是否为不健康,若为不健康则视为满足所述预设的熔断条件;

其中,每个申请数据桶包括对应云应用的一个历史所述预加载实例申请请求的反馈结果,所述预加载实例申请请求的反馈结果包括时间戳,以及申请总次数、成功次数和失败次数这三项中的至少两项,所述申请总次数为所述成功次数和失败次数的和。

4.如权利要求3所述的方法,其特征在于,所述滚动时间窗的更新条件包括第一条件或第二条件,其中,所述第一条件为系统当前时间与滚动时间窗内第一个申请数据桶的时间戳对应时间的差值大于预设时长,所述第一个申请数据桶为所述所有申请数据桶中时间戳对应时间最早的申请数据桶,所述第二条件为当前申请数据桶的数量大于所述滚动时间窗内包含的所有申请数据桶的数量。

5.如权利要求3或4所述的方法,其特征在于,所述根据滚动时间窗内包含的所有申请数据桶对所述滚动时间窗做健康检查,包括:

计算第一数值和第二数值的比值,其中,所述第一数值为所述所有申请数据桶的失败次数的和,所述第二数值为所述所有申请数据桶的申请总次数的和;

若所述比值大于第三数值,则确定健康检查结果为不健康。

6.如权利要求3或4所述的预加载实例申请的处理方法,其特征在于,所述滚动时间窗的数量为多个,每一所述滚动时间窗用于记录同一云应用对应的历史预加载实例申请请求的反馈结果;

在根据滚动时间窗内包含的所有申请数据桶对所述滚动时间窗做健康检查之前,还包括:

判断对应的云应用是否被用户终端申请服务或判断是否接收到对某一滚动时间窗的健康检查指令。

7.如权利要求1所述的预加载实例申请的处理方法,其特征在于,

所述业务申请对象后续的资源配置请求的响应进入熔断状态包括:在第一预设时间内不对所述业务申请对象后续的资源配置请求进行响应;

所述判断是否满足预设的恢复条件包括:判断所述第一云服务器不对所述业务申请对象后续的资源配置请求进行响应的时间是否达到所述第一预设时间。

8.一种预加载实例申请的处理装置,适用于第一云服务器,其特征在于,包括:

申请模块,用于接收业务申请对象的资源配置请求,确定所述资源配置请求对应的预加载配置信息,并向第二云服务器发起包含所述预加载配置信息的预加载实例申请请求;

熔断模块,用于接收所述第二云服务器对所述预加载实例申请请求的反馈结果,根据所述反馈结果判断是否满足预设的熔断条件,若是则所述第一云服务器对所述业务申请对象后续的资源配置请求的响应进入熔断状态或所述第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;

恢复模块,用于判断是否满足预设的恢复条件,若是则所述第一云服务器结束对所述业务申请对象后续的资源配置请求的响应的熔断状态或所述第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的预加载实例申请的处理方法的步骤。

10.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一项所述的预加载实例申请的处理方法的步骤。

说明书
技术领域

本申请涉及云计算技术领域,具体涉及一种预加载实例申请的处理方法、装置、存储介质及电子设备。

随着科技的发展,云应用得到广泛应用。通过将云应用在云服务器上进行安装启动,使得用户终端只需发送简单的操作指令至云服务器,就可以通过获得云服务器的推流画面来享受相关的云应用服务。

为了使得用户终端能够更加快速地享受云应用服务,通常要求云服务器具备预加载功能,即在将云服务器上的实例资源预加载为目标地域的预加载实例后,预先在目标地域的预加载实例中安装并启动云应用,使得用户终端在申请云应用服务时,云服务器能够快速将该云应用对应缓存的流信息推送给用户终端。

请参阅申请号为“201910758684 .4”的中国发明专利申请,其提供了一种云游戏资源调度方法,应用于服务器,包括:获取云游戏的目标预加载地域以及预加载数目;为目标预加载地域申请与预加载数目相同的实例资源;预加载实例资源作为目标预加载地域的预加载资源;在目标预加载地域的预加载资源上安装并启动云游戏;响应于归属目标预加载地域的用户终端的云游戏请求,将预加载资源的实例资源分配给用户终端。通过这一方案的设计,能够减少用户等待的时间,提升用户的游戏体验。

然而,以云应用为云游戏为例,当玩家人数较多时,根据预定的业务规则需要由第一云服务器向第二云服务器申请预加载实例,但是当第二云服务器出现异常或其上的实例资源不足时,将会返回预加载实例申请失败的消息给第一云服务器,但由于当前预加载实例数量无法满足对应云应用的服务需求,导致第一云服务器会持续性地向第二云服务器发起预加载实例申请请求,一方面会给第二云服务器造成无谓的响应所述预加载实例申请请求的负荷,另一方面也会浪费第一云服务器的资源开销(包括记录访问相关数据、日志等开销),造成巨大的数据库以及存储空间浪费,进而拉低第一云服务器的整体性能。

鉴于上述问题,本申请提供了一种预加载实例申请的处理方法、装置、存储介质及电子设备,以解决在第二云服务器上实例资源不足或出现异常情况时,第一云服务器仍持续向第二云服务器发起无效的预加载实例申请请求,导致第二云服务器的负荷增加以及第一云服务器的性能下降的问题。

第一方面,本申请实施例提供了一种预加载实例申请的处理方法,适用于第一云服务器,所述方法包括:

接收业务申请对象的资源配置请求,确定所述资源配置请求对应的预加载配置信息,并向第二云服务器发起包含所述预加载配置信息的预加载实例申请请求;

接收所述第二云服务器对所述预加载实例申请请求的反馈结果,根据所述反馈结果判断是否满足预设的熔断条件,若是则所述第一云服务器对所述业务申请对象后续的资源配置请求的响应进入熔断状态或所述第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;

判断是否满足预设的恢复条件,若是则所述第一云服务器结束对所述业务申请对象后续的资源配置请求的响应的熔断状态或所述第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。

第二方面,本申请实施例提供了一种预加载实例申请的处理装置,适用于第一云服务器,包括:

申请模块,用于接收业务申请对象的资源配置请求,确定所述资源配置请求对应的预加载配置信息,并向第二云服务器发起包含所述预加载配置信息的预加载实例申请请求;

熔断模块,用于接收所述第二云服务器对所述预加载实例申请请求的反馈结果,根据所述反馈结果判断是否满足预设的熔断条件,若是则所述第一云服务器对所述业务申请对象后续的资源配置请求的响应进入熔断状态或所述第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;

恢复模块,用于判断是否满足预设的恢复条件,若是则所述第一云服务器结束对所述业务申请对象后续的资源配置请求的响应的熔断状态或所述第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。

第三方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述的预加载实例申请的处理方法的步骤。

第四方面,本申请实施例还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述的预加载实例申请的处理方法的步骤。

区别于现有技术,本申请实施例提供的预加载实例申请的处理方法、装置、存储介质和电子设备,所述方法包括:接收业务申请对象的资源配置请求,确定所述资源配置请求对应的预加载配置信息,并向第二云服务器发起包含所述预加载配置信息的预加载实例申请请求;接收所述第二云服务器对所述预加载实例申请请求的反馈结果,根据所述反馈结果判断是否满足预设的熔断条件,若是则所述第一云服务器对所述业务申请对象后续的资源配置请求的响应进入熔断状态或所述第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;判断是否满足预设的恢复条件,若是则所述第一云服务器结束对所述业务申请对象后续的资源配置请求的响应的熔断状态或所述第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。

上述方案通过设置熔断条件和恢复条件,使得第一云服务器对所述业务申请对象后续的资源配置请求的响应状态或对后续的预加载实例申请请求的响应状态进行有效控制,进而使得预加载实例的申请调度合理,能够有效降低第二云服务器的负荷以及提升第一云服务器的整体性能。

上述发明内容相关记载仅是本申请技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本申请的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本申请的上述目的及其它目的、特征和优点能够更易于理解,以下结合本申请的具体实施方式及附图进行说明。

附图仅用于示出本申请具体实施方式以及其他相关内容的原理、实现方式、应用、特点以及效果等,并不能认为是对本申请的限制。

在说明书附图中:

图1为本申请一示例性实施例所述的预加载实例的申请过程的示意图;

图2为本申请第一示例性实施例所述的预加载实例申请的处理方法的流程图;

图3为本申请第二示例性实施例所述的预加载实例申请的处理方法的流程图;

图4为本申请第三示例性实施例所述的预加载实例申请的处理方法的流程图;

图5为本申请第四示例性实施例所述的预加载实例申请的处理方法的流程图;

图6为本申请一示例性实施例涉及的滚动时间窗的示意图;

图7为本申请一示例性实施例涉及的滚动时间窗中的申请数据桶的示意图;

图8为本申请一示例性实施例涉及的预加载实例申请的处理装置的模块示意图;

图9为本申请一示例性实施例涉及的电子设备的模块示意图;

上述各附图中涉及的附图标记说明如下:

700、预加载实例申请的处理装置;

701、申请模块;

702、熔断模块;

703、恢复模块;

800、电子设备;

801、处理器;

802、存储器;

803、总线。

为详细说明本申请可能的应用场景,技术原理,可实施的具体方案,能实现目的与效果等,以下结合所列举的具体实施例并配合附图详予说明。本文所记载的实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中各个位置出现的“实施例”一词并不一定指代相同的实施例,亦不特别限定其与其它实施例之间的独立性或关联性。原则上,在本申请中,只要不存在技术矛盾或冲突,各实施例中所提到的各项技术特征均可以以任意方式进行组合,以形成相应的可实施的技术方案。

除非另有定义,本文所使用的技术术语的含义与本申请所属技术领域的技术人员通常理解的含义相同;本文中对相关术语的使用只是为了描述具体的实施例,而不是旨在限制本申请。

在本申请的描述中,用语“和/或”是一种用于描述对象之间逻辑关系的表述,表示可以存在三种关系,例如A和/或B,表示:存在A,存在B,以及同时存在A和B这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”的逻辑关系。

在本申请中,诸如“第一”和“第二”之类的用语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何实例的数量、主次或顺序等关系。

在没有更多限制的情况下,在本申请中,语句中所使用的“包括”、“包含”、“具有”或者其他类似的开放式表述,意在涵盖非排他性的包含,这些表述并不排除在包括所述要素的过程、方法或者产品中还可以存在另外的要素,从而使得包括一系列要素的过程、方法或者产品中不仅可以包括那些限定的要素,而且还可以包括没有明确列出的其他要素,或者还包括为这种过程、方法或者产品所固有的要素。

与《审查指南》中的理解相同,在本申请中,“大于”、“小于”、“超过”等表述理解为不包括本数;“以上”、“以下”、“以内”等表述理解为包括本数。此外,在本申请实施例的描述中“多个”的含义是两个以上(包括两个),与之类似的与“多”相关的表述亦做此类理解,例如“多组”、“多次”等,除非另有明确具体的限定。

请参阅图1,为本申请一示例性实施例所述的预加载实例的申请过程的示意图。以云游戏在预加载实例上的预先安装启动为例,对第一云服务器(第一云服务器可以为云游戏业务服务集中的服务器)向第二云服务器(第二云服务器可以为云游戏实例资源服务集中的服务器)申请预加载实例的过程作进一步说明:

步骤一:第一云服务器选取目标地域和预加载实例数量,并向第二云服务器发起预加载实例申请请求。

具体的,存储服务器接收运营人员上传的云游戏的安装包体,并配置该云游戏的类型、清晰度等属性信息,之后根据云游戏的属性信息、热度等确认该云游戏的目标地域以及需要申请的预加载实例数量。在选取目标地域和预加载实例数量时,可以为每个云游戏设置默认的目标地域和默认的预加载实例数量,将设置的默认的目标地域和默认的预加载实例数量分布作为第一云服务器需要选取的该云游戏对应的目标地域和预加载实例数量。一个云游戏可以设置多个默认的目标地域,每一目标地域对应的默认的预加载实例数量也可以为多个。

步骤二:第二云服务器根据目标地域和预加载实例数量,分配预加载实例资源。

具体的,第二云服务器在获取到云游戏的多个目标地域和每个目标地域对应的预加载实例数量后,为每个目标地域申请与该目标地域对应的预加载实例数量相同的实例资源,并通过对申请的实例资源进行预加载得到相应数量的预加载实例。

步骤三:在预加载实例上预装云游戏。

具体的,第二云服务器选取匹配目标地域范围内的预加载实例资源,并通知实例安装该云游戏。

步骤四:安装启动游戏。

具体的,可以通过检索匹配在存储服务器上远程挂载的云游戏对应的安装包体信息,安装并启动对应的云游戏。

步骤五:缓存预加载云游戏视频流。

具体的,实例发出的多个预加载云游戏视频流被传递到第一云服务器后,按照预加载实例资源所属目标地域、云游戏的属性信息等进行分类后,将所述预加载云游戏视频流缓存在第一云服务器内存中。

步骤六:响应来自客户端的云游戏请求。

具体的,当接收到来自客户端的云游戏请求时,确定该客户端请求所属的地域、请求申请服务的游戏属性信息,检索并匹配第一云服务器内存中缓存的预装云游戏视频流,如果匹配成功,则立即响应客户端的请求,开始播放缓存的预加载云游戏视频流。

然而,云系统的实例资源有限,导致第二云服务器能够配置的预加载实例资源数量也是有限的,当实例资源不足时,如果第一云服务器仍不断向第二云服务器发起预加载实例申请请求,将导致第二云服务器因处理这些无效的预加载实例申请请求而负荷增加,且第一云服务器也会因不断发起这些无效的预加载实例申请请求而增加开销,导致整体性能下降。因此,本申请旨在解决在第二云服务器的实例资源不足时,对第一云服务器发起预加载实例申请请求的时机或方式进行优化,以降低第二云服务器的负荷,同时提升第一云服务器的整体性能。

请参阅图2,为本申请第一示例性实施例所述的预加载实例申请的处理方法的流程图。所述方法适用于第一云服务器,包括以下步骤:

首先进入步骤S101接收业务申请对象的资源配置请求,确定所述资源配置请求对应的预加载配置信息,并向第二云服务器发起包含所述预加载配置信息的预加载实例申请请求;

而后进入步骤S102接收所述第二云服务器对所述预加载实例申请请求的反馈结果,根据所述反馈结果判断是否满足预设的熔断条件;

若满足预设的熔断条件,则进入步骤S103所述第一云服务器对所述业务申请对象后续的资源配置请求的响应进入熔断状态或所述第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;

而后进入步骤S104判断是否满足预设的恢复条件,若满足预设的恢复条件,则进入步骤S105所述第一云服务器结束对所述业务申请对象后续的资源配置请求的响应的熔断状态或所述第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。

在本实施例中,第一云服务器通过向第二云服务器发起预加载实例申请请求,并使得第二云服务器在配置的相应数量的预加载实例上预先安装启动相应的云应用,并缓存第二云服务器返回的云应用视频流,以便后续能够快速地响应用户终端的服务请求。

在本实施例中,预加载实例基于预加载实例资源分配得到的实例,预加载实例资源是指将实例资源(如CPU、存储、网络等)形成一个新的组织结构,也就是资源池,即将所有设备的实例资源都被先放到一个池内,再进行统一分配为多个预加载实例。预加载后实例资源不再以单台服务器为单位,打破了服务器机箱的限制,将所有的CPU和内存等资源解放出来,汇集到一起,形成一个个CPU池、内存池、网络池等。

在本实施例中,业务申请对象是指预加载实例的申请对象,如可以是运营人员或内置于所述第一云服务器中的各个云应用对应的预加载实例申请规则程序,相对应的,资源配置请求可以由运营人员手动操作发送给第一云服务器,也可以在所述预加载实例申请规则程序被执行时主动发送给所述第一云服务器。预加载配置信息包括当前批次需要申请的预加载实例数量,第二云服务器在接收包含所述预加载配置信息的预加载实例申请请求后,若实例资源充足,就可以响应于第一云服务器的预加载实例申请请求,配置相应数量的预加载实例返回给第一云服务器。

例如以云游戏为例,所述预加载实例申请规则程序被执行时可以以下方式发送资源配置请求:当检测到云游戏的预加载实例的占用率超过初始设定的预加载实例数量的80%时,发送资源配置请求给所述第一云服务器,要求第一云服务器向所述第二云服务器申请初始设定数量30%的预加载实例。这样,当该云游戏对应的预加载实例的占用率超过该云游戏对应的初始设定的预加载实例数量的80%时,该云游戏对应的预加载实例申请规则程序将向第一云服务器发起资源配置请求,第一云服务器根据所述资源配置请求确定预加载配置信息为该云游戏对应的初始设定的预加载实例数量的30%,而后将向第二云服务器申请相应数量的预加载实例,以满足该云游戏后续的业务服务的需要。

优选的,预加载配置信息还包括目标地域,第二云服务器可以在所述目标地域上配置相应数量的预加载实例,这样,当云应用在预加载实例上预安装启动后,第一云服务器接收到用户终端的服务请求后,可以根据用户终端所在的地理位置信息确定与用户终端所在的地理位置信息相对应的目标地域,配置在对应的目标地域上的预加载实例中预安装启动完成的云应用,为用户终端快速提供相应服务,提升响应速度。

上述方案通过设置熔断条件和恢复条件,使得第一云服务器对所述业务申请对象后续的资源配置请求的响应状态或对后续的预加载实例申请请求的响应状态进行有效控制,进而使得预加载实例的申请调度合理,能够有效降低第二云服务器的负荷以及提升第一云服务器的整体性能。

通过上述方案,第一云服务器接收所述第二云服务器对所述预加载实例申请请求的反馈结果,并根据所述反馈结果判断是否满足预设的熔断条件;若满足预设的熔断条件,则所述第一云服务器对所述业务申请对象后续的资源配置请求的响应进入熔断状态或所述第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;而后判断是否满足预设的恢复条件,若是则所述第一云服务器结束对所述业务申请对象后续的资源配置请求的响应的熔断状态或所述第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。上述方案通过设置熔断条件和恢复条件,使得第一云服务器对所述业务申请对象后续的资源配置请求的响应状态或对后续的预加载实例申请请求的响应状态进行有效控制,进而使得预加载实例的申请调度合理,能够有效降低第二云服务器的负荷以及提升第一云服务器的整体性能。

请参阅图3,在前述方法实施例的基础上,所述方法还包括:

首先进入步骤S201判断是否满足预设的熔断条件;

若步骤S201判定为是则可以进入步骤S202第一云服务器将后续的预加载实例申请请求暂停,并以探针方式向所述第二云服务器申请预加载实例;

而后还可以进入步骤S203判断一次或连续多次以探针方式向所述第二云服务器申请预加载实例是否成功,若是则进入步骤S204恢复后续的预加载实例申请请求。

在本实施例中,以探针方式向所述第二云服务器申请预加载实例数量(以下称为“探针申请数量”)小于后续的预加载实例申请请求中的需要申请的预加载实例数量,所述探针申请数量的取值可以为1-5,也可以设定为后续的预加载实例申请请求中的需要申请的预加载实例数量的预定百分比(如1%-10%,并向上取整)。

例如探针申请数量取值为1,当第一云服务器对后续的预加载实例申请请求的响应进入熔断状态后,如果接收到新的资源配置请求,则会将基于该资源配置请求对应的预加载实例申请请求暂停,以探针方式取代所述预加载实例申请请求来向所述第二云服务器申请预加载实例,即向所述第二云服务器每次申请1个预加载实例(在上一个申请结果返回之前,不会再次发送申请),直至从所述第二云服务器连续i(i为大于1的正整数)次成功申请到了预加载实例,则视为满足预设的恢复条件。可以理解的是,熔断状态下的处理策略为:熔断后正常的预加载实例申请将暂停,从而避免无效申请,浪费服务资源,且会把正常申请变更为发送探针。探针是一种特定的申请策略,即无论预加载实例申请中需要申请的实例数量是是多少,每次只发送一个实例申请请求;在上一个探针结果返回之前,不会再次发送探针。探针申请结果如果为成功,那么会将探针申请成功次数加1,而如果探针申请结果为失败,那么将重置探针申请成功次数为0。如果连续i次探针申请结果成功,那么对预加载实例申请请求的响应状态将变更为‘正常’,从而恢复预加载实例正常申请。

在前述方法实施例的基础上,请参阅图4,所述方法还包括:

首先进入步骤S301根据滚动时间窗内包含的所有申请数据桶对所述滚动时间窗做健康检查,获得健康检查结果;

而后进入步骤S302判断所述健康检查结果是否为不健康,若为不健康则进入步骤S303视为满足所述预设的熔断条件。

其中,每个申请数据桶包括对应云应用的一个历史所述预加载实例申请请求的反馈结果,所述预加载实例申请请求的反馈结果包括时间戳,以及申请总次数、成功次数和失败次数这三项中的至少两项,所述申请总次数为所述成功次数和失败次数的和。

在本实施例中,滚动时间窗可以采用实时更新变化的离散数值、滚动框、滚动图表等方式来记录所述反馈结果。通过滚动时间窗内的申请数据桶,能够对相应云应用历史一个或多个批次的预加载实例申请请求的反馈结果进行有效记录,而后通过分析申请数据桶中记录的信息,能够对所述滚动时间窗做健康检查,并在健康检查结果为不健康时,触发预设的熔断条件,从而对云应用对应的预加载实例申请请求的进行有效控制。

优选的,所述滚动时间窗的更新条件包括第一条件或第二条件,其中,所述第一条件为系统当前时间与滚动时间窗内第一个申请数据桶的时间戳对应时间的差值大于预设时长,所述第一个申请数据桶为所述所有申请数据桶中时间戳对应时间最早的申请数据桶,所述第二条件为当前申请数据桶的数量大于所述滚动时间窗内包含的所有申请数据桶的数量。所述滚动时间窗内包含的所有申请数据桶的数量可以根据实际需要进行设定,可以记为m,即滚动时间窗的申请数据桶记录的是最近的共计m次批次的预加载实例申请请求的反馈结果,并且随着第一条件或第二条件动态更新,从而使得健康检查结果能够更加准确地反映当前云应用对应的预加载实例申请情况,进而进行有效处置。

在前述方法实施例的基础上,如图5所示,所述根据滚动时间窗内包含的所有申请数据桶对所述滚动时间窗做健康检查,包括:

首先进入步骤401计算第一数值和第二数值的比值,其中,所述第一数值为所述所有申请数据桶的失败次数的和,所述第二数值为所述所有申请数据桶的申请总次数的和;

而后进入步骤402若所述比值大于第三数值,则确定健康检查结果为不健康。

简言之,在对滚动时间窗进行健康检查时,通过计算最近的共计m次批次的预加载实例申请结果中预加载实例申请的失败率,若失败率超过第三数值,则可以确定健康检查结果为不健康,触发所述预设的熔断条件。第三数值可以是预设的失败率阈值,也可以是第二数值与第一数值的差值,即失败率超过50%时,确定健康检查结果为不健康。

当然,在另一些实施例中,也可以直接计算最近的共计m次批次的预加载实例申请结果中预加载实例申请的成功率,若计算得到的成功率超过预设的成功率或超过最近的共计m次批次的预加载实例申请结果中预加载实例申请的失败率,则确定健康检查结果为不健康。

在前述方法实施例的基础上所述滚动时间窗的数量为多个,每一所述滚动时间窗用于记录同一云应用对应的历史预加载实例申请请求的反馈结果;在根据滚动时间窗内包含的所有申请数据桶对所述滚动时间窗做健康检查之前,还包括:判断对应的云应用是否被用户终端申请服务或判断是否接收到对某一滚动时间窗的健康检查指令。

简言之,对于各滚动时间窗的健康检查既可以通过主动轮询的方式触发,例如每个滚动时间窗具有对应的标识信息,所述第一云服务器中设置有主动轮询健康程序和健康检查程序,则所述主动轮询健康程序会以预定的时间间隔对于所有的滚动时间窗进行健康检查,即每隔一段时间发送一个滚动时间窗的标识信息给所述健康检查程序,以使所述健康检查程序对接收的标识信息对应的滚动时间窗进行健康检查,直至所有的滚动时间窗都检查完成。

需要说明的是,对于滚动时间窗的健康检查也可以是在某一预加载实例上的云应用被用户终端申请服务时触发,该预加载实例对应的滚动时间窗是指该预加载实例对应批次的预加载实例申请请求的反馈结果记录于该滚动时间窗内的某个申请数据桶中。

在前述方法实施例的基础上,所述方法还包括:所述第一云服务器对所述业务申请对象的资源配置请求的响应进入熔断状态包括:在第一预设时间内不对所述业务申请对象的资源配置请求进行响应;和/或所述判断是否满足预设的恢复条件包括:判断所述第一云服务器不对所述业务申请对象的资源配置请求的进行响应的时间是否达到所述第一预设时间。第一预设时间可以根据实际需要设定,通过在满足预设的熔断条件后,第一云服务器在第一预设时间内不对所述业务申请对象的资源配置请求进行响应,能够有效减少第一云服务器不断响应后续的资源配置请求带来的开销,提升第一云服务器的整体性能。

以下结合图6和图7对于本申请涉及的预加载实例申请的处理方法作详细说明:

如图6所示,为本申请一示例性实施例涉及的滚动时间窗(以下简称“时间窗”)的示意图。时间窗的长度被配置为固定时长,固定时长的取值可以根据实际需要进行设定,如30分钟,即在所述时间窗内默认保存最近30分钟内的第1批次至第N批次的申请数据桶,N为预设的固定值,例如可以设定为10。

如图7所示,为本申请一示例性实施例涉及的时间窗中的申请数据桶的示意图,所述申请数据桶中记录有如下信息:某一历史批次预加载实例的申请总次数、该批次预加载实例申请成功次数以及失败次数、该批次对应的时间戳信息(即数据桶时间戳)。申请数据桶中记录的信息会根据对应批次的预加载实例申请请求的最终反馈结果进行确定。

优选的,时间窗中的滚动更新时的申请数据桶的淘汰策略为:

(1)

(2)时间窗内申请数据桶的总数量大于时间窗内保存的数量;

以上两种策略只需满足任意一种,则将满足条件的所述申请数据桶从所述时间窗中删除。这样,可以保证所述时间窗中申请数据桶中记录的都是离当前系统时间最近的预设时间段(预设时间段的长度为所述时间窗的固定时长)内的N次预加载实例申请请求对应的反馈结果。

熔断条件的判断时机可以通过第一云服务器进行主动轮序,例如第一云服务器每隔一段时间会对所有时间窗做健康检查,还可以在用户终端匹配到某一预加载实例中的云应用后,对该云应用对应的时间窗做健康检查。

所述健康检查是指判断当前业务申请对象是否满足预设的熔断条件,健康检查的 计算公式如下:,其中,fb1..fb为时间窗内所有申请数据桶中的申 请失败次数的累加和;sb1..sbn为时间窗内所有申请数据桶中的申请总次数的累加和;Th 为配置的比较阈值,Th的取值可以根据实际需要进行的,例如可以设定为50%。

优选的,所述时间窗内还记录有探针申请请求对应的申请成功次数,当探针申请请求对应的反馈结果为成功,则将时间窗内的探针申请请求对应的申请成功次数加1,反之,当探针申请请求对应的反馈结果为失败,则将时间窗内的探针申请请求对应的申请成功次数重置为0。

第二方面,如图8所示,本申请实施例还提供了一种预加载实例申请的处理装置700,适用于第一云服务器,包括:

申请模块701,用于接收业务申请对象的资源配置请求,确定所述资源配置请求对应的预加载配置信息,并向第二云服务器发起包含所述预加载配置信息的预加载实例申请请求;

熔断模块702,用于接收所述第二云服务器对所述预加载实例申请请求的反馈结果,根据所述反馈结果判断是否满足预设的熔断条件,若是则所述第一云服务器对所述业务申请对象后续的资源配置请求的响应进入熔断状态或所述第一云服务器对后续的预加载实例申请请求的响应进入熔断状态;

恢复模块703,用于判断是否满足预设的恢复条件,若是则所述第一云服务器结束对所述业务申请对象后续的资源配置请求的响应的熔断状态或所述第一云服务器结束对后续的预加载实例申请请求的响应的熔断状态。

第三方面,对应于上述预加载实例申请的处理方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述预加载实例申请的处理方法的步骤。

第四方面,如图9所示,本申请实施例还提供了一种电子设备800,包括:处理器801、存储器802和总线803,所述存储器802存储有所述处理器801可执行的机器可读指令,当电子设备运行时,所述处理器801与所述存储器802之间通过总线803通信,所述处理器801执行所述机器可读指令,以执行如上述预加载实例申请的处理方法的步骤。

具体地,上述存储器602和处理器601可以为通用的存储器和处理器,这里不做具体限定,当处理器601运行存储器602存储的计算机程序时,能够执行上述预加载实例申请的处理方法。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实例实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实例的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后需要说明的是,尽管在本申请的说明书文字及附图中已经对上述各实施例进行了描述,但并不能因此限制本申请的专利保护范围。凡是基于本申请的实质理念,利用本申请说明书文字及附图记载的内容所作的等效结构或等效流程替换或修改产生的技术方案,以及直接或间接地将以上实施例的技术方案实施于其他相关的技术领域等,均包括在本申请的专利保护范围之内。

本文发布于:2024-09-23 09:21:47,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/85148.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议