本申請(qǐng)涉及存儲(chǔ)
技術(shù)領(lǐng)域:
,尤其涉及一種基于raid(redundantarraysofindependentdisks,獨(dú)立磁盤冗余陣列)磁盤陣列的數(shù)據(jù)讀取方法及裝置。
背景技術(shù):
:raid技術(shù)是將多個(gè)獨(dú)立的物理磁盤按照不同的方式組合起來(lái),形成一個(gè)虛擬磁盤。通過(guò)采用raid技術(shù),可以提高數(shù)據(jù)的讀取速率,以及提高數(shù)據(jù)的可靠性?,F(xiàn)有技術(shù)中,當(dāng)raid磁盤陣列中具有兩個(gè)以上互為冗余鏡像的成員磁盤時(shí),raid磁盤陣列接收到讀io時(shí),可以采取均衡策略拆分讀io,使得拆分后的讀命令均衡地指向raid磁盤陣列中的每個(gè)成員磁盤上,可以使得每個(gè)成員磁盤所承擔(dān)的讀壓力較為均衡。然而,在視頻監(jiān)控應(yīng)用場(chǎng)景下,可以在raid磁盤陣列中劃分多個(gè)邏輯分區(qū),將同一監(jiān)控通道的視頻數(shù)據(jù)存儲(chǔ)到同一邏輯分區(qū)中。當(dāng)同時(shí)對(duì)多個(gè)監(jiān)控通道進(jìn)行視頻回放時(shí),按照上述描述的均衡策略,需要在每個(gè)成員磁盤上的每個(gè)邏輯分區(qū)之間同時(shí)讀取數(shù)據(jù),那么,raid磁盤陣列中每個(gè)成員磁盤的磁頭將在整個(gè)磁盤范圍內(nèi)反復(fù)擺動(dòng),從而導(dǎo)致數(shù)據(jù)讀取效率并不高。技術(shù)實(shí)現(xiàn)要素:有鑒于此,本申請(qǐng)?zhí)峁┮环N基于raid磁盤陣列的數(shù)據(jù)讀取方法及裝置,以在視頻監(jiān)控應(yīng)用場(chǎng)景下,提高多路視頻回放時(shí)的數(shù)據(jù)讀取效率。具體地,本申請(qǐng)是通過(guò)如下技術(shù)方案實(shí)現(xiàn)的:根據(jù)本申請(qǐng)實(shí)施例的第一方面,提供一種基于raid磁盤陣列的數(shù)據(jù)讀取方法,應(yīng)用于存儲(chǔ)設(shè)備,所述存儲(chǔ)設(shè)備預(yù)配置有至少一個(gè)raid磁盤陣列,所述raid磁盤陣列中互為冗余鏡像磁盤的數(shù)目為n,所述n為不小于2的自然數(shù);所述raid磁盤陣列中的所有成員磁盤被劃分為n個(gè)鏡像組,每個(gè)所述鏡像組包括所述raid磁盤陣列的完整數(shù)據(jù);所述raid磁盤陣列包括s個(gè)邏輯分區(qū),所述s為不小于2的自然數(shù),屬于同一監(jiān)控通道的視頻數(shù)據(jù)存儲(chǔ)在同一邏輯分區(qū)中;所述方法包括:確定待讀取的視頻數(shù)據(jù)所對(duì)應(yīng)的目標(biāo)邏輯分區(qū),所述目標(biāo)邏輯分區(qū)的數(shù)目為m,所述m為大于1,且不大于s的自然數(shù);為每個(gè)所述鏡像組分配所述目標(biāo)邏輯分區(qū);在每個(gè)所述鏡像組的成員磁盤上讀取所分配的目標(biāo)邏輯分區(qū)中的視頻數(shù)據(jù)??蛇x的,所述為每個(gè)所述鏡像組分配所述目標(biāo)邏輯分區(qū)包括:基于所述目標(biāo)邏輯分區(qū)各自的物理地址對(duì)所述目標(biāo)邏輯分區(qū)進(jìn)行排序;按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,每個(gè)所述分組中包括至少一個(gè)所述目標(biāo)邏輯分區(qū);為每個(gè)所述鏡像組分別分配一個(gè)所述分組中的所有目標(biāo)邏輯分區(qū)。可選的,所述按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組包括:判斷所述目標(biāo)邏輯分區(qū)的數(shù)目m能否被n整除;若能整除,且商為q,則按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,每個(gè)所述分組中分別包括q個(gè)目標(biāo)邏輯分區(qū);若不能整除,且商為q,余數(shù)為r,則按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,其中r個(gè)分組中分別包括q+1個(gè)目標(biāo)邏輯分區(qū),剩余n-r個(gè)分組中分別包括q個(gè)目標(biāo)邏輯分區(qū)??蛇x的,所述確定待讀取的視頻數(shù)據(jù)所對(duì)應(yīng)的目標(biāo)邏輯分區(qū)包括:在本地存儲(chǔ)的位圖表中,將當(dāng)前值為第一預(yù)設(shè)值的位所對(duì)應(yīng)的邏輯分區(qū)確定為目標(biāo)邏輯分區(qū),所述第一預(yù)設(shè)值表示邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道當(dāng)前在進(jìn)行視頻回放??蛇x的,所述方法還包括:當(dāng)所述邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道停止視頻回放時(shí),在所述位圖表中,將所述邏輯分區(qū)所對(duì)應(yīng)的位的當(dāng)前值置為第二預(yù)設(shè)值,所述第二預(yù)設(shè)值表示邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道當(dāng)前未進(jìn)行視頻回放。根據(jù)本申請(qǐng)實(shí)施例的第二方面,提供一種基于raid磁盤陣列的數(shù)據(jù)讀取裝置,應(yīng)用于存儲(chǔ)設(shè)備,所述存儲(chǔ)設(shè)備預(yù)配置有至少一個(gè)raid磁盤陣列,所述raid磁盤陣列中互為冗余鏡像磁盤的數(shù)目為n,所述n為不小于2的自然數(shù);所述raid磁盤陣列中的所有成員磁盤被劃分為n個(gè)鏡像組,每個(gè)所述鏡像組包括所述raid磁盤陣列的完整數(shù)據(jù);所述raid磁盤陣列包括s個(gè)邏輯分區(qū),所述s為不小于2的自然數(shù),屬于同一監(jiān)控通道的視頻數(shù)據(jù)存儲(chǔ)在同一邏輯分區(qū)中;所述裝置包括:目標(biāo)確定模塊,用于確定待讀取的視頻數(shù)據(jù)所對(duì)應(yīng)的目標(biāo)邏輯分區(qū),所述目標(biāo)邏輯分區(qū)的數(shù)目為m,所述m為大于1,且不大于s的自然數(shù);分配模塊,用于為每個(gè)所述鏡像組分配所述目標(biāo)邏輯分區(qū);讀取模塊,用于在每個(gè)所述鏡像組的成員磁盤上讀取所分配的目標(biāo)邏輯分區(qū)中的視頻數(shù)據(jù)。在一實(shí)施例中,所述分配模塊包括:排序子模塊,用于基于所述目標(biāo)邏輯分區(qū)各自的物理地址對(duì)所述目標(biāo)邏輯分區(qū)進(jìn)行排序;分組子模塊,用于按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,每個(gè)所述分組中包括至少一個(gè)所述目標(biāo)邏輯分區(qū);分配子模塊,用于為每個(gè)所述鏡像組分別分配一個(gè)所述分組中的所有目標(biāo)邏輯分區(qū)。在一實(shí)施例中,所述分組子模塊包括:判斷子模塊,用于判斷所述目標(biāo)邏輯分區(qū)的數(shù)目m能否被n整除;第一處理子模塊,用于若能整除,且商為q,則按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,每個(gè)所述分組中分別包括q個(gè)目標(biāo)邏輯分區(qū);第二處理子模塊,用于若不能整除,且商為q,余數(shù)為r,則按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,其中r個(gè)分組中分別包括q+1個(gè)目標(biāo)邏輯分區(qū),剩余n-r個(gè)分組中分別包括q個(gè)目標(biāo)邏輯分區(qū)。在一實(shí)施例中,所述目標(biāo)確定模塊具體用于:在本地存儲(chǔ)的位圖表中,將當(dāng)前值為第一預(yù)設(shè)值的位所對(duì)應(yīng)的邏輯分區(qū)確定為目標(biāo)邏輯分區(qū),所述第一預(yù)設(shè)值表示邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道當(dāng)前在進(jìn)行視頻回放。在一實(shí)施例中,所述裝置還包括:重置模塊,用于當(dāng)所述邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道停止視頻回放時(shí),在所述位圖表中,將所述邏輯分區(qū)所對(duì)應(yīng)的位的當(dāng)前值置為第二預(yù)設(shè)值,所述第二預(yù)設(shè)值表示邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道當(dāng)前未進(jìn)行視頻回放。由上述實(shí)施例可見,通過(guò)將raid磁盤陣列中的成員磁盤劃分為鏡像組,每個(gè)鏡像組包括raid磁盤陣列的完整數(shù)據(jù),并為每個(gè)鏡像組分配待讀取的視頻數(shù)據(jù)所對(duì)應(yīng)的目標(biāo)邏輯分區(qū),后續(xù)在每個(gè)鏡像組的成員磁盤上讀取所分配的目標(biāo)邏輯分區(qū)中的視頻數(shù)據(jù),由于在每個(gè)成員磁盤上僅讀取所分配的目標(biāo)邏輯分區(qū)中的視頻數(shù)據(jù),縮小每個(gè)成員磁盤上的讀取范圍,從而減小了每個(gè)成員磁盤的磁頭擺動(dòng)范圍和擺動(dòng)頻率,從而在視頻監(jiān)控應(yīng)用場(chǎng)景下,提高了多路視頻回放時(shí)的數(shù)據(jù)讀取效率。附圖說(shuō)明圖1示例了相關(guān)技術(shù)中raid磁盤陣列的示意圖;圖2a為本申請(qǐng)基于raid磁盤陣列的數(shù)據(jù)讀取方法的一個(gè)實(shí)施例流程圖;圖2b為位圖表的一種示例;圖2c為鏡像組與目標(biāo)邏輯分區(qū)分配關(guān)系的一種示例;圖2d為鏡像組與目標(biāo)邏輯分區(qū)分配關(guān)系的另一種示例;圖2e為鏡像組與目標(biāo)邏輯分區(qū)分配關(guān)系的又一種示例;圖3為本申請(qǐng)基于raid磁盤陣列的數(shù)據(jù)讀取裝置所在存儲(chǔ)設(shè)備的一種硬件結(jié)構(gòu)圖;圖4為本申請(qǐng)基于raid磁盤陣列的數(shù)據(jù)讀取裝置的一個(gè)實(shí)施例框圖。具體實(shí)施方式這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本申請(qǐng)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書中所詳述的、本申請(qǐng)的一些方面相一致的裝置和方法的例子。在本申請(qǐng)使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。應(yīng)當(dāng)理解,盡管在本申請(qǐng)可能采用術(shù)語(yǔ)第一、第二、第三等來(lái)描述各種信息,但這些信息不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請(qǐng)范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語(yǔ)境,如在此所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。請(qǐng)參見圖1,示例了相關(guān)技術(shù)中raid磁盤陣列的示意圖。該圖1中,以raid10陣列為例,該raid10陣列中互為冗余鏡像磁盤的數(shù)目為2,其中,磁盤11和磁盤12互為冗余鏡像磁盤,磁盤13和磁盤14互為冗余鏡像磁盤。在該raid10陣列中包括10個(gè)邏輯分區(qū),如圖1中所示例的邏輯分區(qū)lv1至邏輯分區(qū)lv10,該10個(gè)邏輯分區(qū)中可以分別存儲(chǔ)10個(gè)監(jiān)控通道的視頻數(shù)據(jù),例如,可以預(yù)設(shè)設(shè)置每個(gè)邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道,如下表1所示,為邏輯分區(qū)與監(jiān)控通道之間對(duì)應(yīng)關(guān)系的一種示例:表1邏輯分區(qū)監(jiān)控通道邏輯分區(qū)lv1101邏輯分區(qū)lv2102邏輯分區(qū)lv3103…邏輯分區(qū)lv9109邏輯分區(qū)lv10110根據(jù)上述表1所示例的邏輯分區(qū)與監(jiān)控通道之間的對(duì)應(yīng)關(guān)系,當(dāng)獲取到某個(gè)監(jiān)控通道采集到視頻數(shù)據(jù)后,可以將視頻數(shù)據(jù)寫入該監(jiān)控通道對(duì)應(yīng)的邏輯分區(qū)中。在現(xiàn)有技術(shù)中,若用戶選擇同時(shí)回放該10個(gè)監(jiān)控通道的視頻數(shù)據(jù),那么磁盤11至磁盤14各自的磁頭將在整個(gè)磁盤范圍內(nèi)反復(fù)擺動(dòng),從而導(dǎo)致數(shù)據(jù)讀取效率不高。為了提高基于raid磁盤陣列的數(shù)據(jù)讀取效率,本申請(qǐng)?zhí)峁┮环N基于raid磁盤陣列的數(shù)據(jù)讀取方法及裝置,如下,首先列舉下述實(shí)施例說(shuō)明本申請(qǐng)?zhí)峁┑幕趓aid磁盤陣列的數(shù)據(jù)讀取方法。請(qǐng)參見圖2a,為本申請(qǐng)基于raid磁盤陣列的數(shù)據(jù)讀取方法的一個(gè)實(shí)施例流程圖,該方法可以應(yīng)用于存儲(chǔ)設(shè)備上,該存儲(chǔ)設(shè)備上預(yù)配置有至少一個(gè)raid磁盤陣列,raid磁盤陣列中互為冗余鏡像磁盤的數(shù)目為n,n為不小于2的自然數(shù);raid磁盤陣列中的所有成員磁盤被劃分為n個(gè)鏡像組,每個(gè)鏡像組包括raid磁盤陣列的完整數(shù)據(jù);raid磁盤陣列包括s個(gè)邏輯分區(qū),s為不小于2的自然數(shù),屬于同一監(jiān)控通道的視頻數(shù)據(jù)存儲(chǔ)在同一邏輯分區(qū)中。以圖1所示例的raid10陣列為例,其中互為冗余鏡像磁盤的數(shù)目為2,那么本申請(qǐng)中可以將該raid磁盤陣列中的4個(gè)磁盤劃分為2個(gè)鏡像組,其中,可以將磁盤11和磁盤13劃分為一個(gè)鏡像組,為了描述方便,將該鏡像組稱為第一鏡像組;磁盤12和磁盤14劃分為一個(gè)鏡像組,為了描述方便,將該鏡像組稱為第二鏡像組,那么,每個(gè)鏡像組中可以包括該raid10陣列中的完整數(shù)據(jù),該方法可以包括以下步驟:步驟201:確定待讀取的視頻數(shù)據(jù)所對(duì)應(yīng)的目標(biāo)邏輯分區(qū),目標(biāo)邏輯分區(qū)的數(shù)據(jù)為m,m為大于1,且不大于s的自然數(shù)。在實(shí)際應(yīng)用中,用戶可以選擇對(duì)至少一個(gè)監(jiān)控通道進(jìn)行視頻回放,當(dāng)對(duì)監(jiān)控通道進(jìn)行視頻回放時(shí),可以在raid磁盤陣列中的與該監(jiān)控通道對(duì)應(yīng)的邏輯分區(qū)中讀取視頻數(shù)據(jù),在本申請(qǐng)中,為了描述方便,將待進(jìn)行視頻回放的監(jiān)控通道所采集到的視頻數(shù)據(jù)稱為待讀取的視頻數(shù)據(jù),將待讀取的視頻數(shù)據(jù)所存儲(chǔ)的邏輯分區(qū)稱為目標(biāo)邏輯分區(qū),并且,在本申請(qǐng)中,主要針對(duì)用戶選擇對(duì)多個(gè)監(jiān)控通道同時(shí)進(jìn)行視頻回放的應(yīng)用場(chǎng)景,那么,本申請(qǐng)中目標(biāo)邏輯分區(qū)的數(shù)目可以大于1,并且小于raid磁盤陣列包括的邏輯分區(qū)的總數(shù)目。在一個(gè)可選的實(shí)現(xiàn)方式中,可以通過(guò)位圖表對(duì)當(dāng)前正在進(jìn)行視頻回放的監(jiān)控通道所對(duì)應(yīng)的邏輯分區(qū)進(jìn)行記錄。例如,可以根據(jù)raid磁盤陣列中包括的邏輯分區(qū)的總數(shù)目申請(qǐng)一個(gè)位圖表空間,例如,如圖1所示例的raid磁盤陣列中包括10個(gè)邏輯分區(qū),則可以預(yù)先申請(qǐng)一個(gè)具有10個(gè)位的位圖表空間,該位圖表空間中的每一位,按照從左到右,從上到下的順序可以依次對(duì)應(yīng)邏輯分區(qū)lv1至邏輯分區(qū)lv10。初始狀態(tài)下,該位圖表空間中每一位上的值可以為第二預(yù)設(shè)值,例如為“0”,當(dāng)值為0時(shí),可以表示當(dāng)前未在該位所對(duì)應(yīng)的邏輯分區(qū)中進(jìn)行數(shù)據(jù)讀取,即該對(duì)應(yīng)的邏輯分區(qū)所對(duì)應(yīng)的監(jiān)控通道當(dāng)前未進(jìn)行視頻回放。當(dāng)用戶選擇對(duì)某個(gè)監(jiān)控通道進(jìn)行視頻回放時(shí),存儲(chǔ)設(shè)備可以將位圖表中與該監(jiān)控通道對(duì)應(yīng)的邏輯分區(qū)所對(duì)應(yīng)的位上的值更改為第一預(yù)設(shè)值,例如為“1”,當(dāng)值為1時(shí),可以表示當(dāng)前欲在該位所對(duì)應(yīng)的邏輯分區(qū)中進(jìn)行數(shù)據(jù)讀取,即該對(duì)應(yīng)的邏輯分區(qū)所對(duì)應(yīng)的監(jiān)控通道當(dāng)前正進(jìn)行視頻回放。假設(shè)用戶通過(guò)客戶端的監(jiān)控視頻管理軟件選擇對(duì)監(jiān)控通道102、監(jiān)控通道104、監(jiān)控通道106,以及監(jiān)控通道108同時(shí)進(jìn)行視頻回放,那么,則可以根據(jù)上述描述設(shè)置位圖表,例如,如圖2b所示,為位圖表的一種示例。那么,則可以根據(jù)圖2b所示例的位圖表確定待讀取的視頻數(shù)據(jù)所對(duì)應(yīng)的目標(biāo)邏輯分區(qū),例如,在圖2b所示例的位圖表中,將值為“1”的位所對(duì)應(yīng)的邏輯分區(qū)確定為目標(biāo)邏輯分區(qū),所確定的目標(biāo)邏輯分區(qū)包括邏輯分區(qū)lv2、邏輯分區(qū)lv4、邏輯分區(qū)lv6,以及邏輯分區(qū)lv8。步驟202:為每個(gè)鏡像組分配目標(biāo)邏輯分區(qū)。在本申請(qǐng)中,步驟201中所確定的目標(biāo)邏輯分區(qū)的數(shù)目m可以不小于raid磁盤陣列中鏡像組的數(shù)目n,此時(shí),可以將步驟201中確定的目標(biāo)邏輯分區(qū)分配給每個(gè)鏡像組,其中,同一目標(biāo)邏輯分區(qū)分配給一個(gè)鏡像組,每個(gè)鏡像組至少分配一個(gè)目標(biāo)邏輯分區(qū)。在一個(gè)可選的實(shí)現(xiàn)方式中,首先可以基于目標(biāo)邏輯分區(qū)各自的物理地址對(duì)目標(biāo)邏輯分區(qū)進(jìn)行排序。由圖1所示例的磁盤陣列的示意圖以及上述描述的位圖表中的位與邏輯分區(qū)之間的對(duì)應(yīng)關(guān)系可知,可以在圖2b所示例的位圖表中,按照從左向右,從上到下的順序,對(duì)值為“1”的位所對(duì)應(yīng)的目標(biāo)邏輯分區(qū)進(jìn)行排序,如此排序即是按照目標(biāo)邏輯分區(qū)的物理地址進(jìn)行排序的,例如,最終得到的排列順序?yàn)椤斑壿嫹謪^(qū)lv2、邏輯分區(qū)lv4、邏輯分區(qū)lv6、邏輯分區(qū)lv8”。后續(xù),則可以按照排列順序,將m個(gè)目標(biāo)邏輯分區(qū)劃分為n組,每組至少包括一個(gè)目標(biāo)邏輯分區(qū),例如,將4個(gè)目標(biāo)邏輯分區(qū)劃分為2組,假設(shè)該2組分別為“邏輯分區(qū)lv2、邏輯分區(qū)lv4”和“邏輯分區(qū)lv6、邏輯分區(qū)lv8”;后續(xù),為每個(gè)鏡像組分別分配一個(gè)分組中所有的目標(biāo)邏輯分區(qū),例如,將邏輯分區(qū)lv2和邏輯分區(qū)lv4分配給第一鏡像組,將邏輯分區(qū)lv6和邏輯分區(qū)lv8分配給第二鏡像組;或者將邏輯分區(qū)lv6和邏輯分區(qū)lv8分配給第一鏡像組,將邏輯分區(qū)lv2和邏輯分區(qū)lv4分配給第二鏡像組;如圖2c所示,為鏡像組與目標(biāo)邏輯分區(qū)分配關(guān)系的一種示例。在另一個(gè)可選的實(shí)現(xiàn)方式中,基于目標(biāo)邏輯分區(qū)各自的物理地址對(duì)目標(biāo)邏輯分區(qū)進(jìn)行排序之后,可以首先判斷目標(biāo)邏輯分區(qū)的數(shù)目m能否被鏡像組的數(shù)目n整除。若目標(biāo)邏輯分區(qū)的數(shù)目m能被鏡像組的數(shù)目n整除,且商為q,則可以按照目標(biāo)邏輯分區(qū)的排列順序,將m個(gè)目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,每個(gè)分組分別包括q個(gè)目標(biāo)邏輯分區(qū)。例如,假設(shè)目標(biāo)邏輯分區(qū)的數(shù)目為6,按照物理地址的排序順序依次為邏輯分區(qū)lv1、邏輯分區(qū)lv2、邏輯分區(qū)lv3、邏輯分區(qū)lv8、邏輯分區(qū)lv9,以及邏輯分區(qū)lv10,鏡像組的數(shù)目為2,包括第一鏡像組和第二鏡像組,6可以被2整除,此時(shí),則可以按照目錄邏輯分區(qū)的排列順序,將該6個(gè)目標(biāo)邏輯分區(qū)劃分為2個(gè)分組,其中前3個(gè)目標(biāo)邏輯分區(qū)劃分為一個(gè)分組,后3個(gè)目標(biāo)邏輯分區(qū)劃分為另一個(gè)分組;后續(xù),為每個(gè)鏡像組分配一個(gè)分組中的目標(biāo)邏輯分區(qū),例如,將邏輯分區(qū)lv1至邏輯分區(qū)lv3分配給第一鏡像組,將邏輯分區(qū)lv8至邏輯分區(qū)lv10分配給第二鏡像組;或者將邏輯分區(qū)lv8至邏輯分區(qū)lv10分配給第一鏡像組,將邏輯分區(qū)lv1至邏輯分區(qū)lv3分配給第二鏡像組;如圖2d所示,為鏡像組與目標(biāo)邏輯分區(qū)分配關(guān)系的另一種示例。若目標(biāo)邏輯分區(qū)的數(shù)目m不能被鏡像組的數(shù)目n整除,且商為q,余數(shù)為r,則可以按照目標(biāo)邏輯分區(qū)的排列順序,將m個(gè)目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,其中r個(gè)分組分別包括q+1個(gè)目標(biāo)邏輯分區(qū),剩余n-r個(gè)分組中分別包括q個(gè)目標(biāo)邏輯分區(qū)。例如,假設(shè)目標(biāo)邏輯分區(qū)的數(shù)目為8,按照物理地址的排序順序依次為邏輯分區(qū)lv1、邏輯分區(qū)lv2、邏輯分區(qū)lv3、邏輯分區(qū)lv4、邏輯分區(qū)lv5、邏輯分區(qū)lv6、邏輯分區(qū)lv7,以及邏輯分區(qū)lv8,鏡像組的數(shù)目為3,包括第一鏡像組、第二鏡像組以及第三鏡像組,8不可以被3整除,并且商為2,余數(shù)為2,此時(shí),則可以按照目標(biāo)邏輯分區(qū)的排列順序,將該8個(gè)目標(biāo)邏輯分區(qū)劃分為3個(gè)分組,其中的2個(gè)分組分別包括3個(gè)目標(biāo)邏輯分區(qū),剩余1個(gè)分組包括2個(gè)目標(biāo)邏輯分區(qū),例如,將邏輯分區(qū)lv1、邏輯分區(qū)lv2以及邏輯分區(qū)lv3劃分為一個(gè)分組,將邏輯分區(qū)4、邏輯分區(qū)5以及邏輯分區(qū)6劃分為另一個(gè)分組,將邏輯分區(qū)7和邏輯分區(qū)lv8劃分為又一個(gè)分組;后續(xù),為每個(gè)鏡像組分配一個(gè)分組中的目標(biāo)邏輯分區(qū),例如,將邏輯分區(qū)lv1至邏輯分區(qū)lv3分配給第一鏡像組,將邏輯分區(qū)lv4至邏輯分區(qū)lv6分配給第二鏡像組,將邏輯分區(qū)lv7和邏輯分區(qū)lv8分配給第三鏡像組;如圖2e所示,為鏡像組與目標(biāo)邏輯分區(qū)分配關(guān)系的又一種示例。需要說(shuō)明的是,上述對(duì)目標(biāo)邏輯分區(qū)的分組結(jié)果以及為鏡像組分配目標(biāo)邏輯分區(qū)的分配結(jié)果僅僅作為舉例,在實(shí)際應(yīng)用中還可以有其他的分組結(jié)果和分配結(jié)果,例如,將邏輯分區(qū)lv1和邏輯分區(qū)lv2劃分為一個(gè)分組,將邏輯分區(qū)lv3至邏輯分區(qū)lv5劃分為另一個(gè)分組,將邏輯分區(qū)lv6至邏輯分區(qū)lv8劃分為另一個(gè)分組,后續(xù)分別為第一鏡像組至第三鏡像組分別分配一個(gè)分組中的所有目標(biāo)邏輯分區(qū),本申請(qǐng)對(duì)此不作限制。此外,還需要說(shuō)明的是,在本申請(qǐng)中,步驟201中所確定的目標(biāo)邏輯分區(qū)的數(shù)目m可以小于raid磁盤陣列中鏡像組的數(shù)目n,此時(shí),則可以為n個(gè)鏡像組中的任意m個(gè)鏡像組分別分配一個(gè)目標(biāo)邏輯分區(qū)。例如,假設(shè)目標(biāo)邏輯分區(qū)的數(shù)目為3,按照物理地址的排列順序依次為邏輯分區(qū)lv2、邏輯分區(qū)lv3、邏輯分區(qū)lv4,鏡像組的數(shù)量為4,包括第一鏡像組、第二鏡像組、第三鏡像組以及第四鏡像組,此時(shí),則可以為該4個(gè)鏡像組中的任意3個(gè)鏡像組分別分配一個(gè)目標(biāo)邏輯分區(qū),例如,為第一鏡像組分配邏輯分區(qū)lv2,為第二鏡像組分區(qū)邏輯分區(qū)lv3,為第三鏡像組分配邏輯分區(qū)lv4。步驟203:在每個(gè)鏡像組的成員磁盤上讀取所分配的目標(biāo)邏輯分區(qū)中的視頻數(shù)據(jù)。在一實(shí)施例中,以圖2c所示例的鏡像組與目標(biāo)邏輯分區(qū)分配關(guān)系為例,可以在第一鏡像組的成員磁盤上讀取邏輯分區(qū)lv2和邏輯分區(qū)lv4中的視頻數(shù)據(jù),在第二鏡像組的成員磁盤上讀取邏輯分區(qū)lv6和邏輯分區(qū)lv8中的視頻數(shù)據(jù),相較于現(xiàn)有技術(shù)中的在raid磁盤陣列的每個(gè)成員磁盤上都讀取邏輯分區(qū)lv2、邏輯分區(qū)lv4、邏輯分區(qū)lv6以及邏輯分區(qū)lv8而言,raid磁盤陣列的每個(gè)成員磁盤上的讀取范圍縮小了,從而每個(gè)成員磁盤的磁頭擺動(dòng)范圍和擺動(dòng)頻率都減小了,從而提高了數(shù)據(jù)讀取效率。在一實(shí)施例中,以圖2d所示例的鏡像組與目標(biāo)邏輯分區(qū)分配關(guān)系為例,可以在第一鏡像組的成員磁盤上讀取邏輯分區(qū)lv1至邏輯分區(qū)lv3中的視頻數(shù)據(jù),在第二鏡像組的成員磁盤上讀取邏輯分區(qū)lv8至lv10中的視頻數(shù)據(jù),由于縮小了raid磁盤陣列的每個(gè)成員磁盤上的讀取范圍,并且,由于在每個(gè)成員磁盤上所讀取的邏輯分區(qū)均相鄰,從而減小了每個(gè)成員磁盤的磁頭擺動(dòng)范圍和擺動(dòng)頻率,從而可以提高數(shù)據(jù)讀取效率。通過(guò)上述描述可想而知,當(dāng)raid磁盤陣列中包括很多個(gè),例如100個(gè)邏輯分區(qū)時(shí),若讀取前10個(gè)和后10個(gè)邏輯分區(qū)中的視頻數(shù)據(jù),按照本申請(qǐng)?zhí)峁┑姆椒?,可以大大減小了每個(gè)成員磁盤的磁頭擺動(dòng)范圍和擺動(dòng)頻率,從而可以較大地提高數(shù)據(jù)讀取效率。此外,在本申請(qǐng)中,當(dāng)某個(gè)監(jiān)控通道停止視頻回放時(shí),例如回放完畢,則可以在圖2b所示例的位圖表中,將該監(jiān)控通道對(duì)應(yīng)的邏輯分區(qū)所對(duì)應(yīng)的位上的值置為第二預(yù)設(shè)值,例如置為“0”,以表示該監(jiān)控通道已停止視頻回放。進(jìn)一步地,當(dāng)位圖表發(fā)生變化時(shí),可以觸發(fā)重新進(jìn)行邏輯分區(qū)與鏡像組的分配過(guò)程,具體監(jiān)測(cè)位圖表發(fā)生變化的實(shí)現(xiàn)方式可以有多種,例如,可以通過(guò)更改標(biāo)志位的方式,又例如可以通過(guò)設(shè)置監(jiān)聽的方式,本申請(qǐng)不再一一舉例,并且本申請(qǐng)對(duì)此不作限制。通過(guò)上述描述,本申請(qǐng)中通過(guò)位圖表對(duì)當(dāng)前正在進(jìn)行視頻回放的監(jiān)控通道所對(duì)應(yīng)的邏輯分區(qū)進(jìn)行記錄,可以實(shí)現(xiàn)及時(shí)地根據(jù)實(shí)際應(yīng)用,重新分配鏡像組與目標(biāo)邏輯分區(qū),以實(shí)時(shí)地提高數(shù)據(jù)讀取效率。此外,需要說(shuō)明的是,在目標(biāo)邏輯分區(qū)的數(shù)目為1的應(yīng)用場(chǎng)景中,仍可適用上述所描述的基于raid磁盤陣列的數(shù)據(jù)讀取方法,從而本申請(qǐng)?zhí)峁┑幕趓aid磁盤陣列的數(shù)據(jù)讀取方法具有較好的適應(yīng)性。由上述實(shí)施例可見,通過(guò)將raid磁盤陣列中的成員磁盤劃分為鏡像組,每個(gè)鏡像組包括raid磁盤陣列的完整數(shù)據(jù),并為每個(gè)鏡像組分配待讀取的視頻數(shù)據(jù)所對(duì)應(yīng)的目標(biāo)邏輯分區(qū),后續(xù)在每個(gè)鏡像組的成員磁盤上讀取所分配的目標(biāo)邏輯分區(qū)中的視頻數(shù)據(jù),由于在每個(gè)成員磁盤上僅讀取所分配的目標(biāo)邏輯分區(qū)中的視頻數(shù)據(jù),縮小每個(gè)成員磁盤上的讀取范圍,從而減小了每個(gè)成員磁盤的磁頭擺動(dòng)范圍和擺動(dòng)頻率,從而在視頻監(jiān)控應(yīng)用場(chǎng)景下,提高了多路視頻回放時(shí)的數(shù)據(jù)讀取效率。與前述基于raid磁盤陣列的數(shù)據(jù)讀取方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了基于raid磁盤陣列的數(shù)據(jù)讀取裝置的實(shí)施例。本申請(qǐng)基于raid磁盤陣列的數(shù)據(jù)讀取裝置的實(shí)施例可以應(yīng)用在存儲(chǔ)設(shè)備上。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在存儲(chǔ)設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖3所示,為本申請(qǐng)基于raid磁盤陣列的數(shù)據(jù)讀取裝置所在存儲(chǔ)設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器31、內(nèi)存32、網(wǎng)絡(luò)接口33、以及非易失性存儲(chǔ)器34之外,實(shí)施例中裝置所在的存儲(chǔ)設(shè)備通常根據(jù)該存儲(chǔ)設(shè)備的實(shí)際功能,還可以包括其他硬件,對(duì)此不再贅述。請(qǐng)參考圖4,為本申請(qǐng)基于raid磁盤陣列的數(shù)據(jù)讀取裝置的一個(gè)實(shí)施例框圖,該裝置可以應(yīng)用于存儲(chǔ)設(shè)備,該存儲(chǔ)設(shè)備可以預(yù)配置有至少一個(gè)raid磁盤陣列,該raid磁盤陣列中互為冗余鏡像磁盤的數(shù)目為n,n為不小于2的自然數(shù);該raid磁盤陣列中的所有成員磁盤被劃分為n個(gè)鏡像組,每個(gè)鏡像組包括raid磁盤陣列的完整數(shù)據(jù);該raid磁盤陣列包括s個(gè)邏輯分區(qū),s為不小于2的自然數(shù),屬于同一監(jiān)控通道的視頻數(shù)據(jù)存儲(chǔ)在同一邏輯分區(qū)中;該裝置可以包括:目標(biāo)確定模塊41、分配模塊42、讀取模塊43。其中,該目標(biāo)確定模塊41,可以用于確定待讀取的視頻數(shù)據(jù)所對(duì)應(yīng)的目標(biāo)邏輯分區(qū),所述目標(biāo)邏輯分區(qū)的數(shù)目為m,所述m為大于1,且不大于s的自然數(shù);該分配模塊42,可以用于為每個(gè)所述鏡像組分配所述目標(biāo)邏輯分區(qū);該讀取模塊43,可以用于在每個(gè)所述鏡像組的成員磁盤上讀取所分配的目標(biāo)邏輯分區(qū)中的視頻數(shù)據(jù)。在一實(shí)施例中,所述分配模塊42可以包括(圖4中并未示出):排序子模塊,用于基于所述目標(biāo)邏輯分區(qū)各自的物理地址對(duì)所述目標(biāo)邏輯分區(qū)進(jìn)行排序;分組子模塊,用于按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,每個(gè)所述分組中包括至少一個(gè)所述目標(biāo)邏輯分區(qū);分配子模塊,用于為每個(gè)所述鏡像組分別分配一個(gè)所述分組中的所有目標(biāo)邏輯分區(qū)。在一實(shí)施例中,所述分組子模塊可以包括(圖4中并未示出):判斷子模塊,用于判斷所述目標(biāo)邏輯分區(qū)的數(shù)目m能否被n整除;第一處理子模塊,用于若能整除,且商為q,則按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,每個(gè)所述分組中分別包括q個(gè)目標(biāo)邏輯分區(qū);第二處理子模塊,用于若不能整除,且商為q,余數(shù)為r,則按照排列順序,將m個(gè)所述目標(biāo)邏輯分區(qū)劃分為n個(gè)分組,其中r個(gè)分組中分別包括q+1個(gè)目標(biāo)邏輯分區(qū),剩余n-r個(gè)分組中分別包括q個(gè)目標(biāo)邏輯分區(qū)。在一實(shí)施例中,所述目標(biāo)確定模塊41可以具體用于:在本地存儲(chǔ)的位圖表中,將當(dāng)前值為第一預(yù)設(shè)值的位所對(duì)應(yīng)的邏輯分區(qū)確定為目標(biāo)邏輯分區(qū),所述第一預(yù)設(shè)值表示邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道當(dāng)前在進(jìn)行視頻回放。在一實(shí)施例中,所述裝置還可以包括(圖4中并未示出):重置模塊,用于當(dāng)所述邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道停止視頻回放時(shí),在所述位圖表中,將所述邏輯分區(qū)所對(duì)應(yīng)的位的當(dāng)前值置為第二預(yù)設(shè)值,所述第二預(yù)設(shè)值表示邏輯分區(qū)對(duì)應(yīng)的監(jiān)控通道當(dāng)前未進(jìn)行視頻回放。上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。當(dāng)前第1頁(yè)12