本發(fā)明屬于通信技術(shù)領(lǐng)域,尤其涉及一種視頻數(shù)據(jù)的處理方法、裝置及系統(tǒng)。
背景技術(shù):
隨著無線通信技術(shù)的迅速發(fā)展,集群系統(tǒng)不僅可以提供語音、短距離數(shù)據(jù)通信等功能,還可以提供視頻圖像業(yè)務(wù),從而為用戶提供更直觀、豐富的多媒體信息服務(wù)。
目前,視頻數(shù)據(jù)的集群系統(tǒng)由多個(gè)服務(wù)器組成,用于對視頻數(shù)據(jù)進(jìn)行分布式存儲(chǔ)與處理,具體而言,將需要處理的視頻數(shù)據(jù)預(yù)先存儲(chǔ)在服務(wù)器中,然后調(diào)用集群,進(jìn)行特定任務(wù)的分布式處理。但是由于一套集群系統(tǒng)只能完成單一的視頻數(shù)據(jù)處理,要完成不同的處理任務(wù)需要修改集群的程序代碼,因此導(dǎo)致視頻數(shù)據(jù)處理的靈活性及效率較低,并且資源利用較為低效。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種視頻數(shù)據(jù)的處理方法、裝置及系統(tǒng),旨在提高視頻數(shù)據(jù)處理的靈活性以及效率,高效利用資源。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供以下技術(shù)方案:
一種視頻數(shù)據(jù)的處理方法,其中包括:
接收任務(wù)處理請求,所述任務(wù)處理請求用于對視頻數(shù)據(jù)進(jìn)行處理;
根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);
基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);
控制所述任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例還提供以下技術(shù)方案:
一種視頻數(shù)據(jù)的處理裝置,其中包括:
接收單元,用于接收任務(wù)處理請求,所述任務(wù)處理請求用于對視頻數(shù)據(jù)進(jìn)行處理;
獲取單元,用于根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);
分發(fā)單元,用于基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);
控制單元,用于控制所述任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
相對于現(xiàn)有技術(shù),本實(shí)施例,首先接收任務(wù)處理請求,并根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);然后基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);控制任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理;即本實(shí)施例一方面先通過任務(wù)分配策略將視頻數(shù)據(jù)進(jìn)行合理分發(fā),另一方面沒有限定任務(wù)的類型,而是提供特定的讀寫接口將不同的任務(wù)進(jìn)行接入及處理,相對于只能完成單一的視頻數(shù)據(jù)處理的方式,大大提高視頻數(shù)據(jù)處理的靈活性以及效率,且高效利用資源。
附圖說明
下面結(jié)合附圖,通過對本發(fā)明的具體實(shí)施方式詳細(xì)描述,將使本發(fā)明的技術(shù)方案及其它有益效果顯而易見。
圖1a是本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理系統(tǒng)的場景示意圖;
圖1b是本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理方法的流程示意圖;
圖2a為本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理系統(tǒng)的結(jié)構(gòu)示意圖;
圖2b是本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理方法的另一流程示意圖;
圖3a為本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖;
圖3b為本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理裝置的另一結(jié)構(gòu)示意圖;
圖4為本發(fā)明實(shí)施例提供的服務(wù)器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
請參照圖式,其中相同的組件符號代表相同的組件,本發(fā)明的原理是以實(shí)施在一適當(dāng)?shù)倪\(yùn)算環(huán)境中來舉例說明。以下的說明是基于所例示的本發(fā)明具體實(shí)施例,其不應(yīng)被視為限制本發(fā)明未在此詳述的其它具體實(shí)施例。
在以下的說明中,本發(fā)明的具體實(shí)施例將參考由一部或多部計(jì)算機(jī)所執(zhí)行的步驟及符號來說明,除非另有述明。因此,這些步驟及操作將有數(shù)次提到由計(jì)算機(jī)執(zhí)行,本文所指的計(jì)算機(jī)執(zhí)行包括了由代表了以一結(jié)構(gòu)化型式中的數(shù)據(jù)的電子信號的計(jì)算機(jī)處理單元的操作。此操作轉(zhuǎn)換該數(shù)據(jù)或?qū)⑵渚S持在該計(jì)算機(jī)的內(nèi)存系統(tǒng)中的位置處,其可重新配置或另外以本領(lǐng)域測試人員所熟知的方式來改變該計(jì)算機(jī)的運(yùn)作。該數(shù)據(jù)所維持的數(shù)據(jù)結(jié)構(gòu)為該內(nèi)存的實(shí)體位置,其具有由該數(shù)據(jù)格式所定義的特定特性。但是,本發(fā)明原理以上述文字來說明,其并不代表為一種限制,本領(lǐng)域測試人員將可了解到以下所述的多種步驟及操作亦可實(shí)施在硬件當(dāng)中。
本文所使用的術(shù)語「模塊」可看做為在該運(yùn)算系統(tǒng)上執(zhí)行的軟件對象。本文所述的不同組件、模塊、引擎及服務(wù)可看做為在該運(yùn)算系統(tǒng)上的實(shí)施對象。而本文所述的裝置及方法優(yōu)選的以軟件的方式進(jìn)行實(shí)施,當(dāng)然也可在硬件上進(jìn)行實(shí)施,均在本發(fā)明保護(hù)范圍之內(nèi)。
本發(fā)明實(shí)施例提供一種視頻數(shù)據(jù)的處理方法、裝置和系統(tǒng)。
參見圖1a,該圖為本發(fā)明實(shí)施例所提供的視頻數(shù)據(jù)的處理系統(tǒng)的場景示意圖,其中該視頻數(shù)據(jù)的處理系統(tǒng)可認(rèn)為視頻數(shù)據(jù)的集群系統(tǒng),可以包括視頻數(shù)據(jù)的處理裝置,該視頻數(shù)據(jù)的處理裝置可以集成在服務(wù)器中,如任務(wù)調(diào)度服務(wù)器,主要用于接收任務(wù)處理請求,其中該任務(wù)處理請求用于對視頻數(shù)據(jù)進(jìn)行處理,如接收客戶端發(fā)送的任務(wù)處理請求;然后,根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);最后,控制所述任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理,如人臉檢測、人臉識(shí)別等等。
此外,比如,圖1a所示,該視頻數(shù)據(jù)的處理系統(tǒng)還可以包括分布式存儲(chǔ)服務(wù)器集群、與分布式存儲(chǔ)服務(wù)器集群相連接的分布式處理服務(wù)器集群,其中該分布式存儲(chǔ)服務(wù)器集群可以包括多個(gè)存儲(chǔ)服務(wù)器,主要用于接收物聯(lián)平臺(tái)發(fā)送的視頻數(shù)據(jù),并存儲(chǔ)所述視頻數(shù)據(jù);所述分布式處理服務(wù)器集群可以包括多個(gè)處理服務(wù)器,主要用于從分布式存儲(chǔ)服務(wù)器集群中獲取需要處理的視頻數(shù)據(jù),并基于所述任務(wù)調(diào)度服務(wù)器的調(diào)度結(jié)果,調(diào)用預(yù)設(shè)的讀寫接口對視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。當(dāng)然,該視頻數(shù)據(jù)的處理系統(tǒng)還可以包括物聯(lián)平臺(tái),用于采集視頻數(shù)據(jù),并將所述視頻數(shù)據(jù)推送至分布式存儲(chǔ)服務(wù)器集群。
以下將分別進(jìn)行詳細(xì)說明。
在本實(shí)施例中,將從視頻數(shù)據(jù)的處理裝置的角度進(jìn)行描述,該視頻數(shù)據(jù)的處理裝置具體可以集成在服務(wù)器或網(wǎng)關(guān)等網(wǎng)絡(luò)設(shè)備中。
一種視頻數(shù)據(jù)的處理方法,包括:接收任務(wù)處理請求,所述任務(wù)處理請求用于對視頻數(shù)據(jù)進(jìn)行處理;根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);控制所述任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
請參閱圖1b,圖1b是本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理方法的流程示意圖。所述方法包括:
在步驟S101中,接收任務(wù)處理請求,所述任務(wù)處理請求用于對視頻數(shù)據(jù)進(jìn)行處理。
可以理解的是,本發(fā)明提供的視頻數(shù)據(jù)的處理方法可基于分布式文件系統(tǒng)(HDFS,Hadoop Distributed File System)執(zhí)行,視頻數(shù)據(jù)的處理裝置接收到用于對視頻數(shù)據(jù)進(jìn)行處理的任務(wù)處理請求,從而觸發(fā)視頻數(shù)據(jù)的處理裝置根據(jù)視頻數(shù)據(jù)進(jìn)行任務(wù)調(diào)度,并控制各個(gè)任務(wù)處理節(jié)點(diǎn)處理相應(yīng)的任務(wù)。
可選的,視頻數(shù)據(jù)的處理裝置接收任務(wù)處理請求的方式有很多,比如,在一種可能的實(shí)施方式中,視頻數(shù)據(jù)的處理裝置可以接收用戶觸發(fā)輸入的任務(wù)處理請求。
又比如,在另一種可能的實(shí)施方式中,視頻數(shù)據(jù)的處理裝置可以按照預(yù)設(shè)時(shí)間間隔獲取任務(wù)列表,并將所述任務(wù)列表作為任務(wù)處理請求。
也就是說,該任務(wù)處理請求可以由用戶進(jìn)行觸發(fā)以及提交,或者可以定時(shí)地啟動(dòng)預(yù)先計(jì)劃的任務(wù)列表,其中所述任務(wù)列表可以根據(jù)用戶行為數(shù)據(jù)或者用戶自定義所生成,此處不作具體限定。
在步驟S102中,根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù)。
比如,視頻數(shù)據(jù)的處理裝置可以根據(jù)所述任務(wù)處理請求,從分布式文件存儲(chǔ)服務(wù)器集群中獲取需要處理的視頻數(shù)據(jù)。其中,該視頻數(shù)據(jù)的處理裝置與所述分布式文件存儲(chǔ)服務(wù)器集群處于同一視頻數(shù)據(jù)的集群系統(tǒng)中。
可具體的,視頻數(shù)據(jù)的處理裝置根據(jù)所述任務(wù)處理請求,從分布式文件存儲(chǔ)服務(wù)器集群中獲取需要處理的視頻數(shù)據(jù)可包括如下步驟:
(21)根據(jù)預(yù)設(shè)的視頻處理任務(wù)信息,確定與所述任務(wù)處理請求相應(yīng)的視頻處理任務(wù)。
(22)從分布式文件存儲(chǔ)服務(wù)器集群中提取所述視頻處理任務(wù)相應(yīng)的視頻數(shù)據(jù)。
(23)將提取的所述視頻數(shù)據(jù)確定為需要處理的視頻數(shù)據(jù)。
也就是說,視頻數(shù)據(jù)的處理裝置可預(yù)先對視頻處理任務(wù)信息進(jìn)行存儲(chǔ),即對任務(wù)處理節(jié)點(diǎn)需要執(zhí)行的任務(wù)進(jìn)行設(shè)定,例如人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。
比如,視頻數(shù)據(jù)的處理裝置先對接收到的任務(wù)處理請求進(jìn)行分析,然后基于分析結(jié)果以及視頻處理任務(wù)信息,確定出相應(yīng)的視頻處理任務(wù);其后,從分布式文件存儲(chǔ)服務(wù)器集群中提取所述視頻處理任務(wù)相應(yīng)的視頻數(shù)據(jù),并將這些數(shù)據(jù)作為當(dāng)前需要處理的視頻數(shù)據(jù)。
在步驟S103中,基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
可以理解的是,為了讓各個(gè)任務(wù)處理節(jié)點(diǎn)的負(fù)載盡可能接近,避免出現(xiàn)處理量特別大的任務(wù)處理節(jié)點(diǎn)拖慢整個(gè)系統(tǒng)的情況,視頻數(shù)據(jù)的處理裝置可以設(shè)定一任務(wù)分配策略來合理分配需要處理的視頻數(shù)據(jù),比如,可包括如下步驟:
(1)根據(jù)所述視頻數(shù)據(jù),確定相應(yīng)的錄制時(shí)間信息。
(2)獲取預(yù)設(shè)的錄制時(shí)間與處理時(shí)間的關(guān)系映射表。
(3)基于所述關(guān)系映射表與所述錄制時(shí)間信息,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
比如,可具體的,對于門禁的監(jiān)控視頻數(shù)據(jù)來說,雖然每一段視頻(按相等的時(shí)間間隔錄制)的大小相差不多,但是不同時(shí)間段的視頻中人臉的出現(xiàn)頻率相差很大。一般來說,視頻中出現(xiàn)的人臉越多,任務(wù)處理節(jié)點(diǎn)要花費(fèi)的處理時(shí)間就越長,這就導(dǎo)致了處理人臉出現(xiàn)特別多的視頻時(shí)會(huì)帶來更大的負(fù)載。因此,如果簡單地根據(jù)視頻的數(shù)目進(jìn)行分配,很容易產(chǎn)生負(fù)載不均衡的情況。
基于此,本實(shí)施例中視頻數(shù)據(jù)的處理裝置可以先根據(jù)歷史的行為數(shù)據(jù),如視頻的錄制時(shí)間以及相應(yīng)的處理時(shí)間的相關(guān)數(shù)據(jù),預(yù)先建立一關(guān)系映射表,并根據(jù)該關(guān)系映射表以及錄制時(shí)間信息,將需要處理的視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
進(jìn)一步的,步驟(3)基于所述關(guān)系映射表與所述錄制時(shí)間信息,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)可具體包括:
(31)基于所述關(guān)系映射表與所述錄制時(shí)間信息,計(jì)算相應(yīng)的處理時(shí)間。
(32)根據(jù)任務(wù)處理節(jié)點(diǎn)的數(shù)目以及所述處理時(shí)間,確定處理時(shí)間的平均值。
(33)根據(jù)所述處理時(shí)間的平均值,將相應(yīng)時(shí)長的視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
也就是說,具體運(yùn)行時(shí),視頻數(shù)據(jù)的處理裝置會(huì)維護(hù)一個(gè)視頻錄制時(shí)間與處理時(shí)間的關(guān)系映射表,根據(jù)不同的時(shí)間段查詢對應(yīng)的處理時(shí)間,確定處理時(shí)間的平均值,即平均每個(gè)任務(wù)處理節(jié)點(diǎn)需要處理的時(shí)間,從而將相應(yīng)時(shí)長的視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)進(jìn)行處理。
可選的,無論對于新增加的視頻(如關(guān)系映射表無對應(yīng)錄制時(shí)間的視頻)還是原有的視頻,視頻數(shù)據(jù)的處理裝置均可以在任務(wù)處理節(jié)點(diǎn)處理完這個(gè)視頻數(shù)據(jù)后記錄下其實(shí)際的處理時(shí)間,并將其更新到該關(guān)系映射表中,從而可以實(shí)時(shí)的更新該關(guān)系映射表,更加符合實(shí)際的需求。
可以理解的是,所述視頻數(shù)據(jù)的處理裝置、分布式文件存儲(chǔ)服務(wù)器集群以及所述任務(wù)處理節(jié)點(diǎn)均處于同一視頻數(shù)據(jù)的集群系統(tǒng)中,其中所述任務(wù)處理節(jié)點(diǎn)組成分布式文件處理服務(wù)器集群,所述分布式文件處理服務(wù)器集群中的每一個(gè)處理服務(wù)器可作為一個(gè)任務(wù)處理節(jié)點(diǎn)。
在步驟S104中,控制所述任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
其中,所述讀寫接口又可理解為程序調(diào)用模塊,預(yù)先設(shè)置在各個(gè)任務(wù)處理節(jié)點(diǎn)中,無需限定其相應(yīng)的任務(wù)類型,在視頻數(shù)據(jù)的處理裝置將視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)后,控制各個(gè)任務(wù)處理節(jié)點(diǎn)通過該讀寫接口將不同的任務(wù)進(jìn)行接入,從而可以對視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
比如,視頻數(shù)據(jù)的處理裝置控制所述任務(wù)處理節(jié)點(diǎn),通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理可以具體包括:
(41)根據(jù)預(yù)設(shè)的視頻處理任務(wù)信息,確定與所述任務(wù)處理請求相應(yīng)的視頻處理任務(wù)。
(42)控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口,調(diào)用與所述視頻處理任務(wù)相應(yīng)的任務(wù)處理進(jìn)程。
(43)控制所述任務(wù)處理節(jié)點(diǎn)基于所述任務(wù)處理進(jìn)程對所述視頻數(shù)據(jù)進(jìn)行處理。
也就是說,視頻數(shù)據(jù)的處理裝置先對接收到的任務(wù)處理請求進(jìn)行分析,然后基于分析結(jié)果以及視頻處理任務(wù)信息,確定出相應(yīng)的視頻處理任務(wù),例如人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。
進(jìn)一步的,視頻數(shù)據(jù)的處理裝置確定出任務(wù)處理請求相應(yīng)的視頻處理任務(wù)后,控制任務(wù)處理節(jié)點(diǎn)通過特定的讀寫接口,調(diào)用與視頻處理任務(wù)相應(yīng)的任務(wù)處理進(jìn)程,從而各個(gè)任務(wù)處理節(jié)點(diǎn)可以基于相應(yīng)的任務(wù)處理進(jìn)程對視頻數(shù)據(jù)進(jìn)行處理,以完成人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。
需要說明的是,視頻數(shù)據(jù)的處理裝置本身沒有具體的任務(wù)執(zhí)行內(nèi)容,而是通過一個(gè)讀寫接口,調(diào)用用戶自定義的視頻處理任務(wù)。同時(shí),任務(wù)處理節(jié)點(diǎn)執(zhí)行任務(wù)時(shí)同樣采用分布式的方式,只需要保持客戶端的程序接口和提供的讀寫接口一致,就能靈活地提交客戶端的視頻處理任務(wù),不需要單獨(dú)為某個(gè)任務(wù)改寫集群框架的程序代碼。另外可理解的是,該數(shù)據(jù)處理方法思想也同樣適用于圖像、音頻等數(shù)據(jù),此處不作具體限定。
由上述可知,本實(shí)施例提供的視頻數(shù)據(jù)的處理方法,首先接收任務(wù)處理請求,并根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);然后基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);控制任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理;即本實(shí)施例一方面先通過任務(wù)分配策略將視頻數(shù)據(jù)進(jìn)行合理分發(fā),另一方面沒有限定任務(wù)的類型,而是提供特定的讀寫接口將不同的任務(wù)進(jìn)行接入及處理,相對于只能完成單一的視頻數(shù)據(jù)處理的方式,大大提高視頻數(shù)據(jù)處理的靈活性以及效率,且高效利用資源。
根據(jù)上述實(shí)施例所描述的方法,以下將舉例作進(jìn)一步詳細(xì)說明。
在本實(shí)施例中,將從視頻數(shù)據(jù)的處理系統(tǒng)的角度進(jìn)行描述,其中該視頻數(shù)據(jù)的處理系統(tǒng)為基于分布式文件系統(tǒng)HDFS視頻數(shù)據(jù)的集群系統(tǒng),如圖2a所示,該集群系統(tǒng)主要包括視頻數(shù)據(jù)獲取部分以及視頻數(shù)據(jù)處理部分。
其中,視頻數(shù)據(jù)獲取部分可以包括預(yù)設(shè)的物聯(lián)平臺(tái),如物聯(lián)平臺(tái)AA,物聯(lián)平臺(tái)AA包括多個(gè)物聯(lián)服務(wù)器,與該物聯(lián)平臺(tái)AA相關(guān)聯(lián)的物聯(lián)攝像頭以及分布式文件存儲(chǔ)服務(wù)器集群(以下簡稱存儲(chǔ)服務(wù)器集群),該存儲(chǔ)服務(wù)器集群包括多個(gè)存儲(chǔ)服務(wù)器;視頻數(shù)據(jù)處理部分包括客戶端、任務(wù)調(diào)度服務(wù)器以及分布式文件處理服務(wù)器集群(以下簡稱處理服務(wù)器集群),該處理服務(wù)器集群包括多個(gè)處理服務(wù)器,也稱任務(wù)處理節(jié)點(diǎn)。以下將進(jìn)行詳細(xì)說明。
請參閱圖2b,圖2b為本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理方法的流程示意圖。所述方法包括:
在步驟S201中,物聯(lián)平臺(tái)AA中的物聯(lián)服務(wù)器采集多路物聯(lián)攝像頭的視頻數(shù)據(jù),并將所述視頻數(shù)據(jù)推送至存儲(chǔ)服務(wù)器集群。
比如,物聯(lián)平臺(tái)AA主要用于視頻數(shù)據(jù)獲取,可具體的,利用多路物聯(lián)攝像頭進(jìn)行視頻采集,采集視頻后,物聯(lián)平臺(tái)AA通過綁定該平臺(tái)注冊的用戶賬號,將視頻數(shù)據(jù)推送至存儲(chǔ)服務(wù)器集群。
其中,所述存儲(chǔ)服務(wù)器集群中的存儲(chǔ)服務(wù)器主要用于接收物聯(lián)平臺(tái)AA發(fā)送的視頻數(shù)據(jù),并存儲(chǔ)所述視頻數(shù)據(jù);另需說明的是,本發(fā)明所述視頻數(shù)據(jù),不僅可以指完整的視頻流數(shù)據(jù),還可以是一個(gè)視頻的下載路徑,后續(xù)可以通過這個(gè)路徑下載視頻,等等,此處不作具體限定。
在步驟S202中,任務(wù)調(diào)度服務(wù)器接收客戶端發(fā)送的任務(wù)處理請求。
比如,所述任務(wù)調(diào)度服務(wù)器主要用于對任務(wù)進(jìn)行調(diào)度和分配,可具體的,用戶可以通過客戶端提交任務(wù),以觸發(fā)向任務(wù)調(diào)度服務(wù)器發(fā)送任務(wù)處理請求。
其中,任務(wù)調(diào)度服務(wù)器也可以定時(shí)的調(diào)用預(yù)先計(jì)劃的任務(wù)列表,該任務(wù)列表可以根據(jù)用戶行為數(shù)據(jù)或者用戶自定義所生成。
在步驟S203中,任務(wù)調(diào)度服務(wù)器根據(jù)該任務(wù)處理請求,進(jìn)行視頻預(yù)處理,以確定相應(yīng)的視頻處理任務(wù)。
在步驟S204中,任務(wù)調(diào)度服務(wù)器從存儲(chǔ)服務(wù)器集群中,確定視頻處理任務(wù)相應(yīng)的需要處理的視頻數(shù)據(jù)。
可以理解的是,任務(wù)調(diào)度服務(wù)器接收到任務(wù)處理請求,可認(rèn)為是一次任務(wù)調(diào)度發(fā)起,之后,任務(wù)調(diào)度服務(wù)器會(huì)進(jìn)入一個(gè)視頻數(shù)據(jù)的預(yù)處理過程,比如,對任務(wù)處理請求進(jìn)行分析,確定出相應(yīng)的視頻處理任務(wù),如人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。
進(jìn)一步的,根據(jù)視頻處理任務(wù),從存儲(chǔ)服務(wù)器集群中確定出相應(yīng)的需要處理的視頻數(shù)據(jù),并控制處理服務(wù)器集群中的任務(wù)處理節(jié)點(diǎn)進(jìn)行數(shù)據(jù)下載等等。
在步驟S205中,任務(wù)調(diào)度服務(wù)器根據(jù)預(yù)設(shè)的錄制時(shí)間與處理時(shí)間的關(guān)系映射表,確定處理時(shí)間的平均值。
在步驟S206中,任務(wù)調(diào)度服務(wù)器根據(jù)所述處理時(shí)間的平均值,將相應(yīng)時(shí)長的視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
其中,在任務(wù)調(diào)度服務(wù)器對視頻數(shù)據(jù)進(jìn)行調(diào)度和分發(fā)時(shí),為了讓各個(gè)任務(wù)處理節(jié)點(diǎn)的負(fù)載盡可能接近,避免出現(xiàn)處理量特別大的任務(wù)處理節(jié)點(diǎn)拖慢整個(gè)系統(tǒng)的情況,任務(wù)調(diào)度服務(wù)器可以預(yù)先設(shè)定一任務(wù)分配策略來合理分配需要處理的視頻數(shù)據(jù)。
可具體的,對于門禁的監(jiān)控視頻數(shù)據(jù)來說,雖然每一段視頻(按相等的時(shí)間間隔錄制)的大小相差不多,但是不同時(shí)間段的視頻中人臉的出現(xiàn)頻率相差很大。一般來說,視頻中出現(xiàn)的人臉越多,任務(wù)處理節(jié)點(diǎn)要花費(fèi)的處理時(shí)間就越長,這就導(dǎo)致了處理人臉出現(xiàn)特別多的視頻時(shí)會(huì)帶來更大的負(fù)載。因此,如果簡單地根據(jù)視頻的數(shù)目進(jìn)行分配,很容易產(chǎn)生負(fù)載不均衡的情況。
根據(jù)對用戶的歷史行為數(shù)據(jù)進(jìn)行分析可知,人臉的出現(xiàn)數(shù)目和出現(xiàn)時(shí)間有很大的關(guān)系。例如,早上上班、中午吃飯、晚上下班這些時(shí)間段,人流會(huì)顯著增大,而每個(gè)視頻的記錄文件中也記錄了該視頻的錄制時(shí)間。因此對歷史視頻(如可設(shè)定一個(gè)月、半個(gè)月前)的處理時(shí)間進(jìn)行統(tǒng)計(jì),就能找出哪些時(shí)間段的視頻處理起來比較耗時(shí),本次進(jìn)行視頻數(shù)據(jù)分配時(shí),就能避免將耗時(shí)的視頻都分發(fā)到同一個(gè)任務(wù)處理節(jié)點(diǎn),提高了負(fù)載的均衡性。
也就是說,具體運(yùn)行時(shí),任務(wù)調(diào)度服務(wù)器會(huì)維護(hù)一個(gè)視頻錄制時(shí)間與處理時(shí)間的關(guān)系映射表,在不同的時(shí)間段都能查到對應(yīng)的處理時(shí)間,從而確定處理時(shí)間的平均值。
如,關(guān)系映射表中設(shè)定,時(shí)間段T1對應(yīng)的處理時(shí)間為3分鐘、時(shí)間段T2對應(yīng)的處理時(shí)間為2分鐘、時(shí)間段T3對應(yīng)的處理時(shí)間為1分鐘、時(shí)間段T4對應(yīng)的處理時(shí)間為4分鐘,時(shí)間段T5對應(yīng)的處理時(shí)間為5分鐘,根據(jù)該映射表,可以估計(jì)出對應(yīng)的處理時(shí)間的平均值,如得到50個(gè)視頻的處理時(shí)間的平均值為5分鐘,如果這50個(gè)視頻中有5個(gè)視頻的處理時(shí)間為8分鐘,可以將這5個(gè)視頻分別分配到不同的任務(wù)處理節(jié)點(diǎn)進(jìn)行處理,避免將耗時(shí)的視頻都分發(fā)到同一個(gè)任務(wù)處理節(jié)點(diǎn)。
同時(shí),在任務(wù)處理節(jié)點(diǎn)處理完視頻數(shù)據(jù)后可以記錄下其實(shí)際的處理時(shí)間,并將其更新到該關(guān)系映射表中,從而可以實(shí)時(shí)的更新該關(guān)系映射表,更加符合實(shí)際的需求。
在步驟S207中,任務(wù)處理節(jié)點(diǎn)獲取分發(fā)的相應(yīng)時(shí)長的視頻數(shù)據(jù)。
在步驟S208中,任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口。
在步驟S209中,任務(wù)處理節(jié)點(diǎn)通過預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
所述任務(wù)處理節(jié)點(diǎn)為處理服務(wù)器集群中的處理服務(wù)器,主要用于基于所述任務(wù)調(diào)度服務(wù)器的調(diào)度結(jié)果(如視頻數(shù)據(jù)的分發(fā)結(jié)果),從存儲(chǔ)服務(wù)器集群中下載需要處理的視頻數(shù)據(jù),調(diào)用預(yù)設(shè)的讀寫接口對視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。進(jìn)一步的,在處理后,可以將處理結(jié)果反饋至任務(wù)調(diào)度服務(wù)器。
其中,所述讀寫接口可理解為程序調(diào)用模塊,預(yù)先設(shè)置在各個(gè)任務(wù)處理節(jié)點(diǎn)中,無需限定其相應(yīng)的任務(wù)類型,在任務(wù)調(diào)度服務(wù)器將視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)后,控制各個(gè)任務(wù)處理節(jié)點(diǎn)通過該讀寫接口將不同的任務(wù)進(jìn)行接入,從而可以對視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
比如,任務(wù)調(diào)度服務(wù)器先對接收到的任務(wù)處理請求進(jìn)行分析,從而確定出相應(yīng)的視頻處理任務(wù),例如人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù),并將結(jié)果發(fā)送至任務(wù)處理節(jié)點(diǎn)。
進(jìn)一步的,任務(wù)處理節(jié)點(diǎn)通過特定的讀寫接口,調(diào)用與視頻處理任務(wù)相應(yīng)的任務(wù)處理進(jìn)程,從而各個(gè)任務(wù)處理節(jié)點(diǎn)可以基于相應(yīng)的任務(wù)處理進(jìn)程對視頻數(shù)據(jù)進(jìn)行處理,以完成人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。
需要說明的是,任務(wù)處理節(jié)點(diǎn)本身沒有具體的任務(wù)執(zhí)行內(nèi)容,而是通過一個(gè)讀寫接口,調(diào)用用戶自定義的視頻處理任務(wù)(即任務(wù)處理進(jìn)程)。同時(shí),任務(wù)處理節(jié)點(diǎn)執(zhí)行任務(wù)時(shí)同樣采用分布式的方式,只需要保持客戶端的程序接口和提供的讀寫接口一致,就能靈活地提交客戶端的視頻處理任務(wù),不需要單獨(dú)為某個(gè)任務(wù)改寫集群框架的程序代碼。另外可理解的是,該數(shù)據(jù)處理方法思想也同樣適用于圖像、音頻等數(shù)據(jù),此處不作具體限定。
可以理解的是,本發(fā)明提供的系統(tǒng)可具體應(yīng)用在大規(guī)模的門禁視頻數(shù)據(jù)處理。由于門禁視頻中包含大量的人臉數(shù)據(jù),分析、采集和處理這些人臉數(shù)據(jù),對于高性能人臉檢測、識(shí)別、跟蹤算法的研發(fā)具有十分重要的意義。本發(fā)明系統(tǒng)提供了用戶自定義程序的讀寫接口框架,能夠方便地接入用戶想要的視頻處理程序,不局限于例如人臉檢測這些功能。同時(shí)接入了物聯(lián)平臺(tái)來讀取視頻流,簡化了攝像頭的部署,靈活性高。并且,分布式系統(tǒng)本身的高速處理能力以及可根據(jù)數(shù)據(jù)統(tǒng)計(jì)情況調(diào)整任務(wù)分配策略,大大提高處理效率。
以目前的大規(guī)模門禁視頻數(shù)據(jù)處理平臺(tái)為例,如,基于本發(fā)明方法搭建了分布式文件處理服務(wù)器集群,其中分布式文件系統(tǒng)可以保存50t的數(shù)據(jù),需要處理的視頻數(shù)據(jù)大約是560G/天,需要在一天內(nèi)完成,在目前系統(tǒng)中一天采集到200G左右的數(shù)據(jù)大約需要7個(gè)小時(shí)處理,因此滿足需求。
由上述可知,本發(fā)明實(shí)施例提供了一種針對大規(guī)模視頻數(shù)據(jù)的集群采集、存儲(chǔ)、傳輸和處理的方法。位于各個(gè)位置的攝像頭采集的視頻流,通過物聯(lián)平臺(tái),推流至集群的分布式文件存儲(chǔ)服務(wù)器進(jìn)行存儲(chǔ);接著,集群的分布式文件處理服務(wù)器會(huì)從分布式文件存儲(chǔ)服務(wù)器上定時(shí)或自動(dòng)地獲取視頻流,并且根據(jù)這些視頻數(shù)據(jù)的統(tǒng)計(jì)信息,自動(dòng)的調(diào)整任務(wù)分發(fā)策略,使各個(gè)任務(wù)處理節(jié)點(diǎn)的負(fù)載能夠最大程度均衡;每個(gè)任務(wù)處理節(jié)點(diǎn)本身不執(zhí)行一個(gè)具體的任務(wù),而是留有一個(gè)統(tǒng)一的讀寫接口,用戶可以通過這個(gè)讀寫接口接入相應(yīng)的視頻數(shù)據(jù)處理程序,從而完成如人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。相比于現(xiàn)有的視頻數(shù)據(jù)的集群系統(tǒng),保證任務(wù)的可靠、高效運(yùn)行,具有很強(qiáng)的靈活性,并且,會(huì)結(jié)合數(shù)據(jù)的統(tǒng)計(jì)信息更新任務(wù)分發(fā)策略,讓任務(wù)處理節(jié)點(diǎn)負(fù)載更加均衡,減少短板效應(yīng)。
為便于更好的實(shí)施本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理方法,本發(fā)明實(shí)施例還提供一種基于上述視頻數(shù)據(jù)的處理方法的裝置。其中名詞的含義與上述視頻數(shù)據(jù)的處理的方法中相同,具體實(shí)現(xiàn)細(xì)節(jié)可以參考方法實(shí)施例中的說明。
請參閱圖3a,圖3a為本發(fā)明實(shí)施例提供的視頻數(shù)據(jù)的處理裝置的結(jié)構(gòu)示意圖,本發(fā)明所述視頻數(shù)據(jù)的處理裝置可以包括接收單元301、獲取單元302、分發(fā)單元303以及控制單元304。
其中所述接收單元301,用于接收任務(wù)處理請求,所述任務(wù)處理請求用于對視頻數(shù)據(jù)進(jìn)行處理。
可以理解的是,本發(fā)明提供的視頻數(shù)據(jù)的處理裝置可基于分布式文件系統(tǒng)HDFS執(zhí)行,視頻數(shù)據(jù)的處理裝置接收到用于對視頻數(shù)據(jù)進(jìn)行處理的任務(wù)處理請求,從而觸發(fā)視頻數(shù)據(jù)的處理裝置根據(jù)視頻數(shù)據(jù)進(jìn)行任務(wù)調(diào)度,并控制各個(gè)任務(wù)處理節(jié)點(diǎn)處理相應(yīng)的任務(wù)。
可選的,接收單元301接收任務(wù)處理請求的方式有很多,比如,在一種可能的實(shí)施方式中,所述接收單元301可以用于接收用戶觸發(fā)輸入的任務(wù)處理請求。
又比如,在另一種可能的實(shí)施方式中,所述接收單元301可以用于按照預(yù)設(shè)時(shí)間間隔獲取任務(wù)列表,并將所述任務(wù)列表作為任務(wù)處理請求。
也就是說,該任務(wù)處理請求可以由用戶進(jìn)行觸發(fā)以及提交,或者可以定時(shí)地啟動(dòng)預(yù)先計(jì)劃的任務(wù)列表,其中所述任務(wù)列表可以根據(jù)用戶行為數(shù)據(jù)或者用戶自定義所生成,此處不作具體限定。
獲取單元302,用于根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù)。
比如,獲取單元302可以根據(jù)所述任務(wù)處理請求,從分布式文件存儲(chǔ)服務(wù)器集群中獲取需要處理的視頻數(shù)據(jù)。其中,該視頻數(shù)據(jù)的處理裝置與所述分布式文件存儲(chǔ)服務(wù)器集群處于同一視頻數(shù)據(jù)的集群系統(tǒng)中。
分發(fā)單元303,用于基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);控制單元304,用于控制所述任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
可以理解的是,為了讓各個(gè)任務(wù)處理節(jié)點(diǎn)的負(fù)載盡可能接近,避免出現(xiàn)處理量特別大的任務(wù)處理節(jié)點(diǎn)拖慢整個(gè)系統(tǒng)的情況,視頻數(shù)據(jù)的處理裝置可以設(shè)定一任務(wù)分配策略來合理分配需要處理的視頻數(shù)據(jù)。
其中,所述讀寫接口又可理解為程序調(diào)用模塊,預(yù)先設(shè)置在各個(gè)任務(wù)處理節(jié)點(diǎn)中,無需限定其相應(yīng)的任務(wù)類型,在視頻數(shù)據(jù)的處理裝置將視頻數(shù)據(jù)分發(fā)到各任務(wù)處理節(jié)點(diǎn)后,控制各任務(wù)處理節(jié)點(diǎn)通過該讀寫接口將不同的任務(wù)進(jìn)行接入,從而可以對視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
可一并參考圖3b,為視頻數(shù)據(jù)的處理裝置的另一結(jié)構(gòu)示意圖;可具體的,所述獲取單元302可以包括:
任務(wù)確定子單元3021,用于根據(jù)預(yù)設(shè)的視頻處理任務(wù)信息,確定與所述任務(wù)處理請求相應(yīng)的視頻處理任務(wù)。
提取子單元3022,用于從分布式文件存儲(chǔ)服務(wù)器集群中提取所述視頻處理任務(wù)相應(yīng)的視頻數(shù)據(jù)。
數(shù)據(jù)確定子單元3023,用于將提取的所述視頻數(shù)據(jù)確定為需要處理的視頻數(shù)據(jù)。
也就是說,視頻數(shù)據(jù)的處理裝置可預(yù)先對視頻處理任務(wù)信息進(jìn)行存儲(chǔ),即對任務(wù)處理節(jié)點(diǎn)需要執(zhí)行的任務(wù)進(jìn)行設(shè)定,例如人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。
比如,任務(wù)確定子單元3021先對接收到的任務(wù)處理請求進(jìn)行分析,然后基于分析結(jié)果以及視頻處理任務(wù)信息,確定出相應(yīng)的視頻處理任務(wù);其后,提取子單元3022從分布式文件存儲(chǔ)服務(wù)器集群中提取所述視頻處理任務(wù)相應(yīng)的視頻數(shù)據(jù),數(shù)據(jù)確定子單元3023將這些數(shù)據(jù)作為當(dāng)前需要處理的視頻數(shù)據(jù)。
可選的,視頻數(shù)據(jù)的處理裝置可以設(shè)定一任務(wù)分配策略來合理分配需要處理的視頻數(shù)據(jù),如,所述分發(fā)單元303可以包括:
時(shí)間確定子單元3031,用于根據(jù)所述視頻數(shù)據(jù),確定相應(yīng)的錄制時(shí)間信息。
獲取子單元3032,用于獲取預(yù)設(shè)的錄制時(shí)間與處理時(shí)間的關(guān)系映射表。
分發(fā)子單元3033,用于基于所述關(guān)系映射表與所述錄制時(shí)間信息,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
比如,可具體的,對于門禁的監(jiān)控視頻數(shù)據(jù)來說,雖然每一段視頻(按相等的時(shí)間間隔錄制)的大小相差不多,但是不同時(shí)間段的視頻中人臉的出現(xiàn)頻率相差很大。一般來說,視頻中出現(xiàn)的人臉越多,任務(wù)處理節(jié)點(diǎn)要花費(fèi)的處理時(shí)間就越長,這就導(dǎo)致了處理人臉出現(xiàn)特別多的視頻時(shí)會(huì)帶來更大的負(fù)載。因此,如果簡單地根據(jù)視頻的數(shù)目進(jìn)行分配,很容易產(chǎn)生負(fù)載不均衡的情況。
基于此,本實(shí)施例中視頻數(shù)據(jù)的處理裝置可以先根據(jù)歷史的行為數(shù)據(jù),如視頻的錄制時(shí)間以及相應(yīng)的處理時(shí)間的相關(guān)數(shù)據(jù),預(yù)先建立一關(guān)系映射表,并根據(jù)該關(guān)系映射表以及錄制時(shí)間信息,將需要處理的視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
進(jìn)一步的,所述分發(fā)子單元3033可以具體用于,基于所述關(guān)系映射表與所述錄制時(shí)間信息,計(jì)算相應(yīng)的處理時(shí)間;根據(jù)任務(wù)處理節(jié)點(diǎn)的數(shù)目以及所述處理時(shí)間,確定處理時(shí)間的平均值;根據(jù)所述處理時(shí)間的平均值,將相應(yīng)時(shí)長的視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
也就是說,具體運(yùn)行時(shí),視頻數(shù)據(jù)的處理裝置會(huì)維護(hù)一個(gè)視頻錄制時(shí)間與處理時(shí)間的關(guān)系映射表,根據(jù)不同的時(shí)間段查詢對應(yīng)的處理時(shí)間,確定處理時(shí)間的平均值,即平均每個(gè)任務(wù)處理節(jié)點(diǎn)需要處理的時(shí)間,從而將相應(yīng)時(shí)長的視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)進(jìn)行處理。
可選的,無論對于新增加的視頻(如關(guān)系映射表無對應(yīng)錄制時(shí)間的視頻)還是原有的視頻,視頻數(shù)據(jù)的處理裝置均可以在任務(wù)處理節(jié)點(diǎn)處理完這個(gè)視頻數(shù)據(jù)后記錄下其實(shí)際的處理時(shí)間,并將其更新到該關(guān)系映射表中,從而可以實(shí)時(shí)的更新該關(guān)系映射表,更加符合實(shí)際的需求。
可以理解的是,所述視頻數(shù)據(jù)的處理裝置、分布式文件存儲(chǔ)服務(wù)器集群以及所述任務(wù)處理節(jié)點(diǎn)均處于同一視頻數(shù)據(jù)的集群系統(tǒng)中,其中所述任務(wù)處理節(jié)點(diǎn)組成分布式文件處理服務(wù)器集群,所述分布式文件處理服務(wù)器集群中的每一個(gè)處理服務(wù)器可作為一個(gè)任務(wù)處理節(jié)點(diǎn)。
可選的,所述控制單元304,可以具體用于根據(jù)預(yù)設(shè)的視頻處理任務(wù)信息,確定與所述任務(wù)處理請求相應(yīng)的視頻處理任務(wù);控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口,調(diào)用與所述視頻處理任務(wù)相應(yīng)的任務(wù)處理進(jìn)程;控制所述任務(wù)處理節(jié)點(diǎn)基于所述任務(wù)處理進(jìn)程對所述視頻數(shù)據(jù)進(jìn)行處理。
也就是說,視頻數(shù)據(jù)的處理裝置先對接收到的任務(wù)處理請求進(jìn)行分析,然后基于分析結(jié)果以及視頻處理任務(wù)信息,確定出相應(yīng)的視頻處理任務(wù),例如人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。
進(jìn)一步的,視頻數(shù)據(jù)的處理裝置確定出任務(wù)處理請求相應(yīng)的視頻處理任務(wù)后,控制任務(wù)處理節(jié)點(diǎn)通過特定的讀寫接口,調(diào)用與視頻處理任務(wù)相應(yīng)的任務(wù)處理進(jìn)程,從而各個(gè)任務(wù)處理節(jié)點(diǎn)可以基于相應(yīng)的任務(wù)處理進(jìn)程對視頻數(shù)據(jù)進(jìn)行處理,以完成人臉檢測、人臉跟蹤、行為識(shí)別等多種任務(wù)。
需要說明的是,視頻數(shù)據(jù)的處理裝置本身沒有具體的任務(wù)執(zhí)行內(nèi)容,而是通過一個(gè)讀寫接口,調(diào)用用戶自定義的視頻處理任務(wù)。同時(shí),任務(wù)處理節(jié)點(diǎn)執(zhí)行任務(wù)時(shí)同樣采用分布式的方式,只需要保持客戶端的程序接口和提供的讀寫接口一致,就能靈活地提交客戶端的視頻處理任務(wù),不需要單獨(dú)為某個(gè)任務(wù)改寫集群框架的程序代碼。另外可理解的是,該數(shù)據(jù)處理方法思想也同樣適用于圖像、音頻等數(shù)據(jù),此處不作具體限定。
具體實(shí)施時(shí),以上各個(gè)單元可以作為獨(dú)立的實(shí)體來實(shí)現(xiàn),也可以進(jìn)行任意組合,作為同一或若干個(gè)實(shí)體來實(shí)現(xiàn),以上各個(gè)單元的具體實(shí)施可參見前面的方法實(shí)施例,在此不再贅述。
該視頻數(shù)據(jù)的處理裝置具體可以集成在服務(wù)器或網(wǎng)關(guān)等網(wǎng)絡(luò)設(shè)備中。
由上述可知,本實(shí)施例提供的視頻數(shù)據(jù)的處理裝置,首先接收任務(wù)處理請求,并根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);然后基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);控制任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理;即本實(shí)施例一方面先通過任務(wù)分配策略將視頻數(shù)據(jù)進(jìn)行合理分發(fā),另一方面沒有限定任務(wù)的類型,而是提供特定的讀寫接口將不同的任務(wù)進(jìn)行接入及處理,相對于只能完成單一的視頻數(shù)據(jù)處理的方式,大大提高視頻數(shù)據(jù)處理的靈活性以及效率,且高效利用資源。
相應(yīng)的,本發(fā)明實(shí)施例還提供一種視頻數(shù)據(jù)的處理系統(tǒng),可參考圖2a所示,包括本發(fā)明實(shí)施例所提供的任一種視頻數(shù)據(jù)的處理裝置,具體可參見上述實(shí)施例;其中,該視頻數(shù)據(jù)的處理裝置可以集成在服務(wù)器,如任務(wù)調(diào)度服務(wù)器等網(wǎng)絡(luò)設(shè)備中,例如,具體可以如下:
任務(wù)調(diào)度服務(wù)器,用于接收任務(wù)處理請求,所述任務(wù)處理請求用于對視頻數(shù)據(jù)進(jìn)行處理;根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);控制所述任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
此外,該視頻數(shù)據(jù)的處理系統(tǒng)還可以包括其他的設(shè)備,比如存儲(chǔ)服務(wù)器集群(又稱分布式存儲(chǔ)服務(wù)器集群)、處理服務(wù)器集群(又稱分布式處理服務(wù)器集群),如下:
存儲(chǔ)服務(wù)器集群,用于接收物聯(lián)平臺(tái)發(fā)送的視頻數(shù)據(jù),并存儲(chǔ)所述視頻數(shù)據(jù);
處理服務(wù)器集群,從存儲(chǔ)服務(wù)器集群中獲取需要處理的視頻數(shù)據(jù),并基于任務(wù)調(diào)度服務(wù)器的調(diào)度結(jié)果,調(diào)用預(yù)設(shè)的讀寫接口對視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
以上各個(gè)設(shè)備的具體實(shí)施可參見前面的實(shí)施例,在此不再贅述。
由于該視頻數(shù)據(jù)的處理系統(tǒng)可以包括本發(fā)明實(shí)施例所提供的任一種視頻數(shù)據(jù)的處理裝置,因此,可以實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的任一種視頻數(shù)據(jù)的處理裝置所能實(shí)現(xiàn)的有益效果,具體可參見前面的實(shí)施例,在此不再贅述。
本發(fā)明實(shí)施例還提供一種服務(wù)器,其中可以集成本發(fā)明實(shí)施例的視頻數(shù)據(jù)的處理裝置,如圖4所示,其示出了本發(fā)明實(shí)施例所涉及的服務(wù)器的結(jié)構(gòu)示意圖,具體來講:
該服務(wù)器可以包括一個(gè)或者一個(gè)以上處理核心的處理器401、一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的存儲(chǔ)器402、射頻(Radio Frequency,RF)電路403、電源404、輸入單元405、以及顯示單元406等部件。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的服務(wù)器結(jié)構(gòu)并不構(gòu)成對服務(wù)器的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
處理器401是該服務(wù)器的控制中心,利用各種接口和線路連接整個(gè)服務(wù)器的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器402內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器402內(nèi)的數(shù)據(jù),執(zhí)行服務(wù)器的各種功能和處理數(shù)據(jù),從而對服務(wù)器進(jìn)行整體監(jiān)控。可選的,處理器401可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器401可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器401中。
存儲(chǔ)器402可用于存儲(chǔ)軟件程序以及模塊,處理器401通過運(yùn)行存儲(chǔ)在存儲(chǔ)器402的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲(chǔ)器402可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)服務(wù)器的使用所創(chuàng)建的數(shù)據(jù)等。此外,存儲(chǔ)器402可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。相應(yīng)地,存儲(chǔ)器402還可以包括存儲(chǔ)器控制器,以提供處理器401對存儲(chǔ)器402的訪問。
RF電路403可用于收發(fā)信息過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個(gè)或者一個(gè)以上處理器401處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路403包括但不限于天線、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、用戶身份模塊(SIM)卡、收發(fā)信機(jī)、耦合器、低噪聲放大器(LNA,Low Noise Amplifier)、雙工器等。此外,RF電路403還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于全球移動(dòng)通訊系統(tǒng)(GSM,Global System of Mobile communication)、通用分組無線服務(wù)(GPRS,General Packet Radio Service)、碼分多址(CDMA,Code Division Multiple Access)、寬帶碼分多址(WCDMA,Wideband Code Division Multiple Access)、長期演進(jìn)(LTE,Long Term Evolution)、電子郵件、短消息服務(wù)(SMS,Short Messaging Service)等。
服務(wù)器還包括給各個(gè)部件供電的電源404(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器401邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。電源404還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
該服務(wù)器還可包括輸入單元405,該輸入單元405可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號輸入。
該服務(wù)器還可包括顯示單元406,該顯示單元406可用于顯示由用戶輸入的信息或提供給用戶的信息以及服務(wù)器的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來構(gòu)成。顯示單元406可包括顯示面板,可選的,可以采用液晶顯示器(LCD,Liquid Crystal Display)、有機(jī)發(fā)光二極管(OLED,Organic Light-Emitting Diode)等形式來配置顯示面板。
具體在本實(shí)施例中,服務(wù)器中的處理器401會(huì)按照如下的指令,將一個(gè)或一個(gè)以上的應(yīng)用程序的進(jìn)程對應(yīng)的可執(zhí)行文件加載到存儲(chǔ)器402中,并由處理器401來運(yùn)行存儲(chǔ)在存儲(chǔ)器402中的應(yīng)用程序,從而實(shí)現(xiàn)各種功能,如下:
接收任務(wù)處理請求,所述任務(wù)處理請求用于對視頻數(shù)據(jù)進(jìn)行處理;根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);控制所述任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理。
優(yōu)選的,所述處理器401還可以用于,接收用戶觸發(fā)輸入的任務(wù)處理請求;或者,按照預(yù)設(shè)時(shí)間間隔獲取任務(wù)列表,并將所述任務(wù)列表作為任務(wù)處理請求。
優(yōu)選的,所述處理器401還可以用于,根據(jù)所述任務(wù)處理請求,從分布式文件存儲(chǔ)服務(wù)器集群中獲取需要處理的視頻數(shù)據(jù)。
優(yōu)選的,所述處理器401還可以用于,根據(jù)預(yù)設(shè)的視頻處理任務(wù)信息,確定與所述任務(wù)處理請求相應(yīng)的視頻處理任務(wù);從分布式文件存儲(chǔ)服務(wù)器集群中提取所述視頻處理任務(wù)相應(yīng)的視頻數(shù)據(jù);將提取的所述視頻數(shù)據(jù)確定為需要處理的視頻數(shù)據(jù)。
優(yōu)選的,所述處理器401還可以用于,根據(jù)所述視頻數(shù)據(jù),確定相應(yīng)的錄制時(shí)間信息;獲取預(yù)設(shè)的錄制時(shí)間與處理時(shí)間的關(guān)系映射表;基于所述關(guān)系映射表與所述錄制時(shí)間信息,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
優(yōu)選的,所述處理器401還可以用于,基于所述關(guān)系映射表與所述錄制時(shí)間信息,計(jì)算相應(yīng)的處理時(shí)間;根據(jù)任務(wù)處理節(jié)點(diǎn)的數(shù)目以及所述處理時(shí)間,確定處理時(shí)間的平均值;根據(jù)所述處理時(shí)間的平均值,將相應(yīng)時(shí)長的視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn)。
優(yōu)選的,所述處理器401還可以用于,根據(jù)預(yù)設(shè)的視頻處理任務(wù)信息,確定與所述任務(wù)處理請求相應(yīng)的視頻處理任務(wù);控制所述任務(wù)處理節(jié)點(diǎn)通過所述預(yù)設(shè)的讀寫接口,調(diào)用與所述視頻處理任務(wù)相應(yīng)的任務(wù)處理進(jìn)程;控制所述任務(wù)處理節(jié)點(diǎn)基于所述任務(wù)處理進(jìn)程對所述視頻數(shù)據(jù)進(jìn)行處理。
由上述可知,本實(shí)施例提供的服務(wù)器中,首先接收任務(wù)處理請求,并根據(jù)所述任務(wù)處理請求,獲取需要處理的視頻數(shù)據(jù);然后基于預(yù)設(shè)的任務(wù)分配策略,將所述視頻數(shù)據(jù)分發(fā)到各個(gè)任務(wù)處理節(jié)點(diǎn);控制任務(wù)處理節(jié)點(diǎn)調(diào)用預(yù)設(shè)的讀寫接口,并通過所述預(yù)設(shè)的讀寫接口對所述視頻數(shù)據(jù)進(jìn)行相應(yīng)處理;即本實(shí)施例一方面先通過任務(wù)分配策略將視頻數(shù)據(jù)進(jìn)行合理分發(fā),另一方面沒有限定任務(wù)的類型,而是提供特定的讀寫接口將不同的任務(wù)進(jìn)行接入及處理,相對于只能完成單一的視頻數(shù)據(jù)處理的方式,大大提高視頻數(shù)據(jù)處理的靈活性以及效率,且高效利用資源。
在上述實(shí)施例中,對各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒有詳述的部分,可以參見上文針對視頻數(shù)據(jù)的處理方法的詳細(xì)描述,此處不再贅述。
本發(fā)明實(shí)施例提供的所述視頻數(shù)據(jù)的處理裝置,譬如為計(jì)算機(jī)、平板電腦、具有觸摸功能的手機(jī)等等,所述視頻數(shù)據(jù)的處理裝置與上文實(shí)施例中的視頻數(shù)據(jù)的處理方法屬于同一構(gòu)思,在所述視頻數(shù)據(jù)的處理裝置上可以運(yùn)行所述視頻數(shù)據(jù)的處理方法實(shí)施例中提供的任一方法,其具體實(shí)現(xiàn)過程詳見所述視頻數(shù)據(jù)的處理方法實(shí)施例,此處不再贅述。
需要說明的是,對本發(fā)明所述視頻數(shù)據(jù)的處理方法而言,本領(lǐng)域普通測試人員可以理解實(shí)現(xiàn)本發(fā)明實(shí)施例所述視頻數(shù)據(jù)的處理方法的全部或部分流程,是可以通過計(jì)算機(jī)程序來控制相關(guān)的硬件來完成,所述計(jì)算機(jī)程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,如存儲(chǔ)在終端的存儲(chǔ)器中,并被該終端內(nèi)的至少一個(gè)處理器執(zhí)行,在執(zhí)行過程中可包括如所述視頻數(shù)據(jù)的處理方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)器(ROM,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)等。
對本發(fā)明實(shí)施例的所述視頻數(shù)據(jù)的處理裝置而言,其各功能模塊可以集成在一個(gè)處理芯片中,也可以是各個(gè)模塊單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上模塊集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,所述存儲(chǔ)介質(zhì)譬如為只讀存儲(chǔ)器,磁盤或光盤等。
以上對本發(fā)明實(shí)施例所提供的一種視頻數(shù)據(jù)的處理方法、裝置及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。