1.一种基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,所述方法包括:获取待分类的网络数据流和经过软件训练的随机森林模型;控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型;提取所述待分类的网络数据流的特征参量;根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类,具体包括:控制待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果;计算所述各树的识别结果的比例,选择比例最大的识别结果作为所述待分类的网络数据流的分类结果;所述控制待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果具体包括:针对每个树均执行以下操作:控制所述待识别的网络数据流从树的根结点单元依次流过树的各个结点单元至叶子结点单元;获取当前操作的单元的标志信息;判断所述标志信息是否为第一标志,得到第一判断结果;若所述第一判断结果为是,则控制对应的单元读取存储所述待识别的网络数据流的节点信息,进行二叉树运算,得到第一运算结果,并根据所述第一运算结果输出第一运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;所述节点信息包括特征参量和节点地址;若所述第一判断结果为否,则判断所述标志信息是否为第二标志,得到第二判断结果;若所述第二判断结果为是,则控制对应的单元进行跨单元运算,得到第二运算结果,并根据所述第二运算结果输出第二运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;若所述第二判断结果为否,则判断对应的单元是否为首层,得到第三判断结果;若所述第三判断结果为是,则输出树的识别结果;若所述第三判断结果为否,则控制对应的单元输出第三标志至下一单元并返回步骤“获取当前操作的单元的标志信息”。
2.根据权利要求1所述的基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,所述随机森林模型包括若干个树;每个树包括若干个单元;所述单元为根结点单元、结点单元或叶子结点单元;每个单元均包括标志信息,所述标志信息用于确定对应的单元执行的操作。
3.根据权利要求1所述的基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,所述根据所述第一运算结果输出第一运算信息至下一单元具体包括:判断所述第一运算结果是否为进行下一层二叉树运算且节点在下一个单元,得到第四判断结果;若所述第四判断结果为是,则控制输出的所述第一运算信息为所述第一标志和所述节点地址;若所述第四判断结果为否,则判断所述第一运算结果是否为进行下一层二叉树运算且节点不在下一单元,得到第五判断结果;若所述第五判断结果为是,则控制输出的所述第一运算信息为所述第二标志、所述节点地址和跨单元数;若所述第五判断结果为否,则控制更新累计识别结果并控制输出的所述第一运算信息为所述第三标志和所述累计识别结果;所述累计识别结果为同一识别结果累计输出的次数。
4.根据权利要求1所述的基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,所述控制对应的单元进行跨单元运算,得到第二运算结果具体包括:获取当前操作的单元的跨单元数;判断所述跨单元数是否大于1,得到第六判断结果;若所述第六判断结果为否,则控制对应的单元根据所述特征参量进行二叉树运算,得到所述第二运算结果;若所述第六判断结果为是,则更新跨单元数为当前跨单元数减1,输出所述第二标志、所述节点地址和跨单元数至下一单元,并返回步骤“获取当前操作的单元的跨单元数”。
5.根据权利要求1所述的基于FPGA可扩展随机森林模型的高速流量分类方法,其特征在于,所述根据所述第二运算结果输出第二运算信息至下一单元具体包括:判断所述第二运算结果是否为进行下一层二叉树运算且节点在下一个单元,得到第七判断结果;若所述第七判断结果为是,则控制输出的所述第二运算信息为所述第一标志和所述节点地址;若所述第七判断结果为否,则判断所述第二运算结果是否为进行下一层二叉树运算且节点不在下一单元,得到第八判断结果;若所述第八判断结果为是,则控制输出的所述第二运算信息为所述第二标志、所述节点地址和跨单元数;若所述第八判断结果为否,则控制更新累计识别结果并控制输出的所述第二运算信息为所述第三标志和所述累计识别结果;所述累计识别结果为同一识别结果累计输出的次数。
6.一种基于FPGA可扩展随机森林模型的高速流量分类系统,其特征在于,所述系统包括:获取模块,用于获取待分类的网络数据流和经过软件训练的随机森林模型;存储加载模块,用于控制FPGA存储所述待分类的网络数据流并加载所述随机森林模型;提取模块,用于提取所述待分类的网络数据流的特征参量;分类模块,用于根据所述特征参量和所述随机森林模型对所述待分类的网络数据流进行分类,包括:树识别单元,用于控制待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果;分类结果计算单元,用于计算所述各树的识别结果的比例,选择比例最大的识别结果作为所述待分类的网络数据流的分类结果;所述控制待识别的网络数据流分别流入每个树进行分类识别,得到各树的识别结果具体包括:针对每个树均执行以下操作:控制所述待识别的网络数据流从树的根结点单元依次流过树的各个结点单元至叶子结点单元;获取当前操作的单元的标志信息;判断所述标志信息是否为第一标志,得到第一判断结果;若所述第一判断结果为是,则控制对应的单元读取存储所述待识别的网络数据流的节点信息,进行二叉树运算,得到第一运算结果,并根据所述第一运算结果输出第一运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;所述节点信息包括特征参量和节点地址;若所述第一判断结果为否,则判断所述标志信息是否为第二标志,得到第二判断结果;若所述第二判断结果为是,则控制对应的单元进行跨单元运算,得到第二运算结果,并根据所述第二运算结果输出第二运算信息至下一单元,返回步骤“获取当前操作的单元的标志信息”;若所述第二判断结果为否,则判断对应的单元是否为首层,得到第三判断结果;若所述第三判断结果为是,则输出树的识别结果;若所述第三判断结果为否,则控制对应的单元输出第三标志至下一单元并返回步骤“获取当前操作的单元的标志信息”。
7.根据权利要求6所述的基于FPGA可扩展随机森林模型的高速流量分类系统,其特征在于,所述随机森林模型包括若干个树;每个树包括若干个单元;所述单元为根结点单元、结点单元或叶子结点单元;每个单元均包括标志信息,所述标志信息用于确定对应的单元执行的操作。