一种基于CS架构的分布式数据采集方法及系统[发明专利]

(19)中华人民共和国国家知识产权局
(12)发明专利申请
(10)申请公布号 (43)申请公布日 (21)申请号 202010306601.0
(22)申请日 2020.04.17
(71)申请人 姜海强
地址 100000 北京市海淀区林萃路宝盛北
里西区8号楼
(72)发明人 姜海强 秦斌 
(74)专利代理机构 上海思牛达专利代理事务所
(特殊普通合伙) 31355
代理人 丁剑
(51)Int.Cl.
G06F  9/50(2006.01)
G06F  16/2458(2019.01)
G06F  16/25(2019.01)
G06F  16/953(2019.01)
H04L  29/06(2006.01)
(54)发明名称
一种基于CS架构的分布式数据采集方法及
系统
(57)摘要
本发明公开了一种基于CS架构的分布式数
据采集方法及系统,一种基于CS架构的分布式数
据采集系统,包括CS架构和分布式集架构,其
中,所述CS架构包括客户端和服务端,所述分布
式集架构包括主节点和从节点,且所述从节点
设置于所述客户端上,所述主节点设置于所述服
务端上。本发明通过基于CS架构的分布式数据采
集,提出了将负载均衡代理服务用于解决代理数
据采集,可以保证数据不丢失,同时支持国内外
网站数据的合法请求;提出了分布式的策略,随
时可以新增下载节点,扩充海量数据;前端提供
了可视化前端,可以直观的看到集的运行状态
并进行管理。权利要求书2页  说明书15页  附图3页CN 111538590 A 2020.08.14
C N  111538590
A
1.一种基于CS架构的分布式数据采集系统,其特征在于,包括CS架构和分布式集架构,其中,所述CS架构包括客户端和服务端,所述分布式集架构包括主节点和从节点,且所述从节点设置于所述客户端上,所述主节点设置于所述服务端上,其中;
所述客户端,搭建虚拟化容器引擎或搬瓦工云服务器,向资源池申请下载资源以及向目标网页进行网址解析下载和存储;
所述服务端,物理主机,接受客户机的请求,将数据响应给客户机;
所述分布式集架构,用于实现大规模数据运算和分布式训练。
2.根据权利要求1所述的基于CS架构的分布式数据采集系统,其特征在于,进一步还包括负载均衡代理、数据库、资源池、多级存储介质和可视化前端,其中;
所述客户端分别与所述资源池和所述服务端连接,所述服务端分别与所述数据库和所述多级存储介质连接,所述数据库与所述可视化前端连接;
所述负载均衡代理,用于搭建负载均衡,实现负载均衡代理;
所述数据库,用于存储服务端采集的keyword信息和proxy以及各个采集节点采集的数据量;
所述资源池,用于用户向cookie池申请资源,资源池会使用用户名和密码对网址进行访问,并将网站反馈的cookie字段存储到有效队列中分配给用户;
所述多级存储介质,用于提供包含缓存层存储、持久性存储和缓存监控服务;
所述可视化前端,用于对各个分布式从节点运行状态的监控数据采集量的实时统计以及通过前端监控服务完成数据采集流程的可视化。
3.一种基于CS架构的分布式数据采集方法,其特征在于,用于权利要求1所述的分布式数据采集系统,包括以下步骤:
步骤S1,客户端向服务端发送采集指令;
步骤S3,所述服务端向负载均衡代理申请代理;
步骤S5,所述服务端向资源池申请资源;
步骤S7,所述资源池从用户代理池获取用户代理,并使用所述用户代理访问网站;
步骤S9,所述网站返回Cookie给Cookie池,所述资源池获取所述Cookie;
步骤S11,所述客户端从所述网站采集数据,并存储至多级存储介质;
步骤S13,所述客户端将数据传输给所述服务端;
步骤S15,所述服务端将数据传输给数据库;
步骤S17,所述数据库将数据传输给可视化前端;
步骤S19,所述可视化前端显示数据。
4.根据权利要求3所述的基于CS架构的分布式数据采集方法,其特征在于,预先还包括以下步骤:
搭建所述负载均衡代理;
搭建所述数据库;
搭建所述资源池;
搭建CS架构;
搭建分布式集架构;
搭建所述多级存储介质;
搭建所述可视化前端。
5.根据权利要求4所述的基于CS架构的分布式数据采集方法,其特征在于,搭建分布式集架构至少包含一台主节点和若干的从节点构建的集,其中主节点设置于服务端上,从节点设置于客户端上,包括以下步骤:
新建文件,输入免密的IP、端口和密码;
配置ansible框架;
开发一键部署脚本;
使用部署脚本将依赖环境分发给所有空节点;
批量执行shell脚本;
将采集程序及依赖环境依次分发到各个从节点;
使用各从节点的采集程序启动种子下载程序,将下载好的种子存入列表。
一种基于CS架构的分布式数据采集方法及系统
技术领域
[0001]本发明涉及数据采集技术领域,具体来说,涉及一种基于CS架构的分布式数据采集方法及系统。
背景技术
[0002]随着AI底层算法架构的发展及稳定,想要提高算法的精度和泛化性能,需要收集大量的线上数据,并通过数据挖掘手段来获取其中的巨大价值,然而如何高效的获取数据是一个亟待解决及创新的问题。
[0003]目前已有的数据采集技术都是部署在本地物理机服务器上的,通常需要消耗大量的CPU(中央处理器)、网络带宽资源和IO(输入/输出(Input/Output))资源,其他服务器使用者会感觉很卡顿,影响资源使用。
[0004]主要存在以下问题:
[0005]1、现有的技术用户为了拓展数据下载节点需要将相同的程序和环境部署到新的机器上,程序的可拓展性差,不适用于动态延伸,更新版本流程繁琐。
[0006]2、现有的数据采集技术中,往往会因为网络环境的不稳定,导致网络丢包,数据损失且下载速度受限。
[0007]3、现有的爬虫技术,是将下载后的数据直接存储到SATA中,在分布式环境或者多并发写入,SATA的IO会阻塞使下载效率大打折扣。
[0008]4、现有分布式数据采集框架Scrapy-redis,封装了爬虫需要的大部分网络依赖库,小型采集任务可以按Scrapy框架规定的方案进行开发。但Scrapy-redis分布式架构存在三个缺点:
[0009]a)对于大规模分布式采集,针对特定的网站反爬取策略需要定制一套爬取方案,工作难度很大,如果使用Scrapy-redis的开发规则进行代码调整,或者修改Scrapy底层源码的工作量都很大。
[0010]b)Scrapy中调度器(Scheduler)主要负责对各个spider节点的申请优先级进行排序和下载任务的去重,无法监控spider的运行状态,无法根据不同申请者的情况对任务进行主动分配,各个spider节点的资源利用率无法被充分使用。
[0011]c)redis是一种内存级数据库,数据的读取快,但是当系统以外宕机的时候,可能因为持久化不及时导致数据丢失,且redis在公开网络中进行访问,容易受到攻击。[0012]针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
[0013]针对相关技术中的问题,本发明提出一种基于CS架构的分布式数据采集方法及系统,以克服现有相关技术所存在的上述技术问题。
[0014]本发明的技术方案是这样实现的:
[0015]一种基于CS架构的分布式数据采集系统,包括CS架构和分布式集架构,其中,所
述CS架构包括客户端和服务端,所述分布式集架构包括主节点和从节点,且所述从节点设置于所述客户端上,所述主节点设置于所述服务端上,其中;
[0016]所述客户端,搭建虚拟化容器引擎或搬瓦工云服务器,向资源池申请下载资源以及向目标网页进行网址解析下载和存储;
[0017]所述服务端,物理主机,接受客户机的请求,将数据响应给客户机;
[0018]所述分布式集架构,用于实现大规模数据运算和分布式训练。
[0019]进一步还包括负载均衡代理、数据库、资源池、多级存储介质和可视化前端,其中;[0020]所述客户端分别与所述资源池和所述服务端连接,所述服务端分别与所述数据库和所述多级存储介质连接,所述数据库与所述可视化前端连接;
[0021]所述负载均衡代理,用于搭建负载均衡,实现负载均衡代理;
[0022]所述数据库,用于存储服务端采集的keyword信息和proxy以及各个采集节点采集的数据量;
[0023]所述资源池,用于用户向cookie池申请资源,资源池会使用用户名和密码对网址进行访问,并将网站反馈的cookie字段存储到有效队列中分配给用户;
[0024]所述多级存储介质,用于提供包含缓存层存储、持久性存储和缓存监控服务;[0025]所述可视化前端,用于对各个分布式从节点运行状态的监控数据采集量的实时统计以及通过前端监控服务完成数据采集流程的可视化。
[0026]根据本发明的另一个方面,提供了一种基于CS架构的分布式数据采集方法,包括以下步骤:
[0027]步骤S1,客户端向服务端发送采集指令;
[0028]步骤S3,所述服务端向负载均衡代理申请代理;
[0029]步骤S5,所述服务端向资源池申请资源;
[0030]步骤S7,所述资源池从用户代理池获取用户代理,并使用所述用户代理访问网站;[0031]步骤S9,所述网站返回Cookie给Cookie池,所述资源池获取所述Cookie;[0032]步骤S11,所述客户端从所述网站采集数据,并存储至多级存储介质;
[0033]步骤S13,所述客户端将数据传输给所述服务端;
[0034]步骤S15,所述服务端将数据传输给数据库;
[0035]步骤S17,所述数据库将数据传输给可视化前端;
[0036]步骤S19,所述可视化前端显示数据。
[0037]进一步的,预先还包括以下步骤:
[0038]搭建所述负载均衡代理;
[0039]搭建所述数据库;
[0040]搭建所述资源池;
[0041]搭建CS架构;
[0042]搭建分布式集架构;
[0043]搭建所述多级存储介质;
[0044]搭建所述可视化前端。
[0045]进一步的,搭建分布式集架构至少包含一台主节点和若干的从节点构建的集,其中主节点设置于服务端上,从节点设置于客户端上,包括以下步骤:

本文发布于:2024-09-22 12:27:35,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/421586.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   采集   分布式
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议