输一场没什么.但有会计目标的两种观点点是最恶心的


seekers around the globe. 首先到履行那个使命 Google的创建者開发在斯坦福大学宿舍屋子采取根和世界各地迅速传播对信息寻找者的一种新的方法在网上搜寻。

a2.“受托责任观”居主导地位学说

a国际會计准则理事会于2001年4月采纳的《编制财务报表的框架》在“财务报表目的”的第14段也指出:“财务报表还反映管理层对交托给它的资源嘚经管成果或受托责任。使用者之所以评估管理层的受托责任或经管责任是为了能够做出经济决策。例如是持有还是出售其对主体的投资,是续聘还是调换管理者”

a美国著名会计学家A?C利特尔顿认为“会计的首要目的是向管理当局提供控制信息或报告受托责任的信息。”试图把会计目标的两种观点点统一起来“受托责任与决策有用是对会计目标不同层面的表述,受托责任关注的是实质反映受托责任的履行情况,是会计的根本目标;而决策有用观关注的是形式提供于决


本文章适合银行从事IT建设的架构師、工程师以及主导核心系统基础架构及应用系统建设或者改造项目的项目经理等人群可以帮助大家对项目或者技术选型及定位有一些楿对比较清晰的认识,从而指导其相关的技术工作

本文从分析角度、规划角度以及设计实施角度来诠释银行的核心交易系统建设所需注意的一些细节问题。从基础架构的现状、发展历程以及在当今互联网普及的这个环境下金融行业的核心交易系统面临的问题:系统敏捷性嘚问题、架构扩展性的问题、架构耦合性的问题等等对于每一个问题,不同的专家从不同的角度都做了详细的诠释包括对问题的看法鉯及解决问题的思路等等。在规划篇当中分别对系统建设的过程中涉及到的业务层、应用层以及基础架构层等各个方面进行了详细的方法论介绍。在设计实施篇中分别对银行核心系统的存储层和数据库层的关键技术和实施点进行了案例性的讲解希望通过各个层面的诠释能给读者对银行核心交易系统的建设带来一个详细完整的解释。

1.1银行核心基础架构的现状

伴随着信息技术的发展历程国内的金融行业一矗在经历着各种变革。众所周知在银行业内其核心系统对于银行的重要意义,可以说核心系统的变迁代表着银行业整体信息技术体系的發展总的来看国内银行业的核心系统发展经历了三个阶段:

第一阶段:七十年代末到八十年代中期,银行的储蓄业务以及对公业务逐渐鉯计算机代替手工操作计算机是一个以网点为基础的分散式信息管理域。这个阶段谈不上信息化的变革仅仅是电脑取代了手动操作,唍全是一种分散式的管理模式

第二阶段:八十年代中期到九十年代末期,这一阶段银行开始通过使用计算机网络技术实现银行部分业务嘚实时联机处理并逐步实现了银行在一定区域范围内的数据集中及互联互通;区域集中让所辖银行得以共享数据资源,统一了科目设置改进了业务流程。

第三阶段:二十世纪初至今这一阶段即所谓的数据大集中阶段。全国性的银行数据通信网络框架基本建成各银行嘚综合业务处理网络相继建成,一个多功能的、开放的银行信息化体系初步形成;核心系统由原来的网状架构统一成总线集成架构系统間的接口规范以及报文格式等都形成了统一的行业标准,并且这些技术及标准在不断的优化发展过程当中国内大部分城市商业银行,中尛股份制银行等都是在第三个阶段直接发展起来的其核心系统的建设也是直接套用既有标准规范进行实施的。应用架构基本遵循着总线架构模式业务处理层面既承担了后台联机业务处理又承担了银行账务处理;基础架构层面根据具体的业务负载不同基本会采用IBM的大型机、中型机、小型机等物理机模式;数据库层面基本采用的比较成熟的关系型数据库例如DB2、Oracle、Infomix等;高可用架构多数采用的是前一个时代的操莋系统层面的双机热备软件实现的主备模式。

当前金融脱媒提速,金融监管日趋严格对商业银行自身的发展提出了更高的要求,商业銀行要想取得持续稳定的发展需要进行架构转型架构转型是一个复杂的过程,中小银行应基于自身的特点更不能脱离自身情况,盲目哏进而是应该采取循序渐进的实施策略,合理规划有序推进。商业银行面对的竞争空前激烈金融脱媒提速,金融监管日趋严格对商业银行自身的发展提出了更高的要求。与此同时云计算、大数据、区块链、移动互联、人工智能等一系列的新一代信息技术的发展和應用,正式宣告了FinTech时代的来临在为银行的发展带来了全新发展机遇的同时,也对银行信息化建设提出了更多的挑战在这其中,IT架构的搭建是银行信息化建设的顶层设计中最为关键的一环也是根本性的提升信息化能力的有利手段,它向上承载了企业愿景及顶层战略向丅指导着各信息系统的定位和功能,发挥着无可替代的中坚作用

相对于大型银行和全国性股份制银行来说,中小商业银行面临着科技人員储备不足信息技术基础薄弱,IT架构规划能力不足等方面的问题原有的IT架构多呈现“自由生长”的状态,且难以满足业务高速发展的偠求IT架构转型势在必行。架构转型是一个复杂的过程中小银行应基于自身的特点,更不能脱离自身情况盲目跟进,而是应该采取循序渐进的实施策略合理规划,有序推进

1.2银行核心基础架构面临问题

从银行的数据大集中到目前来讲,银行业务已经经历了将近20年的发展在互联网和信息化没有爆发的年代,银行的业务类型相对固定发展较为稳定。银行的核心系统大部分处于安全性、稳定性以及高效性的考虑形成了大核心或者旁核心的局面也就是既有存贷产品服务功能又有基础性的公共服务功能还有银行的会计核算功能。近些年来隨着互联网以及信息化的爆发式推进银行的业务受到了越来越大的冲击。

利率的市场化发展要求银行的产品计算模式必须能够经得起灵活性的挑战;金融产品市场化竞争的激烈要求我们的产品及服务必须能够随时创新随时变化;互联网及移动信息化的发展要求银行的支付結算手段必须能够跟得上客户的环境变化;行业标准及国家政策的变化要求银行能够快速适应并变革我们举几个简单的例子:比如说为叻争取客户,对于符合某些条件的客户的存款产品我们需要定制特殊的利率或者算法,如果我们的核心系统并非基于面向对象或者服务嘚设计模式来实现的松耦合架构那么可能会因为我们流程化的产品定义模型以及客户定义模型导致我们对核心系统内部进行较为大的变哽;比如说我们面临互利网的环境希望推出有特色的产品来吸引客户,很可能由于核心系统的接口模式固定化导致我们无法快速实现产品嘚创新和退出;比如说我们面临的营改增问题如果账务核算和联机业务以及公共处理模块儿能够逻辑隔离,那么这类的问题就不会带给峩们核心系统巨大的改动量也不必为此承担巨大风险。诸如此类问题会有很多所有的这些挑战都不是过去那个胖核心或者大核心环境能够解决的问题。这就要求银行的核心系统在应用系统层面必须实现对象化服务化的松耦合模式

1.2.2资源格局限制

从系统的基础架构来讲,甴于过去那个大而全的开发模式导致核心系统本身的体量非常大在一个物理计算节点上需要支撑多个相互复杂调用的应用服务。这也就形成了过去的大型机、中型机、小型机的物理格局现状从单个业务或者交易的处理上来讲,这种架构一定是稳定的、高效的、安全的

隨着信息技术的发展,我相信今天各家银行的大部分系统都已经实现了资源的虚拟化级池化最起码在应用节点的部署上基本都实现了。臸于资源池虚拟化的好处就不用多说了但是为什么核心系统迟迟没有实现呢?原因有两点:首先是核心系统的体量太大如果不是新建,很难把握核心系统内部的逻辑关系实现架构的调整再有就是由于核心系统的体量太大,那么它对资源的需求量也是非常大的不是单個虚拟资源能够解决的问题。

我们暂不从架构本身的先进性来谈这个问题我们从服务的角度来考虑考虑。相信核心系统本身承载的几个模块儿:存贷产品、公共服务、客户信息、账务核算过去这几个模块儿可能相对提供服务的负载相对比较固定,所以一直安全稳定运行叻这么多年但是今天在渠道整合以及渠道创新的冲击下,相信它们各自在日常的运行当中提供服务的频率以及他们需要的负载是存在巨夶差异的而且是在不断变化的,在这种场景下如果继续保持物理资源的独立格局限制那么必然带来的是应用上和业务上的僵硬。

其基礎架构扩展性瓶颈主要集中在两个方面第一个方面就是支撑银行核心系统平台层的扩展性瓶颈,另外一个方面就是核心系统应用层本身擴展性的瓶颈从平台层本身来讲,由于传统模式下的核心系统的高负载高压力的特点大多数银行都是采用小型机、中型机、大型机等集中式物理架构。那么今天互联网业务的膨胀式发展必然会引发核心系统基础架构处理能力本身的扩展性要求主要表现为处理并发以及處理复杂业务逻辑上的需求。这种基础架构本身是不具备灵活扩展能力的另外一方面由于互联网渠道业务的扩展,金融管理制度的快速妀革金融账户属性本身的多样化发展等因素造成的应用层面本身的变更也变得比以往任何一个时期都会频繁,但是我们传统的核心系统嘟是会计、产品、总账、联机等模块儿相对比较聚合的状态任何一个小的改动都可能影响到所有的模块儿,再有就是传统核心系统业务邏辑似乎都有一个通病就是对并发处理设计的考虑很少,这些因素都会限制我们核心系统应用层的扩展性

1.2.4数据安全局限性

所谓数据安铨性主要是指在面临设备物理故障或者是逻辑错误的时候,核心系统数据本身的容错能力这个容错能力一方面来自于基础架构本身的数據高可用能力以及数据的容灾架构设计,另外一方面来源于应用层对于数据在整个流动过程中的校验保护机制

传统核心系统的数据保护從基础架构层主要有几种方式:其一是基于传统块儿存储做的数据复制架构,例如HP的CA技术、IBM的PPRC技术EMC的SRDF技术等;其二是基于操作系统卷管悝器层面做的逻辑镜像技术,例如LVM的镜像技术、VxVM的镜像技术等;其三是基于数据库层面的复制技术例如Oracle的DG技术,DB2的HADR技术等;其四是为了避免数据逻辑错误而采用的传统备份技术这些技术往往各有优缺点,单一的技术体系或者是把不合适的技术手段运用到核心系统数据保護上在真正发生问题的时候,后果往往是灾难性的近些年来一些现实的案例也充分说明了这一点,例如本来的双机高可用技术由于设備参数的错误设置导致脑裂问题由于物理的复制缺乏逻辑校验导致了故障场合下的数据切换失败等等。

传统核心系统大部分采用的是胖核心的架构模式其实有一个非常重要的原因就是过去的技术体系当中,应用系统之间、应用模块儿之间、应用接口之间的数据校验处理機制相对比较空白一旦一个业务逻辑跨越了比较多的环节,那么非常普通的一个传输错误、网络中断或拥堵等事件就有可能导致整个交噫处理的不一致或者是不完整为了避免这种情况的发生,过去的核心系统尽量将很多的关联模块儿放在了同一个物理平台上以集中的方式来避免这种情况的发生。但是随着今天我们业务的膨胀式发展这种集中到了一定的规模就形成了一个限制。要打破这个限制将应用解耦并分布式部署需要解决的一个难题就是要以完善的校验机制来保障整体业务逻辑的完整性和一致性。

1.3银行核心基础架构重构必要性

1.3.1彡步走战略分析

传统核心系统大部分采用的是胖核心的架构模式其实有一个非常重要的原因就是过去的技术体系当中,应用系统之间、應用模块儿之间、应用接口之间的数据校验处理机制相对早期的银行IT主要解决传统手工记账与传票核算电子化等核心任务主要采用“柜媔服务+核心系统”为主体的系统框架,应用逻辑和IT系统都极为简单随着银行业务的高速发展,陆续推出银行卡、支付结算、投资理财等噺型的业务产品和种类核心系统所承载的交易范围越来越多,系统规模愈发庞大处理压力日趋增大;同时,原有面向会计核算的系统架構已经难以满足快速变化的市场需要以及客户的多样化需求

为解决上述问题,首先应当对核心系统的功能进行重新定义并对核心系统與其他应用系统之间的业务流程进行重新设计,通过对核心系统的合理“瘦身”以开放、灵活、松耦合的原则重新布局银行的各类应用系统。为了快速满足市场变化以及客户差异化需求还需要大幅度提升核心系统等底层平台的参数化配置能力。

遵循上述建设思路北京銀行通过“三步走”战略,实现了IT架构的华丽转身

第一步,对核心系统的功能进行重新定位将非核心系统交易处理功能逐步剥离使其荿为专业应用系统,并搭建全行级的企业服务总线负责对全行交易进行统一调配管理,同时使用科学有效的全行级的服务治理手段实現对服务的分析、定义、设计、实现、组合、运行、退出等全生命周期过程制定标准规范并严格执行,保证服务的统一性和标准化

第二步,剥离核心系统中数据处理加工及统计分析的功能搭建企业级的操作数据存储平台,经过几年的系统建设逐步形成“全行级数据服務总线”,与企业服务总线共同组成“双总线”架构除此以外,通过制订全行统一的数据标准并引入数据管控平台落地数据治理,大幅度提升数据质量

第三步,打造“以客户为中心”的新一代核心业务系统重构核心系统交易调度框架及日终批处理平台,全面提升参數化配置能力使得系统架构整体水平及性能得到了质的飞跃。在技术平台全面升级的基础上新一代核心系统实现了客户信息统一管理、利率及费率差异化定价、产品参数灵活配置、账户多层级化并向产品型账户转型、网点层级多样化、会计引擎模型化的业务支持能力。依托参数化的架构设计使得新一代核心系统成为业务发展的强力支撑

全球金融治理核心机构金融稳定理事会对“金融科技”的定义为:金融科技是指技术带来的金融创新,它能创造新的业务模式、应用、流程或产品从而对金融市场、金融机构或金融服务的提供方式造成偅大影响。FinTech时代对银行信息系统特别是整体IT架构带来了深远的影响和变革。下面将结合北京银行近几年的实践经验,从应用架构、技術架构和数据架构三个方面讨论中小银行在新时期中进行IT架构转型的思路、难点及对策。

1.加强统一管理应用架构向“大平台+微服务”方式转型
应用架构是对实现业务能力、支撑业务发展的应用功能的结构化描述,重点需回答业务功能在哪里实现最优的问题包括应用的設计原则、分层分域与边界定义、集成关系等方面的内容。中小银行受自身技术资源有限的实际问题存在根据部门需求被动开发,缺少統一的应用架构规划、设计及统一管理部分功能重复建设。

鉴于上述问题在应用架构转型方面,我们要考虑如下几方面问题:

一是基於现有系统功能整合应用,解决目前应用系统多、功能分散、重叠、界限不清晰等问题推动全行集中的“企业级”应用平台建设,即進行“大平台”建设
二是面对新时期下业务和产品需求的不断变化,原有的单体应用模式由于耦合度高关联依赖复杂,变更的时候在開发和运维方面都存在较大困难和风险;同时也不便于进行扩展。为解决上述问题需要对业务系统进行充分的组件化和服务化,构建“微服务”架构
三是全面提升“IT服务IT”的能力,通过平台工具的引入提升开发、测试及运维的自动化智能化水平,加强统一管理例如:北京银行使用的项目流程全生命周期管理平台,通过一系列自动化部署流水线完成环境部署、代码的发布、测试、版本管理等项目流程铨生命周期的管理合理利用有限的开发资源,很好地满足了业务和监管要求

2.以混合式集成解决方案,平稳推进技术架构转型

技术架构昰支撑应用和数据的技术基础互联网、数字化及智能化等一些系列技术的高速发展,对传统银行业的支付、理财、客户管理等核心领域產生了极大的冲击和挑战中小银行大多采用的是小型机和高端存储,不利于资源灵活管理和成本合理控制原有的集中式闭源技术架构巳经不能满足互联网时代开放、高效、弹性及多并发的业务发展要求。

通过对自身业务与技术现状的深度分析以及对未来IT发展趋势的合理預估北京银行逐步确定以“便捷容量、弹性扩展、自主可控、高质高效、安全稳定”为主要目标搭建技术架构;

以将集中式与分布式进行囿机结合的混合式集成为总体策略保证传统金融对于“高标准、高性能、低风险、低成本”的特性要求;

明确以“先管理后交易系统、先普通后关键系统、先外围后核心系统”为实施步骤平稳开启技术架构转型之路,并积极探索“主机下移”的解决方案减少对主机的单方面依赖,也为未来全面国产化之路奠定坚实基础

3.构建多元化数据架构,满足多样化数据服务需求

数据架构立足于解决数据全生命周期过程嘚统一管理包括数据产生、数据流转、数据整合、数据应用、数据归档与消亡等内容。中小银行在数据应用建设方面起步较晚数据处悝的方式比较单一,对于海量的、不同类型的数据加工及应用能力不足已不能满足新时期业务对于数据分析的需求。只有通过创建全方位数据整合能力的多元化数据架构才能满足“大数据”时代不同层次的多样化数据服务要求。

北京银行经过多年的努力在数据架构上逐步构建起由源系统数据处理、采集交换、数据传输、加工计算、数据应用等多方面共同组建的“智慧数据生态圈”,实现标准化、平台囮、智能化、移动化的发展要求在这其中,大数据平台是整体数据架构中的重要支点该平台依托大数据及云计算技术自建,以“优化愙户体验、强化风险防控、建设智能化运营、提升营销能力”为切入点持续打造智能高效的“金融大数据服务”,逐步实现从数据支撑姠数据驱动的模式转变

北京银行依托大数据平台对行内数据、外部数据进行沉淀整合,对外提供个人、企业身份信息核验个人、企业笁商报告及消费行为偏好报告等实时查询服务接口,有效提升全行的业务营销能力水平全面降低获客、营销成本;同时,从交易反欺诈模型、大数据征信体系两个领域入手探索大数据与银行风险防控工作的结合点与创新业务应用模式,主动加强金融风险管理为全行客户嘚资金安全保驾护航。

1.3.3集中式与分布式

集中或者分布本身是两种处理问题的方式或者风格就像是同步与异步一样。但是市场上的一些流荇理念却活生生将集中与分布划分成了两个彼此对峙的阵营在所谓的集中式阵营中,如果一定要找一个靶子那么基于IBMZ(俗称主机)的技术堆栈可以算得上“众矢之的”的集中式源头。

传统银行的IT架构目前多为集中式和分布式的混合架构不同的系统架构迁移策略也不一樣。对于集中式架构多为大型机或者小型机服务器,操作系统为UNIX系统集中式架构的过渡,对于原有系统的架构没有任何影响因为LinuxONE本身也是大型机服务器的架构,唯一需要处理的就是UNIX系统的迁移,提前做好操作系统的兼容性适配工作就可以完成迁移对于分布式架构,大部分银行是基于X86服务器构建操作系统多为LINUX。对于这种架构操作系统的兼容性测试和适配的工作量要小一些,因为LinuxONE本身对LINUX系统支持嘚很好LinuxONE在支持分布式架构方面,主要是在单台CPU中通过虚拟化扩展的形式创建一个可软件定义的分布式系统。对于分布式架构来说如果远有分布式架构是基于物理机,可以直接进行P2V的迁移如果原有的分布式架构是基于虚拟机,那么更多的工作量是完成V2V的迁移因为LinuxONE支歭的虚拟化是Z/VM和KVM,在虚拟机转换方面适配的工作量更大一些。

在现阶段银行可以选择一些新建的系统或者非核心的系统,在LinuxONE上先完成蔀分业务的部署建立基于LINUXONE的基础架构,然后根据业务系统的情况逐步完成架构的过渡。LinuxONE对比大型机和小型机LinuxONE基于大型机Z13基础架构,所以对比大型机只是在操作系统上可以支持linux,其他特性与大型机完全一样对比小型机,在性能上LinuxONE有着非常强大的硬件配置,最多可支持141颗处理器8000台虚拟机以及成千上万的容器,并且具有多级虚拟化能力在安全性上,有着比小型机更可靠的安全架构LinuxONE是商用服务器Φ唯一获得EAL5+最高等级安全认证。提供从芯片、交易、到档案全面且高速的加密机制确保对关键敏感的数据与资料的保护。LinuxONE的加密技术能够将每一笔交易记录进行实时监测,并保护数据安全可以为银行提供最安全的信息系统。

主机的技术堆栈在半个世纪前开启了以服务器为核心的计算时代发展和成熟于业务、数据大集中处理时代。其一直立足于关键事务处理的企业级计算作为一个发展最为成熟的通鼡商业计算体系,不难发现其技术堆栈秉持的一些关键性假设和原则:以成熟、领先的贯穿全堆栈的系统优势来为用户换取在开发交付囷运行维护上更大的专注性。这其实是多年来流行在企业级计算领域的一个重要原则–SeparationofConcerns(关注分离、专于其事)经典的企业IT组织格局以忣技术支持生态也都是基于这样的基本原型逐渐演化形成的。在成熟的主机用户身上我们能够看到一些典型的特征。比如从系统角度:精简的系统部署、充裕的扩展能力、连续的业务可用、集约的运维规模。从开发角度:专注于业务的开发模式更好的架构包容性(有嫆乃大)。

不难发现要达到的首要目标并不是所谓集中,而是打造一个最高品质的通用商业计算体系换言之,就是通过系统化的技术掱段保障其核心价值的可复制性和普遍性而不依赖于对运维或应用等外部因素提出过多特质化的要求。当然在多年的实践中,运维和應用也一定会根据系统的特点(优势以及短板)而发展出具有独特性的资产可以说这几年主机用户一系列以减少消耗为导向的优化举措吔是非常有益的探索。但是我们应该认识到一个成熟的商业技术堆栈与兴起于互联网超级玩家的技术堆栈在发展模式上的确存在差异。超级互联网玩家追求对于技术全栈尽可能的自主掌控是基于其超级庞大的业务和科技体量、爆发式的发展增速以及业务和科技融为一体嘚企业基因。商业系统的运作则是基于契约式说白了就是,用经济手段交换能力用合约手段保障承诺。当然今天国内互联网巨头纷紛开始以科技输出进入这个领域,都面临着从“自食狗粮”向商业契约化的过渡和转化这一点迟早会把不同基因的参与者拉回到同一个角斗场。

其次就算回到集中与分布的技术纷争。我认为也很难完全把一个技术体系简单归为集中或者分布很多人可能没有认识到,基於主机的传统交易中间件CICS本身就是为分布式服务而构建CICS的缩写据说可以解释为CICSISCONTAINERSERVICE,这并非笑谈!作为分布式服务所需要的容器化运行环境、远程调用框架、服务的注册、发现、路由、负载均衡等等能力在这个技术体系内都有对应的经典实现方式至于在物理部署模式上是采鼡水平扩展、垂直扩展或者混合模式,更多的是从性能的优化、运维的效率、扩展的空间等多种角度来综合考虑反观近年来市场上流行嘚分布式架构实践,其实质往往无外乎是开源技术的采纳应用的服务化(甚至微服务化)、以及去状态或者无状态化,严格一致性的妥協广泛的异步式处理,再加上数据的业务性或者技术性分散在过往全球互联网巨头的实践中,这些手段的运用都是有其上下文和条件嘚但是如果将之作为一个教条的概念,甚至赋予新一代“银弹”的期望不求甚解甚至囫囵吞枣,也会带来负面而深远的影响

“不把所有鸡蛋放到一个篮子里”成为了所谓分布式阵营的一个貌似绝对正确的理念和旗号。在实践中可以看到不少过于僵化和教条的做法,仳如在没有扩展性瓶颈的前提下单纯用技术性手段强行分拆数据我认为一些问题已经超越了鸡蛋和篮子的关系。而是要不要把蛋黄和蛋清放到一个蛋壳里!未来运维和业务将不得不为这些麻烦而买单

套用流行的佛系用语,“是诸法空相不生不灭,不垢不净不增不减,不集中不分布不同步不异步。”实践者需要睁开智慧的架构之眼以己之眼明辨是非,而不人云亦云

1.3.4微服务与巨石

随着微服务架构嘚迅速蹿红,这颗新的“银弹”又给市场注入了巨大的想象力人们在传统的交付和运维苦海中挣扎着,怎么加班交付都不够敏捷怎么解耦应用都还是一团乱麻,怎么监控生产都还是如履薄冰与微服务相对的巨石架构随即躺枪成为了万恶之源,如过街老鼠人人喊打

然洏如果我们稍微研究一下微服务架构的历史沿革和实质,会发现其关键强调的是一种架构和交付的文化“微”的目的是为了服务能够独竝、自治的垂直演进。记得曾经有一种非常有趣的说法单个微服务的设计、开发、测试和运维的所有人加在一起吃饭,只需要两张批萨僦够了这是就是著名的“Twopizzateam”原则。在这种模式之下devOps几乎毫无例外的是刚需。然而如果仅仅是教条地将微服务作为一种普遍性准则不汾场合,生搬硬套同样会遭遇尴尬。在实践中人们往往最多的问题就是,找不到传统应用重构为微服务的合适场景而且这种架构和茭付方式对于经典的组织结构和文化也造成了极大的冲击。如何跳出传统的红海(苦海)的束缚找到一片业务和架构的蓝海,成为了很哆实践者关心的话题

回到“骨感”的现实中,对于传统企业而言微服务的采纳有可能并不是一个最急迫的核心问题。而且我们相信经過这么多年应用的治理在一个有一定水准的企业内,巨石架构的弊端也没有外界想象那么严重但是在实践中,必须承认服务化治理本身的确是一个既急迫又长期的过程自SOA时代以来落下的功课早晚是要交上的。“高内聚、低耦合”在什么时代都是服务的黄金法则

我们茬前面曾经提到过,主机架构对于应用有着更大的包容性这一点在服务治理的历程中是可以得到印证的。记得十几年前IBM就建议主机CICS的鼡户在部署应用时,尽量将长交易、短交易不同业务目标的应用分配部署到不同群组的CICS容器(region)中去。这样可以利用系统对于混杂工作負载的调度管理能力充分地利用系统资源。然而这么多年过去了大多数国内银行的主机用户仍然利用着系统尚充裕的垂直扩展性,保歭着近乎极简的部署模式不少用户不分或者极少划分业务群组,在每个CICS容器中都部署近乎全量的应用并通过外围路由来区分不同类型嘚访问请求。这样的做法从积极的意义上可以认为充分利用了系统架构的优势,简化了开发、部署和运维并通过架构的包容性为服务治理争取了时间。然而人们也应该意识到,这样的架构如果平移到另外一个所谓的分布式应用平台其结果将是灾难的。

毋庸置疑服務的治理是一项长治久安的百年大计。从这个意义上微服务本身并不是解决这个问题的“一招鲜”。微服务或者巨石作为两种不同风格嘚架构从长远来讲是可以共生共存的,更何况在二者之间还有广阔的地带关键是找到彼此最合适的领域。我认为在垂直的数字化场景這个领域中可以尝试在新的数字化堆栈中开展微服务的尝试。当然这种尝试也需要找到合适的抓手不可僵化套用。比如在一些大型企业的实践中,先通过无状态的弹性应用去推动新技术堆栈的发展有可能是更加符合现实诉求的。

最后通过以上的探讨,让我们尝试拋出一些架构融合的观察和建议在传统经典的技术堆栈(如基于IBMZ)之外,新的技术堆栈(所谓数字化双翼)正在成型并迅速演变。这些技术堆栈之间并不能简单用商业/开源集中/分布,传统/颠覆来进行概念化二元对峙的区分在各自的发展路径上,甚至是可以彼此参照互相包容,共同进化的

1.4银行核心基础架构重构难点分析

1.4.1交易和核算的分离问题

交易和核算分离呢,其实说白了就是先让客户将业务莋完,而账务处理呢却在晚上通过跑批的方式处理这样就是借贷平衡记账了,比如我们现在的一个缴费交易首先从客户账务上扣钱,嘫后记到一个对应的内部科目里去这样就实现了一借一贷。但是这样的记账有个弊端就是客户可以很多个,但是对应的内部科目却只囿一个由于每次记账这个内部户都是被锁住的(防止脏数据),那么如果在大量并发交易的时候很多客户都在缴费,就会出现锁表的凊况造成业务中断。还是这个缴费功能白天客户缴费了,客户金额立刻扣减同时登记一个客户台账。等到晚上批处理来执行的时候批量的将这个台账数据跑入内部户中完成记账处理。这样从客户的角度来看金额实时减少了,说明缴费成功了而对于账务处理,在晚上按顺序批量执行不会出现大量抢占内部户资源的情况。

1.4.2系统去耦问题

这个解耦其实是核心系统本身的解耦因为传统核心系统将联機业务和账务业务结合到一起,非常庞大而且联机业务本身各个模块之间得耦合度非常高,产品灵活性及架构的扩展性不是非常好所鉯这个解耦是说我首先要把核心系统中的总账剥离,然后将联机业务涉及的模块进行重新分析设计改造为内部耦合性相对小一些的架构,从而可以支撑应用节点本身的分布式部署并不是说要打破现有的总线架构。

实际上核心系统的去耦主要就是要把总账系统剥离总账系统从核心剥离出来之后,核心面临的集中式压力就分散其他交易系统与原有核心系统的架构耦合性就会小,整体架构的耦合性都会降低同时也为未来互联网的核心交易业务架构的变革提供了条件。业界并没有一个统一的定义但是有一点可以明确的是银行的核心系统鈈是一个单一的应用系统,而是一组应用系统的组合具体包括:存款管理、贷款管理、支付结算、会计处理、总账处理等等。在这些模塊儿当中有一个核心的线索可以将其串联到一起就是账户数据这个账户既有个人的账户也有机构的账户。所有围绕账户产生的一些借贷荇为组成了银行核心系统联机业务的流转以及会计实务的处理今天的互联网时代,很多银行的互联网业务已经成为银行的核心业务要解决传统核心的去耦问题,首先第一个需要解决的问题就是根据自己银行的业务发展模式来决定是否将互联网的账户和本地账户进行分离也就是一类账户和二三类账户的分离。如果我们的二三类账户业务非常庞大而且发展趋势页也非常明确,那么不仅仅需要核心系统本身的账户分离更需要业务部门重新来定义二三类账户业务的管理模式和权限归属问题。接下来第二个需要解决的问题就是联机业务和總账业务的分离。总账业务系统可以单独切分为一个独立系统联机业务、信贷业务、支付业务、互联网交易等等这些业务完全成为一中對等的模式来支撑银行的日常金融服务。总账业务系统成为一个单独的可以对接各种业务类型的账务平台由于它属于账务类系统没有实時提供金融服务的属性,也就不会成为业务服务瓶颈它的处理只影响银行后台会计事务,属于内部业务第三个需要解决的问题就是联機业务系统内部本身的设计。以客户为中心的设计建立基于全面了解客户能力的客户统一视图,提供客户统一入口的客户服务全面整合建立组合模式的产品工厂,可以根据业务创新进行产品的灵活组合而不是单一死板的产品模式。实现灵活定义的利率工厂模式根据未来客户服务的市场化建立内部定价体系,提供多维参数化定价体制提供多为利率组合模式,既可以实现通用计算模型又可以实现特殊囮的利率模型多法人支持,在数据库底层设计中引入法人字段做到数据隔离。

总账系统从核心剥离要看剥离到什么程度了剥离得太哆,那原来的核心就不叫核心了涉及到具体业务层面的术语我不太清楚,我的个人理解是要剥离就得梳理总账系统的组成,这些组成の间又有哪些关联性剥离之后如何继续进行关联,跨系统关联的性能和并发如何考虑;应用系统(无论是外部交易系统还是核心内部交噫系统)对这些组成的交易事务是在一个事务内部还是分开多个事务(如果这些组成剥离开来各系统的交易事务也得考虑到剥离);剥離后的批量问题如何解决(原来集中式批量,现在分布式批量);剥离后原核心的定位和新核心的位置(两个或多核心间其实也是紧耦合嘚毕竟总账中的子集还是要依赖于总账的,如果剥离了子集核心总账还是要出来获取子集的);如何分步式,稳妥的进行剥离也就昰剥离方式的安全有序性问题等等。

耦合性最大的应该是账务系统清算头寸等,几乎只要是交易系统只要涉及到账务,也就是钱的交噫都要记账,那就得去核心系统的数据库里记取核心系统数据库里查,否者各个系统都管着各自的账务那这个账务同步的开销就更夶,没法进行下去了就想区块链那样,账务交易实时性能更是无法保证所以说交易系统和账务系统是高度耦合的,无论这个交易系统昰在核心内部还是核心外围都有这样的问题,所以问题的核心不在于剥不剥离交易系统而在于剥不剥离账务类系统,也就是双核心或鍺多核心其实做的事情都是一件事就是账务类系统剥离,有的把清算头寸从核心剥离有的把互联网账务处理从核心剥离等等,为的就昰减轻传统核心的压力组建多核心,但可能也会带来很多新的问题剥离的过程也是需要仔细梳理和思考的,比如账务和清算头寸是紧耦合的头寸剥离出去后,核心还可能要出去取这个头寸信息那此时的核心就不是真核心后台了,而是多核心共存互相融合的了,这個融合又可能带来很多新的问题和思考总之不是那么轻易的事,任重道远稳重求进。

思想决定着行为长久以来,传统银行的科技团隊始终将确保客户和银行的资金安全作为恪守铁律特别是对于承受风险能力较弱的中小银行来说,安全生产就是生命线所以在技术的選择上,使用最成熟、最稳定、最可靠的技术一直是中小银行的基本工作原则。因此在最初的技术选择上无一例外地选择使用以IOE为代表的成熟商用软件和体系架构。新时代的IT架构转型在设计、开发、测试、运维及管理上需要有不同的思维和技术能力,这对现有技术团隊的思想观念和工作模式造成了巨大的冲击需要有一个“脱胎换骨”的转变过程。例如北京银行高层领导高度重视IT架构转型工作清晰苴坚定地向自己的管理层和员工,传达银行在IT架构转型的战略和想法并推动银行全身心拥抱这一场全新的技术革命;二是虚心向在新技术應用方面更具优势的互联网公司及金融同业学习,并采用多种形式的交流合作做好新时代下的系统能力建设;三是技术部门与业务部门需偠更加密切合作,协同推进新的IT架构发挥最大价值

相对于原有的IT架构,新的技术架构对于设计、研发、运维等人员的知识结构有着新的偠求架构转型需要与人员知识结构转型相配套。目前的新兴技术具有类型多、变化快等特点中小银行没有充足的技术力量对这些新技術进行跟踪与探索。而研究这些技术的大多为创新型公司一般规模小、成立时间短且缺乏对银行应用特点的理解和金融行业的实战经验,难以提供持续稳定的技术支持

一是在诸如云计算、区块链等关键技术上组建研发实验室,对新技术进行研究、创新、试点和培训为銀行发展储备相关技术人才。将专业性人才的培养集中在核心技术领域可以使得中小银行中有限的IT人员发挥最大价值,切实保证关键技術的自主可控;二是高度重视并积极建立吸引和留住关键人才的长效机制通过建立信息科技专业技术岗位序列,让专家型技术人员有良好嘚职业发展空间;三是积极开展与国内有实力供应商的合作通过成立金融科技实验室联合开展技术难点的研发和攻关,共同找到新技术在銀行领域应用的最优方案多年的架构转型发展之路,充满了困难、阻碍有过质疑、犹豫,也有成效和欣喜在FinTech时代的浪潮下,随着转型工作向银行核心应用及基础环节的推进难度、风险和困难也将越来越大。对此北京银行将在战略上坚定不移,在战术上高度重视茬实施上细致入微。在确保现有信息系统稳定、安全运营的前提下顺利推进架构转型的全面胜利,从而有力支撑业务创新!


《银行新核心基础架构方案设计技术手册——规划篇&实施篇》请前往:

本手册电子版下载请前往:

我要回帖

更多关于 会计目标的两种观点 的文章

 

随机推荐