基于Docker的Web数据采集方法、Web服务器及Web数据采集系统与流程

文档序号:12135159阅读:361来源:国知局
基于Docker的Web数据采集方法、Web服务器及Web数据采集系统与流程

本发明属于互联网Web数据处理领域,尤其涉及一种基于Docker的Web数据采集方法、Web服务器及Web数据采集系统。



背景技术:

网络技术的迅猛发展,使得互联网已经成为主要信息的载体,充分、有效地提取这些信息是当今互联网信息收集工作的重点、难点。数据采集技术应运而生,该技术能够集中解决从数据源中提取关键信息的问题。目前,国内外的大型互联网公司、相关研究机构已经给出了一些较为成熟的解决方案,有些也己投入使用,但是这些方案大都是通过建立一台主节点、部署数量固定的工作节点来实现,在资源利用方面及其不稳定。

如我们所知,在传统实践中大规模服务器架构的方式中,当需要采集数量较少的数据源时,已经部署的工作节点只能有一部分任务,另外一部分保持空闲,导致资源浪费;而当需要采集数量较多时,已经部署的工作节点不足以满足采集任务的需求,那么采取增加部署工作节点或者待其他工作节点任务完成后再分配其他任务的方式解决,这样严重影响Web数据采集系统的健壮性和稳定性。

超轻量虚拟机Docker(以下简称Docker)可以把应用实例及其依赖环境打包到一个可移植容器中,根据需求自由创建镜像并发布到任何流行的Linux机器上,并且Docker可以创建大量的镜像容器,完全可以替代数据采集过程中的工作节点。

因此,借助Docker平台,将Web数据采集系统架构在Docker之上,转变传统实践中大规模服务器架构的方式,提高数据采集的规范化程度,提高Web数据采集系统的健壮性和普适性,实现Web数据采集系统的可扩展性,对于系统可扩展性、为设备减耗提供便利成为本领域一个急需解决的问题。



技术实现要素:

为了解决现有技术的缺点,本发明提供一种基于Docker的Web数据采集方法、Web服务器及Web数据采集系统。本发明可有效解决现有技术中存在的Web数据采集系统可扩展性不理想的问题。

为实现上述目的,本发明采用以下技术方案:

一种基于Docker的Web数据采集方法,该方法在Web服务器内完成,具体包括以下步骤:

基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点;所述数据采集主节点与数据采集工作节点相互通信;

数据采集主节点接收Web数据采集任务,并根据Web数据采集任务中URL的数量来启动预设数量的数据采集工作节点;Web数据采集任务包括数据源IP地址和URL;

数据采集工作节点启动后,数据采集主节点将数据源IP地址和URL分配给各数据采集工作节点,由数据采集工作节点采集相应的Web数据;

数据采集主节点接收各数据采集工作节点传送来的数据,并回收所有数据采集工作节点,完成Web数据的采集。

本发明通过借助超轻量虚拟机Docker平台,将传统Web数据采集系统架构在Docker平台之上,根据任务量大小,创建启动多种搭配方式数量的数据采集工作节点,转变传统大规模服务器架构方式,实现Web数据采集系统可扩展性,提高数据采集工作节点的健壮性和普适性。

数据采集主节点还接收URL预先制定的规则,并将接收的URL预先制定的规则分配给各数据采集工作节点。

当数据采集工作节点被分配于URL后,将针对该URL所提前制定的规则传递给该数据采集工作节点,以用于更好、更方便的进行数据采集。

数据采集主节点通过分布式消息中间件将URL预先制定的规则分配给各数据采集工作节点。

数据采集主节点通过分布式消息中间件将数据源IP地址和URL分配给各数据采集工作节点。

分布式消息中间件的优势是:发送方、接收方系统之间不需要了解双方,只需认识消息;而且数据采集主节点可以同时发送各数据采集工作节点相对应的数据源IP地址和URL,节省了任务分配时间,从而达到了加快Web数据采集的速度的目的。

该方法还包括:数据采集工作节点完成Web数据采集后,通过分布式消息中间件告知数据采集主节点已处于空闲状态并向数据采集主节点请求新的URL。

该方法还包括:数据采集主节点实时检测数据源IP地址访问异常数据;当数据采集主节点检测到数据源IP地址访问异常数据时,数据采集主节点向数据源IP地址所对应的数据采集工作节点发送结束采集命令。本发明能够更高效实现web数据采集的Web服务器的可扩展性,并通过加强对整个数据采集过程中的监控管理,实现整个数据采集过程稳定进行。

一种基于Docker的Web数据采集的Web服务器,包括数据采集节点构建模块,其用于基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点;所述数据采集主节点与数据采集工作节点相互通信;

其中,数据采集主节点,其用于接收Web数据采集任务,并根据Web数据采集任务中URL的数量来启动预设数量的数据采集工作节点;Web数据采集任务包括数据源IP地址和URL;

数据采集工作节点启动后,数据采集主节点用于将数据源IP地址和URL分配给各数据采集工作节点,由数据采集工作节点采集相应的Web数据;

数据采集主节点还用于接收各数据采集工作节点传送来的数据,并回收所有数据采集工作节点,完成Web数据的采集。

所述Web服务器还包括异常监控模块,其用于监控数据采集主节点及工作状态下的数据采集工作节点的运行状态,当数据采集主节点或工作状态下的数据采集工作节点出现异常状态时,输出异常报警信号至客户端。

一种基于Docker的Web数据采集系统,包括所述的Web服务器;

Web数据采集任务发送端,其用于将Web数据采集任务发送至数据采集主节点。

所述基于Docker的Web数据采集系统还包括客户端,其用于接收Web服务器输出的异常报警信号。

本发明的有益效果为:

(1)本发明通过借助超轻量虚拟机Docker平台,基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点,将传统Web数据采集系统架构在Docker平台之上;根据任务量大小,创建启动多种搭配方式数量的数据采集工作节点,转变传统大规模服务器架构方式,实现Web数据采集系统可扩展性,提高数据采集工作节点的健壮性和普适性;

(2)本发明在借助超轻量虚拟机Docker平台过程中,本发明还针对运行过程中数据采集主节点及数据采集工作节点运行异常、数据采集工作节点受到反采集限制问题进行监控管理,确保整个数据采集过程稳定进行。

附图说明

图1是本发明的基于Docker的Web数据采集方法的实施例一流程图;

图2是本发明的基于Docker的Web数据采集方法的实施例二流程图;

图3是本发明的基于Docker的Web数据采集的Web服务器的结构示意图;

图4是本发明的基于Docker的Web数据采集系统结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。本发明的Docker是一种轻量级虚拟机。

图1是本发明的基于Docker的Web数据采集方法的实施例一流程图,该方法在Web服务器内完成,如图1所示,具体包括以下步骤:

步骤1:基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点;所述数据采集主节点与数据采集工作节点相互通信。

步骤2:数据采集主节点接收Web数据采集任务,并根据Web数据采集任务中URL的数量来启动预设数量的数据采集工作节点;Web数据采集任务包括数据源IP地址和URL。

在该步骤中,数据采集主节点还接收URL预先制定的规则,并将接收的URL预先制定的规则分配给各数据采集工作节点。

其中,数据采集主节点通过分布式消息中间件将URL预先制定的规则分配给各数据采集工作节点。

当数据采集工作节点被分配于URL后,将针对该URL所提前制定的规则传递给该数据采集工作节点,以用于更好、更方便的进行数据采集。

数据采集主节点通过分布式消息中间件将数据源IP地址和URL分配给各数据采集工作节点。

分布式消息中间件的优势是:发送方、接收方系统之间不需要了解双方,只需认识消息;而且数据采集主节点可以同时发送各数据采集工作节点相对应的数据源IP地址和URL,节省了任务分配时间,从而达到了加快Web数据采集的速度的目的。

步骤3:数据采集工作节点启动后,数据采集主节点将数据源IP地址和URL分配给各数据采集工作节点,由数据采集工作节点采集相应的Web数据。

数据采集工作节点完成Web数据采集后,通过分布式消息中间件告知数据采集主节点已处于空闲状态并向数据采集主节点请求新的URL。

步骤4:数据采集主节点接收各数据采集工作节点传送来的数据,并回收所有数据采集工作节点,完成Web数据的采集。

本发明借助Docker平台,当需要采集数量较少的数据源时,数据采集主节点自动部署固定数量(但数量较少)的工作节点用于保证任务完成;当需要采集数量较多的数据源时,数据采集主节点自动部署固定数量(但数量较多)的工作节点用于保证任务完成。

具体的,回收空闲状态的数据采集工作节点,是指借助Docker平台,当URL为空时,数据采集主节点无法为数据采集工作节点再分配URL,这该数据采集工作节点任务结束,数据采集主节点回收该数据采集工作节点,当所有数据采集工作节点任务结束,则整个web数据采集系统工作任务结束,数据采集主节点回收所有数据采集工作节点。

具体的,对一个URL由数据采集主节点分配给数据采集工作节点,数据采集工作节点通过从数据源进行数据采集并存储的过程称作一个任务。

本实施例通过借助超轻量虚拟机Docker平台,基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点,将传统Web数据采集系统架构在Docker平台之上;根据任务量大小,创建启动多种搭配方式数量的数据采集工作节点,转变传统大规模服务器架构方式,实现Web数据采集系统可扩展性,提高数据采集工作节点的健壮性和普适性。

图2是本发明的基于Docker的Web数据采集方法的实施例二流程图,该方法在Web服务器内完成,如图2所示,具体包括以下步骤:

步骤1:基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点;所述数据采集主节点与数据采集工作节点相互通信。

步骤2:数据采集主节点接收Web数据采集任务,并根据Web数据采集任务中URL的数量来启动预设数量的数据采集工作节点;Web数据采集任务包括数据源IP地址和URL。

在该步骤中,数据采集主节点还接收URL预先制定的规则,并将接收的URL预先制定的规则分配给各数据采集工作节点。

其中,数据采集主节点通过分布式消息中间件将URL预先制定的规则分配给各数据采集工作节点。

数据采集主节点通过分布式消息中间件将数据源IP地址和URL分配给各数据采集工作节点。

当数据采集工作节点被分配于URL后,将针对该URL所提前制定的规则传递给该数据采集工作节点,以用于更好、更方便的进行数据采集。

分布式消息中间件的优势是:发送方、接收方系统之间不需要了解双方,只需认识消息;而且数据采集主节点可以同时发送各数据采集工作节点相对应的数据源IP地址和URL,节省了任务分配时间,从而达到了加快Web数据采集的速度的目的。

步骤3:数据采集工作节点启动后,数据采集主节点将数据源IP地址和URL分配给各数据采集工作节点,由数据采集工作节点采集相应的Web数据。

数据采集工作节点完成Web数据采集后,通过分布式消息中间件告知数据采集主节点已处于空闲状态并向数据采集主节点请求新的URL。

步骤4:数据采集主节点实时检测数据源IP地址访问异常数据;当数据采集主节点检测到数据源IP地址访问异常数据时,数据采集主节点向数据源IP地址所对应的数据采集工作节点发送结束采集命令。

这样能够更高效实现web数据采集的Web服务器的可扩展性,并通过加强对整个数据采集过程中的监控管理,实现整个数据采集过程稳定进行。

步骤5:数据采集主节点接收各数据采集工作节点传送来的数据,并回收所有数据采集工作节点,完成Web数据的采集。

本实施例通过借助超轻量虚拟机Docker平台,基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点,将传统Web数据采集系统架构在Docker平台之上;根据任务量大小,创建启动多种搭配方式数量的数据采集工作节点,转变传统大规模服务器架构方式,实现Web数据采集系统可扩展性,提高数据采集工作节点的健壮性和普适性;本实施例还针对运行过程中数据采集主节点及数据采集工作节点运行异常、数据采集工作节点受到反采集限制问题进行监控管理,确保整个数据采集过程稳定进行。

图3是本发明的基于Docker的Web数据采集的Web服务器的结构示意图。如图3所示的基于Docker的Web数据采集的Web服务器,Web服务器包括数据采集节点构建模块和异常监控模块。

数据采集节点构建模块,其用于基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点;所述数据采集主节点与数据采集工作节点相互通信;

其中,数据采集主节点,其用于接收Web数据采集任务,并根据Web数据采集任务中URL的数量来启动预设数量的数据采集工作节点;Web数据采集任务包括数据源IP地址和URL;

数据采集工作节点启动后,数据采集主节点用于将数据源IP地址和URL分配给各数据采集工作节点,由数据采集工作节点采集相应的Web数据;

数据采集主节点还用于接收各数据采集工作节点传送来的数据,并回收所有数据采集工作节点,完成Web数据的采集。

异常监控模块,其用于监控数据采集主节点及工作状态下的数据采集工作节点的运行状态,当数据采集主节点或工作状态下的数据采集工作节点出现异常状态时,输出异常报警信号至客户端。

本实施例通过借助超轻量虚拟机Docker平台,基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点,将传统Web数据采集系统架构在Docker平台之上;根据任务量大小,创建启动多种搭配方式数量的数据采集工作节点,转变传统大规模服务器架构方式,实现Web数据采集系统可扩展性,提高数据采集工作节点的健壮性和普适性;本实施例还针对运行过程中数据采集主节点及数据采集工作节点运行异常、数据采集工作节点受到反采集限制问题进行监控管理,确保整个数据采集过程稳定进行。

图4是本发明的基于Docker的Web数据采集系统结构示意图。如图4所示的基于Docker的Web数据采集系统包括Web服务器;

Web数据采集任务发送端,其用于将Web数据采集任务发送至数据采集主节点。

进一步地,基于Docker的Web数据采集系统还包括客户端,其用于接收Web服务器输出的异常报警信号。

其中,Web服务器包括数据采集节点构建模块,所述数据采集节点构建模块用于基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点;所述数据采集主节点与数据采集工作节点相互通信;

其中,数据采集主节点,其用于接收Web数据采集任务,并根据Web数据采集任务中URL的数量来启动预设数量的数据采集工作节点;Web数据采集任务包括数据源IP地址和URL;

数据采集工作节点启动后,数据采集主节点用于将数据源IP地址和URL分配给各数据采集工作节点,由数据采集工作节点采集相应的Web数据;

数据采集主节点还用于接收各数据采集工作节点传送来的数据,并回收所有数据采集工作节点,完成Web数据的采集。

更进一步地,Web服务器还包括异常监控模块,异常监控模块用于监控数据采集主节点及工作状态下的数据采集工作节点的运行状态,当数据采集主节点或工作状态下的数据采集工作节点出现异常状态时,输出异常报警信号至客户端。

本实施例通过借助超轻量虚拟机Docker平台,基于Docker创建镜像容器,由镜像容器构建出一个数据采集主节点和若干个数据采集工作节点,将传统Web数据采集系统架构在Docker平台之上;根据任务量大小,创建启动多种搭配方式数量的数据采集工作节点,转变传统大规模服务器架构方式,实现Web数据采集系统可扩展性,提高数据采集工作节点的健壮性和普适性;本实施例还针对运行过程中数据采集主节点及数据采集工作节点运行异常、数据采集工作节点受到反采集限制问题进行监控管理,确保整个数据采集过程稳定进行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1