施 納
(長沙師范學(xué)院 湖南·長沙 410100)
分布式優(yōu)化存儲策略具有較強的針對性,主要應(yīng)對文件系統(tǒng)存儲效率,減少空間資源浪費和磁盤能源損耗等問題。首先,需要引入Bcache混合存儲技術(shù),根據(jù)其技術(shù)特性,增加固態(tài)硬盤于磁盤陣列,將其作為一個高速緩沖區(qū),對多路視頻流進行臨時數(shù)據(jù)的組織,在完成作業(yè)的過程中,需要將多線程并發(fā)任務(wù)轉(zhuǎn)化成為單線程順序,以此來達到減少磁盤內(nèi)部產(chǎn)生的碎片,大大提高系統(tǒng)的寫入效率。其次,利用升級的liberation碼壓縮存儲視頻數(shù)據(jù),有效提高系統(tǒng)空間利用率,同時大大提升了系統(tǒng)存儲數(shù)據(jù)的可靠性。最后,以ioctl系統(tǒng)為基礎(chǔ),調(diào)用編寫盤片轉(zhuǎn)速對函數(shù)進行控制,通過達成磁盤多級休眠與低延遲喚醒,達到減少磁盤消耗的目的,進一步提高磁盤的使用壽命。將該方法進行模擬實驗,有效數(shù)據(jù)顯示,單臺存儲服務(wù)器在500路4Mbps并發(fā)視頻流下存儲效率以及存儲的節(jié)約空間都能大大提高,同時存在一定數(shù)量的休眠磁盤。
優(yōu)化方案主要針對兩部分展開,一是將普通磁盤的隨機寫入性能進行加強,二是解決磁盤節(jié)能問題與喚醒延遲問題。針對隨機寫入性能問題,引入了Bcache混合存儲技術(shù)和緩存映射機制,使得存儲服務(wù)器的性能得以改善。該項技術(shù)將一塊D固態(tài)硬盤安裝到普通磁盤陣列當(dāng)中,在緩沖機制的作用下將固態(tài)硬盤和磁盤陣列連接起來。在進行實際操作過程中,分布式存儲系統(tǒng)在工作過程中,會將存儲服務(wù)器的使用情況上報給狀態(tài)管理器,利用心跳協(xié)議完成該項操作,在狀態(tài)管理器收到客戶端發(fā)起的數(shù)據(jù)請求之后,可以根據(jù)存儲服務(wù)器反饋情況的不同,直接影響任務(wù)的分配情況,直到反饋情況引導(dǎo)任務(wù)分配完成,在由空閑服務(wù)器進行數(shù)據(jù)寫入。另一方面,針對磁盤節(jié)能同延遲喚醒問題。存儲服務(wù)器集群中具有不同的工作狀態(tài),分別為寫入狀態(tài),一級休眠,二級休眠以及讀取狀態(tài)四種,一般情況下,需要在取消常規(guī)磁盤的空閑工作狀態(tài)之后再去控制刺頭讀寫的開閉情況及轉(zhuǎn)速大小。為解決該項問題,在實際操作過程中,一般需要在D固態(tài)硬盤中加入高速緩沖區(qū),以達到對視頻流多路并發(fā)調(diào)解的目的。同時,為降低數(shù)據(jù)副本在磁盤中的空間浪費,需要對其進行清理,利用liberation碼可以達到較高的清潔效率,但是該項技術(shù)需要建立在三模冗余的基礎(chǔ)上。另外,可以通過動手操作的方式提高后期分布式視頻流的檢索速度,可以在邏輯磁盤的存儲結(jié)構(gòu)中添加數(shù)據(jù)結(jié)構(gòu)索引單位,該種索引單元較為簡單,一般由元數(shù)建立。
為了提高數(shù)據(jù)流數(shù)據(jù)存儲模型的性能,可以將視頻流存儲模型構(gòu)建在裸設(shè)備上。裸設(shè)備又被稱為裸分區(qū),可以在應(yīng)用程序的作用之下訪問磁盤,提高讀寫操作的效率,有效規(guī)避了操作系統(tǒng)的緩沖過程。在裸設(shè)備的作用下,操作系統(tǒng)層的使用性能較低,減少了因文件拷貝及維護過程耗費的資金,大幅度提升了磁盤運作過程的I/O效率。
在邏輯卷管理器的作用下,存儲設(shè)備具有較高的性能。在使用時,需要將存儲器虛擬化,根據(jù)邏輯關(guān)系設(shè)置多個磁盤分區(qū),使其具有容量相當(dāng)?shù)倪壿嬀恚瑪[脫了物理空間大小的局限性,實現(xiàn)動態(tài)管理的最終目標(biāo)。
可以將邏輯卷映射成為裸設(shè)備,在存儲服務(wù)器上直接完成讀寫操作。在完整寫入視頻數(shù)據(jù)之前,可以格式化視頻流存儲數(shù)據(jù)信息,提高存儲效率。
視頻流存儲數(shù)據(jù)模型的頭部包含超級塊,描述了該模型的工作狀態(tài)信息,含有管理分區(qū)的具體信息,描繪除了數(shù)據(jù)塊位圖所在的起始位置及數(shù)據(jù)塊大小、數(shù)量等信息。數(shù)據(jù)塊位圖能夠有效說明數(shù)據(jù)塊的分配及使用情況,當(dāng)bit為0時說明可用,當(dāng)bit為1時說明已經(jīng)被分配使用。邏輯卷還包含數(shù)據(jù)區(qū)空間,有大小一定的數(shù)據(jù)塊組成,能夠有效存儲視頻流數(shù)據(jù)信息。在編寫數(shù)據(jù)塊的序號時,需要注意在物理磁盤上連續(xù)分配編號大小順序一致的數(shù)據(jù)塊?;诖耍梢园凑諗?shù)據(jù)塊的順序?qū)懭胍曨l流數(shù)據(jù)信息,減少磁盤磁頭來回移動的速度及頻率,有效提高寫入數(shù)據(jù)信息的效率。
在存儲服務(wù)器分配空間中,數(shù)據(jù)塊是重要的組成部分。存儲服務(wù)器會按照順序分配數(shù)據(jù)信息,每次只給視頻流分配一個數(shù)據(jù)塊,并在其位圖區(qū)域標(biāo)記為1.緊接著分配相鄰的下一個數(shù)據(jù)塊,大幅提高了視頻流的讀寫效率。在最后的圖像處于過期狀態(tài)之后,就可以回收整個數(shù)據(jù)塊空間,降低空間占用率。
圖像組是視頻流數(shù)據(jù)讀寫及索引操作的基本單位,這能夠使得視頻監(jiān)控數(shù)據(jù)的檢索精度更高。在視頻編碼當(dāng)中,一個圖像組代表一組連續(xù)不間斷的圖像信息,連續(xù)的圖像組及代表編碼視頻數(shù)據(jù)流。
在狀態(tài)管理器中記錄部分索引信息能夠有效避免狀態(tài)管理器出現(xiàn)性能瓶頸。其中,一級索引主要記錄錄像段元的數(shù)據(jù)信息,存放于狀態(tài)管理器當(dāng)中。將攝像頭客戶端發(fā)起的視頻數(shù)據(jù)請求作為重要開端,錄像段要求客戶端主動寫入,避免出現(xiàn)存儲節(jié)點不足而停止續(xù)寫的情況。一級索引基本單元記錄了錄像帶的起始時間、市場及存儲組的ID地址,可以把所有的錄像段記錄聚集在一起,形成一個錄像段記錄列表,按照時間順序排列。視頻監(jiān)控數(shù)據(jù)具有時序的特點,能夠在錄像段記錄列表尾部追加錄像段記錄,完善新錄像記錄,無須額外投入維護開銷。
針對寫入效率問題,高速緩沖區(qū)與數(shù)據(jù)邏輯存儲區(qū)是本方案的主要設(shè)計內(nèi)容,面對不同的數(shù)據(jù)進行不同的方法整理,能夠有效避免因多路并發(fā)現(xiàn)象產(chǎn)生的隨機視頻流進入內(nèi)部碎片的情況。在進行實際操作過程中,技術(shù)上會通過Bcache混合存儲技術(shù)中緩存映射策略來達到二者之間的連接,同時,利用SSD固態(tài)硬盤高速緩沖寫入數(shù)據(jù),并以GOP幀組為單位向固定大小的緩沖區(qū)片段內(nèi)添加視頻流并且為保證視頻數(shù)據(jù)的正確寫入,需要對其提供多路并發(fā)調(diào)制,以實現(xiàn)其由緩沖區(qū)到數(shù)據(jù)塊的順序?qū)懭搿?/p>
首先,針對高速緩沖結(jié)構(gòu)設(shè)計超級塊,緩沖區(qū)以及緩沖區(qū)片段三個結(jié)構(gòu),其中,頭部需要進行的設(shè)計較多,一般在其部位設(shè)置超級單元塊,將創(chuàng)建時間與緩沖區(qū)片段進行記錄保存,同時,數(shù)據(jù)的分配情況,格式設(shè)置等情況也記錄在頭部。另外,結(jié)構(gòu)適用中,這三者是相互聯(lián)系的,往往在超級塊后加入緩沖區(qū)位圖的方式來反映緩沖區(qū)片段的使用狀況。剩余部分則由緩沖區(qū)構(gòu)成,緩沖區(qū)存在的目的是將數(shù)據(jù)臨時組成空間進行分配與回收當(dāng)剩余空間不足建立一個緩沖區(qū)時,則遵循按序分配的原則,按照視頻數(shù)據(jù)本身按時有序,如果出現(xiàn)了視頻流的最后一個片段,需要從緩沖區(qū)寫出后,即刻進行片段回收。
其次,在磁盤邏輯存儲結(jié)構(gòu)超級塊,數(shù)據(jù)塊位圖,數(shù)據(jù)塊,一級索引塊,二級索引塊五部分,其分別對不同的視頻數(shù)據(jù)進行存放有效。
最后一項是緩存映射,利用同一塊SSD當(dāng)作緩存盤,緩存映射策略支多塊能夠?qū)崿F(xiàn)由緩存盤到普通磁盤的映射,同時可以改變映射方式。
未經(jīng)格式化的特殊字符設(shè)備被稱為裸設(shè)備,該種設(shè)備空大小管理不夠靈活,并不能按照實際應(yīng)用進行系統(tǒng)性管理與擴容,同時不能夠被通用文件系統(tǒng)進行管理,為解決該項問題,本方案引入邏輯卷對單服務(wù)器進行有效擴容。在擴容時,可以分為組內(nèi)擴容和系統(tǒng)擴容兩個部分,二者是對等的,需要保證硬件配置的一致性,該過程不會對正在進行視頻數(shù)據(jù)存儲服務(wù)的性能產(chǎn)生較大影響。在其實際操作過程中,首先要對邏輯卷組進行測量,若其未分配空間滿足擴容需求,則對卷組增加指定大小的空間到目標(biāo)邏輯卷,完成設(shè)置后,進行重新識別。但是當(dāng)卷組剩余空間不足時,需要追加額外的物理磁盤,邏輯卷通過特殊技術(shù)創(chuàng)建并格式化物理空間,該項技術(shù)在設(shè)置文件綁定后可立即適用。當(dāng)然該項技術(shù)存在例外情況,如果通過上述操作進行擴容,但仍無法滿足存儲容量需求時,系統(tǒng)需要采取外部橫向增加存儲服務(wù)器的方式進行擴容,新增設(shè)的存儲服務(wù)器可以通過自身協(xié)議向狀態(tài)管理器隨時反映自身情況,直到加入存儲服務(wù)隊列后方可提供存儲服務(wù),進而實現(xiàn)系統(tǒng)的外部擴容。
同時,為了保證監(jiān)控視頻數(shù)據(jù)信息的實時性,需要在存儲視頻時設(shè)定一定的周期,避免視頻資源不受重視的情況。磁盤的存儲空間是有限的,為了能夠有效利用存儲設(shè)備的空間,降低存儲成本,需要科學(xué)管理視頻數(shù)據(jù)的周期,及時完成空間回收工作?;诖?,可以建設(shè)循環(huán)利用回收的機制,提高回收過程的高效性,及時收回過期數(shù)據(jù)信息。用戶可以提前設(shè)置好存儲周期參數(shù),將錄像機索引中的過期信息刪除,并使得一級索引及二級索引消失與過期視頻所處的存儲服務(wù)器當(dāng)中,使得存儲服務(wù)器能夠?qū)?shù)據(jù)位圖中的bit變?yōu)?。實際上,該過程無須刪除數(shù)據(jù)塊中展現(xiàn)出的實際視頻數(shù)據(jù)信息。這種方式簡單便捷,能夠最大化減小回收操作對計算機操作系統(tǒng)性能的影響。
由于數(shù)據(jù)是按順序存儲的,在時間上具有有序性,可以確?;厥者^程具有較強的連續(xù)型。當(dāng)連續(xù)數(shù)據(jù)塊中過期視頻的數(shù)量足夠多時,才會執(zhí)行回收操作。再次分配時,可以將連續(xù)的數(shù)據(jù)塊進行連續(xù)分配,促使實現(xiàn)連續(xù)回收過程,避免系統(tǒng)的存儲性能退化嚴(yán)重,確保能夠長期寫入監(jiān)控視頻數(shù)據(jù)。
在并發(fā)視頻流的工作流程中,需要根據(jù)視頻流的存儲要求完成排序工作任務(wù),利用緩沖區(qū)的空間進行并發(fā)調(diào)制,用單線程順序?qū)懙姆绞捷^為簡單的處理多路并發(fā)視頻流。在一般情況下,單線程方式一般對大段數(shù)據(jù)進行連續(xù)處理,能夠有效減少大段數(shù)據(jù)在多線程并發(fā)寫時等待尋址的時間,大大提高系統(tǒng)的工作效率,同時,在針對小數(shù)據(jù)讀取,能夠有效避免讀取磁頭頻繁移動所消耗的大量時間,提高了傳輸速率,同時,該種方案可以有效保證數(shù)據(jù)存儲的穩(wěn)定性,由于緩沖區(qū)與數(shù)據(jù)塊適用的是一對一的分配方式,對于一個數(shù)據(jù)塊只能存在于某一路視頻流,視頻緩沖區(qū)片段的編號只能呈遞增關(guān)系,因此在存儲中視頻數(shù)據(jù)物力的存儲位置相連續(xù)。
為了保證海量視頻監(jiān)控系統(tǒng)的可靠性,環(huán)節(jié)存儲空間的耗費情況,需要對元數(shù)據(jù)及視頻數(shù)據(jù)進行分類存儲。占用空間較小、利用率較高的為元數(shù)據(jù),可以通過結(jié)構(gòu)化分析獲取元數(shù)據(jù)屬性信息,并按照該屬性提取出元數(shù)據(jù),引入三模冗余模型提高容錯效率,提高數(shù)據(jù)讀取過程的精確性與高可用性。如果視頻數(shù)據(jù)占用的空間較大,直接使用率較低,可以運用改進的liberation碼進行容錯。XOR操作次數(shù)是影響編碼效率的主要因素之一,會受到編碼矩陣中數(shù)字1個數(shù)的影響。
把視頻流用GOP幀組的形式切割成多個數(shù)據(jù)塊,并與編碼矩陣元素進行矩陣運算,獲得數(shù)據(jù)元素信息,通過XOR操作過程獲得不同的校驗元素信息。不同校驗單位的編碼原理是不同的,具有相異的數(shù)據(jù)特征信息,可以取代傳統(tǒng)的liberation碼進行節(jié)點故障恢復(fù)過程,縮減從正常磁盤處讀取的數(shù)據(jù)量大小,降低故障修復(fù)過程耗費的時間。在修復(fù)單點數(shù)據(jù)故障時,可以將數(shù)據(jù)劃分成兩部分,降低編碼實驗占據(jù)的空間。
為證明本方案的可行性,本文對該種方案進行不同情況,針對不同數(shù)據(jù)測試。
本實驗主要針對磁盤寫性能,通過改變緩沖區(qū)大小測試和分析參數(shù)來進行試驗,本實驗對參數(shù)進行了區(qū)間選擇當(dāng)緩沖區(qū)過小時,容易導(dǎo)致寫入調(diào)用期間過程中磁盤轉(zhuǎn)過待寫位置,造成寫性能效率較低,隨著緩沖區(qū)的不斷增大,平均寫入速率先上升在下降,最后由于緩沖區(qū)的不斷增大在產(chǎn)生偏移量不斷減小的現(xiàn)象,進而導(dǎo)致寫性能不斷下降的情況。
該項試驗為了證明存儲策略對高并發(fā)視頻數(shù)據(jù)的寫入性能影響,在實驗中采用不同的視頻流,對比其平均寫入速度。通過對試驗數(shù)據(jù)的分析,本文所采用的方案能夠很好提高數(shù)據(jù)的寫入效率,基于其裸磁盤設(shè)計數(shù)據(jù)塊的結(jié)構(gòu),其能夠有效減少系統(tǒng)進行二次緩存,同時,在進行運行過程中,其磁盤內(nèi)部碎片相較于其他情況來說明顯減少,該種方法能夠有效保障寫入效率。
該項試驗對多級磁盤調(diào)度策略系統(tǒng)節(jié)能效果進行試驗,對比試驗結(jié)束后不同情況下的休眠磁盤以及休眠后重啟時間,發(fā)現(xiàn)當(dāng)利用多級磁盤調(diào)度策略進行大量高并發(fā)視頻流時,該項方案能夠有效減少系統(tǒng)磁盤損耗與重啟延遲,大大提高寫性能的效率。
綜上所述,為提高系統(tǒng)的寫入速率以及保證機械硬盤的隨機寫入性能,同時減少磁盤內(nèi)部碎片產(chǎn)生情況,有效保證適用情況,實現(xiàn)視頻數(shù)據(jù)存儲位置的有效作用,本文提到的方案時采用Bcache混合存儲技術(shù)同高速緩沖區(qū)并發(fā)適用的存儲結(jié)構(gòu),通過實踐能夠有效證明其在寫入效率,存儲空間上都有很大改進。另外,改進后的liberation碼可以有效減少數(shù)據(jù)丟失,同時對丟失的護具數(shù)據(jù)能夠及時發(fā)現(xiàn)并進行恢復(fù)有效減少正常磁盤元素的讀取量,保證了系統(tǒng)的有效性,維持系統(tǒng)適用的最低能耗與最低重啟延遲,保證了系統(tǒng)的高質(zhì)量穩(wěn)定運行。