国产精品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>

      錄像文件寫方法和錄制設(shè)備的制造方法

      文檔序號(hào):10470878閱讀:273來源:國知局
      錄像文件寫方法和錄制設(shè)備的制造方法
      【專利摘要】本發(fā)明提供一種錄像文件寫方法和錄制設(shè)備解決錄像文件寫入慢的問題。其涉及文件寫入方法,特別設(shè)計(jì)錄像文件的寫入。本方法,包括步驟:獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大??;分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍;接收寫入請(qǐng)求,判斷緩存池剩余的可寫容量是否大于寫入請(qǐng)求對(duì)應(yīng)的請(qǐng)求容量,若可寫容量大于請(qǐng)求容量,則將寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)寫入緩存池,并更新緩存池的可寫容量,若可寫容量小于或等于請(qǐng)求容量,則向緩存池中寫入可寫容量大小的請(qǐng)求數(shù)據(jù),所述請(qǐng)求數(shù)據(jù)為寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),然后將緩存池的數(shù)據(jù)寫入存儲(chǔ)器,并將未寫入緩存池的請(qǐng)求數(shù)據(jù)請(qǐng)求寫入緩存池。本方法可提高了存儲(chǔ)器的使用壽命。
      【專利說明】
      錄像文件寫方法和錄制設(shè)備
      技術(shù)領(lǐng)域
      [0001]本發(fā)明涉及文件寫入方法,特別設(shè)計(jì)錄像文件的寫入。
      【背景技術(shù)】
      [0002]隨著目前消費(fèi)類電子產(chǎn)品所帶CPU主頻以及視頻編碼器性能的提高,產(chǎn)品普遍帶1080P以上分辨率的錄像功能,甚至有多路高清錄像的要求。為了保證產(chǎn)品內(nèi)部存儲(chǔ)的壽命,一般來說這類產(chǎn)品都會(huì)要求客戶使用外部存儲(chǔ)設(shè)備存儲(chǔ),如SD卡,硬盤等。這種情況下,經(jīng)常會(huì)遇到外部存儲(chǔ)寫性能不夠,從而影響了錄像的效果,也間接減少了外部存儲(chǔ)的壽命。

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

      [0003]以下給出對(duì)一個(gè)或更多個(gè)方面的簡化概述以力圖提供對(duì)此類方面的基本理解。此概述不是所有構(gòu)想到的方面的詳盡綜覽,并且既非旨在指認(rèn)出所有方面的關(guān)鍵性或決定性要素亦非試圖界定任何或所有方面的范圍。其唯一的目的是要以簡化形式給出一個(gè)或更多個(gè)方面的一些概念以作為稍后給出的更加具體的說明之序。
      [0004]本發(fā)明提供一種錄像文件寫方法和錄制設(shè)備解決錄像文件寫入慢的問題。
      [0005]為實(shí)現(xiàn)上述目的,發(fā)明人提供了錄像文件寫方法,包括步驟:
      [0006]獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大?。?br>[0007]分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍;
      [0008]接收寫入請(qǐng)求,判斷緩存池剩余的可寫容量是否大于寫入請(qǐng)求對(duì)應(yīng)的請(qǐng)求容量,
      [0009]若可寫容量大于請(qǐng)求容量,則將寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)寫入緩存池,并更新緩存池的可寫容量,
      [0010]若可寫容量小于或等于請(qǐng)求容量,則向緩存池中寫入可寫容量大小的請(qǐng)求數(shù)據(jù),所述請(qǐng)求數(shù)據(jù)為寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),然后將緩存池的數(shù)據(jù)寫入存儲(chǔ)器,并將未寫入緩存池的請(qǐng)求數(shù)據(jù)請(qǐng)求寫入緩存池。
      [0011 ]進(jìn)一步,在步驟“獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小;”之后,在步驟“根據(jù)分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍”之前還包括步驟:若無法獲取簇的大小,則獲取文件系統(tǒng)1的塊大小,將文件系統(tǒng)1的塊大小設(shè)置為基準(zhǔn)大小;若基準(zhǔn)大小未設(shè)置,則將基準(zhǔn)大小設(shè)置為默認(rèn)值128K。
      [0012]進(jìn)一步,,包括步驟,在收到清空請(qǐng)求時(shí),若緩存池中有數(shù)據(jù),則將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行清空操作。
      [0013]進(jìn)一步,,包括步驟,在收到文件操作指針偏移請(qǐng)求時(shí),若當(dāng)前文件指針偏移值加上緩存池已有數(shù)據(jù)量等于此次文件請(qǐng)求指針偏移值時(shí),則直接返回成功,否則進(jìn)行如下步驟:若緩存池中有數(shù)據(jù),則將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行文件操作指針移位操作。
      [0014]進(jìn)一步,接收數(shù)據(jù)寫入請(qǐng)求之后,判斷緩存池剩余的可寫容量是否大于寫入的請(qǐng)求之前,還包括步驟,判斷文件操作指針是否有效。
      [0015]發(fā)明人還提供一種錄制設(shè)備,包括初始化模塊、寫請(qǐng)求判斷模塊,緩存池寫模塊、存儲(chǔ)器寫模塊;
      [0016]所述初始化模塊連接寫請(qǐng)求判斷模塊,所述寫請(qǐng)求判斷模塊連接緩存池寫模塊、所述緩存池寫模塊連接存儲(chǔ)器寫模塊;
      [0017]所述初始化模塊用于獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小;分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍;
      [0018]所述寫請(qǐng)求判斷模塊用于接收數(shù)據(jù)寫入請(qǐng)求,判斷緩存池剩余的可寫容量是否大于寫入請(qǐng)求的請(qǐng)求容量;
      [0019]所述緩存寫模塊用于在寫容量大于請(qǐng)求容量,將寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)寫入緩存池,并更新緩存池的可寫容量;在可寫容量小于或等于請(qǐng)求容量,則向緩存池中寫入可寫容量大小的請(qǐng)求數(shù)據(jù),所述請(qǐng)求數(shù)據(jù)為寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),然后通過存儲(chǔ)器寫模塊將緩存池的數(shù)據(jù)寫入存儲(chǔ)器,并將未寫入緩存池的請(qǐng)求數(shù)據(jù)請(qǐng)求寫入緩存池;
      [0020]所述存儲(chǔ)器寫模塊用于在緩存池的可寫入容量為O時(shí),將緩存池的數(shù)據(jù)寫入存儲(chǔ)器。
      [0021]進(jìn)一步,所述初始化模塊用于獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小;若無法獲取簇的大小,則獲取文件系統(tǒng)1的塊大小,將文件系統(tǒng)1的塊大小設(shè)置為基準(zhǔn)大?。蝗艋鶞?zhǔn)大小未設(shè)置,則將基準(zhǔn)大小設(shè)置為默認(rèn)值128K;
      [0022]根據(jù)分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍。
      [0023]進(jìn)一步,還包括清空請(qǐng)求處理模塊;所述清空請(qǐng)求處理模塊連接初始化模塊和緩存寫模塊;
      [0024]所述清空請(qǐng)求處理模塊用于接收清空請(qǐng)求,若緩存池中有數(shù)據(jù),則通過存儲(chǔ)器寫模塊將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行清空操作。
      [0025]進(jìn)一步,還包括文件操作指針移位請(qǐng)求處理模塊;所述文件操作指針移位請(qǐng)求處理模塊連接初始化模塊和緩存寫模塊;
      [0026]所述文件操作指針移位請(qǐng)求處理模塊用于接收文件操作指針移位請(qǐng)求時(shí),若當(dāng)前文件指針偏移值加上緩存池已有數(shù)據(jù)量等于此次文件請(qǐng)求指針偏移值時(shí),則直接返回成功,否則進(jìn)行如下步驟:若緩存池中有數(shù)據(jù),則通過存儲(chǔ)器寫模塊將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行文件操作指針移位操作。
      [0027]進(jìn)一步,寫請(qǐng)求判斷模塊還用于判斷文件操作指針是否有效。
      [0028]區(qū)別于現(xiàn)有技術(shù),上述技術(shù)方案特別是在錄制視頻時(shí),由于視頻圖像數(shù)據(jù)有極強(qiáng)的相關(guān)性,也就是說有大量的冗余信息。其中冗余信息可分為空域冗余信息和時(shí)域冗余信息。在錄制視頻時(shí),常采用壓縮技術(shù)(例如H26x系列)將數(shù)據(jù)中的冗余信息去掉(去除數(shù)據(jù)之間的相關(guān)性),這樣導(dǎo)致單位時(shí)間內(nèi)的請(qǐng)求寫入存儲(chǔ)器的數(shù)據(jù)量不是恒定的;通過上述方法保證寫入存儲(chǔ)器的視頻數(shù)據(jù)都是簇對(duì)齊的,從而減少操作存儲(chǔ)器中的簇的次數(shù),在向存儲(chǔ)器寫入視頻數(shù)據(jù)時(shí),具有較快的速度。同時(shí)對(duì)于同等數(shù)量的視頻數(shù)據(jù),能減少寫入次數(shù),從容提高了存儲(chǔ)器的使用壽命。
      [0029]為能達(dá)成前述及相關(guān)目的,這一個(gè)或更多個(gè)方面包括在下文中充分描述并在所附權(quán)利要求中特別指出的特征。以下描述和附圖詳細(xì)闡述了這一個(gè)或更多個(gè)方面的某些說明性特征。但是,這些特征僅僅是指示了可采用各種方面的原理的各種方式中的若干種,并且本描述旨在涵蓋所有此類方面及其等效方面。
      【附圖說明】
      [0030]以下將結(jié)合附圖來描述所公開的方面,提供附圖是為了說明而非限定所公開的方面,附圖中相似的標(biāo)號(hào)標(biāo)示相似要素,并且在其中:
      [0031]圖1【具體實(shí)施方式】所述的錄像文件寫入方法;
      [0032]圖2為【具體實(shí)施方式】所述所述的錄制設(shè)備模塊示意圖。
      [0033]附圖標(biāo)記說明:
      [0034]20、錄制設(shè)備;
      [0035]201、初始化模塊;
      [0036]202、寫請(qǐng)求判斷模塊;
      [0037]203、清空請(qǐng)求處理模塊;
      [0038]204、文件操作指針位移請(qǐng)求處理模塊;
      [0039]205、緩存池寫模塊;
      [0040]206、存儲(chǔ)器寫模塊。
      【具體實(shí)施方式】
      [0041]為詳細(xì)說明技術(shù)方案的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合具體實(shí)施例并配合附圖詳予說明。在以下描述中,出于解釋目的闡述了眾多的具體細(xì)節(jié)以提供對(duì)一個(gè)或更多個(gè)方面的透徹理解。但是顯而易見的是,沒有這些具體細(xì)節(jié)也可實(shí)踐此類方面。
      [0042]錄像文件寫方法,參見圖1,其包括步驟:
      [0043]獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大??;
      [0044]分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍;
      [0045]接收寫入請(qǐng)求,判斷緩存池剩余的可寫容量是否大于寫入請(qǐng)求對(duì)應(yīng)的的請(qǐng)求容量,
      [0046]若可寫容量大于請(qǐng)求容量,則將寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)寫入緩存池,并更新緩存池的可寫容量,
      [0047]若可寫容量小于或等于請(qǐng)求容量,則向緩存池中寫入可寫容量大小的請(qǐng)求數(shù)據(jù),所述請(qǐng)求數(shù)據(jù)為寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),然后將緩存池的數(shù)據(jù)寫入存儲(chǔ)器,并將未寫入緩存池的請(qǐng)求數(shù)據(jù)請(qǐng)求寫入緩存池。
      [0048]磁盤是由一個(gè)一個(gè)扇區(qū)組成的,若干個(gè)扇區(qū)合為一個(gè)簇,文件存取是以簇(cluster)為單位的。
      [0049]基準(zhǔn)大小優(yōu)選的為簇的大小,所述緩存池可以是內(nèi)存中開辟的存儲(chǔ)空間,也可以是對(duì)應(yīng)的硬件緩存池。將緩存池的大小設(shè)置為簇大小的整數(shù)倍,使請(qǐng)求數(shù)據(jù)在寫入存儲(chǔ)器時(shí)盡可能是寫入整簇的,從而減少了視頻文件寫入時(shí)操作簇的次數(shù),從而加快寫入速度。
      [0050]在寫入錄像文件時(shí),先接收數(shù)據(jù)寫入請(qǐng)求Ql,寫入請(qǐng)求Ql中包含請(qǐng)求寫入數(shù)據(jù)的大小Ql-size(即請(qǐng)求容量)。寫入請(qǐng)求即Write操作。
      [0051]當(dāng)緩存池的可寫容量S-size大于請(qǐng)求容量Ql-size時(shí),即在緩存池空置的空間足夠?qū)懭胝?qǐng)求數(shù)據(jù)時(shí),將寫入請(qǐng)求Ql對(duì)應(yīng)的請(qǐng)求數(shù)據(jù)寫入緩存池空置的空間;當(dāng)緩存池的可寫容量S-size小于或等于請(qǐng)求容量Ql-size時(shí),則將緩存池寫滿后(即將寫入請(qǐng)求Ql中的S-size的數(shù)據(jù)寫入緩存池對(duì)應(yīng)的空置空間),然后將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再向緩存池請(qǐng)求寫入未寫入的數(shù)據(jù),即將Ql-size減去S-size的未寫入的數(shù)據(jù)重新生成寫入請(qǐng)求Q2。
      [0052]特別是在錄制視頻時(shí),由于視頻圖像數(shù)據(jù)有極強(qiáng)的相關(guān)性,也就是說有大量的冗余信息。其中冗余信息可分為空域冗余信息和時(shí)域冗余信息。在錄制視頻時(shí),常采用壓縮技術(shù)(例如H26x系列)將數(shù)據(jù)中的冗余信息去掉(去除數(shù)據(jù)之間的相關(guān)性),這樣視頻錄制過程中單位時(shí)間內(nèi)的請(qǐng)求寫入存儲(chǔ)器的數(shù)據(jù)量不是恒定的;通過上述方法保證寫入存儲(chǔ)器的視頻數(shù)據(jù)都是簇對(duì)齊的,從而減少操作存儲(chǔ)器中的簇的次數(shù),在向存儲(chǔ)器寫入視頻數(shù)據(jù)時(shí),具有較快的速度。同時(shí)對(duì)于同等數(shù)量的視頻數(shù)據(jù),能減少寫入次數(shù),從容提高了存儲(chǔ)器的使用壽命O
      [0053]在步驟“獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小;”之后,在步驟“根據(jù)分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍”之前還包括步驟:若無法獲取簇的大小,則獲取1塊大小,將1塊大小設(shè)置為基準(zhǔn)大小;若基準(zhǔn)大小未設(shè)置,則將基準(zhǔn)大小設(shè)置為默認(rèn)值128K。在收到清空請(qǐng)求時(shí),若緩存池中有數(shù)據(jù),則將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行清空操作。
      [0054]接收到清空請(qǐng)求(Flush)后,將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,調(diào)用同模塊中的Flush接口清除當(dāng)前的緩存數(shù),保證請(qǐng)清空數(shù)據(jù),同時(shí)緩存池的已寫大小設(shè)置為O;在收到文件操作指針偏移請(qǐng)求時(shí),若緩存池中有數(shù)據(jù),則將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行文件操作指針移位操作。
      [0055]接收到文件操作指針偏移請(qǐng)求(Seek)后,若當(dāng)前文件指針偏移值(Offset)加上緩存池已有數(shù)據(jù)量等于此次文件請(qǐng)求指針偏移值時(shí),則直接返回成功,否則進(jìn)行如下步驟:將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行文件操作指針移位操作。根據(jù)文件操作指針偏移請(qǐng)求中的偏移量以及當(dāng)前文件指針偏移值(Off set),計(jì)算Seek后的文件偏移量與Cluster對(duì)其還差多少,以使seek后第一次寫操作進(jìn)行補(bǔ)償對(duì)齊。補(bǔ)償對(duì)齊為寫入數(shù)據(jù)使得簇對(duì)齊。
      [0056]接收數(shù)據(jù)寫入請(qǐng)求之后,判斷緩存池剩余的可寫容量是否大于寫入的請(qǐng)求之前,還包括步驟,判斷文件操作指針是否有效。
      [0057]可以理解的是接收清空請(qǐng)求或文件操作指針偏移請(qǐng)求之后,也可判斷請(qǐng)求中的文件操作指針是否有效。若指針無效則不處理請(qǐng)求。
      [0058]錄制設(shè)備20包括初始化模塊201、寫請(qǐng)求判斷模塊202,緩存池寫模塊205、存儲(chǔ)器寫模塊206;
      [0059]所述初始化模塊201連接寫請(qǐng)求判斷模塊202,所述寫請(qǐng)求判斷模塊202連接緩存池寫模塊205,所述緩存池寫模塊205連接存儲(chǔ)器寫模塊206;
      [0060]所述初始化模塊201用于獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小;分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍;
      [0061]所述寫請(qǐng)求判斷模塊202用于接收數(shù)據(jù)寫入請(qǐng)求,判斷緩存池剩余的可寫容量是否大于寫入請(qǐng)求的請(qǐng)求容量;
      [0062]所述緩存寫模塊205用于在寫容量大于請(qǐng)求容量,將寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)寫入緩存池,并更新緩存池的可寫容量;在可寫容量小于或等于請(qǐng)求容量,則向緩存池中寫入可寫容量大小的請(qǐng)求數(shù)據(jù),所述請(qǐng)求數(shù)據(jù)為寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),然后通過存儲(chǔ)器寫模塊將緩存池的數(shù)據(jù)寫入存儲(chǔ)器,并將未寫入緩存池的請(qǐng)求數(shù)據(jù)請(qǐng)求寫入緩存池;
      [0063]所述存儲(chǔ)器寫模塊206用于在緩存池的可寫入容量為O時(shí),將緩存池的數(shù)據(jù)寫入存儲(chǔ)器。
      [0064]所述初始化模塊201用于獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小;若無法獲取簇的大小,則獲取文件系統(tǒng)1的塊大小,將文件系統(tǒng)1的塊大小設(shè)置為基準(zhǔn)大小;若基準(zhǔn)大小未設(shè)置,則將基準(zhǔn)大小設(shè)置為默認(rèn)值128K;
      [0065]根據(jù)分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍。
      [0066]還包括清空請(qǐng)求處理模塊203;所述清空請(qǐng)求處理模塊連接初始化模塊和緩存寫豐旲塊;
      [0067]所述清空請(qǐng)求處理模塊用于接收清空請(qǐng)求,若緩存池中有數(shù)據(jù),則通過存儲(chǔ)器寫模塊將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行清空操作。
      [0068]還包括文件操作指針移位請(qǐng)求處理模塊;所述文件操作指針移位請(qǐng)求處理模塊連接初始化模塊和緩存寫模塊;
      [0069]所述文件操作指針移位請(qǐng)求處理模塊204用于接收文件操作指針移位請(qǐng)求時(shí),,若當(dāng)前文件指針偏移值加上緩存池已有數(shù)據(jù)量等于此次文件請(qǐng)求指針偏移值時(shí),則直接返回成功,否則進(jìn)行如下步驟:若緩存池中有數(shù)據(jù),則通過存儲(chǔ)器寫模塊將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行文件操作指針移位操作。
      [0070]寫請(qǐng)求判斷模塊還用于判斷文件操作指針是否有效。
      [0071]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的要素。此夕卜,在本文中,“大于”、“小于”、“超過”等理解為不包括本數(shù);“以上”、“以下”、“以內(nèi)”等理解為包括本數(shù)。
      [0072]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,上述各實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。這些實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。上述各實(shí)施例涉及的方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)設(shè)備可讀取的存儲(chǔ)介質(zhì)中,用于執(zhí)行上述各實(shí)施例方法所述的全部或部分步驟。所述計(jì)算機(jī)設(shè)備,包括但不限于:個(gè)人計(jì)算機(jī)、服務(wù)器、通用計(jì)算機(jī)、專用計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、嵌入式設(shè)備、可編程設(shè)備、智能移動(dòng)終端、智能家居設(shè)備、穿戴式智能設(shè)備、車載智能設(shè)備等;所述的存儲(chǔ)介質(zhì),包括但不限于:RAM、R0M、磁碟、磁帶、光盤、閃存、U盤、移動(dòng)硬盤、存儲(chǔ)卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲(chǔ)、網(wǎng)絡(luò)云存儲(chǔ)等。
      [0073]上述各實(shí)施例是參照根據(jù)實(shí)施例所述的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到計(jì)算機(jī)設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
      [0074]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)設(shè)備以特定方式工作的計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
      [0075]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)設(shè)備上,使得在計(jì)算機(jī)設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
      [0076]盡管已經(jīng)對(duì)上述各實(shí)施例進(jìn)行了描述,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改,所以以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利保護(hù)范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍之內(nèi)。
      【主權(quán)項(xiàng)】
      1.錄像文件寫方法,其特征在于,包括步驟: 獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小; 分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍; 接收寫入請(qǐng)求,判斷緩存池剩余的可寫容量是否大于寫入請(qǐng)求對(duì)應(yīng)的請(qǐng)求容量, 若可寫容量大于請(qǐng)求容量,則將寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)寫入緩存池,并更新緩存池的可寫容量, 若可寫容量小于或等于請(qǐng)求容量,則向緩存池中寫入可寫容量大小的請(qǐng)求數(shù)據(jù),所述請(qǐng)求數(shù)據(jù)為寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),然后將緩存池的數(shù)據(jù)寫入存儲(chǔ)器,并將未寫入緩存池的請(qǐng)求數(shù)據(jù)請(qǐng)求寫入緩存池。2.根據(jù)權(quán)利要求1所述的錄像文件寫方法,其特征在于,在步驟“獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小;”之后,在步驟“根據(jù)分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍”之前還包括步驟:若無法獲取簇的大小,則獲取文件系統(tǒng)1的塊大小,將文件系統(tǒng)1的塊大小設(shè)置為基準(zhǔn)大小;若基準(zhǔn)大小未設(shè)置,則將基準(zhǔn)大小設(shè)置為默認(rèn)值128K。3.根據(jù)權(quán)利要求1所述的錄像文件寫入方法,其特征在于,包括步驟,在收到清空請(qǐng)求時(shí),若緩存池中有數(shù)據(jù),則將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行清空操作。4.根據(jù)權(quán)利要求1所述的錄像文件寫入方法,其特征在于,包括步驟,在收到文件操作指針偏移請(qǐng)求時(shí),若當(dāng)前文件指針偏移值加上緩存池已有數(shù)據(jù)量等于此次文件請(qǐng)求指針偏移值時(shí),則直接返回成功,否則進(jìn)行如下步驟:若緩存池中有數(shù)據(jù),則將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行文件操作指針移位操作。5.根據(jù)權(quán)利要求1所述的錄像文件寫入方法,其特征在于,接收數(shù)據(jù)寫入請(qǐng)求之后,判斷緩存池剩余的可寫容量是否大于寫入的請(qǐng)求之前,還包括步驟,判斷文件操作指針是否有效。6.錄制設(shè)備,其特征在于,包括初始化模塊、寫請(qǐng)求判斷模塊,緩存池寫模塊、存儲(chǔ)器寫豐旲塊; 所述初始化模塊連接寫請(qǐng)求判斷模塊,所述寫請(qǐng)求判斷模塊連接緩存池寫模塊、所述緩存池寫模塊連接存儲(chǔ)器寫模塊; 所述初始化模塊用于獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大小;分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍; 所述寫請(qǐng)求判斷模塊用于接收數(shù)據(jù)寫入請(qǐng)求,判斷緩存池剩余的可寫容量是否大于寫入請(qǐng)求的請(qǐng)求容量; 所述緩存寫模塊用于在寫容量大于請(qǐng)求容量,將寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù)寫入緩存池,并更新緩存池的可寫容量;在可寫容量小于或等于請(qǐng)求容量,則向緩存池中寫入可寫容量大小的請(qǐng)求數(shù)據(jù),所述請(qǐng)求數(shù)據(jù)為寫入請(qǐng)求對(duì)應(yīng)的數(shù)據(jù),然后通過存儲(chǔ)器寫模塊將緩存池的數(shù)據(jù)寫入存儲(chǔ)器,并將未寫入緩存池的請(qǐng)求數(shù)據(jù)請(qǐng)求寫入緩存池; 所述存儲(chǔ)器寫模塊用于在緩存池的可寫入容量為O時(shí),將緩存池的數(shù)據(jù)寫入存儲(chǔ)器。7.根據(jù)權(quán)利要求6所述的錄制設(shè)備,其特征在于,所述初始化模塊用于獲取存儲(chǔ)器的文件系統(tǒng)的簇的大小,若獲取到簇的大小,則將簇的大小設(shè)為基準(zhǔn)大??;若無法獲取簇的大小,則獲取文件系統(tǒng)1的塊大小,將1塊大小設(shè)置為基準(zhǔn)大小;若基準(zhǔn)大小未設(shè)置,則將基準(zhǔn)大小設(shè)置為默認(rèn)值128K; 根據(jù)分配緩存池的容量為基準(zhǔn)大小的整數(shù)倍。8.根據(jù)權(quán)利要求6所述的錄制設(shè)備,其特征在于,還包括清空請(qǐng)求處理模塊;所述清空請(qǐng)求處理模塊連接初始化模塊和緩存寫模塊; 所述清空請(qǐng)求處理模塊用于接收清空請(qǐng)求,若緩存池中有數(shù)據(jù),則通過存儲(chǔ)器寫模塊將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行清空操作。9.根據(jù)權(quán)利要求6所述的錄制設(shè)備,其特征在于,還包括文件操作指針移位請(qǐng)求處理模塊;所述文件操作指針移位請(qǐng)求處理模塊連接初始化模塊和緩存寫模塊; 所述文件操作指針移位請(qǐng)求處理模塊用于接收文件操作指針移位請(qǐng)求時(shí),若當(dāng)前文件指針偏移值加上緩存池已有數(shù)據(jù)量等于此次文件請(qǐng)求指針偏移值時(shí),則直接返回成功,否則進(jìn)行如下步驟:若緩存池中有數(shù)據(jù),則通過存儲(chǔ)器寫模塊將緩存池中的數(shù)據(jù)寫入存儲(chǔ)器,再進(jìn)行文件操作指針移位操作。10.根據(jù)權(quán)利要求6所述的錄制設(shè)備,其特征在于,寫請(qǐng)求判斷模塊還用于判斷文件操作指針是否有效。
      【文檔編號(hào)】G06F3/06GK105824580SQ201610156790
      【公開日】2016年8月3日
      【申請(qǐng)日】2016年3月18日
      【發(fā)明人】陳長海
      【申請(qǐng)人】福州瑞芯微電子股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1