一种大规模分布式数据管理系统及其方法技术方案

技术编号:14818490 阅读:134 留言:0更新日期:2017-03-15 12:04
本发明专利技术提供一种大规模分布式数据管理系统及其方法。该系统包括爬虫端、数据收集服务器、主控制器、分布式存储服务器和业务端,爬虫端和业务端分别与数据收集服务器进行数据交互,其中,爬虫端根据主控制器的指令来抓取网页数据并向数据收集服务器发送;数据收集服务器用于将爬虫端发送的数据整合之后上传至分布式存储服务器,并将数据发送给业务端;主控制器用于管理爬虫端、业务端认证以及数据收集服务器的负载均衡以及确定爬虫端和业务端的身份合法性,根据预定的分配规则为爬虫端分布相适配的数据收集服务器,当数据达到相适配的数据收集服务器的存储预设值时,主控制器控制所述爬虫端向其他未达存储预设值的数据收集服务器发送所爬取的数据。

【技术实现步骤摘要】

本专利技术涉及一种数据管理系统,具体涉及大规模分布式数据管理系统及其方法
技术介绍
随着网络技术的大力发展,通过互联网获取数据已成为当前人们获取信息资源的重要途径。采用网络爬虫获取数据已成为主流的获取手段,然而,由于多个爬虫同时爬取数据,并将爬取的数据发送到一个接口中,如此之大规模的数据量会占用相当大的网络资源,而且由于爬虫的身份没有得到验证,会导致不必要的网络污染,这会浪费大量的网络资源和使得数据传送不安全。
技术实现思路
针对上述技术问题,本专利技术提供一种能有效避免资源浪费和保证数据安全传送的大规模分布式数据管理系统。本专利技术采用的技术方案为:本专利技术的一实施例提供一种大规模分布式数据管理系统,包括爬虫端、数据收集服务器、主控制器、分布式存储服务器和业务端,所述爬虫端和所述业务端分别与所述数据收集服务器进行数据交互,其中,所述爬虫端根据所述主控制器的指令来抓取网页数据并向数据收集服务器发送;所述数据收集服务器用于将爬虫端发送的数据整合之后上传至所述分布式存储服务器,并根据所述业务端发送的请求指令将相对应的数据发送给所述业务端;所述主控制器用于管理所述爬虫端、业务端认证以及数据收集服务器的负载均衡以及确定所述爬虫端和所述业务端的身份合法性,根据预定的分配规则为所述爬虫端分配相适配的数据收集服务器,当所述爬虫端爬取的数据达到相适配的数据收集服务器的存储预设值时,所述主控制器控制所述爬虫端向其他未达存储预设值的数据收集服务器发送所爬取的数据。可选地,所述数据收集服务器设置有数据清洗模块,其中,所述数据清理模块用于对爬取的数据进行清理,使得经清理后的数据形成标准的数据包;所述数据清理模块包括:数据清洗单元,用于过滤或者修改不符合业务端要求的数据;数据整理单元,用于根据业务端的需求对爬取的网页数据进行重新整合,使得整合后的数据与业务端的需求之间具有更高的相关性。可选地,所述主控制器在所述爬虫端获得其认证授权后,根据预定的分配规则为所述爬虫端分配相适配的数据收集服务器;所述爬虫端在获得所述数据收集服务器的认证授权后,向相适配的数据收集服务器发送所爬取的数据;以及所述数据收集服务器在所述业务端获得认证授权后,向所述业务端发送响应请求指令的数据包。可选地,当所述爬虫端爬取的数据大小达到预设阈值时,所述主控制器控制所述爬虫端向相适配的数据收集服务器传送数据;当所述爬虫端爬取的数据大小未达到预设阈值时,所爬取的数据暂时存放在缓存器中。可选地,所述预定的分配规则为负载均衡算法;所述不符合业务端要求的数据包括不完整的数据、错误的数据和重复的数据。可选地,所述根据业务端的需求对爬取的网页数据进行重新整合包括:将数据进行分割以获取指定行数的目标数据、满足指定条件的目标数据和只包含指定列编号的目标数据;将数据进行聚合以将两个或多个数据表按指定条件关联聚合成一张表;以及将数据进行格式转换,以将包括时间的复杂类型从原始字符串格式转换为目标字符串格式。可选地,所述分布式存储服务器包括用于存储结构化数据的结构化数据存储器和用于存储非结构化数据的非结构化数据存储器。本专利技术的另一实施例提供一种大规模分布式数据管理方法,包括:S100:多个爬虫端基于主控制器的爬取指令爬取数据;S200:主控制器根据预定的分配规则为所述爬虫端爬取的数据分配相适配的数据收集服务器,并在爬虫端爬取的数据达到数据收集服务器的存储预设值时,控制所述爬虫端向其他未达存储预设值的数据收集服务器发送所爬取的数据;S300:所述数据收集服务器对所接收的数据进行清理操作,使得经清理后的数据形成标准的数据包,并根据业务端发送的请求指令将所述数据包发送给所述业务端。可选地,步骤S200具体包括:主控制器根据负载均衡算法为爬虫端爬取的数据分配相适配的数据收集服务器,主控制器根据负载均衡算法为爬虫端爬取的数据分配相适配的数据收集服务器,当所述爬虫端爬取的数据大小未达到预设阈值时,主控制器将所爬取的数据暂时存放在缓存器中。可选地,步骤S300中,对所接收的数据进行清理操作包括:过滤或者修改不符合业务端要求的数据;根据业务端的需求对爬取的网页数据进行重新整合,使得整合后的数据与业务端的需求之间具有更高的相关性。可选地,在步骤S100中,所述主控制器在所述爬虫端获得其认证授权后,根据预定的分配规则为所述爬虫端分配相适配的数据收集服务器;在步骤S200中,所述爬虫端在获得所述数据收集服务器的认证授权后,向相适配的数据收集服务器发送所爬取的数据;以及在步骤S300中,所述数据收集服务器在所述业务端获得认证授权后,向所述业务端发送响应请求指令的数据包。可选地,所述根据业务端的需求对爬取的网页数据进行重新整合包括:将数据进行分割以获取指定行数的目标数据、满足指定条件的目标数据和只包含指定列编号的目标数据;将数据进行聚合以将两个或多个数据表按指定条件关联聚合成一张表;以及将数据进行格式转换,以将包括时间的复杂类型从原始字符串格式转换为目标字符串格式。本专利技术提供的大规模分布式数据管理系统,在对爬虫端和业务端的身份进行验证后才允许爬虫端向数据收集服务器发送数据,以及允许数据收集服务器向业务端发送数据,如此保证了数据传送的安全性,进而保证整个系统数据的输入输出都是有效的。并且,只有在爬虫端爬取的数据内存达到一定值后才存入数据收集服务器中,从而减少了系统的负担。此外,设置多个数据收集服务器,为爬虫端分配相适配的数据接收端口,保证系统的负载均衡,既解决了单点故障问题,又提高了吞吐量。附图说明图1为本专利技术实施例提供的大规模分布式数据管理系统的结构示意图。图2为本专利技术实施例提供的大规模分布式数据管理方法的流程示意图。具体实施方式以下结合附图对本专利技术的大规模分布式数据管理系统的具体实施方式进行介绍。【实施例1】大规模分布式数据管理系统图1为本专利技术实施例提供的大规模分布式数据管理系统的结构示意图。如图1所示,本专利技术的实施例提供的一种大规模分布式数据管理系统,包括多个爬虫端1、缓存器2、多个数据收集服务器3、分布式存储服务器4、主控制器5和业务端6。所述爬虫端1和所述业务端6分别与所述数据收集服务器3进行数据交互。其中,所有爬虫端1均受所述主控制器5的控制,在主控制器5的控制下保持同步,并根据所述主控制器5的指令来抓取网页数据并向数据收集服务器3发送。具体地,爬虫端1的数目可根据具体实际情况来设置,例如,根据需要可设置约400个爬虫端来分别向400个网站爬取数据,每个爬虫端以公用的Redis内存数据库作为统一的URL调度器,以插件式的形式安装在爬虫端上;或者采用实现分布式的部署,直接将相应的程序jar包部署在每台机器上,启动运行即可。每个爬虫端的具体URL调度将会由Redis服务器进行集中式的管理,保证数据不重复爬取。这样的实现能够保证每个爬虫之间耦合度低,不相互依赖,部署简单,爬取速度快。主控制器5可实时控制爬虫端1的运行状态和监控爬虫端1的运行状况,做到实时监测实时报警处理,全方位控制爬虫,满足各方面业务需求。所述数据收集服务器3用于将爬虫端1发送的数据整合之后周期性地上传至所述分布式存储服务器4,供有离线数据需求的业务使用,并根据所述业务端6发送的请求指令将相对应的数据发送给所述业务端6。数据收集服务器3可根本文档来自技高网...
一种大规模分布式数据管理系统及其方法

【技术保护点】
一种大规模分布式数据管理系统,其特征在于,包括爬虫端、数据收集服务器、主控制器、分布式存储服务器和业务端,所述爬虫端和所述业务端分别与所述数据收集服务器进行数据交互,其中,所述爬虫端根据所述主控制器的指令来抓取网页数据并向数据收集服务器发送;所述数据收集服务器用于将爬虫端发送的数据整合之后上传至所述分布式存储服务器,并根据所述业务端发送的请求指令将相对应的数据发送给所述业务端;所述主控制器用于管理所述爬虫端、业务端认证以及数据收集服务器的负载均衡以及确定所述爬虫端和所述业务端的身份合法性,根据预定的分配规则为所述爬虫端分配相适配的数据收集服务器,当所述爬虫端爬取的数据达到相适配的数据收集服务器的存储预设值时,所述主控制器控制所述爬虫端向其他未达存储预设值的数据收集服务器发送所爬取的数据。

【技术特征摘要】
1.一种大规模分布式数据管理系统,其特征在于,包括爬虫端、数据收集服务器、主控制器、分布式存储服务器和业务端,所述爬虫端和所述业务端分别与所述数据收集服务器进行数据交互,其中,所述爬虫端根据所述主控制器的指令来抓取网页数据并向数据收集服务器发送;所述数据收集服务器用于将爬虫端发送的数据整合之后上传至所述分布式存储服务器,并根据所述业务端发送的请求指令将相对应的数据发送给所述业务端;所述主控制器用于管理所述爬虫端、业务端认证以及数据收集服务器的负载均衡以及确定所述爬虫端和所述业务端的身份合法性,根据预定的分配规则为所述爬虫端分配相适配的数据收集服务器,当所述爬虫端爬取的数据达到相适配的数据收集服务器的存储预设值时,所述主控制器控制所述爬虫端向其他未达存储预设值的数据收集服务器发送所爬取的数据。2.根据权利要求1所述的大规模分布式数据管理系统,其特征在于,所述数据收集服务器设置有数据清洗模块,其中,所述数据清理模块用于对爬取的数据进行清理,使得经清理后的数据形成标准的数据包;所述数据清理模块包括:数据清洗单元,用于过滤或者修改不符合业务端要求的数据;数据整理单元,用于根据业务端的需求对爬取的网页数据进行重新整合,使得整合后的数据与业务端的需求之间具有更高的相关性。3.根据权利要求2所述的大规模分布式数据管理系统,其特征在于,所述主控制器在所述爬虫端获得其认证授权后,根据预定的分配规则为所述爬虫端分配相适配的数据收集服务器;所述爬虫端在获得所述数据收集服务器的认证授权后,向相适配的数据收集服务器发送所爬取的数据;以及所述数据收集服务器在所述业务端获得认证授权后,向所述业务端发送响应请求指令的数据包。4.根据权利要求1所述的大规模分布式数据管理系统,其特征在于,当所述爬虫端爬取的数据大小达到预设阈值时,所述主控制器控制所述爬虫端向相适配的数据收集服务器传送数据;当所述爬虫端爬取的数据大小未达到预设阈值时,所爬取的数据暂时存放在缓存器中。5.根据权利要求2所述的大规模分布式数据管理系统,其特征在于,所述预定的分配规则为负载均衡算法;所述不符合业务端要求的数据包括不完整的数据、错误的数据和重复的数据。6.根据权利要求2所述的大规模分布式数据管理系统,其特征在于,所述根据业务端的需求对爬取的网页数据进行重新整合包括:将数据进行分割以获取指定行数的目标数据、满足指定条件的目标数据和只包含指定列编号的目标...

【专利技术属性】
技术研发人员:王亚松刘希常子青
申请(专利权)人:国信优易数据有限公司
类型:发明
国别省市:北京;11

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

1