基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及智能視頻監(jiān)控技術(shù)領(lǐng)域,特別涉及一種基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)方法及系統(tǒng)。
【背景技術(shù)】
[0002]近年來(lái)由于智慧城市和公共安全需求的日益增長(zhǎng),采用人工的視頻監(jiān)控方式已經(jīng)遠(yuǎn)遠(yuǎn)不能滿足需要,因此智能視頻監(jiān)控技術(shù)應(yīng)運(yùn)而生并迅速成為一個(gè)研究熱點(diǎn)。單機(jī)硬件的發(fā)展在摩爾定理的破滅之后,單機(jī)服務(wù)器再也無(wú)法承擔(dān)越來(lái)越沉重的資源負(fù)擔(dān),無(wú)法應(yīng)對(duì)當(dāng)今智能視頻監(jiān)控系統(tǒng)的海量視頻服務(wù)的請(qǐng)求需求。在分布式計(jì)算以及其他相關(guān)技術(shù)的不斷發(fā)展之下,云計(jì)算應(yīng)運(yùn)而生,推動(dòng)了視頻監(jiān)控領(lǐng)域的發(fā)展,形成了一種視頻監(jiān)控即服務(wù)(VSaaS)的全新的云計(jì)算模式,即視頻監(jiān)控云。由于視頻監(jiān)控云服務(wù)平臺(tái)將分散的異構(gòu)資源整合,為海量的視頻服務(wù)按需提供彈性資源配置,增加了管理的靈活性,降低了維護(hù)成本,同時(shí),視頻監(jiān)控云服務(wù)平臺(tái)的容錯(cuò)和故障恢復(fù)技術(shù),為視頻服務(wù)運(yùn)行提供了更強(qiáng)的安全與可靠性,因此,視頻監(jiān)控云成為智能監(jiān)控系統(tǒng)設(shè)計(jì)的最新選擇。然而,當(dāng)前主流的視頻監(jiān)控云平臺(tái)主要基于虛擬機(jī)實(shí)現(xiàn)資源的抽象,計(jì)算性能損耗和資源利用率低成為了視頻監(jiān)控云服務(wù)平臺(tái)的主要問(wèn)題。
[0003]如圖1所示,圖1為現(xiàn)有技術(shù)中的一種視頻云服務(wù)平臺(tái)系統(tǒng)架構(gòu),該視頻云服務(wù)平臺(tái)系統(tǒng)中,包括視頻監(jiān)控平臺(tái)VS、智能視頻分析任務(wù)管理服務(wù)器IVM、資源管理器和多臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器。
[0004]該系統(tǒng)實(shí)現(xiàn)視頻監(jiān)控云服務(wù)的方法,通常包括步驟:
[0005]S1、IVM接收用戶通過(guò)VS下發(fā)的視頻服務(wù)任務(wù)和該任務(wù)的相關(guān)參數(shù);其中,任務(wù)的相關(guān)參數(shù),是視頻服務(wù)所需要的必要參數(shù),針對(duì)不同視頻服務(wù),參數(shù)不同。例如,在線流媒體轉(zhuǎn)發(fā)服務(wù),需要提供視頻地址;離線的視頻濃縮服務(wù)需要提供視頻文件路徑、感興趣域等;視頻格式轉(zhuǎn)換服務(wù),需要提供視頻文件路徑以及需要轉(zhuǎn)化的格式等。
[0006]S2、IVM根據(jù)視頻服務(wù)任務(wù)生成資源需求,IVM通過(guò)與所有的虛擬智能視頻處理單元V-1VU進(jìn)行通信,獲取每個(gè)V-1VU的處理能力、部署算法種類和資源使用情況等信息,若V-1VU沒(méi)有滿載,則利用調(diào)度方法選出最優(yōu)的滿足視頻服務(wù)任務(wù)資源需求的V-1VU,利用選出V-1VU根據(jù)任務(wù)的相關(guān)參數(shù)執(zhí)行相應(yīng)的視頻服務(wù)任務(wù);若所有V-1VU均已滿載,則IVM向資源管理器申請(qǐng)新的虛擬機(jī),繼續(xù)執(zhí)行步驟S21-S23。
[0007]S21、資源管理器從多臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器中選擇一臺(tái)滿足資源需求的計(jì)算節(jié)點(diǎn)服務(wù)器作為所述虛擬機(jī)的宿主機(jī),并為所述虛擬機(jī)分配資源;
[0008]另外,資源管理器包括一個(gè)Master節(jié)點(diǎn)。所有的計(jì)算節(jié)點(diǎn)服務(wù)器作為Slave節(jié)點(diǎn),Slave節(jié)點(diǎn)運(yùn)行agent服務(wù),Master節(jié)點(diǎn)負(fù)責(zé)收集每一個(gè)管理器Slave節(jié)點(diǎn)的資源信息,并為視頻服務(wù)任務(wù)調(diào)度合適的Slave節(jié)點(diǎn)作為宿主機(jī),運(yùn)行在Slave節(jié)點(diǎn)的agent服務(wù)負(fù)責(zé)收集每臺(tái)相應(yīng)的計(jì)算節(jié)點(diǎn)服務(wù)器的資源信息,并向Master上報(bào)其所管理的計(jì)算節(jié)點(diǎn)服務(wù)器的信息,其中,包括該計(jì)算節(jié)點(diǎn)服務(wù)器的資源信息。
[0009]S22、所述宿主機(jī)獲取視頻服務(wù)任務(wù)對(duì)應(yīng)的視頻服務(wù)鏡像,基于該鏡像生成新的V-1VU ;
[0010]S23、所述視頻服務(wù)利用新生成的V-1VU根據(jù)任務(wù)相關(guān)參數(shù)執(zhí)行相應(yīng)的視頻服務(wù)任務(wù)。
[0011]上述實(shí)現(xiàn)方法中,由于虛擬機(jī)的硬件資源是通過(guò)Hypervisor虛擬的,需要經(jīng)過(guò)多級(jí)中間層轉(zhuǎn)化為對(duì)實(shí)際物理資源的使用,對(duì)計(jì)算性能造成較大的損耗;一臺(tái)物理機(jī)能虛擬若干虛擬機(jī),但虛擬機(jī)本身需要額外資源開(kāi)銷造成資源浪費(fèi),并且虛擬機(jī)的管理粒度過(guò)大,即虛擬機(jī)分配時(shí)要求的資源粒度大,比如cpu至少I(mǎi)核,內(nèi)存至少512mb,因此,容易造成過(guò)多的資源碎片,從而降低了資源利用率。
【發(fā)明內(nèi)容】
[0012]本發(fā)明實(shí)施例的目的在于提供一種基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)方法及系統(tǒng),以減少計(jì)算性能損耗、提高資源利用率。
[0013]為達(dá)到上述目的,本發(fā)明實(shí)施例公開(kāi)了一種基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)方法及系統(tǒng)。技術(shù)方案如下:
[0014]第一方面,一種基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)方法,應(yīng)用于基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)系統(tǒng),所述云服務(wù)的平臺(tái)實(shí)現(xiàn)系統(tǒng)包括視頻監(jiān)控平臺(tái)VS、智能視頻分析任務(wù)管理服務(wù)器IVM、資源管理器和多臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器;每臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器均部署有容器引擎;
[0015]所述方法包括:
[0016]所述IVM接收用戶通過(guò)所述VS下發(fā)的視頻服務(wù)任務(wù)和該任務(wù)的相關(guān)參數(shù);
[0017]所述IVM根據(jù)所述視頻服務(wù)任務(wù)生成資源需求并根據(jù)資源需求向資源管理器申請(qǐng)資源;
[0018]資源管理器從多臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器中選擇一臺(tái)能夠滿足資源需求的計(jì)算節(jié)點(diǎn)服務(wù)器作為所述視頻服務(wù)任務(wù)的宿主機(jī),將分配的資源和相關(guān)參數(shù)發(fā)送給該宿主機(jī),該宿主機(jī)為所述視頻服務(wù)任務(wù)分配資源;
[0019]所述宿主機(jī)中的容器引擎,獲取所述視頻服務(wù)任務(wù)對(duì)應(yīng)的視頻服務(wù)鏡像,并基于所述視頻服務(wù)鏡像創(chuàng)建容器化智能視頻處理單元C-1VU,所述C-1VU運(yùn)行視頻服務(wù)并根據(jù)所述視頻服務(wù)任務(wù)的相關(guān)參數(shù)執(zhí)行所述視頻服務(wù)任務(wù)。
[0020]進(jìn)一步地,所述基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)系統(tǒng)還包括視頻服務(wù)鏡像倉(cāng)庫(kù);
[0021]所述宿主機(jī)中的容器引擎,獲取所述視頻服務(wù)任務(wù)對(duì)應(yīng)的視頻服務(wù)鏡像;具體包括:
[0022]所述宿主機(jī)中的容器引擎判斷所述宿主機(jī)是否存在所述視頻服務(wù)鏡像,若存在,則所述宿主機(jī)中的容器引擎從所述宿主機(jī)獲得所述視頻服務(wù)鏡像;若不存在,則所述宿主機(jī)的容器引擎從視頻服務(wù)鏡像倉(cāng)庫(kù)拉取所述視頻服務(wù)鏡像。
[0023]進(jìn)一步地,所述資源管理器從多臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器中選擇一臺(tái)能夠滿足資源需求的計(jì)算節(jié)點(diǎn)服務(wù)器作為所述視頻服務(wù)任務(wù)的宿主機(jī),包括:
[0024]所述資源管理器根據(jù)預(yù)設(shè)調(diào)度策略從多臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器中選擇一臺(tái)能夠滿足資源需求的節(jié)點(diǎn)作為所述視頻服務(wù)任務(wù)的宿主機(jī);其中,所述預(yù)設(shè)調(diào)度策略為負(fù)載均衡調(diào)度算法、單機(jī)資源利用最大化算法和隨機(jī)調(diào)度算法中的任一種。
[0025]進(jìn)一步地,所述方法還包括:每個(gè)宿主機(jī)均設(shè)有標(biāo)識(shí)編號(hào),所述C-1VU在創(chuàng)建時(shí)生成字符串標(biāo)識(shí)ID;
[0026]所述IVM接收用戶通過(guò)所述VS下發(fā)取消當(dāng)前運(yùn)行的預(yù)定視頻服務(wù)的任務(wù);
[0027]所述IVM根據(jù)取消當(dāng)前運(yùn)行的預(yù)定視頻服務(wù)的任務(wù),獲取運(yùn)行所述預(yù)定視頻服務(wù)的C-1VU的字符串標(biāo)識(shí)ID,以及該C-1VU所在宿主機(jī)的標(biāo)識(shí)編號(hào);
[0028]所述IVM將獲取的字符串標(biāo)識(shí)ID發(fā)送至與所述獲取的宿主機(jī)標(biāo)識(shí)編號(hào)對(duì)應(yīng)的宿主機(jī)的容器引擎,并通知其銷毀當(dāng)前運(yùn)行的預(yù)定視頻服務(wù)的C-1VU;
[0029]所述獲取的宿主機(jī)標(biāo)識(shí)編號(hào)對(duì)應(yīng)的宿主機(jī)的容器引擎銷毀當(dāng)前運(yùn)行的預(yù)定視頻服務(wù)的C-1VU并釋放資源。
[0030]進(jìn)一步地,所述基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)系統(tǒng)還包括代碼倉(cāng)庫(kù);
[0031]所述方法還包括:
[0032]開(kāi)發(fā)者從所述代碼倉(cāng)庫(kù)中拉取視頻源代碼至本地,并在本地對(duì)所述視頻源代碼進(jìn)行修改,并推送修改后的視頻源代碼到所述代碼倉(cāng)庫(kù);
[0033]所述代碼倉(cāng)庫(kù)基于更新后的視頻源代碼自動(dòng)觸發(fā)構(gòu)建對(duì)應(yīng)該視頻源代碼的新的視頻服務(wù)鏡像;
[0034]所述代碼倉(cāng)庫(kù)上傳所述新的視頻服務(wù)鏡像至所述視頻服務(wù)鏡像倉(cāng)庫(kù)。
[0035]第二方面,一種基于容器技術(shù)的視頻監(jiān)控云服務(wù)的平臺(tái)實(shí)現(xiàn)系統(tǒng),包括視頻監(jiān)控平臺(tái)VS、智能視頻分析任務(wù)管理服務(wù)器IVM、資源管理器和多臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器;
[0036]每臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器中均部署有容器引擎;
[0037]所述IVM接收用戶通過(guò)所述VS下發(fā)的視頻服務(wù)任務(wù)和該任務(wù)的相關(guān)參數(shù);所述IVM根據(jù)所述視頻服務(wù)任務(wù)生成資源需求并根據(jù)資源需求向資源管理器申請(qǐng)資源;
[0038]資源管理器從多臺(tái)計(jì)算節(jié)點(diǎn)服務(wù)器中選擇一臺(tái)能夠滿足資源需求的計(jì)算節(jié)點(diǎn)服務(wù)器作為所述視頻服務(wù)任務(wù)的宿主機(jī),將分配的資源和相關(guān)參數(shù)發(fā)送給該宿主機(jī),該宿主機(jī)為所述視頻服務(wù)任務(wù)分配資源;
[0039]所述宿主機(jī)中的容器引擎,獲取所述視頻服務(wù)任務(wù)對(duì)應(yīng)的視頻服務(wù)鏡像,基于所述鏡像創(chuàng)建容器化智能視頻處理單元C-1VU,所述C-1VU運(yùn)行視頻服務(wù)并根據(jù)所述視頻服務(wù)任務(wù)的相關(guān)參數(shù)執(zhí)行所述視頻服務(wù)任務(wù)。
[0040]進(jìn)一步地,所述系統(tǒng)還包括視頻服務(wù)鏡像倉(cāng)庫(kù),其特征在于,所述視頻服務(wù)鏡像倉(cāng)庫(kù),用于存儲(chǔ)視頻服務(wù)鏡像;
[0041 ]所述宿主機(jī)中的容器引擎,用于獲取所述視頻服務(wù)任務(wù)對(duì)應(yīng)的視頻服務(wù)鏡像;具體包括:
[0042]所述宿主機(jī)中的容器引擎判斷所述宿主機(jī)是否存在所述視頻服務(wù)鏡像,若存在,則所述宿主機(jī)中的容器引擎從所述宿主機(jī)獲得所述視頻服務(wù)鏡像;若不存在,則所述宿主機(jī)的容器引擎從視頻服務(wù)鏡像倉(cāng)庫(kù)拉取所述視頻服務(wù)鏡像。