一种推拉结合的分布式云端并发采集方法与流程

文档序号:12309861阅读:1006来源:国知局
一种推拉结合的分布式云端并发采集方法与流程

本发明涉及大数据分布式采集技术领域,具体提供一种推拉结合的分布式云端并发采集方法。



背景技术:

计算机具有存储信息量大,使用者获取信息方便快捷等优点,受到广泛的应用。在实际应用时,计算机每时每刻都产生大量的数据,有些需要分析,有些需要存储,所有的这些需要处理的数据数量是庞大、并具有相似性的,所以需要对这些产生的大数据进行分析处理,采集需要的数据。但是,在现有的大数据分布式采集过程中,尤其涉及在分布式云端并发采集情况下,现有云端服务器采集大数据效率不高,服务器的并发采集数一般,采集的数据传输效率一般,影响服务器的数据采集效率。

专利号为cn106502802a的专利文献中,公开了一种基于avrorpc传输的分布式云端并发采集方法。该发明所述的分布式云端并发采集方法,包括客户端和服务端两个模块,其中:在服务端设置有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下载前判定任务是否停止,任务若停止则不进行下载。

请求超时主动关闭连接功能针对连接请求阻塞,在连接超时参数基础上增设请求超时参数。增设请求超时线程池,将请求作为线程池的任务进行提交,通过线程池的执行返回值获取任务的执行状态,如果任务超过设定的超时时间仍然没有响应则主动关闭其任务线程,结束任务,并设定本次请求失败,重新发起请求。

以上所述的实施例,只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1