通信方法及装置与流程
未命名
07-14
阅读:93
评论:0

1.本发明涉及通信技术领域,具体涉及一种通信方法及装置。
背景技术:
2.现有的网络通信协议解决了同一网络中的设备通信问题,采用同一个网络通信协议的设备可以进行互相通信。
3.但是在很多情况下,由于不同设备的产品定位不同而可能采用不同的网络通信协议(如物联网领域,不同的设备可能采用wifi/ble/zigbee等不同的网络通信协议),虽然使用同一种网络通信协议的两款设备可以通信,但是采用不同网络通信协议的设备之间无法通信。
技术实现要素:
4.本发明旨在解决采用不同网络通信协议的设备之间的无法通信的技术问题。为此,本发明提出一种通信方法,该方法可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
5.本发明还提出一种通信装置、电子设备、存储介质以及计算机程序产品。
6.根据本发明第一方面实施例的通信方法,包括:
7.第一终端根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;
8.所述第一终端基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;
9.其中,所述目标数据包包括所述第二终端id;
10.所述第二终端id用于唯一标识所述第二终端。
11.本发明实施例提供的通信方法,通过根据接收端id确定接收端使用的网络通信协议、生成与该网络通信协议对应格式的数据包并将数据包发送至接收端,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
12.根据本发明的一个实施例,所述方法还包括:
13.根据在所述第一终端上运行的应用程序的请求消息,确定所述第二终端id。
14.通过为每个第二终端分别设置独一无二的id,再使应用程序确定要向哪个第二终端发送信息,可以提高应用程序的研发效率并降低应用程序的研发成本。
15.根据本发明的一个实施例,所述方法还包括:
16.所述第一终端为所述目标数据包设置目标消息id;
17.其中,所述目标消息id用于唯一标识所述目标数据包。
18.通过为目标数据包设置唯一的目标消息id,可以使得第二终端根据该目标消息id来确定第二终端是否处理过相同的数据包,从而避免重复处理数据包的情况,有效节约了资源并提高了通信效率。
19.根据本发明的一个实施例,在所述第一终端根据所述第二终端id以及所述关联关系,确定所述网络通信协议之前,所述方法还包括:
20.所述第一终端确定所述第二终端id以及所述网络通信协议,并建立所述第二终端id与所述网络通信协议的关联关系。
21.在确定第二终端id以及第二终端使用的网络通信协议的关联关系后,第一终端即可根据第二终端id以及关联关系快速确定第二终端使用的网络通信协议,从而提高了通信效率。
22.根据本发明第二方面实施例的通信方法,包括:
23.第二终端接收第一终端发送的目标数据包;
24.所述第二终端确定所述目标数据包中包括第二终端id,并对所述目标数据包进行处理;
25.其中,所述目标数据包是所述第一终端生成的具有与所述第二终端使用的网络通信协议对应的格式的数据包;所述网络通信协议是所述第一终端根据所述第二终端id以及所述第二终端id与所述网络通信协议的关联关系确定的;
26.所述第二终端id用于唯一标识所述第二终端。
27.本发明实施例提供的通信方法,通过接收发送端根据接收端id确定接收端使用的网络通信协议并生成与该网络通信协议对应格式的数据包,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
28.根据本发明的一个实施例,所述方法还包括:
29.所述第二终端确定所述目标数据包中不包括所述第二终端id,并执行以下任一项:
30.所述第二终端确定支持一个本地连接通道,并丢弃所述目标数据包;
31.所述第二终端确定支持多个本地连接通道,并通过除接收所述目标数据包的当前本地连接通道之外的其他本地连接通道发送所述目标数据包。
32.在第二终端支持一个本地连接通道的情况下,第二终端直接丢弃数据包,可以节约处理资源。在第二终端支持多个本地连接通道的情况下,第二终端通过其他本地连接通道发送目标数据包,一方面可以节约处理资源,另一方面也保证了目标数据包的接收成功率,保证了通信质量。
33.根据本发明的一个实施例,所述方法还包括:
34.所述第二终端确定所述目标数据包的目标消息id;
35.所述第二终端确定处理过具有与所述目标消息id相同的消息id的数据包,并丢弃所述目标数据包;
36.其中,所述目标消息id用于唯一标识所述目标数据包。
37.本发明实施例提供的通信方法,通过根据目标数据包唯一的目标消息id来确定第二终端是否处理过相同的数据包,可以避免第二终端重复处理数据包的情况,有效节约了资源并提高了通信效率。
38.根据本发明的一个实施例,所述第二终端id通过如下任一种方式获取:
39.根据所述第二终端的识别码确定所述第二终端id;
40.根据所述第二终端的注册请求确定所述第二终端id。
41.本发明实施例提供的通信方法,由于可以通过多种方式来确定第二终端id,因此具有较强的实用性。
42.根据本发明第三方面实施例的通信装置,包括:
43.确定模块,用于根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;
44.发送模块,用于基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;
45.其中,所述目标数据包包括所述第二终端id;
46.所述第二终端id用于唯一标识所述第二终端。
47.本发明实施例提供的通信装置,通过根据接收端id确定接收端使用的网络通信协议、生成与该网络通信协议对应格式的数据包并将数据包发送至接收端,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
48.根据本发明第四方面实施例的通信装置,包括:
49.接收模块,用于接收第一终端发送的目标数据包;
50.处理模块,用于确定所述目标数据包中包括第二终端id,并对所述目标数据包进行处理;
51.其中,所述目标数据包是所述第一终端生成的具有与所述第二终端使用的网络通信协议对应的格式的数据包;所述网络通信协议是所述第一终端根据所述第二终端id以及所述第二终端id与所述网络通信协议的关联关系确定的;
52.所述第二终端id用于唯一标识所述第二终端。
53.本发明实施例提供的通信装置,通过接收发送端根据接收端id确定接收端使用的网络通信协议并生成与该网络通信协议对应格式的数据包,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
54.根据本发明第五方面实施例的电子设备,包括:
55.存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第二方面所述的通信方法的步骤。
56.根据本发明第六方面实施例的非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面所述的通信方法的步骤。
57.根据本发明第七方面实施例的计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面或第二方面所述的通信方法的步骤。
58.本发明实施例中的上述一个或多个技术方案,至少具有如下技术效果之一:
59.通过根据接收端id确定接收端使用的网络通信协议、生成与该网络通信协议对应格式的数据包并将数据包发送至接收端,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
60.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
61.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
62.图1是本发明实施例提供的通信方法的流程示意图之一;
63.图2是本发明实施例提供的通信方法的流程示意图之二;
64.图3是应用本发明实施例提供的通信方法的终端的协议栈示意图;
65.图4是应用本发明实施例提供的通信方法的终端的目标数据包的帧结构的形成示意图;
66.图5是本发明实施例提供的通信装置的结构示意图之一;
67.图6是本发明实施例提供的通信装置的结构示意图之二;
68.图7是本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
69.下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例用于说明本发明,但不能用来限制本发明的范围。
70.在本发明实施例的描述中,需要说明的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明实施例的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
71.在本发明实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明实施例中的具体含义。
72.在本发明实施例中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
73.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
74.图1是本发明实施例提供的通信方法的流程示意图之一。参照图1,本发明实施例
提供一种通信方法,可以包括:
75.步骤110、第一终端根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定第二终端使用的网络通信协议;
76.步骤120、第一终端基于网络通信协议生成对应格式的目标数据包,并向第二终端发送目标数据包;
77.其中,目标数据包包括第二终端id;
78.第二终端id用于唯一标识第二终端。
79.需要说明的是,第一终端与第二终端可以是计算机设备,例如智能家电、手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等。
80.第一终端与第二终端可以是相同的终端,也可以是不同的终端。例如,第一终端与第二终端可以均为智能家电;或者,第一终端可以是手机,而第二终端可以是平板电脑。
81.第一终端可以先确定要发送的目标信息以及接收该目标信息的对象的id,即第二终端id。
82.例如,在第一终端上运行的app可以确定要发送给第二终端的目标信息以及第二终端id。或者,第一终端可以根据实际的通信业务需求,确定要发送给第二终端的目标信息以及第二终端id。
83.第一终端确定第二终端id后,会根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定第二终端使用的网络通信协议。
84.其中,网络通信协议可以是各种网络通信协议,例如ieee 802.11、ieee802.15.1、ieee 802.15.4等,本发明实施例不一一例举。
85.第一终端会根据第二终端使用的网络通信协议,确定网络通信协议对应的数据包的格式,并将目标信息以及第二终端id封装到对应格式的数据包中,以生成目标数据包。
86.例如,当第二终端使用的目标网络通信协议为ieee 802.11时,第一终端则可以确定第二终端使用的是wi-fi与第一终端连接,则第一终端会将目标信息以及第二终端id封装到wi-fi数据包中。
87.当第二终端使用的目标网络通信协议为ieee 802.15.1时,第一终端则可以确定第二终端使用的是蓝牙与第一终端连接,则第一终端会将目标信息以及第二终端id封装到蓝牙数据包中。
88.在生成目标数据包后,第一终端可以通过广播或点播方式将目标数据包发送至第二终端。
89.需要说明的是,常常会出现第一终端同时与多个第二终端通信的情况,此时,若未为每个第二终端分贝配置独一无二的id,则可能会出现消息误发的情况,严重浪费了通信资源并影响了通信的准确性。
90.因此,本发明实施例提供的通信方法,通过为每个第二终端分别设置独一无二的id,再根据该id确定最终要向第二终端发送的目标数据包,可以避免信息误发的情况,确保通信的准确性。
91.本发明实施例提供的通信方法,通过根据接收端id确定接收端使用的网络通信协
议、生成与该网络通信协议对应格式的数据包并将数据包发送至接收端,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
92.在一个实施例中,本发明实施例提供的通信方法,还可以包括:
93.根据在第一终端上运行的应用程序的请求消息,确定第二终端id。
94.当在第一终端上运行的应用程序需要向第二终端发送信息时,应用程序可以向第一终端发送请求消息,该请求消息可以包括第二终端id以及要发送给第二终端的目标信息。
95.第一终端收到应用程序的请求消息后即可确定第二终端id。
96.需要说明的是,在第二终端id由应用程序确定,且第一终端同时与多个第二终端通信时,各第二终端采用的网络通信协议不一定相同。此时,若直接通过第一终端的应用程序处理多种网络通信协议的数据,则对于应用程序的研发人员而言无疑是巨大的挑战,并且应用程序的研发效率以及成本也会受到影响。
97.而通过为每个第二终端分别设置独一无二的id,再使应用程序确定要向哪个第二终端发送信息,可以实现终端运行的应用程序与终端通信模块的分离,即应用程序的研发可以无需过多考虑信息的收发,从而可以专注于业务数据的处理。因此,本发明实施例提供的通信方法可以提高应用程序的研发效率并降低应用程序的研发成本。
98.在一个实施例中,本发明实施例提供的通信方法还可以包括:
99.第一终端为目标数据包设置目标消息id;
100.其中,目标消息id用于唯一标识目标数据包。
101.第一终端可以为目标数据包设置唯一的目标消息id,并向第二终端发送设置目标消息id后的目标数据包。
102.需要说明的是,在第一终端与第二终端通信的过程中,可能存在第一终端重复向第二终端发送数据包的情况,也可能存在第二终端接收到其它终端转发的来自第一终端的数据包的情况。
103.因此,通过为目标数据包设置唯一的目标消息id,可以使得第二终端根据该目标消息id来确定第二终端是否处理过相同的数据包,从而避免重复处理数据包的情况,有效节约了资源并提高了通信效率。
104.进一步地,当第一终端通过至少2个通道与第二终端连接时,第一终端可以通过各通道向第二终端发送各对应格式的目标数据包,并且各对应格式的目标数据包具有相同的目标消息id。
105.例如第一终端同时通过wi-fi与蓝牙与第二终端连接时,第一终端可以同时通过wi-fi向第二终端发送wi-fi格式的目标数据包并通过蓝牙向第二终端发送蓝牙格式的目标数据包。其中,wi-fi格式的目标数据包与蓝牙格式的目标数据包具有相同的目标消息id。
106.进一步地,当第一终端通过至少2个通道向第二终端发送目标数据包时,各通道均具有对应的qos机制。例如,当第一终端通过wi-fi向第二终端发送wi-fi格式的目标数据包并通过蓝牙向第二终端发送蓝牙格式的目标数据包时,wi-fi通道与蓝牙通道分别具有对应的qos机制。
107.通过设置多通道qos机制,可以有效提高目标数据包的接收成功率,从而显著提高
了通信质量。
108.在一个实施例中,在步骤110之前,本发明实施例提供的通信方法还可以包括:
109.第一终端确定第二终端id以及第二终端使用的网络通信协议,并建立第二终端id与第二终端使用的网络通信协议的关联关系。
110.第一终端可以采用不同的网络通信协议进行对应网域内的设备发现。
111.例如,第一终端可以通过ieee 802.11协议,扫描一定范围内固定格式的待配置终端的wi-fi热点名称来发现使用wi-fi的第二终端;第一终端还可以通过ieee 802.15.1协议扫描一定范围内的蓝牙广播包,来发现待配网的使用蓝牙的第二终端。
112.需要说明的是,第一终端发现各第二终端后,会获取各第二终端的第二终端id,以及各第二终端所使用的网络通信协议。
113.例如,当第一终端发现第二终端id为001的第二终端使用了wi-fi时,则会记录如下信息:第二终端id:001;使用网络:wi-fi;网络通信协议:ieee 802.11;网络地址:xxx.xxx.xxx。当第一终端发现第二终端id为002的第二终端使用了wi-fi和蓝牙时,则会记录如下信息:第二终端id:002;使用网络:wi-fi/ble;网络通信协议:ieee 802.11/ieee 802.15.1;网络地址:xxx.xxx.xxx/xxx.xxx.xxx。
114.在确定各第二终端id以及第二终端使用的网络通信协议后,第一终端可以以例如列表的方式来建立第二终端id以及第二终端使用的网络通信协议的关联关系,如下表所示:
115.表1第二终端id以及网络通信协议关联表
[0116][0117][0118]
在确定第二终端id以及第二终端使用的网络通信协议的关联关系后,第一终端即可根据第二终端id以及关联关系快速确定第二终端使用的网络通信协议,从而提高了通信效率。
[0119]
图2是本发明实施例提供的通信方法的流程示意图之二。参照图2,本发明实施例提供一种通信方法,可以包括:
[0120]
步骤210、第二终端接收第一终端发送的目标数据包;
[0121]
步骤220、第二终端确定目标数据包中包括第二终端id,并对目标数据包进行处理;
[0122]
其中,目标数据包是第一终端生成的具有与第二终端使用的网络通信协议对应的格式的数据包;网络通信协议是第一终端根据第二终端id以及第二终端id与网络通信协议的关联关系确定的;
[0123]
第二终端id用于唯一标识所述第二终端。
[0124]
需要说明的是,第二终端与第一终端可以是计算机设备,例如智能家电、手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等。
[0125]
第二终端与第一终端可以是相同的终端,也可以是不同的终端。例如,第二终端与第一终端可以均为智能家电;或者,第二终端可以是手机,而第一终端可以是平板电脑。
[0126]
第一终端与第二终端可以是相同的终端,也可以是不同的终端。例如,第一终端与第二终端可以均为智能家电;或者,第一终端可以是手机,而第二终端可以是平板电脑。
[0127]
第一终端可以先确定要发送的目标信息以及接收该目标信息的对象的id,即第二终端id。
[0128]
例如,在第一终端上运行的app可以确定要发送给第二终端的目标信息以及第二终端id。或者,第一终端可以根据实际的通信业务需求,确定要发送给第二终端的目标信息以及第二终端id。
[0129]
第一终端确定第二终端id后,会根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定第二终端使用的网络通信协议。
[0130]
其中,网络通信协议可以是各种网络通信协议,例如ieee 802.11、ieee 802.15.1、ieee 802.15.4等,本发明实施例不一一例举。
[0131]
第一终端会根据第二终端使用的网络通信协议,确定网络通信协议对应的数据包的格式,并将目标信息以及第二终端id封装到对应格式的数据包中,以生成目标数据包。
[0132]
例如,当第二终端使用的目标网络通信协议为ieee 802.11时,第一终端则可以确定第二终端使用的是wi-fi与第一终端连接,则第一终端会将目标信息以及第二终端id封装到wi-fi数据包中。
[0133]
当第二终端使用的目标网络通信协议为ieee 802.15.1时,第一终端则可以确定第二终端使用的是蓝牙与第一终端连接,则第一终端会将目标信息以及第二终端id封装到蓝牙数据包中。
[0134]
在生成目标数据包后,第一终端可以通过广播或点播方式将目标数据包发送至第二终端。
[0135]
需要说明的是,常常会出现第一终端同时与多个第二终端通信的情况,此时,若未为每个第二终端分贝配置独一无二的id,则可能会出现消息误发的情况,严重浪费了通信资源并影响了通信的准确性。
[0136]
因此,本发明实施例提供的通信方法,通过为每个第二终端分别设置独一无二的id,再根据该id确定最终要向第二终端发送的目标数据包,可以避免信息误发的情况,确保通信的准确性。
[0137]
第二终端接收到第一终端发送的目标数据包后,会首先判断目标数据包中是否包括第二终端id。若是,则表明该目标数据包的接收对象即为第二终端,因此第二终端会对从目标数据包解析出的数据进行处理。
[0138]
本发明实施例提供的通信方法,通过接收发送端根据接收端id确定接收端使用的网络通信协议并生成与该网络通信协议对应格式的数据包,可以实现采用不同网络通信协
议的终端之间的通信,显著提高了终端间的通信效率。
[0139]
在一个实施例中,本发明实施例提供的通信方法还可以包括:
[0140]
第二终端确定目标数据包中不包括所述第二终端id,并执行以下任一项:
[0141]
第二终端确定支持一个本地连接通道,并丢弃目标数据包;
[0142]
第二终端确定支持多个本地连接通道,并通过除接收目标数据包的当前本地连接通道之外的其他本地连接通道发送目标数据包。
[0143]
可以理解的是,第二终端接收到第一终端发送的目标数据包后,若确定目标数据包中不包括第二终端id,则表明该目标数据包的接收对象不是第二终端。
[0144]
因此,在第二终端支持一个本地连接通道的情况下,第二终端不会对目标数据包进行处理,而是直接丢弃数据包,以节约处理资源。
[0145]
而在第二终端支持多个本地连接通道的情况下,第二终端会通过其他本地连接通道发送目标数据包,一方面可以节约处理资源,另一方面也保证了目标数据包的接收成功率,保证了通信质量。
[0146]
例如,第二终端同时支持wi-fi连接、蓝牙连接以及zigbee连接,在第二终端收到wi-fi格式的目标数据包后,确定其中不包括第二终端id,则第二终端会分别将wi-fi格式的目标数据包转换为蓝牙格式的目标数据包以及zigbee格式的目标数据包,并分别通过蓝牙连接通道以及zigbee连接通道发送目标数据包。
[0147]
进一步地,当第二终端通过至少2个通道发送目标数据包时,各通道均具有对应的qos机制。例如,当第二终端通过蓝牙发送蓝牙格式的目标数据包并通过zigbee发送zigbee格式的目标数据包时,蓝牙通道与zigbee通道分别具有对应的qos机制。
[0148]
通过设置多通道qos机制,可以有效提高目标数据包的接收成功率,从而显著提高了通信质量。
[0149]
在一个实施例中,本发明实施例提供的通信方法还可以包括:
[0150]
第二终端确定目标数据包的目标消息id;
[0151]
第二终端确定处理过具有与目标消息id相同的消息id的数据包,并丢弃目标数据包;
[0152]
其中,目标消息id用于唯一标识目标数据包。
[0153]
需要说明的是,在第二终端与第一终端通信的过程中,可能存在第二终端重复接收第一终端发送的数据包的情况,也可能存在第二终端接收到其它终端转发的来自第一终端的数据包的情况。
[0154]
因此,第二终端接收到目标数据包后,会首先判断是否处理过具有相同目标消息id的数据包,若是,则第二终端直接丢弃该目标数据包。若否,则第二终端会对目标数据包进行进一步的处理。
[0155]
本发明实施例提供的通信方法,通过根据目标数据包唯一的目标消息id来确定第二终端是否处理过相同的数据包,可以避免第二终端重复处理数据包的情况,有效节约了资源并提高了通信效率。
[0156]
在一个实施例中,第二终端id可以通过如下任一种方式获取:
[0157]
方式1、根据第二终端的识别码确定第二终端id;
[0158]
方式2、根据第二终端的注册请求确定第二终端id。
[0159]
在方式1中,第二终端的识别码指的是第二终端唯一的设备识别码。例如,当第二终端是手机时,第二终端的识别码可以是imei(international mobile equipment identity number,国际移动设备识别码)码;当第二终端是pc(personal computer,个人计算机)时,第二终端的识别码可以是pc的机器识别码。
[0160]
由于第二终端的识别码是独一无二的,因此可以直接将第二终端的识别码作为第二终端id,或者根据第二终端的识别码为第二终端分配第二终端id。
[0161]
在方式2中,第二终端可以向第三方进行注册,例如云端等,由第三方为第二终端分配第二终端id。
[0162]
需要说明的是,第二终端可以在第一终端采用不同的网络通信协议进行对应网域内的设备发现时,允许第一终端访问第二终端id信息,以告知第一终端自己的第二终端id。或者,第二终端可以在确定第二终端id后,向对应网域内的所有第一终端广播第二终端id,以告知各第一终端自己的第二终端id。
[0163]
本发明实施例提供的通信方法,由于可以通过多种方式来确定第二终端id,因此具有较强的实用性。
[0164]
下面以应用本发明实施例提供的通信方法的两个终端为例,对本发明的技术方案进行举例说明:
[0165]
终端a与终端b使用不同的网络通信协议,但采用了相同的协议栈,该协议栈除了包括现有技术中的标准协议外,还包括三层结构:适配层、通道层以及应用层,各层包括至少一个协议,如图3所示。
[0166]
终端a与终端b的通信流程如下:
[0167]
步骤1、终端a与终端b向云端注册,获取对应的第二终端id;
[0168]
终端a和终端b的应用层包括设备入网协议。通过设备入网协议,终端a与终端b可以实现云端的注册。
[0169]
云端对终端a与终端b进行安全校验通过后,完成终端a与终端b的注册,同时分别为终端a与终端b分配唯一的第二终端id。
[0170]
步骤2、终端a确定终端b的第二终端id以及终端b使用的网络通信协议;
[0171]
终端a的适配层包括设备发现协议,终端a根据设备发现协议先通过ieee802.11协议发现终端b,并获取终端b的第二终端id;终端a再通过ieee 802.15.1协议发现终端b。终端a生成终端b的第二终端id以及网络通信协议关联表如下:
[0172]
表2终端b的第二终端id以及网络通信协议关联表
[0173][0174]
步骤3、终端a向终端b发送目标数据包;
[0175]
图4是目标数据包的帧结构的形成示意图,参照图4,终端a通过应用层确定在其上运行的应用程序需要将目标信息发送给终端b,则终端a的应用层根据应用程序的请求消息,将业务协议号、终端b的第二终端id以及目标信息发送给终端a的通道层;其中,目标信
息可以位于帧结构的payload(净载荷)中。
[0176]
终端a的通道层基于表2(即第二终端id与第二终端使用的网络通信协议的关联关系)根据终端b的第二终端id确定终端b所使用的网络通信协议,并且,终端a的通道层还根据其包括的全局qos机制,设置目标消息id,并确定qos值=2。
[0177]
终端a的通道层将业务协议号、终端b的第二终端id、目标信息、终端b所使用的网络通信协议、目标消息id以及qos值=2等信息发送给终端a的适配层。
[0178]
终端a的适配层根据其包括的网络适配协议,依据qos值=2以及终端b所使用的网络通信协议生成wi-fi协议头和协议尾以及蓝牙协议头和协议尾,以形成wi-fi格式的目标数据包以及蓝牙格式的目标数据包。对于在wi-fi格式的目标数据包以及蓝牙格式的目标数据包而言,帧结构中的data(数据)部分均可以包括终端b的第二终端id、业务协议号、payload。
[0179]
其中,帧结构的网络协议头(例如wi-fi协议头、蓝牙协议头等)可以视不同网络协议方式而定。例如,如果目标网络协议通道是以mqtt连接到广域网,则网络协议头为mqtt协议结构,如果是以蓝牙方式入网,则网络协议头则为蓝牙协议头。帧结构的网络协议尾(例如wi-fi协议尾、蓝牙协议尾等)同理。
[0180]
适配层负责根据不同的网络协议通道组建帧结构。例如,当网络协议通道为mqtt,则适配层按照topic+payload的方式组建mqtt消息。如果络协议通道为ble,则适配层按照自定义的ble协议进行帧构建。
[0181]
通道层传递的第二终端id,是为了构建连接层的帧而传递,第二终端id可以包含在网络协议头中,也可以包含在data中。
[0182]
在终端a的适配层形成目标数据包后,终端a的适配层分别为wi-fi格式的目标数据包以及蓝牙格式的目标数据包附上目标消息id,并分别通过wi-fi通道以及蓝牙通道发送wi-fi格式的目标数据包以及蓝牙格式的目标数据包。
[0183]
其中,终端a的适配层还可以包括网络维护协议,用于实现对连接的管理,包括心跳包等;以及安全管理协议,用于采用安全加密方案(例如局域网通信采用ecdh,广域网采用tls加密方式等)对通信数据进行加密。
[0184]
步骤4、终端b接收终端a发送的目标数据包;
[0185]
终端b的适配层接收到目标数据包后,对目标数据包进行拆包,并将拆包后的数据发送给终端b的通道层。
[0186]
步骤5、终端b对目标数据包进行判断。
[0187]
终端b的通道层会基于其包括的全局qos机制首先判断终端b是否处理过具有与目标消息id相同的消息id的数据包(假设终端b首先收到终端a发送的wi-fi格式的目标数据包,再收到终端a发送的蓝牙格式的目标数据包):
[0188]
终端b首先收到终端a发送的wi-fi格式的目标数据包,并确定未处理过具有与目标消息id相同的消息id的数据包,则终端b的通道层根据其包括的设备路由协议再确定目标数据包中是否包括终端b的第二终端id。
[0189]
若目标数据包中包括终端b的第二终端id,则终端b的通道层将业务协议号以及目标信息发送至终端b的应用层;终端b的应用层根据业务协议号将目标信息分配给对应的应用程序处理。
[0190]
若目标数据包中不包括终端b的第二终端id,则终端b的通道层会基于设备路由协议指示终端b的适配层基于其包括的网络适配协议将wi-fi格式的目标数据包转换成蓝牙格式的目标数据包,并通过蓝牙通道将转换格式后的目标数据包发送给其他终端。
[0191]
终端b随后收到蓝牙格式的目标数据包,并确定已处理过具有与目标消息id相同的消息id的数据包,则终端b的通道层直接丢弃该蓝牙格式的目标数据包。
[0192]
本发明实施例还提供一种通信装置,该装置与上文描述的通信方法可相互对应参照。
[0193]
图5是本发明实施例提供的通信装置的结构示意图之一。参照图5,本发明实施例提供的通信装置可以包括:
[0194]
确定模块510,用于根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;
[0195]
发送模块520,用于基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;
[0196]
其中,所述目标数据包包括所述第二终端id;
[0197]
所述第二终端id用于唯一标识所述第二终端。
[0198]
本发明实施例提供的通信装置,通过根据接收端id确定接收端使用的网络通信协议、生成与该网络通信协议对应格式的数据包并将数据包发送至接收端,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
[0199]
在一个实施例中,所述确定模块510还用于:
[0200]
根据在第一终端上运行的应用程序的请求消息,确定所述第二终端id。
[0201]
在一个实施例中,所述确定模块510还用于:
[0202]
为所述目标数据包设置目标消息id;
[0203]
其中,所述目标消息id用于唯一标识所述目标数据包。
[0204]
在一个实施例中,所述确定模块510还用于,在所述第一终端根据所述第二终端id以及所述关联关系,确定所述网络通信协议之前:
[0205]
确定所述第二终端id以及所述网络通信协议,并建立所述第二终端id与所述网络通信协议的关联关系。
[0206]
图6是本发明实施例提供的通信装置的结构示意图之二。参照图6,本发明实施例提供的通信装置可以包括:
[0207]
接收模块610,用于接收第一终端发送的目标数据包;
[0208]
处理模块620,用于确定所述目标数据包中包括第二终端id,并对所述目标数据包进行处理;
[0209]
其中,所述目标数据包是所述第一终端生成的具有与所述第二终端使用的网络通信协议对应的格式的数据包;所述网络通信协议是所述第一终端根据所述第二终端id以及所述第二终端id与所述网络通信协议的关联关系确定的;
[0210]
所述第二终端id用于唯一标识所述第二终端。
[0211]
本发明实施例提供的通信装置,通过接收发送端根据接收端id确定接收端使用的网络通信协议并生成与该网络通信协议对应格式的数据包,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。
[0212]
在一个实施例中,所述处理模块620还用于:
[0213]
确定所述目标数据包中不包括所述第二终端id,并执行以下任一项:
[0214]
确定支持一个本地连接通道,并丢弃所述目标数据包;
[0215]
确定支持多个本地连接通道,并通过除接收所述目标数据包的当前本地连接通道之外的其他本地连接通道发送所述目标数据包。
[0216]
在一个实施例中,所述处理模块620还用于:
[0217]
确定所述目标数据包的目标消息id;
[0218]
确定处理过具有与所述目标消息id相同的消息id的数据包,并丢弃所述目标数据包;
[0219]
其中,所述目标消息id用于唯一标识所述目标数据包。
[0220]
在一个实施例中,所述第二终端id通过如下任一种方式获取:
[0221]
根据所述第二终端的识别码确定所述第二终端id;
[0222]
根据所述第二终端的注册请求确定所述第二终端id。
[0223]
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communications interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行上述各方法实施例所提供的方法,例如包括:
[0224]
第一终端根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;
[0225]
所述第一终端基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;
[0226]
其中,所述目标数据包包括所述第二终端id;
[0227]
所述第二终端id用于唯一标识所述第二终端。或者,
[0228]
第二终端接收第一终端发送的目标数据包;
[0229]
所述第二终端确定所述目标数据包中包括第二终端id,并对所述目标数据包进行处理;
[0230]
其中,所述目标数据包是所述第一终端生成的具有与所述第二终端使用的网络通信协议对应的格式的数据包;所述网络通信协议是所述第一终端根据所述第二终端id以及所述第二终端id与所述网络通信协议的关联关系确定的;
[0231]
所述第二终端id用于唯一标识所述第二终端。
[0232]
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0233]
进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:
[0234]
第一终端根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;
[0235]
所述第一终端基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;
[0236]
其中,所述目标数据包包括所述第二终端id;
[0237]
所述第二终端id用于唯一标识所述第二终端。或者,
[0238]
第二终端接收第一终端发送的目标数据包;
[0239]
所述第二终端确定所述目标数据包中包括第二终端id,并对所述目标数据包进行处理;
[0240]
其中,所述目标数据包是所述第一终端生成的具有与所述第二终端使用的网络通信协议对应的格式的数据包;所述网络通信协议是所述第一终端根据所述第二终端id以及所述第二终端id与所述网络通信协议的关联关系确定的;
[0241]
所述第二终端id用于唯一标识所述第二终端。
[0242]
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以执行上述各方法实施例所提供的方法,例如包括:
[0243]
第一终端根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;
[0244]
所述第一终端基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;
[0245]
其中,所述目标数据包包括所述第二终端id;
[0246]
所述第二终端id用于唯一标识所述第二终端。或者,
[0247]
第二终端接收第一终端发送的目标数据包;
[0248]
所述第二终端确定所述目标数据包中包括第二终端id,并对所述目标数据包进行处理;
[0249]
其中,所述目标数据包是所述第一终端生成的具有与所述第二终端使用的网络通信协议对应的格式的数据包;所述网络通信协议是所述第一终端根据所述第二终端id以及所述第二终端id与所述网络通信协议的关联关系确定的;
[0250]
所述第二终端id用于唯一标识所述第二终端。
[0251]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0252]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0253]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
[0254]
以上实施方式仅用于说明本发明,而非对本发明的限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行各种组合、修改或者等同替换,都不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围中。
技术特征:
1.一种通信方法,其特征在于,包括:第一终端根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;所述第一终端基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;其中,所述目标数据包包括所述第二终端id;所述第二终端id用于唯一标识所述第二终端。2.根据权利要求1所述的通信方法,其特征在于,所述方法还包括:根据在所述第一终端上运行的应用程序的请求消息,确定所述第二终端id。3.根据权利要求2所述的通信方法,其特征在于,所述第一终端的应用层确定所述第二终端id,并向所述第一终端的通道层传输所述第二终端id;所述通道层根据所述第二终端id以及所述关联关系,确定所述网络通信协议;所述第一终端的适配层基于所述网络通信协议生成所述目标数据包,并向所述第二终端发送所述目标数据包。4.根据权利要求1所述的通信方法,其特征在于,所述方法还包括:所述第一终端为所述目标数据包设置目标消息id;其中,所述目标消息id用于唯一标识所述目标数据包。5.根据权利要求3所述的通信方法,其特征在于,所述方法还包括:所述第一终端的通道层为所述目标数据包设置目标消息id;其中,所述目标消息id用于唯一标识所述目标数据包。6.根据权利要求1所述的通信方法,其特征在于,在所述第一终端根据所述第二终端id以及所述关联关系,确定所述网络通信协议之前,所述方法还包括:所述第一终端确定所述第二终端id以及所述网络通信协议,并建立所述第二终端id与所述网络通信协议的关联关系。7.根据权利要求3所述的通信方法,其特征在于,在所述通道层根据所述第二终端id以及所述关联关系,确定所述网络通信协议之前,所述方法还包括:所述适配层确定所述第二终端id以及所述网络通信协议,并创建所述第二终端id与所述网络通信协议的关联关系。8.一种通信方法,其特征在于,包括:第二终端接收第一终端发送的目标数据包;所述第二终端确定所述目标数据包中包括第二终端id,并对所述目标数据包进行处理;其中,所述目标数据包是所述第一终端生成的具有与所述第二终端使用的网络通信协议对应的格式的数据包;所述网络通信协议是所述第一终端根据所述第二终端id以及所述第二终端id与所述网络通信协议的关联关系确定的;所述第二终端id用于唯一标识所述第二终端。9.根据权利要求8所述的通信方法,其特征在于,所述第二终端的适配层接收所述目标数据包;
所述第二终端的通道层确定所述目标数据包中包括所述第二终端id,所述第二终端的应用层处理从所述目标数据包中解析出来的信息。10.根据权利要求8所述的通信方法,其特征在于,所述方法还包括:所述第二终端确定所述目标数据包中不包括所述第二终端id,并执行以下任一项:所述第二终端确定支持一个本地连接通道,并丢弃所述目标数据包;所述第二终端确定支持多个本地连接通道,并通过除接收所述目标数据包的当前本地连接通道之外的其他本地连接通道发送所述目标数据包。11.根据权利要求9所述的通信方法,其特征在于,所述方法还包括:所述通道层确定所述目标数据包中不包括所述第二终端id,并执行以下任一项:所述通道层确定所述第二终端支持一个本地连接通道,并丢弃所述目标数据包;所述通道层确定所述第二终端支持多个本地连接通道,并指示所述适配层通过除接收所述目标数据包的当前本地连接通道之外的其他本地连接通道发送所述目标数据包。12.根据权利要求8所述的通信方法,其特征在于,所述方法还包括:所述第二终端确定所述目标数据包的目标消息id;所述第二终端确定处理过具有与所述目标消息id相同的消息id的数据包,并丢弃所述目标数据包;其中,所述目标消息id用于唯一标识所述目标数据包。13.根据权利要求9所述的通信方法,其特征在于,所述方法还包括:所述通道层确定所述目标数据包的目标消息id;所述通道层确定所述第二终端处理过具有与所述目标消息id相同的消息id的数据包,并丢弃所述目标数据包;其中,所述目标消息id用于唯一标识所述目标数据包。14.根据权利要求8至13任一项所述的通信方法,其特征在于,所述第二终端id通过如下任一种方式获取:根据所述第二终端的识别码确定所述第二终端id;根据所述第二终端的注册请求确定所述第二终端id。15.一种通信装置,其特征在于,包括:确定模块,用于根据第二终端id以及第二终端id与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;发送模块,用于基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;其中,所述目标数据包包括所述第二终端id;所述第二终端id用于唯一标识所述第二终端。16.一种通信装置,其特征在于,包括:接收模块,用于接收第一终端发送的目标数据包;处理模块,用于确定所述目标数据包中包括第二终端id,并对所述目标数据包进行处理;其中,所述目标数据包是所述第一终端生成的具有与所述第二终端使用的网络通信协议对应的格式的数据包;所述网络通信协议是所述第一终端根据所述第二终端id以及所述
第二终端id与所述网络通信协议的关联关系确定的;所述第二终端id用于唯一标识所述第二终端。17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的通信方法的步骤,或者实现如权利要求8至14任一项所述的通信方法的步骤。18.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的通信方法的步骤,或者实现如权利要求8至14任一项所述的通信方法的步骤。19.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的通信方法的步骤,或者实现如权利要求8至14任一项所述的通信方法的步骤。
技术总结
本发明涉及计算机技术领域,提供一种通信方法及装置。所述方法包括:第一终端根据第二终端ID以及第二终端ID与第二终端使用的网络通信协议的关联关系,确定所述第二终端使用的网络通信协议;所述第一终端基于所述网络通信协议生成对应格式的目标数据包,并向所述第二终端发送所述目标数据包;其中,所述目标数据包包括所述第二终端ID;所述第二终端ID用于唯一标识所述第二终端。本发明提供的通信方法及装置,通过根据接收端ID确定接收端使用的网络通信协议、生成与该网络通信协议对应格式的数据包并将数据包发送至接收端,可以实现采用不同网络通信协议的终端之间的通信,显著提高了终端间的通信效率。终端间的通信效率。终端间的通信效率。
技术研发人员:廖志峰 周子航 林羽帆 赖运娥
受保护的技术使用者:广东美的制冷设备有限公司
技术研发日:2021.12.29
技术公布日:2023/7/13
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:智能跳绳及跳绳数据采集系统的制作方法 下一篇:岩体卸荷带的确定方法和装置与流程