The invention discloses a matching method, HTTP data set based on URL rules include: resolution matching each rule URL rule set; digital rule sets, decomposition and digital into a number of nodes will split after each URL rule is used to search the building; two more Hash list is each node after digitization by layer hash storage, the conflict node adopts two storage; according to the HTTP data object data keywords to edge edge matching of digital processing. The invention does not need the corresponding modification of the underlying hardware; thereby the invention has wide application range and lower hardware requirements; improve the matching ability of HTTP data stream; effective use of data structures between the memory space characteristics of mutual conversion, efficient string matching problem in character space the problem is converted into a numerical value in digital space.
【技术实现步骤摘要】
一种基于多URL规则集的HTTP数据匹配方法
本专利技术属于数据分析
,尤其涉及一种基于多URL规则集的HTTP数据匹配方法。
技术介绍
基于URL(UniformResourceLocator,统一资源定位器)规则集的多模式字符串匹配方法被广泛应用于防火墙、网络流量数据分析与采集、WEB服务器负载均衡、WEB黑白名单、邮件分类及垃圾邮件检测、入侵检测及基于URL的内容分级等领域。近年来,云计算、大数据及人工智能等计算机领域的蓬勃发展,也极大的促进了机器人领域的发展,机器人领域的研究由当初的单体机器人逐渐发展到多机器人、群机器人、网络机器人及云机器人等领域,这些领域也开始对URL匹配或基于特定协议的字符串匹配提出了需求。所谓的基于URL的多模式字符串匹配是指在一个包含多个URL字符串的集合中,找出目标字符串或数据流能匹配到的URL字符串规则子集合。目前,多模式字符串匹配方法主要有基于自动机的匹配方法,基于散列的匹配方法和基于位并行的匹配方法等。其中,基于自动机的匹配方法往往需要消耗巨大的存储空间,这在嵌入式系统及部分硬件资源有限的机器人或可穿戴设备中是无法被接受的,而且这类方法可能会在特定规则集下发生严重的性能退化现象,往往只能支持较小规模的模式串集合;基于散列的匹配方法虽然匹配速度较快,但对于URL这种分布具有一定规律的模式串集合则很容易发生冲突,造成性能下降,虽然减小装载因子可以在一定程度上减少冲突,但却又造成了空间的浪费;基于位并行的匹配方法则受限于机器字宽,其适应范围极窄,往往只支持数十个模式串。此外,还有一些基于这些经典方法进行改进的方法, ...
【技术保护点】
一种基于多URL规则集的HTTP数据匹配方法,其特征在于,所述基于多URL规则集的HTTP数据匹配方法包括以下步骤:步骤一,拆分待匹配URL规则集中的每一条规则;步骤二,数字化规则集,即将拆分后的每一条URL规则进行分解并数字化为若干个结点;建立用于搜索的哈希二分多链表,即将数字化后的每一个结点按层进行哈希存储,对于冲突的结点采用二分存储;步骤三,根据到达的目标数据关键词对目标HTTP数据进行边数字化边匹配处理。
【技术特征摘要】
1.一种基于多URL规则集的HTTP数据匹配方法,其特征在于,所述基于多URL规则集的HTTP数据匹配方法包括以下步骤:步骤一,拆分待匹配URL规则集中的每一条规则;步骤二,数字化规则集,即将拆分后的每一条URL规则进行分解并数字化为若干个结点;建立用于搜索的哈希二分多链表,即将数字化后的每一个结点按层进行哈希存储,对于冲突的结点采用二分存储;步骤三,根据到达的目标数据关键词对目标HTTP数据进行边数字化边匹配处理。2.如权利要求1所述的基于多URL规则集的HTTP数据匹配方法,其特征在于,将待匹配的URL规则数量为C的URL规则集中的每一条URL规则拆分为HOST和PATH两部分,分别存入HOST集合H和PATH集合P;具体包括以下步骤:(1)设定初始URL集合U、HOST集合H、PATH集合P和循环计数标识i,将规则集中的URL按规则序号依次存入集合U中,将i置为1,并将集合H和集合P置空;(2)从集合U中取出第i条URL;(3)判断第i条URL字符串是否含有“/”字符:如果有“/”字符,则将第一个“/”字符之前的部分存入集合H的第i个位置,将“/”及之后的部分存入集合P的第i个位置;如果没有“/”字符,则将整条URL存入集合H的第i个位置,将“/”字符存入集合P的第i个位置;子规则加入集合时,所有字符按照URL中同样的顺序加入,以保证规则顺序;(4)从集合U中删除第i条URL,判定集合U是否为空,若不为空,则令i=i+1,转步骤(2),若集合U为空,则执行将每个子规则拆分。3.如权利要求1所述的基于多URL规则集的HTTP数据匹配方法,其特征在于,将集合H和集合P中的每个子规则拆分为若干小段,每个小段长度为一个机器字长,并将每个小段转换为一个正整数,分别存入HOST数字化集合Hd和PATH数字化集合Pd中的数组中,集合H中的每个子规则对应集合Hd中的一个数组,集合P中的每个子规则对应集合Pd中的一个数组;具体步骤包括:(1)用宿主机机器字长除以8,计算出用于规则分割的计数值n;(2)设定初始HOST数字化集合Hd、PATH数字化集合Pd、大循环计数标识i和小循环计数标识j,将集合Hd和集合Pd置空,并将i和j都置为1;(3)从集合H中取出第i条HOST规则,计算出该规则的长度LHi并进行数字化集合构建;计算LHi-(n*j-8)的值li,并判断li的值:若li为0,转到步骤(4);若li大于8,则取出第(n*j-7)到第n*j个字符,将这些n个字符强制转换为1个无符号的整形数字Wj,并将Wj存入集合Hd中的第i个数组的第j个位置;若li小于8,则取出第(n*j-7)到第LHi个字符,将这些n个字符强制转换为1个无符号的整形数字Wj,并将Wj存入集合Hd中的第i个数组的第j个位置;令j=j+1;(4)判断i值:若i大于或等于C,令i=1,j=1,转到步骤(5);若i小于C,令i=i+1,j=1,转到步骤(3);(5)从集合P中取出第i条PATH规则,计算出该规则的长度LPi并进行数字化集合构建;计算LPi-(n*j-8)的值li,并判断li的值:若li为0,转到步骤(6);若li大于8,则取出第(n*j-7)到第n*j个字符,将这些n个字符强制转换为1个无符号的整形数字Wj,并将Wj存入集合Pd中的第i个数组的第j个位置;若li小于8,则取出第(n*j-7)到第LPi个字符,将这些n个字符强制转换为1个无符号的整形数字Wj,并将Wj存入集合Pd中的第i个数组的第j个位置;令j=j+1;(6)判断i值:若i大于或等于C,转到将集合Hd和集合Pd中数组按层进行哈希存储;若i小于C,令i=i+1,j=1,转到步骤(5)。4.如权利要求1所述的基于多URL规则集的HTTP数据匹配方法,其特征在于,将集合Hd和集合Pd中数组按层进行哈希存储,对于冲突的数据采用二分存储,建立哈希二分多链表结构,具体包括以下步骤:1)新建哈希二分多链表表头结点Hp和临时指针Lp,其中Hp包含两个域,第一个域pNext是一个指针,用于指向哈希二分多链表的第一个哈希表,另一个域pKey是一个整数,用于记录哈希二分多链表的第一个哈希表的关键字K;定循环计数标识i=1;2)取出Pd集合中所有数组的第1个数据,存入临时数组Td,数组长度为Pd集合中的数组个数m;3)设定哈希关键字KEY=m、临时计数j=m、平均冲突数据计数A=0、临时冲突数据计数At=0及最大哈希探...
【专利技术属性】
技术研发人员:谭庆平,李盼盼,曾平,徐建军,邵则铭,孟宪凯,张南,邓锦洲,张浩宇,仵思聪,刘鑫昊,唐国斐,谢勤政,颜颖,
申请(专利权)人:中国人民解放军国防科学技术大学,
类型:发明
国别省市:湖南,43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。