防抓站的方法、电子设备、存储介质及计算机程序产品与流程

文档序号:32655231发布日期:2022-12-23 21:20阅读:39来源:国知局
防抓站的方法、电子设备、存储介质及计算机程序产品与流程

1.本公开涉及互联网安全技术领域,本公开特别涉及一种防抓站的方法、电子设备、存储介质及计算机程序产品。


背景技术:

2.爬虫是搜索引擎的重要组成部分,用于自动获取网页内容。
3.对于一个内容型驱动的网站而言,受到网络爬虫的光顾是不可避免的。正常的搜索引擎爬虫的抓站频率比较合理,对网站资源的消耗较少;但是,恶意爬虫的网页抓站能力较差,经常并发上百个请求循环重复抓站,这些爬虫对于网站会产生毁灭性打击,破坏力极强。
4.针对恶意爬虫,通常的防抓站方法为统计和识别爬虫ip(internet protocol address,互联网协议地址),当爬虫ip访问目标服务器超过阈值时,就会被认为是恶意爬虫ip,进而阻值该爬虫ip的访问请求。
5.但是,若恶意爬虫每次在ip池中选取不同的ip访问目标服务器,那么相关技术的防爬虫方法将无法精准阻止黑客的恶意抓取,容易泄露公司信息并且增加了对目标服务器的运行成本。


技术实现要素:

6.本公开提供了一种防抓站的方法、电子设备、存储介质及计算机程序产品。
7.根据本公开的一个方面,提供一种防抓站的方法,包括:根据用于表征访问请求中地址信息的地址哈希值,在对应于地址哈希值的红黑树中确定针对地址信息的过滤规则;根据用于表征访问请求中域名信息的域名哈希值,在对应于域名哈希值的双向链表中获取域名信息的存储位;以及在过滤规则中筛选出存储位对应的应对指令。
8.根据本公开的至少一个实施方式的防抓站的方法,根据用于表征访问请求中地址信息的地址哈希值,在对应于地址哈希值的红黑树中确定针对地址信息的过滤规则,包括:对用于表征访问请求中地址信息的地址哈希值进行特征值计算,获取对应于地址哈希值的地址特征;根据地址特征,确定地址信息对应的第一元素,其中第一元素中包含适用于地址信息的过滤规则;以及基于地址哈希值,遍历第一元素中红黑树的各个过滤规则,筛选出适应于地址信息的过滤规则。
9.根据本公开的至少一个实施方式的防抓站的方法,根据用于表征访问请求中域名信息的域名哈希值,在对应于域名哈希值的双向链表中获取域名信息的存储位,包括:对用于表征访问请求中域名信息的域名哈希值进行特征值计算,获取对应于域名信息的域名特征;根据域名特征,确定域名特征对应的第二元素,其中第二元素中具有对应于域名特征的存储位;以及基于域名哈希值,遍历第二元素中双向链表的各个存储位,筛选出对应于域名特征的存储位。
10.根据本公开的至少一个实施方式的防抓站的方法,在根据用于表征访问请求中地
址信息的地址哈希值,在对应于地址哈希值的红黑树中确定针对地址信息的过滤规则之前,还包括:对访问请求中的地址信息进行哈希运算,获取用于表征访问请求中地址信息的地址哈希值。
11.根据本公开的至少一个实施方式的防抓站的方法,在根据用于表征访问请求中地址信息的地址哈希值,在对应于地址哈希值的红黑树中确定针对地址信息的过滤规则之前,还包括:响应于更新时间,分别触发多个定时器对各个元素中红黑树的过期规则进行删除。
12.根据本公开的至少一个实施方式的防抓站的方法,响应于更新时间,分别触发多个子进程对各个元素中红黑树的过期规则进行删除,包括:根据子进程的数量和元素的数量,确定各个子进程所匹配的多个目标元素;以及响应于更新时间,分别触发各个子进程根据目标元素的红黑树中各个过滤规则的过期时间,删除过期时间超过目标时间的过期规则。
13.根据本公开的至少一个实施方式的防抓站的方法,在根据用于表征访问请求中地址信息的地址哈希值,在对应于地址哈希值的红黑树中确定针对地址信息的过滤规则之前,包括:构建多个元素,包括:在各个元素中分别构建红黑树和双向链表;计算各个过滤规则的规则哈希值;根据规则哈希值,求取过滤规则的规则特征;根据规则特征,将各个过滤规则分配至对应的元素;根据过滤规则的过期时间,将处于同一元素中的过滤规则依序存储至红黑树中。
14.根据本公开的至少一个实施方式的防抓站的方法,在根据用于表征访问请求中域名信息的域名哈希值,在对应于域名哈希值的双向链表中获取域名信息的存储位之前,包括:对访问请求中的域名信息进行哈希运算,获取用于表征访问请求中域名信息的域名哈希值。
15.根据本公开的至少一个实施方式的防抓站的方法,在在过滤规则中筛选出存储位对应的应对指令之后,包括:响应于执行惩罚措施的应对指令,阻止访问请求的请求主体的抓站操作;以及响应于允许访问的应对指令,允许请求主体的抓站操作。
16.根据本公开的另一个方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,以实现本公开任一个实施方式的防抓站的方法。
17.根据本公开的又一个方面,提供一种可读存储介质,可读存储介质存储有计算机程序,计算机程序适于处理器进行加载,以执行本公开任一个实施方式的防抓站的方法。
18.根据本公开的再一个方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开任一个实施方式的防抓站的方法。
附图说明
19.附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
20.图1为根据本公开示例性实施方式的防抓站的方法流程图。
21.图2为根据本公开示例性实施方式的防抓站的方法应用示意图。
22.图3为根据本公开示例性实施方式的数组结构示意图。
23.图4为根据本公开示例性实施方式的防抓站的装置框图。
24.附图标记说明
25.1000 防抓站的装置
26.1002 过滤规则确定模块
27.1004 存储位确定模块
28.1006 应对指令生成模块
29.1100 总线
30.1200 处理器
31.1300 存储器
32.1400 其他电路。
具体实施方式
33.下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
34.需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
35.除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
36.本文使用的术语是为了描述具体实施例的目的,而不是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
37.图1为根据本公开示例性实施方式的防抓站的方法流程图;图2为根据本公开示例性实施方式的防抓站的方法应用示意图;图3为根据本公开示例性实施方式的数组结构示意图。下面将结合图1至图3详细说明上述防抓站的方法m100的各个步骤的具体实现方式。
38.步骤s102,根据用于表征访问请求中地址信息的地址哈希值,在对应于地址哈希值的红黑树中确定针对地址信息的过滤规则。
39.其中,爬虫是一种为搜索引擎爬取网页内容的程序,访问请求是爬虫根据客户端给搜索引擎的搜索指令而生成的,用于请求满足搜索指令的网站的访问权限。访问请求中包括爬虫的网络地址信息和域名信息等。通常情况下,爬虫的抓站频率比较合理,对网站资源的消耗较少;但是,恶意爬虫的网页抓站能力较差,经常并发上百个请求循环重复抓站,这些爬虫对于网站会产生毁灭性打击,因此需要精准地识别恶意爬虫,以维护网站的秩序,
避免不必要的维护成本。
40.地址哈希值是对访问请求中的地址信息进行哈希运算而获得的结果,能够表征访问请求中的地址信息。其中,哈希运算是一种能够接受无限长度的地址信息,而反馈给我们一个固定长度的哈希值的算法。不同的地址信息经过哈希运算将会获得不同的哈希值,因此地址哈希值具有针对性、独特性和准确性,能够精准的表征爬虫的地址信息。
41.红黑树是一种自平衡二叉查找树,是用于存储过滤规则的数据结构。红黑树的根节点向下延伸出两个子节点,每个子节点又分别向下延伸出两个孙节点,以此类推。其中,在具有同样根节点的两个子节点中,左边的关键值大于右边的关键值。在本公开中,红黑树的各个节点中分别存储有一个过滤规则,以各个过滤规则的过期时间作为红黑树各个节点的关键值。其中,存储在同一个红黑树的各个过滤规则具有相同的规则特征。
42.过滤规则存储有对应于地址信息和多个域名信息的应对指令。换言之,每个过滤规则就是一个存储位地图,其具有多个存储位(例如30*8个),每个存储位存储有同一地址信息的其中一个域名信息所对应的应对指令。每个过滤规则均对应有一个过期时间,其仅在未达到过期时间时有效。
43.另外,红黑树是构成元素的一个重要部分,每个元素对应一个红黑树和一个双向链表。多个元素又构成一个数组,在本公开的数组中,共有n+1个元素,即bucket_0、bucket_0至bucket_n。当然,元素的数量可根据实际情况设定,在此不做限制。针对元素的构建方法,将在后文介绍。
44.步骤s102的具体实现方式为:对用于表征访问请求中地址信息的地址哈希值进行特征值计算,获取对应于地址哈希值的地址特征;根据地址特征,确定地址信息对应的第一元素,其中第一元素中包含适用于地址信息的过滤规则;以及基于地址哈希值,遍历第一元素中红黑树的各个过滤规则,筛选出适应于地址信息的过滤规则。
45.其中,特征值计算可为对地址哈希值的求余计算,即用地址哈希值除以元素的数量,不够除的部分就是余数,即求余的结果,在本公开中称其为地址特征。例如,若地址哈希值为10,而元素的数量为4,那么特征值计算的结果为2,也即地址特征为2。
46.数组中的各个元素均具有一个表征求余结果的下标,若元素的数量为4,那么每个元素可表示为bucket_0、bucket_1、bucket_2、bucket_3。此时,地址特征为2的地址信息对应于元素bucket_2。在本公开中,将地址特征对应的元素定义为第一元素,那么第一元素的红黑树中将包含适用于该地址信息的过滤规则。
47.在确定了对应于当前的地址信息的第一元素之后,由于第一元素的红黑树的各个节点均存储有一个过滤规则,每个过滤规则仅规则特征相同,并不代表每个过滤规则所对应的地址哈希值相同,因此需要遍历红黑树中各个节点,筛选出与地址哈希值相匹配的过滤规则,以适用于访问请求中的地址信息。当然,会根据过滤规则的数量设定元素的数量,因此,每个元素的红黑树中不会存储有过多的过滤规则,例如若有一百万个过滤规则,将设置10万个元素,那么每个元素中包含有10个过滤规则,此时遍历任一红黑树中的过滤规则时,并不会引起规则查询时间的延长。
48.过滤规则中针对不同的域名信息设置有多个存储位,因此在获得了地址信息对应的过滤规则之后,还需要确定当前域名信息的存储位。
49.步骤s104,根据用于表征访问请求中域名信息的域名哈希值,在对应于域名哈希
值的双向链表中获取域名信息的存储位。
50.其中,域名哈希值是对访问请求中的域名信息进行哈希运算而获得的结果,能够表征访问请求中的域名信息。同样地,哈希运算是一种能够接受无限长度的域名信息,而反馈给我们一个固定长度的哈希值的算法。不同的域名信息经过哈希运算将会获得不同的哈希值,因此域名哈希值具有针对性、独特性和准确性,能够精准的表征爬虫的域名信息。
51.双向链表是一种链式存储结构,记载了各个域名信息与红黑树中的存储位的关联关系。通常,可根据域名信息在双向链表中查找其在红黑树中的存储位。
52.步骤s104的具体实现方式为:对用于表征访问请求中域名信息的域名哈希值进行特征值计算,获取对应于域名信息的域名特征;根据域名特征,确定域名特征对应的第二元素,其中第二元素中具有对应于域名特征的存储位;以及基于域名哈希值,遍历第二元素中双向链表的各个存储位,筛选出对应于域名特征的存储位。
53.其中,特征值计算可为对域名哈希值的求余计算,即用域名哈希值除以元素的数量,不够除的部分就是余数,即求余的结果,在本公开中称其为域名特征。例如,若域名哈希值为11,而元素的数量为4,那么特征值计算的结果为3,也即域名特征为3。
54.参考上文,数组中的元素的数量为4,每个元素可表示为bucket_0、bucket_1、bucket_2、bucket_3。此时,域名特征为3的域名信息对应于元素bucket_3。在本公开中,将域名特征对应的元素定义为第二元素,那么第二元素的双向链表中具有对应于域名特征的存储位。
55.在确定了对应于当前的域名信息的第二元素之后,根据域名哈希值遍历第二元素中双向链表的各个存储位,筛选出对应于域名特征的存储位。
56.步骤s106,在过滤规则中筛选出存储位对应的应对指令。
57.其中,应对指令是根据访问请求中的地址信息和域名信息,适应性提出的一种应对访问请求的请求主体的策略,可为禁止访问、对抗操作和允许访问等。例如,应对指令为1时,表示禁止访问或对抗操作;应对指令为0时表示允许访问等。
58.具体地,将域名信息对应的存储位映射至地址信息对应的过滤规则中,提取出当前存储位对应的应对指令。
59.在一些实施方式中,在步骤s102之前,还包括:对访问请求中的地址信息进行哈希运算,获取用于表征访问请求中地址信息的地址哈希值。
60.在一些实施方式中,在步骤s102之前,还包括:响应于更新时间,分别触发多个子进程对各个元素中红黑树的过期规则进行删除。
61.其中,为了便于对红黑树中的过滤规则的更新和修改,设置一个更新时间,达到更新时间时,管理员可根据当前的实际需求调整红黑树中的各个过滤规则。
62.定时器用于计时,以精准把控更新时间。子进程是用于响应定时器的更新时间,对红黑树中的过期规则进行删除的程序。为了提升删除效率,本公开设置有多个子进程,每个子进程匹配有多个元素,并只负责删除与其匹配的元素中红黑树的过期规则。
63.具体地,根据子进程的数量和元素的数量,确定各个子进程所匹配的多个目标元素;以及响应于更新时间,分别触发各个子进程根据目标元素的红黑树中各个过滤规则的过期时间,删除过期时间超过目标时间的过期规则。
64.每个子进程具有一个对应的下标,例如子进程的数量为8个,那么各个子进程的下
标可依序设置为0至7。利用元素的标号除以子进程的数量,不够除的部分就是余数,即求余的结果,在实施方式中称其为元素特征。例如,若元素的标号为16,而子进程数量为8,那么元素特征为0,此时标号为16元素对应于下标是0的子进程。以上述方法遍历全部元素,进而可为每个子进程匹配多个对应的元素。若有80个元素,通过上述方法,每个子进程可匹配有10个元素。
65.利用计时器确定更新时间,例如更新时间为5秒,那么计时器可设置为5秒,当到达5秒时,计时器触发其对应的子进程。虽然每个子进程分别对应于一个计时器,但是各个计时器的计时时间相同,各个子进程同时执行删除过期规则的指令。
66.基于前述,红黑树中的各个节点的关键值是从左向右依次减小的,而关键值被赋值为各个过滤规则的过期时间,因此子进程仅需从右往左依序遍历红黑树的各个关键值,直到识别出过期时间大于目标时间的关键值,删除该关键值右边的全部关键值对应的过期规则即可,不需要遍历整个红黑树。这样能够减少不必要的内存占用,也能够节省子进程的工作时间。其中,目标时间可为当前时间,也可为任意设定的时间。
67.在一些实施方式中,在步骤s102之前,还包括:构建多个元素。
68.具体地,在各个元素中分别构建红黑树和双向链表;计算各个过滤规则的规则哈希值;根据规则哈希值,求取过滤规则的规则特征;根据规则特征,将各个过滤规则分配至对应的元素;根据过滤规则的过期时间,将处于同一元素中的过滤规则依序存储至所述红黑树中。
69.当管理员通过管理服务器的引擎工具注册过滤规则时,该注册请求可包括管理服务器的域名、客户端的地址信息、多个域名信息、惩罚措施和过期时间。
70.例如,注册请求为:
71.curl-h'host:10.26.37.128-11000.zt.ke.com”http://127.0.0.1:11000/add?uuid=67e31090-0cfd-4209-aafd-ae0da0&punish=captcha_ban&expire=1617183514'-d'pushapi.ke.com&10.26.37.128-90.zt.ke.com&www.abc.com&www.banana.com'
72.其中,
73.curl-h'host:10.26.37.128-11000.zt.ke.com”http://127.0.0.1:11000/为管理服务器的域名;
74.uuid=67e31090-0cfd-4209-aafd-ae0da0&punish=captcha_ban为针对该过滤规则的惩罚措施,对抗操作或者禁止访问;
75.expire=1617183514'-d为该过滤规则的过期时间;
76.pushapi.ke.com&10.26.37.128-90.zt.ke.com&www.abc.com&www.banana.com'为该过滤规则对应的多个域名信息。
77.需要注意的是,注册请求中的多个域名信息之间用“&”隔开以便后续解析各个域名信息之后,可对每个域名信息定义一个序号。在各个域名信息存储至元素之后,能够根据序号在存储位地图中找到序号对应的存储位,并将该存储位的对应指令设置为1。用1个存储位表示已经注册的域名字符串可以大大减小内存使用,适用于需要存储大量的过滤规则的场景。
78.搜索引擎服务器在获得该注册请求后,会对该注册请求进行解析,获取注册请求中的过滤规则相关信息,包括客户端的地址信息、域名信息、惩罚措施和过期时间。
79.根据上述计算该过滤规则的规则哈希值,规则哈希值是对过滤规则进行哈希运算而获得的结果,能够表征过滤规则。其中,哈希运算是一种能够接受无限长度的规则信息,而反馈给我们一个固定长度的哈希值的算法。不同的过滤规则经过哈希运算将会获得不同的哈希值,因此规则哈希值具有针对性、独特性和准确性,能够精准的表征不同的过滤规则。
80.特征值计算可为对规则哈希值的求余计算,即用规则哈希值除以元素的数量,不够除的部分就是余数,即求余的结果,在本实施方式中称其为规则特征。例如,若规则哈希值为10,而元素的数量为4,那么特征值计算的结果为2,也即规则特征为2。基于前述,若元素分为bucket_0、bucket_1、bucket_2、bucket_3,那么规则特征为2的过滤规则将被存储在bucket_2这个元素的红黑树中。
81.这样,即使存在多个具有相同规则哈希值的过滤规则,也可把多个过滤规则同时存储进同一个元素中。
82.在一些实施方式中,在步骤s104之前,包括:对访问请求中的域名信息进行哈希运算,获取用于表征访问请求中域名信息的域名哈希值。
83.在一些实施方式中,在步骤s106之后,包括:响应于执行惩罚措施的应对指令,阻止访问请求的请求主体的抓站操作。响应于允许访问的应对指令,允许请求主体的抓站操作。
84.根据爬虫的访问请求中地址信息和域名信息利用引擎工具查询数组的各个元素,若该地址信息和域名信息在数组中注册,则认定该爬虫的访问请求为黑客请求,那么将对该爬虫反馈一个执行惩罚措施的应对指令,不允许其爬取网页内容。惩罚措施可为阻止访问或者对抗请求主体两种,可根据需求选取。
85.当爬虫的访问请求中地址信息和域名信息均未在数组中注册,则认定该爬虫的访问请求为正常用户请求,那么将对该爬虫反馈一个允许访问的应对指令,此时允许其爬取网页内容,并有业务服务器代理该访问请求。
86.根据本公开的防抓站的方法,通过地址信息在红黑树中确定适用的过滤规则,再通过域名信息在双向链表中确定存储位,进而将存储位映射至过滤规则中,即可获得对应于该地址信息和域名信息的对应指令。通过地址信息和域名信息的双重核查,提高了对恶意爬虫的识别准确度;通过红黑树和双向链表筛选应对指令,提高了应对指令的获取速度。
87.图4为根据本公开示例性实施方式的防抓站的装置框图。如图4所示,本公开提出了一种防抓站的装置1000,包括:过滤规则确定模块1002、存储位确定模块1004和应对指令生成模块1006。过滤规则确定模块1002用于根据用于表征访问请求中地址信息的地址哈希值,在对应于地址哈希值的红黑树中确定针对地址信息的过滤规则。存储位确定模块1004用于根据用于表征访问请求中域名信息的域名哈希值,在对应于域名哈希值的双向链表中获取域名信息的存储位。应对指令生成模块1006用于在过滤规则中筛选出存储位对应的应对指令。
88.在一些实施方式中,过滤规则确定模块1002的执行步骤包括:对用于表征访问请求中地址信息的地址哈希值进行特征值计算,获取对应于地址哈希值的地址特征;根据地址特征,确定地址信息对应的第一元素,其中第一元素中包含适用于地址信息的过滤规则;以及基于地址哈希值,遍历第一元素中红黑树的各个过滤规则,筛选出适应于地址信息的
过滤规则。
89.在一些实施方式中,存储位确定模块1004的执行步骤包括:对用于表征访问请求中域名信息的域名哈希值进行特征值计算,获取对应于域名信息的域名特征;根据域名特征,确定域名特征对应的第二元素,其中第二元素中具有对应于域名特征的存储位;以及基于域名哈希值,遍历第二元素中双向链表的各个存储位,筛选出对应于域名特征的存储位。
90.在一些实施方式中,还包括地址哈希值计算模块(未示出),用于对访问请求中的地址信息进行哈希运算,获取用于表征访问请求中地址信息的地址哈希值。
91.在一些实施方式中,还包括更新模块(未示出),用于响应于更新时间,分别触发多个定时器对各个元素中红黑树的过期规则进行删除。
92.在一些实施方式中,更新模块(未示出)的执行步骤为:根据子进程的数量和元素的数量,确定各个子进程所匹配的多个目标元素;以及响应于更新时间,分别触发各个子进程根据目标元素的红黑树中各个过滤规则的过期时间,删除过期时间超过目标时间的过期规则。
93.在一些实施方式中,还包括元素构建模块(未示出),用于构建多个元素,包括:在各个元素中分别构建红黑树和双向链表;计算各个过滤规则的规则哈希值;根据规则哈希值,求取过滤规则的规则特征;根据规则特征,将各个过滤规则分配至对应的元素;根据过滤规则的过期时间,将处于同一元素中的过滤规则依序存储至红黑树中。
94.在一些实施方式中,还包括域名哈希值计算模块(未示出),用于对访问请求中的域名信息进行哈希运算,获取用于表征访问请求中域名信息的域名哈希值。
95.在一些实施方式中,还包括指令响应模块(未示出),用于响应于执行惩罚措施的应对指令,阻止访问请求的请求主体的抓站操作;以及响应于允许访问的应对指令,允许请求主体的抓站操作。
96.该装置1000可以包括执行上述流程图中各个或几个步骤的相应模块。因此,可以由相应模块执行上述流程图中的每个步骤或几个步骤,并且该装置可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。
97.该硬件结构可以利用总线架构来实现。总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线1100将包括一个或多个处理器1200、存储器1300和/或硬件模块的各种电路连接到一起。总线1100还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其它电路1400连接。
98.总线1100可以是工业标准体系结构(isa,industry standard architecture)总线、外部设备互连(pci,peripheral component)总线或扩展工业标准体系结构(eisa,extended industry standard component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条连接线表示,但并不表示仅有一根总线或一种类型的总线。
99.根据本公开的防抓站的装置,通过地址信息在红黑树中确定适用的过滤规则,再通过域名信息在双向链表中确定存储位,进而将存储位映射至过滤规则中,即可获得对应于该地址信息和域名信息的对应指令。通过地址信息和域名信息的双重核查,提高了对恶
意爬虫的识别准确度;通过红黑树和双向链表筛选应对指令,提高了应对指令的获取速度。
100.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本公开中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
101.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
102.就本说明书而言,“可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式只读存储器(cdrom)。另外,可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在存储器中。
103.应当理解,本公开的各部分可以用硬件、软件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
104.本技术领域的普通技术人员可以理解实现上述实施方式方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。
105.此外,在本公开各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
106.本公开还提供了一种电子设备,包括:存储器,存储器存储执行指令;以及处理器或其他硬件模块,处理器或其他硬件模块执行存储器存储的执行指令,使得处理器或其他
硬件模块执行上述的方法。
107.本公开还提供了一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现防抓站的方法,包括:根据用于表征访问请求中地址信息的地址哈希值,在对应于地址哈希值的红黑树中确定针对地址信息的过滤规则;根据用于表征访问请求中域名信息的域名哈希值,在对应于域名哈希值的双向链表中获取域名信息的存储位;以及在过滤规则中筛选出存储位对应的应对指令。
108.本公开还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现本公开任一个实施方式的防抓站的方法。
109.在本说明书的描述中,参考术语“一个实施方式/方式”、“一些实施方式/方式”、“具体示例”、或“一些示例”等的描述意指结合该实施方式/方式或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施方式/方式或示例中。在本说明书中,对上述术语的示意性表述不必须是相同的实施方式/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施方式/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式/方式或示例以及不同实施方式/方式或示例的特征进行结合和组合。
110.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
111.本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1