国产精品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ù)存儲方法

      文檔序號:6515819閱讀:220來源:國知局
      數(shù)據(jù)存儲方法
      【專利摘要】本發(fā)明提供了一種數(shù)據(jù)存儲方法,其包括:第一數(shù)據(jù)存儲步驟,對要存儲的數(shù)據(jù)分配內(nèi)存空間進行存儲;第二數(shù)據(jù)存儲步驟,對已存儲的零散數(shù)據(jù)進行內(nèi)存整合,將具有相同數(shù)據(jù)類型的數(shù)據(jù)存儲在同一連續(xù)內(nèi)存空間內(nèi);和公共數(shù)據(jù)索引設(shè)置步驟,將存儲在同一連續(xù)內(nèi)存空間內(nèi)的所有數(shù)據(jù)的數(shù)據(jù)索引提取出并設(shè)置在該連續(xù)內(nèi)存空間的頭部,作為該連續(xù)內(nèi)存空間內(nèi)所有數(shù)據(jù)的公共數(shù)據(jù)索引。根據(jù)本發(fā)明的方法,能夠高效利用內(nèi)存空間,顯著提高數(shù)據(jù)壓縮率。
      【專利說明】數(shù)據(jù)存儲方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明屬于數(shù)據(jù)存儲領(lǐng)域,涉及一種能夠高效利用內(nèi)存空間的數(shù)據(jù)存儲方法,尤 其適用于云計算領(lǐng)域的信息處理設(shè)備或方法。
      【背景技術(shù)】
      [0002]在計算機中存儲數(shù)據(jù)時,存儲數(shù)據(jù)的不連續(xù)性雖然會使小塊內(nèi)存的利用率變高, 但同時也存在一些弊端,例如當在內(nèi)存區(qū)內(nèi)存儲數(shù)據(jù)時,由于需要對每個內(nèi)存進行數(shù)據(jù)標 記,會導(dǎo)致內(nèi)存的額外浪費。對于這種情況,現(xiàn)有技術(shù)中提出了一種解決方案,對數(shù)據(jù)的臨 時文件進行定時整合,設(shè)置整合區(qū);當需要建立文件時,可以在用戶獨立空間內(nèi)先生成文 件,在系統(tǒng)不繁忙時對文件類型進行連續(xù)性內(nèi)存整合,然后將整合后的內(nèi)存頭標記為同一 文件類型。當用戶查找數(shù)據(jù)時,如果數(shù)據(jù)索引是連續(xù)數(shù)據(jù)區(qū),則直接根據(jù)數(shù)據(jù)需求進行逐一 查找。由此能夠減少數(shù)據(jù)頭,通過一個統(tǒng)一數(shù)據(jù)頭進入鏈表遍歷流程,從而實現(xiàn)數(shù)據(jù)壓縮的 目的,減少數(shù)據(jù)報文在內(nèi)存中的體積。
      [0003]上述現(xiàn)有技術(shù)中存在如下問題:由于每個數(shù)據(jù)塊都需要一個數(shù)據(jù)標記索引頭,而 每個數(shù)據(jù)是不連續(xù)的,因此當一個位置的數(shù)據(jù)釋放時,如果該被釋放的空間不夠容納下一 個數(shù)據(jù)所申請的空間大小,那么這個空間就會變成數(shù)據(jù)碎片,導(dǎo)致無法利用?,F(xiàn)有技術(shù)中只 能通過增加物理內(nèi)存大小來解決,導(dǎo)致成本增加,浪費空間,操作繁瑣。

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

      [0004]本發(fā)明鑒于上述情況作出,其目的是提供一種高效利用內(nèi)存空間的數(shù)據(jù)整合方 法。
      [0005]根據(jù)本發(fā)明的數(shù)據(jù)存儲方法,所述方法包括:第一數(shù)據(jù)存儲步驟,對要存儲的數(shù)據(jù) 分配內(nèi)存空間進行存儲;第二數(shù)據(jù)存儲步驟,對已存儲的零散數(shù)據(jù)進行內(nèi)存整合,將具有相 同數(shù)據(jù)類型的數(shù)據(jù)存儲在同一連續(xù)內(nèi)存空間內(nèi);和公共數(shù)據(jù)索引設(shè)置步驟,將存儲在同一 連續(xù)內(nèi)存空間內(nèi)的所有數(shù)據(jù)的數(shù)據(jù)索引提取出并設(shè)置在該連續(xù)內(nèi)存空間的頭部,作為該連 續(xù)內(nèi)存空間內(nèi)所有數(shù)據(jù)的公共數(shù)據(jù)索引。
      [0006]其中,所述第二數(shù)據(jù)存儲步驟還包括:零散數(shù)據(jù)查找步驟,在內(nèi)存中查找非連續(xù)存 儲的數(shù)據(jù);零散數(shù)據(jù)類型判斷步驟,判斷零散數(shù)據(jù)是否屬于同一數(shù)據(jù)類型,如果是,則進入 下述數(shù)據(jù)整合步驟,如果否,則繼續(xù)判斷下一個零散數(shù)據(jù)是否屬于同一數(shù)據(jù)類型;以及數(shù)據(jù) 整合步驟,將屬于同一數(shù)據(jù)類型的數(shù)據(jù)存儲在同一個連續(xù)內(nèi)存空間內(nèi)。
      [0007]其中,所述第一數(shù)據(jù)存儲步驟還包括:在所分配的內(nèi)存空間中預(yù)留一頭空間,該頭 空間用于存儲所述數(shù)據(jù)的數(shù)據(jù)索引。
      [0008]優(yōu)選的,所述數(shù)據(jù)索引包括數(shù)據(jù)的數(shù)據(jù)信息公共部分,該數(shù)據(jù)信息公共部分至少 包含數(shù)據(jù)類型信息。
      [0009]可選的,所述零散數(shù)據(jù)查找步驟還包括:獲取每個零散數(shù)據(jù)的數(shù)據(jù)類型。
      [0010]優(yōu)選的,所述公共數(shù)據(jù)索引至少包含所述連續(xù)內(nèi)存空間內(nèi)所有存儲數(shù)據(jù)的數(shù)據(jù)類型。
      [0011]可選的,所述第二數(shù)據(jù)存儲步驟在CPU使用率不高時執(zhí)行,或者以定時方式執(zhí)行。
      [0012]可選的,所述公共數(shù)據(jù)索引設(shè)置步驟執(zhí)行完之后返回第二數(shù)據(jù)存儲步驟,基于其 他數(shù)據(jù)類型執(zhí)行該第二數(shù)據(jù)存儲步驟。
      [0013]根據(jù)上述本發(fā)明的數(shù)據(jù)存儲方法,通過將數(shù)據(jù)類型相同的數(shù)據(jù)進行整合,從而減 小數(shù)據(jù)索引空間。進一步,通過定時整合數(shù)據(jù)來提高內(nèi)存利用率,并且通過減少數(shù)據(jù)索引空 間后可達到一定的數(shù)據(jù)壓縮目的。
      【專利附圖】

      【附圖說明】
      [0014]圖1是現(xiàn)有技術(shù)中內(nèi)存空間的數(shù)據(jù)整合方法的示意圖;
      [0015]圖2a和圖2b顯示了本發(fā)明第一實施方式的數(shù)據(jù)存儲方法的原理示意圖;
      [0016]圖3顯示了根據(jù)本發(fā)明第一實施方式的數(shù)據(jù)處理設(shè)備的數(shù)據(jù)存儲方法的流程示 意圖。
      【具體實施方式】
      [0017]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明了,下面結(jié)合【具體實施方式】并參 照附圖,對本發(fā)明進一步詳細說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā) 明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本 發(fā)明的概念。
      [0018]圖1是現(xiàn)有技術(shù)中內(nèi)存空間的數(shù)據(jù)整合方法的示意圖。
      [0019]如圖1所示,現(xiàn)有技術(shù)中,計算機對臨時文件的數(shù)據(jù)進行定時整合,并設(shè)置整合 區(qū)。當需要建立文件時,可以首先在用戶獨立空間生成文件,然后在系統(tǒng)不繁忙時對文件類 型進行連續(xù)性內(nèi)存整合,將整合后的內(nèi)存頭標記為同一文件類型。當用戶查找數(shù)據(jù)時,如果 數(shù)據(jù)索引是連續(xù)數(shù)據(jù)區(qū),則直接根據(jù)數(shù)據(jù)需求進行逐一查找。
      [0020]現(xiàn)有技術(shù)的數(shù)據(jù)存儲方式中,每個數(shù)據(jù)塊都需要一個數(shù)據(jù)標記索引頭,如圖1所 示,分別對數(shù)據(jù)塊abc分配索引頭a,對數(shù)據(jù)塊igo分配索引頭i,對數(shù)據(jù)塊zjf分配索引頭 f,對數(shù)據(jù)塊hge分配索引頭h。由于各個數(shù)據(jù)塊是不連續(xù)的,當某個位置的數(shù)據(jù)釋放時,如 果該被釋放的空間小于下一個數(shù)據(jù)所申請的空間大小,導(dǎo)致不能存儲下一個數(shù)據(jù),那么這 個被釋放的空間就會變成數(shù)據(jù)碎片,無法利用。
      [0021]圖2a和圖2b顯示了本發(fā)明第一實施方式的數(shù)據(jù)存儲方法的原理示意圖。
      [0022]本發(fā)明的數(shù)據(jù)存儲方法中,在數(shù)據(jù)處理設(shè)備的cpu (中央處理器)使用率不高時, 對內(nèi)存中的零散數(shù)據(jù)進行整合,從而能高效利用數(shù)據(jù)處理設(shè)備的內(nèi)存空間。
      [0023]在圖2a中,將同屬于第一數(shù)據(jù)類型的數(shù)據(jù)abc,eal, ajf放在第一連續(xù)內(nèi)存空間 內(nèi),分別建立相應(yīng)的文件1、文件2和文件3。然后,將數(shù)據(jù)abc,eal,ajf的數(shù)據(jù)信息中的公 共部分a提取出來,將其作為數(shù)據(jù)索引放在該第一連續(xù)內(nèi)存空間的頭部,即圖2a中的頭I。
      [0024]在圖2b中,將同屬于第二數(shù)據(jù)類型的數(shù)據(jù)hge、igo、和gnz放在第二連續(xù)內(nèi)存空 間內(nèi),分別建立相應(yīng)的文件4、文件5和文件6,將這些數(shù)據(jù)信息中的公共部分g提取出來, 將其作為數(shù)據(jù)索引放在該第二連續(xù)內(nèi)存空間的頭部,即圖2b中的頭2。
      [0025]當用戶需要檢索數(shù)據(jù)abc時,首先發(fā)現(xiàn)其中的數(shù)據(jù)索引a在圖2a所示的第一連續(xù)內(nèi)存空間的頭部,則只需要對第一連續(xù)內(nèi)存空間的頭I后面的數(shù)據(jù)進行查找,檢索到數(shù)據(jù) abc后對其進行讀取。類似的,當用戶需要檢索數(shù)據(jù)igo時,首先會發(fā)現(xiàn)該數(shù)據(jù)中的數(shù)據(jù)索 引g在圖2b所示的第二連續(xù)內(nèi)存空間的頭部,則只需要對第二連續(xù)內(nèi)存空間的頭2后面的 數(shù)據(jù)進行查找,檢索到數(shù)據(jù)igo后對其進行讀取。
      [0026]如上所述,在本發(fā)明的數(shù)據(jù)存儲方法中,當用戶申請數(shù)據(jù)存儲空間時,系統(tǒng)給數(shù)據(jù) 分配一個完整的數(shù)據(jù)空間,此空間預(yù)留一個頭空間以用來存儲數(shù)據(jù)的數(shù)據(jù)索引,數(shù)據(jù)索引 通常包含數(shù)據(jù)的公共部分數(shù)據(jù)信息,例如數(shù)據(jù)類型以及數(shù)據(jù)類型之外的其他特征,本發(fā)明 中僅以數(shù)據(jù)類型為例進行說明,但不限制于此。
      [0027]當cpu使用率不高時,數(shù)據(jù)處理設(shè)備會對內(nèi)存內(nèi)的零散數(shù)據(jù)進行整合,將相同數(shù) 據(jù)類型的數(shù)據(jù)放在同一個連續(xù)內(nèi)存空間內(nèi),并將數(shù)據(jù)信息中的公共部分提取出來放在該連 續(xù)內(nèi)存空間的頭部以作為數(shù)據(jù)的數(shù)據(jù)索引。當用戶需要檢索數(shù)據(jù)時,會首先在某個連續(xù)內(nèi) 存空間找到該數(shù)據(jù)的數(shù)據(jù)索引,然后就可以在該連續(xù)內(nèi)存空間內(nèi)對目標數(shù)據(jù)進行查找,找 到該數(shù)據(jù)后對需要的數(shù)據(jù)進行讀取。
      [0028]下面對本發(fā)明的數(shù)據(jù)存儲方法的具體步驟進行說明。
      [0029]圖3顯示了根據(jù)本發(fā)明第一實施方式的數(shù)據(jù)處理設(shè)備的數(shù)據(jù)存儲方法的流程示 意圖。
      [0030]如圖3所示,本發(fā)明第一實施方式的數(shù)據(jù)處理設(shè)備的數(shù)據(jù)存儲方法包括下述步 驟:
      [0031]步驟SI,給數(shù)據(jù)分配內(nèi)存空間。當用戶需要存儲數(shù)據(jù)并申請數(shù)據(jù)空間時,首先在數(shù) 據(jù)處理設(shè)備的內(nèi)存中給需要存儲的數(shù)據(jù)分配一個內(nèi)存空間。優(yōu)選的,可以在該內(nèi)存空間中 預(yù)留一個頭空間,該頭空間用于存儲上述數(shù)據(jù)的數(shù)據(jù)索引,數(shù)據(jù)索引通常包括數(shù)據(jù)的數(shù)據(jù) 信息公共部分,該數(shù)據(jù)信息公共部分至少包含數(shù)據(jù)類型信息,用于標識數(shù)據(jù)的類型。
      [0032]步驟S2,查找零散數(shù)據(jù)。在內(nèi)存中查找以零散狀態(tài)(非連續(xù)狀態(tài))存儲在內(nèi)存區(qū)域 中的數(shù)據(jù),優(yōu)選的,查找到零散數(shù)據(jù)后會獲取每個數(shù)據(jù)的數(shù)據(jù)類型。如步驟SI中所述,可以 在每個數(shù)據(jù)所在內(nèi)存空間的頭空間內(nèi)獲取數(shù)據(jù)索引,從數(shù)據(jù)索引中獲取數(shù)據(jù)類型信息。
      [0033]步驟S3,對零散數(shù)據(jù)進行類型判斷。對查找到每個零散數(shù)據(jù)進行數(shù)據(jù)類型判斷,判 斷零散數(shù)據(jù)是否屬于同一數(shù)據(jù)類型,如果是,則執(zhí)行數(shù)據(jù)整合操作,否則返回,繼續(xù)對下一 個零散數(shù)據(jù)進行類型判斷。
      [0034]以圖2a中的第一數(shù)據(jù)類型為例,如果該零散數(shù)據(jù)的數(shù)據(jù)類型為第一數(shù)據(jù)類型,則 進入步驟s4,執(zhí)行數(shù)據(jù)整合操作;如果不屬于第一數(shù)據(jù)類型,則返回,繼續(xù)判斷對下一個零 散數(shù)據(jù)是否屬于第一數(shù)據(jù)類型。
      [0035]步驟S4,執(zhí)行數(shù)據(jù)整合。將判斷出屬于同一數(shù)據(jù)類型的數(shù)據(jù)進行整合,即將這些 數(shù)據(jù)存儲在一個連續(xù)內(nèi)存空間內(nèi),該連續(xù)內(nèi)存空間中將屬于同一數(shù)據(jù)類型的數(shù)據(jù)連續(xù)的存 儲,并分配公共的頭部來存儲公共數(shù)據(jù)索引,該公共數(shù)據(jù)索引至少包含該連續(xù)內(nèi)存空間內(nèi) 所有存儲數(shù)據(jù)的數(shù)據(jù)類型。
      [0036]步驟S5,設(shè)置公共數(shù)據(jù)索引。提取在步驟S4中存儲在同一連續(xù)內(nèi)存空間的所有數(shù) 據(jù)的數(shù)據(jù)索引,將該數(shù)據(jù)索引設(shè)置在該連續(xù)內(nèi)存空間的頭部,作為該連續(xù)內(nèi)存空間內(nèi)所有 同類型數(shù)據(jù)的公共數(shù)據(jù)索引。公共數(shù)據(jù)索引的設(shè)置是為了便于用戶查找數(shù)據(jù)。
      [0037]以圖2a中的第一數(shù)據(jù)類型為例,將同屬于第一數(shù)據(jù)類型的零散數(shù)據(jù)abc、eal、ajf連續(xù)的存儲在第一連續(xù)內(nèi)存空間內(nèi),由于這些零散數(shù)據(jù)具有相同的數(shù)據(jù)索引a,可以在內(nèi)存 空間內(nèi)分配公共的頭I來存儲數(shù)據(jù)索引a,構(gòu)成這些數(shù)據(jù)的公共數(shù)據(jù)索引。這樣,通過對 數(shù)據(jù)類型相同的數(shù)據(jù)進行整合大大減少了數(shù)據(jù)索引的數(shù)量,降低了數(shù)據(jù)索引占用的內(nèi)存空 間,提高了內(nèi)存利用率,實現(xiàn)了一定的數(shù)據(jù)壓縮率。
      [0038]步驟S5執(zhí)行完后,即實現(xiàn)了對同屬于某一數(shù)據(jù)類型(例如第一數(shù)據(jù)類型)的所有 零散數(shù)據(jù)的內(nèi)存整合。然后,流程返回到步驟S2,在系統(tǒng)空閑時,定時或不定時的對其他數(shù) 據(jù)類型的零散數(shù)據(jù)進行內(nèi)存整合。例如,以圖2b中的第二數(shù)據(jù)類型為例,在步驟S2中查 找當前所有的零散數(shù)據(jù),在步驟S3中對每個零散數(shù)據(jù)判斷是否屬于第二數(shù)據(jù)類型,如果為 否,則對下一個零散數(shù)據(jù)進行判斷;如果為是,則在步驟S4中執(zhí)行數(shù)據(jù)整合,將所有同屬于 第二數(shù)據(jù)類型的零散數(shù)據(jù)存儲的同一連續(xù)內(nèi)存空間內(nèi),然后再步驟S5中設(shè)置該連續(xù)內(nèi)存 空間的公共數(shù)據(jù)索引,如此反復(fù)執(zhí)行。
      [0039]如上所述,通過通過采用本發(fā)明的數(shù)據(jù)存儲方法,當用戶需要檢索數(shù)據(jù)時,會首先 查找到該數(shù)據(jù)的特征(數(shù)據(jù)類型)在某個內(nèi)存空間的頭部,這表示要檢索的數(shù)據(jù)存儲在該內(nèi) 存空間內(nèi);然后,在該內(nèi)存空間內(nèi)對該頭部后的數(shù)據(jù)進行查找,找到對應(yīng)數(shù)據(jù)后對需要的數(shù) 據(jù)進行讀取即可。
      [0040]根據(jù)上述本發(fā)明的數(shù)據(jù)存儲方法,通過將數(shù)據(jù)類型相同的數(shù)據(jù)進行整合存儲,減 小了數(shù)據(jù)索引空間,高效利用了內(nèi)存空間。具體地,通過定時整合數(shù)據(jù)來提高內(nèi)存利用率, 并且通過減少數(shù)據(jù)索引空間后可達到一定的數(shù)據(jù)壓縮目的。
      [0041]盡管已經(jīng)詳細描述了本發(fā)明的實施方式,但是應(yīng)該理解的是,在不偏離本發(fā)明的 精神和范圍的情況下,可以對本發(fā)明的實施方式做出各種改變、替換和變更。
      [0042]本發(fā)明適合于所有的信息處理設(shè)備,尤其適用于云計算領(lǐng)域的數(shù)據(jù)處理和存儲。
      【權(quán)利要求】
      1.一種數(shù)據(jù)存儲方法,所述方法包括:第一數(shù)據(jù)存儲步驟,對要存儲的數(shù)據(jù)分配內(nèi)存空間進行存儲;第二數(shù)據(jù)存儲步驟,對已存儲的零散數(shù)據(jù)進行內(nèi)存整合,將具有相同數(shù)據(jù)類型的數(shù)據(jù) 存儲在同一連續(xù)內(nèi)存空間內(nèi);和公共數(shù)據(jù)索引設(shè)置步驟,將存儲在同一連續(xù)內(nèi)存空間內(nèi)的所有數(shù)據(jù)的數(shù)據(jù)索引提取出 并設(shè)置在該連續(xù)內(nèi)存空間的頭部,作為該連續(xù)內(nèi)存空間內(nèi)所有數(shù)據(jù)的公共數(shù)據(jù)索引。
      2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,所述第二數(shù)據(jù)存儲步驟還包括:零散數(shù)據(jù)查找步驟,在內(nèi)存中查找非連續(xù)存儲的數(shù)據(jù);零散數(shù)據(jù)類型判斷步驟,判斷零散數(shù)據(jù)是否屬于同一數(shù)據(jù)類型,如果是,則進入下述數(shù) 據(jù)整合步驟,如果否,則繼續(xù)判斷下一個零散數(shù)據(jù)是否屬于同一數(shù)據(jù)類型;以及數(shù)據(jù)整合步驟,將屬于同一數(shù)據(jù)類型的數(shù)據(jù)存儲在同一個連續(xù)內(nèi)存空間內(nèi)。
      3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,所述第一數(shù)據(jù)存儲步驟還包括:在所分配的 內(nèi)存空間中預(yù)留一頭空間,該頭空間用于存儲所述數(shù)據(jù)的數(shù)據(jù)索引。
      4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)存儲方法,所述數(shù)據(jù)索引包括數(shù)據(jù)的數(shù)據(jù)信息公共部 分,該數(shù)據(jù)信息公共部分至少包含數(shù)據(jù)類型信息。
      5.根據(jù)權(quán)利要求2所述的數(shù)據(jù)存儲方法,所述零散數(shù)據(jù)查找步驟還包括:獲取每個零 散數(shù)據(jù)的數(shù)據(jù)類型。
      6.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,所述公共數(shù)據(jù)索引至少包含所述連續(xù)內(nèi)存空 間內(nèi)所有存儲數(shù)據(jù)的數(shù)據(jù)類型。
      7.根據(jù)權(quán)利要求1所述的數(shù)據(jù)存儲方法,所述第二數(shù)據(jù)存儲步驟在cpu使用率不高時 執(zhí)行,或者以定時方式執(zhí)行。
      8.根據(jù)權(quán)利要求1-7中任一項所述的數(shù)據(jù)存儲方法,所述公共數(shù)據(jù)索引設(shè)置步驟執(zhí)行 完之后返回第二數(shù)據(jù)存儲步驟,基于其他數(shù)據(jù)類型執(zhí)行該第二數(shù)據(jù)存儲步驟。
      【文檔編號】G06F3/06GK103577553SQ201310490558
      【公開日】2014年2月12日 申請日期:2013年10月18日 優(yōu)先權(quán)日:2013年10月18日
      【發(fā)明者】康暖 申請人:漢柏科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1