一种业务数据的异常检测方法及装置与流程

文档序号:30493674发布日期:2022-06-22 02:57阅读:147来源:国知局
一种业务数据的异常检测方法及装置与流程

1.本发明涉及数据处理技术领域,尤其涉及一种业务数据的异常检测方法及装置。


背景技术:

2.随着科技的日益进步,访问地址(如域名、服务器的ip地址等)的数量越来越多,因此需要对访问地址进行状态检测,以确定访问地址是否可以正常访问。
3.进一步地,访问地址的状态检测结果是通过访问地址的状态码确定的,访问地址的状态码用于表征对访问地址发送访问请求时所反馈的访问状态,如访问状态包括访问成功、访问异常、具体的异常类型(如404页面的异常类型)等。
4.在现有技术中,对于访问地址的状态码检测一般是通过人工配置的告警规则进行检测及告警,如状态码为异常的数量达到阈值进行告警等。
5.但人工配置的告警规则难以维护,无法满足状态码类型复杂的场景,存在漏告警风险,即现有技术对确定访问地址是否可以正常访问的检测准确性差,全面性低。


技术实现要素:

6.本发明实施例提供一种业务数据的异常检测方法及装置,用于提升对确定访问地址是否可以正常访问的检测全面性及准确性。
7.第一方面,本发明实施例提供一种数据检测方法,包括:
8.基于访问地址在第一预设时长内的各类状态码,生成待检测任务;其中,每类状态码用于表征对访问地址进行访问的访问状态;
9.根据所述访问地址对应的数据类型,确定所述待检测任务对应的检测模型;所述访问地址对应的数据类型是根据所述访问地址在第一历史时段内的各类状态码确定的;所述检测模型是基于第二历史时段内所述数据类型对应的各类状态码进行训练得到的;
10.基于所述待检测任务对应的检测模型对所述待检测任务进行检测,得到检测结果,所述检测结果用于确定是否对所述访问地址的被访问状态进行告警。
11.上述技术方案中,通过访问地址的数据类型,对待检测任务匹配对应的检测模型,由待检测任务匹配对应的检测模型对待检测任务进行检测,进而提升确定访问地址是否可以正常访问的检测准确性;因为检测模型是通过数据类型对应的各类状态码进行训练得到的,因此提升了检测模型的检测准确性,从而提升了确定访问地址是否可以正常访问的检测准确性。
12.可选的,所述访问地址对应的数据类型是根据所述访问地址在第一历史时段内的各类状态码确定的,包括:
13.根据预设时间序列上的连续规则对第一历史时段内所述访问地址的各类状态码进行检测,确定出所述访问地址对应的数据类型。
14.可选的,根据预设时间序列上的连续规则对第一历史时段内所述访问地址的各类状态码进行检测,确定出所述访问地址对应的数据类型,包括:
15.确定在所述第一历史时段内所述访问地址的各类状态码中,在时间序列上是否不存在连续时间点上的状态码;若是,则确定所述访问地址对应的数据类型为离散类型;
16.否则,确定所述访问地址对应的数据类型为连续类型。
17.上述技术方案中,基于第一历史时段内访问地址的各类状态码确定访问地址的数据类型,以对访问地址进行分类,进而实现针对性的对访问地址进行检测,提升对访问地址检测的针对性和准确性。
18.可选的,确定所述访问地址对应的数据类型为连续类型,包括:
19.根据傅里叶变换将所述第一历史时段内的各类状态码的时间序列转换成频谱;
20.根据预设规则确定所述频谱是否具有周期性;若是,则将所述访问地址对应的数据类型确定为周期类型;否则将所述访问地址对应的数据类型确定为非周期类型。
21.可选的,将所述访问地址对应的数据类型确定为非周期类型,包括:
22.根据单位根检验算法将所述访问地址对应的数据类型确定为平稳类型或非平稳类型。
23.上述技术方案中,将数据类型分为离散类型、周期类型、平稳类型和非平稳类型,以此增加对访问地址分类的全面性。
24.可选的,所述检测模型是根据第二历史时段内所述数据类型对应的各类状态码训练得到的,包括:
25.针对离散类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过孤立森林模型,得到离散类型检测模型;
26.针对周期类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过周期性检测算法seasonalad,得到周期类型检测模型;
27.针对平稳类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过突变检测算法persistad,得到平稳类型检测模型;
28.针对非平稳类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过箱形图算法,得到非平稳类型检测模型。
29.上述技术方案中,针对任一数据类型的状态码,得到对应数据类型的检测模型,从而提升对访问地址检测的全面性和准确性。
30.可选的,所述检测模型包括各检测子模型;所述各检测子模型是针对各检测数据中状态码的异常类型确定的。
31.上述技术方案中,根据状态码的异常类型(如2xx类型的状态码、4xx类型的状态码等)对检测模型进一步划分,从而进一步提升对访问地址检测的全面性。
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.针对周期类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过周期性检测算法seasonalad,得到周期类型检测模型;
61.针对平稳类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过突变检测算法persistad,得到平稳类型检测模型;
62.针对非平稳类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过箱形图算法,得到非平稳类型检测模型。
63.可选的,所述检测模型包括各检测子模型;所述各检测子模型是针对各检测数据中状态码的异常类型确定的。
64.可选的,所述处理模块具体用于:
65.对所述访问地址进行一致性哈希运算,确定所述待检测任务对应的处理进程;所述处理进程中缓存有所述待检测任务对应的检测模型;所述待检测任务对应的检测模型是根据所述访问地址对应的数据类型确定并加载至所述处理进程中的。
66.可选的,所述处理模块还用于:
67.针对任一检测模型,若确定所述检测模型在预设时段阈值内未使用,则将所述检测模型从所述处理进程中释放。
68.可选的,所述处理模块还用于:
69.得到检测结果之后,若所述检测结果满足预设异常条件,则对所述访问地址进行一次异常标记;所述预设异常条件为所述检测结果中各检测子结果均为异常;或为异常的检测子结果数量大于第一阈值;
70.在第三预设时长内,所述访问地址的异常标记数量大于异常阈值时,对所述访问地址进行异常告警。
71.可选的,所述处理模块还用于:
72.对所述访问地址进行异常告警之后,向处理方发送告警信息;所述告警信息包括链接地址;所述链接地址用于指示所述处理方通过所述链接地址反馈响应信息;所述响应信息用于指示所述告警信息是否正确;所述链接地址设置有个性化阈值;所述个性化阈值用于屏蔽告警信息和/或响应信息。
73.第三方面,本发明实施例还提供一种计算机设备,包括:
74.存储器,用于存储程序指令;
75.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述业务数据的异常检测方法。
76.第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述业务数据的异常检测方法。
附图说明
77.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
78.图1为本发明实施例提供的一种系统架构示意图;
79.图2为本发明实施例提供的一种业务数据的异常检测方法的流程示意图;
80.图3为本发明实施例提供的一种业务数据的异常检测装置的结构示意图。
具体实施方式
81.为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
82.在现有技术中,任一用户在访问地址进行一次访问时,会响应该次访问对应的访问状态,如访问成功或访问异常;也就是本发明实施例中所述状态码。
83.状态码为异常时,包括多种异常类型,例如404页面就是一种异常类型的状态码,在本发明实施例中,以“4”为开头的页面(如404页面)确定为4xx异常类型状态码,以“2”为开头的页面确定为2xx异常类型状态码,以“5”为开头的页面确定为5xx异常类型状态码;本发明实施例中以2xx、4xx和5xx异常类型状态码为例进行描述,但对异常类型状态码并不进行限定。
84.对于状态码的告警,目前一般是通过人工配置告警规则来对状态码进行检测,进而实现对访问地址的告警,以确定访问地址访问异常,即无法正常访问。例如,在预设时长内出现404状态码的数量等规则。
85.但人工配置的告警规则繁多,难以维护;且人工配置的告警规则较为简单,无法满足状态码类型复杂的场景,存在漏检测及漏告警风险,因此现有技术对访问地址检测的准确性差,全面性低。因此,亟需一种业务数据的异常检测方法,来提升访问地址是否可以正常访问的检测全面性及准确性。
86.图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构包括状态码数据模块110、分类结果模块120、模型库130、异常池140和反馈池150。
87.其中,状态码数据模块110,用于实时的记录各访问地址的状态码,如实时的记录百度访问地址的各类状态码,如4xx和5xx异常类型状态码等;
88.分类结果模块120,用于对状态码数据模块110中记录的各访问地址的各类状态码进行分类,进而确定各访问地址的数据类型;具体的,针对任一访问地址,从检测时刻开始,取第一预设时长(如从检测时刻开始3天内)的各类状态码,然后对该访问地址的第一预设
时长内的各类状态码进行数据分类计算,确定出当前检测时刻,该访问地址的状态码所属数据类型,即该访问地址的数据类型。
89.模型库130,用于存储检测模型,检测模型是根据状态码数据模块110中记录的状态码训练的到的;具体的,根据被访问地址的各类状态码对应的数据类型,结合第二历史时段内(如检测时刻起近15分钟)的各类状态码,训练出被访问地址各类状态码对应的检测模型;
90.异常池140,用于记录预设异常条件,预设异常条件为检测模型的检测结果中各检测子结果均为异常;或为异常的检测子结果数量大于第一阈值;用于确定访问地址是否异常;
91.反馈池150,用于记录对访问地址的检测结果、异常告警等。
92.需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
93.基于上述描述,图2示例性的示出了本发明实施例提供的一种业务数据的异常检测方法的流程示意图,该流程可由数据检测装置执行。
94.如图2所示,该流程具体包括:
95.步骤210,基于访问地址在第一预设时长内的各类状态码,生成待检测任务。
96.本发明实施例中,每类状态码用于表征对访问地址进行访问的访问状态;例如,用户访问某一访问地址(如某官网地址)时,得到对应的访问状态(如访问成功、访问异常、异常类型等),即该访问状态为本次用户对该访问地址进行访问的状态码。
97.进一步举例,用户访问某官网地址a时,得到的状态码为404页面;也就是说,此次访问为访问异常,异常种类为4xx异常类型状态码。
98.待检测任务相当于第一预设时长内各类状态码的集合,如待检测任务包括各类状态码中表征访问成功的数量、表征访问异常的数量、访问异常时的异常类型等信息。
99.步骤220,根据所述访问地址对应的数据类型,确定所述待检测任务对应的检测模型。
100.本发明实施例中,访问地址对应的数据类型是根据访问地址在第一历史时段内的各类状态码确定的;检测模型是基于第二历史时段内数据类型对应的各类状态码进行训练得到的。
101.其中,第一历史时段是从当前检测时刻开始,预设的第一时段,例如,当前检测时刻为2021年3月2号7:00,预设的历史时段为12小时,则从2021年3月2号7:00至2021年3月1号19:00的时段为第一历史时段。预设的第一时段可以是研发人员根据经验预设的值,在此不作限定。
102.第二历史时段是从当前检测时刻开始,预设的第二时段,例如,当前检测时刻为2021年5月6号9:00,预设的历史时段为72小时,则从2021年5月6号9:00至2021年5月3号9:00的时段为第二历史时段。预设的第二时段可以是研发人员根据经验预设的值,在此不作限定。
103.具体的,根据预设算法对预设时间序列(即第一历史时段)中的状态码进行检测,确定第一历史时段内的状态码的数据类型;然后将第一历史时段内的状态码的数据类型作为访问地址对应的数据类型。
104.例如,根据第一历史时段内的各类状态码以及时间序列,确定第一历史时段内的
各类状态码的数据类型为离散类型,则确定访问地址的数据类型为离散类型;然后根据第二历史时段内离散类型的各类状态码进行训练,得到离散类型检测模型,其中,第二历史时段可以小于、等于或大于第一历史时段,在此不做限定。
105.步骤230,基于所述待检测任务对应的检测模型对所述待检测任务进行检测,得到检测结果。
106.本发明实施例中,检测结果用于确定是否对访问地址的被访问状态进行告警。
107.进一步地,在步骤210中,第一预设时长内的各类状态码是在确定访问地址的数据类型之后,在状态码数据模块中拉取的。例如,当前时刻需要对访问地址a1进行检测,根据当前时刻之前的1分钟内的各类状态码生成待检测任务b1,以该待检测任务b1确定访问地址是否需要告警。
108.其中,第一预设时长为对访问地址的访问状态待检测的时长,及从待检测时刻起预设的第一历史时长,如待检测时刻为7:02,预设的第一历史时长为1分钟,则7:01至7:02为第一预设时长。第一预设时长可以是根据经验预设的值,如1分钟、2分钟等,在此不做限定。在本发明实施例中,第一预设时长是根据访问地址的数据类型确定的。
109.例如,在访问地址的数据类型为离散类型时,第一预设时长为5分钟;在访问地址的数据类型为平稳类型时,第一预设时长为3分钟;在此不做过多赘述,也不针对任一数据类型限定第一预设时长的具体时长。
110.进一步举例,获取待检测的访问地址,实时生成拉取数据任务,并发送到任务队列中;基于任务队列中的拉取数据任务拉取对应长度(相当于对应数据类型)的状态码,进而生成待检测任务。
111.另外,对于访问地址的数据类型确定在下述步骤220的描述中进行阐述。
112.在步骤220中,访问地址的数据类型是根据访问地址在第一历史时段内的各类状态码以及预设检测算法确定的;其中,预设检测包括但不限于傅里叶变换算法、单位根检验算法。
113.根据预设时间序列上的连续规则对第一历史时段内访问地址的各类状态码进行检测,确定出访问地址对应的数据类型。相当于对第一历史时段内访问地址的各类状态码进行数据分类,以此确定第一历史时段内访问地址的各类状态码的数据类型,进而确定访问地址对应的数据类型。
114.进一步地,确定在第一历史时段内访问地址的各类状态码中,在时间序列上是否不存在连续时间点上的状态码;若是,则确定访问地址对应的数据类型为离散类型;否则,确定访问地址对应的数据类型为连续类型。
115.举例来说,第一历史时段为24小时,以每个分钟点作为24小时中的时间点,即包括1440个时间点。若在1440个时间点中,存在状态码数据的时间点少于第一历史时段内时间点数量的一半(即720)时,则确定第一历史时段内的状态码数据为离散类型数据,进而确定该访问地址为离散类型的访问地址。
116.又如,对于任一待确定数据类型的访问地址,在某一天的24小时中,从8:00到16:00点内的时间点上存在状态码数据,从16:01到7:59内的时间点上不存在状态码数据,则确定第一历史时段内的状态码数据为离散类型数据,进而确定该访问地址为离散类型的访问地址。
117.在本发明实施例中,将连续类型区分为周期类型和非周期类型,以提升对访问地址分类的全面性和准确性。
118.具体的,在确定出第一历史时段内的各类状态码的数据类型为连续类型(即非离散类型)时,根据傅里叶变换将第一历史时段内的各类状态码的时间序列转换成频谱;根据预设规则确定频谱是否具有周期性;若是,则将访问地址对应的数据类型确定为周期类型;否则将访问地址对应的数据类型确定为非周期类型。
119.例如,针对连续类型的第一历史时段内的各类状态码,将第一历史时段内的各类状态码的时间序列转换为频谱;然后根据频谱中的多个幅值(预设规则)确定该频谱是否具有周期性,若是,则将第一历史时段内的各类状态码的数据类型确定为周期类型,进而确定访问地址的数据类型为周期类型;否则将第一历史时段内的各类状态码的数据类型确定为非周期类型,进而确定访问地址的数据类型为非周期类型。
120.在本发明实施例中,为了进一步提升对访问地址分类的全面性和准确性,将非周期类型区分为平稳类型和非平稳类型。
121.具体的,根据单位根检验算法将访问地址对应的数据类型确定为平稳类型或非平稳类型。
122.进一步地,在通过傅里叶变换算法确定出第一历史时段内的各类状态码的数据类型为非周期类型时,根据adf(augmented dickey-fuller,单位根检验算法)将第一历史时段内的各类状态码的数据类型区分为平稳类型或非平稳类型。进而将访问地址对应的数据类型确定为平稳类型或非平稳类型。
123.例如,针对非周期类型的第一历史时段内的各类状态码,通过单位根检验算法对第一历史时段内的各类状态码进行计算,得到p值。若p值小于单位根检验阈值(如1%),则确定第一历史时段内的各类状态码的数据类型为平稳类型,进而确定访问地址对应的数据类型为平稳类型;否则确定第一历史时段内的各类状态码的数据类型为非平稳类型,进而确定访问地址对应的数据类型为非平稳类型。其中单位根检验阈值可以是根据经验预设的值,在此不做限定。
124.综上所述,本发明实施例中数据类型包括但不限于离散类型、周期类型、平稳类型和非平稳类型。
125.在本发明实施例中,检测模型是根据各数据类型的状态码进行训练得到的,且检测模型包括各检测子模型;其中,各检测子模型是针对各检测数据中状态码的异常类型确定的。
126.示例性的,针对离散类型的各类状态码,按第二预设时长将第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过孤立森林模型,得到离散类型检测模型。其中,孤立森林模型运用的是离群点检测算法,用于确定离散类型的访问地址是否可以正常访问。
127.其中,第二预设时长为针对模型训练确定训练样本的预设的第二历史时长;例如,将固定日期之间的历史时长确定为第二预设时长,如每周的周一至周二为第二预设时长;或从每天的固定时刻起预设的第二历史时长,如将每天的0点至该0点之前的36小时之间确定为第二预设时长。第一预设时长可以是根据经验预设的值,如7天、14天等,在此不做限定。
128.例如,针对离散类型的各类状态码,第二预设时长为7天,则取该访问地址7天内对应的离散类型的各类状态码作为训练样本,然后通过孤立森林模型进行训练,得到离散类型检测模型。
129.在一种可实施的方式中,针对不同异常类型的状态码,根据训练样本和孤立森林模型进行分割训练,以此得到针对异常类型的离散类型检测子模型;例如,状态码的异常类型包括2xx异常类型、4xx异常类型和5xx异常类型,则对应的训练得到离散类型检测子模型l1、离散类型检测子模型l2和离散类型检测子模型l3,然后将得到各离散类型检测子模型存储至模型库中。
130.示例性的,针对周期类型的各类状态码,按第二预设时长将第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过周期性检测算法seasonalad,得到周期类型检测模型。
131.例如,针对周期类型的各类状态码,第二预设时长为3天,则取该访问地址3天内对应的周期类型的各类状态码作为训练样本,然后通过周期性检测算法seasonalad进行训练,得到周期类型检测模型。
132.在一种可实施的方式中,针对不同异常类型的状态码,得到针对异常类型的周期类型检测子模型;例如,仅针对状态码的异常类型为2xx异常类型和5xx异常类型,则对应的训练得到周期类型检测子模型z1和周期类型检测子模型z2,然后将得到各周期类型检测子模型存储至模型库中。
133.示例性的,针对平稳类型的各类状态码,按第二预设时长将第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过突变检测算法persistad,得到平稳类型检测模型;基于上述可实施的方式可知,针对不同异常类型的状态码,可以得到针对异常类型的平稳类型检测子模型,在此不做赘述。
134.示例性的,针对非平稳类型的各类状态码,按第二预设时长将第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过箱形图算法,得到非平稳类型检测模型。基于上述可实施的方式可知,针对不同异常类型的状态码,可以得到针对异常类型的非平稳类型检测子模型,在此不做赘述。
135.在本发明实施例中,对于访问地址的数据类型确定以及检测模型的确定,可以在时间点进行周期性更新;例如,在每天的0点,重新确定访问地址的数据类型以及更新各检测模型。换言之,对于访问地址的数据类型确定以及检测模型的确定,是离线检测确定的。
136.对于实时检测的待检测任务,通过匹配处理进程,使对应的处理进程中缓存的检测模型对该待检测任务进行检测,得到检测结果。
137.具体的,对访问地址进行一致性哈希运算,确定待检测任务对应的处理进程;处理进程中缓存有待检测任务对应的检测模型;待检测任务对应的检测模型是根据访问地址对应的数据类型确定并加载至处理进程中的。
138.其中,一致性哈希运算用于实现某个请求由固定的服务器去处理。举例来说,从数据库中获取需要进行检测的各访问地址,对每个访问地址进行哈希运算,得到对应的哈希结果,然后基于处理进程的数量以及各访问地址的哈希结果,为每个访问地址确定固定的处理进程。
139.例如,处理进程包括j1、j2和j3,访问地址包括a1、a2、a3、a4和a5,经过一致性哈希
运算后,确定访问地址a1和a2由处理进程j1进行处理;访问地址a3和a5由处理进程j2进行处理;访问地址a4由处理进程j3进行处理。
140.在一种实例中,对多个访问地址做哈希运算,得到多个访问地址对应的哈希值,再将多个访问地址对应的哈希值根据预设处理方式进行处理,确定出哈希相同的访问地址;将哈希相同的访问地址发送至固定的任务队列中进行处理;其中,任务队列可以与服务器相对应,及一个任务队列由一个对应的服务器或多个对应的服务器进行处理,以此增加对访问地址的被访问状态检测的均衡性及效率。其中,预设处理方式可以为取余运算、基于固定位数(如哈希值的最后一位、倒数第二位等)进行处理等方式,在此不做具体限定。
141.举例来说,访问地址共包括10万个,则对应的待检测任务为10万个,分别对10万个访问地址进行哈希运算,得到对应的10万个哈希值,将10万个哈希值对7(预设值)进行求余运算,进而将余数相同的哈希值确定为哈希相同的哈希值,即哈希相同的访问地址;相当于将10万个哈希值,即10万个待检测任务分为7份,即7个任务队列;针对任一任务队列,由该任务队列对应的服务器对该任务队列中的待检测任务进行访问状态的检测。
142.或将哈希值尾数(包括从0至9)相同的哈希值确定为哈希相同的哈希值,即哈希相同的访问地址;相当于将10万个哈希值,即10万个待检测任务分为10份,即10个任务队列。
143.通过上述方法,可以将多个待检测任务进行平均性的划分,实现将待检测任务发送到固定的处理进程(即服务器)中进行处理,以此提升检测均衡性和检测效率。
144.基于上述描述,针对任一处理进程,在确定该处理进程对应的待检测访问地址后,根据访问地址的数据类型以及状态码的异常类型预先将对应的检测模型缓存至该处理进程中。
145.基于上述描述进行举例,处理进程j3的待处理访问地址为访问地址a4,假设访问地址a4的数据类型为离散类型,则将离散类型检测子模型l1、离散类型检测子模型l2和离散类型检测子模型l3预先缓存至处理进程j3中。
146.在一种可实施的方式中,若新增访问地址,则根据访问地址的数据类型从模型库中实时加载检测模型。例如,新增访问地址a6,且访问地址a6的数据类型为周期类型,则实时在模型库中加载周期类型检测子模型z1和周期类型检测子模型z2,从而实现调用检测模型的效率与速度。
147.在另一种可实施的方式中,针对任一检测子模型,若确定检测子模型在预设时段阈值内未使用,则将检测模型从处理进程中释放。例如,周期类型检测子模型z1在10分钟(预设时段阈值)内并未使用,则将周期类型检测子模型z1从该处理进程中释放掉,从而降低处理进程的内存。
148.在步骤230中,任一检测子模型对待检测任务进行检测后,得到一个检测子结果,然后根据多个检测子结果确定访问地址是否异常。
149.具体的,若检测结果满足预设异常条件,则对访问地址进行一次异常标记;其中,预设异常条件为检测结果中各检测子结果均为异常;或为异常的检测子结果数量大于第一阈值;在第三预设时长内,访问地址的异常标记数量大于异常阈值时,对访问地址进行异常告警。
150.基于上述描述进行距离,访问地址a1的待检测任务b1分别通过离散类型检测子模型l1、离散类型检测子模型l2和离散类型检测子模型l3进行检测,得到检测子结果s1、s2和
s3;若s1、s2和s3均表征结果异常,或有其中2个表征结果异常,则确定针对该待检测任务的访问地址异常。
151.在一种可实施的方式中,预设异常条件与数据类型相对应。
152.例如,针对离散类型的访问地址,其对应的预设异常条件为各检测子结果均为异常;
153.针对周期类型的访问地址,其对应的预设异常条件为异常的检测子结果数量大于第一阈值;
154.针对平稳类型的访问地址,其对应的预设异常条件为任一检测子结果为异常等,其他数据类型在此不做赘述。
155.在另一种可实施的方式中,预设异常条件还包括异常类型的状态码数量阈值。
156.例如,针对离散类型的访问地址,预设异常条件还包括2xx异常类型的状态码数量超过第一离散阈值(如100),4xx异常类型的状态码数量超过第二离散阈值(如200),5xx异常类型的状态码数量超过第三离散阈值(如300)等。
157.针对周期类型的访问地址,预设异常条件还包括2xx异常类型的状态码数量超过第一周期阈值(如150),5xx异常类型的状态码数量超过第二周期阈值(如270)等,其他数据类型在此不做赘述。
158.在本发明实施例中,对于第三预设时长以及异常阈值也可以与数据类型相对应。
159.例如,例如,针对离散类型的访问地址,第三预设时长为3分钟,异常阈值为2;
160.针对周期类型的访问地址,第三预设时长为4分钟,异常阈值为3;其他数据类型在此不做赘述。
161.通过针对状态码的异常类型进行检测,以此提升对访问地址检测的全面性和准确性。
162.在对访问地址的被访问状态进行告警之后,可接收处理方对该告警的响应信息,以确定该告警是否为误告警,提升告警的准确性。
163.具体的,在对访问地址的被访问状态进行告警之后,向处理方发送告警信息;其中,告警信息包括链接地址(如url地址);链接地址用于指示处理方通过链接地址反馈响应信息;响应信息用于指示告警信息是否正确;链接地址设置有个性化阈值;个性化阈值用于屏蔽告警信息和/或响应信息。
164.本发明实施例中,通过确定访问地址的数据类型,对待检测任务匹配对应的检测模型,由检测模型对待检测任务进行检测,进而提升对访问地址的检测准确性;由于访问地址的各类状态码形式不一,难以采用统一的模型进行检测,因此通过数据分类对各类型的状态码分别检测,不仅提高了检测的召回率,也提高了检测的准确率。
165.基于相同的技术构思,图3示例性的示出了本发明实施例提供的一种业务数据的异常检测装置的结构示意图,该装置可以执行数据检测方法的流程。
166.如图3所示,该装置具体包括:
167.生成模块310,用于基于访问地址在第一预设时长内的各类状态码,生成待检测任务;其中,每类状态码用于表征对访问地址进行访问的访问状态;
168.处理模块320,用于根据所述访问地址对应的数据类型,确定所述待检测任务对应的检测模型;所述访问地址对应的数据类型是根据所述访问地址在第一历史时段内的各类
状态码确定的;所述检测模型是基于第二历史时段内所述数据类型对应的各类状态码进行训练得到的;
169.基于所述待检测任务对应的检测模型对所述待检测任务进行检测,得到检测结果,所述检测结果用于确定是否对所述访问地址的被访问状态进行告警。
170.可选的,所述处理模块320具体用于:
171.根据预设时间序列上的连续规则对第一历史时段内所述访问地址的各类状态码进行检测,确定出所述访问地址对应的数据类型。
172.可选的,所述处理模块320具体用于:
173.确定在所述第一历史时段内所述访问地址的各类状态码中,在时间序列上是否不存在连续时间点上的状态码;若是,则确定所述访问地址对应的数据类型为离散类型;
174.否则,确定所述访问地址对应的数据类型为连续类型。
175.可选的,所述处理模块320具体用于:
176.根据傅里叶变换将所述第一历史时段内的各类状态码的时间序列转换成频谱;
177.根据预设规则确定所述频谱是否具有周期性;若是,则将所述访问地址对应的数据类型确定为周期类型;否则将所述访问地址对应的数据类型确定为非周期类型。
178.可选的,所述处理模块320具体用于:
179.根据单位根检验算法将所述访问地址对应的数据类型确定为平稳类型或非平稳类型。
180.可选的,所述处理模块320具体用于:
181.针对离散类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过孤立森林模型,得到离散类型检测模型;
182.针对周期类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过周期性检测算法seasonalad,得到周期类型检测模型;
183.针对平稳类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过突变检测算法persistad,得到平稳类型检测模型;
184.针对非平稳类型的各类状态码,按第二预设时长将所述第二历史时段内的各类状态码划分为各检测数据,将各检测数据通过箱形图算法,得到非平稳类型检测模型。
185.可选的,所述检测模型包括各检测子模型;所述各检测子模型是针对各检测数据中状态码的异常类型确定的。
186.可选的,所述处理模块320具体用于:
187.对所述访问地址进行一致性哈希运算,确定所述待检测任务对应的处理进程;所述处理进程中缓存有所述待检测任务对应的检测模型;所述待检测任务对应的检测模型是根据所述访问地址对应的数据类型确定并加载至所述处理进程中的。
188.可选的,所述处理模块320还用于:
189.针对任一检测模型,若确定所述检测模型在预设时段阈值内未使用,则将所述检测模型从所述处理进程中释放。
190.可选的,所述处理模块320还用于:
191.得到检测结果之后,若所述检测结果满足预设异常条件,则对所述访问地址进行一次异常标记;所述预设异常条件为所述检测结果中各检测子结果均为异常;或为异常的检测子结果数量大于第一阈值;
192.在第三预设时长内,所述访问地址的异常标记数量大于异常阈值时,对所述访问地址进行异常告警。
193.可选的,所述处理模块320还用于:
194.对所述访问地址进行异常告警之后,向处理方发送告警信息;所述告警信息包括链接地址;所述链接地址用于指示所述处理方通过所述链接地址反馈响应信息;所述响应信息用于指示所述告警信息是否正确;所述链接地址设置有个性化阈值;所述个性化阈值用于屏蔽告警信息和/或响应信息。
195.基于相同的技术构思,本发明实施例还提供一种计算机设备,包括:
196.存储器,用于存储程序指令;
197.处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述业务数据的异常检测方法。
198.基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述业务数据的异常检测方法。
199.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
200.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
201.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
202.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
203.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1