專利名稱:一種平臺(tái)錄像方法、系統(tǒng)及客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體技術(shù)領(lǐng)域,具體涉及流媒體錄像技術(shù)。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展, 一種新的媒體技術(shù)應(yīng)運(yùn)而生,這就是流媒體技術(shù)。流媒體是指在網(wǎng)絡(luò)中使用流式傳輸技術(shù)的連續(xù)時(shí)基媒體,如音頻、視頻或多媒體文件。流服務(wù)可以給用戶提供持續(xù)不斷的音視頻流,滿足用戶在線觀看動(dòng)態(tài)影音的需求,流媒體技術(shù)在媒體點(diǎn)播領(lǐng)域和媒體直播領(lǐng)域得到極大的應(yīng)用。
數(shù)字錄像作為 一種重要的視頻信息保存方式,在諸多領(lǐng)域都有廣泛的應(yīng)用。平臺(tái)錄像,顧名思義是指由平臺(tái)側(cè)(服務(wù)器端)負(fù)責(zé)錄像
的執(zhí)行和保存。由于現(xiàn)有的平臺(tái)錄像系統(tǒng)普遍采用c/s (客戶端/服
務(wù)器)架構(gòu),所以在執(zhí)行平臺(tái)錄像時(shí),對(duì)服務(wù)器端具有較強(qiáng)的依賴性。如果服務(wù)器端出現(xiàn)掉線或宕機(jī)等意外情況,則會(huì)導(dǎo)致平臺(tái)錄像的失敗或部分缺失。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種平臺(tái)錄像方法、系統(tǒng);^:戶端,用以解決現(xiàn)有技術(shù)中錄像服務(wù)器出現(xiàn)意外情況不能執(zhí)行平臺(tái)錄像時(shí),導(dǎo)致平臺(tái)錄像失敗或缺失的問題。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種客戶端,
該客戶端包括發(fā)送模塊,該發(fā)送模塊用于向錄像服務(wù)器發(fā)送錄像任務(wù)請(qǐng)求,該發(fā)送模塊還用于定時(shí)向錄像服務(wù)器發(fā)送?;钕?,并用于當(dāng)錄像服務(wù)器恢復(fù)正常后,向錄像服務(wù)器發(fā)送錄像文件;
并且上述客戶端還包括
備份模塊,用于在本地備份發(fā)送給錄像服務(wù)器的錄像任務(wù);檢測(cè)模塊,用于檢測(cè)本地備份的錄像任務(wù)列表中是否存在正在執(zhí) 行或者即將開始執(zhí)行的錄像任務(wù);
連接模塊,用于與編碼器連接; 保存模塊,用于保存錄像文件。
上述備份模塊,還用于保存從錄像服務(wù)器獲取的全部錄像任務(wù)列表。
根據(jù)本發(fā)明的另一個(gè)方面,提供了一種平臺(tái)錄像系統(tǒng), 該系統(tǒng)包括客戶端、錄像服務(wù)器、編碼器; 上述客戶端,用于向錄像服務(wù)器發(fā)送錄像任務(wù),并在本地備份該 錄像任務(wù);
當(dāng)所述錄像服務(wù)器出現(xiàn)異常時(shí),該客戶端,還用于檢測(cè)本地備份 的錄像任務(wù)列表中是否存在正在執(zhí)行或者即將開始執(zhí)行的錄像任務(wù), 當(dāng)存在時(shí),該客戶端與編碼器連接進(jìn)行錄像,并將錄像文件保存在本 地。
另外,上述客戶端,還用于,當(dāng)所述錄^J良務(wù)器恢復(fù)正常后,向 所述錄像服務(wù)器發(fā)送所述錄像文件;
上述錄像服務(wù)器,還用于,當(dāng)該錄像服務(wù)器出現(xiàn)異常之前, 如果該錄像服務(wù)器已經(jīng)錄制了部分錄像文件,則按照時(shí)間先后順 序拼接上述客戶端發(fā)送的錄像文件與該錄像服務(wù)器錄制的部分錄像 文件,該錄像服務(wù)器還用于保存拼接后的錄像文件;如果該錄像服務(wù) 器沒有開始錄像任務(wù),則該錄像服務(wù)器還用于保存所述客戶端發(fā)送的 錄像文件。
另外,上述客戶端,還用于定時(shí)向上述錄像服務(wù)器發(fā)送?;钕?, 上述錄像服務(wù)器,還用于向該客戶端發(fā)送上述?;钕⒌捻憫?yīng)消
自
上述保活消息的響應(yīng)消息包括所述錄像服務(wù)器的運(yùn)行狀態(tài)。
另外,上述系統(tǒng)還包括與客戶端連接的其它服務(wù)器;
6上述保活消息的響應(yīng)消息還包括上述錄像服務(wù)器存儲(chǔ)的全部錄 像任務(wù)列表;
當(dāng)所述錄像服務(wù)器出現(xiàn)異常時(shí),由上述其它服務(wù)器負(fù)載均衡地選 定至少一個(gè)在線客戶端執(zhí)行錄像任務(wù)。
根據(jù)本發(fā)明的又一個(gè)方面,提供了一種平臺(tái)錄像方法,
上述方法包括如下步驟
客戶端向錄像服務(wù)器發(fā)送錄像任務(wù),并將該錄像任務(wù)在本地備
份;
當(dāng)錄像服務(wù)器出現(xiàn)異常時(shí),客戶端檢測(cè)本地備份的錄像任務(wù)列表 中是否存在正在執(zhí)行或者即將開始執(zhí)行的錄像任務(wù),當(dāng)存在時(shí),客戶 端與編碼器連接進(jìn)行錄像,并將錄像文件保存在本地。
上述方法還包括
當(dāng)錄像服務(wù)器恢復(fù)正常后,上述客戶端向錄像服務(wù)器發(fā)送上述錄 像文件;
當(dāng)錄像服務(wù)器出現(xiàn)異常之前如果該錄像服務(wù)器已經(jīng)錄制了部分 錄像文件,則按照時(shí)間先后順序拼接客戶端發(fā)送的錄像文件與該錄像 服務(wù)器錄制的部分錄像文件,所述錄像服務(wù)器保存拼接后的錄像文 件;如果該錄像服務(wù)器沒有開始錄像任務(wù),則該錄像服務(wù)器保存上述 客戶端發(fā)送的錄像文件。
另外,上述方法還包括
上述客戶端定時(shí)向錄像服務(wù)器發(fā)送?;钕?,該錄像服務(wù)器向該
客戶端發(fā)送所述?;钕⒌捻憫?yīng)消息;
上述保活消息的響應(yīng)消息包括該錄像服務(wù)器的運(yùn)行狀態(tài)。 上述客戶端依據(jù)上述保活消息的響應(yīng)消息,判斷該錄像服務(wù)器是
否正常。
另外,上述保活消息的響應(yīng)消息還可用來獲取服務(wù)器端的錄像任 務(wù)列表,客戶端依據(jù)該?;钕⒌捻憫?yīng)消息,獲取錄像服務(wù)器存儲(chǔ)的
7錄像任務(wù)列表,并在本地保存;
客戶端通過?;钕⒖梢垣@取錄像服務(wù)器端存儲(chǔ)的全部錄像任 務(wù)列表,也可各個(gè)客戶端只獲取本客戶端指定的錄像任務(wù),而不是一
個(gè)客戶端獲取所有客戶端制定的全部錄像任務(wù);
當(dāng)所述錄像服務(wù)器出現(xiàn)異常時(shí),由與客戶端連接的其它服務(wù)器負(fù) 載均衡地選定至少一個(gè)在線客戶端執(zhí)行錄像任務(wù)。
通過本發(fā)明的上述至少一個(gè)方案,當(dāng)平臺(tái)錄像機(jī)制在服務(wù)器側(cè)出 現(xiàn)故障的情況下,引入客戶端與平臺(tái)互備機(jī)制,在錄像服務(wù)器出現(xiàn)意 外情況不能執(zhí)行平臺(tái)錄像時(shí),由客戶端代替錄像服務(wù)器執(zhí)行平臺(tái)錄像
任務(wù),可保證平臺(tái)錄像在錄像服務(wù)器出現(xiàn)故障時(shí)仍可順利完成錄像任
務(wù),具有良好的容災(zāi)性。
附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,并且構(gòu)成說明書的一部 分,與本發(fā)明的實(shí)施例一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的限 制。在附圖中
圖1為根據(jù)本發(fā)明實(shí)施例的客戶端的結(jié)構(gòu)框圖; 圖2為根據(jù)本發(fā)明實(shí)施例的平臺(tái)錄像系統(tǒng)的應(yīng)用環(huán)境部署圖; 圖3為本發(fā)明實(shí)施例一的具體實(shí)施過程的流程圖。
具體實(shí)施例方式
如上所述,本發(fā)明提供了一種平臺(tái)錄像方法、系統(tǒng)及客戶端, 用以解決現(xiàn)有技術(shù)中錄像服務(wù)器出現(xiàn)意外不能執(zhí)行平臺(tái)錄像時(shí),平臺(tái) 錄像失敗或缺失的問題。在該方案中,通過客戶端與錄像服務(wù)器互備 機(jī)制,使得在錄像服務(wù)器出現(xiàn)故障時(shí)仍可順利完成錄像任務(wù)。
8以下結(jié)合附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說明,應(yīng)當(dāng)理解,此 處所描述的優(yōu)選實(shí)施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
根據(jù)本發(fā)明實(shí)施例,提供了一種客戶端,如圖1為根據(jù)本發(fā)明
實(shí)施例的客戶端的結(jié)構(gòu)框圖,根據(jù)本發(fā)明實(shí)施例的客戶端包括發(fā)送
模塊、備份模塊、檢測(cè)模塊、連接模塊、保存模塊。 以下結(jié)合附圖進(jìn)一步描述上述各個(gè)模塊。
發(fā)送模塊101用于向錄像服務(wù)器發(fā)送錄像任務(wù)請(qǐng)求,該發(fā)送模塊 101還用于定時(shí)向錄像服務(wù)器發(fā)送保活消息,并用于當(dāng)錄像服務(wù)器恢 復(fù)正常后,向錄像服務(wù)器發(fā)送錄像文件;
并且上述客戶端還包括
備份模塊105,用于在本地備份發(fā)送給錄像服務(wù)器的錄像任務(wù); 檢測(cè)模塊102,用于檢測(cè)本地備份的錄像任務(wù)列表中是否存在正 在執(zhí)行或者即將開始執(zhí)行的錄像任務(wù); 連接模塊103,用于與編碼器連接; 保存模塊104,用于保存錄像文件。
上述備份模塊105,還用于保存從錄像服務(wù)器獲取的全部錄像任 務(wù)列表。
根據(jù)本發(fā)明實(shí)施例的上述客戶端,當(dāng)錄像服務(wù)器出現(xiàn)異常時(shí),仍 可通過客戶端完成錄像任務(wù)。
根據(jù)本發(fā)明實(shí)施例,還提供一種平臺(tái)錄像系統(tǒng),用于錄像服務(wù) 器出現(xiàn)異常時(shí),仍可通過客戶端完成錄像任務(wù)。 圖2為根據(jù)本發(fā)明實(shí)施例的平臺(tái)錄像系統(tǒng)的應(yīng)用環(huán)境部署圖,如圖2 所示的具體實(shí)施環(huán)境中,編碼器203為與攝像頭直接連接的能夠提供 流媒體數(shù)據(jù)的設(shè)備,客戶端201可以是很多種,比如監(jiān)控終端,攝像 頭作為監(jiān)控系統(tǒng)的前端設(shè)備直接部署在監(jiān)控現(xiàn)場(chǎng),負(fù)責(zé)視頻圖像的采 集;錄像月良務(wù)器與編碼器之間可通過/〉網(wǎng)(InterNet )連沖妄,也可以通過私有網(wǎng)絡(luò)連接,編碼器和攝像頭之間是直接的物理連接。
正常情況下,錄像服務(wù)器202與編碼器203連接執(zhí)行錄像任務(wù), 客戶端201向錄像服務(wù)器202發(fā)起錄像任務(wù)請(qǐng)求后,錄像服務(wù)器202 根據(jù)自身保存的錄像任務(wù)列表執(zhí)行錄像任務(wù),并保存錄像文件。采用 本發(fā)明平臺(tái)錄像系統(tǒng),當(dāng)錄像服務(wù)器202發(fā)生異常時(shí),客戶端201可 釆用直連的方式直接與位于前端的編碼器203建立連接,執(zhí)行錄像任 務(wù),保存錄像文件,比如視頻流,完成錄像操作。
如圖2所示, 一種平臺(tái)錄像的系統(tǒng),包括客戶端201、錄像服務(wù) 器202、編碼器203,以下結(jié)合附圖進(jìn)一步描述上述各個(gè)實(shí)體。
客戶端201,用于向錄像服務(wù)器202發(fā)送錄像任務(wù),并在本地備 份該錄像任務(wù);
當(dāng)錄像服務(wù)器202出現(xiàn)異常時(shí),該客戶端201,還用于檢測(cè)本地 備份的錄像任務(wù)列表中是否存在正在執(zhí)行或者即將開始執(zhí)行的錄像 任務(wù),當(dāng)存在時(shí),該客戶端201與編碼器203連接進(jìn)行錄像,并將錄 像文件保存在本地。
另夕卜,客戶端201,還用于,當(dāng)所述錄像服務(wù)器202恢復(fù)正常后, 向所述錄像服務(wù)器發(fā)送所述錄像文件;
錄像服務(wù)器202,還用于,當(dāng)該錄像服務(wù)器202出現(xiàn)異常之前,
如果該錄像服務(wù)器202已經(jīng)錄制了部分錄像文件,則按照時(shí)間先 后順序拼接上述客戶端201發(fā)送的錄像文件與該錄像服務(wù)器202錄制 的部分錄像文件,該錄像服務(wù)器202還用于保存拼接后的錄像文件; 如果該錄像服務(wù)器202沒有開始錄像任務(wù),則該錄像服務(wù)器202還用 于保存所述客戶端201發(fā)送的錄像文件。
另外,上述客戶端201,還用于定時(shí)向上速錄^f象il良務(wù)器202發(fā)送 ?;钕?,
上述錄像服務(wù)器202,還用于向該客戶端發(fā)送上述?;钕⒌捻?應(yīng)消息;
上述?;钕⒌捻憫?yīng)消息包括所述錄像服務(wù)器202的運(yùn)行狀態(tài)。另外,上述系統(tǒng)還包括與客戶端201連接的其它服務(wù)器; 上述?;钕⒌捻憫?yīng)消息還包括上述錄像服務(wù)器202存儲(chǔ)的全
部錄像任務(wù)列表;
當(dāng)所述錄像服務(wù)器202出現(xiàn)異常時(shí),由上述其它服務(wù)器負(fù)載均衡
地選定至少一個(gè)在線客戶端201執(zhí)行錄像任務(wù)。
根據(jù)本發(fā)明實(shí)施例,提供了一種平臺(tái)錄像方法,以下結(jié)合圖3進(jìn)一步 描述上述各個(gè)處理的細(xì)節(jié)。該方法包括如下步驟,對(duì)于多個(gè)錄像任務(wù) 而言,下面步驟可以并行執(zhí)行,不分先后
步驟301,客戶端向錄像服務(wù)器發(fā)送錄像任務(wù)請(qǐng)求; 錄像服務(wù)器保存客戶端發(fā)送的錄像任務(wù),并按照系統(tǒng)時(shí)間執(zhí)行錄 像任務(wù),錄像服務(wù)器(平臺(tái)側(cè))將各客戶端下發(fā)的錄像任務(wù)或計(jì)劃統(tǒng) 一保存在平臺(tái)側(cè)數(shù)據(jù)庫(kù)中,或者以數(shù)據(jù)結(jié)構(gòu)的形式直接保存在內(nèi)存中 以獲得更快的錄像任務(wù)檢索速度,并按照系統(tǒng)時(shí)間執(zhí)行相應(yīng)的錄像任 務(wù)。
步驟302,錄像任務(wù)請(qǐng)求發(fā)送成功,客戶端在本地備份該錄像任
務(wù);
上述兩步驟,具體操:作包括
客戶端向錄像服務(wù)器發(fā)送錄像任務(wù)請(qǐng)求;
上述請(qǐng)求消息包括錄像任務(wù)ID、監(jiān)控點(diǎn)ID、錄像開始時(shí)間、錄 像結(jié)束時(shí)間、錄像的周期性信息;
客戶端在本地?cái)?shù)據(jù)庫(kù)中備份客戶端向錄像服務(wù)器發(fā)送的錄像任 務(wù)??蛻舳瞬恢箍蓚浞葑陨碇贫ǖ匿浵袢蝿?wù),也可通過?;钕⒌捻?庫(kù)消息,獲取錄像服務(wù)器側(cè)的全部錄像任務(wù)列表,在錄像服務(wù)器發(fā)生 異常時(shí),可根據(jù)負(fù)載均衡等算法選定其中一個(gè)在線的客戶端完成錄像 任務(wù)(選中的客戶端可能并不是該錄像任務(wù)的發(fā)起者),其中可由錄 像服務(wù)器以外的其他與客戶端連接的其它服務(wù)器,如登錄服務(wù)器進(jìn)行 負(fù)載均衡判斷;
ii在上述情況下,客戶端保存錄像服務(wù)器測(cè)的全部錄像任務(wù)表,在 錄像服務(wù)器發(fā)生異常時(shí),如果客戶端保存的錄像任務(wù)列表中不存在正 在執(zhí)行或者即將開始執(zhí)行的錄像任務(wù),則客戶端定時(shí)重復(fù)檢測(cè)本地 備份的錄像任務(wù)表,期間若有需要執(zhí)行的錄像任務(wù)則由客戶端執(zhí)行, 同時(shí)客戶端定時(shí)重復(fù)發(fā)送?;钕ⅲ翡浵穹?wù)器恢復(fù)正常則結(jié)束流 程。
步驟303,錄像服務(wù)器與編碼器連接,請(qǐng)求視頻流,編碼器控制
攝像頭開始錄像;
步驟304,編碼器向錄像服務(wù)器返回視頻流;
步驟305,客戶端定時(shí)向錄像服務(wù)器發(fā)送?;钕?;
步驟306,錄像服務(wù)器向該客戶端發(fā)送所述保活消息的響應(yīng)消息;
上述保活消息的響應(yīng)消息包括該錄像服務(wù)器的運(yùn)行狀態(tài)。
上述客戶端依據(jù)上述保活消息的響應(yīng)消息,判斷該錄像服務(wù)器是
否正常。
上面兩步驟,具體梯:作包括
客戶端定時(shí)(如每隔1分鐘)向錄像服務(wù)器不停地發(fā)送?;钕?, 向錄像服務(wù)器通報(bào)自身的運(yùn)行狀況,同步系統(tǒng)時(shí)間,同時(shí)也通過消息 響應(yīng)監(jiān)視錄像服務(wù)器的運(yùn)行情況。
步驟307,?;钍。砻麂浵穹?wù)器出現(xiàn)異常,客戶端檢測(cè)本 地備份的錄像任務(wù)列表中是否存在正在執(zhí)行或者即將開始執(zhí)行的錄 像任務(wù),當(dāng)存在時(shí),客戶端直連編碼器,編碼器控制攝像頭進(jìn)行錄像;
步驟308,客戶端通過直連方式從編碼器端獲取視頻流,其在本 地保存為錄像文件;
上述兩個(gè)步驟,具體操作包括
客戶端判斷錄像服務(wù)器?;钕⒌捻憫?yīng)消息是否正常;如果?;?失敗或者錄像服務(wù)器沒有相應(yīng),則表明錄像服務(wù)器出現(xiàn)異常,客戶端 檢測(cè)本地備份的錄像任務(wù)列表,根據(jù)系統(tǒng)時(shí)間判斷是否有正在執(zhí)行或 者應(yīng)該開始執(zhí)行的錄像任務(wù),如果存在正在執(zhí)行或即將開始執(zhí)行的錄像任務(wù),客戶端采用直連的方式直接與錄像任務(wù)相關(guān)的目標(biāo)編碼器連 接,,并將編碼器發(fā)來的錄像文件保存在本地。錄像文件名稱可以包 括錄像任務(wù)的ID、監(jiān)控點(diǎn)ID、本地錄像實(shí)際開始時(shí)間和結(jié)束時(shí)間。
步驟309,?;罨謴?fù),錄像服務(wù)器恢復(fù)正常,上述客戶端向錄4象 服務(wù)器上傳上述本地保存的錄像文件;
當(dāng)錄像服務(wù)器出現(xiàn)異常之前如果該錄像服務(wù)器已經(jīng)錄制了部分 錄像文件,則按照時(shí)間先后順序拼接客戶端發(fā)送的錄像文件與該錄像 服務(wù)器錄制的部分錄像文件,所述錄像服務(wù)器保存拼接后的錄像文 件;如果該錄像服務(wù)器沒有開始錄像任務(wù),則該錄像服務(wù)器直接保存 上述客戶端上傳的錄像文件。
客戶端向錄像服務(wù)器上傳錄像文件時(shí),可使用斷點(diǎn)續(xù)傳或多線程 并發(fā)下載等技術(shù)提高文件傳輸質(zhì)量。
步驟310,客戶端本地保存的錄像文件傳輸完畢,然后錄像服務(wù) 器把對(duì)應(yīng)于某一錄像任務(wù)的完整錄像文件發(fā)送給請(qǐng)求該錄像任務(wù)的 客戶端。
為了進(jìn)一步描述上述方法的具體實(shí)施方式
,下面以一種平臺(tái)錄《象 方法為例,對(duì)本發(fā)明實(shí)施例4是供的上述方法的具體實(shí)施方式
進(jìn)行說 明。
實(shí)施例一
一種平臺(tái)錄像方法,主要包括以下步驟
步驟1,本實(shí)施例中以平臺(tái)定時(shí)錄像任務(wù)為例,客戶端通過 TCP+XML的方式向平臺(tái)側(cè)發(fā)起錄像任務(wù)的請(qǐng)求。請(qǐng)求消息中包括目標(biāo) 錄像任務(wù)的ID、監(jiān)控點(diǎn)的ID、錄像的開始和結(jié)束時(shí)間、錄像的周期 性(每周或每天)等信息。同時(shí)將發(fā)送至平臺(tái)側(cè)的錄4象任務(wù)備份在本 地?cái)?shù)據(jù)庫(kù)中;
步驟2,錄像服務(wù)器收到客戶端的錄像任務(wù)請(qǐng)求后,將錄像任務(wù) 保存在平臺(tái)側(cè)的Oracle數(shù)據(jù)庫(kù)中,并定時(shí)掃描錄像任務(wù)表中的記錄,開始或結(jié)束時(shí)間符合要求的錄像計(jì)劃;
步驟3,本實(shí)施例中,客戶端每隔1分鐘以TCP+XML的方式向錄 像服務(wù)器發(fā)送保活消息,并解析錄像服務(wù)器回復(fù)的響應(yīng)消息。正常的 ?;铐憫?yīng)消息應(yīng)包含服務(wù)器的系統(tǒng)時(shí)間(用來同步客戶端的系統(tǒng)時(shí) 間)和服務(wù)器當(dāng)前的運(yùn)行狀態(tài)等內(nèi)容;
步驟4,若客戶端發(fā)現(xiàn)?;钍?,則才僉查保存在本地?cái)?shù)據(jù)庫(kù)中的 平臺(tái)錄像任務(wù)列表中是否存在正在執(zhí)行或即將開始執(zhí)行的錄像任務(wù);
步驟5,客戶端開啟錄像任務(wù)執(zhí)行線程,判斷如果有已開始的錄 像任務(wù)或即將開始的錄像任務(wù),則根據(jù)這些錄像任務(wù)對(duì)應(yīng)的監(jiān)控點(diǎn) ID,向?qū)?yīng)的編碼器發(fā)起直連,進(jìn)行本地錄像;如果客戶端不存在正 在執(zhí)行或者即將開始執(zhí)行的錄像任務(wù),則客戶端定時(shí)重復(fù)檢測(cè)本地 備份的錄像任務(wù)表,期間若有需要執(zhí)行的錄像任務(wù)則由客戶端執(zhí)行, 同時(shí)客戶端定時(shí)重復(fù)發(fā)送?;钕?,若錄像服務(wù)器恢復(fù)正常則客戶端 停止直連錄像,結(jié)束流程;
步驟6,客戶端通過直連的方式將編碼器的視頻流保存在本地, 在錄像文件命名時(shí)應(yīng)包含錄像任務(wù)的ID、監(jiān)控點(diǎn)ID、本地錄像實(shí)際 開始時(shí)間和結(jié)束時(shí)間等重要信息;
步驟7,當(dāng)?;钕⒒謴?fù)正常后,表示錄像服務(wù)器恢復(fù)正常工作 可以繼續(xù)執(zhí)行錄像任務(wù),則客戶端停止本地直連錄像,并將本地錄像 文件上傳至平臺(tái)側(cè)(本實(shí)施例中采用ftp協(xié)議上傳錄像文件);
步驟8,客戶端上傳錄像文件完成后,若錄像服務(wù)器可根據(jù)錄像 文件對(duì)應(yīng)的錄像任務(wù)ID判斷平臺(tái)側(cè)是否存在該錄像任務(wù)的部分錄像 文件,若平臺(tái)側(cè)有部分錄像文件,則將平臺(tái)側(cè)文件與客戶端上傳的錄 像文件按照時(shí)間的先后順序進(jìn)行拼接,組成一個(gè)完成的錄像任務(wù)。若 該錄像任務(wù)完全由客戶端完成,則直接將客戶端上傳的文件改名,保 存為平臺(tái)錄像文件。
另外,在上述實(shí)施例中涉及的平臺(tái)錄像方法、系統(tǒng)及客戶端,客 戶端本地錄像任務(wù)的備份也可只保存在內(nèi)存的數(shù)據(jù)結(jié)構(gòu)中,如此一來客戶端的錄像任務(wù)執(zhí)行線程可以更加有效地檢索和執(zhí)行本地備份錄 像任務(wù)表。
另外,在上述實(shí)施例中涉及的平臺(tái)錄像方法、系統(tǒng)及客戶端,保 活的周期(時(shí)間間隔)可在不給錄像服務(wù)器帶來過重負(fù)擔(dān)的前提下采 用更短的時(shí)間,以提高發(fā)現(xiàn)錄像服務(wù)器異常的及時(shí)性。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,如采用手動(dòng)方式開始平臺(tái) 錄像,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人 員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變 形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種客戶端,該客戶端包括發(fā)送模塊,該發(fā)送模塊用于向錄像服務(wù)器發(fā)送錄像任務(wù)請(qǐng)求,其特征是,該發(fā)送模塊還用于定時(shí)向錄像服務(wù)器發(fā)送?;钕ⅲ⒂糜诋?dāng)錄像服務(wù)器恢復(fù)正常后,向錄像服務(wù)器發(fā)送錄像文件;并且所述客戶端還包括備份模塊,用于在本地備份發(fā)送給錄像服務(wù)器的錄像任務(wù);檢測(cè)模塊,用于檢測(cè)本地備份的錄像任務(wù)列表中是否存在正在執(zhí)行或者即將開始執(zhí)行的錄像任務(wù);連接模塊,用于與編碼器連接;保存模塊,用于保存錄像文件。
2、 根據(jù)權(quán)利要求1所述的客戶端,其特征是,所述備份模塊,還用于保存從錄像服務(wù)器獲取的全部錄像任務(wù)列表。
3、 一種平臺(tái)錄像系統(tǒng),包括客戶端、錄像服務(wù)器、編碼器,其特征 是,所述客戶端,用于向錄像服務(wù)器發(fā)送錄像任務(wù),并在本地備份該 錄像任務(wù);當(dāng)所述錄像服務(wù)器出現(xiàn)異常時(shí),所述客戶端,還用于檢測(cè)本地備 份的錄像任務(wù)列表中是否存在正在執(zhí)行或者即將開始執(zhí)行的錄像任 務(wù),當(dāng)存在時(shí),所述客戶端與編碼器連接進(jìn)行錄像,并將錄像文件保 存在本地。
4、 根據(jù)權(quán)利要求3所述的平臺(tái)錄像系統(tǒng),其特征是,所述客戶端,還用于,當(dāng)所述錄像服務(wù)器恢復(fù)正常后,向所述錄 像服務(wù)器發(fā)送所述錄像文件;所述錄像服務(wù)器,還用于,當(dāng)所述錄像服務(wù)器出現(xiàn)異常之前如 果所述錄像服務(wù)器已經(jīng)錄制了部分錄像文件,則按照時(shí)間先后順序拼 接所述客戶端發(fā)送的錄像文件與所述錄像服務(wù)器錄制的部分錄像文 件,所述錄像服務(wù)器還用于保存拼接后的錄像文件;如果所述錄像服 務(wù)器沒有開始錄像任務(wù),則所述錄像服務(wù)器還用于保存所述客戶端發(fā)送的錄像文件。
5、 根據(jù)權(quán)利要求3或者4所述的平臺(tái)錄像系統(tǒng),其特征是,所述客戶端,還用于定時(shí)向所述錄像服務(wù)器發(fā)送保活消息, 所述錄像服務(wù)器,用于向該客戶端發(fā)送所述?;钕⒌捻憫?yīng)消自 所述保活消息的響應(yīng)消息包括所述錄像服務(wù)器的運(yùn)行狀態(tài)。
6、 根據(jù)權(quán)利要求5所述的平臺(tái)錄像系統(tǒng),其特征是,所述系統(tǒng)還包括與客戶端連接的其它服務(wù)器; 所述?;钕⒌捻憫?yīng)消息還包括所述錄像服務(wù)器存儲(chǔ)的全部錄 像任務(wù)列表;當(dāng)所述錄像服務(wù)器出現(xiàn)異常時(shí),由所述其它服務(wù)器負(fù)載均衡地選 定至少一個(gè)在線客戶端執(zhí)行錄像任務(wù)。
7、 一種平臺(tái)錄像的方法,所述方法包括客戶端向錄像服務(wù)器發(fā)送錄像任務(wù),并將該錄像任務(wù)在本地備份;當(dāng)所述錄像服務(wù)器出現(xiàn)異常時(shí),所述客戶端檢測(cè)本地備份的錄像 任務(wù)列表中是否存在正在執(zhí)行或者即將開始執(zhí)行的錄傳 f壬務(wù),當(dāng)存在 時(shí),所述客戶端與編碼器連接進(jìn)行錄像,并將錄像文件保存在本地。
8、 根據(jù)權(quán)利要求7所述的平臺(tái)錄像方法,其特征是,所述方法還包 括當(dāng)所述錄像服務(wù)器恢復(fù)正常后,所述客戶端向所述錄像服務(wù)器發(fā) 送所述錄像文件;當(dāng)所述錄^f象^^務(wù)器出現(xiàn)異常之前如果所述錄^象服務(wù)器已經(jīng)錄制 了部分錄像文件,則按照時(shí)間先后順序拼接所述客戶端發(fā)送的錄像文 件與所述錄像服務(wù)器錄制的部分錄像文件,所述錄像服務(wù)器保存拼接 后的錄像文件;如果所述錄像服務(wù)器沒有開始錄像任務(wù),則所述錄像 服務(wù)器保存所述客戶端發(fā)送的錄像文件。
9、 根據(jù)權(quán)利要求7所述的平臺(tái)錄像方法,其特征是,所述方法還包括所述客戶端定時(shí)向所述錄像服務(wù)器發(fā)送?;钕?,該錄像服務(wù)器向該客戶端發(fā)送所述保活消息的響應(yīng)消息;所述?;钕⒌捻憫?yīng)消息包括所述錄像服務(wù)器的運(yùn)行狀態(tài),所述客戶 端依據(jù)所述?;钕⒌捻憫?yīng)消息,判斷所述錄像服務(wù)器是否正常。
10、根據(jù)權(quán)利要求9所述的平臺(tái)錄像方法,其特征是,所述?;钕⒌捻憫?yīng)消息還包括所述錄像服務(wù)器存儲(chǔ)的錄像任 務(wù)列表,所述客戶端依據(jù)所述?;钕⒌捻憫?yīng)消息,獲取所述錄像服 務(wù)器存儲(chǔ)的錄像任務(wù)列表,并在本地保存;當(dāng)所述錄像服務(wù)器出現(xiàn)異常時(shí),由與客戶端連接的其它服務(wù)器負(fù) 載均衡地選定至少一個(gè)在線客戶端執(zhí)行錄像任務(wù)。
全文摘要
本發(fā)明提供了一種平臺(tái)錄像方法、系統(tǒng)及客戶端,當(dāng)錄像服務(wù)器出現(xiàn)異常時(shí),客戶端檢測(cè)本地備份的錄像任務(wù)列表中是否存在正在執(zhí)行或者即將開始執(zhí)行的錄像任務(wù),當(dāng)存在時(shí),客戶端與編碼器連接進(jìn)行錄像,并將錄像文件保存在本地;通過本發(fā)明的上述至少一個(gè)方案,當(dāng)平臺(tái)錄像機(jī)制在服務(wù)器側(cè)出現(xiàn)故障的情況下,引入客戶端與平臺(tái)互備機(jī)制,在錄像服務(wù)器出現(xiàn)意外情況不能執(zhí)行平臺(tái)錄像時(shí),由客戶端代替錄像服務(wù)器執(zhí)行平臺(tái)錄像任務(wù),可保證平臺(tái)錄像在錄像服務(wù)器出現(xiàn)故障時(shí)仍可順利完成錄像任務(wù),具有良好的容災(zāi)性。
文檔編號(hào)H04N7/18GK101483762SQ20081024197
公開日2009年7月15日 申請(qǐng)日期2008年12月31日 優(yōu)先權(quán)日2008年12月31日
發(fā)明者崔志偉 申請(qǐng)人:中興通訊股份有限公司