服务自动降级方法、装置、计算机设备和存储介质与流程

文档序号:30937550发布日期:2022-07-30 01:25阅读:123来源:国知局
服务自动降级方法、装置、计算机设备和存储介质与流程

1.本技术涉及人工智能领域,特别是涉及一种服务自动降级方法、装置、计算机设备和存储介质。


背景技术:

2.在实际应用场景中,一个服务器上往往有多种不同的服务在同时运行。为了节约服务器资源,服务器资源的配置通常少于所有服务对服务器资源的总需求。故而在服务高峰期,服务器可能无法对所有服务都分配足够的资源执行任务。此时,为了保证核心服务的正常运行,便需要对非核心服务进行降级,优先保证核心服务的资源使用。
3.相关技术中,往往采用在服务调用失败后对非核心任务发起服务降级的方式,服务降级处理不够及时,存在以下问题:当产生服务调用失败时,可能已经对核心服务造成了一定影响,导致降低了核心服务的稳定性。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种服务自动降级方法、装置、计算机设备和存储介质。
5.第一方面,本技术提供了一种服务自动降级方法。所述方法包括:
6.从服务器的多个历史流量数据中,确定目标流量数据;
7.通过流量预测模型对所述目标流量数据进行预测,得到所述服务器的预测流量结果,所述预测流量结果用于表征所述服务器在预测时段内的流量情况;
8.在所述预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务;
9.对所述目标服务进行降级处理,以实现对所述目标服务的限流。
10.在其中一个实施例中,所述在所述预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务,包括:
11.从所述预测流量结果中确定大于所述流量阈值的目标流量值;
12.根据所述目标流量值与所述流量阈值,确定流量差值;
13.根据所述流量差值从具有目标服务属性的服务中,确定待进行降级的目标服务,其中,服务属性用于表征所述服务的核心程度。
14.在其中一个实施例中,所述流量预测模型至少包括两个预测模型,所述通过流量预测模型对所述目标流量数据进行预测,得到所述服务器的预测流量结果,包括:
15.通过各所述预测模型分别对所述目标流量数据进行预测,得到多个初始预测结果;
16.根据各所述预测模型的预测权重对所述多个初始预测结果进行融合处理,得到预测流量结果。
17.在其中一个实施例中,所述方法还包括:
18.从样本服务器对应的历史流量数据中,获取各流量特征对应的流量数据;
19.采用特征权重算法,根据各所述流量特征对应的所述流量数据从各所述流量特征中确定目标流量特征;
20.根据所述目标流量特征对应的所述流量数据,构建训练集;
21.通过所述训练集分别对各所述预测模型对应的初始预测模型进行训练,得到所述流量预测模型。
22.在其中一个实施例中,所述方法还包括:
23.确定各所述预测模型的精度;
24.根据各所述预测模型的精度,确定各所述预测模型的所述预测权重。
25.在其中一个实施例中,所述通过所述训练集分别对各所述预测模型对应的初始预测模型进行训练,包括:
26.针对任一所述预测模型,在通过所述训练集训练所述预测模型对应的初始预测模型的过程中,采用粒子群算法确定所述预测模型的最优超参数,并在采用粒子群算法确定所述预测模型的最优超参数的过程中,实时基于粒子运动过程中的历史数据,更新所述粒子群算法中的惯性因子,采用更新后的所述粒子群算法确定所述预测模型的最优超参数。
27.在其中一个实施例中,所述实时基于粒子运动过程中的历史数据,更新所述粒子群算法中的惯性因子,包括:
28.根据所述粒子运动过程中的历史数据,确定所述粒子在运动过程中的历史最大惯性因子、历史最小惯性因子、粒子历史最小目标值、粒子历史最大目标值;
29.根据所述历史最大惯性因子、历史最小惯性因子、粒子历史最小目标值、粒子历史最大目标值,确定第一惯性因子调整值;
30.将所述历史最大惯性因子与所述第一惯性因子调整值的差值,作为所述粒子群算法在当前时刻的惯性因子。
31.第二方面,本技术还提供了一种服务自动降级装置。所述装置包括:
32.第一确定模块,用于从服务器的多个历史流量数据中,确定目标流量数据;
33.预测模块,用于通过流量预测模型对所述目标流量数据进行预测,得到所述服务器的预测流量结果,所述预测流量结果用于表征所述服务器在预测时段内的流量情况;
34.第二确定模块,用于在所述预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务;
35.降级模块,用于对所述目标服务进行降级处理,以实现对所述目标服务的限流。
36.在其中一个实施例中,所述降级模块,还用于:
37.从所述预测流量结果中确定大于所述流量阈值的目标流量值;
38.根据所述目标流量值与所述流量阈值,确定流量差值;
39.根据所述流量差值从具有目标服务属性的服务中,确定待进行降级的目标服务,其中,服务属性用于表征所述服务的核心程度。
40.在其中一个实施例中,所述流量预测模型至少包括两个预测模型,所述预测模块,还用于:
41.通过各所述预测模型分别对所述目标流量数据进行预测,得到多个初始预测结果;
42.根据各所述预测模型的预测权重对所述多个初始预测结果进行融合处理,得到预测流量结果。
43.在其中一个实施例中,所述装置还包括:
44.获取模块,用于从样本服务器对应的历史流量数据中,获取各流量特征对应的流量数据;
45.第三确定模块,用于采用特征权重算法,根据各所述流量特征对应的所述流量数据从各所述流量特征中确定目标流量特征;
46.构建模块,用于根据所述目标流量特征对应的所述流量数据,构建训练集;
47.训练模块,用于通过所述训练集分别对各所述预测模型对应的初始预测模型进行训练,得到所述流量预测模型。
48.在其中一个实施例中,所述装置还包括:
49.第四确定模块,用于确定各所述预测模型的精度;
50.第五确定模块,用于根据各所述预测模型的精度,确定各所述预测模型的所述预测权重。
51.在其中一个实施例中,所述训练模块,还用于:
52.针对任一所述预测模型,在通过所述训练集训练所述预测模型对应的初始预测模型的过程中,采用粒子群算法确定所述预测模型的最优超参数,并在采用粒子群算法确定所述预测模型的最优超参数的过程中,实时基于粒子运动过程中的历史数据,更新所述粒子群算法中的惯性因子,采用更新后的所述粒子群算法确定所述预测模型的最优超参数。
53.在其中一个实施例中,所述训练模块,还用于:
54.根据所述粒子运动过程中的历史数据,确定所述粒子在运动过程中的历史最大惯性因子、历史最小惯性因子、粒子历史最小目标值、粒子历史最大目标值;
55.根据所述历史最大惯性因子、历史最小惯性因子、粒子历史最小目标值、粒子历史最大目标值,确定第一惯性因子调整值;
56.将所述历史最大惯性因子与所述第一惯性因子调整值的差值,作为所述粒子群算法在当前时刻的惯性因子。
57.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以上任一项方法。
58.第四方面,本技术还提供了一种计算机可读存储介质所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以上任一项方法。
59.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上任一项方法。
60.上述服务自动降级方法、装置、计算机设备和存储介质,通过确定目标流量数据,并通过流量预测模型对目标流量数据进行预测,可以在预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务,以及时对目标服务进行降级处理,也即本技术实施例提供的服务自动降级方法、装置、计算机设备和存储介质,能够在服务器的流量超过流量阈值之前对目标服务进行降级处理,提高了降级处理的及时性,通过提前限
制目标服务的流量,以在服务器的流量较大时,为服务器保留充足的服务器资源,能够提高服务器中核心服务的稳定性。
附图说明
61.图1为一个实施例中服务自动降级方法的流程示意图;
62.图2为一个实施例中步骤106的流程示意图;
63.图3为一个实施例中步骤104的流程示意图;
64.图4为一个实施例中服务自动降级方法的流程示意图;
65.图5为一个实施例中服务自动降级方法的流程示意图;
66.图6为一个实施例中服务自动降级方法的流程示意图;
67.图7为一个实施例中服务自动降级方法的示意图;
68.图8为一个实施例中服务自动降级装置的结构框图;
69.图9为一个实施例中计算机设备的内部结构图。
具体实施方式
70.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
71.在一个实施例中,如图1所示,提供了一种服务自动降级方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
72.步骤102,从服务器的多个历史流量数据中,确定目标流量数据。
73.本技术实施例中,历史流量数据是终端在调用服务时在服务器上产生的流量数据,例如流量同比值、流量环比值、调用失败次数、调用超时时间、调用方、被调用方等。目标流量数据是历史流量数据中满足预设条件的流量数据。
74.示例性的,满足预设条件的流量数据可以是特征权重大于阈值的流量特征对应的流量数据。本技术实施例对于阈值的具体取值不作具体限定,可以由本领域技术人员依照经验选取。在本技术实施例中,流量特征指流量数据的类型,特征权重用于表征某一类型的流量数据预测流量结果的能力。例如,可以采用任一特征权重算法确定各流量特征的特征权重,并从中选取特征权重大于阈值的流量特征,进而将特征权重大于阈值的流量特征对应的流量数据作为目标流量数据。
75.需要说明的是,目标流量数据并不必然是部分历史流量数据,若全部流量特征的特征权重均大于阈值,则可以选择全部流量特征对应的流量数据,即全部历史流量数据作为目标流量数据。
76.在选取目标流量数据后,还可以对目标流量数据进行预处理,例如,对每个数据做1秒内的均值处理、归一化处理等。具体过程本技术实施例中对此不做过多赘述,任一可以实现上述预处理操作的方式均适用于本技术实施例中。
77.步骤104,通过流量预测模型对目标流量数据进行预测,得到服务器的预测流量结
果,预测流量结果用于表征服务器在预测时段内的流量情况。
78.本技术实施例中,可以通过预先训练好的流量预测模型对目标流量数据进行预测,得到对应的预测流量结果,该预测流量结果可以表征服务器在预测时段内的流量情况,以便根据服务器在预测时段内的流量情况判断是否需要对目标服务进行降级处理。其中,预测时段为距离当前时刻一定长度的时间段,其具体长度可以由本领域技术人员根据需求进行设定,示例性的,预测流量结果包括服务器在该预测时段内各时间点的预测流量值。
79.步骤106,在预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务。
80.本技术实施例中,流量阈值指服务器能够同时处理的服务流量的上限,其为预设的数值,具体取值可以由本领域技术人员根据需求进行设定。目标服务是在服务器的流量值超过流量阈值的情况下,可以被进行降级处理的服务。示例性的,服务器中可以按照服务的重要程度将服务划分为核心服务和非核心服务,其中核心服务的重要性高于非核心服务。目标服务可以为非核心服务,即目标服务为服务器所处理的所有服务中,重要性相对较低的服务。
81.在得到预测流量结果后,可以将预测流量结果中,服务器在预测时段内各时间点的预测流量值与流量阈值进行比较。若任一时间点的预测流量值大于流量阈值,则表明服务器在该时间点的流量值将超过流量阈值,此时可以将该时间点的预测流量值确定为目标流量值。在服务器在预测时段内各时间点的预测流量值与流量阈值比较完毕后,可以根据各目标流量值与流量阈值,确定待进行降级的目标服务,提前对目标服务进行降级处理,以避免在服务器的流量值超过流量阈值的情况下,核心服务可能调用失败的问题。
82.步骤108,对目标服务进行降级处理,以实现对目标服务的限流。
83.本技术实施例中,对目标服务进行降级处理指限制目标服务所能调用的服务器资源,例如,暂时屏蔽目标服务等。本技术实施例对于对目标服务进行降级处理的具体方式不作具体限定,凡是能实现对目标服务进行降级的方式均适用于本技术实施例中。
84.本技术实施例提供的服务自动降级方法,通过确定目标流量数据,并通过流量预测模型对目标流量数据进行预测,可以在预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务,以及时对目标服务进行降级处理,也即本技术实施例提供的服务自动降级方法,能够在服务器的流量超过流量阈值之前对目标服务进行降级处理,提高了降级处理的及时性,通过提前限制目标服务的流量,以在服务器的流量较大时,为服务器保留充足的服务器资源,能够提高服务器中核心服务的稳定性。
85.在一个实施例中,如图2所示,步骤106中,在预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务,包括:
86.步骤202,从预测流量结果中确定大于流量阈值的目标流量值。
87.本技术实施例中,可以根据流量预测模型输出的预测流量结果,确定预测流量结果中大于流量阈值的目标流量值,以便根据目标流量值和流量阈值判断需要进行降级处理的目标服务。其中,目标流量值可能为一个,也可能为多个。
88.步骤204,根据目标流量值与流量阈值,确定流量差值。
89.需要说明的是,本技术实施例对根据目标流量值与流量阈值确定流量差值的方式不作具体限定。例如,在目标流量值为一个的情况下,可以将目标流量值与流量阈值作差,
确定流量差值。在目标流量值为多个的情况下,本技术实施例可以将其中最大的目标流量值与流量阈值作差,确定流量差值;也可以将其中最小的目标流量值与流量阈值作差,确定流量差值;或者,也可以取目标流量值的均值,将该均值与流量阈值作差,确定流量差值。
90.步骤206,根据流量差值从具有目标服务属性的服务中,确定待进行降级的目标服务,其中,服务属性用于表征服务的核心程度。
91.本技术实施例中,服务属性可以用于表征服务的核心程度,例如,服务属性可以分为第一服务属性和第二服务属性,其中具有第一服务属性的服务可以是核心服务,具有第二服务属性的服务可以是非核心服务。目标服务属性可以为第二服务属性,也即本技术实施例可以从非核心服务中确定待进行降级的目标服务。
92.示例性的,在根据流量差值确定待进行降级的目标服务时,可以根据流量差值的大小确定待进行降级的目标服务的数量,从而从具有目标服务属性的服务(非核心服务)中确定该数量个目标服务。
93.其中,目标服务的数量与流量差值的大小正相关,也即,流量差值越小,则目标服务的数量越小,反之,流量差值越大,则目标服务的数量越大。这样一来,可以使得能够在对目标服务进行降级,实现降低服务器在预测时段内的流量值的同时,尽量减少对服务器中非核心服务的影响。
94.例如,在流量差值较小的情况下,说明在预测时段内服务器的流量值超出阈值较少,此时仅对部分非核心服务进行降级处理即可减小服务器在预测时段内的流量值,为核心服务预留足够资源,故此时可以对较少的非核心服务进行降级处理,降低对其他非核心服务的影响,保证其他非核心服务的稳定性。或者,在流量差值较大的情况下,说明在预测时段内服务器的流量值超出阈值较多,此时需要对大部分目标服务进行降级处理才能减小服务器在在预测时段内的流量值,为核心服务预留足够资源,故此时可以对较多的非核心服务进行降级处理,优先保证核心服务的稳定性。
95.在从具有目标服务属性的服务(非核心服务)中确定该数量个目标服务的过程中,可以随机选择目标服务,或者也可以基于各服务的重要等级选择目标服务,例如可以优先选择重要等级较低的服务,以缓解对重要等级较高的服务的影响。
96.本技术实施例提供的服务自动降级方法,可以根据通过流量预测模型得到的预测流量结果判断服务器在预测时段内的流量值和流量阈值之间的差值,进而根据该差值确定待进行降级的目标服务。也即本技术实施例提供的服务自动降级方法能够在服务器的流量超过流量阈值之前对目标服务进行降级处理,提高了降级处理的及时性,通过提前限制目标服务的流量,以在服务器的流量较大时,为服务器保留充足的服务器资源,能够提高服务器中核心服务的稳定性。
97.在一个实施例中,如图3所示,流量预测模型至少包括两个预测模型,步骤104中,通过流量预测模型对目标流量数据进行预测,得到服务器的预测流量结果,包括:
98.步骤302,通过各预测模型分别对目标流量数据进行预测,得到多个初始预测结果。
99.本技术实施例中,可以通过多个预测模型分别对前述实施例中选取的目标流量数据进行预测,得到各预测模型的初始预测结果。预测模型为预先训练的用于预测服务器在预测时段内的流量情况的模型,本技术实施例不对预测模型的模型结构及训练过程做具体
限定,凡是能根据目标流量数据,预测服务器在预测时段内的流量值的预测模型均适用于本技术实施例中。例如:prophet模型、lstm模型(long short term memory network,长短期记忆神经网络)等。
100.步骤304,根据各预测模型的预测权重对多个初始预测结果进行融合处理,得到预测流量结果。
101.本技术实施例中,可以在得到各预测模型的初始预测结果后,根据各预测模型的预测权重,对各初始预测结果进行融合处理,例如:根据各预测模型的预测权重,对各初始预测结果加权求和等,以得到最终的预测流量结果。
102.本技术实施例不对确定各预测模型的预测权重的方式做具体限定,凡是可以确定预测模型的预测权重的方式均适用于本技术实施例中。例如:根据预测模型在训练时的损失值确定预测权重等。
103.本技术实施例提供的服务自动降级方法,可以采用多个预测模型对目标流量数据进行预测,得到各预测模型的初始预测结果后再根据各预测模型的预测权重对初始预测结果进行融合。由于本技术实施例采用多个预测模型进行预测,因此可以弥补各预测模型在预测过程中产生的误差,改善单一预测模型预测精度不足的问题,故而能够提高流量预测的精度。
104.在一个实施例中,如图4所示,上述方法还包括:
105.步骤402,从样本服务器对应的历史流量数据中,获取各流量特征对应的流量数据。
106.本技术实施例中,流量特征指流量数据的类别。示例性的,流量特征可以包括流量同比值、流量环比值、调用失败次数、调用超时时间、调用方、被调用方等。其中,流量同比值是当期流量与历史同期流量的比值,例如,当日流量与上一周同日流量或上一月同日流量的比值等。流量环比值是当期流量与上一期流量数据的比值,例如,当日流量与前日流量或当周流量与前一周流量的比值等。
107.步骤404,采用特征权重算法,根据各流量特征对应的流量数据从各流量特征中确定目标流量特征。
108.本技术实施例中,可以采用特征权重算法,根据各流量特征对应的流量数据从各流量特征中确定目标流量特征。示例性的,可以采用特征权重算法,确定各流量特征的特征权重,并对各流量特征的特征权重从高至低排序,将特征权重较高的流量特征确定为目标流量特征。例如,以流量特征包括流量同比值、流量环比值、调用失败次数、调用超时时间、调用方、被调用方为例,目标流量特征可以包括:流量同比值、流量环比值、调用失败次数、调用超时时间。
109.需要说明的是,本技术实施例对于特征权重算法不作具体限定,凡是能根据各流量特征对应的流量数据确定各流量特征的特征权重的算法均适用于本技术实施例中。
110.以特征权重算法为relieff算法为例,relieff算法是一种多类别特征提取算法。在本技术实施例中,可以将全部流量数据分为两个样本组:触发限流的流量数据(即在样本服务器的流量值超过流量阈值时产生的流量数据)与未触发限流的流量数据(即在样本服务器的流量值未超过流量阈值时产生的流量数据)。relieff算法首先从全部流量数据中,随机取出一个流量数据a;在与流量数据a相同分类的样本组内,取出与流量数据a的k个最
近邻样本,记为集合h;在与流量数据a不同分类的样本组内,也分别取出与流量数据a的k个最近邻样本,记为集合m;随后,针对任一特征a,算法计算集合h中的每一元素与a在特征a上的差的第一平均值,以及集合m中的每一元素与a在特征a上的差的第二平均值,并根据第一平均值和第二平均值确定特征a的特征权重。
111.步骤406,根据目标流量特征对应的流量数据,构建训练集。
112.步骤408,通过训练集分别对各预测模型对应的初始预测模型进行训练,得到各预测模型。
113.本技术实施例中,可以根据自流量特征中筛选出的目标流量特征所对应的流量数据,构建训练集,进而对各预测模型对应的初始预测模型进行训练,得到可以预测服务器在预测时段内的流量情况的预测模型。
114.需要说明的是,本技术实施例对于初始预测模型的训练过程不作具体限定。凡是能够对初始预测模型进行训练,得到训练好的预测模型的训练方式均适用于本技术实施例中。例如:集成学习算法等。
115.本技术实施例提供的服务自动降级方法,可以根据特征权重满足预设条件的流量特征对应的流量数据构建训练集,并通过该训练集对初始预测模型进行训练,得到训练好的预测模型。由于本技术实施例对流量数据进行了筛选,仅将特征权重较大,即预测能力较强的流量特征对应的流量数据组成训练集,故而可以避免将预测能力较弱的冗余数据输入初始预测模型中进行训练,因此可以提高初始预测模型的训练速度。
116.在一个实施例中,如图5所示,上述方法还包括:
117.步骤502,确定各预测模型的精度。
118.本技术实施例中,预测模型的精度用于表征预测模型在根据流量数据进行预测时,准确预测出服务器在预测时段内的流量情况的能力。可以在预测模型训练完成后,采用训练过程中未使用的数据对预测模型进行检验,并根据检验过程中得到的各预测模型的精度确定各预测模型的预测权重。
119.需要说明的是,本技术实施例对于确定各预测模型的精度的方式不作具体限定。凡是能够在对各预测模型进行检验时确定各预测模型精度的方式均适用于本技术实施例中。
120.步骤504,根据各预测模型的精度,确定各预测模型的预测权重。
121.本技术实施例中,可以根据上述步骤得到的各预测模型的精度,进一步确定各预测模型的预测权重。示例性的,针对任一预测模型,可以将该预测模型的精度与全部预测模型精度之和的比值作为该预测模型的预测权重。例如,若第一预测模型的精度为x,第二预测模型的精度为y,则第一预测模型的预测权重可以为x/(x+y),第二预测模型的预测权重可以为y/(x+y)。
122.本技术实施例提供的服务自动降级方法,可以根据各预测模型的精度确定各预测模型的预测权重。本技术实施例可以确保精度低的预测模型预测权重低,精度高的预测模型预测权重高,故而能够进一步提升流量预测的精度。
123.在一个实施例中,步骤408中,通过训练集分别对各预测模型对应的初始预测模型进行训练,得到各预测模型,包括:
124.针对任一预测模型,在通过训练集训练预测模型对应的初始预测模型的过程中,
采用粒子群算法确定预测模型的最优超参数,并在采用粒子群算法确定预测模型的最优超参数的过程中,实时基于粒子运动过程中的历史数据,更新粒子群算法中的惯性因子,采用更新后的粒子群算法确定预测模型的最优超参数。
125.其中,超参数是各预测模型中需要人为设置的外部参数,如迭代次数、批量大小等。惯性因子是粒子群算法中控制粒子保持原有速度能力的参数,较大的惯性因子更有利于粒子的全局搜索,较小的惯性因子更有利于粒子的局部搜索。
126.本技术实施例中,可以首先基于粒子运动过程中的历史数据,对粒子群算法中各粒子的惯性因子取值进行更新,进而根据更新后的粒子群算法确定各预测模型的最优超参数。在根据粒子群算法确定某一预测模型的最优超参数,即搜索该预测模型的超参数的最优值时,可以将该预测模型的超参数设置为粒子在n维空间中的坐标,粒子群算法在n维空间中搜索到的最优解即为该预测模型的超参数的最优值。
127.本技术实施例提供的服务自动降级方法,可以通过更新粒子群算法中的惯性因子,对粒子群算法进行更新,进而通过更新后的粒子群算法确定各预测模型的最优超参数。由于惯性因子控制粒子进行全局搜索和局部搜索的能力,对粒子群算法的惯性因子进行调整,可以加快粒子到达最优解的速度、提升粒子搜寻最优解的精度,进而能够进一步加快预测模型的训练速度。
128.在一个实施例中,如图6所示,上述实施例中,实时基于粒子运动过程中的历史数据,更新粒子群算法中的惯性因子,包括:
129.步骤602,根据粒子运动过程中的历史数据,确定粒子在运动过程中的历史最大惯性因子、历史最小惯性因子、粒子历史最小目标值、粒子历史最大目标值。
130.其中,历史最大惯性因子是粒子在运动过程中曾经取过的所有惯性因子取值中的最大值,历史最小惯性因子是粒子在运动过程中曾经取过的所有惯性因子取值中的最小值,粒子历史最小目标值是粒子在运动过程中曾经取过的所有目标函数取值中的最小值,粒子历史最大目标值是粒子在运动过程中曾经取过的所有目标函数取值中的最大值。
131.步骤604,根据历史最大惯性因子、历史最小惯性因子、粒子历史最小目标值、粒子历史最大目标值,确定第一惯性因子调整值。
132.本技术实施例中,第一惯性因子调整值用于调整粒子在运动过程中的惯性因子取值,其与历史最大惯性因子和历史最小惯性因子之间的差值正相关,与粒子历史最大目标值和粒子历史最小目标值的差值负相关。示例性的,第一惯性因子调整值可以通过对历史最大惯性因子和历史最小惯性因子作差,将结果与粒子当前目标值(即粒子在当前时刻的目标函数取值)和粒子历史最小目标值的差值相乘,再除以粒子历史最大目标值和粒子历史最小目标值的差值的方式确定(参见公式(一)):
[0133][0134]
其中,θ为第一惯性因子调整值,ω
max
为历史最大惯性因子,ω
min
为历史最小惯性因子,f为粒子当前目标值,f
min
为粒子历史最小目标值,f
max
为粒子历史最大目标值。
[0135]
步骤606,将历史最大惯性因子与第一惯性因子调整值的差值,作为粒子群算法在当前时刻的惯性因子。
[0136]
本技术实施例中,可以对历史最大惯性因子与第一惯性因子调整值作差,得到粒
子群算法在当前时刻的惯性因子(参见公式(二)):
[0137]
ω=ω
max-θ
ꢀꢀ
(公式(二))
[0138]
其中,ω为粒子群算法在当前时刻的惯性因子,ω
max
为历史最大惯性因子,θ为第一惯性因子调整值。
[0139]
本技术实施例提供的服务自动降级方法,可以根据粒子在运动过程中的历史数据,调整粒子在当前时刻的惯性因子。由于惯性因子控制粒子进行全局搜索和局部搜索的能力,对粒子群算法的惯性因子进行调整,可以加快粒子到达最优解的速度、提升粒子搜寻最优解的精度,进而能够进一步加快预测模型的训练速度。
[0140]
为使本领域技术人员更好的理解本技术实施例,以下通过具体示例对本技术实施例加以说明。
[0141]
示例性的,如图7所示,示出了一种服务自动降级方法的流程图。
[0142]
本技术实施例提供的服务自动降级方法同时采用多种服务降级策略,其中包括超时降级、失败次数降级、故障降级和限流降级。对于超时降级、失败次数降级和故障降级,本技术实施例采用固定阈值降级策略。例如,对于超时降级,可以在服务超时次数超过阈值的情况下对服务进行降级处理;对于失败次数降级,可以在服务调用失败次数超过阈值的情况下对服务进行降级处理;对于故障降级,可以在服务调用故障次数超过阈值的情况下对服务进行降级处理。
[0143]
对于限流降级,本技术实施例采取预警降级策略,即通过流量预测模型预测服务器在预测时段内的流量情况,根据预测流量结果确定待进行降级的目标服务,以此提前对目标服务进行降级处理。
[0144]
在对流量预测模型进行训练时,本技术实施例首先需要确定流量预测模型中的各预测模型的最优超参数。在本技术实施例中,可以通过粒子群算法确定各预测模型的最优超参数。采用粒子群算法确定最优超参数的步骤可以参照前述实施例的相关描述,本技术实施例在此不再赘述。
[0145]
在通过粒子群算法确定各预测模型的最优超参数时,可以对粒子群算法进行更新。粒子群算法具有在搜寻目标时容易陷入局部最优解,导致无法搜寻到全局最优解、搜索精度低的缺陷。针对粒子群算法的这一缺陷,本技术实施例基于粒子运动过程中的历史数据,在粒子群算法进行搜寻时,对粒子群算法中的惯性因子进行实时更新。对粒子群算法中的惯性因子进行更新的步骤可以参照前述实施例的相关描述,本技术实施例在此不再赘述。
[0146]
在确定预测模型的最优超参数后,本技术实施例对预测模型进行训练,得到流量预测模型。在预测模型的训练过程中,本技术实施例可以对样本服务器对应的历史流量数据中的各流量特征进行筛选,仅根据特征权重较高的目标流量特征对应的流量数据构建训练集。
[0147]
本技术实施例随后采用目标流量特征对应的流量数据中80%的数据对各预测模型进行训练,在模型训练完成后,采用目标流量特征对应的流量数据中剩余的20%的数据检验各预测模型的精度,并根据各预测模型的精度确定各预测模型的预测权重。
[0148]
在实际使用流量预测模型时,本技术实施例需要从服务器的多个历史流量数据中,确定目标流量数据。示例性的,目标流量数据可以是上述预测模型训练过程中确定的目
标流量特征在服务器的多个历史流量数据中对应的流量数据。
[0149]
本技术实施例进而可以通过流量预测模型对目标流量数据进行预测,并根据预测流量结果对目标服务进行降级处理。
[0150]
本技术实施例提供的服务自动降级方法,通过确定目标流量数据,并通过流量预测模型对目标流量数据进行预测,可以在预测流量结果表征预测时段内服务器的流量超过流量阈值的情况下,确定待进行降级的目标服务,以及时对目标服务进行降级处理,也即本技术实施例提供的服务自动降级方法能够在服务器的流量超过流量阈值之前对目标服务进行降级处理,提高了降级处理的及时性,通过提前限制目标服务的流量,以在服务器的流量较大时,为服务器保留充足的服务器资源,能够提高服务器中核心服务的稳定性。
[0151]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0152]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的服务自动降级方法的服务自动降级装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个服务自动降级装置实施例中的具体限定可以参见上文中对于服务自动降级方法的限定,在此不再赘述。
[0153]
在一个实施例中,如图8所示,提供了一种服务自动降级装置,包括:第一确定模块802、预测模块804、第二确定模块806、降级模块808,其中:
[0154]
第一确定模块802,用于从服务器的多个历史流量数据中,确定目标流量数据;
[0155]
预测模块804,用于通过流量预测模型对所述目标流量数据进行预测,得到所述服务器的预测流量结果,所述预测流量结果用于表征所述服务器在预测时段内的流量情况;
[0156]
第二确定模块806,用于在所述预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务;
[0157]
降级模块808,用于对所述目标服务进行降级处理,以实现对所述目标服务的限流。
[0158]
上述服务自动降级装置,通过确定目标流量数据,并通过流量预测模型对目标流量数据进行预测,可以在预测流量结果中存在超过流量阈值的目标流量值的情况下,确定待进行降级的目标服务,以及时对目标服务进行降级处理,也即本技术实施例提供的服务自动降级装置,能够在服务器的流量超过流量阈值之前对目标服务进行降级处理,提高了降级处理的及时性,通过提前限制目标服务的流量,以在服务器的流量较大时,为服务器保留充足的服务器资源,能够提高服务器中核心服务的稳定性。
[0159]
在其中一个实施例中,所述降级模块808,还用于:
[0160]
从所述预测流量结果中确定大于所述流量阈值的目标流量值;
[0161]
根据所述目标流量值与所述流量阈值,确定流量差值;
[0162]
根据所述流量差值从具有目标服务属性的服务中,确定待进行降级的目标服务,
其中,服务属性用于表征所述服务的核心程度。
[0163]
在其中一个实施例中,所述流量预测模型至少包括两个预测模型,所述预测模块804,还用于:
[0164]
通过各所述预测模型分别对所述目标流量数据进行预测,得到多个初始预测结果;
[0165]
根据各所述预测模型的预测权重对所述多个初始预测结果进行融合处理,得到预测流量结果。
[0166]
在其中一个实施例中,所述装置还包括:
[0167]
获取模块,用于从样本服务器对应的历史流量数据中,获取各流量特征对应的流量数据;
[0168]
第三确定模块,用于采用特征权重算法,根据各所述流量特征对应的所述流量数据从各所述流量特征中确定目标流量特征;
[0169]
构建模块,用于根据所述目标流量特征对应的所述流量数据,构建训练集;
[0170]
训练模块,用于通过所述训练集分别对各所述预测模型对应的初始预测模型进行训练,得到所述流量预测模型。
[0171]
在其中一个实施例中,所述装置还包括:
[0172]
第四确定模块,用于确定各所述预测模型的精度;
[0173]
第五确定模块,用于根据各所述预测模型的精度,确定各所述预测模型的所述预测权重。
[0174]
在其中一个实施例中,所述训练模块,还用于:
[0175]
针对任一所述预测模型,在通过所述训练集训练所述预测模型对应的初始预测模型的过程中,采用粒子群算法确定所述预测模型的最优超参数,并在采用粒子群算法确定所述预测模型的最优超参数的过程中,实时基于粒子运动过程中的历史数据,更新所述粒子群算法中的惯性因子,采用更新后的所述粒子群算法确定所述预测模型的最优超参数。
[0176]
在其中一个实施例中,所述训练模块,还用于:
[0177]
根据所述粒子运动过程中的历史数据,确定所述粒子在运动过程中的历史最大惯性因子、历史最小惯性因子、粒子历史最小目标值、粒子历史最大目标值;
[0178]
根据所述历史最大惯性因子、历史最小惯性因子、粒子历史最小目标值、粒子历史最大目标值,确定第一惯性因子调整值;
[0179]
将所述历史最大惯性因子与所述第一惯性因子调整值的差值,作为所述粒子群算法在当前时刻的惯性因子。
[0180]
上述服务自动降级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0181]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络
接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种服务自动降级方法。
[0182]
本领域技术人员可以理解,图9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0183]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0184]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0185]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0186]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
[0187]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0188]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0189]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1