CN117555883A - 一种银行系统数据分库的方法、装置、存储器和电子设备 - Google Patents
一种银行系统数据分库的方法、装置、存储器和电子设备 Download PDFInfo
- Publication number
- CN117555883A CN117555883A CN202410039223.2A CN202410039223A CN117555883A CN 117555883 A CN117555883 A CN 117555883A CN 202410039223 A CN202410039223 A CN 202410039223A CN 117555883 A CN117555883 A CN 117555883A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- date
- cutting mark
- online database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000926 separation method Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000013508 migration Methods 0.000 claims abstract description 43
- 230000005012 migration Effects 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 230000004075 alteration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种银行系统数据分库的方法、装置、存储器和电子设备,属于计算机技术领域。方法包括:将切割标记日及切割标记日之前的数据存储在历史数据库中,切割标记日之后的数据存储在在线数据库中;在每一次数据自动迁移过程中,首先将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中,然后将切割标记日的下一日更新为下次数据自动迁移过程的切割标记日即更新后的切割标记日,最后将更新后的切割标记日的数据从在线数据库中删除。通过将冷数据迁移到历史数据库,降低了在线数据库的成本,提高了在线数据库的性能;通过设置切割标记日,保证了数据迁移的完整性和准确性,避免了查询出现数据重复的现象,使得分页查询时可有效衔接。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种银行系统数据分库的方法、装置、存储器和电子设备。
背景技术
随着移动支付及互联网金融的普及,银行每天产生的账户交易明细数据以较快的速度增长,导入到数据库中的交易流水表比较庞大,对数据库服务器的性能和容量带来较大的挑战。目前,为了降低数据库服务器的压力,通常会将数据库中的历史数据进行归档。但是,这种做法限制了对交易明细的查询时间,导致超过一定期限的交易明细无法通过电子渠道查询,需要客户到银行网点才能查询归档的历史数据,使用不方便。
发明内容
为了解决现有技术中存在的问题,本发明提供了如下技术方案。
本发明第一方面提供了一种银行系统数据分库的方法,包括数据迁移的方法:
设置历史数据库和切割标记日,所述历史数据库用于接收从在线数据库迁移的数据,所述切割标记日及切割标记日之前的数据存储在所述历史数据库中,所述切割标记日之后的数据存储在所述在线数据库中;
在每一次数据自动迁移过程中,首先将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中,然后将切割标记日的下一日更新为下次数据自动迁移过程的切割标记日即更新后的切割标记日,最后将更新后的切割标记日的数据从在线数据库中删除。
优选地,所述将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中包括:从在线数据库中分批次抽取切割标记日的下一日的数据,每次抽取后的数据插入到历史数据库并提交事务。
优选地,所述将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中之后还包括:
将在线数据库中切割标记日的下一日的数据排序后计算整体的MD5值,同时将历史数据库中切割标记日的下一日的数据排序后计算整体的MD5值,如果两个MD5值相等,则将切割标记日的下一日的数据从在线数据库中删除;如果不相等,则将历史数据库中切割标记日的下一日的数据删除后,返回至步骤:将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中。
优选地,本发明提供的银行系统数据分库的方法还包括数据查询的方法:
如果数据查询开始日期大于切割标记日,则在在线数据库中查询;如果数据查询截止日期小于或等于切割标记日,则在历史数据库中查询;如果数据查询开始日期小于或等于切割标记日且数据查询截止日期大于切割标记日,则分别统计在线数据库的数据量C1、历史数据库的数据量C2以及总数据量T=C1+C2,同时将分页查询的开始行和结束行分别记为PAGE_START和PAGE_END,如果结束行小于或等于在线数据库的数据量,则在在线数据库中查询;如果开始行小于或等于在线数据库的数据量且结束行大于在线数据库的数据量,则从在线数据库中查询在线数据库的数据量减去开始行加1条记录,从历史数据库中查询结束行减去在线数据库的数据量条记录;如果开始行大于在线数据库的数据量,则在历史数据库中查询。
优选地,本发明提供的银行系统数据分库的方法还包括历史数据修改的方法:
对于某些特定的数据,在在线数据库中设置与主表对应的子表;
在数据迁移之前,如果数据满足特定的条件,数据同时插入主表和子表中,否则数据只插入主表;
在数据迁移中,将主表从在线数据库迁移至历史数据库中,将子表保留在在线数据库中;
在数据迁移之后,当需要更新主表时,在在线数据库中更新子表。
本发明第二方面提供了一种银行系统数据分库的装置,包括数据迁移模块,用于:
设置历史数据库和切割标记日,所述历史数据库用于接收从在线数据库迁移的数据,所述切割标记日及切割标记日之前的数据存储在所述历史数据库中,所述切割标记日之后的数据存储在所述在线数据库中;
在每一次数据自动迁移过程中,首先将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中,然后将切割标记日的下一日更新为下次数据自动迁移过程的切割标记日即更新后的切割标记日,最后将更新后的切割标记日的数据从在线数据库中删除。
优选地,本发明提供的银行系统数据分库的装置还包括数据查询模块,用于:
如果数据查询开始日期大于切割标记日,则在在线数据库中查询;如果数据查询截止日期小于或等于切割标记日,则在历史数据库中查询;如果数据查询开始日期小于或等于切割标记日且数据查询截止日期大于切割标记日,则分别统计在线数据库的数据量C1、历史数据库的数据量C2以及总数据量T=C1+C2,同时将分页查询的开始行和结束行分别记为PAGE_START和PAGE_END,如果结束行小于或等于在线数据库的数据量,则在在线数据库中查询;如果开始行小于或等于在线数据库的数据量且结束行大于在线数据库的数据量,则从在线数据库中查询在线数据库的数据量减去开始行加1条记录,从历史数据库中查询结束行减去在线数据库的数据量条记录;如果开始行大于在线数据库的数据量,则在历史数据库中查询。
优选地,本发明提供的银行系统数据分库的装置还包括历史数据修改模块,用于:
对于某些特定的数据,在在线数据库中设置与主表对应的子表;
在数据迁移之前,如果数据满足特定的条件,数据同时插入主表和子表中,否则数据只插入主表;
在数据迁移中,将主表从在线数据库迁移至历史数据库中,将子表保留在在线数据库中;
在数据迁移之后,当需要更新主表时,在在线数据库中更新子表。
本发明第三方面提供了一种存储器,存储有多条指令,所述指令用于实现如第一方面所述的银行系统数据分库的方法。
本发明第四方面提供了一种电子设备,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行如第一方面所述的银行系统数据分库的方法。
本发明的有益效果是:本发明提供的一种银行系统数据分库的方法、装置、存储器和电子设备,通过将较少访问的冷数据迁移到历史数据库,降低了在线数据库的成本,提高了在线数据库的性能;另外,通过设置切割标记日,保证了数据迁移的完整性和准确性,同时避免了查询出现数据重复的现象,使得分页查询时可以有效衔接;此外,本发明提供的技术方案可以支持迁移后的历史数据的修改更新。
附图说明
图1为本发明所述数据迁移方法流程示意图;
图2为本发明所述银行系统数据分库的装置功能结构示意图。
具体实施方式
为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。
本发明提供的方法可以在如下的终端环境中实施,该终端可以包括一个或多个如下部件:处理器、存储器和显示屏。其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。
处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。
存储器可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory,ROM)。存储器可用于存储指令、程序、代码、代码集或指令。
显示屏用于显示各个应用程序的用户界面。
除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。
实施例一
本发明实施例提供了一种银行系统数据分库的方法,包括数据迁移的方法:
设置历史数据库和切割标记日,所述历史数据库用于接收从在线数据库迁移的数据,所述切割标记日及切割标记日之前的数据存储在所述历史数据库中,所述切割标记日之后的数据存储在所述在线数据库中;
在每一次数据自动迁移过程中,首先将切割标记日的下一日(即切割标记日+1日)的数据从在线数据库中迁移至历史数据库中,然后将切割标记日的下一日更新为下次数据自动迁移过程的切割标记日即更新后的切割标记日,最后将更新后的切割标记日的数据从在线数据库中删除。
上述数据迁移方法可如图1所示,其中,切割标记日可表示为HIST_DATE。
在本发明实施例中,历史数据库用于保存历史数据,可以是存储容量较大,但CPU、内存、IO配置可以相对较低的分布式数据库。历史数据库可以是与银行正常对外提供金融交易服务的在线数据库对应的一个只读数据库,将时间较为久远的交易数据(历史数据),从在线数据库迁移到历史数据库。为了保证交易的响应时间,在线数据库一般会使用较好的硬件服务器;而由于历史数据库的访问频率较低,所以可以使用配置较差的硬件服务器,因此通过将历史数据从在线数据库迁移至历史数据库中,就可以降低在线数据库的硬件成本,同时也因为“瘦身”使得在线数据库有更好的性能。
另外,在数据迁移的过程中,因为很难做到历史数据库中数据的插入和在线数据库中数据的删除在同一个事务里,所以会出现历史数据库和线数据库存在同一份数据的情况,这样在查询的时候就会有数据重复的现象,针对这个问题,本发明通过维护一个“切割标记日”的方式避免数据查询的时候出现重复数据。比如,在将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中时,在线数据库和历史数据库中均包含有切割标记日的下一日的数据,但因为存在切割标记日,切割标记日的下一日的数据属于切割标记日之后的数据,所以当联机交易查询切割标记日的下一日的数据时,会从在线数据库中查询;将切割标记日的下一日更新为下次数据自动迁移过程的切割标记日时,当联机交易查询切割标记日的数据时,会从历史数据库查询。
其中,所述将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中可以包括:从在线数据库中分批次抽取切割标记日的下一日的数据,每次抽取后的数据插入到历史数据库并提交事务。本发明实施例中,为了避免对在线数据库产生较大的压力,每次抽取的数据量不超过10万条。
在本发明的一个优选实施例中,所述将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中之后还包括:
将在线数据库中切割标记日的下一日的数据排序后计算整体的MD5值(MessageDigest Algorithm 5,是一种常用的哈希算法,用于将任意长度的数据转换为固定长度的哈希值),同时将历史数据库中切割标记日的下一日的数据排序后计算整体的MD5值,如果两个MD5值相等,则将切割标记日的下一日的数据从在线数据库中删除;如果不相等,则将历史数据库中切割标记日的下一日的数据删除后,返回至步骤:将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中。
采用上述方法,可以将数据从在线数据库中完整且准确地迁移到历史数据库中。
本发明一个实施例提供的银行系统数据分库的方法,还包括数据查询的方法:如果数据查询开始日期大于切割标记日,则在在线数据库中查询;如果数据查询截止日期小于或等于切割标记日,则在历史数据库中查询;如果数据查询开始日期小于或等于切割标记日且数据查询截止日期大于切割标记日,则分别统计在线数据库的数据量C1、历史数据库的数据量C2以及总数据量T=C1+C2,同时将分页查询的开始行和结束行分别记为PAGE_START和PAGE_END,如果结束行小于或等于在线数据库的数据量,则在在线数据库中查询;如果开始行小于或等于在线数据库的数据量且结束行大于在线数据库的数据量,则从在线数据库中查询C1-PAGE_STSRT+1条记录,从历史数据库中查询PAGE_END-C1条记录;如果开始行大于在线数据库的数据量,则在历史数据库中查询。
当数据从在线数据库迁移到历史数据库后,后续因业务需求还要进行修改时,则会因历史数据库的只读属性,导致数据无法修改的情况。本发明另一个实施例提供的银行系统数据分库的方法,还包括历史数据修改的方法:
对于某些特定的数据,在在线数据库中设置与主表对应的子表;
在数据迁移之前,如果数据满足特定的条件(可能更新的字段1、可能更新的字段2、……|、可能更新的字段N任意一个不为空),则数据同时插入主表和子表中,否则数据只插入主表;
在数据迁移中,将主表从在线数据库迁移至历史数据库中,将子表保留在在线数据库中;
在数据迁移之后,当需要更新主表时,在在线数据库中更新子表。
其中,子表的内容可如表1所示。
表1
交易流水号 |
客户号 |
凭证号 |
可能更新的字段1 |
…… |
可能更新的字段N |
最后更新时间 |
本发明采用上述方法解决了对历史数据库中只读数据无法修改更新的问题,实现了历史数据的修改更新。
在一个具体实施例中,以在线数据库ONLINE_DB、历史数据库HIST_DB和交易流水表MB_TRAN_HIST为例,对本发明提供的银行系统数据分库的方法流程进行说明:
1、历史数据库HIST_DB为分布式数据库,存储容量较大,但CPU、内存、IO配置可以相对较低。
2、应用程序维护一个在线数据库与历史数据库的“切割标记日(HIST_DATE)”,假设为2020年8月20日。
3、历史数据迁移的方法:
3.1、2023年的8月21日的凌晨1点(假设在线数据库保存3年内的数据),启动一个数据迁移的作业;
3.2、作业从在线数据库中分批次抽取2020年8月21日的数据,每次抽取10万条,每次抽取后插入到历史数据库并提交事务;
3.3、将在线数据库中2020年8月21日的数据排序后计算整体的MD5值,将历史数据库中2020年8月21日的数据排序后也计算整体的MD5值,如果两个MD5值相等,则继续下一步;如果不相等,则将历史数据库中2020年8月21日的数据删除后,重复3.2步骤;此时在线数据库和历史数据库均包含2020年8月21日的数据,但此时的切割标记日为2020年8月20日,所以当联机交易查询2020年8月21日的数据时,会从在线数据库中查询;
3.4、将应用程序中的切割标记日从2020年8月20日更新为2020年8月21日;此时,当联机交易查询2020年8月21日的数据时,会从历史数据库中查询;
3.5、删除在线数据库中2020年8月21日的数据。
4、数据查询的方法:
4.1、假设查询的数据日期范围为大于或等于开始日期(START_DATE)并且小于或等于截止日期(END_DATE);
4.2、如果START_DATE为2020年8月22日,大于HIST_DATE(2020年8月21日),表示要查询的数据均在在线数据库中,则查询交易只要在在线数据库发起;
4.3、如果END_DATE为2020年8月21日,等于HIST_DATE(2020年8月21日),表示要查询的数据均在历史数据库中,则查询交易只要在历史数据库发起;
4.4、如果START_DATE为2020年8月19日,END_DATE为2020年8月22日,则START_DATE小于或等于HIST_DATE且 END_DATE大于HIST_DATE,则要查询的数据部分在在线数据库中,部分在历史数据库中:假设满足条件的在线数据库的数据量C1为50、历史数据库的数据量C2为50、总数据量T=C1+C2=50+50=100;当发生分页查询(按交易时间倒序查询)时,假设当页的开始行和结束行分别为PAGE_START为1,PAGE_END为30,因为PAGE_END<=C1(即结束行小于或等于在线数据库的数据量),则该页数据只需要在在线数据库中查询;假设PAGE_START为31,PAGE_END为60,PAGE_START<=C1(即开始行小于或等于在线数据库的数据量) 且 PAGE_END >C1(即结束行大于在线数据库的数据量),则需要从在线数据库查询C1-PAGE_STSRT+1(即在线数据库的数据量减去开始行加上1)=50-31+1=20条记录,从历史数据库中查询PAGE_END-C1(即结束行减去在线数据库的数据量)=60-50=10条记录;假设PAGE_START为61,PAGE_END为90,因为PAGE_START>C1(即开始行大于在线数据库的数据量),则该页数据只需要在历史数据库中查询。
5、在在线数据库建立一张子表MB_TRAN_HIST_SUB,该子表永久保留,不迁移到历史数据库,当数据插入MB_TRAN_HIST时,如果满足条件“存折是否已经打印,字段不为空”,则同步插入MB_TRAN_HIST_SUB,只有存折的交易,此字段才会有值,对于非存折交易(如银行卡交易)此字段为空,数据不会插入子表MB_TRAN_HIST_SUB。子表的结果如表2所示。
表2
交易流水号 |
客户号 |
凭证号 |
存折是否已经打印 |
最后更新时间 |
假设在2020年8月21日某客户发生了一笔存折的交易,但未打印存折,此时该笔交易的“存折是否已经打印”设置为“N-未打印”,在迁移后,例如2023年8月22日客户前来打印存折,则将MB_TRAN_HIST_SUB中,凭证号等于交易存折的所有交易明细的“存折是否已经打印”均设置为“Y-已打印”。
实施例二
如图2所示,本发明的另一方面还包括和前述方法流程完全对应一致的功能模块架构,即本发明实施例还提供了银行系统数据分库的装置,包括数据迁移模块,用于:
设置历史数据库和切割标记日,所述历史数据库用于接收从在线数据库迁移的数据,所述切割标记日及切割标记日之前的数据存储在所述历史数据库中,所述切割标记日之后的数据存储在所述在线数据库中;
在每一次数据自动迁移过程中,首先将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中,然后将切割标记日的下一日更新为下次数据自动迁移过程的切割标记日即更新后的切割标记日,最后将更新后的切割标记日的数据从在线数据库中删除。
其中,所述将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中包括:从在线数据库中分批次抽取切割标记日的下一日的数据,每次抽取后的数据插入到历史数据库并提交事务。
进一步地,所述将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中之后还包括:将在线数据库中切割标记日的下一日的数据排序后计算整体的MD5值,同时将历史数据库中切割标记日的下一日的数据排序后计算整体的MD5值,如果两个MD5值相等,则将切割标记日的下一日的数据从在线数据库中删除;如果不相等,则将历史数据库中切割标记日的下一日的数据删除后,返回至步骤:将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中。
进一步地,本发明实施例提供的装置还包括数据查询模块,用于:
如果数据查询开始日期大于切割标记日,则在在线数据库中查询;如果数据查询截止日期小于或等于切割标记日,则在历史数据库中查询;如果数据查询开始日期小于或等于切割标记日且数据查询截止日期大于切割标记日,则分别统计在线数据库的数据量C1、历史数据库的数据量C2以及总数据量T=C1+C2,同时将分页查询的开始行和结束行分别记为PAGE_START和PAGE_END,如果结束行小于或等于在线数据库的数据量,则在在线数据库中查询;如果开始行小于或等于在线数据库的数据量且结束行大于在线数据库的数据量,则从在线数据库中查询“在线数据库的数据量减去开始行加上1”条记录,从历史数据库中查询“结束行减去在线数据库的数据量”条记录;如果开始行大于在线数据库的数据量,则在历史数据库中查询。
进一步地,本发明实施例提供的装置还包括历史数据修改模块,用于:
对于某些特定的数据,在在线数据库中设置与主表对应的子表;
如果数据满足特定的条件,数据同时插入主表和子表中,否则数据只插入主表;
在数据迁移中,将主表从在线数据库迁移至历史数据库中,将子表保留在在线数据库中;
在数据迁移之后,当需要更新主表时,在在线数据库中更新子表。
该装置可通过上述实施例一提供的银行系统数据分库的方法实现,具体的实现方法可参见实施例一中的描述,在此不再赘述。
本发明还提供了一种存储器,存储有多条指令,所述指令用于实现如实施例一所述的方法。
本发明还提供了一种电子设备,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行如实施例一所述的方法。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种银行系统数据分库的方法,其特征在于,包括数据迁移的方法:
设置历史数据库和切割标记日,所述历史数据库用于接收从在线数据库迁移的数据,所述切割标记日及切割标记日之前的数据存储在所述历史数据库中,所述切割标记日之后的数据存储在所述在线数据库中;
在每一次数据自动迁移过程中,首先将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中,然后将切割标记日的下一日更新为下次数据自动迁移过程的切割标记日即更新后的切割标记日,最后将更新后的切割标记日的数据从在线数据库中删除。
2.如权利要求1所述的银行系统数据分库的方法,其特征在于,所述将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中包括:从在线数据库中分批次抽取切割标记日的下一日的数据,每次抽取后的数据插入到历史数据库并提交事务。
3.如权利要求1所述的银行系统数据分库的方法,其特征在于,所述将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中之后还包括:
将在线数据库中切割标记日的下一日的数据排序后计算整体的MD5值,同时将历史数据库中切割标记日的下一日的数据排序后计算整体的MD5值,如果两个MD5值相等,则将切割标记日的下一日的数据从在线数据库中删除;如果不相等,则将历史数据库中切割标记日的下一日的数据删除后,返回至步骤:将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中。
4.如权利要求1所述的银行系统数据分库的方法,其特征在于,还包括数据查询的方法:
如果数据查询开始日期大于切割标记日,则在在线数据库中查询;如果数据查询截止日期小于或等于切割标记日,则在历史数据库中查询;如果数据查询开始日期小于或等于切割标记日且数据查询截止日期大于切割标记日,则分别统计在线数据库的数据量C1、历史数据库的数据量C2以及总数据量T,总数据量T为在线数据库的数据量C1与历史数据库的数据量C2之和,同时将分页查询的开始行和结束行分别记为PAGE_START和PAGE_END,如果结束行小于或等于在线数据库的数据量C1,则在在线数据库中查询;如果开始行小于或等于在线数据库的数据量C1且结束行大于在线数据库的数据量C1,则从在线数据库中查询在线数据库的数据量减去开始行加1条记录,从历史数据库中查询结束行减去在线数据库的数据量C1条记录;如果开始行大于在线数据库的数据量C1,则在历史数据库中查询。
5.如权利要求1所述的银行系统数据分库的方法,其特征在于,还包括历史数据修改的方法:
对于某些特定的数据,在在线数据库中设置与主表对应的子表;
在数据迁移之前,如果数据满足特定的条件,数据同时插入主表和子表中,否则数据只插入主表;
在数据迁移中,将主表从在线数据库迁移至历史数据库中,将子表保留在在线数据库中;
在数据迁移之后,当需要更新主表时,在在线数据库中更新子表。
6.一种银行系统数据分库的装置,其特征在于,包括数据迁移模块,用于:
设置历史数据库和切割标记日,所述历史数据库用于接收从在线数据库迁移的数据,所述切割标记日及切割标记日之前的数据存储在所述历史数据库中,所述切割标记日之后的数据存储在所述在线数据库中;
在每一次数据自动迁移过程中,首先将切割标记日的下一日的数据从在线数据库中迁移至历史数据库中,然后将切割标记日的下一日更新为下次数据自动迁移过程的切割标记日即更新后的切割标记日,最后将更新后的切割标记日的数据从在线数据库中删除。
7.如权利要求6所述的银行系统数据分库的装置,其特征在于,还包括数据查询模块,用于:
如果数据查询开始日期大于切割标记日,则在在线数据库中查询;如果数据查询截止日期小于或等于切割标记日,则在历史数据库中查询;如果数据查询开始日期小于或等于切割标记日且数据查询截止日期大于切割标记日,则分别统计在线数据库的数据量C1、历史数据库的数据量C2以及总数据量T,总数据量T为在线数据库的数据量C1与历史数据库的数据量C2之和,同时将分页查询的开始行和结束行分别记为PAGE_START和PAGE_END,如果结束行小于或等于在线数据库的数据量C1,则在在线数据库中查询;如果开始行小于或等于在线数据库的数据量C1且结束行大于在线数据库的数据量C1,则从在线数据库中查询在线数据库的数据量减去开始行加1条记录,从历史数据库中查询结束行减去在线数据库的数据量C1条记录;如果开始行大于在线数据库的数据量C1,则在历史数据库中查询。
8.如权利要求6所述的银行系统数据分库的装置,其特征在于,还包括历史数据修改模块,用于:
对于某些特定的数据,在在线数据库中设置与主表对应的子表;
在数据迁移之前,如果数据满足特定的条件,数据同时插入主表和子表中,否则数据只插入主表;
在数据迁移中,将主表从在线数据库迁移至历史数据库中,将子表保留在在线数据库中;
在数据迁移之后,当需要更新主表时,在在线数据库中更新子表。
9.一种存储器,其特征在于,存储有多条指令,所述指令用于实现如权利要求1-5任一项所述的银行系统数据分库的方法。
10.一种电子设备,其特征在于,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行如权利要求1-5任一项所述的银行系统数据分库的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410039223.2A CN117555883B (zh) | 2024-01-11 | 2024-01-11 | 一种银行系统数据分库的方法、装置、存储器和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410039223.2A CN117555883B (zh) | 2024-01-11 | 2024-01-11 | 一种银行系统数据分库的方法、装置、存储器和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117555883A true CN117555883A (zh) | 2024-02-13 |
CN117555883B CN117555883B (zh) | 2024-04-05 |
Family
ID=89815127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410039223.2A Active CN117555883B (zh) | 2024-01-11 | 2024-01-11 | 一种银行系统数据分库的方法、装置、存储器和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555883B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567428A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团浙江有限公司 | 一种在线数据生命周期管理方法和装置 |
CN103617161A (zh) * | 2013-09-26 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种针对saas模式的数据存储方法和装置 |
CN111198868A (zh) * | 2019-12-12 | 2020-05-26 | 北京淇瑀信息科技有限公司 | 一种智能分库实时数据迁移方法和装置 |
CN111400275A (zh) * | 2019-12-16 | 2020-07-10 | 杭州美创科技有限公司 | 一种定制并自动进行数据老化的方法 |
CN112612827A (zh) * | 2020-12-25 | 2021-04-06 | 平安国际智慧城市科技股份有限公司 | 数据库分页查询方法、装置、计算机设备及存储介质 |
CN112948359A (zh) * | 2021-03-22 | 2021-06-11 | 武汉众邦银行股份有限公司 | 一种基于数据库分库分表的不停机客户数据迁移方法 |
CN112990455A (zh) * | 2021-02-23 | 2021-06-18 | 北京明略软件系统有限公司 | 网络模型的发布方法及装置、存储介质、电子设备 |
CN116800691A (zh) * | 2023-08-25 | 2023-09-22 | 明度智云(浙江)科技有限公司 | 一种缓存数据分割处理方法、系统和存储介质 |
-
2024
- 2024-01-11 CN CN202410039223.2A patent/CN117555883B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567428A (zh) * | 2010-12-30 | 2012-07-11 | 中国移动通信集团浙江有限公司 | 一种在线数据生命周期管理方法和装置 |
CN103617161A (zh) * | 2013-09-26 | 2014-03-05 | 金蝶软件(中国)有限公司 | 一种针对saas模式的数据存储方法和装置 |
CN111198868A (zh) * | 2019-12-12 | 2020-05-26 | 北京淇瑀信息科技有限公司 | 一种智能分库实时数据迁移方法和装置 |
CN111400275A (zh) * | 2019-12-16 | 2020-07-10 | 杭州美创科技有限公司 | 一种定制并自动进行数据老化的方法 |
CN112612827A (zh) * | 2020-12-25 | 2021-04-06 | 平安国际智慧城市科技股份有限公司 | 数据库分页查询方法、装置、计算机设备及存储介质 |
CN112990455A (zh) * | 2021-02-23 | 2021-06-18 | 北京明略软件系统有限公司 | 网络模型的发布方法及装置、存储介质、电子设备 |
CN112948359A (zh) * | 2021-03-22 | 2021-06-11 | 武汉众邦银行股份有限公司 | 一种基于数据库分库分表的不停机客户数据迁移方法 |
CN116800691A (zh) * | 2023-08-25 | 2023-09-22 | 明度智云(浙江)科技有限公司 | 一种缓存数据分割处理方法、系统和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117555883B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107818115B (zh) | 一种处理数据表的方法及装置 | |
CN109034988B (zh) | 一种会计分录生成方法和装置 | |
CN106557578B (zh) | 历史数据查询方法及系统 | |
CN111400308B (zh) | 缓存数据的处理方法、电子装置及可读存储介质 | |
CN105183764B (zh) | 一种数据分页方法及装置 | |
CN112434015B (zh) | 数据存储的方法、装置、电子设备及介质 | |
CN103530378A (zh) | 数据分页查询与数据库的构建的方法与装置 | |
CN107992492B (zh) | 一种数据区块的存储方法、读取方法、其装置及区块链 | |
CN110659971B (zh) | 一种交易数据处理方法及装置 | |
CN112750027A (zh) | 批量业务处理方法、装置、计算机设备和存储介质 | |
CN110162540B (zh) | 区块链账本数据的查询方法、电子装置及存储介质 | |
CN109542945B (zh) | 区块链数据统计分析方法、装置及存储介质 | |
CN117555883B (zh) | 一种银行系统数据分库的方法、装置、存储器和电子设备 | |
CN113326146A (zh) | 一种消息处理方法、装置、电子设备及存储介质 | |
CN111898759A (zh) | 知识库更新方法、装置、电子设备及可读存储介质 | |
CN111143365B (zh) | 一种数据分表方法、装置、计算机设备及存储介质 | |
CN113722623A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN109522211B (zh) | 接口参数传递方法、装置、电子设备及存储介质 | |
CN111131393A (zh) | 用户活跃度数据统计方法、电子装置及存储介质 | |
CN109033469B (zh) | 一种搜索结果的排名方法、装置、终端及计算机存储介质 | |
CN113282619A (zh) | 一种数据快速查询方法及系统 | |
CN111858581B (zh) | 一种分页查询的方法、装置、存储介质和电子设备 | |
CN115994160A (zh) | 一种业务数据查询方法、装置、电子设备及存储介质 | |
CN115809388A (zh) | 网页页面显示方法、设备及存储介质 | |
CN108984719B (zh) | 基于列存储的数据删除方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |