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

文档序号:9844149阅读:313来源:国知局
一种面向数据广播的位置相关skyline查询处理方法
【技术领域】
[0001] 本发明属于数据库位置相关查询领域。通过在数据广播服务器端组织广播数据和 在移动客户端设计相应的查询算法来高效地处理用户的位置相关skyline查询请求。
【背景技术】
[0002] 移动通信技术的迅速发展与便携式移动设备的不断普及催生了新一代的移动计 算系统。相比于基于固定网络和固定主机的分布式计算系统,移动计算系统摆脱了固定平 台和线缆连接的束缚,使得用户能在移动过程中随时、随地访问所需信息。在带宽受限的移 动计算系统中,数据广播是一种非常有效的数据分发技术,数据广播的"一次传送,无限共 享"的特点使其能很好地满足数量众多、资源受限且运动模式多变的移动客户端对热点数 据的访问需求。作为一种高效的数据分发技术,数据广播已经广泛应用于大众信息的发布 上,如广播服务器通过周期性地广播交通、股票、气候等热点数据为用户提供各类实时信 息。然而,在实际应用中,用户并不仅仅满足于简单地接收信息,还希望获取一些有益于决 策的增值信息,例如,出租车司机希望获取的不仅是各个加油站信息,他们更想知道:哪些 加油站距离他们当前位置近且油价相对较便宜。因此,将数据广播技术与位置服务技术相 结合,在现有的数据广播平台上提供支持用户决策的位置相关复杂查询功能,能够为广大 移动客户端提供更多、更好的增值服务,有着显著的经济效益和广泛的应用前景。
[0003] 位置相关Skyline查询就是一类非常重要的位置相关复杂查询,已被广泛地应用 于多目标优化、数据挖掘等相关领域。位置相关Skyline查询针对同时包含空间位置属性和 非空间多维属性的数据集,具体来讲,位置相关Skyline查询是指从一个给定的包含空间位 置属性和非空间多维属性的数据集S中挑选出不被S中任何数据对象位置支配的所有数据 对象。如果数据对象P在非空间多维属性上支配数据对象k,并且p离查询点的距离比k离查 询点的距离近,则称P位置相关支配k。数据对象p在非空间多维属性上支配数据对象k指的 是P在所有非空间维上都不比k差,并且至少在某一非空间维上比k好。
[0004] 现有的位置相关Sky line查询处理算法常常假定基于传统的Client/Server计算 模式,即Client向Server发送位置相关Sky line查询请求,Server接收查询请求后执行相应 查询处理算法获得查询结果,然后将查询结果返回给Client。在这样一种计算模式中,所有 的计算任务都落在Server上,随着Cl ient数目的增长,Server将遭遇性能瓶颈。而数据广播 的"一次传送,无限共享"的特点则能很好地满足数量众多移动客户端对热点数据的访问需 求。在数据广播环境下,无线广播信道充当了常规的数据磁盘的角色,然而无线广播信道的 线性特性明显不同于随机存取的磁盘介质。因此,传统的Client/Server计算模式下的位置 相关Sky line查询处理算法显然不能直接扩展到数据广播模式下,为此,必须针对数据广播 环境的特性设计新的位置相关Skyline查询处理算法。

【发明内容】

[0005] 本发明的目的是针对传统的Client/Server计算模式下处理位置相关Skyline查 询Server容易遭遇性能瓶颈的问题,提供一种新的面向数据广播的位置相关skyline查询 处理方法。
[0006] 本发明提供的面向数据广播的位置相关skyline查询处理方法涉及到广播服务器 和移动客户端,如图1所示:数据集由广播服务器负责组织并通过无线广播信道向移动客户 端周期性地广播;移动客户端通过侦听广播信道,执行位置Skyline查询算法来响应用户提 交的位置相关Sky line查询请求。
[0007] 本发明提供的面向数据广播的位置相关skyline查询处理方法具体包括:
[0008] 第1、服务器端(Server端)的广播信道中数据对象集的有效组织;
[0009] 第1.1、在广播服务器端,首先采用现有的Skyline查询算法(如块嵌套循环算法) 将待查询的多维数据对象集S划分成两部分:Skyline数据对象集Si和非Skyline数据对象 集&;然后,将&中的数据对象按位置邻近关系进行排序(采用Hilbert曲线或Z曲线进行排 序);进一步,将排序好的&中数据对象划分成mXk个小的数据段(其中m和k通常取1到10间 的整数):S2,1,S2, 2,…,S2,mXk-1,S2,mXk;最后,将Si 与 S2,1,S2,2,…,S2,mXk-1,S2,mXk 按(k,m)交错 模式组织成一个广播周期,即每k个连续的S2, i+1,S2, i+2,…,S2, i+k之前插入一个完整的Si,构 成一个完整的广播周期,其中,1 <mX(k - 1)。一个完整的广播周期中数据对象的组织 如图2所示;
[0010]第1.2、将上述排列好的广播数据集进一步组织成带索引的数据段,按照数据段包 含数据对象的不同,带索引的数据段被分成如下两类:确定性数据段和待定数据段,其中确 定性数据段包含一个完整的数据对象集Si,而待定数据段包含数据对象集&中mXk个小的 数据段:32,1,32,2,一,32,11^-1,32,11^中的一个。两类数据段的具体结构如图3所不。图3中 (a)、(b)分别描述了一个确定数据段和一个待定数据段的组织结构。
[0011] 第1.2.1、一个确定数据段包括存储控制信息的header部分和存储数据对象集51 的数据部分,其中,header部分包括如下内容:(1) type字段:用来指示数据段的类型(type 取值1代表是确定数据段,而取〇则代表为待定数据段);(2)腦?(&):包含S冲所有数据对象 的最小包含矩阵;(3) size:表示数据对象的大小;(4)number:表示Si中包含的数据对象的 个数;(5)(k,m):表示一个确定数据段后邻接k个连续的待确定数据段,一个广播周期中包 含m个确定数据段,k和m的具体取值可由用户根据应用的需求来指定;(6)ne Xt-p:指向该广 播周期中下一个确定数据段的指针。
[0012] 第1.2.2、类似地,一个待定数据段也包括存储控制信息的header部分和存储非 Skyline数据对象的数据部分,header部分包括如下内容:(1)type字段:用来指示数据段的 类型(type取值1代表是确定数据段,而取0则代表为待定数据段);(2)MBR(S 2>1):包含&;1中 所有数据对象的最小包含矩阵;(3)number:表示S 2,i中包含的数据对象的个数;(4)neXt-p: 指向该广播周期中下一个确定数据段的指针;(5)near-p:指向该广播周期中下一个待定数 据段的指针;(6)D-bit:为待定数据段的每个数据对象t设定的一个位,对数据对象t,若其 D-bit为1,则表示在所有待定数据段中至少存在一个数据对象支配t;
[0013] 第2、客户端(Client端)的位置相关sky line查询算法:具体包括如下步骤:
[0014] 第2.1、当一个Client接收到用户发起的位置相关skyl ine查询请求,将计数器 counter设置为1并通过GPS定位系统获取Client当前位置Loc;
[0015] 第2.2、Client调谐、侦听广播信道,读取广播信道中当前广播周期中的数据段,当 首个确定数据段出现,Client下载该确定数据段的header信息和全部数据对象(Si)到本地 缓存中,为链表Result-list分配存储空间;
[0016]第2.3、对本地缓存中的每一个数据对象1651,其位置属性表示为以〇,计算1^〇(: 和L(t)间的距离,记为d(Loc,L(t)),将〈1:,(1(]^〇(3丄(1:))>按距离(1(]^〇(3丄(1:))值的升序插入 链表 Result-list 中;
[0017]第2.4、对每一个后续的待定数据段S2, i,执行如下操作,直到counter>m X k;
[0018] 第2.4. l、counter-counter+1;
[0019] 第2.4.2、从广播信道中读取该待定数据段header信息到本地缓存中;
[0020] 第2.4.3、若組11(^8七(1^〇。,冊1?(524))>]\&?(^8七(1^〇。,]\?1?(51)),(:1161^切换到休眠 模式(省电模式),直到下一个待定数据段到来;
[0021 ] 其中,Mindist(Loc,MBR(S2,i))表示Client当前位置Loc到数据对象集S2,i的最小 包含矩阵MBR(S2,i)的最小距离,MaxdistaohMBlKSi))表示Client当前位置Loc到数据对 象集一:的最小包含矩阵MBRm)的最大距离;
[0022]第2 · 4 · 4、若Mindist(Loc,MBR(S2,i) )>Maxdist(Loc,MBR(Si))不成立,读取该待定 数据段的全部数据对象(S2>1)到本地缓存中,对其中的每一个数据对象u执行位置相关支配 关系检查,若数据对象U通过位置相关支配关系检查,则将<u,d(Loc,L(u))>按距离d(Loc,L (u))值的升序插入加入结果集Result-list中,不通过位置相关支配关系检查则将u从缓存 中删除;
[0023]第2.5、将Result-list作为结果集返回给用户。
[0024] 上述位置相关skyline查询算法中,所述Client当前位置Loc到数据对象集S2,i的 最小包含矩阵MBR(S2,i)的最小距离Mindi St(L〇C,MBR(S2,i))的具体计算方法为:当Loc落在 MBR(S2,i)内或边上时,Mindist(Loc,MBR(S2,i))=0;否则Mindist(Loc,MBR(S2,i))定义为 Loc到矩形框MBR(S2>1))的最小距离。
[0025] 上述位置相关skyline查询算法中,位置相关支配关系检查算法的伪代码如下:
[0026]
(1) C2) (3) (4) (5) (6) (7) (8) (9) (10 (11 (12 (13 (14 (15 (16 (17 (18 (1
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1