您好,欢迎来到爱站旅游。
搜索
您的当前位置:首页XML数据存储方法的研究

XML数据存储方法的研究

来源:爱站旅游
第9卷第4期重庆科技学院学报(自然科学版)2007年12月

XML

数据存储方法的研究

王秋云

(甘肃学院,兰州730070)

摘要:XML已成为Internet上数据交换、数据表示的新标准,对XML数据进行有效存储是数据管理的核心问题。介绍目前XML数据的几种存储方式,并对结构映射和模型映射存储技术进行一定的研究。关键词:XML;存储方式;有向图;节点;结构映射;模型映射中图分类号:TP311

文献标识码:A

文章编号:1673-1980(2007)04-00-03

为了适应网络数据交互和业务集成的需求,个新标准,该标准为多重平台和语言使用DOM提供一致的API。DOM把XML文件看成一颗树对象,文件中的每一个部分都是树上的一个节点(node),这颗树对象展示了XML文档提供的信息以及它们之间的关系。通过这颗节点对象树(使用DOM),可以创建XML文档、遍历XML文档结构、增加、修改或删除XML文档元素及其内容,这也是最基本、最底层的XML存取技术[1]。

此外,应用DSO(datasourceobject)对象进行

W3C在1998年2月推出了XML1.0规范。XML

(ExtensibleMarkupLanguage)是一种可扩展的标记语言,也被称为新时代的标记语言。它以一种简单、标准和可扩充的方式将各种信息以原始数据的方式存储。由于XML中包含有数据,如何对XML数据进行有效存储是数据管理的核心问题。

1XML数据存取机制

XML是一种用于创建元语言的标记语言,语法

比较简单,由不同作用的标记构成。从逻辑结构上来讲,XML文档可以看作是由包含大量信息的数据按照层次关系组织起来的结构,其中的数据可能会作为元素或者属性出现在XML文档中,形成一个树型结构,如图1。

0表示文档的根

档的根标记

XML文档数据的绑定也可以方便地将XML节点同HTML标记捆绑,以实现从XML文档中读取或写入

数据。

再者,应用样式表CSS和XSL技术,也能给XML数据赋于一定的样式信息以使其能够在浏览器中显示,图2示意了XML的存取机制[2]。

应用程序浏览器

12

goods

sell

3

goods

HTTP+SQLDOMDSOCSSXSL

4

name

factory

5

factory

name

XMLSQL数据

XML文档

ShampooAVONBAOJIBloody

图2XML数据存取机制

2XML数据存储方式

图1sell.xml文档的树型结构表示

作为描述数据和进行数据交换的新标准,XML提供了接口———DOM、SAX来存取数据。DOM(DocumentObjectModel)是由W3C公司公布的一

收稿日期:2007-08-29

目前XML数据存储方式主要有文件系统方式、关系数据库存储方式、面向对象数据库存储方式和

NativeXML数据库存储方式[3]。

作者简介:王秋云(1963-),女,甘肃兰州人,甘肃学院计算机科学学院教授,研究方向为数据库应用、多媒体技术和远程教育。

王秋云:XML数据存储方法的研究

2.1文件系统方式

文件系统是把XML文档以“文件”的形式按层次存放在相应的文件夹中,通过操作系统自带的文件管理系统来管理其中的XML数据[4],它是一种最简单的存储方式。这种方式存储的XML文件是ASCII文件,没有经过压缩处理,存储信息很大,会占用系统大量的内存,查询时只能以原始文档的形式返回,即不能获取文档内部信息,故不利于查询和修改。

2.2关系数据库方式

关系型数据库采用二维表格(表)作为存储数据的模型,表由行和列组成,一组具有特定关系的表便组成了数据库。在关系数据库中各数据项之间用关系来组织,关系是表之间的一种连接,通过关系可以灵活地表示和操纵数据,用户也可以非常方便地用结构化查询语言(SQL)来检索数据库中的数据。由此看出,关系数据库存储数据采用的是由行和列组成的平面结构形式,而XML对数据的组织采用的是层次式的嵌套结构,是一种半结构化数据。如何将

XML的层次结构转化为关系数据库的平面结构的

同时又要保持XML数据的结构和语义信息就成为基于关系的XML存储的关键。

在XML文档中,模式和数据是存储在一起的,而在关系数据库中模式和数据是分开存储的。根据存储时是否使用XML模式(DTD或XMLSchema),基于关系的XML存储可以分为结构映射方法和模型映射方法两类[5]。

2.2.1结构映射方法

结构映射方法是在进行关系数据库的XML存储时,先根据XML模式生成相应的关系模式,再根据生成的关系模式对XML文档进行解析并将它存放于相应的数据表中。结构映射方法中比较有影响的研究之一是DTD方法。该方法的核心就是根据

XML模式信息(DTD,DocumentTypeDefinitions)来

生成相应的关系模式。首先将XML文档模型转化为一个有向图,如图1。图中的节点表示XML元素、属性和文本,其中有向边代表父子关系,矩形框代表元素节点,椭圆代表属性或文本节点[6]。其次采用共享内联的方法对建立好的DTD图进行遍历,从而构建需要的关系模式。

2.2.2模型映射方法

模型映射方法的主要特点是将任何XML数据都存放在有固定关系模式的数据库中,而不考虑

XML文档的模式(DTD和XMLSchema等),其本质

90

就是存储XML文档的结构信息。在模型映射方法中,XML文档被看作为由元素和属性等节点组成的有向图的结构。关系模式相当于一个模板,XML在关系数据库中的存储按数据库提供的模板来组织数据。模型映射法的关键是根据XML文档的特点来确定这个模板,即关系模式。

利用关系数据库来存储XML数据优势很明显,一方面,当前关系数据库的技术十分成熟,利用关系数据库管理XML数据可以重用数据库的查询优化器和事务处理机制,能够保证XML数据的一致性和完整性;另一方面,目前大量的WEB数据主要存放在关系数据库中,采用XML—关系——模式便于在关系数据库上建立适于二者的应用。

2.3面向对象数据库方式

面向对象数据库是面向对象技术与数据库技术相结合的产物,它采用了对象层次的存储结构、存取方法和继承性的实现方法,用户定义数据类型和方法的处理策略,必要的版本控制和友好的用户界面等。

当XML同关系数据库相结合时,需要将XML文档按元素层次结构拆分后依次存入数据库中的相应字段,XML文档的整体性将受到破坏。面向对象数据库中,XML将不再被拆分,而是被作为一个对象存入数据库,XML数据的结构和语义信息可以完整地保留下来。

面向对象数据库方式存储XML数据时,首先利用XML的DTD或Schema建立XML数据的面向对象数据库(OODB)模式,再按照一定的规则将XML文档的元素映射成为OODB中的一系列对象。XML文档结构中的元素和属性将被映射成类或列,元素和属性的关系将被映射为类和列之间的关系,元素间的关系则映射为类间的关系。

目前许多大型面向对象数据库厂商都提供了处理XML的工具,基本分为三类[7]:

(1)大对象式存储管理模式。将XML文件作为一个大对象整个保存在数据库中,数据库只提供保存及转化为XML文件两种操作方法,这种方法简单,易实现,但是无法进行XML的查询处理。

(2)文件式存储管理模式。将XML文件的数据及结构提取出来,以某种文件格式存储在数据库中,这种方法然可以采用文件管理技术对XML进行查询处理和存储优化,但同“大对象式存储管理模式”方法一样忽略了XML的语义性和结构性。

(3)对象结构存储模式。根据XML的元素结构

王秋云:XML数据存储方法的研究

生成相应的对象类,将XML的元素作为一个对象进行存储处理,这种方法充分考虑到XML的结构性,同时可以采用数据库技术进行查询处理。其主要策略是:首先将XML文件的DTD或Schema映射到数据库模式,然后将XML数据以对象数据存储在数据库中。当用户提出查询请求时,基于映射上的转换处理软件可以使用XML查询语言(如XPath,

XQuery等)进行数据处理。

由于面向对象的存储方法支持复杂数据类型,可以较为直观地建立XML数据的对象模式,从而可以利用对象查询语言(SQL)实现对XML数据的结构化查询,具有较高的存储与查询效率。但是这种方式在数据加载时对未知的数据类型需要建立新的类对应,会影响加载效率。当XML改变时,数据模式的变动代价也很大。虽然面向对象数据库的体系结构非常适合存储XML数据,但由于自身不够成熟完善,其应用范围相当有限。

2.4NativeXML数据库存储方式

Native-XML数据库,这个词语产生于德国Soft-wareAG公司,目前还没有精确的学术定义。一个公认的描述来自于XML:DBInitimive网站,它包含以

下三个方面:(1)相对于文档的数据,它为XML文档定义了一个(逻辑)模型,并根据该模型存取文件。这个模型至少应包括元素、属性、PCDATA和文件顺序;(2)它以XML文件作为其基本(逻辑)存储单位;(3)它对底层的物理存储模型没有特殊要求,例如它可以建在关系型、层次型或面向对象的数据库之上,或者使用专用的存储格式,比如索引或压缩文件[8]。

从以上描述可以看出,Native—XML数据库专门用于存储XML文档并能保持其完整性,其基本存储单元是XML文档,通过XML相关的标准进行数据库的存储。这种数据库维持原有XML文档的数据结构和相关的元数据,而不关心数据的底层存储格式,只能通过XML特有的相关技术对数据进行存储。与其它的存储方式相比,NativeXML数据库可以完整地保留XML文档的信息,存储映射时不需要

DTD结构。同时,NativeXML数据库采用基于XML

的查询,如XPath或DOM,符合XML的要求。

NativeXML数据库中XML的存储形式分为两

种:基于文本的存储方式和基于模型的存储方式。

在基于文本的存储方式中,NativeXML数据库将XML存储为文本,同时为这些XML文档建立索引,使查询引擎很快检索到XML文件。这种数据库的优点是当访问整个文档或文档片段时,查询速度

很快。但当要将数据以一种不同干原文档层次结构的方式取出时,性能就不理想了[9]。

基于模型的存储方式,要为存储的文档建立一个内部对象模型并存储这个模型。至于模型怎样存储取决于数据库。例如在关系型数据库中存储DOM时,就会有元素、属性、PCDATA、实体、实体引用等表格。与基于文本的存储方式一样,基于模型的存储方式不适用于取出的文档结构与存入的文档结构不同的场合[8]。

综上所述,Native—XML数据库并非一种全新的数据库底层处理模式,它不是用于取代现存的数据库,而仅仅用于帮助人们更好地处理XML文档。

3结论

XML的应用范围非常广泛,目前以数据库方式实现XML数据的存储和管理已成为一种发展趋势。由于XML数据本质上是一种自描述的半结构化数

据,它的数据模型不同于现有数据库(关系、面向对象)数据模型,已有的数据库技术和查询语言不能完全适应XML数据应用的需要。另一方面,将XML数据模型强制转换为现有数据库模型,不仅会增加系统的开销,而且还会造成数据信息的丢失和系统性能的减弱。再者,专门用于存储XML数据的Native

XML数据库,在数据的更新、查询、修改以及安全

性、可靠性、并发性等方面还不够成熟。所以对XML数据存储方式的研究有待进一步深入。

参考文献

[1]张白一,袁琴琴.XML树型结构转换成JTree图形的一种

方法[J].微计算机应用,2005(5):632.

[2]顾兵.XML实用技术教程[M].北京:清华大学出版社,

2007.232-233.

[3]R.Bourret.XMLandDatabases[J].IETFDataEngineering

Bulletin.1999(5):

[4]於志勇,杨志义,於志文,李长德.XML数据存储方式的性能

评价研究[J].计算机工程与应用,2006(17):171.

[5]刘智.XML与关系数据库间的映射技术的研究[D].重庆:

重庆大学,2004:20-29.

[6]门爱华.XML数据库存储策略综述[J].计算机科学,2005

(9):14-15.

[7]刘彬.XML与对象数据库的转换[D].哈尔滨:黑龙江大学,

2003:8-9.

[8]李骥,陈福生.NativeXML数据库综述[J].计算机工程与设

计,2004(6):932-933.

[9]黄莹,糟明福.XML文档的存储方法研究[J].计算机工程,

2002(5):283.

(下转第112页)

91

周翔,聂辉:基于加窗插值FFT算法的智能电站谐波检测

k

x(i)!x(i)+W2x(j)

L

表一所示。在本例中,使用Matlab内建的FFT工具箱计算FFT的结果,FFT的窗函数大小是128个样点。结果表明,加窗插值FFT的仿真结果比FFT好。

x(j)!x(i)+W2x(j)

L

k

NextiNextk

NextL

上面语句中的为FFT运算的级数,k为每一级运算中每个子DFT运算中蝶形运算的个数,i为每一级运算过程中子DFT运算的个数。这是利用伪代码的形式说明FFT运算的规律。经过上面的三重循环后最后放在中的数正好对应的值。

4结论

本文为智能电站等负荷的谐波分析提供了一个新的测量方法。该方法易于通过DSP实现,且通过改变窗和窗的大小可得到更好的性能。通过Matlab仿真与FFT算法比较,检验了采用加窗插值FFT算法的准确性与快速性,表明该算法的可靠性。

参考文献

[1]刘和平.TMS320LF240XDSPC语言开发应用[M].北京:北京航空航天大学出版社,2002.

[2]H.G.Rotithor.AHigh-performancepipelinedArchitecturefor

measurementandMonitoringofMultipleSensorsignals[J].IEEE.

3仿真结果

本节用FFT仿真结果与加窗插值FFT仿真结果进行比较。在本例中采用的基频是59.5Hz且有0.5%的干扰,谐波的成分如表1所示。因为FFT的,采用的采样频率是60×128=7680Hz。计算结果也如

HarmonicsAnalysisofIntelligentPowerStationBasedon

InterpolatingWindowFFTAlgorithm

ZHOUXiangNIEHui

(HunanMetallurgicalProfessionalTechnologyCollege,ZhuzhouHunan412000)

Abstract:ThepaperintroducestheharmonicsanalysisofintelligentpowerstationandresearchedthemathematicmodeloftheharmonicanalysisofintelligentpowerstationbasedoninterpolatingwindowedFFTalgorithm.ItalsoshowstheFFTalgorithminpointingDSP.ThesimulateddatainMATLABhasbeencomparedwiththeresultwhichverifiedtheaccuracyandspeedofthealgorithm.

Keywords:FFT;harmonicanalysis;windowandinterpolation;intelligentpowerstation

(上接第91页)

ResearchonXMLDataStorageApproach

WANGQiu-Yun

(GansuLawLnstitute,Lanzhou730070)

Abstract:XMLisdominantstandardfordatarepresentationandexchangeonInternet.EfficientXMLdatastorageisbecomeacoredatamanagementissue.ThepaperintroducesseveralstorageapproachesforXMLdata.Italsostudiesstructuremappingandmodelmapping.

Keywords:XM;storagesapproach;directedgraph;node;structuremapping;modelmapping

112

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- azee.cn 版权所有 赣ICP备2024042794号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务