网络爬虫系统项目建设方案_第1页
网络爬虫系统项目建设方案_第2页
网络爬虫系统项目建设方案_第3页
网络爬虫系统项目建设方案_第4页
网络爬虫系统项目建设方案_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.6.6.-.错.误.!.未.定.义.书签。-.6.-.-.7.-.7.7.8.9.-.1.0.-.-.1.1.-.1-.1.-.1.1.-.目录对项目的1.1理解景1.2业务目标1.3应用感知目标系统整体架构2.1技术框架2.2数据架构2.3功能模块2.4功能模块2.5应用部署架构详细建设方案一站式大数据采集、存储、清洗、训 练、导出3.2多租户管理功能说明-11平.台截图-111.13.3丰富的数据 接口1.13.5抓取高效性 -.1.23.6高可扩展性3.6高可扩展性3.8抓取过程3.9硬件配置方案3.9.1主机、存储资源3.9.2软件资源3.10资源估算3.10.1存储CPU与内存系统

2、安全与系统测试.4.1系统管理以及系统安全措施 义书签-.1.2.-.1.2.-.-.1.3.-.-13 -14 -.1.4.-.-14 -15 -.错.误.!未定义书签错.误.!.未, 定工程进度安排及项目实施人员资质 错.误!未定义书签工程进度安排错误.未.定.义书签。5.2项目支撑人员组成表错.误!.未.定.义书签。5.3支撑人员相关证明材料错.误.如未.定义书签。杨继营(项目负责人)错.误.!未定义书签。李筠错.误.!.未.定.义 书签。刍3娟错.误.!.未.定.义. 书签。邱文川 错.误.!.未.定.义. 书签。唐亮争错.误.!.未.定.义. 书签。赵柏杰错误.!.未.定.义. 书签

3、。5k35k3系统测试的方法和环境 误.!.未.定.义. 书签。错f误.未刘.霍&书签曹平错.误.!未.定.义.书签。陈汉雄 错.误.!.未.定.义.书签。陈争错.误 !.未.定.义.书签。付敏健错.误.!.未.定.义.书签。张福元 错.误.!.未.定.义.书签。何州鹏 错.误.!.未.定.义.书签。黄华金 错.误.!.未.定.义.书签。黄习文错误.!.未.定.义.书签。李佳 错.误!.未.定.义.书签。李威虎错误.!.未.定.义.书签。刘起云 错.误.!.未.定.义.书签。冼锡勇 错.误.!.未.定.义.书签。杨锋 错.误!.未.定.义.书签。邹兴 错.误!.未.定.义.书签。售后服务及质量

4、保证措施、技术支持和保修等.错.误!未定义 书签土培训错.误.!.未.定.义.书签。6.2维护与升级错.误.未.定,义书签。6.3质量保证期内的服务错.误!.未一定.义书签。6.4寿命期内维修服务错误.!.未.定.义书签。.错.误. .错.误. 未定义书签.错.误. 未定义书签.错.误.!未.定.义.书8.3售前阶段的配合服务8.4售中阶段的配合服务8.5售后阶段的配合服务争昔.误!.未.定.义书签争昔.误!.未.定.义书签争昔.误!.未.定.义书签人员培训计划、安排分工界面及工作内容技术支持8-1培训推广知识产权8.2技术承诺错.误!.未定义书签错.误.!.未.定.义. 书签9.1安全方案9

5、2义安全方案92义.书签9 3签电话技术支持服务.9.4版本管理和软件补丁服务签9.5技术资料服务9.6书签错.误.!.未.定.错 误.!.未.定. 义书错.误.!.未. 定义书错 误.!.未.定.义9.7重要通讯保障服务错误.!.未.定.义书定义书应急方案设计与预演服务 签定义书相关案例错误!.未定义书签。1.对项目的理解1.1背景持续推进企业信息化的全面深化改革,深入公司管理层、分公司及一线收 集问题和需求,围绕“快、准、简、稳、智”五个标准,贯彻“零不爽” IT 运营服务理念,提出了大数据应用建设内容,承接集团全网集约营销活动, 提升本地精准营销服务,开展大数据合 作运营分析,提升财务、

6、业务价值、 人力和光网的精确管理能力,优化领导视窗,建立网运综合评价体系,建设 爬虫能力,实现智慧化运营应用感知目标爬虫页面响应及内容加载在5秒内,内容展示响应速度时间小于5秒。爬虫配置,系统维护功能简单易用,80%用户可以在经过简单培训后结合 使用手册,完成爬虫的开发和平台的维护。爬虫平均宕机运行时间W 10小时/月。平均故障恢复时间W 180分钟/次。爬虫可以自动根据爬虫节点的负载进行负载均衡处理,同时当爬虫出现不可恢复的错误时,可以智能的选择其他节点进行重新运行,保证爬虫任务可以正确完 成2.系统整体架构 2.1技术框架分布式爬虫框架采用Nutcho Nutch是开源Java实现的搜索引

7、擎,它 提供了我们运行自己的搜索引擎所需的全部工具,包括全文搜索和Web爬虫。Nutch基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的分布式处理模型保证了系统的性能,插件机制保证了系统的可客户 化,而且很容易集成到自己的应用之中。总体上Nutch可以分为两部分:抓取部分和搜索部分。抓取程序抓取页面并把抓取回来的数据做成反向索引,搜索程序则对反向索引搜索回答用户的请 求。抓取程序和搜索程序 的接口是索引,两者都使用索引中的字段。抓取程序和搜索程序可以分别位于不同的机器上。2.2数据架构抓取程序是被Nutch的抓取工具驱动的。这是一组工具,用来建立和维护几 个不同

8、的数 据结构:web databas、e segments、the index三种不同的数据结 构:The web databas (e简称WebDB):这是一个特殊存储数据结构,用来映像被抓取网站数据的结构和属性的集合。WebDB用来存储从抓取开始(包括重新抓取)的所有网站结构数据和属性。WebDB只是被抓取程作为标示被索引,同时建立一个对网页内容的MD5哈希签名。跟网页相关的其 它序使用,搜索程序并不使用它。WebDB存储两种实体:页面和链接。页 面表示网络上的一个网页,这个网页的URL内容也被存储,包括:页 面中的链接数量(外链接),页面抓取信息(在页面被重复抓取的情况 下),还有表示页

9、面级别的分数。链接表示从一个网页的链接到其它 网页的链接。因此WebDB可以说是一个网络图,节点是页面,链接是 边;Segmen: t这是网页的集合,并且它被索引。Segmen的t Fetchlist是抓取程序 使用的URL列表,它是从WebDB中生成的。 Fetcher的输出数据是从Fetchlist中抓取的网页。Fetcher的输出数 据先被反向索引,然后索引后的结果被存储在segment中。Segmen的t 生命周期是有限制的,当下一轮抓取开始后它就没有用了。因此删 除超 过指定时间期限的segmen是t可以的。而且也可以节省不少磁盘空 间。Segment的命名是日期加时间,反应出相应的

10、存活周期;The index:索引库是反向索引所有系统中被抓取的页面,它并不直接从页面 反向索引产生,而是合并很多小的segmen的t索引产生的。Nutch使用 Lucene来建立索引,因此所有Lucene相关的工具API都用来建立索引库。需 要说明的是Lucene的segmen的t概念和Nutch的segmen概t念是完全不同 的。Lucene的segmen是t Lucene索引库的一部分,而Nutch的Segment是 WebDB中被抓取和索引的一部分。爬虫平台分精爬与通爬两大功能模块,以满足不同租户的数据采集需求,多租户的系统功能逻辑如下:1、精爬租户登陆云爬虫管理平台,在线编辑爬虫脚本

11、,云爬虫系统按计划编写的脚 本规则爬 取相应页面的指定部分(比如具体评论列表),并存入大数据平台、 建立全文索引。2、通爬调用方调用由云爬虫系统提供的通爬接口,云爬虫系统实时根据策略(代理IP等)爬 取结果返回调用方,并存入Hadoop平台、建立全文索引。2.4功能模块爬虫平台的物理架构如下,按层次划分,主要分为接入层、采集层和持久 层,如下图所示:1、接入层接入层包含Web与接口。Web主机负责负载均衡分配任务,以及展示任务 列表。在Web页面上,租户可以根据需要创建新的爬取任务。对于创建成功的 爬取任务,可以通过Web页面查看其基本信息。REST API则负责对外提供爬 虫能力接口。2、采

12、集层采集层包含爬虫主机与消息队列主机。爬虫主机负责接收Web主机分配的任务,包括抓取网页并返回内容、对抓取的内容进行解析和结构化,以及将 结构化的结果进行持久化。Redis作为消息队列,负责进行任务的分发。3、持久层通常网络爬虫抓取的数据量非常大,而存储大量的数据需要较大的存储空 间,因此持久层采用了中国移动苏州研发中心自研的Hadoop平台产品。2.5应用部署架构爬虫平台的应用部署架构如下,主要分为Web服务域和采集服务域。1、Web服务域提供给租户用来编写调试爬虫脚本,安装了 WebUI、Schedule等r组件。2、采集服务域用来进行数据采集和结果返回,各Spider节点安装了 Fetc

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

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

15、爬虫方式灵活性更强。同时,租户在编写脚本时自定义程度高,允许租户根据不同的爬取需求自定义爬取范围。3.7可视化爬虫界面云爬虫平台为爬虫租户提供了一个可视化页面来编辑调试爬虫脚本,平台支持静态和动态渲染的主流网站爬取,同时能根据业务紧急程度动态调整各爬虫任务的优先级,并提供了一个爬取数据结果的页面导出功能,方便样例数据查看,系统页面如下图所示:3.8抓取过程抓取是一个循环的过程,抓取工具从WebDB中生成了一个Fetchlist集合;抽取工具根据Fetchlist从网络上下载网页内容;工具程序根据抽取工具发现的新链接更新WebDB,然后再生成新的Fetchlist,周而复始。这个抓取循环在Nut

16、ch中经常指:generate/fetch/update循环般来说同一域名下的URL链接会被合成到同一个Fetchlist。这样做的 考虑是:当同时使用多个工具抓取的时候,不会产生重复抓取的现象。Nutch遵循RobotsExclusion Protocol,可以用robots.txt定义保护私有网页数据不被抓去。上面这个抓取工具的组合是Nutch的最外层的,也可以直接使用更底层的 工具,自己组合这些底层工具的执行顺序达到同样的结果。这是Nutch的优 势。具体工作过程如下:创建一个新的 WebDB (admin db -create;)把开始抓取的跟URL放入WebDb (inject);从

17、 WebDb 的新 segment 中生成 Fetchlist (generate;)根据Fetchlist列表抓取网页的内容(fetch);根据抓取回来的网页链接URL更新WebDB (updatedb);重复上面c-e步骤直到到达指定的抓取层数;3.9硬件配置方案3.9.1主机、存储资源本项目硬件配置包括数据库服务器2台、应用服务器2台,具体配置如 下;主机名称CPU (个)内存(G)存储(G)操作系统描述HR-APP-A4850RedHat6.5应用主机,需要安装Tomcat7.0.73 和JDK1.7HR-APP-B4850RedHat6.5应用主机,需要安装Tomcat7.0.73 和JDK1.7HR-DB-A16323515oracle数据库主机,利 旧HR-DB-B1632oracle数据库主机,利旧3.9.2软件资源1 )数据库:Oracle 11g2)操作系统:RedHat 6.53)应用服务器:Tomcat7.0.73、JDK 1.74)WEB服务器:Nginx 1.10.3 (公用)3.10资源估算3.10.1存储主机存储(G)估算依据HR-APP-A32门户与应用脚本1G系统缓存:2GTomcat 日志:4GTomcat 日志:4G临时数据接口存储:8G

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论