欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種藍(lán)牙設(shè)備通信方法和裝置制造方法

文檔序號:7773847閱讀:214來源:國知局
一種藍(lán)牙設(shè)備通信方法和裝置制造方法
【專利摘要】本發(fā)明涉及通信領(lǐng)域,特別是一種藍(lán)牙設(shè)備通信方法,包括:接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息;根據(jù)數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系判斷是否存在與第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道;當(dāng)判斷存在與第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用數(shù)據(jù)連接通道實現(xiàn)藍(lán)牙主設(shè)備中的第一應(yīng)用與第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信;當(dāng)判斷不存在與第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道,并保存建立的數(shù)據(jù)連接通道與第一藍(lán)牙從設(shè)備的對應(yīng)關(guān)系。本發(fā)明可有效提高藍(lán)牙設(shè)備間通信的效率。
【專利說明】一種藍(lán)牙設(shè)備通信方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別是涉及一種藍(lán)牙設(shè)備通信方法和裝置。
【背景技術(shù)】
[0002]藍(lán)牙(Blue tooth)是一種支持設(shè)備間進(jìn)行短距離通信的無線通信技術(shù),在無線通信領(lǐng)域得到了廣泛的應(yīng)用?,F(xiàn)有技術(shù)中,兩個支持藍(lán)牙技術(shù)的設(shè)備間可以通過建立無線通信通道以實現(xiàn)數(shù)據(jù)傳輸。藍(lán)牙技術(shù)可以有效地簡化通信終端設(shè)備間的通信,使得數(shù)據(jù)傳輸更加快捷、高效。
[0003]在現(xiàn)有技術(shù)提供的方法中,兩個支持藍(lán)牙技術(shù)的設(shè)備例如包括藍(lán)牙主設(shè)備和藍(lán)牙從設(shè)備建立無線通信通道的過程為:(1)發(fā)現(xiàn)配對階段,在此階段需要完成藍(lán)牙主設(shè)備和藍(lán)牙從設(shè)備之間的信任認(rèn)證。具體過程為:藍(lán)牙主設(shè)備和藍(lán)牙從設(shè)備的藍(lán)牙功能開啟后,藍(lán)牙主設(shè)備掃描開啟藍(lán)牙功能的設(shè)備,掃描完畢后生成設(shè)備列表,由用戶在設(shè)備列表中選擇一個設(shè)備作為藍(lán)牙從設(shè)備。然后,藍(lán)牙主設(shè)備向藍(lán)牙從設(shè)備發(fā)送配對請求,在配對請求中攜帶配對密鑰,當(dāng)藍(lán)牙從設(shè)備確定配對密鑰正確時,則反饋配對成功響應(yīng)消息至藍(lán)牙主設(shè)備以完成藍(lán)牙配對。(2)連接通信階段,在此階段完成藍(lán)牙主設(shè)備和藍(lán)牙從設(shè)備間的通信連接和數(shù)據(jù)傳輸。具體過程為:藍(lán)牙主設(shè)備中的應(yīng)用程序向藍(lán)牙從設(shè)備發(fā)送連接建立請求消息,藍(lán)牙從設(shè)備返回連接響應(yīng)消息以建立通信通道。而后,藍(lán)牙從設(shè)備利用已建立的通信通道向藍(lán)牙主設(shè)備中的應(yīng)用程序發(fā)送數(shù)據(jù)以完成數(shù)據(jù)交互。
[0004]發(fā)明人在實現(xiàn)本發(fā)明的過程中發(fā)現(xiàn),現(xiàn)有技術(shù)存在的藍(lán)牙設(shè)備間建立無線通信信道的方法,需要用戶執(zhí)行繁瑣的操作才能完成藍(lán)牙設(shè)備的配對和連接,效率較低。此外,無線通信連接的建立與具體的應(yīng)用程序相對應(yīng),應(yīng)用程序退出時,連接自動中斷,而應(yīng)用程序重新啟動時,則需要重新執(zhí)行建立連接操作,操作繁瑣,通信效率較低。

【發(fā)明內(nèi)容】

[0005]本發(fā)明實施例提供了一種藍(lán)牙設(shè)備通信方法和裝置,可以有效提高藍(lán)牙設(shè)備間通信的效率,簡化操作、易于實現(xiàn)。
[0006]技術(shù)方案如下:
[0007]根據(jù)本發(fā)明實施例的第一方面,公開了一種藍(lán)牙設(shè)備通信方法,所述方法包括:
[0008]接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息;
[0009]根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道;
[0010]當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信;
[0011]當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道,并保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
[0012]進(jìn)一步的,所述與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道包括:
[0013]判斷是否已與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作;
[0014]當(dāng)判斷已與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作時,向所述第一藍(lán)牙從設(shè)備發(fā)送通信連接請求以與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道。
[0015]進(jìn)一步的,所述方法還包括:
[0016]當(dāng)判斷未與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作時,則根據(jù)所述第一藍(lán)牙從設(shè)備的設(shè)備信息判斷是否保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息;所述通信數(shù)據(jù)信息至少包括配對密鑰信息;
[0017]當(dāng)判斷保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,利用所述通信數(shù)據(jù)信息中包含的所述配對密鑰信息向所述第一藍(lán)牙從設(shè)備發(fā)送配對請求消息;
[0018]當(dāng)接收到所述第一藍(lán)牙從設(shè)備發(fā)送的配對響應(yīng)消息時,向所述第一藍(lán)牙從設(shè)備發(fā)送通信連接請求以與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道。
[0019]進(jìn)一步的,所述方法還包括:
[0020]當(dāng)判斷未保存與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,顯示第一提示信息;其中,所述第一提示信息用于提示用戶輸入與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信肩、O
[0021]進(jìn)一步的,所述方法還包括:
[0022]保存所述數(shù)據(jù)連接通道的引用計數(shù),所述引用計數(shù)用于表明所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用的數(shù)量;
[0023]當(dāng)有新的應(yīng)用使用所述數(shù)據(jù)連接通道時,所述數(shù)據(jù)連接通道的引用計數(shù)加I ;
[0024]當(dāng)有與所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用退出時,所述數(shù)據(jù)連接通道的引用計數(shù)減I ;
[0025]當(dāng)所述數(shù)據(jù)連接通道的引用計數(shù)為O且所述數(shù)據(jù)連接通道的引用計數(shù)為O的狀態(tài)超過預(yù)設(shè)的空閑持續(xù)時間時,中斷所述數(shù)據(jù)連接通道,釋放與所述數(shù)據(jù)連接通道對應(yīng)的系統(tǒng)資源,解除與所述藍(lán)牙從設(shè)備的通信連接。
[0026]進(jìn)一步的,所述方法還包括:
[0027]當(dāng)藍(lán)牙從設(shè)備處于不可連接狀態(tài)時,中斷與所述藍(lán)牙從設(shè)備建立的數(shù)據(jù)連接通道;
[0028]顯示第二提示信息,所述第二提示信息用于提示用戶數(shù)據(jù)連接通道的狀態(tài)。
[0029]進(jìn)一步的,所述方法還包括:
[0030]當(dāng)中斷與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,保存所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息;
[0031]當(dāng)再次建立與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,根據(jù)上一次保存的所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息設(shè)置空閑持續(xù)時間。
[0032]進(jìn)一步的,所述利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信包括:
[0033]接收所述第一藍(lán)牙從設(shè)備通過所述數(shù)據(jù)連接通道發(fā)送的應(yīng)用數(shù)據(jù);[0034]對所述應(yīng)用數(shù)據(jù)進(jìn)行解析,并將解析后的應(yīng)用數(shù)據(jù)發(fā)送至藍(lán)牙主設(shè)備中對應(yīng)的應(yīng)用。
[0035]進(jìn)一步的,所述對所述應(yīng)用數(shù)據(jù)進(jìn)行解析包括:
[0036]確定與所述應(yīng)用數(shù)據(jù)對應(yīng)的數(shù)據(jù)連接通道,根據(jù)保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系確定與所述數(shù)據(jù)連接通道對應(yīng)的藍(lán)牙從設(shè)備;
[0037]獲取與所述藍(lán)牙從設(shè)備對應(yīng)的預(yù)置的通信數(shù)據(jù)信息;所述預(yù)置的通信數(shù)據(jù)信息包括數(shù)據(jù)格式信息;
[0038]利用所述數(shù)據(jù)格式信息對所述應(yīng)用數(shù)據(jù)進(jìn)行解析將其轉(zhuǎn)換成預(yù)設(shè)的數(shù)據(jù)類型。
[0039]進(jìn)一步的,在接收所述第一藍(lán)牙從設(shè)備通過所述數(shù)據(jù)連接通道發(fā)送的應(yīng)用數(shù)據(jù)之后、在對所述應(yīng)用數(shù)據(jù)進(jìn)行解析之前,所述方法還包括:
[0040]利用預(yù)先保存的通信數(shù)據(jù)信息對所述應(yīng)用數(shù)據(jù)進(jìn)行長度校驗和/或校驗和校驗;其中,所述通信數(shù)據(jù)信息包括校驗信息;
[0041]當(dāng)校驗錯誤時,向所述第一藍(lán)牙從設(shè)備發(fā)送數(shù)據(jù)重發(fā)請求;
[0042]當(dāng)校驗正確時,進(jìn)入對所述應(yīng)用數(shù)據(jù)進(jìn)行解析的步驟。
[0043]進(jìn)一步的,所述利用預(yù)先保存通信數(shù)據(jù)信息對所述應(yīng)用數(shù)據(jù)進(jìn)行校驗和校驗,具體包括:
[0044]利用校驗信息計算校驗和,將計算的校驗和與預(yù)先保存的校驗和值進(jìn)行比較,如果相同,則確定校驗正確;或者
[0045]從接收的應(yīng)用數(shù)據(jù)中提取所述藍(lán)牙從設(shè)備根據(jù)數(shù)據(jù)內(nèi)容生成的校驗和;
[0046]利用校驗信息計算校驗和,將計算的校驗和與提取的校驗和進(jìn)行比較,如果相同,則確定校驗正確。
[0047]進(jìn)一步的,在接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息之后,所述方法還包括:
[0048]判斷是否存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息;其中,所述訂閱信息包括應(yīng)用信息以及藍(lán)牙從設(shè)備的設(shè)備信息;
[0049]如果不存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息,則保存與所述數(shù)據(jù)請求對應(yīng)的訂閱信息。
[0050]進(jìn)一步的,所述將解析后的應(yīng)用數(shù)據(jù)發(fā)送至藍(lán)牙主設(shè)備中對應(yīng)的應(yīng)用包括:
[0051]利用預(yù)先保存的訂閱信息,確定與所述第一藍(lán)牙從設(shè)備對應(yīng)的應(yīng)用信息;
[0052]利用所述應(yīng)用信息確定目標(biāo)應(yīng)用,并向確定的目標(biāo)應(yīng)用發(fā)送解析后的應(yīng)用數(shù)據(jù)。
[0053]進(jìn)一步的,所述方法還包括:
[0054]接收藍(lán)牙主設(shè)備中的第二應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息;
[0055]根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道;
[0056]當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第二應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信;
[0057]當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道,并保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
[0058]根據(jù)本發(fā)明實施例的第二方面,公開了 一種藍(lán)牙設(shè)備通信裝置,所述裝置包括:
[0059]接收模塊,用于接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息;
[0060]第一判斷模塊,用于根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道;
[0061]數(shù)據(jù)通信模塊,用于當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信;
[0062]通信連接建立模塊,用于當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道;
[0063]通信連接管理模塊,用于保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系
[0064]本發(fā)明實施例能夠達(dá)到的有益效果為:本發(fā)明提供的方法,在接收到藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息之后,根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道;當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信;當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道,并保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
[0065]由于本發(fā)明中建立數(shù)據(jù)連接通道后即保存數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系,當(dāng)請求的數(shù)據(jù)對象對應(yīng)的藍(lán)牙從設(shè)備存在對應(yīng)的數(shù)據(jù)連接通道時,則直接利用所述數(shù)據(jù)連接通道傳輸應(yīng)用數(shù)據(jù),而無需重新建立數(shù)據(jù)連接通道,有效提高了通信效率。
[0066]此外,由于數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備具有一一對應(yīng)關(guān)系,當(dāng)多個應(yīng)用對應(yīng)的目標(biāo)設(shè)備為同一藍(lán)牙從設(shè)備時,所述數(shù)據(jù)連接通道可以被多個應(yīng)用同時使用,有效提高了數(shù)據(jù)連接通道的利用率,節(jié)省了通信資源,提高了通信效率。
【專利附圖】

【附圖說明】
[0067]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0068]圖1為本發(fā)明提供的藍(lán)牙設(shè)備通信方法第一實施例示意圖;
[0069]圖2為本發(fā)明提供的藍(lán)牙設(shè)備通信方法第二實施例示意圖;
[0070]圖3為本發(fā)明提供的藍(lán)牙設(shè)備通信方法第三實施例示意圖;
[0071]圖4為本發(fā)明實施例提供的藍(lán)牙連接管理示意圖;[0072]圖5為本發(fā)明實施例提供的數(shù)據(jù)解析過程示意圖;
[0073]圖6為本發(fā)明實施例提供的數(shù)據(jù)分發(fā)過程示意圖;
[0074]圖7為本發(fā)明提供的藍(lán)牙設(shè)備通信裝置示意圖;
[0075]圖8為本發(fā)明應(yīng)用場景示意圖。
【具體實施方式】
[0076]本發(fā)明實施例提供了一種藍(lán)牙設(shè)備通信方法和裝置,可以有效提高藍(lán)牙設(shè)備間通信的效率,簡化操作、易于實現(xiàn)。
[0077]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
[0078]參見圖1,為本發(fā)明提供的藍(lán)牙設(shè)備通信方法第一實施例示意圖。
[0079]本發(fā)明實施例提供的方法可以應(yīng)用于藍(lán)牙設(shè)備通信裝置,所述藍(lán)牙設(shè)備通信裝置可以應(yīng)用于具有藍(lán)牙功能的藍(lán)牙設(shè)備中。在本發(fā)明實施例中,將藍(lán)牙設(shè)備分為藍(lán)牙主設(shè)備和藍(lán)牙從設(shè)備,其中,藍(lán)牙主設(shè)備為發(fā)起數(shù)據(jù)請求以及連接的設(shè)備,藍(lán)牙從設(shè)備為接收數(shù)據(jù)請求的設(shè)備。藍(lán)牙主設(shè)備可以具有多個應(yīng)用。
[0080]S101,接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息。
[0081]當(dāng)藍(lán)牙從設(shè)備中的應(yīng)用需要請求連接藍(lán)牙從設(shè)備以進(jìn)行數(shù)據(jù)傳輸時,則發(fā)送數(shù)據(jù)請求信息。由藍(lán)牙設(shè)備通信裝置接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息。其中,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息。具體實現(xiàn)時,數(shù)據(jù)請求信息可以包括藍(lán)牙主設(shè)備的應(yīng)用信息和藍(lán)牙從設(shè)備的信息。其中,藍(lán)牙主設(shè)備的應(yīng)用信息包括應(yīng)用名稱等。藍(lán)牙從設(shè)備的信息可以包括設(shè)備名稱、設(shè)備型號、設(shè)備提供商信息、設(shè)備標(biāo)識、設(shè)備地址中的一種或多種。
[0082]S102,根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道。
[0083]在本發(fā)明實施例具體實現(xiàn)時,預(yù)先保存了已經(jīng)建立的數(shù)據(jù)連接通道的信息。具體地,保存了已經(jīng)建立的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系。其中,數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備具有一一對應(yīng)的關(guān)系。不同于現(xiàn)有技術(shù)中應(yīng)用軟件或應(yīng)用程序與數(shù)據(jù)連接通道具有的一一對應(yīng)關(guān)系,本發(fā)明實施例中,應(yīng)用軟件與數(shù)據(jù)連接通道可以是一對多或者多對一的關(guān)系。也就是說,當(dāng)多個應(yīng)用請求數(shù)據(jù)的對象是同一藍(lán)牙從設(shè)備時,可以是多個應(yīng)用軟件使用同一數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備進(jìn)行數(shù)據(jù)通信,即多個應(yīng)用可以復(fù)用同一數(shù)據(jù)連接通道,而無需每個應(yīng)用均建立一個數(shù)據(jù)傳輸通道,有效提高了通信效率。當(dāng)然,本領(lǐng)域技術(shù)人員可以理解的是,本發(fā)明中,當(dāng)一個應(yīng)用請求數(shù)據(jù)的對象是多個不同的藍(lán)牙從設(shè)備時,也可以為一個應(yīng)用建立不同的數(shù)據(jù)連接通道以用于與不同的藍(lán)牙從設(shè)備進(jìn)行數(shù)據(jù)傳輸。而這些建立的數(shù)據(jù)連接通道還可以被其他應(yīng)用復(fù)用。由此,本發(fā)明的方法由于保存了已經(jīng)建立的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系,不同于現(xiàn)有技術(shù)只能支持單通道數(shù)據(jù)傳輸?shù)姆绞?,本發(fā)明可以實現(xiàn)藍(lán)牙設(shè)備多通道數(shù)據(jù)傳輸與通信,有效提高了數(shù)據(jù)通信效率。
[0084]在接收到藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息后,即獲取所述數(shù)據(jù)請求消息包含的藍(lán)牙從設(shè)備信息,獲取保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系,判斷是否存在與所述藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道。
[0085]S103,當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信。
[0086]具體實現(xiàn)時,利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信具體通過以下步驟實現(xiàn):
[0087]S103A,接收所述第一藍(lán)牙從設(shè)備通過所述數(shù)據(jù)連接通道發(fā)送的應(yīng)用數(shù)據(jù)。
[0088]S103B,對所述應(yīng)用數(shù)據(jù)進(jìn)行解析。
[0089]在現(xiàn)有技術(shù)中,由藍(lán)牙從設(shè)備傳輸?shù)膽?yīng)用數(shù)據(jù)由藍(lán)牙主設(shè)備中的應(yīng)用程序進(jìn)行解析。這樣,應(yīng)用程序的代碼需要依賴藍(lán)牙從設(shè)備傳輸?shù)膽?yīng)用數(shù)據(jù)的協(xié)議格式,不利于代碼的復(fù)用。如果藍(lán)牙從設(shè)備的型號或者應(yīng)用數(shù)據(jù)格式發(fā)生變化時,藍(lán)牙主設(shè)備的應(yīng)用程序需要重新編寫解析程序與代碼來適應(yīng)上述變化,增加了代碼的維護(hù)成本,通用性不強(qiáng)。
[0090]在本發(fā)明實施例中,由藍(lán)牙設(shè)備通信裝置進(jìn)行數(shù)據(jù)解析,然后將解析后的數(shù)據(jù)發(fā)送給藍(lán)牙主設(shè)備中的對應(yīng)應(yīng)用。在一種可能的實現(xiàn)方式中,藍(lán)牙設(shè)備通信裝置設(shè)置流數(shù)據(jù)解析模塊,利用流數(shù)據(jù)解析模塊進(jìn)行數(shù)據(jù)解析。這樣,藍(lán)牙主設(shè)備的應(yīng)用程序無需關(guān)心數(shù)據(jù)解析過程,降低了應(yīng)用程序代碼的復(fù)雜度。具體實現(xiàn)時,藍(lán)牙設(shè)備通信裝置預(yù)先保存了通信數(shù)據(jù)信息。其中,通信數(shù)據(jù)信息是與藍(lán)牙從設(shè)備信息對應(yīng)的。通信數(shù)據(jù)信息包含數(shù)據(jù)格式信息用于進(jìn)行應(yīng)用數(shù)據(jù)解析。具體實現(xiàn)時,藍(lán)牙設(shè)備之間傳輸?shù)臄?shù)據(jù)為二進(jìn)制數(shù)據(jù)流,數(shù)據(jù)格式信息用于定義二進(jìn)制數(shù)據(jù)流的格式,可以包括數(shù)據(jù)名稱、數(shù)據(jù)類型、起始字節(jié)位、數(shù)據(jù)字節(jié)長度、數(shù)據(jù)重復(fù)次數(shù)等信息。
[0091]當(dāng)藍(lán)牙設(shè)備通信裝置接收到藍(lán)牙從設(shè)備傳輸?shù)膽?yīng)用數(shù)據(jù)后,則確定與所述藍(lán)牙從設(shè)備傳輸?shù)臄?shù)據(jù)對應(yīng)的數(shù)據(jù)連接通道,根據(jù)保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系確定與所述數(shù)據(jù)連接通道對應(yīng)的藍(lán)牙從設(shè)備,即確定數(shù)據(jù)的來源。然后,再獲取與所述藍(lán)牙從設(shè)備對應(yīng)的預(yù)置的通信數(shù)據(jù)信息,利用通信數(shù)據(jù)信息中包含的數(shù)據(jù)格式信息對應(yīng)用數(shù)據(jù)進(jìn)行解析將其轉(zhuǎn)換成預(yù)設(shè)的數(shù)據(jù)類型。具體地,藍(lán)牙設(shè)備通信裝置根據(jù)通信數(shù)據(jù)信息中定義的數(shù)據(jù)格式,分解二進(jìn)制流數(shù)據(jù),然后把分解結(jié)果轉(zhuǎn)換成數(shù)據(jù)格式中定義的用戶(即應(yīng)用)可識別的數(shù)據(jù)類型。當(dāng)有多個二進(jìn)制流同時請求解析時,本發(fā)明中的流數(shù)據(jù)解析模塊會為每個請求啟動一個工作線程完成應(yīng)用數(shù)據(jù)解析操作。
[0092]S103C,將解析后的應(yīng)用數(shù)據(jù)發(fā)送至藍(lán)牙主設(shè)備中對應(yīng)的應(yīng)用。
[0093]在本發(fā)明實施例中,預(yù)先保存了訂閱信息。其中,訂閱信息與數(shù)據(jù)請求相對應(yīng),其包含了應(yīng)用信息以及藍(lán)牙從設(shè)備的設(shè)備信息。應(yīng)用信息至少包含應(yīng)用的名稱。當(dāng)首次接受到藍(lán)牙主設(shè)備的應(yīng)用發(fā)送的數(shù)據(jù)請求時,即保存訂閱信息。
[0094]當(dāng)藍(lán)牙設(shè)備通信裝置完成應(yīng)用數(shù)據(jù)解析后,根據(jù)預(yù)先保存的訂閱信息,查找與所述應(yīng)用數(shù)據(jù)對應(yīng)的藍(lán)牙從設(shè)備的訂閱信息,以確定所述信息被哪些應(yīng)用訂閱,即確定與所述藍(lán)牙從設(shè)備對應(yīng)的應(yīng)用信息,然后利用應(yīng)用信息確定目標(biāo)應(yīng)用,將解析后的應(yīng)用數(shù)據(jù)發(fā)送給目標(biāo)應(yīng)用。這樣,即實現(xiàn)了應(yīng)用數(shù)據(jù)的分發(fā),并可以實現(xiàn)多個通道的定向發(fā)布。[0095]S104,當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道,并保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
[0096]具體實現(xiàn)時,步驟S104具體可以包括:
[0097]S104A,當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,判斷是否已與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作,如果是,進(jìn)入步驟S104G ;如果否,進(jìn)入步驟S104B。
[0098]S104B,當(dāng)判斷未與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作時,則根據(jù)所述第一藍(lán)牙從設(shè)備的設(shè)備信息判斷是否保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息。其中,通信數(shù)據(jù)信息至少包括配對密鑰信息。如果是,進(jìn)入步驟S104E ;如果否,進(jìn)入步驟S104C。
[0099]S104C,當(dāng)判斷未保存與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,顯示第一提示信息;其中,所述第一提示信息用于提示用戶輸入與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息。
[0100]S104D,接收輸入的通信數(shù)據(jù)信息,進(jìn)入步驟S 104E。
[0101]S104E,利用所述通信數(shù)據(jù)信息中包含的所述配對密鑰信息向所述第一藍(lán)牙從設(shè)備發(fā)送配對請求消息。
[0102]S104F,接收所述第一藍(lán)牙從設(shè)備發(fā)送的配對響應(yīng)消息。
[0103]S104G,向所述第一藍(lán)牙從設(shè)備發(fā)送通信連接請求以與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道。
[0104]S104H,保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
[0105]由此,即建立了藍(lán)牙從設(shè)備與藍(lán)牙主設(shè)備之間的應(yīng)用的數(shù)據(jù)連接通道。
[0106]進(jìn)一步的,在本發(fā)明實施例的方法中,還進(jìn)一步包括:保存已經(jīng)建立的數(shù)據(jù)連接通道的引用計數(shù),所述引用計數(shù)用于表明所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用的數(shù)量;當(dāng)有新的應(yīng)用使用所述數(shù)據(jù)連接通道時,所述數(shù)據(jù)連接通道的引用計數(shù)加I ;當(dāng)有與所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用退出時,所述數(shù)據(jù)連接通道的引用計數(shù)減I ;當(dāng)所述數(shù)據(jù)連接通道的引用計數(shù)為O且所述數(shù)據(jù)連接通道的引用計數(shù)為O的狀態(tài)超過預(yù)設(shè)的空閑持續(xù)時間時,中斷所述數(shù)據(jù)連接通道,釋放與所述數(shù)據(jù)連接通道對應(yīng)的系統(tǒng)資源,解除與所述藍(lán)牙從設(shè)備的通信連接。
[0107]在本發(fā)明實施例中,所述方法進(jìn)一步包括:當(dāng)藍(lán)牙從設(shè)備處于不可連接狀態(tài)時,中斷與所述藍(lán)牙從設(shè)備建立的數(shù)據(jù)連接通道;顯示第二提示信息,所述第二提示信息用于提示用戶數(shù)據(jù)連接通道的狀態(tài)。其中,藍(lán)牙從設(shè)備處于不可連接狀態(tài)包括:藍(lán)牙從設(shè)備的藍(lán)牙信號關(guān)閉、藍(lán)牙從設(shè)備超出連接范圍、藍(lán)牙從設(shè)備處于非工作狀態(tài)等。
[0108]在本發(fā)明實施例中,所述方法進(jìn)一步包括:當(dāng)中斷與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,保存所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息;當(dāng)再次建立與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,根據(jù)上一次保存的所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息設(shè)置空閑持續(xù)時間。這樣,可以根據(jù)歷史應(yīng)用對連接的使用情況,動態(tài)調(diào)整空閑持續(xù)時間,以提供更合適的資源配置,為用戶提供更好的體驗。
[0109]在本發(fā)明第一實施例中,由于本發(fā)明中建立數(shù)據(jù)連接通道后即保存數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系,當(dāng)請求的數(shù)據(jù)對象對應(yīng)的藍(lán)牙從設(shè)備存在對應(yīng)的數(shù)據(jù)連接通道時,則直接利用所述數(shù)據(jù)連接通道傳輸應(yīng)用數(shù)據(jù),而無需重新建立數(shù)據(jù)連接通道,有效提高了通信效率。此外,由于數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備具有一一對應(yīng)關(guān)系,當(dāng)多個應(yīng)用對應(yīng)的目標(biāo)設(shè)備為同一藍(lán)牙從設(shè)備時,所述數(shù)據(jù)連接通道可以被多個應(yīng)用同時使用,有效提高了數(shù)據(jù)連接通道的利用率,節(jié)省了通信資源,提高了通信效率。
[0110]參見圖2,為本發(fā)明提供的藍(lán)牙設(shè)備通信方法第二實施例示意圖。
[0111]圖2所示實施例為基于圖1所示實施例中的又一種實現(xiàn)。
[0112]在一種可能的實現(xiàn)方式中,本發(fā)明提供的方法進(jìn)一步包括:
[0113]S201,接收藍(lán)牙主設(shè)備中的第二應(yīng)用發(fā)送的第二數(shù)據(jù)請求信息,所述第二數(shù)據(jù)請求信息至少包括與所述第二數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息。
[0114]S202,根據(jù)所述第二數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道。
[0115]S203,當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第二應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信。
[0116]S204,當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道,并保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
[0117]步驟S201至S204的具體實現(xiàn)可以參照步驟SlOl至S104的實現(xiàn)進(jìn)行,在此不再贅述。需要說明的是,在本發(fā)明一種實現(xiàn)方式中,步驟SlOl至S104的實現(xiàn)過程與步驟S201至S204的實現(xiàn)過程可以并行地進(jìn)行,也可以先后地執(zhí)行。即可以先執(zhí)行步驟SlOl至S104,然后執(zhí)行步驟S201至S204。具體的實現(xiàn)可以是非常靈活的。
[0118]在本發(fā)明第二實施例中,當(dāng)多個應(yīng)用的數(shù)據(jù)請求對象為同一藍(lán)牙設(shè)備時,可以是多個應(yīng)用軟件使用同一數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備進(jìn)行數(shù)據(jù)通信,即多個應(yīng)用可以復(fù)用同一數(shù)據(jù)連接通道,而無需每個應(yīng)用均建立一個數(shù)據(jù)傳輸通道,有效提高了通信效率。此外,當(dāng)一個應(yīng)用請求數(shù)據(jù)的對象是多個不同的藍(lán)牙從設(shè)備時,也可以為一個應(yīng)用建立不同的數(shù)據(jù)連接通道以用于與不同的藍(lán)牙從設(shè)備進(jìn)行數(shù)據(jù)傳輸。而這些建立的數(shù)據(jù)連接通道還可以被其他應(yīng)用復(fù)用。再者,當(dāng)不同的應(yīng)用對應(yīng)不同的藍(lán)牙從設(shè)備時,還可以為不同的應(yīng)用建立不同的數(shù)據(jù)連接通道以進(jìn)行數(shù)據(jù)傳輸,從而實現(xiàn)了藍(lán)牙設(shè)備之間的多通道數(shù)據(jù)通信與傳輸,實現(xiàn)了不同應(yīng)用程序的數(shù)據(jù)的請求與分發(fā)。
[0119]圖3為本發(fā)明提供的藍(lán)牙設(shè)備通信方法第三實施例示意圖。
[0120]下面圖3,對本發(fā)明的具體實現(xiàn)進(jìn)行詳細(xì)地介紹。在這一實施例中,藍(lán)牙主設(shè)備為發(fā)起數(shù)據(jù)請求、連接的設(shè)備,藍(lán)牙從設(shè)備為接收數(shù)據(jù)請求的設(shè)備。藍(lán)牙主設(shè)備可以具有多個應(yīng)用。藍(lán)牙通信裝置與藍(lán)牙主設(shè)備連接,藍(lán)牙通信裝置可以設(shè)置在藍(lán)牙主設(shè)備中。當(dāng)然,藍(lán)牙通信裝置也可以作為獨立的裝置與模塊。
[0121]S301,藍(lán)牙主設(shè)備的第一應(yīng)用向藍(lán)牙設(shè)備通信裝置輸入通信數(shù)據(jù)信息。
[0122]藍(lán)牙主設(shè)備的應(yīng)用需要在首次發(fā)送數(shù)據(jù)請求前,向藍(lán)牙設(shè)備通信裝置輸入通信數(shù)據(jù)信息。當(dāng)然,藍(lán)牙從設(shè)備的應(yīng)用也可以在首次發(fā)送數(shù)據(jù)請求時,在數(shù)據(jù)請求中攜帶通信數(shù)據(jù)信息,由藍(lán)牙設(shè)備通信裝置獲取并保存所述通信數(shù)據(jù)信息。。
[0123]藍(lán)牙主設(shè)備中的第一應(yīng)用可以向藍(lán)牙通信裝置輸入通信數(shù)據(jù)信息,通信數(shù)據(jù)信息可以包括藍(lán)牙從設(shè)備的信息以及數(shù)據(jù)格式信息。通信數(shù)據(jù)信息可以保存在XML格式的文件中。其中,藍(lán)牙從設(shè)備的信息可以包括設(shè)備名稱、設(shè)備型號、設(shè)備提供商信息、設(shè)備標(biāo)識、設(shè)備地址、配對密鑰信息中的一種或多種。數(shù)據(jù)格式信息與藍(lán)牙從設(shè)備信息對應(yīng)的,用于進(jìn)行數(shù)據(jù)解析。具體實現(xiàn)時,藍(lán)牙設(shè)備之間傳輸?shù)膽?yīng)用數(shù)據(jù)為二進(jìn)制數(shù)據(jù)流,數(shù)據(jù)格式信息用于定義二進(jìn)制數(shù)據(jù)流的格式,可以包括數(shù)據(jù)名稱、數(shù)據(jù)類型、起始字節(jié)位、數(shù)據(jù)字節(jié)長度、數(shù)據(jù)重復(fù)次數(shù)等信息。
[0124]在本發(fā)明實施例中,提供了原語定義與通信數(shù)據(jù)的格式。其中,原語是一組XML節(jié)點元素和屬性,主要用來定義藍(lán)牙數(shù)據(jù)連接通道中二進(jìn)制流數(shù)據(jù)的格式和配對密鑰等。下面以一個具體的實例進(jìn)行說明。
[0125]在本發(fā)明實施例的一種實現(xiàn)方式中,主要的節(jié)點元素和屬性如下:
[0126](I)設(shè)備信息
[0127]使用〈device name=”” model=”” vendor=””/>來定義藍(lán)牙設(shè)備的基本信息,一個定義文件中只能包含一個該元素。name用于指定藍(lán)牙設(shè)備的名稱;model用于指定藍(lán)牙設(shè)備的型號;vendor用于指定藍(lán)牙設(shè)備的提供商。name、model和vendor三個屬性唯一標(biāo)識一種設(shè)備,在定義格式文件時,需要給這三個屬性設(shè)定屬性值。
[0128](2)配對密鑰
[0129]其中,使用〈pin device=””password=””/〉定義從屬藍(lán)牙設(shè)備的配對密鑰,一個定義文件中包含一個該元素,device用于指定藍(lán)牙從設(shè)備名稱,password用于指定配對秘鑰。
[0130](3)數(shù)據(jù)格式信息
[0131]使用〈datacode=””name=””position=”” length=””type=””repeat=””/〉定義藍(lán)牙數(shù)據(jù)連接通道中二進(jìn)制流數(shù)據(jù)的格式,一個定義文件中可以包含一個或多個該元素。code用于指定本地數(shù)據(jù)字典中該項數(shù)據(jù)的數(shù)據(jù)編碼;name用于指定數(shù)據(jù)名稱position用于指定該項數(shù)據(jù)在二進(jìn)制流中的起始位置;length用于指定一個數(shù)據(jù)值所占字節(jié)數(shù);type用于指定數(shù)據(jù)值的類型repeat用于指定該項數(shù)據(jù)從起始位置開始的重復(fù)次數(shù)。
[0132](4)校驗數(shù)據(jù)信息
[0133]使用〈checktype=”” length=”” checksum=””/> 指定二進(jìn)制流數(shù)據(jù)的校驗方法,一個定義文件中可以包含O或I個該元素。type用于指定校驗方法其中,如果校驗類型為LENGTH表明進(jìn)行長度校驗;如果校驗類型為SUM表明進(jìn)行和校驗;如果校驗類型為LENGTH I SUM,則同時進(jìn)行長度校驗以及和校驗。length用于指定正確的數(shù)據(jù)流長度;checksum用于指定數(shù)據(jù)流的校驗和值。
[0134]在進(jìn)行通信數(shù)據(jù)信息(Data Profile)的輸入時,藍(lán)牙主設(shè)備的應(yīng)用程序可以使用上述原語來定義二進(jìn)制數(shù)據(jù)流的格式,并把它們保存到一個XML格式的文件中,然后把該文件注冊到本發(fā)明所實現(xiàn)的中間件藍(lán)牙設(shè)備通信裝置(BT-MCAM)中,藍(lán)牙設(shè)備通信裝置BT-MCAM的通信數(shù)據(jù)信息管理模塊DPM (Data Profile Manager)模塊會提供相應(yīng)的接口API和工具,來支持通信數(shù)據(jù)信息Data profile的編程注入和工具注入,并持久保存在藍(lán)牙設(shè)備通信裝置BT-MCAM中。為了避免輸入相同的通信數(shù)據(jù)信息(Data Profile),在通信數(shù)據(jù)信息Data Profile被注入到藍(lán)牙設(shè)備通信裝置BT-MCAM中之前,通信數(shù)據(jù)信息管理模塊DPM (Data Profile Manager)會首先把待輸入的通信數(shù)據(jù)信息Data Profile對應(yīng)的XML文件轉(zhuǎn)換成數(shù)據(jù)對象Data Profile 0bject (DP0),然后會把該DPO與藍(lán)牙設(shè)備通信裝置中已存在的DPO進(jìn)行比較,如果有相同的存在,則提示用戶系統(tǒng)已經(jīng)支持該設(shè)備,不需要重復(fù)注入Data Profile。如果沒有相同的DPO對象存在,那么通信數(shù)據(jù)信息管理模塊DPM會把該DPO對象持久化保存到藍(lán)牙設(shè)備通信裝置BT-MCAM中。
[0135]S302,藍(lán)牙主設(shè)備的第一應(yīng)用發(fā)送數(shù)據(jù)請求信息。
[0136]其中,藍(lán)牙主設(shè)備的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息又可以稱為數(shù)據(jù)訂閱請求。在本發(fā)明具體實施例中,為應(yīng)用提供了監(jiān)聽器接口 IPostboxListener,應(yīng)用可以通過指定監(jiān)聽器接口獲取經(jīng)過藍(lán)牙設(shè)備通信裝置解析處理、由藍(lán)牙從設(shè)備發(fā)送的應(yīng)用數(shù)據(jù),還可以獲取藍(lán)牙數(shù)據(jù)連接通道的連接狀態(tài)。當(dāng)藍(lán)牙主設(shè)備的應(yīng)用需要發(fā)送數(shù)據(jù)訂閱請求是,則可以調(diào)用本發(fā)明藍(lán)牙設(shè)備通信裝置提供的數(shù)據(jù)訂閱模塊(Register Subscription),在數(shù)據(jù)訂閱請求中訂閱者信息(即藍(lán)牙主設(shè)備的應(yīng)用的名稱)、訂閱對象(藍(lán)牙從設(shè)備的信息,例如可以包括設(shè)備名稱、設(shè)備型號、設(shè)備提供商信息、設(shè)備標(biāo)識、設(shè)備地址等)、指定的訂閱監(jiān)聽器信息、訂閱模式信息(包括臨時訂閱和持久訂閱)。
[0137]S303,藍(lán)牙設(shè)備通信裝置接收數(shù)據(jù)請求信息,判斷是否存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息。如果存在,進(jìn)入步驟305;如果不存在,進(jìn)入步驟S304。
[0138]S304,藍(lán)牙設(shè)備通信裝置保存與所述數(shù)據(jù)請求對應(yīng)的訂閱信息。
[0139]在具體實現(xiàn)時,如果不存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息,則藍(lán)牙設(shè)備通信裝置需要保存與所述數(shù)據(jù)請求對應(yīng)的訂閱信息,按照訂閱模式,把訂閱者信息、訂閱監(jiān)聽器信息保存至對應(yīng)的訂閱列表中。對應(yīng)臨時訂閱模式和持久訂閱模式,訂閱列表可以分為臨時訂閱列表和持久訂閱列表。
[0140]在一種可能的實現(xiàn)方式中,在判斷不存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息時,所述方法還可以包括:判斷是否存在與訂閱對象(即藍(lán)牙從設(shè)備)對應(yīng)的通信數(shù)據(jù)信息DataProfile,如果存在,則保存與所述數(shù)據(jù)請求對應(yīng)的訂閱信息。如果不存在,則顯示提示信息,用于提示用戶輸入與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息。
[0141]S305,藍(lán)牙設(shè)備通信裝置判斷是否存在與數(shù)據(jù)請求對應(yīng)的藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道。如果存在,進(jìn)入步驟S312 ;如果不存在,進(jìn)入步驟S306。
[0142]在現(xiàn)有技術(shù)中,藍(lán)牙通信的數(shù)據(jù)連接通道會隨著應(yīng)用的退出而關(guān)閉,當(dāng)應(yīng)用程序重新啟動時,則需要重新建立連接,不利用應(yīng)用程序的執(zhí)行效率,而且降低了系統(tǒng)資源的復(fù)用程度。而在本發(fā)明提供的方法中,在接收到應(yīng)用程序的數(shù)據(jù)請求后,會根據(jù)藍(lán)牙設(shè)備通信裝置的連接池中保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系判斷是否存在與所述請求對應(yīng)的連接通道存在,如果存在,則利用所述連接通道傳輸數(shù)據(jù),并增加該連接通道的引用計數(shù)。此外,還可以調(diào)用訂閱監(jiān)聽器接口中的onstatuschangeO方法,提示用戶藍(lán)牙連接已存在。如果不存在,進(jìn)入步驟S306。
[0143]S306,藍(lán)牙設(shè)備通信裝置判斷是否已與藍(lán)牙設(shè)備進(jìn)行配對操作,如果是,進(jìn)入步驟
S309;如果否,進(jìn)入步驟S307。
[0144]S307,藍(lán)牙設(shè)備通信裝置向藍(lán)牙從設(shè)備發(fā)送配對請求消息。
[0145]當(dāng)判斷未與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作時,則根據(jù)所述第一藍(lán)牙從設(shè)備的設(shè)備信息判斷是否保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息;所述通信數(shù)據(jù)信息至少包括配對密鑰信息。
[0146]當(dāng)判斷保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,利用所述通信數(shù)據(jù)信息中包含的所述配對密鑰信息向所述第一藍(lán)牙從設(shè)備發(fā)送配對請求消息。
[0147]當(dāng)判斷未保存與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,顯示第一提示信息;其中,所述第一提示信息用于提示用戶輸入與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息。而后,當(dāng)接收到輸入的通信數(shù)據(jù)信息且判斷通信數(shù)據(jù)信息完整時,則向藍(lán)牙從設(shè)備發(fā)送配對密鑰的配對請求信息。
[0148]S308,藍(lán)牙從設(shè)備向藍(lán)牙設(shè)備通信裝置發(fā)送配對響應(yīng)消息。具體地,藍(lán)牙從設(shè)備驗證配對密鑰,如果匹配,則向藍(lán)牙設(shè)備通信裝置發(fā)送配對響應(yīng)消息。
[0149]S309,藍(lán)牙設(shè)備通信裝置接收所述第一藍(lán)牙從設(shè)備發(fā)送的配對響應(yīng)消息,向所述第一藍(lán)牙從設(shè)備發(fā)送通信連接請求以與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道。
[0150]S310,藍(lán)牙從設(shè)備反饋通信連接響應(yīng)消息。
[0151]在本發(fā)明這一實施例中,不同于現(xiàn)有技術(shù)中在藍(lán)牙設(shè)備配對與連接過程中需要過多的人工干預(yù)和操作繁瑣的方法,根據(jù)預(yù)先保存的通信數(shù)據(jù)信息中的配對密鑰自動完成藍(lán)牙設(shè)備的發(fā)現(xiàn)、配對與連接,無需用戶人工干預(yù)、操作簡便。此外,當(dāng)藍(lán)牙設(shè)備通信裝置被卸載時,通過藍(lán)牙設(shè)備通信裝置自動配對的藍(lán)牙從設(shè)備會被自動取消配對,保存了藍(lán)牙應(yīng)用與配對設(shè)備的一致性。
[0152]S311,藍(lán)牙設(shè)備通信裝置保存與所述數(shù)據(jù)連接通道對應(yīng)的信息,至少包括所述數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系。
[0153]在本發(fā)明實施例中,藍(lán)牙設(shè)備通信裝置使用連接池保存與所述數(shù)據(jù)連接通道對應(yīng)的信息。其中,連接池中連接對象連接的是同一數(shù)據(jù)目標(biāo)(對應(yīng)同一藍(lán)牙從設(shè)備)。在藍(lán)牙連接池中,通過結(jié)構(gòu)化的處理,不同的連接對象連接的是不同的藍(lán)牙設(shè)備,并能夠準(zhǔn)確的標(biāo)識出設(shè)備的身份。請參見圖4所示,為藍(lán)牙連接池示意圖。圖中,key I代表藍(lán)牙從設(shè)備1,BT Devicel代表藍(lán)牙主設(shè)備I ;key2代表藍(lán)牙從設(shè)備2,BT Device2代表藍(lán)牙主設(shè)備2。通過藍(lán)牙連接的池化管理,可以有效的降低應(yīng)用程序連接藍(lán)牙設(shè)備的步驟,提高藍(lán)牙連接的持續(xù)性和穩(wěn)定性,同時解除了藍(lán)牙連接于具體應(yīng)用的耦合性,為該連接的應(yīng)用數(shù)據(jù)能夠同時服務(wù)于多個應(yīng)用程序奠定了基礎(chǔ)條件。
[0154]具體實現(xiàn)時,保存在藍(lán)牙設(shè)備通信裝置BT-MCAM中間件藍(lán)牙連接池(BTCP)中的藍(lán)牙連接通道信息,同時還會保存以下信息:
[0155](I)引用計數(shù)信息:即當(dāng)前使用該數(shù)據(jù)連接通道的應(yīng)用程序的數(shù)量。其中,當(dāng)有新的應(yīng)用使用所述數(shù)據(jù)連接通道時,所述數(shù)據(jù)連接通道的引用計數(shù)加I ;當(dāng)有與所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用退出時,所述數(shù)據(jù)連接通道的引用計數(shù)減I ;當(dāng)所述數(shù)據(jù)連接通道的引用計數(shù)為O且所述數(shù)據(jù)連接通道的引用計數(shù)為O的狀態(tài)超過預(yù)設(shè)的空閑持續(xù)時間時,中斷所述數(shù)據(jù)連接通道,釋放與所述數(shù)據(jù)連接通道對應(yīng)的系統(tǒng)資源,解除與所述藍(lán)牙從設(shè)備的通信連接。
[0156](2)連接持續(xù)時間:即該連接從建立到當(dāng)前持續(xù)保持的時間差。
[0157](3)引用計數(shù)合計:即在連接持續(xù)期間,共有多少次對該連接的引用,包括已經(jīng)退出的應(yīng)用程序。
[0158]需要說明的是,藍(lán)牙設(shè)備通信裝置BT-MCAM中間件不會主動創(chuàng)建藍(lán)牙連接,但會根據(jù)上述記錄的信息,自動延長空閑藍(lán)牙連接(引用計數(shù)為O)的保持時間。
[0159]在藍(lán)牙設(shè)備通信裝置BT-MCAM中間件中藍(lán)牙連接中斷分為兩種:[0160](I)主動中斷:所謂主動中斷,就是指中斷藍(lán)牙連接的指令是由藍(lán)牙設(shè)備通信裝置BT-MCAM中間件發(fā)出的。當(dāng)數(shù)據(jù)連接通道的引用計數(shù)為O且所述數(shù)據(jù)連接通道的引用計數(shù)為O的狀態(tài)超過預(yù)設(shè)的空閑持續(xù)時間時,中斷所述數(shù)據(jù)連接通道,釋放與所述數(shù)據(jù)連接通道對應(yīng)的系統(tǒng)資源,解除與所述藍(lán)牙從設(shè)備的通信連接。也就是說,這種中斷的情形只會在藍(lán)牙連接的引用計數(shù)為0,且連接保持超時時發(fā)生,并且不會向應(yīng)用層發(fā)出任何提示。
[0161](2)被動中斷:所謂被動中斷,當(dāng)藍(lán)牙從設(shè)備處于不可連接狀態(tài)時,中斷與所述藍(lán)牙從設(shè)備建立的數(shù)據(jù)連接通道。藍(lán)牙從設(shè)備處于不可連接狀態(tài)包括:藍(lán)牙從設(shè)備的藍(lán)牙信號關(guān)閉、藍(lán)牙從設(shè)備超出連接范圍、藍(lán)牙從設(shè)備處于非工作狀態(tài)等。這時,顯示第二提示信息,所述第二提示信息用于提示用戶數(shù)據(jù)連接通道的狀態(tài)。也就是說,這種中斷主要是由從屬藍(lán)牙設(shè)備的藍(lán)牙信號關(guān)閉、超出連接范圍等因素引起的連接中斷。這種中斷會向應(yīng)用層發(fā)出中斷提示,提醒用戶是否需要重建連接。
[0162]當(dāng)中斷與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,保存所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息;當(dāng)再次建立與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,根據(jù)上一次保存的所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息設(shè)置空閑持續(xù)時間。也就是說,藍(lán)牙連接中斷后,保存在連接池中的連接對象會被自動的釋放,同時記錄該連接保持期間相關(guān)的計數(shù)信息,藍(lán)牙設(shè)備通信裝置BT-MCAM中間件會根據(jù)這些信息在重建連接時,自動的設(shè)置空閑持續(xù)時間。
[0163]S312,增加數(shù)據(jù)連接通道的引用計數(shù)。
[0164]S313,藍(lán)牙從設(shè)備發(fā)送應(yīng)用數(shù)據(jù)。
[0165]S314,藍(lán)牙 設(shè)備通信裝置接收藍(lán)牙從設(shè)備發(fā)送的應(yīng)用數(shù)據(jù),藍(lán)牙設(shè)備通信裝置對應(yīng)用數(shù)據(jù)進(jìn)行校驗、緩存、解析操作。
[0166]流數(shù)據(jù)在無線傳輸過程中,經(jīng)常會由于設(shè)備和干擾原因,導(dǎo)致數(shù)據(jù)的失真。同時在無線通道中傳輸?shù)牧鲾?shù)據(jù),具有很強(qiáng)的實時性,且通信通道不具備臨時緩存數(shù)據(jù)的特性。本發(fā)明中的藍(lán)牙設(shè)備通信裝置BT-MCAM提供了數(shù)據(jù)校驗與緩存的方法。
[0167]藍(lán)牙設(shè)備通信裝置BT-MCAM會根據(jù)通信數(shù)據(jù)信息Data Profile中的校驗數(shù)據(jù)信息〈check〉元素的定義來執(zhí)行以下三種可能的數(shù)據(jù)校驗:
[0168](I)長度校驗:〈CheCk>元素中的type屬性值設(shè)定為LENGTH時,中間件中的DC模塊會執(zhí)行該類型校驗,它主要檢查流數(shù)據(jù)的長度與〈check〉元素中l(wèi)ength屬性所指定的長度值是否匹配。
[0169](2)校驗和校驗:〈check>元素中的type屬性值設(shè)定為SUM時,中間件中的DC模塊會執(zhí)行該類型校驗,它分為靜態(tài)校驗和動態(tài)校驗。靜態(tài)校驗首先會根據(jù)Data Profile中的數(shù)據(jù)定義來計算校驗和,然后再檢查該計算結(jié)果與〈check〉元素中checksum屬性所指定的值是否匹配。動態(tài)校驗的方法是,從屬藍(lán)牙設(shè)備在發(fā)送數(shù)據(jù)時,根據(jù)數(shù)據(jù)內(nèi)容,動態(tài)的生成校驗和,并附在數(shù)據(jù)流中指定的位置,藍(lán)牙主機(jī)端接收的數(shù)據(jù)后,先提取校驗和ChecksunuA,然后計算流數(shù)據(jù)的實際的校驗和(Checksum_B),最后檢查Checksum_A和Checksum_B是否匹配。
[0170](3)長度和校驗和校驗:〈check>元素中的type屬性值設(shè)定為LENGTH! SUM時,同時執(zhí)行(I)和(2)的數(shù)據(jù)校驗。
[0171]對于校驗失真的應(yīng)用數(shù)據(jù),則拋棄該數(shù)據(jù),如果從屬設(shè)備支持?jǐn)?shù)據(jù)重發(fā)機(jī)制,則請求設(shè)備重新發(fā)送應(yīng)用數(shù)據(jù),否則向應(yīng)用層發(fā)出數(shù)據(jù)錯誤的提示信息。對于通過校驗的應(yīng)用數(shù)據(jù),則會把應(yīng)用數(shù)據(jù)放入緩存中,并向藍(lán)牙設(shè)備通信裝置BT-MCAM中間件中的流數(shù)據(jù)解析模塊(SDP---Stream Data Parser)發(fā)送應(yīng)用數(shù)據(jù)解析請求。
[0172]如果通信數(shù)據(jù)信息Data Profile中沒有設(shè)置校驗信息(〈check〉元素),那么流數(shù)據(jù)會直接放入緩存中,并發(fā)送數(shù)據(jù)解析請求。
[0173]在本發(fā)明實施例中,藍(lán)牙設(shè)備通信裝置具有數(shù)據(jù)緩存模塊,數(shù)據(jù)緩存模塊(DataCacheDC)模塊會根據(jù)通信數(shù)據(jù)信息Data Profile中的定義來確定緩存數(shù)據(jù)條數(shù),默認(rèn)情況下只緩存當(dāng)前最新的應(yīng)用數(shù)據(jù)。當(dāng)有新應(yīng)用數(shù)據(jù)進(jìn)入緩存時,最舊的緩存數(shù)據(jù)會被拋棄。[0174]對于空閑連接(引用計數(shù)為O的連接)的應(yīng)用數(shù)據(jù),會按照上述規(guī)則保存到緩存中,并會根據(jù)Data Prof i Ie中設(shè)定的時間來確定緩存中應(yīng)用數(shù)據(jù)的保存時間,對于超時的應(yīng)用數(shù)據(jù),數(shù)據(jù)緩存DC模塊會執(zhí)行數(shù)據(jù)清除處理。如果空閑連接被中斷,那么該連接所對應(yīng)的緩存及數(shù)據(jù)都會被釋放。
[0175]下面對應(yīng)用數(shù)據(jù)解析過程進(jìn)行說明。藍(lán)牙各數(shù)據(jù)連接通道中的應(yīng)用數(shù)據(jù)是以二進(jìn)制流的形式存在的,如果只是簡單把它們轉(zhuǎn)發(fā)給應(yīng)用層,那么應(yīng)用層會無法識別這些數(shù)據(jù)。因此在藍(lán)牙設(shè)備通信裝置BT-MCAM提供了數(shù)據(jù)解析模塊(Stream Data ParserSDP)來進(jìn)行數(shù)據(jù)的解析。
[0176]為了解決二進(jìn)制流數(shù)據(jù)解析的硬編碼,以及藍(lán)牙多通道實時數(shù)據(jù)的解析問題,
BT-MCAM中間件提供了自適應(yīng)流數(shù)據(jù)解析模塊(Stream Data Parser---SDP),其解析過程
如圖5所示。
[0177]流數(shù)據(jù)解析模塊(SDP)的工作原理如下:根據(jù)輸入二進(jìn)制流數(shù)據(jù)的通信通道(即數(shù)據(jù)連接通道),確定其對應(yīng)的通信數(shù)據(jù)信息(Data Profile);根據(jù)Data Profile中定義的數(shù)據(jù)格式,分解二進(jìn)制流;把分解結(jié)果轉(zhuǎn)換成Data Profile中定義的對應(yīng)的用戶可識別的數(shù)據(jù)類型;當(dāng)有多個二進(jìn)制流同時請求解析時,SDP會為每個請求啟動一個工作線程來完成數(shù)據(jù)解析工作。
[0178]本發(fā)明實施例中,流數(shù)據(jù)解析模塊(SDP)工作時,不會依賴具體的二進(jìn)制數(shù)據(jù)流的數(shù)據(jù)格式,但會依賴通信數(shù)據(jù)信息Data Profile的定義,因此把數(shù)據(jù)解析過程中對具體數(shù)據(jù)格式的依賴轉(zhuǎn)化成對Data Profile中的原語的依賴,這樣在數(shù)據(jù)協(xié)議發(fā)生變化時,就不需要修改解析代碼,只修改對應(yīng)的通信數(shù)據(jù)信息Data Profile就可以了。同樣在追加新的藍(lán)牙設(shè)備時,也不需要編寫任何代碼,只需向藍(lán)牙設(shè)備通信裝置BT-MCAM中輸入與新的藍(lán)牙設(shè)備對應(yīng)的通信數(shù)據(jù)信息Data Profile即可。
[0179]S315,藍(lán)牙設(shè)備通信裝置根據(jù)預(yù)先保存的訂閱信息將應(yīng)用數(shù)據(jù)分發(fā)至對應(yīng)的藍(lán)牙主設(shè)備中相應(yīng)的應(yīng)用。
[0180]在本發(fā)明實施例中,藍(lán)牙設(shè)備通信裝置BT-MCAM設(shè)置數(shù)據(jù)分發(fā)模塊(Data
Subscribe Distributor---DSD)模塊使用數(shù)據(jù)代理訂閱機(jī)制實現(xiàn)數(shù)據(jù)的定向推送。數(shù)據(jù)的
分發(fā)方法如圖6所示。
[0181 ] 具體實現(xiàn)時,多通道實時并發(fā)流數(shù)據(jù)經(jīng)過流數(shù)據(jù)解析模塊(SDP)解析后,應(yīng)用數(shù)據(jù)
會被推送到數(shù)據(jù)分發(fā)模塊(Data Subscribe Distributor---DSD),數(shù)據(jù)分發(fā)模塊會創(chuàng)建相
應(yīng)的工作線程,并查閱本地的數(shù)據(jù)訂閱列表,把應(yīng)用數(shù)據(jù)定向發(fā)送給訂閱者。數(shù)據(jù)分發(fā)模塊支持兩種性質(zhì)的數(shù)據(jù)訂閱:臨時訂閱:這種方式,只會把訂閱者信息保存在內(nèi)存中,并隨著訂閱者的消亡而消亡。持久化訂閱:這種方式會把訂閱者信息持久的保存在磁盤中。數(shù)據(jù)分發(fā)模塊不但會持久化數(shù)據(jù)訂閱者的信息,而且會根據(jù)藍(lán)牙主機(jī)上應(yīng)用程序的卸載信息,自動維護(hù)持久化訂閱者信息,對于已經(jīng)不存在的訂閱者,會自動的實施清除。
[0182]對于沒有被應(yīng)用App訂閱的應(yīng)用數(shù)據(jù),數(shù)據(jù)分發(fā)模塊(DSD)會自動拋棄該應(yīng)用數(shù)據(jù)。例如上圖中的Data3,如果沒有任何應(yīng)用程序訂閱它,那么DSD就會把它拋棄。這種方法有效的實現(xiàn)了多通道實時并發(fā)數(shù)據(jù)的定向發(fā)布,同時降低了應(yīng)用App端獲取多通道數(shù)據(jù)并發(fā)數(shù)據(jù)時的復(fù)雜度。應(yīng)用App端只需向DSD發(fā)布訂閱請求即可。
[0183]S316,藍(lán)牙主設(shè)備的相應(yīng)應(yīng)用接收到應(yīng)用數(shù)據(jù)后,展現(xiàn)應(yīng)用數(shù)據(jù)。
[0184]S317,藍(lán)牙主設(shè)備發(fā)送取消數(shù)據(jù)訂閱請求。
[0185]S318,藍(lán)牙設(shè)備通信裝置發(fā)送中斷連接請求以中斷與藍(lán)牙從設(shè)備之間的連接。
[0186]圖7為本發(fā)明提供的藍(lán)牙設(shè)備通信裝置示意圖。
[0187]一種藍(lán)牙設(shè)備通信裝置,所述裝置包括:
[0188]接收模塊701,用于接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息;
[0189]第一判斷模塊702,用于根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道;
[0190]數(shù)據(jù)通信模塊703,用于當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信;
[0191]通信連接建立模塊704,用于當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道;
[0192]通信連接管理模塊705,用于保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
[0193]進(jìn)一步的,通信連接建立模塊包括:
[0194]第二判斷模塊,用于判斷是否已與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作;
[0195]通信連接請求發(fā)送模塊,用于當(dāng)判斷已與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作時,向所述第一藍(lán)牙從設(shè)備發(fā)送通信連接請求以與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道。
[0196]進(jìn)一步的,所通信連接建立模塊還包括:
[0197]第三判斷模塊,用于當(dāng)判斷未與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作時,則根據(jù)所述第一藍(lán)牙從設(shè)備的設(shè)備信息判斷是否保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息;所述通信數(shù)據(jù)信息至少包括配對密鑰信息;
[0198]配對請求發(fā)送模塊,用于當(dāng)判斷保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,利用所述通信數(shù)據(jù)信息中包含的所述配對密鑰信息向所述第一藍(lán)牙從設(shè)備發(fā)送配對請求消息;
[0199]通信連接請求發(fā)送模塊還用于當(dāng)接收到所述第一藍(lán)牙從設(shè)備發(fā)送的配對響應(yīng)消息時,向所述第一藍(lán)牙從設(shè)備發(fā)送通信連接請求以與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道。[0200]進(jìn)一步的,所述裝置還包括:
[0201]第一提示模塊,用于當(dāng)判斷未保存與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,顯示第一提示信息;其中,所述第一提示信息用于提示用戶輸入與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息。
[0202]進(jìn)一步的,所述通信連接管理模塊還用于保存所述數(shù)據(jù)連接通道的引用計數(shù),所述引用計數(shù)用于表明所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用的數(shù)量;當(dāng)有新的應(yīng)用使用所述數(shù)據(jù)連接通道時,所述數(shù)據(jù)連接通道的引用計數(shù)加I ;當(dāng)有與所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用退出時,所述數(shù)據(jù)連接通道的引用計數(shù)減I;當(dāng)所述數(shù)據(jù)連接通道的引用計數(shù)為O且所述數(shù)據(jù)連接通道的引用計數(shù)為O的狀態(tài)超過預(yù)設(shè)的空閑持續(xù)時間時,中斷所述數(shù)據(jù)連接通道,釋放與所述數(shù)據(jù)連接通道對應(yīng)的系統(tǒng)資源,解除與所述藍(lán)牙從設(shè)備的通信連接。
[0203]進(jìn)一步的,所述裝置還包括:
[0204]中斷連接模塊,用于當(dāng)藍(lán)牙從設(shè)備處于不可連接狀態(tài)時,中斷與所述藍(lán)牙從設(shè)備建立的數(shù)據(jù)連接通道;
[0205]第二提示模塊,用于當(dāng)當(dāng)藍(lán)牙從設(shè)備處于不可連接狀態(tài)時、中斷與所述藍(lán)牙從設(shè)備建立的數(shù)據(jù)連接通道時,顯示第二提示信息,所述第二提示信息用于提示用戶數(shù)據(jù)連接通道的狀態(tài)。
[0206]進(jìn)一步的,所述通信連接管理模塊還用于當(dāng)中斷與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,保存所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息;當(dāng)再次建立與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,根據(jù)上一次保存的所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息設(shè)置空閑持續(xù)時間。
[0207]數(shù)據(jù)通信模塊包括:
[0208]第二接收模塊,用于接收所述第一藍(lán)牙從設(shè)備通過所述數(shù)據(jù)連接通道發(fā)送的應(yīng)用數(shù)據(jù);
[0209]數(shù)據(jù)解析模塊,用于對所述應(yīng)用數(shù)據(jù)進(jìn)行解析;
[0210]數(shù)據(jù)分發(fā)模塊,用于將解析后的應(yīng)用數(shù)據(jù)發(fā)送至藍(lán)牙主設(shè)備中對應(yīng)的應(yīng)用。
[0211]進(jìn)一步的,數(shù)據(jù)解析模塊包括:
[0212]確定模塊,用于確定與所述應(yīng)用數(shù)據(jù)對應(yīng)的數(shù)據(jù)連接通道,根據(jù)保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系確定與所述數(shù)據(jù)連接通道對應(yīng)的藍(lán)牙從設(shè)備;
[0213]獲取模塊,用于獲取與所述藍(lán)牙從設(shè)備對應(yīng)的預(yù)置的通信數(shù)據(jù)信息;所述預(yù)置的通信數(shù)據(jù)信息包括數(shù)據(jù)格式信息;
[0214]轉(zhuǎn)換模塊,用于利用所述數(shù)據(jù)格式信息對所述應(yīng)用數(shù)據(jù)進(jìn)行解析將其轉(zhuǎn)換成預(yù)設(shè)的數(shù)據(jù)類型。
[0215]進(jìn)一步的,所述裝置還包括:
[0216]校驗?zāi)K,用于在接收所述第一藍(lán)牙從設(shè)備通過所述數(shù)據(jù)連接通道發(fā)送的應(yīng)用數(shù)據(jù)之后、在對所述應(yīng)用數(shù)據(jù)進(jìn)行解析之前,利用預(yù)先保存的通信數(shù)據(jù)信息對所述應(yīng)用數(shù)據(jù)進(jìn)行長度校驗和/或校驗和校驗;其中,所述通信數(shù)據(jù)信息包括校驗信息。
[0217]進(jìn)一步的,所述裝置還包括:
[0218]數(shù)據(jù)重復(fù)請求模塊,用于當(dāng)校驗錯誤時,向所述第一藍(lán)牙從設(shè)備發(fā)送數(shù)據(jù)重發(fā)請求。[0219]進(jìn)一步的,所述校驗?zāi)K具體用于利用校驗信息計算校驗和,將計算的校驗和與預(yù)先保存的校驗和值進(jìn)行比較,如果相同,則確定校驗正確;或者,從接收的應(yīng)用數(shù)據(jù)中提取所述藍(lán)牙從設(shè)備根據(jù)數(shù)據(jù)內(nèi)容生成的校驗和;利用校驗信息計算校驗和,將計算的校驗和與提取的校驗和進(jìn)行比較,如果相同,則確定校驗正確。
[0220]進(jìn)一步的,所述裝置還包括:
[0221]第四判斷模塊,用于在接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息之后,判斷是否存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息;其中,所述訂閱信息包括應(yīng)用信息以及藍(lán)牙從設(shè)備的設(shè)備信息;
[0222]數(shù)據(jù)分發(fā)模塊還用于如果不存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息,則保存與所述數(shù)據(jù)請求對應(yīng)的訂閱信息。
[0223]進(jìn)一步的,所述數(shù)據(jù)分發(fā)模塊還用于利用預(yù)先保存的訂閱信息,確定與所述第一藍(lán)牙從設(shè)備對應(yīng)的應(yīng)用信息;利用所述應(yīng)用信息確定目標(biāo)應(yīng)用,并向確定的目標(biāo)應(yīng)用發(fā)送解析后的應(yīng)用數(shù)據(jù)。
[0224]進(jìn)一步的,所述第一接收模塊還用于接收藍(lán)牙主設(shè)備中的第二應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息。
[0225]圖8為本發(fā)明提供的應(yīng)用場景示意圖。
[0226]如圖8所示,本發(fā)明提供的藍(lán)牙設(shè)備通信裝置可以實現(xiàn)藍(lán)牙多通道的數(shù)據(jù)實時傳輸、解析和分發(fā)。其中,Bluetooth Host為藍(lán)牙主設(shè)備,其包含了多個應(yīng)用BTAPP1、BTAPP2、
BTAPP3、BTAPP4、BTAPP5......Bluetooth Mult1-Chnanel Application Middleware 為本
發(fā)明提供的藍(lán)牙設(shè)備通信裝置(BT-MCAM),其包含的模塊可以包括:數(shù)據(jù)分發(fā)模塊(DataSubcribe Distributor, DSD)、數(shù)據(jù)解析模塊(Stream Data Parser, SDP)、通信數(shù)據(jù)信息管理模塊(Data Profile Manager, DBM)、數(shù)據(jù)緩存模塊(Data Cache, DC)、通信連接管理模塊(Bluetooth Connect Pool, BTCP)、以及數(shù)據(jù)通信模塊。其中,BT Devicel為第一藍(lán)牙從設(shè)備,BT Device2為第二藍(lán)牙從設(shè)備,BTDevice3為第三遍藍(lán)牙從設(shè)備,BT Device4為第四藍(lán)牙從設(shè)備,BT Devicd為第五藍(lán)牙從設(shè)備……由此,本發(fā)明提供的藍(lán)牙設(shè)備通信裝置可以實現(xiàn)藍(lán)牙主設(shè)備中的多個應(yīng)用與多個的藍(lán)牙從設(shè)備間的數(shù)據(jù)通信與傳輸。
[0227]從圖示所述應(yīng)用場景可以看出,本發(fā)明提供的藍(lán)牙設(shè)備通信方法和裝置具有如下優(yōu)點:
[0228](I)本發(fā)明提供的方法和裝置把藍(lán)牙多通道實時通信數(shù)據(jù)的處理過程進(jìn)行整合和優(yōu)化,通過多通道實時流數(shù)據(jù)的讀取、適配、校驗、緩存、解析、分發(fā)等處理,實現(xiàn)了藍(lán)牙多通道實時數(shù)據(jù)的統(tǒng)一處理,同時支持并發(fā)的數(shù)據(jù)通信處理。
[0229]( 2 )在本發(fā)明中,保存了藍(lán)牙數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備的對應(yīng)關(guān)系,當(dāng)存在與藍(lán)牙從設(shè)備對應(yīng)的連接時,則無需重復(fù)建立連接。因此,有效的隱藏了不必要的藍(lán)牙設(shè)備間建立連接通道的步驟,簡化了用戶操作,改善了用戶體驗。同時,通過連接池的管理,也為多通道藍(lán)牙連接提供了穩(wěn)定性、持續(xù)性的保障。
[0230]( 3 )本發(fā)明中,藍(lán)牙設(shè)備通信裝置通過記錄其藍(lán)牙連接池中相關(guān)連接的引用計數(shù)、持續(xù)時長、引用計數(shù)合計等信息,來計算相關(guān)連接(對應(yīng)數(shù)據(jù)連接通道)的使用頻率,對于使用頻率較高的連接,動態(tài)的調(diào)整連接處于空閑狀態(tài)時,連接保持的時長(即數(shù)據(jù)連接通道的空閑持續(xù)時間)。由此,有效提高了資源的復(fù)用率、提高了通信的效率。[0231](4)本發(fā)明實施例中,通過數(shù)據(jù)原語的定義和格式注入,自適應(yīng)解析多通道實時并發(fā)二進(jìn)制流數(shù)據(jù)。在本發(fā)明中,通過預(yù)先保存通信數(shù)據(jù)信息,通過數(shù)據(jù)解析模塊識別并獲取與接收的數(shù)據(jù)對應(yīng)的數(shù)據(jù)格式信息,然后通過數(shù)據(jù)格式信息對二進(jìn)制流進(jìn)行數(shù)據(jù)分解,并轉(zhuǎn)化成對應(yīng)的、用戶可閱讀的數(shù)據(jù)。由此,有效解決了現(xiàn)有技術(shù)應(yīng)用程序的代碼需要依賴藍(lán)牙從設(shè)備傳輸?shù)膽?yīng)用數(shù)據(jù)的協(xié)議格式,不利于代碼的復(fù)用的問題。
[0232](5)本發(fā)明實施例中,實現(xiàn)了數(shù)據(jù)的定向發(fā)送,可以支持同一數(shù)據(jù)發(fā)送給不同的應(yīng)用程序,也可以實現(xiàn)同一應(yīng)用獲取來自多個不同藍(lán)牙從設(shè)備的數(shù)據(jù)。
[0233](6)本發(fā)明實施例中,提供對數(shù)據(jù)完整性、正確性的校驗,從而進(jìn)一步保證了應(yīng)用層所獲取到的數(shù)據(jù)的正確性。
[0234]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0235]本發(fā)明可以在由計算機(jī)執(zhí)行的計算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計算環(huán)境中實踐本發(fā)明,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設(shè)備在內(nèi)的本地和遠(yuǎn)程計算機(jī)存儲介質(zhì)中。
[0236]以上所述僅是本發(fā)明的【具體實施方式】,應(yīng)當(dāng)指出,對于本【技術(shù)領(lǐng)域】的普通技術(shù)人員來說,在不脫離本發(fā)明原理 的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種藍(lán)牙設(shè)備通信方法,其特征在于,所述方法包括: 接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息; 根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道; 當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信; 當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道,并保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道包括: 判斷是否已與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作; 當(dāng)判斷已與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作時,向所述第一藍(lán)牙從設(shè)備發(fā)送通信連接請求以與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括: 當(dāng)判斷未與所述第一藍(lán)牙從設(shè)備進(jìn)行配對操作時,則根據(jù)所述第一藍(lán)牙從設(shè)備的設(shè)備信息判斷是否保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息;所述通信數(shù)據(jù)信息至少包括配對密鑰信息; 當(dāng)判斷保存了與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,利用所述通信數(shù)據(jù)信息中包含的所述配對密鑰信息向所述第一藍(lán)牙從設(shè)備發(fā)送配對請求消息; 當(dāng)接收到所述第一藍(lán)牙從設(shè)備發(fā)送的配對響應(yīng)消息時,向所述第一藍(lán)牙從設(shè)備發(fā)送通信連接請求以與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 當(dāng)判斷未保存與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息時,顯示第一提示信息;其中,所述第一提示信息用于提示用戶輸入與所述第一藍(lán)牙從設(shè)備對應(yīng)的通信數(shù)據(jù)信息。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 保存所述數(shù)據(jù)連接通道的引用計數(shù),所述引用計數(shù)用于表明所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用的數(shù)量; 當(dāng)有新的應(yīng)用使用所述數(shù)據(jù)連接通道時,所述數(shù)據(jù)連接通道的引用計數(shù)加I ; 當(dāng)有與所述數(shù)據(jù)連接通道對應(yīng)的應(yīng)用退出時,所述數(shù)據(jù)連接通道的引用計數(shù)減I; 當(dāng)所述數(shù)據(jù)連接通道的引用計數(shù)為O且所述數(shù)據(jù)連接通道的引用計數(shù)為O的狀態(tài)超過預(yù)設(shè)的空閑持續(xù)時間時,中斷所述數(shù)據(jù)連接通道,釋放與所述數(shù)據(jù)連接通道對應(yīng)的系統(tǒng)資源,解除與所述藍(lán)牙從設(shè)備的通信連接。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)藍(lán)牙從設(shè)備處于不可連接狀態(tài)時,中斷與所述藍(lán)牙從設(shè)備建立的數(shù)據(jù)連接通道; 顯示第二提示信息,所述第二提示信息用于提示用戶數(shù)據(jù)連接通道的狀態(tài)。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述方法還包括: 當(dāng)中斷與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,保存所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息; 當(dāng)再次建立與所述藍(lán)牙從設(shè)備的數(shù)據(jù)連接通道時,根據(jù)上一次保存的所述數(shù)據(jù)連接通道的引用計數(shù)信息以及連接持續(xù)時間信息設(shè)置空閑持續(xù)時間。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信包括: 接收所述第一藍(lán)牙從設(shè)備通過所述數(shù)據(jù)連接通道發(fā)送的應(yīng)用數(shù)據(jù); 對所述應(yīng)用數(shù)據(jù)進(jìn)行解析,并將解析后的應(yīng)用數(shù)據(jù)發(fā)送至藍(lán)牙主設(shè)備中對應(yīng)的應(yīng)用。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述對所述應(yīng)用數(shù)據(jù)進(jìn)行解析包括: 確定與所述應(yīng)用數(shù)據(jù)對應(yīng)的數(shù)據(jù)連接通道,根據(jù)保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系確定與所述數(shù)據(jù)連接通道對應(yīng)的藍(lán)牙從設(shè)備; 獲取與所述藍(lán)牙從設(shè)備對應(yīng)的預(yù)置的通信數(shù)據(jù)信息;所述預(yù)置的通信數(shù)據(jù)信息包括數(shù)據(jù)格式信息; 利用所述數(shù)據(jù)格式信息對所述應(yīng)用數(shù)據(jù)進(jìn)行解析將其轉(zhuǎn)換成預(yù)設(shè)的數(shù)據(jù)類型。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,在接收所述第一藍(lán)牙從設(shè)備通過所述數(shù)據(jù)連接通道發(fā)送的應(yīng)用數(shù)據(jù)之后、在對所述應(yīng)用數(shù)據(jù)進(jìn)行解析之前,所述方法還包括: 利用預(yù)先保存的通信數(shù)據(jù)信息對所述應(yīng)用數(shù)據(jù)進(jìn)行長度校驗和/或校驗和校驗;其中,所述通信數(shù)據(jù)信息包括校驗信`息; 當(dāng)校驗錯誤時,向所述第一藍(lán)牙從設(shè)備發(fā)送數(shù)據(jù)重發(fā)請求; 當(dāng)校驗正確時,進(jìn)入對所述應(yīng)用數(shù)據(jù)進(jìn)行解析的步驟。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述利用預(yù)先保存通信數(shù)據(jù)信息對所述應(yīng)用數(shù)據(jù)進(jìn)行校驗和校驗,具體包括: 利用校驗信息計算校驗和,將計算的校驗和與預(yù)先保存的校驗和值進(jìn)行比較,如果相同,則確定校驗正確;或者 從接收的應(yīng)用數(shù)據(jù)中提取所述藍(lán)牙從設(shè)備根據(jù)數(shù)據(jù)內(nèi)容生成的校驗和; 利用校驗信息計算校驗和,將計算的校驗和與提取的校驗和進(jìn)行比較,如果相同,則確定校驗正確。
12.根據(jù)權(quán)利要求8所述的方法,其特征在于,在接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息之后,所述方法還包括: 判斷是否存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息;其中,所述訂閱信息包括應(yīng)用信息以及藍(lán)牙從設(shè)備的設(shè)備信息; 如果不存在與所述數(shù)據(jù)請求對應(yīng)的訂閱信息,則保存與所述數(shù)據(jù)請求對應(yīng)的訂閱信肩、O
13.根據(jù)權(quán)利要求8或12所述的方法,其特征在于,所述將解析后的應(yīng)用數(shù)據(jù)發(fā)送至藍(lán)牙主設(shè)備中對應(yīng)的應(yīng)用包括: 利用預(yù)先保存的訂閱信息,確定與所述第一藍(lán)牙從設(shè)備對應(yīng)的應(yīng)用信息; 利用所述應(yīng)用信息確定目標(biāo)應(yīng)用,并向確定的目標(biāo)應(yīng)用發(fā)送解析后的應(yīng)用數(shù)據(jù)。
14.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收藍(lán)牙主設(shè)備中的第二應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息;根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道; 當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第二應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信; 當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道,并保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
15.一種藍(lán)牙設(shè)備通信裝置,其特征在于,所述裝置包括: 接收模塊,用于接收藍(lán)牙主設(shè)備中的第一應(yīng)用發(fā)送的數(shù)據(jù)請求信息,所述數(shù)據(jù)請求信息至少包括與所述數(shù)據(jù)請求對應(yīng)的第一藍(lán)牙從設(shè)備的設(shè)備信息; 第一判斷模塊,用于根據(jù)所述數(shù)據(jù)請求中包含的第一藍(lán)牙從設(shè)備的設(shè)備信息以及保存的數(shù)據(jù)連接通道與藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系判斷是否存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道; 數(shù)據(jù)通信模塊,用于當(dāng)判斷存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則利用所述數(shù)據(jù)連接通道實現(xiàn)所述藍(lán)牙主設(shè)備中的第一應(yīng)用與所述第一藍(lán)牙從設(shè)備間的數(shù)據(jù)通信; 通信連接建立模塊,用于當(dāng)判斷不存在與所述第一藍(lán)牙從設(shè)備對應(yīng)的數(shù)據(jù)連接通道時,則與所述第一藍(lán)牙從設(shè)備建立數(shù)據(jù)連接通道; 通信連接管理模塊,用于保存建立的所述數(shù)據(jù)連接通道與所述第一藍(lán)牙從設(shè)備之間的對應(yīng)關(guān)系。
【文檔編號】H04W76/02GK103561479SQ201310488733
【公開日】2014年2月5日 申請日期:2013年10月17日 優(yōu)先權(quán)日:2013年10月17日
【發(fā)明者】李永春, 張 榮, 李強(qiáng), 單日強(qiáng) 申請人:東軟熙康健康科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
龙胜| 本溪| 浠水县| 罗山县| 西乌| 峨眉山市| 万宁市| 靖州| 包头市| 肇庆市| 奇台县| 临邑县| 彩票| 灵石县| 拉萨市| 铁岭市| 界首市| 铁力市| 常熟市| 修武县| 庄河市| 舟曲县| 建始县| 饶河县| 青阳县| 米脂县| 隆昌县| 台安县| 通辽市| 迁安市| 涞水县| 拉萨市| 曲麻莱县| 镇赉县| 微博| 苗栗市| 罗平县| 兴化市| 邛崃市| 体育| 吉林省|