首页 理论教育 全球化时代银行系统高可用设计

全球化时代银行系统高可用设计

时间:2023-08-03 理论教育 版权反馈
【摘要】:在集中资源的访问下,批处理应尽量减少独占资源的时间,避免造成联机交易因等待资源而产生超时现象。

全球化时代银行系统高可用设计

由于核心系统的特殊地位和7×24h的服务要求,系统架构必须满足高可用标准。以下分联机、批量和长挂交易三个方面介绍核心银行系统的设计方案。

1.联机设计

需求分析阶段,主要是对业务需求进行分析,观察业务需求对于具体实现的限制,以及对系统可用性是否会有影响,同时,为应用系统选取合适的部属,以及与其他系统的交互方式。现在一般都使用集群来提高可用性,降低问题概率,但是这又引发了集群之间的交互可用性问题,若集群间通信没有进行良好的设计,就会造成单点故障。

同时,需要注意应用与应用间的连接方式,是否能在单个节点出现故障时,保证其他节点可以接管故障节点的工作,以避免单个节点发生故障时,影响联机交易的正常运行。

应用系统设计阶段,首先需要对应用系统如何使用和分布数据进行考量。为了提高读写的性能,一般采取将数据隔离的方式,减少对于物理上相同区块数据的并发。一般数据的隔离方式有以下三种:分库、分表和分区,分库是一种从应用到数据完全隔离的方式,具有最好的隔离性,但增加了系统的复杂性。当系统中的某些模块需要交互时,完全隔离的方式可能会导致其他的性能和可用性问题。

数据访问顺序采取一致性原则,对数据进行读取或操作时,要保证不同交易对不同数据的访问顺序,保证不同交易以同样的顺序更新不同的数据库表,以避免互相等待导致死锁。

理论上,事务的划分原则为:一个独立的交易就是一个单独的事务;但是仍应对单个事务更新资源的总量进行控制。如果单个事务更新的资源总量较大,应该分析将其拆分成多个较小的事务的可能性,尽可能保证联机交易的粒度较小、处理时间较短,以避免锁定资源过多导致的交易等待。

2.长挂交易设计

核心银行系统由于需要7×24h不间断服务,需要部分长挂交易支持,核心银行系统收报长挂进程设计原理如下:首先在参数表中,根据银行需处理的业务量大小,配置了各进程处理的银行数据,以及各进程之间的相互备份关系。然后,通过监控各进程的状态,当某个进程发生异常时,由参数表中指定的备份进程来接管故障进程的业务处理。当某个进程所在的节点出现异常时,可以配置该进程运行在其他节点上,也可以通过备份进程暂时接管该进程的业务处理,待故障节点恢复后再切换回去。(www.xing528.com)

3.批量设计

(1)批处理与联机启动的关系

批处理应该有清晰的关键路径,即对本系统和其他系统的运行有着关键影响的作业流。由于批处理的起始时间应保证仅依赖于正常的业务停止时间或固定的业务时间点(如子夜零点),同时由于批处理的耗时长短会影响到次日联机的启动时间,故在批处理时间窗口内应仅保留日终的业务处理,将向外围供数及报表等处理移出批处理时间窗口,即次日联机的启动应不依赖于供数或报表等模块的完成,即这些作业不应出现在关键路径上。

(2)减少系统间批处理的依赖关系

批量流程应尽可能地降低系统间的耦合度,避免系统批量间的相互依赖、相互等待。若批量处理需依赖于其他系统的数据文件,需对输入文件进行必要性检查,并需提供数据文件无法在预定时限内到达时的应急方案。在有外部文件依赖的情况下,批量处理应尽可能做到其他系统的文件随到随处理,避免出现文件全部到达后方可处理的情况。

4.批量与联机权重划分原则

在应用集群中,批处理面对系统资源的原则应为充分利用系统资源缩短时间窗口,但针对7×24h应用系统来说,应在整体工作中将联机的优先级设置高于批处理,这样在系统资源不足的情况下可以保证联机交易的正常处理,而对于批处理来说仅耗时小幅增长,并不会影响业务的连续性。

在集中资源的访问下,批处理应尽量减少独占资源的时间,避免造成联机交易因等待资源而产生超时现象。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈