亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)傳輸方法及裝置與流程

文檔序號:11779159閱讀:315來源:國知局
數(shù)據(jù)傳輸方法及裝置與流程

本發(fā)明屬于電子通信技術(shù)領(lǐng)域,具體地說,涉及一種數(shù)據(jù)傳輸方法及裝置。



背景技術(shù):

隨著智能可穿戴設(shè)備的快速普及,智能可穿戴設(shè)備例如智能手環(huán)、智能手表、vr(virtualreality,虛擬現(xiàn)實)頭盔等,逐步融入到人們的日常生活中。但是由于智能可穿戴設(shè)備本身體積小、處理能力差的問題,智能可穿戴設(shè)備中的大量數(shù)據(jù)需要發(fā)送至與其連接的移動終端進行處理和顯示。

現(xiàn)有技術(shù)中,智能可穿戴設(shè)備與移動終端是基于低功耗藍牙設(shè)備(bluetoothlowenergy,ble)的通信協(xié)議建立通信連接并進行數(shù)據(jù)傳輸,智能可穿戴設(shè)備按照該通信協(xié)議將數(shù)據(jù)進行組包,具體是將數(shù)據(jù)中的各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱按照預(yù)定順序構(gòu)建一個數(shù)組,將所述數(shù)組進行組包獲得組包數(shù)據(jù)發(fā)送至移動終端。移動終端對該組包數(shù)據(jù)需要按照字段名稱在該數(shù)組中的預(yù)定順序解析對應(yīng)的字段數(shù)據(jù)。例如,字段名稱“年齡”以及對應(yīng)的字段數(shù)據(jù)“25”在該數(shù)組中的預(yù)定順序為3,則移動終端按照預(yù)定順序查找該數(shù)組中第3個數(shù)值,即可獲得字段名稱“年齡”對應(yīng)的字段數(shù)據(jù)“25”。

但當(dāng)智能可穿戴設(shè)備修改數(shù)組中字段名稱的個數(shù)或排列順序時,就會造成移動終端解析組包數(shù)據(jù)時出現(xiàn)錯誤。因此,現(xiàn)有的數(shù)據(jù)傳輸方法可靠性低、通用性較差。



技術(shù)實現(xiàn)要素:

有鑒于此,本發(fā)明提供了一種數(shù)據(jù)傳輸方法及裝置,用以解決現(xiàn)有技術(shù)中數(shù)據(jù)傳輸方法可靠性低、通用性較差的技術(shù)問題,提高了數(shù)據(jù)傳輸?shù)目煽啃约巴ㄓ眯?,有力于利于代碼的移植和維護。

為了解決上述技術(shù)問題,本發(fā)明提供了一種數(shù)據(jù)傳輸方法,包括:

確定待傳輸數(shù)據(jù)中各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱;

識別所述各個預(yù)定字段中的必選字段以及非必選字段;

確定所述非必選字段中的可選字段;

將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典;

將所述字典進行組包獲得組包數(shù)據(jù);

發(fā)送所述組包數(shù)據(jù)至移動終端,以供所述移動終端解析獲得所述字典的各個鍵及各個鍵分別對應(yīng)的值。

優(yōu)選地,所述將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典,包括:

將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典;

將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值添加至所述字典中。

優(yōu)選地,所述確定所述非必選字段中的可選字段包括:

確定所述非必選字段中滿足設(shè)備選擇需求的可選字段。

優(yōu)選地,所述將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典之后,還包括:

確定所述可選字段中滿足設(shè)備刪除需求的可刪除字段;

從所述字典中刪除所述可刪除字段對應(yīng)的字段數(shù)據(jù)以及字段名稱。

本發(fā)明還提供了一種數(shù)據(jù)傳輸方法,包括:

接收智能可穿戴設(shè)備發(fā)送的組包數(shù)據(jù),并從所述組包數(shù)據(jù)中獲得字典;所述字典為所述智能可穿戴設(shè)備通過識別待傳輸數(shù)據(jù)中各個預(yù)定字段中的必選字段以及非必須字段,并確定所述非必選字段中的可選字段之后,將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建的;所述組包數(shù)據(jù)為將所述字典進行組包獲得;

解析所述字典,獲得各個鍵及各個鍵分別對應(yīng)的值。

優(yōu)選地,所述解析所述字典,獲得各個鍵及各個鍵分別對應(yīng)的值包括:

基于各個預(yù)定字段,從所述字典中解析獲得必選字段的字段數(shù)據(jù);

基于任一個非必選字段,從所述字典中查詢是否存在所述任一個非必選字段對應(yīng)的字段數(shù)據(jù);

若是,確定所述任一個非必選字段為可選字段,并獲得所述可選字段的字段數(shù)據(jù)。

本發(fā)明提供了一種數(shù)據(jù)傳輸裝置,包括:

第一確定模塊,用于確定待傳輸數(shù)據(jù)中各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱;

識別模塊,用于識別所述各個預(yù)定字段中的必選字段以及非必選字段;

第二確定模塊,用于確定所述非必選字段中的可選字段;

創(chuàng)建模塊,用于將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典;

組包模塊,用于將所述字典進行組包獲得組包數(shù)據(jù);

發(fā)送模塊,用于發(fā)送所述組包數(shù)據(jù)至移動終端,以供所述移動終端解析獲得所述字典各個鍵及各個鍵分別對應(yīng)的值。

優(yōu)選地,所述創(chuàng)建模塊具體用于:

將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典;

將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值添加至所述字典中。

優(yōu)選地,所述第二確定模塊具體用于:

確定所述非必選字段中滿足設(shè)備選擇需求的可選字段。

優(yōu)選地,所述創(chuàng)建模塊之后,還包括:

第三確定模塊,用于確定所述可選字段中滿足設(shè)備刪除需求的可刪除字段;

刪除模塊,用于從所述字典中刪除所述可刪除字段對應(yīng)的字段數(shù)據(jù)以及字段名稱。

本發(fā)明還提供了一種數(shù)據(jù)傳輸裝置,包括:

接收模塊,用于接收智能可穿戴設(shè)備發(fā)送的組包數(shù)據(jù),并從所述組包數(shù)據(jù)中獲得字典;所述字典為所述智能可穿戴設(shè)備通過識別待傳輸數(shù)據(jù)中各個預(yù)定字段中的必選字段以及非必須字段,并確定所述非必選字段中的可選字段之后,將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建的;所述組包數(shù)據(jù)為將所述字典進行組包獲得;

解析模塊,用于解析所述字典,獲得各個鍵及各個鍵分別對應(yīng)的值。

優(yōu)選地,所述解析模塊具體用于:

基于各個預(yù)定字段,從所述字典中解析獲得必選字段的字段數(shù)據(jù);

基于任一個非必選字段,從所述字典中查詢是否存在所述任一個非必選字段對應(yīng)的字段數(shù)據(jù);

若是,確定所述任一個非必選字段為可選字段,并獲得所述可選字段的字段數(shù)據(jù)。

與現(xiàn)有技術(shù)相比,本發(fā)明可以獲得包括以下技術(shù)效果:

本發(fā)明給出了一種數(shù)據(jù)傳輸方法,通過智能可穿戴設(shè)備確定待傳輸數(shù)據(jù)中各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱并識別所述各個預(yù)定字段中的必選字段以及非必選字段。確定非必選字段中的可選字段,將必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值;將可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典。將字典進行組包獲得組包數(shù)據(jù)并發(fā)送所述組包數(shù)據(jù)至移動終端。移動終端通過接收智能可穿戴設(shè)備發(fā)送的組包數(shù)據(jù),并從所述組包數(shù)據(jù)中獲得字典。解析所述字典,獲得各個鍵及各自對應(yīng)的值,從而獲得待傳輸數(shù)據(jù)。本發(fā)明中通過采用鍵-值格式創(chuàng)建字典,使得移動終端將必選字段及可選字段的字段名稱作為鍵即可從字典中解析獲得對應(yīng)的字段數(shù)據(jù),不存在由于各個字段之間預(yù)定順序改變導(dǎo)致移動終端出現(xiàn)解析錯誤,因此大大提高了數(shù)據(jù)傳輸?shù)目煽啃约巴ㄓ眯?,有力于利于代碼的移植和維護。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中:

圖1是本發(fā)明實施例的一種數(shù)據(jù)傳輸方法的一個實施例的流程圖;

圖2是本發(fā)明實施例的一種數(shù)據(jù)傳輸方法的另一個實施例的流程圖;

圖3是本發(fā)明實施例的一種數(shù)據(jù)傳輸裝置的一個實施例的結(jié)構(gòu)示意圖;

圖4是本發(fā)明實施例的一種數(shù)據(jù)傳輸裝置的另一個實施例的結(jié)構(gòu)示意圖。

具體實施方式

以下將配合附圖及實施例來詳細說明本發(fā)明的實施方式,藉此對本發(fā)明如何應(yīng)用技術(shù)手段來解決技術(shù)問題并達成技術(shù)功效的實現(xiàn)過程能充分理解并據(jù)以實施。

隨著電子技術(shù)的快速發(fā)展,智能可穿戴設(shè)備可以實現(xiàn)越來越多的功能,例如智能手環(huán)、智能手表等,可以采集用戶日常的運動數(shù)據(jù)、睡眠數(shù)據(jù)、飲食數(shù)據(jù)等實現(xiàn)用戶的健康管理,vr(virtualreality,虛擬現(xiàn)實)頭盔可以觀看vr視頻體驗虛擬世界等,因此,智能可穿戴設(shè)備已逐步融入到人們的日常生活中。通常智能可穿戴設(shè)備本身的體積較小、處理能力也較差,需要將智能可穿戴設(shè)備中的大量數(shù)據(jù)需要發(fā)送至與其連接的移動終端進行處理和顯示。

現(xiàn)有技術(shù)中,智能可穿戴設(shè)備與移動終端是基于低功耗藍牙(bluetoothlowenergy,ble)通信協(xié)議建立通信連接并進行數(shù)據(jù)傳輸,智能可穿戴設(shè)備按照通信協(xié)議將數(shù)據(jù)進行組包?,F(xiàn)有的組包方式是利用c語言的數(shù)組實現(xiàn)數(shù)據(jù)的組包。具體是將數(shù)據(jù)中的各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱按照預(yù)定順序構(gòu)建一個數(shù)組,將所述數(shù)組進行組包獲得組包數(shù)據(jù)發(fā)送至移動終端。移動終端對該組包數(shù)據(jù)需要按照字段名稱在該數(shù)組中的預(yù)定順序解析對應(yīng)的字段數(shù)據(jù)。但當(dāng)智能可穿戴設(shè)備修改數(shù)組中字段名稱的個數(shù)或排列順序時,就會造成移動終端解析組包數(shù)據(jù)時出現(xiàn)錯誤。因此,現(xiàn)有的數(shù)據(jù)傳輸方法可靠性低、通用性較差。

為了解決現(xiàn)有技術(shù)中數(shù)據(jù)傳輸方法可靠性低、通用性較差的技術(shù)問題,發(fā)明人經(jīng)過一系列研究提出了本發(fā)明的技術(shù)方案。在本發(fā)明中,通過智能可穿戴端確定待傳輸數(shù)據(jù)中各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱并識別所述各個預(yù)定字段中的必選字段以及非必選字段。確定非必選字段中的可選字段,將必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值;將可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典。將字典進行組包獲得組包數(shù)據(jù)并發(fā)送所述組包數(shù)據(jù)至移動終端。移動終端通過接收智能可穿戴設(shè)備發(fā)送的組包數(shù)據(jù),并從所述組包數(shù)據(jù)中獲得字典。解析所述字典,獲得各個鍵及各自對應(yīng)的值,從而獲得待傳輸數(shù)據(jù)。本發(fā)明由于采用鍵-值格式創(chuàng)建字典,使得移動終端通過獲取各個字段的字段名稱作為鍵即可從字典中解析獲得對應(yīng)的字段數(shù)據(jù),不存在由于各個字段之間預(yù)定順序改變導(dǎo)致移動終端出現(xiàn)解析錯誤,因此大大提高了數(shù)據(jù)傳輸?shù)目煽啃约巴ㄓ眯?,有力于利于代碼的移植和維護。

下面將結(jié)合附圖對本發(fā)明技術(shù)方案進行詳細描述。

圖1為本發(fā)明實施例的一種數(shù)據(jù)傳輸方法的一個實施例的流程圖,該方應(yīng)用于智能可穿戴設(shè)備,該方法可以包括:

101:確定待傳輸數(shù)據(jù)中各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱。

102:識別所述各個預(yù)定字段中的必選字段以及非必選字段;

智能可穿戴設(shè)備和移動終端均配置有通信協(xié)議。該通信協(xié)議設(shè)定了待傳輸數(shù)據(jù)可以包含的多個預(yù)定字段,并設(shè)定了各個預(yù)定字段對應(yīng)的字段名稱和字段數(shù)據(jù)的對應(yīng)關(guān)系,以及各個預(yù)定字段的可選類型,按照可選類型,各個預(yù)定字段可以分為必選字段或非必選字段。

智能可穿戴設(shè)備根據(jù)該通信協(xié)議即可確定該待傳輸數(shù)據(jù)中包含的各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱。并根據(jù)設(shè)定的可選類型識別各個預(yù)定字段中的必選字段以及可選字段。

103:確定所述非必選字段中的可選字段;

可選地,在某些實施例中,所述確定所述非必選字段中的可選字段包括:

確定所述非必選字段中滿足設(shè)備選擇需求的可選字段。

其中可以是任一非必選字段匹配到對應(yīng)有字段數(shù)據(jù)時,認為該任一非必選字段為滿足設(shè)備選擇需求的可選字段。當(dāng)任一非必選字段未匹配到對應(yīng)的字段數(shù)據(jù),則認為該任一非必選字段不滿足設(shè)備選擇需求。

不同的智能可穿戴設(shè)備根據(jù)其實際的功能需求,對于相同的待傳輸數(shù)據(jù)可能會采集到不同的預(yù)定字段,以待傳輸數(shù)據(jù)為用戶信息為例,其中一部分智能可穿戴設(shè)備可能會采集到身高、體重、性別、年齡這四個預(yù)定字段對應(yīng)的字段數(shù)據(jù);而其中一部分智能可穿戴設(shè)備可能會僅采集到身高、體重、性別這三個預(yù)定字段對應(yīng)的字段數(shù)據(jù)。其中,預(yù)定字段中的必選字段的字段數(shù)據(jù)肯定可以采集到,但非必選字段則是不同的智能可穿戴設(shè)備根據(jù)其實際的功能需求采集需要的非必選字段的字段數(shù)據(jù)。因此,需要確定各個預(yù)定字段中的非必選字段對應(yīng)有字段數(shù)據(jù)的可選字段。

104:將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典;

105:將所述字典進行組包獲得組包數(shù)據(jù)。

與現(xiàn)有技術(shù)不同的是,本發(fā)明中,智能可穿戴設(shè)備是基于python語言實現(xiàn)數(shù)據(jù)的組包。python是一種解釋型、面向?qū)ο蟆討B(tài)數(shù)據(jù)類型的高級程序設(shè)計語言,python語言中存在唯一內(nèi)建的映射類型即字典,該字典中的值并沒有特定的順序,是通過鍵-值的映射關(guān)系創(chuàng)建而成。因此,智能可穿戴設(shè)備通過將用戶信息中心的必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,即可創(chuàng)建字典。從而具體是將字典組包獲得組包數(shù)據(jù)。

106:發(fā)送所述組包數(shù)據(jù)至移動終端,以供所述移動終端解析獲得所述字典的各個鍵/及各個鍵分別對應(yīng)的值。

智能可穿戴設(shè)備將所述字典進行組包,組包即是將該字典進行封裝和加密后獲得待傳輸?shù)慕M包數(shù)據(jù),并將該組包數(shù)據(jù)發(fā)送至移動終端。

在本實施例中,由于智能可穿戴設(shè)備采用鍵-值格式創(chuàng)建字典,各個字段之間不存在預(yù)定順序,因此不同的智能可穿戴設(shè)備可以根據(jù)不同的設(shè)備需求添加或刪除字典中的可選字段,從而不存在由于各個字段之間預(yù)定順序改變導(dǎo)致移動終端出現(xiàn)解析錯誤,因此大大提高了數(shù)據(jù)傳輸?shù)目煽啃约巴ㄓ眯?,有力于利于代碼的移植和維護。

可選地,在某些實施例中,所述將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典可以包括:

將所述必選字段的字段名稱作為鍵,所述對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典;

將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值添加至所述字典中。

此外,智能可穿戴設(shè)備可以先按照必選字段創(chuàng)建字典,再根據(jù)智能可穿戴設(shè)備的實際功能需求,將可選字段添加到創(chuàng)建的字典中。

因此,可選地,在某些實施例中,所述確定所述非必選字段中的可選字段可以包括:

確定所述非必選字段中滿足設(shè)備選擇需求的可選字段。

其中可以是任一非必選字段匹配到對應(yīng)有字段數(shù)據(jù)時,認為該任一非必選字段為滿足設(shè)備選擇需求的可選字段。當(dāng)任一非必選字段未匹配到對應(yīng)的字段數(shù)據(jù),則認為該任一非必選字段不滿足設(shè)備選擇需求。

可選地,在某些實施例中,所述將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典之后,還包括:

確定所述字典中添加的可選字段中滿足設(shè)備刪除需求的可刪除字段;

從所述字典中刪除所述可刪除字段對應(yīng)的字段數(shù)據(jù)以及字段名稱。

其中,所述設(shè)備刪除需求可以根據(jù)當(dāng)前智能可穿戴設(shè)備的實際功能需求對任一可選字段進行判斷,如果實際的功能需求不需要該可選字段的字段數(shù)據(jù),則認為該可選字段是滿足設(shè)備刪除需求的可刪除字段,反之則認為該可選字段不滿足設(shè)備刪除需求。

在一個實際應(yīng)用中,以智能可穿戴設(shè)備的待傳輸數(shù)據(jù)為用戶信息為例,通信協(xié)議中設(shè)定了用戶信息的預(yù)定字段包括身高、體重、性別、年齡,并定義用戶信息的各個預(yù)定字段對應(yīng)的字段名稱及可選類型。定義身高字段對應(yīng)的字段名稱為‘height’,可選類型為:必選字段;體重字段對應(yīng)的字段名稱為‘weight’,可選類型為:必選字段;性別字段對應(yīng)的字段名稱為‘gender’,可選類型為:可選字段;年齡字段對應(yīng)的字段名稱為‘a(chǎn)ge’,可選類型為:可選字段。

智能可穿戴設(shè)備獲取用戶輸入的用戶信息后,確定該用戶信息中各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱并識別所述各個預(yù)定字段中的必選字段以及非必選字段。其中,必選字段為height及weight,非必選字段為age及gender。根據(jù)當(dāng)前智能可穿戴設(shè)備的用戶輸入的用戶信息,確定所述非必選字段中的可選字段。例如,用戶輸入的用戶信息對應(yīng)的字段數(shù)據(jù)及字段名稱為,height:180,weight:75,gender:man(男性)。其中,非必選字段中的age沒有對應(yīng)的字段數(shù)據(jù),而非必選字段gender對應(yīng)有字段數(shù)據(jù)為man,因此可以確定非必選字段中的可選字段為gender。

將所述必選字段的字段名稱height及weight作為鍵,對應(yīng)的字段數(shù)據(jù)180及75作為值,創(chuàng)建字典,并將可選字段的字段名稱gender作為鍵,對應(yīng)的字段數(shù)據(jù)man作為值,添加到字典中。

例如,可以按以下代碼創(chuàng)建字典:首先按照必選字段創(chuàng)建user_infor字典,

user_infor=dict(height=180,weight=75);

而對于可選字段,如果要添加性別字段,可按如下方式添加:

user_infor[‘gender’]=‘man’。

可選地,根據(jù)當(dāng)前智能可穿戴設(shè)備的用于計算用戶體重是否超標的功能需求,不需要用戶的性別就可以計算獲得用戶的體重是否超標,因此可以判斷該字典中添加的可選字段gender是可刪除字段,從該字典中刪除可刪除字段的字段名稱gender以及字段數(shù)據(jù)man。將該字典進行組包獲得組包數(shù)據(jù)發(fā)送至移動終端。

圖2為本發(fā)明實施例的一種數(shù)據(jù)傳輸方法的另一個實施例的流程圖,該方法應(yīng)用于移動終端,可以包括:

201:接收智能可穿戴設(shè)備發(fā)送的組包數(shù)據(jù),并從所述組包數(shù)據(jù)中獲得字典。移動終端接收到所述組包數(shù)據(jù)后,按照組包的逆過程對該組包數(shù)據(jù)進行拆包,從而獲得所述組包數(shù)據(jù)中的字典。

其中,所述字典為所述智能可穿戴設(shè)備通過識別待傳輸數(shù)據(jù)中各個預(yù)定字段中的必選字段以及非必須字段,并確定所述非必選字段中的可選字段之后,將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建的;所述組包數(shù)據(jù)為將所述字典進行組包獲得。

202:解析所述字典,獲得各個鍵及各個鍵分別對應(yīng)的值。

由于字典本身是根據(jù)鍵/值建立的映射關(guān)系,不存在解析順序,因此只要將各個預(yù)定字段名稱作為鍵,即可解析獲得字典中各個鍵對應(yīng)的值。

可選地,在某些實施例中,所述解析所述字典,獲得各個鍵及各個鍵分別對應(yīng)的值可以包括:

基于各個預(yù)定字段,從所述字典中解析獲得必選字段的字段數(shù)據(jù);

基于任一個非必選字段,從所述字典中查詢是否存在所述任一個非必選字段對應(yīng)的字段數(shù)據(jù);

若是,確定所述任一個非必選字段為可選字段,并獲得所述可選字段的字段數(shù)據(jù)。

可選地,所述從所述字典中查詢是否存在所述任一個非必選字段對應(yīng)的字段數(shù)據(jù)可以是:判斷所述任一個非必選字段的字段名稱是否作為所述字典的鍵,如果是則說明所述字典中存在所述任一個費必選字段對應(yīng)的字段數(shù)據(jù)。

在移動終端通過通信協(xié)議中的各個預(yù)定字段,確定各個預(yù)定字段的必選字段及其對應(yīng)的字段名稱,以及非必選字段及其對應(yīng)的字段名稱。將必選字段的字段名稱作為鍵,解析所述字典獲得必選字段的字段數(shù)據(jù);對于非必選字段,首選判斷該字典的鍵中是否包含所述非必選字段的字段名稱,如果是,該非必選字段為可選字段,并將該可選字段的字段名稱作為鍵,解析所述字典獲得可選字段的字段數(shù)據(jù)。

在一個是實際應(yīng)用中,繼續(xù)以圖1實施例中的用戶信息作為待傳輸數(shù)據(jù)為例,智能可穿戴設(shè)備發(fā)送的組包數(shù)據(jù)中的字典僅包括必選字段的字段數(shù)據(jù),因此移動終端接收該組包數(shù)據(jù),并獲得該組包數(shù)據(jù)中的字典后。將預(yù)定字段中的必選字段的字段名稱height及weight作為鍵,解析該字典獲得對應(yīng)的字段數(shù)據(jù)180及75。然后,依次判斷非必選字段age及gender中的可選字段。移動終端可以通過發(fā)送查詢指令判斷該非必選字段中的age及gender是否是字典中的鍵,經(jīng)查詢非必選字段中的age及gender均不是該字典中的鍵,因此,非必選字段age及gender中不存在可選字段,不需要再解析該字典。

例如,對于必選字段height及weight可以按以下代碼解析user_infor字典獲得對應(yīng)的字段數(shù)據(jù):

user_infor[‘height’];user_infor[‘weight’];

對于非必選字段需要首先判斷user_infor字典是否包含age及gender:

發(fā)送‘a(chǎn)ge’inuser_infor;

若返回true,則可獲取用戶年齡:

user_infor[‘a(chǎn)ge’];

若返回false,則user_infor字典中不存在age字段的鍵。

發(fā)送‘gender’inuser_infor;

若返回true,則可獲取用戶性別:

user_infor[‘a(chǎn)ge’];

若返回false,則user_infor字典中不存在gender字段的鍵。

本實施例中,移動終端從組包數(shù)據(jù)中獲得字典后,通過解析所述字典,可以獲得各個鍵及各自對應(yīng)的值。具體是根據(jù)通信協(xié)議中的預(yù)定字段,獲取必選字段并將必選字段對應(yīng)的字段名稱作為鍵解析獲得對應(yīng)的字段數(shù)據(jù);可選字段則是通過判斷非必選字段中對應(yīng)的字段名稱是否作為字典的鍵而確定的,并將可選字段對應(yīng)的字段名稱作為鍵解析獲得對應(yīng)的字段數(shù)據(jù)??芍苿咏K端只需要根據(jù)通信協(xié)議的預(yù)定字段即可獲得相應(yīng)的必選字段和可選字段,不存在由于解析順序?qū)е碌慕馕鲥e誤,因此大大提高了數(shù)據(jù)傳輸?shù)目煽啃约巴ㄓ眯?,有力于利于代碼的移植和維護。

圖3為本發(fā)明實施例的一種數(shù)據(jù)傳輸裝置的一個實施例的結(jié)構(gòu)示意圖,該裝置用于智能可穿戴設(shè)備,該裝置可以包括:

第一確定模塊301,用于確定待傳輸數(shù)據(jù)中各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱。

識別模塊,用于識別所述各個預(yù)定字段中的必選字段以及非必選字段;

智能可穿戴設(shè)備和移動終端均配置有通信協(xié)議。該通信協(xié)議設(shè)定了待傳輸數(shù)據(jù)可以包含的多個預(yù)定字段,并設(shè)定了各個預(yù)定字段對應(yīng)的字段名稱和字段數(shù)據(jù)的對應(yīng)關(guān)系,以及各個預(yù)定字段的可選類型,按照可選類型,各個預(yù)定字段可以分為必選字段或非必選字段。

智能可穿戴設(shè)備根據(jù)該通信協(xié)議即可確定該待傳輸數(shù)據(jù)中包含的各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱。并根據(jù)設(shè)定的可選類型識別各個預(yù)定字段中的必選字段以及可選字段。

第二確定模塊303,用于確定所述非必選字段中的可選字段;

不同的智能可穿戴設(shè)備根據(jù)其實際的功能需求,對于相同的待傳輸數(shù)據(jù)可能會采集到不同的預(yù)定字段,以待傳輸數(shù)據(jù)為用戶信息為例,其中一部分智能可穿戴設(shè)備可能會采集到身高、體重、性別、年齡這四個預(yù)定字段對應(yīng)的字段數(shù)據(jù);而其中一部分智能可穿戴設(shè)備可能會僅采集到身高、體重、性別這三個預(yù)定字段對應(yīng)的字段數(shù)據(jù)。其中,預(yù)定字段中的必選字段的字段數(shù)據(jù)肯定可以采集到,但非必選字段則是不同的智能可穿戴設(shè)備根據(jù)其實際的功能需求采集需要的非必選字段的字段數(shù)據(jù)。因此,需要確定各個預(yù)定字段中的非必選字段對應(yīng)有字段數(shù)據(jù)的可選字段。

創(chuàng)建模塊304,用于將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典;

組包模塊305,用于將所述字典進行組包獲得組包數(shù)據(jù)。

與現(xiàn)有技術(shù)不同的是,本發(fā)明中,智能可穿戴設(shè)備是基于python語言實現(xiàn)數(shù)據(jù)的組包。python是一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言,python語言中存在唯一內(nèi)建的映射類型即字典,該字典中的值并沒有特定的順序,是通過鍵-值的映射關(guān)系創(chuàng)建而成。因此,智能可穿戴設(shè)備通過將用戶信息中心的必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,即可創(chuàng)建字典。從而具體是將字典組包獲得組包數(shù)據(jù)。

發(fā)送模塊306,用于發(fā)送所述組包數(shù)據(jù)至移動終端,以供所述移動終端解析獲得所述字典的各個鍵/及各個鍵分別對應(yīng)的值。

智能可穿戴設(shè)備將所述字典進行組包,組包即是將該字典進行封裝和加密后獲得待傳輸?shù)慕M包數(shù)據(jù),并將該組包數(shù)據(jù)發(fā)送至移動終端。

在本實施例中,由于智能可穿戴設(shè)備采用鍵-值格式創(chuàng)建字典,各個字段之間不存在預(yù)定順序,因此不同的智能可穿戴設(shè)備可以根據(jù)不同的設(shè)備需求添加或刪除字典中的可選字段,從而不存在由于各個字段之間預(yù)定順序改變導(dǎo)致移動終端出現(xiàn)解析錯誤,因此大大提高了數(shù)據(jù)傳輸?shù)目煽啃约巴ㄓ眯?,有力于利于代碼的移植和維護。

可選地,在某些實施例中,所述創(chuàng)建模塊304具體可以用于:

將所述必選字段的字段名稱作為鍵,所述對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建字典;

將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值添加至所述字典中。

此外,智能可穿戴設(shè)備可以先按照必選字段創(chuàng)建字典,再根據(jù)智能可穿戴設(shè)備的實際功能需求,將可選字段添加到創(chuàng)建的字典中。

因此,可選地,在某些實施例中,所述第二確定模塊303具體可以用于:

確定所述非必選字段中滿足設(shè)備選擇需求的可選字段。

其中可以是任一非必選字段匹配到對應(yīng)有字段數(shù)據(jù)時,認為該任一非必選字段為滿足設(shè)備選擇需求的可選字段。當(dāng)任一非必選字段未匹配到對應(yīng)的字段數(shù)據(jù),則認為該任一非必選字段不滿足設(shè)備選擇需求。

可選地,在某些實施例中,所述創(chuàng)建模塊304之后,還包括:

第三確定模塊,用于確定所述字典中添加的可選字段中滿足設(shè)備刪除需求的可刪除字段;

刪除模塊,用于從所述字典中刪除所述可刪除字段對應(yīng)的字段數(shù)據(jù)以及字段名稱。

其中,所述設(shè)備刪除需求可以根據(jù)當(dāng)前智能可穿戴設(shè)備的實際功能需求對任一可選字段進行判斷,如果實際的功能需求不需要該可選字段的字段數(shù)據(jù),則認為該可選字段是滿足設(shè)備刪除需求的可刪除字段,反之則認為該可選字段不滿足設(shè)備刪除需求。

在一個實際應(yīng)用中,以智能可穿戴設(shè)備的待傳輸數(shù)據(jù)為用戶信息為例,通信協(xié)議中設(shè)定了用戶信息的預(yù)定字段包括身高、體重、性別、年齡,并定義用戶信息的各個預(yù)定字段對應(yīng)的字段名稱及可選類型。定義身高字段對應(yīng)的字段名稱為‘height’,可選類型為:必選字段;體重字段對應(yīng)的字段名稱為‘weight’,可選類型為:必選字段;性別字段對應(yīng)的字段名稱為‘gender’,可選類型為:可選字段;年齡字段對應(yīng)的字段名稱為‘a(chǎn)ge’,可選類型為:可選字段。

智能可穿戴設(shè)備獲取用戶輸入的用戶信息后,確定該用戶信息中各個預(yù)定字段的字段數(shù)據(jù)以及字段名稱并識別所述各個預(yù)定字段中的必選字段以及非必選字段。其中,必選字段為height及weight,非必選字段為age及gender。根據(jù)當(dāng)前智能可穿戴設(shè)備的用戶輸入的用戶信息,確定所述非必選字段中的可選字段。例如,用戶輸入的用戶信息對應(yīng)的字段數(shù)據(jù)及字段名稱為,height:180,weight:75,gender:man(男性)。其中,非必選字段中的age沒有對應(yīng)的字段數(shù)據(jù),而非必選字段gender對應(yīng)有字段數(shù)據(jù)為man,因此可以確定非必選字段中的可選字段為gender。

將所述必選字段的字段名稱height及weight作為鍵,對應(yīng)的字段數(shù)據(jù)180及75作為值,創(chuàng)建字典,并將可選字段的字段名稱gender作為鍵,對應(yīng)的字段數(shù)據(jù)man作為值,添加到字典中。

例如,可以按以下代碼創(chuàng)建字典:首先按照必選字段創(chuàng)建user_infor字典

user_infor=dict(height=180,weight=75)

而對于可選字段,如果要添加性別字段,可按如下方式添加:

user_infor[‘gender’]=‘man’。

可選地,根據(jù)當(dāng)前智能可穿戴設(shè)備的用于計算用戶體重是否超標的功能需求,不需要用戶的性別就可以計算獲得用戶的體重是否超標,因此可以判斷該字典中添加的可選字段gender是可刪除字段,從該字典中刪除可刪除字段的字段名稱gender以及字段數(shù)據(jù)man。將該字典進行組包獲得組包數(shù)據(jù)發(fā)送至移動終端。

圖4為本發(fā)明實施例的一種數(shù)據(jù)傳輸裝置的另一個實施例的結(jié)構(gòu)示意圖,該裝置應(yīng)用于移動終端,可以包括:

接收模塊401,用于接收智能可穿戴設(shè)備發(fā)送的組包數(shù)據(jù),并從所述組包數(shù)據(jù)中獲得字典。

移動終端接收到所述組包數(shù)據(jù)后,按照組包的逆過程對該組包數(shù)據(jù)進行拆包,從而獲得所述組包數(shù)據(jù)中的字典。

其中,所述字典為所述智能可穿戴設(shè)備通過識別待傳輸數(shù)據(jù)中各個預(yù)定字段中的必選字段以及非必須字段,并確定所述非必選字段中的可選字段之后,將所述必選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,以及將所述可選字段的字段名稱作為鍵,對應(yīng)的字段數(shù)據(jù)作為值,創(chuàng)建的;所述組包數(shù)據(jù)為將所述字典進行組包獲得。。

解析模塊402,用于解析所述字典,獲得各個鍵及各個鍵分別對應(yīng)的值。

由于字典本身是根據(jù)鍵/值建立的映射關(guān)系,不存在解析順序,因此只要將各個預(yù)定字段名稱作為鍵,即可解析獲得字典中各個鍵對應(yīng)的值。

可選地,在某些實施例中,所述解析模塊402具體可以用于:

基于各個預(yù)定字段,從所述字典中解析獲得必選字段的字段數(shù)據(jù);

基于任一個非必選字段,從所述字典中查詢是否存在所述任一個非必選字段對應(yīng)的字段數(shù)據(jù);

若是,確定所述任一個非必選字段為可選字段,并獲得所述可選字段的字段數(shù)據(jù)。

可選地,所述從所述字典中查詢是否存在所述任一個非必選字段對應(yīng)的字段數(shù)據(jù)可以是:判斷所述任一個非必選字段的字段名稱是否作為所述字典的鍵,如果是則說明所述字典中存在所述任一個費必選字段對應(yīng)的字段數(shù)據(jù)。

在移動終端通過通信協(xié)議中的各個預(yù)定字段,確定各個預(yù)定字段的必選字段及其對應(yīng)的字段名稱,以及非必選字段及其對應(yīng)的字段名稱。將必選字段的字段名稱作為鍵,解析所述字典獲得必選字段的字段數(shù)據(jù);對于非必選字段,首選判斷該字典的鍵中是否包含所述非必選字段的字段名稱,如果是,該非必選字段為可選字段,并將該可選字段的字段名稱作為鍵,解析所述字典獲得可選字段的字段數(shù)據(jù)。

在一個是實際應(yīng)用中,繼續(xù)以圖1實施例中的用戶信息作為待傳輸數(shù)據(jù)為例,智能可穿戴設(shè)備發(fā)送的組包數(shù)據(jù)中的字典僅包括必選字段的字段數(shù)據(jù),因此移動終端接收該組包數(shù)據(jù),并獲得該組包數(shù)據(jù)中的字典后。將預(yù)定字段中的必選字段的字段名稱height及weight作為鍵,解析該字典獲得對應(yīng)的字段數(shù)據(jù)180及75。然后,依次判斷非必選字段age及gender中的可選字段。移動終端可以通過發(fā)送查詢指令判斷該非必選字段中的age及gender是否是字典中的鍵,經(jīng)查詢非必選字段中的age及gender均不是該字典中的鍵,因此,非必選字段age及gender中不存在可選字段,不需要再解析該字典。

例如,對于必選字段height及weight可以按以下代碼解析user_infor字典獲得對應(yīng)的字段數(shù)據(jù):

user_infor[‘height’];user_infor[‘weight’];

對于非必選字段需要首先判斷user_infor字典是否包含age及gender:

發(fā)送‘a(chǎn)ge’inuser_infor;

若返回true,則可獲取用戶年齡:

user_infor[‘a(chǎn)ge’];

若返回false,則user_infor字典中不存在age字段的鍵。

發(fā)送‘gender’inuser_infor;

若返回true,則可獲取用戶性別:

user_infor[‘a(chǎn)ge’];

若返回false,則user_infor字典中不存在gender字段的鍵。

本實施例中,移動終端從組包數(shù)據(jù)中獲得字典后,通過解析所述字典,可以獲得各個鍵及各自對應(yīng)的值。具體是根據(jù)通信協(xié)議中的預(yù)定字段,獲取必選字段并將必選字段對應(yīng)的字段名稱作為鍵解析獲得對應(yīng)的字段數(shù)據(jù);可選字段則是通過判斷非必選字段中對應(yīng)的字段名稱是否作為字典的鍵而確定的,并將可選字段對應(yīng)的字段名稱作為鍵解析獲得對應(yīng)的字段數(shù)據(jù)??芍苿咏K端只需要根據(jù)通信協(xié)議的預(yù)定字段即可獲得相應(yīng)的必選字段和可選字段,不存在由于解析順序?qū)е碌慕馕鲥e誤,因此大大提高了數(shù)據(jù)傳輸?shù)目煽啃约巴ㄓ眯?,有力于利于代碼的移植和維護。

在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。

計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括非暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。

如在說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準則。如在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語,故應(yīng)解釋成“包含但不限定于”?!按笾隆笔侵冈诳山邮盏恼`差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過其他裝置或耦接手段間接地電性耦接至所述第二裝置。說明書后續(xù)描述為實施本發(fā)明的較佳實施方式,然所述描述乃以說明本發(fā)明的一般原則為目的,并非用以限定本發(fā)明的范圍。本發(fā)明的保護范圍當(dāng)視所附權(quán)利要求所界定者為準。

還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素

上述說明示出并描述了本發(fā)明的若干優(yōu)選實施例,但如前所述,應(yīng)當(dāng)理解本發(fā)明并非局限于本文所披露的形式,不應(yīng)看作是對其他實施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述申請構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進行改動。而本領(lǐng)域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應(yīng)在本發(fā)明所附權(quán)利要求的保護范圍內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1