嵌入式移动数据库系统语义冲突的解决策略

时间:2022-09-10 06:48:05

嵌入式移动数据库系统语义冲突的解决策略

【摘要】大量不同种类的嵌入式数据库系统组合而成的信息资源库,就是相关的多个异构数据库系统的集合。要实现异构数据数据库系统数据的共享和透明访问,需要解决不同种数据模型中所存在的各种语法和语义上的冲突。本文针对数据转换过程中存在的语义冲突进行分类,并提出了相应的解决策略,以达到异构数据源的共享和互操作。

【关键词】嵌入式系统;移动数据库;数据集成;语义冲突

1.引言

数据库技术是应数据管理任务的需要而产生的。随着计算机技术从科学计算向数据处理的扩展,数据库系统应运而生。数据库系统的出现使信息系统的重心发生了转移,从以加工数据的程序为中心转向以数据共享为核心。随后,不断涌现的新应用需求又推动着数据库技术向前发展,随着移动计算时代的到来,嵌入式操作系统对移动数据库系统的需求为数据库技术开辟了新的发展空间,嵌入式数据库技术目前已经从研究领域逐步走向广泛的应用领域。

移动数据库涉及的理论和技术含盖了当今通信、计算机和嵌入式系统的最新成果,其中在移动环境下如何进行数据管理是实现移动数据库的关键。随着计算机及网络技术的快速发展,网络上的各种信息以指数级爆炸性增长,成为了一个巨大的信息库。这个信息库是由运行在各种不同硬件平台上的不同应用系统的多种类数据库系统组成,这样就形成了成千上万个异构的数据源。这些数据资源由于软硬件平台各异、数据模型各异而形成了异构数据,使各数据源间的互操作变得复杂。对于异构数据库系统,实现数据共享必须进行数据类型的转换和重组,在转换的过程中,需要解决不同种数据模型中所存在的各种语法和语义上的冲突。本文针对数据转换过程中存在的语义冲突进行分类,并提出了相应的解决策略,以达到异构数据源的共享和互操作。

2.嵌入式移动数据库的定义

数据库技术一直在随着计算的发展而不断进步。凡是有数据的地方,就要用到数据库来协助管理数据。移动计算也是对数据的处理,离开对数据的管理、处理,计算机就毫无意义。移动计算同时又强调其移动性,传统的PC机要做到移动,同时在苛刻的环境下作到良好的运作也是不可能的。此时,嵌入式很好的满足了移动计算对移动客户端计算的要求。三者从这一点上结合就产生了当今数据库的一个新的发展空间:嵌入式数据库技术。移动数据库是指支持移动计算环境的分布式数据库。由于移动数据库系统通常应用在诸如掌上电脑、PDA、车载设备、移动电话等嵌入式设备中,因此,它又被称为嵌入式移动数据库系统(EMDBS:Embedded Mobile Database System)。

3.嵌入式移动数据库的体系结构及其主要特点

嵌入式数据库系统是指支持移动计算或某种特定计算模式的数据库管理系统,它通常与操作系统和具体的应用集成在一起,运行在嵌入式或者移动设备上。嵌入式数据库技术涉及嵌入式、数据库以及移动通讯等多个学科,已经成为数据库技术发展的一个新方向,图1表示了嵌入式数据库在嵌入式系统中的位置。

在传统的分布式计算系统中,各个计算节点之间是通过固定网络连接并保持网络的持续连接性的,移动计算系统是固定节点和移动节点构成的分布计算系统。移动计算的网络环境具有鲜明的特点:移动性、断接性、带宽多样性、可伸缩性、弱可靠性、网络通信的非对称性、电源能力的局限性等。移动环境中的分布式数据库就是移动数据库。它是传统分布式数据库系统的扩展。

嵌入式移动数据库系统采用三层体系结构。如图2。在这三个层次中,位于最上层的是移动终端的嵌入式数据库,它具有易用性和便携性,但数据容量最小;而位于最低层的是服务器端后台数据库,它的数据容量大且安全性好、可靠性高,但只能存放于台式机上,难以满足移动计算的需求;中间层的同步模块具有双向数据交换能力,通过数据同步使得嵌入式数据库和后台数据库中的数据保持一致。

通过这三层的相互配合,系统兼得了嵌入式数据库和海量数据库的特点,用户既用到了嵌入式数据库“无所不在”的计算能力,又避免了其容量小、功能不完备所带来的不便。

移动数据库的计算环境是传统分布式数据库的扩展,它可以看作客户端与固定服务器节点动态连接的分布式系统。因此移动计算环境中的数据库管理系统是一种动态分布式数据库管理系统。当前流行的数据库管理系统基本上都采用关系数据模型。关系模型己经成为数据库中数据模型事实上的标准。同时关系模型的描述能力比较强,效率高。关系模型具有完整的理论基础,已经非常成熟。

嵌入式设备的一个主要特征是其资源紧张性。另外,嵌入式数据库本质上还是面向个人服务的数据库管理系统,数据管理的功能相对于传统的企业级数据库来说要求相对较弱。基于上述原因,嵌入式数据库基本上采用效率更高的关系模型。

由于移动数据库在移动计算的环境下应用在嵌入型操作系统之上,所以它具有:微小内核结构、对标准SQL的支持、事务管理功能、完善的数据同步机制、支持多种连接协议、完备的数据库管理功能和支持多种嵌入型操作系统的特点和功能需求。嵌入式移动数据库在实际应用中必须解决好数据的一致性、高效的事务处理、数据的安全性等问题。

4.嵌入式移动数据库语义冲突问题分类及其解决策略

对于异构数据库系统,实现数据共享应当达到两点:一是实现数据库转换;二是实现数据的透明访问。随着Internet应用的不断普及,Internet的异构分布式信息系统正在迅速发展,异构数据库系统的目标在于实现不同数据库之间的数据信息资源、硬件设备资源和人力资源的合并和共享。其中关键的一点就是以局部数据库模式为基础,建立全局的数据模式或全局外视图。 要真正实现资源共享,必须消除异构数据库中数据的冲突、异常,进行数据集成。而解决数据的互通、互用和共享的核心是识别并解决数据的语义冲突。

数据库系统提供了一套概念结构来对现实世界的数据进行建模。每一个概念结构被认为是一个类型,它可以是一种复杂类型或一种基本类型。类型和它所表示的数据间的联系就称为语义。异构数据库语义集成主要任务是解决数据库间语义相关的对象的识别问题,其核心就是在数据库间找出语义相关的属性和实体(记录),即属性匹配和实体匹配问题。语义冲突是指不同数据源数据的涵义相似或有差别。例如,两个数据库的属性具有相同的涵义但属性名却不相同;或者相反,两个数据库的属性具有不相同的涵义但属性名却相同。

根据语义的定义,在关系数据库系统中,语义系统是由模式、模式的属性、模式中属性之间的联系和模式间的属性之间的联系构成。这里将语义分为三级:模式级、属性级和实例级。

(1)模式级冲突

1)关系命名冲突。包括关系名同义词和关系名同形异义词。前者进行换名或建立关系名同义词表以记载该类冲突;后者进行换名或建立关系名同形异义词表以记载该类冲突。

2)关系结构冲突。分为包含冲突和相交冲突。包含冲突是指在含义相同的两个关系 R1 和 R2 中一个关系的属性集是另一个的属性子集。相交冲突是指两关系属性集的交不为空,我们用 attribset 代表关系的属性集。对包含冲突:①如果两个关系的属性集相同即attribset(R1)=attribset(R2),则合并这两个对象,Merge(R1,R2) into R3;②如果attribset(R1) 包含于attribset(R2),则 attribset(R2')=attribset(R2)-attribset(R1),attribset(R1')=attribset(R1);③对相交冲突:通常概括语义进行如下解决:generalize(R1,R2)其中 attribset(R3)=attribset(R1)∩attribset(R2),attribset(R1')= attribset(R1)-attribset(R3);attribset(R2')=attribset(R2)-attribset(R3)。

3)关系关键字冲突:两个含义相同的关系具有不同的关键字约束。包括候选关键字冲突和主关键字冲突。解决候选关键字冲突的方法是,将两关系的候选关键字的交集作为两关系的候选关键字;解决主关键字冲突的方法是,从两关系的公共候选关键字中选一个分别作为两关系的主关键字。

4)多对多的关系冲突:两个数据库中用不同数量的关系来表达现实世界的相同语义信息,就产生了多对多的关系冲突,这种冲突分三种:一对多,多对一和多对多。解决方法是在表示相同语义信息的数据库中关系之间建立映射来表示多对多的关系。

(2)属性级冲突

1)属性命名冲突:异名同义和同名不同义。前者的解决方法是,换名或建立属性名同义词字典;后者的解决方法是,换名或建立属性名同形异义词字典。

2)属性约束冲突:分属性类型冲突和属性长度冲突两种。当在两个相关的关系R1和R2的属性N1和N2具有不同的属性类型时,就(下转第36页)(上接第25页)发生属性类型冲突。解决方法是在全局模式中将发生属性类型冲突的属性统一到某种属性类型。对属性长度的解决方法是,在全局模式中将发生属性长度类型冲突的属性对统一定义为最大者就可。

3)多对多的属性冲突:两个数据库中的关系分别用不同数量的属性来表达现实世界中相同的语义信息时,就发生了多对多的属性冲突,这种冲突分三种:一对多,多对一和多对多。解决方法是在表示相同语义信息的数据库中关系的属性之间建立映射来表示这种多对多的关系。

(3)实例级冲突

1)不兼容关系实例冲突:当含义相同的数据项在不同的数据库中存在不一致的数据值时就发生了不兼容关系实例冲突。其解决方法是:将关系实例的最近修改作为关系实例冲突部分的值,但不能保证数据的正确性。

2)关系实例表示冲突:关系实例表示冲突是指用不兼容的符号、量纲和精度来表示相关关系实例中等价的数据元素,主要包括表达冲突、量纲冲突和精度冲突。表达冲突是指在两个相关的关系R1和R2中含义相同的属性N1和N2具有不同的数据表达时,这种冲突使用语义值的概念来解决,即将表示同一概念的多种表达在全局数据中进行统一即可。量纲冲突是指在两个相关的关系R1和R2和中含义相同的属性N1和N2具有不同的量纲表示。量纲冲突也可以语义值加以解决,解决过程如下:分别定义发生量纲冲突的局部数据源的语义值模式和语义值说明,然后再定义全局数据模式中相应的语义值模式和语义值说明,将发生量纲冲突的属性值在全局模式中进行统一。精度冲突是指在两个相关的关系R1和R2中含义相同的属性具有不同的精度。其解决方法是在全局模式中将发生精度冲突的数据项定义为最高精度即可。

5.总结

本文以嵌入式移动数据库为研究对象,探讨了异构数据库系统的数据过程中数据集成时容易遇到的的语义冲突问题,对各种可能的语义冲突进行了分类分析,并给出了相应的解决策略。

参考文献:

[1]严兵.一种嵌入式移动数据库系统的研究与实现[J].微计算机信息,2008(18):164-165.

[2]王珊,丁治明,张孝.移动数据库及应用[J].计算机应用,2000,9.

[3]胡晓宏,沈贺嵩.嵌入式移动数据库系统中的数据查询[J].单片机与嵌入式系统应用,20093:14-16.

[4]强保华.异构数据库语义集成技术研究[D].重庆:重庆大学,2005.

[5]IT168.省略/art/3539/20100329/2023055_1.html,2010-03-29.

作者简介:周建明(1969-),男,安徽寿县人,高级讲师,云南能源职业技术学院计算机与信息工程系主任,主要从事计算机科技术教育教学理论研究。

上一篇:错过了你肯定后悔的32个产品 下一篇:浅谈经典开展训练项目意义