[发明专利]一种基于消息中间件的数据采集系统、方法及装置在审
申请号: | 202011568126.0 | 申请日: | 2020-12-25 |
公开(公告)号: | CN112597371A | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 张玉良;陈烨;彭佳勇;屠宏伟;任丽娜;聂鑫;王平 | 申请(专利权)人: | 牧原食品股份有限公司 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;G06F16/955;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张春辉 |
地址: | 474350 *** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 消息 中间件 数据 采集 系统 方法 装置 | ||
本申请公开了一种基于消息中间件的数据采集系统,包括主节点、消息中间件、多个子节点和数据库,其中,主节点用于获取数据源URL列表,并将数据源URL列表中的URL通过消息中间件分发给各个子节点;子节点基于Scrapy采集框架实现,用于根据接收到的URL进行数据采集,并将数据采集结果通过数据库连接池存储至数据库。可见,该系统通过对Scrapy采集框架进行扩展,实现了一种高效的分布式环境下的数据采集方案,且各个节点和消息中间件稳定性较高,能够保证整个数据采集系统的可靠性。此外,本申请还提供了一种基于消息中间件的数据采集方法及装置,其技术效果与上述系统相对应。
技术领域
本申请涉及计算机技术领域,特别涉及一种基于消息中间件的数据采集系统、方法及装置。
背景技术
随着互联网技术的发展,数据激增,在分布式环境下,数据监控是十分有必要的。数据监控的前提是数据采集,然而,目前在分布式环境中缺少可靠的数据采集方案,为数据监控的实施带来困难。
发明内容
本申请的目的是提供一种基于消息中间件的数据采集系统、方法及装置,用以解决目前在分布式环境中缺少可靠的数据采集方案的问题。其具体方案如下:
第一方面,本申请提供了一种基于消息中间件的数据采集系统,包括:主节点、消息中间件、多个子节点和数据库;
其中,所述主节点用于获取数据源URL列表,并将所述数据源URL列表中的URL通过所述消息中间件分发给各个所述子节点;
所述子节点基于Scrapy采集框架实现,用于根据接收到的URL进行数据采集,并将数据采集结果通过数据库连接池存储至所述数据库。
优选的,所述子节点用于:
根据接收到的URL对目标页面进行解析,得到数据采集结果,其中所述目标页面为以下任意类型:xpath,css,lxml。
优选的,所述子节点用于:
根据接收到的URL进行数据采集,将采集得到的数据存储至缓存中;在所述缓存中的数据满足目标条件时,将所述缓存中的数据作为数据采集结果通过数据库连接池存储至所述数据库,其中所述目标条件为数据量大于第一阈值或数据抓取深度大于第二阈值。
优选的,所述子节点用于:
每隔预设时间间隔根据接收到的URL进行数据采集。
优选的,所述子节点还用于:
根据所述数据采集结果的数据类型对所述数据采集结果进行数据清洗。
优选的,所述消息中间件为rabbitMQ。
优选的,所述数据库连接池用于:
在接收到所述子节点发送的数据采集结果之后,判断所述数据采集结果是否为重复数据,若不是,则将所述数据采集结果存储至所述数据库。
优选的,所述数据库连接池用于:
在接收到所述子节点发送的数据采集结果之后,计算所述数据采集结果的MD5值,将所述数据采集结果的MD5值与所述数据库中每条数据的MD5值做对此,若相同,则判定所述数据采集结果为重复数据,否则判定所述数据采集结果不为重复数据。
第二方面,本申请提供了一种基于消息中间件的数据采集方法,包括:
主节点获取数据源URL列表;
所述主节点将所述数据源URL列表中的URL通过消息中间件分发给多个子节点,所述子节点基于Scrapy采集框架实现;
所述子节点根据接收到的URL进行数据采集;
所述子节点将数据采集结果通过数据库连接池存储至数据库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于牧原食品股份有限公司,未经牧原食品股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011568126.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置