一种异常确定方法、装置、服务器及存储介质与流程

专利2024-03-14  117



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.图1示出了本公开实施例提供的一种异常确定系统示意图;
30.图2示出了本公开实施例提供的一种异常确定方法的流程示意图;
31.图3示出了本公开实施例提供的又一种异常确定方法的流程示意图;
32.图4示出了本公开实施例提供的又一种异常确定方法的流程示意图;
33.图5示出了本公开实施例提供的又一种异常确定方法的流程示意图;
34.图6示出了本公开实施例提供的又一种异常确定方法的流程示意图;
35.图7示出了本公开实施例提供的一种计时器进行计时的流程示意图;
36.图8示出了本公开实施例提供的又一种异常确定方法的流程示意图;
37.图9示出了本公开实施例提供的一种服务器进行异步处理的流程示例图;
38.图10示出了本公开实施例提供的又一种异常确定方法的流程示意图;
39.图11示出了本公开实施例提供的又一种异常确定方法的流程示意图;
40.图12示出了本公开实施例提供的一种分析模型的处理流程示意图;
41.图13示出了本公开实施例提供的一种异常确定装置的结构示意图;
42.图14示出了本公开实施例提供的又一种异常确定装置的结构示意图。
具体实施方式
43.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
44.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
45.还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
46.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息、用户行为信息等)和数据(包括但不限于待检测数据、异常数据等),均为经用户授权或者经过各方充分授权的信息和数据。
47.相关技术中,服务器每获取到一个(或一次)待分析数据时可能都需要生成相应的规则,并且上一次生成的规则可能并不适用于本次需要进行检测待分析数据,如此影响了异常检测的效率。基于此,本公开实施例提供一种异常确定方法,当待检测数据的类型与诊断条件对应的数据类型相同时,说明该待检测数据为该诊断条件对应的数据,此时服务器可以基于该诊断条件对该待检测数据进行检测(或诊断),即确定该待检测数据是否满足该
诊断条件;当该待检测数据满足该诊断条件时,说明该待检测数据可以触发该诊断条件,如此服务器可以确定该待检测数据为该诊断条件对应的异常数据。又由于该诊断条件为该异常规则的配置信息中包括的诊断条件(也可以理解为该异常规则对应的诊断条件),如此服务器可以确定该待检测数据为该异常规则对应的异常数据。本公开实施例中,服务器无需在每次获取到待检测数据(或待分析数据)时生成规则,而是从服务器中选择并运用与该待检测数据对应的异常规则,能够准确、有效地确定出异常规则对应的异常数据,提升了异常检测的效率。
48.本公开实施例提供的异常确定方法、装置、服务器及存储介质,应用于异常检测场景(具体为检测哪些数据存在异常,以及哪些数据在哪些时间区间存在异常)中。当服务器响应于处理指令时,可以依据本公开实施例提供的方法,确定待检测数据为异常规则对应的异常数据。
49.以下结合附图对本公开实施例提供的异常确定方法进行示例性说明:
50.图1为本公开实施例提供的一种异常确定系统示意图,如图1所示,该异常确定系统中可以包括终端101和服务器102,终端101可以通过有线网络或无线网络与服务器102之间建立连接。
51.其中,终端101中可以安装本公开实施例提供的客户端,该终端101可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备,本公开对该终端101的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
52.服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、网络加速服务(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
53.如图2所示,本公开实施例提供的异常确定方法可以包括s101-s103。
54.s101、服务器响应于处理指令,获取目标账户的待检测数据的类型。
55.应理解,该处理指令为使用该目标账户的用户通过客户端向该服务器发送的。服务器在接收到该处理指令之后,可以响应该处理指令,以获取该目标账户的待检测数据的类型。
56.在一种可选的实现方式中,上述处理指令中可以包括该目标账户的账户标识。即服务器可以基于该账户标识获取该目标账户的待检测数据的类型。
57.s102、服务器获取异常规则的配置信息。
58.其中,该异常规则的配置信息包括诊断条件,该诊断条件与数据类型具有对应关系。
59.需要说明的是,上述异常规则的数量可以为一个也可以为多个,一个异常规则的配置信息中包括的诊断条件的数量可以为一个也可以为多个。本公开实施例对异常规则的数量以及一个异常规则的配置信息中包括的诊断条件的数量不做具体限定。
60.可以理解的是,服务器在获取到上述目标账户的待检测数据的类型以及该异常规
则的配置信息(包括诊断条件)之后,可以确定该待检测数据的类型与该诊断条件对应的数据类型是否相同,并且该待检测数据是否满足该诊断条件,进而确定该待检测数据是否为该异常规则对应的异常数据。
61.在本公开实施例的一种实现方式中,上述处理指令还可以包括第一开始时间和第一结束时间,该第一结束时间在该第一开始时间之后。服务器在接收到该处理指令之后,可以获取在该第一开始时间和该第一结束之间组成的时间区间内该目标账户的待检测数据,该第一开始时间即为该时间区间的最小值,该第一结束时间即为该时间区间的最大值。
62.可选地,上述处理指令可以理解为一个分析目标(analytic target),服务器可以基于该分析目标对数据进行异常检测(或分析),该分析目标可以理解为一个数据对象。
63.示例性的,以下表1为本公开实施例提供的分析目标的一种示例,如表1所示,该分析目标中包括账户标识(user id)、上述第一开始时间(start time)、上述第一结束时间(end time)以及规则列表(rule list),该规则列表中可以包括上述异常规则的标识,具体的该异常规则的数量为3个,包括rule1、rule2以及rule3。
64.表1
65.analytic target+user id:object+start time:time1+end time:time2+rule list:rule1、rule2、rule3
66.具体的,服务器可以获取在该time1与该time2之间组成的时间区间内目标账户(即object)的待检测数据(包括该待检测数据的类型)以及该规则列表中包括的每个异常规则(即rule1、rule2以及rule3)的配置信息。
67.在一种可选的实现方式中,可以在该服务器中配置2个虚拟接口,一个虚拟接口(以下简称第一虚拟接口)用于获取上述待检测数据的类型,另一个接口(以下简称第二虚拟接口)用于获取上述异常规则的配置信息。
68.具体的,服务器可以基于该第一虚拟接口从一些数据源(例如mysql(关系型数据库管理系统),hive(数据仓库工具),日志文件,json(js对象简谱)文件以及click house(一个用于在线联机分析的列式数据库管理系统))获取上述目标账户的待检测数据的类型;并且该服务器也可以基于该第二虚拟接口从不同的数据源(例如mysql、json文件以及配置文件等)获取上述异常规则的配置信息。
69.需要说明的是,上述2个虚拟接口也可以为2个class文件(java字节码类文件)。
70.示例性的,以下表2和表3分别为上述第一虚拟接口和第二虚拟接口的一种示例。具体的,该第一虚拟接口(即《interface1》)为分析数据提供者(analysis data provider),服务器通过get analysis data()方法(分析数据获取方法),具体为获取基于上述分析目标(analytic target)以获取到一个分析数据的列表(即list﹤analysis data﹥),该列表中包括上述待检测数据的类型。
71.该第二虚拟接口(即《interface2》)为规则配置提供者(rule config provider),服务器通过get()方法可以获取到一个规则配置列表(即list﹤rule config﹥),该规则配置列表中包括上述异常规则的配置信息。并且,服务器还可以基于该异常规则的标识(即
rule id)获取与该标识对应的异常规则的配置信息(即rule1 config)。
72.表2
[0073][0074]
表3
[0075][0076]
s103、当待检测数据的类型与诊断条件对应的数据类型相同,并且待检测数据满足诊断条件时,服务器确定待检测数据为异常规则对应的异常数据。
[0077]
应理解,当该待检测数据的类型与该诊断条件对应的数据类型相同时,该诊断条件可以用于确定与该待检测数据是否为该异常规则对应的异常数据。具体的,当该待检测数据满足该诊断条件时,服务器可以确定该待检测数据为该异常规则对应的异常数据;相应的,当该待检测数据不满足该诊断条件时,服务器可以确定该待检测数据不是该异常规则对应的异常数据(可以理解为该异常规则对应的正常数据)。
[0078]
在一种可选的实现方式中,上述待检测数据中可以包括该待检测数据的数值。当该待检测数据的数值满足该诊断条件时,服务器可以确定该待检测数据满足该诊断条件。
[0079]
本公开实施例中,当该待检测数据的类型与该诊断条件对应的数据类型相同时,说明该待检测数据为该诊断条件对应的数据,此时服务器可以基于该诊断条件对该待检测数据进行检测(或诊断),即确定该待检测数据是否满足该诊断条件。当该待检测数据满足该诊断条件时,说明该待检测数据可以触发该诊断条件,如此服务器可以确定该待检测数据为该诊断条件对应的异常数据。又由于该诊断条件为上述异常规则的配置信息中包括的诊断条件(也可以理解为该异常规则对应的诊断条件),如此服务器可以确定该待检测数据为该异常规则对应的异常数据。
[0080]
在本公开实施例的一种实现方式中,当该待检测数据的类型与该诊断条件对应的数据类型相同,并且该待检测数据不满足该诊断条件时,说明服务器虽然可以基于该诊断条件对该待检测数据进行检测(或诊断),但是该待检测数据不能触发该诊断条件,服务器可以确定该待检测数据不是该诊断条件(或该异常规则)对应的异常数据,或者该待检测数据为该诊断条件(或该异常规则)对应的正常数据。
[0081]
在本公开实施例的另一种实现方式中,当该待检测数据的类型与该诊断条件对应的数据类型不同时,说明该待检测数据不是该诊断条件对应的数据,此时服务器可以确定该待检测数据的类型与其他诊断条件(例如其他异常规则的配置信息中包括的诊断条件)对应的数据类型是否相同。
[0082]
示例性的,上述待检测数据的类型可以包括音频上行(或下行)丢包率,视频上行(或下行)丢包率、屏幕共享上行(或下行)丢包率,音频上行(或下行)码率、音频上行(或下行)帧率、视频上行(或下行)码率、视频上行(或下行)帧率、可用内存、系统内存、cpu使用率
以及cpu空闲率等。
[0083]
在一种可选的实现方式中,上述诊断条件中可以包括比对关系和阈值,服务器可以基于该比对关系和该阈值确定待检测数据是否满足该诊断条件。
[0084]
具体的,比对关系可以包括大于(>)、小于(<)、等于(=)、大于或等于(≥)、小于或等于(≤)、区间内以及集合内等。阈值可以为该诊断条件对应的数据类型的阈值。
[0085]
示例性的,假设诊断条件1为丢包率大于0,则服务器确定待检测数据是否满足该诊断条件1,即为确定该待检测数据(具体为待检测数据对应的丢包率)是否大于0。假设诊断条件2为音频上行码率属于[30kbps(千兆比特每秒),60kbps],则服务器确定待检测数据是否满足该诊断条件2,即为确定该待检测数据(具体为待检测数据对应的音频上行码率)是否属于[30kbps,60kbps](或者是否在该[30kbps,60kbps]区间内)。假设诊断条件3为一个集合,该集合用于表征cpu使用率,该集合中包括80%、85%、90%以及95%,则服务器确定待检测数据是否满足该诊断条件3,即为确定该待检测数据(具体为该待检测数据对应的cpu使用率)是否为该集合(即80%、85%、90%以及95%)中的一个。
[0086]
本公开实施例中,当上述异常规则的数量为多个时,服务器可以基于上述实施例中的描述确定出多个异常规则中每个异常规则对应的异常数据。
[0087]
可选地,服务器可以向客户端发送该每个异常规则对应的异常数据。
[0088]
上述实施例提供的技术方案至少能够带来以下有益效果:由s101-s103可知,服务器响应于处理指令,可以获取目标账户的待检测数据的类型;并且该服务器还可以获取异常规则的配置信息;当该待检测数据的类型与诊断条件对应的数据类型相同时,说明该待检测数据为该诊断条件对应的数据,此时服务器可以基于该诊断条件对该待检测数据进行检测(或诊断),即确定该待检测数据是否满足该诊断条件;当该待检测数据满足该诊断条件时,说明该待检测数据可以触发该诊断条件,如此服务器可以确定该待检测数据为该诊断条件对应的异常数据。又由于该诊断条件为该异常规则的配置信息中包括的诊断条件(也可以理解为该异常规则对应的诊断条件),如此服务器可以确定该待检测数据为该异常规则对应的异常数据。本公开实施例中,服务器无需在每次获取到待检测数据(或待分析数据)时生成规则,而是从服务器中选择并运用与该待检测数据对应的异常规则,能够准确、有效地确定出异常规则对应的异常数据,提升了异常检测的效率。
[0089]
在本公开实施例的一种实现方式中,上述异常规则的配置信息还包括持续时长。结合图2,如图3所示,本公开实施例提供的异常确定方法还可以包括s104-s106。
[0090]
s104、服务器获取待检测数据的时间戳。
[0091]
应理解,该待检测数据的时间戳用于表征该待检测数据的生成时刻。
[0092]
s105、在确定待检测数据中存在多个异常数据的情况下,服务器根据第一个异常数据的时间戳、第一异常数据的时间戳、第二异常数据的时间戳以及持续时长,确定诊断条件对应的异常时间区间。
[0093]
其中,该第一个异常数据为根据该多个异常数据的时间戳确定的异常数据,该第二异常数据为该第一异常数据的上一个异常数据,该多个异常数据为与该诊断条件对应的异常数据。
[0094]
应理解,服务器可以基于上述s103中的描述确定出该诊断条件对应的每个异常数据,该每个异常数据的类型与该诊断条件对应的数据类型相同,并且该每个异常数据满足
该诊断条件。当该诊断条件对应的异常数据的数量为多个时,服务器可以确定上述待检测数据中存在多个异常数据。
[0095]
在一种可选的实现方式中,上述第一个异常数据可以为该多个异常数据中时间戳最小的异常数据,该第一异常数据可以为该多个异常数据中除该第一个异常数据以外的任一异常数据。
[0096]
s106、服务器根据诊断条件对应的异常时间区间,确定异常规则对应的异常时间区间。
[0097]
上述实施例提供的技术方案至少能够带来以下有益效果:由s104-s106可知,服务器可以获取待检测数据的时间戳;在确定该待检测数据中存在多个异常数据(即诊断条件对应的异常数据)的情况下,服务器可以根据第一个异常数据的时间戳、第一异常数据的时间戳、第二异常数据的时间戳以及异常规则的配置信息中包括的持续时长,确定该诊断条件对应的异常时间区间;然后服务器可以根据该诊断条件对应的异常时间区间,确定该异常规则对应的异常时间区间。本公开实施例中,服务器可以根据诊断条件对应的每个异常数据的时间戳以及异常规则的配置信息中包括的持续时长,确定该诊断条件对应的异常时间区间,并且基于该诊断条件对应的异常时间区间确定该异常规则对应的异常时间区间,能够方便、快捷地确定出该诊断条件对应的异常时间区间以及该异常规则对应的异常时间区间。
[0098]
结合图3,如图4所示,在本公开实施例的一种实现方式中,上述服务器根据第一个异常数据的时间戳、第一异常数据的时间戳、第二异常数据的时间戳以及持续时长,确定诊断条件对应的异常时间区间,具体包括s1051-s1052。
[0099]
s1051、当第一异常数据的时间戳与第二异常数据的时间戳之间的差值大于预设时长时,服务器确定第二异常数据的时间戳与第一个异常数据的时间戳之间的差值是否大于或等于持续时长。
[0100]
结合上述实施例的描述,应理解,该持续时长为上述异常规则的配置信息中包括的持续时长,该第一个异常数据为根据上述多个异常数据的时间戳确定的异常数据,该第二异常数据为该第一异常数据的上一个异常数据。
[0101]
本公开实施例中,由于一个异常数据的时间戳用于表征该异常数据的生成时刻。因此服务器可以确定该第一异常数据的时间戳与该第二异常数据的时间戳之间的差值是否大于该预设时长,即为确定该第一异常数据的生成时刻与该第二异常数据的生成时刻之间的差值是否大于该预设时长。
[0102]
可以理解的是,当该第一异常数据的时间戳与该第二异常数据的时间戳之间的差值大于该预设时长时,说明该差值较大,具体为该第一异常数据与该第二异常数据之间间隔较长的时长,服务器可以确定该第一异常数据与该第二异常数据不是连续的数据。此时服务器可以确定该第二异常数据的时间戳与上述第一个异常数据的时间戳之间的差值是否大于或等于上述持续时长。
[0103]
本公开实施例中,该第二异常数据的时间戳与该第一个异常数据的时间戳之间的差值用于表征从该第一个异常数据的时间戳开始持续满足上述诊断条件的时长(即到该第二异常数据的时间戳结束)。
[0104]
在一种可选的实现方式中,服务器响应于上述处理指令,可以获取目标账户的待
检测数据的数据信息,该数据信息中包括该待检测数据的类型。
[0105]
示例性的,以下表4为本公开实施例提供的待检测数据的数据信息的一种示例。具体的,该待检测数据的数据信息(即分析数据(analysis data))中包括数据类型(data type)、时间戳(timestamp)以及待检测数据的数值(value)。另外,表中的int表示待检测数据的类型(或数据类型)为int型(即32位)数据,表中的long表示时间戳和待检测数据的数值为long型(即长整型)数据。
[0106]
表4
[0107]
analysis data+data type:int+timestamp:long+value:long
[0108]
s1052、当第二异常数据的时间戳与第一个异常数据的时间戳之间的差值大于或等于持续时长时,服务器将第一个异常数据的时间戳与第二异常数据的时间戳组成的时间区间,确定为诊断条件对应的异常时间区间。
[0109]
应理解,当该第二异常数据的时间戳与该第一个异常数据的时间戳之间的差值大于或等于该持续时长时,说明从该第一个异常数据的时间戳开始持续满足上述诊断条件的时长较长,持续满足该诊断条件的时长已经超过了(或等于)该异常规则配置(或规定)的持续时长(即该异常规则的配置信息中包括的持续时长),此时服务器可以将该第一个异常数据的时间戳与该第二异常数据的时间戳组成的时间区间,确定为该诊断条件对应的异常时间区间。
[0110]
具体的,该第一个异常数据的时间戳与该第二异常数据的时间戳组成的时间区间(即该诊断条件对应的异常时间区间)中包括一个开始时刻和一个结束时刻。该诊断条件对应的异常时间区间中包括的开始时刻即为该第一个异常数据的时间戳,该诊断条件对应的异常时间区间中包括的结束时刻即为该第二异常数据的时间戳。
[0111]
可选地,当该第二异常数据的时间戳与该第一个异常数据的时间戳之间的差值小于该持续时长时,说明从该第一个异常数据的时间戳开始持续满足该诊断条件的时长较短,持续满足该诊断条件的时长并未达到(即小于)该异常规则的配置信息中包括的持续时长,此时服务器可以确定该第一个异常数据的时间戳与该第二异常数据的时间戳组成的时间区间不是该诊断条件对应的异常时间区间,该时间区间表征的时间长度不能满足该诊断条件的触发需求。
[0112]
上述实施例提供的技术方案至少能够带来以下有益效果:由s1051-s1052可知,当第一异常数据的时间戳与第二异常数据的时间戳之间的差值大于预设时长时,说明该差值较大,具体为该第一异常数据与该第二异常数据之间间隔较长的时长,服务器可以确定该第一异常数据与该第二异常数据不是连续的数据,此时服务器可以确定该第二异常数据的时间戳与第一个异常数据的时间戳之间的差值是否大于或等于持续时长;当该第二异常数据的时间戳与该第一个异常数据的时间戳之间的差值大于或等于该持续时长时,说明从该第一个异常数据的时间戳开始持续满足诊断条件的时长较长,持续满足该诊断条件的时长已经超过了(或等于)异常规则配置(或规定)的持续时长(即该异常规则的配置信息中包括的持续时长),此时服务器可以将该第一个异常数据的时间戳与该第二异常数据的时间戳
组成的时间区间,确定为该诊断条件对应的异常时间区间。本公开实施例中,服务器可以根据第一异常数据的时间戳、第二异常数据的时间戳以及第一个异常数据的时间戳确定该第一异常数据与该第二异常数据是否为连续的数据,以及持续满足诊断条件的时长是否超过异常规则配置的持续时长,以确定该诊断条件对应的异常时间区间,能够准确、有效地确定出诊断条件对应的异常时间区间。
[0113]
结合图3,如图5所示,在本公开实施例的一种实现方式中,上述服务器根据诊断条件对应的异常时间区间,确定异常规则对应的异常时间区间,具体包括s1061-s1062。
[0114]
s1061、当诊断条件的数量为一个时,服务器将诊断条件对应的异常时间区间确定为异常规则对应的异常时间区间。
[0115]
应理解,当该诊断条件的数量为一个时,上述待检测数据满足该诊断条件即可以触发该异常规则,此时服务器可以将该诊断条件对应的异常时间区间确定为该异常规则对应的异常时间区间。
[0116]
s1062、当诊断条件的数量超过一个时,服务器将至少两个诊断条件对应的异常时间区间的交集,确定为异常规则对应的异常时间区间。
[0117]
可以理解的是,该至少两个诊断条件为该异常规则中包括的诊断条件。
[0118]
本公开实施例中,当该诊断条件的数量超过一个时,上述待检测数据需要同时满足该至少两个诊断条件才能触发该异常规则。当该待检测数据同时满足该至少两个诊断条件时,服务器可以将该少两个诊断条件对应的异常时间区间的交集,确定为该异常规则对应的异常时间区间。
[0119]
需要说明的是,服务器确定该至少两个诊断条件中每个诊断条件对应的异常时间区间的具体过程可以参见上述实施例中的描述,此处不再赘述。
[0120]
上述实施例提供的技术方案至少能够带来以下有益效果:由s1061-s1062可知,当诊断条件的数量为一个时,服务器可以将该诊断条件对应的异常时间区间确定为异常规则对应的异常时间区间;当该诊断条件的数量超过一个时,服务器可以将至少两个诊断条件对应的异常时间区间的交集,确定为异常规则对应的异常时间区间。本公开实施例中,服务器可以基于不同数量的诊断条件,确定异常规则对应的异常时间区间的不同确定方式,并且基于该不同确定方式确定该异常规则对应的异常时间区间,能够准确、有效地确定出异常规则对应的异常时间区间。
[0121]
在本公开实施例的一种实现方式中,服务器可以向客户端发送异常结果,该异常结果中包括异常规则对应的异常时间区间,该异常时间区间中包括开始时刻和结束时刻。
[0122]
示例性的,以下表5和表6分别为本公开实施例提供的异常结果和异常规则对应的异常时间区间的一种示例。具体的,分析结果(analytic result)即为异常结果,发生次数(occur times)即为触发该异常规则的次数,具体包括时间范围列表(即list﹤time range﹥),该时间范围列表中包括时间范围(即该异常规则对应的异常时间区间)。
[0123]
对于该时间范围(time range,也可以理解为该异常规则对应的异常时间区间)而言,该时间范围包括一个表征该时间范围开始的时间戳(即start:timestamp)和一个表征该时间范围结束的时间戳(即end:timestamp),该时间范围开始的时间戳即为该时间范围(或该异常规则对应的异常时间区间)的开始时刻,该时间范围结束的时间戳即为该时间范围(即该异常规则对应的异常时间区间)的结束时刻。
[0124]
表5
[0125]
analytic result+occur times:list﹤time range﹥
[0126]
表6
[0127]
time range+start:timestamp+end:timestamp
[0128]
需要说明的是,当该异常规则对应的异常时间区间(或时间范围)中包括的开启时刻和结束时刻相同时,说明在一个时刻(或一个时间点)就可以触发该异常规则,该时刻为该开启时刻(和/或该结束时刻)。
[0129]
在本公开实施例的一种实现方式中,上述异常规则与分析模型具有对应关系,该分型模型中包括计时器,该计时器中存储有预设时间戳,该预设时间戳为上述第二异常数据的时间戳。结合图4,如图6所示,本公开实施例提供的异常确定方法还包括s107。
[0130]
s107、当第一异常数据的时间戳与预设时间戳之间的差值小于或等于预设时长时,服务器将预设时间戳更新为第一异常数据的时间戳。
[0131]
结合上述实施例的描述,应理解,该第二异常数据为该第一异常数据的上一个异常数据。即该计时器中存储有该第一异常数据的上一个异常数据的时间戳)。
[0132]
可以理解的是,当该第一异常数据的时间戳与该预设时间戳(即该第二异常数据的时间戳)之间的差值小于或等于该预设时长时,说明该差值较小,具体为该第一异常数据与该第二异常数据之间间隔较短的时长,服务器可以确定该第一异常数据与该第二异常数据是连续的数据,此时服务器可以将该预设时间戳(即该第二异常数据的时间戳)更新为该第一异常数据的时间戳。进而,服务器可以确定该第一异常数据的时间戳与该第一异常数据的下一个异常数据的时间戳之间的差值是否大于该预设时长,即确定该第一异常数据与该下一个异常数据是否为连续的数据,能够从多个异常数据中准确地确定出每一个连续的数据。
[0133]
上述实施例提供的技术方案至少能够带来以下有益效果:由s107可知,当第一异常数据的时间戳与预设时间戳(即第二异常数据的时间戳)之间的差值小于或等于预设时长时,说明该差值较小,具体为该第一异常数据与该第而异常数据之间间隔较短的时长,服务器可以确定该第一异常数据与该第二异常数据是连续的数据。此时服务器可以将预设时间戳更新为该第一异常数据的时间戳。本公开实施例中,服务器可以基于任一异常数据的时间戳、该异常数据的上一个异常数据的时间戳以及预设时长,确定是否更新计时器中存储的时间戳(即该上一个异常数据的时间戳),能够准确、有效地确定出每一个连续的数据。
[0134]
在本公开实施例的一种实现方式中,服务器可以基于上述异常规则对应的诊断条件(即该异常规则的配置信息中包括的诊断条件)为该异常规则配置相应的分析模型。具体的,服务器可以基于该诊断条件中包括的比对关系,确定该异常规则对应的分析模型。
[0135]
示例性的,当该诊断条件中包括的比对关系为大于、小于、等于、大于或等于或者小于或等于时,服务器可以确定该分析模型为普通模型(normal model),该普通模型用于确定上述待检测数据是否满足相应的阈值;当该诊断条件中包括的比对关系为区间内时,服务器可以确定该分析模型为区间模型(between model),该区间模型用于确定该待检测
数据是否属于相应的区间;当该诊断条件中包括的比对关系为集合内时,服务器可以确定该分析模型为集合模型(即in model),该集合模型用于确定该待检测数据是否为某一集合中的一个。
[0136]
需要说明的是,当上述诊断条件的数量超过一个时,服务器可以为该异常规则配置组合模型(multi model),该组合模型可以理解为一个包装器,该包装器为上述三种分析模型(即普通模型、区间模型以及集合模型)中的两个或两个以上的组合。
[0137]
在一种可选的实现方式中,服务器可以为不同的异常规则配置不同的计时器。具体的,当上述异常规则的配置信息中包括上述持续时长时,服务器可以为该异常规则配置无界限计时器(unlimited timer)。当该异常规则的配置信息不包括该持续时长时,服务器可以为该异常规则配置空白计时器(empty timer)。
[0138]
应理解,一个无界限计时器用于确定某一个时间区间表征的时间长度(例如上述第一个异常数据的时间戳与第二异常数据的时间戳之间的差值)是否大于或等于该无界限计时器中包括的持续时长(即该异常规则的配置信息中包括的持续时长),当该时间区间表征的时间长度大于或等于该无界限计时器中包括的持续时长时,服务器可以将该时间区间确定为该异常规则对应的异常时间区间。
[0139]
可以理解的是,由于一个空白计时器(或该空白计时器对应的异常规则的配置信息)中不包括上述持续时长,如此,该空白计时器中包括的开始时刻与结束时刻相同。通过该空白计时器确定出的异常时间区间为一个时刻(或一个时间点)。当某一个时刻的待检测数据满足该异常规则对应的诊断条件时,服务器无需确定该待检测数据与该时刻的上一个时刻的数据(或者该时刻的下一时刻的数据)是否为连续的数据,也无需确定该待检测数据的时间戳与其他数据的时间戳之间的差值是否大于或等于持续时长。该服务器可以直接将该待检测数据确定为该异常规则对应的异常数据,并且将该待检测数据的时间戳确定为该异常规则对应的时刻(或时间点)。
[0140]
需要说明的是,一个无界限计时器为一个不限制时间区间(或异常时间区间)的结束时刻的计时器。示例性的,当上述持续时长为30s(秒),某一个异常时间区间的开始时刻为第10s,并且在该第10s至第50s的时间区间内上述待检测数据持续异常(即持续异常了40s的时间长度),此时服务器可以确定[第10s,第50s]为一个异常时间区间,而不是必须把[第10s,第40s]确定为一个异常时间区间,即无需保证一个异常时间区间表征的时间长度必须等于该持续时长。
[0141]
示例性的,以下表7示出了本公开实施例提供的一个计时器(timer),具体为一个无界限计时器的一种示例,该计时器也可以理解为一个虚拟接口(即interface3)。具体的,该计时器中可以包括一个开始时间的时间戳(即start time:timestamp)、一个上一个时间的时间戳(即last time:timestamp)、一个保持时间(sustain time)、一个队列(queue)以及一个最大持续时间(max duration)。
[0142]
表7
[0143][0144][0145]
其中,该开始时间的时间戳可以理解为上述第一个异常数据的时间戳,该上一个时间的时间戳可以理解为上述第二异常数据的时间戳,该保持时间可以理解为上述持续时长,该最大持续时间可以理解为上述预设时长。该队列中包括一个时间范围列表(即list﹤time range﹥),该时间范围列表中包括该异常规则对应的时间范围(即该异常规则对应的异常时间区间),服务器可以基于该队列存储该异常时间区间。
[0146]
结合上述实施例的描述,应理解,该保持时间与该最大持续时间可以为长整型(即long型)数据,该保持时间与该最大持续时间的单位可以是毫秒(ms)。
[0147]
可以理解的是,服务器可以调用join()方法采用布尔值的形式(boolean)将上述待检测数据的数据信息(即分析数据(analysis data)输入相应的分析模型,并且通过调用terminate()方法确定计时器停止工作,此时计数器会返回一个时间范围列表(即list﹤time range﹥),并且服务器还可以通过调用clear()方法重新对该计时器进行初始化。
[0148]
以下以一个示例具体说明本公开实施例采用上述计时器进行计时的过程。
[0149]
示例性的,如图7所示,服务器可以将分析数据参数传入计时器(即s201),具体为服务器可以将某一个待检测数据(或某一个异常数据)传入该计时器。然后该服务器可以确定第一异常数据的时间戳是否小于第二异常数据的时间戳(即s202),该第二异常数据的时间戳为该计时器中存储的上一个时间的时间戳。当该第一异常数据的时间戳小于该第二异常数据的时间戳时,异常结束(即s203),说明服务器(或计时器)获取到了错误时序的待检测数据,服务器可以确定当前存在异常情况(可能为设备异常)。
[0150]
当该第一异常数据的时间戳大于或等于该第二异常数据的时间戳时,服务器可以确定第一个异常数据的时间戳是否等于0(即s204),该第一个异常数据的时间戳为该计时器中存储的开始时间的时间戳。应理解,在该计时器的初始化阶段,服务器可以将该开始时间的时间戳以及上述上一个时间的时间戳配置为0。当该第一个异常数据的时间戳等于0时,说明该第一异常数据为第一个异常数据,此时服务器可以将该上一个时间以及该开始时间均更新为当前时间,即last time=current time,start time=current time(即s205)。
[0151]
当该第一个异常数据的时间戳不等于0时,说明该第一异常数据不是第一个异常数据,此时服务器可以确定该第一异常数据的时间戳与第二异常数据的时间戳之间的差值是否大于预设时长(即s206),当该差值小于或等于该预设时长时,服务器可以更新该计时
器中存储的上一个时间(即s207),具体为将该计时器中存储的上一个时间更新为该第一异常数据的时间戳。
[0152]
当该第一异常数据的时间戳与第二异常数据的时间戳之间的差值大于该预设时长时,服务器可以确定该第一异常数据的时间戳与上述第一个异常数据的时间戳之间的差值是否大于或等于持续时长(即s208)。应理解,当该第一异常数据的时间戳与该第二异常数据的时间戳之间的差值大于该预设时长时,说明一个连续的时间区间结束,该第一异常数据与该第二异常数据不是连续的数据。当该第一异常数据的时间戳与该第一个异常数据的时间戳之间的差值小于该持续时长时,服务器可以重置该计时器(即s209),具体为将该计时器中存储的开始时间的时间戳以及上一个时间的时间戳重新配置为0。
[0153]
当该第一异常数据的时间戳与该第二异常数据的时间戳之间的差值大于或等于该持续时长时,服务器可以将该第一个异常数据的时间戳与该第二异常数据的时间戳包装成time range,并且重置该计时器(即s210)。
[0154]
结合图3,如图8所示,本公开实施例提供的异常确定方法还包括s108。
[0155]
s108、当异常规则的数量为多个时,服务器对多个异常规则中每个异常规则执行异步处理,以确定每个异常规则对应的异常时间区间。
[0156]
在本发明实施例的一种实现方式中,服务器对该每个异常规则执行异步处理,具体可以为使用一个线程确定一个异常规则对应的异常时间区间。即服务器可以基于多个线程同时对该多个异常规则进行处理,进而服务器可以同时确定出该每个异常规则对应的异常数据,以及该每个异常规则对应的异常时间区间。
[0157]
以下以一个示例说明本公开实施例提供的服务器对每个异常规则执行异步处理的过程。
[0158]
如图9所示,客户端可以向服务器发起异常诊断请求(即s301)。然后服务器通过规则配置提供者(rule config provider)获取多个异常规则中每个异常规则的配置信息(即s302),并且创建分析数据管理器(analysis data manager),并注入分析数据提供者(analysis data provider)(即s303)。然后服务器可以基于每个异常规则的配置信息(rule config)生成与该配置信息对应的分析模型(analyze model)(即s304)。然后服务器可以将生成的分析模型注册到数据分析管理者中,实现同待分析数据(analytic data)的关联(即s305)。服务器可以调用分析数据管理器中的get data()方法获取分析时需要用到的所有数据(即s306),该需要用到的所有数据可以包括上述多个异常数据。然后服务器需要遍历所有的分析模型(即s307)。
[0159]
具体的,图9中的s307包括s307a、s307b、s307c、s307d、s307e以及s307f,其中,s307a、s307c以及s307e相同,均为异步执行run方法开始分析,具体为一个分析模型使用一个线程;s307b、s307d以及s307f相同,均为异步调用异常结果集合(analysis result set)中的report()方法,报告分析结果。然后服务器可以等待所有线程完成任务,返回异常结果集合(即s308)。
[0160]
需要说明的是,服务器还可以对多个异常诊断请求执行异步处理,即同时处理(或分析)多个异常诊断请求,同时得到该多个异常诊断请求中每个异常诊断请求对应的异常结果集合。
[0161]
上述实施例提供的技术方案至少能够带来以下有益效果:由s108可知,当异常规
则的数量为多个时,服务器可以对多个异常规则中每个异常规则执行异步处理,以确定该每个异常规则对应的异常时间区间,能够提升每个异常规则对应的异常时间区间的确定效率。
[0162]
在本公开实施例的一种实现方式中,上述异常规则的配置信息还包括该异常规则的标识、该异常规则的异常类型以及该异常规则的异常级别。结合图3,如图10所示,本公开实施例提供的异常确定方法还包括s109。
[0163]
s109、服务器向客户端发送异常结果集合。
[0164]
其中,该异常结果集合包括该异常规则的异常结果。该异常规则的异常结果包括该异常规则的标识、该异常规则的异常类型、该异常规则的异常级别以及该异常规则对应的异常时间区间。
[0165]
在一种可选的实现方式中,上述异常规则的异常类型可以为性能异常、网络异常、硬件异常以及其他异常。该异常规则的异常级别可以为提示、警告、错误以及严重错误(或致命错误),其中提示和告警可以理解为级别较低的异常级别,错误和严重错误为级别较高的异常级别。
[0166]
可以理解的是,客户端在接收到服务器发送的异常结果集合之后,可以基于该异常结果集合中包括的异常规则的异常结果进行一些处理操作。例如,客户端可以为不同的异常级别配置不同的颜色,以使得该客户端可以通过不同的颜色显示不同的异常级别。具体的,可以分别为提示、警告、错误以及严重错误配置绿色、黄色、橙色以及红色。
[0167]
可选地,上述异常规则的配置信息(以及该异常规则的异常结果)还可以包括该异常规则的异常文案,该异常文案用于对该异常规则的异常结果进行总结性说明。例如,该异常规则的异常文案可以为:网络可能不稳定。
[0168]
上述实施例提供的技术方案至少能够带来以下有益效果:由s109可知,服务器可以向客户端发送异常结果集合,该异常结果集合包括异常规则的异常结果,该异常规则的异常结果包括该异常规则的标识、该异常规则的异常类型、该异常规则的异常级别以及该异常规则对应的异常时间区间,如此客户端可以通过该异常结果空姐获取到该异常规则的异常结果,能够提升客户端获取异常结果的效率。
[0169]
示例性的,以下表8和表9分别为本公开实施例提供的异常规则的配置信息以及诊断条件的一种示例。具体的,该配置信息(即rule config)中包括标识(id,即该异常规则的规则标识)、类别(category,即该异常规则的异常类型)、保持时间(sustain time,即该异常规则的配置信息中包括的持续时长)、该异常规则的异常文案(docs)、该异常规则的异常级别(err level)以及该异常规则的规则项目列表(rule items:list﹤rule item﹥)。
[0170]
表8
[0171]
rule config+id+category+sustain time+docs+err levelrule items:list﹤rule item﹥
[0172]
其中,该异常规则的规则项目列表中可以包括至少一个规则项目(rule item),其中,一个规则项目即为上述实施例中描述的一个诊断条件。如表9所示,该诊断条件中可以包括数据类型(data type)、阈值(target value)以及比对关系(compare)。具体的,服务器可以基于待检测数据的标识(即待检测数据的id)表征该待检测数据的类型以及该诊断条件对应的数据类型。
[0173]
表9
[0174]
rule item+data type:待检测数据的id+target value+compare
[0175]
示例性的,以下表10为本公开实施例提供的异常结果集合的一种示例。具体的,该异常结果集合(analysis result set)中可以包括一个开始时间的时间戳(star:timestamp)、一个结束时间的时间戳(end:timestamp)、一个err map以及一个report。具体的,该开始时间为上述第一开始时间,该结束时间为上述第一结束时间。err map:concurrent hash map﹤rule config,err tab row﹥用于表征每个异常规则的配置信息以及该每个异常规则的异常信息,report(list﹤analytic result﹥,rule config)表示可以通过report()方法表征每个异常结果及每个异常规则的配置信息,void表示空集。
[0176]
表10
[0177]
analysis result set+star:timestamp+end:timestamp+err map:concurrent hash map﹤rule config,err tab row﹥+report(list﹤analytic result﹥,rule config):void
[0178]
如表11所示,一个异常规则的异常信息(即err tab row)可以包括该异常规则的异常级别(err level)、该异常规则的异常文案(docs)以及该异常规则的规则标识(rule id)。
[0179]
表11
[0180]
err tab row+err level+docs+rule id
[0181]
可选地,服务器还可以配置分析管理器(analysis manager),该分析管理器可以通过getinstance()方法获取实例,并且调用上述分析数据提供者和规则配置提供者。获取实例之后通过调用run()方法运行异常确定程序,具体为输入上述分析目标(analytic target)以得到上述异常结果集合(analysis result set)。
[0182]
在本公开实施例的一种实现方式中,上述异常规则与分析模型具有对应关系,该分析模型中包括过滤器,该过滤器与该诊断条件具有对应关系。结合图2,如图11所示,本公开实施例提供的异常确定方法还包括s110。
[0183]
s110、当待检测数据的类型与诊断条件对应的数据类型相同,并且待检测数据不满足诊断条件时,服务器基于分析模型中包括的过滤器删除待检测数据。
[0184]
可以理解的是,该过滤器的作用为删除(或过滤掉)非异常数据(即正常数据)。当该待检测数据的类型与该诊断条件对应的数据类型相同时,说明该待检测数据为该诊断条件对应的数据,此时服务器可以基于该诊断条件对该待检测数据进行检测(或诊断),即确定该待检测数据是否满足该诊断条件。当该待检测数据不满足该诊断条件时,说明该待检测数据不能触发该诊断条件,服务器可以确定该待检测数据不是该诊断条件对应的异常数据,或者也可以理解为该待检测数据是该诊断条件对应的正常数据,此时服务器可以基于该过滤器(也可以理解为该诊断条件对应的过滤器)删除(或过滤掉)该待检测数据。
[0185]
在一种可选的是实现方式中,服务器可以基于上述诊断条件中包括的比对关系为该诊断条件配置相应的过滤器。
[0186]
示例性的,当该诊断条件中包括的比对关系为大于、小于、等于、大于或等于或者小于或等于时,服务器可以确定过滤器为普通过滤器(normal filter),该普通过滤器用于当待检测数据不满足相应的阈值时,删除该待检测数据;当该诊断条件中包括的比对关系为区间内时,服务器可以确定该过滤器为区间过滤器(between filter),该区间过滤器用于当该待检测数据不属于相应的区间时,删除该待检测数据;当该诊断条件中包括的比对关系为集合内时,服务器可以确定该过滤器为集合过滤器(in filter),该集合过滤器用于当该待检测数据不是某一集合中的一个时,删除该待检测数据。
[0187]
示例性的,以下表12为本公开实施例提供的一个分析模型(analyze model)的一种示例,该分析模型也可以理解为一个虚拟接口(即interface4),该分析模型中包括过滤器(filter)和计时器(timer)。
[0188]
表12
[0189][0190]
具体的,服务器可以通过执行run()方法得到分析结果(analytic result,可以理解为每个异常规则的异常结果),并且通过执行get data()方法从分析数据管理器(analysis data manager)中获取所需的数据。
[0191]
上述实施例提供的技术方案至少能够带来以下有益效果:由s110可知,当待检测数据的类型与诊断条件对应的数据类型相同时,说明该待检测数据为该诊断条件对应的数据,此时服务器可以确定该待检测数据是否满足该诊断条件。当该待检测数据的数值不满足该诊断条件时,说明该待检测数据不能触发该诊断条件,服务器可以确定该待检测数据不是该诊断条件对应的异常数据,此时服务器可以基于该过滤器(具体为诊断条件对应的过滤器)删除(或过滤掉)该待检测数据。本公开实施例中,服务器可以基于每一个过滤器删除(或过滤掉)每一个正常数据,能够提升异常确定的效率。
[0192]
示例性的,以下表13为本公开实施例提供的一种分析数据管理器(analysis data manager)的一种示例。具体的,分析数据提供者(analysis data provider)即为上述第一虚拟接口,data map:map﹤data type,sorted list﹤analysis data﹥﹥用于表示服务可以通过某一个数据类型获取到与该数据类型相同的、有序的数据(或数据信息)。具体的,服务器可以通过get all analysis data()方法获取上述待检测数据,这些数据可以暂存在data map(可以理解为一个内存)成员变量中。每个分析模型在运行时可以通过get by data type id()方法获取与其对应的有序数据(即sorted list﹤analysis data﹥),register()方法用于将初始化完成的分析模型(analyze model)注册到数据模型中,以实现数据与处理流程的关联。
[0193]
表13
[0194]
analysis data manager+analysis data provider+data map:map﹤data type,sorted list﹤analysis data﹥﹥+get all analysis data(data type id):void+get by data type id(data type id):sorted list﹤analysis data﹥+register(analyze model):void
[0195]
以下一个示例说明本公开实施例提供的一个分析模型的处理流程。
[0196]
具体的,如图12所示,服务器可以创建分析模型(analyze model)对象(即s401)。然后服务器可以根据该分析模型对应的异常规则的配置信息对该分析模型进行初始化,并将合适的计时器(timer)和过滤器(filter)注入到分析模型中(即s402)。然后该服务器可以调用run()方法执行分析过程(即s403),并且调用数据分析管理器(analysis data manager)提供的get by data type()方法,获取待分析的数据(即s404)。然后过滤器可以进行数据过滤(即s405)。服务器可以将经过滤器过滤后留下来的数据(即上述异常数据)依次传入计时器中,遍历完成之后调用计时器中的terminate()方法使计时器停止工作,并获取结果(即s406)。然后服务器可以将分析结果反馈到分析模型(analysis manager)中(即s407)。
[0197]
需要说明的是,上述图12中示出的分析模型的处理流程适用于上述异常规则的配置信息中包括的诊断条件的数量为一个时的情况。
[0198]
以下以4个json文件的方式示出本公开实施例提供的一个异常规则,其中,该异常规则包括3个诊断条件。
[0199]
json文件1:
[0200][0201]
假设上述3个诊断条件按照从上到下的顺序包括诊断条件1、诊断条件2以及诊断条件3。具体的,该诊断条件1对应的数据类型为数据id为1时对应的数据类型,该诊断条件1包括的比对关系为大于,阈值为10;该诊断条件2对应的数据类型为数据id为2时对应的数据类型,该诊断条件2包括的比对关系为集合之中,阈值为[1,2,3,4,5];该诊断条件3对应的数据类型为数据id为3时对应的数据类型,该诊断条件3包括的比对关系为区间之内,阈值为[2,9]。
[0202]
json文件2:
[0203][0204][0205]
其中,该json文件2用于表示服务器可以为上述诊断条件1配置一个普通模型
(normal model)。
[0206]
json文件3:
[0207][0208]
其中,该json文件3用于表示服务器可以为上述诊断条件2配置一个集合模型(in model)。
[0209]
json文件4:
[0210][0211]
其中,该json文件3用于表示服务器可以为上述诊断条件3配置一个区间模型(即between model),该集合模型用于确定该待检测数据是否为某一集合中的一个。
[0212]
需要说明的是,上述json文件1可以表示服务器能够为该诊断条件1、诊断条件2以及诊断条件3配置一个组合模型(multi model)。
[0213]
示例性的,以下为本公开实施例提供的服务器确定两个区间队列(即第一个区间队列与第二个区间队列,具体的,一个区间队列中包括多个时间区间)的交集的一种算法代码:
[0214]
[0215][0216]
具体的,“return”用于表示得到第一个区间队列与第二个区间队列之间的交集组成的队列。“public queue《timerange》intervalintersection(queue《timerange》q1,queue《timerange》q2){”为函数签名,具体定义了一些源数据,包括返回值、函数名以及输入的类型。“queue《timerange》ans=new linkedlist《》()”用于表示创建一个链表。
[0217]“while(!q1.isempty()&&!q2.isempty()){”用于表示当q1(即第一个区间队列)和q2(第二个区间队列)都非空时进入循环。“timerange t1=q1.peek()”用于表示获取q1中的第一个元素,“timerange t2=q2.peek()”用于表示获取q2中的第一个元素。
[0218]“math.max(t1.getstart(),t2.getstart())”用于表示获取t1开始时间和t2开始时间中的最大值,“math.min(t1.getend(),t2.getend())”用于表示获取t1结束时间和t2结束时间中的最小值。“lo”为low,用于表示低位,“hi”为high,用于表示高位。
[0219]“if(lo《=hi&&(hi-lo》=this.ruleconfig.getsustaintime()))”用于表示如果低位小于或等于高位,并且高位与低位之间的差值大于或等于上述保持时间。“ans”这个变量用于表示上述链表,然后我们把上述获取到的低位和高位定义成一个新的time range,放到我们的答案返回值里面去。“builder()”是一个建造者模式,用于新建一个对象,“.start”用于定义开始时间,“.end”用于定义结束时间,“.build”用于定义创建对象,“offer”用于插入元素。
[0220]“if(t1.getend()《t2.getend())”用于表示t1的结束时间早于t2的结束时间,“q1.poll()”表示将t1从q1中移除,“q2.poll()”表示将t2从q2中移除。
[0221]
可以理解的,在实际实施时,本公开实施例所述的/服务器可以包含有用于实现前述对应异常确定方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个服务器。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
[0222]
基于这样的理解,本公开实施例还对应提供一种异常确定装置,图13示出了本公开实施例提供的异常确定装置的结构示意图。如图13所示,该异常确定装置20可以包括:获取模块201和确定模块202。
[0223]
获取模块201,被配置为响应于处理指令,获取目标账户的待检测数据的类型。
[0224]
获取模块201,还被配置为获取异常规则的配置信息,该异常规则的配置信息包括诊断条件,该诊断条件与数据类型具有对应关系。
[0225]
确定模块202,被配置为当该待检测数据的类型与该诊断条件对应的数据类型相同,并且该待检测数据满足该诊断条件时,确定该待检测数据为该异常规则对应的异常数据。
[0226]
可选地,上述异常规则的配置信息还包括持续时长。
[0227]
获取模块201,被配置为获取该待检测数据的时间戳。
[0228]
确定模块202,还被配置为在确定该待检测数据中存在多个异常数据的情况下,根据第一个异常数据的时间戳、第一异常数据的时间戳、第二异常数据的时间戳以及该持续时长,确定该诊断条件对应的异常时间区间,该第一个异常数据为根据该多个异常数据的时间戳确定的异常数据,该第二异常数据为该第一异常数据的上一个异常数据,该多个异常数据为与该诊断条件对应的异常数据。
[0229]
确定模块202,还被配置为根据该诊断条件对应的异常时间区间,确定该异常规则对应的异常时间区间。
[0230]
可选地,确定模块202,具体被配置为当该第一异常数据的时间戳与该第二异常数据的时间戳之间的差值大于预设时长时,确定该第二异常数据的时间戳与该第一个异常数据的时间戳之间的差值是否大于或等于该持续时长。
[0231]
确定模块202,具体还被配置为当该第二异常数据的时间戳与该第一个异常数据的时间戳之间的差值大于或等于该持续时长时,将该第一个异常数据的时间戳与该第二异常数据的时间戳组成的时间区间,确定为该诊断条件对应的异常时间区间。
[0232]
可选地,确定模块202,具体被配置为当该诊断条件的数量为一个时,将该诊断条件对应的异常时间区间确定为该异常规则对应的异常时间区间。
[0233]
确定模块202,具体还被配置为当该诊断条件的数量超过一个时,将至少两个诊断条件对应的异常时间区间的交集,确定为该异常规则对应的异常时间区间。
[0234]
可选地,上述异常规则与分析模型具有对应关系,该分析模型中包括计时器,该计时器中存储有预设时间戳,该预设时间戳为该第二异常数据的时间戳,该异常确定装置还
包括处理模块。
[0235]
该处理模块,被配置为当该第一异常数据的时间戳与该预设时间戳之间的差值小于或等于该预设时长时,将该预设时间戳更新为该第一异常数据的时间戳。
[0236]
可选地,该处理模块,被配置为当该异常规则的数量为多个时,对多个异常规则中每个异常规则执行异步处理,以确定该每个异常规则对应的异常时间区间。
[0237]
可选地,上述异常规则的配置信息还包括该异常规则的标识、该异常规则的异常类型以及该异常规则的异常级别,该异常确定装置还包括发送模块。
[0238]
该发送模块,被配置为向客户端发送异常结果集合,该异常结果集合包括该异常规则的异常结果,该异常规则的异常结果包括该异常规则的标识、该异常规则的异常类型、该异常规则的异常级别以及该异常规则对应的异常时间区间。
[0239]
可选地,上述异常规则与分析模型具有对应关系,该分析模型中包括过滤器,该过滤器与该诊断条件具有对应关系,该异常确定装置还包括删除模块。
[0240]
该删除模块,被配置为当该待检测数据的类型与该诊断条件对应的数据类型相同,并且该待检测数据不满足该诊断条件时,基于该分析模型中包括的该过滤器删除该待检测数据。
[0241]
如上所述,本公开实施例可以根据上述方法示例对异常确定装置进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
[0242]
关于上述实施例中的异常确定装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
[0243]
图14是本公开提供的另一种异常确定装置的结构示意图。如图14,该异常确定装置30可以包括至少一个处理器301以及用于存储处理器可执行指令的存储器303。其中,处理器301被配置为执行存储器303中的指令,以实现上述实施例中的异常确定方法。
[0244]
另外,异常确定装置30还可以包括通信总线302以及至少一个通信接口304。
[0245]
处理器301可以是一个处理器(central processing units,cpu),微处理单元,asic,或一个或多个用于控制本公开方案程序执行的集成电路。
[0246]
通信总线302可包括一通路,在上述组件之间传送信息。
[0247]
通信接口304,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
[0248]
存储器303可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
[0249]
其中,存储器303用于存储执行本公开方案的指令,并由处理器301来控制执行。处理器301用于执行存储器303中存储的指令,从而实现本公开方法中的功能。
[0250]
在具体实现中,作为一种实施例,处理器301可以包括一个或多个cpu,例如图14中的cpu0和cpu1。
[0251]
在具体实现中,作为一种实施例,异常确定装置30可以包括多个处理器,例如图14中的处理器301和处理器307。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0252]
在具体实现中,作为一种实施例,异常确定装置30还可以包括输出设备305和输入设备306。输出设备305和处理器301通信,可以以多种方式来显示信息。例如,输出设备305可以是液晶显示器(liquid crystal display,lcd),发光二级管(light emitting diode,led)显示设备,阴极射线管(cathode ray tube,crt)显示设备,或投影仪(projector)等。输入设备306和处理器301通信,可以以多种方式接受用户的输入。例如,输入设备306可以是鼠标、键盘、触摸屏设备或传感设备等。
[0253]
本领域技术人员可以理解,图14中示出的结构并不构成对异常确定装置30的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0254]
另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由服务器的处理器执行时,使得服务器执行如上述实施例所提供的异常确定方法。
[0255]
另外,本公开还提供一种计算机程序产品,包括指令,当指令由服务器的处理器执行时,使得服务器执行如上述实施例所提供的异常确定方法。
[0256]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

技术特征:
1.一种异常确定方法,其特征在于,包括:响应于处理指令,获取目标账户的待检测数据的类型;获取异常规则的配置信息,所述异常规则的配置信息包括诊断条件,所述诊断条件与数据类型具有对应关系;当所述待检测数据的类型与所述诊断条件对应的数据类型相同,并且所述待检测数据满足所述诊断条件时,确定所述待检测数据为所述异常规则对应的异常数据。2.根据权利要求1所述的异常确定方法,其特征在于,所述异常规则的配置信息还包括持续时长,所述方法还包括:获取所述待检测数据的时间戳;在确定所述待检测数据中存在多个异常数据的情况下,根据第一个异常数据的时间戳、第一异常数据的时间戳、第二异常数据的时间戳以及所述持续时长,确定所述诊断条件对应的异常时间区间,所述第一个异常数据为根据所述多个异常数据的时间戳确定的异常数据,所述第二异常数据为所述第一异常数据的上一个异常数据,所述多个异常数据为与所述诊断条件对应的异常数据;根据所述诊断条件对应的异常时间区间,确定所述异常规则对应的异常时间区间。3.根据权利要求2所述的异常确定方法,其特征在于,所述根据第一个异常数据的时间戳、第一异常数据的时间戳、第二异常数据的时间戳以及所述持续时长,确定所述诊断条件对应的异常时间区间,包括:当所述第一异常数据的时间戳与所述第二异常数据的时间戳之间的差值大于预设时长时,确定所述第二异常数据的时间戳与所述第一个异常数据的时间戳之间的差值是否大于或等于所述持续时长;当所述第二异常数据的时间戳与所述第一个异常数据的时间戳之间的差值大于或等于所述持续时长时,将所述第一个异常数据的时间戳与所述第二异常数据的时间戳组成的时间区间,确定为所述诊断条件对应的异常时间区间。4.根据权利要求2所述的异常确定方法,其特征在于,所述根据所述诊断条件对应的异常时间区间,确定所述异常规则对应的异常时间区间,包括:当所述诊断条件的数量为一个时,将所述诊断条件对应的异常时间区间确定为所述异常规则对应的异常时间区间;当所述诊断条件的数量超过一个时,将至少两个诊断条件对应的异常时间区间的交集,确定为所述异常规则对应的异常时间区间。5.根据权利要求3所述的异常确定方法,其特征在于,所述异常规则与分析模型具有对应关系,所述分析模型中包括计时器,所述计时器中存储有预设时间戳,所述预设时间戳为所述第二异常数据的时间戳,所述方法还包括:当所述第一异常数据的时间戳与所述预设时间戳之间的差值小于或等于所述预设时长时,将所述预设时间戳更新为所述第一异常数据的时间戳。6.根据权利要求2所述的异常确定方法,其特征在于,所述方法还包括:当所述异常规则的数量为多个时,对多个异常规则中每个异常规则执行异步处理,以确定所述每个异常规则对应的异常时间区间。7.根据权利要求2所述的异常确定方法,其特征在于,所述异常规则的配置信息还包括
所述异常规则的标识、所述异常规则的异常类型以及所述异常规则的异常级别,所述方法还包括:向客户端发送异常结果集合,所述异常结果集合包括所述异常规则的异常结果,所述异常规则的异常结果包括所述异常规则的标识、所述异常规则的异常类型、所述异常规则的异常级别以及所述异常规则对应的异常时间区间。8.根据权利要求1-7中任一项所述的异常确定方法,其特征在于,所述异常规则与分析模型具有对应关系,所述分析模型中包括过滤器,所述过滤器与所述诊断条件具有对应关系,所述方法还包括:当所述待检测数据的类型与所述诊断条件对应的数据类型相同,并且所述待检测数据不满足所述诊断条件时,基于所述分析模型中包括的所述过滤器删除所述待检测数据。9.一种异常确定装置,其特征在于,包括:获取模块和确定模块;所述获取模块,被配置为响应于处理指令,获取目标账户的待检测数据的类型;所述获取模块,还被配置为获取异常规则的配置信息,所述异常规则的配置信息包括诊断条件,所述诊断条件与数据类型具有对应关系;所述确定模块,被配置为当所述待检测数据的类型与所述诊断条件对应的数据类型相同,并且所述待检测数据满足所述诊断条件时,确定所述待检测数据为所述异常规则对应的异常数据。10.一种服务器,其特征在于,所述服务器包括:处理器;被配置为存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如权利要求1-8中任一项所述的异常确定方法。11.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1-8中任一项所述的异常确定方法。12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令在服务器的处理器上运行时,使得所述服务器执行如权利要求1-8中任一项所述的异常确定方法。

技术总结
本公开关于一种异常确定方法、装置、服务器及存储介质,涉及计算机技术领域。该方法包括:响应于处理指令,获取目标账户的待检测数据的类型;获取异常规则的配置信息,该异常规则的配置信息包括诊断条件,该诊断条件与数据类型具有对应关系;当该待检测数据的类型与该诊断条件对应的数据类型相同,并且该待检测数据满足该诊断条件时,确定该待检测数据为该异常规则对应的异常数据。本公开中,服务器无需在每次获取到待检测数据(或待分析数据)时生成规则,而是从服务器中选择并运用与该待检测数据对应的异常规则,能够准确、有效地确定出异常规则对应的异常数据,提升了异常检测的效率。率。率。


技术研发人员:孙伟博 李艺威 林莹含
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:2022.07.11
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-7100.html

最新回复(0)