分布式数据库在办公自动化系统中的应用

摘要:随着计算机网络技术的发展,分布式数据库技术得到越来越广泛的应用。本文探讨了在设计基于B/S结构的办公自动化系统中如何应用分布式数据库技术,以及在应用过程中的数据库设计的原则、结构、机制等。

关键词:分布式数据库;办公自动化;应用

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2008)12-20000-00

The Application of Distributed Database in Office Automation System

YANG Zhi

(Zhejiang Water Conservancy and Hydropower College,Hangzhou 310018,China)

Abstract: Application of distributed database in office automation system With the development of computer network technology, application of distributed database has been wider and wider. This paper discuss the problem that how to use the distributed database technology in the office automation system which is based on the Browse/Server frame, and the principia, structure, mechanism in the process of designing distributed database.

Key words:DDBS; OA; application

1 概述

分布式数据库是一个面向地理上分散而在管理上需要集中的提供数据信息的处理系统,是分布式技术与数据库技术的结合,在数据库研究领域中已有多年的历史,主要解决计算机在网络上如何进行数据的分布和处理。从概念上讲,分布式数据库是物理上分散在计算机网络各结点上,而逻辑上属于同一个系统的数据集合,它具有数据的分布性和数据库间的协调性两大特点。系统强调结点的自治性而不强调系统的集中控制,且系统应保持数据的分布透明性,使应用程序编写时可完全不考虑数据的分布情况。由于它有物力分布性、逻辑整体性及站点自治性等特点,因此十分适合在系统化的行业或项目中应用[1]。

而随着信息化时代的到来,计算机网络、通信技术和多媒体技术迅速发展和广泛应用,使实现计算机办公、网络办公成为现代管理工作的主要方式,网络化的程度越来越高。对于庞大的校园网络来说,实现网络化就必须解决数据共享的问题,而分布式数据库技术正好可以解决这样的问题,大型组织结构跨地区形式上的联系,使面向整个组织结构的信息分而治之的集中管理,比单一的集中管理更有利,不仅能克服集中式数据库的不足,也完全适应分布组织结构的自身特点。所以说分布式数据库技术在校园网的建设中的应用前景是十分宽广的。

2 校园网建设中分布式数据库的设计

2.1 系统结构的选择

系统结构的设计是整个系统开发过程中的关键点。对于应用系统来说,特别是一些较为复杂的系统,没有一个合适的系统结构而要有一个成功的系统几乎是不可想象的。不同类型的系统需要不同的结构体系,系统的设计往往很大程度取决于系统结构的选择。按照系统终端情况的不同,可将校园网的开发结构分为B/S(浏览器/服务器)和C/S(客户端/服务器)两种结构模式,它们各具特色,是当前系统开发的主流。

B/S结构的系统以服务器为核心,程序处理和数据存储基本上都在服务器端完成,用户无须安装专门的客户端软件,只要通过网络中的计算机连接服务器,使用浏览器就可以进行事务处理。C/S结构的系统以服务器作为数据处理和存储平台,在终端必须装有特定的程序来进行事务处理,然后再将数据传递到服务器端,用户必须使用客户端应用程序才能对数据进行操作。

与C/S结构相比,B/S结构的系统明显具有以下优点:

1)客户端无需装有特定程序只需使用现行的浏览器,其操作十分方便,简单易学,界面统一,降低了用户使用难度,易于接受,这样既节省了开发时间,也减少了系统出错的可能性,基本实现了客户端零维护,降低了工作量。

2)技术上相对成熟,投入费用少,系统维护简便,简单易用。应用B/S结构,校园网只需在服务器端集中实现和配置的维护、管理,大大降低了客户端用于系统维护和升级的难度与工作量,使整个系统更加容易实施。

3)系统运行稳定、安全、可靠,并可进行扩展;移植容易,并可以进行严密的安全管理[2]。

因此,本校园网系统的开发将采用B/S的结构。

2.2 分布式数据库的设计

2.2.1 设计原则

综合考虑到校园网系统基础数据量大,访问频繁,设计时应遵循效率至上的基本原则,同时从全局的角度出发,数据从总部至每个分站点构成分布式数据库系统,保证全局数据的完整性和一致性。各分站点存放本地的数据,总部的数据库则存放整个网络系统的管理数据,并对数据进行完整性和一致性的检查,这种做法虽然有一定的数据冗余,但有利于系统的集中管理。分站点每次本地业务不必向总部发送数据请求,也提高了局部应用的效率,减少了通讯代价。另外该分布式数据库系统可以在任何时间和地点增加新的分站点,并且对其他分站点无影响。

2.2.2 系统结构

该校园网是由一个核心服务器和许多局部服务器构成。核心数据库存放所有的管理数据,管理整个系统正常运行,局部数据库存放本地的管理数据,局部的本地服务器处理局部用户的请求。采用这种有冗余的相对集中分布式结构可以对系统中的主要数据进行集中式管理,某些数据的冗余则可保证各分站点在低带宽条件下对常用信息的高速存取[3]。核心和局部服务器都包含各自的WEB服务器、服务器应用程序和数据库。

每个局部服务器有一个文件服务器来存放本地的系统数据。核心和局部服务器是用因特网来连接的。用户在分站点上登录时先到本地数据库检索该用户,若未检索到则到核心数据库检索。当WEB服务器收到用户的请求后,服务器应用程序和WEB服务器将请求转换为数据库访问命令,并发送到数据库服务器,数据库服务器执行命令并返回结果。

2.2.3 分布式数据库的数据存取机制

1)首先确定数据的物理位置

分布式数据库环境中,对每个数据表都要确定其最佳的存放位置,从而使数据库的分布更加合理。

2)其次再确定数据库及其对象

对每个独立场点都要建立一个数据库,同一场点也可以建立多个数据库,每个数据库中还要根据实际需求建立有关的数据库对象。

3)最后确定数据存取机制

在分布式数据库设计时就需要确定如何访问和存取其它数据库中的数据,如何实现不同数据库中数据表的链接等规则。

本校园网采用了分布式数据库结构。由于数据的分布存放,将对数据的处理、管理与维护带来困难,当用户需要经常访问远程数据时,系统效率会明显地受到网络通信的制约。因此,采用何种数据存储机制将是分布式数据库设计以及影响其运行速度和效率的关键要素[4]。在分布式数据库系统中,可以通过复制、分片和复制加分片3种方式存储数据,因为各地域现有数据库之间存在一定的数据冗余,又存在着差异,所以本系统采用了复制加分片的方式进行数据存储,这将涉及到数据分片和同步两个存储要素:

1)数据分片

在分布式数据库系统中,将关系分片,这有利于按用户需求组织数据的分布。目前的分片方式有水平分片、垂直分片、导出分片、混合分片等4种,可以根据不同的数据关系采用不同的分片方式: ① 在核心数据库与各分布点数据库的数据关系中,由于分布点的数据是核心数据库数据的子集,本系统采用了水平分片的方式,通过并运算实现关系的重构;② 在总数据库的数据关系中,数据是按照其事务功能或事务流程来划分的,所以这里采用了垂直分片的方式。

2)数据同步

数据同步则是根据数据库系统需求使用事务复制和合并复制两种,根据事务流程的垂直分片,各个分布点(功能模块) 只存放本点的数据,数据管理和分析功能是由总部的核心数据库服务器来实现的,各个分布点只需将更新的数据发送到核心数据库即可, 所以,本系统采用事务复制进行业务数据的同步,并在分发数据库中记录同步状态的信息。

2.2.4 分布式数据库系统的事务并发处理

该校园网系统的数据库系统如所有分布式数据库系统一样,将事务的管理划分为两个层次,在各分站点由局部事务管理器对局部事务进行管理,对整个数据库系统,由分布式事务管理器来协作完成对分布式事务管理。由于系统对数据更新操作大多数是异步进行的,所以对于这些异步操作的数据来说,对每一分站点内更新事务的并发控制,就成为完成对核心数据库更新的基础[5]。在每一个分站点内,对数据的更新事务又被分为许多子事务,要正确处理子事务的并发控制,避免事务读无效数据和瀑布式回退,采用严格的两阶段加锁协议,即所有事务只有到达交付点之后才能将数据写入数据库,所有事务只有在完成数据写入以后才能对操作对象解锁。当发生故障时,事务的恢复是保证事务原状的重要措施,依靠日志是事务恢复的重要手段,对数据库系统日志和数据定时备份,利用备份来恢复数据库。其中,备份的最大问题是备份打开的文件,由于频繁的更新和用户需要时的可访问性,数据库系统运行时使其文件保持打开。如果数据备份时包括了数据已更新和未更新,但又存在内在依赖关系的两部分数据,那么数据库文件的备份就失去了完整性,最好的办法是在操作相对较少的时段关闭数据库进行备份,备份完毕再启动数据库。

3 结语

通过使用B/S架构,再引进分布式数据库技术,可以有效解决校园网中的很多应用需求,有效地缓解了数据分散和集中管理的矛盾,实现了数据的共享和交换。当然,在实际开发过程中,还应注意根据需要考虑采用锁定机制、存储过程、分布事务来保证数据的有效性和一致性。

参考文献:

[1] 阮宏一.分布式数据库系统工作原理分析.江汉大学学报(自然科学版),2006.

[2] 王政,徐玲.电子政务理论与实务[M].北京:清华大学出版社,2004.

[3] 邵佩英.分布式数据库系统及其应用[M].北京:科学出版社,2000.

[4] 王子牛.ORACLE分布式数据库及其应用程序的简历[J].计算机与信息技术,2004, (9).

[5] 王春森.数据库理论与新技术[M].北京:北京理工大学出版社,2001.

收稿日期:2008-02-27