首页 > 范文大全 > 正文

数据库虚拟机模型的应用与研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇数据库虚拟机模型的应用与研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在企业进行数据库相关的开发和应用中,常常因为数据库结构的变化而导致应用系统出现异常。企业不得不针对数据库结构的变化而修改所有相关应用系统,造成人力和资源的极大浪费。本文介绍了一种数据库虚拟机的框架模型,根据抽象与实际相分离的原理,实现了应用系统和数据库之间的相互独立;从而降低了应用系统维护的工作量,使系统有更强的自适应性,并在一定程度上解决了数据冗余。

关键词:数据库 数据库虚拟机 框架模型 应用无关性

中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2013)02-0056-02

1 引言

在企业信息化进程中,随着信息化程度的不断深入,应用程序的数量也随之不断增加。很多数据库结构是在不同阶段为不同目的建立的,这些数据彼此之间存在大量重复,带来数据的冗余和管理的复杂性[2]。企业的数据库结构的变化直接影响应用程序能否正常运行,相关的应用程序都必须随之改变或重新开发[1]。这些因素大大降低了企业的信息化管理效率。因此建立一个相对独立的应用与数据系统成为企业需要解决的重点问题之一。本文介绍了一个数据库虚拟机模型,实现应用程序与数据的无关性,同时降低了数据冗余。

2 数据库虚拟机的实现框架

数据库虚拟机的框架模型能够很好地解决上述问题,其设计方案见图1。

图1 数据库虚拟机模型

工作流程:应用程序需要进行数据访问时,首先向注册中心申请,注册中心对请求进行审核,并将审核结果返回相应的数据管理单元(MU)。若该MU存在,则与应用程序进行绑定,并管理所有对该数据库的访问。若该MU不存在,则应用程序不能访问数据库。

在该框架中,MU必须在注册中心,只有的MU才能使用。由于MU是根据数据类别建立的,它们映射的数据之间彼此互不相同。数据库的全部数据为所有MU所管理数据的和。

即A=且Di∩Dj=(in,jn且i≠j)

其中Di表示第i个数据管理单元对应的数据,A表示数据库中的所有数据。

在每一个MU中,存储的内容是数据的描述以及这些描述和物理数据的映射关系[5]。应用程序通过注册中心告知MU需要访问的数据。MU根据这些数据的描述,通过映射找到实际的数据,返回给应用程序。当数据库结构发生改变时,通过一定的规则,修改MU与数据库之间的映射关系。

由MU形成它们之间的映射。这些数据描述以及映射关系与虚拟机的管理功能结合在一起,就形成了完整的虚拟机。

因为应用程序直接访问的是MU,在数据库结构变更,应用程序与MU之间的映射关系没有改变,根据应用程序的需求把从数据库中提取的数据进行转换,应用程序根据自己的要求得到了数据,并不知道转换的发生,所以实现了应用无关性。

虚拟机不仅提供了MU,而且具备一定的数据管理功能:(1)数据转换功能。如果数据结构中的数据类型或数据长度属性发生改变,虚拟机则按照一定规则进行数据转换,例如数据类型由数字型转换为字符型,数据长度由6位变为12位等。如果转换不成功或者未找到数据,则返回空数据,同时虚拟机向数据库管理员发送报告,等待处理。(2)降低数据冗余功能。代表相同意义的物理数据会映射到MU注册树中的相同的属性节点上,同名异义的属性注册的节点一定不相同。如果节点与数据库的映射关系形成了一对多,说明存在冗余数据。管理员根据虚拟机提交的报告对数据进行清除整理,从而降低了数据库中的冗余,消除了数据同名异义、同义异名、同名同义的功能。

3 数据转换方式

数据库虚拟机最核心的部分是数据管理单元内的数据转换方式。

数据库转换方式有两种:

一种是即时转换方式。应用程序请求数据之后,MU根据要求从数据库中提取出相应的数据,如果结构不符,那么数据库中的数据进行转换之后再返回给应用程序。这种方式的优点是不占用额外的存储空间,建立机制比较简单,缺点是当数据量太大时查询速度慢。

另一种是存储转换方式。在MU中存储应用程序所需数据的结构。监听数据库中的数据结构的变化,当数据库中的数据结构发生变化时,MU就可按照存储的应用程序所需数据结构进行数据转换。当应用程序提出数据请求时,将转换好的数据返回给应用程序。这种方式相对于即时转换方式,能够提高数据的查询速度,缺点是占用一定的存储空间。

在进行数据转换时,应根据要转换的数据的特点,选择合适的转换方式。虚拟机可以根据需要转换的数据量,自动完成转换方式的选择。

4 虚拟机模型的应用举例

下面以某单位设备管理信息数据库为实例阐述虚拟机模型的具体应用。(如图2)

当处理某单位设备信息时,首先建立一个MU,在MU中,按照设备资产编号,设备名称,购置时间等信息分类形成注册树,该单位的所有属性都根据自己的描述注册到注册树中的相应位置。如图2。

当应用程序请求调用设备的资产编号和设备名称时,开始查找注册中心中的信息,当找到对应的MU时,应用程序开始对MU进行绑定。首先从MU的注册树中找到节点资产编号和设备名称,然后通过映射关系获得这两个节点分别对应的数据库中equipments表的zcbh和sbmc字段,从该表中提取的数据返回到MU中,MU检查返回的数据,如果数据结构与应用程序所要求的结构相符,则将数据返回给应用程序。反之虚拟机就会根据规则进行转换,转换的数据再返回给应用程序,并且记录转换过程提交给数据库管理员。

由于业务的复杂性、应用系统的多样性等原因,该单位的财务管理系统和设备管理系统在数据库中都在自己的数据表中存储了设备的基本信息,这就造成了数据冗余。在这两个数据表与注册树建立映射关系时,描述相同的属性,数据都会提交到MU注册树中的相同节点。

例如,表sbxx1和表sbxx2分别表示两套系统中用来存储设备基本信息的数据表,sbmc1和sbmc2分别是两个表中表示设备名称的字段。sbmc1和sbmc2都会映射到注册树上设备基本信息中的“设备名称”这个属性节点,即该属性节点与数据库中的两个字段的数据都进行映射。这种一对多的映射情况说明数据库中该属性存储数据是有冗余的,虚拟机将数据冗余报告提交给数据库管理员,等待处理。

5 结语

本文介绍了一种数据库虚拟机的模型框架,以及该模型的结构特点和数据管理方式。利用该模型,实现了应用程序与数据的无关性,在一定程度上规范了数据的管理、消除了数据冗余。

参考文献

[1]戴大蒙,刘均.关系数据库重构模型的研究与实现[J].计算机工程,2005,31(23):211-213.

[2]古凌岚.一种新的信息交互平台研究与设计[J].计算机工程与设计,2005,26(11):3103-3105.

[3]陈伟.数据清理关键技术及其软件平台的研究与应用[D].南京航空航天大学,2004.