重连云端服务器的方法及电子设备技术

技术编号:24466789 阅读:19 留言:0更新日期:2020-06-10 18:53
本公开涉及一种重连云端服务器的方法及电子设备,其包括:响应于与云端服务器断开网络连接,确定断开连接的故障原因;基于确定的故障原因,按照与故障原因对应的时间策略执行网络状态检测,直至故障消除;向所述云端服务器发送重连请求,重新建立与所述云端服务器的网络连接。本公开实施例可减少对云端的性能冲击。

Methods and electronic devices of reconnecting cloud servers

【技术实现步骤摘要】
重连云端服务器的方法及电子设备
本公开涉及通信领域,尤其涉及一种重连云端服务器的方法及电子设备。
技术介绍
MQTT(消息队列遥测传输)协议用于设备和云端进行实时通讯,当设备因为本地网络原因或者云端异常导致MQTT断开连接后,设备一般会在下一秒重新发起MQTT连接,以求尽快恢复和云端的MQTT通讯。这种重连的机制缺点在于,假如是云端出现了异常,那么此时连接在云端的所有设备都会同时断开MQTT连接,然后会在下一秒同时发起MQTT连接,当设备数量较大时,大量设备同时发起MQTT连接会对云端造成很大的性能冲击,有可能导致云端继续异常,无法恢复。
技术实现思路
本公开提出了一种重连云端服务器的技术方案。根据本公开的一方面,提供了一种重连云端服务器的方法,其包括:响应于与云端服务器断开网络连接,确定断开连接的故障原因;基于确定的故障原因,按照与故障原因对应的时间策略执行网络状态检测,直至故障消除;向所述云端服务器发送重连请求,重新建立与所述云端服务器的网络连接。在一些可能的实施方式中,所述确定断开连接的故障原因包括:在通过有线联网,且检测不到有线网络信号的情况下,确定所述故障原因为第一故障原因;在通过无线联网,且检测不到无线网络信号的情况下,确定所述故障原因为第一故障原因;在检测到网络信号且访问域名系统失败的情况下,确定所述故障原因为第一故障原因;在检测到网络信号且访问域名系统成功的情况下,确定所述故障原因为第二故障原因。>在一些可能的实施方式中,所述基于确定的故障原因,按照与故障原因对应的时间策略执行网络状态检测,直至故障消除,包括:响应于所述故障原因为第一故障原因,按照预设时间间隔检测网络状态,直至消除第一故障原因;响应于所述故障原因为第二故障原因,按照预设算法确定退避时间,并基于所述退避时间检测网络状态,直至消除第二故障原因。在一些可能的实施方式中,所述按照预设算法确定退避时间,包括:获取随机数以及当前检测网络状态的次数;按照预设算法,基于所述随机数和所述次数确定所述退避时间。在一些可能的实施方式中,所述预设算法的表达式为:t=min(M,rand()%(5000+failcnt*1000));其中,t表示退避时间,min表示最小值函数,M为设定的参考比较值,rand()%为用于生成随机数的随机函数,failcnt表示检测网络状态的次数。在一些可能的实施方式中,所述第一故障原因包括与本地网络故障,所述响应于所述故障原因为第一故障原因,按照预设时间间隔检测网络状态,直至消除第一故障原因,包括:响应于所述故障原因为第一故障原因,按照预设间隔检测本地网络的连接状态;在检测到连接本地网络的情况下,停止检测网络状态。在一些可能的实施方式中,所述第二故障原因包括云端服务器故障,所述基于所述退避时间检测网络状态,直至消除第二故障原因,包括:在达到所述退避时间的情况下,检测是否仍然存在第二故障原因,;如存在,基于所述预设算法更新所述退避时间;如不存在,确定为消除所述第二故障原因。在一些可能的实施方式中,所述方法还包括:在消除所述第二故障原因的情况下,将所述检测网络状态的次数重置为初始值。在一些可能的实施方式中,所述向所述云端服务器发送重连请求,重新建立与所述云端服务器的网络连接,包括:基于消息队列遥测传输协议,向所述云端服务器发送重连请求;响应于所述云端服务器的返回信息,重连建立与所述云端服务器的网络连接。根据本公开实施例的第二方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行第一方面中任意一项所述的方法。在本公开实施例中,在检测到设备与云端服务器断开网络连接,首先确定断开连接的故障原因;并可以基于确定的故障原因,按照与故障原因对应的时间策略执行网络状态检测,直至故障消除;在检测出故障被消除的情况下,再向所述云端服务器发送重连请求,重连建立与所述云端服务器的网络连接。其中,设备可以根据故障原因执行不同的时间策略,执行网络状态的检测,在检测到故障被消除的情况下,再向服务器发送重连请求。也就是说,本公开实施例可以根据故障原因执行不同的时间策略,不同的设备可以根据时间策略得到的时间值执行网络状态的检测,从而可以使得至少一部分设备向云端服务器发送重连请求会被错开,减少云端服务器的压力,即本公开实施例不仅可以尽快恢复和云端服务器的通讯,又可以减少同时连接云端的设备数量,减少对云端的性能冲击。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。附图说明此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。图1示出根据本公开实施例的重连云端服务器的流程图;图2示出根据本公开实施例的重连云端服务器的方法中步骤S30的流程图;图3示出根据本公开实施例的一种重连云端服务器中步骤S40的流程图;图4示出根据本公开实施例的一种重连云端服务器的过程示意图;图5示出根据本公开实施例的重连云端服务器的装置的框图;图6示出根据本公开实施例的一种电子设备800的框图;图7示出根据本公开实施例的另一种电子设备1900的框图。具体实施方式以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。本公开实施例中,重连服务器的方法的执行主体可以是任意的与云端服务器连接的电子设备。例如,重连云端服务器的方法可以由终端设备执行,其中,终端设备可以为用户设备(UserEquipment,UE)、移动设备、用户终端、本文档来自技高网...

【技术保护点】
1.一种重连云端服务器的方法,其特征在于,包括:/n响应于与云端服务器断开网络连接,确定断开连接的故障原因;/n基于确定的故障原因,按照与故障原因对应的时间策略执行网络状态检测,直至故障消除;/n向所述云端服务器发送重连请求,重新建立与所述云端服务器的网络连接。/n

【技术特征摘要】
1.一种重连云端服务器的方法,其特征在于,包括:
响应于与云端服务器断开网络连接,确定断开连接的故障原因;
基于确定的故障原因,按照与故障原因对应的时间策略执行网络状态检测,直至故障消除;
向所述云端服务器发送重连请求,重新建立与所述云端服务器的网络连接。


2.根据权利要求1所述的方法,其特征在于,所述确定断开连接的故障原因包括:
在通过有线联网,且检测不到有线网络信号的情况下,确定所述故障原因为第一故障原因;
在通过无线联网,且检测不到无线网络信号的情况下,确定所述故障原因为第一故障原因;
在检测到网络信号且访问域名系统失败的情况下,确定所述故障原因为第一故障原因;
在检测到网络信号且访问域名系统成功的情况下,确定所述故障原因为第二故障原因。


3.根据权利要求1所述的方法,其特征在于,所述基于确定的故障原因,按照与故障原因对应的时间策略执行网络状态检测,直至故障消除,包括:
响应于所述故障原因为第一故障原因,按照预设时间间隔检测网络状态,直至消除第一故障原因;
响应于所述故障原因为第二故障原因,按照预设算法确定退避时间,并基于所述退避时间检测网络状态,直至消除第二故障原因。


4.根据权利要求3所述的方法,其特征在于,所述按照预设算法确定退避时间,包括:
获取随机数以及当前检测网络状态的次数;
按照预设算法,基于所述随机数和所述次数确定所述退避时间。


5.根据权利要求4所述的方法,其特征在于,所述预设算法的表达式为:t=min(M,rand()%(5000+failcnt*1000));
其中,t表示退避时间,...

【专利技术属性】
技术研发人员:常城
申请(专利权)人:杭州涂鸦信息技术有限公司
类型:发明
国别省市:浙江;33

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

1