專利名稱:云端控制網絡化視頻圖像處理流媒體服務系統及方法
技術領域:
本發明可為用戶提供網絡化的視頻圖像處理服務,具體涉及圖像處理、多媒體通信及網絡計算技術,屬于智能圖像處理及網絡服務技術領域。
背景技術:
目前,視頻監控技術已在公共安全、智能交通、工業過程等眾多監視監控中得到了廣泛應用,隨之而來的是各種視頻圖像處理方法及技術需要相應的處理平臺系統提供支撐。目前,所普遍采用的方式是,或者安裝通用圖像處理平臺軟件(如matlab、0penCV等), 但是受限制較多,使用不便;或者自己開發相應軟件,但費時費力。且這些方式僅僅局限于面向單用戶或有限個本地用戶。考慮到在internet網絡環境下,如果將多臺服務器集合起來共同為不同的用戶提供視頻圖像處理和算法驗證的服務。這樣,用戶可以在不需安裝各種龐大的視頻圖像處理軟件的情況下,就可通過網絡獲取服務器集群提供的視頻圖像處理服務;同時,用戶在不了解復雜的視頻圖像處理過程的情況下,也能獲取自己需要的視頻圖像處理結果。因此,開發一個能夠支持網絡化、并行、交互式處理的視頻圖像處理服務系統,具有非常好的前景。
發明內容
本發明目的是針對現有技術存在的缺陷提供一種云端控制網絡化視頻圖像處理流媒體服務系統及方法。本發明為實現上述目的,采用如下技術方案本發明云端控制網絡化視頻圖像處理流媒體服務系統,其特征在于包括由用戶集群、服務器集群及云控制臺與云數據庫三部分構成;多個用戶看為是用戶集群,系統為每個用戶提供了客戶端,通過客戶端實現與視頻圖像處理平臺之間的交互;服務器集群是具有提供視頻圖像處理服務功能的若干臺服務器的集合,其中,每個服務器提供的視頻圖像處理功能都是相互獨立的,彼此之間互不干涉;云控制臺用于調度和分配服務器資源,實現客戶端集群與服務器集群之間的通信,使得每個客戶端均可以享受獨立的服務器提供的圖像處理服務,云數據庫中包含有服務器集群中各服務器的信息。云端控制網絡化視頻圖像處理流媒體服務系統的方法如下采用云控制臺對提供服務的服務器集群資源進行調度和分配,為用戶集群提供并行的視頻圖像處理服務,服務內容主要是將用戶提供的算法加載到試驗視頻中,并將測試結果和數據記錄下來;視頻圖像處理結果通過客戶端以VLC流媒體和在線下載的方式反饋給用戶。所述客戶端、云控制臺和服務器之間建立相互通信的主要步驟如下(I)客戶端向云控制臺發送連接服務器請求的指令;(2)云控制臺接收到并解析出連接請求的指令后從云數據庫中根據分布式哈希算法獲取空閑服務器的信息即地址和端口;
(3)云控制臺將空閑服務器的信息發送給客戶端;(4)云控制臺開啟該空閑服務器,準備與客戶端建立通信連接后,為其提供視頻圖像處理的服務;(5)客戶端與將為其提供服務的服務器建立通信連接。所述云控制臺調度和分配服務器的步驟如下(a)云控制臺接收到并解析出客戶端的連接請求后,調用調度分配算法;(b)根據隨機分布式哈希算法得到鍵值Value ;(c)在云數據庫中查找ID為Value的服務器的信息,判斷ID為Value的服務器的狀態是否空閑如果空閑,直接將ID為Value的服務器的信息即地址和端口提交給云控制臺,并將服務器狀態置為“繁忙”;如果繁忙,再重新生成一個整數n,重復執行步驟(2)得到一個新的鍵值Value,直到獲取到空閑的服務器為止;(d)將調度到的服務器的信息即地址和端口發送給客戶端;(e)云控制臺開啟服務器準備為客戶端提供視頻圖像處理的服務;(f)等待客戶端與服務器的信息交互,直到客戶端發送連接斷開請求的指令;(g)接收到并解析出用戶的連接斷開請求指令后,更新云端數據庫,釋放服務器資源。所述客戶端與服務器信息交互包括用戶數據上傳、控制處理指令、處理結果反饋三個部分,具體步驟如下I)客戶端與服務器建立通信連接;2)用戶將需要處理的數據發送給服務器;3)等待服務器端的反饋信息指令;4)根據反饋信息,客戶端發送下一步的操作處理指令如果反饋的信息是數據接收成功,則發送處理指令;如果反饋的信息是數據接收失敗,則客戶端重復步驟2),直至需要處理的數據接收成功為止;5)服務器接收到客戶端發送的處理指令后,進行相應的視頻圖像處理,將處理結束的信息指令發送給客戶端,客戶端可以根據需求選擇不同的方式獲取處理結果;6)客戶端接收完服務器處理的結果后向云控制臺發送連接斷開請求的指令;7)退出客戶端。所述客戶端從服務器下載數據的方法如下A)服務器將處理結束的信息指令發送給客戶端,客戶端根據需求選擇需要的下載方式,將下載方式指令發送給服務器;B)服務器接收到并解析出客戶端發送的下載指令;C)如果指令解析為在線下載方式,服務器采用socket文件流分組拆分方式,直接將服務器處理后的數據發送給用戶,直到用戶接收到服務器發送結束的指令后,才可在客戶端查看處理后的結果;如果指令解析為VLC流媒體傳輸方式,服務器在向客戶端發送處理結果的同時,客戶端可實時顯示,無需下載完成后再顯示;D)客戶端接收完服務器處理的結果后,向云控制臺發送斷開連接請求的指令。所述創建VLC流媒體傳輸的方法如下a)創建 Iibvlc 動態組件即構造異常類 MediaException、MediaHandle、Media、MediaPlayerHandle 和 MediaPlayer ;b)播放參數設置;c)創建并初始化一個Iibvlc實例,并創建一個空的媒體播放器對象;d)設置給予媒體播放器媒體輸出的win32/win64窗口句柄;e)回收垃圾等相關操作。目前,云計算網絡技術已經成為解決海量數據計算的重要技術,使用“云控制”服務,可以將成千上萬的服務器集群集中起來,實現自動管理、任務調度等。基于其技術思想, 本發明設計開發了一種基于“云控制”的網絡化視頻圖像處理服務系統,能夠為多用戶提供各種視頻圖像處理算法的運行測試結果的服務。系統具有批量處理、并行處理、可交互性、 快速部署、縮小主機規模、提高資源利用率等特點。
圖I:系統框圖2:云控制臺的調度圖3:客戶端、云控制臺和服務器之間建立相互通信圖
圖4:云控制臺調度和分配服務器圖5:客戶端與服務器信息交互圖。
具體實施例方式本發明開發了一種網絡化視頻圖像處理服務系統,是一個多用戶訪問式系統。發明內容包括(I)開發設計了一種能夠提供網絡化視頻圖像處理服務的系統模式。即,用戶基于客戶端通過互聯網將需要處理的數據(包括視頻圖像處理算法和視頻圖像)提交給視頻圖像處理平臺,視頻圖像處理平臺可按照用戶請求進行相應的處理,并將處理結果通過客戶端以VLC流媒體或在線下載的方式反饋給用戶。(2)采用云控制技術調度和分配多個服務器資源,實現為多用戶提供并行的視頻圖像處理服務。即,通過隨機分布式哈希算法從云數據庫(數據庫中包含有服務器集群的信息如各個服務器的ID、地址、端口以及狀態 (空閑或繁忙))中搜索閑置服務器供客戶端使用,從而使計算資源得到優化,提高計算效率。(3)設計了交互式客戶端,以用戶數據的在線上傳和以視頻圖像處理結果的VLC流媒體傳輸或在線下載的方式為主要特征。VLC流媒體方式無需下載就能實時的顯示視頻處理的結果。可以滿足不同用戶查看視頻、圖像處理結果的需求。網絡化視頻圖像處理服務系統主要由用戶集群、服務器集群及云控制臺與云數據庫三部分構成。將多個用戶看作為是用戶集群,系統為每個用戶提供了客戶端,通過客戶端實現與視頻圖像處理平臺之間的交互;服務器集群是具有提供視頻圖像處理服務功能的若干臺服務器的集合,其中,每個服務器提供的視頻圖像處理功能都是相互獨立的,彼此之間互不干涉;云控制臺用于調度和分配服務器資源,實現客戶端集群與服務器集群之間的通信,使得每個客戶端均可以享受獨立的服務器提供的圖像處理服務,云數據庫中包含有服務器集群中各服務器的信息,如服務器的ID (編號)、地址、端口以及狀態(空閑或繁忙)。 該系統在提供服務的過程中,用戶無需關心服務器端具體的實施方式,只需等待下載處理完的結果。整體框架見圖I。
本發明在客戶端與服務器之間設計了一個云控制臺和云數據庫,完成服務器集群資源的調度和分配,實現客戶端與服務器之間的通信。云控制臺根據分布式哈希算法,在云數據庫中找到一個空閑的服務器,將調度到的空閑服務器的信息(地址和端口)發給客戶端,開啟服務器為客戶端到服務器之間建立通信通道。云控制臺的調度圖見圖2,例如,用戶 A根據云控制臺的調度分配到服務器D,用戶B分配到服務器C。本發明開發設計了交互式客戶端。用戶在客戶端實現了在線上傳用戶的視頻、圖像以及算法等功能;在反饋結果時提供了 VLC流媒體或在線下載的服務。用戶不僅能通過網絡化視頻圖像處理平臺處理自己的視頻和圖像,還能在此平臺上驗證自己的算法;同時在服務器端處理結束后,用戶根據不同的需求可選擇VLC流媒體實時獲取結果或在線下載獲取結果。其中,VLC(Videc)Lan Client)是一個跨平臺的媒體播放器和流媒體服務器,可以用于播放網絡流媒體及本機多媒體文件。VLC流媒體技術支持多媒體數據流通過網絡從服務器向客戶端傳送,客戶端邊接收邊播放的技術。由于它是開放源代碼,因此,我們基于 VLC源碼封裝的接口,在網絡化視頻圖像處理平臺設計了流媒體服務,用于在客戶端實時顯示視頻圖像處理結果。客戶端、云控制臺和服務器之間的相互通信連接網絡化視頻圖像處理服務系統主要包括三部分通信連接客戶端與云控制臺之間、云控制臺與服務器之間和客戶端與服務器之間。這三部分之間的通信連接都是基于 socket通信完成的,客戶端與服務器之間的通信連接需要云控制臺的調度和分配。客戶端、云控制臺和服務器之間建立相互通信的主要步驟如下(I)客戶端向云控制臺發送連接服務器請求的指令;(2)云控制臺接收到并解析出連接請求的指令后從云數據庫中根據分布式哈希算法獲取空閑服務器的信息(地址和端口);(3)云控制臺將空閑服務器的信息發送給客戶端;(4)云控制臺開啟該空閑服務器,準備與客戶端建立通信連接后,為其提供視頻圖像處理的服務;(5)客戶端與將為其提供服務的服務器建立通信連接。客戶端、云控制臺和服務器之間建立相互通信的過程見圖3。云控制臺本發明設計的云控制臺技術主要完成服務器的調度與分配,為每個用戶分配一個獨立空閑的服務器為其提供服務。它調度和分配空閑服務器主要是根據隨機分布式哈希算法搜索云數據庫完成的。云控制臺調度和分配服務器的步驟如下(I)云控制臺接收到并解析出客戶端的連接請求后,調用調度分配算法;(2)根據隨機分布式哈希算法得到鍵值Value。分布式哈希算法得到鍵值Value 的過程如下假設有m臺服務器(服務器的ID為0,I. . . m-1),隨機生成一個整數n,Value 的值為n除以m取余(即Value = n% m);(3)在云數據庫中查找ID為Value的服務器的信息,判斷ID為Value的服務器的狀態是否空閑。如果空閑,直接將ID為Value的服務器的信息(地址和端口)提交給云控制臺,并將服務器狀態置為“繁忙”;如果繁忙,再重新生成一個整數n,重復執行步驟(2)得到一個新的鍵值Value,直到獲取到空閑的服務器為止;(4)將調度到的服務器的信息(地址和端口)發送給客戶端;(5)云控制臺開啟服務器準備為客戶端提供視頻圖像處理的服務;(6)等待客戶端與服務器的信息交互,直到客戶端發送連接斷開請求的指令;(7)接收到并解析出用戶的連接斷開請求指令后,更新云端數據庫,釋放服務器資源。云控制臺內部調度和分配服務器的框圖見圖4。交互式客戶端本發明設計了交互式的客戶端,其功能包括用戶在線上傳數據(圖像、視頻、算法)技術和反饋結果時在線下載技術和VLC流媒體傳輸技術。用戶通過客戶端將需要處理的數據通過互聯網發送到服務器,服務器端根據用戶的需求進行處理,處理完成后用戶可以根據需求選擇在線下載或VLC流媒體傳輸方式查看處理后的結果。客戶端與服務器信息交互的主要過程見圖5。其交互過程主要包括用戶數據上傳、 控制處理指令、處理結果反饋三個部分。具體步驟如下(I)客戶端與服務器建立通信連接;(2)用戶將需要處理的數據(圖像、視頻、算法等)發送給服務器;(3)等待服務器端的反饋信息指令(接收上傳的數據是否成功);(4)根據反饋信息,客戶端發送下一步的操作處理指令。如果反饋的信息是數據接收成功,則發送處理指令(視頻處理或圖像處理);如果反饋的信息是數據接收失敗,則客戶端重復步驟(2),直至需要處理的數據接收成功為止;(5)服務器接收到客戶端發送的處理指令后,進行相應的視頻圖像處理,將處理結束的信息指令發送給客戶端,客戶端可以根據需求選擇不同的方式獲取處理結果(如流媒體在線下載同時實時顯示或者在線下載等);(6)客戶端接收完服務器處理的結果后向云控制臺發送連接斷開請求的指令;(7)退出客戶端。上述步驟中的(I)⑶⑷(6) (7)為控制處理指令。本發明在客戶端下載時設計了兩種方式VLC流媒體傳輸下載方式和在線下載方式。在線下載方式是基于socket的文件流傳輸和分組的傳輸機制設計的,反饋的處理結果必須下載完成后才能顯示;VLC流媒體傳輸方式是通過嵌入Iibvlc庫實現的,它可以在處理結果沒有下載完成的情況下在客戶端實時的顯示處理的結果。客戶端從服務器下載數據主要過程如下(I)服務器將處理結束的信息指令發送給客戶端,客戶端根據需求選擇需要的下載方式,將下載方式指令發送給服務器;(2)服務器接收到并解析出客戶端發送的下載指令;(3)如果指令解析為在線下載方式,服務器采用socket文件流分組拆分方式,直接將服務器處理后的數據發送給用戶,直到用戶接收到服務器發送結束的指令后,才可在客戶端查看處理后的結果(視頻、圖像);如果指令解析為VLC流媒體傳輸方式,服務器在向客戶端發送處理結果的同時,客戶端可實時顯示,無需下載完成后再顯示;(4)客戶端接收完服務器處理的結果后,向云控制臺發送斷開連接請求的指令;
創建VLC流媒體傳輸主要是通過在網絡化視頻圖像處理平臺中內嵌Iibvlc來實現。基于Iibvlc構造異常結構體類,創建并初始化一個Iibvlc實例,然后創建一個空的流媒體播放器對象,實現視頻流的輸出。具體實現如下a)創建 Iibvlc 動態組件。即構造異常類 MediaException、MediaHandle、Media、 MediaPlayerHandle 和 MediaPlayer ;b)播放參數設置;c)創建并初始化一個Iibvlc實例,并創建一個空的媒體播放器對象;d)設置給予媒體播放器媒體輸出的win32/win64窗口句柄;e)回收垃圾等相關操作。
權利要求
1.一種一種云端控制網絡化視頻圖像處理流媒體服務系統,其特征在于包括由用戶集群、服務器集群及云控制臺與云數據庫三部分構成;多個用戶看作為是用戶集群,系統為每個用戶提供了客戶端,通過客戶端實現與視頻圖像處理平臺之間的交互;服務器集群是具有提供視頻圖像處理服務功能的若干臺服務器的集合,其中,每個服務器提供的視頻圖像處理功能都是相互獨立的,彼此之間互不干涉;云控制臺用于調度和分配服務器資源,實現客戶端集群與服務器集群之間的通信,使得每個客戶端均可以享受獨立的服務器提供的圖像處理服務,云數據庫中包含有服務器集群中各服務器的信息。
2.根據權利要求I所述的云端控制網絡化視頻圖像處理流媒體服務系統的方法,其特征在于所述方法如下采用云控制臺對提供服務的服務器集群資源進行調度和分配,為用戶集群提供并行的視頻圖像處理服務,服務內容主要是將用戶提供的算法加載到試驗視頻中,并將測試結果和數據記錄下來;視頻圖像處理結果通過客戶端以VLC流媒體和在線下載的方式反饋給用戶。
3.根據權利要求2所述的云端控制網絡化視頻圖像處理流媒體服務系統的方法,其特征在于所述客戶端、云控制臺和服務器之間建立相互通信的主要步驟如下(1)客戶端向云控制臺發送連接服務器請求的指令;(2)云控制臺接收到并解析出連接請求的指令后從云數據庫中根據分布式哈希算法獲取空閑服務器的信息即地址和端口;(3)云控制臺將空閑服務器的信息發送給客戶端;(4)云控制臺開啟該空閑服務器,準備與客戶端建立通信連接后,為其提供視頻圖像處理的服務;(5)客戶端與將為其提供服務的服務器建立通信連接。
4.根據權利要求2所述的云端控制網絡化視頻圖像處理流媒體服務系統的方法,其特征在于所述云控制臺調度和分配服務器的步驟如下(a)云控制臺接收到并解析出客戶端的連接請求后,調用調度分配算法;(b)根據隨機分布式哈希算法得到鍵值Value;(c)在云數據庫中查找ID為Value的服務器的信息,判斷ID為Value的服務器的狀態是否空閑如果空閑,直接將ID為Value的服務器的信息即地址和端口提交給云控制臺,并將服務器狀態置為“繁忙”;如果繁忙,再重新生成一個整數n,重復執行步驟(2)得到一個新的鍵值Value,直到獲取到空閑的服務器為止;(d)將調度到的服務器的信息即地址和端口發送給客戶端;(e)云控制臺開啟服務器準備為客戶端提供視頻圖像處理的服務;(f)等待客戶端與服務器的信息交互,直到客戶端發送連接斷開請求的指令;(g)接收到并解析出用戶的連接斷開請求指令后,更新云端數據庫,釋放服務器資源。
5.根據權利要求2所述的云端控制網絡化視頻圖像處理流媒體服務系統的方法,其特征在于所述客戶端與服務器信息交互包括用戶數據上傳、控制處理指令、處理結果反饋三個部分,具體步驟如下1)客戶端與服務器建立通信連接;2)用戶將需要處理的數據發送給服務器;3)等待服務器端的反饋信息指令;4)根據反饋信息,客戶端發送下一步的操作處理指令如果反饋的信息是數據接收成功,則發送處理指令;如果反饋的信息是數據接收失敗,則客戶端重復步驟2),直至需要處理的數據接收成功為止;5)服務器接收到客戶端發送的處理指令后,進行相應的視頻圖像處理,將處理結束的信息指令發送給客戶端,客戶端可以根據需求選擇不同的方式獲取處理結果;6)客戶端接收完服務器處理的結果后向云控制臺發送連接斷開請求的指令;7)退出客戶端。
6.根據權利要求2所述的云端控制網絡化視頻圖像處理流媒體服務系統的方法,其特征在于所述客戶端從服務器下載數據的方法如下A)服務器將處理結束的信息指令發送給客戶端,客戶端根據需求選擇需要的下載方式,將下載方式指令發送給服務器;B)服務器接收到并解析出客戶端發送的下載指令;C)如果指令解析為在線下載方式,服務器采用socket文件流分組拆分方式,直接將服務器處理后的數據發送給用戶,直到用戶接收到服務器發送結束的指令后,才可在客戶端查看處理后的結果;如果指令解析為VLC流媒體傳輸方式,服務器在向客戶端發送處理結果的同時,客戶端可實時顯示,無需下載完成后再顯示;D)客戶端接收完服務器處理的結果后,向云控制臺發送斷開連接請求的指令。
7.根據權利要求2所述的云端控制網絡化視頻圖像處理流媒體服務系統的方法,其特征在于所述創建VLC流媒體傳輸的方法如下a)創建Iibvlc 動態組件即構造異常類 MediaException、MediaHandle、Media、 MediaPlayerHandle 和 MediaPlayer ;b)播放參數設置;c)創建并初始化一個Iibvlc實例,并創建一個空的媒體播放器對象;d)設置給予媒體播放器媒體輸出的win32/win64窗口句柄;e)回收垃圾等相關操作。
全文摘要
本發明公布了一種云端控制網絡化視頻圖像處理流媒體服務系統及方法,所述系統包括由用戶集群、服務器集群及云控制臺與云數據庫三部分構成。所述方法采用云控制臺對提供服務的若干服務器資源進行調度和分配,為多用戶提供并行的視頻圖像處理服務,服務內容主要是將用戶提供的算法加載到試驗視頻中,并將測試結果和數據記錄下來。視頻圖像處理結果通過客戶端以VLC流媒體和在線下載的方式反饋給用戶。系統不僅支持多用戶的并行操作,而且可實現快速響應。本發明是一種新型的網絡化視頻圖像處理服務系統,極具應用前景。
文檔編號H04N21/63GK102595208SQ20121000969
公開日2012年7月18日 申請日期2012年1月13日 優先權日2012年1月13日
發明者吳玉榮, 張麗麗, 徐淑芳, 沈俊雷, 沈潔, 王慧斌, 王鑫, 陳哲 申請人:河海大學