[发明专利]一种面向并行数据流的深度包检测方法及系统有效
申请号: | 201410831812.0 | 申请日: | 2014-12-26 |
公开(公告)号: | CN105791045B | 公开(公告)日: | 2019-04-02 |
发明(设计)人: | 陈君;李超鹏;叶晓舟;宋磊 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | H04L12/26 | 分类号: | H04L12/26 |
代理公司: | 北京方安思达知识产权代理有限公司 11472 | 代理人: | 王宇杨;王敬波 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供了一种面向并行数据流的深度包检测方法,包括如下步骤:步骤101)构造DFA集,利用DFA最优负载均衡算法,将正则规则库中的正则表达式分配至DFA集中的若干个DFA,由此每个DFA包含一个正则规则子集;初始化DFA集的接收速率、缓存大小、数据队列大小参数;步骤102)接收多路并行数据流并进行预处理;步骤103)为每个数据流增加DFA标志位,数据流按照其优先级通过数据队列进入DFA集进行检测;步骤104)输出数据流的检测结果。本发明的方法利用多个DFA协同检测数据流,并结合高效调度算法,大大提高了并行数据流的检测速度。 | ||
搜索关键词: | 一种 面向 并行 数据流 深度 检测 方法 系统 | ||
【主权项】:
1.一种面向并行数据流的深度包检测方法,包括如下步骤:步骤101)构造确定性有穷自动机DFA集,利用DFA最优负载均衡算法,将规范化的正则规则库中的正则表达式分配至DFA集中的若干个DFA中,由此每个DFA包含一个正则规则子集;初始化DFA集的接收速率、缓存大小、数据队列大小参数;步骤102)接收多路并行数据流并进行预处理;步骤103)为每个数据流增加DFA标志位,数据流按照其优先级通过数据队列进入DFA集进行检测;步骤104)输出数据流的检测结果;所述步骤103)进一步包括:步骤103‑1)为接收到的每个数据流增加一个DFA标志位;DFA标志位为{n,n≤N;集合:N‑n个DFA编号},其中N为DFA集中DFA的个数;DFA标志位初始值为:{0;(1,2,…N)};步骤103‑2)按照优先级将数据流发送至数据队列;步骤103‑3)从数据队列中取一个优先级最高的待检测数据流;步骤103‑4)判断待检测数据流的DFA标志位的n是否小于N,如果判断结果是肯定的,转入步骤103‑5);否则,转入步骤104);步骤103‑5)从DFA标志位的集合中取一个DFA,并判断该DFA是否为空闲,如果判断结果是肯定的,转入步骤103‑7);否则,转入步骤103‑6);步骤103‑6)降低待检测数据流的优先级,转入步骤103‑2);步骤103‑7)如果待检测数据流包含的特征与该DFA的正则规则子集匹配成功,则检测结果为命中,如果匹配不成功,则检测结果为未命中;步骤103‑8)判断检测结果是否命中,如果判断结果是肯定的,转入步骤104);否则,转入步骤103‑9);步骤103‑9)修改数据流的DFA标志位,并更新数据流的优先级,转入步骤103‑2);DFA标志位修改为:{n+1;集合:N‑n‑1个DFA的编号}。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410831812.0/,转载请声明来源钻瓜专利网。
- 上一篇:一种用于批量测试具有NCSI功能网卡的方法
- 下一篇:认证方法及接入网元