本發(fā)明涉及數(shù)據(jù)傳輸領(lǐng)域,特別是涉及一種用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法及系統(tǒng)。
背景技術(shù):
由于藍牙慢速廣播是單工通信,且間歇性發(fā)送數(shù)據(jù),這樣的通信方式導(dǎo)致收發(fā)雙方不知道數(shù)據(jù)是否發(fā)送成功,因此通常只用來發(fā)送固定的不變的數(shù)據(jù),很難應(yīng)用在動態(tài)數(shù)據(jù)的發(fā)送上。如果用來發(fā)送動態(tài)數(shù)據(jù),通信數(shù)據(jù)會經(jīng)常丟失,如果加入響應(yīng)包,因為收發(fā)雙方都需要監(jiān)聽數(shù)據(jù),那必然會導(dǎo)致設(shè)備功耗增加,這使得采用藍牙來進行動態(tài)數(shù)據(jù)的傳輸變得十分的不現(xiàn)實。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法及系統(tǒng),實現(xiàn)了藍牙技術(shù)在動態(tài)數(shù)據(jù)傳輸中的應(yīng)用,既保障了數(shù)據(jù)傳輸?shù)陌踩煽啃?,又保障了?shù)據(jù)傳輸?shù)牡凸摹?/p>
為實現(xiàn)上述目的,本發(fā)明提供了如下方案:
一種用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法,所述方法包括:
發(fā)射端獲取新數(shù)據(jù),將第n次獲取的新數(shù)據(jù)標(biāo)記為第n數(shù)據(jù);
發(fā)送端發(fā)送數(shù)據(jù)包,所述數(shù)據(jù)包包含第n-t數(shù)據(jù)到第n數(shù)據(jù)以及編號n,所述編號n為發(fā)送端發(fā)送次數(shù)的編號,t為設(shè)定值。
可選的,所述方法還包括:
接收端接收所述發(fā)送端發(fā)送的數(shù)據(jù);
接收端判斷接收到的數(shù)據(jù)中的編號是否與上次接收到的數(shù)據(jù)的編號相連續(xù);
如果否,則接收端將接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號相減,得到丟失數(shù)據(jù)的個數(shù);
接收端提取所述接收到的數(shù)據(jù)中的第n-a+1數(shù)據(jù)到第n數(shù)據(jù),其中,a為丟失數(shù)據(jù)的個數(shù),n為接收到的數(shù)據(jù)中的編號;
如果是,則接收端提取所述接收到的數(shù)據(jù)中的第n數(shù)據(jù)。
可選的,所述發(fā)送端發(fā)送數(shù)據(jù)包,所述數(shù)據(jù)包包含第n-t數(shù)據(jù)到第n數(shù)據(jù)以及編號n,所述編號n為發(fā)送端發(fā)送次數(shù)的編號,t為設(shè)定值,具體包括:
發(fā)送端發(fā)送數(shù)據(jù)包,所述數(shù)據(jù)包包含第n-9數(shù)據(jù)到第n數(shù)據(jù)以及編號n,所述編號n為發(fā)送端發(fā)送次數(shù)的編號。
本發(fā)明還提供了一種用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括:
新數(shù)據(jù)獲取單元,用于發(fā)射端獲取新數(shù)據(jù),將第n次獲取的新數(shù)據(jù)標(biāo)記為第n數(shù)據(jù);
數(shù)據(jù)發(fā)送單元,用于發(fā)送端發(fā)送數(shù)據(jù)包,所述數(shù)據(jù)包包含第n-t數(shù)據(jù)到第n數(shù)據(jù)以及編號n,所述編號n為發(fā)送端發(fā)送次數(shù)的編號,t為設(shè)定值。
可選的,所述系統(tǒng)還包括:
接收單元,用于接收端接收所述發(fā)送端發(fā)送的數(shù)據(jù);
接收端判斷單元,用于接收端判斷接收到的數(shù)據(jù)中的編號是否與上次接收到的數(shù)據(jù)的編號相連續(xù);
丟失數(shù)據(jù)個數(shù)計算單元,用于當(dāng)接收端判斷接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號不連續(xù)時,接收端將接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號相減,得到丟失數(shù)據(jù)的個數(shù);
第一數(shù)據(jù)提取單元,用于接收端提取所述接收到的數(shù)據(jù)中的第n-a+1數(shù)據(jù)到第n數(shù)據(jù),其中,a為丟失數(shù)據(jù)的個數(shù),n為接收到的數(shù)據(jù)中的編號;
第二數(shù)據(jù)提取單元,用于當(dāng)接收端判斷接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號相連續(xù)時,接收端提取所述接收到的數(shù)據(jù)中的第n數(shù)據(jù)。
可選的,所述發(fā)送單元,具體包括:
發(fā)送子單元,用于發(fā)送端發(fā)送數(shù)據(jù)包,所述數(shù)據(jù)包包含第n-9數(shù)據(jù)到第n數(shù)據(jù)以及編號n,所述編號n為發(fā)送端發(fā)送次數(shù)的編號。
根據(jù)本發(fā)明提供的具體實施例,本發(fā)明公開了以下技術(shù)效果:本發(fā)明通過對數(shù)據(jù)進行連續(xù)編號,發(fā)送端在發(fā)送時除本次數(shù)據(jù)外,同時加入前幾次的數(shù)據(jù)一起廣播,在接收端沒有完全接收到發(fā)送端發(fā)送的所有數(shù)據(jù)時,接收端可以從接收到的數(shù)據(jù)中提取丟失的數(shù)據(jù),在很大程度上避免了數(shù)據(jù)的丟失,同時,無需接收端回復(fù)響應(yīng)包,保障了信息傳輸?shù)牡凸摹?/p>
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法發(fā)送端發(fā)送流程示意圖;
圖2為本發(fā)明實施例用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法接收端接收流程示意圖;
圖3為本發(fā)明實施例用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng)發(fā)送端結(jié)構(gòu)示意圖;
圖4為本發(fā)明實施例用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng)接收端結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明的目的是提供一種用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法及系統(tǒng),實現(xiàn)了藍牙技術(shù)在動態(tài)數(shù)據(jù)傳輸中的應(yīng)用,既保障了數(shù)據(jù)傳輸?shù)陌踩煽啃裕直U狭藬?shù)據(jù)傳輸?shù)牡凸摹?/p>
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本發(fā)明作進一步詳細的說明。
圖1為本發(fā)明實施例用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法發(fā)送端發(fā)送流程示意圖,如圖1所示,用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法步驟如下:
步驟101:發(fā)射端獲取新數(shù)據(jù),將第n次獲取的新數(shù)據(jù)標(biāo)記為第n數(shù)據(jù);
步驟102:發(fā)送端發(fā)送數(shù)據(jù)包,所述數(shù)據(jù)包包含第n-t數(shù)據(jù)到第n數(shù)據(jù)以及編號n,所述編號n為發(fā)送端發(fā)送次數(shù)的編號,t為設(shè)定值。
作為一個優(yōu)選的實施例,步驟102具體為發(fā)送端發(fā)送數(shù)據(jù)包,所述數(shù)據(jù)包包含第n-9數(shù)據(jù)到第n數(shù)據(jù)以及編號n,所述編號n為發(fā)送端發(fā)送次數(shù)的編號。
圖2為本發(fā)明實施例用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法接收端接收流程示意圖,如圖2所示,具體步驟如下:
步驟201:接收端接收所述發(fā)送端發(fā)送的數(shù)據(jù);
步驟202:接收端判斷接收到的數(shù)據(jù)中的編號是否與上次接收到的數(shù)據(jù)的編號相連續(xù);
步驟203:如果接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號不連續(xù),則接收端將接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號相減,得到丟失數(shù)據(jù)的個數(shù);
步驟204:接收端提取所述接收到的數(shù)據(jù)中的第n-a+1數(shù)據(jù)到第n數(shù)據(jù),其中,a為丟失數(shù)據(jù)的個數(shù),n為接收到的數(shù)據(jù)中的編號;
步驟205:如果接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號相連續(xù),則接收端提取所述接收到的數(shù)據(jù)中的第n數(shù)據(jù)。
本發(fā)明采用過飽和發(fā)送以及數(shù)據(jù)序號編碼方式降低了藍牙4.0廣播數(shù)據(jù)時的數(shù)據(jù)丟失率,使其具備發(fā)送動態(tài)數(shù)據(jù)能力。
藍牙廣播模式發(fā)送數(shù)據(jù)時,在不加響應(yīng)包的情況下,數(shù)據(jù)收發(fā)雙方是不知道數(shù)據(jù)是否成功發(fā)出和接收的,如果用來發(fā)送動態(tài)數(shù)據(jù),通信數(shù)據(jù)經(jīng)常丟失。而如果加入響應(yīng)包,因為收發(fā)雙方都需要監(jiān)聽數(shù)據(jù),那必然會導(dǎo)致設(shè)備功耗增加。為保證設(shè)備的低功耗屬性,通常廣播模式只用來發(fā)送固定不變的數(shù)據(jù)。無法發(fā)送動態(tài)數(shù)據(jù)。
本發(fā)明提供了一種用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法及系統(tǒng),在不加入響應(yīng)包的情況下能夠提高數(shù)據(jù)通信的穩(wěn)定性,減少數(shù)據(jù)丟失,從而實現(xiàn)廣播模式也能發(fā)送動態(tài)數(shù)據(jù)。
一個典型的藍牙設(shè)備廣播數(shù)據(jù)包,每個包都是31字節(jié),數(shù)據(jù)包中包含UUID,設(shè)備信息,生產(chǎn)商信息等,這類數(shù)據(jù)被稱為有效數(shù)據(jù),除以上信息外還有約為21個字節(jié)是可以被用戶自定義的,在不使用的時候視為無效數(shù)據(jù)通常以0補齊。
可以使用21字節(jié)的用戶自定義區(qū)域裝載數(shù)據(jù),用于數(shù)據(jù)傳輸,比如環(huán)境溫度。以溫度為例,其數(shù)值是隨環(huán)境變化而變化,數(shù)據(jù)在廣播過程中,如果接收方在處理其他進程或者因為其他原因接收方?jīng)]有收到數(shù)據(jù),數(shù)據(jù)就被丟失。在實際測試中,發(fā)生丟失的概率約為20%,廣播5次數(shù)據(jù)會丟失一次。
因而藍牙廣播模式,通常只廣播固定不變的數(shù)據(jù)。例如一個設(shè)備編號,用來被接收方發(fā)現(xiàn)。
本發(fā)明提供的方法及系統(tǒng)的廣播方(即發(fā)射端)將數(shù)據(jù)做連續(xù)編號,除本次數(shù)據(jù)外,同時加入前九次數(shù)據(jù)一起廣播。接收方(即接收端)存儲當(dāng)前數(shù)據(jù)編號,對比本次和前次存儲的數(shù)據(jù)編號,本次編號和前次編號不連續(xù),計算兩次編號差值,從數(shù)據(jù)包中獲取丟失的數(shù)據(jù)。
具體的工作方式如下:
廣播方:
不改變廣播方式,不加入響應(yīng)包,在一次廣播時發(fā)送當(dāng)前廣播數(shù)據(jù)的編號,并在廣播包中加入前九次的采集數(shù)據(jù),構(gòu)成一個小型數(shù)據(jù)包,依次為:當(dāng)前數(shù)據(jù)編號,本次數(shù)據(jù),前一次數(shù)據(jù),前兩次數(shù)據(jù)……,前九次數(shù)據(jù)。
廣播包:(自定義區(qū)域)
數(shù)據(jù)0為本次數(shù)據(jù),數(shù)據(jù)1-9為前9次數(shù)據(jù),依次排列。
接收方:
接收方在接收數(shù)據(jù)時存儲本次接收的數(shù)據(jù)編號,與前一次接收的數(shù)據(jù)編號進行減法,如果廣播過程中丟失一次數(shù)據(jù),只要接收方在第八次廣播時間內(nèi),成功接收一次數(shù)據(jù),即可通過連續(xù)編號將丟失的數(shù)據(jù)補齊。從而極大的降低數(shù)據(jù)丟失的可能性。
本發(fā)明提供的用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸方法,通過對數(shù)據(jù)進行連續(xù)編號,發(fā)送端在發(fā)送時除本次數(shù)據(jù)外,同時加入前幾次的數(shù)據(jù)一起廣播,在接收端沒有完全接收到發(fā)送端發(fā)送的所有數(shù)據(jù)時,接收端可以從接收到的數(shù)據(jù)中提取丟失的數(shù)據(jù),在很大程度上避免了數(shù)據(jù)的丟失,同時,無需接收端回復(fù)響應(yīng)包,保障了信息傳輸?shù)牡凸摹?/p>
本發(fā)明還提供了一種用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng),圖3為本發(fā)明實施例用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng)發(fā)送端結(jié)構(gòu)示意圖,如圖3所示,用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng)包括:
新數(shù)據(jù)獲取單元301,用于發(fā)射端獲取新數(shù)據(jù),將第n次獲取的新數(shù)據(jù)標(biāo)記為第n數(shù)據(jù);
數(shù)據(jù)發(fā)送單元302,用于發(fā)送端發(fā)送數(shù)據(jù)包,所述數(shù)據(jù)包包含第n-t數(shù)據(jù)到第n數(shù)據(jù)以及編號n,所述編號n為發(fā)送端發(fā)送次數(shù)的編號,t為設(shè)定值。其中,t可以取9。
圖4為本發(fā)明實施例用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng)接收端結(jié)構(gòu)示意圖,如圖4所示,用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng)的接收端包括:
接收單元401,用于接收端接收所述發(fā)送端發(fā)送的數(shù)據(jù);
接收端判斷單元402,用于接收端判斷接收到的數(shù)據(jù)中的編號是否與上次接收到的數(shù)據(jù)的編號相連續(xù);
丟失數(shù)據(jù)個數(shù)計算單元403,用于當(dāng)接收端判斷接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號不連續(xù)時,接收端將接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號相減,得到丟失數(shù)據(jù)的個數(shù);
第一數(shù)據(jù)提取單元404,用于接收端提取所述接收到的數(shù)據(jù)中的第n-a+1數(shù)據(jù)到第n數(shù)據(jù),其中,a為丟失數(shù)據(jù)的個數(shù),n為接收到的數(shù)據(jù)中的編號;
第二數(shù)據(jù)提取單元405,用于當(dāng)接收端判斷接收到的數(shù)據(jù)中的編號與上次接收到的數(shù)據(jù)的編號相連續(xù)時,接收端提取所述接收到的數(shù)據(jù)中的第n數(shù)據(jù)。
本發(fā)明提供的用于藍牙廣播的動態(tài)數(shù)據(jù)傳輸系統(tǒng),通過對數(shù)據(jù)進行連續(xù)編號,發(fā)送端在發(fā)送時除本次數(shù)據(jù)外,同時加入前幾次的數(shù)據(jù)一起廣播,在接收端沒有完全接收到發(fā)送端發(fā)送的所有數(shù)據(jù)時,接收端可以從接收到的數(shù)據(jù)中提取丟失的數(shù)據(jù),在很大程度上避免了數(shù)據(jù)的丟失,同時,無需接收端回復(fù)響應(yīng)包,保障了信息傳輸?shù)牡凸摹?/p>
本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的系統(tǒng)而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。