分布式数据库在校园一卡通中的应用
文章出处:http://www.singbon.com 作者: 人气: 发表时间:2011年12月11日
摘要:论文首先分析了分布式数据库的概念,然后给出了校园一卡通中数据库如何实现了分布式的流程。最后探索了系统应用的关键点,该论文可以作为有关人员有益的参考。
现代化的学校少不了现代化管理设施、设备的武装。管理信息化水平正在成为衡量学校总体水平的重要因素之一,也是学校管理能否达到现代化标准的重要标志。校园一卡通系统是数字化校园的基础工程,是数字化校园中有机的和重要的组成部分。应用一卡通,主要是结合这校园网,与校园网数据库相连,采用一个统一的软件进行管理,完成有关的查询。消费等等一系列功能。达到 “一卡在手,走遍校园 ”必将满足学校数字化校园建设和金融服务的需求及目的。
1分布式数据库浅析
1.1分布式数据库的概念
要开发一个基于数据库的应用系统,其中最关键的一步就是整个系统所依据的数据库的建模设计,从逻辑的到物理的,一个环节疏于设计,整个的应用系统便似建立在危房之上,随着开发过程的不断深入,它要随时面临着各种难以预料的风险,开发者要为修改或重新设计没有设计好的数据库系统而付出难以预料的代价。所以,一个良好的数据库设计是高效率的系统所需要的重要基础。而分布式数据库就是本系统所依托的核心。
所谓分布式数据库(简称 DDB)可以定义为物理上分布而逻辑上集中的共享数据的集合。分布式数据库跟集中式数据库有共同点也有不同之处。对于分布式数据库来讲,它也包含着两个重要的组成部分:首先是对于数据的集合,它们是物理上硬件存在的数据库,是分布式数据库最关键的组成部分。另外的一个组成部分,是隶属于数据结构方面,它实现了对数据段的分片、分布描述。
1.2分布式数据库的策略
在分布式数据库系统,数据分割和分布是两个重要的概念。事实上 ,大部分的问题是分布式数据库数据分割和分布 ,导致整个系统的可用性和可靠性以及效率方面的影响。数据分割发挥着重要的作用,它采用某种方式使得全局数据库按照一定的层次、逻辑关系进行整合,从而实现得到不同的局部数据库;数据分布通常描述了数据库的分布特点。以为对于分布式数据库来说,所有的数据没有保存在一个统一的地方,它们以逻辑段方式分布到了很多网络节点上。一般来说,分布式数据库的数据分布策略是多种多样的,下面进行分析:
1)所有的数据段集中于同一地点。这样的策略保证系统的数据都存储在同一地点 ,使得对其控制和管理非常之容易,也可以使得数据一致性和完整性得到保证。这里需要注意,由于检索和修改数据通过这个平台的时候,会使得现场负担加重。特别是如果这个网站存在着瓶颈,那么很容易导致整个系统瘫痪,总之系统的可靠性得不到保证。
2)分割式所有数据只有一份,它被分割成若干个逻辑片段,每个分成几块分配在了不同地点。这样的策略能够允许充分利用各种现场仓储设备来进行数据存储,存储的数据在不同的地点可以修改数据,并发挥操作系统的并行处理能力。同时 ,由于数据分布在多个地点 ,当一些网站出现故障时,系统还可以运行,提高了系统的可靠性。
3)复制式。对于总体数据存在着多个复制备份,而且每一个网站都是完全的拷贝数据。通过这个策略,会使得数据库可靠性高、响应速度快,而且回收数据容易得多。但是需要使得每个站点数据同步,这往往付出高昂的代价。而且当整个系统的数据冗余比较严重时,数据库存储通常也会受到较大影响。
4)混合数据分为几个子集,每个不同子集的网站,但没有任何地点保存所有的数据。这样的策略,具有复制式和分割式的双重特点,可以提高系统效率,但是也保有了二者的复杂性。
2基于 XML的数据库交互
2.1基本思想
在整个校园一卡通分布式数据库及数据分布方案中,把各个子系统的数据库设计为如图 1所示。
图1 数据库互联
由于一卡通的实现,实际上是对原有校园各个子系统的二次开发、改造与结合,那么整个一卡通系统的实现就需要需要借助于 XML技术。 XML(Extensible Markup Language,可扩展标记语言)是一种界定文本数据简便而标准的方法,得到工业界广泛支持,具有自描述和数据结构化表示的特点。 1998年 2月,XML1.0成为 W3C的推荐标准,它的数据描述机制使它成为 Internet/Intranet上共享数据信息的一种有效方式,能够在不同的用户和程序之间交换数据而不论其平台如何;文档类型定义 (Document Type Definition DTD)则使 XML文档不仅遵循 XML的语法规则,而且受所创建的词汇表规则约束,成为有效的 XML文档。
本文主要是应用 XML作为数据库从分布到中央的交互载体。在相互转换时需要应用某种的规则从而保证正向变换以及反向变换都是可行的。不仅如此,这种规则还要使得关系数据库里固有的约束关系得以保存。首先当把关系模式转化为 XML的表达时,应该根据提取出的关系模式来生成关系模式,这个过程是通过数据树来实现的;然后需要利用这个关系数据树逆向生成表跟表之间所具有的嵌套关系,从而得到结构树。把映射结构树以及关系树结合起来,就得到了 XML模式的 XML Schema文件。当把 XML模式转换为关系模式的时候,这里需要调用解析工具来分析 Schema,然后用形式化的语句给出它里面所蕴含的相关结构和信息。再一步,就是根据形式化的结果生成元素树。而这就获得了 XML Schema描述的结构。
2.2关系模式映射为 XML模式
对于关系模式变换为 XML来说,需要应用有关的程序接口来读取数据库相关数据,同时得到所蕴含的模式关系。进一步应用集合,来对关系模式进行表达。
当映射结构把关系转过以后,就会得到表表之间,以及列列的相互关系。这个转化包含了两步,其一是关系模式的表、列到 XML下元素、属性的映射。这一步的关键是,数的生成以及 XML-Schema文档的建立。具体的过程是这样的,通过建立结构树,然后采用深度遍历的方式,把嵌入的上层元素反映到文档中,然后将下层元素也反映过去。
2.3 XML模式到关系模式的映射
映射转化需要很多步才能完成。首先是依托 XML,然后把树作为辅助性的工具,把素有向树中某些节点化为表,某些化为列,而根元素这里就取名为原来的是数据库,里面的属性把数据库的关系进行了表达;紧接着是对应关系模式 R中 P的映射,这里主要是把 XML Schema中的普通元素定义和属性转化为列的关系;再次是主关键字的约束转化。在此基础上,生成 SQL语言:1)合成创建表语句,涉及关系模式各列的数据类型、默认值、是否可以为空等条件。 2)根据关系模式 R(PK)合成主键语句,保证关系模式的实体完整性。 3)根据关系模式 R(FK)合成外键语句,保证关系模式的参照完整完性。 4)根据关系模式 R(UI)合成唯一键,根据 P中的分量合成检查语句,保证关系模式的用户定义完整性。
当这些步骤都完成以后,就需要解析 XML数据文档了。这里需要依照 Schema的转化结果,把数据合成 SQL语言,从而生成数据库。
3并发时的一致性保证
在整个校园一卡通分布式数据库及数据分布方案中,把各个子系统的数据库设计为各用户使用,即允许多个用户同时访问数据库。在这种情况下,经常会出现这样的问题:那就是许多用户一起并发对对数据库进行查询、修改的操作时,会产生一定的冲突。如果没有某种保障措施,很有可能出现错误的结果。比如,如果同时有两个人都在访问相同的表格、行和列,那么就很有可能导致数据的访问冲突。这种保障措施主要是为了协调这种对数据访问的一致性,需要在 SQLServer中应用锁机制,同时限制、保证最大量的并发用户。这里特别需要对锁机制进行说明,它主要作用就是像一把锁一样,当某个动作正在修改数据库时,要防止其它用户访问到不一致的数据。这里当某个事务向系统发出要求的动作时,就会对被操作的数据加锁(LOCK),其它事务必须等到此事务解锁之后才能访问该数据,从而,在多个用户并发访问数据库时确保不互相干扰。
参考文献:
[1]裴沛 一卡通在数字化校园整合中的关键技术研究[J].2008(7):20-21.
[2]佩英 分布式数据库系统及其应用[M].北京:科学出版社 ,2008.
[3]郭品 SQLServer2000系统管理 [M].北京:电子工业出版社,2008.
【稿件声明】:如需转载,必须注明来源和作者,保留文中图片和内容的完整性,违者将依法追究。