The invention discloses a web based data acquisition and processing method and system of MongoDB and Redis, this method first set the page download request format; download request distribution globally unique ID then; in accordance with the corresponding load balancing strategy business center to complete the preset configuration, request forwarding; set architecture will request according to business type split a copy of the table by MongoDB. The request is written to the MongoDB database, and cover the _id index MongoDB default ID field, build TTL index on the TS field, while ID, biz and TS three field to JSON format, press the Redis message queue using the lpush operation; finally, the download server keeps monitoring Redis message queue polling extraction request and download parsing web pages, access records storage target data. The invention combines the Redis memory message queue and the Mongodb replica set architecture to implement the distributed web page downloading request storage scheme, and has the advantages of low cost, simple and practical use.
【技术实现步骤摘要】
一种基于MongoDB和Redis的网页数据采集处理方法及系统
本专利技术涉及数据采集
,特别涉及一种基于MongoDB和Redis的网页数据采集处理方法及系统。
技术介绍
当前处于一个信息爆发增长的数据时代,专业化的数据分析和深度挖掘,不断孕育出巨大商机。越来越多企业由传统模式的依靠直觉和经验判断,转向依靠大数据分析和预测来制定企业战略决策,各企业对数据的获取需求愈加强烈。特别地,对于那些并不直接生产大数据的互联网中小企业而言,通过网络爬虫技术实施有针对性、行业性、精准性的数据采集,间接建立企业的“大数据战略”体系,就显得尤为重要。不仅能大大降低企业大数据信息建设的成本,更能满足企业业务发展要求,充分利用网络数据价值,达到利益更大化。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于MongoDB和Redis的网页数据采集处理方法及系统,便于企业低成本、高效率建立满足自身业务发展需求的数据仓库。本专利技术的目的是通过以下技术方案来实现的:一种基于MongoDB和Redis的网页数据采集处理方法,该方法包括以下步骤:(1)设定网页下载请求的格式:请求唯一标识符id、业务类型biz、时间戳ts、请求实体内容data、消息处理状态flag;(2)为下载请求分配全局唯一ID,对应下载请求的id字段;(3)基于分布式协同服务,在配置中心预置各业务的网页请求解析规则映射表、持久化节点列表、MongoDB数据库名、集合名、集合水平拆分数、Redis消息队列名。(4)依照配置中心预置的对应业务负载均衡策略,完成对请求的转发:首先根据下载请求的业务类型 ...
【技术保护点】
一种基于MongoDB和Redis的网页数据采集处理方法,其特征在于,该方法包括以下步骤:(1)设定网页下载请求的格式:请求唯一标识符id、业务类型biz、时间戳ts、请求实体内容data、消息处理状态flag;(2)为下载请求分配全局唯一ID,对应下载请求的id字段;(3)基于分布式协同服务,在配置中心预置各业务的网页请求解析规则映射表、持久化节点列表、MongoDB数据库名、集合名、集合水平拆分数、Redis消息队列名。(4)依照配置中心预置的对应业务负载均衡策略,完成对请求的转发:首先根据下载请求的业务类型biz,从配置中心获取该biz预先定义的持久化节点列表、MongoDB数据库名、集合名、集合水平拆分数、Redis消息队列名,再结合对唯一标识符id求模取余策略,将请求持久化到MongoDB相应的数据库和集合,同时在Redis消息队列记录此条请求;(5)采用MongoDB的副本集架构将请求按业务类型分库分表。将请求写入MongoDB数据库,并用id字段覆盖MongoDB默认的_id索引,对ts字段建立TTL索引,同时将id、biz、ts三个字段转json格式后,利用lpush操 ...
【技术特征摘要】
1.一种基于MongoDB和Redis的网页数据采集处理方法,其特征在于,该方法包括以下步骤:(1)设定网页下载请求的格式:请求唯一标识符id、业务类型biz、时间戳ts、请求实体内容data、消息处理状态flag;(2)为下载请求分配全局唯一ID,对应下载请求的id字段;(3)基于分布式协同服务,在配置中心预置各业务的网页请求解析规则映射表、持久化节点列表、MongoDB数据库名、集合名、集合水平拆分数、Redis消息队列名。(4)依照配置中心预置的对应业务负载均衡策略,完成对请求的转发:首先根据下载请求的业务类型biz,从配置中心获取该biz预先定义的持久化节点列表、MongoDB数据库名、集合名、集合水平拆分数、Redis消息队列名,再结合对唯一标识符id求模取余策略,将请求持久化到MongoDB相应的数据库和集合,同时在Redis消息队列记录此条请求;(5)采用MongoDB的副本集架构将请求按业务类型分库分表。将请求写入MongoDB数据库,并用id字段覆盖MongoDB默认的_id索引,对ts字段建立TTL索引,同时将id、biz、ts三个字段转json格式后,利用lpush操作压入Redis消息队列;(6)各下载服务器一直保持监听Redis消息队列,轮询提取请求并下载解析网页,获取目标数据记录入库。2.根据权利要求1所述的一种基于MongoDB和Redis的网页数据采集处理方法,其特征在于,所述步骤6具体为:首先利用rpop或其阻塞版操作brpop从队列弹出请求,再结合id、biz和ts这三个字段组合成查询过滤条件,然后调用MongoDB的原子操作findAndModify查询对应的MongoDB持久化节点的数据库和集合,即可得到完整的请求内容,根据该请求附带的解析规则映射表,解析页面获取目标数据记录入库。3.根据权利要求1所述的一种基于MongoDB和Redis的网页数据采集处理方法,其特征在于,在步骤1-步骤6中,实时监控网页下载请求的生成速率;监控服务节点的健康状况:包括数据库存储容量、内存使用率、慢查询操作,以及内存消息队列的内存占用、消息积压程度等,当遭遇节点故障或服务性能下滑超过设定阈值时,及时以短信或邮件方式发送报警信息;监控下载请求的处理速率,发现请求积压严重或无法在计划时间内完成处理时,及时增加处理节点动态扩容。4.根据权利要求1所述的一种...
【专利技术属性】
技术研发人员:黄琦,王伟琼,蔡国雄,
申请(专利权)人:杭州淘淘搜科技有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。