新四季網

主從結構分布式視頻處理系統及其調度方法

2023-05-27 10:16:16 3

專利名稱:主從結構分布式視頻處理系統及其調度方法
技術領域:
本發明涉及視頻處理領域,特別涉及一種視頻分布式處理資源調度技木。
背景技術:
現有的智能視頻分析很少使用分布式計算,究其原因,主要是因為相關項目的應用場景規模較小,不需要使用大規模分布式計算的方案。然而,隨著視頻監控、公共安全等行業的興起,世界各地平安城市和重大活動安保工作的開展,大規模智能視頻監控的應用已經越來越廣泛,分布式計算或雲計算與安防行業的結合必將是大勢所趨。目前的分布式智能視頻分析方案主要分為前端分析和後端分析兩種。目前採用前端分析的方案有ー個缺點,前端設備一般是智能攝像機、數字視頻伺服器、數字硬碟錄像機或者其他特殊化的設備,往往只能處理某ー類的智能視頻分析問題,導致所處理的業務類 型単一和系統的通用性較弱。採用後端分析的方法往往是部署一個PC機或伺服器的集群,從前端設備取流、解碼後再做智能視頻分析,該方法相比前端分析的方法而言,軟體或算法升級簡單,業務通用性較強。在視頻監控領域,許多廠商推出了後端智能視頻分析設備或方案,例如各種智能視頻分析儀和視頻智能信息檢索伺服器。問題在幹,這些設備在處理數據的類型及其數據的處理類型上較為單一。例如上述智能視頻分析儀往往只能處理前端實時採集的數據,而對錄像文件的檢索只能由檢索伺服器來完成。本發明的發明人發現,這樣的系統具有如下缺點1)子系統類型較多,導致整體系統複雜度更高;2)子系統通用性不強;3)整體系統高可用性較低,例如,假設ー個系統由上述分析儀和檢索伺服器組成,若系統中的分析儀異常而檢索伺服器正常工作,則系統喪失了處理實時數據的能力。本發明的發明人還發現,中國專利號為201699880U的實用新型專利所公布的一種分布式智能視頻搜索系統中,其技術方案要求特殊的前端設備,如果要檢索的視頻信息變化,勢必要求前端設備作一定的修改,通用性不強。其次,沒有考慮節省計算資源的方法,例如,該專利所描述的智能前端的處理能力可能遠遠大於某一智能視頻分析任務,在處理此類任務時,智能前端的處理能力沒有得到最大化利用,造成資源浪費。該專利並沒有解決此類問題。綜上所述,現有技術雖然能夠解決分布式智能視頻分析領域的部分問題,卻還有較大可完善和提高的空間。

發明內容
本發明的目的在於提供ー種主從結構分布式視頻處理系統及其調度方法,實現處理資源的高效利用,減少系統資源的浪費損耗。為解決上述技術問題,本發明的實施方式公開了ー種主從結構分布式視頻處理系統的調度方法,分布式視頻處理系統包括用於分布式處理的至少兩個處理資源,該處理資源在分布式視頻處理系統的處理節點上採用分析算法進行任務處理,包括以下步驟根據作業的預定優先級對分布式視頻處理系統中的作業隊列中作業進行調度;
對於批處理作業,則分配分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源;對於流處理作業,則佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。本發明的實施方式還公開了ー種主從結構分布式視頻處理系統的調度系統,分布式視頻處理系統包括用於分布式處理的至少兩個處理資源,該處理資源在分布式視頻處理系統的處理節點上採用分析算法進行任務處理,調度系統包括
調度器,用於根據作業的預定優先級及作業類型對分布式視頻處理系統中的作業隊列中的作業進行調度;第一資源分配単元,用於對於批處理作業,分配分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源;第二資源分配単元,用於對於流處理作業,佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。本發明實施方式與現有技術相比,主要區別及其效果在於在主從結構分布式視頻處理系統的任務複雜度和處理能力評估或歸ー化方法基礎之上,將批處理作業與流處理作業統ー在分布式視頻處理系統中調度處理,以及所處理數據的類型多祥化,不僅降低了系統的複雜度,而且提高了系統中處理資源的通用性,以及系統的高可用性。進ー步地,對分布式視頻處理系統中的處理資源的處理能力和作業隊列中流處理作業的複雜度進行歸ー化,歸ー化可以降低了系統開發的難度,便於統ー兩種不同類型的數據處理,從而可以根據歸ー化之後的處理資源的處理能力和流處理作業的複雜度,實現作業調度處理,從而進ー步實現視頻分析處理資源的高效利用,減少系統資源的浪費損耗。進ー步地,給出空閒處理資源供需平衡策略,為批處理作業合理地分配空閒處理資源,同時採用資源搶佔的方式,可以讓高優先級的作業優先獲得足夠的資源,優先處理。被搶佔的作業,實際上就得降低計算速度,或者推遲計算。進ー步地,通過資源緊張報警處理,可以對流處理作業採用資源搶佔的方式時資源仍然不夠的問題及時響應。進ー步地,對作業隊列中相同優先級的多個作業採用先進先出(FIFO)的調度策略進行調度,可以解決相同優先級的多個作業的調度問題。


圖I是本發明第一實施方式中ー種主從結構分布式視頻處理系統的調度方法的流程示意圖;圖2是本發明第二實施方式中ー種主從結構分布式視頻處理系統的任務複雜度和處理能力評估或者歸ー化方法的流程示意圖;圖3是本發明第二實施方式中一種處理能力值歸ー化的處理資源管理示意圖;圖4是本發明第二實施方式中一種任務複雜度歸ー化的任務管理示意圖;圖5是本發明第二實施方式中ー種主從結構分布式視頻處理系統的調度方法的流程示意圖6是本發明第二實施方式中ー種主從結構分布式視頻處理系統的調度方法的流程示意圖;圖7是本發明第二實施方式中ー種主從結構分布式視頻處理系統的調度方法的流程示意圖;圖8是本發明第二實施方式中ー種主從結構分布式視頻處理系統的調度方法的流程示意圖;圖9是本發明第二實施方式中ー種主從結構分布式視頻處理系統的調度方法的 流程示意圖;圖10是本發明第三實施方式中ー種主從結構分布式視頻處理系統的調度系統的結構示意圖;圖11是本發明第四實施方式中ー種主從結構分布式視頻處理系統的調度系統的結構示意圖;圖12是本發明第四實施方式中ー種主從結構分布式視頻處理系統的調度系統的結構示意圖;圖13是本發明第四實施方式中ー種主從結構分布式視頻處理系統的調度系統的結構示意圖;圖14是本發明第四實施方式中ー種主從結構分布式視頻處理系統的調度系統的結構示意圖。
具體實施例方式在以下的敘述中,為了使讀者更好地理解本申請而提出了許多技術細節。但是,本領域的普通技術人員可以理解,即使沒有這些技術細節和基於以下各實施方式的種種變化和修改,也可以實現本申請各權利要求所要求保護的技術方案。為使本發明的目的、技術方案和優點更加清楚,下面將結合附圖對本發明的實施方式作進ー步地詳細描述。本發明第一實施方式涉及ー種主從結構分布式視頻處理系統的調度方法。圖I是該主從結構分布式視頻處理系統的調度方法的流程示意圖。該分布式視頻處理系統包括用於分布式處理的至少兩個處理資源,該處理資源在分布式視頻處理系統的處理節點上採用分析算法進行任務處理。主從結構分布式視頻處理系統的調度方法包括以下步驟根據作業的預定優先級對分布式視頻處理系統中的作業隊列中待處理的作業進行調度。對於批處理作業,則分配分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源。對於流處理作業,則佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。在主從結構分布式視頻處理系統的任務複雜度和處理能力評估或歸ー化方法基礎之上,將批處理作業與流處理作業統ー在分布式視頻處理系統中調度處理,以及所處理數據的類型多祥化,不僅降低了系統的複雜度,而且提高了系統中處理資源的通用性,以及系統的高可用性。作為本發明的ー個優選實施方式,具體地說,如圖I所示,該主從結構分布式視頻處理系統的調度方法包括以下步驟在步驟101中,根據作業的預定優先級對分布式視頻處理系統中的作業隊列中待處理的作業進行調度。此後進入步驟102,判斷被調度的當前優先級作業是批處理作業還是流處理作業。若是批處理作業,則進入步驟103。若是流處理作業,則進入步驟104。在步驟103中,若是批處理作業,則分配分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源。此後結束本流程。 在步驟104中,若是流處理作業,則佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。此後結束本流程。本發明第二實施方式涉及ー種主從結構分布式視頻處理系統的調度方法。圖2是該主從結構分布式視頻處理系統的任務複雜度和處理能力評估或者歸ー化方法的流程示意圖。第二實施方式在第一實施方式的基礎上進行了改進,主要改進之處在於對分布式視頻處理系統中的處理資源的處理能力和作業隊列中待處理的流處理作業的複雜度進行歸ー化,從而可以根據歸ー化之後的處理資源的處理能力和流處理作業的複雜度,實現作業調度處理,從而進ー步實現視頻分析處理資源的高效利用,減少系統資源的浪費損耗。給出空閒處理資源供需平衡策略,為待處理的批處理作業合理地分配空閒處理資源,同時採用資源搶佔的方式,可以讓高優先級的作業優先獲得足夠的資源,優先處理。被搶佔的作業,實際上就得降低計算速度,或者推遲計算。通過資源緊張報警處理,可以對流處理作業採用資源搶佔的方式時資源仍然不夠的問題及時響應。對作業隊列中相同優先級的多個作業採用先進先出的調度策略進行調度,可以解決相同優先級的多個作業的調度問題。具體地說在根據作業的預定優先級對分布式視頻處理系統中的作業隊列中待處理的作業進行調度的步驟之前,還包括以下步驟對分布式視頻處理系統中的處理資源的處理能力和作業隊列中待處理的流處理作業的複雜度進行歸ー化。此外,可以理解,作為本發明的ー個優選實施方式,本發明中的處理資源可以稱為計算機資源,該計算機資源分為中央處理器(Central Processing Unit,簡稱「CPU」)和內存資源。視頻監控領域中智能視頻分析的應用場景可以分為I)分析歷史數據(即錄像文件批處理)。2)分析實時數據(即實時碼流處理)。錄像文件批處理任務是屬於CPU密集型任務,該任務的宗g是盡一切可能最大速度地進行數據處理。實時碼流處理任務,由於處理數據是實時生成的,且其生成速度遠小於CPU的計算速度,因此在一定的時間間隔內,CPU處理完實時數據之後,距離下一次數據生成還有大量的空閒時間,現有常用視頻處理算法例如車牌識別、人臉識別、行為分析等就是這樣的。為了避免系統資源的浪費,在處理實時碼流吋,CPU應該處理多個任務。假設I :不同的型號的處理器,其計算能力是不同的。在內存足夠的情況下,假設任務A和任務B使用同樣的算法分別運行在處理器a和處理器b上,如果任務A花費的時間是i,而任務B花費的時間是j,我們認為,處理器a的能力和處理器b的能力比例是j/i。假設2 :運行不同的智能視頻分析算法,批處理任務的複雜度是不同的。在內存足夠的情況下,假設在同樣的軟硬體環境下,同類型的任務A和任務B分別使用不同的算法a和算法b處理同樣的數據,如果任務A花費的時間是m,而任務B花費的時間是n,我們認為,批處理任務A與批處理任務B的複雜度比例是m/n。假設3 :不同類型的實時碼流處理任務,運行同樣的智能視頻分析算法,複雜度是不同的。在內存足夠的情況下,假設處理器c上能夠同時運行m個使用算法a的實時碼流處理任務A,處理器c上能夠同時運行η個使用算法b的實時碼流處理任務B,我們認為任務A與任務B的複雜度比例是n/m。 在進行任務複雜度和計算資源或處理資源的歸ー化的過程中,先以某ー較低端型號的處理器和一種複雜度最低的智能視頻分析算法為基準,分別對系統選定的主流處理器和系統支持的視頻智能分析算法按照假設I、假設2和假設3進行測試。再對得出的測試數據按照基準數據進行歸ー化。例如,假設算法a是複雜度最低的智能視頻分析算法,以intel386型cpu為基準,如果任務A使用算法a在intel386上處理IM的基準數據花費的時間是X,任務B使用算法b在該型cpu上運行消耗的時間是y,任務C使用算法a在處理器K上運行消耗的時間是z,那麼我們認為系統最低處理器能力為X,最簡單算法計算複雜度為X,算法b的複雜度為y,處理器K的能力為z。假設系統選定的cpu型號有m種,系統支持的智能視頻分析算法有η種,最低經過m*n輪測試,可以得到歸ー化的處理器能力和算法複雜度度量。這樣,系統中的資源管理器就可以按照如圖3所示的方式維護整個系統的所有計算資源或處理資源,同理,每個作業包含的任務也可按照如圖4所示的方式維護所有任務信息或者任務複雜度。作為本發明的另ー個優選實施方式,具體地說,如圖2所示,對分布式視頻處理系統中的處理資源的處理能力和作業隊列中待處理的流處理作業的複雜度進行歸ー化或評估的方法,包括以下步驟在步驟201中,選取分布式視頻處理系統中處理能力最低的處理資源和任務複雜度最低的分析算法。此後進入步驟202,計算分布式視頻處理系統最低處理能力和最簡單算法複雜度,即將第一任務使用任務複雜度最低的分析算法在處理能力最低的處理資源上處理的基準數據需要的時間作為分布式視頻處理系統最低處理能力和最簡單算法複雜度。此後進入步驟203,將與第一任務同類型的第二任務使用系統中其他各個分析算法在處理能力最低的處理資源上處理的基準數據所需要的時間分別作為這些分析算法的任務複雜度。此後進入步驟204,將與第一任務同類型的第三任務使用複雜度最低的分析算法在系統中各個處理資源上處理的基準數據需要的時間分別作為這些處理資源的處理能力。此後結束本流程。
當然,選取歸一化的基準量可以但並不局限於處理能力最低的處理資源和任務複雜度最低的分析算法,也可以選取相應度量值的處理能力的處理資源和任務複雜度的分析算法,比如處理能力最強的處理資源和任務複雜度最大的分析算法,只要實現該分布式視頻處理系統中的處理資源和採用分析算法的流處理作業的複雜度的歸ー化即可。如圖5所示,對於批處理作業,則分配分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源的步驟,具體地說,包括以下子步驟在步驟501中,獲得當前優先級隊列中待處理的批處理作業數目m,m為正整數。此後進入步驟502,從該分布式視頻處理系統中,獲得當前最大處理能力值的空閒處理資源數η,η為正整數。此後進入步驟503,將平均值n/m取整結果為j,其中,j為自然數。此後進入步驟504,判斷當前優先級隊列中待處理的批處理作業需求的空閒處理 資源數是否大於j。若大於,則進入步驟507。否則進入步驟505。在步驟505中,若當前優先級隊列中待處理的批處理作業需求的空閒處理資源數大於j,則先為該批處理作業分配j個空閒處理資源數。此後進入步驟506,進行空閒處理資源搶佔。在本發明的部分實施方式中,空閒處理資源是否搶佔等策略等問題都是可配置的,並非必須的。此後結束本流程。在步驟507中,若當前優先級隊列中待處理的批處理作業需求的空閒處理資源數小於等於j,則為該批處理作業分配所需求的空閒處理資源數。此後結束本流程。作為本發明的另ー個優選實施方式,如圖6所示,在上述進行空閒處理資源搶佔的步驟506之後,還包括以下步驟在步驟601中,判斷在預定的時間內處理資源是否搶佔成功。若是,則進入步驟604。否則進入步驟602。在步驟602中,若在預定的時間內處理資源搶佔不成功,則結束本輪調度。此後進入步驟603,進行資源緊張報警處理。此後結束本流程。在步驟604中,若在預定的時間內處理資源搶佔成功,則將搶佔到的空閒處理資源分配給待處理的批處理作業進行任務處理。此後結束本流程。作為本發明的另ー個優選實施方式,如圖7所示,該主從結構分布式視頻處理系統的調度方法對批處理作業任務進行處理,包括以下步驟在步驟701中,獲取當前優先級隊列中的批處理作業全部任務信息。此後進入步驟702,判斷該作業所處的執行階段是歸併階段還是映射階段。若是映射階段,則進入步驟703 ;否則進入步驟706。在步驟703中,當該作業所處的執行階段為映射階段時,則獲取系統中可用計算資源的數目。
本實施例中所述的批處理作業所處的執行階段是歸併階段還是映射階段的判斷不是必須的,不進行判斷也是可以的,而且該歸併階段和映射階段所涉及的思想可以是基於谷歌Goolge提出的歸併映射mapreduce原理,也可以不基於該原理。此後進入步驟704,根據平均分配原則計算該作業所需要分配的資源數目。此後進入步驟705,設置未調度的映射任務為調度任務隊列。此後進入步驟709。在步驟706中,當該作業所處的執行階段為歸併階段時,則遍歷待調度切片隊列。此後進入步驟707,遍歷待調度歸併任務隊列。此後進入步驟708,設置未調度的歸併任務為調度任務隊列。
此後進入步驟709。在步驟709中,遍歷調度任務隊列。此後進入步驟710,判斷該遍歷是否結束。若是,則進入步驟717。否則進入步驟711。在步驟711中,申請計算資源或者處理資源。此後進入步驟712,判斷所申請的計算資源或者處理資源是否有效。若是,則進入步驟713。否則進入步驟714。在步驟713中,向計算節點發送啟動任務指令。此後進入步驟716。在步驟714中,當所申請的計算資源或者處理資源無效時,搶佔計算資源。此後進入步驟715,停止使用計算資源的任務。此後進入步驟716,轉到當前任務隊列中下ー個任務進行處理。此後返回步驟709,繼續遍歷調度任務隊列。在步驟717中,噹噹前任務隊列遍歷結束時,繼續申請系統中的計算資源或者處
理資源。此後結束本流程。對於流處理作業,則佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源的步驟之後,還包括以下步驟判斷流處理作業是否成功佔用到分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源;若沒有成功佔用到,流處理作業則預訂並佔用當前正在被搶佔的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源;判斷流處理作業是否全部成功佔用到所需要的處理資源數;若沒有,流處理作業則發出所需要剰餘的處理資源搶佔請求,並預訂和佔用當前分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源;若流處理作業發出所需要剰餘的處理資源搶佔請求後,沒有成功預訂和佔用到當前正在被搶佔的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剰餘處理能力值最小的處理資源,則進行資源報警處理。
此外,可以理解,具體地說,如圖8所示,在上述若是流處理作業,則佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源的步驟104之後,還包括以下步驟在步驟801中,判斷流處理作業是否全部成功佔用到所需要的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。若是,則結束本流程;否則進入步驟802。在步驟802中,若流處理作業沒有全部成功佔用到所需要的處理資源,則發出所需要剰餘的處理資源搶佔請求。此後進入步驟803,根據搶佔請求,預訂並佔用當前正在被搶佔的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。此後進入步驟804,判斷是否成功預訂和佔用。 若是,則結束本流程;否則進入步驟805。在步驟805中,若發出所需要剰餘的處理資源搶佔請求後,沒有成功預訂和佔用到所需要的當前正在被搶佔的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源,則進行資源報警處理。作為本發明的另ー個優選例子,如圖9所示,該主從結構分布式視頻處理系統的調度方法對流處理作業任務進行處理,包括以下步驟在步驟901中,獲取流處理作業作業任務詳細信息。此後進入步驟902,遍歷待調度的任務隊列。此後進入步驟903,判斷當前待調度的任務隊列是否遍歷完畢。若是,則進入步驟915。否則進入步驟904。在步驟904中,獲取當前任務隊列中任務詳細信息。此後進入步驟905,判斷當前任務狀態。若是要求停止,則進入步驟913。若是要求開始,則進入步驟906。在步驟906中,申請系統中空閒的計算資源或處理資源。此後進入步驟907,判斷所申請的計算資源或者處理資源是否有效。若是,則進入步驟912。否則進入步驟908。在步驟908中,獲取作業預定的計算資源。此後進入步驟909,判斷該預定的計算資源是否有效。若是,則進入步驟914。否則進入步驟910。在步驟910中,若該預定的計算資源無效,則搶佔系統中的其他計算資源。此後進入步驟911,停止使用計算資源的任務。此後進入步驟914。在步驟912中,向計算機發送啟動任務指令。此後進入步驟914。在步驟913中,向計算節點發送停止任務指令。此後進入步驟914,轉到下ー個任務。此後返回步驟902。在步驟915中,若當前待調度的任務隊列遍歷完畢,則返回調度結果。
此後結束本流程。根據作業的預定優先級對分布式視頻處理系統中作業隊列中待處理的作業進行調度的步驟,包括以下子步驟對於作業隊列中相同優先級的多個作業,採用先進先出策略進行作業調度。或者對於作業隊列中不同優先級的多個作業,根據作業優先級的高低進行調度。此外,分布式計算資源管理器根據分布式系統中集群計算機信息維護ー個計算資源池或處理資源池。在分布式智能視頻分析系統 中,每個作業擁有一個用戶指定的優先級,調度器根據不同的優先級進行調度。調度器根據系統支持的最大優先級數目維護多個作業隊列,不同優先級的作業在對應的作業隊列中排隊等候調度,具有相同優先級的作業之間遵循先入先出的原則。調度器按照優先級大小對作業隊列中的作業逐一進行調度。本發明的各方法實施方式均可以以軟體、硬體、固件等方式實現。不管本發明是以軟體、硬體、還是固件方式實現,指令代碼都可以存儲在任何類型的計算機可訪問的存儲器中(例如永久的或者可修改的,易失性的或者非易失性的,固態的或者非固態的,固定的或者可更換的介質等等)。同樣,存儲器可以例如是可編程陣列邏輯(Programmable ArrayLogic,簡稱「PAL」)、隨機存取存儲器(Random Access Memory,簡稱「RAM」)、可編程只讀存儲器(Programmable Read Only Memory,簡稱「PR0M」)、只讀存儲器(Read-Only Memory,簡稱「ROM」)、電可擦除可編程只讀存儲器(Electrically Erasable Programmable ROM,簡稱「EEPR0M」)、磁碟、光碟、數字通用光碟(Digital Versatile Disc,簡稱「DVD」)等等。本發明第三實施方式涉及ー種主從結構分布式視頻處理系統的調度系統。圖10是該主從結構分布式視頻處理系統的調度系統的結構示意圖。該分布式視頻處理系統包括用於分布式處理的至少兩個處理資源,該處理資源在分布式視頻處理系統的處理節點上採用分析算法進行任務處理。具體地說,如圖10所示,該主從結構分布式視頻處理系統的調度系統包括調度器,用於根據作業的預定優先級及作業類型對分布式視頻處理系統中的作業隊列中的作業進行調度。第一資源分配単元,用於對於批處理作業,分配分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源。第二資源分配単元,用於對於流處理作業,佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。在主從結構分布式視頻處理系統的任務複雜度和處理能力評估方法基礎之上,將批處理作業與流處理作業統ー在分布式視頻處理系統中調度處理,以及所處理數據的類型多祥化,不僅降低了系統的複雜度,而且提高了系統中處理資源的通用性,以及系統的高可用性。第一實施方式是與本實施方式相對應的方法實施方式,本實施方式可與第一實施方式互相配合實施。第一實施方式中提到的相關技術細節在本實施方式中依然有效,為了減少重複,這裡不再贅述。相應地,本實施方式中提到的相關技術細節也可應用在第一實施方式中。本發明第四實施方式涉及ー種主從結構分布式視頻處理系統的調度系統。圖11是該主從結構分布式視頻處理系統的調度系統的結構示意圖。
第四實施方式在第三實施方式的基礎上進行了改進,主要改進之處在於將分布式視頻處理系統中的處理資源和任務複雜度進行歸一化或數值化,可以作為系統在資源分配或者任務調度時的參考依據,從而實現處理資源的高效利用,減少系統資源的浪費損耗。給出空閒處理資源供需平衡策略,為待處理的批處理作業合理地分配空閒處理資源,同時採用資源搶佔的方式。通過資源緊張報警處理,可以對流處理作業採用資源搶佔的方式時資源仍然不夠的問題及時響應。對作業隊列中相同優先級的多個作業採用先進先出的調度策略進行調度,可以解決相同優先級的多個作業的調度問題。具體地說,如圖11所示,該主從結構分布式視頻處理系統的調度系統還包括歸ー化単元,用於對分布式視頻處理系統中的處理資源的處理能力和作業隊列中待處理的流處理作業的複雜度進行歸ー化。作為本發明的ー個優選實施方式,本發明中的處理資源可以稱為計算機資源,該計算機資源分為中央處理器(Central Processing Unit,簡稱「CPU」)和內存資源。視頻監 控領域中智能視頻分析的應用場景可以分為I)分析歷史數據(即錄像文件批處理)。2)分析實時數據(即實時碼流處理)。錄像文件批處理任務是屬於CPU密集型任務,該任務的宗g是盡一切可能最大速度地進行數據處理。實時碼流處理任務,由於處理數據是實時生成的,且其生成速度遠小於CPU的計算速度,因此在一定的時間間隔內,CPU處理完實時數據之後,距離下一次數據生成還有大量的空閒時間。為了避免系統資源的浪費,在處理實時碼流吋,CPU應該處理多個任務。假設I :不同的型號的處理器,其計算能力是不同的。在內存足夠的情況下,假設任務A和任務B使用同樣的算法分別運行在處理器a和處理器b上,如果任務A花費的時間是i,而任務B花費的時間是j,我們認為,處理器a的能力和處理器b的能力比例是j/i。假設2 :運行不同的智能視頻分析算法,批處理任務的複雜度是不同的。在內存足夠的情況下,假設在同樣的軟硬體環境下,同類型的任務A和任務B分別使用不同的算法a和算法b處理同樣的數據,如果任務A花費的時間是m,而任務B花費的時間是n,我們認為,批處理任務A與批處理任務B的複雜度比例是m/n。假設3 :不同類型的實時碼流處理任務,運行同樣的智能視頻分析算法,複雜度是不同的。在內存足夠的情況下,假設處理器c上能夠同時運行m個使用算法a的實時碼流處理任務A,處理器c上能夠同時運行η個使用算法b的實時碼流處理任務B,我們認為任務A與任務B的複雜度比例是n/m。在進行任務複雜度和計算資源或處理資源的歸ー化的過程中,先以某ー較低端型號的處理器和一種複雜度最低的智能視頻分析算法為基準,分別對系統選定的主流處理器和系統支持的視頻智能分析算法按照假設I、假設2和假設3進行測試。再對得出的測試數據按照基準數據進行歸ー化。例如,假設算法a是複雜度最低的智能視頻分析算法,以intel386型cpu為基準,如果任務A使用算法a在intel386上處理IM的基準數據花費的時間是X,任務B使用算法b在該型cpu上運行消耗的時間是y,任務C使用算法a在處理器K上運行消耗的時間是z,那麼我們認為系統最低處理器能力為X,最簡單算法計算複雜度為X,算法b的複雜度為y,處理器K的能力為z。假設系統選定的cpu型號有m種,系統支持的智能視頻分析算法有η種,最低經過m*n輪測試,可以得到歸ー化的處理器能力和算法複雜度度量。這樣,系統中的資源管理器就可以按照如圖3所示的方式維護整個系統的所有計算資源或處理資源,同理,每個作業包含的任務也可按照如圖4所示的方式維護所有任務信息或者任務複雜度。作為本發明的另ー個優選實施方式,對分布式視頻處理系統中的處理資源的處理能力和作業隊列中待處理的流處理作業的複雜度進行歸ー化的方法包括以下步驟選取分布式視頻處理系統中處理能力最低的處理資源和任務複雜度最低的分析算法。將第一任務使用任務複雜度最低的分析算法在處理能力最低的處理資源上處理的基準數據需要的時間作為分布式視頻處理系統最低處理能力和最簡單算法複雜度。將與第一任務同類型的第二任務使用系統中其他各個分析算法在處理能力最低 的處理資源上處理的基準數據所需要的時間分別作為這些分析算法的任務複雜度。將與第一任務同類型的第三任務使用複雜度最低的分析算法在系統中各個處理資源上處理的基準數據需要的時間分別作為這些處理資源的處理能力。當然,選取歸一化的基準量可以但並不局限於處理能力最低的處理資源和任務複雜度最低的分析算法,也可以選取相應度量值的處理能力的處理資源和任務複雜度的分析算法,比如處理能力最強的處理資源和任務複雜度最大的分析算法,只要實現該分布式視頻處理系統中的處理資源和採用分析算法的流處理作業的複雜度的歸ー化即可。具體地說,如圖12所示,上述第一資源分配単元,還包括以下子模塊第一作業統計子模塊,用於獲得當前優先級隊列中待處理的批處理作業數目m,m為正整數。第一資源統計子模塊,從該分布式視頻處理系統中,獲得當前最大處理能力值的空閒處理資源數η,η為正整數。第一均值子模塊,用於將平均值n/m取整結果為j,其中j為自然數。第一判斷子模塊,用於判斷當前優先級隊列中待處理的批處理作業需求的空閒處理資源數是否大於j。第一資源分配子模塊,用於當第一判斷子模塊判定當前優先級隊列中待處理的批處理作業需求的空閒處理資源數大於j時,為該批處理作業分配j個空閒處理資源數。第一資源搶佔子模塊,用於當第一判斷子模塊判定當前優先級隊列中待處理的批處理作業需求的空閒處理資源數大於j時,搶佔空閒處理資源。第二資源分配子模塊,用於當第一判斷子模塊判定當前優先級隊列中待處理的批處理作業需求的空閒處理資源數小於等於j時,為該批處理作業分配所需求的空閒處理資源數。作為本發明的另ー個優選實施方式,具體地說,如圖13所示,上述第一資源分配単元,還包括以下子模塊第二判斷子模塊,用於判斷第一搶佔子模塊在預定的時間內搶佔處理資源是否成功。第一結束子模塊,用於當第二判斷子模塊判定第一搶佔子模塊在預定的時間內處理資源搶佔不成功吋,結束本輪調度。
第一報警子模塊,用於第一結束子模塊資源結束本輪調度後的資源緊張報警。第三資源分配子模塊,用於當第二判斷子模塊判定第一搶佔子模塊在預定的時間內處理資源搶佔成功時,將搶佔到的空閒處理資源分配給待處理的批處理作業進行任務處理。具體地說,如圖14所示,上述第二資源分配単元,還包括以下子模塊第三判斷子模塊,用於判斷流處理作業是否全部成功佔用到所需要的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。搶佔請求子模塊,用於在流處理作業沒有全部成功佔用到所需要的處理資源數時發出資源搶佔請求。 資源佔用子模塊,用於為流處理作業預定和/或佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。第二報警子模塊,用於搶佔請求子模塊發出搶佔請求後,且資源佔用子模塊沒有為流處理作業預定和佔用到所需要的處理資源吋,進行資源報警處理。調度器,對於作業隊列中相同優先級的多個作業,採用先進先出策略進行作業調度。調度器,對於作業隊列中不同優先級的多個作業,根據作業優先級的高低進行調度。此外,可以理解,對於具有相同優先級的流處理作業,調度器遍歷作業隊列,對每個作業分別進行調度,步驟為獲得當前作業相關任務信息。根據任務複雜度向計算資源池申請相應計算能力的計算資源。如果資源申請成功,判斷計算資源可用內存是否足夠,如果足夠,則將任務指派給計算資源進行運算,否則進入搶佔流程,如果搶佔成功,將任務分配給搶佔到的計算資源,否則退出調度循環,進入系統資源緊張報警流程。第二實施方式是與本實施方式相對應的方法實施方式,本實施方式可與第二實施方式互相配合實施。第二實施方式中提到的相關技術細節在本實施方式中依然有效,為了減少重複,這裡不再贅述。相應地,本實施方式中提到的相關技術細節也可應用在第二實施方式中。需要說明的是,本發明各設備實施方式中提到的各単元或模塊都是邏輯単元或模塊,在物理上,ー個邏輯單元或模塊可以是ー個物理單元或模塊,也可以是ー個物理單元或模塊的一部分,還可以以多個物理單元或模塊的組合實現,這些邏輯單元或模塊本身的物理實現方式並不是最重要的,這些邏輯單元或模塊所實現的功能的組合才是解決本發明所提出的技術問題的關鍵。此外,為了突出本發明的創新部分,本發明上述各設備實施方式並沒有將與解決本發明所提出的技術問題關係不太密切的単元或模塊引入,這並不表明上述設備實施方式並不存在其它的單元或模塊。雖然通過參照本發明的某些優選實施方式,已經對本發明進行了圖示和描述,但本領域的普通技術人員應該明白,可以在形式上和細節上對其作各種改變,而不偏離本發明的精神和範圍。
權利要求
1.ー種主從結構分布式視頻處理系統的調度方法,所述分布式視頻處理系統包括用於分布式處理的至少兩個處理資源,該處理資源在分布式視頻處理系統的處理節點上採用分析算法進行任務處理,其特徵在於,包括以下步驟 根據作業的預定優先級對所述分布式視頻處理系統中的作業隊列中的作業進行調度; 對於批處理作業,則分配所述分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源; 對於流處理作業,則佔用所述分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。
2.根據權利要求I所述的主從結構分布式視頻處理系統的調度方法,其特徵在於,在所述根據作業的預定優先級對所述分布式視頻處理系統中的作業隊列中作業進行調度的步驟之前,還包括以下步驟 對所述分布式視頻處理系統中的處理資源的處理能力和作業隊列中流處理作業的複雜度進行歸ー化。
3.根據權利要求I所述的主從結構分布式視頻處理系統的調度方法,其特徵在於,所述對於批處理作業,則分配分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源的步驟,包括以下子步驟 獲得當前優先級隊列中批處理作業數目m,m為正整數; 從所述分布式視頻處理系統中,獲得當前最大處理能力值的空閒處理資源數η,η為正整數; 將平均值n/m取整結果為j,其中,j為自然數; 若當前優先級隊列中批處理作業需求的空閒處理資源數小於等於j,則為該批處理作業分配所需求的空閒處理資源數; 若當前優先級隊列中批處理作業需求的空閒處理資源數大於j,則先為該批處理作業分配j個空閒處理資源數,並進行空閒處理資源搶佔。
4.根據權利要求I所述的主從結構分布式視頻處理系統的調度方法,其特徵在於,所述對於流處理作業,則佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源的步驟之後,還包括以下步驟 判斷所述流處理作業是否全部成功佔用到所需要的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源; 若沒有全部成功佔用到,則發出所需要剰餘的處理資源搶佔請求,以預訂並佔用所需要的當前正在被搶佔的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剰餘處理能力值最小的處理資源; 若所述流處理作業發出所需要剰餘的處理資源搶佔請求後,沒有成功預訂和佔用到所需要的當前正在被搶佔的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源,則進行資源報警處理。
5.根據權利要求I至4中任一項所述的主從結構分布式視頻處理系統的調度方法,其特徵在於,所述根據作業的預定優先級對所述分布式視頻處理系統中作業隊列中作業進行調度的步驟,包括以下子步驟對於所述作業隊列中相同優先級的多個作業,採用先進先出策略進行作業調度;或者 對於所述作業隊列中不同優先級的多個作業,根據作業優先級的高低進行調度。
6.ー種主從結構分布式視頻處理系統的調度系統,所述分布式視頻處理系統包括用於分布式處理的至少兩個處理資源,該處理資源在分布式視頻處理系統的處理節點上採用分析算法進行任務處理,其特徵在於,所述調度系統包括 調度器,用於根據作業的預定優先級及作業類型對所述分布式視頻處理系統的作業隊列中的作業進行調度; 第一資源分配単元,用於對於批處理作業,分配所述分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源; 第二資源分配単元,用於對於流處理作業,佔用所述分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。
7.根據權利要求6所述的主從結構分布式視頻處理系統的調度系統,其特徵在於,還包括 歸ー化単元,用於對所述分布式視頻處理系統中的處理資源的處理能力和作業隊列中流處理作業的複雜度進行歸ー化。
8.根據權利要求6所述的主從結構分布式視頻處理系統的調度系統,其特徵在於,所述第一資源分配単元,還包括以下子模塊 第一作業統計子模塊,用於獲得當前優先級隊列中批處理作業數目m,m為不小於零的整數; 第一資源統計子模塊,從該分布式視頻處理系統中,獲得當前最大處理能力值的空閒處理資源數η,η為自然數; 第一均值子模塊,用於將平均值n/m取整為j,其中j為自然數; 第一判斷子模塊,用於判斷當前優先級隊列中批處理作業需求的空閒處理資源數是否大於j ; 第一資源分配子模塊,用於當所述第一判斷子模塊判定當前優先級隊列中批處理作業需求的空閒處理資源數大於j時,為該批處理作業分配j個空閒處理資源數; 第一資源搶佔子模塊,用於當所述第一判斷子模塊判定當前優先級隊列中批處理作業需求的空閒處理資源數大於j時,搶佔空閒處理資源; 第二資源分配子模塊,用於當所述第一判斷子模塊判定當前優先級隊列中批處理作業需求的空閒處理資源數小於等於j時,為該批處理作業分配所需求的空閒處理資源數。
9.根據權利要求6所述的主從結構分布式視頻處理系統的調度系統,其特徵在於,所述第二資源分配単元,還包括以下子模塊 第三判斷子模塊,用於判斷流處理作業是否全部成功佔用到所需要的分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源; 搶佔請求子模塊,用於在所述流處理作業沒有全部成功佔用到所需要的處理資源數時發出資源搶佔請求; 資源佔用子模塊,用於為所述流處理作業預定和/或佔用分布式視頻處理系統中當前剰餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源;第二報警子模塊,用於所述搶佔請求子模塊發出搶佔請求後,且所述資源佔用子模塊沒有為所述流處理作業預定和佔用到所需要的處理資源吋,進行資源報警處理。
10.根據權利要求6至9中任一項所述的主從結構分布式視頻處理系統的調度系統,其特徵在於,所述調度器,對於作業隊列中相同優先級的多個作業,採用先進先出策略進行作業調度; 所述調度器,對於作業隊列中不同優先級的多個作業,根據作業優先級的高低進行調度。
全文摘要
本發明涉及視頻處理領域,公開了一種主從結構分布式視頻處理系統及其調度方法。實現處理資源的高效利用,減少系統資源的浪費損耗。本發明中,分布式視頻處理系統包括用於分布式處理的至少兩個處理資源,該處理資源在處理節點上採用分析算法進行任務處理。包括以下步驟根據作業的預定優先級對分布式視頻處理系統中的作業隊列中待處理的作業進行調度;對於批處理作業,則分配分布式視頻處理系統中當前未被佔用的最大處理能力值的處理資源;對於流處理作業,則佔用分布式視頻處理系統中當前剩餘處理能力值大於該作業的任務複雜度且剩餘處理能力值最小的處理資源。
文檔編號H04N5/14GK102866920SQ20121027420
公開日2013年1月9日 申請日期2012年8月2日 優先權日2012年8月2日
發明者金升鵬, 管國辰, 鄒拓宇 申請人:杭州海康威視系統技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀