CN102665164A - 一种移动对象近邻检测的方法 - Google Patents
一种移动对象近邻检测的方法 Download PDFInfo
- Publication number
- CN102665164A CN102665164A CN2012100660623A CN201210066062A CN102665164A CN 102665164 A CN102665164 A CN 102665164A CN 2012100660623 A CN2012100660623 A CN 2012100660623A CN 201210066062 A CN201210066062 A CN 201210066062A CN 102665164 A CN102665164 A CN 102665164A
- Authority
- CN
- China
- Prior art keywords
- neighbour
- frame
- user
- time
- server
- 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
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及一种移动对象近邻检测的方法。现有的方法使用欧几里德距离或者使用道路网络中的Dijkstra最短距离进行近邻检测,这些方法在大规模的检测中将消耗大量的CPU计算资源。本发明使用近邻框对移动对象进行近邻检测。采用一种两层的优先级队列来记录索引移动对象之间的近邻关系,使用时间参数化的R树对移动对象进行索引。移动对象更新其位置和速度信息后,算法根据预先定义的近邻框对移动对象的所有朋友进行近邻检测。最后将结果通告给相关移动对象。本发明方法输入多个移动对象的朋友关系、对象的当前位置,由于仅计算相邻两移动对象的坐标关系得到近邻关系,而不是欧几里德距离和Dijkstra最短距离,从而提高了计算效率。
Description
技术领域
本发明属于计算机应用技术领域,涉及一种移动对象近邻检测的方法,特别适用于大规模移动对象的数据处理,例如在线位置服务、在线网络游戏中的用户近邻检测等。
背景技术
在日常生活中,随着GPS和无线通信网络的普及,基于位置的服务LBS(location-based services)已经成为现实。在众多的LBS服务中,有一种关键的服务即路网环境中移动对象的近邻检测是许多应用的基础,这些应用例如交通网络的路由服务,流量监测,出行模式数据挖掘等。另外在虚拟世界,大规模多方在线游戏环境中的相邻伙伴提示也是近邻检测一个重要应用,其使用的技术与真实路网环境中的类似。因此近邻检测技术的提升具有重要意义。
给定一组用户U,一个路网环境G,以及某移动对象朋友对(u i ,u j )的近邻距离标准ε i,j ,近邻检测问题被定义为寻找这样的朋友对 (u i ,u j ),首先u i ,u j 是相邻的,其次是u i ,u j 之间的欧几里德距离DistanceO((u i ,u j ))≤ε i,j 。在一个路网环境中的近邻检测问题就是DistanceD((u i ,u j ))≤ε i,j ,其中DistanceD表示两个节点之间的Dijkstra最短距离。
在大规模连续的近邻检测过程中,欧几里德距离和Dijkstra最短距离的计算容易成为系统的瓶颈。因此降低近邻检测的计算复杂度具有很大的迫切性。
发明内容
本发明的目的是在于克服现有技术中的不足,针对路网环境中近邻距离计算的特点,提供一种适用于分布式环境中的近邻检测方法。
本发明的方法具体步骤如下:
步骤(1)、移动对象朋友关系的索引和移动范围更新;
所述移动对象是指具有GPS定位和无线通信能力的智能计算终端。
移动对象的朋友关系采用一种两层的优先级队列来保持。所述的两层的优先级队列的结构具体如下:
对于每个移动对象维护一个本地的朋友列表优先级队列,按照触发时间的大小进行排序。每个移动用户本地队列中最早触发时间的朋友对进入一个全局优先级队列。当移动用户u i 位置更新到达后,更新本地的优先级队列,删除全局优先级队列中用户u i 的相应节点,将本地队列首节点插入。系统周期性的扫描优先级队列,对触发时间到期的朋友对进行近邻判断和通告处理。两层的优先级队列降低了算法的复杂度,从而优化系统的处理性能。
移动对象在每一个更新周期都会采用GPS对自身位置进行定位,采集移动速度和位置信息。
取得上一次发往服务器的预测PredictBox=(t r ,t e ,LB,LV) 。其中t r 是预测区域的引用时间,t e 是预测区域的过期时间,LB是对象在这一时间段内的物理移动范围,是根据当前位置信息和移动速度计算的矩形框,LV是对象的当前移动速度。
首先判断当前时间是否已经超过t e ;然后判断当前位置与预测位置的距离是否位于安全区域,也就是是否在预测的物理移动范围LB。以上任何一种条件满足,移动用户都会向服务器发送一个新的预测。如果两种情况都不是,移动用户就等待下一个更新周期。
步骤(2)、对移动对象进行索引;
服务器中移动用户的索引使用时间参数化的R树(TPR-tree, time-parameterized R-tree)。时间参数化的R树能够有效地对移动用户的当前位置进行索引,并且带有对象的速度等信息,因此可以对移动用户进行位置预测。
时间参数化的R树中每个非叶子结点都由多个最小包含矩形框MBR (MBR,minimum bounding rectangles)及指向子节点的指针组成。非叶子结点最小包含矩形框MBR为包含每个非叶子结点孩子当前的最小边界矩形。叶子结点由最小包含矩形框MBR和移动用户的指针组成。叶子结点MBR为包含对应移动用户的最小边界矩形,通过移动用户的指针可以得到对象的详细信息。移动用户的详细信息包含当前位置信息,以及速度和最近的移动范围更新信息PB。
步骤(3)、对移动对象进行基于近邻框的近邻检测;
服务器对于每个超限安全区域更新进行近邻检测。超限安全区域更新指的是移动对象移动范围超越预测区域,其真实位置在预测区域外,移动对象向服务器发送位置更新信息。本申请的移动对象之间具有相互的朋友关系,但是不同对象可以定制不同近邻标准,也即不同对象可能具有不同的近邻标准。设u j 是u i 的朋友,那么u i 也是u j 的朋友,但是他们具有不同的近邻标准ε i,j 和ε j,i 。服务器接收到移动用户的PB消息后,更新其索引节点。它同时维护一个移动用户邻近朋友的列表。服务器先对列表中的所有朋友进行近邻检测,检测过程使用用户u i 的近邻标准ε i,j ,更新用户u i 的近邻朋友列表。接着,服务器对列表中所有朋友针对u i 进行近邻检测,使用其朋友的近邻。
对于移动对象u i ,u i 的近邻距离标准为ε i,j 。在某一时刻检测其朋友列表中的用户u j 是否在其近邻范围内,基于近邻框的近邻检测就是判断他们的坐标关系是否满足|u i .x-u j .x|≤ε i,j 且|u i .y-u j .y|≤ε i,j 。
由于在服务器中保留是用户的移动区域预测,对于近邻关系判断需要考虑用户在其安全域区内具体位置的不确定性。给定一个长宽分别为A、B的预测区域,两个用户u i , u j 之间的XY轴方向距离关系有:
MaxDX(u i ,u j )=max{|u i .x-u j .x|-u i .A-u j .A,0}
MinDX(u i ,u j )= |u i .x-u j .x|+u i .A+u j .A
MaxDY(u i ,u j )= max{|u i .y-u j .y|-u i .B-u j .B,0}
MinDY(u i ,u j )= |u i .y-u j .y|+u i .B+u j .B
u i ,u j 之间确定具有近邻关系的条件是
MaxDX(u i ,u j ) ≤ε i,j 且MaxDY(u i ,u j ) ≤ε i,j
u i ,u j 之间确定不具近邻关系的条件是
MinDX(u i ,u j ) >ε i,j 且MinDY(u i ,u j ) >ε i,j
由于u i ,u j 具有相互的朋友关系,在对u i 进行近邻检测以后,还需要对u j 进行近邻检测。为了简化这一过程,首先对两个用户的近邻框大小进行判断,先行检测较小的近邻框。如果对于较小的近邻框,移动用户u i ,u j 都具有近邻关系,那么对于另外一个用户来说显然也具有近邻关系。反之,就需要进一步判断对于较大近邻框的移动用户是否具有近邻关系。
检测完成后,用户u i 的朋友就分为了三类。在近邻框以外的,他们就不具有近邻关系,在近邻框以内的就具有近邻关系。由于服务器保持的是某个用户的安全区域,通过其速度只能粗略确定其所在位置。当用户安全区域刚好跨越用户u i 的近邻框时,系统就不能判断他们两者的近邻关系。这个时候就需要向该用户发送查询信息,通过其最新的安全区域预测了解当前的位置信息,进行近邻与否检测,并进行近邻关系触发事件的计算。
基于近邻框的检测过程仅通过判断两个移动用户的坐标关系,在x、y两个轴向任何一个方向距离超过用户的近邻标准定义即停止检测。显然,相比欧几里德距离和Dijkstra最短距离简化了系统的计算开销。
步骤(4)、近邻关系的索引和触发事件的计算
采用步骤(1)中所述的两层的优先级队列对移动对象的近邻关系以及触发时间进行管理。
两个移动用户的触发时间T(u i ,u j ),T(u i ,u j )是指u j 移动进入u i 近邻框的最早时间。假设(u i .x,u i .y)和(u j .x,u j .y)是在当前时间t c 后的某个t时刻u i 和u j 的位置,那么
T(u i ,u j )=min(t|t≥t c ∧|u i .l t .x-u j .l t .x|≤ε i,j
∧|u i .l t .y-u j .l t .y|≤ε i,j )
设用户u i 在t时刻的位置为:
l t .x = l te .x +v te .x×t
l t .y = l te .y+v te .y×t
在基于近邻框的检测中,计算u i ,u j 触发时间就需要计算不等式组
| (u i .l te .x-u j .l te .x) +(u i .v te .x-u j .v te .x) ×t|≤ε i,j
且| (u i .l te .y-u j .l te .y) +(u i .v te .y-u j .v te .y) ×t|≤ε i,j
对触发时间的过滤是指仅处理下次更新之前可能会发生近邻位置关系变化的朋友对。t的计算结果分两种情况:对于u i 最近的一次位置更新PB,(t c +t)的值可能大于t e ,也即在u i 下一次位置更新前,u j 不会进入u i 的近邻框。另一种情况是(t c +t)的值小于t e ,即在u i下一次位置更新前,u j已经进入u i的近邻框。其中用户离开近邻框的过程类似。显然,只需要对第二种情况的触发时间进行索引,到该时间点再行处理。
步骤(5)、近邻关系的通告和展示
服务器在得到移动对象u i 的检测结果后,将其近邻范围内的所有其朋友ID、当前位置以增量方式通告给移动对象u i 。同时也将结果通告给用户u i 相关的朋友。增量方式通告也即仅通告移动对象近邻关系的变化,而对没有变化的近邻关系不予重复通告。
移动对象接收到服务器的近邻列表更新信息后,根据用户的设置进行近邻展示。
如果用户设置的是基于近邻框的检测,就直接展示服务器的通告信息。
如果用户设置的是显示基于欧几里德距离的近邻或Dijkstra最短距离近邻,则需要进一步对服务器返回的近邻列表结合地图信息进行重新筛选和展示。
本发明的有益效果:本发明方法输入多个移动对象的朋友关系,移动对象的当前位置,通过计算相邻两移动对象的坐标关系,而不是欧几里德距离和Dijkstra最短距离,得到两者的近邻关系,从而提高计算过程的效率。
附图说明
图1本发明的TPR-tree构造的示意图;
图2 本发明的近邻索引示意图;
图3本发明基于近邻框的近邻检测示意图。
具体的实施方式
图1是一棵TPR-tree构造的示意图,其中(u 1 , u 2 ,…u 10 )10个移动用户按照空间位置的相似性,递归的分为四组,N1,N2,N3,N4,N1和N2又归结为N5,N3和N4又归结为N6,N5和N6构成根节点。因为TPR-tree插入、删除算法其基本过程如下:
结点(叶子结点和非叶子结点)的数据项要包含移动对象的标识和包围其子树根结点的最小矩形。把包含移动对象的矩形称为数据矩形;把非叶子结点索引项对应的索引空间称为目录矩形。两种矩形都允许重叠,
查找:查找一个移动对象是否存在于索引范围。
对于查找,TPR-tree需要在其结构中查找所有MBR与移动对象PB区域重叠的索引数据。从根节点开始,递归搜索MBR与移动对象PB区域重叠的节点项;在到达叶子节点后,测试该叶子节点索引项的MBR是否与移动对象PB区域重叠,返回结果。
删除:删除是插入操作的逆过程。在删除一个移动对象时,首先确定移动对象所在的叶子节点,然后从该叶子节点中删除移动对象;如果删除后节点中的记录项个数少于规定的阈值,就进行节点的合并,沿TPR-Tree向上,直至到达根节点;最后对各节点对应的MBR进行调整,使得各MBR紧密地包含其下层各个对应的MBR节点。
插入:插入操作时,新的索引移动对象被加入到叶子节点,如果节点溢出则进行分裂,分裂沿着TPR-Tree向上,直至完成。插入移动对象时,首先需要确定新记录应该插入到的叶子节点,选择插入的标准是插入导致的MBR面积增长量最小;随后,移动对象被插入到相应的叶子节点。如果插入后节点没有溢出,则不需要进行分裂操作,反之需要进行分裂:最后还需要对插入路径中的MBR进行调整,使得各MBR包含关系紧密。
图2本发明的近邻索引的基本过程:
第一:对每个移动用户的所有朋友建立队列。
第二:标识每个朋友的近邻关系,根据检测结果分为三类:在未来的某个时间段t内,具有近邻关系,不具有近邻关系,在即将到来的某个时刻t’,t’<t将具有近邻关系。
第三:对所有朋友的近邻关系按照时间进行排序。
第四:将本地队列首节点插入全局优先级队列。
图3本发明基于近邻框的近邻检测的基本过程,即判断两移动对象是否位于预先定义的近邻框范围之内。
本发明所选用的具体实施例如下:
步骤(1)、移动对象朋友关系的索引和移动范围更新;
本发明所指移动对象指具有GPS定位和无线通信能力的智能计算终端。
移动对象的朋友关系采用一种两层的优先级队列来保持。所述的两层的优先级队列的结构具体如下:
对于每个移动对象维护一个本地的朋友列表优先级队列,按照触发时间的大小进行排序。每个移动用户本地队列中最早触发时间的朋友对进入一个全局优先级队列。当移动用户u i 位置更新到达后,更新本地的优先级队列,删除全局优先级队列中用户u i 的相应节点,将本地队列首节点插入。系统周期性的扫描优先级队列,对触发时间到期的朋友对进行近邻判断和通告处理。两层的优先级队列降低了算法的复杂度,从而优化系统的处理性能。
移动对象在每一个更新周期都会采用GPS对自身位置进行定位,采集移动速度和位置信息。
取得上一次发往服务器的预测PredictBox=(t r ,t e ,LB,LV) 。其中其中t r 是预测区域的引用时间,t e 是预测区域的过期时间,LB是对象在这一时间段内的物理移动范围,是根据当前位置信息和移动速度计算的矩形框,LV是对象的当前移动速度。
首先判断当前时间是否已经超过t e ;然后判断当前位置与预测位置的距离是否位于安全区域,也就是是否在预测的物理移动范围LB。以上任何一种条件满足,移动用户都会向服务器发送一个新的预测。如果两种情况都不是,移动用户就等待下一个更新周期。
步骤(2)、对移动对象进行索引;
服务器中移动用户的索引使用TPR-tree (time-parameterized R-tree)。它能够有效地对移动用户的当前位置进行索引,并且带有对象的速度等信息,因此可以对移动用户进行位置预测。
TPR-tree树中每个非叶子结点都由多个MBR(minimum bounding rectangles)及指向子节点的指针组成。MBR为包含其孩子当前的最小边界矩形。叶子结点由MBR和移动用户的指针组成。其中MBR为包含对应移动用户的最小边界矩形,通过移动用户的指针可以得到对象的详细信息。在本发明中,移动用户的详细信息包含当前位置信息,以及速度和最近的移动范围更新信息PB。附图1对TPR-tree的结构做了详细说明。
步骤(3)、对移动对象进行基于近邻框的近邻检测;
服务器对于每个超限安全区域更新进行近邻检测。超限安全区域更新指的是移动对象移动范围超越预测区域,其真实位置在预测区域外,移动对象向服务器发送位置更新信息。本申请的移动对象之间具有相互的朋友关系,但是不同对象可以定制不同近邻标准,也即不同对象可能具有不同的近邻标准。例如u j 是u i 的朋友,那么u i 也是u j 的朋友,但是他们具有不同的近邻标准ε i,j 和ε j,i 。服务器接收到移动用户u的PB消息后,更新其索引节点。它同时维护一个移动用户u邻近朋友的列表。服务器先对列表中的所有朋友进行近邻检测,检测过程使用用户u i 的近邻标准ε i,j ,更新用户u i 的近邻朋友列表。接着,服务器对列表中所有朋友针对u i 进行近邻检测,使用其朋友的近邻,例如对(u j ,u i )进行检测时,就使用标准ε j,i 。
对于移动对象u i ,u i 的近邻距离标准为ε i,j 。在某一时刻检测其朋友列表中的用户u j 是否在其近邻范围内,基于近邻框的近邻检测就是判断他们的坐标关系是否满足|u i .x-u j .x|≤ε i,j ,且|u i .y-u j .y|≤ε i,j 。
由于在服务器中保留是用户的移动区域预测,对于近邻关系判断需要考虑用户在其安全域区内具体位置的不确定性。给定一个长宽分别为A、B的预测区域,两个用户u i , u j 之间的XY轴方向距离关系有:
MaxDX(u i ,u j )=max{|u i .x-u j .x|-u i .A-u j .A,0}
MinDX(u i ,u j )= |u i .x-u j .x|+u i .A+u j .A
MaxDY(u i ,u j )= max{|u i .y-u j .y|-u i .B-u j .B,0}
MinDY(u i ,u j )= |u i .y-u j .y|+u i .B+u j .B
u i ,u j 之间确定具有近邻关系的条件是
MaxDX(u i ,u j ) ≤ε i,j 且MaxDY(u i ,u j ) ≤ε i,j
u i ,u j 之间确定不具近邻关系的条件是
MinDX(u i ,u j ) >ε i,j 且MinDY(u i ,u j ) >ε i,j
本申请中u i ,u j 具有相互的朋友关系,在对u i 进行近邻检测以后,还需要对u j 进行近邻检测。为了简化这一过程,发明中首先对两个用户的近邻框大小进行判断,先行检测较小的近邻框。如果对于较小的近邻框,移动用户u i ,u j 都具有近邻关系,那么对于另外一个用户来说显然也具有近邻关系。反之,就需要进一步判断对于较大近邻框的移动用户是否具有近邻关系。
检测完成后,用户u i 的朋友就分为了三类。在近邻框以外的,他们就不具有近邻关系,在近邻框以内的就具有近邻关系。由于服务器保持的是某个用户的安全区域,通过其速度只能粗略确定其所在位置。当用户安全区域刚好跨越用户u i 的近邻框时,系统就不能判断他们两者的近邻关系。这个时候就需要向该用户发送查询信息,通过其最新的安全区域预测了解当前的位置信息,进行近邻与否检测,并进行近邻关系触发事件的计算。
基于近邻框的检测过程仅通过判断两个移动用户的坐标关系,在x、y两个轴向任何一个方向距离超过用户的近邻标准定义即停止检测。显然,相比欧几里德距离和Dijkstra最短距离简化了系统的计算开销。
步骤(4)、近邻关系的索引和触发事件的计算
采用步骤(1)中所述的两层的优先级队列对移动对象的近邻关系以及触发时间进行管理。
两个移动用户的触发时间T(u i ,u j ),在本文中是指u j 移动进入u i 近邻框的最早时间。假设(u i .x,u i .y)和(u j .x,u j .y)是在当前时间t c 后的某个t时刻u i 和u j 的位置,那么
T(u i ,u j )=min(t|t≥t c ∧|u i .l t .x-u j .l t .x|≤ε i,j
∧|u i .l t .y-u j .l t .y|≤ε i,j )
例如用户u i 在t时刻的位置为
l t .x = l te .x +v te .x×t
l t .y = l te .y+v te .y×t
在基于近邻框的检测中,计算u i ,u j 触发时间就需要计算不等式组
| (u i .l te .x-u j .l te .x) +(u i .v te .x-u j .v te .x) ×t|≤ε i,j
且| (u i .l te .y-u j .l te .y) +(u i .v te .y-u j .v te .y) ×t|≤ε i,j
对触发时间的过滤是指仅处理下次更新之前可能会发生近邻位置关系变化的朋友对。t的计算结果分两种情况:对于u i 最近的一次位置更新PB,(t c +t)的值可能大于t e ,也即在u i 下一次位置更新前,u j 不会进入u i 的近邻框。另一种情况是(t c +t)的值小于t e ,即在u i下一次位置更新前,u j已经进入u i的近邻框。其中用户离开近邻框的过程类似。显然,只需要对第二种情况的触发时间进行索引,到该时间点再行处理。
步骤(5)、近邻关系的通告和展示
服务器在得到移动对象u i 的检测结果后,将其近邻范围内的所有其朋友ID、当前位置以增量方式通告给移动对象u i 。同时也将结果通告给用户u i 相关的朋友。增量方式通告也即仅通告移动对象近邻关系的变化,而对没有变化的近邻关系不予重复通告。
移动对象接收到服务器的近邻列表更新信息后,根据用户的设置进行近邻展示。
如果用户设置的是基于近邻框的检测,就直接展示服务器的通告信息。
如果用户设置的是显示基于欧几里德距离的近邻或Dijkstra最短距离近邻,则需要进一步对服务器返回的近邻列表结合地图信息进行重新筛选和展示。
Claims (1)
1. 一种移动对象近邻检测的方法,其特征在于该方法包括以下步骤:
步骤(1)、移动对象朋友关系的索引和移动范围更新;
所述移动对象是指具有GPS定位和无线通信能力的智能计算终端;
移动对象的朋友关系采用一种两层的优先级队列来保持;所述的两层的优先级队列的结构具体如下:
对于每个移动对象维护一个本地的朋友列表优先级队列,按照触发时间的大小进行排序;每个移动用户本地队列中最早触发时间的朋友对进入一个全局优先级队列;当移动用户u i 位置更新到达后,更新本地的优先级队列,删除全局优先级队列中用户u i 的相应节点,将本地队列首节点插入;系统周期性的扫描优先级队列,对触发时间到期的朋友对进行近邻判断和通告处理;两层的优先级队列降低了算法的复杂度,从而优化系统的处理性能;
移动对象在每一个更新周期都会采用GPS对自身位置进行定位,采集移动速度和位置信息;
取得上一次发往服务器的预测PredictBox=(t r ,t e ,LB,LV) ;其中t r 是预测区域的引用时间,t e 是预测区域的过期时间,LB是对象在这一时间段内的物理移动范围,是根据当前位置信息和移动速度计算的矩形框,LV是对象的当前移动速度;
首先判断当前时间是否已经超过t e ;然后判断当前位置与预测位置的距离是否位于安全区域,也就是是否在预测的物理移动范围LB;以上任何一种条件满足,移动用户都会向服务器发送一个新的预测;如果两种情况都不是,移动用户就等待下一个更新周期;
步骤(2)、对移动对象进行索引;
服务器中移动用户的索引使用时间参数化的R树;时间参数化的R树能够有效地对移动用户的当前位置进行索引,并且带有对象的速度等信息,因此可以对移动用户进行位置预测;
时间参数化的R树中每个非叶子结点都由多个最小包含矩形框MBR及指向子节点的指针组成;非叶子结点最小包含矩形框MBR为包含每个非叶子结点孩子当前的最小边界矩形;叶子结点由最小包含矩形框MBR和移动用户的指针组成;其中最小包含矩形框MBR为包含对应移动用户的最小边界矩形,通过移动用户的指针可以得到对象的详细信息;移动用户的详细信息包含当前位置信息,以及速度和最近的移动范围更新信息PB;
步骤(3)、对移动对象进行基于近邻框的近邻检测;
服务器对于每个超限安全区域更新进行近邻检测;超限安全区域更新指的是移动对象移动范围超越预测区域,其真实位置在预测区域外,移动对象向服务器发送位置更新信息;移动对象之间具有相互的朋友关系,但是不同对象可以定制不同近邻标准,也即不同对象可能具有不同的近邻标准;设u j 是u i 的朋友,那么u i 也是u j 的朋友,但是他们具有不同的近邻标准ε i,j 和ε j,i ;服务器接收到移动用户的PB消息后,更新其索引节点;它同时维护一个移动用户邻近朋友的列表;服务器先对列表中的所有朋友进行近邻检测,检测过程使用用户u i 的近邻标准ε i,j ,更新用户u i 的近邻朋友列表;接着,服务器对列表中所有朋友针对u i 进行近邻检测,使用其朋友的近邻;
对于移动对象u i ,u i 的近邻距离标准为ε i,j ;在某一时刻检测其朋友列表中的用户u j 是否在其近邻范围内,基于近邻框的近邻检测就是判断他们的坐标关系是否满足|u i .x-u j .x|≤ε i,j 且|u i .y-u j .y|≤ε i,j ;
由于在服务器中保留是用户的移动区域预测,对于近邻关系判断需要考虑用户在其安全域区内具体位置的不确定性;给定一个长宽分别为A、B的预测区域,两个用户u i , u j 之间的XY轴方向距离关系有:
MaxDX(u i ,u j )=max{|u i .x-u j .x|-u i .A-u j .A,0}
MinDX(u i ,u j )= |u i .x-u j .x|+u i .A+u j .A
MaxDY(u i ,u j )= max{|u i .y-u j .y|-u i .B-u j .B,0}
MinDY(u i ,u j )= |u i .y-u j .y|+u i .B+u j .B
u i ,u j 之间确定具有近邻关系的条件是
MaxDX(u i ,u j ) ≤ε i,j 且MaxDY(u i ,u j ) ≤ε i,j
u i ,u j 之间确定不具近邻关系的条件是
MinDX(u i ,u j ) >ε i,j 且MinDY(u i ,u j ) >ε i,j
由于u i ,u j 具有相互的朋友关系,在对u i 进行近邻检测以后,还需要对u j 进行近邻检测;为了简化这一过程,首先对两个用户的近邻框大小进行判断,先行检测较小的近邻框;如果对于较小的近邻框,移动用户u i ,u j 都具有近邻关系,那么对于另外一个用户来说显然也具有近邻关系;反之,就需要进一步判断对于较大近邻框的移动用户是否具有近邻关系;
检测完成后,用户u i 的朋友就分为了三类;在近邻框以外的,他们就不具有近邻关系,在近邻框以内的就具有近邻关系;由于服务器保持的是某个用户的安全区域,通过其速度只能粗略确定其所在位置;当用户安全区域刚好跨越用户u i 的近邻框时,系统就不能判断他们两者的近邻关系;这个时候就需要向该用户发送查询信息,通过其最新的安全区域预测了解当前的位置信息,进行近邻与否检测,并进行近邻关系触发事件的计算;
基于近邻框的检测过程仅通过判断两个移动用户的坐标关系,在x、y两个轴向任何一个方向距离超过用户的近邻标准定义即停止检测;
步骤(4)、近邻关系的索引和触发事件的计算
采用步骤(1)中所述的两层的优先级队列对移动对象的近邻关系以及触发时间进行管理;
两个移动用户的触发时间T(u i ,u j ),T(u i ,u j )是指u j 移动进入u i 近邻框的最早时间;假设(u i .x,u i .y)和(u j .x,u j .y)是在当前时间t c 后的某个t时刻u i 和u j 的位置,那么
T(u i ,u j )=min(t|t≥t c ∧|u i .l t .x-u j .l t .x|≤ε i,j
∧|u i .l t .y-u j .l t .y|≤ε i,j )
设用户u i 在t时刻的位置为:
l t .x = l te .x +v te .x×t
l t .y = l te .y+v te .y×t
在基于近邻框的检测中,计算u i ,u j 触发时间就需要计算不等式组
| (u i .l te .x-u j .l te .x) +(u i .v te .x-u j .v te .x) ×t|≤ε i,j
且| (u i .l te .y-u j .l te .y) +(u i .v te .y-u j .v te .y) ×t|≤ε i,j
对触发时间的过滤是指仅处理下次更新之前可能会发生近邻位置关系变化的朋友对;t的计算结果分两种情况:对于u i 最近的一次位置更新PB,(t c +t)的值可能大于t e ,也即在u i 下一次位置更新前,u j 不会进入u i 的近邻框;另一种情况是(t c +t)的值小于t e ,即在u i下一次位置更新前,u j已经进入u i的近邻框;其中用户离开近邻框的过程类似;显然,只需要对第二种情况的触发时间进行索引,到该时间点再行处理;
步骤(5)、近邻关系的通告和展示
服务器在得到移动对象u i 的检测结果后,将其近邻范围内的所有其朋友ID、当前位置以增量方式通告给移动对象u i ;同时也将结果通告给用户u i 相关的朋友;增量方式通告也即仅通告移动对象近邻关系的变化,而对没有变化的近邻关系不予重复通告;
移动对象接收到服务器的近邻列表更新信息后,根据用户的设置进行近邻展示;
如果用户设置的是基于近邻框的检测,就直接展示服务器的通告信息;
如果用户设置的是显示基于欧几里德距离的近邻或Dijkstra最短距离近邻,则需要进一步对服务器返回的近邻列表结合地图信息进行重新筛选和展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210066062.3A CN102665164B (zh) | 2012-03-14 | 2012-03-14 | 一种移动对象近邻检测的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210066062.3A CN102665164B (zh) | 2012-03-14 | 2012-03-14 | 一种移动对象近邻检测的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102665164A true CN102665164A (zh) | 2012-09-12 |
CN102665164B CN102665164B (zh) | 2014-11-05 |
Family
ID=46774554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210066062.3A Expired - Fee Related CN102665164B (zh) | 2012-03-14 | 2012-03-14 | 一种移动对象近邻检测的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102665164B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473248A (zh) * | 2012-12-17 | 2013-12-25 | 东北大学 | 一种路网环境下的连续移动k近邻查询方法 |
US9613528B2 (en) | 2013-03-28 | 2017-04-04 | International Business Machines Corporation | Vehicle position indexing |
CN107239488A (zh) * | 2017-04-21 | 2017-10-10 | 广东工业大学 | 一种在DSI索引结构中基于移动对象的k‑NN连续查询方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004771A (zh) * | 2010-11-12 | 2011-04-06 | 浙江大学 | 基于动态裁剪的移动对象反向近邻查询方法 |
CN102289466A (zh) * | 2011-07-21 | 2011-12-21 | 东北大学 | 一种基于区域覆盖的k近邻查询方法 |
-
2012
- 2012-03-14 CN CN201210066062.3A patent/CN102665164B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102004771A (zh) * | 2010-11-12 | 2011-04-06 | 浙江大学 | 基于动态裁剪的移动对象反向近邻查询方法 |
CN102289466A (zh) * | 2011-07-21 | 2011-12-21 | 东北大学 | 一种基于区域覆盖的k近邻查询方法 |
Non-Patent Citations (1)
Title |
---|
AMIR, A.等: "Buddy tracking-efficient proximity detection among mobile friends", 《INFOCOM 2004》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473248A (zh) * | 2012-12-17 | 2013-12-25 | 东北大学 | 一种路网环境下的连续移动k近邻查询方法 |
CN103473248B (zh) * | 2012-12-17 | 2017-06-23 | 东北大学 | 一种路网环境下的连续移动k近邻查询方法 |
US9613528B2 (en) | 2013-03-28 | 2017-04-04 | International Business Machines Corporation | Vehicle position indexing |
CN107239488A (zh) * | 2017-04-21 | 2017-10-10 | 广东工业大学 | 一种在DSI索引结构中基于移动对象的k‑NN连续查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102665164B (zh) | 2014-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110555640B (zh) | 路由规划的方法和装置 | |
CN102460431B (zh) | 行为和情境数据分析的系统和方法 | |
Rinzivillo et al. | The purpose of motion: Learning activities from individual mobility networks | |
WO2017031856A1 (zh) | 信息预测的方法和装置 | |
Laasonen | Clustering and prediction of mobile user routes from cellular data | |
US8706458B2 (en) | Traffic sensor management | |
CN104063383A (zh) | 信息推荐方法及装置 | |
CN109688532B (zh) | 一种划分城市功能区域的方法及装置 | |
CN109190763A (zh) | 查询响应设备 | |
US20220075838A1 (en) | Taxonomy-based system for discovering and annotating geofences from geo-referenced data | |
CN108834077B (zh) | 基于用户移动特性的跟踪区划分方法、装置及电子设备 | |
CN104760851A (zh) | 用于管理电梯的方法及装置 | |
Sudo et al. | Particle filter for real-time human mobility prediction following unprecedented disaster | |
Khedkar et al. | Prediction of traffic generated by IoT devices using statistical learning time series algorithms | |
CN102665164B (zh) | 一种移动对象近邻检测的方法 | |
Horn et al. | QZTool—automatically generated origin-destination matrices from cell phone trajectories | |
CN114440916A (zh) | 一种导航方法、装置、设备及存储介质 | |
CN113360792A (zh) | 信息推荐方法、装置、电子设备以及存储介质 | |
CN114519061A (zh) | 地图数据更新方法、装置、电子设备和介质 | |
CN114003672A (zh) | 一种道路动态事件的处理方法、装置、设备和介质 | |
CN111897820A (zh) | 一种应用于智慧城市的多源异构数据存储方法 | |
CN107657474B (zh) | 一种商圈边界的确定方法及服务端 | |
Dong et al. | A novel passenger hotspots searching algorithm for taxis in urban area | |
CN113593217B (zh) | 一种交通警力指挥调度方法、设备及可读存储介质 | |
KR20220119560A (ko) | 신호 처리 방법, 장치, 기기 및 저장매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141105 Termination date: 20160314 |
|
CF01 | Termination of patent right due to non-payment of annual fee |