CN111885093B - 事件请求的传输方法和装置、存储介质及电子设备 - Google Patents
事件请求的传输方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111885093B CN111885093B CN202011034316.4A CN202011034316A CN111885093B CN 111885093 B CN111885093 B CN 111885093B CN 202011034316 A CN202011034316 A CN 202011034316A CN 111885093 B CN111885093 B CN 111885093B
- Authority
- CN
- China
- Prior art keywords
- connection
- network device
- user data
- event request
- data protocol
- 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
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000005540 biological transmission Effects 0.000 title claims abstract description 58
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 13
- 238000009826 distribution Methods 0.000 abstract description 2
- 230000004044 response Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 101100193522 Acinetobacter baylyi (strain ATCC 33305 / BD413 / ADP1) quiC gene Proteins 0.000 description 1
- ZAMOUSCENKQFHK-UHFFFAOYSA-N Chlorine atom Chemical compound [Cl] ZAMOUSCENKQFHK-UHFFFAOYSA-N 0.000 description 1
- 101100500099 Pseudomonas putida (strain ATCC 47054 / DSM 6125 / CFBP 8728 / NCIMB 11950 / KT2440) quiC1 gene Proteins 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052801 chlorine Inorganic materials 0.000 description 1
- 239000000460 chlorine Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer And Data Communications (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种事件请求的传输方法和装置、存储介质及电子设备,可应用于云技术领域中的内容分发。该方法,包括:在第一网络设备上获取第一事件请求;在成功建立第一快速用户数据协议网络连接的情况下,通过第一快速用户数据协议网络连接将第一事件请求发送给第二网络设备;在建立第一快速用户数据协议网络连接失败的情况下,通过第一网络设备和第二网络设备之间建立的第一传输控制协议TCP连接,将第一事件请求发送给第二网络设备。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种事件请求的传输方法和装置、存储介质及电子设备。
背景技术
云技术中内容分发网络(Content Delivery Network,简称CDN)是指一种网络系统,利用最靠近用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户。内容分发网络可以提供高性能、可扩展性及低成本的网络内容传递给用户。不过随着计算机和移动互联网的普及,互联网用户规模和应用数成倍增加,网络延时的限制越来越制约用户对超高清视频、高清图片等大流量数据的快速下载需求。
传统CDN使用TCP/IP网络协议作为底层传输协议,其中,传输控制协议(TransferControl Protocol,简称为TCP),网络协议(Internet Protocol,简称为IP)。对于较小文件的传输,对用户来说速度和延时并不觉得慢,体验上可以接受。但如今传输文件越来越大,对于较大文件(例如,几百兆、几个G)的实时数据请求,以及长远距离、跨国通信等应用场景,文件传输速度表现不尽人意,例如,频繁的掉线使得用户体验感很差。
针对相关技术中,事件请求的传输速度较慢的问题,目前尚未存在有效的解决方案。
发明内容
本发明实施例提供了一种事件请求的传输方法和装置、存储介质及电子设备,以至少解决事件请求的传输速度较慢的技术问题。
根据本发明实施例的一个方面,提供了一种事件请求的传输方法,包括:在第一网络设备上获取第一事件请求,其中,所述第一事件请求为待发送给第二网络设备的事件请求;在所述第一网络设备和所述第二网络设备之间成功建立所述第一快速用户数据协议网络连接的情况下,通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备;在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,通过所述第一网络设备和所述第二网络设备之间建立的第一传输控制协议TCP连接,将所述第一事件请求发送给所述第二网络设备。
根据本发明实施例的另一方面,还提供了一种事件请求的传输装置,包括:获取模块,用于在第一网络设备上获取第一事件请求,其中,所述第一事件请求为待发送给第二网络设备的事件请求;第一发送模块,用于在所述第一网络设备和所述第二网络设备之间成功建立所述第一快速用户数据协议网络连接的情况下,通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备;第二发送模块,用于在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,通过所述第一网络设备和所述第二网络设备之间建立的第一传输控制协议TCP连接,将所述第一事件请求发送给所述第二网络设备。
可选地,上述装置还用于在所述在第一网络设备上获取第一事件请求之后,在确定出通过快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备、且在所述第一网络设备和所述第二网络设备之间未建立快速用户数据协议网络连接的情况下,在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接。
可选地,上述装置还用于在第一网络设备上获取第一事件请求之后,在所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送的情况下,判断所述第一网络设备的连接状态是否为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制;在所述第一网络设备的连接状态不为所述回退TCP连接的状态的情况下,确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备。
可选地,上述装置还用于在第一网络设备上获取第一事件请求之后,在所述第一事件请求中携带连接指示信息的情况下,根据所述连接指示信息,确定所述第一事件请求是否被设置为通过所述快速用户数据协议网络连接发送,其中,所述连接指示信息用于指示所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送或通过TCP连接发送。
可选地,上述装置还用于通过如下方式实现通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备:在所述第一快速用户数据协议网络连接的多个数据流资源存在空闲状态的数据流资源的情况下,通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备;和/或在所述第一快速用户数据协议网络连接的所述多个数据流资源都处于忙状态的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
可选地,上述装置还用于通过如下方式实现所述通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备:在通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备失败的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
可选地,上述装置还用于在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
可选地,上述装置还用于在通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备之后,在所述第一网络设备上获取所述第二网络设备发送的第一事件响应,其中,所述第一事件响应与所述第一事件请求对应;在所述第一事件响应表示所述第一快速用户数据协议网络连接出现中断的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
可选地,上述装置还用于在所述第一网络设备的连接状态为所述回退TCP连接的状态的情况下,在所述第一网络设备上获取第二事件请求,其中,所述第二事件请求为待发送给所述第二网络设备的事件请求,所述第二事件请求为在所述第一网络设备的连接状态被设置为所述回退TCP连接的状态之后的预定时长内获取到的事件请求;通过所述第一传输控制协议TCP连接,将所述第二事件请求发送给所述第二网络设备。
可选地,上述装置还用于在确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备、且在所述第一网络设备和所述第二网络设备之间已建立第二快速用户数据协议网络连接的情况下,通过所述第二快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备。
可选地,上述装置还用于在确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备的情况下,请求获取已建立的快速用户数据协议网络连接的标识;在成功获取所述已建立的快速用户数据协议网络连接的标识、且所述已建立的快速用户数据协议网络连接的标识为所述第二快速用户数据协议网络连接的标识的情况下,确定出在所述第一网络设备和所述第二网络设备之间已建立所述第二快速用户数据协议网络连接;在获取所述已建立的快速用户数据协议网络连接的标识失败的情况下,确定出在所述第一网络设备和所述第二网络设备之间未建立所述快速用户数据协议网络连接。
可选地,上述装置还用于通过如下方式所述在第一网络设备上获取第一事件请求:在内容分发网络CDN设备上获取所述第一事件请求,其中,所述第一网络设备为所述CDN设备,所述第二网络设备为CDN边缘数据中心设备,或者,CDN主数据中心设备;或者在所述第一网络设备上获取所述第一事件请求,其中,所述第一网络设备为所述CDN边缘数据中心设备,或者,所述CDN主数据中心设备,所述第二网络设备为所述CDN设备。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述事件请求的传输方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的事件请求的传输方法。
在本发明实施例中,通过在第一网络设备上获取第一事件请求,第一事件请求为待发送给第二网络设备的事件请求;在第一网络设备和第二网络设备之间成功建立所述第一快速用户数据协议网络连接的情况下,通过第一快速用户数据协议网络连接将第一事件请求发送给第二网络设备;在第一网络设备和第二网络设备之间建立第一快速用户数据协议网络连接失败的情况下,通过第一网络设备和第二网络设备之间建立的第一传输控制协议TCP连接,将第一事件请求发送给所述第二网络设备。达到了结合QUIC和TCP连接发送请求的目的,从而实现了提高事件请求的传输速度的技术效果,进而解决了事件请求的传输速度较慢的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的事件请求的传输方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的事件请求的传输方法的流程图;
图3是根据本发明实施例的一种可选的QUIC Client SDK封装示意图;
图4是根据本发明实施例的一种可选的DCC+QUIC进程模型示意图;
图5是根据本发明实施例的一种可选的流程示意图;
图6是根据本发明实施例的一种可选的QUIC请求与回退流程示意图;
图7是根据本发明实施例的一种可选的DCC接收QUIC响应流程示意图;
图8是根据本发明实施例的一种可选的多媒体海外节点回源延时示意图;
图9是根据本发明实施例的一种可选的事件请求的传输装置的结构示意图;
图10是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
下面对本申请中出现的简称进行说明:
CDN:内容分发网络(Content Delivery Network,简称CDN);UDP:用户数据协议(User Date Protocol,简称为UDP);QUIC:快速UDP网络连接(Quick UDP InternetConnections,简称QUIC);OC:边缘数据中心(Outer Center,简称OC);DC:主数据中心(DataCenter,简称DC);DCC:进程名,负责网络客户端的数据收发;IP:网络协议(InternetProtocol,简称IP)。
用户通过浏览器、移动应用下载文件、图片、视频等数据时,如果内容分发网络CDN的边缘数据中心OC点没有缓存,则OC点需要回源主数据中心DC,从DC源站下载数据到OC点,这一CDN过程称之为回源。然后OC再将得到的数据传输给用户客户端,完成下载。
CDN作为一个中转、存储、转发的云基础设施,传输速度的快慢直接决定用户访问时延和使用体验。现有的多媒体CDN建设,OC节点和DC节点之间的回源回传,都是以常见的协议TCP作为底层传输层协议进行数据的可靠传输。TCP经过几十年的发展,成熟、可靠,在大多数使用场景下已经足够满足应用需求了,但是CDN作为网站、视频、图片、文件传输等大规模用户级别使用场景下的云基础设施,对传输速度要求要更高,底层传输慢一点点,应用层就会慢很多。现有的多媒体(例如,视频、图片等),CDN在传输层上目前使用的是TCP回源,但海外机房由于距离和运营商原因等延时很高,往返时间(round-trip time,简称RTT)较长,TCP丢包率和成功率较大,海外回源率又比较高,所以整体用户体验上不佳。
本申请基于QUIC协议的回源回传实现,在底层传输协议上使用UDP进行数据传输。QUIC的特性在网络传输,尤其是弱网情况下,效果相比TCP好很多。支持最大256个分段ACK,更加激进的丢包探测Loss Detection和重传机制、以及0-RTT的握手建立等QUIC特性,使其相比TCP的传输延迟大大降低。通过本申请可以提升CDN系统的传输速度,尤其是海外文件的下载速度,以及海外文件的下载速度,减少客户端下载和浏览视频的等待时间,降低卡顿率。
本申请可以提升CDN OC节点到DC节点的回源回传速度,进而降低客户端下载时长,对于浏览器访问,视频、图片、文件、应用程序包上传下载等使用到CDN的应用场景均可提供加速服务。例如,视频和图片上传下载等较大文件的传输场景,应用市场客户端大量用户并发下载请求,长短视频的实时播放,小视频实时播放场景等。本申请针在CDN的回源场景,通过使用QUIC协议进行加速的技术,提升回源速度,降低CDN在回源DC时的时延,进而提升用户端的访问下载速度,优化用户体验,提升用户使用上的流畅感。
根据本发明实施例的一个方面,提供了一种事件请求的传输方法,可选地,作为一种可选的实施方式,上述事件请求的传输方法可以但不限于应用于如图1所示的环境中。
可选地,在本实施例中,上述第一网络设备可以是CDN设备,第二网络设备可以是CDN边缘数据中心OC设备,或者,CDN主数据中心DC设备。或者,第一网络设备可以是CDN边缘数据中心OC设备,或者, CDN主数据中心DC设备,第二网络设备可以是CDN设备。网络连接可以是快速用户数据协议网络连接(简称:QUIC连接)或者TCP连接。上述仅是一种示例,本实施例中对此不作任何限定。
可选地,作为一种可选的实施方式,如图2所示,上述事件请求的传输方法包括:
步骤S202,在第一网络设备上获取第一事件请求,其中,所述第一事件请求为待发送给第二网络设备的事件请求;
步骤S206,在所述第一网络设备和所述第二网络设备之间成功建立所述第一快速用户数据协议网络连接的情况下,通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备;
步骤S208,在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,通过所述第一网络设备和所述第二网络设备之间建立的第一传输控制协议TCP连接,将所述第一事件请求发送给所述第二网络设备。
可选地,在所述在第一网络设备上获取第一事件请求之后,所述方法还包括:在确定出通过快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备、且在所述第一网络设备和所述第二网络设备之间未建立快速用户数据协议网络连接的情况下,在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接。
作为一个可选的实施方式,图3是根据本发明实施例的一种可选的QUIC ClientSDK封装示意图,软件开发工具包(Software Development Kit,简称SDK)框架如图3所示,Quic Client可以通过API接口接收事件请求,在第一网络设备与第二网络设备成功建立快速用户数据协议网络连接的情况下可以通过图中已建立的Quic Stream1、Quic Stream2…Quic StreamN将接收到的事件请求发送给其他网络设备。QUIC协议在应用层实现了原本TCP几乎所有的特性:传输窗口、确认(Acknowledgement,简称ACK)、多路复用、丢包探测Loss Detecion、流量控制、拥塞控制等等。在工程实现上抽取了chromium的net库等,重载QuicStream、QuicSession等,封装成易于理解的QUIC Client SDK,提供quic_socket、quic_connect、quic_send、quic_recv等开发者比较习惯的socket使用方式应用程序接口(Application Programming,简称API)。
CDN的OC节点和DC节点可以进行高性能通信,具体OC节点的回源回传可以通过数字内容创建(Digital Content Creating,简称DCC)进程在OC节点进行上传和下载,DCC进程可以同时支持TCP协议和QUIC协议的传输。QUIC由于其复杂的特性实现,运行在应用层的协议栈,需要大量的CPU计算。DCC进程的模型是通过单线程的epoll_wait监听网络输入输出IO和共享内存进行收发,QUIC Client的UDP socket 收发自称一体,无法通过DCC的同一个epoll_wait进行监听收发,无法支持,很难改造。采用DCC线程和QUIC线程的模型支持QUIC协议,QUIC Client线程保持高度的自治,请求与响应可以自行完善。
作为一个可选的实施方式DCC+QUIC进程模型如图4所示,图4是DCC与QUIC交互示意图,DCC与QUIC交互主要有两个流程,可以不破坏现有DCC框架:a、Send_mq_request_by_quic负责将来自消息队列(message queue,简称mq)的请求发给QUIC,由quic创建UDPsocket发送出去。b、Handle_network_recive_quic负责从队列queue里取出QUIC接收完处理后的响应消息。在本实施例中,在第一网络设备与第二网络设备与第二网络设备之间成功建立快速用户数据协议网络连接的情况下,可以通过Send_mq_request_by_quic将消息队列中的第一事件请求发送给quic,由quic创建UDP socket将第一事件请求发送给第二网络设备。在QUIC接收到第一事件请求,Handle_network_recive_quic可以在消息队列中取出第二网络设备对第一事件请求进行处理后的响应消息。
作为一个可选的实施方式,QUIC作为一个新的运行在UDP上的协议,无法保证各种中间设备UDP和端口都可用。在设计时不能完全依赖UDP可信,要考虑失败回退TCP机制。QUIC请求流程,以及失败回退到TCP机制。在本实施例中,以第一网络设备为CDN设备,第二网络设备为CDN边缘数据中心OC设备,图5是根据本发明可选实施例的流程示意图,包括如下步骤:
步骤S52,由epoll_wait监听消息队列mq,消息队列中包括第一事件请求,第一事件请求可以是请求下载视频、图像等事件请求;
步骤S54,在确定通过快速用户数据协议网络连接将mq请求发送给OC设备情况下,判断CDN设备和OC设备之间是否建立快速用户数据协议网络连接,若未建立,继续执行步骤S56,若已建立,执行步骤S514。
步骤S56,在CDN设备和OC设备之间建立快速用户数据协议网络连接;
步骤S58,判断快速用户数据协议网络连接是否成功建立,若成功建立执行步骤S510,若失败,执行步骤S512;
步骤S510,通过快速用户数据协议网络连接将第一事件请求发送至OC设备;
步骤S512,通过CDN设备与OC设备之间建立的TCP连接将第一事件请求发送至OC设备;
步骤S514,通过已建立的快速用户数据协议网络连接将第一事件请求发送至OC设备。
通过上述步骤,在第一网络设备上获取第一事件请求,第一事件请求为待发送给第二网络设备的事件请求;在确定出通过快速UDP网络连接快速用户数据协议网络连接将所述第一事件请求发送给第二网络设备、且在第一网络设备和第二网络设备之间未建立快速用户数据协议网络连接的情况下,在第一网络设备和第二网络设备之间建立第一快速用户数据协议网络连接;在第一网络设备和所述第二网络设备之间成功建立所述第一快速用户数据协议网络连接的情况下,通过第一快速用户数据协议网络连接将第一事件请求发送给第二网络设备;在第一网络设备和第二网络设备之间建立第一快速用户数据协议网络连接失败的情况下,通过第一网络设备和第二网络设备之间建立的第一传输控制协议TCP连接,将第一事件请求发送给所述第二网络设备。达到了结合QUIC和TCP连接发送请求的目的目的,从而实现了提高事件请求的传输速度的技术效果,进而解决了[关键词]的技术问题。
可选地,所述在第一网络设备上获取第一事件请求之后,所述方法还包括:在所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送的情况下,判断所述第一网络设备的连接状态是否为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制;在所述第一网络设备的连接状态不为所述回退TCP连接的状态的情况下,确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备。
作为一个可选实施方式,第一网络设备的连接状态可以是第一网络设备与其他网络设备的连接状态,具体地,可以是与第二网络设备的连接状态。其中,判断第一网络设备的连接状态是否为回退TCP连接的状态可以包括:判断第一网络设备与第二网络设备的连接状态是否为回退TCP连接的状态。
作为一个可选的实施方式,若确定要通过快速用户数据协议网络连接(简称:QUIC连接)传输第一事件请求,判断当前要请求的flow连接是否已回退到TCP,已回退的话直接走TCP,其中,flow连接是上层映射维持的连接。flow连接若已回退到TCP,QUIC连接被限制,此种情况下回退到TCP连接,通过TCP连接传输第一时间请求。若QUIC连接未被限制,在成功建立QUIC连接的情况下,通过QUIC连接传输第一事件请求。
可选地,所述在第一网络设备上获取第一事件请求之后,所述方法还包括:在所述第一事件请求中携带连接指示信息的情况下,根据所述连接指示信息,确定所述第一事件请求是否被设置为通过所述快速用户数据协议网络连接发送,其中,所述连接指示信息用于指示所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送或通过TCP连接发送。
作为一个可选的实施方式,事件请求中携带有用于指示通过QUIC连接或通过TCP连接传输请求的指示信息,该指示信息可以是标识,通过接收到的第一事件请求中携带的标识可以判断出使用QUIC连接,还是TCP连接,例如,0标识用于表示使用QUIC连接,1标识用于表示使用TCP连接传输事件请求。
可选地,所述通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备,包括:在所述第一快速用户数据协议网络连接的多个数据流资源存在空闲状态的数据流资源的情况下,通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备;和/或在所述第一快速用户数据协议网络连接的所述多个数据流资源都处于忙状态的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备与第二网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
作为一个可选的实施方式,QUIC连接可以包括多个数据流资源Stream,Stream是QUIC连接的发送资源。通过QUIC连接发送第一事件请求时,检测QUIC中所包括的Stream是否处于在忙状态Stream busy,若存在处于不忙状态的Stream,则通过处于不忙状态的Stream发送第一事件请求。若QUIC连接包括的多个数据流资源Stream均处于忙状态,将第一网络设备与第二网络设备的连接状态回退至TCP连接的状态,通过TCP连接发送第一事件请求,将QUIC设置为限制状态。
可选地,所述通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备包括:在通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备失败的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
作为一个可选的方式,通过QUIC连接中处于空闲状态的数据流资源发送第一事件请求,若发送失败,回退到TCP连接,通过TCP连接发送第一事件请求。将第一网络设备连接状态设置为回退TCP连接的状态,将QUIC设置为限制状态。
可选地,所述方法还包括:在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
作为一个可选的实施方式,若建立QUIC连接失败,则将第一网络设备的连接状态设置为回退TCP连接的状态,通过TCP连接发送事件请求,QUIC连接被限制。
可选地,在通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备之后,所述方法还包括:在所述第一网络设备上获取所述第二网络设备发送的第一事件响应,其中,所述第一事件响应与所述第一事件请求对应;在所述第一事件响应表示所述第一快速用户数据协议网络连接出现中断的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备与第二网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
作为一个可选的实施方式,若通过QUIC连接将第一事件请求发送至第二网络设备,第二网络设备向第一网络设备返回响应消息。DCC线程send_mq_request_by_quic可以从队列Dequeue 取出响应消息。若响应消息表示QUIC连接成功QUIC_SUCCESS,则确定通过QUIC发送第一请求消息成功,若响应消息表示连接失败CONN_ERROR(如,连接中断),则将第一网络设备的连接状态回退至TCP连接的状态,QUIC连接被限制。并通过TCP连接重发事件请求。
可选地,所述方法还包括:在所述第一网络设备的连接状态为所述回退TCP连接的状态的情况下,在所述第一网络设备上获取第二事件请求,其中,所述第二事件请求为待发送给所述第二网络设备的事件请求,所述第二事件请求为在所述第一网络设备的连接状态被设置为所述回退TCP连接的状态之后的预定时长内获取到的事件请求;通过所述第一传输控制协议TCP连接,将所述第二事件请求发送给所述第二网络设备。
作为一个可选的实施方式,在第一网络设备的连接状态处于回退TCP连接的状态,QUIC连接被限制。在第一网络设备的连接状态处于回退TCP连接的状态时,接收到的事件请求通过TCP连接发送至第二网络设备。例如,若第一网络设备当前的连接状态未TCP连接的状态,此时QUIC连接被限制,无法使用QUIC连接发送事件请求,此时获取到的第二时间请求需要通过TCP连接进行发送。
可选地,所述方法还包括:在确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备、且在所述第一网络设备和所述第二网络设备之间已建立第二快速用户数据协议网络连接的情况下,通过所述第二快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备。
作为一个可选的实施方式,若在第一网络设备获取到第一事件请求之前,第一网络设备和第二网络设备之间已经建立了QUIC连接,则通过已经建立的QUIC连接发送第一事件请求。
可选地,所述方法还包括:在确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备的情况下,请求获取已建立的快速用户数据协议网络连接的标识;在成功获取所述已建立的快速用户数据协议网络连接的标识、且所述已建立的快速用户数据协议网络连接的标识为所述第二快速用户数据协议网络连接的标识的情况下,确定出在所述第一网络设备和所述第二网络设备之间已建立所述第二快速用户数据协议网络连接;在获取所述已建立的快速用户数据协议网络连接的标识失败的情况下,确定出在所述第一网络设备和所述第二网络设备之间未建立所述快速用户数据协议网络连接。
作为一个可选的实施方式,可以使用身份标识号(Identity document,简称ID)对已建立的QUIC连接进行标识,例如,QUIC1、QUIC2、QUIC3等,通过ID可以查找到对应的QUIC连接。假设当前已建议的QUIC连接有QUIC1、QUIC2、QUIC3,请求的QUIC连接为QUIC2,则通过QUIC2可以在已建立的多个QUIC连接中查找到QUIC2。若请求的QUIC连接为QUIC4,在已建立的多个QUIC连接中查找到QUIC4,则确定已建立的多个QUIC连接中不包括QUIC4,QUIC4未建立连接,则可以在第一网络设备和第二网络设备之间建立QUIC4。
可选地,所述在第一网络设备上获取第一事件请求,包括:在内容分发网络CDN设备上获取所述第一事件请求,其中,所述第一网络设备为所述CDN设备,所述第二网络设备为CDN边缘数据中心设备,或者,CDN主数据中心设备;或者在所述第一网络设备上获取所述第一事件请求,其中,所述第一网络设备为所述CDN边缘数据中心设备,或者,所述CDN主数据中心设备,所述第二网络设备为所述CDN设备。
下面通过一个具体实施方式说明本申请,以第一网络设备为CDN设备,第二网络设备为DC设备为例,其中,包括DCC至QUIC请求流程和QUIC至DCC响应流程,包括:
一、DCC至QUIC请求流程
如图6所示是根据本发明可选实施例的QUIC请求与回退流程示意图,其中,包括如下步骤:
步骤S61:epoll_wait接收来自MCD的管道mq事件,CDN设备接收到事件请求;
步骤S62:根据事件请求中携带有标识,CDN设备判断用QUIC连接还是TCP连接,若用QUIC则使用send_mq_request_by_quic;
步骤S63:若用QUIC连接传输,判断当前要请求的flow连接是否已回退到TCP,已回退的话这里直接走TCP,其中,flow连接是上层映射维持的连接,其中,QUIC连接被限制,会回退TCP连接;
步骤S64:通过GetQuicConn(flow)获取QUIC连接ID,判断是否已建立QUIC连接,若已建立QUIC连接,存在直接QUIC连接请求,则直接通过已建立的QUIC连接发送事件请求,若不存在quic_connect()发起握手创建连接,创建QUIC连接;
步骤S65:判断创建QUIC连接是否成功,若创建QUIC连接失败,可以直接返回失败,有些场景也可能不会直接返回失败。flow连接回退到TCP连接。后续该连接其他消息预定时间内(如30分钟)通过TCP连接发送事件请求,当前事件请求通过TCP连接发送;
步骤S66:QUIC连接创建成功,通过quic_send()发送事件请求。通过quic_send()发送事件请求包括:(a)检测QUIC连接中包括的数据流资源Stream的当前状态(忙或不忙),若QUIC所有Stream都处在忙状态,连接不回退,只有当前请求使用tcp发送;(b)QUIC所有Stream不都处在忙状态,通过不忙状态的Stream发送事件请求;
步骤S67:判断事件请求是否发送成功,若成功SUCCESS流程结束,异步等待queue响应;若发送失败,flow连接回退到TCP,通过TCP连接发送事件请求。
二、QUIC至DCC响应流程
如图7所示是根据本发明可选实施例的DCC接收QUIC响应流程示意图,其中,包括如下步骤:
步骤S71:QUIC接收校验完毕check_complete后,将响应消息入队列queue;
步骤S72:DCC线程Handle_network_recive_quic从队列Dequeue取出响应消息;
步骤S73:判断QUIC连接是否成功,若成功QUIC SUCCESS,将响应消息enqueue发给应用进程;
步骤S74:若QUIC连接失败(例如,连接中断)CONN_ERROR,将quic传来的消息进行TCP重发,flow连接回退到TCP,CDN通过TCP连接重发事件请求到DC。在0-RTT场景下,quic_connect()发出去CLHO后client端即认为连接成功,调用quic_send()发送数据(数据缓存在QUIC底层buff),实际握手可能会超时失败。OnConnectionClose失败后需要通过queue通知DCC线程做相应的处理。
本申请得益于QUIC 0-RTT特性、Stream级别多路复用、支持256分段ACK、以及更为激进的Loss Detection丢包重传机制,在QUIC协议之上的回源加速相对TCP来说提升明显。通过多媒体海外节点验证:QUIC的回源回传优化率达到70%以上。图8所示是多媒体海外节点回源延时示意图,图8中的横向第一个图和第三个图是采用本申请方法的多媒体海外节点回源延时示意图,其他两个图是现有技术中多媒体海外节点回源延时示意图。图中横坐标表示当前的时间点,纵坐标表示业务的延时。第一个图中的平均回源延时的平均值为375ms,第二个图中回源延时的平均值为1.3s,以此可以得出回源:1.3s->375ms,优化率为71.9%。第三个图中的平均回源延时的平均值为256ms,第四个图中回源延时的平均值为1.1s,以此可以得出回传:1.1s->256ms,优化率76.7%。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述事件请求的传输方法的事件请求的传输装置。如图9所示,该装置包括:获取模块92,用于在第一网络设备上获取第一事件请求,其中,所述第一事件请求为待发送给第二网络设备的事件请求;第一发送模块94,用于在所述第一网络设备和所述第二网络设备之间成功建立所述第一快速用户数据协议网络连接的情况下,通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备;第二发送模块96,用于在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,通过所述第一网络设备和所述第二网络设备之间建立的第一传输控制协议TCP连接,将所述第一事件请求发送给所述第二网络设备。
可选地,上述装置还用于在所述在第一网络设备上获取第一事件请求之后,在确定出通过快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备、且在所述第一网络设备和所述第二网络设备之间未建立快速用户数据协议网络连接的情况下,在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接。
可选地,上述装置还用于在第一网络设备上获取第一事件请求之后,在所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送的情况下,判断所述第一网络设备的连接状态是否为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制;在所述第一网络设备的连接状态不为所述回退TCP连接的状态的情况下,确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备。
可选地,上述装置还用于在第一网络设备上获取第一事件请求之后,在所述第一事件请求中携带连接指示信息的情况下,根据所述连接指示信息,确定所述第一事件请求是否被设置为通过所述快速用户数据协议网络连接发送,其中,所述连接指示信息用于指示所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送或通过TCP连接发送。
可选地,上述装置还用于通过如下方式实现通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备:在所述第一快速用户数据协议网络连接的多个数据流资源存在空闲状态的数据流资源的情况下,通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备;和/或在所述第一快速用户数据协议网络连接的所述多个数据流资源都处于忙状态的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
可选地,上述装置还用于通过如下方式实现所述通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备:在通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备失败的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
可选地,上述装置还用于在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
可选地,上述装置还用于在通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备之后,在所述第一网络设备上获取所述第二网络设备发送的第一事件响应,其中,所述第一事件响应与所述第一事件请求对应;在所述第一事件响应表示所述第一快速用户数据协议网络连接出现中断的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
可选地,上述装置还用于在所述第一网络设备的连接状态为所述回退TCP连接的状态的情况下,在所述第一网络设备上获取第二事件请求,其中,所述第二事件请求为待发送给所述第二网络设备的事件请求,所述第二事件请求为在所述第一网络设备的连接状态被设置为所述回退TCP连接的状态之后的预定时长内获取到的事件请求;通过所述第一传输控制协议TCP连接,将所述第二事件请求发送给所述第二网络设备。
可选地,上述装置还用于在确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备、且在所述第一网络设备和所述第二网络设备之间已建立第二快速用户数据协议网络连接的情况下,通过所述第二快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备。
可选地,上述装置还用于在确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备的情况下,请求获取已建立的快速用户数据协议网络连接的标识;在成功获取所述已建立的快速用户数据协议网络连接的标识、且所述已建立的快速用户数据协议网络连接的标识为所述第二快速用户数据协议网络连接的标识的情况下,确定出在所述第一网络设备和所述第二网络设备之间已建立所述第二快速用户数据协议网络连接;在获取所述已建立的快速用户数据协议网络连接的标识失败的情况下,确定出在所述第一网络设备和所述第二网络设备之间未建立所述快速用户数据协议网络连接。
可选地,上述装置还用于通过如下方式所述在第一网络设备上获取第一事件请求:在内容分发网络CDN设备上获取所述第一事件请求,其中,所述第一网络设备为所述CDN设备,所述第二网络设备为CDN边缘数据中心设备,或者,CDN主数据中心设备;或者在所述第一网络设备上获取所述第一事件请求,其中,所述第一网络设备为所述CDN边缘数据中心设备,或者,所述CDN主数据中心设备,所述第二网络设备为所述CDN设备。
根据本发明实施例的又一个方面,还提供了一种用于实施上述事件请求的传输方法的电子设备,该电子设备可以是图1所示的第一网络设备或第二网络设备。本实施例以该电子设备为第一网络设备为例来说明。如图10所示,该电子设备包括存储器1002和处理器1004,该存储器1002中存储有计算机程序,该处理器1004被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在第一网络设备上获取第一事件请求,其中,所述第一事件请求为待发送给第二网络设备的事件请求;
S2,在所述第一网络设备和所述第二网络设备之间成功建立第一快速用户数据协议网络连接的情况下,通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备;
S3,在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,通过所述第一网络设备和所述第二网络设备之间建立的第一传输控制协议TCP连接,将所述第一事件请求发送给所述第二网络设备。
可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置电子设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图10其并不对上述电子装置电子设备的结构造成限定。例如,电子装置电子设备还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的事件请求的传输方法和装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的事件请求的传输方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器1002具体可以但不限于用于存储事件请求、快速用户数据协议网络连接、TCP连接等信息。作为一种示例,如图10所示,上述存储器1002中可以但不限于包括上述事件请求的传输装置中的获取模块92、第一发送模块94及第二发送模块96。此外,还可以包括但不限于上述事件请求的传输装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:用于显示上述待处理的订单信息;和连接总线1008,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上各种可选实现方式中提供的方法。
其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在第一网络设备上获取第一事件请求,其中,所述第一事件请求为待发送给第二网络设备的事件请求;
S2,在所述第一网络设备和所述第二网络设备之间成功建立第一快速用户数据协议网络连接的情况下,通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备;
S3,在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,通过所述第一网络设备和所述第二网络设备之间建立的第一传输控制协议TCP连接,将所述第一事件请求发送给所述第二网络设备。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种事件请求的传输方法,其特征在于,包括:
在第一网络设备上获取第一事件请求,其中,所述第一事件请求为待发送给第二网络设备的事件请求;
根据所述第一事件请求中携带的连接指示信息,确定所述第一事件请求是否被设置为通过快速用户数据协议网络连接发送,其中,所述连接指示信息用于指示所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送或通过TCP连接发送;
在确定所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送的情况下,确定所述连接指示信息请求的快速用户数据协议网络连接的标识,其中,所述请求的快速用户数据协议网络连接的标识用于标识第一快速用户数据协议网络连接,在所述第一网络设备和所述第二网络设备之间成功建立的快速用户数据协议网络连接中包括所述第一快速用户数据协议网络连接的情况下,通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备;
在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,通过所述第一网络设备和所述第二网络设备之间建立的第一传输控制协议TCP连接,将所述第一事件请求发送给所述第二网络设备;其中,所述通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备,包括:在所述第一快速用户数据协议网络连接的多个数据流资源存在空闲状态的数据流资源的情况下,通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备;在通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备失败的情况下,通过第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
2.根据权利要求1所述的方法,其特征在于,在所述在第一网络设备上获取第一事件请求之后,所述方法包括:
在确定出通过快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备、且在所述第一网络设备和所述第二网络设备之间未建立快速用户数据协议网络连接的情况下,在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接。
3.根据权利要求1所述的方法,其特征在于,所述在第一网络设备上获取第一事件请求之后,所述方法还包括:
在所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送的情况下,判断所述第一网络设备的连接状态是否为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制;
在所述第一网络设备的连接状态不为所述回退TCP连接的状态的情况下,确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备。
4.根据权利要求3所述的方法,其特征在于,所述在第一网络设备上获取第一事件请求之后,所述方法还包括:
在所述第一事件请求中携带连接指示信息的情况下,根据所述连接指示信息,确定所述第一事件请求是否被设置为通过所述快速用户数据协议网络连接发送,其中,所述连接指示信息用于指示所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送或通过TCP连接发送。
5.根据权利要求1所述的方法,其特征在于,所述通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备,还包括:
在所述第一快速用户数据协议网络连接的所述多个数据流资源都处于忙状态的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
7.根据权利要求2至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第一网络设备的连接状态为回退TCP连接的状态的情况下,在所述第一网络设备上获取第二事件请求,其中,所述第二事件请求为待发送给所述第二网络设备的事件请求,所述第二事件请求为在所述第一网络设备的连接状态被设置为所述回退TCP连接的状态之后的预定时长内获取到的事件请求;
通过所述第一传输控制协议TCP连接,将所述第二事件请求发送给所述第二网络设备。
8.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备、且在所述第一网络设备和所述第二网络设备之间已建立第二快速用户数据协议网络连接的情况下,通过所述第二快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在确定出通过所述快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备的情况下,请求获取已建立的快速用户数据协议网络连接的标识;
在成功获取所述已建立的快速用户数据协议网络连接的标识、且所述已建立的快速用户数据协议网络连接的标识为所述第二快速用户数据协议网络连接的标识的情况下,确定出在所述第一网络设备和所述第二网络设备之间已建立所述第二快速用户数据协议网络连接;
在获取所述已建立的快速用户数据协议网络连接的标识失败的情况下,确定出在所述第一网络设备和所述第二网络设备之间未建立所述快速用户数据协议网络连接。
10.根据权利要求1至6中任一项所述的方法,其特征在于,所述在第一网络设备上获取第一事件请求,包括:
在内容分发网络CDN设备上获取所述第一事件请求,其中,所述第一网络设备为所述CDN设备,所述第二网络设备为CDN边缘数据中心设备,或者,CDN主数据中心设备;或者
在所述第一网络设备上获取所述第一事件请求,其中,所述第一网络设备为所述CDN边缘数据中心设备,或者,所述CDN主数据中心设备,所述第二网络设备为所述CDN设备。
11.一种事件请求的传输装置,其特征在于,包括:
获取模块,用于在第一网络设备上获取第一事件请求,其中,所述第一事件请求为待发送给第二网络设备的事件请求;
第一发送模块,用于在确定所述第一事件请求被设置为通过快速用户数据协议网络连接发送的情况下,确定连接指示信息请求的快速用户数据协议网络连接的标识,其中,所述请求的快速用户数据协议网络连接的标识用于标识第一快速用户数据协议网络连接,在所述第一网络设备和所述第二网络设备之间成功建立的快速用户数据协议网络连接中包括所述第一快速用户数据协议网络连接的情况下,通过所述第一快速用户数据协议网络连接将所述第一事件请求发送给所述第二网络设备;
第二发送模块,用于在所述第一网络设备和所述第二网络设备之间建立所述第一快速用户数据协议网络连接失败的情况下,通过所述第一网络设备和所述第二网络设备之间建立的第一传输控制协议TCP连接,将所述第一事件请求发送给所述第二网络设备;
所述装置还用于根据所述第一事件请求中携带的所述连接指示信息,确定所述第一事件请求是否被设置为通过所述快速用户数据协议网络连接发送,其中,所述连接指示信息用于指示所述第一事件请求被设置为通过所述快速用户数据协议网络连接发送或通过TCP连接发送;
其中,所述装置还用于:在所述第一快速用户数据协议网络连接的多个数据流资源存在空闲状态的数据流资源的情况下,通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备;在通过所述第一快速用户数据协议网络连接中处于所述空闲状态的数据流资源将所述第一事件请求发送给所述第二网络设备失败的情况下,通过所述第一传输控制协议TCP连接将所述第一事件请求发送给所述第二网络设备,并将所述第一网络设备的连接状态设置为回退TCP连接的状态,其中,所述回退TCP连接的状态用于表示所述快速用户数据协议网络连接被限制。
12.一种计算机可读的存储介质,其特征在于所述计算机可读的存储介质包括存储的程序,其中,所述程序可被终端设备或计算机运行时执行所述权利要求1至10任一项中所述的方法。
13.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至10任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011034316.4A CN111885093B (zh) | 2020-09-27 | 2020-09-27 | 事件请求的传输方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011034316.4A CN111885093B (zh) | 2020-09-27 | 2020-09-27 | 事件请求的传输方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111885093A CN111885093A (zh) | 2020-11-03 |
CN111885093B true CN111885093B (zh) | 2021-03-26 |
Family
ID=73199199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011034316.4A Active CN111885093B (zh) | 2020-09-27 | 2020-09-27 | 事件请求的传输方法和装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111885093B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115776527A (zh) * | 2021-09-06 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 消息发送方法、装置、设备及存储介质 |
US12063282B2 (en) | 2021-09-15 | 2024-08-13 | Cisco Technology, Inc. | Policy expressions using QUIC connection identifiers |
CN114153434A (zh) * | 2021-11-24 | 2022-03-08 | 北京金山云网络技术有限公司 | 在线程序包运行方法、装置、电子设备及存储介质 |
CN115396528A (zh) * | 2022-08-17 | 2022-11-25 | 上海哔哩哔哩科技有限公司 | 基于协议族的quic数据传输方法及装置 |
CN116319944A (zh) * | 2023-05-23 | 2023-06-23 | 北京邮电大学 | 一种基于计算机的网络通信设备及通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110177128A (zh) * | 2019-04-15 | 2019-08-27 | 深圳前海达闼云端智能科技有限公司 | 数据传输系统及其建立vpn连接的方法、终端、vpn代理 |
CN111404714A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种网络传送层连接控制方法及网络设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10476800B2 (en) * | 2017-10-16 | 2019-11-12 | Verizon Digital Media Services Inc. | Systems and methods for load balancing virtual connection traffic |
CN109818905B (zh) * | 2017-11-21 | 2022-06-03 | 中国移动通信有限公司研究院 | 一种传输层协议适配的方法、网元设备及系统 |
US11451609B2 (en) * | 2018-03-16 | 2022-09-20 | Intel Corporation | Technologies for accelerated HTTP processing with hardware acceleration |
CN109218762B (zh) * | 2018-09-06 | 2019-11-26 | 百度在线网络技术(北京)有限公司 | 多媒体资源播放方法、装置、计算机设备及存储介质 |
CN109275045B (zh) * | 2018-09-06 | 2020-12-25 | 东南大学 | 基于dfi的移动端加密视频广告流量识别方法 |
CN109525661B (zh) * | 2018-11-14 | 2021-08-13 | 北京奇艺世纪科技有限公司 | 数据传输方法及装置 |
CN109787962A (zh) * | 2018-12-28 | 2019-05-21 | 贵州蓝石科技有限公司 | 一种基于多协议双向单连接的p2p软件识别方法 |
CN111669665B (zh) * | 2019-03-05 | 2021-12-21 | 北京开广信息技术有限公司 | 媒体流的实时推送方法及服务器 |
CN111147606B (zh) * | 2020-01-06 | 2021-07-23 | 北京字节跳动网络技术有限公司 | 数据传输的方法、装置、终端及存储介质 |
-
2020
- 2020-09-27 CN CN202011034316.4A patent/CN111885093B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404714A (zh) * | 2019-01-02 | 2020-07-10 | 中国移动通信有限公司研究院 | 一种网络传送层连接控制方法及网络设备 |
CN110177128A (zh) * | 2019-04-15 | 2019-08-27 | 深圳前海达闼云端智能科技有限公司 | 数据传输系统及其建立vpn连接的方法、终端、vpn代理 |
Also Published As
Publication number | Publication date |
---|---|
CN111885093A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111885093B (zh) | 事件请求的传输方法和装置、存储介质及电子设备 | |
US10686850B2 (en) | Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications | |
CN110730105B (zh) | 图片数据传输方法、装置、设备及存储介质 | |
CN102932352B (zh) | 和客户端进行通信的方法以及服务器 | |
US9781215B2 (en) | Migration of network connection under mobility | |
US8069251B2 (en) | System and/or method for client-driven server load distribution | |
US20160198021A1 (en) | Dynamic protocol switching | |
CN102904903B (zh) | 通信系统和通信方法 | |
CN102638582B (zh) | 数据通信方法及通信端 | |
WO2014179950A1 (zh) | 一种文件上传方法、客户端和服务端 | |
TW201448545A (zh) | 一種基於層之自動調整同級媒體串流之裝置和方法 | |
CN114025002A (zh) | 一种基于mqtt信息传输的方法、系统及通信设备 | |
Krawiec et al. | Survey on technologies for enabling real-time communication in the web of things | |
WO2012173899A2 (en) | Remotely retrieving information from consumer devices | |
Hiesgen et al. | Embedded Actors-Towards distributed programming in the IoT | |
CN114338574B (zh) | 一种即时通讯方法、管理节点及系统 | |
CN112559134B (zh) | 一种分布式WebSocket集群构建方法、装置、系统及存储介质 | |
CN116233243A (zh) | 一种弱网环境下的通信系统及方法 | |
CN104618517B (zh) | 一种推送消息的方法、系统及装置 | |
CN104243522B (zh) | 用于超文本传输协议网络的方法及宽带网络网关 | |
CN107509218A (zh) | 一种信息传输方法、装置及无线通信系统 | |
CN111490997B (zh) | 任务处理方法、代理系统、服务系统和电子设备 | |
US8276158B2 (en) | HTTP based bounding storage space protocol | |
Tran et al. | A reliable UDP for ubiquitous communication environments | |
CN108848175A (zh) | 一种创建tcp连接的方法及装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40031306 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |