CN107547671A - 一种url匹配方法及装置 - Google Patents
一种url匹配方法及装置 Download PDFInfo
- Publication number
- CN107547671A CN107547671A CN201610494455.2A CN201610494455A CN107547671A CN 107547671 A CN107547671 A CN 107547671A CN 201610494455 A CN201610494455 A CN 201610494455A CN 107547671 A CN107547671 A CN 107547671A
- Authority
- CN
- China
- Prior art keywords
- url
- sections
- target
- matching
- access
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种URL匹配方法及装置,通过对获取到的访问URL的域名单元与资源路径单元中的至少一个根据预设划分规则进行分段处理后将处理得到的访问URL段映射至对应的关键值;然后将各个URL段对应的访问关键值与存储的各目标URL的目标关键值进行逐级匹配:如果访问关键值与目标关键值相等,则表征访问URL段与目标URL段匹配成功,若访问URL中所有的访问URL段都能匹配到对应的目标匹配URL段,则说明该访问URL属于需要被管理控制的URL中的一个。这种匹配方案通过将URL进行分段处理能够提高匹配准确率,精准地管理那些需要进行控制的URL;同时将URL段映射到关键值,然后直接对关键值进行匹配能够有效提高匹配效率,减少用户的等待时间,提高用户体验。
Description
技术领域
本发明涉及网络技术领域,尤其涉及一种URL匹配方法及装置。
背景技术
URL(Uniform Resource Locator,统一资源定位符)是互联网上标准资源的地址。互联网上的每个资源都有一个唯一的URL,其信息用于指示网络资源的位置以及浏览器对该资源的处理方式。根据协议的规定,URL的格式如下所示:
protocol://Hostname[:port]/Path/[;parameters][?query]#fragment
其中,Hostname(主机域名)和Path(资源路径)是必须存在的内容,“[]”内的端口信息或者参数信息都属于可选的内容。
基于URL特征的匹配算法主要用于URL管理,其在入侵检测、不良信息过滤、网络数据流量控制等访问控制领域中应用广泛,是防火墙系统的核心之一。URL匹配在网管系统中主要应用于规则策略配置和网站响应过滤两部分:规则策略配置主要是对已经开发完成的部分网页的显示进行处理,例如在特定类型的网页页面上配置与网页内容相匹配的广告等,这里所说的配置广告并非是指页面开发人员在开发的时候给网页页面配置广告,而是指页面开发完成之后,网络管理人员根据具体需要在部分页面上添置广告。网站响应过滤则是指对不良网站的页面进行屏蔽过滤。现有技术中都是将不良网站的URL进行存储记录,当接收到用户输入的URL之后,将访问携带的HTTP头信息中的Hostname字段与记录匹配,如果用户当前访问的URL在记录中存在,系统就将该URL对应的页面屏蔽,并向用户返回提示信息。
如今网址数量十分庞大,导致URL的管理工作也越来越繁重,越来越复杂,例如,针对网站响应过滤而言,URL黑名单数量可能会达到百万或者千万级别,当用户输入一个URL之后需要与黑名单中百万甚至千万的URL进行匹配,匹配结束发现该URL的Hostname在黑名单中不存在才会向用户提供其输入URL对应的资源,而这一匹配过程可能会花费较多的时间,这在很大程度上会影响用户体验。因此,如何有效进行大规模URL匹配是目前网络管理中亟待解决的一个问题。
发明内容
本发明实施例提供的一种URL匹配方法和装置,主要解决的技术问题是:提供一种与现有技术不同的、新的URL匹配方案,用以解决现有技术中对大规模URL进行匹配的时候存在的匹配效率低、匹配耗时长的技术问题。
为解决上述技术问题,本发明实施例提供一种URL匹配方法,包括:
按照预设划分规则对获取的访问URL的域名单元与资源路径单元中的至少一个进行分段处理得到访问URL段,所述访问URL段中至少包括所述访问URL中两个分隔符之间的完整内容;
根据预设映射规则将各所述访问URL段映射至一一对应的访问关键值;
按照预设匹配顺序将各所述访问关键值与存储的各目标URL段对应的各目标关键值进行逐级匹配;
在所述访问URL的各所述访问URL段均匹配到对应的目标URL段时,获取对所述访问URL的处理策略。
本发明实施例还提供一种URL匹配装置,包括:
分割模块,用于按照预设划分规则对获取的访问URL的域名单元与资源路径单元中的至少一个进行分段处理得到访问URL段,所述访问URL段中至少包括所述URL中两个分隔符之间的完整内容;
映射模块,用于根据预设映射规则将各所述访问URL段映射至一一对应的访问关键值;
匹配模块,用于按照预设匹配顺序将各所述访问关键值与存储的各目标URL段对应的各目标关键值进行逐级匹配;
获取模块,用于在所述访问URL的各所述访问URL段均匹配到对应的目标URL段时,获取对所述访问URL的处理策略。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的URL匹配方法。
本发明的有益效果是:
根据本发明实施例提供的URL匹配方法、装置以及计算机存储介质,通过对获取到的访问URL的域名单元与资源路径单元中的至少一个根据预设划分规则进行分段处理,然后将处理得到的访问URL段映射至对应的关键值;然后将各个URL段对应的访问关键值与存储的各目标URL对应的目标关键值进行逐级匹配,如果访问关键值与目标关键值相等,则表征访问URL段与目标URL段匹配成功,若访问URL中所有的访问URL段都能匹配到对应的目标匹配URL段,则说明该访问URL属于需要被管理控制的URL中的一个。这种匹配方案通过将URL进行分段处理能够提高匹配准确率,精准地管理那些需要进行控制的URL;同时将URL段映射到关键值,然后直接对关键值进行匹配能够有效提高匹配效率,减少用户的等待时间,提高用户体验。
附图说明
图1为本发明实施例一提的URL匹配方法的一种流程图;
图2为本发明实施例一中提出的目标URL段进行存储的存储结构示意图;
图3为本发明实施例二提供的对目标URL进行处理的一种流程示意图;
图4为本发明实施例三提供的URL匹配装置的一种结构示意图;
图5为本发明实施例三提供的URL匹配装置的另一种结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。
实施例一:
为了解决现有技术中对用户的访问URL与大规模的需要进行管理控制的URL进行匹配的时候出现的匹配效率地低下,匹配耗时长,影响用户体验的技术问题,本实施例提供一种URL匹配方法,请参见图1:
本实施例中的URL可以分为两种类型,一种是确定需要被管理控制的URL,这种URL属于目标URL。另一种是用户输入的想要访问的URL,我们称之为访问URL。
当网络管理员根据用户举报、投诉,或者通过自己检测发现的了含有不良信息的、需要被屏蔽的页面,这时候这些含有不良信息的页面所对应的URL就属于需要被控制的那一类目标URL。另外一方面,如果网络管理员想要对某些页面进行特别的管理,例如,在网络管理员根据需要,想要在展示汽车信息的页面上投放某品牌汽车的推广信息,因此,这些页面所对应的URL就属于需要被管理的目标URL。
当用户点击网页上的链接信息或者是直接输入网址想要访问某一页面的时候,需要对用户想要访问的页面对应的访问URL进行匹配,以确定该访问URL是否是需要被管理控制的目标URL中的一个,如果是,则需要根据对应的处理策略对该访问URL对应的页面进行控制管理,如果不是,则表示可以直接根据该访问URL获取到用户需要的资源并向用户进行展示。
S102、按照预设划分规则对获取的访问URL的域名单元与资源路径单元中的至少一个进行分段处理得到访问URL段。
S104、根据预设映射规则将各访问URL段映射至一一对应的访问关键值。
对访问URL进行匹配之前,访问URL会经历分段处理与映射处理这两个过程,而对访问URL进行匹配的时候,是与预先存储的目标URL进行匹配。因此,对访问URL进行匹配之前,应当先对目标URL进行同样的处理,在本实施例中,我们可以将分段处理与映射处理当作所有URL都会经历的“预处理”过程。
对目标URL的处理方式应当与对访问URL的处理方式相同,或者说,访问URL的预处理规则应当与目标URL的一致,因为目标URL的预处理过程在前,目标URL的预处理过程决定了对访问URL的处理规则。为了简洁,本实施例中在对URL的预处理过程进行介绍的时候,不区分目标URL与访问URL。
根据前面的介绍,一个URL中至少包括主机域名Hostname与资源路径Path两部分,在本实施例中,Hostname为域名单元,Path为资源路径单元。在域名单元当中,以“.”为界,将Hostname从右至左依次划分为顶级域名、二级域名、三极域名与注册域名,在顶级域名分为国家顶级域名和国际顶级域名,国家顶级域名如“.cn”,“.uk”,“.de”等,而国际顶级域名包括“.com”,“.net”,“.org”等。在两个“.”之间的内容为最小的域名段。在资源路径当中,以“/”为界进行划分,两个“/”之间的内容为最小的资源路径段。
根据上述介绍可以知道,最小域名段和最小资源路径段是一个URL的基本组成单元,因此,对URL中域名单元或者是资源路径单元中的任意一个进行分段处理之后,应当保证分段处理之后得到的各URL段至少是一个完整的最小组成单元,也就是说在各URL段当中至少包括URL中两个分隔符之间的完整内容。这里所说的两个分隔符可以是一个URL中的任意两个分隔符。
在对URL段进行映射之前,可以先预设映射规则,映射规则是指各URL段与各关键值之间的对应关系。如表1所示:
表1
URL段 | 关键值 |
.com | 1 |
.cn | 2 |
.org | 5 |
当分段处理后得到的URL段为“.cn”,那么该URL段的关键值为2,如果URL段为“.org”,则对应的关键值应当为5。
可以理解的是,现在的网站繁多,网页页面更是不计其数,预先为所有的URL段设置好对应的关键值是不太现实的,特别是对于海量的资源路径,预先为每一个资源路径单元中的每一个URL段设置好关键值几乎是不可能实现的事。所以,为了解决这个问题,可以采用一种预设的算法对各个URL段进行计算处理,将计算得到的结果作为URL段的关键值。在这种情况下,虽然在计算得出结果之前并没有为各个URL段配置好关键值,但是由于采用的算法是统一的,所以各个URL段根据这个固定的算法也会得到一一对应的关键值。
通过预设算法来将UR段映射至关键值的做法最好能够保证不同的URL对应不同的关键值,这样才能保证在对URL进行后续的匹配的时候不会出现冲突的情况。哈希算法能够将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。因此,在本实施例当中,可以采用哈希算法来对URL段进行处理,将处理结果作为该URL段对应的关键值。
在对目标URL与访问URL进行分段处理与映射处理之后,就需要对这两类不同的URL进行分段处理:
对于目标URL,分段得到目标URL段及与各目标URL段一一对应的目标关键值之后,需要将目标URL段及其目标关键值按照预设的匹配顺序进行存储,以便在在后续过程中当用户输入的访问URL为该目标URL时,可以进行管理控制,预设匹配顺序可以由管理员来设置。
在对目标URL段及其对应的目标关键值进行存储的时候,可以根据预设匹配顺序进行逐级存储,以便在后续的匹配过程中,也能够进行逐级匹配。为了提高匹配效率,通常的做法是先匹配域名单元中的各URL段再匹配资源路径单元中的各URL段;在对匹配域名单元中的URL段进行匹配时,按照从右至左的顺序进行,即先匹配顶级域名,再依次匹配二级域名、三级域名、注册域名。当对匹配资源路径单元中的各URL段进行匹配时,按照从左至右的顺序进行。因此,在存储的时候,可以将顶级域名的存储级别设置为最高,在顶级域名之下在存储二级域名,在二级域名之下依次是三级域名、注册域名,然后是资源路径单元中最左边的目标URL段,从最左边的目标URL段依次进行存储,直到存储完最右边的目标URL段。
在本实施例当中,存储目标URL段的时候可以根据树形存储结构进行,根据预设匹配顺序对各目标URL段及其对应的目标关键值进行存储得到存储树,在前匹配的目标URL段作为在后匹配的目标URL段的父节点,在后匹配的目标URL段作为在前匹配的目标URL段的孩子节点。在这种存储方式当中,并没有将域名单元下的各目标URL段和资源路径单元下的各目标URL段进行区分,也就是说目标URL中的各个目标URL段都会存储在一个存储树中。但是如果需要管理控制的目标URL太多,在一棵存储树中同时存储域名单元和资源路径单元下的URL段的话,可能会导致一棵存储树过于庞大。
本实施例还提供另外一种存储目标URL段的方式:将目标URL中域名单元中的各目标URL段及其目标关键值根据树形存储结构进行存储得到对应的域名存储树;将目标URL中资源路径单元中的各目标URL段及其目标关键值根据树形存储结构进行存储得到对应的资源路径存储树;域名单元存储树的叶子节点指向资源路径单元存储树的根节点。也就是说,域名单元中的目标URL段和资源路径单元中的各目标UR段实际上是分成两个存储树进行存储的,二者之间依靠指针进行联系。
S106、按照预设匹配顺序将各访问关键值与存储的各目标URL段对应的各目标关键值进行逐级匹配。
S106是针对访问URL的匹配过程的,也就是说,获取到的URL是用户想要访问的页面所对应的URL,在对访问URL进行分段处理与映射处理之后,需要对得到的各个访问URL段与存储的目标URL段进行逐级匹配。逐级匹配的含义是指将一个访问URL段与其同一等级的各个目标URL段进行匹配,可以明白的是,这里匹配的应当是访问URL段的访问关键值与各个目标URL对应的关键值,当匹配成功之后,按照预设匹配顺序,选择该访问URL段之后的访问URL段与匹配成功的目标URL段的各子节点进行匹配,然后一直循环这个匹配过程,直至一个URL段中所有的访问URL段都匹配成功或者某一个访问URL段无法匹配到相应的目标URL,然后返回提示为止。
如图2所示,在图2所示出的存储树中存储了三个目标URL的域名单元,分别是“a.b.ccd”、“g.a.12.cd”和“d.13.cd”,现在用户输入了一个访问URL为“f.12.cd”,在进行逐级匹配的时候,需要将访问URL段中的“cd”与目标URL段中的“ccd”和“cd”进行匹配,当匹配成功之后,再将“12”与“12”和“13”进行匹配,当然在前两次匹配过程中都能成功,直到将“f”与“a”进行匹配的时候会出现匹配失败的情况。这时候表征用户输入的访问URL是不需要进行管理控制的那一类,所以可以直接向用户返回其需要的页面资源。如果用户输入的访问URL中,不仅域名单元的各个URL段能够匹配到对应的目标URL段,而且资源路径下的全部URL段也都能匹配成功,则表征用户输入的这个访问URL是需要被管理控制的那一类URL中的一个。
S108、在访问URL的各访问URL段均匹配到对应的目标URL段时,获取对访问URL的处理策略。
在确定需要对用户输入的访问URL进行管理控制之后应当要获取到对该URL的具体处理策略,例如对该URL对应的页面进行屏蔽或者添加某一广告信息等。
本发明实施例提供的URL匹配方法,通过对目标URL和访问URL进行相同的分段处理和映射处理,能够让将一个URL通过多个关键值的组合方式来表示,在这种情况下,在对URL进行匹配的时候,实质上就是按照顺序来匹配一些简单的值,这种方式将一个复杂的URL的匹配过程转化成了简单的值的匹配过程,提高了匹配效率,缩短了用户的等待时间,有利于用户体验的提升。另一方面,因为本实施例提出的匹配方法会对资源路径进行进一步的分段处理,所以能对那些域名单元正常,而资源路径中下存在不良信息的网页页面进行精细管理,使得管理更细化,更有效,更精准。
实施例二:
在实施例一提供的URL匹配方法当中,无论目标URL是什么样的都会对其进行分段处理,但本实施例中提出另外一种处理方式,请参考图3:
S301、提取目标URL中的域名单元与资源路径单元。
提取域名单元与资源路径单元实质上就是提取有价值的部分,反过来说,也可以提出不具使用价值的部分:首先可以先剔除目标URL中没有使用价值的参数与分段部分,参数部分的标识为“?”分段部分的标识为“#”,也就是说,可以直接将“?”与“#”之后的内容都删除掉。另外由于根据协议的规定“[]”内的内容都属于可选类容,因此这些部分也是可以直接剔除掉的。
S302、判断域名单元或资源路径单元中是否存在通配符。
通配符的含义是该部分为任意形式都可以。当域名单元与资源路径单元中都没有通配符,则可以执行S303否则执行S304。
S303、将该URL直接进行映射处理并进行存储。
映射处理可以直接根据哈希算法进行,值得注意的是,在存储这种不带有通配符的URL时,可以采用哈希表来代替哈希存储树。
S304、对域名单元与资源路径单元进行分段处理。
分段处理的过程可以参见实施例一,这里不再赘述,可以理解的是,也可以不同时对域名单元与资源路径进行分段处理,可以仅对其中一个进行分段,并等到对应的目标URL段,对另外一个不进行进一步的分段处理,而是直接将该部分作为一个目标URL段。
S305、对分段处理得到的目标URL段进行映射处理并存储。
应当明白的是,在进行映射处理的时候,对各个URL的处理都应当采用一致的方式进行,例如,在本实施例中,对不带通配符的URL的映射处理的过程是采用哈希算法进行的,那么在对带有通配符的资源路径单元或域名单元下的URL段进行处理的时候也应当采用哈希算法进行,另外在后续过程中对访问URL段进行映射处理的时候也应当采用哈希算法进行,以保证关键值与URL段能够实现真正的对应。
本实施例中,对于分段处理得到的目标URL段及其目标关键值进行存储的时候依然采用实施例一的方式,即按照树形存储结构对目标URL段及其目标关键值按照预设匹配顺序进行存储形成存储树。
根据通配符所在位置的不同,可以将其分为前缀通配符与后缀通配符,为了匹配方便,可以将带有前缀通配符的域名单元和带有后缀通配符的域名单元的各URL段进行分别存储,同样的,也可以将带有前缀通配符的资源路径单元和带有后缀通配符的资源路径单元的各URL段进行分别存储。
当接收到用户的访问URL时,可以先将该访问URL中无使用价值的参数与分段部分进行剔除,计算剔除无价值部分的访问URL的哈希值,然后先使用计算得到的哈希值与哈希表中存储的各个哈希值进行匹配,如果匹配成功,则获取对应的处理策略,如果匹配不成功,则可以将该访问URL进行分段处理,然后按照实施例一提供的方式进行匹配,这里不再赘述。
和现有匹配方法中,直接将访问URL的域名单元与资源路径单元与目标URL的域名单元与资源路径单元进行匹配的方式相比,现有匹配方法的时间复杂度为O(n3),n为目标URL的数目,但本实施例提供的URL匹配方法在进行匹配的时候与目标URL的条数无关,其算法的时间复杂度为O(L),因此,本实施例提供的方法极大的降低了匹配过程的复杂度,提高了匹配效率。
实施例三:
本实施例提供一种URL匹配装置,实施例一和实施例二提供的URL匹配方法可以通过本实施例提供的URL匹配装置进行实施,下面对本实施例提供的URL匹配装置进行介绍,请参见图4:
该URL匹配装置40包括分割模块402、映射模块404、匹配模块406、获取模块408。
分割模块402用于按照预设划分规则对获取的访问URL的域名单元与资源路径单元中的至少一个进行分段处理得到访问URL段。映射模块404用于根据预设映射规则将各访问URL段映射至一一对应的访问关键值。匹配模块406用于按照预设匹配顺序将各访问关键值与存储的各目标URL段对应的各目标关键值进行逐级匹配。获取模块408用于在访问URL的各访问URL段均匹配到对应的目标URL段时,获取对访问URL的处理策略。
本实施例中的URL可以分为两种类型,一种是确定需要被管理控制的URL,这种URL属于目标URL。另一种是用户输入的想要访问的URL,我们称之为访问URL。
当网络管理员根据用户举报、投诉,或者通过自己检测发现的了含有不良信息的、需要被屏蔽的页面,这时候这些含有不良信息的页面所对应的URL就属于需要被控制的那一类目标URL。另外一方面,如果网络管理员想要对某些页面进行特别的管理,例如,在网络管理员根据需要,想要在展示汽车信息的页面上投放某品牌汽车的推广信息,因此,这些页面所对应的URL就属于需要被管理的目标URL。
当用户点击网页上的链接信息或者是直接输入网址想要访问某一页面的时候,需要对用户想要访问的页面对应的访问URL进行匹配,以确定该访问URL是否是需要被管理控制的目标URL中的一个,如果是,则需要根据对应的处理策略对该访问URL对应的页面进行控制管理,如果不是,则表示可以直接根据该访问URL获取到用户需要的资源并向用户进行展示。
对访问URL进行匹配之前,访问URL会被分割模块402和映射模块404分别进行分段处理与映射处理,而对访问URL进行匹配的时候,是与预先存储的目标URL进行匹配。因此,对访问URL进行匹配之前,分割模块402和映射模块404应当先对目标URL进行同样的处理,在本实施例中,我们可以将分割模块402的分段处理与映射模块404的映射处理当作所有URL都会经历的“预处理”过程。
分割模块402和映射模块404对目标URL的处理方式应当与对访问URL的处理方式相同,或者说,访问URL的预处理规则应当与目标URL的一致,因为目标URL的预处理过程在前,目标URL的预处理过程决定了对访问URL的处理规则。为了简洁,本实施例中在对URL的预处理过程进行介绍的时候,不区分目标URL与访问URL。
根据前面的介绍,一个URL中至少包括主机域名Hostname与资源路径Path两部分,在本实施例中,Hostname为域名单元,Path为资源路径单元。在域名单元当中,分割模块402以“.”为界进行划分,将Hostname从右至左依次划分为顶级域名、二级域名、三极域名与注册域名,在顶级域名分为国家顶级域名和国际顶级域名,国家顶级域名如“.cn”,“.uk”,“.de”等,而国际顶级域名包括“.com”,“.net”,“.org”等。在两个“.”之间的内容为最小的域名段。在资源路径当中,分割模块402以“/”为界进行划分,两个“/”之间的内容为最小的资源路径段。
根据上述介绍可以知道,最小域名段和最小资源路径段是一个URL的基本组成单元,因此,分割模块402对URL中域名单元或者是资源路径单元中的任意一个进行分段处理之后,应当保证分段处理之后得到的各URL段至少是一个完整的最小组成单元,也就是说在各URL段当中至少包括URL中两个分隔符之间的完整内容。这里所说的两个分隔符可以是一个URL中的任意两个分隔符。
映射模块404根据预设映射规则将各URL段映射至一一对应的关键值。
可以理解的是,现在的网站繁多,网页页面更是不计其数,预先为所有的URL段设置好对应的关键值是不太现实的,特别是对于海量的资源路径,预先为每一个资源路径单元中的每一个URL段设置好关键值几乎是不可能实现的事。所以,为了解决这个问题,映射模块404可以采用一种预设的算法对各个URL段进行计算处理,将计算得到的结果作为URL段的关键值。在这种情况下,虽然在计算得出结果之前并没有为各个URL段配置好关键值,但是由于采用的算法是统一的,所以各个URL段根据这个固定的算法也会得到一一对应的关键值。
映射模块404通过预设算法来将UR段映射至关键值的做法最好能够保证不同的URL对应不同的关键值,这样才能保证在对URL进行后续的匹配的时候不会出现冲突的情况。哈希算法能够将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。如果散列一段明文而且哪怕只更改该段落的一个字母,随后的哈希都将产生不同的值。因此,在本实施例当中,映射模块404可以采用哈希算法来对URL段进行处理,将处理结果作为该URL段对应的关键值。
在对目标URL与访问URL进行分段处理与映射处理之后,就需要对这两类不同的URL进行分段处理,。本实施例还提供另一种URL匹配装置,请参考图5:
URL匹配装置40除了包括分割模块402、映射模块404、匹配模块406、获取模块408以外,还包括存储模块410,存储模块410用于将分段处理得到的各目标URL段及其对应的目标关键值根据预设匹配顺序逐级进行存储,以便在在后续过程中当用户输入的访问URL为该目标URL时,可以进行管理控制,预设匹配顺序可以由管理员来设置。
存储模块410的存储作用是针对目标URL,如果获取到的URL是目标URL,则在经过分割模块402的分段处理和映射模块404的映射处理之后,存储模块410可以将目标URL段和其对应的目标关键值进行存储,以便在在后续过程中确定用户输入的访问URL为该目标URL时,可以进行管理控制。
存储模块410在对目标URL段及其对应的目标关键值进行存储的时候,可以根据预设匹配顺序进行逐级存储,以便在后续的匹配过程中,也能够进行逐级匹配。为了提高匹配效率,通常的做法是先匹配域名单元中的各URL段再匹配资源路径单元中的各URL段;在对匹配域名单元中的URL段进行匹配时,按照从右至左的顺序进行,即先匹配顶级域名,再依次匹配二级域名、三级域名、注册域名。当对匹配资源路径单元中的各URL段进行匹配时,按照从左至右的顺序进行。因此,在存储的时候,可以将顶级域名的存储级别设置为最高,在顶级域名之下在存储二级域名,在二级域名之下依次是三级域名、注册域名,然后是资源路径单元中最左边的目标URL段,从最左边的目标URL段依次进行存储,直到存储完最右边的目标URL段。
在本实施例当中,存储模块410存储目标URL段的时候可以根据树形存储结构进行,根据预设匹配顺序对各目标URL段及其对应的目标关键值进行存储得到存储树,在前匹配的目标URL段作为在后匹配的目标URL段的父节点,在后匹配的目标URL段作为在前匹配的目标URL段的孩子节点。在这种存储方式当中,并没有将域名单元下的各目标URL段和资源路径单元下的各目标URL段进行区分,也就是说目标URL中的各个目标URL段都会存储在一个存储树中。但是如果需要管理控制的目标URL太多,在一棵存储树中同时存储域名单元和资源路径单元下的URL段的话,可能会导致一棵存储树过于庞大。
本实施例还为存储模块410提供另外一种存储目标URL段的方式:将目标URL中域名单元中的各目标URL段及其目标关键值根据树形存储结构进行存储得到对应的域名存储树;将目标URL中资源路径单元中的各目标URL段及其目标关键值根据树形存储结构进行存储得到对应的资源路径存储树;域名单元存储树的叶子节点指向资源路径单元存储树的根节点。也就是说,域名单元中的目标URL段和资源路径单元中的各目标UR段实际上是分成两个存储树进行存储的,二者之间依靠指针进行联系。
匹配模块406按照预设匹配顺序将分段处理得到的各访问URL段对应的各访问关键值与存储的各目标URL段对应的各目标关键值进行逐级匹配。
当获取到的URL是用户想要访问的页面所对应的URL,在对访问URL进行分段处理与映射处理之后,匹配模块406需要对得到的各个访问URL段与存储的目标URL段进行逐级匹配。逐级匹配的含义是指将一个访问URL段与其同一等级的各个目标URL段进行匹配,可以明白的是,这里匹配模块406匹配的应当是访问URL段的访问关键值与各个目标URL对应的关键值,当匹配成功之后,匹配模块406按照预设匹配顺序,选择该访问URL段之后的访问URL段与匹配成功的目标URL段的各子节点进行匹配,然后一直循环这个匹配过程,直至一个URL段中所有的访问URL段都匹配成功或者某一个访问URL段无法匹配到相应的目标URL并返回提示为止。
获取模块408用于在访问URL的各所述访问URL段均匹配到对应的目标URL段时,获取对访问URL的处理策略。
在确定需要对用户输入的访问URL进行管理控制之后获取模块408应当要获取到对该URL的具体处理策略,例如对该URL对应的页面进行屏蔽或者添加某一广告信息等。
本实施例提供的URL匹配装置40可以部署在服务器上,其中的分割模块402、映射模块404、匹配模块406和获取模块408都可以由服务器中的处理器来实现,而存储模块410则可以由处理器与存储器来配合实现。
本发明实施例提供的URL匹配装置,通过对目标URL和访问URL进行相同的分段处理和映射处理,从而实现以简单的值来表征复杂URL的效果,进而降低了匹配难度,提高了匹配效率,缩短了用户的等待时间,有利于用户体验的提升。另一方面,因为本实施例提出的匹配装置会对资源路径进行进一步的分段处理,所以能对那些域名单元正常,而资源路径中下存在不良信息的网页页面进行精细管理,使得管理更细化,更有效,更精准。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (11)
1.一种URL匹配方法,包括:
按照预设划分规则对获取的访问URL的域名单元与资源路径单元中的至少一个进行分段处理得到访问URL段,所述访问URL段中至少包括所述访问URL中两个分隔符之间的完整内容;
根据预设映射规则将各所述访问URL段映射至一一对应的访问关键值;
按照预设匹配顺序将各所述访问关键值与存储的各目标URL段对应的各目标关键值进行逐级匹配;
若所述访问URL的各所述访问URL段均匹配到对应的目标URL段,则所述访问URL需要被管理控制,获取对所述访问URL的处理策略。
2.如权利要求1所述的URL匹配方法,其特征在于,所述预设映射规则为:根据哈希算法对URL段进行处理,将处理结果作为所述URL段对应的关键值。
3.如权利要求1所述的URL匹配方法,其特征在于,在按照预设划分规则对目标URL的域名单元与资源路径单元中的至少一个进行分段处理之前还包括:确定所述目标URL的域名单元和资源路径单元中的至少一个中包括通配符。
4.如权利要求1所述的URL匹配方法,其特征在于,所述预设匹配顺序为:
先匹配域名单元中的各URL段再匹配资源路径单元中的各URL段;
当对匹配域名单元中的各URL段进行匹配时,按照从右至左的顺序进行;
当对匹配资源路径单元中的各URL段进行匹配时,按照从左至右的顺序进行。
5.如权利要求1-4任一项所述的URL匹配方法,其特征在于,所述按照预设匹配顺序将各所述访问关键值与存储的各目标URL段对应的各目标关键值进行逐级匹配之前还包括:
按照所述预设划分规则对获取的目标URL的域名单元与资源路径单元中的至少一个进行分段处理得到目标URL段;所述目标URL为需要被管理控制的URL;所述目标URL段中至少包括所述目标URL中两个分隔符之间的完整内容;
根据所述预设映射规则将各所述目标URL段映射至一一对应的目标关键值;
将分段处理得到的各目标URL段及其对应的目标关键值根据所述预设匹配顺序逐级进行存储,在前匹配的目标URL段及其目标关键值存储级别高。
6.如权利要求5所述的URL匹配方法,其特征在于,所述将分段处理得到的各目标URL段及其对应的目标关键值根据预设匹配顺序逐级进行存储包括:
根据树形存储结构对各目标URL段及其对应的目标关键值进行存储得到存储树,在前匹配的目标URL段作为在后匹配的目标URL段的父节点,在后匹配的目标URL段作为在前匹配的目标URL段的孩子节点。
7.如权利要求5所述的URL匹配方法,其特征在于,所述将分段处理得到的各目标URL段及其对应的目标关键值根据预设匹配顺序逐级进行存储包括:
将所述目标URL中域名单元中的各目标URL段及其目标关键值根据树形存储结构进行存储得到对应的域名存储树;
将所述目标URL中资源路径单元中的各目标URL段及其目标关键值根据树形存储结构进行存储得到对应的资源路径存储树;
所述域名单元存储树的叶子节点指向所述资源路径单元存储树的根节点。
8.一种URL匹配装置,其特征在于,包括:
分割模块,用于按照预设划分规则对获取的访问URL的域名单元与资源路径单元中的至少一个进行分段处理得到访问URL段,所述访问URL段中至少包括所述URL中两个分隔符之间的完整内容;
映射模块,用于根据预设映射规则将各所述访问URL段映射至一一对应的访问关键值;
匹配模块,用于按照预设匹配顺序将各所述访问关键值与存储的各目标URL段对应的各目标关键值进行逐级匹配;
获取模块,用于在所述访问URL的各所述访问URL段均匹配到对应的目标URL段,所述访问URL需要被管理控制时,获取对所述访问URL的处理策略。
9.如权利要求7所述的URL匹配装置,其特征在于,
所述分割模块还用于按照所述预设划分规则对获取的目标URL的域名单元与资源路径单元中的至少一个进行分段处理得到目标URL段;所述目标URL为需要被管理控制的URL;所述目标URL段中至少包括所述目标URL中两个分隔符之间的完整内容;
所述映射模块还用于根据所述预设映射规则将各所述目标URL段映射至一一对应的目标关键值;
所述URL匹配装置还包括:
存储模块,用于当获取的所述URL为目标URL时,将分段处理得到的各目标URL段及其对应的目标关键值根据预设匹配顺序逐级进行存储,在前匹配的URL段及其目标关键值存储级别高。
10.如权利要求9所述的URL匹配装置,其特征在于,所述存储模块用于:根据树形存储结构对各目标URL段及其对应的目标关键值进行存储得到存储树,在前匹配的目标URL段作为在后匹配的目标URL段的父节点,在后匹配的目标URL段作为在前匹配的目标URL段的孩子节点。
11.如权利要求9所述的URL匹配装置,其特征在于,所述存储模块用于:
将所述目标URL中域名单元中的各目标URL段及其目标关键值根据树形存储结构进行存储得到对应的域名存储树;
将所述目标URL中资源路径单元中的各目标URL段及其目标关键值根据树形存储结构进行存储得到对应的资源路径存储树;
所述域名单元存储树的叶子节点指向所述资源路径单元存储树的根节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610494455.2A CN107547671A (zh) | 2016-06-29 | 2016-06-29 | 一种url匹配方法及装置 |
PCT/CN2017/087815 WO2018001078A1 (zh) | 2016-06-29 | 2017-06-09 | 一种url匹配方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610494455.2A CN107547671A (zh) | 2016-06-29 | 2016-06-29 | 一种url匹配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107547671A true CN107547671A (zh) | 2018-01-05 |
Family
ID=60786210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610494455.2A Pending CN107547671A (zh) | 2016-06-29 | 2016-06-29 | 一种url匹配方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107547671A (zh) |
WO (1) | WO2018001078A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875086A (zh) * | 2018-07-18 | 2018-11-23 | 山东中创软件商用中间件股份有限公司 | 一种uri路径资源的匹配方法及系统 |
CN112416875A (zh) * | 2020-11-24 | 2021-02-26 | 平安消费金融有限公司 | 日志管理方法、装置、计算机设备及存储介质 |
CN112650955A (zh) * | 2020-12-30 | 2021-04-13 | 中国农业银行股份有限公司 | 一种统一资源定位符url的处理方法及装置 |
CN112804373A (zh) * | 2020-12-30 | 2021-05-14 | 微医云(杭州)控股有限公司 | 接口域名确定方法、装置、电子设备及存储介质 |
CN113312549A (zh) * | 2021-05-25 | 2021-08-27 | 北京天空卫士网络安全技术有限公司 | 一种域名处理方法和装置 |
CN113849373A (zh) * | 2021-09-27 | 2021-12-28 | 中国电信股份有限公司 | 服务器监管方法、装置以及存储介质 |
CN114006774A (zh) * | 2021-12-31 | 2022-02-01 | 北京微步在线科技有限公司 | 一种流量信息的检测方法、装置、电子设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858852B (zh) * | 2018-08-23 | 2022-05-10 | 北京国双科技有限公司 | 一种注册域名的获取方法及装置 |
CN110874443A (zh) * | 2018-08-31 | 2020-03-10 | 北京搜狗科技发展有限公司 | 一种url模式获取方法、装置、电子设备及可读存储介质 |
CN110874444B (zh) * | 2018-08-31 | 2023-10-31 | 北京搜狗科技发展有限公司 | 一种url转换模型的建立方法、装置及电子设备 |
CN113839940B (zh) * | 2021-09-18 | 2023-06-06 | 北京知道创宇信息技术股份有限公司 | 基于url模式树的防御方法、装置、电子设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093517A1 (en) * | 2001-10-31 | 2003-05-15 | Tarquini Richard P. | System and method for uniform resource locator filtering |
CN101605129A (zh) * | 2009-06-23 | 2009-12-16 | 北京理工大学 | 一种用于url过滤系统的url查找方法 |
CN102045360A (zh) * | 2010-12-27 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 恶意网址库的处理方法及装置 |
CN102110132A (zh) * | 2010-12-08 | 2011-06-29 | 北京星网锐捷网络技术有限公司 | 统一资源定位符匹配查找方法、装置和网络侧设备 |
US20120016655A1 (en) * | 2010-07-13 | 2012-01-19 | Enrique Travieso | Dynamic language translation of web site content |
-
2016
- 2016-06-29 CN CN201610494455.2A patent/CN107547671A/zh active Pending
-
2017
- 2017-06-09 WO PCT/CN2017/087815 patent/WO2018001078A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093517A1 (en) * | 2001-10-31 | 2003-05-15 | Tarquini Richard P. | System and method for uniform resource locator filtering |
CN101605129A (zh) * | 2009-06-23 | 2009-12-16 | 北京理工大学 | 一种用于url过滤系统的url查找方法 |
US20120016655A1 (en) * | 2010-07-13 | 2012-01-19 | Enrique Travieso | Dynamic language translation of web site content |
CN102110132A (zh) * | 2010-12-08 | 2011-06-29 | 北京星网锐捷网络技术有限公司 | 统一资源定位符匹配查找方法、装置和网络侧设备 |
CN102045360A (zh) * | 2010-12-27 | 2011-05-04 | 成都市华为赛门铁克科技有限公司 | 恶意网址库的处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
徐东亮: "高性能在线模式匹配算法研究", 《中国博士学位论文全文数据库》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108875086A (zh) * | 2018-07-18 | 2018-11-23 | 山东中创软件商用中间件股份有限公司 | 一种uri路径资源的匹配方法及系统 |
CN112416875A (zh) * | 2020-11-24 | 2021-02-26 | 平安消费金融有限公司 | 日志管理方法、装置、计算机设备及存储介质 |
CN112416875B (zh) * | 2020-11-24 | 2024-04-09 | 平安消费金融有限公司 | 日志管理方法、装置、计算机设备及存储介质 |
CN112650955A (zh) * | 2020-12-30 | 2021-04-13 | 中国农业银行股份有限公司 | 一种统一资源定位符url的处理方法及装置 |
CN112804373A (zh) * | 2020-12-30 | 2021-05-14 | 微医云(杭州)控股有限公司 | 接口域名确定方法、装置、电子设备及存储介质 |
CN112650955B (zh) * | 2020-12-30 | 2024-04-12 | 中国农业银行股份有限公司 | 一种统一资源定位符url的处理方法及装置 |
CN113312549A (zh) * | 2021-05-25 | 2021-08-27 | 北京天空卫士网络安全技术有限公司 | 一种域名处理方法和装置 |
CN113312549B (zh) * | 2021-05-25 | 2024-01-26 | 北京天空卫士网络安全技术有限公司 | 一种域名处理方法和装置 |
CN113849373A (zh) * | 2021-09-27 | 2021-12-28 | 中国电信股份有限公司 | 服务器监管方法、装置以及存储介质 |
CN113849373B (zh) * | 2021-09-27 | 2024-09-20 | 中国电信股份有限公司 | 服务器监管方法、装置以及存储介质 |
CN114006774A (zh) * | 2021-12-31 | 2022-02-01 | 北京微步在线科技有限公司 | 一种流量信息的检测方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2018001078A1 (zh) | 2018-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547671A (zh) | 一种url匹配方法及装置 | |
CN109218281B (zh) | 基于意图的网络安全策略修改 | |
CN103888490B (zh) | 一种全自动的web客户端人机识别的方法 | |
CN104982011B (zh) | 使用多尺度文本指纹的文档分类 | |
CN103559235B (zh) | 一种在线社交网络恶意网页检测识别方法 | |
CN107908694A (zh) | 互联网新闻的舆情聚类分析方法、应用服务器及计算机可读存储介质 | |
CN105634855B (zh) | 网络地址的异常识别方法及装置 | |
CN107071084A (zh) | 一种dns的评价方法和装置 | |
CN102857493A (zh) | 内容过滤方法和装置 | |
CN112165462A (zh) | 基于画像的攻击预测方法、装置、电子设备及存储介质 | |
CN102110132A (zh) | 统一资源定位符匹配查找方法、装置和网络侧设备 | |
CN103077250B (zh) | 一种网页内容抓取方法及装置 | |
CN103118035B (zh) | 分析网站访问请求参数合法范围的方法及装置 | |
CN112989348B (zh) | 攻击检测方法、模型训练方法、装置、服务器及存储介质 | |
CN105302815B (zh) | 网页的统一资源定位符url的过滤方法和装置 | |
Chen et al. | Ai@ ntiphish—machine learning mechanisms for cyber-phishing attack | |
CN104618132A (zh) | 一种应用程序识别规则生成方法和装置 | |
US20150113651A1 (en) | Spammer group extraction apparatus and method | |
CN106603734A (zh) | Cdn服务ip检测方法和系统 | |
CN112131507A (zh) | 网站内容处理方法、装置、服务器和计算机可读存储介质 | |
Las-Casas et al. | A big data architecture for security data and its application to phishing characterization | |
CN111061972B (zh) | 一种用于url路径匹配的ac查找优化方法和装置 | |
CN108876314B (zh) | 一种职业生涯专业能力可追溯方法及平台 | |
CN107193870A (zh) | 网页内容的提取方法和系统 | |
US10380200B2 (en) | Method and apparatus for enriching metadata via a network |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180105 |