一种基于云原生的分布式网络爬虫系统、设备、介质和程序的制作方法
未命名
07-13
阅读:195
评论:0
1.本发明涉及互联网技术领域,尤其涉及一种基于云原生的分布式网络爬虫系统。
背景技术:
2.随着互联网、大数据技术的不断发展,网络爬虫技术已经成为其重要组成部分。特别是在当前大数据、人工智能大行其道的时代,及时和高质量的数据是进行后续处理的重要步骤和先决条件。
3.目前网络爬虫,多数是基于传统互联网技术实现,即采用idc机房裸机或是云计算的ecs云主机进行分布式部署实现。
4.本技术发明人在实现本技术实施例技术方案的过程中,至少发现现有技术中存在如下技术问题:
5.传统的网络爬虫极度依赖人工提供部署和维护支持,表现为:
6.首先,传统idc裸机或云主机部署方案由于硬件采买、及运行维护都会受到成本及支持服务周期影响,对于短时间突增和突减的算力需求并不能做到实时或准实时按需进行调整,所以成本较高、缺乏计算弹性。
7.其次,因为传统idc裸机或云主机部署方案或多或少都需要一定规模的运维团队及配套运维系统支持,因此或多或少都会涉及一定规模的运维成本,所以运维复杂,不能低成本地集中管理、运营和运维。
8.再次,因为传统idc裸机或云主机部署方案需要依靠主机粒度的冗余资源提供系统高可用支持,并且在系统出现故障时需要依靠人工进行排查错误和修复,所以可用性不高,对于出现故障的模块或子服务需要人工或半自动的方式进行恢复。
9.综上,现有的网络爬虫存在成本高、缺乏计算弹性、运维复杂、可用性不高的技术问题。
技术实现要素:
10.本技术实施例提供一种基于云原生的分布式网络爬虫系统、设备、介质和程序,解决了现有的网络爬虫存在的成本高、缺乏计算弹性、运维复杂、可用性不高的技术问题。
11.本技术实施例一方面提供了一种基于云原生的分布式网络爬虫系统,所述基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,所述基于云原生的分布式网络爬虫系统与文件系统连接,所述系统包括:待下载链接子系统,管理采集数据的站点链接,并将所述站点链接存储在文件系统中;排序子系统,将所述站点链接进行排序,生成优先级站点链接列表,并将所述优先级站点链接列表存储在所述文件系统中;网页去重子系统,去除所述优先级站点链接列表内的重复站点链接,并将所述去重后的优先级站点链接列表存储在所述文件系统中;网页内容获取子系统,按照所述去重后的优先级站点链接列表依次获取网站内容,并将所述网站内容存储在所述文件系统中。
12.可选的,所述排序子系统具体为链接和域名排序子系统。
13.可选的,所述待下载链接子系统使用无状态的工作负载deployment进行部署,从通用的存储服务中读取数据。
14.可选的,所述排序子系统使用有状态的工作负载statefulset进行部署,使用nosql-数据结构数据库。
15.可选的,所述网页去重子系统使用无状态的工作负载deployment进行部署,使用bloomfilter查重,使用nosql-数据结构数据库。
16.可选的,所述网页内容获取子系统使用有状态的工作负载statefulset、工作负载job或工作负载cornjob进行部署。
17.可选的,所述待下载链接子系统、所述排序子系统、网页去重子系统、网页内容获取子系统在部署系统时需要通用的配置管理服务,使用kubernetes的configmap和secret作为配置中心。
18.另一方面,本技术实施例还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于云原生的分布式网络爬虫系统的功能。
19.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于云原生的分布式网络爬虫系统的功能。
20.本技术实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现基于云原生的分布式网络爬虫系统的功能。
21.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
22.所述基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,所述基于云原生的分布式网络爬虫系统与文件系统连接,所述系统包括:待下载链接子系统,管理采集数据的站点链接,并将所述站点链接存储在文件系统中;排序子系统,将所述站点链接进行排序,生成优先级站点链接列表,并将所述优先级站点链接列表存储在所述文件系统中;网页去重子系统,去除所述优先级站点链接列表内的重复站点链接,并将所述去重后的优先级站点链接列表存储在所述文件系统中;网页内容获取子系统,按照所述去重后的优先级站点链接列表依次获取网站内容,并将所述网站内容存储在所述文件系统中。本技术通过将基于云原生的分布式网络爬虫系统的各个子系统进行容器化改造将系统部署在进程粒度,让基于云原生的分布式网络爬虫系统的各个子系统能够充分利用kubernetes集群计算资源,提升系统资源的利用率、降低成本;本技术基于云原生kubernetes技术构建网络爬虫系统,充分利用云计算的弹性能力,能够按照实际需要进行计算资源的扩缩容;将所有基于云原生的分布式网络爬虫系统的各个子系统归于kubernetes集群下进行运维管理,利用统一的管理运维系统;利用kubernetes提供的高可用设计实现了高可用的分布式网络爬虫系统。
23.进一步,所述排序子系统具体为链接和域名排序子系统。按照链接和域名对站点链接进行排序,形成有优先级的站点链接列表,能够满足业务规则。
24.再进一步,所述待下载链接子系统、所述排序子系统、网页去重子系统、网页内容获取子系统在部署系统时需要通用的配置管理服务,使用kubernetes的configmap和secret作为配置中心。传统idc裸机或云主机部署方案对于系统配置修改都需要一定时间进行部署和上线操作,而本技术基于云原生的分布式网络爬虫系统利用配置管理服务实现
了对系统配置修改的实时响应,实时性高。
附图说明
25.图1为本技术一实施例中基于云原生的分布式网络爬虫系统架构图;
26.图2为本技术一实施例中基于云原生的分布式网络爬虫系统的爬取流程图。
具体实施方式
27.本技术实施例提供一种基于云原生的分布式网络爬虫系统、设备、介质和程序,解决了现有的网络爬虫存在的成本高、缺乏计算弹性、运维复杂、可用性不高的技术问题。
28.本发明一实施例的技术方案为解决上述的问题,总体思路如下:
29.基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,基于云原生的分布式网络爬虫系统与文件系统连接,系统包括:待下载链接子系统,管理采集数据的站点链接,并将站点链接存储在文件系统中;排序子系统,将站点链接进行排序,生成优先级站点链接列表,并将优先级站点链接列表存储在文件系统中;网页去重子系统,去除优先级站点链接列表内的重复站点链接,并将去重后的优先级站点链接列表存储在文件系统中;网页内容获取子系统,按照去重后的优先级站点链接列表依次获取网站内容,并将网站内容存储在文件系统中。本技术通过将基于云原生的分布式网络爬虫系统的各个子系统进行容器化改造将系统部署在进程粒度,让基于云原生的分布式网络爬虫系统的各个子系统能够充分利用kubernetes集群计算资源,提升系统资源的利用率、降低成本;本技术基于云原生kubernetes技术构建网络爬虫系统,充分利用云计算的弹性能力,能够按照实际需要进行计算资源的扩缩容;将所有基于云原生的分布式网络爬虫系统的各个子系统归于kubernetes集群下进行运维管理,利用统一的管理运维系统提升系统运维效率;利用kubernetes提供的高可用设计实现了高可用的分布式网络爬虫系统。
30.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。显然,本发明所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
31.请参考图1,对本发明实施例中一种基于云原生的分布式网络爬虫系统进行详细的描述。
32.基于云原生的分布式网络爬虫系统10以云原生kubernetes为部署平台,基于云原生的分布式网络爬虫系统10与文件系统连接。基于云原生的分布式网络爬虫系统10包括待下载链接子系统11、排序子系统12、网页去重子系统13和网页内容获取子系统14。
33.待下载链接子系统11,管理采集数据的站点链接,并将站点链接存储在文件系统中。具体为:通过待下载链接子系统11管理需要采集数据的站点链接,并将其以文本文件的方式存储在对象存储文件系统中。其中,待下载链接子系统11在部署时使用无状态的工作负载deployment,考虑到数据需要具备断电后恢复的能力,数据需要从通用的存储服务中读取,可根据实际情况进行存储选型,例如文件、关系型数据库、非关系型数据库、分布式文件系统等。
34.排序子系统12,将站点链接进行排序,生成优先级站点链接列表,并将优先级站点
链接列表存储在文件系统中。为了能够满足业务规则,排序子系统12具体为链接和域名排序子系统,按照链接和域名对站点链接进行排序,形成有优先级的站点链接列表。其中,排序子系统12在部署时使用有状态的工作负载statefulset,同时考虑到排序后结果的持久化存储,可将排序后的结果存储于nosql-数据结构数据库中。排序后结果为优先级站点链接列表。
35.网页去重子系统13,去除优先级站点链接列表内的重复站点链接,并将去重后的优先级站点链接列表存储在文件系统中。其中,网页去重子系统13在部署时使用无状态的工作负载deployment,同时考虑到内部会使用bloomfilter进行查重,可使用通用的nosql-数据结构数据库,例如redis。
36.网页内容获取子系统14,按照去重后的优先级站点链接列表依次获取网站内容,并将网站内容存储在文件系统中。具体的,网页内容获取子系统14进行网络请求获取网站内容,并将网站内容存储在分布式文件系统中。其中,网页内容获取子系统14在部署时可根据实际业务情况选择工作负载的类型,对于有主从结构分布式结构的内容获取系统可使用有状态的工作负载statefulset,对于只需要一次性或周期性运行的场景可使用工作负载job或工作负载cronjob进行部署。
37.待下载链接子系统11、排序子系统12、网页去重子系统13、网页内容获取子系统14在部署系统时需要通用的配置管理服务,使用kubernetes的configmap和secret作为配置中心。利用kubernets集群提供的统一的配置中心支持系统配置实时变更。
38.请参考图2,基于云原生的分布式网络爬虫系统的爬取流程依次为管理站点,链接、域名排序,网页去重,网页内容获取。文件系统包括关系型数据库、nosql-数据结构数据库、分布式文件系统和其他文件存储。
39.本发明另一实施例提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现基于云原生的分布式网络爬虫系统的功能。
40.本发明另一实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时基于云原生的分布式网络爬虫系统的功能。
41.本发明另一实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时基于云原生的分布式网络爬虫系统的功能。
42.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
43.基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,基于云原生的分布式网络爬虫系统与文件系统连接,系统包括:待下载链接子系统,管理采集数据的站点链接,并将站点链接存储在文件系统中;排序子系统,将站点链接进行排序,生成优先级站点链接列表,并将优先级站点链接列表存储在文件系统中;网页去重子系统,去除优先级站点链接列表内的重复站点链接,并将去重后的优先级站点链接列表存储在文件系统中;网页内容获取子系统,按照去重后的优先级站点链接列表依次获取网站内容,并将网站内容存储在文件系统中。本技术通过将基于云原生的分布式网络爬虫系统的各个子系统进行容器化改造将系统部署在进程粒度,让基于云原生的分布式网络爬虫系统的各个子系统能够充分利用kubernetes集群计算资源,提升系统资源的利用率、降低成本;本技术基于云原生kubernetes技术构建网络爬虫系统,充分利用云计算的弹性能力,能够按照实际需要进行计算资源的扩缩容;将所有基于云原生的分布式网络爬虫系统的各个子系统归于
kubernetes集群下进行运维管理,利用统一的管理运维系统提升系统运维效率;利用kubernetes提供的高可用设计实现了高可用的分布式网络爬虫系统。
44.进一步,排序子系统具体为链接和域名排序子系统。按照连接和域名对站点链接进行排序,形成有优先级的站点链接列表,能够满足业务规则。
45.再进一步,待下载链接子系统、排序子系统、网页去重子系统、网页内容获取子系统在部署系统时需要通用的配置管理服务,使用kubernetes的configmap和secret作为配置中心。传统idc裸机或云主机部署方案对于系统配置修改都需要一定时间进行部署和上线操作,而本技术基于云原生的分布式网络爬虫系统利用配置管理服务实现了对系统配置修改的实时响应,实时性高。
46.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
47.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
48.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
49.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
50.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
技术特征:
1.一种基于云原生的分布式网络爬虫系统,其特征在于,所述基于云原生的分布式网络爬虫系统以云原生kubernetes为部署平台,所述基于云原生的分布式网络爬虫系统与文件系统连接,所述系统包括:待下载链接子系统,管理采集数据的站点链接,并将所述站点链接存储在文件系统中;排序子系统,将所述站点链接进行排序,生成优先级站点链接列表,并将所述优先级站点链接列表存储在所述文件系统中;网页去重子系统,去除所述优先级站点链接列表内的重复站点链接,并将所述去重后的优先级站点链接列表存储在所述文件系统中;网页内容获取子系统,按照所述去重后的优先级站点链接列表依次获取网站内容,并将所述网站内容存储在所述文件系统中。2.如权利要求1所述的系统,其特征在于,所述排序子系统具体为链接和域名排序子系统。3.如权利要求1所述的系统,其特征在于,所述待下载链接子系统使用无状态的工作负载deployment进行部署,从通用的存储服务中读取数据。4.如权利要求1所述的系统,其特征在于,所述排序子系统使用有状态的工作负载statefulset进行部署,使用nosql-数据结构数据库。5.如权利要求1所述的系统,其特征在于,所述网页去重子系统使用无状态的工作负载deployment进行部署,使用bloomfilter查重,使用nosql-数据结构数据库。6.如权利要求1所述的系统,其特征在于,所述网页内容获取子系统使用有状态的工作负载statefulset、工作负载job或工作负载cornjob进行部署。7.如权利要求3-6任一权限所述的系统,其特征在于,所述待下载链接子系统、所述排序子系统、网页去重子系统、网页内容获取子系统在部署系统时需要通用的配置管理服务,使用kubernetes的configmap和secret作为配置中心。8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6中任一权项所述的系统的功能。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6中任一权项所述的系统的功能。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-6任一权项所述的方系统的功能。
技术总结
本发明公开了一种基于云原生的分布式网络爬虫系统、设备、介质和程序,系统以云原生kubernetes为部署平台,与文件系统连接,系统包括:待下载链接子系统,管理采集数据的站点链接,并将站点链接存储在文件系统中;排序子系统,将站点链接进行排序,生成优先级站点链接列表,并将优先级站点链接列表存储在文件系统中;网页去重子系统,去除优先级站点链接列表内的重复站点链接,并将去重后的优先级站点链接列表存储在文件系统中;网页内容获取子系统,按照去重后的优先级站点链接列表依次获取网站内容,并将网站内容存储在文件系统中。本申请能够提升资源的利用率,降低成本,能够按需进行计算资源的扩缩容,提升运维效率,具有高可用性。高可用性。高可用性。
技术研发人员:李瑞
受保护的技术使用者:上海等海科技有限公司
技术研发日:2023.03.31
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种土壤污染治理装置的制作方法 下一篇:LED灯珠板测试夹具的制作方法
