一种地址去重方法、相关设备及存储介质技术

技术编号:27570630 阅读:30 留言:0更新日期:2021-03-09 22:17
本申请实施例公开一种地址去重方法、相关设备及存储介质,方法包括:接收所述第一从服务器的去重请求,所述去重请求包括待定地址列表,所述待定地址列表为所述第一从服务器对爬取的新地址去重得到的待定地址;向所述分布式系统中的至少一个所述第二从服务器发送所述待定地址列表;接收各第二从服务器发送的目标地址列表,所述目标地址列表为所述第二从服务器对所述待定地址列表去重得到的地址;根据各第二从服务器发送的目标地址列表生成多个爬虫任务,向所述分布式系统中的各从服务器分发爬虫任务。本方案能够降低分布式系统因地址去重造成的性能影响。重造成的性能影响。重造成的性能影响。

【技术实现步骤摘要】
一种地址去重方法、相关设备及存储介质


[0001]本申请实施例涉及互联网
,尤其涉及一种地址去重方法、相关设备及存储介质。

技术介绍

[0002]现有机制中,基于爬虫系统对地址进行爬取任务时,需要处理重复的地址,以避免和重复和无效的爬取任务。爬虫系统采用的架构是一个中心服务器和多个子服务器,由中心服务器负责处理重复的地址,然后将地址的爬取任务分配给这些子服务器进行爬去操作。
[0003]在对现有技术的研究和实践过程中,本申请实施例的专利技术人发现,中心服务器采用布隆过滤器、md5等方法处理重复的地址时,需要长时间消耗非常多的内存资源,并且,中心服务器需要保存历史爬取过的所有地址,当子服务器通过执行爬虫任务得到一个新地址后,会上报给中心服务器,中心服务器再基于保存的历史地址进行遍历查询,整个过程耗时较长,效率较低。

技术实现思路

[0004]本申请实施例提供了一种地址去重方法、相关设备及存储介质,能够提高分布式系统的地址去重效率和系统性能,以及对地址去重实现负载均衡。
[0005]第一方面中,本申请实施例提供一种地址去重方法,所述方法应用于分布式系统,所述分布式系统包括中心服务器和多个从服务器,所述多个从服务器中包括第一服务器和第二服务器;所述方法由所述中心服务器执行;所述方法包括:
[0006]接收所述第一从服务器的去重请求,所述去重请求包括待定地址列表,所述待定地址列表为所述第一从服务器对爬取的新地址去重得到的待定地址;
[0007]向所述分布式系统中的至少一个所述第二从服务器发送所述待定地址列表;
[0008]接收各第二从服务器发送的目标地址列表,所述目标地址列表为所述第二从服务器对所述待定地址列表去重得到的地址;
[0009]根据各第二从服务器发送的目标地址列表生成多个爬虫任务,向所述分布式系统中的各从服务器分发爬虫任务。
[0010]一种可能的设计中,所述根据各第二从服务器发送的目标地址列表生成多个爬虫任务,向所述分布式系统中的各从服务器分发爬虫任务,包括:
[0011]接收所述分布式系统中的各从服务器上报的负载状态;
[0012]基于各从服务器的负载状态,向负载低于预设负载的第二从服务器分发所述待定地址列表;
[0013]接收至少一个所述第二从服务器上报的目标地址列表;
[0014]汇总从至少一个所述第二从服务器接收的目标地址列表,基于汇总的目标地址列表生成多个爬虫任务,向所述分布式系统中的各从服务器分发所述多个爬虫任务。
[0015]一种可能的设计中,所述方法还包括:
[0016]基于区块链共享机制创建地址文件夹并保存在区块链数据库中;
[0017]接收多个第二从服务器发送的响应消息,所述响应消息用于指示对所述第一从服务器更新所述地址文件夹的更新请求的响应;
[0018]当预设比例的响应消息为同意所述第一从服务器更新所述地址文件夹时,向所述分布式系统中的从服务器发送指示消息,所述指示消息用于指示同意所述第一从服务器更新所述地址文件夹的更新请求。
[0019]第二方面中,本申请实施例提供一种地址去重方法,所述方法应用于分布式系统,所述分布式系统包括中心服务器和多个从服务器,所述多个从服务器中包括第一服务器和第二服务器;所述方法由所述第一服务器执行;所述方法包括:
[0020]通过执行爬虫任务得到多个新地址;
[0021]对所述多个新地址进行去重操作,得到去重后的待定地址列表;
[0022]向所述中心服务器发送携带所述待定地址列表的去重请求;
[0023]从所述中心服务器接收并执行爬虫任务,所述爬虫任务为所述中心服务器基于至少一个第二从服务器发送的目标地址列表生成。
[0024]一种可能的设计中,所述对所述多个新地址进行去重操作之后,所述向所述中心服务器发送携带所述待定地址列表的去重请求之前,所述方法还包括:
[0025]基于区块链数据库向所述分布式系统中的第二从服务器发送更新请求;其中,所述更新请求用于请求将所述新地址更新至地址文件夹中,所述地址文件夹为基于区块链共享机制创建的文件夹;
[0026]从所述中心服务器接收指示消息,所述指示消息为所述中心服务器基于各第二从服务器发送的响应消息反馈的消息;
[0027]根据所述指示消息将所述新地址更新至所述地址文件夹。
[0028]第三方面中,本申请实施例提供一种地址去重方法,所述方法应用于分布式系统,所述分布式系统包括中心服务器和多个从服务器,所述多个从服务器中包括第一服务器和第二服务器;所述方法由所述第二服务器执行;所述方法包括:
[0029]接收所述中心服务器转发的第一从服务器确定的待定地址列表;
[0030]对所述待定地址列表进行去重,得到去重后的目标地址列表,并向中心服务器发送所述目标地址列表,所述目标地址列表用于所述中心服务器生成多个爬虫任务;
[0031]从所述中心服务器接收并执行爬虫任务。
[0032]一种可能的设计中,所述从所述中心服务器接收并执行爬虫任务之后,所述方法还包括:
[0033]从所述第一从服务器接收更新请求;
[0034]向所述中心服务器发送响应消息;
[0035]从所述中心服务器接收指示消息,所述指示消息为所述中心服务器基于多个所述第二从服务器发送的响应消息反馈的消息;
[0036]获取所述第一从服务器基于区块链机制更新后的地址文件夹;
[0037]基于更新后的地址文件夹对所述爬取任务得到的新地址进行去重。
[0038]第四方面中,本申请实施例提供一种服务器,具有实现对应于上述第一方面提供
的地址去重方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
[0039]一种可能的设计中,所述服务器包括:
[0040]收发模块,用于接收所述第一从服务器的去重请求,所述去重请求包括待定地址列表,所述待定地址列表为所述第一从服务器对爬取的新地址去重得到的待定地址;
[0041]所述收发模块还用于向所述分布式系统中的至少一个所述第二从服务器发送所述待定地址列表;接收各第二从服务器发送的目标地址列表,所述目标地址列表为所述第二从服务器对所述待定地址列表去重得到的地址;
[0042]处理模块,用于根据各第二从服务器发送的目标地址列表生成多个爬虫任务,通过所述收发模块向所述分布式系统中的各从服务器分发爬虫任务。
[0043]一种可能的设计中,所述处理模块具体用于:
[0044]接收所述分布式系统中的各从服务器上报的负载状态;
[0045]基于各从服务器的负载状态,通过所述收发模块向负载低于预设负载的第二从服务器分发所述待定地址列表;
[0046]接收至少一个所述第二从服务器上报的目标地址列表;
[0047]所述处本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种地址去重方法,其特征在于,所述方法应用于分布式系统,所述分布式系统包括中心服务器和多个从服务器,所述多个从服务器中包括第一服务器和第二服务器;所述方法由所述中心服务器执行;所述方法包括:接收所述第一从服务器的去重请求,所述去重请求包括待定地址列表,所述待定地址列表为所述第一从服务器对爬取的新地址去重得到的待定地址;向所述分布式系统中的至少一个所述第二从服务器发送所述待定地址列表;接收各第二从服务器发送的目标地址列表,所述目标地址列表为所述第二从服务器对所述待定地址列表去重得到的地址;根据各第二从服务器发送的目标地址列表生成多个爬虫任务,向所述分布式系统中的各从服务器分发爬虫任务。2.根据权利要求1所述的方法,其特征在于,所述根据各第二从服务器发送的目标地址列表生成多个爬虫任务,向所述分布式系统中的各从服务器分发爬虫任务,包括:接收所述分布式系统中的各从服务器上报的负载状态;基于各从服务器的负载状态,向负载低于预设负载的第二从服务器分发所述待定地址列表;接收至少一个所述第二从服务器上报的目标地址列表;汇总从至少一个所述第二从服务器接收的目标地址列表,基于汇总的目标地址列表生成多个爬虫任务,向所述分布式系统中的各从服务器分发所述多个爬虫任务。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:基于区块链共享机制创建地址文件夹并保存在区块链数据库中;接收多个第二从服务器发送的响应消息,所述响应消息用于指示对所述第一从服务器更新所述地址文件夹的更新请求的响应;当确定预设比例的响应消息为同意所述第一从服务器更新所述地址文件夹时,向所述分布式系统中的从服务器发送指示消息,所述指示消息用于指示同意所述第一从服务器更新所述地址文件夹的更新请求。4.一种地址去重方法,其特征在于,所述方法应用于分布式系统,所述分布式系统包括中心服务器和多个从服务器,所述多个从服务器中包括第一服务器和第二服务器;所述方法由所述第一服务器执行;所述方法包括:通过执行爬虫任务得到多个新地址;对所述多个新地址进行去重操作,得到去重后的待定地址列表;向所述中心服务器发送携带所述待定地址列表的去重请求;从所述中心服务器接收并执行爬虫任务,所述爬虫任务为所述中心服务器基于至少一个第二从服务器发送的目标地址列表生成。5.根据权利要求4所述的方法,其特征在于,所述对所述多个新地址进行去重操作之后,所述向所述中心服务器发送携带所述待定地址列表的去重请求之前,所述方法还包括:基于区块链数据库向所述分布式系统中的第二从服务器发送更新请求;其中,所述更新请求用于请求将所述新地址更新至地址文件夹中,所述地址文件夹为基...

【专利技术属性】
技术研发人员:曾庆维
申请(专利权)人:顺丰科技有限公司
类型:发明
国别省市:

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

1