CN112202927A - 长连接建立方法、装置、计算机设备及存储介质 - Google Patents
长连接建立方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112202927A CN112202927A CN202011271155.0A CN202011271155A CN112202927A CN 112202927 A CN112202927 A CN 112202927A CN 202011271155 A CN202011271155 A CN 202011271155A CN 112202927 A CN112202927 A CN 112202927A
- Authority
- CN
- China
- Prior art keywords
- long connection
- task
- tasks
- target
- connection
- 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
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
- 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)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种长连接建立方法、装置、计算机设备及存储介质,该长连接建立方法包括获取目标连接请求,建立M个长连接任务,设置每个长连接任务的起始时间及超时时间段,其中,相邻两个长连接任务的起始时间之间间隔预设延时段,预设延时段小于超时时间段;基于M个长连接任务的起始时间,依次执行M个长连接任务;当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,则终止执行时间超过超时时间段的长连接任务;当任一长连接任务连接成功时,则终止所有正在进行的长连接任务。本技术方案能够提高长连接建立的效率,节省客户端的计算资源,提高客户端的计算资源利用率。
Description
技术领域
本发明涉及互联网应用领域,尤其涉及一种长连接建立方法、装置、计算机设备及存储介质。
背景技术
当客户端需要从目标服务器获取数据时,通常是基于客户端和目标服务器建立长连接,客户端通过长连接从目标服务器获取数据。现有技术通常是固定一组域名或目标服务器地址,客户端根据域名或目标服务器地址一个个尝试创建长连接,前一个目标服务器地址连接失败了以后再尝试新的目标服务器地址。
但是,当很多客户端都连接同一个目标服务器地址时,很容易使目标服务器负载超载并崩溃,而在前几个目标服务器地址不可用,或者网络不佳的时候,长连接的建立时间被拉得很长,并且会占用大量的计算资源。
发明内容
本发明实施例提供一种长连接建立方法、装置、计算机设备及存储介质,以解决客户端向目标服务器建立长连接耗时过长以及占用大量计算资源问题。
一种长连接建立方法,包括:
获取目标连接请求,建立M个长连接任务,设置每个所述长连接任务的起始时间及超时时间段,其中,相邻两个所述长连接任务的起始时间之间间隔预设延时段,所述预设延时段小于超时时间段;
基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务;
当每一所述长连接任务的执行时间超过所述长连接任务对应的超时时间段时,则终止执行时间超过所述超时时间段的长连接任务;
当任一所述长连接任务连接成功时,则终止所有正在进行的长连接任务。
进一步地,所述获取目标连接请求,建立M个长连接任务,包括:
获取目标连接请求,所述目标连接请求包括服务器地址列表,所述服务器地址列表包括M个目标服务器地址;
基于所述M个目标服务器地址,建立M个长连接任务。
进一步地,所述获取目标连接请求,建立M个长连接任务,还包括:
获取初始连接任务,所述初始连接任务包括目标服务器地址和任务类型;
若所述任务类型为延时长连接任务,采用延时任务处理工具,将所述目标服务器地址存储在所述服务器地址列表上;
每隔预设任务提交时间,生成延时提交信息,基于所述延时提交信息,获取所述目标连接请求,建立M个长连接任务。
进一步地,所述基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务,包括:
采用预设多线程池,对所述延时提交信息进行处理,确定所述目标服务器地址对应的长连接任务,其中,所述预设多线程池包括N个待处理线程;
从N个所述待处理线程中依次确定M个目标处理线程;
基于M个所述长连接任务的起始时间,依次采用M个所述目标处理线程,分别执行M个所述长连接任务。
进一步地,所述采用所述目标处理线程,依次执行所述目标服务器地址对应的长连接任务,包括:
依次向所述目标服务器地址发送长连接请求;
获取所述目标服务器地址对应的目标服务器发送的连接响应;
若在任一所述长连接任务对应的超时时间段内,未获取到所述目标服务器地址对应的目标服务器发送的连接响应,则终止执行时间超过所述超时时间段的长连接任务;
若在任一所述长连接任务对应的超时时间段内,获取到所述目标服务器地址对应的目标服务器发送的连接响应,则执行终止所有正在进行的长连接任务。
进一步地,所述长连接建立方法还包括:
在当每一所述长连接任务的执行时间超过所述长连接任务对应的超时时间段时,终止执行时间超过所述超时时间段的长连接任务之后,或者当任一所述长连接任务连接成功时,终止所有正在进行的长连接任务之后,释放所述目标处理线程。
进一步地,所述长连接建立方法还包括:
若M个所述长连接任务均未连接成功,则基于预设执行次数,执行所述基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务。
一种长连接建立装置,包括:
目标请求获取模块,用于获取目标连接请求,建立M个长连接任务,设置每个所述长连接任务的起始时间及超时时间段,其中,相邻两个所述长连接任务的起始时间之间间隔预设延时段,所述预设延时段小于超时时间段;
任务执行模块,用于基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务;
第一任务终止模块,用于当每一所述长连接任务的执行时间超过所述长连接任务对应的超时时间段时,则终止执行时间超过所述超时时间段的长连接任务;
第二任务终止模块,用于当任一所述长连接任务连接成功时,则终止所有正在进行的长连接任务。
进一步地,所述目标请求获取模块包括:
请求获取子模块,用于获取目标连接请求,所述目标连接请求包括服务器地址列表,所述服务器地址列表包括M个目标服务器地址;
任务建立子模块,用于基于所述M个目标服务器地址,建立M个长连接任务。
进一步地,所述目标请求获取模块还包括:
初始任务子模块,用于获取初始连接任务,所述初始连接任务包括目标服务器地址和任务类型;
延时工具子模块,用于若所述任务类型为延时长连接任务,采用延时任务处理工具,将所述目标服务器地址存储在所述服务器地址列表上;
延时信息子模块,用于每隔预设任务提交时间,生成延时提交信息,基于所述延时提交信息,获取所述目标连接请求,建立M个长连接任务。
进一步地,所述任务执行模块包括:
信息处理子模块,用于采用预设多线程池,对所述延时提交信息进行处理,确定所述目标服务器地址对应的长连接任务,其中,所述预设多线程池包括N个待处理线程;
线程确定子模块,用于从N个所述待处理线程中依次确定M个目标处理线程;
线程执行子模块,用于基于M个所述长连接任务的起始时间,依次采用M个所述目标处理线程,分别执行M个所述长连接任务。
进一步地,所述任务执行模块还包括:
请求发送子模块,用于依次向所述目标服务器地址发送长连接请求;
响应获取子模块,用于获取所述目标服务器地址对应的目标服务器发送的连接响应;
第一终止子模块,用于若在任一所述长连接任务对应的超时时间段内,未获取到所述目标服务器地址对应的目标服务器发送的连接响应,则终止执行时间超过所述超时时间段的长连接任务;
第二终止子模块,用于若在任一所述长连接任务对应的超时时间段内,获取到所述目标服务器地址对应的目标服务器发送的连接响应,则执行终止所有正在进行的长连接任务。
进一步地,所述长连接建立装置还包括:
线程释放子模块,用于在当每一所述长连接任务的执行时间超过所述长连接任务对应的超时时间段时,终止执行时间超过所述超时时间段的长连接任务之后,或者当任一所述长连接任务连接成功时,终止所有正在进行的长连接任务之后,释放所述目标处理线程。
进一步地,所述长连接建立装置还包括:
预设次数子模块,用于若M个所述长连接任务均未连接成功,则基于预设执行次数,执行所述基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述长连接建立方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述长连接建立方法。
上述长连接建立方法、装置、计算机设备及存储介质,客户端获取目标连接请求,基于目标连接请求建立M个长连接任务,设置每个长连接任务的起始时间及超时时间段,减少长连接任务的执行时间,提高长连接建立的效率;基于M个长连接任务的起始时间,依次执行M个长连接任务,当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,则终止执行时间超过超时时间段的长连接任务,当任一长连接任务连接成功时,则终止所有正在进行的长连接任务,能够节省客户端的计算资源,提高客户端的计算资源利用率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中长连接建立方法的一流程图;
图2是本发明一实施例中长连接建立方法的另一流程图;
图3是本发明一实施例中长连接建立方法的另一流程图;
图4是本发明一实施例中长连接建立方法的另一流程图;
图5是本发明一实施例中长连接建立方法的另一流程图;
图6是本发明一实施例中长连接建立装置的一示意图;
图7是本发明一实施例中长连接建立方法的一应用环境示意图;
图8是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的长连接建立方法,该长连接建立方法可应用如图7所示的应用环境中。具体地,该长连接建立方法应用在长连接建立系统中,该长连接建立系统包括如图X所示的客户端和服务器,客户端与服务器通过网络进行通信,用于实现长连接建立。其中,客户端又称为用户端,是指与服务器相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图1所示,提供一种长连接建立方法,以该方法应用在图X中的客户端为例进行说明,包括如下步骤:
S11:获取目标连接请求,建立M个长连接任务,设置每个长连接任务的起始时间及超时时间段,其中,相邻两个长连接任务的起始时间之间间隔预设延时段,预设延时段小于超时时间段。
其中,目标连接请求为指示客户端向目标服务器建立长连接的请求。长连接任务为客户端向目标服务器建立长连接的任务。起始时间为客户端开始执行长连接任务的时间。超时时间段为预先设置的长连接任务连接目标服务器超时的时间段。预设延时段为预先设置的相邻两个长连接任务的起始时间间隔的时间段。
具体地,客户端获取目标连接请求,基于目标连接请求建立M个长连接任务,设置每个长连接任务的起始时间及超时时间段。作为一示例,基于目标连接请求,建立M个长连接任务S1/S2/S3/.../Sm;设置每个长连接任务的起始时间T1/T2/T3/.../Tm;设置每个长连接任务的超时时间段为To;相邻的两个长连接任务的起始时间之间间隔预设延时段Td。例如,T1和T2间隔预设延时段Td,T2和T3间隔预设延时段Td,预设延时段Td小于超时时间段To。需要说明的是,相邻两个长连接任务的起始时间之间间隔为预设延时段Td,避免M个长连接任务同时执行占用计算资源;由于相邻两个长连接任务的起始时间之间间隔预设延时段Td,并且预设延时段Td小于超时时间段To,如此,不必在长连接任务的执行时间达到超时时间段To,才开始执行下一长连接任务,减少长连接任务的执行时间,提高长连接建立的效率。
S12:基于M个长连接任务的起始时间,依次执行M个长连接任务。
具体地,客户端基于M个长连接任务的起始时间,依次执行M个长连接任务,减少长连接任务的执行时间,提高长连接建立的效率。
作为一示例,M为个长连接任务S1/S2/S3/.../Sm,M个长连接任务的起始时间为T1/T2/T3/.../Tm,客户端在起始时间T1执行长连接任务S1,在起始时间T2执行长连接任务S2,直到起始时间Tm执行长连接任务Sm。由于M个长连接任务的起始时间T1/T2/T3/.../Tm之间间隔预设延时段Td,避免了同时执行长连接任务S1/S2/S3/.../Sm占用大量计算资源,提高计算资源的利用率;并且,客户端不必在长连接任务的执行时间达到超时时间段To,才开始执行下一长连接任务,减少长连接任务的执行时间,提高长连接建立的效率。
S13:当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,则终止执行时间超过超时时间段的长连接任务。
具体地,客户端当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,则终止执行时间超过超时时间段的长连接任务。
作为一示例,当长连接任务S1的执行时间t1超过长连接任务S1对应的超时时间段To时,也即是,执行时间t1大于超时时间段To时,则终止执行时间t1超过超时时间段To的长连接任务S1。
作为另一示例,当长连接任务Sm的执行时间tm超过长连接任务Sm对应的超时时间段To时,也即是,执行时间tm大于超时时间段To时,则终止执行时间tm超过超时时间段To的长连接任务Sm。
可以理解地,当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,则终止执行时间超过超时时间段的长连接任务,能够节省客户端的计算资源,提高客户端的计算资源利用率。
S14:当任一长连接任务连接成功时,则终止所有正在进行的长连接任务。
具体地,客户端在任一长连接任务连接成功时,则终止所有正在进行的长连接任务。
作为一示例,在当前时刻Tn,长连接任务S3连接成功。此时,长连接任务S1的执行时间为t1,长连接任务S2的执行时间为t2,长连接任务S3的执行时间为t3,执行时间t1、执行时间t2和执行时间t3均小于超时时间段To,由于,长连接任务S3连接成功,则终止正在进行的长连接任务S1和长连接任务S2,能够节省客户端的计算资源,提高客户端的计算资源利用率。
在本实施例中,客户端获取目标连接请求,基于目标连接请求建立M个长连接任务,设置每个长连接任务的起始时间及超时时间段,减少长连接任务的执行时间,提高长连接建立的效率;基于M个长连接任务的起始时间,依次执行M个长连接任务,当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,则终止执行时间超过超时时间段的长连接任务,当任一长连接任务连接成功时,则终止所有正在进行的长连接任务,能够节省客户端的计算资源,提高客户端的计算资源利用率。
在一实施例中,如图2所示,步骤S11中,获取目标连接请求,建立M个长连接任务,包括:
S21:获取目标连接请求,目标连接请求包括服务器地址列表,服务器地址列表包括M个目标服务器地址。
S22:基于M个目标服务器地址,建立M个长连接任务。
其中,服务器地址列表为用于存储目标服务器地址的列表。目标服务器地址为目标服务器对应的地址。
具体地,客户端获取目标连接请求后,由于目标连接请求包括服务器地址列表,服务器地址列表中包括M个目标服务器地址,客户端能够根据M个目标服务器地址,向M个目标服务器建立长连接任务,以使客户端能够依次尝试对M个目标服务器建立长连接。
本实施例中,客户端获取目标连接请求后,向M个目标服务器建立长连接任务,以使客户端能够依次尝试对M个目标服务器建立长连接,提高客户端与目标服务器建立长连接的成功率。
在一实施例中,如图3所示,获取目标连接请求,建立M个长连接任务,还包括:
S31:获取初始连接任务,初始连接任务包括目标服务器地址和任务类型。
S32:若任务类型为延时长连接任务,采用延时任务处理工具,将目标服务器地址存储在服务器地址列表上。
S33:每隔预设任务提交时间,生成延时提交信息,基于延时提交信息,获取目标连接请求,建立M个长连接任务。
其中,初始连接任务为用于连接目标服务器的任务。任务类型为连接目标服务器的任务类型。例如,任务类型包括延时长连接任务和短连接任务。延时长连接任务为对目标服务器延时建立长连接的任务。短连接任务为对目标服务器建立短连接的任务。需要说明的是,在本实施例中,若任务类型为短连接任务时,直接对目标服务器地址对应的目标服务器建立短连接。延时任务处理工具为能够获取初始连接任务的工具。例如,Handler工具,主要用于将目标服务器地址进行延时提交。延时提交信息为指示客户端执行目标服务器地址对应的长连接任务的信息。预设任务提交时间为生成延时提交信息的间隔时间。
作为一示例,当客户端获取初始连接任务,判断初始连接任务的任务类型;当任务类型为延时长连接任务时,采用Handler工具将初始连接任务中的目标服务器地址存储在服务器地址列表上;每隔预设任务提交时间,基于服务器地址列表中的目标服务器地址,生成延时提交信息,最后,基于延时提交信息,获取目标连接请求,建立M个长连接任务。可以理解地,每隔预设任务提交时间,基于服务器地址列表中的目标服务器地址,生成延时提交信息,基于延时提交信息,获取目标连接请求,建立M个长连接任务,能够避免同时建立M个长连接任务,能够节省客户端的计算资源,提高客户端的计算资源利用率。
在本实施例中,客户端获取初始连接任务,初始连接任务包括目标服务器地址和任务类型,当任务类型为延时长连接任务,采用延时任务处理工具,将目标服务器地址存储在服务器地址列表上,每隔预设任务提交时间,生成延时提交信息,基于延时提交信息,获取目标连接请求,建立M个长连接任务,能够节省客户端的计算资源,提高客户端的计算资源利用率。
在一实施例中,如图4所示,步骤S33中,基于M个长连接任务的起始时间,依次执行M个长连接任务,包括:
S41:采用预设多线程池,对延时提交信息进行处理,确定目标服务器地址对应的长连接任务,其中,预设多线程池包括N个待处理线程。
S42:从N个待处理线程中依次确定M个目标处理线程。
S43:基于M个长连接任务的起始时间,依次采用M个目标处理线程,分别执行M个长连接任务。
其中,预设多线程池为能够进行多线程执行长连接任务的工具。待处理线程为处理空闲状态的多线程。目标处理线程为用于处理目标服务器地址对应的长连接任务的线程。
作为一示例,客户端采用预设多线程池,确定延时提交信息中的目标服务器地址,以及连接目标服务器地址对应的长连接任务。
作为一示例,客户端采用预设多线程池,确定目标服务器地址对应的长连接任务为S1/S2/S3/.../Sm,从N个待处理线程中依次确定处于空闲状态的M个目标处理线程P1/P2/P3/.../Pm,基于M个长连接任务的起始时间T1/T2/T3/.../Tm,依次采用目标处理线程P1/P2/P3/.../Pm分别执行目标服务器地址对应的长连接任务S1/S2/S3/.../Sm。
在本实施例中,客户端采用预设多线程池,对延时提交信息进行处理,确定目标服务器地址对应的长连接任务,从N个待处理线程中依次确定M个目标处理线程,基于M个长连接任务的起始时间,依次采用目标处理线程,分别执行目标服务器地址对应的长连接任务,避免同时执行长连接任务,能够节省客户端的待处理线程,提高客户端的待处理线程利用率。
在一实施例中,如图5所示,步骤S43中,基于M个长连接任务的起始时间,依次执行M个长连接任务还包括:
S51:依次向目标服务器地址发送长连接请求。
S52:获取目标服务器地址对应的目标服务器发送的连接响应。
S53:若在任一长连接任务对应的超时时间段内,未获取到目标服务器地址对应的目标服务器发送的连接响应,则终止执行时间超过超时时间段的长连接任务。
S54:若在任一长连接任务对应的超时时间段内,获取到目标服务器地址对应的目标服务器发送的连接响应,则执行终止所有正在进行的长连接任务。
其中,长连接请求为向终端地址对应的目标服务器发起长连接的请求。连接响应为目标服务器对长连接请求的响应。
作为一示例,客户端采用目标处理线程,向目标服务器地址发送长连接请求,并获取目标服务器地址对应的目标服务器发送的连接响应;若在任一长连接任务对应的超时时间段内,未获取到目标服务器地址对应的目标服务器发送的连接响应,则终止执行时间超过超时时间段的长连接任务,也就是终止执行时间超过超时时间段的长连接任务对应的目标处理线程,将目标处理线程变更为处于空闲状态的待处理线程。
作为另一示例,若在任一长连接任务对应的超时时间段内,获取到目标服务器地址对应的目标服务器发送的连接响应,则执行终止所有正在进行的长连接任务,也就是终止所有正在执行的目标处理线程。
在本实施例中,客户端采用目标处理线程,向目标服务器地址发送长连接请求,并获取目标服务器地址对应的目标服务器发送的连接响应,当未获取目标服务器发送的连接响应,终止执行时间超过超时时间段的长连接任务对应的目标处理线程,当获取目标服务器发送的连接响应,终止所有正在执行的目标处理线程,能够节省客户端的待处理线程,提高客户端的待处理线程利用率。
在一实施例中,长连接建立方法还包括:在当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,终止执行时间超过超时时间段的长连接任务之后,或者当任一长连接任务连接成功时,终止所有正在进行的长连接任务之后,释放目标处理线程。
作为一示例,客户端在执行步骤S13,或者步骤S14之后,也即是,当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,终止执行时间超过超时时间段的长连接任务之后,或者当任一长连接任务连接成功时,终止所有正在进行的长连接任务之后,为了减少客户端的计算资源,将执行时间超过超时时间段的长连接任务的目标处理线程释放,也就是将目标处理线程变更为处于空闲状态的待处理线程;或者,当任一长连接任务连接成功时,终止所有正在执行长连接任务的目标处理线程,变更为处于空闲状态的待处理线程。
在本实施例中,客户端在当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,终止执行时间超过超时时间段的长连接任务之后,或者当任一长连接任务连接成功时,终止所有正在进行的长连接任务之后,释放目标处理线程,为了减少客户端的计算资源,提高长连接建立过程中的计算资源利用率。
在一实施例中,长连接建立方法还包括:若M个长连接任务均未连接成功,则基于预设执行次数,执行基于M个长连接任务的起始时间,依次执行M个长连接任务。
作为一示例,当M个长连接任务均未连接成功时,客户端根据预设执行次数,重复执行步骤S12,也即是,根据预设执行次数,重复执行基于M个长连接任务的起始时间,依次执行M个长连接任务,避免因为网络的原因,导致的长连接任务连接失败。
在本实施例中,当M个长连接任务均未连接成功时,客户端根据预设执行次数根据预设执行次数,重复执行基于M个长连接任务的起始时间,依次执行M个长连接任务,避免因为网络的原因,导致的长连接任务连接失败,提高长连接建立过程中的可靠性。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种长连接建立装置,该长连接建立装置与上述实施例中长连接建立方法一一对应。如图6所示,该长连接建立装置包括目标请求获取模块10、任务执行模块20、第一任务终止模块30和第二任务终止模块40。各功能模块详细说明如下:
目标请求获取模块10,用于获取目标连接请求,建立M个长连接任务,设置每个长连接任务的起始时间及超时时间段,其中,相邻两个长连接任务的起始时间之间间隔预设延时段,预设延时段小于超时时间段;
任务执行模块20,用于基于M个长连接任务的起始时间,依次执行M个长连接任务;
第一任务终止模块30,用于当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,则终止执行时间超过超时时间段的长连接任务;
第二任务终止模块40,用于当任一长连接任务连接成功时,则终止所有正在进行的长连接任务。
进一步地,目标请求获取模块10包括:
请求获取子模块,用于获取目标连接请求,目标连接请求包括服务器地址列表,服务器地址列表包括M个目标服务器地址;
任务建立子模块,用于基于M个目标服务器地址,建立M个长连接任务。
进一步地,目标请求获取模块10还包括:
初始任务子模块,用于获取初始连接任务,初始连接任务包括目标服务器地址和任务类型;
延时工具子模块,用于若任务类型为延时长连接任务,采用延时任务处理工具,将目标服务器地址存储在服务器地址列表上;
延时信息子模块,用于每隔预设任务提交时间,生成延时提交信息,基于延时提交信息,获取目标连接请求,建立M个长连接任务。
进一步地,任务执行模块20包括:
信息处理子模块,用于采用预设多线程池,对延时提交信息进行处理,确定目标服务器地址对应的长连接任务,其中,预设多线程池包括N个待处理线程;
线程确定子模块,用于从N个待处理线程中依次确定M个目标处理线程;
线程执行子模块,用于基于M个长连接任务的起始时间,依次采用M个目标处理线程,分别执行M个长连接任务。
进一步地,任务执行模块20还包括:
请求发送子模块,用于依次向目标服务器地址发送长连接请求;
响应获取子模块,用于获取目标服务器地址对应的目标服务器发送的连接响应;
第一终止子模块,用于若在任一长连接任务对应的超时时间段内,未获取到目标服务器地址对应的目标服务器发送的连接响应,则终止执行时间超过超时时间段的长连接任务;
第二终止子模块,用于若在任一长连接任务对应的超时时间段内,获取到目标服务器地址对应的目标服务器发送的连接响应,则执行终止所有正在进行的长连接任务。
进一步地,长连接建立装置还包括:
线程释放子模块,用于在当每一长连接任务的执行时间超过长连接任务对应的超时时间段时,终止执行时间超过超时时间段的长连接任务之后,或者当任一长连接任务连接成功时,终止所有正在进行的长连接任务之后,释放目标处理线程。
进一步地,长连接建立装置还包括:
预设次数子模块,用于若M个长连接任务均未连接成功,则基于预设执行次数,执行基于M个长连接任务的起始时间,依次执行M个长连接任务。
关于长连接建立装置的具体限定可以参见上文中对于长连接建立方法的限定,在此不再赘述。上述长连接建立装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于长连接建立。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种长连接建立方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中长连接建立方法,例如步骤S11至步骤S14,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现长连接建立装置这一实施例中的各模块/单元的功能,例如模块10至模块40,为避免重复,这里不再赘述。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中长连接建立方法,例如骤S11至步骤S14,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述长连接建立装置这一实施例中的各模块/单元的功能,例如模块10至模块40,,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种长连接建立方法,其特征在于,包括:
获取目标连接请求,建立M个长连接任务,设置每个所述长连接任务的起始时间及超时时间段,其中,相邻两个所述长连接任务的起始时间之间间隔预设延时段,所述预设延时段小于超时时间段;
基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务;
当每一所述长连接任务的执行时间超过所述长连接任务对应的超时时间段时,则终止执行时间超过所述超时时间段的长连接任务;
当任一所述长连接任务连接成功时,则终止所有正在进行的长连接任务。
2.如权利要求1所述的长连接建立方法,其特征在于,所述获取目标连接请求,建立M个长连接任务,包括:
获取目标连接请求,所述目标连接请求包括服务器地址列表,所述服务器地址列表包括M个目标服务器地址;
基于所述M个目标服务器地址,建立M个长连接任务。
3.如权利要求1所述的长连接建立方法,其特征在于,所述获取目标连接请求,建立M个长连接任务,还包括:
获取初始连接任务,所述初始连接任务包括目标服务器地址和任务类型;
若所述任务类型为延时长连接任务,采用延时任务处理工具,将所述目标服务器地址存储在所述服务器地址列表上;
每隔预设任务提交时间,生成延时提交信息,基于所述延时提交信息,获取所述目标连接请求,建立M个长连接任务。
4.如权利要求3所述的长连接建立方法,其特征在于,所述基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务,包括:
采用预设多线程池,对所述延时提交信息进行处理,确定所述目标服务器地址对应的长连接任务,其中,所述预设多线程池包括N个待处理线程;
从N个所述待处理线程中依次确定M个目标处理线程;
基于M个所述长连接任务的起始时间,依次采用M个所述目标处理线程,分别执行M个所述长连接任务。
5.如权利要求4所述的长连接建立方法,其特征在于,所述基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务还包括:
依次向所述目标服务器地址发送长连接请求;
获取所述目标服务器地址对应的目标服务器发送的连接响应;
若在任一所述长连接任务对应的超时时间段内,未获取到所述目标服务器地址对应的目标服务器发送的连接响应,则终止执行时间超过所述超时时间段的长连接任务;
若在任一所述长连接任务对应的超时时间段内,获取到所述目标服务器地址对应的目标服务器发送的连接响应,则执行终止所有正在进行的长连接任务。
6.如权利要求1所述的长连接建立方法,其特征在于,所述长连接建立方法还包括:
在当每一所述长连接任务的执行时间超过所述长连接任务对应的超时时间段时,终止执行时间超过所述超时时间段的长连接任务之后,或者当任一所述长连接任务连接成功时,终止所有正在进行的长连接任务之后,释放所述目标处理线程。
7.如权利要求1所述的长连接建立方法,其特征在于,所述长连接建立方法还包括:
若M个所述长连接任务均未连接成功,则基于预设执行次数,执行所述基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务。
8.一种长连接建立装置,其特征在于,包括:
目标请求获取模块,用于获取目标连接请求,建立M个长连接任务,设置每个所述长连接任务的起始时间及超时时间段,其中,相邻两个所述长连接任务的起始时间之间间隔预设延时段,所述预设延时段小于超时时间段;
任务执行模块,用于基于M个所述长连接任务的起始时间,依次执行所述M个长连接任务;
第一任务终止模块,用于当每一所述长连接任务的执行时间超过所述长连接任务对应的超时时间段时,则终止执行时间超过所述超时时间段的长连接任务;
第二任务终止模块,用于当任一所述长连接任务连接成功时,则终止所有正在进行的长连接任务。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述长连接建立方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述长连接建立方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011271155.0A CN112202927B (zh) | 2020-11-13 | 2020-11-13 | 长连接建立方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011271155.0A CN112202927B (zh) | 2020-11-13 | 2020-11-13 | 长连接建立方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112202927A true CN112202927A (zh) | 2021-01-08 |
CN112202927B CN112202927B (zh) | 2023-01-10 |
Family
ID=74033487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011271155.0A Active CN112202927B (zh) | 2020-11-13 | 2020-11-13 | 长连接建立方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112202927B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113613348A (zh) * | 2021-08-11 | 2021-11-05 | 北京达佳互联信息技术有限公司 | 连接建立方法、装置、电子设备、存储介质 |
CN115550467A (zh) * | 2022-08-31 | 2022-12-30 | 上海金铎禹辰水环境工程有限公司 | 远程终端连接方法、装置、设备及存储介质 |
CN117112550A (zh) * | 2023-10-24 | 2023-11-24 | 广东中思拓大数据研究院有限公司 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694775A (zh) * | 2011-03-23 | 2012-09-26 | 南京信通科技有限责任公司 | 一种基于异步通讯方式的校园信息机终端验证方法 |
GB201418447D0 (en) * | 2014-10-17 | 2014-12-03 | Ibm | Reconnection of a client to a server in a transaction processing server cluster |
CN109617972A (zh) * | 2018-12-17 | 2019-04-12 | 新华三技术有限公司 | 一种连接建立方法、装置、电子设备及存储介质 |
-
2020
- 2020-11-13 CN CN202011271155.0A patent/CN112202927B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694775A (zh) * | 2011-03-23 | 2012-09-26 | 南京信通科技有限责任公司 | 一种基于异步通讯方式的校园信息机终端验证方法 |
GB201418447D0 (en) * | 2014-10-17 | 2014-12-03 | Ibm | Reconnection of a client to a server in a transaction processing server cluster |
CN109617972A (zh) * | 2018-12-17 | 2019-04-12 | 新华三技术有限公司 | 一种连接建立方法、装置、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
李长江等: "一种解决IPTV机顶盒长连接性能问题的方案和应用", 《广东通信技术》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113613348A (zh) * | 2021-08-11 | 2021-11-05 | 北京达佳互联信息技术有限公司 | 连接建立方法、装置、电子设备、存储介质 |
CN113613348B (zh) * | 2021-08-11 | 2023-08-29 | 北京达佳互联信息技术有限公司 | 连接建立方法、装置、电子设备、存储介质 |
CN115550467A (zh) * | 2022-08-31 | 2022-12-30 | 上海金铎禹辰水环境工程有限公司 | 远程终端连接方法、装置、设备及存储介质 |
CN117112550A (zh) * | 2023-10-24 | 2023-11-24 | 广东中思拓大数据研究院有限公司 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
CN117112550B (zh) * | 2023-10-24 | 2024-02-27 | 广东中思拓大数据研究院有限公司 | 数据清洗方法、数据清洗装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112202927B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112202927B (zh) | 长连接建立方法、装置、计算机设备及存储介质 | |
CN112099958A (zh) | 分布式多任务管理方法、装置、计算机设备及存储介质 | |
WO2020140683A1 (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
CN110489447B (zh) | 数据查询方法、装置、计算机设备和存储介质 | |
WO2019075980A1 (zh) | 一种线程的调整方法及其终端 | |
EP3306866B1 (en) | Message processing method, device and system | |
CN108446172B (zh) | 数据调取方法、装置、计算机设备和存储介质 | |
CN112612618B (zh) | 接口限流方法、装置、计算机设备和存储介质 | |
CN110995617B (zh) | 基于mqtt的数据报送方法、装置、计算机设备和存储介质 | |
CN109918187B (zh) | 任务调度方法、装置、设备和存储介质 | |
CN110943934A (zh) | 服务请求处理方法、系统、终端及可读存储介质 | |
CN112153143A (zh) | Kubernetes集群的流量调度方法、装置及电子设备 | |
CN110768873A (zh) | 分布式心跳检测方法、系统、装置和计算机设备 | |
WO2020173126A1 (zh) | 基于区块链的会话数据处理方法、装置、设备及介质 | |
CN112685669A (zh) | 一种页面渲染方法以及系统 | |
CN110727509A (zh) | 任务调度方法、装置、计算机设备和存储介质 | |
EP3672203A1 (en) | Distribution method for distributed data computing, device, server and storage medium | |
CN113515056A (zh) | 功能的执行方法及智能家电 | |
CN110049350B (zh) | 视频转码处理方法、装置、计算机设备和存储介质 | |
CN111782447A (zh) | 基于ssh服务的批量测试更新方法、装置和计算机设备 | |
CN113098706B (zh) | 一种基于云端的vpn服务器切换方法、装置及存储介质 | |
CN110933514A (zh) | 视频质量控制方法、装置及计算机设备 | |
CN111064636B (zh) | 前置机连接的控制方法、装置、系统、计算机设备 | |
CN112395057A (zh) | 基于定时任务的数据处理方法、装置、计算机设备 | |
CN110430090A (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 |