本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種視頻文件索引信息的構(gòu)建和查詢方法及裝置。
背景技術(shù):
視頻文件存儲(chǔ)在磁盤中,一般數(shù)據(jù)量非常大,單機(jī)容量可達(dá)tb級(jí)別,快速的構(gòu)建磁盤中視頻文件的存儲(chǔ)狀態(tài)索引,并且能夠根據(jù)查詢關(guān)鍵字快速定位視頻文件,就顯得尤為重要。
在現(xiàn)有技術(shù)中,在構(gòu)建視頻文件的索引信息時(shí),是一個(gè)視頻文件對(duì)應(yīng)一個(gè)索引文件,然而一個(gè)視頻源會(huì)產(chǎn)生多個(gè)視頻文件,因此可能會(huì)有非常多的索引文件,索引文件中包括視頻文件的開始時(shí)間和結(jié)束時(shí)間,該視頻文件的存儲(chǔ)地址的信息,視頻文件的大小和類型等,不同的索引文件的數(shù)據(jù)類型用途也不同。在構(gòu)建索引文件時(shí),每個(gè)索引文件保存有該視頻文件的索引信息,但該視頻文件到底記錄的是什么事件,在索引文件中并沒有體現(xiàn)出來(lái),這樣在查詢某一個(gè)視頻源中的某一個(gè)事件的類型的索引數(shù)據(jù),或某一個(gè)視頻源的某一個(gè)時(shí)間段的索引數(shù)據(jù)時(shí),要遍歷所有的索引文件,當(dāng)索引文件的數(shù)據(jù)量很大時(shí)往往整個(gè)過(guò)程消耗數(shù)分鐘,甚至更長(zhǎng)時(shí)間,影響查詢效率,并且即使定位出來(lái)索引文件,但是該索引文件記錄的該視頻文件到底是不是關(guān)于這種類型的事件,也還是無(wú)法確定,只有查找到了該索引文件對(duì)應(yīng)的視頻文件,并通過(guò)人工為判定才能確定,因此現(xiàn)有技術(shù)中通過(guò)索引文件無(wú)法有效的提高視頻文件的查詢效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種視頻文件索引信息的構(gòu)建和查詢方法及裝置,用以解決現(xiàn)有技術(shù)中,在查詢索引文件的數(shù)據(jù)時(shí)效率低的問(wèn)題。
為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種視頻文件索引信息的構(gòu)建方法,該方法包括:
針對(duì)待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;
如果否,建立所述視頻源對(duì)應(yīng)的索引文件;
如果是,針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對(duì)應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對(duì)所述第一類型的事件對(duì)應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時(shí)間,如果不同,則在所述第一類型的事件的索引信息中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。
進(jìn)一步地,所述針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型之前,所述方法還包括:
根據(jù)所述視頻文件對(duì)應(yīng)的時(shí)間段,判斷所述索引文件中是否保存有所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄;
如果否,在所述索引文件中建立所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄;
如果是,針對(duì)所述索引文件中所述時(shí)間段對(duì)應(yīng)的時(shí)間周期的索引記錄進(jìn)行后續(xù)操作。
進(jìn)一步地,所述判斷是否保存有采集所述視頻文件的視頻源的索引文件包括:
判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件;
將所述視頻文件中的每個(gè)關(guān)鍵幀的索引信息記錄到索引文件中后,所述方法還包括:
判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件;
如果是,將緩存文件中的索引信息進(jìn)行保存。
進(jìn)一步地,所述判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件包括:
判斷當(dāng)前緩存時(shí)間是否達(dá)到將索引信息進(jìn)行保存的第二時(shí)間周期閾值;
判斷當(dāng)前緩存文件的存儲(chǔ)容量是否達(dá)到最大閾值。
進(jìn)一步地,所述將緩存文件中的索引信息進(jìn)行保存包括:
針對(duì)所述索引文件,按照索引信息保存條件對(duì)應(yīng)的規(guī)則對(duì)所述索引文件中的索引信息劃分到每個(gè)索引子文件中;
依次保存每個(gè)索引子文件。
進(jìn)一步地,所述方法還包括:
根據(jù)所述索引子信息中的開始時(shí)間對(duì)應(yīng)的第一關(guān)鍵幀和結(jié)束時(shí)間對(duì)應(yīng)的第二關(guān)鍵幀的存儲(chǔ)位置,在所述索引子信息中保存所述存儲(chǔ)位置的信息。
進(jìn)一步地,所述方法還包括:
根據(jù)索引子信息對(duì)應(yīng)的視頻文件,根據(jù)所述視頻文件的開始時(shí)間對(duì)應(yīng)的視頻幀和結(jié)束時(shí)間對(duì)應(yīng)的視頻幀的存儲(chǔ)位置,在所述索引信息中保存有所述存儲(chǔ)位置的信息。
本發(fā)明實(shí)施例公開了一種基于所述視頻文件索引信息的構(gòu)建方法的視頻文件索引信息的查詢方法,所述方法包括:
接收用戶發(fā)送的索引信息的查詢請(qǐng)求,其中所述查詢請(qǐng)求中攜帶待查詢的視頻源的標(biāo)識(shí)信息、事件的類型及所述類型的事件發(fā)生的時(shí)間的信息;
根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識(shí)信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件;
如果是,在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時(shí)間,查找所述索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件的發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息并顯示。
進(jìn)一步地,所述在所述索引文件中查找是否包含所述類型的事件的索引信息之前,所述方法還包括:
根據(jù)所述類型的事件發(fā)生的時(shí)間,確定所述時(shí)間對(duì)應(yīng)的第三時(shí)間周期;
判斷所述索引文件中是否保存有所述第三時(shí)間周期對(duì)應(yīng)的索引記錄;
如果是,進(jìn)行后續(xù)步驟。
進(jìn)一步地,所述根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識(shí)信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件包括:
在緩存文件中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟;
如果否,在保存的索引文件集合中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟。
進(jìn)一步地,所述方法還包括:
根據(jù)查找到的索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件的發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息,及索引文件中記錄的每個(gè)關(guān)鍵幀的存儲(chǔ)位置的信息,查找與所述對(duì)應(yīng)的索引子信息對(duì)應(yīng)的關(guān)鍵幀的存儲(chǔ)位置;
獲取所述存儲(chǔ)位置存儲(chǔ)的關(guān)鍵幀并展示。
本發(fā)明實(shí)施例公開了一種視頻文件索引信息的構(gòu)建裝置,所述裝置包括:
判斷模塊,用于針對(duì)待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;
建立模塊,用于如果判斷模塊的判斷結(jié)果為否,建立所述視頻源對(duì)應(yīng)的索引文件;
建立模塊,還用于如果判斷模塊的判斷結(jié)果為是,針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對(duì)應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對(duì)所述第一類型的事件對(duì)應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時(shí)間,如果不同,則在所述第一類型的事件的索引信息中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。
進(jìn)一步地,所述建立模塊,還用于根據(jù)所述視頻文件對(duì)應(yīng)的時(shí)間段,判斷所述索引文件中是否保存有所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄;如果否,在所述索引文件中建立所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄;如果是,針對(duì)所述索引文件中所述時(shí)間段對(duì)應(yīng)的時(shí)間周期的索引記錄進(jìn)行后續(xù)操作。
進(jìn)一步地,所述判斷模塊,具體用于判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件;
所述裝置還包括:
判斷保存模塊,用于判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件;如果是,將緩存文件中的索引信息進(jìn)行保存。
進(jìn)一步地,所述判斷保存模塊,具體用于判斷當(dāng)前緩存時(shí)間是否達(dá)到將索引信息進(jìn)行保存的第二時(shí)間周期閾值;判斷當(dāng)前緩存文件的存儲(chǔ)容量是否達(dá)到最大閾值。
進(jìn)一步地,所述判斷保存模塊,具體用于針對(duì)所述索引文件,按照索引信息保存條件對(duì)應(yīng)的規(guī)則對(duì)所述索引文件中的索引信息劃分到每個(gè)索引子文件中;依次保存每個(gè)索引子文件。
進(jìn)一步地,所述裝置還包括:
保存模塊,用于根據(jù)所述索引子信息中的開始時(shí)間對(duì)應(yīng)的第一關(guān)鍵幀和結(jié)束時(shí)間對(duì)應(yīng)的第二關(guān)鍵幀的存儲(chǔ)位置,在所述索引子信息中保存所述存儲(chǔ)位置的信息。
進(jìn)一步地,所述保存模塊,還用于根據(jù)索引子信息對(duì)應(yīng)的視頻文件,根據(jù)所述視頻文件的開始時(shí)間對(duì)應(yīng)的視頻幀和結(jié)束時(shí)間對(duì)應(yīng)的視頻幀的存儲(chǔ)位置,在所述索引信息中保存有所述存儲(chǔ)位置的信息。
本發(fā)明實(shí)施例公開了一種基于所述視頻文件索引信息的構(gòu)建裝置的視頻文件索引信息的查詢裝置,所述裝置包括:
接收模塊,用于接收用戶發(fā)送的索引信息的查詢請(qǐng)求,其中所述查詢請(qǐng)求中攜帶待查詢的視頻源的標(biāo)識(shí)信息、事件的類型及所述類型的事件發(fā)生的時(shí)間的信息;
查找模塊,用于根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識(shí)信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件;
顯示模塊,用于如果查找模塊的查找結(jié)果為是,在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時(shí)間,查找所述索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件的發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息并顯示。
進(jìn)一步地,所述裝置還包括:
確定判斷模塊,用于根據(jù)所述類型的事件發(fā)生的時(shí)間,確定所述時(shí)間對(duì)應(yīng)的第三時(shí)間周期;判斷所述索引文件中是否保存有所述第三時(shí)間周期對(duì)應(yīng)的索引記錄;如果是,進(jìn)行后續(xù)步驟。
進(jìn)一步地,所述查找模塊,具體用于在緩存文件中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟;如果否,在保存的索引文件集合中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟。
進(jìn)一步地,所述顯示模塊,還用于根據(jù)查找到的索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件的發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息,及索引文件中記錄的每個(gè)關(guān)鍵幀的存儲(chǔ)位置的信息,查找與所述對(duì)應(yīng)的索引子信息對(duì)應(yīng)的關(guān)鍵幀的存儲(chǔ)位置;獲取所述存儲(chǔ)位置存儲(chǔ)的關(guān)鍵幀并展示。
本發(fā)明實(shí)施例公開了一種視頻文件索引信息的構(gòu)建和查詢方法及裝置,所述方法包括:針對(duì)待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;如果否,建立所述視頻源對(duì)應(yīng)的索引文件;如果是,針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對(duì)應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對(duì)所述第一類型的事件對(duì)應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時(shí)間,如果不同,則在所述第一類型的事件的索引信息中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。由于在本發(fā)明實(shí)施例中每個(gè)視頻源對(duì)應(yīng)一個(gè)索引文件,并且該索引文件中針對(duì)每種類型的事件保存有對(duì)應(yīng)的索引信息,另外,該索引信息中還記錄有該事件對(duì)應(yīng)的開始時(shí)間和結(jié)束時(shí)間,因此方便了索引信息的查詢,提高了查詢的效率。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例1提供的一種視頻文件索引信息的構(gòu)建過(guò)程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種視頻源采集的視頻文件的索引示意圖;
圖3a為本發(fā)明實(shí)施例提供的一種索引文件示意圖;
圖3b為本發(fā)明實(shí)施例提供的一種將索引記錄保存到索引文件的過(guò)程示意圖;
圖3c為本發(fā)明實(shí)施例提供的一種視頻文件的在虛擬存儲(chǔ)空間的映射表圖;
圖3d為本發(fā)明實(shí)施例提供的一種視頻文件虛擬存儲(chǔ)空間的起始偏移量、長(zhǎng)度的信息圖;
圖3e為本發(fā)明實(shí)施例提供的一種重新建立索引記錄的過(guò)程示意圖;
圖4為本發(fā)明實(shí)施例5提供的一種視頻文件索引信息的查詢過(guò)程示意圖;
圖5為本發(fā)明實(shí)施例提供的一種在索引文件中查找索引記錄的過(guò)程示意圖;
圖6為本發(fā)明實(shí)施例1提供了一種視頻文件索引信息的構(gòu)建裝置結(jié)構(gòu)圖;
圖7為本發(fā)明實(shí)施例提供了一種視頻文件索引信息的構(gòu)建裝置結(jié)構(gòu)圖;
圖8為本發(fā)明實(shí)施例5提供的一種視頻文件索引信息的查詢裝置結(jié)構(gòu)圖;
圖9為本發(fā)明實(shí)施例提供的一種視頻文件索引信息的查詢裝置。
具體實(shí)施方式
為了提高查詢索引文件的速度,本發(fā)明實(shí)施例提供了一種視頻文件索引信息的構(gòu)建和查詢方法及裝置。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例1:
圖1為本發(fā)明實(shí)施例提供的一種視頻文件索引信息的構(gòu)建過(guò)程示意圖,該過(guò)程包括以下步驟:
s101:針對(duì)待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件,如果否,進(jìn)行s102,如果是,進(jìn)行s103。
本發(fā)明實(shí)施例提供的視頻文件索引信息的構(gòu)建方法可以應(yīng)用于電子設(shè)備,該電子設(shè)備中針對(duì)每個(gè)視頻源保存有該視頻源對(duì)應(yīng)的索引文件。電子設(shè)備可以保存視頻文件,每個(gè)視頻文件對(duì)應(yīng)的視頻源可以相同,也可以不同。電子設(shè)備可以針對(duì)每個(gè)視頻文件建立對(duì)應(yīng)的索引。電子設(shè)備針對(duì)待建立索引的視頻文件,可以識(shí)別出采集所述視頻文件的視頻源的標(biāo)識(shí)信息,并判斷是否保存所述標(biāo)識(shí)信息的視頻源的索引文件。所述視頻源的標(biāo)識(shí)信息可以是視頻源的設(shè)備號(hào),可以是視頻源所在位置的信息等。
s102:建立所述視頻源對(duì)應(yīng)的索引文件,進(jìn)行后續(xù)步驟。
如果電子設(shè)備判斷出沒有保存該視頻源的索引文件,則建立所述視頻源的索引文件。具體的,在電子設(shè)備中可以針對(duì)該視頻源的標(biāo)識(shí)信息,對(duì)應(yīng)該標(biāo)識(shí)信息建立該視頻源的索引文件。
s103:針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對(duì)應(yīng)的索引信息;如果是,進(jìn)行s105,如果否,進(jìn)行s104。
電子設(shè)備可以識(shí)別視頻文件中的關(guān)鍵幀,并且可以根據(jù)預(yù)先保存的識(shí)別方式,識(shí)別所述關(guān)鍵幀包含的事件的類型。所述事件的類型可以是包含人臉的事件、包含車牌的事件等。
在電子設(shè)備的每個(gè)索引文件中,可以針對(duì)每種類型的事件,保存該類型的事件對(duì)應(yīng)的索引信息,每條索引信息中保存著事件的類型的信息及至少一條索引子信息,每條索引子信息中保存著該類型的事件的開始時(shí)間和結(jié)束時(shí)間。
當(dāng)電子設(shè)備識(shí)別所述關(guān)鍵幀包含的事件的第一類型,并判斷所述索引文件中是否保存有所述第一類型的事件對(duì)應(yīng)的索引信息,其中所述索引信息中可以包含事件的類型的信息。每條索引信息中包含至少一條索引子信息,所述索引子信息中包含該類型的事件的開始時(shí)間和結(jié)束時(shí)間。
s104:在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息,進(jìn)行后續(xù)步驟。
如果電子設(shè)備判斷出索引文件中沒有保存所述第一類型的事件對(duì)應(yīng)的索引信息,則在所述索引文件中建立所述第一類型的事件的索引信息,所述索引信息中包含所述事件的類型的信息,并在建立的索引信息中再建立索引子信息,其中,所述索引子信息中包含該類型的事件的開始時(shí)間和結(jié)束時(shí)間,所述開始時(shí)間可以是所述關(guān)鍵幀的第一時(shí)間,所述結(jié)束時(shí)間可以是電子設(shè)備針對(duì)開始時(shí)間,自動(dòng)生成的時(shí)間。
電子設(shè)備在識(shí)別出所述關(guān)鍵幀包含的事件的類型時(shí),可以針對(duì)每種類型的事件分配對(duì)應(yīng)的標(biāo)識(shí),針對(duì)每種類型的事件對(duì)應(yīng)的標(biāo)識(shí)建立索引信息。例如,可以是電子設(shè)備識(shí)別出所述關(guān)鍵幀包含的事件的類型為人臉,給該人臉?lè)峙鋵?duì)應(yīng)的標(biāo)識(shí)為a。電子設(shè)備識(shí)別到所述索引文件中沒有包含事件的類型為a的事件對(duì)應(yīng)的索引信息,則在所述索引文件中建立事件的類型為a的事件的索引信息a。該索引信息a中包含事件的類型的標(biāo)識(shí)為a,并在所述索引信息a中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息,假如所述關(guān)鍵幀的第一時(shí)間為1:00,電子設(shè)備根據(jù)開始時(shí)間1:00自動(dòng)生成的結(jié)束時(shí)間為1:01,則建立的索引子信息為[1:00-1:01]。則建立的索引信息a可以包括:類型a:[1:00-1:01]。
例如,可以是電子設(shè)備識(shí)別出所述關(guān)鍵幀包含的事件的類型為車牌,給該車牌分配對(duì)應(yīng)的標(biāo)識(shí)為b,電子設(shè)備識(shí)別到所述索引文件中沒有包含事件的類型的標(biāo)識(shí)為為b的事件對(duì)應(yīng)的索引信息,則在所述索引文件中建立事件的類型為的標(biāo)識(shí)為b的事件的索引信息b。該索引信息b中包含事件的類型的標(biāo)識(shí)為b,并在所述索引信息b中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息,假如所述關(guān)鍵幀的第一時(shí)間為1:20,電子設(shè)備根據(jù)開始時(shí)間1:20自動(dòng)生成的結(jié)束時(shí)間為1:21,則建立的索引子信息為[1:20-1:21]。則建立的索引信息b可以包括:類型b:[1:20-1:21]。
s105:判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果否,進(jìn)行s106,如果是,進(jìn)行s107。
電子設(shè)備識(shí)別出視頻文件的關(guān)鍵幀后,識(shí)別該第一關(guān)鍵幀中包含的事件的類型并保存,當(dāng)識(shí)別出下一關(guān)鍵幀時(shí),該關(guān)鍵幀則為所述下一關(guān)鍵幀的上一關(guān)鍵幀,此時(shí)所述下一關(guān)鍵幀則為所述關(guān)鍵幀,電子設(shè)備識(shí)別所述關(guān)鍵幀包含的事件的第一類型與保存的上一關(guān)鍵幀的類型是否相同,若相同,則保存的事件的類型不變,若不相同,則將保存的事件的類型更新為所述關(guān)鍵幀包含的事件的第一類型,電子設(shè)備每識(shí)別出一個(gè)關(guān)鍵幀都會(huì)進(jìn)行事件的類型的判斷,從而確定是否進(jìn)行更新。
如果電子設(shè)備判斷出該索引文件中保存有所述第一類型的事件對(duì)應(yīng)的索引信息,則判斷該視頻文件中保存的所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述關(guān)鍵幀包含的事件的第一類型相同。
s106:在所述第一類型的事件的索引信息中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。
如果電子設(shè)備判斷出該視頻文件中所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型與所述關(guān)鍵幀包含的事件的第一類型不同,可以確定該視頻文件中包含第一類型的事件,并且可以認(rèn)為該關(guān)鍵幀為該第一類型的事件的第一幀,因此可以在所述第一類型的事件的索引信息中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。
電子設(shè)備在識(shí)別出所述關(guān)鍵幀包含的事件的類型時(shí),可以針對(duì)每種類型的事件分配對(duì)應(yīng)的標(biāo)識(shí),針對(duì)每種類型的事件對(duì)應(yīng)的標(biāo)識(shí)建立索引信息。具體的該步驟與上述s104相同,在這里就不再贅述。
s107:在針對(duì)所述第一類型的事件對(duì)應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時(shí)間。
當(dāng)建立了第一類型的事件對(duì)應(yīng)的索引信息后,可以根據(jù)每個(gè)包含第一類型的事件的關(guān)鍵幀,對(duì)該第一類型的事件中每個(gè)索引子信息中的結(jié)束時(shí)間進(jìn)行更新。具體的,如果包含第一類型的事件的關(guān)鍵幀與其上一關(guān)鍵幀包含的事件的類型不同,則該關(guān)鍵幀為索引子信息的開始時(shí)間,并將該索引子信息的結(jié)束時(shí)間設(shè)置為一個(gè)默認(rèn)時(shí)間,或者將其結(jié)束時(shí)間設(shè)置為與開始時(shí)間相同的時(shí)間,如果該關(guān)鍵幀與其上一關(guān)鍵幀包含的事件的類型相同,說(shuō)明該事件的索引子信息已經(jīng)建立,可以根據(jù)該關(guān)鍵幀的時(shí)間對(duì)索引子信息中的結(jié)束時(shí)間進(jìn)行更新。
例如,可以是所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型為人臉,給該人臉?lè)峙鋵?duì)應(yīng)的標(biāo)識(shí)為a,所述關(guān)鍵幀包含的事件的類型的標(biāo)識(shí)也為a,假如索引信息a包括:類型a:[1:00-1:01],則該索引信息a中的最后一條的索引子信息為[1:00-1:01],該索引子信息的開始時(shí)間是上一關(guān)鍵幀的時(shí)間,因此該關(guān)鍵幀與其上一關(guān)鍵幀包含的事件的類型相同,所以需要根據(jù)該關(guān)鍵幀的時(shí)間對(duì)該最后一條索引子信息中的結(jié)束時(shí)間進(jìn)行更新。假如所述關(guān)鍵幀的第一時(shí)間為1:05,則將所述索引子信息的結(jié)束時(shí)間為1:01更新為1:05,更新后的索引子信息為[1:00-1:05],則索引信息a包括:類型a:[1:00-1:05]。
由于在本發(fā)明實(shí)施例中每個(gè)視頻源對(duì)應(yīng)一個(gè)索引文件,并且該索引文件中針對(duì)每種類型的事件保存有對(duì)應(yīng)的索引信息,另外,該索引信息中還記錄有該事件對(duì)應(yīng)的開始時(shí)間和結(jié)束時(shí)間,因此方便了索引信息的查詢,提高了查詢的效率。
實(shí)施例2:
為了方便索引信息的查找,在針對(duì)每個(gè)視頻源建立該視頻源對(duì)應(yīng)的索引文件時(shí),可以將該視頻源設(shè)定時(shí)間長(zhǎng)度內(nèi)采集的視頻文件的索引保存為一個(gè)索引文件,并將該設(shè)定的時(shí)間長(zhǎng)度劃分為至少兩個(gè)時(shí)間周期,在索引文件中針對(duì)每個(gè)時(shí)間周期保存該時(shí)間周期對(duì)應(yīng)的索引記錄。因此,在上述實(shí)施例的基礎(chǔ)上,在本發(fā)明實(shí)施例中,所述針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型之前,所述方法還包括:
根據(jù)所述視頻文件對(duì)應(yīng)的時(shí)間段,判斷所述索引文件中是否保存有所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄;
如果否,在所述索引文件中建立所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄;
如果是,針對(duì)所述索引文件中所述時(shí)間段對(duì)應(yīng)的時(shí)間周期的索引記錄進(jìn)行后續(xù)操作。
電子設(shè)備針對(duì)每個(gè)視頻源建立該視頻源對(duì)應(yīng)的索引文件,根據(jù)該視頻源采集的視頻文件的時(shí)間,在該索引文件中建立有多條索引記錄,其中每條索引記錄中記錄有在對(duì)應(yīng)時(shí)間周期采集的視頻文件的索引信息,具體的在每條索引記錄中可以針對(duì)每種類型的事件,保存該類型的事件對(duì)應(yīng)的索引子信息。
其中該時(shí)間周期可以是預(yù)先設(shè)定的時(shí)間長(zhǎng)度,例如可以是12小時(shí),24小時(shí)等。因?yàn)樵跇?gòu)建索引時(shí)是根據(jù)視頻文件的采集時(shí)間,依次建立索引的,因此可以針對(duì)設(shè)定時(shí)間長(zhǎng)度內(nèi)采集的視頻文件,將該設(shè)定時(shí)間長(zhǎng)度劃分至少兩個(gè)時(shí)間周期,從而進(jìn)行索引建立。例如該設(shè)定時(shí)間長(zhǎng)度可以是3天,72小時(shí),時(shí)間周期可以是24小時(shí),則可知針對(duì)每個(gè)視頻源在3天內(nèi)采集的視頻文件,將會(huì)建立一個(gè)索引文件,在該索引文件中包含3條索引記錄,每條索引記錄中記錄有在該對(duì)應(yīng)的時(shí)間周期內(nèi)發(fā)生的事件對(duì)應(yīng)的索引子信息。
在本發(fā)明實(shí)施例中,電子設(shè)備針對(duì)待建立索引的視頻文件,可以識(shí)別出采集所述視頻文件的視頻源的標(biāo)識(shí)信息,并判斷是否保存有所述標(biāo)識(shí)信息的視頻源的索引文件。所述視頻源的標(biāo)識(shí)信息可以是視頻源的設(shè)備號(hào),可以是視頻源所在位置的信息等唯一標(biāo)識(shí)該視頻源的信息。電子設(shè)備針對(duì)待建立索引的視頻文件,可以識(shí)別出所述視頻文件對(duì)應(yīng)的時(shí)間段,即該視頻文件的開始時(shí)間和結(jié)束時(shí)間。
如果電子設(shè)備判斷出沒有保存采集所述視頻文件的視頻源的索引文件,則根據(jù)所述視頻源的標(biāo)識(shí)信息,建立對(duì)應(yīng)所述視頻源的標(biāo)識(shí)信息的索引文件。并根據(jù)該視頻文件對(duì)應(yīng)的時(shí)間周期,在該索引文件中建立對(duì)應(yīng)的索引記錄,根據(jù)該視頻文件中包含的事件的類型,在該索引記錄中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。
如果電子設(shè)備判斷出保存有采集所述視頻文件的視頻源的索引文件,可以根據(jù)識(shí)別出的所述視頻文件對(duì)應(yīng)的時(shí)間段,判斷所述索引文件中是否保存有所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄。如果電子設(shè)備判斷出所述索引文件中沒有保存所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄,可以是所述視頻文件為所述第一時(shí)間周期內(nèi)的第一個(gè)視頻文件,電子設(shè)備可以在所述索引文件中建立所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄,根據(jù)該視頻文件中包含的事件的類型,在該索引記錄中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。
如果電子設(shè)備判斷出所述索引文件中保存有所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄,可以針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引記錄中是否保存有所述第一類型的事件對(duì)應(yīng)的索引信息;如果否,在所述索引記錄中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對(duì)所述第一類型的事件對(duì)應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時(shí)間,如果不同,則在所述第一類型的事件的索引信息中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。
圖2所示為某一視頻源在[2016年11月1日,2016年11月30日]采集的所有視頻文件的索引,在該視頻源對(duì)應(yīng)的索引文件中,針對(duì)每一天保存有一條索引記錄,在每一條索引記錄中針對(duì)不同的事件,保存有對(duì)應(yīng)的索引信息,在索引信息中包含有索引子信息,該索引子信息中記錄有對(duì)應(yīng)事件的開始時(shí)間和結(jié)束時(shí)間。
具體的,如圖2所示,第一天11月1日對(duì)應(yīng)第一條索引記錄,則該第一條索引記錄中包含有3個(gè)視頻文件的索引信息,其中針對(duì)每個(gè)視頻文件保存有該視頻文件對(duì)應(yīng)的時(shí)間段的信息,例如圖2所示的,視頻文件1的開始時(shí)間為1:00,結(jié)束時(shí)間為3:30,視頻文件2的開始時(shí)間為4:00,結(jié)束時(shí)間為5:30,視頻文件3的開始時(shí)間為12:00,結(jié)束時(shí)間為13:00。
并且,針對(duì)每個(gè)視頻文件,根據(jù)該視頻文件包含的事件的類型,保存有對(duì)應(yīng)的索引子信息,在每條索引子信息中記錄有對(duì)應(yīng)事件的開始時(shí)間和結(jié)束時(shí)間。具體參見圖2所示,視頻文件1、視頻文件2和視頻文件3中均包含類型為a和類型為b的事件,因此在索引文件中記錄有類型為a的事件和類型為b的事件對(duì)應(yīng)的每條索引子信息,其中視頻文件1中包含的類型為a的事件對(duì)應(yīng)的一條索引子信息中記錄有該事件的開始時(shí)間為1:00,結(jié)束時(shí)間為1:05,類型為b的事件對(duì)應(yīng)的一條索引子信息中記錄有該事件的開始時(shí)間為1:20,結(jié)束時(shí)間為1:25。視頻文件2中包含的類型為a的事件對(duì)應(yīng)的一條索引子信息中記錄有該事件的開始時(shí)間為5:00,結(jié)束時(shí)間為5:05,類型為b的事件對(duì)應(yīng)的一條索引子信息中記錄有該事件的開始時(shí)間為5:20,結(jié)束時(shí)間為5:25。視頻文件3中包含的類型為a的事件對(duì)應(yīng)的一條索引子信息中記錄有該事件的開始時(shí)間為12:00,結(jié)束時(shí)間為12:10,類型為b的事件對(duì)應(yīng)的一條索引子信息中記錄有該事件的開始時(shí)間為12:30,結(jié)束時(shí)間為12:40。
如圖2所示,第二天11月2日對(duì)應(yīng)第二條索引記錄,因?yàn)?1月2日該視頻源沒有采集視頻文件,因此該索引記錄沒有保存對(duì)應(yīng)的索引信息。
第三天11月3日對(duì)應(yīng)第三條索引記錄,該第三條索引記錄中包含有2個(gè)視頻文件,其中,針對(duì)每個(gè)視頻文件保存該視頻文件的時(shí)間段信息。視頻文件1的開始時(shí)間為1:00,結(jié)束時(shí)間為3:30,視頻文件2的開始時(shí)間為4:00,結(jié)束時(shí)間為5:30。并且,針對(duì)每個(gè)視頻文件,根據(jù)該視頻文件包含的事件的類型,保存有對(duì)應(yīng)的索引子信息,在每條索引子信息中記錄有對(duì)應(yīng)事件的開始時(shí)間和結(jié)束時(shí)間。該視頻文件包含的內(nèi)容和第一條索引記錄中的視頻文件內(nèi)容相似,在這里不進(jìn)行贅述。
第三十天11月30日對(duì)應(yīng)第三十條索引記錄,該第三十條索引記錄中包含一個(gè)視頻文件,其中,針對(duì)該視頻文件1保存該視頻文件1的時(shí)間段信息。視頻文件1的開始時(shí)間為1:00,結(jié)束時(shí)間為3:30。并且針對(duì)該視頻文件1,根據(jù)該視頻文件1包含的事件的類型,保存有對(duì)應(yīng)的索引子信息,在每條索引子信息中記錄有對(duì)應(yīng)事件的開始時(shí)間和結(jié)束時(shí)間。視頻文件1中包含類型為b的事件,因此在索引文件中記錄有類型為b的事件對(duì)應(yīng)的3條索引子信息,其中視頻文件1中包含的類型為b的事件對(duì)應(yīng)的第一條索引子信息中記錄有該事件的開始時(shí)間為1:20,結(jié)束時(shí)間為1:25,第二條索引子信息中記錄有該事件的開始時(shí)間為5:20,結(jié)束時(shí)間為5:25,第三條索引子信息中記錄有該事件的開始時(shí)間為12:30,結(jié)束時(shí)間為12:40。
每條索引記錄中包含的事件的類型可以相同,也可以不同。將針對(duì)每個(gè)視頻文件對(duì)應(yīng)的索引子信息按照設(shè)定的時(shí)間周期建立在一起,生成的一條條索引記錄。這樣在用戶想查詢某一個(gè)時(shí)間周期的索引子信息時(shí),可以索引記錄的時(shí)間信息方便快速的查找出來(lái),提高了查詢了效率。
實(shí)施例3:
電子設(shè)備在保存所述視頻源的索引文件時(shí),可以先將該索引文件暫時(shí)保存到緩存空間中,一般緩存空間的存儲(chǔ)容量較小,這樣在查詢所述索引文件時(shí),可以快速的查找到。當(dāng)緩存空間的設(shè)定存儲(chǔ)容量被占滿時(shí),則可以將緩存空間的索引文件進(jìn)行保存。
所述判斷是否保存有采集所述視頻文件的視頻源的索引文件包括:
判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件;
將所述視頻文件中的每個(gè)關(guān)鍵幀的索引信息記錄到索引文件中后,所述方法還包括:
判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件;
如果是,將緩存文件中的索引信息進(jìn)行保存。
在本發(fā)明實(shí)施例中,電子設(shè)備在判斷是否保存有采集所述視頻文件的視頻源的索引文件時(shí),因?yàn)槭菍⑺饕畔⑾扔涗浀骄彺嬷械?,因此電子設(shè)備先判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件。當(dāng)電子設(shè)備判斷緩存文件中保存有所述索引文件時(shí),可以將所述視頻文件中的每個(gè)關(guān)鍵幀的索引信息記錄到所述索引文件中,當(dāng)電子設(shè)備判斷緩存文件中沒有保存所述索引文件時(shí),可以在緩存中先建立所述視頻源對(duì)應(yīng)的索引文件,再將視頻文件中的每個(gè)關(guān)鍵幀的索引信息記錄到所述索引文件中。
當(dāng)電子設(shè)備將視頻文件中的每個(gè)關(guān)鍵幀的索引信息記錄到所述索引文件中后,因?yàn)樗饕募潜4嬖诰彺嫖募械?,一般情況下,緩存文件中保存的索引信息容易被覆蓋或不能長(zhǎng)久保存,電子設(shè)備可以判斷當(dāng)前是否滿足將所述索引文件中的索引信息保存的條件時(shí),如果是,則將緩存文件中的索引信息進(jìn)行保存,該保存可以是保存到電子設(shè)備的存儲(chǔ)空間中。電子設(shè)備判斷當(dāng)前是否滿足將所述索引文件中的索引信息保存的條件時(shí),可以是判斷是否接收到用戶保存指令,當(dāng)電子設(shè)備接收到用戶的保存指令時(shí),將緩存文件中的索引信息進(jìn)行保存,或者判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件還可以包括:
判斷當(dāng)前緩存時(shí)間是否達(dá)到將索引信息進(jìn)行保存的時(shí)間周期;
判斷當(dāng)前緩存文件的存儲(chǔ)容量是否達(dá)到設(shè)定閾值。
電子設(shè)備中設(shè)定有將索引信息進(jìn)行保存的時(shí)間周期,所述時(shí)間周期可以是任意時(shí)間長(zhǎng)度,例如2個(gè)小時(shí)、48個(gè)小時(shí),即2天,也可以是與索引記錄的第一時(shí)間周期相同。當(dāng)設(shè)定的將索引信息進(jìn)行保存的時(shí)間周期與索引記錄的第一時(shí)間周期相同時(shí),則保存的該第一時(shí)間周期的所有索引信息即為一條索引記錄。
電子設(shè)備分配給了緩存文件一定的緩存空間,該緩存空間的存儲(chǔ)容量則是確定的值,緩存文件的數(shù)據(jù)量不能超過(guò)緩存空間的存儲(chǔ)容量。電子設(shè)備判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件時(shí),可以是判斷當(dāng)前緩存文件的存儲(chǔ)容量是否達(dá)到設(shè)定閾值,當(dāng)判斷出當(dāng)前緩存文件的存儲(chǔ)容量達(dá)到設(shè)定閾值,則滿足將緩存文件中的索引信息進(jìn)行保存的條件,則將緩存文件中的索引信息進(jìn)行保存。其中該設(shè)定閾值可以為該緩存空間的存儲(chǔ)容量,或者也可以是該存儲(chǔ)容量的95%、90%等對(duì)應(yīng)的數(shù)值。
所述將緩存文件中的索引信息進(jìn)行保存包括:
針對(duì)所述索引文件,按照索引信息保存條件對(duì)應(yīng)的規(guī)則對(duì)所述索引文件中的索引信息劃分到每個(gè)索引子文件中;
依次保存每個(gè)索引子文件。
電子設(shè)備在將所述將緩存文件中的索引信息進(jìn)行保存時(shí),可以是針對(duì)每個(gè)索引文件,按照設(shè)定的第二時(shí)間周期對(duì)所述索引文件中的索引信息劃分到每個(gè)索引子文件中,依次保存每個(gè)索引子文件。所述第二時(shí)間周期可以是與所述索引文件中的索引記錄的第一時(shí)間周期相同的時(shí)間周期,也可以是與所述第一時(shí)間周期不同的任意時(shí)間周期。當(dāng)所述第二時(shí)間周期與所述第一時(shí)間周期相同時(shí),則所述索引子文件即為所述索引記錄。依次保存每個(gè)索引子文件即為依次保存每個(gè)索引記錄。例如每個(gè)索引文件中記錄有對(duì)應(yīng)的視頻源在3天內(nèi)采集的視頻文件的索引,可以按照時(shí)間周期為一天將所述索引文件劃分為索引子文件,則該索引文件中包含3個(gè)索引子文件。
電子設(shè)備在將所述將緩存文件中的索引信息進(jìn)行保存時(shí),也可以是針對(duì)緩存空間的存儲(chǔ)容量,將達(dá)到緩存空間的存儲(chǔ)容量閾值時(shí)的時(shí)間段所對(duì)應(yīng)的第二時(shí)間周期中所有索引信息劃分到每個(gè)索引子文件中。緩存空間的存儲(chǔ)容量由0達(dá)到閾值時(shí)的時(shí)間段,可以是大于第二時(shí)間周期的,則將該時(shí)間段中包含該第二時(shí)間周期的時(shí)間段中的所有索引信息劃分到一個(gè)索引子文件中。緩存空間的存儲(chǔ)容量由0達(dá)到閾值時(shí)的時(shí)間段,可以是小于第二時(shí)間周期的,則將該時(shí)間段中的所有索引信息劃分到一個(gè)索引子文件中。
如圖3a所示的索引文件示意圖,所述第二時(shí)間周期與所述第一時(shí)間周期相同,該圖3a中的索引記錄即為索引子文件。索引文件中保存有索引記錄(索引子文件)1、索引記錄(索引子文件)2、……、索引記錄(索引子文件)n,索引文件中還保存有頁(yè)腳footer和元數(shù)據(jù)metadata,其中,metadata中保存有索引記錄(索引子文件)的數(shù)量number和每條索引記錄(索引子文件)在索引文件中的偏移量offset和大小信息size,footer的長(zhǎng)度是固定的,footer中保存有metadata的偏移量、長(zhǎng)度、開始時(shí)間和結(jié)束時(shí)間。
在將索引記錄(索引子文件)n+1保存索引文件中時(shí),具體地可以參考圖3b所示的過(guò)程示意圖:
s201:將索引文件的讀寫位置移動(dòng)到所述索引文件的尾部,讀取所述索引文件的footer。
s202:根據(jù)讀取的footer解析出所述索引文件的metadata在索引文件中的起始地址。
s203:根據(jù)所述metadata在所述索引文件中的起始地址,讀取所述metadata中的數(shù)據(jù)信息,識(shí)別所述數(shù)據(jù)信息中的最后一條索引記錄n的偏移量信息和大小信息。
s204:將所述footer和metadata寫入臨時(shí)文件中,將新的索引記錄n+1在索引文件的metadata的開始位置開始寫入。
s205:根據(jù)所述新的索引記錄的偏移量信息及大小信息,更新所述metadata。
s206:將所述更新后的metadata在所述索引文件的所述更新后的索引記錄的結(jié)束位置開始寫入。
s207:根據(jù)所述更新后的metadata的偏移量及長(zhǎng)度,更新所述footer。
s208:將所述更新后的footer在所述索引文件的所述更新后的metadata的結(jié)束位置開始寫入。
s209:刪除所述臨時(shí)文件。
一般情況下,metadata和footer會(huì)被存在緩存中,這樣可以提高索引寫入效率。具體根據(jù)在存儲(chǔ)空間中寫入已建立的索引的信息的方法將metadata和footer寫入緩存中,在存儲(chǔ)空間中寫入已建立的索引的信息的過(guò)程屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中不再進(jìn)行贅述。
實(shí)施例4:
電子設(shè)備將視頻文件中的各種類型的事件對(duì)應(yīng)建立索引子信息,為了可以根據(jù)索引子信息快速查找到該索引子信息中的關(guān)鍵幀的內(nèi)容并展示,在上述各實(shí)施例的基礎(chǔ)上,在本發(fā)明實(shí)施例中,所述方法還包括:
根據(jù)所述索引子信息中的開始時(shí)間對(duì)應(yīng)的第一關(guān)鍵幀和結(jié)束時(shí)間對(duì)應(yīng)的第二關(guān)鍵幀的存儲(chǔ)位置,在所述索引子信息中保存所述存儲(chǔ)位置的信息。
在本發(fā)明實(shí)施例中,電子設(shè)備中保存有視頻文件中的關(guān)鍵幀包含的各種類型的事件對(duì)應(yīng)的索引子信息,該索引子信息中保存有該類型的事件的開始時(shí)間和結(jié)束時(shí)間,開始時(shí)間為該類型的事件對(duì)應(yīng)的第一關(guān)鍵幀的時(shí)間,結(jié)束時(shí)間為該類型的事件對(duì)應(yīng)的最后一個(gè)關(guān)鍵幀的時(shí)間,將該最后一個(gè)關(guān)鍵幀稱為第二關(guān)鍵幀。電子設(shè)備根據(jù)該所述索引子信息中的開始時(shí)間對(duì)應(yīng)的第一關(guān)鍵幀和結(jié)束時(shí)間對(duì)應(yīng)的第二關(guān)鍵幀的存儲(chǔ)位置,在所述索引子信息中保存所述存儲(chǔ)位置的信息。這樣用戶在查詢到該索引子信息后,也可以根據(jù)所述索引子信息中保存所述存儲(chǔ)位置的信息查找到該索引子信息中的關(guān)鍵幀的內(nèi)容。當(dāng)然可以針對(duì)所述索引子信息中的每個(gè)關(guān)鍵幀,在所述索引子信息中保存每個(gè)關(guān)鍵幀的存儲(chǔ)位置。
當(dāng)用戶在查找到索引子信息時(shí),也有可能不只是想看該索引子信息中的關(guān)鍵幀的內(nèi)容,還會(huì)想看所述引子信息對(duì)應(yīng)的視頻文件中的全部幀的內(nèi)容。所述方法還包括:
根據(jù)索引子信息對(duì)應(yīng)的視頻文件,根據(jù)所述視頻文件的開始時(shí)間對(duì)應(yīng)的視頻幀和結(jié)束時(shí)間對(duì)應(yīng)的視頻幀的存儲(chǔ)位置,在所述索引信息中保存有所述存儲(chǔ)位置的信息。
每個(gè)索引子信息都有其對(duì)應(yīng)的視頻文件,該視頻文件中包含該索引子信息對(duì)應(yīng)關(guān)鍵幀的內(nèi)容,和非關(guān)鍵幀內(nèi)容。索引信息中保存有該索引子信息及該索引子信息對(duì)應(yīng)的事件的類型,在該索引信息中保存該視頻文件的開始時(shí)間對(duì)應(yīng)的視頻幀的存儲(chǔ)位置和該視頻文件的結(jié)束時(shí)間對(duì)應(yīng)的視頻幀的存儲(chǔ)位置,這樣用戶在想查詢?cè)撘曨l文件的存儲(chǔ)位置時(shí),就可以根據(jù)該視頻的開始時(shí)間對(duì)應(yīng)的視頻幀的存儲(chǔ)位置和該視頻文件的結(jié)束時(shí)間對(duì)應(yīng)的視頻幀的存儲(chǔ)位置,找到整個(gè)視頻文件了。當(dāng)然也可以在該索引信息中保存該視頻文件的所有幀的存儲(chǔ)位置。
電子設(shè)備在構(gòu)建視頻文件的索引信息時(shí),可以包含采集該視頻文件的視頻源、視頻文件的時(shí)間段,該時(shí)間段對(duì)應(yīng)的時(shí)間周期,視頻文件中事件的類型及該類型的事件的時(shí)間信息。當(dāng)然也可以包括該視頻文件中關(guān)鍵幀的絕對(duì)時(shí)間和該視頻文件的偏移量,因?yàn)樵跇?gòu)建索引文件時(shí),是依靠視頻源構(gòu)建的,而不是一個(gè)個(gè)視頻文件,這就需要建立映射表,將所有錄像文件映射到一個(gè)地址空間中,具體的如圖3c所示,為視頻文件的在虛擬存儲(chǔ)空間的映射表圖,每個(gè)視頻文件都會(huì)有對(duì)應(yīng)的虛擬存儲(chǔ)空間。在虛擬存儲(chǔ)空間中,將視頻文件1,視頻文件2……視頻文件n,依次在虛擬存儲(chǔ)空間中存儲(chǔ)。
如圖3d所示,為視頻文件虛擬存儲(chǔ)空間的起始偏移量、長(zhǎng)度的信息??梢钥闯鲆曨l文件1的起始偏移量為uint64:offset1,長(zhǎng)度為uint64:size1;視頻文件2的起始偏移量為uint64:offset1+size1,長(zhǎng)度為uint64:size2;視頻文件3的起始偏移量為uint64:offset1+size1+size2,長(zhǎng)度為uint64:size3。
電子設(shè)備在建立該視頻文件的索引信息時(shí)發(fā)現(xiàn)該視頻文件被覆蓋或者此時(shí)出現(xiàn)斷電情況,則電子設(shè)備認(rèn)為沒有把視頻文件的索引信息建立完整,可以針對(duì)該視頻文件的時(shí)間段對(duì)應(yīng)的第一時(shí)間周期重新建立索引記錄。具體的,可以如圖3e所示,為重新建立索引記錄的過(guò)程示意圖:
s301:將文件讀寫位置移動(dòng)到索引文件的尾部,讀取索引文件的footer,解析結(jié)束時(shí)間。
s302:查找結(jié)束時(shí)間到此時(shí)的時(shí)間段對(duì)應(yīng)的視頻文件。
s303:根據(jù)所述視頻文件生成索引記錄并更新到索引文件中。
所述重新建立索引記錄的過(guò)成屬于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中對(duì)該過(guò)程不進(jìn)行詳細(xì)贅述。
實(shí)施例5:
圖4為本發(fā)明實(shí)施例5提供的一種視頻文件索引信息的查詢過(guò)程示意圖,該過(guò)程包括以下步驟:
s401:接收用戶發(fā)送的索引信息的查詢請(qǐng)求,其中所述查詢請(qǐng)求中攜帶待查詢的視頻源的標(biāo)識(shí)信息、事件的類型及所述類型的事件發(fā)生的時(shí)間的信息。
本發(fā)明實(shí)施例提供的視頻文件索引信息的查詢方法可以應(yīng)用于電子設(shè)備。電子設(shè)備可以接收用戶發(fā)送的索引信息的查詢請(qǐng)求,所述索引信息的查詢請(qǐng)求中攜帶待查詢的視頻源的標(biāo)識(shí)信息、事件的類型及所述類型的事件發(fā)生的時(shí)間的信息。所述視頻源的標(biāo)識(shí)信息可以是視頻源的設(shè)備號(hào),可以是視頻源所在位置的信息。所述事件的類型可以是包含人臉的事件、包含車牌的事件等。所述事件的類型可以是類型的標(biāo)識(shí)信息等,例如含人臉的事件的標(biāo)識(shí)信息為a,包含車牌的事件的標(biāo)識(shí)信息為b。所述類型的事件發(fā)生的時(shí)間可以是時(shí)間點(diǎn),例如5:20,也可以是時(shí)間段,例如4:00-4:20。
s402:根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識(shí)信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行s403,如果否,則結(jié)束。
電子設(shè)備生成的所有索引文件稱為索引文件集合,電子設(shè)備的索引文件集合中保存有包含視頻源的索引文件,在保存索引文件時(shí),可以保存視頻源的標(biāo)識(shí)信息與索引文件的對(duì)應(yīng)關(guān)系,具體的可以是視頻源的標(biāo)識(shí)信息與索引文件一一對(duì)應(yīng),例如,視頻源的標(biāo)識(shí)信息是設(shè)備號(hào),如設(shè)備1、設(shè)備2……,所述對(duì)應(yīng)關(guān)系可以是設(shè)備1-索引文件1,設(shè)備2-索引文件2。電子設(shè)備可以在所述索引文件集合中查找是否保存有用戶的查詢請(qǐng)求中攜帶的視頻源的標(biāo)識(shí)信息,如果有,則電子設(shè)備中保存有包含所述視頻源的目標(biāo)索引文件。
s403:在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時(shí)間,查找所述索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息并顯示。
電子設(shè)備中保存的索引文件中包含有事件的類型及該類型的事件的索引信息,所述索引信息中還包含該類型的事件發(fā)生的時(shí)間。當(dāng)電子設(shè)備查找到保存有所述視頻源的目標(biāo)索引文件時(shí),則可以根據(jù)用戶發(fā)送的所述查詢請(qǐng)求中攜帶的事件的類型,在所述目標(biāo)索引文件中查找是否包含該類型的事件的索引信息,如果在目標(biāo)索引文件中查找到包含該類型的事件的索引信息,則可以根據(jù)用戶發(fā)送的所述查詢請(qǐng)求中攜帶的該類型的事件發(fā)生的時(shí)間,查找所述索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息并顯示。所述開始時(shí)間和結(jié)束時(shí)間與所述事件發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息可以是所述事件發(fā)生的時(shí)間在索引子信息的開始時(shí)間和結(jié)束時(shí)間之內(nèi)或重合的時(shí)間。
例如,所述查詢請(qǐng)求中攜帶的該類型的事件發(fā)生的時(shí)間為一個(gè)時(shí)間點(diǎn)5:20,所述索引信息中有索引子信息[1:20-1:25]和[5:20-5:25],則顯示的索引子信息為[5:20-5:21]。例如,所述查詢請(qǐng)求中攜帶的該類型的事件發(fā)生的時(shí)間為一個(gè)時(shí)間段1:22-5:22,所述索引信息中有索引子信息[1:20-1:25]和[5:20-5:21],則顯示的索引子信息為[1:20-1:25]和[5:20-5:21]。
實(shí)施例6:
所述在所述索引文件中查找是否包含所述類型的事件的索引信息之前,所述方法還包括:
根據(jù)所述類型的事件發(fā)生的時(shí)間,確定所述時(shí)間對(duì)應(yīng)的第三時(shí)間周期;
判斷所述索引文件中是否保存有所述第三時(shí)間周期對(duì)應(yīng)的索引記錄;
如果是,進(jìn)行后續(xù)步驟。
在本發(fā)明實(shí)施例中,電子設(shè)備在查找到包含用戶發(fā)送的所述查詢請(qǐng)求中攜帶的所述視頻源的索引文件后,可以根據(jù)所述查詢請(qǐng)求中攜帶的所述類型的事件發(fā)生的時(shí)間確定所述時(shí)間對(duì)應(yīng)的第三時(shí)間周期,所述第三時(shí)間周期可以是與第一時(shí)間周期相同的時(shí)間周期。當(dāng)電子設(shè)備判斷出所述索引文件中保存有所述第三時(shí)間周期對(duì)應(yīng)的索引記錄時(shí),則可以在所述索引記錄中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時(shí)間,查找所述索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息并顯示。
如圖5所示,為電子設(shè)備在索引文件中查找索引記錄的過(guò)程示意圖:
s501:將索引文件的讀寫位置移動(dòng)到所述索引文件的尾部,讀取所述索引文件的footer。
s502:根據(jù)讀取的footer解析出所述索引文件的metadata在索引文件中的起始地址。
s503:根據(jù)所述metadata在所述索引文件中的起始地址讀取所述metadata中的數(shù)據(jù)信息,針對(duì)所述metadata中的數(shù)據(jù)信息,查找待讀取的索引記錄的偏移量信息和大小信息。
s504:根據(jù)所述偏移量信息和大小讀取所述待查找的索引記錄。
所述根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識(shí)信息,查找所述索引文件集合中是否包含所述視頻源的索引文件包括:
在緩存文件中查找是否包含所述視頻源的索引文件,如果是,進(jìn)行后續(xù)步驟;
如果否,在保存的索引文件集合中查找是否包含所述視頻源的索引文件,如果是,進(jìn)行后續(xù)步驟。
在本發(fā)明實(shí)施例中,電子設(shè)備在查找是否保存有包含用戶發(fā)送的所述查詢請(qǐng)求中攜帶的所述視頻源的目標(biāo)索引文件時(shí),可以是先在緩存文件中查找是否包含所述視頻源的目標(biāo)索引文件。若在緩存文件中查找到包含所述視頻源的目標(biāo)索引文件,則可以在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息。若在緩存文件中沒有查找到包含所述視頻源的目標(biāo)索引文件,則可以在保存的索引文件集合中查找是否包含所述視頻源的目標(biāo)索引文件,如果在保存的索引文件集合中查找到包含所述視頻源的目標(biāo)索引文件,則可以在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息。
例如,用戶想查詢2016年5月3日12:00到2016年5月5日8:00之間的視頻源1中類型a的索引信息,當(dāng)電子設(shè)備接收到用戶的查詢請(qǐng)求時(shí),根據(jù)用戶的查詢請(qǐng)求中攜帶的視頻源的標(biāo)識(shí)信息視頻源1在緩存文件中查找到包含所述視頻源1的索引文件1,若查找到所述視頻源1的索引文件1,則在緩存文件中的所述索引文件1中查找是否包含日期在2016年5月3日至2016年5月5日之間的視頻文件,若查找到,則在所述索引文件1中的2016年5月3日至2016年5月5日之間的所有索引信息中查找包含類型a的索引信息。若在緩存文件中只能查找到包含日期為2016年5月5日的視頻文件1,則在所述視頻文件1中查找包含類型a的索引信息。在保存的索引文件集合中查找包含日期為2016年5月3日至2016年5月4日的視頻文件2,則在所述視頻文件2中查找包含類型a的索引信息.
若在緩存文件中沒有查找到包含所述視頻源1的索引文件,則可以在保存的索引文件集合中查找是否包含所述視頻源1的索引文件1,則在索引文件集合中的所述索引文件1中查找是否包含日期在2016年5月3日至2016年5月5日之間的視頻文件,若查找到,則在所述索引文件1中的2016年5月3日至2016年5月5日之間的所有索引信息中查找包含類型a的索引信息。
實(shí)施例7:
用戶在查詢索引子信息時(shí),電子設(shè)備可以查找到該索引子信息,為了顯示更豐富的信息,也可能查找該索引子信息對(duì)應(yīng)的關(guān)鍵幀并顯示。在上述各實(shí)施例的基礎(chǔ)上,在本發(fā)明實(shí)施例中,所述方法還包括:
根據(jù)查找到的索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件的發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息,及索引文件中記錄的每個(gè)關(guān)鍵幀的存儲(chǔ)位置的信息,查找與所述對(duì)應(yīng)的索引子信息對(duì)應(yīng)的關(guān)鍵幀的存儲(chǔ)位置;
獲取所述存儲(chǔ)位置存儲(chǔ)的關(guān)鍵幀并展示。
在本發(fā)明實(shí)施例中,電子設(shè)備還可以根據(jù)查找到索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件的發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息,及索引文件中記錄的每個(gè)關(guān)鍵幀的存儲(chǔ)位置的信息,查找與所述對(duì)應(yīng)的索引子信息對(duì)應(yīng)的關(guān)鍵幀的存儲(chǔ)位置,從而獲取對(duì)應(yīng)的視頻幀的信息并展示。
圖6為本發(fā)明實(shí)施例1提供了一種視頻文件索引信息的構(gòu)建裝置結(jié)構(gòu)圖,所述裝置包括:
判斷模塊61,用于針對(duì)待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;
建立模塊62,用于如果判斷模塊的判斷結(jié)果為否,建立所述視頻源對(duì)應(yīng)的索引文件;
建立模塊62,還用于如果判斷模塊的判斷結(jié)果為是,針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對(duì)應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對(duì)所述第一類型的事件對(duì)應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時(shí)間,如果不同,則在所述第一類型的事件的索引信息中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。
所述建立模塊62,還用于根據(jù)所述視頻文件對(duì)應(yīng)的時(shí)間段,判斷所述索引文件中是否保存有所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄;如果否,在所述索引文件中建立所述時(shí)間段對(duì)應(yīng)的第一時(shí)間周期的索引記錄;如果是,針對(duì)所述索引文件中所述時(shí)間段對(duì)應(yīng)的時(shí)間周期的索引記錄進(jìn)行后續(xù)操作。
所述判斷模塊61,具體用于判斷緩存文件中是否保存有采集所述視頻文件的視頻源的索引文件;
圖7為本發(fā)明實(shí)施例提供了一種視頻文件索引信息的構(gòu)建裝置結(jié)構(gòu)圖,在圖6的基礎(chǔ)上,所述裝置還包括:
判斷保存模塊71,用于判斷當(dāng)前是否滿足將緩存文件中的索引信息進(jìn)行保存的條件;如果是,將緩存文件中的索引信息進(jìn)行保存。
所述判斷保存模塊71,具體用于判斷當(dāng)前緩存時(shí)間是否達(dá)到將索引信息進(jìn)行保存的第二時(shí)間周期閾值;判斷當(dāng)前緩存文件的存儲(chǔ)容量是否達(dá)到最大閾值。
所述判斷保存模塊71,具體用于針對(duì)所述索引文件,按照索引信息保存條件對(duì)應(yīng)的規(guī)則對(duì)所述索引文件中的索引信息劃分到每個(gè)索引子文件中;依次保存每個(gè)索引子文件。
所述裝置還包括:
保存模塊72,用于根據(jù)所述索引子信息中的開始時(shí)間對(duì)應(yīng)的第一關(guān)鍵幀和結(jié)束時(shí)間對(duì)應(yīng)的第二關(guān)鍵幀的存儲(chǔ)位置,在所述索引子信息中保存所述存儲(chǔ)位置的信息。
所述保存模塊72,還用于根據(jù)索引子信息對(duì)應(yīng)的視頻文件,根據(jù)所述視頻文件的開始時(shí)間對(duì)應(yīng)的視頻幀和結(jié)束時(shí)間對(duì)應(yīng)的視頻幀的存儲(chǔ)位置,在所述索引信息中保存有所述存儲(chǔ)位置的信息。
圖8為本發(fā)明實(shí)施例5提供的一種視頻文件索引信息的查詢裝置結(jié)構(gòu)圖,所述裝置包括:
接收模塊81,用于接收用戶發(fā)送的索引信息的查詢請(qǐng)求,其中所述查詢請(qǐng)求中攜帶待查詢的視頻源的標(biāo)識(shí)信息、事件的類型及所述類型的事件發(fā)生的時(shí)間的信息;
查找模塊82,用于根據(jù)生成的索引文件集合及所述視頻源的標(biāo)識(shí)信息,查找所述索引文件集合中是否包含所述視頻源的目標(biāo)索引文件;
顯示模塊83,用于如果查找模塊的查找結(jié)果為是,在所述目標(biāo)索引文件中查找是否包含所述類型的事件的索引信息,如果是,根據(jù)所述類型的事件發(fā)生的時(shí)間,查找所述索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件的發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息并顯示。
圖9為本發(fā)明實(shí)施例提供的一種視頻文件索引信息的查詢裝置,在圖8的基礎(chǔ)上,所述裝置還包括:
確定判斷模塊91,用于根據(jù)所述類型的事件發(fā)生的時(shí)間,確定所述時(shí)間對(duì)應(yīng)的第三時(shí)間周期;判斷所述索引文件中是否保存有所述第三時(shí)間周期對(duì)應(yīng)的索引記錄;如果是,進(jìn)行后續(xù)步驟。
所述查找模塊82,具體用于在緩存文件中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟;如果否,在保存的索引文件集合中查找是否包含所述視頻源的目標(biāo)索引文件,如果是,進(jìn)行后續(xù)步驟。
所述顯示模塊83,還用于根據(jù)查找到的索引信息中開始時(shí)間和結(jié)束時(shí)間與所述事件的發(fā)生的時(shí)間對(duì)應(yīng)的索引子信息,及索引文件中記錄的每個(gè)關(guān)鍵幀的存儲(chǔ)位置的信息,查找與所述對(duì)應(yīng)的索引子信息對(duì)應(yīng)的關(guān)鍵幀的存儲(chǔ)位置;獲取所述存儲(chǔ)位置存儲(chǔ)的關(guān)鍵幀并展示。
本發(fā)明實(shí)施例公開了一種視頻文件索引信息的構(gòu)建和查詢方法及裝置,所述方法包括:針對(duì)待建立索引的視頻文件,判斷是否保存有采集所述視頻文件的視頻源的索引文件;如果否,建立所述視頻源對(duì)應(yīng)的索引文件;如果是,針對(duì)在所述視頻文件中識(shí)別出的關(guān)鍵幀,識(shí)別所述關(guān)鍵幀包含的事件的第一類型,判斷所述索引文件中是否保存有所述第一類型的事件對(duì)應(yīng)的索引信息;如果否,在所述索引文件中建立所述第一類型的事件的索引信息,并建立所述索引信息中開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息;如果是,判斷所述關(guān)鍵幀的上一關(guān)鍵幀包含的事件的類型是否與所述第一類型相同,如果相同,則在針對(duì)所述第一類型的事件對(duì)應(yīng)的索引信息中,更新所述索引信息中最后一條索引子信息中的結(jié)束時(shí)間,如果不同,則在所述第一類型的事件的索引信息中建立開始時(shí)間為所述關(guān)鍵幀的第一時(shí)間的索引子信息。由于在本發(fā)明實(shí)施例中每個(gè)視頻源對(duì)應(yīng)一個(gè)索引文件,并且該索引文件中針對(duì)每種類型的事件保存有對(duì)應(yīng)的索引信息,另外,該索引信息中還記錄有該事件對(duì)應(yīng)的開始時(shí)間和結(jié)束時(shí)間,因此方便了索引信息的查詢,提高了查詢的效率。
對(duì)于系統(tǒng)/裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。
需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者一個(gè)操作與另一個(gè)實(shí)體或者另一個(gè)操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或者操作之間存在任何這種實(shí)際的關(guān)系或者順序。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。