CN108900370B - 长连接多重超时判断方法、装置及计算机可读存储介质 - Google Patents
长连接多重超时判断方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN108900370B CN108900370B CN201810591844.6A CN201810591844A CN108900370B CN 108900370 B CN108900370 B CN 108900370B CN 201810591844 A CN201810591844 A CN 201810591844A CN 108900370 B CN108900370 B CN 108900370B
- Authority
- CN
- China
- Prior art keywords
- connection
- time
- client
- long
- timeout
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- 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/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- 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]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种长连接多重超时判断方法、装置及计算机可读存储介质,该方法包括:建立与客户端的TCP长连接,向所述客户端推送消息;通过连接时间、心跳包时间以及资源释放时间对所述TCP长连接进行超时判断;当所述连接时间、所述心跳包时间和所述资源释放时间任意一项达到预设阈值时,判定所述TCP长连接超时并删除所述客户端的连接信息。本申请在心跳包时间进行超时判断的基础上,增加了连接时间、资源释放时间进行TCP长连接超时判断,形成了心跳超时、连接超时、资源释放超时三重判断超时校验机制,能够最大量判断出某个TCP长连接是否已断开,能够为服务器节约出更多的资源,提高TCP长连接的接入量。
Description
技术领域
本发明涉及终端网络技术领域,特别是一种长连接多重超时判断方法、装置及计算机可读存储介质。
背景技术
随着移动网络技术的发展,智能移动终端的***或者应用程序APP都存在消息推送的功能。通过在服务器端和客户端之间建立一条稳定、可靠的长连接,提供向客户端应用推送实时消息的服务,帮助网络服务商有效地拉动用户活跃。而所有的消息推送都需要有后台服务器进行相关的支持才能够实现,保持长链接,才能够实现消息发送以及接收的实时性。
长连接是指采用TCP(Transmission Control Protocol,传输控制协议)在客户端和服务器之间建立的连接,长连接需要客户端定时发送心跳包来保持连接一直有效,基于长连接,客户端和服务器之间可以随时进行数据传输。保持有效的长连接是提供良好服务的基础,这就要求服务器能够稳定、有效地处理大量客户端的并发接入,能够快速、准确地监测连接异常的长连接,并对连接异常的长连接及时作出处理,保持服务器的接入服务能力。
由于需要长期保持服务器端和客户端的通信,需要在客户端和服务端中保持一个长连接,若客户端的数量众多,就需要服务端保持相应数目的长连接。而实际情况是,应用程序APP***的客户端数量会达到几十上百万之多,若如此数量庞大的客户端同时连接都连到同一台服务器上,服务器将不堪重负,导致服务器不可使用,宕机或者其他问题。因此,需要优化管理服务器与数量众多的客户端之间的长连接机制。
长连接底层是通过TCP连接来进行实现的,TCP断开连接的方式为一方断开连接后,由另一方判断对方是否超时,然后断开自身的链接,这样才算TCP的一次链接断开成功。因此,服务器端的推送***中大量的长连接会导致TCP占用服务器端口以及其他相关资源信息,所以针对使用长连接的客户端需要进行连接的超时判断。现有的长连接超时判断一般采用心跳包时间来进行判断,若心跳超时则服务器端主动断开连接,这一长连接超时判断方式单一,不能够及时、全面的应对数量众多的客户端长连接超时判断,影响推送***的性能。
发明内容
本发明的主要目的在于提出一种长连接多重超时判断方法、装置及计算机可读存储介质,旨在解决大量的长连接会导致TCP占用服务器端口以及其他相关资源信息的技术问题。
为了解决上述技术问题,本发明提供了一种长连接多重超时判断方法,所述方法包括:
建立与客户端的TCP长连接,向所述客户端推送消息,
通过连接时间、心跳包时间以及资源释放时间对所述TCP长连接进行超时判断;
当所述连接时间、所述心跳包时间和所述资源释放时间任意一项达到预设阈值时,判定所述TCP长连接超时并删除所述客户端的连接信息。
进一步的,所述通过连接时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与连接时间存储在一连接超时集合;
当与所述客户端进行通信时,同步更新所述连接超时集合中的连接时间;
创建一连接守护线程,以预设时间周期轮询所述连接超时集合,检测所述连接时间是否达到预设阈值。
进一步的,所述通过心跳包时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与心跳包时间存储在一心跳超时集合;
当所述TCP长连接无数据传输时,接收所述客户端以预设间隔时间发送的心跳包并更新所述心跳超时集合中的心跳包时间;
创建一心跳包守护线程,以预设时间周期轮询所述心跳超时集合,检测所述心跳包时间是否达到预设阈值。
进一步的,所述通过资源释放时间对所述TCP长连接进行超时判断包括:
监测与所述客户端的资源释放时间,创建一资源释放守护线程,以预设时间周期调用垃圾回收机制,根据所述资源释放时间与预设阈值比较判断是否存在资源释放超时的推送消息。
进一步的,所述建立与客户端的TCP长连接,向所述客户端推送消息之后,所述方法包括:
对应所述TCP长连接设置连接超时、心跳超时和资源释放超时的校验功能。
基于同一发明构思,本发明的另一方面,提供了一种长连接多重超时判断装置,所述长连接多重超时判断装置包括处理器、存储器及数据总线;
所述数据总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的长连接多重超时判断程序,以实现以下步骤:
建立与客户端的TCP长连接,向所述客户端推送消息,
通过连接时间、心跳包时间以及资源释放时间对所述TCP长连接进行超时判断;
当所述连接时间、所述心跳包时间和所述资源释放时间任意一项达到预设阈值时,判定所述TCP长连接超时并删除所述客户端的连接信息。
进一步的,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过连接时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与连接时间存储在一连接超时集合;
当与所述客户端进行通信时,同步更新所述连接超时集合中的连接时间;
创建一连接守护线程,以预设时间周期轮询所述连接超时集合,检测所述连接时间是否达到预设阈值。
进一步的,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过心跳包时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与心跳包时间存储在一心跳超时集合;
当所述TCP长连接无数据传输时,接收所述客户端以预设间隔时间发送的心跳包并更新所述心跳超时集合中的心跳包时间;
创建一心跳包守护线程,以预设时间周期轮询所述心跳超时集合,检测所述心跳包时间是否达到预设阈值。
进一步的,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过资源释放时间对所述TCP长连接进行超时判断包括:监测与所述客户端的资源释放时间,创建一资源释放守护线程,以预设时间周期调用垃圾回收机制,根据所述资源释放时间与预设阈值比较判断是否存在资源释放超时的推送消息。
基于同一发明构思,本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有长连接多重超时判断程序,所述长连接多重超时判断程序被处理器执行时实现上述的长连接多重超时判断方法的步骤。
本发明技术方案的有益效果:
本申请的长连接多重超时判断方法、装置及计算机可读存储介质,在心跳包时间进行超时判断的基础上,增加了连接时间、资源释放时间进行TCP长连接超时判断,形成了心跳超时、连接超时、资源释放超时三重判断超时校验机制,能够最大量判断出某个TCP长连接是否已断开,能够为服务器节约出更多的资源,提高TCP长连接的接入量。
附图说明
图1是实现本发明各个实施例的一种移动终端的硬件结构示意图;
图2是本发明实施例提供的一种通信网络***架构图;
图3是本发明实施例提供的TCP长连接的3次握手连接原理图;
图4是本发明实施例提供的TCP长连接的4次握手断开原理图;
图5是本发明实施例提供的TCP长连接的4次握手断开运行状态图;
图6是本发明实施例提供的一种长连接多重超时判断方法流程图;
图7是本发明实施例提供的一种连接超时判断过程步骤流程图;
图8是本发明实施例提供的一种心跳超时判断过程步骤流程图;
图9是本发明实施例提供的一种长连接多重超时判断装置结构框图;
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(PersonalDigital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
请参阅图1,其为实现本发明各个实施例的一种移动终端的硬件结构示意图,该移动终端100可以包括:RF(Radio Frequency,射频)单元101、WiFi模块102、音频输出单元103、A/V(音频/视频)输入单元104、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110、以及电源111等部件。本领域技术人员可以理解,图1中示出的移动终端结构并不构成对移动终端的限定,移动终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对移动终端的各个部件进行具体的介绍:
射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器110处理;另外,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过公共交通费用快捷支付与网络和其他设备通信。上述公共交通费用快捷支付可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobilecommuni cation,全球移动通讯***)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA2000(Code Division Multiple Access 2000,码分多址2000)、WCDMA(Wideband Code Division Multiple Access,宽带码分多址)、TD-SCDMA(Time Division-Synchronous Code Division Multiple Access,时分同步码分多址)、FDD-LTE(FrequencyDivision Duplexing-Long Term Evolution,频分双工长期演进)和TDD-LTE(TimeDivision Duplexing-Long Term Evolution,分时双工长期演进)等。
WiFi属于短距离无线传输技术,移动终端通过WiFi模块102可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块102,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
音频输出单元103可以在移动终端100处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将射频单元101或WiFi模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103可以包括扬声器、蜂鸣器等等。
A/V输入单元104用于接收音频或视频信号。A/V输入单元104可以包括图形处理器(Graphics Processing Unit,GPU)1041和麦克风1042,图形处理器1041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元106上。经图形处理器1041处理后的图像帧可以存储在存储器109(或其它存储介质)中或者经由射频单元101或WiFi模块102进行发送。麦克风1042可以在电话通话模式、记录模式、语音识别模式等等运行模式中经由麦克风1042接收声音(音频数据),并且能够将这样的声音处理为音频数据。处理后的音频(语音)数据可以在电话通话模式的情况下转换为可经由射频单元101发送到移动通信基站的格式输出。麦克风1042可以实施各种类型的噪声消除(或抑制)算法以消除(或抑制)在接收和发送音频信号的过程中产生的噪声或者干扰。
移动终端100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在移动终端100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(0rganic Light-Emitting Diode,OLED)等形式来配置显示面板1061。
用户输入单元107可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。
进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元108用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端100和外部装置之间传输数据。
存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器110是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理公共交通费用快捷支付。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
移动终端100还可以包括给各个部件供电的电源111(比如电池),优选的,电源111可以通过电源管理***与处理器110逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管图1未示出,移动终端100还可以包括蓝牙模块等,在此不再赘述。
为了便于理解本发明实施例,下面对本发明的移动终端所基于的通信网络***进行描述。
请参阅图2,图2为本发明实施例提供的一种通信网络***架构图,该通信网络***为通用移动通信技术的LTE***,该LTE***包括依次通讯连接的UE(User Equipment,用户设备)201,E-UTRAN(Evolved UMTS Terrestrial RadioAccess Network,演进式UMTS陆地无线接入网)202,EPC(Evolved PacketCore,演进式分组核心网)203和运营商的IP业务204。
具体地,UE201可以是上述终端100,此处不再赘述。
E-UTRAN202包括eNodeB2021和其它eNodeB2022等。其中,eNodeB2021可以通过回程(backhaul)(例如X2接口)与其它eNodeB2022连接,eNodeB2021连接到EPC203,eNodeB2021可以提供UE201到EPC203的接入。
EPC203可以包括MME(Mobility Management Entity,移动性管理实体)2031,HSS(Home Subscriber Server,归属用户服务器)2032,其它MME2033,SGW(Serving Gate Way,服务网关)2034,PGW(PDN Gate Way,分组数据网络网关)2035和PCRF(Policy andCharging Rules Function,政策和资费功能实体)2036等。其中,MME2031是处理UE201和EPC203之间信令的控制节点,提供承载和连接管理。HSS2032用于提供一些寄存器来管理诸如归属位置寄存器(图中未示)之类的功能,并且保存有一些有关服务特征、数据速率等用户专用的信息。所有用户数据都可以通过SGW2034进行发送,PGW2035可以提供UE 201的IP地址分配以及其它功能,PCRF2036是业务数据流和IP承载资源的策略与计费控制策略决策点,它为策略与计费执行功能单元(图中未示)选择及提供可用的策略和计费控制决策。
IP业务204可以包括因特网、内联网、IMS(IP Multimedia Subsystem,IP多媒体子***)或其它IP业务等。
虽然上述以LTE***为例进行了介绍,但本领域技术人员应当知晓,本发明不仅仅适用于LTE***,也可以适用于其他公共交通费用快捷支付***,例如GSM、CDMA2000、WCDMA、TD-SCDMA以及未来新的网络***等,此处不做限定。
基于上述移动终端100硬件结构、通信网络***提出本发明方法各个实施例。
当网络通信时采用TCP协议时,在真正的读写操作之前,服务器server与客户端client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,如图3所示,连接的建立是需要3次握手的,如图4所示,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的。
具体地,如图5所示,TCP长连接断开过程为:
1、HOST1上的应用程序关闭己方的连接导致TCP发送一个FIN消息给HOST2。
2、HOST2发送一个确认消息给HOST1,并且HOST2把FIN作为EOF递交给HOST2上的应用程序。
3、一段时间过后,HOST2上的应用程序关闭它那边的连接,引发一个FIN消息给HOST1。
4、HOST1给HOST2发送一个确认消息,然后HOST2关闭连接并释放资源,然而,HOST1却没有关闭连接,而是进入了TIME_WAIT状态,并为两个最大段生存时间(2MSL)保留在此状态.
具体地,TCP长连接的建立过程:client向server发起连接,server接受client连接,双方建立连接。Client与server完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。TCP具有保活功能,保活功能主要为服务器应用提供,服务器应用希望知道客户端主机是否崩溃,从而可以代表客户端使用资源。若客户端已经消失,使得服务器上保留一个半开放的连接,而服务器又在等待来自客户端的数据,则服务器将应远等待客户端的数据,保活功能就是试图在服务器端检测到这种半开放的连接。若一个给定的连接在2小时内没有任何的动作,则服务器就向客户端发一个探测报文段,客户端主机必须处于以下4个状态之一:
1、客户端主机依然正常运行,并从服务器可达。客户端的TCP响应正常,而服务器也知道对方是正常的,服务器在2小时后将保活定时器复位。
2、客户端主机已经崩溃,并且关闭或者正在重新启动。在任何一种情况下,客户端的TCP都没有响应。服务端将不能收到对探测的响应,并在75秒后超时。服务器总共发送10个这样的探测,每个间隔75秒。如果服务器没有收到一个响应,它就认为客户端主机已经关闭并终止连接。
3、客户端主机崩溃并已经重新启动。服务器将收到一个对其保活探测的响应,这个响应是一个复位,使得服务器终止这个连接。
4、客户端机正常运行,但是服务器不可达,这种情况与2类似,TCP能发现的就是没有收到探查的响应。
从上面可以看出,TCP保活功能主要为探测长连接的存活状况,不过这里存在一个问题,存活功能的探测周期太长,还有就是它只是探测TCP连接的存活,属于比较温和的方式,遇到恶意的连接时,保活功能就难以胜任。
在长连接的应用场景下,client端一般不会主动关闭它们之间的连接,Client与server之间的连接如果一直不关闭会存在一个问题,随着客户端连接越来越多,server难以承受,这时server端需要采取一些策略,如关闭一些长时间没有读写事件发生的连接,这样可以避免一些恶意连接导致server端服务受损;如果条件再允许就可以以客户端机器为颗粒度,限制每个客户端的最大长连接数,这样可以完全避免某个客户端连累后端服务。
实施例1
如图5所示,本发明实施例提供了一种一种长连接多重超时判断方法,所述方法包括以下步骤:
S101、建立与客户端的TCP长连接,向所述客户端推送消息,
应用程序APP的服务器与设置在移动终端上的客户端之间通过TCP协议建立长连接,保持数据通讯不间断;当服务器需要向客户端推送消息时,可以迅速将消息推送到对应的服务器。
S102、通过连接时间、心跳包时间以及资源释放时间对所述TCP长连接进行超时判断;
由于客户端的数量众多,上述我们知道TCP长连接的断开需要经历4个过程,而且服务器一般情况下不会主动断开TCP长连接,若是服务器同时与数量众多的客户端保持TCP长连接,服务器将不堪重负而崩溃,因此,需要管理服务器与客户端之间的TCP长连接,从而通过设置TCP长连接超时机制来限制同时存在的TCP长连接数量,上述我们已经知道,服务器通过一定间隔连续多次向客户端发生心跳包,若客户端主机没有反馈一个响应,则判定客户端主机已经关闭并终止该客户端的TCP长连接,从而释放服务器端口资源;这就是现有的心跳包时间来进行长连接超时判断的方式。但是,我们会面临这样的情况,客户端和服务器之间长期保持着正常的长连接,但所推送消息并没有被客户浏览或者接收,长期保持的TCP长连接也占有了服务器端口资源,但是并没有达到***推送服务的目的。另外,TCP长连接没有断开,而且一直在进行数据传输,推送消息的数据却迟迟不能够完成传输,长期处于缓冲状态而占用内存资源。因此,本申请引入了连接时间和资源释放时间来进一步限制无限TCP长连接的数量。
S103、当所述连接时间、所述心跳包时间和所述资源释放时间任意一项达到预设阈值时,判定所述TCP长连接超时并删除所述客户端的连接信息。
针对连接时间、心跳包时间和资源释放时间分别设置一预设阈值,如75s的心跳包时间阈值等,当服务器监测到某一个TCP长连接的上述三个任意一个时间达到或者超过预设阈值时,判断为TCP长连接超时,从而删除对应客户端的连接信息,断开TCP长连接,释放服务器端口资源。
具体地,如图7所示,所述通过连接时间对所述TCP长连接进行超时判断的步骤包括:
S201、将所述客户端对应的设备标识与连接时间存储在一连接超时集合;
S202、当与所述客户端进行通信时,同步更新所述连接超时集合中的连接时间;
S203、创建一连接守护线程,以预设时间周期轮询所述连接超时集合,检测所述连接时间是否达到预设阈值。
每一个客户端的连接都有一个自身的唯一设备标识(该设备标识由客户端首次建立链接后,向服务器自动注册生成的),建立TCP长连接后,由netty保存该唯一设备标识的相关信息至连接时间的一个连接超时集合中(key,value的形式,value为当时的时间戳)。当TCP长连接发送的每个命令后,均需要同步的修改内存连接超时集合中的value时间戳。由另一个后台守护线程,每隔固定的时间周期轮询该连接超时集合,如果某个时间戳超过连接超时集合的连接时间后,则删除该客户端的连接信息,并主动断开对应的TCP长连接。
具体地,如图8所示,所述通过心跳包时间对所述TCP长连接进行超时判断的步骤包括:
S301、将所述客户端对应的设备标识与心跳包时间存储在一心跳超时集合;
S302、当所述TCP长连接无数据传输时,接收所述客户端以预设间隔时间发送的心跳包并更新所述心跳超时集合中的心跳包时间;
S303、创建一心跳包守护线程,以预设时间周期轮询所述心跳超时集合,检测所述心跳包时间是否达到预设阈值。
当每个长链接建立后,建立心跳超时集合,并放入相关客户端信息。该长连接无数据传递时,将会每隔一定时间发送心跳包至服务端接入模块中,每次接受到心跳包后,修改心跳超时集合内的相关时间信息。由另一个后台守护线程,每隔固定的时间轮询该心跳超时集合,如果某个时间戳超过心跳超时的时间后,则删除该连接信息,并主动断开该连接。
其中,所述通过资源释放时间对所述TCP长连接进行超时判断的步骤包括:
监测与所述客户端的资源释放时间,创建一资源释放守护线程,以预设时间周期调用垃圾回收机制,根据所述资源释放时间与预设阈值比较判断是否存在资源释放超时的推送消息。
垃圾回收或GC(Garbage Collection),是一种自动的存储管理机制,它是Java语言的一大特性,方便了编码,把内存释放工作的压力都转让到了***,故而是以消耗***性能为代价的。C++编码时,我们需要自己实现析构函数来进行内存释放,很麻烦,而且非常容易遗漏而最终导致程序崩掉。所以Java语言就引入了自动内存管理的机制,也就是垃圾回收机制,针对的主要的内存的堆区域。
GC是主要的一个流程是:先根据一定的算法判定某个对象是否存活,然后把判定是垃圾的对象进行回收。详细点说的话,GC的工作流程分以下几个步骤:
第一、可回收对象的判定;
第二、通过某些算法回收垃圾内存。
目前,市面上存在有两种算法来判定一个对象是否是垃圾,如下:
1.引用计数算法
这种算法的工作原理是:首先给每一个对象都添加一个引用计数器;当程序的某一个地方引用了此对象,这个计数器的值就加1;当引用失效的时候(例如超过了作用域),这个计数器就减1;当某一个对象的计数器的值是0的时候,则判定这个对象不可能被使用。这种算法对于***来说比较简单,高效,垃圾回收器运行较快,不需要长时间中断我们的程序的执行,但是缺点是很难处理循环引用,这就导致相互引用的对象都无法被回收。
2.GC Root可达性分析算法
这个算法的工作原理是:以称作“GC Root”的对象作为起点向下搜索;每走过一个对象,就生成一条引用链;从根开始到搜索完,生成了一棵引用树,那些到GC Root不可达的对象就是可以回收的;这个方法明显就解决了循环引用的问题,不过这个算法还是稍微有点复杂的。
我们程序中能够被用来当做GC Root对象的有:
1).虚拟机栈(栈帧中的本地变量表)中引用的对象
2).方法区中静态属性引用的对象
3).方法区中常量引用的对象
4).本地方法栈中JNI引用的对象
关于对象可回收的判定,我们还需要注意的是,当***开始启动GC的时候,为了保证引用链的状态不变,就需要停止该进程中所有的程序(Stop The World),Android中的现象就是UI卡顿,但一般这样的卡顿时间是非常短的,当然,要是频繁的产生GC,就存在***缺陷。
以上内容讲述了***如何去判定某一个对象是否是垃圾,是否应该被回收。接着,当判定了某一个对象为垃圾对象后,***就要开始进行回收了,那么***的垃圾回收算法以下几种:
1.标记清除算法(Mark-Sweep)
2.复制算法(Copying)
3.标记整理算法(Mark-Compact)
4.分代回收算法
本申请中重点采用了资源释放时间,也即是推送消息的数据在内存缓存区停留的时间来判断推送消息是否成为了***垃圾,由于调用了***自身的垃圾回收机制,并不仅仅限于资源释放时间,当推送消息的数据与***垃圾判断条件相符合时,也将会被定义为***垃圾,从而被回收。当推送消息的数据被回收之后,服务器将删除相应的客户端连接信息并断开TCP长连接。
其中,所述建立与客户端的TCP长连接,向所述客户端推送消息的步骤之后,所述方法包括:
对应所述TCP长连接设置连接超时、心跳超时和资源释放超时的校验功能。
实现多重校验机制,主要是在使用保持长连接的类似推送服务中使用。添加多重校验机制,一般都需要再该推送服务的接入模块进行多重校验机制的添加操作。接入模块一般为客户端与服务端建立长连接的模块,针对长连接的超时判断在该模块中进行。以推送服务为例,使用NETTY(或者mina)实现客户端长连接建立功能。在其中添加连接时间,心跳包时间,资源释放超时等多重超时校验功能。
实施例2
基于同一发明构思,如图9所示,本发明实施例提供的一种长连接多重超时判断装置硬件结构,具体地,所述长连接多重超时判断装置40至少包括处理器41、存储器42以及数据总线43。数据总线43用于实现处理器41和存储器42之间的连接通信,存储器42作为一种计算机可读存储介质,可以存储至少一个计算机程序,这些计算机程序可供处理器41读取、编译并执行,从而实现对应的处理流程。在本实施例中,存储器42作为一种计算机可读存储介质,其中存储有长连接多重超时判断程序,该程序可供处理器41执行,从而实现如下的长连接多重超时判断方法的步骤:
建立与客户端的TCP长连接,向所述客户端推送消息,
通过连接时间、心跳包时间以及资源释放时间对所述TCP长连接进行超时判断;
当所述连接时间、所述心跳包时间和所述资源释放时间任意一项达到预设阈值时,判定所述TCP长连接超时并删除所述客户端的连接信息。
其中,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过连接时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与连接时间存储在一连接超时集合;
当与所述客户端进行通信时,同步更新所述连接超时集合中的连接时间;
创建一连接守护线程,以预设时间周期轮询所述连接超时集合,检测所述连接时间是否达到预设阈值。
其中,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过心跳包时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与心跳包时间存储在一心跳超时集合;
当所述TCP长连接无数据传输时,接收所述客户端以预设间隔时间发送的心跳包并更新所述心跳超时集合中的心跳包时间;
创建一心跳包守护线程,以预设时间周期轮询所述心跳超时集合,检测所述心跳包时间是否达到预设阈值。
其中,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过资源释放时间对所述TCP长连接进行超时判断包括:监测与所述客户端的资源释放时间,创建一资源释放守护线程,以预设时间周期调用垃圾回收机制,根据所述资源释放时间与预设阈值比较判断是否存在资源释放超时的推送消息。
实施例3
基于同一发明构思,本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有长连接多重超时判断程序,所述长连接多重超时判断程序被处理器执行时实现如下长连接多重超时判断方法的步骤:
建立与客户端的TCP长连接,向所述客户端推送消息,
通过连接时间、心跳包时间以及资源释放时间对所述TCP长连接进行超时判断;
当所述连接时间、所述心跳包时间和所述资源释放时间任意一项达到预设阈值时,判定所述TCP长连接超时并删除所述客户端的连接信息。
其中,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过连接时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与连接时间存储在一连接超时集合;
当与所述客户端进行通信时,同步更新所述连接超时集合中的连接时间;
创建一连接守护线程,以预设时间周期轮询所述连接超时集合,检测所述连接时间是否达到预设阈值。
其中,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过心跳包时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与心跳包时间存储在一心跳超时集合;
当所述TCP长连接无数据传输时,接收所述客户端以预设间隔时间发送的心跳包并更新所述心跳超时集合中的心跳包时间;
创建一心跳包守护线程,以预设时间周期轮询所述心跳超时集合,检测所述心跳包时间是否达到预设阈值。
其中,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过资源释放时间对所述TCP长连接进行超时判断包括:监测与所述客户端的资源释放时间,创建一资源释放守护线程,以预设时间周期调用垃圾回收机制,根据所述资源释放时间与预设阈值比较判断是否存在资源释放超时的推送消息。
本申请的长连接多重超时判断方法、装置及计算机可读存储介质,在心跳包时间进行超时判断的基础上,增加了连接时间、资源释放时间进行TCP长连接超时判断,形成了心跳超时、连接超时、资源释放超时三重判断超时校验机制,能够最大量判断出某个TCP长连接是否已断开,能够为服务器节约出更多的资源,提高TCP长连接的接入量。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种长连接多重超时判断方法,其特征在于,所述方法包括:
建立与客户端的TCP长连接,向所述客户端推送消息,
通过连接时间、心跳包时间以及资源释放时间对所述TCP长连接进行超时判断;其中,所述连接时间是指客户端和服务器之间保持着正常的长连接,但却没有数据传输的时间;所述通过资源释放时间对所述TCP长连接进行超时判断包括:监测与所述客户端的资源释放时间,创建一资源释放守护线程,以预设时间周期调用垃圾回收机制,根据所述资源释放时间与预设阈值比较判断是否存在资源释放超时的推送消息;
当所述连接时间、所述心跳包时间和所述资源释放时间任意一项达到预设阈值时,判定所述TCP长连接超时并删除所述客户端的连接信息。
2.根据权利要求1所述的长连接多重超时判断方法,其特征在于,所述通过连接时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与连接时间存储在一连接超时集合;
当与所述客户端进行通信时,同步更新所述连接超时集合中的连接时间;
创建一连接守护线程,以预设时间周期轮询所述连接超时集合,检测所述连接时间是否达到预设阈值。
3.根据权利要求1所述的长连接多重超时判断方法,其特征在于,所述通过心跳包时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与心跳包时间存储在一心跳超时集合;
当所述TCP长连接无数据传输时,接收所述客户端以预设间隔时间发送的心跳包并更新所述心跳超时集合中的心跳包时间;
创建一心跳包守护线程,以预设时间周期轮询所述心跳超时集合,检测所述心跳包时间是否达到预设阈值。
4.根据权利要求1所述的长连接多重超时判断方法,其特征在于,所述建立与客户端的TCP长连接,向所述客户端推送消息之后,所述方法包括:对应所述TCP长连接设置连接超时、心跳超时和资源释放超时的校验功能。
5.一种长连接多重超时判断装置,其特征在于,所述长连接多重超时判断装置包括处理器、存储器及数据总线;
所述数据总线用于实现处理器和存储器之间的连接通信;
所述处理器用于执行存储器中存储的长连接多重超时判断程序,以实现以下步骤:
建立与客户端的TCP长连接,向所述客户端推送消息,
通过连接时间、心跳包时间以及资源释放时间对所述TCP长连接进行超时判断;其中,所述连接时间是指客户端和服务器之间保持着正常的长连接,但却没有数据传输的时间;所述通过资源释放时间对所述TCP长连接进行超时判断包括:监测与所述客户端的资源释放时间,创建一资源释放守护线程,以预设时间周期调用垃圾回收机制,根据所述资源释放时间与预设阈值比较判断是否存在资源释放超时的推送消息;
当所述连接时间、所述心跳包时间和所述资源释放时间任意一项达到预设阈值时,判定所述TCP长连接超时并删除所述客户端的连接信息。
6.根据权利要求5所述的长连接多重超时判断装置,其特征在于,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过连接时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与连接时间存储在一连接超时集合;
当与所述客户端进行通信时,同步更新所述连接超时集合中的连接时间;
创建一连接守护线程,以预设时间周期轮询所述连接超时集合,检测所述连接时间是否达到预设阈值。
7.根据权利要求5所述的长连接多重超时判断装置,其特征在于,所述处理器用于执行存储器中存储的长连接多重超时判断程序还实现以下步骤:
所述通过心跳包时间对所述TCP长连接进行超时判断包括:
将所述客户端对应的设备标识与心跳包时间存储在一心跳超时集合;
当所述TCP长连接无数据传输时,接收所述客户端以预设间隔时间发送的心跳包并更新所述心跳超时集合中的心跳包时间;
创建一心跳包守护线程,以预设时间周期轮询所述心跳超时集合,检测所述心跳包时间是否达到预设阈值。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有长连接多重超时判断程序,所述长连接多重超时判断程序被处理器执行时实现如权利要求1-4任意一项所述的长连接多重超时判断方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810591844.6A CN108900370B (zh) | 2018-06-08 | 2018-06-08 | 长连接多重超时判断方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810591844.6A CN108900370B (zh) | 2018-06-08 | 2018-06-08 | 长连接多重超时判断方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108900370A CN108900370A (zh) | 2018-11-27 |
CN108900370B true CN108900370B (zh) | 2021-12-17 |
Family
ID=64344535
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810591844.6A Active CN108900370B (zh) | 2018-06-08 | 2018-06-08 | 长连接多重超时判断方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108900370B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109602413B (zh) * | 2018-12-06 | 2022-01-18 | Oppo广东移动通信有限公司 | 心跳检测方法、装置、存储介质及服务器 |
CN110213320B (zh) * | 2019-01-02 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 通信连接的方法、装置、电子设备及计算机可读存储介质 |
CN110430238B (zh) * | 2019-07-05 | 2023-10-31 | 中国平安财产保险股份有限公司 | 长连接管理方法、装置、设备及计算机可读存储介质 |
CN110708283A (zh) * | 2019-08-29 | 2020-01-17 | 中国第一汽车股份有限公司 | 车辆与终端连接异常的处理方法、装置、车辆及存储介质 |
CN110768861B (zh) * | 2019-09-20 | 2021-07-06 | 北京字节跳动网络技术有限公司 | 一种获取超时阈值的方法、装置、介质和电子设备 |
CN110995857B (zh) * | 2019-12-17 | 2022-07-01 | 福建省汽车工业集团云度新能源汽车股份有限公司 | 一种实时高并发长连接超时快速处理方法 |
CN111815245A (zh) * | 2020-07-21 | 2020-10-23 | 上海东普信息科技有限公司 | 数据通信方法、装置、***、设备及存储介质 |
CN112506628B (zh) * | 2020-11-24 | 2024-03-19 | 北京达佳互联信息技术有限公司 | 代理程序的管理方法、装置、计算机设备及存储介质 |
CN112650706A (zh) * | 2020-12-31 | 2021-04-13 | 鲸灵科技股份有限公司 | 一种大数据技术体系下实现高态势感知能力的方法 |
CN112394886B (zh) * | 2021-01-21 | 2021-04-09 | 全时云商务服务股份有限公司 | 客户端心跳续约与过期检测方法、装置及计算机可读介质 |
CN113472893B (zh) * | 2021-07-22 | 2023-08-01 | 咪咕数字传媒有限公司 | 数据处理方法、装置、计算设备及计算机存储介质 |
CN114244754B (zh) * | 2021-11-30 | 2022-08-19 | 慧之安信息技术股份有限公司 | 一种设备在线状态计算方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546659A (zh) * | 2012-02-21 | 2012-07-04 | 上海交通大学 | 面向远过程调用的持久tcp连接方法 |
CN104184730A (zh) * | 2014-08-20 | 2014-12-03 | 小米科技有限责任公司 | 访问处理方法和装置、电子设备 |
CN105657000A (zh) * | 2015-12-25 | 2016-06-08 | 北京奇虎科技有限公司 | 消息传送方法及装置 |
WO2016155300A1 (zh) * | 2015-03-27 | 2016-10-06 | 上海斐讯数据通信技术有限公司 | 无线终端设备的远程控制***及远程控制方法 |
CN106961364A (zh) * | 2017-04-24 | 2017-07-18 | 努比亚技术有限公司 | 心跳检测方法及应用服务器 |
CN107071826A (zh) * | 2011-03-17 | 2017-08-18 | 华为技术有限公司 | 数据资源传输的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106533845A (zh) * | 2016-12-27 | 2017-03-22 | 海尔优家智能科技(北京)有限公司 | 一种长连接状态监控方法和装置 |
-
2018
- 2018-06-08 CN CN201810591844.6A patent/CN108900370B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107071826A (zh) * | 2011-03-17 | 2017-08-18 | 华为技术有限公司 | 数据资源传输的方法和设备 |
CN102546659A (zh) * | 2012-02-21 | 2012-07-04 | 上海交通大学 | 面向远过程调用的持久tcp连接方法 |
CN104184730A (zh) * | 2014-08-20 | 2014-12-03 | 小米科技有限责任公司 | 访问处理方法和装置、电子设备 |
WO2016155300A1 (zh) * | 2015-03-27 | 2016-10-06 | 上海斐讯数据通信技术有限公司 | 无线终端设备的远程控制***及远程控制方法 |
CN105657000A (zh) * | 2015-12-25 | 2016-06-08 | 北京奇虎科技有限公司 | 消息传送方法及装置 |
CN106961364A (zh) * | 2017-04-24 | 2017-07-18 | 努比亚技术有限公司 | 心跳检测方法及应用服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN108900370A (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900370B (zh) | 长连接多重超时判断方法、装置及计算机可读存储介质 | |
CN108768775B (zh) | 信息处理方法、电子设备及计算机存储介质 | |
CN108509299B (zh) | 消息处理方法、设备及计算机可读存储介质 | |
CN110784898B (zh) | 网络切换方法、移动终端及计算机可读存储介质 | |
CN110188016B (zh) | 应用程序无响应阻塞的检测方法、终端以及存储介质 | |
CN107135128B (zh) | 调用链数据采集方法、移动终端及计算机可读存储介质 | |
CN107124466B (zh) | 一种防止缓存穿透方法及装置、计算机可读存储介质 | |
CN107124428B (zh) | 一种提高VoLTE呼叫成功率的方法、设备及存储介质 | |
CN109766119B (zh) | 恢复分区升级方法、终端和计算机可读存储介质 | |
WO2023060988A1 (zh) | 通信异常时的重建方法、终端设备及存储介质 | |
CN109618377B (zh) | 呼叫处理方法、终端、网络侧装置及计算机可读存储介质 | |
CN108833717B (zh) | 信息清理方法、装置、移动终端及计算机可读存储介质 | |
CN109168189B (zh) | 一种省电方法、移动终端及计算机可读存储介质 | |
CN108306856B (zh) | 一种接口合并方法、客户端、服务器及计算机可读存储介质 | |
CN108040116B (zh) | 消息推送方法、路由器及计算机可读存储介质 | |
CN107453984B (zh) | 回复消息的方法、设备及计算机可存储介质 | |
CN107239208B (zh) | 处理屏幕截图的方法、设备及计算机可读存储介质 | |
CN111970738A (zh) | 一种网络切换控制方法、设备及计算机可读存储介质 | |
CN112395106A (zh) | 进程管理方法、移动终端以及计算机可读存储介质 | |
CN108183833B (zh) | 一种响应处理方法、装置及计算机可读存储介质 | |
CN108650404B (zh) | 端口启动电路、装置及移动终端 | |
CN107404568B (zh) | 一种控制开关管理方法及移动终端 | |
CN110572518B (zh) | 息屏管控方法、移动终端及计算机可读存储介质 | |
CN111615147B (zh) | 配置方法及终端设备 | |
CN113485667A (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 |