本發(fā)明涉及數(shù)據(jù)傳輸,具體涉及一種終端設(shè)備與瀏覽器互聯(lián)互通的方法、系統(tǒng)。
背景技術(shù):
1、web瀏覽器成為用戶主流使用產(chǎn)品,因此催生出具備對講功能的終端設(shè)備也可以與瀏覽器實現(xiàn)雙向?qū)χv功能,實現(xiàn)互聯(lián)互通。此場景下需要綜合考慮協(xié)議的互通性、實時性、安全性等問題。目前現(xiàn)有的技術(shù)比如使用rtsp,rtmp實現(xiàn)推流拉流等雖然可以滿足互聯(lián)互通等功能,但不能同時滿足上述實時性或安全性等要求。
2、綜上,行業(yè)內(nèi)急需研發(fā)這一種能同時滿足互通性、實時性、安全性的互聯(lián)互通方法或者系統(tǒng)。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是為了克服以上現(xiàn)有技術(shù)存在的不足,提供了一種同時滿足互通性、實時性、安全性的終端設(shè)備與瀏覽器互聯(lián)互通的方法、系統(tǒng)。
2、本發(fā)明的目的通過以下的技術(shù)方案實現(xiàn):
3、本發(fā)明第一方面提供一種終端設(shè)備與瀏覽器互聯(lián)互通的方法,該方法包括:
4、s1,客戶端向服務(wù)器發(fā)送信令請求,所述客戶端是瀏覽器或者終端設(shè)備;
5、s2,服務(wù)器的信令模塊將所述信令請求處理為統(tǒng)一格式的指令,并將所述指令發(fā)送至指令處理子模塊;所述指令包含stream_name流名稱、uid指令碼、cmd指令碼和cmd_data指令碼攜帶的數(shù)據(jù);
6、s3,指令處理子模塊將所述指令發(fā)送至rtc子模塊進行處理,rtc子模塊創(chuàng)建offersdp以及設(shè)置對端的answer,所述對端為瀏覽器或者終端設(shè)備;
7、s4,根據(jù)所述offer?sdp和對端的answer,rtc子模塊通過sdp中數(shù)據(jù)與終端設(shè)備或者瀏覽器進行點對點連接;
8、s5,服務(wù)器將產(chǎn)生的抽象代理實體對象設(shè)置到橋接策略子模塊中,橋接策略子模塊將相同stream_name流名稱的實體間建立映射關(guān)系,并進行數(shù)據(jù)轉(zhuǎn)發(fā),實現(xiàn)終端設(shè)備與瀏覽器互聯(lián)互通。
9、優(yōu)選地,步驟s3和步驟s4之間還包括:根據(jù)所述指令中的uid字段通過數(shù)據(jù)模塊判斷客戶端類型,若是瀏覽器,則rtc子模塊通過sdp中數(shù)據(jù)與終端設(shè)備或者瀏覽器進行點對點連接包括;
10、s401,根據(jù)rtc子模塊的處理結(jié)果發(fā)送至信令模塊,信令模塊根據(jù)所述處理結(jié)果構(gòu)造信令請求的響應(yīng)數(shù)據(jù);
11、s402,信令模塊返回構(gòu)造好的數(shù)據(jù),得到服務(wù)器創(chuàng)建的offer數(shù)據(jù);
12、s403,重復(fù)執(zhí)行步驟s1-s3、s401-s402兩次,實現(xiàn)offer/answer的sdp交換,rtc子模塊與瀏覽器建立點對點連接。
13、優(yōu)選地,若是設(shè)備終端,則rtc子模塊通過sdp中數(shù)據(jù)與終端設(shè)備或者瀏覽器進行點對點連接包括;
14、s411,sip子模塊接收offer?sdp;
15、s412,通過uid指令碼查詢出對應(yīng)的終端信息,根據(jù)所述終端信息將所述offersdp填充到sip?invate中,并發(fā)送到對端;
16、s413,對端接收所述invate請求并且攜帶終端設(shè)備本次響應(yīng)的answersdp在sipack協(xié)議包中;
17、s414,將終端設(shè)備提取到answer?sdp設(shè)置到rtc模塊,rtc子模塊與終端設(shè)備建立點對點連接。
18、優(yōu)選地,步驟s403中的offer/answer的sdp交換包括:offer?sdp創(chuàng)建和answersdp設(shè)置;offer?sdp創(chuàng)建包括:瀏覽器發(fā)送http請求到服務(wù)器,服務(wù)器先經(jīng)過信令模塊處理解析所述http請求,服務(wù)器通過信令模塊解析得到的指令碼,判斷出需要創(chuàng)建offer?sdp時,將通過rtc模塊進行offer?sdp進行創(chuàng)建,并將offer?sdp返回給信令模塊,信令模塊將所述offer?sdp通過http協(xié)議攜帶在其中進行返回;answer?sdp設(shè)置包括:瀏覽器收到offer?sdp后,創(chuàng)建出answer?sdp,通過發(fā)送http請求并攜帶answer?sdp到服務(wù)器,服務(wù)器通過信令模塊進行解析,服務(wù)器通過信令模塊解析出的指令碼,根據(jù)指令碼判斷是設(shè)置answer的指令,則提取其中的answer?sdp信息設(shè)并置到rtc模塊,rtc模塊設(shè)置answer?sdp,實現(xiàn)offer/answer?sdp交換,開始與瀏覽器進行點對點連接。
19、本發(fā)明第二方面提供一種終端設(shè)備與瀏覽器互聯(lián)互通的系統(tǒng),該系統(tǒng)包括:數(shù)據(jù)模塊、信令模塊和流管理模塊;其中,流管理模塊包括指令處理子模塊、rtc子模塊、sip子模塊和橋接策略子模塊;所述數(shù)據(jù)模塊,用于獲取靜態(tài)數(shù)據(jù)和動態(tài)數(shù)據(jù),其中,靜態(tài)數(shù)據(jù)通過連接數(shù)據(jù)庫進行查詢獲取,動態(tài)數(shù)據(jù)為終端設(shè)備的動態(tài)推送數(shù)據(jù);所述信令模塊,用于對終端發(fā)送的udp請求協(xié)議和http請求協(xié)議進行處理處理,得到統(tǒng)一格式的指令,所述指令包含流名稱stream_name、用戶標(biāo)識uid和指令碼cmd;所述指令處理子模塊,用于提取所述用戶標(biāo)識uid,通過用戶標(biāo)識uid判斷該用戶類型是瀏覽器或者終端設(shè)備;所述rtc子模塊,用于創(chuàng)建offer?sdp和設(shè)置對端的answer?sdp,在創(chuàng)建offer?sdp的階段,在系統(tǒng)內(nèi)部抽象出一個與對端連接的虛擬實體,在接收到對端answer?sdp時候,通過解析answer?sdp與對端進行點對點連接;.所述sip子模塊,用于接收所述offe?sdp和指令,根據(jù)指令中的用戶標(biāo)識uid得到終端設(shè)備對應(yīng)的地址信息,用offer?sdp填充向?qū)?yīng)終端設(shè)備發(fā)送的sipinvate協(xié)議,終端返回answer?sdp,此時同時將對應(yīng)的answer?sdp設(shè)置到rtc子模塊中;橋接策略子模塊,用于將代理實體之間建立轉(zhuǎn)發(fā)關(guān)系,同時將瀏覽器和終端設(shè)備的協(xié)議進行適配轉(zhuǎn)換。
20、優(yōu)選地,所述指令處理子模塊包括sdp創(chuàng)建單元和用戶類型判斷單元;所述sdp創(chuàng)建單元,用于將用戶標(biāo)識uid傳入到rtc子模塊,rtc子模塊創(chuàng)建offersdp,所述offe?sdp包括雙端的傳輸信息參數(shù)、使用的編碼器參數(shù)和安全策略;所述用戶類型判斷單元,用于根據(jù)所述offe?sdp判斷用戶類型,若判斷出該用戶類型是瀏覽器,則回傳給信令模塊進行http響應(yīng);若判斷出該用戶類型是終端設(shè)備,則將指令和offer?sdp輸入到sip子模塊;
21、優(yōu)選地,橋接策略子模塊,還用于將指令提取得到的stream_name相同的兩側(cè)內(nèi)部橋接到一起,將一端接收到的rtp包適配成另一端協(xié)商的rtp包格式。
22、本發(fā)明相對于現(xiàn)有技術(shù)具有如下優(yōu)點:
23、本發(fā)明的服務(wù)器一方面使用sip協(xié)議來協(xié)商與終端設(shè)備進行點對點的連接,終端設(shè)備需要支持sip協(xié)議,同時只使用sip協(xié)議來交換sdp,流媒體的處理由rtc模塊進行處理,此外,由于是數(shù)據(jù)包直接轉(zhuǎn)發(fā),不需要編碼、解碼,對cpu資源消耗很小。且是直接轉(zhuǎn)發(fā)也極大地降低了延遲這樣由服務(wù)器保證與設(shè)備鏈路的實時性。
24、另一端服務(wù)器通過兩次http交換sdp與瀏覽器建立點對點連接,webrtc協(xié)議保證了很好的實時性和安全性,服務(wù)器內(nèi)部進行策略橋接,整體即實現(xiàn)了終端設(shè)備與瀏覽器的互聯(lián)互通,同時也保證了實時性和安全性。
25、同時sip協(xié)議和webrtc協(xié)議底層流媒體解析都是基于rtp/rtcp,兩者協(xié)議轉(zhuǎn)換上的工作更少,同時通過服務(wù)器生成offer?sdp的方式,服務(wù)器作為主動的一方可以從源頭統(tǒng)一兩端使用的媒體格式,使用的編碼器等,使得服務(wù)器可以避免做兩端的適配工作,服務(wù)器可以花少量的計算量實現(xiàn)轉(zhuǎn)換,這一點可以降低服務(wù)器的負載和保證了實時性。