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