多級視頻監控平臺網絡配置

多級視頻監控平臺網絡配置管理的設計與實現

 以前的視頻監控系統通常僅有幾十個點或者幾百個點,而目前行業的視頻監控系統應用規模越來越大,動輒有覆蓋一個城市、甚至覆蓋全國的需求。面對如此多的平臺節點,而每一個平臺節點下又連接了很多的資源,這些資源都以數據的形式保存在本地平臺的數據庫或上級平臺的數據庫服務器中,那麼,怎樣能快速有效地對如此多的數據進行配置管理,是視頻監控系統工程人員亟待解決的問題。
  隨着企業信息化的進程與企業業務領域的擴展不斷推進,分佈式數據庫應用的日趨廣泛,進行分佈式數據庫數據同步技術的研究具有重要的意義。數據同步通過對處於分佈式數據庫系統中各個站點上的數據進行同步來達到對數據分散存放的目的,這種存放可以使用戶透明地處理和使用數據,大大增加了站點的自治性,且這些副本大大減少了由於自然或其他原因導致的數據丟失等重大故障。
  1網絡配置與管理系統實現
   1.1多級平臺總體結構
  視頻監控平臺採用三層架構的方式,域管理服務器DS(Domain)爲頂級平臺,子域管理服務器SDS(Sub Domain Service)爲二級平臺,網管控制器MU(Matrix United-Protocol)爲最底層的平臺,如圖1所示。
  MU可以簡單的理解爲一個協議轉換器,即可以兼容各種矩陣的控制協議,使其現實與外界互通。MU軟件平臺爲嵌入式Linux操作系統。通過MU控制模擬矩陣,從而實現將模擬矩陣監控系統納入IP網絡,從而實現統一的監控管理。MU以嵌入型數據庫存儲數據。
  系統環境爲:一箇中心,兩個分中心。中心設一個域服務器,兩個分中心各一臺子域服務器,各有若干臺MU,在同一個IP網上。
  每個中心各一臺MAX矩陣,用於連接監視器、攝像頭、編解碼器等設備。三臺Max矩陣通過視頻幹線相連,(雙向各兩路視頻幹線),中心4臺監視器,分中心各2臺監視器。每臺矩陣配置4路視頻輸入。
  三臺MU分別通過串口與MAX矩陣相連,用於管理本地用戶和資源。域服務器上存儲所有的用戶與資源。每個MU上接至少一個鍵盤,可以從鍵盤上登錄。
  從矩陣輸出4路至編碼器,編碼器數字化後經存儲服務器存儲。4路視頻到海康DVR進行存儲,通過客戶端可以查詢存儲服務器上的錄像、同時也能訪問海康DVR上存儲的錄像,如圖2。
  圖2物理結構
  對於這麼多資源類型,如何唯一有序的區別每一個資源,我們採用資源全局唯一編號的方式.
  所有的資源有一個內部編號,這個內部編號是全局唯一確定的4個字節的數值,給節點劃分區間,4個字節的前14位表示節點編號,後18位表示資源編號。節點數量可以達到16384,每個節點的資源數量可以達到262144。
  【計算方法】
  編號起始值=(節點編號-1)×262144+(資源類型起始序號-1)×2048
  根據公式可算出每個資源類型的起始值,每次新增一個資源在上依次的最大值上遞增。資源類型起始序號從資源類型定義表中獲得。資源除了全局編號,還有一個本地編號,如:攝像機編號、監視器編號、矩陣的節點號等。1.2資源配置模塊設計與實現
  視頻監控網絡配置與管理系統採用圖形用戶界面操作方式實現數據的配置和傳輸操作管理。可以將其爲分兩大模塊:一是網絡設備資源數據配置,二是通過數據同步將頂級節點配置的資源數據完全同步到下級節點或底級節點.其中資源數據配置是通過界面操作將數據發送給Oracle數據庫進行保存,和通常的MIS系統一樣。而數據的同步需要採用數據同步技術通過一定條件得到實現。
  針對“資源配置”這項整個系統的數據核心,採用樹型分類的方式進行配置,且數據庫的設計也是照節點來進行資源的劃分。所以最終採用節點爲對象來進行用戶信息、用戶組信息、服務器信息、矩陣信息、攝像機信息、編解碼器信息、監視器信息、編解碼器信息、幹線信息、DVR信息、設備組信息以及攝像機監視器的資源映射的配置。如圖3所示。
  圖3配置界面設計圖
  1.3數據同步模塊實現
  當多級平臺狀態下,包括MU、SDS、DS的服務器節點數衆多,不可能針對每一個節點進行配置,所以我們需要按照自頂向下的方式進行數據同步,只要在最頂級節點將所有的資源數據等配置完畢,就可以按照完全數據同步的策略將其同步到指定節點,其同步架構示意圖如圖1。
  1.3.1影響分佈式數據庫同步性能的因素
  數據同步的服務器分佈在不同的站點,如何有效、高效率地並且保證數據的準確無誤是數據同步研究的關鍵。
  考察一個數據庫同步性能的重要因素就是完成一次數據的同步需要的時間Tmax,下面以最極端的情況來分析哪些因素對Tmax有關,認爲參與同步的服務器間互相間都可以進行同步來考慮。參與同步的服務器以V1、V2、V3……Vn來標示,服務器間的鏈路圖如圖4所示。Wij代表服務器Vi到Vj的網絡帶寬,如圖5所示爲服務器間的網絡帶寬矩陣.Kij表示從Vi服務器一次同步到Vi服務器的數據大小(單位bit),如圖6所示爲服務器間數據同步率矩陣。
  那麼我們可以得出服務器Vi到Vj進行一次數據同步所需要的時間爲
  Tij=Kij/Wij
  那麼進行一次數據同步所需的最大時間爲
  Tmax=(t11、t12…t1n,t21、t22…t2n,……,tn1、tn2…tnn)
  Tmax表示所有tij中的最大值,爲了對Tmax進行分析,從定性的角度,分析滿足一定的條件下,影響Tmax的因素.
  圖8T與n的關係圖
  根據以上整理的分析,可以看出主要有3個方面影響數據同步的性能:需要同步的服務器的個數、衡量網絡性能的網絡帶寬B以及每次同步的數據量Kij,在正常狀態下,網絡的性能認爲是穩定的,那麼主要從另兩個方面入手來提高性能。
  由上面的公式(3)可以看出:第一,可以通過控制服務器的數目來提高性能,前提是服務器數目在允許的範圍之內;第二,減小數據同步率Kij,但是不能太小,太小則需要耗費服務器處理數據的時間,所以應在服務器處理能力允許範圍內來調整Kij。並且後者是影響性能的主要因素。
  1.3.2實現過程
  MU的數據同步,從SDS或DS獲得完整的數據庫文件,更新本地的數據庫。同步採用ftp服務完成,即在DS、SDS或者網管服務器上開通ftp server,MU作爲ftp client,從上級獲取完整的數據庫文件。
  單獨實現一個用於將數據導出的工具,在上級服務器上預先準備一個空的數據庫文件(包含了表、視圖或過程),然後導出所需節點的具體數據,插入到這個數據庫中,比如準備一個MUdb的空數據庫,再插入某個MU的數據,生成這個節點的數據庫文件。
  在上級的ftp服務上,建立各節點的目錄,不同節點的數據庫文件放在不同的目錄下,下級獲取文件時,需要指定節點和文件。
  完整的同步策略還需要建立同步的日誌,記錄各節點同步的時間、同步的結果。在mu這一級,可以增加主動同步的接口,通過客戶端或網管來控制,發送消息給mu,通知mu從上級服務器那裏下載數據。Mu同步下載完數據後,發送確認結果給上級服務器,上級服務器確認後,記錄日誌。
  執行方式採用系統內部執行同步操作:用戶在DS上配置完數據後,可以通過客戶端或網管工具通知DS開始本地創建同步數據庫文件。當創建完成之後,DS會將同步時間、同步信息寫入同步表中,並將同步標誌設置成1,MU或SDS採用每隔一段時間去獲取標誌,當獲取標誌1後,內部調用SynTool工具,執行同步,完成後,通知DS,DS更新同步表,將同步標誌設置成0。
  創建同步數據文件過程:DS端啓動數據同步工具,執行SynTool -c -n 100 -d chao/chao–t 1
  參數描述:
  c表示創建同步數據文件。
  n表示創建指定節點的同步數據文件。
  d表示連接的數據用戶名和密碼。
  t表示要創建的數據庫文件的當前節點服務器的類型,1:MU 2:SDS。
  注:每個參數之間不需要遵循任何順序。如果不加-n參數表示創建當前庫裏所有節點的同步數據文件。如果不加-l參數,表示SynTool所在的當前目錄下生成數據庫文件。在執行數據同步之前,同步數據工具目錄下應該具有oracle和sliqte最原始的建庫腳本(基表)和數據庫文件,同步是在表結構沒有改變的前提下。
  生成同步文件:數據同步工具首先根據節點編號,在路徑建立目錄,然後通過oracl數據庫篩選出對應節點需要的數據,然後在對應目錄下(目錄名稱以節點名稱命名)創建createDB.sql文件,將所需要數據轉換成insert語句放入腳本中,同時在sqlite中執行這些插入語句,生成新的數據庫文件,如果之前已有同步文件,將文件改名。
  正式執行同步數據:執行SynTool -s–i 192.168.1.70–u oracle–p oracle -f MUdb800–t 1–d test/test–n 800
  參數描述:
  s表示同步DS數據。
  i FTP的IP地址。
  f需要獲取的文件名。
  u連接FTP的用戶名。
  p連接FTP的密碼。
  t表示要創建的數據庫文件的當前節點服務器的類型,1:MU 2:SDS。
  d表示連接的數據庫用戶名和密碼。
  注:-d參數表示連接的當前數據庫用戶名和密碼,當-t參數爲2時(SDS),同步工具將通過ftp獲取insert.sql腳本,然後通過sql? plus執行腳本,與-t參數爲1時(MU)的直接獲取數據庫文件是有區別的。
  同步DS數據:用戶在SDS或MU上手動執行SynTool,MU或SDS根據自己的節點編號,獲取FTP目錄和同步文件名,通過shell腳本,建立FTP連接,獲取指定的文件,改名備份之前已有的數據文件,
  文件和路徑命名規則:創建的數據庫文件的路徑,所有創建的文件都放置在ftp:\db\下,並且根據節點編號創建目錄,將文件放置在ftp:\db\NodEiD\NodeID.db。
  創建的數據庫文件以節點編號命名,eg:800.db
  當生成新的同步文件後,將原有的改名備份,改名規則爲NodeID_年月日時分秒.db,eg:800_20070614121212.db。
  MU或SDS獲取到文件後,將以前的文件改名備份,改名規則爲數據文件名_年月日時分秒,eg:Mudb_20070614121212。
  Shell腳本:MU或SDS通過執行Shell腳本從FTP服務器上獲取指定同步文件。如圖9所示。
  2總結
  本文從整體解析了視頻監控網絡管理,並且對多級管理的中心管理DS的任務進行了分類,從而爲資源的所屬關係及權限的分配有了依據。並且從實際資源配置的實現將有形的設備資源抽象並統一到網絡管理系統之中。
  對資源配置模塊的實現作出了詳盡的描述,爲以後對其數據進行處理做好了準備,並且對頂級節點的數據同步進行了詳細的描述,包括可能在同步過程中出現的問題。同時針對現場數據的配置出現的數據庫表空間不足問題,給予了詳細的描述和解答。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章