CN109660411A - 一种优化即时通信网络链路连接的方法及装置 - Google Patents
一种优化即时通信网络链路连接的方法及装置 Download PDFInfo
- Publication number
- CN109660411A CN109660411A CN201910138886.9A CN201910138886A CN109660411A CN 109660411 A CN109660411 A CN 109660411A CN 201910138886 A CN201910138886 A CN 201910138886A CN 109660411 A CN109660411 A CN 109660411A
- Authority
- CN
- China
- Prior art keywords
- address
- connection time
- connection
- network link
- time
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- 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/141—Setup of application sessions
-
- 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/143—Termination or inactivation of sessions, e.g. event-controlled end of session
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种优化即时通信网络链路连接的方法及装置,包括:在首次构建IM网络链路连接时,向IM服务器发起获取预定数量地址的地址获取请求;针对从IM服务器获取的每一地址,发起至该地址的网络链路连接,记录建立网络链路连接所用的连接时间;缓存连接时间及该连接时间对应的地址,从缓存的连接时间中,选取最短连接时间对应的第一地址,维持与第一地址建立的网络链路连接,释放与其他地址建立的网络链路连接;按照预设的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新;在需要重新构建网络链路连接时,从缓存的连接时间中,选取最短连接时间对应的第二地址,与第二地址建立网络链路连接。可以提升建立链路连接的效率。
Description
技术领域
本申请涉及即时通信(IM,Instant Message)技术领域,具体而言,涉及一种优化即时通信网络链路连接的方法及装置。
背景技术
当今的互联网时代,需要用户进行更为及时的沟通和交流以提升工作效率,IM平台作为能够即时发送和接收互联网消息等业务的平台,集成了会话交流、文件传输、音乐、视频、游戏和搜索等多种功能,得到了广泛应用,用户可以通过在移动客户端或固定客户端等IM客户端中安装相应IM客户端软件,从而可以在移动客户端或固定客户端上使用IM平台。其中,与IM服务器建立IM网络链路连接是使用IM平台的第一个环节,是使用IM平台中各功能的前提。
建立IM网络链路连接对网络连接速度与质量要求较高,当网络质量不高或IM客户端掉线等网络异常时,例如,由于网线松动或网络切换,会引发用户之前建立的IM网络链路连接不可用,需要重新构建IM网络链路连接。
目前,在IM客户端发生异常后,如果与IM服务器需要再次进行通信,则需要重新建立IM网络链路连接,这样,需要IM客户端再次向IM服务器发起请求,以从IM服务器获取可用的IP地址,并基于获取的IP地址构建IM网络链路连接,导致建立IM网络链路连接所需的时间较长,建立IM网络链路连接的效率较低,用户体验差,进而,IM客户端向IM服务器发起请求,IM服务器对请求进行处理,也增加了IM服务器的负荷,使得IM服务器的资源开销大,资源利用率不高。
发明内容
有鉴于此,本申请的目的在于提供一种优化即时通信网络链路连接的方法及装置,提升建立IM网络链路连接的效率。
第一方面,本申请实施例提供了一种优化即时通信网络链路连接的方法,该方法包括:
在首次构建即时通信IM网络链路连接时,向IM服务器发起地址获取请求,以请求从所述IM服务器获取预定数量的地址;
针对从所述IM服务器获取的每一地址,发起至该地址的网络链路连接,记录从发起至建立网络链路连接所用的连接时间;
缓存记录的连接时间以及该连接时间对应的地址,从缓存的连接时间中,选取最短连接时间对应的第一地址,维持与所述第一地址建立的网络链路连接,释放与其他地址建立的网络链路连接;
按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新;
在需要重新构建网络链路连接时,从缓存的连接时间中,选取最短连接时间对应的第二地址,与所述第二地址建立网络链路连接。
可选地,在所述发起至该地址的网络链路连接之后,记录从发起至建立网络链路连接所用的连接时间之前,所述方法还包括:
从发起开始计时;
判断在计时到预先设置的时间阈值时是否已建立网络链路连接,若是,执行所述记录从发起至建立网络链路连接所用的连接时间的步骤,若否,终止至该地址的网络链路连接。
可选地,在所述缓存记录的连接时间以及该连接时间对应的地址之前,所述方法还包括:
利用有序字典算法对记录的连接时间进行排序,得到包含排序的连接时间以及该排序的连接时间对应的地址的连接时间数组;
所述缓存记录的连接时间,包括:
缓存所述连接时间数组。
可选地,所述连接时间数组采用键值对方式记录排序的连接时间以及该排序的连接时间对应的地址,其中,键对应排序的连接时间,值对应该排序的连接时间对应的地址。
可选地,所述按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
存储IM客户端缓存连接时间时的基准位置;
按照预先设置的时间周期获取当前位置;
计算当前位置与所述基准位置的位置差;
若所述位置差超过预先设置的位置差阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;
清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置。
可选地,所述按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
在缓存记录的连接时间以及该连接时间对应的地址时,进行更新计时;
若所述更新计时达到预先设置的更新计时阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;
清空缓存,并缓存新连接时间以及该新连接时间对应的地址。
可选地,所述按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
存储IM客户端缓存连接时间时的基准位置;
按照预先设置的时间周期获取当前位置;
计算当前位置与所述基准位置的位置差;
若所述位置差未超过预先设置的位置差阈值,计算当前时间与缓存连接时间时的时间差;若时间差大于预先设置的更新计时阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置;
若所述位置差超过预先设置的位置差阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置。
可选地,所述方法还包括:
若与所述第二地址建立网络链路连接失败,从缓存的连接时间中,选取第二短连接时间对应的第三地址,与所述第三地址建立网络链路连接。
可选地,所述地址包括IP地址,所述网络链路连接包括传输控制协议连接。
第二方面,本申请实施例提供了一种优化即时通信网络链路连接的装置,该装置包括:
多地址获取模块,用于在首次构建即时通信IM网络链路连接时,向IM服务器发起地址获取请求,以请求从所述IM服务器获取预定数量的地址;
连接时间记录模块,用于针对从所述IM服务器获取的每一地址,发起至该地址的网络链路连接,记录从发起至建立网络链路连接所用的连接时间;
连接时间处理模块,用于缓存记录的连接时间以及该连接时间对应的地址,从缓存的连接时间中,选取最短连接时间对应的第一地址,维持与所述第一地址建立的网络链路连接,释放与其他地址建立的网络链路连接;
连接时间更新模块,用于按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新;
连接异常处理模块,用于在需要重新构建网络链路连接时,从缓存的连接时间中,选取最短连接时间对应的第二地址,与所述第二地址建立网络链路连接。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述的方法的步骤。
本申请实施例提供的一种优化即时通信网络链路连接的方法及装置,通过在首次构建即时通信IM网络链路连接时,向IM服务器发起地址获取请求,以请求从所述IM服务器获取预定数量的地址;针对从所述IM服务器获取的每一地址,发起至该地址的网络链路连接,记录从发起至建立网络链路连接所用的连接时间;缓存记录的连接时间以及该连接时间对应的地址,从缓存的连接时间中,选取最短连接时间对应的第一地址,维持与所述第一地址建立的网络链路连接,释放与其他地址建立的网络链路连接;按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新;在需要重新构建网络链路连接时,从缓存的连接时间中,选取最短连接时间对应的第二地址,与所述第二地址建立网络链路连接。这样,IM客户端通过在首次构建即时通信IM网络链路连接时,向IM服务器发起的地址获取请求中获取多个可用的地址,缓存获取的地址,并依据更新策略维护缓存的地址,从而在后续需要重新构建网络链路连接时,可以从维护的多个地址中,选取一地址,直接与该选取的地址建立网络链路连接,无需在每次构建网络链路连接时,都需要向IM服务器发起地址获取请求,能够有效提升IM客户端建立IM网络链路连接的速度,缩短建立IM网络链路连接所需的时间,从而提升IM客户端建立IM网络链路连接的效率,增强用户体验;进而,由于无需向IM服务器发起地址获取请求,也有效降低了IM服务器的负荷,减少IM服务器的资源开销,提升IM服务器的资源利用率。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种优化即时通信网络链路连接的方法流程示意图;
图2为本申请实施例提供的步骤104的一流程示意图;
图3为本申请实施例提供的一种优化即时通信网络链路连接的装置结构示意图;
图4为本申请实施例提供的一种计算机设备400的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种优化即时通信网络链路连接的方法流程示意图。如图1所示,该方法包括:
步骤101,在首次构建IM网络链路连接时,向IM服务器发起地址获取请求,以请求从所述IM服务器获取预定数量的地址;
本申请实施例中,作为一可选实施例,地址获取请求包括:超文本传输协议(HyperText Transport Protocol,HTTP)请求、安全套接字层上的超文本传输协议(Hyper TextTransfer Protocol over Secure Socket Layer,HTTPS)请求等,地址为IP地址或统一资源定位符(Uniform Resource Locator,URL)地址。
本申请实施例中,作为一可选实施例,首次是指IM客户端第一次通过IM服务器登录IM平台。
本申请实施例中,IM客户端向IM服务器发起HTTPS请求,以从IM服务器获取预定的N个IP地址,其中,N为大于1的整数。当然,实际应用中,N也可以等于1。
本申请实施例中,IM客户端通过向IM服务器发起的一次HTTPS请求中请求获取多个IP地址,这样,在后续IM客户端发生网络异常时,可以从获取的多个IP地址中,选取一IP地址,直接与该选取的IP地址建立网络链路连接,从而无需在每次网络异常情况下,都需要向IM服务器发起HTTPS请求,可以有效降低建立IM网络链路连接(登录)的时长,提升建立IM网络链路连接的效率,增强用户体验,进而,由于无需向IM服务器发起请求,也有效降低了IM服务器的负荷,减少IM服务器的资源开销,提升IM服务器的资源利用率。
步骤102,针对从所述IM服务器获取的每一地址,发起至该地址的网络链路连接,记录从发起至建立网络链路连接所用的连接时间;
本申请实施例中,IM服务器依据接收的HTTPS请求,向IM客户端返回可用于IM网络链路连接的N个IP地址。IM客户端接收到N个IP地址后,同时与IM服务器返回的N个IP地址发起N个网络链路连接,以确定该N个IP地址是否可达。
本申请实施例中,作为一可选实施例,网络链路连接为传输控制协议(Transmission Control Protocol,TCP)连接,通过三次握手的方式建立TCP连接。
本申请实施例中,分别统计IM客户端与IM服务器返回的每一IP地址建立TCP连接的连接时间,例如,分别为:Time1、Time2、…、Timei、…、TimeN,其中,Timei表示IM客户端与第i个IP地址建立TCP连接所用的时间,TimeN表示IM客户端与第N个IP地址建立TCP连接所用的时间。
本申请实施例中,作为一可选实施例,IM客户端使用请求得到的N个IP地址与IM服务器建立N个TCP连接,通过三次握手的方式确认TCP连接是否建立成功,若从发起至建立网络链路连接(TCP连接)所用的时间超过预先设置的时间阈值,表明TCP连接未建立成功,为了提高网络链路连接的效率,可以终止该网络链路连接,不记录该时间。因而,在所述发起至该地址的网络链路连接之后,记录从发起至建立网络链路连接所用的连接时间之前,该方法还包括:
从发起开始计时;
判断在计时到预先设置的时间阈值时是否已建立网络链路连接,若是,执行所述记录从发起至建立网络链路连接所用的连接时间的步骤,若否,终止至该地址的网络链路连接。
步骤103,缓存记录的连接时间以及该连接时间对应的地址,从缓存的连接时间中,选取最短连接时间对应的第一地址,维持与所述第一地址建立的网络链路连接,释放与其他地址建立的网络链路连接;
本申请实施例中,作为一可选实施例,利用本地缓存(NaviCache)存储记录的连接时间以及该连接时间对应的地址,并设置在IM客户端发生网络异常时,不会清除NaviCache中存储的信息。
本申请实施例中,作为一可选实施例,在所述缓存记录的连接时间以及该连接时间对应的地址之前,该方法还包括:
利用有序字典算法对记录的连接时间进行排序,得到包含排序的连接时间以及该排序的连接时间对应的地址的连接时间数组;
所述缓存记录的连接时间,包括:
缓存所述连接时间数组。
本申请实施例中,作为一可选实施例,连接时间数组采用键值对方式记录排序的连接时间以及该排序的连接时间对应的地址,其中,键对应排序的连接时间,值对应该排序的连接时间对应的地址。
本申请实施例中,通过构建记录的时间与对应的IP地址的对应关系,可以方便、快捷进行IP地址查找。
本申请实施例中,对键值对中记录的各连接时间,利用有序字典算法进行排序,得到以键值对表示的连接时间数组,将连接时间数组存储至NaviCache,并从NaviCache中,获取最短连接时间对应的第一地址,例如,连接时间最短对应的IP地址,IM客户端维持与该第一地址建立的网络链路连接,同时,释放与其他(除第一地址之外的)地址建立的网络链路连接。
步骤104,按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新;
本申请实施例中,作为一可选实施例,按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
存储IM客户端缓存连接时间时的基准位置;
按照预先设置的时间周期获取当前位置;
计算当前位置与所述基准位置的位置差;
若所述位置差超过预先设置的位置差阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;
清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置。
本申请实施例中,IM客户端在通信过程中,可能会进行位置移动,当移动到新的位置,即位置差超过预先设置的位置差阈值时,虽然此时并未发生网络异常,当前网络链路连接仍然可用,但需要提前获取该位置处可用的地址,因而,通过向IM服务器发起地址获取请求,获取新的地址,并获取与新的地址建立网络链路连接所用的连接时间。
本申请实施例中,若所述位置差不超过预先设置的位置差阈值,则不执行任何流程,等待下一时间周期。
本申请实施例中,在获取新连接时间后,断开与新连接时间对应的地址的网络链路连接,以不影响当前网络链路连接。
本申请实施例中,作为另一可选实施例,按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
在缓存记录的连接时间以及该连接时间对应的地址时,进行更新计时;
若所述更新计时达到预先设置的更新计时阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;
清空缓存,并缓存新连接时间以及该新连接时间对应的地址。
本申请实施例中,按照更新计时阈值,对缓存的连接时间对应的地址进行更新。
本申请实施例中,还可以结合IM客户端的位置变化以及更新计时阈值,对缓存的连接时间对应的地址进行更新。
图2为本申请实施例提供的步骤104的一流程示意图。参见图2,按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
步骤201,存储IM客户端缓存连接时间时的基准位置;
本申请实施例中,基准位置为缓存连接时间时的IM客户端的经纬度。作为一可选实施例,精确到小数点后一位,这样,通过该经纬度精度计算位置变化,可以有效降低IM客户端对IM服务器的地址获取请求次数,能够尽量使用缓存中的IP地址。
步骤202,按照预先设置的时间周期获取当前位置;
步骤203,计算当前位置与所述基准位置的位置差;
步骤204,判断所述位置差是否超过预先设置的位置差阈值,若否,执行步骤205,若是,执行步骤207;
本申请实施例中,获取当前位置(当前地理位置),与NaviCache存储的基准位置进行比较,如果两者的位置差超过了预先设置的位置差阈值,表明IM客户端已经移动到新为止,NaviCache缓存的IP地址并不是最优的IP地址。
步骤205,计算当前时间与缓存连接时间时的时间差;
步骤206,判断时间差是否大于预先设置的更新计时阈值,若是,执行步骤207;
本申请实施例中,若时间差不大于预先设置的更新计时阈值,等待下一时间周期。
本申请实施例中,作为一可选实施例,更新计时阈值可以设置为2个小时。
本申请实施例中,如果经纬度变化在位置差阈值内、且时间差不大于更新计时阈值,不更新缓存,在后续IM客户端需要重新建立网络链路连接时,利用缓存中排序的地址进行网络链路连接尝试。
步骤207,执行向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;
本申请实施例中,在获取新连接时间后,断开与新连接时间对应的地址的网络链路连接,以不影响当前网络链路连接。
步骤208,清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置。
步骤105,在需要重新构建网络链路连接时,从缓存的连接时间中,选取最短连接时间对应的第二地址,与所述第二地址建立网络链路连接。
本申请实施例中,作为一可选实施例,在网络信号差、中断等网络异常情况下,确定需要重新构建网络链路连接;作为另一可选实施例,还可以在正常关机后,或者,在正常断开网络链路连接后,需要重新登录IM平台,也可以确定需要重新构建网络链路连接。
本申请实施例中,IM客户端无论在网络异常情况下还是在正常情况下,NaviCache都不会清除缓存的连接时间数组。
本申请实施例中,作为一可选实施例,该方法还包括:
若与所述第二地址建立网络链路连接失败,从缓存的连接时间中,选取第二短连接时间对应的第三地址,与所述第三地址建立网络链路连接。
本申请实施例中,在与选取的地址建立网络链路连接失败后,从缓存的排序连接时间中,选取排序在该地址对应的连接时间后的连接时间对应的地址,尝试建立网络链路连接,直至建立网络链路连接;若与缓存的所有连接时间对应的地址建立网络链路连接均失败,则返回执行向IM服务器发起地址获取请求的步骤。
图3为本申请实施例提供的一种优化即时通信网络链路连接的装置结构示意图。如图3所示,该装置包括:
多地址获取模块301,用于在首次构建即时通信IM网络链路连接时,向IM服务器发起地址获取请求,以请求从所述IM服务器获取预定数量的地址;
本申请实施例中,作为一可选实施例,所述地址为IP地址。地址获取请求包括:HTTP请求、HTTPS请求等。
连接时间记录模块302,用于针对从所述IM服务器获取的每一地址,发起至该地址的网络链路连接,记录从发起至建立网络链路连接所用的连接时间;
本申请实施例中,作为一可选实施例,所述网络链路连接包括传输控制协议连接。
本申请实施例中,作为一可选实施例,连接时间记录模块302,具体还用于从发起开始计时;判断在计时到预先设置的时间阈值时是否已建立网络链路连接,若是,执行所述记录从发起至建立网络链路连接所用的连接时间的步骤,若否,终止至该地址的网络链路连接。
连接时间处理模块303,用于缓存记录的连接时间以及该连接时间对应的地址,从缓存的连接时间中,选取最短连接时间对应的第一地址,维持与所述第一地址建立的网络链路连接,释放与其他地址建立的网络链路连接;
本申请实施例中,作为一可选实施例,利用NaviCache存储记录的连接时间以及该连接时间对应的地址。在IM客户端发生网络异常时,NaviCache能够保留存储的信息。
本申请实施例中,作为一可选实施例,连接时间处理模块303,具体还用于利用有序字典算法对记录的连接时间进行排序,得到包含排序的连接时间以及该排序的连接时间对应的地址的连接时间数组,并缓存所述连接时间数组。
本申请实施例中,连接时间数组采用键值对方式记录排序的连接时间以及该排序的连接时间对应的地址,其中,键对应排序的连接时间,值对应该排序的连接时间对应的地址。
连接时间更新模块304,用于按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新;
本申请实施例中,作为一可选实施例,连接时间更新模块304,具体用于获取并存储IM客户端缓存连接时间时的基准位置;按照预先设置的时间周期获取当前位置;计算当前位置与所述基准位置的位置差;若所述位置差超过预先设置的位置差阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置。
本申请实施例中,若所述位置差不超过预先设置的位置差阈值,则不执行任何流程,等待下一时间周期。在获取新连接时间后,断开与新连接时间对应的地址的网络链路连接。
本申请实施例中,作为另一可选实施例,连接时间更新模块304,具体用于在缓存记录的连接时间以及该连接时间对应的地址时,进行更新计时;若所述更新计时达到预先设置的更新计时阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;清空缓存,并缓存新连接时间以及该新连接时间对应的地址。
本申请实施例中,作为再一可选实施例,连接时间更新模块304,具体用于存储IM客户端缓存连接时间时的基准位置;按照预先设置的时间周期获取当前位置;计算当前位置与所述基准位置的位置差;若所述位置差未超过预先设置的位置差阈值,计算当前时间与缓存连接时间时的时间差;若时间差大于预先设置的更新计时阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置;若所述位置差超过预先设置的位置差阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置。
连接异常处理模块305,用于在需要重新构建网络链路连接时,从缓存的连接时间中,选取最短连接时间对应的第二地址,与所述第二地址建立网络链路连接。
本申请实施例中,作为一可选实施例,连接异常处理模块305,具体还用于若与所述第二地址建立网络链路连接失败,从缓存的连接时间中,选取第二短连接时间对应的第三地址,与所述第三地址建立网络链路连接。
本申请实施例中,在与选取的地址建立网络链路连接失败后,从缓存的排序连接时间中,选取排序在该地址对应的连接时间后的连接时间对应的地址,尝试建立网络链路连接,直至建立网络链路连接;若与缓存的所有连接时间对应的地址建立网络链路连接均失败,则返回执行向IM服务器发起地址获取请求的步骤。
如图4所示,本申请一实施例提供了一种计算机设备400,用于执行图1中的优化即时通信网络链路连接的方法,该设备包括存储器401、处理器402及存储在该存储器401上并可在该处理器402上运行的计算机程序,其中,上述处理器402执行上述计算机程序时实现上述优化即时通信网络链路连接的方法的步骤。
具体地,上述存储器401和处理器402能够为通用的存储器和处理器,这里不做具体限定,当处理器402运行存储器401存储的计算机程序时,能够执行上述优化即时通信网络链路连接的方法。
对应于图1中的优化即时通信网络链路连接的方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述优化即时通信网络链路连接的方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述优化即时通信网络链路连接的方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种优化即时通信网络链路连接的方法,其特征在于,该方法包括:
在首次构建即时通信IM网络链路连接时,向IM服务器发起地址获取请求,以请求从所述IM服务器获取预定数量的地址;
针对从所述IM服务器获取的每一地址,发起至该地址的网络链路连接,记录从发起至建立网络链路连接所用的连接时间;
缓存记录的连接时间以及该连接时间对应的地址,从缓存的连接时间中,选取最短连接时间对应的第一地址,维持与所述第一地址建立的网络链路连接,释放与除所述第一地址之外的地址建立的网络链路连接;
按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新;
在需要重新构建网络链路连接时,从缓存的连接时间中,选取最短连接时间对应的第二地址,与所述第二地址建立网络链路连接。
2.如权利要求1所述的方法,其特征在于,在所述发起至该地址的网络链路连接之后,记录从发起至建立网络链路连接所用的连接时间之前,所述方法还包括:
从发起开始计时;
判断在计时到预先设置的时间阈值时是否已建立网络链路连接,若是,执行所述记录从发起至建立网络链路连接所用的连接时间的步骤,若否,终止至该地址的网络链路连接。
3.如权利要求1所述的方法,其特征在于,在所述缓存记录的连接时间以及该连接时间对应的地址之前,所述方法还包括:
利用有序字典算法对记录的连接时间进行排序,得到包含排序的连接时间以及该排序的连接时间对应的地址的连接时间数组;
所述缓存记录的连接时间,包括:
缓存所述连接时间数组。
4.如权利要求3所述的方法,其特征在于,所述连接时间数组采用键值对方式记录排序的连接时间以及该排序的连接时间对应的地址,其中,键对应排序的连接时间,值对应该排序的连接时间对应的地址。
5.如权利要求1至4任一项所述的方法,其特征在于,所述按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
存储IM客户端缓存连接时间时的基准位置;
按照预先设置的时间周期获取当前位置;
计算当前位置与所述基准位置的位置差;
若所述位置差超过预先设置的位置差阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;
清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置。
6.如权利要求1至4任一项所述的方法,其特征在于,所述按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
在缓存记录的连接时间以及该连接时间对应的地址时,进行更新计时;
若所述更新计时达到预先设置的更新计时阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;
清空缓存,并缓存新连接时间以及该新连接时间对应的地址。
7.如权利要求1至4任一项所述的方法,其特征在于,所述按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新,包括:
存储IM客户端缓存连接时间时的基准位置;
按照预先设置的时间周期获取当前位置;
计算当前位置与所述基准位置的位置差;
若所述位置差未超过预先设置的位置差阈值,计算当前时间与缓存连接时间时的时间差;若时间差大于预先设置的更新计时阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置;
若所述位置差超过预先设置的位置差阈值,执行所述向IM服务器发起地址获取请求的步骤,以获取新连接时间以及该新连接时间对应的地址;清空缓存,并缓存新连接时间以及该新连接时间对应的地址,利用所述当前位置更新所述基准位置。
8.如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
若与所述第二地址建立网络链路连接失败,从缓存的连接时间中,选取第二短连接时间对应的第三地址,与所述第三地址建立网络链路连接。
9.如权利要求1至4任一项所述的方法,其特征在于,所述地址包括IP地址,所述网络链路连接包括传输控制协议连接。
10.一种优化即时通信网络链路连接的装置,其特征在于,该装置包括:
多地址获取模块,用于在首次构建即时通信IM网络链路连接时,向IM服务器发起地址获取请求,以请求从所述IM服务器获取预定数量的地址;
连接时间记录模块,用于针对从所述IM服务器获取的每一地址,发起至该地址的网络链路连接,记录从发起至建立网络链路连接所用的连接时间;
连接时间处理模块,用于缓存记录的连接时间以及该连接时间对应的地址,从缓存的连接时间中,选取最短连接时间对应的第一地址,维持与所述第一地址建立的网络链路连接,释放与除所述第一地址之外的地址建立的网络链路连接;
连接时间更新模块,用于按照预先设置的更新策略,对缓存的连接时间以及该连接时间对应的地址进行更新;
连接异常处理模块,用于在需要重新构建网络链路连接时,从缓存的连接时间中,选取最短连接时间对应的第二地址,与所述第二地址建立网络链路连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910138886.9A CN109660411B (zh) | 2019-02-25 | 2019-02-25 | 一种优化即时通信网络链路连接的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910138886.9A CN109660411B (zh) | 2019-02-25 | 2019-02-25 | 一种优化即时通信网络链路连接的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109660411A true CN109660411A (zh) | 2019-04-19 |
CN109660411B CN109660411B (zh) | 2022-03-01 |
Family
ID=66123642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910138886.9A Active CN109660411B (zh) | 2019-02-25 | 2019-02-25 | 一种优化即时通信网络链路连接的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109660411B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294385A (zh) * | 2020-01-02 | 2020-06-16 | 北京字节跳动网络技术有限公司 | 数据传输方法、装置、可读介质及电子设备 |
CN113613348A (zh) * | 2021-08-11 | 2021-11-05 | 北京达佳互联信息技术有限公司 | 连接建立方法、装置、电子设备、存储介质 |
CN113923195A (zh) * | 2021-09-30 | 2022-01-11 | 完美世界(北京)软件科技发展有限公司 | 即时通讯服务的调度系统和方法 |
CN115037781A (zh) * | 2022-06-01 | 2022-09-09 | 浙江宇视科技有限公司 | 设备连接方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340554A (zh) * | 2011-09-29 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种域名系统dns的最优应用服务器选取方法和装置 |
CN102546854A (zh) * | 2012-01-10 | 2012-07-04 | 上海西默通信技术有限公司 | 一种域名和服务器建立http连接的域名解析方法 |
CN103546590A (zh) * | 2013-10-18 | 2014-01-29 | 北京奇虎科技有限公司 | 一种dns服务器的选择方法与装置 |
CN103685603A (zh) * | 2013-12-19 | 2014-03-26 | 北京奇虎科技有限公司 | 域名系统解析方法及设备 |
CN103957283A (zh) * | 2011-09-29 | 2014-07-30 | 北京奇虎科技有限公司 | 一种域名系统dns的最优应用服务器选取方法和装置 |
CN104065761A (zh) * | 2011-09-29 | 2014-09-24 | 北京奇虎科技有限公司 | 应用服务器选取方法和网络连接方法 |
WO2018103400A1 (zh) * | 2016-12-07 | 2018-06-14 | 广东欧珀移动通信有限公司 | 无线保真Wi-Fi连接方法及相关产品 |
-
2019
- 2019-02-25 CN CN201910138886.9A patent/CN109660411B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102340554A (zh) * | 2011-09-29 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种域名系统dns的最优应用服务器选取方法和装置 |
CN103957283A (zh) * | 2011-09-29 | 2014-07-30 | 北京奇虎科技有限公司 | 一种域名系统dns的最优应用服务器选取方法和装置 |
CN104065761A (zh) * | 2011-09-29 | 2014-09-24 | 北京奇虎科技有限公司 | 应用服务器选取方法和网络连接方法 |
CN102546854A (zh) * | 2012-01-10 | 2012-07-04 | 上海西默通信技术有限公司 | 一种域名和服务器建立http连接的域名解析方法 |
CN103546590A (zh) * | 2013-10-18 | 2014-01-29 | 北京奇虎科技有限公司 | 一种dns服务器的选择方法与装置 |
CN103685603A (zh) * | 2013-12-19 | 2014-03-26 | 北京奇虎科技有限公司 | 域名系统解析方法及设备 |
WO2018103400A1 (zh) * | 2016-12-07 | 2018-06-14 | 广东欧珀移动通信有限公司 | 无线保真Wi-Fi连接方法及相关产品 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294385A (zh) * | 2020-01-02 | 2020-06-16 | 北京字节跳动网络技术有限公司 | 数据传输方法、装置、可读介质及电子设备 |
CN113613348A (zh) * | 2021-08-11 | 2021-11-05 | 北京达佳互联信息技术有限公司 | 连接建立方法、装置、电子设备、存储介质 |
CN113613348B (zh) * | 2021-08-11 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 连接建立方法、装置、电子设备、存储介质 |
CN113923195A (zh) * | 2021-09-30 | 2022-01-11 | 完美世界(北京)软件科技发展有限公司 | 即时通讯服务的调度系统和方法 |
CN115037781A (zh) * | 2022-06-01 | 2022-09-09 | 浙江宇视科技有限公司 | 设备连接方法、装置及电子设备 |
CN115037781B (zh) * | 2022-06-01 | 2024-02-02 | 浙江宇视科技有限公司 | 设备连接方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109660411B (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660411A (zh) | 一种优化即时通信网络链路连接的方法及装置 | |
CN103312549B (zh) | 一种事务管理方法及装置和系统 | |
CN106506253B (zh) | 一种基于tcp/ip通信协议的在线客户端数量的统计系统及方法 | |
CN108270860A (zh) | 环境质量在线监测数据的采集系统及方法 | |
CN105357246A (zh) | 基于信息中心网络的缓存方法和系统 | |
CN102708173A (zh) | 处理用户访问网页的请求的方法及系统 | |
CN102025595A (zh) | 流量优化方法及系统 | |
WO2017107463A1 (zh) | 一种分发cdn地址的方法及装置 | |
CN109699043A (zh) | 链路建立方法和装置 | |
CN103546771B (zh) | 一种基于智能终端的电视节目评论处理方法及系统 | |
CN106302230B (zh) | 一种数据传输方法及装置 | |
CN106131138A (zh) | 一种基于非阻塞队列的展示数据实时推送系统和方法 | |
CN105868251A (zh) | 一种缓存数据更新方法及装置 | |
CN106330610A (zh) | 一种负载均衡处理系统及方法 | |
CN109561054A (zh) | 一种数据传输方法、控制器及接入设备 | |
CN1906890B (zh) | 用于支持事务的方法和装置 | |
CN104144223A (zh) | 一种数据获取方法及装置 | |
CN109586937A (zh) | 一种缓存系统的运维方法、设备和存储介质 | |
CN102761438A (zh) | 一种网站统计在线用户人数的方法、服务器和系统 | |
CN104811505A (zh) | 基于云计算环境的客户端网络控制的方法及系统 | |
CN105338013B (zh) | 一种网络加载方法及装置 | |
CN104243473B (zh) | 一种数据传输的方法以及装置 | |
CN114490100A (zh) | 一种消息队列遥测传输负载均衡方法、装置及服务器 | |
CN103416027A (zh) | 缓存优化的方法、缓存器和缓存优化的系统 | |
CN111880932A (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 |