admin 管理员组

文章数量: 1184232


2024年4月19日发(作者:java在线学习教程)

维普资讯

第31卷第6期 

2002年12月 

电子科技大学学报 

Journal Of UEST Of China 

VO1.31 No.6 

Dec.2002 

基于XML的可扩展图片数据库的实现方法幸 

胥能” 徐洁 李毅超 

成都610054) (电子科技大学计算机科学与工程学院

【摘要】从实现图片数据库可扩展性的角度,分析了传统关系型数据库解决这一问题的不足之处,提 

出了一个基于纯ⅪvII威据库的解决方案。该方案使用ⅪvII格式来描述和存储图片的元数据,利用XML的可 

扩展性、结构化存储和ⅪvII威据库Tamino可以随时修改文档模式,不会破坏数据库中原有的数据,有效地实 

现了图片数据库的可扩展性,同时使图片数据库具有高效检索和跨平台的特点. 

关键词图片数据库;元数据;可扩展标记语言;纯ⅪvII威据库 

TP311 中图分类号

An XML-based Solution for Extensible Photograph Database 

XuNeng XuJie LiYicl'mo 

(CoHegeofComputerScience andEng ̄aeertng,IJESTofChina Chengdu 610054) 

Abstract There is no uniform standard to describe the metadata of photograph presently, 

and it is usually diffcult to get all he tcharacters ofphotograph when building a Photograph Data 

Base(PDB).Therefore,higher extensibility is required for PDB system.In respect of the 

extensibility of PDB,this paper nalyzes ahe tshortcomings of traditional RDBMS and introduces 

a new solution based on Native XM -Database which uses XM format to describe and store 

he tmetadata of photographs.Making use of he textensibility nd staructural storage of XM .this 

solution effectively implements he textensibility ofthe PDB nd aenables ighh retrieval capability 

nd across-platform characterofit. 

Key words photograph-database; metadata; extensible markup lnguage;a native— 

X~Ⅱ database 

随着计算机应用技术的发展,图片文件得到了广泛的应用。图片文件不同于文本文件,它是 

以非结构化的二进制方式存在n】。一幅图片的属性及图片内容所反映的信息(事件、人物、主题等) 

称为该图片的元数据OVletadata)。对图片的描述即描述该图片的元数据。目前存储图片的主流技术 

是关系型数据库 ,例如ⅢM公司的DB2、微软公司的SQL Server 7.0等。关系型数据库具有存储 

容量大、关键技术成熟、查询性能高的特点。但是通常的关系型数据库管理系统要求在建立数据 

库时就必须定义好表的字段,在投入使用后,不提供动态增加或修改表字段的功能。但对图片文 

件,由于对图片的元数据的描述没有统一的规范,在建立图片数据库时难以获得图片的全部元数 

据。在图片数据库的使用过程中,可能发现需要给图片增加新的元数据(即在数据库表中添加属性), 

故要求图片管理系统有较高的可扩展性【】.3】,而关系型数据库难以满足这一要求。本文提出使用结 

2002年5月3o日收稿 

・信息产业部电子工业发展基金资助项目 

”女27岁硕士生 

维普资讯

第6期 胥能等:基于XML的可扩展图片数据库的实现方法 591 

构化的Ⅺ沮 档描述和存储图片的元数据,并利用纯XML数据库Tamino可以随时修改自己的文档 

模式(Schema)而不会破坏数据库中原有数据的特点,实现一个基于XML的可扩展图片数据库。 

1 及纯XML数据库 

可扩展标记语言XML(Extensible Markup Language)是从标准通用标记语言SGML(Standard 

Generalized Markup Language)发展而来的一种新的标记语言 。XML的主要目标是; ̄EWeb上保存 

并传递信息。Ⅺ 具有良好的可扩展性,其数据内容和形式分离,并要求遵循严格的语法,XML 

文档具有良好的语法结构、可读性和可维护性,是文本格式,具有跨平台的特性。 

Tamino是一个纯XML数据库(native-XML),而其他数据库系统对XML的支持则是在数据库和 

Web应用程序问建立中间层来实现XML文档存取接口和转换函数t 。所谓纯XML数据库就是数据 

库内部以ⅪⅢ格式作为存储元结构的数据库。Tamino可以将各种来源于其他存储系统的数据以统 

的格式(XML)进行存取【6】。它利用XML文档对各类型数据强大的表达能力,将所存储的信息封 

装为对象,可以通过Internet进行存取,而且Tamino能够满足基于Web的统一信息存取和交换的应 

用系统的要求。 

2基于XML的图片数据库系统的建立 

XML文档是图片元数据的核心载体,XML文档不仅需要包含图片的内容及管理信息,而且应 

该有足够的灵活性以适应未来的扩展t3]。图片管理系统的XML文档设计过程主要涉及以下三个方 

面的工作: 

1)信息建模:分析系统中的对象模型,理解文档所需要包含的信息结构和相关定义,图片管 

理系统的信息建模如图1所示; 

图片信息 

图片I【) 

图片文件物理信息 

宽和高 

分辨率等 

图片内容信息 

图片标题 

图中人物等 

图片分类信息 

作者信息 

作者姓名 

作者单位 

图片文件存储信息 

存储设备 

路径名 

w_曲路径映射 

版本信息 

入库时间 

图1图片管理系统的对象信息模型 

2)将信息模型转换为文档类型定义DTD(Document Type Definition)。根据系统中的对象模型, 

建立这些对象的XML文档的DTD。在XML文档中包含DTD,其主要功能是限制了可以使用的元素 

和结构; 

3)将Ⅺ 文档的DTD转换为Tamino Schema,用以定义数据库结构。类似DTD,Scherna ̄-]"以规 

定一套特定文档的结构或模型。使用Schema ̄言来描述文档结构有很多优点,这里使用Schema的 

主要原因是:Schema能提供丰富的数据类型(如整型、布尔型、日期类型等),可以满足数据库对 

维普资讯

电子科技大学学报 第31卷 

数据类型的需要。另外,在将DTD转换为Tamino Schema的过程中,不但要考虑各数据的类型,还 

要考虑数据的检索类型(r Ilino数据库中有全文检索和标准检索两类检索类型),这对数据库的检索 

效率非常重要【6】。 

3可扩展性的实现 

作为一个设计目标为通用系统的数据库系统,要求能够比较灵活地进行扩展。以Ⅺ 文档为 

数据库核心的图片内容管理系统,充分利用Ⅺ 文档层次化结构存储的特点 ̄-lfTamino数据库提供 

的动态更新Schea的功能【m6】,实现TXML文档数据结构的可扩展性。下面给出实现的算法: 

DOMDocument imageDoml 

BOOL 

Elementlnfo 

SchemaFib 

KEYID 

bAddMoreE1ement; 

newElement; 

Schemal 

key; 

ExtendXMLDocElement() 

{ 

,/使用DOM载jk.Tamino Schema 

LoadImage

Schema(&imageDom): 

__

If(bAddMoreElement) 

{ 

,/由用户设置新节点信息 

Set

NewElement

Info(&newElement); 

_

_

,/根据Schema生成一个未被使用的KEYID 

key=Generate

New

TaminoKey(): 

__

,/生成完整的Schea Elmement 

Create_NewElement(&newElement,&key); 

,/添加到DOM树上 

AddElement T0 Dom(&iageDom,&newElmement); 

l 

,/将DOM树保存为Tamino Schema File 

Save

Dom To SchemaFile(&imageDom,&Schema); 

_

,/更新数据库Schema 

Update

Tamino

Schema(&Schema); 

__

l 

应用该算法,给出对图片信息的XML文档结构进行字段扩展的实例,扩展前的XML文档片断 

如下: 

<Image> 

<ImageID></ImageID> 

<ContentInfo> 

<Tilfe></Tifle> 

<Keyword></Keyword> 

维普资讯

第6期 胥能等:基于XML的可扩展图片数据库的实现方法 593 

</Contentlnfo> 

</Image> 

对于Ⅺ儿文档,若在T锄ino数据库中存储,则需要通过sch锄对hIlage Doc E结构进行 

定义,对应的XML文档片断的Tamino Schema如下: 

<ino:D0CTYPE 

1‘110:name=“Image’’ ino:key=“Image00'’ 

1‘110:option=“READ INSERT UPDATE DELETE”> 

<ino:node ino:name=‘'Image” ino:key=“Image01” 

l。no:o ̄_type=“SEQ'’ ino:parent=“Image00'’ 

l‘no:search

_

type=“no” ino:map

_

type=“Native”,> 

<ino:node ino:name=“Imaged” ino:key=“Image02” 

l‘no:o ̄_type=“PCDATA’’ ino:parent=“ImageO1’’ 

‘1no:search

_

type=“Standard’’ino:data

_

type=‘'WCHAR’’ 

。lno:map

_

type=“InfoField”,> 

<ino:node 

ino:name=“Contentlnfo’’ ino:key=“Imagel5’’ 

ino:obj_type=“SEQ’’ 

ino:parent=“Image02’’ 

ino:search

_

type=“no’’ ino:map

_

type=“no”/>l 

<ino:node 

ino:name=‘'Tilte’’ 

ino:key=“Imagel6’’ 

ino:obj_type=“PCDATA’’ 

ino:parent=‘'Imagel5’’ 

ino:search

_

type=“Standard” 

ino:datatype=‘'WCHAR'’ 

_

ino:maptype=“InfoField”/>l 

_

<ino:node 

ino:name=“Keyword’’ ino:key=“Imagel7’’ 

ino:obj_type=“PCDATA'’ 

ino:parent=“Imagel5’’ 

ino:mulitplicity=“木’’ 

ino:search

type=“Standard’’ 

_

ino:data

_

type=‘'WCHAR'’ ino:maptype=“InfoField”/l> 

_

<,lno:D0( ’YPE> 

在图片管理系统投入使用后,假设由于业务发展的需要,某个客户要求在标题节点后面增加 

个描述图片的元数据:副标 ̄(ViceTitle)。根据上面给出的算法,可以动态地在对应的数据库表 

中增加字段ViceTilte,具体扩展节点的实现步骤如下: 

1)使用DOM载.Aim,age DOCTYPE的Tamino Schema; 

2)设置新增节点属性。新增节点名:ⅥcefnⅡe;父节点名:Contentlnfo;可重复性:O一1; 

数据类型:字符串; 

3)生成可用的Tamino Schema KEYID,设为“Image88”; 

4)生成Schema新节点,并添加到DOM树; 

5)将DOM树保存为新的Tamino Schema文件; 

6)使用新的Tamino Schema31 ̄件更新Tamino数据库@l ̄Image doctype的结构。 

新 ̄Tamino Schema文件与旧文件相比,即在旧文件的节点Tilte和Keyword之间添加一个节 

点ViceTitle,其节点的代码如下: 

<ino:node ino:nanle=‘'ViceTitle’’ 

ino:key=“Image88’’ 

ino:obj_type=“PCDATA'’ 

ino:parent=“Imagel5’’ 

ino:multiplicity=“?” 

ino:search

_.

t),pe=“Standard” 

维普资讯

594 电子科技大学学报 第31卷 

ino:data

_

type=‘'WCHAR'’ ino:map

type=‘'InfoField”,> 

_

当系统使用的Schema更新后,新的图片信息XML文档就可以顺利地存人数据库,而系统中原 

有的大量图片XML文档不会被破坏,新的图片信息XML文档如下: 

<Image> 

<ImageID></ImageID> ‘ 

<ContentInfo> 

<Title></Title> 

< ce巧tle></ViceTilfe> 

<Keyword></Keyword> 

</Contentlnfo> 

</Image> 

4结束语 

从实现整个系统的过程来看,XML文档的层次结构相对于关系型数据库的二维表结构具有更 

好的可扩展性,对于非结构化的图片文件,利用Ⅺ儿描述,即生成对应的结构化的XML文档,可 

提高图片的检索效率:另外,由于Ⅺ咀泊身的特点,使基于XML的数据库容易实现跨平台跨网络 

的功能,因此,Ⅺ咀 应用于数据库系统是发展的一个重要方向。 

参考文献 

l Dan S.Semistruetured Data and XML.Proceedings of 5th Intemaffonal Conference of Foundations of Data 

Organization(FODO98),Kobc,Japan,November,1998 

2 Shanmugasundaram J,1、If l(’ZhangC,eta1.RelationalDatabasesforQueryingXMLDocument:Limitations 

nad Opportunities.VLDB99,Proeeexlings of 25th Intemational Conference on Very Large Data Bases, 

September7-10,1999,Edinburgh,Scotlnad,UIC 1999:302—314 

3 Herman I,Marshall MS.GraphXML-An XML-based graph descriptionformat.Proceedings ofthe Symposium 

onGraphDrawing.Amsterdam,.I11eNetherlandsKZyaU.SpringerVerlag2000:52-62 

4 Steven H.XML完全探索.北京:中国青年出版社,2001 

5 Didire M.XML高级编程.北京:机械工业出版社,2001 

6 Harald S.Tamino-a DBMS Design ofr XML.IEEE 17th Internafional Conference on Data Engineering(ICDE). 

20o1.149—154 


本文标签: 图片 数据库 文档 数据