买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:天津光电聚能通信股份有限公司
摘要:本发明公开了一种基于FPGA和CPU协同工作的高速关键字过滤方法,在CPU中,数据发送线程和数据接收线程是两个线程,所述的数据发送线程中包括:关键字设置、关键字下发及缓存、关键字过滤、级联关系判断及结果处理、关键字过滤的结果上报。所述的数据接收线程一直在等待FPGA端是否有上报的关键字过滤结果的数据包;如果有则通过对外接口将过滤的结果发送给数据源端。本发明采用CPU和FPGA共同实现关键字过滤,针对多会话同时过滤需要维护不同会话的过滤现场,做到不同会话现场快速切换。已达到多会话、多关键字的快速过滤。利用CPU和FPGA协同工作,充分利用其各自特点,是过滤性能达到5.6Gbps。具有多会话,多关键字过滤速度快、过滤精准等优点。
主权项:1.一种基于FPGA和CPU协同工作的高速关键字过滤方法,在CPU中,数据发送线程和数据接收线程是两个线程,其特征在于,所述的数据发送线程中包括以下步骤:1关键字设置:每个会话设置1-8组关键字,每组关键字长度为1-32byte,FPGA内部缓存中每个会话关键字配置空间为256byte,每组所述关键字均配置有对应会话号,FPGA内部缓存中最多支持64个会话;接收电脑通过串口配置的关键字,该关键字的长度记为L;判断L的大小,如果L<32byte,用KEY_MASK指示关键字有效长度,生成关键字KEY及其关键字掩码KEY_MASK,执行步骤2;如果32byte<L≤256byte,将关键字空间进行级联,生成关键字KEY及其关键字掩码KEY_MASK,并以DATA_MASK用于指示关键字之间的级联关系,执行步骤2;如果L>256byte,向电脑发回关键字长度超长的提示;2关键字下发:将生成的关键字的会话号、关键字KEY、关键字掩码KEY_MASK和以DATA_MASK表示的关键字级联关系通过PCIE下发至FPGA内部缓存中;与此同时,CPU判断当前会话的数据包的文件格式是否为纯文本数据格式,如果是纯文本数据格式,将当前会话的数据包通过PCIE下发至FPGA内部缓存中;如果不是纯文本数据格式,将当前会话的数据包进行缓存,直至当前会话的数据包接收完毕,将非文本数据格式的文件数据转换为纯文本数据格式的数据通过PCIE下发至FPGA内部缓存中;3关键字过滤:所述FPGA根据数据包中会话号对应的关键字信息对接收到CPU的数据包进行关键字过滤;4判断完成过滤的关键字是否存在级联关系DATA_MASK,如果存在,则进入级联结果处理,如果不存在,则执行步骤5;级联结果处理:首先判断关键字1和关键字2是否存在级联关系,如果关键字1和关键字2不存在级联则输出关键字1过滤的结果进入关键字2和关键字3级联判断状态,如果关键字1和关键字2存在级联关系,则直接进入关键字2和关键字3级联判断状态,在关键字2和关键字3级联判断状态判断关键字2和关键字3的级联状态,如果关键字2和关键字3不存在级联关系,则需要输出关键字1和关键字2级联的关系以及过滤结果后进入关键字3与关键字4级联判断状态;如果不存在级联关系直接进入关键字3与关键字4级联判断状态以此类推,直到判断所有关键字过滤结果与级联的关系,输出级联和过滤结果,并执行步骤5;步骤5将关键字过滤的结果上报给CPU,上报的结果包括过滤命中的结果、会话号、关键字命中的位置,如果完成过滤的关键字存在有级联关系DATA_MASK,则还包括级联的结果;所述的数据接收线程一直在等待FPGA端是否有上报的关键字过滤结果的数据包;如果有,则通过对外接口将过滤的结果发送给数据源端。
全文数据:
权利要求:
百度查询: 天津光电聚能通信股份有限公司 基于FPGA和CPU协同工作的高速关键字过滤方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。