專利名稱:一種無線通信終端上規(guī)避無線信道擁塞的方法
技術領域:
本發(fā)明涉及無線通信終端,特別涉及一種無線通信終端上規(guī)避無線信道擁塞的方法。
背景技術:
物聯(lián)網(wǎng)的概念自1999年提出,目標是建設一個基于互聯(lián)網(wǎng)、傳統(tǒng)電信網(wǎng)絡等信息承載體,讓所有能夠被獨立尋址的普通物理對象實現(xiàn)互聯(lián)互通的網(wǎng)絡。無線通信終端作為物聯(lián)網(wǎng)數(shù)據(jù)傳輸系統(tǒng)的核心,已經(jīng)廣泛應用到車載、消費類電子、醫(yī)療、電力等各行各業(yè)。利用移動通信運營商提供的公共移動無線網(wǎng)絡覆蓋,無線通信終端搭建了應用終端和物聯(lián)網(wǎng)后臺之間的數(shù)據(jù)交互平臺接收后臺指令傳遞給終端,同時將終端傳感器的信息及時反饋·5口厄口 公共移動無線網(wǎng)絡(GSM、WCDMA, TD-SCDMA, CDMA2000、LTE)都采用蜂窩通信的機制,通過將覆蓋區(qū)域分為大量相連的小區(qū),每個小區(qū)都只使用部分無線資源(無線頻率,或者無線擾碼)。在這種背景下,每個小區(qū)在同一時間內(nèi)只能支持有限的通信信道。無線通信終端依賴于公共移動無線網(wǎng)絡回傳信息,如果物聯(lián)應用要求所有的無線通信終端集中上報信息(例如智能電表統(tǒng)計某一個時間具體時刻的全部小區(qū)電量),突發(fā)的呼叫請求或者數(shù)據(jù)請求將導致無線通信網(wǎng)絡長時間的擁塞,嚴重情況下甚至還會造成無線通信網(wǎng)絡的癱瘓,最終導致物聯(lián)網(wǎng)不能正常運作?,F(xiàn)有技術中,物聯(lián)網(wǎng)中的無線通信終端由于應用場合的特殊性(例如長期運行在無人值守環(huán)境中智能電表),一旦發(fā)生信道擁塞導致的數(shù)據(jù)發(fā)送失敗,只能依賴于終端后續(xù)自檢出錯后,重新發(fā)送數(shù)據(jù)請求。這里簡單介紹現(xiàn)有技術中,無線通信終端發(fā)送數(shù)據(jù)的流程,如圖I所示,包括以下步驟
步驟101,終端應用請求發(fā)送數(shù)據(jù)。步驟102,通過射頻電路發(fā)送一幀數(shù)據(jù)包。步驟103,在本步驟中判斷是否發(fā)送成功。如果發(fā)送成功,則執(zhí)行步驟105 ;否則執(zhí)行步驟104重試。步驟104,在上一步驟中判斷發(fā)現(xiàn)數(shù)據(jù)發(fā)送失敗時,把該數(shù)據(jù)重新加入待發(fā)送隊列。步驟105,在步驟103中判斷發(fā)現(xiàn)數(shù)據(jù)發(fā)送成功時,在本步驟中判斷是否需要繼續(xù)發(fā)送其他數(shù)據(jù)包。如果需要繼續(xù)發(fā)送后續(xù)數(shù)據(jù)包,返回步驟102繼續(xù)發(fā)送;否則執(zhí)行步驟106。步驟106,當判斷無線通信終端不需要繼續(xù)發(fā)送數(shù)據(jù)包時,關閉射頻發(fā)送電路節(jié)省電量。經(jīng)分析發(fā)現(xiàn),現(xiàn)有技術中的無線通信終端采用多次重傳的方法來降低數(shù)據(jù)發(fā)送失敗概率,但是所屬無線蜂窩小區(qū)已經(jīng)發(fā)生信道擁塞的情況下,無線通信終端的不斷重試只會進一步加重系統(tǒng)的負擔,造成網(wǎng)絡上的風暴效應,不僅不能解決問題,反而會導致系統(tǒng)性能變的更差。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種物聯(lián)網(wǎng)中的無線通信終端在發(fā)送數(shù)據(jù)請求遇到無線信道擁塞時主動規(guī)避信道擁塞的方法。為解決上述技術問題, 本發(fā)明的實施方式提供了一種無線通信終端上規(guī)避無線信道擁塞的方法,包含以下步驟
無線通信終端在發(fā)送數(shù)據(jù)時通過判斷是否收到確認幀和收到的確認幀的結果,根據(jù)在一定時間內(nèi)數(shù)據(jù)發(fā)送失敗的次數(shù)來判斷無線信道是否擁塞;
當無線信道擁塞時,終端通過產(chǎn)生隨機數(shù)來設定啟動定時器的時長并啟動定時器,定時器超時后重新嘗試發(fā)送數(shù)據(jù);當再次發(fā)送失敗時,終端通過增加定時器的時長來避開信道擁塞的時刻,直至發(fā)送成功或者超過最大重試次數(shù)。本發(fā)明實施方式相對于現(xiàn)有技術而言,無線通信終端在發(fā)送數(shù)據(jù)時,先將數(shù)據(jù)不斷加入到“待發(fā)送隊列”,另外創(chuàng)建一個單獨的線程負責從“待發(fā)送隊列”中不斷取出數(shù)據(jù)通過射頻電路發(fā)送;然后等待遠端網(wǎng)絡側返回的發(fā)送結果判斷是否發(fā)送成功,如果在規(guī)定的時長內(nèi)沒有收到網(wǎng)絡側返回的確認幀,也認為發(fā)送失敗;對于發(fā)送失敗的數(shù)據(jù)包,判斷沒有超過最大重試次數(shù)后進行重試,如果超過最大重試次數(shù),則認為該數(shù)據(jù)包發(fā)送失敗,累加到“發(fā)送失敗次數(shù)”計數(shù)器;當在一定時間內(nèi)發(fā)送失敗次數(shù)達到設定的上限時,則認為當前無線信道擁塞。當無線信道擁塞時,終端不是馬上重新發(fā)送該數(shù)據(jù)包,而是通過終端產(chǎn)生的隨機數(shù)設定為定時器時長,并啟動該定時器,當定時器超時后,終端嘗試再次重發(fā)該數(shù)據(jù)包;當重新發(fā)送該數(shù)據(jù)包失敗且還沒有達到最大重試次數(shù)門限值時,終端在現(xiàn)有定時器時長的基礎上延長2倍時間為定時器時長并啟動定時器,超時后再次重試發(fā)送;如果還是發(fā)送失敗,再把定時器時長在最新的定時器時長的基礎上延長2倍并啟動定時器,超時后嘗試發(fā)送;直到發(fā)送成功或者重試次數(shù)超過設定的門限。在上述實施方式中,判斷發(fā)送數(shù)據(jù)重試次數(shù)的門限值可以通過終端平臺設定,初始值默認為3次;在一定時間內(nèi)發(fā)送失敗幀數(shù)門限值和時間范圍也可以通過終端平臺設定,在該時間范圍內(nèi)發(fā)送失敗幀數(shù)達到門限值時認為信道擁塞。本發(fā)明利用無線通信終端在發(fā)送數(shù)據(jù)時通過判斷是否收到確認幀和收到的確認幀的結果,根據(jù)在一定時間內(nèi)數(shù)據(jù)發(fā)送失敗幀數(shù)來判斷無線信道是否擁塞;當信道擁塞時,通過取得的隨機數(shù)設定為定時器時長,啟動該定時器,待定時器超時后再次發(fā)送數(shù)據(jù);當發(fā)送再次失敗時,增加定時器的時長為現(xiàn)有定時器時長的2倍,啟動定時器,超時后重試發(fā)送;如果再次發(fā)送失敗,把定時器時長在現(xiàn)有時長的基礎上再延長2倍,啟動定時器,超時后重試;直至發(fā)送成功或者超過最大重試次數(shù)。這樣就避開了當無線通信終端發(fā)送數(shù)據(jù)失敗時馬上重試造成網(wǎng)絡風暴效應,分散了無線通信終端的發(fā)送請求,提高了數(shù)據(jù)發(fā)送成功率。
圖I是現(xiàn)有技術中處理方法的流程 圖2是根據(jù)本發(fā)明實施方式的系統(tǒng)框 圖3是根據(jù)本發(fā)明實施方式中的信道擁塞檢測流程的流程 圖4是根據(jù)本發(fā)明實施方式中的信道擁塞規(guī)避流程的流程圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明的實施方式進行詳細的闡述。然而,本領域的普通技術人員可以理解,在本發(fā)明實施方式中,為了使讀者更好地理解本申請而提出了許多技術細節(jié)。但是,即使沒有這些技術細節(jié)和基于以下實施方式的種種變化和修改,也可以實現(xiàn)本申請各權利要求所要求保護的技術方案。本發(fā)明的實施方式涉及一種無線通信終端上規(guī)避無線信道擁塞的方法,具體流程如圖2所示,包含以下步驟
步驟201,無線通信終端上的應用程序通過射頻電路發(fā)送數(shù)據(jù)。步驟202,信道擁塞檢測流程通過檢測數(shù)據(jù)包是否發(fā)送成功和一定時間內(nèi)數(shù)據(jù)包發(fā)送失敗的幀數(shù)來判斷當前無線信道是否出現(xiàn)擁塞。步驟203,當發(fā)現(xiàn)當前無線信道擁塞時,信道擁塞規(guī)避流程通過終端產(chǎn)生的隨機數(shù)作為定時器時長并啟動定時器,待定時器超時后發(fā)送數(shù)據(jù),避免失敗后立即重傳使已經(jīng)擁塞的無線信道更加繁忙。步驟204,無線通信終端結束數(shù)據(jù)發(fā)送。在本實施方式中,信道擁塞檢測流程負責檢測當前無線通信信道是否發(fā)生擁塞。物聯(lián)網(wǎng)中的無線通信終端在發(fā)送數(shù)據(jù)時,把每一幀數(shù)據(jù)包加入到“待發(fā)送隊列”,終端中創(chuàng)建一個單獨的線程負責從“待發(fā)送隊列”中直接取出待發(fā)送數(shù)據(jù)通過射頻電路發(fā)送;在本流程中通過判斷是否收到確認幀和確認幀是否正確來判斷當前一幀是否傳輸成功;當傳輸失敗且沒有達到重試次數(shù)門限時重新傳輸該數(shù)據(jù)包,否則認為傳輸失敗并累加到“發(fā)送失敗幀數(shù)”計數(shù)器;根據(jù)一段時間內(nèi)發(fā)送失敗的幀數(shù)判斷當前信道是否發(fā)生擁塞。具體步驟如圖3所示
步驟301,終端應用請求發(fā)送數(shù)據(jù)。步驟302,終端把待發(fā)送的每一幀數(shù)據(jù)包加入到“待發(fā)送隊列”。步驟303,查詢“待發(fā)送隊列”中是否有待發(fā)送的數(shù)據(jù)。本方法中創(chuàng)建單獨的線程負責查詢“待發(fā)送隊列”和從隊列中取數(shù)據(jù)發(fā)送,創(chuàng)建線程的方法為公知技術,這里不再贅述。步驟304,本步驟中判斷當前“待發(fā)送隊列”是否為空。如果為空;則返回步驟303繼續(xù)查詢隊列;如果隊列不為空,則執(zhí)行步驟305。步驟305,在上述步驟中判斷發(fā)現(xiàn)“待發(fā)送隊列”不為空,本步驟從隊列中取出一幀數(shù)據(jù)包發(fā)送,負責發(fā)送的線程與步驟303中創(chuàng)建的是同一個線程。步驟306,終端通過自身的射頻電路發(fā)送數(shù)據(jù)包。步驟307,終端發(fā)送數(shù)據(jù)包后,等待網(wǎng)絡側發(fā)送的確認幀。步驟308,終端判斷是否收到確認幀。無線通信協(xié)議規(guī)定,發(fā)送的非廣播和組播數(shù)據(jù)包,對方都會回應確認幀以表示是否正確收到該數(shù)據(jù)包。如果收到確認幀,執(zhí)行步驟309 ;否則,執(zhí)行步驟310。步驟309,收到確認幀后,通過解析該確認幀判斷對方是否已經(jīng)收到之前發(fā)出去的數(shù)據(jù)包。如果判斷發(fā)現(xiàn)對方正常收到數(shù)據(jù)包,則返回步驟303繼續(xù)查詢“待發(fā)送隊列”;如果對方收到數(shù)據(jù)包失敗,則執(zhí)行步驟310。步驟310,當在上述步驟中沒有收到確認幀或者經(jīng)過解析確認幀發(fā)現(xiàn)數(shù)據(jù)發(fā)送失敗時,在本步驟中判斷是否超過重試發(fā)送次數(shù)門限。如果超過重試次數(shù)門限,則進入步驟311 ;否則返回步驟306重新嘗試發(fā)送該數(shù)據(jù)包。該門限值默認為3次,可以由終端平臺設置,設置方法為行業(yè)內(nèi)公知技術,這里不再詳述。步驟311,上述步驟中發(fā)送超過重試次數(shù)時,認為該幀數(shù)據(jù)發(fā)送失敗,“發(fā)送失敗幀數(shù)”計數(shù)器加I。步驟312,根據(jù)在一定時間內(nèi)數(shù)據(jù)包經(jīng)過重試發(fā)送失敗的幀數(shù)判斷當前信道是否 擁塞。本方法中判斷在I秒之內(nèi)數(shù)據(jù)包發(fā)送失敗超過100次認為信道發(fā)生擁塞。如果已經(jīng)發(fā)生信道擁塞,執(zhí)行步驟313,否則返回步驟311繼續(xù)等待、累加。具體的統(tǒng)計時間范圍和發(fā)送失敗幀數(shù)門限值通過終端平臺可以設定。步驟313,經(jīng)過判斷發(fā)現(xiàn)已經(jīng)發(fā)生無線信道擁塞,進入信道擁塞規(guī)避流程。當發(fā)現(xiàn)無線信道擁塞時,進入信道擁塞規(guī)避流程。在信道擁塞規(guī)避流程中,終端通過產(chǎn)生的隨機數(shù)作為定時器的時長,然后啟動該定時器,等待定時器超時后再次重新發(fā)送該數(shù)據(jù)包,這樣就避開了在同一時間發(fā)送數(shù)據(jù)造成的信道更加繁忙。當重試發(fā)送數(shù)據(jù)失敗后,終端把該定時器的時長延長為原來的2倍,啟動定時器等待超時后再次重試;如果還是發(fā)送失敗,終端把該定時器的時長在剛才已經(jīng)延長的基礎上再延長2倍,啟動定時器,等待超時后重新發(fā)送數(shù)據(jù),直至數(shù)據(jù)發(fā)送成功或者超過最大重試次數(shù)。具體流程如圖4所示,包括如下步驟
步驟401,無線信道發(fā)生擁塞。步驟402,終端產(chǎn)生隨機數(shù),隨機數(shù)的范圍為Ims(毫秒)到MaxDelayTime ms之間。把該隨機數(shù)設定為定時器的超時時長。隨機數(shù)的最大范圍MaxDelayTime通過終端平臺設定,本方法中設定為10ms。終端產(chǎn)生隨時數(shù)的過程為現(xiàn)有技術中的公知技術。步驟403,啟動定時器,等待該定時器超時。每個終端平臺中都有創(chuàng)建和啟動定時器的通用方法,且為每個終端平臺的公開技術,這里不針對該方法詳述。步驟404,定時器超時后,再重新嘗試發(fā)送數(shù)據(jù);而不是在數(shù)據(jù)發(fā)送失敗后在統(tǒng)一的時間間隔內(nèi)重試發(fā)送。步驟405,判斷數(shù)據(jù)是否發(fā)送成功。通過在上一流程中步驟308和309的方法即可判斷。當數(shù)據(jù)發(fā)送成功時,執(zhí)行步驟409 ;否則,執(zhí)行步驟406。步驟406,當在上一步驟中發(fā)現(xiàn)數(shù)據(jù)發(fā)送失敗時,在本步驟中判斷是否超過最大重試次數(shù)。如果超過最大重試次數(shù),則執(zhí)行步驟408 ;否則執(zhí)行步驟407。步驟407,在定時器超時后發(fā)送數(shù)據(jù)失敗,在此步驟中設置定時器時長為上一次時長的2倍,再次避開擁塞時刻。步驟408,在步驟405中發(fā)現(xiàn)數(shù)據(jù)發(fā)送失敗且在步驟406中判斷已經(jīng)超過最大重試次數(shù)后,在本步驟中丟棄該數(shù)據(jù)包,等待其他機會重新發(fā)送。步驟409,當在步驟405中發(fā)現(xiàn)成功發(fā)送了數(shù)據(jù)包,或者在步驟408中丟棄發(fā)送失敗的數(shù)據(jù)包后,在此步驟中進行其他后續(xù)數(shù)據(jù)包的發(fā)送。上述流程只是針對在正常情況下發(fā)送一幀數(shù)據(jù)包失敗時規(guī)避信道擁塞的流程,對于多幀數(shù)據(jù)包,循環(huán)執(zhí)行此流程即可。上述步驟,即完成了物聯(lián)網(wǎng)中的無線通信終端在發(fā)送數(shù)據(jù)包時通過在一定時間內(nèi)判斷發(fā)送失敗的數(shù)據(jù)包數(shù)來判斷當前無線信道是否擁塞;當信道擁塞時,通過取得的隨機數(shù)設定定時器時長,待定時器超時后再次發(fā)送數(shù)據(jù);當發(fā)送失敗時,增加定時器的時長為現(xiàn)有時長的2倍,超時后重試發(fā)送;如果再次失敗,把定時器時長在現(xiàn)有時長的基礎上再延長2倍,超時后繼續(xù)重試發(fā)送;直至發(fā)送成功或者超過最大重試次數(shù)。這樣就避開了當無線通信終端發(fā)送數(shù)據(jù)失敗時馬上重試造成的網(wǎng)絡風暴效應,分散了無線通信終端的發(fā)送請求,提高數(shù)據(jù)發(fā)送成功率。上面各種方法的步驟劃分,只是為了描述清楚,實現(xiàn)時可以合并為一個步驟或者對某些步驟進行拆分,分解為多個步驟,只要包含相同的邏輯關系,都在本專利的保護范圍 內(nèi);對算法中或者流程中添加無關緊要的修改或者引入無關緊要的設計,但不改變其算法和流程的核心設計都在該專利的保護范圍內(nèi)。值得一提的是,本實施方式中所涉及到的各模塊均為邏輯模塊,在實際應用中,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一部分,還可以以多個物理單元的組合實現(xiàn)。此外,為了突出本發(fā)明的創(chuàng)新部分,本實施方式中并沒有將與解決本發(fā)明所提出的技術問題關系不太密切的單元引入,但這并不表明本實施方式中不存在其它的單
J Li ο本領域的普通技術人員可以理解,上述各實施方式是實現(xiàn)本發(fā)明的具體實施例,而在實際應用中,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
權利要求
1.一種無線通信終端上規(guī)避無線信道擁塞的方法,其特征在于,包含以下步驟 無線通信終端在發(fā)送數(shù)據(jù)時通過判斷是否收到確認幀和收到的確認幀的結果,根據(jù)在一定時間內(nèi)數(shù)據(jù)發(fā)送失敗的次數(shù)來判斷無線信道是否擁塞; 當無線信道擁塞時,終端產(chǎn)生隨時數(shù),把該隨機數(shù)的值設定為定時器的時長,啟動定時器,待定時器超時后再次重新發(fā)送;當重試失敗時,在現(xiàn)有定時器時長的基礎上延長2倍時間為定時器時長,再次啟動定時器,待定時器超時后重新嘗試發(fā)送;如果再次發(fā)送失敗,把定時器時長在最新時長的基礎上再延長2倍,啟動定時器,超時后重新發(fā)送;直到發(fā)送成功或者超過最大重試次數(shù)。
2.根據(jù)權利要求I所述的一種無線通信終端上規(guī)避無線信道擁塞的方法,其特征在于 無線通信終端在發(fā)送數(shù)據(jù)時把待發(fā)送的數(shù)據(jù)不斷加入到“待發(fā)送隊列”,終端創(chuàng)建一個單獨的線程負責檢測“待發(fā)送隊列”是否為空,并從“待發(fā)送隊列”中取出數(shù)據(jù)通過射頻電路發(fā)送。
全文摘要
本發(fā)明涉及無線通信終端,公開了一種無線通信終端上規(guī)避無線信道擁塞的方法。在本發(fā)明中,物聯(lián)網(wǎng)中的無線通信終端在發(fā)送數(shù)據(jù)包時通過在一定時間內(nèi)判斷發(fā)送失敗的數(shù)據(jù)包數(shù)目來判斷當前無線信道是否擁塞;當信道擁塞時,通過取得的隨機數(shù)設定為定時器時長,啟動定時器,待定時器超時后再次發(fā)送數(shù)據(jù);當發(fā)送失敗時,增加定時器的時長為現(xiàn)有時長的2倍,啟動定時器,待超時后重試發(fā)送;如果再次失敗,把定時器時長在現(xiàn)有時長的基礎上再延長2倍,啟動定時器,超時后繼續(xù)重試發(fā)送;直至發(fā)送成功或者超過最大重試次數(shù)。這樣就避開了當無線通信終端發(fā)送數(shù)據(jù)失敗時馬上重試造成的網(wǎng)絡風暴效應,分散了無線通信終端的發(fā)送請求,提高數(shù)據(jù)發(fā)送成功率。
文檔編號H04L1/16GK102958101SQ20121050840
公開日2013年3月6日 申請日期2012年12月3日 優(yōu)先權日2012年12月3日
發(fā)明者李俊 申請人:李俊, 秦鵬