[發明專利]數據入庫方法、裝置、設備、存儲介質有效
| 申請號: | 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.szxzyx.cn/pat/books/202310540331.3/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





