The invention provides a method for using a large scale IP address resource in a directional information grabbing scene. Includes the following steps: to set the access frequency limits of cyber source, establish all the priority queue contains a IP address IP address set L; distribution of available IP addresses, remove the highest priority priority queue in the IP address, and updates the IP address of the next time can access the network resources of the moment, if the current time is greater than or equal to t, the current task can use the IP address immediately; for each IP address maintenance the IP address number UN and access failure times FN, when removed from the priority queue is the highest priority in the IP address, with a probability of 1-fn/un selection, give up the probability of fn/un. It can not only make full use of IP address access ability, but also improve the success rate of network information acquisition task.
【技术实现步骤摘要】
本专利技术涉及特定网络信息获取领域,具体涉及一种定向信息抓取场景中大规模IP地址资源使用方法,能够在单IP对特定网络资源访问频率受限,大量任务并发执行的情况下,高效使用和分配大量IP地址资源。
技术介绍
随着互联网的快速发展,网络上的数据资源也急剧膨胀。在某些需要对网络资源进行集中获取的场景中,例如搜索引擎的爬虫爬取某个网站的网页,由于目标网页数量巨大,简单地单一线程串行执行获取任务已经远远不能达到性能上的要求。此时较为常用的方法是同时执行多个信息获取任务,提高系统的吞吐量,从而缩短批量任务的总体完成时间。常见地并发执行多个网络任务的方法包括使用多线程或者事件驱动(IO复用)的编程模型。多任务并发执行的一个直接结果是加快了爬取程序对目标网站的访问频率。而通常目标网站从系统能力的角度出发,为了保证普通用户对网站的正常访问,会在发现某个IP地址过于频繁地访问网站后对其进行拒绝,使其不能获取网站正常的响应,即通常情况下单个IP地址对某个特定网络资源(例如某个域名、URL或者符合特定模式的URL)的访问频率是受限制的,不能高于某个特定的值。因此爬取程序的吞吐量一方面依赖于其执行任务的并发程度(通常取决于CPU、内存和网卡等硬件资源的配置以及所采用并发模型的效率),另一方面则依赖于其所拥有的IP地址的数量,因为在给定IP地址数量为n,单个IP地址对网络资源的最高访问频率为q每秒的情况下,爬取程序吞吐量所能达到的理论上界为n*q每秒 ...
【技术保护点】
一种定向信息抓取场景中大规模IP地址资源使用方法,包括以下步骤:针对设置了访问频率限制的网络资源,根据一IP地址集合中每个IP地址下次可访问该网络资源的时刻建立包含集合中全部IP地址的优先队列;在向某个网络信息采集任务分配可用IP地址时,取出优先队列中优先级最高的IP地址,并更新该IP地址的下次可访问该网络资源的时刻,重新将其放入优先队列;若当前时刻大于或等于其下次可访问该网络资源的时刻,则当前任务可立即使用该IP地址,否则当前任务阻塞直至当前时刻大于或等于其下次可访问该网络资源的时刻,方可使用该IP地址;针对每个IP地址维护该IP地址的使用次数和访问失败次数,当从优先队列中取出的优先级最高的IP地址时,以1‑访问失败次数/该IP地址的使用次数的概率选用,访问失败次数/该IP地址的使用次数的概率放弃;若该优先级最高的IP地址被放弃,则继续根据优先级从优先队列中取出IP地址,直到有一个IP地址被选用。
【技术特征摘要】
1.一种定向信息抓取场景中大规模IP地址资源使用方法,包括以下步骤:
针对设置了访问频率限制的网络资源,根据一IP地址集合中每个IP地址下次可访问该
网络资源的时刻建立包含集合中全部IP地址的优先队列;
在向某个网络信息采集任务分配可用IP地址时,取出优先队列中优先级最高的IP地址,
并更新该IP地址的下次可访问该网络资源的时刻,重新将其放入优先队列;若当前时刻大于
或等于其下次可访问该网络资源的时刻,则当前任务可立即使用该IP地址,否则当前任务阻
塞直至当前时刻大于或等于其下次可访问该网络资源的时刻,方可使用该IP地址;
针对每个IP地址维护该IP地址的使用次数和访问失败次数,当从优先队列中取出的优
先级最高的IP地址时,以1-访问失败次数/该IP地址的使用次数的概率选用,访问失败次数/
该IP地址的使用次数的概率放弃;若该优先级最高的IP地址被放弃,则继续根据优先级从
优先队列中取出IP地址,直到有一个IP地址被选用。
2.如权利要求1所述的定向信息抓取场景中大规模IP地址资源使用方法,其特征在于,所
述优先队列中,IP地址下次访问该网络资源的时刻越小则其优先级越高。
3.如权利要求1所述的定向信息抓取场景中大规模IP地址资源使用方法,其特征在于,根
据目标网络资源的访问频率限制值来更新该IP地址下次可访问该网络资源的时刻。
4.如权利要求1所述的定向信息抓取场景中大规模IP地址资源使用方法,其特征在于,所
述根据一IP地址集合L中每个IP地址下次可访问该网络资源的时刻建立包含L中全部IP地
址的优先队列包括:
1)建立原始类型为(IP,ts)的优先队列Q,其中ts表示该IP地址最早的下次可访问该
网络资源的时刻,在优先队列Q中,ts的值越...
【专利技术属性】
技术研发人员:时金桥,谭庆丰,王学宾,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。