本發明涉及數據處理,更具體地涉及一種數據導入方法、裝置及設備。
背景技術:
1、當前大數據時代,對于數據庫系統,存儲在其中的數據日益龐大。當數據庫管理員需要對數據庫進行管理操作或者進行數據備份恢復操作時,會涉及對海量數據進行導入的操作。
2、相關技術中,往往需要先將待導入的數據轉換為結構化語句,再構建數據表,或是經過數據庫的查詢處理器處理后,再導入數據庫,此外,上述處理操作無法實現多條數據并行導入,效率低的同時,對系統的資源耗費較大。
技術實現思路
1、鑒于上述問題,本發明提供了一種數據導入方法、裝置及設備。
2、根據本發明的第一個方面,提供了一種數據導入方法,包括:響應于數據導入指令,將待導入數據與目標數據庫建立連接關系,待導入數據包括多種格式類型,待導入數據包括多個行數據,多個行數據中的至少兩個與同一個格式類型相關聯;根據與格式類型相對應的讀寫控制標識,更新待導入數據的多個行數據的讀寫屬性,得到更新后的源數據,并將源數據寫入共享內存隊列;利用并行解析線程對共享內存隊列中的源數據進行解析,得到與源數據對應的元組;將元組寫入目標數據庫的目標文件。
3、根據本發明的實施例,讀寫控制標識包括起始標識、結束標識和跳過標識;根據與格式類型相對應的讀寫控制標識,更新待導入數據的多個行數據的讀寫屬性,得到更新后的源數據,并將源數據寫入共享內存隊列,包括:在待導入數據的格式類型為文本格式類型的情況下,遍歷待導入數據的每個行數據對應的換行符信息,換行符信息包括與每個行數據對應的換行符、與換行符對應的讀寫控制標識;在讀寫控制標識為起始標識的情況下,對起始標識對應的行數據進行讀取操作;其中,在讀取操作過程中,識別到跳過標識對應的換行符的情況下,跳過與跳過標識對應的行數據;在讀取操作過程中,識別到結束標識對應的換行符的情況下,在與結束標識對應的行數據讀取完成后,中斷讀取操作,得到源數據;將源數據寫入共享內存隊列。
4、根據本發明的實施例,根據與格式類型相對應的讀寫控制標識,更新待導入數據的多個行數據的讀寫屬性,得到更新后的源數據,并將源數據寫入共享內存隊列,還包括:在待導入數據的格式類型為非文本格式類型的情況下,對待導入數據的多個行數據進行讀取操作,得到源數據;其中,在讀取操作過程中,識別到跳過標識對應的換行符的情況下,跳過與跳過標識對應的行數據;將源數據寫入共享內存隊列。
5、根據本發明的實施例,共享內存隊列包括多個;將源數據寫入共享內存隊列,包括:獲取每個共享內存隊列對應的權重;根據共享內存隊列對應的權重,對多個共享內存隊列進行排序;根據多個共享內存隊列的排序,將源數據寫入共享內存隊列。
6、根據本發明的實施例,源數據包括多個分隔符;利用并行解析線程對共享內存隊列中的源數據進行解析,得到與源數據對應的元組,包括:基于多個分隔符,對源數據進行拆分處理,得到多個列數據;獲取目標數據庫的目標數據表,確定目標數據表的列數;對列數據的數量與目標數據表的列數進行比對,得到比對結果;在比對結果為比對一致的情況下,基于目標數據表,構建與源數據對應的元組。
7、根據本發明的實施例,基于目標數據表,構建與源數據對應的元組,包括:確定目標數據表的屬性信息,屬性信息包括目標數據表的目標表結構和目標格式;根據目標格式,對列數據進行格式轉換,得到目標源數據;構建與目標表結構對應的初始表結構;利用目標源數據,更新初始表結構,得到元組。
8、根據本發明的實施例,利用并行解析線程對共享內存隊列中的源數據進行解析,得到與源數據對應的元組,還包括:在比對結果為比對不一致的情況下,將源數據對應的多個列數據存入目標數據庫中的異常數據文件;對與異常數據文件關聯的日志進行分析,在多個列數據中確定目標異常數據;推送目標異常數據。
9、根據本發明的實施例,響應于數據導入指令,將待導入數據與目標數據庫建立連接關系,包括:響應于數據導入指令,從待導入數據中獲取連接參數信息;將待導入數據與連接參數信息對應的目標數據庫構建連接關系;利用目標數據庫的排序組件接收待導入數據。
10、本發明的第二方面提供了一種數據導入裝置,包括:建立模塊,用于響應于數據導入指令,將待導入數據與目標數據庫建立連接關系,待導入數據包括多種格式類型,待導入數據包括多個行數據,多個行數據中的至少兩個與同一個格式類型相關聯;更新模塊,用于根據與格式類型相對應的讀寫控制標識,更新待導入數據的多個行數據的讀寫屬性,得到更新后的源數據,并將源數據寫入共享內存隊列;解析模塊,用于利用并行解析線程對共享內存隊列中的源數據進行解析,得到與源數據對應的元組;以及寫入模塊,用于將元組寫入目標數據庫的目標文件。
11、本發明的第三方面提供了一種電子設備,包括:一個或多個處理器;存儲器,用于存儲一個或多個計算機程序,其中,上述一個或多個處理器執行上述一個或多個計算機程序以實現上述方法的步驟。
12、本發明的第四方面還提供了一種計算機可讀存儲介質,其上存儲有計算機程序或指令,上述計算機程序或指令被處理器執行時實現上述方法的步驟。
13、本發明的第五方面還提供了一種計算機程序產品,包括計算機程序或指令,上述計算機程序或指令被處理器執行時實現上述方法的步驟。
14、根據本發明的實施例,響應于數據導入指令,將待導入數據與目標數據庫建立連接關系,待導入數據包括多種格式類型,待導入數據包括多個行數據,多個行數據中的至少兩個與同一個格式類型相關聯;根據與格式類型相對應的讀寫控制標識,更新待導入數據的多個行數據的讀寫屬性,得到更新后的源數據,并將源數據寫入共享內存隊列;利用并行解析線程對共享內存隊列中的源數據進行解析,得到與源數據對應的元組;將元組寫入目標數據庫的目標文件。由于采用了對多種格式類型的待導入數據的讀寫屬性進行更新,并利用并行解析線程對待導入數據進行解析得到相應的元組的技術手段,避免了在導入數據庫之前還需要由相關處理器進行結構化處理,無法適應多條數據并行導入的問題,進而實現了對于不同格式類型的待導入數據直接寫入數據庫,提升了讀寫效率的同時,實現多條待導入數據的并行寫入,減少系統的資源開銷。
1.一種數據導入方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述讀寫控制標識包括起始標識、結束標識和跳過標識;
3.根據權利要求2所述的方法,其特征在于,所述根據與所述格式類型相對應的讀寫控制標識,更新所述待導入數據的多個行數據的讀寫屬性,得到更新后的源數據,并將所述源數據寫入共享內存隊列,還包括:
4.根據權利要求3所述的方法,其特征在于,所述共享內存隊列包括多個;
5.根據權利要求1所述的方法,其特征在于,所述源數據包括多個分隔符;
6.根據權利要求5所述的方法,其特征在于,所述基于所述目標數據表,構建與所述源數據對應的所述元組,包括:
7.根據權利要求5所述的方法,其特征在于,所述利用并行解析線程對所述共享內存隊列中的所述源數據進行解析,得到與所述源數據對應的元組,還包括:
8.根據權利要求1所述的方法,其特征在于,所述響應于數據導入指令,將待導入數據與目標數據庫建立連接關系,包括:
9.一種數據導入裝置,其特征在于,所述裝置包括:
10.一種電子設備,其特征在于,所述電子設備包括: