预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN106874424A(43)申请公布日2017.06.20(21)申请号201710056576.3(22)申请日2017.01.25(71)申请人杭州淘淘搜科技有限公司地址310052浙江省杭州市滨江区滨安路1197号3号楼412室(72)发明人黄琦王伟琼蔡国雄(74)专利代理机构杭州求是专利事务所有限公司33200代理人刘静邱启旺(51)Int.Cl.G06F17/30(2006.01)G06F9/54(2006.01)权利要求书2页说明书4页附图2页(54)发明名称一种基于MongoDB和Redis的网页数据采集处理方法及系统(57)摘要本发明公开了一种基于MongoDB和Redis的网页数据采集处理方法及系统,该方法首先设定网页下载请求的格式;然后为下载请求分配全局唯一ID;依照配置中心预置的对应业务负载均衡策略,完成对请求的转发;采用MongoDB的副本集架构将请求按业务类型分库分表。将请求写入MongoDB数据库,并用id字段覆盖MongoDB默认的_id索引,对ts字段建立TTL索引,同时将id、biz、ts三个字段转json格式后,利用lpush操作压入Redis消息队列;最后各下载服务器一直保持监听Redis消息队列,轮询提取请求并下载解析网页,获取目标数据记录入库。本发明结合Redis内存消息队列和Mongodb副本集架构实施的分布式网页下载请求存储方案,构建成本低、简单实用。CN106874424ACN106874424A权利要求书1/2页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所述的一种基于MongoDB和Redis的网页数据采集处理方法,其特征在于,所述步骤2中,使用SnowFlake为下载请求分配全局唯一ID。5.一种基于MongoDB和Redis的网页数据采集处理系统,其特征在于,该系统包括以下模块:全局ID生成器模块、请求路由转发模块、配置中心、持久化模块和消息队列模块;所述全局ID生成器模块为下载请求分配全局唯一ID,对应下载请求的id字段;所述配置中心基于分布式协同服务,预置各业务的网页请求解析规则映射表、持久化节点列表、MongoDB数据库名、集合名、集合水平拆分数、Redis消息队列名;所述请求路由转发模块依照配置中心预置的对应业务负载均衡策略,完成对请求的转发:首先根据下载请求的业务类型bi