一种负载均衡的分布式大数据爬虫系统技术方案

技术编号:16042675 阅读:80 留言:0更新日期:2017-08-20 01:04
本发明专利技术涉及一种负载均衡的分布式大数据爬虫系统,包括用户管理端、服务器端、爬虫集群端和数据存储端,用户管理端是爬虫系统对管理者提供的Web接口,管理者通过用户管理端连接并访问Web平台,服务器端通过服务接口连接用户管理端,在服务器端设有爬虫负载均衡管理模块、爬虫任务调度模块、爬虫性能监控模块,爬虫集群端设有若干个彼此独立的网络爬虫节点,所有网络爬虫节点均通过爬行器接口连接服务器端,设置在数据存储端的存储接口通过数据总线连接爬虫集群端,数据存储端设有用于存储抓取结果文件的数据库系统。该系统通过管理者对网络爬虫集群进行统一管理和分布式部署,能灵活管理爬虫任务,实现爬虫集群的负载均衡,使得爬虫工作高效、稳定。

【技术实现步骤摘要】
一种负载均衡的分布式大数据爬虫系统
本专利技术涉及搜索引擎
,具体地说是涉及一种负载均衡的分布式大数据爬虫系统。
技术介绍
随着互联网技术的高速发展,网页信息正以指数级的速度高速膨胀,人们对于能够从互联网上准确且高效地查找出自己想要的信息提出了越来越高的要求。网络爬虫作为搜索引擎的核心组件之一,负责采集互联网上的信息。而今随着大数据时代的来临,信息爆炸式地增长,对网络爬虫的性能提出更高的要求。目前,单节点爬行器不论从CPU的运算能力,还是从硬盘的I/O速率及存储容量,都难以应对大规模数据量的采集。因此,采用分布式处理技术的网络爬虫系统成为提升网络数据采集能力的必然选择。目前,分布式爬虫系统在互联网信息采集中广泛应用,但是从负载均衡设计的角度来看,均存在不足,因而造成了系统性能的瓶颈。负载均衡问题本身与系统自身和实际需求紧密关联,没有统一的标准,因此对于不同的分布式爬虫系统而言,需根据实际的需求情况设计不同的负载均衡策略。
技术实现思路
本专利技术的目的在于提供一种负载均衡的分布式大数据爬虫系统,该系统通过管理者对网络爬虫集群进行统一管理和分布式部署,能够灵活管理爬虫任务,实现爬虫集群的负载均衡,使得爬虫工作高效、稳定。为了实现上述目的,本专利技术采用的技术方案为,一种负载均衡的分布式大数据爬虫系统,包括用户管理端、服务器端、爬虫集群端和数据存储端,所述用户管理端是爬虫系统对管理者提供的Web接口,管理者通过用户管理端连接并访问Web平台,所述服务器端通过服务接口连接用户管理端,在服务器端设有爬虫负载均衡管理模块、爬虫任务调度模块、爬虫性能监控模块,所述爬虫集群端设有若干个彼此独立的网络爬虫节点,所有网络爬虫节点均通过爬行器接口连接服务器端,设置在数据存储端的存储接口通过数据总线连接爬虫集群端,数据存储端设有用于存储抓取结果文件的数据库系统。作为本专利技术的一种改进,所述用户管理端设有爬虫的任务配置文件,服务器端设有爬虫健康状态列表,所述任务配置文件中包含的信息包括网络爬虫ID、种子URL(即待抓取网页的入口)、域名和下载地址,所述爬虫健康状态列表记载的信息包括每个网络爬虫所在服务器的磁盘容量、网络爬虫执行一轮任务的运行速度。作为本专利技术的一种改进,所述爬虫负载均衡管理模块与爬虫任务调度模块和爬虫性能监控模块相连,所述爬虫负载均衡管理模块设有爬虫负载轻重判别模块,爬虫性能监控模块接收所有网络爬虫节点上报的心跳信息和运行状态信息,并根据运行状态信息定时更新爬虫健康状态列表,爬虫任务调度模块记录所有网络爬虫节点上报的任务采集信息。作为本专利技术的一种改进,所述网络爬虫节点设有任务管理模块、网页抓取模块、网页分析模块和心跳信息上报模块,任务管理模块与网页抓取模块和网页分析模块相连,网页抓取模块与网页分析模块相连,心跳信息上报模块与任务管理模块相连,任务管理模块与爬虫任务调度模块相连,心跳信息上报模块与爬虫性能监控模块相连,其中网页抓取模块采用HttpClient开源组件抓取网页,网页分析模块采用HtmlParser开源组件解析网页内容并生成抓取结果文件存储在数据库系统。作为本专利技术的一种改进,所述网络爬虫节点的心跳信息和任务采集信息均包括磁盘剩余容量、本次爬虫运行时长、平均运行时长、采集的数据数量以及启动后第一次上报或任务有变动时上报的任务信息,所述运行状态信息包括磁盘剩余容量、爬虫运行速度。作为本专利技术的一种改进,所述网络爬虫节点抓取并解析网页内容所产生的抓取结果文件的格式为TXT格式和/或XML格式。上述分布式大数据爬虫系统所采用的动态负载均衡的方法,管理者在用户管理端通过服务器端向爬虫集群端上的所有网络爬虫节点下发或回收任务,同时接收所有网络爬虫节点上报的心跳信息、运行状态信息,记录所有网络爬虫节点的任务采集信息,对所有网络爬虫节点进行实时性能监控;在接收到Web平台下发的新任务时,根据心跳信息和运行状态信息检查整个爬虫集群端上每一个网络爬虫节点的健康状态,挑选最优的网络爬虫节点执行新任务,同时根据任务采集信息和爬虫负载轻重判别模块的判别结果,重启负载较轻的网络爬虫节点程序或停止负载较重的网络爬虫节点程序,实现对网络爬虫节点的负载均衡。作为本专利技术的一种改进,管理者通过用户管理端接收到Web平台下发的新任务时,一方面管理者可直接在用户管理端将新任务写入具体某个网络爬虫节点的任务配置文件中,另一方面管理者可根据服务器端设置的爬虫健康状态列表所记录的所有网络爬虫节点的健康状态信息,从中挑选最优网络爬虫节点并对应更改该网络爬虫节点的任务配置文件,对应的网络爬虫节点接收到新任务后,自动加载该任务,而无需管理者重启爬虫程序。作为本专利技术的一种改进,Web平台根据不同的网页结构和主题内容,对待爬取的目标内容进行细粒度切分,并根据切分后的内容分别建立各爬取任务,所述切分后的内容之间无关联性,各爬取任务之间也无关联性,每一爬取任务通过一独立线程完成,所述爬虫任务调度模块根据心跳信息和运行状态信息可将各爬取任务分配给同一个网络爬虫节点执行,也可将各爬取任务分配给不同的网络爬虫节点执行。作为本专利技术的一种改进,挑选最优网络爬虫节点的具体实现方法是:比较每个网络爬虫节点的剩余磁盘容量、本次爬虫运行时长和平均时长,从中选取剩余磁盘容量大、本次爬虫运行时长和平均时长差别小的网络爬虫节点作为最优的网络爬虫节点;检查整个爬虫集群端上每一个网络爬虫节点的健康状态的具体实现方法是:设定剩余磁盘容量、本次爬虫运行时长和平均时长分别作为健康状态指标,并在同一种健康状态指标下,比较心跳信息中的非健康状态指标的信息。相对于现有技术,本专利技术提出的是一种可持续抓取网页、可实现动态负载均衡的分布式大数据爬虫系统,能够持续爬取目标网页的更新内容,定时爬取目标页面,并将主题内容采集保存至数据存储端的数据库系统,管理者在用户管理端通过服务器端向爬虫集群端上的所有网络爬虫节点下发或回收任务,同时接收所有网络爬虫节点上报的心跳信息、运行状态信息,记录所有网络爬虫节点的任务采集信息,对所有网络爬虫节点进行实时性能监控;有效实现对爬虫集群端上所有网络爬虫节点的分布式部署和统一管理,任务分配方式灵活,可对爬虫集群端实现动态负载均衡,从而确保各网络爬虫节点爬取工作高效、稳定。附图说明图1为本专利技术的分布式大数据爬虫系统结构示意图。图2为本专利技术的流程示意图。具体实施方式为了加深对本专利技术的理解和认识,下面结合附图对本
技术实现思路
作进一步描述和介绍。随着计算机普及,以及网络的飞速发展,越来越多的组织或个人在网络上网体上发表舆论信息。因此,需要能够爬取并解析网页的工具将这些信息下载保存下来以供分析监控使用。网络爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本;分布式网络爬虫包含多个爬虫,每个爬虫需要完成的任务与单个的爬行器类似,它们都是从互联网上下载网页,并把解析后的内容保存到本地的磁盘。如图1所示为一种持续抓取网页并下载网络言论的可实现动态负载均衡的分布式大数据爬虫系统,包括用户管理端、服务器端、爬虫集群端和数据存储端,所述用户管理端是爬虫系统对管理者提供的Web接口,管理者通过用户管理端连接并访问Web平台,所述服务器端通过服务接口连接用户管理端,在服务器端设有爬虫负载均衡管理模块本文档来自技高网
...
一种负载均衡的分布式大数据爬虫系统

【技术保护点】
一种负载均衡的分布式大数据爬虫系统,其特征在于:包括用户管理端、服务器端、爬虫集群端和数据存储端,所述用户管理端是爬虫系统对管理者提供的Web接口,管理者通过用户管理端连接并访问Web平台,所述服务器端通过服务接口连接用户管理端,在服务器端设有爬虫负载均衡管理模块、爬虫任务调度模块、爬虫性能监控模块,所述爬虫集群端设有若干个彼此独立的网络爬虫节点,所有网络爬虫节点均通过爬行器接口连接服务器端,设置在数据存储端的存储接口通过数据总线连接爬虫集群端,数据存储端设有用于存储抓取结果文件的数据库系统。

【技术特征摘要】
1.一种负载均衡的分布式大数据爬虫系统,其特征在于:包括用户管理端、服务器端、爬虫集群端和数据存储端,所述用户管理端是爬虫系统对管理者提供的Web接口,管理者通过用户管理端连接并访问Web平台,所述服务器端通过服务接口连接用户管理端,在服务器端设有爬虫负载均衡管理模块、爬虫任务调度模块、爬虫性能监控模块,所述爬虫集群端设有若干个彼此独立的网络爬虫节点,所有网络爬虫节点均通过爬行器接口连接服务器端,设置在数据存储端的存储接口通过数据总线连接爬虫集群端,数据存储端设有用于存储抓取结果文件的数据库系统。2.如权利要求1所述的一种负载均衡的分布式大数据爬虫系统,其特征在于,所述用户管理端设有爬虫的任务配置文件,服务器端设有爬虫健康状态列表,所述任务配置文件中包含的信息包括网络爬虫ID、种子URL、域名和下载地址,所述爬虫健康状态列表记载的信息包括每个网络爬虫所在服务器的磁盘容量、网络爬虫执行一轮任务的运行速度。3.如权利要求2所述的一种负载均衡的分布式大数据爬虫系统,其特征在于,所述爬虫负载均衡管理模块与爬虫任务调度模块和爬虫性能监控模块相连,所述爬虫负载均衡管理模块设有爬虫负载轻重判别模块,爬虫性能监控模块接收所有网络爬虫节点上报的心跳信息和运行状态信息,并根据运行状态信息定时更新爬虫健康状态列表,爬虫任务调度模块记录所有网络爬虫节点上报的任务采集信息。4.如权利要求3所述的一种负载均衡的分布式大数据爬虫系统,其特征在于,所述网络爬虫节点设有任务管理模块、网页抓取模块、网页分析模块和心跳信息上报模块,任务管理模块与网页抓取模块和网页分析模块相连,网页抓取模块与网页分析模块相连,心跳信息上报模块与任务管理模块相连,任务管理模块与爬虫任务调度模块相连,心跳信息上报模块与爬虫性能监控模块相连,其中网页抓取模块采用HttpClient开源组件抓取网页,网页分析模块采用HtmlParser开源组件解析网页内容并生成抓取结果文件存储在数据库系统。5.如权利要求4所述的一种负载均衡的分布式大数据爬虫系统,其特征在于,所述网络爬虫节点的心跳信息和任务采集信息均包括磁盘剩余容量、本次爬虫运行时长、平均运行时长、采集的数据数量以及启动后第一次上报或任务有变动时上报的任务信息,所述运行状态信息包括磁盘剩余容量、爬虫运行速度。6.如权利要求5所述的...

【专利技术属性】
技术研发人员:张宏斌朱斌刘威李心恺薛晓峰
申请(专利权)人:江苏飞搏软件股份有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1