CN108717381B - 一种报文处理方法及安全设备 - Google Patents
一种报文处理方法及安全设备 Download PDFInfo
- Publication number
- CN108717381B CN108717381B CN201810241503.6A CN201810241503A CN108717381B CN 108717381 B CN108717381 B CN 108717381B CN 201810241503 A CN201810241503 A CN 201810241503A CN 108717381 B CN108717381 B CN 108717381B
- Authority
- CN
- China
- Prior art keywords
- hardware buffer
- buffer
- data message
- hardware
- service node
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种报文处理方法及安全设备,方法包括:接收内核上送的硬件buffer地址;其中,硬件buffer地址对应的目标硬件buffer用于存储接收到的数据报文;判断目标硬件buffer是否为满足置换条件的硬件buffer;其中,置换条件用于转换数据报文的读取方式;若是,则通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。应用本申请实施例,提高了安全设备处理数据报文的性能,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种报文处理方法及安全设备。
背景技术
安全设备中,例如AV(anti-virus,防病毒)、IPS(Intrusion Prevention System,入侵防御系统)、FW(Fire Wall,防火墙)等设备中,内核接收到业务的数据报文后,将数据报文存储在硬件buffer(缓冲器)中,并将硬件buffer的地址上送给软件平台的业务节点。软件平台的业务节点根据硬件buffer的地址,将硬件buffer中的数据报文复制至软件buffer中。软件平台的业务节点从软件buffer中读取数据报文,并对数据报文进行业务处理。
由上可见,安全设备在处理数据报文时,需要先将数据报文从硬件buffer复制至软件buffer中。这使得安全设备处理数据报文的性能较低。另外,软件平台的业务节点需要从内存中申请存储空间作为软件buffer,以缓存从硬件buffer复制的数据报文,这将消耗安全设备的内存。并且,若上层业务的数据报文的流量较大,而安全设备的内存较小,很可能会因内存不足导致安全设备崩溃。
发明内容
本申请实施例的目的在于提供一种报文处理方法及安全设备,以提高安全设备处理数据报文的性能,降低消耗的内存,降低因内存不足导致安全设备崩溃的可能性。具体技术方案如下:
在第一方面,本申请实施例提供了一种报文处理方法,包括:
接收内核上送的硬件buffer地址;其中,所述硬件buffer地址对应的目标硬件buffer用于存储接收到的数据报文;
判断所述目标硬件buffer是否为满足置换条件的硬件buffer;所述置换条件用于转换数据报文的读取方式;
若是,则通过所述硬件buffer地址从所述目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在第二方面,本申请实施例还提供了一种报文处理方法,包括:
将接收到的数据报文缓存至目标硬件buffer;
传输所述目标硬件buffer的地址至业务节点;
判断所述目标硬件buffer是否满足置换条件,其中,所述置换条件用于转换数据报文的读取方式;
若是,则向所述业务节点发送第一置换指令,所述第一置换指令用于指示所述业务节点通过所述地址从所述目标硬件buffer中读取数据报文。
在第三方面,本申请实施例还提供了一种报文处理方法,包括:
判断是否存在满足置换条件的硬件buffer,其中,所述置换条件用于转换数据报文的读取方式;
若存在,则从满足置换条件的硬件buffer中确定第一目标硬件buffer,并将接收到的数据报文缓存至所述第一目标硬件buffer;
传输所述第一目标硬件buffer的地址至业务节点,以使所述业务节点通过所述第一目标硬件buffer的地址从所述第一目标硬件buffer中读取数据报文进行业务处理。
在第四方面,本申请实施例还提供了一种报文处理装置,所述装置包括:
接收单元,用于接收内核上送的硬件buffer地址;其中,所述硬件buffer地址对应的目标硬件buffer用于存储接收到的数据报文;
判断单元,用于判断所述目标硬件buffer是否为满足置换条件的硬件buffer;其中,所述置换条件用于转换数据报文的读取方式;
读取单元,用于在所述判断单元的判断结果为是时,通过所述硬件buffer地址从所述目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在第五方面,本申请实施例还提供了一种报文处理装置,所述装置包括:
缓存单元,用于将接收到的数据报文缓存至目标硬件buffer;
传输单元,用于传输所述目标硬件buffer的地址至业务节点;
判断单元,用于判断所述目标硬件buffer是否满足置换条件,其中,所述置换条件用于转换数据报文的读取方式;
指示单元,用于在所述判断单元的判断结果为是时,向所述业务节点发送第一置换指令,所述第一置换指令用于指示所述业务节点通过所述地址从所述目标硬件buffer中读取数据报文。
在第六方面,本申请实施例还提供了一种报文处理装置,所述装置包括:
判断单元,用于判断是否存在满足置换条件的硬件buffer,其中,所述置换条件用于转换数据报文的读取方式;
确定单元,用于在所述判断单元的判断结果为是时,从满足置换条件的硬件buffer中确定第一目标硬件buffer,并将接收到的数据报文缓存至所述第一目标硬件buffer;
传输单元,用于传输所述第一目标硬件buffer的地址至业务节点,以使所述业务节点通过所述第一目标硬件buffer的地址从所述第一目标硬件buffer中读取数据报文。
在第七方面,本申请实施例还提供了一种安全设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第一方面的报文处理方法实施例。
在第八方面,本申请实施例还提供了一种安全设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第二方面的报文处理方法实施例。
在第九方面,本申请实施例还提供了一种安全设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现上述第三方面的报文处理方法实施例。
本申请实施例中,安全设备中预先设置了用于转换数据报文的读取方式的置换条件。对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。当然,实施本申请的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中软件平台中业务报文处理方法的一种示意图;
图2为本申请实施例提供的报文处理方法的第一种流程示意图;
图3为本申请实施例提供的硬件buffer的一种示意图;
图4为本申请实施例提供的基于预先申请的硬件buffer的报文处理方法的一种流程示意图;
图5为本申请实施例提供的报文处理方法的第二种流程示意图;
图6为本申请实施例提供的基于预设比例阈值的报文处理方法的一种流程示意图;
图7为本申请实施例提供的报文处理方法的第三种流程示意图;
图8为本申请实施例提供的报文处理装置的第一种结构示意图;
图9为本申请实施例提供的报文处理装置的第二种结构示意图;
图10为本申请实施例提供的报文处理装置的第二种结构示意图;
图11为本申请实施例提供的安全设备的第一种结构示意图;
图12为本申请实施例提供的安全设备的第二种结构示意图;
图13为本申请实施例提供的安全设备的第三种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,在安全设备中,业务处理主要靠软件来实现,尤其是应用层的众多特性均需要软件实现,例如,特性的匹配、特性的选择和特性的规则库的定制等等。具体的,参考图1所示的软件平台中业务报文处理方法的示意图。其中,安全设备的软件平台包括一个或多个业务节点,如图1中所示的业务节点11-1n,多个业务节点串行执行。其中,一个业务节点相当于一个业务模块。
当安全设备的内核接收到需要业务处理的数据报文时,将数据报文缓存至硬件buffer 11中,将该硬件buffer 11的地址上送给软件平台的一个业务节点,例如业务节点11。其中,数据报文可以为用于访问的报文,也可以为用于获取权限的报文,还可以为其他携带有业务需求的报文等。
业务节点11确定需要复制数据报文至软件buffer,从内存中申请存储空间作为软件buffer 11,通过硬件buffer 11的地址从硬件buffer 11中读取数据报文,将读取的数据报文复制至软件buffer 11中。业务节点11将硬件buffer 11中的数据报文复制至软件buffer 11后,删除硬件buffer 11中的数据报文,即释放硬件buffer 11。
之后,业务节点11从软件buffer 11中读取数据报文,并对数据报文进行业务处理。例如,业务节点11对数据报文中的相关字段进行分析处理。业务节点11对数据报文进行业务处理之后,将软件buffer 11的地址发送给下一业务节点,例如业务节点12。
业务节点12若能复用软件buffer 11中的数据报文,则直接从软件buffer 11中读取数据报文,并对数据报文进行业务处理。业务节点12若不能复用软件buffer 11中的数据报文,则确定需要重新复制数据报文至另一软件buffer。业务节点12从内存中申请存储空间作为软件buffer 12,通过软件buffer 11的地址从硬件buffer 11中读取数据报文,将读取的数据报文复制至软件buffer 12。业务节点12将软件buffer 11中的数据报文复制至软件buffer 12后,删除软件buffer 11中的数据报文,即释放软件buffer 11。
之后,业务节点12从软件buffer 12中读取数据报文,并对数据报文进行业务处理。业务节点12对数据报文进行业务处理之后,将软件buffer 12的地址发送给下一业务节点。之后的操作可参考业务节点11或业务节点12的业务处理流程,此处不再赘述。
由上可见,业务节点在处理数据报文时,需要先将数据报文从硬件buffer复制至软件buffer中,然后再从软件buffer中获取该数据报文进行业务处理。相对于直接从硬件buffer中获取并处理数据报文,安全设备的这种处理数据报文的方式性能较低。
另外,应用层的数据报文通常为数据量非常大的数据报文,那么在将数据报文从硬件buffer复制至软件buffer的时候,必然会影响安全设备的性能。并且,若安全设备的软件平台包括多个业务节点,多个业务节点均复制数据报文,将严重影响安全设备的性能。
再次,由于业务节点在业务处理时,需要从内存中申请存储空间作为软件buffer,以缓存从硬件buffer复制的数据报文,因此将消耗安全设备的内存。并且,若数据报文的流量较大,内存较小,很可能因内存不足导致安全设备崩溃。
为了提高安全设备处理数据报文的性能,降低消耗的内存,降低因内存不足导致安全设备崩溃的可能性,本申请实施例提供了一种报文处理方法及装置。该方法预设置换条件,置换条件用于转换数据报文的读取方式。
对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
下面通过具体实施例,对本申请进行详细说明。
参考图2,图2为本申请实施例提供的报文处理方法的第一种流程示意图。该方法可以应用于安全设备的内核,包括如下。
步骤201:内核判断是否存在满足置换条件的硬件buffer。其中,置换条件用于转换数据报文的读取方式。
若存在满足置换条件的硬件buffer,则执行步骤202。
上述数据报文的读取方式包括两种:一种为从硬件buffer中读取数据报文进行业务处理;一种为复制硬件buffer的数据报文,将复制得到的数据报文存储至软件buffer,从软件buffer中读取数据报文进行业务处理。
在本申请的一个实施例中,为了避免占用过多的硬件buffer,影响对安全设备处理数据报文的性能,内核预先申请一定数量的硬件buffer。这些预先申请的硬件buffer缓存数据报文的优先级高于其他硬件buffer缓存数据报文的优先级。
预先申请的硬件buffer的数量可以根据软件平台和安全设备的CPU(CentralProcessing Unit,中央处理器)的基础构架制定。例如,预先申请的硬件buffer的数量小于安全设备中原本设置的硬件buffer的数量。预先申请的硬件buffer的数量还可以按照软件平台需求的硬件buffer的数量制定。本申请实施例对此不进行限定。
本申请实施例还可以通过某些方式对预先申请的硬件buffer进行单独的组织管理。例如,采用链表进行单独的组织管理。
基于预先申请的硬件buffer,置换条件为:存在预先申请的、且未被占用的硬件buffer。内核在接收到数据报文后,判断是否存在未被占用的预先申请的硬件buffer。若存在未被占用的预先申请的硬件buffer,则内核判定存在满足置换条件的硬件buffer。若不存在未被占用的预先申请的硬件buffer,则内核判定不存在满足置换条件的硬件buffer。
步骤202:内核从满足置换条件的硬件buffer中确定第一目标硬件buffer,并将接收到的数据报文缓存至第一目标硬件buffer。
在本申请的一个实施例中,若内核预先申请了硬件buffer,且确定存在满足置换条件的硬件buffer,则内核在确定第一目标硬件buffer时,从预先申请的硬件buffer中选择一个硬件buffer,作为第一目标硬件buffer。
本申请实施例中,内核可以将满足置换条件的硬件buffer中、与上一次缓存数据报文的硬件buffer相邻最近的硬件buffer,确定为第一目标硬件buffer。这里,两个硬件buffer相邻最近即为两个硬件buffer的地址相邻最近,且均未被占用。
如图3所示的硬件buffer,图3中硬件buffer 1-8按照地址的顺序排列的。若预先申请的硬件buffer为硬件buffer 1-5,内核接收到数据报文1后,将数据报文1缓存至硬件buffer 1。当内核接收到数据报文2后,若硬件buffer 2被占用,硬件buffer 3未被占用,则与硬件buffer 1相邻最近的硬件buffer为硬件buffer 3,确定第一目标硬件buffer为硬件buffer 3,将数据报文2缓存至硬件buffer 3。
步骤203:内核传输第一目标硬件buffer的地址至业务节点。
业务节点接收到第一目标硬件buffer后,通过第一目标硬件buffer的地址从第一目标硬件buffer中读取数据报文,对读取的数据报文进行业务处理。
在本申请的一个实施例中,内核若判定不存在满足置换条件硬件buffer,则从不满足置换条件的硬件buffer中确定第二目标硬件buffer,并将数据报文缓存至第二目标硬件buffer。内核传输第二目标硬件buffer的地址至业务节点。
本申请实施例中,内核可以将不满足置换条件的硬件buffer中,与上一次缓存数据报文的硬件buffer相邻最近的未被占用的硬件buffer,确定为第二目标硬件buffer。
在本申请的一个实施例中,若内核预先申请了硬件buffer,且确定不存在满足置换条件的硬件buffer,则内核在确定第二目标硬件buffer时,从不属于预先申请的硬件buffer中选择一个硬件buffer,作为第二目标硬件buffer。
仍以如图3所示的硬件buffer为例进行说明。预先申请的硬件buffer为硬件buffer 1-5,则不属于预先申请的硬件buffer为硬件buffer 6-8。当内核接收到数据报文3后,若硬件buffer 1-5均被占用,硬件buffer 6未被占用,将数据报文3缓存至硬件buffer6中。当内核接收到数据报文4后,若硬件buffer 1-5均被占用,硬件buffer 7未被占用,则与硬件buffer 6相邻最近的的硬件buffer为硬件buffer 7,确定第二目标硬件buffer为硬件buffer 7,将数据报文4缓存至硬件buffer 7。
业务节点接收到第二目标硬件buffer后,复制通过第二目标硬件buffer的地址从第二目标硬件buffer中读取的数据报文,将复制得到的数据报文存储至软件buffer,并从软件buffer中读取复制得到的数据报文,对读取的数据报文进行业务处理。
本申请实施例中,业务节点可能接收到第一目标硬件buffer的地址,也可能接收到第二目标硬件buffer的地址,为了提高安全设备处理数据报文的性能,降低消耗的内存,业务节点在接收到内核上送的硬件buffer地址后,判断接收的硬件buffer地址对应的目标硬件buffer是否为满足置换条件的硬件buffer。
若接收的硬件buffer地址对应的目标硬件buffer为满足置换条件的硬件buffer,则业务节点确定接收的硬件buffer地址为第一目标硬件buffer的地址,通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
若接收的硬件buffer地址对应的目标硬件buffer为不满足置换条件的硬件buffer,则业务节点确定接收的硬件buffer地址为第二目标硬件buffer的地址,通过接收的硬件buffer地址从目标硬件buffer中读取数据报文,并将读取的数据报文复制至软件buffer,从软件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在本申请的一个实施例中,若内核预先申请了硬件buffer,满足置换条件的硬件buffer为预先申请的硬件buffer,则业务节点判断接收的硬件buffer地址对应的目标硬件buffer是否为预先申请的硬件buffer。如果是预先申请的硬件buffer,则业务节点确定接收的硬件buffer地址对应的目标硬件buffer为满足置换条件的硬件buffer。如果不是预先申请的硬件buffer,则业务节点确定接收的硬件buffer地址对应的目标硬件buffer为不满足置换条件的硬件buffer。
本申请实施例中,安全设备可以记录未被占用的预先申请的硬件buffer的数量,业务节点依据未被占用的预先申请的硬件buffer的数量,确定接收的硬件buffer地址对应的目标硬件buffer是否为预先申请的硬件buffer。
具体地,业务节点检测记录的未被占用的预先申请的硬件buffer的数量是否大于0。若记录的未被占用的预先申请的硬件buffer的数量大于0,则业务节点确定接收的硬件buffer地址对应的目标硬件buffer为预先申请的硬件buffer。若记录的未被占用的预先申请的硬件buffer的数量为0,则业务节点确定接收的硬件buffer地址对应的目标硬件buffer为预先申请的硬件buffer。
另外,若确定接收的硬件buffer地址对应的目标硬件buffer为预先申请的硬件buffer,则业务节点将记录的未被占用的预先申请的硬件buffer的数量减去1。当业务节点发送释放指令,以使内核释放一个预先申请的硬件buffer,即将一个预先申请的硬件buffer中缓存的数据报文发送或清除后,业务节点将记录的未被占用的预先申请的硬件buffer的数量加上1。
在本申请的一个实施例中,若安全设备中包括多个业务节点,且内核上送的硬件buffer地址对应的目标硬件buffer满足置换条件,则多个业务节点中的一个业务节点在通过接收的硬件buffer地址,从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理之后,将硬件buffer地址发送给其他业务节点。其他业务节点可以直接通过接收的硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在所有业务节点对数据报文进行业务处理结束后,最后一个处理数据报文的业务节点向内核发送释放指令,调用内核处理数据报文,例如,调用内核转发或丢弃硬件buffer中缓存的数据报文等,释放硬件buffer。
结合图4所示的基于预先申请的硬件buffer的报文处理方法的流程示意图,对图2所示的报文处理方法进行说明。
步骤41,内核初始化业务注册的硬件buffer,预先申请一部分硬件buffer。
步骤42,内核接收需要进行业务处理的数据报文。
若内核确定存在未被占用的预先申请的硬件buffer,则从预先申请的硬件buffer中确定目标硬件buffer,将数据报文缓存至目标硬件buffer中,并将数据报文的属性设置为“硬件”。
若内核确定不存在未被占用的预先申请用的硬件buffer,则从不属于预先申请的硬件buffer中确定目标硬件buffer,将数据报文缓存至目标硬件buffer中,并将数据报文的属性设置为“硬件”。
若内核确定所有的硬件buffer均被占用,则丢弃数据报文。
步骤43,内核调用软件平台接口,将目标硬件buffer的地址上送给软件平台的一个业务节点,例如业务节点21。
步骤44,业务节点21根据记录的未被占用的预先申请的硬件buffer的数量m,判断是否存在未被占用的预先申请的硬件buffer。
若m>0,则业务节点21确定存在未被占用的预先申请的硬件buffer,执行步骤45。
若m=0,则业务节点21确定不存在未被占用的预先申请的硬件buffer,执行步骤48。
步骤45,业务节点21将记录的未被占用的预先申请的硬件buffer的数量减1,通过接收的目标硬件buffer的地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
业务节点21在对数据报文进行业务处理完成后,将目标硬件buffer的地址传输给其他业务节点,例如业务节点22。
步骤46,业务节点22接收到业务节点21传输来目标硬件buffer的地址后,通过接收的地址从目标硬件buffer中读取数据进行业务处理。
业务节点22在对数据报文进行业务处理完成后,再将目标硬件buffer的地址传输给其他业务节点。
其他业务节点的处理可参考步骤46。
步骤47,各个业务节点对数据报文处理结束后,最后一个处理数据报文的业务节点向内核发送释放指令,调用内核处理数据报文,释放目标硬件buffer,并将记录的未被占用的预先申请的硬件buffer的数量加1。
步骤48,若在步骤44中确定不存在未被占用的预先申请的硬件buffer,则业务节点21从内存中申请软件buffer,通过接收的目标硬件buffer的地址从目标硬件buffer中读取数据报文,将读取的数据报文复制至软件buffer,并将数据报文的属性设置为“软件”。
步骤49,业务节点21从软件buffer中读取数据报文,并对读取的数据报文进行业务处理。
业务节点21在对数据报文进行业务处理完成后,将软件buffer的地址传输给其他业务节点。这里,业务节点21对数据报文进行业务处理可参考上述业务节点11和业务节点12对数据报文进行业务处理。
基于与图2所示报文处理方法的相同的发明构思,本申请实施例还提供了一种报文处理方法。参考图5,图5为本申请实施例提供的报文处理方法的第二种流程示意图,该方法可以应用于安全设备的内核,包括以下步骤。
步骤501:内核将接收到的数据报文缓存至目标硬件buffer。
内核接收到数据报文后,将数据报文缓存至目标硬件buffer。
步骤502:内核传输目标硬件buffer的地址至业务节点。
步骤503:内核判断目标硬件buffer是否满足置换条件。其中,所述置换条件用于转换数据报文的读取方式。
若内核目标硬件buffer满足置换条件,则执行步骤504。
在本申请的一个实施例中,为了提高灵活的控制数据报文的业务处理,且降低安全设备处理数据报文的性能的影响,安全设备中可以预先设置比例阈值。基于预设比例阈值,置换条件为:第一数量与第二数量的比值未达到预设比例阈值。其中,第一数量为被占用的硬件buffer的数量。第二数量为安全设备中硬件buffer的总数量。
内核检测第一数量与第二数量的比值是否达到预设比例阈值。若检测到未达到预设比例阈值,则内核判定目标硬件buffer满足置换条件。
在本申请的一个实施例中,内核接收到数据报文后,直接判断目标硬件buffer是否满足置换条件。
在本申请的另一个实施例中,为了减少CPU资源的浪费,内核将目标硬件buffer的地址传输给业务节点后,在接收到业务节点检测目标硬件buffer是否为满足置换条件的置换询问请求指令时,再检测目标硬件buffer是否满足置换条件。例如,业务节点接收到内核上送的硬件buffer地址后,向内核发送置换询问请求指令,内核接收到业务节点发送的置换询问请求指令后,检测第一数量与第二数量的比值是否达到预设比例阈值,并将检测结果携带在置换询问响应指令中反馈给业务节点。其中,检测结果包括:第一数量与第二数量的比值是否达到预设比例阈值。
在本申请的一个实施例中,置换询问请求指令可以为调用指令,置换询问响应指令可以为调用响应指令。业务平台向内核发送调用指令,调用内核预先注册的询问接口。内核通过询问接口检测目标硬件buffer是否满足置换条件,并向业务平台反馈调用响应指令。
步骤504:内核向业务节点发送第一置换指令。
其中,第一置换指令用于指示业务节点通过接收的地址从目标硬件buffer中读取数据报文。也就是,业务节点根据第一置换指令通过接收的地址从目标硬件buffer中读取数据报文。
在本申请的一个实施例中,若内核判定目标硬件buffer不满足置换条件,则向业务节点发送第二置换指令。其中,第二置换指令用于指示业务节点复制通过接收的地址从目标硬件buffer中读取的数据报文,将复制得到的数据报文存储至软件buffer,并从软件buffer中读取所述复制得到的数据报文。
也就是,业务节点根据第二置换指令复制通过接收的地址从目标硬件buffer中读取的数据报文,将复制得到的数据报文存储至软件buffer,并从软件buffer中读取所述复制得到的数据报文。
在本申请的一个实施例中,内核通过置换询问响应指令,指示业务节点读取数据报文。其中,若置换询问响应指令中携带的检测结果为:第一数量与第二数量的比值未达到预设比例阈值,则该置换询问响应指令为第一置换指令。若置换询问响应指令中携带的检测结果为:第一数量与第二数量的比值达到预设比例阈值,则该置换询问响应指令为第二置换指令。
对于业务节点,若置换询问响应指令中携带的检测结果为第一数量与第二数量的比值未达到预设比例阈值,则业务节点确定目标硬件buffer满足置换条件,通过接收的地址从目标硬件buffer中读取数据报文,进而进行业务处理。若置换询问响应指令中携带的检测结果为第一数量与第二数量的比值达到预设比例阈值,则业务节点复制通过接收的地址从目标硬件buffer中读取的数据报文,将复制得到的数据报文存储至软件buffer,并从软件buffer中读取所述复制得到的数据报文。
在本申请的一个实施例中,若安全设备中包括多个业务节点,且内核上送的硬件buffer地址对应的目标硬件buffer为满足置换条件,则多个业务节点中的一个业务节点在通过接收的硬件buffer地址,从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理之后,将硬件buffer地址发送给其他业务节点。其他业务节点可以直接通过接收的硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在所有业务节点对数据报文进行业务处理结束后,最后一个处理数据报文的业务节点向内核发送释放指令,调用内核处理数据报文,例如,调用内核转发或丢弃硬件buffer中缓存的数据报文等,释放硬件buffer。
结合图6所示的基于预设比例阈值的硬件buffer的报文处理方法的流程示意图,对图5所示的报文处理方法进行说明。
步骤61,内核接收需要进行业务处理的数据报文。
若存在未被占用的硬件buffer,则从未被占用的硬件buffer确定目标硬件buffer,将数据报文缓存至目标硬件buffer中,并将数据报文的属性设置为“硬件”。
若所有的硬件buffer均被占用,则丢弃数据报文。
步骤62,内核调用软件平台接口,将目标硬件buffer的地址上送给业务节点,例如业务节点31。
步骤63,业务节点31向内核发送置换询问请求指令,调用询问接口,进行置换询问。
步骤64,内核根据置换询问请求指令,检测第一数量与第二数量的比值是否达到预设比例阈值,并将检测结果携带在置换询问响应指令中发送给业务节点31。
其中,第一数量为被占用的硬件buffer的数量。第二数量为安全设备中硬件buffer的总数量。
步骤65,业务节点31根据置换询问响应指令携带检测结果确定是否需要置换数据报文的读取方式。
若确定置换询问响应指令携带检测结果为第一数量与第二数量的比值未达到预设比例阈值,业务节点31确定需要置换数据报文的读取方式,执行步骤66。
若确定置换询问响应指令携带检测结果为第一数量与第二数量的比值达到预设比例阈值,业务节点31确定不需要置换数据报文的读取方式,执行步骤69。
步骤66,业务节点31通过接收的目标硬件buffer的地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
业务节点31在对数据报文进行业务处理完成后,将目标硬件buffer的地址传输给其他业务节点,例如业务节点32。
步骤67,业务节点32接收到业务节点31传输来目标硬件buffer的地址后,通过接收的地址从目标硬件buffer中读取数据进行业务处理。
业务节点32在对数据报文进行业务处理完成后,再将目标硬件buffer的地址传输给其他业务节点。
其他业务节点的处理可参考步骤68。
步骤68,各个业务节点对数据报文处理结束后,最后一个处理数据报文的业务节点向内核发送释放指令,调用内核处理数据报文,释放目标硬件buffer。
步骤69,若在步骤65中业务节点31确定不需要置换数据报文的读取方式,则业务节点31从内存中申请软件buffer,通过接收的目标硬件buffer的地址从目标硬件buffer中读取数据报文,将读取的数据报文复制至软件buffer,并将数据报文的属性设置为“软件”。
步骤60,业务节点31从软件buffer中读取数据报文,并对读取的数据报文进行业务处理。
业务节点31在对数据报文进行业务处理完成后,将软件buffer的地址传输给其他业务节点。这里,业务节点31对数据报文进行业务处理可参考上述业务节点11和业务节点12对数据报文进行业务处理。
基于与图2和图5所示报文处理方法的相同的发明构思,本申请实施例还提供了一种报文处理方法。参考图7,图7为本申请实施例提供的报文处理方法的第三种流程示意图,该方法可以应用于安全设备的业务节点,包括:
步骤701:业务节点接收内核上送的硬件buffer地址。其中,硬件buffer地址对应的目标硬件buffer用于存储接收到的数据报文。
步骤702:业务节点判断目标硬件buffer是否为满足置换条件的硬件buffer。其中,置换条件用于转换数据报文的读取方式。
若目标硬件buffer为满足置换条件的硬件buffer,则执行步骤703。
步骤703:业务节点通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在本申请的一个实施例中,判断目标硬件buffer是否为满足置换条件的硬件buffer,可以包括:
判断目标硬件buffer是否为预先申请的硬件buffer,若是,则判定目标硬件buffer为满足置换条件的硬件buffer,其中,预先申请的硬件buffer缓存数据报文的优先级高于其他硬件buffer缓存数据报文的优先级;或
向内核发送置换询问请求指令,以使内核根据置换询问请求指令检测第一数量与第二数量的比值是否达到预设比例阈值,并将检测结果携带在置换询问响应指令中反馈,其中,第一数量为被占用的硬件buffer的数量,第二数量为硬件buffer的总数量;接收置换询问响应指令,若置换询问响应指令携带的检测结果为第一数量与第二数量的比值未达到预设比例阈值,则判定目标硬件buffer为满足置换条件的硬件buffer。
在本申请的一个实施例中,上述报文处理方法还可以包括:
若判定目标硬件buffer不是满足置换条件的硬件buffer,则通过硬件buffer地址从目标硬件buffer中读取数据报文,并将读取的数据报文复制至软件buffer;
从软件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在本申请的一个实施例中,在通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理之后,还可以包括:
业务节点将硬件buffer地址发送给其他业务节点,以使其他业务节点通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
应用本申请实施例,预设有置换条件,置换条件用于转换数据报文的读取方式。对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
与图2所示的报文处理方法相同的发明构思,本申请实施例还提供了一种报文处理装置。参考图8,图8为本申请实施例提供的报文处理装置的第一种结构示意图,该装置包括:
判断单元801,用于判断是否存在满足置换条件的硬件buffer,其中,置换条件用于转换数据报文的读取方式;
确定单元802,用于在判断单元801的判断结果为是时,从满足置换条件的硬件buffer中确定第一目标硬件buffer,并将接收到的数据报文缓存至第一目标硬件buffer;
传输单元803,用于传输第一目标硬件buffer的地址至业务节点,以使业务节点通过第一目标硬件buffer的地址从第一目标硬件buffer中读取数据报文。
在本申请的一个实施例中,判断单元801,具体可以用于:
判断是否存在未被占用的预先申请的硬件buffer;
若存在未被占用的预先申请的硬件buffer,则判定存在满足置换条件的硬件buffer。
在本申请的一个实施例中,确定单元802,还可以用于在判断单元的判断结果为否时,从不满足置换条件的硬件buffer中确定第二目标硬件buffer,并将数据报文缓存至第二目标硬件buffer;
传输单元803,还用于传输第二目标硬件buffer的地址至业务节点,以使业务节点复制通过第二目标硬件buffer的地址从第二目标硬件buffer中读取的数据报文,将复制得到的数据报文存储至软件buffer,并从软件buffer中读取复制得到的数据报文。
应用本申请实施例,预设有置换条件,置换条件用于转换数据报文的读取方式。对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
与图5所示的报文处理方法相同的发明构思,本申请实施例还提供了一种报文处理装置。参考图9,图9为本申请实施例提供的报文处理装置的第二种结构示意图,该装置包括:
缓存单元901,用于将接收到的数据报文缓存至目标硬件buffer;
传输单元902,用于传输目标硬件buffer的地址至业务节点;
判断单元903,用于判断目标硬件buffer是否满足置换条件,其中,置换条件用于转换数据报文的读取方式;
指示单元904,用于在判断单元903的判断结果为是时,向业务节点发送第一置换指令,所述第一置换指令用于指示业务节点通过地址从目标硬件buffer中读取数据报文。
在本申请的一个实施例中,判断单元903,具体可以用于:
检测第一数量与第二数量的比值是否达到预设比例阈值,其中,第一数量为被占用的硬件buffer的数量,第二数量为硬件buffer的总数量;
若否,则判定目标硬件buffer满足置换条件。
在本申请的一个实施例中,判断单元903,具体可以用于:
当接收到业务节点发送的置换询问请求指令时,检测第一数量与第二数量的比值是否达到预设比例阈值,其中,第一数量为被占用的硬件buffer的数量,第二数量为硬件buffer的总数量;
若否,则判定目标硬件buffer满足置换条件。
在本申请的一个实施例中,指示单元904,还可以用于:
在判断单元903的判断结果为否时,向业务节点发送第二置换指令,所述第二置换指令用于指示业务节点复制通过地址从目标硬件buffer中读取的数据报文,将复制得到的数据报文存储至软件buffer,并从软件buffer中读取复制得到的数据报文。
应用本申请实施例,预设有置换条件,置换条件用于转换数据报文的读取方式。对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
与图7所示的报文处理方法相同的发明构思,本申请实施例还提供了一种报文处理装置。参考图10,图10为本申请实施例提供的报文处理装置的第三种结构示意图,该装置包括:
接收单元1001,用于接收内核上送的硬件buffer地址;其中,硬件buffer地址对应的目标硬件buffer用于存储接收到的数据报文;
判断单元1002,用于判断目标硬件buffer是否为满足置换条件的硬件buffer;其中,置换条件用于转换数据报文的读取方式;
读取单元1003,用于在判断单元1002的判断结果为是时,通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在本申请的一个实施例中,判断单元1002,具体可以用于:
判断目标硬件buffer是否为预先申请的硬件buffer,若是,则判定目标硬件buffer为满足置换条件的硬件buffer,其中,预先申请的硬件buffer缓存数据报文的优先级高于其他硬件buffer缓存数据报文的优先级;或
向内核发送置换询问请求指令,以使内核根据置换询问请求指令检测第一数量与第二数量的比值是否达到预设比例阈值,并将检测结果携带在置换询问响应指令中反馈,其中,第一数量为被占用的硬件buffer的数量,第二数量为硬件buffer的总数量;接收置换询问响应指令,若置换询问响应指令携带的检测结果为第一数量与第二数量的比值未达到预设比例阈值,则判定目标硬件buffer为满足置换条件的硬件buffer。
在本申请的一个实施例中,读取单元1003,还可以用于:在判断单元1002的判断结果为否时,通过硬件buffer地址从目标硬件buffer中读取数据报文,并将读取的数据报文复制至软件buffer;从软件buffer中读取数据报文,并对读取的数据报文进行业务处理。
在本申请的一个实施例中,上述报文处理装置还可以包括:
发送单元,用于在通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理之后,将硬件buffer地址发送给其他业务节点,以使其他业务节点通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
应用本申请实施例,预设有置换条件,置换条件用于转换数据报文的读取方式。对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
与图2所示的报文处理方法相同的发明构思,本申请实施例还提供了一种安全设备,如图11所示,包括处理器1101和机器可读存储介质1102,机器可读存储介质1102存储有能够被处理器1101执行的机器可执行指令。处理器1101被机器可执行指令促使实现图2所示的报文处理方法。
另外,如图11所示,安全设备还可以包括:通信接口1103和通信总线1104;其中,处理器1101、机器可读存储介质1102、通信接口1103通过通信总线1104完成相互间的通信,通信接口1103用于上述安全设备与其他设备之间的通信。
其中,报文处理方法包括:
判断是否存在满足置换条件的硬件buffer,其中,置换条件用于转换数据报文的读取方式;
若存在,则从满足置换条件的硬件buffer中确定第一目标硬件buffer,并将接收到的数据报文缓存至第一目标硬件buffer;
传输第一目标硬件buffer的地址至业务节点,以使业务节点通过第一目标硬件buffer的地址从第一目标硬件buffer中读取数据报文。
应用本申请实施例,预设有置换条件,置换条件用于转换数据报文的读取方式。对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
与图5所示的报文处理方法相同的发明构思,本申请实施例还提供了一种安全设备,如图12所示,包括处理器1201和机器可读存储介质1202,机器可读存储介质1202存储有能够被处理器1201执行的机器可执行指令。处理器1201被机器可执行指令促使实现图5所示的报文处理方法。
另外,如图12所示,安全设备还可以包括:通信接口1203和通信总线1204;其中,处理器1201、机器可读存储介质1202、通信接口1203通过通信总线1204完成相互间的通信,通信接口1203用于上述安全设备与其他设备之间的通信。
其中,报文处理方法包括:
将接收到的数据报文缓存至目标硬件buffer;
传输目标硬件buffer的地址至业务节点;
判断目标硬件buffer是否满足置换条件,其中,置换条件用于转换数据报文的读取方式;
若是,则向业务节点发送第一置换指令,所述第一置换指令用于指示业务节点通过地址从目标硬件buffer中读取数据报文。
应用本申请实施例,预设有置换条件,置换条件用于转换数据报文的读取方式。对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
与图7所示的报文处理方法相同的发明构思,本申请实施例还提供了一种安全设备,如图13所示,包括处理器1301和机器可读存储介质1302,机器可读存储介质1302存储有能够被处理器1301执行的机器可执行指令。处理器1301被机器可执行指令促使实现图5所示的报文处理方法。
另外,如图13所示,安全设备还可以包括:通信接口1303和通信总线1304;其中,处理器1301、机器可读存储介质1302、通信接口1303通过通信总线1304完成相互间的通信,通信接口1303用于上述安全设备与其他设备之间的通信。
其中,报文处理方法包括:
接收内核上送的硬件buffer地址;其中,硬件buffer地址对应的目标硬件buffer用于存储接收到的数据报文;
判断目标硬件buffer是否为满足置换条件的硬件buffer;其中,置换条件用于转换数据报文的读取方式;
若是,则通过硬件buffer地址从目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
应用本申请实施例,预设有置换条件,置换条件用于转换数据报文的读取方式。对于满足置换条件的硬件buffer,业务节点直接从这类硬件buffer中读取数据报文,并对读取的数据报文进行业务处理,而不必从硬件buffer中读取数据报文,再将读取的数据报文复制至软件buffer,提高了安全设备处理数据报文的性能。另外,业务节点直接从硬件buffer中读取数据报文进行业务处理,相应地减少了业务节点从内存中申请软件buffer,减少了软件buffer中缓存的数据报文,降低了消耗的内存,降低了因内存不足导致安全设备崩溃的可能性。
上述通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
上述机器可读存储介质可以包括RAM(Random Access Memory,随机存取存储器),也可以包括NVM(Non-Volatile Memory,非易失性存储器),例如至少一个磁盘存储器。另外,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于报文处理装置、安全设备实施例而言,由于其基本相似于报文处理方法实施例,所以描述的比较简单,相关之处参见图2-图7所示的报文处理方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种报文处理方法,其特征在于,应用于业务节点,所述业务节点为安全设备的软件平台的业务模块,所述方法包括:
接收安全设备的内核上送的硬件buffer地址;其中,所述硬件buffer地址对应的目标硬件buffer用于存储接收到的数据报文;
判断所述目标硬件buffer是否为满足置换条件的硬件buffer;其中,所述置换条件用于转换数据报文的读取方式,所述置换条件为:存在预先申请的、且未被占用的硬件buffer;
若是,则通过所述硬件buffer地址从所述目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
2.根据权利要求1所述的方法,其特征在于,所述判断所述目标硬件buffer是否为满足置换条件的硬件buffer,包括:
判断所述目标硬件buffer是否为预先申请的硬件buffer,若是,则判定所述目标硬件buffer为满足置换条件的硬件buffer,其中,所述预先申请的硬件buffer缓存数据报文的优先级高于其他硬件buffer缓存数据报文的优先级;或
向所述内核发送置换询问请求指令,以使所述内核根据所述置换询问请求指令检测第一数量与第二数量的比值是否达到预设比例阈值,并将检测结果携带在置换询问响应指令中反馈,其中,所述第一数量为被占用的硬件buffer的数量,所述第二数量为硬件buffer的总数量;接收所述置换询问响应指令,若所述置换询问响应指令携带的检测结果为所述第一数量与所述第二数量的比值未达到所述预设比例阈值,则判定所述目标硬件buffer为满足置换条件的硬件buffer。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
若判定所述目标硬件buffer不是满足置换条件的硬件buffer,则通过所述硬件buffer地址从所述目标硬件buffer中读取数据报文,并将读取的数据报文复制至软件buffer;
从所述软件buffer中读取数据报文,并对读取的数据报文进行业务处理。
4.根据权利要求1或2所述的方法,其特征在于,在通过所述硬件buffer地址从所述目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理之后,还包括:
将所述硬件buffer地址发送给其他业务节点,以使所述其他业务节点通过所述硬件buffer地址从所述目标硬件buffer中读取数据报文,并对读取的数据报文进行业务处理。
5.一种报文处理方法,其特征在于,包括:
将接收到的数据报文缓存至安全设备的目标硬件buffer;
传输所述目标硬件buffer的地址至业务节点;所述业务节点为安全设备的软件平台的业务模块;
判断所述目标硬件buffer是否满足置换条件,其中,所述置换条件用于转换数据报文的读取方式,所述置换条件为:存在预先申请的、且未被占用的硬件buffer;
若是,则向所述业务节点发送第一置换指令,所述第一置换指令用于指示所述业务节点通过所述地址从所述目标硬件buffer中读取数据报文。
6.根据权利要求5所述的方法,其特征在于,所述判断所述目标硬件buffer是否满足置换条件,包括:
检测第一数量与第二数量的比值是否达到预设比例阈值,其中,所述第一数量为被占用的硬件buffer的数量,所述第二数量为硬件buffer的总数量;
若否,则判定所述目标硬件buffer满足置换条件。
7.根据权利要求5所述的方法,其特征在于,所述判断所述目标硬件buffer是否满足置换条件,包括:
当接收到所述业务节点发送的置换询问请求指令时,检测第一数量与第二数量的比值是否达到预设比例阈值,其中,所述第一数量为被占用的硬件buffer的数量,所述第二数量为硬件buffer的总数量;
若否,则判定所述目标硬件buffer满足置换条件。
8.根据权利要求5所述的方法,其特征在于,还包括:
若判定所述目标硬件buffer不满足置换条件,则向所述业务节点发送第二置换指令,所述第二置换指令用于指示所述业务节点复制通过所述地址从所述目标硬件buffer中读取的数据报文,将复制得到的数据报文存储至软件buffer,并从所述软件buffer中读取所述复制得到的数据报文。
9.一种报文处理方法,其特征在于,包括:
判断是否存在满足置换条件的安全设备的硬件buffer,其中,所述置换条件用于转换数据报文的读取方式,所述置换条件为:存在预先申请的、且未被占用的硬件buffer;
若存在,则从满足置换条件的硬件buffer中确定第一目标硬件buffer,并将接收到的数据报文缓存至所述第一目标硬件buffer;
传输所述第一目标硬件buffer的地址至业务节点,以使所述业务节点通过所述第一目标硬件buffer的地址从所述第一目标硬件buffer中读取数据报文,所述业务节点为安全设备的软件平台的业务模块。
10.根据权利要求9所述的方法,其特征在于,所述判断是否存在满足置换条件的安全设备的硬件buffer,包括:
判断是否存在未被占用的预先申请的硬件buffer;
若存在未被占用的预先申请的硬件buffer,则判定存在满足置换条件的硬件buffer。
11.根据权利要求9所述的方法,其特征在于,还包括:
若判定不存在满足置换条件硬件buffer,则从不满足置换条件的硬件buffer中确定第二目标硬件buffer,并将所述数据报文缓存至所述第二目标硬件buffer;
传输所述第二目标硬件buffer的地址至业务节点,以使所述业务节点复制通过所述第二目标硬件buffer的地址从所述第二目标硬件buffer中读取的数据报文,将复制得到的数据报文存储至软件buffer,并从所述软件buffer中读取所述复制得到的数据报文。
12.一种安全设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-4任一所述的方法。
13.一种安全设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求5-8任一项所述的方法。
14.一种安全设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求9-11任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241503.6A CN108717381B (zh) | 2018-03-22 | 2018-03-22 | 一种报文处理方法及安全设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241503.6A CN108717381B (zh) | 2018-03-22 | 2018-03-22 | 一种报文处理方法及安全设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108717381A CN108717381A (zh) | 2018-10-30 |
CN108717381B true CN108717381B (zh) | 2021-04-16 |
Family
ID=63898719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810241503.6A Active CN108717381B (zh) | 2018-03-22 | 2018-03-22 | 一种报文处理方法及安全设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108717381B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1873641A1 (en) * | 2006-06-29 | 2008-01-02 | Incard SA | Compression method for managing the storing of persistent data from a non volatile memory to a backup buffer |
CN101178694A (zh) * | 2006-11-07 | 2008-05-14 | 莱克斯信息技术(北京)有限公司 | Intel e1000零拷贝的方法 |
CN102567258A (zh) * | 2011-12-29 | 2012-07-11 | 中国科学院自动化研究所 | 多维dma传输装置与方法 |
CN104166864A (zh) * | 2014-08-01 | 2014-11-26 | 北京民芯科技有限公司 | 一种智能读写器和智能卡之间的通信方法及系统 |
CN105183373A (zh) * | 2015-08-28 | 2015-12-23 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN105677597A (zh) * | 2014-11-20 | 2016-06-15 | 中兴通讯股份有限公司 | 数据写入方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020133620A1 (en) * | 1999-05-24 | 2002-09-19 | Krause Michael R. | Access control in a network system |
CN101059958B (zh) * | 2007-03-15 | 2010-12-15 | 上海交通大学 | 利用缓存来加快量化数据取得的编码和解码方法 |
JP2009087028A (ja) * | 2007-09-28 | 2009-04-23 | Toshiba Corp | メモリシステム及びメモリの読出し方法並びにプログラム |
CN111708717A (zh) * | 2015-06-30 | 2020-09-25 | 华为技术有限公司 | 数据拷贝方法、直接内存访问控制器及计算机系统 |
-
2018
- 2018-03-22 CN CN201810241503.6A patent/CN108717381B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1873641A1 (en) * | 2006-06-29 | 2008-01-02 | Incard SA | Compression method for managing the storing of persistent data from a non volatile memory to a backup buffer |
CN101178694A (zh) * | 2006-11-07 | 2008-05-14 | 莱克斯信息技术(北京)有限公司 | Intel e1000零拷贝的方法 |
CN102567258A (zh) * | 2011-12-29 | 2012-07-11 | 中国科学院自动化研究所 | 多维dma传输装置与方法 |
CN104166864A (zh) * | 2014-08-01 | 2014-11-26 | 北京民芯科技有限公司 | 一种智能读写器和智能卡之间的通信方法及系统 |
CN105677597A (zh) * | 2014-11-20 | 2016-06-15 | 中兴通讯股份有限公司 | 数据写入方法及装置 |
CN105183373A (zh) * | 2015-08-28 | 2015-12-23 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
Also Published As
Publication number | Publication date |
---|---|
CN108717381A (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110061914B (zh) | 一种报文转发方法及装置 | |
JP5222002B2 (ja) | 車載用の中継接続ユニット | |
CN106230997B (zh) | 一种资源调度方法和装置 | |
US20100106781A1 (en) | Automatic update of contact information in messaging | |
CN112511517B (zh) | 一种邮件检测方法、装置、设备及介质 | |
US20210058811A1 (en) | Method and apparatus for detecting time series data | |
CN110677684B (zh) | 视频处理、视频访问方法及分布式存储、视频访问系统 | |
CN107547566B (zh) | 一种处理业务报文的方法及装置 | |
CN112866435B (zh) | Mac地址老化处理方法及设备 | |
US11636198B1 (en) | System and method for cybersecurity analyzer update and concurrent management system | |
US9325690B2 (en) | Verification service | |
CN110191104A (zh) | 一种安全防护的方法及装置 | |
CN107682446B (zh) | 一种报文镜像方法、装置及电子设备 | |
CN108717381B (zh) | 一种报文处理方法及安全设备 | |
CN109460182B (zh) | 一种数据存储、读取方法及装置 | |
CN110908881B (zh) | 埋点数据的发送方法、装置、电子设备及计算机可读存储介质 | |
KR101473652B1 (ko) | 악성 메시지 검사 방법 및 장치 | |
CN114826906B (zh) | 流量控制方法、装置、电子设备及存储介质 | |
CN101022342A (zh) | 攻击信息处理方法和装置 | |
CN114270309A (zh) | 资源获取方法、装置以及电子设备 | |
WO2017193798A1 (zh) | 一种垃圾信息监控方法、装置及通信系统 | |
CN102045271A (zh) | 一种垃圾邮件处理方法、相关装置及系统 | |
CN110430118B (zh) | 账单邮件管理方法、装置、计算机设备及计算机可读存储介质 | |
CN111444184A (zh) | 数据存储方法、存储调度服务器、电子设备及存储介质 | |
US20050265380A1 (en) | Home agent system |
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 |