CN112134758A - 弱网环境监测和通信会话重连的方法和装置 - Google Patents

弱网环境监测和通信会话重连的方法和装置 Download PDF

Info

Publication number
CN112134758A
CN112134758A CN202011002815.5A CN202011002815A CN112134758A CN 112134758 A CN112134758 A CN 112134758A CN 202011002815 A CN202011002815 A CN 202011002815A CN 112134758 A CN112134758 A CN 112134758A
Authority
CN
China
Prior art keywords
communication session
network
state
connection
reconnecting
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.)
Granted
Application number
CN202011002815.5A
Other languages
English (en)
Other versions
CN112134758B (zh
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.)
Shanghai Maosheng Intelligent Technology Co ltd
Original Assignee
Shanghai Maosheng Intelligent Technology 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 Shanghai Maosheng Intelligent Technology Co ltd filed Critical Shanghai Maosheng Intelligent Technology Co ltd
Priority to CN202011002815.5A priority Critical patent/CN112134758B/zh
Publication of CN112134758A publication Critical patent/CN112134758A/zh
Application granted granted Critical
Publication of CN112134758B publication Critical patent/CN112134758B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请涉及一种弱网环境监测和通信会话重连的方法和装置,其中,该方法包括:每隔预定时间获取一次网络状态,其中网络状态由执行PING命令时的丢包率和网络延迟时间确定,若网络状态为正常状态则判断通信会话的连接状态,若通信会话连接中断,则将通信会话进行重连。本申请解决了相关技术中系统网络监控回调方法在弱网环境下对网络状态监测不够准确和及时的技术问题,实现了及时准确获取网络状态并确定通信会话一直处于连接状态的目的。

Description

弱网环境监测和通信会话重连的方法和装置
技术领域
本申请涉及通信技术领域,特别是涉及一种弱网环境监测和通信会话重连的方法、装置、计算机设备和计算机可读存储介质。
背景技术
通信网络的网络状态直接决定通信会话的稳定性,在弱网环境下设备频繁上下线,通信会话连接断掉导致设备无法正常工作。相关技术通常采用系统网络监控回调方法监测网络状态,即通过广播接收器接收网络变化广播判断网络状态。但是,系统网络监控回调方法在弱网环境下不够准确,也不够及时,这将会导致网络状态发生变化不能及时准确地反馈,导致通信会话无法重新建立连接,从而使得依赖通信会话的功能无法正常使用。
目前针对相关技术中系统网络监控回调方法在弱网环境下对网络状态监测不够准确和及时的技术问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种弱网环境监测和通信会话重连的方法、装置、计算机设备和计算机可读存储介质,以至少解决相关技术中系统网络监控回调方法在弱网环境下对网络状态监测不够准确和及时的技术问题。
第一方面,本申请实施例提供了一种弱网环境监测和通信会话重连的方法,包括:
每隔预定时间获取一次网络状态,其中,所述网络状态由执行PING命令时的丢包率和网络延迟时间确定;
若所述网络状态为正常状态,则判断通信会话的连接状态;
若所述通信会话的连接中断,则将所述通信会话进行重连。
在其中一些实施例中,每隔预定时间获取一次网络状态包括:
预设置网络检测IP地址,执行预定次数的PING命令;
若执行PING命令的丢包率为0且平均网络延迟时间小于第一阈值,则确定所述网络状态为正常状态;
若执行PING命令的丢包率大于或等于第二阈值,则确定所述网络状态为不可用状态;
若执行PING命令的丢包率大于0且小于所述第二阈值,和/或执行PING命令的平均网络延迟时间大于或等于所述第一阈值,则确定所述网络状态为弱网状态。
在其中一些实施例中,若所述网络状态为正常状态,则判断通信会话的连接状态包括:
所述通信会话的客户端向服务器发送请求消息;
若所述客户端在预定时间段内接收到所述服务器返回的通知消息,则确定所述通信会话处于连接状态;
若所述客户端在所述预定时间段内未接收到所述服务器返回的通知消息,则确定所述通信会话连接中断。
在其中一些实施例中,若所述通信会话的连接中断,则将所述通信会话进行重连包括:
所述通信会话的客户端向服务器发送连接请求;
所述服务器对所述连接请求进行响应,建立与所述客户端之间的所述通信会话。
在其中一些实施例中,所述通信会话为使用MQTT协议所创建的会话,所述MQTT协议为构建于TCP/IP协议上的即时通信协议。
在其中一些实施例中,若所述网络状态为正常状态,则判断通信会话的连接状态包括:
调用所述MQTT协议中的通信会话连接状态函数判断通信会话的连接状态,其中,所述通信会话连接状态函数用于监测客户端与服务器之间的通信会话的连接状态。
在其中一些实施例中,若所述通信会话的连接中断,则将所述通信会话进行重连包括:
调用所述MQTT协议中的连接函数将所述通信会话进行重连,其中,所述连接函数用于建立客户端与服务器之间的通信会话。
第二方面,本申请实施例提供了一种弱网环境监测和通信会话重连的装置,包括:
获取单元,用于每隔预定时间获取一次网络状态,其中,所述网络状态由执行PING命令时的丢包率和网络延迟时间确定;
判断单元,用于若所述网络状态为正常状态,则判断通信会话的连接状态;
重连单元,用于若所述通信会话的连接中断,则将所述通信会话进行重连。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的弱网环境监测和通信会话重连的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的弱网环境监测和通信会话重连的方法。
相比于相关技术,本申请实施例提供的一方面所述的弱网环境监测和通信会话重连的方法,通过每隔预定时间获取一次网络状态,其中网络状态由执行PING 命令时的丢包率和网络延迟时间确定,若网络状态为正常状态则判断通信会话的连接状态,若通信会话连接中断,则将通信会话进行重连,解决了相关技术中系统网络监控回调方法在弱网环境下对网络状态监测不够准确和及时的技术问题,实现了及时准确获取网络状态并确定通信会话一直处于连接状态的目的。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的移动终端的结构框图;
图2是根据本申请实施例的弱网环境监测和通信会话重连的方法的流程图;
图3是根据本申请优选实施例的弱网环境监测和通信会话重连的执行流程的示意图;
图4是根据本申请实施例的弱网环境监测和通信会话重连的装置的结构框图;
图5为根据本申请实施例的计算机设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B 这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例提供了一种移动终端。图1是根据本申请实施例的移动终端的结构框图。如图1所示,该移动终端包括:射频(Radio Frequency,简称为RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,简称为WiFi)模块170、处理器180、以及电源190 等部件。本领域技术人员可以理解,图1中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对移动终端的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,简称为LNA)、双工器等。此外,RF电路 110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,简称为GSM)、通用分组无线服务(GeneralPacket Radio Service,简称为GPRS)、码分多址(Code Division Multiple Access,简称为CDMA)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、长期演进(Long Term Evolution,简称为LTE)、电子邮件、短消息服务(Short MessagingService,简称为SMS)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行移动终端的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等) 等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板 131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(LiquidCrystal Display,简称为LCD)、有机发光二极管(Organic Light-Emitting Diode,简称为OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131 与显示面板141是作为两个独立的部件来实现移动终端的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现移动终端的输入和输出功能。
移动终端还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在移动终端移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于移动终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160中的扬声器161,传声器162可提供用户与移动终端之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器 161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一移动终端,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,移动终端通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块170,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略,或者替换为其他的短距离无线传输模块,例如Zigbee模块、或者WAPI模块等。
处理器180是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。可选的,处理器180可包括一个或多个处理单元;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
移动终端还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,移动终端还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本实施例中,处理器180被配置为:每隔预定时间获取一次网络状态,其中,所述网络状态由执行PING命令时的丢包率和网络延迟时间确定;若所述网络状态为正常状态,则判断通信会话的连接状态;若所述通信会话的连接中断,则将所述通信会话进行重连。
在其中一些实施例中,处理器180还被配置为:预设置网络检测IP地址,执行预定次数的PING命令;若执行PING命令的丢包率为0且平均网络延迟时间小于第一阈值,则确定所述网络状态为正常状态;若执行PING命令的丢包率大于或等于第二阈值,则确定所述网络状态为不可用状态;若执行PING命令的丢包率大于0且小于所述第二阈值,和/或执行PING命令的平均网络延迟时间大于或等于所述第一阈值,则确定所述网络状态为弱网状态。
在其中一些实施例中,处理器180还被配置为:所述通信会话的客户端向服务器发送请求消息;若所述客户端在预定时间段内接收到所述服务器返回的通知消息,则确定所述通信会话处于连接状态;若所述客户端在所述预定时间段内未接收到所述服务器返回的通知消息,则确定所述通信会话连接中断。
在其中一些实施例中,处理器180还被配置为:所述通信会话的客户端向服务器发送连接请求;所述服务器对所述连接请求进行响应,建立与所述客户端之间的所述通信会话。
在其中一些实施例中,处理器180还被配置为:调用所述MQTT协议中的通信会话连接状态函数判断通信会话的连接状态,其中,所述通信会话连接状态函数用于监测客户端与服务器之间的通信会话的连接状态。
在其中一些实施例中,处理器180还被配置为:调用所述MQTT协议中的连接函数将所述通信会话进行重连,其中,所述连接函数用于建立客户端与服务器之间的通信会话。
本实施例还提供了一种弱网环境监测和通信会话重连的方法。图2是根据本申请实施例的弱网环境监测和通信会话重连的方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,每隔预定时间获取一次网络状态,其中,所述网络状态由执行 PING命令时的丢包率和网络延迟时间确定;
步骤S202,若所述网络状态为正常状态,则判断通信会话的连接状态;
步骤S203,若所述通信会话的连接中断,则将所述通信会话进行重连。
通过上述步骤,每隔预定时间获取一次网络状态,其中网络状态由执行PING 命令时的丢包率和网络延迟时间确定,若网络状态为正常状态则判断通信会话的连接状态,若通信会话连接中断,则将通信会话进行重连,解决了相关技术中系统网络监控回调方法在弱网环境下对网络状态监测不够准确和及时的技术问题,实现了及时准确获取网络状态并确定通信会话一直处于连接状态的目的。
在其中一些实施例中,每隔预定时间获取一次网络状态可以包括:
预设置网络检测IP地址,执行预定次数的PING命令;
若执行PING命令的丢包率为0且平均网络延迟时间小于第一阈值,则确定所述网络状态为正常状态;
若执行PING命令的丢包率大于或等于第二阈值,则确定所述网络状态为不可用状态;
若执行PING命令的丢包率大于0且小于所述第二阈值,和/或执行PING命令的平均网络延迟时间大于或等于所述第一阈值,则确定所述网络状态为弱网状态。
具体地,预定时间可以根据实际需求设定或调整,此处不做具体限定,例如预定时间可以是5秒。本申请可以预设置多个网络检测IP地址,并随机选择其中一个IP地址,个预定次数的PING命令,其中,预定次数可以根据实际需求设定或调整,此处不做具体限定,例如预定次数可以是3次。基于执行PING命令的丢包率和网络延迟时间可以确定网络状态,例如网络状态定义如下:
网络正常:丢包率为0%,平均网络延迟时间在30ms以内;
网络不可用:丢包率大于等于99%;
弱网:其它结果都视为弱网。
在其中一些实施例中,若网络状态为正常状态,判断通信会话的连接状态可以包括:所述通信会话的客户端向服务器发送请求消息;若所述客户端在预定时间段内接收到所述服务器返回的通知消息,则确定所述通信会话处于连接状态;若所述客户端在所述预定时间段内未接收到所述服务器返回的通知消息,则确定所述通信会话连接中断。
在其中一些实施例中,若所述通信会话的连接中断,将所述通信会话进行重连可以包括:所述通信会话的客户端向服务器发送连接请求;所述服务器对所述连接请求进行响应,建立与所述客户端之间的所述通信会话。
需要说明的是,本申请实施例对客户端与服务器之间的通信会话的连接状态的判定方法以及通信会话的重连方法不做具体限定,其可以根据所采用的即使通信协议选择。
在其中一些实施例中,所述通信会话为使用MQTT协议所创建的会话,所述MQTT协议为构建于TCP/IP协议上的即时通信协议。
在其中一些实施例中,若网络状态为正常状态,判断通信会话的连接状态可以包括:调用所述MQTT协议中的通信会话连接状态函数判断通信会话的连接状态,其中,所述通信会话连接状态函数用于监测客户端与服务器之间的通信会话的连接状态。
在其中一些实施例中,若所述通信会话的连接中断,将所述通信会话进行重连可以包括:调用所述MQTT协议中的连接函数将所述通信会话进行重连,其中,所述连接函数用于建立客户端与服务器之间的通信会话。
具体地,MQTT是一种构建于TCP/IP协议上即时通信协议,使用该协议时会创建通信会话(Session),即每个客户端与服务器建立连接后就是一个通信会话,客户端和服务器之间有状态交互。通信会话存在于一个网络之间,也可能在客户端和服务器之间跨越多个连续的网络连接。并且MQTT协议包含以下方法:
(1)Connect:等待与服务器建立连接。
(2)Disconnect:等待MQTT客户端完成所做的工作,并与服务器断开 TCP/IP会话。
(3)Subscribe:等待完成订阅。
(4)UnSubscribe:等待服务器取消客户端的一个或多个topics订阅。
(5)Publish:MQTT客户端发送消息请求,发送完成后返回应用程序线程。
而MQTT的连接就是每次创建的通信会话,就是调用了Connect方法,当通信会话断开或者DisConnect函数被触发,就会导致客户端和服务端无法进行即时通信,因此MQTT自动重连可以概括为自动创建新的会话或者自动调用 Connect函数的一种方式。在使用MQTT时会创建一个MQTT对象,如下:
MqttAndroidClient client=new MqttAndroidClient(this,”服务器地址“,”设备id“);
通过client.isConnected()函数可以获取当前MQTT是否处于连接状态。
下面通过优选实施例对本申请实施例进行描述和说明。
图3是根据本申请优选实施例的弱网环境监测和通信会话重连的执行流程的示意图,如图3所示,该优选实施例包括监测网络线程和MQTT守护线程。监测网络线程每隔N秒PING一个可靠地址(可以轮训使用不同地址),通过PING 的返回时间和状态来获取当前网络状态。其中,N可以根据实际需求设定或调整,例如图3所示N可以等于3。MQTT守护线程通过定时查询MQTT状态和网络状态来确保MQTT一直处于连接状态。
如图3所示,该执行流程可以描述为:
1、本地执行MQTT守护线程,每隔5秒会请求执行一次网络状态请求。
2、根据MQTT守护线程的请求,准备获取对应网络当前真实状态。
3、预设置网络检测固定可靠IP池,并随机取其中一个固定IP地址,执行三次adbPING命令,取最终网络延迟时间的平均值。
4、根据网络延迟值,和预设定的网络判断的阈值,最终给出网络正常,弱网,网络不可用其中之一的结果。
5、网络状态定义如下:
网络正常:丢包率为0%,三次平均网络延迟时间在30ms以内;
网络不可用:丢包率为大于等于99%;
弱网:其它结果都视为弱网。
6、判断MQTT长连接是否处于连接状态。
7、如果MQTT已中断,自动开启重连操作。
本申请能及时准确地获取网络状态;确保MQTT一直处于连接状态,确保依赖MQTT功能可以正常使用。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种弱网环境监测和通信会话重连的装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是根据本申请实施例的弱网环境监测和通信会话重连的装置的结构框图,如图4所示,该装置包括:
获取单元41,用于每隔预定时间获取一次网络状态,其中,所述网络状态由执行PING命令时的丢包率和网络延迟时间确定;
判断单元42,用于若所述网络状态为正常状态,则判断通信会话的连接状态;
重连单元43,用于若所述通信会话的连接中断,则将所述通信会话进行重连。
在其中一些实施例中,获取单元41包括:执行模块,用于预设置网络检测 IP地址,执行预定次数的PING命令;第一确定模块,用于若执行PING命令的丢包率为0且平均网络延迟时间小于第一阈值,则确定所述网络状态为正常状态;第二确定模块,用于若执行PING命令的丢包率大于或等于第二阈值,则确定所述网络状态为不可用状态;第三确定模块,用于若执行PING命令的丢包率大于0且小于所述第二阈值,和/或执行PING命令的平均网络延迟时间大于或等于所述第一阈值,则确定所述网络状态为弱网状态。
在其中一些实施例中,判断单元42包括:第一发送模块,用于所述通信会话的客户端向服务器发送请求消息;第四确定模块,用于若所述客户端在预定时间段内接收到所述服务器返回的通知消息,则确定所述通信会话处于连接状态;第五确定模块,用于若所述客户端在所述预定时间段内未接收到所述服务器返回的通知消息,则确定所述通信会话连接中断。
在其中一些实施例中,重连单元43包括:第二发送模块,用于所述通信会话的客户端向服务器发送连接请求;建立模块,用于所述服务器对所述连接请求进行响应,建立与所述客户端之间的所述通信会话。
在其中一些实施例中,所述通信会话为使用MQTT协议所创建的会话,所述MQTT协议为构建于TCP/IP协议上的即时通信协议。
在其中一些实施例中,判断单元42包括:第一调用模块,用于调用所述 MQTT协议中的通信会话连接状态函数判断通信会话的连接状态,其中,所述通信会话连接状态函数用于监测客户端与服务器之间的通信会话的连接状态。
在其中一些实施例中,重连单元43包括:第二调用模块,用于调用所述 MQTT协议中的连接函数将所述通信会话进行重连,其中,所述连接函数用于建立客户端与服务器之间的通信会话。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本申请实施例还提供了一种计算机设备,本申请实施例弱网环境监测和通信会话重连的方法可以由计算机设备来实现。图5为根据本申请实施例的计算机设备的硬件结构示意图。
计算机设备可以包括处理器51以及存储有计算机程序指令的存储器52。
具体地,上述处理器51可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器52可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器52可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器52可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器52可在数据处理装置的内部或外部。在特定实施例中,存储器52是非易失性(Non-Volatile)存储器。在特定实施例中,存储器52包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为 PROM)、可擦除PROM(ErasableProgrammable Read-Only Memory,简称为 EPROM)、电可擦除PROM(ElectricallyErasable Programmable Read-Only Memory,简称为EEPROM)、电可改写ROM(ElectricallyAlterable Read-Only Memory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-AccessMemory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode DynamicRandom Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(ExtendedDate Out Dynamic Random Access Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器52可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器51所执行的可能的计算机程序指令。
处理器51通过读取并执行存储器52中存储的计算机程序指令,以实现上述实施例中的任意一种弱网环境监测和通信会话重连的方法。
在其中一些实施例中,计算机设备还可包括通信接口53和总线50。其中,如图5所示,处理器51、存储器52、通信接口53通过总线50连接并完成相互间的通信。
通信接口53用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口53还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线50包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线50包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线50可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线 50可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
另外,结合上述实施例中的弱网环境监测和通信会话重连的方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种弱网环境监测和通信会话重连的方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种弱网环境监测和通信会话重连的方法,其特征在于,包括:
每隔预定时间获取一次网络状态,其中,所述网络状态由执行PING命令时的丢包率和网络延迟时间确定;
若所述网络状态为正常状态,则判断通信会话的连接状态;
若所述通信会话的连接中断,则将所述通信会话进行重连。
2.根据权利要求1所述的弱网环境监测和通信会话重连的方法,其特征在于,每隔预定时间获取一次网络状态包括:
预设置网络检测IP地址,执行预定次数的PING命令;
若执行PING命令的丢包率为0且平均网络延迟时间小于第一阈值,则确定所述网络状态为正常状态;
若执行PING命令的丢包率大于或等于第二阈值,则确定所述网络状态为不可用状态;
若执行PING命令的丢包率大于0且小于所述第二阈值,和/或执行PING命令的平均网络延迟时间大于或等于所述第一阈值,则确定所述网络状态为弱网状态。
3.根据权利要求1所述的弱网环境监测和通信会话重连的方法,其特征在于,若所述网络状态为正常状态,则判断通信会话的连接状态包括:
所述通信会话的客户端向服务器发送请求消息;
若所述客户端在预定时间段内接收到所述服务器返回的通知消息,则确定所述通信会话处于连接状态;
若所述客户端在所述预定时间段内未接收到所述服务器返回的通知消息,则确定所述通信会话连接中断。
4.根据权利要求1所述的弱网环境监测和通信会话重连的方法,其特征在于,若所述通信会话的连接中断,则将所述通信会话进行重连包括:
所述通信会话的客户端向服务器发送连接请求;
所述服务器对所述连接请求进行响应,建立与所述客户端之间的所述通信会话。
5.根据权利要求1至4中任一项所述的弱网环境监测和通信会话重连的方法,其特征在于,所述通信会话为使用MQTT协议所创建的会话,所述MQTT协议为构建于TCP/IP协议上的即时通信协议。
6.根据权利要求5所述的弱网环境监测和通信会话重连的方法,其特征在于,若所述网络状态为正常状态,则判断通信会话的连接状态包括:
调用所述MQTT协议中的通信会话连接状态函数判断通信会话的连接状态,其中,所述通信会话连接状态函数用于监测客户端与服务器之间的通信会话的连接状态。
7.根据权利要求5所述的弱网环境监测和通信会话重连的方法,其特征在于,若所述通信会话的连接中断,则将所述通信会话进行重连包括:
调用所述MQTT协议中的连接函数将所述通信会话进行重连,其中,所述连接函数用于建立客户端与服务器之间的通信会话。
8.一种弱网环境监测和通信会话重连的装置,其特征在于,包括:
获取单元,用于每隔预定时间获取一次网络状态,其中,所述网络状态由执行PING命令时的丢包率和网络延迟时间确定;
判断单元,用于若所述网络状态为正常状态,则判断通信会话的连接状态;
重连单元,用于若所述通信会话的连接中断,则将所述通信会话进行重连。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述的弱网环境监测和通信会话重连的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述的弱网环境监测和通信会话重连的方法。
CN202011002815.5A 2020-09-22 2020-09-22 弱网环境监测和通信会话重连的方法和装置 Active CN112134758B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011002815.5A CN112134758B (zh) 2020-09-22 2020-09-22 弱网环境监测和通信会话重连的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011002815.5A CN112134758B (zh) 2020-09-22 2020-09-22 弱网环境监测和通信会话重连的方法和装置

Publications (2)

Publication Number Publication Date
CN112134758A true CN112134758A (zh) 2020-12-25
CN112134758B CN112134758B (zh) 2022-06-14

Family

ID=73841659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011002815.5A Active CN112134758B (zh) 2020-09-22 2020-09-22 弱网环境监测和通信会话重连的方法和装置

Country Status (1)

Country Link
CN (1) CN112134758B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751934A (zh) * 2020-12-29 2021-05-04 北京先进数通信息技术股份公司 一种客户端重连方法、装置、设备及存储介质
CN113472607A (zh) * 2021-06-29 2021-10-01 未鲲(上海)科技服务有限公司 应用程序网络环境检测方法、装置、设备及存储介质
CN114884920A (zh) * 2022-07-07 2022-08-09 荣耀终端有限公司 一种通信方法、电子设备及存储介质
CN116155782A (zh) * 2023-02-14 2023-05-23 中国联合网络通信集团有限公司 网络加速应用软件的测试方法、装置、设备及存储介质
CN116155782B (zh) * 2023-02-14 2024-04-30 中国联合网络通信集团有限公司 网络加速应用软件的测试方法、装置、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546418A (zh) * 2012-01-16 2012-07-04 东北大学 基于重叠网络多径传输的ims客户端及媒体交换方法
CN104955095A (zh) * 2015-06-15 2015-09-30 腾讯科技(深圳)有限公司 一种通信网络检测方法及其装置
US20170104792A1 (en) * 2015-10-08 2017-04-13 Verizon Patent And Licensing Inc. Establishing media sessions via mqtt and sip
CN107135216A (zh) * 2017-05-03 2017-09-05 深圳市视维科技股份有限公司 一种加强弱网环境流媒体传输方法
CN108353262A (zh) * 2015-08-04 2018-07-31 康维达无线有限责任公司 物联网端对端服务层服务质量管理
CN108965265A (zh) * 2018-06-26 2018-12-07 四川斐讯信息技术有限公司 一种基于mqtt协议的聊天方法及系统
CN110120878A (zh) * 2018-02-05 2019-08-13 华为技术有限公司 获取链路质量的方法和装置
CN110324201A (zh) * 2019-05-21 2019-10-11 平安科技(深圳)有限公司 终端网络测试方法、装置、计算机设备和存储介质
CN110391991A (zh) * 2018-04-18 2019-10-29 华为技术有限公司 一种流量控制的方法及相关装置
CN110635970A (zh) * 2019-10-10 2019-12-31 武汉普利商用机器有限公司 物联网设备在线状态识别方法、在线信息平台及服务器
CN110875887A (zh) * 2018-08-31 2020-03-10 蔚来汽车有限公司 一种基于mqtt协议的通信交互方法及通信交互系统

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546418A (zh) * 2012-01-16 2012-07-04 东北大学 基于重叠网络多径传输的ims客户端及媒体交换方法
CN104955095A (zh) * 2015-06-15 2015-09-30 腾讯科技(深圳)有限公司 一种通信网络检测方法及其装置
CN108353262A (zh) * 2015-08-04 2018-07-31 康维达无线有限责任公司 物联网端对端服务层服务质量管理
US20170104792A1 (en) * 2015-10-08 2017-04-13 Verizon Patent And Licensing Inc. Establishing media sessions via mqtt and sip
CN107135216A (zh) * 2017-05-03 2017-09-05 深圳市视维科技股份有限公司 一种加强弱网环境流媒体传输方法
CN110120878A (zh) * 2018-02-05 2019-08-13 华为技术有限公司 获取链路质量的方法和装置
CN110391991A (zh) * 2018-04-18 2019-10-29 华为技术有限公司 一种流量控制的方法及相关装置
CN108965265A (zh) * 2018-06-26 2018-12-07 四川斐讯信息技术有限公司 一种基于mqtt协议的聊天方法及系统
CN110875887A (zh) * 2018-08-31 2020-03-10 蔚来汽车有限公司 一种基于mqtt协议的通信交互方法及通信交互系统
CN110324201A (zh) * 2019-05-21 2019-10-11 平安科技(深圳)有限公司 终端网络测试方法、装置、计算机设备和存储介质
CN110635970A (zh) * 2019-10-10 2019-12-31 武汉普利商用机器有限公司 物联网设备在线状态识别方法、在线信息平台及服务器

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
朱明辉等: "基于FreeRTOS和MQTT的海洋监测网络框架", 《电子技术应用》 *
王帏韬等: "基于6LoWPAN和MQTT的寒旱区野外环境监测系统设计", 《计算机应用与软件》 *
谭宸等: "基于MQTT协议的战场环境监测系统", 《单片机与嵌入式系统应用》 *
马跃等: "MQTT协议在移动互联网即时通信中的应用", 《计算机系统应用》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112751934A (zh) * 2020-12-29 2021-05-04 北京先进数通信息技术股份公司 一种客户端重连方法、装置、设备及存储介质
CN112751934B (zh) * 2020-12-29 2022-11-29 北京先进数通信息技术股份公司 一种客户端重连方法、装置、设备及存储介质
CN113472607A (zh) * 2021-06-29 2021-10-01 未鲲(上海)科技服务有限公司 应用程序网络环境检测方法、装置、设备及存储介质
CN114884920A (zh) * 2022-07-07 2022-08-09 荣耀终端有限公司 一种通信方法、电子设备及存储介质
CN116155782A (zh) * 2023-02-14 2023-05-23 中国联合网络通信集团有限公司 网络加速应用软件的测试方法、装置、设备及存储介质
CN116155782B (zh) * 2023-02-14 2024-04-30 中国联合网络通信集团有限公司 网络加速应用软件的测试方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN112134758B (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
CN107094294B (zh) 网络连接方法及装置
JP6467526B2 (ja) 通信メッセージ送信方法及びウェアラブル・デバイス
CN112134758B (zh) 弱网环境监测和通信会话重连的方法和装置
CN104142862B (zh) 服务器的过载保护方法及装置
CN108900231B (zh) 动态天线调整方法及相关产品
CN108834132B (zh) 一种数据传输方法及设备和相关介质产品
CN107786424B (zh) 音视频通信方法、终端及服务器
CN110620822A (zh) 一种网元确定方法和装置
CN107317828B (zh) 文件下载方法及装置
CN109688611B (zh) 一种频段参数的配置方法、装置、终端和存储介质
CN106470234B (zh) 一种设备发现的方法及装置
CN112691363A (zh) 一种云游戏跨终端切换的方法和相关装置
CN108476441A (zh) 小区切换方法和终端设备
CN107466081B (zh) 一种无线切换方法及终端
CN107872791B (zh) 接入点连接方法及装置
CN113038513A (zh) 针对独立组网弱覆盖的方法、终端设备及存储介质
CN110891262A (zh) 一种蓝牙配对的方法、系统和终端设备
CN108966290B (zh) 网络连接方法及相关产品
CN112867078B (zh) 一种基站控制方法、装置及移动终端
CN105635379B (zh) 噪声抑制方法及装置
CN111314900B (zh) 无线连接方法、无线连接装置及移动终端
CN111132187B (zh) 确定方法、终端设备及网络设备
CN109151154B (zh) 功耗控制方法、及移动终端
CN110913022A (zh) 移动终端网络文件下载方法、装置、系统及存储介质
CN108307531B (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
GR01 Patent grant
GR01 Patent grant