数据处理方法、设备及可读存储介质技术

技术编号:37678276 阅读:28 留言:0更新日期:2023-05-26 04:44
本申请实施例提供一种数据处理方法、设备及可读存储介质,上行过程中,当NGINX服务器通过目标UDP端口接收到来自客户端设备的第一QUIC报文后,将该第一QUIC报文发送给QUIC协议栈,使得QUIC协议栈处理第一QUIC报文得到应用层数据,并向上游服务器发送包含第一应用层数据包的第一数据流。下行过程中,从上游服务器接收第二数据流,将第二数据流中的第二应用层数据包缓存在第二缓存中,并在QUIC协议栈可写时交给QUIC协议栈处理得到第二QUIC报文并发送给客户端设备。采用该种方案,通过在NGINX服务器上集成QUIC协议栈,实现基于NGINX使用QUIC的场景同时支持多种应用层协议的目的,且不同应用层协议使用同一个UDP端口,降低端口开销。开销。开销。

【技术实现步骤摘要】
数据处理方法、设备及可读存储介质


[0001]本申请实施例涉及互联网
,特别涉及一种数据处理方法、设备及可读存储介质。

技术介绍

[0002]用户数据报协议(User Datagram Protocol,UDP)是开放式系统互连(Open SystemInterconnect,OSI)参考模型中的一种无连接的传输层协议。快速UDP互联网连接(Quick UDP Internet Connections,QUIC)协议是谷歌制定的一种基于UDP的低时延的互联网传输层协议,具有很多的优点,比如减少连接延迟、避免队头阻塞等。
[0003]NGINX服务器是一个高性能的超文本传输协议(Hyper Text Transfer Protocol,HTTP)和反向代服务器,有着高并发、性能好和占用内存少等特点。目前,基于NGINX使用QUIC的场景中,使用443端口传输超文本传输协议(Hypertext Transfer Protocol,HTTP)/3报文。
[0004]然而,上述的443端口仅支持一种应用层协议,即仅支持HTTP/3本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于集成了QUIC协议栈的NGINX服务器,所述方法包括:通过目标UDP端口接收来自客户端设备的第一QUIC报文,所述目标UDP端口支持多种应用层协议;向所述QUIC协议栈发送所述第一QUIC报文,以使得所述QUIC协议栈处理所述第一QUIC报文并得到应用层数据;根据第一应用层数据包的协议类型,向上游服务器发送包含所述第一应用层数据包的第一数据流,所述第一应用层数据包至少包含一个所述第一QUIC报文对应的应用层数据。2.根据权利要求1所述的方法,其特征在于,所述根据第一应用层数据包的协议类型,向上游服务器发送包含所述第一应用层数据包的第一数据流,包括:当所述QUIC协议栈可读时,从所述QUIC协议栈读取所述第一应用层数据包并缓存至第一缓存;根据所述第一应用层数据包的协议类型,从所述第一缓存读取所述第一应用层数据包并向上游服务器发送包含所述第一应用层数据包的第一数据流。3.根据权利要求2所述的方法,其特征在于,所述根据所述第一应用层数据包的协议类型,从所述第一缓存读取所述第一应用层数据包并向上游服务器发送包含所述第一应用层数据包的第一数据流之前,还包括:挂钩所述NGINX服务器应用层基于HTTP的第一接收接口;通过所述第一接收接口从所述第一缓存读取所述第一应用层数据包;探测所述第一应用层数据包的协议类型,所述协议类型包括HTTP/1.1、HTTP/2.0或RTMP。4.根据权利要求3所述的方法,其特征在于,所述探测所述第一应用层数据包的协议类型,包括:使用第一文件描述符fd针对所述第一应用层数据包创建应用层连接,所述第一文件描述符fd与目标UDP端口的第二文件描述符fd不同;为所述应用层连接添加探测接口;利用所述探测接口探测所述第一应用层数据包的协议类型。5.根据权利要求3所述的方法,其特征在于,所述根据所述第一应用层数据包的协议类型,从所述第一缓存读取所述第一应用层数据包并向上游服务器发送包含所述第一应用层数据包的第一数据流,包括:挂钩所述NGINX服务器应用层基于RTMP的第二接收接口,当所述第一应用层数据包的协议类型为RTMP时,通过所述第二接收接口从所述第...

【专利技术属性】
技术研发人员:陈祥祥庄晓川
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1