一种数据包处理方法以及装置制造方法及图纸

技术编号:28300711 阅读:16 留言:0更新日期:2021-04-30 16:28
本申请提供一种数据包处理方法以及装置,该方法包括:接收多个端口中每个端口发送的数据包;根据每个端口发送的数据包的包头信息,将数据包缓存于包头信息对应的存储空间内;在判断出第一存储空间可以调整的情况下,扩大第一存储空间,并继续利用第一存储空间缓存对应的端口发送的数据包;在判断出第一存储空间不可以调整的情况下,阻止第一存储空间对应的端口继续发送数据包;根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将多个端口中每个端口发送的数据包发送至服务器,以使服务器对多个端口中每个端口发送的数据包进行处理。这样,可以避免各个端口的数据包互相干扰。

【技术实现步骤摘要】
一种数据包处理方法以及装置
本申请涉及通信
,尤其涉及一种数据包处理方法以及装置。
技术介绍
Avalon总线有两种接口Avalon-MM(memorymap)和Avalon-ST(stream)。其中Avalon-MM类型的接口信号分为控制信号和数据信号,通过地址读写数据。Avalon-ST接口是一种单向点对点的高速接口,主要针对的是高速数据流的传输,减少数据流处理中的瓶颈。在网口通过Avalon_st接口向服务器host传输数据时,都需要经过缓存空间(Firstinfirstout,FIFO)进行缓存。对于单端口网口,普通FIFO就可以满足要求。但是对于多端口网口(数据包来自多个端口,端口port编号不同),来自各端口的数据量不同。有的端口数据包多,有的端口数据包少。而且各个端口的数据包优先级也不同。此时在对各个端口数据包进行处理时会出现互相干扰的情况。
技术实现思路
本申请提供了一种数据包处理方法以及装置,以解决现有技术中,对于多端口网口,在对各个端口的数据包进行处理时会出现互相干扰的情况的问题。第一方面,本专利技术提供了一种数据包处理方法,包括:接收多个端口中每个端口发送的数据包;根据所述每个端口发送的数据包的包头信息,将所述数据包缓存于所述包头信息对应的存储空间内;检测所述多个端口对应的多个存储空间中每个存储空间的占用状态;在检测到所述多个存储空间中的第一存储空间的占用状态超过预设第一阈值的情况下,判断所述第一存储空间是否可以调整;<br>在判断出所述第一存储空间可以调整的情况下,扩大所述第一存储空间,并继续利用所述第一存储空间缓存对应的端口发送的数据包;在判断出所述第一存储空间不可以调整的情况下,阻止所述第一存储空间对应的端口继续发送数据包;根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器,以使所述服务器对所述多个端口中每个端口发送的数据包进行处理。可选的,在所述接收多个端口中每个端口发送的数据包的步骤之前,所述方法还包括:接收所述服务器发送的存储空间配置信息;根据所述存储空间配置信息,设置所述多个存储空间;设置所述多个存储空间中每个存储空间的优先级、所述每个存储空间的空间大小、所述每个存储空间的可调整状态。可选的,在所述根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器的步骤之后,所述方法还包括:在检测到所述多个存储空间中的第二存储空间内的数据包等待处理的时长超过预设第二阈值的情况下,向所述服务器发送通知消息,以使所述服务器根据所述通知消息终止处理所述多个存储空间中除所述第二存储空间之外的其他存储空间内的数据包,并处理所述第二存储空间内的数据包。可选的,在所述根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器的步骤之后,所述方法还包括:检测所述多个端口中每个端口发送的数据包是否完整;在检测到所述多个端口中的目标端口发送的数据包不完整的情况下,向所述服务器发送中断信号,以使所述服务器根据所述中断信号终止处理所述目标端口发送的不完整数据包。可选的,在判断出所述第一存储空间可以调整,且扩大了所述第一存储空间的情况下,所述方法还包括:缩小所述多个存储空间中除所述第一存储空间之外的其他存储空间。可选的,所述多个存储空间的数量不超过32个。可选的,所述多个端口为4个端口。第二方面,本专利技术还提供了一种数据包处理装置,包括:接收模块,用于接收多个端口中每个端口发送的数据包;第一缓存模块,用于根据所述每个端口发送的数据包的包头信息,将所述数据包缓存于所述包头信息对应的存储空间内;检测模块,用于检测所述多个端口对应的多个存储空间中每个存储空间的占用状态;判断模块,用于在检测到所述多个存储空间中的第一存储空间的占用状态超过预设第一阈值的情况下,判断所述第一存储空间是否可以调整;第二缓存模块,用于在判断出所述第一存储空间可以调整的情况下,扩大所述第一存储空间,并继续利用所述第一存储空间缓存对应的端口发送的数据包;阻止模块,用于在判断出所述第一存储空间不可以调整的情况下,阻止所述第一存储空间对应的端口继续发送数据包;发送模块,用于根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器,以使所述服务器对所述多个端口中每个端口发送的数据包进行处理。第三方面,本专利技术还提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机程序时实现第一方面所述的数据包处理方法的步骤。第四方面,本专利技术还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据包处理方法的步骤。由以上技术方案可知,本专利技术实施例提供的一种数据包处理方法以及装置,接收多个端口中每个端口发送的数据包;根据所述每个端口发送的数据包的包头信息,将所述数据包缓存于所述包头信息对应的存储空间内;检测所述多个端口对应的多个存储空间中每个存储空间的占用状态;在检测到所述多个存储空间中的第一存储空间的占用状态超过预设第一阈值的情况下,判断所述第一存储空间是否可以调整;在判断出所述第一存储空间可以调整的情况下,扩大所述第一存储空间,并继续利用所述第一存储空间缓存对应的端口发送的数据包;在判断出所述第一存储空间不可以调整的情况下,阻止所述第一存储空间对应的端口继续发送数据包;根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器,以使所述服务器对所述多个端口中每个端口发送的数据包进行处理。这样,可以自动为来自多个端口中每个端口的数据包分配独立的存储空间。还可以在判断出第一存储空间可以调整的情况下,扩大第一存储空间,并继续利用第一存储空间缓存对应的端口发送的数据包;或者,在判断出第一存储空间不可以调整的情况下,可以阻止第一存储空间对应的端口继续发送数据包。避免各个端口的数据包互相干扰。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术提供的一种数据包处理方法的流程图;图2为本专利技术提供的一种FIFO的示意图;图3为本专利技术提供的一种数据包处理装置的结构图;图4为本专利技术提供的一种电子设备的实施例示意图;图5为本专利技术提供的一种计算机可读存储介质的实施例示意图。具体实施方式下面将详细地对实施例进行说明,其示例表示在附图中。下面本文档来自技高网...

【技术保护点】
1.一种数据包处理方法,其特征在于,包括:/n接收多个端口中每个端口发送的数据包;/n根据所述每个端口发送的数据包的包头信息,将所述数据包缓存于所述包头信息对应的存储空间内;/n检测所述多个端口对应的多个存储空间中每个存储空间的占用状态;/n在检测到所述多个存储空间中的第一存储空间的占用状态超过预设第一阈值的情况下,判断所述第一存储空间是否可以调整;/n在判断出所述第一存储空间可以调整的情况下,扩大所述第一存储空间,并继续利用所述第一存储空间缓存对应的端口发送的数据包;/n在判断出所述第一存储空间不可以调整的情况下,阻止所述第一存储空间对应的端口继续发送数据包;/n根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器,以使所述服务器对所述多个端口中每个端口发送的数据包进行处理。/n

【技术特征摘要】
1.一种数据包处理方法,其特征在于,包括:
接收多个端口中每个端口发送的数据包;
根据所述每个端口发送的数据包的包头信息,将所述数据包缓存于所述包头信息对应的存储空间内;
检测所述多个端口对应的多个存储空间中每个存储空间的占用状态;
在检测到所述多个存储空间中的第一存储空间的占用状态超过预设第一阈值的情况下,判断所述第一存储空间是否可以调整;
在判断出所述第一存储空间可以调整的情况下,扩大所述第一存储空间,并继续利用所述第一存储空间缓存对应的端口发送的数据包;
在判断出所述第一存储空间不可以调整的情况下,阻止所述第一存储空间对应的端口继续发送数据包;
根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器,以使所述服务器对所述多个端口中每个端口发送的数据包进行处理。


2.如权利要求1所述的方法,其特征在于,在所述接收多个端口中每个端口发送的数据包的步骤之前,所述方法还包括:
接收所述服务器发送的存储空间配置信息;
根据所述存储空间配置信息,设置所述多个存储空间;
设置所述多个存储空间中每个存储空间的优先级、所述每个存储空间的空间大小、所述每个存储空间的可调整状态。


3.如权利要求2所述的方法,其特征在于,在所述根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器的步骤之后,所述方法还包括:
在检测到所述多个存储空间中的第二存储空间内的数据包等待处理的时长超过预设第二阈值的情况下,向所述服务器发送通知消息,以使所述服务器根据所述通知消息终止处理所述多个存储空间中除所述第二存储空间之外的其他存储空间内的数据包,并处理所述第二存储空间内的数据包。


4.如权利要求1所述的方法,其特征在于,在所述根据缓存每个端口发送的数据包的存储空间的优先级,按照优先级从高到低的顺序将所述多个端口中每个端口发送的数据包发送至服务器的步骤之后,所述方法还包括:
检测所述多个端口中每个端口...

【专利技术属性】
技术研发人员:王峰张闯任智新
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

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

1