CN107528904A - 用于数据分布式异常检测的方法与设备 - Google Patents
用于数据分布式异常检测的方法与设备 Download PDFInfo
- Publication number
- CN107528904A CN107528904A CN201710778563.7A CN201710778563A CN107528904A CN 107528904 A CN107528904 A CN 107528904A CN 201710778563 A CN201710778563 A CN 201710778563A CN 107528904 A CN107528904 A CN 107528904A
- Authority
- CN
- China
- Prior art keywords
- distance
- working node
- data
- data point
- neighbours
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24147—Distances to closest patterns, e.g. nearest neighbour classification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
Abstract
本申请的目的是提供一种用于数据分布式异常检测的方法与设备。与现有技术相比,本申请通过主节点收集并广播各个工作节点上的数据集,以使各个工作节点基于本工作节点上存储的数据集以及主节点广播的数据集来计算每个数据点的异常概率,这种方式,将所需计算量合理分配给每一个工作节点,充分利用了整个集群的计算能力,使得算法的性能表现得到显著提高。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种用于数据分布式异常检测的技术。
背景技术
异常检测旨在发现数据集中的异常数据点,这些异常数据点明显与其他数据点不同,而它们的出现并非是随机的,而是有可能产生于完全不同的机制。对异常数据点进行分析,能够挖掘出其背后隐藏的重要信息,从而带来可观的经济价值。目前,异常检测在现实生活当中有着广泛的应用,如在金融领域,采用异常检测技术对***进行欺诈检测;在信息安全领域,采用异常检测技术进行入侵检测;在医疗领域,异常检测技术可用于评估患者可能潜在的健康问题等。
现有的LOF(Local Outlier Factor,局部异常因子)算法是一种基于密度的异常检测算法,该算法认为异常数据点的密度与其邻近点的密度有明显差异,因此,该算法通过比较当前点与其邻近点的相对密度来检测异常数据点。由于良好的检测准确率,该算法被广泛应用,成为一种经典的异常检测算法,但是,随着大数据时代的来临,由于该算法自身较高的时间复杂度,使其应用范围受到限制。
发明内容
本申请的目的是提供一种用于数据分布式异常检测的方法与设备。
根据本申请的一个方面,提供了一种用于数据分布式异常检测的方法,其中,该方法包括:
主节点获取集群中第一工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点;
主节点将所述第一数据集广播至所述集群中的第二工作节点,以使所述集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点。
根据本申请的另一方面,还提供了一种用于数据分布式异常检测的方法,其中,该方法包括:
集群中的第一工作节点向所述主节点发送本工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点;
集群中的第二工作节点获取所述主节点广播的所述第一工作节点的第一数据集,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点;
集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率。
根据本申请的再一方面,还提供了一种用于数据分布式异常检测的主节点,其中,该主节点用于:
获取集群中第一工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点;并将所述第一数据集广播至所述集群中的第二工作节点,以使所述集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点。
根据本申请的又一方面,还提供了一种用于数据分布式异常检测的集群,其中,该集群包括:
第一工作节点,用于向所述主节点发送本工作节点上存储的第一数据集以及基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第一数据集包含至少一个数据点;
第二工作节点,用于获取所述主节点广播的所述第一工作节点的第一数据集以及基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点。
与现有技术相比,本申请通过主节点收集并广播各个工作节点上的数据集,以使各个工作节点基于本工作节点上存储的数据集以及主节点广播的数据集来计算每个数据点的异常概率,这种方式,将所需计算量合理分配给每一个工作节点,充分利用了整个集群的计算能力,使得算法的性能表现得到显著提高。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种用于数据分布式异常检测的方法流程图;
图2示出根据本申请一个优选实施例的一种主节点获取以及广播第一数据集的示意图;
图3示出根据本申请一个优选实施例的第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻的示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
为更进一步阐述本申请所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本申请的技术方案,进行清楚和完整的描述。
图1示出根据本申请一个方面的一种用于数据分布式异常检测的方法,其中,所述方法包括:
S11集群中的第一工作节点向主节点发送本工作节点上存储的第一数据集,相应地,主节点获取集群中第一工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点;
S12所述主节点将所述第一数据集广播至所述集群中的第二工作节点,以使所述集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率,相应地,所述第二工作节点获取所述主节点广播的所述第一工作节点的第一数据集,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点;
S13集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率。
在该实施例中,在所述步骤S11中,集群中的第一工作节点向主节点发送本工作节点上存储的第一数据集,相应地,主节点获取集群中第一工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点。
在此,所述集群是由分布式***中的各个节点组成,例如,在本申请实施例中分布式***主要包括主节点和工作节点,所述主节点为所述集群中的一个节点,可以起到收集以及广播数据的作用;所述第一工作节点为所述分布式***中所有工作节点中的任一个节点,所述第二工作节点为除第一工作节点之外的其他工作节点。在此,所述分布式***中的各个节点包括但不限于各种移动智能设备、个人计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;其中,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
具体地,将需要进行异常检测的所有数据点组成的集合称为数据集,在本申请中,对整个数据集,会划分为多个数据分区,该多个分区会分布式地存储在各个工作节点上,每个工作节点会存储整个数据集中的一个或多个分区,其中,将第一工作节点上存储的分区称为第一数据集,第二工作节点上存储的分区称为第二数据集。在本申请中,可以利用Spark中提供的分布式数据集RDD,按照RDD[(序号,向量)]的数据格式将原始数据集读取到内存中,RDD由Spark划分为多个分区,分布式地存储在Spark集群的各个工作节点上。
由于通过LOF算法需要计算每一个数据点的k-distance近邻,其中,k-distance是指当前点与其第k远的数据点之间的距离。而k-distance近邻是指所有与当前点的距离不超过k-distance的数据点,因此,以第一工作节点为例,当计算第一工作节点上的第一数据集中的每个数据点的k-distance近邻时,需要将第一数据集发送至其他工作节点,即第二工作节点,从而能够得到第一数据集中每一个数据点在整个数据集中的k-distance近邻。
所以,在所述步骤S11中,集群中的第一工作节点向主节点发送本工作节点上存储的第一数据集,相应地,主节点通过collect的方式获取集群中第一工作节点上存储的第一数据集,在此,各个工作节点轮流成为第一工作节点,也即,集群中的每个工作节点都会将本工作节点上的数据集发送至该主节点,该主节点会将该数据集广播至除本工作节点外的其他工作节点,也即,在所述步骤S12中,所述主节点通过广播变量的方式将所述第一数据集广播至所述集群中的第二工作节点,以使所述集群中的所有工作节点基于本工作节点上的数据集,计算每个数据点的异常概率,相应地,所述第二工作节点获取所述主节点广播的所述第一工作节点的第一数据集。
如图2示出主节点获取以及广播第一数据集的示意图,其中,Driver为主节点,下面四个为工作节点,每个工作节点上存储有数据集,在该实施例中,每个数据集中有三个数据点,且按照[(序号,向量)]的数据格式存储,可以将该四个工作节点中的任一个作为第一工作节点,其他的作为第二工作节点,在该实施例中,将左边第一个工作节点作为第一工作节点,其他的工作节点作为第二工作节点,主节点将第一工作节点中的数据集,即第一数据集,collect(收集)到该主节点,并将该第一数据集broadcast(广播)到第二工作节点。进一步地,第二工作节点轮流作为第一工作节点,从而实现将本工作节点上的数据集广播至其他工作节点。
继续在该实施例中,在所述步骤S13中,集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率。即集群中的工作节点基于主节点通过广播变量广播的第一数据集和当前工作节点上存储的数据集,计算每个数据点的异常概率。
优选地,其中,所述第二工作节点上存储有第二数据集,所述步骤S13包括:S131(未示出)集群中的所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻、以及所述第二工作节点获取所述第二数据集中数据点的第二全局K-distance近邻;S132(未示出)集群中的工作节点基于所述第一全局K-distance近邻以及所述第二全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离;S133(未示出)集群中的工作节点基于每个数据点与其K-distance近邻的可达距离,并行确定本工作节点上每个数据点的可达密度;S134(未示出)集群中的工作节点基于所述每个数据点的可达密度,并行确定本工作节点上每个数据点的异常概率。
在该实施例中,在所述步骤S131中,集群中的所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻、以及所述第二工作节点获取所述第二数据集中数据点的第二全局K-distance近邻。
在此,所述第一全局K-distance近邻代表所述第一数据集中的数据点在所有工作节点的所有数据集中的K-distance近邻,所述第二全局K-distance近邻代表第二数据集中的数据点在所有工作节点的所有数据集中的K-distance近邻。所述第一全局K-distance近邻及所述第二全局K-distance近邻统称为全局K-distance近邻,代表每个数据点在在所有工作节点的所有数据集中的K-distance近邻。例如,由于主节点将每个工作节点上的数据集广播至其他工作节点,因此,每个工作节点可以计算本工作节点上数据集中的数据点在所有数据集中的K-distance近邻,从而获得每个数据点的全局K-distance近邻。
优选地,其中,所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻包括:
S1311(未示出)所述第一工作节点计算所述第一数据集中数据点的第一局部K-distance近邻,其中,所述第一局部K-distance近邻包括所述第一数据集中数据点在所述第一数据集中的K-distance近邻;
S1312(未示出)所述第二工作节点计算所述第一数据集中数据点的第二局部K-distance近邻,其中,所述第二局部K-distance近邻包括所述第一数据集中数据点在所述第二数据集中的K-distance近邻;
S1313(未示出)所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻。
在该实施例中,在所述步骤S1311中,所述第一工作节点通过计算所述第一数据集中每个数据点之间的距离,来获取第一数据集中每个数据点在所述第一数据集中的K-distance近邻,即第一局部K-distance近邻。
同理,在所述步骤S1312中,由于第二工作节点获取到了该第一数据集,则第二工作节点会计算该第一数据集中的每个数据点,与第二数据集中每个数据点的距离,从而获取第一数据集中每个数据点在所述第二数据集中的K-distance近邻,即第二局部K-distance近邻。
进一步地,在所述步骤S1313中,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻。
与确定第一数据集中的数据点的全局K-distance近邻相同,可以通过同样的方式,确定第二数据集中数据点的全局K-distance近邻。
优选地,其中,所述步骤S1313包括:S13131(未示出)所述第一工作节点获取所述第二工作节点确定的第二局部K-distance近邻;S13132(未示出)所述第一工作节点基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻。
在该实施例中,可以通过第一工作节点来确定第一数据集中的数据点的全局K-distance近邻,即将第一局部K-distance近邻以及第二局部K-distance近邻聚合到该第一工作节点上来进行计算获得第一数据集中的数据点的全局K-distance近邻。同理,可以通过第二工作节点来确定第二数据集中数据点的全局K-distance近邻,从而实现分布式计算,提高运算效率。
优选地,所述步骤S1313包括:所述第一工作节点及所述第二工作节点将所述第一局部K-distance近邻及所述第二局部K-distance近邻传输至中间工作节点;所述第一工作节点接收所述中间工作节点发送的、所述第一数据集中的数据点的全局K-distance近邻,其中,所述中间工作节点基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻。
在该优选的实施例中,可以不通过工作节点来进行全局K-distance近邻的计算,在此,可以通过中间节点来实现全局K-distance近邻的计算,在此,中间节点为除主节点及工作节点外,另设置的节点,该中间节点可以通过获取第一局部K-distance近邻及第二局部K-distance近邻,并进行相应的计算来确定全局K-distance近邻。
优选地,局部K-distance和全局K-distance近邻的存储方式包括所述数据点的序号标识以及所述数据点的局部和全局K-distance近邻的序号标识。也即,在存储每个数据点的局部K-distance和全局K-distance近邻时,会包含每个数据点的序号标识以及每个数据点的局部K-distance和全局K-distance近邻的序号标识,例如,数据点p的K-distance近邻可以记作:(数据点p,[(近邻点o1,距离d1),...,(近邻点ok,距离dk)],其中,d为数据点p与近邻点的距离。
例如,在图3所示的实施例中,数据点0的全局或局部K-distance近邻为数据点1,由于K=1,则数据点0的K-distance近邻,可以存储为(0,1,d1),其中,d1为数据点0和数据点1之间的距离。
优选地,其中,所述基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻包括:
将所述第一局部K-distance近邻以及第二局部K-distance近邻中序号标识相同的数据点进行规约;基于所述规约结果确定所述第一数据集中的数据点的全局K-distance近邻。具体地,可以通过reduceByKey操作,将所有序号相同的数据点规约到同一个工作节点上,例如,规约到第一工作节点或者中间节点上。
如图3所示,示出所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻的一种实施例,在该实施例中,每个工作节点上存储的数据集包含三个数据点,每个数据点通过(序号,向量)的数据格式存储,例如,第一工作节点上存储有序号0、1、2的数据点。在该实施例中,假设K-distance近邻中的K=1。
在该实施例中,Driver端collect所述第一工作节点上的数据集,并broadcast到第二工作节点上,在所述步骤S1311中,所述第一工作节点计算所述第一数据集中数据点的第一局部K-distance近邻,即计算序号为0、1、2的数据点在本数据集(即所述第一数据集)中的局部K-distance近邻,例如,序号为0的数据点在本数据集中的第一局部K-distance近邻为序号为1的数据点。
同样的,在所述步骤S1312中,所述第二工作节点计算所述第一数据集中数据点的第二局部K-distance近邻,即所述第二工作节点分别计算所述第一数据集中的数据点,与第二数据集中的每个数据点的距离,并将距离最近的点作为该数据点的在第二数据集中的局部K-distance近邻,例如,序号为0的数据点在第二工作节点2中的第二局部K-distance近邻为序号为4的数据点。
继续在该实施例中,在所述步骤S1313中,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻。具体地,可以通过对第一局部K-distance近邻以及第二局部K-distance近邻分别按照距离升序排序,然后通过遍历第一和第二局部K-distance近邻的方式选取距离最小的K个K-distance近邻。
具体地,可以通过reduceByKey操作,将所有序号相同的数据点规约到同一个工作节点上,例如,如图3所示,其中,K=1,将序号为0的数据点的局部K-distance近邻规约到一起,并按照与序号为0的数据点的距离进行排序,确定距离最小的K个数据点,在该实施例中,由于K=1,所以确定序号为0的数据点的全局K-distance近邻为(0.484,0.598),即序号为为0的数据点的全局K-distance近邻为序号为1的数据点,同理,可得序号为1的数据点的全局K-distance近邻为序号为2的数据点。
优选地,其中,所述步骤S132包括:集群中的工作节点基于本工作节点上的每个数据点的全局K-distance近邻、或者基于本工作节点上的每个数据点以及其他工作节点上的数据点的全局K-distance近邻,确定每个数据点与其K-distance近邻的可达距离。
在该实施例中,当本工作节点上每个数据点的全局K-distance近邻都是本工作节点上的数据点时,集群中的工作节点只需基于本工作节点上的每个数据点的全局K-distance近邻,来确定本工作节点上每个数据点与其K-distance近邻的可达距离;当本工作节点上存在数据点的全局K-distance近邻是其他工作节点上的数据点时,需要基于本工作节点上的每个数据点以及涉及到的其他工作节点上的数据点的全局K-distance近邻,来确定本工作节点上每个数据点与其K-distance近邻的可达距离。各个工作节点并行计算,从而实现确定所有数据点的K-distance近邻的可达距离。
在此,数据点o与数据点p之间的可达距离定义如下:
reach-distk(p,o)=max{k-distOnce(O),d(p,0)}
其中,d(p,o)是指数据点p和o之间的距离。
具体地,对得到的数据点的K-distance近邻中的数据点与近邻点进行交换,例如,数据点p的K-distance近邻记作RDD[(数据点p,[(近邻点o1,距离d1),……,(近邻点ok,距离dk)])],则对数据点p与近邻点进行交换,可记为Swapped_RDD[(近邻点o1,数据点p,距离d1),……,近邻点ok数据点p,距离dk),……],其中,RDD的每一条数据以键值对的形式存储,将近邻点作为键,数据点和距离作为值。将该Swapped_RDD按照键与原RDD进行cogroup操作(这是Spark提供的对RDD的一种操作)。cogroup操作会将Swapped_RDD和原RDD中键相同的数据点规约到同一个工作节点。因此,对于每一条数据中的作为键的数据点,可比较其近邻点的k-distance和该数据点到近邻点之间的距离,取较大值作为该数据点到其近邻点的可达距离,其计算结果记为RDD[数据点p,[(近邻点o1,可达距离d1),...,(近邻点ok,可达距离dk)]]。
本申请中,由于规约后不同键的数据位于不同的工作节点,因此,本发明计算可达距离的过程完全是并行执行,各个工作节点独立负责各自的计算任务,互相不影响,进一步提高了算法的执行速度。
进一步地,在所述步骤S133中,集群中的工作节点并行计算每一个数据点的可达密度,即每个工作节点分别计算本工作节点上初始存储的每个数据点的可达密度。其中,可达密度定义如下:
其中,lrdMinPts(p)表示p的可达密度,MinPts(p)表示当k=MinPts时,当前数据点p的所有k-distance近邻。具体地,对步骤S132得到的RDD中的每一个数据点进行groupByKey操作,将所有键相同的数据规约到同一个工作节点上。对于规约后的每一条数据,计算键所对应的数据点的所有近邻点的可达距离之和以及近邻点的数量,并根据上述公式计算可达密度,其计算结果为RDD[数据点p,[(近邻点o1,可达密度d1),...,(近邻点ok,可达密度dk)]]。同样,本申请计算可达密度的过程是完全并行执行,各个工作节点独立负责各自的计算任务,互相不影响。
进一步地,在所述步骤S134中,集群中的工作节点基于所述每个数据点的可达密度,并行确定本工作节点上每个数据点的异常概率。在此,异常概率记为LOFMinPts(p),定义如下:
具体地,将步骤S133中得到的RDD与Swapped_RDD进行cogroup操作,计算该数据点的可达密度,该数据点的所有近邻点的可达密度之和,以及近邻点的数量,并根据上述公式计算该数据点是异常数据点的异常概率。同样,本申请计算异常概率的过程是完全并行执行,各个工作节点独立负责各自的计算任务,互相不影响。
与现有技术相比,本申请通过主节点收集并广播各个工作节点上的数据集,以使各个工作节点基于本工作节点上存储的数据集以及主节点广播的数据集来计算每个数据点的异常概率,这种方式,将所需计算量合理分配给每一个工作节点,充分利用了整个集群的计算能力,使得算法的性能表现得到显著提高。
根据本申请另一个方面还提供了一种用于数据分布式异常检测的集群,其中,所述集群包括:
第一工作节点,用于向主节点发送本工作节点上存储的第一数据集,并基于本工作节点上的数据集,计算每个数据点的异常概率。所述第一数据集包含至少一个数据点;
所述主节点,用于获取所述第一数据集,并将所述第一数据集广播至所述集群中的第二工作节点,以使所述集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点;
所述第二工作节点获取所述主节点广播的所述第一工作节点的第一数据集,并基于所述第一数据集以及本工作节点上的数据集,计算每个数据点的异常概率。
在该实施例中,集群中的第一工作节点向主节点发送本工作节点上存储的第一数据集,相应地,主节点获取集群中第一工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点。
在此,所述集群是由分布式***中的各个节点组成,例如,在本申请实施例中分布式***主要包括主节点和工作节点,所述主节点为所述集群中的一个节点,可以起到收集以及广播数据的作用;所述第一工作节点为所述分布式***中所有工作节点中的任一个节点,所述第二工作节点为除第一工作节点之外的其他工作节点。在此,所述分布式***中的各个节点包括但不限于各种移动智能设备、个人计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;其中,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。
具体地,将需要进行异常检测的所有数据点组成的集合称为数据集,在本申请中,对整个数据集,会划分为多个数据分区,该多个分区会分布式地存储在各个工作节点上,每个工作节点会存储整个数据集中的一个或多个分区,其中,将第一工作节点上存储的分区称为第一数据集,第二工作节点上存储的分区称为第二数据集。在本申请中,可以利用Spark中提供的分布式数据集RDD,按照RDD[(序号,向量)]的数据格式将原始数据集读取到内存中,RDD由Spark划分为多个分区,分布式地存储在Spark集群的各个工作节点上。
由于通过LOF算法需要计算每一个数据点的k-distance近邻,其中,k-distance是指当前点与其第k远的数据点之间的距离。而k-distance近邻是指所有与当前点的距离不超过k-distance的数据点,因此,以第一工作节点为例,当计算第一工作节点上的第一数据集中的每个数据点的k-distance近邻时,需要将第一数据集发送至其他工作节点,即第二工作节点,从而能够得到第一数据集中每一个数据点在整个数据集中的k-distance近邻。
所以,集群中的第一工作节点向主节点发送本工作节点上存储的第一数据集,相应地,主节点通过collect的方式获取集群中第一工作节点上存储的第一数据集,在此,各个工作节点轮流成为第一工作节点,也即,集群中的每个工作节点都会将本工作节点上的数据集发送至该主节点,该主节点会将该数据集广播至除本工作节点外的其他工作节点,也即,所述主节点通过广播变量的方式将所述第一数据集广播至所述集群中的第二工作节点,以使所述集群中的所有工作节点基于本工作节点上的数据集,计算每个数据点的异常概率,相应地,所述第二工作节点获取所述主节点广播的所述第一工作节点的第一数据集。
如图2示出主节点获取以及广播第一数据集的示意图,其中,Driver为主节点,下面四个为工作节点,每个工作节点上存储有数据集,在该实施例中,每个数据集中有三个数据点,且按照[(序号,向量)]的数据格式存储,可以将该四个工作节点中的任一个作为第一工作节点,其他的作为第二工作节点,在该实施例中,将左边第一个工作节点作为第一工作节点,其他的工作节点作为第二工作节点,主节点将第一工作节点中的数据集,即第一数据集,collect(收集)到该主节点,并将该第一数据集broadcast(广播)到第二工作节点。进一步地,第二工作节点轮流作为第一工作节点,从而实现将本工作节点上的数据集广播至其他工作节点。
继续在该实施例中,集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率。即集群中的工作节点基于主节点通过广播变量广播的第一数据集和当前工作节点上存储的数据集,计算每个数据点的异常概率。
优选地,其中,所述第二工作节点上存储有第二数据集,集群中的所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻、以及所述第二工作节点获取所述第二数据集中数据点的第二全局K-distance近邻;进一步地,集群中的工作节点基于所述第一全局K-distance近邻以及所述第二全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离;进一步地,集群中的工作节点基于每个数据点与其K-distance近邻的可达距离,并行确定本工作节点上每个数据点的可达密度;进一步地,集群中的工作节点基于所述每个数据点的可达密度,并行确定本工作节点上每个数据点的异常概率。
在该实施例中,集群中的所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻、以及所述第二工作节点获取所述第二数据集中数据点的第二全局K-distance近邻。
在此,所述第一全局K-distance近邻代表所述第一数据集中的数据点在所有工作节点的所有数据集中的K-distance近邻,所述第二全局K-distance近邻代表第二数据集中的数据点在所有工作节点的所有数据集中的K-distance近邻。所述第一全局K-distance近邻及所述第二全局K-distance近邻统称为全局K-distance近邻,代表每个数据点在在所有工作节点的所有数据集中的K-distance近邻。例如,由于主节点将每个工作节点上的数据集广播至其他工作节点,因此,每个工作节点可以计算本工作节点上数据集中的数据点在所有数据集中的K-distance近邻,从而获得每个数据点的全局K-distance近邻。
优选地,其中,所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻包括:
所述第一工作节点计算所述第一数据集中数据点的第一局部K-distance近邻,其中,所述第一局部K-distance近邻包括所述第一数据集中数据点在所述第一数据集中的K-distance近邻;
所述第二工作节点计算所述第一数据集中数据点的第二局部K-distance近邻,其中,所述第二局部K-distance近邻包括所述第一数据集中数据点在所述第二数据集中的K-distance近邻;
所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻。
在该实施例中,所述第一工作节点通过计算所述第一数据集中每个数据点之间的距离,来获取第一数据集中每个数据点在所述第一数据集中的K-distance近邻,即第一局部K-distance近邻。
同理,由于第二工作节点获取到了该第一数据集,则第二工作节点会计算该第一数据集中的每个数据点,与第二数据集中每个数据点的距离,从而获取第一数据集中每个数据点在所述第二数据集中的K-distance近邻,即第二局部K-distance近邻。
进一步地,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻。
与确定第一数据集中的数据点的全局K-distance近邻相同,可以通过同样的方式,确定第二数据集中数据点的全局K-distance近邻。
优选地,其中,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻包括:所述第一工作节点获取所述第二工作节点确定的第二局部K-distance近邻;所述第一工作节点基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻。
在该实施例中,可以通过第一工作节点来确定第一数据集中的数据点的全局K-distance近邻,即将第一局部K-distance近邻以及第二局部K-distance近邻聚合到该第一工作节点上来进行计算获得第一数据集中的数据点的全局K-distance近邻。同理,可以通过第二工作节点来确定第二数据集中数据点的全局K-distance近邻,从而实现分布式计算,提高运算效率。
优选地,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻包括:所述第一工作节点及所述第二工作节点将所述第一局部K-distance近邻及所述第二局部K-distance近邻传输至中间工作节点;所述第一工作节点接收所述中间工作节点发送的、所述第一数据集中的数据点的全局K-distance近邻,其中,所述中间工作节点基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻。
在该优选的实施例中,可以不通过工作节点来进行全局K-distance近邻的计算,在此,可以通过中间节点来实现全局K-distance近邻的计算,在此,中间节点为除主节点及工作节点外,另设置的节点,该中间节点可以通过获取第一局部K-distance近邻及第二局部K-distance近邻,并进行相应的计算来确定全局K-distance近邻。
优选地,局部K-distance和全局K-distance近邻的存储方式包括所述数据点的序号标识以及所述数据点的局部和全局K-distance近邻的序号标识。也即,在存储每个数据点的局部K-distance和全局K-distance近邻时,会包含每个数据点的序号标识以及每个数据点的局部K-distance和全局K-distance近邻的序号标识,例如,数据点p的K-distance近邻可以记作:(数据点p,[(近邻点o1,距离d1),...,(近邻点ok,距离dk)],其中,d为数据点p与近邻点的距离。
例如,在图3所示的实施例中,数据点0的全局或局部K-distance近邻为数据点1,由于K=1,则数据点0的K-distance近邻,可以存储为(0,1,d1),其中,d1为数据点0和数据点1之间的距离。
优选地,其中,所述基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻包括:
将所述第一局部K-distance近邻以及第二局部K-distance近邻中序号标识相同的数据点进行规约;基于所述规约结果确定所述第一数据集中的数据点的全局K-distance近邻。具体地,可以通过reduceByKey操作,将所有序号相同的数据点规约到同一个工作节点上,例如,规约到第一工作节点或者中间节点上。
如图3所示,示出所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻的一种实施例,在该实施例中,每个工作节点上存储的数据集包含三个数据点,每个数据点通过(序号,向量)的数据格式存储,例如,第一工作节点上存储有序号0、1、2的数据点。在该实施例中,假设K-distance近邻中的K=1。
在该实施例中,Driver端collect所述第一工作节点上的数据集,并broadcast到第二工作节点上,所述第一工作节点计算所述第一数据集中数据点的第一局部K-distance近邻,即计算序号为0、1、2的数据点在本数据集(即所述第一数据集)中的局部K-distance近邻,例如,序号为0的数据点在本数据集中的第一局部K-distance近邻为序号为1的数据点。
同样的,所述第二工作节点计算所述第一数据集中数据点的第二局部K-distance近邻,即所述第二工作节点分别计算所述第一数据集中的数据点,与第二数据集中的每个数据点的距离,并将距离最近的点作为该数据点的在第二数据集中的局部K-distance近邻,例如,序号为0的数据点在第二工作节点2中的第二局部K-distance近邻为序号为4的数据点。
继续在该实施例中,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻。具体地,可以通过对第一局部K-distance近邻以及第二局部K-distance近邻分别按照距离升序排序,然后通过遍历第一和第二局部K-distance近邻的方式选取距离最小的K个K-distance近邻。
具体地,可以通过reduceByKey操作,将所有序号相同的数据点规约到同一个工作节点上,例如,如图3所示,其中,K=1,将序号为0的数据点的局部K-distance近邻规约到一起,并按照与序号为0的数据点的距离进行排序,确定距离最小的K个数据点,在该实施例中,由于K=1,所以确定序号为0的数据点的全局K-distance近邻为(0.484,0.598),即序号为为0的数据点的全局K-distance近邻为序号为1的数据点,同理,可得序号为1的数据点的全局K-distance近邻为序号为2的数据点。
优选地,其中,所述集群中的工作节点基于所述第一全局K-distance近邻以及所述第二全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离包括:集群中的工作节点基于本工作节点上的每个数据点的全局K-distance近邻、或者基于本工作节点上的每个数据点以及其他工作节点上的数据点的全局K-distance近邻,确定每个数据点与其K-distance近邻的可达距离。
在该实施例中,当本工作节点上每个数据点的全局K-distance近邻都是本工作节点上的数据点时,集群中的工作节点只需基于本工作节点上的每个数据点的全局K-distance近邻,来确定本工作节点上每个数据点与其K-distance近邻的可达距离;当本工作节点上存在数据点的全局K-distance近邻是其他工作节点上的数据点时,需要基于本工作节点上的每个数据点以及涉及到的其他工作节点上的数据点的全局K-distance近邻,来确定本工作节点上每个数据点与其K-distance近邻的可达距离。各个工作节点并行计算,从而实现确定所有数据点的K-distance近邻的可达距离。
在此,数据点o与数据点p之间的可达距离定义如下:
reach-distk(p,o)=maX{k-distOnce(O),d(p,0)}
其中,d(p,o)是指数据点p和o之间的距离。
具体地,对得到的数据点的K-distance近邻中的数据点与近邻点进行交换,例如,数据点p的K-distance近邻记作RDD[(数据点p,[(近邻点o1,距离d1),……,(近邻点ok,距离dk)])],则对数据点p与近邻点进行交换,可记为Swapped_RDD[(近邻点o1,数据点p,距离d1),……,近邻点ok数据点p,距离dk),……],其中,RDD的每一条数据以键值对的形式存储,将近邻点作为键,数据点和距离作为值。将该Swapped_RDD按照键与原RDD进行cogroup操作(这是Spark提供的对RDD的一种操作)。cogroup操作会将Swapped_RDD和原RDD中键相同的数据点规约到同一个工作节点。因此,对于每一条数据中的作为键的数据点,可比较其近邻点的k-distance和该数据点到近邻点之间的距离,取较大值作为该数据点到其近邻点的可达距离,其计算结果记为RDD[数据点p,[(近邻点o1,可达距离d1),...,(近邻点ok,可达距离dk)]]。
本申请中,由于规约后不同键的数据位于不同的工作节点,因此,本发明计算可达距离的过程完全是并行执行,各个工作节点独立负责各自的计算任务,互相不影响,进一步提高了算法的执行速度。
进一步地,集群中的工作节点并行计算每一个数据点的可达密度,即每个工作节点分别计算本工作节点上初始存储的每个数据点的可达密度。其中,可达密度定义如下:
其中,lrdMinPts(p)表示p的可达密度,MinPts(p)表示当k=MinPts时,当前数据点p的所有k-distance近邻。具体地,对计算可达距离后得到的RDD中的每一个数据点进行groupByKey操作,将所有键相同的数据规约到同一个工作节点上。对于规约后的每一条数据,计算键所对应的数据点的所有近邻点的可达距离之和以及近邻点的数量,并根据上述公式计算可达密度,其计算结果为RDD[数据点p,[(近邻点o1,可达密度d1),...,(近邻点ok,可达密度dk)]]。同样,本申请计算可达密度的过程是完全并行执行,各个工作节点独立负责各自的计算任务,互相不影响。
进一步地,集群中的工作节点基于所述每个数据点的可达密度,并行确定本工作节点上每个数据点的异常概率。在此,异常概率记为LOFMinPts(p),定义如下:
具体地,将计算可达密度后得到的RDD与Swapped_RDD进行cogroup操作,计算该数据点的可达密度,该数据点的所有近邻点的可达密度之和,以及近邻点的数量,并根据上述公式计算该数据点是异常数据点的异常概率。同样,本申请计算异常概率的过程是完全并行执行,各个工作节点独立负责各自的计算任务,互相不影响。
与现有技术相比,本申请通过主节点收集并广播各个工作节点上的数据集,以使各个工作节点基于本工作节点上存储的数据集以及主节点广播的数据集来计算每个数据点的异常概率,这种方式,将所需计算量合理分配给每一个工作节点,充分利用了整个集群的计算能力,使得算法的性能表现得到显著提高。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (18)
1.一种用于数据分布式异常检测的方法,其中,该方法包括:
主节点获取集群中第一工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点;
主节点将所述第一数据集广播至所述集群中的第二工作节点,以使所述集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点。
2.一种用于数据分布式异常检测的方法,其中,该方法包括:
集群中的第一工作节点向所述主节点发送本工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点;
集群中的第二工作节点获取所述主节点广播的所述第一工作节点的第一数据集,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点;
集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率。
3.根据权利要求2所述的方法,其中,所述第二工作节点上存储有第二数据集,所述集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率包括:
集群中的所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻、以及所述第二工作节点获取所述第二数据集中数据点的第二全局K-distance近邻;
集群中的工作节点基于所述第一全局K-distance近邻以及所述第二全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离;
集群中的工作节点基于每个数据点与其K-distance近邻的可达距离,并行确定本工作节点上每个数据点的可达密度;
集群中的工作节点基于所述每个数据点的可达密度,并行确定本工作节点上每个数据点的异常概率。
4.根据权利要求3所述的方法,其中,所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻包括:
所述第一工作节点计算所述第一数据集中数据点的第一局部K-distance近邻,其中,所述第一局部K-distance近邻包括所述第一数据集中数据点在所述第一数据集中的K-distance近邻;
所述第二工作节点计算所述第一数据集中数据点的第二局部K-distance近邻,其中,所述第二局部K-distance近邻包括所述第一数据集中数据点在所述第二数据集中的K-distance近邻;
所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻。
5.根据权利要求4所述的方法,其中,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻包括:
所述第一工作节点获取所述第二工作节点确定的第二局部K-distance近邻;
所述第一工作节点基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻。
6.根据权利要求4所述的方法,其中,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻包括:
所述第一工作节点及所述第二工作节点将所述第一局部K-distance近邻及所述第二局部K-distance近邻传输至中间工作节点;
所述第一工作节点接收所述中间工作节点发送的、所述第一数据集中的数据点的全局K-distance近邻,其中,所述中间工作节点基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻。
7.根据权利要求4至6中任一项所述的方法,局部K-distance和全局K-distance近邻的存储方式包括所述数据点的序号标识以及所述数据点的局部和全局K-distance近邻的序号标识。
8.根据权利要求7所述的方法,其中,所述基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻包括:
将所述第一局部K-distance近邻以及第二局部K-distance近邻中序号标识相同的数据点进行规约;
基于所述规约结果确定所述第一数据集中的数据点的全局K-distance近邻。
9.根据权利要求3所述的方法,其中,所述集群中的工作节点基于所述第一全局K-distance近邻以及所述第二全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离包括:
集群中的工作节点基于本工作节点上的每个数据点的全局K-distance近邻、或者基于本工作节点上的每个数据点以及其他工作节点上的数据点的全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离。
10.一种用于数据分布式异常检测的主节点,其中,该主节点用于:
获取集群中第一工作节点上存储的第一数据集,其中,所述第一数据集包含至少一个数据点;并将所述第一数据集广播至所述集群中的第二工作节点,以使所述集群中的工作节点基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点。
11.一种用于数据分布式异常检测的集群,其中,该集群包括:
第一工作节点,用于向所述主节点发送本工作节点上存储的第一数据集以及基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第一数据集包含至少一个数据点;
第二工作节点,用于获取所述主节点广播的所述第一工作节点的第一数据集以及基于本工作节点上的数据集,计算每个数据点的异常概率,其中,所述第二工作节点是所述集群中除所述第一工作节点的其他工作节点。
12.根据权利要求11所述的集群,其中,所述第二工作节点上存储有第二数据集,其中,所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻、以及所述第二工作节点获取所述第二数据集中数据点的第二全局K-distance近邻;所述集群中的工作节点基于所述第一全局K-distance近邻以及所述第二全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离;
并基于每个数据点与其K-distance近邻的可达距离,并行确定本工作节点上每个数据点的可达密度;
并基于所述每个数据点的可达密度,并行确定本工作节点上每个数据点的异常概率。
13.根据权利要求12所述的集群,其中,所述第一工作节点获取所述第一数据集中数据点的第一全局K-distance近邻包括:
所述第一工作节点计算所述第一数据集中数据点的第一局部K-distance近邻,其中,所述第一局部K-distance近邻包括所述第一数据集中数据点在所述第一数据集中的K-distance近邻;
所述第二工作节点计算所述第一数据集中数据点的第二局部K-distance近邻,其中,所述第二局部K-distance近邻包括所述第一数据集中数据点在所述第二数据集中的K-distance近邻;
所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻。
14.根据权利要求13所述的集群,其中,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻包括:
所述第一工作节点获取所述第二工作节点确定的第二局部K-distance近邻;
所述第一工作节点基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻。
15.根据权利要求13所述的集群,其中,所述第一工作节点基于第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中数据点的第一全局K-distance近邻包括:
所述第一工作节点及所述第二工作节点将所述第一局部K-distance近邻及所述第二局部K-distance近邻传输至中间工作节点;
并接收所述中间工作节点发送的、所述第一数据集中的数据点的全局K-distance近邻,其中,所述中间工作节点基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻。
16.根据权利要求13至15中任一项所述的集群,局部K-distance和全局K-distance近邻的存储方式包括所述数据点的序号标识以及所述数据点的局部和全局K-distance近邻的序号标识。
17.根据权利要求16所述的集群,其中,所述基于所述第一局部K-distance近邻以及第二局部K-distance近邻,获取所述第一数据集中的数据点的全局K-distance近邻包括:
将所述第一局部K-distance近邻以及第二局部K-distance近邻中序号标识相同的数据点进行规约;
基于所述规约结果确定所述第一数据集中的数据点的全局K-distance近邻。
18.根据权利要求12所述的集群,其中,所述集群中的工作节点基于所述第一全局K-distance近邻以及所述第二全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离包括:
集群中的工作节点基于本工作节点上的每个数据点的全局K-distance近邻、或者基于本工作节点上的每个数据点以及其他工作节点上的数据点的全局K-distance近邻,并行确定本工作节点上每个数据点与其K-distance近邻的可达距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710778563.7A CN107528904B (zh) | 2017-09-01 | 2017-09-01 | 用于数据分布式异常检测的方法与设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710778563.7A CN107528904B (zh) | 2017-09-01 | 2017-09-01 | 用于数据分布式异常检测的方法与设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107528904A true CN107528904A (zh) | 2017-12-29 |
CN107528904B CN107528904B (zh) | 2020-02-18 |
Family
ID=60683289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710778563.7A Active CN107528904B (zh) | 2017-09-01 | 2017-09-01 | 用于数据分布式异常检测的方法与设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107528904B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108471428A (zh) * | 2018-06-27 | 2018-08-31 | 北京云端智度科技有限公司 | 应用于CDN***内的DDoS攻击主动防御技术及装备 |
CN109388512A (zh) * | 2018-10-30 | 2019-02-26 | 江苏物联网研究发展中心 | 针对大规模计算机集群异常程度的评估与分析*** |
CN110580030A (zh) * | 2019-10-11 | 2019-12-17 | 南京铁道职业技术学院 | 一种基于物联网的药厂环境净化控制*** |
CN111835696A (zh) * | 2019-04-23 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种检测异常请求个体的方法及装置 |
WO2023131962A1 (en) * | 2022-01-04 | 2023-07-13 | Telefonaktiebolaget Lm Ericsson (Publ) | First node, second node and methods performed thereby for handling anomalous values |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702660A (zh) * | 2009-11-12 | 2010-05-05 | 中国科学院计算技术研究所 | 异常域名检测方法及*** |
CN104579846A (zh) * | 2015-01-21 | 2015-04-29 | 清华大学 | 基于可调节分段熵的网络流量异常检测方法 |
CN104852886A (zh) * | 2014-02-14 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 用户帐号的保护方法及装置 |
CN105871634A (zh) * | 2016-06-01 | 2016-08-17 | 北京蓝海讯通科技股份有限公司 | 检测集群异常的方法及应用、管理集群的*** |
WO2017028930A1 (en) * | 2015-08-20 | 2017-02-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for running an analytics function |
US20170149814A1 (en) * | 2015-04-16 | 2017-05-25 | Nec Laboratories America, Inc. | Real-Time Detection of Abnormal Network Connections in Streaming Data |
CN107070753A (zh) * | 2017-06-15 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种分布式集群***的数据监控方法、装置及*** |
-
2017
- 2017-09-01 CN CN201710778563.7A patent/CN107528904B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702660A (zh) * | 2009-11-12 | 2010-05-05 | 中国科学院计算技术研究所 | 异常域名检测方法及*** |
CN104852886A (zh) * | 2014-02-14 | 2015-08-19 | 腾讯科技(深圳)有限公司 | 用户帐号的保护方法及装置 |
CN104579846A (zh) * | 2015-01-21 | 2015-04-29 | 清华大学 | 基于可调节分段熵的网络流量异常检测方法 |
US20170149814A1 (en) * | 2015-04-16 | 2017-05-25 | Nec Laboratories America, Inc. | Real-Time Detection of Abnormal Network Connections in Streaming Data |
WO2017028930A1 (en) * | 2015-08-20 | 2017-02-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and apparatus for running an analytics function |
CN105871634A (zh) * | 2016-06-01 | 2016-08-17 | 北京蓝海讯通科技股份有限公司 | 检测集群异常的方法及应用、管理集群的*** |
CN107070753A (zh) * | 2017-06-15 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种分布式集群***的数据监控方法、装置及*** |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108471428A (zh) * | 2018-06-27 | 2018-08-31 | 北京云端智度科技有限公司 | 应用于CDN***内的DDoS攻击主动防御技术及装备 |
CN108471428B (zh) * | 2018-06-27 | 2021-05-28 | 北京云端智度科技有限公司 | 应用于CDN***内的DDoS攻击主动防御技术及装备 |
CN109388512A (zh) * | 2018-10-30 | 2019-02-26 | 江苏物联网研究发展中心 | 针对大规模计算机集群异常程度的评估与分析*** |
CN111835696A (zh) * | 2019-04-23 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种检测异常请求个体的方法及装置 |
CN111835696B (zh) * | 2019-04-23 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 一种检测异常请求个体的方法及装置 |
CN110580030A (zh) * | 2019-10-11 | 2019-12-17 | 南京铁道职业技术学院 | 一种基于物联网的药厂环境净化控制*** |
WO2023131962A1 (en) * | 2022-01-04 | 2023-07-13 | Telefonaktiebolaget Lm Ericsson (Publ) | First node, second node and methods performed thereby for handling anomalous values |
Also Published As
Publication number | Publication date |
---|---|
CN107528904B (zh) | 2020-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107528904A (zh) | 用于数据分布式异常检测的方法与设备 | |
US10120956B2 (en) | Methods and systems for distributed computation of graph data | |
US10402427B2 (en) | System and method for analyzing result of clustering massive data | |
CN105630847B (zh) | 数据存储方法、数据查询方法、装置及*** | |
US20150006316A1 (en) | System and method for parallel search on explicitly represented graphs | |
CN102822822B (zh) | 图像管理装置、图像管理方法、程序、记录介质、集成电路 | |
Dai et al. | A new replica placement policy for hadoop distributed file system | |
Ibrahim et al. | Intelligent data placement mechanism for replicas distribution in cloud storage systems | |
CN108268586A (zh) | 跨多数据表的数据处理方法、装置、介质和计算设备 | |
US20110179013A1 (en) | Search Log Online Analytic Processing | |
US20100205075A1 (en) | Large-scale item affinity determination using a map reduce platform | |
CN108204821A (zh) | 一种路径规划方法及装置 | |
Ma et al. | In-memory distributed indexing for large-scale media data retrieval | |
Aksehirli et al. | Efficient cluster detection by ordered neighborhoods | |
CN109993338B (zh) | 一种链路预测方法及装置 | |
US20160055211A1 (en) | Apparatus and method for memory storage and analytic execution of time series data | |
Li et al. | Algorithms for loading parallel grid files | |
CN108073356A (zh) | 一种数据存储、查找方法、装置及数据处理*** | |
CN112015825B (zh) | 基于区块链的模型登记方法、装置及电子设备 | |
CN106649566A (zh) | 一种序列号生成方法及装置 | |
CN103957012B (zh) | 一种dfa矩阵的压缩方法及装置 | |
JP6784096B2 (ja) | データ分配プログラム、データ分配方法、およびデータ分配装置 | |
Van Dam et al. | Duplicate detection in web shops using LSH to reduce the number of computations | |
CN107392220A (zh) | 数据流的聚类方法和装置 | |
CN114385922A (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 | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai Patentee after: Star link information technology (Shanghai) Co.,Ltd. Address before: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai Patentee before: TRANSWARP TECHNOLOGY (SHANGHAI) Co.,Ltd. |