《银行外汇会计网络处理系统项目技术方案.docx》由会员分享,可在线阅读,更多相关《银行外汇会计网络处理系统项目技术方案.docx(42页珍藏版)》请在三一办公上搜索。
1、外汇会计网络处理系统项目技术方案中国建设银行信息技术部2002年4月目 录第 1 章总体结构41.1系统体系结构41.2网络架构51.3总体逻辑结构7第 2 章系统环境92.1前台软硬件环境92.2后台软硬件环境102.3中间件13第 3 章功能模块18第 4 章安全保密194.1概述194.2信息传输安全204.3数据存储安全24第 5 章异常处理255.1通讯异常处理255.2主机异常及处理295.3数据库异常处理31第 6 章数据移植336.1实施原则336.2实现方法336.3移植步骤34第 7 章和现有系统的比较35第 8 章和相关系统的关系36第 9 章可选技术方案37第 10 章
2、采用建议系统可能带来的影响3810.1对设备的影响3810.2对现有软件的影响3810.3对用户的影响3810.4对系统运行的影响3810.5对开发环境的影响3810.6对安全保密的影响3910.7对经费支出的影响39第 11 章实施风险及对策4011.1数据移植4011.2与周边系统的接口4111.3客户化工作4311.4总述43第 1 章 总体结构1.1 系统体系结构数据库应用服务器中间件广域网络中间件前置机终端终端系统采用目前主流的C/M/S三层体系架构,使前端业务处理和后端业务逻辑相互独立;前后端通讯由中间层软件完成,可靠性高;屏蔽前后端通讯实现的具体细节,编码简单;前端应用对后端完全
3、透明,前端需要增加新的服务手段或方式时可单独完成,不必修改后端应用程序,只需保持数据接口的一致性即可,后端的业务逻辑和数据对前端也是完全透明的,后端业务逻辑的变化或服务器主机增加、减少或变更都不会影响前端的服务,具有很好的可扩展性;同时,这种方式可大量重用应用代码,缩短开发周期。1.2 网络架构外汇会计网络系统依托现有的城综网网络架构,可最大限度地利用现有资源。根据前台应用平台ACE4.0 Server的不同设置,网络架构有二层架构和三层架构两种不同的方案。1.2.1 二层网络架构前台网点PC上安装业务系统和ACE Client、ACE Server,二级分行无需安装业务系统,逻辑上网点PC与
4、一级分行主机直接相连,在实际的物理联接上,是通过二级分行中心路由与一级分行连接,避免网点PC直接访问中心主机,可有效保证网络安全以及减轻主机网络负担。网络结构如图:1.2.2 三层网络架构前台网点PC上安装ACE Client,二级分行配置一台前置机,其上安装业务系统和ACE Server,网点PC通过二级分行与一级分行主机相连,形成三层架构。网络结构如图: 1.2.3 两种网络架构比较网络架构优点缺点二层架构网络结构简单,系统稳定性、安全性好,运行效率高,无需额外的硬件投资。在前台网点PC上需安装应用系统和ACE Client、ACEServer,系统维护升级复杂。三层架构在前台网点PC上只
5、需安装ACE Client,每个二级分行只需在前置机上安装一套ACE Server和业务系统,便于系统维护与版本升级。由于ACE4.0的Client与Server物理分离,Client与Server端之间的通讯跨越广域网,造成:前台运行效率降低;系统成熟度及稳定性、安全性有待于进一步论证;二级分行中心机房需相应配备性能较高的前置机,增加硬件投资。由于三层网络架构过于依赖ACE4.0,其安全性、效率性、稳定性皆取决于ACE4.0前、后台的实现机制,存在着一定的风险性;且该种网络架构尚未大规模商业应用,其可行性尚须进一步论证。鉴于此,我们建议不采用此种网络架构,而使用二层网络架构。1.3 总体逻辑
6、结构应用系统的总体逻辑结构分为三层:外围服务层主要指柜面业务,以及与周边外围系统的接口程序。双箭头表示可以互为访问,互为访问的接口是实时的。例如:柜面业务、国际结算、B股资金清算;单箭头表示只能单向访问,单向访问的接口是批量或与文件方式传送。例如:储蓄通兑文件、MIS系统、个人实盘外汇买卖;外围服务层通过规范的交易接口调用应用服务层的各种服务。应用服务层由应用业务品种组成;应用服务层只处理合法性判断、业务处理逻辑;帐务、凭证、计息、外汇买卖等均通过API由核心服务层完成;核心服务层是将公用的业务处理抽象成一系列的公函集,如帐务核心、凭证核心、计息核心、外汇买卖核心;具体如下图所示:第 2 章
7、系统环境2.1 前台软硬件环境2.1.1 简介l 硬件环境:利用网点现有的FEBS系统或人民币会计系统PC、终端、行打等。l 软件环境操作系统:SCO Unix数据库:Informix通讯中间件:TUXEDO Client其它:神州数码ACE4.0开发平台、中文平台2.1.2 ACE4.0简述ACE平台是一个针对金融前台系统开发、维护的软件包,它能够实现金融前台系统所需要的人机交互、设备驱动、通讯传输,利用ACE平台的开发思想及开发工具可以使开发出来的金融前台系统高效而稳定。2000年的ACE4.0的版本不仅将字符平台和图形平台有机地结合在一起,同时ACE4.0具有很高的可扩展性,可以适应多种
8、不同的网络体系结构。ACE平台已在全国各家银行推广开来,并已在中国建设银行上海分行大柜面系统投入使用。ACE4.0主要的技术特点有:l 4GL语言l 强大的通讯功能l 支持不同种类的外设l 跨平台授权l 文件广播l 嵌SQL语言l 完善的安全措施l 丰富的开发维护工具ACE4.0的主要性能指标如下:l 运行速度以最复杂的打开/运行屏幕这个典型操作进行性能测试,测试环境是:ACE Server为Legend逐日3000/Intel赛扬433MHz;ACE Client为IBM Pentium MMX 100MHz;通讯速率为9600bps。测试后得出:打开超大屏幕的时间约为1600ms;打开屏幕
9、组的时间约为2600ms 在实际的局域网运行环境中,所用时间将比测试所得数据大大缩短。l 用户数在使用SCO UNIX操作系统时,每台机器最多支持50用户。用户数超过50可以通过集群方式支持。l 通讯包长度ACE4.0自身对通讯数据包长度没有限制,可以通过配置实现数据包长度的改变。但综合考虑各种因素,推荐在每个通讯包的长度控制在2K4K之间。2.2 后台软硬件环境2.2.1 概述l 硬件环境:IBM RS6000系列小型机。l 软件环境操作系统:AIX 数据库:Informix Online7.X、ESQL/C通讯中间件:TUXEDO Server2.2.2 主机性能要求外汇会计网络系统后台主
10、机配置,主要从以下四个方面进行考虑:1. CPU性能:主要以服务器的TPC-C值作为相对选型参考值,在设计服务器处理能力时,需要将一些实际经验值和TPC-C值一起综合考虑,设计CPU的使用率在40%以内。2. 内存的大小:内存是所有程序运行的环境,在CPU和相关系统软件处理能力的范围内,一般说来,内存空间越大服务器的事务处理性能越好,但不同的应用对内存的要求不同,所以在外汇会计应用系统服务器内存设计中,需要从应用要求的角度来考虑,寻找最佳的配置。在外汇会计网络系统中,主要是数据库的应用,根据经验,Sybase数据库对内存较敏感,ORACLE和DB2其次,Informix对内存要求最小,但Inf
11、ormix对CPU要求更多。3. 磁盘I/O性能:在CPU处理能力一定的情况下,磁盘的I/O速度,可使服务器的整体性能相差几倍到几十倍,所以在设计中要特别注意磁盘I/O的选型,磁盘I/O的选择尽量大,同时考虑到单个磁盘的I/O速度是一定的,需要靠多磁盘的并行读取来提高磁盘I/O性能。4. 高可用性:在主机发生一般故障时,能保证业务的正常进行和业务数据的完整性,在主机发生严重故障时,能保证系统在最短的时间内恢复运行,丢失最少的交易数据。根据业务量的大小和业务的重要性,同时考虑其成本和效益,维持高可用性的方案可以分为:双机热备份、双机冷备份、单机磁带备份。根据以上论述,下面分别从以上四个方面来分析
12、和设计外汇会计网络系统服务器的配置要求。2.2.3 主机配置预估1. CPU处理能力分析根据经验值,处理能力6000TPC-C的服务器,接近100%的使用率,每分钟可以处理5000笔交易,即6000TPC-C=5000笔交易/分钟。根据要求,此次配置的外汇会计业务服务器要满足3-5年、每年15%的业务增长率的要求。考虑到各地外汇会计目前的业务量不明,参照厦门建行目前外汇会计的业务量情况。并控制外汇会计业务服务器CPU的利用率在40%以内,参照IBM各款RS/6000服务器在不同配置下的TPC-C值,初步估算不同省市外汇会计业务服务器将依其业务量大小配置IBM RS/6000 F85、270系列
13、服务器,且CPU配置数大约估算如下表:规模配置机型CPU数大IBM RS/6000 H852路450MHz小IBM RS/6000 44P 270 2路375/450MHz2. 内存容量分析主机的内存需求包括操作系统本身需要、数据库系统运行需要及数据库用户服务进程需要等方面。其中操作系统本身需要的内存开销并不大,大部分的内存需求还是来自于数据库系统。在数据库用户服务进程方面,每个连接到数据库的用户连接都要占用一定的主机内存资源,其占用的容量大约为600KB。数据库系统在运行时,需占用更大量的内存,根据数据库系统的运行机制分析及实际使用数据库系统经验来看,内存越大,数据库系统的性能越好。根据以上
14、的分析,建议主机配置的内存至少应达到3GB,考虑30%左右的内存冗余以提供最佳的性能,推荐配置4GB内存。对于业务量较小的分行,可以采用2GB内存。3. 硬盘容量分析外汇会计网络系统数据量依据不同省市业务规模差异较大,一般要在几十个GB以上。采用双机备份运行模式的分行,建议配置一台IBM 7133磁盘子系统,其他分行可采用服务器自带硬盘,容量应大于30GB。4高可用性分析由于各分行业务量差别较大,对于维持高可用性的要求各不相同,因此建议根据业务量的区别,不同的分行采用不同的配置。双机热备份:对于每天业务量在5000笔以上的分行,由于网点众多,由于故障造成的主机停机,会给日常业务造成极大的影响,
15、因此,保证主机无间断的工作是十分重要的,因此,双机热备是一个理想的选择。单机磁带备份:对于每天业务量在3000笔以下的分行来说,由于业务量小,网点少,主机一两个工作日停机对业务造成的影响很小,采用双机备份对资源是一种浪费,单机磁带备份的方式已经可以满足业务正常运行的需要。(注:根据对分行业务量的调查,笔数一般分布在5000笔以上和3000笔以下)2.2.4 配置小结规模配置机型CPU数内存存储运行模式大IBM RS/6000 H852路450MHz4-8GBIBM 7133双机热备份小IBM RS/6000 44P 2702路375/450MHz2GB18.2X2单机磁带备份2.3 中间件近年
16、来,以交易中间件为框架基础的三层客户机/服务器模式已被广泛证实为建立开放式关键业务应用系统的最佳环境。选择适合的中间件产品,将对系统产生的重要的影响。本系统就BEA公司的TUXEDO和厦门东南融通公司的LongTop-Link作一比较,并选择TUXEDO作为中间件。2.3.1 TUXEDO作为交易中间件中的优秀代表,BEA公司的TUXEDO产品提供了以下两个主要功能:l 负责客户机和服务器间的联接和通讯;l 提供一个三层结构应用开发和运行的平台。采用TUXEDO交易中间件,能大大提高系统通讯和运行性能。它可以把大量的前端请求汇聚成较少的后端连接并减少数据传送量,应用系统即使在大量用户同时请求服
17、务的时候也能够保持快速、稳定的工作状态。其主要优点有:l 通过数据压缩等手段,降低网络负担l 调度服务程序,提高主机处理能力l 提高数据库效率l 分布式环境中更高水平的数据完整性l 具备故障恢复能力,使系统有更高的可用性l 提供信息加密服务,确保系统安全l 使系统能灵活扩展另外,由于它提供的三层结构的开发运行平台,它还能:l 减轻开发人员负担l 使系统的安装与升级更容易l 减轻系统管理人员负担2.3.2 LongTop-LinkLongTop-Link是厦门东南融通公司自主开发的一个分布式联机事务处理系统的中间件,它为分布式环境下联机交易处理应用系统的开发和运行提供灵活和易用的平台,保证联机交
18、易处理系统运行的高效性和数据的完整性,同时提供其它辅助功能方便系统开发和使用。LongTop-Link采用三层客户/服务器结构。主要由以下部分组成:1. 核心系统:即实际的核心运行系统,包括管理内核、通信内核;2. 开发系统:即供用户使用的应用软件接口函数API;3. 管理系统:包括交易调度系统和为使用人员提供的监控工具。LongTop-Link提供以下功能:1. 网络通信:数据包压缩传输、文件压缩传输,并支持电话拨号备份2. 交易调度3. 交易流量控制4. 实时监控5. 安全性:身份认证和数据加密6. 日志功能7. 交易一致性管理LongTop-Link具有以下优点:n 降低网络负担:可以对
19、网络上传递数据进行压缩,进一步减少网上传递数据量。n 提高主机处理能力:LongTop-Link调度有限的服务程序为大量并发请求进行服务,减少网络连接量、内存占用、进程数量、信号量和CPU时间片等系统资源,成倍提高主机的处理能力。n 提高数据库效率:LongTop-Link通过采用长驻服务进程的手段,使得与数据库的连接被保持和复用,而且有限的服务程序只需与数据库建立有限的数据库连接,从而减少服务程序与数据库连接的次数和时间,大大提高了数据库操作的效率。n 提供文件压缩、断点续传功能,支持电话拨号备份n 通过通信日志,便于程序调试、交易跟踪和故障恢复。n 能进行交易监控、系统监控n 系统开销(共
20、享内存、消息队列、信号等)小n 价格便宜2.3.3 方案比较将TUXEDO与LongTop-Link比较如下:产品优点缺点TUXEDO市场占有率高,应用范围广,产品成熟,功能完善,性能好。系统开销大,价格贵。LongTop-Link系统开销小,价格便宜应用范围小,不够成熟,功能相对较少,性能相对为低。不支持异构平台的多种数据库,不支持Internet、CORBA应用以及XA协议。并且,我行已买断TUXEDO使用权,进一步购买只需付License费用,且能拿到较低的价格,弥补了TUXEDO价格昂贵的缺点。综合产品的性能与价格,建议选择TUXEDO。2.3.4 系统中的TUXEDO应用方案本系统的
21、数据及应用将集中在一级分行,从逻辑上看,各营业网点前台将通过网络直接挂在一级分行(系统逻辑图见本章第二节网络架构)。从物理上看,前台的网点PC首先要与二级分行相联,通过二级分行再联到一级分行。从功能上看,二级分行只是起了一个网络路由的功能。在网点PC上,安装ACE的Client端和Server端,负责客户界面的输入和输出。另外,网点PC上还安装了TUXEDO的Client端,负责与后台的通信及交易请求。采用上述网络架构,整个系统结构非常清晰,有利于系统的建设及维护。但是,这种网络架构存在一个风险:当营业网点数目较多,而且大量的营业网点同时做交易时,将造成网络拥挤不堪,影响交易的正常进行。TUX
22、EDO正好能在这种情况下发挥巨大的功效,有效地避免网络拥塞。为了避免网络拥塞,在TUXEDO的配置中,对每个二级分行配置一组WSL与其对应,每一组WSL能控制客户端连接的数量(最大的WSH数量)。这样在客户端请求数量较大时,TUXEDO将让这些请求排队等候处理,从而有效地避免网络拥塞,保证系统正常地运行,而不会因客户端的请求太多而导致后台系统的崩溃。第 3 章 功能模块总体上可分为七个模块:公用模块、联机交易、前台系统、参数维护、批量处理、业务管理和周边系统的接口。n 公用模块不直接运行处理业务,而是为其他模块提供服务,主要包括:帐簿登记、凭证登记、利息计算、币种换算、与周边系统实时接口。n
23、联机交易是日常业务的主要承担者,根据业务类别分为若个子系统:存款、贷款、汇兑、买卖、清算等,是OLTP服务器端的应用服务器。n 前台系统主要提供服务的接入与输出,是联机交易的外部界面,是OLTP的服务请求端。n 参数维护主要负责系统运行各类参数的维护,以主机终端方式交互运行。n 批处理完成批量业务,以主机终端方式非交互运行。n 业务管理完成非营业性管理、查询、统计、报表等处理。n 与周边系统的接口完成与国际结算、国际收支申报、B股资金清算、个人实盘外汇买卖系统、储蓄通兑文件等接口。第 4 章 安全保密4.1 概述外汇会计网络系统的交易信息需要通过广域网传输,业务数据集中存放在一级分行主机。因此
24、,外汇会计网络系统的安全要求包括如下两方面:l 信息传输安全:即保证数据从网点、二级分行以及一级分行的传输过程中的安全性,防止数据被伪造、篡改和冒充;l 数据存储安全,即保证一级分行中心数据的完整性,只有得到允许的人才能修改数据,并且能够判别出数据是否已被篡改。由于系统的网络连接将借助于各分行城综网,而城综网一般以DDN等专线方式连接,再加上分行现有的硬件安全设施,因此,网络的物理安全性较高。同时,为减少投资费用,本方案主要考虑以软件方式提高系统的安全性,因此还要求:l 软件算法应有较高的安全性,能满足应用系统安全的需要;l 软件算法应有较高的效率,对主机的系统资源占用少,不影响整个应用系统的
25、性能。为实现以上安全方面的要求,除制定严格的业务操作管理制度,加强操作系统的用户安全管理外,系统将采取以下措施:l 在业务应用系统中实现完备的用户权限管理;l 为满足信息传输安全要求,除利用TUXEDO中间件的加密功能外,还采取通讯加密和密钥管理等方法实现安全的网络数据传输机制;l 为满足数据存储安全要求,除利用数据库的用户权限等安全机制外,还采取对重要数据表进行加密的方法来实现数据存储安全。4.2 信息传输安全为确保数据在广域网上进行传输时的安全,防止数据被窃取和篡改,除利用中间件产品的安全机制外,还需在应用系统中实现较高的安全性。为此,系统将采取如下措施:采用DES算法对数据加密以保证数据
26、不被非法窃取;对数据包产生消息鉴别码MAC字段(Message Authentication Code)防止数据被非法修改,其中MAC算法可采用DES、CRC32或MD5;在登录系统时进行用户/口令认证,并对口令加密传输;建立完备的密钥管理体系经。下面就数据加密技术、数据完整性技术、身份认证技术及密钥管理方案作详述,并将讨论网络架构对信息传输安全的影响。4.2.1 数据加密技术数据加密技术按密码体制可分为对称密钥密码技术和非对称密钥密码技术。对称密钥密码技术要求加密解密双方拥有相同的密钥,需要用户之间传递密钥,安全保密性较差,但加解密速度快,强度高,在军事、外交以及商业应用中越来越普遍,DES
27、密码算法就是有名的对称密钥加密算法。 非对称密钥密码技术是加密解密双方拥有不同的密钥,要求密钥成对出现,一个用于加密,一个用于解密。它的特点是各用户拥有自己的解密密钥即私有密钥,而加密密钥即公开密钥则可以公开放置,用户之间不必传递密钥,安全保密性就比较好,但是多数公开密钥算法需要进行大量的代数运算,速度很慢,不能用于快速加密数据,而且需要建立认证中心。目前典型的公开密钥密码算法包括RSA算法、DiffieHellman密钥交换协议和DSA美国数字签名算法等。根据上面所述加密技术的特点,本系统对传输数据采用DES算法进行加密,辅之以身份认证手段,从而在加密速度和系统安全性两方面均达到较好的效果。
28、4.2.2 数据完整性技术加密只能防止数据不被监听,为防止数据在传输过程中被非法修改,通常采用以下方法:l 校验和即接收方计算出接收到的数据的校验和并与数据包中的值比较。若相等,说明数据没有改变;若不等,则说明数据在传输中出现错误或被修改了。循环冗余校验CRC(Cyclic Redundancy Check/Code)是对一个传送数据块进行校验,是一种高效的差错控制方法。l 摘要另一种防止改动的方法,其中用到的函数叫摘要函数。这些函数的输入可以是任意大小的消息,而输出是一个固定长度的摘要。摘要有这样一个性质,如果改变了输入消息中的任何东西,甚至只有一位,输出的摘要将会发生不可预测的改变,也就是
29、说输入消息的每一位对输出摘要都有影响。现在流行的摘要算法有有MD4和MD5。系统中将采用一定的数据完整性技术确保数据安全,具体为何种算法在系统设计时确定。4.2.3 认证技术 认证技术主要解决网络通讯过程中通讯双方的身份认可,主要有用户名/口令认证以及数字签名技术。用户/口令认证为传统的认证方式,简单而易于实现。若对认证过程中的口令传输进行加密,将大大提高安全性。数字签名作为验证发送者身份和消息完整性的根据,可用于通信过程中的不可抵赖要求的实现。数字签名基于私有/公共密钥对,数据源使用其私有密钥对数据的摘要或其它数据内容进行加密,而数据接收方则用相应的公用密钥解密,以验证签名的真实性。由于数字
30、签名需采用CA验证密钥,投资较大,在本方案中建议采用用户名/口令认证方式,其中口令采用DES算法加密传输。4.2.4 密钥管理由于DES算法的密钥需要双方共同保密,任何一方的失误都会导致机密的泄露。而且密钥发布中,还需要的防止任何人发现或偷听密钥。因此密钥管理对系统的安全至关重要。在本方案中,建议采用三层密钥结构:1. 本地主密钥:本地存储,存放在程序中,用以加密区域主密钥;2. 区域主密钥:用本地主密钥加密后存储在文件或数据库中,用以加密工作密钥;3. 工作密钥:用区域主密钥加密后存储在内存中,用以加密数据。其中区域主密钥存放在网点和一级分行的计算机中,可定期自动或手工更换,工作密钥可采用如
31、下实现方式:1. 静态方式即网点开机时,首先执行系统签到操作,一级分行将经区域主密钥加密后的工作密钥传输给网点,随后的所有交易均采用该工作密钥加密数据。加密后的通信包格式如下图所示,其中MAC由加密后的数据生成。2. 动态方式该方式在每次发送交易信息时,由发送方动态产生工作密钥,将经区域主密钥加密后的工作密钥以及用工作密钥加密的数据发送给接收方。加密后的通信包格式如下图所示,其中MAC由加密后的工作密钥和数据生成。由于动态工作密钥方式每次数据传输的工作密钥均不一样,因而具有更高的安全性。建议在数据加密后,采用动态Huffman算法对整个通信包进行压缩,以保证网络的传输效率和提高安全性。4.2.
32、5 系统网络架构对传输安全的影响如前所述,在本方案中,整个应用系统的网络架构主要有两种:二层结构和三层结构。在两层结构中,只需在网点和一级分行间考虑传输安全,二级分行只起路由中转作用。在三层结构中,而二级分行与一级分行的传输安全实现方法同上,具有较高的安全性;而网点和二级分行间的传输安全由神州数码公司的ACE平台实现。这一方式有以下缺点:l ACE的安全性能不确定,可能会降低整个系统的安全性;l 数据要经过两次加解密,对应用系统的性能会造成影响;l 整个系统需维护网点和二级分行、二级分行与一级分行两套密钥,管理比较复杂。4.3 数据存储安全 为防止对数据库的非法修改,建议对数据库的关键数据表设
33、立数据鉴别码DAC(Data Authentication Code)字段,该字段内容由数据库表中的关键字段生成确定。DAC算法可采用与MAC相同的DES、CRC32或MD5算法,由于DAC校验会影响数据库操作的性能,因而为保证应用系统存取数据库的高效性,建议如下:n 只对关键数据库表设置DAC字段,该字段内容取决于关键字段,如帐号、金额、利息积数、利率等;n 仅对数据库的Insert、Update操作进行DAC校验以防止对数据库的非法修改,对查询操作不作校验。同时,为了方便数据库后台维护,系统提供重置DAC功能,具体如下:n 对关键数据库表的操作按数据库管理员和安全管理员划分不同的权限,数据
34、库管理员可修改数据库但无重置DAC的权限,安全管理员无修改数据库的权限但可重置DAC;n 若需对关键数据库表操作,首先由管理员执行数据库的插入或修改操作;n 安全管理员再执行重置DAC操作,使数据库管理员对关键数据库表的操作生效。第 5 章 异常处理系统在运行中将出现各种异常情况,在方案设计时就应充分考虑,并制订相应的对策。在本章中,从网络通讯、主机运行、数据库等三个方面来进行异常处理设计。5.1 通讯异常处理本系统采用客户/服务器结构,客户端通过广域网与服务端通讯。由于网络存在不可靠因素,有时会出现传输过程中交易数据丢失的情况,造成客户端与服务端的交易不完整或数据不一致,从而导致银行的资金风
35、险和信誉风险。因此,如何确保数据一致性是通讯异常处理的主要内容。首先,中间件产品能在一定程度上保证交易的一致性。Tuxedo中间件支持现有的X/Open DTP XA标准,可与任何支持此标准的关系型数据库,如DB2、Informix、Oracle、Sybase进行两阶段提交,实现交易中数据的一致性。可以考虑将系统的事务前提到网点,运用TUXEDO的二阶段提交方式来保证前后台帐务的一致性。为进一步确保交易数据一致,系统还将通过增强应用软件功能,来避免前后台交易的不一致。以下将详述应用系统中的通讯异常处理方法。5.1.1 产生原因 在客户/服务器结构的联机交易处理系统中,一笔交易至少包含如下图所示
36、的四个过程:请求传输过程;服务端交易处理过程;应答传输过程;客户端处理应答过程。 由于网络传输的不可靠性,必然有“应答传输过程” 失败的情况。在这种情况下,就产生了服务端与客户端交易状态的不一致性问题:在服务端,该笔交易已处理或完成;在客户端,由于没有收到应答,该笔交易是失败的。这种客户端及服务端的不一致,会给银行造成资金损失或信誉损失。5.1.2 处理方式1. 方式一:采用冲正方式即当网点收不到主机的应答时,向主机发冲正交易。其处理流程如下:该方式处理简单,缺点是若该网点的网络一直不正常,冲正交易发送不成功,用户到别的网点办理业务时,银行仍存在资金风险或信誉风险。2. 方式二:交易锁和冲正相
37、结合方式该方式在后台数据库中设置一个“交易锁”,其业务流程如下:n 帐务主机在收到前台的交易请求后,将交易帐号设置“交易锁”状态;被设置“交易锁”的帐号不可以再发生存、取款交易;n 主机收到网点的“交易确认”后,解开帐户的“交易锁”,即执行“解挂起”交易;n 当网点收不到主机的交易应答,则向主机发“冲正交易”;n 主机收到网点的冲正交易后,取消原交易,并解开帐户的“交易锁”。采用该方式下,若该网点的网络不正常,冲正交易发送不成功时,帐务主机的交易帐号处于“交易锁”状态,银行不存在资金风险或信誉风险。具体分析如下:l 当第一步通信发送失败时,此时帐务主机未收到网点交易请求,主机不进行任何处理,同
38、时网点报错;交易重做,对系统没有任何影响。l 当第二步主机事务处理失败时,当事务处理失败时,INFORMIX将保证事务的完整性,主机不修改任何数据库表;同时主机向网点发交易失败应答;网点取消交易并重做。l 当第三步网点接收失败时,当主机完成交易处理,但网点未收到“交易应答”时,此时主机已成功记帐,同时主机也为此交易帐号设置了“交易锁”。网点在接收应答超时后,会向主机发冲正交易,同时取消交易。在主机在未收到“冲正交易”之前,交易帐号处于“交易锁”状态,不可发生存、取款交易,此时的帐户处于安全状态;l 当第四步主机收不到网点的“确认交易”时,主机收不到网点的“确认交易”时,交易帐户一直处于“交易锁
39、”状态,不可发生存、取款交易,帐户处于安全状态l 当第五步网点向主机发“冲正交易”失败时,主机收不到网点的“冲正交易”时,交易帐户一直处于“交易锁”状态,不可发生存、取款交易,帐户处于安全状态l 当第六步主机执行“解挂起”交易失败时,如果主机在执行“解挂起”交易时失败,INFORMIX 可以保证交易事务的完整性,保证交易帐户仍然处于“交易锁”状态。从以上分析可以看出,不论交易过程的任何步骤出现故障,交易帐户都将处于安全状态,保证银行的利益不受损失;但是,以上的处理流程仍然会出现前台交易失败,主机交易成功的情况(尽管交易帐户处于安全状态)。对此,我们在网点“试轧帐”、“轧帐”等交易时自动核对前、
40、后台交易并自动冲正。3、两种方式比较方式一优点是简单,易实现。若考虑增加当后台交易完成后向前台发送不成功或超时,后台自动将该笔交易插入到待冲正流水表中,由后台冲正服务进行冲正处理。这样可以增强第一种方式的性能,保证资金的安全。方式二优点是安全性较高,但可能给客户造成不便,并且将干扰系统的正常运行,例如一些内部账号如果被加上交易锁的话会影响其他交易的进行。同时,应用程序改动较大,实现难度较高。并且如果增加交易锁表的会在该表中产生瓶颈作用,影响系统性能。因此,建议采用方式一。5.2 主机异常及处理1. 主机硬件故障n 主机硬件部件(包括本地硬盘)发生故障时,若故障为符合HACMP定义的能导致发生双
41、机切换的故障条件,则会导致双机切换,应用切换至另一台主机控制和伺服,继续提供应用服务;n 主机硬件部件(包括本地硬盘)发生故障时,若故障不足以导致HACMP发生双机切换,或不影响应用服务,但为进行故障排除等操作,可人工控制HACMP进行双机切换,将应用切换至另一主机控制及服务;2. 操作系统故障n 系统出现突发的运行效率低下或报错时,可由客户作简单的基本检查,利用ps、vmstat、iostat、errpt等操作系统命令检查系统是否出现死进程、I/O瓶颈、内存不足等问题并进行初步排查,若短期不能解决时可人工控制HACMP进行双机切换,将应用切换至另一主机控制及服务,继续提供应用服务;n 出现死
42、机等操作系统关键性故障时,会导致HACMP发生双机切换,应用切换至另一台主机控制和伺服,继续提供应用服务;3. 主机网络故障n 主机网卡故障时,由HACMP将服务IP地址切换至本机另一块网卡,继续提供IP的可用性;n 连接网卡的线路发生故障时,该网卡配置的IP不通,则由HACMP将服务IP地址切换至本机另一块网卡,继续提供IP的可用性;n 主机操作系统发生TCP/IP等网络相关软件故障导致主机的网络不可用时,可人工控制HACMP将应用切换至另一台主机控制和伺服,继续提供应用服务;4. 共享硬盘柜故障n 共享硬盘柜的SSA线路部件发生故障时,由于SSA体系本身的环路结构,避免了单点故障,共享硬盘
43、上的数据仍可访问。此时共享硬盘I/O速率会降低;n 共享硬盘柜的硬盘发生故障时,由于采用了硬盘镜像策略,避免了单点故障,共享硬盘上的数据仍可访问。此时共享硬盘I/O速率基本不受影响;5补充说明 采用单机磁带备份的分行,在主机发生故障,不能正常工作时,可以手工记帐,待主机正常工作之后,把发生故障之后的交易补入到主机中。5.3 数据库异常处理系统采用Informix数据库,主要故障情况及处理方式如下:1. 数据库应作好完善的数据备份,通常可采用:n ontape s数据库数据系统备份n ontape a|c 数据库逻辑日志备份n dbexport数据库数据文本备份2. 数据库发生突发的访问效率低下
44、n 检查是否为突发性的业务高峰导致响应速度降低;n 检查操作系统是否存在异常(参考主机异常处理小节中的操作系统故障部分),并在操作系统级采取必要的处理措施;n 使用onstat -m、onstat d、onstat p、onstat k等命令查找是否存在出错信息、僵死的session、VirtualMemory不足、Chunk的I/O瓶颈等异常情况,经过慎重考虑及充分的技术咨询后决定是否及时采取杀僵死Session、调整VirtualMemory段、重启数据库服务器等必要措施;3. 逻辑日志未备份导致的业务停止n 在参数配置合理时,若数据库的逻辑日志未及时备份,则在只剩一个未用逻辑日志文件时数
45、据库会暂时停止所有交易。通过查看系统consol信息可判断该情况。对逻辑日志备份后,数据库继续伺服交易请求;4. 数据库报错n 使用onstat m等命令查看出错信息、系统运行状况,经过慎重考虑及充分的技术咨询后决定是否及时采取必要措施;5. 数据库僵死n 数据库僵死时,经过慎重考虑及充分的技术咨询后实施杀数据库进程、清理Semaphores等内存资源等必要步骤,重新启动数据库,并按照银行业务要求的验证措施追查、核对交易;6. 数据库无法启动n 检查数据库软件及设置n 检查操作系统环境及设置n 检查是否数据库空间故障,考虑从ontape系统备份及逻辑日志备份恢复数据n 若系统在业务运行中死机导
46、致数据库无法启动,则在从ontape系统备份及逻辑日志备份恢复数据后,还应作追帐处理;7. 数据无法从ontape备份恢复n 重新初始化数据库空间,使用dbimport工具从dbexport制作的文本备份恢复数据;n 必要时作追帐处理。8数据库备份与恢复n 数据库备份:依应用实际情况设定几个备份时间段,如日间交易处理结束后、日终交易处理结束后、上午及下午高峰交易时段后、等等,进行数据库联机备份。n 逻辑日志备份:日间交易处理时做持续日志备份。n 利用数据库备份磁带和逻辑日志备份磁带恢复数据到故障点之前的状态,也即online的最后一个检查点,此时可能会丢失几个交易,再利用记录的系统或网络流水进行补帐。n 利用应用系统提供的交易重入程序类似于数据库的逻辑日志恢复机制,只不过是通过编制的特定的应用程序,对记录的系统或网络流水进行交易的再现工作。第 6 章 数据移植本章将简要描述数据移植的方案,详细的情况参见外汇会计网络系统数据移植方案。6.1 实施原则为保证旧系统的平稳过渡,必须遵循以下原则:n 准确性原则准确性原则是数据移植必备原则