维普资讯 http://www.cqvip.com 网络技术 计算机与网络创新生活 分布式数据库在高校信息化建设中的应用 刘雅辉李也白 (北方工业大学信息工程学院 北京100041) 【摘● 要】文章根据校园信息化的现状和分布式数据库的关键技术,提出了分布式数据库在校园网中的应用策略以及实 现方案,以此来解决学校各部门问的数据共享问题,并通过分布式事务的并发控制机制,保证数据的一致性。 【关键词】信息化 分布式数据库 数据分布 数据复制 并发控制 分布式数据库系统适合于单位分散的部门,允许各个部 1引言 随着计算机、通信和网络技术的发展,实现高校的信息 化,已经成为信息经济条件下高等院校发展的大趋势,也是我 国高校向世界一流大学迈进的必由之路。目前。所有高校都接 入了Intemet,绝大部分高校建成了自己的校园网,也就是为 信息化建设修建了一条信息高速公路。如何以这条公路为基 础。采用先进的信息技术来加强管理能力、提高教学质量、促 进科研水平、改善生活环境。是高等院校都在考虑的问题。高 门将其常用的数据存储在本地,实施就地存放本地使用,从而 提高响应速度,降低通信费用。分布式数据库系统中数据根据 实际应用的需要分布于网络的各个节点上。因此存在数据的 划分问题,即数据的逻辑分割(分片)和片段的物理分配问题, 图1给出了它的体系结构示意图翻。在分布式数据库系统中需 要冗余的数据。即增加数据副本以提高数据处理的本地性和 效率,同时还可以增加系统的可靠性和可用性,提高系统性 能。但是,数据冗余又会带来数据一致性问题,会增加数据同 步更新代价,所以在分布式数据库系统的数据分配设计中考 虑的应该是在无冗余和全复制之间找到一个折中。 校信息化体系已经初现规模。主要包括办公系统、人事、财务、 教务、科研管理系统、校园地理信息系统、数字图书馆等。但从 整体来看。我国高校信息化建设目前还存在很多问题。比如, 在高校信息化建设过程中,硬件投资大,软件投资小,网络利 用率低;各部门都建立了自己的管理信息系统,各系统之间缺 乏统一接口和标准,在全校范围内数据尚未形成共享,出现了 某种意义上的“信息孤岛”以及缺少有力的组织机构,信息化 建设方向不明确等一系列问题【l】。由于存在这些问题,各个管 理系统之间不能实现资源共享和信息互访,这不仅给需要互 通信息的部门带来了很大的麻烦,而且远不能满足数字化校 园的要求。解决数据一致和共享问题被提上了校园信息化的 日程。本文将从分布式数据库的角度分析分布式数据库在校 园信息化建设中的应用策略和实现方案。 2分布式数据库系统简介 分布式数据库系统是在集中式数据库系统的基础上发 展起来的,是计算机技术和网络技术结合的产物。目前,随着 计算机体系结构和数据库技术的发展,分布式数据库系统已 经成为信息处理学科的重要领域,分布式数据库系统技术已 经有了长足发展。 \ 墨煎旦塑:2Q = = § 图1分布式数据库系统体系结构 3分布式数据库在校园网中的应用策略 由于Windows 2000 Server的易操作性,高校各部门服务 <纤算机与厨络>aooa年第08、04期 维普资讯 http://www.cqvip.com 网络技术 计算机与网络创新生活 器的操作系统基本上都是Windows 2000 Server,运行在此系 生关系student,按垂直分片,可以包括学生学籍关系stu— 统上的数据库是微软的SQL Server 2000。下面讨论分布式数 dent status,学生选课关系student_courses,学生的财务关系 据库在高校管理信息系统中的具体规划方案。 student_tuiiton,学生的图书关系student_books等;按水平分片 3.1通过校园网实现各部门数据库服务器的互联 包括学生的院系关系student_department,学生的年级关系 各部门的数据库服务器,分布在校园的不同的物理位置 student_.grade等。如图4所示,数据划分时应该注意完整性检 上。要实现资源共享和信息互访,尽量避免信息孤岛的问题,首 查.重构性检查以及不相交性检查。 先,通过校园网,实现各部门 数据库服务器间的互联。在 (R 5) 此基础上可以开发其它应用 系统,比如通过调用教务、财 务、人事等部门的数据库信 息实现统一门户系统,方便 老师和学生把握自己的所有 Studentstatus(R1)Studentcou rses(R2)Student_tuition(R3)Student_books( ): _在校信息。各部门数据库的 图4数据划分图 链接如图2所示。 3.2.2数据分配方案 为了提高分布式数据库的可靠性,需要将划分后的逻辑 片段放在一个以上的场地上。这样,当一个场地出现故障时, 这个场地的数据由于在其它场地上有副本,整个系统非故障 场地仍可以正常工作;此外,为了减少通讯代价,改进数据的 人 统 器 可用性,减少响应时间,需要将某一场地上的常用数据直接放 置在本场地上,使其就近使用。分布式数据库中数据分配有四 种类型,包括集中型、分割型、全复制型以及混合型。 库 高校数据信息站点流量有时段性特点。信息互访主要集 中在各学期的几个时间段:大量的信息查询一般限于各自的 教务管理数据库 服务器 场地上。针对高校这种信息流量特点及数据的实际应用情况, 选择混合型分配方法,即将全局数据按不同的部门分成若干 图2高校管理信息系统的数据库分布图 子集,放在各自的数据库服务器上;将用于对外共享的各个子 3.2数据分布方案 集的副本,放在中心站点数据库服务器上,不同部门之间访问 由图1可以看出,分布式数据库有相应的三种数据库: 的是放在中心站点数据库服务器上的副本,这样减少了各部 全局(虚拟)数据库(GDB)、逻辑数据库(LgDB)和物理数据库 门之间数据访问的复杂性。 (PDB)。三种数据库之间的关系如图3。从三种数据库间的关 系可以看出,数据分布包括分布式数据库的逻辑划分和物理 分配,可分成两个步骤:先从逻辑上将全局概念模式划分成若 4分布式数据库在校园信息化中的实 干逻辑片段(子关系);再按一定的冗余度将片段分配到各个节 现方案 点上,这时逻辑片段就成为具体的物理片段。 清晰了解中心站点服务器和各部门服务器的网络结构以 及数据分布的方案,接下来的工作就是具体实施,主要包括中 图3三种数据库之间的关系 心站点服务器如何得到各部门数据库的副本;各部门服务器 3.2.1数据逻辑划分 如何链接到中心站点服务器,如何共享中心站点上的数据以 划分是对分布式数据库的一种分片操作,分片时主要根 及如何查询所需求的其他部门信息等。 据应用的需要,包括水平分片、垂直分片、混合分片和诱导分 4.1各部门数据库到中心站点数据库的副本 片。下面将以学生数据为例来说明整个过程。对于全局关系学 在初建数据库副本时,可以使用SQL Server的数据转 2008年第03、04期《计算机与网络》 维普资讯 http://www.cqvip.com 网络技术 130 计算机与网络创新生活 换服务fDTS),但是要长期使部门数据库中的数据与中心站 点的数据库中的数据保持数据一致性。应考虑更适合的方 案。SQL Server 2000提供了两种技术,一种是分布式事务处 理,它可以保证应用的完整性并降低了应用的复杂性,但是 如果系统的网络存取速度很慢,相应响应时间也会很慢;另 一种是复制技术,有三种复制类型,包括快照复制、事务复制 和合并复制翻。SQL Server 2000数据复制是基于“发行一分 布一订阅”的结构,由发布服务器、分发服务器和订阅服务器 构成。通过采用“发行一分布一订阅”结构,每个服务器角色 的功能更加明确。同时应该注意的是,三种服务器角色指的 是在分布式数据实现中所起到的作用,并不是指具体的计算 机。同一台计算机可能扮演多种角色,即一台主机在分布式 数据库中有可能既是发行服务器,也是订阅服务器,或者三 种都是。因为,部门间信息互访主要集中在各学期的几个时 间段,所以部门服务器既可以承担发布服务器又可以承担分 发服务器的角色,订阅服务器角色由中心站点服务器承担, 根据服务器的负载情况,可以进行相应的调整。不同的复 制类型适用于不同的分布式数据库实现要求,可以根据延 迟、站点自治、事务一致性、数据更新冲突、复制发生的频 —图5新建链接服务器 4.2.2使用SQL语句实现链接 ——建立服务器链接 exec sp_addlinkedserver’中心站点数据库服务器的别 名’,”,’MSDASQL’,NULL,NULL,’DRIVER={sQL Server}; SERVER=中心站点数据库服务器的IP地址;UID=登录的用 户名;PWD=登录的用户的密码;’ go —率需求和网络特性的各方面的实际情况来决定使用那一 种或那几种复制策略。具体操作请参考SQL Server相关部 分的书籍。 对于实际的校园信息化问题,必须权衡这两种技术的利 弊最终选择最佳的解决方案,有些问题选用分布式事务处理 比较适合。也有一些问题采用复制是比较好的解决方案,还有 —一建立链接服务器登录映射 _EXEC spaddlinkedsrvlogin@盯n勰Ⅳmme=’中 tL,站点数据 ’false',@1ocaUogin=’本地登录用 库服务器的别名’,@uSeS 户名’,@m岫er=’远程登录用户名’,@totr-password=’远程登 录用户密码’ g0 —些问题必须综合这两种技术。 删除链接服务器登录映射和链接服务器 4.2各部门数据库服务器与中心站点数据库服务器 的链接 由于各部门业务逻辑的多样性,经常在SQL Server中查 exec sp_droplinkedsrvlogin’中心站点数据库服务器的别 名’。’远程登录用户名’ exec sp_dropserver’中心站点数据库服务器的别名’ 中心站点数据库服务器链接成功后,就可以访问数据库 中的数据了,访问表时。使用格式为:【连接数据库服务器别 询不同数据库中数据,这就产生了分布式查询的需求,数据库 服务器间的链接也就成为了必要。它实现了各部门间的数据 共享,有利于避免“信息孤岛”的形成。数据库服务器间的链接 有以下两种方法。 名】.【访问的数据库】.[访问表的用户】.【表名】。具体操作请参见 SQL Server联机丛书。 4-2.1使胃}SQL Server的企业管理器实现链接 企业管理器一安全性一连接服务器一右键新建连接服 务器,如图5所示。“提供程序字符串”处,填写链接数据库服 务器的IP地址和登录的用户名密码,具体格式:SERVER=链 接数据库服务器的IP地址;UID=链接数据库的用户名; PWD=链接数据库的用户密码。在“安全性”标签页里,选择 5分布式事务的并发控制 对数据库中的数据可能有读写操作,在操作过程中,要保 证数据的一致性,还要考虑分布式事务的并发性。在通常情况 下数据库中总是有若干个事务在运行,这些事务可能并发地 “用此安全上下文进行”,并输入链接数据库用户名和密码。在 “服务器选项”标签页可按默认设置,最后点击“确定”。至此完 成了服务器链接。 存取相同的数据,系统必须通过并发控制机制来对并发事务 之间的相互作用加以控制。避免造成数据的不一致性。分布式 并发控制主要是解决多个分布式事务对数据并发执行的正确 (下转第133页) <计算机与厨络》2OO8年第03、O/,4斯 维普资讯 http://www.cqvip.com
网络技术 计算机与瓣络创薪生活 rs.close else 成的,也就是说每个选手的试题都是不一样的,还有就是采用 了一些Js代码,禁止了选手用右键复制试题和刷新试卷。每 rs(”reject”) 0 rs(”rejecttime”) dateO&””&time0 rs.update 个选手必须点击“退出系统”才能退出系统,非法退出将被系 统锁定.要经过管理员解锁后才能再次登陆。 response.write rs(”name”)&”禁止已经被解除,解禁 时间:”&dateO&””&time0&”<br>” endif next%> 3结束语 该系统经过各项测试,已经应用于某高校的校园网中,并 且经过了几次知识竞赛考试的试用,运行效果良好。网络竞赛 考试系统的出现改变了以往竞赛组织方式的模式,达到了通 过网络简便地组织竞赛的效果,有很好的应用前景。 2.3性能分析 这个考试系统和其他的系统相比特点就是: (1)系统无需安装客户端。服务器端采用Access数据库 系统和ASP组件来构成考试的应用服务系统;客户端采用浏 览器来完成考试全过程,同时管理员可利用浏览器进行远程 参考文献 系统维护和管理。竞赛者只需要与平时浏览网页一样,就可进 行竞赛。 (2)试题的合理选择。每道题目在录入题库的时候就设 【1】《电脑编程技巧与维护》杂志.ASP编程精选集锦【M】 北京:科学出版社,2003. 【2】卢镇波,李青,段明辉.ASP编程实例入门与提高[MI. 北京:电子工业出版社.2005. 定了难易度,竞赛主办者可以根据自己的要求来设定题目的 难易程度,从而更好地达到竞赛的效果。 (3)运用了大量的防作弊手段。每一套试卷都是随机生 【3]戴一波.Dreamweaver 8+ASP动态网站开发——从 基础到实践【M】.北京:电子工业出版社,2006. (上接第130页) 性;另外,在部门数据库中,当需要对数据执行更新操作时,也 必须同时正确地更新它在中心站点数据库中的副本。 在SQL Server 2000中,并发控制机制常用的方法是锁 方法,通过锁的共享及排斥特性,实现事务的可串行化调度。 在使用锁方法时应该注意对锁的 类型加以区分,分为读锁和写锁。 地理上分散的各部门对数据的共享更加方便、快捷;同时,采 用分布式数据库结构也具有系统扩充性,可以在校园网中增 加更多管理信息系统,根据中心站点的负载,也可以增加中心 站点数据库服务器的数目。虽然分布式数据库具有高度的可 扩展性和可伸缩性,也可以通过资源共享提高系统的性价比, 但是为了满足分布式数据库中数据的一致性、完整性、并发性 和安全性,在实际高校信息化建设中也会遇到许多困难,需要 我们在实际工作中具体分析,采取相应措施予以解决。 写锁与读锁之间的相容矩阵如图 6。当事务间出现冲突操作时,通过 加锁的原则及锁的相容机制实现 图6锁的相容矩阵图 冲突操作的可串行化调度。当可共 参考文献 享时,事务并行执行;当排它时,事务串行执行问。 【1】胡伏湘.高校信息化建设与数字化校园的研究Ⅱ].计算机教 6结束语 高校各部门以校园网作为信息高速公路,建立起了相应 育,2005,10(20):54—56. 【2]郑振楣,于戈,郭敏.分布式数据库[M].北京:科学出版社, 1999. 的管理信息系统,如何高效地利用校园网络资源.实现各部门 间的数据共享,以及真正意义上的数字化校园是目前各大高 校考虑的热点问题。本文以SQL Server数据库为例分析了分 布式数据库在高校信息化的应用策略和实现方案.以便使在 【3]刘玉生,王占全.SQL Server 2000开发、管理和应用【M】. 北京:电子工业出版社.2006. 【4]赵淑芬.分布式数据库事务处理叨.机械管理开发,2006,6 (3):101—102. 2008年第03、04期《计算机与J回络》