一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据检测方法、装置、电子设备和存储介质与流程

2022-04-30 09:58:47 来源:中国专利 TAG:


1.本公开涉及人工智能领域,尤其涉及大数据技术领域,具体涉及一种数据检测方法、装置、电子设备和存储介质。


背景技术:

2.随着微服务(microservice)和云原生(cloud native)技术的推广与应用,分布式系统的应用也越来越广泛。一般来说,分布式系统提供的服务类型越多,分布式系统所包括的模块就越多。错综复杂的调用链路、云原生时代复杂的模块运行环境,都对系统整体的稳定性、响应速度等带来较大挑战。其中,分布式系统中的数据异常检测会对系统的可用性和速度带来极大的影响,因此成为关键问题。


技术实现要素:

3.本公开提供了一种数据检测方法、装置、电子设备和存储介质。
4.根据本公开的一方面,提供了一种数据检测方法,包括:
5.基于数据集中的每个数据的服务指标,确定所述数据集的稳定性评估参数;
6.基于所述数据集的稳定性评估参数,在预设的多个分位数中确定目标分位数;
7.基于所述数据集的每个数据的异常检测参数以及所述目标分位数,在所述数据集中确定异常数据。
8.根据本公开的另一方面,提供了一种数据检测装置,包括:
9.稳定性评估模块,用于基于数据集中的每个数据的服务指标,确定所述数据集的稳定性评估参数;
10.分位数确定模块,用于基于所述数据集的稳定性评估参数,在预设的多个分位数中确定目标分位数;
11.异常检测模块,用于基于所述数据集的每个数据的异常检测参数以及所述目标分位数,在所述数据集中确定异常数据。
12.根据本公开的另一方面,提供了一种电子设备,包括:
13.至少一个处理器;以及
14.与该至少一个处理器通信连接的存储器;其中,
15.该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
16.根据本公开的另一个方面,提供了一种数据处理系统,包括本公开任一实施例的电子设备。
17.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
18.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本公开任一实施例中的方法。
19.根据本公开的技术,基于数据集的每个数据的服务指标,整体评估得到数据集的稳定性评估参数,从而基于稳定性评估参数可以确定目标分位数,再基于数据集中的每个个体数据的异常检测参数以及目标分位数,可以准确地在数据集中确定异常数据。
20.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.附图用于更好地理解本方案,不构成对本公开的限定。其中:
22.图1是本公开第一实施例的数据检测方法的流程图;
23.图2是本公开第二实施例的数据处理系统的架构框图;
24.图3是本公开第三实施例的数据检测方法的流程图;
25.图4是本公开第四实施例的数据处理装置的结构框图;
26.图5是本公开第五实施例的数据处理装置的结构框图;
27.图6是实现本公开实施例的数据检测方法的电子设备的框图。
具体实施方式
28.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
29.在分布式系统的应用场景中,系统为用户提供的服务类型越多,结构越复杂,所包括的模块也越多。在这样的情况下,单个系统提供一次服务可能会涉及到系统内上百个模块。错综复杂的调用链路和运行环境,都对系统的稳定性、响应速度等带来较大的挑战。对于高可用系统来说,部分异常数据的持续存在会影响系统的可用性、稳定性和响应速度等。因此,对异常数据进行检测和自愈,这对于避免系统的服务性能退化以及保持系统的稳定性是十分关键的。其中,自愈是指删除异常数据并新增对应的正常数据。
30.其中,对数据进行异常检测的方法主要分为两类:
31.其一,人工阈值检测法。主要为系统中的不同的模块所使用的数据配置不同的指标采集项。根据经验,为数据的不同指标项设定相应的阈值。当某一个数据的某一个指标超过该指标对应的阈值时,通知相应的工作人员,通过人工综合该数据的多个指标来判断该数据是否异常。
32.其二,指标模型法。为对系统中的不同模块分别建立不同的指标模型,采用指标模型对模块所使用的数据进行异常检测。常见的模块模型包括z分数(z-score)法、多元高斯法以及人工标注的有监督学习等方法。其中,高斯方法是采集数据的指标,并利用采集到的指标建立模型,然后通过求解每个数据的指标的分布偏离程度,来判定每个数据是否异常。有监督学习方法是需要人工选择训练样本,训练得到相应的指标模型,然后将待检测数据的指标输入到训练好的指标模型中,即可判定该数据是否为异常数据。
33.但是,上述的异常检测方法都存在一定的局限性。
34.对于人工阈值检测法来说,该方法需要为系统中的各个模块配置多种指标监控项
目,并依据经验设置相应的阈值。随着系统业务的不断迭代,相应的指标项可能会失效,需要定期对监控的指标项进行调整。对于每个指标项所对应的报警阈值也需要相应的调整。如果报警的数据过多,则人工排查数据是否异常所需要人力成本也是比较高。而且,此方案的排查效果与排查人员的经验是强依赖的,难以保证检测数据是否存在异常的效果和实时性。
35.对于指标模型法,虽然可以自动检测数据是否存在异常,但仍然存在许多不足之处。其中,有监督学习方法需要人工标注训练样本。模型的通用性较差,不能采用一套模型对系统中的不同模块的数据进行检测。而且,标注样本和调整模型参数都需要耗费人力。随着系统业务的不断变化,模型的有效性也逐渐变低。而且,在实际数据较少的情况下,容易出个别异常样本影响模型的参数,这样,模型在实际应用中有可能漏判异常数据。在高斯方法中,通过横向比较每个数据的指标确定每个数据是否存在异常。虽然这个方法不需要人工标注样本以及训练模型,但是,这个方法检测的指标需要符合高斯分布这一假设,这才能有效地检测数据是否异常。在实际应用中,系统中的数据的每个指标项的分布是多样,符合高斯分布的指标项是较少的。
36.为此,本公开实施例提供一种数据检测方案,能够准确地检测数据集中的每个数据是否存在异常,提高数据集的稳定性。
37.图1示出了本公开第一实施例的数据检测方法的流程图。如图1所示,该方法可以包括如下步骤:
38.s110,基于数据集中的每个数据的服务指标,确定数据集的稳定性评估参数;
39.s120,基于数据集的稳定性评估参数,在预设的多个分位数中确定目标分位数;
40.s130,基于数据集的每个数据的异常检测参数以及目标分位数,在数据集中确定异常数据。
41.示例性地,可以将数据处理系统中的每个模块要调用的数据存储在同一个数据集中。来源于不同模块的数据其对应的用于衡量其是否存在异常的指标有所不同。每个数据可以包括多个指标,每个指标的获取方式也有所不同。抓取不同模块的数据,并记录数据的标识、来源、抓取的时间戳等信息。将数据的指标或特征等参数与数据关联,并存储于数据集中。这样,可以以唯一的标识对不同模块的数据及其相关的指标参数进行调取和检测。
42.示例性地,数据集可以包括一个或多个数据。数据集可以记载每个数据的服务指标。在数据处理系统调用数据集中的数据时,采集数据的服务指标。服务指标是表征数据为调用服务或调用请求提供服务的过程中所表现的特征或指标。例如,服务指标可以包括数据响应调用请求的响应时间、是否调用成功、服务流量、数据所对应的服务节点等。
43.在上述步骤s110中,可以基于数据集中的每个数据的服务指标,确定该数据指标对应的总体服务指标。例如,数据集中的数据的平均响应时间、长尾分布、调用成功率、平均服务流量等。基于总体服务指标,可以确定数据集的稳定性评估参数。稳定性评估参数可以表征数据集为调用服务提供服务的稳定程度。
44.示例性地,可以根据需要调整预设的多个分位数。预设的多个分位数可以包括四分位、八分位、十六分位、三十二分位、六十四分位等。
45.在一些实施例中,数据集的稳定性评估参数与目标分位数的数值之间可以是正相关的关系,例如线性正相关或指数正相关。数据集的稳定性评估参数的值越高,表征数据集
的稳定性越高,所采用的目标分位数的数值也越高。
46.例如,数据集的稳定性评估参数的取值范围为1至10之间,如果稳定性评估参数为5,则可以选择十六分位的分位数;如果稳定性评估参数为8,则可以选择三十二分位的分位数。
47.再如,数据集的稳定性评估参数可以按级别取值,分为5级,从1级到5级,级别越高,表征数据集的稳定性越高。对应地,预设的多个分位数可以包括5个不同的分位数,例如,四分位、八分位、十六分位、三十二分位和六十四分位这五个分位数。稳定性评估参数为1级,则目标分位数为四分位。稳定性评估参数为2级,则目标分位数为八分位。稳定性评估参数为3级,则目标分位数为十六分位。稳定性评估参数为4级,则目标分位数为三十二分位。稳定性评估参数为5级,则目标分位数为六十四分位。
48.在一些实施例中,还可以结合数据集的数据量来调整目标分位数。在数据集的数据量少于设定阈值,且目标分位数高于设定的分位数的情况下,调整目标分位数。例如,如果数据集的数据量较少,例如10个,而目标分位数为十六分位,在这种情况下,十六分位不能用于该数据集的异常检测,这是因为十六分位的分位数大于数据集的数据量了。此时,可以将目标分位数调整为四分位或者八分位。
49.示例性地,异常检测参数是用于检测数据是否异常的参数。异常检测参数可以包括数据的响应时间、服务时长等。针对数据的每个异常检测参数均可以利用目标分位数,在数据集中确定该异常检测参数异常的数据。
50.在本公开实施例中,利用数据集中的每个数据的服务指标,可以整体评估数据集的稳定性,进而利用该稳定性来确认目标分位数。针对数据集中的每个数据进行检测时,可以利用该目标分位数与每个数据的异常检测参数进行比较,进而可以确定每个数据是否异常。由于该目标分位数的取值考虑了数据集的整体稳定性,在检测数据集中的每个数据是否异常时,可以提高异常检测的准确度,并进一步地提高数据集的稳定性。
51.在一些实施例中,可以利用服务指标在不同时间段内的均值来评估数据集的稳定性。
52.示例性地,上述步骤s110中,基于数据集中的每个数据的服务指标,确定数据集的稳定性评估参数,可以包括:
53.基于数据集的每个数据的服务指标,确定服务指标在至少一个时间段内的平均值;
54.基于服务指标在至少一个时间段内的平均值,确定数据集的稳定性评估参数。
55.在本示例性,利用数据集的整体服务指标在不同的时间段内的均值来评估数据集的稳定性,提高评估的准确程度。
56.示例性地,以服务指标a为例,数据集包括数据b1至b10。获取数据b1至b10中的每个数据的服务指标a在每个时刻的数值,并将时间段划分为c1至c3,然后,利用获取到的数值,统计服务指标a在时间段c1内的平均值、在时间段c2内的平均值以及在时间段c3内的平均值。然后,利用这三个平均值之间的变化,确定数据集的稳定性评估参数。
57.在服务指标包括多个的情况下,可以利用每个服务指标在不同时间段内的平均值变化统计出一个变化均值,然后利用该变化均值确定数据集的稳定性评估参数。
58.在一些实施例中,可以利用相邻两个时间段内服务指标的平均值的变化来确定数
据集的稳定性评估参数。
59.示例性地,上述基于服务指标在至少一个时间段内的平均值,确定数据集的稳定性评估参数,可以包括:
60.基于服务指标在至少一个时间段中的第一时间段内的平均值和在至少一个时间段中的第二时间段内的平均值,确定数据集的稳定性评估参数;其中,第一时间段与第二时间段相邻。
61.在本示例性中,由于相邻时间段内变化更能体现数据集的稳定性,因而,利用相邻两个时间段内的服务指标的平均值之间的变化来确定数据集的稳定性评估参数,可以提高评估的准确程度。
62.在一些实施例中,服务指标在第一时间段内的平均值与第二时间段内的平均值之间的变化,与数据集的稳定评估参数成负相关,例如线性负相关,指数负相关等。变化越大,稳定性评估参数的数值越低,所表征的数据集的稳定性也越低。变化越小,稳定性评估参数的数值越高,所表征的数据集的稳定性也越高。
63.在一些实施例中,第一时间段与第二时间段的时长可以相同也可以不相同的。
64.在一些实施例中,可以定时检测数据是否异常。例如每隔12小时、每隔24小时等检测一次。
65.在一些实施例中,可以定时采集每个数据的异常检测参数在该时间段内的平均值,然后定时检测数据集中的数据是否存在异常。
66.示例性地,每个数据的异常检测参数包括每个数据的异常检测参数在第三时间段内的平均值,其中,第三时间段与第一时间段和第二时间段的其中一者相邻,且第三时间段晚于第一时间段和第二时间段。
67.在本示例中,可以定时地利用历史相邻两个时间段内的服务指标确定得到数据集的稳定性评估参数,进而得到目标分位数,利用该分位数对每个数据在当前时间段内的异常检测参数进行检测,从而实现动态调整分位数,并动态检测数据是否异常。
68.示例性地,第一时间段、第二时间段和第三时间段的时长相同。
69.示例性地,在第n个时间段内检测数据时,可以比较第n-1时间段内的服务指标的平均值与第n-2时间段内的服务指标的平均值之间的变化,得到数据集的稳定性评估参数。然后,基于数据集的稳定性评估参数,确定第n时间段的目标分位数。基于数据集中的每个数据在第n时间段内的异常检测参数的平均值和第n时间段的目标分位数,在数据集中确定异常数据。
70.在本示例性中,该时间段可以是12小时、24小时或36小时等。
71.在一些实施例中,可以基于目标分位数在异常检测参数中确定对应的分位距,然后基于分位距以及每个数据的异常检测参数,在数据集中确定异常数据。
72.示例性地,上述步骤s130,基于数据集中的每个数据的异常检测参数以及目标分位数,在数据集中确定异常数据,包括:
73.在数据集中的每个数据的异常检测参数中,提取位于目标分位数的异常检测参数;
74.基于位于目标分位数的异常检测参数,确定异常检测参数的分位距;
75.基于数据集中的每个数据的异常检测参数以及分位距,在数据集中确定异常数
据。
76.在本示例中,基于目标分位数进一步地确定分位距,利用分位距以及每个数据的异常检测参数,可以确定每个数据是否为异常数据,有效提高异常检测的准确度。
77.示例性,以目标分位数为八分位为例。每个数据有一个对应的异常检测参数,采集每个数据的异常检测参数。在采集到的所有异常检测参数中提取位于八分位的异常检测参数。基于位于八分位的异常检测参数中的最大值与最小值之间的差值,确定异常检测参数的八分位距。该差值与八分位距成正相关,差值越大,八分位距越大。基于分位距确定一个比较阈值,将比较阈值与每个数据的异常检测参数进行比较,将异常检测参数大于比较阈值的数据确定为异常数据。
78.示例性地,比较阈值等于分位距,或者比较阈值等于分位距的三倍与位于目标分位数的异常检测参数中的最大值之和。
79.在一些实施例中,对于无法利用分位数进行异常检测的异常检测参数,可以采用其他检测方法来检测。例如,对于检测数据的调用端口是否异常,可以采用以下方法进行检测:
80.获取数据集中的每个数据在设定时间段内的调用情况;
81.基于每个数据在设定时间段内的调用情况,确定每个数据是否存在调用端口异常。
82.示例性地,调用情况可以包括调用服务和反馈给调用服务的数据。
83.示例性地,在设定时间段内,第一调用服务请求调用第一数据但第一数据没有成功反馈给第一调用服务,则可以确定第一数据为调用端口异常数据。也可以认定此调用端口异常为端口不连通。在设定时间段,对于任意的调用服务请求,调用第一数据且第一数据均成功反馈给相应的调用服务请求,可以确定第一数据为调用端口正常数据。也可以认定此调用端口为端口是连通的。
84.在本示例中,通过检测数据在设定时间内的调用情况,可以准确地检测到该数据是否存在调用端口异常。
85.对于不同的异常检测参数,所检测得到的异常数据的异常类型也是不相同的。针对不同异常类型的异常数据,基于每个数据对应的异常类型,确定每个数据的更新策略。
86.示例性地,异常类型可以包括响应时间异常、调用端口异常等。不同的异常数据对应的异常类型可以相同也可以不相同。例如,第一异常数据包括响应时间异常,第二异常数据包括响应时间异常和调用端口异常,第三异常数据包括调用端口异常。其中,第一异常数据、第二异常数据和第三异常数据是异常数据中的一个,他们之间并不一定是按第一、第二、第三的顺序排列的。对于异常类型不同的异常数据,他们所采用的更新策略也有所不同。
87.示例性地,可以定时地对数据集中的数据进行检测以及更新。也可以针对检测请求进行检测,并在检测完成之后对异常数据进行更新。
88.在本示例中,基于每个异常数据对应的异常类型确定每个异常数据的更新策略,可以提高数据集更新的兼容性。
89.在一些实施例中,异常检测参数包括响应时间。
90.示例性地,上述步骤s130可以包括:在数据集中确定第一调用服务调用的至少一
个数据;基于第一调用服务,获取与至少一个数据分别对应的至少一个响应时间;基于至少一个响应时间以及目标分位数,在至少一个数据中确定响应时间异常的数据。
91.在本示例中,可以针对同一调用数据调用的数据的响应时间,对这些调用的数据检测是否存在响应时间异常,提高响应时间异常检测的准确性。
92.示例性地,第一调用服务是指调用服务中的一个服务。不同的调用服务可以调用不同的数据,他们之间也可以有数据调用的交集。例如,第一调用服务调用数据集中的第一数据和第二数据,第二调用服务调用数据集中的第二数据,则第二数据是第一调用服务和第二调用服务的调用数据交集。数据响应不同的调用服务的时间也有所不同。不同的数据响应同一调用服务的时间也有所不同。因此,本公开实施例在检测数据集中的每个数据是否存在响应时间异常,可以参考他们所对应的调用服务。
93.示例性地,对于上述响应时间,其可以是数据响应第一调用服务的平均响应时间、响应时间中位数、响应时间标准差或响应时间方差等。
94.在实际应用时,第一调用服务调用的数据可以包括一个或多个。在第一调用服务调用的数据包括一个的情况下,基于该数据的响应时间和设定的响应时间阈值,确定该数据是否存在响应时间异常。
95.在第一调用服务调用的数据包括多个的情况下,基于第一调用服务调用的每个数据的响应时间,确定响应时间阈值;基于确定的响应时间阈值,在第一调用服务调用的多个数据中确定响应时间异常的数据。
96.在一些实施例中,可以利用八分位距确定方法,基于第一调用服务调用的每个数据的响应时间,确定响应时间阈值。所确定的响应时间阈值为第一调用服务调用的所有数据的响应时间的八分位距。
97.示例性地,目标分位距为八分位,上述基于至少一个响应时间以及目标分位距,在至少一个数据中确定响应时间异常的数据,包括:
98.在至少一个响应时间中提取位于八分位的响应时间;
99.基于位于八分位的响应时间,确定至少一个响应时间的八分位距;
100.基于八分位距以及至少一个响应时间,在至少一个数据中确定响应时间异常的数据。
101.在本示例中,可以利用响应时间的八分位距来确定数据是否存在响应时间异常,提高响应时间异常检测的准确性。而且,由于这至少一个响应时间是动态的,则八分位距也是动态,这样可以动态调整用于判断数据的响应时间是否存在异常的时间阈值,提高检测响应时间异常的准确性。
102.示例性地,对上述至少一个响应时间进行排列,确定位于八分位的响应时间。位于八分位的响应时间包括7个,第一个八分位的响应时间与第七个八分位的响应时间之差的绝对值,可以确定为这至少一个响应时间的八分位距。将这至少一个数据中的每个数据的响应时间与八分位距进行比较,以确定每个数据是否存在响应时间异常。例如,将这至少一个数据中响应时间大于八分位距的数据确定为响应时间异常的数据。
103.示例性地,对上述至少一个响应时间进行排列,并将上述至少一个响应时间的排列结果以响应时间中位数为分界线划分成两部分时间,第一部分的响应时间长于第二部分的响应时间。按时间从短至长排列第一部分的响应时间和第二部分的响应时间。从第一部
分的响应时间提取位于第三四分位的响应时间,并从第二部分的响应时间提取位于第一四分位的响应时间。上述第三四分位的响应时间与上述第一四分位的响应时间之差,可以确定为上述至少一个响应时间的八分位距。其中,上述第三四分位的响应时间是指在第一部分的响应时间中,位于四分位的响应时间中排列第三的响应时间。上述第一四分位的响应时间是指在第二部分的响应时间中,位于四分位的响应时间中排列第一的响应时间。
104.以下将举例描述本公开实施例提供的数据更新策略。
105.在一些实施例中,针对响应时间异常的数据,首先确定数据集中的正常数据的数据量是否满足设定条件,在不满足设定条件的情况下,需要先新增对应的正常数据再删除异常数据;在满足设定条件的情况下,不限定新增对应的正常数据与删除异常数据之间的顺序。
106.示例性地,上述基于至少一个异常数据中的每个异常数据对应的异常类型,确定每个异常数据的更新策略,可以包括:
107.在至少一个异常数据中的第一异常数据对应的异常类型包括响应时间异常且不包括调用端口异常的情况下,确定第一异常数据对应的更新策略为第一策略;其中,第一策略包括在数据集中的正常数据的数据量不满足设定条件的情况下,基于第一异常数据在数据集中新增对应的正常数据,并删除第一异常数据。
108.在本示例中,针对响应时间异常但调用端口正常的数据,在数据集中的正常数据的数据量不满足设定要求的情况下,先新增对应的正常数据再删除异常数据,可以避免数据集无法提供足够的数据给系统调用。
109.示例性地,上述基于第一异常数据在数据集中新增对应的正常数据,包括:基于第一异常数据所适用的调用服务,从第一异常数据的来源地提取对应的数据,然后在数据集中添加提取的数据。在一些实施例中,先验证提取的数据是否能被其所适用的调用服务所调用,如果能,则确定为正常数据,并将此数据添加在数据集中;如果不能,则确定为异常数据,不能将此数据添加在数据集中。
110.在一些实施例中,针对调用端口异常的数据,需要先停止该数据的调用服务,避免系统因该数据的调用端口异常而调用失败。
111.示例性地,上述基于至少一个异常数据中的每个异常数据对应的异常类型,确定每个异常数据的更新策略,可以包括:
112.在至少一个异常数据中的第二异常数据对应的异常类型包括调用端口异常的情况下,确定第二异常数据的更新策略为第二策略;其中,第二策略包括在停止第二异常数据的调用服务之后,基于第三策略更新第二异常数据;第三策略包括在数据集中的正常数据的数据量不满足设定条件的情况下,基于第二异常数据在数据集中新增对应的正常数据,并删除第二异常数据。
113.在本示例中,针对调用端口异常的数据,先停止该数据的调用服务,以避免在有调用服务来调用该数据的情况下由于端口异常而调用失败的情况发生。进一步地,在停止该数据的调用服务之后,在数据集中的正常数据的数据量不满足设定要求的情况下,先新增对应的正常数据再删除异常数据,可以避免数据集无法提供足够的数据给系统调用。
114.示例性地,上述基于第二异常数据在数据集中新增对应的正常数据,包括:基于第二异常数据所适用的调用服务,从第二异常数据的来源地提取对应的数据,然后将提取的
数据添加在数据集中。在一些实施例中,验证提取的是否能被其所适用的调用服务所调用,如果能,则确定为正常数据,并将此数据添加在数据集中;如果不能,则确定为异常数据,并丢弃该数据。
115.在一些实施例,在数据处理系统因自身原因而无法删除数据集中的异常数据或无法停止异常数据的调用服务的情况下,在数据集对应的域名系统中将异常数据的访问域名删除或屏蔽,从而达到间接删除异常数据的效果。
116.示例性地,上述更新策略还可以包括:
117.在无法删除至少一个异常数据中的第三异常数据或无法停止第三异常数据的调用服务的情况下,在数据集对应的域名系统中屏蔽或删除第三异常数据的访问域名。
118.在本示例中,可以在域名系统中屏蔽或删除异常数据的访问域名,达到间接删除异常数据的效果,这样,系统由于无法访问异常数据而不会调用这些异常数据。
119.在一些实施例,上述更新策略还可以包括:
120.针对数据集中的异常数据,在数据集对应的域名系统中在设定时间内屏蔽异常数据的访问域名。这样可以避免长时间屏蔽异常数据的访问域名。在屏蔽设置已过期的情况下,域名系统可以恢复数据的正常访问。
121.本公开实施例,针对不同异常类型的异常数据采用不用的更新策略,有利于提高数据集更新的兼容性。
122.本公开实施例可以实现数据采集、数据检测和异常数据自愈的自动化。以下将基于这三方面描述本公开实施例。
123.图2示出了本公开第二实施例提供的数据处理系统的架构框图。
124.数据处理系统包括采集系统、异常检测系统和自愈系统。
125.采集系统包括定时触发采集系统抓取数据以及数据的指标。对于来源于不同模块的数据采用不同的接口采集,得到每个模块的数据列表。并统一数据结构和数据存储方式。示例性地,针对数据的吞吐量、响应时间以及调用端口是否连通这些指标进行采集,并将采集到的指标与数据关联存储于数据库中。将数据的标识、所属模块、时间戳等指标也与数据关联存储于数据库中。从而实现以唯一标识存储数据以及数据的指标,方便检测数据、更新数据,并提高数据调用的效率。
126.异常检测系统定时地从数据库中提取数据以及数据的指标,进行异常检测。主要采用八分位检测算法和端口不连通检测算法来对数据进行检测。
127.自愈系统针对不同异常类型的异常数据,采用不同的更新策略对数据库的异常数据进行相应的更新。例如,先扩容异常实例后删除异常实例、暂停实例的调用服务并扩容异常实例之后再删除异常实例、在域名系统中删除或屏蔽异常实例的访问域名。
128.图3示出了本公开第三实施例的数据检测方法的流程图。
129.异常检测系统定时地从数据库中读取数据以及数据的指标,分别通过八分位检测算法和端口不连通检测算法对数据进行检测,得到异常数据。采用分位数检测算法对数据的响应时间进行检测,得到响应时间过慢的数据列表,例如慢实例列表。采用端口不连通检测算法对数据的调用情况进行分析,得到端口异常的数据列表,例如端口不连通实例列表。
130.在实际应用中,以教育业务场景为例,用户在系统中访问教育服务时,系统响应请求,调用后端a中的实例。例如,后端a有20个实例,上游系统对后端的响应时间的设置为:如
果某一实例的响应时间超过300ms,则判定该实例的响应时间超时。如果后端存在实例的响应时间经常超时,上游系统从后端中调取不了实例,进而导致用户的请求失败。在上游系统对后端a有重试策略的情况下,如果访问的是后端a中的异常实例,则会导致重试请求直接失败,这也会增加上游重试的次数,增大了访问失败的概率。采用本公开实施例提供的方法可以定时检测异常实例,并更新异常实例,从而保障了教育服务的稳定性。
131.图4示出了本公开第四实施例的数据检测装置的结构框图。如图4所示,数据检测装置可以包括:
132.稳定性评估模块410,用于基于数据集中的每个数据的服务指标,确定所述数据集的稳定性评估参数;
133.分位数确定模块420,用于基于所述数据集的稳定性评估参数,在预设的多个分位数中确定目标分位数;
134.异常检测模块430,用于基于所述数据集的每个数据的异常检测参数以及所述目标分位数,在所述数据集中确定异常数据。
135.图5示出了本公开第五实施例的数据检测装置的结构框图。如图5所示,数据检测装置包括稳定性评估模块510、分位数确定模块520、异常检测模块530和上述实施例中的稳定性评估模块410、分位数确定模块420、异常检测模块430的功能相同,在此不详述。
136.示例性地,所述稳定性评估模块510包括:
137.均值计算单元511,用于基于所述数据集的每个数据的服务指标,确定所述服务指标在至少一个时间段内的平均值;
138.评估参数确定单元512,用于基于所述服务指标在所述至少一个时间段内的平均值,确定所述数据集的稳定性评估参数。
139.示例性地,所述评估参数确定单元512用于:
140.基于所述服务指标在所述至少一个时间段中的第一时间段内的平均值和在所述至少一个时间段中的第二时间段内的平均值,确定所述数据集的稳定性评估参数;其中,所述第一时间段与所述第二时间段相邻。
141.示例性地,所述每个数据的异常检测参数包括所述每个数据的异常检测参数在第三时间段内的平均值,其中,所述第三时间段与所述第一时间段和所述第二时间段的其中一者相邻,且所述第三时间段晚于所述第一时间段和所述第二时间段。
142.示例性地,所述第一时间段、所述第二时间段和所述第三时间段的时长相同。
143.示例性地,所述异常检测模块530包括:
144.指标提取单元531,用于在所述数据集中的每个数据的异常检测参数中,提取位于所述目标分位数的异常检测参数;
145.分位距确定单元532,用于基于所述位于所述目标分位数的异常检测参数,确定所述异常检测参数的分位距;
146.异常数据确定单元533,用于基于所述数据集中的每个数据的异常检测参数以及所述分位距,在所述数据集中确定异常数据。
147.本公开实施例各装置中的各单元、模块或子模块的功能可以参见上述方法实施例中的对应描述,在此不再赘述。
148.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种
计算机程序产品。
149.根据本公开的实施例,本公开还提供一种数据处理系统,可以包括本公开实施中的电子设备。
150.图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。
151.如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序来执行各种适当的动作和处理。在ram 603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入输出(i/o)接口605也连接至总线604。
152.电子设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
153.计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据检测方法。例如,在一些实施例中,数据检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 102和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的数据检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据检测方法。
154.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
155.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程变道控制装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
156.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
157.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。
158.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
159.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
160.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
161.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献