位置:51电子网 » 技术资料 » 其它综合

容错技术在分布式多层应用系统中的实现

发布时间:2008/6/5 0:00:00 访问次数:366

论文摘要】在分布式多层应用系统中,把应用程序服务器分布在两台或更多的计算机中执行,根据负载平衡的原理,客户端应用程序连接到其中一台计算机的应用程序服务器要求服务。如果客户端应用程序当前连接的应用程序服务器计算机发生故障而无法继续执行,在agent的帮助下,他可以动态连接到其他机器中的应用程序服务器继续要求新的应用程序服务器为其提供服务。如果运行应用服务器的所有机器都发生故障,仍可以在客户端保存更新的资料,待应用程序服务器的机器恢复功能后,再自动把原先保存的资料更新回远程数据库服务器中,使得分布式多层应用系统的容错性能得到极大的提高。

1系统介绍

过去开发软件时,没有考虑充分实现系统的容错功能,有些软件虽然有简单的容错功能,但是以牺牲系统的效率为代价。当前,由于一些计算机硬件存在缺陷,且计算机病毒的蔓延以及其他诸如停电、自然灾害等原因,导致计算机系统陷于瘫痪是非常普遍的现象。在分布式多层体系结构中,应用服务器的稳定对整个系统的稳定起着至关重要的作用,应用程序服务器发生故障,所有的客户端都会瘫痪,而应用服务器端发生故障是最普遍的现象。当客户端应用程序正在请求执行一些重要任务时,决不希望因为应用程序服务器的故障而造成整个多层应用系统无法工作(在其他的很多系统中,因为应用程序服务器无法工作从而导致整个系统瘫痪是不足为奇的),鉴于此,在软件开发中,采用了多级容错技术防止灾难的发生。在分布式多层应用系统中,应用程序服务器运行在多台计算机上,如果正在执行任务的应用程序服务器所在的机器发生故障而无法继续执行时,客户端应用程序探测到错误后,转而自动连接到其他计算机中的应用程序服务器继续要求新的服务器为其提供服务。如果运行应用程序服务器的所有计算机都发生故障,系统可以把数据暂时保存在客户端计算机中,保证客户端当前操作过的资料不会丢失,等到有应用服务器恢复功能时,客户端计算机再通过他自动把资料传回远程数据库服务器中,这样,分布式多层应用系统就具有极高的容错性和稳定性。

开发工具应用程序服务器和客户端采用borland公司的delphi 7.0开发;数据库采用微软的数据库sql server 2000。

系统结构在分布式多层应用系统中,公共逻辑分发到应用服务器上,分散的客户端可以从异地远程调用,客户端不能直接连接数据库,只能通过应用程序服务器与数据库连接,数据连接逻辑独立出来,做成公共逻辑放在应用程序服务器上,可以充分实现系统的容错功能。系统的结构如图1所示。

该体系结构包括3部分:

客户端对应于表示层,他存放在各科室的计算机上,用于实现用户的接口。

应用程序服务器对应于功能层,为各客户端提供公共数据服务,他存放在所有客户端可访问的几台中心计算机上,本文采用的是delphi中的midas应用程序服务器。

远程数据库服务器用来存储客户端的数据资料及其公共资料和运行ora cle 8i数据库管理系统。

2系统设计

2.1基本原理

agent(在本系统中采用了一个中介组件tsimple object broker)的功能就是负责维护运行应用程序服务器机器的目录和实现负载平衡。

(1)当正在运行应用服务器的机器发生故障时,agent把这台机器从目录中删除,当故障机器恢复功能时,又把他的加进目录。

(2)当有许多的客户端应用程序需要连接应用程序服务器时,agent能够分配不同的客户端应用程序连接到不同机器之中,以便平均每一台应用服务器的负荷。

操纵数据库信息的逻辑是处在appserver上, appserver与数据库交互,从而使不同的客户端应用程序能够共享数据,这样,可以使客户端应用程序很“瘦”,因为复杂的业务逻辑全放在了应用服务器上。客户端不能直接操纵数据库,只能通过应用服务器这个中介,通过应用程序服务器,客户端只能操纵规定范围的数据,这样可以有效地防止非法用户操作破坏数据。当客户端要运行应用程序时,首先必须激活任意一台appserver,再通过app server连接远程的数据库(必须是数据库授权的用户),才能访问数据库中的数据,这样保证了数据的安全。如果只把应用服务器运行在一台计算机上,那么该系统不能达到容错的最好效果,系统要求至少要2台计算机加载应用程序服务器,如果有多台计算机,可以把同样的appserver分发到每一台计算机上,这样就能最大限度地实现系统的稳定和容错。

2.2方法和实现

这里以2台计算机分别运行应用程序服务器(appserver1和appserver2)为例说明系统如何工作(多于两台计算机的情形是完全一样的)。若只有一个客户端,他可以连接应用服务器1或应用服务器2,当客户端有2个以上时,根据负载平衡的原理,服务器1和 服务器2一定会同时工作。现在,假定只有一个客户端连接到应用服务器1进行数

论文摘要】在分布式多层应用系统中,把应用程序服务器分布在两台或更多的计算机中执行,根据负载平衡的原理,客户端应用程序连接到其中一台计算机的应用程序服务器要求服务。如果客户端应用程序当前连接的应用程序服务器计算机发生故障而无法继续执行,在agent的帮助下,他可以动态连接到其他机器中的应用程序服务器继续要求新的应用程序服务器为其提供服务。如果运行应用服务器的所有机器都发生故障,仍可以在客户端保存更新的资料,待应用程序服务器的机器恢复功能后,再自动把原先保存的资料更新回远程数据库服务器中,使得分布式多层应用系统的容错性能得到极大的提高。

1系统介绍

过去开发软件时,没有考虑充分实现系统的容错功能,有些软件虽然有简单的容错功能,但是以牺牲系统的效率为代价。当前,由于一些计算机硬件存在缺陷,且计算机病毒的蔓延以及其他诸如停电、自然灾害等原因,导致计算机系统陷于瘫痪是非常普遍的现象。在分布式多层体系结构中,应用服务器的稳定对整个系统的稳定起着至关重要的作用,应用程序服务器发生故障,所有的客户端都会瘫痪,而应用服务器端发生故障是最普遍的现象。当客户端应用程序正在请求执行一些重要任务时,决不希望因为应用程序服务器的故障而造成整个多层应用系统无法工作(在其他的很多系统中,因为应用程序服务器无法工作从而导致整个系统瘫痪是不足为奇的),鉴于此,在软件开发中,采用了多级容错技术防止灾难的发生。在分布式多层应用系统中,应用程序服务器运行在多台计算机上,如果正在执行任务的应用程序服务器所在的机器发生故障而无法继续执行时,客户端应用程序探测到错误后,转而自动连接到其他计算机中的应用程序服务器继续要求新的服务器为其提供服务。如果运行应用程序服务器的所有计算机都发生故障,系统可以把数据暂时保存在客户端计算机中,保证客户端当前操作过的资料不会丢失,等到有应用服务器恢复功能时,客户端计算机再通过他自动把资料传回远程数据库服务器中,这样,分布式多层应用系统就具有极高的容错性和稳定性。

开发工具应用程序服务器和客户端采用borland公司的delphi 7.0开发;数据库采用微软的数据库sql server 2000。

系统结构在分布式多层应用系统中,公共逻辑分发到应用服务器上,分散的客户端可以从异地远程调用,客户端不能直接连接数据库,只能通过应用程序服务器与数据库连接,数据连接逻辑独立出来,做成公共逻辑放在应用程序服务器上,可以充分实现系统的容错功能。系统的结构如图1所示。

该体系结构包括3部分:

客户端对应于表示层,他存放在各科室的计算机上,用于实现用户的接口。

应用程序服务器对应于功能层,为各客户端提供公共数据服务,他存放在所有客户端可访问的几台中心计算机上,本文采用的是delphi中的midas应用程序服务器。

远程数据库服务器用来存储客户端的数据资料及其公共资料和运行ora cle 8i数据库管理系统。

2系统设计

2.1基本原理

agent(在本系统中采用了一个中介组件tsimple object broker)的功能就是负责维护运行应用程序服务器机器的目录和实现负载平衡。

(1)当正在运行应用服务器的机器发生故障时,agent把这台机器从目录中删除,当故障机器恢复功能时,又把他的加进目录。

(2)当有许多的客户端应用程序需要连接应用程序服务器时,agent能够分配不同的客户端应用程序连接到不同机器之中,以便平均每一台应用服务器的负荷。

操纵数据库信息的逻辑是处在appserver上, appserver与数据库交互,从而使不同的客户端应用程序能够共享数据,这样,可以使客户端应用程序很“瘦”,因为复杂的业务逻辑全放在了应用服务器上。客户端不能直接操纵数据库,只能通过应用服务器这个中介,通过应用程序服务器,客户端只能操纵规定范围的数据,这样可以有效地防止非法用户操作破坏数据。当客户端要运行应用程序时,首先必须激活任意一台appserver,再通过app server连接远程的数据库(必须是数据库授权的用户),才能访问数据库中的数据,这样保证了数据的安全。如果只把应用服务器运行在一台计算机上,那么该系统不能达到容错的最好效果,系统要求至少要2台计算机加载应用程序服务器,如果有多台计算机,可以把同样的appserver分发到每一台计算机上,这样就能最大限度地实现系统的稳定和容错。

2.2方法和实现

这里以2台计算机分别运行应用程序服务器(appserver1和appserver2)为例说明系统如何工作(多于两台计算机的情形是完全一样的)。若只有一个客户端,他可以连接应用服务器1或应用服务器2,当客户端有2个以上时,根据负载平衡的原理,服务器1和 服务器2一定会同时工作。现在,假定只有一个客户端连接到应用服务器1进行数
相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!