[發(fā)明專利]數(shù)據(jù)入庫(kù)方法、裝置、設(shè)備、存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202310540331.3 | 申請(qǐng)日: | 2023-05-15 |
| 公開(kāi)(公告)號(hào): | CN116257365B | 公開(kāi)(公告)日: | 2023-08-22 |
| 發(fā)明(設(shè)計(jì))人: | 黃燦鑫 | 申請(qǐng)(專利權(quán))人: | 建信金融科技有限責(zé)任公司 |
| 主分類號(hào): | G06F9/50 | 分類號(hào): | G06F9/50;G06F9/46;G06F16/25 |
| 代理公司: | 北京清亦華知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11201 | 代理人: | 劉海蓮 |
| 地址: | 200120 上海市浦東新區(qū)中國(guó)(*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 數(shù)據(jù) 入庫(kù) 方法 裝置 設(shè)備 存儲(chǔ) 介質(zhì) | ||
1.一種數(shù)據(jù)入庫(kù)方法,其特征在于,包括:
讀取數(shù)據(jù)文件;
獲取所述數(shù)據(jù)文件待寫入的數(shù)據(jù)庫(kù)對(duì)應(yīng)的目標(biāo)服務(wù)器的性能參數(shù)和運(yùn)行參數(shù);其中,所述運(yùn)行參數(shù)包括:運(yùn)行線程數(shù)和等待線程數(shù);所述性能參數(shù)包括:CPU內(nèi)核數(shù)量和數(shù)據(jù)庫(kù)最大限制值;數(shù)據(jù)寫入?yún)?shù)包括:核心線程數(shù)、批量提交條數(shù)和最大線程數(shù);所述目標(biāo)服務(wù)器是指為所述數(shù)據(jù)文件待寫入的數(shù)據(jù)庫(kù)提供服務(wù)的服務(wù)器;
根據(jù)所述CPU內(nèi)核數(shù)量、所述運(yùn)行線程數(shù)和所述等待線程數(shù),確定所述核心線程數(shù);
根據(jù)所述核心線程數(shù)、所述數(shù)據(jù)文件的數(shù)據(jù)量和所述數(shù)據(jù)庫(kù)最大限制值,確定所述批量提交條數(shù);
以及根據(jù)所述核心線程數(shù),確定所述最大線程數(shù);
根據(jù)所述數(shù)據(jù)寫入?yún)?shù),將所述數(shù)據(jù)文件中的數(shù)據(jù)寫入所述數(shù)據(jù)庫(kù);
所述根據(jù)所述核心線程數(shù)、所述數(shù)據(jù)文件的數(shù)據(jù)量和所述數(shù)據(jù)庫(kù)最大限制值,確定所述批量提交條數(shù),包括:
判斷所述數(shù)據(jù)文件的數(shù)據(jù)量與所述核心線程數(shù)的比值和所述數(shù)據(jù)庫(kù)最大限制值之間的最小值;
若數(shù)據(jù)庫(kù)最大限制值最小,則將數(shù)據(jù)庫(kù)最大限制值作為批量提交條數(shù);若數(shù)據(jù)文件的數(shù)據(jù)量與核心線程數(shù)的比值最小,則將數(shù)據(jù)文件的數(shù)據(jù)量與核心線程數(shù)的比值作為批量提交條數(shù);
其中,在所述運(yùn)行線程數(shù)大于所述等待線程數(shù)的情況下,所述核心線程數(shù)的計(jì)算公式如下:
Y=A/(1-k)+(B-C)/2;
在所述運(yùn)行線程數(shù)小于等于所述等待線程數(shù)的情況下,所述核心線程數(shù)的計(jì)算公式如下:
Y=A/(1-k)-(C-B)/2;
其中,A為所述CPU內(nèi)核數(shù)量,k為阻塞系數(shù),B為所述運(yùn)行線程數(shù),C為所述等待線程數(shù),Y為核心線程數(shù);
所述方法,還包括:
通過(guò)主線程逐行讀取數(shù)據(jù)文件并解析所述數(shù)據(jù)文件為SQL語(yǔ)句,并創(chuàng)建線程池管理插入數(shù)據(jù)庫(kù)線程的操作;設(shè)置行數(shù)閾值,當(dāng)讀取到所述行數(shù)閾值的行數(shù)時(shí),把所述行數(shù)的數(shù)據(jù)添加到一個(gè)寫文件子線程去做插入到所述數(shù)據(jù)庫(kù)的處理;所述寫文件子線程把拿到的數(shù)據(jù)做遍歷,然后根據(jù)所述批量提交條數(shù),遍歷到所述批量提交條數(shù)做一個(gè)事務(wù)的批處理提交。
2.一種數(shù)據(jù)入庫(kù)裝置,其特征在于,包括:
讀取模塊,用于讀取數(shù)據(jù)文件;
獲取模塊,用于獲取所述數(shù)據(jù)文件待寫入的數(shù)據(jù)庫(kù)對(duì)應(yīng)的目標(biāo)服務(wù)器的性能參數(shù)和運(yùn)行參數(shù);其中,所述運(yùn)行參數(shù)包括:運(yùn)行線程數(shù)和等待線程數(shù);所述性能參數(shù)包括:CPU內(nèi)核數(shù)量和數(shù)據(jù)庫(kù)最大限制值;數(shù)據(jù)寫入?yún)?shù)包括:核心線程數(shù)、批量提交條數(shù)和最大線程數(shù);所述目標(biāo)服務(wù)器是指為所述數(shù)據(jù)文件待寫入的數(shù)據(jù)庫(kù)提供服務(wù)的服務(wù)器;
確定模塊,用于根據(jù)所述CPU內(nèi)核數(shù)量、所述運(yùn)行線程數(shù)和所述等待線程數(shù),確定所述核心線程數(shù);根據(jù)所述核心線程數(shù)、所述數(shù)據(jù)文件的數(shù)據(jù)量和所述數(shù)據(jù)庫(kù)最大限制值,確定所述批量提交條數(shù);以及根據(jù)所述核心線程數(shù),確定所述最大線程數(shù);
寫入模塊,用于根據(jù)所述數(shù)據(jù)寫入?yún)?shù),將所述數(shù)據(jù)文件中的數(shù)據(jù)寫入所述數(shù)據(jù)庫(kù);
所述確定模塊在根據(jù)所述核心線程數(shù)、所述數(shù)據(jù)文件的數(shù)據(jù)量和所述數(shù)據(jù)庫(kù)最大限制值,確定所述批量提交條數(shù)時(shí),用于:
判斷所述數(shù)據(jù)文件的數(shù)據(jù)量與所述核心線程數(shù)的比值和所述數(shù)據(jù)庫(kù)最大限制值之間的最小值;
若數(shù)據(jù)庫(kù)最大限制值最小,則將數(shù)據(jù)庫(kù)最大限制值作為批量提交條數(shù);若數(shù)據(jù)文件的數(shù)據(jù)量與核心線程數(shù)的比值最小,則將數(shù)據(jù)文件的數(shù)據(jù)量與核心線程數(shù)的比值作為批量提交條數(shù);
其中,在所述運(yùn)行線程數(shù)大于所述等待線程數(shù)的情況下,所述核心線程數(shù)的計(jì)算公式如下:
Y=A/(1-k)+(B-C)/2;
在所述運(yùn)行線程數(shù)小于等于所述等待線程數(shù)的情況下,所述核心線程數(shù)的計(jì)算公式如下:
Y=A/(1-k)-(C-B)/2;
其中,A為所述CPU內(nèi)核數(shù)量,k為阻塞系數(shù),B為所述運(yùn)行線程數(shù),C為所述等待線程數(shù),Y為核心線程數(shù);
所述裝置,還用于:
通過(guò)主線程逐行讀取數(shù)據(jù)文件并解析所述數(shù)據(jù)文件為SQL語(yǔ)句,并創(chuàng)建線程池管理插入數(shù)據(jù)庫(kù)線程的操作;設(shè)置行數(shù)閾值,當(dāng)讀取到所述行數(shù)閾值的行數(shù)時(shí),把所述行數(shù)的數(shù)據(jù)添加到一個(gè)寫文件子線程去做插入到所述數(shù)據(jù)庫(kù)的處理;所述寫文件子線程把拿到的數(shù)據(jù)做遍歷,然后根據(jù)所述批量提交條數(shù),遍歷到所述批量提交條數(shù)做一個(gè)事務(wù)的批處理提交。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于建信金融科技有限責(zé)任公司,未經(jīng)建信金融科技有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310540331.3/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設(shè)備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 海量數(shù)據(jù)高效入庫(kù)方法
- 數(shù)字糧庫(kù)智能出入庫(kù)系統(tǒng)
- 庫(kù)存調(diào)度方法、裝置以及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 列車入庫(kù)方法及裝置
- 物料入庫(kù)前管理方法和裝置
- 一種基于粗糙集規(guī)則挖掘的鋼卷庫(kù)房智能入庫(kù)方法
- 一種倉(cāng)儲(chǔ)入庫(kù)管理方法和管理裝置
- 數(shù)據(jù)處理方法及裝置、存儲(chǔ)介質(zhì)、電子裝置
- 一種物品入庫(kù)系統(tǒng)及物品入庫(kù)方法
- 一種入庫(kù)單生成方法、系統(tǒng)、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





