本发明专利技术公开了一种数据处理框架的实现方法、装置、设备及计算机存储介质,涉及金融科技技术领域。该方法包括:创建目标序列号生成器;创建目标序列号生成器工厂类,继承Spring Batch的默认序列号生成器工厂类,并重写目标序列号生成器工厂类中继承的getIncrementer方法,以将继承的getIncrementer方法中的MySQL序列号生成器替换为目标序列号生成器;创建目标配置器类,继承Spring Batch的默认配置器类,并重写目标配置器类中继承的createJobRepository方法,以指定序列号生成器工厂类为目标序列号生成器工厂类。本发明专利技术能够避免序列号生成失败的问题、以实现在TiDB上运行Spring Batch。
【技术实现步骤摘要】
数据处理框架的实现方法、装置、设备及计算机存储介质
本专利技术涉及金融科技(Fintech)
,尤其涉及一种数据处理框架的实现方法、装置、设备及计算机存储介质。
技术介绍
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。目前,互联网银行的任务处理系统,通常面临着海量的数据需要处理,对此,行业内通常在数据库上运行数据处理框架SpringBatch(批处理框架)来进行处理。但是传统关系型数据库的横向扩展性差,当遇到大量任务和海量数据需要处理时,数据库很可能成为瓶颈。而TiDB作为一款结合了传统关系型数据库和非关系型数据库特性的新型分布式数据库,可支持无限的横向扩展,同时也兼容MySQL协议和语法,因此,将大量任务和海量数据用TiDB来处理,完全可以解决数据库的瓶颈问题。然而,在TiDB上运行SpringBatch时,在生成序列号的过程中,SpringBatch会使用相应的表,并在表上执行相关命令来获取序列号。由于TiDB的锁类型为乐观锁,当多个线程对同一个表的同一条记录执行更新操作时,在提交事务时极有可能出现冲突,从而导致序列号生成失败,影响SpringBatch的正常运行。因此,如何避免序列号生成失败的问题、以实现在TiDB上运行SpringBatch是当前亟需解决的问题。
技术实现思路
本专利技术的主要目的在于提供一种数据处理框架的实现方法、装置、设备及计算机存储介质,旨在避免序列号生成失败的问题、以实现在TiDB上运行SpringBatch。为实现上述目的,本专利技术提供一种数据处理框架的实现方法,所述数据处理框架的实现方法包括:基于预设方法创建得到目标序列号生成器;创建目标序列号生成器工厂类,继承SpringBatch框架的默认序列号生成器工厂类,并重写所述目标序列号生成器工厂类中继承的getIncrementer方法,以将继承的getIncrementer方法中的MySQL序列号生成器替换为所述目标序列号生成器;创建目标配置器类,继承所述SpringBatch框架的默认配置器类,并重写所述目标配置器类中继承的createJobRepository方法,以指定序列号生成器工厂类为所述目标序列号生成器工厂类。可选地,所述基于预设方法创建得到目标序列号生成器的步骤包括:创建目标序列号生成器,继承所述SpringBatch框架的MySQL序列号生成器,并重写所述目标序列号生成器中继承的getNextKey方法,以循环调用所述MySQL序列号生成器的getNextKey方法。可选地,所述创建目标序列号生成器,继承所述SpringBatch框架的MySQL序列号生成器的步骤之后,还包括:重写所述目标序列号生成器中继承的getCacheSize方法,以将序列号缓存数量设定为一预设值,其中,所述预设值大于1。可选地,所述基于预设方法创建得到目标序列号生成器的步骤包括:创建分布式缓存,所述分布式缓存用于生成序列号,以作为目标序列号生成器。可选地,所述数据处理框架的实现方法还包括:在所述目标配置器类上添加预设注解,用于指示所述SpringBatch框架将所述目标配置器类置入运行环境,以替换所述默认配置器类。此外,为实现上述目的,本专利技术还提供一种数据处理框架的实现装置,所述数据处理框架的实现装置包括:第一创建模块,用于基于预设方法创建得到目标序列号生成器;第二创建模块,用于创建目标序列号生成器工厂类,继承SpringBatch框架的默认序列号生成器工厂类,并重写所述目标序列号生成器工厂类中继承的getIncrementer方法,以将继承的getIncrementer方法中的MySQL序列号生成器替换为所述目标序列号生成器;第三创建模块,用于创建目标配置器类,继承所述SpringBatch框架的默认配置器类,并重写所述目标配置器类中继承的createJobRepository方法,以指定序列号生成器工厂类为所述目标序列号生成器工厂类。可选地,所述第一创建模块包括:第一创建单元,用于创建目标序列号生成器,继承所述SpringBatch框架的MySQL序列号生成器,并重写所述目标序列号生成器中继承的getNextKey方法,以循环调用所述MySQL序列号生成器的getNextKey方法。可选地,所述第一创建模块还包括:方法重写单元,用于重写所述目标序列号生成器中继承的getCacheSize方法,以将序列号缓存数量设定为一预设值,其中,所述预设值大于1。此外,为实现上述目的,本专利技术还提供一种数据处理框架的实现设备,所述数据处理框架的实现设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据处理框架的实现程序,所述数据处理框架的实现程序被所述处理器执行时实现如上所述的数据处理框架的实现方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机存储介质,所述计算机存储介质上存储有数据处理框架的实现程序,所述数据处理框架的实现程序被处理器执行时实现如上所述的数据处理框架的实现方法的步骤。本专利技术提供一种数据处理框架的实现方法、装置、设备及计算机存储介质,通过基于预设方法创建得到目标序列号生成器,然后,创建目标序列号生成器工厂类,继承SpringBatch框架的默认序列号生成器工厂类,并重写目标序列号生成器工厂类中继承的getIncrementer方法,以将继承的getIncrementer方法中的MySQL序列号生成器替换为目标序列号生成器;最后,创建目标配置器类,继承SpringBatch框架的默认配置器类,并重写目标配置器类中继承的createJobRepository方法,以指定序列号生成器工厂类为目标序列号生成器工厂类。本专利技术通过继承与重写的方式,重构了一个基于TiDB数据库的序列号生成器(即目标序列号生成器)、目标配置器类和目标序列号生成器工厂类,并置入SpringBatch运行环境中,替换了原本的MySQL序列号生成器,使得SpringBatch框架在TiDB数据库上运行时忽略原本的MySQL序列号生成器,而使用目标序列号生成器,从而避免了序列号生成失败的问题,可实现在TiDB上运行SpringBatch框架。附图说明图1为本专利技术实施例方案涉及的硬件运行环境的设备结构示意图;图2为本专利技术数据处理框架的实现方法第一实施例的流程示意图;图3为本专利技术第一实施例涉及的SpringBatch框架的启动原理和运行原理图;图4为本专利技术数据处理框架的实现装置第一实施例的功能模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。参照图1,图1为本专利技术实施例方案涉及的硬件运行环境的本文档来自技高网...
【技术保护点】
1.一种数据处理框架的实现方法,其特征在于,所述数据处理框架的实现方法包括:/n基于预设方法创建得到目标序列号生成器;/n创建目标序列号生成器工厂类,继承Spring Batch框架的默认序列号生成器工厂类,并重写所述目标序列号生成器工厂类中继承的getIncrementer方法,以将继承的getIncrementer方法中的MySQL序列号生成器替换为所述目标序列号生成器;/n创建目标配置器类,继承所述Spring Batch框架的默认配置器类,并重写所述目标配置器类中继承的createJobRepository方法,以指定序列号生成器工厂类为所述目标序列号生成器工厂类。/n
【技术特征摘要】
1.一种数据处理框架的实现方法,其特征在于,所述数据处理框架的实现方法包括:
基于预设方法创建得到目标序列号生成器;
创建目标序列号生成器工厂类,继承SpringBatch框架的默认序列号生成器工厂类,并重写所述目标序列号生成器工厂类中继承的getIncrementer方法,以将继承的getIncrementer方法中的MySQL序列号生成器替换为所述目标序列号生成器;
创建目标配置器类,继承所述SpringBatch框架的默认配置器类,并重写所述目标配置器类中继承的createJobRepository方法,以指定序列号生成器工厂类为所述目标序列号生成器工厂类。
2.如权利要求1所述的数据处理框架的实现方法,其特征在于,所述基于预设方法创建得到目标序列号生成器的步骤包括:
创建目标序列号生成器,继承所述SpringBatch框架的MySQL序列号生成器,并重写所述目标序列号生成器中继承的getNextKey方法,以循环调用所述MySQL序列号生成器的getNextKey方法。
3.如权利要求2所述的数据处理框架的实现方法,其特征在于,所述创建目标序列号生成器,继承所述SpringBatch框架的MySQL序列号生成器的步骤之后,还包括:
重写所述目标序列号生成器中继承的getCacheSize方法,以将序列号缓存数量设定为一预设值,其中,所述预设值大于1。
4.如权利要求1所述的数据处理框架的实现方法,其特征在于,所述基于预设方法创建得到目标序列号生成器的步骤包括:
创建分布式缓存,所述分布式缓存用于生成序列号,以作为目标序列号生成器。
5.如权利要求1至4中任一项所述的数据处理框架的实现方法,其特征在于,所述数据处理框架的实现方法还包括:
在所述目标配置器类上添加预设注解,用于指示所述SpringBatch框架将所述目标配置器类置入运行环境,以替换所述默认配置器类。
...
【专利技术属性】
技术研发人员:刘建波,夏勇,
申请(专利权)人:深圳前海微众银行股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。