一種數據查詢方法及裝置的制造方法
【技術領域】
[0001]本發明涉及數據查詢技術領域,特別是涉及一種數據查詢方法及裝置。
【背景技術】
[0002]隨著系統數據的越來越大,分布式數據庫應用而生。其中,分布式數據庫是由一組數據組成的,這組數據分布在網絡系統的不同節點上,網絡中每個節點具有獨立處理的能力,可以執行局部應用(指對本節點的數據進行存取、查詢等的應用);同時,每個節點也能通過網絡通訊支持全局應用(指存取兩個或兩個以上的節點的數據庫應用)。其中,每一組數據通常被稱為分片數據庫,且不同的分片數據庫存儲有不同的數據內容;同時,分片數據庫會包括至少兩個所存儲數據內容相同的子數據庫,這樣使得分片數據庫所存儲的內容存在副本,達到了提高數據安全性的目的。
[0003]現有技術中,當網絡系統中的管理節點(該管理節點可以為存儲有分片數據庫的節點或不同于存儲有分片數據庫的節點的代理節點)接收到針對于某一分布式數據庫的目標數據查詢請求后,基于該數據查詢請求所對應的數據查詢范圍,確定該目標數據查詢請求所針對的至少一個目標分片數據庫;生成針對于至少一個目標分片數據庫的子數據查詢請求,其中,子數據查詢請求與分片式數據庫具有唯一對應性,各個子數據查詢請求所對應的總的數據查詢范圍等同于目標數據查詢請求所針對的數據查詢范圍;將各個一級數據查詢請求發送給相對應目標分片數據庫所在的節點;相應的,接收到一級數據查詢請求的節點基于所接收到的一級數據查詢請求對相應的目標分片數據庫進行查詢處理,并將查詢結果進行反饋處理;而該管理節點在接收到各個一級數據查詢請求所對應的查詢結果后,匯總所述查詢結果,進而將匯總后的查詢結果作為所述目標數據查詢請求的目標查詢結果O
[0004]盡管現有技術中的分布查詢方式具有較高的查詢速率,但是,隨著查詢速率要求的提高,如何進一步提高查詢分布式數據庫的速率是一個亟待解決的問題。
【發明內容】
[0005]本發明實施例的目的在于提供一種數據查詢方法及裝置,以進一步提高查詢分布式數據庫的速率。具體技術方案如下:
[0006]第一方面,本發明實施例提供了一種數據查詢方法,包括:
[0007]在接收到針對于分布式數據庫的目標數據查詢請求后,基于所述目標數據查詢請求所對應的數據查詢范圍,確定所述目標數據查詢請求所針對的至少一個目標分片數據庫;其中,所述分布式數據庫的數據通過至少兩個分片數據庫進行存儲,每一分片數據庫包括至少兩個子數據庫;
[0008]生成針對于所述至少一個目標分片數據庫的一級數據查詢請求;其中,所述一級數據查詢請求與目標分片數據庫具有唯一對應性,各個一級數據查詢請求所針對的總的數據查詢范圍與所述目標數據查詢請求所針對的數據查詢范圍相同;
[0009]判斷所述目標數據查詢請求是否符合預設拆分條件,如果是,生成各個一級數據查詢請求所對應的二級數據查詢請求;其中,所述二級數據查詢請求與相應目標分片數據庫的子數據庫具有唯一對應性,每個一級數據查詢請求所對應的二級數據查詢請求所針對的總的數據查詢范圍與該一級數據查詢請求所對應的數據查詢范圍相同;
[0010]將各個一級數據查詢請求所對應的二級數據查詢請求發送給該一級數據查詢請求所對應目標分片數據庫所在的節點,以使得所述節點基于所接收到的二級數據查詢請求對相應的子數據庫進行查詢處理,并將查詢結果進行反饋處理;
[0011]在接收到各個二級數據查詢請求所對應的查詢結果后,匯總所述查詢結果;
[0012]將匯總后的查詢結果作為所述目標數據查詢請求的目標查詢結果。
[0013]優選的,所述判斷所述目標數據查詢請求是否符合預設拆分條件,包括:
[0014]判斷所述目標數據查詢請求是否攜帶預設查詢命令,如果是,表明所述目標數據查詢請求符合預設拆分條件。
[0015]優選的,所述預設查詢命令,包括:
[0016]表明匹配或累加的查詢命令。
[0017]優選的,所述生成各個一級數據查詢請求所對應的二級數據查詢請求,包括:
[0018]確定各個一級查詢請求所對應的目標分片數據庫的子數據庫的數量;
[0019]將各個一級數據查詢請求拆分為所對應子數據庫的數量的二級數據查詢請求。
[0020]優選的,所述生成各個一級數據查詢請求所對應的二級數據查詢請求,包括:
[0021]獲得各個一級數據查詢請求所對應的目標分片數據庫的允許拆分數量;
[0022]將各個一級數據查詢請求拆分為所對應允許拆分數量的二級數據查詢請求。
[0023]優選的,本發明實施例所提供的數據查詢方法,還包括:
[0024]當判斷出所述目標數據查詢請求不符合預設拆分條件時,將各個一級數據查詢請求發送給相對應目標分片數據庫所在的節點,以使得所述節點基于所接收到的一級數據查詢請求對相應的目標分片數據庫進行查詢處理,并將查詢結果進行反饋處理;
[0025]在接收到各個一級數據查詢請求所對應的查詢結果后,匯總所述查詢結果;
[0026]將匯總后的查詢結果作為所述目標數據查詢請求的目標查詢結果。
[0027]第二方面,本發明實施例提供了一種數據查詢裝置,包括:
[0028]目標分片數據庫確定模塊,用于在接收到針對于分布式數據庫的目標數據查詢請求后,基于所述目標數據查詢請求所對應的數據查詢范圍,確定所述目標數據查詢請求所針對的至少一個目標分片數據庫;其中,所述分布式數據庫的數據通過至少兩個分片數據庫進行存儲,每一分片數據庫包括至少兩個子數據庫;
[0029]一級數據查詢請求生成模塊,用于生成針對于所述至少一個目標分片數據庫的一級數據查詢請求;其中,所述一級數據查詢請求與目標分片數據庫具有唯一對應性,各個一級數據查詢請求所針對的總的數據查詢范圍與所述目標數據查詢請求所針對的數據查詢范圍相同;
[0030]判斷處理模塊,用于判斷所述目標數據查詢請求是否符合預設拆分條件,如果是,觸發二級數據查詢請求生成模塊;
[0031]所述二級數據查詢請求生成模塊,用于生成各個一級數據查詢請求所對應的二級數據查詢請求;其中,所述二級數據查詢請求與相應目標分片數據庫的子數據庫具有唯一對應性,每個一級數據查詢請求所對應的二級數據查詢請求所針對的總的數據查詢范圍與該一級數據查詢請求所對應的數據查詢范圍相同;
[0032]二級數據查詢請求發送模塊,用于將各個一級數據查詢請求所對應的二級數據查詢請求發送給該一級數據查詢請求所對應目標分片數據庫所在的節點,以使得所述節點基于所接收到的二級數據查詢請求對相應的子數據庫進行查詢處理,并將查詢結果進行反饋處理;
[0033]第一查詢結果匯總模塊,用于在接收到各個二級數據查詢請求所對應的查詢結果后,匯總所述查詢結果;
[0034]第一目標查詢結果確定模塊,用于將匯總后的查詢結果作為所述目標數據查詢請求的目標查詢結果。
[0035]優選的,所述判斷處理模塊具體用于判斷所述目標數據查詢請求是否攜帶預設查詢命令,如果是,觸發二級數據查詢請求生成模塊。
[0036]優選的,所述預設查詢命令,包括:
[0037]表明匹配或累加的查詢命令。
[0038]優選的,所述二級數據查詢請求生成模塊,包括:
[0039]第一拆分數量確定單元,用于確定各個一級查詢