基于物联网的数据传输方法及通信装置
技术领域
本申请实施例涉及物联网技术领域,尤其涉及一种基于物联网的数据传输方法及通信装置。
背景技术
物联网(Internet of Things,IoT)是新一代信息技术的重要组成部分,指物物相连的互联网。从技术架构的角度来说,物联网包括感知层、物联网平台和应用层,其中,感知层包括传感器网关、传感器等感知层终端设备,用于采集信息等;物联网平台负责存储、传递和处理感知层终端设备采集的信息;应用层包括应用层设备,应用层设备主要提供数据分析、控制以及物联网人机接口等。数据传输过程中,感知层终端设备采集数据并向物联网平台上报,由物联网平台将数据传输给应用层终端设备,用户通过加载在应用层终端设备上的第三方应用,实现数据查询、数据分析等。
现有技术中,物联网平台接收到感知层终端设备上报的数据后,通过超文本传输协议(hyper text transfer protocol,HTTP)推送方式,将数据推送给加载在应用层设备上的第三方应用。具体的,HTTP推送方式包括同步HTTP推送方式和异步HTTP推送方式。同步HTTP推送方式中,应用层终端设备基于短连接的方式向物联网平台发送HTTP请求,以请求回调地址,然后,物联网平台通过该回调地址将数据推送给应用层终端设备上的第三方应用。该过程中,物联网平台每次向应用层终端设备发送数据时,都需要应用层终端设备发送HTTP请求以申请资源(即回调地址),数据发送完毕后释放该资源。对于一个第三方应用来说,该第三方应用不会一直占用该资源,导致物联网平台向不同第三方应用推送数据时,不同第三方应用之间相互影响。极端情况下,若一个第三方应用占用了所有的资源,则导致其他第三方应用没有资源可用而无法接收到物联网平台推送的数据。异步推送方式中,不同第三方应用的HTTP请求形成等待队列,按顺序从资源池中获取资源。该过程中,本质上依然是不同的第三应用共享资源池,当一个第三方应用瞬间并发上报数据时,该第三方应用占用所有的资源,导致其他第三方应用不能申请到资源。
上述同步推送方式和异步推送方式中,均会导致不同的第三方应用之间相互影响。因此,物联网技术中,物联网平台如何向应用层设备上加载的第三方应用推送数据,实为急待解决的问题。
发明内容
本申请实施例提供一种基于物联网的数据传输方法及通信装置,以实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。
第一方面,本申请实施例提供一种基于物联网的数据传输方法,该方法可以应用于应用层设备、也可以应用于应用层设备中的芯片。下面以应用于应用层设备为例对该方法进行描述,该方法包括:应用层设备与物联网平台建立N条长连接,所述N≥2,且为整数;所述应用层设备通过所述N条长连接向所述物联网平台发送第一数据,或者,通过所述N条长连接接收所述物联网平台发送的第二数据,所述第一数据与所述第二数据是加载在所述应用层设备上的第三方应用与所述物联网平台之间交互的数据。采用该种方案,对于一个具体的第三方应用,应用层设备与物联网平台进行信令交互以建立N条长连接,并基于该N条长连接接收物联网平台发送的关于该第三方应用的第二数据,或者,基于该N条长连接向物联网平台发送关于第三方应用的第一数据。该过程中,通过对一个第三方应用,在应用层设备与物联网平台之间建立N条长连接,不同的第三方应用的N条长连接不同,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。另外,由于长连接是多条长连接,因此,相较于一条长连接,可以提升数据推送的实时性。
一种可行的设计中,所述应用层设备与物联网平台建立N条长连接,包括:
A、所述应用层设备从M个长连接标识中,选择第i个长连接标识,所述第i个长连接标识是所述M个长连接标识中的任意一个,1≤i≤N;
B、所述应用层设备向所述物联网平台发送长连接建立请求消息,所述长连接建立请求消息携带所述第i个长连接标识;
C、所述应用层设备接收所述物联网平台发送的长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述第i个长连接标识对应的长连接;
D、所述应用层设备接收所述物联网平台通过所述第i条长连接发送的第一通知消息,所述第一通知消息用于指示所述应用层设备继续建立下一条长连接;
循环执行A-D,直至与所述物联网平台建立所述N条长连接。
采用该种方案,应用层设备与物联网设备建立N条长连接的过程中,每建立一条长连接后,物联网平台均会根据已建立的长连接的TPS,与感知层设备上报的关于第三方应用的数据的TPS,确定是否需要继续建立下一条长连接,通过依次建立N条长连接,避免同时针对一个第三方应用建立多条长连接,而该多条长连接不满足第三方应用的需求,造成无法及时传输关于第三方应用的数据的弊端;或者,避免同时针对一个第三方应用建立多条长连接,该多条长连接超出第三方用的需求,造成资源浪费或影响其他第三方应用建立长连接的弊端。
一种可行的设计中,所述应用层设备与物联网平台建立N条长连接,包括:
所述应用层设备从M个长连接标识中,选择N个长连接标识;
所述应用层设备向所述物联网平台发送长连接建立请求消息,所述长连接建立请求消息携带所述N个长连接标识;
所述应用层设备接收所述物联网平台发送的长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述N个长连接标识对应的长连接。
采用该种方案,应用层设备与物联网设备建立N条长连接的过程中,物联网平台确定出长连接的个数M,并将M个长连接标识发送给应用层设备。然后,应用层设备从M个长连接标识中选择出N个长连接,并与物联网平台交互,同时建立N条长连接。该过程中,应用层设备从M个长连接标识中选择出N个长连接标识,并基于该N个长连接标识为第三方应用建立N条长连接,不同的第三方应用的N条长连接不同,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。
一种可行的设计中,所述应用层设备与物联网平台建立N条长连接之后,还包括:所述应用层设备接收所述物联网平台发送的第二通知消息,所述第二通知消息用于指示所述应用层终端设备拆除所述N条长连接中的至少一条长连接;所述应用层设备根据所述第二通知消息,拆除所述N条长连接中的至少一条长连接。采用该种方案,通过物联网平台向应用层设备发送第二通知消息以拆除N条长连接中的至少一条长连接,实现及时释放第三方应用占用的资源的目的。
一种可行的设计中,所述应用层设备与物联网平台建立N条长连接之前,还包括:所述应用层设备向所述物联网平台发送请求消息,所述请求消息用于请求长连接标识;所述应用层设备接收所述物联网平台发送的响应消息,所述响应消息携带所述M个长连接标识,M≥N。采用该种方案,对于一个具体的第三方应用,由物联网平台决定分配给该第三方应用的长连接标识的个数M,建立长连接时,应用层设备为该第三方应用建立的长连接的个数N≤M,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。
一种可行的设计中,所述应用层设备与物联网平台建立N条长连接,包括:所述物联网平台包括多个分布式物联网平台,所述应用层设备与所述多个分布式物联网平台中的一个或多个分布式物联网平台建立所述N条长连接。采用该种方案,实现应用层设备与分布式物联网平台建立多个长连接的目的。
一种可行的设计中,所述应用层设备包括终端设备或应用服务器。
第二方面,本申请实施例提供一种基于物联网的数据传输方法,该方法可以应用于物联网平台、也可以应用于物联网平台中的芯片。下面以应用于物联网平台为例对该方法进行描述,该方法包括:物联网平台与应用层设备建立N条长连接,所述N≥2;
所述物联网平台通过所述N条长连接接收所述应用层设备发送的第一数据,或者,通过所述N条长连接向所述物联网平台发送第二数据,所述第一数据与所述第二数据是加载在所述应用层设备上的第三方应用与所述物联网平台之间交互的数据。采用该种方案,对于一个具体的第三方应用,应用层设备与物联网平台进行信令交互以建立N条长连接,并基于该N条长连接接收物联网平台发送的关于该第三方应用的第二数据,或者,基于该N条长连接向物联网平台发送关于第三方应用的第一数据。该过程中,通过对一个第三方应用,在应用层设备与物联网平台之间建立N条长连接,不同的第三方应用的N条长连接不同,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。另外,由于长连接是多条长连接,因此,相较于一条长连接,可以提升数据推送的实时性。
一种可行的设计中,所述物联网平台与应用层设备建立N条长连接,包括:
E、所述物联网平台接收所述应用层设备发送的长连接建立请求消息,所述长连接建立请求消息携带第i个长连接标识,所述第i个长连接标识是所述应用层设备从所述N个长连接标识中选择出的任意一个长连接标识,1≤i≤N;
F、所述物联网平台向所述应用层设备发送长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述第i个长连接标识对应的长连接;
G、所述物联网平台确定已建立的长连接的每秒事务处理量TPS,以及感知层设备的TPS,根据所述已建立的长连接的TPS与所述感知层设备的TPS,确定是否向所述应用层设备发送第一通知消息,所述第一通知消息用于指示所述应用层设备继续建立下一条长连接;
循环执行E-G,直至于所述应用层设备建立所述N条长连接。
采用该种方案,应用层设备与物联网设备建立N条长连接的过程中,每建立一条长连接后,物联网平台均会根据已建立的长连接的TPS,与感知层设备上报的关于第三方应用的数据的TPS,确定是否需要继续建立下一条长连接,通过依次建立N条长连接,避免同时针对一个第三方应用建立多条长连接,而该多条长连接不满足第三方应用的需求,造成无法及时传输关于第三方应用的数据的弊端;或者,避免同时针对一个第三方应用建立多条长连接,该多条长连接超出第三方用的需求,造成资源浪费或影响其他第三方应用建立长连接的弊端。
一种可行的设计中,所述物联网平台与应用层设备建立N条长连接,包括:所述物联网平台向所述应用层设备发送第二通知消息,所述第二通知消息用于指示所述应用层设备建立N条长连接;所述物联网平台接收所述应用层设备发送的长连接建立请求消息,所述长连接建立请求消息携带所述N条长连接;所述物联网平台向所述应用层设备发送长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述N个长连接标识对应的长连接。采用该种方案,应用层设备与物联网设备建立N条长连接的过程中,物联网平台确定出长连接的个数M,并将M个长连接标识发送给应用层设备。然后,应用层设备从M个长连接标识中选择出N个长连接,并与物联网平台交互,同时建立N条长连接。该过程中,应用层设备从M个长连接标识中选择出N个长连接标识,并基于该N个长连接标识为第三方应用建立N条长连接,不同的第三方应用的N条长连接不同,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。
一种可行的设计中,所述物联网平台与应用层设备建立N条长连接之后,还包括:
所述物联网平台向所述应用层设备发送第二通知消息,所述第二通知消息用于指示所述应用层终端设备拆除所述N条长连接中的至少一条长连接。采用该种方案,通过物联网平台向应用层设备发送第二通知消息以拆除N条长连接中的至少一条长连接,实现及时释放第三方应用占用的资源的目的。
一种可行的设计中,所述物联网平台与应用层设备建立N条长连接之前,还包括:所述物联网平台接收应用层设备发送的请求消息,所述请求消息用于请求长连接标识;所述物联网平台向所述应用层设备发送响应消息,所述响应消息携带所述M个长连接标识,M≥N。采用该种方案,对于一个具体的第三方应用,由物联网平台决定分配给该第三方应用的长连接标识的个数M,建立长连接时,应用层设备为该第三方应用建立的长连接的个数N≤M,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。
一种可行的设计中,所述物联网平台与应用层设备建立N条长连接,包括:所述物联网平台包括多个分布式物联网平台,所述多个分布式物联网平台中的一个或多个分布式物联网平台与所述应用层设备建立所述N条长连接。采用该种方案,实现应用层设备与分布式物联网平台建立多个长连接的目的。
第三方面,本申请实施例提供一种通信装置,所述通信装置具有实再上述方法实施例中应用层设备的行为功能。所述功能可以通过硬件实现,也可以通过硬件执行相应软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。所述模块可以是软件和/或硬件。
在一个可能的设计中,应用层设备的结构中包括处理器、存储器与收发器,所述存储器存储可在处理器上运行的计算机程序,所述处理器执行所述计算机程序与物联网平台建立N条长连接,所述N≥2,且为整数,所述处理器还控制所述收发器通过所述N条长连接向所述物联网平台发送第一数据,或者,通过所述N条长连接接收所述物联网平台发送的第二数据,所述第一数据与所述第二数据是加载在所述应用层设备上的第三方应用与所述物联网平台之间交互的数据。
第四方面,本申请实施例提供一种通信装置,该通信装置用于实现上述方法实际中物联网平台的行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,物联网平台的结构包括处理器、存储器与收发器,所述存储器存储可在处理器上运行的计算机程序,所述处理器执行所述计算机程序与应用层设备建立N条长连接,所述N≥2;所述处理器还控制所述收发器通过所述N条长连接接收所述应用层设备发送的第一数据,或者,通过所述N条长连接向所述物联网平台发送第二数据,所述第一数据与所述第二数据是加载在所述应用层设备上的第三方应用与所述物联网平台之间交互的数据。
第五方面,本申请实施例提供一种通信装置,包括用于执行以上第一方面或第一方面各可能的实现方式所提供的方法的单元、模块或电路。该通信装置可以为应用层设备,也可以为应用于应用层设备的一个模块,例如,可以为应用于应用层设备的芯片。
第六方面,本申请实施例提供一种通信装置,包括用于执行以上第二方面或第二方面各可能的实现方式所提供的方法的单元、模块或电路。该通信装置可以为物联网平台,也可以为应用于物联网平台的一个模块,例如,可以为应用于物联网平台的芯片。
第七方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的各种可能的实现方式中的方法。
第八方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面或第二方面的各种可能的实现方式中的方法。
第九方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的各种可能的实现方式中的方法。
第十方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面或第二方面的各种可能的实现方式中的方法。
本申请实施例提供的基于物联网的数据传输方法及通信装置,对于一个具体的第三方应用,应用层设备与物联网平台进行信令交互以建立N条长连接,并基于该N条长连接向物联网平台发送第一数据,或者,基于该N条长连接接收物联网平台发送的关于该第三方应用的第二数据。该过程中,通过对一个第三方应用,在应用层设备与物联网平台之间建立N条长连接,不同的第三方应用的N条长连接不同,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。另外,由于长连接是多条长连接,因此,相较于一条长连接,可以提升数据推送的实时性。
附图说明
图1是物联网平台通过HTTP推送方式向应用层设备上的第三方应用推送数据的过程示意图;
图2A是本申请实施例提供的一个物联网架构示意图;
图2B是本申请实施例提供的另一个物联网架构示意图;
图3A是本申请实施例提供的一种基于物联网的数据传输方法的流程图;
图3B是本申请实施例提供的另一种基于物联网的数据传输方法的流程图;
图4是本申请实施例提供的一种基于物联网的数据传输方法的网络逻辑架构示意图;
图5是本申请实施例提供的一种基于物联网的数据传输方法适用的依次建立长连接的逻辑示意图;
图6是本申请实施例提供的一个基于物联网的数据传输方法所适用的认证流程图;
图7为本申请实施例提供的一种通信装置的结构示意图;
图8为本申请实施例提供的一种通信装置的结构示意图;
图9为本申请实施例提供的一种通信装置的结构示意图;
图10为本申请实施例提供的一种通信装置的结构示意图。
具体实施方式
图1是物联网平台通过HTTP推送方式向应用层设备上的第三方应用推送数据的过程示意图,包括:
11、应用层终端设备向ELB模块发送HTTP请求。
本步骤中,应用层终端设备向弹性负载均衡(elastic load balance,ELB)模块发送HTTP请求,该HTTP请求携带加载在应用层终端设备上的某个第三方应用的回调地址。ELB模块是物联网平台的一个功能模块,用于将第三方应用的数据路由和分发到物联网平台的不同推送模块中。
12、ELB模块将HTTP请求发送给物联网平台。
推送模块是物联网平台上的一个功能模块,用于处理数据推送相关业务。
13、物联网平台向ELB模块发送HTTP响应。
本步骤中,物联网平台向ELB模块发送HTTP响应,表示成功为第三方应用分配回调地址。
14、ELB模块向应用层终端设备发送HTTP响应。
15、物联网平台通过上述的回调地址向ELB发送第三方应用的数据。
本步骤中,物联网平台通过上述的回调地址向ELB发送第三方应用的数据。
16、ELB模块向应用层终端设备发送第三方应用的数据。
17、应用层终端设备向ELB模块发送肯定应答消息。
例如,应用层终端设备上的第三方应用成功接收到数据后,应用层终端设备向ELB模块发送肯定应答(Acknowledge,ACK)消息。该ACK消息例如为200Ok。
18、ELB模块向物联网平台发送ACK消息。
上述HTTP推送方式中,需要应用层终端设备发送HTTP请求以申请资源(即回调地址),多个第三方应用共享资源池时,不同的第三方应用之间相互影响。
有鉴于此,本申请实施例提供一种基于物联网的数据传输方法,通过为应用层设备上的第三方应用与物联网平台之间建立多条长连接,从而各个第三方应用互不影响的目的。
图2A是本申请实施例提供的一个物联网架构示意图。请参照图2A,该架构包括:应用层设备、物联网平台和感知层设备。下面,对该些设备进行详细说明。
首先,应用层设备。
应用层设备上部署第三方应用(Application,APP),应用层设备可以是终端设备或应用服务器等;终端设备是可以向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。终端设备可以是移动终端设备,如移动电话(或称为“蜂窝”电话)和具有移动终端设备的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(personal communication service,PCS)电话、无绳电话、会话发起协议(session initiation protocol,SIP)话机、无线本地环路(wireless localloop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。终端设备也可以称为系统、订户单元(subscriber unit)、订户站(subscriber station),移动站(mobile station)、移动台(mobile)、远程站(remote station)、接入点(access point)、远程终端设备(remoteterminal)、接入终端设备(access terminal)、用户终端设备(user terminal)、用户代理(user agent)、用户设备(user device)、或用户装备(user equipment)。
其次,物联网平台。
物联网是物物相连的互联网,是实现智能化识别、定位、跟踪、监控和管理的一种网络。由于接入物的不同,应用领域或者行业不同,以及第三方应用本身的功能差异,会形成各种各样的物联网系统。物联网系统具有多种功能,如物和后台的通信、设备接入、设备管理、数据存储、接入策略、安全策略、数据推送等,承载该具有多种功能的物联网的载体称之为物联网平台,物联网平台是一种基于互联网的、连接物体和实现物联网功能的中间件。
从物理形态来讲,物联网平台可以是独立的服务器或分布式服务器等。
最后,感知层设备。
感知层包括传感器网关、传感器等感知层终端设备。
再请参照图2A,感知层设备用于采集数据等;物联网平台负责存储、传递和处理感知层终端设备采集的数据;应用层包括应用层设备,应用层设备主要提供数据分析、控制以及人机接口等。数据传输过程中,感知层终端设备采集数据并向物联网平台上报,由物联网平台将数据传输给应用层终端设备,用户通过加载在应用层终端设备上的第三方应用,实现数据查询、数据分析等。
图2B是本申请实施例提供的另一个物联网架构示意图。相较于图2A中物联网平台为独立的物联网平台,本实施例中,物联网平台包括多个分布式物联网平台。
本申请实施例中,对于一个具体的第三方应用,应用层设备与物联网平台之间建立N条长连接,应用层设备通过该N条长连接向物联网平台发送关于第三方应用的数据;并且,应用层设备通过该N条长连接接收物联网平台发送的关于该第三方应用的数据。以下为清楚起见,将应用层设备发送给物联网平台的数据称之为第一数据,将物联网平台发送给应用层设备的数据称之为第二数据。
本申请实施例中,N条长连接是针对一个具体的第三方应用而言的,具体包含下面几种场景:
场景一、第三方应用部署在一个应用层设备上,物联网平台为独立的物联网平台。
例如,请参照图2A,APP2部署在应用层设备1上,此时,N条长连接包括长连接4和长连接5。
场景二、第三方应用分布式部署,物联网平台为独立的物联网平台。
例如,请参照图2A,APP1部署在应用层设备1和应用层设备2上,此时,N条长连接包括长连接1、长连接2和长连接5。
场景三、第三方应用部署在一个应用层设备上,物联网平台为分布式物联网平台。
例如,请参照图2B,APP2部署在应用层设备1上,物联网平台包括分布式物联网平台1和分布式物联网平台2,此时,N条长连接包括长连接8和长连接9。
场景四、第三方应用部署分布式部署,物联网平台为分布式物联网平台。
例如,请参照图2B,APP1部署在应用层设备1和应用层设备2上,物联网平台包括分布式物联网平台1和分布式物联网平台2,此时,N条长连接包括应用层设备1与分布式物联网平台1之间的长连接6和长连接7,以及应用层设备2与分布式物联网平台2之间的长连接10。
需要说明的是,上述图2A和图2B中所示应用层设备、分布式物联网平台的个数以及感知层设备的个数,仅仅是示例性的,本申请实施例并不限制。
下面,在上述图2A和图2B的基础上,对本申请实施例所述的基于物联网的数据传输方法进行详细说明。具体的,可参见图3A。
图3A是本申请实施例提供的一种基于物联网的数据传输方法的流程图。本实施例是从应用层设备与物联网平台交互的角度,以及物联网平台向应用层设备发送第二数据的角度,对上述的基于物联网的数据传输方法进行详细说明的。本实施例包括:
101a、应用层设备与物联网平台建立N条长连接。
其中,所述N≥2,且为整数。
本步骤中,针对一个具体的第三方应用,即具体的APP,应用层设备与物联网平台进行信令交互,以建立N条长连接,应用层设备与物联网平台基于该N条长连接传输关于该APP的数据。
本实施例中,长连接是一种传输控制协议(transmission control protocol,TCP)连接,该TCP连接建立后,完成一次数据后,继续保持连接状态不断开,下次数据传输时继续使用该TCP连接,该种TCP连接即为本申请实施例所述的长连接。
102a、所述物联网平台通过所述N条长连接向应用层设备发送的第二数据。
其中,所述第二数据是加载在所述应用层设备上的第三方应用与所述物联网平台之间交互的数据。示例性的,该第二数据是感知层设备发送给物联网平台的数据,该数据是第三方应用相关的数据。物联网平台接收到该第二数据后,需要将该第二数据推送给应用层设备,供应用层设备上的第三方应用使用。
本步骤中,物联网平台通过上述的N条长连接向应用层设备发送关于上述的APP的第二数据;相应的,应用层设备通过上述的N条长连接接物联网平台发送的关于APP的第二数据。
本申请实施例提供的基于物联网的数据传输方法,对于一个具体的第三方应用,应用层设备与物联网平台进行信令交互以建立N条长连接,并基于该N条长连接接收物联网平台发送的关于该第三方应用的第二数据。该过程中,通过对一个第三方应用,在应用层设备与物联网平台之间建立N条长连接,不同的第三方应用的N条长连接不同,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。另外,由于长连接是多条长连接,因此,相较于一条长连接,可以提升数据推送的实时性。
图3B是本申请实施例提供的另一种基于物联网的数据传输方法的流程图。本实施例是从应用层设备与物联网平台交互的角度,以及应用层设备向物联网平台发送第一数据的角度,对上述的基于物联网的数据传输方法进行详细说明的。本实施例包括:
101b、应用层设备与物联网平台建立N条长连接。
其中,所述N≥2,且为整数。
具体的,可参见上述步骤101a的描述,此处不再赘述。
102b、所述应用层设备通过所述N条长连接向所述物联网平台发送第一数据,
其中,所述第一数据是加载在所述应用层设备上的第三方应用与所述物联网平台之间交互的数据。示例性的,该第二数据是应用层设备发送给感知层设备的数据,该数据是用户通过第三方应用发送给感知层设备的控制指令。物联网平台接收到该第一数据后,需要将该第一数据推送给感知层设备,以实现用户通过应用层设备上的第三方应用控制感知层设备的目的。
具体的,可参见上述步骤101b的描述,此处不再赘述。
本申请实施例提供的基于物联网的数据传输方法,对于一个具体的第三方应用,应用层设备与物联网平台进行信令交互以建立N条长连接,并基于该N条长连接向物联网平台发送的关于该第三方应用的第一数据。该过程中,通过对一个第三方应用,在应用层设备与物联网平台之间建立N条长连接,不同的第三方应用的N条长连接不同,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。
上述实施例中,应用层设备与物联网平台之间建立N条连接的过程中,N的大小是由物联网平台决定的。下面,对物联网平台如何向应用层设备通知N进行详细说明。
一种可行的实现方式中,所述应用层设备与物联网平台建立N条长连接之前,还向所述物联网平台发送请求消息,所述请求消息用于请求长连接标识;所述应用层设备接收所述物联网平台发送的响应消息,所述响应消息携带M个长连接标识。
本申请实施例中,长连接标识是长连接的唯一身份标识,用于鉴权认证等。本实施例中,建立N条长连接之前,应用层设备向物联网平台发送请求消息,以请求获取长连接标识;相应的,物联网平台接收该请求消息。接收到请求消息后,物联网平台根据自身能够承载长连接的个数的能力和/或感知层设备上报的关于第三方应用的数据量等,为应用层设备上的一个具体的第三方应用分配M个长连接,并将M个长连接标识携带在响应消息中发送给应用层设备;相应的,应用层设备接收携带M个长连接标识的响应消息。例如,假设物联网平台最多能够建立30条长连接,且当前已建立15条长连接,感知层设备上报的关于第三方应用的数据量较大,则物联网平台可以将M取较大值,如4,然后选择4个长连接标识携带在响应消息中发送给应用层设备;再如,假设物联网平台最多能够建立30条长连接,且当前已经建立27条长连接,此时,即使感知层设备上报的关于第三方应用的数据量较大,物联网平台也将M的值设为1等,然后选择1个长连接标识携带在响应消息中发送给应用层设备;再如,物联网平台为任意的第三方应用预分配5个长连接标识,即M=5。
本实施例中,对于一个具体的第三方应用,由物联网平台决定分配给该第三方应用的长连接标识的个数M,建立长连接时,应用层设备为该第三方应用建立的长连接的个数N≤M,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。
上述实施例中,应用层设备与物联网平台之间建立N条长连接时,可以同时建立N条长连接,也可以依次建立N条长连接。下面,对该两种方式进行详细说明。
一种可行的实现方式中,应用层设备与物联网平台依次建立N条长连接。此时,所述应用层设备与物联网平台建立N条长连接,包括:
步骤A、所述应用层设备从所述M个长连接标识中,选择第i个长连接标识,所述第i个长连接标识是所述M个长连接标识中的任意一个,1≤i≤N。
步骤B、所述应用层设备向所述物联网平台发送长连接建立请求消息,所述长连接建立请求消息携带所述第i个长连接标识;
步骤C、所述应用层设备接收所述物联网平台发送的长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述第i个长连接标识对应的长连接;
步骤D、所述应用层设备接收所述物联网平台通过所述第i条长连接发送的第一通知消息,所述第一通知消息用于指示所述应用层设备继续建立下一条长连接;
循环执行A-D,直至与所述物联网平台建立所述N条长连接。
具体的,建立N条长连接中的第一条长连接时,应用层设备从M个长连接标识中随机选择一个长连接标识(例如为第i个长连接标识),然后,将该第i个长连接标识携带在长连接建立请求消息中发送给物联网平台;相应的,物联网平台接收该携带第i个长连接标识的长连接建立请求,即步骤E;物联网平台对该包含第i个长连接标识的长连接请求进行身份认证,例如,该长连接请求携带第i个长连接标识、第三方应用的身份标识以及密钥等,物联网平台对第三方应用的身份标识等进行身份认证;然后,物联网平台向所述应用层设备发送长连接建立响应消息从而成功建立第一条长连接,即步骤F;相应的,应用层设备接收所述物联网平台发送的长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述第i个长连接标识对应的长连接。之后,物联网平台确定第一条长连接的每秒事务处理量(transaction per second,TPS),以及感知层设备的TPS,其中,第一条长连接的TPS用于指示第一条长连接传输数据的能力,感知层设备的TPS用于指示感知层设备采集关于第三方应用的数据的能力,物联网平台根据该两个TPS,确定是否继续建立第二天长连接,若需要建立第二条长连接,则向应用层设备发送第一通知消息,即步骤G;相应的,应用层设备接收该第一通知消息,并从剩余的M-1个长连接标识中随机选择一个长连接,循环执行上述的步骤A~D;对于物联网平台来说,循环执行步骤E~G。
上述建立N条长连接的过程中,每次建立长连接后,物联网平台都会根据已经建立的长连接的TPS,以及感知层设备的TPS,确定是否继续建立下一条长连接。例如,假设当前已经建立了2条长连接,每条长连接的TPS是100比特/秒,感知层设备上报数据的TPS是300比特/秒,则物联网平台确定出总共需要建立3条长连接,此时,物联网平台通过已建立的2条长连接中的任意一条长连接,向应用层设备发送第一通知消息,该第一通知消息用于指示应用层设备继续建立第2条长连接。建立第3条长连接后,物联网平台确定3条长连接的TPS是300比特/秒,与感知层设备上报数据的TPS是相同的。此时,物联网平台无需再向应用层设备发送第一通知消息以建立第4条长连接。
本实施例中,应用层设备与物联网设备建立N条长连接的过程中,每建立一条长连接后,物联网平台均会根据已建立的长连接的TPS,与感知层设备上报的关于第三方应用的数据的TPS,确定是否需要继续建立下一条长连接,通过依次建立N条长连接,避免同时针对一个第三方应用建立多条长连接,而该多条长连接不满足第三方应用的需求,造成无法及时传输关于第三方应用的数据的弊端;或者,避免同时针对一个第三方应用建立多条长连接,该多条长连接超出第三方用的需求,造成资源浪费或影响其他第三方应用建立长连接的弊端。
一种可行的实现方式中,应用层设备与物联网平台同时建立N条长连接。此时,所述应用层设备与物联网平台建立N条长连接,包括:
应用层设备向所述物联网平台发送长连接建立请求消息,所述长连接建立请求消息携带所述N个长连接标识;所述应用层设备接收所述物联网平台发送的长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述N个长连接标识对应的长连接。
具体的,对于一个具体的第三方应用,应用层设备从M个长连接标识中,选择N个长连接标识,并将N个长连接标识携带在长连接建立请求消息中发送给物联网平台;物联网平台接收到携带N个长连接标识的长连接建立请求后,对该N个长连接标识、第三方应用的身份标识等进行身份认证,认证通过后,向所述应用层设备发送长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述N个长连接标识对应的长连接。
上述建立N条长连接的过程中,物联网平台为应用层设备上的一个第三应用分配M个长连接标识,并将M个长连接标识携带在响应消息中发送给应用层设备,应用层设备接收到M个长连接标识后,从M个长连接标识中选择N个长连接标识,并将该N个长连接标识携带在长连接建立请求中发送给物联网平台,以同时建立N条长连接。例如,N=4,则应用层设备向物联网平台发送携带4个长连接标识的长连接建立请求消息,物联网平台接收到该长连接建立请求消息后,与应用层设备建立该4个长连接标识对应的长连接。
本实施例中,应用层设备与物联网设备建立N条长连接的过程中,物联网平台确定出长连接的个数M,并将M个长连接标识发送给应用层设备。然后,应用层设备从M个长连接标识中选择出N个长连接,并与物联网平台交互,同时建立N条长连接。该过程中,应用层设备从M个长连接标识中选择出N个长连接标识,并基于该N个长连接标识为第三方应用建立N条长连接,不同的第三方应用的N条长连接不同,实现物联网平台向应用层终端设备上的第三方应用推送数据时,各个第三方应用互不影响的目的。
上述实施例中,为了避免一个第三方应用长期占用N条长连接,应用层设备与物联网平台建立N条长连接之后,接收所述物联网平台发送的第二通知消息,所述第二通知消息用于指示所述应用层终端设备拆除所述N条长连接中的至少一条长连接。
具体的,应用层设备与物联网平台之间建立N条长连接后,持续一定时长(如半个小时)后,物联网平台确定出感知层设备上报数据的TPS远小于N条长连接的TPS后,向应用层设备发送第二通知消息,以拆除至少一条长连接。例如,N=4,每条长连接的TPS是100比特/秒,感知层设备上报数据的TPS是200比特/秒,则物联网平台向应用层设备发送第二通知消息,通知应用层设备拆除2条长连接。应用层设备接收到第二通知消息后,与物联网平台进行信令交互以拆除4条长连接中的任意2条长连接。
本实施例中,通过物联网平台向应用层设备发送第二通知消息以拆除N条长连接中的至少一条长连接,实现及时释放第三方应用占用的资源的目的。
下面,用一个具体的例子对上述基于物联网的数据传输方法进行详细说明。示例性的,请参见图4。
图4是本申请实施例提供的一种基于物联网的数据传输方法的网络逻辑架构示意图。该网络逻辑架构中,应用层设备与物联网平台建立N条长连接,物联网平台包括ELB模块、至少一个推送模块、至少一条服务总线(servce bus)、至少一个元数据服务器(metadata service)模块,至少一条服务器总线形成簇(cluster)。推送模块包括至少一个消息队列代理子模块、至少一个消息队列客户端子模块和至少一个消费子模块,每个长连接对应一个消息队列代理子模块、一个消息队列客户端子模块、一条服务总线和一个消费子模块。下面,基于图4,以物联网平台向应用层设备发送第二数据为例,对上述的基于物联网的数据传输方法进行详细说明。示例性的,以建立依次建立N条长连接为例,图4主要流程如下:
201、应用层设备向ELB发送请求消息。
本步骤中,对于一个截图的APP,应用层设备向ELB发送请求消息以请求分配长连接标识。
该步骤中,应用层设备仅发起请求消息,至于请求分配长连接标识的数量,应用层设备是无法确定的,而是由物联网平台确定。
202、ELB模块向元数据服务模块发送请求消息。
元数据服务模块接收到请求消息后,为上述的APP分配一定数量的长连接标识,如M个长连接标识,并将该M个长连接标识携带在响应消息中,发送给ELB模块,进而由ELB模块将该M个长连接标识发送给应用层设备(图中未示出该步骤)。ELB模块用于将应用层设备上的第三方应用接入到物联网平台与应用层设备之间的长连接中。
203、应用层设备与ELB模块交互以完成长连接的建立及订阅请求。
204、ELB模块与物联网平台中的消息队列代理子模块交互以完成长连接的建立及订阅。
205、物联网平台中的消息队列代理子模块与元数据服务模块交互以完成长连接的认证。
上述步骤203~205中,详细过程如下:
长连接标识获取阶段:应用层设备通过ELB模块将长连接建立请求发送给物联网平台的推送模块中的消息队列(message queue,MQ)代理(broker)子模块,MQ broker子模块为第三方应用分配M个长连接标识,并将该M个长连接标识携带在响应消息里通过ELB模块发送给应用层设备。
长连接建立阶段(建立第一天长连接):应用层设备为第三方应用选择一个长连接标识。通过ELB模块向MQ broker发送长连接建立请求,该长连接建立请求携带第三方应用的身份标识、长连接标识、秘钥等。MQ broker子模块向元数据服务(meta data service)模块发送认证请求,元数据服务器模块对第三方应用的身份标识、长连接标识等进行认证。认证通过后,元数据服务模块向MQ broker子模块发送认证通过响应消息,MQ broker子模块人为成功建立长连接,通过ELB模块向应用层设备发送长连接建立响应消息。
该过程中,通过物联网平台为第三方应用分配长连接标识,实现物联网平台控制长连接数量的目的。
206、元数据服务模块向服务总线发送第二数据。
207、消费子模块到服务总线拉取数据。
208、消费子模块将第二数据推送给消息队列客户端子模块。
209、消息队列客户端子模块将第二数据推送给MQ broker子模块。
之后,MQ broker子模块向通过长连接将第二数据推送给ELB模块,由ELB模块进一步的通过长连接将第二数据推送给应用层设备。应用层设备接收到关于第三方应用的第二数据之后,根据服务质量(quality of service,QoS)等,向物联网平台回复确认消息。
本申请实施例中,建立长连接的过程中,感知层设备上报数据的TPS和已经建立的长连接的TPS,确定是否需要建立下一条长连接或是否需要拆除已建立的长连接,通过自动增加或减少长连接的数量,达到自适应管理长连接的能力,提升了物联网平台的弹性。进一步的,建立了多条长连接之后,对于一个第二数据,元数据服务模块只选择一条长链路将该第二数据推送给服务总线,进而被一个消费子模块拉取并推送指消息队列客户端子模块,每个第二数据的头域中增加额外字段,如消息队列网关身份标识(message gatewayidentity,MSGID),第三方应用可以根据该MSGID来识别消息的唯一性。也就是说,消息队列客户端子模块中的第二数据是互不相同的,每个长连接传输的第二数据不同,避免数据重复推送的弊端。另外,上述数据传输过程中,每个第三方应用对应唯一一个消息队列代理子模块、一个消息队列客户端子模块和服务总线簇中的一条服务总线,来自服务总线中第二数据按时间顺序别推送至消息队列代理子模块,从而保证时序性。
需要说明的是,虽然上述实施例中,是将消息队列代理子模块作为推送模块的子模块对本申请所述方法进行详细说明的,然而,本申请实施例并不限制,例如,消息队列代理子模块、消息队列客户端子模块等也可以与推送模块独立部署。
下面,对上述图4中,建立第1条长连接后,如何推送数据并建立剩下的长连接进行详细说明。具体的,可参见图5,图5是本申请实施例提供的一种基于物联网的数据传输方法适用的依次建立长连接的逻辑示意图,该逻辑架构中,消息队列代理模块和推送模块独立设置,物联网平台还包括确定模块,本实施例的主要流程如下:
301、推送模块到服务总线拉取第二数据。
示例性的,感知层设备通过云接入网关(cloud interworking gateway,CIG)接入物联网平台的元数据服务模块,元数据服务模块存储感知层设备采集的第二数据,并向服务总线推送第二数据。建立第1条长连接后,推送模块到服务总线拉取数据。
302、推送模块将第二数据推送给消息队列代理模块。
303、消息队列代理模块将第二数据推送给ELB模块。
304、应用层设备向ELB模块发送ACK消息。
305、ELB模块向消息队列代理模块发送ACK消息。
306、消息队列代理模块向推送模块发送ACK消息。
上述步骤301~306中,推送模块通过已经建立的第1条长连接向应用层设备上的第三方应用推送第二数据。
307、推送模块向确定模块发送请求确定TPS的消息。
本步骤中,接收到请求确定TPS的消息后,确定模块确定第1条长连接的TPS,以及感知层设备上报数据的TPS。
示例性的,物联网平台根据平均时延等,计算第1条长连接接收数据的能力,并将该能力转换为TPS。
感知层设备上报第二数据到物联网平台的元数据服务模块,元数据服务模块将第二数据推送给服务总线,确定模块统计出关于第三方应用的第二数据,根据统计结果得到感知层设备上报的关于第三方应用的第二数据的TPS。然后,确定模块比较该两个TPS,如果感知层设备上报数据的TPS超过第1条长连接的TPS的某个倍数值(可配置,如1.2),并且持续一段时间,如半个小时,则确定模块确定向应用层设备发送第一通知消息,以通知应用层设备继续建立下一条长连接。
308、确定模块向推送模块发送第一通知消息。
推送模块接收到第一通知消息后,将该第一通知消息通过已建立的长连接(如第1条长连接)发送给应用层设备。示例性的,可以对该第一通知消息设置固定头域,该固定头域包含一个长连接标识,应用层设备解析该头域,与物联网平台建立该长连接标识对应的长连接。
另外,上述步骤307中,如果感知层设备上报数据的TPS小于第1条长连接的TPS的某个倍数值,且持续一段时间,则确定模块向应用层设备发送第二通知消息,以拆除第1条长连接。每次建立一条新的长连接后,均循环执行306~308,以依次建立N条长连接。
下面,对上述实施例中,物联网平台如何进行安全认证进行详细说明。示例性的,可参见图6。图6是本申请实施例提供的一个基于物联网的数据传输方法所适用的认证流程图,包括:
长连接标识获取阶段:
401、应用层设备向ELB模块发送请求消息。
本步骤中,应用层设备向ELB模块发送携带第三方应用的身份标识(APP ID)的请求消息。该请求消息例如为HTTP请求。
402、ELB模块向元数据服务模块发送请求消息。
403、元数据服务模块向ELB模块发送200OK消息。
元数据服务模块为第三方应用分配M个长连接标识,并将该M个长连接标识携带在200OK消息中发送给ELB模块。
404、ELB模块向应用层设备发送200OK消息。
长连接建立阶段:
405、应用层设备向ELB模块发送长连接建立请求消息。
本步骤中,应用层设备将第三方应用的身份标识、秘钥以及长连接标识等,携带在长连接建立请求消息中发送给ELB。
406、ELB模块向消息队列代理模块发送长连接建立请求消息。
407、消息队列代理模块向推送模块发送鉴权回调消息。
408、推送模块向元数据服务模块发送鉴权请求消息。
409、元数据服务模块向推送模块发送鉴权响应消息。
410、推送模块向消息队列代理模块发送长连接成功建立回调消息。
411、消息队列代理模块向ELB模块发送鉴权成功响应消息。
412、ELB模块向应用层设备发送鉴权成功响应消息。
413、推送模块向元数据服务模块发送状态更新消息。
本步骤中,推送模块向元数据服务模块发送状态更新消息,以使得元数据服务模块更新应用层设备的第三方应用的状态,如成功建立长连接等。
需要说明的是,上述的步骤410和413并无严格的先后顺序。
订阅阶段:
414、应用层设备向ELB发送订阅请求。
长连接成功建立后,本步骤中,应用层设备将长连接标识、消息队列标识以及第三方应用的标识等携带在订阅请求中发送给ELB模块。
415、ELB向消息队列代理模块发送订阅请求,该订阅请求携带长连接标识、消息队列的标识以及第三方应用的身份标识等。
415、消息队列代理模块向推送模块发送授权回调消息。
416、推送模块向元数据服务模块发送校验消息。
418、元数据服务模块向推送模块发送校验响应消息。
419、推送模块向消息队列代理模块发送订阅成功回调消息。
420、消息队列代理模块向ELB模块发送订阅成功响应消息。
421、ELB模块向应用层设备发送订阅成功响应消息。
数据推送阶段:
422、元数据服务模块向服务总线上报第二数据。
423、消费模块从服务总线拉取第二数据。
本步骤中,消费模块通过一条长连接从服务总线拉取第二数据。
424、推送模块从消费模块获取第二数据。
本步骤中,消费模块按照时间顺序将第二数据推送给推送模块。
425、推送模块向消息队列模块推动第二数据。
426、消息队列代理模块向ELB模块推送第二数据。
427、ELB模块向应用层设备推送第二数据。
之后,应用层设备向ELB回复Ok消息等,图中未示出。
长连接异常阶段:
428、消息队列代理模块检测到长连接异常。
429、消息队列代理模块向推送模块发送长连接异常消息。
430、推送模块向消费模块发送长连接注销消息。
本步骤中,推送模块向消费模块发送长连接注销消息(例如上述的第二通知消息)。
431、消费模块向服务总线发送长连接注销消息。
接收到长连接注销消息后,服务总线注销该长连接。
若长连接异常阶段,所有的长连接或部分长连接发生异常,最终被拆除,导致没有长连接,或者剩余的长连接无法满足第三方应用的数据需求,则重复上述的长连接标识获取阶段、长连接建立阶段、订阅阶段重新建立并订阅长连接,然后再推送数据。
图7为本申请实施例提供的一种通信装置的结构示意图。本实施例所涉及的通信装置可以为应用层设备,也可以为应用于应用层设备的芯片。该通信装置可以用于执行上述方法实施例中应用层设备的功能。如图7所示,该通信装置可以包括:处理模块11和收发模块12。其中,
处理模块11,用于与物联网平台建立N条长连接,所述N≥2,且为整数;
收发模块12,用于通过处理模块11建立的所述N条长连接向所述物联网平台发送第一数据,或者,通过所述处理模块11建立的所述N条长连接接收所述物联网平台发送的第二数据,所述第一数据与所述第二数据是加载在所述应用层设备上的第三方应用与所述物联网平台之间交互的数据。
一种可行的设计中,所述处理模块11和所述收发模块12,具体用于循环执行A-D,直至与所述物联网平台建立所述N条长连接,所述A-D包括:
A、所述处理模块11从M个长连接标识中,选择第i个长连接标识,所述第i个长连接标识是所述M个长连接标识中的任意一个,1≤i≤N;
B、所述收发模块12向所述物联网平台发送长连接建立请求消息,所述长连接建立请求消息携带所述第i个长连接标识;
C、所述收发模块12接收所述物联网平台发送的长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述第i个长连接标识对应的长连接;
D、所述收发模块12接收所述物联网平台通过所述第i条长连接发送的第一通知消息,所述第一通知消息用于指示所述应用层设备继续建立下一条长连接。
一种可行的设计中,所述处理模块11,具体用于从M个长连接标识中,选择N个长连接标识;所述收发模块12,用于向所述物联网平台发送长连接建立请求消息,所述长连接建立请求消息携带所述N个长连接标识,接收所述物联网平台发送的长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述N个长连接标识对应的长连接。
一种可行的设计中,所述收发模块12,在所述处理模块11与物联网平台建立N条长连接之后,还用于接收所述物联网平台发送的第二通知消息,所述第二通知消息用于指示所述应用层终端设备拆除所述N条长连接中的至少一条长连接;
所述处理模块,还用于根据所述第二通知消息,拆除所述N条长连接中的至少一条长连接。
一种可行的设计中,所述收发模块12,在所述处理模块11与物联网平台建立N条长连接之前,还用于向所述物联网平台发送请求消息,所述请求消息用于请求长连接标识;接收所述物联网平台发送的响应消息,所述响应消息携带所述M个长连接标识,M≥N。
一种可行的设计中,所述处理模块11,在所述物联网平台包括多个分布式物联网平台时,与所述多个分布式物联网平台中的一个或多个分布式物联网平台建立所述N条长连接。
一种可行的设计中,所述应用层设备包括终端设备或应用服务器。
本申请实施例提供的通信装置,可以执行上述方法实施例中应用层设备的动作,其实现原理和技术效果类似,在此不再赘述。
图8为本申请实施例提供的一种通信装置的结构示意图。本实施例所涉及的通信装置可以为物联网平台,也可以为应用于物联网平台的芯片。该通信装置可以用于执行上述方法实施例中物联网平台的功能。如图8所示,该通信装置可以包括:处理模块21和收发模块22。其中,
处理模块21,用于与应用层设备建立N条长连接,所述N≥2;
收发模块22,用于通过所述处理模块21建立的所述N条长连接接收所述应用层设备发送的第一数据,或者,通过所述处理模块21建立的所述N条长连接向所述物联网平台发送第二数据,所述第一数据与所述第二数据是加载在所述应用层设备上的第三方应用与所述物联网平台之间交互的数据。
一种可行的设计中,所述处理模块21和所述收发模块22用于循环执行E-G,直至于所述应用层设备建立所述N条长连接,所述E-G包括:
E、所述收发模块22接收所述应用层设备发送的长连接建立请求消息,所述长连接建立请求消息携带第i个长连接标识,所述第i个长连接标识是所述应用层设备从所述N个长连接标识中选择出的任意一个长连接标识,1≤i≤N;
F、所述收发模块22向所述应用层设备发送长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述第i个长连接标识对应的长连接;
G、所述处理模块21确定已建立的长连接的每秒事务处理量TPS,以及感知层设备的TPS,根据所述已建立的长连接的TPS与所述感知层设备的TPS,确定是否向所述应用层设备发送第一通知消息,所述第一通知消息用于指示所述应用层设备继续建立下一条长连接;
循环执行E-G,直至于所述应用层设备建立所述N条长连接。
一种可行的设计中,所述处理模块21在与应用层设备建立N条长连接时,具体用于利用所述收发模块22,向所述应用层设备发送第二通知消息,所述第二通知消息用于指示所述应用层设备建立N条长连接;接收所述应用层设备发送的长连接建立请求消息,所述长连接建立请求消息携带所述N条长连接;向所述应用层设备发送长连接建立响应消息,所述长连接建立响应消息用于向所述应用层设备指示成功建立所述N个长连接标识对应的长连接。
一种可行的设计中,所述收发模块22,在所述处理模块21与应用层设备建立N条长连接之后,还用于向所述应用层设备发送第二通知消息,所述第二通知消息用于指示所述应用层终端设备拆除所述N条长连接中的至少一条长连接。
一种可行的设计中,所述收发模块22,在所述处理模块21与应用层设备建立N条长连接之前,还用于接收应用层设备发送的请求消息,所述请求消息用于请求长连接标识;向所述应用层设备发送响应消息,所述响应消息携带所述M个长连接标识,M≥N。
一种可行的设计中,所述处理模块21,在所述物联网平台包括多个分布式物联网平台时,控制所述多个分布式物联网平台中的一个或多个分布式物联网平台与所述应用层设备建立所述N条长连接。
本申请实施例提供的通信装置,可以执行上述方法实施例中物联网平台的动作,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上收发模块实际实现时可以为收发器。而处理模块可以以软件通过处理元件调用的形式实现;也可以以硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
图9为本申请实施例提供的一种通信装置的结构示意图。如图9所示,该通信装置30可以包括:处理器31(例如CPU)、存储器32、收发器33;收发器33耦合至处理器31,处理器31控制收发器33的接收动作;存储器32可能包含高速随机存取存储器(random-accessmemory,RAM),也可能还包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器,存储器32中可以存储各种指令,以用于完成各种处理功能以及实现本申请的方法步骤。可选的,本申请涉及的通信装置还可以包括:电源34、通信总线35以及通信端口36。收发器33可以集成在通信装置的收发信机中,也可以为通信装置上独立的收发天线。通信总线35用于实现元件之间的通信连接。上述通信端口36用于实现通信装置与其他外设之间进行连接通信。
在本申请实施例中,上述存储器32用于存储计算机可执行程序代码,程序代码包括指令;当处理器31执行指令时,指令使通信装置的处理器31执行上述方法实施例中应用层设备的处理动作,使收发器33执行上述实施例中应用层设备的收发动作,其实现原理和技术效果类似,在此不再赘述。
图10为本申请实施例提供的一种通信装置的结构示意图。如图10所示,该通信装置40可以包括:处理器41(例如CPU)、存储器42、收发器43;收发器43耦合至处理器41,处理器41控制收发器43的收发动作;存储器42可能包含高速随机存取存储器(random-accessmemory,RAM),也可能还包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器,存储器42中可以存储各种指令,以用于完成各种处理功能以及实现本申请的方法步骤。可选的,本申请涉及的通信装置还可以包括通信总线44。收发器43可以集成在通信装置的收发信机中,也可以为通信装置上独立的收发天线。通信总线44用于实现元件之间的通信连接。上述通信端口46用于实现通信装置与其他外设之间进行连接通信。
在本申请实施例中,上述存储器42用于存储计算机可执行程序代码,程序代码包括指令;当处理器41执行指令时,指令使通信装置的处理器41执行上述实施例或可选实施例中物联网平台的处理动作,使收发器43执行上述方法实施例中物联网平台的接收动作,其实现原理和技术效果类似,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。