本申请实施例涉及互联网,特别涉及一种数据处理方法、设备及可读存储介质。
背景技术:
1、用户数据报协议(user datagram protocol,udp)是开放式系统互连(opensysteminterconnect,osi)参考模型中的一种无连接的传输层协议。快速udp互联网连接(quick udp internet connections,quic)协议是谷歌制定的一种基于udp的低时延的互联网传输层协议,具有很多的优点,比如减少连接延迟、避免队头阻塞等。
2、nginx服务器是一个高性能的超文本传输协议(hyper text transfer protocol,http)和反向代服务器,有着高并发、性能好和占用内存少等特点。目前,基于nginx使用quic的场景中,使用443端口传输超文本传输协议(hypertext transfer protocol,http)/3报文。
3、然而,上述的443端口仅支持一种应用层协议,即仅支持http/3.0,不支持其他应用层协议,导致基于nginx使用quic的场景受限,无法支持更多的业务。
技术实现思路
1、本申请实施例提供一种数据处理方法、设备及可读存储介质,通过在nginx服务器上集成quic协议栈,实现基于nginx使用quic的场景同时支持多种应用层协议的目的,且不同应用层协议使用同一个udp端口,降低端口开销。
2、第一方面,本申请实施例提供一种数据处理装置,通过目标udp端口接收来自客户端设备的第一quic报文,所述目标udp端口支持多种应用层协议;
3、向所述quic协议栈发送所述第一quic报文,以使得所述quic协议栈处理所述第一quic报文并得到应用层数据;
4、根据第一应用层数据包的协议类型,向上游服务器发送包含所述第一应用层数据包的第一数据流,所述第一应用层数据包至少包含一个所述第一quic报文对应的应用层数据。
5、第二方面,本申请实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如上第一方面或第一方面各种可能的实现方式所述的方法。
6、第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令在被处理器执行时用于实现如上第一方面或第一方面各种可能的实现方式所述的方法。
7、本申请实施例提供的数据处理方法、设备及可读存储介质,应用于集成了quic协议栈的nginx服务器。上行过程中,当nginx服务器接收到来自客户端设备的第一quic报文后,将该第一quic报文发送给quic协议栈,使得quic协议栈处理第一quic报文得到应用层数据,并向上游服务器发送包含第一应用层数据包的第一数据流。下行过程中,从上游服务器接收第二数据流,将第二数据流中的第二应用层数据包缓存在第二缓存中,并在quic协议栈可写时交给quic协议栈处理得到第二quic报文并发送给客户端设备。采用该种方案,通过在nginx服务器上集成quic协议栈,实现基于nginx使用quic的场景同时支持多种应用层协议的目的,且不同应用层协议使用同一个udp端口,降低端口开销。
1.一种数据处理方法,其特征在于,应用于集成了quic协议栈的nginx服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据第一应用层数据包的协议类型,向上游服务器发送包含所述第一应用层数据包的第一数据流,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一应用层数据包的协议类型,从所述第一缓存读取所述第一应用层数据包并向上游服务器发送包含所述第一应用层数据包的第一数据流之前,还包括:
4.根据权利要求3所述的方法,其特征在于,所述探测所述第一应用层数据包的协议类型,包括:
5.根据权利要求3所述的方法,其特征在于,所述根据所述第一应用层数据包的协议类型,从所述第一缓存读取所述第一应用层数据包并向上游服务器发送包含所述第一应用层数据包的第一数据流,包括:
6.根据权利要求1~5任一项所述的方法,其特征在于,还包括:
7.根据权利要求6所述的方法,其特征在于,所述当所述quic协议栈可写时,向所述quic协议栈发送所述第二缓存中的所述第二应用层数据包,包括:
8.根据权利要求1~5任一项所述的方法,其特征在于,还包括:
9.根据权利要求1~5任一项所述的方法,其特征在于,所述向所述quic协议栈发送所述第一quic报文,包括:
10.一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时使得所述电子设备实现如权利要求1至9任一所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一所述的方法。