一种无线广播中的xml空中索引方法

文档序号:6469671阅读:178来源:国知局
专利名称:一种无线广播中的xml空中索引方法
技术领域
本发明属于无线数据广播与XML文档索引的交叉领域,具体涉及到一种无线网络 中的XML空中索引方法。
背景技术
随着无线设备的普及和无线网络的发展,无线移动计算已经成为了一个十分活跃 的研究领域,无线数据广播由于其特有的可伸縮性及充分利用带宽的特性成为目前无线移 动网络中广泛采用的数据传递方法。 如何快速访问和节省能源是无线数据广播中研究的两个主要问题。相应的,有两 个评价广播性能的主要参数访问时间(Access Time)和调谐时间(TuningTime)
访问时间是从用户提出请求到请求得到满足之间经过的时间。
调谐时间是用户在提出请求到请求得到满足之间需要保持侦听状态的时间。
空中索引是无线数据广播中研究的热点问题之一。通过在广播信道中加入指示数 据的索引信息,用户可以推算出距离系统广播所需数据之前需要经过的时间。在这段等待 时间中,用户可以切换到省电模式,直到数据到达时再切换为活动模式下载数据。通过这种 方式可以有效减少用户的调谐时间,相应的降低用户的耗电量,因此空中索引是无线数据 广播系统中广泛采用的技术。目前对空中索引技术的研究主要集中在索引结构和索引分布 方面。另一方面,XML数据正逐渐成为信息系统中最为广泛的数据存储与交换方式。几乎所 有的大型IT公司(微软,Oracle, IBM)都在自己的产品中加入了对XML数据的支持。网络 中大量存在的XML文档(HTML等)正在成为人们日常生活的一部分。XML数据广播是无线 环境中XML文档传输的有效方法,本发明所涉及的正是一种无线数据广播中On-demand模 式下的XML空中索引技术。 无线数据广播的主要有两种模式,分别为周期广播模式和On-demand广播模式。
周期广播模式(Broadcast Mode/Push-based Mode):服务器端将存储的数据以一 种确定的调度方式在广播信道上循环广播,用户端只需要在广播信道上侦听, 一旦发现自 己需要的数据则下载到本地。 On-demand广播模式(On-demand Mode/Pull-based Mode):用户通过上行信道将 自己的请求发送给服务器端,服务器将用户的请求放入请求队列并根据队列中的请求状况 安排调度。 一旦请求的数据被广播,则将该请求从队列中删除。同时用户在广播信道上侦 听, 一旦发现自己需要的数据则下载到本地。在on-demand模式下,服务器收集用户的请 求存储在本地的请求队列中,并会根据请求队列中的请求访问情况(不同请求的访问频率 等)进行广播。 已有无线广播系统中的空中索引结构大多只针对传统的结构化数据(如数据库 中的一个条目)。对于这类数据的查询通常是基于数据的键值(key)。对于一个查询,通常 只对应一个结果。而XML文档不仅包含用户所需要的数据信息,还包括存储这些数据的结 构信息。对于XML文档的查询,通常要求匹配数据的结构信息,如XPath查询等。对于一个
3查询,通常会对应多个结果,只有当所有的匹配的结果都获得的时候才认为是查询被满足 了。基于以上的区别,传统的索引结构无法适用于文档XML。 已有工作中针对XML文档的索引方法的主要思想是为每一个XML文档建立索弓I ( 一般为提取XML文档的结构信息),然后将这些索引以一定的方式插入到广播信道中与数 据一起广播。(如Yon Dohn Chung等人提出的方法,发表在Information Sciences杂志 2007年第177期第9巻1931-1953页)。然而这种方法具有一些明显的缺点。首先,这种方 式产生的索引不能让用户对数据库中的所有XML文档有一个完整的了解。在广播模式下, 用户需要等待一个完整的广播周期后才能判断是否已经下载了所有需要的结果,大大增加 了访问时间和调谐时间。在on-demand环境中,由于每个广播周期的内容并不相同,甚至会 导致用户的无限期监听。其次,这种方式对每一个XML文档都建立索引,这使总的索引块大 小非常大。而在无线广播中,索引大小的增加必然造成访问时间的增加。最后,这种方法的 每一个索引块仅携带了一个文档的信息且这些索引块与数据块一起分布在整个广播周期 中,用户监听的时候需要经常在数据与索引块之间切换状态,这种频繁切换带来的消耗也 不能忽视。 基于以上分析,在本发明之前尚没有一种有效的XML空中索引方法。

发明内容
本发明的目的在于提供一种On-demand模式下的XML空中索引方法,不仅可以产 生一个基于数据库中所有XML文档的完整索引,而且可以使该索引的大小縮减到一个很小 的程度。 本发明的目的通过下述方法和步骤实现 首先为每个XML文档建立基于DataGuide的索引。DataGuide作为XML的结构索 弓l ,是以XML文档树结构中节点的路径信息为基础,通过对XML文档树进行约简,使得约简 后的树结构仅仅维护不相同的路径信息,而不保留其它的具有相同路径的节点信息。例如 文档根节点/a下有两个同为/b的子结点,则该文档的DataGuide仅保留一个/b子节点。 DataGuide借鉴了自动机理论中的NFA转化到DFA的思想,可以在不损失文档结构信息的同 时得到原始XML文档最简洁的支持简单路径查询的结构索引。通过为原始的XML文档建立 DataGuide索弓|,由于保留了所有出现过的路径信息,因此,仅仅利用这些DataGuide索弓|, 就可以正确完成XML查询与原始XML文档之间的匹配。 其次,将构建好的所有文档的DataGuide合并,形成一个建立在数据库中所有文 档上的完整索引。这种完整索引结构具有两大优点,第一,用户下载完整索引后可以对数 据库中的所有文档进行查询,找到所有匹配的结构文档,这样可以使用户了解自己所需要 的文档集合,使用户能够判断自己的请求是否已经得到满足,解决了已有索引在on-demand
广播模式下可能造成用户无限等待的问题。第二,通过合并可以进一步删除不同的 DataGuide索引之间存在相同的路径前缀造成的的冗余,进一步减少了索引的大小。例如两 个XML文档具有相同的路径/a/b,则在合并后的索引中只会保留一条路径,降低了索引的 冗余度。 通常情况下,数据库中的总文档数量相当巨大,但是并非每个文档都会被用户请 求。当用户的请求种类有限并且可以被服务器获得的时候,可以发现对于这些请求不会访
4问到的数据没有广播的意义。例如在on-demand广播模式下,服务器收集所有的用户请求 存储在本地请求队列中,即是说请求队列中包括了当前所有的用户请求的集合。而广播的 时候也只需要广播这些请求会访问到的数据即可。因此我们进一步采用了索引剪枝技术, 将所有不会被用户访问到的分支从完整索引中删除。由于在一段时间内提交的用户请求数 量有限,所需访问的数据项很可能只占数据库中所有文档数量的一小部分,因此剪枝技术 可以大大减小索引的大小。 下面对建立索引的各个步骤作进一步的描述 步骤一 为数据库中的每一个XML文档构建DataGuide,具体方法为从根节点开始 顺序扫描每个层次的所有节点,若该节点含有一个以上相同子节点,只保留其中一个。
步骤二 将在步骤一中得到的DataGuide进行合并,建立一个基于数据库中所有 文档的完整索引。具体方法为从每个DataGuide的根节点开始顺序遍历DataGuide中每个 层次的所有节点,逐渐加入到完整索引中。对于当前扫描的节点ni,若完整索引中与ni位 于同一层次且与&具有相同父亲节点的所有节点都与&不相同,则将ni及其所有子孙节 点加入到完整索引的相应父亲节点下。否则继续DataGuide中的其他节点。重复以上的操 作直到遍历完所有的DataGuide,此时形成的索引就是合并后的完整索引。
步骤三对完整索引进行剪枝。具体方法为将已知的请求集合中的所有请求与完 整索引进行匹配,将索引中所有匹配成功的节点标记为"requested",然后从根节点开始扫 描整个完整索引,若索引中某个节点及其所有子孙节点都没有被标记为"requested",则删 除该节点及其所有子孙节点。 本发明提出的On-demand模式下的XML空中索引方法,它的特征在于利用索引合 并技术和索引剪枝技术,不仅可以产生一个基于数据库中所有XML文档的完整索引,而且 可以使该索引的大小縮减到一个很小的程度,并且采用索引结构与广播数据偏移信息分离 的两层索引技术,可以进一步减少索引的大小。


图1是一个示例数据库中的所有XML文档及每个XML文档所对应的DataGuide。 图2是索引合并效果的示例。 图3是索引剪枝效果的示例。 图4是不同的文档数量对于合并性能的影响。 图5是不同的文档数量对于剪枝性能的影响。
具体实施方案 以下结合具体的实施例,对本发明做进一步的阐述。实施例仅用于对本发明做说
明而不是对本发明的限制。
实施例1 —个数据库中共有5个XML文档,分别为4、 d2、 d3、 d4和d5,每个文档的结构如附 图1(a)中所示。 步骤一 为数据库中的每一个XML文档构建DataGuide,结果如附图1(b)所示。以 文档4为例,4的根节点a下有两个相同的子节点b,但在对应的DataGuide中,根节点a只保留了一个子节点b。 步骤二 对附图1 (b)中的五个DataGuide进行合并,结果如附图2所示。其中括 号中的标识表示合并后的索引中的节点编号,每个节点匹配的文档的编号显示在该节点的 下方。可以发现文档4, d2, d3, d5都有/a/b的路径,而合并后的索引中只保留了一条/a/b 路径,消除了不同文档间存在的相同路径造成的冗余。 步骤三对完整索引进行剪枝。例如当前的完整索引如附图3(a)所示。其中灰色 的节点表示标记为"requested"的节点(可以根据已知的请求集合匹配得到)。对完整索 引剪枝的结果如附图3(b)所示。注意附图3(a)中白色的节点已经被删除,仅保留了可能
被请求访问到的节点。
实施例2 本实施例采用Java 1. 4. 2编译环境,在Li皿x 2. 6的平台上进行模拟试验。实
验对象是News Industry Text Format (NITF) DTD所定义的500个XML文档,由IBM的
XMLGenerator生成以及100至1000个查询(采用XPath表示),采用YFilter[30]中的
XPath生成器生成,默认的查询最大路径长度设置为10。具体的结果如附图4和附图5。 附图4所示为查询数对合并效果的影响。我们用合并率来评价合并的效果,合并
率的定义如下
厶并率=原始空中索引尺寸-合并后的空中索引尺Tf^,t
1=1 原始空中索引尺寸 从附图4中可以看出随着查询数的增多,合并率缓慢下降,这是因为越来越多的 路径信息需要保留,以保证查询能够正确匹配到相应的待广播XML文档。当查询数为100 个时,合并率为94%;而当查询数为1000个时,合并率为91%。图中的平均合并率为93% 左右。因此,采用合并技术可以很好地消除冗余的路径结构信息,极大地减小了空中索引的 尺寸。 附图5所示为查询数对剪枝效果的影B向,我们用剪枝率来评价剪枝效果,剪枝率
的定义如下
H祐雍=原紿空中索引尺寸-剪枝后的空中索引尺寸x i濕 = 原始空中索引尺寸 ■國0 从定义可以看出,剪枝率越高,说明剪枝掉的索引越多,剪枝的效果就越好;反之, 剪枝率越低,剪枝的效果就越差。从附图5中可以看出,随着查询数的增多,剪枝率慢慢下 降,这是因为越来越多的路径信息需要保留,以保证MU的查询能够正确匹配到相应的待广 播XML文档。当MU查询数为100个时,剪枝率为63% ;而当MU查询数为1000个时,剪枝 率为24%。图中的平均剪枝率为40%左右。因此,采用剪枝技术可以较好地消除冗余的路 径结构信息,减小了空中索引的尺寸。 本发明所提供的方法通过合并与剪枝技术,可以将索引的大小縮减到数据文档的 0. 1% 0.5%。而已有的XML空中索引技术中索引的大小通常相当于整个数据文档的大 小。由此可见此方法可以有效的减小了空中索引的尺寸,大大提高了广播系统的性能。
权利要求
一种无线广播中的XML空中索引方法,其特征在于由基于DataGuide的基本索引结构,索引合并技术和索引剪枝技术三部分组成。
2. 根据权利要求l所述的无线广播中的XML空中索引方法,其特征在于所述的 DataGuide基本索引结构是提取数据库中每个XML文档的最简结构信息建立索引,在每个 XML文档的树形结构中,对于位于相同层次的相同标签仅保留一个,删除其余所有的冗余节 点和相应路径。
3. 根据权利要求1所述的无线广播中的XML空中索引方法,其特征在于所述的索引合 并技术是将每个XML文档对应的DataGuide索引进行合并,最终形成一个建立在数据库中 所有文档上的完整索引,在合并过程中删除所有冗余的分支路径,在索引的每个节点中存 储该节点所在路径对应的数据标识。
4. 根据权利要求l所述的无线广播中的XML空中索引方法,其特征在于所述的索引剪 枝技术时根据已知的用户请求集合在完整索引的基础上删除所有任何请求都不会访问到 的分支节点的信息。
全文摘要
本发明是一种无线广播中的XML空中索引方法,主要包括基于DataGuide的基本索引结构,索引合并技术和索引剪枝技术。整个流程是首先为数据库中的每个XML文档建立对应的DataGuide索引,其次将这些DataGuide合并成一个基于整个数据库的完整索引,最后对完整索引进行剪枝,删除不会被请求队列中的任何请求访问的数据节点。本发明通过合并与剪枝技术,可以将索引的大小缩减到数据文档的0.1%~0.5%左右,大大减少了用户的调谐时间,提高了广播系统的性能。
文档编号G06F17/30GK101763353SQ200810207689
公开日2010年6月30日 申请日期2008年12月24日 优先权日2008年12月24日
发明者余平, 孙未未, 张卓瑶, 覃泳睿 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1