【技术实现步骤摘要】
URL模糊匹配方法、装置和系统
本专利技术涉及模糊匹配
,具体涉及一种URL模糊匹配方法、装置和系统。
技术介绍
URL的分类匹配主要用于网站开发的路由阶段、网站流量审计的包预处理阶段。网站开发通常需要建立一个路由表,将不同的URL输入到路由表中,给不同URL的请求分配相应的后台业务逻辑;网站流量审计中,由于不同URL对应的业务不同,有时需要先对流量包进行URL分类,针对不同类型的URL,使用不同的审计方法处理网站流量。URL的分类匹配主要分为精确匹配和模糊匹配。匹配URL的过程通常是预先在系统中由一组规则共同构成一个集合,在这个集合中找到所有当前URL符合的规则。精确匹配要求URL与规则完全一致,通常使用哈希表作为数据结构,哈希表可以快速搜索键值对来精确匹配某个值是否在当前哈希表中。通过建立好的一批规则哈希表,可以很快得出URL是否与这一批规则中的某一条规则完全一致。模糊匹配相关的规则包含一些通配符,可以通过人工设置不同的规则将结构类似的URL聚类到一起。现有技术中,模糊匹配通常使用正则表达式完成模糊匹配。但是通过正则表达式进行模糊匹配需要将每个正则表达式规则均遍历一遍URL字符串,每增加一条模糊匹配规则,则需要多匹配一次URL字符串,导致模糊匹配的效率较低。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种URL模糊匹配方法、装置和系统,以解决现有技术中通过正则表达式进行模糊匹配需要将每个正则表达式规则均遍历一遍URL字符串,每增加一条模糊匹配规则,则需要多匹配一次U ...
【技术保护点】
1.一种URL模糊匹配方法,其特征在于,包括:/n根据预先设置的模糊匹配规则,构建有向无环图;/n对URL字符串进行分段处理,得到至少一段携带分段标识的待匹配字符串;/n将每个所述待匹配字符串分别与所述有向无环图中所述分段标识对应的匹配规则段进行匹配,确定每个所述待匹配字符串对应的段匹配结果;/n将每个所述待匹配字符串对应的段匹配结果存储在所述待匹配字符串对应的段匹配结果集合中,得到每个所述待匹配字符串对应的段匹配结果集合;/n对所述模糊匹配规则进行分段遍历,判断所述模糊匹配规则中的每一段分段规则是否都存在于对应的所述段匹配结果集合中;/n若所述模糊匹配规则中的每一段分段规则都存在于对应的所述段匹配结果集合中,则将所述模糊匹配规则作为目标匹配结果;/n将所有所述目标匹配结果输出。/n
【技术特征摘要】
1.一种URL模糊匹配方法,其特征在于,包括:
根据预先设置的模糊匹配规则,构建有向无环图;
对URL字符串进行分段处理,得到至少一段携带分段标识的待匹配字符串;
将每个所述待匹配字符串分别与所述有向无环图中所述分段标识对应的匹配规则段进行匹配,确定每个所述待匹配字符串对应的段匹配结果;
将每个所述待匹配字符串对应的段匹配结果存储在所述待匹配字符串对应的段匹配结果集合中,得到每个所述待匹配字符串对应的段匹配结果集合;
对所述模糊匹配规则进行分段遍历,判断所述模糊匹配规则中的每一段分段规则是否都存在于对应的所述段匹配结果集合中;
若所述模糊匹配规则中的每一段分段规则都存在于对应的所述段匹配结果集合中,则将所述模糊匹配规则作为目标匹配结果;
将所有所述目标匹配结果输出。
2.根据权利要求1所述的URL模糊匹配方法,其特征在于,所述模糊匹配规则的数量至少为一条;
所述根据预先设置的模糊匹配规则,构建有向无环图,包括:
将每条所述模糊匹配规则进行分段处理,得到携带有所述分段标识的分段规则;
将所有分段规则根据所述分段标识分别载入到预设的图模型中,构建出所述有向无环图。
3.根据权利要求1所述的URL模糊匹配方法,其特征在于,所述将每个所述待匹配字符串分别与所述有向无环图中所述分段标识对应的匹配规则段进行匹配,确定每个所述待匹配字符串对应的段匹配结果,包括:
确定所有所述待匹配字符串中当前待匹配字符串的所有携带字节标识的字符;
将所有所述字符与所述有向无环图中所述当前待匹配字符串携带的所述分段标识对应的所述匹配规则段进行字符匹配,确定所述当前待匹配字符串对应的段匹配结果;
判断所有所述待匹配字符串是否都完成字符串匹配;
若是,则获取每个所述待匹配字符串对应的段匹配结果;
若否,则将所述当前待匹配字符串的下一个待匹配字符串作为所述当前待匹配字符串,继续进行字符串匹配。
4.根据权利要求3所述的URL模糊匹配方法,其特征在于,所述将所有所述字符与所述有向无环图中所述当前待匹配字符串携带的所述分段标识对应的所述匹配规则段进行字符匹配,确定所述当前待匹配字符串对应的段匹配结果,包括:
确定所述当前待匹配字符串的携带字节标识的当前字符、已匹配字符和目标规则字符;
确定所述有向无环图中所述当前待匹配字符串携带的分段标识对应的匹配规则段中,与所述当前字符携带的所述字节标识相对应且与所述目标规则字符相关联的所有规则字符;
若所有所述规则字符中存在通配符,则将所述已匹配字符与所述通配符组合,作为所述段匹配结果;
若所有所述规则字符中存在与所述当前字符相同的目标规则字符,将所述已匹配字符与所述目标规则字符的组合作为所述已匹配字符;
判断所述当前字符是否为所述当前字符所在的所述当前待匹配字符串中的最后一个字符;
若所述当前字符不是所述当前字符所在的所述当前待匹配字符串中的最后一个字符,将所述当前待匹配字符串中所述当前字符的下一个字符作为所述当前字符,从而继续进行字符匹配;
若所述当前字符是所述当前字符所在的所述当前待匹配字符串中的最后一个字符,且所述目标规则字符为所述当前待匹配字符串对应的所述匹配规则段中的最...
【专利技术属性】
技术研发人员:毛志霆,尚侠,张雪松,陈宁,罗清篮,
申请(专利权)人:上海谋乐网络科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。