[發明專利]用于將大數據量的文本文件導入分布式數據庫的方法及裝置在審
| 申請號: | 202011481442.4 | 申請日: | 2020-12-15 |
| 公開(公告)號: | CN112597219A | 公開(公告)日: | 2021-04-02 |
| 發明(設計)人: | 朱曉真;鄧昌勝;陳章立 | 申請(專利權)人: | 中國建設銀行股份有限公司 |
| 主分類號: | G06F16/25 | 分類號: | G06F16/25;G06F9/50;G06F16/27 |
| 代理公司: | 中原信達知識產權代理有限責任公司 11219 | 代理人: | 郝紅玉;郭晗 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 數據量 文本文件 導入 分布式 數據庫 方法 裝置 | ||
1.用于將大數據量的文本文件導入分布式數據庫的方法,其特征在于具有下列步驟:
第一步:查詢并獲取文件導入參數配置;
第二步:將所述大數據量的文本文件以數據量平均的方式分成多個文件讀取子區域;
第三步:以對應數量的線程拆分所有文件讀取子區域,其中,每個文件讀取子區域中的數據分別被拆分到同等數量的多個子文件中;
第四步:將拆分后得到的所有子文件分配給多個分布式AP;
第五步:使用多線程異步外呼發送文件導入請求至各分布式AP,并且各分布式AP分別以分配到的子文件個數發起對應數量的線程進行文件導入,其中,按照拆分后的子文件的編號并發導入到各分表中。
2.根據權利要求1所述的方法,其特征在于,在所述第一步中解析文本文件的名稱并將文本文件的名稱作為查詢條件。
3.根據權利要求1或2所述的方法,其特征在于,如果文本文件不屬于大數據量的文本文件,則應用傳統的技術方案對文本文件進行處理。
4.根據權利要求3所述的方法,其特征在于,所述傳統的技術方案包括下列步驟:
第一步:由service層建立數據庫連接池;
第二步:將文本文件直接交給DB層處理并實現數據導入。
5.根據權利要求1所述的方法,其特征在于,在所述第二步中,向后檢索數據換行符來對文件讀取子區域的邊界進行修正直至最后一個文件讀取子區域。
6.根據權利要求5所述的方法,其特征在于,經修正的第一個文件讀取子區域為其中,X是文件大小,Y是文件讀取子區域的數量,Y為自然數且Y≤M×N,其中,M是分庫數而N是分表數且均屬于文件導入參數配置并且M和N均為自然數,K1是針對第一個文件讀取子區域而言的由于出現換行符所引起的偏移位置,經修正的第m個文件讀取子區域為其中,Km是針對第m個文件讀取子區域而言的由于出現換行符所引起的偏移位置,m∈[2,3,……,Y]。
7.根據權利要求6所述的方法,其特征在于,在所述第三步中,獲取合適的業務字段,拆分每個文件讀取子區域中的數據并按照hash(Key)%(M×N)分別來確定拆分出的數據屬于哪個子文件,其中,Key是業務字段值,M是分庫數而N是分表數并且M和N均屬于文件導入參數配置且均為自然數,并且其中,拆分出的子文件表示為“文件名_m_hash(Key)%(M×N)”。
8.根據權利要求7所述的方法,其特征在于,所述業務字段為主鍵。
9.根據權利要求8所述的方法,其特征在于,所述主鍵為用戶ID。
10.根據權利要求7所述的方法,其特征在于,hash(Key)可以采用直接尋址法、數字分析法、平方取中法、折疊法、隨機數法或除留余數法。
11.根據權利要求7所述的方法,其特征在于,在拆分每一個文件讀取子區域中的數據時根據文件接口規范計算出其中每一條數據的長度L,其起始位置為B,基于區域(B,B+L)算出下個換行符出現的位置并作為這條數據的結束位,隨后繼續輪詢拆分直至最后一條數據。
12.根據權利要求7所述的方法,其特征在于,每個子文件中的數據的數量是平均的。
13.根據權利要求1所述的方法,其特征在于,在所述第四步中執行如下分配算法:假設子文件總數為T,AP個數為P,每個AP所分配的文件個數N=[T-(T%P)]/P,其中,T和P為自然數且T≥P。
14.根據權利要求1所述的方法,其特征在于,所述方法總體上呈樹狀結構。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國建設銀行股份有限公司,未經中國建設銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011481442.4/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種腸造口保護裝置
- 下一篇:一種嵌入式系統的參數存儲機制





