一种白名单文件数据库导入方法技术

技术编号:39648555 阅读:12 留言:0更新日期:2023-12-09 11:16
本发明专利技术提供了数据库技术领域的一种白名单文件数据库导入方法

【技术实现步骤摘要】
一种白名单文件数据库导入方法、系统、设备及介质


[0001]本专利技术涉及数据库
,特别指一种白名单文件数据库导入方法

系统

设备及介质


技术介绍

[0002]在银行加快数字化转型的过程中,打造数字化营销生态系统成为众多银行的发力方向,营销过程需要一个成体系的营销中台,客群管理是其中重要的一环

针对不同的营销活动,银行需要获取到满足一定条件的客户进行权益发放,通常由数据中台提取到符合条件的客户数据后形成白名单文件,再将白名单文件上传到文件服务器,权益管理模块通过定时任务将文件服务器接收的白名单文件导入到相应客群的数据库中,以便后续程序的逻辑判断处理

[0003]由于客群量级最多会达到千万级,大批量白名单文件导入数据库,会占用数据库资源,进而影响营销活动的客户权益正常查询

针对大批量数据导入数据库,传统上采取分批次事务插入的方法,但存在批次数据量难以确定的问题,且事务具有原子性,当批次中的某一数据异常时整个批次会失败,导致数据缺失

[0004]因此,如何提供一种白名单文件数据库导入方法

系统

设备及介质,实现提升大批量白名单文件导入数据库的稳定性以及可靠性,成为一个亟待解决的技术问题


技术实现思路

[0005]本专利技术要解决的技术问题,在于提供一种白名单文件数据库导入方法

系统
/>设备及介质,实现提升大批量白名单文件导入数据库的稳定性以及可靠性

[0006]第一方面,本专利技术提供了一种白名单文件数据库导入方法,包括如下步骤:
[0007]步骤
S10、
在文件服务器上创建一数据库,创建所述数据库的数据库链接,并设定一表结构;
[0008]步骤
S20、
基于所述表结构在数据库中创建一历史表

一主表以及一临时表;
[0009]步骤
S30、
设定一批处理数据量,通过批处理功能,基于所述数据库链接以及批处理数据量将获取的白名单文件批量存储至临时表中;
[0010]步骤
S40、
对所述临时表中存储的数据进行校验后,删除所述历史表,将所述主表更新为历史表,将所述临时表更新为主表

[0011]进一步的,所述步骤
S10
中,所述表结构至少包括白名单文件的数据内容

字段分隔符以及文件名

[0012]进一步的,所述步骤
S30
具体为:
[0013]将
SQL
语句的最大限制长度除以所述表结构一行数据占用的空间大小,得到文件服务器一次能接收的最大数据量,基于二分法以及所述最大数据量确定批处理数据量;
[0014]打开批处理功能,逐行解析获取的白名单文件创建
INSERT
语句,打开事务并关闭自动提交,将所述
INSERT
语句添加到批处理功能的批处理器中,以所述批处理数据量为一
个批次,基于所述数据库链接提交事务,进而将所述白名单文件批量存储至临时表中

[0015]进一步的,所述步骤
S40
具体为:
[0016]对所述临时表中存储的数据进行数据格式以及取值范围的校验后,删除所述历史表,基于文件名将所述主表更新为历史表,将所述临时表更新为主表

[0017]第二方面,本专利技术提供了一种白名单文件数据库导入系统,包括如下模块:
[0018]初始化模块,用于在文件服务器上创建一数据库,创建所述数据库的数据库链接,并设定一表结构;
[0019]数据表创建模块,用于基于所述表结构在数据库中创建一历史表

一主表以及一临时表;
[0020]白名单文件存储模块,用于设定一批处理数据量,通过批处理功能,基于所述数据库链接以及批处理数据量将获取的白名单文件批量存储至临时表中;
[0021]表更新模块,用于对所述临时表中存储的数据进行校验后,删除所述历史表,将所述主表更新为历史表,将所述临时表更新为主表

[0022]进一步的,所述初始化模块中,所述表结构至少包括白名单文件的数据内容

字段分隔符以及文件名

[0023]进一步的,所述白名单文件存储模块具体用于:
[0024]将
SQL
语句的最大限制长度除以所述表结构一行数据占用的空间大小,得到文件服务器一次能接收的最大数据量,基于二分法以及所述最大数据量确定批处理数据量;
[0025]打开批处理功能,逐行解析获取的白名单文件创建
INSERT
语句,打开事务并关闭自动提交,将所述
INSERT
语句添加到批处理功能的批处理器中,以所述批处理数据量为一个批次,基于所述数据库链接提交事务,进而将所述白名单文件批量存储至临时表中

[0026]进一步的,所述表更新模块具体用于:
[0027]对所述临时表中存储的数据进行数据格式以及取值范围的校验后,删除所述历史表,基于文件名将所述主表更新为历史表,将所述临时表更新为主表

[0028]第三方面,本专利技术提供了一种白名单文件数据库导入设备,包括存储器

处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法

[0029]第四方面,本专利技术提供了一种白名单文件数据库导入介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法

[0030]本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0031]通过在文件服务器上创建数据库,创建数据库的数据库链接,并设定表结构,接着基于表结构在数据库中创建历史表

主表以及临时表;然后通过批处理功能,基于数据库链接以及设定的批处理数据量将获取的白名单文件批量存储至临时表中,对临时表中存储的数据进行校验后,删除历史表,将主表更新为历史表,将临时表更新为主表;由于批处理数据量基于
SQL
语句的最大限制长度

表结构一行数据占用的空间大小

二分法计算得到,不仅能保障白名单文件导入的效率,还能避免大批量白名单文件导入时占用数据库资源;而通过创建历史表

主表以及临时表,只有当临时表中存储的数据进行校验通过后,才将临时表更新为主表,防止主表数据缺失,且在数据异常时可通过历史表进行数据恢复,最终极大的提升了大批量白名单文件导入数据库的稳定性以及可靠性

[0032]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本发本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种白名单文件数据库导入方法,其特征在于:包括如下步骤:步骤
S10、
在文件服务器上创建一数据库,创建所述数据库的数据库链接,并设定一表结构;步骤
S20、
基于所述表结构在数据库中创建一历史表

一主表以及一临时表;步骤
S30、
设定一批处理数据量,通过批处理功能,基于所述数据库链接以及批处理数据量将获取的白名单文件批量存储至临时表中;步骤
S40、
对所述临时表中存储的数据进行校验后,删除所述历史表,将所述主表更新为历史表,将所述临时表更新为主表
。2.
如权利要求1所述的一种白名单文件数据库导入方法,其特征在于:所述步骤
S10
中,所述表结构至少包括白名单文件的数据内容

字段分隔符以及文件名
。3.
如权利要求1所述的一种白名单文件数据库导入方法,其特征在于:所述步骤
S30
具体为:将
SQL
语句的最大限制长度除以所述表结构一行数据占用的空间大小,得到文件服务器一次能接收的最大数据量,基于二分法以及所述最大数据量确定批处理数据量;打开批处理功能,逐行解析获取的白名单文件创建
INSERT
语句,打开事务并关闭自动提交,将所述
INSERT
语句添加到批处理功能的批处理器中,以所述批处理数据量为一个批次,基于所述数据库链接提交事务,进而将所述白名单文件批量存储至临时表中
。4.
如权利要求1所述的一种白名单文件数据库导入方法,其特征在于:所述步骤
S40
具体为:对所述临时表中存储的数据进行数据格式以及取值范围的校验后,删除所述历史表,基于文件名将所述主表更新为历史表,将所述临时表更新为主表
。5.
一种白名单文件数据库导入系统,其特征在于:包括如下模块:初始化模块,用于在文件服务器上创建一数据库,创建所述数...

【专利技术属性】
技术研发人员:张欢鑫张庆平王煚朱惠敏
申请(专利权)人:中国农业银行股份有限公司福建省分行
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1