CN112328877B - 时间依赖路网上多用户的skyline查询的方法 - Google Patents
时间依赖路网上多用户的skyline查询的方法 Download PDFInfo
- Publication number
- CN112328877B CN112328877B CN202011211286.XA CN202011211286A CN112328877B CN 112328877 B CN112328877 B CN 112328877B CN 202011211286 A CN202011211286 A CN 202011211286A CN 112328877 B CN112328877 B CN 112328877B
- Authority
- CN
- China
- Prior art keywords
- user
- node
- road network
- spt
- object data
- 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.)
- Active
Links
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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Navigation (AREA)
Abstract
本发明公开了一种针对时间依赖路网上多用户Skyline查询的方法,属于计算机领域中数据管理与查询方向。本发明首先结合用户在真实路网上进行个人需求服务的查询需求,设计了时间依赖路网上多用户的Skyline查询,建立了基于标记点的最短路径树。并在此基础上,给出了一种针对时间依赖路网上多用户Skyline查询算法,算法有效解决了实际路网中个人需求服务的查询需求。算法实施过程中,通过采用最短路径树及凸包等几何结构,进一步提升查询效率,依据凸包建立搜索区域来进行高效扩展。本发明的方法可以解决用户真实路网上的位置服务需求,通过最短路径树及凸包的结构保证了查询效率,具有很强的实际应用价值。
Description
技术领域
本发明涉及一种路网上基于位置服务的查询方法,具体涉及一种在时间依赖路网上的多用户Skyline查询方法,属于计算机领域中数据管理与查询技术领域。
背景技术
如今,随着移动设备的发展,在我们的日常生活中越来越普及。由于现有的移动设备通常都装有全球定位***芯片,用户可以很容易地获得自己的位置。随着各行各业对基于位置的服务(Location Based Services,LBS)需求不断扩大,对于基于位置的服务研究也不断深入。在我们的日常生活中,道路网上已有很多LBS应用。例如,导航***、旅游应用程序。
在不同类型的路网中进行多用户Skyline查询需要不同的算法。因此对于每一种路网模型,都会有一些合适的算法来进行多用户Skyline查询。如果路网模型中的边权值是静态的且确定性的,那么这个路网模型就是非时间依赖路网,也称为静态路网。静态路网下多用户Skyline查询的相关研究已十分成熟,在静态网络中已提出了许多有效的算法。这些算法均为标准的多用户Skyline查询算法。
而随着城市道路网络上私家车的数量不断增加,越来越多的路网卡口开始发生交通拥堵。这就会导致许多社会问题的产生,例如城市交通污染和居民出行时间的变化。为了能够帮助人们能够更有效地应对外界情况的改变,例如交通状况,天气因素,突发事件就需要时间依赖路网模型。其中,道路边权值跟随时间而产生变化。一位到南京来旅游的游客,他/她对于离他/她所在的旅游景点附件较劲的五星餐厅非常感兴趣,例如最负盛名的几个餐厅,金陵春酒楼、江苏酒家等。他/她提出一个查询,询问此时此刻通往哪个餐厅最优;答案取决于出发时间。例如,10:00时,去金陵春酒楼需要40分钟。这是最优的餐厅。尽管如此,如果他/她在22:00查询相同的问题,在相同的空间点,最近的餐厅是江苏酒家。在静态路网中,无论何时进行相关查询,返回的结果都是相同的。而时间依赖路网中的多用户Skyline查询则不同,需要考虑外界因素对路网边权值的影响,更符合实际情况。
由于实际路段上的行驶时间由时间决定,也就是说,其取决于路段上当前时间的交通车流量,所以实际路网是时间依赖路网而非静态路网。但目前技术大多针对静态空间中的路网距离,未能有效考虑路网的动态属性。例如,病人查询能周围最优的医院,食客寻求周边最优的饭店,家长考虑住宅周边最优的兴趣班等。同时查询算法需要计算所有用户到所有对象数据点的距离,这个计算是非常耗时且不切合查询实际的,这些距离计算是算法效率提升的最大瓶颈。
发明内容
基于上述问题,本发明提出新的时间依赖路网上多用户Skyline查询用以解决实际生活中查询在路网边权值随时间变化的动态环境下进行包含用户和对象数据集位置信息的多用户Skyline查询问题,并对此构建了一个基于标记点的最短路径树结构,运用凸包等几何结构和最短路径树有机结合,能够有效处理时间依赖路网上多用户Skyline查询。
本发明从现实应用中用户在真实路网上移动服务的查询需求出发,进而提出时间依赖路网上的多用户Skyline查询问题,解决现有技术主要考虑静态路网,未能有效处理时间依赖路网下基于位置服务的查询。为了克服传统查询计算方法需要计算所有用户到所有对象数据点的距离,提升算法效率,本发明专利提供了一种针对时间依赖路网上的多用户Skyline查询方法,构建了一个基于标记点的最短路径树结构,在算法实施过程中,通过采用最短路径树及凸包等几何结构,进一步提升查询效率,依据凸包建立搜索区域来进行高效扩展。该方法可以高效地处理时间依赖路网上的多用户Skyline查询问题,满足用户的查询需求。
本发明专利为解决其技术问题采用如下技术方案:
一种时间依赖路网上的多用户skyline查询方法,包括以下步骤:
步骤一、初始化
选取道路网中全天通行时间的开始时间作为初值,使用该初值作为权值并创建时间依赖路网;
步骤二、生成路网对应最短路径树
启发式的静态选择标记点,在已创建的时间依赖路网上生成相应地最短路径树,存储标记点到达其后继节点的最短有向路径及该有向路径的长度;其中有向路径的长度是当前时刻这条有向路径上所有有向边的权重之和;
步骤三、用户发起查询请求
用户根据所在位置提出查询要求,请求反馈时间依赖路网上的POI对象数据集中所有满足用户查询要求的POI对象数据点;
步骤四、计算初始Skyline结果集
4.1,根据POI对象数据集中每个POI对象数据点及各个用户所在位置构建凸包;
4.2,根据步骤二构建的时间依赖路网下的最短路径树得到用户与POI对象数据点之间的最短有向路径及该有向路径的长度;
4.3,遍历所有标记点,根据最近邻算法得到满足用户查询要求的POI对象数据点的近邻POI对象数据点,即扩展得到始的Skyline结果集;
步骤五、确定多用户Skyline查询结果
根据POI对象数据集、多用户位置和之前构建的凸包从而生成后续的扩展搜索区域。首先将扩展搜索区域内的POI对象数据点与初始Skyline结果集中的POI对象数据点进行支配关系比较,剔除被支配的一方,扩展搜索区域内以及初始Skyline结果集中的剩余POI对象数据点构成区域内数据集;然后对扩展搜索区域外的POI对象数据点与区域内数据集中的POI对象数据点进行非时间依赖属性的支配检验,剔除被支配的一方直接,扩展搜索区域外以及区域内数据集中的剩余POI对象数据点构成区域外数据集;最后对区域外数据集中的POI对象数据点进行全面的支配检验,找出的未被支配的POI对象数据点加入最终POI对象结果集,即得到多用户Skyline查询结果。
进一步,步骤二中在已创建的时间依赖路网上通过处理无负权边的Dijkstra算法或Bellman-Ford算法生成相应的最短路径树。
进一步,步骤4.3中结合三角形不等式构造启发函数f(n)=g(n)+maxl∈L{d(l,t)-d(l,n),d(n,l)-d(t,l)}来引导搜索扩展近邻POI对象数据点,该启发函数表示用户所在位置Loc(Q)经过中继节点n到达终点t的距离估计。根据三角不等式两边之差小于第三边可知d(n,t)≥d(l,t)-d(l,n)且d(n,t)≥d(n,l)-d(t,l),遍历所有标记点后将f(n)取最大值的中继节点n作为近邻POI对象数据点,与步骤三中的满足用户查询要求的POI对象数据点一起构成初始的Skyline结果集,其中,t表示某一个满足用户查询要求的POI对象数据点,g(n)表示用户所在位置Loc(Q)到中继节点n的距离,d(l,t)、d(l,n)分别为l到t、n的距离,d(n,l)、d(t,l)分别为t、n到l的距离。
进一步,步骤二中的最短路径树SPT中的某一个有向边e的权重发生变化,将包含T(e)及其子孙节点的节点集记为des(T(e)),更新由根节点到des(T(e))中的任一节点v的最短路径,即得到更新后的最短路径树。
进一步,步骤二中的最短路径树SPT中的某一个有向边e的权重增加,采用以下方法对最短路径树进行更新:
引入边集Q_SPT来表示SPT中有向边的集合,其中每个元素都以{e,min_d}的形式存储,其中min_d表示假设新的最短路径通过e、到达T(e)的最短距离的增加值,T(e)为e的终节点;
引入点集M来表示当e的权重增加时受影响的节点的集合,将节点j和增值d一起加入到节点集M中;j的初始值M.j.inc=d,d=w’(e)-w(e),w’(e)、w(e)分别为e增加后、增加前的权重;
根据SPT中以j为根节点的DFS序列搜索j的所有子孙节点,将包含j及其子孙节点的节点集记为des(j);
对若则min_d=MIN{D'(S(e))+w(e)-D(T(e))},D’(·)表示更新后最短距离,D(·)则表示更新前的最短距离;若min_d<M.v.inc,则在Q_SPT中加入(e,min_d),并更新M.v.inc=min_d;随后,将v的子节点k加入到M中,并更新M.k.i nc=M.v.inc;其中S(e)为e的源节点,M.k.inc、M.v.inc分别为k、v的初始值;
当Q_SPT为空时,循环终止,此时已经构建好新SPT;否则,从Q_SPT中提取带有最小增值的有向边e’,则e’的源节点S(e’)成为其终节点T(e’)的父节点,对D’(v)=D(v)+min_d;Q_SPT中的所有以des(T(e’))节点为终节点的边都被移除,更新的节点也从M中移除;对以des(T(e’))为源节点和M中节点为终节点的边进行筛查,将这些边添加到边集Q_SPT中然后继续执行动态更新。
进一步,步骤二中的最短路径树SPT中的某一个有向边e的权重减少,采用以下方法对最短路径树进行更新:
引入边集Q_SPT来表示SPT中有向边的集合,其中每个元素都以{e,min_d}的形式存储,其中min_d表示假设新的最短路径通过e、到达T(e)的最短距离的增加值
对des(T(e))中所有节点进行更新,Q_SPT中所有以des(T(e))中节点为终节点的边都被移除;对找到以其为终节点的带有最小增值的有向边e’,则将边e’及其对应的min_d加入到Q_SPT中。
本发明采用以上技术方案与现有技术相比,具有以下有益效果:
1)针对以往研究假设路网环境下多用户Skyline查询的不足,提出时间依赖路网上多度量环境下的多用户Skyline查询方法,用以解决实际生活中静态属性与路网空间相结合的多用户Skyline查询问题(如用户查询当前时间能较快到达其次满足评分高符合口味的餐厅),使得最终结果更加接近真实值且更符合用户预期值。
2)提出一种用于时间依赖路网下多用户Skyline查询的基于标记点最短路径树,对后续搜索扩展节点进行较大剪支,极大减少了全局更新边权值的计算量。
3)利用凸包等几何结构的特性,配合时间依赖路网下的最短路径树的数据结构,对POI对象数据集进行剪支,减少了支配检验的次数,极大地提升了算法的查询效率。
附图说明
图1是时间依赖路网上的多用户Skyline查询流程;
图2是时间依赖局部路网;
图3是最短路径树中边(C,F)权值由21增加至31;
图4是边(C,F)权值由21增加至31所建立的新最短路径树。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
为了解决时间依赖路网上多用户Skyline查询问题,本发明提供了一种时间依赖路网上多用户Skyline查询算法,其整体流程如图1所示。
以下结合附图和实施例对本发明的技术方案做进一步详细说明:
在时间依赖路网GT=(V,E,C)中,将构造的最短路径树(SPT)中根节点记为S(GT)∈V。S(GT)的所有后继节点都可以从S(GT)出发,通过唯一一条有向路径到达。这条有向路径的长度是当前时刻这条路径上所有向边的权重之和。将边的源节点vi记为终节点vj记为vi为vj的父节点,记为P(vj)=vi。D(vi)表示为将vi的最短路径距离记为D(vi),将由SPT中由根节点S(GT)到节点vi的唯一路径的长度记为D(vi)。对于更新了权重的有向边其中将更新权重后经由根节点到S(GT)到节点vi的最短路径及有向边的以节点vj为目标的最短路径的增值记为d,对于边权重减小情况,d值可为负。节点vi的子节点只能从vi出发,通过SPT的边到达。将包含节点vi及其子孙节点的节点集记为des(vi)。
我们致力于解决用户对时间依赖路网上基于位置服务的查询需求,为此设计了时间依赖路网上基于标记点的最短路径树,如图3所示,是最短路径树中需要更新的一种情况,其中边(C,G)权值由21增加到31。粗线箭头就是以A为根节点生成的最短路径树。当边(C,G)权值增加时,节点A、B、C、D、E、G、H、K原最短路径仍是合法的。但对于根节点A到虚线区域内节点的最短路径,必须进行更新。这些节点都是原有SPT中节点F(包含F)的子孙节点。如图4所示,是更新后的新最短路径树。如果到节点F、I、J、L、M的最短路径不变,则这些节点的最短距离仅增加10。如果存在其他路径可使其距离增值小于10,则进行更新。这些节点都有多条入边。每条入边都可能会定义新最短距离。例如,边(C,F)和(B,F)都可以到达节点F,经过边(C,F)到节点F的路径最短距离将增加10。而通过边(B,F)则最短距离增加2。这意味着边(B,F)更优。如表1所示,列出了虚线区域内节点所需要扫描的边。
表1与需要更新的节点相连边会影响新SPT的构建
表1首先列出需要更新的节点,其次列出节点的入边。在第三行中,如果新最短路径包含第二行的入边,则给出距离增值。最后给出入边是否有助于构建新SPT的判断。在给出节点的所有入边中,第二行的边对其节点的增量最小。当从边集Q_SPT中提取一条边时,该边就是一条关键边。在图4中,关键边就是(G,J)和(B,F),即在表1更新的边。
给定节点集V’,定义源边集S_Edge{N}和终边集T_Edge{N}。其中 如图4所示,节点集V'={F,I,J,L,M},S_Edge{N}={(F,D),(F,E),(F,G),(I,H)},T_Edge{N}={(B,F),(C,F),(E,I),(G,J),(H,L),(K,M)}。即源边集是SPT中与虚线范围相交的且源节点在虚线范围内终节点在虚线范围外的有向边,终边集是SPT中与虚线范围相交的且源节点在虚线范围外终节点在虚线范围内的有向边。
在TD-LSPT算法中,预处理包括两个步骤:标记点选择和原始SPT生成。标记点的选择是启发式的,所以我们只选择静态标记点,即使后续时间依赖路网变化标记点也不会更改。原始SPT可以通过静态路网中的Dijkstra算法(处理无负权边的图)或Bellman-Ford算法[17](处理无负权环的图)得到。在更新过程中,通过维护边集Q_SPT和节点集合M,重新配置节点的父子关系。集Q_SPT中的每个元素都以{e,min_d}的形式存储,其中min_d表示假设新的最短路径通过e,节点T(e)的最短距离的增加值。M表征当边权增加时受影响的节点的集合,可简化更新SPT的计算。受影响待更新的节点都会被加入到点集M中。设节点v∈M,节点v带有增值M.v.inc。M.v.inc是其入边中最小的增值。同时点集M能确保边集Q_SPT中没有具有相同min_d的记录。当节点S(e1)成为连续变化的临时SPT中节点T(e1)的父节点时,用公式表示为P(T(e1))=S(e1),节点T(e1)则为节点S(e1)的子节点。
更新SPT会根据边权变化进行两种操作。一种处理边权增加,另一种处理边权减小。边权值增加时调用如下UPDATE-Increased算法,通过维护集合M能简化添加/删除元素及在边集Q_SPT搜索最小min_d的计算。边权减小时与增加操作类似,但需要注意无法判断更新节点的确切范围,会出现更短的最短距离对des(j)中的所有节点更新的情况。des(j)中节点最短距离的减小也会使其相邻节点更新更短的最短距离。即边权减小的影响可能会传播。当处理完边权变化后会等待下一个拓扑变化。
UPDATE-Increased算法:
输入:原SPT,边e变化前后权值w(e)和w’(e)
当标记点原有SPT中边权增加时所属算法对其进行更新。引入点集M来表示路网图GT中更新的节点。初始化阶段(第1-2行),M包含所有要更新的节点。将节点j和增值d一起加入到节点集M中。然后根据标记点原有SPT中根节点j的DFS序列搜索j的所有子孙节点(第4-5行)。v的第一个节点j初始值为M.j.inc。用D(S(e))+w(e)-D(T(e))的增值来比对除去des(j)中具有初始节点后剩余每个节点v∈des(j)的入边。选择增值最小的边e’,将其最小值min_d与M.v.inc进行比较(第6-8行)。如果min_d较小,则将边e’添加到边集Q_SPT中,并更新M.v.inc。随后,将临时SPT节点v的子节点k加入到节点集M中,并附上M中节点v的增值(第9-10行)。初始化过程确保Q_SPT中每条边的增值都比其所有祖先小。初始化结束后,集合Q_SPT内包含所有关键边。
当边集Q_SPT为空时,策略一的循环终止(第11行)。此时已经构建好新SPT,TD-LSPT-UPDATE算法等待下一次边权更改。如果非空,从Q_SPT中提取带有最小增值的边e’(第12行)。一旦边e’被取出,其初始节点S(e1)将成为维护SPT中的结束节点T(e’)的父节点(第13行)。所有子孙节点des(T(e’))都可以通过增加min_d得到其新的最短距离(第14行)。Q_SPT中的所有与des(T(e1))中终节点相连的边都将被移除(第15行)。更新的节点也从M中移除(第16行)。此外,由于M中的一些节点会得到更小的最短距离增量,会对以des(T(e’))为源节点和M中节点为终节点的边进行筛查(第17-19行)。将这些边添加到边集Q_SPT中然后继续执行动态更新。
边权值减小且对原SPT造成影响时也需要对标记点原有SPT进行。因为无法具体到更新哪些节点,所以不再使用节点集M。由于des(j)中所有节点的最短距离都减小了,所以会对des(j)中所有节点进行更新。如果该边对原SPT造成影响则加入Q_SPT。终节点T(e)则选择最小增值min_d的边e’,如果min_d为负,则将边e及其min_d加入到边集Q_SPT中。创建的边集Q_SPT包含所有关键边。
如图1所示,是本发明使用的方法,本发明基于标记点的最短路径树,并有机结合凸包等几何结构,不仅简化繁琐的计算,极大提升效率,同时更好满足用户查询需求。主要过程是:
步骤一、初始化相关信息:
选取道路网中全天通行时间的开始时间作为初值,使用该初值作为权值并创建时间依赖路网。
步骤二、生成路网对应最短路径树:
启发式的静态选择标记点,即使后续时间依赖路网变化标记点也不会更改。在已构建的反向时间依赖路网上通过处理无负权边的Dijkstra算法得到原始最短路径树,存储标记点到达其后继节点的最短路径及其最短距离。
步骤三、维护各最短路径树:
通过维护边集Q_SPT和节点集合M,重新配置节点的父子关系。边集Q_SPT中的每个元素都以{e,min_d}的形式存储,其中min_d表示假设新的最短路径含有边e,边e的终点T(e)的最短距离的增加值。节点集M表征当边权增加时受影响的节点的集合,可简化更新最短路径树时的计算。受影响待更新的节点都会被加入到节点集M中。设节点v∈M,节点v带有增值M.v.inc。M.v.inc是其入边中最小的增值。同时点集M能确保边集Q_SPT中没有具有相同min_d的记录。同时根据边权变化采取两种更新最短路径树的操作:一种处理边权增加,另一种处理边权减小。边权值增加时通过维护集合M能简化添加/删除元素及在边集Q_SPT搜索最小min_d的计算。边权减小时与增加操作类似,但需要注意无法判断更新节点的确切范围,会出现更短的最短距离对des(j)中的所有节点更新的情况。des(j)中节点最短距离的减小也会使其相邻节点更新更短的最短距离。即边权减小的影响可能会传播。当处理完边权变化后会等待下一个拓扑变化。
步骤四、用户发起查询请求:
多个用户根据各自所在不同位置Loc(Q)提出查询要求,请求反馈在时间依赖路网上的POI数据集上所有满足用户要求的结果。
步骤五、依据用户位置构建凸包结构从而计算初始结果集:
首先根据POI对象数据集中每个数据点及各个用户所在位置构建凸包,根据之前构建的时间依赖路网下的最短路径树直接得到查询用户与POI对象数据点之间的最短路径及其距离,从而结合三角形不等式构造启发函数f(n)=g(n)+maxl∈L{d(l,t)-d(l,n),d(n,l)-d(t,l)}来引导搜索扩展近邻POI对象数据点,该函数表示用户所在位置查询点Loc(Q)经过中继节点n到达终点t(POI数据集上节点)的距离估计。其中g(n)表示用户所在位置Loc(Q)到中继节点n的距离,对于每个标记节点l∈L,根据三角不等式两边之差小于第三边可知d(n,t)≥d(l,t)-d(l,n)且d(n,t)≥d(n,l)-d(t,l),遍历所有标记节点后将f(n)取最大值的中继节点n作为近邻POI对象数据点,与步骤三中的满足用户查询要求的POI对象数据点一起构成初始的Skyline结果集。
步骤六、扩展搜索区域遍历POI对象:
根据POI对象数据集、多用户位置和之前构建的凸包从而生成后续的扩展搜索区域。首先将扩展搜索区域内的POI对象数据点与初始Skyline结果集中的POI对象数据点进行支配关系比较,剔除被支配的一方,扩展搜索区域内以及初始Skyline结果集中的剩余POI对象数据点构成区域内数据集;然后对扩展搜索区域外的POI对象数据点与区域内数据集中的POI对象数据点进行非时间依赖属性的支配检验,剔除被支配的一方直接,扩展搜索区域外以及区域内数据集中的剩余POI对象数据点构成区域外数据集;最后对区域外数据集中的POI对象数据点进行全面的支配检验,找出的未被支配的POI对象数据点加入最终POI对象结果集,即得到多用户Skyline查询结果。
本发明从现实应用中用户在真实路网上移动服务的查询需求出发,进而提出时间依赖路网上的多用户Skyline查询问题,解决现有技术主要考虑静态路网,未能有效处理时间依赖路网下基于位置服务的查询。为了克服传统查询计算方法需要计算所有用户到所有对象数据点的距离,提升算法效率,本发明专利提供了一种针对时间依赖路网上的多用户Skyline查询方法,构建了一个基于标记点的最短路径树结构,在算法实施过程中,通过采用最短路径树及凸包等几何结构,进一步提升查询效率,依据凸包建立搜索区域来进行高效扩展。该方法可以高效地处理时间依赖路网上的多用户Skyline查询问题,满足用户的查询需求。
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (6)
1.时间依赖路网上的多用户skyline查询方法,其特征在于,包括以下步骤:
步骤一、初始化
选取道路网中全天通行时间的开始时间作为初值,使用该初值作为权值并创建时间依赖路网;
步骤二、生成路网对应最短路径树
启发式的静态选择标记点,在已创建的时间依赖路网上生成相应地最短路径树,存储标记点到达其后继节点的最短有向路径及该有向路径的长度;其中有向路径的长度是当前时刻这条有向路径上所有有向边的权重之和;
步骤三、用户发起查询请求
用户根据所在位置提出查询要求,请求反馈时间依赖路网上的POI对象数据集中所有满足用户查询要求的POI对象数据点;
步骤四、计算初始Skyline结果集
4.1,根据POI对象数据集中每个POI对象数据点及各个用户所在位置构建凸包;
4.2,根据步骤二构建的时间依赖路网下的最短路径树得到用户与POI对象数据点之间的最短有向路径及该有向路径的长度;
4.3,遍历所有标记点,根据最近邻算法得到满足用户查询要求的POI对象数据点的近邻POI对象数据点,即扩展得到初始的Skyline结果集;
步骤五、确定多用户Skyline查询结果
根据POI对象数据集、多用户位置和之前构建的凸包从而生成后续的扩展搜索区域;首先将扩展搜索区域内的POI对象数据点与初始Skyline结果集中的POI对象数据点进行支配关系比较,剔除被支配的一方,扩展搜索区域内以及初始Skyline结果集中的剩余POI对象数据点构成区域内数据集;然后对扩展搜索区域外的POI对象数据点与区域内数据集中的POI对象数据点进行非时间依赖属性的支配检验,剔除被支配的一方,扩展搜索区域外以及区域内数据集中的剩余POI对象数据点构成区域外数据集;最后对区域外数据集中的POI对象数据点进行全面的支配检验,找出的未被支配的POI对象数据点加入最终POI对象结果集,即得到多用户Skyline查询结果。
2.如权利要求1所述的时间依赖路网上的多用户skyline查询方法,其特征在于,步骤二中在已创建的时间依赖路网上通过处理无负权边的Dijkstra算法或Bellman-Ford算法生成相应的最短路径树。
3.如权利要求1所述的时间依赖路网上的多用户skyline查询方法,其特征在于,步骤4.3中结合三角形不等式构造启发函数f(n)=g(n)+maxl∈L{d(l,t)-d(l,n),d(n,l)-d(t,l)}来引导搜索扩展近邻POI对象数据点,该启发函数表示用户所在位置Loc(Q)经过中继节点n到达终点t的距离估计;遍历所有标记点后将f(n)取最大值的中继节点n作为近邻POI对象数据点,与步骤三中的满足用户查询要求的POI对象数据点一起构成初始的Skyline结果集,其中,t表示某一个满足用户查询要求的POI对象数据点,g(n)表示用户所在位置Loc(Q)到中继节点n的距离,d(l,t)、d(l,n)分别为l到t、n的距离,d(n,l)、d(t,l)分别为t、n到l的距离,l表示用户所在位置Loc(Q)。
4.如权利要求1所述的时间依赖路网上的多用户skyline查询方法,其特征在于,步骤二中的最短路径树SPT中的某一个有向边e的权重发生变化,将包含T(e)及其子孙节点的节点集记为des(T(e)),更新由根节点到des(T(e))中的任一节点v的最短路径,即得到更新后的最短路径树;其中,T(e)为e的终节点。
5.如权利要求4所述的时间依赖路网上的多用户skyline查询方法,其特征在于,步骤二中的最短路径树SPT中的某一个有向边e的权重增加,采用以下方法对最短路径树进行更新:
引入边集Q_SPT来表示SPT中有向边的集合,其中每个元素都以{e,min_d}的形式存储,其中min_d表示假设新的最短路径通过e、到达T(e)的最短距离的增加值,T(e)为e的终节点;
引入点集M来表示当e的权重增加时受影响的节点的集合,将节点j和增值d一起加入到节点集M中;j的初始值M.j.inc=d,d=w’(e)-w(e),w’(e)、w(e)分别为e增加后、增加前的权重;
根据SPT中以j为根节点的DFS序列搜索j的所有子孙节点,将包含j及其子孙节点的节点集记为des(j);
对若则min_d=MIN{D′(S(e))+w(e)-D(T(e))},D’(·)表示更新后最短距离,D(·)则表示更新前的最短距离;若min_d<M.v.inc,则在Q_SPT中加入(e,min_d),并更新M.v.inc=min_d;随后,将v的子节点k加入到M中,并更新M.k.inc=M.v.inc;其中S(e)为e的源节点,M.k.inc、M.v.inc分别为k、v的初始值;
6.如权利要求4所述的时间依赖路网上的多用户skyline查询方法,其特征在于,步骤二中的最短路径树SPT中的某一个有向边e的权重减少,采用以下方法对最短路径树进行更新:
引入边集Q_SPT来表示SPT中有向边的集合,其中每个元素都以{e,min_d}的形式存储,其中min_d表示假设新的最短路径通过e、到达T(e)的最短距离的增加值;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011211286.XA CN112328877B (zh) | 2020-11-03 | 2020-11-03 | 时间依赖路网上多用户的skyline查询的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011211286.XA CN112328877B (zh) | 2020-11-03 | 2020-11-03 | 时间依赖路网上多用户的skyline查询的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112328877A CN112328877A (zh) | 2021-02-05 |
CN112328877B true CN112328877B (zh) | 2022-03-25 |
Family
ID=74323439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011211286.XA Active CN112328877B (zh) | 2020-11-03 | 2020-11-03 | 时间依赖路网上多用户的skyline查询的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328877B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113778987B (zh) * | 2021-08-20 | 2023-10-17 | 江西省军民融合研究院 | 基于北斗位置服务平台的路网查询方法 |
CN114254213B (zh) * | 2021-12-24 | 2024-07-19 | 中南民族大学 | 一种多重背景下的Top-k路径序列查询方法及*** |
CN116956349B (zh) * | 2023-07-29 | 2024-03-19 | 哈尔滨理工大学 | 一种基于时间依赖路网中的k近邻隐私保护查询方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130144524A1 (en) * | 2011-03-31 | 2013-06-06 | Microsoft Corporation | Double-hub indexing in location services |
CN102810118B (zh) * | 2012-07-05 | 2015-08-05 | 上海电力学院 | 一种变权网k近邻搜索方法 |
CN102799681B (zh) * | 2012-07-24 | 2014-11-12 | 河海大学 | 一种面向任意段数据的Top-k查询方法 |
CN109902711B (zh) * | 2019-01-14 | 2023-03-31 | 南京航空航天大学 | 一种时间依赖路网上的移动对象k近邻查询算法 |
CN110297874B (zh) * | 2019-04-04 | 2021-06-25 | 北京工业大学 | 基于Voronoi的多尺度道路网skyline查询方法 |
-
2020
- 2020-11-03 CN CN202011211286.XA patent/CN112328877B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112328877A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112328877B (zh) | 时间依赖路网上多用户的skyline查询的方法 | |
Poorthuis | How to draw a neighborhood? The potential of big data, regionalization, and community detection for understanding the heterogeneous nature of urban neighborhoods | |
CN104995870B (zh) | 多目标服务器布局确定方法和装置 | |
US20160232179A1 (en) | Recommending points of interests in a region | |
US20120310523A1 (en) | Customizable route planning | |
Shang et al. | Finding regions of interest using location based social media | |
CN108304542B (zh) | 一种时间依赖路网中的连续k近邻查询方法 | |
CN101900565A (zh) | 路径确定方法和装置 | |
CN109635037A (zh) | 一种关系型分布式数据库的分片存储方法及装置 | |
CN103020130A (zh) | 一种面向城市路网的位置服务中支持区域的k最近邻查询方法 | |
Liu et al. | FHL-cube: multi-constraint shortest path querying with flexible combination of constraints | |
Ai et al. | A map generalization model based on algebra mapping transformation | |
Afyouni et al. | Algorithms for continuous location-dependent and context-aware queries in indoor environments | |
CN112883272B (zh) | 一种推荐对象的确定方法 | |
Lin et al. | Personalized query techniques in graphs: A survey | |
CN108731688A (zh) | 导航方法和装置 | |
CN112380267B (zh) | 一种基于隐私图的社区发现方法 | |
Zou et al. | Hybrid traffic route visual recommendation based on multilayer complex networks | |
CN109104466B (zh) | 一种基于P2P的WoT资源管理方法 | |
Huang et al. | Continuous within query in road networks | |
CN111191084B (zh) | 一种基于图结构的地名地址的解析方法 | |
Zhou et al. | Sts: complex spatio-temporal sequence mining in flickr | |
CN101840434A (zh) | 一种在空间网络数据库中查找最近k个点对的广度优先方法 | |
CN113139065A (zh) | 一种融合地理知识的混合知识图谱构建方法 | |
Wang et al. | Hypergraph index: an index for context-aware nearest neighbor query on social networks |
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 |