国产精品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ù)存儲方法、裝置、設(shè)備及存儲介質(zhì)與流程

      文檔序號:40329439發(fā)布日期:2024-12-18 13:06閱讀:8來源:國知局
      一種數(shù)據(jù)存儲方法、裝置、設(shè)備及存儲介質(zhì)與流程

      本技術(shù)涉及數(shù)據(jù)庫,尤其涉及一種數(shù)據(jù)存儲方法、裝置、設(shè)備及存儲介質(zhì)。


      背景技術(shù):

      1、在有序數(shù)據(jù)結(jié)構(gòu)廣泛應(yīng)用與鍵-值數(shù)據(jù)對的存儲領(lǐng)域。所謂的鍵值,即一個鍵加值的二元組,比如說在一個存儲文件信息的表中,可能存在著這樣的鍵值對{編號:文件名}。編號是用于索引的鍵,必須是全局唯一的,即不能有重復的文件編號,其對應(yīng)的值就是文件名。

      2、目前,通過編號對文件名進行索引通常分為兩個過程—數(shù)據(jù)索引和數(shù)據(jù)讀取,首先通過數(shù)據(jù)索引確定數(shù)據(jù)存儲的位置,然后根據(jù)數(shù)據(jù)存儲的位置確定數(shù)據(jù)的值。但是,在數(shù)據(jù)索引和數(shù)據(jù)讀取中,往往數(shù)據(jù)索引花費較長時間,而數(shù)據(jù)讀取耗時卻很短。

      3、為了縮短時間,將數(shù)據(jù)讀取的過程縮短,但耗時較長的主要問題在于數(shù)據(jù)索引,因此縮短數(shù)據(jù)讀取并不能很好地縮短時間;采用學習索引算法可以快速讀取數(shù)據(jù),但學習索引算法無法快速索引字符串類型的鍵。


      技術(shù)實現(xiàn)思路

      1、本技術(shù)實施例提供了一種數(shù)據(jù)存儲方法、裝置、設(shè)備及存儲介質(zhì),可以更加高效地存儲、查詢數(shù)據(jù)。

      2、第一方面,本技術(shù)實施例提供一種數(shù)據(jù)存儲方法,適用于以鍵按字典序排列的鍵值對數(shù)據(jù)存儲至設(shè)定的存儲區(qū)域;所述設(shè)定的存儲區(qū)域包括:數(shù)據(jù)塊及前綴索引塊;所述前綴索引塊包括:前綴鍵索引區(qū)及特異區(qū);所述前綴鍵索引區(qū)存儲有任一鍵值對數(shù)據(jù)的前綴鍵,所述特異區(qū)存儲有任一鍵值對數(shù)據(jù)的特異值;所述方法包括:

      3、以待存儲的多個鍵值對數(shù)據(jù)的鍵為序?qū)λ龆鄠€鍵值對數(shù)據(jù)排序后,確定每個鍵值對數(shù)據(jù)對應(yīng)的前綴鍵和特異值;其中,前綴鍵為待存儲的鍵值對數(shù)據(jù)與前一鍵值對數(shù)據(jù)的鍵從首位開始的最長公共部分;特異值為待存儲的鍵值對數(shù)據(jù)與前一鍵值對數(shù)據(jù)的鍵中首個不同的值;

      4、將所述多個鍵值對數(shù)據(jù)的前綴鍵依序存儲至所述前綴索引塊的所述前綴鍵索引區(qū),并將所述多個鍵值對數(shù)據(jù)的特異值依序存儲至所述前綴索引塊的所述特異區(qū);

      5、將所述多個鍵值對數(shù)據(jù)的后綴鍵及值存儲在所述數(shù)據(jù)塊中;其中,后綴鍵為每個鍵中除前綴鍵之外的部分。

      6、本技術(shù)實施例中,重新設(shè)計了存儲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),將現(xiàn)有的索引塊改成了前綴索引塊,并相應(yīng)地提出了索引壓縮算法和查詢算法,可以有效地減少索引塊和數(shù)據(jù)塊所需存儲空間的大小,從而加快數(shù)據(jù)讀取到內(nèi)存的速度。同時用查詢算法得到的相對位置作為輸入,結(jié)合學習索引,克服了學習索引難以應(yīng)用到字符串類型的數(shù)據(jù)的局限,充分利用了其高索引速度低存儲開銷的特點,進一步提升了鍵值對查詢的效率。

      7、可選地,所述前綴索引塊還包括長度區(qū);所述將所述多個鍵值對數(shù)據(jù)的前綴鍵依序存儲至所述前綴索引塊的所述前綴鍵索引區(qū),包括:

      8、將所述多個鍵值對數(shù)據(jù)的前綴鍵中最長的前綴鍵,作為壓縮前綴鍵;依序確定每個鍵值對數(shù)據(jù)的前綴鍵在所述壓縮前綴鍵中共有部分對應(yīng)的長度值,得到長度序列;

      9、將所述壓縮前綴鍵存儲至所述前綴索引塊的所述前綴鍵索引區(qū),將所述長度序列存儲至所述前綴索引塊的長度區(qū)。

      10、本技術(shù)實施例中,通過進一步將前綴鍵進行壓縮,可以進一步減少數(shù)據(jù)的存儲空間;將壓縮前綴鍵和每個鍵值對數(shù)據(jù)的前綴鍵在壓縮前綴鍵中對應(yīng)的長度作為長度序列存儲,可以根據(jù)壓縮前綴鍵和長度序列,對前綴鍵進行還原。既節(jié)省了空間,又不妨礙前綴鍵的完整性。

      11、可選地,還包括:

      12、基于所述多個鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的相對位置以及存儲地址,確定每個區(qū)間的線性回歸模型;其中,每個區(qū)間的線性回歸模型以該區(qū)間中鍵值對數(shù)據(jù)的相對位置為輸入,鍵值對的存儲地址為輸出;所述相對位置表征所述多個鍵值對數(shù)據(jù)在數(shù)據(jù)塊中以存儲地址的遞增為序的序號;將每個區(qū)間的線性回歸模型存儲至模型索引塊。

      13、本技術(shù)實施例中,根據(jù)相對位置確定各個區(qū)間的線性回歸模型,將采用多個線性回歸模型,可以更準確的確定出鍵值對的存儲位置。

      14、可選地,所述基于所述多個鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的相對位置以及存儲地址,確定每個區(qū)間的線性回歸模型,包括:

      15、以鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的相對位置為自變量,鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的存儲地址為因變量,構(gòu)建線性回歸模型;

      16、若第i鍵值對數(shù)據(jù)對應(yīng)的線性回歸模型中累加第j鍵值對數(shù)據(jù)的擬合誤差未超過設(shè)定閾值,則將第j鍵值對數(shù)據(jù)加入第i鍵值對數(shù)據(jù)對應(yīng)的線性回歸模型,第j鍵值對數(shù)據(jù)位于第i鍵值對數(shù)據(jù)之后一個;

      17、若超過設(shè)定閾值,則將第j鍵值對數(shù)據(jù)作為新區(qū)間的起點,構(gòu)建第j鍵值對數(shù)據(jù)對應(yīng)的線性回歸模型,直至所有鍵值對數(shù)據(jù)均確定對應(yīng)區(qū)間的線性回歸模型。

      18、本技術(shù)實施例中,通過將鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的相對位置,與前一個鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的相對位置進行擬合,以判斷當前鍵值對數(shù)據(jù)所在的線性回歸模型,通過設(shè)定閾值以使當前鍵值對數(shù)據(jù)處于較為合適的線性回歸模型,增加了當前鍵值對數(shù)據(jù)的查詢的準確性。

      19、第二方面,本技術(shù)實施例提供一種數(shù)據(jù)查詢方法,適用于以鍵按字典序排列的鍵值對數(shù)據(jù)存儲格式存儲在設(shè)定的存儲區(qū)域,所述設(shè)定的存儲區(qū)域包括:數(shù)據(jù)塊及前綴索引塊;所述前綴索引塊包括:前綴鍵索引區(qū)及特異區(qū);所述方法包括:

      20、獲取查詢請求,所述查詢請求包括目標值的鍵;

      21、基于所述前綴索引塊的前綴鍵索引區(qū)中按字典序存儲的各前綴鍵以及所述前綴索引塊的特異區(qū)中存儲的各特異值,確定與所述目標值的鍵匹配的前綴鍵;其中,前綴鍵為任一鍵值對數(shù)據(jù)的鍵與前一鍵值對數(shù)據(jù)的鍵的最長公共部分;特異值為任一鍵值對數(shù)據(jù)的鍵與前一鍵值對數(shù)據(jù)的鍵中首個不同的值;

      22、從所述匹配的前綴鍵指示的數(shù)據(jù)塊中獲取所述匹配的后綴鍵;其中,后綴鍵為每個鍵中除前綴鍵之外的部分;

      23、在所述匹配的前綴鍵與所述匹配的前綴鍵的后綴鍵組合后,從所述數(shù)據(jù)塊中得到所述目標鍵的值。

      24、本技術(shù)實施例中,重新設(shè)計了存儲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),將現(xiàn)有的索引塊改成了前綴索引塊,并相應(yīng)地提出了索引壓縮算法和查詢算法,可以有效地減少索引塊和數(shù)據(jù)塊所需存儲空間的大小,從而加快數(shù)據(jù)讀取到內(nèi)存的速度。同時用查詢算法得到的相對位置作為輸入,結(jié)合學習索引,克服了學習索引難以應(yīng)用到字符串類型的數(shù)據(jù)的局限,充分利用了其高索引速度低存儲開銷的特點,進一步提升了鍵值對查詢的效率。

      25、可選地,所述基于前綴索引塊的前綴鍵索引區(qū)中按字典序存儲的各前綴鍵以及所述前綴索引塊的特異區(qū)中存儲的各特異值,確定與所述目標值的鍵匹配的前綴鍵,包括:

      26、所述基于前綴索引塊的前綴鍵索引區(qū)中依序存儲的各前綴鍵,在所述目標值的鍵與第m前綴鍵及對應(yīng)的特異值均匹配時,確定所述目標值的鍵與第m+1前綴鍵及對應(yīng)的特異值是否匹配;

      27、若不匹配,則確定與所述目標值的鍵匹配的前綴鍵為所述第m前綴鍵。

      28、本技術(shù)實施例中,通過進一步將前綴鍵進行壓縮,可以進一步減少數(shù)據(jù)的存儲空間;將壓縮前綴鍵和每個鍵值對數(shù)據(jù)的前綴鍵在壓縮前綴鍵中對應(yīng)的長度作為長度序列存儲,可以根據(jù)壓縮前綴鍵和長度序列,對前綴鍵進行還原。既節(jié)省了空間,又不妨礙前綴鍵的完整性。

      29、可選地,所述前綴鍵索引區(qū)中按字典序存儲的各前綴鍵為壓縮前綴鍵;所述前綴鍵索引區(qū)還包括位于長度區(qū)中的長度序列;所述壓縮前綴鍵為各前綴鍵中最長的前綴鍵,所述長度序列為每個前綴鍵在所述壓縮前綴鍵中共有部分對應(yīng)的長度值;

      30、所述基于前綴索引塊的前綴鍵索引區(qū)中依序存儲的各前綴鍵之前,還包括:

      31、針對第n前綴鍵,基于所述長度序列中的第n位的長度值k,將所述壓縮前綴鍵中的前k位作為所述第n前綴鍵。

      32、本技術(shù)實施例中,通過將長度序列和壓縮前綴鍵共同存儲,可以通過長度序列和壓縮前綴鍵兩者還原出前綴鍵,不需將所有前綴鍵存儲就可以獲得所有前綴鍵,節(jié)省了存儲空間。

      33、可選地,模型索引塊中存儲有每個區(qū)間的線性回歸模型,任一區(qū)間的線性回歸模型是以該區(qū)間中鍵值對數(shù)據(jù)的相對位置為輸入,鍵值對的存儲地址為輸出;

      34、基于所述匹配的前綴鍵,從對應(yīng)數(shù)據(jù)塊中獲取所述匹配的前綴鍵的后綴鍵,包括:

      35、確定所述匹配的前綴鍵對應(yīng)的區(qū)間;

      36、根據(jù)所述對應(yīng)的區(qū)間的線性回歸模型,基于所述匹配的前綴鍵在各前綴鍵中的相對位置,得到所述匹配的前綴鍵的鍵值對的目標存儲地址;

      37、根據(jù)所述目標存儲地址,從對應(yīng)數(shù)據(jù)塊中獲取所述匹配的前綴鍵的后綴鍵。

      38、本技術(shù)實施例中,根據(jù)相對位置確定各個區(qū)間的線性回歸模型,將采用多個線性回歸模型,可以更準確的確定出鍵值對的存儲位置。

      39、第三方面,本技術(shù)實施例提供一種數(shù)據(jù)存儲裝置,適用于以鍵按序排列的鍵值對存儲格式;所述裝置包括:

      40、確定模塊,用于以待存儲的多個鍵值對數(shù)據(jù)的鍵為序?qū)λ龆鄠€鍵值對數(shù)據(jù)排序后,確定每個鍵值對數(shù)據(jù)對應(yīng)的前綴鍵和特異值;其中,前綴鍵為待存儲的鍵值對數(shù)據(jù)與前一鍵值對數(shù)據(jù)的鍵從首位開始的最長公共部分;特異值為待存儲的鍵值對數(shù)據(jù)與前一鍵值對數(shù)據(jù)的鍵中首個不同的值;

      41、存儲模塊,用于將所述多個鍵值對數(shù)據(jù)的前綴鍵依序存儲至所述前綴索引塊的所述前綴鍵索引區(qū),并將所述多個鍵值對數(shù)據(jù)的特異值依序存儲至所述前綴索引塊的所述特異區(qū);

      42、所述存儲模塊,還用于將所述多個鍵值對數(shù)據(jù)的后綴鍵及值存儲在所述數(shù)據(jù)塊中;其中,后綴鍵為每個鍵中除前綴鍵之外的部分。

      43、可選地,所述存儲模塊具體用于:

      44、將所述多個鍵值對數(shù)據(jù)的前綴鍵中最長的前綴鍵,作為壓縮前綴鍵;依序確定每個鍵值對數(shù)據(jù)的前綴鍵在所述壓縮前綴鍵中共有部分對應(yīng)的長度值,得到長度序列;

      45、將所述壓縮前綴鍵存儲至所述前綴索引塊的所述前綴鍵索引區(qū),將所述長度序列存儲至所述前綴索引塊的長度區(qū)。

      46、可選地,所述確定模塊具體用于:

      47、基于所述多個鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的相對位置以及存儲地址,確定每個區(qū)間的線性回歸模型;其中,每個區(qū)間的線性回歸模型以該區(qū)間中鍵值對數(shù)據(jù)的相對位置為輸入,鍵值對的存儲地址為輸出;所述相對位置表征所述多個鍵值對數(shù)據(jù)在數(shù)據(jù)塊中以存儲地址的遞增為序的序號;

      48、將每個區(qū)間的線性回歸模型存儲至模型索引塊。

      49、可選地,所述確定模塊還用于:

      50、以鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的相對位置為自變量,鍵值對數(shù)據(jù)在數(shù)據(jù)塊中的存儲地址為因變量,構(gòu)建線性回歸模型;

      51、若第i鍵值對數(shù)據(jù)對應(yīng)的線性回歸模型中累加第j鍵值對數(shù)據(jù)的擬合誤差未超過設(shè)定閾值,則將第j鍵值對數(shù)據(jù)加入第i鍵值對數(shù)據(jù)對應(yīng)的線性回歸模型,第j鍵值對數(shù)據(jù)位于第i鍵值對數(shù)據(jù)之后一個;

      52、若超過設(shè)定閾值,則將第j鍵值對數(shù)據(jù)作為新區(qū)間的起點,構(gòu)建第j鍵值對數(shù)據(jù)對應(yīng)的線性回歸模型,直至所有鍵值對數(shù)據(jù)均確定對應(yīng)區(qū)間的線性回歸模型。

      53、可選地,所述前綴索引塊還包括尾部區(qū),所述尾部區(qū)用于存儲所述前綴索引塊的元信息。

      54、本技術(shù)實施例中,重新設(shè)計了存儲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),將現(xiàn)有的索引塊改成了前綴索引塊,并相應(yīng)地提出了索引壓縮算法和查詢算法,可以有效地減少索引塊和數(shù)據(jù)塊所需存儲空間的大小,從而加快數(shù)據(jù)讀取到內(nèi)存的速度。同時用查詢算法得到的相對位置作為輸入,結(jié)合學習索引,克服了學習索引難以應(yīng)用到字符串類型的數(shù)據(jù)的局限,充分利用了其高索引速度低存儲開銷的特點,進一步提升了鍵值對查詢的效率。

      55、第四方面,本技術(shù)實施例提供一種數(shù)據(jù)查詢裝置,適用于以鍵按字典序排列的鍵值對數(shù)據(jù)存儲格式存儲在設(shè)定的存儲區(qū)域,所述設(shè)定的存儲區(qū)域包括:數(shù)據(jù)塊及前綴索引塊;所述前綴索引塊包括:前綴鍵索引區(qū)及特異區(qū);包括:

      56、獲取模塊,用于獲取查詢請求,所述查詢請求包括目標值的鍵;

      57、確定模塊,用于基于所述前綴索引塊的前綴鍵索引區(qū)中按字典序存儲的各前綴鍵以及所述前綴索引塊的特異區(qū)中存儲的各特異值,確定與所述目標值的鍵匹配的前綴鍵;其中,前綴鍵為與任一鍵值對數(shù)據(jù)的鍵與前一鍵值對數(shù)據(jù)的鍵的最長公共部分;特異值為與任一鍵值對數(shù)據(jù)的鍵與前一鍵值對數(shù)據(jù)的鍵中首個不同的值;

      58、匹配模塊,從所述匹配的前綴鍵指示的數(shù)據(jù)塊中獲取所述匹配的后綴鍵;其中,后綴鍵為每個鍵中除前綴鍵之外的部分;

      59、所述匹配模塊,還用于在所述匹配的前綴鍵與所述匹配的前綴鍵的后綴鍵組合后,從所述數(shù)據(jù)塊中得到所述目標鍵的值。

      60、可選地,所述確定模塊還用于:

      61、所述基于前綴索引塊的前綴鍵索引區(qū)中按字典序存儲的各前綴鍵以及所述前綴索引塊的特異區(qū)中存儲的各特異值,確定與所述目標值的鍵匹配的前綴鍵,包括:

      62、所述基于前綴索引塊的前綴鍵索引區(qū)中依序存儲的各前綴鍵,在所述目標值的鍵與第m前綴鍵及對應(yīng)的特異值均匹配時,確定所述目標值的鍵與第m+1前綴鍵及對應(yīng)的特異值是否匹配;

      63、若不匹配,則確定與所述目標值的鍵匹配的前綴鍵為所述第m前綴鍵??蛇x地,所述匹配模塊具體用于:

      64、確定所述匹配的前綴鍵對應(yīng)的區(qū)間;

      65、根據(jù)所述對應(yīng)的區(qū)間的線性回歸模型,基于所述匹配的前綴鍵在各前綴鍵中的相對位置,得到所述匹配的前綴鍵的鍵值對的目標存儲地址;

      66、根據(jù)所述目標存儲地址,從對應(yīng)數(shù)據(jù)塊中獲取所述匹配的前綴鍵的后綴鍵。

      67、本技術(shù)實施例中,重新設(shè)計了存儲數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),將現(xiàn)有的索引塊改成了前綴索引塊,并相應(yīng)地提出了索引壓縮算法和查詢算法,可以有效地減少索引塊和數(shù)據(jù)塊所需存儲空間的大小,從而加快數(shù)據(jù)讀取到內(nèi)存的速度。同時用查詢算法得到的相對位置作為輸入,結(jié)合學習索引,克服了學習索引難以應(yīng)用到字符串類型的數(shù)據(jù)的局限,充分利用了其高索引速度低存儲開銷的特點,進一步提升了鍵值對查詢的效率。

      68、第五方面,本技術(shù)實施例提供了一種計算機設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執(zhí)行所述程序時實現(xiàn)上述任一所述方法的步驟。

      69、第六方面,本技術(shù)實施例提供了一種計算機可讀存儲介質(zhì),其存儲有可由計算機設(shè)備執(zhí)行的計算機程序,當所述程序在計算機設(shè)備上運行時,使得所述計算機設(shè)備執(zhí)行上述任一所述方法的步驟。

      70、第七方面,本技術(shù)實施例提供一種包含指令的計算機程序產(chǎn)品,當其在計算機上運行時,使得計算機執(zhí)行上述第一方面或第二方面的各實施例的方法。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1