淺談魅族的Flyme的藍牙切換WIFI高速傳輸技術
熟悉魅族Flyme系統的都知道,魅族有一項獨門絕技:就是「藍牙切換WIFI」高速無線傳輸技術,可實現藍牙大文件在兩台魅族手機之間的高速傳輸。
藍牙功能剛與手機融合的時候,很受歡迎,大家可以通過藍牙與朋友手機相配對互相傳輸照片或好聽的歌曲,即使需要查找、配對以及漫長的傳輸時間。但隨著WiFi和4G的覆蓋,加上QQ、微信及其他社交應用的傳輸普及,藍牙傳輸似乎已成為過去。
而魅族Flyme則通過「藍牙切換WiFi」的專利技術,得以實現魅族手機之間的大文件傳輸。也就是說,當兩台魅族手機通過藍牙傳輸一個大於3MB的文件時,手機將會自動建立一個不耗費流量的局域WiFi網路(與是否連接WiFi無關),可快速完成傳輸過程。比如一個10MB的文件,利用該功能,最快不到一秒就可極速傳送完畢,大大節省傳輸的時間!
「藍牙切換WiF」技術早在2009年魅族M8機型時就已經開始使用,並申請了國家專利。這項技術使得魅族手機間的傳輸過程變得更加方便快捷,讓用戶可以一次傳輸任意多個文件,且無需苦苦等待,大大提高了效率,滿足用戶在文件傳輸時對速度的高需求。
藍牙與Wifi切換的方法的流程圖:
其具體包括以下步驟:
S101:將需要傳輸的數據根據第一數據劃分策略劃分為若干數據塊並編號;
當數據發送方接收到需要傳輸數據的命令後,對需要傳輸的數據進行劃分,數據劃分的方式可以有多種,例如,可以對數據均勻劃分,也可對數據不均勻劃分,儘管數據劃分的方式不同,但是最後總是要得到將數據劃分為一個以上的數據塊的目的,只要能夠達到該目的,其中具體的實現方式與途徑並不做具體限定。
上文提到的第一數據劃分策略可依據實際情況制定,一般可根據需要傳輸的數據的大小及所第一傳輸方式的傳輸能力設置對應的數據劃分策略,例如,若發送的數據大小為1GB,選用藍牙傳輸方式為第一傳輸方式時,由於藍牙傳輸方式的傳輸速度較低,可以將數據切分成100份,每份10MB;若選用Wifi傳輸方式為第一傳輸方式時,由於Wifi傳輸方式的傳輸速度相對較高,則可將數據切分為10份,每份100MB。該數據劃分策略會根據切換的傳輸方式進行動態變化,依據下述數據劃分公式:
D_NUM=D/B
其中,D_NUM為數據塊數量,D為發送數據大小,B為與D和當前傳輸方式的傳輸能力有關的變數。
將數據劃分後得到的數據塊進行編號,編號的意義有兩個,一是能夠對每一個數據塊做標記,方便數據發送方識別和區分;二是能夠客觀直白的顯示出已傳輸數據塊的數量。
S102:選擇第一傳輸方式按照編號順序依次傳輸數據塊;
第一傳輸方式,顧名思義,就是數據傳送方在本次傳輸切換過程中將使用的第一種傳輸方式,此處的第一隻是動作行為上的第一,既可以選擇藍牙傳輸為第一傳輸方式,也可以選擇Wifi傳輸為第一傳輸方式,並不是特指哪一傳輸方式為第一傳輸方式。
一般的,為便於後續比較過程的實現,第一傳輸方式按照編號從小到大的順序傳輸數據塊,當然,也可按照其他順序傳輸,本發明對此不做過多限定。
S103:判斷已傳輸的數據塊數量是否小於數據塊總數量;
這裡所說的判斷可以是在每一個數據塊傳輸完成後進行,當然也可根據數據塊數量以及。根據步驟S102中的按照編號從小到大的順序傳輸數據塊,數據發送方可直接比較已傳輸的數據塊的最大編號與數據塊的總數量的大小,方便比較過程的實現。例如,需傳輸的數據塊總數量為100個,將其依次標記為1,2,3,…,99,100,按照從小到大的順序進行傳輸,當編號為n的數據塊傳輸完畢時,若要判斷已傳輸的數據塊數量是否小於數據塊總數量,可直接判斷編號n是否小於100。當然,也可選擇其他的比較方式,本發明對此不做過多限定。
根據判斷結果決定是否進行後面的步驟,若已傳輸的數據塊數量不小於數據塊總數量,則表明所有數據塊均傳輸過去,需要傳輸的數據已全部傳輸完畢,執行過程結束;若已傳輸的數據塊數量小於數據塊總數量,則表明還存在沒有被傳輸的數據塊,需要傳輸的數據未全部傳輸,進入步驟S104。
S104:判斷是否需要切換第一傳輸方式為第二傳輸方式;
本步驟建立在經過S103的比較判斷後,得出需要傳輸的數據未全部傳輸的情況下。判斷是否需要切換第一傳輸方式為第二傳輸方式可根據藍牙傳輸方式和Wifi傳輸方式的具體屬性來判斷。第二傳輸方式與第一傳輸方式意義相仿,在此不再贅述。
根據判斷結果決定是否切換傳輸方式,若需要切換,進入步驟S105,若不需要切換,進入步驟S107。
S105:切換第一傳輸方式為第二傳輸方式,並根據第二數據劃分策略將切換前未被傳輸的數據重新劃分為若干新數據塊並重新編號;
一般的,為進一步提高傳輸效率,在根據判斷結果決定切換傳輸方式後,數據發送發可根據切換前未被傳輸數據的大小和第二傳輸方式的傳輸能力將未被傳輸的數據重新劃分為若干新數據塊並重新編號,選擇第二傳輸方式按照新編號順序依次傳輸新數據塊。例如,第一傳輸方式為藍牙傳輸,第二傳輸方式為Wifi傳輸,需傳輸的數據塊總數量為100個,當第40個數據塊傳輸完畢時,需切換藍牙傳輸為Wifi傳輸,則數據發送方會根據剩餘數據的大小和Wifi傳輸的傳輸能力,將剩餘數據重新劃分為6個數據塊,編號為1,2,3,4,5,6,選擇Wifi傳輸方式按照編號從小到大的順序依次傳輸6個數據塊。
S106:選擇第二傳輸方式按照新編號順序依次傳輸新數據塊
S107:繼續使用第一傳輸方式按照編號順序依次傳輸未被傳輸的數據塊。
進一步的,為使本發明更實用,可在切換為第二傳輸方式進行傳輸後,重複S103至S107的步驟,直至數據全部傳輸完畢,具體過程在此不再贅述。
基於上述技術方案,實施例提供的藍牙與Wifi切換的方法會將需要發送的數據切分為若干數據塊並編號後進行傳輸,一旦切換了傳輸方式,能夠按照編號順序依次傳輸切換傳輸方式前未被傳輸的數據塊,便於在切換前已傳送數據的基礎上進行續傳,而且依據數據大小及傳輸方式的傳輸能力對數據進行劃分,這樣既能夠發揮最優的傳輸效率,又能夠有針對性的增加或減少判斷次數,從而有效地提高了數據傳輸過程中的傳輸效率。
下面所示的流程圖,第一傳輸方式為藍牙傳輸,第二傳輸方式為Wifi傳輸,其具體包括以下步驟:
S201:判斷藍牙接入表中是否有數據接收方的藍牙物理地址;
若藍牙接入表中有數據接收方的藍牙物理地址,則進入步驟S202,若沒有,則進入步驟S208。
S202:判斷數據接收方是否在藍牙連接表中;
在S201的前提下,判斷數據接收方是否在藍牙連接表中,若在,則進入步驟S203,若不在,則進入步驟S208。
S203:根據接收到的藍牙固有信息,判斷藍牙設備是否在合理覆蓋範圍內;
在S202的前提下,判斷藍牙設備是否在合理覆蓋範圍內,若在,則進入步驟S207,若不在,則進入步驟S204。上文提到的藍牙固有信息包括接收信號強度等。
S204:使用藍牙發送數據等待反饋信息並累計發送次數;
S205:判斷接收到數據接收方反饋信息的時間是否小於第一閾值;
在S204的前提下,判斷接收到數據接收方反饋信息的時間是否小於第一閾值,若小於,則進入步驟S207,若不小於,則進入步驟S206;這裡提到的第一閾值為接收到數據接收方反饋信息的時間的最大允許值,第一閾值可由技術人員自行設置,以滿足實際情況的需求。
S206:判斷數據發送方使用藍牙發送數據次數是否小於第二閾值;
在S205的前提下,判斷數據發送方使用藍牙發送數據次數是否小於第二閾值,若小於,則進入步驟S204,若不小於,則進入步驟S208;這裡提到的第二閾值為數據發送方使用藍牙發送數據次數的最大允許值,第二閾值同第一閾值一樣,可由技術人員自行設置,以滿足實際情況的需求。
S207:繼續使用藍牙傳輸;
S208:切換藍牙傳輸為Wifi傳輸。
打開今日頭條,查看更多圖片這項專利提供了一種藍牙與Wifi切換的方法及系統,能夠實現藍牙與Wifi切換後,在已傳送數據的基礎上進行續傳。
將需要傳輸的數據根據第一數據劃分策略劃分為若干數據塊並編號;其中,所述第一數據劃分策略依據所述數據的大小以及第一傳輸方式的傳輸能力設置;
選擇所述第一傳輸方式按照編號順序依次傳輸所述數據塊;
判斷已傳輸的數據塊數量是否小於數據塊總數量;
若已傳輸的數據塊數量小於數據塊總數量,則判斷是否需要切換所述第一傳輸方式為第二傳輸方式,若需要,則切換所述第一傳輸方式為所述第二傳輸方式,並根據第二數據劃分策略將切換前未被傳輸的數據重新劃分為若干新數據塊並重新編號,選擇所述第二傳輸方式按照新編號順序依次傳輸所述新數據塊;其中,所述第二數據劃分策略依據切換前未被傳輸數據的大小和所述第二傳輸方式的傳輸能力設置。
優選地,當所述第一傳輸方式為藍牙傳輸,所述第二傳輸方式為Wifi傳輸時,所述判斷是否需要切換所述第一傳輸方式為第二傳輸方式,若需要,則切換所述第一傳輸方式為所述第二傳輸方式,包括:
判斷藍牙接入表中是否有所述數據接收方的所述藍牙物理地址,若沒有,則切換藍牙傳輸為Wifi傳輸;
若所述藍牙接入表中有所述數據接收方的所述藍牙物理地址,則判斷所述數據接收方是否在藍牙連接表中,若不在,則切換藍牙傳輸為Wifi傳輸;
若所述數據接收方在所述藍牙連接表中,則根據接收到的藍牙固有信息,判斷藍牙設備是否在合理覆蓋範圍內,若不在,則使用藍牙發送數據等待反饋信息並累計發送次數,判斷接收到所述數據接收方反饋信息的時間是否小於第一閾值,若不小於,則判斷藍牙發送數據次數是否小於第二閾值,若藍牙發送數據次數小於所述第二閾值,則重新發送所述數據等待反饋信息並累計發送次數,若藍牙發送數據次數不小於所述第二閾值,則切換藍牙傳輸為Wifi傳輸;其中,所述藍牙固有信息包括接收信號強度;所述第一閾值為接收到所述數據接收方反饋信息的時間的最大允許值;所述第二閾值為所述數據發送方使用藍牙發送數據次數的最大允許值。
優選地,當所述第一傳輸方式為Wifi傳輸,所述第二傳輸方式為藍牙傳輸時,所述判斷是否需要切換所述第一傳輸方式為第二傳輸方式,若需要,則切換所述第一傳輸方式為所述第二傳輸方式,包括:
判斷所述藍牙接入表中是否有所述數據接收方的所述藍牙物理地址,若有,則判斷所述數據接收方是否在所述藍牙連接表中,若所述數據接收方在所述藍牙連接表中,則根據接收到的所述藍牙固有信息,判斷藍牙設備是否在合理覆蓋範圍內,若在,則切換Wifi傳輸為藍牙傳輸;
若所述藍牙設備不在合理覆蓋範圍內,則使用藍牙發送所述數據等待反饋信息並累計發送次數,判斷接收到所述數據接收方反饋信息的時間是否小於所述第一閾值,若小於,則切換Wifi傳輸為藍牙傳輸;
若接收到所述數據接收方反饋信息的時間不小於所述第一閾值,則判斷藍牙發送數據次數是否小於所述第二閾值,若小於,則重新發送所述數據等待反饋信息並累計發送次數。
數據劃分及編號模塊,用於將需要傳輸的數據根據第一數據劃分策略劃分為若干數據塊並編號;根據第二數據劃分策略將切換前未被傳輸的數據重新劃分為若干新數據塊並重新編號;其中,所述第一數據劃分策略依據所述數據的大小以及第一傳輸方式的傳輸能力設置;所述第二數據劃分策略依據切換前未被傳輸數據的大小和所述第二傳輸方式的傳輸能力設置;
第一傳輸模塊,用於選擇所述第一傳輸方式按照編號順序依次傳輸所述數據塊;
第一判斷模塊,用於判斷已傳輸的數據塊數量是否小於數據塊總數量;
第二判斷及切換模塊,用於當已傳輸的數據塊數量小於所述數據塊總數量時,判斷是否需要切換所述第一傳輸方式為所述第二傳輸方式,若需要,則切換所述第一傳輸方式為所述第二傳輸方式;
第二傳輸模塊,用於選擇所述第二傳輸方式按照新編號順序依次傳輸所述新數據塊。
優選地,所述第二判斷及切換模塊包括:
第一判斷及切換子模塊,用於判斷藍牙接入表中是否有所述數據接收方的藍牙物理地址,若沒有,則切換藍牙傳輸為Wifi傳輸;
第二判斷及切換子模塊,用於當所述藍牙接入表中有所述接收方的藍牙物理地址時,判斷所述數據接收方是否在藍牙連接表中,若不在,則切換藍牙傳輸為Wifi傳輸;
第三判斷子模塊,用於當所述數據接收方在所述藍牙連接表中時,根據接收到的藍牙固有信息,判斷藍牙設備是否在合理覆蓋範圍內;
第四判斷子模塊,用於當所述藍牙設備不在合理覆蓋範圍內時,使用藍牙發送所述數據等待反饋信息並累計發送次數,判斷接收到所述數據接收方反饋信息的時間是否小於所述第一閾值;
第五判斷及切換子模塊,用於當接收到所述數據接收方反饋信息的時間不小於第一閾值時,判斷藍牙發送數據次數是否小於所述第二閾值,若藍牙發送數據次數小於所述第二閾值,則重新發送所述數據等待反饋信息並累計發送次數,若藍牙發送數據次數不小於第二閾值,則切換藍牙傳輸為Wifi傳輸;其中,所述藍牙固有信息包括接收信號強度;所述第一閾值為接收到所述數據接收方反饋信息的時間的最大允許值;所述第二閾值為所述數據發送方使用藍牙發送數據次數的最大允許值。
優選地,所述第二判斷及切換模塊包括:
第六判斷子模塊,用於判斷藍牙接入表中是否有所述數據接收方的藍牙物理地址;
第七判斷子模塊,用於當所述藍牙接入表中有所述接收方的藍牙物理地址時,判斷所述數據接收方是否在藍牙連接表中;
第八判斷及切換子模塊,用於當所述數據接收方在所述藍牙連接表中時,根據接收到的藍牙固有信息,判斷藍牙設備是否在合理覆蓋範圍內,若在,則切換Wifi傳輸為藍牙傳輸;
第九判斷及切換子模塊,用於當所述藍牙設備不在合理覆蓋範圍內時,使用藍牙發送所述數據等待反饋信息並累計發送次數,判斷接收到所述數據接收方反饋信息的時間是否小於所述第一閾值,若小於,則切換Wifi傳輸為藍牙傳輸;
第十判斷及切換子模塊,用於當接收到所述數據接收方反饋信息的時間不小於第一閾值時,判斷藍牙發送數據次數是否小於第二閾值,若小於,則重新發送所述數據等待反饋信息並累計發送次數。
本專利所提供的一種藍牙與Wifi切換的方法,根據傳輸方式的傳輸能力將數據切分為若干數據塊並編號後進行傳輸,若切換傳輸方式,重新將數據劃分為若干新數據塊並編號後繼續傳輸未被傳輸的數據塊,便於在切換前已傳送數據的基礎上進行續傳。
所提供的技術方案會根據所述數據的大小以及第一傳輸方式的傳輸能力將需要發送的數據切分為若干數據塊並編號後進行傳輸,一旦切換了傳輸方式,就能夠根據切換前未被傳輸數據的大小和所述第二傳輸方式的傳輸能力將切換前未被傳輸的數據重新劃分為若干新數據塊並重新編號,選擇所述第二傳輸方式按照新編號順序依次傳輸所述新數據塊,便於在切換前已傳送數據的基礎上進行續傳,避免了切換傳輸方式後所有數據均需要重傳,造成較多時間的浪費,同時依據傳輸數據的大小以及傳輸方式的傳輸能力將數據劃分為若干數據塊有效地提高了數據傳輸過程中的傳輸效率。