面向财政领域的数据库三层架构的分析与研究

时间:2022-10-20 01:41:15

面向财政领域的数据库三层架构的分析与研究

【摘要】传统的一些财政领域的系统开发,采用客户端/服务器(C/S)模式,从体系结构上来说,一般是两层结构,即客户层和数据服务层。但是随着计算机技术的飞速发展,数据库的安全性、可靠性和实时性越来越受到人们的重视,传统的C/S结构的弊端也越来越明显。当前财政领域系统中存在客户访问量、数据传输量都比较大等特点,因此,提出了一种解决方案,采用三层体系结构,即由客户端、中间件、后台数据库三部分组成的体系结构。

【关键词】C/S模式 三层体系结构

一、引言

传统的企业大多数采用C/S结构,即客户/服务器模式,客户机前端处理用户的界面和交互的内容,服务器后端主要用来处理数据管理及业务逻辑,客户机和服务器分担不同的任务,又协同工作。客户端向服务器发送服务请求,服务器接收请求并进行处理,将处理结果传给客户机。随着应用的不断扩展,传统的C/S结构的缺陷逐渐暴漏出来,即一旦应用的需求发生变化,客户端和服务器端的应用程序都需要修改,因此给应用维护带来了很大的不便;当客户端数目激增时,服务器的性能会因为负载过大而衰减。因此,软件体系结构也从传统的C/S模式转向了三层C/S结构,也就是在客户层和服务层之间添加一个中间层。

因此,基于数据库中间件的三层架构就产生了。这种模式同时解决了客户访问量大、数据传输量大、系统安全性等方面的问题。

二、三层架构体系结构

本文基于PostgreSQL数据库、中间件pgpool-II和客户端组成的三层架构进行分析研究。三层系统结构如图1所示。

财政系统的三层架构定义如下:

(1)客户端:即应用层,客户端可以是pgAdmin软件或者是psql命令,通过JDBC,ODBC等技术提交具体的链接请求到在中间层。

(2)中间件:即业务逻辑层,对客户端提供链接请求、身份验证、链接管理、权限验证等功能,并与后台进行交互。本文采用的pgpool-II具有身份验证、请求格式验证、权限验证、事务管理、连接管理、负载均衡等功能。数据访问中间层对应于三层结构中的业务逻辑层。业务层需要和应用层进行交互,把应用端发送过来的查询请求,包括查询参数,提交到业务逻辑层,业务逻辑层和具体的业务无关,如果需要进行数据库操作,则提交到数据库系统进行处理。在这里为了进行系统性能优化和提升效率访问,设计了进程池模块。所有的业务请求均由进程管理模块进行调度执行,如果超过了系统所允许的最大并发量,则将这些用户的请求加入阻塞队列。SQL Parser模块主要负责对业务请求中SQL语句的匹配,分为两种情况:①匹配成功,进行SQL语句解析;②匹配失败,则拒绝请求。这个模块还对用户的请求格式是否正确、用户是否有权限进行操作等问题进行处理。在连接管理模块中,主要包括数据库连接池和数据库连接池管理。所有的连接请求都从数据库连接池中申请连接,池中的连接都由连接池管理模块统一管理。

(3)数据服务层:即PostgreSQL数据库管理系统,是实际的数据服务执行层,对应于后台各个数据库系统。它只与中间件pgpool-II进行交互,所以堆与它来说,中间件起着客户端的作用,从而在一定层度上保证了数据的安全性。

图1 三层架构系统结构

三、三层架构的优点

相比于两层架构,三层体系结构的数据访问层位于客户端和后台数据库之间,主要作用是为了支持应用层数量众多的客户端访问数据库提供统一的接口,提高用户访问数据库的效率。采用三层设计克服了两层架构的缺点,具有如下的优点:

第一,保证了系统的安全性。对数据访问进行授权,每一个用户所授权的业务实体和业务操作都是根据特定条件进行设定的,所以只有合法的用户才能对数据库进行操作,从而很好的保证了后台数据的安全性。

第二,提高了系统的稳定性。数据库中间层缓冲了用户与后台的实际连接,使得实际连接数量远小于用户数量,在访问量、业务量增加的情况下,可以使多台主机设备建立集群,协同工作,进行业务逻辑处理,从而实现负载均衡。

第三,提高了系统的可维护性。业务逻辑位于中间层,当业务规则变化后,客户层不用做任何改动,从而保证了应用层数据独立性,提高了可维护性。

第四,及时响应,提高系统实施吞吐率。由于pgpool-II中间件提供了负载均衡功能,因此在客户端请求比较多的情况下,能很好的响应客户端的需求,从而提高了响应的速度。

第五,保持和复用数据库连接。中间件通过采用常驻服务进程的手段,使数据库的连接被保持和复用,减少了与数据库连接的次数和时间,提高了系统的吞吐率。

四、结束语

本文在对财政领域的系统架构进行分析的基础上,克服了两层C/S结构的弊端,介绍了一种三层数据库结构的设计方法,使用三层数据库结构提高了系统的运行效率和后台数据连接的重用性。同时,可以使开发人员脱离复杂的网络编程,保持客户端和后台数据库之间的独立性,提高了可扩展性和适应性。

参考文献:

[1]刘文东.三层结构数据库在物流管理信息系统设计中的应用与实现[J].计算机光盘软件与应用,2011.

上一篇:关于优化我国金融衍生品投资生态环境的思考 下一篇:药物制剂技术专业现代学徒制试点在我校的发展...