CN115280743A - 一种建立用户数据报协议udp传输通道的方法及装置 - Google Patents

一种建立用户数据报协议udp传输通道的方法及装置 Download PDF

Info

Publication number
CN115280743A
CN115280743A CN202280000848.7A CN202280000848A CN115280743A CN 115280743 A CN115280743 A CN 115280743A CN 202280000848 A CN202280000848 A CN 202280000848A CN 115280743 A CN115280743 A CN 115280743A
Authority
CN
China
Prior art keywords
address information
udp
frame
transmission channel
channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280000848.7A
Other languages
English (en)
Inventor
李书珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Publication of CN115280743A publication Critical patent/CN115280743A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开关于一种建立用户数据报协议UDP传输通道的方法、装置、电子设备及存储介质,属于物联网技术领域。其中,该方法包括:周期性广播探测请求帧,其中,探测请求帧中包括代理设备对应的第一用户标识和第一地址信息,接收与代理设备处于同一物联网中的终端设备返回的探测响应帧,其中,探测响应帧包括终端设备对应的第二用户标识和第二地址信息,基于第一地址信息和第二地址信息,与终端设备建立UDP本地传输通道。由此,可通过周期性广播探测请求帧并接收与代理设备处于同一物联网中的终端设备返回的探测响应帧,实现了代理设备和终端设备之间UDP传输通道的建立,从而实现了对终端设备流量的代理,减少了终端设备和云端服务器之间进行TCP连接的压力,提高了网络服务质量。

Description

一种建立用户数据报协议UDP传输通道的方法及装置
技术领域
本公开涉及物联网技术领域,尤其涉及一种建立用户数据报协议UDP传输通道的方法及装置。
背景技术
目前,随着物联网技术的蓬勃发展,在普通家庭宽带下连网的终端设备的数量也越来越多。
随着终端设备的数量的增多,相应地终端设备与云服务器之间进行TCP(Transmission Control Protocol,传输控制协议)长连接的网络压力会增大,往往会降低网络服务质量。
发明内容
本公开提供一种建立用户数据报协议UDP传输通道的方法、装置、电子设备及存储介质,以至少解决相关技术中随着终端设备的数量的增多,终端设备和云服务器之间进行TCP长连接的压力增大,降低网络服务质量的问题。
本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种建立用户数据报协议UDP传输通道的方法,适用于代理设备,包括:周期性广播探测请求帧,其中,所述探测请求帧中包括所述代理设备对应的第一用户标识和第一地址信息;接收与所述代理设备处于同一物联网中的终端设备返回的探测响应帧,其中,所述探测响应帧包括所述终端设备对应的第二用户标识和第二地址信息;基于所述第一地址信息和所述第二地址信息,与所述终端设备建立UDP本地传输通道。
根据本公开实施例的第二方面,提供一种建立用户数据报协议UDP传输通道的方法,适用于终端设备,包括:获取处于同一物联网中代理设备周期性广播的探测请求帧,其中,所述探测请求帧中包括所述代理设备对应的第一用户标识和第一地址信息;确定所述第一用户标识和所述终端设备对应的第二用户标识一致时,向所述代理设备返回探测响应帧,其中,所述探测响应帧包括所述第二用户标识和终端设备的第二地址信息;基于所述第一地址信息和所述第二地址信息,与所述代理设备进行UDP建链流程,以建立所述UDP本地传输通道。
根据本公开实施例的第三方面,提供一种建立用户数据报协议UDP传输通道的装置,适用于代理设备,包括:广播模块,被配置为执行周期性广播探测请求帧,其中,所述探测请求帧中包括所述代理设备对应的第一用户标识和第一地址信息;接收模块,被配置为执行接收与所述代理设备处于同一物联网中的终端设备返回的探测响应帧,其中,所述探测响应帧包括所述终端设备对应的第二用户标识和第二地址信息;传输模块,被配置为执行基于所述第一地址信息和所述第二地址信息,与所述终端设备建立UDP本地传输通道。
根据本公开实施例的第四方面,提供一种建立用户数据报协议UDP传输通道的装置,适用于终端设备,包括:第一获取模块,被配置为执行获取处于同一物联网中代理设备周期性广播的探测请求帧,其中,所述探测请求帧中包括所述代理设备对应的第一用户标识和第一地址信息;返回模块,被配置为执行确定所述第一用户标识和所述终端设备对应的第二用户标识一致时,向所述代理设备返回探测响应帧,其中,所述探测响应帧包括所述第二用户标识和终端设备的第二地址信息;传输模块,被配置为执行基于所述第一地址信息和所述第二地址信息,与所述代理设备进行UDP建链流程,以建立所述UDP本地传输通道。
根据本公开实施例的第五方面,提供一种电子设备,包括:处理器;用于存储所述处理器的可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现如本公开实施例第一方面或者本公开实施例第二方面所述的建立用户数据报协议UDP传输通道的方法。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如本公开实施例第一方面或者本公开实施例第二方面所述的建立用户数据报协议UDP传输通道的方法。
本公开的实施例提供的技术方案至少带来以下有益效果:可通过周期性广播探测请求帧并接收与代理设备处于同一物联网中的终端设备返回的探测响应帧,实现了代理设备和终端设备之间UDP传输通道的建立,从而实现了对终端设备流量的代理,减少了终端设备和云端服务器之间进行TCP连接的压力,提高了网络服务质量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种建立用户数据报协议UDP传输通道的方法的流程图。
图2是根据一示例性实施例示出的建立UDP本地传输通道的交互示意图。
图3是根据一示例性实施例示出的一种流量代理方法的流程图。
图3a是根据一示例性实施例示出的流量代理模式的示意图。
图4是根据一示例性实施例示出的另一种建立用户数据报协议UDP传输通道的方法的流程图。
图5是根据一示例性实施例示出的另一种流量代理的方法的流程图。
图6是根据一示例性实施例示出的关闭UDP本地传输通道的交互示意图。
图7是根据一示例性实施例示出的另一种建立用户数据报协议UDP传输通道的方法的流程图。
图8是根据一示例性实施例示出的另一种流量代理方法的流程图。
图9是根据一示例性实施例示出的一种建立用户数据报协议UDP传输通道的装置的框图。
图10是根据一示例性实施例示出的另一种建立用户数据报协议UDP传输通道的装置的框图。
图11是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种建立用户数据报协议UDP传输通道的方法的流程图,如图1所示,本公开实施例的建立用户数据报协议UDP传输通道的方法由代理设备执行,该方法可以包括以下步骤。
S101,周期性广播探测请求帧,其中,探测请求帧中包括代理设备对应的第一用户标识和第一地址信息。
需要说明的是,本公开实施例的建立用户数据报协议UDP传输通道的方法的执行主体为代理设备,其中,代理设备包括但不限于手机、平板电脑、笔记本、台式电脑、车载终端、智能家电等。本公开实施例的建立用户数据报协议UDP传输通道的方法可以由本公开实施例的建立用户数据报协议UDP传输通道的装置执行,本公开实施例的建立用户数据报协议UDP传输通道的装置可以配置在任意代理设备中,以执行本公开实施例的建立用户数据报协议UDP传输通道的方法。
本领域可以理解的是,光猫或光纤入户路由器需要为所有接入路由器的终端设备对应的TCP连接通道进行NAT(Network Address Translation,网络地址转换)转换,而运营商的设备硬件资源有限,智能家居场景下用户连网的终端设备越多,光猫或入户路由器的NAT转换压力就越大,从而降低了网络质量,影响用户的上网体验。
基于此,本公开实施例提出了一种建立用户数据报协议UDP传输通道的方法,通过TCP连接通道和UDP(User Datagram Protocol,用户数据报协议)本地传输通道对终端设备与云服务器通信时所需数据帧进行传输,能够使流量被代理的终端设备不再单独创建TCP连接通道,从而消除运营商设备的NAT转换压力,突破终端设备连网数量限制,提高网络服务质量。
本公开的实施例中,代理设备周期性广播探测请求帧至终端设备,其中,探测请求帧用于代理设备发现局域网内同一用户名下的终端设备,为建立UDP本地传输通道做好准备,第一用户标识为代理设备所属的用户账号的UID(User Identity,用户识别码),第一地址信息为代理设备发送的探测请求帧的源IP(Internet Protocol,IP地址)信息。可选地,探测请求帧的UID的字节长度为8。
需要说明的是,广播指一对多的信息交换,对应的,一对一的信息交换即为单播,本公开对代理设备周期性广播的具体形式不做过多限定,可根据实际情况进行设置。例如,代理设备可以将1分钟或5秒钟作为一个周期,到达设定周期后就向终端设备发送一次探测请求帧,以实现定时广播的需求。
例如,如图2所示,探测请求帧为probe_request,探测响应帧为probe_response,代理设备和终端设备分别在初始化、连接云服务器即和服务器建立TCP连接通道后,代理设备向终端设备以广播的形式发送探测请求帧probe_request。其中,初始化即初始化设备的参数,恢复设备默认状态。
进一步地,终端设备在接收到代理设备的探测请求帧后,对探测请求帧中的UID字段进行解析,如果代理设备的UID与终端设备自身的UID相同即两者同属一个用户账户,则终端设备记录收到的探测请求帧的UDP报文的源IP信息,并返回探测响应帧至代理设备。
S102,接收与代理设备处于同一物联网中的终端设备返回的探测响应帧,其中,探测响应帧包括终端设备对应的第二用户标识和第二地址信息。
其中,探测响应帧由终端设备确定出第一用户标识和第二用户标识相同。
本公开的实施例中,第二用户标识为终端设备所属的用户账户的UID,第二地址信息为终端设备发来的探测响应帧的源IP信息,当步骤S302的探测请求帧的第一用户标识和本步骤的探测响应帧的第二用户标识相同时即代理设备和终端设备处于同一用户账户下时,终端设备确定返回探测响应帧,代理设备对终端设备返回的探测响应帧进行接收,如图1所示,终端设备在接收到代理设备以广播的形式发送的探测请求帧probe_request后,以单播的形式向代理设备返回探测响应帧probe_response。
S103,基于第一地址信息和第二地址信息与终端设备进行UDP建链流程,以建立UDP本地传输通道。
本公开的实施例中,经过一轮探测请求帧和探测响应帧的信息交换,代理设备和终端设备均获得了对方的地址信息即源IP信息,基于代理设备和终端设备的地址信息,在代理设备和终端设备之间建立UDP本地传输通道。也就是说,代理设备可基于第一地址信息和第二地址信息,与终端设备进行UDP建链流程,从而建立UDP本地传输通道。代理设备以单播的形式进一步向终端设备发送连接请求帧link_request以请求建立本地传输通道,终端设备在接收到代理设备发送的link_request后,同样以单播的形式向代理设备返回连接响应帧link_response表示同意建立本地传输通道,以实现本地传输通道的建立。
本公开的实施例提供的建立用户数据报协议UDP传输通道的方法,代理设备周期性广播探测请求帧,接收与代理设备处于同一物联网中的终端设备返回的探测响应帧,基于第一地址信息和第二地址信息,与终端设备建立UDP本地传输通道。由此,可通过周期性广播探测请求帧并接收与代理设备处于同一物联网中的终端设备返回的探测响应帧,实现了代理设备和终端设备之间UDP传输通道的建立,从而实现了对终端设备流量的代理,减少了终端设备和云端服务器之间进行TCP连接的压力,提高了网络服务质量。
图3是根据一示例性实施例示出的一种流量代理方法的流程图,适用于代理设备,如图3所示,本公开实施例的流量代理方法由代理设备执行,可以包括以下步骤。
S301,与云服务器建立传输控制协议TCP连接通道。
本公开的实施例中,代理设备即对处于物联网中的终端设备进行建立用户数据报协议UDP传输通道的的中枢设备,云服务器即对连接的设备提供基础服务和配置的云端主机,代理设备与云服务器可建立传输控制协议TCP连接通道,以进行后续通信消息的处理和转发,如图3a所示。
S302,与处于物联网中的一个或多个终端设备建立用户数据报协议UDP本地传输通道。
本公开的实施例中,终端设备即物联网中的设备,代理设备与处于同一物联网中的终端设备之间建立用户数据报协议UDP本地传输通道,以进行后续信息接收和转发。其中,终端设备的数量可以为一个或者多个。需要说明的是,代理设备的初始状态与云服务器连接,终端设备在与代理设备建立UDP本地传输通道后,会断开与云服务器的连接,之后通过UDP本地传输通道进行信息交互。
还需要说明的是,本公开实施例中,对终端设备的具体类别不做过多限定,可根据实际情况进行设置,例如,继续如上图3a所示,终端设备具体可包括但不限于空气净化器、窗帘控制器、智能门锁等。在传输层上,每个终端设备与代理设备之间各自建立用户数据报协议UDP本地传输通道,则终端设备不再与云服务器直接建立TCP连接通道,所有终端设备与云服务器交互的流量由代理设备进行代理转发,在应用层上,代理设备与被代理流量的终端设备之间交换信息使用UDP报文。
S303,通过TCP连接通道和UDP本地传输通道,传输终端设备与云服务器通信时所需数据帧。
本公开的实施例中,代理设备通过步骤S301建立的TCP连接通道和步骤S302建立的UDP本地传输通道对终端设备和云服务器之间通信时所需的消数据帧进行代理。其中,数据帧为终端设备与云服务器通信数据的数据单元。
作为一种可能的实现方式,终端设备通过UDP本地传输通道发送通信时所需数据帧至代理设备,代理设备接收到终端设备发送的数据帧后,通过与云服务器之间建立的TCP连接通道将该数据帧发送至云服务器,云服务器接受到代理设备发送的数据帧后返回相应的数据帧至代理设备,代理设备在接收到该云服务器返回的数据帧后将其发送至终端设备,从而实现对终端设备和云服务器之间通信时所需数据帧的传输。
本公开的实施例提供的建立用户数据报协议UDP传输通道的方法,代理设备与云服务器建立传输控制协议TCP连接通道,与处于物联网中的一个或多个终端设备建立用户数据报协议UDP本地传输通道,通过TCP连接通道和UDP本地传输通道,传输终端设备与云服务器通信时所需数据帧。由此,可通过TCP连接通道和UDP本地传输通道对终端设备与云服务器通信时所需数据帧进行传输,实现了对终端设备流量的代理,减少了终端设备和云端服务器之间进行TCP连接的压力,提高了网络服务质量。
在上述实施例的基础之上,例如,如图2所示,探测请求帧为probe_request,探测响应帧为probe_response,代理设备和终端设备分别在初始化、连接云服务器即和服务器建立TCP连接通道后,代理设备向终端设备以广播的形式发送探测请求帧probe_request。其中,初始化即初始化设备的参数,恢复设备默认状态。
进一步地,终端设备在接收到代理设备的探测请求帧后,对探测请求帧中的UID字段进行解析,如果代理设备的UID与终端设备自身的UID相同即两者同属一个用户账户,则终端设备记录收到的探测请求帧的UDP报文的源IP信息,并返回探测响应帧至代理设备。
需要说明的是,代理设备在接收到终端设备返回的探测响应帧后,对终端设备返回的探测响应帧中的UID字段进行解析,当确认代理设备的UID与终端设备自身的UID相同之后,代理设备记录接收到的探测响应帧的UDP报文的源IP和终端设备的唯一的DID(Device Identity,设备识别码)。可选地,探测请求帧的DID可为全0xFF,DID的字节长度为8。
需要说明的是,代理设备可对终端设备返回的数据帧或探测响应帧的有效性进行判断和相应的处理。
在一些实施方式中,代理设备响应于接收到数据帧或探测响应帧,从数据帧或探测响应帧中提取时间戳,并基于时间戳和当前时间,获取时间差,响应于时间差小于或者等于窗口时间,确定数据帧或探测响应帧为有效帧,对有效帧进行处理或传输;响应于时间差大于窗口时间,确定数据帧或探测响应帧为无效帧,对无效帧进行丢弃。不难看出,只有当时间差小于或者等于窗口时间时,代理设备收到的终端设备发送的数据帧或探测响应帧才是有效的。
本领域人员可以理解的是,时间戳用于进行消息去重及防重放攻击。可选地,时间戳(timestamp,简称ts)可为国际标准UNIX时间戳,该时间戳的字节长度为4。
图4是根据一示例性实施例示出的另一种建立用户数据报协议UDP传输通道的方法的流程图,如图4所示,本公开实施例的建立用户数据报协议UDP传输通道的方法,可以包括以下步骤。
S401,与云服务器建立传输控制协议TCP连接通道。
S402,周期性广播探测请求帧,其中,探测请求帧中包括代理设备对应的第一用户标识和第一地址信息。
本实施例中的步骤S401~步骤402的介绍,可参见上述实施例中相关内容的记载,此处不再赘述。
S403,接收终端设备返回的探测响应帧,其中,探测响应帧包括终端设备对应的第二用户标识和第二地址信息。
其中,探测响应帧由终端设备确定出第一用户标识和第二用户标识相同。
本实施例中的步骤S401~步骤403的介绍,可参见上述实施例中相关内容的记载,此处不再赘述。
S404,基于设备标识和第二用户标识向云服务器发送密钥获取请求。
本公开的实施例中,探测响应帧还包括终端设备的设备标识,设备标识为终端设备唯一的DID(Device Identity,设备识别码),密钥为终端设备绑定用户账户时由云服务器生成并下发到终端设备的Token(令牌),代理设备基于设备标识和第二用户标识可向云服务器发送密钥获取请求,以获取用户账户下的终端设备对应的密钥。需要说明的是,一个终端设备有且只有一个对应的密钥,不同用户账户和/或不同终端设备均有着不同的密钥。
需要说明的是,代理设备仅能从云服务器获取和终端设备相同用户账号名下的终端设备的密钥。
S405,响应于接收到云服务器返回的第二用户标识对应的密钥,以单播方式向终端设备发送通道建立请求,其中,通道建立请求用于请求与终端设备建立UDP本地传输通道。
本公开的实施例中,代理设备在接收到云服务器返回的第二用户标识对应的密钥后,以单播方式向终端设备发送用于请求与终端设备建立UDP本地传输通道的通道建立请求。
如果代理设备未能从云服务器成功获取第二用户标识对应的终端设备的密钥,例如,发生代理设备未连接到云服务器、云服务器故障等情况,代理设备则不会发送通道建立请求(link_request)至终端设备,这样也就无法建立UDP本地传输通道,那么终端设备则按照正常启动流程连接云服务器,保持原有连接逻辑不变。
S406,基于第一地址信息和第二地址信息与终端设备进行UDP建链流程,以建立UDP本地传输通道。
本实施例中的步骤S401~步骤406的介绍,可参见上述实施例中相关内容的记载,此处不再赘述。
在建立UDP本地传输通道之后,若代理设备和终端设备中的一个地址信息发生更新,而两者之间的UDP本地传输通道未进行同步更新,则代理设备与终端设备之间的本地通信无法进行,往往会导致数据丢失。
本公开实施例中,代理设备需要对第一地址信息和第二地址信息进行更新监控,以及时发现是否发生地址信息更新,尽快进行UDP本地通信道路的重建,能够使得数据的传输更加安全。响应于监测到第一地址和/或第二地址信息更新,则基于更新后地址信息对UDP本地传输通道进行重新建立,也就是重新执行UDP本地传输通道的建链流程。
作为一种可能的实现方式,在建立UDP本地传输通道之后,代理设备定期与终端设备进行探测请求帧和探测响应帧的交互,可选地,提取代理设备探测请求帧中的地址信息,将提取到的代理设备的地址信息与第一地址信息对比,若两者对比未一致确定代理设备发生地址更新。代理设备提取探测响应帧中的地址信息与第二地信息对比,若两者对比未一致确定终端设备发生地址更新。也就是说,当第一地址信息对比未一致和/或第二地址信息比对未一致,可以确定出第一地址和/或第二地址信息发生更新。
进一步地,响应于探测请求帧和/或探测响应帧各自携带的地址信息更新,则基于更新后地址信息对UDP本地传输通道进行重新建立。
例如,如上图2所示,代理设备在建立用户数据报协议UDP传输通道的模式下,始终定期以广播的形式发送探测请求帧probe_request,已与代理设备建立本地传输通道的终端设备在收到probe_request后也会以单播的形式返回探测响应帧probe_response,代理设备和终端设备通过probe_request和probe_response的交互来维护对方的IP地址,当其中一方IP地址改变时,另一方能够及时发现并重新建立本地传输通道。
图5是根据一示例性实施例示出的另一种流量代理方法的流程图,如图5所示,本公开实施例的流量代理方法,可以包括以下步骤。
S501,与云服务器建立传输控制协议TCP连接通道。
S502,与处于物联网中的一个或多个终端设备建立用户数据报协议UDP本地传输通道。
本实施例中的步骤S501~步骤502的介绍,可参见上述实施例中相关内容的记载,此处不再赘述。
S503,响应于接收到终端设备通过UDP本地传输通道发送的上行数据帧,通过TCP连接通道,将上行数据帧发送给云服务器。
本公开的实施例中,代理设备接收到终端设备通过UDP本地传输通道发送的上行数据帧后,通过代理设备和云服务器的TCP连接通道,将上行数据帧发送给云服务器。其中,一般情况下,终端设备的自身状态的改变会通知控制中心(代理设备或者云服务器),这种设备通知上报给控制中心的消息称为上行消息,此处的上行消息为终端设备加密后的上行消息。需要说明的是,终端设备发送上行消息时,使用第二用户标识对应的密钥加密上行消息,在将上行消息打包后通过UDP本地传输通道发送给代理设备。还需要说明的是,代理设备与云服务器的应用层协议采用MQTT over TLS(传输层安全的消息队列遥测传输标准协议)方案,该方案中对上行数据帧的定义如下:device/${DID}/up/${method}:其中,method由云服务器与代理设备约定而成,当DID为代理设备时,该消息为代理设备自身的上行消息,当DID为终端设备时,该消息为代理设备代理终端设备的上行消息。
需要说明的是,本公开对代理设备发送上行数据帧至云服务器的具体方式不做过多限定,可根据实际情况进行设置。
在一些实施方式中,代理设备可基于第一设备标识确定从云服务器获取到的第二用户标识对应的密钥,并基于第二用户标识对应的密钥对加密上行数据帧进行解密,并基于代理设备自身的密钥对解密后的上行消息进行加密后发送给云服务器。其中,代理设备在接收到上行数据帧后,对上行数据帧中的DID字段进行解析,使用相应的终端设备的密钥即第二用户标识对应的密钥对上行数据帧进行解密。
S504,响应于接收到云服务器通过TCP连接通道发送的下行数据帧,通过UDP本地传输通道,将下行数据帧发送给终端设备。
本公开的实施例中,代理设备接收到云服务器通过TCP连接通道发送的下行数据帧后,通过UDP本地传输通道,将下行数据帧发送给终端设备。其中,一般情况下,用户想要控制终端设备时,控制中心(代理设备或者云服务器)会给终端设备发送控制指令,这种包含控制指令的数据帧称为下行数据帧,此处的下行数据帧为云服务器加密后的下行数据帧。
需要说明的是,MQTT over TLS方案中对下行数据帧的定义如下:device/${DID}/down/${method}:其中,method由云服务器与代理设备约定而成,当DID为代理设备时,该消息为云服务器发给代理设备的下行数据帧,当DID为终端设备时,该消息为代理设备需要代为处理或转发的其他终端设备的下行数据帧。
需要说明的是,本公开对代理设备发送下行数据帧的方式不做过多限定,可根据实际情况进行设置。
在一些实施方式中,代理设备可基于代理设备自身的密钥对加密下行数据帧进行解密,基于第一设备标识确定从云服务器获取到的第二用户标识对应的密钥,并基于第二用户标识对应的密钥对解密后的下行数据帧进行加密,并通过UDP本地传输通道发送给终端设备。
本公开的实施例中,代理设备与云服务器建立传输控制协议TCP连接通道,与处于物联网中的一个或多个终端设备建立用户数据报协议UDP本地传输通道,响应于接收到终端设备通过UDP本地传输通道发送的上行数据帧消息,通过TCP连接通道,将上行数据帧发送给云服务器,响应于接收到云服务器通过TCP连接通道发送的下行数据帧,通过UDP本地传输通道,将下行数据帧发送给终端设备。由此,可通过TCP连接通道和UDP本地传输通道对终端设备与云服务器通信时所需数据帧进行传输,可以减少云服务器的端口的使用数量,缓解了云端服务器的TCP连接压力,增强了本地自动化控制终端设备的能力。同时,通过密钥对数据帧进行加密和解密,提高了传输的安全性,消除了隐私泄露风险。
进一步地,关闭UDP本地传输通道的方式可以有以下两种:
一、响应于第一预设时长内未收到终端设备返回的探测响应帧,则关闭UDP本地传输通道。例如,如图6所示,当代理设备超过一定时间未收到终端设备返回的探测响应帧probe_response,代理设备则认为终端设备已经丢失,从而对相应的UDP本地传输通道进行关闭。需要说明的是,第一预设时长为事先设置,本公开对此不做过多限定,可根据实际情况进行设置。例如,可以将第一预设时长设置为一小时,即当代理设备一小时内未收到终端设备返回的探测响应帧,则关闭UDP本地传输通道。
二、响应于代理设备退出代理模式,广播通道断开指示,其中,通道断开指示用于告知终端设备关闭UDP本地传输通道。例如,如图6所示,UDP本地传输通道建立后,如果代理设备不希望再代理终端设备的数据帧即退出代理模式,比如,代理设备出现更换、重启或故障等情况时,代理设备会以广播的形式发送unlink_notify以告知终端设备关闭UDP本地传输通道,终端设备在接收到代理设备的unlink_notify后对其中的DID和UID字段进行解析,如果DID、UID与当前跟终端设备建立UDP本地传输通道的代理设备相匹配,终端设备则会关闭UDP本地传输通道,停止向该代理设备发送上行数据帧,同时,终端设备则退回刚启动时的初始状态,重新连接云服务器。
图7为本公开另一实施例提供的建立用户数据报协议UDP传输通道的方法的流程示意图。如图7所示,本公开实施例的建立用户数据报协议UDP传输通道的方法由终端设备执行,该方法可包括以下步骤:
S701,获取代理设备周期性广播的探测请求帧。
其中,探测请求帧中包括代理设备对应的第一用户标识和第一地址信息。
S702,确定第一用户标识和终端设备对应的第二用户标识一致时,向代理设备返回探测响应帧,其中,探测响应帧包括第二用户标识和终端设备的第二地址信息。
S703,基于第一地址信息和第二地址信息,与代理设备进行UDP建链流程,以建立UDP本地传输通道。
关于终端设备与代理设备建立UDP本地传输通道的具体过程,可参见上述实施例中相关内容的记载,此处不再赘述。
本公开实施例中,终端设备需要对第一地址信息和第二地址信息进行更新监控,以及时发现是否发生地址信息更新,尽快进行UDP本地通信道路的重建,能够使得数据的传输更加安全。响应于监测到第一地址和/或第二地址信息更新,则基于更新后地址信息对UDP本地传输通道进行重新建立,也就是重新执行UDP本地传输通道的建链流程。
图8为本公开另一实施例提供的流量代理方法的流程示意图。本公开实施例的流量代理方法,可由本公开实施例适用于终端设备。如图8所示,本公开实施例的流量代理方法具体可包括以下步骤:
S801,响应于与处于物联网中的代理设备建立用户数据报协议UDP本地传输通道,断开与云服务器的第一TCP连接通道。
具体的,关于步骤801的具体介绍,可参加上述实施例中相关内容的记载,此处不再赘述。
S802,通过UDP本地传输通道传输与云服务器通信所需的数据帧。
本申请实施例中,代理设备与云服务器之间存在TCP连接通道。
通过UDP本地传输通道传输与云服务器通信所需的上行数据帧,代理设备通过与云服务器之间的TCP连接通道,将数据帧发送给云服务器。
作为一种可能的实施方式,终端设备可以通过UDP本地传输通道传输和代理设备向云服务器传输上行数据帧,通过UDP本地传输通道接收代理设备传输的来自云服务器的下行数据帧。
本公开的实施例提供的建立用户数据报协议UDP传输通道的方法,终端设备与处于物联网中的代理设备建立用户数据报协议UDP本地传输通道,断开与云服务器的第一TCP连接通道,通过UDP本地传输通道传输与云服务器通信所需的数据帧。由此,可通过TCP连接通道和UDP本地传输通道对终端设备与云服务器通信时所需数据帧进行传输,可以减少云服务器的端口的使用数量,缓解了云端服务器的TCP连接压力,增强了本地自动化控制终端设备的能力。
可选地,终端设备存储有所绑定的第二用户标识对应的密钥,终端设备可以对上行数据帧进行加密,并通过UDP本地传输通道,将加密上行数据帧发送给代理设备。相应地,代理设备可以从云服务器获取到第二用户标识对应的密钥,进而可以根据第二用户标识对应的密钥对加密上行数据帧进行解密。进一步地,代理设备基于自身的密钥对解密后的上行数据帧进行加密后发送给云服务器。
可选地,云服务器可以通过与代理设备之间的TCP连接通道,将下行数据帧发送给终端设备,实现中,云服务器可以通过与代理设备之间的TCP连接通道,将下行数据帧发送给代理设备,代理设备通过UDP本地传输通道将下行数据帧发送给终端设备。
可选地,为了保证通信安全,云服务器通过代理设备对应的密钥对下行数据帧进行加密,得到加密下行数据帧,并将加密下行数据帧发送给代理设备,代理设备基于自身的密钥进行解密,得到解密后下行数据帧。进一步地,基于终端设备所绑定的第二用户标识对应的密钥对解密后下行数据帧进行加密,通过UDP本地传输通道发送至终端设备,相应地,终端设备通过UDP本地传输通道接收加密下行数据帧,并基于终端设备所绑定的第二用户标识对应的密钥对加密下行数据帧进行解密,得到下行数据帧。
本公开的实施例中,终端设备、代理设备和云服务器基于第二用户标识对应的密钥和/或代理设备自身的密钥对数据帧进行相应的加密和/或解密处理,提高了传输的安全性,消除了隐私泄露的风险。此外,只有代理设备可以在云服务器获取到第二用户标识对应的密钥,增强了代理设备的控制能力,进一步提高了传输的安全性。
可选地,与处于同一物联网中代理设备建立UDP本地传输通道之前,终端设备基于第一TCP连接通道,将第二用户标识对应的密钥、第二用户标识和终端设备的第一设备标识同步发送给云服务器。
在建立UDP本地传输通道之后,若代理设备和终端设备中的一个地址信息发生更新,而两者之间的UDP本地传输通道未进行同步更新,则代理设备与终端设备之间的本地通信无法进行,往往会导致数据丢失。
本公开实施例中,终端设备需要对第一地址信息和第二地址信息进行更新监控,以及时发现是否发生地址信息更新,尽快进行UDP本地通信道路的重建,能够使得数据的传输更加安全。响应于监测到第一地址和/或第二地址信息更新,则基于更新后地址信息对UDP本地传输通道进行重新建立,也就是重新执行UDP本地传输通道的建链流程。
作为一种可能的实现方式,建立UDP本地传输通道之后,终端设备定期与代理设备进行探测请求帧和探测响应帧的交互,可选地,提取代理设备探测请求帧中的地址信息,将提取到的代理设备的地址信息与第一地址信息对比,若两者对比未一致确定代理设备发生地址更新。代理设备提取探测响应帧中的地址信息与第二地信息对比,若两者对比未一致确定终端设备发生地址更新。也就是说,当第一地址信息对比未一致和/或第二地址信息比对未一致,可以确定出第一地址和/或第二地址信息发生更新。
响应于探测请求帧和/或探测响应帧内携带的地址信息更新,则基于更新后地址信息对UDP本地传输通道进行重新建立。
可选地,响应于终端设备满足UDP本地传输通道的关闭条件,则关闭UDP本地传输通道,并重新建立终端设备与云服务器之间的第一TCP连接通道。
可选地,UDP本地传输通道的关闭条件包括以下中的至少一项:预设时长内终端设备未收到代理设备广播的探测请求帧;接收代理设备广播的通道断开指示。
可选地,通道断开指示包括第二设备标识和第三用户标识,其中,关闭UDP本地传输通道,包括:响应于第二设备标识为终端设备的第一设备标识,且第三用户标识为终端设备所绑定的第二用户标识,则关闭UDP本地传输通道。
此处需要说明的是,上述对建立用户数据报协议UDP传输通道的方法实施例的解释说明,也适用于本公开实施例的建立用户数据报协议UDP传输通道的方法,具体过程此处不再赘述。
本公开的实施例中,终端设备响应于与处于物联网中的代理设备建立用户数据报协议UDP本地传输通道,断开与云服务器的第一TCP连接通道,通过UDP本地传输通道传输与云服务器通信所需的数据帧。由此,通过UDP本地传输通道传输与云服务器通信所需的数据帧,可以减少云服务器的端口的使用数量,缓云服务器进行TCP连接的压力,提高了网络服务质量。
图9是根据一示例性实施例示出的一种建立用户数据报协议UDP传输通道的装置的框图。如图9所示,本公开实施例的建立用户数据报协议UDP传输通道的装置900,包括连接模块901、第一传输模块902和第二传输模块903。
连接模块901,被配置为执行与云服务器建立传输控制协议TCP连接通道。
第一传输模块902,被配置为执行与处于物联网中的一个或多个终端设备建立用户数据报协议UDP本地传输通道。
第二传输模块903,被配置为执行通过TCP连接通道和UDP本地传输通道,传输终端设备与云服务器通信时所需数据帧。
在本公开的一个实施例中,第一传输模块902,还被配置为执行:周期性广播探测请求帧,其中,探测请求帧中包括代理设备对应的第一用户标识和第一地址信息;接收终端设备返回的探测响应帧,其中,探测响应帧包括终端设备对应的第二用户标识和第二地址信息;基于第一地址信息和第二地址信息与终端设备进行UDP建链流程,以建立UDP本地传输通道。
在本公开的一个实施例中,探测响应帧还包括终端设备的设备标识,第一传输模块902,还被配置为执行:基于设备标识和第二用户标识向云服务器发送密钥获取请求;响应于接收到云服务器返回的第二用户标识对应的密钥,以单播方式向终端设备发送通道建立请求,其中,通道建立请求用于请求与终端设备建立UDP本地传输通道。
在本公开的一个实施例中,第二传输模块903,还被配置为执行:响应于接收到终端设备通过UDP本地传输通道发送的上行数据帧,通过TCP连接通道,将上行数据帧发送给云服务器。
在本公开的一个实施例中,第二传输模块903,还被配置为执行:响应于接收到云服务器通过TCP连接通道发送的下行数据帧;通过UDP本地传输通道,将下行数据帧发送给终端设备。
在本公开的一个实施例中,上行数据帧为加密上行数据帧且包括终端设备的第一设备标识,其中,第二传输模块903,还被配置为执行:基于第一设备标识确定从云服务器获取到的第二用户标识对应的密钥,并基于第二用户标识对应的密钥对加密上行数据帧进行解密;基于代理设备自身的密钥对解密后的上行数据帧进行加密后发送给云服务器。
在本公开的一个实施例中,下行数据帧为加密下行数据帧且包括终端设备的第一设备标识,其中,第二传输模块903,还被配置为执行:基于代理设备自身的密钥对加密下行数据帧进行解密;基于第一设备标识确定从云服务器获取到的第二用户标识对应的密钥,并基于第二用户标识对应的密钥对解密后的下行数据帧进行加密,并通过UDP本地传输通道发送给终端设备。
在本公开的一个实施例中,该建立用户数据报协议UDP传输通道的装置900还包括:获取模块,被配置为执行响应于接收到数据帧或探测响应帧,从数据帧或探测响应帧中提取时间戳,并基于时间戳和当前时间,获取时间差;第一确定模块,被配置为执行响应于时间差小于或者等于窗口时间,确定数据帧或探测响应帧为有效帧,对有效帧进行处理或传输;第二确定模块,被配置为执行响应于时间差大于窗口时间,确定数据帧或探测响应帧为无效帧,对无效帧进行丢弃。
在本公开的一个实施例中,该建立用户数据报协议UDP传输通道的装置900,还包括:交互模块,被配置为执行建立UDP本地传输通道之后,定期与终端设备进行探测请求帧和探测响应帧的交互;
更新模块,被配置为执行响应于探测请求帧和/或探测响应帧各自携带的地址信息更新,则基于更新后地址信息对UDP本地传输通道进行重新建立。
在本公开的一个实施例中,该建立用户数据报协议UDP传输通道的装置900还包括:第一关闭模块,被配置为执行响应于第一预设时长内未收到终端设备返回的探测响应帧,则关闭UDP本地传输通道。
在本公开的一个实施例中,该建立用户数据报协议UDP传输通道的装置900还包括:第二关闭模块,被配置为执行响应于代理设备退出代理模式,广播通道断开指示,其中,通道断开指示用于告知终端关闭UDP本地传输通道。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开的实施例提供的建立用户数据报协议UDP传输通道的装置,代理设备与云服务器建立传输控制协议TCP连接通道,与处于物联网中的一个或多个终端设备建立用户数据报协议UDP本地传输通道,通过TCP连接通道和UDP本地传输通道,传输终端设备与云服务器通信时所需数据帧。由此,可通过TCP连接通道和UDP本地传输通道对终端设备与云服务器通信时所需数据帧进行传输,减少了终端设备和云端服务器之间进行TCP连接的压力,提高了网络服务质量。
图10是根据一示例性实施例示出的一种建立用户数据报协议UDP传输通道的装置的框图。如图10所示,本公开实施例的建立用户数据报协议UDP传输通道的装置1000,包括连接模块1001和传输模块1002。
连接模块1001,被配置为执行响应于与处于物联网中的代理设备建立用户数据报协议UDP本地传输通道,断开与云服务器的第一TCP连接通道。
传输模块1002,被配置为执行通过UDP本地传输通道传输与云服务器通信所需的数据帧。
在本公开的一个实施例中,传输模块1002,还被配置为执行:通过UDP本地传输通道传输和代理设备向云服务器传输上行数据帧;通过UDP本地传输通道接收代理设备传输的来自云服务器的下行数据帧。
在本公开的一个实施例中,连接模块1001,还被配置为执行:获取代理设备周期性广播的探测请求帧,其中,探测请求帧中包括代理设备对应的第一用户标识和第一地址信息;确定第一用户标识和终端设备对应的第二用户标识一致时,向代理设备返回探测响应帧,其中,探测响应帧包括第二用户标识和终端设备的第二地址信息;基于第一地址信息和第二地址信息,与代理设备进行UDP建链流程,以建立UDP本地传输通道。
在本公开的一个实施例中,该建立用户数据报协议UDP传输通道的装置1000,还包括:发送模块,被配置为执行与代理设备建立UDP本地传输通道之前,基于第一TCP连接通道,将第二用户标识对应的密钥、第二用户标识和终端设备的第一设备标识同步发送给云服务器。
在本公开的一个实施例中,传输模块1002,还被配置为执行:基于终端设备所绑定的第二用户标识对应的密钥,对上行数据帧进行加密;通过UDP本地传输通道,将加密上行数据帧发送给代理设备。
在本公开的一个实施例中,下行数据帧为加密下行数据帧,其中,传输模块1002,还被配置为执行:通过UDP本地传输通道接收加密下行数据帧,并基于终端设备所绑定的第二用户标识对应的密钥对加密下行数据帧进行解密。
在本公开的一个实施例中,该建立用户数据报协议UDP传输通道的装置1000,还包括:获取模块,被配置为执行每接收到数据帧或探测请求帧,从接收到的该帧中提取时间戳,并基于时间戳和当前时间,获取时间差;第一确定模块,被配置为执行响应于时间差小于或者等于窗口时间,确定该帧为有效帧,对有效帧进行处理;第二确定模块,被配置为执行响应于时间差大于窗口时间,确定该帧为无效帧,对无效帧进行丢弃。
在本公开的一个实施例中,该建立用户数据报协议UDP传输通道的装置1000,还包括:交互模块,被配置为执行建立UDP本地传输通道之后,定期与代理设备进行探测请求帧和探测响应帧的交互;更新模块,被配置为执行响应于探测请求帧和/或探测响应帧内携带的地址信息更新,则基于更新后地址信息对UDP本地传输通道进行重新建立。
在本公开的一个实施例中,该建立用户数据报协议UDP传输通道的装置1000,还包括:关闭模块,被配置为执行响应于终端设备满足UDP本地传输通道的关闭条件,则关闭UDP本地传输通道,并重新建立终端设备与云服务器之间的第一TCP连接通道。
在本公开的一个实施例中,UDP本地传输通道的关闭条件包括以下中的至少一项:预设时长内终端设备未收到代理设备广播的探测请求帧;接收代理设备广播的通道断开指示。
在本公开的一个实施例中,通道断开指示包括第二设备标识和第三用户标识,其中,关闭模块,还被配置为执行:响应于第二设备标识为终端设备的第一设备标识,且第三用户标识为终端设备所绑定的第二用户标识,则关闭UDP本地传输通道。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开的实施例中,终端设备与处于物联网中的代理设备建立用户数据报协议UDP本地传输通道,断开与云服务器的第一TCP连接通道,通过UDP本地传输通道传输与云服务器通信所需的数据帧。由此,通过UDP本地传输通道传输与云服务器通信所需数据帧,减少了终端设备和云端服务器之间进行TCP连接的压力,提高了网络服务质量。
图11是根据一示例性实施例示出的一种电子设备1100的框图。
如图11所示,上述电子设备1100包括:
存储器1101及处理器1102,连接不同组件(包括存储器1101和处理器1102)的总线1103,存储器1101存储有计算机程序,当处理器1102执行程序时实现本公开实施例上述的建立用户数据报协议UDP传输通道的方法。
总线1103表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备1100典型地包括多种电子设备可读介质。这些介质可以是任何能够被电子设备1100访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器1101还可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)1104和/或高速缓存存储器1105。电子设备1100可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1106可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1103相连。存储器1101可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本公开各实施例的功能。
具有一组(至少一个)程序模块1107的程序/实用工具1108,可以存储在例如存储器1101中,这样的程序模块1107包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1107通常执行本公开所描述的实施例中的功能和/或方法。
电子设备1100也可以与一个或多个外部设备1109(例如键盘、指向设备、显示器1110等)通信,还可与一个或者多个使得用户能与该电子设备1100交互的设备通信,和/或与使得该电子设备1100能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1112进行。并且,电子设备1100还可以通过网络适配器1113与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图11所示,网络适配器1113通过总线1103与电子设备1100的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1100使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器1102通过运行存储在存储器1101中的程序,从而执行各种功能应用以及数据处理。
需要说明的是,本实施例的电子设备的实施过程和技术原理参见前述对本公开实施例的建立用户数据报协议UDP传输通道的方法的解释说明,此处不再赘述。
本公开实施例提供的电子设备,可以执行如前所述的建立用户数据报协议UDP传输通道的方法,与云服务器建立传输控制协议TCP连接通道,与处于物联网中的一个或多个终端设备建立用户数据报协议UDP本地传输通道,通过TCP连接通道和UDP本地传输通道,传输终端设备与云服务器通信时所需数据帧。由此,可通过TCP连接通道和UDP本地传输通道对终端设备与云服务器通信时所需数据帧进行传输,减少了终端设备和云端服务器之间进行TCP连接的压力,提高了网络服务质量。
为了实现上述实施例,本公开还提出一种计算机可读存储介质。
其中,该计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如前所述的建立用户数据报协议UDP传输通道的方法。可选的,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (36)

1.一种建立用户数据报协议UDP传输通道的方法,其特征在于,适用于代理设备,所述方法包括:
周期性广播探测请求帧,其中,所述探测请求帧中包括所述代理设备对应的第一用户标识和第一地址信息;
接收与所述代理设备处于同一物联网中的终端设备返回的探测响应帧,其中,所述探测响应帧包括所述终端设备对应的第二用户标识和第二地址信息;
基于所述第一地址信息和所述第二地址信息,与所述终端设备建立UDP本地传输通道。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一地址信息和所述第二地址信息,与所述终端设备建立UDP本地传输通道,包括:
基于所述第一地址信息和所述第二地址信息,与所述终端设备进行UDP建链流程,以建立所述UDP本地传输通道。
3.根据权利要求2所述的方法,其特征在于,所述探测响应帧还包括所述终端设备的第一设备标识,所述基于所述第一地址信息和所述第二地址信息与所述终端设备进行UDP建链流程,以建立所述UDP本地传输通道,包括:
基于所述设备标识和所述第二用户标识向所述云服务器发送密钥获取请求;
响应于接收到所述云服务器返回的所述第二用户标识对应的密钥,以单播方式向所述终端设备发送通道建立请求,其中,所述通道建立请求用于请求与所述终端设备建立UDP本地传输通道。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于接收到所述探测响应帧,从所述探测响应帧中提取时间戳,并基于所述时间戳和当前时间,获取时间差;
响应于所述时间差小于或者等于窗口时间,确定所述探测响应帧为有效帧,从所述有效帧中获取所述第二地址信息;
响应于所述时间差大于所述窗口时间,确定所述探测响应帧为无效帧,对所述无效帧进行丢弃。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述建立所述UDP本地传输通道之后,还包括:
对所述第一地址信息和所述第二地址信息进行更新监控;
响应于监测到所述第一地址和/或所述第二地址信息更新,则基于更新后地址信息对所述UDP本地传输通道进行重新建立。
6.根据权利要求5所述的方法,其特征在于,所述对所述第一地址信息和所述第二地址信息进行更新监控,包括:
周期性与所述终端设备进行所述探测请求帧和所述探测响应帧的交互;
提取所述探测请求帧中的地址信息与所述第一地址信息对比;
提取所述探测响应帧中的地址信息与所述第二地信息对比;
响应于所述第一地址信息对比未一致和/或所述第二地址信息比对未一致,则确定所述第一地址和/或所述第二地址信息发生更新。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
响应于第一预设时长内未收到所述终端设备返回的所述探测响应帧,则关闭所述UDP本地传输通道。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述代理设备退出代理模式,广播通道断开指示,其中,所述通道断开指示用于告知所述终端关闭所述UDP本地传输通道。
9.一种建立UDP传输通道方法,其特征在于,适用于终端设备,所述方法包括:
获取处于同一物联网中代理设备周期性广播的探测请求帧,其中,所述探测请求帧中包括所述代理设备对应的第一用户标识和第一地址信息;
确定所述第一用户标识和所述终端设备对应的第二用户标识一致时,向所述代理设备返回探测响应帧,其中,所述探测响应帧包括所述第二用户标识和终端设备的第二地址信息;
基于所述第一地址信息和所述第二地址信息,与所述代理设备进行UDP建链流程,以建立所述UDP本地传输通道。
10.根据权利要求9所述的方法,其特征在于,所述建立所述UDP本地传输通道后,所述方法还包括:
断开与云服务器之间的第一TCP连接通道。
11.根据权利要求9所述的方法,其特征在于,所述获取处于同一物联网中代理设备周期性广播的探测请求帧之前,还包括:
基于所述第一TCP连接通道,将所述第二用户标识对应的密钥、所述第二用户标识和所述终端设备的第一设备标识同步发送给所述云服务器。
12.根据权利要求9-11任一项所述的方法,其特征在于,所述方法还包括:
每接收到所述探测请求帧,从接收到的所述探测请求帧中提取时间戳,并基于所述时间戳和当前时间,获取时间差;
响应于所述时间差小于或者等于窗口时间,确定所述探测请求帧为有效帧,从所述有效帧中提取所述第一地址信息;
响应于所述时间差大于所述窗口时间,确定所述探测请求帧为无效帧,对所述无效帧进行丢弃。
13.根据权利要求12所述的方法,其特征在于,所述建立所述UDP本地传输通道之后,还包括:
对所述第一地址信息和所述第二地址信息进行更新监控;
响应于监测到所述第一地址和/或所述第二地址信息更新,则基于更新后地址信息对所述UDP本地传输通道进行重新建立。
14.根据权利要求13所述的方法,其特征在于,所述对所述第一地址信息和所述第二地址信息进行更新监控,包括:
周期性与所述终端设备进行所述探测请求帧和所述探测响应帧的交互;
提取所述探测请求帧中的地址信息与所述第一地址信息对比;
提取所述探测响应帧中的地址信息与所述第二地信息对比;
响应于所述第一地址信息对比未一致和/或所述第二地址信息比对未一致,则确定所述第一地址和/或所述第二地址信息发生更新。
15.根据权利要求9所述的方法,其特征在于,所述方法还包括:
响应于所述终端设备满足所述UDP本地传输通道的关闭条件,则关闭所述UDP本地传输通道,并重新建立所述终端设备与所述云服务器之间的第一TCP连接通道。
16.根据权利要求15所述的方法,其特征在于,所述UDP本地传输通道的关闭条件包括以下中的至少一项:
预设时长内所述终端设备未收到所述代理设备广播的所述探测请求帧;
接收所述代理设备广播的通道断开指示。
17.根据权利要求16所述的方法,其特征在于,所述通道断开指示包括第二设备标识和第三用户标识,其中,所述关闭所述UDP本地传输通道,包括:
响应于所述第二设备标识为所述终端设备的第一设备标识,且所述第三用户标识为所述终端设备所绑定的第二用户标识,则关闭所述UDP本地传输通道。
18.一种建立用户数据报协议UDP传输通道的装置,其特征在于,适用于代理设备,所述装置包括:
广播模块,被配置为执行周期性广播探测请求帧,其中,所述探测请求帧中包括所述代理设备对应的第一用户标识和第一地址信息;
接收模块,被配置为执行接收与所述代理设备处于同一物联网中的终端设备返回的探测响应帧,其中,所述探测响应帧包括所述终端设备对应的第二用户标识和第二地址信息;
传输模块,被配置为执行基于所述第一地址信息和所述第二地址信息,与所述终端设备建立UDP本地传输通道。
19.根据权利要求18所述的装置,其特征在于,所述传输模块,还被配置为执行:
基于所述第一地址信息和所述第二地址信息,与所述终端设备进行UDP建链流程,以建立所述UDP本地传输通道。
20.根据权利要求19所述的装置,其特征在于,所述探测响应帧还包括所述终端设备的第一设备标识,所述传输模块,还被配置为执行:
基于所述设备标识和所述第二用户标识向所述云服务器发送密钥获取请求;
响应于接收到所述云服务器返回的所述第二用户标识对应的密钥,以单播方式向所述终端设备发送通道建立请求,其中,所述通道建立请求用于请求与所述终端设备建立UDP本地传输通道。
21.根据权利要求18所述的装置,其特征在于,所述装置还包括:
获取模块,被配置为执行响应于接收到所述探测响应帧,从所述探测响应帧中提取时间戳,并基于所述时间戳和当前时间,获取时间差;
第一确定模块,被配置为执行响应于所述时间差小于或者等于窗口时间,确定所述探测响应帧为有效帧,从所述有效帧中获取所述第二地址信息;
第二确定模块,被配置为执行响应于所述时间差大于所述窗口时间,确定所述探测响应帧为无效帧,对所述无效帧进行丢弃。
22.根据权利要求18-21任一项所述的装置,其特征在于,所述装置还包括:
监控模块,被配置为执行所述建立所述UDP本地传输通道之后,对所述第一地址信息和所述第二地址信息进行更新监控;
更新模块,被配置为执行响应于监测到所述第一地址和/或所述第二地址信息更新,则基于更新后地址信息对所述UDP本地传输通道进行重新建立。
23.根据权利要求22所述的装置,其特征在于,所述监控模块,还被配置为执行:
周期性与所述终端设备进行所述探测请求帧和所述探测响应帧的交互;
提取所述探测请求帧中的地址信息与所述第一地址信息对比;
提取所述探测响应帧中的地址信息与所述第二地信息对比;
响应于所述第一地址信息对比未一致和/或所述第二地址信息比对未一致,则确定所述第一地址和/或所述第二地址信息发生更新。
24.根据权利要求23所述的装置,其特征在于,所述装置还包括:
第一关闭模块,被配置为执行响应于第一预设时长内未收到所述终端设备返回的所述探测响应帧,则关闭所述UDP本地传输通道。
25.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第二关闭模块,被配置为执行响应于所述代理设备退出代理模式,广播通道断开指示,其中,所述通道断开指示用于告知所述终端关闭所述UDP本地传输通道。
26.一种建立UDP传输通道装置,其特征在于,适用于终端设备,所述装置包括:
第一获取模块,被配置为执行获取处于同一物联网中代理设备周期性广播的探测请求帧,其中,所述探测请求帧中包括所述代理设备对应的第一用户标识和第一地址信息;
返回模块,被配置为执行确定所述第一用户标识和所述终端设备对应的第二用户标识一致时,向所述代理设备返回探测响应帧,其中,所述探测响应帧包括所述第二用户标识和终端设备的第二地址信息;
传输模块,被配置为执行基于所述第一地址信息和所述第二地址信息,与所述代理设备进行UDP建链流程,以建立所述UDP本地传输通道。
27.根据权利要求26所述的装置,其特征在于,所述装置还包括:
断开模块,被配置为执行所述建立所述UDP本地传输通道后,断开与云服务器的第一TCP连接通道。
28.根据权利要26所述的装置,其特征在于,所述第一获取模块,还被配置为执行:
所述获取处于同一物联网中代理设备周期性广播的探测请求帧之前,基于所述第一TCP连接通道,将所述第二用户标识对应的密钥、所述第二用户标识和所述终端设备的第一设备标识同步发送给所述云服务器。
29.根据权利要求26-28任一项所述的装置,其特征在于,所述装置还包括:
第二获取模块,被配置为执行每接收到所述探测请求帧,从接收到的所述探测请求帧中提取时间戳,并基于所述时间戳和当前时间,获取时间差;
第一确定模块,被配置为执行响应于所述时间差小于或者等于窗口时间,确定所述探测请求帧为有效帧,从所述有效帧中提取所述第一地址信息;
第二确定模块,被配置为执行响应于所述时间差大于所述窗口时间,确定所述探测请求帧为无效帧,对所述无效帧进行丢弃。
30.根据权利要求29所述的装置,其特征在于,所述装置还包括:
监控模块,被配置为执行所述建立所述UDP本地传输通道之后,对所述第一地址信息和所述第二地址信息进行更新监控;
更新模块,被配置为执行响应于监测到所述第一地址和/或所述第二地址信息更新,则基于更新后地址信息对所述UDP本地传输通道进行重新建立。
31.根据权利要求30所述的装置,其特征在于,所述监控模块,还被配置为执行:
周期性与所述终端设备进行所述探测请求帧和所述探测响应帧的交互;
提取所述探测请求帧中的地址信息与所述第一地址信息对比;
提取所述探测响应帧中的地址信息与所述第二地信息对比;
响应于所述第一地址信息对比未一致和/或所述第二地址信息比对未一致,则确定所述第一地址和/或所述第二地址信息发生更新。
32.根据权利要26所述的装置,其特征在于,所述装置还包括:
关闭模块,被配置为执行响应于所述终端设备满足所述UDP本地传输通道的关闭条件,则关闭所述UDP本地传输通道,并重新建立所述终端设备与所述云服务器之间的所述第一TCP连接通道。
33.根据权利要求32所述的装置,其特征在于,所述UDP本地传输通道的关闭条件包括以下中的至少一项:
预设时长内所述终端设备未收到所述代理设备广播的所述探测请求帧;
接收所述代理设备广播的通道断开指示。
34.根据权利要求33所述的装置,其特征在于,所述通道断开指示包括第二设备标识和第三用户标识,其中,所述关闭模块,还被配置为执行:
响应于所述第二设备标识为所述终端设备的第一设备标识,且所述第三用户标识为所述终端设备所绑定的第二用户标识,则关闭所述UDP本地传输通道。
35.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-
8中任一项所述的方法,或者如权利要求9-17中任一项所述的方法。
36.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-8中任一项所述的方法,或者如权利要求9-17中任一项所述的方法。
CN202280000848.7A 2022-03-30 2022-03-30 一种建立用户数据报协议udp传输通道的方法及装置 Pending CN115280743A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2022/084175 WO2023184263A1 (zh) 2022-03-30 2022-03-30 一种建立用户数据报协议udp传输通道的方法及装置

Publications (1)

Publication Number Publication Date
CN115280743A true CN115280743A (zh) 2022-11-01

Family

ID=83758080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280000848.7A Pending CN115280743A (zh) 2022-03-30 2022-03-30 一种建立用户数据报协议udp传输通道的方法及装置

Country Status (2)

Country Link
CN (1) CN115280743A (zh)
WO (1) WO2023184263A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104566783A (zh) * 2014-12-05 2015-04-29 广东志高空调有限公司 一种空调控制方法及系统
CN109495258A (zh) * 2018-12-19 2019-03-19 世纪龙信息网络有限责任公司 监控数据解密的方法、装置、计算机设备及存储介质
CN112637344A (zh) * 2020-12-23 2021-04-09 苏州三六零智能安全科技有限公司 物联网设备的监控方法、设备、装置以及存储介质
CN114244886A (zh) * 2021-11-22 2022-03-25 北京小米移动软件有限公司 设备控制方法、设备控制装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243267B (zh) * 2014-09-18 2019-02-22 百度在线网络技术(北京)有限公司 数据传输方法及装置
CN104618988B (zh) * 2015-01-21 2018-11-23 青岛海尔智能家电科技有限公司 智能设备网络接入方法及装置
US10862971B2 (en) * 2018-04-27 2020-12-08 EMC IP Holding Company LLC Internet of things gateway service for a cloud foundry platform
CN110635942B (zh) * 2019-09-02 2022-11-04 上海商米科技集团股份有限公司 设备发现方法、物联网设备、物联网服务器
CN112243002B (zh) * 2020-10-10 2023-07-04 腾讯科技(深圳)有限公司 数据转发方法、装置、电子设备以及计算机可读介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104566783A (zh) * 2014-12-05 2015-04-29 广东志高空调有限公司 一种空调控制方法及系统
CN109495258A (zh) * 2018-12-19 2019-03-19 世纪龙信息网络有限责任公司 监控数据解密的方法、装置、计算机设备及存储介质
CN112637344A (zh) * 2020-12-23 2021-04-09 苏州三六零智能安全科技有限公司 物联网设备的监控方法、设备、装置以及存储介质
CN114244886A (zh) * 2021-11-22 2022-03-25 北京小米移动软件有限公司 设备控制方法、设备控制装置及存储介质

Also Published As

Publication number Publication date
WO2023184263A1 (zh) 2023-10-05

Similar Documents

Publication Publication Date Title
US7702901B2 (en) Secure communications between internet and remote client
US20200084283A1 (en) Session Resumption Method and Apparatus, and Computer Storage Medium
CN111428225A (zh) 数据交互方法、装置、计算机设备及存储介质
WO2017215452A1 (zh) 一种连接建立方法、装置和设备
EP3633949A1 (en) Method and system for performing ssl handshake
CN110769420B (zh) 网络接入方法、装置、终端、基站和可读存储介质
WO2023184262A1 (zh) 一种数据帧安全传输方法、装置、电子设备及存储介质
CN105429962A (zh) 一种通用的面向加密数据的中间网络服务构建方法与体系
CN113992427B (zh) 基于相邻节点的数据加密发送方法及装置
CN112769868A (zh) 通信方法、装置、电子设备及存储介质
CN114902635A (zh) 一种流量代理方法、装置、电子设备及存储介质
CN108924157B (zh) 一种基于IPSec VPN的报文转发方法及装置
CN112769835A (zh) 一种访问请求的发起方法及终端设备
JP5326815B2 (ja) パケット送受信装置およびパケット送受信方法
WO2014205703A1 (zh) 一种共享接入的检测方法、设备和终端设备
CN113765900B (zh) 协议交互信息输出传输方法、适配器装置及存储介质
CN115280743A (zh) 一种建立用户数据报协议udp传输通道的方法及装置
CN111934995B (zh) 一种物联网网关系统
US11540336B2 (en) Management of communication between a terminal and a server of a network
CN110855628A (zh) 一种数据传输方法及系统
CN201663659U (zh) 条件接收系统前端和用户管理系统
JPH07107084A (ja) 暗号通信システム
CN115622715B (zh) 一种基于令牌的分布式存储系统、网关和方法
CN112260823B (zh) 数据传输方法、智能终端和计算机可读存储介质
CN113625691B (zh) 一种车辆诊断方法、诊断设备以及车辆网关

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination