專利名稱:一種云存儲(chǔ)方法及其云控制服務(wù)器、云存儲(chǔ)服務(wù)器和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)及網(wǎng)絡(luò)信息技術(shù)領(lǐng)域,尤其涉及一種云存儲(chǔ)方法及其云控制服務(wù)器、云存儲(chǔ)服務(wù)器和系統(tǒng)。
背景技術(shù):
隨著計(jì)算機(jī)和網(wǎng)路的不斷發(fā)展及高清視頻的普及,存儲(chǔ)多媒體所需的空間不斷的增長(zhǎng),傳統(tǒng)的存儲(chǔ)架構(gòu)已經(jīng)很難滿足需求。云存儲(chǔ)以其海量的存儲(chǔ)空間、高可靠性、高并發(fā)、高可擴(kuò)展性及高性價(jià)比等特性逐漸展露頭角。為了實(shí)現(xiàn)云存儲(chǔ)的高可靠性,主流云存儲(chǔ)系統(tǒng)一般是以副本的方式實(shí)現(xiàn)容錯(cuò)的。數(shù)據(jù)或者文件被分割成一定大小的數(shù)據(jù)塊,而每個(gè)數(shù)據(jù)復(fù)制至少兩個(gè)副本保存到不同的云存儲(chǔ)服務(wù)器上。采樣副本無(wú)疑是最簡(jiǎn)單、最可靠、最有效而且實(shí)現(xiàn)難度最小的一種方式,但顯然空間利用率并不理想。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明要解決的技術(shù)問(wèn)題是提供一種云存儲(chǔ)方法及其云控制服務(wù)器、云存儲(chǔ)服務(wù)器和系統(tǒng),用以提高容錯(cuò)能力的同時(shí),提高存儲(chǔ)空間的利用率。本發(fā)明解決上述技術(shù)問(wèn)題所采用的技術(shù)方案如下:根據(jù)本發(fā)明的一個(gè)方面,提供的一種云存儲(chǔ)方法,用于存取監(jiān)控視頻數(shù)據(jù),其特征在于,該方法包括:
接收客戶端上傳監(jiān)控視頻文件的請(qǐng)求,其中,監(jiān)控視頻文件為預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的至少兩個(gè)數(shù)據(jù)塊;將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊按η個(gè)一組進(jìn)行分組,其中,η為大于I的整數(shù);將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中。優(yōu)選地,上述將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中的步驟包括:選擇當(dāng)前負(fù)荷較輕的η+1臺(tái)云存儲(chǔ)服務(wù)器分別存儲(chǔ)每組的η個(gè)數(shù)據(jù)塊和一個(gè)校驗(yàn)塊;存儲(chǔ)數(shù)據(jù)塊的云存儲(chǔ)服務(wù)器接收并保存客戶端上傳的數(shù)據(jù)塊,并將數(shù)據(jù)塊轉(zhuǎn)發(fā)給存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器進(jìn)行緩存;存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器緩存完該組的η個(gè)數(shù)據(jù)塊后,根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊并保存。優(yōu)選地,上述根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊是對(duì)該組的η個(gè)數(shù)據(jù)塊進(jìn)行異或操作產(chǎn)生一個(gè)校驗(yàn)塊。優(yōu)選地,上述根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊之前還包括:當(dāng)緩存的η個(gè)數(shù)據(jù)塊長(zhǎng)度不一致時(shí),將長(zhǎng)度短的數(shù)據(jù)塊的數(shù)據(jù)尾部用O補(bǔ)足為一致;優(yōu)選地,上述根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊之后還包括:清除緩存的η個(gè)數(shù)據(jù)塊。優(yōu)選地,上述方法之后還包括:當(dāng)獲知有數(shù)據(jù)塊丟失時(shí),云控制服務(wù)器選擇一云存儲(chǔ)服務(wù)器根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)并保存丟失的數(shù)據(jù)塊;或云控制服務(wù)器自身根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)丟失的數(shù)據(jù)塊,并存儲(chǔ)到一云存儲(chǔ)服務(wù)器中。根據(jù)本發(fā)明的另一個(gè)方面,提供的一種云控制服務(wù)器包括請(qǐng)求接收模塊、分組模塊和控制模塊,其中:請(qǐng)求接收模塊,用于接收客戶端上傳監(jiān)控視頻文件的請(qǐng)求,監(jiān)控視頻文件為預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的至少兩個(gè)數(shù)據(jù)塊;分組模塊,用于將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊按η個(gè)一組進(jìn)行分組,其中η為大于I的整數(shù);控制模塊,用于將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中。優(yōu)選地,控制模塊具體用于:選擇當(dāng)前負(fù)荷較輕的一云存儲(chǔ)服務(wù)器根據(jù)該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊并保存,負(fù)荷較輕的η臺(tái)云存儲(chǔ)服務(wù)器分別存儲(chǔ)該組的η個(gè)數(shù)據(jù)塊。優(yōu)選地,上述云控制服務(wù)器還包括恢復(fù)模塊,用于獲知有數(shù)據(jù)塊丟失時(shí),選擇一云存儲(chǔ)服務(wù)器根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)并保存丟失的數(shù)據(jù)塊;或自身根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)丟失的數(shù)據(jù)塊,并存儲(chǔ)到一云存儲(chǔ)服務(wù)器中。根據(jù)本發(fā)明的又一個(gè)方面,提供的一種云存儲(chǔ)服務(wù)器包括存儲(chǔ)模塊、轉(zhuǎn)發(fā)模塊和校驗(yàn)塊生成模塊,其中:存儲(chǔ)模塊,用于保存接收到的數(shù)據(jù)塊;轉(zhuǎn)發(fā)模塊,用于存儲(chǔ)數(shù)據(jù)塊時(shí),將接收到的數(shù)據(jù)塊轉(zhuǎn)發(fā)給存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器進(jìn)行緩存;校驗(yàn)塊生成模塊,用于緩存完每組的η個(gè)數(shù)據(jù)塊后,對(duì)緩存的η個(gè)數(shù)據(jù)塊進(jìn)行異或操作產(chǎn)生校驗(yàn)塊并保存。優(yōu)選地,云存儲(chǔ)服務(wù)器還包括:補(bǔ)足模塊,用于當(dāng)緩存的η個(gè)數(shù)據(jù)塊長(zhǎng)度不一致時(shí),將長(zhǎng)度短的數(shù)據(jù)塊的數(shù)據(jù)尾部用O補(bǔ)足為一致;清除模塊,用于當(dāng)該組的η個(gè)數(shù)據(jù)塊產(chǎn)生校驗(yàn)塊之后清除緩存的η個(gè)數(shù)據(jù)塊;根據(jù)本發(fā)明的再一個(gè)方面,提供的一種監(jiān)控視頻數(shù)據(jù)的云存儲(chǔ)系統(tǒng)用于存取監(jiān)控視頻數(shù)據(jù),該云存儲(chǔ)系統(tǒng)包括通過(guò)網(wǎng)絡(luò)連接的上述云控制服務(wù)器和至少三臺(tái)上述云存儲(chǔ)服務(wù)器。優(yōu)選地,上述云存儲(chǔ)系統(tǒng)還包括與云控制服務(wù)器和云存儲(chǔ)服務(wù)器通過(guò)網(wǎng)絡(luò)連接的客戶端,其中:客戶端,用于向云控制服務(wù)器發(fā)送上傳監(jiān)控視頻文件的請(qǐng)求,并向云控制服務(wù)器反饋的云存儲(chǔ)服務(wù)器發(fā)送將監(jiān)控視頻文件預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的數(shù)據(jù)塊。根據(jù)本發(fā)明 實(shí)施例的云存儲(chǔ)方法及其云控制服務(wù)器、云存儲(chǔ)服務(wù)器和系統(tǒng),將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊進(jìn)行分組,每組產(chǎn)生一個(gè)校驗(yàn)塊,將數(shù)據(jù)塊和校驗(yàn)塊分存到不同的存儲(chǔ)服務(wù)器,能夠?qū)崟r(shí)并發(fā)寫入監(jiān)控視頻數(shù)據(jù)流,增強(qiáng)了系統(tǒng)的容錯(cuò)能力,并提高了存儲(chǔ)空間的利用率。
圖1為本發(fā)明實(shí)施例提供的一種監(jiān)控視頻數(shù)據(jù)的云存儲(chǔ)方法流程圖;圖2為本發(fā)明優(yōu)選實(shí)施例提供的一種監(jiān)控視頻數(shù)據(jù)的上傳方法流程圖;圖3為本發(fā)明優(yōu)選實(shí)施例提供的一種監(jiān)控視頻數(shù)據(jù)的下載方法流程圖;圖4為本發(fā)明優(yōu)選實(shí)施例提供的一種云控制服務(wù)器的模塊結(jié)構(gòu)示意圖;圖5為本發(fā)明優(yōu)選實(shí)施例提供的一種云存儲(chǔ)服務(wù)器的模塊結(jié)構(gòu)示意
圖6為本發(fā)明優(yōu)選實(shí)施例提供的一種云存儲(chǔ)系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了使本發(fā)明所要解決的技術(shù)問(wèn)題、技術(shù)方案及有益效果更加清楚、明白,以下結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。為了便于描述,下面將來(lái)自于同一視頻源的監(jiān)控視頻數(shù)據(jù)稱為一個(gè)監(jiān)控視頻文件。如圖1所示為本發(fā)明實(shí)施例提供的一種云存儲(chǔ)方法流程圖,圖中:SlOl、接收客戶端上傳監(jiān)控視頻文件的請(qǐng)求,其中,監(jiān)控視頻文件為預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的至少兩個(gè)數(shù)據(jù)塊;具體地,客戶端向云控制服務(wù)器發(fā)送上傳監(jiān)控視頻文件的請(qǐng)求,監(jiān)控視頻文件為預(yù)先根據(jù)采樣時(shí)間按相同的時(shí)間段分割成可以獨(dú)立播放的數(shù)據(jù)塊。例如,對(duì)每個(gè)監(jiān)控視頻文件,可以按O點(diǎn)到I點(diǎn)、I點(diǎn)到2點(diǎn)…等相同的采樣時(shí)間段分割成數(shù)據(jù)塊。S102、將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊按η個(gè)一組進(jìn)行分組,其中,η為大于I的整數(shù);本步驟中,不同監(jiān)控視頻文件為不同視頻源的監(jiān)控視頻數(shù)據(jù)。η的大小可以根據(jù)硬件系統(tǒng)的可靠性、期望的文件可靠性、磁盤空間利用率等因數(shù)來(lái)選擇。S103、將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中。優(yōu)選地,云控制服務(wù)選擇當(dāng)前負(fù)荷較輕的η+1臺(tái)云存儲(chǔ)服務(wù)器分別存儲(chǔ)每組的η個(gè)數(shù)據(jù)塊和一個(gè)校驗(yàn)塊,其中,存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器的負(fù)荷小于等于存儲(chǔ)數(shù)據(jù)塊的云存儲(chǔ)服務(wù)器的負(fù)荷。存儲(chǔ)數(shù)據(jù)塊的云存儲(chǔ)服務(wù)器接收并保存客戶端上傳的數(shù)據(jù)塊,并將數(shù)據(jù)塊轉(zhuǎn)發(fā)給存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器進(jìn)行緩存;存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器緩存完該組的η個(gè)數(shù)據(jù)塊后,根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊并保存。進(jìn)一步地,根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊是對(duì)該組的η個(gè)數(shù)據(jù)塊進(jìn)行異或操作產(chǎn)生一個(gè)校驗(yàn)塊。優(yōu)選地,為了提高可靠性,根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊之前還包括:當(dāng)緩存的η個(gè)數(shù)據(jù)塊長(zhǎng)度不一致時(shí),將長(zhǎng)度短的數(shù)據(jù)塊的數(shù)據(jù)尾部用O補(bǔ)足為一致;由于所存的是視頻數(shù)據(jù),會(huì)有一定的格式,容易去除補(bǔ)足的O。優(yōu)選地,為了節(jié)省存儲(chǔ)空間,根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊之后還包括:清除緩存的η個(gè)數(shù)據(jù)塊。作為本實(shí)施例的另一個(gè)優(yōu)選實(shí)例:該方法之后還包括:當(dāng)獲知有數(shù)據(jù)塊丟失時(shí),云控制服務(wù)器選擇一云存儲(chǔ)服務(wù)器根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)并保存丟失的數(shù)據(jù)塊;或云控制服務(wù)器自身根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)丟失的數(shù)據(jù)塊,并存儲(chǔ)到一云存儲(chǔ)服務(wù)器中。根據(jù)本發(fā)明實(shí)施例的方法,將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊進(jìn)行分組,每組產(chǎn)生一個(gè)校驗(yàn)塊,將數(shù)據(jù)塊和校驗(yàn)塊分存到不同的存儲(chǔ)服務(wù)器,在云存儲(chǔ)高容量、高可靠性、高可擴(kuò)展性的基礎(chǔ)上,能夠?qū)崟r(shí)并發(fā)寫入監(jiān)控視頻數(shù)據(jù)流,增強(qiáng)了系統(tǒng)的容錯(cuò)能力,同時(shí)相對(duì)于副本方式的容錯(cuò)實(shí)現(xiàn)方案,提高了存儲(chǔ)空間的利用率。如圖2所示為本發(fā)明優(yōu)選實(shí)施例提供的一種監(jiān)控視頻數(shù)據(jù)的上傳方法流程圖,圖中:S201、客戶端I向云控制服務(wù)器請(qǐng)求上傳視頻監(jiān)控文件;S202、云控制服務(wù)器選擇一個(gè)負(fù)荷較輕的云存儲(chǔ)服務(wù)器即云存儲(chǔ)服務(wù)器η+1生成和存放校驗(yàn)塊,通知云存儲(chǔ)服務(wù)器η+1準(zhǔn)備接收并緩存來(lái)自客戶端I的數(shù)據(jù)流;需要說(shuō)明地是,云存儲(chǔ)服務(wù)器η+1不是固定的,對(duì)于不同的數(shù)據(jù)塊組,云存儲(chǔ)服務(wù)器η+1是不一樣的。緩存數(shù)據(jù)塊用于生產(chǎn)校驗(yàn)塊,且在校驗(yàn)塊生產(chǎn)后就會(huì)清除。S203、云控制服務(wù)器選擇一個(gè)負(fù)荷較輕的云存儲(chǔ)服務(wù)器即云存儲(chǔ)服務(wù)器1,通知其準(zhǔn)備接收存儲(chǔ)來(lái)自客戶端I的數(shù)據(jù)塊,并轉(zhuǎn)發(fā)給云存儲(chǔ)服務(wù)器η+1 ;S204、云控制服務(wù)器將云存儲(chǔ)服務(wù)器I的信息反饋給客戶端I ;S205、客戶端I發(fā)送數(shù)據(jù)流給云存儲(chǔ)服務(wù)器I ;S206、云存儲(chǔ)服務(wù)器I存儲(chǔ)接收到的數(shù)據(jù)流并將其轉(zhuǎn)發(fā)給云存儲(chǔ)服務(wù)器η+1,其轉(zhuǎn)發(fā)速率可能小于接收速率;S207、客戶端2向云控制服務(wù)器請(qǐng)求上傳視頻數(shù)據(jù);S208、云控制服務(wù)器通知云存儲(chǔ)服務(wù)器η+1準(zhǔn)備接收并緩存來(lái)自客戶端2的數(shù)據(jù)流;S209、云控制服務(wù)器選擇一個(gè)負(fù)荷較輕的云存儲(chǔ)服務(wù)器,即云存儲(chǔ)服務(wù)器2,通知其準(zhǔn)備接收存儲(chǔ)來(lái)自客戶端2的數(shù)據(jù)塊,并轉(zhuǎn)發(fā)給云存儲(chǔ)服務(wù)器η+1 ;S210、云控制服務(wù)器將云存儲(chǔ)服務(wù)器2的信息反饋給客戶端2 ;S211、客戶端2發(fā)送數(shù)據(jù)流給云存儲(chǔ)服務(wù)器2 ;S212、云存儲(chǔ)服務(wù)器2存儲(chǔ)接收到的數(shù)據(jù)流并將其轉(zhuǎn)發(fā)給云存儲(chǔ)服務(wù)器η+1,轉(zhuǎn)發(fā)速率可能小于接收速率;...
S213、客戶端η向云控制服務(wù)器請(qǐng)求上傳視頻數(shù)據(jù);S214、云控制服務(wù)器通知云存儲(chǔ)服務(wù)器η+1準(zhǔn)備接收并緩存來(lái)自客戶端η的數(shù)據(jù)流;
S215、云控制服務(wù)器選擇一個(gè)負(fù)荷較輕的云存儲(chǔ)服務(wù)器,即云存儲(chǔ)服務(wù)器η,通知其準(zhǔn)備接收存儲(chǔ)來(lái)自客戶端η的數(shù)據(jù)塊,并轉(zhuǎn)發(fā)給云存儲(chǔ)服務(wù)器η+1 ;
S216、云控制服務(wù)器通知云存儲(chǔ)服務(wù)器η+1生成η路數(shù)據(jù)流的校驗(yàn)塊;云存儲(chǔ)服務(wù)器η+1開(kāi)始將緩存的數(shù)據(jù)進(jìn)行異或操作,生產(chǎn)校驗(yàn)塊。具體地,一開(kāi)始只可能設(shè)置最大值,后續(xù)并發(fā)寫入的數(shù)據(jù)塊數(shù)目可能達(dá)不到這個(gè)數(shù)值。生產(chǎn)校驗(yàn)塊按照客戶端上傳數(shù)據(jù)塊請(qǐng)求順序決定的,根據(jù)同一時(shí)間段內(nèi)的請(qǐng)求順序,每η (事先選定的最大值)生產(chǎn)一個(gè)校驗(yàn)塊。分組之間互相獨(dú)立。多組產(chǎn)生的至少兩個(gè)校驗(yàn)塊有可能放置在同一個(gè)云存儲(chǔ)服務(wù)器中。S217、云控制服務(wù)器將云存儲(chǔ)服務(wù)器η的信息反饋給客戶端η ;S218、客戶端η發(fā)送數(shù)據(jù)流給云存儲(chǔ)服務(wù)器η ;需要說(shuō)明地是,上述S216和S217-S218是不分先后的,收到“云控制服務(wù)器通知云存儲(chǔ)服務(wù)器η+1生成η路數(shù)據(jù)流的校驗(yàn)塊”是開(kāi)始生產(chǎn)校驗(yàn)塊的必要非充分條件,另一個(gè)必要條件是η路數(shù)據(jù)流均開(kāi)始緩存。S219、云存儲(chǔ)服務(wù)器η+1存儲(chǔ)接收到的數(shù)據(jù)流并將其轉(zhuǎn)發(fā)給云存儲(chǔ)服務(wù)器,轉(zhuǎn)發(fā)速率可能小于接收速率;S220、云存儲(chǔ)服務(wù)器η+1待所有數(shù)據(jù)流轉(zhuǎn)發(fā)結(jié)束后,完成校驗(yàn)塊的生產(chǎn),并持久化(持久化是緩存的反義詞),清除緩存的η個(gè)數(shù)據(jù)塊。通過(guò)本實(shí)施例的方法,能夠?qū)崟r(shí)并發(fā)寫入多路視頻數(shù)據(jù)流,將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊進(jìn)行分組,每組產(chǎn)生一個(gè)校驗(yàn)塊以備數(shù)據(jù)塊丟失時(shí)的恢復(fù),增強(qiáng)了系統(tǒng)的容錯(cuò)能力,同時(shí)相對(duì)于副本方式的容錯(cuò)實(shí)現(xiàn)方案,提高了存儲(chǔ)空間的利用率。如圖3所示為本優(yōu)選實(shí)施例提供的一種下載監(jiān)控視頻數(shù)據(jù)的方法流程圖,圖中:
S301、播放端向云控制服務(wù)器發(fā)出下載請(qǐng)求;S302、云控制服務(wù)器判斷是否有數(shù)據(jù)塊丟失,若是,則執(zhí)行步驟S303,若否,則執(zhí)行S304 ;S303、根據(jù)校驗(yàn)塊和其它數(shù)據(jù)塊信息恢復(fù)并保存丟失的數(shù)據(jù)塊;本步驟可以通過(guò)以下方式實(shí)現(xiàn):云控制服務(wù)器選擇一云存儲(chǔ)服務(wù)器令其根據(jù)校驗(yàn)塊及其它數(shù)據(jù)塊恢復(fù)丟失的數(shù)據(jù)塊并存儲(chǔ);作為另一種替換方案,本步驟還也可以:云控制服務(wù)器自己根據(jù)校驗(yàn)塊及其它數(shù)據(jù)塊恢復(fù)丟失的數(shù)據(jù)塊,將存儲(chǔ)到一云存儲(chǔ)服務(wù)器。S304、云控制服務(wù)器將存儲(chǔ)服務(wù)器的信息反饋給播放端;S305、播放端從相應(yīng)的存儲(chǔ)服務(wù)器下載視頻數(shù)據(jù)。通過(guò)本實(shí)施例的方法,通過(guò)校驗(yàn)塊和其它數(shù)據(jù)塊信息恢復(fù)丟失的數(shù)據(jù)塊,使得播放端可以下載丟失的數(shù)據(jù)塊,提高了系統(tǒng)的可靠性。如圖4所示為本發(fā)明優(yōu)選實(shí)施例提供的一種云控制服務(wù)器的模塊結(jié)構(gòu)示意圖,云控制服務(wù)器20包括請(qǐng)求接收模塊201、分組模塊202和控制模塊203,其中:請(qǐng)求接收模塊201,用于接收客戶端上傳監(jiān)控視頻文件的請(qǐng)求,監(jiān)控視頻文件為預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的至少兩個(gè)數(shù)據(jù)塊;分組模塊202,用于,用于將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊按η個(gè)一組進(jìn)行分組,其中η為大于I的整數(shù);控制模塊203,用于將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中。
優(yōu)選地,控制模塊203具體用于:選擇當(dāng)前負(fù)荷較輕的一云存儲(chǔ)服務(wù)器根據(jù)該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊并保存,負(fù)荷較輕的η臺(tái)云存儲(chǔ)服務(wù)器分別存儲(chǔ)該組的η個(gè)數(shù)據(jù)塊。優(yōu)選地,云控制服務(wù)器20還包括恢復(fù)模塊204,用于獲知有數(shù)據(jù)塊丟失時(shí),選擇一云存儲(chǔ)服務(wù)器根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)并保存丟失的數(shù)據(jù)塊;或自身根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)丟失的數(shù)據(jù)塊,并存儲(chǔ)到一云存儲(chǔ)服務(wù)器中。本發(fā)明實(shí)施例的云控制服務(wù)器,將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊進(jìn)行分組,控制每組產(chǎn)生一個(gè)校驗(yàn)塊,將數(shù)據(jù)塊和校驗(yàn)塊分存到不同的存儲(chǔ)服務(wù)器,能夠?qū)崟r(shí)并發(fā)寫入監(jiān)控視頻數(shù)據(jù)流,增強(qiáng)了系統(tǒng)的容錯(cuò)能力,同時(shí)相對(duì)于副本方式的容錯(cuò)實(shí)現(xiàn)方案,提高了存儲(chǔ)空間的利用率。圖5為本發(fā)明優(yōu)選實(shí)施例提供的一種云存儲(chǔ)服務(wù)器的模塊結(jié)構(gòu)示意圖,云存儲(chǔ)服務(wù)器30包括存儲(chǔ)模塊301、轉(zhuǎn)發(fā)模塊302和校驗(yàn)塊生成模塊304,作為優(yōu)選的方式,還可以包括補(bǔ)足模塊303和清除模塊305,其中:存儲(chǔ)模塊301,用于保存接收到的數(shù)據(jù)塊;轉(zhuǎn)發(fā)模塊302,用于存儲(chǔ)數(shù)據(jù)塊時(shí),將接收到的數(shù)據(jù)塊轉(zhuǎn)發(fā)給存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器進(jìn)行緩存;補(bǔ)足模塊303,用于當(dāng)緩存的η個(gè)數(shù)據(jù)塊長(zhǎng)度不一致時(shí),將長(zhǎng)度短的數(shù)據(jù)塊的數(shù)據(jù)尾部用O補(bǔ)足為一致;校驗(yàn)塊生成模塊304 ,用于緩存完每組的η個(gè)數(shù)據(jù)塊后,對(duì)緩存的η個(gè)數(shù)據(jù)塊進(jìn)行異或操作產(chǎn)生校驗(yàn)塊并保存。清除模塊305,用于對(duì)該組的η個(gè)數(shù)據(jù)塊產(chǎn)生校驗(yàn)塊之后清除緩存的η個(gè)數(shù)據(jù)塊;需要說(shuō)明的是,云存儲(chǔ)服務(wù)器根據(jù)功能可以分為兩種角色,即存儲(chǔ)校驗(yàn)塊和存儲(chǔ)數(shù)據(jù)塊。當(dāng)作為存儲(chǔ)數(shù)據(jù)塊的云存儲(chǔ)服務(wù)器時(shí),補(bǔ)足模塊303、校驗(yàn)塊生成模塊304、清除模塊305可以不工作或省略,當(dāng)作為存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器時(shí),轉(zhuǎn)發(fā)模塊302可以不工作或省略。本發(fā)明實(shí)施例的云存儲(chǔ)服務(wù)器,分別存儲(chǔ)每組的η個(gè)數(shù)據(jù)塊以及根據(jù)該組的η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)檢驗(yàn)塊并保存,增強(qiáng)了系統(tǒng)的容錯(cuò)能力,同時(shí)相對(duì)于副本方式的容錯(cuò)實(shí)現(xiàn)方案,提聞了存儲(chǔ)空間的利用率。如圖6所示為本發(fā)明優(yōu)選實(shí)施例提供的一種云存儲(chǔ)系統(tǒng)結(jié)構(gòu)示意圖,該云存儲(chǔ)系統(tǒng)用于存取監(jiān)控視頻數(shù)據(jù),包括:通過(guò)網(wǎng)絡(luò)連接的客戶端10、云控制服務(wù)器20和至少三臺(tái)云存儲(chǔ)服務(wù)器30,其中:客戶端10,用于向云控制服務(wù)器20發(fā)送上傳傳監(jiān)控視頻文件的請(qǐng)求,并向云控制服務(wù)器20反饋的云存儲(chǔ)服務(wù)器30發(fā)送將監(jiān)控視頻文件預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的數(shù)據(jù)塊。云控制服務(wù)器20,用于接收客戶端10上傳監(jiān)控視頻文件的請(qǐng)求,將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊按η個(gè)一組進(jìn)行分組,并控制將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中。其中,η為大于I的整數(shù),監(jiān)控視頻文件為預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的至少兩個(gè)數(shù)據(jù)塊。云控制服務(wù)器20為云存儲(chǔ)系統(tǒng)的管理節(jié)點(diǎn),邏輯上只有一個(gè)。用于維護(hù)云存儲(chǔ)服務(wù)器30的狀態(tài)信息、利用數(shù)據(jù)庫(kù)保存和查詢數(shù)據(jù)塊信息,其中數(shù)據(jù)塊信息包括數(shù)據(jù)塊標(biāo)識(shí)、視頻源標(biāo)識(shí)、開(kāi)始時(shí)間、結(jié)束時(shí)間以及存儲(chǔ)該數(shù)據(jù)塊的云存儲(chǔ)服務(wù)器標(biāo)識(shí)等。云存儲(chǔ)服務(wù)器30,用于分別存儲(chǔ)每組的η個(gè)視頻數(shù)據(jù)塊以及根據(jù)η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊。其中,云存儲(chǔ)服務(wù)器30的數(shù)目決定了云存儲(chǔ)的規(guī)模,還用于根據(jù)接收到的下載請(qǐng)求發(fā)送指定的數(shù)據(jù)塊。需要說(shuō)明地是,上述圖4和圖5的技術(shù)方案在本實(shí)施例中同樣適用,當(dāng)然,云控制服務(wù)器20和云存儲(chǔ)服務(wù)器30還包括一些其他公知的模塊,這里不重述。根據(jù)本 發(fā)明實(shí)施例的系統(tǒng),將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊進(jìn)行分組,每組產(chǎn)生一個(gè)校驗(yàn)塊,將數(shù)據(jù)塊和校驗(yàn)塊分存到不同的存儲(chǔ)服務(wù)器,在云存儲(chǔ)高容量、高可靠性、高可擴(kuò)展性的基礎(chǔ)上,能夠?qū)崟r(shí)并發(fā)寫入監(jiān)控視頻數(shù)據(jù)流,增強(qiáng)了系統(tǒng)的容錯(cuò)能力,同時(shí)相對(duì)于副本方式的容錯(cuò)實(shí)現(xiàn)方案,提高了存儲(chǔ)空間的利用率。以上參照
了本發(fā)明的優(yōu)選實(shí)施例,并非因此局限本發(fā)明的權(quán)利范圍。本領(lǐng)域技術(shù)人員不脫離本發(fā)明的范圍和實(shí)質(zhì),可以有多種變型方案實(shí)現(xiàn)本發(fā)明,比如作為一個(gè)實(shí)施例的特征可用于另一實(shí)施例而得到又一實(shí)施例。凡在運(yùn)用本發(fā)明的技術(shù)構(gòu)思之內(nèi)所作的任何修改、等同替換和改進(jìn),均應(yīng)在本發(fā)明的權(quán)利范圍之內(nèi)。
權(quán)利要求
1.一種云存儲(chǔ)方法,用于存取監(jiān)控視頻數(shù)據(jù),其特征在于,所述方法包括: 接收客戶端上傳監(jiān)控視頻文件的請(qǐng)求,其中,所述監(jiān)控視頻文件為預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的至少兩個(gè)數(shù)據(jù)塊; 將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊按η個(gè)一組進(jìn)行分組,其中,η為大于I的整數(shù); 將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)所述η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中。
2.根據(jù)權(quán)利要求1所述的云存儲(chǔ)方法,其特征在于,所述將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)所述η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中的步驟包括: 選擇當(dāng)前負(fù)荷較輕的η+1臺(tái)云存儲(chǔ)服務(wù)器分別存儲(chǔ)每組的η個(gè)數(shù)據(jù)塊和一個(gè)校驗(yàn)塊;存儲(chǔ)數(shù)據(jù)塊的云存儲(chǔ)服務(wù)器接收并保存客戶端上傳的數(shù)據(jù)塊,并將所述數(shù)據(jù)塊轉(zhuǎn)發(fā)給所述存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器進(jìn)行緩存; 所述存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器緩存完該組的η個(gè)數(shù)據(jù)塊后,根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊并保存。
3.根據(jù)權(quán)利要求2所述的云存儲(chǔ)方法,其特征在于,所述根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊是對(duì)該組的η個(gè)數(shù)據(jù)塊進(jìn)行異或操作產(chǎn)生一個(gè)校驗(yàn)塊。
4.根據(jù)權(quán)利要求2所述的云存儲(chǔ)方法,其特征在于, 所述根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊之前還包括:當(dāng)所述緩存的η個(gè)數(shù)據(jù)塊長(zhǎng)度不一致時(shí),將長(zhǎng)度短的數(shù)據(jù)塊的數(shù)據(jù)尾部用O補(bǔ)足為一致; 所述根據(jù)緩存的該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊之后還包括:清除緩存的η個(gè)數(shù)據(jù)塊。
5.根據(jù)權(quán)利要求1-4任意一項(xiàng)權(quán)利要求所述的云存儲(chǔ)方法,其特征在于,所述方法之后還包括: 當(dāng)獲知有數(shù)據(jù)塊丟失時(shí),云控制服務(wù)器選擇一云存儲(chǔ)服務(wù)器根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)并保存丟失的數(shù)據(jù)塊;或云控制服務(wù)器自身根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)丟失的數(shù)據(jù)塊,并存儲(chǔ)到一云存儲(chǔ)服務(wù)器中。
6.一種云控制服務(wù)器,其特征在于,包括請(qǐng)求接收模塊、分組模塊和控制模塊,其中: 所述請(qǐng)求接收模塊,用于接收客戶端上傳監(jiān)控視頻文件的請(qǐng)求,所述監(jiān)控視頻文件為預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的至少兩個(gè)數(shù)據(jù)塊; 所述分組模塊,用于將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊按η個(gè)一組進(jìn)行分組,其中η為大于I的整數(shù); 所述控制模塊,用于將每組的η個(gè)數(shù)據(jù)塊以及根據(jù)所述η個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中。
7.根據(jù)權(quán)利要求6所述的云控制服務(wù)器,其特征在于,所述控制模塊具體用于:選擇當(dāng)前負(fù)荷較輕的一云存儲(chǔ)服務(wù)器根據(jù)該組的η個(gè)數(shù)據(jù)塊產(chǎn)生一個(gè)校驗(yàn)塊并保存,負(fù)荷較輕的η臺(tái)云存儲(chǔ)服務(wù)器分別存儲(chǔ)該組的η個(gè)數(shù)據(jù)塊。
8.根據(jù)權(quán)利要求6所述的云控制服務(wù)器,其特征在于,還包括恢復(fù)模塊,用于獲知有數(shù)據(jù)塊丟失時(shí),選擇一云存儲(chǔ)服務(wù)器根據(jù)該組校驗(yàn)塊和其他數(shù)據(jù)塊恢復(fù)并保存丟失的數(shù)據(jù)塊;或自身根據(jù)該組校驗(yàn) 塊和其他數(shù)據(jù)塊恢復(fù)丟失的數(shù)據(jù)塊,并存儲(chǔ)到一云存儲(chǔ)服務(wù)器中。
9.一種云存儲(chǔ)服務(wù)器,其特征在于,包括存儲(chǔ)模塊、轉(zhuǎn)發(fā)模塊和校驗(yàn)塊生成模塊,其中: 所述存儲(chǔ)模塊,用于保存接收到的數(shù)據(jù)塊; 所述轉(zhuǎn)發(fā)模塊,用于存儲(chǔ)數(shù)據(jù)塊時(shí),將接收到的數(shù)據(jù)塊轉(zhuǎn)發(fā)給存儲(chǔ)校驗(yàn)塊的云存儲(chǔ)服務(wù)器進(jìn)行緩存 ; 所述校驗(yàn)塊生成模塊,用于緩存完每組的η個(gè)數(shù)據(jù)塊后,對(duì)緩存的所述η個(gè)數(shù)據(jù)塊進(jìn)行異或操作產(chǎn)生校驗(yàn)塊并保存。
10.根據(jù)權(quán)利要求9所述的云存儲(chǔ)服務(wù)器,其特征在于,還包括: 補(bǔ)足模塊,用于當(dāng)所述緩存的η個(gè)數(shù)據(jù)塊長(zhǎng)度不一致時(shí),將長(zhǎng)度短的數(shù)據(jù)塊的數(shù)據(jù)尾部用O補(bǔ)足為一致; 清除模塊,用于當(dāng)該組的η個(gè)數(shù)據(jù)塊產(chǎn)生校驗(yàn)塊之后清除緩存的η個(gè)數(shù)據(jù)塊。
11.一種云存儲(chǔ)系統(tǒng),用于存取監(jiān)控視頻數(shù)據(jù),其特征在于,所述系統(tǒng)包括通過(guò)網(wǎng)絡(luò)連接的如權(quán)利要求6-8任意一項(xiàng)權(quán)利要求所述的云控制服務(wù)器和至少三臺(tái)如權(quán)利要求9或10所述的云存儲(chǔ)服務(wù)器。
12.根據(jù)權(quán)利要求11所述的云存儲(chǔ)系統(tǒng),其特征在于,所述系統(tǒng)還包括與所述云控制服務(wù)器和云存儲(chǔ)服務(wù)器通過(guò)網(wǎng)絡(luò)連接的客戶端,其中: 所述客戶端,用于向所述云控制服務(wù)器發(fā)送上傳監(jiān)控視頻文件的請(qǐng)求,并向所述云控制服務(wù)器反饋的云存儲(chǔ)服務(wù)器發(fā)送將監(jiān)控視頻文件預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的數(shù)據(jù)塊。
全文摘要
本發(fā)明公開(kāi)了一種云存儲(chǔ)方法及其云控制服務(wù)器、云存儲(chǔ)服務(wù)器和系統(tǒng),該方法用于存取監(jiān)控視頻數(shù)據(jù),包括接收客戶端上傳監(jiān)控視頻文件的請(qǐng)求,其中,監(jiān)控視頻文件為預(yù)先按相同的采樣時(shí)間長(zhǎng)度分割成的能獨(dú)立播放的至少兩個(gè)數(shù)據(jù)塊;將同一時(shí)間段內(nèi)采集的不同監(jiān)控視頻文件的數(shù)據(jù)塊按n個(gè)一組進(jìn)行分組,其中,n為大于1的整數(shù);將每組的n個(gè)數(shù)據(jù)塊以及根據(jù)n個(gè)數(shù)據(jù)塊產(chǎn)生的一個(gè)校驗(yàn)塊分別存儲(chǔ)到不同的云存儲(chǔ)服務(wù)器中。采用本發(fā)明的實(shí)施例,能夠?qū)崟r(shí)并發(fā)寫入監(jiān)控視頻數(shù)據(jù)流,增強(qiáng)了系統(tǒng)的容錯(cuò)能力,并提高了存儲(chǔ)空間的利用率。
文檔編號(hào)H04L29/08GK103237063SQ20131012544
公開(kāi)日2013年8月7日 申請(qǐng)日期2013年4月11日 優(yōu)先權(quán)日2013年4月11日
發(fā)明者李磊磊 申請(qǐng)人:安科智慧城市技術(shù)(中國(guó))有限公司