[发明专利]数据入库方法、装置、设备、存储介质有效
申请号: | 202310540331.3 | 申请日: | 2023-05-15 |
公开(公告)号: | CN116257365B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 黄灿鑫 | 申请(专利权)人: | 建信金融科技有限责任公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/46;G06F16/25 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 刘海莲 |
地址: | 200120 上海市浦东新区中国(*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 入库 方法 装置 设备 存储 介质 | ||
本公开实施例提供一种数据入库方法、装置、设备、存储介质及程序产品。在本公开一些实施例中,读取数据文件;获取数据文件待写入的数据库对应的目标服务器的性能参数和运行参数;根据性能参数和运行参数,确定目标服务器的数据写入参数;根据数据写入参数,将数据文件中的数据写入数据库;针对不同类型的数据库,根据数据库对应的目标服务器的性能参数和运行参数,动态调整数据库入库参数,执行数据文件写入操作,提高数据入库效率。
技术领域
本公开涉及数据库技术领域,尤其涉及一种数据入库方法、装置、设备、存储介质及程序产品。
背景技术
许多系统有大量的数据文件加载入库的需求,其中一种通用的文件加载方式是通过文件转成SQL语句加载入库。一般是对于不同数据库有不同的处理方式,还有就是通过批量提交的方式,多行数据放入一个事务并行处理。对于不同数据库采用不同的入库方式,而且在不同数据库,批量提交条数是不同的;对于百万级、千万级的数据量加载入库速度会很慢;对于大文件如果一次读取对存在内存溢出的现象。
目前,数据入库的效率较低。
发明内容
本公开提供一种数据入库方法、装置、设备、存储介质及程序产品,用以解决数据入库效率较低的问题。本公开的技术方案如下:
本公开实施例提供一种数据入库方法,包括:
读取数据文件;
获取所述数据文件待写入的数据库对应的目标服务器的性能参数和运行参数;其中,所述运行参数包括:运行线程数和等待线程数;所述性能参数包括:CPU内核数量和数据库最大限制值;数据写入参数包括:核心线程数、批量提交条数和最大线程数;
根据所述CPU内核数量、所述运行线程数和所述等待线程数,确定所述核心线程数;
根据所述核心线程数、所述数据文件的数据量和所述数据库最大限制值,确定所述批量提交条数;
以及根据所述核心线程数,确定所述最大线程数;
根据所述数据写入参数,将所述数据文件中的数据写入所述数据库。
可选地,所述根据所述CPU内核数量、所述运行线程数和所述等待线程数,确定所述核心线程数,包括:
确定所述运行线程数和所述等待线程数的大小关系;
在所述运行线程数大于所述等待线程数的情况下,增加线程数,得到所述核心线程数;
在所述运行线程数小于等于所述等待线程数的情况下,减少线程数,得到所述核心线程数。
可选地,在所述运行线程数大于所述等待线程数的情况下,所述核心线程数的计算公式如下:
Y=A/(1-k)+(B-C)/2;
在所述运行线程数小于等于所述等待线程数的情况下,所述核心线程数的计算公式如下:
Y=A/(1-k)-(C-B)/2;
其中,A为所述CPU内核数量,k为阻塞系数,B为所述运行线程数,C为所述等待线程数,Y为核心线程数。
可选地,所述根据所述核心线程数、所述数据文件的数据量和所述数据库最大限制值,确定所述批量提交条数,包括:
从所述数据文件的数据量与所述核心线程数的比值和所述数据库最大限制值之间选择出较小的值,作为所述批量提交条数。
本公开实施例还提供一种数据入库装置,包括:
读取模块,用于读取数据文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于建信金融科技有限责任公司,未经建信金融科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310540331.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置