面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,屬于計(jì)算機(jī)軟件領(lǐng)域,涉及分布式文件系統(tǒng)。
【背景技術(shù)】
[0002]視頻監(jiān)控技術(shù)在智慧交通領(lǐng)域的發(fā)展中一直占據(jù)著重要地位。近年來視頻監(jiān)控?cái)?shù)據(jù)的存儲(chǔ)技術(shù)隨著前端攝像頭分布的密集化,采集數(shù)據(jù)的高清化而受到越來越嚴(yán)峻的考驗(yàn)?,F(xiàn)有的視頻監(jiān)控存儲(chǔ)主要采用NVR存儲(chǔ)方案:通過中心業(yè)務(wù)平臺(tái)進(jìn)行集中管理和控制,以網(wǎng)絡(luò)視頻服務(wù)器和IP攝像機(jī)為前端,以IPSAN/NAS網(wǎng)絡(luò)存儲(chǔ)為后端進(jìn)行部署。作為NVR存儲(chǔ)的前端,IP攝像頭的高清化對(duì)后臺(tái)存儲(chǔ)所帶來的壓力是顯而易見的。以一路1080P (1920x1080)解析度,30幀/秒的視頻流為例,其所產(chǎn)生的原始視頻數(shù)據(jù)碼率為750Mbit/s。即使使用目前具有較高壓縮比的H.264視頻流壓縮編碼算法進(jìn)行編碼后,所產(chǎn)生的視頻流數(shù)據(jù)碼率也在4Mbit/s ~ 8Mbit/s之間。傳統(tǒng)的NVR存儲(chǔ)中基于NAS的存儲(chǔ)方式對(duì)存儲(chǔ)陣列中磁盤I/O的利用率不高,并且隨著前端接入攝像頭數(shù)目的增加,NVR存儲(chǔ)系統(tǒng)中磁盤的聚合I/O吞吐率急劇下降。
[0003]此外,傳統(tǒng)機(jī)械磁盤磁頭在進(jìn)行數(shù)據(jù)寫入時(shí),內(nèi)圈和外圈的寫入速率差別較大,會(huì)帶來磁盤I/o速率的不穩(wěn)定等問題。通過實(shí)驗(yàn)我們發(fā)現(xiàn),磁盤的I/O吞吐率,隨著磁盤塊號(hào)的增加而逐漸降低,磁盤寫入速率的最低值只有峰值的一半左右,如圖1所示為在一塊ITB7200RPM SATA磁盤上的順序?qū)懭霚y(cè)試。磁盤寫入速率逐漸下降的原因在于整個(gè)磁盤空間采用順序I/O的方式寫入數(shù)據(jù),且創(chuàng)建初始化塊文件時(shí)采用順序創(chuàng)建的方式,分配給塊文件的磁盤塊號(hào)也隨著塊文件序號(hào)而遞增。磁盤塊號(hào)越大的磁盤塊所對(duì)應(yīng)的磁道也越靠近物理磁盤中心,而磁盤在磁道上的寫入速率隨磁道接近磁盤中心而遞減。如果將整塊磁盤使用順序I/o的方式用于監(jiān)控視頻流數(shù)據(jù)的存儲(chǔ),則其所能支持寫入的視頻流數(shù)據(jù)將受到這種磁盤I/o吞吐率不穩(wěn)定的影響而逐漸降低。這將導(dǎo)致部分視頻流需要請(qǐng)求中心服務(wù)器定位可寫入的數(shù)據(jù)服務(wù)器,增大中心服務(wù)器的壓力,從而影響整個(gè)存儲(chǔ)系統(tǒng)的性能。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,主要解決現(xiàn)有磁盤磁頭讀寫在磁盤內(nèi)圈和外圈時(shí)速率的差異,造成磁盤I/o吞吐率不穩(wěn)定,影響存儲(chǔ)系統(tǒng)性能的問題。本發(fā)明同時(shí)穩(wěn)定寫入帶寬,避免磁盤空間的浪費(fèi)。
[0005]為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,包括步驟:
A、將數(shù)據(jù)服務(wù)器的每塊磁盤劃分為緩存分區(qū)和存儲(chǔ)分區(qū),緩存分區(qū)用于處理大量視頻流的并發(fā)寫入,存儲(chǔ)分區(qū)用于穩(wěn)定存儲(chǔ)視頻流的數(shù)據(jù);
B、當(dāng)某塊磁盤的緩存分區(qū)存在視頻流寫入時(shí),該塊磁盤標(biāo)記為在線狀態(tài)磁盤;而當(dāng)其緩存分區(qū)上沒有視頻流寫入時(shí),該磁盤被稱為離線狀態(tài)磁盤; C、當(dāng)前磁盤的緩存分區(qū)上的數(shù)據(jù)拷貝至另一個(gè)處于離線狀態(tài)磁盤的存儲(chǔ)分區(qū)上。
[0006]具體地,所述緩存分區(qū)和存儲(chǔ)分區(qū)均包括多個(gè)固定大小的磁盤塊,并對(duì)該兩個(gè)分區(qū)中的磁盤塊進(jìn)行統(tǒng)一排序,并且緩存分區(qū)具有相對(duì)于存儲(chǔ)分區(qū)序號(hào)較小的磁盤塊,存儲(chǔ)分區(qū)具有相對(duì)于緩存分區(qū)序號(hào)較大的磁盤塊。磁盤塊序號(hào)越大的磁盤塊所對(duì)應(yīng)的磁道越靠近物理磁盤中心,而磁盤在磁道上的寫入速率隨磁道接近磁盤中心而遞減,因此緩存分區(qū)的磁盤塊序號(hào)較小,處于磁盤外圈,可保證高速穩(wěn)定寫入帶寬,而存儲(chǔ)分區(qū)處于磁盤內(nèi)圈則可以持久保存數(shù)據(jù),避免磁盤空間的浪費(fèi)。
[0007]進(jìn)一步地,所述緩存分區(qū)和存儲(chǔ)分區(qū)的大小相同。
[0008]再進(jìn)一步地,所述步驟C中,當(dāng)前磁盤的緩存分區(qū)被寫滿后,其上的數(shù)據(jù)才被拷貝至另一個(gè)處于離線狀態(tài)磁盤的存儲(chǔ)分區(qū)上。
[0009]當(dāng)前磁盤的緩存分區(qū)被寫滿后,還執(zhí)行以下步驟:
D、視頻流寫入被調(diào)度至其他磁盤的緩存分區(qū)進(jìn)行寫入;
E、當(dāng)前磁盤狀態(tài)由在線轉(zhuǎn)為離線。
[0010]再進(jìn)一步地,拷貝完成后的緩存分區(qū)再次收到寫入請(qǐng)求時(shí),立即進(jìn)行視頻流的寫入;存儲(chǔ)分區(qū)等待其上的數(shù)據(jù)到期后,才能進(jìn)行覆蓋寫入。
[0011]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
本發(fā)明克服了傳統(tǒng)機(jī)械磁盤內(nèi)圈外圈的讀寫速率不同而造成的磁盤I/O吞吐率不穩(wěn)定的問題。同時(shí)利用了內(nèi)圈外圈速率的不同特點(diǎn),充分發(fā)揮了磁盤外圈I/O吞吐率高的特點(diǎn),在視頻流寫入時(shí)保證高速穩(wěn)定寫入帶寬;磁盤內(nèi)圈持久保存數(shù)據(jù),避免磁盤空間的浪費(fèi)。飽和利用磁盤I/o吞吐率,減少磁盤空轉(zhuǎn)時(shí)間,節(jié)約能源消耗和磁盤損耗。
【附圖說明】
[0012]圖1為磁盤順序?qū)懭霐?shù)據(jù)的速率變化趨勢(shì)圖。
[0013]圖2為本發(fā)明-實(shí)施例的工作流程圖。
[0014]圖3為本發(fā)明磁盤變化圖。
【具體實(shí)施方式】
[0015]下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明,本發(fā)明的實(shí)施方式包括但不限于下列實(shí)施例。
實(shí)施例
[0016]如圖2和圖3所示,面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,包括如下步驟:
A、將數(shù)據(jù)服務(wù)器上的每塊磁盤劃分為兩個(gè)邏輯分區(qū),一個(gè)邏輯分區(qū)為緩存分區(qū),另一個(gè)邏輯分區(qū)為存儲(chǔ)分區(qū),緩存分區(qū)和存儲(chǔ)分區(qū)均包括多個(gè)固定大小的磁盤塊,并對(duì)兩個(gè)邏輯分區(qū)中的磁盤塊進(jìn)行統(tǒng)一排序,緩存分區(qū)用于處理大量視頻流的并發(fā)寫入,存儲(chǔ)分區(qū)用于穩(wěn)定存儲(chǔ)視頻流的數(shù)據(jù);
B、當(dāng)某塊磁盤的緩存分區(qū)存在視頻流寫入時(shí),該塊磁盤標(biāo)記為在線狀態(tài)磁盤;而當(dāng)其緩存分區(qū)上沒有視頻流寫入時(shí),該磁盤被稱為離線狀態(tài)磁盤; C、當(dāng)前磁盤的緩存分區(qū)上的數(shù)據(jù)拷貝至另一個(gè)處于離線狀態(tài)磁盤的存儲(chǔ)分區(qū)上;
D、視頻流寫入被調(diào)度至其他磁盤的緩存分區(qū)進(jìn)行寫入。
[0017]在本實(shí)施例中,數(shù)據(jù)服務(wù)器的每塊磁盤不包括系統(tǒng)盤,兩個(gè)邏輯分區(qū)的大小相同,緩存分區(qū)包含序號(hào)較小的磁盤塊,存儲(chǔ)分區(qū)包含剩下的序號(hào)較大的磁盤塊,比如緩存分區(qū)的磁盤塊序號(hào)為l~n,則存儲(chǔ)分區(qū)的磁盤塊序號(hào)為n+l~2n。磁盤塊序號(hào)越大的磁盤塊所對(duì)應(yīng)的磁道越靠近物理磁盤中心,而磁盤在磁道上的寫入速率隨磁道接近磁盤中心而遞減,因此緩存分區(qū)的磁盤塊序號(hào)較小,處于磁盤外圈,可保證高速穩(wěn)定寫入帶寬,而存儲(chǔ)分區(qū)處于磁盤內(nèi)圈則可以持久保存數(shù)據(jù),避免磁盤空間的浪費(fèi)。
[0018]其中,兩個(gè)分區(qū)均使用連續(xù)模型進(jìn)行格式化,連續(xù)模型進(jìn)行格式化方法如下:在進(jìn)行格式化時(shí),首先在每個(gè)邏輯分區(qū)上連續(xù)創(chuàng)建并寫入固定大小的普通文件,形成磁盤塊的塊文件,直到將整塊磁盤占滿,這些塊文件所占用的物理磁盤扇區(qū)基本是連續(xù)的。
[0019]在步驟D中,拷貝完成后,當(dāng)前磁盤的緩存分區(qū)可立即再次用于視頻流寫入,而拷貝了數(shù)據(jù)的存儲(chǔ)分區(qū)上的數(shù)據(jù)需要等待其有效期過后才能進(jìn)行覆蓋,這種機(jī)制稱為雙分區(qū)離線復(fù)制機(jī)制。
[0020]在本實(shí)施例中,對(duì)于數(shù)據(jù)服務(wù)器上的用于保存視頻監(jiān)控?cái)?shù)據(jù)的物理磁盤,通過雙分區(qū)離線復(fù)制機(jī)制劃分了在線和離線兩種狀態(tài)。而在整個(gè)系統(tǒng)運(yùn)行過程中,為了能夠及時(shí)調(diào)度空閑磁盤進(jìn)行休眠,將這些磁盤的工作狀態(tài)劃分為4類。各類狀態(tài)定義如下:1、Write狀態(tài):當(dāng)前磁盤上的緩存分區(qū)正在處理視頻流的并發(fā)寫入;2、Backup狀態(tài):當(dāng)前磁盤的緩存分區(qū)正在將寫滿的數(shù)據(jù)備份至其他磁盤的存儲(chǔ)分區(qū),或者其他磁盤上的緩存分區(qū)正在將寫滿的數(shù)據(jù)備份至當(dāng)前磁盤的存儲(chǔ)分區(qū);3、Idle狀態(tài):當(dāng)前磁盤已經(jīng)將緩存分區(qū)剛寫滿的數(shù)據(jù)備份至其他磁盤的存儲(chǔ)分區(qū),且沒有收到其他請(qǐng)求,4、Read狀態(tài):當(dāng)前磁盤在以上3種狀態(tài)下收到讀取數(shù)據(jù)請(qǐng)求時(shí),均需做出響應(yīng),完成讀取請(qǐng)求后的磁盤恢復(fù)原有狀態(tài)。當(dāng)磁盤處于Idle狀態(tài)時(shí),磁盤處于休眠狀態(tài),從而降低能源開銷和磁盤損耗。
[0021]本發(fā)明克服了傳統(tǒng)機(jī)械磁盤內(nèi)圈外圈的讀寫速率不同而造成的磁盤I/O吞吐率不穩(wěn)定的問題。同時(shí)利用了內(nèi)圈外圈速率的不同特點(diǎn),充分發(fā)揮了磁盤外圈I/O吞吐率高的特點(diǎn),在視頻流寫入時(shí)保證高速穩(wěn)定寫入帶寬;磁盤內(nèi)圈持久保存數(shù)據(jù),避免磁盤空間的浪費(fèi)。飽和利用磁盤I/o吞吐率,減少磁盤空轉(zhuǎn)時(shí)間,節(jié)約能源消耗和磁盤損耗。
[0022]按照上述實(shí)施例,便可很好地實(shí)現(xiàn)本發(fā)明。
【主權(quán)項(xiàng)】
1.面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,其特征在于,包括步驟: A、將每塊磁盤劃分為緩存分區(qū)和存儲(chǔ)分區(qū),緩存分區(qū)用于處理大量視頻流的并發(fā)寫入,存儲(chǔ)分區(qū)用于穩(wěn)定存儲(chǔ)視頻流的數(shù)據(jù); B、當(dāng)某塊磁盤的緩存分區(qū)存在視頻流寫入時(shí),該塊磁盤標(biāo)記為在線狀態(tài)磁盤;而當(dāng)其緩存分區(qū)上沒有視頻流寫入時(shí),該磁盤被稱為離線狀態(tài)磁盤; C、當(dāng)前磁盤的緩存分區(qū)上的數(shù)據(jù)拷貝至另一個(gè)處于離線狀態(tài)磁盤的存儲(chǔ)分區(qū)上。
2.根據(jù)權(quán)利要求1所述的面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,其特征在于,所述緩存分區(qū)和存儲(chǔ)分區(qū)均包括多個(gè)固定大小的磁盤塊,并對(duì)該兩個(gè)分區(qū)中的磁盤塊進(jìn)行統(tǒng)一排序,并且緩存分區(qū)具有相對(duì)于存儲(chǔ)分區(qū)序號(hào)較小的磁盤塊,存儲(chǔ)分區(qū)具有相對(duì)于緩存分區(qū)序號(hào)較大的磁盤塊。
3.根據(jù)權(quán)利要求2所述的面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,其特征在于,所述緩存分區(qū)和存儲(chǔ)分區(qū)的大小相同。
4.根據(jù)權(quán)利要求1-3任意一項(xiàng)所述的面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,其特征在于,所述步驟C中,當(dāng)前磁盤的緩存分區(qū)被寫滿后,其上的數(shù)據(jù)才被拷貝至另一個(gè)處于離線狀態(tài)磁盤的存儲(chǔ)分區(qū)上。
5.根據(jù)權(quán)利要求4所述的面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,其特征在于,當(dāng)前磁盤的緩存分區(qū)被寫滿后,還執(zhí)行以下步驟: D、視頻流寫入被調(diào)度至其他磁盤的緩存分區(qū)進(jìn)行寫入; E、當(dāng)前磁盤狀態(tài)由在線狀態(tài)轉(zhuǎn)為離線狀態(tài)。
6.根據(jù)權(quán)利要求5所述的面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法,其特征在于,拷貝完成后的緩存分區(qū)再次收到寫入請(qǐng)求時(shí),立即進(jìn)行視頻流的寫入;存儲(chǔ)分區(qū)等待其上的數(shù)據(jù)到期后,才能進(jìn)行覆蓋寫入。
【專利摘要】本發(fā)明公開了面向視頻流數(shù)據(jù)的分布式存儲(chǔ)系統(tǒng)磁盤雙分區(qū)寫入方法。包括步驟:A、將每塊磁盤劃分為緩存分區(qū)和存儲(chǔ)分區(qū),緩存分區(qū)用于處理大量視頻流的并發(fā)寫入,存儲(chǔ)分區(qū)用于穩(wěn)定存儲(chǔ)視頻流的數(shù)據(jù);當(dāng)某塊磁盤的緩存分區(qū)存在視頻流寫入時(shí),該塊磁盤標(biāo)記為在線狀態(tài)磁盤;C、當(dāng)前磁盤的緩存分區(qū)上的數(shù)據(jù)拷貝至另一個(gè)處于離線狀態(tài)磁盤的存儲(chǔ)分區(qū)上,其中,磁盤的緩存分區(qū)沒有視頻流寫入時(shí),該塊磁盤標(biāo)記為離線狀態(tài)磁盤。本發(fā)明克服了傳統(tǒng)機(jī)械磁盤內(nèi)圈外圈的讀寫速率不同而造成的磁盤I/O吞吐率不穩(wěn)定的情況。充分發(fā)揮了緩存分區(qū)I/O吞吐率高的特點(diǎn),能夠在視頻流寫入時(shí)保證高速穩(wěn)定寫入帶寬。同時(shí)利用了存儲(chǔ)分區(qū)來持久保存數(shù)據(jù),避免磁盤空間的浪費(fèi)。
【IPC分類】H04N5-781
【公開號(hào)】CN104811647
【申請(qǐng)?zhí)枴緾N201510245388
【發(fā)明人】段瀚聰, 閔革勇, 詹文翰, 郭輝, 程文靜, 王瑾, 鄭松
【申請(qǐng)人】電子科技大學(xué)
【公開日】2015年7月29日
【申請(qǐng)日】2015年5月15日