您当前的位置:首页 > 计算机论文>计算机网络论文

关于多层分布式系统体系技术的探讨

2015-12-17 11:05 来源:学术参考网 作者:未知

摘 要:传统的计算机应用系统体系是Client/Server结构模式,这种多对一的信息共享方式,造成了服务器系统的异常复杂和难以维护。随着网络服务需求的剧增,传统的信息共享模式已无法再满足新业务的需要,于是分布式应用系统技术(B/S结构)慢慢成为网络服务系统的首选结构。

关键词:分布式系统;体系结构

一、C/S系统结构的分析

  在C/S结构模式中,客户端直接连访问数据库服务器,这样的结构有以下的弊端:

  1、Client与Server直接连接,安全性低;

  2、Client程序更新与维护困难;

  3、Client在访问数据库服务器时占用大量服务端资源;

  C/S模式的这些弊端,我们需要对这种两层体系进行改进,使业务处理与客户交互分开来。本文拟就多层分布式应用体系的有关问题进行探讨。  

二、多层分布式应用体系

  随着中间件与Web技术的发展,多层分布式应用体系越来越收到重视。在这种体系结构中,Client只存放表示层软件,应用逻辑包括事务处理、监控、信息排队、Web服务等采用专门的中间件服务器,后台是数据库。在多层分布式体系中,系统资源被统一管理和使用,用户可以通过网格门户(portal)透明地使用整个网络资源。系统结构模型如下图1:

2.1多层分布式体系结构的特点

  安全性:中间层隔离了客户直接对数据服务器的访问,保护了数据库的安全;

  稳定性:对于要求24*7工作的业务系统,多层分布式体系提供了更可靠的稳定性:

  易维护:由于业务逻辑在中间服务器,当业务规则变化后,客户端程序基本不做改动;

  快速响应:通过负载均衡以及中间层缓存数据能力,可以提高对客户端的响应速度;

  系统扩展灵活:基于多层分布体系,当业务增大时,可以在中间层部署更多的应用服务器,提高对客户端的响应,而所有变化对客户端透明。

2.2多层分布应用的开发

  分布式多层体系的开发主要是三方面的技术;首先是开发环境,开发人员需要一种创建新组件、并将已有组件加以集成的开发环境;其次是应用程序的集成,开发人员需要集成各种应用程序,以创建出更强大的应用;第三是应用程序的配置,分布式多层体系的开发需要配置平台的支持,以便在用户剧增时能有效地扩展,并保持系统的稳定。

  目前多层分布应用的开发,主要有两种规范:COM+和CORBA。其中COM+主要用于Windows 平台,CORBA则提供跨平台的能力。

三、多层分布体系的应用

  由于多层分布体系具有Client与数据库隔离,保证系统的安全可靠;扩容容易,有效的减少投资;完全的OOP设计,应用有很好的可维护性;负载均衡、Fial/Recover,完全解决客户/服务器系统因用户量增大造成数据库当机的现象,目前这一体系在移动公司综合业务平台中正得到广泛应用。针对各移动公司业务的多样性以及需求的不同,可构造一个跨服务器平台、跨中间件的综合业务应用系统。这一系统主要包括以下三个方面的模型:

3.1面向业务模型:

  该模型与基于客户/服务器的机制不同,将业务的表现与实现逻辑分开,这样更与现实世界的业务处理相同。因为前台的操作人员不需要对业务逻辑进行控制,而业务逻辑是由管理人员确定的,操作人员仅面向人机交互。其中包括三个层次:

①表示层:

  该层为用户提供人机交互界面,所有的数据录入/显示操作都在此完成。当用户需要进行数据交换时,是不允许直接访问数据库服务器,而是通过业务逻辑层提供的Service Interface接口进行访问,这样保证了后台数据的安全性。同时实现了真正意义上的瘦客户。

②业务逻辑层:

  该层负责对输入/输出的数据按照业务逻辑进行加工处理,并实现对数据库服务器的访问。从上图我们可以看到,该层对它的上级和下级分别提供了Servive Interface和DBAgent。

  Service Interface接口用于向客户程序提供业务服务。当表示层录入数据后,通过该接口传递到本层。本层根据预先定义好的业务规则对数据进行分析处理,通过DBAgent访问数据库取得显示数据再根据业务规则进行加工,从Service Interface接口返回到表示层进行显示。   

③数据存储层:

  即实际意义上的RDBMS。

  采用以上的技术,我们就解决了客户/服务器模式中面临的最严峻问题:客户机增多-->数据库连接增多-->服务器不断扩容-->当机。在多层体系中,由于客户机不是直接访问数据库,而是通过业务逻辑服务层,因此我们可通过业务层有效的实现各连接公用数据库连接。也就是说,100个客户端同时在线,我们可能到数据库只有10个实际连接。

3.2对象体系模型

  该应用系统中,我门使用的是面向对象设计方法。把所有的逻辑以及用户与计算机的人机界面都作为一个个单独的对象,挂接到相应的数据总线上,这样有以下几个优点:

①业务之间互不影响:

  各业务对象之间通过标准接口规范定义实现松散耦合,由于某种原因导致其中某业务失败,而其他业务仍可照常工作。

②支持业务的热插拨:

  业务对象可以从对象数据总线动态地加载/卸载。

③实现负载均衡:

  同一业务对象可以在不同的物理计算机上运行多个副本。透过对象访问控制,可以把客户端界面对象的请求透明地分担到不同的计算机,实现负载均衡,降低单机的负载,从而降低对硬件要求。

④实现Fail/Recover:

  由于实现同一对象在不同物理计算机上的实现,当一台应用服务器当机后,对象访问控制可以把界面对象的请求透明地转移到其他应用服务器,而不影响客户端的任何操作。

3.3协议层次模型

 

①应用服务层:

  主要运行业务对象,提供人机交互界面以及与数据库的交互。

②调用服务层:

  实现分布式对象之间的过程调用。通过这一层,可向应用服务层提供基于函数名称的调用,而所有与通信服务层有关细节都被屏蔽掉。

③通信服务层:

  主要指各类中间件产品或者基于TCP/IP的访问。由于应用层没有直接访问通讯层产品,而是由调用服务层进行服务,所以通讯层是选用什么类型的中间件产品或者自己基于TCP/IP构造通讯层都与应用程序无关,只需要调整调用服务层与通讯服务层的接口。

四、应用前景

  对于多层分布式系统的架构,需要根据不同的软件项目需求,来设计更为合适的系统架构。从宏观市场看。随着J2EE中RMI/IIOP与CORBA接口的完善,再加上开发费用的考虑和使用的方便性,J2EE一揽子开放的环境会是人们首先考虑的选择;但CORBA标准的强壮的兼容性,也使这种技术在复杂的系统开发中得到很大的应用。

五、参考文献:

[1](美)特尼博姆 等著,辛春生 等译 :《分布式系统原理与范型》清华大学出版社2008.6

[2] 刘玉贵,杨学良 编著:《分布式多媒体计算机系统》电子工业出版社 2009

[3] 任泰明 编著:《基于B/S结构的软件开发技术》西安电子科技大学出版社  2006

[4] 黄光球,陆秋琴,李艳 编:《分布式系统设计原理与应用》第五章 《西北工业大学出版社》2008.8

相关文章
学术参考网 · 手机版
https://m.lw881.com/
首页