掌桥专利:专业的专利平台
掌桥专利
首页

一种判决验证的方法及系统

文献发布时间:2023-06-19 18:27:32


一种判决验证的方法及系统

技术领域

本申请涉及网络安全领域,特别涉及一种判决验证的方法及系统。

背景技术

随着网络技术的不断发展,网络空间安全愈发重要。拟态防御是一种应对网络攻击威胁的新思想,其通过构建动态异构冗余的系统架构和运行机制实现基于未知漏洞的入侵防御,能够有效提高网络空间的安全性。在拟态防御的系统中,即拟态系统中,需要对不同异构执行体的输出数据进行判决,以确定系统最终的输出结果,即拟态判决。

判决方法的核心思想是将各异构执行体输出的数据进行比对,通过数据比对结果和其他辅助信息判决出系统的最佳输出。

比对的过程中需要有预期判决结果作为参照,预期判决结果与拟态系统输出的判决结果具有一一对应的关系,而在现有技术中,生成预期判决结果的过程较为繁琐,生成的速度较慢,故会影响到比对验证的效率。同时在进行比对的过程中,由于各异构执行体输出的数据的顺序难以控制,会导致在比对的过程中出现,预期判决结果所判决的数据与拟态判决所判决的数据不是同一数据的情况,从而影响到预期判决结果与拟态判决的结果比对验证的结论的准确性,无法准确高效地完成判决的比对验证。

发明内容

有鉴于此,本申请实施例提供了一种判决验证的方法及系统,提升了获取预期判决结果的速度,进而能够正确高效地完成判决的比对验证。

第一方面,本申请实施例提供了一种判决验证的方法,所述方法包括:

对异构执行体发出的数据包进行拟态判决,并输出包含实际判决结果及所述数据包对应的特征信息的第一数据包;

对历史数据包的判决结果进行归类处理以获取统计结果,根据所述统计结果获得所述数据包的预期判决结果,并将包含所述预期判决结果及所述数据包对应的特征信息的第二数据包存放至预期队列中;

根据所述第一数据包的输出顺序及所述第一数据包中的特征信息,在所述预期队列中遍历寻找具有相同的所述特征信息的第二数据包,将查找到的第一个具有相同的所述特征信息的第二数据包中的预期判决结果,与所述第一数据包中的实际判决结果进行比对,以验证所述实际判决结果的正确性。

可选的,所述根据所述统计结果获得所述数据包的预期判决结果,具体包括:

将所述数据包缓存至待处理队列,所述数据包中包括所述特征信息,所述特征信息中包括用于指示判决模式的判决等级信息;

根据所述判决等级信息确定所述数据包对应的判决模式;

在所述统计结果中查找到与所述数据包的所述判决模式一致时对应的判决结果,并以查找到的所述判决结果作为所述数据包的预期判决结果。

可选的,其特征在于,所述对历史数据包的判决结果进行归类处理以获取统计结果,包括:

将由相同数量异构执行体发出的所述历史数据包,在不同判决模式下进行判决并输出判决结果;

将所述判决结果相同时,所述判决结果对应的判决模式及异构执行体数量进行统计,并根据所述判决结果进行归类处理,所述判决结果相同即认定为同一类型,通过所述归类处理以获得统计结果。

可选的,所述根据所述统计结果获得所述数据包的预期判决结果,具体包括:

利用异构执行体数量及数据包的判决模式,查找所述统计结果中,具有所述异构执行体数量及所述判决模式时所对应的判决结果,以所述判决结果作为所述预期判决结果并输出。

可选的,所述将包含所述预期判决结果及所述数据包对应的特征信息的第二数据包存放至预期队列中,具体包括:

将具有相同特征信息的所述第二数据包存放至同一预期子队列,所述预期队列中包含一个或一个以上预期子队列。

可选的,所述特征信息具体包括协议号信息或数据特征值信息;

所述将具有相同特征信息的所述第二数据包存放至同一预期子队列,具体包括:

将具有相同协议号信息的所述第二数据包存放至同一预期子队列,或,将具有相同数据特征值信息的所述第二数据包存放至同一预期子队列。

可选的,所述在所述预期队列中遍历寻找具有相同的所述特征信息的第二数据包,将查找到的第一个具有相同的所述特征信息的第二数据包中的预期判决结果,与所述第一数据包中的实际判决结果进行比对,包括:

根据所述第一数据包的特征信息,在预期队列中遍历查找所述第一数据包的特征信息对应的预期子队列;

比对查找到的所述预期子队列中的首个所述第二数据包中的预期判决结果,与所述第一数据包的实际判决结果是否一致;

若是,则确定所述实际判决结果正确,并将用于和所述第一数据包进行比对的所述第二数据包在对应的所述预期子队列中的位置做回收处理;否则,确定所述实际判决结果错误。

可选的,所述特征信息包含用于指示判决模式的判决等级信息,所述方法还包括:

当所述数据包对应的特征信息指示所述数据包的判决模式为直接透传模式时,对所述数据包进行跳过判决过程直接输出的处理;

当所述数据包对应的特征信息指示所述数据包的判决模式为直接丢弃模式时,对所述数据包进行丢弃处理。

可选的,所述对异构执行体发出的数据包进行拟态判决,具体包括:

对数据包进行缓存调度,并送入片外缓存;

将经过缓存后的所述数据包对应的数据特征信息组合成数据描述符,所述数据描述符携带的信息用于进行判决等级确定、数据比对及缓存地址的查找;

根据所述数据描述符中的信息获得所述数据包的判决等级,并根据所述判决等级确定所述数据包的判决模式;

归一化对齐各个所述数据描述符,根据所述数据描述符确定出的所述判决模式,对所述数据包进行对应判决模式的处理并输出判决结果,以完成判决。

第二方面,本申请实施例提供了一种判决验证的系统,所述系统包括:

第一判决模块,用于对异构执行体发出的数据包进行拟态判决,并输出包含实际判决结果及所述数据包对应的特征信息的第一数据包;

第二判决模块,用于对历史数据包的判决结果进行归类处理以获取统计结果,根据所述统计结果获得所述数据包的预期判决结果,并将包含所述预期判决结果及所述数据包对应的特征信息的第二数据包存放至预期队列中;

比对模块,用于根据所述第一数据包的输出顺序及所述第一数据包中的特征信息,在所述预期队列中遍历寻找具有相同的所述特征信息的第二数据包,将查找到的第一个具有相同的所述特征信息的第二数据包中的预期判决结果,与所述第一数据包中的实际判决结果进行比对,以验证所述实际判决结果的正确性。

可选的,所述第二判决模块包括缓存子模块、判决等级管理子模块和判决子模块;

所述缓存子模块用于,将所述数据包缓存至待处理队列,所述数据包中包括所述特征信息,所述特征信息中包括用于指示判决模式的判决等级信息;

所述判决等级管理子模块用于,根据所述判决等级信息确定所述数据包对应的判决模式;

所述判决子模块用于,在所述统计结果中查找到与所述数据包的所述判决模式一致时对应的判决结果,并以查找到的所述判决结果作为所述数据包的预期判决结果。

可选的,所述第二判决模块包括历史判决子模块、统计子模块和结果输出子模块;

所述历史判决子模块用于,将由相同数量异构执行体发出的所述历史数据包,在不同判决模式下进行判决并输出判决结果;

所述统计子模块用于,将所述判决结果相同时,所述判决结果对应的判决模式及异构执行体数量进行统计,并根据所述判决结果进行归类处理,所述判决结果相同即认定为同一类型,通过所述归类处理以获得统计结果;

所述结果输出子模块用于,利用异构执行体数量及数据包的判决模式,查找所述统计结果中,具有所述异构执行体数量及所述判决模式时所对应的判决结果,以所述判决结果作为所述预期判决结果并输出。

可选的,所述比对模块包括:存放子模块、查找子模块及比对子模块;

所述存放子模块用于,将具有相同特征信息的所述第二数据包存放至同一预期子队列,所述预期队列中包含一个或一个以上预期子队列;

所述查找子模块用于,根据所述第一数据包的特征信息,在预期队列中遍历查找所述第一数据包的特征信息对应的预期子队列;

所述比对子模块用于,比对查找到的所述预期子队列中的首个所述第二数据包中的预期判决结果,与所述第一数据包的实际判决结果是否一致;若是,则确定所述实际判决结果正确,并将用于和所述第一数据包进行比对的所述第二数据包在对应的所述预期子队列中的位置做回收处理;否则,确定所述实际判决结果错误。

可选的,所述特征信息包含用于指示判决模式的判决等级信息,所述系统还用于:

当所述数据包对应的特征信息指示所述数据包的判决模式为直接透传模式时,对所述数据包进行跳过判决过程直接输出的处理;

当所述数据包对应的特征信息指示所述数据包的判决模式为直接丢弃模式时,对所述数据包进行丢弃处理。

可选的,所述第一判决模块隶属于拟态判决系统,拟态判决系统包括:缓存模块、描述符生成模块、判决模式确定模块和第一判决模块;

所述缓存模块用于,对数据包进行缓存调度,并送入片外缓存;

所述描述符生成模块用于,将经过缓存后的所述数据包对应的数据特征信息组合成数据描述符,所述数据描述符携带的信息用于进行判决等级确定、数据比对及缓存地址的查找;

所述判决模式确定模块用于,根据所述数据描述符中的信息获得所述数据包的判决等级,并根据所述判决等级确定所述数据包的判决模式;

所述第一判决模块用于,归一化对齐各个所述数据描述符,根据所述数据描述符确定出的所述判决模式,对所述数据包进行对应判决模式的处理并输出判决结果,以完成判决。

本申请提供了一种判决验证的方法及系统,判决验证的方法主要用于判决验证系统,判决验证系统包括:拟态判决系统和验证系统。具体方法为:首先对异构执行体发出的数据包进行拟态判决,并输出包含实际判决结果及所述数据包对应的特征信息的第一数据包。然后对历史数据包的判决结果进行归类处理以获取统计结果,根据所述统计结果获得所述数据包的预期判决结果,并将包含所述预期判决结果及所述数据包对应的特征信息的第二数据包存放至预期队列中。最后根据所述第一数据包的输出顺序及所述第一数据包中的特征信息,在所述预期队列中遍历寻找具有相同的所述特征信息的第二数据包,将查找到的第一个具有相同的所述特征信息的第二数据包中的预期判决结果,与所述第一数据包中的实际判决结果进行比对,以验证所述实际判决结果的正确性。如此,通过利用归并处理后的统计结果,能够高效且正确实现对数据包的判决,并输出预期判决结果,同时通过上述的为第一数据包查找比对相应的第二数据包的方式,能够实现在数据量较大时,保证数据包匹配的正确性,从而保证了系统能够正确且快速地完成判决的比对验证。

附图说明

为更清楚地说明本实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一种判决验证的方法的流程图;

图2为拟态判决系统的判决过程的流程图;

图3为获得预期判决结果的流程图;

图4为比对机制的流程图;

图5a为一种判决验证的系统结构示意图;

图5b为验证系统的结果示意图;

图5c为拟态判决系统的结构示意图。

具体实施方式

在对于现有技术的研究发现,当判决场景较为复杂时,验证系统生成预期判决结果的速度就会变慢,导致拟态判决系统已经进行拟态判决并输出了实际判决结果,而验证系统还未做出相应的预期判决结果的情况出现。而且在乱序的场景下,会造成不同协议通道的判决结果输出先后顺序不可控的情况,举例而言:当拟态判决输出了含有实际判决结果且特征值为1的第一数据包,需要与验证系统输出的含有预期判决结果的第二数据包进行比对时,具有多个特征值为1的第二数据包,此时会出现第一数据包对应匹配多个第二数据包的情况,而这种情况会导致匹配过程出现混乱,实际判决结果无法与其相应的预期判决结果进行比对,最终影响到比对验证的验证结果。

基于此,本申请提出了一种判决验证的方法及系统。能够实现快速输出预期判决结果,正确高效地完成判决的比对验证。本判决验证方法应用于判决验证系统,判决验证系统包括:拟态判决系统和验证系统。具体方法为:

首先对异构执行体发出的数据包进行拟态判决,并输出包含实际判决结果及数据包对应的特征信息的第一数据包。然后利用对历史数据包的判决结果进行归类处理后获取的统计结果获得数据包的预期判决结果,并将包含预期判决结果及数据包对应的特征信息的第二数据包存放至预期队列中,预期队列中包括一个或一个以上预期子队列,将具有相同特征信息的第二数据包存放至同一预期子队列。最后根据第一数据包的输出顺序及第一数据包中的特征信息,在预期队列中遍历寻找具有相同的特征信息的第二数据包,将查找到的第一个具有相同的特征信息的第二数据包中的预期判决结果,与第一数据包中的实际判决结果进行比对,以验证实际判决结果的正确性。

图1为一种判决验证的方法的流程图。参见图1所示,本申请提供了一种判决验证的方法用于判决验证系统,判决验证系统包括:拟态判决系统和验证系统。具体方法包括:

步骤101:对异构执行体发出的数据包进行拟态判决,并输出包含实际判决结果及所述数据包对应的特征信息的第一数据包。

验证技术有静态验证、功能仿真、FPGA原型验证、硬件仿真和UVM等。静态验证不进行电路仿真,输入激励,而是直接通过辅助工具来验证一些预定义的规则,如语法检查、语义检查等。它能够在IC设计流程的早期,对设计进行一个初步验证,不需要波形激励或完备验证环境的搭建。

功能仿真是指通过软件仿真,来验证电路设计的功能行为(functionalbehavior),不考虑电路内部逻辑与互连的延时,其仿真的目的是进行各个IP或IC模块层次的验证。FPGA原型验证是在FPGA上对IC系统进行功能上的验证。目的是通过对电路设计进行实时的数据信号驱动,验证其是否还能如期运行,且外部接口能否正确工作。近年来随着IC复杂性的提高与市场的需求增大,FPGA原型验证始终是重要的验证方式。

硬件仿真(Emulation),是在硬件仿真器上对系统进行功能性验证的过程。硬件仿真器能够处理系统层次的设计(如C,C++,SystemC代码),也能够处理RTL设计(如Verilog,VHDL代码)。目的是为了通过给实时的数据输入,从系统层面来发现问题,进而验证系统的完整性,也可用于嵌入式软件的开发。

UVM是已经定义好testbench结构的代码规范集合。它用System Verilog进行编写,并提供了System Verilog的一些类库(SV base class library,BCL),能够搭建高级可复用的验证组件。UVM具有固定的testbench结构,使其高度可复用,进而节省大量时间。在本申请中主要以UVM验证为主体进行阐述,本领域的技术人员可以根据实际情况及应用场景对验证技术进行选择,在此不做限定。

在本申请中设计的UVM验证系统中包括:arb_master_agent、ahb_master_agent、参考模型(reference model)、比对模块(scoreboard)及外接DDR简易模型。验证系统也可以包括但不限于以上这五个模块,在此不做限定。

其中arb_master_agent各验证组件实现了给拟态判决系统提供输入报文的功能,输入报文按照以太网UDP报文和TCP报文协议要求;ahb_master_agent各验证组件实现了ahb总线配置寄存器的功能;参考模型(reference model)相比于拟态判决系统的判决逻辑进行了简化;比对模块(Scoreboard)用于实现预期数据和实际数据的自动比对功能(在本申请中可以指预期判决结果和实际判决结果的自动比对);外接DDR是根据存储行为写成的符合拟态判决系统的接口协议的简化模型。

拟态判决主要是通过拟态判决系统实现。在拟态防御架构中,冗余控制器接收外部控制参数,生成冗余调度策略和输出仲裁策略,分别发送给输入代理器和输出代理器。输入代理器依据接收到的冗余调度策略选择相应的异构执行体响应外部服务请求,异构执行体将处理结果发送至输出代理器,输出代理器根据冗余控制器下发的输出仲裁策略,对异构执行体的输出结果进行拟态判决,最终选择一路作为系统输出,如此便完成了拟态判决。

拟态判决系统可以包括缓存管理模块、描述符生成模块及判决模块。图2为拟态判决系统的判决过程的流程图,如图2所示,判决过程如下:

步骤201:对数据包进行缓存调度,并送入片外缓存。

由于拟态判决系统内部不存在存储器,所以数据需要送入片外进行缓存。片外缓存可以为DDR片外缓存。DDR的全称为Double Data Rate SDRAM(双倍速率的SDRAM),就是我们平时说的内存颗粒,也就是内存芯片。

步骤202:将经过缓存后的所述数据包对应的数据特征信息组合成数据描述符,所述数据描述符携带的信息用于进行判决等级确定、数据比对及缓存地址的查找。

数据特征信息中包括但不限于判决等级、缓存地址、用到的协议等信息。

步骤203:根据所述数据描述符中的信息获得所述数据包的判决等级,并根据所述判决等级确定所述数据包的判决模式。

判决等级通过寄存器配置进行设定;判决模式可以包括透传模式、丢弃模式、主通道判决模式和择多判决模式等。

透传模式(直接透传模式)指的是跳过判决过程直接输出。丢弃模式(直接丢弃模式)指的是直接将数据丢弃不进行判决。主通道判决模式指的是设定其中一个通道作为主通道,判决结果以主通道的判决结果作为输出。择多判决模式指的是将多路待判决的结果进行比较,选择其中多数一致的结果作为输出,若出现都不一致或者有相同数量的多数一致情况,则随机选择一个(多数一致的)结果作为输出。当数据包的判决模式为上述提到的透传模式或丢弃模式这两种模式之一时,则不需要对该数据包进行判决,而是直接对数据包做出相应的处理。举例而言,若数据包的特征信息指示该数据包的判决模式为丢弃模式时,则对该数据包不进行判决,而是直接对该数据包进行丢弃处理。

步骤204:归一化对齐各个所述数据描述符,根据所述数据描述符确定出的所述判决模式,对所述数据包进行对应判决模式的处理并输出判决结果,以完成判决。

归一化对齐各描述符的原因是:由于多通道的数据的输入顺序和时间不一致,用于判决的几个通道数据进入拟态判决系统的时间可能会有较大差距,需要在设定时间范围内等待数据进入系统。有两种情况可以执行判决进程,一是收齐待判数据,二是达到设定时间。在判决完成后,需要返回数据地址和描述符地址,以便各个管理模块进行地址回收。

通过对数据进行缓存管理后,进入描述符生成模块生成对应的数据描述符,通过数据描述符判断判决等级,进入判决主体后根据判决等级进入相应的判决模式处理,输出判决结果。通过归一化对齐各数据的描述符,使得判决能够有序进行。

在本申请中的判决验证系统主要涉及到拟态判决系统和验证系统,其中拟态判决系统用于对数据包进行拟态判决并输出实际判决结果,验证系统主要用于对数据包进行判决并输出预期判决结果,同时比对上述实际判决结果和预期判决结果,通过比对结果验证实际判决结果的正确性。想要实现上述判决验证过程,必要的前提就是需要向拟态判决系统和验证系统发送相同数据包。具体原因在于:验证系统中的比对模块需要对验证系统输出的预期判决结果及拟态判决系统输出的实际判决结果进行比对,所以需要保证验证系统输出的预期判决结果与拟态判决系统输出的实际判决结果是针对同一数据包判决产生的,如此才有将两者进行比对的意义。

数据特征信息,也可以简单说成特征信息,指的是能够反映出数据的特征的一些信息或是一些字段,特征信息中包括:判决等级信息、特征值信息及缓存地址信息,还可以包括但不限于以下信息:协议号信息、时间窗信息、长度信息等。具体的数据特征信息可以由本领域的技术人员根据实际情况及应用场景进行设定,在此不作限定。

判决等级信息可以让数据包根据判决等级信息确定需要进行判决的模式。

特征值信息是数据包经过哈希计算或者其他的一些计算得出的数据包对应的唯一标识,是一个长串的数据值,具有较长的位宽,即位数较多,特征值信息可以用于后续的队列分配、判决比对等。

协议号信息指的是数据适配的协议的信息。

时间窗信息用于显示判决中是否出现超时的情况。当判决比对的乱序程度过高,达到拟态判决系统无法进行处理时,此时会出现预期判决结果与实际判决结果无法正确匹配,因此拟态判决系统会进入等待,直到遍历查找到能够与实际判决结果对应的数据包匹配的数据包为止。时间窗可以反映出等待的时间,若等待的时间超出设定的阈值,会由时间窗进行超时显示,对该判决结果的数据包进行丢弃处理。阈值可以由本领域的技术人员根据应用场景和实际情况配置寄存器实现。

长度信息用于反应数据的长度。

步骤102:对历史数据包的判决结果进行归类处理以获取统计结果,根据所述统计结果获得所述数据包的预期判决结果,并将包含所述预期判决结果及所述数据包对应的特征信息的第二数据包存放至预期队列中。

步骤102主要是由验证系统中的参考模型实现。在现有技术中参考模型(reference model)的作用主要为模拟DUT的行为,根据输入的激励产生相应的结果,该结果称为参考值或者期望值。该结果会送入比对模块(scoreboard)中进行比对。

在本申请中参考模型主要是模仿拟态判决系统的行为,其作用与现有技术不完全相同,本申请中的参考模型具有简洁易于复用多种判决大数算法的特点。本申请中的参考模型中具有数据包缓存模块、判决等级管理模块、协议队列分配模块及判决模块等。实现的功能包括数据缓存、判决等级管理、协议队列分配及判决等功能。数据缓存功能,是利用数据包缓存模块将所述数据包缓存至第一队列中,数据包中具有特征信息以提供后续判决使用。判决等级管理功能,是利用判决等级管理模块通过寄存器配置设定判决等级,并根据判决等级获得相应判决模式。协议队列分配功能,是利用协议队列分配模块根据所述特征信息分配队列,同一特征信息的所述数据包进入同一队列中,分配规则由寄存器配置决定,保证参考模型和拟态判决系统行为一致。判决功能,是利用判决模块对不同判决模式下的异构执行体对数据包的判决结果进行相应预期,获得并输出预期判决结果。

归并处理指的是参考模型将相同数量异构执行体工作情况下不同判决模式输出相同判决结果的情况进行归并处理,也就是对于输出相同判决结果的情况进行了统计,以便当有数据需要进行判决时,能够根据数据的情况,如:异构执行体的数量、判决模式等,在统计结果中匹配对应的判决结果。以此实现高效且正确的对于数据进行判决并输出预期判决结果。

步骤102中提到:“将包含所述预期判决结果及所述数据包对应的特征信息的第二数据包存放至预期队列中”,将第二数据包存放至预期队列具体为:预期队列中包括一个或一个以上预期子队列,具有相同特征信息的第二数据包会被存放至同一预期子队列,也就是说,每一个预期子队列中存放的第二数据包均具有相同的特征信息。特征信息可以指协议号信息、数据特征值信息及其他可以用来表示数据特征的信息,在此不做限定。那么,具有相同协议号信息的第二数据包会被存放至同一预期子队列;具有相同数据特征值信息的第二数据包会被存放至同一预期子队列;具有相同其他可以用来表示数据特征的信息的第二数据包会被存放至同一预期子队列。

步骤103:根据所述第一数据包的输出顺序及所述第一数据包中的特征信息,在所述预期队列中遍历寻找具有相同的所述特征信息的第二数据包,将查找到的第一个具有相同的所述特征信息的第二数据包中的预期判决结果,与所述第一数据包中的实际判决结果进行比对,以验证所述实际判决结果的正确性。

步骤103中提到的:“在所述预期队列中遍历寻找具有相同的所述特征信息的第二数据包,将查找到的第一个具有相同的所述特征信息的第二数据包中的预期判决结果,与所述第一数据包中的实际判决结果进行比对”,这一过程可以理解为是一种比对机制。其目的是:保证对于同一数据包进行的验证系统的预期判决和拟态判决系统的实际判决,两者输出的判决结果能够进行比对。由于拟态判决系统多通道的数据的输入顺序和时间不一致,且存在数据量大场景复杂的特点,在调度的过程中,异构执行体输出数据包顺序不可预期,所以需要保证数据进行比对的顺序。

若经过比对发现拟态判决系统输出的实际判决结果与验证系统输出的预期判决结果相同,则验证拟态判决系统的判决结果是正确的。若经过比对发现拟态判决系统输出的实际判决结果与验证系统输出的预期判决结果不相同,则验证拟态判决系统的判决结果是错误的。

在本实施例中,通过向拟态判决系统和验证系统发送相同数据包,利用拟态判决系统对所述数据包进行判决,并输出包含实际判决结果及所述数据包对应的数据特征值情况的第一数据包。然后利用验证系统中的参考模型根据归并处理后的统计结果获得数据包的预期判决结果,输出包含预期判决结果及所述数据包对应的数据特征值情况的第二数据包。最后根据比对机制得到比对结果,以验证拟态判决系统的判决是否正确。验证系统的参考模型通过对于不同情况下的判决结果进行归并处理,完成了大量场景下的判决结果的统计,使得验证系统能够根据统计结果,快速且正确的输出数据包相应的判决结果。且当应用到其他的拟态判决系统进行验证时,只需在参考模型中对于判决算法进行适应性修改即可复用。同时,在验证系统应用到了比对机制能够实现数据量大场景复杂的情况下,同一数据包的预期判决结果与实际判决结果能够正确实现比对,而不会出现匹配错误,而导致验证出错的情况。

图3为获得预期判决结果的流程图,如图3所示,获得预期判决结果的步骤如下:

步骤301:将由相同数量异构执行体发出的所述历史数据包,在不同判决模式下进行判决并输出判决结果。

步骤302:将所述判决结果相同时,所述判决结果对应的判决模式及异构执行体数量进行统计,并根据所述判决结果进行归类处理,所述判决结果相同即认定为同一类型,通过所述归类处理以获得统计结果。

举例而言,当异构执行体均为5个的时候,此时具有两种判决模式,分别为主通道模式和权重最高判决模式。在主通道模式下,设定异构执行体1所在通道为主通道,此时5个异构执行体工作,异构执行体1、2、4、5收到的数据一致,异构执行体3和其他四个异构执行体数据不同。由于处于主通道模式,所以此时需要输出异构执行体1的数据。

在权重最高判决模式下,设定异构执行体1所在通道为权重最高的通道,此时5个异构执行体工作,异构执行体1、3、4、5收到的数据一致,异构执行体2和其他四个异构执行体数据不同。由于处于权重最高判决模式下,所以此时需要输出异构执行体1的数据。以上两种情况即为,由相同数量异构执行体发出的所述数据包,在不同判决模式下进行判决并输出相同判决结果的情况(均为输出异构执行体1的数据),此时需要将上述这两种情况进行归并处理。

举例而言,以主通道判决模式及权重最高判决模式进行说明,具体如下:

当采用主通道模式时,需要设定其中一个通道作为主通道,判决结果以主通道的判决结果作为输出。举例而言, 5个异构执行体工作,异构执行体1是寄存器配置的主通道。请参考以下两个场景:①异构执行体1、3、4、5收到数据一致,异构执行体2和其他四个异构执行体数据不同;②异构执行体1、2、3、5收到数据一致,异构执行体4和其他四个异构执行体数据不同。若以异构执行体2作为寄存器配置的主通道,异构执行体1作为副主通道,参考以下场景:③异构执行体1、3、4、5收到数据一致,异构执行体2和其他四个异构执行体数据不同。

那么场景①、场景②和场景③经过判决后都应该输出异构执行体1的数据,从结果而言,为同一种输出情况,因此做归并处理。关于场景③输出异构执行体1的数据的原因在于:由于异构执行体2为主通道,但是此时异构执行体2的数据出现了错误,所以此时应该输出副主通道,即异构执行体1对应通道的数据。

当采用权重最高判决模式时,需要基于权重的判决策略考虑各路输出的优先性,依据相应的控制策略为每路输出赋予一个不同的权值,根据权值大小进行判决。举例而言,5个异构执行体工作,异构执行体1是寄存器配置的权重最高的通道,请参考以下两个场景:①异构执行体1、3、4、5收到数据一致,异构执行体2和其他四个异构执行体数据不同;②异构执行体1、2、3、5收到数据一致,异构执行体4和其他四个异构执行体数据不同。

那么场景①和场景②经过判决后都应该输出异构执行体①的数据,从结果而言,为同一种输出情况,因此做归并处理。

步骤303:利用异构执行体数量及数据包的判决模式,查找所述统计结果中,具有所述异构执行体数量及所述判决模式时所对应的判决结果,以所述判决结果作为所述预期判决结果并输出。

当验证系统的参考模型获取到数据包时,根据数据包中的特征信息即可获取到异构执行体的工作数量、判决模式等信息。可以根据这些信息到归并处理的各种情况中进行比对,在统计结果中对应信息一致的情况所对应的判决结果,即为该数据包的预期判决结果。

在本实施例中通过将相同数量异构执行体工作情况下不同判决模式输出相同判决结果的情况进行归并处理,具体为:将所述判决结果相同时,所述判决结果对应的判决模式及异构执行体数量进行统计,并根据所述判决结果进行归类处理,所述判决结果相同即认定为同一类型,通过所述归类处理以获得统计结果。当参考模型得到异构执行体的工作数量、判决模式,便根据统计结果获得预期判决结果并输出。参考模型得到异构执行体工作数量、判决模式、不同异构执行体数据比对结果即可得出输出的预期判决结果。而拟态判决系统需要通过缓存管理再调度出来,经过判决处理,会需要相对更多的时间。以此实现了高效且准确的获取预期判决结果,与拟态判决系统相比耗时更短,与现有技术相比效率更高。

图4为比对机制的流程图,如图4所示,比对机制的具体步骤如下:

步骤401:将具有相同特征信息的所述第二数据包存放至同一预期子队列,所述预期队列中包含一个或一个以上预期子队列。

预期队列可以根据数据包的特征值信息及协议号信息进行队列的分配而来。数据包中携带协议号信息,来源于以太网协议存在的协议指示位,根据协议号信息分配队列,同一协议数据包进入同一预期子队列中。

若是根据数据特征值信息进行队列的分配,则具有相同特征值信息的数据包也会进入同一预期子队列中。需要说明的是,这里所提到的具有相同特征值信息并不意味着特征值信息完全相同,因为特征值信息是数据包经过哈希计算或者其他的一些计算得出的唯一确定的标识,所以不同数据包间的特征值信息不可能完全相同。特征值信息是一个长串的数据值,具有较长的位宽,即位数较多。这里所提到的特征值信息相同指的是数据特征值中的某几位相同,可以是前几位,可以是最后几位,也可以是中间的几位。具体的以特征值的哪几位相同作为分配队列的标准,可以由本领域的技术人员根据应用场景及实际情况进行设定,在此不做限定。

步骤402:根据所述第一数据包的特征信息,在预期队列中遍历查找所述第一数据包的特征信息对应的预期子队列。

步骤403:比对查找到的所述预期子队列中的首个所述第二数据包中的预期判决结果,与所述第一数据包的实际判决结果是否一致;若是,则确定所述实际判决结果正确,并将用于和所述第一数据包进行比对的所述第二数据包在对应的所述预期子队列中的位置做回收处理;否则,确定所述实际判决结果错误。

举例而言,当拟态判决系统的预期队列是按照特征值进行分配的,那么分配后的预期子队列中的数据包均具有相同的特征值。此时假设验证系统的预期队列中存在6个第二数据包,它们进入预期队列的顺序依次为:特征值为5的数据包—特征值为4的数据包—特征值为3的数据包—特征值为2的数据包—特征值为1的数据包—特征值为5的数据包。

那么此时在预期队列中存在5个预期子队列,分别为特征值为1的预期子队列,特征值为2的预期子队列,特征值为3的预期子队列,特征值为4的预期子队列,特征值为5的预期子队列。

特征值为5的预期子队列中具有先后进入预期队列的两个特征值为5的数据包,其余预期子队列中均只具有一个数据包。

若此时拟态判决系统输出了一个特征值为5的数据包,那么验证系统需要从预期队列中遍历找到特征值为5的预期子队列,且推出预期子队列中第一个特征值为5的数据包与拟态判决系统的数据包进行比对。原因在于第一个特征值为5的数据包是相对第二个特征值为5的数据包先进入预期队列的。按照协议号信息进行分配队列的具体比对过程与上述例子类似,在此不做赘述。

在比对的过程中,还可能会出现数据输出严重乱序的情况,在这种情况下,实际判决结果与预期判决结果很难进行正确匹配,此时可以选择更换分配队列的方式进行解决,若仍无法解决,那就意味着拟态判决系统的判决出现了问题,可能出现了丢失数据包等情况,此时直接可以得出拟态判决系统判决错误的结论。

在判断验证系统中的参考模型输出的预期判决结果与拟态判决系统输出的实际判决结果一致时,验证拟态判决系统判决的结果是正确的。此时将预期队列的对应位置做回收处理的目的是在于,对于拟态判决系统的验证已经完成,将预期队列中与拟态判决系统的第一数据包对应的第二数据包进行回收,可以节约资源,避免算力资源的浪费,同时可以释放存储空间,避免由于存储空间的过度占用而导致的效率变慢。

在本实施例中通过基于参考模型中输出的第二数据包的特征信息,创建预期队列,在预期队列中按照特征信息不同分为多个预期子队列,将第二数据包按照特征信息存放至对应预期子队列中。然后拟态判决系统输出第一数据包,在所述预期队列中遍历寻找具有相同的所述特征信息的第二数据包,将查找到的第一个具有相同的所述特征信息的第二数据包中的预期判决结果,与所述第一数据包中的实际判决结果进行比对,以验证所述实际判决结果的正确性。最后比对第一数据包及第二数据包中的判决结果,判断验证系统与拟态判决系统的判决结果是否一致,若一致则将所述预期队列的对应位置做回收处理。如此,通过以上比对机制保证了能够在参考模型输出数据包顺序不可预期的情况下数据比对的正确性。

本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。

应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。

图5a为一种判决验证的系统结构示意图,如图5a所示,本申请还提供了一种判决验证的系统,所述系统包括拟态判决系统100和验证系统200。

拟态判决系统100包括第一判决模块110,验证系统200包括第二判决模块210和比对模块220,所述系统具体包括:

第一判决模块110,用于对数据包进行拟态判决,并输出包含实际判决结果及数据包对应的数据特征值情况的第一数据包;

第二判决模块210,用于对历史数据包的判决结果进行归类处理以获取统计结果,根据所述统计结果获得所述数据包的预期判决结果,并将包含所述预期判决结果及所述数据包对应的特征信息的第二数据包存放至预期队列中;

比对模块220,用于根据所述第一数据包的输出顺序及所述第一数据包中的特征信息,在所述预期队列中遍历寻找具有相同的所述特征信息的第二数据包,将查找到的第一个具有相同的所述特征信息的第二数据包中的预期判决结果,与所述第一数据包中的实际判决结果进行比对,以验证所述实际判决结果的正确性。

本申请提供了一种判决验证的系统,该系统通过给拟态判决系统100和验证系统200发送相同的数据包,由拟态判决系统100中的第一判决模块110经过判决后输出第一数据包。第一数据包中包括对数据包进行判决得到的实际判决结果,及数据包对应的特征信息。由验证系统200中的第二判决模块210经过判决后输出第二数据包。第二数据包中包括由验证系统200中的第二判决模块210得到数据包的预期判决结果,及数据包对应的特征信息。由比对模块220对第一数据包中的实际判决结果及第二数据包中的预期判决结果进行比对,以验证拟态判决系统100的判决结果是否正确。

图5b为验证系统的结果示意图,如图5b所示,在可选的实现方式中,验证系统200中的第二判决模块210具有缓存子模块211、判决等级管理子模块212和判决子模块213,具体包括:

缓存子模块211,用于将数据包缓存至待处理队列,数据包中包括特征信息,特征信息中包括用于指示判决模式的判决等级信息;判决等级管理子模块212,用于根据判决等级信息确定数据包对应的判决模式;判决子模块213,用于在统计结果中查找到与数据包的判决模式一致时对应的判决结果,并以查找到的判决结果作为数据包的预期判决结果。第二判决模块210通过上述的四个模块能够完成预期判决结果的输出。

在可选的实施方式中,第二判决模块210 包括:历史判决子模块214、统计子模块215和结果输出子模块216,历史判决子模块214用于将由相同数量异构执行体发出的历史数据包,在不同判决模式下进行判决并输出判决结果。统计子模块215用于将判决结果相同时,判决结果对应的判决模式及异构执行体数量进行统计,并根据判决结果进行归类处理,判决结果相同即认定为同一类型,通过归类处理以获得统计结果。结果输出子模块216用于利用异构执行体数量及数据包的判决模式,查找统计结果中,具有异构执行体数量及判决模式时所对应的判决结果,以判决结果作为预期判决结果并输出。

在可选的实施方式中,比对模块220中包括存放子模块221、查找子模块222和比对子模块223,存放子模块221将具有相同特征信息的第二数据包存放至同一预期子队列,然后查找子模块222根据第一数据包的特征信息,在预期队列中遍历查找第一数据包的特征信息对应的预期子队列。最后比对子模块223比对查找到的预期子队列中的首个第二数据包中的预期判决结果,与第一数据包的实际判决结果是否一致;若是,则确定实际判决结果正确,并将用于和第一数据包进行比对的第二数据包在对应的预期子队列中的位置做回收处理;否则,确定实际判决结果错误。预期子队列的位置指的是预期子队列的存储空间。

图5c为拟态判决系统的结构示意图,如图5c所示,在可选的实施方式中,拟态判决系统100还包括缓存模块120、描述符生成模块130、判决模式确定模块140和第一判决模块110。

缓存模块120用于对数据包进行缓存调度,并送入片外缓存;

描述符生成模块130,用于将经过缓存后的数据包对应的数据特征信息组合成数据描述符,数据描述符携带的信息用于进行判决等级确定、数据比对及缓存地址的查找;

判决模式确定模块140,用于根据数据描述符中的信息获得数据包的判决等级,并根据判决等级确定数据包的判决模式;

第一判决模块110,用于归一化对齐各个数据描述符,根据数据描述符确定出的判决模式,对数据包进行对应判决模式的处理并输出判决结果,以完成判决。

通过上述提供的一种判决验证的系统,可以实现拟态判决系统及验证系统地判决结果的高效且正确的验证。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

相关技术
  • 一种基于无人机数据链抗干扰的半实物验证系统及验证方法
  • 一种用于验证特定DNA片段拷贝数变异的引物设计方法、引物、试剂盒、方法和系统
  • 一种判决反馈均衡器、判决反馈系统及其判决反馈方法
  • 一种验证系统、验证系统的创建方法及验证方法
技术分类

06120115569301