CN106570023B - 一种爬虫系统自定义去重的方法及装置 - Google Patents
一种爬虫系统自定义去重的方法及装置 Download PDFInfo
- Publication number
- CN106570023B CN106570023B CN201510652718.3A CN201510652718A CN106570023B CN 106570023 B CN106570023 B CN 106570023B CN 201510652718 A CN201510652718 A CN 201510652718A CN 106570023 B CN106570023 B CN 106570023B
- Authority
- CN
- China
- Prior art keywords
- crawling
- bloom filter
- data
- task
- current
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种爬虫系统自定义去重的方法及装置,涉及数据处理领域,解决了网络爬虫执行多个临时任务时造成数据重复爬取的问题。本发明的方法包括:设置当前爬取任务的爬取参数;在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据;在当前爬取任务结束时将所述备份数据转存至数据库中;在建立下一爬取任务时根据所述爬取参数从所述数据库中加载所述备份数据。本发明主要用于网络爬虫执行多个临时任务时避免数据的重复获取。
Description
技术领域
本发明涉及数据处理领域,特别是涉及一种爬虫系统自定义去重的方法及装置。
背景技术
网络爬虫是一种可以自动下载网站数据的程序,它通过下载指定网站的所有链接来获取用户需要的信息。通常在一些网站中可能有多个地方出现链接到同一个网页的情况,若网络爬虫对这些重复的数据都进行爬取,不仅会导致处理资源的浪费,而且将重复的数据进行存储还会导致数据结果的污染。为了解决上述问题,现有的爬虫系统中通常会使用布隆过滤器,其占用空间小,并且可以快速判断待查询数据是否在布隆过滤器中出现过。
在众多的爬虫系统中,有一类爬虫的业务是满足临时任务的爬取需求,即根据用户的需求编写爬虫的爬取规则进行数据的获取。在使用爬虫执行该类业务时发明人发现:在多次执行临时任务的过程中,后一次爬取数据时无法以前一次爬取数据后得到的去重记忆为依据进行数据过滤与存储,即后一次爬取数据时无法使用前一次爬取数据后得到的布隆过滤器。例如,当第一次爬取了新浪首页的数据后,第二次需要爬取新浪首页中体育版块的数据,那么第一次爬取的结果一定覆盖了第二次大部分的爬取结果,由于第二次爬取数据时无法使用第一次爬取数据得到的布隆过滤器,因此会在爬虫执行多个爬取任务时造成数据的重复爬取。
发明内容
有鉴于此,本发明提出了一种爬虫系统自定义去重的方法及装置,主要目的在于解决网络爬虫执行多个临时任务时造成数据重复爬取的问题。
依据本发明的第一个方面,本发明提出了一种爬虫系统自定义去重的方法,包括:
设置当前爬取任务的爬取参数;
在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据;
在当前爬取任务结束时将备份数据转存至数据库中;
在建立下一爬取任务时根据爬取参数从数据库中加载备份数据。
依据本发明的第二个方面,本发明提出了一种爬虫系统自定义去重的装置,包括:
设置单元,用于设置当前爬取任务的爬取参数;
备份单元,用于在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据;
转存单元,用于在当前爬取任务结束时将备份单元得到的备份数据转存至数据库中;
加载单元,用于在建立下一爬取任务时根据爬取参数从数据库中加载备份数据。
借由上述技术方案,本发明实施例提供的爬虫系统自定义去重的方法及装置,能够通过设置当前爬取任务的爬取参数,在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据,在当前爬取任务结束时将所述备份数据转存至数据库中,在建立下一爬取任务时根据所述爬取参数从所述数据库中加载所述备份数据。与现有技术中网络爬虫执行后一次爬取任务时只能建立并使用后一次爬取任务的布隆过滤器导致可能造成的数据重复爬取的缺陷,本发明能够通过对网络爬虫不同爬取任务的布隆过滤器进行备份及参数设定,使得不同爬取任务之间实现布隆过滤器(爬虫去重记忆)的相互利用及延续,避免了数据的重复爬取。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种爬虫系统自定义去重的方法的流程图;
图2示出了本发明实施例提供的一种爬虫系统自定义去重的装置的组成框图;
图3示出了本发明实施例提供的另一种爬虫系统自定义去重的装置的组成框图。
具体实施方式
下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在网络爬虫执行多项爬取任务的过程中,会根据用户的需求编写不同的爬取规则进行数据的获取,然而在不同的爬取任务中后一次爬取数据时无法以前一次爬取数据后得到的去重记忆为依据进行数据过滤与存储,即后一次爬取数据时无法使用前一次爬取数据后得到的布隆过滤器,由此导致执行不同爬取任务时会重复爬取部分数据。
为了解决上述问题,本发明实施例提供了一种爬虫系统自定义去重的方法,如图1所示,该方法包括:
101、设置当前爬取任务的爬取参数。
在网络爬虫执行爬取任务之前,需要根据业务需求的不同制定不同的爬取规则获取所需的数据,其中将网络爬虫执行的多个任务称为临时任务,不同临时任务对应的爬取规则不同,当然各个临时任务对应的布隆过滤器也各自独立。通常情况下,针对一个临时任务所制定的爬取规则通常包括爬取频率、爬取优先级、爬取数据类型等,但是在本发明实施例中除了设置上述常用的爬取规则外,在当前任务的爬取规则中还特别的设置了当前爬取任务的爬取参数,该参数在本质上属于标识符,用于标识当前爬取任务中布隆过滤器的状态及其身份。
102、在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据。
当通过步骤101对当前爬取任务中的布隆过滤器设置了待保存的状态的参数后,若在执行当前爬取任务时识别出该爬取任务为待保存的状态,则步骤102会在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据,在备份的过程中会将当前布隆过滤器的内存数据进行预设方式的处理后保存在内存之外的自身的存储空间中。
103、在当前爬取任务结束时将备份数据转存至数据库中。
在步骤102运行当前爬取任务并且将当前布隆过滤器的内存数据进行备份直到当前爬取任务结束后,会将当前布隆过滤器的完整的备份数据转存至数据库中,以便其他爬取任务能够方便获取数据库中的备份数据。在转存的过程中,需要按照数据库的类型对备份数据进行处理,并在数据库中记录备份数据的来源,即记录步骤101中设置的当前爬取任务中布隆过滤器的身份的参数。
104、在建立下一爬取任务时根据爬取参数从数据库中加载备份数据。
当通过上述步骤将某个爬取任务的布隆过滤器的内存数据进行备份并将备份数据转存至数据库中后,若在建立下一个爬取任务时需要使用先前爬取任务的布隆过滤器,则可以将用于标识先前爬取任务的布隆过滤器的身份的参数添加在下一个爬取任务的爬取规则中,从而在运行下一个爬取任务时,首先根据自身爬取规则中的用于标识布隆过滤器身份的参数从数据库中查找到需要的布隆过滤器的备份数据,并将该备份数据加载到自身的内存中使用。
本发明实施例提供的爬虫系统自定义去重的方法,能够通过设置当前爬取任务的爬取参数,在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据,在当前爬取任务结束时将所述备份数据转存至数据库中,在建立下一爬取任务时根据所述爬取参数从所述数据库中加载所述备份数据。与现有技术中网络爬虫执行后一次爬取任务时只能建立并使用后一次爬取任务的布隆过滤器导致可能造成的数据重复爬取的缺陷,本发明能够通过对网络爬虫不同爬取任务的布隆过滤器进行备份及参数设定,使得不同爬取任务之间实现布隆过滤器(爬虫去重记忆)的相互利用及延续,避免了数据的重复爬取。
通常网络爬虫会根据业务需求制定不同的爬取规则进行数据爬取,根据每一种爬取规则爬取数据可以称为一个临时任务。因此为了更好的对上述图1所示的方法进行理解,本发明实施例将以两个临时任务为例,针对图1中的各步骤进行详细说明。
在网络爬虫执行第一个临时任务时,若需要将第一个临时任务的布隆过滤器供其他临时任务使用,则在制定第一个临时任务的爬取规则时需要设置第一个临时任务的爬取参数,包括:在第一个临时任务的爬取规则中加入保存布隆过滤器的记忆标识以及为第一个临时任务对应的布隆过滤器设置身份标识。其中,记忆标识用于表示第一个临时任务需要保存其去重记忆,即保存第一个临时任务的布隆过滤器;身份标识用于表示第一个临时任务的布隆过滤器的唯一身份,用于与其他临时任务的布隆过滤器进行区分。
若在执行第一个临时任务时识别出其携带保存布隆过滤器的记忆标识后,会在执行第一个临时任务的过程中将其布隆过滤器的内存数据进行备份得到备份数据。具体的,在备份的时机上可以在第一个临时任务完成后将其布隆过滤器的内存数据进行备份,但是这种方式存在风险,若第一个临时任务执行过程中布隆过滤器出现故障,则最终无法完成布隆过滤器内存数据的备份。因此,本发明实施例还提供了一种备份方式,可以按照预设时间间隔将当前布隆过滤器的内存数据进行备份得到备份数据,通过这种方式备份,即使在第一个临时任务执行过程中布隆过滤器出现故障,也可以得到部分备份的布隆过滤器的内存数据供其他临时任务使用。
将第一个临时任务的布隆过滤器的内存数据进行备份的过程,就是将布隆过滤器的内存数据刷写到硬盘上的过程,将布隆过滤器的内存数据刷写到硬盘上,能够避免布隆过滤器的故障导致布隆过滤器内存数据的损毁。上述按照预设时间间隔对布隆过滤器内存数据进行备份的方式,就是将布隆过滤器内存数据按照预设时间间隔刷写到硬盘上,其刷写过程就是用后一次刷写的内存数据对前一次刷写的内存数据进行替换的过程,直到第一个临时任务结束时通过最后一次内存数据的刷写,在硬盘上得到第一个临时任务的布隆过滤器完整的备份数据。
在刷写布隆过滤器的内存数据时可以按照预设类型的序列化对内存数据进行刷写,以达到将其长期保存在硬盘上的目的。例如,由于布隆过滤器实际上包含一个很长的二进制向量,因此本发明实施例可以对布隆过滤器的内存数据进行二进制(流)序列化以文件形式进行保存,并将文件形式的备份数据存档于硬盘上。这里需要说明的是,序列化的本质是将一个对象转换成字节流以达到将其长期保存在内存、数据库或文件中的处理过程,序列化的主要目的是保存对象的状态以便以后需要的时候使用。因此,本发明实施例中使用的二进制(流)序列化只是一种可选的实施方式,实际情况下根据系统类型或业务需求等因素还可以使用诸如SOAP序列化、XML序列化、Json序列化等其他类型的序列化将布隆过滤器内存数据刷写于硬盘上进行保存。
在第一个临时任务运行结束后,会在其对应的硬盘存储空间内保存有第一个临时任务的布隆过滤器内存数据的完整备份数据。由于其布隆过滤器内存数据的备份数据保存在第一个临时任务的硬盘存储空间中,为了便于其他临时任务获取第一个临时任务的布隆过滤器内存数据,因此本发明实施例需要将第一个临时任务的布隆过滤器的备份数据进行转化得到预设形式的备份数据,并将预设形式的备份数据进行压缩后转存至数据库中。其中,对备份数据进行转化时可以根据存储数据库的类型进行相应形式的转化。在上述实施例中提供了将备份数据以文件形式存储在硬盘上的方式,以该方式为例,在对文件形式的布隆过滤器的备份数据进行转化时,需要将文件类型的备份数据转化为常用的字节数组形式的备份数据并转存至数据库中,其中字节数组形式的备份数据中的键值为其所属布隆过滤器的身份标识。
当通过上述方式执行完第一个临时任务后,若需要执行第二个临时任务并且执行第二个临时任务时需要使用第一个临时任务的布隆过滤器,则可以在制定第二个临时任务的爬取规则时加入第一个临时任务的布隆过滤器的身份标识,以便在执行第二个临时任务时先根据第一个临时任务的布隆过滤器的身份标识从数据库中查找第一个临时任务的布隆过滤器的备份数据,进一步的可以将从数据库中查找的备份数据进行解压缩后反序列化为第一个临时任务的布隆过滤器的内存数据,并加载到第二个布隆过滤器的内存空间进行使用。
若执行多个临时任务时,有些临时任务会携带记忆标识用于保存自身布隆过滤器的内存数据,有些临时任务没有携带记忆标识不会保存自身布隆过滤器的内存数据,对某一个临时任务而言,数据库中可能存在其需要使用的布隆过滤器的备份数据,也可能不存在其需要使用的布隆过滤器的备份数据。因此,本发明实施例提供了一种可选的实施方式,可以在执行下一个临时任务时,先检测数据库中是否存在备份的布隆过滤器的内存数据,若存在,则在下一个临时任务中设置需要使用的布隆过滤器的身份标识,并根据身份标识从数据库中加载其对应的备份数据。若数据库中不存在备份的布隆过滤器的内存数据,或者下一个临时任务根据需要使用的布隆过滤器的身份标识在数据库中查找不到其对应的备份数据,则需要为下一个临时任务创建一个空的布隆过滤器供自身使用。
本发明实施例通过记忆标识和身份标识能够对不同临时任务自定义设置其是否需要保存布隆过滤器内存数据及其布隆过滤器的来源,从而实现不同临时任务之间的去重记忆(布隆过滤器)的延续性,避免了不同临时任务之间布隆过滤器的独立导致的多次重复获取相同数据的情况。同时,在执行需要获取先前临时任务的布隆过滤器的临时任务时,提前检测数据库中是否存在备份的布隆过滤器的内存数据,只有存在时才会在制定爬取规则时加入需要使用的布隆过滤器的身份标识,避免临时任务在数据库中进行无效的查找。
作为对上述图1所示方法的实现,本发明实施例提供了一种数据恢复的装置,如图2所示,该装置包括:设置单元21、备份单元22、转存单元23及加载单元24,其中,
设置单元21,用于设置当前爬取任务的爬取参数;
备份单元22,用于在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据;
转存单元23,用于在当前爬取任务结束时将备份单元22得到的备份数据转存至数据库中;
加载单元24,用于在建立下一爬取任务时根据爬取参数从数据库中加载备份数据。
进一步的,设置单元21用于在所述当前爬取任务中加入保存布隆过滤器的记忆标识;设置单元21还用于为所述当前爬取任务对应的布隆过滤器设置身份标识。
进一步的,备份单元22用于按照预设时间间隔将当前布隆过滤器的内存数据进行备份得到备份数据。
进一步的,备份单元22还用于将当前布隆过滤器的内存数据通过序列化方式进行保存并备份在硬盘上。
进一步的,转存单元23用于在当前爬取任务结束时将所述备份数据进行转化得到预设形式的备份数据;转存单元23还用于将所述预设形式的备份数据进行压缩后转存至数据库中。
进一步的,如图3所示,加载单元24包括:
检测模块241,用于检测所述数据库中是否存在备份的布隆过滤器的内存数据;
加载模块242,用于在检测模块241检测到所述数据库中存在备份的布隆过滤器的内存数据时,在所述下一爬取任务中设置所述备份数据所属布隆过滤器的身份标识,并根据所述身份标识从所述数据库中加载所述备份数据;
创建模块243,用于在检测模块241检测到所述数据库中存在备份的布隆过滤器的内存数据时,为所述下一爬取任务创建新的布隆过滤器。
本发明实施例提供的爬虫系统自定义去重的装置,能够通过设置当前爬取任务的爬取参数,在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据,在当前爬取任务结束时将所述备份数据转存至数据库中,在建立下一爬取任务时根据所述爬取参数从所述数据库中加载所述备份数据。与现有技术中网络爬虫执行后一次爬取任务时只能建立并使用后一次爬取任务的布隆过滤器导致可能造成的数据重复爬取的缺陷,本发明能够通过对网络爬虫不同爬取任务的布隆过滤器进行备份及参数设定,使得不同爬取任务之间实现布隆过滤器(爬虫去重记忆)的相互利用及延续,避免了数据的重复爬取。
此外,本发明实施例通过记忆标识和身份标识能够对不同临时任务自定义设置其是否需要保存布隆过滤器内存数据及其布隆过滤器的来源,从而实现不同临时任务之间的去重记忆(布隆过滤器)的延续性,避免了不同临时任务之间布隆过滤器的独立导致的多次重复获取相同数据的情况。同时,在执行需要获取先前临时任务的布隆过滤器的临时任务时,提前检测数据库中是否存在备份的布隆过滤器的内存数据,只有存在时才会在制定爬取规则时加入需要使用的布隆过滤器的身份标识,避免临时任务在数据库中进行无效的查找。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种爬虫系统自定义去重的方法,其特征在于,所述方法包括:
设置当前爬取任务的爬取参数;
在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据;
在当前爬取任务结束时将所述备份数据转存至数据库中;
将所述当前爬取任务对应的布隆过滤器的身份标识添加在下一个爬取任务的爬取规则中;
在建立下一爬取任务时根据所述下一爬取任务的所述爬取参数和所述爬取规则中的所述布隆过滤器的身份标识从所述数据库中加载所述备份数据;
其中,所述设置当前爬取任务的爬取参数,包括:
在所述当前爬取任务中加入保存布隆过滤器的记忆标识;
为所述当前爬取任务对应的布隆过滤器设置所述身份标识。
2.根据权利要求1所述的方法,其特征在于,所述将当前布隆过滤器的内存数据进行备份得到备份数据,包括:
按照预设时间间隔将当前布隆过滤器的内存数据进行备份得到备份数据。
3.根据权利要求1所述的方法,其特征在于,所述将当前布隆过滤器的内存数据进行备份得到备份数据,包括:
将当前布隆过滤器的内存数据通过序列化方式进行保存并备份在硬盘上。
4.根据权利要求1所述的方法,其特征在于,所述在当前爬取任务结束时将所述备份数据转存至数据库中,包括:
在当前爬取任务结束时将所述备份数据进行转化得到预设形式的备份数据;
将所述预设形式的备份数据进行压缩后转存至数据库中。
5.根据权利要求1所述的方法,其特征在于,所述在建立下一爬取任务时根据下一爬取任务的所述爬取参数和所述爬取规则中的所述布隆过滤器的身份标识从所述数据库中加载所述备份数据,包括:
检测所述数据库中是否存在备份的布隆过滤器的内存数据;
若存在,则在所述下一爬取任务中设置所述备份数据所属布隆过滤器的身份标识,并根据所述身份标识从所述数据库中加载所述备份数据;
若不存在,则为所述下一爬取任务创建新的布隆过滤器。
6.一种爬虫系统自定义去重的装置,其特征在于,所述装置包括:
设置单元,用于设置当前爬取任务的爬取参数;
备份单元,用于在当前爬取任务运行过程中将当前布隆过滤器的内存数据进行备份得到备份数据;
转存单元,用于在当前爬取任务结束时将所述备份单元得到的所述备份数据转存至数据库中;
所述转存单元,还用于将所述当前爬取任务对应的布隆过滤器的身份标识添加在下一个爬取任务的爬取规则中;
加载单元,用于在建立下一爬取任务时根据所述下一爬取任务的所述爬取参数和所述爬取规则中的所述布隆过滤器的身份标识从所述数据库中加载所述备份数据;
其中,所述设置单元用于在所述当前爬取任务中加入保存布隆过滤器的记忆标识;所述设置单元还用于为所述当前爬取任务对应的布隆过滤器设置身份标识。
7.根据权利要求6所述的装置,其特征在于,所述备份单元用于按照预设时间间隔将当前布隆过滤器的内存数据进行备份得到备份数据。
8.根据权利要求6所述的装置,其特征在于,所述加载单元包括:
检测模块,用于检测所述数据库中是否存在备份的布隆过滤器的内存数据;
加载模块,用于在所述检测模块检测到所述数据库中存在备份的布隆过滤器的内存数据时,在所述下一爬取任务中设置所述备份数据所属布隆过滤器的身份标识,并根据所述身份标识从所述数据库中加载所述备份数据;
创建模块,用于在所述检测模块检测到所述数据库中不存在备份的布隆过滤器的内存数据时,为所述下一爬取任务创建新的布隆过滤器。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行是控制所述存储介质所在设备执行权利要求1至权利要求5中任意一项所述的爬虫系统自定义去重的方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行是执行权利要求1至权利要求5中任一项所述的爬虫系统自定义去重的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510652718.3A CN106570023B (zh) | 2015-10-10 | 2015-10-10 | 一种爬虫系统自定义去重的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510652718.3A CN106570023B (zh) | 2015-10-10 | 2015-10-10 | 一种爬虫系统自定义去重的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106570023A CN106570023A (zh) | 2017-04-19 |
CN106570023B true CN106570023B (zh) | 2020-11-27 |
Family
ID=58507441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510652718.3A Active CN106570023B (zh) | 2015-10-10 | 2015-10-10 | 一种爬虫系统自定义去重的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106570023B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107480264B (zh) * | 2017-08-17 | 2019-11-15 | 北京知道创宇信息技术股份有限公司 | 一种网络爬虫去重方法和计算设备 |
CN110955853A (zh) * | 2018-09-26 | 2020-04-03 | 北京国双科技有限公司 | 一种数据存储方法及装置 |
CN112836106A (zh) * | 2019-11-25 | 2021-05-25 | 北京国双科技有限公司 | 数据爬取应用的创建方法、装置、存储介质及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6920477B2 (en) * | 2001-04-06 | 2005-07-19 | President And Fellows Of Harvard College | Distributed, compressed Bloom filter Web cache server |
US20070191969A1 (en) * | 2006-02-13 | 2007-08-16 | Jianying Shi | Automated state change notification |
CN102663058B (zh) * | 2012-03-30 | 2013-12-18 | 华中科技大学 | 一种分布式网络爬虫系统中的url去重方法 |
CN102693308B (zh) * | 2012-05-24 | 2014-02-12 | 北京迅奥科技有限公司 | 一种面向实时搜索的缓存方法 |
CN103279532B (zh) * | 2013-05-31 | 2016-12-28 | 北京创世泰克科技股份有限公司 | 多集合元素去重并标识所属集合的过滤系统及其方法 |
CN103414756B (zh) * | 2013-07-18 | 2016-08-24 | 华为技术有限公司 | 一种任务分发方法、分发节点及系统 |
-
2015
- 2015-10-10 CN CN201510652718.3A patent/CN106570023B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106570023A (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107391628B (zh) | 数据同步方法及装置 | |
RU2565109C2 (ru) | Способ и устройство для восстановления резервной базы данных | |
CN106570023B (zh) | 一种爬虫系统自定义去重的方法及装置 | |
CN105610903B (zh) | 分布式系统的数据节点升级方法及装置 | |
CN107357558B (zh) | 构建代码的方法及装置 | |
CN105871587A (zh) | 日志上传方法及装置 | |
CN110225078B (zh) | 一种应用服务更新方法、系统及终端设备 | |
CN107391303B (zh) | 数据处理方法、装置、系统、服务器及计算机存储介质 | |
US20160232059A1 (en) | Distributed garbage collection for the dedupe storage network | |
CN102937904A (zh) | 一种多节点固件升级方法和装置 | |
CN105468373A (zh) | 一种分支合并方法及装置 | |
WO2016183918A1 (zh) | 存储空间处理方法及装置 | |
CN108121774B (zh) | 一种数据表备份方法及终端设备 | |
CN110019063B (zh) | 计算节点数据容灾回放的方法、终端设备及存储介质 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN104991866A (zh) | Js程序的调试方法及装置 | |
CN106557383B (zh) | 一种数据恢复的方法及装置 | |
US9251028B2 (en) | Managing code instrumentation in a production computer program | |
CN102467419A (zh) | 文件备份方法 | |
TWI653578B (zh) | 映像檔製作方法及其裝置 | |
CN108121514B (zh) | 元信息更新方法、装置、计算设备及计算机存储介质 | |
CN104572943A (zh) | 免安装程序清理方法及装置 | |
CN102346696A (zh) | 一种文件恢复方法及装置 | |
CN115630025A (zh) | 用于监控共享文件系统内文件变动的系统和方法 | |
CN110941597A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |