一种面向数值型流数据的近似离群点计算方法和系统与流程

文档序号:24419197发布日期:2021-03-26 21:46阅读:125来源:国知局
一种面向数值型流数据的近似离群点计算方法和系统与流程

1.本发明涉及数据处理技术领域,尤其涉及一种面向数值型流数据的近似离群点计算方法和系统。


背景技术:

2.随着计算机技术的不断发展,流数据逐渐成为主流数据类型之一。与传统数据类型相比,流数据具有数据规模大、传输速度快等特点。据统计,腾讯数据平台每天实时数据计算量超过30万亿条,阿里公司双十一的交易峰值达到32.5万笔/秒、支付峰值达到25.6万笔/秒。离群点检测是数据流环境下的一类重要查询。它从海量数据中找到异常数据,在网络安全等领域具有重要应用。
3.在本领域的公知技术中,研究者一般维护一组候选离群点,随后依靠多维数据索引技术管理流数据,根据数据进入窗口的时序关系找到不可能成为离群点的数据,将此类数据移出候选集合。然而,流数据通常更新频繁且规模较大,实现流数据的索引和候选集的维护需要消耗高昂的计算代价和空间代价。在公知技术中,yang等人在《neighbor

based pattern detection for windows over streaming data》中基于流数据间的时序关系提出了一种“可预测”的离群点检测算法。该算法根据候选离群点周围对象的数目和这些对象与候选离群点间的时序关系判断候选离群点成为离群点的时间和可能性。该算法可保证在大多数条件下只需维护少量候选离群点变可支持离群点检测。m.kontaki等人在《continuous monitoring of distance

based outliers over data streams》中提出了基于微聚类的算法mcod。它把数据划分到一组“微核”里,然后利用索引m

tree管理“微核”。它的优点是可以利用“微核”快速过滤非离群点。然而,mcod对数据的分布和维度十分敏感,当数据维度高时,“微核”的作用也会随之降低。另外,在公知技术中,cao等人在《scalable distance

based outlier detection over high

volume data streams》中提出了基于高速流的算法leap。leap利用高速流的特性快速过滤同一时间段内到达的数据,利用r

tree管理流数据。然而,leap对数据流的规模和流速非常敏感。当流速较小时,leap的计算效率会迅速降低。总之,上述公知技术在流数据环境下均需要消耗高昂的计算代价和空间代价检测离群点,无法支持高速流环境下的离群点检测。


技术实现要素:

4.为解决现有技术中存在的至少一个技术问题,本发明通过分析包括代表金融数据、网络流量数据,医疗检测数据等的多种流数据,提出了一种面向数值型流数据的近似离群点计算方法和系统。
5.根据本申请的一个方面的一个实施例,本申请提供的面向数值型流数据的近似离群点计算方法包括以下步骤:获取新增的流数据;根据所述新增的流数据已知的各维度上的坐标信息,将所述流数据对象插入到预设索引结构中对应的叶子节点;查找与所述新增的流数据的距离小于预设半径的对象集合;比较所述对象集合中对象的数目与预设数目阈
值,如果其小于预设数目阈值,则将所述新增的流数据输出到离群点集合。
6.根据本申请的另一个方面的一个实施例,本申请还提供了一种面向数值型流数据的近似离群点计算系统,所述系统能够执行本申请的任一方法所包括的步骤。
7.与现有技术相比,本发明的优势在于,可以根据对象与邻居到达窗口的时序关系,找到带概率保证的非安全离群点,从而避免在候选集中维护它们,降低了计算代价和空间维护代价。
附图说明
8.图1为本发明提供的一个优选实施例的面向数值型流数据的近似离群点计算方法的流程示意图;
9.图2是本发明提供的一个优选实施例的所述面向流数据近似离群点检测方法的索引结构图;
10.图3是本发明提供的一个优选实施例的所述的数据管理模块的结构示意图;
11.图4为本发明提供的一个优选实施例的面向数值型流数据的近似离群点计算系统的示意性框图;
具体实施方式
12.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
13.本发明的主要思想在于,通过计算目标数据对象成为离群点的概率,自适应地调整目标数据及相关数据(例如包括目标数据的邻居)的维护策略。和现有技术相比,本发明可有效降低处理候选离群点的空间代价。具体而言,本申请根据目标数据对象的邻居流入时间的分布,计算未来一段时间内目标数据对象及相关数据成为离群点的概率。并在此基础上,提出了带概率保证的候选离群点维护方法。更具体而言,本发明利用滑动窗口模型刻画大规模流数据的时效性,并基于b

tree或/和z

地址技术为滑动窗口内的数据构建索引结构,维护流数据间的坐标关系,以及使用基于b

tree的范围查询,对所得到的索引执行范围查询,找到每个对象的邻居对象集合,并使用基于中心极限定理的离群点预测算法计算每个对象成为离群点的概率,最后根据概率计算结果自适应地构建离群点候选集合,可以明显减小计算代价和空间代价。其中,b

tree或/和z

地址技术为现有技术。
14.这里的离群点又可以称为离心点,具体定义可以为:以目标数据对象为圆心,以预设半径r作一个圆,r是一个阈值,在圆内的数据对象的数目k,如果k小于预设阈值,则判断是目标数据对象是一个离群点,否则,是非离群点。如果邻居很多,则判定目标数据对象不是离群点。另外,通过判定到达时间来确定带概率误差保证的非安全离群点,例如目标数据对象有k个到达时间最晚的邻居,这k个邻居的到达时间和目标数据对象的到达时间有一个差值,基于这个差值和预设的计算规则,判定其是否是一个带概率误差保证的非安全离群点,具体判断过程见下述的具体描述。
15.为使本申请的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本申请作进一步地详细说明。
16.为了便于对本申请构思的理解,下面结合附图详细地描述本申请的面向数值型流数据的近似离群点计算方法的数据处理过程。本申请的数据处理过程可以应用在诸如服务器、手机、个人计算机、便携式设备等的终端设备,并通过诸如因特网、局域网、广域网等通信网络与第三方设备建立连接,以获取相应的目标数据。
17.其中,本申请的流数据可以指预设时间内所有数据的集合,例如从某个时间节点开始的三十分钟以内进入某终端或通过某终端抓取的所有数据的集合,更具体地,单位流数据可以按照时间进行划分,也可以按照数据量大小进行划分,按照时间进行划分时,例如每单位时间内流进某终端或被某终端抓取的数据;按照数据量大小进行划分时,例如以数据窗口能够容纳的数据量大小为例,某数据窗口中能够容纳一万条某类型的数据,则新进一条数据进入到数据窗口后,则同时从数据窗口中流出一条旧数据。另外,本申请的流数据主要指数值型流数据,包括但不限于整型或浮点型等数值型流数据,例如包括但不限于代表环境、金融、医疗、网络安全监控等的多类流数据,例如包括实时产生的金融数据、医疗检测数据、传感器数据等,以金融流数据为例,可以以股票交易量和股票交易时间构成的二维数据作为本申请的数值型流数据进行分析处理。本申请的方法和系统尤其适用于电力网络中的流数据。
18.接下来,请参考图1至图3。图1示出了根据本申请一个实施例的面向数值型流数据的近似离群点计算方法的流程图;图2是所述面向流数据近似离群点检测方法的索引结构图,图2示出的是一种两层次的索引结构,第一层索引是一棵b

tree,用于维护流数据所在立方体的位置信息,第二层索引结构为一组立方体,它一方面用于维护对象的坐标信息,另一方面用倒排列表维护对象到达窗口的顺序信息;图3是本发明所述的数据管理模块的结构示意图,它包含了三个模块。第一个模块是滑动窗口模块,用于维护对象流入/流出窗口的时间信息,也是用于标记流数据有效/失效数据的时间范围。第二个模块为流数据的索引模块,第三个模块为候选对象的维护模块,用于维护可能成为离群点概率大于某一阈值的对象和他们各自对应k个到达时间最晚的m个邻居。其中,m的计算方法为:给定流数据对象o,如果它有u个邻居晚于o到达窗口,那么m=k

u,其中k、u为正整数。
19.根据图1,在步骤s101中,获取新增的流数据。
20.具体而言,可以通过诸如服务器或客户段通过诸如因特网、局域网、广域网等通信网络与第三方服务器等设备建立连接,并从第三方服务器等设备获取新增的目标流数据。这里新增的流数据可以指相对于预设时间点而言,从预设时间点之后新产生或新获取的数据为新增的流数据,相应地,预设时间点之前获取的流数据为旧的流数据。这里的流数据获取的技术手段可以采用现有技术来实现,在此不做限定。
21.为了更好地区分新增的流数据和已失效的流数据,本申请采用预设长度的滑动窗口或称数据窗口作为区分的媒介,该预设长度的滑动窗口能够容纳预设数量例如一万条某类型的数据,则新进一条流数据进入到该滑动窗口后,则同时从滑动窗口中流出一条旧的流数据或已失效的流数据。
22.假定o为新流入预设长度为n的滑动窗口的对象,[0,1]为数据的值域,d为数据的维度,对象o流入滑动窗口的时间为o.t。更具体地示例,流数据的集合可以标记为w={(t1,p
11
,p
21
,

,p
d1
),...,(t
m
,p
1m
,p
2m
,

,p
dm
)},该集合包括m个滑动窗口w中的数据,t
i,
p
1i
,p
2i
,

,p
di
分别表示对象oi流入滑动窗口的时间和从1到d维的数据。这里的滑动窗口例如
可以指预设空间大小的数据窗口,例如能够容纳一万条流数据的数据窗口,滑动窗口中每进来n条流数据,则从滑动窗口中流出等同数量的流数据,所述流出的流数据为原最先进入滑动窗口的n条流数据,将该原最先进入滑动窗口的n条流数据视为过期数据。
[0023]
在步骤s102中,根据所述新增的流数据已知的各维度上的坐标信息,将所述流数据对象插入到预设索引结构中对应的叶子节点。
[0024]
具体地,本申请的预设索引结构优先采用现有技术中的b

tree的两层索引结构,第一层索引是一组立方体或正方形,流数据根据其坐标信息(或称位置)存放于对应的立方体或正方形中。这里的位置具体举例而言,比如正方形是单位4乘以4的格子,最左下角的格子id是0,从其左边依次往右的格子id是1、2、3,再往上并沿从右到左的顺序的格子id是4、5、6、7,以此类推,b

tree的两层索引结构就是根据格的大小进行存放流数据。
[0025]
具体举例而言,本申请的流数据大多数情况下为多维数据,这些数据按照其值域构建二维或多维正方形或正方体,针对构建的正方形或正方体进行均分处理,将其均分成一堆小格,例如划分成一堆小的正方形,比如说小正方形的对角线长度是r。假设说目标对象的值域在每一个维度上都是0到100,假如半径r是1,则划分后的每一个小立方体的对角线的长度是1,然后每个小立方体的边长是二分之根号二。如果是三维的,则边长是三分之根号三
……
以此类推。给每个小立方体做一个编号,这个编号用b

tree来索引这些小立方体的编号,b

tree是现有技术。并且,本申请的索引针对流数据的具体维数的不同而进行相应地建立。其中,b

tree的叶子节点中存储的是每个小立方体的标识号或称编号id。
[0026]
另外,为了更好地区分不同时间的流数据,每单个立方体中的流数据按照其流入预设长度的滑动窗口的时间进行降序或升序排列。第二层索引是一个b

tree的树形结构,以为所有非空立方体构建一组例如整形的编号,并利用b

tree的树形结构维护所构建的编号。这里对降序或升序排列的理解,举例而言,多条数据都存放在单个立方体内,那这多条数据在坐标上无法区分,只能按照时间去存放和区分,比如说,数据范围从0

100,然后第一个格子存的是0

25,有两条数据,第一条数据的坐标是<10,10>,第二条数据是<10,15>,这两条数据都在第一个格子里面,第一条数据是100时刻到达的,第二条数据是第200时刻到达的,则在这个格里的数据按照时间顺序去存放。
[0027]
另外,在步骤s102中还可以包括对新到达的或已失效的流数据进行以下处理的步骤:当有新增的流数据流入到预设长度的滑动窗口时,根据预设插入规则,将所述新增的流数据插入到预设索引结构中的合适位置;当有已失效的流数据流出预设长度的滑动窗口时,将所述已失效的流数据从其原索引中删除,进一步地,为了实现b

tree树形结构的平衡性,根据删除结果重新调整b

tree的拓扑结构。例如,某个格子里的数据都走了,则这个格变成空格,则为了节省空间,需要删除这个空格,而一旦这个空格删除了,则对应的叶子节点的数据也没有了,则需要删除这个叶子节点。但是,叶子结点删除后可能引起树结构的不平衡,为了重新达到树结构的平衡,需要调整索引结构。
[0028]
以步骤s101中新流入滑动窗口的流数据对象o为例,其对应的索引结构中的立方体的长度为l,则基于发明人的多次实践,优选采用以下公式(1)确定包含流数据对象o的立方体的编号或称id标识号:
[0029]
id=∑(o[i]/l)<<i*log1/l
[0030]
(1)
[0031]
其中,o[i]表示流数据对象o在第i维的坐标信息,其中i为正整数,在计算得到立方体的id后,访问所述索引结构,搜索到包含该id的叶子节点e并访问该叶子节点e,如果叶子节点e已经包含了序号等于id的立方体,则将对象o插入到该立方体中;否则,在叶子节点e中创建一个包含o的立方体,并将o插入到该立方体中。
[0032]
在这里,索引结构中对象o可以用二元组<pos,t>表示,其中,pos表示了o的位置信息,t表示了o到达窗口的时间信息。
[0033]
在步骤s103,查找与所述新增的流数据的距离小于预设半径的对象集合。
[0034]
具体地,对于新增的流数据o,通过访问已建立的索引结果,找到与新增的流数据o距离小于阈值r的流数据对象。具体地,在访问过程中,找到与c(o,r)相交的立方体。其中,c(o,r)表示以新增的流数据o的坐标为圆心,r为半径的圆或球体。对于所找到的与c(o,r)相交的立方体,访问所述立方体中的流数据对象,并筛选出与之距离小于r的流数据对象,并将这些对象视为新增的流数据o的邻居。
[0035]
更具体地,根据对象o所在立方体c(o)的id1和预设的计算规则,计算立方体c(o)的3^{d

1}个邻居立方体的id{id2,id3,

idm}(m=3^d),进一步地,根据立方体c(o)的每一个邻居立方体,在b

tree的树形结构上执行查找操作,找到邻居立方体id2中各单元格中的数据对象,并将这些数据对象插入到与所述新增的流数据的距离小于预设半径的对象集合中。在这里,以c(o)的第一个邻居立方体为例子,它位于c(o)的左下方,利用现有技术中例如z

地址的计算方法计算它的id。
[0036]
优选地,为了降低在b

tree的树形结构上搜索的次数的开销,首先对这些邻居立方体根据其id进行排序,在访问到某叶子节点e时,假设e包含了序号为[e.s,s.e]的立方体,n(c)为c(o)的邻居立方体集合,其中e.s和s.e分别标识立方体中序号最小和序号最大的数据对象。从而,在访问e时,可以访问所有包含在n(c)∩e中的立方体。
[0037]
在步骤s104,比较所述对象集合中对象的数目与预设数目阈值,如果其小于预设数目阈值,则将所述新增的流数据输出到离群点集合;如果其大于预设数目阈值,则进入步骤s105。
[0038]
在步骤s105,根据所述对象集合中各对象产生的时序,确定各对象的到达序号并确定相对于新增的流数据的到达序号最小的多个对象,所述多个对象的数目优选等于预设数目阈值。
[0039]
具体地,这里的到达序号的理解,具体可以理解为:比如滑动窗口中的数据序号从0

10000进行编号,则第一条数据就是第一个到达的,最后一条数据是最后一个到达的,则第一条数据的序号就是0,最后一条数据的序号是10000。
[0040]
这里的相对于新增的流数据的到达序号最小的多个对象,例如新增的流数据有三个邻居,而预设数目阈值是2,这三个邻居的到达序号分别是900、1000和1500,则相对于新增的流数据的到达序号最小的2个对象分别是到达序号为900和1000的邻居。
[0041]
更具体地,具体地,扫描离群点候选集合中的数据对象,找到与目标数据对象到达序号最近的k个数据对象。在这里,扫描的方法可以采用基于中位数查找的方法来实现。更具体地,首先将范围查询结果集r中的2k的对象放入一个数组,然后根据这2k个数据找到中位数,将到达时间早于中位数的对象从r中删除。此后,重复上述过程,直到找到k个流入滑动窗口时间最晚的对象。
[0042]
在步骤s106,根据新增的流数据流入预设长度的滑动窗口的时间以及所述对象集合中与新增的流数据时序关系最近的对象流入滑动窗口的时间,判断所述新增的流数据成为离群点的概率。
[0043]
具体地,根据发明人对离群点概率计算的多次实践研究,优选采用以下公式(2)计算所述新增的流数据成为离群点的概率g:
[0044][0045]
其中,p=n/(ok.t

o.t),n表示滑动窗口的预设长度,ok.t表示所述对象集合nn(o)中与新增的流数据时序关系最近的对象流入滑动窗口的时间,o.t表示新增的流数据o流入预设长度的滑动窗口的时间,k表示预设数目阈值。
[0046]
进一步地,如果数据与对象o的距离符合正态分布,那么本申请优选采用中心极限定理预测o成为离群点的概率。其核心思想是,给定最后流入滑动窗口的n/ξ个数据,其中,n表示预设窗口的长度,ξ表示给定阈值。如果它们中与o的距离小于r的对象数目不小于k,那么,当另外n(1

1/ξ)个对象流入滑动窗口后,这些对象中存在不少于k个对象距离对象o的距离小于r的概率大于用户自定义阈值ρ。
[0047]
在步骤s107,如果步骤s106得到的所述新增的流数据成为离群点的概率小于给定阈值ξ,则可判断所述新增的流数据成为离群点的概率较小,进而将所述新增的流数据确定为带概率保证的非安全离群点;否则,进入步骤s108。
[0048]
具体地,对于上述数据对象o,如果o成为离群点的概率小于ρ,则可将o视为带概率保证的非离群点。在这种情况下,不将其插入离群点候选集合。否则,将该数据对象o插入离群点候选集合。
[0049]
在步骤s108,将所述新增的流数据插入到离群点候选集合中,并为所述新增的流数据保留到达时间最近的多个邻居数据,以作为所述新增的流数据的辅助信息。其中,所述多个邻居数据的数目优选等于上述预设数目阈值。
[0050]
进一步地,根据本申请的一个优选实施例,仍以上述数据对象o为例,为了检测o的当前状态,为其分配一个邻居队列(记为o.q),o.q维护的是o的所有邻居中最晚流入滑动窗口的k个邻居。
[0051]
当有其他对象o’流入滑动窗口时,如果o’是o的邻居,那么将o.q最早到达窗口的数据移出o.q。当o.q变成空时,此时意味着o在其生命周期内不会成为离群点。此时,将o移出候选离群点集合。
[0052]
当有其他对象o’流入滑动窗口时,如果o’是o的邻居,那么将o.q最早到达窗口的数据移除o.q。此后,利用上述公式(2)判断其是否为带概率保证的非安全对象。如果是,仍然将其移除候选离群点集合。
[0053]
当o.q中对象流出窗口时,如果在o流入滑动窗口后没有其他新流入对象成为o的邻居,那意味着o的邻居个数少于阈值k。此时,将o输入到离群点集合。
[0054]
基于本发明提供的面向数值型流数据的近似离群点计算方法,可以根据新增的流数据与邻居到达窗口的时序关系,找到带概率保证的非安全离群点,从而避免在离群点候
选集合中去维护它们,显著降低了计算代价和空间维护代价。
[0055]
进一步地,为了更好地并且以更小的成本维护候选离群点和维护安全对象,本申请的方法采用以下步骤维护安全对象和带概率保证的非安全对象或称非安全离群点:
[0056]
步骤s201,对于安全对象的维护过程包括:当有新增数据对象流入滑动窗口后,如果该数据对象与候选离群点的距离小于预设距离阈值r,则将候选离群点所对应邻居队列中第一个元素弹出队列;当队列为空时,将该候选离群点移除候选离群点集合。
[0057]
具体地,这里的安全对象可以指对于目标对象o,如果有k个邻居来的时间比它晚,那它肯定就是安全的数据流。但是数据流当前是安全的并不表示它以后是安全的。比如有k条流数据来的时间比目标对象o早,这k条数据也是目标对象o的邻居,而当前目标对象o是非离群点,则当这k条数据从滑动窗口流出或者这k条数据中的至少一条从滑动窗口流出,则当前目标对象o又变成了离群点。但是,如果这k条数据作为目标对象o的邻居,进入滑动窗口的时间都比目标对象o晚,也即目标对象o肯定相对于k个邻居流出滑动窗口的时间要早,那么目标对象o流出滑动窗口前,肯定不是离群点而是安全对象,并且在这种情况下目标对象o也永远不可能成为离群点,所以为了节省离群点的维护成本,本申请对当前不是离群点但是有可能成为离群点的对象进行维护。因而,本申请针对比目标对象进入滑动窗口早的前k个邻居去维护,并且不需要对目标对象的所有邻居去维护,因为即使有超过k个邻居相对于目标对象进入滑动窗口的时间早,但是超过k个数量的邻居对目标对象的离群点判定没有影响,只有k个数量以内的邻居对目标对象的离群点判定有影响。
[0058]
由此,一旦目标对象流入滑动窗口,则建立一个队列,当有其他数据进入滑动窗口,则判定这些数据是不是目标对象的邻居,一旦出现邻居对象,则将对应邻居队列中第一个元素弹出队列;当队列为空时,说明该目标对象是一个安全对象,将该目标对象移除候选离群点集合。
[0059]
步骤s202,对于带概率保证的非安全对象维护过程包括:当有新增数据流入滑动窗口后,如果该数据与候选离群点的距离小于阈值r,则将候选离群点所对应邻居队列中第一个元素弹出队列。此时,假设队列中第一个对象的到达时间为o
f
.t,如果1/o
f
.t

o.t小于f(γ),则视o为带概率保证的非安全对象。此时,仍然将其从候选离群点集合中移除。其中,f(γ)是一个预设阈值。
[0060]
具体地,本步骤的创新在于,因为维护队列的代价很大,每个数据对象进入滑动窗口后,都需要去维护,那么本申请对此维护过程进行改进,通过预测目标对象有没有可能成为离群点从而确定是否去维护相应的队列。如果这个点成为离群点的可能性很小,则不去维护它的队列。
[0061]
需要说明的是,上述步骤s201和步骤s202可以同步执行,也可以择一执行,根据实际需求而灵活执行。
[0062]
基于本发明的一个总的发明构思,本申请还提供了一种面向数值型流数据的近似离群点计算系统的示意性框图。本申请的计算系统可以执行上述任一方法包括的步骤。
[0063]
请参考图2,根据图2,所述面向数值型流数据的近似离群点计算系统包括:流数据管理模块101、流数据索引模块102、邻居查找模块103和近似离群点检测模块104。
[0064]
其中,所述的流数据管理模块101主要指利用滑动窗口模型管理最近流入至窗口中的n条数据;所述的流数据索引模块102主要利用索引维护流数据,它包括流数据初始化
模块、新增数据管理模块和过期数据管理模块。邻居查询模块103主要用于查询与给定对象距离小于某一阈值r的对象。近似离群点检测模块104主要用于候选离群点的维护、安全非离群点的识别和离群点的管理。
[0065]
进一步地,所述的流数据管理模块101设有开始时间戳标识和结束时间戳标识,用于标识流数据中的有效数据时序范围,所述的流数据索引模块102与流数据管理模块101连接。其中,所述有效数据可以是人为确定的或计算机设备根据预设规则确定的数据,比如计算机设备获取到100万条数据,而目标用户只需要最后一万条数据,则有效数据时序范围是100万至100万减去1万的这个数据范围内的数据。
[0066]
本系统中,流数据索引模块102主要用来维护数据之间的坐标。
[0067]
如上文所述,本系统应用到了一种基于b

tree的两层索引。第一层索引是一组立方体。数据根据它们的位置存放于其对应的立方体中。此外,各立方体中的数据按照它们流入滑动窗口的时间呈降序排列。第二层索引是一个b

tree,它为所有非空立方体构建了一组整型的编号,并利用b

tree维护它们的编号。此外,流数据索引模块102的另外一个功能是处理新到达或失效的数据。当数据流入滑动窗口时,流数据索引模块102为其在索引中找到合适的位置插入。当数据流出窗口时,流数据索引模块102将其从索引中删除,并根据删除结果调整b

tree的拓扑结构。在本系统中,流数据索引模块102与邻居查询模块103连接。给定新增数据o,邻居查询模块103访问流数据索引模块102,找到与o距离小于阈值r的对象。具体地,在访问过程中,找到与c(o,r)相交的立方体。其中c(o,r)表示以o的坐标为圆心,r为半径的圆。对于这些立方体,邻居查询模块103访问立方体中的对象,并筛选出与之距离小于r的对象,将这些对象视为o的邻居。
[0068]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1