一種錄像數據管理系統和方法
【專利摘要】本發明公開了一種錄像數據管理系統和方法:當通過API模塊每接收到一條錄像池創建指令時,VM-Master根據指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建;相應地,VS根據接收自VM-Master的通知在自身創建錄像卷;VM-Master為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過API模塊寫入到對應的錄像卷中,當任一VS發生故障時,將該VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,以便繼續進行錄像數據的寫入。應用本發明所述方案,能夠避免錄像數據的丟失。
【專利說明】一種錄像數據管理系統和方法
【技術領域】
[0001]本發明涉及視頻存儲領域,特別涉及一種錄像數據管理系統和方法。
【背景技術】
[0002]基于數字化、網絡化、高清化、智能化、云計算以及互聯網等技術的發展,人們對數據存儲的要求越來越高,從最初的汞延遲線存儲設備,到磁帶存儲設備,再到納米存儲設備,大大提高了數據的存儲量以及存取速度。
[0003]在視頻存儲領域,通常采用點對點的存儲方式,即錄像數據被定向地存儲到指定的存儲設備上,這樣,一旦一個存儲設備出現故障,其對應的攝像頭獲取到的錄像數據則將無法被寫入到該存儲設備中,從而導致錄像數據發生丟失,進而給個人或企業帶來不可估量的損失。
【發明內容】
[0004]有鑒于此,本發明提供了一種錄像數據管理系統和方法,能夠避免錄像數據的丟失。
[0005]為達到上述目的,本發明的技術方案是這樣實現的:
[0006]一種錄像數據管理系統,包括:應用程序接口 API模塊、管理服務器集群以及存儲節點VS,其中,所述管理服務器集群中包括:主管理服務器VM-Master,所述VS的個數為一個以上;
[0007]所述VM-Master,用于當通過所述API模塊每接收到一條錄像池創建指令時,根據所述錄像池創建指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建;
[0008]所述VS,用于根據接收自所述VM-Master的通知在自身創建錄像卷;
[0009]所述VM-Master進一步用于,為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過所述API模塊寫入到對應的錄像卷中;當任一 VS發生故障時,將該發生故障的VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,繼續進行錄像數據的與入。
[0010]一種基于上述系統的錄像數據管理方法,包括:
[0011]當通過所述API模塊每接收到一條錄像池創建指令時,所述VM-Master根據所述錄像池創建指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建;所述VS根據接收自所述VM-Master的通知在自身創建錄像卷;
[0012]所述VM-Master為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過所述API模塊寫入到對應的錄像卷中;當任一 VS發生故障時,將該發生故障的VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,繼續進行錄像數據的寫入。
[0013]可見,采用本發明所述方案,當任一存儲設備即VS出現故障時,可將其上的錄像卷對應的攝像頭切換到所選定的符合切入要求的其它錄像卷上,從而繼續進行錄像數據的寫入,避免了錄像數據的丟失。
【專利附圖】
【附圖說明】
[0014]圖1為本發明錄像數據管理系統實施例的組成結構示意圖。
[0015]圖2為本發明管理服務器集群發生腦裂的示意圖。
[0016]圖3為本發明錄像數據管理方法實施例的流程圖。
【具體實施方式】
[0017]針對現有技術中存在的問題,本發明中提出一種錄像數據管理方案。
[0018]圖1為本發明錄像數據管理系統實施例的組成結構示意圖。如圖1所示。主要包括:應用程序接口(API,Application Programming Interface)模塊、管理服務器集群以及存儲節點(VS,Video Slave),其中,管理服務器集群中包括:主管理服務器(VM-Master)以及VM,VS和VM的個數都為一個以上,通常都為多個,API模塊中可包括多個API接口。
[0019]圖1所示系統采用錄像池技術來實現集群內部存儲的虛擬化,以直寫磁盤的方式完成錄像數據的存儲,通過VM-Master管理錄像池和各VS,實現資源的分配,對外提供使用資源的API接口 ;并且,在實際應用中,可提供界面友好的管理程序,用戶可通過互聯網等隨時隨地查看系統的運行狀態,并對系統進行簡單的維護等。
[0020]具體來說,VM-Master,用于當通過API模塊每接收到一條錄像池創建指令時,根據錄像池創建指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建;
[0021]相應地,VS,用于根據接收自VM-Master的通知在自身創建錄像卷;
[0022]VM-Master還可進一步用于,為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過API模塊寫入到對應的錄像卷中;當任一 VS發生故障時,將該發生故障的VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,繼續進行錄像數據的寫入。
[0023]其中,VM-Master中可具體包括:管理單元和維護單元;VS中可具體包括:處理單元。為簡化附圖,未對管理單元、維護單元和處理單元進行圖示。
[0024]管理單元用于當通過API模塊每接收到一條錄像池創建指令時,根據錄像池創建指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建;并為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過API模塊寫入到對應的錄像卷中;處理單元用于根據接收自管理單元的通知在自身創建錄像卷;維護單元用于當任一VS發生故障時,將該發生故障的VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,繼續進行錄像數據的寫入。
[0025]另外,維護單元還可進一步用于,當任一 VS發生壓力過載時,將該VS上的錄像卷對應的部分攝像頭切換到所選定的符合切入要求的錄像卷上;當任一錄像卷發生卷壓力過載和/或卷周期過載時,將該錄像卷對應的部分攝像頭切換到所選定的符合切入要求的錄像卷上。
[0026]下面對上述相關內容分別進行詳細介紹。[0027]一)錄像池的創建
[0028]為實現本發明所述方案,需要預先對各VS進行初始化,即在各VS上創建磁盤陣列(RAID, Redundant Arrays of Inexpensive Disks),并在各 RAID 上創建邏輯單兀(LUN,Logical Unit Number)作為基本存儲單元,后續涉及到的空閑容量均是以基本存儲單元為單位進行統計的,如何對各VS進行初始化為現有技術。
[0029]管理單元獲取接收到的錄像池創建指令中攜帶的創建要求信息,創建要求信息中包括:要創建的錄像池的類型以及要創建的錄像池的容量指示信息,并根據要創建的錄像池的容量指示信息確定出要創建的錄像池的容量;其中,錄像池的類型包括:高性能錄像池、休眠錄像池和備份錄像池。
[0030]要創建的錄像池的容量指示信息中可包括:錄像數據的平均碼流(設定的要創建的錄像池中的錄像數據的平均碼流,單位為Mb/s)、錄像數據的存儲周期(設定的要創建的錄像池中的錄像數據的存儲周期,單位為天)以及要創建的錄像池對應的攝像頭路數(設定的要創建的錄像池中承載的攝像頭路數)。相應地,要創建的錄像池的容量=(要創建的錄像池對應的攝像頭路數X錄像數據的平均碼流X錄像數據的存儲周期)/8+1,其中,在計算時,錄像數據的存儲周期以秒為單位。
[0031]另外,在實際應用中,管理單元在接收到錄像池創建指令后,通常會先確定其中攜帶的創建要求信息是否有效,即要創建的錄像池的類型、錄像數據的平均碼流、錄像數據的存儲周期以及要創建的錄像池對應的攝像頭路數是否為0,如果有一個為0,則無效,如果有效,則根據要創建的錄像池的容量指示信息確定出要創建的錄像池的容量。之后,還可進一步確定各VS的總空閑容量是否大于或等于要創建的錄像池的容量,如果是,則繼續之后的處理,否則,創建錄像池失敗。
[0032]當要創建的錄像池為高性能錄像池時,管理單元將各VS按照空閑容量從小到大的順序進行排序,并選出排序后處于前兩位的VS,確定選出的兩個VS的總空閑容量是否大于或等于要創建的錄像池的容量,如果否,則選出排序后處于前三位的VS,確定選出的三個VS的總空閑容量是否大于或等于要創建的錄像池的容量,依次類推,直到當選出的VS的總空閑容量大于或等于要創建的錄像池的容量時,將要創建的錄像池的容量按照各選出的VS的空閑容量之比分配給各選出的VS,并通知各選出的VS按照要創建的錄像池的類型以及所分配的容量進行錄像卷的創建。比如,要創建的錄像池的容量為12M,選出的VS的個數為2個,其空閑容量之比為1: 2,那么,則為空閑容量較少的VS分配4M的容量,為空閑容量較多的VS分配8M的容量,4: 8 = 1: 2。
[0033]當要創建的錄像池為休眠錄像池或備份錄像池時,管理單元將各VS按照空閑容量從大到小的順序進行排序,并選出排序后處于第一位的VS,確定選出的VS的空閑容量是否大于或等于要創建的錄像池的容量,如果否,則選出排序后處于前兩位的VS,確定選出的兩個VS的總空閑容量是否大于或等于要創建的錄像池的容量,依次類推,直到當選出的VS的總空閑容量大于或等于要創建的錄像池的容量時,通知各選出的VS按照要創建的錄像池的類型以及所分配的容量進行錄像卷的創建;其中,對于各選出的VS中未排在最后一位的各VS,其所分配的容量等于其空閑容量,對于各選出的VS中排在最后一位的VS,其所分配的容量等于要創建的錄像池的容量減去各選出的VS中未排在最后一位的各VS的總空閑容量。也就是說,假設選出的VS的個數為3個,那么按照排序順序,前兩個VS中的空閑容量都將會被用于創建錄像卷,只有最后一個VS中在創建完錄像卷之后還可能會有空閑容量。
[0034]相應地,當要創建的錄像池為高性能錄像池時,處理單元將所在VS所分配的容量按照所在VS中各存在空閑容量的RAID的空閑容量之比分配給各存在空閑容量的RAID,并在各存在空閑容量的RAID上分別創建一個容量等于該RAID所分配的容量的錄像卷。
[0035]當要創建的錄像池為休眠錄像池或備份錄像池時,處理單元將所在VS中各存在空閑容量的RAID按照空閑容量從大到小的順序進行排序,并選出排序后處于第一位的RAID,確定選出的RAID的空閑容量是否大于或等于所在VS所分配的容量,如果否,則選出排序后處于前兩位的RAID,確定選出的兩個RAID的總空閑容量是否大于或等于所在VS所分配的容量,依次類推,直到當選出的RAID的總空閑容量大于或等于所在VS所分配的容量時,利用各選出的RAID的總空閑容量創建一個容量等于所在VS所分配的容量的錄像卷。
[0036]可以看出,對于高性能錄像池,需要盡可能地增加錄像卷的個數,而對于休眠錄像池和備份錄像池,則需要盡可能地減少錄像卷的個數。
[0037]而且,一個RAID上至多只能有一個屬于同一高性能錄像池的錄像卷,一個VS上至多只能有一個屬于同一休眠錄像池或同一備份錄像池的錄像卷。
[0038]錄像池是由一個或多個錄像卷組成的,管理單元可為各錄像卷分別分配相應路數的攝像頭,以便攝像頭將獲取到的錄像數據通過API模塊寫入到對應的錄像卷中。理論上,每個錄像卷可被分配到的攝像頭的路數=該錄像卷的容量X8/該錄像卷所屬錄像池中的錄像數據的存儲周期X該錄像卷所屬錄像池中的錄像數據的平均碼流+1,其中,在計算時,錄像數據的存儲周期以秒為單位。
[0039]在實際應用中,隨著系統的長期運行,即隨著錄像數據的不斷寫入,各錄像卷中可用于存儲錄像數據的空閑容量會越來越小,如果不及時進行清理,則會影響后續錄像數據的寫入。為此,本發明所述方案中提出一種周期循環覆蓋策略,即各VS中的處理單元可在當所在VS中的任一錄像卷中的錄像數據的存儲周期超過該錄像卷所屬的錄像池中的錄像數據的存儲周期時,刪除該錄像數據,從而達到用新寫入的錄像數據周期性地自動覆蓋舊的錄像數據的效果。通常,上述周期循環覆蓋策略可只應用于高性能錄像池和休眠錄像池,備份錄像池中的錄像數據由于起到備份作用,因此可由用戶手動刪除,以確保安全。
[0040]在實際應用中,還可能會出現以下問題:由于瞬時碼流變大等原因,對于某一錄像卷,當有新的錄像數據寫入時,舊的錄像數據還不能刪除,但此時該錄像卷中的空閑容量已不足以存儲新寫入的錄像數據,從而發生前述的卷周期過載。
[0041 ] 何時創建高性能錄像池、何時創建休眠錄像池、何時創建備份錄像池、創建的不同錄像池的個數和容量,以及分別將哪些不同的攝像頭分配給不同的錄像卷等均可根據實際需要而定。
[0042]二)當任一 VS發生故障
[0043]I)當任一 VS發生故障時,維護單元確定該發生故障的VS上的各錄像卷分別所屬的錄像池,并針對確定出的每個錄像池X,分別按照下述A?D所示方式進行處理。
[0044]假設該發生故障的VS上存在四個錄像卷,其中的兩個錄像卷屬于同一個錄像池,另兩個錄像卷同屬于另一個錄像池,那么,可針對每個錄像池(為便于表述,用錄像池X來代表任一錄像池),分別按照下述A?D所示方式進行處理。
[0045]A、將該發生故障的VS上屬于錄像池X的各錄像卷對應的正在錄像的攝像頭路數之和作為錄像池X的需要切出的攝像頭路數。
[0046]B、確定從除發生故障的VS外的其它VS上存在的屬于錄像池X的錄像卷中選出的一個或部分或全部錄像卷是否滿足以下條件:選出的錄像卷上允許切入的攝像頭路數之和大于或等于錄像池X的需要切出的攝像頭路數,如果是,則將錄像池X的需要切出的攝像頭全部切換到選出的錄像卷上;否則,將錄像池X的需要切出的攝像頭中的N路切換到除發生故障的VS外的其它VS上存在的屬于錄像池X的錄像卷上,N等于除發生故障的VS外的其它VS上的屬于錄像池X的錄像卷上允許切入的攝像頭路數之和。
[0047]C、針對剩余的錄像池X的需要切出的攝像頭,分別依次向除發生故障的VS外的存在屬于錄像池X的錄像卷的VS發送擴卷指令,并在當每次發出擴卷指令后,如果接收到擴卷成功消息,則進一步確定擴卷后的錄像卷上允許切入的攝像頭路數是否大于或等于剩余的錄像池X的需要切出的攝像頭路數,如果是,則將剩余的錄像池X的需要切出的攝像頭全部切換到擴卷后的錄像卷上,否則,將剩余的錄像池X的需要切出的攝像頭中的M路切換到擴卷后的錄像卷上,M等于擴卷后的錄像卷上允許切入的攝像頭路數,直到不存在剩余的錄像池X的需要切出的攝像頭為止。
[0048]D、如果向除發生故障的VS外的存在屬于錄像池X的錄像卷的VS均發送過擴卷指令后,仍存在剩余的錄像池X的需要切出的攝像頭,則根據剩余的錄像池X的需要切出的攝像頭路數確定出要創建的錄像卷的總容量,并從各VS中選出符合要求的VS,向選出的VS發送創卷指令,將剩余的錄像池X的需要切出的攝像頭切換到所創建的錄像卷上。
[0049]舉例如下:
[0050]假設錄像池X下屬三個錄像卷,分別為錄像卷1、錄像卷2和錄像卷3,其中,錄像卷I和錄像卷2位于該發生故障的VS上,錄像卷3位于一個未發生故障的VS上;并假設錄像卷3允許切入的攝像頭路數為三,如果錄像池X的需要切出的攝像頭路數為二,那么則可將錄像池X的需要切出的攝像頭全部切換到錄像卷3上,如果錄像池X的需要切出的攝像頭路數為六,那么則只能將其中的三路切換到錄像卷3上,剩余三路未切換;針對剩余的未切換的三路,可向錄像卷3所在的VS發送擴卷指令,假設錄像卷3擴卷后可切入的攝像頭路數為二,則再將兩路未切換的攝像頭切換到錄像卷3上,剩余一路未切換;針對剩余的未切換的一路,可在某一 VS上創建一個新的錄像卷,并將最后一路未切換的攝像頭切換到新創建的錄像卷上。
[0051]其中,對于每個錄像卷,在未進行擴卷之前,如果該錄像卷的卷壓力小于或等于1,則維護單元可將以下三個值的最小值作為該錄像卷上允許切入的攝像頭路數:
[0052]該錄像卷的容量X0.85X8/該錄像卷所屬錄像池中的錄像數據的存儲周期X24X3600X該錄像卷所屬錄像池中的錄像數據的平均碼流;
[0053]該錄像卷所在VS上最大能承載的攝像頭路數(為一個預設的恒定值)-該錄像卷所在VS上當前正在錄像的攝像頭的路數;
[0054]該錄像卷的容量X0.85X8/該錄像卷所屬錄像池中的錄像數據的存儲周期X24X3600X該錄像卷所屬錄像池中的錄像數據的平均碼流該錄像卷上當前正在錄像的攝像頭的路數;
[0055]如果該錄像卷的卷壓力大于1,則維護單元可將以下三個值的最小值作為該錄像卷上允許切入的攝像頭路數:[0056]0.8X該錄像卷的最大卷壓力X該錄像卷上當前正在錄像的攝像頭的路數/該錄像卷的當前卷壓力-該錄像卷上當前正在錄像的攝像頭的路數;
[0057]該錄像卷所在VS上最大能承載的攝像頭路數-該錄像卷上當前正在錄像的攝像頭的路數;
[0058]該錄像卷最大能承載的攝像頭路數該錄像卷上當前正在錄像的攝像頭的路數;
[0059]如果對該錄像卷進行了擴卷,則維護單元可將以下兩個值的最小值作為該錄像卷上允許切入的攝像頭路數:
[0060]該錄像卷所在VS上最大能承載的攝像頭路數-該錄像卷所在VS上當前正在錄像的攝像頭的路數;
[0061]該錄像卷擴卷后的容量X8/該錄像卷所屬錄像池中的錄像數據的存儲周期X該錄像卷所屬錄像池中的錄像數據的平均碼流-該錄像卷上當前正在錄像的攝像頭的路數;
[0062]其中,在計算時,錄像數據的存儲周期以秒為單位。
[0063]2)相應地,對于處理單元,根據接收自維護單元的指令為擴卷指令或創卷指令的不同,采用不同的處理方式。
[0064]A、當接收到來自維護單元的擴卷指令時,獲取其中攜帶的需要擴充的容量以及要擴卷的錄像卷所屬的錄像池的類型;
[0065]如果要擴卷的錄像卷所屬的錄像池為高性能錄像池,則確定要擴卷的錄像卷所在的RAID的空閑容量是否大于或等于需要擴充的容量,如果是,則按照需要擴充的容量,利用所在RAID的空閑容量對要擴卷的錄像卷進行擴展容量操作,并向維護單元返回擴卷成功消息;
[0066]如果要擴卷的錄像卷所屬的錄像池為休眠錄像池或備份錄像池,則確定所在VS上的各RAID的總空閑容量是否大于或等于需要擴充的容量,如果是,則按照需要擴充的容量,利用各RAID的總空閑容量對要擴卷的錄像卷進行擴展容量操作,并向維護單元返回擴卷成功消息。
[0067]B、當接收到來自維護單元的創卷指令時,獲取其中攜帶的需要創建的錄像卷的總容量以及需要創建的錄像卷所屬的錄像池的類型;
[0068]如果要創建的錄像卷所屬的錄像池為高性能錄像池,則確定所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID的總空閑容量是否大于或等于需要創建的錄像卷的總容量,如果是,則在所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID上創建錄像卷,即:按照所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID的空閑容量之比,將需要創建的錄像卷的總容量分配給所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID,并利用空閑容量在所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID上創建錄像卷。
[0069]否則,進一步確定所在VS上的各RAID的總空閑容量是否大于或等于需要創建的錄像卷的總容量,如果否,則創卷失敗,如果是,則在所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID上創建錄像卷,并在創建完成后,對所在VS上存在與要創建的錄像卷屬于同一錄像池的錄像卷進行擴展容量操作,擴展的總容量等于需要創建的錄像卷的總容量減去在所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID上創建的錄像卷的總容量。
[0070]如果要創建的錄像卷所屬的錄像池為休眠錄像池或備份錄像池,則確定所在VS上的各RAID的總空閑容量是否大于或等于需要創建的錄像卷的總容量,如果否,則創卷失敗,如果是,則進一步確定所在VS上是否存在與要創建的錄像卷屬于同一錄像池的錄像卷,如果不存在,則按照需要創建的錄像卷的總容量創建錄像卷,如果存在,則對已存在的與要創建的錄像卷屬于同一錄像池的錄像卷進行擴展容量操作,擴展的總容量等于需要創建的錄像卷的總容量,如何針對休眠錄像池或備份錄像池進行創建錄像卷和擴展容量操作請參照前述相關說明,不再贅述。
[0071]三)當任一 VS發生壓力過載時
[0072]當任一 VS發生壓力過載時,維護單元確定該壓力過載的VS上的每個錄像卷需要切出的攝像頭路數,并確定該壓力過載的VS上的各錄像卷分別所屬的錄像池,針對確定出的每個錄像池I (為便于表述,用錄像池I來代表確定出的任一錄像池),分別按照下述A?D所示方式進行處理。
[0073]在實際應用中,當任一 VS發生壓力過載,且該壓力過載的VS上的所有錄像卷的卷壓力全部過載時,該壓力過載的VS上的每個錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數-0.8X該錄像卷的最大卷壓力X該錄像卷上當前正在錄像的攝像頭的路數/該錄像卷的當前卷壓力。
[0074]當任一 VS發生壓力過載,且該壓力過載的VS上只有部分錄像卷的卷壓力過載時,該壓力過載的VS上的每個卷壓力過載的錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數-0.8 X該錄像卷的最大卷壓力X該錄像卷上當前正在錄像的攝像頭的路數/該錄像卷的當前卷壓力;該壓力過載的VS上的每個卷壓力未過載的錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數X0.1+1。
[0075]當任一 VS發生壓力過載,且該壓力過載的VS上的全部錄像卷的卷壓力均未過載時,該壓力過載的VS上的每個錄像卷上需要切出的攝像頭路數=(該壓力過載的VS上當前正在錄像的攝像頭的路數X0.1+1) X該錄像卷上當前正在錄像的攝像頭的路數/該壓力過載的VS上當前正在錄像的攝像頭的路數+1。
[0076]確定一錄像卷的卷壓力過載的條件是:該錄像卷的當前卷壓力>該錄像卷的最大卷壓力X85%,該錄像卷的最大卷壓力=該錄像卷的容量/該錄像卷所屬錄像池中的錄像數據的存儲周期。
[0077]如何確定VS是否壓力過載為現有技術。
[0078]A、將該壓力過載的VS上屬于錄像池y的各錄像卷需要切出的攝像頭路數之和作為錄像池I的需要切出的攝像頭路數。
[0079]B、確定從除壓力過載的VS外的其它VS上的屬于錄像池y的錄像卷中選出的一個或部分或全部錄像卷是否滿足以下條件:選出的錄像卷上允許切入的攝像頭路數之和大于或等于錄像池I的需要切出的攝像頭路數,如果是,則將錄像池I的需要切出的攝像頭全部切換到選出的錄像卷上;否則,將錄像池y的需要切出的攝像頭中的N路切換到除壓力過載的VS外的其它VS上存在的屬于錄像池y的錄像卷上,N等于除壓力過載的VS外的其它VS上的屬于錄像池y的錄像卷上允許切入的攝像頭路數之和。
[0080]C、針對剩余的錄像池y的需要切出的攝像頭,分別依次向除壓力過載的VS外的存在屬于錄像池I的錄像卷的VS發送擴卷指令,并在當每次發出擴卷指令后,如果接收到擴卷成功消息,則進一步確定擴卷后的錄像卷上允許切入的攝像頭路數是否大于或等于剩余的錄像池I的需要切出的攝像頭路數,如果是,則將剩余的錄像池I的需要切出的攝像頭全部切換到擴卷后的錄像卷上,否則,將剩余的錄像池y的需要切出的攝像頭中的M路切換到擴卷后的錄像卷上,M等于擴卷后的錄像卷上允許切入的攝像頭路數,直到不存在剩余的錄像池I的需要切出的攝像頭為止。
[0081]D、如果向除壓力過載的VS外的存在屬于錄像池y的錄像卷的VS均發送過擴卷指令后,仍存在剩余的錄像池I的需要切出的攝像頭,則根據剩余的錄像池I的需要切出的攝像頭路數確定出要創建的錄像卷的總容量,并從各VS中選出符合要求的VS,向選出的VS發送創卷指令,將剩余的錄像池y的需要切出的攝像頭切換到所創建的錄像卷上。
[0082]處理單元接收到擴卷指令和創卷指令后的處理方式以及維護單元如何確定擴卷前和擴卷后的錄像卷允許切入的攝像頭路數等請參照前述相關說明,不再贅述。
[0083]四)當任一錄像卷z發生卷壓力過載和/或卷周期過載時
[0084]當任一錄像卷z發生卷壓力過載和/或卷周期過載時(為便于表述,用錄像卷z來代表任一卷壓力過載和/或卷周期過載的錄像卷),維護單元確定錄像卷z需要切出的攝像頭路數。
[0085]具體來說,當任一錄像卷發生卷壓力過載且卷周期過載時,該錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數-該錄像卷的最大卷壓力X0.8X該錄像卷上當前正在錄像的攝像頭的路數/該錄像卷的當前卷壓力;當任一錄像卷發生卷壓力過載或卷周期過載時,該錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數X0.1+1。
[0086]之后,可按照下述A?C所示方式進行處理。
[0087]A、確定從與錄像卷z屬于同一錄像池的其它錄像卷中選出的一個或部分或全部錄像卷是否滿足以下條件:選出的錄像卷上允許切入的攝像頭路數之和大于或等于錄像卷z需要切出的攝像頭路數,如果是,則將錄像卷z需要切出的攝像頭全部切換到選出的錄像卷上;否則,將錄像卷Z需要切出的攝像頭中的N路切換到與錄像卷z屬于同一錄像池的其它錄像卷上,N等于與錄像卷z屬于同一錄像池的其它錄像卷上允許切入的攝像頭路數之和。
[0088]B、針對剩余的錄像卷z需要切出的攝像頭,分別依次向錄像卷z所在VS以及與錄像卷z屬于同一錄像池的其它錄像卷所在VS發送擴卷指令,并在當每次發出擴卷指令后,如果接收到擴卷成功消息,則確定擴卷后的錄像卷上允許切入攝像頭路數是否大于或等于剩余的錄像卷z需要切出的攝像頭路數,如果是,則將剩余的錄像卷z需要切出的攝像頭全部切換到擴卷后的錄像卷上,否則,將剩余的錄像卷z需要切出的攝像頭中的M路切換到擴卷后的錄像卷上,M等于擴卷后的錄像卷上允許切入的攝像頭路數,直到不存在剩余的錄像卷z需要切出的攝像頭為止。
[0089]C、如果向錄像卷z所在VS以及與錄像卷z屬于同一錄像池的其它錄像卷所在VS均發送過擴卷指令后,仍存在剩余的錄像卷z需要切出的攝像頭,則根據剩余的錄像卷z需要切出的攝像頭路數確定出要創建的錄像卷的總容量,并從各VS中選出符合要求的VS,向選出的VS發送創卷指令,將剩余的錄像卷z需要切出的攝像頭切換到所創建的錄像卷上。[0090]處理單元接收到擴卷指令和創卷指令后的處理方式以及維護單元如何確定擴卷前和擴卷后的錄像卷允許切入的攝像頭路數等請參照前述相關說明,不再贅述。
[0091]上述二)?四)所示情況觸發的后續操作可統稱為智能負載均衡。如果通過擴卷和創卷等處理仍不能將需要切出的攝像頭全部切換到符合要求的錄像卷上,還可采用其它處理方式,如增加VS等。
[0092]另外,如圖1所示,本發明所述方案中還可引入第三方存儲設備,第三方存儲設備可掛載在存儲服務器(VSS, Video Slave Server)下,對于掛載有第三方存儲設備的VSS,可按照前述VS的處理方式進行處理,如進行錄像卷的創建、進行周期循環覆蓋以及智能負載均衡等,具體實現不再贅述。
[0093]再有,如圖1所示,管理服務器集群中除了包括VM-Master外,還會包括多個VM,VM可用于存儲錄像數據的索引,為用戶提供錄像數據的查詢等功能,VM的具體功能為本領域公知。如果某個VM出現故障,當API模塊需要服務時,其它正常運行的VM仍可為API模塊提供相應的服務,也就是說,單個VM故障不會對系統的正常運行造成影響。
[0094]再有,在實際應用中,管理服務器集群有可能會發生腦裂,圖2為本發明管理服務器集群發生腦裂的示意圖。腦裂是指由于網絡原因或其它原因使得管理服務器集群分裂為兩個以上小集群,每個小集群中的各VM通過競爭算法競爭出自己的VM-Master,并分別對外提供服務,造成的數據不一致的問題。
[0095]腦裂發生時,不同的API接口可能連接上不同小集群中的VM-Master,每個小集群分別為不同的API接口提供服務,每個小集群中的VM-Master可定時向下屬各VM發送組播消息,告知各VM自己是Master,當VM-Master中的數據發生改變時,會和下屬各VM進行數據同步。
[0096]當管理服務器集群恢復正常后,即各小集群之間可正常通訊時,在管理服務器集群中會存在多個VM-Master,此時每個VM-Master均會接收到其它多個VM-Master發送來的組播消息,所有VM-Master會自動取消自己的Master資格,管理服務器集群中的所有VM通過競爭算法競爭出一個新的VM-Master,該新的VM-Master與下屬各VM進行數據同步,并在當數據同步完成后,對外提供服務。
[0097]新的VM-Master與下屬各VM進行數據同步的方式可為:新的VM-Master通知下屬各VM將各自的數據記錄發送給自身,針對接收到的每條數據記錄,新的VM-Master會分別檢查自身的數據庫,以確定自身的數據庫中是否保存有與接收到的該條數據記錄對應的數據記錄,如果否,則將接收到的該條數據記錄保存到自身的數據庫中,否則,確定接收到的該條數據記錄與自身數據庫中保存的對應的數據記錄是否存在數據字段更新,如果是,則對自身數據庫中保存的對應的數據記錄進行更新,否則,不作處理。
[0098]基于上述介紹,圖3為本發明錄像數據管理方法實施例的流程圖。如圖3所示,包括以下步驟:
[0099]步驟31:當通過API模塊每接收到一條錄像池創建指令時,VM-Master根據錄像池創建指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建;vs根據接收自VM-Master的通知在自身創建錄像卷。
[0100]步驟32 =VM-Master為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過API模塊寫入到對應的錄像卷中;當任一 VS發生故障時,將該發生故障的VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,繼續進行錄像數據的寫入。
[0101]該方法還可進一步包括以下之一或任意組合:
[0102]當任一 VS發生壓力過載時,VM-Master將該VS上的錄像卷對應的部分攝像頭切換到所選定的符合切入要求的錄像卷上;
[0103]當任一錄像卷發生卷壓力過載和/或卷周期過載時,VM-Master將該錄像卷對應的部分攝像頭切換到所選定的符合切入要求的錄像卷上;
[0104]當任一 VS確定自身一錄像卷中的錄像數據的存儲周期超過預定時長時,刪除該錄像數據;
[0105]當管理服務器集群發生腦裂,分裂為兩個以上小集群時,每個小集群中的VM-Master分別對外提供服務;當管理服務器集群恢復正常后,每個小集群中的VM-Master分別取消自身的Master資格,并通過競爭算法競爭出一個新的VM-Master,該新的VM-Master與管理服務器集群中的各非VM-Master (各VM)進行數據同步,并在當數據同步完成后,對外提供服務。
[0106]圖3所示方法實施例的具體工作流程請參照前述系統實施例中的相應說明,此處不再贅述。
[0107]以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。
【權利要求】
1.一種錄像數據管理系統,其特征在于,包括:應用程序接口 API模塊、管理服務器集群以及存儲節點VS,其中,所述管理服務器集群中包括:主管理服務器VM-Master,所述VS的個數為一個以上; 所述VM-Master,用于當通過所述API模塊每接收到一條錄像池創建指令時,根據所述錄像池創建指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建; 所述VS,用于根據接收自所述VM-Master的通知在自身創建錄像卷; 所述VM-Master進一步用于,為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過所述API模塊寫入到對應的錄像卷中;當任一 VS發生故障時,將該發生故障的VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,繼續進行錄像數據的寫入。
2.根據權利要求1所述的系統,其特征在于,所述VM-Master中包括:管理單元和維護單元;所述VS中包括:處理單元; 所述管理單元,用于當通過所述API模塊每接收到一條錄像池創建指令時,根據所述錄像池創建指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建;為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過所述API模塊寫入到對應的錄像卷中; 所述處理單元,用于根據接收自所述管理單元的通知在自身創建錄像卷; 所述維護單元,用于當任一 VS發生故障時,將該發生故障的VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,繼續進行錄像數據的寫入。
3.根據權利要求2所述的系統,其特征在于,所述維護單元進一步用于, 當任一 VS發生壓力過載時,將該VS上的錄像卷對應的部分攝像頭切換到所選定的符合切入要求的錄像卷上; 當任一錄像卷發生卷壓力過載和/或卷周期過載時,將該錄像卷對應的部分攝像頭切換到所選定的符合切入要求的錄像卷上。
4.根據權利要求3所述的系統,其特征在于, 所述管理單元獲取接收到的錄像池創建指令中攜帶的創建要求信息,所述創建要求信息中包括:要創建的錄像池的類型以及要創建的錄像池的容量指示信息,根據要創建的錄像池的容量指示信息確定出要創建的錄像池的容量;其中,錄像池的類型包括:高性能錄像池、休眠錄像池和備份錄像池; 當要創建的錄像池為高性能錄像池時,所述管理單元將各VS按照空閑容量從小到大的順序進行排序,并選出排序后處于前兩位的VS,確定選出的兩個VS的總空閑容量是否大于或等于要創建的錄像池的容量,如果否,則選出排序后處于前三位的VS,確定選出的三個VS的總空閑容量是否大于或等于要創建的錄像池的容量,依次類推,直到當選出的VS的總空閑容量大于或等于要創建的錄像池的容量時,將要創建的錄像池的容量按照各選出的VS的空閑容量之比分 配給各選出的VS,并通知各選出的VS按照要創建的錄像池的類型以及所分配的容量進行錄像卷的創建; 當要創建的錄像池為休眠錄像池或備份錄像池時,所述管理單元將各VS按照空閑容量從大到小的順序進行排序,并選出排序后處于第一位的VS,確定選出的VS的空閑容量是否大于或等于要創建的錄像池的容量,如果否,則選出排序后處于前兩位的VS,確定選出的兩個VS的總空閑容量是否大于或等于要創建的錄像池的容量,依次類推,直到當選出的VS的總空閑容量大于或等于要創建的錄像池的容量時,通知各選出的VS按照要創建的錄像池的類型以及所分配的容量進行錄像卷的創建;其中,對于各選出的VS中未排在最后一位的各VS,其所分配的容量等于其空閑容量,對于各選出的VS中排在最后一位的VS,其所分配的容量等于要創建的錄像池的容量減去各選出的VS中未排在最后一位的各VS的總空閑容量; 當要創建的錄像池為高性能錄像池時,所述處理單元將所在VS所分配的容量按照所在VS中各存在空閑容量的磁盤陣列RAID的空閑容量之比分配給各存在空閑容量的RAID,并在各存在空閑容量的RAID上分別創建一個容量等于該RAID所分配的容量的錄像卷; 當要創建的錄像池為休眠錄像池或備份錄像池時,所述處理單元將所在VS中各存在空閑容量的RAID按照空閑容量從大到小的順序進行排序,并選出排序后處于第一位的RAID,確定選出的RAID的空閑容量是否大于或等于所在VS所分配的容量,如果否,則選出排序后處于前兩位的RAID,確定選出的兩個RAID的總空閑容量是否大于或等于所在VS所分配的容量,依次類推,直到當選出的RAID的總空閑容量大于或等于所在VS所分配的容量時,利用各選出的RAID的總空閑容量創建一個容量等于所在VS所分配的容量的錄像卷; 其中,一個RAID上至多只能有一個屬于同一高性能錄像池的錄像卷,一個VS上至多只能有一個屬于同一休眠錄像池或同一備份錄像池的錄像卷。
5.根據權利要求4所述的系統,其特征在于, 所述要創建的錄像池的容量指示信息中包括:錄像數據的平均碼流、錄像數據的存儲周期以及要創建的錄像池對應的攝像頭路數; 所述要創建的錄像池的容量=(要創建的錄像池對應的攝像頭路數X錄像數據的平均碼流X錄像數據的存儲周期)/8+1,其中,錄像數據的存儲周期以秒為單位。
6.根據權利要求5所述的系統,其特征在于, 所述處理單元進一步用于,當所在VS中的任一錄像卷中的錄像數據的存儲周期超過該錄像卷所屬的錄 像池中的錄像數據的存儲周期時,刪除該錄像數據。
7.根據權利要求4所述的系統,其特征在于, 當任一 VS發生故障時,所述維護單元確定該發生故障的VS上的各錄像卷分別所屬的錄像池,并針對確定出的每個錄像池X,分別進行以下處理: 將該發生故障的VS上屬于錄像池X的各錄像卷對應的正在錄像的攝像頭路數之和作為錄像池X的需要切出的攝像頭路數; 確定從除發生故障的VS外的其它VS上的屬于錄像池X的錄像卷中選出的一個或部分或全部錄像卷是否滿足以下條件:選出的錄像卷上允許切入的攝像頭路數之和大于或等于錄像池X的需要切出的攝像頭路數,如果是,則將錄像池X的需要切出的攝像頭全部切換到選出的錄像卷上;否則,將錄像池X的需要切出的攝像頭中的N路切換到除發生故障的VS外的其它VS上存在的屬于錄像池X的錄像卷上,N等于除發生故障的VS外的其它VS上的屬于錄像池X的錄像卷上允許切入的攝像頭路數之和; 針對剩余的錄像池X的需要切出的攝像頭,分別依次向除發生故障的VS外的存在屬于錄像池X的錄像卷的VS發送擴卷指令,并在當每次發出擴卷指令后,如果接收到擴卷成功消息,則進一步確定擴卷后的錄像卷上允許切入的攝像頭路數是否大于或等于剩余的錄像池X的需要切出的攝像頭路數,如果是,則將剩余的錄像池X的需要切出的攝像頭全部切換到擴卷后的錄像卷上,否則,將剩余的錄像池X的需要切出的攝像頭中的M路切換到擴卷后的錄像卷上,M等于擴卷后的錄像卷上允許切入的攝像頭路數,直到不存在剩余的錄像池X的需要切出的攝像頭為止; 如果向除發生故障的VS外的存在屬于錄像池X的錄像卷的VS均發送過擴卷指令后,仍存在剩余的錄像池X的需要切出的攝像頭,則根據剩余的錄像池X的需要切出的攝像頭路數確定出要創建的錄像卷的總容量,并從各VS中選出符合要求的VS,向選出的VS發送創卷指令,將剩余的錄像池X的需要切出的攝像頭切換到所創建的錄像卷上。
8.根據權利要求4所述的系統,其特征在于, 當任一 VS發生壓力過載時,所述維護單元確定該壓力過載的VS上的每個錄像卷需要切出的攝像頭路數,并確定該壓力過載的VS上的各錄像卷分別所屬的錄像池,針對確定出的每個錄像池y,分別進行以下處理: 將該壓力過載的VS上屬于錄像池y的各錄像卷需要切出的攝像頭路數之和作為錄像池I的需要切出的攝像頭路數; 確定從除壓力過載的VS外的其它VS上的屬于錄像池y的錄像卷中選出的一個或部分或全部錄像卷是否滿足以下條件:選出的錄像卷上允許切入的攝像頭路數之和大于或等于錄像池I的需要切出的攝像頭路數,如果是,則將錄像池I的需要切出的攝像頭全部切換到選出的錄像卷上;否則,將錄像池y的需要切出的攝像頭中的N路切換到除壓力過載的VS外的其它VS上存在的屬于錄像池y的錄像卷上,N等于除壓力過載的VS外的其它VS上的屬于錄像池y的錄像卷上允許切入的攝像頭路數之和; 針對剩余的錄像池I的需要切出的攝像頭,分別依次向除壓力過載的VS外的存在屬于錄像池I的錄像卷的VS發送擴卷指令,并在當每次發出擴卷指令后,如果接收到擴卷成功消息,則進一步確定擴卷后的錄像卷上允許切入的攝像頭路數是否大于或等于剩余的錄像池I的需要切出的攝像頭路數,如果是,則將剩余的錄像池I的需要切出的攝像頭全部切換到擴卷后的錄像卷上,否則,將剩余的錄像池I的需要切出的攝像頭中的M路切換到擴卷后的錄像卷上,M等于擴卷后的錄像卷上允許切入的攝像頭路數,直到不存在剩余的錄像池y的需要切出的攝像頭為止; 如果向除壓力過載的VS外的存在屬于錄像池y的錄像卷的VS均發送過擴卷指令后,仍存在剩余的錄像池I的需要切出的攝像頭,則根據剩余的錄像池I的需要切出的攝像頭路數確定出要創建的錄像卷的總容量,并從各VS中選出符合要求的VS,向選出的VS發送創卷指令,將剩余的錄像池y的需要切出的攝像頭切換到所創建的錄像卷上。
9.根據權利要求4所述的系統,其特征在于, 當任一錄像卷Z發生卷壓力過載和/或卷周期過載時,所述維護單元確定錄像卷Z需要切出的攝像頭路數; 確定從與錄像卷z屬于同一錄像池的其它錄像卷中選出的一個或部分或全部錄像卷是否滿足以下條件:選出的錄像卷上允許切入的攝像頭路數之和大于或等于錄像卷z需要切出的攝像頭路數,如果是,則將錄像卷z需要切出的攝像頭全部切換到選出的錄像卷上;否則,將錄像卷z需要切出的攝像頭中的N路切換到與錄像卷z屬于同一錄像池的其它錄像卷上,N等于與錄像卷z屬于同一錄像池的其它錄像卷上允許切入的攝像頭路數之和;針對剩余的錄像卷Z需要切出的攝像頭,分別依次向錄像卷z所在VS以及與錄像卷z屬于同一錄像池的其它錄像卷所在VS發送擴卷指令,并在當每次發出擴卷指令后,如果接收到擴卷成功消息,則確定擴卷后的錄像卷上允許切入攝像頭路數是否大于或等于剩余的錄像卷z需要切出的攝像頭路數,如果是,則將剩余的錄像卷z需要切出的攝像頭全部切換到擴卷后的錄像卷上,否則,將剩余的錄像卷z需要切出的攝像頭中的M路切換到擴卷后的錄像卷上,M等于擴卷后的錄像卷上允許切入的攝像頭路數,直到不存在剩余的錄像卷z需要切出的攝像頭為止; 如果向錄像卷z所在VS以及與錄像卷z屬于同一錄像池的其它錄像卷所在VS均發送過擴卷指令后,仍存在剩余的錄像卷z需要切出的攝像頭,則根據剩余的錄像卷z需要切出的攝像頭路數確定出要創建的錄像卷的總容量,并從各VS中選出符合要求的VS,向選出的VS發送創卷指令,將剩余的錄像卷z需要切出的攝像頭切換到所創建的錄像卷上。
10.根據權利要求7、8或9所述的系統,其特征在于,所述處理單元進一步用于, 當接收到來自所述維護單元的擴卷指令時,獲取其中攜帶的需要擴充的容量以及要擴卷的錄像卷所屬的錄像池的類型; 如果要擴卷的錄像卷所屬的錄像池為高性能錄像池,則確定要擴卷的錄像卷所在的RAID的空閑容量是否大于或等于需要擴充的容量,如果是,則按照需要擴充的容量,利用所在RAID的空閑容量對要擴卷的錄像卷進行擴展容量操作,并向所述維護單元返回擴卷成功消息; 如果要擴卷的錄像卷所屬的錄像池為休眠錄像池或備份錄像池,則確定所在VS上的各RAID的總空閑容量是否大于或等于需要擴充的容量,如果是,則按照需要擴充的容量,利用各RAID的總空閑容量對要擴卷的錄像卷進行擴展容量操作,并向所述維護單元返回擴卷成功消息;` 當接收到來自所述維護單元的創卷指令時,獲取其中攜帶的需要創建的錄像卷的總容量以及需要創建的錄像卷所屬的錄像池的類型; 如果要創建的錄像卷所屬的錄像池為高性能錄像池,則確定所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID的總空閑容量是否大于或等于需要創建的錄像卷的總容量,如果是,則在所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID上創建錄像卷;否則,進一步確定所在VS上的各RAID的總空閑容量是否大于或等于需要創建的錄像卷的總容量,如果是,則在所在VS上不存在與要創建的錄像卷屬于同一錄像池的錄像卷且存在空閑容量的各RAID上創建錄像卷,并在創建完成后,對所在VS上存在與要創建的錄像卷屬于同一錄像池的錄像卷進行擴展容量操作; 如果要創建的錄像卷所屬的錄像池為休眠錄像池或備份錄像池,則確定所在VS上的各RAID的總空閑容量是否大于或等于需要創建的錄像卷的總容量,如果是,則進一步確定所在VS上是否存在與要創建的錄像卷屬于同一錄像池的錄像卷,如果不存在,則在所在VS上創建錄像卷,如果存在,則對已存在的與要創建的錄像卷屬于同一錄像池的錄像卷進行擴展容量操作。
11.根據權利要求7、8或9所述的系統,其特征在于,對于每個錄像卷,在未進行擴卷之前,如果該錄像卷的卷壓力小于或等于1,則所述維護單元將以下三個值的最小值作為該錄像卷上允許切入的攝像頭路數: 該錄像卷的容量X0.85X8/該錄像卷所屬錄像池中的錄像數據的存儲周期X24X3600X該錄像卷所屬錄像池中的錄像數據的平均碼流; 該錄像卷所在VS上最大能承載的攝像頭路數該錄像卷所在VS上當前正在錄像的攝像頭的路數; 該錄像卷的容量X0.85X8/該錄像卷所屬錄像池中的錄像數據的存儲周期X24X3600X該錄像卷所屬錄像池中的錄像數據的平均碼流該錄像卷上當前正在錄像的攝像頭的路數; 如果該錄像卷的卷壓力大于1,則所述維護單元將以下三個值的最小值作為該錄像卷上允許切入的攝像頭路數: .0.8X該錄像卷的最大卷壓力X該錄像卷上當前正在錄像的攝像頭的路數/該錄像卷的當前卷壓力-該錄像卷上當前正在錄像的攝像頭的路數; 該錄像卷所在VS上最大能承載的攝像頭路數-該錄像卷上當前正在錄像的攝像頭的路數; 該錄像卷最大能承載的攝像頭路數-該錄像卷上當前正在錄像的攝像頭的路數;如果對該錄像卷進行了擴卷,則所述維護單元將以下兩個值的最小值作為該錄像卷上允許切入的攝像頭路數: 該錄像卷所在VS上最大能承載的攝像頭路數-該錄像卷所在VS上當前正在錄像的攝像頭的路數; 該錄像卷擴卷后的容量X8/該錄像卷所屬錄像池中的錄像數據的存儲周期X該錄像卷所屬錄像池中的錄像數據的平均碼流-該錄像卷上當前正在錄像的攝像頭的路數;其中,錄像數據的存儲周期以秒為單位。
12.根據權利要求8所述的系統,其特征在于, 當任一 VS發生壓力過載,且該壓力過載的VS上的所有錄像卷的卷壓力全部過載時,該壓力過載的VS上的每個錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數-0.8X該錄像卷的最大卷壓力X該錄像卷上當前正在錄像的攝像頭的路數/該錄像卷的當前卷壓力; 當任一 VS發生壓力過載,且該壓力過載的VS上只有部分錄像卷的卷壓力過載時,該壓力過載的VS上的每個卷壓力過載的錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數-0.8 X該錄像卷的最大卷壓力X該錄像卷上當前正在錄像的攝像頭的路數/該錄像卷的當前卷壓力;該壓力過載的VS上的每個卷壓力未過載的錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數X0.1+1 ; 當任一 VS發生壓力過載,且該壓力過載的VS上的全部錄像卷的卷壓力均未過載時,該壓力過載的VS上的每個錄像卷上需要切出的攝像頭路數=(該壓力過載的VS上當前正在錄像的攝像頭的路數X0.1+1) X該錄像卷上當前正在錄像的攝像頭的路數/該壓力過載的VS上當前正在錄像的攝像頭的路數+1。
13.根據權利要求9所述的系統,其特征在于, 當任一錄像卷發生卷壓力過載且卷周期過載時,該錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數-該錄像卷的最大卷壓力X0.8X該錄像卷上當前正在錄像的攝像頭的路數/該錄像卷的當前卷壓力; 當任一錄像卷發生卷壓力過載或卷周期過載時,該錄像卷上需要切出的攝像頭路數=該錄像卷上當前正在錄像的攝像頭的路數X0.1+1。
14.一種基于權利要求1所述系統的錄像數據管理方法,其特征在于,包括: 當通過所述API模塊每接收到一條錄像池創建指令時,所述VM-Master根據所述錄像池創建指令中攜帶的創建要求信息選出符合要求的VS,并通知選出的VS進行屬于要創建的錄像池的錄像卷的創建;所述VS根據接收自所述VM-Master的通知在自身創建錄像卷; 所述VM-Master為各錄像卷分配攝像頭,以便攝像頭將獲取到的錄像數據通過所述API模塊寫入到對應的錄像卷中;當任一 VS發生故障時,將該發生故障的VS上的錄像卷對應的攝像頭切換到所選定的符合切入要求的錄像卷上,繼續進行錄像數據的寫入。
15.根據權利要求14所述的方法,其特征在于,該方法進一步包括: 當任一 VS發生壓力過載時,所述VM-Master將該VS上的錄像卷對應的部分攝像頭切換到所選定的符合切入要求的錄像卷上; 當任一錄像卷發生卷壓力過載和/或卷周期過載時,所述VM-Master將該錄像卷對應的部分攝像頭切換到所選定的符合切入要求的錄像卷上。
16.根據權利要 求14或15所述的方法,其特征在于,該方法進一步包括: 當任一 VS確定自身一錄像卷中的錄像數據的存儲周期超過預定時長時,刪除該錄像數據。
17.根據權利要求14或15所述的方法,其特征在于,該方法進一步包括: 當所述管理服務器集群發生腦裂,分裂為兩個以上小集群時,每個小集群中的VM-Master分別對外提供服務; 當所述管理服務器集群恢復正常后,每個小集群中的VM-Master分別取消自身的Master資格,并通過競爭算法競爭出一個新的VM-Master,該新的VM-Master與所述管理服務器集群中的各非VM-Master進行數據同步,并在當數據同步完成后,對外提供服務。
【文檔編號】H04N5/76GK103780859SQ201210415092
【公開日】2014年5月7日 申請日期:2012年10月26日 優先權日:2012年10月26日
【發明者】汪渭春, 嚴杰, 錢峰, 夏偉強, 周波 申請人:武漢海康威視系統技術有限公司