本发明专利技术公开了一种基于云原生的分布式网络爬虫系统、设备、介质和程序,系统以云原生kubernetes为部署平台,与文件系统连接,系统包括:待下载链接子系统,管理采集数据的站点链接,并将站点链接存储在文件系统中;排序子系统,将站点链接进行排序,生成优先级站点链接列表,并将优先级站点链接列表存储在文件系统中;网页去重子系统,去除优先级站点链接列表内的重复站点链接,并将去重后的优先级站点链接列表存储在文件系统中;网页内容获取子系统,按照去重后的优先级站点链接列表依次获取网站内容,并将网站内容存储在文件系统中。本申请能够提升资源的利用率,降低成本,能够按需进行计算资源的扩缩容,提升运维效率,具有高可用性。高可用性。高可用性。
【技术实现步骤摘要】
一种基于云原生的分布式网络爬虫系统、设备、介质和程序
[0001]本专利技术涉及互联网
,尤其涉及一种基于云原生的分布式网络爬虫系统。
技术介绍
[0002]随着互联网、大数据技术的不断发展,网络爬虫技术已经成为其重要组成部分。特别是在当前大数据、人工智能大行其道的时代,及时和高质量的数据是进行后续处理的重要步骤和先决条件。
[0003]目前网络爬虫,多数是基于传统互联网技术实现,即采用IDC机房裸机或是云计算的ECS云主机进行分布式部署实现。
[0004]本申请专利技术人在实现本申请实施例技术方案的过程中,至少发现现有技术中存在如下技术问题:
[0005]传统的网络爬虫极度依赖人工提供部署和维护支持,表现为:
[0006]首先,传统IDC裸机或云主机部署方案由于硬件采买、及运行维护都会受到成本及支持服务周期影响,对于短时间突增和突减的算力需求并不能做到实时或准实时按需进行调整,所以成本较高、缺乏计算弹性。
[0007]其次,因为传统IDC裸机或云主机部署方案或多或少都需要一定规模的运维团队及配套运维系统支持,因此或多或少都会涉及一定规模的运维成本,所以运维复杂,不能低成本地集中管理、运营和运维。
[0008]再次,因为传统IDC裸机或云主机部署方案需要依靠主机粒度的冗余资源提供系统高可用支持,并且在系统出现故障时需要依靠人工进行排查错误和修复,所以可用性不高,对于出现故障的模块或子服务需要人工或半自动的方式进行恢复。
[0009]综上,现有的网络爬虫存在成本高、缺乏计算弹性、运维复杂、可用性不高的技术问题。
技术实现思路
[0010]本申请实施例提供一种基于云原生的分布式网络爬虫系统、设备、介质和程序,解决了现有的网络爬虫存在的成本高、缺乏计算弹性、运维复杂、可用性不高的技术问题。
[0011]本申请实施例一方面提供了一种基于云原生的分布式网络爬虫系统,所述基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,所述基于云原生的分布式网络爬虫系统与文件系统连接,所述系统包括:待下载链接子系统,管理采集数据的站点链接,并将所述站点链接存储在文件系统中;排序子系统,将所述站点链接进行排序,生成优先级站点链接列表,并将所述优先级站点链接列表存储在所述文件系统中;网页去重子系统,去除所述优先级站点链接列表内的重复站点链接,并将所述去重后的优先级站点链接列表存储在所述文件系统中;网页内容获取子系统,按照所述去重后的优先级站点链接列表依次获取网站内容,并将所述网站内容存储在所述文件系统中。
[0012]可选的,所述排序子系统具体为链接和域名排序子系统。
[0013]可选的,所述待下载链接子系统使用无状态的工作负载Deployment进行部署,从通用的存储服务中读取数据。
[0014]可选的,所述排序子系统使用有状态的工作负载StatefulSet进行部署,使用NoSQL
‑
数据结构数据库。
[0015]可选的,所述网页去重子系统使用无状态的工作负载Deployment进行部署,使用BloomFilter查重,使用NoSQL
‑
数据结构数据库。
[0016]可选的,所述网页内容获取子系统使用有状态的工作负载StatefulSet、工作负载Job或工作负载CornJob进行部署。
[0017]可选的,所述待下载链接子系统、所述排序子系统、网页去重子系统、网页内容获取子系统在部署系统时需要通用的配置管理服务,使用Kubernetes的ConfigMap和Secret作为配置中心。
[0018]另一方面,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于云原生的分布式网络爬虫系统的功能。
[0019]本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于云原生的分布式网络爬虫系统的功能。
[0020]本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现基于云原生的分布式网络爬虫系统的功能。
[0021]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0022]所述基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,所述基于云原生的分布式网络爬虫系统与文件系统连接,所述系统包括:待下载链接子系统,管理采集数据的站点链接,并将所述站点链接存储在文件系统中;排序子系统,将所述站点链接进行排序,生成优先级站点链接列表,并将所述优先级站点链接列表存储在所述文件系统中;网页去重子系统,去除所述优先级站点链接列表内的重复站点链接,并将所述去重后的优先级站点链接列表存储在所述文件系统中;网页内容获取子系统,按照所述去重后的优先级站点链接列表依次获取网站内容,并将所述网站内容存储在所述文件系统中。本申请通过将基于云原生的分布式网络爬虫系统的各个子系统进行容器化改造将系统部署在进程粒度,让基于云原生的分布式网络爬虫系统的各个子系统能够充分利用kubernetes集群计算资源,提升系统资源的利用率、降低成本;本申请基于云原生kubernetes技术构建网络爬虫系统,充分利用云计算的弹性能力,能够按照实际需要进行计算资源的扩缩容;将所有基于云原生的分布式网络爬虫系统的各个子系统归于kubernetes集群下进行运维管理,利用统一的管理运维系统;利用Kubernetes提供的高可用设计实现了高可用的分布式网络爬虫系统。
[0023]进一步,所述排序子系统具体为链接和域名排序子系统。按照链接和域名对站点链接进行排序,形成有优先级的站点链接列表,能够满足业务规则。
[0024]再进一步,所述待下载链接子系统、所述排序子系统、网页去重子系统、网页内容获取子系统在部署系统时需要通用的配置管理服务,使用Kubernetes的ConfigMap和Secret作为配置中心。传统IDC裸机或云主机部署方案对于系统配置修改都需要一定时间进行部署和上线操作,而本申请基于云原生的分布式网络爬虫系统利用配置管理服务实现
了对系统配置修改的实时响应,实时性高。
附图说明
[0025]图1为本申请一实施例中基于云原生的分布式网络爬虫系统架构图;
[0026]图2为本申请一实施例中基于云原生的分布式网络爬虫系统的爬取流程图。
具体实施方式
[0027]本申请实施例提供一种基于云原生的分布式网络爬虫系统、设备、介质和程序,解决了现有的网络爬虫存在的成本高、缺乏计算弹性、运维复杂、可用性不高的技术问题。
[0028]本专利技术一实施例的技术方案为解决上述的问题,总体思路如下:
[0029]基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,基于云原生的分布式网络爬虫系统与文件系统连接,系统包括:待下载链接子系统,管理采集数据的站点链本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于云原生的分布式网络爬虫系统,其特征在于,所述基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,所述基于云原生的分布式网络爬虫系统与文件系统连接,所述系统包括:待下载链接子系统,管理采集数据的站点链接,并将所述站点链接存储在文件系统中;排序子系统,将所述站点链接进行排序,生成优先级站点链接列表,并将所述优先级站点链接列表存储在所述文件系统中;网页去重子系统,去除所述优先级站点链接列表内的重复站点链接,并将所述去重后的优先级站点链接列表存储在所述文件系统中;网页内容获取子系统,按照所述去重后的优先级站点链接列表依次获取网站内容,并将所述网站内容存储在所述文件系统中。2.如权利要求1所述的系统,其特征在于,所述排序子系统具体为链接和域名排序子系统。3.如权利要求1所述的系统,其特征在于,所述待下载链接子系统使用无状态的工作负载Deployment进行部署,从通用的存储服务中读取数据。4.如权利要求1所述的系统,其特征在于,所述排序子系统使用有状态的工作负载StatefulSet进行部署,使用NoSQL
‑
数据结构数据库。5.如权利要求1所述的系统,其特征在于,所述网页去重子系统使用无状态的工...
【专利技术属性】
技术研发人员:李瑞,
申请(专利权)人:上海等海科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。