一种分布式数据采集方法及系统的制作方法

文档序号:9923918阅读:318来源:国知局
一种分布式数据采集方法及系统的制作方法
【技术领域】
[0001]本发明属于网络数据采集技术领域,具体涉及一种分布式数据采集方法及系统。
【背景技术】
[0002]采集机器接收到采集任务后,从互联网上采集网络数据。在采集网络数据时,由于一台采集机器在短时间内频繁采集网络数据,会被目标网站屏蔽,而无法实现正常采集网络数据。由于采集机器本身性能的限制,采集网络数据速度较慢,然后此时其他采集机器并无采集任务,处于空闲状态,不仅延长了采集机器完成采集任务的时间,也造成了一定的资源浪费。
[0003]参考专利文献CN102130759A公开了一种数据采集方法,该方法应用于数据采集机集群中,该方法包括:数据采集机集群中的第一数据采集机进行数据采集;当第一数据采集机发生故障时,由数据采集机集群中的第二数据采集机替换第一数据采集机进行数据采集。该专利是在第一数据采集机发生故障时,再使用第二数据采集机替换第一数据采集机,第二数据采集机为备用,当第一数据采集机正常工作时,第二数据采集机处于空闲状态,浪费了资源。
[0004]参考专利文献CN103188101A公开了一种分布式采集调度方法及装置,该装置中包括一台云服务器、一台代理服务器、多台采集机。用户可以配置多台采集机,只需要在云服务器将需要采集的各种网络设备信息分配给不同的采集机,那么每个采集机就可以单独的调度自己的采集任务。该专利是对采集机进行统一管理,将设备信息分配多些给采集任务多的采集机,但每个采集机的采集任务需要自己完成,不能分配给其他采集机。

【发明内容】

[0005]针对现有技术存在的不足之处,本发明提出了一种分布式数据采集方法及系统,该系统的云服务器不提供采集任务,只是监控采集机器的运行状态。每一个采集机器具有采集功能,采集机器通过云服务器传递采集任务和采集结果,解决采集机器负载均衡的问题,特别适合以网页为载体的采集服务。采集机器数量不限,可以根据用户需要增减采集机器。
[0006]本发明采用如下技术方案:
[0007]—种分布式数据采集方法,它包括以下步骤,
[0008]SI,采集机器与云服务器进行双向认证,认证均通过后,采集机器将自身的机器信息和采集任务列表发送给云服务器;
[0009]S2,云服务器将忙碌采集机器的采集任务发送给空闲采集机器;
[0010]S3,空闲采集机器接收到云服务器发送的采集任务,完成该采集任务后,将采集结果经云服务器传输给对应的采集机器。
[0011 ]进一步的,步骤SI还包括采集机器在运行过程中产生的运行日志信息发送给云服务器。
[0012]进一步的,步骤S2中云服务器将忙碌采集机器的采集任务发送给空闲采集机器的步骤包括,
[00?3 ] S210,75Γ服务器向忙碌米集机器请求米集任务;
[0014]S211,忙碌采集机器接收到云服务器的采集任务请求,查找忙碌采集机器中未执行或超时的米集任务,超时的米集任务为Ζ5Γ服务器请求执行该米集任务未按时返回米集结果;
[0015]S212,判断忙碌采集机器未执行或超时的采集任务是否为空,若为空,则返回给云服务器空信息,若不为空,则将采集任务信息发送给云服务器;
[0016]S213,云服务器将接收到的采集任务发送给空闲采集机器,空闲采集机器对接收到米集任务?目息进行验证,验证米集任务有效后,将米集任务存入米集任务添加模块,并加入待执行任务列表中。
[0017]进一步的,步骤S3中采集结果的传输包括以下步骤,
[0018]S320,空闲采集机器采用摘要算法获得的采集结果的摘要,将该摘要和压缩后的采集结果经云服务器发送给忙碌采集机器;
[0019]S321,忙碌采集机器将采集结果解压后,验证采集结果文件的摘要;
[0020]S322,摘要验证成功后,将忙碌采集机器的该采集任务状态改为执行成功状态,并将采集结果放入采集任务结果文件中,摘要验证失败后,则请求重新发送采集结果。
[0021]—种分布式数据米集系统,它包括,
[0022]采集机器,用于管理和执行采集任务,并与云服务器进行双向认证,认证均通过后,将自身的机器信息和采集任务列表发送到云服务器,忙碌采集机器将自身的采集任务经云服务器发送给空闲采集机器,采集任务完成后将采集结果经云服务器传输给对应的采集机器;
[0023]云服务器,用于管理采集机器,查看采集机器的运行状态,并作为采集机器连接的枢纽。
[0024]进一步的,采集机器包括文件发送端和文件接收端,一个采集机器的文件发送端将其采集任务或采集结果经云服务器发送给另一个采集机器的文件接收端。
[0025]本发明提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽,增加吞吐量,加强网络数据处理能力,提高网络的灵活性和可用性,且使采集机器之间相互协作,共同完成工作任务。采集机器之间不直接通讯,保证了采集机器信息安全。
【附图说明】
[0026]图1是云服务器对采集机器监控流程图;
[0027]图2是采集机器之间采集任务传递流程图;
[0028]图3是采集器之间传输采集结果的流程图;
[0029]图4是分布式数据采集系统框架图。
【具体实施方式】
[0030]为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
[0031]现结合附图和【具体实施方式】对本发明进一步说明。
[0032]参阅图1至图4所示,本发明提出了一种分布式数据采集方法,它包括以下步骤,
[0033]SI,采集机器与云服务器进行双向认证,认证均通过后,采集机器将自身的机器信息和采集任务列表发送给云服务器。
[0034]为了保证信息安全,采集机器首先向云服务器发送认证信息,云服务器接收到采集机器的认证信息后,对采集机器进行认证。认证成功后,云服务器将自身信息发送到所有认证通过的采集机器上,采集机器对服务器进行认证,认证再次通过后,云服务器和采集机器之间建立通讯关系。
[0035]采集机器将其IP、状态、机器码等自身相关的机器信息,采集任务列表,以及各采集机器在执行采集任务时,采集记录的运行日志都传输到云服务器。云服务器根据采集机器登记的各类信息,对所有采集机器的在线时长、任务执行状态和数量等进行统计,以及对各采集机器进行启用、停用的控制,从而达到一个远程监控采集机器的目的。
[0036]需要说明的是,采集机器应先在云服务器进行登记,采集机器启动初始化时,首先是一个用户名检查登记的过程。根据采集机器硬件信息随机生成一个用户名,通过统一的结构体大小包,发送给云服务器进行登记,云服务器得到采集机器发送上来的用户名,根据用户信息数据库,检查该用户名是否已被其他采集机器占用,并将检查结果返回给采集机器,采集机器接收到云服务器返回的用于检测用户名是否被占用的包时,发现若未被占用,则登记成功结束,将该用户名记录本地配置文件,以便下次登录时使用,若已被占用,则重新生成一个用户名继续登记,直到登记成功为止。
[0037]云服务器将采集机器心跳包获得的采集机器信息,以及在线状态、上线时间、在线时长等相关信息,记录到云服务器的采集机器信息数据库中,对整个采集过程进行统一的页面展示,以方便远程监控各采集机器和观察采集机器的状态信息。
[0038]S2,云服务器将忙碌采集机器的采集任务发送给空闲采集机器。
[0039]处于空闲状态、没有采集任务的采集机器定义为空闲采集机器,有采集任务的采集机器定义为忙碌采集机器。当采集机器处于空闲状态,将其他忙碌采集机器的采集任务发送给处于空闲状态的采集机器。
[0040]参阅图2所示,为采集机器之间采集任务传递流程图,忙碌采集机器将自身采集任务数据库中未执行或超时的任务,经云服务器发送给其他空闲采集机器,由其他空闲采
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1