CN102253991A - Url存储方法、网页过滤方法、装置及*** - Google Patents

Url存储方法、网页过滤方法、装置及*** Download PDF

Info

Publication number
CN102253991A
CN102253991A CN2011101879629A CN201110187962A CN102253991A CN 102253991 A CN102253991 A CN 102253991A CN 2011101879629 A CN2011101879629 A CN 2011101879629A CN 201110187962 A CN201110187962 A CN 201110187962A CN 102253991 A CN102253991 A CN 102253991A
Authority
CN
China
Prior art keywords
url
bloom filter
deletion
gateway equipment
memory device
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.)
Granted
Application number
CN2011101879629A
Other languages
English (en)
Other versions
CN102253991B (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.)
Beijing Star Net Ruijie Networks Co Ltd
Ruijie Networks Co Ltd
Original Assignee
Beijing Star Net Ruijie Networks Co Ltd
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 Beijing Star Net Ruijie Networks Co Ltd filed Critical Beijing Star Net Ruijie Networks Co Ltd
Priority to CN201110187962.9A priority Critical patent/CN102253991B/zh
Publication of CN102253991A publication Critical patent/CN102253991A/zh
Application granted granted Critical
Publication of CN102253991B publication Critical patent/CN102253991B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明提供URL存储方法、网页过滤方法、装置及***。该URL存储方法,包括:步骤S11,根据预定分类规则对URL进行分类;步骤S12,分别生成用于存储各类型URL的布隆过滤器;步骤S13,根据各URL的类型,将所述URL存储在对应的所述布隆过滤器中。本发明提供的URL存储方法、网页过滤方法、装置及***能够在执行网页过滤时提供高效率的URL查询,从而提高网络性能。

Description

URL存储方法、网页过滤方法、装置及***
技术领域
本发明涉及通信技术领域,尤其涉及URL存储方法、网页过滤方法、装置及***。
背景技术
随着网络技术和资源的发展,网络所承载的业务和功能愈加多样化,企业内部为了提高安全性及对员工的网络访问进行限制,通常在企业网络出口部署统一资源定位符(URL)过滤网关。其中,URL是用于完整描述因特网(Internet)上网页和其他资源的地址的一种标识方法,Internet上的每一个网页都具有一个唯一对应的URL地址,该URL地址可以是本地磁盘、局域网上的某一台计算机也可以是Internet上的站点,URL地址即为通常所称的网址。该URL过滤网关能对用户所访问的URL进行审计,判断其是否合法,并当判断结果为不合法时阻止该访问。
URL过滤网关判断用户访问的URL是否合法需基于一个URL库,即URL过滤网关获取用户访问的URL后,查询URL库中的URL字段以匹配命中与该URL相对应的记录,并进一步查询该URL字段所对应的分类字段,获知该URL所对应的分类为合法访问或非法访问,从而进行相应处理。由于URL过滤网关为出口网关,所以当用户数多时,大量的URL查询将极大地影响网络性能。
发明内容
本发明提供一种URL存储方法、网页过滤方法、装置及***,能够在执行网页过滤时提供高效率的URL查询,从而提高网络性能。
本发明提供一种URL存储方法,包括:
步骤S11,根据预定分类规则对URL进行分类;
步骤S12,分别生成用于存储各类型URL的布隆过滤器;
步骤S13,根据各URL的类型,将所述URL存储在对应的所述布隆过滤器中。
根据本发明的另一方面,还提供一种URL存储设备,包括:
分类模块,用于根据预定分类规则对URL进行分类;
生成模块,用于分别生成用于存储各类型URL的布隆过滤器;
存储模块,用于根据各URL的类型,将所述URL存储在对应的所述布隆过滤器中。
根据本发明的又一方面,还提供一种网页过滤方法,包括:
步骤S21,过滤网关设备从本发明提供的URL存储设备获取分类存储有URL的布隆过滤器;
步骤S22,所述过滤网关设备根据所述布隆过滤器中存储的URL和所述URL的类型对网页进行过滤。
根据本发明的又一方面,还提供一种过滤网关设备,其特征在于,包括:
获取模块,用于从URL存储设备获取分类存储有URL的布隆过滤器;
过滤模块,用于根据所述布隆过滤器中存储的URL和所述URL的类型对网页进行过滤。
根据本发明的再一方面,还提供一种网页过滤***,包括本发明提供的URL存储设备和本发明提供的过滤网关设备。
根据本发明的URL存储方法、网页过滤方法、装置及***,通过创建对应于各类URL的布隆过滤器,并将URL按类型存储在对应的布隆过滤器中,所以当过滤网关设备获取存储有URL的布隆过滤器后、对用户访问的URL进行审计时,无需针对每个待审计的URL均遍历内存数量庞大的URL库,极大地提高了查询效率,因此即使同时有大量用户发起网络访问,也能够确保网络的性能。而且,还节约了大量存储空间。此外,采用还能够在无需进行额外加密的情况下实现对URL的高度保密。
附图说明
图1为利用URL进行网页过滤的***架构图。
图2为本发明URL存储方法的流程示意图。
图3为本发明URL存储设备的结构示意图。
图4为本发明网页过滤方法的流程示意图。
图5为本发明过滤网关设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的技术方案进行清楚、完整地描述。
图1为利用URL进行网页过滤的***架构图。如图1所示,包括用于生成URL库的URL服务器和通过Internet从URL服务器获取URL库以执行网页过滤的过滤网关设备。下述实施例的URL存储方法为URL服务器所执行的操作。
图2为本发明URL存储方法的流程示意图。如图2所示,该URL存储方法包括以下步骤:
步骤S11,根据预定分类规则对URL进行分类;
具体地,所划分的URL类型例如包括合法访问、非法访问等。在此步骤中,设定类型后,将全部的类型名存储在一个管理文件中,并根据用户需求将URL库中的全部URL按照设定的类型进行划分。
步骤S12,分别生成用于存储各类型URL的布隆过滤器;
上述步骤可具体包括:
步骤S121,统计各类型URL的数量;
步骤S122,根据所述URL的数量和各URL所占用的字节数,申请内存空间;
步骤S123,根据所述URL的数量和设定的最高假通过率确定所述布隆过滤器的散列函数。
其中,布隆过滤器于一九七零年由巴顿布隆提出,其原理如下:一个布隆过滤器由k个相互独立的散列函数h1,h2,......,hk和一个长度为m的位向量组成,其中,每个散列函数的值域均为{0,1,......,m-1},又因为一个字节有8个比特位,因此位向量实际占有的内存空间为m/8个字节,位向量的所有的位均初始化为0。集合S={s1,s2,......,sn},用k个散列函数对集合S中的每一个元素计算一个散列序列(h1(s),h2(s),......,hk(s)),然后将位向量中对应的散列序列位设为1,则称该布隆过滤器装置了数据元素集合S,或者说该布隆过滤器表示了数据元素集合S。例如若h1(s1)=5,则将位向量的第6位设为1,若h2(s1)=10,则将位向量的第11位设为1,直到若hk(s1)=n-1,将位向量的第n位设为1。当查询某个数据元素是否在集合S中时,用同样的k个散列函数对数据元素计算一个散列序列,如果散列序列所对应的位向量上的每一位均为1,则认为该数据元素S,否则不属于S。
在上述步骤S122中所申请的内存空间即为用于布隆过滤器的空间。例如通过管理文件获取一个类型名,利用这个类型名在URL库中统计该类型下URL的记录数,以根据下述公式1计算布隆过滤器的大小:
T=2n                                       公式1
其中,T为布隆过滤器的大小,n应满足下述公式2的自然数:
2n-1<count(url)*B<2n                      公式2
其中,count(url)为该类型下URL的记录数,B为各URL所占用的字节数。
在步骤S123中所确定的布隆过滤器的散列函数可以为多种形式,其只要在存储该类型的全部URL时能够满足其假通过率不超过设定的最高假通过率即可。其中,假通过率为布隆过滤器在进行元素查询时,将不属于集合中的元素误认为属于集合中这种假通过的概率。一个使用了k个散列函数的m位长的布隆过滤器中装入n个元素后,位向量中某一位仍为0的概率为:(1-1/m)kn,则假通过率p为p=[1-(1-1/m)kn]k。因此,当根据用户需求设定一个可接受的最高假通过率后,则可结合URL的记录数确定出散列函数的个数k和位向量长度m。例如,当URL的记录数为100w,用户设定的最高假通过0.0001,则散列函数的个数k和位向量长度m分别可以为8和2000w,即此时所确定的散列函数可以为满足个数为8、且位向量长度为2000w的随意构造的一组数学函数。
步骤S13,根据各URL的类型,将所述URL存储在对应的所述布隆过滤器中。
上述步骤可具体包括:
步骤S131,根据散列函数计算所述URL的散列值;
步骤S132,按照预定的标识位设置方式,将所述散列值在所申请的内存空间中对应的位置设置标识位。
其中,该标识位设置方式可以为用户设定的任意标识方式。例如所设定的标识位设置方式为setbit(a,i):((a)[(i)/NBBY]|=1<<((i)%NBBY)),其中数组a为布隆过滤器所申请的内存空间的首地址,则a[(i)/NBBY]为布隆过滤器的第[(i)/NBBY]个位置的值;i为所计算的URL的散列值,NBBY为一个字节所占用的比特位,即NBBY=8;((a)[(i)/NBBY]|=1<<((i)%NBBY))表示将布隆过滤器的第[(i)/NBBY]个位置中的第((i)%NBBY))个比特位设置为1。
对同一类型的全部URL均执行上述步骤S131和步骤S132,以将其存储到该类型的布隆过滤器中。并且,对于全部类型的URL分别执行上述步骤S12和步骤S13。至此,实现了将URL库中的URL以分类布隆过滤器的形式存储。
根据上述实施例的URL存储方法,通过创建对应于各类URL的布隆过滤器,并将URL按类型存储在对应的布隆过滤器中,所以当过滤网关设备获取存储有URL的布隆过滤器后、对用户访问的URL进行审计时,若要查询该URL是否位于某类型的布隆过滤器时,例如查询该URL是否位于用于存储可合法访问的URL的布隆过滤器中,只需根据该类型布隆过滤器的散列函数计算该URL的散列值,如果该散列值所对应的位向量的位置均为1,则可获知该URL位于该布隆过滤器中,即该URL为合法访问网址。由于无需针对每个待审计的URL均遍历内存数量庞大的URL库,所以极大地提高了查询效率,所以即使同时有大量用户发起网络访问,也能够确保网络的性能。而且,通过采用布隆过滤器来存储URL,还节约了大量存储空间,例如对于存储480w个URL记录的URL库(假设各URL占用20个字节),在所有的布隆过滤器都被完全使用的情况下,存储这些URL所需的空间仅为91.5M(480w*20B/1024/1024)。此外,采用上述实施例的URL存储方法存储URL时,即使被其他人导出URL库,也无法将其还原为各URL条目,从而在无需进行额外加密的情况下即可实现了对该URL库的高度保密。
进一步地,在上述实施例的URL存储方法中,还包括:
步骤S14,向所述布隆过滤器中增加URL时,生成增量包,所述增量包中包括所增加的URL的散列值和所述增加的URL的类型,所述增量包用于发送至过滤网关设备,以由过滤网关设备根据所述增量包执行增量更新。
具体地,当需在布隆过滤器中增加URL时,会使该布隆过滤器的假通过率提高。所以需根据要增加的URL数量检验在原布隆过滤器中增加这些URL后,是否仍能够满足该布隆过滤器的假通过率不超过设定的最高假通过率。若能够满足,则仅生成增量包,更为具体地,根据该布隆过滤器的散列函数计算要增加的URL的散列值,将该URL的散列值连同该URL的类型对应存储在增量包中。若不能够满足,则重新生成该类型的布隆过滤器,该新生成的布隆过滤器中包括原布隆过滤器中的全部URL和本次新增加的URL。该新生成的布隆过滤器所占用的内存空间T’与原布隆过滤器所占用的内存空间T的关系应满足T’=T*2。
表1例示了增量包中的存储格式。如表1中所示,按照上述方式生成增量包时,每增加一个URL,需要4*N+1字节的存储空间。其中,N表示散列函数个数,4表示存储计算出的每个散列值所要占用的字节数(Hash1-Hash8每个字段为4个字节),1表示URL对应的分类id占用1字节(Class_id为一个字节)。此外,当增加多个URL时,还可以对同类别的URL进行合并处理,以节约存储空间。例如,向数据库中***新的Hash值时,先查询在该类别下是否有相同的值,如果有,则该Hash值设为空。Hash值为空时仅占用一个字节,所以当采用这种方式存储时,如果有相同类别的URL出现Hash值相同,则对于每一个相同的Hash值可节省3个字节的存储空间。并且,若多个增加的URL所对应的部分Hash值重叠,可不重复记录这种重叠的Hash值,即不必按照一条URL记录固定对应于8个Hash值的方式进行存储,以节约存储空间。
表1
  字段  Hash1   Hash2   Hash3   Hash4   Hash5   Hash6   Hash7   Hash8   Class_id
  散列值  a   b   c   d   e   f   g   h   l
当URL服务器将生成的增量包发送至过滤网关设备时,过滤网关根据增量包中记录的散列值和类型,按照URL服务器执行步骤S13相同的方式,在相应类型的布隆过滤器中的对应位置设置标识位,即可将增量包所记录的URL添加到布隆过滤器中,从而实现了过滤网关设备的增量更新。
根据上述实施例的URL存储方法,可使得在执行远程增量更新时,URL服务器仅需向过滤网关设备发送包含少量信息的增量包,而不需重新发送整个布隆过滤器,能够方便地实现远程更新。
进一步地,在上述实施例的URL存储方法中,还包括:
步骤S15,从所述布隆过滤器中删除URL时,生成删除URL后的新布隆过滤器和删除包,所述删除包中包括执行删除更新前的所述布隆过滤器与所述新布隆过滤器在相同位置出现不同值的位置和删除的URL的类型,所述删除包用于发送至过滤网关设备,以由过滤网关设备根据所述删除包执行删除更新。
具体地,URL服务器例如采用与上述实施例的URL存储方法中步骤S12相同的方式生成新布隆过滤器,并采用与步骤S13相同的方式将删除后剩余的URL存储在所生成的新布隆过滤器中。比较原布隆过滤器与新的布隆过滤器,如果两个过滤器中相同位置的标识值不同,则在另一个文件中记录下该位置和新的布隆过滤器中该位置的标识值。比较完所有位置后,保存该文件,这样就生成了删除包。
表2例示了删除包中的存储格式。如表2所示,按照上述方式生成删除包时,每删除一个URL,需要N*(4+1)字节的存储空间,其中,N表示散列函数个数,4表示存储计算出的每个散列值所要占用的字节数。1表示URL对应的分类id,占用1字节。而且,删除包中也可以采用类似于表1的存储格式,以使每删除一个URL所需要的字节空间为4*N+1。此外,删除包中还可以采用表3例示的存储格式,即在删除包中不仅记录相同位置出现不同值的位置和所述删除的URL的类型,还记载在新生成的布隆过滤器中该位置的值,此时每删除一个URL所需要的字节空间为N*(4+1+1)。上述例示的每删除一个URL所需要的存储空间只是理论值,在实际应用中,由于所修改的某个位置可能被多条URL共用,这将使得实际所需的空间小于上述理论值。
表2
  序号   位置(4bytes)   URL分类id(1byte)
  修改1   a   1
  修改2   b   1
  修改3   c   1
  修改4   d   1
  修改5   e   1
  修改6   f   1
  修改7   g   1
  修改8   h   1
表3
  序号   位置(4bytes)  该位置的值(1byte)   URL分类id(1byte)
  修改1   a  0   1
在执行远程更新时,URL服务器将该删除包发送至过滤网关设备。过滤网关设备根据该删除包中记录的位置修改本地的布隆过滤器。具体地,例如对于删除包中的位置a,通过(a/8+1)可获知所对应的字节,并通过(a%8)可获知所对应的bit位,将对应字节的对应bit位的值由1改为0,从而实现了过滤网关设备的删除更新。
根据上述实施例的URL存储方法,可使得在执行远程删除更新时,URL服务器仅需向过滤网关设备发送包含少量信息的删除包,而不需重新发送整个布隆过滤器,能够方便地实现远程更新。
图3为本发明URL存储设备的结构示意图。如图3所示,该URL存储设备包括:
分类模块,用于根据预定分类规则对URL进行分类;
生成模块,用于分别生成用于存储各类型URL的布隆过滤器;
存储模块,用于根据各URL的类型,将所述URL存储在对应的所述布隆过滤器中。
上述URL存储设备进行URL存储的流程与上述实施例的URL存储方法相同,故此处不再赘述。
根据上述实施例的URL存储设备,通过创建对应于各类URL的布隆过滤器,并将URL按类型存储在对应的布隆过滤器中,所以当过滤网关设备获取存储有URL的布隆过滤器后、对用户访问的URL进行审计时,若要查询该URL是否位于某类型的布隆过滤器时,例如查询该URL是否位于用于存储可合法访问的URL的布隆过滤器中,只需根据该类型布隆过滤器的散列函数计算该URL的散列值,如果该散列值所对应的位向量的位置均为1,则可获知该URL位于该布隆过滤器中,即该URL为合法访问网址。由于无需针对每个待审计的URL均遍历内存数量庞大的URL库,所以极大地提高了查询效率,所以即使同时有大量用户发起网络访问,也能够确保网络的性能。而且,通过采用布隆过滤器来存储URL,还节约了大量存储空间。此外,采用上述实施例的URL存储设备存储URL时,即使被其他人导出该布隆过滤器,也无法将其还原为各URL条目,从而在无需进行额外加密的情况下即可实现了对URL的高度保密。
进一步地,在上述实施例的URL存储设备中,还包括:
增量更新模块,用于生成增量包,所述增量包中包括所增加的URL的散列值和所述URL的类型,所述增量包用于发送至过滤网关设备,以由过滤网关设备根据所述增量包执行更新。
根据上述实施例的URL存储设备,可使得在执行远程增量更新时,仅需向过滤网关设备发送包含少量信息的增量包,而不需重新发送整个布隆过滤器,能够方便地实现远程更新。
进一步地,在上述实施例的URL存储设备中,所述增量更新模块还用于根据增加URL后所述布隆过滤器中的URL数量,检验增加所述URL后所述布隆过滤器的假通过率是否不超过预先设定的最高假通过率;若是,则生成所述增量包;若否,则重新生成布隆过滤器,重新生成的布隆过滤器所占用内存空间为增加URL前布隆过滤器所占用内存空间的两倍。
根据上述实施例的URL存储设备能够避免因增加URL而导致布隆过滤器的假通过率超过预先设定的最高假通过率。
进一步地,在上述实施例的URL存储设备中,还包括:
删除更新模块,用于生成新布隆过滤器和删除包,所述删除包中包括执行删除更新前的所述布隆过滤器与所述新布隆过滤器在相同位置出现不同值的位置和删除的URL的类型,所述删除包用于发送至过滤网关设备,以由过滤网关设备根据所述删除包执行更新。
根据上述实施例的URL存储设备,可使得在执行远程删除更新时,仅需向过滤网关设备发送包含少量信息的删除包,而不需重新发送整个布隆过滤器,能够方便地实现远程更新。
图4为本发明网页过滤方法的流程示意图。如图4所示,该网页过滤方法包括:
步骤S21,过滤网关设备从URL存储设备获取分类存储有URL的布隆过滤器;
步骤S22,所述过滤网关设备根据所述布隆过滤器中存储的URL和所述URL的类型对网页进行过滤。
其中,该URL存储设备为上述任一实施例的URL存储设备。具体地,过滤网关设备获取存储有URL的布隆过滤器后,当有需要审计的URL时,需查询该URL是否位于特定类型的布隆过滤器时,例如查询该URL是否位于用于存储可合法访问的URL的布隆过滤器中,只需根据该类型布隆过滤器的散列函数计算该URL的散列值,如果该散列值所对应的位向量的位置均为1,则可获知该URL位于该布隆过滤器中,即该URL为合法访问网址,此时允许该网络访问;否则,阻止该网络访问。
根据上述实施例的网页过滤方法,由于在进行URL审计时,无需针对每个待审计的URL均遍历内存数量庞大的URL库,所以极大地提高了查询效率,所以即使同时有大量用户发起网络访问,也能够确保网络的性能。
进一步地,在上述实施例的网页过滤方法中,还包括:
步骤S23,所述过滤网关设备从所述URL存储设备获取增量包,并根据所述增量包执行增量更新,所述增量包中包括增加的URL的散列值和所述增加的URL的类型。
具体地,过滤网关根据增量包中记录的散列值和类型,按照上述实施例的URL存储方法中步骤S13相同的方式,在相应类型的布隆过滤器中的对应位置设置标识位,即可将增量包所记录的URL添加到布隆过滤器中,从而实现了过滤网关设备的增量更新。
根据上述实施例的网页过滤方法,可使得在执行远程增量更新时,过滤网关设备仅需从URL存储设备获取包含少量信息的增量包,而不需获取整个布隆过滤器,能够方便地实现远程更新。
进一步地,在上述实施例的网页过滤方法中,还包括:
步骤S24,所述过滤网关设备从所述URL存储设备获取删除包,根据所述删除包执行删除更新,所述删除包中包括URL存储设备在删除URL前的所述布隆过滤器与删除URL后的新布隆过滤器在相同位置出现不同值的位置和所述删除的URL的类型。
具体地,过滤网关设备根据删除包中记录的位置和对应于该位置的标识值修改本地的布隆过滤器,从而实现了过滤网关设备的删除更新。
根据上述实施例的网页过滤方法,可使得在执行远程删除更新时,过滤网关设备仅需从URL存储设备获取包含少量信息的删除包,而不需获取整个布隆过滤器,能够方便地实现远程更新。
图5为本发明过滤网关设备的结构示意图。如图5所示,该过滤网关设备包括:
获取模块,用于从URL存储设备获取分类存储有URL的布隆过滤器;
过滤模块,用于根据所述布隆过滤器中存储的URL和所述URL的类型对网页进行过滤。
上述实施例的过滤网关设备执行网页过滤的流程与上述实施例的网页过滤方法相同,故此处不再赘述。
根据上述实施例的过滤网关设备,由于在进行URL审计时,需查询该URL是否位于特定类型的布隆过滤器时,只需根据该类型布隆过滤器的散列函数计算该URL的散列值,如果该散列值所对应的位向量的位置均为1,则可获知该URL位于该布隆过滤器中,无需针对每个待审计的URL均遍历内存数量庞大的URL库,所以极大地提高了查询效率,所以即使同时有大量用户发起网络访问,也能够确保网络的性能。
进一步地,在上述实施例的过滤网关设备中,还包括:
增量更新模块,用于从所述URL存储设备获取增量包,并根据所述增量包执行增量更新,所述增量包中包括增加的URL的散列值和所述增加的URL的类型。
根据上述实施例的过滤网关设备,在执行远程增量更新时,仅需从URL存储设备获取包含少量信息的增量包,而不需获取整个布隆过滤器,能够方便地实现远程更新。
进一步地,在上述实施例的过滤网关设备中,还包括:
删除更新模块,从所述URL存储设备获取删除包,根据所述删除包执行删除更新,所述删除包中包括URL存储设备在删除URL前的所述布隆过滤器与删除URL后的新布隆过滤器在相同位置出现不同值的位置和所述删除的URL的类型。
根据上述实施例的过滤网关设备,在执行远程删除更新时,仅需从URL存储设备获取包含少量信息的删除包,而不需获取整个布隆过滤器,能够方便地实现远程更新。
本发明还提供一种网页过滤***,包括上述任一实施例的URL存储设备和任一实施例的过滤网关设备。
根据上述实施例的网页过滤***,在即使有大量用户同时发起网络访问时,也能够确保网络的性能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (15)

1.一种统一资源定位符URL存储方法,其特征在于,包括:
步骤S11,根据预定分类规则对URL进行分类;
步骤S12,分别生成用于存储各类型URL的布隆过滤器;
步骤S13,根据各URL的类型,将所述URL存储在对应的所述布隆过滤器中。
2.根据权利要求1所述的URL存储方法,其特征在于,还包括:
步骤S14,向所述布隆过滤器中增加URL时,生成增量包,所述增量包中包括所增加的URL的散列值和所增加的URL的类型,所述增量包用于发送至过滤网关设备,以由过滤网关设备根据所述增量包执行增量更新。
3.根据权利要求2所述的URL存储方法,其特征在于,在所述步骤S14之前还包括:
根据增加URL后所述布隆过滤器中的URL数量,检验增加所述URL后所述布隆过滤器的假通过率是否不超过预先设定的最高假通过率;若是,则执行所述步骤S14;若否,则重新生成布隆过滤器,重新生成的布隆过滤器所占用内存空间为增加URL前布隆过滤器所占用内存空间的两倍。
4.根据权利要求1或2所述的URL存储方法,其特征在于,还包括:
步骤S15,从所述布隆过滤器中删除URL时,生成删除URL后的新布隆过滤器和删除包,所述删除包中包括执行删除更新前的所述布隆过滤器与所述新布隆过滤器在相同位置出现不同值的位置和删除的URL的类型,所述删除包用于发送至过滤网关设备,以由过滤网关设备根据所述删除包执行删除更新。
5.一种URL存储设备,其特征在于,包括:
分类模块,用于根据预定分类规则对URL进行分类;
生成模块,用于分别生成用于存储各类型URL的布隆过滤器;
存储模块,用于根据各URL的类型,将所述URL存储在对应的所述布隆过滤器中。
6.根据权利要求5所述的URL存储设备,其特征在于,还包括:
增量更新模块,用于生成增量包,所述增量包中包括所增加的URL的散列值和所增加的URL的类型,所述增量包用于发送至过滤网关设备,以由过滤网关设备根据所述增量包执行更新。
7.根据权利要求6所述的URL存储设备,其特征在于,所述增量更新模块还用于根据增加URL后所述布隆过滤器中的URL数量,检验增加所述URL后所述布隆过滤器的假通过率是否不超过预先设定的最高假通过率;若是,则生成所述增量包;若否,则重新生成布隆过滤器,重新生成的布隆过滤器所占用内存空间为增加URL前布隆过滤器所占用内存空间的两倍。
8.根据权利要求5或6所述的URL存储设备,其特征在于,还包括:
删除更新模块,用于生成新布隆过滤器和删除包,所述删除包中包括执行删除更新前的所述布隆过滤器与所述新布隆过滤器在相同位置出现不同值的位置和删除的URL的类型,所述删除包用于发送至过滤网关设备,以由过滤网关设备根据所述删除包执行更新。
9.一种网页过滤方法,其特征在于,包括:
步骤S21,过滤网关设备从如权利要求5至8任一所述的URL存储设备获取分类存储有URL的布隆过滤器;
步骤S22,所述过滤网关设备根据所述布隆过滤器中存储的URL和所述URL的类型对网页进行过滤。
10.根据权利要求9所述的网页过滤方法,其特征在于,还包括:
步骤S23,所述过滤网关设备从所述URL存储设备获取增量包,并根据所述增量包执行增量更新,所述增量包中包括增加的URL的散列值和所述增加的URL的类型。
11.根据权利要求8或9所述的网页过滤方法,其特征在于,还包括:
步骤S24,所述过滤网关设备从所述URL存储设备获取删除包,根据所述删除包执行删除更新,所述删除包中包括URL存储设备在删除URL前的所述布隆过滤器与删除URL后的新布隆过滤器在相同位置出现不同值的位置和所述删除的URL的类型。
12.一种过滤网关设备,其特征在于,包括:
获取模块,用于从URL存储设备获取分类存储有URL的布隆过滤器;
过滤模块,用于根据所述布隆过滤器中存储的URL和所述URL的类型对网页进行过滤。
13.根据权利要求12所述的过滤网关设备,其特征在于,还包括:
增量更新模块,用于从所述URL存储设备获取增量包,并根据所述增量包执行增量更新,所述增量包中包括增加的URL的散列值和所述增加的URL的类型。
14.根据权利要求12或13所述的过滤网关设备,其特征在于,还包括:
删除更新模块,从所述URL存储设备获取删除包,根据所述删除包执行删除更新,所述删除包中包括URL存储设备在删除URL前的所述布隆过滤器与删除URL后的新布隆过滤器在相同位置出现不同值的位置和所述删除的URL的类型。
15.一种网页过滤***,其特征在于,包括如权利要求5至8任一所述的URL存储设备,和如权利要求12至14任一所述的过滤网关设备。
CN201110187962.9A 2011-05-25 2011-07-06 Url存储方法、网页过滤方法、装置及*** Active CN102253991B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110187962.9A CN102253991B (zh) 2011-05-25 2011-07-06 Url存储方法、网页过滤方法、装置及***

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110137020 2011-05-25
CN201110137020.X 2011-05-25
CN201110187962.9A CN102253991B (zh) 2011-05-25 2011-07-06 Url存储方法、网页过滤方法、装置及***

Publications (2)

Publication Number Publication Date
CN102253991A true CN102253991A (zh) 2011-11-23
CN102253991B CN102253991B (zh) 2014-07-30

Family

ID=44981255

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110187962.9A Active CN102253991B (zh) 2011-05-25 2011-07-06 Url存储方法、网页过滤方法、装置及***

Country Status (1)

Country Link
CN (1) CN102253991B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103383665A (zh) * 2013-07-12 2013-11-06 北京奇虎科技有限公司 适于url数据抓取中对数据缓存的方法及装置
CN103544316A (zh) * 2013-11-06 2014-01-29 苏州大拿信息技术有限公司 Url过滤的***及其实现方法
CN105119916A (zh) * 2015-08-21 2015-12-02 福建天晴数码有限公司 一种基于http的认证方法及***
US20150356196A1 (en) * 2014-06-04 2015-12-10 International Business Machines Corporation Classifying uniform resource locators
CN105320740A (zh) * 2015-09-22 2016-02-10 清华大学 微信文章以及公众号的获取方法及获取***
CN105653627A (zh) * 2015-12-28 2016-06-08 湖南蚁坊软件有限公司 一种基于布隆过滤器的数据分类方法
CN106970984A (zh) * 2017-03-29 2017-07-21 杭州迪普科技股份有限公司 一种url过滤库更新方法及装置
CN107888659A (zh) * 2017-10-12 2018-04-06 北京京东尚科信息技术有限公司 用户请求的处理方法及***
CN109977261A (zh) * 2019-04-02 2019-07-05 北京奇艺世纪科技有限公司 一种数据请求的处理方法、装置及服务器
CN112948370A (zh) * 2019-11-26 2021-06-11 上海哔哩哔哩科技有限公司 数据分类方法、装置以及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167580A (ja) * 1997-12-04 1999-06-22 Nec Corp WebクライアントにおけるURLの自動分類装置及び その方法
CN101261644A (zh) * 2008-04-30 2008-09-10 杭州华三通信技术有限公司 访问统一资源定位符数据库的方法及装置
JP2010123000A (ja) * 2008-11-20 2010-06-03 Nippon Telegr & Teleph Corp <Ntt> Webページグループ抽出方法及び装置及びプログラム
CN101901248A (zh) * 2010-04-07 2010-12-01 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
CN101923568A (zh) * 2010-06-23 2010-12-22 北京星网锐捷网络技术有限公司 布隆过滤器的元素增加、删除方法以及布隆过滤器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167580A (ja) * 1997-12-04 1999-06-22 Nec Corp WebクライアントにおけるURLの自動分類装置及び その方法
CN101261644A (zh) * 2008-04-30 2008-09-10 杭州华三通信技术有限公司 访问统一资源定位符数据库的方法及装置
JP2010123000A (ja) * 2008-11-20 2010-06-03 Nippon Telegr & Teleph Corp <Ntt> Webページグループ抽出方法及び装置及びプログラム
CN101901248A (zh) * 2010-04-07 2010-12-01 北京星网锐捷网络技术有限公司 一种布隆过滤器的生成、更新以及查询元素方法和装置
CN101923568A (zh) * 2010-06-23 2010-12-22 北京星网锐捷网络技术有限公司 布隆过滤器的元素增加、删除方法以及布隆过滤器

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103383665B (zh) * 2013-07-12 2016-04-27 北京奇虎科技有限公司 适于url数据抓取中对数据缓存的方法及装置
CN103383665A (zh) * 2013-07-12 2013-11-06 北京奇虎科技有限公司 适于url数据抓取中对数据缓存的方法及装置
CN103544316A (zh) * 2013-11-06 2014-01-29 苏州大拿信息技术有限公司 Url过滤的***及其实现方法
CN103544316B (zh) * 2013-11-06 2017-02-08 苏州大拿信息技术有限公司 Url过滤的***及其实现方法
US9582565B2 (en) * 2014-06-04 2017-02-28 International Business Machines Corporation Classifying uniform resource locators
US20170103138A1 (en) * 2014-06-04 2017-04-13 International Business Machines Corporation Classifying uniform resource locators
US9928292B2 (en) * 2014-06-04 2018-03-27 International Business Machines Corporation Classifying uniform resource locators
US20160179929A1 (en) * 2014-06-04 2016-06-23 International Business Machines Corporation Classifying uniform resource locators
US20150356196A1 (en) * 2014-06-04 2015-12-10 International Business Machines Corporation Classifying uniform resource locators
US9569522B2 (en) * 2014-06-04 2017-02-14 International Business Machines Corporation Classifying uniform resource locators
US9928301B2 (en) * 2014-06-04 2018-03-27 International Business Machines Corporation Classifying uniform resource locators
US20170337258A1 (en) * 2014-06-04 2017-11-23 International Business Machines Corporation Classifying uniform resource locators
US20170109429A1 (en) * 2014-06-04 2017-04-20 International Business Machines Corporation Classifying uniform resource locators
CN105119916B (zh) * 2015-08-21 2018-04-10 福建天晴数码有限公司 一种基于http的认证方法及***
CN105119916A (zh) * 2015-08-21 2015-12-02 福建天晴数码有限公司 一种基于http的认证方法及***
CN105320740A (zh) * 2015-09-22 2016-02-10 清华大学 微信文章以及公众号的获取方法及获取***
CN105320740B (zh) * 2015-09-22 2018-10-16 清华大学 微信文章以及公众号的获取方法及获取***
CN105653627A (zh) * 2015-12-28 2016-06-08 湖南蚁坊软件有限公司 一种基于布隆过滤器的数据分类方法
CN106970984A (zh) * 2017-03-29 2017-07-21 杭州迪普科技股份有限公司 一种url过滤库更新方法及装置
CN106970984B (zh) * 2017-03-29 2020-11-06 杭州迪普科技股份有限公司 一种url过滤库更新方法及装置
CN107888659A (zh) * 2017-10-12 2018-04-06 北京京东尚科信息技术有限公司 用户请求的处理方法及***
CN109977261A (zh) * 2019-04-02 2019-07-05 北京奇艺世纪科技有限公司 一种数据请求的处理方法、装置及服务器
CN112948370A (zh) * 2019-11-26 2021-06-11 上海哔哩哔哩科技有限公司 数据分类方法、装置以及计算机设备

Also Published As

Publication number Publication date
CN102253991B (zh) 2014-07-30

Similar Documents

Publication Publication Date Title
CN102253991B (zh) Url存储方法、网页过滤方法、装置及***
CN101901248B (zh) 一种布隆过滤器的生成、更新以及查询元素方法和装置
CN104794123B (zh) 一种为半结构化数据构建NoSQL数据库索引的方法及装置
CN102918534B (zh) 查询管道
CN104679778A (zh) 一种搜索结果的生成方法及装置
JP6716727B2 (ja) ストリーミングデータ分散処理方法及び装置
CN102725755B (zh) 文件访问方法及***
CN101944124A (zh) 分布式文件***管理方法、装置以及对应的文件***
CN104104717A (zh) 投放渠道数据统计方法及装置
CN102810089A (zh) 基于内容的短链接***及实现方法
CN103984753A (zh) 一种网络爬虫去重特征值的提取方法和装置
CN105069111A (zh) 云存储中基于相似性的数据块级数据去重方法
CN103067525A (zh) 一种基于特征码的云存储数据备份方法
CN105677904B (zh) 基于分布式文件***的小文件存储方法及装置
CN104794228A (zh) 一种搜索结果提供方法及装置
CN105447113A (zh) 一种基于大数据的信息分析方法
CN104239353B (zh) 一种web分类控制和日志审计的方法
CN102663007A (zh) 一种支持敏捷开发和横向扩展的数据存储与查询方法
CN102591855A (zh) 一种数据标识方法及***
CN103823807A (zh) 一种去除重复数据的方法、装置及***
CN110874429A (zh) 面向海量数据采集的分布式网络爬虫性能优化方法
CN107798106A (zh) 一种分布式爬虫***中的url去重方法
CN110011830A (zh) 基于流量数据的通讯拓扑信息建模方法
WO2017000592A1 (zh) 数据处理方法、装置及***
CN107085613A (zh) 入库文件的过滤方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant