1分布式数据库在高校办公自动化管理系统中的应用摘要:随着高校办公的网络化和数字化,分布式数据库系统在高校办公自动化管理系统中逐渐得到了广泛的应用。本论文在设计了高校办公自动化管理系统的体系和结构的基础上,重点讨论了分布式数据库系统在办公自动化管理系统中的应用,分析讨论了分布式数据库在构建办公自动化管理系统中的若干关键技术问题,对于进一步推动高校办公自动化建设具有一定的借鉴意义。关键词:分布式数据库;办公自动化;高校管理1引言办公自动化系统是一种高效的人机交互系统,本身遵循某种合理的规范及标准,可以方便地实现文书工作标准化、信息处理标准化、工作流程标准化。从技术发展角度来看,特别是互连网技术的发展,安全技术的发展和软件理论的发展,实现办公自动化是可能的。因此设计一套全自动的适用于高校办公自动化系统对高校办教学办科研工作的正常运行有着极大的帮助,可以有效的提高高校办公的信息管理水平,应用前景十分广泛。随着计算机技术、网络通信技术和数据处理技术的发展,办公自动化、网络化、无纸化逐渐成为现代办公的新趋势,而高校借助于校园网也正在大力推行办公自动化,以提高管理的绩效。但是,高校校园网又有其自身的特点,分布式管理系统,数据流向是多方向实时操作的,需要实时更新的,这就决定了高校办公自动化在数据处理时要能够解决数据的异构实时更新问题,而分布式数据库正好可以解决这样的问题,对分布的数据集进行分散式管理,同时又加强了网络组织结构跨地区形式上的联系,使面向整个组织结构的信息2分而治之的集中管理,比单一的集中管理更有利,故分布式数据库技术事可以应用在高校办公自动化领域的。2高校OA管理系统的构建2.1系统结构的选择按照系统终端情况的不同,可将高校办公自动化计算机系统的开发模式总的分为B/S(浏览器/服务器)和C/S(客户端/服务器)两种结构模式,它们各具特色,是当前系统开发的主流。B/S结构的系统以服务器为核心,程序处理和数据存储基本上都在服务器端完成,用户无须安装专门的客户端软件,只要通过网络中的计算机连接服务器,使用浏览器就可以进行事务处理。C/S结构的系统以服务器作为数据处理和存储平台,在终端须装有特定的程序来进行事务处理,然后再将数据传递到服务器端,用户使用客户端应用程序对数据进行操作。结合上述分析,本研究课题采用C/S/S模式结构。C/S/S模式,也叫客户/应用服务器/数据库服务器结构Client/ApplicationServer/DatabaseServer(C/S/S)模式,是从C/S模式发展而来的。这种模式中的三层架构“分工”明确,客户端负责程序的应用和数据的读取、分析等前台操作,应用服务器存放并运行信息系统的业务逻辑,数据库服务器存放并管理信息系统的数据。由于在客户端和数据库服务器之间使用了应用服务器来处理业务逻辑,大大减轻了数据库服务器的压力,极大地提高了系统的并发处理能力;另外,由于用户的请求是发向应用服务器而不是数据库服务器,使得数据的安全性大大提高,故这种结构非常适合实时响应性、安全性、数据吞吐率等性要求较高的系统,同时它也继承了C/S结构的3优点,目前这种方式是最可靠、最能完美体现现有办公自动化要求的方式。2.2高校OA管理系统体系的设计高校办公自动化计算机系统采用三层C/S/S体系结构,使得用户只需要通过客户端即可轻松完成和实现丰富的信息管理等多种功能,安装方便、简单易用,大大缩短了信息系统建立周期,节省管理费用;集中管理、统一维护、分类有序存放信息数据,使得系统维护、升级、扩充更方便,并且可针对不同部分、不同部门的使用人群的信息动态变化迅速做出相应的系统调整和变化,极大的适应了用户在不同环境和条件下的需求。图1基于C/S/S三层架构的高校办公自动化计算机系统体系结构示意图就整个校园网的构建范围来说,该OA管理系统是由一个核心服务器和许多局部服务器构成。核心数据库存放所有的管理数据,管理整个系统正常运行,局部数据库存放本地的管理数据,本地服务器处理本地用户的请求。采用这种有冗余的相对集中分布式结构可以对系统中的主要数据进行集中式管理,某些数据的冗余则可保证各分站点在低带宽条件下对常用信息的高速存取。核心和局部服务器都包含各自的WEB服务器、服务器应用程序4和数据库,以实现对高校所有共享信息及不同安全级别信息的分布式管理管理,同时只要对数据访问权限进行设置,即可实现分布式数据访问的安全性。每个局部服务器有一个文件服务器来存放本地的系统数据,核心和局部服务器是用因特网来连接的。用户在分站点上登录时先到本地数据库检索该用户,若未检索到则到核心数据库检索。当WEB服务器收到用户的请求后,服务器应用程序和WEB服务器将请求转换为数据库访问命令,并发送到数据库服务器,数据库服务器执行命令并返回结果。3高校办公自动化应用系统构建3.1应用程序服务器的应用构建应用程序服务器的主要职责是存放并运行信息系统的业务逻辑,因此这里对应用程序的开发,主要任务不是实现具体的存储应用程序的开发,而是为了实现系统业务处理、数据连结以及事务管理工作。在实际开发中主要采用符合EJB2.0标准的技术规范定义的组件与容器来开发应用程序应用服务。EJB组件是业务逻辑实现的工具,通过对组件的设计与定义可以完成系统的特定功能需求。在本系统中,EJB2.0规范中所定义的三种组件都有所应用,分别完成数据逻辑、操作控制和异步消息处理功能。三种EJB组件都工作在EJB容器中,系统的客户端通过访问会话Bean与EJB层建立联系,会话Bean将客户的需求转发给实体Bean,从实体Bean获取需要的数据信息。(1)实体Bean部分每一个实体Bean对应信息层的一个数据表,也就是对应系统应用中的一个实体,在本系统中,有使用、教学信息、科研信息、会议信息、校务公告等实体,每一个实体都有5特定的业务功能,这些功能通过实体Bean上的业务操作函数实现。(2)会话Bean部分系统中还大量采用了会话Bean完成操作控制的工作,会话Bean同样也由Bean类和接口文件组成,与实体Bean不同的是,会话Bean的类中封装的是业务操作,而不是具体的数据;接口文件的类型与作用则与实体Bean相同。(3)消息驱动Bean部分除了实体Bean与会话Bean之外,消息驱动Bean在系统中也有应用。在本系统中消息驱动Bean主要实现网络答疑功能,结合应用情况分析,系统中的消息驱动Bean与JMS队列采用发布订阅模式设计与应用,该模式的消息生产者和消费者不固定,无论是哪个消息生产者产生的消息,只要是此类消息的消费者,就可以对消息进行处理,这样只要能够对问题做出解答就可以处理消息,大大提高问题的解决率。3.2分布式数据库系统的应用构建3.2.1分布式数据库的数据存取机制1)首先确定数据的物理位置分布式数据库环境中,对每个数据表都要确定其最佳的存放位置,从而使数据库的分布更加合理。2)其次再确定数据库及其对象对每个独立场点都要建立一个数据库,同一场点也可以建立多个数据库,每个数据库中还要根据实际需求建立有关的数据库对象。3)最后确定数据存取机制在分布式数据库设计时就需要确定如何访问和存取其它数据库中的数据,如何实现不6同数据库中数据表的链接等规则。由于数据库系统采用分布式数据库,数据实行分布存放,将对数据的处理、管理与维护带来困难,当用户需要经常访问远程数据时,系统效率会明显地受到网络通信的制约。因此,采用何种数据存储机制将是分布式数据库设计以及影响其运行速度和效率的关键要素。在分布式数据库系统中,可以通过复制、分片和复制加分片3种方式存储数据,因为各地域现有数据库之间存在一定的数据冗余,又存在着差异,所以本系统采用了复制加分片的方式进行数据存储,这将涉及到数据分片和同步两个存储要素:1)数据分片在分布式数据库系统中,将关系分片,这有利于按用户需求组织数据的分布。目前的分片方式有水平分片、垂直分片、导出分片、混合分片等4种,可以根据不同的数据关系采用不同的分片方式:①在核心数据库与各分布点数据库的数据关系中,由于分布点的数据是核心数据库数据的子集,本系统采用了水平分片的方式,通过并运算实现关系的重构;②在总数据库的数据关系中,数据是按照其事务功能或事务流程来划分的,所以这里采用了垂直分片的方式。2)数据同步数据同步则是根据数据库系统需求使用事务复制和合并复制两种,根据事务流程的垂直分片,各个分布点(功能模块)只存放本点的数据,数据管理和分析功能是由总部的核心数据库服务器来实现的,各个分布点只需将更新的数据发送到核心数据库即可。对于分布式数据库的数据同步技术,将在下文进行讨论。3.2.2分布式数据库数据同步技术研究在分布式数据库系统中主要存在着两个问题:其一,各分系统之间的通信问题。当各分系统相对独立时,他们之间的通信既要有网络保障同时又不能影响各分系统的正常运行;7其二,数据格式问题,各分系统的数据格式可能会存在差异,尤其是在各分系统已经存在并正常运转的情况下所构建起来的分布式系统中,这个问题更加突出,分系统可能是在不同的时间由不同的人设计的,因此数据库的设计可能大相径庭,在这种情况下,数据交换应采取怎样的格式便成为了一个问题。很显然,要成功地构建一个分布式系统,必须要解决好这两个问题。现有的数据同步技术,在实际应用中均存在着一定的问题,如压缩编码率较低,在窄带环境下同步传输可靠性低,为此,需要设计新的数据同步方案。本研究课题将消息队列和XML技术结合起来,为数据同步提供一个新的解决方案。本论文所设计的数据同步的思想是:应用程序在监控到本地数据库上的数据更新事务后,将更新事务封装成MSS消息发送。对于本地而言,消息在交付给MRB之后首先进入本地消息发送队列等待发送,若无异常,消息将送到目的客户标题所指示的远端站点的消息接收队列中。同时,一个后台服务程序一直监视着接收队列,一旦有消息到达,它将读取消息,并根据消息内容对本地数据库执行所描述的更新事务,如果更新成功,则处理结束,并返回“更新成功”,否则返回“更新失败”。此时发送端的一个后台服务程序一直监视应答队列,根据收到的消息类型进行相应的操作,若成功,则将该消息记录从数据库中删除,若失败,则周期性地重发该消息。依据分解原则和实际条件,按照XML标准建立了符合需要的两个重要的配置文件,下面给出一次同步过程(全面数据更新策略)完整的流程图。任何时候出现错误,都必须取消当前业务,回卷所有的业务操作做的更新并将错误写入错误业务列表。4结语依照C/S/S三层架构,本文给出了高校办公自动化计算机系统的各个架构层次的详细8设计方案,从客户端,到应用程序,再到后台数据库系统,从不同层面都实现了高校办公自动化信息的统一调度。通过C/S/S三层架构,在保证了用户使用客户端对高校办公自动化系统进行实时信息查询、高容量高效率并发访问和处理的同时,也将应用程序和数据库系统隔离开,减轻了数据库系统服务器的负担,实现了数据的快速访问快速处理的能力,同时极大地提高了高校办公自动化计算机系统的高可用性、高可扩展性以及数据的完整性、安全性,也方便了日常的维护与升级。通过对办公自动化系统的应用,办公效率大大提高,办公成本大大降低,减少了数字鸿沟,增加了内部凝聚力,工作人员与上级沟通很方便,信息反馈更加畅通,为发挥大家的智慧和积极性提供了舞台。未来的办公自动化系统不仅仅是基于办公应用,而是要实现信息、资源的共享,建成一个综合性的信息平台(如将办公自动化系统与人力资源管理系统、财务管理系统、网络资源管理系统等融合起来),使领导层快速掌握企业动态,真正成为领导的决策助手。