本發(fā)明屬于無線通訊領(lǐng)域,具體涉及一種自適應(yīng)進流量分配方法及控制系統(tǒng)。
背景技術(shù):
目前,使用終端進行文件傳輸,主要使用wifi與藍牙。某些場合下wlan的吞吐量較大但不穩(wěn)定,這時當(dāng)wlan擁塞時,通過藍牙來傳送數(shù)據(jù)有利于任務(wù)的完成。某些情況下保持兩種連接同時存在有利于傳輸文件數(shù)據(jù)的穩(wěn)定性。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種自適應(yīng)進流量分配方法及控制系統(tǒng)。
為了解決上述技術(shù)問題,本發(fā)明提供了一種自適應(yīng)進流量分配方法,包括:
建立兩種無線通訊方式;以及
在傳送文件時,通過兩種無線通訊方式進行流量分配。
進一步,兩種無線通訊方式包括:藍牙連接和wifi連接;
文件發(fā)送端和文件接收端均包括:藍牙模塊和wifi模塊;
且在初始化時,文件發(fā)送端與文件接收端之間建立藍牙模塊和/或wifi模塊連接關(guān)系。
進一步,傳送文件適于按照分段發(fā)送的方式進行,以及
通過兩種無線通訊方式進行流量分配的方法包括:
分別計算藍牙模塊和wifi模塊實時的信號強度比;
且根據(jù)信號強度比調(diào)整上述兩種無線通訊方式的流量分配。
進一步,計算藍牙模塊和wifi模塊實時的信號強度比的方法包括:
對于wifi模塊,設(shè)定wifi信號最強時的rssi值為rssiwmax,此時對應(yīng)的最大傳輸速率為rwm,即
wifi信號強度比設(shè)定為a,且a=10exp(rssiw1)/10exp(rssiwmax);
上式中,rssiw1表示wifi信號的當(dāng)前rssi值;以及
對于藍牙模塊,設(shè)定藍牙信號最強時的rssi值為:rssibmax,此時對應(yīng)的最大傳輸速率為:rbm,即
藍牙信號強度比設(shè)定為b,且b=10exp(rssib1)/10exp(rssibmax);
上式中,rssib1表示藍牙信號的當(dāng)前rssi值。
進一步,根據(jù)信號強度比調(diào)整上述兩種無線通訊方式的流量分配的方法包括:
將當(dāng)前總體瞬時流量定義為100%,則分配到wifi的流量比例為[a/(a+b)]*(rwm+rbm)%,其余流量通過藍牙通訊方式進行傳輸;以及
流量分配適于根據(jù)藍牙信號強度和wifi信號強度進行實時調(diào)整。
進一步,通過兩種無線通訊方式進行流量分配的方法還包括:
根據(jù)測試包經(jīng)wlan環(huán)回時間平均值分配流量,其包括:
將wifi通訊方式作為主傳輸方式,藍牙通訊方式作為輔助傳輸方式;
按照分段的方式預(yù)先發(fā)送測試包,且記錄各分段測試包從發(fā)送到wlan返回所需要的時間,取平均時間;
在通過wifi通訊方式發(fā)送文件時,
若某一分段文件的發(fā)送時間超過上述平均時間后,則計算差值時間,并在wlan發(fā)包時的等待間隔上增加該差值時間,并在增加的差值時間內(nèi)同時增加藍牙的數(shù)據(jù)傳輸流量;或
若某一分段文件的發(fā)送時間低于上述平均時間后,則計算差值時間,并在wlan發(fā)包時的等待間隔上減少該差值時間,并在減少的差值時間內(nèi)同時減少藍牙的數(shù)據(jù)傳輸流量;以及
將各次文件傳輸?shù)乃璧臅r間均累計計入平均值,以計算下次文件傳輸?shù)牧髁糠峙洹?/p>
又一方面,本發(fā)明還提供了一種自適應(yīng)進流量分配控制系統(tǒng)。
所述自適應(yīng)進流量分配控制系統(tǒng)包括:
文件發(fā)送端和文件接收端,且兩端均包括藍牙模塊和wifi模塊;
通過藍牙模塊和wifi模塊建立相應(yīng)無線通訊方式;以及
在傳送文件時,通過上述兩種無線通訊方式進行流量分配。
進一步,傳送文件適于按照分段發(fā)送的方式進行,以及
通過兩種無線通訊方式進行流量分配的方法包括:
分別計算藍牙模塊和wifi模塊實時的信號強度比;
且根據(jù)信號強度比調(diào)整上述兩種無線通訊方式的流量分配。
進一步,計算藍牙模塊和wifi模塊實時的信號強度比的方法包括:
對于wifi模塊,設(shè)定wifi信號最強時的rssi值為rssiwmax,此時對應(yīng)的最大傳輸速率為rwm,即
wifi信號強度比設(shè)定為a,且a=10exp(rssiw1)/10exp(rssiwmax);
上式中,rssiw1表示wifi信號的當(dāng)前rssi值;以及
對于藍牙模塊,設(shè)定藍牙信號最強時的rssi值為:rssibmax,此時對應(yīng)的最大傳輸速率為:rbm,即
藍牙信號強度比設(shè)定為b,且b=10exp(rssib1)/10exp(rssibmax);
上式中,rssib1表示藍牙信號的當(dāng)前rssi值;
根據(jù)信號強度比調(diào)整上述兩種無線通訊方式的流量分配的方法包括:
將當(dāng)前總體瞬時流量定義為100%,則分配到wifi的流量比例為[a/(a+b)]*(rwm+rbm)%,其余流量通過藍牙通訊方式進行傳輸;以及
流量分配適于根據(jù)藍牙信號強度和wifi信號強度進行實時調(diào)整。
進一步,通過兩種無線通訊方式進行流量分配的方法還包括:
根據(jù)測試包經(jīng)wlan環(huán)回時間平均值分配流量,其包括:
將wifi通訊方式作為主傳輸方式,藍牙通訊方式作為輔助傳輸方式;
按照分段的方式預(yù)先發(fā)送測試包,且記錄各分段測試包從發(fā)送到wlan返回所需要的時間,取平均時間;
在通過wifi通訊方式發(fā)送文件時,
若某一分段文件的發(fā)送時間超過上述平均時間后,則計算差值時間,并在wlan發(fā)包時的等待間隔上增加該差值時間,并在增加的差值時間內(nèi)同時增加藍牙的數(shù)據(jù)傳輸流量;或
若某一分段文件的發(fā)送時間低于上述平均時間后,則計算差值時間,并在wlan發(fā)包時的等待間隔上減少該差值時間,并在減少的差值時間內(nèi)同時減少藍牙的數(shù)據(jù)傳輸流量;以及
將各次文件傳輸?shù)乃璧臅r間均累計計入平均值,以計算下次文件傳輸?shù)牧髁糠峙洹?/p>
本發(fā)明的有益效果是,本發(fā)明的自適應(yīng)進流量分配方法及控制系統(tǒng)能夠?qū)崿F(xiàn)在文件傳輸時保持兩種連接同時存在,有利于傳輸文件數(shù)據(jù)的穩(wěn)定性;并且在信號強度下降或信道擁塞或某一信道失效時,還可以更高效更穩(wěn)定地傳送數(shù)據(jù)。
附圖說明
下面結(jié)合附圖和實施例對本發(fā)明進一步說明。
圖1是本發(fā)明的自適應(yīng)進流量分配方法的流程圖;
圖2是本發(fā)明的自適應(yīng)進流量分配控制系統(tǒng)的原理框圖。
具體實施方式
現(xiàn)在結(jié)合附圖對本發(fā)明作進一步詳細的說明。這些附圖均為簡化的示意圖,僅以示意方式說明本發(fā)明的基本結(jié)構(gòu),因此其僅顯示與本發(fā)明有關(guān)的構(gòu)成。
實施例1
如圖1所示,本實施例1提供了一種自適應(yīng)進流量分配方法,包括:
建立兩種無線通訊方式;以及在傳送文件時,通過兩種無線通訊方式進行流量分配。
具體的,兩種無線通訊方式包括:藍牙連接和wifi連接;文件發(fā)送端和文件接收端均包括:藍牙模塊和wifi模塊;且在初始化時,文件發(fā)送端與文件接收端之間建立藍牙模塊和/或wifi模塊連接關(guān)系。
文件發(fā)送端和文件接收端之間傳送文件時,同時啟動wifi和藍牙連接,在兩個連接上同時進行數(shù)據(jù)傳輸。wifi組網(wǎng)模式可以是ad-hoc自組織網(wǎng)絡(luò),也可以是infrastructure基本結(jié)構(gòu)模式。
文件發(fā)送端和文件接收端傳送數(shù)據(jù)的流程和工作原理如下:
關(guān)于藍牙:
所述文件發(fā)送端和文件接收端內(nèi)的微處理器(cpu)通過uart與藍牙模塊相連接,也可以使用串口,usb,sdio等進行連接,微處理器可以部署linux,ucos等操作系統(tǒng),linux上也可部署android操作系統(tǒng)。
傳輸基于hci層實現(xiàn),主機控制器接口(hci)處于藍牙協(xié)議棧的中間層,它提供了藍牙主機訪問藍牙主機控制器的基帶與鏈路控制器、鏈路管理器、狀態(tài)寄存器等硬件的統(tǒng)一接口。
藍牙傳送數(shù)據(jù)的具體流程包括初始化、藍牙交互、處理數(shù)據(jù)。
初始化包括系統(tǒng)初始化和藍牙初始化。系統(tǒng)初始化包括系統(tǒng)時鐘初始化、串口初始化、定時器初始化等,藍牙初始化是通過uart給藍牙模塊發(fā)送一系列初始化指令,藍牙模塊返回事件,交互完成一系列的復(fù)位、鑒權(quán)、讀地址等初始化操作。
藍牙交互就是初始化完成后,若本地藍牙作從設(shè)備,則等待遠端藍牙設(shè)備的建鏈請求,如果接受請求,則繼續(xù)等待建鏈成功,獲得一個連接句柄,從而即可進行數(shù)據(jù)交換;若本地藍牙作主設(shè)備,則進行一系列主動查詢、建鏈、發(fā)送數(shù)據(jù)、斷鏈等操作。
處理數(shù)據(jù)就是將有效數(shù)據(jù)提取出來轉(zhuǎn)存到相應(yīng)位置等一系列后續(xù)操作。
關(guān)于wifi:
微處理器通過sdio與wifi模塊相連接,也可以使用uart,spi,usb等進行連接。
wifi傳送數(shù)據(jù)的具體流程
系統(tǒng)初始化。包括微處理器的初始化、串口的初始化、sdio的初始化、wifi芯片的初始化及tcp/ip(或lwip)協(xié)議棧的初始化。
建立socket,由于本文件傳輸應(yīng)用程序有保證數(shù)據(jù)傳輸正確的機制,這里使用udp協(xié)議收發(fā)數(shù)據(jù)。
文件傳輸應(yīng)用程序傳送數(shù)據(jù)的流程和工作原理
文件接收端向文件發(fā)送端發(fā)送“文件發(fā)送請求”信息,文件接收端接收到請求后,進行初始化。之后藍牙交互,建立連接;加入wifi無線網(wǎng)絡(luò),建立socket之后返回“允許發(fā)送文件”信息給文件發(fā)送端。
文件發(fā)送端收到允許傳送信息后,打開本地待發(fā)送文件,獲取文件信息和文件數(shù)據(jù),將文件信息發(fā)送給文件接收端,文件接收端接收到文件信息后,據(jù)此新建空文件,完成后返回“文件創(chuàng)建完成”信息給文件發(fā)送端。
傳送文件適于按照分段發(fā)送的方式進行,即文件發(fā)送端獲知文件接收端對應(yīng)的文件創(chuàng)建完成后,就可以發(fā)送文件數(shù)據(jù),由于acl數(shù)據(jù)分組最大長度有限制,因而文件數(shù)據(jù)的發(fā)送采用分段發(fā)送的方式進行。根據(jù)分組最大長度,緩沖區(qū)大小等情況,將文件分為固定大小的片段,加上序號,每次發(fā)送固定片段大小的數(shù)據(jù)。
通過兩種無線通訊方式進行流量分配的方法包括:
分別計算藍牙模塊和wifi模塊實時的信號強度比;且根據(jù)信號強度比調(diào)整上述兩種無線通訊方式的流量分配。
具體的,計算藍牙模塊和wifi模塊實時的信號強度比的方法包括:
對于wifi模塊,設(shè)定wifi信號最強時的rssi值為rssiwmax,此時對應(yīng)的最大傳輸速率為rwm,即
wifi信號強度比設(shè)定為a,且a=10exp(rssiw1)/10exp(rssiwmax);
上式中,rssiw1表示wifi信號的當(dāng)前rssi值;以及
對于藍牙模塊,設(shè)定藍牙信號最強時的rssi值為:rssibmax,此時對應(yīng)的最大傳輸速率為:rbm,即
藍牙信號強度比設(shè)定為b,且b=10exp(rssib1)/10exp(rssibmax);
上式中,rssib1表示藍牙信號的當(dāng)前rssi值。
上述關(guān)于wifi模塊和藍牙模塊對應(yīng)的rssi值(單位dbm)預(yù)先寫入到兩端的固件中。
根據(jù)信號強度比調(diào)整上述兩種無線通訊方式的流量分配的方法包括:
將當(dāng)前總體瞬時流量定義為100%,則分配到wifi的流量比例為[a/(a+b)]*(rwm+rbm)%,其余流量通過藍牙通訊方式進行傳輸;以及
由于在通信過程中rssiw1和rssib1都是動態(tài)變化的,因此流量分配適于根據(jù)藍牙信號強度和wifi信號強度進行實時調(diào)整。
優(yōu)選的,通過兩種無線通訊方式進行流量分配的方法還包括:
根據(jù)測試包經(jīng)wlan環(huán)回時間平均值分配流量。
進一步,所述根據(jù)測試包經(jīng)wlan環(huán)回時間平均值分配流量包括:
將wifi通訊方式作為主傳輸方式,藍牙通訊方式作為輔助傳輸方式;
按照分段的方式預(yù)先發(fā)送測試包,且記錄各分段測試包從發(fā)送到wlan返回所需要的時間,取平均時間;在通過wifi通訊方式發(fā)送文件時,若某一分段文件的發(fā)送時間超過上述平均時間后,則計算差值時間,并在wlan發(fā)包時的等待間隔上增加該差值時間,并在增加的差值時間內(nèi)同時增加藍牙的數(shù)據(jù)傳輸流量;或若某一分段文件的發(fā)送時間低于上述平均時間后,則計算差值時間,并在wlan發(fā)包時的等待間隔上減少該差值時間,并在減少的差值時間內(nèi)同時減少藍牙的數(shù)據(jù)傳輸流量;以及將各次文件傳輸?shù)乃璧臅r間均累計計入平均值,以計算下次文件傳輸?shù)牧髁糠峙洹?/p>
具體的,測試包經(jīng)wlan環(huán)回時間平均值分配流量適于建立在微處理器的吞吐量較大或適中,wlan(wirelesslocalareanetworks)的吞吐量較大但不穩(wěn)定的假設(shè)前提下的。當(dāng)wlan擁塞時,微處理器就分一部分處理能力給藍牙。
開始傳送文件包時,首先微處理器全速運行,發(fā)測試包測試與數(shù)據(jù)包同樣或類似長度的包從發(fā)送到經(jīng)wlan返回所需要的時間,周期性測量該時間并取平均值,更新記錄數(shù)據(jù)。
當(dāng)測試包環(huán)回時間變長時,往往是由于交換機處理用戶數(shù)據(jù)過多而導(dǎo)致的擁塞等原因造成的。對于此種情況,按以下方式調(diào)整發(fā)包速度:
假設(shè)平均時間為taverage,第i個分段文件的實時傳輸時間為ti;
令差值時間δt=|taverage-ti|
比較taverage和ti,若taverage>ti時,增加微處理器在wlan發(fā)包時的等待間隔,即在原間隔時間基礎(chǔ)上增加δt,并利用增加的時間間隔δt發(fā)送藍牙數(shù)據(jù)。
若taverage<ti時,減少微處理器在wlan發(fā)包時的等待間隔,在原間隔時間基礎(chǔ)上減少δt,并利用減少的時間間隔δt,減少發(fā)送藍牙數(shù)據(jù)。
若其中一個連接出現(xiàn)異常時,對其進行復(fù)位,重新建立連接,保持一直能以2個連接來傳輸數(shù)據(jù)。
在復(fù)位后連接無法恢復(fù)時,則僅有1條連接可以使用,記錄當(dāng)前所傳輸?shù)奈恢茫员阍诋?dāng)前連接也失效時進行斷點續(xù)傳。
傳輸時采用udp傳送,根據(jù)當(dāng)前所收到包的文件片段標志序號為n,接收端能判斷出是否有未能送達的udp包;對于未能送達的udp包,接收終端發(fā)送重發(fā)指令給發(fā)送終端要求重發(fā)。
文件發(fā)送端的數(shù)據(jù)發(fā)送完成后,文件發(fā)送端向文件接收端發(fā)送“文件發(fā)送結(jié)束”信息,文件接收端關(guān)閉當(dāng)前文件,斷開藍牙連接,關(guān)閉socket,文件傳輸結(jié)束。
實施例2
在上述實施例1基礎(chǔ)上,本實施例2提供了一種自適應(yīng)進流量分配控制系統(tǒng)。
所述自適應(yīng)進流量分配控制系統(tǒng)包括:
文件發(fā)送端和文件接收端,且兩端均包括微處理器,以及與該微處理器相連的藍牙模塊和wifi模塊;通過藍牙模塊和wifi模塊建立相應(yīng)無線通訊方式;以及在傳送文件時,通過上述兩種無線通訊方式進行流量分配。
具體的,傳送文件適于按照分段發(fā)送的方式進行,以及通過兩種無線通訊方式進行流量分配的方法包括:分別計算藍牙模塊和wifi模塊實時的信號強度比;且根據(jù)信號強度比調(diào)整上述兩種無線通訊方式的流量分配。
計算藍牙模塊和wifi模塊實時的信號強度比的方法包括:
對于wifi模塊,設(shè)定wifi信號最強時的rssi值為rssiwmax,此時對應(yīng)的最大傳輸速率為rwm,即
wifi信號強度比設(shè)定為a,且a=10exp(rssiw1)/10exp(rssiwmax);
上式中,rssiw1表示wifi信號的當(dāng)前rssi值;以及
對于藍牙模塊,設(shè)定藍牙信號最強時的rssi值為:rssibmax,此時對應(yīng)的最大傳輸速率為:rbm,即
藍牙信號強度比設(shè)定為b,且b=10exp(rssib1)/10exp(rssibmax);
上式中,rssib1表示藍牙信號的當(dāng)前rssi值;
根據(jù)信號強度比調(diào)整上述兩種無線通訊方式的流量分配的方法包括:
將當(dāng)前總體瞬時流量定義為100%,則分配到wifi的流量比例為[a/(a+b)]*(rwm+rbm)%,其余流量通過藍牙通訊方式進行傳輸;以及
流量分配適于根據(jù)藍牙信號強度和wifi信號強度進行實時調(diào)整。
通過兩種無線通訊方式進行流量分配的方法還包括:根據(jù)測試包經(jīng)wlan環(huán)回時間平均值分配流量,其包括:將wifi通訊方式作為主傳輸方式,藍牙通訊方式作為輔助傳輸方式;按照分段的方式預(yù)先發(fā)送測試包,且記錄各分段測試包從發(fā)送到wlan返回所需要的時間,取平均時間;在通過wifi通訊方式發(fā)送文件時,若某一分段文件的發(fā)送時間超過上述平均時間后,則計算差值時間,并在wlan發(fā)包時的等待間隔上增加該差值時間,并在增加的差值時間內(nèi)同時增加藍牙的數(shù)據(jù)傳輸流量;或若某一分段文件的發(fā)送時間低于上述平均時間后,則計算差值時間,并在wlan發(fā)包時的等待間隔上減少該差值時間,并在減少的差值時間內(nèi)同時減少藍牙的數(shù)據(jù)傳輸流量;以及將各次文件傳輸?shù)乃璧臅r間均累計計入平均值,以計算下次文件傳輸?shù)牧髁糠峙洹?/p>
以上述依據(jù)本發(fā)明的理想實施例為啟示,通過上述的說明內(nèi)容,相關(guān)工作人員完全可以在不偏離本項發(fā)明技術(shù)思想的范圍內(nèi),進行多樣的變更以及修改。本項發(fā)明的技術(shù)性范圍并不局限于說明書上的內(nèi)容,必須要根據(jù)權(quán)利要求范圍來確定其技術(shù)性范圍。