欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于優(yōu)化數(shù)據(jù)存儲上的查詢執(zhí)行的方法

文檔序號:9872440閱讀:462來源:國知局
用于優(yōu)化數(shù)據(jù)存儲上的查詢執(zhí)行的方法
【技術領域】
[0001]本發(fā)明涉及計算機領域中的數(shù)據(jù)庫技術。具體而言,本發(fā)明涉及一種用于優(yōu)化數(shù)據(jù)存儲尤其是大數(shù)據(jù)存儲上的查詢執(zhí)行的方法。
【背景技術】
[0002]通常,大數(shù)據(jù)包括保存在大數(shù)據(jù)存儲(稱為數(shù)據(jù)存儲)中的大型復雜數(shù)據(jù)的集合。大型復雜數(shù)據(jù)以數(shù)據(jù)塊的形式存儲,通常會對這些數(shù)據(jù)塊進行索引、分類和壓縮。數(shù)據(jù)存儲提供高效的工具用于瀏覽數(shù)據(jù)存儲中的數(shù)據(jù)以響應用戶指定的一個或多個查詢。高效工具的一個示例是聯(lián)機分析處理(OLAP)工具,其處理用戶請求的基于OLAP的查詢。該工具有助于訪問數(shù)據(jù)存儲中的數(shù)據(jù),通常涉及從數(shù)據(jù)塊中讀取并解壓數(shù)據(jù),通常稱為在數(shù)據(jù)存儲上進行掃描。通常,在數(shù)據(jù)存儲上進行掃描要求大量的磁盤操作、網(wǎng)絡輸入/輸出(I/O)操作和中央處理器(CPU)操作。此外,數(shù)據(jù)存儲的一個眾所周知的問題在于它們往往極其龐大,導致了嚴重的存儲和性能問題。因此,數(shù)據(jù)存儲的可擴展架構在大數(shù)據(jù)環(huán)境中至關重要。因此,以數(shù)據(jù)存儲上最少的掃描操作和最短的交互響應時間處理伴隨著處理用戶指定的一個或多個查詢而產(chǎn)生的大量數(shù)據(jù)非常困難。
[0003]通常,數(shù)據(jù)存儲上的掃描操作以兩種不同的方式執(zhí)行來提供響應于用戶執(zhí)行的一個或多個查詢的結果。第一種方式是完全掃描,第二種方式是基于篩選的掃描。圖1示出了描述現(xiàn)有技術的執(zhí)行完全掃描的方法的示例性方框圖。該示例性方框圖包括搜索引擎,其接收來自用戶的一個或多個查詢并在數(shù)據(jù)存儲上執(zhí)行接收到的一個或多個查詢。完全掃描包括訪問所有數(shù)據(jù)塊(數(shù)據(jù)塊1、數(shù)據(jù)塊2......數(shù)據(jù)塊η)并為一個或多個查詢(查詢1、查詢
2......查詢η)中的每個查詢從數(shù)據(jù)塊中讀取記錄,這耗費了大量的時間去檢索與一個或多個用戶的查詢有關的準確結果。
[0004]圖2示出了描述執(zhí)行基于篩選的掃描的方法的另一示例性方框圖。一個或多個查詢包括用戶指定的一個或多個篩選值或維度或索引值。例如,指定查詢I為:
[0005]SeIect{[Student]}ON COLUMNS
[0006]where([years].Student in{2003})
[0007]查詢I的篩選值是“2003”,即查詢I請求提取2003年以來的學生記錄。類似地,如圖
2所示,查詢2具有篩選值“2003,2006”,即提取從2003年、2004年......到2006年的學生。查詢3的篩選值為空值,并且查詢η的篩選值為90,即提取分數(shù)為90的學生?;诤Y選的掃描涉及基于用戶在一個或多個查詢中指定的一個或多個篩選值或維度或索引值掃描數(shù)據(jù)存儲。也就是說,分別基于篩選值“2003”、“2003,2006”等掃描數(shù)據(jù)存儲以分別處理查詢1、查詢2等。確切地說,僅基于篩選值掃描數(shù)據(jù)存儲的所需塊。因此,滿足一個或多個查詢的篩選值的記錄從數(shù)據(jù)存儲中提取出來。
[0008]然而,在上述的現(xiàn)有掃描方法中,掃描操作的兩種方式均涉及數(shù)據(jù)存儲上的多次掃描以檢索與用戶指定的一個或多個查詢有關的準確結果,因為該一個或多個查詢十分復雜并且性質特殊。即,以一種特殊的方式,一個查詢的答復立即設置了對第二查詢的需求,而該第二查詢的答復提出來另一個查詢,等等。因此,高效的查詢處理是應對通常涉及的大量數(shù)據(jù)并確保在數(shù)據(jù)存儲上的掃描次數(shù)最少時的交互響應時間的關鍵需求。并且,在現(xiàn)有方法中,即使一個或多個并發(fā)查詢要求從數(shù)據(jù)塊中檢索同一部分數(shù)據(jù),也需要進行多次掃描。例如,如果查詢I要求數(shù)據(jù)塊中的2003年以來的學生,查詢2也要求2003年以來的學生,那么現(xiàn)有方法涉及數(shù)據(jù)存儲上的多次掃描,即數(shù)據(jù)存儲總共被掃描兩次以分別為查詢I和查詢2檢索2003年以來的學生的記錄。這意味著,即使并發(fā)查詢要求來自數(shù)據(jù)存儲的同一部分數(shù)據(jù),也執(zhí)行了多次掃描,這耗時又復雜。又例如,考慮查詢I要求2003年的學生,查詢2要求2006年的學生?,F(xiàn)有方法分別為查詢I和查詢2執(zhí)行掃描,盡管查詢I (2003)和查詢2(2006)的篩選值的類別相同,即都描述了“年”這個類別的篩選值。由于數(shù)據(jù)存儲中資源的約束,因此執(zhí)行多次掃描增加了查詢延遲。
[0009]按照慣例,實現(xiàn)了減少多次掃描的方法。具體而言,引入了緩存技術來避免為處理要求同一部分數(shù)據(jù)的一個或多個查詢而多次提取相同的數(shù)據(jù)塊。圖3示出了減少數(shù)據(jù)存儲上的多次掃描的緩存技術。較其他數(shù)據(jù)塊具有優(yōu)先權的數(shù)據(jù)塊被緩存。因此,使用緩存中的數(shù)據(jù)塊處理一個或多個查詢以減少整個數(shù)據(jù)存儲上的多次掃描,從而也減少時間。然而,因為并行進入的查詢要求涉及多個不同的數(shù)據(jù)塊,所以基于緩存的掃描涉及頻繁刷新緩存。這轉而需要當前查詢等待,直到前一查詢釋放保存在緩存中的數(shù)據(jù)塊,因為正在掃描過程中的前一查詢控制了所有數(shù)據(jù)塊。
[0010]因此,有必要減少為處理要求同一部分數(shù)據(jù)的一個或多個查詢和子查詢而在數(shù)據(jù)存儲上進行的多次掃描,從而增加或優(yōu)化數(shù)據(jù)存儲上的查詢執(zhí)行。

【發(fā)明內容】

[0011]通過本發(fā)明的技術實現(xiàn)了額外的特征和優(yōu)點。本發(fā)明的其他實施例和方面在本文中進行了詳細的描述,它們被視為所要求的發(fā)明的一部分。
[0012]本發(fā)明涉及一種優(yōu)化數(shù)據(jù)存儲上的查詢執(zhí)行的方法。所述方法包括接收模塊接收多個查詢,所述查詢包括來自一個或多個客戶機的一個或多個元數(shù)據(jù),其中所述接收模塊配置在通信式地連接到所述數(shù)據(jù)存儲的服務器中。隨后,分組模塊基于包含在所述多個查詢的每個查詢中的所述一個或多個元數(shù)據(jù)將從所述接收模塊接收的所述多個查詢的一個或多個查詢劃分到一個或多個分組列表。接著,執(zhí)行模塊執(zhí)行所述一個或多個分組列表的每個分組列表以檢索響應于劃分到所述一個或多個分組列表中的所述多個查詢的所述一個或多個查詢的結果,所述一個或多個分組列表包括所述數(shù)據(jù)存儲上的所述多個查詢的所述一個或多個查詢,所述執(zhí)行所述一個或多個分組列表的每個分組列表包括為劃分到所述一個或多個分組列表的每個分組列表中的所述一個或多個查詢在所述數(shù)據(jù)存儲上進行一次掃描。
[0013]用于優(yōu)化數(shù)據(jù)存儲上的查詢執(zhí)行的服務器也作為本發(fā)明的實施例公開。所述服務器通信式地連接到所述數(shù)據(jù)存儲,并包括接收模塊、分組模塊和執(zhí)行模塊。所述接收模塊接收多個查詢,所述查詢包括來自一個或多個客戶機的一個或多個元數(shù)據(jù)。所述分組模塊基于包含在所述多個查詢的每個查詢中的所述一個或多個元數(shù)據(jù)將從所述接收模塊接收的所述多個查詢的一個或多個查詢劃分到一個或多個分組列表。所述執(zhí)行模塊執(zhí)行所述一個或多個分組列表的每個分組列表以檢索響應于劃分到所述一個或多個分組列表中的所述多個查詢的所述一個或多個查詢的結果,所述一個或多個分組列表包括所述數(shù)據(jù)存儲上的所述多個查詢的所述一個或多個查詢,所述執(zhí)行所述一個或多個分組列表的每個分組列表包括為劃分到所述一個或多個分組列表的每個分組列表中的所述一個或多個查詢在所述數(shù)據(jù)存儲上進行一次掃描。
[0014]本發(fā)明涉及一種非瞬時計算機可讀介質,其包括存儲在其上的操作,當至少一個處理單元處理所述操作時,導致系統(tǒng)通過接收模塊執(zhí)行接收多個查詢的動作,所述多個查詢包括來自一個或多個客戶機的一個或多個元數(shù)據(jù),其中所述接收模塊配置在通信式地連接到所述數(shù)據(jù)存儲的服務器中。分組模塊基于包含在所述多個查詢的每個查詢中的所述一個或多個元數(shù)據(jù)將從所述接收模塊接收的所述多個查詢的一個或多個查詢劃分到一個或多個分組列表。接著,執(zhí)行模塊執(zhí)行所述一個或多個分組列表的每個分組列表以檢索響應于劃分到所述一個或多個分組列表中的所述多個查詢的所述一個或多個查詢的結果,所述一個或多個分組列表包括所述數(shù)據(jù)存儲上的所述多個查詢的所述一個或多個查詢,所述執(zhí)行包括所述多個查詢的所述一個或多個查詢的所述一個或多個分組列表的每個分組列表包括為劃分到所述一個或多個分組列表的每個分組列表中的所述一個或多個查詢在所述數(shù)據(jù)存儲上進行一次掃描。
[0015]用于優(yōu)化數(shù)據(jù)存儲上的查詢執(zhí)行的計算機程序也公開為本發(fā)明的一項實施例。所述計算機程序包括用于通過接收模塊接收多個查詢的代碼段,所述多個查詢包括來自一個或多個客戶機的一個或多個元數(shù)據(jù);用于通過分組模塊將從所述接收模塊接收的所述多個查詢的一個或多個查詢劃分到一個或多個分組列表的代碼段,所述分組基于包含在所述多個查詢的每個查詢中的所述一個或多個元數(shù)據(jù)執(zhí)行;以及用于通過執(zhí)行模塊執(zhí)行所述一個或多個分組列表的每個分組列表以檢索響應于劃分到所述一個或多個分組列表中的所述多個查詢的所述一個或多個查詢的查詢結果的代碼段,所述一個或多個分組列表包括所述數(shù)據(jù)存儲上的所述多個查詢的所述一個或多個查詢,所述執(zhí)行所述一個或多個分組列表的每個分組列表包括為劃分到所述一個或多個分組列表的每個分組列表中的所述一個或多個查詢在所述數(shù)據(jù)存儲上進行一次掃描。
[0016]上述概要僅為說明性的,并非旨在以任何方式進行限制。除了上述的說明性方面和特征,通過參考附圖和以下詳細說明可清楚地了解其他方面和特征。
【附圖說明】
[0017]所附權利要求書中闡述了本發(fā)明的新穎特征和特性。然而,通過參考以下結合附圖進行閱讀的說明性實施例的詳細描述可對本發(fā)明本身的實施例以及其首選使用模式、進一步目的和優(yōu)點進行最好的理解?,F(xiàn)參考附圖以示例方式描述一個或多個實施例。
[0018]圖1所示為根據(jù)現(xiàn)有技術的實施例的描述執(zhí)行完全掃描的方法的示例性方框圖;
[0019]圖2所示為根據(jù)現(xiàn)有技術的實施例的描述執(zhí)行基于篩選的掃描的方法的示例性方框圖;
[0020]圖3所示為根據(jù)現(xiàn)有技術的實施例的描述減少數(shù)據(jù)存儲上的多次掃描的緩存技術的示例性方框圖;
[0021]圖4示出了根據(jù)本發(fā)明的實施例的示例性高級服務器的方框圖;
[0022]圖5示出了根據(jù)本發(fā)明的實施例的用于優(yōu)化數(shù)據(jù)存儲上的查詢執(zhí)行的示例性高級服務器的方框圖;以及
[0023]圖6示出了根據(jù)本發(fā)明的實施例的展示通過接收模塊對一個或多個查詢進行排序的示例性方框圖;
[0024]圖7是根據(jù)本發(fā)明的實施例的描述通過分組模塊對一個或多個查詢進行分組的示例圖;
[0025]圖8所示為根據(jù)本發(fā)明的實施例的描述通過執(zhí)行模塊在數(shù)據(jù)存儲上執(zhí)行一個或多個查詢的示例性方框圖;
[0026]圖9所示為根據(jù)本發(fā)明的實施例的描述優(yōu)化數(shù)據(jù)存儲上的查詢執(zhí)行的方法的示例性流程圖;
[0027]圖10所示為根據(jù)本發(fā)明的實施例的描述通過分組模塊為分為一組的一個或多個查詢掃描數(shù)據(jù)存儲的示例性流程圖;
[0028]圖11所示為根據(jù)本發(fā)明的實施例描述對一個或多個查詢進行排序和分組的示例圖;以及
[0029]圖12所示為根據(jù)本發(fā)明的實施例的描述為分為一組的一個或多個查詢掃描數(shù)據(jù)存儲的示例圖。
[0030]描述
當前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
汶上县| 镇赉县| 墨玉县| 汉源县| 祁连县| 乳山市| 木里| 滨海县| 双江| 丽水市| 营山县| 宁河县| 雅安市| 白银市| 永新县| 伊通| 旅游| 定兴县| 玛曲县| 海宁市| 襄樊市| 灵丘县| 贡嘎县| 中宁县| 鹤峰县| 云安县| 兰州市| 阿克苏市| 潜山县| 自治县| 伊宁市| 平塘县| 石狮市| 忻城县| 怀安县| 伽师县| 黑山县| 沂水县| 军事| 金平| 新宾|