国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備的制作方法

      文檔序號:6765185閱讀:310來源:國知局
      一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備的制作方法
      【專利摘要】本發(fā)明是一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備,方法步驟:1)將錄像機中的磁盤格式化,固定為一個或若干個分區(qū),針對不同的文件系統(tǒng),使用操作系統(tǒng)提供的不同的格式化方法;2)建立錄像文件索引數(shù)據(jù)庫,提供錄像文件檢索服務(wù);3)固定錄像文件大小,記為A(Byte);4)磁盤沒有寫滿時,采用一般的文件創(chuàng)建、寫入方式;5)磁盤寫滿后,找出本磁盤上創(chuàng)建時間最老的文件,將其作為新的錄像文件,從文件的起始位置覆蓋寫入,循環(huán)往復(fù)。優(yōu)點:本發(fā)明構(gòu)建在通用文件系統(tǒng)之上,簡單,容易實現(xiàn),兼容不同的文件系統(tǒng)。解決了硬盤錄像機長時間循環(huán)寫入音視頻數(shù)據(jù)后,產(chǎn)生大量磁盤碎片,影響系統(tǒng)運行效率的問題。
      【專利說明】一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明是一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備,適用于需要長時間、循環(huán)寫入音視頻數(shù)據(jù)的硬盤錄像機。使用后能極大的減少磁盤碎片,提高系統(tǒng)效率。并且本發(fā)明是簡單的,容易實現(xiàn)的。
      【背景技術(shù)】
      [0002]硬盤錄像機(DVR)、網(wǎng)絡(luò)硬盤錄像機(NVR)需要實時寫入音視頻數(shù)據(jù),當(dāng)磁盤寫滿后,就需要先刪除最老的錄像文件,然后再新建錄像文件,其中刪除錄像文件是非常耗費系統(tǒng)資源的操作,在刪除錄像文件的同時寫入新的錄像文件,系統(tǒng)性能將急劇下降。由于不斷新建、刪除、寫入操作后,磁盤就會產(chǎn)生碎片。隨著時間的加長,碎片越來越嚴(yán)重,直接導(dǎo)致系統(tǒng)運行效率下降。傳統(tǒng)的解決方法是在線碎片整理,但在線碎片整理過程本身也非常耗費系統(tǒng)資源,在碎片整理的這一段時間內(nèi),整個系統(tǒng)的運行效率下降,例如出現(xiàn)實時流轉(zhuǎn)發(fā)丟包,寫入錄像文件不完整等問題。同時經(jīng)常性的在線碎片整理也將影響磁盤的壽命。
      一種防止文件碎片產(chǎn)生的硬盤錄像機文件管理方法,專利申請?zhí)?200510050829.3),提出修改FAT文件系統(tǒng)的分區(qū)表,預(yù)分配文件,首次寫入時選取預(yù)先創(chuàng)建的數(shù)據(jù)文件,等到預(yù)先分配的數(shù)據(jù)文件使用完后,覆蓋最老的錄像文件。并建立2個索引文件,以完成對錄像檢索、回放的需求。該方法要求程序編寫者熟悉文件系統(tǒng)的結(jié)構(gòu),操作文件系統(tǒng)的元數(shù)據(jù)(如分區(qū)表等信息),實現(xiàn)難度較大。同時,該方法僅適合于文件系統(tǒng)的元數(shù)據(jù)位于磁盤固定位置的文件系統(tǒng),如fat系列的文件系統(tǒng),對于現(xiàn)代的文件系統(tǒng),如ext4、xfs等,文件系統(tǒng)的元數(shù)據(jù)都是動態(tài)生成的,不固定在磁盤的某個位置,因此該方法很難運用到現(xiàn)代的文件系統(tǒng)上。
      [0003]一種降低磁盤碎片的方法,申請?zhí)?01210495293.6,提出在NVR初次使用時將磁盤預(yù)先分配好一定數(shù)量的文件,將這些文件存放數(shù)據(jù)庫。我們認為,如果不操作文件系統(tǒng)的元數(shù)據(jù)(分區(qū)表等信息),預(yù)先分配一定數(shù)量的文件在很多文件系統(tǒng)上都是一個非常耗時的操作,在預(yù)分配一定數(shù)量文件這段時間內(nèi),NVR系統(tǒng)基本處于一個不可用的狀態(tài)。同時該專利提出FAT表和目錄區(qū)凍結(jié)技巧,因此該專利是和FAT文件系統(tǒng)緊密關(guān)聯(lián)的。

      【發(fā)明內(nèi)容】

      [0004]本發(fā)明提出的是一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備,其目的旨在解決硬盤錄像機長時間循環(huán)寫入音視頻數(shù)據(jù)后,產(chǎn)生大量磁盤碎片,影響系統(tǒng)運行效率的問題。
      [0005]本發(fā)明的技術(shù)解決方案:一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備;管理方法,包括如下步驟:
      1)將錄像機中的磁盤格式化,固定為一個或若干個分區(qū),針對不同的文件系統(tǒng),使用操作系統(tǒng)提供的不同的格式化方法;
      2)建立錄像文件索引數(shù)據(jù)庫,提供高效的錄像文件檢索服務(wù); 3)固定錄像文件大小,記為A(Byte);
      4)錄像機中的磁盤未寫滿時,采用創(chuàng)建、寫入的方法;首先創(chuàng)建一個錄像文件,然后依次寫入錄像數(shù)據(jù);數(shù)據(jù)庫中增加一條索引記錄,標(biāo)記錄像的開始時間、結(jié)束時間、錄像文件大小;錄像數(shù)據(jù)每寫入一次,更新一次錄像文件大小、結(jié)束時間,直到錄像文件的大小等于A(Byte),關(guān)閉錄像文件;
      5)錄像機中的磁盤已經(jīng)寫滿時,采用覆蓋寫入的方法;查找本磁盤中開始時間最老的錄像文件,從數(shù)據(jù)庫中刪除該錄像記錄;將這條最老的錄像文件更名為新的錄像文件,并將錄像文件的寫入指針指向文件的起始處,然后依次寫入錄像數(shù)據(jù);在數(shù)據(jù)庫中增加一條新的錄像文件記錄,標(biāo)記錄像開始時間、結(jié)束時間、文件大??;錄像數(shù)據(jù)每寫入一次,更新一次錄像文件大小、結(jié)束時間,直到錄像文件的大小等于A(Byte),關(guān)閉錄像文件;
      設(shè)備是錄像機。
      [0006]本發(fā)明的優(yōu)點:本發(fā)明建立在文件系統(tǒng)之上,不依賴文件系統(tǒng)的元數(shù)據(jù),采用通用的文件系統(tǒng)api (open、close、read、write),利用了文件重命名(mv)到同一磁盤的其他文件時,文件在磁盤的位置不發(fā)生改變的特性。本發(fā)明對不同的文件系統(tǒng)有較好的兼容性,已測試對ext3、ext4、xfs都適用。本發(fā)明使用成熟的數(shù)據(jù)庫(如sqlite3、mysql)來實現(xiàn)對錄像文件的索引,提供良好的錄像檢索速度。解決了硬盤錄像機長時間循環(huán)寫入音視頻數(shù)據(jù)后,產(chǎn)生大量磁盤碎片,影響系統(tǒng)運行效率的問題。
      【專利附圖】

      【附圖說明】
      [0007]圖1是實施例中的運行流程圖。
      【具體實施方式】
      [0008]一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備,管理方法包括如下步驟:
      1)錄像機中的磁盤格式化,固定為一個或若干個分區(qū),針對不同的文件系統(tǒng),使用操作系統(tǒng)提供的不同的格式化方法;
      2)建立錄像文件索引數(shù)據(jù)庫,提供高效的錄像文件檢索服務(wù);
      3)固定錄像文件大小,記為A(Byte);
      4)錄像機中的磁盤未寫滿時,采用創(chuàng)建、寫入的方法;首先創(chuàng)建一個錄像文件,然后依次寫入錄像數(shù)據(jù);數(shù)據(jù)庫中增加一條索引記錄,標(biāo)記錄像的開始時間、結(jié)束時間、錄像文件大??;錄像數(shù)據(jù)每寫入一次,更新一次錄像文件大小、結(jié)束時間,直到錄像文件的大小等于A (Byte),關(guān)閉錄像文件;
      5)錄像機中的磁盤已經(jīng)寫滿時,采用覆蓋寫入的方法;查找本磁盤中開始時間最老的錄像文件,從數(shù)據(jù)庫中刪除該錄像記錄;將這條最老的錄像文件更名為新的錄像文件,并將錄像文件的寫入指針指向文件的起始處,然后依次寫入錄像數(shù)據(jù);在數(shù)據(jù)庫中增加一條新的錄像文件記錄,標(biāo)記錄像開始時間、結(jié)束時間、文件大??;錄像數(shù)據(jù)每寫入一次,更新一次錄像文件大小、結(jié)束時間,直到錄像文件的大小等于A(Byte),關(guān)閉錄像文件。
      實施例[0009]設(shè)備是錄像機。
      [0010]1、初始化流程
      (1)將錄像機中的整個磁盤格式化為一個分區(qū),格式化成一個分區(qū)可以利用磁盤的所有空間;
      (2)設(shè)置錄像文件的固定大小為A(byte);
      2、開始流程
      (1)程序啟動;
      (2)判斷有沒有創(chuàng)建過用于錄像文件索引的數(shù)據(jù)庫,如果已經(jīng)創(chuàng)建,則轉(zhuǎn)到步驟(4),沒有則轉(zhuǎn)到步驟(3);
      (3)創(chuàng)建數(shù)據(jù)庫,建立表結(jié)構(gòu)、索引,表結(jié)構(gòu)的內(nèi)容包括錄像開始時間、結(jié)束時間、文件大小等內(nèi)容。根據(jù)需要,在數(shù)據(jù)庫中記錄的內(nèi)容還可以包括通道號、編碼參數(shù)、幀率、碼流大小等首視頻相關(guān)的參數(shù);
      (4)打開數(shù)據(jù)庫;
      3、運行流程,參考附圖1
      (1)開始一個新的錄像;
      (2)判斷錄像機中的磁盤是否滿,如果沒有滿,則跳到步驟(3),如果已滿,則跳到步驟
      (4),這里一般不要將磁盤寫到100%,因為寫到100%后將影響磁盤的效率,需要預(yù)留一定比率的空間;
      (3)使用系統(tǒng)調(diào)用open函數(shù),創(chuàng)建一個新的錄像文件,設(shè)置錄像文件當(dāng)前大小為
      O(byte)。將錄像記錄存入數(shù)據(jù)庫,記錄錄像開始時間、結(jié)束時間、錄像大小等參數(shù),其中開始時間、結(jié)束時間均為當(dāng)前時間,文件大小為O (byte)。隨著錄像文件的寫入,錄像結(jié)束時間、文件大小都是隨著時間變化的,將這些變化都記錄到數(shù)據(jù)庫。如果當(dāng)前使用的文件系統(tǒng)支持文件創(chuàng)建時預(yù)分配空間操作(如fallocate系統(tǒng)調(diào)用,ext4支持),則預(yù)分配A (byte)大小的磁盤空間;
      (4)查找本磁盤中最老的錄像文件,在數(shù)據(jù)庫中刪除該錄像文件。這樣客戶端就無法再搜到該錄像文件;
      (5)將最老的錄像文件更名為新錄像文件,使用mv操作。在內(nèi)存中,將當(dāng)前錄像文件的大小設(shè)為O (byte)(從錄像文件的起始處開始覆寫,因此一開始錄像文件的大小為O(byte)),將文件的寫入指針指向文件的起始處。將錄像記錄存入數(shù)據(jù)庫,記錄錄像開始時間、結(jié)束時間、文件大小等參數(shù),其中開始時間、結(jié)束時間均為當(dāng)前時間,文件大小為0(byte)。隨著錄像文件的寫入,錄像結(jié)束時間、文件大小都是隨著時間變化的,將這些變化都記錄到數(shù)據(jù)庫;
      (6)錄像文件的大小是否已經(jīng)達到A(byte)? A (byte)是預(yù)先設(shè)定的錄像文件大小,是固定的。如果沒有達到A byte,則轉(zhuǎn)到(7);如果已經(jīng)達到A(byte),則轉(zhuǎn)到⑶;
      (7)寫入錄像數(shù)據(jù),使用write系統(tǒng)調(diào)用,更新內(nèi)存中當(dāng)前錄像文件大小,并更新數(shù)據(jù)庫中相應(yīng)記錄的錄像文件大小、結(jié)束時間等參數(shù),每寫入一次都更新一次數(shù)據(jù)庫;
      (8)關(guān)閉錄像文件,更新錄像文件最終的錄像文件大小、結(jié)束時間等參數(shù);
      4、結(jié)束流程
      (I)關(guān)閉所有通道的錄像,在關(guān)閉每一路通道的錄像時,需在數(shù)據(jù)庫中更新最終的錄像文件大小,及錄像結(jié)束時間;
      (2)關(guān)閉數(shù)據(jù)庫;
      (3)程序結(jié)束;
      5、總結(jié)
      對于ext3等不支持文件創(chuàng)建時預(yù)分配空間的的文件系統(tǒng),本發(fā)明并不能保證完全沒有硬盤碎片產(chǎn)生,從上面的處理流程可以看出,長時間運行后,硬盤碎片的數(shù)量約等于第一次將磁盤寫滿后所產(chǎn)生的硬盤碎片。在一遍一遍的覆寫過程中,由于沒有舊文件的刪除、及新文件的創(chuàng)建,因此不會產(chǎn)生新的硬盤碎片。同時由于不需要刪除舊文件,本發(fā)明極大的提聞了系統(tǒng)的性能。
      [0011]對于ext4等支持文件創(chuàng)建時預(yù)分配空間的的文件系統(tǒng)(通常是支持fallocate系統(tǒng)調(diào)用),由于可以在文件創(chuàng)建時一次性的預(yù)分配文件占用的空間,因此可進一步降低磁盤碎片的產(chǎn)生。將本發(fā)明用于這類文件系統(tǒng),則基本可消除錄像機磁盤碎片,系統(tǒng)性能可進
      一步提聞。
      [0012]本發(fā)明已經(jīng)在Iinux上實現(xiàn),測試了 ext3、ext4、xfs文件系統(tǒng),達到了很好的效
      果O
      【權(quán)利要求】
      1.一種簡單防止磁盤碎片產(chǎn)生錄像文件的管理方法和設(shè)備,該方法包括如下步驟: 1)將錄像機中的磁盤格式化,固定為一個或若干個分區(qū),針對不同的文件系統(tǒng),使用操作系統(tǒng)提供的不同的格式化方法; 2)建立錄像文件索引數(shù)據(jù)庫,提供高效的錄像文件檢索服務(wù); 3)固定錄像文件大小,記為AByte ; 4)錄像機中的磁盤未寫滿時,采用創(chuàng)建、寫入的方法;首先創(chuàng)建一個錄像文件,然后依次寫入錄像數(shù)據(jù);數(shù)據(jù)庫中增加一條索引記錄,標(biāo)記錄像的開始時間、結(jié)束時間、錄像文件大??;錄像數(shù)據(jù)每寫入一次,更新一次錄像文件大小、結(jié)束時間,直到錄像文件的大小等于AByte,關(guān)閉錄像文件; 5)錄像機中的磁盤已經(jīng)寫滿時,采用覆蓋寫入的方法;查找本磁盤中開始時間最老的錄像文件,從數(shù)據(jù)庫中刪除該錄像記錄;將這條最老的錄像文件更名為新的錄像文件,并將錄像文件的寫入指針指向文件的起始處,然后依次寫入錄像數(shù)據(jù);在數(shù)據(jù)庫中增加一條新的錄像文件記錄,標(biāo)記錄像開始時間、結(jié)束時間、文件大??;錄像數(shù)據(jù)每寫入一次,更新一次錄像文件大小、結(jié)束時間,直到錄像文件的大小等于A Byte,關(guān)閉錄像文件。
      【文檔編號】G11B27/10GK103474087SQ201310401372
      【公開日】2013年12月25日 申請日期:2013年9月6日 優(yōu)先權(quán)日:2013年9月6日
      【發(fā)明者】衛(wèi)剛, 吳磊, 王強 申請人:南京南自信息技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1