CN113282815A - 一种用于多次验证交互的数据抓取方法、装置和电子设备 - Google Patents
一种用于多次验证交互的数据抓取方法、装置和电子设备 Download PDFInfo
- Publication number
- CN113282815A CN113282815A CN202110450997.0A CN202110450997A CN113282815A CN 113282815 A CN113282815 A CN 113282815A CN 202110450997 A CN202110450997 A CN 202110450997A CN 113282815 A CN113282815 A CN 113282815A
- Authority
- CN
- China
- Prior art keywords
- task
- data
- information
- data capture
- sub
- 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.)
- Pending
Links
Images
Classifications
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
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)
- Storage Device Security (AREA)
Abstract
本发明涉及计算机技术领域,具体涉及一种用于多次验证交互的数据抓取方法、装置和电子设备,包括:构建分布式数据抓取网络,所述分布式数据抓取网络包括中心数据调度节点及多个数据抓取子节点;基于用户操作授权实时获取经验证的用户数据抓取任务信息;所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,并将所述用户数据抓取任务信息发送至任务消息队列;所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务。本发明分布式部署及异步机制,提高了系统并发量及失败转移机制稳定性,降低断线、丢包现象,提高数据抓取的处理效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于多次验证交互的数据抓取方法、装置和电子设备。
背景技术
现有技术中,爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,爬虫是目前所有公司获取外部数据最常用和最重要的手段,对于业务内数据能够起到很好的补充作用。
在互联网信息化时代,很多网站出现了各种身份验证,而用户的个人信息,一般属于不公开的,在需要抓取特定授权网站信息时,使用传统的网络爬虫技术,却显的很无力,各种的网络爬虫性能差,对于特定类型数据抓取并不适用,如需通过短信、邮件、电话回访等的二次授权或多次授权验证查询指定文件数据的平台;因而实时交互式网络爬虫孕育而生。在高并发的实时交互式爬虫网络往往效率很低,因为交互过程中需要多次信息通信,长时间的保持连接,很容易出现断线、丢包的现象,造成系统的不稳定性及长时间占用系统资源并降低了爬虫的效率,因此保证高并发高可用的分布式处理机制很有必要。
发明内容
本发明提供了一种用于多次验证交互的数据抓取方法、装置和电子设备,用以提高数据的抓取效率,提高了系统并发量及失败转移机制的稳定性,同时降低断线、丢包现象以及提高数据抓取的处理效率。
本说明书实施例提供一种用于多次验证交互的数据抓取方法,包括:
构建分布式数据抓取网络,所述分布式数据抓取网络包括中心数据调度节点及多个数据抓取子节点;
基于用户操作授权实时获取经验证的用户数据抓取任务信息;
所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,并将所述用户数据抓取任务信息发送至任务消息队列;
所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务。
优选的,所述构建分布式数据抓取网络,包括:
于所述数据抓取服务器配置所述中心数据调度节点及所述多个数据抓取子节点;
对所述中心数据调度节点及所述多个数据抓取子节点配置相应的处理能力。
优选的,所述基于用户操作授权实时获取经验证的用户数据抓取任务信息,包括:
实时获取用户提交的数据抓取任务请求信息;
对所述数据抓取任务请求信息进行授权验证;
当所述数据抓取任务请求信息授权验证成功,则获取经验证的用户数据抓取任务信息。
优选的,所述中心数据调度节点根据所述用户数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,包括:
所述中心数据调度节点获取所述数据抓取子节点反馈的任务负载信息;
所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息对所述数据抓取子节点进行筛选,得到任务执行子节点。
优选的,所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息对所述数据抓取子节点进行筛选,包括:
对低于预设任务阈值的所述数据抓取子节点进行筛选;
根据所述数据抓取子节点相应的处理能力对所述数据抓取子节点进行筛选。
优选的,所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务,包括:
所述中心数据调度节点根据所述数据抓取任务的优先级将所述消息队列中所述数据抓取任务下发至所述任务执行子节点;
通过所述中心数据调度节点实时获取多次验证信息,确认执行数据抓取任务;
通过所述任务执行子节点执行所述数据抓取任务,获得所述数据抓取任务的执行结果。
优选的,获得所述数据抓取任务的执行结果,包括:
推送所述数据抓取任务的执行结果至结果消息队列中;
提取所述结果消息队列中的所述数据抓取任务的执行结果信息返回给用户。
优选的,所述推送所述数据抓取任务的执行结果至结果消息队列中,包括:
响应于所述数据抓取任务执行结束,执行将所述数据抓取的结果信息推送到所述结果消息队列;
响应于所述数据抓取任务执行需用户继续授权,执行将所述需用户授权的信息推送到所述结果消息队列;
响应于所述数据抓取任务执行出错,执行将所述出错信息推送到所述结果消息队列。
优选的,所述提取所述结果消息队列中的所述数据抓取任务的执行结果信息返回给用户包括:
响应于所述数据抓取任务执行需用户继续授权执行提取所述结果消息队列中的需用户授权的信息返回给用户、和/或响应于所述数据抓取任务执行出错执行提取所述结果消息队列中的出错信息返回给用户、和/或响应于所述数据抓取任务执行结束执行提取所述结果消息队列中的所述数据抓取的执行结果信息返回给所述用户。
优选的,所述用户接收到所述出错信息后,选择出错的所述数据抓取任务进行重新执行,并将所述数据抓取任务再次加入所述任务消息队列中。
本说明书实施例还提供一种用于多次验证交互的数据抓取装置,其特征在于,包括:
网络构建模块,构建分布式数据抓取网络,所述分布式数据抓取网络包括中心数据调度节点及多个数据抓取子节点;
信息获取模块,基于用户操作授权实时获取经验证的用户数据抓取任务信息;
节点确认模块,所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,并将所述用户数据抓取任务信息发送至任务消息队列;
任务执行模块,所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务。
优选的,所述构建分布式数据抓取网络,包括:
于所述数据抓取服务器配置所述中心数据调度节点及所述多个数据抓取子节点;
对所述中心数据调度节点及所述多个数据抓取子节点配置相应的处理能力。
优选的,所述基于用户操作授权实时获取经验证的用户数据抓取任务信息,包括:
实时获取用户提交的数据抓取任务请求信息;
对所述数据抓取任务请求信息进行授权验证;
当所述数据抓取任务请求信息授权验证成功,则获取经验证的用户数据抓取任务信息。
优选的,所述中心数据调度节点根据所述用户数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,包括:
所述中心数据调度节点获取所述数据抓取子节点反馈的任务负载信息;
所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息对所述数据抓取子节点进行筛选,得到任务执行子节点。
优选的,所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息对所述数据抓取子节点进行筛选,包括:
对低于预设任务阈值的所述数据抓取子节点进行筛选;
根据所述数据抓取子节点相应的处理能力对所述数据抓取子节点进行筛选。
优选的,所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务,包括:
所述中心数据调度节点根据所述数据抓取任务的优先级将所述消息队列中所述数据抓取任务下发至所述任务执行子节点;
通过所述中心数据调度节点实时获取多次验证信息,确认执行数据抓取任务;
通过所述任务执行子节点执行所述数据抓取任务,获得所述数据抓取任务的执行结果。
优选的,获得所述数据抓取任务的执行结果,包括:
推送所述数据抓取任务的执行结果至结果消息队列中;
提取所述结果消息队列中的所述数据抓取任务的执行结果信息返回给用户。
优选的,所述推送所述数据抓取任务的执行结果至结果消息队列中,包括:
响应于所述数据抓取任务执行结束,执行将所述数据抓取的结果信息推送到所述结果消息队列;
响应于所述数据抓取任务执行需用户继续授权,执行将所述需用户授权的信息推送到所述结果消息队列;
响应于所述数据抓取任务执行出错,执行将所述出错信息推送到所述结果消息队列。
优选的,所述提取所述结果消息队列中的所述数据抓取任务的执行结果信息返回给用户包括:
响应于所述数据抓取任务执行需用户继续授权执行提取所述结果消息队列中的需用户授权的信息返回给用户、和/或响应于所述数据抓取任务执行出错执行提取所述结果消息队列中的出错信息返回给用户、和/或响应于所述数据抓取任务执行结束执行提取所述结果消息队列中的所述数据抓取的执行结果信息返回给所述用户。
优选的,所述用户接收到所述出错信息后,选择出错的所述数据抓取任务进行重新执行,并将所述数据抓取任务再次加入所述任务消息队列中。
一种电子设备,其中,该电子设备包括:
处理器以及存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一项所述的方法。
一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项所述的方法。
其有益效果在于:
本发明提高数据的抓取效率,提高了系统并发量及失败转移机制的稳定性,同时降低断线、丢包现象以及提高数据抓取的处理效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书实施例提供的一种用于多次验证交互的数据抓取方法的原理示意图;
图2为本说明书实施例提供的一种用于多次验证交互的数据抓取装置的结构示意图;
图3为本说明书实施例提供的一种电子设备的结构示意图;
图4为本说明书实施例提供的一种计算机可读介质的原理示意图。
具体实施方式
现在将参考附图更全面地描述本发明的示例性实施例。然而,示例性实施例能够以多种形式实施,且不应被理解为本发明仅限于在此阐述的实施例。相反,提供这些示例性实施例能够使得本发明更加全面和完整,更加便于将发明构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的元件、组件或部分,因而将省略对它们的重复描述。
在符合本发明的技术构思的前提下,在某个特定的实施例中描述的特征、结构、特性或其他细节不排除可以以合适的方式结合在一个或更多其他的实施例中。
在对于具体实施例的描述中,本发明描述的特征、结构、特性或其他细节是为了使本领域的技术人员对实施例进行充分理解。但是,并不排除本领域技术人员可以实践本发明的技术方案而没有特定特征、结构、特性或其他细节的一个或更多。
附图中所示的图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
术语“和/或”或者“及/或”包括相关联的列出项目中的任一个或多者的所有组合。
参照图1为本说明书实施例提供的一种用于多次验证交互的数据抓取方法的原理示意图,包括:
S101:构建分布式数据抓取网络,所述分布式数据抓取网络包括中心数据调度节点及多个数据抓取子节点;
在本发明较佳的实施例中,通过一个中心数据调度器和多个子节点数据爬取服务器构建分布式数据抓取网络,分布式数据抓取网络包括中心数据调度节点及多个数据抓取子节点。
S102:基于用户操作授权实时获取经验证的用户数据抓取任务信息;
在本发明较佳的实施例中,需求端先向分布式数据抓取网络发送请求信息,然后分布式数据抓取网络对请求信息进行验证,当分布式数据抓取网络通过该请求,则返回给用户一个签名,需求端再基于签名发起用户数据抓取任务,此时分布式数据抓取网络收到的是经验证的用户数据抓取任务信息。
具体的,通过调用SDK权限加密方法,并根据手机号码和指定运营商等参数进行签名,生成授权时限TOKEN,需求端再基于签名发起用户数据抓取任务时,将携带TOKEN进行页面访问,以TOKEN形式建立需求端与服务端的通信,然后服务端对TOKEN进行校验,根据校验结果执行不同策略。
S103:所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,并将所述用户数据抓取任务信息发送至任务消息队列;
在本发明较佳的实施例中,中心数据调度节点对数据抓取子节点的任务负载信息进行处理计算,采用加权最小连接调度算法对数据抓取子节点相应的权值进行计算,比较数据抓取子节点连接数和权值的比值,得到最小负载的数据抓取子节点分配新的数据抓取任务。
S104:所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务。
在本发明较佳的实施例中,在对任务执行子节点进行任务分配时,通过依次对任务消息队列中的数据抓取任务进行执行来处理数据抓取任务,同时在每次执行数据抓取任务或于任务消息队列中读取数据抓取任务时,都可能进行授权验证,此时会通过中心数据调度节点实时获取多次验证信息才能执行数据抓取任务。
进一步地,所述构建分布式数据抓取网络,包括:
于所述数据抓取服务器配置所述中心数据调度节点及所述多个数据抓取子节点;
对所述中心数据调度节点及所述多个数据抓取子节点配置相应的处理能力。
在本发明较佳的实施例中,通过配置中心数据调度节点及多个数据抓取子节点构建分布式数据抓取网络,同时对中心数据调度节点及多个数据抓取子节点配置相应的处理能力,用以处理不同的任务。
进一步地,所述基于用户操作授权实时获取经验证的用户数据抓取任务信息,包括:
实时获取用户提交的数据抓取任务请求信息;
对所述数据抓取任务请求信息进行授权验证;
当所述数据抓取任务请求信息授权验证成功,则获取经验证的用户数据抓取任务信息。
在本发明较佳的实施例中,实时获取用户提交的数据抓取任务请求信息,然后对数据抓取任务请求信息进行授权验证,当数据抓取任务请求信息授权验证成功,则获取经验证的用户数据抓取任务信息。其中,在每次执行数据抓取任务时,均可能会出现对信息交互的过程进行授权验证的过程,通过多次的授权验证,提高了数据抓取过程中的安全性。
进一步地,所述中心数据调度节点根据所述用户数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,包括:
所述中心数据调度节点获取所述数据抓取子节点反馈的任务负载信息;
所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息对所述数据抓取子节点进行筛选,得到任务执行子节点。
在本发明较佳的实施例中,中心数据调度节点读取数据抓取子节点反馈的任务负载信息,通过加权最小连接调度算法对数据抓取子节的任务负载权值进行计算,当数据抓取子节权值低于预设阈值,则确认该数据抓取子节能够执行任务。
进一步地,所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息对所述数据抓取子节点进行筛选,包括:
对低于预设任务阈值的所述数据抓取子节点进行筛选;
根据所述数据抓取子节点相应的处理能力对所述数据抓取子节点进行筛选。
在本发明较佳的实施例中,于数据抓取子节点中筛选出低于预设任务阈值的数据抓取子节点,然后根据数据抓取子节点相应的处理能力对上一次筛选后的数据抓取子节点进行再次筛选,得到最终执行任务子节点。
进一步地,所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务,包括:
所述中心数据调度节点根据所述数据抓取任务的优先级将所述消息队列中所述数据抓取任务下发至所述任务执行子节点;
通过所述中心数据调度节点实时获取多次验证信息,确认执行数据抓取任务;
通过所述任务执行子节点执行所述数据抓取任务,获得所述数据抓取任务的执行结果。
在本发明较佳的实施例中,中心数据调度节点对数据抓取任务进行优先级排序,并按照优先级顺序将数据抓取任务存储于任务消息队列,之后将数据抓取任务下发至任务执行子节点,同时中心数据调度节点实时获取多次验证信息以确认执行数据抓取任务,最终获得所述数据抓取任务的执行结果。
进一步地,获得所述数据抓取任务的执行结果,包括:
推送所述数据抓取任务的执行结果至结果消息队列中;
提取所述结果消息队列中的所述数据抓取任务的执行结果信息返回给用户。
在本发明较佳的实施例中,响应于所述数据抓取任务执行结束,执行将所述数据抓取的结果信息推送到所述结果消息队列;响应于所述数据抓取任务执行需用户继续授权,执行将所述需用户授权的信息推送到所述结果消息队列;响应于所述数据抓取任务执行出错,执行将所述出错信息推送到所述结果消息队列。
进一步地,所述推送所述数据抓取任务的执行结果至结果消息队列中,包括:
响应于所述数据抓取任务执行结束,执行将所述数据抓取的结果信息推送到所述结果消息队列;
响应于所述数据抓取任务执行需用户继续授权,执行将所述需用户授权的信息推送到所述结果消息队列;
响应于所述数据抓取任务执行出错,执行将所述出错信息推送到所述结果消息队列。
进一步地,所述提取所述结果消息队列中的所述数据抓取任务的执行结果信息返回给用户包括:
响应于所述数据抓取任务执行需用户继续授权执行提取所述结果消息队列中的需用户授权的信息返回给用户、和/或响应于所述数据抓取任务执行出错执行提取所述结果消息队列中的出错信息返回给用户、和/或响应于所述数据抓取任务执行结束执行提取所述结果消息队列中的所述数据抓取的执行结果信息返回给所述用户。
在本发明较佳的实施例中,响应于数据抓取任务执行需用户继续授权执行提取结果消息队列中的需用户授权的信息返回给用户,或响应于数据抓取任务执行出错执行提取结果消息队列中的出错信息返回给用户、或响应于数据抓取任务执行结束执行提取结果消息队列中的数据抓取的执行结果信息返回给用户。
进一步地,所述用户接收到所述出错信息后,选择出错的所述数据抓取任务进行重新执行,并将所述数据抓取任务再次加入所述任务消息队列中。
在本发明较佳的实施例中,接收到所述出错信息后,选择出错的所述数据抓取任务进行重新执行;中心数据调度节点再次获取数据抓取任务,并将数据抓取任务加入任务消息队列中。
在本发明较佳的实施例中,将需要授权的信息嵌套在数据抓取展现层,在获取了所述用户授权信息后,根据所述用户授权信息基于用户授权选择各种类型数据抓取任务,并把所述数据抓取任务传递给中心数据调度节点。需求端可以选择数据抓取的爬虫任务的平台,初始化所述数据抓取任务的信息,生成用户授权信息。
在本发明较佳的实施例中,获取到所述用户授权信息之后,将所述用户授权信息提供给中心数据调度节点,基于平均分配规则向中心数据调度节点请求数据抓取任务的执行情况。具体的,所述用户授权信息包括授权信息标识,例如cookiesID、tokenID、sessionID或验证码。
在本发明较佳的实施例中,中心数据调度节点接收到数据抓取任务后,对数据抓取任务进行相应的处理之后,再将数据抓取任务加入任务消息队列中。具体的,对数据抓取任务进行相应的处理包括:判断数据抓取任务是否需要授权,若数据抓取任务需要授权则将所述用户授权的信息生成授权页面信息,然后中心数据调度节点将该授权页面提交用户验证码授权信息,授权成功后,将数据抓取任务加入任务消息队列中;若数据抓取任务不需要授权,则直接将数据抓取任务加入任务消息队列中。
在本发明较佳的实施例中,任务执行子节点向中心数据调度节点的任务消息队列中拉取所述数据抓取任务,中心数据调度节点将所述数据抓取任务下发。在任务执行子节点获取到所述数据抓取任务后,任务执行子节点将所述数据抓取任务进行分发。在执行数据抓取任务时,将数据抓取任务分发给若干个数据抓取子节点,具体的,所述数据抓取子节点可以为一个集群,在数据抓取任务的执行过程中,对执行数据抓取任务的集群进行监控,同时收集任务执行的日志。在集群的环境下,为了保证集群竞争拉取消息,可能会出现数据抓取任务拉取重复,而导致数据抓取任务失败。而在本实施例中,分布式数据抓取网络有了任务分发机制,可以通过将所述数据抓取任务分发给各集群,保证了数据抓取集群可以公平的分配资源,减少了集群间资源竞争的开销,大大提高了资源利用率。
在本发明较佳的实施例中,所述数据抓取任务执行完成后,对所述数据抓取任务的结果进行持久化操作。具体的,对所述数据抓取任务的结果数据进行持久化操作,保存所述数据抓取任务的结果数据。具体的可以为把数据抓取任务的结果数据写入数据库中,为了减轻数据库的压力,可以先对数据进行缓存处理,在数据量达到一定量后,持久化到磁盘中。
在本发明较佳的实施例中,分布式数据抓取网络与个平台服务器建立套字节实时通信,执行过程实时抓取到授权验证信息实时反馈给需求端,信息通过短息或第三方平台通知需求端,需求端输入收到的验证码进行校验授权操作;授权完毕后根据任务策略,抓取相应的用户信息,并存储至临时数据库;并报告中心数据调度节点生成订单记录,用户通过第三方授权接口获取数据抓取的任务结果。
图2为本说明书实施例提供的一种用于多次验证交互的数据抓取装置的结构示意图,包括:
网络构建模块201,构建分布式数据抓取网络,所述分布式数据抓取网络包括中心数据调度节点及多个数据抓取子节点;
信息获取模块202,基于用户操作授权实时获取经验证的用户数据抓取任务信息;
节点确认模块203,所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,并将所述用户数据抓取任务信息发送至任务消息队列;
任务执行模块204,所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务。
基于同一发明构思,本说明书实施例还提供一种电子设备。
下面描述本发明的电子设备实施例,该电子设备可以视为对于上述本发明的方法和装置实施例的具体实体实施方式。对于本发明电子设备实施例中描述的细节,应视为对于上述方法或装置实施例的补充;对于在本发明电子设备实施例中未披露的细节,可以参照上述方法或装置实施例来实现。
参照图3为本说明书实施例提供的一种电子设备的结构示意图。下面参照图3来描述根据本发明该实施例的电子设备300。图3显示的电子设备300仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300以通用计算设备的形式表现。电子设备300的组件可以包括但不限于:至少一个处理单元310、至少一个存储单元320、连接不同装置组件(包括存储单元320和处理单元310)的总线330、显示单元340等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图1所示的步骤。
所述存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(ROM)3203。
所述存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作装置、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备300也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备300交互的设备通信,和/或与使得该电子设备300能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口350进行。并且,电子设备300还可以通过网络适配器360与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器360可以通过总线330与电子设备300的其它模块通信。应当明白,尽管图3中未示出,可以结合电子设备300使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID装置、磁带驱动器以及数据备份存储装置等。
通过以上的实施方式的描述,本领域的技术人员易于理解,本发明描述的示例性实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个计算机可读的存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、或者网络设备等)执行根据本发明的上述方法。当所述计算机程序被一个数据处理设备执行时,使得该计算机可读介质能够实现本发明的上述方法,即:如图1所示的方法。
参照图4为本说明书实施例提供的一种计算机可读介质的原理示意图。
实现图1所示方法的计算机程序可以存储于一个或多个计算机可读介质上。计算机可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的装置、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,本发明可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)等通用数据处理设备来实现根据本发明实施例中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,本发明不与任何特定计算机、虚拟装置或者电子设备固有相关,各种通用装置也可以实现本发明。以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种用于多次验证交互的数据抓取方法,其特征在于:
构建分布式数据抓取网络,所述分布式数据抓取网络包括中心数据调度节点及多个数据抓取子节点;
基于用户操作授权实时获取经验证的用户数据抓取任务信息;
所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,并将所述用户数据抓取任务信息发送至任务消息队列;
所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务。
2.如权利要求1所述的一种用于多次验证交互的数据抓取方法,其特征在于,所述构建分布式数据抓取网络,包括:
于所述数据抓取服务器配置所述中心数据调度节点及所述多个数据抓取子节点;
对所述中心数据调度节点及所述多个数据抓取子节点配置相应的处理能力。
3.如权利要求1-2中任一项所述的一种用于多次验证交互的数据抓取方法,其特征在于,所述基于用户操作授权实时获取经验证的用户数据抓取任务信息,包括:
实时获取用户提交的数据抓取任务请求信息;
对所述数据抓取任务请求信息进行授权验证;
当所述数据抓取任务请求信息授权验证成功,则获取经验证的用户数据抓取任务信息。
4.如权利要求1-3中任一项所述的一种用于多次验证交互的数据抓取方法,其特征在于,所述中心数据调度节点根据所述用户数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,包括:
所述中心数据调度节点获取所述数据抓取子节点反馈的任务负载信息;
所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息对所述数据抓取子节点进行筛选,得到任务执行子节点。
5.如权利要求1-4中任一项所述的一种用于多次验证交互的数据抓取方法,其特征在于,所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息对所述数据抓取子节点进行筛选,包括:
对低于预设任务阈值的所述数据抓取子节点进行筛选;
根据所述数据抓取子节点相应的处理能力对所述数据抓取子节点进行筛选。
6.如权利要求1-5中任一项所述的一种用于多次验证交互的数据抓取方法,其特征在于,所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务,包括:
所述中心数据调度节点根据所述数据抓取任务的优先级将所述消息队列中所述数据抓取任务下发至所述任务执行子节点;
通过所述中心数据调度节点实时获取多次验证信息,确认执行数据抓取任务;
通过所述任务执行子节点执行所述数据抓取任务,获得所述数据抓取任务的执行结果。
7.如权利要求1-6中任一项所述的一种用于多次验证交互的数据抓取方法,其特征在于,获得所述数据抓取任务的执行结果,包括:
推送所述数据抓取任务的执行结果至结果消息队列中;
提取所述结果消息队列中的所述数据抓取任务的执行结果信息返回给用户。
8.如权利要求1-7中任一项所述的一种用于多次验证交互的数据抓取方法,其特征在于,所述推送所述数据抓取任务的执行结果至结果消息队列中,包括:
响应于所述数据抓取任务执行结束,执行将所述数据抓取的结果信息推送到所述结果消息队列;
响应于所述数据抓取任务执行需用户继续授权,执行将所述需用户授权的信息推送到所述结果消息队列;
响应于所述数据抓取任务执行出错,执行将所述出错信息推送到所述结果消息队列。
9.如权利要求1-8中任一项所述的一种用于多次验证交互的数据抓取方法,其特征在于,所述提取所述结果消息队列中的所述数据抓取任务的执行结果信息返回给用户包括:
响应于所述数据抓取任务执行需用户继续授权执行提取所述结果消息队列中的需用户授权的信息返回给用户、和/或响应于所述数据抓取任务执行出错执行提取所述结果消息队列中的出错信息返回给用户、和/或响应于所述数据抓取任务执行结束执行提取所述结果消息队列中的所述数据抓取的执行结果信息返回给所述用户。
10.如权利要求1-9中任一项所述的一种用于多次验证交互的数据抓取方法,其特征在于,所述用户接收到所述出错信息后,选择出错的所述数据抓取任务进行重新执行,并将所述数据抓取任务再次加入所述任务消息队列中。
11.一种用于多次验证交互的数据抓取装置,其特征在于:
网络构建模块,构建分布式数据抓取网络,所述分布式数据抓取网络包括中心数据调度节点及多个数据抓取子节点;
信息获取模块,基于用户操作授权实时获取经验证的用户数据抓取任务信息;
节点确认模块,所述中心数据调度节点根据所述数据抓取子节点反馈的任务负载信息选择确定任务执行子节点,并将所述用户数据抓取任务信息发送至任务消息队列;
任务执行模块,所述任务执行子节点根据任务消息队列中所述用户数据抓取任务信息利用所述中心数据调度节点实时获取多次验证信息以执行数据抓取任务。
12.一种电子设备,其中,该电子设备包括:
处理器以及存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行根据权利要求1-10中任一项所述的方法。
13.一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110450997.0A CN113282815A (zh) | 2021-06-11 | 2021-06-11 | 一种用于多次验证交互的数据抓取方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110450997.0A CN113282815A (zh) | 2021-06-11 | 2021-06-11 | 一种用于多次验证交互的数据抓取方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113282815A true CN113282815A (zh) | 2021-08-20 |
Family
ID=77277410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110450997.0A Pending CN113282815A (zh) | 2021-06-11 | 2021-06-11 | 一种用于多次验证交互的数据抓取方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113282815A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694847A (zh) * | 2012-05-03 | 2012-09-26 | 北京新媒传信科技有限公司 | 抓取第三方开放平台中用户动态的方法和装置 |
CN106897357A (zh) * | 2017-01-04 | 2017-06-27 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
CN109783715A (zh) * | 2019-01-08 | 2019-05-21 | 鑫涌算力信息科技(上海)有限公司 | 网络爬虫系统及方法 |
CN111552854A (zh) * | 2020-04-24 | 2020-08-18 | 北京明略软件系统有限公司 | 一种网页数据抓取方法、装置、存储介质和设备 |
US10990940B1 (en) * | 2018-07-13 | 2021-04-27 | Intuit Inc. | Server validation of website scraped data |
-
2021
- 2021-06-11 CN CN202110450997.0A patent/CN113282815A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694847A (zh) * | 2012-05-03 | 2012-09-26 | 北京新媒传信科技有限公司 | 抓取第三方开放平台中用户动态的方法和装置 |
CN106897357A (zh) * | 2017-01-04 | 2017-06-27 | 北京京拍档科技股份有限公司 | 一种用于带验证分布式智能爬取网络信息的方法 |
US10990940B1 (en) * | 2018-07-13 | 2021-04-27 | Intuit Inc. | Server validation of website scraped data |
CN109783715A (zh) * | 2019-01-08 | 2019-05-21 | 鑫涌算力信息科技(上海)有限公司 | 网络爬虫系统及方法 |
CN111552854A (zh) * | 2020-04-24 | 2020-08-18 | 北京明略软件系统有限公司 | 一种网页数据抓取方法、装置、存储介质和设备 |
Non-Patent Citations (1)
Title |
---|
李佐军: "《大数据的架构技术与应用实践的探究》", vol. 1, 东北师范大学出版社, pages: 55 - 58 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951547B (zh) | 事务请求并行处理方法、装置、设备和介质 | |
CN110071965B (zh) | 一种基于云平台的数据中心管理系统 | |
US10817327B2 (en) | Network-accessible volume creation and leasing | |
CN104246743A (zh) | 涉及在网络上虚拟机主机隔离的系统和方法 | |
CN111639309B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN113300854B (zh) | 一种边缘节点能力扩展方法、系统及扩展盒子 | |
CN103685535A (zh) | 一种大规模分布异构数据处理的云数据库系统接口设计 | |
CN111242776A (zh) | 基于区块链的记账方法、装置、存储介质及电子设备 | |
CN112291372A (zh) | 区块链的异步落账方法、装置、介质及电子设备 | |
CN110750780B (zh) | 基于多业务系统的用户角色权限融合方法、装置以及设备 | |
CN113179324B (zh) | 一种区块链节点及其执行的业务处理方法 | |
CN112825525B (zh) | 用于处理事务的方法和装置 | |
CN109104472B (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
CN113282815A (zh) | 一种用于多次验证交互的数据抓取方法、装置和电子设备 | |
CN113689296B (zh) | 一种异步可信计算的合约调度方法、装置和电子设备 | |
CN115268909A (zh) | 一种web前端创建并运行构建任务的方法、系统和终端 | |
CN112380040B (zh) | 一种消息处理的方法、装置、电子设备及存储介质 | |
CN109766489A (zh) | 数据处理方法、客户端、服务器及计算机可读存储介质 | |
CN104735134B (zh) | 一种用于提供计算服务的方法和装置 | |
CN114880397A (zh) | 去中心化的数据存储方法和装置、计算机介质、电子设备 | |
CN113868097A (zh) | 云安全监测任务调度方法、系统、计算机及可读存储介质 | |
CN110768855B (zh) | 链路化性能测试的方法和装置 | |
CN113269590B (zh) | 一种用于资源补贴的数据处理方法、装置和系统 | |
CN111625375A (zh) | 帐号预约方法和装置、存储介质及电子设备 | |
CN113271229B (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 |