CN115221022A - 流量监测方法及装置 - Google Patents

流量监测方法及装置 Download PDF

Info

Publication number
CN115221022A
CN115221022A CN202210646970.3A CN202210646970A CN115221022A CN 115221022 A CN115221022 A CN 115221022A CN 202210646970 A CN202210646970 A CN 202210646970A CN 115221022 A CN115221022 A CN 115221022A
Authority
CN
China
Prior art keywords
inlet flow
period
current period
monitoring
field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210646970.3A
Other languages
English (en)
Inventor
连明超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210646970.3A priority Critical patent/CN115221022A/zh
Publication of CN115221022A publication Critical patent/CN115221022A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种流量监测方法及装置,其中方法包括:从数据仓库获取当前周期内待测对象的入口流量;对当前周期内待测对象的入口流量进行汇总和解析,得到所述入口流量的成分信息,所述成分信息包括字段名和字段值;对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况;将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对,依据比对结果确定并输出入口流量的异常信息。本申请能够实现对系统模块入口流量的异常监测。

Description

流量监测方法及装置
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种流量监测方法及装置。
背景技术
为了保证系统的稳定性,需要保证其中的系统模块符合质量要求。传统的质量保障主要关注系统模块对于特定的输入是否能够给出符合预期的输出。例如,对于系统模块B而言,符合预期的情况是,输入a1到B,B输出c1;输入a2到B,B输出c2。然而在很多情况下,系统模块B本身是符合质量要求的,但由于其他系统模块或环境等因素的异常造成输入至系统模块的流量产生异常,那么也会造成系统模块B的输出不符合预期,从而影响整个系统的稳定性。因此亟需一种针对系统模块进行入口流量监测的方式。
发明内容
有鉴于此,本申请提供了一种流量监测方法及装置,以便于实现对系统模块入口流量的异常监测。
本申请提供了如下方案:
第一方面,提供了一种流量监测方法,该方法包括:
从数据仓库获取当前周期内待测对象的入口流量;
对所述当前周期内待测对象的入口流量进行汇总和解析,得到所述入口流量的成分信息,所述成分信息包括字段名和字段值;
对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况;
将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对,依据比对结果确定并输出入口流量的异常信息。
根据本申请实施例中一可实现的方式,从数据仓库获取当前周期内待测对象的入口流量包括:
依据预设的监测周期,从数据仓库中获取预先订阅的各监测周期内待测对象的入口流量,将指定监测周期作为所述当前周期;其中,所述待测对象的入口流量是由所述待测对象的日志代理传输并存储于所述数据仓库的。
根据本申请实施例中一可实现的方式,对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况包括:
对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量中体现成分分布的各指标值;
其中,所述指标值包括字段名的数量、字段名的种类、字段名和字段值组合的数量、两个以上的所述组合之间的关联关系、字段空值率、字段缺失率以及字段值取值类型中的至少一种。
根据本申请实施例中一可实现的方式,两个以上的所述组合之间的关联关系是数据挖掘模型对多个历史周期的入口流量进行挖掘得到的。
根据本申请实施例中一可实现的方式,该方法还包括:
若无法解析得到字段的字段值取值类型,则统计该字段在当前周期和/或历史周期中的取值数量,若取值数量小于或等于预设的数量阈值,则确定该字段的字段值类型为枚举型。
根据本申请实施例中一可实现的方式,所述历史周期包括当前周期的上N个非异常的监测周期,所述N为预设的正整数。
根据本申请实施例中一可实现的方式,依据比对结果确定入口流量的异常信息包括:
若当前周期的入口流量中预设第一类型的指标值与历史周期的入口流量中所述第一类型的指标值不同,则确定入口流量出现异常;或者,
若当前周期的入口流量中预设第二类型的指标值与历史周期的入口流量中所述第二类型的指标值的差异情况超过预设的差异阈值,则确定入口流量出现异常;或者,
若当前周期的入口流量中预设第三类型的指标值处于异常范围且与历史周期的入口流量中所述第三类型的指标值的差异情况超过预设的差异阈值,则确定入口流量出现异常。
根据本申请实施例中一可实现的方式,该方法还包括:在输出所述异常信息的界面上展现场景配置组件和/或白名单配置组件;
若所述场景配置组件被触发,则展现场景配置界面,获取用户针对所述被测对象所对应的场景信息配置的监测周期;在后续流量监测中依据所述监测周期执行所述对当前周期内待测对象的入口流量进行汇总和解析的处理;
若所述白名单配置组件被触发,则展现白名单配置界面,获取用户针对所述被测对象所配置的白名单;后续流量监测中无需针对白名单中的字段名进行所述统计分析的处理。
第二种方式,提供了一种流量监测装置,该装置包括:
获取单元,被配置为从数据仓库获取当前周期内待测对象的入口流量;
解析单元,被配置为对当前周期内待测对象的入口流量进行汇总和解析,得到所述入口流量的成分信息,所述成分信息包括字段名和字段值;
分析单元,被配置为对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况;
比对单元,被配置为将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对,依据比对结果确定入口流量的异常信息;
输出单元,被配置为输出所述异常信息。
根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面中任一项所述的方法的步骤。
根据第四方面,提供了一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面中任一项所述的方法的步骤。
根据本申请提供的具体实施例,本申请可以具备以下技术效果:
1)本申请获取当前周期内待测对象的入口流量后,通过将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对来监测入口流量的异常信息,实现了对待测对象入口流量的异常监测。
2)利用了体现入口流量的成分分布状况的多个典型指标值,并能够结合数据模型进行多个字段名和字段值组合的关联关系的挖掘,从而使得异常监测更加准确。
3)本申请可以针对具体场景设置不同的监测周期来满足不同的监测需求,实现更加灵活。并且可以针对具体的字段设置白名单,白名单中的字段不参与入口流量的监测,从而可以根据实际的监测需求灵活设置不适宜参与或不需要参与监测的字段。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的示例性系统架构图;
图2为本申请实施例提供的流量监测方法的流程图;
图3示出了本申请实施例中的一个输出异常信息的界面示意图;
图4为本申请实施例提供的一个整体框架图;
图5为本申请实施例提供的一种被测对象入口流量异常的示意图;
图6示出了根据一个实施例的流量监测装置的示意性框图;
图7为本申请实施例提供的电子设备的架构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
为了方便对本申请的理解,首先对本申请所基于的系统架构进行简单描述。图1示出了可以应用本申请实施例的示例性系统架构,如图1中所示,该系统主要包括:待测对象和流量监测装置。
其中待测对象可以是用以实现一个完整功能的系统,也可以是一个系统中实现某个子功能的功能模块。可以是一个独立的设备,也可以是一个设备集群,还可以是虚拟机,或者是云计算设备。云计算设备可以是云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPs,Virtual Private Server)服务中存在的管理难度大,服务扩展性弱的缺陷。
待测对象中存在日志代理(Logagent),由Logagent将记录在日志中的入口流量的数据传输给数据仓库并在数据仓库中进行存储,Logagent可以是待测对象中的独立进程,不会影响待测对象的正常工作。该部分的具体内容将在后续具体实施例中详述。
流量监测装置用以从数据仓库中获取待测设备的入口流量后,对待测设备的入口流量进行异常监测。其中待测设备的入口流量指的是所有输入待测设备的流量。
流量监测装置可以为位于服务器端的应用,或者还可以为位于服务器端的应用中的插件或软件开发工具包(Software Development Kit,SDK)等功能单元,或者还可以位于计算机终端,本申请实施例对此不加以特别限定。
应该理解,图1中的待测设备和流量监测装置的数目仅仅是示意性的。根据实现需要,可以具有任意数目的待测设备和流量监测装置。
图2为本申请实施例提供的流量监测方法的流程图,该方法流程可以由图1所示系统中的流量监测装置执行。如图2中所示,该方法可以包括以下步骤:
步骤202:从数据仓库获取当前周期内待测对象的入口流量。
步骤204:对当前周期内待测对象的入口流量进行汇总和解析,得到入口流量的成分信息,成分信息包括字段名和字段值。
步骤206:对入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况。
步骤208:将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对,依据比对结果确定并输出入口流量的异常信息。
由上面流程可以看出,本申请获取当前周期内待测对象的入口流量后,通过将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对来监测入口流量的异常信息,实现了对待测对象入口流量的异常监测。
下面对上述流程中的各步骤进行详细描述。首先结合实施例对上述步骤202即“从数据仓库获取当前周期内待测对象的入口流量”进行详细描述。
在本申请实施例中,流量监测装置是按照一定的监测周期对入口流量进行获取的,并在步骤204中将当前周期内获取到的入口流量进行汇总。其中,采用的监测周期可以是预先配置的,也可以采用默认的监测周期。该监测周期可以针对待测对象所对应的场景具体设置,例如,待测对象是用以完成页面上签到红包的功能,对该待测对象的入口流量的监测不需要太细粒度,可以设置监测周期为一天。再例如,待测对象为用以完成某个商品的降价功能,对该待测对象的入口流量的监测需要较细粒度,可以设置监测周期为小时。
也就是说,可以根据待测对象的实际情况,按照“场景-时长粒度”进行入口流量监测,从而感知入口流量的异常。
在本申请实施例中,待测对象的入口流量以及对入口流量的处理等都会记录在日志中,可以由待测对象的日志代理(Logagent)传输给数据仓库并在数据仓库中进行存储,Logagent可以是待测对象中的独立进程,不会影响待测对象的正常工作。其中,Logagent可以实时地采用流式数据的方式将入口流量传输给数据仓库,也可以采用非实时的方式将入口流量传输给数据仓库。作为其中一种可实现的方式,Logagent可以作为数据生产者将入口流量的数据通过TT(TimeTunnel,时间隧道)等数据传输通道传输并存储至数据仓库上供数据消费者进行消费。本申请实施例的流量监测装置就是其中一种数据消费者。
流量监测装置可以预先对数据仓库中待测对象的入口流量进行订阅,订阅粒度是按照监测周期的。例如,当产生新的监测周期的入口流量后,流量监测装置就能够获取到该监测周期内待测对象的入口流量。
另外,对于不同粒度的监测周期,入口流量在数据仓库中的存储方式可以不同。若采用月、星期、天等级别的监测周期,即非实时的数据,则可以在数据仓库中采用ODPS(OpenData Processing Service,开放数据处理服务)等进行批数据存储。若采用小时、甚至分钟级别的监测周期,并且对实时性要求较高,则可以在数据仓库中采用Hbase等进行流式数据的存储。
因此,本步骤中流量监测装置可以依据预设的监测周期,从数据仓库中获取预先订阅的各监测周期内待测对象的入口流量,将指定监测周期作为当前周期。其中对当前周期的指定可以根据需求灵活进行。例如,想要对某个特定的监测周期的入口流量进行异常监测,可以指定该特定的监测周期作为当前周期。再例如,也可以在通过订阅的方式获取到最新监测周期的入口流量后,将该最新监测周期作为当前周期。
下面结合实施例对上述步骤204即“对当前周期内待测对象的入口流量进行汇总和解析,得到入口流量的成分信息”进行详细描述。
对当前周期内待测对象的入口流量进行汇总后,对每一条流量进行解析。每一条流量实际就是每一个数据包。在进行解析时对每一条流量的所有字段都进行解析,得到key、value以及key-value对,还可以进一步解析得到各字段的value取值类型。其中key是字段名,value是字段值,key-value对是字段名和字段值构成的组合。在进行解析时通常是按照各协议的数据包的格式来进行解析,以http数据包“ip=1&score=2&needAdv=true”为例,可以按照&进行拆分,得到:ip=1,score=2,needAdv=true。每一项都是key=value的组合。再进一步按照=进行拆分,分别得到以下成分信息:
key为ip,value为1,key-value对为ip和1构成的组合;
key为score,value为2,key-value对为score和2构成的组合;
key为needAdv,value为true,key-value对为needAdv和true构成的组合。
对当前周期内每一条流量都进行上述类似的解析后,就可以得到大量的key、value以及key-value对,这些作为入口流量的成分信息用以进行后续步骤。
更进一步地,在一些情况下有些字段可以不参与流量监测,或者不适宜参与流量监测,则可以通过配置白名单的方式,将这些不参与监测的字段名加入白名单。在得到上述入口流量的成分信息后,可以依据白名单,将白名单中涉及的key(即字段名)、该key对应的key、包含该key的key-value对过滤掉,然后将过滤处理后的入口流量的成分信息用以进行后续流程中的统计分析等处理。
举个例子,假设有一些字段是为了调试的目的加到入口流量中的,那么这些字段就可以加入白名单中不参与异常监测。
下面结合实施例对上述步骤206即“对入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况”进行详细描述。
作为本申请实施例中一种可实现的方式,可以对入口流量的成分信息进行统计分析,得到当前周期的入口流量中体现成分分布的各指标值。其中指标值可以采用但不限于以下几种:
1)key的数量。
通常在每一个监测周期中,入口流量不会发生特别明显的变化,意味着入口流量中的key数量也不会发生特别明显的变化。因此,key的数量可以作为其中一个指标。这里key的数量指的是所有字段名出现的次数。如果一个字段名出现了10次,则会参与10次统计。
2)key的种类。
通常在每一个监测周期中,key的种类不会发生特别明显的变化。如果忽然在一个周期中明显新增了一些种类的key,或者明显减少了一些种类的key,都可能会是因为出现了异常。因此,key的种类可以作为其中一个指标。这里key的种类的划分可以将每一个字段名都作为一个种类,也可以采用其他种类的划分方式。以每一个字段名作为一个种类为例,如果一个字段名出现了10次,则只会参与一次关于key的种类的统计。
4)value取值类型
通常在一个监测周期中,字段值的取值类型的分布不会发生特别明显的变化。如果发生了特别明显的变化,则有可能出现异常,就需要进行关注。因此可以将value取值类型作为其中一个指标。
通常的取值类型可以包括诸如:数值型、布尔型、字符型、枚举型,等等。还可以进行更细粒度的划分,例如将数据型进一步划分为byte(字节型)、short(短整型)、int(普通整型)、long(长整型)、float(浮点数)、double(双精度浮点数)等等。
还可能存在一些情况使得某些字段在解析过程中无法得到value取值类型,则可以统计该字段在当前周期和/或历史周期中的取值数量。若取值数量小于或等于预设的数量阈值,例如50以下,则可以确定该字段的value取值类型为枚举型。例如一些入口流量中可能出现一些自定义的字段,value都是一些离散的关于姓名的取值,经过统计当前周期中该字段中value值的数量,发现数量在50以下,则可以认为该字段的value取值类型为枚举型。
3)key-value对的数量
通常在一个监测周期中,一个字段名的取值数量通常不会发生特别明显的变化,例如对于某个key,在每一个监测周期中对应的value值的数量大概都在0~10的区间内,若忽然发生了比较大的变化,则有可能出现异常。因此可以将key-value对的数量作为其中一个指标。
4)两个以上的key-value对的关联关系
上所述的关联关系可以是诸如两个以上的key-value对同时出现的次数、两个以上的key-value对出现的先后顺序,等等。
例如,在一些场景下可能会存在一些key-value对频繁同时出现的情况,例如,用户在搜索“啤酒”后,很可能会也搜索“花生”。那么“搜索词-啤酒”和“搜索词-花生”这两个key-value对会同时出现一些次数。若在历史周期中这两个key-value对同时出现了50次,但当前周期中不同时出现了,则有可能出现异常。因此,两个以上的key-value对同时出现的次数可以作为其中一个指标。
上述关联关系,例如具体哪些两个以上的key-value对需要对其同时出现的次数来作为指标可以通过经验总结并进行配置。也可以采用数据挖掘模型来实现,即由数据挖掘模型获取上述待测对象的多个历史周期的入口流量,对其进行挖掘后得到。例如,假设待测对象的监测周期为1天,则数据挖掘模型可以获取历史某个月的入口流量,挖掘出哪些两个以上的key-value对频繁同时出现。例如可以将同时出现的次数在每个历史周期均超过预设次数阈值作为挖掘标准。
5)字段空值率
若在一个监测周期中忽然出现了大量字段名对应的字段值是空的情况,这就可能出现了异常。因此,字段空值率可以作为其中一个指标。
字段空值率可以是一个总的统计指标,例如将所有key中value为空的次数与所有key出现的次数的比值作为字段空值率。
字段空值率也可以是针对每一个key统计的指标,例如将一个key中value为空的次数与该key出现的次数的比值作为该key的字段空值率。
6)字段缺失率
通常认为每一条流量中key大多是类似的,可以针对每一个key统计该key在每一个流量中是否出现,将该key未出现的流量条数与流量的总条数的比值作为该key的字段缺失率。
上述这些指标值就能够在很大程度上反映当前周期的入口流量的成分分布状况。
下面结合实施例对上述步骤208即“将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对,依据比对结果确定并输出入口流量的异常信息”进行详细描述。
本步骤中比对所涉及的历史周期可以是当前周期的上N个非异常的监测周期,N为预设的正整数。例如,若当前周期的上一个监测周期是非异常的监测周期,则可以将当前周期的入口流量的成分分布状况与上一个监测周期的入口流量的成分分布状况进行比对。
其中,非异常的监测周期可以是未监测到异常发生的监测周期,也可以是虽然监测到异常发生但经人工鉴定后确定非异常的监测周期。
在依据比对结果确定入口流量的异常信息时,可以采用但不限于以下几种方式:
第一种方式:若当前周期的入口流量中预设第一类型的指标值与历史周期的入口流量中第一类型的指标值不同,则确定入口流量出现异常。
有一些指标值对于流量异常是非常敏感的,例如key是比较谨慎的信息量,key的数量、key的种类等指标值对于鉴别流量异常比较敏感。通常一个监测周期内的流量是非常大的,以天为例,在一个线上的系统模块中,入口流量可能会达到几十万甚至上百万,那么一个监测周期内的key的数量、种类等是比较固定的。因此,可以预先设置这些类型的指标值,即第一类型的指标值,只要当前周期的入口流量中第一类型的指标值与历史周期的入口流量中第一类型的指标值相比发生变化,就确定入口流量出现异常。在输出异常信息时,可以将变化的key的信息进行输出,例如新增key的信息、减少的key的信息,等等。
第二种方式:若当前周期的入口流量中预设第二类型的指标值与历史周期的入口流量中所述第二类型的指标值的差异情况超过预设的差异阈值,则确定入口流量出现异常。
有一些指标值虽然对于流量异常的敏感性没那么高,但在一定程度上与历史周期存在差异也可能是发生流量异常。对于这些指标值,可以通过当前周期的入口流量中的指标值与历史周期的入口流量中的指标值的差异情况来判断异常,如果差异情况超过预设的差异阈值,则确定入口流量出现异常。其中差异情况可以通过差值来体现,也可以通过比例来体现。
例如,当前周期的key-value对的数量和上一周期的key-value对的数量之间的差值在预设的差值范围内,则认为正常,超出预设的差值范围,则认为存在异常。在输出异常信息时,可以将当前周期的key-value对的数量和上一周期的key-value对的数量进行输出。
另外,上述几种指标值也可能结合来使用,例如,虽然key-value对的数量发生了明显变化,例如历史周期中该key对应的value值的数量通常在0~10的区间内,当前周期则忽然上升到20~30区间。若预设的差值范围为10,则认为可能发生异常,但如果该value的取值类型为枚举型,例如对于姓名这样的字段来说,几十个取值甚至几百个取值都是正常的,则也不认为是异常。
第三种方式:若当前周期的入口流量中预设第三类型的指标值处于异常范围且与历史周期的入口流量中所述第三类型的指标值的差异情况超过预设的差异阈值,则确定入口流量出现异常。
还有一些指标值,在当前周期中相比较在上一周期中发生了较为明显的变化,例如超过了预设差异阈值,但指标值本身在合理范围内,则也不认为是异常。只有指标值本身也同时处于异常范围,才认为出现异常。
例如,有一些字段的空值率在当前周期中是0.05%,在上一周期中是2.1,虽然两者的差值超过了预设的差值阈值2%,但由于当前周期中空值率0.05%属于正常范围,因此也认为不是异常。
若确定当前周期的入口流量存在异常,则可以进行预警。具体可以采用诸如输出文本、声音、发送信息等方式进行预警。
在输出异常信息的界面上,除了具体的异常信息之外,还可以进一步展现场景配置组件和/或白名单配置组件。图3示出了本申请实施例中的一个输出异常信息的界面示意图,如图3中所示,在进行上述的入口流量异常监测流程后,若存在异常,则将当前周期监测出的异常信息在界面中进行显示。在该界面中示出了以下内容:
监测周期,图3中以“【天】”的方式示出;
监测场景,图3中以“监测场景-【首页签到红包】”为例;
当前周期的信息,图3中以“20211026”所示的日期为例;
历史周期的信息,图3中以“相比前1天”为例;
具体异常信息,在图3中可以示出部分异常信息“新增key=userId,userTags,expect,maxAmount,baseAmount,minAmount,bizOperation…”,若用户想看完整的异常信息,可以通过点击图3所示界面中的“看详细数据组件”来触发展示完整的异常信息;
场景配置组件,若用户点击该组件,该组件被触发展现场景配置界面,然后获取用户针对被测对象所对应的场景信息配置的监测周期,在后续流量监测中依据该新配置的监测周期执行对当前周期内待测对象的入口流量进行汇总和解析的处理;也就是说,用户可以通过该组件进行监测周期的修改配置;
白名单配置组件,若用户点击该组件,该组件被触发展现白名单配置界面,获取用户针对该被测对象所配置的白名单;后续流量监测中无需针对白名单中的字段名进行统计分析的处理。
图4为本申请实施例提供的一个整体框架图,如图4中所示,对于获取的待测对象的入口流量,首先进行在分析阶段进行流量汇总、成分解析,得到key、value和key-value对等成分信息,然后对这些成分信息进行统计分析,得到当前周期的入口流量的成分分布状况。然后在对比阶段,将当前周期的入口流量的成分分布和历史周期的入口流量的成分分布状况进行比对,依据比对结果确定入口流量的异常信息。可能发生的异常信息可以包括诸如:key新增/减少、value新增/减少、value的取值类型变更、字段空值率波动、字段缺失率波动、key-value对的关联关系变更,等等。若确定出异常信息,则在预警阶段进行预警,并输出异常信息。另外,鉴于体现出成分分布状况的指标值中key-value对的关联关系可以通过数据挖掘模型提前挖掘,因此可以在挖掘阶段来实现对上述关联关系的挖掘。
在此举一个例子:
如图5中所示,假设被测对象为搜索系统B,输入表示为A,输出表示为C,对应搜索场景1和搜索场景2。对搜索系统B进行质量测试后,确定搜索系统B符合质量要求。能够在搜索场景1中输入a1时输出期望c1,在搜索场景2中输入a2时输出期望c2。但在实际应用过程中发现搜索系统B的输出并不能够符合预期,假设在搜索场景1中输出的是c2,在搜索场景2中输出的是c1;或者,在搜索场景1中输出的是c3,在搜索场景2中输出的是c4。则可以进一步结合本申请实施例所提供的入口流量的监测方法对搜索系统B的入口流量进行监测,确定是否是由入口流量异常引起的搜索系统B的输出不符合期望。如果确定出入口流量异常,则工作人员可以根据输出的异常信息检查上游系统或环境因素等是否发生了变更。
例如,在大搜索场景下,搜索系统B在输入query的情况下输出的搜索结果中广告位置顶。但后来输出的搜索结果不包括广告。不符合预期,则通过对搜索系统B的入口流量进行分析后,发现入口流量中发生了value减少和新增,即指示显示广告的key的value值,从显示广告变更为不显示广告。那么显示广告的value值减少,不显示广告的value值新增,出现异常。输出该异常信息后,工作人员可以检查上游系统或环境因素等是否发生了变更,如果该变更是不合理的,及时进行纠正。可以看出,本申请实施例提供的入口流量监测能够结合待测系统的质量监测,扩充测试边界。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
根据另一方面的实施例,提供了一种流量监测装置。图6示出根据一个实施例的流量监测装置的示意性框图。如图6所示,该装置600包括:获取单元601、解析单元602、分析单元603、比对单元604和输出单元605,还可以进一步包括配置单元606。其中各组成单元的主要功能包括:
获取单元601,被配置为从数据仓库获取当前周期内待测对象的入口流量。
解析单元602,被配置为对当前周期内待测对象的入口流量进行汇总和解析,得到所述入口流量的成分信息,所述成分信息包括字段名和字段值。
分析单元603,被配置为对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况。
比对单元604,被配置为将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对,依据比对结果确定入口流量的异常信息。
为了实现上述比对,需要对历史周期的入口流量的成分分布状况进行记录,图6中对于记录历史周期的入口流量的成分分布状况的存储单元并未示出。
输出单元605,被配置为输出所述异常信息。
作为其中一种可实现的方式,获取单元601可以依据预设的监测周期,从数据仓库中获取预先订阅的各监测周期内待测对象的入口流量,将指定监测周期作为所述当前周期;其中,所述待测对象的入口流量是由所述待测对象的日志代理传输并存储于所述数据仓库的。
作为其中一种可实现的方式,分析单元603可以具体被配置为:对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量中体现成分分布的各指标值;其中,所述指标值包括字段名的数量、字段名的种类、字段名和字段值组合的数量、两个以上的所述组合之间的关联关系、字段空值率、字段缺失率以及字段值的取值类型中的至少一种。
作为其中一种可实现的方式,两个以上的所述组合之间的关联关系是数据挖掘模型对多个历史周期的入口流量进行挖掘得到的。
更进一步地,若解析单元602无法解析得到字段的字段值取值类型,则统计该字段在当前周期和/或历史周期中的取值数量,若取值数量小于或等于预设的数量阈值,则确定该字段的字段值类型为枚举型。
其中,所述历史周期包括当前周期的上N个非异常的监测周期,所述N为预设的正整数。
作为其中一种可实现的方式,比对单元604可以具体被配置为:若当前周期的入口流量中预设第一类型的指标值与历史周期的入口流量中所述第一类型的指标值不同,则确定入口流量出现异常;或者,若当前周期的入口流量中预设第二类型的指标值与历史周期的入口流量中所述第二类型的指标值的差异情况超过预设的差异阈值,则确定入口流量出现异常;或者,若当前周期的入口流量中预设第三类型的指标值处于异常范围且与历史周期的入口流量中所述第三类型的指标值的差异情况超过预设的差异阈值,则确定入口流量出现异常。
更进一步地,输出单元605可以在输出所述异常信息的界面上展现场景配置组件和/或白名单配置组件;若所述场景配置组件被触发,则展现场景配置界面;若所述白名单配置组件被触发,则展现白名单配置界面;
配置单元606,被配置为获取用户在所述场景配置界面上针对所述被测对象所对应的场景信息配置的监测周期;在后续流量监测中依据所述监测周期执行所述对当前周期内待测对象的入口流量进行汇总和解析的处理;获取用户在白名单配置界面上针对所述被测对象所配置的白名单;后续流量监测中无需针对白名单中的字段名进行所述统计分析的处理。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
另外,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
以及一种电子设备,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
其中,图7示例性的展示出了电子设备的架构,具体可以包括处理器710,视频显示适配器711,磁盘驱动器712,输入/输出接口713,网络接口714,以及存储器720。上述处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,与存储器720之间可以通过通信总线730进行通信连接。
其中,处理器710可以采用通用的CPU、微处理器、应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器720可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器720可以存储用于控制电子设备700运行的操作系统721,用于控制电子设备700的低级别操作的基本输入输出系统(BIOS)722。另外,还可以存储网页浏览器723,数据存储管理系统724,以及流量监测装置725等等。上述流量监测装置725就可以是本申请实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器720中,并由处理器710来调用执行。
输入/输出接口713用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口714用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线730包括一通路,在设备的各个组件(例如处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,与存储器720)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,存储器720,总线730等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本申请的限制。

Claims (11)

1.一种流量监测方法,其特征在于,该方法包括:
从数据仓库获取当前周期内待测对象的入口流量;
对所述当前周期内待测对象的入口流量进行汇总和解析,得到所述入口流量的成分信息,所述成分信息包括字段名和字段值;
对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况;
将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对,依据比对结果确定并输出入口流量的异常信息。
2.根据权利要求1所述的方法,其特征在于,从数据仓库获取当前周期内待测对象的入口流量包括:
依据预设的监测周期,从数据仓库中获取预先订阅的各监测周期内待测对象的入口流量,将指定监测周期作为所述当前周期;其中,所述待测对象的入口流量是由所述待测对象的日志代理传输并存储于所述数据仓库的。
3.根据权利要求1所述的方法,其特征在于,对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况包括:
对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量中体现成分分布的各指标值;
其中,所述指标值包括字段名的数量、字段名的种类、字段名和字段值组合的数量、两个以上的所述组合之间的关联关系、字段空值率、字段缺失率以及字段值取值类型中的至少一种。
4.根据权利要求3所述的方法,其特征在于,两个以上的所述组合之间的关联关系是数据挖掘模型对多个历史周期的入口流量进行挖掘得到的。
5.根据权利要求3所述的方法,其特征在于,该方法还包括:
若无法解析得到字段的字段值取值类型,则统计该字段在当前周期和/或历史周期中的取值数量,若取值数量小于或等于预设的数量阈值,则确定该字段的字段值类型为枚举型。
6.根据权利要求1所述的方法,其特征在于,所述历史周期包括当前周期的上N个非异常的监测周期,所述N为预设的正整数。
7.根据权利要求1所述的方法,其特征在于,依据比对结果确定入口流量的异常信息包括:
若当前周期的入口流量中预设第一类型的指标值与历史周期的入口流量中所述第一类型的指标值不同,则确定入口流量出现异常;或者,
若当前周期的入口流量中预设第二类型的指标值与历史周期的入口流量中所述第二类型的指标值的差异情况超过预设的差异阈值,则确定入口流量出现异常;或者,
若当前周期的入口流量中预设第三类型的指标值处于异常范围且与历史周期的入口流量中所述第三类型的指标值的差异情况超过预设的差异阈值,则确定入口流量出现异常。
8.根据权利要求1所述的方法,其特征在于,该方法还包括:在输出所述异常信息的界面上展现场景配置组件和/或白名单配置组件;
若所述场景配置组件被触发,则展现场景配置界面,获取用户针对所述被测对象所对应的场景信息配置的监测周期;在后续流量监测中依据所述监测周期执行所述对当前周期内待测对象的入口流量进行汇总和解析的处理;
若所述白名单配置组件被触发,则展现白名单配置界面,获取用户针对所述被测对象所配置的白名单;后续流量监测中无需针对白名单中的字段名进行所述统计分析的处理。
9.一种流量监测装置,其特征在于,该装置包括:
获取单元,被配置为从数据仓库获取当前周期内待测对象的入口流量;
解析单元,被配置为对当前周期内待测对象的入口流量进行汇总和解析,得到所述入口流量的成分信息,所述成分信息包括字段名和字段值;
分析单元,被配置为对所述入口流量的成分信息进行统计分析,得到当前周期的入口流量的成分分布状况;
比对单元,被配置为将当前周期的入口流量的成分分布状况与历史周期的入口流量的成分分布状况进行比对,依据比对结果确定入口流量的异常信息;
输出单元,被配置为输出所述异常信息。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1至8中任一项所述的方法的步骤。
CN202210646970.3A 2022-06-09 2022-06-09 流量监测方法及装置 Pending CN115221022A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210646970.3A CN115221022A (zh) 2022-06-09 2022-06-09 流量监测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210646970.3A CN115221022A (zh) 2022-06-09 2022-06-09 流量监测方法及装置

Publications (1)

Publication Number Publication Date
CN115221022A true CN115221022A (zh) 2022-10-21

Family

ID=83608770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210646970.3A Pending CN115221022A (zh) 2022-06-09 2022-06-09 流量监测方法及装置

Country Status (1)

Country Link
CN (1) CN115221022A (zh)

Similar Documents

Publication Publication Date Title
US20160371138A1 (en) Anomaly detection service
CN110162451B (zh) 一种性能分析方法、装置、服务器及存储介质
CN110362473B (zh) 测试环境的优化方法及装置、存储介质、终端
CN114185708A (zh) 基于分布式链路追踪的数据分析方法、装置和电子设备
US11799748B2 (en) Mitigating failure in request handling
CN111240876B (zh) 微服务的故障定位方法、装置、存储介质及终端
US20090228789A1 (en) System and methods for collecting software development feedback
CN112152823B (zh) 网站运行错误监控方法、装置及计算机存储介质
CN110674034A (zh) 一种健康检查方法、装置及电子设备和存储介质
CN108197002B (zh) 移动设备无埋点数据统计方法、系统、终端及介质
CN114371974A (zh) 埋点数据校验方法及电子设备
CN112948224A (zh) 一种数据处理方法、装置、终端及存储介质
CN113849330A (zh) 一种监测、分析应用故障原因的方法、设备及存储介质
CN111143216A (zh) 质量报告的生成方法、装置、设备及计算机可读存储介质
CN115221022A (zh) 流量监测方法及装置
CN114637685A (zh) 银行系统中应用程序的性能测试方法、装置、设备和介质
CN115904883A (zh) 一种rpa流程执行可视化异常监控方法、装置及介质
CN114968696A (zh) 指标监控方法、电子设备及芯片系统
CN114064757A (zh) 应用程序的优化方法、装置、设备及介质
CN113961565A (zh) 数据检测方法、系统、计算机系统及可读存储介质
CN111143325B (zh) 一种数据采集的监测方法、监测装置及可读存储介质
CN111427874B (zh) 医疗数据生产的质控方法、装置以及电子设备
CN113568769A (zh) 异常处理方法、装置、服务器及存储介质
CN114518984A (zh) 一种埋点信息的上报方法、装置、存储介质及终端设备
CN112131276A (zh) 一种数据统计的方法、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination