[发明专利]数据入库方法、装置、设备、存储介质有效
申请号: | 202310540331.3 | 申请日: | 2023-05-15 |
公开(公告)号: | CN116257365B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 黄灿鑫 | 申请(专利权)人: | 建信金融科技有限责任公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/46;G06F16/25 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 刘海莲 |
地址: | 200120 上海市浦东新区中国(*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 入库 方法 装置 设备 存储 介质 | ||
1.一种数据入库方法,其特征在于,包括:
读取数据文件;
获取所述数据文件待写入的数据库对应的目标服务器的性能参数和运行参数;其中,所述运行参数包括:运行线程数和等待线程数;所述性能参数包括:CPU内核数量和数据库最大限制值;数据写入参数包括:核心线程数、批量提交条数和最大线程数;所述目标服务器是指为所述数据文件待写入的数据库提供服务的服务器;
根据所述CPU内核数量、所述运行线程数和所述等待线程数,确定所述核心线程数;
根据所述核心线程数、所述数据文件的数据量和所述数据库最大限制值,确定所述批量提交条数;
以及根据所述核心线程数,确定所述最大线程数;
根据所述数据写入参数,将所述数据文件中的数据写入所述数据库;
所述根据所述核心线程数、所述数据文件的数据量和所述数据库最大限制值,确定所述批量提交条数,包括:
判断所述数据文件的数据量与所述核心线程数的比值和所述数据库最大限制值之间的最小值;
若数据库最大限制值最小,则将数据库最大限制值作为批量提交条数;若数据文件的数据量与核心线程数的比值最小,则将数据文件的数据量与核心线程数的比值作为批量提交条数;
其中,在所述运行线程数大于所述等待线程数的情况下,所述核心线程数的计算公式如下:
Y=A/(1-k)+(B-C)/2;
在所述运行线程数小于等于所述等待线程数的情况下,所述核心线程数的计算公式如下:
Y=A/(1-k)-(C-B)/2;
其中,A为所述CPU内核数量,k为阻塞系数,B为所述运行线程数,C为所述等待线程数,Y为核心线程数;
所述方法,还包括:
通过主线程逐行读取数据文件并解析所述数据文件为SQL语句,并创建线程池管理插入数据库线程的操作;设置行数阈值,当读取到所述行数阈值的行数时,把所述行数的数据添加到一个写文件子线程去做插入到所述数据库的处理;所述写文件子线程把拿到的数据做遍历,然后根据所述批量提交条数,遍历到所述批量提交条数做一个事务的批处理提交。
2.一种数据入库装置,其特征在于,包括:
读取模块,用于读取数据文件;
获取模块,用于获取所述数据文件待写入的数据库对应的目标服务器的性能参数和运行参数;其中,所述运行参数包括:运行线程数和等待线程数;所述性能参数包括:CPU内核数量和数据库最大限制值;数据写入参数包括:核心线程数、批量提交条数和最大线程数;所述目标服务器是指为所述数据文件待写入的数据库提供服务的服务器;
确定模块,用于根据所述CPU内核数量、所述运行线程数和所述等待线程数,确定所述核心线程数;根据所述核心线程数、所述数据文件的数据量和所述数据库最大限制值,确定所述批量提交条数;以及根据所述核心线程数,确定所述最大线程数;
写入模块,用于根据所述数据写入参数,将所述数据文件中的数据写入所述数据库;
所述确定模块在根据所述核心线程数、所述数据文件的数据量和所述数据库最大限制值,确定所述批量提交条数时,用于:
判断所述数据文件的数据量与所述核心线程数的比值和所述数据库最大限制值之间的最小值;
若数据库最大限制值最小,则将数据库最大限制值作为批量提交条数;若数据文件的数据量与核心线程数的比值最小,则将数据文件的数据量与核心线程数的比值作为批量提交条数;
其中,在所述运行线程数大于所述等待线程数的情况下,所述核心线程数的计算公式如下:
Y=A/(1-k)+(B-C)/2;
在所述运行线程数小于等于所述等待线程数的情况下,所述核心线程数的计算公式如下:
Y=A/(1-k)-(C-B)/2;
其中,A为所述CPU内核数量,k为阻塞系数,B为所述运行线程数,C为所述等待线程数,Y为核心线程数;
所述装置,还用于:
通过主线程逐行读取数据文件并解析所述数据文件为SQL语句,并创建线程池管理插入数据库线程的操作;设置行数阈值,当读取到所述行数阈值的行数时,把所述行数的数据添加到一个写文件子线程去做插入到所述数据库的处理;所述写文件子线程把拿到的数据做遍历,然后根据所述批量提交条数,遍历到所述批量提交条数做一个事务的批处理提交。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于建信金融科技有限责任公司,未经建信金融科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310540331.3/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置