本發明涉及數據處理,尤其涉及一種數據處理方法、裝置、電子設備和存儲介質。
背景技術:
1、在金融機構的核心系統中仍存在大量使用oracle數據庫的包作為主要的業務處理程序,金融機構在信創轉型中,希望平行替換數據庫,而不希望java應用系統做大量修改。集中式數據庫轉為分布式數據庫時,涉及到表分片設計,而具體的設計需要依據當前業務特征來決定,不能隨意采用策略,否則將對系統性能帶來風險。這些系統的明顯特點是存在大量的大表多表關聯,關聯字段無法保證都相同,而金融機構的核心系統往往很可能存在高達數千,甚至數萬張表,每張表都作為多節點復制表將導致存儲開銷劇增,對單臺主機的存儲和成本帶來嚴峻的挑戰,因此,我們需要找出表的關聯關系,基于這種關系可將大表拆分為不同的組,使不同的組分布于不同的分片,能夠準確地識別源碼數據中的表關聯關系是亟待解決的問題。
技術實現思路
1、本發明提供了一種數據處理方法、裝置、電子設備和存儲介質,以解決自動識別表的關聯關系的準確性差的問題。
2、根據本發明的一方面,提供了一種數據處理方法,包括:
3、獲取待處理數據,基于待處理數據構建目標數據集合,其中,目標數據集合包括多行語句;
4、確定目標數據集合中的各行語句分別對應的語句標識信息,其中,語句標識信息包括語句開始標識信息和語句結束標識信息;
5、基于各行語句分別對應的語句開始標識信息和語句結束標識信息對目標數據集合中的多行語句進行分塊處理,得到至少一個語句塊,其中,語句塊包括至少一行語句;
6、對于每一語句塊,提取語句塊中的至少一個表名稱,基于語句塊中的至少一個表名稱構建表關聯關系。
7、可選的,基于待處理數據構建目標數據集合,包括:獲取預設過濾條件,基于預設過濾條件對待處理數據進行數據過濾,得到過濾后的數據,基于過濾后的數據構建初始數據集合,其中,預設過濾條件包括至少一個函數實參中的關鍵字匹配的正則表達式和預設字符匹配的正則表達式;剔除初始數據集合中的設定類型語句,得到目標數據集合,其中,設定類型語句中包括設定字符。
8、可選的,基于預設過濾條件對待處理數據進行數據過濾,得到過濾后的數據,包括:基于預設過濾條件中的一項或多項正則表達式構建對應的數據過濾操作語句,基于數據過濾操作語句對待處理數據進行處理,得到過濾后的數據。
9、可選的,確定目標數據集合中的各行語句分別對應的語句標識信息,包括:獲取預設關鍵字集合,基于預設關鍵字集合對目標數據集合中的各行語句設置語句開始標識信息;獲取預設字符集合,基于預設字符集合對目標數據集合中的各行語句設置語句結束標識信息。
10、可選的,基于預設關鍵字集合對目標數據集合中的各行語句設置語句開始標識信息,包括:
11、基于預設關鍵字集合中的一項或多項構建至少一個正則表達式,基于預設關鍵字集合對應的至少一個正則表達式構建語句開始位置標記操作語句;執行語句開始位置標記操作語句,確定目標數據集合中的各行語句的語句開始標識信息。
12、可選的,基于預設字符集合對目標數據集合中的各行語句設置語句結束標識信息,包括:基于預設字符集合中的一項或多項構建至少一個正則表達式,基于預設字符集合對應的至少一個正則表達式構建語句結束位置標記操作語句,其中,預設字符集合包括結束關鍵字和結束符號;執行語句結束位置標記操作語句,確定目標數據集合中的各行語句的語句結束標識信息。
13、可選的,目標數據集合還包括各行語句對應的語句行號;基于各行語句分別對應的語句開始標識信息和語句結束標識信息對目標數據集合中的多行語句進行分塊處理,得到至少一個語句塊,包括:按各行語句的語句行號升序遍歷各行語句分別對應的語句開始標識信息和語句結束標識信息;將語句開始標識信息為開始標識符的語句行確定為開始語句行;確定位于開始語句行之后,且語句結束標識信息為結束標識符的結束語句行,將開始語句行和結束語句行之間的語句作為一個語句塊,其中,結束語句行為與開始語句行之間行號間隔最小的語句行。
14、根據本發明的另一方面,提供了一種數據處理裝置,包括:
15、目標數據集合確定模塊,用于獲取待處理數據,基于待處理數據構建目標數據集合,其中,目標數據集合包括多行語句;
16、語句標識信息確定模塊,用于確定目標數據集合中的各行語句分別對應的語句標識信息,其中,語句標識信息包括語句開始標識信息和語句結束標識信息;
17、語句塊確定模塊,用于基于各行語句分別對應的語句開始標識信息和語句結束標識信息對目標數據集合中的多行語句進行分塊處理,得到至少一個語句塊,其中,語句塊包括至少一行語句;
18、表關聯關系構建模塊,用于對于每一語句塊,提取語句塊中的至少一個表名稱,基于語句塊中的至少一個表名稱構建表關聯關系。
19、根據本發明的另一方面,提供了一種電子設備,電子設備包括:
20、至少一個處理器;以及
21、與至少一個處理器通信連接的存儲器;其中,
22、存儲器存儲有可被至少一個處理器執行的計算機程序,計算機程序被至少一個處理器執行,以使至少一個處理器能夠執行本發明任一實施例的數據處理方法。
23、根據本發明的另一方面,提供了一種計算機可讀存儲介質,計算機可讀存儲介質存儲有計算機指令,計算機指令用于使處理器執行時實現本發明任一實施例的數據處理方法。
24、本發明實施例的技術方案,通過獲取待處理數據,基于待處理數據構建目標數據集合,其中,目標數據集合包括多行語句;確定目標數據集合中的各行語句分別對應的語句標識信息,其中,語句標識信息包括語句開始標識信息和語句結束標識信息;基于各行語句分別對應的語句開始標識信息和語句結束標識信息對目標數據集合中的多行語句進行分塊處理,得到至少一個語句塊,其中,語句塊包括至少一行語句;對于每一語句塊,提取語句塊中的至少一個表名稱,基于語句塊中的至少一個表名稱構建表關聯關系。本方案通過對待處理數據進行處理,得到對應的目標數據集合,并對目標數據集合中的各語句進行識別,確定各語句的語句開始標識信息和語句結束,進而根據各語句的語句開始標識信息和語句結束進行語句分塊處理,再識別語句塊中的表名稱,以準確地得到具有關聯關系的表,解決了無法準確確定待處理數據中的具有關聯關系的數據表的問題,提高了確定待處理數據中的表名稱的準確性和確定表關聯關系的準確性,進而有助于提高將集中式數據庫轉為分布式數據庫的工作效率。
25、應當理解,本部分所描述的內容并非旨在標識本發明的實施例的關鍵或重要特征,也不用于限制本發明的范圍。本發明的其它特征將通過以下的說明書而變得容易理解。
1.一種數據處理方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述基于所述待處理數據構建目標數據集合,包括:
3.根據權利要求2所述的方法,其特征在于,所述基于所述預設過濾條件對所述待處理數據進行數據過濾,得到過濾后的數據,包括:
4.根據權利要求1所述的方法,其特征在于,所述確定所述目標數據集合中的各行語句分別對應的語句標識信息,包括:
5.根據權利要求4所述的方法,其特征在于,所述基于所述預設關鍵字集合對所述目標數據集合中的各行語句設置語句開始標識信息,包括:
6.根據權利要求4所述的方法,其特征在于,所述基于所述預設字符集合對所述目標數據集合中的各行語句設置語句結束標識信息,包括:
7.根據權利要求1所述的方法,其特征在于,所述目標數據集合還包括所述各行語句對應的語句行號;
8.一種數據處理裝置,其特征在于,包括:
9.一種電子設備,其特征在于,所述電子設備包括:
10.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機指令,所述計算機指令用于使處理器執行時實現權利要求1-7中任一項所述的數據處理方法。