CN117675119A - 数据包处理方法、装置及电子设备 - Google Patents

数据包处理方法、装置及电子设备 Download PDF

Info

Publication number
CN117675119A
CN117675119A CN202210986972.7A CN202210986972A CN117675119A CN 117675119 A CN117675119 A CN 117675119A CN 202210986972 A CN202210986972 A CN 202210986972A CN 117675119 A CN117675119 A CN 117675119A
Authority
CN
China
Prior art keywords
data packet
sequence number
receiving
serial number
receiving end
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.)
Pending
Application number
CN202210986972.7A
Other languages
English (en)
Inventor
李坤
杨少东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Rockwell Technology Co Ltd
Original Assignee
Beijing Rockwell Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Rockwell Technology Co Ltd filed Critical Beijing Rockwell Technology Co Ltd
Priority to CN202210986972.7A priority Critical patent/CN117675119A/zh
Publication of CN117675119A publication Critical patent/CN117675119A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开的实施例提供一种数据包处理方法、装置及电子设备,主要包括:网络节点在接收到数据包后,获取所述数据包对应的序列号;确定所述序列号是否在序列号历史值中存在;若所述序列号在序列号历史值中不存在,将所述数据包存储在本地缓存中并发送给数据包接收端;响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存。终端侧接收网络节点发送的数据包;向所述数据包发送接收到所述数据包的数据包接收确认信息,能够解决单一路径上进行数据传输的可靠性问题。

Description

数据包处理方法、装置及电子设备
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据包处理方法、装置及电子设备。
背景技术
当前进行数据包冗余传输时,谈话Talker节点发出的数据包,经过Tsn SwitchA交换机的CB流分离功能复制出两个数据包,分别经过冗余路径1和冗余路径2进行传输,该两个数据包到达SwichC交换机,在SwichC交换机经过CB消除冗余功能删除其中一个冗余包,保留一个数据包,并将该数据包传输给接听Listener节点。
该种方法仅在满足冗余路径条件的传输路径上保障数据传输的可靠性,而在不满足冗余路径条件的单一传输路径上无法实现数据的可靠传输,故在单一路径上进行数据传输的可靠性需要解决。
发明内容
为了克服现有技术的不足,本公开提供了一种数据包处理方法、装置及电子设备,能够解决单一路径上进行数据传输的可靠性问题。
根据本公开的第一方面,提供了一种数据包处理方法,所述方法包括:
在接收到数据包后,获取所述数据包对应的序列号;
确定所述序列号是否在序列号历史值中存在;
若所述序列号在序列号历史值中不存在,将所述数据包存储在本地缓存中并发送给数据包接收端;
响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存。
在本公开的一些实施中,在将所述数据包发送给数据包接收端后,所述方法还包括:
启动计时器,记录所述数据包的转发时间;
若在所述数据包的转发时间未达到时间阈值时接收到所述数据包接收端发送的数据包接收确认信息,则执行所述响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存,并关闭所述计时器;
若在所述数据包的转发时间达到时间阈值时没有接收到所述数据包接收端发送的数据包接收确认信息,则再次将所述数据包发送给数据包接收端,重新启动计时器,记录所述数据包的转发时间。
在本公开的一些实施中,所述方法还包括:
检测重发所述数据包的次数是否到达次数阈值;
若到达次数阈值,并且在所述数据包的转发时间达到时间阈值时没有接收到所述数据包接收端发送的数据包接收确认信息,则生成数据包输出失败的警告信息。
在本公开的一些实施中,所述方法还包括:
若所述序列号在序列号历史值中存在,则将所述数据包确定为冗余数据包,对所述数据包进行丢弃处理。
在本公开的一些实施中,在接收到数据包后,所述方法还包括:
将所述数据包放入队列中。
在本公开的一些实施中,所述将所述数据包存储在本地缓存中包括:
将所述数据缓存在所述队列中。
根据本公开的第二方面,提供一种数据包处理方法,所述方法包括:
接收网络节点发送的数据包;
向所述数据包发送接收到所述数据包的数据包接收确认信息。
根据本公开的第三方面,提供一种数据包处理装置,所述装置包括:
获取单元,用于在接收到数据包后,获取所述数据包对应的序列号;
确定元,用于确定所述序列号是否在序列号历史值中存在;
发送单元,用于若所述序列号在序列号历史值中不存在,将所述数据包发送给数据包接收端;
存储单元,用于将所述数据包存储在本地缓存中;
操作单元,用于响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存。
根据本公开的第四方面,提供一种数据包处理装置,所述装置包括:
接收单元,用于接收网络节点发送的数据包;
发送单元,用于向所述数据包发送接收到所述数据包的数据包接收确认信息。
根据本公开的第五方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面所述的方法或者第二方面所述的方法。
根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行前述第一方面所述的方法或者第二方面所述的方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如前述第一方面所述的方法或者第二方面所述的方法。
本公开提供的数据包处理方法、装置及电子设备,本公开的实施例,当接收到数据包后,获取所述数据包对应的序列号,确定所述序列号是否在序列号历史值中存在,当所述序列号在序列号历史值中不存在时,将所述数据包存储在本地缓存中并发送给数据包接收端,并且在接收到所述数据包接收端发送的数据包接收确认信息时,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存;通过数据接收节点反馈的接收该数据包成功信息后,才将数据包从缓存中移出,本公开能够适用于单一路径,保障了单一路径上数据包传输的可靠性。并且在确定数据传输成功时,将该数据包对应的序列号存储在序列号历史值中,在一定程度上提升了数据传输冗余筛选的效率,只有历史上没有传输成功或者没有传输的数据才进行转发给数据包接收端。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例提供的网络节点侧的一种数据包处理方法的流程示意图;
图2为本公开实施例提供的网络节点侧的另一种数据包处理方法的流程示意图;
图3为本公开实施例提供的网络节点侧的另一种数据包处理方法的流程示意图;
图4为本公开实施例提供的终端设备侧的一种数据包处理环境构建示意图;
图5为本公开实施例提供的网络节点侧的一种数据包处理装置的结构示意图;
图6为本公开实施例提供的网络节点侧的另一种数据包处理装置的结构示意图;
图7为本公开实施例提供的网络节点侧的另一种数据包处理装置的结构示意图;
图8为本公开实施例提供的网络节点侧的另一种数据包处理装置的结构示意图;
图9为本公开实施例提供的终端设备侧的一种数据包处理装置的结构示意图;
图10为本公开实施例提供的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面参考附图描述本公开实施例的数据包处理方法、装置及电子设备
当前进行数据包冗余传输时,谈话Talker节点发出的数据包,经过Tsn SwitchA交换机的CB流分离功能复制出两个数据包,分别经过冗余路径1和冗余路径2进行传输,该两个数据包到达SwichC交换机,在SwichC交换机经过CB消除冗余功能删除其中一个冗余包,保留一个数据包,并将该数据包传输给接听Listener节点。
该种方法仅在满足冗余路径条件的传输路径上保障数据传输的可靠性,而在不满足冗余路径条件的单一传输路径上无法实现数据的可靠传输,故在单一路径上进行数据传输的可靠性需要解决。
为了解决上述问题,图1为本公开实施例所提供的一种数据包处理方法的流程示意图。该方法为网络节点侧的方法,比如可以为交换机节点的方法,如图1所示,该方法应用于测试上位机端,该方法包含以下步骤:
步骤101,在接收到数据包后,获取所述数据包对应的序列号。
其中,本公开的实施例,每个数据包中均有预设置的字段信息,该字段信息中包括该序列号。具体的,在Tsn网络中,IEEE 802.1 CB协议利用流识别(streamidentification)功能识别出当前数据流所属的流识别标识(Stream handled id),流识别能够提取出该Stream handled id的数据流所对应的序列号(Sequence number)的字段信息,Sequence number值标识着Talker端发送该类数据流的数据包的序号。
步骤102,确定所述序列号是否在序列号历史值中存在。
本公开的实施例,在进行数据包的转发时,若转发成功则记录该数据包的序列号值,并将该序列号值作为序列号历史值,让新到达数据包时,会获取该新到达数据包的序列号,将该获取的序列号与历史序列号值进行比对,确定在历史序列号值中是否存在于该获取的序列号相同的历史序列号值,若存在,则确定该数据包已经被转发出去,并且转发成功,新到达的数据包为冗余数据包,可以不进行相关的处理,直接进行丢失。若不存在,说明新到达的数据包为没有转发成功的数据包或者新的数据包,需要重新进行转发,以便数据包接收端成功接收该数据包。
在IEEE 802.1CB协议中记录一定长度的Sequence number标记历史值。
步骤103、若所述序列号在序列号历史值中不存在,将所述数据包存储在本地缓存中并发送给数据包接收端。
基于上述的描述,若所述序列号在序列号历史中不存在,说明该数据包为没有转发成功的数据包或者新的数据包,需要重新进行转发,以便数据包接收端成功接收该数据包。
为了能够成功的将该数据包转发成功,在将数据包转发出去的同时,会将该数据包存储在网络节点存储中,以便该次转发不成功时的重传。
步骤104、响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存。
本公开的实施例需要说明的是,网络节点将该数据包转发出去之后,若对应的数据包接收端能够接收到该数据包,其会反馈数据包接收成功的确认信息,以便网络节点获知数据包传输成功。当网络节点接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中,并将所述数据包移出网络节点的本地缓存。
本公开的实施例提供一种数据包处理方法,该方法应用于终端设备侧,如图2所示,所述方法包括:
201、接收网络节点发送的数据包。
终端设备侧接收网络节点发送的数据包,该数据包可能能够接收到,也可能基于网络的情况在传输的过程中被丢掉而接收不到。
202、向所述数据包发送接收到所述数据包的数据包接收确认信息。
终端设备一旦接收到数据包,将向数据包发送方发送接收到所述数据包的数据包接收确认信息。
本公开的实施例,当接收到数据包后,获取所述数据包对应的序列号,确定所述序列号是否在序列号历史值中存在,当所述序列号在序列号历史值中不存在时,将所述数据包存储在本地缓存中并发送给数据包接收端,并且在接收到所述数据包接收端发送的数据包接收确认信息时,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存;通过数据接收节点反馈的接收该数据包成功信息后,才将数据包从缓存中移出,保障了单一路径上数据包传输的可靠性。并且再确定数据传输成功时,将该数据包对应的序列号存储在序列号历史值中,在一定程度上提成了数据传输冗余筛选的效率,只有历史上没有传输成功或者没有传输的数据才进行转发给数据包接收端。
在本公开的一些实施中,为了保证数据包传输的可靠性,本公开的实施例除了设置数据包传输确认机制之外,还设置了数据包重传机制,该数据包重传机制通过设置传输计时器进行,具体的如图3所述,该数据包处理方法包括:
步骤301、在接收到数据包后,获取所述数据包对应的序列号。
关于数据包以及序列号的相关描述参考图1相关的描述,本公开的实施例对此不进行限制。
步骤302、确定所述序列号是否在序列号历史值中存在;若所述序列号在序列号历史值中不存在,执行步骤303、若所述序列号在序列号历史值中不存在,执行步骤308。
关于确定所述序列号是否在序列号历史值中存在的相关描述参考图1相关的描述,本公开的实施例对此不进行限制。
步骤303、将所述数据包存储在本地缓存中。
步骤304、将所述数据包发送给数据包接收端。
步骤305、启动计时器,记录所述数据包的转发时间。
步骤306、检测在在所述数据包的转发时间未达到时间阈值时是否接收到所述数据包接收端发送的数据包接收确认信息;若在所述数据包的转发时间未达到时间阈值时接收到所述数据包接收端发送的数据包接收确认信息,则执行步骤307;若在所述数据包的转发时间达到时间阈值时没有接收到所述数据包接收端发送的数据包接收确认信息,则执行步骤304。
步骤307、响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存,并关闭所述计时器。
步骤308、将所述数据包确定为冗余数据包,对所述数据包进行丢弃处理。
本公开的实施例,还设置了数据包重传机制,该数据包重传机制通过计时器的超时处理实现,在一定程度上保证了单一传输路径上数据传输的可靠性。
基于上述描述,本公开的实施例虽然设置了重传机制,但是不能将数据包进行无限次的重传,故在进行重传时,设置了重传次数的次数阈值,具体的,如图4所示,包括:
步骤309、检测重发所述数据包的次数是否到达次数阈值;若到达次数阈值,并且在所述数据包的转发时间达到时间阈值时没有接收到所述数据包接收端发送的数据包接收确认信息,则执行步骤310;若没有到达次数阈值,执行步骤304。
该处需要说明的是,该次数阈值可以根据实际传输资源情况确定,比如3次,或者2次,具体的本公开的实施例对此不进行限制。
步骤310、生成数据包输出失败的警告信息。
本公开的实施例,在设置重传机制的基础上,进一步限定了重传的次数,以便于进行传输资源的控制,并且在多次重传不成功的情况下,会生成告警信息,便于后续使用。
在本公开的一些实施例中,为了方便数据包的顺序处理,在在接收到数据包后,所述方法还包括但不限于将所述数据包放入队列中。基于队列先进先出的特性进行数据包的顺序处理。当然,本公开的实施例对此不进行限制,也可以使用其他的数据处理管理方法。当使用队列对接收到的数据包进行缓存时,当对一个数据包进行转发时,可以将该数据包缓存在队列中,具体的本公开的实施例对此也不进行限制。
本公开的实施例,在IEEE 802.1 CB协议数据帧处理方案基础上增加重传机制,进而提升数据传输可靠性。以下实施例将以数据包缓存在队列中为例进行具体描述,方案描述如下,图5所示。
在网络节点端(TSN Switch端),新到达一包数据时,数据包进入Queue中进行缓存,同时解析数据包Sequence number的值,并在序列号历史值中查询是否有匹配的序列号,当有匹配的序列号时,当确定当前数据包为冗余包,将Queue中缓冲的数据包执行出队处理,并进行丢弃处理。当没有匹配的序列号时,则将当前数据包的Sequence number标记在序列号历史值中,将Queue中缓冲的该数据包执行预出队处理,将数据包通过相应端口转发出去,该数据包实际仍存于队列中,并非真正出队。当启动预出队处理时,启动一个计时器(Timer),记录当前预出队数据包转发时间。该计时器未达到超时时刻时收到了数据包接收端(End Point)返回的确认帧(即确认信息)时,则实行真正的数据包出队处理,同时关闭计时器功能。该计时器达到超时时刻时仍未收到End Point返回的确认帧时,TSN Switch端则将Sequence number所对应的数据包从Queue中取出,再次执行预出队处理,并再次重启启动计时器计时功能。当超时重发达到预设次数时,则强行将Sequence number所对应的数据包从Queue中执行出队,不再对该数据包无限执行重传处理,并产生一次警告信息。
在End Point端,当收到TSN Switch端发送过来的数据包后,立即向TSN Switch端发送一个确认帧,利用ack机制以响应TSN Switch端。
本公开的实施例,在TSN CB协议的冗余传输基础上,结合了预出队处理方法以及超时重传方法并结合上层(网络传输层或业务层)简单的ack机制对上层协议、业务提供了可靠性传输机制。
与上述的基数据包处理方法相对应,本发明还提出一种数据包处理装置。由于本发明的装置实施例与上述的方法实施例相对应,对于装置实施例中未披露的细节可参照上述的方法实施例,本发明中不再进行赘述。
图6为本公开实施例提供的一种数据包处理装置的结构示意图,该装置应用在网络节点侧,如图6所示,所述装置包括:
获取单元401,用于在接收到数据包后,获取所述数据包对应的序列号;
确定单元402,用于确定所述序列号是否在序列号历史值中存在;
发送单元403,用于若所述序列号在序列号历史值中不存在,将所述数据包发送给数据包接收端;
存储单元404,用于将所述数据包存储在本地缓存中;
操作单元405,用于响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述数据包接收端发送的数据包接收确认信息。
在一些实施例中,如图7所示,该数据包处理装置还包括:
计时器单元406,用于在将所述数据包发送给数据包接收端后,启动计时器,记录所述数据包的转发时间;
所述操作单元405,用于若在所述数据包的转发时间未达到时间阈值时接收到所述数据包接收端发送的数据包接收确认信息,则执行所述响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存,并关闭所述计时器;
所述发送单元403,用于若在所述数据包的转发时间达到时间阈值时没有接收到所述数据包接收端发送的数据包接收确认信息,则再次将所述数据包发送给数据包接收端;
所述计时器单元406,用于重新启动计时器,记录所述数据包的转发时间。
在本公开的一些实施例中,如图8所示,所述数据包处理装置还包括:
检测单元407,用于检测重发所述数据包的次数是否到达次数阈值;
生成单元408,用于若到达次数阈值,并且在所述数据包的转发时间达到时间阈值时没有接收到所述数据包接收端发送的数据包接收确认信息,则生成数据包输出失败的警告信息。
在本公开的一些实施例中,所述操作单元405,还用于若所述序列号在序列号历史值中存在,则将所述数据包确定为冗余数据包,对所述数据包进行丢弃处理。
在本公开的一些实施例中,所述存储单元404,还用于在接收到数据包后,将所述数据包放入队列中。
在本公开的一些实施例中,所述存储单元404,还将所述数据包缓存在所述队列中。
本公开的实施例还提供一种数据包处理装置,该装置应用在终端设备侧,如图9所示,所述装置包括:
接收单元501,用于接收网络节点发送的数据包;
发送单元502,用于向所述数据包发送接收到所述数据包的数据包接收确认信息。
需要说明的是,由于本公开的装置实施例与上述的方法实施例相对应,前述对方法实施例的解释说明,也适用于本实施例的装置,原理相同,对于装置实施例中未披露的细节可参照上述的方法实施例,本公开中不再进行赘述。
本公开的实施例,当接收到数据包后,获取所述数据包对应的序列号,确定所述序列号是否在序列号历史值中存在,当所述序列号在序列号历史值中不存在时,将所述数据包存储在本地缓存中并发送给数据包接收端,并且在接收到所述数据包接收端发送的数据包接收确认信息时,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存;通过数据接收节点反馈的接收该数据包成功信息后,才将数据包从缓存中移出,保障了单一路径上数据包传输的可靠性。并且再确定数据传输成功时,将该数据包对应的序列号存储在序列号历史值中,在一定程度上提成了数据传输冗余筛选的效率,只有历史上没有传输成功或者没有传输的数据才进行转发给数据包接收端。
并且,本公开的实施例,还设置了数据包重传机制,该数据包重传机制通过计时器的超时处理实现,在一定程度上保证了单一传输路径上数据传输的可靠性。
进一步的,本公开的实施例,在设置重传机制的基础上,进一步限定了重传的次数,以便于进行传输资源的控制,并且在多次重传不成功的情况下,会生成告警信息,便于后续使用。
图10示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备600包括计算单元601,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)602中的计算机程序或者从存储单元608加载到RAM(Random AccessMemory,随机访问/存取存储器)603中的计算机程序,来执行各种适当的动作和处理。在RAM603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。I/O(Input/Output,输入/输出)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据包处理方法。例如,在一些实施例中,数据包处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行前述数据包处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (10)

1.一种数据包处理方法,其特征在于,所述方法包括:
在接收到数据包后,获取所述数据包对应的序列号;
确定所述序列号是否在序列号历史值中存在;
若所述序列号在序列号历史值中不存在,将所述数据包存储在本地缓存中并发送给数据包接收端;
响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存。
2.根据权利要求1所述的方法,其特征在于,在将所述数据包发送给数据包接收端后,所述方法还包括:
启动计时器,记录所述数据包的转发时间;
若在所述数据包的转发时间未达到时间阈值时接收到所述数据包接收端发送的数据包接收确认信息,则执行所述响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述本地缓存,并关闭所述计时器;
若在所述数据包的转发时间达到时间阈值时没有接收到所述数据包接收端发送的数据包接收确认信息,则再次将所述数据包发送给数据包接收端,重新启动计时器,记录所述数据包的转发时间。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
检测重发所述数据包的次数是否到达次数阈值;
若到达次数阈值,并且在所述数据包的转发时间达到时间阈值时没有接收到所述数据包接收端发送的数据包接收确认信息,则生成数据包输出失败的警告信息。
4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
若所述序列号在序列号历史值中存在,则将所述数据包确定为冗余数据包,对所述数据包进行丢弃处理。
5.根据权利要求4所述的方法,其特征在于,在接收到数据包后,所述方法还包括:
将所述数据包放入队列中。
6.根据权利要求5所述的方法,其特征在于,所述将所述数据包存储在本地缓存中包括:
将所述数据包缓存在所述队列中。
7.一种数据包处理方法,其特征在于,所述方法包括:
接收网络节点发送的数据包;
向所述数据包发送方发送接收到所述数据包的数据包接收确认信息。
8.一种数据包处理装置,其特征在于,所述装置包括:
获取单元,用于在接收到数据包后,获取所述数据包对应的序列号;
确定单元,用于确定所述序列号是否在序列号历史值中存在;
发送单元,用于若所述序列号在序列号历史值中不存在,将所述数据包发送给数据包接收端;
存储单元,用于将所述数据包存储在本地缓存中;
操作单元,用于响应于接收到所述数据包接收端发送的数据包接收确认信息,将所述序列号标记在所述序列号历史值中并将所述数据包移出所述数据包接收端发送的数据包接收确认信息。
9.一种数据包处理装置,其特征在于,所述装置包括:
接收单元,用于接收网络节点发送的数据包;
发送单元,用于向所述数据包发送接收到所述数据包的数据包接收确认信息。
10.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法或者权利要求7所述的方法。
CN202210986972.7A 2022-08-17 2022-08-17 数据包处理方法、装置及电子设备 Pending CN117675119A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210986972.7A CN117675119A (zh) 2022-08-17 2022-08-17 数据包处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210986972.7A CN117675119A (zh) 2022-08-17 2022-08-17 数据包处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN117675119A true CN117675119A (zh) 2024-03-08

Family

ID=90077331

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210986972.7A Pending CN117675119A (zh) 2022-08-17 2022-08-17 数据包处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117675119A (zh)

Similar Documents

Publication Publication Date Title
JP2022552986A (ja) 情報送信方法、装置、読み取り可能な記憶媒体及び電子装置
WO2017202290A1 (zh) 语音数据传输方法及装置
CN114978433B (zh) 数据传输方法、装置、设备、存储介质及计算机程序产品
CN115002047A (zh) 一种远程直接数据存取方法、装置、设备以及存储介质
CN111385068B (zh) 数据传输方法、装置、电子设备及通信系统
CN108063809B (zh) 机器设备数据采集方法以及采集系统
CN112994851B (zh) 一种支持差异化可协商的并行数据通信方法及装置
CN117675119A (zh) 数据包处理方法、装置及电子设备
CN112925297A (zh) 自动驾驶算法验证方法、装置、设备、存储介质及产品
CN114979022B (zh) 远程直接数据存取的实现方法、装置、适配器和存储介质
CN112235279B (zh) 用于应用间通信的方法、装置、电子设备及可读存储介质
CN113301029A (zh) 数据发送方法、装置、设备以及存储介质
CN113691628A (zh) 任务切换方法和装置、系统、电子设备、计算机介质
US9361191B2 (en) Methods and apparatus for data recovery following a service interruption at a central processing station
CN114401208A (zh) 数据传输方法、装置、电子设备和存储介质
CN115001630B (zh) 数据传输方法、装置、设备以及存储介质
CN115484210B (zh) 拥塞窗口的确定方法、装置与系统
CN114363209B (zh) 基于tcp网络的性能探测方法、装置、设备和存储介质
CN116760741B (zh) 一种数据状态监控方法、装置、设备及介质
CN113783769B (zh) 自动驾驶中传输消息的方法、装置及中继设备
CN114979001B (zh) 基于远程直接数据存取的数据传输方法、装置以及设备
CN114202947B (zh) 车联网数据传输方法、装置及自动驾驶车辆
CN114035705B (zh) 一种基于Socket消息的智慧屏数据处理方法
CN117573393A (zh) 消息的分级存储方法及装置、电子设备和存储介质
CN113079382A (zh) 消息传输方法、装置、设备、系统和存储介质

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