CN115017215A - 数据处理方法及计算设备 - Google Patents

数据处理方法及计算设备 Download PDF

Info

Publication number
CN115017215A
CN115017215A CN202210938420.9A CN202210938420A CN115017215A CN 115017215 A CN115017215 A CN 115017215A CN 202210938420 A CN202210938420 A CN 202210938420A CN 115017215 A CN115017215 A CN 115017215A
Authority
CN
China
Prior art keywords
data
quantile
sequence
processed
value
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.)
Granted
Application number
CN202210938420.9A
Other languages
English (en)
Other versions
CN115017215B (zh
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 CN202210938420.9A priority Critical patent/CN115017215B/zh
Publication of CN115017215A publication Critical patent/CN115017215A/zh
Application granted granted Critical
Publication of CN115017215B publication Critical patent/CN115017215B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Fuzzy Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Operations Research (AREA)
  • Computational Linguistics (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)

Abstract

本申请实施例提供一种数据处理方法、装置及移动终端。其中,该方法包括:获取检测对象的至少两个数据集对应的分位序列;其中,所述分位序列用以描述其对应数据集的概率分布,包括多个分位项;所述分位项包括分位点及分位值;将所述至少两个数据集对应的分位序列进行合并处理,以确定所述分位序列中的分位值,在所述至少两个数据集构成的数据总集中对应的分位点;根据合并结果,获得目标分位序列;其中,所述目标分位序列用以指示对所述检测对象进行处理。本申请实施例提供的技术方案提高了数据处理效率。

Description

数据处理方法及计算设备
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种数据处理方法及计算设备。
背景技术
一些大型计算系统,通常会涉及多种数据对象,例如请求数量、报警次数、等待时长等指标。在系统运行中可能会不断生成针对数据对象对应的统计数据,这些数据可以衡量数据对象是否存在异常或者对数据对象进行预测分析等。
目前,对数据对象进行异常检测或者对数据对象进行预测分析等处理,通常通过对数据对象对应的大量数据进行统计分析,从而确定数据分布规律等,进而基于统计结果来实现对数据对象的处理。然而由于数据对象对应的数据数量通常可以达到上百万甚至上亿,对数据对象进行统计处理将非常耗时,从而会影响数据处理效率。
发明内容
本申请实施例提供一种数据处理方法、装置及移动终端,用以解决现有技术中对数据对象进行统计处理较为耗时,影响数据处理效率的技术问题。
第一方面,本申请实施例中提供了一种数据处理方法,包括:
获取检测对象的至少两个数据集对应的分位序列;其中,所述分位序列用以描述其对应数据集的概率分布,包括分位项;所述分位项包括分位点及分位值;
将所述至少两个数据集对应的分位序列进行合并处理,以确定所述分位序列中的分位值,在所述至少两个数据集构成的数据总集中对应的分位点;
根据合并结果,获得目标分位序列;其中,所述目标分位序列用以指示对所述检测对象进行处理。
第二方面,本申请实施例中提供了一种数据处理方法,包括:
获取不同处理端发送的至少两个目标分位序列;
将所述至少两个目标分位序列进行合并处理,以确定所述至少两个目标分位序列中的不同分位值,在所述至少两个目标分位序列所对应的数据总集中对应的分位点;
根据合并结果,获得所述检测对象的特定分位序列;
根据所述特定分位序列,对所述检测对象进行异常检测。
第三方面,本申请实施例中提供了一种计算设备,包括存储组件、显示组件以及处理组件;所述存储组件存储一条或多条计算机程序指令;所述一条或多条计算机程序指令以供所述处理组件调用并执行上述第一方面或者第二方面所述的数据处理方法。
第四方面,本申请实施例中提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被计算机执行时可以实现上述第一方面或者第二方面所述的数据处理方法。
本申请实施例通过获取检测对象的至少两个数据集对应的分位序列;其中,所述分位序列用以描述其对应数据集的概率分布,包括多个分位项;所述分位项由分位点及分位值构成;将所述至少两个数据集对应的分位序列进行合并处理,以确定分位序列中的分位值,在所述至少两个数据集构成的数据总集中对应的分位点;根据合并结果,获得目标分位序列;其中,所述目标分位序列用以指示对所述检测对象进行处理。本申请实施例提供的技术方案通过对至少两个数据集的分位序列进行合并以得到目标分位序列,无需对至少两个数据集重新进行统计处理,大大降低了统计处理的耗时,提高了数据处理效率。
本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请实施例的技术方案应用于其中的一种分布式系统的结构示意图;
图2示出了本申请提供的一种数据处理方法一个实施例的流程示意图;
图3示出了本申请提供的一种数据处理方法一个实施例的场景示意图;
图4示出了本申请提供的一种生成方法一个实施例的流程示意图;
图5示出了本申请提供的一种数据处理方法又一个实施例的流程图;
图6示出了本申请提供的一种数据处理方法又一个实施例的场景示意图;
图7示出了本申请提供的数据处理装置一个实施例的结构示意图;
图8示出了本申请提供的数据处理装置一个实施例的结构示意图;
图9示出了与本申请提供的数据处理装置对应的计算设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的技术方案可以适用于对计算系统的检测对象或计算系统进行异常检测、数据预测、数据计算等数据处理的应用场景中,通过高效处理方式,实现数据统计分析,确定数据分布规律,从而提高数据处理效率。
本申请的一些实施例中提供的数据处理方法可以由独立服务端执行。该独立服务端可以采集或获取计算系统中检测对象的数据集,并确定数据集的分位序列,进而执行后续的分位序列合并操作等。
当然,在另一些实施例中提供的数据处理方法可以由分布式系统中的处理端或控制端,或者处理端以及控制端共同执行,在分布式系统中,控制端即可以具体是指中心节点,处理端可以是指计算节点,如图1中所示,示出了本申请实施例的技术方案可以应用于其中的一种分布式系统的结构示意图,该分布式系统可以由控制端101以及多个处理端102构成。其中,每个处理端102可以分别对计算系统产出的检测对象的不同数据集,执行本申请实施例中涉及的分位序列合并操作,并将执行结果发送至控制端101,由控制端101汇总多个处理端的执行结果,以用于对检测对象或计算系统进行相应处理。
其中,上述独立服务端,或者分布式系统中的处理端或控制端均可以实现为提供各种服务的服务器,或者可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。服务器也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。
应该理解,图1中的处理端的数目仅仅是示意性的。根据实际需要,可以具有任意数目的处理端。
以下对本申请实施例的技术方案的实现细节进行详细阐述。
图2示出了本申请提供的一种数据处理方法一个实施例的流程示意图。该方法可以包括以下几个步骤:
201、获取检测对象的至少两个数据集对应的分位序列。
其中,分位序列用以描述其对应数据集的概率分布,可以表示数据集的数据分布规律,其包括多个分位项;分位项包括分位点及分位值。分位点表示数据集中小于分位值的所有数据值出现的概率之和,也即累积分布概率,例如分位项可以表示为(p,q),p表示分位点,q表示分位值,对于分位项(0.9,50),表示数据集中存在90%的数据值小于50。该分位序列可以表示为数据集的累积分布函数。可选地,分位点反映的是数据所处位置信息,取值可以为0~1,分位值表示的是分位点所对应的数据大小。
其中,每个数据集对应一个分位序列,从而至少两个数据集对应至少两个分位序列。
其中,数据集包括多个数据值,该多个数据值对该检测对象进行采集获得;该数据集可以为由该多个数据值构成的无序序列。数据集可以由检测对象在一段时间内产出的数据值构成。
其中,检测对象可以是指计算系统中的检测指标,例如请求数量、报警次数、等待时长等。当然,也可以是指计算系统或者计算系统中的计算节点或者计算节点中某个软件模型等,比如检测对象可以是计数器、仪表盘等,可以产出数据值,本申请对此不进行具体限定。
每个数据集的分位序列可以采用传统方式,通过对数据集中的数据值按照从小到大的顺序排列之后,根据排列顺序确定分位点及分位值,当然,也可以采用其它更为高效的方式实现,以进一步提高数据处理效率,在下文实施例中会详细进行介绍。
202、将至少两个数据集对应的分位序列进行合并处理,以确定分位序列中的不同分位值,在至少两个数据集构成的数据总集中对应的分位点。
其中,分布序列表示数据集的累积分布概率时,可以认为相邻的两个分位点近似于线性关系,可以基于该线性关系,来确定不同分位值在数据总集中对应的分位点,可选地,可以采用线性插值方法,来确定不同分位值,在数据总集中对应的分位点。
203、根据合并结果,获得目标分位序列。
合并结果中包括重新确定的不同分位值对应的分位点,从而可以重新获得多个分位项,基于重新获得的多个分位项,即可以获得目标分位序列。
其中,目标分位序列用以指示对检测对象进行处理,对检测对象的处理方法可以有多种实现方式,在下文实施例中会详细进行介绍。
本实施例中,基于检测对象的至少两个数据集对应的分位序列,在需要对至少两个数据集构成的数据总集进行统计处理时,只需通过将至少两个数据集对应的分位序列进行合并处理,以确定分位序列中的不同分位值,在至少两个数据集构成的数据总集中对应的分位点,根据合并结果,即可以获得数据总集的目标分位序列;无需对数据总集所包含的大量数据值进行统计处理,大大降低了统计处理的耗时,提高了数据处理效率,且可以仅存储分位序列,而无需存储大量的数据集,即可以实现对数据总集的统计处理,从而还可以降低内存消耗。
在一个可选方式中,图1所示实施例的技术方案应用于分布式系统中时,可以由控制端执行,该获取检测对象的至少两个数据集对应的分位序列可以包括:
从不同处理端获取检测对象的至少两个分位序列。
其中,每个分位序列对应一个数据集,每个处理端可以具体按照如下方式生成任一个数据集所对应的分位序列:
确定检测对象对应的至少两个数据子集分别对应的分位序列;其中,分位序列用以描述其对应数据子集的概率分布,包括多个分位项;分位项由分位点及分位值构成;
将至少两个数据子集对应的至少两个分位序列进行合并处理,以确定至少两个分位序列中的不同分位值,在至少两个数据子集构成的数据集中对应的分位点;
根据合并结果,获得该数据集对应的分位序列。
在分布式系统中,每个处理端可以采集检测对象的数据子集,并生成对应的分位序列,并将分位序列发送给控制端,不同处理端可以采集在不同时间段或者同一时间段对检测对象进行数据采集,并生成各自对应的分位序列,再交由控制端进行汇总处理即可,采用分布式处理方式,可以提高计算处理能力,进一步提高数据处理效率。
其中,将至少两个数据子集对应的至少两个分位序列合并操作,与将至少两个数据集对应的至少两个分位序列的合并操作的具体实现方式相同,仅是所处理的分位序列不同,具体实现可以详见针对至少两个数据集对应的至少两个分位序列的合并操作,此处不再赘述。
同样,根据合并结果,获得该数据集对应的分位序列,与目标分位序列的获得方式也相同,可以详见目标分位序列的具体获得方式,此处不再赘述。
在另一个可选方式中,图1所示的技术方案可以由处理端执行,则获得目标分位序列之后,该方法还可以包括:将目标分位序列及至少两个数据集对应的数据总量发送至控制端;其中,控制端用以基于不同处理端对应的至少两个目标分位序列,对检测对象进行处理。
其中,控制端对检测对象进行的处理例如可以包括:将至少两个目标分位序列进行合并处理,以确定至少两个目标分位序列中的不同分位值,在至少两个目标分位序列所对应的数据总集中分别对应的分位点,并根据合并结果,获得检测对象的特定分位序列。该特定分位序列用于对检测对象进行异常检测等。
其中,将至少两个目标分位序列进行合并处理,与将至少两个数据集对应的至少两个分位序列的合并操作的具体实现方式相同,仅是所处理的分位序列不同,具体实现可以详见针对至少两个数据集对应的至少两个分位序列的合并操作,此处不再赘述。以及根据合并结果,获得检测对象的特定分位序列,与目标分位序列的获得方式也相同,可以详见目标分位序列的具体获得方式,此处也不再赘述。
采用分布式处理方式,可以提高计算处理能力,进一步提高数据处理效率。
一些实施例中,处理端可以负责采集检测对象的一系列数据,因此,获取检测对象的至少两个数据集分别对应的分位序列可以包括:
获取当前采集的检测对象对应的第一数据集,并确定第一数据集对应的第一分位序列;获取保存的检测对象对应的第二分位序列;将第一分位序列以及第二分位序列作为检测对象对应的至少两个分位序列。
此外,根据合并结果,获得目标分位序列之后,该方法还可以包括:利用目标分位序列更新第二分位序列。
也即第二分位序列可以是历史计算获得目标分位序列,意即历史累积获得的数据总集对应的分位序列。
通过将当前采集的第一数据集的第一分位序列,与历史累积获得的数据总集的第二分位序列,进行合并处理,即可以获得当前累积获得的数据总集对应的目标分位序列,进而基于该目标分位序列即可以对检测对象处理。采用在线算法模式实现了对检测对象的统计处理,降低了处理复杂性,且无需在系统中保存多次采集的数据集,仅需保存累积生成的目标分位序列即可实现统计处理,降低了内存消耗。
作为一种可选的实施方式,将所述至少两个数据集对应的分位序列进行合并处理,以确定所述分位序列中的分位值,在所述至少两个数据集构成的数据总集中对应的分位点包括:
按照至少两个分位序列中的不同分位值从小到大的顺序,选择任一个分位值执行如下合并操作:计算至少两个数据集在分位值及其前一个分位值构成区间上的数据分布数量;根据数据分布数量以及至少两个数据集对应的数据总量,确定至少两个数据集分别在区间上的分布概率;基于分布概率及前一个分位值对应的分位点,累积获得分位值对应的分位点。
在进行分位序列的合并之前,还可以在分位序列中选取至少一个分位点计算对应的分位值,或者选取至少一个分位值,计算对应的分位点,以确定对应的分位项,以更新分位序列。
其中,可以采用线性插值方法,计算至少两个数据集在分位值及其前一个分位值构成区间上的数据分布数量。
也即,可以是把至少两个分位序列中的分位项放在一起,按照分位值的大小从小到大排列,依次选择一个分位项执行如下合并操作:
根据所选择的分位项中的分位值,在每一个分位序列中找到由两个分位项所对应的分位值所确定的一个区间,该分位值落在该区间范围内,该区间有分位值的上界和下界,有分位点的上界和下界,分位点和分位值的上界和下界构成一条线段,可以通过线性插值的方法,计算从上一次选择的分位值和当前选择的分位值之间的概率;
把从每一个分位序列中所计算的前后两个分位值之间的概率,按照对应分位序列的样本大小,进行加权求和,然后在前一个分位值的分位点的基础上累加起来,得到在新的合并的分位序列中的对应分位值的分位点;第一个个分位值的分位点从0开始累加;
当所有分位序列的所有分位项都遍历完成后,得到一个新的分位序列,新的分位序列包含了由各个原始分位序列中的分位值,分位值对应的分位点则是重新计算得到的。
为了方便理解,下面以两个数据集为例,结合图3所示的示意图,对该合并操作进行详细说明:
假设分位序列中的分位点包括最小值(0)、第 1 个四分位数(0.25)、中位数(0.5)、第3个四分位数(0.75)和最大值(1),假设两个数据集中的第一数据集对应第一分位序列,第二数据集对应第二分位序列,第一数据集假设有3000000个数据值,第二数据值假设有2000000个数据值。其中,第一分位序列假设包括的多个分位项为(0.00,10),(0.25,40),(0.50,75),(0.75,110),(1.00,130),第二分位序列假设包括的多个分位项为(0.00,20),(0.25,50),(0.50,70),(0.75,100),(1.00,140)。
按照两个分位序列中分位值从小到大的顺序,如图3所示的排列顺序,第一个分位值为10,其为第一数据集的最小值,也是第一数据集和第二数据集构成的数据总集的最小值,第二数据集在该分布值未存在数据分布数量,因此可以获得第一个分位项(0.00,10)。
之后,第二个分位值为20,需要计算两个数据集中有多少数据值落在区间 [10,20),可以基于线性插值方法来估计第一数据集中落在这个区间内的数据分布数量。结合图3,可知,(0.0, 10) 和 (0.25, 40) 之间的线段表示在第一数据集中数据值在10-40的区间内的数据分布数量占第一数据集总量的25%,根据线性插值方法,可以计算获得第一数据集中在[10, 20)的数据分布数量,也即((20-10)×(0.25-0.0))/(40-10)×3000000 =250000。第二数据集在该[10, 20)区间没有数据分布数量,因此,可以计算获得数据总集该[10, 20)区间的分位概率为:250000/5000000=0.05,累加前一个分位值10的分位点0,则可以获得第二个分位项(0.05,20)。
接下来,计算第三个分位值40,则需要计算两个数据集中有多少数据值落在区间[20,40),参照上述计算方式, 第一数据集在[20,40)的数据分布数量为:((40-20)×(0.25-0.0))/(40-10)× 3000000 = 500000;第二数据集在在[20,40)的数据分布数量为:((40-20)×(0.25-0.0))/(50-20)×2000000=333333.33。第一数据集和第二数据即构成的数据总集在[20,40)的数据分布数量即为:500000 + 333333.33 = 833333.33,则数据总集该[20, 40)区间上的分位概率为:833333.33/5,000,000=0.16667,累加前一个分位值20的分位点0.05,则可以计算获得第三个分位值对应的分位点为:0.16667+0.05=0.21667,则第三个分位项为(0.21667,40)。
依次类推,即可以计算获得不同分位值分别对应的分位点,此处不再穷举描述,最终获得的合并结果中的多个分位项包括:(0.0,10),(0.05,20),(0.21667,40),(0.29286,50),(0.47857,70),(0.51667,75),(0.70714,100),(0.775,110),(0.975,130) 和 (1.0,140)。
一些实施例中,按照至少两个分位序列中的不同分位值从小到大的顺序,选取任一个分位值可以包括:从优先级队列中选择最小分位值以执行上述合并操作;
则该方法还可以包括:从至少两个分位序列对应的未处理分位项中,将最小分位值对应的分位项,保存至优先级队列中;在任一个分位值对应的合并操作执行结束,从优先级队列中删除该分位值对应的分位项,并从该分位值所在分位序列的未处理分位项中,选择最小分位值对应的分位项,保存至优先级队列中以更新优先级队列。
也即,可以首先创建优先级队列,通过优先级队列方式依次选择分位值进行计算,如图3中所示例子,首先,第一分位序列的(0.0,10)和第二分位序列的(0.0,20)放入优先级队列中,选择最小分位值10执行合并操作,之后,可以将分位项(0.0,10)从优先级队列中删除,再从其所在第一分位序列的未处理分位项中选择最小分位值对应的分位项即(0.25,40)放入优先级队列中,再继续才从优先级队列中选择最小分位值也即20以执行上述合并操作,依次类推。优先级队列每一次更新,均会触发执行从优先级队列中选择最小分位值以执行上述合并操作直至优先级队列为空。
此外,也可以是将把所有的分位序列的所有的分位项放到一个优先级队列中,优先级队列按照分位项的分位值的大小进行排列,依次从优先级队列中选择最小分位值以执行上述合并操作。
本申请实施例中,利用目标分位序列可以进行多种处理操作,例如可以基于目标分位序列获取想要的分位点对应的分位置或者利用目标分为序列进行检测对象的数据预测或者对检测对象进行异常检测等。
作为一种可选方式,获得目标分位序列之后,该方法还可以还包括:根据目标分位序列中的不同分位项,计算检测对象对应的统计数据;以及根据统计数据,对检测对象进行异常检测。
在确定出不同分位项之后,可以基于不同分位项确定出该目标序列对应的统计数据,比如,平均值,分位值,标准差,修剪后的平均值等等。可以基于统计数据确定出检测对象对应的阈值,比如设置阈值为平均值±3*标准差,在确定出检测对象的分位置超出这一范围,可以认为该检测对象出现异常,比如检测对象为请求的等待时间,计算出阈值为10-20ms。如果确定出某一请求的等待时间为25ms,则认为该请求异常。
其中,平均值可以按照如下方式计算获得:
Figure 186260DEST_PATH_IMAGE001
其中,
Figure 572242DEST_PATH_IMAGE002
表示平均值,意即检测对象对应数据总集的平均值,
Figure 820821DEST_PATH_IMAGE003
为不同分位项对 应的分位值,
Figure 684872DEST_PATH_IMAGE004
表示对应分位点。
标准差可以按照如下方式计算获得:
Figure 968086DEST_PATH_IMAGE005
其中,
Figure 56127DEST_PATH_IMAGE006
表示标准差,意即检测对象对应数据总集的平均值,
Figure 792002DEST_PATH_IMAGE002
为表示平均 值,
Figure 194165DEST_PATH_IMAGE003
为不同分位项对应的分位值,
Figure 128623DEST_PATH_IMAGE004
表示对应分位点。
修剪后的平均值可以按照如下方式计算获得:
Figure 325249DEST_PATH_IMAGE007
其中,
Figure 548420DEST_PATH_IMAGE008
表示修剪后的平均值,
Figure 551011DEST_PATH_IMAGE003
为不同分位项对应的分位值,
Figure 277658DEST_PATH_IMAGE004
表示 对应分位点,t为序列的修剪位置,即第t个分位值之前的分位值均被删除。
作为另一种可选方式,获得目标分位序列之后,该方法还可以还包括:基于目标分位序列,预测检测对象对应的预测序列。
在确定出目标分位序列之后,还可以是利用序列预测模型预测出针对检测对象的预测序列。该序列预测模型可以采用机器学习方式预先训练获得。
作为又一种可选方式,获得目标分位序列之后,该方法还可以还包括:根据目标分位序列中相邻分位点的线性关系,计算任一分位点对应的分位值或者计算任一分位值对应的分位点。可以具体是采用线性插值方法,来计算任一分位点对应的分位值或者计算任一分位值对应的分位点。
作为又一种可选方式,获得目标分位序列之后,该方法还可以还包括:联合多个检测对象分别对应的目标分位序列,对多个检测对象对应的计算系统进行异常检测。
可以理解的是,在确定出多个检测对象分别对应的目标分位序列之后,可以联合多个目标分位序列,对该计算系统进行异常检测。具体可以是联合多个目标分位序列分别计算获得的统计数据,对该计算系统进行异常检测。
一些实施例中,根据目标分位序列中相邻分位点的线性关系,计算任一分位点对应的分位值或者计算任一分位值对应的分位点可以包括:
从目标分位序列中查找大于指定分位点的第一分位点以及小于指定分位点的第二分位点;以及基于目标分位序列中相邻分位点的线性关系,利用第一分位点对应的分位值以及第二分位点对应的分位值,计算指定分位点对应的分位值;
或者,从目标分位序列中查找大于指定分位值的第一分位值以及小于指定分位点的第二分位值;以及基于目标分位序列中相邻分位点的线性关系,利用第一分位值对应的分位点以及第二分位值对应的分位点,计算指定分位值对应的分位点。
其中,针对计算任一分位点对应的分位值,基于线性插值方法,可以具体采用以下分位值计算公式计算获得:
q=qk+(p-pk)/( pk+1-pk)*(qk+1-qk);
其中,q为任一分位点p对应的分位值,在上述实现方式,p即为指定分位点,qk为第一分位值,qk+1为第二分位值, pk为第一分位值对应的分位点,pk+1为第二分位值对应的分位点。
针对计算任一分位值对应的分位点,基于线性插值方法,可以具体采用以下分位点计算公式计算获得:
p=pk+(q-qk)/( qk+1-qk)*(pk+1-pk);
其中,p为任一分位值q对应的分位点,在上述实现方式,q即为指定分位值,qk为第一分位值,qk+1为第二分位值, pk为第一分位值对应的分位点,pk+1为第二分位值对应的分位点。
为了进一步提高计算效率,针对计算指定分位点对应的分位值,可以先确定目标分位序列中的中位点对应的分位项,其中,中位点为合并后的目标分位序列中的多个分位项中按照分位点大小顺序排列之后处于中间位置的一个分位点,进而比较指定分位点和中位点,若指定分位点小于中位点,则可以在目标分位序列中的多个分位项中分位点小于中位点的子分位序列中继续查找中位点,并与指定分位点进行比较,根据比较结果进行子序列划分,直至查找获得唯一一个查找大于指定分位点的第一分位点以及小于指定分位点的第二分位点;同样,若指定分位点大于中位点,则在目标分位序列中分位点大于中位点的子分位序列中继续查找、比较以及划分等,直至查找获得唯一一个查找大于指定分位点的第一分位点以及小于指定分位点的第二分位点。
此外,也可以采用二进制搜索算法不断缩小查找范围,直至查找获得唯一大于指定分位点的第一分位点以及唯一小于指定分位点的第二分位点。
同样,针对计算指定分位值对应的分位点,可以先确定目标分位序列中的中位数对应的分位项,其中,中位数为合并后的目标分位序列中的多个分位项中按照分位值大小顺序排列之后处于中间位置的至少一个分位值,进而比较指定分位值和中位数,若指定分位值小于中位数,则可以在目标分位序列中的多个分位项中分位值小于中位数的子分位序列中继续查找中位数,并与指定分位值进行比较,根据比较结果进行子序列划分,直至查找获得唯一一个查找大于指定分位值的第一分位值以及小于指定分位值的第二分位值;同样,若指定分位值大于中位数,则在目标分位序列中分位值大于中位数的子分位序列中继续查找、比较以及划分等,直至查找获得唯一一个大于指定分位值的第一分位值以及小于指定分位值的第二分位值。
此外,也可以采用二进制搜索算法不断缩小查找范围,直至查找获得唯一大于指定分位值的第一分位值以及唯一小于指定分位值的第二分位值。
一些实施例中,该根据合并结果,获得目标分位序列可以包括:根据合并结果中不同分位值对应的分位点,生成候选序列;根据候选序列中相邻分位点的线性关系,计算预先设定的多个目标分位点分别对应的分位值;由多个目标分位点及其分别对应的数据值,构成目标分位序列。
其中,该多个目标分位点可以根据实际需求确定,因此,一些实施例中,该方法还可以包括:根据对检测对象的检测要求,确定多个目标分位点。
实际应用中,存在对某些特殊分位点的分位值的计算需求,比如为了给用户提供更好的服务级别协议(Service Level Agreement,简称SLA),除了可以定义一系列具有 5%等间距的分位点,比如0%、5%、10%、...、95%、100% 的分位点来描述概率分布之外,还会定义两端的极端分位点来描述概率分布比如0.0001%、0.001%、0.01%、0.1%、..., 98%、99%、99.9%、99.99%、99.999%、 99.9999%等等。为了确定出定义的目标分位点对应的分位值,可以在多个合并后的分位项中确定出与任一目标分位点相邻的两个分位点对应的分位项,进而,根据两个分位项的线性关系,确定出目标分位点对应的分位值,进一步确定出目标分位点对应的分位项。
进一步的,基于重新定义的多个目标分位点对应的分位项,构成目标分位序列。
此外,在异常检测场景中,更加关心最大和最小的分位点,中间部分可以相对的关注程度比较小,在分位点数组的两端划分得更加细致,因此,该多个目标分位点例如可以包括:0, 0.000000001, 0.00000001, 0.0000001, 0.000001, 0.00001, 0.0001, 0.001,0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 0.09, 0.10, 0.11, 0.12, 0.13,0.14, 0.15, 0.16, 0.17, 0.18, 0.19, 0.20, 0.25, 0.30, 0.35, 0.40, 0.45, 0.50,0.55, 0.60, 0.65, 0.70, 0.75, 0.80, 0.81, 0.82, 0.83, 0.84, 0.85, 0.86, 0.87,0.88, 0.89, 0.90, 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 0.97, 0.98, 0.99,0.999, 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999, 0.999999999,以及1.0。需要说明的是,分位点的选择并不限定与此,上述仅仅作为推荐的常用的多个目标分位点,用户可以按照业务精细化控制的要求选择任意的分位点列表。
通过多个目标分位点,可以对数据集进行计算对应的分位序列和对合并后变长的分位序列重新划分和缩短等。其中,根据候选序列中相邻分位点的线性关系,计算预先设定的多个目标分位点分别对应的分位值可以包括:针对任一个目标分位点,从候选序列中查找大于该目标分位点的第一分位点以及小于该目标分位点的第二分位点;以及基于候选序列中相邻分位点近似的线性关系,利用第一分位点对应的分位值以及第二分位点对应的分位值,计算目标分位点对应的分位值;具体可以采用线性插值方法,计算目标分位点对应的分位值。
仍以图3所对应的例子为例,合并结果获得的多个分位项包括:(0.0, 10),(0.05, 20), (0.21667, 40), (0.29286, 50), (0.47857, 70) 、(0.51667, 75)、(0.70714, 100)、(0.775, 110)、(0.975, 130) 和 (1.0, 140)。
假设目标分位点包括99.9999% ,则可以查找获得对应的第一分位点为1,第二分位点为0.975,可以按照上述分位值计算方式:q=qk+(p-pk)/( pk+1-pk)*(qk+1-qk),计算获得该99.9999%的分位值为:136.6。
一些实施例中,数据集对应的分位序列可以预先生成,针对任一个数据集,例如可以按照如图4所示的生成方法,生成分位序列,该方法可以包括:
401、确定预先设定的多个分位点在数据集中分别对应的至少一个数据位置;
多个分位点可以是预先设定,可以根据实际情况灵活设定。
其中,每个预先设定的分位点在数据集中对应的数据位置可以由分位点和数据集的数据数量相乘来确定。
402、确定任一个分位点对应的至少一个数据位置分别对应的数据值。
403、基于任一个分位点对应的至少一个数据位置分别对应的数据值,计算获得该分位点对应的分位值。
404、由多个分位点以及多个分位点分别对应的分位值,生成分位序列。
每个分位点及其对应的分位值可以组成分位项,从而得到多个分位项,由该多个分位项即构成分位序列。
其中,确定预先设定的多个分位点在数据集中分别对应的至少一个数据位置可以包括:针对预先设定的任一个分位点,根据数据集中的数据数量及分位点,计算获得分位位置;在分位位置为整数情况下,将分位位置作为分位点对应的一个数据位置或者将分位位置对应的数据位置及该数据位置相邻的下一个数据位置作为分位点对应的两个数据位置;在分位位置为非整数情况下,将分位位置的向下取整值对应的数据位置以及与该数据位置相邻的下一个数据位置作为分位点对应的两个数据位置。
其中,分位位置可以具体由数据集的数据数量*分位点确定。计算获得的分位位置可能为整数或者非整数,为了方便处理,在整数或非整数情况下,均可以选择两个数据位置作为一个分位点所对应的数据位置。
可以根据公式t=n*pk,确定出分位位置t,其中,t表示分位位置,n为数据集的数据数量,pk为分位点,两个数据位置分别为i=[t],以及i+1。其中,[t]表示t的向下取整值,比如i=[4.5]=4。
作为一种可选实现方式,为了提高查找效率,确定任一个分位点对应的至少一个数据位置分别对应的数据值可以包括:针对任一个分位点对应的任一个数据位置,将数据集作为待处理序列;从待处理序列中选取基准值,以及从待处理序列的两端数据值开始,分别与基准值进行比较,并根据比较结果交换数据位置,以利用基准值将待处理序列划分为小于基准值的第一子集以及大于基准值的第二子集,并获得基准值对应的基准位置;若基准位置与该数据位置相同,将基准值确定为该数据位置对应的数据值;若基准位置与该数据位置不同,将第一子集或第二子集作为待处理序列,并返回执行从待处理序列中选取基准值的操作,直至获得与基准位置相同的数据位置。
其中,从待处理序列中选取的基准值通常为待处理序列中的最低位置对应的数据值,当然,也可以为最高位置对应的数据值等,本申请对此不进行具体限定。
其中,待处理序列的两端数据值即为最低位置对应的数据值以及最高位置对应的数据值。
一些实施例中,若基准位置与数据位置不同,将第一子集或第二子集作为待处理序列可以包括:若基准位置与数据位置不同,在数据位置小于基准位置情况下,将第一子集作为待处理序列;在数据位置大于基准位置情况下,将第二子集作为待处理序列。
其中,待处理序列的初始值即为数据集。从待处理序列中选取第一个分位值作为基准值,并从待处理序列的两端数据值开始,分别与基准值进行比较,可以是,首先从待处理序列的最高位置开始,依次选择数据值与基准值进行比较,直到选取到比基准值小的数据值,并交换数据值与基准值,获得基准值对应的第一位置,然后从待处理序列的最低位置开始,依次选取数据值与基准值进行比较,直到选取到比基准值大的数据值,交换数据值与基准值,获得基准值的第二位置。进一步从第二位置开始继续从高往低依次选取数据值与基准值进行比较,在确定出比基准值小的数据值,交换数据值与基准值,并用当前基准值的位置更新第一位置,进一步执行从最低位置开始选取数据值与基准值进行比较的过程,直到第一位置与第二位置相同,确定出基准值对应的基准位置,从而基于基准位置将待处理序列划分为小于基准值的第一子集以及大于基准值的第二子集。也即可以首先从待处理序列中选取第一个元素作为基准值,以及从待处理序列的两端数据值开始,分别与基准值进行比较,并根据比较结果确实是否将基准值和比较的数据值交换位置,直至待处理序列前后两端的数据指针相遇。
进一步的,将数据位置与基准值位置进行比较,若数据位置与基准值位置相同,则将基准值确定为数据位置对应的数据值,若基准位置与数据位置不同,将第一子集或第二子集作为待处理序列,并返回执行从待处理序列中选取基准值的操作,直至获得与基准位置相同的数据位置。
为了便于理解,举例说明上述确定任一个分位点对应的至少一个数据位置分别对应的数据值:假设数据集为(5,1,10,2,6),数据集的数据位置可以从0开始计算,最低位置为0,最高位置4,当然也可以从1开始,最低位置为1,最高位置为5,本申请对此不进行具体限定。假设任一个分位点对应的任一个数据位置为2,首先选取该数据集中最低位置对应的第一个数据值5为基准值,然后设置两个指针low和high,分别指向第一个数据值(最低位置数据值)和最后一个数据值(最高位置数据值),从指针high开始,将指针high所指向的数据值和基准数据值做比较,如果比基准值大,则指针high向前移动(向低位置移动),如果比基准数据值小,则把right所指向的数据值与基准数据值调换位置,在本例中,基准数据值为5,指针high指向的第一个数据值为6,比5大,则指针前移,指向2,比5小,则调换位置,形成新的序列(2,1,10,5,6);在利用指针high进行数据值位置的调换之后,我们开始切换指针left进行比较,如果比基准数据值小,则指针left向后移动(向高位置移动),如果比基准值大,则把left所指向的数据值与基准数据值调换位置,在本例中,指针left指向的第一个数据值2,比5小,则指针后移,进一步指向1,比5小,指针继续后移,进一步指向10,比5大,则调换位置,形成新的序列(2,1,5,10,6),直到指针high和指针left所指数据值一致,停止调换,在本例中,需要切换到指针high继续比较,此时,指针high指向数据值10,比5大,则指针前移,指向数据值5,与指针left所指数据值一致,则停止调换,则,对样本序列(5,1,10,2,6)进行上述比较过程得到的结果为(2,1,5,10,6),且由于指针high和指针low遍历了序列的各个数据值,因此,知道最终与基准数据值进行调换的位置,也就确定了基准位置。
实际应用中,以上过程可以用如下代码表示:
int Partition(double[] S, int low, int high) {
double pivotValue = S[low];//定义基准元素为序列的第一个元素;
while (low < high) {
while (S[high] > pivotValue && low < high) high--;//指针high所指的元素大于基准元素且指针1ow所指的元素在指针high所指元素之前,指针迁移;
S[low] = S[high];//直到指针high和指针left所指元素一致;
while (S[low] <= pivotValue && low < high) low++;//指针low所指的元素小于基准元素且指针1ow所指的元素在指针high所指元素之前,指针后移
S[high] = S[low];
}
int pivotPosition = low;
S[pivotPosition] = pivotValue;//在序列中转折点位置的元素为转折元素
return pivotPosition;//返回转折点位置。
}。
在确定基准位置h之后,可以对序列进行分割,参见上例,基准值为5,基于最终确定的基准位置,可以获得小于基准值的第一序列(2,1),以及大于基准值的第二序列(10,6);
之后,比较数据位置t和基准位置h的大小,如果t=h,则返回h对应的基准元素,如果t小于h,在第一序列寻找t,如果t大于h,则在第二序列寻找t。第一序列或第二序列又会最后作为待处理序列迭代执行上述操作直至获得t=h的基准位置和基准值。
实际应用中,以上过程可以用如下代码表示:
int FindKthPosition(double[] S, int low, int high, int j) {
int h = Partition(S, low, high);
if (h == j) return h;
if (j < h)
return FindKthPosition(S, low, h - 1, j);
else
return FindKthPosition(S, h + 1, high,j);
}
此外,为了进一步提高查找效率,降低查找复杂度等。作为另一种可选实现方式,确定任一个分位点对应的至少一个数据位置分别对应的数据值包括:
将多个分位点分别对应的至少一个数据位置,按照位置升序进行排列,并删除重复数据位置,以获得位置列表;
将数据集作为待处理序列,以及将位置列表作为待处理列表;
从待处理序列中选取基准值,以及从待处理序列的两端数据值开始,分别与基准值进行比较,并根据比较结果交换数据位置,以利用基准值将待处理序列划分为小于基准值的第一子集以及大于基准值的第二子集,并获得基准值对应的基准位置;
在待处理列表中查找是否存在与基准位置相同的数据位置;
若待处理列表存在与基准位置相同的数据位置,将第一子集或第二子集作为待处理序列,以及从待处理列表删除数据位置,并返回执行从待处理序列中选取基准值的操作;若待处理列表未存在与基准位置相同的数据位置,将第一子集或第二子集作为待处理序列,并返回执行从待处理序列中选取基准值的操作。
一些实施例中,将第一子集或第二子集作为待处理序列,以及从待处理列表删除数据位置可以包括:基于基准位置将待处理列表划分为小于该数据位置的第一子列表以及大于该数据位置的第二子列表;根据基准值与待处理序列的两端数据位置所对应数据值的关系,以及数据位置在待处理列表中的位置索引与待处理列表中的两端位置索引的关系,将第一子集或第二子集作为待处理序列,以及将第一子列表或第二子列表作为待处理列表,返回执行从待处理序列中选取下一基准值的操作。也即将第一子集或第二子集作为两个新的待处理序列之后,可以将位置列表从基准位置处也分裂为两个新的位置列表;对于两个新的待处理序列和两个新的位置列表,以递归的方式,依次分别把一个数据序列和一个位置列表作为待计算的参数,用同样的方法确定其中剩余的数据位置的数据值。
一些实施例中,根据基准值与待处理序列的两端数据位置所对应数据值的关系,以及数据位置在待处理列表中的位置索引与待处理列表中的两端位置索引的关系,将第一子集或第二子集作为待处理序列,以及将第一子列表或第二子列表作为待处理列表可以包括:若基准值大于待处理序列中最低数据位置对应的数据值,且数据位置的位置索引大于待处理列表中的最低位置索引,将第一子集作为待处理序列以及将第一列表作为待处理列表;若基准值小于待处理序列中最高数据位置对应的数据值,且数据位置的位置索引小于待处理列表中最高位置索引,将第二子集作为待处理序列以及将第二列表作为待处理列表。
实际应用,上述执行操作的一种代码实现可以如下所示:
V[sr.position] = pivotValue;
if (sr.position > pLow && pivotPos > sLow)
findKthValueList(S, sLow, pivotPos - 1,
P, pLow, sr.position - 1, V);// 若基准值大于待处理序列中最低数据位置对应的数据值,且数据位置的位置索引大于待处理列表中的最低位置索引,将第一子集作为待处理序列以及将第一列表作为待处理列表
else if (sr.position < pHigh && pivotPos < sHigh)
findKthValueList(S, pivotPos + 1, sHigh,
P, sr.position + 1, pHigh, V);// 若基准值小于待处理序列中最高数据位置对应的数据值,且数据位置的位置索引小于待处理列表中最高位置索引,将第二子集作为待处理序列以及将第二列表作为待处理列表
一些实施例中,在待处理列表中查找是否存在与基准位置相同的数据位置包括:根据待处理列表的最低位置索引和最高位置索引,计算目标位置索引;查找目标位置索引对应的数据位置与基准位置是否相同;在目标位置索引对应的数据位置与基准位置不同情况下,若目标位置索引对应的数据位置小于基准位置,将最低位置索引加1,并返回执行根据待处理列表的最低位置索引和最高位置索引,计算目标位置索引的操作,以及若目标位置索引对应的数据位置大于目标位置,将最高位置索引减1,并返回执行根据待处理列表的最低位置索引和最高位置索引,计算目标位置索引的操作,直至查找获得与基准位置相同的数据位置或目标位置索引为无效位置索引情况下确定待处理列表中未存在与基准位置相同的数据位置。
实际应用,上述执行操作的一种代码实现可以如下所示:
i int pMid = (pLow + pHigh) / 2;//定义目标位置索引
sr.isFound = false; //在目标位置索引对应的数据位置与基准位置不同情况
while (pLow <= pHigh) {
pMid = (pLow + pHigh) / 2;
if (P[pMid] == h) {
sr.isFound = true;
break;
}
else if (P[pMid] < h) pLow = pMid + 1;// 若目标位置索引对应的数据位置小于基准位置,将最低位置索引加1
else pHigh = pMid - 1;// 若目标位置索引对应的数据位置大于目标位置,将最高位置索引减1
}
sr.position = pMid;
其中,若待处理列表未存在与基准位置相同的数据位置的情况下,作为其它可选实施例方式,该方法还可以包括:若待处理列表中未存在与基准位置相同的数据位置,确定待处理列表中的当前计算获得的目标位置索引对应的数据位置,若数据位置的位置索引大于待处理列表中的最低位置索引,且基准值大于待处理序列中最低数据位置对应的数据值,将包含基准值以及小于基准值的第三子集作为待处理序列以及将包含数据位置以及小于数据位置的第三列表作为待处理列表;若基准值小于或等于待处理序列中最高数据位置对应的数据值,且数据位置的位置索引小于或等于待处理列表中最高位置索引,将包含基准值以及大于基准值的第四子集为待处理序列以及包含数据位置以及大于数据位置的第四列表作为待处理列表;返回执行从待处理序列中选取基准值的操作。
实际应用,上述执行操作的一种代码实现可以如下所示:
if(sr.position > pLow && pivotPos > sLow)
findKthValueList(S, sLow, pivotPos,
P, pLow, sr.position - 1, V);
if(sr.position <= pHigh && pivotPos <= sHigh)
findKthValueList(S, pivotPos, sHigh,
P, sr.position, pHigh, V)。
为了便于理解该可选实现方式,下面举例说明:
假设数据集包括10个无序数据值(5,4,10,8,3,7,6,2,9,1)。假设预先设定的多个分位点包括:0百分位、50百分位和100百分位。假设数据位置索引为0至9。则0百分位对应的至少一个数据位置为:{9*0}=0,以及0+1=1;50百分位对应的至少一个数据位置包括:{9*0.5}=4,以及4+1=5;100百分位对应的至少一个数据位置包括:{9*1}=9,由于即对应最后一个位置,因此无需再计算相邻位置。将这些位置按照位置升序排列并删除重复数据位置,获得位置列表[0,1,4,5,9]。
首次计算时,该数据集作为待处理序列,该位置列表即为待处理列表。该待处理序列的最低位置为0,最高位置为9。该位置列表的最低位置索引为0,最高位置即为4。在待处理序列中首先选取基准值5,在待处理序列中不断与两端数据值交换数据位置,最终得到更新的待处理序列为(1、4、2、3、5、7、6、8、9、1 0),可知,基准值对应的基准位置为4。之后,在位置列表中查找是否存在该基准位置,可以采用上述查找方式进行查找,最终确定位置列表中存在基准位置4,则查找获得数据位置4对应的数据元素,即为基准值5。
之后,基准值5将待处理序列划分为第一子集[1、4、2、3]以及第二子集[7、6、8、9、10],第一子集的最低位置为0,最高位置为3,第二子集的最低位置5,最高位置为9。同样,基准位置4将位置列表划分为第一子列表[0,1] 和第二子列表 [5,9],第一子列表的最低位置索引为0,最高位置索引为1,第二子列表的最低位置索引为3,最高位置索引为4。由于基准值5大于待处理序列中的最低位置对应的数据值1,且基准位置4在待处理列表大于最低位置索引0.则将第一子集作为待处理序列,第一列表作为待处理列表,继续执行上述操作,依次类推,直至获得位置列表中每个数据位置对应的数据值。
之后,再针对每个分位点对应的至少一个数据位置各自对应的数据值,进行加权求和,即可以获得每个分位点对应的分位值。
一些实施例中,该基于任一个分位点对应的至少一个数据位置分别对应的数据值,计算获得分位点对应的分位值可以包括:将任一个分位点对应的至少一个数据位置分别对应的数据值进行加权求和,获得分位点对应的分位值。
由上文描述可知,任一个分位点对应的至少一个数据位置可以基于其对应的分位位置确定。因此,一些实施例中,该基于任一个分位点对应的至少一个数据位置分别对应的数据值,计算获得分位点对应的分位值包括:基于任一个分位点对应的至少一个数据位置与分位位置的差值信息,确定至少一个数据位置分别对应的权重系数;基于至少一个数据位置分别对应的权重系数,将至少一个数据位置分别对应的数据值进行加权求和,获得分位点对应的分位值。
在确定出该基于任一个分位点对应的至少一个数据位置分别对应的数据值,则可以计算出分位点对应的分位值q=yi*(i+1-t)+yi+1*(t-i)。
其中yi为分位点i对应的分位值,yi+1为分位点i+1对应的分位值,i+1-t为分位点i对应的权重系数,t-i为分位点i+1对应的的权重系数。其中t为任一个分位点对应的分位位置。
可以理解的是分位位置t越靠近的数据位置所占的权重越高,比如,确定出的数据位置t为8.15,那么i为8,i+1为9,则i对应的权重为i+1-t=0.85,i+1对应的权重为t-i=0.15。且i对应的分位值20,i+1对应的分位值为25,对应的,可以确定出该分位点对应的分位值为20*(9-8.15)+25*(8.15-8)=20.75。
按照上述处理方式,即可以计算获得任一个数据集对应的多个分位点的分位项,从而通过多个分位项即可以表示该数据集的数据分布规律,之后可以无需保存数据集,仅保存多个分位项构成的分位序列即可,减少内存占用。
图5为本申请实施例提供的一种数据处理方法又一个实施例的流程图,本实施例从控制端角度对本申请技术方案进行说明,该方法可以包括以下几个步骤:
501、获取不同处理端发送的至少两个目标分位序列。
502、将至少两个目标分位序列进行合并处理,以确定至少两个目标分位序列中的不同分位值,在至少两个目标分位序列所对应的数据总集中对应的分位点。
503、根据合并结果,获得检测对象的特定分位序列。
504、根据特定分位序列,对检测对象进行异常检测。
其中,本实施例的技术方案的实现过程详见上文,在此不再赘述。
本申请实施例的技术方案,在一个实际应用中可以应用于云计算系统的异常检测场景中,下面结合图6所示的场景交互示意图,对本申请实施例的技术方案进行说明。
图6中,可以利用多个处理端601,对云计算系统600中的检测对象进行数据值采集,从而获得多个数据集。
下面以一个处理端对数据集的处理为例,处理端601获得当前采集的数据集之后,可以生成该数据集对应的第一分位序列,并可以查找保存其累加采集的数据总集对应的第二分位序列,将第一分位序列与第二分位序列进行合并处理,得到目标分位序列,其中,具体合并操作处理方式可以详见前文相应中,此处不再重复赘述。其中,获得目标分位序列之后,该目标分位序列即可以更新第二分位序列,作为当前累加采集的数据总集对应的分位序列。
每个处理端601可以将其生成的目标分位序列发送至控制端602。
控制端602可以将多个目标分位序列进行合并处理,以得到特定分位序列,从而基于该特定分位序列,可以进行检测对象的统计数据,根据统计数据是否满足异常条件,来对检测对象进行异常检测,在满足异常条件下,还可以输出告警提示信息等。
通过本申请实施例提供的技术方案,提高了数据处理效率,可以把检测对象的上百万或者上亿个数据样本或者随着时间无限增长的样本所表现的任意形式的概率分布信息保存在含有极少量的如几十个或者百来个参数的分位序列中,相较于使用特定参数描述的概率分布函数族如正态分布、指数分布等,可以更加准确地描述数据集的分布。
本申请实施例的技术方案不需要保留原始的大量的数据集来计算数据总集的概率分布,只需要在由各个数据集抽象出来的少量的反映数据集概率分布的分位序列的基础上,就可以得到反映数据总集的概率分布的分位序列;
此外,通过本申请实施例的技术方案还可以将合并后的分位序列重新划分分位点,得到更加简短和统一的特定分位序列;合并后的特定分位序列的分位项的个数通常比每一个原始分位序列的分位项的个数要多,按照统一的分位点重新划分和计算分位项,可以把增长的分位序列缩短,减少参数,让存储空间保持稳定;
此外,通过本申请实施例的技术方案还可以设定一组常用和统一的分位点,用以对数据集进行计算对应的分位序列和对合并后变长的特定分位序列重新划分和缩短。
此外,合并获得的特定分位序列还可以用于对检测对象进行异常检测,可以用于计算检测对象的各种统计量,如平均值,标准差,任意分位点,任意分位值,任意给定数值范围的平均值、标准差等。
图7示出了本申请提供的数据处理装置一个实施例的结构示意图,应用于控制端,如图7所述,该装置包括:获取模块71、合并模块72。
获取模块71,用于获取检测对象的至少两个数据集对应的分位序列;其中,所述分位序列用以描述其对应数据集的概率分布,包括分位项;所述分位项包括分位点及分位值;根据合并结果,获得目标分位序列;其中,所述目标分位序列用以指示对所述检测对象进行处理。
合并模块72,用于将所述至少两个数据集对应的分位序列进行合并处理,以确定所述分位序列中的分位值,在所述至少两个数据集构成的数据总集中对应的分位点。
在一些实施例中,合并模块具体用于按照所述至少两个数据集对应的分位序列中的不同分位值从小到大的顺序,选择任一个分位值执行如下合并操作:计算所述至少两个数据集在所述分位值及其前一个分位值构成区间上的数据分布数量;根据所述数据分布数量以及所述至少两个数据集对应的数据总量,确定所述至少两个数据集分别在所述区间上的分布概率;基于所述分布概率及所述前一个分位值对应的分位点,累积获得所述分位值对应的分位点。
在一些实施例中,合并模块进一步具体用于从优先级队列中选择最小分位值以执行所述合并操作;所述方法还包括:从所述至少两个分位序列对应的未处理分位项中,将最小分位值对应的分位项,保存至所述优先级队列中;在任一个分位值对应的合并操作执行结束,从所述优先级队列中删除所述分位值对应的分位项,并从所述分位值所在分位序列的未处理分位项中,选择最小分位值对应的分位项,保存至所述优先级队列中以更新所述优先级队列。
在一些实施例中,任一个数据集的分位序列按照如下方式确定:确定预先设定的多个分位点在所述数据集中分别对应的至少一个数据位置;确定任一个分位点对应的至少一个数据位置分别对应的数据值;基于任一个分位点对应的至少一个数据位置分别对应的数据值,计算获得所述分位点对应的分位值;由所述多个分位点以及所述多个分位点分别对应的分位值,生成所述分位序列。
在一些实施例中,该装置还包括计算模块,用于将任一个分位点对应的至少一个数据位置分别对应的数据值进行加权求和,获得所述分位点对应的分位值。
在一些实施例中,该装置还包括确定模块,用于针对预先设定的任一个分位点,根据所述数据集中的元素数量及所述分位点,计算获得分位位置;在所述分位位置为整数情况下,将所述分位位置作为所述分位点对应的一个数据位置或者将所述分位位置对应的数据位置及所述数据位置相邻的下一个数据位置作为所述分位点对应的两个数据位置;在所述分位位置为非整数情况下,将所述分位位置的向下取整值对应的数据位置以及与所述数据位置相邻的下一个数据位置作为所述分位点对应的两个数据位置。
在一些实施例中,确定模块,具体用于基于任一个分位点对应的至少一个数据位置与所述分位位置的差值信息,确定所述至少一个数据位置分别对应的权重系数;基于所述至少一个数据位置分别对应的权重系数,将所述至少一个数据位置分别对应的数据值进行加权求和,获得所述分位点对应的分位值。
在一些实施例中,确定模块,还具体用于针对任一个分位点对应的任一个数据位置(k),将所述数据集作为待处理序列;从所述待处理序列中选取基准值,以及从所述待处理序列的两端数据值开始,分别与所述基准值进行比较,并根据比较结果交换数据位置,以利用所述分界值将所述待处理序列划分为小于所述基准值的第一子集以及大于所述基准值的第二子集,并获得所述基准值对应的基准位置;若所述基准位置与所述数据位置相同,将所述基准值确定为所述数据位置对应的数据值;若所述基准位置与所述数据位置不同,将所述第一子集或所述第二子集作为待处理序列,并返回执行所述从所述待处理序列中选取基准值的操作。
在一些实施例中,确定模块进一步具体用于若所述基准位置与所述数据位置不同,在所述数据位置小于所述基准位置情况下,将所述第一子集作为待处理序列;在所述数据位置大于所述基准位置情况下,将所述第二子集作为待处理序列。
在一些实施例中,确定模块还用于将所述多个分位点分别对应的至少一个数据位置,按照位置升序进行排列,并删除重复数据位置,以获得位置列表;将所述数据集作为待处理序列,以及将所述位置列表作为待处理列表;从所述待处理序列中选取基准值;以及从所述待处理序列的两端数据值开始,分别与所述基准值进行比较,并根据比较结果交换数据位置,以利用所述基准值将所述待处理序列划分为小于所述基准值的第一子集以及大于所述基准值的第二子集,并获得所述基准值对应的基准位置;在所述待处理列表中查找是否存在与所述基准位置相同的数据位置;若所述待处理列表存在与所述基准位置相同的数据位置,将所述基准值确定为数据位置对应的数据值,将所述第一子集或所述第二子集作为所述待处理序列,以及从所述待处理列表删除所述数据位置,并返回执行所述从待处理序列中选取基准值的操作;若所述待处理列表未存在与所述基准位置相同的数据位置,将所述第一子集或第二子集作为所述待处理序列,并返回执行所述从待处理序列中选取基准值的操作。
在一些实施例中,确定模块具体用于基于所述数据位置将所述待处理列表划分为小于所述数据位置的第一子列表以及大于所述数据位置的第二子列表;根据所述基准值与所述待处理序列的两端数据位置所对应数据值的关系,以及所述数据位置在所述待处理列表中的位置索引与所述待处理列表中的两端位置索引的关系,将所述第一子集或第二子集作为所述待处理序列,以及将所述第一子列表或所述第二子列表作为待处理列表,返回执行所述从待处理序列中选取基准值的操作。
在一些实施例中,确定模块进一步具体用于若所述基准值大于所述待处理序列中最低数据位置对应的数据值,且所述数据位置的位置索引大于所述待处理列表中的最低位置索引,将所述第一子集作为待处理序列以及将所述第一列表作为待处理列表;若所述基准值小于所述待处理序列中最高数据位置对应的数据值,且所述数据位置的位置索引小于所述待处理列表中最高位置索引,将所述第二子集作为待处理序列以及将所述第二列表作为待处理列表。
在一些实施例中,确定模块进一步具体用于根据所述待处理列表的最低位置索引和最高位置索引,计算目标位置索引;查找所述目标位置索引对应的数据位置与所述基准位置是否相同;在所述目标位置索引对应的数据位置与所述基准位置不同情况下,若所述目标位置索引对应的数据位置小于所述基准位置,将最低位置索引加1,并返回执行根据所述待处理列表的最低位置索引和最高位置索引,计算目标位置索引的操作,以及若所述目标位置索引对应的数据位置大于所述目标位置,将最高位置索引加1,并返回执行根据所述待处理列表的最低位置索引和最高位置索引,计算目标位置索引的操作,直至查找获得与所述基准位置相同的数据位置或所述目标位置索引为无效位置索引情况下确定所述待处理列表中未存在与所述基准位置相同的数据位置。
在一些实施例中,确定模块进一步具体用于若所述待处理列表中未存在与所述基准位置相同的数据位置,确定所述待处理列表中的当前计算获得的目标位置索引对应的数据位置,若所述数据位置的位置索引大于所述待处理列表中的最低位置索引,且所述基准值大于所述待处理序列中最低数据位置对应的数据值,将包含所述基准值以及小于所述基准值的第三子集作为待处理序列以及将包含所述数据位置以及小于所述数据位置的第三列表作为待处理列表;若所述基准值小于或等于所述待处理序列中最高数据位置对应的数据值,且所述数据位置的位置索引小于或等于所述待处理列表中最高位置索引,将包含所述基准值以及大于所述基准值的第四子集为待处理序列以及包含所述数据位置以及大于所述数据位置的第四列表作为待处理列表;返回执行所述从待处理序列中选取基准值的操作。
在一些实施例中,计算模块,还用于根据所述目标分位序列中的不同分位项,计算所述检测对象对应的统计数据;以及根据所述统计数据,对所述检测对象进行异常检测;或者,根据所述目标分位序列中相邻分位点的线性关系,计算指定分位点对应的分位值或者计算指定分位值对应的分位点。
在一些实施例中,该装置还包括:检测模块,用于基于所述目标分位序列,预测所述检测对象对应的预测序列;联合多个检测对象分别对应的目标分位序列,对所述多个检测对象对应的计算系统进行异常检测。
在一些实施例中,计算模块具体用于从所述目标分位序列中查找大于所述指定分位点的第一分位点以及小于所述指定分位点的第二分位点;以及基于所述目标分位序列中相邻分位点的线性关系,利用所述第一分位点对应的分位值以及所述第二分位点对应的分位值,计算所述指定分位点对应的分位值;或者,从所述目标分位序列中查找大于所述指定分位值的第一分位值以及小于所述指定分位点的第二分位值;以及基于所述目标分位序列中相邻分位点的线性关系,利用所述第一分位值对应的分位点以及所述第二分位值对应的分位点,计算所述指定分位值对应的分位点。
在一些实施例中,获取模块71具体用于获取当前采集的所述检测对象对应的第一数据集,并确定所述第一数据集对应的第一分位序列;获取保存的所述检测对象对应的第二分位序列;将所述第一分位序列以及所述第二分位序列作为所述检测对象对应的至少两个分位序列;所述方法还包括:利用所述目标分位序列更新所述第二分位序列。
在一些实施例中,获取模块71具体用于根据所述合并结果中不同分位值对应的分位点,生成候选序列;根据所述候选序列中相邻分位点的线性关系,计算预先设定的多个目标分位点分别对应的分位值;由所述多个目标分位点及其分别对应的数据值,构成目标分位序列。
在一些实施例中,获取模块71还具体用于根据对所述检测对象的检测要求,确定所述多个目标分位点。
在一些实施例中,获取模块71还具体用于从不同处理端获取所述检测对象的至少两个分位序列;其中,任一个处理端按照如下方式生成任一个数据集所对应的分位序列:确定所述检测对象对应的至少两个数据子集分别对应的分位序列;其中,所述分位序列用以描述其对应数据子集的概率分布,包括多个分位项;所述分位项由分位点及分位值构成;将所述至少两个数据子集对应的至少两个分位序列进行合并处理,以确定所述至少两个分位序列中的不同分位值,在所述至少两个数据子集构成的数据集中对应的分位点;根据合并结果,获得所述数据集对应的分位序列。
在一些实施例中,获取模块71还具体用于将所述目标分位序列及所述至少两个数据集对应的数据总量发送至控制端;所述控制端用以基于不同处理端对应的至少两个目标分位序列进行合并处理,以确定所述至少两个目标分位序列中的不同分位值,在所述至少两个目标分位序列所对应的数据总集中对应的分位点,以及根据合并结果,获得所述检测对象的特定分位序列;所述特定分位序列用于对所述检测对象进行异常检测。
图7所述的数据处理装置可以执行图2或图4所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8示出了本申请提供的数据处理装置一个实施例的结构示意图,应用于控制端,该装置包括:获取模块81、合并模块82、检测模块83。
获取模块81,用于获取不同处理端发送的至少两个目标分位序列;根据合并结果,获得所述检测对象的特定分位序列;
合并模块82,用于将所述至少两个目标分位序列进行合并处理,以确定所述至少两个目标分位序列中的不同分位值,在所述至少两个目标分位序列所对应的数据总集中对应的分位点;
检测模块83,用于根据所述特定分位序列,对所述检测对象进行异常检测。
图8所述的数据处理装置可以执行图5所示实施例所述的数据处理方法,其实现原理和技术效果不再赘述。对于上述实施例中的数据处理装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例还提供了一种计算设备,如图9所示,该计算设备可以配置为上文实施例中所述的网关,该设备可以包括存储组件901以及处理组件902;
所述存储组件一条或多条计算机指令,其中,所述一条或多条计算机指令供所述处理组件902调用执行,以实现图2或者图4或者图5所述的数据处理方法。
当然,计算设备必然还可以包括其他部件,例如输入/输出接口、显示组件、通信组件等。
输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。
其中, 处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
存储组件901被配置为存储各种类型的数据以支持在终端的操作。存储组件901可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时可以实现上述图2或图4或图5所述的数据处理方法。该计算机可读介质可以是上述实施例中描述的计算设备中所包含的;也可以是单独存在,而未装配入该计算设备中。
本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,所述计算机程序被计算机执行时可以实现如上述图2或图4或图5所述的数据处理方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (14)

1.一种数据处理方法,其特征在于,包括:
获取检测对象的至少两个数据集对应的分位序列;其中,所述分位序列用以描述其对应数据集的概率分布,包括分位项;所述分位项包括分位点及分位值;
将所述至少两个数据集对应的分位序列进行合并处理,以确定所述分位序列中的分位值,在所述至少两个数据集构成的数据总集中对应的分位点;
根据合并结果,获得目标分位序列;其中,所述目标分位序列用以指示对所述检测对象进行处理。
2.根据权利要求1所述的方法,其特征在于,所述将所述至少两个数据集对应的分位序列进行合并处理,以确定所述分位序列中的分位值,在所述至少两个数据集构成的数据总集中对应的分位点包括:
按照所述至少两个数据集对应的分位序列中的不同分位值从小到大的顺序,选择任一个分位值执行如下合并操作:
计算所述至少两个数据集在所述分位值及其前一个分位值构成区间上的数据分布数量;
根据所述数据分布数量以及所述至少两个数据集对应的数据总量,确定所述至少两个数据集分别在所述区间上的分布概率;
基于所述分布概率及所述前一个分位值对应的分位点,累积获得所述分位值对应的分位点。
3.根据权利要求1所述的方法,其特征在于,任一个数据集的分位序列按照如下方式确定:
确定预先设定的多个分位点在所述数据集中分别对应的至少一个数据位置;
确定任一个分位点对应的至少一个数据位置分别对应的数据值;
基于任一个分位点对应的至少一个数据位置分别对应的数据值,计算获得所述分位点对应的分位值;
由所述多个分位点以及所述多个分位点分别对应的分位值,生成所述分位序列。
4.根据权利要求3所述的方法,其特征在于,所述确定预先设定的多个分位点在所述数据集中分别对应的至少一个数据位置包括:
针对预先设定的任一个分位点,根据所述数据集中的元素数量及所述分位点,计算获得分位位置;
在所述分位位置为整数情况下,将所述分位位置作为所述分位点对应的一个数据位置或者将所述分位位置对应的数据位置及所述数据位置相邻的下一个数据位置作为所述分位点对应的两个数据位置;
在所述分位位置为非整数情况下,将所述分位位置的向下取整值对应的数据位置以及与所述数据位置相邻的下一个数据位置作为所述分位点对应的两个数据位置。
5.根据权利要求4所述的方法,其特征在于,所述基于任一个分位点对应的至少一个数据位置分别对应的数据值,计算获得所述分位点对应的分位值包括:
基于任一个分位点对应的至少一个数据位置与所述分位位置的差值信息,确定所述至少一个数据位置分别对应的权重系数;
基于所述至少一个数据位置分别对应的权重系数,将所述至少一个数据位置分别对应的数据值进行加权求和,获得所述分位点对应的分位值。
6.根据权利要求3所述的方法,其特征在于,所述确定任一个分位点对应的至少一个数据位置分别对应的数据值包括:
针对任一个分位点对应的任一个数据位置,将所述数据集作为待处理序列;
从所述待处理序列中选取基准值,以及从所述待处理序列的两端数据值开始,分别与所述基准值进行比较,并根据比较结果交换数据位置,以利用所述分界值将所述待处理序列划分为小于所述基准值的第一子集以及大于所述基准值的第二子集,并获得所述基准值对应的基准位置;
若所述基准位置与所述数据位置相同,将所述基准值确定为所述数据位置对应的数据值;
若所述基准位置与所述数据位置不同,在所述数据位置小于所述基准位置情况下,将所述第一子集作为待处理序列;
在所述数据位置大于所述基准位置情况下,将所述第二子集作为待处理序列。
7.根据权利要求3所述的方法,其特征在于,所述确定任一个分位点对应的至少一个数据位置分别对应的数据值包括:
将所述多个分位点分别对应的至少一个数据位置,按照位置升序进行排列,并删除重复数据位置,以获得位置列表;
将所述数据集作为待处理序列,以及将所述位置列表作为待处理列表;
从所述待处理序列中选取基准值;以及从所述待处理序列的两端数据值开始,分别与所述基准值进行比较,并根据比较结果交换数据位置,以利用所述基准值将所述待处理序列划分为小于所述基准值的第一子集以及大于所述基准值的第二子集,并获得所述基准值对应的基准位置;
在所述待处理列表中查找是否存在与所述基准位置相同的数据位置;
若所述待处理列表存在与所述基准位置相同的数据位置,将所述基准值确定为所述数据位置对应的数据值,将所述第一子集或所述第二子集作为所述待处理序列,以及从所述待处理列表删除所述数据位置,并返回执行所述从待处理序列中选取基准值的操作;
若所述待处理列表未存在与所述基准位置相同的数据位置,将所述第一子集或第二子集作为所述待处理序列,并返回执行所述从待处理序列中选取基准值的操作。
8.根据权利要求7所述的方法,其特征在于,所述将所述第一子集或所述第二子集作为所述待处理序列,以及从所述待处理列表删除所述数据位置包括:
基于所述基准位置将所述待处理列表划分为小于所述数据位置的第一子列表以及大于所述数据位置的第二子列表;
若所述基准值大于所述待处理序列中最低数据位置对应的数据值,且所述数据位置的位置索引大于所述待处理列表中的最低位置索引,将所述第一子集作为待处理序列以及将所述第一列表作为待处理列表;
若所述基准值小于所述待处理序列中最高数据位置对应的数据值,且所述数据位置的位置索引小于所述待处理列表中最高位置索引,将所述第二子集作为待处理序列以及将所述第二列表作为待处理列表。
9.根据权利要求7所述的方法,其特征在于,所述在所述待处理列表中查找是否存在与所述基准位置相同的数据位置包括:
根据所述待处理列表的最低位置索引和最高位置索引,计算目标位置索引;
查找所述目标位置索引对应的数据位置与所述基准位置是否相同;
在所述目标位置索引对应的数据位置与所述基准位置不同情况下,若所述目标位置索引对应的数据位置小于所述基准位置,将最低位置索引加1,并返回执行根据所述待处理列表的最低位置索引和最高位置索引,计算目标位置索引的操作,以及若所述目标位置索引对应的数据位置大于所述目标位置,将最高位置索引减1,并返回执行根据所述待处理列表的最低位置索引和最高位置索引,计算目标位置索引的操作;
所述若所述待处理列表不存在与所述基准位置相同的数据位置,将所述第一子集或第二子集作为所述待处理序列,并返回执行所述从待处理序列中选取基准值的操作包括:
若所述待处理列表中未存在与所述基准位置相同的数据位置,确定所述待处理列表中的当前计算获得的目标位置索引对应的数据位置,若所述数据位置的位置索引大于所述待处理列表中的最低位置索引,且所述基准值大于所述待处理序列中最低数据位置对应的数据值,将包含所述基准值以及小于所述基准值的第三子集作为待处理序列以及将包含所述数据位置以及小于所述数据位置的第三列表作为待处理列表;
若所述基准值小于或等于所述待处理序列中最高数据位置对应的数据值,且所述数据位置的位置索引小于或等于所述待处理列表中最高位置索引,将包含所述基准值以及大于所述基准值的第四子集为待处理序列以及包含所述数据位置以及大于所述数据位置的第四列表作为待处理列表;
返回执行所述从待处理序列中选取基准值的操作。
10.根据权利要求1所述的方法,其特征在于,还包括:
根据所述目标分位序列中的不同分位项,计算所述检测对象对应的统计数据;以及根据所述统计数据,对所述检测对象进行异常检测;
或者,基于所述目标分位序列,预测所述检测对象对应的预测序列;
或者,根据所述目标分位序列中相邻分位点的线性关系,计算指定分位点对应的分位值或者计算指定分位值对应的分位点;
或者,联合多个检测对象分别对应的目标分位序列,对所述多个检测对象对应的计算系统进行异常检测。
11.根据权利要求1所述的方法,其特征在于,获取检测对象的至少两个数据集分别对应的分位序列包括:
获取当前采集的所述检测对象对应的第一数据集,并确定所述第一数据集对应的第一分位序列;
获取保存的所述检测对象对应的第二分位序列;
将所述第一分位序列以及所述第二分位序列作为所述检测对象对应的至少两个分位序列;
所述方法还包括:
利用所述目标分位序列更新所述第二分位序列。
12.一种数据处理方法,其特征在于,包括:
获取不同处理端发送的至少两个目标分位序列;
将所述至少两个目标分位序列进行合并处理,以确定所述至少两个目标分位序列中的不同分位值,在所述至少两个目标分位序列所对应的数据总集中对应的分位点;
根据合并结果,获得所述检测对象的特定分位序列;
根据所述特定分位序列,对所述检测对象进行异常检测。
13.一种计算设备,其特征在于,包括存储组件、显示组件以及处理组件;所述存储组件存储一条或多条计算机程序指令;所述一条或多条计算机程序指令以供所述处理组件调用并执行上述权利要求1-11任一项或者权利要求12所述的数据处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被计算机执行时可以实现上述权利要求1-11任一项或者权利要求12所述的数据处理方法。
CN202210938420.9A 2022-08-05 2022-08-05 数据处理方法及计算设备 Active CN115017215B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210938420.9A CN115017215B (zh) 2022-08-05 2022-08-05 数据处理方法及计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210938420.9A CN115017215B (zh) 2022-08-05 2022-08-05 数据处理方法及计算设备

Publications (2)

Publication Number Publication Date
CN115017215A true CN115017215A (zh) 2022-09-06
CN115017215B CN115017215B (zh) 2022-12-09

Family

ID=83065467

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210938420.9A Active CN115017215B (zh) 2022-08-05 2022-08-05 数据处理方法及计算设备

Country Status (1)

Country Link
CN (1) CN115017215B (zh)

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160188705A1 (en) * 2014-08-29 2016-06-30 Software Ag System and method for precise quantile determination
US20160350396A1 (en) * 2012-05-29 2016-12-01 Sas Institute Inc. Systems and methods for quantile determination in a distributed data system using sampling
CN106991080A (zh) * 2017-04-12 2017-07-28 北京邮电大学 一种数据的分位数确定方法及装置
CN109325061A (zh) * 2018-08-24 2019-02-12 北京天元创新科技有限公司 一种基于概率分布的异常数据处理方法及装置
US20190251458A1 (en) * 2018-02-15 2019-08-15 Institute For Development And Research In Banking Technology System and method for particle swarm optimization and quantile regression based rule mining for regression techniques
CN110275813A (zh) * 2019-06-27 2019-09-24 北京百度网讯科技有限公司 一种数据处理方法、装置、设备及计算机可读存储介质
CN110807174A (zh) * 2019-10-23 2020-02-18 西安建筑科技大学 一种基于统计分布的污水厂厂群出水分析及异常识别方法
CN111177190A (zh) * 2018-11-13 2020-05-19 杭州海康威视数字技术股份有限公司 数据处理方法、装置、电子设备及可读存储介质
CN111198847A (zh) * 2019-12-30 2020-05-26 广东奡风科技股份有限公司 一种适用于大数据集的数据并行处理方法、装置及系统
CN111291108A (zh) * 2020-01-16 2020-06-16 西北农林科技大学 基于分位概要获取不确定数据集全局概率分布方法及装置
US20200364557A1 (en) * 2018-02-09 2020-11-19 Deepmind Technologies Limited Distributional reinforcement learning using quantile function neural networks
CN112395330A (zh) * 2020-11-17 2021-02-23 浙江微能科技有限公司 一种构建偏态分布特征数据集的方法、装置和计算机系统
CN113297043A (zh) * 2020-04-08 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法、装置、设备和介质
CN113486590A (zh) * 2021-07-13 2021-10-08 上海眼控科技股份有限公司 一种数据处理方法、设备和存储介质
CN114582518A (zh) * 2022-03-11 2022-06-03 无锡祥生医疗科技股份有限公司 医疗数据集优化方法及设备
CN114595479A (zh) * 2022-05-10 2022-06-07 富算科技(上海)有限公司 一种数据中位数确定方法及装置
US20220245526A1 (en) * 2021-01-29 2022-08-04 Intuit Inc. Quantile hurdle modeling systems and methods for sparse time series prediction applications

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160350396A1 (en) * 2012-05-29 2016-12-01 Sas Institute Inc. Systems and methods for quantile determination in a distributed data system using sampling
US20160188705A1 (en) * 2014-08-29 2016-06-30 Software Ag System and method for precise quantile determination
CN106991080A (zh) * 2017-04-12 2017-07-28 北京邮电大学 一种数据的分位数确定方法及装置
US20200364557A1 (en) * 2018-02-09 2020-11-19 Deepmind Technologies Limited Distributional reinforcement learning using quantile function neural networks
US20190251458A1 (en) * 2018-02-15 2019-08-15 Institute For Development And Research In Banking Technology System and method for particle swarm optimization and quantile regression based rule mining for regression techniques
CN109325061A (zh) * 2018-08-24 2019-02-12 北京天元创新科技有限公司 一种基于概率分布的异常数据处理方法及装置
CN111177190A (zh) * 2018-11-13 2020-05-19 杭州海康威视数字技术股份有限公司 数据处理方法、装置、电子设备及可读存储介质
CN110275813A (zh) * 2019-06-27 2019-09-24 北京百度网讯科技有限公司 一种数据处理方法、装置、设备及计算机可读存储介质
CN110807174A (zh) * 2019-10-23 2020-02-18 西安建筑科技大学 一种基于统计分布的污水厂厂群出水分析及异常识别方法
CN111198847A (zh) * 2019-12-30 2020-05-26 广东奡风科技股份有限公司 一种适用于大数据集的数据并行处理方法、装置及系统
CN111291108A (zh) * 2020-01-16 2020-06-16 西北农林科技大学 基于分位概要获取不确定数据集全局概率分布方法及装置
CN113297043A (zh) * 2020-04-08 2021-08-24 阿里巴巴集团控股有限公司 数据处理方法、装置、设备和介质
CN112395330A (zh) * 2020-11-17 2021-02-23 浙江微能科技有限公司 一种构建偏态分布特征数据集的方法、装置和计算机系统
US20220245526A1 (en) * 2021-01-29 2022-08-04 Intuit Inc. Quantile hurdle modeling systems and methods for sparse time series prediction applications
CN113486590A (zh) * 2021-07-13 2021-10-08 上海眼控科技股份有限公司 一种数据处理方法、设备和存储介质
CN114582518A (zh) * 2022-03-11 2022-06-03 无锡祥生医疗科技股份有限公司 医疗数据集优化方法及设备
CN114595479A (zh) * 2022-05-10 2022-06-07 富算科技(上海)有限公司 一种数据中位数确定方法及装置

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
JOHN CLEMENTS 等: "Dynamics of large scale networks following a merger", 《ACM》 *
PRAISE O. FARAYOLA 等: "Quantile – Quantile Fitting Approach to Detect Site to Site Variations in Massive Multi-site Testing", 《IEEE》 *
孙令东: "集合数值预报产品应用方法概述", 《科技与创新》 *
李斌等: "序列相关性在资产组合绩效改善中的作用", 《管理科学》 *
管河山等: "基于点分布特征的多元时间序列模式匹配方法", 《软件学报》 *
魏彦飞等: "一种新的数据融合方法――广义融合法", 《天文研究与技术》 *

Also Published As

Publication number Publication date
CN115017215B (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
CN109491850A (zh) 一种磁盘故障预测方法及装置
EP2735971A1 (en) Management device and management method for storage device
JP2002229825A (ja) コンピュータメモリ
CN111917882B (zh) 文件缓存方法、装置及电子设备
CN111966912B (zh) 基于知识图谱的推荐方法、装置、计算机设备及存储介质
CN112307084A (zh) 远程抄表异常监测方法、燃气表系统及燃气云平台
CN110928957A (zh) 数据聚类方法及装置
Lee et al. Simplex algorithm for countable-state discounted Markov decision processes
WO2015040806A1 (en) Hierarchical latent variable model estimation device, hierarchical latent variable model estimation method, supply amount prediction device, supply amount prediction method, and recording medium
CN109240893B (zh) 应用运行状态查询方法及终端设备
CN117235088B (zh) 一种存储系统的缓存更新方法、装置、设备、介质及平台
CN115017215B (zh) 数据处理方法及计算设备
CN112684402B (zh) 用电量平稳电能运行误差数据的监测方法及系统
CN114253458B (zh) 内存缺页异常的处理方法、装置、设备及存储介质
CN109245948B (zh) 安全感知的虚拟网络映射方法及其装置
CN112883064B (zh) 一种自适应采样与查询方法及系统
CN114764416A (zh) 数据缓存方法、装置、设备及计算机可读存储介质
CN112306824B (zh) 磁盘性能评估方法、系统、设备及计算机可读存储介质
CN112307025B (zh) 一种分布式索引的构建方法及装置
CN117439995B (zh) 信息发布方法、装置、设备及存储介质
CN115134265B (zh) 流程的实时监控预警方法、装置、设备及存储介质
CN112306823B (zh) 磁盘管理方法、系统、设备及计算机可读存储介质
US20240152467A1 (en) Systems and methods to generate a cache miss ratio curve where cache data has a time-to-live
CN113032461A (zh) 时序数据的处理方法、时序数据处理装置及存储介质
CN115809820A (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
GR01 Patent grant
GR01 Patent grant