一种基于分布式消息系统的采集方法及装置的制造方法

文档序号:9844163阅读:386来源:国知局
一种基于分布式消息系统的采集方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据处理技术领域,特别涉及一种基于分布式消息系统的采集方法及
目.0
【背景技术】
[0002]随着互联网的飞速发展,大数据这个概念越来越受到人们的关注。企业可以通过网络爬虫采集互联网中的数据,并且对数据进行深加工找出更有价值的数据分析结果,并通过分析结果提供决策支持,驱动企业的加速发展。
[0003 ]传统的数据采集方式通过爬取采集任务的列表URL,人工将列表URL分配到采集节点进行米集。
[0004]可见,传统的采集方式需要人工分配采集任务,效率较低。

【发明内容】

[0005]本发明提供一种基于分布式消息系统的采集方法及装置,能够自动分配采集任务。
[0006]第一方面,本发明实施例提供了一种基于分布式消息系统的采集方法,应用于分布式消息系统,其中,所述分布式消息系统连接有至少一个采集节点及管理端,并配置任务主题,还包括:
[0007]建立自动分配规则,所述自动分配规则用于实现在确定所述任务主题接收到采集任务时自动向所述至少一个采集节点分配该采集任务的触发功能;
[0008]接收所述管理端向所述任务主题发送的目标采集任务;
[0009]根据所述自动分配规则发送所述目标采集任务至所述至少一个采集节点,以使所述至少一个采集节点根据所述目标采集任务执行数据的采集;
[0010]接收所述至少一个采集节点在确定采集的数据中包括子任务时向所述任务主题返回的该子任务,并将该子任务作为所述目标采集任务并执行根据所述自动分配规则发送所述目标采集任务步骤;
[0011]重复执行接收所述管理端向所述任务主题发送的目标采集任务步骤和根据所述自动分配规则发送所述目标采集任务步骤步骤,直至在设定的时间段内未接收到所述至少一个采集节点返回的子任务。
[0012]优选地,
[0013]所述自动分配规则进一步包括:按均分配子规则;
[0014]其中,所述发送所述采集任务至所述至少一个采集节点,包括:确定每一个采集节点所包括的当前任务量,并根据所述采集任务对应的总任务量,计算向每一个采集节点分配的目标任务量,并将计算的目标任务量发送给相应的采集节点,以使分配后每一个采集节点包括均等的任务量。
[0015]优选地,进一步包括:
[0016]配置日志主题,其中,所述分布式消息系统连接有分布式日志系统;
[0017]接收所述至少一个采集节点发送到所述日志主题的采集日志和错误日志,输出所述采集日志和错误日志给分布式日志系统,通过分布式日志系统分析和统计采集状况。
[0018]第二方面,本发明实施例提出了一种基于分布式消息系统的采集方法,应用于采集节点,所述采集节点连接有分布式消息系统,还包括:
[0019]接收所述分布式消息系统发送的目标采集任务;
[0020]判断所述目标采集任务中是否包括列表URL,如果所述目标采集任务包括列表URL,将所述列表URL中的明细URL作为子任务发送给所述分布式消息系统,以使所述分布式消息系统将所述子任务作为目标采集任务重新执行分配,并执行上一步;否则,执行下一步;
[0021 ]爬取所述目标采集任务,并存储爬取到的数据;
[0022]重复执行判断步骤和爬取步骤,直至所述目标采集任务中不包括列表URL。
[0023]第三方面,本发明实施例提出了一种分布式消息系统,连接有至少一个采集节点及管理端,还包括:
[0024]配置模块,用于配置任务主题:
[0025]建立模块,用于建立自动分配规则,所述自动分配规则用于实现在确定所述任务主题接收到采集任务时自动向所述至少一个采集节点分配该采集任务的触发功能;
[0026]接收模块,用于接收所述管理端向所述任务主题发送的目标采集任务,将所述目标采集任务输出给发送模块;
[0027]发送模块,用于根据所述自动分配规则发送所述目标采集任务至所述至少一个采集节点,以使所述至少一个采集节点根据所述目标采集任务执行数据的采集;
[0028]处理模块,用于接收所述至少一个采集节点在确定采集的数据中包括子任务时向所述任务主题返回的该子任务,并将该子任务作为所述目标采集任务并触发发送模块;
[0029]循环模块,用于重复触发发送模块和处理模块,直至在设定的时间段内未接收到所述至少一个采集节点返回的子任务。
[0030]优选地,进一步包括:
[0031 ]规则定义模块,用于定义自动分配规则的按均分配子规则;
[0032]所述发送所述采集任务至所述至少一个采集节点,包括:确定每一个采集节点所包括的当前任务量,并根据所述采集任务对应的总任务量,计算向每一个采集节点分配的目标任务量,并将计算的目标任务量发送给相应的采集节点,以使分配后每一个采集节点包括均等的任务量。
[0033]优选地,进一步包括:
[0034]日志配置模块,用于配置日志主题,其中,所述分布式消息系统连接有分布式日志系统;
[0035]日志接收模块,用于接收所述至少一个采集节点发送到所述日志主题的采集日志和错误日志,输出所述采集日志和错误日志给分布式日志系统,通过分布式日志系统分析和统计采集状况。
[0036]第四方面,本发明实施例提出了一种采集节点,连接有分布式消息系统,还包括:
[0037]任务接收模块,用于接收所述分布式消息系统发送的目标采集任务,将所述目标采集任务输出给判断模块;
[0038]判断模块,用于判断所述目标采集任务中是否包括列表URL,如果所述目标采集任务包括列表URL,将所述列表URL中的明细URL作为子任务发送给所述分布式消息系统,以使所述分布式消息系统将所述子任务作为目标采集任务重新执行分配,并触发任务接收模块;否则,触发爬取模块;
[0039]爬取模块,用于爬取所述目标采集任务,并存储爬取到的数据;
[0040]循环模块,用于重复触发判断模块和爬取模块,直至所述目标采集任务中不包括列表URL。
[0041]本发明实施例提出的基于分布式消息系统的采集方法及装置,分布式消息系统通过接收管理端和采集节点发送的采集任务,根据自动采集规则自动分配采集任务到采集节点,从而可以实现自动分配采集任务,提高采集效率。
【附图说明】
[0042]图1是本发明实施例提供的方法流程图;
[0043]图2是本发明另一实施例提供的方法流程图;
[0044]图3是本发明又一实施例提供的方法流程图;
[0045]图4是本发明实施例提供的分布式消息系统结构示意图;
[0046]图5是本发明另一实施例提供的分布式消息系统结构示意图;
[0047]图6是本发明又一实施例提供的分布式消息系统结构示意图;
[0048]图7是本发明实施例提供的采集节点结构示意图。
【具体实施方式】
[0049]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0050]本发明实施例提供了一种基于分布式消息系统的采集方法,应用于分布式消息系统,其中,所述分布式消息系统连接有至少一个采集节点及管理端,如图1所示,该方法可以包括以下步骤:
[0051 ] 步骤101::配置任务主题;
[0052]步骤102:建立自动分配规则,所述自动分配规则用于实现在确定所述任务主题接收到采集任务时自动向所述至少一个采集节点分配该采集任务的触发功能;
[0053]步骤103:接收所述管理端向所述任务主题发送的目标采集任务;
[0054]步骤104:根据所述自动分配规则发送所述目标采集任务至所述至少一个采集节点,以使所述至少一个采集节点根据所述目标采集任务执行数据的采集;<
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1