热点数据处理模型在商业银行核心系统中的应用

2019-03-11 07:25吕远阳
数字通信世界 2019年2期
关键词:热点账户信息系统

吕远阳

(山东省农村信用社联合社,济南 250000)

1 引言

随着信息技术的不断发展,各类信息系统广泛应用于人们的日常生活。大多数银行业务都可以通过移动端随时随地办理,摆脱了时间、地点的限制。信息系统作为银行的生命线,支撑着银行业务的发展。如何提高信息系统的安全性和稳定性,保证业务的连续性,提升系统并发性,是银行IT系统建设时必须考虑的问题。

电商平台的各类促销、秒杀活动,节假日各类人情往来、消费采购等,经常会使某一时间段内交易量激增,对数据库访问增多,对部分热点数据的访问压力加大。这种情况下,数据库通常无法支持如此高的瞬时服务器请求,常见的解决方案是让大部分相同信息的请求都尽可能地压在缓存(cache)上来缓解数据库的压力,从而尽可能地去满足高并发访问的诉求。

对银行信息系统而言,发起的数据库访问大多针对资金账户等重要资源数量的数据,在数据安全、实时、准确及一致性方面要求非常高。一个业务请求,一般会包含对数据库的多张表进行查询、插入、删除、更新等操作,在一些业务场景中更新操作较为频繁。一般情况下更新一条记录在毫秒级,但是在高并发下,更新单条记录时,由于行锁造成的请求,等待将会非常严重,甚至会造成业务请求超时。即使选择持久化缓存方式,在安全性上也达不到此类数据的要求。因此,数据的热点单点问题由于其独有的高访问特性,如何提高并发性、安全性和准确性,逐渐引起了各大商业银行的广泛关注。

2 热点数据的概述

热点数据是一类被频繁访问的数据集合,它是由于技术处理的需要或业务实现的集中发生而产生的瓶颈数据点,因为可能是某些参数。热点数据是相对的,是突发的。总体来说,在商业银行信息系统中,热点数据可以分为三类:

(1)热点账户。账户类的数据记录,包括用于清算的内部账户以及业务频发的客户账户。

(2)热表。一类数据的集合,是那些总记录数不大且相对固定系统访问量又非常大的表。

(3)热点参数。被频繁访问的某个参数记录,是一些重要的数据,对业务流程起到关键的控制作用。

3 热点数据处理模型在商业银行中的应用

3.1 热点账户处理模型

对于热点账户,商业银行系统采用散列的方法处理。设定规则,将一个账户散列成n个子账户。修改账户时,专程修改其中的一个子账户,这样有多少子账户,就允许多少进程并发量;查询主账户时,则转换为查询全部子账户再做累加处理,再把累加的结果输出。处理模型如图1所示。

图1 热点账户处理模型示意图

3.2 热表处理模型

对于热表,商业银行系统采用将热表装入内存的方法处理。主要是将访问频繁,且少有变化的数据,在运行过程中动态的加载到共享内存中。哪个表在系统中按热表处理,是一种约定,并且如果一个表要变成热表,需要有一定的编码工作量。

就访问方式而言,热表与普通数据表的访问方式一致,都是通过DBI进行访问,对应用透明。交易处理的过程中,对于GU等日常读取操作,DBI访问时首先判断是否为热表,如果是,首先从HOT TABLE的共享内存中访问,如果读到,则直接使用共享内存中的数据,而无需访问数据库;如果访问共享内存结果为无记录,再去访问数据库原表,并把访问结果写入到共享内存中。对于UPDATE、DELETE、INSERT等操作,则实时同步更新数据库和共享内存中的数据,以保证共享内存中的数据与数据库一致,下次交易发起查询时,即可从共享内存中获取,无需访问数据库,减少数据库IO,从而提升处理性能。处理模型如图2所示。

图2 热表处理模型示意图

3.3 热点参数处理模型

对于热点参数没有特殊的处理,一般情况下,当热点参数严重影响系统性能时,会考虑把热点参数所在的表视作热表而按照热表的方式处理。热表数据一旦复制到共享内存区,读取数据性能大幅度提升。

4 结束语

本文首先介绍了商业银行信息系统中主要热点数据的概述,包括热点账户、热表和热点参数,然后着重介绍了上述三类热点数据的处理模型在商业银行信息系统中的具体应用方式。由于采用了将热点账户散列、热点参数和热表装入共享内存的方式,极大地降低了数据库IO及对同一条热点数据进行更改操作的概率,使整个商业银行系统可以灵活地应对高并发交易场景下数据的不准确、不一致及交易超时等问题,使系统处理性能得到极大提升。

猜你喜欢
热点账户信息系统
热点
企业信息系统安全防护
如何切换Windows 10本地账户与微软账户
探索自由贸易账户体系创新应用
外汇账户相关业务
热点
基于区块链的通航维护信息系统研究
父亲的股票账户
结合热点做演讲
信息系统审计中计算机审计的应用