201809网络爬虫系统-项目建设方案

上传人:简****9 文档编号:94974139 上传时间:2019-08-14 格式:DOC 页数:13 大小:1.10MB
返回 下载 相关 举报
201809网络爬虫系统-项目建设方案_第1页
第1页 / 共13页
201809网络爬虫系统-项目建设方案_第2页
第2页 / 共13页
201809网络爬虫系统-项目建设方案_第3页
第3页 / 共13页
201809网络爬虫系统-项目建设方案_第4页
第4页 / 共13页
201809网络爬虫系统-项目建设方案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《201809网络爬虫系统-项目建设方案》由会员分享,可在线阅读,更多相关《201809网络爬虫系统-项目建设方案(13页珍藏版)》请在金锄头文库上搜索。

1、- 1 - 目录 1. 对项目的理解对项目的理解- 4 - 1.1 背景- 4 - 1.2 业务目标- 4 - 1.3 应用感知目标- 4 - 2. 系统整体架构系统整体架构- 5 - 2.1 技术框架- 5 - 2.2 数据架构- 5 - 2.3 功能模块- 6 - 2.4 功能模块- 7 - 2.5 应用部署架构- 8 - 3. 详细建设方案详细建设方案- 9 - 3.1 一站式大数据采集、存储、清洗、训练、导出 - 9 - 3.2 多租户管理- 9 - 3.2.1 功能说明- 9 - 3.2.2 平台截图- 9 - 3.3 丰富的数据接口- 10 - 3.4 平台高可用性- 10 - 3

2、.5 抓取高效性- 10 - 3.6 高可扩展性- 10 - 3.7 可视化爬虫界面- 10 - 3.8 抓取过程- 11 - 3.9 硬件配置方案- 12 - 3.9.1 主机、存储资源- 12 - 3.9.2 软件资源- 13 - 3.10 资源估算- 13 - 3.10.1 存储- 13 - 3.10.2 CPU与内存.- 14 - 4. 系统安全与系统测试系统安全与系统测试.- 14 - 4.1 系统管理以及系统安全措施.- 14 - 4.2 系统测试的方法和环境- 14 - 5. 工程进度安排及项目实施人员资质工程进度安排及项目实施人员资质 - 15 - 5.1 工程进度安排- 15

3、 - 5.2 项目支撑人员组成表- 17 - 5.3 支撑人员相关证明材料- 21 - 5.3.1 杨继营(项目负责人)- 21 - 5.3.2 李筠- 26 - 5.3.3 邹娟- 29 - 5.3.4 邱文川- 32 - 5.3.5 唐亮- 36 - 5.3.6 赵柏杰- 39 - - 2 - 5.3.7 刘子悦- 42 - 5.3.8 曹平- 45 - 5.3.9 陈汉雄- 48 - 5.3.10 陈一- 51 - 5.3.11 付敏健- 55 - 5.3.12 张福元- 57 - 5.3.13 何州鹏- 60 - 5.3.14 黄华金- 62 - 5.3.15 黄习文- 65 - 5.

4、3.16 李佳- 68 - 5.3.17 李威虎- 71 - 5.3.18 刘起云- 74 - 5.3.19 冼锡勇- 77 - 5.3.20 杨锋- 80 - 5.3.21 邹兴- 82 - 6. 售后服务及质量保证措施、技术支持和保修等售后服务及质量保证措施、技术支持和保修等- 85 - 6.1 培训- 85 - 6.2 维护与升级- 85 - 6.3 质量保证期内的服务- 85 - 6.4 寿命期内维修服务- 86 - 7.7. 人员培训计划、安排人员培训计划、安排- 86 - 8. 分工界面及工作内容分工界面及工作内容.- 86 - 8.1 技术支持.- 87 - 8.2 培训推广.-

5、 87 - 8.3 售前阶段的配合服务 .- 87 - 8.4 售中阶段的配合服务 .- 88 - 8.5 售后阶段的配合服务 .- 89 - 9. 技术承诺技术承诺- 91 - 9.1 知识产权- 91 - 9.2 安全方案- 92 - 9.3 电话技术支持服务- 92 - 9.4 版本管理和软件补丁服务- 93 - 9.5 技术资料服务- 94 - 9.6 重要通讯保障服务- 94 - 9.7 应急方案设计与预演服务- 95 - 9.8 辅助故障定位服务- 95 - 10. 相关案例相关案例- 95 - - 3 - 1. 对项目的理解对项目的理解 1.1背景背景 持续推进企业信息化的全面深

6、化改革,深入公司管理层、分公司及一线收集问题和需 求,围绕“快、准、简、稳、智”五个标准,贯彻“零不爽”IT运营服务理念,提出了大 数据应用建设内容,承接集团全网集约营销活动,提升本地精准营销服务,开展大数据合 作运营分析,提升财务、业务价值、人力和光网的精确管理能力,优化领导视窗,建立网 运综合评价体系,建设爬虫能力,实现智慧化运营 应用感知目标 爬虫页面响应及内容加载在 5 秒内,内容展示响应速度时间小于 5 秒。 爬虫配置,系统维护功能简单易用,80%用户可以在经过简单培训后结合使 用手册,完成爬虫的开发和平台的维护。 爬虫平均宕机运行时间10 小时/月。平均故障恢复时间180 分钟/次

7、。 爬虫可以自动根据爬虫节点的负载进行负载均衡处理,同时当爬虫出现不 可恢复的错误时,可以智能的选择其他节点进行重新运行,保证爬虫任务 可以正确完成。 2. 系统整体架构系统整体架构 2.1技术框架技术框架 分布式爬虫框架采用Nutch。Nutch 是一个开源Java实现的搜索引擎,它提供 了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。 Nutch基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop 的分布式处理模型保证了系统的性能,插件机制保证了系统的可客户化,而且 很容易集成到自己的应用之中。 - 4 - 总体上Nutch可以分为两部分:抓取部

8、分和搜索部分。抓取程序抓取页面并 把抓取回来的数据做成反向索引,搜索程序则对反向索引搜索回答用户的请求。 抓取程序和搜索程序的接口是索引,两者都使用索引中的字段。抓取程序和搜 索程序可以分别位于不同的机器上。 2.2数据架构数据架构 抓取程序是被Nutch的抓取工具驱动的。这是一组工具,用来建立和维护几 个不同的数据结构:web database、segments、the index三种不同的数据结构: The web database(简称WebDB):这是一个特殊存储数据结构, 用来映像被抓取网站数据的结构和属性的集合。WebDB用来存储从抓 取开始(包括重新抓取)的所有网站结构数据和属性

9、。 WebDB只是被 抓取程序使用,搜索程序并不使用它。WebDB存储两种实体:页面和 链接。页面表示网络上的一个网页,这个网页的URL作为标示被索引, 同时建立一个对网页内容的MD5哈希签名。跟网页相关的其它内容也 被存储,包括:页面中的链接数量(外链接),页面抓取信息(在页 面被重复抓取的情况下),还有表示页面级别的分数。链接表示从一 个网页的链接到其它网页的链接。因此WebDB可以说是一个网络图, 节点是页面,链接是边; Segment:这是网页的集合,并且它被索引。Segment的Fetchlist 是抓取程序使用的URL列表,它是从WebDB 中生成的。Fetcher的输出 数据是从

10、 Fetchlist中抓取的网页。Fetcher的输出数据先被反向索引, 然后索引后的结果被存储在segment中。Segment的生命周期是有限制 的,当下一轮抓取开始后它就没有用了。因此删除超过指定时间期限 的segment是可以的。而且也可以节省不少磁盘空间。Segment的命名 是日期加时间,反应出相应的存活周期; The index:索引库是反向索引所有系统中被抓取的页面,它并不直接从页 面反向索引产生,而是合并很多小的segment的索引产生的。Nutch使用 Lucene 来建立索引,因此所有Lucene相关的工具API都用来建立索引库。需要说明的是 Lucene的segment

11、的概念和Nutch的segment概念是完全不同的。Lucene的 - 5 - segment是Lucene索引库的一部分,而Nutch的Segment是WebDB中被抓取和索引 的一部分。 2.3功能模块功能模块 爬虫平台分精爬与通爬两大功能模块,以满足不同租户的数据采集需求, 多租户的系统功能逻辑如下: 1、精爬 租户登陆云爬虫管理平台,在线编辑爬虫脚本,云爬虫系统按计划编写的 脚本规则爬取相应页面的指定部分(比如具体评论列表),并存入大数据平台、 建立全文索引。 2、通爬 调用方调用由云爬虫系统提供的通爬接口,云爬虫系统实时根据策略(代 理IP等)爬取结果返回调用方,并存入Hadoop平

12、台、建立全文索引。 2.4功能模块功能模块 爬虫平台的物理架构如下,按层次划分,主要分为接入层、采集层和持久 层,如下图所示: - 6 - 1、接入层 接入层包含Web与接口。Web主机负责负载均衡分配任务,以及展示任务 列表。在Web页面上,租户可以根据需要创建新的爬取任务。对于创建成功的 爬取任务,可以通过Web页面查看其基本信息。REST API则负责对外提供爬虫能 力接口。 2、采集层 采集层包含爬虫主机与消息队列主机。爬虫主机负责接收Web主机分配的 任务,包括抓取网页并返回内容、对抓取的内容进行解析和结构化,以及将结 构化的结果进行持久化。Redis作为消息队列,负责进行任务的分发

13、。 3、持久层 通常网络爬虫抓取的数据量非常大,而存储大量的数据需要较大的存储空 间,因此持久层采用了中国移动苏州研发中心自研的Hadoop平台产品。 2.5应用部署架构应用部署架构 爬虫平台的应用部署架构如下,主要分为Web服务域和采集服务域。 1、Web服务域 提供给租户用来编写调试爬虫脚本,安装了WebUI、Scheduler等组件。 2、采集服务域 - 7 - 用来进行数据采集和结果返回,各Spider节点安装了 Fetcher、Processor、Result_Worker、Rest API、Selenium、PhantomJS等组件。 3. 详细建设方案详细建设方案 3.1一站式大

14、数据采集、存储、清洗、训练、导出一站式大数据采集、存储、清洗、训练、导出 从数据获取到处理、输出全站打通的,以一键自动发布到数据库/网站/微信公众号/邮 箱等 、导出到本地文件 、或通过 Webhook / GraphQL 获取数据。 3.2多租户管理多租户管理 3.2.1功能说明功能说明 云爬虫和互联网数据存储分析平台 PaaS 化,实现了多租户和租户间的资源隔离能力。 - 8 - 3.2.2平台截图平台截图 3.3丰富的数据接口丰富的数据接口 扩展了多种数据接口的读写能力,如关系型数据库 Oracle、非关系型 HBase、HDFS 文件、ES 以及流式消息接口 Kafka,以此来支持如精

15、爬、通爬等不同的业务需求。 3.4平台高可用性平台高可用性 云爬虫平台的所有爬取节点和数据存储分析节点均匀的分布在多台物理节点上,单台 机器的宕机不会引起整个爬取进程的中断,这种分布式架构提升了系统整体的健壮性。 3.5抓取高效性抓取高效性 单机模式下的网络爬虫效率不高,不能满足大规模的抓取任务需求,云爬虫平台为爬虫租 户分配多个爬取节点,通过读取共享任务池来共同执行抓取任务,每个爬取节点都可以看 成是一个单机的网络爬虫,能大幅度的提高页面的抓取效率。 - 9 - 3.6高可扩展性高可扩展性 支持静态爬取和动态渲染的主流网站数据爬取,如天猫、京东、大众点评、豆瓣等,能够 根据当前爬虫任务量动态

16、地调节爬虫节点数量,比起传统爬虫方式灵活性更强。同时,租 户在编写脚本时自定义程度高,允许租户根据不同的爬取需求自定义爬取范围。 3.7可视化爬虫界面可视化爬虫界面 云爬虫平台为爬虫租户提供了一个可视化页面来编辑调试爬虫脚本,平台支持静态和 动态渲染的主流网站爬取,同时能根据业务紧急程度动态调整各爬虫任务的优先级,并提 供了一个爬取数据结果的页面导出功能,方便样例数据查看,系统页面如下图所示: - 10 - 3.8抓取过程抓取过程 抓取是一个循环的过程,抓取工具从 WebDB 中生成了一个 Fetchlist 集合;抽取工具 根据 Fetchlist 从网络上下载网页内容;工具程序根据抽取工具发现的新链接更新 WebDB, 然后再生成新的 Fetchlist,周而复始。这个抓取循环在 Nutch 中经常指: generate/fetch/update 循环。 一般来说同一域名下的 URL 链接会被合成到同一个 Fetchlist。这样做的考虑是:当同 时使用多个工具抓取的时候,不会产生重复抓取的现象。Nutch 遵循 Robots Exclusion Protoco

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号