一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据包的处理方法、装置及边端设备与流程

2022-05-18 08:44:18 来源:中国专利 TAG:
1.本技术涉及通信
技术领域
:,尤其涉及一种数据包的处理方法、装置及边端设备。
背景技术
::2.随着边缘计算应用的逐渐丰富,端边云场景下稳定高效的网络传输需求日益增加。但边端的复杂多变的网络环境往往会由于其偶发的网络抖动和丢包引起网络底层tcp协议主动拥塞控制,使得网速传输速度急剧下降,大幅影响如视频应用等的实时性和稳定性。3.本文实现了一种用户空间配置tcp网络加速方法。不同于传统的tcp加速方法往往需要对系统内核进行修改,如bbr算法等着眼于替换内核拥塞控制算法。虽然内核级处理效率高,但大都安装配置繁琐,不能随意启停,或需要重启操作系统。4.同时传统的拥塞控制算法,通过对网络丢包和延时抖动感知网络状况,但边端的无线网络环境或超长距离有线传输等偶发丢包和延时抖动并不能表明网络拥堵,激进的降低发送窗口将使得网络传输速度大幅下降。技术实现要素:5.为了解决上述技术问题或者至少部分地解决上述技术问题,本技术提供了一种数据包的处理方法、装置及边端设备。6.根据本技术实施例的一个方面,提供了一种数据包的处理方法,应用于边端设备,包括:7.基于目标队列监听边端设备中内核空间中传输层的tcp数据包,其中,所述目标队列是在所述边端设备的数据流重定向到所述边端设备的用户空间后建立的;8.向内核空间的网络层发送所述tcp数据包,并提取所述tcp数据包对应的传输特征;9.基于所述传输特征预测所述数据包在传输过程中的目标丢包率;10.在所述丢包率满足预设阈值,且未接收到来自于所述内核空间的网络层发送的确认信息的情况下,向所述内核空间的网络层重新发送所述tcp数据包。11.进一步的,在基于预设队列监听边端设备中内核空间的输入输出数据包之前,所述方法还包括:12.检测作用于所述边端设备的第一重定向操作,其中,所述第一重定向操作用于将所述边端设备的数据流重定向到用户空间;13.基于所述第一重定向操作获取队列创建请求,其中,所述队列创建请求中携带两个队列配置信息;14.基于两个所述队列配置信息创建目标队列,其中,所述目标队列包括第一队列以及第二队列,所述第一队列用于获取所述内核空间的输入数据包,所述第二队列用于获取所述内核空间的输出数据包。15.进一步的,在向内核空间的网络层发送所述tcp数据包之前,所述方法还包括:16.在确定基于tcp协议三次握手建立所述边端设备与所述内核空间的网络层之间的通信连接的情况下,将所述tcp数据包存储至缓冲区,并向所述内核空间的传输层发送确认信息。17.进一步的,所述向内核空间的网络层发送所述tcp数据包,并提取所述tcp数据包对应的传输特征,包括:18.向所述内核空间的网络层发送所述tcp数据包;19.在确定所述tcp数据包处于传输状态的情况下,提取所述tcp数据包对应的传输特征,其中,所述传输特征包括:网络吞吐量、网络延时以及传输速率。20.进一步的,所述基于所述传输特征预测所述数据包在传输过程中的目标丢包率,包括:21.获取预先训练的丢包率预测模型以及历史丢包率;22.将所述传输特征以及所述历史丢包率传输至所述丢包率预测模型,以使所述丢包率预测模型基于所述传输特征以及所述历史丢包率计算所述目标丢包率。23.进一步的,所述方法还包括:24.获取所述tcp数据包对应的发送结果;25.在所述发送结果用于指示所述tcp数据包成功发送至所述内核空间的网络层的情况下,检测作用于所述边端设备的第二重定向操作,其中,所述第二重定向操作用于将所述边端设备的数据流重定向到内核空间;26.根据所述第二重定向操作将所述边端设备的数据流重定向到所述边端设备的内核空间。27.根据本技术实施例的另一个方面,还提供了一种数据包的处理装置,包括:28.监听模块,用于基于目标队列监听边端设备中内核空间中传输层的tcp数据包,其中,所述目标队列是在所述边端设备的数据流重定向到所述边端设备的用户空间后建立的;29.发送模块,用于向内核空间的网络层发送所述tcp数据包,并提取所述tcp数据包对应的传输特征;30.预测模块,用于基于所述传输特征预测所述数据包在传输过程中的目标丢包率;31.处理模块,用于在所述丢包率满足预设阈值,且未接收到来自于所述内核空间的网络层发送的确认信息的情况下,向所述内核空间的网络层重新发送所述tcp数据包。32.根据本技术实施例的另一个方面,还提供了一种边端设备,包括:用户空间以及内核空间,其中,所述用户空间部署有加速单元;33.所述内核空间,用于接收或生成tcp数据包;34.所述用户空间,用于基于目标队列监听边端设备中内核空间中传输层的tcp数据包,其中,所述目标队列是在所述边端设备的数据流重定向到所述边端设备的用户空间后建立的;基于所述加速单元向内核空间的网络层发送所述tcp数据包,并提取所述tcp数据包对应的传输特征;基于所述传输特征预测所述数据包在传输过程中的目标丢包率;在所述丢包率满足预设阈值,且未接收到来自于所述内核空间的网络层发送的确认信息的情况下,向所述内核空间的网络层重新发送所述tcp数据包。35.根据本技术实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。36.根据本技术实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。37.本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。38.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:在本技术实施例中,通过将边端设备的数据流重定向到用户空间,利用用户空间发送tcp数据包可以过滤边端设备在复杂网络环境中的偶发丢包和网络延迟抖动,同时结合丢包率预测机制,能够实现在未收到重传请求和未确认超时的情况下提前重传,提高网络网络效率。附图说明39.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。40.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。41.图1为本技术实施例提供的一种数据包的处理方法的流程图;42.图2为本技术另一实施例提供的一种数据包的处理方法的流程图;43.图3为本技术实施例提供的一种数据包的处理装置的框图;44.图4为本技术实施例提供的一种边端设备的示意图;45.图5为本技术实施例提供的一种数据包的处理过程的示意图;46.图6为本技术实施例提供的一种电子设备的结构示意图。具体实施方式47.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。48.需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。49.本技术实施例提供了一种数据包的处理方法、装置及边端设备。本发明实施例所提供的方法可以应用于任意需要的电子设备,例如,可以为服务器、终端等电子设备,在此不做具体限定,为描述方便,后续简称为电子设备。50.根据本技术实施例的一方面,提供了一种数据包的处理方法的方法实施例。图1为本技术实施例提供的一种数据包的处理方法的流程图,如图1所示,该方法包括:51.步骤s11,基于目标队列监听边端设备中内核空间中传输层的tcp数据包,其中,目标队列是在边端设备的数据流重定向到边端设备的用户空间后建立的。52.在本技术实施例中,在基于预设队列监听边端设备中内核空间的输入输出数据包之前,方法还包括以下步骤a1-a3:53.步骤a1,检测作用于边端设备的第一重定向操作,其中,第一重定向操作用于将边端设备的数据流重定向到用户空间。54.步骤a2,基于第一重定向操作获取队列创建请求,其中,队列创建请求中携带两个队列配置信息。55.本技术实施例提供的方法应用于边端设备,用户可以基于边端设备发起第一重定向操作,此时边端设备可以对用户信息进行认证,用户信息可以是:用户身份信息或者是用户预先设置的密令等等。如果用户信息认证通过的情况下,则基于第一重定向操作获取用户上传的队列创建请求,用户在上传队列创建请求时,会将创建的队列配置信息携带在队列创建请求。56.步骤a3,基于两个队列配置信息创建目标队列,其中,目标队列包括第一队列以及第二队列,第一队列用于获取所述内核空间的输入数据包,第二队列用于获取所述内核空间的输出数据包。57.在本技术实施例中,用户可以向边端设备发送创建请求,其中创建请求中携带两个队列配置信息,队列配置信息可以是iptables规则,基于上述两条iptables规则创建目标队列,两条iptables规则如下:58.iptables-tmangle-ainput-jnfqueue‑‑queue-num0;59.iptables-tmangle-iouput-jnfqueue‑‑queue-num1;60.目标队列包括第一队列(queue-num0)以及第二队列(queue-num1),第一队列用(queue-num0)于获取内核空间的输入数据包,第二队列(queue-num1)用于获取内核空间的输出数据包。61.在本技术实施例中,在创建目标队列后,可以利用用户空间的加速单元基于目标队列监听内核空间的tcp(transmissioncontrolprotocol,传输控制协议)数据包,tcp数据包包括:输入数据包以及输出数据包。其中加速单元相当于在第四层传输层与第三层网络层中的一个新的3.5层,通过设置加速单元将使得第四层传输层对网络的丢包和延时抖动变得无感知,不会再进行拥塞控制,所以即使恶劣网络环境下也有比较好的加速效果。这也同时要求加速单元来实现拥塞控制和重传机制。62.步骤s12,向内核空间的网络层发送tcp数据包,并提取tcp数据包对应的传输特征。63.在本技术实施例中,在向内核空间的网络层发送tcp数据包之前,方法还包括:在确定基于tcp协议三次握手建立边端设备与内核空间的网络层之间的通信连接的情况下,将tcp数据包存储至缓冲区,并向内核空间的传输层发送确认信息。64.在本技术实施例中,用户空间中的加速单元还会基于tcp三次握手协议与内核空间的网络层建立通信连接,并在与内核空间的网络层建立通信连接后,加速单元开始接管原本由内核空间执行的数据包发送操作。所谓的“三次握手”:为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。65.需要说明的是,本技术实施例在用户空间汇总部署加速单元不涉及对内核空间修改,且加速单元整体安装配置启动停止简单不需要系统重启,不影响现有网络连接,对用户空间应用无感知配置。66.在本技术实施例中,用户空间中的加速单元在监听到内核空间中的tcp数据包后,会先将tcp数据包存储至缓冲区,并向内核空间的传输层发送确认信息,其中确认信息用于告知内核空间加速单元已接收到tcp数据包。67.本技术实施例采用缓冲区的目的是隔绝传输层对网络环境的感知,即对上层tcp协议拥塞控制将感知处于完全无丢包无时延抖动的网络中,将快速提高发送窗口并保持。而加速单元采用更智能的策略调整自身的发送窗口,偶发的丢包和时延抖动将被加速单元屏蔽降窗操作,这使得大数据量传输时几乎可以一直保持最大的网络传输带宽。68.在本技术实施例中,步骤s12,向内核空间的网络层发送tcp数据包,并提取tcp数据包对应的传输特征,包括以下步骤b1-b2:69.步骤b1,向内核空间的网络层发送tcp数据包。70.步骤b2,在确定tcp数据包处于传输状态的情况下,提取tcp数据包对应的传输特征,其中,传输特征包括:网络吞吐量、网络延时以及传输速率。71.在本技术实施例中,利用部署在边端设备用户空间内的加速模块向内核空间的网络层发送tcp数据包,监控tcp数据包的步骤s13,基于传输特征预测数据包在传输过程中的目标丢包率。72.在本技术实施例中,步骤s13,基于传输特征预测数据包在传输过程中的目标丢包率,包括以下步骤c1-c2:73.步骤c1,获取预先训练的丢包率预测模型以及历史丢包率。74.在本技术实施例中,加速单元对tcp连接的历史丢包和时延抖动进行采样记录,对序列数据中的动态变化进行建模,以学习序列数据中的时延抖动与丢包发生的潜在特征对预设神经网络模型进行训练,得到丢包率预测模型。预设神经网络模型为门控循环模型(gatedrecurrentunit,gru),门控循环模型是在lstm的基础上进行改进优化的神经网络,它具有更快的收敛速度,适合处理时间序列数据。75.步骤c2,将传输特征以及历史丢包率传输至丢包率预测模型,以使丢包率预测模型基于传输特征以及历史丢包率计算目标丢包率。76.在本技术实施例中,丢包率预测模型由输入层,隐藏层和输出层组成,将传输特征以及历史丢包率输入至丢包率预测模型中的输入层,由输出层将传输特征以及历史丢包率输入至隐藏层,隐藏层根据传输特征中各个特征对应的第一权重,以及历史丢包率对应的第二权重计算出目标丢包率。77.步骤s14,在丢包率满足预设阈值,且未接收到来自于内核空间的网络层发送的确认信息的情况下,向内核空间的网络层重新发送tcp数据包。78.在本技术实施例中,通过将边端设备的数据流重定向到用户空间,利用用户空间发送tcp数据包可以过滤边端设备在复杂网络环境中的偶发丢包和网络延迟抖动,同时结合丢包率预测机制,能够实现在未收到重传请求和未确认超时的情况下提前重传,提高网络网络效率。79.图2为本技术另一实施例提供的一种数据包的处理方法的流程图,如图2所示,方法还包括以下步骤:80.步骤s21,获取tcp数据包对应的发送结果。81.步骤s22,在发送结果用于指示tcp数据包成功发送至内核空间的网络层的情况下,检测作用于边端设备的第二重定向操作,其中,第二重定向操作用于将边端设备的数据流重定向到内核空间。82.步骤s23,根据第二重定向操作将边端设备的数据流重定向到边端设备的内核空间。83.在本技术实施例中,在用户空间的加速模块执行tcp数据包的发送时,获取tcp数据包的发送结果,如果tcp数据包发送成功,则检测作用于边端设备的第二重定向操作,根据第二重定向操作将边端设备的数据流重定向到边端设备的内核空间。84.图3为本技术实施例提供的一种数据包的处理装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3所示,该装置包括:85.监听模块31,用于基于目标队列监听边端设备中内核空间中传输层的tcp数据包,其中,目标队列是在边端设备的数据流重定向到边端设备的用户空间后建立的;86.发送模块32,用于向内核空间的网络层发送tcp数据包,并提取tcp数据包对应的传输特征;87.预测模块33,用于基于传输特征预测数据包在传输过程中的目标丢包率;88.处理模块34,用于在丢包率满足预设阈值,且未接收到来自于内核空间的网络层发送的确认信息的情况下,向内核空间的网络层重新发送tcp数据包。89.在本技术实施例中,数据包的处理装置包括:创建模块,用于检测作用于边端设备的第一重定向操作,其中,第一重定向操作用于将边端设备的数据流重定向到用户空间;基于第一重定向操作获取队列创建请求,其中,队列创建请求中携带两个队列配置信息;基于两个队列配置信息创建目标队列,其中,目标队列包括第一队列以及第二队列,第一队列用于获取内核空间的输入数据包,第二队列用于获取内核空间的输出数据包。90.在本技术实施例中,数据包的处理装置还包括:存储模块,用于在确定基于tcp协议三次握手建立边端设备与内核空间的网络层之间的通信连接的情况下,将tcp数据包存储至缓冲区,并向内核空间的传输层发送确认信息。91.在本技术实施例中,发送模块32,用于向内核空间的网络层发送tcp数据包;在确定tcp数据包处于传输状态的情况下,提取tcp数据包对应的传输特征,其中,传输特征包括:网络吞吐量、网络延时以及传输速率。92.在本技术实施例中,预测模块33,用于获取预先训练的丢包率预测模型以及历史丢包率;将传输特征以及历史丢包率传输至丢包率预测模型,以使丢包率预测模型基于传输特征以及历史丢包率计算目标丢包率。93.在本技术实施例中,数据包的处理装置还包括变更模块,用于获取tcp数据包对应的发送结果;在发送结果用于指示tcp数据包成功发送至内核空间的网络层的情况下,检测作用于边端设备的第二重定向操作,其中,第二重定向操作用于将边端设备的数据流重定向到内核空间;根据第二重定向操作将边端设备的数据流重定向到边端设备的内核空间。94.在本技术实施例中,通过将边端设备的数据流重定向到用户空间,利用用户空间发送tcp数据包可以过滤边端设备在复杂网络环境中的偶发丢包和网络延迟抖动,同时结合丢包率预测机制,能够实现在未收到重传请求和未确认超时的情况下提前重传,提高网络网络效率。95.图4为本技术实施例提供的一种边端设备的示意图,该设备可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该边端设备包括:用户空间41以及内核空间42,用户空间41部署有加速单元43。需要说明的是,本技术实施例在用户空间汇总部署加速单元不涉及对内核空间修改,且加速单元整体安装配置启动停止简单不需要系统重启,不影响现有网络连接,对用户空间应用无感知配置。96.用户空间41,用于基于目标队列监听边端设备中内核空间中传输层的tcp数据包,其中,目标队列是在边端设备的数据流重定向到边端设备的用户空间后建立的;向内核空间的网络层发送tcp数据包,并提取tcp数据包对应的传输特征;基于传输特征预测数据包在传输过程中的目标丢包率;在丢包率满足预设阈值,且未接收到来自于内核空间的网络层发送的确认信息的情况下,向内核空间的网络层重新发送tcp数据包。97.内核空间42,用于接收或生成tcp数据包,tcp数据包可以包括:输入数据包、输出数据包。参考图5所示,内核空间中的传输层用于生成输出数据包,内核空间中的网络层用于接收输入数据包。98.在本技术实施例中,通过将边端设备的数据流重定向到用户空间的加速单元,利用用户空间的加速单元发送tcp数据包可以过滤边端设备在复杂网络环境中的偶发丢包和网络延迟抖动,同时结合丢包率预测机制,能够实现在未收到重传请求和未确认超时的情况下提前重传,提高网络网络效率。99.作为一个示例,将加速单元部署到边端设备后,大幅降低了ai算法更新包下载到边端部署时间。有效降低了图片回传接口的耗时,有效提高了视频云边端设备在线率。平均缩短了摄像头捕捉到告警发生到视频云前端展示告警的时间间隔10%左右。100.本技术实施例还提供一种电子设备,如图6所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。101.存储器1503,用于存放计算机程序;102.处理器1501,用于执行存储器1503上所存放的计算机程序时,实现上述实施例的步骤。103.上述终端提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。104.通信接口用于上述终端与其他设备之间的通信。105.存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。106.上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。107.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据包的处理方法。108.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的数据包的处理方法。109.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk)等。110.以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。111.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献