基于Kubernetes和Typescript扩展数据方法和系统技术方案

技术编号:26259435 阅读:19 留言:0更新日期:2020-11-06 17:54
本申请提供一种基于Kubernetes和Typescript的扩展数据系统。包括:任务调度中心、任务和配置数据库、爬虫组件、数据处理组件;任务调度中心,用于从所述任务和配置数据库获取数据采集任务,控制任务抓取速率,并将任务结果写入下游的存储中;爬虫组件,用于不停轮询调度中心获取并执行属于自己的任务,采集到结果后,把任务结果传回调度中心;所述任务结果包括结果数据;数据处理组件,用于获取所述任务结果,并对所述任务结果进行清洗、整合并存储。

【技术实现步骤摘要】
基于Kubernetes和Typescript扩展数据方法和系统
本申请涉及数据采集相关
,具体涉及一种基于Kubernetes和Typescript扩展数据方法和系统。
技术介绍
互联网数据采集技术是指借助网络爬虫技术,抓取特定或者不特定的一个或多个数据源(网站或App),将抓取的数据清洗整理并存储起来的技术。通常超大规模的采集是类似百度这样的搜索引擎发起的,针对不特定的网站系统采集公开的数据,小规模的采集是通过编程语言编写特定的网站或app来进行针对性的抓取。除搜索引擎的爬虫系统以外,业界有一些开源的定向爬虫框架,如:python下的scrapy,Javanutch等等。这些爬虫框架也很流行,但是都有下面的一个或几个问题:仅仅是爬虫框架,仅仅关注数据采集的逻辑和任务管理,对于采集回来的数据并没有明确的处理方法,有待开发者自行解决。对于大规模的数据存储,清洗没有明确的方法,需要开发者自行解决。整个爬虫的工作流程紧耦合,无法对具体的任务继续拆分,不利于重用采集逻辑。
技术实现思路
本申请提供一种基于Kubernetes和Typescript扩展数据方法和系统,以解决上述问题。本申请提供一种基于Kubernetes和Typescript的高通量高扩展互联网数据采集系统。包括:任务调度中心、任务和配置数据库、爬虫组件、数据处理组件;任务调度中心,用于从所述任务和配置数据库获取数据采集任务,控制任务抓取速率,并将任务结果写入下游的存储中;爬虫组件,用于不停轮询调度中心获取并执行属于自己的任务,采集到结果后,把任务结果传回调度中心;所述任务结果包括结果数据;数据处理组件,用于获取所述任务结果,并对所述任务结果进行清洗、整合并存储。可选地,所述任务调度中心和所述爬虫组件均都是以容器实例在Kubernetes环境下运行;Kubernetes会自动根据配置或者资源占用条件动态更改运行时实例个数。可选地,数据处理组件具体用于:将存储在分布式文件系统HDFS中的任务结果加载进操作数据表中;对于操作数据表中的数据进行清洗,整合后存储在DataWarehouse的事实表中;事实表中的数据再次进过合并,汇总统计之后会通过DataX数据传输框架,放入ElasticSearch搜索服务器和Hbase列族数据库供后续服务查询使用。可选地,所述爬虫组件采用Typescript编写的高度灵活的框架,有内置的代理下载中间件和数据采集中间件;爬虫组件规定了整个数据采集的标准流程;数据采集任务会通过任务调度中心放入消息队列中暂存;爬虫组件下的数据采集器会请求任务调度中心,从对应的消息队列中获取数据采集任务,根据任务类型,选择不同的Downloader对目标进行下载;下载完成获取响应数据后,根据数据类型选择对应的Spider对结果进行解析;将解析的结果放入任务调度中心;其中,所述解析的结果为任务结果。可选地,任务和配置数据库中存储有常规任务,定时把任务写入任务调度中心;所述任务调度中心支持通过接口添加临时任务;爬虫组件采用通用框架,支持在整个数据采集流程中增加新的子过程。可选地,所述任务调度中心,用于将典型的结果送入Kafka队列;通过flume,对所述Kafka队列内的数据,做初步的数据清洗和合法性筛选后,存储进入HDFS文件系统。可选地,爬虫组件中具有独立的进程不停获取可用的代理IP,并存储到代理IP池中进行管理。可选地,所述任务调度中心具体用于:根据任务结果类型,选择对应的下一步数据流向;所述数据流向包括:Kafka、RabbitMQ、数据库。一种基于Kubernetes和Typescript扩展数据方法,包括:任务调度中心从所述任务和配置数据库获取数据采集任务,控制任务抓取速率;爬虫组件不停轮询调度中心获取并执行属于自己的任务,采集任务结果;爬虫组件把任务结果传回调度中心;所述任务结果包括结果数据;任务调度中心将任务结果写入下游的存储中;数据处理组件在下游的存储中获取所述任务结果,并对所述任务结果进行清洗、整合并存储。可选地,所述爬虫组件采用Typescript编写的高度灵活的框架;所述任务调度中心和所述爬虫组件实例都是以容器实例运行在Kubernetes环境中。本申请的基于Kubernetes和Typescript的高通量高扩展互联网数据采集系统包括:任务调度中心、任务和配置数据库、爬虫组件、数据处理组件;任务调度中心,用于从所述任务和配置数据库获取数据采集任务,控制任务抓取速率,并将任务结果写入下游的存储中;爬虫组件,用于不停轮询调度中心获取并执行属于自己的任务,采集到结果后,把任务结果传回调度中心;所述任务结果包括结果数据;数据处理组件,用于获取所述任务结果,并对所述任务结果进行清洗、整合并存储。如此设置,任务调度中心可以统一管理和调度各个任务,使得爬虫的工作流程紧耦合,可以对具体的任务继续拆分,可以重用采集逻辑。进一步的,数据处理组件可以对采集回来的数据进行清洗、整合并存储。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。图1为本申请提供的基于Kubernetes和Typescript扩展数据系统的结构示意图;图2为本申请提供的基于Kubernetes和Typescript扩展数据系统的系统架构图;图3本申请提供的基于Kubernetes和Typescript扩展数据系统中爬虫框架组件关系图;图4为本申请提供的基于Kubernetes和Typescript扩展数据系统中数据处理流程流程图;图5为本申请提供的基于Kubernetes和Typescript扩展数据系统中数据采集引擎类图。图6为本申请提供的基于Kubernetes和Typescript扩展数据系统中KubernetesDeployment示意图。图7为本申请提供的基于Kubernetes和Typescript扩展数据方法的流程图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。实施例图1为本申请提供的基于Kubernetes和Typescript扩展数据系统的结构示意图;图2为本申请提供的基于Kubernetes和Typescript扩展数据系统的系统架构图;参照图1和图2,本申请提供的基于Kubernetes和Ty本文档来自技高网...

【技术保护点】
1.一种基于Kubernetes和Typescript扩展数据系统,其特征在于,包括:任务调度中心、任务和配置数据库、爬虫组件、数据处理组件;/n任务调度中心,用于从所述任务和配置数据库获取数据采集任务,控制任务抓取速率,并将任务结果写入下游的存储中;/n爬虫组件,用于不停轮询调度中心获取并执行属于自己的任务,采集到结果后,把任务结果传回调度中心;所述任务结果包括结果数据;/n数据处理组件,用于获取所述任务结果,并对所述任务结果进行清洗、整合并存储。/n

【技术特征摘要】
1.一种基于Kubernetes和Typescript扩展数据系统,其特征在于,包括:任务调度中心、任务和配置数据库、爬虫组件、数据处理组件;
任务调度中心,用于从所述任务和配置数据库获取数据采集任务,控制任务抓取速率,并将任务结果写入下游的存储中;
爬虫组件,用于不停轮询调度中心获取并执行属于自己的任务,采集到结果后,把任务结果传回调度中心;所述任务结果包括结果数据;
数据处理组件,用于获取所述任务结果,并对所述任务结果进行清洗、整合并存储。


2.根据权利要求1所述的基于Kubernetes和Typescript扩展数据系统,其特征在于,所述任务调度中心和所述爬虫组件均都是以容器实例在Kubernetes环境下运行;Kubernetes会自动根据配置或者资源占用条件动态更改运行时实例个数。


3.根据权利要求1所述的基于Kubernetes和Typescript扩展数据系统,其特征在于,数据处理组件具体用于:
将存储在分布式文件系统HDFS中的任务结果加载进操作数据表中;
对于操作数据表中的数据进行清洗,整合后存储在DataWarehouse的事实表中;
事实表中的数据再次进过合并,汇总统计之后会通过DataX数据传输框架,放入ElasticSearch搜索服务器和Hbase列族数据库供后续服务查询使用。


4.根据权利要求1所述的基于Kubernetes和Typescript扩展数据系统,其特征在于,所述爬虫组件采用Typescript编写的高度灵活的框架,有内置的代理下载中间件和数据采集中间件;
爬虫组件规定了整个数据采集的标准流程;
数据采集任务会通过任务调度中心放入消息队列中暂存;
爬虫组件下的数据采集器会请求任务调度中心,从对应的消息队列中获取数据采集任务,根据任务类型,选择不同的Downloader对目标进行下载;下载完成获取响应数据后,根据数据类型选择对应的Spider对结果进行解析;将解析的结果放入任务调度中心;其中,所述解...

【专利技术属性】
技术研发人员:刘思洋
申请(专利权)人:北京明亮的星文化传媒有限公司
类型:发明
国别省市:北京;11

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

1