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

一種基于多維漸增數(shù)據(jù)模型的數(shù)據(jù)查詢方法

文檔序號:9911206閱讀:458來源:國知局
一種基于多維漸增數(shù)據(jù)模型的數(shù)據(jù)查詢方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)查詢技術(shù)領(lǐng)域,具體涉及一種基于多維漸增數(shù)據(jù)模型的數(shù)據(jù)查詢方法。
【背景技術(shù)】
[0002]近些年,隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展與數(shù)據(jù)采集技術(shù)的不斷提高,人們可獲得的數(shù)據(jù)量越來越大,然而隨著如此海量數(shù)據(jù)的出現(xiàn),傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)不能滿足人們對拓展性以及可伸縮性的需求,尤其是在應(yīng)付web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網(wǎng)站方面,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫已經(jīng)顯得力不從心,暴露了很多難以克服的問題。因此研究者們強調(diào)找到一個有效的,成本低廉的,有著良好并行性和伸縮性的方式來存儲這些海量的數(shù)據(jù);經(jīng)研究調(diào)查,目前來說,在工業(yè)和學(xué)術(shù)界廣泛接受的是一種新型的非關(guān)系型數(shù)據(jù)庫;與傳統(tǒng)的基于行存儲的數(shù)據(jù)庫相比,它采取基于列的存儲方式,不需要事先定義數(shù)據(jù)模式,預(yù)定義表結(jié)構(gòu),此外制表,列族或者列簇為它的基本數(shù)據(jù)模型。在這個模型中,一條記錄或者數(shù)據(jù)被一系列鍵值對的集合來表示;然而,在這種情況下,當(dāng)數(shù)據(jù)量達到TB甚至PB級的時候,數(shù)據(jù)的查詢效率,以及數(shù)據(jù)查詢的實時性仍然是我們所面臨的一個巨大的挑戰(zhàn)。
[0003]最近幾年,為解決對海量數(shù)據(jù)中查詢效率以及性能的問題,不同的大型數(shù)據(jù)庫提出了層次結(jié)構(gòu);例如基于DHT的P2P系統(tǒng)。它使用的是兩層架構(gòu),一層是為了資源共享,另一層是為了資源發(fā)現(xiàn),以便加速多維數(shù)據(jù)查詢的過程;但是這個方法依賴于一個具有順序的hash函數(shù),和一個較小數(shù)量的P2P節(jié)點來存儲數(shù)據(jù);由于被分配到節(jié)點數(shù)據(jù)都會降低它的維度到一維空間,因此P2P的節(jié)點上散布著一維數(shù)據(jù)的取值范圍;隨后作者也提出了一個多維查詢算法,在一個穩(wěn)定的網(wǎng)絡(luò)環(huán)境下,該模型能夠表現(xiàn)出良好的性能,但是在實際情況下,真實的網(wǎng)絡(luò)環(huán)境并不如實驗設(shè)想的那樣穩(wěn)定,查詢效果并不像那樣理想。

【發(fā)明內(nèi)容】

[0004]針對現(xiàn)有技術(shù)的不足,本發(fā)明提出一種基于多維漸增數(shù)據(jù)模型的數(shù)據(jù)查詢方法,以達到提高查詢效率并優(yōu)化查詢時間目的。
[0005]—種基于多維漸增數(shù)據(jù)模型的數(shù)據(jù)查詢方法,具體包括以下步驟:
[0006]步驟1、確定出數(shù)據(jù)庫中高頻率的屬性類型,并根據(jù)所確定的屬性類型建立多維漸增數(shù)據(jù)模型;
[0007]步驟2、對多維漸增數(shù)據(jù)模型中的每一維屬性的值進行分段,包括空段、溢出段和合理段;
[0008]步驟3、將數(shù)據(jù)庫中每一條記錄中的數(shù)據(jù)按照每一維屬性的分段進行劃分,若某一段中數(shù)據(jù)量大于設(shè)定值,則對該段再進行下一層的分段,若每一段中的數(shù)據(jù)量均小于設(shè)定值,則停止分段;
[0009]步驟4、根據(jù)每個維所劃分的段,在多維漸增數(shù)據(jù)模型中構(gòu)成單元格,并將單元格各段的索引按照建維順序進行線性化,將線性化后的數(shù)據(jù)作為單元格的標(biāo)識號;
[0010]步驟5、當(dāng)有新的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫時,更新多維漸增數(shù)據(jù)模型;
[0011]步驟6、根據(jù)實際所需查詢的屬性類型,在當(dāng)前多維漸增數(shù)據(jù)模型中查詢所需屬性的標(biāo)識號,即獲得對應(yīng)單元格的所有數(shù)據(jù);
[0012]步驟7、根據(jù)查詢所獲的數(shù)據(jù)采用回溯操作的方式查詢歷史數(shù)據(jù),具體包括:
[0013]步驟7-1、對多維漸增數(shù)據(jù)模型的維進行回溯,獲得每次更新時和初始時多維漸增數(shù)據(jù)模型的對應(yīng)單元格;
[0014]步驟7-2、在所獲的單元格中對各段進行回溯,即由子段尋找父段;
[0015]步驟7-3、對回溯后獲得的父段的索引按照建維順序進行線性化,從而查詢獲得對應(yīng)單元格內(nèi)的所有數(shù)據(jù)。
[0016]步驟I所述的高頻率的屬性類型為出現(xiàn)頻率大于70%屬性類型。
[0017]步驟3所述的設(shè)定值為:所有段數(shù)據(jù)量之和的30%。
[0018]步驟3所述的數(shù)據(jù)庫中每一條記錄中的數(shù)據(jù),包括數(shù)值型和文本型;
[0019]當(dāng)為數(shù)據(jù)型時:采用平均分的方式進行分段,即對數(shù)據(jù)的取值范圍進行等寬劃分;
[0020]當(dāng)為文本型時:第一層時,按照屬性的首字母將26個字母進行分段;
[0021]第η層時,按照屬性從前向后的第η個字母將26個字母進行分段。
[0022]步驟7-3所述的單元格,若其位于邊緣部分,則需將其內(nèi)部不符合查詢條件的數(shù)據(jù)進行濾除。
[0023]本發(fā)明優(yōu)點:
[0024]本發(fā)明提出一種基于多維漸增數(shù)據(jù)模型的數(shù)據(jù)查詢方法,通常真實環(huán)境中的一條數(shù)據(jù)都是由許多的鍵值(key-value)對所組成,對于這些鍵值對來說,它們可能具有相同的鍵(key),或者屬于同一條記錄;本發(fā)明將某些頻繁出現(xiàn)的鍵建立成為集合空間中的維,并根據(jù)值(value)在維上進行分段,而對于那些出現(xiàn)次數(shù)較少的鍵定義為平凡鍵,通過這樣的方式,所有的數(shù)據(jù)都會被組織成一個高維的模型,簡稱為key-Cube(鍵立方);在查詢過程中,符合查詢條件的數(shù)據(jù)會被鎖定在相關(guān)的cell(單元格)之中,因此查詢的范圍大大的減小了;其次這個數(shù)據(jù)模型具有一定的適應(yīng)性會根據(jù)數(shù)據(jù)中鍵值對出現(xiàn)的次數(shù)從而做出相應(yīng)的反應(yīng);這個key-cube是漸增式的,隨著鍵值中數(shù)據(jù)的增多,此模型會根據(jù)鍵的頻繁程度拓展出新的維,從而形成新的key-cube。
【附圖說明】
[0025]圖1為本發(fā)明一種【具體實施方式】中基于多維漸增數(shù)據(jù)模型的數(shù)據(jù)查詢方法流程圖;
[0026]圖2為本發(fā)明一種【具體實施方式】中的所用數(shù)據(jù)的示意圖;
[0027]圖3為本發(fā)明一種【具體實施方式】中的對數(shù)值型數(shù)據(jù)分段劃分的示意圖;
[0028]圖4為本發(fā)明一種【具體實施方式】中的對文本型數(shù)據(jù)分段劃分的示意圖;
[0029]圖5為本發(fā)明一種【具體實施方式】中的對數(shù)值型數(shù)據(jù)的段進行再分的示意圖;
[0030]圖6為本發(fā)明一種【具體實施方式】中的對文本型數(shù)據(jù)的段進行再分的示意圖;
[0031 ]圖7為本發(fā)明一種【具體實施方式】中的對維進行回溯的示意圖;
[0032]圖8為本發(fā)明一種【具體實施方式】中的對段進行回溯的示意圖。
【具體實施方式】
[0033]下面結(jié)合附圖對本發(fā)明一種實施例做進一步說明。
[0034]本發(fā)明實施例中,以RITA中航班延遲的數(shù)據(jù)為例,記錄了1987-2008年航班延遲的詳細(xì)信息,每一條記錄都包括了 29個屬性如Year (年),Month(月),DayofMonth(天數(shù)),DayOfWeek(周數(shù)),DepTime(實際離場時間),CRSDepTime(預(yù)計離場時間),ArrTime(實際到達時間),CRSArrTime(預(yù)計到達時間),UniqueCarrier(航空公司代碼),F(xiàn)lightNum(航班號)等,但是在這29個屬性中有些屬性的值是可空的,如CancelIat1nCode(取消的原因),而對于Cancelled(是否被取消),Diverted(改飛),CarrierDelay (貨物晚點),WeatherDelay(天氣晚點),NASDelay(NAS晚點),SecurityDelay(安全晚點),LateAircraftDelay(飛機晚點)這些屬性中有部分?jǐn)?shù)據(jù)非零數(shù),大部分?jǐn)?shù)據(jù)是O;當(dāng)基于這些記錄進行數(shù)據(jù)分析或執(zhí)行特定查詢時,整個操作的時間開銷極大,并且浪費了大量的存儲,通過本發(fā)明提出的基于多維漸增數(shù)據(jù)模型的查詢方法對數(shù)據(jù)的查詢進行優(yōu)化;并且在此實驗中,將每一條記錄都看成是這29個鍵值對的集合,并且當(dāng)某個鍵中的數(shù)據(jù)是O或空時,就在這條記錄中去掉這個鍵,如圖2所示,匕表示記錄;K表示鍵,即屬性;V1表示值。
[0035]本發(fā)明實施例中,基于多維漸增數(shù)據(jù)模型的數(shù)據(jù)查詢方法,方法流程圖如圖1所示,具體包括以下步驟:
[0036]步驟1、確定出數(shù)據(jù)庫中出現(xiàn)頻率大于70%屬性類型,并根據(jù)所確定的屬性類型建立多維漸增數(shù)據(jù)模型;
[0037]本發(fā)明實施例中,數(shù)據(jù)源都是由一系列的鍵值對所組成,根據(jù)某一個鍵在源數(shù)據(jù)或者新增數(shù)據(jù)中出現(xiàn)的次數(shù)從而可以判斷出這個鍵在數(shù)據(jù)中出現(xiàn)的頻繁程度,將出現(xiàn)不頻繁的鍵稱為不頻繁鍵,將出現(xiàn)頻繁的鍵稱為維鍵;隨著數(shù)據(jù)量的增多,某個不頻繁的鍵在新增的數(shù)據(jù)中出現(xiàn)次數(shù)變得頻繁,可將新增的頻繁鍵建立成為維;將維鍵建立成一個維,每一個維都有一個唯一維名稱(name),并且記錄下每個維建立的順序(index)以及維建立的版本號(vers1n),因此一個維可用元祖<index,name ,vers1n,I〉來表示,其中,I表示活躍段id(標(biāo)識號)的集合;
[0038]本發(fā)明實施例中,運用Mapreduce計算工具對源數(shù)據(jù)或者新增數(shù)據(jù)中的鍵值對進行掃描,并對數(shù)據(jù)中的每個鍵出現(xiàn)的頻數(shù)進行統(tǒng)計,將出現(xiàn)次數(shù)多于總數(shù)的70%的鍵稱為維鍵,其余的鍵稱為不頻繁鍵,在本實施中,維鍵有21個,分別是Year (年),Month(月),DayofMonth(天數(shù)),DayOfWeek(周數(shù)),DepTime(實際離場時間),CRSDepTime(預(yù)計離場時間),ArrTime(實際到達時間),CRSArrTime(預(yù)計到達時間),UniqueCarrier(航空公司代碼),F(xiàn)lightNum(航班號),TailNum(機翼的數(shù)量),Dest(目的地),ActualElapsedTime(實際起飛時間),CRSElapsedTime(預(yù)計起飛時間),AirTime(飛行時間),ArrDelay(到達延遲),DepDelay(出發(fā)晚點),0rigin(出發(fā)地),Distance(距離),TaxiIn(到達滑行),Tax1ut(起飛滑行),不頻繁鍵是Cancelled(是否被取消),Cancellat1nCode(取消原因),Diverted(改飛),CarrierDelay (貨物晚點),WeatherDelay (天氣晚點),NASDelay (NAS晚點),SecurityDelay(安全晚點),LateAircraftDelay(飛機晚點);
[0039]本發(fā)明實施例中,將每個維鍵根據(jù)其出現(xiàn)的頻繁程度排序,如果此模型中已經(jīng)有維了,就依次在排序后的結(jié)果加上現(xiàn)有模型中最大維的順序號,如果模型中還沒有維,排序的結(jié)果就是建維的順序,如果有頻繁程度一樣的維鍵,就根據(jù)字母序;本發(fā)明實施例中,維鍵ActualElapsedTime可以表不成〈I ,ActualElapsedTime,I,I〉,維鍵AirTime可以表不成〈2,八:[1'111116,1,1>,維鍵01^8;[11(出發(fā)地)可以表示成〈16,01^8;[11,1,I〉,維鍵Month可以表示成〈15,Month,I,I〉; index從I開始計數(shù),它不會隨著模型的更新而重置,在第一次建立模型的時候vers1n從I開始計數(shù),以后每更新模型一次,都將vers1n加I,以此來區(qū)別模型的不同版本;隨著數(shù)據(jù)量的增多,CarrierDelay變得相當(dāng)頻繁,因此可將CarrierDelay建立成為新的維〈22 ,CarrierDelay,2,I〉;
[0040]步驟2、對多維漸增數(shù)據(jù)模型中的每一維屬性的值進行分段,包括空段、溢出段和合理段;
[
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
河源市| 乌兰浩特市| 陵水| 朝阳区| 察隅县| 松阳县| 平定县| 剑河县| 罗田县| 高淳县| 嘉鱼县| 东台市| 彭阳县| 长葛市| 湛江市| 木兰县| 抚远县| 广汉市| 安阳市| 临沂市| 彩票| 鄱阳县| 洪雅县| 民丰县| 东莞市| 大竹县| 仁化县| 慈利县| 浦城县| 张北县| 昌平区| 商水县| 青州市| 新余市| 黎城县| 宜州市| 思南县| 南川市| 福泉市| 日照市| 太谷县|