CN111224892B - 一种基于fpga随机森林模型的流量分类方法及系统 - Google Patents
一种基于fpga随机森林模型的流量分类方法及系统 Download PDFInfo
- Publication number
- CN111224892B CN111224892B CN201911369842.3A CN201911369842A CN111224892B CN 111224892 B CN111224892 B CN 111224892B CN 201911369842 A CN201911369842 A CN 201911369842A CN 111224892 B CN111224892 B CN 111224892B
- Authority
- CN
- China
- Prior art keywords
- unit
- result
- tree
- node
- random forest
- 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
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/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/82—Miscellaneous aspects
- H04L47/829—Topology based
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于FPGA随机森林模型的流量分类方法及系统。所述方法包括:获取待分类的网络数据流和经过软件训练的随机森林模型;控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型;提取所述待分类的网络数据流的特征参量;根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类。本发明的基于FPGA随机森林模型的流量分类方法及系统,能够直接通过软件修改随机森林模型参数,再由FPGA硬件实现数据流的分类,在需要修改随机森林模型参数时,可直接通过软件进行修改,无需修改FPGA的硬件,以软件作为FPGA的硬件驱动,从而加快了网络数据流的分类速度。
Description
技术领域
本发明涉及流量分类领域,特别是涉及一种基于现场可编程逻辑门阵列(FieldProgrammable GateArray,FPGA)随机森林模型的流量分类方法及系统。
背景技术
流量分类技术是网络管理与安全的基础。在当前网络中,加密流量占比不断增长,网络中出现了大量的SSL/TLS/VPN等协议为主的加密流量,网络流量分类也带来挑战,给流量采集,还原等业务带了新的问题,而传统基于端口,协议,dpi引擎等技术已不能满足流量实时的分类的需求。即现有的流量分类方法存在分类速度慢的问题,不能够实现对网络流量的实时分类。
发明内容
本发明的目的是提供一种基于FPGA随机森林模型的流量分类方法及系统,提高流量分类速率。
为实现上述目的,本发明提供了如下方案:
一种基于FPGA可扩展随机森林模型的高速流量分类方法,所述方法包括:
获取待分类的网络数据流和经过软件训练的随机森林模型;
控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型;
提取所述待分类的网络数据流的特征参量;
根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类。
可选的,所述随机森林模型包括若干个树;
每个树包括若干个单元;
所述单元为根结点单元、结点单元或叶子结点单元;
每个单元均包括标志信息,所述标志信息用于确定对应的单元执行的操作。
可选的,所述根据所述特征参量和所述随机森林模型对所述网络数据流进行分类具体包括:
控制所述待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果;
计算所述各树的识别结果的比例,选择比例最大的识别结果作为所述待分类的网络数据流的分类结果。
可选的,所述控制所述待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果具体包括:
针对每个树均执行以下操作:
控制所述待识别的网络数据流从树的根结点单元依次流过树的各个结点单元至叶子结点单元;
获取当前操作的单元的标志信息;
判断所述标志信息是否为第一标志,得到第一判断结果;
若所述第一判断结果为是,则控制对应的单元读取存储所述待识别的网络数据流的节点信息,进行二叉树运算,得到第一运算结果,并根据所述第一运算结果输出第一运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;所述节点信息包括特征参量和节点地址;
若所述第一判断结果为否,则判断所述标志信息是否为第二标志,得到第二判断结果;
若所述第二判断结果为是,则控制对应的单元进行跨单元运算,得到第二运算结果,并根据所述第二运算结果输出第二运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;
若所述第二判断结果为否,则判断对应的单元是否为首层,得到第三判断结果;
若所述第三判断结果为是,则输出树的识别结果;
若所述第三判断结果为否,则控制对应的单元输出第三标志至下一单元并返回步骤“获取当前操作的单元的标志信息”。
可选的,所述根据所述第一运算结果输出第一运算信息至下一单元具体包括:
判断所述第一运算结果是否为进行下一层二叉树运算且节点在下一个单元,得到第四判断结果;
若所述第四判断结果为是,则控制输出的所述第一运算信息为所述第一标志和所述节点地址;
若所述第四判断结果为否,则判断所述第一运算结果是否为进行下一层二叉树运算且节点不在下一单元,得到第五判断结果;
若所述第五判断结果为是,则控制输出的所述第一运算信息为所述第二标志、所述节点地址和跨单元数;
若所述第五判断结果为否,则控制更新累计识别结果并控制输出的所述第一运算信息为所述第三标志和所述累计识别结果;所述累计识别结果为同一识别结果累计输出的次数。
可选的,所述控制对应的单元进行跨单元运算,得到第二运算结果具体包括:
获取当前操作的单元的跨单元数;
判断所述跨单元数是否大于1,得到第六判断结果;
若所述第六判断结果为否,则控制对应的单元根据所述特征参量进行二叉树运算,得到所述第二运算结果;
若所述第六判断结果为是,则更新跨单元数为当前跨单元数减1,输出所述第二标志、所述节点地址和跨单元数至下一单元,并返回步骤“获取当前操作的单元的跨单元数”。
可选的,所述根据所述第二运算结果输出第二运算信息至下一单元具体包括:
判断所述第二运算结果是否为进行下一层二叉树运算且节点在下一个单元,得到第七判断结果;
若所述第七判断结果为是,则控制输出的所述第二运算信息为所述第一标志和所述节点地址;
若所述第七判断结果为否,则判断所述第二运算结果是否为进行下一层二叉树运算且节点不在下一单元,得到第八判断结果;
若所述第八判断结果为是,则控制输出的所述第二运算信息为所述第二标志、所述节点地址和跨单元数;
若所述第八判断结果为否,则控制更新累计识别结果并控制输出的所述第二运算信息为所述第三标志和所述累计识别结果;所述累计识别结果为同一识别结果累计输出的次数。
一种基于FPGA可扩展随机森林模型的高速流量分类系统,所述系统包括:
获取模块,用于获取待分类的网络数据流和经过软件训练的随机森林模型;
存储加载模块,用于控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型;
提取模块,用于提取所述待分类的网络数据流的特征参量;
分类模块,用于根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类。
可选的,所述随机森林模型包括若干个树;
每个树包括若干个单元;
所述单元为根结点单元、结点单元或叶子结点单元;
每个单元均包括标志信息,所述标志信息用于确定对应的单元执行的操作。
可选的,所述分类模块包括:
树识别单元,用于控制所述待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果;
分类结果计算单元,用于计算所述各树的识别结果的比例,选择比例最大的识别结果作为所述待分类的网络数据流的分类结果。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明的一种基于FPGA随机森林模型的流量分类方法及系统,获取待分类的网络数据流和经过软件训练的随机森林模型,再控制FPGA硬件存储待分类的网络数据流以及加载随机森林模型,提取网络数据流的特征参量,根据特征参量和随机森林模型对待分类的网络数据流进行分类。
先由软件训练随机森林模型,再将训练好的随机森林模型加载在FPGA硬件上,进行网络数据流的分类,通过软硬件结合的方式,实现对网络数据流的快速分类。即本发明的基于FPGA随机森林模型的流量分类方法及系统,能够直接通过软件修改随机森林模型参数,再由FPGA硬件实现数据流的分类,在需要修改随机森林模型参数时,可直接通过软件进行修改,无需修改FPGA的硬件,以软件作为FPGA的硬件驱动,从而加快了网络数据流的分类速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于FPGA可扩展随机森林模型的高速流量分类方法流程图;
图2为本发明实施例提供的基于FPGA可扩展随机森林模型的高速流量分类系统结构图;
图3为本发明实施例提供的分类模块框图;
图4为本发明实施例提供的单元框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于FPGA随机森林模型的流量分类方法及系统,提高流量分类速率。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例提供的基于FPGA可扩展随机森林模型的高速流量分类方法流程图,如图1所示,所述方法包括:
S101:获取待分类的网络数据流和经过软件训练的随机森林模型。
所述随机森林模型包括若干个树;每个树包括若干个单元;所述单元为根结点单元、结点单元或叶子结点单元;每个单元均包括标志信息,所述标志信息用于确定对应的单元执行的操作。
由软件进行随机森林模型训练,计算随机森林模型中每个节点每个域的值,对随机森林模型参数进行更新。
S102:控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型。硬件FPGA实现对随机森林算法模型存储和识别计算。
S103:提取所述待分类的网络数据流的特征参量。
S104:根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类。
控制所述待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果;
计算所述各树的识别结果的比例,选择比例最大的识别结果作为所述待分类的网络数据流的分类结果。
针对每个树均执行以下操作:
控制所述待识别的网络数据流从树的根结点单元依次流过树的各个结点单元至叶子结点单元;
获取当前操作的单元的标志信息;
判断所述标志信息是否为第一标志,得到第一判断结果;
若所述第一判断结果为是,则控制对应的单元读取存储所述待识别的网络数据流的节点信息,进行二叉树运算,得到第一运算结果,并根据所述第一运算结果输出第一运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;所述节点信息包括特征参量和节点地址;
若所述第一判断结果为否,则判断所述标志信息是否为第二标志,得到第二判断结果;
若所述第二判断结果为是,则控制对应的单元进行跨单元运算,得到第二运算结果,并根据所述第二运算结果输出第二运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;
若所述第二判断结果为否,则判断对应的单元是否为首层,得到第三判断结果;
若所述第三判断结果为是,则输出树的识别结果;
若所述第三判断结果为否,则控制对应的单元输出第三标志至下一单元并返回步骤“获取当前操作的单元的标志信息”。
所述根据所述第一运算结果输出第一运算信息至下一单元具体包括:
判断所述第一运算结果是否为进行下一层二叉树运算且节点在下一个单元,得到第四判断结果;
若所述第四判断结果为是,则控制输出的所述第一运算信息为所述第一标志和所述节点地址;
若所述第四判断结果为否,则判断所述第一运算结果是否为进行下一层二叉树运算且节点不在下一单元,得到第五判断结果;
若所述第五判断结果为是,则控制输出的所述第一运算信息为所述第二标志、所述节点地址和跨单元数;
若所述第五判断结果为否,则控制更新累计识别结果并控制输出的所述第一运算信息为所述第三标志和所述累计识别结果;所述累计识别结果为同一识别结果累计输出的次数。
所述控制对应的单元进行跨单元运算,得到第二运算结果具体包括:
获取当前操作的单元的跨单元数;
判断所述跨单元数是否大于1,得到第六判断结果;
若所述第六判断结果为否,则控制对应的单元根据所述特征参量进行二叉树运算,得到所述第二运算结果;
若所述第六判断结果为是,则更新跨单元数为当前跨单元数减1,输出所述第二标志、所述节点地址和跨单元数至下一单元,并返回步骤“获取当前操作的单元的跨单元数”。
所述根据所述第二运算结果输出第二运算信息至下一单元具体包括:
判断所述第二运算结果是否为进行下一层二叉树运算且节点在下一个单元,得到第七判断结果;
若所述第七判断结果为是,则控制输出的所述第二运算信息为所述第一标志和所述节点地址;
若所述第七判断结果为否,则判断所述第二运算结果是否为进行下一层二叉树运算且节点不在下一单元,得到第八判断结果;
若所述第八判断结果为是,则控制输出的所述第二运算信息为所述第二标志、所述节点地址和跨单元数;
若所述第八判断结果为否,则控制更新累计识别结果并控制输出的所述第二运算信息为所述第三标志和所述累计识别结果;所述累计识别结果为同一识别结果累计输出的次数。
本实施例还提供一种基于FPGA可扩展随机森林模型的高速流量分类系统,如图2所示,所示系统包括:
获取模块1,用于获取待分类的网络数据流和经过软件训练的随机森林模型。所述随机森林模型包括若干个树;每个树包括若干个单元;所述单元为根结点单元、结点单元或叶子结点单元;每个单元均包括标志信息,所述标志信息用于确定对应的单元执行的操作。
存储加载模块2,用于控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型;
提取模块3,用于提取所述待分类的网络数据流的特征参量;
分类模块4,用于根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类。
所述分类模块4包括:
树识别单元,用于控制所述待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果。
分类结果计算单元,用于计算所述各树的识别结果的比例,选择比例最大的识别结果作为所述待分类的网络数据流的分类结果。
具体地,本实施例给出了硬件FPGA实现随机森林模型的识别计算的具体过程:
硬件FPGA通过LPC总线灌入随机森林模型,根据接收到的随机森林模型节点信息提取模块地址进行分配,地址分配对应到流量识别验证模块中的单元(ram_unit)的地址,可以对其中RAM的写使能进行操作。同时模型信息中还会传送每个ram_unit模块的首层标志。
FPGA通过业务板卡上的万兆网口接收需要识别计算的移动应用流量的特征参量。将携带的特征参量(流量的统计特征、包括报文长度报文负载字节信息)进行提取,然后通过提取模块3提取出流标号和全部特征参量,传送给分类模块4进行计算,分类模块4将计算结果发通过万兆网口发送给业务卡。分类模块框图如图3所示。
对于分类模块4,是模型存储和识别计算的核心部分,本实施例中开辟1000个ram_unit单元进行流水线设计,每个单元计算后传递出该单元的计算结果、特征参量,以及下一个单元的操作说明、读取RAM的地址和跳转级数,直到最后一个ram_unit单元计算完成,获得整个森林累计的识别结果。单元框图如图4所示。为了实现模型最大程度的灵活性以及识别的高性能,就要保证每个单元的计算一致性和可串联性,基于这个目的,每个ram_unit单元根据3bits的标志信息(i_ram_rden)可进行三种不同情况的操作:当其为第一标志(3’b001)时进行RAM的节点信息读取,和流特征参量进行二叉树运算,并根据计算结果和节点信息进行下一个单元相关参量的输出,如果计算结果是进行下一层的二叉树运算,并且节点在下一个ram_unit单元里,此时输出3’b001的i_ram_rden和节点地址i_ram_rd_address给下一个单元。如果计算结果是进行下一层的二叉树运算,但是节点不在下一个ram_unit单元里,此时输出第二标志(3’b010)的i_ram_rden、节点地址i_ram_rd_address、以及跨越单元数i_ram_skip_step给下一个单元。如果计算结果是叶子节点,此时更新累计的识别结果i_unit_identify_result,并输出第三标志(3’b100)的i_ram_rden和识别结果i_unit_identify_result给下一个单元。
当其为第二标志(3’b010)并且跨越单元数i_ram_skip_step大于1时,代表要进行二叉树运算的节点不在这个单元里,此时仅将跨越单元数i_ram_skip_step进行减1操作,并继续输出第二标志(3’b010)的i_ram_rden给下一个单元,如果某个单元接收到i_ram_rden为3’b010并且跨越单元数i_ram_skip_step为1时,代表要进行二叉树运算的节点已在这个单元里,此时进行二叉树运算。
当其为第三标志(3’b100)时,代表前面的运算已经出现了叶子节点,一棵树的计算结果已经得到。此时判断该单元的首层标志i_first_layer_flag,如果首层标志i_first_layer_flag为1,代表这是一棵新的决策树的首层,此时进行RAM的节点信息读取(因为是首层根节点存储在0地址),和流特征参量进行二叉树运算,并根据计算结果和节点信息进行下一个单元相关参量的输出。如果首层标志i_first_layer_flag不为1,代表原来的决策树还没有结束,此时不进行任何操作,继续输出3’b100的i_ram_rden给下一个单元。
本实施例开辟1000个ram_unit单元进行流水线设计,每个单元计算后传递出该单元的计算结果、特征参量,以及下一个单元的操作说明、读取RAM的地址和跳转级数,直到最后一个ram_unit单元计算完成,获得整个森林累计的识别结果。在这种加速方案中,通过首层标志,可以知道一棵树的范围,因此树深可以变化。通过软件指定每层节点所需占用的RAM块数,从而使得硬件不需为每层预先分配固定的存储空间。由于分类一个对象时,每棵树串行执行,因此不需要提前知道树的个数。对于每棵树的分类结果,缓存在一个类似于桶的结构中。每当有一棵树输出一个结果a时,则桶中a的位置计数增1。最终分类完成后选择桶内计数值最高的标签即为最终分类结果。因此当模型分类标签有L种时,该结构的大小为O(L*log(N))。在存储资源足够的情况下,树的个数也是灵活可变的。
本发明的基于FPGA随机森林模型的流量分类方法及系统,利用软件进行针对移动应用流量(更为具体的为识别目标流量及未知流量)的随机森林模型训练,计算模型中每棵树每个节点每个域的值。FPGA硬件模块对模型参数进行接收并对移动应用流量随机森林模型进行模型存储和识别计算。通过软硬件结合的方式实现了树的深度、树的个数、以及每层节点个数的灵活可变。随机森林模型的参数格式由软件生成,再由FPHA硬件进行提取计算识别的过程。用于解决高速网络下移动应用流量实时分类的需求。
本发明通过软件驱动,将随机森林模型相关参数(包括每棵树的节点信息)转换为特定格式的文件,再由FPGA通过载入该文件实现模型参数的载入,即完成模型的加载。从而当模型更新时,不需要修改FPGA的硬件实现,只需要软件驱动生成新的模型文件并载入FPGA即可。
本发明基于FPGA加速了随机森林模型的分类过程,并且允许随机森林模型不断的更新,而不需要修改硬件实现。在硬件存储资源及逻辑资源允许的情况下,提供最大程度的灵活性,允许随机森林在树个数,深度及节点数的完全可变。
本发明结合流量的各类特征,提出一种全新的方案构造随机学习模型对流量分类,允许模型在各个方面都是灵活可变的,而且模型的改变不影响硬件实现。本发明利用FPGA的高效的逻辑处理能力,对加密流量分类,且可灵活的支持模型的扩展,只需重新加载模型即可,利用此技术,可以根据已学习的分类模型,快速的在线对网络上加密流量进行分类。在新的架构下,其吞吐量可达到90Gbps,不低于已有的随机森林加速方案。
对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (7)
1.一种基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,所述方法包括:
获取待分类的网络数据流和经过软件训练的随机森林模型;
控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型;
提取所述待分类的网络数据流的特征参量;
根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类,具体包括:
控制待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果;
计算所述各树的识别结果的比例,选择比例最大的识别结果作为所述待分类的网络数据流的分类结果;
所述控制待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果具体包括:
针对每个树均执行以下操作:
控制所述待识别的网络数据流从树的根结点单元依次流过树的各个结点单元至叶子结点单元;
获取当前操作的单元的标志信息;
判断所述标志信息是否为第一标志,得到第一判断结果;
若所述第一判断结果为是,则控制对应的单元读取存储所述待识别的网络数据流的节点信息,进行二叉树运算,得到第一运算结果,并根据所述第一运算结果输出第一运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;所述节点信息包括特征参量和节点地址;
若所述第一判断结果为否,则判断所述标志信息是否为第二标志,得到第二判断结果;
若所述第二判断结果为是,则控制对应的单元进行跨单元运算,得到第二运算结果,并根据所述第二运算结果输出第二运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;
若所述第二判断结果为否,则判断对应的单元是否为首层,得到第三判断结果;
若所述第三判断结果为是,则输出树的识别结果;
若所述第三判断结果为否,则控制对应的单元输出第三标志至下一单元并返回步骤“获取当前操作的单元的标志信息”。
2.根据权利要求1所述的基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,
所述随机森林模型包括若干个树;
每个树包括若干个单元;
所述单元为根结点单元、结点单元或叶子结点单元;
每个单元均包括标志信息,所述标志信息用于确定对应的单元执行的操作。
3.根据权利要求1所述的基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,
所述根据所述第一运算结果输出第一运算信息至下一单元具体包括:
判断所述第一运算结果是否为进行下一层二叉树运算且节点在下一个单元,得到第四判断结果;
若所述第四判断结果为是,则控制输出的所述第一运算信息为所述第一标志和所述节点地址;
若所述第四判断结果为否,则判断所述第一运算结果是否为进行下一层二叉树运算且节点不在下一单元,得到第五判断结果;
若所述第五判断结果为是,则控制输出的所述第一运算信息为所述第二标志、所述节点地址和跨单元数;
若所述第五判断结果为否,则控制更新累计识别结果并控制输出的所述第一运算信息为所述第三标志和所述累计识别结果;所述累计识别结果为同一识别结果累计输出的次数。
4.根据权利要求1所述的基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,所述控制对应的单元进行跨单元运算,得到第二运算结果具体包括:
获取当前操作的单元的跨单元数;
判断所述跨单元数是否大于1,得到第六判断结果;
若所述第六判断结果为否,则控制对应的单元根据所述特征参量进行二叉树运算,得到所述第二运算结果;
若所述第六判断结果为是,则更新跨单元数为当前跨单元数减1,输出所述第二标志、所述节点地址和跨单元数至下一单元,并返回步骤“获取当前操作的单元的跨单元数”。
5.根据权利要求1所述的基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,所述根据所述第二运算结果输出第二运算信息至下一单元具体包括:
判断所述第二运算结果是否为进行下一层二叉树运算且节点在下一个单元,得到第七判断结果;
若所述第七判断结果为是,则控制输出的所述第二运算信息为所述第一标志和所述节点地址;
若所述第七判断结果为否,则判断所述第二运算结果是否为进行下一层二叉树运算且节点不在下一单元,得到第八判断结果;
若所述第八判断结果为是,则控制输出的所述第二运算信息为所述第二标志、所述节点地址和跨单元数;
若所述第八判断结果为否,则控制更新累计识别结果并控制输出的所述第二运算信息为所述第三标志和所述累计识别结果;所述累计识别结果为同一识别结果累计输出的次数。
6.一种基于FPGA可扩展随机森林模型的高速流量分类系统,其特征在于,所述系统包括:
获取模块,用于获取待分类的网络数据流和经过软件训练的随机森林模型;
存储加载模块,用于控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型;
提取模块,用于提取所述待分类的网络数据流的特征参量;
分类模块,用于根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类,包括:
树识别单元,用于控制待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果;
分类结果计算单元,用于计算所述各树的识别结果的比例,选择比例最大的识别结果作为所述待分类的网络数据流的分类结果;
所述控制待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果具体包括:
针对每个树均执行以下操作:
控制所述待识别的网络数据流从树的根结点单元依次流过树的各个结点单元至叶子结点单元;
获取当前操作的单元的标志信息;
判断所述标志信息是否为第一标志,得到第一判断结果;
若所述第一判断结果为是,则控制对应的单元读取存储所述待识别的网络数据流的节点信息,进行二叉树运算,得到第一运算结果,并根据所述第一运算结果输出第一运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;所述节点信息包括特征参量和节点地址;
若所述第一判断结果为否,则判断所述标志信息是否为第二标志,得到第二判断结果;
若所述第二判断结果为是,则控制对应的单元进行跨单元运算,得到第二运算结果,并根据所述第二运算结果输出第二运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;
若所述第二判断结果为否,则判断对应的单元是否为首层,得到第三判断结果;
若所述第三判断结果为是,则输出树的识别结果;
若所述第三判断结果为否,则控制对应的单元输出第三标志至下一单元并返回步骤“获取当前操作的单元的标志信息”。
7.根据权利要求6所述的基于FPGA可扩展随机森林模型的高速流量分类系统,其特征在于,
所述随机森林模型包括若干个树;
每个树包括若干个单元;
所述单元为根结点单元、结点单元或叶子结点单元;
每个单元均包括标志信息,所述标志信息用于确定对应的单元执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369842.3A CN111224892B (zh) | 2019-12-26 | 2019-12-26 | 一种基于fpga随机森林模型的流量分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911369842.3A CN111224892B (zh) | 2019-12-26 | 2019-12-26 | 一种基于fpga随机森林模型的流量分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111224892A CN111224892A (zh) | 2020-06-02 |
CN111224892B true CN111224892B (zh) | 2023-08-01 |
Family
ID=70827826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911369842.3A Active CN111224892B (zh) | 2019-12-26 | 2019-12-26 | 一种基于fpga随机森林模型的流量分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111224892B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113572703B (zh) * | 2021-07-21 | 2024-04-09 | 东南大学 | 一种基于fpga的在线流量业务分类方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875060A (zh) * | 2018-06-29 | 2018-11-23 | 成都市映潮科技股份有限公司 | 一种网站识别方法及识别系统 |
CN109086815A (zh) * | 2018-07-24 | 2018-12-25 | 中国人民解放军国防科技大学 | 基于fpga的决策树模型中的浮点数离散化方法 |
CN109639481A (zh) * | 2018-12-11 | 2019-04-16 | 深圳先进技术研究院 | 一种基于深度学习的网络流量分类方法、系统及电子设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11003444B2 (en) * | 2019-06-28 | 2021-05-11 | Intel Corporation | Methods and apparatus for recommending computer program updates utilizing a trained model |
-
2019
- 2019-12-26 CN CN201911369842.3A patent/CN111224892B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875060A (zh) * | 2018-06-29 | 2018-11-23 | 成都市映潮科技股份有限公司 | 一种网站识别方法及识别系统 |
CN109086815A (zh) * | 2018-07-24 | 2018-12-25 | 中国人民解放军国防科技大学 | 基于fpga的决策树模型中的浮点数离散化方法 |
CN109639481A (zh) * | 2018-12-11 | 2019-04-16 | 深圳先进技术研究院 | 一种基于深度学习的网络流量分类方法、系统及电子设备 |
Non-Patent Citations (1)
Title |
---|
Hiroki Nakahara etl .A Random Forest Using a Multi-valued Decision Diagram on an FPGA.《2017 IEEE 47th International Symposium on Multiple-Valued Logic (ISMVL)》.2017,第267页-第271页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111224892A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008385B (zh) | 一种基于字符串的快速匹配识别方法和装置 | |
CN109271390B (zh) | 一种基于神经网络的索引数据结构及其数据检索方法 | |
CN111368887B (zh) | 雷雨天气预测模型的训练方法及雷雨天气预测方法 | |
CN111815432B (zh) | 金融服务风险预测方法及装置 | |
CN110909794B (zh) | 一种适用于嵌入式设备的目标检测系统 | |
CN111224892B (zh) | 一种基于fpga随机森林模型的流量分类方法及系统 | |
CN109670083B (zh) | 一种基于动态内存分配存储hash链表的fpga实现装置及方法 | |
CN109543192A (zh) | 自然语言解析方法、装置、设备及存储介质 | |
CN110796366A (zh) | 质差小区识别方法和装置 | |
CN115037805A (zh) | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 | |
CN113554875A (zh) | 一种基于边缘计算的高速公路异质交通流可变限速控制方法 | |
CN113516501A (zh) | 一种基于图神经网络的用户通信行为预测方法和装置 | |
CN111222709A (zh) | 一种国家电网树线放电预测方法 | |
CN114298294B (zh) | 一种基于硬件加速器的神经网络内存优化方法和装置 | |
CN111260049A (zh) | 一种基于国产嵌入式系统的神经网络实现方法 | |
CN104463943B (zh) | 一种面向可编程着色器的多光源加速方法 | |
KR102002549B1 (ko) | 다단계 분류모델 생성 방법 및 그 장치 | |
CN111724810A (zh) | 一种音频分类方法和装置 | |
CN110110764B (zh) | 基于混合式网络的随机森林策略优化方法、存储介质 | |
Wei | Deep learning model under complex network and its application in traffic detection and analysis | |
CN114419398A (zh) | 基于单时相图像的灾情评估方法及装置 | |
CN112559465A (zh) | 一种日志压缩方法、装置、电子设备及存储介质 | |
CN109919203A (zh) | 一种基于离散动态机制的数据分类方法及装置 | |
CN113965391B (zh) | 一种多数据包文件冒泡排序的方法 | |
CN114979017B (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 |