本技術(shù)涉及多媒體播放領(lǐng)域,具體涉及一種alg鏈路檢測方法、裝置、客戶端和服務(wù)端。
背景技術(shù):
1、在多媒體業(yè)務(wù)領(lǐng)域中,rtsp(實時流傳輸協(xié)議)因其較低的延遲以及強大的兼容性而被廣泛使用,例如在智能機頂盒業(yè)務(wù)中,能經(jīng)常看到他的身影。目前現(xiàn)網(wǎng)的許多流媒體服務(wù)端都使用了rtsp協(xié)議,對于客戶端而言同樣也需要支持該協(xié)議。
2、出于安全性考慮,當(dāng)前在現(xiàn)網(wǎng)中的rtsp播放過程中,都要求啟動會話信令rtspsetup信令中攜帶目的ip字段destination,表示信令需要通過網(wǎng)絡(luò)地址轉(zhuǎn)換nat設(shè)備穿越發(fā)送到服務(wù)端,此時就需要網(wǎng)關(guān)執(zhí)行rtsp?alg功能。rtsp?alg是一種特殊的應(yīng)用層網(wǎng)關(guān),用于在防火墻上進行rtsp流媒體請求和響應(yīng)的解析和轉(zhuǎn)發(fā),它可以維護會話狀態(tài),跟蹤rtsp流媒體通信,并支持nat遍歷。該功能的原理在于網(wǎng)關(guān)在轉(zhuǎn)發(fā)服務(wù)端下發(fā)的rtsp消息時,使用destination字段中的私網(wǎng)地址替換原始網(wǎng)絡(luò)包中的公網(wǎng)地址,使網(wǎng)絡(luò)數(shù)據(jù)傳輸成功,而在網(wǎng)關(guān)的處理出現(xiàn)異常時,alg鏈路不通,會導(dǎo)致播放異常。
3、在相關(guān)技術(shù)中沒有對alg鏈路進行檢測的方法,當(dāng)alg功能異常時會導(dǎo)致鏈路不通,依賴于alg的rtsp功能會產(chǎn)生信令交互和播放異常的問題,并且alg鏈路不通的情況下,客戶端和服務(wù)端均不感知,客戶端會出現(xiàn)播放異常的現(xiàn)象,容易誤判為網(wǎng)絡(luò)異常,對問題的排查存在干擾,不利于現(xiàn)網(wǎng)應(yīng)用維護。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供一種alg鏈路檢測方法、裝置、客戶端和服務(wù)端,可以解決現(xiàn)有技術(shù)中沒有對alg鏈路進行故障檢測的方法的技術(shù)問題。
2、第一方面,本技術(shù)實施例提供一種alg鏈路檢測方法,該方法用于客戶端,該方法包括:
3、當(dāng)所述客戶端檢測到播放業(yè)務(wù)異常時,基于rtsp協(xié)議根據(jù)異常場景通知服務(wù)端進行異常自檢;
4、若接收到所述服務(wù)端回復(fù)的自檢無異常消息,則向所述服務(wù)端發(fā)送不攜帶destination字段的第一類啟動會話信令rtsp?setup進行起播;
5、在向服務(wù)端發(fā)送第一類rtsp?setup信令進行起播之后,根據(jù)所述異常場景是否消失確定所述alg鏈路是否存在故障。
6、結(jié)合第一方面,在一種實施方式中,當(dāng)所述客戶端檢測到播放業(yè)務(wù)異常時,基于rtsp協(xié)議根據(jù)異常場景通知服務(wù)端進行異常自檢,包括:
7、在所述客戶端向所述服務(wù)端發(fā)送正常攜帶destination字段的第二類rtsp?setup信令之后,當(dāng)檢測到在第一預(yù)設(shè)時長內(nèi)未接收到所述服務(wù)端對所述第二類rtsp?setup信令的回復(fù)消息時,向所述服務(wù)端發(fā)送攜帶setup?reply?not?received字段的參數(shù)設(shè)置信令rtsp?setparameter,以使所述服務(wù)端自檢是否已對所述第二類rtsp?setup信令進行回復(fù)。
8、在一種實施方式中,若接收到所述服務(wù)端回復(fù)的自檢無異常消息,則向所述服務(wù)端發(fā)送不攜帶destination字段的第一類啟動會話信令rtsp?setup,包括:
9、若接收到所述服務(wù)端回復(fù)的攜帶setup?reply?already?sent字段的回復(fù)消息,則向所述服務(wù)端發(fā)送所述第一類rtsp?setup信令進行起播。
10、在一種實施方式中,當(dāng)所述客戶端檢測到播放業(yè)務(wù)異常時,基于rtsp協(xié)議根據(jù)異常場景通知服務(wù)端進行異常自檢,還包括:
11、在所述客戶端基于rtsp協(xié)議完成起播后,當(dāng)檢測到在第二預(yù)設(shè)時長內(nèi)未接收到所述服務(wù)端發(fā)送的流媒體數(shù)據(jù)時,向所述服務(wù)端發(fā)送攜帶stream?not?received字段的rtspsetparameter信令,以使所述服務(wù)端自檢是否已向所述客戶端發(fā)送流媒體數(shù)據(jù)。
12、在一種實施方式中,若接收到所述服務(wù)端回復(fù)的自檢無異常消息,則向所述服務(wù)端發(fā)送不攜帶destination字段的第一類啟動會話信令rtsp?setup,包括:
13、若接收到所述服務(wù)端回復(fù)的攜帶stream?already?sent字段的回復(fù)消息,則向所述服務(wù)端發(fā)送所述第一類rtsp?setup信令進行起播。
14、在一種實施方式中,在向服務(wù)端發(fā)送第一類rtsp?setup信令進行起播之后,根據(jù)所述異常場景是否消失確定所述alg鏈路是否存在故障,包括:
15、在向所述服務(wù)端發(fā)送所述第一類rtsp?setup信令之后,若所述異常場景消失,則確定所述alg鏈路存在故障。
16、在一種實施方式中,在確定所述alg鏈路存在故障之后,還包括:
17、向所述服務(wù)端發(fā)送攜帶rtsp?alg?function?error字段的rtsp?setparameter信令,以使所述服務(wù)端上報所述alg鏈路的故障。
18、第二方面,本技術(shù)實施例提供了一種alg鏈路檢測方法,該方法用于服務(wù)端,其包括:
19、在接收到客戶端基于rtsp協(xié)議根據(jù)異常場景發(fā)送的異常自檢通知時進行異常自檢,并在自檢無異常時向所述客戶端回復(fù)自檢無異常消息;
20、在接收到所述客戶端發(fā)送的不攜帶destination字段的rtsp?setup信令時,進行響應(yīng)。
21、第三方面,本技術(shù)實施例提供了一種alg鏈路檢測裝置,該裝置用于客戶端,其包括:
22、異常檢測模塊,其用于當(dāng)所述客戶端檢測到播放業(yè)務(wù)異常時,基于rtsp協(xié)議根據(jù)異常場景通知服務(wù)端進行異常自檢;
23、信令發(fā)送模塊,其用于若接收到所述服務(wù)端回復(fù)的自檢無異常消息,則向所述服務(wù)端發(fā)送不攜帶destination字段的第一類啟動會話信令rtsp?setup進行起播;
24、故障確定模塊,其用于在向服務(wù)端發(fā)送第一類rtsp?setup信令進行起播之后,根據(jù)所述異常場景是否消失確定所述alg鏈路是否存在故障。
25、第四方面,本技術(shù)實施例提供了一種alg鏈路檢測裝置,該裝置用于服務(wù)端,其包括:
26、自檢模塊,其用于在接收到客戶端基于rtsp協(xié)議根據(jù)異常場景發(fā)送的異常自檢通知時進行異常自檢,并在自檢無異常時向所述客戶端回復(fù)自檢無異常消息;
27、響應(yīng)模塊,其用于在接收到所述客戶端發(fā)送的不攜帶destination字段的rtspsetup信令時,進行響應(yīng)。
28、第五方面,本技術(shù)實施例提供了一種客戶端,所述客戶端包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執(zhí)行的alg鏈路檢測程序,其中所述alg鏈路檢測程序被所述處理器執(zhí)行時,實現(xiàn)如上述任一項所述的alg鏈路檢測方法的步驟。
29、第六方面,本技術(shù)實施例提供了一種服務(wù)端,所述服務(wù)端包括處理器、存儲器、以及存儲在所述存儲器上并可被所述處理器執(zhí)行的alg鏈路檢測程序,其中所述alg鏈路檢測程序被所述處理器執(zhí)行時,實現(xiàn)如上述的alg鏈路檢測方法的步驟
30、本技術(shù)實施例提供的技術(shù)方案帶來的有益效果包括:
31、(1)解決了傳統(tǒng)rtsp播放時由于alg鏈路問題導(dǎo)致的播放異常,新增鏈路的檢測和終端自糾錯機制,有效提升了用戶體驗。
32、(2)通過rtsp協(xié)議擴展,讓服務(wù)端和客戶端都能檢測到當(dāng)前alg鏈路狀況,對于播放異常的原因有了清楚的認知,從而使得運維人員能夠快速定位問題,降低了現(xiàn)網(wǎng)運維難度。
33、本技術(shù)實施例提供一種alg鏈路檢測方法、裝置、客戶端和服務(wù)端,通過當(dāng)所述客戶端檢測到播放業(yè)務(wù)異常時,基于rtsp協(xié)議根據(jù)異常場景通知服務(wù)端進行異常自檢;若接收到所述服務(wù)端回復(fù)的自檢無異常消息,則向所述服務(wù)端發(fā)送不攜帶destination字段的第一類啟動會話信令rtsp?setup進行起播;在向服務(wù)端發(fā)送第一類rtsp?setup信令進行起播之后,根據(jù)所述異常場景是否消失確定所述alg鏈路是否存在故障,解決了相關(guān)技術(shù)中無法對alg鏈路進行故障檢測的技術(shù)問題,實現(xiàn)了對alg鏈路故障的快速檢測和規(guī)避,降低了現(xiàn)網(wǎng)運維難度,提高了用戶體驗。