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