资源请求的匹配方法和装置制造方法

文档序号:6498844阅读:183来源:国知局
资源请求的匹配方法和装置制造方法
【专利摘要】本发明公开了一种资源请求的匹配方法的装置。其中,资源请求的匹配方法包括:获取资源请求的特征;加载规则数据库中与资源请求的特征相对应的匹配规则,其中,规则数据库为浏览器中对匹配规则进行分类存储的数据库;以及利用加载的匹配规则对资源请求进行匹配。通过本发明,解决了现有技术中对资源请求进行匹配时处理效率低的问题,进而达到了提高资源请求匹配效率的效果。
【专利说明】资源请求的匹配方法和装置
【技术领域】
[0001]本发明涉及数据处理领域,具体而言,涉及一种资源请求的匹配方法和装置。
【背景技术】
[0002]浏览器是解析网页代码,并将其显示出来的工具。随着时代的发展,用户逐渐抛弃了单一 Trident内核的浏览器,转而选择速度更快,安全性更高的Webkit内核浏览器,所谓Trident内核就是IE浏览器所使用的内核,也是很多浏览器所使用的内核,通常被称为IE 内核。Trident 内核的常见浏览器有:IE6、IE7、IE8 (Trident4.0)、IE9 (Trident5.0)、IE10(Trident6.0);世界之窗、360安全浏览器、傲游;搜狗浏览器;腾讯TT ;阿云浏览器(早期版本)、百度浏览器(早期版本)、瑞星安全浏览器等;所谓WebKit内核是一个开源的浏览器引擎,是目前最火热的浏览器内核,常见的WebKit内核的浏览器有:Apple Safari (Win/Mac/iPhone/iPad)、Symbian手机浏览器、Android默认浏览器,Chrome浏览器等,猎豹浏览器是一款同时具备Trident内核和WebKit内核的双核浏览器。然后,由于网页兼容性的问题,现在的浏览器往往是需要两个内核共同存在的。此外,当今用户对浏览器也有了更多的功能需求,而这些功能是与浏览器对网页资源的处理紧密关联的,浏览器的任何功能对于网页资源的处理都是选择性的,即只处理与该功能预定规则相匹配的资源请求。因此,对浏览器资源请求的匹配处理也就成了浏览器程序中常见又必不可少的部分。现有技术在对请求网页资源的资源请求进行处理时,一般是通过一定的预定规则对资源请求进行匹配处理,具体匹配方式主要是字符串匹配方法,即,浏览器的主程序会将资源请求的资源地址字符串与预定规则中的各条规则字符串进行完整匹配,图1中示出了现有技术中对请求网络资源的资源请求进行规则匹配的流程,如图1所示,该匹配方法需要将浏览器的资源请求与匹配规则逐一比对,当规则中包含大量通配符或正则表达式时,处理效率极低;同时由于处理时需要加载所有匹配规则,因此资源占用较高。
[0003]针对现有技术中对资源请求进行匹配时处理效率低的问题,目前尚未提出有效的解决方案。

【发明内容】

[0004]本发明的主要目的在于提供一种资源请求的匹配方法和装置,以解决现有技术中对资源请求进行匹配时处理效率低的问题。
[0005]为了实现上述目的,根据本发明的一个方面,提供了一种资源请求的匹配方法,包括:获取资源请求的特征;加载规则数据库中与资源请求的特征相对应的匹配规则,其中,规则数据库为浏览器中对匹配规则进行分类存储的数据库;以及利用加载的匹配规则对资源请求进行匹配。
[0006]进一步地,对匹配规则进行分类存储包括:接收匹配规则;获取匹配规则的类型、作用域和关键词,其中,作用域为匹配规则可应用的加载网站的域名,加载网站为加载网页资源的网站;按照获取到的类型对匹配规则进行分类,并存储类型及匹配规则与类型的对应关系;按照获取到的作用域对匹配规则进行分类,并存储作用域及匹配规则与作用域的对应关系;以及按照获取到的关键词对匹配规则进行分类,并存储关键词及匹配规则与关键词的对应关系。
[0007]进一步地,通过以下方式获取匹配规则的关键词:读取表示匹配规则的字符串;在读取过程中每读取到一个第一字符,对表示匹配规则的字符串进行一次分割,得到多个分割字符串,其中,第一字符既不是字母字符也不是数字字符;统计每个分割字符串的字符量的多少;以及确定字符量最多的分割字符串为匹配规则的关键词。
[0008]进一步地,资源请求的特征包括发起资源请求的网站的域、资源请求对应的网页资源的类型和发起资源请求的网站的地址信息,其中,加载规则数据库中与资源请求的特征相对应的匹配规则包括采用以下加载方式中的至少一种进行加载:以资源请求对应的网页资源的类型作为索引词,并按照类型索引方式加载规则数据库中与资源请求对应的网页资源的类型相对应的匹配规则,其中,类型索引按照匹配规则的类型对匹配规则进行加载;以发起资源请求的网站的域作为索引词,并按照作用域索引方式加载规则数据库中与发起资源请求的网站的域相对应的匹配规则,其中,作用域索引按照匹配规则的作用域对匹配规则进行加载;以及以发起资源请求的网站的地址信息作为索引词,并按照关键词索引方式加载规则数据库中与发起资源请求的网站的地址信息相对应的匹配规则,其中,关键词索引按照匹配规则的关键词对匹配规则进行加载。
[0009]进一步地,以资源请求对应的网页资源的类型作为索引词,并按照类型索引方式加载规则数据库中与资源请求对应的网页资源的类型相对应的匹配规则包括:查找规则数据库以判断规则数据库中是否存储有第一类型,其中,第一类型与资源请求对应的网页资源的类型相同;以及若判断出规则数据库中存储有第一类型,则获取规则数据库中第一类型下的匹配规则的作用域,得到第一作用域,以发起资源请求的网站的域作为索引词,并按照作用域索引方式加载规则数据库中与发起资源请求的网站的域相对应的匹配规则包括:判断第一作用域中是否包括第一域,其中,第一域为发起资源请求的网站的域;以及若判断出第一作用域中包括第一域,则获取规则数据库中应用于第一域的匹配规则的关键词,得到第一关键词,以发起资源请求的网站的地址信息作为索引词,并按照关键词索引方式加载规则数据库中与发起资源请求的网站的地址信息相对应的匹配规则包括:判断第一字符串是否包括第一关键词,其中,第一字符串为表示地址信息的字符串;以及若判断出第一字符串中包括第一关键词,则加载规则数据库中包含第一关键词的匹配规则。
[0010]进一步地,在获取匹配规则的类型、作用域和关键词之前,匹配方法还包括:获取接收到的匹配规则的时间属性;获取规则数据库的时间属性;以及判断接收到的匹配规则的时间属性对应的时刻是否在规则数据库的时间属性对应的时刻之后,其中,若判断出接收到的匹配规则的时间属性对应的时刻在规则数据库的时间属性对应的时刻之后,则获取匹配规则的类型、作用域和关键词。
[0011]为了实现上述目的,根据本发明的另一方面,提供了一种资源请求的匹配装置,该匹配装置用于执行本发明上述内容所提供的任一种匹配方法。
[0012]为了实现上述目的,根据本发明的另一方面,提供了一种资源请求的匹配装置,包括:第一获取单元,用于获取资源请求的特征;加载单元,用于加载规则数据库中与资源请求的特征相对应的匹配规则,其中,规则数据库为浏览器中对匹配规则进行分类存储的数据库;以及匹配单元,用于利用加载的匹配规则对资源请求进行匹配。
[0013]进一步地,匹配装置还包括:接收单元,用于接收匹配规则;第二获取单元,用于获取匹配规则的类型、作用域和关键词,其中,作用域为匹配规则可应用的加载网站的域名,加载网站为加载网页资源的网站;第一处理单元,用于按照获取到的类型对匹配规则进行分类,并存储类型及匹配规则与类型的对应关系;第二处理单元,用于按照获取到的作用域对匹配规则进行分类,并存储作用域及匹配规则与作用域的对应关系;以及第三处理单元,用于按照获取到的关键词对匹配规则进行分类,并存储关键词及匹配规则与关键词的对应关系。
[0014]进一步地,第二获取单元包括:读取子单元,用于读取表示匹配规则的字符串;分割子单元,用于在读取过程中每读取到一个第一字符,对表示匹配规则的字符串进行一次分割,得到多个分割字符串,其中,第一字符既不是字母字符也不是数字字符;统计子单元,用于统计每个分割字符串的字符量的多少;以及确定子单元,用于确定字符量最多的分割字符串为匹配规则的关键词。
[0015]进一步地,资源请求的特征包括发起资源请求的网站的域、资源请求对应的网页资源的类型和发起资源请求的网站的地址信息,其中,加载单元包括:第一加载子单元,用于以资源请求对应的网页资源的类型作为索引词,并按照类型索引方式加载规则数据库中与资源请求对应的网页资源的类型相对应的匹配规则,其中,类型索引按照匹配规则的类型对匹配规则进行加载;第二加载子单元,用于以发起资源请求的网站的域作为索引词,并按照作用域索引方式加载规则数据库中与发起资源请求的网站的域相对应的匹配规则,其中,作用域索引按照匹配规则的作用域对匹配规则进行加载;以及第三加载子单元,用于以发起资源请求的网站的地址信息作为索引词,并按照关键词索引方式加载规则数据库中与发起资源请求的网站的地址信息相对应的匹配规则,其中,关键词索引按照匹配规则的关键词对匹配规则进行加载。
[0016]进一步地,第一加载单元包括:第一判断模块,用于查找规则数据库以判断规则数据库中是否存储有第一类型,其中,第一类型与资源请求对应的网页资源的类型相同;以及第一获取模块,用于在判断出规则数据库中存储有第一类型时,获取规则数据库中第一类型下的匹配规则的作用域,得到第一作用域,第二加载单元包括:第二判断模块,用于判断第一作用域中是否包括第一域,其中,第一域为发起资源请求的网站的域;以及第二获取模块,用于在判断出第一作用域中包括第一域时,获取规则数据库中应用于第一域的匹配规则的关键词,得到第一关键词,第三加载单元包括:第三判断模块,用于判断第一字符串是否包括第一关键词,其中,第一字符串为表示地址信息的字符串;以及加载模块,用于在判断出第一字符串中包括第一关键词时,加载规则数据库中包含第一关键词的匹配规则。
[0017]通过本发明,采用获取资源请求的特征;加载规则数据库中与资源请求的特征相对应的匹配规则,其中,规则数据库为浏览器中对匹配规则进行分类存储的数据库;以及利用加载的匹配规则对资源请求进行匹配。通过在对资源请求进行规则匹配时,获取规则库中与资源请求的特征相对应的规则,实现了减少对资源请求进行规则匹配的匹配次数,避免了依次将资源请求与规则库中所有规则进行匹配所造成的处理效率低,解决了现有技术中对资源请求进行匹配时处理效率低的问题,进而达到了提高资源请求匹配效率的效果。【专利附图】

【附图说明】
[0018]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0019]图1是根据相关技术对资源请求进行规则匹配的流程图;
[0020]图2是根据本发明实施例的匹配方法的流程图;
[0021]图3是根据本发明实施例进行匹配规则分类存储的流程图;
[0022]图4是采用本发明实施例的匹配方法对资源请求进行规则匹配的流程图;
[0023]图5是根据本发明实施例的匹配装置的示意图;
[0024]图6是本发明实施例的匹配装置中规则处理单元的示意图;以及
[0025]图7是本发明实施例的匹配装置中请求处理单元的示意图。
【具体实施方式】
[0026]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0027]本发明实施例提供了一种资源请求的匹配方法,以下对本发明实施例所提供的资源请求的匹配方法进行具体介绍:
[0028]图2是根据本发明实施例的匹配方法的流程图,如图2所示,该方法包括如下的步骤S201至步骤S203:
[0029]S201:获取资源请求的特征,具体地,当用户通过浏览器打开网页时,浏览器首先会产生资源请求,之后再通过对资源请求进行响应来得到与资源请求相对应的网页资源,其中,获取资源请求的特征主要是获取发起资源请求的网站的域、资源请求对应的网页资源的类型和发起资源请求的网站的地址信息。
[0030]S202:加载规则数据库中与资源请求的特征相对应的匹配规则,其中,规则数据库为浏览器中对匹配规则进行分类存储的数据库,即,加载规则数据库中与资源请求的特征具有对应关系的匹配规则。
[0031]S203:利用加载的匹配规则对资源请求进行匹配。具体地,可以采用现有技术任意一种对资源请求进行匹配处理的方法。
[0032]本发明实施例的匹配方法在对资源请求进行规则匹配时,通过在对资源请求进行规则匹配时,获取规则库中与资源请求的特征相对应的规则,实现了减少对资源请求进行规则匹配的匹配次数,避免了依次将资源请求与规则库中所有规则进行匹配所造成的处理效率低,解决了现有技术中对资源请求进行匹配时处理效率低的问题,进而达到了提高资源请求匹配效率的效果。
[0033]以步骤S203中采用字符串完整匹配方法、利用加载的匹配规则对资源请求进行匹配举例说明:
[0034]首先,分别获取表示资源请求的地址信息的字符串和表示加载的匹配规则的字符串,其中,表示资源请求的地址信息的字符串为发起资源请求的网站的URL地址所对应的字符串,表示加载的匹配规则的字符串为加载的匹配规则的编码字符串。其中,若步骤S202中加载的匹配规则包括多条匹配规则时,则对表示各条匹配规则的字符串均进行获取,得到多条字符串,一条字符串表示一条匹配规则。[0035]然后,判断表示资源请求的地址信息的字符串与表示加载的匹配规则的字符串是否相同,即,判断资源请求的URL地址字符串与表示加载的匹配规则的字符串是否相同,其中,若步骤S202中加载的匹配规则为多条规则的话,则将表示资源请求的地址信息的字符串与获取到的每一条字符串进行对比以判断是否相同。
[0036]最后,在判断出表示资源请求的地址信息的字符串与表示加载的匹配规则的字符串相同时,确定资源请求与浏览器的匹配规则相匹配。若步骤S202中加载的匹配规则包括多条匹配规则,则在将表示资源请求的地址信息的字符串与获取到的每一条字符串进行对比判断后,若判断出表示资源请求的地址信息的字符串与多条字符串中的任一字符串相同,则确定资源请求与浏览器的匹配规则相匹配。
[0037]本发明实施例中对匹配规则进行分类存储的具体处理方法在图3中示出,如图3所示:
[0038]首先,接收浏览器中的匹配规则,对接收到的匹配规则的类型、作用域和关键词进行获取,其中,所谓类型是指对匹配规则进行编码时程序预定的编码字符串的枚举类型,所谓作用域是指匹配规则需要在什么域名下生效,即,匹配规则可以应用的加载网站的域名即为该匹配规则的作用域,所谓加载网站是指对网页资源进行加载的网站,在本发明实施例中发起资源请求的网站即是一个加载网站;
[0039]然后,对匹配规则进行分类后存储,主要按照以下三种方式对匹配规则进行分类,方式一:按照获取到的枚举类型对匹配规则进行分类,并存储获取到的类型及匹配规则与类型的对应关系,即,将匹配规则中的各条规则对应存储在其归属的枚举类型下;方式二:按照获取到作用域对匹配规则进行分类,并存储获取到的作用域及匹配规则与作用域的对应关系,即,将匹配规则中的各条规则对应存储在其所应用的作用域下;方式三:按照获取到的关键词对匹配规则进行分类,并存储关键词及匹配规则与关键词的对应关系,即,将匹配规则中的各条规则对应存储在对应的关键词下。
[0040]其中,在本发明实施例中,将作用域分为两种,一种是指定域,一种是全域,其中,当加载网站为预先指定的一部分网站中的任一网站时,匹配规则A生效,则这部分预先指定网站的域名的集合即为匹配规则A的指定域;当加载网站无论为什么网站时,匹配规则B均生效,则所有网站的域名集合即为匹配规则B的全域,其中,在全域下生效的匹配规则为全域规则,在指定域下生效的匹配规则为指定域规则。本发明实施例的枚举类型包括enumHTML (html文档资源)、enumCSS (层叠样式表资源)、enumPicture (图像资源)、enumJS(脚本资源)、enumObject (嵌入对象资源)、enumXML (xml文档资源)、enumUndef (其他未定义类型);匹配规则的关键词可以为匹配规则编码字符串中的短字符串,即,通过对表示匹配规则的字符串进行分割来得到匹配规则的关键词,具体分割方法为:对表示匹配规则的字符串进行读取,在读取过程中每读取到一个第一字符,即对表示匹配规则的字符串进行一次分割,得到多个分割字符串,其中,所谓第一字符是指除字母字符和数字字符之外的字符;然后统计每个分割字符串中字符的个数多少;最后确定字符个数最多的分割字符串为匹配规则的关键词,其中,若多个分割字符串中有两个或两个以上的分割字符串的字符个数均为N,并且其它分割字符串的字符个数都小于N,即,分割字符串中字符个数最多的分割字符串为多个,则确定任意一个字符个数为N的字符串为匹配规则的关键词。举例说明,表示某条匹配规则的字符串为“abcde-fghi j.klmnop.com/qrstuvw.html”,则确定"qrstuvw"为该条匹配规则的关键词。
[0041]进一步地,本发明实施例中从规则数据库中加载与资源请求的特征相对应的匹配规则包括按照以下方式中的至少一种或者两种以两种以上结合的方式进行加载:
[0042]方式一:以资源请求对应的网页资源的类型作为索引词,并按照类型索引方式加载规则数据库中与资源请求对应的网页资源的类型相对应的匹配规则,其中,类型索引按照匹配规则的类型对匹配规则进行加载,即,按照资源请求对应的网页资源的类型从规则数据库中加载与该类型相同的类型下的匹配规则,达到了避免加载与资源请求对应的网页资源的类型不相同的匹配规则,减少了匹配规则的加载量。
[0043]方式二:以发起资源请求的网站的域作为索引词,并按照作用域索引方式加载规则数据库中与发起资源请求的网站的域相对应的匹配规则,其中,作用域索引按照匹配规则的作用域对匹配规则进行加载,即,按照发起资源请求的网站的域从规则数据库中加载应用到该域下的匹配规则,达到了避免加载无法应用到发起资源请求的网站的域下的匹配规则,减少了匹配规则的加载量。
[0044]方式三:以发起资源请求的网站的地址信息作为索引词,并按照关键词索引方式加载规则数据库中与发起资源请求的网站的地址信息相对应的匹配规则,其中,关键词索引按照匹配规则的关键词对匹配规则进行加载,即,按照地址信息进行加载,与发起资源请求的网站的地址信息相对应的匹配规则满足:表示地址信息的字符串中具有加载的匹配规则的关键词,该加载方式同样达到了减少匹配规则的加载量。
[0045]优选地,在本发明实施例中可以将上述三种加载方式结合使用,具体地,按照以下加载步骤进行:
[0046]首先,对规则数据库进行查找以判断规则数据库中是否存储有第一类型,其中,第一类型与资源请求对应的网页资源的类型相同,若能够从规则数据库中查找到第一类型,则说明判断出规则数据库中存储有归属于第一类型的匹配规则,在该情况下,对规则数据库中第一类型下的匹配规则的作用域进行获取,得到第一作用域;
[0047]然后,判断第一作用域中是否包括第一域,其中,第一域为发起资源请求的网站的域,若判断出第一作用域中包括第一域,则对规则数据库中应用于第一域的匹配规则的关键词进行获取,得到第一关键词;
[0048]最后,判断第一字符串是否包括第一关键词,其中,第一字符串为表示地址信息的字符串,若判断出第一字符串中包括第一关键词,则对规则数据库中包含第一关键词的匹配规则进行加载,即,提取出第一关键词对应的所有的完整规则进行加载。进一步地,若应用于第一域的匹配规则有多条的话,则获取到的关键词可为多个,即,第一关键词包括多个关键词,对于此种情况则判断第一字符串中是否包括多个关键词中的任一关键词,若判断出第一字符串中包括多个关键词中的任一关键词,则确定第一字符串中包括第一关键词,假设第一字符串中包括的那个关键词为关键词K,则从规则数据库中提取出关键词K对应的所有的完整规则进行加载。
[0049]通过依次采用资源请求对应的网页资源的类型、发起所述资源请求的网站的域和发起资源请求的网站的地址信息作为索引词,对规则数据库中的匹配规则进行依次筛选,最后加载同时满足以上条件的匹配规则,实现了进一步减少匹配规则的加载量,以在后续将匹配规则与资源请求进行匹配时,采用更少量的匹配规则进行匹配,进一步地提高匹配效率。
[0050]需要说明的是,在本发明实施例中,采用“第一类型”这样的描述语言,只是为了将资源请求对应的网页资源的类型与其它类型进行区分,并非是对网页资源的类型的次序做限定。采用“第一作用域”、“第一关键词”这样的描述语言的理由与上述说明类似。
[0051]通过以上描述可以看出,本发明实施例的资源请求的匹配方法主要分为两部分,一部分是对浏览器中的各功能所使用的匹配规则进行处理,另一部分是利用处理后的匹配规则对资源请求进行匹配处理,这两部分流程分别在不同阶段独立进行,互不影响,其中,对匹配规则的分类处理在资源请求的匹配处理之前进行。本发明实施例通过对匹配规则进行了特定的分类处理(按照类型、作用域等特性进行了划分),在对某项资源请求进行匹配时,每次只需加载部分特定的匹配规则即可;按照本发明实施例的处理流程(在图4中示出),无论匹配规则总数量的多少,每项资源请求在没有重复匹配规则的情况下只需进行2-4次比对,即可完成完整的匹配过程,减少了匹配次数;传统的单一固定地将浏览器的资源请求与字符串规则进行一一比对的匹配流程,每项资源请求所需要的比对次数基本等同于规则的总数量;二者相比,本发明实施例的匹配方法明显提高了匹配效率。[0052]更进一步地,在接收到匹配规则之后,并且在获取匹配规则的类型、作用域和关键词之前,本发明实施例的匹配方法还包括对匹配规则是否发生修改的判断,此处举例说明一种判断匹配规则是否发生修改的方法:首先,对接收到的匹配规则的时间属性进行获取,并对规则数据库的时间属性进行获取;然后,对比判断接收到的匹配规则的时间属性对应的时刻是否在规则数据库的时间属性对应的时刻之后,若前者在后者之后,则说明在前一次对匹配规则进行分类存储到规则数据库后,匹配规则发生了修改,在这种情况下需对匹配规则再次进行分类存储;若前者不在后者之后,则说明在前一次对匹配规则进行分类存储到规则数据库后,匹配规则没有发生修改,在这种情况下无需对匹配规则进行再次分类存储。
[0053]其中,本发明实施例的匹配方法中在对资源请求对应的网页资源的类型进行确定是可以采用以下方法进行:先对产生资源请求的内核类型进行获取并判断产生资源请求的内核类型是Webkit内核还是Trident内核。对于浏览器内核为Webkit内核的情况,浏览器通过Webkit内核产生资源请求时,会在封装层做出修改,使其在请求资源时通过ResourceDispatcherHostlmpl:: OnRequestResource> ResourceDispatcherHostImpl::BeginRequest等函数回调给处理函数,由于Webkit内核在内部预定义了 ResourceType,所以对于Webkit内核浏览器所产生的资源请求对应的资源类型可以直接获取得到;而对于浏览器内核为Trident内核的情况,对该浏览器内核所产生的资源请求对应的网页资源的确定,可以通过程序注册“异步可插协议”(Asynchronous Pluggable Protocol),使该内核请求的所有资源经由 COInetProt::StartEx> ClnternetProtocolFiIter::Start 等函数回调给程序,以此获得所有资源请求的地址信息,并通过对该地址信息的扩展名信息进行分类得到请求的网页资源的类型。
[0054]本发明实施例还提供了一种资源请求的匹配装置,以下对本发明实施例所提供的资源请求的匹配这种进行具体介绍:
[0055]图5是根据本发明实施例的匹配装置的示意图,如图5所示,该实施例的匹配装置包括第一获取单元10、加载单元20和匹配单元30。[0056]具体地,第一获取单元10用于获取资源请求的特征,具体地,当用户通过浏览器打开网页时,浏览器首先会产生资源请求,之后再通过对资源请求进行响应来得到与资源请求相对应的网页资源,其中,获取资源请求的特征主要是获取发起资源请求的网站的域、资源请求对应的网页资源的类型和发起资源请求的网站的地址信息。
[0057]加载单元20用于加载规则数据库中与资源请求的特征相对应的匹配规则,其中,规则数据库为浏览器中对匹配规则进行分类存储的数据库,即,加载规则数据库中与资源请求的特征具有对应关系的匹配规则。
[0058]匹配单元30用于利用加载的匹配规则对资源请求进行匹配。具体地,可以采用现有技术任意一种对资源请求进行匹配处理的方法。
[0059]本发明实施例的匹配装置在对资源请求进行规则匹配时,通过在对资源请求进行规则匹配时,获取规则库中与资源请求的特征相对应的规则,实现了减少对资源请求进行规则匹配的匹配次数,避免了依次将资源请求与规则库中所有规则进行匹配所造成的处理效率低,解决了现有技术中对资源请求进行匹配时处理效率低的问题,进而达到了提高资源请求匹配效率的效果。
[0060]匹配单元30利用加载的匹配规则对资源请求进行匹配的匹配方法为:
[0061]首先,分别获取表示资源请求的地址信息的字符串和表示加载的匹配规则的字符串,其中,表示资源请求的地址信息的字符串为发起资源请求的网站的URL地址所对应的字符串,表示加载的匹配规则的字符串为加载的匹配规则的编码字符串。其中,若加载单元20中加载的匹配规则包括多条匹配规则时,则对表示各条匹配规则的字符串均进行获取,得到多条字符串,一条字符串表示一条匹配规则。
[0062]然后,判断表示资源请求的地址信息的字符串与表示加载的匹配规则的字符串是否相同,即,判断资源请求的URL地址字符串与表示加载的匹配规则的字符串是否相同,其中,若加载单元20中加载的匹配规则为多条规则的话,则将表示资源请求的地址信息的字符串与获取到的每一条字符串进行对比以判断是否相同。
[0063]最后,若判断出表示资源请求的地址信息的字符串与表示加载的匹配规则的字符串相同,则确定资源请求与浏览器的匹配规则相匹配。若加载单元20中加载的匹配规则包括多条匹配规则,则在将表示资源请求的地址信息的字符串与获取到的每一条字符串进行对比判断后,若判断出表示资源请求的地址信息的字符串与多条字符串中的任一字符串相同,则确定资源请求与浏览器的匹配规则相匹配。
[0064]本发明实施例中在对匹配规则进行分类存储时,可以采用匹配装置中的规则处理单元进行处理,其中,规则处理单元的示意图在图6中示出,如图6所示,规则处理单元包括原始规则读取单元、索引单元和快表输出单元,其中,原始规则读取单元(即,接收单元)用于用浏览器中的匹配规则进行读取,索引单元用于对匹配规则进行处理,快表输出单元是对索引单元的输出结果进行存储的单元,也即是规则数据库。其中,索引单元主要通过第二获取单元以及第一至第三处理单元对匹配规则进行处理:
[0065]具体地,第二获取单元用于获取匹配规则的类型、作用域和关键词,其中,所谓类型是指对匹配规则进行编码时程序预定的编码字符串的枚举类型,所谓作用域是指匹配规则需要在什么域名下生效,即,匹配规则可以应用的加载网站的域名即为该匹配规则的作用域,所谓加载网站是指对网页资源进行加载的网站,在本发明实施例中发起资源请求的网站即是一个加载网站;第一处理单元用于按照获取到的枚举类型对匹配规则进行分类,并存储获取到的类型及匹配规则与类型的对应关系,即,将匹配规则中的各条规则对应存储在其归属的枚举类型下;第二处理单元用于按照获取到作用域对匹配规则进行分类,并存储获取到的作用域及匹配规则与作用域的对应关系,即,将匹配规则中的各条规则对应存储在其所应用的作用域下;第三处理单元用于按照获取到的关键词对匹配规则进行分类,并存储关键词及匹配规则与关键词的对应关系,即,将匹配规则中的各条规则对应存储在对应的关键词下。其中,第二获取单元通过读取子单元对表示匹配规则的字符串进行读取,在读取过程中每读取到一个第一字符,即由分割子单元对表示匹配规则的字符串进行一次分割,得到多个分割字符串,其中,所谓第一字符是指除字母字符和数字字符之外的字符;然后由统计子单元统计每个分割字符串中字符的个数多少;最后由确定子单元确定字符个数最多的分割字符串为匹配规则的关键词。
[0066]本发明实施例中在对匹配规则进行加载时,可以采用匹配装置中的请求处理单元进行处理,其中,请求处理单元的示意图在图7中示出,如图7所示,请求处理单元包括类型匹配单元、作用域匹配单元和关键词匹配单元。
[0067]其中,类型匹配单元也称作第一加载子单元,主要用于以资源请求对应的网页资源的类型作为索引词,并按照类型索引方式加载规则数据库中与资源请求请求的网页资源的类型相对应的匹配规则,其中,类型索引按照匹配规则的类型对匹配规则进行加载,即,按照资源请求对应的网页资源的类型从规则数据库中加载与该类型相同的类型下的匹配规则,达到了避免加载与资源请求对应的网页资源的类型不相同的匹配规则,减少了匹配规则的加载量。
[0068]作用域匹配单元也称作第二加载子单元,主要用于以发起资源请求的网站的域作为索引词,并按照作用域索引方式加载规则数据库中与发起资源请求的网站的域相对应的匹配规则,其中,作用域索引按照匹配规则的作用域对匹配规则进行加载,即,按照发起资源请求的网站的域从规则数据库中加载应用到该域下的匹配规则,达到了避免加载无法应用到发起资源请求的网站的域下的匹配规则,减少了匹配规则的加载量。
[0069]关键词匹配单元也称作第三加载子单元,主要用于以发起资源请求的网站的地址信息作为索引词,并按照关键词索引方式加载规则数据库中与发起资源请求的网站的地址信息相对应的匹配规则,其中,关键词索引按照匹配规则的关键词对匹配规则进行加载,即,按照地址信息进行加载,与发起资源请求的网站的地址信息相对应的匹配规则满足:表示地址信息的字符串中具有加载的匹配规则的关键词,该加载方式同样达到了减少匹配规则的加载量。
[0070]进一步地,本发明实施例中的类型匹配单元、作用域匹配单元和关键词匹配单元可以结合起来进行匹配规则的加载,具体地,由第一加载子单元中的第一判断模块用于按照资源请求对应的网页资源的类型(以下称作第一类型)从规则数据库中查找是否存储有与第一类型,若查找判断出规则数据库中存储有第一类型,则则说明判断出规则数据库中存储有归属于第一类型的匹配规则,此时,由第一加载子单元中的第一获取模块对规则数据库中第一类型下的匹配规则的作用域进行获取,得到第一作用域;然后由第二加载子单元中的第二判断模块查找判断第一作用域中是否包括第一域,其中,第一域为发起资源请求的网站的域,若判断出第一作用域中包括第一域,则由第二加载子单元中的第二获取模块对规则数据库中应用于第一域的匹配规则的关键词进行获取,得到第一关键词;最后,由第三加载子单元中的第三判断模块判断第一字符串是否包括第一关键词,其中,第一字符串为表示地址信息的字符串,若判断出第一字符串中包括第一关键词,则由第三加载子单元中的加载模块对规则数据库中包含第一关键词的匹配规则进行加载,即,提取出第一关键词对应的所有的完整规则进行加载。
[0071]通过依次采用类型匹配单元、作用域匹配单元和关键词匹配单元对规则数据库中的匹配规则进行依次筛选,最后加载同时满足以上条件的匹配规则,实现了进一步减少匹配规则的加载量,以在后续将匹配规则与资源请求进行匹配时,采用更少量的匹配规则进行匹配,进一步地提高匹配效率。
[0072]从以上的描述中,可以看出,本发明实现了极大的减少每项资源请求的匹配次数,提升匹配速度;同时由于原始匹配规则处理与资源匹配处理过程分开独立进行,且在资源匹配过程中每次需要加载的匹配规则大大减少,因此在匹配过程中,程序的资源占用也大幅度的降低。使用本发明的方法,尤其是在浏览器处理大量资源匹配请求时,可极大的提高程序处理速度,降低程序CPU (Central Processing Unit,中央处理器)及内存资源占用。
[0073]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0074]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0075]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种资源请求的匹配方法,其特征在于,包括: 获取资源请求的特征; 加载规则数据库中与所述资源请求的特征相对应的匹配规则,其中,所述规则数据库为浏览器中对匹配规则进行分类存储的数据库;以及利用加载的匹配规则对所述资源请求进行匹配。
2.根据权利要求1所述的匹配方法,其特征在于,对匹配规则进行分类存储包括: 接收所述匹配规则; 获取所述匹配规则的类型、作用域和关键词,其中,所述作用域为所述匹配规则可应用的加载网站的域名,所述加载网站为加载网页资源的网站; 按照获取到的类型对所述匹配规则进行分类,并存储所述类型及所述匹配规则与所述类型的对应关系; 按照获取到的作用域对所述匹配规则进行分类,并存储所述作用域及所述匹配规则与所述作用域的对应关系 ;以及 按照获取到的关键词对所述匹配规则进行分类,并存储所述关键词及所述匹配规则与所述关键词的对应关系。
3.根据权利要求2所述的匹配方法,其特征在于,通过以下方式获取所述匹配规则的关键词: 读取表示所述匹配规则的字符串; 在读取过程中每读取到一个第一字符,对表示所述匹配规则的字符串进行一次分割,得到多个分割字符串,其中,所述第一字符既不是字母字符也不是数字字符; 统计每个分割字符串的字符量的多少;以及 确定字符量最多的分割字符串为所述匹配规则的关键词。
4.根据权利要求2所述的匹配方法,其特征在于,所述资源请求的特征包括发起所述资源请求的网站的域、所述资源请求对应的网页资源的类型和发起所述资源请求的网站的地址信息,其中,加载规则数据库中与所述资源请求的特征相对应的匹配规则包括采用以下加载方式中的至少一种进行加载: 以所述资源请求对应的网页资源的类型作为索引词,并按照类型索引方式加载所述规则数据库中与所述资源请求对应的网页资源的类型相对应的匹配规则,其中,所述类型索引按照所述匹配规则的类型对所述匹配规则进行加载; 以发起所述资源请求的网站的域作为索引词,并按照作用域索引方式加载所述规则数据库中与发起所述资源请求的网站的域相对应的匹配规则,其中,所述作用域索引按照所述匹配规则的作用域对所述匹配规则进行加载;以及 以发起所述资源请求的网站的地址信息作为索引词,并按照关键词索引方式加载所述规则数据库中与发起所述资源请求的网站的地址信息相对应的匹配规则,其中,所述关键词索引按照所述匹配规则的关键词对所述匹配规则进行加载。
5.根据权利要求4所述的匹配方法,其特征在于, 以所述资源请求对应的网页资源的类型作为索引词,并按照类型索引方式加载所述规则数据库中与所述资源请求对应的网页资源的类型相对应的匹配规则包括: 查找所述规则数据库以判断所述规则数据库中是否存储有第一类型,其中,所述第一类型与所述资源请求对应的网页资源的类型相同;以及 若判断出所述规则数据库中存储有所述第一类型,则获取所述规则数据库中所述第一类型下的匹配规则的作用域,得到第一作用域, 以发起所述资源请求的网站的域作为索引词,并按照作用域索引方式加载所述规则数据库中与发起所述资源请求的网站的域相对应的匹配规则包括: 判断所述第一作用域中是否包括第一域,其中,所述第一域为发起所述资源请求的网站的域;以及 若判断出所述第一作用域中包括所述第一域,则获取所述规则数据库中应用于所述第一域的匹配规则的关键词,得到第一关键词, 以发起所述资源请求的网站的地址信息作为索引词,并按照关键词索引方式加载所述规则数据库中与发起所述资源请求的网站的地址信息相对应的匹配规则包括: 判断第一字符串是否包括所述第一关键词,其中,所述第一字符串为表示所述地址信息的字符串;以及 若判断出所述第一字符串中包括所述第一关键词,则加载所述规则数据库中包含所述第一关键词的匹配规则。
6.根据权利要求2所述的匹配方法,其特征在于,在获取所述匹配规则的类型、作用域和关键词之前,所述匹配方法还包括: 获取接收到的所述匹配规则的时间属性; 获取所述规则数据库的时间属性;以及 判断接收到的所述匹配规则的时间属性对应的时刻是否在所述规则数据库的时间属性对应的时刻之后, 其中,若判断出接收到的所述匹配规则的时间属性对应的时刻在所述规则数据库的时间属性对应的时刻之后,则获取所述匹配规则的类型、作用域和关键词。
7.一种资源请求的匹配装置,其特征在于,包括: 第一获取单元,用于获取资源请求的特征; 加载单元,用于加载规则数据库中与所述资源请求的特征相对应的匹配规则,其中,所述规则数据库为浏览器中对匹配规则进行分类存储的数据库;以及匹配单元,用于利用加载的匹配规则对所述资源请求进行匹配。
8.根据权利要求7所述的匹配装置,其特征在于,所述匹配装置还包括: 接收单元,用于接收所述匹配规则; 第二获取单元,用于获取所述匹配规则的类型、作用域和关键词,其中,所述作用域为所述匹配规则可应用的加载网站的域名,所述加载网站为加载网页资源的网站; 第一处理单元,用于按照获取到的类型对所述匹配规则进行分类,并存储所述类型及所述匹配规则与所述类型的对应关系; 第二处理单元,用于按照获取到的作用域对所述匹配规则进行分类,并存储所述作用域及所述匹配规则与所述作用域的对应关系;以及 第三处理单元,用于按照获取到的关键词对所述匹配规则进行分类,并存储所述关键词及所述匹配规则与所述关键词的对应关系。
9.根据权利要求8所述的匹配装置,其特征在于,所述第二获取单元包括:读取子单元,用于读取表示所述匹配规则的字符串; 分割子单元,用于在读取过程中每读取到一个第一字符,对表示所述匹配规则的字符串进行一次分割,得到多个分割字符串,其中,所述第一字符既不是字母字符也不是数字字符; 统计子单元,用于统计每个分割字符串的字符量的多少;以及 确定子单元,用于确定字符量最多的分割字符串为所述匹配规则的关键词。
10.根据权利要求8所述的匹配装置,其特征在于,所述资源请求的特征包括发起所述资源请求的网站的域、所述资源请求对应的网页资源的类型和发起所述资源请求的网站的地址信息,其中,所述加载单元包括: 第一加载子单元,用于以所述资源请求对应的网页资源的类型作为索引词,并按照类型索引方式加载所述规则数据库中与所述资源请求对应的网页资源的类型相对应的匹配规则,其中,所述类型索引按照所述匹配规则的类型对所述匹配规则进行加载; 第二加载子单元,用于以发起所述资源请求的网站的域作为索引词,并按照作用域索引方式加载所述规则数据库中与发起所述资源请求的网站的域相对应的匹配规则,其中,所述作用域索引按照所述匹配规则的作用域对所述匹配规则进行加载;以及 第三加载子单元,用于以发起所述资源请求的网站的地址信息作为索引词,并按照关键词索引方式加载所述规则数据库中与发起所述资源请求的网站的地址信息相对应的匹配规则,其中,所述关键词索引按照所述匹配规则的关键词对所述匹配规则进行加载。
11.根据权利要求10所述的匹配装置,其特征在于, 所述第一加载单元包括: 第一判断模块,用于查找所述规则数据库以判断所述规则数据库中是否存储有第一类型,其中,所述第一类型与所述资源请求对应的网页资源的类型相同;以及 第一获取模块,用于在判断出所述规则数据库中存储有所述第一类型时,获取所述规则数据库中所述第一类型下的匹配规则的作用域,得到第一作用域, 所述第二加载单元包括: 第二判断模块,用于判断所述第一作用域中是否包括第一域,其中,所述第一域为发起所述资源请求的网站的域;以及 第二获取模块,用于在判断出所述第一作用域中包括所述第一域时,获取所述规则数据库中应用于所述第一域的匹配规则的关键词,得到第一关键词, 所述第三加载单元包括: 第三判断模块,用于判断第一字符串是否包括所述第一关键词,其中,所述第一字符串为表示所述地址信息的字符串;以及 加载模块,用于在判断出所述第一字符串中包括所述第一关键词时,加载所述规则数据库中包含所述第一关键词的匹配规则。
【文档编号】G06F17/30GK103914479SQ201310004211
【公开日】2014年7月9日 申请日期:2013年1月6日 优先权日:2013年1月6日
【发明者】杨振辉, 丁川达, 张天毅, 徐鸣 申请人:北京金山安全软件有限公司, 北京金山网络科技有限公司, 贝壳网际(北京)安全技术有限公司, 可牛网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1