CN116760878B - 一种网络连接和传输的处理方法、装置、设备及介质 - Google Patents
一种网络连接和传输的处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116760878B CN116760878B CN202311050896.XA CN202311050896A CN116760878B CN 116760878 B CN116760878 B CN 116760878B CN 202311050896 A CN202311050896 A CN 202311050896A CN 116760878 B CN116760878 B CN 116760878B
- Authority
- CN
- China
- Prior art keywords
- link
- connection
- server
- target
- client
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 94
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000004891 communication Methods 0.000 claims abstract description 142
- 238000012545 processing Methods 0.000 claims abstract description 43
- 238000000034 method Methods 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000005070 sampling Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 3
- 230000001939 inductive effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/148—Migration or transfer of sessions
-
- 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/14—Multichannel or multilink protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
Abstract
本申请涉及数字信息的传输领域,特别是涉及一种网络连接和传输的处理方法、装置、设备及介质。该方法包括:在客户端与服务端之间建立若干条网络通信链路;选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路;若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路;在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输。本发明能够提高客户端和服务端之间数据传输的稳定性及安全性。
Description
技术领域
本发明涉及数字信息的传输领域,特别是涉及一种网络连接和传输的处理方法、装置、设备及介质。
背景技术
在网络波动的情况下,客户端与服务端之间的通信链路可能出现链路失效的情况,影响客户端与服务端之间数据的传输。如何提高客户端与服务端之间数据传输的稳定性,是亟待解决的问题。
发明内容
本发明目的在于,提供一种网络连接和传输的处理方法、装置、设备及介质,以提高客户端和服务端之间数据传输的稳定性。
根据本发明的第一方面,提供了一种网络连接和传输的处理方法,包括以下步骤:
在客户端与服务端之间建立若干条网络通信链路。
选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路。
若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路,所述关联链路为所述若干条网络通信链路中除所述目标链路以外的其他网络通信链路。
在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输。
进一步的,目标链路的错误计数的获取方法包括:
获取第一类错误出现的次数;所述第一类错误包括发送失败、接受失败和接受中断。
获取第二类错误出现的次数;所述第二类错误包括连接失败和网络错误。
获取成功收发数据的次数。
根据所述第一类错误出现的次数、第二类错误出现的次数和成功收发数据的次数,得到目标链路的错误计数。
进一步的,将当前通信链路由目标链路切换为任一关联链路包括:
获取拟切换的关联链路的信息。
将拟切换的关联链路作为当前通信链路,同时结束目标链路对应的链路进程。
进一步的,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输包括:
选择任一连接为目标连接,将目标连接对应的数据转Socket协议后转发到监听服务固定端口。
为目标连接选择预设协议中的其中一种协议进行协议层面的包裹处理,所述包裹处理包括加密处理。
通过选择的协议将目标连接对应的包裹处理后的数据发送到服务端的与所述选择的协议对应的端口,以使服务端将接收的目标连接对应的包裹处理后的数据进行解密处理后进行转发代理。
进一步的,在客户端与服务端之间有数据需要传输之前,在客户端与服务端之间建立若干条网络通信链路。
根据本发明的第二方面,提供了一种网络连接和传输的处理装置,所述装置包括:
第一建立模块,用于在客户端与服务端之间建立若干条网络通信链路。
第一选择模块,用于选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路。
第一判断模块,用于若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路,所述关联链路为所述若干条网络通信链路中除所述目标链路以外的其他网络通信链路。
第一传输模块,在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输。
进一步的,所述第一判断模块还包括:
第一获取模块,用于获取第一类错误出现的次数;所述第一类错误包括发送失败、接受失败和接受中断。
第二获取模块,用于获取第二类错误出现的次数;所述第二类错误包括连接失败和网络错误。
第三获取模块,用于获取成功收发数据的次数。
第一计算模块,用于根据所述第一类错误出现的次数、第二类错误出现的次数和成功收发数据的次数,得到目标链路的错误计数。
进一步的,所述第一判断模块还包括:
第四获取模块,用于获取拟切换的关联链路的信息。
第一切换模块,用于将拟切换的关联链路作为当前通信链路,同时结束目标链路对应的链路进程。
进一步的,第一传输模块包括:
第一转发模块,用于选择任一连接为目标连接,将目标连接对应的数据转Socket协议后转发到监听服务固定端口。
第一处理模块,用于为目标连接选择预设协议中的其中一种协议进行协议层面的包裹处理,所述包裹处理包括加密处理。
第一发送模块,用于通过选择的协议将目标连接对应的包裹处理后的数据发送到服务端的与所述选择的协议对应的端口,以使服务端将接收的目标连接对应的包裹处理后的数据进行解密处理后进行转发代理。
进一步的,所述第一建立模块用于在客户端与服务端之间有数据需要传输之前,在客户端与服务端之间建立若干条网络通信链路。
根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的网络连接和传输的处理方法。
根据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的网络连接和传输的处理方法。
本发明与现有技术相比至少具有以下有益效果:
本发明中在客户端与服务端之间建立了若干条网络通信链路,先将其中一条网络通信链路(即目标链路)作为当前通信链路;本发明获取了目标链路对应的错误计数,当目标链路对应的错误计数达到预设计数阈值时,将当前通信链路由目标链路切换为上述若干条网络链路中的非目标链路(即关联链路),由此,本发明实现了在当前通信链路的错误计数较多情况下的链路切换,提高了客户端与服务端之间数据传输的稳定性。而且,本发明在进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元,将客户端与服务端之间的数据拆分为各连接对应的数据,并为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输,由此,不同连接对应的协议存在差异,客户端与服务端之间的数据对应的是多种协议,在通信上更安全,不容易还原出客户端与服务端之间传输的所有数据,能够提高客户端与服务端之间数据传输的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的网络连接和传输的处理方法的流程图;
图2为本发明实施例一提供的目标链路的错误计数的获取方法的流程图;
图3为本发明实施例一提供的当前通信链路由目标链路切换为任一关联链路的步骤的流程图;
图4为本发明实施例一提供的为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输的步骤的流程图;
图5为本发明实施例二提供的网络连接和传输的处理装置的示意图;
图6为本发明实施例二提供的第一判断模块的示意图;
图7为本发明实施例二提供的第一传输模块的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
如图1所示,本实施例提供了一种网络连接和传输的处理方法,包括以下步骤:
S100,在客户端与服务端之间建立若干条网络通信链路。
本实施例采用预先建立机制,在客户端与服务端之间有数据需要传输之前,在客户端与服务端之间建立若干条网络通信链路;相较于现有的在有数据需要传输时再在客户端与服务端之间建立网络通信链路而言,采用预先建立机制能够极大减少数据传输所需的时间。
具体的,本实施例在客户端与服务端之间建立40条网络通信链路,1条网络通信链路可稳定70个连接。
S200,选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路。
S300,若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路,所述关联链路为所述若干条网络通信链路中除所述目标链路以外的其他网络通信链路。
在网络波动的情况下,可能会出现目标链路失效的情况;本实施例获取了目标链路的错误计数,当目标链路的错误计数超过计数阈值时,判定目标链路失效,将当前通信链路由目标链路切换为其他关联链路,实现自动无感切换链路。
当目标链路失效时,目标链路中建立的连接也会失效,在这种情况下,暂时缓存发送数据,并在当前通信链路由目标链路切换为任一关联链路后,自动建立新的连接,实现无感替换断的连接。
具体的,如图2所示,目标链路的错误计数的获取方法包括:
S310,获取第一类错误出现的次数;所述第一类错误包括发送失败、接受失败和接受中断。
本实施例中将发送失败、接受失败和接受中断这样的错误归属为第一类错误,通过将发送失败的次数、接受失败的次数和接受中断的次数相加,本实施例获取了第一类错误出现的次数,记为N1。
S320,获取第二类错误出现的次数;所述第二类错误包括连接失败和网络错误。
本实施例将连接失败和网络错误这样的错误归属为第二类错误,通过将连接失败的次数和网络错误的次数相加,本实施例获取了第二类错误出现的次数,记为N2。
S330,获取成功收发数据的次数。
本实施例将成功收发数据的次数记为N3。
S340,根据所述第一类错误出现的次数、第二类错误出现的次数和成功收发数据的次数,得到目标链路的错误计数。
本实施例根据第一类错误出现的次数N1、第二类错误出现的次数N2以及成功收发数据的次数N3来得到目标链路的错误计数,具体的,本实施例目标链路的错误计数N=N1+k1×N2-N3,k1>1,k1为预设的第一系数。
可选的,k1为经验值,例如,k1=3。
优选的,k1满足以下条件:k1=ceil(T0×N0/T1),T1为用户对链路故障的可容忍等待时间,T0为预设的采样周期,N0为预设计数阈值,ceil( )为向上取整。当k1满足上述条件时,能够及时发现目标链路失效并在用户对链路故障的可容忍等待时间内进行链路切换,提高用户满意度。
可选的,预设计数阈值N0为经验值,例如N0=70。
具体的,如图3所示,将当前通信链路由目标链路切换为任一关联链路包括:
S350,获取拟切换的关联链路的信息。
本实施例中在客户端与服务端之间建立若干条网络通信链路,除目标链路以外,还有多条关联链路,本实施例将从多条关联链路中随机选择一条作为拟切换的关联链路。可选的,为在客户端与服务端之间建立若干条网络通信链路分配对应的ID,每一ID用于唯一表征一条通信链路,其中i条网络通信链路对应的ID为i,i的取值范围为1到Q,Q为在客户端与服务端之间建立的网络通信链路的数量;若目标链路的错误计数超过预设计数阈值,则将关联通信网络对应的ID中与目标链路ID最接近的ID对应的网络通信链路作为拟切换的关联链路。
S360,将拟切换的关联链路作为当前通信链路,同时结束目标链路对应的链路进程。
本实施例将拟切换的关联链路作为当前通信链路与结束目标链路对应的链路进程同时进行,可以避免链路切换的窗口期,而且本实施例采用golang的进程回收机制,使得现有连接会保留一定内存回收的等待时间,从而实现了新老链路的无缝切换,同时避免了已有连接的中断。
S400,在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输。
本实施例中连接是指tcp/udp连接,例如,每发一个网络请求都会建立连接。
具体的,如图4所示,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输包括:
S410,选择任一连接为目标连接,将目标连接对应的数据转Socket协议后转发到监听服务固定端口。
S420,为目标连接选择预设协议中的其中一种协议进行协议层面的包裹处理,所述包裹处理包括加密处理。
本实施例对待传输的数据进行了加密处理,无明文传输,提高了数据传输的安全性。
具体的,预设协议为TLS协议、QUIC协议和KCP协议。
本领域技术人员知悉,现有技术中任何的协议都落入本发明的保护范围。
S430,通过选择的协议将目标连接对应的包裹处理后的数据发送到服务端的与所述选择的协议对应的端口,以使服务端将接收的目标连接对应的包裹处理后的数据进行解密处理后进行转发代理。
本实施例中在客户端和服务端实现了两套DNS服务,客户端的DNS服务用于劫持本地DNS流量并处理,服务端的DNS服务用于处理DNS的查询、转发和缓存;而且,当客户端对DNS包处理后,会从已有的连接中选择一条或多条连接,然后设置自定义的DNS头,并利用加密的上述选择的一条或多条连接发送到服务端,提高了安全性。
本实施例中在客户端与服务端之间建立了若干条网络通信链路,先将其中一条网络通信链路(即目标链路)作为当前通信链路;本发明获取了目标链路对应的错误计数,当目标链路对应的错误计数达到预设计数阈值时,将当前通信链路由目标链路切换为上述若干条网络链路中的非目标链路(即关联链路),由此,本发明实现了在当前通信链路的错误计数较多情况下的链路切换,提高了客户端与服务端之间数据传输的稳定性。而且,本发明在进行客户端与服务端之间的数据传输时,以当前通信链路对应的每一连接为一个最小拆分单元,将客户端与服务端之间的数据拆分为各连接对应的数据,并为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输,由此,不同连接对应的协议存在差异,客户端与服务端之间的数据对应的是多种协议,在通信上更安全,不容易还原出客户端与服务端之间传输的所有数据,能够提高客户端与服务端之间数据传输的安全性。
实施例二
如图5所示,本实施例提供了一种网络连接和传输的处理装置,包括:
第一建立模块100,用于在客户端与服务端之间建立若干条网络通信链路。
本实施例采用预先建立机制,在客户端与服务端之间有数据需要传输之前,在客户端与服务端之间建立若干条网络通信链路;相较于现有的在有数据需要传输时再在客户端与服务端之间建立网络通信链路而言,采用预先建立机制能够极大减少数据传输所需的时间。
具体的,本实施例在客户端与服务端之间建立40条网络通信链路,1条网络通信链路可稳定70个连接。
第一选择模块200,用于选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路。
第一判断模块300,用于若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路,所述关联链路为所述若干条网络通信链路中除所述目标链路以外的其他网络通信链路。
在网络波动的情况下,可能会出现目标链路失效的情况;本实施例获取了目标链路的错误计数,当目标链路的错误计数超过计数阈值时,判定目标链路失效,将当前通信链路由目标链路切换为其他关联链路,实现自动无感切换链路。
当目标链路失效时,目标链路中建立的连接也会失效,在这种情况下,暂时缓存发送数据,并在当前通信链路由目标链路切换为任一关联链路后,自动建立新的连接,实现无感替换断的连接。
如图6所示,第一判断模块300包括:
第一获取模块310,用于获取第一类错误出现的次数;所述第一类错误包括发送失败、接受失败和接受中断。
本实施例中将发送失败、接受失败和接受中断这样的错误归属为第一类错误,通过将发送失败的次数、接受失败的次数和接受中断的次数相加,本实施例获取了第一类错误出现的次数,记为N1。
第二获取模块320,用于获取第二类错误出现的次数;所述第二类错误包括连接失败和网络错误。
本实施例将连接失败和网络错误这样的错误归属为第二类错误,通过将连接失败的次数和网络错误的次数相加,本实施例获取了第二类错误出现的次数,记为N2。
第三获取模块330,用于获取成功收发数据的次数。
本实施例将成功收发数据的次数记为N3。
第一计算模块340,用于根据所述第一类错误出现的次数、第二类错误出现的次数和成功收发数据的次数,得到目标链路的错误计数。
本实施例根据第一类错误出现的次数N1、第二类错误出现的次数N2以及成功收发数据的次数N3来得到目标链路的错误计数,具体的,本实施例目标链路的错误计数N=N1+k1×N2-N3,k1>1,k1为预设的第一系数。
可选的,k1为经验值,例如,k1=3。
优选的,k1满足以下条件:k1=ceil(T0×N0/T1),T1为用户对链路故障的可容忍等待时间,T0为预设的采样周期,N0为预设计数阈值,ceil( )为向上取整。当k1满足上述条件时,能够及时发现目标链路失效并在用户对链路故障的可容忍等待时间内进行链路切换,提高用户满意度。
可选的,预设计数阈值N0为经验值,例如N0=70。
第四获取模块350,用于获取拟切换的关联链路的信息。
本实施例中在客户端与服务端之间建立若干条网络通信链路,除目标链路以外,还有多条关联链路,本实施例将从多条关联链路中随机选择一条作为拟切换的关联链路。可选的,为在客户端与服务端之间建立若干条网络通信链路分配对应的ID,每一ID用于唯一表征一条通信链路,其中i条网络通信链路对应的ID为i,i的取值范围为1到Q,Q为在客户端与服务端之间建立的网络通信链路的数量;若目标链路的错误计数超过预设计数阈值,则将关联通信网络对应的ID中与目标链路ID最接近的ID对应的网络通信链路作为拟切换的关联链路。
第一切换模块360,用于将拟切换的关联链路作为当前通信链路,同时结束目标链路对应的链路进程。
本实施例将拟切换的关联链路作为当前通信链路与结束目标链路对应的链路进程同时进行,可以避免链路切换的窗口期,而且本实施例采用golang的进程回收机制,使得现有连接会保留一定内存回收的等待时间,从而实现了新老链路的无缝切换,同时避免了已有连接的中断。
第一传输模块400,用于在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输。
本实施例中连接是指tcp/udp连接,例如,每发一个网络请求都会建立连接。
如图7所示,第一传输模块400包括:
第一转发模块410,用于选择任一连接为目标连接,将目标连接对应的数据转Socket协议后转发到监听服务固定端口。
第一处理模块420,用于为目标连接选择预设协议中的其中一种协议进行协议层面的包裹处理,所述包裹处理包括加密处理。
本实施例对待传输的数据进行了加密处理,无明文传输,提高了数据传输的安全性。
具体的,预设协议为TLS协议、QUIC协议和KCP协议。
本领域技术人员知悉,现有技术中任何的协议都落入本发明的保护范围。
第一发送模块430,用于通过选择的协议将目标连接对应的包裹处理后的数据发送到服务端的与所述选择的协议对应的端口,以使服务端将接收的目标连接对应的包裹处理后的数据进行解密处理后进行转发代理。
本实施例中在客户端和服务端实现了两套DNS服务,客户端的DNS服务用于劫持本地DNS流量并处理,服务端的DNS服务用于处理DNS的查询、转发和缓存;而且,当客户端对DNS包处理后,会从已有的连接中选择一条或多条连接,然后设置自定义的DNS头,并利用加密的上述选择的一条或多条连接发送到服务端,提高了安全性。
本实施例中在客户端与服务端之间建立了若干条网络通信链路,先将其中一条网络通信链路(即目标链路)作为当前通信链路;本发明获取了目标链路对应的错误计数,当目标链路对应的错误计数达到预设计数阈值时,将当前通信链路由目标链路切换为上述若干条网络链路中的非目标链路(即关联链路),由此,本发明实现了在当前通信链路的错误计数较多情况下的链路切换,提高了客户端与服务端之间数据传输的稳定性。而且,本发明在进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元,将客户端与服务端之间的数据拆分为各连接对应的数据,并为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输,由此,不同连接对应的协议存在差异,客户端与服务端之间的数据对应的是多种协议,在通信上更安全,不容易还原出客户端与服务端之间传输的所有数据,能够提高客户端与服务端之间数据传输的安全性。
实施例三
本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
在客户端与服务端之间建立若干条网络通信链路。
选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路。
若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路,所述关联链路为所述若干条网络通信链路中除所述目标链路以外的其他网络通信链路。
在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输。
实施例四
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
在客户端与服务端之间建立若干条网络通信链路。
选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路。
若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路,所述关联链路为所述若干条网络通信链路中除所述目标链路以外的其他网络通信链路。
在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (8)
1.一种网络连接和传输的处理方法,其特征在于,包括以下步骤:
在客户端与服务端之间建立若干条网络通信链路;
选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路;
若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路,所述关联链路为所述若干条网络通信链路中除所述目标链路以外的其他网络通信链路;
在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输;所述连接是指tcp/udp连接,每发一个网络请求都会建立连接;
目标链路的错误计数的获取方法包括:
获取第一类错误出现的次数N1;所述第一类错误包括发送失败、接受失败和接受中断;
获取第二类错误出现的次数N2;所述第二类错误包括连接失败和网络错误;
获取成功收发数据的次数N3;
根据所述第一类错误出现的次数N1、第二类错误出现的次数N2和成功收发数据的次数N3,得到目标链路的错误计数N,N=N1+k1×N2-N3,k1>1,k1为预设的第一系数,k1=ceil(T0×N0/T1),T1为用户对链路故障的可容忍等待时间,T0为预设的采样周期,N0为预设计数阈值,ceil( )为向上取整;
为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输包括:
选择任一连接为目标连接,将目标连接对应的数据转Socket协议后转发到监听服务固定端口;
为目标连接选择预设协议中的其中一种协议进行协议层面的包裹处理,所述包裹处理包括加密处理;
通过选择的协议将目标连接对应的包裹处理后的数据发送到服务端的与所述选择的协议对应的端口,以使服务端将接收的目标连接对应的包裹处理后的数据进行解密处理后进行转发代理。
2.根据权利要求1所述的网络连接和传输的处理方法,其特征在于,将当前通信链路由目标链路切换为任一关联链路包括:
获取拟切换的关联链路的信息;
将拟切换的关联链路作为当前通信链路,同时结束目标链路对应的链路进程。
3.根据权利要求1所述的网络连接和传输的处理方法,其特征在于,在客户端与服务端之间有数据需要传输之前,在客户端与服务端之间建立若干条网络通信链路。
4.一种网络连接和传输的处理装置,其特征在于,所述装置包括:
第一建立模块,用于在客户端与服务端之间建立若干条网络通信链路;
第一选择模块,用于选择所述若干条网络通信链路中的某一网络通信链路为目标链路,将目标链路作为客户端与服务端之间的当前通信链路;
第一判断模块,用于若目标链路的错误计数超过预设计数阈值,则将当前通信链路由目标链路切换为任一关联链路,所述关联链路为所述若干条网络通信链路中除所述目标链路以外的其他网络通信链路;
第一传输模块,在使用当前通信链路进行客户端与服务端之间的数据传输时,以当前通信链路中建立的每一连接为一个最小拆分单元对客户端与服务端之间的数据进行拆分,为每一连接对应的数据随机选择预设协议中的其中一种协议进行数据传输;所述连接是指tcp/udp连接,每发一个网络请求都会建立连接;
所述第一判断模块包括:
第一获取模块,用于获取第一类错误出现的次数N1;所述第一类错误包括发送失败、接受失败和接受中断;
第二获取模块,用于获取第二类错误出现的次数N2;所述第二类错误包括连接失败和网络错误;
第三获取模块,用于获取成功收发数据的次数N3;
第一计算模块,用于根据所述第一类错误出现的次数N1、第二类错误出现的次数N2和成功收发数据的次数N3,得到目标链路的错误计数N,N=N1+k1×N2-N3,k1>1,k1为预设的第一系数,k1=ceil(T0×N0/T1),T1为用户对链路故障的可容忍等待时间,T0为预设的采样周期,N0为预设计数阈值,ceil( )为向上取整;
第一传输模块包括:
第一转发模块,用于选择任一连接为目标连接,将目标连接对应的数据转Socket协议后转发到监听服务固定端口;
第一处理模块,用于为目标连接选择预设协议中的其中一种协议进行协议层面的包裹处理,所述包裹处理包括加密处理;
第一发送模块,用于通过选择的协议将目标连接对应的包裹处理后的数据发送到服务端的与所述选择的协议对应的端口,以使服务端将接收的目标连接对应的包裹处理后的数据进行解密处理后进行转发代理。
5.根据权利要求4所述的网络连接和传输的处理装置,其特征在于,所述第一判断模块包括:
第四获取模块,用于获取拟切换的关联链路的信息;
第一切换模块,用于将拟切换的关联链路作为当前通信链路,同时结束目标链路对应的链路进程。
6.根据权利要求4所述的网络连接和传输的处理装置,其特征在于,所述第一建立模块用于在客户端与服务端之间有数据需要传输之前,在客户端与服务端之间建立若干条网络通信链路。
7.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至3中任意一项所述的网络连接和传输的处理方法。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任意一项所述的网络连接和传输的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311050896.XA CN116760878B (zh) | 2023-08-21 | 2023-08-21 | 一种网络连接和传输的处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311050896.XA CN116760878B (zh) | 2023-08-21 | 2023-08-21 | 一种网络连接和传输的处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116760878A CN116760878A (zh) | 2023-09-15 |
CN116760878B true CN116760878B (zh) | 2023-12-01 |
Family
ID=87950087
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311050896.XA Active CN116760878B (zh) | 2023-08-21 | 2023-08-21 | 一种网络连接和传输的处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116760878B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454982A (zh) * | 2016-10-19 | 2017-02-22 | 北京交通大学 | 一种无线通信网络中的链路切换方法及系统 |
CN107040445A (zh) * | 2017-03-13 | 2017-08-11 | 安徽新华博信息技术股份有限公司 | 一种多跳vpn隧道的实现方法 |
CN108075934A (zh) * | 2016-11-15 | 2018-05-25 | 腾讯科技(深圳)有限公司 | 一种网络质量监控方法、装置及系统 |
CN111414208A (zh) * | 2020-03-13 | 2020-07-14 | 百度在线网络技术(北京)有限公司 | 应用程序的启动方法、装置及设备 |
CN111478974A (zh) * | 2020-04-27 | 2020-07-31 | 奇安信科技集团股份有限公司 | 网络连接方法及装置、电子设备和可读存储介质 |
CN111669285A (zh) * | 2020-05-08 | 2020-09-15 | 广州微算互联信息技术有限公司 | 一种网络检测数据的处理方法、系统和存储介质 |
CN112398943A (zh) * | 2020-11-13 | 2021-02-23 | Oppo广东移动通信有限公司 | 信息互通方法、装置、存储介质及电子设备 |
CN116250324A (zh) * | 2020-09-30 | 2023-06-09 | 华为技术有限公司 | 一种通信方法、装置及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9537899B2 (en) * | 2012-02-29 | 2017-01-03 | Microsoft Technology Licensing, Llc | Dynamic selection of security protocol |
CN111436067B (zh) * | 2019-03-25 | 2022-04-22 | 维沃移动通信有限公司 | 小区连接失败的处理方法、终端设备和网络侧设备 |
-
2023
- 2023-08-21 CN CN202311050896.XA patent/CN116760878B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106454982A (zh) * | 2016-10-19 | 2017-02-22 | 北京交通大学 | 一种无线通信网络中的链路切换方法及系统 |
CN108075934A (zh) * | 2016-11-15 | 2018-05-25 | 腾讯科技(深圳)有限公司 | 一种网络质量监控方法、装置及系统 |
CN107040445A (zh) * | 2017-03-13 | 2017-08-11 | 安徽新华博信息技术股份有限公司 | 一种多跳vpn隧道的实现方法 |
CN111414208A (zh) * | 2020-03-13 | 2020-07-14 | 百度在线网络技术(北京)有限公司 | 应用程序的启动方法、装置及设备 |
CN111478974A (zh) * | 2020-04-27 | 2020-07-31 | 奇安信科技集团股份有限公司 | 网络连接方法及装置、电子设备和可读存储介质 |
CN111669285A (zh) * | 2020-05-08 | 2020-09-15 | 广州微算互联信息技术有限公司 | 一种网络检测数据的处理方法、系统和存储介质 |
CN116250324A (zh) * | 2020-09-30 | 2023-06-09 | 华为技术有限公司 | 一种通信方法、装置及计算机可读存储介质 |
CN112398943A (zh) * | 2020-11-13 | 2021-02-23 | Oppo广东移动通信有限公司 | 信息互通方法、装置、存储介质及电子设备 |
Non-Patent Citations (3)
Title |
---|
apos ; PFS) draft-ietf-emu-aka-pfs-02.IETF .2019,全文. * |
J. Arkko ; K. Norrman ; V. Torvinen ; Ericsson ; .Perfect-Forward Secrecy for the Extensible Authentication Protocol Method for Authentication and Key Agreement (EAP-AKA amp * |
基于Asub接口数据对CSD链路异常问题的研究;常根;中国设备工程;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116760878A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3162020B1 (en) | System and method for optimizing tunneled traffic | |
US10681127B2 (en) | File upload method and system | |
US8908503B2 (en) | Method and apparatus of performing a multi-channel data transmission | |
US9565162B2 (en) | One-way transmission and reception with delayed TCP ACK message and monitoring for UDP and TCP frames | |
EP3493587B1 (en) | Apparatus and method for data delivery in delay-tolerant network (dtn) | |
WO2015088860A1 (en) | Redundant encoding | |
CN101778295B (zh) | 一种视频监控系统及其前向纠错的方法 | |
US20180183694A1 (en) | Latency measurer | |
JP2006277570A (ja) | 負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法 | |
US20080118043A1 (en) | Call Control Apparatus and Method for Controlling Call Control Apparatus | |
CN111064742B (zh) | 一种基于网络代理实现内网访问的方法、装置及相关设备 | |
CN116760878B (zh) | 一种网络连接和传输的处理方法、装置、设备及介质 | |
US8762449B2 (en) | Method of downloading large size data to a large number of networked client machines from a single server | |
CN111163017B (zh) | 数据传输方法、装置、基站设备和计算机可读存储介质 | |
WO2011150688A1 (zh) | 预付费业务计费方法和系统 | |
WO2014032553A1 (zh) | 一种网络资源管理方法、装置、客户端及系统 | |
CN108574615B (zh) | 一种基于多路径mptcp的内容传输方法、设备及系统 | |
CN113872949B (zh) | 一种地址解析协议的应答方法及相关装置 | |
US20070223667A1 (en) | Service request apparatus and service request process method | |
CN113055535A (zh) | 用于生成5g端到端话单的方法和系统 | |
JP4893464B2 (ja) | コネクション強制解放装置、コネクション強制解放方法及びコネクション強制解放プログラム | |
KR101561315B1 (ko) | 스트리밍된 미디어 세션을 설정하기 위한 방법 및 장치 | |
CN114338479B (zh) | 通讯方法、装置和系统 | |
US20230179656A1 (en) | Method for synchronising data of a database, computer programme, device for processing data, and mobile terminal therefor | |
CN105897450B (zh) | 用于进行Diameter连接管理的方法和装置 |
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 |