分布式互联网信息采集系统及方法技术方案

技术编号:23291887 阅读:129 留言:0更新日期:2020-02-08 21:08
本发明专利技术公开了一种分布式互联网信息采集系统及方法,旨在解决现有数据采集速度慢、适用范围窄的技术问题。本发明专利技术采集系统包括采集脚本编制模块、任务调度模块、微服务框架、数据存储模块,采集脚本编制模块用于生成记载采集需求的采集脚本;任务调度模块用于调整上述采集脚本的执行顺序;微服务框架与任务调度模块互相通信,用于接收采集脚本并分配至不同的下载节点;数据存储模块用于存储下载节点传送的下载内容。采集方法包括任务加载、任务解析、节点分配。本发明专利技术的有益技术效果在于:适用范围广、适用性强、采集效率高。

Distributed Internet information collection system and method

【技术实现步骤摘要】
分布式互联网信息采集系统及方法
本专利技术涉及互联网信息
,具体涉及一种分布式互联网信息采集系统及方法。
技术介绍
互联网中含有大量各行各业用户需要的有价值的信息,用户采集这些信息通常有三种方式:(1)内容管理系统,简称cms,如织梦、帝国等品牌,该系统包括采集服务,在系统后台提供有针对通用型新闻网站的简单采集服务;但是其使用范围有限,灵活性不差强人意,而且还需要手动配置响应的正则匹配抽取规则,操作比较繁琐;(2)针对专门网站的信息采集系统,该系统可以根据不同网站发布的网页信息结构需求,进行定制化开发,以最大限度采集到所需数据,但是由于其针对性强,通用性差,需要很多套采集应用支持,维护成本比较高,特别是当被采集的网站升级改版时,随之进行的更新工作量更大;(3)单机信息采集平台,在针对专门网站的信息采集系统的基础上,将采集分为网页结构识别逻辑、通用下载、数据清洗、数据存储等,其中网页结构识别逻辑由不同的脚本实现,对于不同的网站只需要开发相应的采集脚本,其它部分可以不做修改,这样就减少了工作量,但是该系统采集速度慢,无法完成大规模、高并发的采集任务。
技术实现思路
本专利技术提供一种分布式互联网信息采集系统及方法,以解决现有数据采集速度慢、适用范围窄的技术问题。为解决上述技术问题,本专利技术采用如下技术方案:设计一种分布式互联网信息采集系统,包括采集脚本编制模块、任务调度模块、微服务框架、数据存储模块,采集脚本编制模块用于生成记载采集需求的采集脚本;任务调度模块用于调整上述采集脚本的执行顺序;微服务框架与任务调度模块互相通信,用于接收采集脚本并分配至不同的下载节点;数据存储模块用于存储上述下载节点传送的下载内容。进一步的,采集脚本包括资源下载单元和逻辑编制单元。进一步的,逻辑编制单元包括登录信息、页面跳转信息、请求头设定信息。进一步的,任务调度模块包括:脚本加载单元,用于根据采集脚本的优先级确定脚本执行顺序;逻辑执行单元,用于将所述采集脚本发送至虚拟机中编译并将所述资源下载单元通过所述微服务框架分配至下载节点;结果处理单元,用于接收所述下载节点返回的下载数据。进一步的,下载数据包括所述下载脚本中记载的下载内容以及是/否下载正确的信息。还设计一种信息采集的方法,包括以下步骤:S1,将记载有待采集内容的采集脚本加载至任务调度模块;S2,确定上述采集脚本的执行顺序,分配硬件资源;S3,解析脚本内容,将需要下载的请求通过微服务框架发送至下载节点;S4,下载节点解析下载请求,下载请求内容并将下载结果返回至微服务框架;S5,微服务框架将下载结果返回至任务调度模块并将该结果存储于数据存储模块。进一步的,所述步骤S4中若返回出错信息,则该下载节点重新下载。进一步的,若上述重新下载设定次数后仍无法完成下载,则将错误结果传送至微服务框架,微服务框架根据错误结果重新切换下载节点。与现有技术相比,本专利技术的主要有益技术效果在于:1.应用范围广,将资源下载与内容解析逻辑分开并脚本化后,整个采集系统可以应用到多个业务领域。2.适应性强,对于新采集业务、采集逻辑变更等场景,通过修改采集脚本即可解决,无需重新开发、编译、部署。3.满足大规模采集,采集系统支持多采集脚本并行采集,借助采集任务管理、监控,实时跟踪采集异常。4.性能高效率快,通过分布式下载任务执行,将下载压力分散到众多下载节点,可满足高并发要求,依据需求快速完成采集任务。附图说明图1为本专利技术分布式互联网信息采集系统的架构图。图2为本专利技术分布式互联网信息采集系统的硬件结构图。图3为本专利技术信息采集方法的流程图。具体实施方式下面结合附图和实施例来说明本专利技术的具体实施方式,但以下实施例只是用来详细说明本专利技术,并不以任何方式限制本专利技术的范围。实施例1:一种分布式互联网信息采集系统,参见图1至图2,以任务调度模块为中心,主要负责任务分配和下载资源解析;互联网信息的采集包括从服务器中下载原始资源(html、图像、附件等),然后对这些资源进行解析以使客户端可读。因此,加载到任务调度模块的采集脚本包括资源下载部分和逻辑解析部分。采集脚本由下位机加载至任务调度模块,任务调度模块根据优先级、负载均衡、定时设定策略安排采集脚本的执行顺序。采集脚本根据采集需求以及原始信息网站要求编制,脚本中包含但不限于以下逻辑编制:是否需要登录,是否需要页面跳转,请求头设定(cookie携带,请求参数设置等)。任务调度模块通过互联网和私密协议微服务框架通信,将采集脚本中的资源下载请求发送至各个下载节点,具体如下:首先,任务调度模块加载采集脚本,任务初始化,分配相应内存、CPU等资源,初始化脚本运行虚拟机;然后,逻辑执行,在脚本运行虚拟机中执行采集脚本代码。对于资源下载的逻辑部分,通过“私密协议微服务框架”分发到下载节点执行,执行完成后返回下载结果。当前节点执行下载任务时,如果失败,允许5次尝试,5次尝试失败后,当前下载点返回错误信息。最后,结果处理,任务调度模块接收并处理下载点返回的结果信息。如果返回的是正确信息,任务调度模块调用解析模块,解析结果(如HTML网页内容等)并提取有价值内容,然后存储到数据库存储中。若返回的是下载失败的错误信息,任务调度模块需要尝试将任务发送到其他下载点重新执行下载操作。尝试5次依然无法下载时,需要记录下载出错日志,由人工排查出错原因。其中私密协议为自定义字节流协议,将通信过程中的数据包进行封装。协议格式如下:数据包头(32字节)+数据区域(N字节)+CRC校验(2字节)。数据包头又详细划分为:HEAD(4字节)+源地址(8字节)+目标地址(8字节)+数据包类型(4字节)+数据包序列号(8字节)。使用私密协议通信,而不是采用Xml、Json、文本等明文格式直接传输,优势在于可以对数据区域扩展数据加密机制,起到数据保护的目的;数据采用字节流传输,在发送端和接收端可以采用统一的序列化、反序列化机制,有效提升性能。采用上述分布式互联网信息采集系统进行信息采集的方法参见图3,在步骤401中,任务调度模块依据优先级、定时策略加载采集任务脚本,该脚本包含任务下载部分和逻辑解析部分,然后进入步骤402;在步骤402中,进行脚本运行环境初始化操作,分配CPU、内存等资源,然后执行步骤403;在步骤403中,解释采集脚本;对于需要下载的部分,通过私密协议微服务框架,将脚本中需要下载的内容,按私密协议格式封装下载请求,依照轮询+权重匹配策略,最近的下载节点权值最大,若该节点繁忙,则下载请求转移至最接近的下一节点,依次类推分配下载请求任务至合适的下载节点,执行步骤404;在步骤404中,解析下载请求,封装HTTP请求头(包括请求地址、请求方法、请求参数、Cookie等),使用下载节点网络资源发送请求,并获取返回结果,然后进步步骤405;在本文档来自技高网...

【技术保护点】
1.一种分布式互联网信息采集系统,其特征在于,包括采集脚本编制模块、任务调度模块、微服务框架、数据存储模块,所述采集脚本编制模块用于生成记载采集需求的采集脚本;所述任务调度模块用于调整所述采集脚本的执行顺序;所述微服务框架与所述任务调度模块互相通信,用于接收所述采集脚本并分配至不同的下载节点;所述数据存储模块用于存储所述下载节点传送的下载内容。/n

【技术特征摘要】
1.一种分布式互联网信息采集系统,其特征在于,包括采集脚本编制模块、任务调度模块、微服务框架、数据存储模块,所述采集脚本编制模块用于生成记载采集需求的采集脚本;所述任务调度模块用于调整所述采集脚本的执行顺序;所述微服务框架与所述任务调度模块互相通信,用于接收所述采集脚本并分配至不同的下载节点;所述数据存储模块用于存储所述下载节点传送的下载内容。


2.根据权利要求1所述的分布式互联网信息采集系统,其特征在于,所述微服务框架包括字节流协议,该协议格式包括数据包头、数据区域、CRC校验;所述数据包头包括HEAD、源地址、目标地址、数据包类型、数据包序列号。


3.根据权利要求1所述的分布式互联网信息采集系统,其特征在于,所述采集脚本包括资源下载单元和逻辑编制单元。


4.根据权利要求3所述的分布式互联网信息采集系统,其特征在于,所述逻辑编制单元包括登录信息、页面跳转信息、请求头设定信息。


5.根据权利要求1所述的分布式互联网信息采集系统,其特征在于,所述任务调度模块包括:
脚本加载单元,用于根据采集脚本的优先级确定脚本执行顺序;
逻辑执行单元,用于将所述采集脚本发送至虚拟机...

【专利技术属性】
技术研发人员:李善平
申请(专利权)人:河南拓普计算机网络工程有限公司
类型:发明
国别省市:河南;41

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

1