免费论文查重: 大雅 万方 维普 turnitin paperpass

分析书目一种图书书目XML文档索引机制

最后更新时间:2024-04-22 作者:用户投稿原创标记本站原创 点赞:6720 浏览:22876
论文导读:引机制,这里要处理的是图书查询系统的图书信息,针对常见的查询建立索引,使用关系数据库来保存索引,加快查询效率的提高。1图书查询系统应用分析首先,分析一下图书查询系统常用的查询有哪些种类,针对这些应用来建立索引。1)用户要求返回具有某种属性的书目列表。这是最常用的查询方式,几乎绝大部分查询都是这种类
摘要:该文针对XML,DOM和SAX协议操作大文档的缺陷,将技术成熟的关系数据库索引机制应用于图书书目查询系统,从而实现对XML文档的快速查询。
关键词:XML;关系数据库;索引
1009-3044(2013)30-6829-04
随着网络的发展,Internet已经是家喻户晓,各行各业都渗透到Internet上。同时,信息共享和数据交换也越来越重要,Web服务发展迅速,而XML作为一种信息共享与数据交换的手段,已经逐渐成为数据表示和交换的标准,有着不可替代的重要性。经过一段时间的发展,XML已逐渐走向成熟,并在许多领域中得到广泛应用。以XML格式存储的数据也与日俱增。目前,XML在数据库方面的应用还是低效和不足的。在某种角度上,一个XML文件可以看作是一个数据库,因为XML文档具有可自描述、无限嵌套、树形结构等特点。可以借助一定工具把XML映射成传统RDBMS中的一张二维表(Table)。时下的主流数据库都支持这种转换,但这种转换效率比较低,特别对于嵌套太多的XML文档,存储起来就更加不方便,不宜于操作。为更好地支持XML,W3C还制定了一些相关技术,如文档模式(DTD、XML Schema)、查询语言(XPath、XQuery等)和编程接口(DOM、SAX等)来方便开发应用程序。但是,即便如此,XML在数据库方面的应用还存在一些明源于:论文的标准格式www.7ctime.com
显不足:如果从更高的技术角度出发,就会发现对XML文档简单的文件管理是远远不够的,低效的存储组织、索引查询技术,不提供事务、安全恢复机制,无法保证数据的完整性和一致性,没有并发控制、移植工具和用户权限管理等。
现在传统的方式是使用DOM或SAX协议对XML文档进行操作,DOM是建立文档树来访问XML数据,建立树的过程会花费很大的系统开销,对于较大的XML文档,这种方式会很大程度上降低系统的性能,即使使用SAX协议访问,也是顺序方式查找XML文档,还是很难满足日益发展的Web服务的要求。当数据量很大时必须找到一种新的方式来提高查询的效率,人们已经开始着手研究Native XML数据库(NXD)并取得了一定的成就,Native XML数据库是一种新的数据库技术,是一个完整的数据库系统,有着传统数据库的各种功能和组件,如今NXD的技术还在研究中,一些机制还不是很完善。该文利用NXD的思想,保持XML文档的原格式,并建立索引来提高查询效率,针对一种特定情形下的数据查询基于XML文档的存储结构建立索引机制,这里要处理的是图书查询系统的图书信息,针对常见的查询建立索引,使用关系数据库来保存索引,加快查询效率的提高。
1 图书查询系统应用分析
首先,分析一下图书查询系统常用的查询有哪些种类,针对这些应用来建立索引。
1)用户要求返回具有某种属性的书目列表。这是最常用的查询方式,几乎绝大部分查询都是这种类型的查询,如题名检索、作者检索、主题词检索、出版社检索等,我们为题名检索和出版社检索为例。
问题一:查询书名为“我的童年”的书目列表。
问题二:查询“清华大学出版社”出版的书目列表。
2)返回一类书目的列表。这里可能是某一类书中的一个子类,如一个网页设计的入门者,他只是想浏览网页设计方面的书籍,并不是确定要找哪一本书。
问题三:查询类别名为“网页制作”的书目列表。
3)返回具有某一属性的书本的其他属性列表。这种应用很少,但也存在,如想要查找在清华大学出版社出书的作者列表。
问题四:查询出版社为“清华大学出版社”的书目作者列表。
2 建立索引
根据实际的应用给要查询的文档建立索引,一个书店或者图书馆里的书目是众多的,所以我们的XML文档也是非常庞大的,因此已经不可能用DOM或SAX来访问了,我们也不使用XED(XML-Enabled DBMS)的方式,把数据都存储在关系数据库中,然后转换成XML格式。我们采用了一种折中的方法,依然使用原始的XML文档方式来存储数据,但把检索中会用到的数据另外存储到关系数据库中,这样在查询的过程中使用的是关系数据库系统,效率比较好,而最终读取的结果又会依赖XML文档。将XML文档中的一部分内容读取出来,这样我们查询得到的结果依然是XML格式,XML的优论文导读:
势同样能够得到发挥。其具体结构如图1:
图1 XML文档检索工作流程
从关系数据库到XML文档,其实是一个定位过程,如果不通过关系数据库建立索引,我们可能是顺序方式查找需要的信息,现在把查询过程中用到的信息存储在关系数据库中的表中了,我们需要将这些表(可能不止一个表)关联到XML文档中的某个特定的位置,这样才能减轻查询的负担,常用的做法是利用XML文档的行号来实现。我们通过例子来看,附表是一个图书信息文档,其书目分为两大类,文学类和计算机类,在计算机类中又有子类网页制作,从结构上来说已经是有点复杂了,存在一个子类结构,我们看一下《亲密接触ASP.Net》这本书,这本书的信息是从标签开始的,从第4行到第18行是它的信息部分。如果查询的结果是这本书,我们需要将这些信息作为结果返回,然后用XSLT转换成HTML在网页中显示(或者是其它的应用),一般来说从第4行到第18行的内容都是我们需要的信息,把它作为一个结果返回即可。我们将行号存储到数据库中,这样对应查询到某本书的时候能快速的返回用户所需要的信息。这是我们要建立的第一个表:book_list,其内容如表1。
3 执行查询
4 结束语
本文简单介绍了图书查询系统XML文档的一种索引建立方法,它是针对查询这种特殊的应用设计实现的,利用关系数据库来建立索引,但最终的数据还是保存在XML文档中,索引中建立了路径表,能够支持XPath查询的实现。这种索引机制适用网上书店系统,图书馆检索系统等,只提供给用户查询,不提供修改,执行修改和更新的是图书管理员,而且面向单一应用,用特定的表实现,效率较高。在有新的应用时,我们可以建新的表机制来实现需求。这种索引能大大提高查询效率,但存在一些不足,由于是对查询建立的索引机制,在多用户频繁更新数据的情形下,系统需要重建索引,会大大提高系统需求。
参考文献:
Arzucan Ozgur,Taflan I Gundem.Efficient Indexing Technique for XML-based Electronic Product Catalogs[J].Electronic Commerce Research and Applications,2006(5):66-77.
王宏宇.基于Native—XML数据库倒排索引算法研究[J].情报科学,2006,24(7):84-88.
[3] 李素清,陶世群.一种基于关键词的XML文档查询算法[J].计算机工程与应用,2012,48(5):138-142.
[4] 赵雄峰.一种高效检索XML文档的倒排索引技术[J].电脑知识与技术,2010,6(30):8429-8431.
[5] Extensible Markup Language[EB/OL]. http ://.cn/soft/ACRD4CHS.EXE">PDF浏览器用户请先下载安装