具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
经研究发现,人工降级的方式需要决策的时间,从而该方式往往存在一定的延时,因此人工降级的方式容易出现执行速度较慢的问题,从而造成用户的服务体验较差。如果不能及时对服务进行降级,对于业务方来说还可能会出现因为决策以及操作延时造成的额外损失。
基于上述研究,本公开提供了一种服务降级方法、装置、计算机设备以及存储介质。在本公开实施例中,在采集到目标服务在至少一个业务场景下的实时监控信息之后,通过监控信息和目标服务的降级配置信息确定目标服务在各个业务场景下的降级比例信息,进而根据该降级比例信息对目标服务执行降级操作的方式,可以实现目标服务的自动化降级,通过目标服务的自动化降级可以解决现有人工降级方式存在的降级延时时间较长的技术问题,从而可以降低业务方的经济损失;同时,通过确定降级比例信息,并按照该降级比例信息对目标服务执行降级操作的方式,可以实现通过不同的触发方式对目标服务触发降级操作,从而可以进一步减少业务方的经济损失。
为便于对本实施例进行理解,首先对本公开实施例所公开的一种服务降级方法进行详细介绍,本公开实施例所提供的服务降级方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备可以通过终端设备为用户提供服务,并且能够在服务发生故障时进行服务降级。在一些可能的实现方式中,该服务降级方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
参见图1所示,为本公开实施例提供的一种服务降级方法的流程图,所述方法包括步骤S101~S107,其中:
S101:实时获取目标服务在至少一个业务场景下监控指标的监控信息。
在本公开实施例中,首先可以通过监控业务对目前服务在各个业务场景下的运行情况进行实时监控,从而得到目标服务在各个业务场景下的监控指标的监控信息。
这里,监控服务可以为打点服务openapi,监控信息可以为打点服务根据监控指标对目标服务在至少一个业务场景下的运行状态进行打点监控得到的。具体实施时,可以通过降级服务向打点服务发送数据获取请求,从而请求获取目标服务在各个业务场景下的监控指标的监控信息。其中,降级服务为与目标服务旁路部署的服务,降级服务可以为一个或多个目标服务提供降级操作。
通过旁路部署降级服务的方式,可以实现降级服务与在线业务(例如,目标服务)之间的解耦,从而可以提高降级服务的可维护性。
应理解的是,上述各个业务场景可以为目标服务中为用户提供服务的业务场景。
在本公开实施例中,针对目标服务在不同业务场景下所对应的监控指标可以相同,还可以不相同,本公开对此不做具体限定。
S103:确定所述目标服务的降级配置信息;所述降级配置信息用于指示所述目标服务在各个业务场景下的监控指标的指标配置阈值。
在本公开实施例中,首先获取针对目标服务预设的降级配置信息。其中,针对目标服务在每个业务场景下的监控指标都可以设置对应的指标配置阈值,该指标配置阈值可以包含以下至少一种信息:指标校验规则、阈值信息。
具体地,该指标校验规则用于校验每个监控指标对应的监控信息是否为异常信息;阈值信息用于指示对应监控指标的指标阈值上限值和指标阈值下限值。
这里,针对目标服务在不同业务场景下的监控指标的指标配置阈值不相同。
S105:基于所述降级配置信息和所述监控信息,确定所述目标服务针对所述各个业务场景的降级比例信息。
在本公开实施例中,在获取到上述监控信息后,就可以对目标服务在每个业务场景下的每个监控指标的监控信息进行计算,从而得到每个监控指标对应的计算结果。
由于该监控信息中包含在不同采集时刻分别采集到的子监控信息,因此在对监控信息进行计算时,可以对全部子监控信息进行综合计算,从而计算得到每个监控指标对应的计算结果,具体计算过程将在下述实施方式中进行介绍。
在得到该计算结果后,就可以结合该计算结果和降级配置信息中对应的每个业务场景的指标配置阈值,确定目标服务针对各个业务场景的降级比例信息。
S107:根据所述降级比例信息对所述目标服务执行降级操作。
在本公开实施例中,在确定出上述降级比例信息后,就可以根据降级比例信息对目标服务执行降级操作。
在一种可选的实施方式中,该降级比例信息可以用于指示目标服务在执行降级操作时针对用户请求所降级的比例。
具体实施时,可以基于降级比例信息在用户针对目标服务在对应业务场景下的用户请求执行请求响应操作。
例如,目标服务记为A,该目标服务A所对应的业务场景包含场景B1和场景B2。若目标服务A针对业务场景B1的降级比例信息为100%,那么该目标服务的服务器针对用户请求100%不响应;若降级比例信息所指示的目标服务的降级比例为50%,那么该目标服务的服务器响应50%的用户请求。
在本公开实施例中,在采集到目标服务在各个业务场景下的监控信息之后,通过监控信息和目标服务的降级配置信息确定目标服务在各个业务场景下的降级比例信息,进而根据该降级比例信息对目标服务执行降级操作的方式,可以实现目标服务的自动化降级,通过目标服务的自动化降级可以解决现有人工降级方式存在的降级延时时间较长的技术问题,从而可以降低业务方的经济损失;同时,通过确定降级比例信息,并按照该降级比例信息对目标服务执行降级操作的方式,可以实现通过不同的触发方式对目标服务触发降级操作,从而可以进一步减少业务方的经济损失。
针对上述步骤S101,首先通过降级服务每个预设时间段向打点服务发送数据获取请求,以请求获取监控信息,其中,数据获取请求中携带目标服务的相关信息,以及携带所请求获取的该目标服务的对应业务场景的场景信息。
打点服务为设置在服务器中用于对目标业务在各个业务场景下的监控指标进行监控的服务,通过该打点服务可以实现通过离线异步方式采集监控指标的监控信息。
降级服务在获取到打点服务返回的监控信息之后,降级服务就可以确定目标服务的降级配置信息。
具体实施时,降级服务可以根据目标服务的标识信息在数据库中查找与该标识信息相匹配的降级配置信息。
在查找到降级配置信息之后,就可以基于降级配置信息和监控信息确定目标服务针对所述各个业务场景的降级比例信息。
针对步骤S105,基于所述降级配置信息和所述监控信息,确定所述目标服务针对所述各个业务场景的降级比例信息,具体包括如下过程:
S1051:基于所述监控信息,计算所述目标服务相对于各个业务场景下的监控指标的降级评价信息。
S1052:确定所述降级评价信息所对应的监控指标的指标配置阈值,得到目标指标配置阈值。
S1053:将所述降级评价信息和所述目标指标配置阈值进行比较,得到目标比较结果;并根据所述目标比较结果确定所述目标服务针对所述各个业务场景的降级比例信息。
在本公开实施例中,在获取到上述监控信息后,就可以基于该监控信息计算目标服务的每个业务场景下的每个监控指标的降级评价信息。
举例来说,目标服务记为A,该目标服务A所对应的任意一个业务场景记为B,该业务场景B对应的监控指标记为包含监控指标C1和监控指标C2。
此时,针对业务场景B下的监控指标C1和监控指标C2,可以在目标服务A满足降级触发条件后,确定监控指标C1的降级评价信息R1,以及监控指标C2的降级评价信息R2。其中,上述降级触发条件可以为服务器对于用户请求的响应出现异常或者处于响应异常的临界状态。
具体实施时,由于该监控信息中包含在不同采集时刻分别采集到的子监控信息,因此在对监控信息进行计算时,可以对全部子监控信息进行综合计算,从而计算得到每个监控指标的降级评价信息。
这里,针对每个监控指标,均对应设置了相应的综合计算方式,此时,可以针对该综合计算方式计算相应的监控指标的降级评价信息。
在确定出上述降级评价信息R1和降级评价信息R2之后,就可以在降级配置信息中确定降级评价信息R1和降级评价信息R2所对应监控指标C1和监控指标C2的指标配置阈值中的阈值信息,从而得到目标指标配置阈值。其中,该目标指标配置阈值用于指示对应监控指标的指标阈值上限值和指标阈值下限值,例如,目标指标配置阈值可以包含指标阈值上限值H和指标阈值下限值L。
在确定出上述目标指标配置阈值之后,就可以将降级评价信息和目标指标配置阈值进行比较,从而得到目标比较结果。
举例来说,假设监控指标C1的目标指标配置阈值包含指标阈值上限值H1和指标阈值下限值L1,监控指标C2的目标指标配置阈值包含指标阈值上限值H2和指标阈值下限值L2。在将上述降级评价信息和目标指标配置阈值进行比较时,可以将降级评价信息R1与指标阈值上限值H1和指标阈值下限值L1进行比较,得出目标比较结果M1;以及将降级评价信息R2与指标阈值上限值H2和指标阈值下限值L2进行比较,得出目标比较结果M2。
在得到目标比较结果之后,就可以根据确定目标服务针对所述各个业务场景的降级比例信息,具体确定过程将在下述实施方式中进行介绍。
通过上述描述可知,在本公开实施例中,通过计算目标服务相对于各个业务场景下的每个监控指标的降级评价信息,进而根据该降级评价信息和对应监控指标的指标配置阈值,确定目标服务针对各个业务场景的降级比例信息的方式,可以实现对每个监控指标进行降级评价,从而利用每个监控指标的降级评价信息确定出的降级比例信息更加准确。
在本公开实施例中,在目标指标配置阈值包括所对应的监控指标的指标阈值上限值和指标阈值下限值的情况下,上述步骤根据目标比较结果确定目标服务针对所述各个业务场景的降级比例信息,具体包括以下几种情况,下面分情况进行介绍。
情况一:
在根据所述目标比较结果确定出所述降级评价信息小于所述指标阈值上限值,且大于所述指标阈值下限值的情况下,确定所述降级评价信息和所述指标阈值上限值的上限差值,以及所述阈值上限值和所述指标阈值下限值的总差值;根据所述上限差值和所述总差值确定所述降级比例信息。。
举例来说,目标服务记为A,该目标服务A所对应的任意一个业务场景记为B,该业务场景B对应的监控指标记为包含监控指标C1。监控指标C1所对应的降级评价信息R1,监控指标C1的目标指标配置阈值包含指标阈值上限值H1和指标阈值下限值L1。
若根据目标比较结果确定出L1≤R1≤H1,即确定该降级评价信息R1小于指标阈值上限值H1,且大于指标阈值下限值L1,那么,就可以按照预设算法对降级评价信息和目标指标配置阈值进行计算,得到降级比例信息P1。
在一种可选的实施方式中,该预设算法可以为因此,针对监控指标C1的降级比例信息/>
情况二:
在根据所述目标比较结果确定出所述降级评价信息大于所述指标阈值上限值的情况下,确定所述目标服务针对相对应业务场景的降级比例信息为目标比例值。
在本公开实施例中,仍以上述为用户提供通用信息的信息平台为例,其中,在新闻资讯的业务场景下的指标阈值上限值为H1,降级评价信息为R1。针对该业务场景,在降级评价信息大于指标阈值上限值时预设的降级比例信息为1,其中,该降级比例信息为1用于表征在降级评价信息大于指标阈值上限值时,该信息平台中新闻资讯的业务场景对于用户请求100%不响应。
举例来说,目标服务记为A,该目标服务A所对应的任意一个业务场景记为B,该业务场景B对应的监控指标记为包含监控指标C1。监控指标C1所对应的降级评价信息R1,监控指标C1的目标指标配置阈值包含指标阈值上限值H1和指标阈值下限值L1。
若根据目标比较结果确定出若R1>H1,那么可以将该目标服务针对对应业务场景下监控指标C1的降级比例信息设置为目标比例值,其中,该目标比例值可以设置为1。
除了1之外,还可以将目标比例值设置为其他数值,上述目标比例值可以根据实际使用场景进行适应性设置,例如,该目标比例值还可以预设为0.8。
情况三:
在根据所述目标比较结果确定出所述降级评价信息小于所述指标阈值下限值的情况下,确定所述目标服务针对相对应业务场景的降级比例信息为指定数值。这里,指定数值可以选择为0,或者接近零的其他数值,本公开对此不做具体限定。
通过上述所描述的几种情况确定降级比例信息,可以提高降级比例信息的准确率,从而得到更加准确的降级比例信息。
在一个可选的实施方式中,S107,基于所述降级比例信息对所述目标服务执行降级操作,具体包括如下过程:
S1071、确定与所述降级比例信息相对应的目标降级策略。
S1072、根据所述目标降级策略对所述目标服务执行降级操作,其中,不同的降级比例信息对应至少不相同的降级策略。
在本公开实施例中,当降级比例信息的值为不同结果时,所对应的目标降级策略不同。这里,目标降级策略可以包含以下至少一种信息:降级时间、降级的最大时长、降级操作的通知对象。
例如,当降级比例信息的为0.4时,对应的目标降级策略可以为:在降级时间和降级的最大时长所指示的时间段内,按照0.4的比例执行降级操作,比如,用户在对应业务场景下针对该目标服务发起的全部请求中,舍弃40%的请求,或者响应全部请求中的60%的请;同时,还可以向降级操作的通知对象发送降级通知信息。
通过上述描述可知,在本公开实施例中,不同的降级比例信息对应不同的目标降级策略,从而使得降级操作更加灵活,极大地降低了降级操作造成的降级成本,并提高了用户的使用体验。
在本公开实施例中,在监控指标的数量为多个,且一个监控指标对应一个降级比例信息的情况下,S107,根据所述降级比例信息对所述目标服务执行降级操作,具体包括如下过程:
(1)、按照预设排序参数对多个所述降级比例信息进行排序,得到目标排序结果;其中,所述预设排序参数包括:监控指标的优先级和/或降级比例信息所对应的数值信息大小。
(2)、根据所述目标排序结果在多个所述降级比例信息中确定目标降级比例信息。
(3)、根据所述目标降级比例信息对所述目标服务执行降级操作。
在本公开实施例中,在目标服务包含多个业务场景的情况下,每个业务场景都对应一个监控指标,因此,每个业务场景都应当对应一个降级比例信息。
在本公开实施例中,如果目标服务在对应业务场景下的监控指标的数量为多个,则针对每个监控指标,可以通过上述所描述的方式确定出对应的降级比例信息,从而得到多个降级比例信息。
在得到多个降级比例信息之后,就可以按照预设排序参数对多个降级比例信息进行排序,从而得到目标排序结果;从而在目标排序结果中确定目标降级比例信息,进而基于该目标降级比例信息对目标服务执行降级操作。
在本公开实施例中,可以通过以下几种方式,对多个所述降级比例信息进行排序。
方式一:根据监控指标的优先级对降级比例信息进行排序。
在本公开实施例中,可以对对应业务场景下的每个监控指标预设一个优先级标签,从而根据该优先级标签确定每个监控指标的优先级。
之后,就可以根据该监控指标的优先级,对每个监控指标所对应的降级比例信息进行排序,从而得到目标排序结果。
在得到目标排序结果之后,就可以在目标排序结果中选择优先级最高的监控指标的降级比例信息作为该目标降级比例信息。
方式二:根据降级比例信息所对应的数值信息大小对降级比例信息进行排序。
在本公开实施例中,可以基于按照由小到大的顺序,对每个监控指标的降级比例信息进行排序,得到目标排序结果。
具体的,若降级比例信息P1的数值信息为0.65,降级比例信息P2的数值信息为0.75,那么,比较结果为P2>P1,降级比例信息P2的位置应该位于降级比例信息P1之前,因此,目标排序结果为{P2,P1}。
在得到目标排序结果之后,就可以在目标排序结果中选择最大的降级比例信息作为该目标降级比例信息。
方式三:根据监控指标的优先级和降级比例信息所对应的数值信息大小进行排序。
在本公开实施例中,可以对对应业务场景下的每个监控指标预设一个优先级标签,从而根据该优先级标签确定每个监控指标的优先级。
之后,就可以根据该监控指标的优先级和降级比例信息的大小,对每个监控指标所对应的降级比例信息进行排序,从而得到目标排序结果。
在得到目标排序结果之后,就可以在目标排序结果中选择优先级最高且数值最大的降级比例信息作为该目标降级比例信息。
例如,多个监控指标的降级比例信息分别为:降级比例信息为P1,降级比例信息为P2,降级比例信息为P3,其中,每个监控指标具有优先级标签。
在对降级比例信息进行排序时,可以基于监控指标的优先级对降级比例信息为P1,降级比例信息为P2,降级比例信息为P3进行排序,假设,降级比例信息为P1,降级比例信息为P2,降级比例信息为P3的优先级依次降低,则初始排序结果为{P1,P2,P3}。之后,可以分别获取降级比例信息P1以及降级比例信息P2的数值信息。其中,若降级比例信息P1的数值信息为0.65,降级比例信息P2的数值信息为0.75,则在目标排序结果中,降级比例信息P2的位置应该位于降级比例信息P1之前,因此,目标排序结果为{P2,P1,P3}。
在确定出目标排序结果后,就可以在目标排序结果的多个所述降级比例信息中确定目标降级比例信息。在一种可选的实施方式中,在确定目标降级比例信息时,可以将目标排序结果中位于第一位的降级比例信息确定为目标降级比例信息。
通过上述描述可知,通过基于预设排序参数对多个监控指标的降级比例信息进行排序,进而根据目标排序结果确定目标降级比例信息的方式,可以得到更加服务当前降级要求的降级比例信息,还可以使得确定目标降级比例信息的过程更加完善,进一步降低了降级操作造成的损失。
在本公开实施例中,S107,在对所述目标服务执行降级操作时,具体还包括如下过程:
确定与所述降级操作相对应的目标通知对象,并向所述目标通知对象发送所述降级操作的降级通知信息。
在本公开实施例中,在对目标服务执行降级操作时,还可以将用于表征对该目标服务进行降级操作的降级通知信息发送给目标通知对象,以使目标对象能够在第一时间掌握该目标服务的降级操作动向。
在一种可选的实施方式中,上述目标通知对象可以为上述目标服务的运营管理人员。
在一个可选的实施方式中,该方法还包括如下步骤:
(1)、在获取目标服务在各个业务场景下的监控指标的监控信息之后,对所述监控信息进行异常校验,得到异常校验结果。
(2)、在根据所述异常校验结果确定所述监控信息中不包含异常监控信息的情况下,基于所述降级配置信息和所述监控信息,确定所述目标服务针对所述各个业务场景的降级比例信息。
在本公开实施例中,上述获取到的监控信息可以为监控服务采集到的目标服务在各个业务场景下的指标采样信息。其中,该监控业务可以为打点服务。例如,该打点服务可以为openapi,此时,指标采样信息则为打点服务根据监控指标对目标服务在各个业务场景下的运行状态进行监控并打点得到的。
在对目标服务在各个业务场景下的监控指标的监控信息进行异常校验时,可以针对上述指标采样信息进行校验,得到异常校验结果。其中,若该校验结果中不包含异常监控信息,那么就可以基于上述降级配置信息和监控信息,确定目标服务针对各个业务场景的降级比例信息。
在对目标服务在各个业务场景下的监控指标的监控信息进行异常校验时,可以从降级配置信息中确定目标服务在各个业务场景下的校验规则,从而根据该校验规则对监控信息进行异常校验。
异常监控信息可以为在计算降级比例信息过程中的干扰信息,例如,该干扰信息可以为由于网络波动等原因造成的抖动状态。
通过上述描述可知,在本公开实施例中,通过对监控信息进行异常校验的方式,提高了监控信息的可信度,进而提高了针对该监控信息确定目标服务的降级比例信息的准确性。
在本公开实施例中,在监控信息包括在多个采集时刻对所述监控指标进行采集得到的多个子监控信息的情况下,该方法还包括如下过程:
(1)、确定所述多个子监控信息的变化趋势信息。
(2)、在确定所述变化趋势信息满足预设趋势变化要求的情况下,基于所述降级比例信息对所述目标服务执行降级操作。
在本公开实施例中,在对上述监控信息进行采集时,可以分为多个采集时刻分别进行采集,其中,每个采集时刻所采集到的监控信息为一个子监控信息。
因此,在对上述监控信息的变化趋势进行分析时,首先需要对其中包含的多个子监控信息的变化趋势信息进行分析,并根据分析结果确定多个子监控信息的变化趋势信息是否满足预设趋势变化要求。
具体实施时,当多个子监控信息的变化趋势信息尖刺或尾部骤降形态,则确定不满足预设趋势变化要求,此时不执行目标服务的降级操作。
通过上述描述可知,在本公开实施例中,通过对多个子监控信息的变化趋势信息进行分析,可以确定当前降级操作是否属于抖动,若是,则降级操作不会被触发,从而防止降级操作的错误触发,进而提高了降级操作的触发精度。
在一个可选的实施方式中,该方法还包括如下步骤:
(1)、在确定所述目标服务的降级配置信息之后,还可以基于所述降级配置信息确定干预指示信息:
(2)、在基于所述干预指示信息确定出所述目标服务的降级状态为允许执行降级操作的情况下,执行基于所述降级配置信息和所述监控信息,确定所述目标服务针对所述各个业务场景的降级比例信息的步骤。
在本公开实施例中,在确定出目标服务的降级配置信息之后,就可以对目标服务的干预指示信息进行查询。其中,该干预指示信息用于指示目标服务的降级状态是否为允许执行降级操作。
在一种可选的实施方式中,该干预指示信息可以为干预开关的字段信息。其中,当干预开关的字段信息为0时,表示此时干预开关处于关闭状态,目标服务不允许执行降级操作;当干预开关的字段信息为1时,表示此时干预开关处于开启状态,目标服务允许执行降级操作。
在检测到用于表征干预开关的字段信息为1的情况下,在检测到针对目标服务的降级指令后,就可以根据目标服务的各个业务场景的降级比例信息对目标服务进行降级操作。
通过上述描述可知,在本公开实施例中,可以通过干预指示信息对目标服务的降级状态进行标注,从而将不需要进行降级操作的服务和目标服务进行区分,以免由于不必要的降级操作带来的损失。
在一个可选的实施方式中,该方法还包括如下步骤:
在检测到上述降级操作的降级结束指令之后,计算所述降级操作的降级止损信息;并基于所述降级止损信息确定所述降级操作的降级评估信息。
在本公开实施例中,在上述降级操作结束之后,就可以响应于该降级操作的结束动作生成降级结束指令。在检测到降级结束指令后,就可以针对降级操作阶段的止损数据,对该降级操作的降级止损信息进行计算,并基于计算出的降级止损信息对上述降级操作进行评估,得到降级评估信息。
通过上述描述可知,在本公开实施例中,可以基于降级操作确定降级评估信息,从而对本次降级操作进行自动定损,使得技术人员能够更直观的确定本次降级操作造成的损失。
在一个可选的实施方式中,该方法还包括如下步骤:
(1)、获取所述目标服务的状态标识。
(2)、在基于所述状态标识确定出所述目标服务未处于降级状态的情况下,基于所述降级比例信息对所述目标服务执行降级操作。
在本公开实施例中,可以获取目标服务的状态标识。其中,该状态标识用于表示该目标服务是否处于降级状态。具体的,该状态标识可以包含状态字段信息,当状态字段信息为1时,表示目标服务处于降级状态,当状态字段信息为0时,表示目标服务未处于降级状态。
在根据状态标识确定出目标服务未处于降级状态的情况下,可以基于上述降级比例信息对目标服务执行降级操作,并将该状态标识修改为目标服务已处于降级操作,也即当上述状态标识信息中的状态字段信息为0时,才可以对目标服务执行降级操作,并将该状态字段信息修改为1。
通过上述描述可知,在本公开实施例中,可以通过检测目标服务的降级状态决定是否进行降级操作,可以避免降级操作的重复触发,从而大大减少了对已降级的目标服务进行二次降级,造成更大损失的可能性。
在本公开实施例中,还提供了另一种服务降级方法的流程图,具体参见图2a所示,其中:
S1:接收目标服务的降级配置信息以及目标服务在各个业务场景下的监控指标的指标配置阈值;
S2:根据干预指示信息判断目标服务的降级状态是否为允许执行降级操作;若允许,则执行S4,若不允许,则执行S3;
S3:结束本轮降级服务的执行;
S4:判断服务器是否对上述降级配置信息以及上述指标配置阈值进行了更新;若允许,则执行S1,若不允许,则执行S5;
S5:获取目标服务在各个业务场景下的监控指标的监控信息;
S6:判断监控信息中的子监控信息的变化趋势信息是否满足预设趋势变化要求;若是,则执行S8,若不是,则执行S7;
S7:结束本轮降级服务的执行;
S8:结合监控信息以及目标服务的降级配置信息确定目标服务针对各个业务场景的降级比例信息,并基于该降级比例信息对目标服务执行降级操作。
在本公开实施例中,还提供了S8的流程图,具体参见图2b所示,其中:
S801:根据监控信息计算目标服务相对于各个业务场景下的监控指标的降级评价信息R;其中,若降级评价信息R小于监控指标的指标阈值下限值L,则执行S803;若降级评价信息R大于监控指标的指标阈值下限值L且小于监控指标的指标阈值上限值H,则执行S802;若降级评价信息R大于监控指标的指标阈值上限值H,则执行S804;
S802:基于上述降级评价信息以及对应的目标指标配置阈值,确定针对各个业务场景对应的降级比例信息;
S803:结束本轮降级服务的执行;
S804:确定针对各个业务场景的降级比例信息为目标比例值;
S805:判断所述监控信息中是否包含异常校验信息;若包含,则执行S803;若不包含,则执行S806;
S806:对各个业务场景对应的降级比例信息按照预设排序参数进行排序,得到目标排序结果;
S807:根据目标服务的标识判断目标服务是否处于未降级状态;若处于未降级状态,则执行S811;若未处于未降级状态,则执行S810;
S808:加载降级比例信息对应的目标降级策略;
S809:加载目标通知对象的人员列表;
S810:结束本轮降级服务的执行;
S811:对目标服务执行降级操作并向目标通知对象发送降级操作的降级通知信息;然后同时执行S812和S814;
S812:判断是否检测到降级操作的降级结束指令;若检测到该降级结束指令,则执行S812;若未检测到该降级结束指令,则执行S813;
S813:计算上述降级操作的止损信息,并将基于该降级止损信息确定的上述降级操作的降级评估信息发送至目标通知对象;
S814:自动定损服务接收降级操作的降级开始指令;
S815:自动定损服务接收降级操作的降级结束指令。
综上,在本公开实施例中,通过根据采集到的监控信息确定目标服务针对各个业务场景的降级比例信息的方式,对目标服务按照该降级比例信息进行降级操作,实现了自动化确定服务降级的降级比例信息,并且能够根据该降级比例信息自动对服务进行降级,大大减少了决策以及操作延时,提升了降级服务的执行速度以及用户的服务体验。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一发明构思,本公开实施例中还提供了与服务降级方法对应的服务降级装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述服务降级方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图3所示,为本公开实施例提供的一种服务降级装置的示意图,所述装置包括:获取模块31、第一确定模块32、第二确定模块33、降级模块34;其中,
获取模块31,用于实时获取目标服务在至少一个业务场景下监控指标的监控信息;
第一确定模块32,用于确定所述目标服务的降级配置信息;所述降级配置信息用于指示所述目标服务在各个业务场景下的监控指标的指标配置阈值;
第二确定模块33,用于基于所述降级配置信息和所述监控信息,确定所述目标服务针对所述各个业务场景的降级比例信息;
降级模块34,用于基于所述降级比例信息对所述目标服务执行降级操作。
本公开实施例根据采集到的监控信息确定目标服务针对各个业务场景的降级比例信息的方式,对目标服务按照该降级比例信息进行降级操作,实现了自动化确定服务降级的降级比例信息,并且能够根据该降级比例信息自动对服务进行降级,大大减少了决策以及操作延时,提升了降级服务的执行速度以及用户的服务体验。
一种可能的实施方式中,降级模块34,还用于:确定与所述降级比例信息相对应的目标降级策略;根据所述目标降级策略对所述目标服务执行降级操作,其中,不同的降级比例信息对应至少不相同的降级策略。
一种可能的实施方式中,第二确定模块33,还用于:基于所述监控信息,计算所述目标服务相对于各个业务场景下的监控指标的降级评价信息;确定所述降级评价信息所对应的监控指标的指标配置阈值,得到目标指标配置阈值;将所述降级评价信息和所述目标指标配置阈值进行比较,得到目标比较结果;并根据所述目标比较结果确定所述目标服务针对所述各个业务场景的降级比例信息。
一种可能的实施方式中,所述指标配置阈值包括:指标阈值上限值和指标阈值下限值,第二确定模块33,还用于:在根据所述目标比较结果确定出所述降级评价信息小于所述指标阈值上限值,且大于所述指标阈值下限值的情况下,确定所述降级评价信息和所述指标阈值上限值的上限差值,以及所述阈值上限值和所述指标阈值下限值的总差值;根据所述上限差值和所述总差值确定所述降级比例信息。
一种可能的实施方式中,第二确定模块33,还用于:在根据所述目标比较结果确定出所述降级评价信息大于所述指标阈值上限值的情况下,确定所述目标服务针对相对应业务场景的降级比例信息为目标比例值。
一种可能的实施方式中,该装置还用于:在获取目标服务在各个业务场景下的监控指标的监控信息之后,对所述监控信息进行异常校验,得到异常校验结果;在根据所述异常校验结果确定所述监控信息中不包含异常监控信息的情况下,基于所述降级配置信息和所述监控信息,确定所述目标服务针对所述各个业务场景的降级比例信息。
一种可能的实施方式中,所述监控信息包括在多个采集时刻对所述监控指标进行采集得到的多个子监控信息,该装置还用于:确定所述多个子监控信息的变化趋势信息;在确定所述变化趋势信息满足预设趋势变化要求的情况下,基于所述降级比例信息对所述目标服务执行降级操作。
一种可能的实施方式中,该装置还用于:在确定所述目标服务的降级配置信息之后,基于所述降级配置信息确定干预指示信息;在基于所述干预指示信息确定出所述目标服务的降级状态为允许执行降级操作的情况下,执行基于所述降级配置信息和所述监控信息,确定所述目标服务针对所述各个业务场景的降级比例信息的步骤。
一种可能的实施方式中,所述监控指标的数量为多个,且一个监控指标对应一个降级比例信息,降级模块34,还用于:所述根据所述降级比例信息对所述目标服务执行降级操作,包括:按照预设排序参数对多个所述降级比例信息进行排序,得到目标排序结果;其中,所述预设排序参数包括:监控指标的优先级和/或降级比例信息所对应的数值信息大小;根据所述目标排序结果在多个所述降级比例信息中确定目标降级比例信息;根据所述目标降级比例信息对所述目标服务执行降级操作。
一种可能的实施方式中,降级模块34,还用于:确定与所述降级操作相对应的目标通知对象,并向所述目标通知对象发送所述降级操作的降级通知信息。
一种可能的实施方式中,该装置还用于:在检测到所述降级操作的降级结束指令之后,计算所述降级操作的降级止损信息;并基于所述降级止损信息确定所述降级操作的降级评估信息。
一种可能的实施方式中,该装置还用于:获取所述目标服务的状态标识;在基于所述状态标识确定出所述目标服务未处于降级状态的情况下,基于所述降级比例信息对所述目标服务执行降级操作。
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
对应于图1中的服务降级方法,本公开实施例还提供了一种计算机设备400,如图4所示,为本公开实施例提供的计算机设备400结构示意图,包括:
处理器41、存储器42、和总线43;存储器42用于存储执行指令,包括内存421和外部存储器422;这里的内存421也称内存储器,用于暂时存放处理器41中的运算数据,以及与硬盘等外部存储器422交换的数据,处理器41通过内存421与外部存储器422进行数据交换,当所述计算机设备400运行时,所述处理器41与所述存储器42之间通过总线43通信,使得所述处理器41执行以下指令:
获取目标服务在至少一个业务场景下监控指标的监控信息;
确定所述目标服务的降级配置信息;所述降级配置信息用于指示所述目标服务在各个业务场景下的监控指标的指标配置阈值;;
基于所述降级配置信息和所述监控信息,确定所述目标服务针对所述各个业务场景的降级比例信息;
基于所述降级比例信息对所述目标服务执行降级操作。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的服务降级方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的服务降级方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。