公开/公告号CN114780639A
专利类型发明专利
公开/公告日2022-07-22
原文格式PDF
申请/专利权人 天津银行股份有限公司;
申请/专利号CN202210420070.7
发明设计人 靳宝;
申请日2022-04-21
分类号G06F16/27;G06F16/25;G06F16/23;G06F11/14;G06Q40/02;
代理机构北京世誉鑫诚专利代理有限公司;
代理人刘秀珍
地址 300201 天津市河西区友谊路15号
入库时间 2023-06-19 16:06:26
法律状态公告日
法律状态信息
法律状态
2022-07-22
公开
发明专利申请公布
技术领域
本发明涉及金融系统领域,尤其涉及一种基于双数据库并行的核心系统建设方法。
背景技术
随着银行业务的快速发展,互联网场景金融的逐步深入,对系统业务处理能力要求日益增加,传统数据库已无法满足业务发展需求。银行在新一代系统建设过程中,逐步引入分布式架构,其中分布式数据库是解决性能瓶颈的关键,但分布式数据库在银行核心系统的应用案例目前并不成熟,存在安全隐患。
基于传统数据库和分布式数据库的弊端,传统数据库存在性能瓶颈,分布式数据库存在缺少核心系统应用案例。
发明内容
鉴于上述问题,提出了本发明以便提供克服上述问题或者至少部分地解决上述问题的一种基于双数据库并行的核心系统建设方法。
根据本发明的一个方面,提供了一种基于双数据库并行的核心系统建设方法,应用于分布式核心系统,所述建设方法包括:
将分布式核心系统拆分为多个微服务模块;
多个所述微服务模块对应多个数据库租户下用户,一一对应;
应用系统建立一套数据库访问机制,实现分布式架构下数据库访问功能;
分布式核心系统微服务应用连接分布式数据库中间件;
所述分布式数据库中间件直连分布式数据库;
将所述分布式数据库与传统数据库进行数据同步。
可选的,所述多个微服务模块具体包括:存款模块、贷款模块、运营管理模块、会计引擎模块、客户信息模块和记账引擎模块。
可选的,所述分布式数据库中间件用于提供分库分表功能,提供拆分及路由策略;用于支持自定义访问机制。
可选的,所述将分布式数据库与传统数据库进行数据同步具体包括:
利用日志读取功能,不同类型数据库的日志读取模块对应不同的实现方式;
同步写入模块用于从日志读取模块中拉取增量数据的同时对数据产生DML操作至目标端的组件。
可选的,所述数据同步还包括:利用数据同步工具准实时同步数据到传统数据库,作为主数据库的备份。
可选的,所述建设方法还包括:
所述分布式数据库与所述传统数据库的灾备切换方式;
当所述分布式数据库发生数据雪崩,事务提交缺陷、性能无法跟进和机房级灾难的情况下进行灾备切换场景;
切换方法包括:反向切换链路,以源端传统数据库作为备用库,目标端分布式数据库作为主库,切换jdbc连接配置;
切断链路,利用分布式数据库中间件直连传统多台数据库,更改jdbc连接配置。
本发明提供的一种基于双数据库并行的核心系统建设方法,应用于分布式核心系统,所述建设方法包括:将分布式核心系统拆分为多个微服务模块;多个所述微服务模块对应多个数据库租户下的用户;应用系统建立一套数据库访问机制,实现分布式架构下数据库访问功能;分布式核心系统微服务应用连接分布式数据库中间件;所述分布式数据库中间件直连分布式数据库;将所述分布式数据库与传统数据库进行数据同步。既能满足金融创新又能保障银行核心系统的安全稳定运行,最终实现金融创新、金融安全。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的分布式数据库中间件实现原理图;
图2为本发明实施例双库并行方式示意图;
图3为本发明实施例提供的具体调用方式示意图;
图4为本发明实施例提供的整体迁移方式示意图;
图5为本发明实施例提供的双库并行使用下述方式做链路搭建示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的说明书实施例和权利要求书及附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。
下面结合附图和实施例,对本发明的技术方案做进一步的详细描述。
分布式核心系统采用拆分为多微服务,将分布式核心系统划分有存款模块,贷款模块,运营管理模块,会计引擎模块,客户信息模块,记账引擎模块的微服务系统,各个微服务对应不同的数据库租户下的用户。
需要应用系统建立一套数据库访问机制,实现分布式架构下数据库访问功能。分布式核心系统微服务应用连接分布式数据库中间件,中间件直连分布式数据库。同时通过分布式数据库与传统数据库进行数据同步,达到双库并行的目的。
分布式数据库中间件主要功能及实现原理包括:
分布式数据库中间件主要功能:提供分库分表功能,提供灵活的拆分及路由策略;支持自定义访问机制;保证跨库的强一致事务;支持数据的读写分离;可对分布式数据自主可控。以独立的中间件对外提供数据分布式的能力,同时为多个应用系统提供服务;已有的数据库及DBA资源不受影响。分布式数据库中间件实现原理如图1所示。
双库同步原理
本方法中双库同步功能中主要利用日志读取组件和同步写入组件,原理如下:
利用日志读取功能,不同类型数据库的日志读取模块的实现方式不同。Liboblog是分布式数据库的增量数据同步工具,通过RPC方式拉取分布式数据库各个分区的Redo日志后,结合各个表和列的Schema信息,转换Redo日志为中间定义的数据格式,最后以事务的方式输出修改的数据。
同步写入模块是从日志读取模块拉取增量数据的同时,翻译为INSERT、UPDATE或DELETE的SQL语句写入数据至目标端的组件。
Store组件记录的是流式的增量数据,通过Pipeline保证数据的有序性。Writer组件单线程顺序执行事务满足基本要求,但不能扩展性能,所以数据同步工具引入并发写机制。
为了避免循环复制问题,所有通过数据同步工具的JDBCWriter模块写入的数据都会在Store组件中进行打标处理,以确保不会再次被剩余模块消费。
同步写入模块是将JDBCWriter的功能插件化,包括源端和目标端插件。
双数据库并行方式
利用数据同步工具准实时同步数据到传统数据库,作为主数据库的备份。一旦分布式数据库发生不可恢复的运营风险,可以通过传统数据库进行业务恢复。双库并行方式理解为如图2所示:
其中,分布式数据库中间件的作用:解决目前数据量不断的增大,即单表数据量太大、单库数据量太大、单台数据量服务器压力大、IO瓶颈,针对上述问题如果只增强服务器性能,数据量指数增加仍无法从根源解决;此时,我们选择水平扩展的方式,利用中间件路由,将不同的数据路由至不同的数据库服务器上。
其中,双库并行的意义在于,传统数据库是应用直连进行访问,架构简单方便,运用成熟;若针对海量数据,例如数量以指数级增加的流水表时,无法承载线性自动扩展,需重构数据库或增加机器性能;分布式数据库优势在于可水平扩展承载海量数据,但运用于银行业核心系统较少;故而双库并行,以分布式数据库作为主库,以传统数据库作为逃生库,保证平稳运行。
本方法中,使用分布式数据库中间件+双库并行,优势在于分布式数据库中间件使用分库分表的方式,解决了单纯使用分布式数据库跨服务器调用分区键慢的问题,利用中间件可快速将应用打到具体几库几表的某台服务器,双库并行同样考虑了银行业务的严谨性,保证逃生机制完善。具体调用方式如图3,图3为图2的升级版,用于展示应用中的两个微服务模块。
双数据库同步方式
利用数据库同步工具优势在于可以不停服的将数据迁移至分布式数据库中,在业务切换应用数据库到分布式数据库前,反向切换同步链路,再将应用切换至分布式数据库上,重新建立主备关系,此时所有在切换后的发生在分布式数据库上的数据变更都将实时同步至切换前的源端传统数据库,以此来应对紧急回切的需求场景。同时存在检验机制,保证源端目标端数据库的一致性。
在应用正常平稳运行时,写入主数据库(分布式数据库),通过链路将clog日志(类似于传统数据库的Redo日志,在分布式场景下需要多副本同步)传至备库前进行解析,主数据库发生的交易会在备数据库发生,期间延时不超过20s。
整体迁移方式如图4所示。本发明中的双库并行使用下述方式做链路搭建,如图5所示。
双数据库灾备切换方式
灾备切换场景:当分布式数据库发生数据雪崩,事务提交缺陷,性能无法跟进亦或是机房级灾难,此时可做切换。
切换步骤:
反向切换链路,以源端传统数据库作为备库,目标端分布式数据库作为主库,切换jdbc连接配置。保证紧急回切,最大程度的降低业务迁移风险。
切断链路,利用分布式数据库中间件直连传统多台数据库,更改jdbc连接配置。
有益效果:将“分布式数据库与传统数据库双库并行+分布式数据库中间件”应用于分布式核心系统建设,基于传统数据库和分布式数据库的各自弊端,传统数据库存在性能瓶颈,分布式数据库存在缺少核心系统应用案例,具有技术实践性,既能满足金融创新又能保障银行核心系统的安全稳定运行,最终实现金融创新、金融安全。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 记录了一种基于数据库的数据关联方法和一种基于数据库的数据关联系统以及基于数据库的数据关联方法,并且计算机可读记录介质包括计算机可读记录介质。
机译: 基于隐藏字幕的新闻视频数据库建设的装置和方法以及基于内容的检索/转换方法
机译: 基于字幕的新闻视频数据库建设的装置和方法及基于内容的检索/转播方法