CN111756674A - 网络通信方法、系统、设备及计算机可读存储介质 - Google Patents
网络通信方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111756674A CN111756674A CN201910243785.8A CN201910243785A CN111756674A CN 111756674 A CN111756674 A CN 111756674A CN 201910243785 A CN201910243785 A CN 201910243785A CN 111756674 A CN111756674 A CN 111756674A
- Authority
- CN
- China
- Prior art keywords
- quic
- domain name
- target server
- connection
- uniform resource
- 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
- 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/165—Combined use of TCP and UDP protocols; selection criteria therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
- 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/164—Adaptation or special uses of UDP protocol
-
- 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/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
-
- 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/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种网络通信方法,该网络通信方法包括:根据统一资源标识符判断是否选择QUIC传输协议;如果选择所述QUIC传输协议,则与目标服务器建立基于所述QUIC传输协议的QUIC连接。本申请实施例还提供了一种网络通信系统、一种计算机设备及一种计算机可读存储介质。本实施例提供的技术方案,可以直接通过QUIC传输协议与目标服务器建立网络连接,从而避免计算机设备首次访问目标服务器时的网络时延。
Description
技术领域
本申请实施例涉及网络通信技术领域,尤其涉及一种网络通信方法、系统、设备及计算机可读存储介质。
背景技术
建立在TCP基础之上的HTTP协议是互联网上应用最为广泛的一种网络协议,用于将超文本标记语言(HTML)文档从服务器传送到计算机设备。然而,随着图像,视频和其他多媒体内容的增加,增加的多媒体内容意味着HTML页面变得越来越复杂,使得页面加载时间比以往任何时候都要长。在上述背景下,谷歌制定了QUIC(QUIC UDP InternetConnections)传输协议,其是一种基于UDP的低时延的互联网传输层协议,具有很多的优点,比如减少连接延迟、避免队头阻塞、多路复用等。
基于QUIC传输协议的诸多优点,服务器开始逐步支持QUIC传输协议。但更多服务器暂时还不支持QUIC传输协议,在这种情况下,计算机设备如何选择传输协议成了亟待解决的问题之一。本发明人目前所了解的解决方案是:当计算机设备首次与服务器通信时,先与服务器建立TCP连接,并在该次TCP连接过程中确定服务器是否支持QUIC传输协议;如果确定服务器支持QUIC传输协议的情况下,再次与服务器通信时,则基于QUIC传输协议与服务器建立网络连接。
然而,本发明人发现上述解决方案至少存在如下缺陷:不能直接通过QUIC传输协议与服务器之间建立网络连接,从而造成计算机设备首次访问服务器时的网络时延。
发明内容
本申请实施例的目的是提供一种网络通信方法、系统、计算机设备及计算机可读存储介质,用于解决现有技术中不能直接通过QUIC传输协议与服务器之间建立网络连接,从而造成计算机设备首次访问服务器时的网络时延的缺陷。
本申请实施例的一个方面提供了一种网络通信方法,所述网络通信方法包括:根据统一资源标识符判断是否选择QUIC传输协议;如果选择所述QUIC传输协议,则与目标服务器建立基于所述QUIC传输协议的QUIC连接。
优选地,所述根据统一资源标识符判断是否选择QUIC传输协议,包括:判断所述统一资源标识符中是否包括QUIC标识信息,所述QUIC标识信息用于表示所述目标服务器支持所述QUIC传输协议;如果所述统一资源标识符中包括所述QUIC标识信息,则选择所述QUIC传输协议。
优选地,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:如果所述统一资源标识符中不包括所述QUIC标识信息,则选择其他传输协议。
优选地,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:如果所述统一资源标识符中不包括所述QUIC标识信息:查询所述统一资源标识符中的目标服务器域名是否在域名白名单中;如果所述目标服务器域名在所述域名白名单中,则选择所述QUIC传输协议。
优选地,所述如果所述目标服务器域名在所述域名白名单中,则选择所述QUIC传输协议,包括:根据所述统一资源标识符生成备用统一资源标识符,所述备用统一资源标识符中包括所述QUIC标识信息;基于所述备用统一资源标识符,与所述目标服务器建立所述QUIC连接。
优选地,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:如果所述目标服务器域名不在所述域名白名单中,则选择其他传输协议。
优选地,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:如果所述目标服务器域名不在所述域名白名单中,则选择所述QUIC传输协议和所述其他传输协议。
优选地,所述网络通信方法还包括:与所述目标服务器建立基于所述QUIC传输协议的所述QUIC连接,以及与所述目标服务器建立基于所述其他传输协议的其他网络连接;选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。
优选地,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,包括:检测与所述目标服务器的网络连接状态,所述网络连接状态包括所述QUIC连接的QUIC连接状态和所述其他网络连接的其他网络连接状态;根据所述网络连接状态,判断所述QUIC连接是否建立成功,以及所述其他网络连接是否建立成功;如果所述QUIC连接建立成功且所述其他网络连接建立失败,则通过所述QUIC连接进行数据传输操作;如果所述QUIC连接建立失败且所述其他网络连接建立成功,则通过所述其他网络连接进行数据传输操作。
优选地,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,还包括:如果所述QUIC连接建立成功且所述其他网络连接建立成功:根据预先配置的传输协议优先级,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作;其中,所述传输协议优先级用于表示所述QUIC传输协议和所述其他传输协议之间的优先使用级别。
优选地,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,还包括:如果所述QUIC连接建立成功且所述其他网络连接建立成功:获取用于表示网络传输质量的网络连接参数,所述网络连接参数包括所述QUIC连接的QUIC连接参数以及所述其他网络连接的其他网络连接参数;根据所述网络连接参数,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。
优选地,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:如果所述目标服务器域名在所述域名白名单中,判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单;其中,所述域名名单包括域名白名单,所述域名白名单包括支持QUIC传输协议的多个服务器域名。
优选地,所述域名白名单还包括:各个服务器域名关联的QUIC服务器参数,所述QUIC服务器参数包括各个服务器支持的QUIC传输协议的协议版本。
优选地,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,包括:向所述目标服务器发送异步访问请求,所述异步访问请求用于请求与所述目标服务器建立基于所述QUIC传输协议的测试网络连接;判断所述测试网络连接是否建立成功;如果所述测试网络连接建立成功,则将所述目标服务器域名更新至所述域名白名单中。
优选地,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,还包括:如果所述测试网络连接建立失败,则查询所述目标服务器域名是否在所述域名白名单中;如果所述目标服务器域名在所述域名白名单中,则在所述域名白名单中删除所述目标服务器域名。
优选地,所述域名名单还包括域名黑名单,所述域名黑名单包括不支持QUIC传输协议的多个服务器域名;所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,还包括:如果所述测试网络连接建立失败,将所述目标服务器域名更新到域名黑名单中。
优选地,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,包括:接收所述目标服务器反馈的QUIC参数;根据所述QUIC参数,判断是否可以与所述目标服务器建立所述QUIC连接;如果可以与所述目标服务器建立所述QUIC连接,则将所述目标服务器域名更新至所述域名白名单中。
优选地,所述QUIC标识信息为所述统一资源标识符中的HTTP Scheme,所述HTTPScheme为在“HTTP”后添加一个或多个字符。
优选地,所述QUIC标识信息为预设字符串,该预设字符串位于所述统一资源标识符的查询字符串参数中。
本申请实施例的另一个方面还提供了一种网络通信系统,所述网络通信系统包括:选择模块,用于根据统一资源标识符判断是否选择QUIC传输协议;网络连接模块,用于如果选择所述QUIC传输协议,则与目标服务器建立基于所述QUIC传输协议的QUIC连接。
本申请实施例的再一个方面提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上任一项所述的网络通信方法的步骤。
本申请实施例的又一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上任一项所述的网络通信方法的步骤。
本申请实施例提供的网络通信方法、系统、设备及计算机可读存储介质,根据统一资源标识符,选择是否与目标服务器建立基于QUIC传输协议的QUIC连接,例如,在统一资源标识符中标识了目标服务器支持QUIC传输协议的情况下,直接通过QUIC传输协议与目标服务器建立网络连接,从而避免计算机设备首次访问目标服务器时的网络时延。
附图说明
图1示意性示出了根据本申请实施例一的网络通信方法的流程图;
图2示意性示出了根据本申请实施例一的网络通信方法在某个使用场景下的流程图;
图3示意性示出了根据本申请实施例二的网络通信方法的流程图;
图4示意性示出了根据本申请实施例三的网络通信方法的流程图;
图5示意性示出了根据本申请实施例四的网络通信方法的流程图;
图6示意性示出了根据本申请实施例五的网络通信方法的流程图;
图7为图6中步骤S612的具体流程图;
图8为图6中步骤S612的另一具体流程图;
图9为图6中步骤S612的另一具体流程图;
图10示意性示出了根据本申请实施例六的网络通信方法的流程图;
图11示意性示出了根据本申请实施例七的网络通信系统的框图;以及
图12示意性示出了根据本申请实施例八的适于实现网络通信方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请实施例进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请实施例,并不用于限定本申请实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
图1示意性示出了根据本申请实施例一的网络通信方法的流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述。
如图1所示,该网络通信方法可以包括步骤S100~S102,其中:
步骤S100,根据统一资源标识符(URI,Uniform Resource Identifier)判断是否选择QUIC传输协议。
在示例性的实施例中,所述步骤S100可以包括以下步骤:
判断所述统一资源标识符中是否包括QUIC标识信息,所述QUIC标识信息用于表示所述目标服务器支持所述QUIC传输协议;如果所述统一资源标识符中包括所述QUIC标识信息,则选择所述QUIC传输协议。
在示例性的实施例中,所述QUIC标识信息可以为所述统一资源标识符中的HTTPScheme,所述HTTP Scheme为在“HTTP”后添加一个或多个字符。
举例而言,如果所述计算机设备被提供以下格式的URI:httpq://hostname[:port]/path/[;parameters][?query]#fragment,基于所述URI的HTTP Scheme为“httpq”,则可以选择所述QUIC传输协议。HTTP Scheme不限于“httpq”,也可以是除“https”之外的“httpw”、“httpz”等。
以上示例性实施例并不用于限制本发明,所述HTTP Scheme还可以为“QUIC”、“iQUIC”、“gQUIC”等。
在示例性的实施例中,所述QUIC标识信息可以为预设字符串,该预设字符串位于所述统一资源标识符的查询字符串参数中。
举例而言,如果所述计算机设备被提供以下格式的URI:http://hostname[: port]/path/[;parameters][?query]#fragment,且query中被设置有“isquic”等用于表示支持QUIC传输协议的预设字符串,则可以选择所述QUIC传输协议。所述预设字符串不限于“isquic”,也可以是其他多个字符组成的字符串。
以上示例性实施例并不用于限制本发明,所述预设字符串还可以位于parameters中,或URI的其他位置处。
步骤S102,如果选择所述QUIC传输协议,则与目标服务器建立基于所述QUIC传输协议的QUIC连接。
图2提供了本实施例在某个使用场景下的使用流程图,该使用场景包括计算机设备和目标服务器,计算机设备中安装有浏览器程序。所述使用流程图在于揭示:计算机设备通过浏览器程序首次访问目标服务器的Web页面的示例性流程。具体如下。
步骤S200,响应于用户操作行为,浏览器生成目标服务器的访问请求消息,访问请求为基于HTTP协议的HTTP请求消息;
HTTP请求消息包括:请求的方法(GET或POST)、URL、协议版本、请求头部和请求数据;
步骤S202,判断访问请求消息的URL中是否包括QUIC标识信息;
如:URL中的URL Scheme为“httpq”;
步骤S204,如果访问请求消息的URL中包括QUIC标识信息,则将访问请求消息发送到计算机设备的QUIC协议栈中;
步骤S206,经由QUIC协议栈将访问请求消息封装为一个或多个QUIC请求数据包;
步骤S208,与目标服务器建立QUIC连接;
步骤S210,通过步骤S208建立的QUIC连接,将一个或多个QUIC请求数据包传输至目标服务器中;
步骤S212,目标服务器接收一个或多个QUIC请求数据包,基于一个或多个QUIC请求数据包生成一个或多个QUIC响应数据包;
步骤S214,目标服务器将一个或多个QUIC响应数据包发送至计算机设备的QUIC协议栈中;
步骤S216,通过QUIC协议栈解析一个或多个QUIC响应数据包,以得到解析后的一个或多个HTTP响应消息;
步骤S218,通过QUIC协议栈将一个或多个HTTP响应消息发送至浏览器中;
步骤S220,通过浏览器显示目标服务器的Web页面。
可知,实施例一所述的网络通信方法,基于统一资源标识符,来选择是否与目标服务器建立基于QUIC传输协议的QUIC连接,例如,在统一资源标识符中标识了所述目标服务器支持QUIC传输协议的情况下,直接通过QUIC传输协议与目标服务器建立所述QUIC连接,从而避免计算机设备首次访问目标服务器时的网络时延。
实施例二
图3示意性示出了根据本申请实施例二的网络通信方法的流程图。该网络通信方法可以包括步骤S300~S310,其中:
步骤S300,判断统一资源标识符中是否包括QUIC标识信息。如果是,进入步骤S302;否则,进入步骤S306。
其中,所述QUIC标识信息用于表示统一资源标识符中的目标服务器域名对应的目标服务器支持QUIC传输协议。
步骤S302,选择所述QUIC传输协议;
步骤S304,与目标服务器建立基于所述QUIC传输协议的QUIC连接。
步骤S306,选择所述其他传输协议。
其中,所述其他传输协议可以是TCP(Transmission Control Protocol)、UDP传输协议等。在对数据完整性要求较高的情况下,所述其他传输协议优选TCP传输协议。
步骤S308,与目标服务器建立基于所述其他传输协议的其他网络连接。
在示例性的实施例中,如果所述统一资源标识符中不包括所述QUIC标识信息,可以判断是否根据所述统一资源标识符中的目标服务器域名更新预先配置的域名名单,并根据判断结果确定是否将所述目标服务器域名更新到所述域名名单中;其中,所述域名名单包括域名白名单,所述域名白名单包括支持QUIC传输协议的多个服务器域名。
在示例性的实施例中,如果所述统一资源标识符中不包括所述QUIC标识信息,则可以拒绝响应基于所述统一资源标识符的数据传输请求,不选择任何传输协议。
实施例三
图4示意性示出了根据本申请实施例三的网络通信方法的流程图。该网络通信方法可以包括步骤S400~S410,其中:
步骤S400,判断统一资源标识符中是否包括QUIC标识信息。如果是,进入步骤S402;否则,进入步骤S406。
其中,所述QUIC标识信息用于表示统一资源标识符中的目标服务器域名对应的目标服务器支持QUIC传输协议。
步骤S402,选择所述QUIC传输协议。
步骤S404,与目标服务器建立基于所述QUIC传输协议的QUIC连接。
示例性的实施例中,在所述统一资源标识符中包括QUIC标识信息的情况下,通过所述统一资源标识符与所述目标服务器建立基于所述QUIC传输协议的QUIC连接。
示例性的实施例中,在所述统一资源标识符中不包括QUIC标识信息的情况下,可以通过以下步骤建立所述QUIC连接:(1)根据所述统一资源标识符生成备用统一资源标识符,所述备用统一资源标识符中包括所述QUIC标识信息;(2)基于所述备用统一资源标识符,与所述目标服务器建立所述QUIC连接。
举例而言:https://test.domain.com/index.html,如果上述URL中没有QUIC标识信息,则将“https://test.domain.com/index.html”转换为“httpq://test.domain.com/index.html”;通过“httpq://test.domain.com/index.html”与所述目标服务器建立所述QUIC连接。
步骤S406,查询所述统一资源标识符中的目标服务器域名是否在域名白名单中。如果是,进入步骤S402;否则,进入步骤S408。
所述域名白名单包括支持QUIC传输协议的多个服务器域名,所述域名白名单可以被预先配置,并根据计算机设备的访问记录被同步更新。
步骤S408,选择所述其他传输协议。
其中,所述其他传输协议可以是TCP(Transmission Control Protocol)、UDP传输协议等。在对数据完整性要求较高的情况下,所述其他传输协议优选TCP传输协议。
步骤S410,与目标服务器建立基于所述其他传输协议的其他网络连接。
可知,实施例三所述的网络通信方法,在实施例一的基础上通过统一资源标识符中是否包括QUIC标识信息和所述统一资源标识符中的目标服务器域名,来确定是否直接通过QUIC传输协议与目标服务器建立网络连接,从而避免计算机设备首次访问目标服务器时的网络时延。
实施例四
图5示意性示出了根据本申请实施例四的网络通信方法的流程图。该网络通信方法可以包括步骤S500~S512,其中:
步骤S500,判断统一资源标识符中是否包括QUIC标识信息。如果是,进入步骤S502;否则,进入步骤S506。
其中,所述QUIC标识信息用于表示统一资源标识符中的目标服务器域名对应的目标服务器支持QUIC传输协议。
步骤S502,选择所述QUIC传输协议。
步骤S504,与目标服务器建立基于所述QUIC传输协议的QUIC连接。
步骤S506,查询所述统一资源标识符中的目标服务器域名是否在域名白名单中。如果是,进入步骤S502;否则,进入步骤S508。
所述域名白名单包括支持QUIC传输协议的多个服务器域名,所述域名白名单可以被预先配置,并根据计算机设备的访问记录被同步更新。
步骤S508,选择所述QUIC传输协议和所述其他传输协议。
步骤S510,与目标服务器建立基于所述QUIC传输协议的所述QUIC连接,以及与目标服务器建立基于所述其他传输协议的其他网络连接。
举例而言:https://test.domain.com/index.html,如果上述URL中没有QUIC标识信息,则将“https://test.domain.com/index.html”转换为“httpq://test.domain.com/index.html”,通过“httpq://test.domain.com/index.html”与所述目标服务器建立所述QUIC连接;并通过“https://test.domain.com/index.html”与所述目标服务器建立所述其他网络连接。
步骤S512,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。
在示例性的实施例中,所述步骤S512可以包括以下步骤S512A~S512F:
步骤S512A,检测与所述目标服务器的网络连接状态,所述网络连接状态包括所述QUIC连接的QUIC连接状态和所述其他网络连接的其他网络连接状态。
步骤S512B,根据所述网络连接状态,判断所述QUIC连接是否建立成功,以及所述其他网络连接是被建立成功。
具体的,通过所述QUIC连接状态判断所述QUIC连接是否建立成功,以及通过所述其他网络连接状态判断所述其他网络连接是否建立成功。
步骤S512C,如果所述QUIC连接建立成功且所述其他网络连接建立失败,则通过所述QUIC连接进行数据传输操作。
步骤S512D,如果所述QUIC连接建立失败且所述其他网络连接建立成功,则通过所述其他网络连接进行数据传输操作。
步骤S512E,如果所述QUIC连接建立成功且所述其他网络连接建立成功,则通过以下几种策略选择所述QUIC连接或其他网络连接进行数据传输操作:
策略一:根据预先配置的传输协议优先级,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。其中,所述传输协议优先级用于表示所述QUIC传输协议和所述其他传输协议之间的优先使用级别。示例性的,所述QUIC传输协议的优先级可以高于所述其他传输协议的优先级。
策略二:获取用于表示网络传输质量的网络连接参数,所述网络连接参数包括所述QUIC连接的QUIC连接参数以及所述其他网络连接的其他网络连接参数;根据所述网络连接参数,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。
所述网络连接参数可以是表示传输效率、性能指标等方面的参数,如首帧时间、卡顿率等。不难理解,从理论上来说,如果基于QUIC传输协议和其他传输协议(TCP)同时与所述目标服务器建立通信连接,由于QUIC传输协议具有多路复用及低等待时延等优势,基于QUIC传输协议的QUIC连接通常更加容易被用于执行数据传输操作。
需说明的是,上述实施例五也可以通过“测试网络连接”或“QUIC参数”,来更新所述域名白名单或域名黑名单。
可知,实施例四所述的网络通信方法,在实施例一的基础上,当统一资源标识符中不包括QUIC标识信息时,分别基于QUIC传输协议和其他传输协议与所述目标服务器建立网络连接,提升了访问效率,且避免了所述目标服务器仅支持QUIC传输协议而不支持其他传输协议(如TCP)的情况下,仅基于其他传输协议建立网络连接导致的连接失败事件。
实施例五
图6示意性示出了根据本申请实施例五的网络通信方法的流程图。该网络通信方法可以包括步骤S600~S612,其中:
步骤S600,判断统一资源标识符中是否包括QUIC标识信息。如果是,进入步骤S602;否则,进入步骤S606。
其中,所述QUIC标识信息用于表示统一资源标识符中的目标服务器域名对应的目标服务器支持QUIC传输协议。
步骤S602,选择所述QUIC传输协议;
步骤S604,与目标服务器建立基于所述QUIC传输协议的QUIC连接。
步骤S606,查询所述统一资源标识符中的目标服务器域名是否在域名白名单中。如果是,进入步骤S602;否则,进入步骤S608。
所述域名白名单包括支持QUIC传输协议的多个服务器域名,所述域名白名单可以被预先配置,并根据计算机设备的访问记录被同步更新。
步骤S608,选择所述其他传输协议。
其中,所述其他传输协议可以是TCP(Transmission Control Protocol)、UDP传输协议等。在对数据完整性要求较高的情况下,所述其他传输协议优选TCP传输协议。
步骤S610,与目标服务器建立基于所述其他传输协议的其他网络连接。
在示例性的实施例中,所述计算机设备还配置有名单机制,所述网络通信方法还包括:
步骤S612,判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,并根据判断结果确定是否将所述目标服务器域名更新到所述域名名单中。
其中,所述域名名单包括域名白名单,所述域名白名单包括支持QUIC传输协议的多个服务器域名。进一步的,所述域名白名单还可以包括:各个服务器域名关联的QUIC服务器参数,所述QUIC服务器参数可以包括QUIC传输协议版本、签名证书等。
在示例性的实施例中,如图7所示,所述步骤S612可以包括步骤S612A~S612D。
步骤S612A,向所述目标服务器发送异步访问请求,所述异步访问请求用于请求与所述目标服务器建立基于QUIC传输协议的测试网络连接。
步骤S612B,判断所述测试网络连接是否建立成功。如果是,进入步骤S210C;否则,进入步骤S210D。
步骤S612C,将所述目标服务器域名更新至所述域名白名单中。
步骤S612D,不将所述目标服务器域名更新至所述域名白面单中。
举例而言:https://test.domain.com/index.html,如果上述URL中没有QUIC标识信息,则将与所述目标服务器建立其他网络连接(如,TCP连接),并基于该其他网络连接进行数据传输操作。另外,所述计算机设备通过其他线程或进程向所述目标服务器发起基于QUIC传输协议的测试网络连接,该测试网络连接并不用于数据传输操作,而是验证所述计算机设备是否可以与所述目标服务器建立QUIC连接。如果该测试网络连接建立成功,则说明所述计算机设备与所述目标服务器可以建立QUIC连接,即所述目标服务器支持QUIC传输协议,因此,将该目标服务器域名“test.domain.com”添加到域名白名单中。如果该测试网络连接建立失败,则说明所述计算机设备与所述目标服务器不可以建立QUIC连接,即所述目标服务器不支持QUIC传输协议,或者所述目标服务器所支持的QUIC传输协议的协议版本与所述计算机设备的协议版本不兼容,因此,不将该目标服务器域名“test.domain.com”添加到域名白名单中。
在示例性的实施例中,如图8所示,所述步骤S612还可以包括步骤S612E:如果所述测试网络连接建立失败,则查询所述目标服务器域名是否在所述域名白名单中;如果所述目标服务器域名在所述域名白名单中,则在所述域名白名单中删除所述目标服务器域名。
接上例,在所述测试网络连接建立失败的情况下,查询所述域名白名单中是否包括“test.domain.com”;如果是,则从所述域名白名单中删除“test.domain.com”,以确保所述域名白名单的可靠性。
在示例性的实施例中,如图9所示,所述步骤S612还可以包括步骤S612F:如果所述测试网络连接建立失败,将所述目标服务器域名更新到域名黑名单中。
所述域名黑名单可以包括:不支持QUIC传输协议的多个服务器域名,以及QUIC传输协议的协议版本与所述计算机设备的协议版本不兼容的多个服务器对应的多个服务器域名。
可知,实施例五所述的网络通信方法,在实施例三的基础上建立了名单制度,通过“测试网络连接”来确定是否可以与所述目标服务器建立基于QUIC传输协议的QUIC连接。所述名单制度,用于为所述计算机设备后续访问所述目标服务器时提供协议选择依据。
实施例六
图10示意性示出了根据本申请实施例六的网络通信方法的流程图。该网络通信方法可以包括步骤S700~S716,其中:
步骤S700,判断统一资源标识符中是否包括QUIC标识信息。如果是,进入步骤S702;否则,进入步骤S706。
其中,所述QUIC标识信息用于统一资源标识符中的目标服务器域名对应的目标服务器支持QUIC传输协议。
步骤S702,选择所述QUIC传输协议。
步骤S704,与目标服务器建立基于所述QUIC传输协议的QUIC连接。
步骤S706,查询所述统一资源标识符中的目标服务器域名是否在域名白名单中。如果是,进入步骤S702;否则,进入步骤S708。
所述域名白名单包括支持QUIC传输协议的多个服务器域名,所述域名白名单可以被预先配置,并根据计算机设备的访问记录被同步更新。
步骤S708,选择所述其他传输协议。
其中,所述其他传输协议可以是TCP(Transmission Control Protocol)、UDP传输协议等。在对数据完整性要求较高的情况下,所述其他传输协议优选TCP传输协议。
步骤S710,与目标服务器建立基于所述其他传输协议的其他网络连接。
步骤S712,接收所述目标服务器反馈的QUIC参数。
在所述目标服务器可以通过所述其他网络连接向所述计算机设备发送QUIC参数,所述QUIC参数可以位于HTTP响应头部的ALTSVC字段、ALTSVC帧中。ALTSVC中定义有多个版本的QUIC参数,用于向所述计算机设备提供QUIC传输协议的版本协商提示,例如版本列表,所述版本列表中包括所述目标服务器支持的QUIC传输协议的一个或多个协议版本。
举例而言,"alt-svc:quic=":443";ma=2592000;v="44,42,36,31",以上信息在于通知所述计算机设备:所述目标服务器的端口443支持所述QUIC传输协议,且支持的协议版本包括:版本号44、版本号42、版本号36和版本号31)。
步骤S714,根据所述QUIC参数,判断是否可以与所述目标服务器建立所述QUIC连接。
例如,根据所述QUIC参数中的版本列表,检测所述版本列表中是否包括所述计算机设备支持的协议版本;如果所述版本列表中包括所述计算机设备支持的协议版本,则判断可以与所述目标服务器建立所述QUIC连接;如果所述版本列表中不包括所述计算机设备支持的协议版本,则判断不可以与所述目标服务器建立所述QUIC连接。
步骤S716,如果可以与所述目标服务器建立所述QUIC连接,则将所述目标服务器域名更新至域名白名单中。
可选的,如果不可以与所述目标服务器建立所述QUIC连接,则查询所述域名白名单中是否包括所述目标服务器域名,如果是,则从所述域名白名单中删除所述目标服务器域名。
可选的,如果不可以与所述目标服务器建立所述QUIC连接,则将所述目标服务器域名更新至域名黑名单中。
举例而言:https://test.domain.com/index.html,如果上述URL中没有QUIC标识信息,则将与所述目标服务器建立其他网络连接(如,TCP连接),并基于该TCP连接进行数据传输操作。如果所述目标服务器支持QUIC传输协议,则会向所述计算机设备反馈QUIC参数。所述计算机设备在接收到所述QUIC参数后,根据所述QUIC参数,判断所述计算机设备是否可以与所述目标服务器建立基于QUIC传输协议的QUIC连接。如果可以,则将该目标服务器域名“test.domain.com”添加到域名白名单中;否则,不将该目标服务器域名“test.domain.com”添加到域名白名单中。需要说明的是,URL为统一资源定位符(UniformResource Locator),属于URI的子集。因此,本实施例所述的URI可以包括URL。
需要说明的是,与所述目标服务器基于所述其他网络连接的通信过程中,如果所述目标服务器支持QUIC传输协议的情况下,则会反馈携带QUIC参数的HTTP响应头部或ALTSVC帧;但是,在所述目标服务器不支持QUIC传输协议的情况下,所述目标服务器也可能反馈携带QUIC参数的HTTP响应头部或ALTSVC帧。因此,当实施例五和实施例六同时被实施时,则实施例五中的“测试网络连接”可以被优先用于确定是否将目标服务器域名添加到域名白名单中或者域名黑名单中。
可知,实施例六所述的网络通信方法,在实施例三的基础上建立了名单制度,通过“QUIC参数”来确定是否可以与所述目标服务器建立基于QUIC传输协议的QUIC连接。所述名单制度,用于为所述计算机设备后续访问所述目标服务器时提供协议选择依据。
实施例七
图11示意性示出了根据本申请实施例七的网络通信系统的框图,该网络通信系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合描述视频处理系统在存储介质中的执行过程,以下描述将具体介绍本实施例各程序模块的功能。
如图11所示,该网络通信系统400可以包括选择模块410和网络连接模块420,其中:
所述选择模块410,用于根据统一资源标识符判断是否选择QUIC传输协议。
所述网络连接模块420,用于如果选择所述QUIC传输协议,则与目标服务器建立基于所述QUIC传输协议的QUIC连接。
在示例性的实施例中,所述选择模块410,用于:判断所述统一资源标识符中是否包括QUIC标识信息,所述QUIC标识信息用于表示所述目标服务器支持所述QUIC传输协议;如果所述统一资源标识符中包括所述QUIC标识信息,则选择所述QUIC传输协议。
在示例性的实施例中,所述选择模块410,还用于:如果所述统一资源标识符中不包括所述QUIC标识信息,则选择其他传输协议。
在示例性的实施例中,所述选择模块410,还用于:如果所述统一资源标识符中不包括所述QUIC标识信息:查询所述统一资源标识符中的目标服务器域名是否在域名白名单中;如果所述目标服务器域名在所述域名白名单中,则选择所述QUIC传输协议。
在示例性的实施例中,所述如果所述目标服务器域名在所述域名白名单中,则选择所述QUIC传输协议,包括:根据所述统一资源标识符生成备用统一资源标识符,所述备用统一资源标识符中包括所述QUIC标识信息;基于所述备用统一资源标识符,与所述目标服务器建立所述QUIC连接。
在示例性的实施例中,选择模块410,还用于:如果所述目标服务器域名不在所述域名白名单中,则选择其他传输协议。
在示例性的实施例中,选择模块410,还用于:如果所述目标服务器域名不在所述域名白名单中,则选择所述QUIC传输协议和所述其他传输协议。
在示例性的实施例中,网络连接模块410,还用于:与所述目标服务器建立基于所述QUIC传输协议的所述QUIC连接,以及与所述目标服务器建立基于所述其他传输协议的其他网络连接;选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。
在示例性的实施例中,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,包括:检测与所述目标服务器的网络连接状态,所述网络连接状态包括所述QUIC连接的QUIC连接状态和所述其他网络连接的其他网络连接状态;根据所述网络连接状态,判断所述QUIC连接是否建立成功,以及所述其他网络连接是否建立成功;如果所述QUIC连接建立成功且所述其他网络连接建立失败,则通过所述QUIC连接进行数据传输操作;如果所述QUIC连接建立失败且所述其他网络连接建立成功,则通过所述其他网络连接进行数据传输操作。
在示例性的实施例中,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,还包括:如果所述QUIC连接建立成功且所述其他网络连接建立成功:根据预先配置的传输协议优先级,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作;其中,所述传输协议优先级用于表示所述QUIC传输协议和所述其他传输协议之间的优先使用级别。
在示例性的实施例中,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,还包括:如果所述QUIC连接建立成功且所述其他网络连接建立成功:获取用于表示网络传输质量的网络连接参数,所述网络连接参数包括所述QUIC连接的QUIC连接参数以及所述其他网络连接的其他网络连接参数;根据所述网络连接参数,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。
在示例性的实施例中,所述选择模块410,还用于:如果所述目标服务器域名在所述域名白名单中,判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单;其中,所述域名名单包括域名白名单,所述域名白名单包括支持QUIC传输协议的多个服务器域名。
在示例性的实施例中,所述域名白名单还包括:各个服务器域名关联的QUIC服务器参数,所述QUIC服务器参数包括各个服务器支持的QUIC传输协议的协议版本。
在示例性的实施例中,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,包括:向所述目标服务器发送异步访问请求,所述异步访问请求用于请求与所述目标服务器建立基于所述QUIC传输协议的测试网络连接;判断所述测试网络连接是否建立成功;如果所述测试网络连接建立成功,则将所述目标服务器域名更新至所述域名白名单中。
在示例性的实施例中,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,还包括:如果所述测试网络连接建立失败,则查询所述目标服务器域名是否在所述域名白名单中;如果所述目标服务器域名在所述域名白名单中,则在所述域名白名单中删除所述目标服务器域名。
在示例性的实施例中,所述域名名单还包括域名黑名单,所述域名黑名单包括不支持QUIC传输协议的多个服务器域名;所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,还包括:如果所述测试网络连接建立失败,将所述目标服务器域名更新到域名黑名单中。
在示例性的实施例中,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,包括:接收所述目标服务器反馈的QUIC参数;根据所述QUIC参数,判断是否可以与所述目标服务器建立所述QUIC连接;如果可以与所述目标服务器建立所述QUIC连接,则将所述目标服务器域名更新至所述域名白名单中。
在示例性的实施例中,所述QUIC标识信息为所述统一资源标识符中的HTTPScheme,所述HTTP Scheme为在“HTTP”后添加一个或多个字符。
在示例性的实施例中,所述QUIC标识信息为预设字符串,该预设字符串位于所述统一资源标识符的查询字符串参数中。
实施例八
图12示意性示出了根据本申请实施例七的适于实现网络通信方法的计算机设备的硬件架构示意图。本实施例中,计算机设备500是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图12所示,计算机设备500至少包括但不限于:可通过系统总线相互通信链接存储器510、处理器520、网络接口530。其中:
存储器510至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器510可以是计算机设备500的内部存储模块,例如该计算机设备500的硬盘或内存。在另一些实施例中,存储器510也可以是计算机设备500的外部存储设备,例如该计算机设备500上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器510还可以既包括计算机设备500的内部存储模块也包括其外部存储设备。本实施例中,存储器510通常用于存储安装于计算机设备500的操作系统和各类应用软件,例如网络通信方法的程序代码等。此外,存储器510还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器520在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器520通常用于控制计算机设备500的总体操作,例如执行与计算机设备500进行数据交互或者通信相关的控制和处理等。本实施例中,处理器520用于运行存储器510中存储的程序代码或者处理数据。
网络接口530可包括无线网络接口或有线网络接口,该网络接口530通常用于在计算机设备500与其他计算机设备之间建立通信链接。例如,网络接口530用于通过网络将计算机设备500与外部终端相连,在计算机设备500与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图12仅示出了具有部件510-530的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器510中的网络通信方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器520)所执行,以完成本发明。
实施例九
本实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的网络通信方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中的网络通信方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (22)
1.一种网络通信方法,其特征在于,所述网络通信方法包括:
根据统一资源标识符判断是否选择QUIC传输协议;
如果选择所述QUIC传输协议,则与目标服务器建立基于所述QUIC传输协议的QUIC连接。
2.根据权利要求1所述的网络通信方法,其特征在于,所述根据统一资源标识符判断是否选择QUIC传输协议,包括:
判断所述统一资源标识符中是否包括QUIC标识信息,所述QUIC标识信息用于表示所述目标服务器支持所述QUIC传输协议;
如果所述统一资源标识符中包括所述QUIC标识信息,则选择所述QUIC传输协议。
3.根据权利要求2所述的网络通信方法,其特征在于,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:
如果所述统一资源标识符中不包括所述QUIC标识信息,则选择其他传输协议。
4.根据权利要求2所述的网络通信方法,其特征在于,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:
如果所述统一资源标识符中不包括所述QUIC标识信息:
查询所述统一资源标识符中的目标服务器域名是否在域名白名单中;
如果所述目标服务器域名在所述域名白名单中,则选择所述QUIC传输协议。
5.根据权利要求4所述的网络通信方法,其特征在于,所述如果所述目标服务器域名在所述域名白名单中,则选择所述QUIC传输协议,包括:
根据所述统一资源标识符生成备用统一资源标识符,所述备用统一资源标识符中包括所述QUIC标识信息;
基于所述备用统一资源标识符,与所述目标服务器建立所述QUIC连接。
6.根据权利要求4所述的网络通信方法,其特征在于,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:
如果所述目标服务器域名不在所述域名白名单中,则选择其他传输协议。
7.根据权利要求4所述的网络通信方法,其特征在于,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:
如果所述目标服务器域名不在所述域名白名单中,则选择所述QUIC传输协议和所述其他传输协议。
8.根据权利要求7所述的网络通信方法,其特征在于,所述网络通信方法还包括:
与所述目标服务器建立基于所述QUIC传输协议的所述QUIC连接,以及与所述目标服务器建立基于所述其他传输协议的其他网络连接;
选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。
9.根据权利要求8所述的网络通信方法,其特征在于,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,包括:
检测与所述目标服务器的网络连接状态,所述网络连接状态包括所述QUIC连接的QUIC连接状态和所述其他网络连接的其他网络连接状态;
根据所述网络连接状态,判断所述QUIC连接是否建立成功,以及所述其他网络连接是否建立成功;
如果所述QUIC连接建立成功且所述其他网络连接建立失败,则通过所述QUIC连接进行数据传输操作;
如果所述QUIC连接建立失败且所述其他网络连接建立成功,则通过所述其他网络连接进行数据传输操作。
10.根据权利要求9所述的网络通信方法,其特征在于,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,还包括:
如果所述QUIC连接建立成功且所述其他网络连接建立成功:根据预先配置的传输协议优先级,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作;
其中,所述传输协议优先级用于表示所述QUIC传输协议和所述其他传输协议之间的优先使用级别。
11.根据权利要求9所述的网络通信方法,其特征在于,所述选择通过所述QUIC连接或所述其他网络连接进行数据传输操作,还包括:
如果所述QUIC连接建立成功且所述其他网络连接建立成功:
获取用于表示网络传输质量的网络连接参数,所述网络连接参数包括所述QUIC连接的QUIC连接参数以及所述其他网络连接的其他网络连接参数;
根据所述网络连接参数,选择通过所述QUIC连接或所述其他网络连接进行数据传输操作。
12.根据权利要求4所述的网络通信方法,其特征在于,所述根据统一资源标识符判断是否选择QUIC传输协议,还包括:
如果所述目标服务器域名在所述域名白名单中,判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单;
其中,所述域名名单包括域名白名单,所述域名白名单包括支持QUIC传输协议的多个服务器域名。
13.根据权利要求12所述的网络通信方法,其特征在于,所述域名白名单还包括:各个服务器域名关联的QUIC服务器参数,所述QUIC服务器参数包括各个服务器支持的QUIC传输协议的协议版本。
14.根据权利要求12所述的网络通信方法,其特征在于,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,包括:
向所述目标服务器发送异步访问请求,所述异步访问请求用于请求与所述目标服务器建立基于所述QUIC传输协议的测试网络连接;
判断所述测试网络连接是否建立成功;
如果所述测试网络连接建立成功,则将所述目标服务器域名更新至所述域名白名单中。
15.根据权利要求14所述的网络通信方法,其特征在于,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,还包括:
如果所述测试网络连接建立失败,则查询所述目标服务器域名是否在所述域名白名单中;
如果所述目标服务器域名在所述域名白名单中,则在所述域名白名单中删除所述目标服务器域名。
16.根据权利要求14所述的网络通信方法,其特征在于,所述域名名单还包括域名黑名单,所述域名黑名单包括不支持QUIC传输协议的多个服务器域名;
所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,还包括:
如果所述测试网络连接建立失败,将所述目标服务器域名更新到域名黑名单中。
17.根据权利要求12所述的网络通信方法,其特征在于,所述判断是否根据所述统一资源标识符中的目标服务器域名更新域名名单,包括:
接收所述目标服务器反馈的QUIC参数;
根据所述QUIC参数,判断是否可以与所述目标服务器建立所述QUIC连接;
如果可以与所述目标服务器建立所述QUIC连接,则将所述目标服务器域名更新至所述域名白名单中。
18.根据权利要求2~17任意一项所述的网络通信方法,其特征在于,所述QUIC标识信息为所述统一资源标识符中的HTTP Scheme,所述HTTP Scheme为在“HTTP”后添加一个或多个字符。
19.根据权利要求2~17任意一项所述的网络通信方法,其特征在于,所述QUIC标识信息为预设字符串,该预设字符串位于所述统一资源标识符的查询字符串参数中。
20.一种网络通信系统,其特征在于,所述网络通信系统包括:
选择模块,用于根据统一资源标识符判断是否选择QUIC传输协议;
网络连接模块,用于如果选择所述QUIC传输协议,则与目标服务器建立基于所述QUIC传输协议的QUIC连接。
21.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至19任一项所述网络通信方法的步骤。
22.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至19中任一项所述的网络通信方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910243785.8A CN111756674B (zh) | 2019-03-28 | 2019-03-28 | 网络通信方法、系统、设备及计算机可读存储介质 |
US16/634,867 US11184465B2 (en) | 2019-03-28 | 2019-10-17 | Network communication for establishing a QUIC connection |
PCT/CN2019/111686 WO2020192092A1 (en) | 2019-03-28 | 2019-10-17 | Network communication method, system, computing device, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910243785.8A CN111756674B (zh) | 2019-03-28 | 2019-03-28 | 网络通信方法、系统、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111756674A true CN111756674A (zh) | 2020-10-09 |
CN111756674B CN111756674B (zh) | 2021-07-27 |
Family
ID=72608872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910243785.8A Active CN111756674B (zh) | 2019-03-28 | 2019-03-28 | 网络通信方法、系统、设备及计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11184465B2 (zh) |
CN (1) | CN111756674B (zh) |
WO (1) | WO2020192092A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873057A (zh) * | 2021-09-28 | 2021-12-31 | 奇安信科技集团股份有限公司 | 数据处理方法和装置 |
CN114157607A (zh) * | 2021-12-06 | 2022-03-08 | 上海哔哩哔哩科技有限公司 | 媒体流传输方法和系统 |
CN114205402A (zh) * | 2021-11-18 | 2022-03-18 | 阿里云计算有限公司 | 连接建立方法、系统、设备和存储介质 |
WO2023109913A1 (zh) * | 2021-12-17 | 2023-06-22 | 贵州白山云科技股份有限公司 | 握手连接的方法、电子装置、电子设备以及介质 |
CN116319944A (zh) * | 2023-05-23 | 2023-06-23 | 北京邮电大学 | 一种基于计算机的网络通信设备及通信方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11336625B2 (en) | 2018-03-16 | 2022-05-17 | Intel Corporation | Technologies for accelerated QUIC packet processing with hardware offloads |
US20190199835A1 (en) * | 2018-11-28 | 2019-06-27 | Manasi Deval | Quick user datagram protocol (udp) internet connections (quic) packet offloading |
US11770465B2 (en) * | 2020-10-20 | 2023-09-26 | Nokia Solutions And Networks Oy | Supporting multiple transport options for border gateway protocol |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076026A (zh) * | 2007-06-19 | 2007-11-21 | 北京握奇数据系统有限公司 | 通讯协议中自适应功能的实现装置及方法 |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
CN106489145A (zh) * | 2015-12-28 | 2017-03-08 | 华为技术有限公司 | web网站的访问方法、装置及Web网站系统 |
US20170118314A1 (en) * | 2015-10-21 | 2017-04-27 | Realtek Semiconductor Corp. | Transmission apparatus and transmission method thereof |
CN106656909A (zh) * | 2015-10-28 | 2017-05-10 | 瑞昱半导体股份有限公司 | 传输装置及其传输方法 |
CN109218762A (zh) * | 2018-09-06 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 多媒体资源播放方法、装置、计算机设备及存储介质 |
CN109309685A (zh) * | 2018-10-31 | 2019-02-05 | 北京百度网讯科技有限公司 | 信息传输方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018086076A1 (zh) | 2016-11-11 | 2018-05-17 | 华为技术有限公司 | 数据传输方法及装置 |
EP3625944B1 (en) | 2017-05-19 | 2021-07-07 | Telefonaktiebolaget LM Ericsson (publ) | Technique for enabling multipath transmission |
US10785020B2 (en) * | 2018-01-19 | 2020-09-22 | Microsoft Technology Licensing, Llc | Hardware offload for QUIC connections |
US11363671B2 (en) * | 2018-01-30 | 2022-06-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Controlling migration of a QUIC connection |
US11317456B2 (en) * | 2018-04-13 | 2022-04-26 | Samsung Electronics Co., Ltd. | Method and system for handling data path creation in wireless network system |
US12120208B2 (en) * | 2018-06-25 | 2024-10-15 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication protocol discover method in constrained application protocol (COAP) |
US11245667B2 (en) * | 2018-10-23 | 2022-02-08 | Akamai Technologies, Inc. | Network security system with enhanced traffic analysis based on feedback loop and low-risk domain identification |
US20190199835A1 (en) * | 2018-11-28 | 2019-06-27 | Manasi Deval | Quick user datagram protocol (udp) internet connections (quic) packet offloading |
US11411924B2 (en) * | 2018-12-20 | 2022-08-09 | Check Point Software Technologies Ltd. | Method for performing TLS/SSL inspection based on verified subject name |
-
2019
- 2019-03-28 CN CN201910243785.8A patent/CN111756674B/zh active Active
- 2019-10-17 US US16/634,867 patent/US11184465B2/en active Active
- 2019-10-17 WO PCT/CN2019/111686 patent/WO2020192092A1/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076026A (zh) * | 2007-06-19 | 2007-11-21 | 北京握奇数据系统有限公司 | 通讯协议中自适应功能的实现装置及方法 |
US20170118314A1 (en) * | 2015-10-21 | 2017-04-27 | Realtek Semiconductor Corp. | Transmission apparatus and transmission method thereof |
CN106656909A (zh) * | 2015-10-28 | 2017-05-10 | 瑞昱半导体股份有限公司 | 传输装置及其传输方法 |
CN106489145A (zh) * | 2015-12-28 | 2017-03-08 | 华为技术有限公司 | web网站的访问方法、装置及Web网站系统 |
CN105827537A (zh) * | 2016-06-01 | 2016-08-03 | 四川大学 | 一种基于quic协议的拥塞改进方法 |
CN109218762A (zh) * | 2018-09-06 | 2019-01-15 | 百度在线网络技术(北京)有限公司 | 多媒体资源播放方法、装置、计算机设备及存储介质 |
CN109309685A (zh) * | 2018-10-31 | 2019-02-05 | 北京百度网讯科技有限公司 | 信息传输方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873057A (zh) * | 2021-09-28 | 2021-12-31 | 奇安信科技集团股份有限公司 | 数据处理方法和装置 |
CN113873057B (zh) * | 2021-09-28 | 2024-03-15 | 奇安信科技集团股份有限公司 | 数据处理方法和装置 |
CN114205402A (zh) * | 2021-11-18 | 2022-03-18 | 阿里云计算有限公司 | 连接建立方法、系统、设备和存储介质 |
CN114205402B (zh) * | 2021-11-18 | 2024-04-30 | 阿里云计算有限公司 | 连接建立方法、系统、设备和存储介质 |
CN114157607A (zh) * | 2021-12-06 | 2022-03-08 | 上海哔哩哔哩科技有限公司 | 媒体流传输方法和系统 |
WO2023103318A1 (zh) * | 2021-12-06 | 2023-06-15 | 上海哔哩哔哩科技有限公司 | 媒体流传输方法和系统 |
WO2023109913A1 (zh) * | 2021-12-17 | 2023-06-22 | 贵州白山云科技股份有限公司 | 握手连接的方法、电子装置、电子设备以及介质 |
CN116319944A (zh) * | 2023-05-23 | 2023-06-23 | 北京邮电大学 | 一种基于计算机的网络通信设备及通信方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020192092A1 (en) | 2020-10-01 |
US20210234944A1 (en) | 2021-07-29 |
US11184465B2 (en) | 2021-11-23 |
CN111756674B (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756674B (zh) | 网络通信方法、系统、设备及计算机可读存储介质 | |
CN108256114B (zh) | 文档在线预览方法、装置、计算机设备和存储介质 | |
EP3518109A1 (en) | Method and apparatus for realizing communication between web page and native application, and electronic device | |
CN112818270B (zh) | 数据跨域传递方法、装置及计算机设备 | |
CN109951514B (zh) | 基于云存储的文件处理方法、系统及计算机设备 | |
CN107682426B (zh) | 接口代理方法及应用服务器 | |
CN109547524B (zh) | 基于物联网的用户行为存储方法、装置、设备及存储介质 | |
CN110308880B (zh) | 日志打印方法、系统、计算机设备及计算机可读存储介质 | |
CN111490947A (zh) | 数据包发送方法、数据包接收方法、系统、设备及介质 | |
CN112422450B (zh) | 计算机设备、服务请求的流量控制方法及装置 | |
US10715628B2 (en) | Attribute operating method and device | |
CN110968356A (zh) | 配置信息获取的方法和装置 | |
CN110674427A (zh) | 响应网页访问请求的方法、装置、设备及存储介质 | |
CN112714365B (zh) | 视频播放方法和系统 | |
CN111629371A (zh) | 投屏方法和系统 | |
CN111083204B (zh) | 文件传输方法、装置及存储介质 | |
CN114598750B (zh) | 一种数据请求处理方法、装置及存储介质 | |
CN112511366A (zh) | 测试系统、方法、装置、设备及存储介质 | |
CN108111496B (zh) | 为dubbo分布式应用暴露http服务的方法、装置及系统 | |
CN112672187B (zh) | 页面生成方法、装置、计算机设备及可读存储介质 | |
CN111835651A (zh) | 数据写入方法、系统、设备及计算机可读存储介质 | |
CN113037848B (zh) | 文件上传方法和系统 | |
CN112527780B (zh) | Redis集群的创建与管理方法、系统、计算机设备和存储介质 | |
CN111291207B (zh) | 图片存储方法、装置及服务器 | |
CN114595115A (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 |