国产精品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>

      一種容量獲取方法及裝置與流程

      文檔序號:11406709閱讀:180來源:國知局
      一種容量獲取方法及裝置與流程
      本申請涉及存儲
      技術(shù)領(lǐng)域
      ,尤其涉及一種容量獲取方法及裝置。
      背景技術(shù)
      :視頻監(jiān)控系統(tǒng)與cds(clouddirectstorage,云存儲)系統(tǒng)相結(jié)合的情況下,視頻監(jiān)控系統(tǒng)中的前端設(shè)備(例如,卡口)采集到監(jiān)控數(shù)據(jù)后,首先向cds系統(tǒng)中的主cdv(clouddatastoragevirtualcloud,云數(shù)據(jù)存儲)節(jié)點服務(wù)器(以下簡稱cdv)請求存儲節(jié)點信息,主cdv根據(jù)所記錄的其他各個cdv的資源使用情況,按照負載均衡策略選擇其中一個cdv,將所選擇的cdv的信息(例如設(shè)備編碼)返回給前端設(shè)備,之后,前端設(shè)備向該所選擇的cdv請求分配邏輯資源,并將監(jiān)控數(shù)據(jù)寫入所分配的邏輯資源中。其中,主cdv獲取其他各個cdv的資源使用情況的過程包括:其他各個cdv中的邏輯資源被分配出去,并寫入監(jiān)控數(shù)據(jù)后,則將自身的當(dāng)前已使用容量加上被分配出去的邏輯資源的空間大?。黄渌鱾€cdv中的邏輯資源被釋放后,則將自身的當(dāng)前已使用容量減去被釋放的邏輯資源的空間大小。其他各個cdv每隔預(yù)設(shè)時長,例如15秒鐘,將自身的當(dāng)前已使用容量上報給主cdv,從而主cdv可以獲取其他各個cdv的資源使用情況。由上述描述可知,其他各個cdv中邏輯資源的占用情況發(fā)生變化時,采用在內(nèi)存中進行加減操作的方式更新當(dāng)前已使用容量,由于很有可能出現(xiàn)不可預(yù)知的加減失敗,從而很有可能導(dǎo)致主cdv所獲取的其他各個cdv的資源使用情況與其實際資源使用情況并不相符,那么,后續(xù)很有可能導(dǎo)致cdv中的邏輯資源得不到充分利用,或者出現(xiàn)寫滿溢出的情況。技術(shù)實現(xiàn)要素:有鑒于此,本申請?zhí)峁┮环N容量獲取方法及裝置,以實現(xiàn)準(zhǔn)確高效地獲取cdv中邏輯資源的已使用容量。具體地,本申請是通過如下技術(shù)方案實現(xiàn)的:根據(jù)本申請實施例的第一方面,提供一種容量獲取方法,應(yīng)用于云存儲cds系統(tǒng)中的cdv,所述cdv中包括多個邏輯資源,所述邏輯資源中包括索引區(qū)和slice數(shù)據(jù)區(qū),所述索引區(qū)中包括slice位圖區(qū),所述slice數(shù)據(jù)區(qū)包括多個slice數(shù)據(jù)塊,所述多個slice數(shù)據(jù)塊具有相同的容量,所述方法包括:獲取所述slice位圖區(qū)中值為第一預(yù)設(shè)值的位,所述第一預(yù)設(shè)值表示位對應(yīng)的slice數(shù)據(jù)塊已被占用;確定所述值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型;確定每一數(shù)據(jù)類型各自對應(yīng)的值為第一預(yù)設(shè)值的位的個數(shù);基于所述個數(shù)與所述slice數(shù)據(jù)塊的容量確定所述每一數(shù)據(jù)類型的數(shù)據(jù)各自在所述slice數(shù)據(jù)區(qū)中的已使用容量??蛇x的,所述索引區(qū)中還包括資源描述位圖區(qū);所述確定所述值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型包括:在所述資源描述位圖區(qū)中,獲取與所述slice位圖區(qū)中值為第一預(yù)設(shè)值的位對應(yīng)的位;根據(jù)所述對應(yīng)的位上的值查找預(yù)設(shè)的類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到與所述值對應(yīng)的數(shù)據(jù)類型,將與所述值對應(yīng)的數(shù)據(jù)類型確定為所述值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型。可選的,所述方法還包括:當(dāng)接收到前端設(shè)備發(fā)送的邏輯資源請求消息時,確定待存儲資源的數(shù)據(jù)類型;根據(jù)所述待存儲資源的數(shù)據(jù)類型查找所述類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到所述待存儲資源的數(shù)據(jù)類型所對應(yīng)的第一類型值;獲取所述資源描述區(qū)中值為所述第一類型值的位;將所述slice位圖區(qū)中值為第二預(yù)設(shè)值,且與所述值為第一類型值的位所對應(yīng)的位確定為參考位,所述第二預(yù)設(shè)值表示位對應(yīng)的slice數(shù)據(jù)塊未被占用;在所述參考位對應(yīng)的slice數(shù)據(jù)塊中確定待分配slice數(shù)據(jù)塊;向所述前端設(shè)備發(fā)送所述待分配slice數(shù)據(jù)塊的塊信息??蛇x的,所述邏輯資源的創(chuàng)建過程包括:接收到邏輯資源創(chuàng)建指令,確定待創(chuàng)建的邏輯資源所對應(yīng)的數(shù)據(jù)類型;根據(jù)所述待創(chuàng)建的邏輯資源所對應(yīng)的數(shù)據(jù)類型查找預(yù)設(shè)的數(shù)據(jù)類型與raid陣列類型的對應(yīng)關(guān)系,得到所述待創(chuàng)建的邏輯資源所對應(yīng)的raid陣列類型;在屬于所述待創(chuàng)建的邏輯資源所對應(yīng)的raid陣列類型的raid陣列上創(chuàng)建邏輯資源??蛇x的,所述資源描述位圖區(qū)的創(chuàng)建過程包括:為所述slice數(shù)據(jù)塊配置對應(yīng)的數(shù)據(jù)類型后,根據(jù)所述對應(yīng)的數(shù)據(jù)類型查找所述類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到所述slice數(shù)據(jù)塊對應(yīng)的類型值;在資源描述位圖區(qū)中,將與所述slice數(shù)據(jù)塊對應(yīng)的位上的值置為所述slice數(shù)據(jù)塊對應(yīng)的類型值。根據(jù)本申請實施例的第二方面,提供一種容量獲取裝置,應(yīng)用于云存儲cds系統(tǒng)中的cdv,所述cdv中包括多個邏輯資源,所述邏輯資源中包括索引區(qū)和slice數(shù)據(jù)區(qū),所述索引區(qū)中包括slice位圖區(qū),所述slice數(shù)據(jù)區(qū)包括多個slice數(shù)據(jù)塊,所述多個slice數(shù)據(jù)塊具有相同的容量,所述裝置包括:第一獲取模塊,用于獲取所述slice位圖區(qū)中值為第一預(yù)設(shè)值的位,所述第一預(yù)設(shè)值表示位對應(yīng)的slice數(shù)據(jù)塊已被占用;類型確定模塊,用于確定所述值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型;個數(shù)確定模塊,用于確定每一數(shù)據(jù)類型各自對應(yīng)的值為第一預(yù)設(shè)值的位的個數(shù);容量確定模塊,用于基于所述個數(shù)與所述slice數(shù)據(jù)塊的容量確定所述每一數(shù)據(jù)類型的數(shù)據(jù)各自在所述slice數(shù)據(jù)區(qū)中的已使用容量。可選的,所述索引區(qū)中還包括資源描述位圖區(qū);所述類型確定模塊包括:獲取子模塊,用于在所述資源描述位圖區(qū)中,獲取與所述slice位圖區(qū)中值為第一預(yù)設(shè)值的位對應(yīng)的位;第一查找子模塊,用于根據(jù)所述對應(yīng)的位上的值查找預(yù)設(shè)的類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到與所述值對應(yīng)的數(shù)據(jù)類型,將與所述值對應(yīng)的數(shù)據(jù)類型確定為所述值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型??蛇x的,所述裝置還包括:第一確定模塊,用于當(dāng)接收到前端設(shè)備發(fā)送的邏輯資源請求消息時,確定待存儲資源的數(shù)據(jù)類型;第一查找模塊,用于根據(jù)所述待存儲資源的數(shù)據(jù)類型查找所述類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到所述待存儲資源的數(shù)據(jù)類型所對應(yīng)的第一類型值;第二獲取模塊,用于獲取所述資源描述區(qū)中值為所述第一類型值的位;第二確定模塊,用于將所述slice位圖區(qū)中值為第二預(yù)設(shè)值,且與所述值為第一類型值的位所對應(yīng)的位確定為參考位,所述第二預(yù)設(shè)值表示位對應(yīng)的slice數(shù)據(jù)塊未被占用;第三確定模塊,用于在所述參考位對應(yīng)的slice數(shù)據(jù)塊中確定待分配slice數(shù)據(jù)塊;發(fā)送模塊,用于向所述前端設(shè)備發(fā)送所述待分配slice數(shù)據(jù)塊的塊信息。可選的,所述裝置還包括:接收模塊,用于接收到邏輯資源創(chuàng)建指令,確定待創(chuàng)建的邏輯資源所對應(yīng)的數(shù)據(jù)類型;第二查找模塊,用于根據(jù)所述待創(chuàng)建的邏輯資源所對應(yīng)的數(shù)據(jù)類型查找預(yù)設(shè)的數(shù)據(jù)類型與raid陣列類型的對應(yīng)關(guān)系,得到所述待創(chuàng)建的邏輯資源所對應(yīng)的raid陣列類型;創(chuàng)建模塊,用于在屬于所述待創(chuàng)建的邏輯資源所對應(yīng)的raid陣列類型的raid陣列上創(chuàng)建邏輯資源??蛇x的,所述裝置還包括:第三查找模塊,用于為所述slice數(shù)據(jù)塊配置對應(yīng)的數(shù)據(jù)類型后,根據(jù)所述對應(yīng)的數(shù)據(jù)類型查找所述類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到所述slice數(shù)據(jù)塊對應(yīng)的類型值;設(shè)置模塊,用于在資源描述位圖區(qū)中,將與所述slice數(shù)據(jù)塊對應(yīng)的位上的值置為所述slice數(shù)據(jù)塊對應(yīng)的類型值。由上述實施例可見,在本申請中,通過在邏輯資源劃分為索引區(qū)與slice數(shù)據(jù)區(qū),并將slice數(shù)據(jù)區(qū)劃分為多個容量相等的slice數(shù)據(jù)塊,在索引區(qū)中通過slice位圖區(qū)描述每個slice數(shù)據(jù)塊的被占用情況,從而可以通過掃描索引區(qū)即可以準(zhǔn)確高效地獲取邏輯資源的已使用容量,并且由于cdv上報給主cdv的已使用容量與實際的已使用容量相符,從而可以避免cdv中的邏輯資源得不到充分利用,或者出現(xiàn)寫滿溢出的情況;同時,通過在索引區(qū)中對每個slice數(shù)據(jù)塊所對應(yīng)的數(shù)據(jù)類型區(qū)別標(biāo)識,可以準(zhǔn)確獲取不同類型的數(shù)據(jù)各自在邏輯資源中的已使用容量。附圖說明圖1a為本申請實施例實現(xiàn)容量獲取方法的一個應(yīng)用場景示意圖;圖1b為cdv與邏輯資源之間關(guān)系,以及邏輯資源的一種示例;圖1c為邏輯資源中索引區(qū)的一種示例;圖1d為資源描述位圖區(qū)的一種示例;圖1e為slice位圖區(qū)的一種示例;圖2為本申請容量獲取方法的一個實施例流程圖;圖3為本申請容量獲取方法的另一個實施例流程圖;圖4為本申請容量獲取裝置所在cdv的一種硬件結(jié)構(gòu)圖;圖5為本申請容量獲取裝置的一個實施例框圖。具體實施方式這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。在本申請使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。應(yīng)當(dāng)理解,盡管在本申請可能采用術(shù)語第一、第二、第三等來描述各種信息,但這些信息不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”。請參見圖1a,為本申請實施例實現(xiàn)容量獲取方法的一個應(yīng)用場景示意圖。圖1a中所示例的應(yīng)用場景中包括視頻監(jiān)控系統(tǒng)11與cds系統(tǒng)12,其中,視頻監(jiān)控系統(tǒng)11中包括前端設(shè)備111、管理服務(wù)器112,以及數(shù)據(jù)庫服務(wù)器113;cds系統(tǒng)中包括cds客戶端121、cdm(clouddatamanagement,云數(shù)據(jù)管理服務(wù)器)122、cdv123至cdv12n。在cds系統(tǒng)12中,cdm122可以在cdv123至cdv12n中選取主cdv,例如,將cdv123選取為主cdv,具體選取過程本申請不再詳述。用戶(圖1a中并未示出)可以通過cds客戶端121所提供的ui界面(圖1a中并未示出)獲取cdm122中的配置信息,例如主cdv123的設(shè)備編碼,cdv124至cdv12n的設(shè)備編碼、容量信息等。用戶可以根據(jù)該配置信息向cdm122發(fā)送邏輯資源創(chuàng)建指令,例如,所發(fā)送的邏輯資源創(chuàng)建指令表示“創(chuàng)建一個容量大小為1024m的資源池”,cdm122則可以根據(jù)該邏輯資源創(chuàng)建指令在cdv124至cdv12n上創(chuàng)建邏輯資源。在視頻監(jiān)控數(shù)據(jù)存儲過程中,以前端設(shè)備111采集到一張圖片為例,前端設(shè)備111首先向主cdv123請求存儲節(jié)點信息,主cdv123根據(jù)本地所記錄的cdv124至cdv12n的資源使用情況,按照負載均衡策略選取其中一個cdv,例如選取cdv124,則將cdv124的信息,例如cdv124的設(shè)備編碼返回給前端設(shè)備111。后續(xù),前端設(shè)備111向cdv124請求分配邏輯資源,cdv124根據(jù)自身的資源使用情況,以及待存儲圖片的大小分配邏輯資源,將所分配的邏輯資源的信息,例如,邏輯資源id、sliceid、偏移量等返回給前端設(shè)備111。后續(xù),前端設(shè)備111可以通過iscsi協(xié)議,將采集到的圖片寫入該所分配的邏輯資源。后續(xù),cdv124可以記錄該圖片所存儲的邏輯資源的信息,以及該圖片的大小;同時,生成固定格式的url地址返回給前端設(shè)備111。前端設(shè)備111接收到該url地址后,將該url地址發(fā)送給管理服務(wù)器112,由管理服務(wù)器112將該url地址存入數(shù)據(jù)庫服務(wù)器113中。在上述視頻監(jiān)控數(shù)據(jù)存儲過程中,主cdv123獲取cdv124至cdv12n的資源使用情況的過程包括:cdv124至cdv12n定期將自身的資源使用情況上報至主cdv123,那么主cdv123可以定期更新本地所記錄的cdv124至cdv12n的資源使用情況。具體的,以cdv124為例,初始情況下,cdv124的資源使用空間為0,即cdv124的當(dāng)前已使用容量為0,當(dāng)cdv124中的部分邏輯資源被分配出去,且寫入監(jiān)控數(shù)據(jù)時,cdv124可以將自身的當(dāng)前已使用容量加上該部分邏輯資源的空間大??;當(dāng)cdv124中的部分邏輯資源被釋放時,cdv124可以將自身的當(dāng)前已使用容量減去被釋放的邏輯資源的空間大小,通過該種方式,cdv124可以實時記錄自身的當(dāng)前已使用容量,并且,cdv124定期將自身的當(dāng)前已使用容量上傳至主cdv123。由上述過程可知,cdv124至cdv12n各自的資源使用情況發(fā)生變化時,采用在內(nèi)存中進行加減操作的方式,更新自身的當(dāng)前已使用容量,而在內(nèi)存中進行加減操作時,很有可能出現(xiàn)不可預(yù)知的加減失敗,那么,將很有可能導(dǎo)致主cdv123所記錄的cdv124至cdv12n的資源使用情況與其實際的資源使用情況并不相符,那么,在視頻監(jiān)控數(shù)據(jù)存儲過程中,將導(dǎo)致cdv124至cdv12n中的邏輯資源得不到充分利用,或者出現(xiàn)寫滿溢出的情況。為了解決上述問題,本申請?zhí)峁┮环N容量獲取方法及裝置,以實現(xiàn)準(zhǔn)確高效的獲取cdv中邏輯資源的已使用容量。在本申請中,以cdv124為例,cdv124中可以包括多個邏輯資源,每個邏輯資源中可以包括索引區(qū)和slice數(shù)據(jù)區(qū),slice數(shù)據(jù)區(qū)中又可以包括多個具有相同容量大小的slice數(shù)據(jù)塊,例如,每個slice數(shù)據(jù)塊的容量大小為64m。如圖1b所示,為cdv與邏輯資源之間關(guān)系,以及邏輯資源的一種示例。在本申請中,邏輯資源中的索引區(qū)又可以包括索引描述區(qū)、slice位圖區(qū),以及目錄索引區(qū);索引描述區(qū)中又包括目錄索引描述區(qū)、slice位圖描述區(qū),以及資源描述位圖區(qū),如圖1c所示,為邏輯資源中索引區(qū)的一種示例。在索引描述區(qū)中,目錄索引描述區(qū)用于描述目錄索引區(qū)在邏輯資源中的起始地址以及目錄索引區(qū)的大小。slice位圖描述區(qū)用于描述slice位圖區(qū)在邏輯資源中的起始地址以及slice位圖區(qū)的大小。資源描述位圖區(qū)用來描述為slice數(shù)據(jù)區(qū)中的每個slice數(shù)據(jù)塊所配置的數(shù)據(jù)類型,通俗的說,即用來描述哪些slice數(shù)據(jù)塊被配置為用于存儲視頻數(shù)據(jù),哪些slice數(shù)據(jù)塊被配置為用于存儲過車圖片數(shù)據(jù),哪些slice數(shù)據(jù)塊被配置為用于存儲業(yè)務(wù)告警圖片數(shù)據(jù),哪些slice數(shù)據(jù)塊被配置為用于存儲大數(shù)據(jù)分析數(shù)據(jù),等等。為了實現(xiàn)資源描述位圖區(qū)簡潔地描述slice數(shù)據(jù)區(qū)中的每個slice數(shù)據(jù)塊所配置的數(shù)據(jù)類型,在本申請中,可以預(yù)先設(shè)置類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,在為slice數(shù)據(jù)塊配置對應(yīng)的數(shù)據(jù)類型后,可以根據(jù)該對應(yīng)的數(shù)據(jù)類型查找該對應(yīng)關(guān)系,以得到slice數(shù)據(jù)塊對應(yīng)的類型值,之后,在資源描述位圖區(qū)中,將與slice數(shù)據(jù)塊對應(yīng)的位上的值置為該slice數(shù)據(jù)塊對應(yīng)的類型值。例如,如下表1,為類型值與數(shù)據(jù)類型對應(yīng)關(guān)系的一種示例:表1類型值數(shù)據(jù)類型1視頻數(shù)據(jù)2大數(shù)據(jù)分析數(shù)據(jù)3過車圖片數(shù)據(jù)4業(yè)務(wù)告警圖片數(shù)據(jù)……根據(jù)上述表1以及上述描述,若slice數(shù)據(jù)塊被配置為用于存儲視頻數(shù)據(jù),那么資源描述位圖區(qū)中,與該slice數(shù)據(jù)塊對應(yīng)的位上的值為“1”;若slice數(shù)據(jù)塊被配置為用于存儲大數(shù)據(jù)分析數(shù)據(jù),那么資源描述位圖區(qū)中,與該slice數(shù)據(jù)塊對應(yīng)的位上的值為“2”;若slice數(shù)據(jù)塊被配置為用于存儲過車圖片數(shù)據(jù),那么資源描述位圖區(qū)中,與該slice數(shù)據(jù)塊對應(yīng)的位上的值為“3”;若slice數(shù)據(jù)塊被配置為用于存儲業(yè)務(wù)告警圖片數(shù)據(jù),那么資源描述位圖區(qū)中,與該slice數(shù)據(jù)塊對應(yīng)的位上的值為“4”;等等。如圖1d所示,為資源描述位圖區(qū)的一種示例。slice位圖區(qū)用于描述slice數(shù)據(jù)塊的占用情況,具體的,slice位圖區(qū)中的每一位可以對應(yīng)一個slice數(shù)據(jù)塊,若slice數(shù)據(jù)塊已被占用,在slice位圖區(qū)中,與該slice數(shù)據(jù)塊對應(yīng)的位上的值可以為第一預(yù)設(shè)值,例如為“1”;若slice數(shù)據(jù)塊未被占用,在slice位圖區(qū)中,與該slice數(shù)據(jù)塊對應(yīng)的位上的值可以為第二預(yù)設(shè)值,例如為“0”。如圖1e所示,為slice位圖區(qū)的一種示例。如圖1d與圖1e所示,資源描述位圖區(qū)中的每一位對應(yīng)一個slice數(shù)據(jù)塊,slice位圖區(qū)中的每一位也對應(yīng)一個slice數(shù)據(jù)塊,那么,對應(yīng)于同一個slice數(shù)據(jù)塊的資源描述位圖區(qū)中的位,與slice位圖區(qū)中的位之間也可以具有對應(yīng)關(guān)系。在本申請中,當(dāng)slice數(shù)據(jù)塊的占用情況發(fā)生變化時,可以在slice位圖區(qū)中修改與該slice數(shù)據(jù)塊對應(yīng)的位上的值,例如,初始情況下,slice數(shù)據(jù)塊1未被占用,在slice位圖區(qū)中,與slice數(shù)據(jù)塊1對應(yīng)的位上的值為0,后續(xù),若slice數(shù)據(jù)塊1被占用,在slice位圖區(qū)中,將與slice數(shù)據(jù)塊1對應(yīng)的位上的值修改為1。目錄索引區(qū)用于描述用戶目錄信息以及當(dāng)前用戶目錄所占用的slice數(shù)據(jù)塊集?;谏鲜雒枋?,對本申請?zhí)峁┑娜萘揩@取方法進行說明。請參見圖2,為本申請容量獲取方法的一個實施例流程圖,該圖2所示例的方法在上述圖1a所示應(yīng)用場景的基礎(chǔ)上,可應(yīng)用于圖1a中所示例的cdv124至cdv12n中的任一臺cdv上,該方法可以包括以下步驟:步驟201:獲取slice位圖區(qū)中值為第一預(yù)設(shè)值的位,第一預(yù)設(shè)值表示位對應(yīng)的slice數(shù)據(jù)塊已被占用。在本申請中,可以基于圖1c中所示例的索引區(qū)中的slice位圖描述區(qū)確定slice位圖區(qū)的起始地址與slice位圖區(qū)的大小,從而基于slice位圖區(qū)的起始地址與slice位圖區(qū)的大小在索引區(qū)中獲取slice位圖區(qū)。后續(xù),掃描slice位圖區(qū)中的每一位,獲取值為第一預(yù)設(shè)值(為1)的位,例如,在圖1e所示例的slice位圖區(qū)中,共包括23個值為第一預(yù)設(shè)值的位,即slice數(shù)據(jù)區(qū)中存在23個已被占用的slice數(shù)據(jù)塊。步驟202:確定值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型。在本申請中,首先可以在圖1d所示例的資源描述位圖區(qū)中,獲取與步驟201中所獲取到的值為第一預(yù)設(shè)值的位對應(yīng)的位。后續(xù),可以根據(jù)該對應(yīng)的位上的值查找上述表1所示例的類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到與該對應(yīng)的位上的值所對應(yīng)的數(shù)據(jù)類型,將該數(shù)據(jù)類型確定為值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型。例如,以圖1e所示例的slice位圖區(qū)中左上角的位為例,該位對應(yīng)圖1d中左上角的位,圖1d中左上角的位上的值為“1”,根據(jù)“1”查找上述表1,可以得到“1”對應(yīng)的數(shù)據(jù)類型為“視頻數(shù)據(jù)”,即與圖1e所示例的slice位圖區(qū)中左上角的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型為“視頻數(shù)據(jù)”。步驟203:確定每一數(shù)據(jù)類型各自對應(yīng)的值為第一預(yù)設(shè)值的位的個數(shù)。在本申請中,結(jié)合圖1d所示例的資源描述位圖區(qū)與圖1e所示例的slice位圖區(qū),可以得到“視頻數(shù)據(jù)”所對應(yīng)的值為第一預(yù)設(shè)值的位的個數(shù)為5,“大數(shù)據(jù)分析數(shù)據(jù)”所對應(yīng)的值為第一預(yù)設(shè)值的位的個數(shù)為4,“過車圖片數(shù)據(jù)”所對應(yīng)的值為第一預(yù)設(shè)值的位的個數(shù)為6,“業(yè)務(wù)告警圖片數(shù)據(jù)”所對應(yīng)的值為第一預(yù)設(shè)值的位的個數(shù)為8。步驟204:基于個數(shù)與slice數(shù)據(jù)塊的容量,確定每一數(shù)據(jù)類型的數(shù)據(jù)各自在所述slice數(shù)據(jù)區(qū)中的已使用容量。在本申請中,假設(shè)slice數(shù)據(jù)塊的容量為64m,那么,可以得出視頻數(shù)據(jù)在slice數(shù)據(jù)區(qū)中的已使用容量為5*64m=320m,大數(shù)據(jù)分析數(shù)據(jù)在slice數(shù)據(jù)區(qū)中的已使用容量為4*64m=256m,過車圖片數(shù)據(jù)在slice數(shù)據(jù)區(qū)中的已使用容量為6*64m=384m,業(yè)務(wù)告警圖片數(shù)據(jù)在slice數(shù)據(jù)區(qū)中的已使用容量為8*64m=512m。由上述實施例可見,在本申請中,通過在邏輯資源劃分為索引區(qū)與slice數(shù)據(jù)區(qū),并將slice數(shù)據(jù)區(qū)劃分為多個容量相等的slice數(shù)據(jù)塊,在索引區(qū)中通過slice位圖區(qū)描述每個slice數(shù)據(jù)塊的被占用情況,從而可以通過掃描索引區(qū)即可以準(zhǔn)確高效地獲取邏輯資源的已使用容量,并且由于cdv上報給主cdv的已使用容量與實際的已使用容量相符,從而可以避免cdv中的邏輯資源得不到充分利用,或者出現(xiàn)寫滿溢出的情況;同時,通過在索引區(qū)中對每個slice數(shù)據(jù)塊所對應(yīng)的數(shù)據(jù)類型區(qū)別標(biāo)識,可以準(zhǔn)確獲取不同類型的數(shù)據(jù)各自在邏輯資源中的已使用容量。此外,在視頻監(jiān)控環(huán)境下,圖片、視頻、大數(shù)據(jù)分析等類型的數(shù)據(jù)共存于同一個cds系統(tǒng),且不同類型的數(shù)據(jù)對安全性的要求不同,例如,圖片類型的數(shù)據(jù)相對于視頻類型的數(shù)據(jù)較為重要,那么,則可以為圖片類型的數(shù)據(jù)設(shè)置較高的安全性。為了實現(xiàn)這一目的,在本申請中,用戶所發(fā)送的邏輯資源創(chuàng)建指令不僅可以表示創(chuàng)建的資源池的大小,還可以表示出資源池所存儲數(shù)據(jù)的數(shù)據(jù)類型,例如,用戶所發(fā)送的邏輯資源創(chuàng)建指令表示“創(chuàng)建一個容量大小為1024m的圖片資源池”,那么當(dāng)cdv接收到邏輯資源創(chuàng)建指令后,可以確定待創(chuàng)建的邏輯資源所對應(yīng)的數(shù)據(jù)類型,例如為圖片,之后,可以根據(jù)該待創(chuàng)建的邏輯資源所對應(yīng)的數(shù)據(jù)類型查找預(yù)設(shè)的數(shù)據(jù)類型與raid陣列類型的對應(yīng)關(guān)系,得到該待創(chuàng)建的邏輯資源所對應(yīng)的raid陣列類型,例如為raid6,后續(xù),cdv則可以在屬于raid6的raid陣列上創(chuàng)建邏輯資源。需要說明的是,在本申請中,設(shè)置數(shù)據(jù)類型與raid陣列類型的對應(yīng)關(guān)系時,遵從數(shù)據(jù)類型所要求的安全性越高,其對應(yīng)的raid陣列類型的安全性越高的原則。請參見圖3,為本申請容量獲取方法的另一個實施例流程圖,該圖3所示例的方法,在上述圖1a所示應(yīng)用場景,以及圖2所示方法的基礎(chǔ)上,著重描述了如何分配邏輯資源,包括以下步驟:步驟301:當(dāng)接收到前端設(shè)備發(fā)送的邏輯資源請求消息時,確定待存儲資源的數(shù)據(jù)類型。步驟302:根據(jù)所待存儲資源的數(shù)據(jù)類型查找類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到待存儲資源的數(shù)據(jù)類型所對應(yīng)的第一類型值。步驟303:獲取資源描述區(qū)中值為第一類型值的位。步驟304:將slice位圖區(qū)中值為第二預(yù)設(shè)值,且與值為第一類型值的位所對應(yīng)的位確定為參考位,第二預(yù)設(shè)值表示位對應(yīng)的slice數(shù)據(jù)塊未被占用。步驟305:在參考位對應(yīng)的slice數(shù)據(jù)塊中確定待分配slice數(shù)據(jù)塊。步驟306:向前端設(shè)備發(fā)送待分配slice數(shù)據(jù)塊的塊信息。舉例來說,假設(shè)待存儲資源的數(shù)據(jù)類型為“視頻數(shù)據(jù)”,則可以根據(jù)上述表1得到“視頻數(shù)據(jù)”對應(yīng)的類型值,為了描述方便,將該對應(yīng)的類型值稱為第一類型值,例如為“1”;后續(xù),可以在圖1d所示例的資源描述區(qū)中獲取值為“1”的位,例如,第一行和第二行中的位;之后,在圖1e所示例的slice位圖區(qū)中,獲取與值為第一類型值的位所對應(yīng)的且值為第二預(yù)設(shè)值(為0)的位,為了描述方便,將這些位稱為參考位,例如,圖1e中第一行的后三位以及第二行中的位為參考位。后續(xù),cdv124可以根據(jù)待存儲資源的大小在參考位所對應(yīng)的slice數(shù)據(jù)塊中確定待分配slice數(shù)據(jù)塊,cdv124將待分配slice數(shù)據(jù)塊的塊信息,例如sliceid,偏移量等等發(fā)送給前端設(shè)備111。由上述實施例可見,通過根據(jù)預(yù)先配置的slice數(shù)據(jù)塊對應(yīng)的數(shù)據(jù)類型為待存儲資源分配slice數(shù)據(jù)塊,可以實現(xiàn)較好地管理邏輯資源中存儲的數(shù)據(jù),使得同一數(shù)據(jù)類型的數(shù)據(jù)可以在邏輯資源中連續(xù)存儲,可以提高后續(xù)數(shù)據(jù)讀取的效率。與前述容量獲取方法的實施例相對應(yīng),本申請還提供了容量獲取裝置的實施例。本申請容量獲取裝置的實施例可以應(yīng)用在云存儲cds系統(tǒng)中的cdv上。裝置實施例可以通過軟件實現(xiàn),也可以通過硬件或者軟硬件結(jié)合的方式實現(xiàn)。以軟件實現(xiàn)為例,作為一個邏輯意義上的裝置,是通過其所在cdv的處理器將非易失性存儲器中對應(yīng)的計算機程序指令讀取到內(nèi)存中運行形成的。從硬件層面而言,如圖4所示,為本申請容量獲取裝置所在cdv的一種硬件結(jié)構(gòu)圖,除了圖*所示的處理器41、內(nèi)存42、網(wǎng)絡(luò)接口43、以及非易失性存儲器44之外,實施例中裝置所在的cdv通常根據(jù)該cdv的實際功能,還可以包括其他硬件,對此不再贅述。請參考圖5,為本申請容量獲取裝置的一個實施例框圖,該裝置可以應(yīng)用于云存儲cds系統(tǒng)中的cdv,所述cdv中可以包括多個邏輯資源,所述邏輯資源中可以包括索引區(qū)和slice數(shù)據(jù)區(qū),所述索引區(qū)中可以包括slice位圖區(qū),所述slice數(shù)據(jù)區(qū)可以包括多個slice數(shù)據(jù)塊,所述多個slice數(shù)據(jù)塊可以具有相同的容量,所述裝置包括:第一獲取模塊51、類型確定模塊52、個數(shù)確定模塊53、容量確定模塊54。其中,第一獲取模塊51,可以用于獲取所述slice位圖區(qū)中值為第一預(yù)設(shè)值的位,所述第一預(yù)設(shè)值表示位對應(yīng)的slice數(shù)據(jù)塊已被占用;類型確定模塊52,可以用于確定所述值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型;個數(shù)確定模塊53,可以用于確定每一數(shù)據(jù)類型各自對應(yīng)的值為第一預(yù)設(shè)值的位的個數(shù);容量確定模塊54,可以用于基于所述個數(shù)與所述slice數(shù)據(jù)塊的容量確定所述每一數(shù)據(jù)類型的數(shù)據(jù)各自在所述slice數(shù)據(jù)區(qū)中的已使用容量。在一實施例中,所述索引區(qū)中還包括資源描述位圖區(qū);所述類型確定模塊52可以包括(圖5中并未示出):獲取子模塊,用于在所述資源描述位圖區(qū)中,獲取與所述slice位圖區(qū)中值為第一預(yù)設(shè)值的位對應(yīng)的位;第一查找子模塊,用于根據(jù)所述對應(yīng)的位上的值查找預(yù)設(shè)的類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到與所述值對應(yīng)的數(shù)據(jù)類型,將與所述值對應(yīng)的數(shù)據(jù)類型確定為所述值為第一預(yù)設(shè)值的位對應(yīng)的slice數(shù)據(jù)塊中數(shù)據(jù)的數(shù)據(jù)類型。在一實施例中,所述裝置還可以包括(圖5中并未示出):第一確定模塊,用于當(dāng)接收到前端設(shè)備發(fā)送的邏輯資源請求消息時,確定待存儲資源的數(shù)據(jù)類型;第一查找模塊,用于根據(jù)所述待存儲資源的數(shù)據(jù)類型查找所述類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到所述待存儲資源的數(shù)據(jù)類型所對應(yīng)的第一類型值;第二獲取模塊,用于獲取所述資源描述區(qū)中值為所述第一類型值的位;第二確定模塊,用于將所述slice位圖區(qū)中值為第二預(yù)設(shè)值,且與所述值為第一類型值的位所對應(yīng)的位確定為參考位,所述第二預(yù)設(shè)值表示位對應(yīng)的slice數(shù)據(jù)塊未被占用;第三確定模塊,用于在所述參考位對應(yīng)的slice數(shù)據(jù)塊中確定待分配slice數(shù)據(jù)塊;發(fā)送模塊,用于向所述前端設(shè)備發(fā)送所述待分配slice數(shù)據(jù)塊的塊信息。在一實施例中,所述裝置還可以包括(圖5中并未示出):接收模塊,用于接收到邏輯資源創(chuàng)建指令,確定待創(chuàng)建的邏輯資源所對應(yīng)的數(shù)據(jù)類型;第二查找模塊,用于根據(jù)所述待創(chuàng)建的邏輯資源所對應(yīng)的數(shù)據(jù)類型查找預(yù)設(shè)的數(shù)據(jù)類型與raid陣列類型的對應(yīng)關(guān)系,得到所述待創(chuàng)建的邏輯資源所對應(yīng)的raid陣列類型;創(chuàng)建模塊,用于在屬于所述待創(chuàng)建的邏輯資源所對應(yīng)的raid陣列類型的raid陣列上創(chuàng)建邏輯資源。在一實施例中,所述裝置還可以包括(圖5中并未示出):第三查找模塊,用于為所述slice數(shù)據(jù)塊配置對應(yīng)的數(shù)據(jù)類型后,根據(jù)所述對應(yīng)的數(shù)據(jù)類型查找所述類型值與數(shù)據(jù)類型的對應(yīng)關(guān)系,得到所述slice數(shù)據(jù)塊對應(yīng)的類型值;設(shè)置模塊,用于在資源描述位圖區(qū)中,將與所述slice數(shù)據(jù)塊對應(yīng)的位上的值置為所述slice數(shù)據(jù)塊對應(yīng)的類型值。上述裝置中各個單元的功能和作用的實現(xiàn)過程具體詳見上述方法中對應(yīng)步驟的實現(xiàn)過程,在此不再贅述。對于裝置實施例而言,由于其基本對應(yīng)于方法實施例,所以相關(guān)之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本申請方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本申請保護的范圍之內(nèi)。當(dāng)前第1頁12
      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1