首页 > 范文大全 > 正文

一种元数据处理的多媒体联邦数据库

开篇:润墨网以专业的文秘视角,为您筛选了一篇一种元数据处理的多媒体联邦数据库范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

(丽水职业技术学院,浙江丽水323000)

摘 要:当前基于联邦数据库方向的多媒体联邦数据库系统已经取得较大发展。然而.在大多数项目研究中,很少有项目将重点放在元模型的研究上。反过来说,标准数据库系统(关系,对象关系.面向对象)没有定义了一种多媒体和联邦特点的元数据模型。在这篇文章中,提出了一种多媒体联邦数据库的元数据结构的规范。这种规范的结构是基于一种新的面向对象的元模型.而这种元模型是支持多媒体类型和联邦元数据的。通过使用这种元模型,联邦多媒体的管理者和用户能够准确的确定出数据是如何构成的,以及操作类型是如何允许实现的。

关键词:联邦数据库:元数据:多媒体

中图分类号:TP311 文献标识码:A 文章编号:1009―3044(2007)01―10035-03

1 引言

许多应用需要存取未名结构的数据库,初始目标是确定数据库的实体以及他们之前存取或修改数据的关系。在这种联邦数据库的领域中,作为全局管理者或工程师经常需要使用各种不同类型的软件系统,构成一种或多种全局模式。这种数据库存取的类属性形式相当于是一种映射,这种映射表明了动态结构和调用请求的可能性。

EGTV(基于视频媒体的全局有效事务)的目标是通过普通的元模型界面将媒体集合成大量多媒体数据库系统。这项研究的贡献在于为联邦多媒体提供了一种元模型的规范,这种规范的执行不仅被映射到对象数据库管理组(ODMG),而且还被映射到对象关系的元数据模型中。此外,这种规范的重点在于如何采用元数据来集成大型多媒体系统。

在EGTV项目中,可以通过分布结构的形式为多媒体提供一种高效的数据存储系统。但是它无法采取一种简单的集中化数据存储形式。因此EGTV项目的一种解决方案是使用标准的面向对象和对象关系的联邦数据库来存储大容量的多媒体数据。使用联邦结构的好处是能够集成大量的可以横跨多个数据库的多媒体,以及可以通过创建本地存储多媒体数据的对象视图来定义全局模式。通过分散地数据库站点来增加系统的整体存储容量。这种联邦结构能够定义私有多媒体数据库,这种数据库能够在将来被应用为全局模式。而这种联邦的好处是,通过单一的联邦模式,许多用户能够浏览大量的多媒体数据。

2 EGTV系统结构

在本节中提出了一种系统结构,这种系统结构是在联邦数据库中通过各种不同的多媒体数据源来构成一种全局模式。它依据联邦数据库系统的标准结构,通过一些必须的修改来进行多媒体数据的处理

如图1所示的结构可以分为五层,每一层都可以以数据库模式被定义。这种模式可以通过层与层之间的处理器来创建与操作。通过以下几个方面,我们可以看出这种结构与普通的五层结构是不相同的。首先,多媒体数据存储在数据库层;其次,EGTV元模型定义了一种规范模式,并且通过使用两个不同的处理器(查询处理器和转换处理器)与数据库层进行相互作用;最后,表面层将通过CORBA和XML的界面形式给客户机提供联邦模式人口。

数据库层:在这一层,联邦结构系统的所有数据都存储在ODMG数据库或对象关系数据库中。数据库作为数据和多媒体对象的物理存储器来使用,但是它也可以以封装的形式来存储私有多媒体数据。

规范层:规范层通常来说包含数据和元数据两部分。规范模式将会在EGTV元模型中体现。这一层定义了数据库模式,也可作为局部数据存取的入口。从图1的结构图中,可以看出用户通过查询处理器或转换处理器在数据库层与规范层之间进行数据存取。

视图层:视图模式是规范模式的子集,并被共享在其他数据库之内。它以对象视图的形式来表述。

联邦层:多种视网模式通过综合处理器可以综合成联邦模式。在EGTV模式下,联邦层存储的模式为联邦元数据形式,它可为全局查询提供一个存取点。

表面层:表面层的作用是转换联邦模式以及为客户机存取提供可相配的子系统。从图1中可以看出,表面层通过XML和CORBA两种界面可与联邦数据库进行数据存取。

转换处理器:转换处理器将本地数据库的数据和元数据转换成标准的联邦类型。

查询处理器:查询处理器通过规范层模式将被提交的查询转换到本地数据库。在EGTV模式下得到的查询结果将以编码的形式返回到规范层。

过滤处理器:过滤处理器可以通过过滤和调整存储在规范层中的元数据创建视图子模式。

综合处理器:综合处理器可创建一种连接,它可将多重视图模式与联邦模式相连接。

CORBA界面:联邦系统的客户机可以使用CORBA界面对联邦模式的数据存取进行程序设计。

XML界面:XML界面为联邦模式下的数据存取提供了一个通用的查询方式。

3 EGTV元模型规范

3.1定义命名范围

每一个数据库实体都必须在它作用范围内拥有一个唯一的名称。例如:在数据库模式中,类名称是唯一的,因此其属性名称也是唯一的。因为每一个元类都为其包含的元素提供了命名范围.所以元模型中的命名范围和包含关系是紧密联系的。如图2所示.在元类与元类之问,元模型定义了一个单一的包含,范围的关系。

在图2中,sys_MetaObject是为元模型所有要素一个抽象描述,它定义了几个通用属性:name、meta Type、virtualLevel、com―ment。元模型sys MetaObject派生了sys_Property、sys_Parameter、sys_lnheritance三个元类,其他的元类(sys_Type、sys_Operation、sys-schema)则是由元类sys_ScopedO biect派生出来的,而元类sys_ScopedObject又是由元模型sys_MetaObject派生出来的。

3.2定义类型

在数据库中所定义的类型必须以从元类sys―ScopedObiect派生出的元类的类型作为依据。如图3所示,所有的数据类型将在元数据类层所体现。元类sys_Type是数据库中所有类型的一个抽象描述,从它可以派生特殊的元类。我们的元模型通过允许可以使元类sys_Type更快地操作,然而ODMG元模型只允许用户通过定义类来完成操作。

元类sys Tvpe作为系统和用户定义类型的规范。我们使用系统类型去定义类属性的类型或操作参数的类型,但是不能用系统类型去定义自含数据库对象。

3.3定义属性

从图1中可看出.元类svs_Property是从元模型sys_MetaOb-iect中直接派生出来的。而在图4中可以看出,类的成员是由元类sys Attribute所指定的,它的每一个属性都可以通过使用isStatic特性和isConstant特性被定义成Static和constant。我们可以用系 统类型或类类型去定义属性,每一个属性都只有一种类型,但是同样一种类型可以用于多个属性。从图4中,可以看出,at-tribute_type是元类sys_Attribute和元类sys_Type两者之间的关系,而元类sys Type其实是真个元模型中所有类型的一个超类。

3.4定义继承

继承是面向对象程序设计的一个重要特征,它通过继承原有类派生出子类,进而构造出更为复杂的数据类型。利用继承,可以来创建一个具有公共属性的类,然后根据需要创建具有特有属性的新类以适用于不同的情况。继承是在原有父类基础上添加程序代码建立新类,而这个新类既能运行自己定义的方法.也可以运行父类中定义的方法,从而达到代码复用的目的。如图5所示.参数positionNumber就是一个基类的多重继承定义。

3.5定义操作

我们可以用系统类型和类去定义操作。指定操作的系统类型是类型定义的一部分,但是不能被用户修改。元类sys_Operation是数据库中所定义的所有操作的抽象描述,它是从元类sys_ScopedObject中派生出来的。如图6所示,可以采用opera-torKind特性将操作符定义为一元操作符和二元操作符.若给方法增加static或virtual修饰符,sys_Method的特性methodKind就可以被指定。

3.6定义模式

模式可以作为类和对象视图的顶层容器。基于类和视图的对象能够在数据库模式下被记录。从图1可以看出,元类sys_Schema是从元类sys_SeopedObject派生出来的,而从图7中可以看出,元类sys_Schema又派生了两个元类:sys_Databas.eSchema和sys_SubSchema

3.7定义视图

sys_SubSchema是一种特殊的“模式”,它的作用是提出对象视图。它包含基类和虚类,每一个子模式都隶属于数据库模式。视图在子模式下提出的是可行的,但是在仅仅在虚类下提出是不行。对象视图为面向对象数据库模型重载了模式功能,这样就可以适用于不同的联邦模式数据库。

3.8元一元数据层

在某些抽象层内,每一个元数据模型都可以描述数据库模式的结构。我们的元数据模型可以专门用来支持多媒体元数据。在图8中给出了元一元数据模型的规范,我们可以看出元一元数据模型对整个系统是非常有益的,因为它允许我们指定一个新的元模型,还可以在已有的基础上增加新的元类。

4 元模型的映射

EGTV元模型的规范的执行不仅被映射到对象数据库管理组(ODMG),而且还被映射到对象关系的元数据模型中。由于有部分EGTV元模型功能没被映射到ODMG和对象关系规范中.因此映射并不包含全部EGTV元模型功能.例如定义多媒体类型和创建对象视图。ODMG和对象关系元模型必须具有扩展性,可以随时支持新的EGTV元模型功能。

4.1 EGTV到ODMG的映射

EGTV元模型是基于ODMG元模型规范的,因此两种元模型可以共享相似的面向对象平台。对于两种元模型的相似定义的元类,映射的实现是相对简单的,但是对于多媒体类型或对于对象视图来说,映射的实现是比较复杂的。这一节主要解释了映射的规则,在表1中给出了EGTV主要的元类以及它们对于ODMG元模型的映射。

4.1.1模式映射

元类sys_Database模式定义了数据库模式属性,包括为所有模式要素定义的根命名范围。它被映射到元类d_Module中,这样在ODMG元模型中就会产生一个等效的类。由于每一个数据库模式都在sys_DatabaseSchema中被指定。因此通过映射就会在ODMG元模型中创建一个d_Module实例。在例1中就说明了这种模式映射。

例1:ODMG模式映射

Map sys_DatabaseSchema:=d_Module,d_Extension

{attribute:

isFederated:=d_Extension.isFederated

databaseTvpe:=d Extension.databaseType

relationship:

containedIn:=d_Module.definedIn

containedObjects:=d_Module.defines}

4.1.2类映射

两种元模型都通过单一的元类表示了数据库类。在例2中就说明了这种类的映射。

例2:ODMG类映射

Map sys_CLASS:=d_Class,d_Extension

{attribute:

isAbstract:=d_Extension.isAbstract

relationship:

containedln:=d―Class.definedIn

containedObiects:=d Class.defines

inheritsTo:=d Class.inherits

derivesFrom:=d Class.derives}

4.1.3属性映射

EGTV的类sys_Attribute定义的每一种属性都映射到了ODMG元类d_Attribute中。sys_Attribute中的所有属性和关系都被映射到相应的d_Attribute的属性和关系中。

4.1.4继承映射

继承映射是从元类sys_Inheritance映射到ODMG所定义的类d_Inheritance中。所有的元类sys_Inheritance的属性都被映射到类d Inheritance中。

4.1.5关系映射

EGTV中的元类sys_Relationship将映射到ODMG的元类d_Relationship中。在例3中就说明了这种类的映射。

例3:ODMG关系映射

Map sys_Relationship:=d_Relationship,d_Extension{attribute:

cardinality:=d_Relationship.cardinality

accessKind:=d_Relationship.accessKind

isUnique:=d_Extension.isUnique

isOrdered:=d_Extension.isOrdered

relationship:

containedln:=d_Relationship.definedln

traversal:=d_Relationship.traversalI

4.1.6数据类型映射

在EGTV模型和ODMG模型中原始的数据类型和集合数据类型以相同的方式被实现。在表2中可以看出。sys PrimitiveTvD£被映射到d_Primitiverrype中,而sys_CollectionType则被映射到d_Collection_Type中。在EGTV元模型中定义了多媒体类型,但在ODMG中却没有与此相对应的类型。此外.多媒体类型能够定义一种行为方式,这种行为方式是不支持ODMG元模型类型的。

4.1.7对象视图映射

对象视图包含一个或多个虚拟类,它可以被当前工作的视网子模式所表示。EGTV元模型是支持对象视图和虚拟类的.但ODMG元模型是不支持对象视图的,所以ODMG只能通过扩展本身才能支持对象视图的映射。由于篇幅限制,这里就不讨论对象视图的映射规则。

4.2 EGTV到对象关系的映射

由于对象关系数据库还未拥有一个标准的元模型,因此在这篇文章中,我们采用OracLe元模型作为我们的元模型。对象关系模式可以通过一系列的关系表存储关系和对象关系元数据。EGTV元类与Oracle模型仓库的映射如表3所示。

5 结束语

在这篇文章中,我们描述了如何去设计和实现一种基于多媒体数据库的元模型。在联邦多媒体数据库中,这种元模型为元数据的存储定义了大量的元类。这种元模型是建立在ODMG面向对象的基础上的,但它采用了一种更加简化的设计,使得多媒体数据的类型和扩展都支持对象视图。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。