CN115102875B - 一种数据包处理方法、装置、设备及介质 - Google Patents

一种数据包处理方法、装置、设备及介质 Download PDF

Info

Publication number
CN115102875B
CN115102875B CN202210836335.1A CN202210836335A CN115102875B CN 115102875 B CN115102875 B CN 115102875B CN 202210836335 A CN202210836335 A CN 202210836335A CN 115102875 B CN115102875 B CN 115102875B
Authority
CN
China
Prior art keywords
data packet
state
processing
characteristic information
packet
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.)
Active
Application number
CN202210836335.1A
Other languages
English (en)
Other versions
CN115102875A (zh
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202210836335.1A priority Critical patent/CN115102875B/zh
Publication of CN115102875A publication Critical patent/CN115102875A/zh
Application granted granted Critical
Publication of CN115102875B publication Critical patent/CN115102875B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种数据包处理方法、装置、设备及介质;其中,所述方法包括:若接收到数据包,获取所述数据包的包特征信息;其中,所述包特征信息包括所述数据包中至少部分数据的特征信息;基于所述包特征信息,确定第一状态;其中,所述第一状态至少包括所述数据包是否被复用的状态;基于所述第一状态,对所述数据包进行处理。

Description

一种数据包处理方法、装置、设备及介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据包处理方法、装置、设备及介质。
背景技术
在网络数据包处理过程中,比如云计算数据面的数据包处理过程中,数据包需要经过分布式交换机以及分布式路由器等多种网络设备中拆分、解析、以及编辑等处理后,才能被转发至目标设备。然而,在上述数据包传输处理过程中,数据包被不同设备和/或模块复用的风险较高,但相关技术中缺乏能够实时检测数据包复用状态的有效手段。因此,如何实时且精准的确定数据包的复用状态,对数据包的稳定传输至关重要。
发明内容
基于以上问题,本申请实施例提供了一种数据包处理方法、装置、设备及介质。
本申请实施例提供的技术方案是这样的:
本申请实施例首先提供了一种数据包处理方法,所述方法包括:
若接收到数据包,获取所述数据包的包特征信息;其中,所述包特征信息包括所述数据包中至少部分数据的特征信息;
基于所述包特征信息,确定第一状态;其中,所述第一状态至少包括所述数据包是否被复用的状态;
基于所述第一状态,对所述数据包进行处理。
在一些实施例中,所述包特征信息包括所述数据包的传输特征信息;所述获取所述数据包的包特征信息,包括:
获取所述数据包中的地址数据;
对所述地址数据进行特征提取,得到所述传输特征信息。
在一些实施例中,所述基于所述包特征信息,确定第一状态,包括:
获取特征信息集合;其中,所述特征信息集合包括处理所述数据包的设备或模块添加的传输特征信息;
若所述特征信息集合不为空,且所述特征信息集合中的特征信息与所述传输特征信息匹配,确定所述第一状态为所述数据包处于被复用状态。
在一些实施例中,所述特征信息集合中的特征信息还包括处理所述数据包的设备或模块的标识信息;所述确定所述第一状态为所述数据包处于被复用状态之后,还包括:
从所述特征信息集合中获取目标特征信息;其中,所述目标特征信息包括所述特征信息集合中与所述传输特征信息匹配的特征信息;
从所述目标特征信息中获取目标标识信息;其中,所述目标标识信息包括当前处理所述数据包的设备或模块的标识信息;
输出所述目标标识信息。
在一些实施例中,所述基于所述包特征信息,确定第一状态,还包括:
若所述特征信息集合不为空、且所述特征信息集合中的特征信息与所述传输特征信息不匹配,或者所述特征信息集合为空,获取所述数据包的处理标识;
若所述处理标识为第一标识,确定所述第一状态为所述数据包处于被复用状态;
若所述处理标识为第二标识,确定所述第一状态为所述数据包处于未被复用状态。
在一些实施例中,所述方法还包括:
若所述第一状态表示所述数据包处于未被复用状态,在处理所述数据包之前,添加所述传输特征信息至所述特征信息集合。
在一些实施例中,所述方法还包括:
若所述第一状态表示所述数据包处于未被复用状态,在所述数据包处理结束之后,从所述特征信息集合中去除所述传输特征信息。
在一些实施例中,所述方法还包括:
获取第二状态;其中,所述第二状态包括处理信息的更新状态;所述处理信息包括对所述数据包进行处理的信息;
若所述第二状态表示所述处理信息处于已更新状态,清空所述特征信息集合。
在一些实施例中,所述基于所述第一状态,对所述数据包进行处理,包括:
若所述第一状态表示所述数据包处于未被复用状态,设置所述数据包的处理标识为第一标识;
在所述数据包处理结束之后,设置所述处理标识为第二标识。
本申请实施例还提供了一种数据包处理装置,所述装置包括:
获取模块,用于若接收到数据包,获取数据包的包特征信息;其中,所述包特征信息包括所述数据包中至少部分数据的特征信息;
确定模块,用于基于所述包特征信息,确定第一状态;其中,所述第一状态至少包括所述数据包是否被复用的状态;
处理模块,用于基于所述第一状态,对所述数据包进行处理。
本申请实施例还提供了一种数据包处理设备,所述设备包括处理器以及存储器;所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如前任一所述的数据包处理方法。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时,能够实现如前任一所述的数据包处理方法。
本申请实施例提供的数据包处理方法中,数据包的包特征信息能够表征数据包中至少部分数据的特征信息,那么,基于包特征信息确定数据包是否处于被复用的状态即第一状态,能够有效提高第一状态的精准度,从而使得在基于第一状态对数据包进行处理时,能够大大提高数据包处理的稳定性;并且,在接收到数据包时,就能够确定数据包是否处于被复用的状态,从而实现了对数据包复用状态的实时确定,进而实现了对数据包的复用状态的实时精准确定。
附图说明
图1为本申请实施例提供的数据包处理方法的流程示意图;
图2为本申请实施例提供的数据包处理方法的另一流程示意图;
图3为本申请实施例提供的数据包处理方法的又一流程示意图;
图4为本申请实施例提供的与图3对应的数据包处理方法的另一流程示意图;
图5为本申请实施例提供的设置处理标识的流程示意图;
图6为本申请实施例提供的模块对处理标识进行设置的流程示意图;
图7为本申请实施例提供的数据包处理装置的结构示意图;
图8为本申请实施例提供的数据包处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在网络数据包处理过程中,数据包在不同的设备和/或模块之间传输时,可能出现同时被至少两个设备和/或模块处理的状态,即可能会出现数据包复用的风险,从而导致数据传输的失败。
比如在云计算数据面中,通过用户态网络协议栈能够实现虚拟的分布式交换机以及分布式路由器,并通过这些设备对数据包进行处理,网卡在接收到数据包后,根据与其连接的网络设备类型,设置用于接收数据包的设备类型,并对数据包进行封装得到mbuf,然后将mbuf添加至转发队列或目的网口的发送队列中,以供各种虚拟网络设备对数据包进行处理。
然而,在虚拟网络设备处理mbuf的过程中,虚拟网络设备中的各种模块比如分布式防火墙、服务质量(Quality of Service,QOS)模块、地址解析协议(Address ResolutionProtocol,ARP)模块、以及session nat模块等在处理mbuf时,这些模块可能缓存并处理mbuf中的数据包,也有可能直接将mbuf转发至目的网络的发送队列或转发队列。若上述任一模块处理mbuf时,其它模块也处理mbuf,则会导致mbuf的复用,从而导致数据包的处理流程出现严重异常,比如mbuf被缓存的同时被其它模块修改,此时,两个不同模块同时处理mbuf可能会导致整个数据面的崩溃。
而在实际应用中并不存在有效的数据包检测机制,而只能在数据包复用问题出现之后,通过GNU调试器(GNU Debugger,GDB)分析问题出现的core文件,以确定是否为mbuf复用导致的异常。这样的技术方案滞后性很强,且精确度较低,人力成本以及时间成本较高,无法从根本上解决数据包比如mbuf复用导致的异常问题。
因此,在网络数据传输过程中,比如在云计算数据面的数据处理过程中,如何实时的且精准的确定数据包mbuf的复用状态,对于云计算数据面的数据处理过程显得至关重要。
基于以上问题,本申请实施例提供了一种数据包处理方法、装置、设备及介质。本申请实施例提供的数据包处理方法,在接收到数据包之后,就能够获取数据包的包特征信息,并根据数据包的包特征信息确定数据包的复用状态,再根据复用状态确定如何对数据包进行处理,从而实时且精准确定数据包的复用状态,进而能够大大降低由于数据包复用导致的网络数据处理异常的概率。
需要说明的是,本申请实施例提供的数据包处理方法,可以通过数据包处理设备的处理器实现,上述数据包处理设备可以为能够实现数据包处理方法的电子设备;示例性的,上述处理器可以为特定用途集成电路(Application Specific Integrated Circuit,ASIC)、数字信号处理器(Digital Signal Processor,DSP)、数字信号处理装置(DigitalSignal Processing Device,DSPD)、可编程逻辑装置(Programmable Logic Device,PLD)、现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)、中央处理器(CentralProcessing Unit,CPU)、控制器、微控制器、微处理器中的至少一种。
需要说明的是,本申请实施例中的数据包可以包括网络数据传输以及数据处理过程中、涉及到数据包复用风险的任意数据包,比如mbuf。
图1为本申请实施例提供的数据包处理方法的流程示意图,如图1所示,该处理方法可以包括步骤101至步骤103:
步骤101、若接收到数据包,获取数据包的包特征信息。
其中,包特征信息包括数据包中至少部分数据的特征信息。
示例性的,若未接收到数据包,则可以不执行获取包特征信息的操作。
在一种实施方式中,数据包可以是从队列中获取的;示例性的,队列可以包括任意数据包转发队列;示例性的,数据包可以是从端口获取的,其中,端口可以包括硬件端口或虚拟端口;示例性的,端口可以包括socket端口。
在一种实施方式中,数据包可以具备指定数据结构,也就是说,数据包中可以包括至少两种数据,各个数据之间的组织形式与指定数据结构可以一致。
在一种实施方式中,数据包的数量可以为多个;示例性的,在数据包的数量为多个的条件下,各个数据包可以来自不同的设备或模块,也可以来自不同的端口,本申请实施例对此不作限定。
在一种实施方式中,数据包中至少部分数据可以包括数据包中指定类型的数据,比如数据包携带的传输数据;示例性的,指定类型可以包括至少两种类型。
在一种实施方式中,包特征信息,可以包括数据包中至少两种数据的组织形式,示例性的,包特征信息可以包括指定数据结构;示例性的,包特征信息还可以包括数据包中至少两种数据的特征信息,比如数据包所携带的传输数据的数据类型、数据量大小、以及数据包的生成时间等。
在一种实施方式中,包特征信息可以是接收到数据包的模块或设备对数据包进行解析而得到的;示例性的,包特征信息可以包含在数据包的预留字段中,接收到数据包的模块或设备可以从数据包的预留字段中获取包特征信息。
步骤102、基于包特征信息,确定第一状态。
其中,第一状态至少包括数据包是否被复用的状态。
在一种实施方式中,第一状态可以包括数据包处于被复用的状态;示例性的,第一状态可以包括数据包处于被多个设备复用的状态;示例性的,第一状态可以包括数据包处于未被复用的状态。
示例性的,第一状态可以是通过以下方式确定的:
基于包特征信息与目标包特征信息之间的匹配关系,确定第一状态;示例性的,若包特征信息与目标包特征信息不匹配,则可以确定第一状态为数据包处于被复用状态;示例性的,若包特征信息与目标包特征信息匹配,则可以确定第一状态为数据包处于未被复用状态;示例性的,目标包特征信息可以根据数据包对应的业务处理过程的业务数据类型、业务传输路径、业务传输路径中设备或模块的类型、设备或模块的数量中的至少一种确定,本申请实施例对此不作限定。
步骤103、基于第一状态,对数据包进行处理。
示例性的,若第一状态表示数据包处于被复用状态,则可以丢弃数据包,还可以输出提示信息,以提示数据包处于被复用状态;示例性的,若第一状态标识数据包处于未被复用状态,则可以按照当前设备或模块的数据包处理流程,对数据包进行处理。
由以上可知,本申请实施例提供的数据包处理方法,在接收到数据包且获取数据包的包特征信息之后,能够基于包特征信息确定第一状态,并基于第一状态对数据包进行处理。
由此,本申请实施例提供的数据包处理方法,数据包的包特征信息能够表征数据包中至少部分数据的特征信息,那么,基于包特征信息确定数据包是否处于被复用的状态即第一状态,就能够有效提高第一状态的精准度,从而使得基于第一状态对数据包进行处理时,还能够大大提高数据包处理的稳定性;并且,在接收到数据包时,就能够确定数据包是否处于被复用的状态,从而实现了对数据包复用状态的实时确定,进而实现了对数据包的复用状态的实时精准确定。
基于前述实施例,本申请实施例提供的数据包处理方法中,包特征信息包括数据包的传输特征信息。
在一种实施方式中,传输特征信息可以包括数据包传输过程中被转发的跳数信息;比如数据包传输过程中经过的N个设备或模块的转发处理;其中,N为大于或等于1的整数。
在一种实施方式中,传输特征信息可以包括数据包在至少一个设备或模块处理的时长信息,比如在第一设备处理数据包所用的时长为第一时长,第二设备处理数据包所用的时长为第二时长。
在一种实施方式中,传输特征信息可以包括接收和/或发送数据包的信息,比如接收或发送数据包的设备或模块名称、设备或模块类型、以及端口标识中的至少一种信息。
示例性的,获取数据包的包特征信息,可以通过以下方式实现:
获取数据包中的地址数据,对地址数据进行特征提取,得到传输特征信息。
在一种实施方式中,数据包中的地址数据可以包括接收或发送数据包的模块或设备的地址,比如模块或设备的名称、模块或设备的类型、以及设备中的端口号等;示例性的,数据包中的地址信息还可以包括数据包中携带的源媒体介入控制(Media AccessControl,MAC)地址、目标MAC地址、源网络协议(Internet Protocol,IP)地址、目标IP地址、源端口以及目的端口等。
在一种实施方式中,模块或设备的名称、模块或设备的类型、以及设备中的端口号等信息,可以是在各个模块或设备接收到数据包且对数据包处理之后,添加至数据包中的。
在一种实施方式中,包特征信息还可以包括三层协议号、四层协议号、是否分片、虚拟局域网(Virtual Local Area Network,VLAN)、以及服务类型(Type Of Service,TOS)等信息。
示例性的,传输特征信息可以通过以下任一方式得到:
对地址数据中各种类型的地址进行归类,并对归类结果进行特征提取,从而得到处理数据包在网络中传输的特征信息,即传输特征信息。
对地址信息中模块或设备的名称、模块或设备的类型、以及设备中的端口号进行特征提取,从而得到传输特征信息。
由以上可知,本申请实施例提供的数据包处理方法中,包特征信息包括数据包的传输特征信息,在获取数据包中的地址数据,对地址数据进行特征提取后,能够得到传输特征信息。
如此,本申请实施例提供的数据包处理方法,能够对数据包本身携带的地址数据进行特征提取得到数据包的传输特征信息,使得传输特征信息与数据包的数据传输过程一致,从而能够改善传输特征信息的精准度。
基于前述实施例,本申请实施例提供的数据包处理方法中,基于包特征信息,确定第一状态,可以通过以下方式实现:
获取特征信息集合;若特征信息集合不为空,且特征信息集合中的特征信息与传输特征信息匹配,确定第一状态为数据包处于被复用状态。
其中,特征信息集合可以包括处理所述数据包的设备或模块添加的传输特征信息。
示例性的,若特征信息集合为空、或特征信息集合中的特征信息与传输特征信息不匹配,则可以不执行确定第一状态为数据包处于被复用状态的操作。
在一种实施方式中,特征信息集合可以包括当前处理数据包的设备或模块中存储的信息集合;示例性的,特征信息集合可以包括当前处理数据包的设备中多个模块共享的全局信息集合;示例性的,特征信息集合可以把包括设备或模块在处理任意数据包时添加的任意数据包的传输特征信息。
在一种实施方式中,特征信息集合中的特征信息可以是可变的;示例性的,特征信息集合中的特征信息可以是处理数据包的各个设备或模块添加至特征信息集合中的;示例性的,特征信息集合可以包括正在处理数据包的设备或模块添加的传输特征信息。
在一种实施方式中,特征信息集合不为空,可以表示除去当前设备或模块之外的其他设备或模块在处理数据包时,执行了获取传输特征信息、并将传输特征信息添加至特征信息集合的操作,也就是说,接收到数据包的当前设备或模块,可以不为网络结构中接收数据包的首个设备或模块;示例性的,特征信息集合中的特征信息与传输特征信息匹配,可以包括其它设备或模块处理的数据包,与当前设备或模块处理的数据包为同一数据包,即数据包被其它设备或模块以及当前设备或模块复用,因此可以确定第一状态为数据包处于被复用状态。
由以上可知,本申请实施例提供的数据包处理方法,能够获取特征信息集合,并在特征信息集合不为空、且特征信息集合中的特征信息与传输特征信息匹配的条件下,确定第一状态为数据包处于被复用状态。
由此,本申请实施例提供的数据包处理方法,由于特征信息集合是处理数据包的设备或模块添加的,因此,特征信息集合中的特征信息能够精确的体现处理数据包的设备或模块对数据包的处理状态,从而使得根据特征信息集合与传输特征信息之间的匹配关系确定的数据包处于被复用状态,能够精确的体现数据包在数据处理流程中被不同设备或模块使用的状态。
基于前述实施例,本申请实施例提供的数据包处理方法中,特征信息集合中的特征信息还包括处理数据包的设备或模块的标识信息。
在一种实施方式中,处理数据包的设备或模块,可以包括当前时刻正在处理数据包的设备或模块。
在一种实施方式中,处理数据包的设备或模块的标识信息,可以包括处理数据包的设备或模块的名称、类型、功能、以及在网络中所处位置中的至少一种信息,本申请实施例对此不作限定。
示例性的,确定第一状态为数据包处于被复用状态之后,本申请实施例提供的数据包处理方法,还可以包括以下操作:
从特征信息集合中获取目标特征信息,从目标特征信息中获取目标标识信息,输出目标标识信息。
其中,目标特征信息包括特征信息集合中与传输特征信息匹配的特征信息;目标标识信息包括当前处理数据包的设备或模块的标识信息。
在一种实施方式中,在获取目标特征信息以及目标标识信息之后,还可以获取目标特征信息以及目标标识信息的时间信息,并输出时间信息以及目标标识信息。
在一种实施方式中,目标标识信息可以以网络日志的形式输出;示例性的,目标标识信息可以以告警的形式输出;示例性的,目标标识信息可以以文本、音频、以及灯光闪烁中的至少一种形式输出;示例性的,不同的目标标识信息的输出形式可以不同。
在实际应用中,虽然通过GDB能够大概定位数据包复用问题,但无法精确确定导致数据包复用的具体设备或模块,且上述方案的滞后性很强。而本申请实施例提供的数据包处理方法,能够在数据包复用导致数据包处理过程异常之前,就输出目标标识信息,从而能够实现对数据包复用状态的预先精确定位。
由以上可知,本申请实施例提供的数据包处理方法中,在获取目标特征信息之后,能够从目标特征信息中获取并输出目标标识信息,从而不仅能够精确的确定数据包的复用状态,还能够实时的输出数据包被复用的设备或模块的标识,进而能够快速定位导致数据包处于被复用状态的原因以及复用设备或模块,为数据包的稳定传输奠定基础。
基于前述实施例,本申请实施例提供的数据包处理方法中,基于包特征信息,确定第一状态,还可以通过以下方式实现:
若特征信息集合不为空、且特征信息集合中的特征信息与传输特征信息不匹配,或者特征信息集合为空,获取数据包的处理标识;若处理标识为第一标识,确定第一状态为数据包处于被复用状态;若处理标识为第二标识,确定第一状态为数据包处于未被复用状态。
在一种实施方式中,特征信息集合不为空、且特征信息集合中的特征信息与传输特征信息不匹配,可以包括除去当前设备或模块之外的其它设备或模块当前未对数据包进行处理操作。
在一种实施方式中,特征信息集合为空,可以表示当前处理数据包的设备或模块为首个处理数据包的设备或模块;示例性的,特征信息集合为空,还可以包括除去当前设备或模块之外的其它设备或模块已经正确的、安全的结束了它们对数据包的处理流程。
在一种实施方式中,数据包中的处理标识,可以是为了实现本申请实施例提供的数据包处理方案而添加至数据包的预留字段中的、用于表示数据包是否正在被至少一个设备或模块处理的标识;示例性的,处理标识可以通过字符、字符串、数字、以及字符与数字组合中的至少一种表示;示例性的,为了减少处理标识的占用空间,可以用布尔类型(boolean)的变量表示处理标识。
在一种实施方式中,在处理标识以布尔类型(boolean)变量表示的情况下,第一标识可以为0,第二标识可以为1。
在一种实施方式中,处理标识可以是除去当前设备或模块之外的其它设备或模块设置的;示例性的,其它设备或模块在获取数据包之后,通过包特征信息或传输特征信息确定数据包处于未被复用状态时,为了降低在它们对数据包处理过程中、另外的一些设备或模块对数据包同时处理而导致的复用风险,可以在它们对数据包进行处理之前,将处理标识设置为第一标识。
在一种实施方式中,处理标识可以为任意处理数据包的设备或模块均可见的标识,任意处理数据包的设备或模块均可以根据处理标识判断数据包的复用状态。
由以上可知,本申请实施例提供的数据包处理方法,在特征信息集合不为空、且特征信息集合中的特征信息与传输特征信息不匹配、或者特征信息集合为空的情况下,能够进一步获取数据包中的处理标识,并根据处理标识是否为第一标识,确定第一状态是否为数据包处于被复用状态。
由此,本申请实施例提供的数据包处理方法,在通过特征信息集合以及包特征信息或传输特征信息无法精确确定第一状态的情况下,还能够通过数据包中携带的处理标识精确的确定第一状态,如此,不仅能够改善第一状态确定方式的严密性和多样性,而且,由于处理标识是携带在数据包中的,因此,也能改善第一状态与数据包处理状态之间的一致性。
基于前述实施例,本申请实施例提供的数据包处理方法,还可以包括以下操作:
若第一状态表示数据包处于未被复用状态,在处理数据包之前,添加传输特征信息至特征信息集合。
示例性的,若第一状态表示数据包处于被复用状态,且特征信息集合中不存在与传输特征信息匹配的特征信息,则可以添加传输特征信息至特征信息集合;示例性的,若第一状态表示数据包处于被复用状态,且特征信息集合中存在与传输特征信息匹配的特征信息,则可以不执行添加传输特征信息至特征信息集合的操作。
示例性的,在当前设备或模块将传输特征信息添加至特征信息集合之后,其它设备或模块可以获取特征信息集合,并根据特征信息集合中的特征信息与它们获得的传输特征信息之间的匹配关系,确定数据包处于被复用状态,从而降低数据包被不同设备或模块复用的风险。
由以上可知,本申请实施例提供的数据包处理方法中,若第一状态表示数据包处于未被复用状态,在处理数据包之前,添加传输特征信息至特征信息集合中。
如此,本申请实施例提供的数据包处理方法中,任一处理数据包的设备或模块能够在数据包处于未被复用状态、且需要处理数据包情况下,将数据包的传输状态信息添加至特征信息集合中,从而完成特征信息的更新,以供除上述设备或模块的其它设备或模块能够根据更新后的特征信息集合以及传输特征信息,实时的、精准的判断数据包的复用状态,从而能够改善数据包在整个网络传输过程中的稳定性。
基于前述实施例,本申请实施例提供的数据包处理方法,还可以包括以下操作:
若第一状态表示数据包处于未被复用状态,在数据包处理结束之后,从特征信息集合中去除传输特征信息。
示例性的,若第一状态表示数据包处于未被复用状态,或数据包处理过程并未结束,则无需执行从特征信息集合中去除传输特征信息的操作。
示例性的,处理数据包的当前设备或模块的数据处理流程可以仅包括对数据包的处理流程,如此,在当前设备或模块的数据处理流程完全结束之后,可以从特征信息集合中去除传输特征信息;示例性的,若对数据包的处理流程为当前设备或模块的数据处理流程的真子集,则当前设备或模块在结束对数据包的处理流程之后,就可以从特征信息集合中去除传输特征信息。
示例性的,在数据包处理结束之后,从特征信息集合中去除传输特征信息,从而使得当前设备或模块能够及时的释放对数据包的占用状态,以便于其它设备或模块基于特征信息集合的最新状态,对数据包的复用状态进行精确判断。
由以上可知,本申请实施例提供的数据包处理方法中,在第一状态表示数据包处于未被复用状态、且数据包处理结束之后,能够从特征信息集合中去除传输特征信息,从而使得特征信息集合能够实时更新,也使得其它需要处理数据包的设备或模块能够及时的获取与数据包的处理状态一致的特征信息集合,进而改善它们对数据包复用状态判断的精确度。
基于前述实施例,本申请实施例提供的数据包处理方法,还可以包括以下操作:
获取第二状态,若第二状态表示处理信息处于已更新状态,清空特征信息集合。
其中,第二状态包括处理信息的更新状态;处理信息包括对数据包进行处理的信息。
示例性的,若第二状态表示处理信息处于未更新状态,则可以不执行清空特征信息集合的操作。
在一种实施方式中,处理信息可以包括用于处理数据包的逻辑判断信息;示例性的,逻辑判断信息中可以包括多个分支判断条件,以及与各个分支判断条件对应的数据包处理分支;示例性的,处理信息可以包括用于处理数据包的代码信息;示例性的,上述代码信息可以包括可执行代码;示例性的,可执行代码的格式可以包括能够处理数据包的任一代码,本申请实施例对此不作限定。
在一种实施方式中,第二状态可以包括处理信息是否更新的状态;示例性的,可以通过处理信息的版本信息判断处理信息是否更新,比如,若第一时刻获取的第二状态为第一版本,第二时刻获取的第二状态为第二版本,若第一版本与第二版本不同,则通过第一状态以及第二状态可以判断处理信息处于已更新状态。
在一种实施方式中,处理信息可以包括当前设备或模块对数据包进行处理的信息;示例性的,处理信息可以包括网络结构中所有设备或模块对数据包进行处理的信息,也就是说,处理信息可以包括网络结构的整体代码逻辑。
在一种实施方式中,若第二状态表示处理信息处于已更新状态,可以表示当前设备或模块、网络结构中所有设备或模块对数据包的处理流程已经发生改变,此时特征信息集合中存储的特征信息与处理信息之间已经处于异步状态,为了实现二者之间的同步,可以清空特征信息集合。
示例性的,特征信息集合的存储容量可以随网络结构、业务类型、以及网络稳定性中的至少一个而确定或调整,也就是说,特征信息集合中能够存储的特征信息的数量可以是有限的;示例性的,特征信息集合中能够存储的特征信息的数量比如为M,那么,当特征信息集合中存储的特征信息的数量为M或接近M的情况下,可以在指定时段内清空特征信息集合,以供设备或模块向特征信息集合中存储新的传输特征信息;其中,M为大于1的整数。
示例性的,特征信息集合的存储容量可以动态扩大,从而使得设备或模块能够添加多个传输特征信息至特征信息集合中,以改善不同设备或模块基于特征信息集合确定第一状态的精确性。
由以上可知,本申请实施例提供的数据包处理方法中,在第二状态包括处理信息的更新状态、处理信息包括对数据包进行处理的信息的情况下,若第二状态表示处理信息处于已更新状态,则清空特征信息集合。
如此,本申请实施例提供的数据包处理方法中,在对数据包进行处理的处理信息更新时,能够实时的清空特征信息集合,以供各个处理数据包的设备或模块向特征信息集合中添加与更新后的处理信息同步的传输特征信息,从而为各个设备或模块基于特征信息集合精确判断第一状态提供保障。
示例性,在本申请实施例提供的数据包处理方法中,基于第一状态,对数据包进行处理,可以通过以下方式实现:
若第一状态表示数据包处于未被复用状态,设置数据包的处理标识为第一标识;在数据包处理结束之后,设置处理标识为第二标识。
示例性的,若第一状态表示数据包处于被复用状态,则可以通过前述实施例提供的方式,输出目标标识信息。
示例性的,若第一状态表示数据包处于未被复用状态,则设置数据包的处理标识为第一标识;示例性的,第一标识可以包括数据包处于被处理的状态,即数据包被当前设备或模块使用的状态,那么,其它设备或模块根据第一标识可以判断数据包处于被复用状态。
示例性的,在数据包处理结束之后设置处理标识为第二标识,可以表示当前设备或模块对数据包的处理流程已经结束,那么其他设备或模块根据第二标识,可以判断数据包处于未被复用状态,从而启动对它们数据包的处理过程。
由以上可知,本申请实施例提供的数据包处理方法中,若第一状态表示数据包处于未被复用状态,则设置数据包的处理标识为第一标识,并在数据包处理结束之后,设置处理标识为第二标识。
由此,本申请实施例体用的数据包处理方法,在设备或模块处理数据包之前,通过第一标识能够锁定数据包,以降低其被其它设备或模块复用的风险,而在数据包处理结束之后,通过第二标识实时的释放数据包的锁定状态,从而能够提高数据包被其它设备或模块处理的效率,进而能够从整体上提高数据包传输和处理的效率,改善数据包处理和传输的稳定性。
图2为本申请实施例提供的数据包处理方法的另一流程示意图,如图2所示,该流程可以包括在步骤201至步骤203:
步骤201、基于传输特征信息以及特征信息集合确定第一状态。
示例性的,若第一状态表示数据包处于被复用状态,则丢弃数据包,并从特征信息集合中获取目标特征信息,再从目标特征信息中获取并输出目标标识信息。
示例性的,若特征信息集合中不存在与传输特征信息匹配的特征信息、或者特征信息集合为空,则可以初步确定第一状态为数据包处于未被复用状态。
步骤202、若第一状态表示数据包处于未被复用状态,获取处理标识。
示例性的,处理标识可以设置在数据包中,因此,设备或模块可以从数据包中获取处理标识。
步骤203、根据处理标识确定第一状态。
示例性的,若处理标识为第一标识,可以表示数据包处于被复用状态;若处理标识为第二标识可以确定数据包处于未被复用状态。
由以上可知,本申请实施例提供的数据包处理方法中,设备或模块可以根据特征信息集合以及传输特征信息,初步确定第一状态,并基于处理标识进一步确定第一状态,从而不仅改善了第一状态的精准度,还能改善第一状态确定过程的严密性。
图3为本申请实施例提供的数据包处理方法的又一流程示意图,如图3所示,该流程可以包括:
步骤301、网卡接收数据包。
示例性的,网卡接收数据包后,可以根据网卡连接的设备类型将数据包发送到对应的虚拟网络设备中;示例性的,虚拟网络设备可以包括虚拟化的分布式交换机、以及虚拟化的分布式路由器。
步骤302、分布式交换机处理数据包。
示例性的,在分布式交换机接收到数据包之后,可以分别通过防火墙、QOS模块以及地址转发表(Forwarding DataBase,FDB)等对数据包进行处理。
步骤3021、防火墙处理。
示例性的,防火墙可以通过前述实施例提供的数据包处理方法的流程,首先获取数据包的包特征信息,并从包特征信息中获取传输特征信息,同时获取特征信息集合,然后根据特征信息集合中的特征信息与传输特征信息之间的匹配关系,初步断定数据包是否处于被复用状态。
示例性的,若数据包处于被复用状态,则丢弃该数据包,并从特征信息集合中获取目标特征信息以获取目标标识信息,然后输出目标标识信息。
示例性的,若初步断定数据包处于未被复用状态,则获取处理标识,若处理标识为第一标识,则表示数据包处于被复用状态,此时可以丢弃数据包;示例性的,若处理标识为第二标识,则可以表示数据包处于未被复用状态,此时可以设置处理标识为第一标识,并启动对数据包的处理流程,然后在上述处理流程结束之后,将处理标识设置为第二标识。
示例性的,若断定数据包处于未被复用状态,还可以将传输特征信息存储至特征信息集合,并在上述处理流程结束之后,从特征信息集合中去除传输特征信息。
示例性的,通过处理标识在第二标识与第一标识之间的切换、以及特征信息集合中传输特征信息的存储与去除操作,可以实现数据包在分布式交换机中不同模块之间的复用状态的同步,从而改善数据包处理的稳定性。
步骤3022、QOS处理/缓存。
示例性的,QOS对数据包的处理/缓存过程与防火墙对数据包的处理过程相同,此处不再赘述。
步骤3023、FDB表更新查询。
示例性的,FDB表更新查询过程中,对数据包的处理过程与防火墙对数据包的处理过程相同,此处不再赘述。
若分布式路由器接收到网卡发送的数据包,则执行步骤303:
步骤303、分布式路由器处理数据包。
示例性的,分布式路由器处理数据包的过程可以包括以下步骤:
步骤3031、路由查找。
步骤3032、session nat处理。
步骤3033、ARP处理/缓存。
示例性的,分布式路由器中的各个模块对数据包的处理过程,与防火墙对数据包的处理过程相同,此处不再赘述。
示例性的,分布式交换机以及分布式路由器处理数据包结束之后,可以将数据包发送至转发队列或目的网口发送队列。
示例性的,若分布式交换机或分布式路由器处理数据包结束,并将数据包发送至转发队列,则可以执行步骤304:
步骤304、发送数据包至转发队列。
示例性的,若转发队列接收到数据包,则可以执行步骤305:
步骤305、转发队列发送数据包。
示例性的,可以根据数据包的路由信息,确定数据包发送至分布式交换机或分布式路由器;示例性的,处理数据包的进程从转发队列中获取数据包之后,可以执行步骤306:
步骤306、进程发包队列发送数据包。
示例性的,进程获取数据包之后,可以对数据包进行处理,并将处理后的数据包添加至进程发包队列;进程发包队列可以继续发送数据包至分布式交换机或分布式路由器。
示例性的,若发包队列发送数据包至网口,则可以执行步骤307:
步骤307、网口接收并转发数据包。
示例性的,网口接收数据包之后,可以执行步骤308:
步骤308、发送数据包至目的网口。
示例性的,可以根据数据包的路由信息,将数据包发送至目的网口。
示例性的,若分布式交换机或路由器处理数据包结束,并将数据包发送至目的网口发送队列,则可以执行步骤309:
步骤309、发送数据包至目的网口发送队列。
示例性的,发送数据包至目的网口发送队列之后,目的网口可以接收到数据包,并执行步骤307。
示例性的,若分布式交换机、分布式路由器以及目的端口中的任意发送数据包至进程收包队列,则可以执行步骤310:
步骤310、发送数据包至进程收包队列。
示例性的,进程收包队列接收到数据包之后、或者网口接收并转发数据包之后,可以执行步骤311:
步骤311、进程收包队列接收数据包。
示例性的,进程收包队列一旦接收到数据包,就可以重复执行步骤301,将数据包发送至网卡,以启动新的数据包传输和处理流程。
图4为本申请实施例提供的与图3对应的数据包处理方法的另一流程示意图。如图4所示,该流程可以包括以下步骤:
步骤401、网卡接收数据包。
步骤402、转发队列转发数据包。
步骤403、进程转发数据包。
示例性的,网卡、转发队列以及进程可以转发数据包至虚拟设备或虚拟设备中的模块,从而可以执行步骤404:
步骤404、虚拟设备或模块处理数据包。
示例性的,虚拟设备或模块可以基于特征信息集合与传输特征信息、以及处理标识,确定数据包是否处于被复用状态;示例性的,虚拟设备或处理模块还可以向特征信息集合中添加传输特征信息或去除传输特征信息,还可以设置处理标识,此处不再赘述。
步骤405、网口转发数据包。
示例性的,通过前述实施例中的流程,在网口接收到数据包之后,可以执行步骤406:
步骤406、设置处理标识,发送到网口驱动。
步骤407、进程间转发数据包。
示例性的,进程接收到数据包之后,可以执行步骤408。
步骤408、设置处理标识,发送至其它进程。
示例性的,发送数据包至其它进程之后,可以重复执行步骤401,从而实现数据包跨设备、跨进程的传输和处理。
由以上可知,通过采用本申请实施例提供的数据包处理方法,即使数据包在复杂的网络结构中传输,也能够使得每一设备或模块精确的确定数据包的复用状态,从而大大改善数据在网络中传输的稳定性。
图5为本申请实施例提供的设置处理标识的流程示意图,如图5所示,该流程可以包括以下步骤:
步骤501、网口接收到数据包,处理标识为第二标识。
示例性的,网口可以从虚拟设备中接收到数据包,也可以从进程、转发队列中接收到数据包;示例性的,网口接收到的数据包所携带的处理标识可以为第二标识。
示例性的,网口可以发送数据包至虚拟设备;示例性的,第二标识可以表示数据包处于未被复用状态。
步骤502、转发队列接收到数据包,处理标识为第二标识。
示例性的,转发队列可以从进程、网口或虚拟设备接收到数据包;示例性的,转发队列接收到的数据包的处理标识可以为第二标识。
示例性的,转发队列可以将数据包发送至虚拟设备,以供虚拟设备对数据包进行处理。
步骤503、进程接收到数据包,处理标识为第二标识。
示例性的,进程可以从其它进程、转发队列以及网口接收到数据包;示例性的,此处的进程可以包括用于转发数据的进程,进程接收到的数据包中的处理标识可以为第二标识。
示例性的,进程可以发送数据包至虚拟设备。
示例性的,步骤501至503之间的执行顺序可以先后调整,也可以并行执行,本申请实施例对此不作限定。
步骤504、虚拟设备设置处理标识为第一标识,并处理数据包,再设置处理标识为第二标识,然后发送数据包。
示例性的,虚拟设备中的模块可以包括分布式交换机或分布式路由器中的任一模块;示例性的,虚拟设备中的模块可以在处理标识为第二标识的情况下,设置处理标识为第一标识,并处理数据包,然后在数据包处理结束之后,设置处理标识为第二标识,再发送数据包至转发队列、进程或网口,从而实现数据包的传输和处理。
由以上可知,本申请实施例提供的数据包处理方法,转发队列、进程以及网口等不需要对数据包进行解析或处理的模块可以不修改处理标识,而虚拟设备中需要处理数据包的模块可以设置处理标识为第一标识,并在数据包处理结束之后,设置处理标识为第二标识,再发送数据包至进程、转发队列或网口,从而实现能够大大提高数据包复用状态的确定精度,改善数据包在虚拟设备中处理的稳定性。
图6为本申请实施例提供的模块对处理标识进行设置的流程示意图。在图6中,模块可以包括第一模块至第三模块,其中,第一模块至第三模块可以包括分布式交换机中的防火墙、QOS模块以及FDB模块;第一模块至第三模块还可以包括分布式路由器中的路由模块、session nat模块以及ARP模块;示例性的,在实际应用中,对处理标识进行设置的模块可以包括对数据包处理的模块以及模块数量,而不限于以上所列举的模块以及模块数量。如图6所示,该流程可以包括步骤601至步骤603:
步骤601、第一模块获取处理标识,并设置处理标识为第一标识,在数据包处理结束之后,设置处理标识为第二标识。
示例性的,第一模块获取处理标识,可以在处理标识为第二标识的情况下,设置待处理标识为第一标识,并启动数据包处理过程,在数据包处理过程结束之后,可以设置处理标识为第二标识。
步骤602、第二模块获取处理标识,并设置处理标识为第一标识,在数据包处理结束之后,设置处理标识为第二标识。
示例性的,第二模块的处理过程与第一模块的上述处理过程相似,此处不再赘述。
步骤603、第三模块获取处理标识,并设置处理标识为第一标识,在数据包处理结束之后,设置处理标识为第二标识。
示例性的,第三模块的处理过程与第一模块的上述处理过程相似,此处不再赘述。
示例性的,还可以通过第K模块获取处理标识,并在处理标识为第二标识的情况下,设置处理标识为第一标识,然后启动数据包处理过程,在数据包处理结束之后,设置处理标识为第二标识;其中,K为大于3的整数。
示例性的,第一模块至第K模块之间的数据包处理顺序可以先后调整,也可以并行进行,本申请实施例对此不作限定。
由以上可知,本申请实施例提供的数据包处理方法中,任意处理数据包的模块都能够对数据包的处理标识进行检验和设置,从而使得数据包在多个模块之间的复用状态能够实时同步,进一步提高数据包在多个模块之间处理流程的安全性。
基于前述实施例,本申请实施例还提供了一种数据包处理装置7,图7为本申请实施例提供的数据包处理装置7的结构示意图;如图7所示,该装置7可以包括:
获取模块701,用于获取模块,用于若接收到数据包,获取数据包的包特征信息;其中,包特征信息包括数据包中至少部分数据的特征信息;
确定模块702,用于基于包特征信息,确定第一状态;其中,第一状态至少包括数据包是否被复用的状态;
处理模块703,用于基于第一状态,对数据包进行处理。
在一些实施例中,包特征信息包括数据包的传输特征信息;
获取模块701,用于获取数据包中的地址数据;
处理模块703,用于对地址数据进行特征提取,得到传输特征信息。
在一些实施例中,获取模块701,用于获取特征信息集合;其中,特征信息集合包括处理数据包的设备或模块添加的传输特征信息;
确定模块702,用于若特征信息集合不为空,且特征信息集合中的特征信息与传输特征信息匹配,确定第一状态为数据包处于被复用状态。
在一些实施例中,特征信息集合中的特征信息还包括处理数据包的设备或模块的标识信息;
获取模块701,用于从特征信息集合中获取目标特征信息;其中,目标特征信息包括特征信息集合中与传输特征信息匹配的特征信息;
获取模块701,用于从目标特征信息中获取目标标识信息;其中,目标标识信息包括当前处理数据包的设备或模块的标识信息;
数据包处理装置7还包括输出模块,用于输出目标标识信息。
在一些实施例中,获取模块701,用于若特征信息集合不为空、且特征信息集合中的特征信息与传输特征信息不匹配,或者特征信息集合为空,获取数据包的处理标识;
确定模块702,用于若处理标识为第一标识,确定第一状态为数据包处于被复用状态;若处理标识为第二标识,确定第一状态为数据包处于未被复用状态。
在一些实施例中,处理模块703,用于若第一状态表示数据包处于未被复用状态,在处理数据包之前,添加传输特征信息至特征信息集合。
在一些实施例中,处理模块703,用于若第一状态表示数据包处于未被复用状态,在数据包处理结束之后,从特征信息集合中去除传输特征信息。
在一些实施例中,获取模块701,用于获取第二状态;其中,第二状态包括处理信息的更新状态;处理信息包括对数据包进行处理的信息;
处理模块703,用于若第二状态表示处理信息处于已更新状态,清空特征信息集合。
在一些实施例中,处理模块703,用于若第一状态表示数据包处于未被复用状态,设置数据包的处理标识为第一标识;在数据包处理结束之后,设置处理标识为第二标识。
本申请实施例提供的数据包处理装置7,数据包的包特征信息能够表征数据包中至少部分数据本身具备的特征信息,确定数据包是否处于被复用的状态即第一状态,从而能够提高第一状态的精准度,如此,在基于第一状态对数据包进行处理时,还能够大大提高数据包处理的稳定性;并且,在接收到数据包时,就能够确定数据包是否处于被复用的状态,从而实现了对数据包复用状态的实时确定,进而实现了对数据包的复用状态的实时精准确定。
基于前述实施例,本申请实施例还提供了一种数据包处理设备8,图8为本申请实施例提供的数据包处理设备8的结构示意图,如图8所示,该设备可以包括处理器801以及存储器802;其中,存储器802中存储有计算机程序,该计算机程序被处理器801执行时,能够实现如前任一实施例提供的数据包处理方法。
需要说明的是,前述实施例提供的获取模块701、确定模块702、处理模块703以及输出模块,可以通过处理器801实现。
上述处理器801可以为ASIC、DSP、DSPD、PLD、FPGA、CPU、控制器、微控制器、微处理器中的至少一种。
上述存储器802,可以是易失性存储器(volatile memory),例如随机存取存储器(Random Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),flash memory,硬盘驱动器(Hard Disk Drive,HDD)或固态硬盘(Solid State Disk,SSD);或者上述种类的存储器的组合,并向处理器提供指令和数据。
基于前述实施例,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,能够实现如前任一实施例提供的数据包处理方法。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本申请所提供的各方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的各产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的各方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
需要说明的是,上述计算机可读存储介质可以是只读存储器(Read Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器
(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性随机存取存储器(Ferromagnetic Random Access Memory,FRAM)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(Compact Disc Read-Only Memory,CD-ROM)等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备,如移动电话、计算机、平板设备、个人数字助理等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件节点的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所描述的方法。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (12)

1.一种数据包处理方法,其特征在于,所述方法包括:
若接收到数据包,获取所述数据包的包特征信息;其中,所述包特征信息包括所述数据包中至少部分数据的特征信息;
基于所述包特征信息,确定第一状态;其中,所述第一状态至少包括所述数据包是否被复用的状态;
基于所述第一状态,对所述数据包进行处理;
其中,所述第一状态通过以下方式确定:
若包特征信息与目标包特征信息不匹配,则确定第一状态为数据包处于被复用状态;
若包特征信息与目标包特征信息匹配,则确定第一状态为数据包处于未被复用状态;
所述目标包特征信息根据数据包对应的业务处理过程的业务数据类型、业务传输路径、业务传输路径中设备或模块的类型、设备或模块的数量中的至少一种确定。
2.根据权利要求1所述的方法,其特征在于,所述包特征信息包括所述数据包的传输特征信息;所述获取所述数据包的包特征信息,包括:
获取所述数据包中的地址数据;
对所述地址数据进行特征提取,得到所述传输特征信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取特征信息集合;其中,所述特征信息集合包括处理所述数据包的设备或模块添加的传输特征信息;
若所述特征信息集合不为空,且所述特征信息集合中的特征信息与所述传输特征信息匹配,确定所述第一状态为所述数据包处于被复用状态。
4.根据权利要求3所述的方法,其特征在于,所述特征信息集合中的特征信息还包括处理所述数据包的设备或模块的标识信息;所述确定所述第一状态为所述数据包处于被复用状态之后,还包括:
从所述特征信息集合中获取目标特征信息;其中,所述目标特征信息包括所述特征信息集合中与所述传输特征信息匹配的特征信息;
从所述目标特征信息中获取目标标识信息;其中,所述目标标识信息包括当前处理所述数据包的设备或模块的标识信息;
输出所述目标标识信息。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述特征信息集合不为空、且所述特征信息集合中的特征信息与所述传输特征信息不匹配,或者所述特征信息集合为空,获取所述数据包的处理标识;
若所述处理标识为第一标识,确定所述第一状态为所述数据包处于被复用状态;
若所述处理标识为第二标识,确定所述第一状态为所述数据包处于未被复用状态。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述第一状态表示所述数据包处于未被复用状态,在处理所述数据包之前,添加所述传输特征信息至所述特征信息集合。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述第一状态表示所述数据包处于未被复用状态,在所述数据包处理结束之后,从所述特征信息集合中去除所述传输特征信息。
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取第二状态;其中,所述第二状态包括处理信息的更新状态;所述处理信息包括对所述数据包进行处理的信息;
若所述第二状态表示所述处理信息处于已更新状态,清空所述特征信息集合。
9.根据权利要求1所述的方法,其特征在于,所述基于所述第一状态,对所述数据包进行处理,包括:
若所述第一状态表示所述数据包处于未被复用状态,设置所述数据包的处理标识为第一标识;
在所述数据包处理结束之后,设置所述处理标识为第二标识。
10.一种数据包处理装置,其特征在于,所述装置包括:
获取模块,用于若接收到数据包,获取数据包的包特征信息;其中,所述包特征信息包括所述数据包中至少部分数据的特征信息;
确定模块,用于基于所述包特征信息,确定第一状态;其中,所述第一状态至少包括所述数据包是否被复用的状态;
处理模块,用于基于所述第一状态,对所述数据包进行处理;
其中,所述第一状态通过以下方式确定:
若包特征信息与目标包特征信息不匹配,则确定第一状态为数据包处于被复用状态;
若包特征信息与目标包特征信息匹配,则确定第一状态为数据包处于未被复用状态;
所述目标包特征信息根据数据包对应的业务处理过程的业务数据类型、业务传输路径、业务传输路径中设备或模块的类型、设备或模块的数量中的至少一种确定。
11.一种数据包处理设备,其特征在于,所述设备包括处理器以及存储器;所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,能够实现如权利要求1至9任一所述的数据包处理方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时,能够实现如权利要求1至9任一所述的数据包处理方法。
CN202210836335.1A 2022-07-15 2022-07-15 一种数据包处理方法、装置、设备及介质 Active CN115102875B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210836335.1A CN115102875B (zh) 2022-07-15 2022-07-15 一种数据包处理方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210836335.1A CN115102875B (zh) 2022-07-15 2022-07-15 一种数据包处理方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115102875A CN115102875A (zh) 2022-09-23
CN115102875B true CN115102875B (zh) 2024-04-09

Family

ID=83298985

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210836335.1A Active CN115102875B (zh) 2022-07-15 2022-07-15 一种数据包处理方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115102875B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804237B1 (en) * 1999-06-23 2004-10-12 Nortel Networks Limited Method, devices and signals for multiplexing payload data for transport in a data network
CN101931884A (zh) * 2009-06-23 2010-12-29 北京三星通信技术研究有限公司 一种数据同步方法和系统
CN102299779A (zh) * 2011-09-20 2011-12-28 大唐移动通信设备有限公司 一种rlc层重传数据包的检测方法及系统
WO2014017069A1 (ja) * 2012-07-24 2014-01-30 パナソニック株式会社 バスシステムおよび中継器
CN105264855A (zh) * 2013-02-08 2016-01-20 华为技术有限公司 一种实现私网穿越的方法、装置和系统
CN108881328A (zh) * 2018-09-29 2018-11-23 北京东土军悦科技有限公司 数据包过滤方法、装置、网关设备及存储介质
CN110719234A (zh) * 2019-10-17 2020-01-21 南京中孚信息技术有限公司 一种基于dpdk的数据包处理方法及装置
CN110868247A (zh) * 2019-11-20 2020-03-06 哈尔滨工业大学 一种基于事件驱动的卫星遥测数据处理方法、装置及计算机存储介质
WO2020108568A1 (zh) * 2018-11-30 2020-06-04 深圳市中兴微电子技术有限公司 一种信息处理方法、设备及计算机存储介质
CN112491494A (zh) * 2019-09-11 2021-03-12 中国移动通信有限公司研究院 一种编码确定方法、装置、设备及存储介质
CN113132071A (zh) * 2019-12-31 2021-07-16 中国移动通信有限公司研究院 数据传输方法、装置、相关设备及存储介质
CN114285906A (zh) * 2021-12-24 2022-04-05 北京天融信网络安全技术有限公司 报文处理方法、装置、电子设备及存储介质
CN114586426A (zh) * 2020-09-29 2022-06-03 上海诺基亚贝尔股份有限公司 对数据传输配置的指示
WO2022121748A1 (zh) * 2020-12-07 2022-06-16 中国移动通信有限公司研究院 一种数据处理方法、终端及节点

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782199B2 (en) * 1997-10-14 2014-07-15 A-Tech Llc Parsing a packet header
US20100195558A1 (en) * 2009-02-04 2010-08-05 Nokia Corporation Scheduling of dynamically multiplexed services in a wireless network
US9059965B2 (en) * 2009-06-30 2015-06-16 Oracle America, Inc. Method and system for enforcing security policies on network traffic

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804237B1 (en) * 1999-06-23 2004-10-12 Nortel Networks Limited Method, devices and signals for multiplexing payload data for transport in a data network
CN101931884A (zh) * 2009-06-23 2010-12-29 北京三星通信技术研究有限公司 一种数据同步方法和系统
CN102299779A (zh) * 2011-09-20 2011-12-28 大唐移动通信设备有限公司 一种rlc层重传数据包的检测方法及系统
WO2014017069A1 (ja) * 2012-07-24 2014-01-30 パナソニック株式会社 バスシステムおよび中継器
CN105264855A (zh) * 2013-02-08 2016-01-20 华为技术有限公司 一种实现私网穿越的方法、装置和系统
CN108881328A (zh) * 2018-09-29 2018-11-23 北京东土军悦科技有限公司 数据包过滤方法、装置、网关设备及存储介质
WO2020108568A1 (zh) * 2018-11-30 2020-06-04 深圳市中兴微电子技术有限公司 一种信息处理方法、设备及计算机存储介质
CN112491494A (zh) * 2019-09-11 2021-03-12 中国移动通信有限公司研究院 一种编码确定方法、装置、设备及存储介质
CN110719234A (zh) * 2019-10-17 2020-01-21 南京中孚信息技术有限公司 一种基于dpdk的数据包处理方法及装置
CN110868247A (zh) * 2019-11-20 2020-03-06 哈尔滨工业大学 一种基于事件驱动的卫星遥测数据处理方法、装置及计算机存储介质
CN113132071A (zh) * 2019-12-31 2021-07-16 中国移动通信有限公司研究院 数据传输方法、装置、相关设备及存储介质
CN114586426A (zh) * 2020-09-29 2022-06-03 上海诺基亚贝尔股份有限公司 对数据传输配置的指示
WO2022121748A1 (zh) * 2020-12-07 2022-06-16 中国移动通信有限公司研究院 一种数据处理方法、终端及节点
CN114285906A (zh) * 2021-12-24 2022-04-05 北京天融信网络安全技术有限公司 报文处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115102875A (zh) 2022-09-23

Similar Documents

Publication Publication Date Title
US11245620B2 (en) Method for forwarding packet and network device
US8169910B1 (en) Network traffic analysis using a flow table
CN100547976C (zh) 用于标识反向路径转发信息的方法和装置
CN108768866B (zh) 组播报文跨卡转发方法、装置、网络设备及可读存储介质
EP3863240A1 (en) Method for forwarding packet in hybrid network, device, and system
CN113055127B (zh) 数据报文去重与传输方法、电子设备及存储介质
CN111801911B (zh) 业务功能链拥塞跟踪
EP2916516A1 (en) Packet processing method and apparatus
CN113810337B (zh) 用于网络报文去重的方法、装置、以及存储介质
CN112887229A (zh) 一种会话信息同步方法及装置
KR101500251B1 (ko) 통신 시스템, 노드, 패킷 전송 방법 및 프로그램을 기록한 컴퓨터 판독가능 기록 매체
CN106878106B (zh) 一种可达性检测方法及装置
CN115225734A (zh) 一种报文处理方法和网络设备
CN115102875B (zh) 一种数据包处理方法、装置、设备及介质
US12010000B2 (en) Message sampling method, decapsulation method, node, system and storage medium
CN113839894A (zh) 报文处理方法及系统
US9985926B2 (en) Address acquiring method and network virtualization edge device
CN112866115B (zh) 一种实现透明串接的方法、装置、电子设备及存储介质
CN114422437A (zh) 一种异构报文的转发方法及装置
CN116132555A (zh) 一种报文处理方法和系统
CN112367251A (zh) 转发信息库表项检测方法、检测设备及网络设备
CN115442288B (zh) 一种SRv6网络数据包检查方法和装置
US10484304B2 (en) Determining actions to be immediately performed on a network packet with an application specific integrated circuit
CN113347090B (zh) 报文处理方法、转发设备以及报文处理系统
CN114268630B (zh) 基于静态arp表项实现随机负载均衡访问方法、装置及设备

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
GR01 Patent grant
GR01 Patent grant