CN110389973B - 一种异构分布式环境中的并行离群点检测方法 - Google Patents
一种异构分布式环境中的并行离群点检测方法 Download PDFInfo
- Publication number
- CN110389973B CN110389973B CN201910693614.5A CN201910693614A CN110389973B CN 110389973 B CN110389973 B CN 110389973B CN 201910693614 A CN201910693614 A CN 201910693614A CN 110389973 B CN110389973 B CN 110389973B
- Authority
- CN
- China
- Prior art keywords
- data
- slave node
- node
- block
- outlier
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013450 outlier detection Methods 0.000 title claims abstract description 17
- 238000009826 distribution Methods 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 16
- 238000005192 partition Methods 0.000 claims description 6
- 238000001914 filtration Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000000638 solvent extraction Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种异构分布式环境中的并行离群点检测方法,该方法包括:S1、主控制节点基于各个从节点计算能力对给定的多维数据集进行划分以获得多个子数据集并将各子数据集分配给各个从节点;S2、各个从节点分别确定出各自对应的局部离群点后发送至主控制节点;S3、主控制节点在接收到全部局部离群点后,基于每个局部离群点的位置信息,判断该离群点需要进行通信的从节点并将全部与所述从节点对应的离群点统一发送到所述从节点的处理机上获得全部全局离群点,本发明既可以减缓单处理机存储的压力,也可有效提高大规模数据的处理速度,加快整体的计算效率;同时减少了大量的网络通信。
Description
技术领域
本发明涉及数据挖掘技术领域,尤其涉及一种异构分布式环境中的并行离群点检测方法。
背景技术
近些年,随着智能化社会的不断推进,交通、医疗、金融、教育等各行各业的信息数据都呈现出爆炸式的增长,这些体量庞大的数据直接增加了价值信息的发现难度。离群点检测作为知识发现领域中的重要研究内容之一,其主要目的是识别出数据集中异常但有价值的数据点。目前,有关离群点的研究主要面向集中式的处理环境,随着数据库中数据量的不断增加,这些算法很难保证离群点的检测效率,分布式技术是目前应对大数据最常用的策略之一。
在实际的分布式系统中,主要可分为同构分布式系统和异构分布式系统这两类;同构分布式系统是通过网络连接多个相同类型的处理机而形成的计算系统,系统中每个处理机的配置都大致相同;而在异构分布式系统中,每个通过网络连接起来的处理机的配置会存在差异,也即各处理机之间是异构的。但是在实际应用中,由于参与分布式计算的处理机在配置上的差异,使得异构分布式环境更为普遍。
需要说明的是现有的分布式离群点检测算法都致力于解决同构分布式环境中的离群点检测问题,没有考虑异构分布式环境中各处理机计算能力不同的特点,也就是说现有技术中对于面向异构分布式环境的离群点检测技术研究较少,特别是如何实现面向异构分布式环境的高效离群点检测技术。
发明内容
基于此,为解决现有技术存在的不足,特提出了一种异构分布式环境中的并行离群点检测方法。
一种异构分布式环境中的并行离群点检测方法,所述异构分布式环境包括一个主控制节点和数目固定的多个从节点,各个从节点均能够与其相邻的从节点进行通信且各所述从节点的配置各不相同;该方法包括如下步骤:
S1、主控制节点基于各个从节点计算能力对给定的多维数据集进行划分以获得多个子数据集并将各子数据集分配给各个从节点;
S2、各个从节点分别确定出各自对应的局部离群点后发送至主控制节点;
S3、主控制节点在接收到全部局部离群点后,基于每个局部离群点的位置信息,判断该离群点需要进行通信的从节点并将全部与所述从节点对应的离群点统一发送到所述从节点的处理机上获得全部全局离群点。
可选的,在其中一个实施例中,所述S1包括如下步骤:
S11、分别确定出全部从节点内各自所对应的计算能力等级;
S12、对给定的多维数据集中数据分布最均匀的二维空间利用网格进行数据划分以获取多个不相交的数据子块;
S13、按照所划分的网格对应的行序,依次将各数据子块分配至相应的从节点,对应的分配原则为:首先,依次判断当前待分配的数据子块内的数据量是否小于等于当前从节点的所需要的数据量,是则将该数据子块分配给该从节点并修改该从节点所对应的数据量,否则停止对该从节点的数据子块分配过程并继续对下一从节点进行分配直至当前待分配从节点队列为空,未被分配的数据块暂时存储在主控制节点上,所述从节点的的分配顺序为以从节点所对应的计算能力自强至弱的顺序。
S14、在收到空闲的从节点所发出任务分配请求时,主控制节点对未被分配的数据块进行动态分配以将未被分配的数据块中合理的数据量发送至当前空闲的从节点。
可选的,在其中一个实施例中,所述S12包括如下步骤:
S121、根据划分段数Segment将数据集的每一维度划分成s个区间,并选定数据分布的均匀性符合要求的数据维度作为候选维度;所述划分段数Segment 的计算公式为:其中,comp_Grade(ci)表示处理机 ci的计算能力得分,n表示处理机的数目,single_U(d)表示数据在第d维上分布的均匀程度,则选择single_U(d)值最小的个数据维度作为候选维度, single_U(d)的计算公式为:其中, num(segment(i))表示数据在第d维上的第i个划分段内的实际分布数量;μ表示数据在第d维上每个划分段数内的平均分布数量,μ等于数据集的大小与划分段数Segment的比值;n的取值等于划分段数Segment的值;
S122、以数据维度的均匀程度自高至低的顺序,自所述候选维度中,依次选取两个维度建立二维网格,并根据multi_U(d1,d2)值最小的二个维度上对应的网格对数据集进行划分,以获取多个不相交的划分数据子块;其中,multi_U(d1,d2) 表示数据在由d1和d2维所组成的二维空间内的分布均匀程度multi_U(d1,d2)的计算公式为:其中,num(gi)表示数据在当前d1和 d2维空间内所建立的网格索引中第i个网格内的实际分布数量;n表示的是二维网格中网格的数目,其值等于划分段数Segment的平方;μ表示是数据在每个网格内的平均分布数据,其值等于数据集的总量与网格数目的比值。
可选的,在其中一个实施例中,所述S14包括如下步骤:
S141、计算前空闲的从节点在当前所划分的数据集中进行离群点检测任务时的实时处理速度vi,对应的公式为:
其中,t表示当前空闲从节点ci完成初始分配任务的时间, complete_num(ci)表示各从节点在该时间内已完成的数据量;
S142、估算剩余的所有计算任务完成的时间T,所述时间T其值等于当前未被处理的数据总量除以各从节点的处理速度之和;
S143、估算主控制节点应分配给当前空闲从节点的数据量,该数据量是通过计算所述时间T和实时处理速度vi相乘的值所获得的。
可选的,在其中一个实施例中,所述S2包括如下步骤:
所述S2包括如下步骤:
S21、以数据集P中的距离随机的数据点p由近及远的顺序创建每一从节点所对应的数据分布索引;
S22、定义数据点p所对应的数据结构node并基于第一查询规则确定出全部局部离群点,所述数据结构node包括p.id、p.nn和p.r,其中,p.id表示数据点p在数据集P中的唯一标识,p.r表示数据点p与其第k个近邻点的距离,p.nn表示数据点p在数据子块P中的邻居情况即p.nn是一个大小为用户给定的查询数量阈值k的查询列表,用于存储数据集P中与数据点p的距离不大于用户给定的查询距离阈值r的数据点q的标识及数据点q与数据点p之间的距离值dist(p,q);并设定当p.nn的大小为k时,p.r等于存储在p.nn中最大的距离值,当p.nn的大小小于k时,p.r的值设为+∞;所述第一查询规则包括若数据点p所对应的node结构中p.nn列表已满且p.r的值小于等于查询距离阈值r,则数据点p是非离群点;反之,数据点p是离群点;若数据点p与全部数据点都进行距离计算后其p.nn列表没有满,则将数据点q的node结构存储到从节点的内存中。
可选的,在其中一个实施例中,所述S22还包括如下步骤:通过下述过滤规则对非离群点进行筛选,该过滤规则为:若当前扫描到的数据集P中的数据点q 与内存中存储的数据点p之间的距离满足dist(p,q)≤r-p.r,则数据点q确定为非离群点。
可选的,在其中一个实施例中,基于第二查询规则确定出全局离群点,该第二查询规则包括:首先,判断所述数据子块b中的任意本地离群点p是否满足p[d1]-b.min[d1]>r且b.max[d2]-p[d2]≥r,是则该数据点p是全局离群点,否则计算数据点p与其所在数据子块b的相邻数据块的最小距离用以确定出需要将该本地离群点p发送给对应的数据子块,数据点p到数据子块b的最小距离的具体计算公式如下:
其中,min_dist(p,b)表示由d1维和d2维所组成的二维空间中数据点p与数据块b的最小距离,d1维和d2维所组成的二维空间即为数据集中数据分布最均匀的二维空间,d1、d2分别表示选定的两个数据分布最均匀的二维空间的维度符号;
每个划分所得的数据子块b表示成b=[b.min,b.max],b.min表示数据子块b的下界,b.max表示数据子块b的上界,对于数据子块b中的任意数据点p,都有 b.min[d1]≤p[d1]≤b.max[d1],b.min[d2]≤p[d2]≤b.max[d2],
p[i]表示在第i维度上点p的度量值;z[i]代表在第i维度上数据点p到数据子块b的最小距离;
其次,判断数据子块b的近邻数据子块集合中的某个数据子块bi,若两者最小距离min_dist(p,bi)小于等于用户给定的查询距离阈值r,则确定当前的数据块bi内可能存在本地离群点p的近邻,则将数据点p放到待发送给数据块bi的候选集合中;
最后,主控制节点将所述候选集合发送到数据子块bi所在从节点,所述从节点依次计算候选集合中的候选离群点p与数据集P中其他数据点的距离以进行全局离群点的判断。
此外,为解决传统技术存在的不足,还提出了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行所述的方法。
实施本发明实施例,将具有如下有益效果:
首先,本发明应用分布式技术,既可以减缓单处理机存储的压力,也可有效提高大规模数据的处理速度;其次本发明提出一种基于网格的动态数据划分方法,依据异构分布式环境中各处理机计算能力的差异动态的分配计算任务,实现了计算过程中各处理机计算任务的负载均衡,加快整体的计算效率;同时本发明所提出的基于网格的动态的数据划分方法考虑数据集中数据点所处的空间位置信息,尽可能将空间上相邻的数据点划分至同一处理机,减少了大量的网络通信。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为一个实施例中所述方法对应的异构分布式环境查询处理框架结构示意图;
图2为一个实施例中所述方法对应的核心步骤流程示意图;
图3为一个实施例中所述方法对应的数据块分配顺序示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本发明。可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一元件称为第二元件,且类似地,可将第二元件为第一元件。第一元件和第二元件两者都是元件,但其不是同一元件。
为了解决在面对异构分布式环境的高效离群点检测技术时存在的不足,在本实施例中,特提出了一种基于主从架构的分布式处理框架来设计的基于距离的离群点查询处理技术的方法,如图1,该分布式处理框架整体上包含一台主控制节点和数目固定的多个从节点C={c1,c2,...,cn};其中,每个参与计算的从节点的配置各不相同,使得它们在计算能力上存在差异;另外,在这个框架中,要保障主控节点能够和每一个从节点都通过网络互连,即可以进行网络的通信,而每两个相邻的从节点之间也可通过相连的网络通信。同时为了防止主控节点在计算过程中发生拥塞,在进行数据划分时需要使得主控节点尽量不被分配计算任务。也即在整个基于距离的离群点计算过程中,主控节点主要负责计算任务的调度,大部分的离群点计算任务都将由从节点完成。
基于上述设计思路,给定所述的异构分布式环境中的并行离群点检测任务:即对于给定的数据集合P、查询距离阈值r和查询数量阈值k,通过充分利用本发明中异构分布式计算框架中各异构处理机的计算能力,快速地计算出给定数据集合P中的所有基于距离的离群点。
具体的实例,如图1-2所示,该方法包括:
S1、主控制节点基于各个从节点计算能力对给定的多维数据集进行划分以获得多个子数据集并将各子数据集分配给各个从节点;本步骤为数据划分阶段,是指对于给定的多维数据集,主控制节点首先要依据各从节点(本地异构处理机) 的计算能力的不同对整个数据集进行划分,然后将划分后的每个子数据集发送到相应的从节点的过程。在一些具体的实施例中,S1包括如下步骤:S11、分别确定出各个从节点各自所对应的计算能力等级;S12、对给定的多维数据集中数据分布最均匀的二维空间利用网格进行数据划分以获取多个不相交的划分数据子块;S13、按照所划分的网格对应的行序,依次将各数据子块分配至相应的从节点,对应的分配原则为:首先,依次判断当前待分配的数据子块内的数据量是否小于等于当前从节点的所需要的数据量,是则将该数据子块分配给该从节点并修改该从节点所对应的数据量,否则停止对该从节点的数据子块分配过程并继续对下一从节点进行分配直至当前待分配从节点队列为空,未被分配的数据块暂时存储在主控制节点上,所述从节点的的分配顺序为以从节点所对应的计算能力自强至弱的顺序;S14、在收到空闲的从节点所发出任务分配请求时,主控制节点对未被分配的数据块进行动态分配以将未被分配的数据块中合理的数据量发送至当前空闲的从节点。在一些更具体的实施例中,S11中各所述工作节点按照各自的计算能力划分为A、B、C、D四个等级,其中,各从节点的计算能力与当前最大计算能力的比值确定该节点处理机的计算等级及相应的计算能力,其所得比值在区间(0,1](0,1]内即被评为等级A的工作节点的计算能力最弱,其分值为1,相应的B、C、D等级的工作节点的计算能力依次增强,分值分别为2、3、4,将区间(0,1]分为四等份,比值在(0,0.25]区间内的处理机的等级为A;比值在(0.25,0.5]区间内的处理机的等级为B;比值在(0.5,0.75]区间内的处理机的等级为C;比值在(0.75,1]区间内的处理机的等级为D。由于本案的发明点不在于如何对从节点各自所对应的计算能力进行分级,因此也可以其他分级方案,本例不做具体限定。在一些更具体的实施例中,S12中包括S121、根据划分段数Segment将数据集的每一维度划分成s个区间,并选定数据分布的均匀性符合要求的数据维度作为候选维度;所述划分段数Segment的计算公式为:其中,comp_Grade(ci)表示处理机ci的计算能力得分,n表示处理机的数目,为了明确数据分布的均匀情况,用single_U(d) 表示数据在第d维上分布的均匀程度,则选择single_U(d)值最小的个数据维度作为候选维度,其中,single_U(d)的值越小,表示数据在第d维上分布越均匀。具体的single_U(d)的计算公式为:其中,num(segment(i))表示数据在第d维上的第i个划分段内的实际分布数量;μ表示数据在第d维上每个划分段数内的平均分布数量,μ等于数据集的大小与划分段数Segment的比值;n的取值等于划分段数Segment的值;S122、依据划分段数Segment,以数据维度的均匀程度自高至低的顺序,自所述候选维度中,依次选取两个维度建立二维网格,并根据multi_U(d1,d2)值最小的二个维度上对应的网格对数据集进行划分,以获取多个不相交的划分数据子块;其中, multi_U(d1,d2)表示数据在由d1和d2维所组成的二维空间内的分布均匀程度,同样地,multi_U(d1,d2)的值越小,表明数据在该二维空间内分布越均匀。具体的, multi_U(d1,d2)的计算公式为:其中,num(gi)表示数据在当前d1和d2维空间内所建立的网格索引中第i个网格内的实际分布数量;n表示的是二维网格中网格的数目,其值等于划分段数Segment的平方;μ表示是数据在每个网格内的平均分布数据,其值等于数据集的总量与网格数目的比值。在一些更具体的实施例中,所述S13为数据子块的分配过程,其具体包括如下步骤:对于上一步所划分的二维网格,按照二维网格的行序将相邻的数据块依次进行分配,用以保证将空间中相邻的数据对象尽可能分配到同一工作节点,其中优先选择计算机能力强的处理机进行数据块的分配,如图3所示,箭头所指方向为具体的数据块分配顺序,以此对划分的每个数据块进行编码,并把编码后的数据子块存储到待分配的集合中;具体,对于从节点队列中的从节点ci,根据其需要的数据量num(ci),判断数据块集合中的数据子块bi内的数据量 num(bi)是否小于等于当前从节点ci所需要的数据量num(ci),如果条件成立,则将数据块bi分配给从节点ci,并更新从节点ci所需要的数据量num(ci);如果数据块集合中的数据块bi内的数据量num(bi)大于当前从节点的处理机ci所需要的数据量num(ci),则停止对当前从节点ci的数据块分配,继续对下一个从节点进行数据块的分配;当从节点队列为空时,整个分配过程结束,并将剩余的未被分配的数据块暂时存储在主控制节点上。在一些更具体的实施例中,所述S14为动态数据分配过程,即当有空闲的从节点向主控制节点发出任务分配请求时,动态数据分配过程启动。即主控制节点估计要分配给当前空闲从节点数据量,然后将剩余数据块中合理的数据量发送给空闲的从节点;其包括如下步骤:S141、计算前空闲的从节点在当前所划分的数据集中进行离群点检测任务时的实时处理速度 vi,对应的公式为:
其中,t表示当前空闲从节点ci完成初始分配任务的时间, complete_num(ci)表示各从节点在该时间内已完成的数据量;S142、估算剩余的所有计算任务完成的时间T,所述时间T其值等于当前未被处理的数据总量除以各从节点的处理速度之和;S143、估算主控制节点应分配给当前空闲从节点的数据量,该数据量是通过计算所述时间T和实时处理速度vi相乘的值所获得的当存储在主控制节点上的数据都被分配后,整个动态分配过程结束。
S2、各个从节点分别确定出各自对应的局部离群点后发送至主控制节点;本步骤为局部离群点计算阶段,具体是指各个参与计算从节点在接收到对应的数据子集合后,根据基于距离的离群点定义,检测出局部离群点,并将它们发送给主控制节点的过程。在一些具体的实施例中,所述S2包括如下步骤:S21、以数据集P中的距离随机的数据点p由近及远的顺序创建每一从节点所对应的数据分布索引;本步骤的目的是构建索引即对于每个从节点对应的处理机,随机选取一个数据点p,计算数据集P中其它数据点到点p的距离以大致明确数据的分布情况,依据距离数据点p由近及远的顺序对数据集P中的数据进行管理;S22、定义数据点p所对应的数据结构node并基于第一查询规则确定出全部局部离群点,所述数据结构node包括p.id、p.nn和p.r,其中,p.id表示数据点p在数据集 P中的唯一标识,p.r表示数据点p与其第k个近邻点的距离,p.nn表示数据点 p在数据集P中的邻居情况即p.nn是一个大小为用户给定的查询数量阈值k的查询列表,用于存储数据集P中与数据点p的距离不大于用户给定的查询距离阈值r的数据点q的标识及数据点q与数据点p之间的距离值dist(p,q);并设定当 p.nn的大小为k时,p.r等于存储在p.nn中最大的距离值,当p.nn的大小小于k时,p.r的值设为+∞;所述第一查询规则包括若数据点p所对应的node结构中p.nn列表已满且p.r的值小于等于查询距离阈值r,则数据点p是非离群点;反之,数据点p是离群点;若数据点p与全部数据点都进行距离计算后其p.nn列表没有满,则将数据点q的node结构存储到从节点的内存中。在一些具体的实施例中,所述 S22还包括如下步骤:通过下述过滤规则对非离群点进行筛选,该过滤规则为:若当前扫描到的数据集P中的数据点q与内存中存储的数据点p之间的距离满足 dist(p,q)≤r-p.r,则数据点q确定为非离群点。此步骤的目的是对某些明显属于非离群点的数据点进行筛选,节省本地离群点的确认时间。
S3、主控制节点在接收到全部局部离群点后,基于每个局部离群点的位置信息,判断该离群点需要进行通信的从节点并将全部与所述从节点对应的离群点统一发送到所述从节点的处理机上获得全部全局离群点,全局离群点计算阶段,是指主控制节点在接收到每个从节点发送的本地离群点后,根据每个候选离群点的位置信息,判断每个候选离群点需要进行通信的从节点,然后将它们统一发送到相应处理机上进行再次距离计算,得出最终的全局离群点的过程。在一些具体的实施例中,S3包括:基于第二查询规则确定出全局离群点,该第二查询规则包括:首先,判断某一数据子块b中的任意本地离群点p是否满足 p[d1]-b.min[d1]>r且b.max[d2]-p[d2]≥r,是则该数据点p是全局离群点,否则计算数据点p与其所在数据子块b的相邻数据块的最小距离用以确定出需要将该本地离群点p发送给哪个数据子块,从而判段出需要将本地离群点p发送给哪个数据块,从而确定其是否为真正的离群点,所述最小距离的具体计算公式如下:
其中,min_dist(p,b)表示由d1维和d2维所组成的二维空间中数据点p与数据块b的最小距离,d1、d2表示所选定的两个数据分布最均匀的二维空间的维度符号,d1维和d2维所组成的二维空间即为利用网格索引结构所确定的数据集中数据分布最均匀的二维空间,每个划分所得的数据子块b表示成b=[b.min,b.max],b.min表示数据子块b的下界,b.max表示数据子块b的上界,对于数据子块b中的任意数据点p,都有b.min[d1]≤p[d1]≤b.max[d1],b.min[d2]≤p[d2]≤b.max[d2],
p[i]代表在第i维度上点p的度量值,即若二维数据点p(x,y)=p(3, 5),则p(x)=3,p(y)=5;z[i]表示在第i维度上点p到数据子块b的最短距离,通过求取两个纬度上的z[i],即可整合求出min_dist(p,b),由此得到点p 到数据子块b的最小距离;
其次,判断数据子块b的近邻数据子块集合中的某个数据子块bi,若两者最小距离min_dist(p,bi)小于等于用户给定的查询距离阈值r,则确定当前的数据块bi内可能存在本地离群点p的近邻,则将数据点p放到待发送给数据块bi的候选集合(全部符合的前述条件的数据点均放在该集合)中便于后续进一步判断;
最后,主控制节点通过网络通信将所述候选集合发送到数据子块bi所在从节点,所述从节点依次计算候选集合中的候选离群点p与数据集中其他数据点的距离以进行全局离群点的判断;最终每个从节点将计算的全局离群点反馈给主控制处理机,供用户查看。
基于相同的发明构思,本发明还提出了一种计算机可读存储介质,包括计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行所述的方法。
实施本发明实施例,将具有如下有益效果:
首先,本发明应用分布式技术,既可以减缓单处理机存储的压力,也可有效提高大规模数据的处理速度其次本发明提出一种基于网格的动态数据划分方法,依据异构分布式环境中各处理机计算能力的差异动态的分配计算任务,实现了计算过程中各处理机计算任务的负载均衡,加快整体的计算效率;同时本发明所提出的基于网格的动态的数据划分方法考虑数据集中数据点所处的空间位置信息,尽可能将空间上相邻的数据点划分至同一处理机,减少了大量的网络通信。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (5)
1.一种异构分布式环境中的并行离群点检测方法,所述异构分布式环境包括一个主控制节点和数目固定的多个从节点,各个从节点均能够与其相邻的从节点进行通信且各所述从节点的配置各不相同;该方法包括如下步骤:
S1、主控制节点基于各个从节点计算能力对给定的多维数据集进行划分以获得多个子数据集并将各子数据集分配给各个从节点;
S2、各个从节点分别确定出各自对应的局部离群点后发送至主控制节点;
S3、主控制节点在接收到全部局部离群点后,基于每个局部离群点的位置信息,判断该离群点需要进行通信的从节点并将全部与所述从节点对应的离群点统一发送到所述从节点的处理机上获得全部全局离群点;所述S1包括如下步骤:
S11、分别确定出全部从节点内各自所对应的计算能力等级;
S12、对给定的多维数据集中数据分布最均匀的二维空间利用网格进行数据划分以获取多个不相交的数据子块;
S13、按照所划分的网格对应的行序,依次将各数据子块分配至相应的从节点,对应的分配原则为:首先,依次判断当前待分配的数据子块内的数据量是否小于等于当前从节点的所需要的数据量,是则将该数据子块分配给该从节点并修改该从节点所对应的数据量,否则停止对该从节点的数据子块分配过程并继续对下一从节点进行分配直至当前待分配从节点队列为空,未被分配的数据块暂时存储在主控制节点上,所述从节点的分配顺序为以从节点所对应的计算能力自强至弱的顺序;
S14、在收到空闲的从节点所发出任务分配请求时,主控制节点对未被分配的数据块进行动态分配以将未被分配的数据块中合理的数据量发送至当前空闲的从节点;所述S12包括如下步骤:
S121、根据划分段数Segment将数据集的每一维度划分成s个区间,并选定数据分布的均匀性符合所设定要求的数据维度作为候选维度;所述划分段数Segment的计算公式为:其中,comp_Grade(ci)表示处理机ci的计算能力得分,n表示处理机的数目,single_U(d)表示数据在第d维上分布的均匀程度,则选择single_U(d)值最小的个数据维度作为候选维度,single_U(d)的计算公式为:其中,num(segment(i))表示数据在第d维上的第i个划分段内的实际分布数量;μ表示数据在第d维上每个划分段数内的平均分布数量,μ等于数据集的大小与划分段数Segment的比值;n的取值等于划分段数Segment的值;
3.根据权利要求1所述的方法,其特征在于,所述S2包括如下步骤:
S21、以数据集P中的距离随机的数据点p由近及远的顺序创建每一从节点所对应的数据分布索引;
S22、定义数据点p所对应的数据结构node并基于第一查询规则确定出全部局部离群点,所述数据结构node包括p.id、p.nn和p.r,其中,p.id表示数据点p在数据集P中的唯一标识,p.r表示数据点p与其第k个近邻点的距离,p.nn表示数据点p在数据子块P中的邻居情况即p.nn是一个大小为用户给定的查询数量阈值k的查询列表,用于存储数据集P中与数据点p的距离不大于用户给定的查询距离阈值r的数据点q的标识及数据点q与数据点p之间的距离值dist(p,q);并设定当p.nn的大小为k时,p.r等于存储在p.nn中最大的距离值,当p.nn的大小小于k时,p.r的值设为+∞;所述第一查询规则包括若数据点p所对应的node结构中p.nn列表已满且p.r的值小于等于查询距离阈值r,则数据点p是非离群点;反之,数据点p是离群点;若数据点p与全部数据点都进行距离计算后其p.nn列表没有满,则将数据点q的node结构存储到从节点的内存中。
4.根据权利要求3所述的方法,其特征在于,所述S22还包括如下步骤:通过下述过滤规则对非离群点进行筛选,该过滤规则为:若当前扫描到的数据集P中的数据点q与内存中存储的数据点p之间的距离满足dist(p,q)≤r-p.r,则数据点q确定为非离群点。
5.根据权利要求4所述的方法,其特征在于,所述S3包括如下步骤:
基于第二查询规则确定出全局离群点,该第二查询规则包括:首先,判断所述数据子块b中的任意本地离群点p是否满足p[d1]-b.min[d1]>r且b.max[d2]-p[d2]≥r,是则该数据点p是全局离群点,否则计算数据点p与其所在数据子块b的相邻数据块的最小距离用以确定出需要将该本地离群点p发送给对应的数据子块,数据点p到数据子块b的最小距离的具体计算公式如下:
其中,min_dist(p,b)表示由d1维和d2维所组成的二维空间中数据点p与数据块b的最小距离,d1维和d2维所组成的二维空间即为数据集中数据分布最均匀的二维空间,d1、d2分别表示选定的两个数据分布最均匀的二维空间的维度符号;
每个划分所得的数据子块b表示成b=[b.min,b.max],b.min表示数据子块b的下界,b.max表示数据子块b的上界,对于数据子块b中的任意数据点p,都有b.min[d1]≤p[d1]≤b.max[d1],b.min[d2]≤p[d2]≤b.max[d2],
p[i]表示在第i维度上点p的度量值;z[i]在第i维度上点p到数据子块b的最短距离;
其次,判断数据子块b的近邻数据子块集合中的某个数据子块bi,若两者最小距离min_dist(p,bi)小于等于用户给定的查询距离阈值r,则确定当前的数据块bi内可能存在本地离群点p的近邻,则将数据点p放到待发送给数据块bi的候选集合中;
最后,主控制节点将所述候选集合发送到数据子块bi所在从节点,所述从节点依次计算候选集合中的候选离群点p与数据集P中其他数据点的距离以进行全局离群点的判断。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693614.5A CN110389973B (zh) | 2019-07-30 | 2019-07-30 | 一种异构分布式环境中的并行离群点检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693614.5A CN110389973B (zh) | 2019-07-30 | 2019-07-30 | 一种异构分布式环境中的并行离群点检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110389973A CN110389973A (zh) | 2019-10-29 |
CN110389973B true CN110389973B (zh) | 2022-06-07 |
Family
ID=68287927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910693614.5A Expired - Fee Related CN110389973B (zh) | 2019-07-30 | 2019-07-30 | 一种异构分布式环境中的并行离群点检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110389973B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114172952A (zh) * | 2021-11-12 | 2022-03-11 | 杭州房象网络科技有限公司 | 多站点业务数据分配方法、系统、设备及介质 |
CN114327880A (zh) * | 2021-12-23 | 2022-04-12 | 广州亿电邦科智能网络科技有限公司 | 一种轻代码异构分布式系统的计算方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN106708647A (zh) * | 2016-12-30 | 2017-05-24 | 浙江工商大学 | 大数据环境下的分布式跨维度异常数据检测方法 |
CN107577716A (zh) * | 2017-08-09 | 2018-01-12 | 浙江工商大学 | 大数据环境下面向民生消费领域的分布式跨维度异常数据检测方法 |
-
2019
- 2019-07-30 CN CN201910693614.5A patent/CN110389973B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073546A (zh) * | 2010-12-13 | 2011-05-25 | 北京航空航天大学 | 一种云计算环境中分布式计算模式下的任务动态调度方法 |
CN106708647A (zh) * | 2016-12-30 | 2017-05-24 | 浙江工商大学 | 大数据环境下的分布式跨维度异常数据检测方法 |
CN107577716A (zh) * | 2017-08-09 | 2018-01-12 | 浙江工商大学 | 大数据环境下面向民生消费领域的分布式跨维度异常数据检测方法 |
Non-Patent Citations (1)
Title |
---|
BOD:一种高效的分布式离群点检测算法;王习特;《计算机学报》;20160131;第39卷(第1期);第36-51页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110389973A (zh) | 2019-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113434253B (zh) | 集群资源调度方法、装置、设备及存储介质 | |
US7203747B2 (en) | Load balancing system and method in a multiprocessor system | |
US20070143759A1 (en) | Scheduling and partitioning tasks via architecture-aware feedback information | |
CN106528280A (zh) | 一种任务分配方法和系统 | |
CN110389973B (zh) | 一种异构分布式环境中的并行离群点检测方法 | |
CN112995289A (zh) | 一种基于非支配排序遗传策略的车联网多目标计算任务卸载调度方法 | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
WO2023087658A1 (zh) | 一种任务调度方法、装置、设备及可读存储介质 | |
CN108270805A (zh) | 用于数据处理的资源分配方法及装置 | |
CN114595049A (zh) | 一种云边协同任务调度方法及装置 | |
CN103701894A (zh) | 动态资源调度方法与系统 | |
CN116700993B (zh) | 一种负载均衡方法、装置、设备及可读存储介质 | |
CN111176840A (zh) | 分布式任务的分配优化方法和装置、存储介质及电子装置 | |
CN113590307A (zh) | 边缘计算节点优化配置方法、装置及云计算中心 | |
CN115169634A (zh) | 一种任务分配优化处理方法及装置 | |
CN116048773B (zh) | 一种基于波函数坍缩的分布式协作任务指派方法和系统 | |
CN113326125B (zh) | 大规模分布式图计算端到端加速方法及装置 | |
CN114584565B (zh) | 一种应用防护方法及系统、电子设备及存储介质 | |
CN113157431A (zh) | 一种针对边缘网络应用环境的计算任务副本分发方法 | |
CN112383949B (zh) | 一种边缘计算与通信资源分配方法及系统 | |
CN109947530B (zh) | 一种针对云平台的多维度虚拟机映射方法 | |
CN118158092B (zh) | 一种算力网络调度方法、装置及电子设备 | |
CN117492934B (zh) | 一种基于云服务智能部署的数据处理方法及系统 | |
CN107273207A (zh) | 一种基于超图划分算法的相关数据存储方法 | |
CN117762633A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220607 |
|
CF01 | Termination of patent right due to non-payment of annual fee |