本發(fā)明涉及視頻監(jiān)控
技術(shù)領(lǐng)域:
,特別是涉及一種視頻監(jiān)控數(shù)據(jù)存儲方法和裝置。
背景技術(shù):
:我們的日常生活基本離不開視頻監(jiān)控系統(tǒng)。視頻監(jiān)控系統(tǒng)根據(jù)監(jiān)控路數(shù)可以分為一路或多路監(jiān)控,即對一個或多個場景進行監(jiān)控。多路監(jiān)控對應(yīng)多個視頻文件,且不同路監(jiān)控的視頻文件通過同一接口存入存儲器。在視頻監(jiān)控系統(tǒng)中,常采用閃存(flash)作為存儲器。閃存由多個閃存塊組成,每個閃存塊包含多個頁。傳統(tǒng)方法中,各路視頻文件將按照數(shù)據(jù)的寫入順序依次寫入同一個閃存塊,即同一閃存塊中存儲的不止一路視頻文件。由于閃存的存儲空間有限,所以分配給各路視頻文件的存儲空間有限,并且各路視頻數(shù)據(jù)碼流不一樣,碼流大的某路監(jiān)控視頻耗用存儲空間較快,將導(dǎo)致該路視頻文件的可存儲空間較其他路視頻文件的可存儲空間先使用完。此時,需要刪除閃存塊中該路視頻的無效數(shù)據(jù)以獲取空閑空間供該路視頻的最新文件存儲。然而,閃存擦除是以塊為單位進行,刪除某路監(jiān)控的過期視頻文件就需要擦除過期視頻文件所在的全部塊。但是,閃存塊中存儲的不止一路視頻文件,當閃存塊中某路監(jiān)控的視頻文件存儲所占用的頁成為臟頁(存儲的數(shù)據(jù)已經(jīng)過期的頁)時,該閃存塊中其他路監(jiān)控的視頻文件所占用的頁可能仍然是有效頁(存儲的數(shù)據(jù)未過期的頁)。這就需要在擦除過期視頻文件所在的塊之前,先將這些塊上臟頁之外的有效頁數(shù)據(jù)搬移到監(jiān)控設(shè)備的內(nèi)存中,然后再對這些閃存塊進行整體擦除操作,最后再將搬移到內(nèi)存中的有效頁數(shù)據(jù)搬移回之前所在塊的對應(yīng)頁位置上。傳統(tǒng)方法存儲空間的回收效率極低,擦除閃存塊前還需要拷貝有效頁,而閃存的擦寫次數(shù)是有限的,所以對閃存塊來說損耗較大。傳統(tǒng)方法,以視頻監(jiān)控系統(tǒng)中共有4路監(jiān)控來舉例說明,分別為a路、b路、c路及d路監(jiān)控。4路監(jiān)控分別與4個視頻文件對應(yīng)。每間隔一定時間,4路視頻文件將依次存入閃存。在第一時間段,4路視頻文件可分別命名為a1、b1、c1、d1,在第二時間段,4路視頻文件可分別命名為a2、b2、c2、d2,依此類推。由于采用的是分時復(fù)用方式,每一時間段的存儲將按照從a路到d路的順序依次存入閃存塊的頁中。而閃存總存儲空間有限,分配給4路視頻文件的存儲空間也有限。假設(shè)a路碼流最大,那么a路耗用存儲空間較其他3路視頻文件快。當分配給a路的存儲空間用盡時,需要刪除過期的a路視頻以獲取存儲最新時間段的a路視頻的空間,假設(shè)需要刪除無效數(shù)據(jù)a5、a6、a7、a8,這就需要在擦除a5、a6、a7、a8所在的塊之前,先把這些塊中b路、c路、d路所占用的頁搬移到內(nèi)存中,然后再擦除a5、a6、a7、a8所在的閃存塊,最后將內(nèi)存中的b路、c路、d路有效頁數(shù)據(jù)搬移回之前所在閃存塊的對應(yīng)頁位置。這樣回收存儲空間效率極低,且反復(fù)擦寫對閃存塊的損耗也較大。技術(shù)實現(xiàn)要素:基于此,有必要針對上述技術(shù)問題,提供一種能夠提高存儲空間回收效率且降低閃存塊損耗的視頻監(jiān)控數(shù)據(jù)存儲方法和裝置。一種視頻監(jiān)控數(shù)據(jù)存儲方法,所述方法包括:接收一路視頻監(jiān)控數(shù)據(jù),將所述視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù);當所述該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為所述該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊;之后,再次接收到該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到所述分配的閃存塊中。一種視頻監(jiān)控數(shù)據(jù)存儲裝置,所述裝置包括:記錄模塊,用于接收一路視頻監(jiān)控數(shù)據(jù),將所述視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù);閃存塊分配模塊,用于當所述該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為所述該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊,存儲模塊,用于在為所述該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊之后,再次接收到該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到所述分配的閃存塊中。上述視頻監(jiān)控數(shù)據(jù)存儲方法和裝置,接收一路視頻監(jiān)控數(shù)據(jù),將視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。當該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊,之后,再次接收到該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到分配的閃存塊中。對在指定的閃存塊中存儲次數(shù)超過第一閾值的某路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊,對應(yīng)的閃存塊只用來存儲前述某路視頻監(jiān)控數(shù)據(jù)。因為對應(yīng)的閃存塊只存儲了一路視頻監(jiān)控數(shù)據(jù),所以如果對應(yīng)的閃存塊中存儲的所有某路視頻監(jiān)控數(shù)據(jù)都成為無效數(shù)據(jù)時,就可以對這個閃存塊進行整體擦除,不會影響到其他路的視頻監(jiān)控數(shù)據(jù)文件。每次擦除都可以回收一個完整的閃存塊,因此提高了存儲空間的回收效率,且一個閃存塊中只存儲了一路數(shù)據(jù),所以當這個閃存塊中該路的數(shù)據(jù)都是無效數(shù)據(jù)時,整體擦除即可,避免了將其他路的有效文件搬移到內(nèi)存中再搬回來,降低了閃存塊的損耗。附圖說明圖1為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲方法的應(yīng)用環(huán)境圖;圖2為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲方法的流程圖;圖3為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲方法的流程圖;圖4為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲方法的流程圖;圖5為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲方法的流程圖;圖6為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲方法的流程圖;圖7為一個實施例中前3次接收的視頻監(jiān)控數(shù)據(jù)存儲方法的原理圖;圖8為一個實施例中超過3次之后接收的視頻監(jiān)控數(shù)據(jù)存儲方法的原理圖;圖9為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲裝置的結(jié)構(gòu)示意圖;圖10為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲裝置的結(jié)構(gòu)示意圖;圖11為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲裝置的結(jié)構(gòu)示意圖;圖12為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲裝置的結(jié)構(gòu)示意圖;圖13為一個實施例中監(jiān)控視頻數(shù)據(jù)存儲裝置的結(jié)構(gòu)示意圖。具體實施方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖對本發(fā)明的具體實施方式做詳細的說明。在下面的描述中闡述了很多具體細節(jié)以便于充分理解本發(fā)明。但是本發(fā)明能夠以很多不同于在此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背本發(fā)明內(nèi)涵的情況下做類似改進,因此本發(fā)明不受下面公開的具體實施的限制。除非另有定義,本文所使用的所有的技術(shù)和科學(xué)術(shù)語與屬于本發(fā)明的
技術(shù)領(lǐng)域:
的技術(shù)人員通常理解的含義相同。本文中在本發(fā)明的說明書中所使用的術(shù)語只是為了描述具體的實施例的目的,不是旨在于限制本發(fā)明。以上實施例的各技術(shù)特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當認為是本說明書記載的范圍。本發(fā)明實施例提供的視頻監(jiān)控數(shù)據(jù)存儲方法可應(yīng)用于如圖1所示的環(huán)境中。參考圖1所示,攝像設(shè)備102與存儲設(shè)備104連接,攝像設(shè)備102中包含中央處理器(cpu,centralprocessingunit),能夠?qū)崿F(xiàn)攝像設(shè)備102直接將視頻監(jiān)控數(shù)據(jù)發(fā)送至存儲設(shè)備104,存儲設(shè)備104接收并存儲視頻監(jiān)控數(shù)據(jù)。在一個實施例中,如圖2所示,提供了一種視頻監(jiān)控數(shù)據(jù)存儲方法,包括:步驟210,接收一路視頻監(jiān)控數(shù)據(jù),將視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。一個視頻監(jiān)控系統(tǒng)是由攝像、傳輸、控制、顯示、記錄登記五大部分組成。在本實施例中,視頻監(jiān)控系統(tǒng)根據(jù)監(jiān)控路數(shù)可以分為一路或多路監(jiān)控,即對一個或多個場景進行監(jiān)控。在視頻監(jiān)控系統(tǒng)中,常采用閃存(flash)作為存儲設(shè)備。攝像設(shè)備將視頻監(jiān)控數(shù)據(jù)傳輸給存儲設(shè)備,最后存儲在存儲設(shè)備中。ftl(flashtranslationlayer,閃存轉(zhuǎn)譯層),是閃存芯片與文件系統(tǒng)之間的一個轉(zhuǎn)換層,它使操作系統(tǒng)和文件系統(tǒng)能夠像訪問用硬盤一樣訪問閃存設(shè)備。ftl的功能就是將數(shù)據(jù)及時有效地寫到閃存,并能有效地對所有寫入的數(shù)據(jù)進行管理,當需要在存儲設(shè)備中讀取數(shù)據(jù)時,ftl必須準確計算所需讀取的數(shù)據(jù)的閃存地址以精準獲取數(shù)據(jù)。ftl接收攝像設(shè)備傳輸?shù)亩嗦芬曨l監(jiān)控數(shù)據(jù),傳輸?shù)牟粌H是數(shù)據(jù),還需要傳輸數(shù)據(jù)的寫入地址和數(shù)據(jù)長度(非必須)。預(yù)先將閃存分為普通閃存塊和專用閃存塊,指定的閃存塊就是普通閃存塊。普通閃存塊可以接收各路視頻監(jiān)控數(shù)據(jù),而專用閃存塊用于分配給對應(yīng)的視頻監(jiān)控數(shù)據(jù)。ftl接收一路視頻監(jiān)控數(shù)據(jù),將接收的該路視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊即普通閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)。步驟220,當該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊。當該路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)達到第一閾值時,ftl則為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊。第一閾值可以根據(jù)實際情況設(shè)定。一次可以分配一個專用閃存塊,也可以一次分配一個專用閃存塊組,這個專用閃存塊組中包含多個專用閃存塊。步驟230,在為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊之后,再次接收到該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到分配的閃存塊中。ftl在為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊之后,再次接收到該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到專用閃存塊中。本實施例中,ftl對在普通閃存塊中存儲次數(shù)超過第一閾值的某路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊,專用閃存塊只用來存儲前述某路視頻監(jiān)控數(shù)據(jù)。因為專用閃存塊只存儲了一路視頻監(jiān)控數(shù)據(jù),所以如果專用閃存塊中存儲的所有某路視頻監(jiān)控數(shù)據(jù)都成為無效數(shù)據(jù)時,就可以對這個閃存塊進行整體擦除,不會影響到其他路的視頻監(jiān)控數(shù)據(jù)文件。這種通過ftl方式來管理閃存塊的方法,每次擦除都可以對一個閃存塊進行整體擦除從而回收一個完整的閃存塊,因此提高了存儲空間的回收效率,且不再需要將閃存塊中的其他路的有效文件搬移到內(nèi)存中再搬回來,避免了反復(fù)擦寫,大大降低了閃存塊的損耗。在一個實施例中,如圖3所示,一種視頻監(jiān)控數(shù)據(jù)存儲方法還包括:步驟240,當分配的閃存塊的存儲空間存滿后,將已存滿且全部為無效數(shù)據(jù)的分配的閃存塊整塊擦除以供下次重新分配。當分配的專用閃存塊的存儲空間存滿后,將存滿且全部為無效數(shù)據(jù)的專用閃存塊進行整塊擦除。例如設(shè)定視頻監(jiān)控數(shù)據(jù)保存期限為一個月,那么保存時間超過一個月的視頻監(jiān)控數(shù)據(jù)便成為了無效數(shù)據(jù),將存滿且視頻監(jiān)控數(shù)據(jù)的保存時間全部為超過一個月的專用閃存塊進行整體擦除,使其成為空閑塊以供最新視頻文件存儲。步驟250,接收該路視頻監(jiān)控數(shù)據(jù),將該路視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。接收該路視頻監(jiān)控數(shù)據(jù),ftl將該路視頻監(jiān)控數(shù)據(jù)再次存儲到普通閃存塊中,并從這次ftl開始記錄該路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)。步驟260,當該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則再次為該路視頻監(jiān)控數(shù)據(jù)重新分配對應(yīng)的閃存塊。當該路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)又達到第一閾值時,ftl則再次為該路視頻監(jiān)控數(shù)據(jù)重新分配空的專用閃存塊。步驟270,之后,再次接收到該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到重新分配的閃存塊中。在為該路視頻監(jiān)控數(shù)據(jù)重新分配空的專用閃存塊之后,當再次接受到同一路視頻監(jiān)控數(shù)據(jù),則直接將視頻監(jiān)控數(shù)據(jù)存儲到重新分配的專用閃存塊中。在本實施例中,當ftl給一路視頻監(jiān)控數(shù)據(jù)第一次分配的專用閃存塊或?qū)S瞄W存塊組用完后,將存滿且全部為無效數(shù)據(jù)的專用閃存塊進行整塊擦除,使其成為空閑塊以供最新視頻文件存儲。再次接受到該路視頻監(jiān)控數(shù)據(jù)則重新將該路視頻監(jiān)控數(shù)據(jù)存儲在普通閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中的存儲次數(shù)。當在普通閃存塊中存儲的次數(shù)又超過第一閾值時,則重新為該路視頻監(jiān)控數(shù)據(jù)分配新的專用閃存塊,之后接收的該路視頻監(jiān)控數(shù)據(jù)就存儲在這個重新分配的專用閃存塊中。因為給一路視頻監(jiān)控數(shù)據(jù)分配了專用閃存塊,所以當分配的專用閃存塊存滿后,就可以將已存滿且全部為無效數(shù)據(jù)的專用閃存塊整塊擦除,從而成為空的專用閃存塊可供新的視頻監(jiān)控數(shù)據(jù)存儲。因此提高了存儲空間的回收效率,且對閃存塊的損耗較小。傳統(tǒng)方法中,閃存塊中存儲的不止一路視頻文件,當閃存塊中某路監(jiān)控的視頻文件存儲所占用的頁成為臟頁(存儲的數(shù)據(jù)已經(jīng)過期的頁)時,該閃存塊中其他路監(jiān)控的視頻文件所占用的頁可能仍然是有效頁(存儲的數(shù)據(jù)未過期的頁)。這就需要在擦除過期視頻文件所在的塊之前,先將這些塊上臟頁之外的有效頁數(shù)據(jù)搬移到監(jiān)控設(shè)備的內(nèi)存中,然后再對這些閃存塊進行整體擦除操作,最后再將搬移到內(nèi)存中的有效頁數(shù)據(jù)搬移回之前所在塊的對應(yīng)頁位置上。傳統(tǒng)方法存儲空間的回收效率極低,擦除閃存塊前還需要拷貝有效頁,對閃存塊來說損耗較大。在一個實施例中,如圖4所示,提供一種視頻監(jiān)控數(shù)據(jù)存儲方法,包括:步驟410,接收多路視頻監(jiān)控數(shù)據(jù)。當需要對多個場景進行同時監(jiān)控時,可以利用多路視頻監(jiān)控系統(tǒng)實現(xiàn)。多路視頻監(jiān)控系統(tǒng)包含多個攝像設(shè)備。攝像設(shè)備將視頻監(jiān)控數(shù)據(jù)傳輸給存儲設(shè)備,最后存儲在存儲設(shè)備中。ftl(flashtranslationlayer,閃存轉(zhuǎn)譯層),是閃存芯片與文件系統(tǒng)之間的一個轉(zhuǎn)換層,它使操作系統(tǒng)和文件系統(tǒng)能夠像訪問用硬盤一樣訪問閃存設(shè)備。ftl的功能就是將數(shù)據(jù)及時有效地寫到閃存,并能有效地對所有寫入的數(shù)據(jù)進行管理,當需要從存儲設(shè)備中讀取數(shù)據(jù)時,ftl必須準確計算所需讀取的數(shù)據(jù)的閃存地址以精準獲取數(shù)據(jù)。ftl接收攝像設(shè)備傳輸?shù)亩嗦芬曨l監(jiān)控數(shù)據(jù),傳輸?shù)牟粌H是是數(shù)據(jù),還需要傳輸數(shù)據(jù)的寫入地址和數(shù)據(jù)長度(非必須)。步驟420,將視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄每一路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。ftl預(yù)先將閃存分為普通閃存塊和專用閃存塊,指定的閃存塊就是普通閃存塊。普通閃存塊可以接收各路視頻監(jiān)控數(shù)據(jù),而專用閃存塊用于分配給對應(yīng)的視頻監(jiān)控數(shù)據(jù)。將接收的多路視頻監(jiān)控數(shù)據(jù)先存儲到普通閃存塊中,并記錄每一路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)。各路視頻文件將按照數(shù)據(jù)的寫入順序依次寫入同一個普通閃存塊,即同一個普通閃存塊中存儲的不止一路視頻文件。步驟430,當其中一路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊。當某一路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)達到第一閾值時,ftl則為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊。第一閾值可以根據(jù)實際情況設(shè)定。一次可以分配一個專用閃存塊,也可以一次分配一個專用閃存塊組,這個專用閃存塊組中包含多個專用閃存塊。步驟440,在為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊之后,當判斷接收的視頻監(jiān)控數(shù)據(jù)為該路視頻監(jiān)控數(shù)據(jù),則獲取視頻監(jiān)控數(shù)據(jù)。在為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊之后,ftl對每次接收的視頻監(jiān)控數(shù)據(jù)進行判斷,判斷是否為該路視頻監(jiān)控數(shù)據(jù),若判斷結(jié)果為是,則獲取該次接收的視頻監(jiān)控數(shù)據(jù)。具體的判斷步驟為:將每次接收的視頻監(jiān)控數(shù)據(jù)的地址與上次存儲的該路視頻監(jiān)控數(shù)據(jù)的地址進行比對,生成比對結(jié)果,若比對結(jié)果為地址連續(xù),那么說明本次接收的視頻監(jiān)控數(shù)據(jù)為該路視頻監(jiān)控數(shù)據(jù),所以獲取本次接收的視頻監(jiān)控數(shù)據(jù),并將本次接收的視頻監(jiān)控數(shù)據(jù)存儲在對應(yīng)的專用閃存塊中即可。基于同樣的判斷方法,當判斷再次接收的數(shù)據(jù)是該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到專用閃存塊中。步驟450,直接將視頻監(jiān)控數(shù)據(jù)存儲到為該路視頻監(jiān)控數(shù)據(jù)分配的對應(yīng)的閃存塊中。直接將本次獲取的視頻監(jiān)控數(shù)據(jù)存儲到歸屬到某路視頻監(jiān)控數(shù)據(jù)所對應(yīng)的專用閃存塊中。在本實施例中,在多路視頻監(jiān)控系統(tǒng)中,ftl接收多路視頻監(jiān)控數(shù)據(jù),將接收的多路視頻監(jiān)控數(shù)據(jù)先存儲到普通閃存塊中,并記錄每一路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)。當某一路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)達到第一閾值時,ftl則為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊。當判斷接收的視頻監(jiān)控數(shù)據(jù)為該路視頻監(jiān)控數(shù)據(jù),則獲取視頻監(jiān)控數(shù)據(jù),直接將視頻監(jiān)控數(shù)據(jù)存儲到為該路視頻監(jiān)控數(shù)據(jù)分配的對應(yīng)的閃存塊中。這種通過ftl方式來管理閃存塊的方法,為在普通閃存塊中存儲的次數(shù)超過第一閾值的每一路視頻監(jiān)控數(shù)據(jù)都分配了對應(yīng)的專用閃存塊,從而將各路數(shù)據(jù)都分開存儲在了不同的專用閃存塊中。當某路監(jiān)控視頻的碼流較大時,分配給該路視頻監(jiān)控數(shù)據(jù)的專用閃存塊或者專用閃存塊組先用完,則當某個專用閃存塊中存儲的文件全部為無效數(shù)據(jù)時,則就可以直接將這個閃存塊整體擦除即可騰出空的閃存塊,以供重新分配。因此存儲空間回收效率高,避免了反復(fù)擦寫,提高了閃存塊的使用壽命。傳統(tǒng)方法中,閃存塊中存儲的不止一路視頻文件,當閃存塊中某路監(jiān)控的視頻文件存儲所占用的頁成為臟頁(存儲的數(shù)據(jù)已經(jīng)過期的頁)時,該閃存塊中其他路監(jiān)控的視頻文件所占用的頁可能仍然是有效頁(存儲的數(shù)據(jù)未過期的頁)。這就需要在擦除過期視頻文件所在的塊之前,先將這些塊上臟頁之外的有效頁數(shù)據(jù)搬移到監(jiān)控設(shè)備的內(nèi)存中,然后再對這些閃存塊進行整體擦除操作,最后再將搬移到內(nèi)存中的有效頁數(shù)據(jù)搬移回之前所在塊的對應(yīng)頁位置上。傳統(tǒng)方法存儲空間的回收效率極低,擦除閃存塊前還需要拷貝有效頁,而閃存的擦寫次數(shù)是有限的,反復(fù)擦寫對閃存塊來說損耗較大。在一個實施例中,如圖5所示,一種視頻監(jiān)控數(shù)據(jù)存儲方法,還包括:步驟460,接收多路視頻監(jiān)控數(shù)據(jù),記錄連續(xù)未接收到該路視頻監(jiān)控數(shù)據(jù)的次數(shù)。ftl在給接收的多路視頻監(jiān)控數(shù)據(jù)已經(jīng)分配專用閃存塊,且各路視頻監(jiān)控數(shù)據(jù)分別存儲在對應(yīng)的專用閃存塊之后,還需要對每一路視頻監(jiān)控數(shù)據(jù)的接收情況進行記錄。具體為對連續(xù)未接收到某一路視頻監(jiān)控數(shù)據(jù)的次數(shù)進行統(tǒng)計,例如一共有a、b、c、d4路視頻監(jiān)控數(shù)據(jù),那么接收的為aacddaaddccd,那么就是連續(xù)有12次未接收到b路視頻監(jiān)控數(shù)據(jù)。步驟470,若連續(xù)未接收到該路視頻監(jiān)控數(shù)據(jù)的次數(shù)達到第二閾值,則釋放該路視頻監(jiān)控數(shù)據(jù)對分配的閃存塊的占有權(quán)。ftl對連續(xù)未接收到某一路視頻監(jiān)控數(shù)據(jù)的次數(shù)進行統(tǒng)計,若連續(xù)未接收到某一路視頻監(jiān)控數(shù)據(jù)的次數(shù)達到第二閾值,則釋放該路視頻監(jiān)控數(shù)據(jù)對分配的專用閃存塊的占有權(quán),即這個專用閃存塊不再是專屬于這路視頻監(jiān)控數(shù)據(jù)的了,可以被分配給其他路視頻監(jiān)控數(shù)據(jù)存儲使用。在本實施例中,ftl對已經(jīng)分配了專用閃存塊的每一路視頻監(jiān)控數(shù)據(jù)的接收情況進行記錄,若連續(xù)未接收到某一路視頻監(jiān)控數(shù)據(jù)的次數(shù)達到第二閾值,則釋放該路視頻監(jiān)控數(shù)據(jù)對分配的專用閃存塊的占有權(quán),以便這個專用閃存塊可以被分配給其他路視頻監(jiān)控數(shù)據(jù)存儲使用。并不是只要給某路視頻監(jiān)控數(shù)據(jù)分配了專用閃存塊,那么這個專用閃存塊就自始至終都被這路視頻監(jiān)控數(shù)據(jù)占有。這樣就不會使某個專用閃存塊被占用,但是卻沒有數(shù)據(jù)寫入,白白浪費一整個專用閃存塊,所以實現(xiàn)了對每個專用閃存塊的充分使用,提高了存儲效率。在一個實施例中,如圖6所示,一種視頻監(jiān)控數(shù)據(jù)存儲方法,還包括:步驟610,當本次接收的視頻監(jiān)控數(shù)據(jù)的地址與之前最后一次接收的各路視頻監(jiān)控數(shù)據(jù)的地址都不連續(xù)時,將本次接收的視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。文件系統(tǒng)會為每一路視頻監(jiān)控數(shù)據(jù)分配一段地址,例如一共有4路視頻監(jiān)控數(shù)據(jù),文件系統(tǒng)第一次給a路分配的地址為0x10000-1fffff、給b路分配的地址為0x20000-2fffff、給c路分配的地址為0x30000-3fffff、給d路分配的地址為0x40000-4fffff,當給a路分配的地址0x10000-1fffff用完了而其他路沒有用完的時候,那么文件系統(tǒng)就會給a路重新分配地址,例如地址0x50000-5fffff。那么當接收的a路的視頻監(jiān)控數(shù)據(jù)的地址從0x1fffff跳變到0x50000的時候,就將本次接收的視頻監(jiān)控數(shù)據(jù)存儲到普通閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。釋放上一段地址的視頻監(jiān)控數(shù)據(jù)對專用閃存塊的占用權(quán),以便這個專用閃存塊可以供其他路使用。步驟620,當該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊。當該路視頻監(jiān)控數(shù)據(jù)在普通閃存塊中存儲的次數(shù)達到第一閾值時,則為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊。第一閾值可以根據(jù)實際情況設(shè)定。一次可以分配一個專用閃存塊,也可以一次分配一個專用閃存塊組,這個專用閃存塊組中包含多個專用閃存塊。步驟630,之后,將每次接收的視頻監(jiān)控數(shù)據(jù)的地址與上次存儲的該路視頻監(jiān)控數(shù)據(jù)的地址進行比對,生成比對結(jié)果。步驟640,獲取比對結(jié)果為地址連續(xù)的視頻監(jiān)控數(shù)據(jù),視頻監(jiān)控數(shù)據(jù)即為該路視頻監(jiān)控數(shù)據(jù)。步驟650,直接將該路視頻監(jiān)控數(shù)據(jù)存儲到分配的閃存塊中。在為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊之后,將每次接收的視頻監(jiān)控數(shù)據(jù)的地址與上次存儲的該路視頻監(jiān)控數(shù)據(jù)的地址進行比對,生成比對結(jié)果,若比對結(jié)果為地址連續(xù),那么說明本次接收的視頻監(jiān)控數(shù)據(jù)為該路視頻監(jiān)控數(shù)據(jù),所以獲取本次接收的視頻監(jiān)控數(shù)據(jù),并將本次接收的視頻監(jiān)控數(shù)據(jù)存儲在對應(yīng)的專用閃存塊中即可。在本實施例中,當某一路的視頻監(jiān)控數(shù)據(jù)的地址不連續(xù)的時候,則釋放上一段地址的視頻監(jiān)控數(shù)據(jù)對專用閃存塊的占用權(quán),且重新將接收的該路視頻監(jiān)控數(shù)據(jù)存儲至普通閃存塊中,并開始統(tǒng)計存儲次數(shù),當超過第一閾值則重新分配新的專用閃存塊。這樣就解決了當接收的視頻監(jiān)控數(shù)據(jù)地址不連續(xù),就不能對地址不連續(xù)的視頻監(jiān)控數(shù)據(jù)的識別并存儲在對應(yīng)的專用閃存塊中的問題。在一個實施例中,提供了一種監(jiān)控視頻數(shù)據(jù)存儲方法,該方法以應(yīng)用于如圖1所示的環(huán)境中進行舉例說明。假設(shè)一共有a、b、c、d4路視頻監(jiān)控數(shù)據(jù),文件系統(tǒng)分別給各路視頻監(jiān)控數(shù)據(jù)分配了地址,a路分配的地址為0x10000-1fffff、給b路分配的地址為0x20000-2fffff、給c路分配的地址為0x30000-3fffff、給d路分配的地址為0x40000-4fffff。a路視頻監(jiān)控數(shù)據(jù)的數(shù)據(jù)長度為200,b路視頻監(jiān)控數(shù)據(jù)的數(shù)據(jù)長度為100,c路視頻監(jiān)控數(shù)據(jù)的數(shù)據(jù)長度為200,d路視頻監(jiān)控數(shù)據(jù)的數(shù)據(jù)長度為100。假設(shè)4路視頻監(jiān)控數(shù)據(jù)是依次接收的,4路視頻監(jiān)控數(shù)據(jù)第一次寫入的情況見下表:第二次寫入的情況見下表:組別結(jié)束地址寫次數(shù)寫計數(shù)a0x10040025b0x20020026c0x30040027d0x40020028第三次寫入的情況見下表:組別結(jié)束地址寫次數(shù)寫計數(shù)a0x10060039b0x200300310c0x300600311d0x400300312寫次數(shù)的定義為該路數(shù)據(jù)第幾次存入,寫計數(shù)為存儲設(shè)備一共接收的4路數(shù)據(jù)的總次數(shù)。請參見圖7,前3次接收的各路視頻監(jiān)控數(shù)據(jù)將依次存儲在普通閃存塊中,假設(shè)第一閾值為3,那么當各路視頻監(jiān)控數(shù)據(jù)在第3次寫入之后,ftl就會為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊。請參見圖8,ftl給a路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊1,給b路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊2,給c路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊3,給d路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊4。ftl在為該路視頻監(jiān)控數(shù)據(jù)分配專用閃存塊之后,將每次接收的視頻監(jiān)控數(shù)據(jù)的地址與上次存儲的每路視頻監(jiān)控數(shù)據(jù)的地址進行比對,生成比對結(jié)果,比對結(jié)果為與哪路視頻監(jiān)控數(shù)據(jù)上次存儲的地址連續(xù),那么說明本次接收的視頻監(jiān)控數(shù)據(jù)為這一路視頻監(jiān)控數(shù)據(jù),所以獲取本次接收的視頻監(jiān)控數(shù)據(jù),并將本次接收的視頻監(jiān)控數(shù)據(jù)存儲在這一路對應(yīng)的專用閃存塊中即可。a4表示第4次接收到a路視頻監(jiān)控數(shù)據(jù),以此類推。因為數(shù)據(jù)在普通閃存塊中存儲的次數(shù)已經(jīng)超過第一閾值3,所以將a4、a5、a6、a7存儲在分配的專用閃存塊1中,將b4、b5、b6、b7存儲在分配的專用閃存塊2中,c4、c5、c6、c7存儲在分配的專用閃存塊3中,d4、d5、d6、d7存儲在分配的專用閃存塊4中。因為a路的碼流較大,所以存儲塊消耗較快,當ftl分配給a路專用閃存塊1的存儲空間用完了,且專用閃存塊1中存儲的a路視頻監(jiān)控數(shù)據(jù)都成為無效數(shù)據(jù)時,則直接將專用閃存塊1整體擦除即可獲得一個空的專用閃存塊,可供重新分配使用。這種通過ftl方式來管理閃存塊的方法,每次擦除都可以對一個閃存塊進行整體擦除從而回收一個完整的閃存塊,因此提高了存儲空間的回收效率,且不再需要將閃存塊中的其他路的有效文件搬移到內(nèi)存中再搬回來,避免了反復(fù)擦寫,大大降低了閃存塊的損耗。在一個實施例中,如圖9所示,還提供了一種監(jiān)控視頻數(shù)據(jù)存儲裝置,該裝置包括:記錄模塊910、閃存塊分配模塊920及存儲模塊930。記錄模塊910,用于接收一路視頻監(jiān)控數(shù)據(jù),將視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。閃存塊分配模塊920,用于當該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊。存儲模塊930,用于在為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊之后,再次接收到該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到分配的閃存塊中。在一個實施例中,如圖10所示,該裝置還包括:擦除模塊940、記錄模塊910、閃存塊分配模塊920及存儲模塊930。擦除模塊940,用于當分配的閃存塊的存儲空間存滿后,將已存滿且全部為無效數(shù)據(jù)的分配的閃存塊整塊擦除以供下次重新分配。記錄模塊910,接收該路視頻監(jiān)控數(shù)據(jù),將該路視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。閃存塊分配模塊920,用于當該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則再次為該路視頻監(jiān)控數(shù)據(jù)重新分配對應(yīng)的閃存塊。存儲模塊930,用于在將已存滿且全部為無效數(shù)據(jù)的分配的閃存塊整塊擦除之后,再次接收到該路視頻監(jiān)控數(shù)據(jù)則直接將該路視頻監(jiān)控數(shù)據(jù)存儲到重新分配的閃存塊中。在一個實施例中,如圖11所示,還提供了一種監(jiān)控視頻數(shù)據(jù)存儲裝置,該裝置包括:多路視頻監(jiān)控數(shù)據(jù)接收模塊1110、記錄模塊1120、閃存塊分配模塊1130判斷模塊1140、存儲模塊1150。多路視頻監(jiān)控數(shù)據(jù)接收模塊1110,用于接收多路視頻監(jiān)控數(shù)據(jù)。記錄模塊1120,用于將視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄每一路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)。閃存塊分配模塊1130,用于當其中一路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊。判斷模塊1140,用于在為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊之后,當判斷接收的視頻監(jiān)控數(shù)據(jù)為該路視頻監(jiān)控數(shù)據(jù),則獲取視頻監(jiān)控數(shù)據(jù)。存儲模塊1150,用于直接將視頻監(jiān)控數(shù)據(jù)存儲到為該路視頻監(jiān)控數(shù)據(jù)分配的對應(yīng)的閃存塊中。在一個實施例中,如圖12所示,該裝置還包括:釋放模塊1160。記錄模塊1120,還用于接收多路視頻監(jiān)控數(shù)據(jù),記錄連續(xù)未接收到該路視頻監(jiān)控數(shù)據(jù)的次數(shù)。釋放模塊1160,用于若連續(xù)未接收到該路視頻監(jiān)控數(shù)據(jù)的次數(shù)達到第二閾值,則釋放該路視頻監(jiān)控數(shù)據(jù)對分配的閃存塊的占有權(quán)。在一個實施例中,如圖13所示,該裝置還包括:地址比對模塊1170及獲取模塊1180。記錄模塊1120,還用于當本次接收的視頻監(jiān)控數(shù)據(jù)的地址與之前最后一次接收的各路視頻監(jiān)控數(shù)據(jù)的地址都不連續(xù)時,將本次接收的視頻監(jiān)控數(shù)據(jù)存儲到指定的閃存塊中,并記錄該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù);閃存塊分配模塊1130,用于當該路視頻監(jiān)控數(shù)據(jù)存儲的次數(shù)達到第一閾值時,則為該路視頻監(jiān)控數(shù)據(jù)分配對應(yīng)的閃存塊;地址比對模塊1170,用于在分配對應(yīng)的閃存塊之后,將每次接收的視頻監(jiān)控數(shù)據(jù)的地址與上次存儲的該路視頻監(jiān)控數(shù)據(jù)的地址進行比對,生成比對結(jié)果;獲取模塊1180,用于獲取比對結(jié)果為地址連續(xù)的視頻監(jiān)控數(shù)據(jù),視頻監(jiān)控數(shù)據(jù)即為該路視頻監(jiān)控數(shù)據(jù);存儲模塊1150,用于直接將該路視頻監(jiān)控數(shù)據(jù)存儲到分配的閃存塊中。以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。當前第1頁12