一种面向数据广播的位置相关skyline查询处理方法技术

技术编号:15103397 阅读:50 留言:0更新日期:2017-04-08 13:41
一种面向数据广播的位置相关skyline查询处理方法。解决传统Client/Server计算模式下处理位置相关Skyline查询Server容易遭遇性能瓶颈的问题。该方法涉及到广播服务器和移动客户端,在广播服务器端,首先对多维数据对象集进行预处理,将其划分成两大类,在此基础上,提出一种新的基于分类和排序的(k,m)交错的广播数据组织模式。在移动客户端,采用过滤和提纯策略设计出节能的位置相关skyline查询算法。本发明专利技术由广播服务器负责组织数据集并通过无线广播信道向移动客户端周期性广播;移动客户端通过侦听广播信道,执行位置Skyline查询算法来响应用户提交的位置相关Skyline查询请求。

【技术实现步骤摘要】

本专利技术属于数据库位置相关查询领域。通过在数据广播服务器端组织广播数据和在移动客户端设计相应的查询算法来高效地处理用户的位置相关skyline查询请求。
技术介绍
移动通信技术的迅速发展与便携式移动设备的不断普及催生了新一代的移动计算系统。相比于基于固定网络和固定主机的分布式计算系统,移动计算系统摆脱了固定平台和线缆连接的束缚,使得用户能在移动过程中随时、随地访问所需信息。在带宽受限的移动计算系统中,数据广播是一种非常有效的数据分发技术,数据广播的“一次传送,无限共享”的特点使其能很好地满足数量众多、资源受限且运动模式多变的移动客户端对热点数据的访问需求。作为一种高效的数据分发技术,数据广播已经广泛应用于大众信息的发布上,如广播服务器通过周期性地广播交通、股票、气候等热点数据为用户提供各类实时信息。然而,在实际应用中,用户并不仅仅满足于简单地接收信息,还希望获取一些有益于决策的增值信息,例如,出租车司机希望获取的不仅是各个加油站信息,他们更想知道:哪些加油站距离他们当前位置近且油价相对较便宜。因此,将数据广播技术与位置服务技术相结合,在现有的数据广播平台上提供支持用户决策的位置相关复杂查询功能,能够为广大移动客户端提供更多、更好的增值服务,有着显著的经济效益和广泛的应用前景。位置相关Skyline查询就是一类非常重要的位置相关复杂查询,已被广泛地应用于多目标优化、数据挖掘等相关领域。位置相关Skyline查询针对同时包含空间位置属性和非空间多维属性的数据集,具体来讲,位置相关Skyline查询是指从一个给定的包含空间位置属性和非空间多维属性的数据集S中挑选出不被S中任何数据对象位置支配的所有数据对象。如果数据对象p在非空间多维属性上支配数据对象k,并且p离查询点的距离比k离查询点的距离近,则称p位置相关支配k。数据对象p在非空间多维属性上支配数据对象k指的是p在所有非空间维上都不比k差,并且至少在某一非空间维上比k好。现有的位置相关Skyline查询处理算法常常假定基于传统的Client/Server计算模式,即Client向Server发送位置相关Skyline查询请求,Server接收查询请求后执行相应查询处理算法获得查询结果,然后将查询结果返回给Client。在这样一种计算模式中,所有的计算任务都落在Server上,随着Client数目的增长,Server将遭遇性能瓶颈。而数据广播的“一次传送,无限共享”的特点则能很好地满足数量众多移动客户端对热点数据的访问需求。在数据广播环境下,无线广播信道充当了常规的数据磁盘的角色,然而无线广播信道的线性特性明显不同于随机存取的磁盘介质。因此,传统的Client/Server计算模式下的位置相关Skyline查询处理算法显然不能直接扩展到数据广播模式下,为此,必须针对数据广播环境的特性设计新的位置相关Skyline查询处理算法。
技术实现思路
本专利技术的目的是针对传统的Client/Server计算模式下处理位置相关Skyline查询Server容易遭遇性能瓶颈的问题,提供一种新的面向数据广播的位置相关skyline查询处理方法。本专利技术提供的面向数据广播的位置相关skyline查询处理方法涉及到广播服务器和移动客户端,如图1所示:数据集由广播服务器负责组织并通过无线广播信道向移动客户端周期性地广播;移动客户端通过侦听广播信道,执行位置Skyline查询算法来响应用户提交的位置相关Skyline查询请求。本专利技术提供的面向数据广播的位置相关skyline查询处理方法具体包括:第1、服务器端(Server端)的广播信道中数据对象集的有效组织;第1.1、在广播服务器端,首先采用现有的Skyline查询算法(如块嵌套循环算法)将待查询的多维数据对象集S划分成两部分:Skyline数据对象集S1和非Skyline数据对象集S2;然后,将S2中的数据对象按位置邻近关系进行排序(采用Hilbert曲线或Z曲线进行排序);进一步,将排序好的S2中数据对象划分成m×k个小的数据段(其中m和k通常取1到10间的整数):S2,1,S2,2,…,S2,m×k-1,S2,m×k;最后,将S1与S2,1,S2,2,…,S2,m×k-1,S2,m×k按(k,m)交错模式组织成一个广播周期,即每k个连续的S2,i+1,S2,i+2,…,S2,i+k之前插入一个完整的S1,构成一个完整的广播周期,其中,1≤i≤m×(k—1)。一个完整的广播周期中数据对象的组织如图2所示;第1.2、将上述排列好的广播数据集进一步组织成带索引的数据段,按照数据段包含数据对象的不同,带索引的数据段被分成如下两类:确定性数据段和待定数据段,其中确定性数据段包含一个完整的数据对象集S1,而待定数据段包含数据对象集S2中m×k个小的数据段:S2,1,S2,2,…,S2,m×k-1,S2,m×k中的一个。两类数据段的具体结构如图3所示。图3中(a)、(b)分别描述了一个确定数据段和一个待定数据段的组织结构。第1.2.1、一个确定数据段包括存储控制信息的header部分和存储数据对象集S1的数据部分,其中,header部分包括如下内容:(1)type字段:用来指示数据段的类型(type取值1代表是确定数据段,而取0则代表为待定数据段);(2)MBR(S1):包含S1中所有数据对象的最小包含矩阵;(3)size:表示数据对象的大小;(4)number:表示S1中包含的数据对象的个数;(5)(k,m):表示一个确定数据段后邻接k个连续的待确定数据段,一个广播周期中包含m个确定数据段,k和m的具体取值可由用户根据应用的需求来指定;(6)next-p:指向该广播周期中下一个确定数据段的指针。第1.2.2、类似地,一个待定数据段也包括存储控制信息的header部分和存储非Skyline数据对象的数据部分,header部分包括如下内容:(1)type字段:用来指示数据段的类型(type取值1代表是确定数据段,而取0则代表为待定数据段);(2)MBR(S2,i):包含S2,i中所有数据对象的最小包含矩阵;(3)number:表示S2,i中包含的数据对象的个数;(4)next-p:指向该广播周期中下一个确定数据段的指针;(5)near-p:指向该广播周期中下一个待定数据段的指针;(6)D-bit:为待定数据段的每个数据对象t设定的一个位,对数据对象t,若其D-bit为1,则表示在所有待定数据段中至少存在一个数据对象支配t;第2、客户端(Client端)的位置相关skyline查询算法:具体包括本文档来自技高网
...

【技术保护点】
一种面向数据广播的位置相关skyline查询处理方法,其特征在于该方法具体包括:第1、服务器端(Server端)的广播信道中数据对象集的有效组织;第1.1、在广播服务器端,首先采用现有的Skyline查询算法将待查询的多维数据对象集S划分成两部分:Skyline数据对象集S1和非Skyline数据对象集S2;然后,将S2中的数据对象按位置邻近关系进行排序;进一步,将排序好的S2中数据对象划分成m×k个小的数据段:S1与S2,1,S2,2,…,S2,m×k‑1,S2,m×k,其中m和k通常取1到10间的整数;最后,将S1与S2,1,S2,2,…,S2,m×k‑1,S2,m×k按(k,m)交错模式组织成一个广播周期,即每k个连续的S2,i+1,S2,i+2,…,S2,i+k之前插入一个完整的S1,构成一个完整的广播周期,其中,1≤i≤m×(k—1);第1.2、将上述排列好的广播数据集进一步组织成带索引的数据段,按照数据段包含数据对象的不同,带索引的数据段被分成如下两类:确定性数据段和待定数据段,其中确定性数据段包含一个完整的数据对象集S1,而待定数据段包含数据对象集S2中m×k个小的数据段:S2,1,S2,2,…,S2,m×k‑1,S2,m×k中的一个;第1.2.1、一个确定数据段包括存储控制信息的header部分和存储数据对象集S1的数据部分,其中,header部分包括如下内容:(1)type字段:用来指示数据段的类型,type取值1代表是确定数据段,而取0则代表为待定数据段;(2)MBR(S1):包含S1中所有数据对象的最小包含矩阵;(3)size:表示数据对象的大小;(4)number:表示S1中包含的数据对象的个数;(5)(k,m):表示一个确定数据段后邻接k个连续的待确定数据段,一个广播周期中包含m个确定数据段,k和m的具体取值由用户根据应用的需求来指定,通常取1到10间的整数;(6)next‑p:指向该广播周期中下一个确定数据段的指针;第1.2.2、类似地,一个待定数据段也包括存储控制信息的header部分和存储非Skyline数据对象的数据部分,header部分包括如下内容:(1)type字段:用来指示数据段的类型,type取值1代表是确定数据段,而取0则代表为待定数据段;(2)MBR(S2,i):包含S2,i中所有数据对象的最小包含矩阵;(3)number:表示S2,i中包含的数据对象的个数;(4)next‑p:指向该广播周期中下一个确定数据段的指针;(5)near‑p:指向该广播周期中下一个待定数据段的指针;(6)D‑bit:为待定数据段的每个数据对象t设定的一个位,对数据对象t,若其D‑bit为1,则表示在所有待定数据段中至少存在一个数据对象支配t;第2、客户端(Client端)的位置相关skyline查询算法,具体包括如下步骤:第2.1、当一个Client接收到用户发起的位置相关skyline查询请求,将计数器counter设置为1并通过GPS定位系统获取Client当前位置Loc;第2.2、Client调谐、侦听广播信道,读取广播信道中当前广播周期中的数据段,当首个确定数据段出现,Client下载该确定数据段的header信息和全部数据对象(S1)到本地缓存中,为链表Result‑list分配存储空间;第2.3、对本地缓存中的每一个数据对象t∈S1,其位置属性表示为L(t),计算Loc和L(t)间的距离,记为d(Loc,L(t)),将<t,d(Loc,L(t))>按距离d(Loc,L(t))值的升序插入链表Result‑list中;第2.4、对每一个后续的待定数据段S2,i,执行如下操作,直到counter>m×k;第2.4.1、counter←counter+1;第2.4.2、从广播信道中读取该待定数据段header信息到本地缓存中;第2.4.3、若Mindist(Loc,MBR(S2,i))>Maxdist(Loc,MBR(S1)),Client切换到休眠模式,直到下一个待定数据段到来;其中,Mindist(Loc,MBR(S2,i))表示Client当前位置Loc到数据对象集S2,i的最小包含矩阵MBR(S2,i)的最小距离,Maxdist(Loc,MBR(S1))表示Client当前位置Loc到数据对象集S1的最小包含矩阵MBR(S1)的最大距离;第2.4.4、若Mindist(Loc,MBR(S2,i))>Maxdist(Loc,MBR(S1))不成立,读取该待定数据段的全部数据对象(S2,i)到本地缓存中,对其中的每一个数据对象u执行位置相关支配关系检查,若数据对象u通过位置相关支配关系检查,则将<u,d(Loc,L(u))>按距离d(Loc,L(u))...

【技术特征摘要】
1.一种面向数据广播的位置相关skyline查询处理方法,其特征在于该方法具体包括:
第1、服务器端(Server端)的广播信道中数据对象集的有效组织;
第1.1、在广播服务器端,首先采用现有的Skyline查询算法将待查询的多维数据对象
集S划分成两部分:Skyline数据对象集S1和非Skyline数据对象集S2;然后,将S2中的数据对
象按位置邻近关系进行排序;进一步,将排序好的S2中数据对象划分成m×k个小的数据段:
S1与S2,1,S2,2,…,S2,m×k-1,S2,m×k,其中m和k通常取1到10间的整数;最后,将S1与S2,1,S2,2,…,
S2,m×k-1,S2,m×k按(k,m)交错模式组织成一个广播周期,即每k个连续的S2,i+1,S2,i+2,…,S2,i+k之前插入一个完整的S1,构成一个完整的广播周期,其中,1≤i≤m×(k—1);
第1.2、将上述排列好的广播数据集进一步组织成带索引的数据段,按照数据段包含数
据对象的不同,带索引的数据段被分成如下两类:确定性数据段和待定数据段,其中确定性
数据段包含一个完整的数据对象集S1,而待定数据段包含数据对象集S2中m×k个小的数据
段:S2,1,S2,2,…,S2,m×k-1,S2,m×k中的一个;
第1.2.1、一个确定数据段包括存储控制信息的header部分和存储数据对象集S1的数据
部分,其中,header部分包括如下内容:(1)type字段:用来指示数据段的类型,type取值1代
表是确定数据段,而取0则代表为待定数据段;(2)MBR(S1):包含S1中所有数据对象的最小包
含矩阵;(3)size:表示数据对象的大小;(4)number:表示S1中包含的数据对象的个数;(5)
(k,m):表示一个确定数据段后邻接k个连续的待确定数据段,一个广播周期中包含m个确定
数据段,k和m的具体取值由用户根据应用的需求来指定,通常取1到10间的整数;(6)next-
p:指向该广播周期中下一个确定数据段的指针;
第1.2.2、类似地,一个待定数据段也包括存储控制信息的header部分和存储非
Skyline数据对象的数据部分,header部分包括如下内容:(1)type字段:用来指示数据段的
类型,type取值1代表是确定数据段,而取0则代表为待定数据段;(2)MBR(S2,i):包含S2,i中
所有数据对象的最小包含矩阵;(3)number:表示S2,i中包含的数据对象的个数;(4)next-p:
指向该广播周期中下一个确定数据段的指针;(5)near-p:指向该广播周期中下一个待定数
据段的指针;(6)D-bit:为待定数据段的每个数据对象t设定的一个位,对数据对象t,若其
D-bit为1,则表示在所有待定数据段中至少存在一个数据对象支配t;
第2、客户端(Client端)的位置相关skyline查询算法,具体包括如下步骤:
第2.1、当一个Client接收到用户发起的位置相关skyline查询请求,将计数器counter
设置为1并通过GPS定位系统获取Client当前位置Loc;
第2.2、Client调谐、侦听广播信道,读取广播信道中当前广播周期中的数据段,当首个
确定数据段出现,Client下载该确定...

【专利技术属性】
技术研发人员:肖迎元申艳郝刚刘里焦旭
申请(专利权)人:天津理工大学
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1