專利名稱:查詢規(guī)劃方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實施例涉及計算機(jī)數(shù)據(jù)庫技術(shù),尤其涉及一種查詢規(guī)劃方法及裝置。
背景技術(shù):
客戶端向數(shù)據(jù)庫的主服務(wù)器發(fā)送查詢請求以查詢數(shù)據(jù)庫中的數(shù)據(jù)時,主服務(wù)器通過“查詢規(guī)劃器”確定針對該查詢請求的“最佳執(zhí)行計劃”,“查詢規(guī)劃器”在確定“最佳執(zhí)行計劃”時,通常先根據(jù)計算代價、讀盤速度等因素確定可以實現(xiàn)該查詢請求的執(zhí)行步驟以及各個操作步驟之間的排序關(guān)系,生成至少一個“執(zhí)行計劃”,各個“執(zhí)行計劃”構(gòu)成搜索空間,主服務(wù)器然后對該搜索空間中的“執(zhí)行計劃”分別進(jìn)行代價估算,根據(jù)代價估算結(jié)果確定代價最小的“執(zhí)行計劃”作為針對該查詢請求的“最佳執(zhí)行計劃”,主服務(wù)器的查詢執(zhí)行器順序地執(zhí)行該“最佳執(zhí)行計劃”得到查詢結(jié)果,最后將查詢結(jié)果通過主服務(wù)器反饋給發(fā)送查詢請求的客戶端。當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)分布在不同的存儲設(shè)備上,即數(shù)據(jù)存儲在分布式存儲系統(tǒng)中時,為了生成針對查詢請求的查詢結(jié)果,需要多個不同的存儲設(shè)備參與,然而傳統(tǒng)的查詢規(guī)劃方法確定的“最佳執(zhí)行計劃”是在同一存儲器的情況下順序執(zhí)行的,不能適用于分布式存儲架構(gòu),得到執(zhí)行代價最小的方案。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種查詢規(guī)劃方法及裝置,旨在解決采用現(xiàn)有查詢規(guī)劃方法確定的“最佳執(zhí)行計劃”進(jìn)行查詢獲取查詢結(jié)果,實際上付出的執(zhí)行代價不一定最小的問題。第一方面,本發(fā)明實施例提供一種查詢規(guī)劃方法,包括接收查詢請求消息;根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟;針對各所述查詢路徑,確定每個查詢路徑的執(zhí)行代價,其中所述執(zhí)行代價包括處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間,所述網(wǎng)絡(luò)傳輸時間為待處理數(shù)據(jù)在存儲器之間傳輸所消耗的時間;確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑;將所述最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行。結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,在根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑之前,還包括根據(jù)當(dāng)前各個存儲器的運算能力,按照設(shè)定規(guī)則選擇執(zhí)行查詢操作步驟的存儲器。第二方面,本發(fā)明實施例提供一種查詢規(guī)劃裝置,包括接收模塊,用于接收查詢請求消息;查詢規(guī)劃模塊,用于根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟;針對各所述查詢路徑,確定每個查詢路徑的執(zhí)行代價,其中所述執(zhí)行代價包括處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間,所述網(wǎng)絡(luò)傳輸時間為待處理數(shù)據(jù)在存儲器之間傳輸所消耗的時間;確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑;執(zhí)行模塊,用于將所述最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行。結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,還包括并行化規(guī)劃模塊,用于在查詢規(guī)劃模塊根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑之前,根據(jù)當(dāng)前各個存儲器的運算能力,按照設(shè)定規(guī)則選擇執(zhí)行查詢操作步驟的存儲器。本實施例的查詢規(guī)劃方法及裝置,通過接收查詢請求消息,根據(jù)查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟,針對各所述查詢路徑,確定每個查詢路徑的執(zhí)行代價,其中執(zhí)行代價包括處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間,確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑,根據(jù)當(dāng)前各個存儲器的運算能力,按照設(shè)定規(guī)則選擇執(zhí)行查詢操作步驟的存儲器,其中,選擇的存儲器數(shù)量小于飽和點且大于臨界點,將最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行,能夠?qū)崿F(xiàn)由按照最優(yōu)查詢路徑規(guī)劃時確定的存儲器執(zhí)行該最優(yōu)查詢路徑的各個步驟獲得的查詢結(jié)果,可以保證通過該最優(yōu)查詢路徑獲得查詢結(jié)果實際上付出的執(zhí)行代價最小。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明查詢規(guī)劃方法實施例一的流程圖;圖2為本發(fā)明實施例所適用的無分享分布式數(shù)據(jù)庫組網(wǎng)結(jié)構(gòu)示意圖;圖3為本發(fā)明查詢規(guī)劃裝置實施例一的流程圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明中的附圖,對本發(fā)明中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。本實施例的查詢規(guī)劃方法可以采用查詢規(guī)劃裝置來實現(xiàn),該查詢規(guī)劃裝置可以通過硬件或軟件的方式實現(xiàn),查詢規(guī)劃裝置可以集成在計算機(jī)中實現(xiàn)查詢規(guī)劃方法。圖1為本發(fā)明查詢規(guī)劃方法實施例一的流程圖,本實施例的查詢規(guī)劃方法可以用于在無分享(Shared-nothing)分布式數(shù)據(jù)庫組網(wǎng)中進(jìn)行數(shù)據(jù)查詢操作,圖2為本發(fā)明實施例所適用的無分享分布式數(shù)據(jù)庫組網(wǎng)結(jié)構(gòu)示意圖,如圖2所示,無分享分布式數(shù)據(jù)庫組網(wǎng)包括主服務(wù)器、備服務(wù)器以及若干臺存儲器,其中,主服務(wù)器是整個無分享分布式數(shù)據(jù)庫系統(tǒng)的控制及決策中心,對客戶端主機(jī)提供服務(wù),主服務(wù)器存儲了各存儲器中的數(shù)據(jù)分布信息等數(shù)據(jù)特征信息,由主服務(wù)器響應(yīng)客戶端主機(jī)的查詢請求,備服務(wù)器是作為主服務(wù)器的備份存在。如圖1所示,本實施例的查詢規(guī)劃方法包括101、接收查詢請求消息。具體地,無分享分布式數(shù)據(jù)庫中的主服務(wù)器接收來自任意一客戶端主機(jī)發(fā)送的查詢請求消息,該查詢請求消息可以為結(jié)構(gòu)化查詢語言,該結(jié)構(gòu)化查詢語言請求服務(wù)器執(zhí)行的查詢操作在本實施例中例如可以為請求服務(wù)器將一年級C1、C2和C3班的所有學(xué)生按照數(shù)學(xué)成績由低到高排列名次,一年級C1、C2和C3班的所有學(xué)生的數(shù)學(xué)成績可以分散地分布在無分享分布式數(shù)據(jù)庫的多個存儲器中。102、根據(jù)查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟。具體地,主服務(wù)器的查詢規(guī)劃裝置根據(jù)查詢請求消息的操作對象即將一年級Cl、C2和C3班的所有學(xué)生按照數(shù)學(xué)成績由低到高排列名次確定至少一個查詢路徑,該至少一個查詢路徑為能夠得到該查詢請求的結(jié)果的查詢路徑,主服務(wù)器的查詢規(guī)劃裝置可以根據(jù)動態(tài)規(guī)劃算法或遺傳算法生成至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟,例如主服務(wù)器的查詢規(guī)劃裝置根據(jù)動態(tài)規(guī)劃算法生成的一查詢路徑A,查詢路徑A包括操作1-掃描成績列表,即根據(jù)主服務(wù)器對數(shù)據(jù)存儲位置的記錄,獲知一年級Cl、C2和C3班的所有學(xué)生的數(shù)學(xué)成績數(shù)據(jù)在各存儲器的存儲位置;操作2-按照班級編號將數(shù)據(jù)重分布,即將Cl班的所有學(xué)生的數(shù)學(xué)成績數(shù)據(jù)從掃描到的各存儲位置通過網(wǎng)絡(luò)傳輸?shù)侥繕?biāo)存儲器1,將C2班的所有學(xué)生的數(shù)學(xué)成績數(shù)據(jù)從掃描到的各存儲位置通過網(wǎng)絡(luò)傳輸?shù)侥繕?biāo)存儲器2,將C3班的所有學(xué)生的數(shù)學(xué)成績數(shù)據(jù)從掃描到的各存儲位置通過網(wǎng)絡(luò)傳輸?shù)侥繕?biāo)存儲器3,該目標(biāo)存儲器1、目標(biāo)存儲器2和目標(biāo)存儲器3可以是同一個存儲器也可以是互不相同的存儲器,還可以是其中兩個存儲器相同與另一存儲器不同,主服務(wù)器的查詢規(guī)劃裝置例如可以根據(jù)無分享分布式數(shù)據(jù)庫組網(wǎng)中所有存儲器的運算能力及繁忙程度確定執(zhí)行該操作2的目標(biāo)存儲器1、目標(biāo)存儲器2和目標(biāo)存儲器3 ;操作3-將各個班級的學(xué)生按照數(shù)學(xué)成績由低到高排列名次,即在上述操作2中確定的目標(biāo)存儲器1、目標(biāo)存儲器2和目標(biāo)存儲器3中分別對Cl、C2和C3班的所有學(xué)生的數(shù)學(xué)成績進(jìn)行排序。主服務(wù)器的查詢規(guī)劃裝置根據(jù)動態(tài)規(guī)劃算法還可以生成另一查詢路徑B,查詢路徑B包括操作1-掃描成績列表;操作2-在本地存儲器上將一年級Cl、C2和C3班的學(xué)生按照數(shù)學(xué)成績由低到高排列名次,即根據(jù)掃描到的存儲位置,在該成績所在的存儲器中對成績進(jìn)行排序;操作3-按照班級編號將數(shù)據(jù)重分布,將本地存儲器中的一年級C1、C2和C3班的學(xué)生的數(shù)學(xué)成績通過網(wǎng)絡(luò)分別傳輸?shù)侥繕?biāo)存儲器1、目標(biāo)存儲器2和目標(biāo)存儲器3,該目標(biāo)存儲器1、目標(biāo)存儲器2和目標(biāo)存儲器3可以是同一個存儲器也可以是互不相同的存儲器,還可以是其中兩個存儲器相同與另一存儲器不同;操作4-在目標(biāo)存儲器1、目標(biāo)存儲器2和目標(biāo)存儲器3上將各個班級的學(xué)生按照數(shù)學(xué)成績由低到高排列名次。依據(jù)該查詢路徑A和查詢路徑B都能夠得到查詢請求結(jié)果,主服務(wù)器的查詢規(guī)劃裝置根據(jù)動態(tài)規(guī)劃算法還可以生成其它查詢路徑,此處不一一列舉各個查詢路徑所包含的操作。103、針對各查詢路徑,確定每個查詢路徑的執(zhí)行代價,其中執(zhí)行代價包括處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間,網(wǎng)絡(luò)傳輸時間為待處理數(shù)據(jù)在存儲器之間傳輸所消耗的時間。
具體地,計算主服務(wù)器及存儲器執(zhí)行各個查詢路徑所需要的執(zhí)行代價,即計算主服務(wù)器及存儲器執(zhí)行各個查詢路徑所包含的各個操作所需要的處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間。例如分別計算查詢路徑A、查詢路徑B以及主服務(wù)器的查詢規(guī)劃裝置根據(jù)動態(tài)規(guī)劃算法生成的其它查詢路徑的執(zhí)行代價,查詢路徑A的執(zhí)行代價為執(zhí)行操作I所需要的處理器執(zhí)行掃描成績表的時間與執(zhí)行操作2將學(xué)生的數(shù)學(xué)成績從成績所在的本地存儲器通過網(wǎng)絡(luò)傳輸?shù)侥繕?biāo)存儲器所需要花費的網(wǎng)絡(luò)傳輸時間以及執(zhí)行操作3所需要的在目標(biāo)存儲器上對學(xué)生成績進(jìn)行排序所需要的處理器計算時間之和;查詢路徑B的執(zhí)行代價為執(zhí)行操作I所需要的處理器執(zhí)行掃描成績表的時間與執(zhí)行操作2所需要本地處存儲器的處理器對學(xué)生成績進(jìn)行排序所需要的處理器計算時間與執(zhí)行操作3所產(chǎn)生的將相同班級的學(xué)生的數(shù)學(xué)成績從成績所在的本地存儲器通過網(wǎng)絡(luò)傳輸?shù)侥繕?biāo)存儲器所需要花費的網(wǎng)絡(luò)傳輸時間以及目標(biāo)存儲器執(zhí)行操作4所需要的處理器計算時間之和。104、確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑。具體地,比較上述103中確定的每個查詢路徑的執(zhí)行代價值,將執(zhí)行代價值最小的查詢路徑作為最優(yōu)查詢路徑,例如查詢路徑A的執(zhí)行代價值最小,則查詢路徑A為最優(yōu)查詢路徑。105、將最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行。具體地,主服務(wù)器的查詢規(guī)劃裝置將最優(yōu)查詢路徑分配給主服務(wù)器的執(zhí)行器,執(zhí)行器根據(jù)查詢路徑調(diào)度參與該最優(yōu)查詢路徑的各個操作的存儲器,得到操作結(jié)果,例如確定的參與執(zhí)行最優(yōu)查詢路徑A的操作2的目標(biāo)存儲器為存儲器I和存儲器2,將Cl和C2班的所有學(xué)生的數(shù)學(xué)成績傳輸?shù)酱鎯ζ?,將C3班的所有學(xué)生的數(shù)學(xué)成績傳輸?shù)酱鎯ζ?,則主服務(wù)器的執(zhí)行器調(diào)度存儲器I和存儲器2執(zhí)行操作2。再執(zhí)行操作3,進(jìn)行成績排序。存儲器I和存儲器2將執(zhí)行結(jié)果反饋給主服務(wù)器。本實施例的查詢規(guī)劃方法,通過增加考慮了網(wǎng)絡(luò)傳輸代價,即考慮了數(shù)據(jù)各個操作中出現(xiàn)的在不同存儲器之間的傳輸代價,能夠適用于分布式存儲架構(gòu),保證通過該最優(yōu)查詢路徑獲得查詢結(jié)果實際上付出的執(zhí)行代價最小。在上述實施例的基礎(chǔ)上,進(jìn)一步地,在根據(jù)查詢請求消息的操作對象確定至少一個查詢路徑之前主服務(wù)器的查詢規(guī)劃裝置還可以根據(jù)當(dāng)前各個存儲器的運算能力,按照設(shè)定規(guī)則選擇執(zhí)行查詢操作步驟的存儲器。具體地,選擇執(zhí)行查詢操作步驟的存儲器時,例如在根據(jù)查詢請求消息的操作對象確定至少一個查詢路徑之前選擇執(zhí)行查詢路徑A的操作2的存儲器時,主服務(wù)器的查詢規(guī)劃裝置可以根據(jù)當(dāng)前各存儲器的工作繁忙程度,以及剩余內(nèi)存空間大小等因素選擇適當(dāng)數(shù)量的存儲器執(zhí)行查詢路徑A的操作2,該存儲器的適當(dāng)數(shù)量可以小于飽和點且大于臨界點,存儲器數(shù)量的飽和點和臨界點可以根據(jù)存儲器的當(dāng)前繁忙狀態(tài)動態(tài)確定。例如,如果3個存儲器參與執(zhí)行操作2所需要付出的代價小于4個存儲器參與執(zhí)行操作2所需要的代價,那么可以認(rèn)為4是執(zhí)行操作2的存儲器數(shù)量的飽和點,如果2個存儲器參與執(zhí)行操作2所需要付出的代價大于3個存儲器參與執(zhí)行操作2所需要的代價,那么可以認(rèn)為2是執(zhí)行操作2的存儲器數(shù)量的臨界點。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。圖3為本發(fā)明查詢規(guī)劃裝置實施例一的流程圖,如圖3所示,本實施例的查詢規(guī)劃裝置300包括接收模塊301、查詢規(guī)劃模塊302和執(zhí)行模塊303,其中,接收模塊301可以用于接收查詢請求消息;查詢規(guī)劃模塊302可以用于根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟;針對各所述查詢路徑,確定每個查詢路徑的執(zhí)行代價,其中所述執(zhí)行代價包括處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間,所述網(wǎng)絡(luò)傳輸時間為待處理數(shù)據(jù)在存儲器之間傳輸所消耗的時間;確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑;執(zhí)行模塊303可以用于將所述最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行。本實施例的查詢規(guī)劃裝置300可以用于執(zhí)行查詢規(guī)劃方法實施例一的查詢規(guī)劃方法,具體執(zhí)行方法可以參考查詢規(guī)劃方法實施例一,此處不再贅述。本實施例的查詢規(guī)劃裝置,通過接收模塊接收查詢請求消息,查詢規(guī)劃模塊根據(jù)查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟,針對各所述查詢路徑,確定每個查詢路徑的執(zhí)行代價,其中執(zhí)行代價包括處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間,確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑,執(zhí)行模塊將最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行,能夠?qū)崿F(xiàn)按照查詢規(guī)劃模塊確定的最優(yōu)查詢路徑獲得查詢結(jié)果實際上付出的執(zhí)行代價最小。進(jìn)一步地,在上述實施例的基礎(chǔ)上,查詢規(guī)劃裝置300還可以包括并行化規(guī)劃模塊,其中,并行化規(guī)劃模塊可以用于在查詢規(guī)劃模塊根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑之前,根據(jù)當(dāng)前各個存儲器的運算能力,按照設(shè)定規(guī)則選擇執(zhí)行查詢操作步驟的存儲器。最后應(yīng)說明的是以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.一種查詢規(guī)劃方法,其特征在于,包括 接收查詢請求消息; 根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟; 針對各所述查詢路徑,確定每個查詢路徑的執(zhí)行代價,其中所述執(zhí)行代價包括處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間,所述網(wǎng)絡(luò)傳輸時間為待處理數(shù)據(jù)在存儲器之間傳輸所消耗的時間; 確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑; 將所述最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行。
2.根據(jù)權(quán)利要求1所述的查詢規(guī)劃方法,其特征在于,在根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑之前,還包括 根據(jù)當(dāng)前各個存儲器的運算能力,按照設(shè)定規(guī)則選擇執(zhí)行查詢操作步驟的存儲器。
3.—種查詢規(guī)劃裝置,其特征在于,包括 接收模塊,用于接收查詢請求消息; 查詢規(guī)劃模塊,用于根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟;針對各所述查詢路徑,確定每個查詢路徑的執(zhí)行代價,其中所述執(zhí)行代價包括處理器執(zhí)行時間、磁盤輸入輸出時間以及網(wǎng)絡(luò)傳輸時間,所述網(wǎng)絡(luò)傳輸時間為待處理數(shù)據(jù)在存儲器之間傳輸所消耗的時間;確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑; 執(zhí)行模塊,用于將所述最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行。
4.根據(jù)權(quán)利要求3所述的裝置,其特征在于,還包括 并行化規(guī)劃模塊,用于在查詢規(guī)劃模塊根據(jù)所述查詢請求消息的操作對象確定至少一個查詢路徑之前,根據(jù)當(dāng)前各個存儲器的運算能力,按照設(shè)定規(guī)則選擇執(zhí)行查詢操作步驟的存儲器。
全文摘要
本發(fā)明實施例提供一種查詢規(guī)劃方法及裝置,查詢規(guī)劃方法包括接收查詢請求消息;根據(jù)查詢請求消息的操作對象確定至少一個查詢路徑,每個查詢路徑包括至少一個查詢操作步驟;針對各查詢路徑,確定每個查詢路徑的執(zhí)行代價;確定執(zhí)行代價最小的查詢路徑為最優(yōu)查詢路徑;根據(jù)當(dāng)前各個存儲器的運算能力,按照設(shè)定規(guī)則選擇執(zhí)行查詢操作步驟的存儲器;將最優(yōu)查詢路徑分配給執(zhí)行器調(diào)度給各個存儲器執(zhí)行。本發(fā)明實施例的查詢規(guī)劃方法及裝置能夠?qū)崿F(xiàn)由按照最優(yōu)查詢路徑規(guī)劃時確定的存儲器執(zhí)行該最優(yōu)查詢路徑的各個步驟獲得的查詢結(jié)果,可以保證通過該最優(yōu)查詢路徑獲得查詢結(jié)果實際上付出的執(zhí)行代價最小。
文檔編號G06F17/30GK103064955SQ20121058630
公開日2013年4月24日 申請日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者秦君華 申請人:華為技術(shù)有限公司