一种在分布式环境下动态调度IP代理池的方法、装置及存储介质制造方法及图纸

技术编号:21096049 阅读:35 留言:0更新日期:2019-05-11 12:28
本发明专利技术提供了一种在分布式环境下动态调度IP代理池的方法、装置及存储介质。该方法包括:构建步骤,扫描代理IP资源,为扫描获得的代理IP初始化状态标识后构建IP代理池;检测步骤,对初始代IP理池中的代理IP进行检测,并根据检测结果更新代理IP的状态标识;调度步骤,获取IP代理池中M个代理IP生成代理IP队列以供下载中心请求使用。本发明专利技术确保代理池中的可用IP代理保持在一定数量之上,并根据加锁机制和缓存机制,实现单个代理IP在面对多线程调度的情况下可以做到时间维度上的有序响应,防止单个代理IP高频率访问,通过IP代理池、有效性检测及调度的协同,使分布式数据采集系统在保证采集效率的同时,又可以避免因高频率访问导致访问失败。

【技术实现步骤摘要】
一种在分布式环境下动态调度IP代理池的方法、装置及存储介质
本专利技术涉及网络数据处理
,特别是一种在分布式环境下动态调度IP代理池的方法、装置及存储介质。
技术介绍
随着互联网规模的日益增长,时效性逐渐成为数据采集领域的一个关键难题。一般情况下,数据采集方可以通过分布式数据采集系统在单位时间内对多个目标网站进行高频次访问,以此实现多任务的高效率采集。然而,由于整个系统的IP资源是固定且有限的,当目标网站对访问IP的请求频率有设置阈值时,上述方法容易导致网站访问失败。在现有技术中,主要有两种方式可以有效解决此类访问失败的问题:①使用请求频率控制,限制同一IP对同一域名的访问时间间隔不可小于指定阈值;②使用IP代理池,通过调用海量IP将分布式数据采集系统对目标网站的高并发访问分担到各代理IP上。采用请求频率控制的方式,虽然可以对IP起到有效保护,防止访问失败,但由于访问时间间隔的存在,该方式会严重影响数据采集系统的效率。相反,采用IP代理池不仅可以避免访问失败,还在一定程度上保证了数据采集的效率。然而,尽管IP代理池是最佳解决方案之一,但由于现有IP代理池在可用性和稳定性上的表现本文档来自技高网...

【技术保护点】
1.一种在分布式环境下动态调度IP代理池的方法,其特征在于,该方法包括:构建步骤,扫描代理IP资源,为扫描获得的代理IP初始化状态标识后构建IP代理池;检测步骤,对初始代IP理池中的代理IP进行检测,并根据检测结果更新代理IP的状态标识;调度步骤,获取IP代理池中M个代理IP生成代理IP队列以供下载中心请求使用,其中M为大于1的整数。

【技术特征摘要】
1.一种在分布式环境下动态调度IP代理池的方法,其特征在于,该方法包括:构建步骤,扫描代理IP资源,为扫描获得的代理IP初始化状态标识后构建IP代理池;检测步骤,对初始代IP理池中的代理IP进行检测,并根据检测结果更新代理IP的状态标识;调度步骤,获取IP代理池中M个代理IP生成代理IP队列以供下载中心请求使用,其中M为大于1的整数。2.根据权利要求1所述的方法,其特征在于,所述代理IP状态标识包括:失效、未检测和有效,扫描获得的代理IP初始化状态标识为未检测,IP代理池存储每个代理IP的IP地址、端口、状态和检测时间。3.根据权利要求1所述的方法,其特征在于,在扫描代理IP资源时,设置IP代理池最小可用数为Nmin,当代理池中剩余可用代理IP数量小于Nmin时,重新扫描代理IP资源,并补充到IP代理池中;当代理池中剩余可用代理IP数量大于等于Nmin时,则停止扫描,且在经过第一预设时间阈值后,进行判断IP代理池可用代理IP数量,根据可用代理IP数量确定是否启动扫描任务,其中Nmin为整数。4.根据权利要求1所述的方法,其特征在于,所述检测步骤的操作为:定时遍历所述IP代理池,对代理IP逐一进行有效性检测,判断代理IP的首次获取时间CREATE_TIME与系统当前时间NOW_TIME的时间差是否大于10分钟,如果是,则判断当前代理IP已过期,并将该代理IP的状态标识更改为失效,如果否,则使用当前代理IP对预设的公开网站发送请求数据包,若返回的响应码处于正常范围,则判定当前代理IP可用,更改该代理IP的状态标识为有效,同时记录本次检测时间,若返回的响应码处于异常范围,则判定当前代理IP不可用,更改该代理IP的状态为失效。5.根据权利要求4所述的方法,其特征在于,所述调度步骤的操作为:定时选取M个代理IP加入到代理调度中心的代理IP队列中,在代理调度中心建立缓存区用于记录在预设时间间隔内已使用的代理IP,当有下载中心的下载单元向代理IP调度中心发起请求时,获取代理IP队列锁并判断代理IP队列是否为空,如果代理IP队列不为空,则位于队首的代理IP出队,如果代理IP队列为空,则等待IP代理池补充资源到代理IP队列,再执行出队动作;判断当前出队的代理IP在缓存区中是否存在,若存在,表示在预设的时间间隔内该代理IP已重复出现,则重新获取新的代理IP;若不存在,表示在预设的时间间隔内该代理IP首次使用,返回该代理IP给下载单元,代理IP返回给下载单元后,释放所述锁,同时将当前代理IP记录到缓存区中,防止在预设时间间隔内被重复使用。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:请求步骤,所述下载单元获取到代理IP后,使用该代理IP向目标网站发起数据请求。7.一种在分布式环境下动态调度IP代理池的装置,其特征在于,该装置包括:构建单元,...

【专利技术属性】
技术研发人员:谢鹏达栾江霞李火泉徐晓文章正道
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1