【技术实现步骤摘要】
数据入库方法、装置、设备、存储介质及程序产品
[0001]本公开涉及数据库
,尤其涉及一种数据入库方法、装置、设备、存储介质及程序产品。
技术介绍
[0002]许多系统有大量的数据文件加载入库的需求,其中一种通用的文件加载方式是通过文件转成SQL语句加载入库。一般是对于不同数据库有不同的处理方式,还有就是通过批量提交的方式,多行数据放入一个事务并行处理。对于不同数据库采用不同的入库方式,而且在不同数据库,批量提交条数是不同的;对于百万级、千万级的数据量加载入库速度会很慢;对于大文件如果一次读取对存在内存溢出的现象。
[0003]目前,数据入库的效率较低。
技术实现思路
[0004]本公开提供一种数据入库方法、装置、设备、存储介质及程序产品,用以解决数据入库效率较低的问题。本公开的技术方案如下:本公开实施例提供一种数据入库方法,包括:读取数据文件;获取所述数据文件待写入的数据库对应的目标服务器的性能参数和运行参数;其中,所述运行参数包括:运行线程数和等待线程数;所述性能参数包括:CPU内核数量和数 ...
【技术保护点】
【技术特征摘要】
1.一种数据入库方法,其特征在于,包括:读取数据文件;获取所述数据文件待写入的数据库对应的目标服务器的性能参数和运行参数;其中,所述运行参数包括:运行线程数和等待线程数;所述性能参数包括:CPU内核数量和数据库最大限制值;数据写入参数包括:核心线程数、批量提交条数和最大线程数;根据所述CPU内核数量、所述运行线程数和所述等待线程数,确定所述核心线程数;根据所述核心线程数、所述数据文件的数据量和所述数据库最大限制值,确定所述批量提交条数;以及根据所述核心线程数,确定所述最大线程数;根据所述数据写入参数,将所述数据文件中的数据写入所述数据库。2.根据权利要求1所述的方法,所述根据所述CPU内核数量、所述运行线程数和所述等待线程数,确定所述核心线程数,其特征在于,包括:确定所述运行线程数和所述等待线程数的大小关系;在所述运行线程数大于所述等待线程数的情况下,增加线程数,得到所述核心线程数;在所述运行线程数小于等于所述等待线程数的情况下,减少线程数,得到所述核心线程数。3.根据权利要求2所述的方法,其特征在于,在所述运行线程数大于所述等待线程数的情况下,所述核心线程数的计算公式如下:Y=A/(1
‑
k)+(B
‑
C)/2;在所述运行线程数小于等于所述等待线程数的情况下,所述核心线程数的计算公式如下:Y=A/(1
‑
k)
‑
(C
‑
B)/2;其中,A为所述CPU内核数量,k为阻塞系数,B为所述运行线程数,C为所述等待线程数,Y为核心线程数。4.根据权利要求1所述的方法,其特征在于,所述根据所述核心线程数、所述数据文件的数据量和所述数据库最大限制值,确定所述批量提交条数,包括:从所述数据文件的数据量与所述核心线程数的比值和所述数据库最大限制值之间选择出较小的值,作为所述批量提交条数。5.一种数据入库装置,其特征在于,包括:读取模块,用于读取...
【专利技术属性】
技术研发人员:黄灿鑫,
申请(专利权)人:建信金融科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。