CN114501684A - 用于自动恢复连接的方法、装置、扩展器和计算机介质 - Google Patents
用于自动恢复连接的方法、装置、扩展器和计算机介质 Download PDFInfo
- Publication number
- CN114501684A CN114501684A CN202011268389.XA CN202011268389A CN114501684A CN 114501684 A CN114501684 A CN 114501684A CN 202011268389 A CN202011268389 A CN 202011268389A CN 114501684 A CN114501684 A CN 114501684A
- Authority
- CN
- China
- Prior art keywords
- mqtt
- wireless extender
- connection
- extender
- wireless
- 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
Links
- 239000004606 Fillers/Extenders Substances 0.000 title claims abstract description 193
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004891 communication Methods 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims abstract description 14
- 230000015654 memory Effects 0.000 claims description 26
- 239000003795 chemical substances by application Substances 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 20
- 238000011084 recovery Methods 0.000 abstract description 11
- 230000007246 mechanism Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 229910005580 NiCd Inorganic materials 0.000 description 1
- 229910005813 NiMH Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/19—Connection re-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/18—Management of setup rejection or failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/04—Terminal devices adapted for relaying to or from another terminal or user
Abstract
本公开涉及用于自动恢复连接的方法、装置、扩展器和计算机介质。在该方法中,由无线扩展器记录在第一预定时间内从接入点接收到的分组的数量;由无线扩展器将记录的数量与预定阈值进行比较;以及响应于确定记录的数量小于所述预定阈值,由无线扩展器重启无线扩展器中的用于进行WiFi通信的WiFi模块,以重新建立与所述接入点的WiFi连接。通过自动检测WiFi连接状态并自动触发WiFi模块的重启,可以在无需人工介入的情况下尝试恢复WiFi连接,从而提高了网络恢复的效率。
Description
技术领域
本公开涉及无线局域网领域,更具体地,涉及无线局域网领域中用于自动恢复连接的方法、装置、扩展器和计算机介质。
背景技术
在无线局域网中,用户终端可以通过802.11协议族中的协议与接入点连接,例如通过WiFi(Wireless Fidelity,无线保真)进行连接。为了使接入点能够覆盖尽量大的范围,同时为了使接入点能够接入更多的用户终端,引入了无线扩展器。无线扩展器能够通过WiFi协议与接入点建立WiFi连接(也可以被称为WiFi Backhaul(回程)连接),并可以通过WiFi协议与用户终端建立WiFi连接,这使得用户终端可以经由无线扩展器连接到接入点。无线扩展器能够对接入点和用户终端之间传输的无线信号进行放大和转发,以避免与接入点相距较远的用户终端无法与接入点通信。
在无线扩展器中可以托管有MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)客户端。MQTT客户端可以经由接入点中托管的MQTT代理与网络中的其他MQTT客户端或MQTT服务器进行通信,以基于发布/订阅模式传输希望的消息。在无线扩展器的MQTT客户端和接入点的MQTT代理之间可以通过MQTT协议建立MQTT连接。在MQTT连接上,无线扩展器的MQTT客户端可以将收集的无线扩展器和用户终端的状态信息、信道信息等传递给接入点的MQTT代理。接入点的MQTT代理可以将收到的信息发送给云服务器以供分析和网络优化。此外,接入点的MQTT代理可以将从云服务器接收到的用于优化无线扩展器的配置和/或控制无线扩展器的操作的数据发送给无线扩展器的MQTT客户端,以实现无线扩展器的性能提升。
在一些情况下,无线扩展器可能会丢失与接入点的WiFi连接。在这样的情况下,连接到无线扩展器的用户终端将发现无法进行网络通信。在确定这是由于无线扩展器的连接故障造成的情况下,无线扩展器将被手动重启以尝试恢复WiFi连接。
此外,有时尽管无线扩展器和接入点之间的WiFi连接正常,但是云服务器一侧无法接收来自无线扩展器的状态信息等和/或无法将对无线扩展器的配置信息等发送给无线扩展器。在这样的情况下,可以确定MQTT连接出现问题。尽管MQTT协议具有恢复MQTT连接的机制,但是该机制可能仍然无法恢复MQTT连接,例如MQTT客户端自身崩溃了。于是,仍然需要手动重启无线扩展器来重新建立MQTT连接。
因此,在恢复无线扩展器上的连接故障时,常常需要人工参与以手动重启无线扩展器,这显著降低了故障恢复的效率,影响了网络服务的性能。因此,希望能够提供一种方式,使得能够在恢复连接的过程中避免人工的参与。
发明内容
本公开的一些方面涉及一种无线扩展器。该无线扩展器可以包括:存储器,存储有指令;以及处理器,被配置为执行存储在存储器中的指令以使无线扩展器执行以下操作。所述操作可以包括:记录在第一预定时间内从接入点接收到的分组的数量;将记录的数量与预定阈值进行比较;以及响应于确定记录的数量小于所述预定阈值,重启无线扩展器中的用于进行WiFi通信的WiFi模块,以重新建立与所述接入点的WiFi连接。
在一些实施例中,在重启WiFi模块的过程中,无线扩展器中的控制器可以向所述WiFi模块发送控制信号,以使所述WiFi模块在复位后重新运行。
在一些实施例中,如果WiFi连接不能被重新建立,那么可以重启无线扩展器以使无线扩展器重新执行其全部工作流程。
在一些实施例中,无线扩展器还可以执行以下操作:响应于确定记录的数量不小于所述预定阈值、或者确定WiFi连接已被重新建立,确定无线扩展器中托管的MQTT客户端在第二预定时间内是否从接入点中托管的MQTT代理接收到MQTT PINGRESP分组;以及响应于确定未接收到MQTT PINGRESP分组,在所述MQTT客户端不能恢复与所述MQTT代理的MQTT连接的情况下,重启MQTT客户端以重新建立与所述MQTT代理的MQTT连接。
在一些实施例中,在重启MQTT客户端的过程中,无线扩展器中的控制器可以删除当前运行的MQTT客户端进程,并调用新的MQTT客户端进程。
在一些实施例中,如果MQTT连接不能被重新建立,那么可以重启无线扩展器以使无线扩展器重新执行其全部工作流程。
在一些实施例中,在重启无线扩展器之前,可以将与无线扩展器连接的用户终端切换到正在进行网络通信的接入点。
本公开的其他方面涉及一种用于自动恢复连接的方法、装置以及非暂态计算机可读介质。它们均可以实现上述无线扩展器可执行的操作。
附图说明
为了更好地理解本公开,并示出如何实现本公开,现在将以举例的方式参照附图描述,其中:
图1是根据本公开实施例的无线扩展器与接入点相连接的无线网络的示意图。
图2是根据本公开实施例的无线扩展器的示例性配置框图。
图3是根据本公开实施例的用于检测WiFi连接状态的方法的流程图。
图4是根据本公开实施例的用于检测MQTT连接状态的方法的流程图。
图5是根据本公开实施例的用于自动恢复WiFi连接的方法的流程图。
图6是根据本公开实施例的用于自动恢复MQTT连接的方法的流程图。
图7是根据本公开实施例的用于自动恢复无线扩展器上的连接的方法的流程图。
具体实施方式
参考附图进行以下详细描述,并且提供以下详细描述以帮助全面理解本公开的各种示例实施例。以下描述包括各种细节以帮助理解,但是这些细节仅被认为是示例,而不是为了限制本公开,本公开是由随附权利要求及其等同内容限定的。在以下描述中使用的词语和短语仅用于能够清楚一致地理解本公开。另外,为了清楚和简洁起见,可能省略了对公知的结构、功能和配置的描述。本领域普通技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以对本文描述的示例进行各种改变和修改。
首先,参考图1描述根据本公开实施例的其中无线扩展器110与接入点120连接的无线网络100的示意图。
一个或多个用户终端140经由无线扩展器110连接到接入点120,进而通过接入点120连接到互联网130。在无线扩展器110和接入点120之间建立有WiFi连接170,通过WiFi连接170,用户终端140能够享受来自互联网130的网络服务。如果WiFi连接170出现故障,那么用户终端140将无法继续上网。无线扩展器110不仅可以包括无线局域网中的信号中继器,还可以包括能够与接入点建立WiFi连接的用于接入一个或多个用户终端的任何接入设备。本文中的接入点也可以被称为网关设备,它使得用户终端能够与诸如互联网、蜂窝网、互联网、城域网、广域网之类的各种网络上的服务器和终端通信。
在无线扩展器110中可以托管MQTT客户端150。在这种情况下,与MQTT客户端150对应的程序代码可以存储在无线扩展器110的存储器中。MQTT客户端150可能是单独存在的功能模块,也可能是其他功能模块的一部分。在接入点120中可以托管MQTT代理160。在这种情况下,与MQTT代理160对应的程序代码可以在接入点120的存储器中。MQTT代理160可能是单独存在的功能模块,也可能是其他功能模块的一部分。例如,在康普公司的HAv3(HomeAssure version 3)系统中,MQTT客户端150可以被集成在无线扩展器110中的HAv3嵌入式机构(Agent)中。HAv3嵌入式机构可以收集扩展器110和用户终端140的数据,并将其经由MQTT协议发送到在接入点120中运行的集成有MQTT代理160的HAv3控制器。接着,HAv3控制器可以将这些数据发送到云服务器以供分析和网络优化。当然,这些数据的收集和发送也可以由单独的MQTT客户端150和MQTT代理160来执行。
MQTT客户端150和MQTT代理160之间的通信需要经由MQTT连接180。通过MQTT连接180,MQTT客户端150可以向MQTT代理160和网络侧上报无线扩展器110和/或用户终端140的状态信息、信道信息等,MQTT代理160和网络侧可以向MQTT客户端150发送用于管理无线扩展器的控制信息以优化其配置等。在无线扩展器110和接入点120建立了WiFi连接170之后,无线扩展器110和接入点120可以建立MQTT连接180。
诸如WiFi扩展器的无线扩展器110可以对在用户终端140和接入点120之间交互的WiFi无线信号进行中继。它可以具有如图2所示的示例性配置框图。
尽管在本文中将其称为无线扩展器,但是无线扩展器110可以例如是可以组合调制解调器、中继器、接入设备的功能的硬件电子设备。本公开还设想无线扩展器110可以包括但不限于能够解码音频/视频内容并播放OTT或MSO提供的内容的智能媒体设备(SMD)或IP/QAM机顶盒(STB)的功能。
如图2所示,无线扩展器110包括用户接口20、网络接口(例如LAN接口)21、电源22、WAN接口23、存储器24和控制器26。用户接口20可以包括但不限于推动按钮、键盘、小键盘、LCD、CRT、TFT、LED、HD或其他类似显示设备,包括具有触摸屏能力的显示设备,以允许用户和无线扩展器110之间的交互。网络接口21可以包括各种网卡以及以软件和/或硬件实施的电路,以使得能够使用一个或多个无线协议来实现与接入点和用户设备等的通信,所述无线协议例如是任何IEEE 802.11Wi-Fi协议、蓝牙协议、蓝牙低功耗(BLE)、或根据无线技术标准工作以使用任何许可或未许可频段在短距离上交换数据的任何短距离协议、RF4CE协议、ZigBee协议、Z波协议或IEEE802.15.4协议,所述许可或未许可频段例如是市民宽带无线电服务(CBRS)频段、2.4GHz频段、5GHz频段、或6GHz频段。可视为一种用户设备类型的无线扩展器110可以通过使用上述协议中的任何一个连接到接入点以建立底层物理通信链路。基于所建立的物理通信链路,无线扩展器110可以进一步通过使用对应的应用层协议来建立与接入点的应用层连接,例如通过使用MQTT协议建立MQTT连接,如参考图1所述的那样。
电源22通过内部总线27向无线扩展器110的内部组件供电。电源22可以是独立式电源,例如电池组,其具有通过连接到插座(例如,直接或通过其他设备)的电气充电器供电的接口。电源22还可以包括可拆卸以允许替换的可充电电池,例如NiCd、NiMH、Li离子或Li聚合物电池。如果无线扩展器110是调制解调器或具有网关能力,则其可以包括WAN接口23,WAN接口23可以包括各种网卡以及以软件和/或硬件实现的电路,以实现与互联网服务提供商或多个系统运营商(MSO)的通信。
存储器24包括单个存储器或一个或多个存储器或存储器位置,包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、只读存储器(ROM)、EPROM、EEPROM、ROM、闪存、FPGA的逻辑块、硬盘或存储器层次结构的任何其他各层。存储器24可以用于存储任何类型的指令、软件或算法,包括用于控制无线扩展器110的一般功能和操作的软件25。
控制器26控制无线扩展器110的一般操作,并执行与网络中的其他设备(例如扩展器和用户设备)有关的管理功能。控制器26可以包括但不限于CPU、硬件微处理器、硬件处理器、多核处理器、单核处理器、微控制器、专用集成电路(ASIC)、DSP、或根据本公开中描述的实施例的能够执行用于控制无线扩展器110的操作和功能的任何类型的指令、算法或软件的其他类似处理设备。处理器26可以包括在计算系统中执行功能的数字电路、模拟电路、或混合信号(模拟和数字的组合)电路的各种实现。控制器26可以包括例如诸如集成电路(IC)之类的电路、单个处理器核的部分或电路、整个处理器核、单个处理器、诸如现场可编程门阵列(FPGA)之类的可编程硬件设备、和/或包括多个处理器的系统。
可以使用内部总线27在无线扩展器110的组件(例如20-22、24和26)之间建立通信。
返回图1,当WiFi连接170出现故障时,用户终端140将发现自己无法继续上网。当WiFi连接170正常但MQTT连接180出现故障时,尽管用户终端140可以正常上网,但是MQTT代理160等可能无法与MQTT客户端150交互状态信息、配置信息等,这将影响对网络状态的监控,并影响网络的即时优化。
在常规技术中,通常在发现连接故障之后手动重启无线扩展器。但是,人工的介入是不希望的。根据本公开实施例的方法能够自动检测连接状态,并响应于检测结果来自动触发故障的修复操作,从而提高了恢复连接的效率。
接下来,分别参考图3和图4描述如何自动检测WiFi连接状态和MQTT连接状态以发现故障的方法。
在图3中的用于自动检测WiFi连接状态的方法300中,可以针对无线扩展器110的与接入点120进行通信的接口(例如bSTA接口)设置计数器(在下文中也可以被称为Rx计数器),用于记录无线扩展器110从接入点120接收到的分组的数量。接入点120可以向无线扩展器110发送需要其转发给用户终端140的分组,也可以向无线扩展器110发送用于无线扩展器110本身的分组,例如用于管理、控制、查询等目的的分组。无论是哪种分组,都可以通过该计数器记录数量。
在S310中,启动定时器,并将Rx计数器的初始值设置为0。定时器的定时T1指示检测Rx计数器的读数的间隔,Rx计数器可以是针对无线扩展器110的bSTA接口设置的。
在S320中,监视无线扩展器110对来自接入点120的分组的接收,使得每当从无线扩展器110的bSTA接口接收到一个分组,就将Rx计数器的读数增加1,并确定Rx计数器的读数是否大于预定阈值N。
如果Rx计数器的读数大于N,那么方法300进入S330,否则方法300进入S340。
在S330中,确定WiFi连接正常。
在S340中,确定定时器的定时T1是否到期。例如,确定从定时器开始计时起的等待时间是否大于T1。
如果定时器的定时T1期满,那么方法300进入S350,否则方法回到S320。
在S350中,确定WiFi连接丢失。也就是说,如果在预定时间T1内无线扩展器110从接入点120接收到的分组的数量小于阈值N,那么确定WiFi连接出现故障。
在图4中的用于自动检测MQTT连接状态的方法400中,充分利用了MQTT协议中的心跳机制和重新连接机制共同实施的结果,来帮助判断MQTT连接的状态。
在S410中,MQTT客户端150确定在预定倍数的保活(keep alive)间隔内是否从MQTT代理160接收到MQTT PINGRESP分组。例如,在MQTT客户端150向MQTT代理160发送MQTTPINGREQ分组之后,MQTT客户端150确定在1.5倍的保活间隔内是否接收到响应于MQTTPINGREQ分组的MQTT PINGRESP分组。
如果接收到MQTT PINGRESP分组,那么方法400进入S420,否则进入S430。
在S420中,确定MQTT客户端150和MQTT代理160之间的MQTT连接180正常。
在S430中,MQTT客户端150利用MQTT协议自身的重新连接机制尝试重新连接到MQTT代理160。
在S440中,确定MQTT连接是否恢复。
如果确定MQTT连接恢复,那么方法400进入S420,否则进入S450。
在S450中,确定MQTT连接丢失。
在自动检测到连接故障之后,本公开的实施例能够基于自动检测的结果来自动进行故障恢复,从而避免人工的介入并提高恢复效率。
在图5中示出了根据本公开实施例的用于自动恢复WiFi连接的方法500的流程图。方法500可以由图1中的无线扩展器110执行,方法500中涉及的检测WiFi连接故障的方式可以与上述方法300中的方式相同。
在S510中,无线扩展器记录在第一预定时间内从接入点接收到的分组的数量。
例如,无线扩展器110可以为它与接入点120通信的接口设置Rx计数器,并通过该计数器记录在诸如1分钟、2分钟、5分钟、10分钟之类的预定时间内从接入点120接收到的分组的数量。无线扩展器110从接入点120接收的分组可以包括接入点120发送给用户终端140的分组,还可以包括接入点120发送给无线扩展器110的用于控制或管理无线扩展器110等的与无线扩展器110交互的分组。
在S520中,无线扩展器将记录的数量与预定阈值进行比较。
例如,无线扩展器110可以统计它过去在上述预定时间内从接入点120接收到的以无线扩展器110为目的地的分组的数量的平均值,并将该平均值作为阈值N。无线扩展器110也可以将它统计的上述预定时间内接收到的以无线扩展器110为目的地的分组的最小数量的预定倍数(例如2倍、3倍等)设置为阈值N。
当上述的第一预定时间到期时,无线扩展器110将S510中记录的分组数量与阈值N进行比较。
在S530中,响应于确定记录的数量小于所述预定阈值,无线扩展器重启无线扩展器中的用于进行WiFi通信的WiFi模块,以重新建立与接入点的WiFi连接。
例如,如果S510中记录的分组数量不小于阈值N,那么可以确定无线扩展器110和接入点120之间的WiFi连接正常。反之,如果S510中记录的分组数量小于阈值N,那么可以确定无线扩展器110和接入点120之间的WiFi连接出现故障。由此,通过分组数量的记录和比较,可以自动检测WiFi连接状态。
在确定WiFi连接出现故障之后,可以自动触发无线扩展器110中的用于进行WiFi通信的WiFi模块的重启。WiFi模块可以是专门用于进行WiFi通信的芯片、单片机或其他集成电路,也可以是实现WiFi相关协议的程序代码集合,还可以是两者的组合。通过WiFi模块,无线扩展器110能够与接入点120建立WiFi连接,并可以在接入点120和用户终端140之间中继无线信号。
在自动触发WiFi模块的重启的过程中,无线扩展器110中的用于控制无线扩展器110整个操作的控制器可以向WiFi模块发送控制信号。通过该控制信号可以首先使WiFi模块复位,然后重新使WiFi模块开始运行。例如,可以向作为芯片模块的WiFi模块的用于复位的引脚发送复位信号,然后向WiFi模块的用于启动操作的引脚发送启动信号,以使WiFi模块在复位后重新运行。再例如,可以强行中断作为程序代码集合的WiFi模块的执行,然后使处理器重新读取WiFi模块的第一条代码以重新开始执行程序代码集合,从而使WiFi模块在复位后重新运行。又例如,当WiFi模块既包括电路部分又包括程序代码部分时,控制器可以通过控制信号中断WiFi模块的当前操作,并重新使WiFi模块从初始状态开始操作。重新启动的WiFi模块将与接入点建立WiFi连接,该建立过程与相关技术中的过程相同,在此不再赘述。
根据本公开实施例的无线扩展器通过记录预定时间内从接入点接收到的分组数量并将其与阈值的比较,可以自动确定WiFi连接出现故障。响应于该确定结果,可以自动触发无线扩展器中的WiFi模块的重启以重新建立WiFi连接,避免了在恢复WiFi连接的过程中需要人工的介入,提高了故障恢复的效率。此外,由于重启的对象是无线扩展器中的WiFi模块而不是常规技术中的整个无线扩展器,因此,可以通过更短的时间恢复WiFi连接,从而进一步提高故障恢复的效率。
如果WiFi模块通过S530仍然不能与接入点建立WiFi连接,那么无线扩展器中的控制器可以使无线扩展器重新执行无线扩展器的全部工作流程。也就是说,在WiFi连接仍然难以恢复的情况下,将重启整个无线扩展器,该重启过程可以由无线扩展器中的控制器自动完成。例如,当控制器检测到在重启WiFi模块之后没有成功建立WiFi连接时,控制器自动终止无线扩展器的当前操作,并使无线扩展器的操作重新开始。
在WiFi连接正常的情况下,那么可以进一步判断MQTT连接状态,并在存在MQTT连接故障的情况下进行自动恢复。WiFi连接正常包括如下两种情况:一是S510中记录的分组数量不小于阈值N,二是S530中的WiFi连接被重新建立。这两种情况可以出现在一个实施例中,也可以出现在不同的实施例中。只要满足其中任一情况,就可以执行图6所示的在自动检测到MQTT连接故障的情况下自动恢复MQTT连接的方法600。方法600也可以由无线扩展器110执行,方法600中涉及的检测MQTT连接故障的方式与上述方法400中的方式相同。
在S610中,无线扩展器确定无线扩展器中托管的MQTT客户端在第二预定时间内是否从接入点中托管的MQTT代理接收到MQTT PINGRESP分组。
例如,当S510中记录的第一预定时间内的分组数量不小于阈值N时,无线扩展器可以进一步检测MQTT连接是否正常。再例如,当S530中的WiFi连接被重新建立之后,无线扩展器可以进一步检测MQTT连接是否正常。
如上所述,无线扩展器110中托管的MQTT客户端150可以根据MQTT协议的心跳机制向接入点120中托管的MQTT代理160发送MQTT PINGREQ分组。如果MQTT客户端150在诸如1.5倍的保活间隔之类的时间段内没有接收到来自MQTT代理160的MQTT PINGRESP分组,那么确定MQTT连接出现故障。
在S620中,响应于确定未接收到MQTT PINGRESP分组,在MQTT客户端不能恢复与MQTT代理的MQTT连接的情况下,无线扩展器重启MQTT客户端以重新建立与MQTT代理的MQTT连接。
当MQTT客户端150未接收到MQTT PINGRESP分组时,MQTT客户端150可以利用MQTT协议自带的连接恢复机制尝试与MQTT代理160恢复连接。但是,可能由于MQTT客户端150自身的原因(例如客户端程序崩溃、死锁等),MQTT连接仍然难以恢复。在这种情况下,可以在扩展器中重启MQTT客户端以重新建立与MQTT代理的MQTT连接。
例如,无线扩展器中的控制器可以删除当前正在运行的MQTT客户端进程,并调用新的MQTT客户端进程,从而通过运行新的MQTT客户端来克服原有客户端故障导致的无法恢复连接的问题。
如果在重启MQTT客户端之后仍然无法恢复MQTT连接,例如调用的新的MQTT客户端进程仍然无法恢复MQTT连接,那么可能需要重启整个无线扩展器。该重启过程可以由无线扩展器中的控制器自动完成。例如,当控制器检测到在调用新的MQTT客户端进程之后没有成功建立MQTT连接时,控制器自动终止无线扩展器的当前操作,并使无线扩展器的操作重新开始。
无论是在无法恢复WiFi连接的情况还是无法恢复MQTT连接的情况下重启无线扩展器,由于无线扩展器的重启会导致连接到无线扩展器的用户终端的网络服务中断,所以为了避免用户终端的网络服务中断而影响用户体验,可以在重启无线扩展器之前,将连接到无线扩展器的用户终端切换到正在进行网络通信的接入点,从而使这些用户终端能够继续接受网络服务,而不受扩展器重启的影响。例如,可以通过频段引导(band steering)技术,将用户终端切换到与互联网连接的接入点的频段上。例如,在需要重启无线扩展器110时,将用户终端140切换到接入点120的其他信道上,或者将用户终端140切换到其他正在工作的接入点的信道上,接着扩展器110再进行重启。在切换时,无线扩展器110可以向用户终端140发送请求其切换到其他信道的消息,也可以将用户终端140将被切换到的目的地的信息告诉用户终端140,以使得用户终端140能够与正在工作的接入点建立连接。
在图7中示出了根据本公开实施例的用于自动恢复连接的方法700的流程图。
在S710中,无线扩展器110检测WiFi连接状态以确定WiFi连接是否丢失。该检测过程可以如方法300中所述。
当检测到WiFi连接丢失时,方法700进入S720,否则进入S740。
在S720中,无线扩展器110重启WiFi模块以重新建立与接入点120的WiFi连接。重启过程可以参考关于S530的描述。
在S730中,无线扩展器110检测WiFi连接是否恢复。
如果WiFi连接恢复,那么方法700进入S740,否则进入S770。
在S740中,无线扩展器110检测MQTT连接状态以确定MQTT连接是否丢失。该检测过程可以如方法400中所述。
当检测到MQTT连接丢失时,方法700进入S750,否则返回S710以继续检测连接状态,由此进入下一个连接故障检测和恢复周期。
在S750中,无线扩展器110重启MQTT客户端以重新建立与接入点120的MQTT连接。重启过程可以参考关于S620的描述。由于MQTT客户端可能集成在诸如HAv3嵌入式机构的专用模块中,所以MQTT客户端的重启也可以是该专用模块的重启。
在S760中,无线扩展器110检测MQTT连接是否恢复。
如果MQTT连接恢复,那么方法700返回S710,否则进入S770。
在S770中,无线扩展器110确定是否有用户终端与它连接。
如果有用户终端与无线扩展器110连接,则方法700进入S780,否则进入S790。
在S780中,无线扩展器110将与它连接的用户终端140切换到其他正在工作的接入点。
在S790中,整个无线扩展器110被重启。接着,方法700可以返回S710。
通过上述方法700的执行,不仅可以自动检测WiFi连接和MQTT连接的状态,而且可以在检测到连接故障时自动触发故障的恢复,避免了人工的介入,从而提高了网络恢复的效率。此外,通过将用户终端切换到能够正常进行网络通信的接入点,可以避免用户终端受到扩展器重启的影响,从而提高了用户体验并增强了网络服务性能。
虽然上文将作为应用层协议的MQTT协议用作例子描述了如何检测和恢复应用层连接故障,但是对于具有与MQTT协议类似的心跳机制和重新连接机制的其他应用层协议,上述方法也可以用于检测和恢复其对应的应用层连接故障。
本公开可以被实现为装置、系统、集成电路和非瞬时性计算机可读介质上的计算机程序的任何组合。可以将一个或多个处理器实现为执行本公开中描述的部分或全部功能的集成电路(IC)、专用集成电路(ASIC)或大规模集成电路(LSI)、系统LSI,超级LSI或超LSI组件。
本公开包括软件、应用程序、计算机程序或算法的使用。可以将软件、应用程序、计算机程序或算法存储在非瞬时性计算机可读介质上,以使诸如一个或多个处理器的计算机执行上述步骤和附图中描述的步骤。例如,一个或多个存储器以可执行指令存储软件或算法,并且一个或多个处理器可以关联执行该软件或算法的一组指令,以根据本公开中描述的实施例在任何数量的无线网络中避免在恢复连接的过程中需要人工的参与。
软件和计算机程序(也可以称为程序、软件应用程序、应用程序、组件或代码)包括用于可编程处理器的机器指令,并且可以以高级过程性语言、面向对象编程语言、功能性编程语言、逻辑编程语言或汇编语言或机器语言来实现。术语“计算机可读介质”是指用于向可编程数据处理器提供机器指令或数据的任何计算机程序产品、装置或设备,例如磁盘、光盘、固态存储设备、存储器和可编程逻辑设备(PLD),包括将机器指令作为计算机可读信号来接收的计算机可读介质。
举例来说,计算机可读介质可以包括动态随机存取存储器(DRAM)、随机存取存储器(RAM)、只读存储器(ROM)、电可擦只读存储器(EEPROM)、紧凑盘只读存储器(CD-ROM)或其他光盘存储设备、磁盘存储设备或其他磁性存储设备,或可以用于以指令或数据结构的形式携带或存储所需的计算机可读程序代码以及能够被通用或专用计算机或通用或专用处理器访问的任何其它介质。如本文中所使用的,磁盘或盘包括紧凑盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光盘,其中磁盘通常以磁性方式复制数据,而盘则通过激光以光学方式复制数据。上述的组合也包括在计算机可读介质的范围内。
在一个或多个实施例中,词语“能”、“能够”、“可操作为”或“配置为”的使用是指被设计成能够以指定方式使用的一些装置、逻辑、硬件和/或元件。提供本公开的主题作为用于执行本公开中描述的特征的装置、系统、方法和程序的示例。但是,除了上述特征之外,还可以预期其他特征或变型。可以预期的是,可以用可能代替任何上述实现的技术的任何新出现的技术来完成本公开的部件和功能的实现。
另外,以上描述提供了示例,而不限制权利要求中阐述的范围、适用性或配置。在不脱离本公开的精神和范围的情况下,可以对所讨论的元件的功能和布置进行改变。各种实施例可以适当地省略、替代或添加各种过程或部件。例如,关于某些实施例描述的特征可以在其他实施例中被结合。
类似地,虽然在附图中以特定次序描绘了操作,但是这不应该被理解为要求以所示的特定次序或者以顺序次序执行这样的操作,或者要求执行所有图示的操作以实现所希望的结果。在某些情况下,多任务处理和并行处理可以是有利的。
Claims (20)
1.一种无线扩展器,包括:
存储器,存储有指令;以及
处理器,被配置为执行存储在存储器中的指令以使所述无线扩展器执行以下操作:
记录在第一预定时间内从接入点接收到的分组的数量;
将记录的数量与预定阈值进行比较;以及
响应于确定记录的数量小于所述预定阈值,重启无线扩展器中的用于进行WiFi通信的WiFi模块,以重新建立与所述接入点的WiFi连接。
2.根据权利要求1所述的无线扩展器,其中,所述处理器进一步被配置为执行存储在存储器中的指令以使所述无线扩展器执行以下操作:
向所述WiFi模块发送控制信号,以使所述WiFi模块在复位后重新运行。
3.根据权利要求1所述的无线扩展器,其中,所述处理器进一步被配置为执行存储在存储器中的指令以使所述无线扩展器执行以下操作:
如果所述WiFi连接不能被重新建立,那么重启无线扩展器以使无线扩展器重新执行其全部工作流程。
4.根据权利要求1所述的无线扩展器,其中,所述处理器进一步被配置为执行存储在存储器中的指令以使所述无线扩展器执行以下操作:
响应于确定记录的数量不小于所述预定阈值、或者确定所述WiFi连接已被重新建立,确定无线扩展器中托管的MQTT客户端在第二预定时间内是否从所述接入点中托管的MQTT代理接收到MQTT PINGRESP分组;以及
响应于确定未接收到MQTT PINGRESP分组,在所述MQTT客户端不能恢复与所述MQTT代理的MQTT连接的情况下,重启MQTT客户端以重新建立与所述MQTT代理的MQTT连接。
5.根据权利要求4所述的无线扩展器,其中,所述处理器进一步被配置为执行存储在存储器中的指令以使所述无线扩展器执行以下操作:
删除当前运行的MQTT客户端进程,并调用新的MQTT客户端进程。
6.根据权利要求4所述的无线扩展器,其中,所述处理器进一步被配置为执行存储在存储器中的指令以使所述无线扩展器执行以下操作:
如果所述MQTT连接不能被重新建立,那么重启无线扩展器以使无线扩展器重新执行其全部工作流程。
7.根据权利要求3或6所述的无线扩展器,其中,所述处理器进一步被配置为执行存储在存储器中的指令以使所述无线扩展器执行以下操作:
在重启无线扩展器之前,将与无线扩展器连接的用户终端切换到正在进行网络通信的接入点。
8.一种用于自动恢复连接的方法,包括:
由无线扩展器记录在第一预定时间内从接入点接收到的分组的数量;
由无线扩展器将记录的数量与预定阈值进行比较;以及
响应于确定记录的数量小于所述预定阈值,由无线扩展器重启无线扩展器中的用于进行WiFi通信的WiFi模块,以重新建立与所述接入点的WiFi连接。
9.根据权利要求8所述的方法,其中,重启WiFi模块包括:
由无线扩展器中的控制器向所述WiFi模块发送控制信号,以使所述WiFi模块在复位后重新运行。
10.根据权利要求8所述的方法,还包括:
如果所述WiFi连接不能被重新建立,那么由无线扩展器中的控制器重启无线扩展器以使无线扩展器重新执行其全部工作流程。
11.根据权利要求8所述的方法,还包括:
响应于确定记录的数量不小于所述预定阈值、或者确定所述WiFi连接已被重新建立,由无线扩展器确定无线扩展器中托管的MQTT客户端在第二预定时间内是否从所述接入点中托管的MQTT代理接收到MQTT PINGRESP分组;以及
响应于确定未接收到MQTT PINGRESP分组,在所述MQTT客户端不能恢复与所述MQTT代理的MQTT连接的情况下,由无线扩展器重启MQTT客户端以重新建立与所述MQTT代理的MQTT连接。
12.根据权利要求11所述的方法,其中,重启MQTT客户端包括:
由无线扩展器中的控制器删除当前运行的MQTT客户端进程,并调用新的MQTT客户端进程。
13.根据权利要求11所述的方法,还包括:
如果所述MQTT连接不能被重新建立,那么由无线扩展器中的控制器重启无线扩展器以使无线扩展器重新执行其全部工作流程。
14.根据权利要求10或13所述的方法,还包括:
在重启无线扩展器之前,由无线扩展器将与无线扩展器连接的用户终端切换到正在进行网络通信的接入点。
15.一种非暂态计算机可读介质,存储有指令,所述指令在被处理器执行时使处理器执行包括以下的操作:
记录在第一预定时间内从接入点接收到的分组的数量;
将记录的数量与预定阈值进行比较;以及
响应于确定记录的数量小于所述预定阈值,重启无线扩展器中的用于进行WiFi通信的WiFi模块,以重新建立与所述接入点的WiFi连接。
16.根据权利要求15所述的非暂态计算机可读介质,其中,所述指令在被处理器执行时使处理器进一步执行包括以下的操作:
向所述WiFi模块发送控制信号,以使所述WiFi模块在复位后重新运行。
17.根据权利要求15所述的非暂态计算机可读介质,其中,所述指令在被处理器执行时使处理器进一步执行包括以下的操作:
响应于确定记录的数量不小于所述预定阈值、或者确定所述WiFi连接已被重新建立,确定无线扩展器中托管的MQTT客户端在第二预定时间内是否从所述接入点中托管的MQTT代理接收到MQTT PINGRESP分组;以及
响应于确定未接收到MQTT PINGRESP分组,在所述MQTT客户端不能恢复与所述MQTT代理的MQTT连接的情况下,重启MQTT客户端以重新建立与所述MQTT代理的MQTT连接。
18.根据权利要求17所述的非暂态计算机可读介质,其中,所述指令在被处理器执行时使处理器进一步执行包括以下的操作:
删除当前运行的MQTT客户端进程,并调用新的MQTT客户端进程。
19.根据权利要求15所述的非暂态计算机可读介质,其中,所述指令在被处理器执行时使处理器进一步执行包括以下的操作:
在不能重新建立所述WiFi连接而需要重启无线扩展器之前,将与无线扩展器连接的用户终端切换到正在进行网络通信的接入点。
20.一种用于自动恢复连接的装置,包括用于执行根据权利要求8至14中任一项所述的方法的步骤的部件。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011268389.XA CN114501684A (zh) | 2020-11-13 | 2020-11-13 | 用于自动恢复连接的方法、装置、扩展器和计算机介质 |
US17/514,149 US11812487B2 (en) | 2020-11-13 | 2021-10-29 | Method, device, extender, and computer medium for automatically restoring connection |
PCT/US2021/057220 WO2022103597A1 (en) | 2020-11-13 | 2021-10-29 | Method, device, extender, and computer medium for automatically restoring connection |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011268389.XA CN114501684A (zh) | 2020-11-13 | 2020-11-13 | 用于自动恢复连接的方法、装置、扩展器和计算机介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114501684A true CN114501684A (zh) | 2022-05-13 |
Family
ID=78725705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011268389.XA Pending CN114501684A (zh) | 2020-11-13 | 2020-11-13 | 用于自动恢复连接的方法、装置、扩展器和计算机介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11812487B2 (zh) |
CN (1) | CN114501684A (zh) |
WO (1) | WO2022103597A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11803496B2 (en) * | 2021-10-29 | 2023-10-31 | Lenovo (Singapore) Pte. Ltd. | Systems, apparatus, and methods for electing a new broker for a channel on an MQTT bus |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4454516B2 (ja) * | 2005-02-16 | 2010-04-21 | 富士通株式会社 | 障害検出装置 |
JP5178356B2 (ja) * | 2008-07-01 | 2013-04-10 | 京セラ株式会社 | 基地局及び制御チャネル送受信タイミング維持方法 |
JP2012098906A (ja) | 2010-11-02 | 2012-05-24 | Buffalo Inc | 無線lan装置、無線lan装置の制御方法、および、コンピュータプログラム |
ES2458621B1 (es) * | 2013-10-15 | 2015-02-10 | Aoife Solutions, S.L. | Sistema de control descentralizado de redes inalámbricas |
US9936059B2 (en) * | 2014-05-29 | 2018-04-03 | Fortinet, Inc. | Management of wireless access points via virtualization |
JP6417587B2 (ja) * | 2014-08-27 | 2018-11-07 | セイコーエプソン株式会社 | 無線通信装置、無線通信方法 |
US20170111854A1 (en) * | 2015-10-15 | 2017-04-20 | Qualcomm Incorporated | Quality of service aware access point and device steering |
JP6911411B2 (ja) | 2017-03-14 | 2021-07-28 | 富士通株式会社 | 通信装置、通信システム、通信制御方法、及びプログラム |
DE102018203001A1 (de) * | 2018-02-28 | 2019-08-29 | Robert Bosch Gmbh | Elektronisches Datenverteilsteuergerät und Verfahren zum Betreiben eines solchen |
US11134016B2 (en) * | 2018-10-26 | 2021-09-28 | Hughes Network Systems, Llc | Monitoring a communication network |
KR20210092079A (ko) * | 2020-01-15 | 2021-07-23 | 삼성전자주식회사 | 전자 장치 및 그 동작방법 |
US11496373B2 (en) * | 2021-01-26 | 2022-11-08 | Juniper Networks, Inc. | Enhanced conversation interface for network management |
-
2020
- 2020-11-13 CN CN202011268389.XA patent/CN114501684A/zh active Pending
-
2021
- 2021-10-29 WO PCT/US2021/057220 patent/WO2022103597A1/en active Application Filing
- 2021-10-29 US US17/514,149 patent/US11812487B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20220159769A1 (en) | 2022-05-19 |
WO2022103597A1 (en) | 2022-05-19 |
US11812487B2 (en) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11765018B2 (en) | Control plane device switching method and apparatus, and forwarding-control separation system | |
US10114713B1 (en) | Systems and methods for preventing split-brain scenarios in high-availability clusters | |
US8880945B2 (en) | Customer premises equipment diagnostic, recovery, and reporting systems and methods | |
CN114258053A (zh) | 用于从故障中自动恢复的无线设备和方法 | |
CN112543468B (zh) | 一种网关设备容灾的方法及通信设备 | |
WO2013097366A1 (zh) | 链路聚合的异常恢复方法和交换设备 | |
WO2012149719A1 (zh) | 一种建立检查点的方法和系统 | |
CN103916226A (zh) | 基于嵌入式设备冗余备份的方法 | |
US11812487B2 (en) | Method, device, extender, and computer medium for automatically restoring connection | |
CN107104822B (zh) | 服务器备灾处理方法、装置、存储介质及电子设备 | |
WO2020088351A1 (zh) | 设备信息发送的方法、计算机设备和分布式计算机设备系统 | |
WO2020043006A1 (zh) | 终端失联的恢复方法及装置 | |
US8775617B2 (en) | Method for optimizing network performance after a temporary loss of connection | |
CN111342986A (zh) | 分布式节点管理方法及装置、分布式系统、存储介质 | |
CN112099990A (zh) | 一种容灾备份方法、装置、设备及机器可读存储介质 | |
CN110266790B (zh) | 边缘集群管理方法、装置、边缘集群及可读存储介质 | |
CN110620943B (zh) | 基于多媒体接口的控制方法及装置 | |
CN111224803B (zh) | 一种堆叠系统中多主检测方法及堆叠系统 | |
CN113316100B (zh) | 一种客户终端设备和客户终端设备的掉电上报方法 | |
CN112532525B (zh) | 设备恢复服务的处理方法、装置和系统 | |
JP2012104869A (ja) | ネットワークシステム | |
CN104243203A (zh) | 虚拟机传输接口状态切换方法和系统 | |
CN116248484B (zh) | 云原生一体机的管理方法和装置、电子设备和存储介质 | |
US20230039817A1 (en) | Node Control Method, System, and Apparatus | |
WO2022257644A1 (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 |