CN108549679B - 用于url分析系统的文件扩展名快速匹配方法和装置 - Google Patents

用于url分析系统的文件扩展名快速匹配方法和装置 Download PDF

Info

Publication number
CN108549679B
CN108549679B CN201810288551.0A CN201810288551A CN108549679B CN 108549679 B CN108549679 B CN 108549679B CN 201810288551 A CN201810288551 A CN 201810288551A CN 108549679 B CN108549679 B CN 108549679B
Authority
CN
China
Prior art keywords
character
url
matching
file extension
characters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810288551.0A
Other languages
English (en)
Other versions
CN108549679A (zh
Inventor
毕慧
李超
陈思
朱缓
刘刚
李占玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Surfilter Technology Development Co ltd
National Computer Network and Information Security Management Center
Original Assignee
Shenzhen Surfilter Technology Development Co ltd
National Computer Network and Information Security Management Center
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Surfilter Technology Development Co ltd, National Computer Network and Information Security Management Center filed Critical Shenzhen Surfilter Technology Development Co ltd
Priority to CN201810288551.0A priority Critical patent/CN108549679B/zh
Publication of CN108549679A publication Critical patent/CN108549679A/zh
Application granted granted Critical
Publication of CN108549679B publication Critical patent/CN108549679B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用于URL分析系统的文件扩展名快速匹配方法和装置。所述方法包括:根据用户的业务需求,接收所需过滤URL的文件扩展名信息;利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境;利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的URL。本发明基于用户的业务需求构建的快速匹配算法环境,该快速匹配算法环境使用字节来标记字符,并利用父节点储存位置和父节点中字符的索引值来直接定位子节点中字符的储存位置,而不使用常规的指针索引子节点,节省存储空间并提升匹配效率,尤其适用于处理海量URL数据,数据处理效率高。

Description

用于URL分析系统的文件扩展名快速匹配方法和装置
技术领域
本发明涉及URL分析技术领域,特别涉及一种用于URL分析系统的文件扩展名快速匹配方法和装置。
背景技术
统一资源定位符(Uniform/Universal Resource Locator,简称“URL”)是对互联网上可以得到的资源地址和访问方法的一种简洁的表示,互联网上的每个文件都有一个唯一的URL。随着互联网特别是移动互联网的普及,人们对互联网的使用也更加便利和频繁。对于互联网分析系统,获取到的URL访问行为在数量上也快速增长,但其中一部分URL的访问行为对于分析系统是不需要的,比如图标文件、脚本文件等,需要在加载到系统分析前过滤掉。
目前URL后缀名匹配方法有以下两种:
1,定位到URL中的最后一个‘.’字符,然后使用字符串比较函数与配置规则进行逐个比对,该方法实现简单,但是性能很差;
2,使用常规字典树算法,可以获得较高的比对速度但是随着匹配的规则增加,内存消耗也会快速增加;
而且,上述两种方法都不适合用于处理海量URL数据,它们的数据处理效率不高,难以达到使用需求。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种用于URL分析系统的文件扩展名快速匹配方法和装置。所述技术方案如下:
一方面,本发明实施例提供了一种用于URL分析系统的文件扩展名快速匹配方法,所述方法包括:
根据用户的业务需求,接收所需过滤URL的文件扩展名信息;
利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境,所述快速匹配算法环境利用字节对文件扩展名字符串中的字符进行顺序标记,并采用字典树储存方式来依次储存文件扩展名的字符串;
利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的文件。
在本发明实施例上述的文件扩展名快速匹配方法中,所述利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境,包括:
利用预设的数组对文件扩展名所需的所有字符按照预设顺序进行标记,形成相应的字符索引表,每个所述数组由预设数量的字节构成,每个所述数组中位的总数与所有字符的总数的差值大于等于0且小于8;
构建具有多层的树形储存结构,所述树形储存结构中每个节点由一个数组构成且用于标记一个字符,每层中节点的数量是其相邻上层中节点数量乘以所有字符的总数;
对于每个所需过滤文件的扩展名对应的字符串,进行倒序遍历;
采用字典树储存方式,将所需过滤文件的扩展名对应的字符串按照倒序储存在树形储存结构中,形成快速匹配算法环境。
在本发明实施例上述的文件扩展名快速匹配方法中,在所述快速匹配算法环境中,倒序储存的字符串里相邻字符在数组中的位置关系按照如下公式关系进行索引:
Qn+1=N1*(Qn*N2+Ln);
其中,N1为构成一个数组的字节总数,N2为所有字符的总数,Qn+1为第一字符在树形储存结构中所处的字节位置值,Qn为第二字符在树形储存结构中所处的字节位置值,Ln为第二字符在字符索引表中的索引值,所述第一字符与所述第二字符在倒序储存的字符串中相邻,并且所述第二字符为所述第一字符的前一个字符。
在本发明实施例上述的文件扩展名快速匹配方法中,所述利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的URL,包括:
将待检测的URL的文件扩展名对应的字符串按照倒序方式,在所述快速匹配算法环境中进行逐字符匹配;
如果匹配成功,则过滤掉匹配成功的待检测URL。
另一方面,本发明实施例提供了一种用于URL分析系统的文件扩展名快速匹配装置,包括:
接收模块,用于根据用户的业务需求,接收所需过滤URL的文件扩展名信息;
构建模块,用于利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境,所述快速匹配算法环境利用字节对文件扩展名字符串中的字符进行顺序标记,并采用字典树储存方式来依次储存文件扩展名的字符串;
匹配模块,用于利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的URL。
在本发明实施例上述的文件扩展名快速匹配装置中,所述构建模块包括:
标记单元,用于利用预设的数组对文件扩展名所需的所有字符按照预设顺序进行标记,形成相应的字符索引表,每个所述数组由预设数量的字节构成,每个所述数组中位的总数与所有字符的总数的差值大于等于0且小于8;
构建单元,用于构建具有多层的树形储存结构,所述树形储存结构中每个节点由一个数组构成且用于标记一个字符,每层中节点的数量是其相邻上层中节点数量乘以所有字符的总数;
处理单元,用于对于每个所需过滤文件的扩展名对应的字符串,进行倒序遍历;
储存单元,用于采用字典树储存方式,将所需过滤文件的扩展名对应的字符串按照倒序储存在树形储存结构中,形成快速匹配算法环境。
在本发明实施例上述的文件扩展名快速匹配装置中,在所述快速匹配算法环境中,倒序储存的字符串里相邻字符在数组中的位置关系按照如下公式关系进行索引:
Qn+1=N1*(Qn*N2+Ln);
其中,N1为构成一个数组的字节总数,N2为所有字符的总数,Qn+1为第一字符在树形储存结构中所处的字节位置值,Qn为第二字符在树形储存结构中所处的字节位置值,Ln为第二字符在字符索引表中的索引值,所述第一字符与所述第二字符在倒序储存的字符串中相邻,并且所述第二字符为所述第一字符的前一个字符。
在本发明实施例上述的文件扩展名快速匹配装置中,所述匹配模块,还用于将待检测的URL的文件扩展名对应的字符串按照倒序方式,在所述快速匹配算法环境中进行逐字符匹配;
所述匹配模块,还用于当匹配成功时,过滤掉匹配成功的待检测URL。
本发明实施例提供的技术方案带来的有益效果是:
本发明实施例提供的文件扩展名快速匹配方法,是基于用户的业务需求构建的快速匹配算法环境,该快速匹配算法环境使用字节来标记字符,并利用父节点储存位置和父节点中字符的索引值来直接定位子节点中字符的储存位置,而不使用常规的指针索引子节点,节省存储空间并提升匹配效率,尤其适用于处理海量URL数据,数据处理效率高。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的一种用于URL分析系统的文件扩展名快速匹配方法的流程图;
图2是本发明实施例一提供的一种字符索引表的示例图;
图3是本发明实施例一提供的一种文件扩展名在树形储存结构中的储存示例图;
图4是本发明实施例二提供的一种用于URL分析系统的文件扩展名快速匹配装置的结构示意图;
图5是本发明实施例二提供的一种构建模块的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
本发明实施例提供了一种用于URL分析系统的文件扩展名快速匹配方法,适用于互联网舆情分析及网络信息安全技术领域的应用,参见图1,该方法可以包括:
步骤S11,根据用户的业务需求,接收所需过滤URL的文件扩展名信息。
在本实施例中,URL是对互联网上可以得到的资源地址和访问方法的一种简洁的表示,互联网上的每个文件都有一个唯一的URL,通过URL访问相应的文件是互联网上常用的文件访问方式。但是并非所有的文件对URL分析系统都有意义,过滤掉非业务上不需要的文件访问,能有效提高用户系统的资源使用效率。因此,在使用URL分析系统来过滤掉非需求的文件访问前,可以根据用户的业务需求,采集所需过滤URL的文件扩展名信息,例如:百度网站LOGO地址为“http://m.baidu.com/favicon.ico”,其中“.ico”为文件扩展名信息。
步骤S12,利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境,该快速匹配算法环境利用字节对文件扩展名字符串中的字符进行顺序标记,并采用字典树储存方式来依次储存文件扩展名的字符串。
具体地,上述步骤S12可以通过如下方式实现:
a1,利用预设的数组对文件扩展名所需的所有字符按照预设顺序进行标记,形成相应的字符索引表,每个数组由预设数量的字节构成,每个数组中位的总数与所有字符的总数(即文件扩展名所需的所有字符的总数)的差值大于等于0且小于8。
在本实施例中,参见图2,在URL分析系统中,所有的URL文件扩展名规则字符串长度较短,且字符集有限,包括数字‘0~9’、大小写字母‘a~zA~Z’、字符‘.’等,总数为63个,因为本匹配不需要区分大小写字母,因此构建匹配环境使用的字符总数为37个。可以使用5个字节(共40个位)对这37个字符用位(即bit)来标记,形成字符索引表,在字符索引表中,如果存在该字符,则在该字符对应的位标记位1,否则标记为0,未使用的位也初始化为0。
b1,构建具有多层的树形储存结构,树形储存结构中每个节点由一个数组构成且用于标记一个字符,每层中节点的数量是其相邻上层中节点数量乘以所有字符的总数(即文件扩展名所需的所有字符的总数)。
在本实施例中,树形储存结构中每个节点由一个数组构成且用于标记一个字符,例如图2中字符索引表对应的数组就可以为树形储存结构里的一个节点,每层中节点的数量是其相邻上层中节点数量乘以所有字符的总数,即下层中的节点数量是根据相邻上层中节点数量扩展所有字符的总数的倍数。例如:第一层需要5个字节(即1个节点),第二层需要185个字节(即37个节点),第三层需要6845个字节(即185个节点),第四层需要253265个字节(即6845个节点),第5层需要9370805个字节(即253265个节点),这样共计需要9631105个字节就可以表示出所有的匹配规则。
c1,对于每个所需过滤文件的扩展名对应的字符串,进行倒序遍历。
d1,采用字典树储存方式,将所需过滤文件的扩展名对应的字符串按照倒序储存在树形储存结构中,形成快速匹配算法环境。
在本实施例中,字典树是一种树形结构,是一种哈希树的变种,其优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较。本发明采用了字典树储存方式,但与传统字典树不同之处在于,采用了字符索引表和多层的树形储存结构,并且舍弃了传统字典树中的指针索引方式。
具体地,在快速匹配算法环境中,倒序储存的字符串里相邻字符在数组中的位置关系按照如下公式关系进行索引:
Qn+1=N1*(Qn*N2+Ln);
其中,N1为构成一个数组的字节总数,N2为所有字符的总数(即文件扩展名所需的所有字符的总数),Qn+1为第一字符在树形储存结构中所处的字节位置值,Qn为第二字符在树形储存结构中所处的字节位置值,Ln为第二字符在字符索引表中的索引值,第一字符与第二字符在倒序储存的字符串中相邻,并且第二字符为第一字符的前一个字符。
下面结合图2和图3,以“.ico”文件扩展名为例进行举例说明:
首先,将“.ico”文件扩展名倒序排列,形成“oci.”;然后,“o”排在树形储存结构中的第1个字节处,在图2的字符索引表中的索引值为25(即在第0个字节之后的5个字节组成的数组中第25位处标记1);然后,计算“c”所处的字节位置为:5*(1*37+25)=125,在图2的字符索引表中的索引值为13(即在第125个字节之后的5个字节组成的数组中第13位标记为1);然后,计算“o”所处的字节位置为:5*(125*37+13)=4690,在图2的字符索引表中的索引值为19(即在第4690个字节之后的5个字节组成的数组中第19位标记为1);然后,计算“.”所处的字节位置为:5*(4690*37+19)=173625,在图2的字符索引表中的索引值为37(即在第173625个字节之后的5个字节组成的数组中第37位标记为1)。需要说明是,储存时以储存到“.”字符为结束,即“.”字符之后的字符均不用储存。
步骤S13,利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的URL。
具体地,上述步骤S13可以通过如下方式实现:
a2,将待检测的URL的文件扩展名对应的字符串按照倒序方式,在快速匹配算法环境中进行逐字符匹配。
b2,如果匹配成功,则过滤掉匹配成功的待检测URL。如果匹配不成功,则该URL可用于用户对相应文件的访问。
在本实施例中,上述文件扩展名快速匹配方法,是基于用户的业务需求构建的快速匹配算法环境,该快速匹配算法环境使用字节来标记字符,利用父节点储存位置和父节点中字符的索引值来直接定位子节点中字符的储存位置,而不使用常规的指针索引子节点,节省存储空间和提升匹配效率。同时,还解决在海量URL分析预处理数据过程中高效通过文件扩展名来过滤出特定的数据并丢弃,从而减少系统后续分析存储的数据量。
本发明实施例提供的文件扩展名快速匹配方法,是基于用户的业务需求构建的快速匹配算法环境,该快速匹配算法环境使用字节来标记字符,并利用父节点储存位置和父节点中字符的索引值来直接定位子节点中字符的储存位置,而不使用常规的指针索引子节点,节省存储空间并提升匹配效率,尤其适用于处理海量URL数据,数据处理效率高。
实施例二
本发明实施例提供了一种用于URL分析系统的文件扩展名快速匹配装置,执行了实施例所述的文件扩展名快速匹配方法,参见图4,该装置可以包括:接收模块100、构建模块200、匹配模块300。
接收模块100,用于根据用户的业务需求,接收所需过滤URL的文件扩展名信息。
在本实施例中,URL是对互联网上可以得到的资源地址和访问方法的一种简洁的表示,互联网上的每个文件都有一个唯一的URL,通过URL访问相应的文件是互联网上常用的文件访问方式。但是并非所有的文件对URL分析系统都有意义,过滤掉非业务上不需要的文件访问,能有效提高用户系统的资源使用效率。因此,在使用URL分析系统来过滤掉非需求的文件访问前,可以根据用户的业务需求,采集所需过滤URL的文件扩展名信息。
构建模块200,用于利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境,该快速匹配算法环境利用字节对文件扩展名字符串中的字符进行顺序标记,并采用字典树储存方式来依次储存文件扩展名的字符串。
在本实施例中,上述文件扩展名快速匹配装置,是基于用户的业务需求构建的快速匹配算法环境,该快速匹配算法环境使用字节来标记字符,利用父节点储存位置和父节点中字符的索引值来直接定位子节点中字符的储存位置,而不使用常规的指针索引子节点,节省存储空间和提升匹配效率。
匹配模块300,用于利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的URL。
在本实施例中,过滤掉不符合用户业务需求的文件,解决在海量URL分析预处理数据过程中高效通过文件扩展名来过滤出特定的数据并丢弃,从而减少系统后续分析存储的数据量。
具体地,参见图5,构建模块200可以包括:标记单元201、构建单元202、处理单元203、储存单元204。
标记单元201,用于利用预设的数组对文件扩展名所需的所有字符按照预设顺序进行标记,形成相应的字符索引表,每个数组由预设数量的字节构成,每个数组中位的总数与所有字符的总数(即文件扩展名所需的所有字符的总数)的差值大于等于0且小于8。
构建单元202,用于构建具有多层的树形储存结构,树形储存结构中每个节点由一个数组构成且用于标记一个字符,每层中节点的数量是其相邻上层中节点数量乘以所有字符的总数(即文件扩展名所需的所有字符的总数)。
在本实施例中,树形储存结构中每个节点由一个数组构成且用于标记一个字符,例如图2中字符索引表对应的数组就可以为树形储存结构里的一个节点,每层中节点的数量是其相邻上层中节点数量乘以所有字符的总数,即下层中的节点数量是根据相邻上层中节点数量扩展所有字符的总数的倍数。
处理单元203,用于对于每个所需过滤文件的扩展名对应的字符串,进行倒序遍历。
储存单元204,用于采用字典树储存方式,将所需过滤文件的扩展名对应的字符串按照倒序储存在树形储存结构中,形成快速匹配算法环境。
在本实施例中,字典树是一种树形结构,是一种哈希树的变种,其优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较。本发明采用了字典树储存方式,但与传统字典树不同之处在于,采用了字符索引表和多层的树形储存结构,并且舍弃了传统字典树中的指针索引方式。
可选地,在快速匹配算法环境中,倒序储存的字符串里相邻字符在数组中的位置关系按照如下公式关系进行索引:
Qn+1=N1*(Qn*N2+Ln);
其中,N1为构成一个数组的字节总数,N2为所有字符的总数(即文件扩展名所需的所有字符的总数),Qn+1为第一字符在树形储存结构中所处的字节位置值,Qn为第二字符在树形储存结构中所处的字节位置值,Ln为第二字符在字符索引表中的索引值,第一字符与第二字符在倒序储存的字符串中相邻,并且第二字符为第一字符的前一个字符。
可选地,匹配模块300,还用于将待检测的URL的文件扩展名对应的字符串按照倒序方式,在快速匹配算法环境中进行逐字符匹配。
匹配模块300,还用于当匹配成功时,过滤掉匹配成功的待检测URL。
本发明实施例提供的文件扩展名快速匹配装置,是基于用户的业务需求构建的快速匹配算法环境,该快速匹配算法环境使用字节来标记字符,并利用父节点储存位置和父节点中字符的索引值来直接定位子节点中字符的储存位置,而不使用常规的指针索引子节点,节省存储空间并提升匹配效率,尤其适用于处理海量URL数据,数据处理效率高。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是:上述实施例提供的用于URL分析系统的文件扩展名快速匹配装置在实现用于URL分析系统的文件扩展名快速匹配方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的用于URL分析系统的文件扩展名快速匹配装置与用于URL分析系统的文件扩展名快速匹配方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种用于URL分析系统的文件扩展名快速匹配方法,其特征在于,所述方法包括:
根据用户的业务需求,接收所需过滤URL的文件扩展名信息;
利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境,所述快速匹配算法环境利用字节对文件扩展名字符串中的字符进行顺序标记,并采用字典树储存方式来依次储存文件扩展名的字符串;
利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的URL;
所述的利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境包括:
利用预设的数组对文件扩展名所需的所有字符按照预设顺序进行标记,形成相应的字符索引表,每个所述数组由预设数量的字节构成,每个所述数组中位的总数与所有字符的总数的差值大于等于0且小于8;
构建具有多层的树形储存结构,所述树形储存结构中每个节点由一个数组构成且用于标记一个字符,每层中节点的数量是其相邻上层中节点数量乘以所有字符的总数;
对于每个所需过滤文件的扩展名对应的字符串,进行倒序遍历;
采用字典树储存方式,将所需过滤文件的扩展名对应的字符串按照倒序储存在树形储存结构中,形成快速匹配算法环境。
2.根据权利要求1所述的文件扩展名快速匹配方法,其特征在于,在所述快速匹配算法环境中,倒序储存的字符串里相邻字符在数组中的位置关系按照如下公式关系进行索引:
Qn+1=N1*(Qn*N2+Ln);
其中,N1为构成一个数组的字节总数,N2为所有字符的总数,Qn+1为第一字符在树形储存结构中所处的字节位置值,Qn为第二字符在树形储存结构中所处的字节位置值,Ln为第二字符在字符索引表中的索引值,所述第一字符与所述第二字符在倒序储存的字符串中相邻,并且所述第二字符为所述第一字符的前一个字符。
3.根据权利要求2所述的文件扩展名快速匹配方法,其特征在于,所述利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的URL,包括:
将待检测的URL的文件扩展名对应的字符串按照倒序方式,在所述快速匹配算法环境中进行逐字符匹配;
如果匹配成功,则过滤掉匹配成功的待检测URL。
4.一种用于URL分析系统的文件扩展名快速匹配装置,其特征在于,包括:
接收模块,用于根据用户的业务需求,接收所需过滤URL的文件扩展名信息;
构建模块,用于利用接收到的所需过滤URL的文件扩展名信息,构建快速匹配算法环境,所述快速匹配算法环境利用字节对文件扩展名字符串中的字符进行顺序标记,并采用字典树储存方式来依次储存文件扩展名的字符串;
匹配模块,用于利用构建的快速匹配算法环境,对待检测URL的文件扩展名进行匹配,过滤掉不符合用户业务需求的URL;
所述构建模块包括:
标记单元,用于利用预设的数组对文件扩展名所需的所有字符按照预设顺序进行标记,形成相应的字符索引表,每个所述数组由预设数量的字节构成,每个所述数组中位的总数与所有字符的总数的差值大于等于0且小于8;
构建单元,用于构建具有多层的树形储存结构,所述树形储存结构中每个节点由一个数组构成且用于标记一个字符,每层中节点的数量是其相邻上层中节点数量乘以所有字符的总数;
处理单元,用于对于每个所需过滤文件的扩展名对应的字符串,进行倒序遍历;
储存单元,用于采用字典树储存方式,将所需过滤文件的扩展名对应的字符串按照倒序储存在树形储存结构中,形成快速匹配算法环境。
5.根据权利要求4所述的文件扩展名快速匹配装置,其特征在于,在所述快速匹配算法环境中,倒序储存的字符串里相邻字符在数组中的位置关系按照如下公式关系进行索引:
Qn+1=N1*(Qn*N2+Ln);
其中,N1为构成一个数组的字节总数,N2为所有字符的总数,Qn+1为第一字符在树形储存结构中所处的字节位置值,Qn为第二字符在树形储存结构中所处的字节位置值,Ln为第二字符在字符索引表中的索引值,所述第一字符与所述第二字符在倒序储存的字符串中相邻,并且所述第二字符为所述第一字符的前一个字符。
6.根据权利要求5所述的文件扩展名快速匹配装置,其特征在于,所述匹配模块,还用于将待检测的URL的文件扩展名对应的字符串按照倒序方式,在所述快速匹配算法环境中进行逐字符匹配;
所述匹配模块,还用于当匹配成功时,过滤掉匹配成功的待检测URL。
CN201810288551.0A 2018-04-03 2018-04-03 用于url分析系统的文件扩展名快速匹配方法和装置 Active CN108549679B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810288551.0A CN108549679B (zh) 2018-04-03 2018-04-03 用于url分析系统的文件扩展名快速匹配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810288551.0A CN108549679B (zh) 2018-04-03 2018-04-03 用于url分析系统的文件扩展名快速匹配方法和装置

Publications (2)

Publication Number Publication Date
CN108549679A CN108549679A (zh) 2018-09-18
CN108549679B true CN108549679B (zh) 2022-03-25

Family

ID=63513878

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810288551.0A Active CN108549679B (zh) 2018-04-03 2018-04-03 用于url分析系统的文件扩展名快速匹配方法和装置

Country Status (1)

Country Link
CN (1) CN108549679B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929107A (zh) * 2019-10-23 2020-03-27 广州艾媒数聚信息咨询股份有限公司 一种分析网络访问日志的方法、系统、装置和存储介质
CN112732796B (zh) * 2021-01-23 2023-01-24 河北省科学院应用数学研究所 一种模糊查询匹配方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020440A (ja) * 1998-07-02 2000-01-21 Canon Inc 情報処理装置と情報処理方法、及び情報処理システム、並びに記憶媒体
WO2013097115A1 (zh) * 2011-12-28 2013-07-04 华为技术有限公司 文件目录存储方法、检索方法和设备
CN104537107A (zh) * 2015-01-15 2015-04-22 中国联合网络通信集团有限公司 一种网址存储匹配方法及装置
CN104933363B (zh) * 2015-06-19 2018-09-11 安一恒通(北京)科技有限公司 检测恶意文件的方法和装置
CN106227741B (zh) * 2016-07-12 2019-08-30 国家计算机网络与信息安全管理中心 一种基于多级哈希索引链表的大规模url匹配方法

Also Published As

Publication number Publication date
CN108549679A (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
CN110019647B (zh) 一种关键词搜索方法、装置和搜索引擎
CN111339382B (zh) 字符串数据检索方法、装置、计算机设备及存储介质
CN107153647B (zh) 进行数据压缩的方法、装置、系统和计算机程序产品
US8392398B2 (en) Query optimization over graph data streams
CN108846016B (zh) 一种面向中文分词的搜索算法
CN102867049B (zh) 一种基于单词查找树实现的汉语拼音快速分词方法
CN103607496A (zh) 一种推断手机用户兴趣爱好的方法、装置及手机终端
CN108900554B (zh) Http协议资产检测方法、系统、设备及计算机介质
US20080133460A1 (en) Searching descendant pages of a root page for keywords
CN104268280A (zh) 一种基于键值数据库的层次化存储与查询方法
CN105095369A (zh) 网址匹配方法及装置
CN108549679B (zh) 用于url分析系统的文件扩展名快速匹配方法和装置
CN106844553B (zh) 基于样本数据的数据探测和扩充方法及装置
CN108228760A (zh) 敏感词过滤的方法、装置、移动终端及存储介质
Cole et al. Suffix trays and suffix trists: Structures for faster text indexing
KR100999408B1 (ko) 해시트리를 이용한 url 검색방법
CN112364051B (zh) 一种数据查询方法及装置
CN103258052B (zh) 一种eMule网络上关联资源的发现方法
CN103514287A (zh) 一种构建索引树的方法、汉语词汇搜索的方法及相关装置
CN109710860B (zh) 一种url分类匹配的方法及装置
EP2312473A1 (en) System, apparatus and method for processing content on a computing device
Yazdani et al. DMP-tree: A dynamic M-way prefix tree data structure for strings matching
CA2716651C (en) System and method for storing and retrieving data from storage
CN113626600B (zh) 文本处理方法、装置、计算机设备和存储介质
JP7322500B2 (ja) 検索方法、検索プログラム、および情報処理装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant