CN107239488A - 一种在DSI索引结构中基于移动对象的k‑NN连续查询方法 - Google Patents
一种在DSI索引结构中基于移动对象的k‑NN连续查询方法 Download PDFInfo
- Publication number
- CN107239488A CN107239488A CN201710264852.5A CN201710264852A CN107239488A CN 107239488 A CN107239488 A CN 107239488A CN 201710264852 A CN201710264852 A CN 201710264852A CN 107239488 A CN107239488 A CN 107239488A
- Authority
- CN
- China
- Prior art keywords
- query
- list
- inquiry
- continuous
- user
- 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.)
- Pending
Links
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/23—Updating
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
现在有很多应用都涉及到移动对象的k‑最近邻查询任务,处理该问题的大多数现有方法都是进行一次查询处理,这很难用于多次连续查询处理。本发明的目的在于克服现有技术的缺点与不足,提供一种在DSI索引结构中基于移动对象的k‑NN连续查询方法。该方法根据同一移动对象的连续查询情况,首先查找该对象是否被查询过,若被查询过,则计算查询对象的移动距离是否超过限定距离,若没有超过给定的限定距离,则将上次的查询结果作为本次的查询内容。同时根据网络的延迟情况,限定网络延迟时间,若查询时间Δt超过限定时间&t,则查询结果无效,重新进行查询。此方法能有效避免网络延迟对于查询结果的影响,同时减少服务器的计算消耗。
Description
技术领域
本发明属于一种方法改进,在保证网络延迟的情况下,能快速响应移动对象的k-NN连续查询,重点是降低了网络通信消耗和减少服务器计算成本。
背景技术
处理移动对象的k最近邻(k-NN)查询在很多基于位置的应用程序中是一个基本操作。例如,基于位置社交网络服务可以帮助用户找到k个最接近他/她的其他用户。在基于位置的广告中,一个商店可能希望广播促销信息能是目前最接近商店的潜在客户,其中每个用户或客户可以被认为是一个移动对象。移动对象的k最近邻连续查询能快速响应用户需求,用户能够实时接收到周边环境信息。
传统的连续查询过程如下:
首先服务器接收到用户发来的需求信息,然后服务器分析用户需求信息,用户信息分析之后,服务器会计算用户周围的移动对象,并把结果返回给用户。当同一对象再次进行查询时,服务器会做相同的处理,当用户在同一地点一直进行查询时,服务器就一直重复计算其周围信息,并返回和上一次相同的结果。服务器计算会有一定的延迟,若计算时间过长,可能返回的结果就是以前的,并不是用户当前的需求,因此传统的连续查询并没有考虑网络延迟的问题,而且当对象在网络情况不好的地点进行查询时,结果传输需要时间过长,用户接受到的可能也是以前的信息。
传统的移动对象连续查询的解决方案不能用来处理互联网中大规模的数据,传统的方法都是设计用于在单个服务器上进行的,即对象的维持和更新都是在一个中心位置上,虽然它能处理小的数据量和小的更新,对于海量数据却不适用。
根据传统的方案的不足之处,一些现有的方法对其改进,主要有基于树的索引(如R-tree,R*-tree,TPR*-tree和四叉树)和基于网格的索引对移动对象进行连续查询,这两种索引结构都可以直接采用分布式设置,能够处理海量数据。但这两种结构也存在不足:首先基于树的索引具有复杂的结构,当在分布式集群中对象频繁的移动查询导致成本非常高,每次查询都要遍历树,这对于服务器来说是一个比较大的消耗。基于网格的方法通常需要迭代的扩大搜索区域以进行识别在网格中的单元格集合,来保证包含k-NN搜索的结果,这对于连续查询来说无疑是一个巨大的消耗,同时,这种迭代的次数是不确定的,在分布式设置中,这样的迭代可能导致集群中的节点大量的通信,并因此降低查询处理的性能。
基于动态索引条Dynamic Strip Index(DSI)索引结构的方法能够很好的处理分布式k-NN查询,也能够实时维护对象的更新,但是这种查询只能对于移动对象的一次查询效果较好,对于同一对象的连续查询往往需要对同一个对象重复大量的计算,这对于服务器来说是一个很大的消耗,并且这种方法并没有考虑网络延迟对于查询结果的影响。
发明内容
本发明的目的在于克服现有技术的缺点与不足,如服务器的重复计算,网络延迟对于结果的影响等问题,提供一种基于DSI的移动对象的分布式k-NN连续查询方法,保证了同一用户在k-NN查询方面能够快速获得结果,同时减少服务器的消耗。
本发明的主要思想描述如下:
1)如图2所示的运行图,在一个集群中确定一个主机和多个子机,主机用来接收查询对象,子机则用来存储对象。在主机中设置一个查询列表Ls,列表内存储已查询过的对象,包括对象的位置以及该对象的查询结果。每次查询开始时总是先访问列表Ls,查看列表中是否存在有与此相同的对象,如果有与此相同的对象,则计算此对象与列表中与此相同对象之间的距离,若它们之间的距离小于或等于Smin,则将列表中的存储此对象的查询结果表示为此次查询结果。若列表中没有与此相同对象或者有相同对象但距离大于Smin,该算法将会重新进行查询,并将查询结果储存在列表Ls中,其中Smin是由用户设定的。
2)为了控制因处理k-NN连续查询而引起的网络延迟,本发明给出合理的限定时间&t,同时令Δt表示查询处理时间,&t明显大于一次查询所需要的平均时间。若Δt小于或等于&t,则这次查询有效,然后将有效结果输出并储存在列表Ls中;若Δt大于&t,说明本次查询结果无效,需要重新运行算法进行查询。
附图说明
图1是本发明所提流程图。
图2是本发明所提方法在分布式设置中的运行图。
具体实施方式
如图1所示的流程图,用户发布查询请求,服务器接收到用户请求之后,服务器会查找其存储列表中是否是此用户的查询信息,若服务器中有此用户的查询信息,则读取存储在服务器中的用户信息,并获得该用户的地理坐标,然后计算服务器中存储该用户的坐标与此时用户正在查询时的坐标的距离,根据计算得出的距离与提出的限定距离Smin对比,若计算出的距离小于等于Smin,该方法会把存储在服务器中的用户信息返回给用户,从而不用再次计算,减少计算量。同时若服务器中没有该用户信息或者计算得出的距离大于限定距离Smin,则主服务器会把查询对象分发给不同的子机,每个子机都是基于DSI索引结构存储数据,能够快速响应,把结果返回子机1,同时计算查询时间Δt与限定查询时间&t比较,若Δt小于或等于&t则把结果返回给主机,同时主机存储结果并返回给用户。若Δt大于&t,则需要重新计算查询结果,主机需要重新发送查询对象到各个子机,重新计算。
以上实施例仅用于说明本发明的技术方案,同时参照实施例对本发明进行了详尽的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换,而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。
Claims (4)
1.一种在DSI索引结构中基于移动对象的k-NN连续查询方法,其特征在于:根据移动对象的连续查询情况,当对同一对象连续查询时,该算法首先查找该对象以前是否被查询过,若被查询过,则计算查询对象的移动距离是否超过限定距离,若没有超过给定的限定距离,则将上次的查询结果作为本次的查询内容。同时根据网络的延迟情况,限定网络延迟时间,若查询时间Δt超过限定时间&t,则查询结果无效,重新进行查询。
2.根据权利要求1所述的方法,其特征在于:在一个集群中确定一个主机和多个子机,主机用来接收查询对象,子机存储对象,主机设置一个查询列表Ls,列表内存储已查询过的对象,包括对象的位置以及查询结果,每次查询开始时总是先访问列表,查看列表中是否有与此相同的对象,如果有与此相同的对象,则计算此对象与列表中与此相同对象之间的距离,若计算的距离小于或等于Smin,我们将列表中存储的此对象的查询结果表示为此次查询结果,若列表中没有与此相同对象或者有相同对象但距离大于Smin,算法将会重新进行查询,并将重新查询结果储存在列表Ls中。
3.根据权利要求2所述的方法,其特征在于:给出限定时间&t,同时Δt表示查询处理时间,&t明显大于一次查询所需要的平均时间;若Δt小于或等于&t,则这次查询有效,若Δt大于&t,说明本次查询结果无效,需要重新运行算法进行查询。
4.根据权利要求1所述的方法,其特征在于:还包括:用户发布查询请求,服务器接收到用户请求之后,服务器会查找其查询列表中是否是此用户的查询信息,若服务器中有此用户的查询信息,然后读取服务器中的用户信息,获得该用户的地理坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710264852.5A CN107239488A (zh) | 2017-04-21 | 2017-04-21 | 一种在DSI索引结构中基于移动对象的k‑NN连续查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710264852.5A CN107239488A (zh) | 2017-04-21 | 2017-04-21 | 一种在DSI索引结构中基于移动对象的k‑NN连续查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107239488A true CN107239488A (zh) | 2017-10-10 |
Family
ID=59984110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710264852.5A Pending CN107239488A (zh) | 2017-04-21 | 2017-04-21 | 一种在DSI索引结构中基于移动对象的k‑NN连续查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107239488A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107917716A (zh) * | 2018-01-02 | 2018-04-17 | 广东工业大学 | 固定线路导航方法、装置、终端及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232644A (zh) * | 2008-01-11 | 2008-07-30 | 孟小峰 | 一种基于分组的移动对象追踪***和方法 |
CN102665164A (zh) * | 2012-03-14 | 2012-09-12 | 杭州电子科技大学 | 一种移动对象近邻检测的方法 |
US20130204861A1 (en) * | 2012-02-03 | 2013-08-08 | Quova, Inc. | Method and apparatus for facilitating finding a nearest neighbor in a database |
CN106095802A (zh) * | 2016-05-31 | 2016-11-09 | 南京邮电大学 | 城市路网上基于r树的全时态移动对象索引方法 |
-
2017
- 2017-04-21 CN CN201710264852.5A patent/CN107239488A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101232644A (zh) * | 2008-01-11 | 2008-07-30 | 孟小峰 | 一种基于分组的移动对象追踪***和方法 |
US20130204861A1 (en) * | 2012-02-03 | 2013-08-08 | Quova, Inc. | Method and apparatus for facilitating finding a nearest neighbor in a database |
CN102665164A (zh) * | 2012-03-14 | 2012-09-12 | 杭州电子科技大学 | 一种移动对象近邻检测的方法 |
CN106095802A (zh) * | 2016-05-31 | 2016-11-09 | 南京邮电大学 | 城市路网上基于r树的全时态移动对象索引方法 |
Non-Patent Citations (1)
Title |
---|
梁茹冰: "移动计算环境下语义缓存技术研究及应用", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107917716A (zh) * | 2018-01-02 | 2018-04-17 | 广东工业大学 | 固定线路导航方法、装置、终端及计算机可读存储介质 |
CN107917716B (zh) * | 2018-01-02 | 2021-07-06 | 广东工业大学 | 固定线路导航方法、装置、终端及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107040422B (zh) | 一种基于物化缓存的网络大数据可视化方法 | |
US9501524B2 (en) | Searching and determining active area | |
CN103024585B (zh) | 一种节目推荐***、方法及终端设备 | |
CN110110006A (zh) | 数据管理方法及相关产品 | |
JP7407209B2 (ja) | 情報プッシュ方法及び装置 | |
CN108288208B (zh) | 基于图像内容的展示对象确定方法、装置、介质及设备 | |
CN110471900A (zh) | 数据处理方法及终端设备 | |
CN103984761A (zh) | 海量异构数据的存储方法及*** | |
Shu et al. | An edge computing offloading mechanism for mobile peer sensing and network load weak balancing in 5G network | |
CN106294815B (zh) | 一种url的聚类方法及装置 | |
CN106815260A (zh) | 一种索引建立方法及设备 | |
CN104077723A (zh) | 一种社交网络推荐***及方法 | |
CN110119396B (zh) | 数据管理方法及相关产品 | |
CN104346345A (zh) | 数据的存储方法及装置 | |
CN109657017A (zh) | 地图中聚合点集的展示方法及装置 | |
CN110134698A (zh) | 数据管理方法及相关产品 | |
CN107066582A (zh) | 实现虚拟资源推荐的方法及装置 | |
CN106980540A (zh) | 一种分布式多维离散数据的计算方法 | |
CN108696418B (zh) | 一种社交网络中隐私保护方法及装置 | |
CN107239488A (zh) | 一种在DSI索引结构中基于移动对象的k‑NN连续查询方法 | |
CN107291860A (zh) | 种子用户确定方法 | |
CN110119427B (zh) | 数据管理方法及相关产品 | |
Aggarwal et al. | Spatio-temporal frequent itemset mining on web data | |
CN109101595A (zh) | 一种信息查询方法、装置、设备及计算机可读存储介质 | |
CN110110007A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171010 |
|
RJ01 | Rejection of invention patent application after publication |