CN104699757A - 云环境下分布式网络信息采集方法 - Google Patents
云环境下分布式网络信息采集方法 Download PDFInfo
- Publication number
- CN104699757A CN104699757A CN201510020854.0A CN201510020854A CN104699757A CN 104699757 A CN104699757 A CN 104699757A CN 201510020854 A CN201510020854 A CN 201510020854A CN 104699757 A CN104699757 A CN 104699757A
- Authority
- CN
- China
- Prior art keywords
- page
- url
- acquisition
- server
- page info
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Abstract
本发明提供了云环境下分布式网络信息采集方法。其主要包括:对于页面信息的采集,采用星型的分布式采集模型,页面信息采集服务器只负责通过异步的方式采集相关网页的页面信息,并将最终的采集结果返回给云服务器,页面信息的处理则在云端进行;关于待采集的URL的分配方式,云服务器根据不同的采集服务器的历史采集效率,动态地为不同的页面采集服务器分配不同的任务个数,从而尽可能地使各个页面采集服务器达到负载均衡的效果。本发明提出的分布式网络信息采集方法,对于通用网络爬虫和主题网络爬虫都适用,可以很好地提高网络爬虫的爬行效率以及解决在分布式环境中网络爬虫的负载均衡问题。
Description
技术领域
本发明属于云计算与大数据领域,涉及在云环境下分布式网络爬虫系统的模型的设计。
背景技术
互联网最基础的功能即提供信息,目前,互联网上的信息已是海量,搜索引擎则是网民在汪洋中搜寻信息的工具,是互联网上不可或缺的工具和基础应用之一。根据《CNNIC:2014年第33次中国互联网络发展状况统计报告》显示[1],截止2013年12月,我国搜索引擎用户规模达到4.90亿,与2012年底相比增长3856万人,增长率为8.5%,使用率为79.3%。位列网络应用中即时通信、网络新闻之后的第三位。在美国,搜索引擎使用率已经达到了91%,在中国这样一个网民快速增长和以年轻网民主导的国家,搜索引擎用户会继续增长,对于拥有核心技术和海量用户的搜索引擎行业,发展前景令人看好。
云计算的概念由IBM、Google等IT服务企业提出后一直在不断推进与深入,云计算的基本特征是资源共享、按需分配、弹性调度和服务可扩展,云计算所提供的强大计算能力和存储能力能够支撑爬虫系统功能的实现。Hadoop是一个由Apache基金会所开发的分布式系统基础架构,它实现了一个分布式文件系统,简称HDFS,为海量的数据提供了存储。它还提供了一种基于M/R计算模型的开发框架,通过实现这种框架,可以快速地开发出高效、可靠的分布式计算程序。
传统的分布式网络爬虫系统从功能实现的方式上可以分为无中心调度节点的独立式架构、拥有一个调度中心的动态分配架构以及将整个网络分成不同的部分分别爬行的静态分配架构。无中心调度节点的独立式架构中各个节点之间缺乏交流,造成重复爬行大量的冗余页面。静态分配架构中,URL的分配方式是按照爬行页面的地域特征,指定爬行服务器爬行的IP范围,没有考虑到不同地域上页面的数量,造成不同的爬行服务器上任务分配不均。拥有一个调度中心的动态分配架构可以使URL平均地分配到页面抓取服务器上,但是没有考虑到不同服务器上性能的差别。
面对海量的互联网信息,分布式网络爬虫需要做到快速、全面地对网络信息进行抓取,同时尽可能地达到负载均衡,降低页面重复率。本文提出一种云环境下的分布式网络爬虫系统的设计模型。
发明内容
技术问题:本发明针对传统网络爬虫面对互联网海量页面时,页面抓取速度慢、分布式集群负载不均衡的问题,采用页面抓取与页面处理相分离的系统设计方法,提高页面采集的速度,通过对页面采集服务器页面采集时间的横向和纵向的比较,动态地为页面采集服务器分配抓取任务,尽可能地使页面采集服务器达到负载均衡的状态。
技术方案:本发明的云环境下分布式网络信息采集方法,含如下步骤:
1)系统模型的组成:页面信息采集子系统、页面信息数据处理子系统;
2)页面信息采集系统创建服务监听端口,接收中心节点分配的URL集合,当接收到中心节点分配的URL集合后,触发步骤3;
3)页面信息采集系统采用异步的方式,对URL集合中的每个页面进行抓取,抓取完成后,将包含所有页面信息的结果返回给中心节点;
4)中心节点将接收到的抓取的结果放到待处理页面集合中,交由云计算平台对页面信息进行处理,并且将页面服务器加入空闲的服务器列表;
5)云计算平台提取出页面中所有的超链接,并且对超链接进行过滤,将过滤出来的URL放入到待分配的URL集合中;
6)中心节点根据未分配的服务器列表,根据URL分配的策略,将待分配的URL分配给各个页面信息采集服务器,重复步骤2,直到待分配URL列表为空;
本发明提出了云环境下分布式网络信息采集方法,通过采用本发明提出的方法,可以在面对互联网海量的数据时,以最快的速度、最小的页面重复率抓取网页信息,并且保证集群主机的负载均衡。
附图说明
图1基于本发明的页面信息抓取流程图。
图2是本发明的分布式网络爬虫架构图。
图3是本发明的页面采集系统流程图。
图4是本发明的URL分配流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1是本发明的网络爬虫系统运行流程图。本发明主要涉及到分布式页面信息抓取模块以及URL分配算法。本发明考虑的是云计算环境中,分布式网络爬虫系统设计的解决方案,本发明中云环境以Hadoop系统框架为基础,采用HBase作为页面元数据的数据存储平台,页面数据的处理采用M/R的计算框架。整个网络爬虫系统架构如图2所示,系统包含页面抓取节点、中心调度节点、存储节点三种节点,其中,抓取节点主要负责页面信息的快速抓取,中心调度节点负责URL集合的分配、页面解析任务的分配、抓取节点的管理等功能,存储节点负责保存解析好的网页信息元数据。页面抓取系统运行在云环境之外的普通电脑之中,通过异步请求的方式抓取页面信息,采用JSON格式的数据,与中心调度节点进行数据的交互。
下面给出本发明的具体实施案例:
(1)页面抓取系统采用NodeJS语言编写,运行在云环境的外部。页面抓取系统的流程如图3所示,整个页面抓取系统由URL接收模块、页面信息抓取模块、公共组件模块、抓取结果传送模块以及事件处理模块组成。URL接收模块在PC的3001端口上接收由中心调度节点传来的URL集合,调用公共组件模块中的JSON格式解析方法,将接收到的JSON格式数据解析为URL对象的集合,并且,将URL对象集合传递给页面抓取模块,调用页面抓取模块的getHTMLs()方法。页面抓取模块采用遍历的方式,单独对待抓取的URL集合中的页面对象进行异步抓取,当已抓取的页面数量等于需要抓取的页面数量时,页面抓取模块发送页面抓取完成事件,事件处理模块接收到页面抓取完成事件后,调用抓取结果传送模块,将页面抓取的结果以JSON的格式发送给中心调度节点。以上是页面抓取系统一个完整的抓取周期,在中心调度接收完页面抓取节点返回的结果后,会将页面抓取节点加入到空闲节点列表中,再由URL分配策略,为空闲的页面抓取节点分配URL抓取任务。
(2)URL分配的流程如图4所示。URL分配涉及到URL分配的算法以及中心节点进行URL分配调度的流程,图4给出的是URL分配调度的流程的描述。在中心节点中,用来描述页面抓取服务器对象的属性有页面抓取服务器的地址IP、服务器抓取URL数量的基数k、服务器任务执行次数count、服务器历史平均页面抓取耗时t,通过以上属性,可以唯一的标识一个页面抓取服务器。除了页面抓取服务器列表,中心调度节点还需要维护待抓取URL列表、空闲页面抓取服务器列表。当中心调度节点接收完页面抓取服务器传回的数据后,将该页面抓取服务器加入到空闲页面抓取服务器列表中,同时触发URL分配事件,如果待抓取URL列表中含有未分配的URL,则URL分配模块根据事先选取的URL分配策略,将带抓取URL列表中的URL地址分配给空闲页面抓取服务器中的主机上。如果带抓取URL列表中不含有未分配的URL,则等待下次URL分配事件触发时,再进行URL分配。
(3)URL分配算法。本发明通过横向和纵向的比较,确定中心节点分配给特定页面抓取服务器的URL种子的数量。横向比较就是将特定页面抓取服务器与其他抓取服务器进行比较,从而确定出不同抓取服务器性能上的差距。纵向比较是将页面抓取服务器本次抓取的耗时与历史抓取耗时相比较,从而消除某些偶然因素对页面抓取服务器性能上的影响。
假设count表示边缘节点的数量,ti表示第i个边缘节点抓取页面的平均耗时,则有公式其中n(x)表示第x次抓取时,页面抓取服务器抓取URL的基数。通过上述URL分配算法,当x趋向于∞时,n(x)将趋于平稳,所有页面抓取服务器抓取页面的耗时将趋于一致,从而达到服务器负载均衡的目的。
(4)页面数据的处理采用M/R框架。面对互联网中海量的页面数据,本发明以Hadoop系统框架为基础,通过编写Map以及Reduce方法,来处理页面抓取服务器传回的海量页面信息。本发明在Map函数中主要实现的是页面中URL内容的提取以及页面元数据的保存,在Reduce函数中,对Map处理的结果进行URL过滤,将未被抓取过的URL信息存入待抓取URL列表中。URL过滤策略采用布隆过滤器,以尽量减少系统资源的消耗。
以上所述仅为本发明的较佳实施案例之一,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本文网络信息采集方法是在了解传统分布式网络爬虫系统模型的基础上,通过对传统网络爬虫中页面抓取速度慢、页面重复率高以及系统负载不均衡等问题的改善所提出来的,通过将页面抓取与页面处理相分离,可以灵活地定制不同的抓取策略以及URL分配策略,满足快速抓取海量互联网信息的要求,具有一定的使用价值。
Claims (3)
1.一种云环境下分布式网络信息采集方法,其特征在于包含以下步骤:
1)模型的组成:页面信息采集子系统、页面信息数据处理子系统;
2)页面信息采集系统创建服务监听端口,接收中心节点分配的URL集合,当接收到中心节点分配的URL集合后,触发步骤3;
3)页面信息采集系统采用异步的方式,对URL集合中的每个页面进行抓取,抓取完成后,将包含所有页面信息的结果返回给中心节点;
4)中心节点将接收到的抓取的结果放到待处理页面集合中,交由云计算平台对页面信息进行处理,并且将页面服务器加入空闲的服务器列表;
5)云计算平台提取出页面中所有的超链接,并且对超链接进行过滤,将过滤出来的URL放入到待分配的URL集合中;
6)中心节点根据未分配的服务器列表,根据URL分配的策略,将待分配的URL分配给各个页面信息采集服务器,重复步骤2,直到待分配URL列表为空。
2.根据权利要求1所述的分布式页面信息采集模型,其特征在于步骤1中,系统的模型由1个云计算中心以及n个边缘节点组成,在节点的功能上,边缘节点运行页面信息采集子系统,专门负责页面信息的采集,云计算中心负责数据的处理、URL集合的分配,在节点的连接方式上,呈现出星型的物理结构。
3.根据权利要求1中所述的动态URL分配策略(步骤6中),其特征在于,中心节点可以按照不同的边缘节点的页面抓取效率,在一个基数k的基础上,按照下述公式,为不同的边缘节点分配不同的URL个数:
其中:count表示边缘节点的数量,ti表示第i个边缘节点第x次抓取所耗费的时间,n(0)=k。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510020854.0A CN104699757B (zh) | 2015-01-15 | 2015-01-15 | 云环境下分布式网络信息采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510020854.0A CN104699757B (zh) | 2015-01-15 | 2015-01-15 | 云环境下分布式网络信息采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104699757A true CN104699757A (zh) | 2015-06-10 |
CN104699757B CN104699757B (zh) | 2018-03-13 |
Family
ID=53346878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510020854.0A Active CN104699757B (zh) | 2015-01-15 | 2015-01-15 | 云环境下分布式网络信息采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104699757B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260388A (zh) * | 2015-09-11 | 2016-01-20 | 广州极数宝数据服务有限公司 | 一种分布式垂直爬虫服务系统的优化方法 |
CN106021608A (zh) * | 2016-06-22 | 2016-10-12 | 广东亿迅科技有限公司 | 一种分布式爬虫系统及其实现方法 |
CN107506502A (zh) * | 2017-10-10 | 2017-12-22 | 山东浪潮云服务信息科技有限公司 | 一种数据采集系统和数据采集方法 |
CN109151824A (zh) * | 2018-10-12 | 2019-01-04 | 大唐高鸿信息通信研究院(义乌)有限公司 | 一种基于5g架构的图书馆数据服务扩展系统及方法 |
CN111131379A (zh) * | 2019-11-08 | 2020-05-08 | 西安电子科技大学 | 一种分布式流量采集系统和边缘计算方法 |
CN112596955A (zh) * | 2020-12-28 | 2021-04-02 | 山西云时代研发创新中心有限公司 | 云计算中处理大规模系统突发事件的应急处理系统及方法 |
CN115277694A (zh) * | 2022-06-29 | 2022-11-01 | 北京奇艺世纪科技有限公司 | 一种数据获取方法、装置、系统、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080021906A1 (en) * | 2000-02-22 | 2008-01-24 | Harvey Lunenfeld | Metasearching by Sending a Plurality of Queries to a Plurality of Servers |
CN102073683A (zh) * | 2010-12-22 | 2011-05-25 | 四川大学 | 一种分布式的实时新闻信息采集系统 |
CN103310012A (zh) * | 2013-07-02 | 2013-09-18 | 北京航空航天大学 | 一种分布式网络爬虫系统 |
CN103514301A (zh) * | 2013-10-24 | 2014-01-15 | 深圳市同洲电子股份有限公司 | 分布式网络爬虫任务调度的方法及系统 |
-
2015
- 2015-01-15 CN CN201510020854.0A patent/CN104699757B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080021906A1 (en) * | 2000-02-22 | 2008-01-24 | Harvey Lunenfeld | Metasearching by Sending a Plurality of Queries to a Plurality of Servers |
CN102073683A (zh) * | 2010-12-22 | 2011-05-25 | 四川大学 | 一种分布式的实时新闻信息采集系统 |
CN103310012A (zh) * | 2013-07-02 | 2013-09-18 | 北京航空航天大学 | 一种分布式网络爬虫系统 |
CN103514301A (zh) * | 2013-10-24 | 2014-01-15 | 深圳市同洲电子股份有限公司 | 分布式网络爬虫任务调度的方法及系统 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105260388A (zh) * | 2015-09-11 | 2016-01-20 | 广州极数宝数据服务有限公司 | 一种分布式垂直爬虫服务系统的优化方法 |
CN106021608A (zh) * | 2016-06-22 | 2016-10-12 | 广东亿迅科技有限公司 | 一种分布式爬虫系统及其实现方法 |
CN107506502A (zh) * | 2017-10-10 | 2017-12-22 | 山东浪潮云服务信息科技有限公司 | 一种数据采集系统和数据采集方法 |
CN109151824A (zh) * | 2018-10-12 | 2019-01-04 | 大唐高鸿信息通信研究院(义乌)有限公司 | 一种基于5g架构的图书馆数据服务扩展系统及方法 |
CN109151824B (zh) * | 2018-10-12 | 2021-04-13 | 大唐高鸿信息通信(义乌)有限公司 | 一种基于5g架构的图书馆数据服务扩展系统及方法 |
CN111131379A (zh) * | 2019-11-08 | 2020-05-08 | 西安电子科技大学 | 一种分布式流量采集系统和边缘计算方法 |
CN111131379B (zh) * | 2019-11-08 | 2021-06-01 | 西安电子科技大学 | 一种分布式流量采集系统和边缘计算方法 |
CN112596955A (zh) * | 2020-12-28 | 2021-04-02 | 山西云时代研发创新中心有限公司 | 云计算中处理大规模系统突发事件的应急处理系统及方法 |
CN115277694A (zh) * | 2022-06-29 | 2022-11-01 | 北京奇艺世纪科技有限公司 | 一种数据获取方法、装置、系统、电子设备及存储介质 |
CN115277694B (zh) * | 2022-06-29 | 2023-12-08 | 北京奇艺世纪科技有限公司 | 一种数据获取方法、装置、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104699757B (zh) | 2018-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104699757A (zh) | 云环境下分布式网络信息采集方法 | |
CN106776768B (zh) | 一种分布式爬虫引擎的url抓取方法及系统 | |
CN102262680B (zh) | 一种基于海量数据存取需求的分布式数据库代理系统 | |
CN102663058B (zh) | 一种分布式网络爬虫系统中的url去重方法 | |
CN103678408B (zh) | 一种查询数据的方法及装置 | |
CN105930384A (zh) | 基于Hadoop体系的传感云数据存储系统及其实现方法 | |
CN105608188A (zh) | 数据处理方法和数据处理装置 | |
CN103440288A (zh) | 一种大数据存储方法及装置 | |
CN107343021A (zh) | 国网云中应用的一种基于大数据的日志管理系统 | |
CN102164186A (zh) | 一种实现云搜索服务的方法及系统 | |
CN105447088A (zh) | 一种基于志愿者计算的多租户专业云爬虫 | |
CN110110006A (zh) | 数据管理方法及相关产品 | |
CN106951552A (zh) | 一种基于Hadoop的用户行为数据处理方法 | |
CN103838824A (zh) | 一种用于空间信息分析的云计算中间件技术 | |
CN103036921B (zh) | 一种用户行为分析系统和方法 | |
CN107895046A (zh) | 一种异构数据集成平台 | |
CN106471501A (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
CN103810272A (zh) | 一种数据处理方法和系统 | |
US20140214834A1 (en) | Clustering signifiers in a semantics graph | |
CN104317877A (zh) | 一种基于分布式计算的网络用户行为数据实时处理方法 | |
CN104636395A (zh) | 一种计数处理方法及装置 | |
CN103034650A (zh) | 一种数据处理系统和方法 | |
CN106570151A (zh) | 一种海量文件的数据收集处理方法及系统 | |
CN108287889B (zh) | 一种基于弹性表模型的多源异构数据存储方法和系统 | |
CN107247789A (zh) | 基于互联网的用户兴趣采集方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190719 Address after: 210000 No. 18 Zhilan Road, Jiangning District, Nanjing City, Jiangsu Province, 4 (Jiangning High-tech Park) Patentee after: Legge Yunnan Jing Software Technology Co., Ltd. Address before: 210003 Gulou District, Jiangsu, Nanjing new model road, No. 66 Patentee before: Nanjing Post & Telecommunication Univ. |