CN108965148B - 一种处理器及报文处理方法 - Google Patents
一种处理器及报文处理方法 Download PDFInfo
- Publication number
- CN108965148B CN108965148B CN201810679598.XA CN201810679598A CN108965148B CN 108965148 B CN108965148 B CN 108965148B CN 201810679598 A CN201810679598 A CN 201810679598A CN 108965148 B CN108965148 B CN 108965148B
- Authority
- CN
- China
- Prior art keywords
- message
- cache region
- type
- processor
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/627—Queue scheduling characterised by scheduling criteria for service slots or service orders policing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请实施例提供了一种处理器及报文处理方法。该处理器包括:与预设协议报文类型对应的第一缓存区和与非预设协议报文类型对应的第二缓存区,以及处理器内核和协处理器。协处理器接收报文,根据报文携带的特征信息,确定报文的报文类型,从第一缓存区和第二缓存区中确定报文类型对应的目标缓存区,基于目标缓存区对报文进行缓存,并基于目标缓存区将报文提交至处理器内核,由处理器内核对报文进行处理。该报文类型包括:预设协议报文类型和非预设协议报文类型。应用本申请实施例提供的方案,能够降低堆叠设备发生堆叠分裂现象的可能性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种处理器及报文处理方法。
背景技术
随着网络技术的发展,大数据、云计算等新形式的网络应用越来越广泛,这就造成网络中的数据流量急剧增大。在这种情况下,基于智能弹性架构(Intelligent ResilientFramework,IRF)的虚拟化技术能够较好地保证网络运行的可靠性。在基于IRF的双机热备系统中,两个成员设备被虚拟化为一个堆叠设备。堆叠设备可以接收转发设备发送的报文,并对报文进行处理。成员设备之间可以相互备份。当一个成员设备故障时,堆叠设备可以根据备份信息无缝地将业务切换到另一成员设备上,以达到保护系统网络稳定运行的目的。
堆叠设备中的每个成员设备在接收到报文时,会将报文存放在缓存区,并按照先入先出(First Input First Output,FIFO)的队列规则对报文进行提取和处理。而成员设备接收的报文包括转发设备发送的非预设协议报文(例如数据报文)以及成员设备之间通过IRF链路发送的预设协议报文(例如心跳报文等),这些报文均会加入FIFO队列中。其中,心跳报文是成员设备之间相互确认状态的一种报文。
当网络环境中存在大量非预设协议报文时,由于处理器的处理性能的限制,缓存区会很快被存满。当缓存区被存满之后,后续接收的报文因无法存放而会被丢弃。当预设协议报文被丢弃时,会导致堆叠设备发生堆叠分裂现象,这将导致双机热备功能失效,从而可能会引发重大网络问题。
发明内容
本申请实施例的目的在于提供了一种处理器及报文处理方法,以降低堆叠设备发生堆叠分裂现象的可能性。
为了达到上述目的,第一方面,本申请实施例提供了一种堆叠设备中的成员设备,该成员设备包括处理器,所述处理器包括:与预设协议报文类型对应的第一缓存区和与非预设协议报文类型对应的第二缓存区,以及处理器内核和协处理器;
所述协处理器,用于接收报文,根据所述报文携带的特征信息,确定所述报文的报文类型,从所述第一缓存区和所述第二缓存区中确定所述报文类型对应的目标缓存区,基于所述目标缓存区对所述报文进行缓存,并基于所述目标缓存区将所述报文提交至所述处理器内核;其中,所述报文类型包括:预设协议报文类型和非预设协议报文类型;
所述处理器内核,用于处理所述协处理器提交的报文。
第二方面,本申请实施例提供了一种报文处理方法,应用于堆叠设备的成员设备中的处理器,所述处理器包括:与预设协议报文类型对应的第一缓存区和与非预设协议报文类型对应的第二缓存区,以及处理器内核和协处理器;所述方法包括:
所述协处理器,用于接收报文;根据所述报文携带的特征信息,确定所述报文的报文类型,从所述第一缓存区和所述第二缓存区中确定所述报文类型对应的目标缓存区,基于所述目标缓存区对所述报文进行缓存,并基于所述目标缓存区将所述报文提交至所述处理器内核,由所述处理器内核对所述报文进行处理;
其中,所述报文类型包括:预设协议报文类型和非预设协议报文类型。
第三方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面提供的报文处理方法。
本申请实施例提供的处理器及报文处理方法中,当协处理器接收到报文时,可以根据报文的报文类型,从第一缓存区和第二缓存区中确定报文类型对应的目标缓存区,基于目标缓存区对报文进行缓存,并基于目标缓存区将报文提交至处理器内核,由处理器内核对报文进行处理。由于预设协议报文无法被正常处理时会导致堆叠分裂,本申请实施例将预设协议报文和非预设协议报文分别基于不同的缓存区进行缓存,当非预设协议报文大量增加时,可能会影响对非预设协议报文的缓存,但是不会影响对预设协议报文的缓存。因此本申请实施例能尽可能保证对预设协议报文的正常缓存,进而尽可能保证对预设协议报文的处理,故而能够降低堆叠设备发生堆叠分裂现象的可能性。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的处理器的一种结构示意图;
图3为本申请实施例提供的处理器与存储器的一种连接关系图;
图4为本申请实施例提供的一种缓存区划分及报文处理流程示意图;
图5为本申请实施例提供的报文处理方法的一种流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种应用场景示意图。其中,基于智能弹性架构(Intelligent Resilient Framework,IRF)的双机热备系统中,两个成员设备被虚拟化为一个堆叠设备。堆叠设备可以接收转发设备发送的报文,并对报文进行处理。两个成员设备通过IRF链路相互发送报文。通过IRF链路发送的报文包括心跳报文、堆叠报文和热备报文等。本实施例中提及的心跳报文、堆叠报文、热备报文和数据报文均是指报文的类型,即分别表示心跳报文类型、堆叠报文类型、热备报文类型、数据报文类型。
在两个成员设备中,一个设备为主设备,一个为备设备。主设备进行正常的业务处理时,会将会话实时地发送至备设备进行备份。当一个成员设备故障时,堆叠设备可以根据备份信息无缝地将业务切换到另一成员设备上,以达到保护系统网络稳定运行的目的。热备报文即是用于备份会话等数据的报文。堆叠报文为用于发送端口状态等信息的报文。心跳报文为用于发送设备运行状态信息的报文。
堆叠设备中的每个成员设备在接收到报文时,会将报文存放在缓存区,并按照先入先出(First Input First Output,FIFO)的队列规则对报文进行提取和处理。而成员设备接收的报文包括:转发设备发送的数据报文,以及成员设备之间通过IRF链路发送的心跳报文、热备报文和堆叠报文等,这些报文均会加入FIFO队列中。数据报文也可以称为以太网报文。
当网络环境中存在大量数据报文时,由于处理器的处理性能的限制,缓存区会很快被存满。当缓存区被存满之后,后续接收的报文因无法存放而会被丢弃。当心跳报文被丢弃时,会导致堆叠设备发生堆叠分裂现象,这将导致双机热备功能失效,从而可能会引发重大网络问题。
为了降低堆叠设备发生堆叠分裂现象的可能性,本申请实施例提供了一种处理器及报文处理方法。下面通过具体实施例,对本申请进行详细说明。
图2为本申请实施例提供的处理器的一种结构示意图。该处理器为堆叠设备中的成员设备的处理器。该处理器可以为CPU或微控制单元(Microcontroller Unit,MCU)等。成员设备可以为路由器或交换机等设备。上述处理器包括:与预设协议报文类型对应的第一缓存区201和与非预设协议报文类型对应的第二缓存区202,以及处理器内核(CPU core)203和协处理器204。
其中,预设协议报文可以包括心跳报文,也可以包括其他会导致成员设备之间堆叠分裂的协议报文。非预设协议报文可以包括数据报文或热备报文等,也可以包括其他不会导致成员设备之间堆叠分裂的报文。上述各个缓存区均为处理内的硬件缓存区。
协处理器204用于接收报文,根据报文携带的特征信息,确定该报文的报文类型,从第一缓存区201和第二缓存区202中确定上述报文类型对应的目标缓存区,基于目标缓存区对报文进行缓存,并基于目标缓存区将报文提交至处理器内核203。
处理器内核203,用于处理协处理器204提交的报文。
其中,协处理器204接收的报文可以为转发设备发送的数据报文,也可以为堆叠设备中的其他成员设备发送的报文。堆叠设备中的其他成员设备发送的报文,可以是热备报文,也可以是心跳报文或堆叠报文。
特征信息可以为报文中携带的特征字段,例如报文封装的类型标识符。预设协议报文类型的封装中携带有与预设协议报文对应的类型标识符,例如心跳报文的封装中携带有与心跳报文对应的类型标识符。
协处理器204在确定报文的报文类型时,可以提取报文封装中的类型标识符,判断该类型标识符是否为预设协议报文对应的类型标识符,如果是,则确定该报文的报文类型为预设协议报文类型;如果否,则确定该报文的报文类型为非预设协议报文类型。
当报文类型为预设协议报文类型时,将第一缓存区确定为目标缓存区;当报文类型为非预设协议报文类型时,将第二缓存区确定为目标缓存区。
处理器内核203处理协处理器204提交的报文时,具体可以包括:对各个报文进行深度包检测(Deep Packet Inspection,DPI)等处理。
由上述内容可知,本实施例中,由于预设协议报文无法被正常处理时会导致堆叠分裂,本申请实施例将预设协议报文和非预设协议报文分别基于不同的缓存区进行缓存,当非预设协议报文大量增加时,可能会影响对非预设协议报文的缓存,但是不会影响对预设协议报文的缓存。因此本实施例能尽可能保证对预设协议报文的正常缓存,进而尽可能保证对预设协议报文的处理,故而能够降低堆叠设备发生堆叠分裂现象的可能性。
在本申请的另一实施例中,预设协议报文类型可以为用于管理控制的关键报文类型,非预设协议报文类型为非关键报文类型。
协处理器204从第一缓存区和第二缓存区中确定上述报文类型对应的目标缓存区时,可以包括:
当报文类型为关键报文类型时,将第一缓存区确定为目标缓存区;当报文类型为非关键报文类型时,将第二缓存区确定为目标缓存区。
其中,关键报文类型可以理解为用于对成员设备进行管理控制的报文,例如关键报文类型可以为心跳报文。非关键报文类型可以包括数据报文、堆叠报文或热备报文。
在本申请的另一实施例中,可以对第二缓存区进行更详细的划分,以对报文进行更细致的隔离缓存。当非关键报文类型包括数据报文类型和其他报文类型时,可以将第二缓存区划分成与数据报文类型对应的第一子缓存区和与其他报文类型对应的第二子缓存区。
其中,其他报文类型为除了关键报文类型和数据报文类型之外的报文类型。例如其他报文类型可以为热备报文类型和/或堆叠报文类型。
协处理器204将第二缓存区确定为目标缓存区时,可以包括:
当报文类型为所述数据报文类型时,将第一子缓存区确定为目标缓存区;当报文类型为所述其他报文类型时,将第一子缓存区确定为目标缓存区。
本实施例中,报文类型至少可以分成心跳报文类型、数据报文类型和其他报文类型等类型,其他报文类型包括热备报文类型和/或堆叠报文类型。心跳报文的封装中携带有与心跳报文对应的类型标识符,热备报文的封装中携带有与热备报文对应的类型标识符,堆叠报文的封装中携带有与堆叠报文对应的类型标识符,数据报文的封装中携带有与数据报文对应的类型标识符。
协处理器204在根据报文携带的特征信息,确定报文的报文类型时,可以提取报文封装中的类型标识符,当报文携带的类型标识符为与心跳报文对应的类型标识符时,确定该报文为心跳报文,当报文携带的类型标识符为与热备报文对应的类型标识符时,确定该报文为热备报文,当报文携带的类型标识符为与堆叠报文对应的类型标识符时,确定该报文为堆叠报文,当报文携带的类型标识符为与数据报文对应的类型标识符时,确定该报文为数据报文。
本实施例中,可以预先划分处理器中的硬件缓存区域。在划分缓存区域时,具体可以按照预设协议报文和非预设协议报文的流量大小划分缓存的空间大小。报文的流量可以理解为,一定时间内报文的个数或者一定时间内报文的数据量。例如,当每一个缓存空间的大小为16k字节时,由于热备报文、心跳报文的流量比较小,数据报文的流量相对较大,因此与心跳报文类型对应的第一缓存区可以分配4k个缓存空间,与数据报文类型对应的第一子缓存区可以分配32k个缓存空间,与热备报文类型对应的第二子缓存区可以分配16k个缓存空间。在硬件缓存空间有限的情况下,按照报文流量划分各类型的缓存区,能够提高对缓存资源的利用率。
由于堆叠报文的流量非常小,为了节省缓存空间,可以将第一缓存区作为与堆叠报文类型与心跳报文类型对应的缓存区。当接收到堆叠报文时,基于第一缓存区对堆叠报文进行缓存。
综上,本实施例可以分别划分关键报文类型的缓存区、其他报文类型的子缓存区和数据报文类型的子缓存区,将不同类型的报文缓存至不同的缓存区,实现对不同类型报文的隔离存储,各种类型的报文互不影响,因此能够在存在大量数据报文时,尽可能避免对关键报文和其他报文的影响,提高堆叠设备内部的稳定性。
在本申请的另一实施例中,上述处理器内核203可以为多个。并且处理器内核可以包括第一类核和第二类核,第一类核和第二类核均可以包括一个或多个。第一类核用于处理预设协议报文类型,第二类核用于处理非预设协议报文类型。
协处理器204基于目标缓存区将报文提交至处理器内核203时,可以包括:当目标缓存区为第一缓存区时,将报文提交至第一类核,由第一类核处理协处理器204提交的预设协议报文;当目标缓存区为第二缓存区时,将报文提交至第二类核,由第二类核处理协处理器204提交的非预设协议报文。
当第二缓存区包括第一子缓存区和第二子缓存区时,第二类核可以包括与用于处理数据报文的第一子类核和用于处理其他报文的第二子类核。协处理器204可以在目标缓存区为第一子缓存区时,将报文提交至第一子类核,由第一子类核处理协处理器204提交的数据报文;在目标缓存区为第二子缓存区时,将报文提交至第二子类核,由第二子类核处理协处理器204提交的其他报文。
本实施例中,处理器的核可以至少分成两类,每一类核处理对应类型的报文,这样可以实现对报文的隔离处理,尽可能保证对预设协议报文的处理,避免堆叠分裂的发生。
在本申请的另一实施例中,协处理器204基于目标缓存区将报文提交至处理器内核时,可以包括:
按照各个缓存区对应的优先级,基于目标缓存区将报文提交至处理器内核。其中,所述第一缓存区的优先级高于所述第二缓存区的优先级。
例如,当第一缓存区和第二缓存区同时存储报文时,协处理器可以根据各个缓存区对应的优先级,先将优先级高的缓存区的报文提交至对应类型的核,再将优先级低的缓存区的报文提交至对应类型的核。例如,预设第一缓存区的优先级高于第二缓存区的优先级,当第一缓存区和第二缓存区均存储报文时,协处理器先将第一缓存区中的报文提交至第一类核,再将第二缓存区中的报文提交至第二类核。这样能够尽可能保证预设协议报文类型的报文被优先处理,尽可能避免堆叠分裂。
各个缓存区的优先级可以是预先设置的。当第二缓存区包括第一子缓存区和第二子缓存区时,第二子缓存区的优先级可以高于第一子缓存区的优先级。
具体可以为,心跳报文的缓存区的优先级、热备报文的缓存区的优先级和数据报文的缓存区的优先级依次降低。
在本申请的另一实施例中,成员设备还可以包括存储器,存储器包括各个缓存区。例如,上述存储器可以为内存。
协处理器204基于目标缓存区对报文进行缓存时,可以包括:
根据处理器中各个缓存区与存储器中缓存区之间的映射关系,确定报文在目标缓存区对应的存储器中的缓存区的存储地址,将报文缓存于该存储地址,并将该存储地址保存在目标缓存区中。
协处理器204基于目标缓存区将报文提交至处理器内核时,可以包括:
将目标缓存区中报文的存储地址提交至处理器内核,由处理器内核根据报文的存储地址,从存储器的缓存区中提取报文,对报文进行处理。
其中,处理器中各个缓存区与存储器中缓存区之间的映射关系为预先设置。例如,第一缓存区可以对应于存储器中的一部分缓存区,第二缓存区可以对应于存储器中的另一部分缓存区。
本实施例中,处理器中的缓存区按照报文类型进行了划分,通过处理器中各个缓存区与存储器中缓存区之间的映射关系,可以实现对存储器中缓存区按照报文类型进行划分,也就实现了对存储器中报文的分类隔离存储。
本实施例可以参见图3所示的处理器和存储器的连接关系示意图。其中,处理器中的协处理器可以通过高速外设部件互连标准总线(Peripheral Component InterconnectExpress,PCI-E)与处理器中的内存控制器连接,内存控制器可以与内存连接。协处理器204将报文缓存于存储器中缓存区的存储地址时,可以将报文通过PCI-E总线缓存至内存中的该存储地址中。
当协处理器204将目标缓存区中报文的存储地址提交至处理器内核203时,处理器内核203可以通过PCI-E总线从内存中的该存储地址中提取报文,对报文进行处理。
综上,本实施例中,由于处理器的缓存空间有限,根据处理器中各个缓存区与存储器中缓存区之间的映射关系,可以实现对存储器中缓存区按照报文类型进行划分,这样就实现了对存储器中报文的分类隔离存储,进而实现处理器内核对报文的分类处理。
下面通过具体实例再对本申请实施例进行说明。
处理器(例如CPU)可以包括多个内核、多个协处理器。例如处理器的内核可以分为第一类核和第二类核,协处理器可以包括自由缓存单元(Free Pool Unit,FPA)、报文输入单元(Packet Input Unit,PKI)和(排列/同步)保序单元(Schedule/Synchronize/OrderUnit,SSO)等,处理器包括FPA缓存区。其中,FPA又称为硬件缓存模块,PKI又称为报文分析模块,SSO又称为报文保序模块。
本实施例中,FPA缓存区(FPA pool)中存储了上述第一缓存区和第二缓存区的地址区间,也就是建立了FPA pool与内存中各个缓存区之间的映射关系。FPA可以根据该映射关系为报文分配内存地址。
PKI接收到报文后,根据报文携带的特征信息确定报文的报文类型,并向FPA申请存储该报文类型的报文的FPA缓存区。例如,报文类型为心跳报文类型。FPA根据上述预设对应关系,以及该心跳报文类型,从第一缓存区和第二缓存区中确定该报文待存储的缓存区为第一缓存区,并给该报文分配第一缓存区对应的内存地址,再将该报文存储至该内存地址中。FPA存储完该报文后,将该报文的内存地址反馈给PKI。PKI会将报文的内存地址提交给SSO,SSO向内核发送中断,由内核提取该报文并进行后续处理。如果该报文类型为预设协议报文类型,则向第一类核发送中断,如果该报文类型为非预设协议报文类型,则向第二类核发送中断。内核接收到该内存地址后根据该内存地址从内存的缓存区中读取报文,并对该报文进行处理。
在处理器处理完各个缓冲区中的报文之后,处理器还可以回收各个缓存区中的存储空间。当后续的报文被成员设备接收到时,再进行缓存,这样能够循环利用硬件缓存资源,提高资源利用率。
FPA将存储地址保存在目标缓存区中时,FPA具体可以将报文的存储地址存储至上述报文类型对应的目标缓存区的队列中。该队列可以为先入先出队列。本实施例中,每个类型的缓存区对应一个独立的队列,不同类型的报文的存储地址缓存至不同的队列中。这样能够实现对报文按序处理。
图4为本申请实施例提供的一种缓存区划分及报文处理流程示意图。其中,报文分析模块(PKI)接收到报文之后,确定报文类型。报文类型包括数据报文、热备报文和心跳报文(或堆叠报文)。当报文类型为数据报文时,FPA将报文加入FIFO队列1。当报文类型为热备报文时,FPA将报文加入FIFO队列2。当报文类型为心跳报文或堆叠报文时,FPA将报文加入FIFO队列3。针对每个队列,PKI按照先入先出的原则从各个队列中提取报文并将报文提交至对应的处理器内核,由对应的处理器内核对报文进行处理。当多核CPU完成业务处理之后,成员设备可以释放硬件缓存资源。
图5为本申请实施例提供的报文处理方法的一种流程示意图。该方法应用于堆叠设备的成员设备中的处理器。成员设备可以为路由器或交换机等设备。该处理器包括:与预设协议报文类型对应的第一缓存区和与非预设协议报文类型对应的第二缓存区,以及处理器内核和协处理器。其中,缓存区均为硬件缓存区。该方法包括以下步骤:
步骤S501:协处理器用于接收报文;根据报文携带的特征信息,确定报文的报文类型,从第一缓存区和第二缓存区中确定所文类型对应的目标缓存区,基于目标缓存区对报文进行缓存,并基于目标缓存区将报文提交至处理器内核。
其中,报文类型包括:预设协议报文类型和非预设协议报文类型;
步骤S502:处理器内核用于处理协处理器提交的报文。
在本申请的另一实施例中,预设协议报文类型为用于管理控制的关键报文类型,所述非预设协议报文类型为非关键报文类型;所述从所述第一缓存区和所述第二缓存区中确定所述报文类型对应的目标缓存区的步骤,包括:
当所述报文类型为所述关键报文类型时,将所述第一缓存区确定为目标缓存区;
当所述报文类型为所述非关键报文类型时,将所述第二缓存区确定为目标缓存区。
在本申请的另一实施例中,非关键报文类型包括数据报文类型和其他报文类型,其他报文类型为除了关键报文类型和数据报文类型之外的报文类型;所述第二缓存区包括:与数据报文类型对应的第一子缓存区和与其他报文类型对应的第二子缓存区;
所述将所述第二缓存区确定为目标缓存区的步骤,包括:
当所述报文类型为所述数据报文类型时,将所述第一子缓存区确定为目标缓存区;
当所述报文类型为所述其他报文类型时,将所述第二子缓存区确定为目标缓存区。
在本申请的另一实施例中,所述基于所述目标缓存区将所述报文提交至所述处理器内核的步骤,包括:
按照各个缓存区对应的优先级,基于所述目标缓存区将所述报文提交至所述处理器内核;其中,所述第一缓存区的优先级高于所述第二缓存区的优先级。
在本申请的另一实施例中,所述成员设备还包括存储器,所述存储器包括缓存区;所述基于所述目标缓存区对所述报文进行缓存的步骤,包括:
根据所述处理器中各个缓存区与所述存储器中缓存区之间的映射关系,确定所述报文在所述目标缓存区对应的所述存储器中的缓存区的存储地址;
将所述报文缓存于所述存储地址,将所述存储地址保存在所述目标缓存区中;
所述基于所述目标缓存区将所述报文提交至所述处理器内核的步骤,包括:
将所述目标缓存区中所述报文的存储地址提交至所述处理器内核,由所述处理器内核根据所述报文的存储地址,从所述存储器的缓存区中提取所述报文,对所述报文进行处理。
由于上述方法实施例是基于处理器实施例得到的,与该处理器实施例具有相同的技术效果,因此方法实施例的技术效果在此不再赘述。对于方法实施例而言,由于其基本相似于处理器实施例,所以描述得比较简单,相关之处参见处理器实施例的部分说明即可。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的报文缓存方法。该报文缓存方法包括:
协处理器,用于接收报文;根据报文携带的特征信息,确定报文的报文类型,从第一缓存区和第二缓存区中确定所文类型对应的目标缓存区,基于目标缓存区对报文进行缓存,并基于目标缓存区将报文提交至处理器内核;其中,所述报文类型包括:预设协议报文类型和非预设协议报文类型;
处理器内核,用于处理协处理器提交的报文。
本实施例中,由于预设协议报文无法被正常处理时会导致堆叠分裂,本申请实施例将预设协议报文和非预设协议报文分别基于不同的缓存区进行缓存,当非预设协议报文大量增加时,可能会影响对非预设协议报文的缓存,但是不会影响对预设协议报文的缓存。因此本实施例能尽可能保证对预设协议报文的正常缓存,进而尽可能保证对预设协议报文的处理,故而能够降低堆叠设备发生堆叠分裂现象的可能性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (9)
1.一种处理器,其特征在于,所述处理器为堆叠设备中的成员设备的处理器;所述处理器包括:与预设协议报文类型对应的第一缓存区和与非预设协议报文类型对应的第二缓存区,以及处理器内核和协处理器;
所述协处理器,用于接收报文,根据所述报文携带的特征信息,确定所述报文的报文类型,从所述第一缓存区和所述第二缓存区中确定所述报文类型对应的目标缓存区,基于所述目标缓存区对所述报文进行缓存,并基于所述目标缓存区将所述报文提交至所述处理器内核;其中,所述报文类型包括:预设协议报文类型和非预设协议报文类型;
所述处理器内核,用于处理所述协处理器提交的报文;
所述协处理器,基于所述目标缓存区将所述报文提交至所述处理器内核时,包括:
按照各个缓存区对应的优先级,基于所述目标缓存区将所述报文提交至所述处理器内核;其中,所述第一缓存区的优先级高于所述第二缓存区的优先级。
2.根据权利要求1所述的处理器,其特征在于,所述预设协议报文类型为用于管理控制的关键报文类型,所述非预设协议报文类型为非关键报文类型;
所述协处理器,从所述第一缓存区和所述第二缓存区中确定所述报文类型对应的目标缓存区时,包括:
当所述报文类型为所述关键报文类型时,将所述第一缓存区确定为目标缓存区;
当所述报文类型为所述非关键报文类型时,将所述第二缓存区确定为目标缓存区。
3.根据权利要求2所述的处理器,其特征在于,所述非关键报文类型包括:数据报文类型和其他报文类型,所述其他报文类型为除了所述关键报文类型和数据报文类型之外的报文类型;所述第二缓存区包括:与数据报文类型对应的第一子缓存区和与其他报文类型对应的第二子缓存区;
所述协处理器,将所述第二缓存区确定为目标缓存区时,包括:
当所述报文类型为所述数据报文类型时,将所述第一子缓存区确定为目标缓存区;
当所述报文类型为所述其他报文类型时,将所述第二子缓存区确定为目标缓存区。
4.根据权利要求1所述的处理器,其特征在于,所述成员设备还包括存储器,所述存储器包括缓存区;
所述协处理器,基于所述目标缓存区对所述报文进行缓存时,包括:
根据所述处理器中各个缓存区与所述存储器中缓存区之间的映射关系,确定所述报文在所述目标缓存区对应的所述存储器中的缓存区的存储地址;
将所述报文缓存于所述存储地址,将所述存储地址保存在所述目标缓存区中;
所述协处理器,基于所述目标缓存区将所述报文提交至所述处理器内核时,包括:
将所述目标缓存区中所述报文的存储地址提交至所述处理器内核,由所述处理器内核根据所述报文的存储地址,从所述存储器的缓存区中提取所述报文,对所述报文进行处理。
5.一种报文处理方法,其特征在于,应用于堆叠设备的成员设备中的处理器,所述处理器包括:与预设协议报文类型对应的第一缓存区和与非预设协议报文类型对应的第二缓存区,以及处理器内核和协处理器;所述方法包括:
所述协处理器,用于接收报文;根据所述报文携带的特征信息,确定所述报文的报文类型,从所述第一缓存区和所述第二缓存区中确定所述报文类型对应的目标缓存区,基于所述目标缓存区对所述报文进行缓存,并基于所述目标缓存区将所述报文提交至所述处理器内核;其中,所述报文类型包括:预设协议报文类型和非预设协议报文类型;所述基于所述目标缓存区将所述报文提交至所述处理器内核的步骤,包括:按照各个缓存区对应的优先级,基于所述目标缓存区将所述报文提交至所述处理器内核;其中,所述第一缓存区的优先级高于所述第二缓存区的优先级;
所述处理器内核,用于处理所述协处理器提交的报文。
6.根据权利要求5所述的方法,其特征在于,所述预设协议报文类型为用于管理控制的关键报文类型,所述非预设协议报文类型为非关键报文类型;所述从所述第一缓存区和所述第二缓存区中确定所述报文类型对应的目标缓存区的步骤,包括:
当所述报文类型为所述关键报文类型时,将所述第一缓存区确定为目标缓存区;
当所述报文类型为所述非关键报文类型时,将所述第二缓存区确定为目标缓存区。
7.根据权利要求6所述的方法,其特征在于,所述非关键报文类型包括数据报文类型和其他报文类型,所述其他报文类型为除了所述关键报文类型和数据报文类型之外的报文类型;所述第二缓存区包括:与数据报文类型对应的第一子缓存区和与其他报文类型对应的第二子缓存区;
所述将所述第二缓存区确定为目标缓存区的步骤,包括:
当所述报文类型为所述数据报文类型时,将所述第一子缓存区确定为目标缓存区;
当所述报文类型为所述其他报文类型时,将所述第二子缓存区确定为目标缓存区。
8.根据权利要求5所述的方法,其特征在于,所述成员设备还包括存储器,所述存储器包括缓存区;所述基于所述目标缓存区对所述报文进行缓存的步骤,包括:
根据所述处理器中各个缓存区与所述存储器中缓存区之间的映射关系,确定所述报文在所述目标缓存区对应的所述存储器中的缓存区的存储地址;
将所述报文缓存于所述存储地址,将所述存储地址保存在所述目标缓存区中;
所述基于所述目标缓存区将所述报文提交至所述处理器内核的步骤,包括:
将所述目标缓存区中所述报文的存储地址提交至所述处理器内核,由所述处理器内核根据所述报文的存储地址,从所述存储器的缓存区中提取所述报文,对所述报文进行处理。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求5-8任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810679598.XA CN108965148B (zh) | 2018-06-27 | 2018-06-27 | 一种处理器及报文处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810679598.XA CN108965148B (zh) | 2018-06-27 | 2018-06-27 | 一种处理器及报文处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108965148A CN108965148A (zh) | 2018-12-07 |
CN108965148B true CN108965148B (zh) | 2022-04-22 |
Family
ID=64487091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810679598.XA Active CN108965148B (zh) | 2018-06-27 | 2018-06-27 | 一种处理器及报文处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108965148B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112152940B (zh) * | 2019-06-28 | 2022-08-09 | 华为云计算技术有限公司 | 报文处理方法、装置以及系统 |
CN111030943A (zh) * | 2019-12-13 | 2020-04-17 | 迈普通信技术股份有限公司 | 一种报文的处理方法、装置、转发设备及存储介质 |
CN113992561A (zh) * | 2020-07-10 | 2022-01-28 | 华为技术有限公司 | 一种报文处理方法及装置 |
CN112187665B (zh) * | 2020-09-28 | 2023-04-07 | 杭州迪普科技股份有限公司 | 一种报文处理的方法及装置 |
CN113890774B (zh) * | 2021-06-10 | 2023-09-26 | 浙江绍兴苏泊尔生活电器有限公司 | 一种家电产品的配网方法及装置 |
CN113660180B (zh) * | 2021-07-30 | 2023-11-28 | 鹏城实验室 | 一种数据存储方法、装置、终端及存储介质 |
CN114095585B (zh) * | 2022-01-21 | 2022-05-20 | 武汉中科通达高新技术股份有限公司 | 数据传输方法、装置、存储介质及电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104994032B (zh) * | 2015-05-15 | 2018-09-25 | 京信通信系统(中国)有限公司 | 一种信息处理的方法和装置 |
US10652353B2 (en) * | 2015-09-24 | 2020-05-12 | Intel Corporation | Technologies for automatic processor core association management and communication using direct data placement in private caches |
-
2018
- 2018-06-27 CN CN201810679598.XA patent/CN108965148B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108965148A (zh) | 2018-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108965148B (zh) | 一种处理器及报文处理方法 | |
US10678432B1 (en) | User space and kernel space access to memory devices through private queues | |
US10263832B1 (en) | Physical interface to virtual interface fault propagation | |
US10425348B2 (en) | Stateless network functions | |
EP3706394A1 (en) | Writes to multiple memory destinations | |
EP3242440B1 (en) | Fault tolerant method, apparatus and system for virtual machine | |
US11023411B2 (en) | Programmed input/output mode | |
EP2406723B1 (en) | Scalable interface for connecting multiple computer systems which performs parallel mpi header matching | |
US8937949B2 (en) | Method and system for Infiniband host channel adapter multicast packet replication mechanism | |
US9880954B2 (en) | Method and apparatus for providing data access | |
CN106301859B (zh) | 一种管理网卡的方法、装置及系统 | |
US9910687B2 (en) | Data flow affinity for heterogenous virtual machines | |
US11757796B2 (en) | Zero-copy processing | |
US20120159486A1 (en) | System, method and computer program product for accessing a memory space allocated to a virtual machine | |
US11025564B2 (en) | RDMA transport with hardware integration and out of order placement | |
WO2023005773A1 (zh) | 基于远程直接数据存储的报文转发方法、装置、网卡及设备 | |
US20050129040A1 (en) | Shared adapter | |
CN106603409B (zh) | 一种数据处理系统、方法及设备 | |
US11349702B2 (en) | Communication apparatus, system, rollback method, and non-transitory medium | |
US11792139B2 (en) | Efficient packet reordering using hints | |
CN116737403A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |