基于分布式的自适应心跳方法和系统技术方案

技术编号:17517872 阅读:32 留言:0更新日期:2018-03-21 02:20
本发明专利技术涉及一种维持物联网设备网络连接的基于分布式的自适应心跳方法,包括:物联网设备通过所属局域网建立并维持与物联网云平台的网络连接,初始化自适应参数;物联网设备向所属局域网发送自适应参数请求广播,根据该局域网中其他设备响应的自适应参数共享广播,更新所述自适应参数及自适应心跳周期;通过指数增长方式或线性增长方式,确定需进行探测的多个探测值,并将这些探测值划分为多个周期探测任务,分配给该局域网中的多个物联网设备进行探测。本发明专利技术解决了物联网设备获取自适应心跳周期过程中探测次数多、耗时长的问题,提出一种高效的探测终止策略来平衡探测误差与探测效率。

Distributed based adaptive heartbeat method and system

The invention relates to a maintenance device networking network connection method based on Distributed Adaptive heartbeat, including: networking equipment through the network to establish and maintain the cloud platform and networking network connection initialization; networking equipment to the local network sends the adaptive parameter request broadcast, sharing broadcast according to the adaptive parameters the response of the equipment in the LAN, updating the adaptive parameters and adaptive heartbeat cycle; by exponential growth or linear growth mode, determining a plurality of detection of detection value and the detected value is divided into a plurality of cycle detection task is assigned to a plurality of the LAN networking equipment detection. The invention solves the problem of many times and long time consuming in obtaining the adaptive heartbeat cycle of the Internet of things device, and proposes an efficient detection termination strategy to balance the detection error and the detection efficiency.

【技术实现步骤摘要】
基于分布式的自适应心跳方法和系统
本专利技术针对维持物联网设备网络连接问题,提出了一种基于分布式的自适应心跳方法,通过同一局域网中的物联网设备之间协同合作获取最优的心跳周期。
技术介绍
随着物联网水平化接入协议(如CoAP,MQTT,LwM2M,EBHTTP等)的逐步成熟与实用化,将设备接入云平台(如Xively,WastonIoT,OneNET,YeeLink等)以对设备进行实时访问逐步成为一种主流架构。由于现有互联网基础设施的限制(如IP地址和端口资源有限),绝大多数物联网设备通常位于企业局域网或家庭局域网中,没有独立的公网IP,需采用网络地址转换(NAT)的方式经过端口映射建立网络连接接入到互联网,而基于安全考虑,企业网络或者小区网络往往设有防火墙,这些防火墙会定期剔除不常用的端口映射信息,当物联网设备在一个NAT老化时间周期(agingT)内未使用该端口映射与外界进行通信,则该端口映射信息将失效,外界将不能采用该映射与设备通信,即该网络连接断开。因此为了保证物联网云平台与设备之间的双向实时访问,设备与平台间需要定时发送心跳包,以维持物联网设备网络连接。现有多数物联网系统(如Xively,WastonIoT,OneNET,YeeLink等)采用统一且固定的心跳周期(如使用TCP长连接,采用固定周期的心跳机制来维持长连接),为保证对不同网络环境的适应性,一般将心跳周期设置成一个较小的时间,以保证设备网络连接不会失效。采用这种统一且固定心跳周期的心跳方式的物联网系统,在设备数较少的物联网发展初期,能够提供稳定的物联网服务。随着物联网设备快速增长,这种维持网络连接的方式将占用大量云平台资源(服务器内存、CPU时间、Internet带宽等),进而影响云平台的其它服务功能。针对上述问题,目前国内外已有部分研究成果,例如《一种基于自适应心跳机制的MQTT通信协议的研究与应用》(温彬民,华南理工大学,2015)中通过对MQTT使用的心跳策略进行研究,提出了自适应心跳机制,该机制使用二分法快速查找最优的心跳值,可以探测物联网设备当前所处网络环境的NAT老化时间周期(agingT),并根据该周期动态调整设备心跳周期来维持网络连接,使得设备心跳开销最小,然而由于其探测过程采用固定阈值作为探测终止条件,当NAT老化时间周期(agingT)较大时,网络探测的探测次数较多,且所耗费时间也较长,并且由于其用于设备访问及周期探测的连接为同一条,若探测结果为失效,相应地该连接即为失效,则平台无法使用该连接访问物联网设备。另一个问题就是使用二分法来确定探测值时,探测开始阶段探测值为,相对于初始心跳值MinT来说探测值较大,需要较长的时间才可能更新心跳,期间发送的心跳包数较多,心跳开销较大。而《ACost-EffectiveMethodtoKeepAvailabilityofManyCloud-ConnectedDevices》(AjitomiD,KawazoeH,MinamiK,etal.InternationalConferenceonCloudComputing.IEEE,2015:1-8.)中提出的一种自适应心跳方法中,通过建立一条额外的连接用于NAT老化时间周期(agingT)探测,因此用于设备访问的连接能够持续有效,不会影响设备的访问。然而该方法中用于网络探测的探测值是固定的,虽然能将探测次数控制在固定次数以内,且能对探测耗时进行控制,但其所探测出的NAT老化时间周期(agingT)误差太大,由此所得的自适应心跳周期往往不是最优的。相关专利如CN105978757A、CN103685241A、CN103209089A、CN104144159A、CN102843250A、CN103684815A和CN106452973A,在所公开的自适应心跳的周期探测执行过程中,均通过设备或终端独立进行周期探测,设备或终端需要进行多次探测,通信次数较多,开销大、耗时长且同样未对探测效率与误差做相应的优化。特别是相关专利CN105978757A、CN103685241A、CN103209089A,是通过设备或终端探测出的NAT过期时间周期存储在服务器端,当下次有相同的IP地址的设备或终端需要获取该周期时,直接从服务器中获取,无需再进行探测,能够减少开销;但上述专利却没有考虑同一网关下多级路由的情况:两个局域网最终NAT映射的公网IP相同,但由于从设备或终端到网关经过的中间层路由器不同,而不同的路由器的NAT老化时间周期可能不同,导致设备或终端的NAT老化时间周期可能不同,因而上述专利所公开的通过服务器获取的NAT老化时间周期方法,不适用于存在不同中间层路由器的情况。现有的自适应心跳方法需要每个物联网设备独立进行周期探测,才能获取自适应心跳周期,期间每个设备需要进行多次探测,通信次数较多,会占用大量的网络带宽资源以及平台资源(服务器内存、CPU时间等);并且,由于对不同探测值的探测需顺序执行,多次探测将耗费大量的时间;同时,现有的周期探测方法没有高效的探测终止策略,采用固定的探测值的探测方法所获取的自适应心跳周期与最优值之间的误差较大,采用固定探测终止阈值的探测方法可能探测次数过多、效率低下,其中探测终止阈值为相邻两个探测值的最小差值,当小于该阈值时结束周期探测。综上所述,现有的方法存在开销大、耗时长、不能有效控制误差和效率等问题,因此有必要提出一种能解决上述问题的自适应方法。
技术实现思路
针对上述问题,本专利技术提出一种基于分布式的自适应心跳方法,来平衡探测误差与探测效率,其目的是解决物联网设备获取自适应心跳周期过程中探测次数多、耗时长的问题。最优的自适应心跳周期与NAT老化时间周期(agingT)和网络延迟等因素相关,由设备所处网络决定,不受物联网设备影响,因而同一局域网中的物联网设备的最优自适应心跳周期是相同的。本专利技术基于上述特性,提出了一种基于分布式的自适应心跳方法,方法包括:1)、参数同步机制:同一局域网中的物联网设备通过广播实现自适应参数的共享,设备根据自适应参数调整自适应心跳周期T,并执行分布式周期探测。自适应参数(Params)包括:周期探测下限(lowerT)、周期探测上限(upperT)、实际参与分布式周期探测的设备数(m)、分布式自适应过程(AS)、“快收敛”阶段的一轮探测中最后一个探测任务执行完成的倒计时时间(CD)。分布式自适应过程(AS)分为:未开始(NS)、快更新(FU)、快收敛(FC)和已完成(CP)四个阶段,其中FU和FC阶段需进行分布式周期探测。2)、分布式周期探测方法:图1是局域网(LAN)中设备独立周期探测和分布式周期探测的示意图,现有的自适应心跳方法中每个设备均需独立完成整个周期探测过程(TASK表示),整个过程需对多个探测值(T1...Tk)进行探测,且不同探测需顺序执行,其耗费的时间长,且开销大。同一网络中的所有设备的NAT老化时间周期(agingT),因此它们的周期探测结果是相同的,分布式周期探测将整个探测过程划分成多个子任务并分配到多个设备执行,每个子任务有0到多个探测值,因此可以同时对不同探测值进行探测,并将探测结果共享,不仅能够加快周期探测的速度,而且能够减少总的探测次数,减少每个设本文档来自技高网
...
基于分布式的自适应心跳方法和系统

【技术保护点】
一种基于分布式的自适应心跳方法,其特征在于,包括:初始化步骤,第一设备通过所属局域网建立及维持与物联网云平台的网络连接,并对该第一设备的自适应参数进行初始化设置;周期探测步骤,通过指数增长方式或线性增长方式,以确定需进行探测的NAT老化时间周期的多个探测值,并将所述探测值划分为多个周期探测任务,分配给所述局域网中的多个该第一设备进行探测。

【技术特征摘要】
1.一种基于分布式的自适应心跳方法,其特征在于,包括:初始化步骤,第一设备通过所属局域网建立及维持与物联网云平台的网络连接,并对该第一设备的自适应参数进行初始化设置;周期探测步骤,通过指数增长方式或线性增长方式,以确定需进行探测的NAT老化时间周期的多个探测值,并将所述探测值划分为多个周期探测任务,分配给所述局域网中的多个该第一设备进行探测。2.如权利要求1所述的基于分布式的自适应心跳方法,其特征在于,所述初始化步骤具体包括:网络连接步骤,所述第一设备向所述云平台发送网络连接建立请求,该云平台收到该请求后,将该第一设备的NAT映射地址保存为该请求的源IP地址,将该第一设备的网络连接端口的映射端口保存为该请求的源端口,当该云平台需要访问该第一设备时,将访问请求发送至该源IP地址和该源端口;参数初始化步骤,网络连接建立后,对所述第一设备的自适应心跳周期及自适应参数进行初始化设置;其中,所述自适应参数包括周期探测下限、周期探测上限、实际参与分布式周期探测的设备数、分布式自适应过程,所述分布式自适应过程包括未开始阶段、快更新阶段、快收敛阶段、已完成阶段;网络维持步骤,所述第一设备向该云平台发送心跳包以维持网络连接,所述心跳包发送时间间隔为初始化的所述的自适应心跳周期;参数同步步骤,所述第一设备向所述局域网发送自适应参数请求广播,所述局域网内的第二设备收到该请求广播后,向所述局域网发送自适应参数共享广播,该第一设备根据收到的该共享广播,更新所述自适应参数及自适应心跳周期。3.如权利要求1所述的基于分布式的自适应心跳方法,其特征在于,所述周期探测步骤具体包括:所述第一设备通过一端口发送映射建立请求至该云平台,建立起对该端口的NAT映射,并暂停通信,经过testT时间后,从该云平台发送映射测试请求至该端口,若该第一设备收到请求,则testT小于失效周期,对应探测结果有效;若该第一设备未收到请求,则testT大于失效周期,对应探测结果失效;其中,testT为所述探测值。4.如权利要求1或3所述的基于分布式的自适应心跳方法,其特征在于,周期探测步骤中所述指数增长方式,具体包括:快更新任务分配步骤,当所述分布式自适应过程为未开始阶段或快更新阶段时,将该分布式自适应过程的状态设置为快更新阶段,启动快更新周期探测;设置所述探测值testT为2n×lowerT,将该探测值分配给所述局域网的m个该第一设备进行周期探测;若探测结果有效,则更新周期探测下限lowerT为testT,更新自适应心跳周期为testT并向所述局域网发送自适应参数更新广播,若lowerT=MaxT,则更新该分布式自适应过程为已完成阶段,终止周期探测,否则重新进行所述快更新任务分配步骤;若探测结果失效,则更新周期探测上限upperT为testT,向所述局域网发送自适应参数更新广播,更新该分布式自适应过程为快收敛阶段,周期探测进入快收敛任务分配步骤;其中,m≤MaxM1;m、n为正整数,m为所述实际参与分布式周期探测的设备数,MinT为最小心跳周期,MaxT为最大心跳周期,MaxM1为快更新阶段参与分布式周期探测的最大设备数,lowerT为所述周期探测下限,lowerT初始值为MinT。5.如权利要求1或3所述的基于分布式的自适应心跳方法,其特征在于,周期探测步骤中所述线性增长方式,具体包括:快收敛任务分配步骤,当所述分布式自适应过程为快收敛阶段时,若t≤P,则更新该分布式自适应过程为已完成阶段,终止分布式周期探测;若t>P,则启动快收敛探测,设置所述...

【专利技术属性】
技术研发人员:施亚虎石海龙崔莉
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1