机系统都面临着大量的并发交易请求,大集中模式尤为如此。因此,如果没有控制和管理,服务进程总数超过这个限制,将导致系统运行效率急剧下降,甚至导致系统崩溃。山西建行原系统已经建立了三层结构,采取通讯平台OPENTP搭建,该平台是一个简单的通讯平台,缺乏对应用进程的管理。基于三层结构体系的中间件TongEASY及TongLINK,它除了提供可靠的面向消息的数据传输,还提供网络监控、流量控制、交易管理、负载均衡、应用调度等功能。 2、中间件TongEASY及TongLINK的主要功能 TongLINK及TongEASY是东方通科技自主开发的通信及交易管理中间件产品。交易中间件TongEASY管理银行综合业务网络3,TongLINK及TongEASY是东方通科技自主开发的通信及交易管理中间件产品。交易中间件TongEASY管理银行综合业务网络3应用系统客户端与服务器端的交易通信、监控交易的执行过程,确保交易过程的完整和数据的一致性;TongEASY同时在客户端与服务端构造一个高速的数据通道,支持大量并发的连接、管理调度并发进程。TongLINK是TongEASY的通信平台。本文对TongLINKTongEASY系统的主要功能原理的介绍,侧重在交易完整性保障机制、对连接及并发请求的管理以及应用进程的管理方式,它有助于我们理解中间件在银行柜面业务应用系统中所起的作用,对“二级分行帐务集中”以及“全省帐务集中”模式的支持。 (1)交易完整性保障原理 银行柜面业务应用系统是一个(3层结构的)客户服务器模式的应用系统,一般地,网点机上的客户程序是客户方,城市或省数据中心计算机系统中的业务处理程序(服务程序)是服务方。一个典型的客户机服务器模式的应用中,交易处理需要客户机与服务器机的共同参与才能完成,并且需要保证客户机与服务器机处理结果的一致性,这是由于客户程序与服务程序内在的业务逻辑的相关性决定的。下面以一个典型的基于交易中间件TongEASY的客户服务器应用来说明。 交易处理需要A机与B机的共同参与才能完成,为保证A机与B机处理结果一致性,TongEASY规定,以客户方处理结果为最终的交易处理结果基准的交易处理需要经过交易请求、应答、确认冲正等过程。 由于计算机系统或网络故障可能在任意时刻发生,从而破坏客户方和服务方数据的一致性。TongEASY监控交易的处理过程,并对每一笔交易处理过程中的各个状态登记日志。TongEASY核心发现未完成交易后,根据当前状态进行相应的处理,最终保证交易的完整和数据的一致性: (2)TongEASY和TongLINK对连接及并发请求的管理 与其它的基于TongLINK及TongEASY的客户服务器模式的应用系统一样,TongLINK及TongEASY需要配置在银行的网点计算机系统和数据处理中心的计算机系统中,客户端(网点)的每一套TongLINK系统与服务器端(中心)的TongLINK系统间建立一个预建的连接。如果有2000个网点需要和中心通过TongLINK建立连接,那么中心的TongLINK系统就要支持2000个以上的连接。同样,如果有同时的200个并发的交易请求,中心的TongLINK和TongEASY就要支持200个以上的并发请求。 考虑到这一需求,TongLINK采用了预建连接、链路复用,数据收发的异步处理、可调的发送和接收消息队列的大小等机制,以支持OLTP应用所面临的支持大量连接和并发的要求。TongLINK可以迅速地把消息从连接的一端发送到另一端,不会在任何一端(无论是网点还是中心)形成瓶颈。由于来自客户端(一般是网点)的大量并发请求(数十甚至数百)不可能全部交给计算机系统处理(计算机系统的处理能力是有限的,它所能同时运行的进程数目也是有限的。见下一节“TongEASY对应用进程的管理”中的有关论述),因此,事实上,大量的并发请求是TongEASY来管理的,而且TongEASY也必须管理这些并发的请求。TongEASY主要是通过消息队列及内存缓冲区来缓冲和实施管理,它们是:与TongLINK通信的TongLINK队列缓冲区、缓冲用户交易数据的“通讯缓冲区”,以及与应用进程通信的“应用队列缓冲区”。来自TongLINK的大量的并发请求需要在这些缓冲区中缓冲,请求高峰超出TongEASY的处理能力时,TongEASY便把它们丢掉,从而始终保持一个高效、平滑的处理。这就是TongEASY提供的高速数据通道(“漏斗效应”)。 TongEASY和TongLINK可以支持数千个连接,成百上千个并发的请求,足以满足银行“大集中”模式的柜面应用系统处理中心的要求。实际配置系统时,需要根据应用的需求、计算机系统的处理能力合理地配置上述有关的参数。 (3)TongEASY对应用进程的管理 一个确定的计算机系统,系统中可同时运行的服务程序(进程)数是有限的。银行柜面业务应用系统数据中心的计算机系统再大,最多可同时运行的交易处理进程总数恐怕也不过百十个。无论是“集中”模式,还是“大集中”模式,中心计算机系统都面临着大量的并发交易请求,“大集中”模式尤为如此。如果没有控制和管理,服务进程总数超过这个限制,将导致系统运行效率急剧下降,甚至导致系统崩溃。山西行原系统中间件平台OPENTP就存在这个问题。 对应用进程的管理与调度的另一个方面是如何将交易服务请求交付给应用进程,保证频繁需要的服务优先得到满足,零星需要的服务不必预先占用系统的资源,每一种服务进程的数量都有控制等等。TongEASY有一个好的进程管理调度策略,能够很好地均衡系统的负载。系统中可同时运行的应用进程总数、各类应用进程与调度有关的数目(如某类服务程序的初启进程数,可启动的最多进程数、每个进程可服务的最多请求数等等)的配置与TongEASY本身无关,需要根据应用的需求和计算机系统的配置合理地确定。 3、TongLINK及TongEASY在银行帐务系统中的部署 山西建行于2000年3月将原应用系统用中间件进行改造,将TongEASY作为交易管理系统,TongLINK作为客户方与服务方的连接软件。TongEASY不仅管理系统内的所有交易,还对系统效率有举足轻重的作用。服务器上有许多服务程序,正象多线程技术大大提高了数据库的效率一样,TongEASY对服务进程的精确调度、均衡负载,可以使尽可能少的服务进程处理尽可能多的交易,从而大大提高应用程序的效率。 按照XOpenDTP扩充模型,客户方和服务方分别由资源管理、交易管理、通信管理、应用程序四部分构成。其中应用程序可根据业务类型划分为更小的模块,每个模块由许多进程来实现,统一由TongEASY进行管理,以保障交易完整性及数据一致性,保证系统的效率。 建行山西分行帐务集中综合业务网络系统是一个三级TongLINKTongEASY网络。 银行网点(三级结点)
信息发布:广州名易软件有限公司 http://www.myidp.net
|