本發(fā)明涉及監(jiān)控領域,尤其涉及一種視頻云系統(tǒng)中的數(shù)據(jù)處理方法及裝置。
背景技術:
隨著監(jiān)控設備數(shù)量的不斷增加以及監(jiān)控需求的多樣化,視頻云系統(tǒng)的產(chǎn)生變得越來越重要。
視頻云系統(tǒng)由一些管理節(jié)點、數(shù)據(jù)節(jié)點和通道設備組成。其中,管理節(jié)點控制所述通道設備的錄制策略,數(shù)據(jù)節(jié)點依據(jù)所述錄制策略控制所述通道設備的錄制任務。為實現(xiàn)錄像文件在視頻云系統(tǒng)中的云存儲,可將設置在集群網(wǎng)絡中的前端錄像設備(例如攝像機)以通道設備形式體現(xiàn)在視頻云系統(tǒng)中,由管理節(jié)點對以通道設備形式體現(xiàn)的前端錄像設備進行各種需求化的策略定制,并由數(shù)據(jù)節(jié)點依據(jù)所述錄制策略實現(xiàn)對所述前端錄像設備錄制的錄像數(shù)據(jù)的拉流,并將生成的錄像文件保存到云存儲。
目前應用視頻云系統(tǒng)實現(xiàn)錄像文件的云存儲過程中,經(jīng)常會出現(xiàn)錄像數(shù)據(jù)丟失的情況。
技術實現(xiàn)要素:
本發(fā)明實施例提供一種視頻云系統(tǒng)中錄像數(shù)據(jù)的處理方法,以在應用視頻云系統(tǒng)實現(xiàn)錄像文件的云存儲過程中,保證錄像數(shù)據(jù)不丟失。
第一方面,本發(fā)明實施例提供一種視頻云系統(tǒng)中錄像數(shù)據(jù)的處理方法,所述方法包括:
確定第一數(shù)據(jù)節(jié)點和第二數(shù)據(jù)節(jié)點,其中,所述第一數(shù)據(jù)節(jié)點和所述第二數(shù)據(jù)節(jié)點具備從前端錄像設備獲取錄像數(shù)據(jù)的功能;
控制所述第一數(shù)據(jù)節(jié)點作為主用數(shù)據(jù)節(jié)點從前端錄像設備處獲取錄像數(shù)據(jù);
控制所述第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),所述T時間為檢測所述第一數(shù)據(jù)節(jié)點發(fā)生故障并將所述第一數(shù)據(jù)節(jié)點的通道任務遷移到所述第二數(shù)據(jù)節(jié)點上所用的時間;
若檢測到所述第一數(shù)據(jù)節(jié)點發(fā)生故障,控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務,所述通道任務包括從前端錄像設備獲取錄像數(shù)據(jù)的拉流服務和將獲取的錄像數(shù)據(jù)保存到云存儲中的寫流服務。
本發(fā)明實施例中,首先通過控制所述第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),然后控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務,能夠避免錄像數(shù)據(jù)的丟失。
具體的,控制所述第二數(shù)據(jù)節(jié)點實時從所述前端錄像設備處獲取T時間內(nèi)的最新錄像數(shù)據(jù),并以獲取到的T時間內(nèi)的最新錄像數(shù)據(jù)實時更新已保存在緩存中的錄像數(shù)據(jù)。
本發(fā)明實施例中,以獲取到的T時間內(nèi)的最新錄像數(shù)據(jù)實時更新已保存在緩存中的錄像數(shù)據(jù),能夠保證緩存中的T時間內(nèi)的錄像數(shù)據(jù)始終是最新的。
具體的,控制所述第二數(shù)據(jù)節(jié)點分別與所述前端錄像設備和云存儲建立通道任務連接,形成新拉流服務和新寫流服務;
通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù);
通過所述新寫流服務將所述第二數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取的錄像數(shù)據(jù),保存到云存儲中。
本發(fā)明實施例中,通過所述新拉流服務和新寫流服務,能夠保證順利的獲得前端錄像設備的錄像數(shù)據(jù),進而將前端錄像設備的錄像數(shù)據(jù)傳遞并保存到云存儲中。
具體的,判斷所述第二數(shù)據(jù)節(jié)點的緩存中是否保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù);
若所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述緩存中保存的錄像數(shù)據(jù)保存到云存儲中;
若所述第二數(shù)據(jù)節(jié)點的緩存中不存在從所述前端錄像設備處獲取的錄像數(shù)據(jù),則控制所述新寫流服務以正常寫流速度,將所述新拉流服務獲取的錄像數(shù)據(jù)保存到云存儲中。
本發(fā)明實施例中,若判斷出所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述緩存中保存的錄像數(shù)據(jù)保存到云存儲中,能夠保證寫流服務的實時性。
其中,所述控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述緩存中保存的錄像數(shù)據(jù)保存到云存儲中,包括:
確定云存儲中保存的錄像文件中最后一個完整畫面組GOP;
在所述緩存中查找所述完整GOP的下一GOP對應的錄像數(shù)據(jù);
控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述下一GOP以及所述下一GOP之后的錄像數(shù)據(jù)保存到云存儲中,直至將所述緩存中的錄像數(shù)據(jù)清空。
本發(fā)明實施例中,首先通過確定云存儲中保存的錄像文件中最后一個完整畫面組GOP,然后在所述緩存中查找所述完整GOP的下一GOP以及所述下一GOP之后的錄像數(shù)據(jù),直至將所述緩存中的錄像數(shù)據(jù)清空,不僅能夠保證錄像數(shù)據(jù)不丟失,而且可以保證錄像數(shù)據(jù)不重合。
進一步的,通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)之后,所述方法還包括:
若所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則將通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)保存到所述第二數(shù)據(jù)節(jié)點的緩存中。
進一步的,將所述緩存中的錄像數(shù)據(jù)清空之后,所述方法還包括:
控制所述第二數(shù)據(jù)節(jié)點釋放所述緩存。
進一步的,所述控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務之后,所述方法還包括:
確定第三數(shù)據(jù)節(jié)點,并控制所述第三數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù)。
本發(fā)明實施例中,通過確定第三數(shù)據(jù)節(jié)點,并控制所述第三數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),能夠保證若所述第二數(shù)據(jù)節(jié)點發(fā)生故障,所述第三數(shù)據(jù)節(jié)點可以實時接替通道任務,進而保障錄像數(shù)據(jù)不丟失。
第二方面,本發(fā)明實施例提供一種視頻云系統(tǒng)中錄像數(shù)據(jù)的處理裝置,該裝置包括確定單元和控制單元,其中:
確定單元,用于確定第一數(shù)據(jù)節(jié)點和第二數(shù)據(jù)節(jié)點,其中,所述第一數(shù)據(jù)節(jié)點和所述第二數(shù)據(jù)節(jié)點具備從前端錄像設備獲取錄像數(shù)據(jù)的功能。
控制單元,用于控制所述確定單元確定出的所述第一數(shù)據(jù)節(jié)點作為主用數(shù)據(jù)節(jié)點從前端錄像設備處獲取錄像數(shù)據(jù);控制所述確定單元確定出的所述第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),所述T時間為檢測所述第一數(shù)據(jù)節(jié)點發(fā)生故障并將所述第一數(shù)據(jù)節(jié)點的通道任務遷移到所述第二數(shù)據(jù)節(jié)點上所用的時間;若檢測到所述第一數(shù)據(jù)節(jié)點發(fā)生故障,控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務,所述通道任務包括從前端設備獲取錄像數(shù)據(jù)的拉流服務和將獲取的錄像數(shù)據(jù)保存到云存儲中的寫流服務。
進一步的,所述控制單元還用于:控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務之后,確定第三數(shù)據(jù)節(jié)點,并控制所述第三數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù)。
較佳的,所述控制單元用于;控制所述第二數(shù)據(jù)節(jié)點實時從所述前端錄像設備處獲取T時間內(nèi)的最新錄像數(shù)據(jù),并以獲取到的T時間內(nèi)的最新錄像數(shù)據(jù)實時更新已保存在緩存中的錄像數(shù)據(jù)。
具體的,所述控制單元具體用于:控制所述第二數(shù)據(jù)節(jié)點分別與所述前端錄像設備和云存儲建立通道任務連接,形成新拉流服務和新寫流服務;通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù);通過所述新寫流服務將所述第二數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取的錄像數(shù)據(jù),保存到云存儲中。
進一步的,所述控制單元還用于:
通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)之后,若所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則將通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)保存到所述第二數(shù)據(jù)節(jié)點的緩存中。
具體的,所述控制單元具體用于:判斷所述第二數(shù)據(jù)節(jié)點的緩存中是否保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù);若所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述緩存中保存的錄像數(shù)據(jù)保存到云存儲中;若所述第二數(shù)據(jù)節(jié)點的緩存中不存在從所述前端錄像設備處獲取的錄像數(shù)據(jù),則控制所述新寫流服務以正常寫流速度,將所述新拉流服務獲取的錄像數(shù)據(jù)保存到云存儲中。
較佳的,所述控制單元具體用于:確定云存儲中保存的錄像文件中最后一個完整畫面組GOP;在所述緩存中查找所述確定單元確定出的所述完整GOP的下一GOP對應的錄像數(shù)據(jù);控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述下一GOP以及所述下一GOP之后的錄像數(shù)據(jù)保存到云存儲中,直至將所述緩存中的錄像數(shù)據(jù)清空。
進一步的,所述控制單元還用于:
將所述緩存中的錄像數(shù)據(jù)清空之后,控制所述第二數(shù)據(jù)節(jié)點釋放所述緩存。
附圖說明
圖1為本發(fā)明實施例提供的視頻云系統(tǒng)中錄像數(shù)據(jù)的處理方法一種實施流程圖;
圖2為本發(fā)明實施例提供的視頻云系統(tǒng)中錄像數(shù)據(jù)的處理方法另一種實施流程圖;
圖3為本發(fā)明實施例提供的第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務的實施流程圖;
圖4為本發(fā)明實施例提供的第二數(shù)據(jù)節(jié)點將所述前端錄像設備的錄像數(shù)據(jù)保存到云存儲中的實施流程圖;
圖5為本發(fā)明實施例提供的將第二數(shù)據(jù)節(jié)點緩存中保存的錄像數(shù)據(jù)保存到云存儲中的實施流程圖;
圖6為本發(fā)明實施例提供的視頻云系統(tǒng)中錄像數(shù)據(jù)的處理裝置的結構示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,并不是全部的實施例。
本發(fā)明實施例提供一種視頻云系統(tǒng)中錄像數(shù)據(jù)的處理方法,一種實施方法中,確定第一數(shù)據(jù)節(jié)點和第二數(shù)據(jù)節(jié)點,其中,所述第一數(shù)據(jù)節(jié)點和所述第二數(shù)據(jù)節(jié)點具備從前端錄像設備獲取錄像數(shù)據(jù)的功能;控制所述第一數(shù)據(jù)節(jié)點作為主用數(shù)據(jù)節(jié)點從前端錄像設備處獲取錄像數(shù)據(jù);控制所述第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),所述T時間為檢測所述第一數(shù)據(jù)節(jié)點發(fā)生故障并將所述第一數(shù)據(jù)節(jié)點的通道任務遷移到所述第二數(shù)據(jù)節(jié)點上所用的時間;若檢測到所述第一數(shù)據(jù)節(jié)點發(fā)生故障,控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務,所述通道任務包括從前端錄像設備獲取錄像數(shù)據(jù)的拉流服務和將獲取的錄像數(shù)據(jù)保存到云存儲中的寫流服務。
本發(fā)明實施例中,控制所述第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),在第一數(shù)據(jù)節(jié)點出現(xiàn)故障時,控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務,能夠通過視頻云系統(tǒng)中的數(shù)據(jù)節(jié)點保存錄像數(shù)據(jù),避免錄像數(shù)據(jù)的丟失。進一步的,本發(fā)明實施例中,是應用第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從前端錄像設備處獲取并保存錄像數(shù)據(jù),無需前端錄像設備對錄像數(shù)據(jù)進行存儲,進而可減少前端錄像設備存儲數(shù)據(jù)的成本和壓力。
圖1為本發(fā)明實施例提供的一種視頻云系統(tǒng)中錄像數(shù)據(jù)的處理方法,可以包括以下步驟:
S11、確定第一數(shù)據(jù)節(jié)點和第二數(shù)據(jù)節(jié)點。
具體的,在視頻云系統(tǒng)中進行錄制任務時,管理節(jié)點需要對前端錄像設備進行策略定制,定制的策略包括選取第一數(shù)據(jù)節(jié)點和第二數(shù)據(jù)節(jié)點。其中,所述第一數(shù)據(jù)節(jié)點和所述第二數(shù)據(jù)節(jié)點具備從前端錄像設備獲取錄像數(shù)據(jù)的功能。
S12、控制所述第一數(shù)據(jù)節(jié)點作為主用數(shù)據(jù)節(jié)點從前端錄像設備處獲取錄像數(shù)據(jù)。
具體的,在視頻云系統(tǒng)中進行錄制任務時,管理節(jié)點根據(jù)錄制策略選取出第一數(shù)據(jù)節(jié)點作為主用數(shù)據(jù)節(jié)點,并將錄制任務下發(fā)給主用數(shù)據(jù)節(jié)點,使得主用數(shù)據(jù)節(jié)點從前端錄像設備處獲取錄像數(shù)據(jù)。
S13、控制所述第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù)。
具體的,在視頻云系統(tǒng)中進行錄制任務時,可以給管理節(jié)點和所有的數(shù)據(jù)節(jié)點配置故障檢測時間T。其中,第一數(shù)據(jù)節(jié)點根據(jù)管理節(jié)點下發(fā)的錄制策略,正常的獲取前端錄像設備中的錄像數(shù)據(jù),第二數(shù)據(jù)節(jié)點根據(jù)錄制策略,每次只獲取當前T時間內(nèi)的最新錄像數(shù)據(jù),故,當?shù)谝粩?shù)據(jù)節(jié)點發(fā)生故障時,第二數(shù)據(jù)節(jié)點中保存有T時間內(nèi)的錄像數(shù)據(jù)。所述T時間為檢測所述第一數(shù)據(jù)節(jié)點發(fā)生故障并將所述第一數(shù)據(jù)節(jié)點的通道任務遷移到所述第二數(shù)據(jù)節(jié)點上所用的時間。
S14、檢測所述第一數(shù)據(jù)節(jié)點是否發(fā)生故障。
若是,則執(zhí)行S15、控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務。
具體的,所述通道任務包括從前端錄像設備獲取錄像數(shù)據(jù)的拉流服務和將獲取的錄像數(shù)據(jù)保存到云存儲中的寫流服務。
若否,則執(zhí)行S16、控制所述第一數(shù)據(jù)節(jié)點繼續(xù)執(zhí)行從前端錄像設備處獲取錄像數(shù)據(jù)并將錄像數(shù)據(jù)保存到云存儲中的通道任務。
本發(fā)明實施例中,通過控制所述第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),在第一數(shù)據(jù)節(jié)點出現(xiàn)故障的情況下,控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務,能夠避免錄像數(shù)據(jù)的丟失。進一步的,本發(fā)明實施例中,是應用第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從前端錄像設備處獲取并保存錄像數(shù)據(jù),無需前端錄像設備對錄像數(shù)據(jù)進行存儲,進而可減少前端錄像設備存儲數(shù)據(jù)的成本和壓力。
進一步的,為保證錄像數(shù)據(jù)不丟失,控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務之后,上述實施例中還包括步驟S17,如圖2所示,步驟S17、確定第三數(shù)據(jù)節(jié)點,并控制所述第三數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù)。
本發(fā)明實施例中,通過確定第三數(shù)據(jù)節(jié)點,并控制所述第三數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),能夠保證若所述第二數(shù)據(jù)節(jié)點發(fā)生故障,所述第三數(shù)據(jù)節(jié)點可以實時接替通道任務,進而保障錄像數(shù)據(jù)不丟失。
可選的,本發(fā)明實施例中可在第二數(shù)據(jù)節(jié)點中設置專門用于保存從前端錄像設備處獲取的錄像數(shù)據(jù)的緩存。
本發(fā)明實施例中可控制所述第二數(shù)據(jù)節(jié)點實時從所述前端錄像設備處獲取T時間內(nèi)的最新錄像數(shù)據(jù),并以獲取到的T時間內(nèi)的最新錄像數(shù)據(jù)實時更新已保存在所述緩存中的錄像數(shù)據(jù),以保證緩存中的T時間內(nèi)的錄像數(shù)據(jù)始終是最新的。
本發(fā)明實施例以下對第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務,從前端錄像設備處獲取錄像數(shù)據(jù),并將保存的錄像數(shù)據(jù)存儲到云存儲的過程進行詳細說明。
圖3所示為本發(fā)明實施例中第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務的實施流程圖,如圖3所示,可以包括如下步驟:
S31、控制所述第二數(shù)據(jù)節(jié)點分別與所述前端錄像設備和云存儲建立通道任務連接,形成新拉流服務和新寫流服務。
具體的,所述第一數(shù)據(jù)節(jié)點發(fā)生故障之后,第二數(shù)據(jù)節(jié)點會分別向所述前端錄像設備和云存儲的發(fā)送連接請求,所述前端錄像設備和云存儲收到所述連接請求后,會與所述第二數(shù)據(jù)節(jié)點重新建立通道任務連接,進而形成新拉流服務和新寫流服務。
S32、通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)。
S33、通過所述新寫流服務將所述第二數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取的錄像數(shù)據(jù),保存到云存儲中。
需要說明的,所述拉流服務和寫流服務可以部署在同一套系統(tǒng)的不同數(shù)據(jù)節(jié)點。也可以部署在同一個節(jié)點上。
本發(fā)明實施例中,通過控制所述第二數(shù)據(jù)節(jié)點分別與所述前端錄像設備和云存儲建立通道任務連接,形成新拉流服務和新寫流服務,能夠保證順利的從前端錄像設備獲取錄像數(shù)據(jù),進而將前端錄像設備的錄像數(shù)據(jù)傳遞并保存到云存儲中。
可選的,為保證第二數(shù)據(jù)節(jié)點形成的新寫流服務能夠將所述前端錄像設備的錄像數(shù)據(jù)完整的保存到云存儲中,可采用如圖4所示的實施方式。如圖4所示,可以包括如下步驟:
S331、判斷所述第二數(shù)據(jù)節(jié)點的緩存中是否保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù)。
若有,則執(zhí)行S332、控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述緩存中保存的錄像數(shù)據(jù)保存到云存儲中。
具體的,在所述第二數(shù)據(jù)節(jié)點與所述前端錄像設備和云存儲重新建立連接之后,所述新寫流服務會從第二數(shù)據(jù)節(jié)點的緩存中獲取錄像數(shù)據(jù),以將第一數(shù)據(jù)節(jié)點故障切換到第二數(shù)據(jù)節(jié)點這個時間段內(nèi)丟失的錄像數(shù)據(jù)保存到云存儲中。
若沒有,則執(zhí)行S333、控制所述新寫流服務以正常寫流速度,將所述新拉流服務獲取的錄像數(shù)據(jù)保存到云存儲中。
具體的,為保證錄像數(shù)據(jù)不重合,本發(fā)明實施例可采用如圖5所示的方法,控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述緩存中保存的錄像數(shù)據(jù)保存到云存儲中,如圖5所示,可以包括如下步驟:
S41、確定云存儲中保存的錄像文件中最后一個完整畫面組(Group of Pictures,GOP)。
具體的,所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務之后,所述新寫流服務會在云存儲中查找當前最后一個錄像文件,并確定云存儲中保存的最后一個錄像文件中的最后一個完整的GOP
S42、在所述緩存中查找所述完整GOP的下一GOP對應的錄像數(shù)據(jù)。
S43、控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述下一GOP以及所述下一GOP之后的錄像數(shù)據(jù)保存到云存儲中,直至將所述緩存中的錄像數(shù)據(jù)清空。
本發(fā)明實施例中,首先通過確定云存儲中保存的錄像文件中最后一個完整畫面組GOP,然后在所述緩存中查找所述完整GOP的下一GOP以及所述下一GOP之后的錄像數(shù)據(jù),直至將所述緩存中的錄像數(shù)據(jù)清空,不僅能夠保證錄像數(shù)據(jù)不丟失,而且可以保證錄像數(shù)據(jù)不重合。
本發(fā)明實施例中,若判斷出所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則控制所述新寫流服務以大于正常寫流速度的寫流速度,一方面能夠保證盡快將緩存中保存的錄像數(shù)據(jù)保存到云存儲中,另一方面可實現(xiàn)所述新拉流服務和所述新寫流服務對所述前端錄像設備的錄像數(shù)據(jù)的并行處理。
具體的,本發(fā)明實施例中,所述新拉流服務可以按照正常的拉流速度將獲取的錄像數(shù)據(jù)保存到所述第二數(shù)據(jù)節(jié)點的緩存中,所述新寫流服務以大于正常寫流速度的寫流速度,將所述緩存中保存的錄像數(shù)據(jù)保存到云存儲中,使得錄像數(shù)據(jù)保存到云存儲的速度高于錄像數(shù)據(jù)保存到所述緩存中的速度,進而會出現(xiàn)所述緩存中保存的數(shù)據(jù)被清空的情況。
本發(fā)明實施例中,若所述緩存中的錄像被清空后,所述新拉流服務可將獲取的錄像數(shù)據(jù)直接發(fā)送給新寫流服務,即可按照原有的方式實現(xiàn)錄像數(shù)據(jù)獲取與存儲。
故本發(fā)明實施例中一種可實施的方式中,所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)之后,可判斷所述第二數(shù)據(jù)節(jié)點的緩存中是否保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù)。若所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則將通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)保存到所述第二數(shù)據(jù)節(jié)點的緩存中。若所述第二數(shù)據(jù)節(jié)點的緩存中所述前端錄像設備處獲取的錄像數(shù)據(jù)被清空,則可將通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)發(fā)送給所述新寫流服務。
進一步的,本發(fā)明實施例中為了節(jié)約第二數(shù)據(jù)節(jié)點的存儲資源,可在將所述緩存中的錄像數(shù)據(jù)清空之后,控制所述第二數(shù)據(jù)節(jié)點釋放所述緩存。
基于上述實施例提供的視頻云系統(tǒng)中錄像數(shù)據(jù)的處理方法,本發(fā)明實施例提供一種視頻云系統(tǒng)中錄像數(shù)據(jù)的處理裝置,該裝置可以應用于視頻云系統(tǒng)中,圖6所示為本發(fā)明實施例提供的視頻云系統(tǒng)中錄像數(shù)據(jù)的處理裝置的結構示意圖,如圖6所示,該設備包括確定單元71和控制單元72,其中:
確定單元71,用于確定第一數(shù)據(jù)節(jié)點和第二數(shù)據(jù)節(jié)點,其中,所述第一數(shù)據(jù)節(jié)點和所述第二數(shù)據(jù)節(jié)點具備從前端錄像設備獲取錄像數(shù)據(jù)的功能。
控制單元72,用于控制所述確定單元71確定出的所述第一數(shù)據(jù)節(jié)點作為主用數(shù)據(jù)節(jié)點從前端錄像設備處獲取錄像數(shù)據(jù);控制所述確定單元71確定出的所述第二數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù),所述T時間為檢測所述第一數(shù)據(jù)節(jié)點發(fā)生故障并將所述第一數(shù)據(jù)節(jié)點的通道任務遷移到所述第二數(shù)據(jù)節(jié)點上所用的時間;若檢測到所述第一數(shù)據(jù)節(jié)點發(fā)生故障,控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務,所述通道任務包括從前端設備獲取錄像數(shù)據(jù)的拉流服務和將獲取的錄像數(shù)據(jù)保存到云存儲中的寫流服務。
進一步的,所述控制單元72還用于:控制所述第二數(shù)據(jù)節(jié)點接續(xù)所述第一數(shù)據(jù)節(jié)點的通道任務之后,確定第三數(shù)據(jù)節(jié)點,并控制所述第三數(shù)據(jù)節(jié)點作為備用數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取并保存T時間內(nèi)的最新錄像數(shù)據(jù)。
較佳的,所述控制單元72用于;控制所述第二數(shù)據(jù)節(jié)點實時從所述前端錄像設備處獲取T時間內(nèi)的最新錄像數(shù)據(jù),并以獲取到的T時間內(nèi)的最新錄像數(shù)據(jù)實時更新已保存在緩存中的錄像數(shù)據(jù)。
具體的,所述控制單元72具體用于:控制所述第二數(shù)據(jù)節(jié)點分別與所述前端錄像設備和云存儲建立通道任務連接,形成新拉流服務和新寫流服務;通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù);通過所述新寫流服務將所述第二數(shù)據(jù)節(jié)點從所述前端錄像設備處獲取的錄像數(shù)據(jù),保存到云存儲中。
進一步的,所述控制單元72還用于:
通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)之后,若所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則將通過所述新拉流服務從所述前端錄像設備處獲取錄像數(shù)據(jù)保存到所述第二數(shù)據(jù)節(jié)點的緩存中。
具體的,所述控制單元72具體用于:判斷所述第二數(shù)據(jù)節(jié)點的緩存中是否保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù);若所述第二數(shù)據(jù)節(jié)點的緩存中保存有從所述前端錄像設備處獲取的錄像數(shù)據(jù),則控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述緩存中保存的錄像數(shù)據(jù)保存到云存儲中;若所述第二數(shù)據(jù)節(jié)點的緩存中不存在從所述前端錄像設備處獲取的錄像數(shù)據(jù),則控制所述新寫流服務以正常寫流速度,將所述新拉流服務獲取的錄像數(shù)據(jù)保存到云存儲中。
較佳的,所述控制單元72具體用于:確定云存儲中保存的錄像文件中最后一個完整畫面組GOP;在所述緩存中查找所述確定單元71確定出的所述完整GOP的下一GOP對應的錄像數(shù)據(jù);控制所述新寫流服務以大于正常寫流速度的寫流速度,將所述下一GOP以及所述下一GOP之后的錄像數(shù)據(jù)保存到云存儲中,直至將所述緩存中的錄像數(shù)據(jù)清空。
進一步的,所述控制單元72還用于:
將所述緩存中的錄像數(shù)據(jù)清空之后,控制所述第二數(shù)據(jù)節(jié)點釋放所述緩存。
可以理解的是,本實施例的視頻云系統(tǒng)中錄像數(shù)據(jù)的處理裝置可用于實現(xiàn)上述方法實施例中涉及的所有功能,其具體實現(xiàn)過程可以參照上述方法實施例的相關描述,此處不再贅述。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。