專利名稱:視頻訪問(wèn)的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種視頻訪問(wèn)的方法及裝置。
背景技術(shù):
目前,網(wǎng)絡(luò)視頻監(jiān)控技術(shù)得到了廣泛的應(yīng)用,網(wǎng)絡(luò)視頻監(jiān)控技術(shù)一般采用前端攝像頭完成視頻信息的采集、編碼、壓縮,并通過(guò)交換機(jī)將視頻信息傳輸?shù)揭曨l管理平臺(tái)處,由視頻管理平臺(tái)對(duì)視頻信息在存儲(chǔ)設(shè)備中進(jìn)行視頻存儲(chǔ),之后在需要用到所述視頻信息時(shí),由客戶端調(diào)用存儲(chǔ)設(shè)備中的視頻信息進(jìn)行使用,例如由客戶端進(jìn)行視頻的多畫面監(jiān)控、報(bào)警監(jiān)控等?,F(xiàn)有技術(shù)的視頻存儲(chǔ)采用基于串行高級(jí)技術(shù)附件(Serial Advanced Technology Attachment,簡(jiǎn)稱SATA)硬盤的網(wǎng)絡(luò)互聯(lián)存儲(chǔ)局域網(wǎng)絡(luò)(Internet Protocol StorageArea Network,簡(jiǎn)稱IPSAN)存儲(chǔ)架構(gòu),并通過(guò)獨(dú)立冗余磁盤陣列(Redundant Array ofIndependent Disk,簡(jiǎn)稱RAID)技術(shù)保證存儲(chǔ)的可靠性。視頻存儲(chǔ)的具體過(guò)程為前端攝像頭對(duì)每一個(gè)視頻圖像采用單個(gè)切片進(jìn)行編碼,并以切片的形式存儲(chǔ)在硬盤中,在RAID技術(shù)中,存在多個(gè)硬盤形成RAID存儲(chǔ)陣列,所述存儲(chǔ)陣列將單個(gè)切片數(shù)據(jù)跨越多個(gè)硬盤以多個(gè)數(shù)據(jù)塊的形式進(jìn)行存儲(chǔ),每個(gè)硬盤的每次讀寫操作以ー個(gè)數(shù)據(jù)塊為単位,例如ー個(gè)切片數(shù)據(jù)大小為160千字節(jié),每個(gè)硬盤的每次讀寫操作的數(shù)據(jù)塊大小為20千字節(jié),RAID存儲(chǔ)陣列的硬盤有8張硬盤,其中I張硬盤在邏輯上作為校驗(yàn)盤后,還剩余7張硬盤,則可以稱RAID存儲(chǔ)陣列的一個(gè)存儲(chǔ)的條帶大小為所述數(shù)據(jù)塊大小與7的乘積,即為140千字節(jié),當(dāng)所述切片數(shù)據(jù)要存儲(chǔ)在RAID存儲(chǔ)陣列中吋,需要在7張硬盤上分別存儲(chǔ)ー個(gè)數(shù)據(jù)塊,并在7張硬盤其中的ー張上再存儲(chǔ)ー個(gè)數(shù)據(jù)塊。所述切片的存儲(chǔ)跨越了多張硬盤,甚至跨越了 RAID存儲(chǔ)陣列的一個(gè)條帶,在訪問(wèn)所述RAID存儲(chǔ)陣列且需要用到所述切片時(shí),一般以一定長(zhǎng)度大小(如一次讀取1000千字節(jié)等)進(jìn)行讀取,則在讀取時(shí)要跨越RAID存儲(chǔ)陣列中的多張硬盤,甚至跨越了多個(gè)條帯。在實(shí)現(xiàn)本發(fā)明實(shí)施例的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題由于切片數(shù)據(jù)跨越了 RAID存儲(chǔ)陣列中的多張硬盤,每個(gè)硬盤上保存的切片數(shù)據(jù)不完整,造成在有多張硬盤故障時(shí)對(duì)所述存儲(chǔ)陣列進(jìn)行訪問(wèn),所述存儲(chǔ)陣列中未發(fā)生故障的硬盤存儲(chǔ)的剰余的切片數(shù)據(jù)不可用的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種視頻訪問(wèn)的方法及裝置,能夠保證在獨(dú)立冗余磁盤存儲(chǔ)陣列中有多個(gè)硬盤故障時(shí)對(duì)所述存儲(chǔ)陣列進(jìn)行訪問(wèn),所述存儲(chǔ)陣列中其他未發(fā)生故障的硬盤的數(shù)據(jù)能夠正常使用。為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案ー種視頻訪問(wèn)的方法,包括獲取獨(dú)立冗余磁盤陣列的磁盤存儲(chǔ)的條帶大?。?br>
在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻 源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意ー個(gè)切片大小的整數(shù)倍。ー種視頻訪問(wèn)的裝置,包括第一獲取單元,用于獲取獨(dú)立冗余磁盤陣列的磁盤存儲(chǔ)的條帶大小;讀寫單元,用于在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意ー個(gè)切片大小的整數(shù)倍。本發(fā)明實(shí)施例提供的視頻訪問(wèn)的方法及裝置,由于在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意ー個(gè)切片大小的整數(shù)倍,這樣使得一個(gè)數(shù)據(jù)塊中完整保存有ー個(gè)或多個(gè)切片。而現(xiàn)有技術(shù)的切片數(shù)據(jù)要跨越多張硬盤的多個(gè)數(shù)據(jù)塊,與現(xiàn)有技術(shù)相比本發(fā)明實(shí)施例能夠保證在所述獨(dú)立冗余磁盤陣列中有多個(gè)硬盤故障時(shí),所述獨(dú)立冗余磁盤陣列中其他未發(fā)生故障的硬盤的數(shù)據(jù)能夠正常使用。
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實(shí)施例提供的視頻訪問(wèn)的方法的流程圖;圖2為本發(fā)明另ー實(shí)施例提供的視頻訪問(wèn)的方法的流程圖;圖3為本發(fā)明實(shí)施例提供的視頻訪問(wèn)的裝置的結(jié)構(gòu)示意圖ー;圖4為本發(fā)明實(shí)施例提供的視頻訪問(wèn)的裝置的結(jié)構(gòu)示意圖ニ。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為使本發(fā)明技術(shù)方案的優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作詳細(xì)說(shuō)明。如圖I所示,本發(fā)明實(shí)施例提供的視頻訪問(wèn)的方法,所述方法包括步驟101、獲取獨(dú)立冗余磁盤陣列的磁盤存儲(chǔ)的條帶大小。具體的,所述磁盤存儲(chǔ)的條帶大小與所述獨(dú)立冗余磁盤陣列中的有效硬盤數(shù)及每個(gè)有效硬盤的數(shù)據(jù)塊大小有關(guān),一般是所述有效硬盤數(shù)與ー個(gè)數(shù)據(jù)塊大小的乘積,由于獨(dú)立冗余磁盤陣列中的硬盤中有ー個(gè)硬盤為校驗(yàn)盤,則除所述校驗(yàn)盤外的其余硬盤稱為有效硬盤。 步驟102、在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù)。其中,所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意ー個(gè)切片大小的整數(shù)倍。本發(fā)明實(shí)施例提供的視頻訪問(wèn)的方法,由于在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意ー個(gè)切片大小的整數(shù)倍,這樣使得一個(gè)數(shù)據(jù)塊中完整保存有ー個(gè)或多個(gè)切片。而現(xiàn)有技術(shù)的切片數(shù)據(jù)要跨越多張硬盤的多個(gè)數(shù)據(jù)塊,與現(xiàn)有技術(shù)相比本發(fā)明實(shí)施例能夠保證在所述獨(dú)立冗余磁盤陣列中有多個(gè)硬盤故障時(shí),所述獨(dú)立冗余磁盤陣列中其他未發(fā)生故障的硬盤的數(shù)據(jù)能夠正常使用。如圖2所示,本發(fā)明另一實(shí)施例提供的視頻訪問(wèn)的方法,所述方法包括步驟201、將視頻源的實(shí)際數(shù)據(jù)劃分為大小相同的若干切片,并傳輸?shù)姜?dú)立冗余磁盤陣列的硬盤中。具體的,在劃分切片具體是以切片的形式進(jìn)行固定編碼,若要將ー個(gè)切片的大小編碼為ー個(gè)數(shù)據(jù)塊的大小,若切片編碼時(shí)編碼長(zhǎng)度小于所述獨(dú)立冗余磁盤陣列的硬盤的ー個(gè)數(shù)據(jù)塊的大小,可以通過(guò)填充的方式進(jìn)行補(bǔ)充,使得所述若干切片中任意ー個(gè)切片的大小與所述獨(dú)立冗余磁盤陣列的硬盤的ー個(gè)數(shù)據(jù)塊的大小相同。在存儲(chǔ)若干切片時(shí),將切片匯聚成ー個(gè)或者多個(gè)獨(dú)立冗余磁盤陣列條帶大小的緩沖區(qū)中,匯聚完成后調(diào)用文件系統(tǒng)接ロ將所述若干切片寫入所述獨(dú)立冗余磁盤陣列的硬盤中,可以使得每個(gè)切片數(shù)據(jù)完整存儲(chǔ)于每個(gè)數(shù)據(jù)塊中,但不僅局限于此。步驟202、將獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)于所述獨(dú)立冗余磁盤陣列的硬盤外的獨(dú)立的硬盤中。具體的,為了使得所述獨(dú)立冗余磁盤陣列的硬盤僅存儲(chǔ)所述視頻源的實(shí)際數(shù)據(jù)。例如可以將所述獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)于外部服務(wù)器或工作站的硬盤上,所述服務(wù)器和工作站與所述獨(dú)立冗余磁盤陣列之間可以通過(guò)光纖通信技術(shù)(FibreChannel,簡(jiǎn)稱 FC)接 ロ,小型計(jì)算機(jī)系統(tǒng)(Small Computer System Interface,簡(jiǎn)稱 SCSI)接ロ或以太網(wǎng)接ロ等相接,但不僅局限于此。所述獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)關(guān)系到整個(gè)獨(dú)立冗余磁盤陣列上實(shí)際數(shù)據(jù)的可用性,需要所述獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)中的實(shí)際存儲(chǔ)區(qū)域指向所述獨(dú)立冗余磁盤陣列。采用步驟202,通過(guò)將所述獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)和視頻源實(shí)際數(shù)據(jù)分離,使得所述獨(dú)立冗余磁盤陣列上存儲(chǔ)的都是視頻源實(shí)際數(shù)據(jù),在通過(guò)文件系統(tǒng)創(chuàng)建、刪除文件時(shí)僅涉及元數(shù)據(jù)的修改,而不會(huì)訪問(wèn)所述獨(dú)立冗余磁盤陣列。這樣頻繁的文件創(chuàng)建和刪除不會(huì)導(dǎo)致所述獨(dú)立冗余磁盤陣列的硬盤上產(chǎn)生碎片,也不會(huì)導(dǎo)致所述獨(dú)立冗余磁盤陣列因?yàn)楹苄〉牟僮魇沟谜麄€(gè)條帶發(fā)生讀取、更新、校驗(yàn)位計(jì)算、寫入等操作,使得所述獨(dú)立冗余磁盤陣列整體的性能得到保證。同時(shí)通過(guò)步驟202,在所述獨(dú)立冗余磁盤陣列有硬盤發(fā)生故障時(shí),所述獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)也不會(huì)受到影響。 步驟203、將所述若干切片存儲(chǔ)于獨(dú)立冗余磁盤陣列的硬盤中的多個(gè)數(shù)據(jù)塊中,使得所述多個(gè)數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊存儲(chǔ)ー個(gè)或多個(gè)切片。步驟204、獲取獨(dú)立冗余磁盤陣列的磁盤存儲(chǔ)的條帶大小。具體的,所述磁盤存儲(chǔ)的條帶大小與所述獨(dú)立冗余磁盤陣列中的有效硬盤數(shù)及每個(gè)有效硬盤的數(shù)據(jù)塊大小有關(guān),一般是所述有效硬盤數(shù)與ー個(gè)數(shù)據(jù)塊大小的乘積,由于獨(dú)立冗余磁盤陣列中的硬盤中有ー個(gè)硬盤為校驗(yàn)盤,則除所述校驗(yàn)盤外的其余硬盤稱為有效硬盤。步驟205、在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù)。其中,所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意ー個(gè)切片大小的整數(shù)倍。步驟206、在所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤故障時(shí),禁止在所述獨(dú)立冗余磁盤陣列的硬盤上寫入數(shù)據(jù),并允許讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù)。具體的,在所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤故障時(shí),為了避免所述獨(dú)立冗余磁盤陣列的數(shù)據(jù)損壞,則需要禁止在所述獨(dú)立冗余磁盤陣列的硬盤上寫入數(shù)據(jù),但為了使得所述獨(dú)立冗余磁盤陣列上的數(shù)據(jù)可用,則需要允許讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù),這個(gè)過(guò)程可以稱作獨(dú)立冗余磁盤陣列的故障放通。步驟207、根據(jù)所述讀寫條帶大小讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù)。通過(guò)步驟207,根據(jù)讀寫條帶大小讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù),使得在所述獨(dú)立冗余磁盤陣列上的操作效率提高,由于讀寫條帶大小為所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者為存儲(chǔ)的條帶大小的整數(shù)倍,在讀取時(shí)不會(huì)產(chǎn)生硬盤碎片。步驟208、在讀取到故障數(shù)據(jù)后,對(duì)所述獨(dú)立冗余磁盤陣列的硬盤中的數(shù)據(jù)塊進(jìn)行檢查,如果所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤的數(shù)據(jù)塊有故障數(shù)據(jù)塊,則所述硬盤故障。通過(guò)獲取得到故障的硬盤,獲知所述故障的硬盤的數(shù)據(jù)塊全部不可用,則在需要輸出故障的硬盤的數(shù)據(jù)時(shí),可以采用特殊的編碼進(jìn)行輸出。由于若干切片之間編解碼互不影響,個(gè)別切片的丟失不會(huì)影響視頻整體的播放效果。步驟209、在所述獨(dú)立冗余磁盤陣列的硬盤中獲取所述故障的數(shù)據(jù)塊的前ー個(gè)未故障的數(shù)據(jù)塊的數(shù)據(jù) 。具體的,所述故障的數(shù)據(jù)塊的前ー個(gè)未故障的數(shù)據(jù)塊的數(shù)據(jù)可以是視頻播放時(shí)的
一中貞圖像。步驟210、根據(jù)所述未故障的數(shù)據(jù)塊的數(shù)據(jù)對(duì)所述故障的數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行恢復(fù)。具體的,所述根據(jù)所述未故障的數(shù)據(jù)塊的數(shù)據(jù)對(duì)所述故障的數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行恢復(fù)可以是ー種錯(cuò)誤遮蔽技術(shù),可以將當(dāng)前圖像中殘缺的數(shù)據(jù)利用前一幀圖像的數(shù)據(jù)進(jìn)行補(bǔ)償,這樣,即使存在數(shù)據(jù)丟失,也可總體保證視頻的播放效果。本發(fā)明另ー實(shí)施例提供的視頻訪問(wèn)的方法,由于在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意一個(gè)切片大小的整數(shù)倍,這樣使得一個(gè)數(shù)據(jù)塊中完整保存有ー個(gè)或多個(gè)切片。而現(xiàn)有技術(shù)的切片數(shù)據(jù)要跨越多張硬盤的多個(gè)數(shù)據(jù)塊,與現(xiàn)有技術(shù)相比本發(fā)明實(shí)施例能夠保證在所述獨(dú)立冗余磁盤陣列中有多個(gè)硬盤故障時(shí),所述獨(dú)立冗余磁盤陣列中其他未發(fā)生故障的硬盤的數(shù)據(jù)能夠正常使用。如圖3所示,本發(fā)明實(shí)施例提供的視頻訪問(wèn)的裝置,所述裝置包括第一獲取單元31,用于獲取獨(dú)立冗余磁盤陣列的磁盤存儲(chǔ)的條帶大小。其具體實(shí)現(xiàn)方式參見圖I中步驟101所示,此處不再贅述。讀寫單元32,用于在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù)。其中,所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意ー個(gè)切片大小的整數(shù)倍。。其具體實(shí)現(xiàn)方式參見圖I中步驟102所示,此處不再贅述。進(jìn)ー步的,如圖4所示,所述裝置還包括實(shí)際數(shù)據(jù)處理単元33,用于將視頻源的實(shí)際數(shù)據(jù)劃分為大小相同的若干切片,并傳輸?shù)姜?dú)立冗余磁盤陣列的硬盤中。其具體實(shí)現(xiàn)方式參見圖2中步驟201所示,此處不再贅述。
元數(shù)據(jù)處理単元34,用于將獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)于所述獨(dú)立冗余磁盤陣列的硬盤外的獨(dú)立的硬盤中,使得所述獨(dú)立冗余磁盤陣列的硬盤僅存儲(chǔ)所述視頻源的實(shí)際數(shù)據(jù)。其具體實(shí)現(xiàn)方式參見圖2中步驟202所示,此處不再贅述。所述實(shí)際數(shù)據(jù)處理単元33,還用于將所述若干切片存儲(chǔ)于獨(dú)立冗余磁盤陣列的硬盤中的多個(gè)數(shù)據(jù)塊中,使得所述多個(gè)數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊存儲(chǔ)ー個(gè)或多個(gè)切片。其具體實(shí)現(xiàn)方式參見圖2中步驟203所示,此處不再贅述。進(jìn)ー步的,如圖4所示,所述裝置還 包括;故障檢測(cè)單元35,用于在所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤故障時(shí),檢測(cè)出所述獨(dú)立冗余磁盤陣列的硬盤中的故障硬盤,以確定所述獨(dú)立冗余磁盤陣列中的故障的數(shù)據(jù)塊。其具體實(shí)現(xiàn)方式參見圖2中步驟206-步驟208所示,此處不再贅述。進(jìn)ー步的,如圖4所示,所述故障檢測(cè)單元35包括 故障放通模塊351,用于禁止在所述獨(dú)立冗余磁盤陣列的硬盤上寫入數(shù)據(jù),并允許讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù)。其具體實(shí)現(xiàn)方式參見圖2中步驟206所示,此處不再贅述。讀取模塊352,用于根據(jù)所述讀寫條帶大小讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù)。其具體實(shí)現(xiàn)方式參見圖2中步驟207所示,此處不再贅述。故障檢測(cè)模塊353,用于在讀取到故障數(shù)據(jù)后,對(duì)所述獨(dú)立冗余磁盤陣列的硬盤中的數(shù)據(jù)塊進(jìn)行檢查,如果所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤的數(shù)據(jù)塊有故障數(shù)據(jù)塊,則所述硬盤故障。其具體實(shí)現(xiàn)方式參見圖2中步驟208所示,此處不再贅述。進(jìn)ー步的,如圖4所示,所述裝置還包括第二獲取單元36,用于在所述獨(dú)立冗余磁盤陣列的硬盤中獲取所述故障的數(shù)據(jù)塊的前ー個(gè)未故障的數(shù)據(jù)塊的數(shù)據(jù)。其具體實(shí)現(xiàn)方式參見圖2中步驟209所示,此處不再贅述。數(shù)據(jù)恢復(fù)単元37,用于根據(jù)所述未故障的數(shù)據(jù)塊的數(shù)據(jù)對(duì)所述故障的數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行恢復(fù)。其具體實(shí)現(xiàn)方式參見圖2中步驟210所示,此處不再贅述。本發(fā)明實(shí)施例提供的視頻訪問(wèn)的裝置,由于所述讀寫單元在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的ー個(gè)或多個(gè)切片中任意ー個(gè)切片大小的整數(shù)倍,這樣使得一個(gè)數(shù)據(jù)塊中完整保存有ー個(gè)或多個(gè)切片。而現(xiàn)有技術(shù)的切片數(shù)據(jù)要跨越多張硬盤的多個(gè)數(shù)據(jù)塊,與現(xiàn)有技術(shù)相比本發(fā)明實(shí)施例能夠保證在所述獨(dú)立冗余磁盤陣列中有多個(gè)硬盤故障時(shí),所述獨(dú)立冗余磁盤陣列中其他未發(fā)生故障的硬盤的數(shù)據(jù)能夠正常使用。通過(guò)以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,如計(jì)算機(jī)的軟盤,硬盤或光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等 )執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種視頻訪問(wèn)的方法,其特征在于,包括 獲取獨(dú)立冗余磁盤陣列的磁盤存儲(chǔ)的條帶大??; 在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的一個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的一個(gè)或多個(gè)切片中任意一個(gè)切片大小的整數(shù)倍。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤之前,包括 將視頻源的實(shí)際數(shù)據(jù)劃分為大小相同的若干切片,并傳輸?shù)姜?dú)立冗余磁盤陣列的硬盤中; 將獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)于所述獨(dú)立冗余磁盤陣列的硬盤外的獨(dú)立的硬盤中,使得所述獨(dú)立冗余磁盤陣列的硬盤僅存儲(chǔ)所述視頻源的實(shí)際數(shù)據(jù); 將所述若干切片存儲(chǔ)于獨(dú)立冗余磁盤陣列的硬盤中的多個(gè)數(shù)據(jù)塊中,使得所述多個(gè)數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊存儲(chǔ)一個(gè)或多個(gè)切片。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,還包括; 在所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤故障時(shí),檢測(cè)出所述獨(dú)立冗余磁盤陣列的硬盤中的故障硬盤,以確定所述獨(dú)立冗余磁盤陣列中的故障的數(shù)據(jù)塊。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述檢測(cè)出所述獨(dú)立冗余磁盤陣列的硬盤中的故障硬盤,具體包括 禁止在所述獨(dú)立冗余磁盤陣列的硬盤上寫入數(shù)據(jù),并允許讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù); 根據(jù)所述讀寫條帶大小讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù); 在讀取到故障數(shù)據(jù)后,對(duì)所述獨(dú)立冗余磁盤陣列的硬盤中的數(shù)據(jù)塊進(jìn)行檢查,如果所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤的數(shù)據(jù)塊有故障數(shù)據(jù)塊,則所述硬盤故障。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,在確定所述獨(dú)立冗余磁盤陣列中的故障的數(shù)據(jù)塊之后,包括 在所述獨(dú)立冗余磁盤陣列的硬盤中獲取所述故障的數(shù)據(jù)塊的前一個(gè)未故障的數(shù)據(jù)塊的數(shù)據(jù); 根據(jù)所述未故障的數(shù)據(jù)塊的數(shù)據(jù)對(duì)所述故障的數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行恢復(fù)。
6.一種視頻訪問(wèn)的裝置,其特征在于,包括 第一獲取單元,用于獲取獨(dú)立冗余磁盤陣列的磁盤存儲(chǔ)的條帶大?。? 讀寫單元,用于在訪問(wèn)所述獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫所述獨(dú)立冗余磁盤陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小的整數(shù)倍,所述獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,所述多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的一個(gè)或多個(gè)切片,所述每個(gè)數(shù)據(jù)塊的大小為所述視頻源的實(shí)際數(shù)據(jù)的一個(gè)或多個(gè)切片中任意一個(gè)切片大小的整數(shù)倍。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括 實(shí)際數(shù)據(jù)處理單元,用于將視頻源的實(shí)際數(shù)據(jù)劃分為大小相同的若干切片,并傳輸?shù)姜?dú)立冗余磁盤陣列的硬盤中; 元數(shù)據(jù)處理單元,用于將獨(dú)立冗余磁盤陣列的文件系統(tǒng)元數(shù)據(jù)存儲(chǔ)于所述獨(dú)立冗余磁盤陣列的硬盤外的獨(dú)立的硬盤中,使得所述獨(dú)立冗余磁盤陣列的硬盤僅存儲(chǔ)所述視頻源的實(shí)際數(shù)據(jù); 所述實(shí)際數(shù)據(jù)處理單元,還用于將所述若干切片存儲(chǔ)于獨(dú)立冗余磁盤陣列的硬盤中的多個(gè)數(shù)據(jù)塊中,使得所述多個(gè)數(shù)據(jù)塊中的每個(gè)數(shù)據(jù)塊存儲(chǔ)一個(gè)或多個(gè)切片。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括; 故障檢測(cè)單元,用于在所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤故障時(shí),檢測(cè)出所述獨(dú)立冗余磁盤陣列的硬盤中的故障硬盤,以確定所述獨(dú)立冗余磁盤陣列中的故障的數(shù)據(jù)塊。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述故障檢測(cè)單元包括 故障放通模塊,用于禁止在所述獨(dú)立冗余磁盤陣列的硬盤上寫入數(shù)據(jù),并允許讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù); 讀取模塊,用于根據(jù)所述讀寫條帶大小讀取所述獨(dú)立冗余磁盤陣列的硬盤上的數(shù)據(jù); 故障檢測(cè)模塊,用于在讀取到故障數(shù)據(jù)后,對(duì)所述獨(dú)立冗余磁盤陣列的硬盤中的數(shù)據(jù)塊進(jìn)行檢查,如果所述獨(dú)立冗余磁盤陣列的硬盤中有硬盤的數(shù)據(jù)塊有故障數(shù)據(jù)塊,則所述硬盤故障。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置還包括 第二獲取單元,用于在所述獨(dú)立冗余磁盤陣列的硬盤中獲取所述故障的數(shù)據(jù)塊的前一個(gè)未故障的數(shù)據(jù)塊的數(shù)據(jù); 數(shù)據(jù)恢復(fù)單元,用于根據(jù)所述未故障的數(shù)據(jù)塊的數(shù)據(jù)對(duì)所述故障的數(shù)據(jù)塊中的數(shù)據(jù)進(jìn)行恢復(fù)。
全文摘要
本發(fā)明實(shí)施例公開了一種視頻訪問(wèn)的方法及裝置,涉及數(shù)據(jù)存儲(chǔ)技術(shù)領(lǐng)域,解決了在有多張硬盤故障時(shí),獨(dú)立冗余磁盤陣列中未發(fā)生故障的硬盤存儲(chǔ)的剩余的切片數(shù)據(jù)不可用的問(wèn)題。方法包括在訪問(wèn)獨(dú)立冗余磁盤陣列的硬盤時(shí),根據(jù)讀寫條帶大小讀寫?yīng)毩⑷哂啻疟P陣列的硬盤上的各數(shù)據(jù)塊的數(shù)據(jù),所述讀寫條帶大小與獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶大小相同,或者是所述硬盤存儲(chǔ)的條帶大小的整數(shù)倍,獨(dú)立冗余磁盤陣列的硬盤存儲(chǔ)的條帶中的每個(gè)條帶包括多個(gè)數(shù)據(jù)塊,多個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊存儲(chǔ)有視頻源的實(shí)際數(shù)據(jù)的一個(gè)或多個(gè)切片,每個(gè)數(shù)據(jù)塊的大小為視頻源的實(shí)際數(shù)據(jù)的一個(gè)或多個(gè)切片中任意一個(gè)切片大小的整數(shù)倍。本發(fā)明可應(yīng)用于網(wǎng)絡(luò)視頻監(jiān)控技術(shù)。
文檔編號(hào)G06F3/06GK102662609SQ20121011199
公開日2012年9月12日 申請(qǐng)日期2012年4月16日 優(yōu)先權(quán)日2012年4月16日
發(fā)明者李耀輝 申請(qǐng)人:華為軟件技術(shù)有限公司