基於藍牙廣播進行數據傳輸的方法、裝置及藍牙設備
本說明書實施例涉及數據處理技術領域,尤其涉及一種基於藍牙廣播進行數據傳輸的方法、裝置及藍牙設備。
現有技術中,藍牙設備,例如承載有藍牙通信模組的手機可以在指定的廣播頻道上發送廣播類型為可連接的廣播報文,另一藍牙設備則可以通過掃描指定的廣播頻道發現廣播報文,也即發現可連接的藍牙設備,繼而,該另一藍牙設備則可以向該可連接的藍牙設備發送連接請求。待兩台藍牙設備之間建立起藍牙連接之後,該兩台藍牙設備則可以通過藍牙廣播進行數據傳輸。
由此可見,在現有技術中,建立起藍牙連接是兩台藍牙設備可以通過藍牙廣播進行數據傳輸的必要條件,並且,該兩台藍牙設備之間是通過一個藍牙廣播進行數據傳輸的,在該種數據傳輸方式下,傳輸效率較低,尤其是對於較大的數據而言,需要耗費較長時間才可完成傳輸。
針對上述技術問題,本說明書實施例提供一種基於藍牙廣播進行數據傳輸的方法、裝置及藍牙設備,技術方案如下:
根據本說明書實施例的第一方面,提供一種基於藍牙廣播進行數據傳輸的方法,該方法包括:
將待發送數據拆分為N個數據段,該N為大於0的自然數;
針對該N個數據段中的任一數據段,將該數據段作為廣播數據封裝至一個藍牙廣播數據包,得到N個藍牙廣播數據包;
開啟N個藍牙廣播,並利用該N個藍牙廣播分別對該N個藍牙廣播數據包進行廣播發送。
根據本說明書實施例的第二方面,提供一種基於藍牙廣播進行數據傳輸的方法,該方法包括:
在設定頻道範圍內掃描藍牙廣播;
當掃描到具有指定服務UUID的藍牙廣播時,獲取該藍牙廣播所廣播發送的藍牙廣播數據包;
針對獲取到的任一藍牙廣播數據包,對該藍牙廣播數據包進行解析,得到該藍牙廣播數據包封裝的廣播數據;
對所得到的廣播數據進行組合。
根據本說明書實施例的第三方面,提供一種基於藍牙廣播進行數據傳輸的裝置,該裝置包括:
拆分模組,用於將待發送數據拆分為N個數據段,該N為大於0的自然數;
封裝模組,用於針對該N個數據段中的任一數據段,將該數據段作為廣播數據封裝至一個藍牙廣播數據包,得到N個藍牙廣播數據包;
傳輸模組,用於開啟N個藍牙廣播,並利用該N個藍牙廣播分別對該N個藍牙廣播數據包進行廣播發送。
根據本說明書實施例的第四方面,提供一種基於藍牙廣播進行數據傳輸的裝置,該裝置包括:
掃描模組,用於在設定頻道範圍內掃描藍牙廣播;
獲取模組,用於當掃描到具有指定服務UUID的藍牙廣播時,獲取該藍牙廣播所廣播發送的藍牙廣播數據包;
解析模組,用於針對獲取到的任一藍牙廣播數據包,對該藍牙廣播數據包進行解析,得到該藍牙廣播數據包封裝的廣播數據;
組合模組,用於對所得到的廣播數據進行組合。
根據本說明書實施例的第五方面,提供一種藍牙設備,包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,該處理器執行該程式時實現本說明書實施例提供的任一基於藍牙廣播進行數據傳輸的方法。
本說明書實施例所提供的技術方案,通過將待發送數據拆分為N個數據段,針對任一數據段,將其作為廣播數據封裝至一個藍牙廣播數據包,得到N個藍牙廣播數據包;開啟N個藍牙廣播,利用該N個藍牙廣播分別對N個藍牙廣播數據包進行廣播發送,可以提高基於藍牙廣播進行數據傳輸的效率。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本說明書實施例。
此外,本說明書實施例中的任一實施例並不需要達到上述的全部效果。
為了使本領域技術人員更好地理解本說明書實施例中的技術方案,下面將結合本說明書實施例中的圖式,對本說明書實施例中的技術方案進行詳細地描述,顯然,所描述的實施例僅僅是本說明書的一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員所獲得的所有其他實施例,都應當屬於保護的範圍。
現有技術中,建立起藍牙連接是兩台藍牙設備可以通過藍牙廣播進行數據傳輸的必要條件,並且,該兩台藍牙設備之間是通過一個藍牙廣播進行數據傳輸的,這也就導致了數據傳輸的效率較低,尤其是對於較大的數據而言,僅通過一個藍牙廣播進行數據傳輸需消耗較長時間。
為了解決上述問題,本說明書實施例提供一種基於藍牙廣播進行數據傳輸的方法,應用該方法,可以實現兩台藍牙設備之間無需建立藍牙連接,即可進行數據傳輸,並且,可以通過多個藍牙廣播對較大的數據進行傳輸,從而提高數據傳輸效率。
如下,從數據發送方與數據接收方兩側,分別對本說明書實施例提供的基於藍牙廣播進行數據傳輸的方法進行說明。
首先,從數據發送方一側,對該基於藍牙廣播進行數據傳輸的方法進行說明:
請參見圖1,為本說明書一示例性實施例提供的一種基於藍牙廣播進行數據傳輸的方法的實施例流程圖,該方法可以包括以下步驟:
步驟102:將待發送數據拆分為N個數據段,N為大於0的自然數。
步驟104:針對N個數據段中的任一數據段,將該數據段作為廣播數據封裝至一個藍牙廣播數據包,得到N個藍牙廣播數據包。
如下,對步驟102與步驟104進行說明:
在本說明書實施例中,可以基於指定字節長度,例如30字節,對待發送數據進行拆分,得到N個數據段,其中,任一數據段的長度不超過該指定字節長度,例如,可以針對待發送數據,每30字節即拆分為一個數據段,又例如,可以在任一數據段的長度不超過該指定字節長度的前提下,隨機對待發送數據進行拆分。
進一步,在本說明書實施例中,可以按照N個數據段在待發送數據中的排列順序,為該N個數據段設置排列序號,例如,將待發送數據拆分為5個數據段,該5個數據段的排列序號依次為0~4。
在本說明書實施例中,針對N個數據段中的任一數據段,將其作為廣播數據封裝至一個藍牙廣播數據包中,至此,得到N個藍牙廣播數據包。
步驟106:開啟N個藍牙廣播,並利用N個藍牙廣播分別對N個藍牙廣播數據包進行廣播發送。
在本說明書實施例中,可以利用虛擬藍牙技術,虛擬出N個藍牙廣播,利用該N個藍牙廣播分別對步驟104中得到的N個藍牙廣播數據包進行廣播發送。
需要說明的是,上述虛擬出的N個藍牙廣播具有相同的服務UUID(Universally Unique Identifier,統一識別碼)。
本說明書實施例所提供的技術方案,通過將待發送數據拆分為N個數據段,針對任一數據段,將其作為廣播數據封裝至一個藍牙廣播數據包,得到N個藍牙廣播數據包;開啟N個藍牙廣播,利用該N個藍牙廣播分別對N個藍牙廣播數據包進行廣播發送,可以提高基於藍牙廣播進行數據傳輸的效率。
其次,從數據接收方一側,對該基於藍牙廣播進行數據傳輸的方法進行說明:
請參見圖2,為本說明書一示例性實施例提供的另一種基於藍牙廣播進行數據傳輸的方法的實施例流程圖,該方法可以包括以下步驟:
步驟202:在設定頻道範圍內掃描藍牙廣播。
步驟204:當掃描到具有指定服務UUID的藍牙廣播時,獲取該藍牙廣播所廣播發送的藍牙廣播數據包。
如下,對步驟202與步驟204進行說明:
在本說明書實施例中,作為數據接收方,藍牙設備可以在設定的頻道範圍,例如頻道37~頻道39內掃描藍牙廣播,並基於指定服務UUID對掃描到的藍牙廣播進行過濾,也即當掃描到具有指定服務UUID的藍牙廣播時,獲取該藍牙廣播所廣播發送的藍牙廣播數據包。
需要說明的是,結合上述圖1所示例的實施例,本步驟中的指定服務UUID可以與上述圖1所示實施例的步驟106中所描述的N個藍牙廣播的服務UUID相同。
在一實施例中,該指定服務UUID可以是基於用戶操作確定的。例如,藍牙設備在掃描到藍牙廣播後,可以在顯示介面上顯示所掃描到的藍牙廣播,例如,顯示所掃描到的藍牙廣播的標識,用戶基於藍牙廣播的標識,從中選擇意圖通信的藍牙廣播,通過用戶的選擇操作,即可確定指定服務UUID。
步驟206:針對獲取到的任一藍牙廣播數據包,對該藍牙廣播數據包進行解析,得到藍牙廣播數據包封裝的廣播數據。
步驟208:對所得到的廣播數據進行組合。
如下,對步驟206與步驟208進行說明:
在本說明書實施例中,作為數據接收方,藍牙設備可以按照藍牙廣播數據包的格式規範,對獲取到的任一藍牙廣播數據包進行解析,得到其中封裝的廣播數據,之後,將所得到的廣播數據進行組合,得到數據發送方發送的原始待發送數據。
在一實施例中,由上述圖1所示實施例中的描述可知,作為數據發送方,藍牙設備在對待發送數據進行拆分之後,可以按照拆分得到的數據段在待發送數據中的排列順序,為該數據段設置排列序號,基於此,在步驟208中,則可以根據廣播數據的排列序號,對廣播數據進行組合。
本說明書實施例所提供的技術方案,通過在設定頻道範圍內掃描藍牙廣播,當掃描到具有指定服務UUID的藍牙廣播時,獲取該藍牙廣播所廣播發送的藍牙廣播數據包,針對獲取到的任一藍牙廣播數據包,對該藍牙廣播數據包進行解析,得到藍牙廣播數據包封裝的廣播數據,對所得到的廣播數據進行組合,可以提高基於藍牙廣播進行數據傳輸的效率。
相應於上述圖1所示例的方法實施例,本說明書實施例還提供一種基於藍牙廣播進行數據傳輸的裝置,參見圖3所示,為本說明書一示例性實施例提供的一種基於藍牙廣播進行數據傳輸的裝置的實施例方塊圖,該裝置可以包括:拆分模組31、封裝模組32,以及傳輸模組33。
其中,拆分模組31,可以用於將待發送數據拆分為N個數據段,該N為大於0的自然數;
封裝模組32,可以用於針對該N個數據段中的任一數據段,將該數據段作為廣播數據封裝至一個藍牙廣播數據包,得到N個藍牙廣播數據包;
傳輸模組33,可以用於開啟N個藍牙廣播,並利用該N個藍牙廣播分別對該N個藍牙廣播數據包進行廣播發送。
在一實施例中,該拆分模組31,可以包括(圖3中未示出):
處理子模組,用於基於指定字節長度對待發送數據進行拆分,得到N個數據段,其中,任一該數據段的長度不超過該指定字節長度;
編號子模組,用於按照該N個數據段在該待發送數據中的排列順序,為該N個數據段設置排列序號。
在一實施例中,該N個藍牙廣播具有相同的服務UUID。
可以理解的是,拆分模組31、封裝模組32,以及傳輸模組33作為三種功能獨立的模組,既可以如圖3所示同時配置在裝置中,也可以分別單獨配置在裝置中,因此圖3所示的結構不應理解為對本說明書實施例方案的限定。
相應於上述圖2所示例的方法實施例,本說明書實施例還提供另一種基於藍牙廣播進行數據傳輸的裝置,參見圖4所示,為本說明書一示例性實施例提供的另一種基於藍牙廣播進行數據傳輸的裝置的實施例方塊圖,該裝置可以包括:掃描模組41、獲取模組42、解析模組43,以及組合模組44。
其中,掃描模組41,可以用於在設定頻道範圍內掃描藍牙廣播;
獲取模組42,可以用於當掃描到具有指定UUID的藍牙廣播時,獲取該藍牙廣播所廣播發送的藍牙廣播數據包;
解析模組43,可以用於針對獲取到的任一藍牙廣播數據包,對該藍牙廣播數據包進行解析,得到該藍牙廣播數據包封裝的廣播數據;
組合模組44,可以用於對所得到的廣播數據進行組合。
在一實施例中,該組合模組44具體可以用於:
根據所得到的廣播數據的排列序號,對該廣播數據進行組合。
可以理解的是,掃描模組41、獲取模組42、解析模組43,以及組合模組44作為四種功能獨立的模組,既可以如圖4所示同時配置在裝置中,也可以分別單獨配置在裝置中,因此圖4所示的結構不應理解為對本說明書實施例方案的限定。
此外,上述裝置中各個模組的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。
本說明書實施例還提供一種藍牙設備,其至少包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,處理器執行該程式時實現前述的基於藍牙廣播進行數據傳輸的方法,該方法至少包括:將待發送數據拆分為N個數據段,該N為大於0的自然數;針對該N個數據段中的任一數據段,將該數據段作為廣播數據封裝至一個藍牙廣播數據包,得到N個藍牙廣播數據包;開啟N個藍牙廣播,並利用該N個藍牙廣播分別對該N個藍牙廣播數據包進行廣播發送。
本說明書實施例還提供另一種藍牙設備,其至少包括記憶體、處理器及儲存在記憶體上並可在處理器上運行的電腦程式,其中,處理器執行該程式時實現前述的基於藍牙廣播進行數據傳輸的方法,該方法至少包括:在設定頻道範圍內掃描藍牙廣播;當掃描到具有指定UUID的藍牙廣播時,獲取該藍牙廣播所廣播發送的藍牙廣播數據包;針對獲取到的任一藍牙廣播數據包,對該藍牙廣播數據包進行解析,得到該藍牙廣播數據包封裝的廣播數據;對所得到的廣播數據進行組合。
圖5示出了本說明書實施例所提供的一種更為具體的藍牙設備硬體結構示意圖,該設備可以包括:處理器510、記憶體520、輸入/輸出介面530、通信介面540和匯流排550。其中處理器510、記憶體520、輸入/輸出介面530和通信介面540通過匯流排550實現彼此之間在設備內部的通信連接。
處理器510可以採用通用的CPU(Central Processing Unit,中央處理器)、微處理器、應用專用積體電路(Application Specific Integrated Circuit,ASIC)、或者一個或多個積體電路等方式實現,用於執行相關程式,以實現本說明書實施例所提供的技術方案。
記憶體520可以採用ROM(Read Only Memory,唯讀記憶體)、RAM(Random Access Memory,隨機存取記憶體)、靜態儲存設備,動態儲存設備等形式實現。記憶體520可以儲存操作系統和其他應用程式,在通過軟體或者韌體來實現本說明書實施例所提供的技術方案時,相關的程式代碼保存在記憶體520中,並由處理器510來調用執行。
輸入/輸出介面530用於連接輸入/輸出模組,以實現資訊輸入及輸出。輸入輸出/模組可以作為組件配置在設備中(圖中未示出),也可以外接於設備以提供相應功能。其中輸入設備可以包括鍵盤、滑鼠、觸控螢幕、麥克風、各類傳感器等,輸出設備可以包括顯示器、揚聲器、振動器、指示燈等。
通信介面540用於連接通信模組(圖中未示出),以實現本設備與其他設備的通信交互。其中通信模組可以通過有線方式(例如USB、網路線等)實現通信,也可以通過無線方式(例如移動網路、WIFI、藍牙等)實現通信。
匯流排550包括一通路,在設備的各個組件(例如處理器510、記憶體520、輸入/輸出介面530和通信介面540)之間傳輸資訊。
需要說明的是,儘管上述設備僅示出了處理器510、記憶體520、輸入/輸出介面530、通信介面540以及匯流排550,但是在具體實施過程中,該設備還可以包括實現正常運行所必需的其他組件。此外,本領域的技術人員可以理解的是,上述設備中也可以僅包含實現本說明書實施例方案所必需的組件,而不必包含圖中所示的全部組件。
本說明書實施例還提供一種電腦可讀取儲存介質,其上儲存有電腦程式,該程式被處理器執行時實現前述的基於藍牙廣播進行數據傳輸的方法。該方法至少包括:將待發送數據拆分為N個數據段,該N為大於0的自然數;針對該N個數據段中的任一數據段,將該數據段作為廣播數據封裝至一個藍牙廣播數據包,得到N個藍牙廣播數據包;開啟N個藍牙廣播,並利用該N個藍牙廣播分別對該N個藍牙廣播數據包進行廣播發送。
本說明書實施例還提供另一種電腦可讀取儲存介質,其上儲存有電腦程式,該程式被處理器執行時實現前述的基於藍牙廣播進行數據傳輸的方法。該方法至少包括:在設定頻道範圍內掃描藍牙廣播;當掃描到具有指定UUID的藍牙廣播時,獲取該藍牙廣播所廣播發送的藍牙廣播數據包;針對獲取到的任一藍牙廣播數據包,對該藍牙廣播數據包進行解析,得到該藍牙廣播數據包封裝的廣播數據;對所得到的廣播數據進行組合。
電腦可讀取介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀取指令、資料結構、程式的模組或其他數據。電腦的儲存介質的例子包括,但不限於相變內部記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可抹除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他內部記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁碟儲存或其他磁性儲存設備或任何其他非傳輸介質,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀取介質不包括暫存電腦可讀取媒體(transitory media),如調變的數據信號和載波。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地瞭解到本說明書實施例可借助軟體加必需的通用硬體平台的方式來實現。基於這樣的理解,本說明書實施例的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該電腦軟體產品可以儲存在儲存介質中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一台電腦設備(可以是個人電腦,伺服器,或者網路設備等)執行本說明書實施例各個實施例或者實施例的某些部分所述的方法。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦,電腦的具體形式可以是個人電腦、筆記型電腦、蜂巢式電話、相機電話、智慧型電話、個人數位助理、媒體播放器、導航設備、電子郵件收發設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任意幾種設備的組合。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的模組可以是或者也可以不是實體上分開的,在實施本說明書實施例方案時可以把各模組的功能在同一個或多個軟體和/或硬體中實現。也可以根據實際的需要選擇其中的部分或者全部模組來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上所述僅是本說明書實施例的具體實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本說明書實施例原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本說明書實施例的保護範圍。
102~106:步驟
202~208:步驟
31:拆分模組
32:封裝模組
33:傳輸模組
41:掃描模組
42:獲取模組
43:解析模組
44:組合模組
510:處理器
520:記憶體
530:輸入/輸出介面
540:通信介面
550:匯流排
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本說明書實施例中記載的一些實施例,對於本領域普通技術人員來講,還可以根據這些圖式獲得其他的圖式。
圖1為本說明書一示例性實施例提供的一種基於藍牙廣播進行數據傳輸的方法的實施例流程圖;
圖2為本說明書一示例性實施例提供的另一種基於藍牙廣播進行數據傳輸的方法的實施例流程圖;
圖3為本說明書一示例性實施例提供的一種基於藍牙廣播進行數據傳輸的裝置的實施例方塊圖;
圖4為本說明書一示例性實施例提供的另一種基於藍牙廣播進行數據傳輸的裝置的實施例方塊圖;
圖5示出了本說明書實施例所提供的一種更為具體的藍牙設備硬體結構示意圖。