CN113282372B - 数据收集集群的部署方法、装置、设备以及存储介质 - Google Patents
数据收集集群的部署方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN113282372B CN113282372B CN202110604923.8A CN202110604923A CN113282372B CN 113282372 B CN113282372 B CN 113282372B CN 202110604923 A CN202110604923 A CN 202110604923A CN 113282372 B CN113282372 B CN 113282372B
- Authority
- CN
- China
- Prior art keywords
- data collection
- warning
- keyword
- project file
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据收集集群的部署方法,包括:将ScrapydWeb组件和Selenium组件封装在第一docker容器中以形成数据收集集群的主节点;接收由用户上传的数据收集项目文件;将Scrapyd组件封装在第二docker容器中以形成所述数据收集集群中与所述数据收集项目文件对应的从节点;将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署;其中,所述从节点用于根据所述数据收集项目文件进行授权数据的收集,所述主节点用于进行所述从节点的管理。可见,本发明能够使用docker容器替代真实的服务器来组成数据收集集群,从而简化数据收集集群的部署过程,提高部署效率。本发明还涉及区块链技术领域。
Description
技术领域
本发明涉及分布式部署技术领域,尤其涉及一种数据收集集群的部署方法、装置、计算机设备以及存储介质。
背景技术
数据收集技术是一种常见的数据处理技术,其能够从海量的互联网网站中爬取出用户需要的数据。在实际应用中,互联网网站中存储的数据通常较为庞大,为了保证数据爬取的数据量和效率,通常需要构建一个数据收集集群进行数据的爬取。为此,在使用数据收集技术进行网站数据的爬取之前,往往需要先完成数据收集集群的部署。在部署数据收集集群时,通常需要用户逐一登录数据收集集群中的服务器,并逐一在各个服务器中完成爬虫的部署,此时,若出现数据收集集群中的服务器数量较多、服务器中的爬虫需要频繁更新等情况,数据收集集群的部署将会是一项非常繁琐的任务。可见,目前的数据收集集群的部署方法的部署过程繁琐,部署效率较低。
发明内容
本发明所要解决的技术问题在于,目前的数据收集集群的部署方法的部署过程繁琐,部署效率较低。
为了解决上述技术问题,本发明第一方面公开了一种数据收集集群的部署方法,所述方法包括:
将ScrapydWeb组件和Selenium组件封装在第一docker容器中以形成数据收集集群的主节点;
接收由用户上传的数据收集项目文件;
将Scrapyd组件封装在第二docker容器中以形成所述数据收集集群中与所述数据收集项目文件对应的从节点;
将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署;
其中,所述从节点用于根据所述数据收集项目文件进行授权数据的收集,所述主节点用于进行所述从节点的管理。
本发明第二方面公开了一种数据收集集群的部署装置,所述装置包括:
封装模块,用于将ScrapydWeb组件和Selenium组件封装在第一docker容器中以形成数据收集集群的主节点;
接收模块,用于接收由用户上传的数据收集项目文件;
所述封装模块,还用于将Scrapyd组件封装在第二docker容器中以形成所述数据收集集群中与所述数据收集项目文件对应的从节点;
发送模块,用于将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署;
其中,所述从节点用于根据所述数据收集项目文件进行授权数据的收集,所述主节点用于进行所述从节点的管理。
本发明第三方面公开了一种计算机设备,所述计算机设备包括:
存储有可执行程序代码的存储器;
与所述存储器连接的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的数据收集集群的部署方法中的部分或全部步骤。
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的数据收集集群的部署方法中的部分或全部步骤。
本发明实施例中,将ScrapydWeb组件和Selenium组件封装在第一docker容器形成数据收集集群的主节点,将Scrapyd组件封装在第二docker容器形成数据收集集群的从节点,然后将用户上传的数据收集项目文件发送至该从节点以完成数据收集集群的部署,从而能够使用docker容器替代真实的服务器来组成数据收集集群,这样,用户在进行数据收集集群的部署时,即无须逐一进行服务器的登录和爬虫组件的安装,从而能够达到简化数据收集集群的部署过程,提高部署效率的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种数据收集集群的部署方法的流程示意图;
图2是本发明实施例公开的一种数据收集集群的部署装置的结构示意图;
图3是本发明实施例公开的一种计算机设备的结构示意图;
图4是本发明实施例公开的一种计算机存储介质的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或端没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或端固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本发明公开了一种数据收集集群的部署方法、装置、计算机设备以及存储介质,将ScrapydWeb组件和Selenium组件封装在第一docker容器形成数据收集集群的主节点,将Scrapyd组件封装在第二docker容器形成数据收集集群的从节点,然后将用户上传的数据收集项目文件发送至该从节点以完成数据收集集群的部署,从而能够使用docker容器替代真实的服务器来组成数据收集集群,这样,用户在进行数据收集集群的部署时,即无须逐一进行服务器的登录和爬虫组件的安装,从而能够达到简化数据收集集群的部署过程,提高部署效率的效果。以下分别进行详细说明。
实施例一
请参阅图1,图1是本发明实施例公开的一种数据收集集群的部署方法的流程示意图。如图1所示,该数据收集集群的部署方法可以包括以下操作:
101、将ScrapydWeb组件和Selenium组件封装在第一docker容器中以形成数据收集集群的主节点。
102、接收由用户上传的数据收集项目文件。
103、将Scrapyd组件封装在第二docker容器中以形成所述数据收集集群中与所述数据收集项目文件对应的从节点。
104、将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署;其中,所述从节点用于根据所述数据收集项目文件进行授权数据的收集,所述主节点用于进行所述从节点的管理。
本发明实施例中,docker技术是一种能够实现轻量级的操作***虚拟化的技术,其能够实现相当于虚拟机的功能。其中,docker容器即相当于一个快速轻量级的虚拟机,能够为docker容器中的程序提供必要的运行环境,使得docker容器中的程序能够正常运转。与传统的虚拟机技术相比,docker技术具有***资源的利用率更高、启动时间更短、运行环境一致等优点。
传统的数据收集集群的部署过程中,数据收集集群中的一个节点即是一个服务器,用于为该节点中的爬虫组件提供必要的运行环境,如,数据收集集群的主节点可以是一个安装有ScrapydWeb组件和Selenium组件的服务器,数据收集集群的每个从节点均是一个安装有Scrapyd组件的服务器,这样,即可以由多个服务器组成数据收集集群。在进行数据收集集群的部署的过程中,往往需要用户逐一登录这些服务器,并在服务器上完成相应的爬虫组件的安装,从而完成数据收集集群的部署,这是传统的数据收集集群的部署过程繁琐和部署效率低下的主要原因。而本发明实施例中,通过将ScrapydWeb组件和Selenium组件封装在第一docker容器形成数据收集集群的主节点,将Scrapyd组件封装在第二docker容器形成数据收集集群的从节点,从而能够使用docker容器替代真实的服务器来组成数据收集集群,这样,用户在进行数据收集集群的部署时,即无须逐一进行服务器的登录和爬虫组件的安装,从而能够达到简化数据收集集群的部署过程,提高部署效率的效果。另外,数据收集项目文件通常包含有将要运行的数据收集程序,在形成数据收集项目文件对应的从节点之后,即可以将数据收集项目文件发送至对应的从节点,使得该从节点可以通过运行数据收集项目文件中的数据收集程序来进行数据的抓取。
需要说明的是,ScrapydWeb组件和Scrapyd组件均是scrapy爬虫框架中的组件,一个scrapy爬虫框架通常由一个ScrapydWeb组件和多个Scrapyd组件组成,其中,每个Scrapyd组件均独立地运行着对应的数据收集程序,以进行数据的爬取,而ScrapydWeb组件则可以为用户提供可视化管理界面,用于进行各个Scrapyd组件的管理。Selenium组件是一个web应用程序的自动化测试工具,用于为ScrapydWeb组件提供必要的环境。
需要说明的是,本发明实施例中的数据收集集群可以是一个爬虫集群,通过爬虫技术进行数据的抓取,从而实现数据的收集,其中,若爬取的数据是涉及到用户隐私的数据,则这些数据均是经过用户授权后才进行爬取的,也即本发明实施例中爬取的数据都是经过用户授权的数据(即授权数据)。
可见,实施该可选的实施例,将ScrapydWeb组件和Selenium组件封装在第一docker容器形成数据收集集群的主节点,将Scrapyd组件封装在第二docker容器形成数据收集集群的从节点,然后将用户上传的数据收集项目文件发送至该从节点以完成数据收集集群的部署,从而能够使用docker容器替代真实的服务器来组成数据收集集群,这样,用户在进行数据收集集群的部署时,即无须逐一进行服务器的登录和爬虫组件的安装,从而能够达到简化数据收集集群的部署过程,提高部署效率的效果。
在一个可选的实施例中,所述将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署之后,所述方法还包括:
接收由所述从节点上传的数据收集日志;
检测所述数据收集日志中是否存在目标关键词,其中,所述目标关键词是指预设的关键词集合中的任意一个关键词;
当检测出所述数据收集日志中存在所述目标关键词时,向所述用户发出警告提示。
在对数据进行爬取的过程中,若出现异常时,通常需要尽快进行处理,才可以保证数据爬取的稳定性,所以在完成数据收集集群的部署之后,还可以对从节点的数据爬取情况进行监测,若出现异常,则可以通知用户进行处理,从而保证数据爬取的稳定性。具体地,可以使从节点上传数据爬取过程中所产生的数据收集日志(也即爬虫集群的爬虫日志),然后通过判断数据收集日志中是否存在关键词集合中的任意一个关键词来判断数据爬取的过程是否出现异常,若出现异常,则向用户发出警告提示。例如,关键词集合中可以包括DEBUG、WARING、INFO、ERROR、CRITICAL共五个关键词,只需要检测出数据收集日志中包含有其中一个关键词(例如,数据收集日志中包含有DEBUG关键词、数据收集日志中同时包含有DEBUG关键词和WARING关键词),则可以向用户发出警告提示。其中,向用户发出警告提示的方式可以是向用户的邮箱发送警告邮件。
可见,实施该可选的实施例,首先接收由从节点上传的数据收集日志,然后通过检测数据收集日志中是否存在目标关键词来判断从节点的数据爬取过程是否存在异常,若存在异常,则向用户发出警告提示,从而有利于用户及时地对从节点的数据爬取过程中出现的异常进行处理,有利于保证从节点的数据爬取的稳定性。
在一个可选的实施例中,在检测出所述数据收集日志中存在所述目标关键词之后,所述向所述用户发出警告提示之前,所述方法还包括:
判断所述数据收集日志是否满足预设的警告条件;
当所述数据收集日志满足所述警告条件时,触发执行所述的向所述用户发出警告提示的步骤。
在实际应用中,有可能出现虽然数据收集日志存在目标关键词,但是无须向用户发出警告提示的情况。例如,在从节点的数据爬取过程中,有可能由于网络波动、电波干扰等偶然因素,导致爬取日志偶尔中出现目标关键词,但这种偶然因素通常会较快地消失,并不会对从节点的数据爬取过程造成实质的影响,此时,虽然数据收集日志中出现了目标关键词,但无须向用户发出警告提示。又例如,目标关键词在数据收集日志中出现的时刻不在用户的工作时间段中,此时,也无须向用户发出警告提示。所以,为了保证向用户发出的警告提示的准确性,在检测出数据收集日志中存在目标关键词之后,还可以继续判断数据收集日志是否满足预设的警告条件(具体稍后描述),在满足警告条件之后,才向用户发出警告提示,从而能够保证向用户发出的警告提示的准确性。
可见,实施该可选的实施例,在检测出数据收集日志中存在目标关键词之后,还可以继续判断数据收集日志是否满足预设的警告条件,在满足警告条件之后,才向用户发出警告提示,从而能够保证向用户发出的警告提示的准确性。
在一个可选的实施例中,所述关键词集合中的每一个关键词均预设有对应的警告次数阈值;
以及,所述判断所述数据收集日志是否满足预设的警告条件,包括:
确定每一个所述目标关键词在所述数据收集日志中出现的出现次数;
判断所述数据收集日志中是否存在次数警告关键词,其中,所述次数警告关键词是指所对应的出现次数大于所对应的警告次数阈值的目标关键词;
当所述数据收集日志中存在所述次数警告关键词时,确定所述数据收集日志满足预设的警告条件;
当所述数据收集日志中不存在所述次数警告关键词时,确定所述数据收集日志不满足所述警告条件。
在该可选的实施例中,可以针对不同的关键词预设不同的警告次数阈值,如,DEBUG关键词代表的异常程度较重,所以可以将DEBUG关键词对应的警告次数阈值预设为1,WARING关键词代表的异常程度较轻,所以可以将WARING关键词对应的警告次数阈值预设为5。这样,只有在数据收集日志中出现的关键词出现的次数大于该关键词对应的警告次数阈值时,才确定数据收集日志满足警告条件,继而向用户发出警告提示,从而更有利于保证向用户发出的警告提示的准确性。例如,数据收集日志中出现了3次WARING关键词,此时,WARING关键词的出现次数未大于WARING关键词对应的警告次数阈值5,所以可以确定数据收集日志不满足警告条件。又例如,数据收集日志中出现了6次WARING关键词,此时,WARING关键词的出现次数大于WARING关键词对应的警告次数阈值5,所以可以确定数据收集日志满足警告条件。
可见,实施该可选的实施例,检测出数据收集日志中存在目标关键词之后,在目标关键词在数据收集日志中出现的次数大于该目标关键词对应的警告次数阈值时,才确定数据收集日志满足警告条件,继而向用户发出警告提示,从而更有利于保证向用户发出的警告提示的准确性。
在一个可选的实施例中,所述关键词集合中的每一个关键词均预设有对应的警告时间段;
以及,在判断出所述数据收集日志中存在所述次数警告关键词之后,所述确定所述数据收集日志满足预设的警告条件之前,所述方法还包括:
确定所述次数警告关键词在所述数据收集日志中出现的出现时刻;
判断所述次数警告关键词对应的出现时刻是否在所述次数警告关键词对应的警告时间段内;
当所述次数警告关键词对应的出现时刻在所述次数警告关键词对应的警告时间段内时,触发执行所述的确定所述数据收集日志满足预设的警告条件的步骤;
当所述次数警告关键词对应的出现时刻不在所述次数警告关键词对应的警告时间段内时,触发执行所述的确定所述数据收集日志不满足所述警告条件的步骤。
在该可选的实施例中,可以针对不同的关键词预设不同的警告时间段,如,DEBUG关键词代表的异常程度较重,对于DEBUG的异常需要尽快地进行处理,所以可以将DEBUG关键词对应的警告时间段预设为早上6点至晚上11点,WARING关键词代表的异常程度较轻,无须立刻对WARING的异常进行处理,所以可以将WARING关键词对应的警告时间段预设为用户的工作时间,即早上9点至下午6点。这样,在确定出数据收集日志中存在次数警告关键词之后,继续判断次数警告关键词在数据收集日志中出现的出现时刻是否在该次数警告关键词对应的警告时间段内,若在警告时间段内,则确定数据收集日志满足警告条件,继而向用户发出警告提示,若不在警告时间段内,则确定数据收集日志不满足警告条件,继而无须向用户发出警告提示。例如,次数警告关键词WARING在数据收集日志中出现的出现时刻为早上10点,其在关键词WARING的警告时间段内,所以可以向用户发出警告提示。又例如,次数警告关键词WARING在数据收集日志中出现的出现时刻为早上6点,其不在关键词WARING的警告时间段内,所以无须向用户发出警告提示。
可见,实施该可选的实施例,在判断出数据收集日志中存在次数警告关键词之后,在次数警告关键词在数据收集日志中出现的出现时刻在该次数警告关键词对应的警告时间段内时,才确定数据收集日志满足警告条件,继而向用户发出警告提示,从而更有利于保证向用户发出的警告提示的准确性。
在一个可选的实施例中,所述关键词集合中的每一个关键词均预设有对应的警告时间段;
以及,所述判断所述数据收集日志是否满足预设的警告条件,包括:
确定每一个所述目标关键词在所述数据收集日志中出现的出现时刻;
判断所述数据收集日志中是否存在时刻警告关键词,其中,所述时刻警告关键词是指所对应的出现时刻在所对应的警告时间段内的目标关键词;
当所述数据收集日志中存在所述时刻警告关键词时,确定所述数据收集日志满足预设的警告条件;
当所述数据收集日志中不存在所述时刻警告关键词时,确定所述数据收集日志不满足所述警告条件。
在该可选的实施例中,在判断数据收集日志是否满足警告条件时,还可以只判断每一个目标关键词在数据收集日志中出现的出现时刻是否在该目标关键词对应的警告时间段内。具体地,可以针对不同的关键词预设不同的警告时间段,如,DEBUG关键词代表的异常程度较重,对于DEBUG的异常需要尽快地进行处理,所以可以将DEBUG关键词对应的警告时间段预设为早上6点至晚上11点,WARING关键词代表的异常程度较轻,无须立刻对WARING的异常进行处理,所以可以将WARING关键词对应的警告时间段预设为用户的工作时间,即早上9点至下午6点。这样,在检测出数据收集日志中存在目标关键词之后,继续判断目标关键词在数据收集日志中出现的出现时刻是否在该目标关键词对应的警告时间段内,若在警告时间段内,则确定数据收集日志满足警告条件,继而向用户发出警告提示,若不在警告时间段内,则确定数据收集日志不满足警告条件,继而无须向用户发出警告提示。例如,目标关键词WARING在数据收集日志中出现的出现时刻为早上10点,其在关键词WARING的警告时间段内,所以可以确定数据收集日志满足警告条件。又例如,目标关键词WARING在数据收集日志中出现的出现时刻为早上6点,其不在关键词WARING的警告时间段内,所以可以确定数据收集日志不满足警告条件。
可见,实施该可选的实施例,检测出数据收集日志中存在目标关键词之后,在目标关键词在数据收集日志中出现的出现时刻在该目标关键词对应的警告时间段内时,才确定数据收集日志满足警告条件,继而向用户发出警告提示,从而更有利于保证向用户发出的警告提示的准确性。
在一个可选的实施例中,所述数据收集项目文件为通用数据收集项目文件或者聚焦数据收集项目文件,其中,所述通用数据收集项目文件至少包括目标网站的统一资源定位***和记录有目标数据在所述目标网站中的位置的位置信息,所述聚焦数据收集项目文件至少包括预设的数据收集程序,所述目标网站是指所述从节点将要进行授权数据抓取的网站,所述目标数据是指所述从节点将要从所述目标网站中抓取的授权数据;
当所述数据收集项目文件为所述通用数据收集项目文件时,所述从节点用于根据所述位置信息和所述统一资源定位***从所述目标网站中收集所述目标数据;
当所述数据收集项目文件为所述聚焦数据收集项目文件时,所述从节点用于运行所述聚焦数据收集项目文件中包含的数据收集程序,以进行授权数据的抓取。
在该可选的实施例中,从节点根据数据收集项目文件进行数据爬取的方式可以有以下两种方式,即通用爬虫和聚焦爬虫。当用户上传的数据收集项目文件为通用数据收集项目文件时,从节点使用通用爬虫的方式进行数据的爬取。通用数据收集项目文件中可以包括将要爬取数据的网站的url(即统一资源定位***)和将要爬取的数据在网站中的位置信息,其可以是一个json文件。其中,位置信息可以是网站的标题、时间、内容、作者等字段对应的xpath或者正则表达式。当用户上传的数据收集项目文件为聚焦数据收集项目文件时,从节点使用聚焦爬虫的方式进行数据的爬取。聚焦数据收集项目文件可以包含现有的已公开使用的数据收集程序(即爬虫程序),例如,现有的用于进行全国环保空气质量监测数据、水质数据、风场数据等数据进行抓取的数据收集程序。这些已有的数据收集程序通常比较成熟,从节点直接运行这些数据收集程序,即可以抓取到相应的数据。
可见,实施该可选的实施例,用户上传的数据收集项目文件可以为通用数据收集项目文件或者聚焦数据收集项目文件,使得部署完成的数据收集集群能够使用通用爬虫或者聚焦爬虫的方式进行数据的抓取,从而能够丰富部署完成的数据收集集群的功能,更好地适应实际的应用场景。
可选地,将数据收集项目文件发送至数据收集项目文件对应的从节点,以完成数据收集集群的部署之后,可以接收由用户输入的至少包括定时调度时刻的定时调度信息,然后基于定时调度信息调度从节点,以使从节点在定时调度时刻开始根据数据收集项目文件进行授权数据的收集。
可选地,将数据收集项目文件发送至数据收集项目文件对应的从节点,以完成数据收集集群的部署之后,还可以接收由从节点上传的用于记录从节点的工作状态的状态信息,然后基于状态信息在交互界面显示从节点的工作状态。
可选地,还可以:将所述数据收集集群的部署方法的数据收集集群的部署信息上传至区块链中。
具体来说,数据收集集群的部署信息是通过运行所述数据收集集群的部署方法后得到的,用于记录数据收集集群的部署情况,例如,数据收集项目文件的上传时间、第一docker容器的容器标识、第二docker容器的容器标识、数据收集集群的部署的完成时刻等等。将数据收集集群的部署信息上传至区块链可保证其安全性和对用户的公正透明性。用户可以从区块链中下载得到该数据收集集群的部署信息,以便查证所述数据收集集群的部署方法的数据收集集群的部署信息是否被篡改。本示例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
实施例二
请参阅图2,图2是本发明实施例公开的一种数据收集集群的部署装置的结构示意图。如图2所示,该数据收集集群的部署装置可以包括:
封装模块201,用于将ScrapydWeb组件和Selenium组件封装在第一docker容器中以形成数据收集集群的主节点;
接收模块202,用于接收由用户上传的数据收集项目文件;
所述封装模块201,还用于将Scrapyd组件封装在第二docker容器中以形成所述数据收集集群中与所述数据收集项目文件对应的从节点;
发送模块203,用于将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署;
其中,所述从节点用于根据所述数据收集项目文件进行授权数据的收集,所述主节点用于进行所述从节点的管理。
在一个可选的实施例中,所述接收模块202,还用于在所述发送模块203将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署之后,接收由所述从节点上传的数据收集日志;
以及,所述装置还包括:
检测模块,用于检测所述数据收集日志中是否存在目标关键词,其中,所述目标关键词是指预设的关键词集合中的任意一个关键词;当检测出所述数据收集日志中存在所述目标关键词时,向所述用户发出警告提示。
在一个可选的实施例中,所述装置还包括:
判断模块,用于在所述检测模块检测出所述数据收集日志中存在所述目标关键词之后,所述检测模块向所述用户发出警告提示之前,判断所述数据收集日志是否满足预设的警告条件;当所述数据收集日志满足所述警告条件时,触发所述检测模块执行所述的向所述用户发出警告提示的步骤。
在一个可选的实施例中,所述关键词集合中的每一个关键词均预设有对应的警告次数阈值;
以及,所述判断模块判断所述数据收集日志是否满足预设的警告条件的具体方式为:
确定每一个所述目标关键词在所述数据收集日志中出现的出现次数;
判断所述数据收集日志中是否存在次数警告关键词,其中,所述次数警告关键词是指所对应的出现次数大于所对应的警告次数阈值的目标关键词;
当所述数据收集日志中存在所述次数警告关键词时,确定所述数据收集日志满足预设的警告条件;
当所述数据收集日志中不存在所述次数警告关键词时,确定所述数据收集日志不满足所述警告条件。
在一个可选的实施例中,所述关键词集合中的每一个关键词均预设有对应的警告时间段;
以及,所述判断模块,还用于在判断出所述数据收集日志中存在所述次数警告关键词之后,所述确定所述数据收集日志满足预设的警告条件之前,确定所述次数警告关键词在所述数据收集日志中出现的出现时刻;判断所述次数警告关键词对应的出现时刻是否在所述次数警告关键词对应的警告时间段内;当所述次数警告关键词对应的出现时刻在所述次数警告关键词对应的警告时间段内时,触发执行所述的确定所述数据收集日志满足预设的警告条件的步骤;当所述次数警告关键词对应的出现时刻不在所述次数警告关键词对应的警告时间段内时,触发执行所述的确定所述数据收集日志不满足所述警告条件的步骤。
在一个可选的实施例中,所述关键词集合中的每一个关键词均预设有对应的警告时间段;
以及,所述判断模块判断所述数据收集日志是否满足预设的警告条件的具体方式为:
确定每一个所述目标关键词在所述数据收集日志中出现的出现时刻;
判断所述数据收集日志中是否存在时刻警告关键词,其中,所述时刻警告关键词是指所对应的出现时刻在所对应的警告时间段内的目标关键词;
当所述数据收集日志中存在所述时刻警告关键词时,确定所述数据收集日志满足预设的警告条件;
当所述数据收集日志中不存在所述时刻警告关键词时,确定所述数据收集日志不满足所述警告条件。
在一个可选的实施例中,所述数据收集项目文件为通用数据收集项目文件或者聚焦数据收集项目文件,其中,所述通用数据收集项目文件至少包括目标网站的统一资源定位***和记录有目标数据在所述目标网站中的位置的位置信息,所述聚焦数据收集项目文件至少包括预设的数据收集程序,所述目标网站是指所述从节点将要进行授权数据抓取的网站,所述目标数据是指所述从节点将要从所述目标网站中抓取的授权数据;
当所述数据收集项目文件为所述通用数据收集项目文件时,所述从节点用于根据所述位置信息和所述统一资源定位***从所述目标网站中收集所述目标数据;
当所述数据收集项目文件为所述聚焦数据收集项目文件时,所述从节点用于运行所述聚焦数据收集项目文件中包含的数据收集程序,以进行授权数据的抓取。
对于上述数据收集集群的部署装置的具体描述可以参照上述数据收集集群的部署方法的具体描述,为避免重复,在此不再一一赘述。
实施例三
请参阅图3,图3是本发明实施例公开的一种计算机设备的结构示意图。如图3所示,该计算机设备可以包括:
存储有可执行程序代码的存储器301;
与存储器301连接的处理器302;
处理器302调用存储器301中存储的可执行程序代码,执行本发明实施例一公开的数据收集集群的部署方法中的步骤。
实施例四
请参阅图4,本发明实施例公开了一种计算机存储介质401,计算机存储介质401存储有计算机指令,该计算机指令被调用时,用于执行本发明实施例一公开的数据收集集群的部署方法中的步骤。
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
最后应说明的是:本发明实施例公开的一种数据收集集群的部署方法、装置、计算机设备以及存储介质所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。
Claims (9)
1.一种数据收集集群的部署方法,其特征在于,所述方法包括:
将ScrapydWeb组件和Selenium组件封装在第一docker容器中以形成数据收集集群的主节点;
接收由用户上传的数据收集项目文件;所述数据收集项目文件为通用数据收集项目文件或者聚焦数据收集项目文件,其中,所述通用数据收集项目文件至少包括目标网站的统一资源定位***和记录有目标数据在所述目标网站中的位置的位置信息,所述聚焦数据收集项目文件至少包括预设的数据收集程序,所述目标网站是指从节点将要进行授权数据抓取的网站,所述目标数据是指所述从节点将要从所述目标网站中抓取的授权数据;
将Scrapyd组件封装在第二docker容器中以形成所述数据收集集群中与所述数据收集项目文件对应的从节点;
将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署;
接收由用户输入的至少包括定时调度时刻的定时调度信息,基于所述定时调度信息调度从节点,以使所述从节点在定时调度时刻开始根据所述数据收集项目文件进行授权数据的收集;具体的,当所述数据收集项目文件为所述通用数据收集项目文件时,所述从节点用于根据所述位置信息和所述统一资源定位***从所述目标网站中收集所述目标数据;当所述数据收集项目文件为所述聚焦数据收集项目文件时,所述从节点用于运行所述聚焦数据收集项目文件中包含的数据收集程序,以进行授权数据的抓取。
2.根据权利要求1所述的数据收集集群的部署方法,其特征在于,所述将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署之后,所述方法还包括:
接收由所述从节点上传的数据收集日志;
检测所述数据收集日志中是否存在目标关键词,其中,所述目标关键词是指预设的关键词集合中的任意一个关键词;
当检测出所述数据收集日志中存在所述目标关键词时,向所述用户发出警告提示。
3.根据权利要求2所述的数据收集集群的部署方法,其特征在于,在检测出所述数据收集日志中存在所述目标关键词之后,所述向所述用户发出警告提示之前,所述方法还包括:
判断所述数据收集日志是否满足预设的警告条件;
当所述数据收集日志满足所述警告条件时,触发执行所述的向所述用户发出警告提示的步骤。
4.根据权利要求3所述的数据收集集群的部署方法,其特征在于,所述关键词集合中的每一个关键词均预设有对应的警告次数阈值;
以及,所述判断所述数据收集日志是否满足预设的警告条件,包括:
确定每一个所述目标关键词在所述数据收集日志中出现的出现次数;
判断所述数据收集日志中是否存在次数警告关键词,其中,所述次数警告关键词是指所对应的出现次数大于所对应的警告次数阈值的目标关键词;
当所述数据收集日志中存在所述次数警告关键词时,确定所述数据收集日志满足预设的警告条件;
当所述数据收集日志中不存在所述次数警告关键词时,确定所述数据收集日志不满足所述警告条件。
5.根据权利要求4所述的数据收集集群的部署方法,其特征在于,所述关键词集合中的每一个关键词均预设有对应的警告时间段;
以及,在判断出所述数据收集日志中存在所述次数警告关键词之后,所述确定所述数据收集日志满足预设的警告条件之前,所述方法还包括:
确定所述次数警告关键词在所述数据收集日志中出现的出现时刻;
判断所述次数警告关键词对应的出现时刻是否在所述次数警告关键词对应的警告时间段内;
当所述次数警告关键词对应的出现时刻在所述次数警告关键词对应的警告时间段内时,触发执行所述的确定所述数据收集日志满足预设的警告条件的步骤;
当所述次数警告关键词对应的出现时刻不在所述次数警告关键词对应的警告时间段内时,触发执行所述的确定所述数据收集日志不满足所述警告条件的步骤。
6.根据权利要求3所述的数据收集集群的部署方法,其特征在于,所述关键词集合中的每一个关键词均预设有对应的警告时间段;
以及,所述判断所述数据收集日志是否满足预设的警告条件,包括:
确定每一个所述目标关键词在所述数据收集日志中出现的出现时刻;
判断所述数据收集日志中是否存在时刻警告关键词,其中,所述时刻警告关键词是指所对应的出现时刻在所对应的警告时间段内的目标关键词;
当所述数据收集日志中存在所述时刻警告关键词时,确定所述数据收集日志满足预设的警告条件;
当所述数据收集日志中不存在所述时刻警告关键词时,确定所述数据收集日志不满足所述警告条件。
7.一种数据收集集群的部署装置,其特征在于,所述装置包括:
封装模块,用于将ScrapydWeb组件和Selenium组件封装在第一docker容器中以形成数据收集集群的主节点;
接收模块,用于接收由用户上传的数据收集项目文件;所述数据收集项目文件为通用数据收集项目文件或者聚焦数据收集项目文件,其中,所述通用数据收集项目文件至少包括目标网站的统一资源定位***和记录有目标数据在所述目标网站中的位置的位置信息,所述聚焦数据收集项目文件至少包括预设的数据收集程序,所述目标网站是指从节点将要进行授权数据抓取的网站,所述目标数据是指所述从节点将要从所述目标网站中抓取的授权数据;
所述封装模块,还用于将Scrapyd组件封装在第二docker容器中以形成所述数据收集集群中与所述数据收集项目文件对应的从节点;
发送模块,用于将所述数据收集项目文件发送至所述数据收集项目文件对应的从节点,以完成所述数据收集集群的部署;
接收由用户输入的至少包括定时调度时刻的定时调度信息,基于所述定时调度信息调度从节点,以使所述从节点在定时调度时刻开始根据所述数据收集项目文件进行授权数据的收集;具体的,当所述数据收集项目文件为所述通用数据收集项目文件时,所述从节点用于根据所述位置信息和所述统一资源定位***从所述目标网站中收集所述目标数据;当所述数据收集项目文件为所述聚焦数据收集项目文件时,所述从节点用于运行所述聚焦数据收集项目文件中包含的数据收集程序,以进行授权数据的抓取。
8.一种计算机设备,其特征在于,所述计算机设备包括:
存储有可执行程序代码的存储器;
与所述存储器连接的处理器;
所述处理器调用所述存储器中存储的所述可执行程序代码,执行如权利要求1-6任一项所述的数据收集集群的部署方法。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的数据收集集群的部署方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604923.8A CN113282372B (zh) | 2021-05-31 | 2021-05-31 | 数据收集集群的部署方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110604923.8A CN113282372B (zh) | 2021-05-31 | 2021-05-31 | 数据收集集群的部署方法、装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113282372A CN113282372A (zh) | 2021-08-20 |
CN113282372B true CN113282372B (zh) | 2022-08-26 |
Family
ID=77283037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110604923.8A Active CN113282372B (zh) | 2021-05-31 | 2021-05-31 | 数据收集集群的部署方法、装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282372B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484886A (zh) * | 2016-10-17 | 2017-03-08 | 金蝶软件(中国)有限公司 | 一种数据采集的方法及其相关设备 |
CN110618821A (zh) * | 2018-06-19 | 2019-12-27 | 普天信息技术有限公司 | 基于Docker的容器集群***及快速搭建方法 |
CN111209463A (zh) * | 2020-01-02 | 2020-05-29 | 北京天元创新科技有限公司 | 互联网数据采集方法及装置 |
CN112199567A (zh) * | 2020-09-27 | 2021-01-08 | 深圳市伊欧乐科技有限公司 | 一种分布式数据采集方法、***、服务器和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866149B (zh) * | 2020-07-23 | 2023-09-05 | 平安证券股份有限公司 | 集群部署方法、装置、计算机设备及存储介质 |
-
2021
- 2021-05-31 CN CN202110604923.8A patent/CN113282372B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106484886A (zh) * | 2016-10-17 | 2017-03-08 | 金蝶软件(中国)有限公司 | 一种数据采集的方法及其相关设备 |
CN110618821A (zh) * | 2018-06-19 | 2019-12-27 | 普天信息技术有限公司 | 基于Docker的容器集群***及快速搭建方法 |
CN111209463A (zh) * | 2020-01-02 | 2020-05-29 | 北京天元创新科技有限公司 | 互联网数据采集方法及装置 |
CN112199567A (zh) * | 2020-09-27 | 2021-01-08 | 深圳市伊欧乐科技有限公司 | 一种分布式数据采集方法、***、服务器和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113282372A (zh) | 2021-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112787992B (zh) | 一种敏感数据的检测与防护的方法、装置、设备和介质 | |
CN105743730B (zh) | 为移动终端的网页服务提供实时监控的方法及其*** | |
US20120311562A1 (en) | Extendable event processing | |
CN102684944B (zh) | 入侵检测方法和装置 | |
CN111866016B (zh) | 日志的分析方法及*** | |
CN112685682B (zh) | 一种攻击事件的封禁对象识别方法、装置、设备及介质 | |
CN102647421A (zh) | 基于行为特征的web后门检测方法和装置 | |
CN110062926B (zh) | 设备驱动器遥测 | |
CN114465741B (zh) | 一种异常检测方法、装置、计算机设备及存储介质 | |
CN112560029A (zh) | 基于智能分析技术的网站内容监测和自动化响应防护方法 | |
CN112291266B (zh) | 一种数据处理的方法、装置、服务器和存储介质 | |
CN109710440A (zh) | 网页前端的异常处理方法、装置、存储介质及终端设备 | |
CN114528457A (zh) | Web指纹检测方法及相关设备 | |
KR20230024184A (ko) | 사이버 위협 정보 처리 장치, 사이버 위협 정보 처리 방법 및 사이버 위협 정보 처리하는 프로그램을 저장하는 저장매체 | |
CN112688914A (zh) | 一种智慧型云平台动态感知方法 | |
CN116107846A (zh) | 一种基于EBPF的Linux***事件监控方法及装置 | |
US20230252136A1 (en) | Apparatus for processing cyber threat information, method for processing cyber threat information, and medium for storing a program processing cyber threat information | |
CN110365714A (zh) | 主机入侵检测方法、装置、设备及计算机存储介质 | |
Ghorbanian et al. | Signature-based hybrid Intrusion detection system (HIDS) for android devices | |
CN112817827A (zh) | 运维方法、装置、服务器、设备、***及介质 | |
CN113591096A (zh) | 综合检测大数据漏洞和不安全配置的脆弱性扫描*** | |
CN113282372B (zh) | 数据收集集群的部署方法、装置、设备以及存储介质 | |
EP4386597A1 (en) | Cyber threat information processing device, cyber threat information processing method, and storage medium storing cyber threat information processing program | |
CN104881354A (zh) | 云盘监控方法及装置 | |
CN112882892B (zh) | 数据处理方法和装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |