前言:数据大集中已经成为我国金融电子化的必经之路,它不仅是银行业务管理模式由区域分布式管理向"大集中"为代表的统一的集约化方式过渡的必然产物,而且也是银行业务从以服务为中心向以客户为中心转变的核心内容。在我国金融行业的数据大集中趋势中,中间件已经扮演着及其重要的角色。本文以中间件在山西建行全省帐务集中综合网系统中的应用为例,着重分析探讨中间件这一新兴技术趋势在金融电子化进程中所起的关键性、基础性、战略性作用,希望能与业内同仁、各路专家共同探讨。
一、山西建行数据大集中项目简介
建行山西分行与全国各省分行一样,于2000年初在原有二级分行帐务集中模式的基础上对综合网络系统进行全面改造,全面采用全省帐务集中处理模式。这一模式的要点是:全省帐务数据集中在省分行,省分行中心系统是综合业务网络系统的核心处理平台,处理、存储全行的柜面业务信息;各二级分行(及网点)不再存储帐务数据。全省帐务集中不改变现行的省分行结点、二级分行结点及网点的三级结点综合网络结构,也不改变任何核算关系、管理关系、业务处理流程。
1990年,山西省内全面推广综合业务系统网络系统(湖北版),在太原、大同、晋城和长治等四个城市完成了二级分行综合网络系统(柜面业务系统)的建设,并集中存放和集中处理辖内用户帐务数据。全省联网以来,建行在山西省内的通存通兑业务及往来业务不断增多,系统间的清算对账占用了大量的系统资源和业务人员大量的时间。为简化系统的复杂度,迫切需要省内各地的数据合并到一个数据中心,形成全省统一的数据中心。
2000年3月,山西建行决定在全省范围内实施全省数据大集中。还未实现"二级分行帐务集中"的或还未建设综合网络的二级分行,帐务集中到省分行。已经建成城市综合网、并且实现帐务集中的二级分行保持原状,继续独立存储与处理辖内帐务数据; 待“大集中”部分的运行管理取得一些经验后,逐步把原来的未纳入“全省帐务集中”的二级分行综合网系统并入统一的全省大集中模式中。
“全省帐务集中模式”的优势非常明显。主要表现在:
由于复杂处理的集中,网络/计算机系统/应用软件的管理与维护因集中而更容易施行,工作量减少了许多;
·由于省内不再有“二级行帐务集中模式”和“分布式模式”中的“网间业务”,通兑处理更简便,可能因而更快。
·数据的集中存储与处理,对于施行更加统一与完整的企业经营规则和安全策略会更加方便。数据集中方便了对数据的再利用,方便了省分行的对数据的综合分析与基于该分析的决策处理,对于省分行把握全局、实施科学的宏观管理与经营决策,掌握动态、规避金融风险必有好处。
二、山西建行全省数据大集中中间件需求
全省集中式业务处理系统由于处理规模的急剧增大,带来了系统的技术复杂程度、管理复杂度的提高及其它一系列新的问题。建设一个稳定、高效、可靠的综合业务网络系统,实现山西全辖范围内的银行综合业务系统的电脑化与网络化。从技术上看,支撑全省集中式业务处理系统的主要技术包括高性能处理机技术,数据库技术、中间件技术、网络技术、外存储器技术及系统高可用性,同时应用设计上也必须充分考虑多个地市行业务集中处理对应用的影响。中间件在联机交易处理模式中独特的管理与连接功能却是操作系统、数据库、应用软件所无法替代的。
1、银行业务数据传输的数据一致性、交易完整性需求
目前银行计算机系统作为一个特定的电脑应用领域,属于典型的关键任务联机事务处理系统,银行储蓄、会计等关键业务对于系统的数据一致性、交易完整性要求极高,具体说我们可以把其应用系统的需求归纳为以下几各方面:
(1)网络结构是城域网(计算中心与各营业点或代销点通过DDN、X.25、FR、PSTN方式连接)。
(2)事务单笔传送,通常以普通的消息包的方式进行。
(3)对传输和处理的实时性要求很高。
(4)在保证实时的情况下,要求传输的可靠性。
(5)对数据的一致性和完整性有很高的要求。
(6)中心节点要求能高效、并发处理大量传输,适应有高峰期的传输。
管理中心应用系统具有的共性问题是处理大量的、并发的数据传输。计算中心与地市分行、储蓄网点的应用系统具有的主要问题是保证银行业务的一致性和完整性及系统的高效率。
2、网络安全的需求
目前,计算机网络受到的安全威胁主要来自以下几个方面:
·仿冒用户身份。侵入者盗用合法用户身份,以仿冒身份与它人通信。
·窃取网络信息。侵入者在传输链路上,通过物理或逻辑的手段,非法截获或监听通信中的敏感信息。
·篡改网络信息。侵入者截获网络上的信息并篡改其内容。
·否认发出的信息。某些用户对自己发出的信息进行恶意的否认。
·恶意重发。侵入者截获网络上的密文信息后,并不解密,将这些数据包再次以实现恶意的目的。
针对上述的安全威胁,中间件提供访问权限控制、身份认证、数据加密、抗否认等功能,为整个系统建立了可靠的安全体系,保证数据传输和网络系统的安全运行。
3、系统构造的需求
由于各分支机构所应用的广域网络环境不尽相同,系统平台、应用支撑协议和数据库多种多样。如果由应用系统直接接入Intranet网,则对现有的应用系统势必要进行大量改造。
中间件屏蔽了不同的网络环境和系统平台,使得应用层能够适应多种系统平台,既利用了现有系统,又减少了改造财力物力。使之适应不同的通信网络系统,跨接不同的应用持撑协议,并支持两阶段提交,通过XA协议支持多种数据库。通过统一的API,在不同的平台上、不同的网络环境和应用支撑协议之间交换数据。使用户只做少量开发,就可以将现有系统接入金融网。
三、中间件TongEASY及TongLINK的部署
中间件TongEASY及TongLINK为整个系统提供构造布置和管理灵活、高效、可靠的三层客户/服务器应用(应用服务器)的框架;提供应用所需要交易 的 完 整 性 和 一 致 性的保障机制;进行应用进程管理以保证系统处理的高效性。 此外TongEASY还提供节点管理,安全管理等辅助功能。
1、 改善原应用系统的客户机/服务器结构形式。
作为一个联机事务处理的典型应用,银行计算机系统对实时性要求很高,但国内银行的计算机系统本身又建立在一个低速的广域网上,因而客户方与服务方的交互应尽量减少网络上的传输量,提高系统效率。同时,银行业务系统处理的主要对象是交易包,这也要求客户方与服务方的交互应当基于交易包进行。而直接使用数据库厂商提供的连接工具构造客户机/服务器结构,由于其传输的是SQL语句,网络上流量很大,结果是不会令人满意的。
基于中间件的客户机/服务器结构如下图所示,把客户方请求的任务标识与数据打成交易包,通过广域网传到服务器后,相应的服务程序根据要求在本地(单机或高速局域网)对数据库进行存取操作,操作结果仍然以交易包的形式返回到客户方。这种方式将大大减少网络流量,提高系统效率,同时使软件结构非常灵活。

无论集中模式还是大集中模式,中心计算机系统都面临着大量的并发交易请求,大集中模式尤为如此。因此,如果没有控制和管理,服务进程总数超过这个限制,将导致系统运行效率急剧下降,甚至导致系统崩溃。山西建行原系统已经建立了三层结构,采取通讯平台OPEN/TP搭建,该平台是一个简单的通讯平台,缺乏对应用进程的管理。基于三层结构体系的中间件TongEASY及TongLINK,它除了提供可靠的面向消息的数据传输,还提供网络监控、流量控制、交易管理、负载均衡、应用调度等功能。
2、 中间件TongEASY及TongLINK的主要功能
TongLINK及TongEASY是东方通科技自主开发的通信及交易管理中间件产品。交易中间件TongEASY管理银行综合业务网络3,TongLINK及TongEASY是东方通科技自主开发的通信及交易管理中间件产品。交易中间件TongEASY管理银行综合业务网络3应用系统客户端与服务器端的交易通信、监控交易的执行过程,确保交易过程的完整和数据的一致性;TongEASY同时在客户端与服务端构造一个高速的数据通道,支持大量并发的连接、管理调度并发进程。TongLINK是TongEASY的通信平台。本文对TongLINK/TongEASY系统的主要功能/原理的介绍,侧重在交易完整性保障机制、对连接及并发请求的管理以及应用进程的管理方式,它有助于我们理解中间件在银行柜面业务应用系统中所起的作用,对“二级分行帐务集中”以及“全省帐务集中” 模式的支持。
(1) 交易完整性保障原理
银行柜面业务应用系统是一个(3层结构的)客户/服务器模式的应用系统,一般地,网点机上的客户程序是客户方,城市或省数据中心计算机系统中的业务处理程序(服务程序)是服务方。一个典型的客户机/服务器模式的应用中,交易处理需要客户机与服务器机的共同参与才能完成,并且需要保证客户机与服务器机处理结果的一致性,这是由于客户程序与服务程序内在的业务逻辑的相关性决定的。下面以一个典型的基于交易中间件TongEASY的客户/服务器应用来说明。
见下图。图中的客户机我们称为A机,服务器机我们称为B机。

上图中,交易处理需要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对应用进程的管理
一个确定的计算机系统,系统中可同时运行的服务程序(进程)数是有限的。银行柜面业务应用系统数据中心的计算机系统再大,最多可同时运行的交易处理进程总数恐怕也不过百十个。无论是“集中”模式,还是“大集中”模式,中心计算机系统都面临着大量的并发交易请求,“大集中”模式尤为如此。如果没有控制和管理,服务进程总数超过这个限制,将导致系统运行效率急剧下降,甚至导致系统崩溃。山西行原系统中间件平台OPEN/TP就存在这个问题。
对应用进程的管理与调度的另一个方面是如何将交易服务请求交付给应用进程,保证频繁需要的服务优先得到满足,零星需要的服务不必预先占用系统的资源,每一种服务进程的数量都有控制等等。
TongEASY有一个好的进程管理调度策略,能够很好地均衡系统的负载。系统中可同时运行的应用进程总数、各类应用进程与调度有关的数目(如某类服务程序的初启进程数,可启动的最多进程数、每个进程可服务的最多请求数等等)的配置与TongEASY本身无关,需要根据应用的需求和计算机系统的配置合理地确定。
3、TongLINK及TongEASY在银行帐务系统中的部署
山西建行于2000年3月将原应用系统用中间件进行改造,将TongEASY作为交易管理系统,TongLINK作为客户方与服务方的连接软件。TongEASY不仅管理系统内的所有交易,还对系统效率有举足轻重的作用。服务器上有许多服务程序,正象多线程技术大大提高了数据库的效率一样,TongEASY对服务进程的精确调度、均衡负载,可以使尽可能少的服务进程处理尽可能多的交易,从而大大提高应用程序的效率。
按照X/Open DTP扩充模型,客户方和服务方分别由资源管理、交易管理、通信管理、应用程序四部分构成。其中应用程序可根据业务类型划分为更小的模块,每个模块由许多进程来实现,统一由TongEASY进行管理,以保障交易完整性及数据一致性,保证系统的效率。
建行山西分行帐务集中综合业务网络系统是一个三级TongLINK/TongEASY网络。
银行网点(三级结点)是TongLINK/TongEASY的叶子结点,二级分行(二级结点)主机是 TongLINK/TongEASY的二级中心,一级分行(一级结点、省中心)主机是TongLINK/TongEASY的三级中心。
一级结点部署的TongLINK/TongEASY支持一级中心的全省集中帐务的处理,支持与省内没有把帐务集中到一级中心的城市综合网的网间交易的处理。
二级结点有两种。一种部署在省内没有把帐务集中到一级中心的城市行,支持城市内集中的帐务的处理。另一种部署在帐务集中在省中心的城市行(二级中心,“文件服务器”中),TongLINK及TongEASY支持从一级中心到网点的报表等批次数据的下传。批次数据在网络空闲时段从一级中心下传到二级中心,网点则从二级中心取得数据,从而减小一、二级中心网络连接的压力。二级结点的TongLINK同时又作为一级结点(省中心)的通信前置机,使二级结点与一级结点之间只有少量TongLINK链路,从而减少到一级网点TongLINK的总的连接数,保证一级结点TongLINK具有最高的并发处理性能。每个三级结点(网点)都部署有TongLINK/TongEASY。
目前,山西建行已经完成了全省数据大集中工作,我省?个地市的业务数据全部集中到省分行数据中心机上处理。省数据中心每日处理交易量已超过?笔,单笔存取款交易的处理时间小于3秒,系统资源、网络资源的占用率都很低,系统运行安全可靠。在当前分布式计算环境已经成为一种主流技术,实现灵活性、高效率、低成本的应用环境成为一种可能,中间件作为实现这一可能性的关键技术,必将为促进金融一体化进程中提供强有力的技术支持。