本發(fā)明是涉及一種在實(shí)時(shí)對(duì)講網(wǎng)絡(luò)中的監(jiān)聽方法,尤其是一種應(yīng)用在實(shí)時(shí)對(duì)講網(wǎng)絡(luò)中的全時(shí)監(jiān)聽智能心跳方法。
背景技術(shù):
公網(wǎng)對(duì)講全稱為移動(dòng)公眾網(wǎng)對(duì)講系統(tǒng),移動(dòng)通信系統(tǒng)按其使用性質(zhì)可以分為公用移動(dòng)通信系統(tǒng)和專用移動(dòng)通信系統(tǒng),專用移動(dòng)通信系統(tǒng),是基于移動(dòng)通信網(wǎng)絡(luò)為用戶提供的用于指揮調(diào)度、協(xié)同工作的移動(dòng)公網(wǎng)對(duì)講通信系統(tǒng),利用高效的對(duì)講通信方式提高用戶工作效率,專業(yè)、強(qiáng)大、豐富的對(duì)講業(yè)務(wù)功能,提供給用戶很好的業(yè)務(wù)體驗(yàn)。
但是現(xiàn)有技術(shù)中,用戶端的移動(dòng)裝置(如手機(jī))的待機(jī)時(shí)間是很寶貴的,即電池寶貴、流量也是很寶貴,可是實(shí)時(shí)多媒體(如對(duì)講)希望達(dá)到一呼就通的效果,就要非常頻繁快速的心跳,必然會(huì)消耗大量的電量和流量,而且用戶端的網(wǎng)絡(luò)會(huì)時(shí)刻發(fā)生切換,比如從Wi-Fi切換到4G,從一個(gè)4G基站切換到另外一個(gè)4G基站,每次切換后,用戶的實(shí)際IP地址和端口,極可能發(fā)生變化,如果不立刻上報(bào)服務(wù)器,那么服務(wù)器將會(huì)把媒體發(fā)往之前舊的IP地址和端口,從而出現(xiàn)收不到媒體的現(xiàn)象;當(dāng)用戶在汽車、火車等高速交通工具上,而3G,4G的基站信號(hào)距離是從幾百米到幾公里不等,也就是說,用戶端的網(wǎng)絡(luò)可能頻繁的發(fā)生的切換,而且速度越快,切換肯定是越頻繁的,為了及時(shí)更新接受媒體的端口給服務(wù)器,所以要快速的上報(bào)心跳給服務(wù)器。
因此,如何能實(shí)現(xiàn)在實(shí)時(shí)對(duì)講網(wǎng)絡(luò)中能夠全時(shí)監(jiān)聽智能心跳,確實(shí)有待提出更佳解決方案的必要性。
技術(shù)實(shí)現(xiàn)要素:
有鑒于上述現(xiàn)有技術(shù)的不足,本發(fā)明的主要目的是提供一種應(yīng)用在實(shí)時(shí)對(duì)講網(wǎng)絡(luò)中的全時(shí)監(jiān)聽智能心跳方法,通過智能而不固定的心跳保持和該服務(wù)器的鏈接,兼顧網(wǎng)絡(luò)切換和成員用戶移動(dòng)的影響,實(shí)現(xiàn)在實(shí)時(shí)對(duì)講網(wǎng)絡(luò)中能夠全時(shí)監(jiān)聽智能心跳的解決方案,達(dá)到節(jié)約終端用電量和網(wǎng)絡(luò)流量的效果。
為達(dá)成上述目的所采取的主要技術(shù)手段是令前述應(yīng)用在實(shí)時(shí)對(duì)講網(wǎng)絡(luò)中的全時(shí)監(jiān)聽智能心跳方法,是由一服務(wù)器通過網(wǎng)絡(luò)與一對(duì)講群組的所有群組成員用戶的一移動(dòng)裝置連結(jié),該方法包括以下步驟:
定時(shí)心跳檢查觸發(fā);
判斷是否超過一第一時(shí)間(T1)沒發(fā)送心跳訊息;
若否,則取前次網(wǎng)絡(luò)切換后已發(fā)送的一心跳數(shù),計(jì)算出一第二時(shí)間(T2);
判斷是否超過該第二時(shí)間沒有發(fā)送心跳訊息;
若否,則計(jì)算一用戶移動(dòng)速度相關(guān)的一第三時(shí)間(T3);
判斷是否超過該第三時(shí)間沒有發(fā)送心跳訊息;
若是,則發(fā)送一心跳訊息。
通過采用上述技術(shù)方案,本發(fā)明的優(yōu)點(diǎn)和積極效果為:
在實(shí)時(shí)對(duì)講網(wǎng)絡(luò)中,通過智能而不固定的心跳保持和該服務(wù)器的鏈接,兼顧網(wǎng)絡(luò)切換和成員用戶移動(dòng)的影響,實(shí)現(xiàn)在靜止和沒有網(wǎng)絡(luò)切換的時(shí)候,心跳間隔變長(zhǎng),當(dāng)網(wǎng)絡(luò)發(fā)生切換的時(shí)候,心跳間隔變快并逐漸變慢,當(dāng)在高速運(yùn)動(dòng)的時(shí)候,心跳間隔則和運(yùn)動(dòng)速度相關(guān),最終實(shí)現(xiàn)在實(shí)時(shí)對(duì)講網(wǎng)絡(luò)中能夠全時(shí)監(jiān)聽智能心跳的解決方案,從而達(dá)到節(jié)約用戶端用電量和網(wǎng)絡(luò)流量的效果。
附圖說明
以下附圖僅旨在于對(duì)本發(fā)明做示意性說明和解釋,并不限定本發(fā)明的范圍。其中,
圖1是本發(fā)明一較佳實(shí)施例的系統(tǒng)架構(gòu)方塊圖。
圖2是本發(fā)明一較佳實(shí)施例的監(jiān)聽智能心跳方法的流程圖。
附圖標(biāo)記說明:
10 服務(wù)器
20 移動(dòng)裝置
具體實(shí)施方式
以下配合附圖及本發(fā)明的較佳實(shí)施例,進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段。
關(guān)于本發(fā)明的一較佳實(shí)施例,請(qǐng)參閱圖1所示,其包括一服務(wù)器10、設(shè)置在一個(gè)以上對(duì)講群組的每一群組成員用戶的移動(dòng)裝置20,并由該服務(wù)器10通過實(shí)時(shí)對(duì)講網(wǎng)絡(luò)與對(duì)講群組的所有群組成員用戶的移動(dòng)裝置20連結(jié),如圖2所示,該方法是由該服務(wù)器10、該移動(dòng)裝置20執(zhí)行以下步驟:
由該服務(wù)器10進(jìn)行定時(shí)心跳檢查觸發(fā)(S21);
判斷是否超過一第一時(shí)間(如該第一時(shí)間可以是一心跳時(shí)間間隔,將心跳時(shí)間間隔設(shè)置為T1)沒發(fā)送心跳訊息(S22);
若否,則取前次網(wǎng)絡(luò)切換后已發(fā)送的一心跳數(shù)n,計(jì)算出一第二時(shí)間(T2)(S23);
判斷是否超過該第二時(shí)間(如該第二時(shí)間可以是一心跳時(shí)間間隔,如0.5秒,或該第二時(shí)間可以是一秒數(shù)乘以一心跳數(shù)n)卻沒有發(fā)送心跳訊息(S24);
若否,則計(jì)算一和用戶在移動(dòng)中與移動(dòng)速度相關(guān)的一第三時(shí)間(T3)(如該第三時(shí)間可以是一心跳時(shí)間間隔)(S25),因?yàn)樵诟哞F或者高速公路上,可能網(wǎng)絡(luò)切換頻繁,因此心跳速度要加快,這樣才能定時(shí)更新自己的媒體接收地址,避免出現(xiàn)呼不通的現(xiàn)象;
判斷是否超過該第三時(shí)間沒有發(fā)送心跳訊息(如該第三時(shí)間于另一秒數(shù),如0.5秒)(S26);
若是,則發(fā)送一心跳訊息(S27)。
當(dāng)上述步驟執(zhí)行至「判斷是否超過一第一時(shí)間(如該第一時(shí)間可以是一心跳時(shí)間間隔,將心跳時(shí)間間隔設(shè)置為T1)沒發(fā)送心跳訊息(S22)」的步驟,若是,則直接發(fā)送又一心跳訊息;
當(dāng)上述步驟執(zhí)行至「判斷是否超過該第二時(shí)間(如該第二時(shí)間可以是一心跳時(shí)間間隔,如0.5秒,或該第二時(shí)間可以是一秒數(shù)乘以一心跳數(shù)n)卻沒有發(fā)送心跳訊息」的步驟,若是,則直接發(fā)送再一心跳訊息;
當(dāng)上述步驟執(zhí)行至「判斷是否超過該第三時(shí)間沒有發(fā)送心跳訊息(如該第三時(shí)間大于另一秒數(shù),如0.5秒)(S26)」的步驟,若否,則回到前述「由該服務(wù)器10進(jìn)行定時(shí)心跳檢查觸發(fā)(S21)」的步驟。
于本較佳實(shí)施例中,所述中用戶端和服務(wù)器10的全時(shí)守候的心跳訊息,在非正常情況下,該心跳訊息可以設(shè)置為一第三時(shí)間(如4秒);計(jì)算該第二時(shí)間(T2)的方法為:T2=min(t1,t2*該心跳數(shù)),即,取t2秒與心跳數(shù)的乘積和t1秒之間的較小者;其中t1和t2的取值建議為4和0.5;T2的取值為0.5到4之間;而在正常情況下,如在該移動(dòng)裝置20處于快速運(yùn)動(dòng)狀態(tài)時(shí),并設(shè)置T3=max(t3,t4*10/max(v,10)),v為時(shí)速公里/小時(shí);t3,t4為時(shí)間秒數(shù);其中t3,t4的取值建議為0.5,4;即移動(dòng)速度越快,心跳時(shí)間間隔越短,避免告訴運(yùn)動(dòng)的時(shí)候,設(shè)備的網(wǎng)絡(luò)切換時(shí)間間隔很短,出現(xiàn)因?yàn)閬聿患八⑿滦碌慕邮艿种平o該服務(wù)器10,而出現(xiàn)不通的現(xiàn)象,而時(shí)間的最小值可在0.1秒至1秒之間,如0.5秒,避免發(fā)送過多的心跳包,形成網(wǎng)絡(luò)流量上升。
于本較佳實(shí)施例中,當(dāng)在某一時(shí)刻出現(xiàn)用戶端網(wǎng)絡(luò)切換,在網(wǎng)絡(luò)切換后,則用戶端將在接下來的心跳時(shí)間間隔分別為T1=min(4,0.5*心跳數(shù)n),接下來的心跳時(shí)間間隔序列為0.5秒、1秒、1.5秒、2秒、2.5秒、3秒、3.5秒、4秒.4秒.4秒...等,該心跳時(shí)間間隔序列中具有一最大秒數(shù),該最大秒數(shù)可為4秒,然而,心跳時(shí)間間隔是在低速或者靜止情況下的預(yù)估,加入用戶處于運(yùn)動(dòng)狀態(tài),則即便以上的心跳時(shí)間間隔沒有達(dá)到,也仍然會(huì)重新根據(jù)運(yùn)動(dòng)速度計(jì)算一個(gè)新的時(shí)間間隔,比如:當(dāng)你坐在高鐵上以300公里時(shí)速移動(dòng),那么心跳時(shí)間間隔很有可能就是0.5秒、1秒、1秒、1秒、1秒、1秒...等,因?yàn)楦咚偾闆r下,這個(gè)間隔會(huì)縮短。
以上所述僅是本發(fā)明的較佳實(shí)施例而已,并非對(duì)本發(fā)明做任何形式上的限制,雖然本發(fā)明已以較佳實(shí)施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案的范圍內(nèi),當(dāng)可利用上述揭示的技術(shù)內(nèi)容作出些許更動(dòng)或修飾為等同變化的等效實(shí)施例,但凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。