一种推拉结合的分布式云端并发采集方法与流程
优采云 发布时间: 2020-08-28 12:21一种推拉结合的分布式云端并发采集方法与流程
本发明涉及大数据分布式采集技术领域,具体提供一种推拉结合的分布式云端并发采集方法。
背景技术:
计算机具有储存信息量大,使用者获取信息便捷快捷等优点,受到广泛的应用。在实际应用时,计算机每时每刻都形成大量的数据,有些须要剖析,有些须要储存,所有的这种须要处理的数据数目是庞大、并具有相似性的,所以须要对这种形成的大数据进行剖析处理,采集需要的数据。但是,在现有的大数据分布式采集过程中,尤其涉及在分布式云端并发采集情况下,现有云端服务器采集大数据效率不高,服务器的并发采集数通常,采集的数据传输效率通常,影响服务器的数据采集效率。
专利号为CN 106502802 A的专利文献中,公开了一种基于Avro RPC传输的分布式云端并发采集方法。该发明所述的分布式云端并发采集方法,包括客户端和服务端两个模块,其中:在服务端设置有URL储存容器、规则配置容器、计数容器,规则配置容器储存客户端发送的采集规则,规定不同网站的采集策略;计数容器则依照采集策略,按照计数递减的形式推送采集网页实现并发采集功能;最后由URL储存容器储存客户端发送的URL并根据域名进行分组储存;客户端定期检验服务端状态,查看URL储存容器剩余容量,批量发送待采集网页,批量回收已采集网页,批量发送网页采集规则。该分布式云端并发采集方法提高了传输效率,并提高了采集的并发效率。但是,该分布式云端并发采集方法在云端网路不稳定的情况下,服务端没有感知到并继续推送待下载URL时,会导致待下载URL堆积。其次,存在现有规则配置不能及时清除问题。再次,在任务主动停止时,待下载URL一直下载。最后,在任务恳求超时时,不能主动关掉联接,具有一定的局限性。
技术实现要素:
本发明的技术任务是针对上述存在的问题,提供一种云端按照自己的运行情况去恳求待下载URL,从而有效的防止待下载URL堆积的推拉结合的分布式云端并发采集方法。
为实现上述目的,本发明提供了如下技术方案:
一种推拉结合的分布式云端并发采集方法,包括采集调度、采集服务端和采集云端三个模块,其中
采集调度模块包括提供拉取网页API接口、维护采集服务端和采集云端对应功能;采集服务端模块包括定时回收网页模块及定时发送配置及命令模块,提供定时回收网页、配置发送及获取云端状态功能;采集云端模块包括URL储存容器、配置缓存和计数容器,配置缓存基于缓存机制,进行配置的获取、存放和更新;
该分布式云端并发采集方法通过RPC实现推模式和拉模式两种远程调用方法,所述推模式是采集云端接收采集服务端定时通过RPC推送的信息,完成配置发送以及已下载网页回收,所述拉模式是采集云端定时向采集调度模块发起恳求,计算所需的网页数目并从采集调度模块提供的API接口拉取采集所需的网页;
所述方式能实现待下载URL估算与恳求功能、配置缓存功能、任务云端主动停止功能和恳求超时主动关掉联接功能。
所述推模式为采集服务端向采集云端推送任务配置相关信息,将采集云端状态作为响应;拉模式为采集云端依据任务配置信息,主动向采集服务端发起恳求。
作为优选,所述待下载URL估算与恳求功能为采集云端估算各个任务恳求数目,携带任务恳求数目向采集服务端发起恳求,采集服务端根据任务恳求数目返回URL。
作为优选,采集云端估算各个任务恳求数目时,即推模式具体包括以下步骤:
A)从配置缓存中获取全部正在运行任务;
B)遍历所有正在运行任务并判定运行任务在URL储存容器中是否存在,若存在执行步骤C),否则执行步骤D);
C)获取URL储存容器中相应任务的存量,与设定的该任务上限阈值差值即为待获取的该任务的URL数目;
D)设定的任务上限阈值即为待获取任务的URL数目;
E)将各个任务的数目装入恳求中到采集服务端,等待采集服务端响应,响应即为符合要求的待下载URL。
作为优选,所述拉模式具体包括以下步骤:
1)采集服务端定时启动;
2)遍历采集服务端关联节点,发起RPC恳求;
3)采集云端接收采集服务端推送的恳求,判断恳求类型是否是配置,若是,执行步骤4),否则执行步骤5);
4)采集云端储存配置;
5)判断恳求类型是否是命令,若是,执行步骤6),否则执行步骤7);
6)采集云端执行相应命令;
7)判断恳求类型是否是回收网页,若是,执行步骤8),否则执行步骤9);
8)采集云端返回已下载网页;
9)结束。
作为优选,所述配置缓存功能针对规则配置不能及时清除问题,设定合理的过期时间,配置缓存项在给定时间内没有被读/写访问,则过期回收。
作为优选,采集服务端的脉搏将最新的运行中任务情况发送至采集云端,采集云端按照接收到的任务信息对配置缓存进行储存或更新。
作为优选,所述配置获取为从配置中获取数据,若配置缓存中存在该配置项则换回配置的相关信息,若不存在则根据默认生成储存相应的配置并返回。
作为优选,所述任务云端主动停止功能针对任务主动停止,采集云端待下载URL一直下载,创建基于时间回收的任务停止缓存。
在收到任务停止命令时向缓存中插入该任务,在待下载URL下载前判断任务是否停止,任务若停止则不进行下载。
作为优选,所述恳求超时主动关掉联接功能针对联接恳求阻塞,在联接超时参数基础上增设恳求超时参数,在恳求线程长时间无反弹时,主动关掉恳求线程,并设定恳求失败,重新发起恳求。
与现有技术相比,本发明的推拉结合的分布式云端并发采集方法具有以下突出的有益疗效:
(一)在采集云端状态不稳定的情况下,向采集云端推送待下载URL,需要及时确切的感知采集云端状态,若采集云端状态为不良,而采集服务端没有感知到并继续推送待下载URL,不仅会导致待下载URL浪费,同时导致采集云端待下载URL堆积,本发明的方式将推模式与拉模式相结合,采集云端按照自己运行情况向采集服务端恳求待下载URL,能够有效的降低待下载URL浪费,避免采集云端待下载URL堆积;
(二)该发明中,所述配置缓存才能解决规则配置不能及时清除的问题,实现配置高效使用及清除,提高采集稳定性及采集并发效率,具有良好的推广应用价值。
附图说明
图1是本发明所述推拉结合的分布式云端并发采集方法的拉模式流程图;
图2是本发明所述推拉结合的分布式云端并发采集方法的推模式流程图。
具体施行方法
下面将结合附图和施行例,对本发明的推拉结合的分布式云端并发采集方法作进一步详尽说明。
实施例
本发明的推拉结合的分布式云端并发采集方法,包括采集调度、采集服务端和采集云端三个模块。
采集调度模块包括提供拉取网页API接口、维护采集服务端和采集云端对应功能。采集服务端模块包括定时回收网页模块及定时发送配置及命令模块,提供定时回收网页、配置发送及获取云端状态功能。采集云端模块包括URL储存容器、配置缓存和计数容器,配置缓存基于缓存机制,进行配置的获取、存放和更新。
该分布式云端并发采集方法通过RPC实现推模式和拉模式两种远程调用方法。推模式是采集服务端向采集云端推送任务配置相关信息,将云端状态作为响应,具体为采集云端接收采集服务端定时通过RPC推送的信息,完成配置发送以及已下载网页回收。拉模式是采集云端依据任务配置信息,主动向采集服务端恳求要下载的URL,具体为采集云端定时向采集调度模块发起恳求,计算所需的网页数目并从采集调度模块提供的API接口拉取采集所需的网页,可以避免云端待下载URL堆积,又能提升采集稳定性及采集并发率。
该方式能实现待下载URL估算与恳求功能、配置缓存功能、任务云端主动停止功能和恳求超时主动关掉联接功能。
待下载URL估算与恳求功能为估算各个任务恳求数目,采集云端携带任务恳求数目向采集服务端发起恳求,采集服务端根据任务恳求数目返回URL,即为本发明中的推模式,如图1所示。具体包括以下步骤:
A)从配置缓存中获取全部正在运行任务;
B)遍历所有正在运行任务并判定运行任务在URL储存容器中是否存在,若存在执行步骤C),否则执行步骤D);
C)获取URL储存容器中相应任务的存量,与设定的该任务上限阈值差值即为待获取的该任务的URL数目;
D)设定的任务上限阈值即为待获取任务的URL数目;
E)将各个任务的数目装入恳求中到采集服务端,等待采集服务端响应,响应即为符合要求的待下载URL。
如图2所示,本发明中的拉模式具体包括以下步骤:
1)采集服务端定时启动;
2)遍历采集服务端关联节点,发起RPC恳求;
3)采集云端接收采集服务端推送的恳求,判断恳求类型是否是配置,若是,执行步骤4),否则执行步骤5);
4)采集云端储存配置;
5)判断恳求类型是否是命令,若是,执行步骤6),否则执行步骤7);
6)采集云端执行相应命令;
7)判断恳求类型是否是回收网页,若是,执行步骤8),否则执行步骤9);
8)采集云端返回已下载网页;
9)结束。
配置缓存功能针对规则配置不能及时清除问题,设定合理的过期时间,配置缓存项在给定时间内没有被读/写访问,则过期回收。采集服务端的脉搏将最新的运行中任务情况发送至采集云端,采集云端按照接收到的任务信息对配置缓存进行储存或更新。所述配置获取为从配置中获取数据,若配置缓存中存在该配置项则换回配置的相关信息,若不存在则根据默认生成储存相应的配置并返回。
任务云端主动停止功能针对任务主动停止,采集云端待下载URL一直下载,创建基于时间回收的任务停止缓存。在收到任务停止命令时向缓存中插入该任务,在待下载URL下载前判断任务是否停止,任务若停止则不进行下载。
请求超时主动关掉联接功能针对联接恳求阻塞,在联接超时参数基础上增设恳求超时参数。增设恳求超时线程池,将恳求作为线程池的任务进行递交,通过线程池的执行返回值获取任务的执行状态,如果任务超过设定的超时时间一直没有响应则主动关掉其任务线程,结束任务,并设定本次恳求失败,重新发起恳求。
以上所述的施行例,只是本发明较优选的具体施行方法,本领域的技术人员在本发明技术方案范围内进行的一般变化和替换都应收录在本发明的保护范围内。