專利名稱:一種資源分配方法和裝置的制作方法
技術領域:
本發(fā)明涉及存儲系統技術領域,特別涉及一種資源分配方法和裝置
背景技術:
目前,視頻監(jiān)控由于真實、有效等特點而得到廣泛應用。其中,視頻監(jiān)控具體是利用多個攝像頭拍攝,并持續(xù)不斷地將拍攝獲得的數據保存到存儲系統中。在視頻監(jiān)控技術中,每個攝像頭相當于一個監(jiān)控點,并且,每個監(jiān)
控點對應一個存儲資源網絡(SAN),該SAN中包含從存儲陣列劃分的存儲塊。
其中,存儲陣列是利用廉價,茲盤冗余陣列(RAID, Redundant Array ofInexpensive Disks )算法將RAID (也可簡稱為石茲盤陣列)包含的所有物理磁盤上的存儲塊進行組合而形成的。參見圖1,圖1為現有技術中RAID5的數據分布關系示意圖。其中,圖1中的a為RAID5的分布圖。如圖1中的a所示,RAID5中包含了 4個獨立的物理/磁盤,分別為物理/磁盤0至物理f茲盤3。將物理磁盤0至物理磁盤3劃分為多個大小相同的存儲塊,之后,將RAID5中所有物理磁盤上的存儲塊(比如物理磁盤O上的DO)按照RAID算法形成連續(xù)的存儲陣列,具體可見圖l中的b所示??梢钥闯?,圖l中a所示的RAID5與圖1中b所示的存儲陣列具有映射關系,其中,圖l中b所示的
之后,為便于監(jiān)控設備將自身監(jiān)控的數據存儲到存儲系統中,需要為監(jiān)控系統中的各個攝像頭分別創(chuàng)建對應的SAN。其中,每一個SAN包含了存儲陣列中連續(xù)的一段存儲塊,相應地,該SAN中包含的一段存儲塊的邏輯地址也是連續(xù)的。具體是若當前視頻監(jiān)控系統中存在4個攝像頭,具體為攝像頭0至攝像頭3,則分別為該4個攝像頭創(chuàng)建對應的SAN,具體為SAN1至SAN4。之后,根據攝像頭的總數和存儲陣列包含的存儲塊的總數分別為各個SAN分配存儲陣列中邏輯地址連續(xù)的存儲塊。比如,將圖l中b所示的存儲陣列的A至B區(qū)域分配給SAN 1 ,將B至C區(qū)域分配給SAN 2,將C至D區(qū)域分配給SAN 3 ,將D至E區(qū)域分配給SAN 4。可以看出,各個SAN都包含了存儲陣列中 一段連續(xù)的存儲塊。
之后,攝像頭將拍攝獲得的數據和分配給自身的一個存儲塊攜帶在寫請求中發(fā)送給存儲系統。存儲系統根據上述建立的映射關系確定出各個存儲塊對應的物理磁盤地址,通過硬盤磁頭的移動獲取該物理》茲盤地址對應的盤面f茲道,將各個寫請求攜帶的數據存儲到對應的盤面磁道上。
可見,現有技術中各個攝像頭對應的SAN所包含的存儲塊為存儲陣列中連續(xù)的一段存儲塊,相應地,各個攝像頭對應的SAN所包含的存儲塊的邏輯地址也都是連續(xù)的。如此,當各個攝像頭需要同時發(fā)送寫請求時,各個攝像頭從其對應的SAN中依次順序選擇一個存儲塊。比如,攝像頭0至攝像頭3都是首次發(fā)送寫請求,其中,各個攝像頭當前要存儲的數據的大小對應一個存儲塊,則攝像頭0至攝像頭3從對應的SAN中選擇第一個存儲塊作為需要存儲數據的存儲塊,分別為DO、 D4、 D8和D12。由于各個攝像頭對應的SAN所包含的存儲塊是存儲陣列中連續(xù)的一段存儲塊,如此,相對于存儲陣列而言,各個寫請求攜帶的存儲塊就為存儲陣列中隨機的存儲塊。比如,從圖l的b所示的存儲陣列可以看出,上述寫請求攜帶的DO、 D4、 D8和D12為存儲陣列中不連續(xù)的存儲塊,相應地,寫請求攜帶的存儲塊的邏輯地址也是不連續(xù)的。由于存儲陣列與磁盤陣列具有映射關系,這樣,各個寫請求攜帶的存儲塊對應的RAID中的物理磁盤地址也是隨才幾的,如此,就會導致各個硬盤磁頭在相應的物理f茲盤上的整個磁道空間中來回移動,大大增加磁頭尋道的時間,降低了存儲效率。
發(fā)明內容
有鑒于此,本發(fā)明提供的一種資源分配方法和裝置,以便減少磁頭尋道的時間,提高存儲效率。
一種資源分配方法,包括
A,將存儲陣列劃分為大小為X字節(jié)的地址塊;其中,X為正整數;B,
個監(jiān)控設備對應的存儲資源網絡SAN,其中,I為正整數。一種資源分配裝置,包括劃分單元和分配單元;其中,所述劃分單元用于將存儲陣列劃分為大小為X字節(jié)的地址塊;其中,X為
正整數;
各個地址塊分配給同一個監(jiān)控設備對應的存儲資源網絡SAN,其中,I為正整數。
由上可述,本發(fā)明實施例提供的資源分配方法和裝置,通過將存儲陣列劃分為大小為X字節(jié)的地址塊;其中,X為正整數;將劃分后的地址塊中間隔為I個地址塊的各個地址塊分配給同一個監(jiān)控設備對應的SAN,其中,I為正整數。比如,若I為4,本發(fā)明中的地址塊為上述圖1中b所示的存儲陣列中的存儲塊,貝寸將圖1中b所示的存儲陣列的DO、 D4、 D8、 D12分配給SAN0,將D1、 D5、D9、 D13分配給SAN1、將D2、 D6、 DIO、 D14分配給SAN2、將D3、 D7、Dll、 D15分配給SAN3;如此,按照上述資源分配操作,當各個監(jiān)控設備需要同時存儲數據時,則各個監(jiān)控設備從其對應的SAN中依次順序選擇分配給自身的存儲塊。比如,監(jiān)控設備0至監(jiān)控設備3都是首次發(fā)送寫請求,其中,各個攝像頭當前要存儲的數據的大小對應一個地址塊,則監(jiān)控設備0至監(jiān)控設備3從其對應的SAN中分別選擇第一個地址塊攜帶在寫請求中發(fā)送給存儲系統,即選擇的地址塊分別為D0至D3。如此,相對于存儲陣列而言,存儲系統接收的寫請求所攜帶的地址塊為存儲陣列中連續(xù)的地址塊。由于存儲陣列與磁盤陣列具有映射關系,因此,各個地址塊對應的磁盤陣列中的物理磁盤地址也非隨機的,而是連續(xù)的,如此,各個^更盤義茲頭也會"^姿照順序依次在對應的物理-磁道空間中移動,這大大減少了磁頭尋道的時間,提高了存儲效率。
圖1為現有技術中RAID5的數據分布關系示意圖2為本發(fā)明實施例提供的資源分配的基本流程圖3為本發(fā)明實施例提供的資源分配詳細流程圖4為本發(fā)明實施例提供的SAN資源與存儲陣列的映射關系圖5為本發(fā)明實施例提供的資源分配的另一詳細流程圖6為本發(fā)明實施例提供的資源分配裝置結構圖。
具體實施例方式
為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖和具體實施例對本發(fā)明進行詳細描述。
參見圖2,圖2為本發(fā)明實施例提供的資源分配的基本流程圖。如圖2所示,該流程可包括以下步驟
步驟201,將存儲陣列劃分為大小為X字節(jié)的地址塊。
這里,X為正整數,其可與監(jiān)控系統存儲的數據塊的大小相同。比如,若監(jiān)控系統存儲的數據塊大小為16KB,存儲陣列的有效存儲空間總計為7500G,則優(yōu)選地,上述步驟201具體為將存儲陣列的有效空間7500G劃分為大小為16KB的地址塊。其中,劃分出的地址塊的個數通過下式計算
75QQxlQ6 =468,00;16
其中,為方便計算,取1(7 = 106《。
優(yōu)選地,為便于描述劃分的地址塊,可從預設值(其中,該預設值可為
比如,上述劃分了 468750000個地址塊,若預設值為0,則從0開始依次對468750000個地址塊進行編號,編號分別為0至468750000-1 。
當然,若存儲陣列為如圖1中的b所示的包含多個存儲塊的存儲陣列,則優(yōu)選地,本實施例還可繼續(xù)將存儲塊劃分為大小為X字節(jié)的地址塊。步驟202,將步驟201中劃分后的地址塊中間隔為I個地址塊的各個地 址塊分配給同一個監(jiān)控設備對應的SAN。
通常,監(jiān)控系統包含多個監(jiān)控設備,優(yōu)選地,該監(jiān)控設備具體可為攝像 頭。每一個監(jiān)控設備都有自身的存儲碼流,其中,存儲碼流是指監(jiān)控設備在 單位時間內存儲的數據流量,通常,該存儲碼流也叫碼率。本實施例中,監(jiān) 控系統包含的各個監(jiān)控設備的存儲碼流可相同,也可不相同。
本實施例中,I為正整數,其與監(jiān)控系統包含的監(jiān)控設備的總數N和監(jiān) 控系統包含的各個監(jiān)控設備的存儲碼流有關。比如,當監(jiān)控系統包含的各個 監(jiān)控設備的存儲碼流相同時,I等于監(jiān)控系統包含的監(jiān)控設備的總數N;如 此,步驟202具體可為將步驟201劃分后的地址塊中間隔為N個地址塊 的各個地址塊分配給同一個監(jiān)控設備對應的SAN;當監(jiān)控系統包含的各個 監(jiān)控設備的存儲碼流不相同時,則I由監(jiān)控系統包含的監(jiān)控設備的總數N和 各個監(jiān)控設備的存儲碼流確定,具體下述。
如此,實現了本發(fā)明實施例提供的資源分配方法。
參見圖3,圖3為本發(fā)明實施例提供的資源分配詳細流程圖。該實施例 中以監(jiān)控系統包含的各個監(jiān)控設備的存儲碼流是相同的為例,比如監(jiān)控設備 的存儲碼流為2M。此外,為便于描述,本實施例中假如監(jiān)控設備的總數N 為100。則如圖3所示,該流程可包括以下步驟
步驟301,分別為IOO個監(jiān)控設備創(chuàng)建SAN。
這里,每一個監(jiān)控設備對應1個SAN資源,由于本實施例中有100個 監(jiān)控設備,因此,本步驟301需要分別為IOO個監(jiān)控設備創(chuàng)建對應的SAN, 即創(chuàng)建總數為100的SAN。
為便于描述,可對SAN進行編號,比如,步驟301確定出需要創(chuàng)建100 個SAN,則編號可為0至99。優(yōu)選地,本實施例中編號為0至99的SAN 資源可分別對應編號為0至99的監(jiān)控設備。
步驟302,將存儲陣列劃分為大小為X的地址塊。
這里,X為正整數,其與監(jiān)控系統存儲的數據塊的大小有關。比如,本實施例中以RAID5陣列為例,該RAID5陣列中包含15+1個物理^茲盤,假 如每個物理f茲盤的容量為500G,則該RAID5的有效空間總計為 15x5=7500G。若監(jiān)控設備以大小為16KB的數據塊為單位存儲數據,則本
實施例可將上述RAID5的有效空間劃分為7500x1000x 1000 = 468750000個
16
大小為16KB的地址塊。
為便于描述,可從初始值開始依次對劃分的地址塊進行順序編號,其中, 為便于下述步驟303至步驟304的實現,該初始值與上述對SAN進行編號 時的初始值相同,若上述對SAN進行編號時的初始值為0,則針對劃分的 地址塊的編號具體可為0至468750000-1。
步驟303,對步驟302劃分后的地址塊進行輪詢,對該輪詢到的地址塊 的編號和監(jiān)控設備總數N求余,得到余數。
這里,假如監(jiān)控設備的總數N為100,若輪詢到的地址塊的編號為20, 則步驟303具體為對20與IOO執(zhí)行求余操作,得到余數為20。
步驟304,將輪詢到的地址塊分配給編號為上述余數的SAN。
這里,若步驟303得到的余數為20,則本步驟304具體為將編號為 20的地址塊分配^^編號為20的SAN。
如此,在經過上述操作后,可實現存儲陣列中的所有地址塊分配給對應 的SAN的操作。優(yōu)選地,為便于描述,可對各個SAN中已分配的地址塊從 初始值0開始依次進行順序編號,如此,假如監(jiān)控設備的總數為100,并且 存儲陣列劃分的數據塊的編號為0至468750000-1,則經過上述步驟,各個 SAN中分配的地址塊與存儲陣列的映射關系可參見圖4。
需要說明的是,由于本實施例中監(jiān)控系統包含的各個監(jiān)控設備的存儲碼
流是相同的,則經過上述步驟,可將間隔為監(jiān)控系統包含的監(jiān)控設備的總數
N個地址塊的各個地址塊分配給同一個SAN。并且,通過步驟303可以看出,
步驟302劃分后的地址塊中間隔為監(jiān)控系統包含的監(jiān)控設備的總數N個地
址塊的各個地址塊具有相同的標識,其中,該標識具體為間隔為N個地址塊的各個地址塊的編號與監(jiān)控設備的總數執(zhí)行求余操作所得到的余數。若N
為100,則間隔為100的各個地址塊比如編號為1、 101、 201...100*n+l的 地址塊分別與100執(zhí)行求余操作,得到的余數都相同,即得到的余數都為1, 如此,即可將存儲陣列中編號為1、 101、 201...100*n+l的地址塊分配給編 號為1的SAN。
還需要說明的是,由于SAN與監(jiān)控設備具有——對應關系,因此,上 述將間隔為N個地址塊的各個地址塊分配給同一個SAN的操作具體可為將 間隔為N個地址塊的各個地址塊分配給同一個監(jiān)控設備對應的SAN的操作。 如此,通過上述操作實現了存儲陣列中的地址塊分配給各個SAN的操作。
在完成上述分配操作后,如圖3所示,該流程還可包括以下步驟305至 步驟309。
步驟305,同時啟動監(jiān)控系統所包含的所有監(jiān)控設備。 優(yōu)選地,為增強視頻監(jiān)控性能,本發(fā)明實施例可同時啟用監(jiān)控系統中的 所有監(jiān)控設備。當然,步驟305中也可按照實際情況啟動監(jiān)控系統中的部分 監(jiān)控設備,本發(fā)明實施例并不具體限定。
步驟306,對監(jiān)控系統包含的監(jiān)控設備進行時間同步。 這里,為保證后續(xù)將各個監(jiān)控設備同時執(zhí)行發(fā)送寫請求操作,可采用 NTP協議對各個監(jiān)控設備執(zhí)行時間同步。
步驟307,監(jiān)控設備將需要存儲的數據和該數據對應的地址攜帶在寫請 求中發(fā)送給存儲系統。
這里,步驟307具體可為若監(jiān)控設備首次發(fā)送寫請求,則監(jiān)控設備根 據當前需要存儲的數據的大小在其對應的SAN中從第一個地址塊開始依次 順序獲取所述需要存儲的數據對應的地址,將需要存儲的數據和該獲取的地 址攜帶在寫請求中發(fā)送給存儲系統;比如,監(jiān)控設備0至監(jiān)控設備99在首 次發(fā)送寫請求時,其中,各個監(jiān)控設備當前需要存儲的數據的大小對應一個 地址塊,則各個監(jiān)控設備分別將其對應的SAN中的第0個地址塊攜帶在寫 請求中發(fā)送給存儲系統。當然,若監(jiān)控設備非首次發(fā)送寫請求,則監(jiān)控設備根據當前需要存儲的數據的大小在其對應的SAN中從上一次發(fā)送寫請求時
選擇的結束地址開始依次順序獲取所述需要存儲的數據對應的地址;將需要 存儲的數據和該獲取的地址攜帶在寫請求中發(fā)送給存儲系統。比如,監(jiān)控設 備0至監(jiān)控設備99在上述首次發(fā)送寫請求后,當前還需要執(zhí)行數據存儲操 作,其中,各個監(jiān)控設備當前需要存儲的數據的大小對應一個地址塊,則各
個監(jiān)控設備分別將其對應的SAN中的第1個地址塊攜帶在寫請求中發(fā)送給 存儲系統;依次類推,這里不再贅述。
步驟308,存儲系統將接收的寫請求攜帶的地址轉換為存儲陣列中的地址。
這里,若監(jiān)控設備的總數為100,當存儲系統接收的其中一個寫請求攜 帶的地址為編號為j的SAN中第a個地址塊中的第b個地址,則步驟308 可按照下述公式將該地址轉換為存儲陣列中的地址
a"6K* 100+ 16K*j+b。
假如步驟307中監(jiān)控設備從其對應的SAN中按照順序選取地址。如此, 若各個監(jiān)控設備每秒鐘存儲的數據量是相同的,則經過本步驟308后,存儲 系統轉換后的地址為存儲陣列中的連續(xù)地址。比如,監(jiān)控設備O至監(jiān)控設備 99在首次發(fā)送寫請求時,分別將其對應的SAN中的第O個地址塊攜帶在寫 請求中發(fā)送給存儲系統;這樣,存儲系統根據圖4所示的映射關系,可將各 個寫請求攜帶的地址轉換為存儲陣列中的地址,即為存儲陣列中的第O至第 99個地址塊;之后,監(jiān)控設備0至監(jiān)控設備99在第二次發(fā)送寫請求時,分 別將其對應的SAN資源中的第1個地址塊攜帶在寫請求中發(fā)送給存儲系統; 如此,存儲系統可將各個寫請求攜帶的地址塊轉換為存儲陣列中的第100至 第199個地址塊,依次類推。
步驟309,存儲系統根據轉換后的地址存儲該寫請求攜帶的需要存儲的 數據。
這里,步驟309具體可為存儲系統按照存儲陣列與磁盤陣列的地址映 射關系,根據轉換后的地址存儲該寫請求攜帶的需要存儲的數據。當然,為體現本發(fā)明實施例的應用,當步驟307中有一個或多個監(jiān)控設 備沒有按照順序從其對應的SAN中選擇地址,則步驟309可進一步包括
存儲時間時,根據排列后的地址存儲對應的寫請求攜帶的需要存儲的數據。 也就是說,存儲系統執(zhí)行地址轉換后,并非立即存儲數據,而是對轉換后的 地址按照存儲陣列中地址的順序進行排列;這樣,到達預設的存儲時間時, 將排列后的地址對應的數據存儲,如此,能夠保證存儲的數據的地址相對于 存儲陣列而言是順序的。
由于存儲陣列與物理地址具有映射關系,因此當存儲系統按照存儲陣列 中連續(xù)的地址存儲數據時,相應地,硬盤磁頭就會在各個存儲陣列中的地址 塊對應的RAID中依次順序移動到對應的;茲道。
需要說明的是,上述步驟308和步驟309的存儲系統具體可為磁盤陣列 控制器或者為其他能夠實現該查找物理地址功能的實體,本發(fā)明實施例不再 贅述。
還需要說明的是,由于本實施例中能夠實現地址是順序的數據的存儲, 這樣,優(yōu)選地,本實施例可根據預設的監(jiān)控系統的寫性能和監(jiān)控系統的存儲 碼流來設置監(jiān)控存儲系統,具體為
(1),根據監(jiān)控系統的寫性能和存儲碼流計算監(jiān)控設備的總數N。 這里,根據監(jiān)控系統的寫性能和存儲碼流計算監(jiān)控設備的總數N的具 體方法為若監(jiān)控系統的寫性能為TMBps(每秒T兆字節(jié)),存儲碼流為2Mbps (即每秒250K字節(jié),當然,該存儲碼流也可為512K或1M等,本發(fā)明實 施例并不具體限定),則可按照下式計算N:
TxlOOO
T5bo * 2 ;
其中,由于存儲碼流是以位(bit)存儲的,而寫性能的單位為字節(jié),根 據l字節(jié)(B)等于8位(bit),將各個參數的單位統一為位,則得到上述參數"8",為便于計算,本實施例中1G=1000K。
(2 ),分別為N個監(jiān)控設備創(chuàng)建SAN;之后,執(zhí)行步驟302至步驟309。 這里不再贅述。
由于現有技術中硬盤磁頭在物理磁盤的整個磁道空間中隨機來回移動, 這樣限制了存儲系統支持的監(jiān)控設備的數量。比如,在實際應用中,磁盤陣 列為15+lRAID5陣列,若該陣列支持的監(jiān)控設備的存儲碼流為2M,在存儲 性能為280MBPS時,根據統計計算可以得到該磁盤陣列最多僅支持180個 監(jiān)控設備的存儲操作。而本發(fā)明實施例中,由于各個監(jiān)控設備發(fā)送的寫請求 所攜帶的地址可轉換為存儲系統連續(xù)的地址,根據存儲陣列與物理地址的映 射關系,相應地,石更盤》茲頭也會在^茲道空間中順序移動,尋道的時間比較少。 如此,在同樣的存儲性能和存儲碼流下,能使磁盤陣列最多支持 ,XD
,xl000二1120個監(jiān)控設備,其中,1G= 103K??梢?,相對于現有技術中, 250
本發(fā)明實施例可支持較多的監(jiān)控設備,提高了監(jiān)控存儲性能。
上述是以監(jiān)控系統包含的所有監(jiān)控設備具有相同的存儲碼流為例,本實
施例還可應用于監(jiān)控系統中監(jiān)控設備的存儲碼流不相同的場景。
參見圖5,圖5為本發(fā)明實施例提供的資源分配的另一詳細流程圖。如
圖5所示,該流程可包括以下步驟
步驟501,將存儲陣列劃分為大小為X字節(jié)的地址塊。
步驟502,根據監(jiān)控系統包含的監(jiān)控設備的總數N和各個監(jiān)控設備的存
儲碼流確定間隔I。
這里,間隔I具體為分配給同一個SAN的各個地址塊的地址塊間隔。
需要說明的是,上述根據各個監(jiān)控設備的存儲碼流確定間隔,原則是使存儲
碼流大的監(jiān)控設備對應的SAN所包含的地址塊的個數大于存儲碼流小的監(jiān)
控設備對應的SAN所包含的地址塊的個數。如此,可保證當所有監(jiān)控設備
同時啟用時,提高各個監(jiān)控設備的存儲碼流的利用率。
比如,若監(jiān)控系統包含5個監(jiān)控設備,其中第一、第二、第四和第五個監(jiān)控設備的存儲碼流相同,都為1M,而第三個監(jiān)控設備的存儲碼流為2M。 若1M的存儲碼流在單位時間內對應的數據量正好為1個地址塊對應的數 據量,則上述步驟502確定間隔的操作具體為由于第三個監(jiān)控設備的存儲 碼流是第一、第二、第四和第五個監(jiān)控設備的存儲碼流的2倍,則為保證所 有監(jiān)控設備同時啟用時,提高監(jiān)控設備的存儲碼流的利用率,可為第三個監(jiān) 控設備分配兩個連續(xù)的地址塊,而為第一、第二、第四和第五個監(jiān)控設備分 別分配一個地址塊,如此可確定出間隔I為6個連續(xù)的地址塊。當然,上述 只是一種舉例,本發(fā)明實施例也可根據實際情況確定間隔。
步驟503,在步驟501劃分的所有地址塊中將間隔為I個地址塊的各個 地址塊分配給同一 SAN。
若上述確定的間隔I為6個連續(xù)的地址塊,則步驟503具體可為將間隔 為6個連續(xù)的地址塊分配給同一 SAN。具體地,比如,若當前有上述5個 監(jiān)控設備,其中第一、第二、第四和第五個監(jiān)控設備的存儲碼流相同,都為 1M,而第三個監(jiān)控設備的存儲碼流為2M,采用如圖4中存儲陣列中的地址 塊,則將編號為0、 6、 6n的地址塊分配給第一個監(jiān)控設備對應的SAN;將 編號為1、 7、 6n+l的地址塊分配給第二個監(jiān)控設備對應的SAN;將編號為 2、 3、 8、 9、 6n+2、 6n+3的地址塊分配給第三個監(jiān)控設備對應的SAN;將 編號為4、 10、 6n+4的地址塊分配給第四個監(jiān)控設備對應的SAN;將編號 為5、 11、 6n+5的地址塊分配給第五個監(jiān)控i殳備對應的SAN。如此,即可 實現了存儲陣列中地址塊分配給各個SAN的操作。
由于同一個邏輯資源對應同一個監(jiān)控設備,因此,上述步驟502至步驟 503也可為本實施例提供的將間隔為I個地址塊的各個地址塊分配給同一個 監(jiān)控設備對應的SAN的具體操作。
如此,實現了本發(fā)明實施例提供的存儲資源的分配操作。
步驟504至步驟508與圖3所示的步驟305至步驟309類似,這里不再 贅述。
上述對本發(fā)明實施例提供的方法進行了描述,下面對本發(fā)明實施例提供的裝置進行描述。
參見圖6,圖6為本發(fā)明實施例提供的資源分配裝置結構圖。如圖6所示, 該裝置包括劃分單元601和分配單元602。
其中,劃分單元601用于將存儲陣列劃分為大小為X字節(jié)的地址塊;其中, X為正整數;
分配單元602用于將劃分單元601劃分后的地址塊中間隔為I個地址塊的 各個地址塊分配給同一個監(jiān)控設備對應的SAN,其中,I為正整數。
優(yōu)選地,監(jiān)控設備為監(jiān)控系統中的一個監(jiān)控設備;所述I由監(jiān)控系統包含 的監(jiān)控設備的總數和所述監(jiān)控系統包含的各個監(jiān)控設備的存儲碼流確定。
其中,若監(jiān)控系統包含的各個監(jiān)控設備的存儲碼流是相同的,則所述I等 于監(jiān)控系統包含的監(jiān)控設備的總數N。
若所述監(jiān)控系統包含的監(jiān)控設備的存儲碼流是不相同的,則所述I由監(jiān)控 系統包含的監(jiān)控設備的總數N和各個監(jiān)控設備的存儲碼流確定具體原則是使得 存儲碼流大的監(jiān)控設備對應的SAN所包含的地址塊的個數大于存儲碼流小的 監(jiān)控設備對應的SAN所包含的地址塊的個數。
優(yōu)選地,劃分單元601劃分的地址塊中間隔為I個地址塊的各個地址塊具 有相同的標識。如此,分配單元602用于將劃分單元601劃分后的地址塊中具 有相同標識的地址塊分配給同一個監(jiān)控設備對應的SAN。
優(yōu)選地,劃分單元601還用于從預設值起依次對劃分后的地址塊順序編號;
如圖6所示,所述裝置還包括創(chuàng)建單元603。
其中,創(chuàng)建單元603在分配單元602分配地址塊之前,為監(jiān)控系統中每一 個監(jiān)控設備創(chuàng)建SAN,并從上述預設值起依次對創(chuàng)建后的SAN順序編號。
如此,上述標識可為間隔為I個地址塊的各個地址塊的編號與監(jiān)控設備的 總數執(zhí)行求余操作所得到的余數。
如圖6所示,分配單元602可包括輪詢子單元6021、求余子單元6022 和分配子單元6023。
其中,輪詢子單元6021用于當監(jiān)控系統包含的各個監(jiān)控設備的存儲碼流相同時,輪詢劃分單元601劃分后的地址塊。
求余子單元6022用于將輪詢子單元6022輪詢到的地址塊的編號與監(jiān)控系 統包含的監(jiān)控設備的總數求余,得到余數。
分配子單元6023用于將輪詢子單元6021輪詢到的地址塊分配給創(chuàng)建單元 603創(chuàng)建的編號為所述余數的SAN。
由上可述,本發(fā)明實施例提供的資源分配方法和裝置,通過將存儲陣列劃 分為大小為X字節(jié)的地址塊;其中,X為正整數;將劃分后的地址塊中間隔為 I個地址塊的各個地址塊分配給同一個監(jiān)控設備對應的SAN,其中,I為正整數。 比如,若I為4,本發(fā)明中的地址塊為上述圖1中的b所示的存儲陣列所包含的 存儲塊,則將D0、 D4、 D8、 D12分配給SAN0,將D1、 D5、 D9、 D13分配給 SAN1、將D2、 D6、 DIO、 D14分配給SAN2、將D3、 D7、 Dll、 D15分配給 SAN3;如此,按照上述資源分配操作,當各個監(jiān)控設備需要同時存儲數據時, 則各個監(jiān)控設備從其對應的SAN中依次順序選擇分配給自身的存儲塊。比如, 監(jiān)控設備0至監(jiān)控設備3都是首次發(fā)送寫請求,其中,各個攝像頭當前要存儲 的數據的大小對應一個地址塊,則監(jiān)控設備0至監(jiān)控設備3從其對應的SAN中 分別選擇第 一個地址塊攜帶在寫請求中發(fā)送給存儲系統,即選擇的地址塊分別 為D0至D3。如此,相對于存儲陣列而言,存儲系統接收的寫請求所攜帶的地 址塊為存儲陣列中連續(xù)的地址塊。由于存儲陣列與磁盤陣列具有映射關系,因 此,各個地址塊對應的磁盤陣列中的物理磁盤地址也非隨機的,而是連續(xù)的, 如此,各個硬盤磁頭也會按照順序依次在對應的物理磁道空間中移動,這大大 減少了磁頭尋道的時間,提高了存儲效率。
以上所述的具體實施例,對本發(fā)明的目的、技術方案和有益效果進行了 進一步詳細說明,所應理解的是,以上所述僅為本發(fā)明的較佳實施例而已, 并非用于限定本發(fā)明的保護范圍,凡在本發(fā)明的精神和原則之內,所作的任 何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1、一種資源分配方法,其特征在于,該方法包括A,將存儲陣列劃分為大小為X字節(jié)的地址塊;其中,X為正整數;B,將所述步驟A劃分后的地址塊中間隔為I個地址塊的各個地址塊分配給同一個監(jiān)控設備對應的存儲資源網絡SAN,其中,I為正整數。
2、 根據權利要求1所述的方法,其特征在于,所述監(jiān)控設備為監(jiān)控系統中 的一個監(jiān)控設備;所述I由監(jiān)控系統包含的監(jiān)控設備的總數和所述監(jiān)控系統包含的各個監(jiān)控 設備的存儲碼流確定。
3、 根據權利要求2所述的方法,其特征在于,若所述監(jiān)控系統包含的各個 監(jiān)控設備的存儲碼流是相同的,則所述I等于監(jiān)控系統包含的監(jiān)控設備的總數 N;若所述監(jiān)控系統包含的監(jiān)控設備的存儲碼流是不相同的,則所述I由監(jiān)控 系統包含的監(jiān)控設備的總數N和各個監(jiān)控設備的存儲碼流確定具體是使得存 儲碼流大的監(jiān)控設備對應的SAN所包含的地址塊的個數大于存儲碼流小的監(jiān) 控設備對應的SAN所包含的地址塊的個數。
4、 根據權利要求1至3任一所述的方法,其特征在于,所述步驟A中間 隔為I個地址塊的各個地址塊具有相同的標識;所述步驟B包括將所述步驟A劃分后的地址塊中具有相同標識的地址塊 分配給同一個監(jiān)控設備對應的SAN。
5、 根據權利要求4所述的方法,其特征在于,所述步驟A進一步包括 從預設值起依次對劃分的地址塊順序編號;所述步驟B之前進一步包括為監(jiān)控系統中每一個監(jiān)控設備創(chuàng)建SAN,并 從所述預設值起依次對創(chuàng)建后的SAN順序編號;所述標識為間隔為I個地址塊的各個地址塊的編號與監(jiān)控設備的總數執(zhí)行 求余操作所得到的余數;所述將步驟A劃分后的地址塊中具有相同標識的地址塊分配給同一個監(jiān)控設備對應的SAN包括若監(jiān)控系統包含的各個監(jiān)控設備的 存儲碼流相同,輪詢步驟A劃分后的地址塊;將該輪詢到的地址塊的編號與監(jiān) 控系統包含的監(jiān)控設備的總數求余,得到余數;將該輪詢到的地址塊分配給編 號為所述余數的SAN。
6、 根據權利要求1或4所述的方法,其特征在于,該方法進一步包括 對監(jiān)控系統包含的所有監(jiān)控設備進行時間同步;當所述所有監(jiān)控設備中的一個或多個監(jiān)控設備需要發(fā)送寫請求時,該監(jiān)控 設備將需要存儲的數據和該數據對應的地址攜帶在寫請求中發(fā)送給存儲系統。
7、 根據權利要求6所述的方法,其特征在于,所述監(jiān)控設備將需要存儲的 數據和該數據對應的地址攜帶在寫請求中發(fā)送給存儲系統包括若監(jiān)控設備首次發(fā)送寫請求,則監(jiān)控設備根據當前需要存儲的數據的大小 在其對應的SAN中從第一個地址塊開始依次順序獲取所述需要存儲的數據對 應的地址;將需要存儲的數據和該獲取的地址攜帶在寫請求中發(fā)送給存儲系統;若監(jiān)控設備非首次發(fā)送寫請求,則監(jiān)控設備根據當前需要存儲的數據的大 小在其對應的SAN中從上一次發(fā)送寫請求所選擇的結束地址開始依次順序獲 取所述需要存儲的數據對應的地址;將需要存儲的數據和該獲取的地址攜帶在 寫請求中發(fā)送給存儲系統。
8、 根據權利要求6所述的方法,其特征在于,當接收到監(jiān)控設備發(fā)送的寫 請求時,該方法進一步包括將寫請求攜帶的地址轉換為存儲陣列中的地址;根據轉換后的地址存儲該寫請求攜帶的需要存儲的數據;或者,按照存儲 陣列中的地址順序排列各個轉換后的地址,根據排列后的地址存儲對應的寫請 求攜帶的需要存儲的數據。
9、 一種資源分配裝置,其特征在于,該裝置包括劃分單元和分配單元; 其中,所述劃分單元用于將存儲陣列劃分為大小為X字節(jié)的地址塊;其中,X為 正整數;所述分配單元用于將所述劃分單元劃分后的地址塊中間隔為I個地址塊的各個地址塊分配給同一個監(jiān)控設備對應的SAN,其中,I為正整數。
10、 根據權利要求9所述的裝置,其特征在于,所述監(jiān)控設備為監(jiān)控系統 中的一個監(jiān)控設備;所述I由監(jiān)控系統包含的監(jiān)控設備的總數和所述監(jiān)控系統包含的各個監(jiān)控 設備的存儲碼流確定。
11、 根據權利要求9或IO所述的裝置,其特征在于,若所述監(jiān)控系統包含 的各個監(jiān)控設備的存儲碼流是相同的,則所述I等于監(jiān)控系統包含的監(jiān)控設備 的總數N;若所述監(jiān)控系統包含的監(jiān)控設備的存儲碼流是不相同的,則所述I由監(jiān)控 系統包含的監(jiān)控設備的總數N和各個監(jiān)控設備的存儲碼流確定是使得存儲碼流 大的監(jiān)控設備對應的SAN所包含的地址塊的個數大于存儲碼流小的監(jiān)控設備 對應的SAN所包含的地址塊的個數。
12、 根據權利要求11所述的裝置,其特征在于,所述劃分單元劃分的地址 塊中間隔為I個地址塊的各個地址塊具有相同的標識;所述分配單元用于將所述劃分單元劃分后的地址塊中具有相同標識的地址 塊分配給同一個監(jiān)控設備對應的SAN。
13、 根據權利要求12所述的裝置,其特征在于,所述劃分單元還用于從預 設值起依次對劃分后的地址塊順序編號;所述裝置還包括創(chuàng)建單元;其中,所述創(chuàng)建單元在所述分配單元分配地址塊之前,為監(jiān)控系統中每一個監(jiān)控 設備創(chuàng)建SAN,并從所述預設值起依次對創(chuàng)建后的SAN順序編號;所述標識為間隔為I個地址塊的各個地址塊的編號與監(jiān)控設備的總數執(zhí)行 求余操作所得到的余數;所述分配單元包括輪詢子單元、求余子單元和分配 子單元;其中,所述輪詢子單元用于當監(jiān)控系統包含的各個監(jiān)控設備的存儲碼流相同時, 輪詢所述劃分單元劃分后的地址塊;包含的監(jiān)控設備的總數求余,得到余數;所述分配子單元用于將所述輪詢子單元輪詢到的地址塊分配給所述創(chuàng)建單元創(chuàng)建的編號為所述余數的SAN。
全文摘要
本發(fā)明提供了一種資源分配方法和裝置,其中,該方法包括A.將存儲陣列劃分為大小為X字節(jié)的地址塊;其中,X為正整數;B.將所述步驟A劃分后的地址塊中間隔為I個地址塊的各個地址塊分配給同一個監(jiān)控設備對應的存儲資源網絡SAN,其中,I為正整數。采用本發(fā)明,能夠減少磁頭尋道的時間,提高存儲效率。
文檔編號H04L29/12GK101521673SQ20091008195
公開日2009年9月2日 申請日期2009年4月9日 優(yōu)先權日2009年4月9日
發(fā)明者兵 張 申請人:杭州華三通信技術有限公司