国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于分布式列存儲的時間序列數(shù)據(jù)存儲方法

      文檔序號:6543427閱讀:720來源:國知局
      一種基于分布式列存儲的時間序列數(shù)據(jù)存儲方法
      【專利摘要】本發(fā)明公開了一種基于分布式列存儲的時間序列數(shù)據(jù)存儲方法,屬于數(shù)據(jù)庫【技術(shù)領(lǐng)域】。本發(fā)明使用由行鍵和列組成的稀疏表存儲測點記錄數(shù)據(jù),行鍵包含了盡可能多的檢索信息,每一行記錄把某個時間段的分散采集的數(shù)據(jù)合并在一起,同時設(shè)置了名稱映射表存儲名稱信息。本發(fā)明能夠充分利用分布式列存儲技術(shù)的各項優(yōu)勢,保證時間序列數(shù)據(jù)在分布式列存儲上的存儲和檢索的效率,并且利用分布式存儲增強數(shù)據(jù)存儲的安全性。
      【專利說明】一種基于分布式列存儲的時間序列數(shù)據(jù)存儲方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于數(shù)據(jù)庫【技術(shù)領(lǐng)域】,更準確地說,本發(fā)明涉及一種基于分布式列存儲的時間序列數(shù)據(jù)存儲方法。
      【背景技術(shù)】
      [0002]隨著工業(yè)化、信息化“兩化融合”建設(shè)的不斷深入,各個行業(yè)都面臨著數(shù)據(jù)的爆發(fā)式增長,數(shù)據(jù)處理壓力越來越大。從國家電網(wǎng)的視角出發(fā),隨著國家電網(wǎng)的高速發(fā)展,信息化技術(shù)在國家電網(wǎng)各種業(yè)務(wù)中的廣泛而深入的應(yīng)用,智能電網(wǎng)的推廣及普及。電力系統(tǒng)各個業(yè)務(wù)系統(tǒng)的數(shù)據(jù)出現(xiàn)了爆發(fā)式的增長,其中時間序列的增長速度尤為明顯。傳統(tǒng)的時間序列數(shù)據(jù)庫,無論在處理的數(shù)據(jù)量上還是響應(yīng)速度上,已經(jīng)越來越無法滿足現(xiàn)有業(yè)務(wù)需要,這一點在各個網(wǎng)省公司的用電信息采集中,體現(xiàn)的尤為明顯。與此同時,隨著國內(nèi)外互聯(lián)網(wǎng)業(yè)務(wù)的快速發(fā)展,大數(shù)據(jù)及云計算的發(fā)展及廣泛應(yīng)用,分布式的列存儲技術(shù)成為了處理海量數(shù)據(jù)中的首要重要技術(shù),并且給與我們很多啟示。
      [0003]在電網(wǎng)業(yè)務(wù)中,時間序列數(shù)據(jù),作為一種重要的非結(jié)構(gòu)化的數(shù)據(jù)類型,在營銷、調(diào)度、運監(jiān)、生產(chǎn)等多種場景有著廣泛而深入的應(yīng)用。在傳統(tǒng)應(yīng)用中,時間序列數(shù)據(jù)往往被抽象建立為結(jié)構(gòu)化的數(shù)據(jù)模型,而存入關(guān)系型數(shù)據(jù)庫。而關(guān)系型數(shù)據(jù)庫的行列模式,在存儲不同采樣周期的時間序列數(shù)據(jù)時,會造成存儲空間的極大浪費。另一方面,隨著海量數(shù)據(jù)的增力口,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫往往無法應(yīng)對,使得查詢效率劇降,從而無法滿足業(yè)務(wù)應(yīng)用場景的需求。另外有很多廠家采用四元組的形式,使用B+樹的數(shù)據(jù)結(jié)構(gòu),直接存入文件系統(tǒng)。這種方式具有節(jié)省存儲空間,查詢直接,效率較高的特點。但同時存在后期擴展困難,不具備聚合計算等數(shù)據(jù)庫常用功能,而且在處理海量時間序列數(shù)據(jù)上存在很多不足。綜合來看,這兩種方式不論在理論還是實際應(yīng)用,都存在著很大的局限性,制約了針對時間序列數(shù)據(jù)的業(yè)務(wù)應(yīng)用的進一步發(fā)展。采用分布式列存儲數(shù)據(jù)庫,對時間序列數(shù)據(jù)進行建模,使用該存儲模型在分布式列存儲上進行時間序列數(shù)據(jù)的存儲,可以在很大程度上解決這些制約和突破這些局限。
      [0004]隨著新興的移動互聯(lián)網(wǎng)技術(shù)的推進,傳統(tǒng)企業(yè)也在不斷的發(fā)展與進步,共通的一點就是,數(shù)據(jù)作為一種重要的資源和財富,已經(jīng)越來越多的受到各方面企業(yè)的重視。而且隨著各個企業(yè)中監(jiān)測和控制對象的不斷復(fù)雜化,數(shù)據(jù)量的爆炸式增長,不同應(yīng)用在對各種數(shù)據(jù)的使用及可利用價值的認識不斷深入,對海量數(shù)據(jù)如何高效存儲,如何便利的訪問,以及對訪問的效率及響應(yīng)速度的要求也在不斷提高。因此對數(shù)據(jù)的高效存儲,快速檢索,以及各種分析處理能力提出了更高要求。本發(fā)明正是為了達到高效存儲以及快速的檢索時間序列數(shù)據(jù)而開發(fā)實現(xiàn)的。

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

      [0005]本發(fā)明的目的是:提供一種基于分布式列存儲的時間序列數(shù)據(jù)存儲方法,使時間序列數(shù)據(jù)能夠適應(yīng)分布式列存儲的存儲方式,發(fā)揮分布式列存儲的優(yōu)勢。該方法能夠保證時間序列數(shù)據(jù)在分布式列存儲上的高效存儲和快速檢索。
      [0006]具體地說,本發(fā)明是采用以下的技術(shù)方案來實現(xiàn)的,包括下列步驟:
      1)使用測點數(shù)據(jù)表存儲測點記錄數(shù)據(jù),所述測點數(shù)據(jù)表由行鍵和列組成的稀疏表構(gòu)成,其中,行鍵由特征點、時間戳、標(biāo)簽三個部分組成,特征點用于標(biāo)識測點的名稱,時間戳用于標(biāo)識基準時間值,標(biāo)簽用于表示特征點的屬性,每個行鍵中的標(biāo)簽數(shù)量為一個或多個,每個標(biāo)簽由一個或多個鍵值對組成,鍵值對中的鍵用于標(biāo)識測點的屬性,鍵值對中的值用于標(biāo)識測點的屬性值;列由子列組成,每個子列用于存儲相應(yīng)于行鍵中所記載的基準時間的偏移量的記錄值,子列的數(shù)量由預(yù)先設(shè)置的最大偏移量決定;
      使用名稱映射表存儲特征點的名稱和標(biāo)簽鍵值對的名稱,在名稱映射表使用固定長度的名稱映射值對應(yīng)相應(yīng)的特征點的名稱和標(biāo)簽鍵值對的名稱;
      使用測點信息表存儲各測點的信息,存儲方式采用標(biāo)準的分布式數(shù)據(jù)存儲方式;
      2)寫入數(shù)據(jù)時,在分布式列存儲數(shù)據(jù)庫環(huán)境中,先根據(jù)各條測點記錄數(shù)據(jù)獲得相應(yīng)的特征點的名稱和標(biāo)簽鍵值對的名稱,并將特征點的名稱和標(biāo)簽鍵值對的名稱存儲在名稱映射表中;
      然后,根據(jù)各條測點記錄數(shù)據(jù)的特征點名稱的名稱映射值、基準時間、標(biāo)簽鍵值對名稱的名稱映射值和相應(yīng)值生成相應(yīng)的行鍵值,并根據(jù)各條測點記錄數(shù)據(jù)的偏移量將各條測點記錄數(shù)據(jù)的行鍵值和記錄值分別存儲在測點數(shù)據(jù)表中相應(yīng)的行鍵和與該行鍵相應(yīng)偏移量相對的子列中。
      [0007]上述技術(shù)方案的進一步特征在于,所述列采用采用可變長存儲。
      [0008]上述技術(shù)方案的進一步特征在于,所述名稱映射表采用雙向映射,既能通過特征點的名稱或標(biāo)簽鍵值對的名稱檢索相應(yīng)名稱映射值,也能通過名稱映射值檢索相應(yīng)的特征點的名稱或標(biāo)簽鍵值對的名稱。
      [0009]上述技術(shù)方案的進一步特征在于,所述步驟2)中,當(dāng)測點數(shù)據(jù)表中的某一行記錄存儲滿時,再開啟新的一行。
      [0010]本發(fā)明的有益效果如下:本發(fā)明測點數(shù)據(jù)表中的行鍵包含了盡可能多的檢索信息,每一行記錄把某個時間段的分散采集的數(shù)據(jù)合并在一起,減少了整個表格行鍵的個數(shù),從而提高了檢索的速度。而本發(fā)明按照時間的延展來存儲數(shù)據(jù)的方式實質(zhì)是一種無狀態(tài)的存儲方案。無狀態(tài)的存儲是指連續(xù)存入的兩條記錄是不相互了解的,是不相關(guān)的。假如連續(xù)存入的兩條記錄是相關(guān)的,那么當(dāng)前一條記錄出錯后,很可能導(dǎo)致后一條記錄出錯。因此,本發(fā)明方法的無狀態(tài)的存儲方案還能提高系統(tǒng)的容錯能力。同時本發(fā)明設(shè)置了名稱映射表存儲名稱信息,從而在存儲具體的時間序列數(shù)據(jù)時能夠減少存儲空間的使用。綜上所述本發(fā)明方法的有益效果是,充分利用分布式列存儲技術(shù)的各項優(yōu)勢,保證時間序列數(shù)據(jù)在分布式列存儲上的存儲和檢索的效率,并且利用分布式存儲增強數(shù)據(jù)存儲的安全性。
      【專利附圖】

      【附圖說明】
      [0011]圖1是本發(fā)明中測點數(shù)據(jù)表結(jié)構(gòu)示意圖。
      [0012]圖2是本發(fā)明中列存儲結(jié)構(gòu)示意圖。
      [0013]圖3是本發(fā)明中名稱映射表結(jié)構(gòu)示意圖?!揪唧w實施方式】
      [0014]下面參照附圖并結(jié)合實例對本發(fā)明作進一步詳細描述。
      [0015]本發(fā)明的一個實例,整個時間序列數(shù)據(jù)庫的數(shù)據(jù)表分為測點信息表METRIC_INF0、名稱映射表METRICTAG_UID和測點數(shù)據(jù)表METRIC_DATA三部分組成。測點信息表主要存儲采集測點的信息,名稱映射表主要存儲測點或標(biāo)簽的名稱和相應(yīng)的名稱映射值,測點數(shù)據(jù)表存儲具體的時間序列數(shù)據(jù)。
      [0016]如圖1所示,測點數(shù)據(jù)表METRIC_DATA由行鍵和列組成的稀疏表來構(gòu)成,而列又可以由一個或多個子列來實現(xiàn)。行鍵的結(jié)構(gòu)如圖3中所示,行鍵由特征點、時間戳、標(biāo)簽組成。本實施例中,特征點名用3字節(jié)表示,時間戳值用4字節(jié)表示,標(biāo)簽用來表示特征點的屬性,如表明該特征點來自于哪個信息采集點或其他屬性特征,一個標(biāo)簽由一個或多個鍵值對組成,每個鍵值對用6個字節(jié),每個行鍵可同時由多個標(biāo)簽來描述特征點的屬性。
      [0017]子列存儲的是相應(yīng)于行鍵基準時間的偏移量時的記錄值,子列的數(shù)量由預(yù)先設(shè)置的最大偏移量決定。圖1所示中的最大偏移量為3600秒,實際應(yīng)用中可以根據(jù)具體需求調(diào)整。如圖2所示,列的存儲模型采用2字節(jié)表述,其中前12位用來表示基準時間,第13位為類型標(biāo)志位表示存儲的數(shù)據(jù)類型(整型或浮點型),最后3位用來表示存儲的記錄值的長度。列存儲模型對于記錄值的存儲采用可變長存儲而不是固定長度值,可以充分利用存儲空間,這種存儲方式和測點存儲模型的稀疏特點的目的一致。
      [0018]可見,測點數(shù)據(jù)表METRIC_DATA實現(xiàn)了測點存儲,同時通過相應(yīng)于行鍵基準時間的偏移量(子列)來稀疏存儲測點連續(xù)的數(shù)據(jù)點(時間序列數(shù)據(jù)),可以顯著減少存儲的行數(shù),達到了壓縮存儲信息的效果。
      [0019]使用測點信息表METRIC_INF0存儲各測點的信息,存儲方式采用標(biāo)準的分布式數(shù)據(jù)存儲方式。測點的信息包括測點的類型、單位、地址、描述、顯示名稱、備注等。
      [0020]使用名稱映射表METRICTAG_UID存儲特征點名稱以及標(biāo)簽的鍵值對名稱。名稱映射表METRICTAG_UID中使用固定長度(如3字節(jié))的名稱映射值(UID)對應(yīng)相應(yīng)的特征點的名稱和標(biāo)簽鍵值對的名稱,UID和名稱的具體對應(yīng)關(guān)系可采用雙向映射的方式。如圖3所示,名稱映射表METRICTAG_UID由行鍵、列名和列id三個部分組成。名稱映射表METRICTAG_UID行鍵用來存儲測點數(shù)據(jù)表METRIC_DATA中行鍵(特征點、標(biāo)簽.鍵、標(biāo)簽.值)對應(yīng)的UID及名稱,同時在列名和列id中存儲對應(yīng)的名稱或WD。固定長度的WD,使得在存儲具體的時間序列數(shù)據(jù)時,減少了存儲空間的使用,同時加快了檢索速度。通過雙向映射的方式,還可以既能高速的通過名稱檢索對應(yīng)WD,也能通過WD高速檢索名稱。
      [0021]由于在分布式列存儲的時間序列數(shù)據(jù)存儲模型中,行的列不可能無限制的持續(xù)性擴展。因此,在該模型中數(shù)據(jù)點第一次建立時,先建立一個新的行,在存儲一定數(shù)據(jù)后(存儲滿后)再開啟另一行。由于在分布式環(huán)境中存在并發(fā)寫的情況,測點數(shù)據(jù)表與UID名稱映射確保了不同行鍵(由特征點、時間戳、標(biāo)簽組成)不存在沖突,而對于同一行鍵,設(shè)置固定的時間偏移量來決定換行,不同客戶端對于同一行鍵不同時間偏移分別存儲,避免了分布式環(huán)境下的寫沖突。具體應(yīng)用部署中可以根據(jù)需求通過配置文件來指定換行的時間偏移量。分布式環(huán)境下每個獨立的該模型可以根據(jù)時間來判斷當(dāng)前數(shù)據(jù)所在的行。
      [0022]具體的寫入過程為:寫入數(shù)據(jù)時,在分布式列存儲數(shù)據(jù)庫環(huán)境中,先根據(jù)各條測點記錄數(shù)據(jù)獲得相應(yīng)的特征點的名稱和標(biāo)簽鍵值對的名稱,并將特征點的名稱和標(biāo)簽鍵值對的名稱存儲在名稱映射表METRICTAG_UID中。然后,根據(jù)各條測點記錄數(shù)據(jù)的特征點的名稱的名稱映射值、基準時間、標(biāo)簽鍵值對的名稱的名稱映射值和相應(yīng)值生成相應(yīng)的行鍵值,并根據(jù)各條測點記錄數(shù)據(jù)的偏移量將各條測點記錄數(shù)據(jù)的行鍵值和記錄值分別存儲在測點數(shù)據(jù)表METRIC_DATA中相應(yīng)的行鍵和與該行鍵相應(yīng)偏移量相對的子列中。偏移量根據(jù)測點數(shù)據(jù)表METRIC_DATA中該條記錄對應(yīng)的基準時間計算。對于測點數(shù)據(jù)表METRIC_DATA中某一行記錄而言,如果該行存儲滿(某一時間段后)或新的記錄數(shù)據(jù)中的偏移量已經(jīng)超過該行的最大偏移量,則在測點數(shù)據(jù)表METRIC_DATA中新開啟一行記錄。重復(fù)以上過程,完成所有測點信息數(shù)據(jù)的存儲。
      [0023]數(shù)據(jù)的查詢過程如下:在查詢某個測點的一段歷史數(shù)據(jù)時,根據(jù)查詢的特征點的名稱查詢名稱映射表METRICTAG_UID來得到特征點的WD,同時根據(jù)指定的時間范圍共同確定該特征點映射到測點數(shù)據(jù)表METRIC_DATA中的行鍵,然后由行鍵和查詢的時間信息確定返回查詢的特征點的記錄值。
      [0024]以下以具體的實例進行說明。設(shè)有待存儲某測點時間序列中的兩條測點記錄信息,分別為:
      測點記錄信息 1,其內(nèi)容為:Crd.tsd.test 1386304551191 5400 Host=hostARange=Suzhou。其中,Crd.tsd.test 為特征點名,Host=hostA、Range=Suzhou 為標(biāo)簽。
      [0025]測點記錄信息2,其內(nèi)容為:Crd.tsd.test 1386304550002 8500 Host=hostARange=Suzhou。其中,Crd.tsd.test 為特征點名,Host=hostA、Range=Suzhou 為標(biāo)簽。
      [0026]根據(jù)測點記錄信息I生成相應(yīng)的行鍵值存儲在測點數(shù)據(jù)表METRIC_DATA的行鍵中,根據(jù)其時間信息為1386304551191得出基準時間(1386304550000)和偏移量(1191),把記錄值(5400)存儲于該行鍵對應(yīng)的子列(1191)中,完成值的存儲,其結(jié)果如圖1所示。
      [0027]測點記錄信息2生成相應(yīng)的行鍵值存儲在測點數(shù)據(jù)表METRIC_DATA的行鍵中,根據(jù)其時間信息為1386304550002得出基準時間(1386304550000)和偏移量(0002),把記錄值(8500)存儲于該行鍵對應(yīng)的子列(2)中,完成值的存儲。測點記錄信息I和測點記錄信息2存儲于同一行鍵中,對于存儲時間序列數(shù)據(jù),可以減少存儲的行數(shù),達到了數(shù)據(jù)壓縮存儲的效果。
      [0028]雖然本發(fā)明已以較佳實施例公開如上,但實施例并不是用來限定本發(fā)明的。在不脫離本發(fā)明之精神和范圍內(nèi),所做的任何等效變化或潤飾,同樣屬于本發(fā)明之保護范圍。因此本發(fā)明的保護范圍應(yīng)當(dāng)以本申請的權(quán)利要求所界定的內(nèi)容為標(biāo)準。
      【權(quán)利要求】
      1.一種基于分布式列存儲的時間序列數(shù)據(jù)存儲方法,其特征在于,包括如下步驟: 1)使用測點數(shù)據(jù)表存儲測點記錄數(shù)據(jù),所述測點數(shù)據(jù)表由行鍵和列組成的稀疏表構(gòu)成,其中,行鍵由特征點、時間戳、標(biāo)簽三個部分組成,特征點用于標(biāo)識測點的名稱,時間戳用于標(biāo)識基準時間值,標(biāo)簽用于表示特征點的屬性,每個行鍵中的標(biāo)簽數(shù)量為一個或多個,每個標(biāo)簽由一個或多個鍵值對組成,鍵值對中的鍵用于標(biāo)識測點的屬性,鍵值對中的值用于標(biāo)識測點的屬性值;列由子列組成,每個子列用于存儲相應(yīng)于行鍵中所記載的基準時間的偏移量的記錄值,子列的數(shù)量由預(yù)先設(shè)置的最大偏移量決定; 使用名稱映射表存儲特征點的名稱和標(biāo)簽鍵值對的名稱,在名稱映射表使用固定長度的名稱映射值對應(yīng)相應(yīng)的特征點的名稱和標(biāo)簽鍵值對的名稱; 使用測點信息表存儲各測點的信息,存儲方式采用標(biāo)準的分布式數(shù)據(jù)存儲方式; 2)寫入數(shù)據(jù)時,在分布式列存儲數(shù)據(jù)庫環(huán)境中,先根據(jù)各條測點記錄數(shù)據(jù)獲得相應(yīng)的特征點的名稱和標(biāo)簽鍵值對的名稱,并將特征點的名稱和標(biāo)簽鍵值對的名稱存儲在名稱映射表中; 然后,根據(jù)各條測點記錄數(shù)據(jù)的特征點名稱的名稱映射值、基準時間、標(biāo)簽鍵值對名稱的名稱映射值和相應(yīng)值生成相應(yīng)的行鍵值,并根據(jù)各條測點記錄數(shù)據(jù)的偏移量將各條測點記錄數(shù)據(jù)的行鍵值和記錄值分別存儲在測點數(shù)據(jù)表中相應(yīng)的行鍵和與該行鍵相應(yīng)偏移量相對的子列中。
      2.根據(jù)權(quán)利要求1所述的基于分布式列存儲的時間序列數(shù)據(jù)存儲方法,其特征在于,所述列采用采用可變長存儲。
      3.根據(jù)權(quán)利要求1所述的基于分布式列存儲的時間序列數(shù)據(jù)存儲方法,其特征在于,所述名稱映射表采用雙向映射,既能通過特征點的名稱或標(biāo)簽鍵值對的名稱檢索相應(yīng)名稱映射值,也能通過名稱映射值檢索相應(yīng)的特征點的名稱或標(biāo)簽鍵值對的名稱。
      4.根據(jù)權(quán)利要求1所述的基于分布式列存儲的時間序列數(shù)據(jù)存儲方法,其特征在于,所述步驟2)中,當(dāng)測點數(shù)據(jù)表中的某一行記錄存儲滿時,再開啟新的一行。
      【文檔編號】G06F17/30GK104035956SQ201410143604
      【公開日】2014年9月10日 申請日期:2014年4月11日 優(yōu)先權(quán)日:2014年4月11日
      【發(fā)明者】范振華, 趙京虎, 季勝鵬, 王春毅, 袁軍 申請人:江蘇瑞中數(shù)據(jù)股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1