基于云存儲的集群式攝像數據存儲系統的制作方法
【專利摘要】本發明公開了一種基于云存儲的集群式攝像數據存儲系統,包括客戶端API單元、管理服務器集群、工作服務器集群、備份服務器集群和存儲單元,客戶端API單元設置在攝像機端,管理服務器集群通過API處理模塊與客戶端API單元實現云服務數據傳輸反饋,管理服務器集群通過負載均衡模塊與工作服務器集群實現數據傳輸反饋,管理服務器集群通過節點監控模塊對工作服務器進行工作狀態監控,管理服務器集群通過高可用服務器與備份服務器實現數據傳輸對云管理平臺集群的數據進行備份,工作服務器通過讀寫存儲單元實現視頻數據的云存儲。本發明存儲系統具有性能優異、可用性強、擴容簡單、數據處理效率高和成本低廉的特點。
【專利說明】
基于云存儲的集群式攝像數據存儲系統
技術領域
[0001]本發明涉及云存儲技術領域,具體是指一種基于云存儲的集群式攝像數據存儲系統。
【背景技術】
[0002]監控技術在網絡技術和信息化高速發展的帶動下,并伴隨著安防行業對于監控系統需求的急劇增加一直飛速發展。目前視頻監控系統的現狀是網絡化多媒體監控系統及半數字化監控系統共存,帶來嚴重的數據存儲問題。現有的視頻監控系統在數據存儲存在如下問題:如監控數據在寫入和讀取的時候都要經過視頻服務器(存儲設備),那么視頻服務器就會成為系統的故障點,也會成為整個視頻監控系統的瓶頸;在監控中心,如果幾百路數據同時寫入的時候,那么可能會有上百MB的帶寬需求,一般存儲設備都會具有幾百MB的存儲帶寬,所以后端不會出現性能瓶頸,而流經的視頻服務器前端通過以太網接口與幾百路視頻相連,考慮到服務器本身承受并發1的能力和網卡的可利用率,很難承受幾百路視頻數據的同時寫入,所以視頻服務器也就成為了整個系統的瓶頸所在。如在一個大型視頻管理平臺中,會有很多軟件功能模塊,如網絡直播、網絡錄像、視頻點播、報警聯網控制等,相應的會有很多服務器,這種方式對客戶最直接的影響就是增加服務器成本。
[0003]隨著政府對安防建設關注程度的不斷增加,視頻監控系統每年都在擴大。前端監控點數量的增加,后端的存儲容量也成比例的增加,同樣視頻管理平臺也要相應的擴建,錄像、轉發等服務器也會相應的增加,在現有網絡環境下進行整套系統更改擴建會非常繁瑣。
[0004]針對于此,中國發明專利CN 103152437 A公開了一種分布式視頻監控云存儲系統,該系統至少包括兩個存儲設備,每個存儲設備上嵌入平臺軟件,編碼器將攝像頭采集的模擬信號轉換成數字信號之后直接進入存儲設備,無須經過視頻服務器,同時多個存儲設備通過平臺軟件管控整個監控系統;平臺軟件包括兩個部分,一部分是在存儲設備上分布式運行的一些服務程序,一部分是用戶在Windows上使用的客戶端程序。通過上述架構,視頻監控存儲管理平臺與視頻存儲設備整合在一起,從而省去了運行監控平臺的服務器。優點:集存儲、錄像、轉發、瀏覽、下載、回放、聯網等功能于一體。但是,該系統架構復雜,擴容難度大,在實際用用中可用性不強,其存儲過程涉及編碼專門等復雜流程,直接制約了其性能的提高和成本的節約,應用新還是有一定的局限。
【發明內容】
[0005]本發明的目的是提供一種基于云存儲的集群式攝像數據存儲系統,具有性能優異、可用性強、擴容簡單、數據處理效率高和成本低廉的特點。
[0006]本發明可以通過以下技術方案來實現:
本發明公開了一種基于云存儲的集群式攝像數據存儲系統,包括客戶端API單元、管理服務器集群、工作服務器集群、備份服務器集群和存儲單元,所述客戶端API單元設置在攝像機端,所述管理服務器集群包括API處理模塊、負載均衡模塊、節點監控模塊和高可用模塊,所述管理服務器集群通過API處理模塊與所述客戶端API單元實現云服務數據傳輸反饋,所述管理服務器集群通過負載均衡模塊與所述工作服務器集群實現數據傳輸反饋,所述管理服務器集群通過節點監控模塊對所述工作服務器進行工作狀態監控,所述管理服務器集群通過高可用服務器與所述備份服務器實現數據傳輸對云管理平臺集群的數據進行備份,所述工作服務器通過讀寫存儲單元實現視頻數據的云存儲。
[0007]在具體作用上,API處理模塊主要負載接受客戶端API單元的服務請求信息,記錄本次請求服務請求的相關信息,如源地址,請求類型,攝像機類型等。同時在工作服務器集群中選擇一臺合適的工作服務器,將請求轉發至工作服務器集群的具體節點,由工作服務器集群的具體節點來應答客戶端API單元的服務請求。負載均衡模塊主要是基于工作服務器集群中各工作服務器節點提供的工作服務器都是相同的考慮,采用了 IP負載均衡技術,從工作服務器集群中選擇一臺工作服務器響應服務請求,同時記錄此次請求,以便下次訪問時,直接選擇相同的工作服務器;同時,針對因請求差異服務時間的長度不同造成的負載傾斜,采用動態反饋調度算法進行調整。節點監控模塊主要用于接收工作服務器上報的信息,該信息包括負載值以及工作狀態,負載值計算得到節點權值,并用于負載均衡調度;該模塊同時可以監控工作服務器是否故障,一般認為在一定時間內未接收到工作服務器心跳數據包則認為節點故障,本模塊將定期發送負載值作為心跳連接。高可用性模塊是在管理服務器集群和備份服務器之間保持一個心跳連續,管理服務器集群故障后,備份服務器獲得管理服務器集群的IP,這樣客戶端以及工作服務器集群的數據會發往備份服務器,同時,為了保證管理服務器集群和備份服務器集群之間的數據保持一致,采用共享存儲方法。
[0008]進一步地,所述存儲單元包括高性能錄像池和休眠錄像池。在實際應用中,由于攝像機的類型以及分辨率,碼流等不同,產生的數據量也有很大的差別,必然導致對應的錄像存儲池存儲的數據量也有很大的差別,因此,儲集群劃分為高性能錄像池和休眠錄像池,有利于針對其數據特點進行針對性存儲,提高存儲速度和效率。
[0009]進一步地,所述存儲單元包括若干磁盤陣列RAID5,同時兼顧了存儲性能、數據安全和存儲成本。
[0010]進一步地,所述負載模塊IP負載均衡技術從工作服務器集群中選擇一臺服務器響應服務請求,同時記錄此次請求,以便下次訪問時,直接選擇相同的服務器。
[0011 ]進一步地,所述API處理模塊從客戶端API單元接收并記錄的信息包括源地址,請求類型和攝像機類型。
[0012]進一步地,所述節點監控模塊說記錄的信息包括工作服務器集群的載值以及工作服務器集群的工作狀態。
[00?3] 進一步地,所述高性能錄像池創建錄像池時使各錄像卷屬于不同的物理卷實現磁盤空間分散式利用,使得各存儲節點可以并發工作,從而提高存儲節點的吞吐量和響應速度。
[OOM] 進一步地,所述休眠錄像池創建錄像池時使各錄像卷屬于相同的物理卷實現磁盤空間集中式利用,最大化利用磁盤空間,讓存儲空間盡可能的集中,即剩余的磁盤空間也可以分配給其它錄像池利用。
[0015]本發明一種基于云存儲的集群式攝像數據存儲系統,具有如下的有益效果:
第一、性能優異,系統能夠并行處理用戶請求,提高計算機的處理性能; 第二、可用性強,系統包括多個節點,工作服務器集群內的一臺服務器無法正常工作時,管理服務器集群會自動進行任務切換,將任務分配給其它節點,有效避免單點故障;第三、擴容簡單,無論是增加前端攝像機還是擴容后端存儲,均不用對整個系統進行重新配置,提高系統的可用性和安全性;
第四、數據處理效率高,采用集群系統設計能更高效工作,更快響應客戶端的請求,按照一定的調度算法,將請求分發出去;
第五、成本低廉,本系統架構簡單,數據處理效率高,可實現性和擴容性強,有效節省其使用和維護成本。
【附圖說明】
[0016]圖1為本發明一種基于云存儲的集群式攝像數據存儲系統的原理框圖示意圖。
[0017]圖2為本發明一種基于云存儲的集群式攝像數據存儲系統的文件塊號的構造。
[0018]圖3為本發明一種基于云存儲的集群式攝像數據存儲系統的日志格式。
[0019]圖4為本發明一種基于云存儲的集群式攝像數據存儲系統的用戶上傳文件流程圖。
[0020]圖5為本發明一種基于云存儲的集群式攝像數據存儲系統的用戶下載文件流程圖。
[0021]圖6為本發明一種基于云存儲的集群式攝像數據存儲系統的用戶刪除文件流程圖。
[0022]圖7為本發明一種基于云存儲的集群式攝像數據存儲系統實施例2的錄像存儲池創建流程圖。
【具體實施方式】
[0023]為了使本技術領域的人員更好地理解本發明的技術方案,下面結合實施例及附圖對本發明產品作進一步詳細的說明。
[0024]實施例1
如圖1所示,本發明公開了本發明公開了一種基于云存儲的集群式攝像數據存儲系統,包括客戶端API單元、管理服務器集群、工作服務器集群、備份服務器集群和存儲單元,所述客戶端API單元設置在攝像機端,所述管理服務器集群包括API處理模塊、負載均衡模塊、節點監控模塊和高可用模塊,所述管理服務器集群通過API處理模塊與所述客戶端API單元實現云服務數據傳輸反饋,所述管理服務器集群通過負載均衡模塊與所述工作服務器集群實現數據傳輸反饋,所述管理服務器集群通過節點監控模塊對所述工作服務器進行工作狀態監控,所述管理服務器集群通過高可用服務器與所述備份服務器實現數據傳輸對云管理平臺集群的數據進行備份,所述工作服務器通過讀寫存儲單元實現視頻數據的云存儲。所述存儲單元包括若干磁盤陣列RAID5。所述負載模塊IP負載均衡技術從工作服務器集群中選擇一臺服務器響應服務請求,同時記錄此次請求,以便下次訪問時,直接選擇相同的服務器。所述API處理模塊從客戶端API單元接收并記錄的信息包括源地址,請求類型和攝像機類型。所述節點監控模塊說記錄的信息包括工作服務器集群的載值以及工作服務器集群的工作狀態。
[0025]本系統通過基于云的數據存儲部署模式,通過集群技術將多個單點服務器構成集群系統,利用負載均衡算法分配客戶端服務請求,并利用備份服務器保證系統的高可用性。有效合理地進行資源和數據的統一計算和處理。具體良好的透明性和擴展性。在實際應用中,其具體實現過程如下:
a)構建云存儲單元,云存儲單元是整個集群系統的基礎,本系統采用磁盤陣列RAID5來存儲客戶發送的視頻數據,并設計存儲池,根據客戶端設備特性將數據存儲于不同的邏輯卷。
[0026]b)構建服務器集群,本系統設計了集群網絡連接方式,同時,管理服務器集群對外交互API,以及對工作服務器的監控,設計了工作服務器負載值的計算以及向管理服務器上報工作狀態。
[0027]c)集群負載均衡調度,管理服務器通過負載均衡調度算法選擇適當的工作服務器來處理客戶端的服務請求。
[0028]d)構建高可用集群系統,實現通過一臺備份服務器實時監控管理服務器的工作狀態。并保證與管理服務器之間的數據同步。
[0029]實施例2
為確保系統中所有文件的完整性和文件的摘要信息,本發明存儲系統中采用SHA或MD5等散列算法來實現。文件塊的摘要信息被加入到文件塊號中。其中文件塊號的構造如下圖2所示:
在圖2中,該文件的塊號前半段為文件塊的信息摘要,即MD5值,后半段為文件塊生成時客戶端的地址及當前時間。因此,系統在利用散列機制對文件塊進行尋址時,只使用該塊號的前半段(即文件塊的摘要信息)進行尋址。這樣就可以保證相同的文件塊會被定為到相同的SU(存儲單元集群)中,通過這種方式,系統的存儲利用率可以得到極大的提升,也可以進一步節省存儲空間。
[0030]a)存儲模型設計
每一片文件上傳到數據存儲單元之后都會產生相應的日志,并保存在數據庫中,其日志格式如下圖3所示:
在圖3中,Infohash表示文件索引號;Sequence表示文件片上傳成功后文件片所屬邏輯管理單元的序列號;Delete表示該文件片是否刪除標記;Time表示文件片在數據存儲單元上通過gettime0fday()函數得到的時間戳,只要用于垃圾回收;Path表示文件片所在的物理存儲介質的絕對存儲路徑。
[0031]b)用戶上傳文件流程
客戶端登錄成功并認證成功后,用戶發出請求上傳文件片信息,文件的分片是在客戶端完成的,同時在客戶端生成的index隨上傳文件請求一起發送到數據存儲模塊,存儲模塊會查詢數據庫看該文件的index是否存儲于存儲單元,如已經存在,則返回給請求用戶一個消息,告知該文件已經存在,客戶端繼續請求下一個上傳的文件片。然后該文件片不存在存儲單元中,則客戶端將文件片數據上傳到SU(存儲單元集群),SU再利用心跳函數與其他SU的文件片保持同步,并推送文件片數據到其他SU的副本上,最后寫入數據庫和磁盤,并返回給客戶端一個上傳文件成功的消息,其具體流程圖如圖4所示:c)用戶下載文件流程客戶端請求下載一個文件片數據的消息,同時在請求下載的消息中包含有文件片的index,當SU收到請求文件片的index后,通過數據庫去查詢該index的存儲的具體位置信息,如果查詢到該index的存在,則通過具體的位置信息(存儲位置)去讀取數控并傳給客戶端,如果沒有查詢到該index,或是文件已經打了刪除標記則給用戶返回一個錯誤的消息,其具體流程圖如圖5所示。
[0032]d)用戶刪除文件流程
客戶端登錄成功后,向服務器發送刪除文件片的請求,同時請求消息中帶有需要刪除的文件片index,SU模塊在數據庫中查詢該index是否存在;如果存在,則在數據庫中將該文件打上刪除標記。如果不存在,則向客戶端返回一個不存在的消息,最后由SU自己刪除打上刪除標記的文件片數據,并刪除數據庫中的記錄。具體流程圖如圖6所示。
[0033]實施例3
本發明公開了一種基于云存儲的集群式攝像數據存儲系統,存儲單元包括高性能錄像池和休眠錄像池,所述高性能錄像池創建錄像池時使各錄像卷屬于不同的物理卷實現磁盤空間分散式利用;所述休眠錄像池創建錄像池時使各錄像卷屬于相同的物理卷實現磁盤空間集中式利用。在實際使用中,其錄像存儲池創建流程如圖7所示:
首先發出客戶端A[I單元發出創建錄像存儲池的請求,管理服務器集群驗證密鑰是否一致,若不一致,產生錯誤信息,發送應答信息。
[0034]若密鑰一致,計算所需空間,判斷具體類型為高性能錄像池還是休眠錄像池。
[0035]若為高性能錄像池,計算各節點所需要的空間,然后節點剩余空間從大到小的順序排序,按照從大到小的順序選擇存儲節點,創建錄像存儲池;
若為休眠錄像池,則節點剩余空間從小到大順序排序,根據節點剩余空間最大的節點來判斷能否容納存儲數據,若不能容納,自動轉至容高性能錄像池按照節點剩余空間從大到小的順序排序后使用高性能錄像池進行存儲;若節點剩余空間最大的節點可以容納存儲,選擇節點剩余空間最大的存儲節點創建錄像池。
[0036]創建錄像池成功后,保存錄像池信息,產生應答信息,發送應答信息;若創建錄像池失敗,產生錯誤信息,發送應答信息。
[0037]以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說明,不能認定本發明的具體實施只局限于這些說明。對于本發明所屬技術領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干簡單推演或替換,都應當視為屬于本發明的保護范圍。
【主權項】
1.一種基于云存儲的集群式攝像數據存儲系統,其特征在于:包括客戶端API單元、管理服務器集群、工作服務器集群、備份服務器集群和存儲單元,所述客戶端API單元設置在攝像機端,所述管理服務器集群包括API處理模塊、負載均衡模塊、節點監控模塊和高可用模塊,所述管理服務器集群通過API處理模塊與所述客戶端API單元實現云服務數據傳輸反饋,所述管理服務器集群通過負載均衡模塊與所述工作服務器集群實現數據傳輸反饋,所述管理服務器集群通過節點監控模塊對所述工作服務器進行工作狀態監控,所述管理服務器集群通過高可用服務器與所述備份服務器實現數據傳輸對云管理平臺集群的數據進行備份,所述工作服務器通過讀寫存儲單元實現視頻數據的云存儲。2.根據權利要求1所述的基于云存儲的集群式攝像數據存儲系統,其特征在于:所述存儲單元包括高性能錄像池和休眠錄像池。3.根據權利要求2所述的基于云存儲的集群式攝像數據存儲系統,其特征在于:所述存儲單元包括若干磁盤陣列RAID5。4.根據權利要求3所述的基于云存儲的集群式攝像數據存儲系統,其特征在于:所述負載模塊IP負載均衡技術從工作服務器集群中選擇一臺服務器響應服務請求,同時記錄此次請求,以便下次訪問時,直接選擇相同的服務器。5.根據權利要求4所述的基于云存儲的集群式攝像數據存儲系統,其特征在于:所述API處理模塊從客戶端API單元接收并記錄的信息包括源地址,請求類型和攝像機類型。6.根據權利要求5所述的基于云存儲的集群式攝像數據存儲系統,其特征在于:所述節點監控模塊說記錄的信息包括工作服務器集群的載值以及工作服務器集群的工作狀態。7.根據權利要求6所述的基于云存儲的集群式攝像數據存儲系統,其特征在于:所述高性能錄像池創建錄像池時使各錄像卷屬于不同的物理卷實現磁盤空間分散式利用。8.根據權利要求6所述的基于云存儲的集群式攝像數據存儲系統,其特征在于:所述休眠錄像池創建錄像池時使各錄像卷屬于相同的物理卷實現磁盤空間集中式利用。
【文檔編號】H04N5/781GK106060173SQ201610585076
【公開日】2016年10月26日
【申請日】2016年7月22日 公開號201610585076.4, CN 106060173 A, CN 106060173A, CN 201610585076, CN-A-106060173, CN106060173 A, CN106060173A, CN201610585076, CN201610585076.4
【發明人】蔡業飛, 劉勇, 鄒時鵬
【申請人】恒業智能信息技術(深圳)有限公司