对网络数据进行关键词匹配的方法及装置的制造方法

文档序号:10570047阅读:142来源:国知局
对网络数据进行关键词匹配的方法及装置的制造方法
【专利摘要】本公开是关于一种对网络数据进行关键词匹配的方法及装置,属于网络技术领域。方法包括:将通过网络爬虫爬取到的网络数据添加入数据队列,获取用户设置的匹配关键词,通过至少一个匹配线程,将所述数据队列中的网络数据与所述匹配关键词进行匹配,当需要通过不同的匹配关键词对网络爬虫爬取到的数据进行匹配时,开发者用户只需要输入新的匹配关键词即可,不需要更改爬虫网络的代码,从而降低对匹配关键词进行调整的难度,降低开发成本。
【专利说明】
对网络数据进行关键词匹配的方法及装置
技术领域
[0001]本公开涉及网络技术领域,特别涉及一种对网络数据进行关键词匹配的方法及装置。
【背景技术】
[0002]面对互联网中海量的数据,很多企业用户需要使用网络爬虫来爬取网络数据,并从中获取到自己想要数据。
[0003]相关技术中,开发者在开发网络爬虫时,在网络爬虫的代码中增加匹配部分代码,网络爬虫在爬取到网络数据后,可以通过运行该匹配部分代码,将爬取到的数据与匹配部分代码中的匹配关键词进行匹配,以从中提取出需要的数据。当开发者想要从爬取到的数据中提取不同的数据时,可以修改匹配部分代码中的匹配关键词。

【发明内容】

[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]获取用户设置的匹配关键词;
[0048]通过至少一个匹配线程,将所述数据队列中的网络数据与所述匹配关键词进行匹配。
[0049]本公开实施例提供的技术方案可以包括以下有益效果:
[0050]将通过网络爬虫爬取到的网络数据添加入数据队列,获取用户设置的匹配关键词,通过至少一个匹配线程,将该数据队列中的网络数据与匹配关键词进行匹配,当需要通过不同的匹配关键词对网络爬虫爬取到的数据进行匹配时,开发者用户只需要输入新的匹配关键词即可,不需要更改爬虫网络的代码,从而降低对匹配关键词进行调整的难度,降低开发成本。
[0051]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0052]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0053]图1是本公开各个实施例所示的对网络数据进行关键词匹配的方法所涉及的实施环境的示意图;
[0054]图2是根据一示例性实施例示出的一种对网络数据进行关键词匹配的方法的流程图;
[0055]图3是根据另一示例性实施例示出的一种对网络数据进行关键词匹配的方法的流程图;
[0056]图4是根据又一示例性实施例示出的一种对网络数据进行关键词匹配的方法的流程图;
[0057]图5是根据一示例性实施例示出的一种对网络数据进行关键词匹配的装置的框图;
[0058]图6是根据另一示例性实施例示出的一种对网络数据进行关键词匹配的装置的框图;
[0059]图7根据一示例性实施例示出的一种装置的框图。
【具体实施方式】
[0060]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0061]图1是根据本公开所示出的对网络数据进行关键词匹配的方法所涉及的实施环境的示意图。该实施环境可以包括:爬虫服务器110和队列服务器120。
[0062]爬虫服务器110可以是在网络中处理爬虫程序的服务器。爬虫程序利用爬虫服务器!川的硬件资源而执行’爬虫程序可以从一个原始的!?!^!]]^;!;.。!.!]! Resource Locator,统一资源定位符)地址开始爬取网络数据,并该网络数据中新的URL中的数据再次进行爬取,直到没有新的URL可供爬取,或者爬取到预定层级为止。之后,爬虫服务器110将获取到的网络数据传给队列服务器120。
[0063]队列服务器120通过有线网络或者无线网络与爬虫服务器110相连,一台爬虫服务器可以对应若干台队列服务器120,队列服务器用于处理爬虫服务器110传来的数据以及指令。
[0064]爬虫服务器110和队列服务器120在应用中可以是不同的层次和架构,也可以是相同的层次和架构。其中,爬虫服务器110和队列服务器120从应用层次而言可以是:入门级服务器、工作组级服务器、部门级服务器或企业级服务器;从架构上而言可以是= CISC(Complex Instruct1n Set Computing,复杂指令系统计算技术)架构服务器、RISC(Reduced Instruct1n Set Computing,精简指令系统计算技术)架构服务器或VLIW(VeryLong Instruct1n Word,超长指令字)服务器;从用途上而言可以是通用型服务器和专用型服务器。
[0065]可选地,爬虫服务器110和队列服务器120还可以是虚拟服务器。
[0066]下面,以图1所示的实施环境为例,对本公开各个实施例提供的技术方案进行介绍和说明。
[0067]图2是根据一示例性实施例示出的一种对网络数据进行关键词匹配的方法的流程图,该方法应用于如图1所示的实施环境中的队列服务器120中。该对网络数据进行关键词匹配的方法可以包括如下几个步骤。
[0068]在步骤201中,将通过网络爬虫爬取到的网络数据添加入数据队列。
[0069]在步骤202中,获取用户设置的匹配关键词。
[0070]在步骤203中,通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配。
[0071]综上所述,本公开实施例提供的一种对网络数据进行关键词匹配的方法,通过将通过网络爬虫爬取到的网络数据添加入数据队列,获取用户设置的匹配关键词,通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配,当需要通过不同的匹配关键词对网络爬虫爬取到的数据进行匹配时,开发者用户只需要输入新的匹配关键词即可,不需要更改爬虫网络的代码,从而降低对匹配关键词进行调整的难度,降低开发成本。
[0072]图3是根据另一示例性实施例示出的一种对网络数据进行关键词匹配的方法的流程图,该方法应用于如图1所示的实施环境中的队列服务器120中。该对网络数据进行关键词匹配的方法可以包括如下几个步骤。
[0073]在步骤301中,将通过网络爬虫爬取到的网络数据添加入数据队列。
[0074]在步骤中,网络爬虫从网络中爬取到网络数据后,队列服务器将网络数据添加入待匹配的数据队列中。数据队列中的网络数据将会按照被添加入该队列的顺序依次接受匹配处理。
[0075]在步骤302中,获取该数据队列中待匹配的网络数据的数据量。
[0076]网络数据的数据量可以是网络数据的条数,即网络爬虫在爬取网络数据时,可以将一个网页中的数据爬取为一条数据。或者,该网络数据的数据量也可以指该网络数据占据队列服务器存储空间的大小,例如96KB、320MB或2.4GB等等。
[0077]在步骤303中,根据该网络数据的数据量确定目标线程数。
[0078]本公开实施例所示的方法,为了及时处理网络爬虫爬取到的网络数据,可以设置多条匹配线程同时进行匹配,若匹配线程数量较少而数据队列中待匹配的网络数据较多,则可能影响处理效率,反之,若匹配线程数量较多而数据队列中待匹配的网络数据较少,则会造成处理资源的浪费。因此,在本公开实施例中,队列服务器可以根据数据队列中待处理的网络数据的数据量来调整匹配线程的数量,在保证对数据队列中的网络数据的处理效率的同时,节约处理服务器的处理资源。
[0079]可选的,队列服务器可以按照以下方式确定目标线程数:
[0080]I)当该网络数据的数据量不大于第一数据量阈值时,确定该目标线程数为第一线程数。
[0081]在情形I)中,第一线程数为预先设置的,该队列服务器中匹配线程的最小数量,该第一线程数设置时可以综合考虑队列服务器的数据处理能力以及网络数据可能的突发状况,该第一处理线程数设置时以不浪费该队列服务器的运算能力,同时满足一定的匹配处理能力为准。例如,某一队列服务器中的第一线程数为5,5个匹配线程所占用的处理资源只占队列服务器总的处理资源的一小部分,不会对队列服务器处理其他任务产生大的影响,同时,当数据队列中短时间添加大量的网络数据时,5个匹配线程能够在该短时间内及时提供一定的处理能力,使得网络数据不会过分堆积。
[0082]其中,队列服务器在数据队列中的网络数据不大于第一数据量阈值时,保持匹配线程的数量为第一线程数,比如,当数据队列中的网络数据的条数不大于1000条,或者,数据量不大于500M时,持匹配线程的数量为5个。
[0083]2)当该网络数据的数据量不小于第二数据量阈值时,确定该目标线程数为第二线程数。
[0084]在情形2)中,第二线程数为预先设置的,该队列服务器中匹配线程的最大数量,该第二线程数设置时需要考虑所在队列服务器的总数据处理能力以及并发处理能力,该第二处理线程数设置时以不超出该队列服务器预留给关键词匹配所使用的运算能力为准。例如,当某一队列服务器中的匹配线程不超过15个时,该队列服务器中的其它类型的任务线程不会受到明显影响,而一旦队列服务器中的匹配线程超过15个,则该队列服务器中的其它类型的任务线程会受到明显影响,此时,可以将该第二线程数设置为15,即该队列服务器最多同时开启15个匹配线程。
[0085]其中,队列服务器在数据队列中的网络数据不小于第二数据量阈值时,保持匹配线程的数量为第二线程数,比如,当数据队列中的网络数据的条数不小于10000条,或者,数据量不小于5000M时,持匹配线程的数量为15个。
[0086]3)当该网络数据的数据量处于该第一数据量阈值和该第二数据量阈值之间时,根据该网络数据的数据量计算该目标线程数。
[0087]在情形3)中,当网络数据的数据量处于第一数据量阈值和该第二数据量阈值之间时,为了保证匹配处理的效率,避免数据队列中的网络数据堆积,同时尽可能节约处理资源,队列服务器可以根据网络数据的数据量动态调整匹配线程的数量,比如,基于情形I)和情形2)所举的例子,在该网络数据的数据量介于第一数据量500MB和第二数据量5000MB之间时,根据该网络数据的数据量计算该目标线程数。实际应用中具有多种计算公式,对于这些计算公式而言,输入量为该网络数据的数据量,输出量为线程数。例如,该网络数据的数据量可以与目标线程数呈区间对应关系,当网络数据的数据量处于(500MB,1000MB]区间时,对应的目标线程数为6个线程、当网络数据的数据量处于(1000MB,1500MB]区间时,对应的目标线程数为7个,以此类推。或者,该网络数据的条数可以与目标线程数呈区间对应关系,当网络数据的条数处于(1000,2000]区间时,对应的目标线程数为6个线程、当网络数据的条数处于(2000,3000 ]区间时,对应的目标线程数为7个,以此类推。
[0088]在步骤304中,通过新建或者关闭线程,将当前运行的至少一个匹配线程的线程数调整为该目标线程数。
[0089]队列服务器根据步骤303确定的目标线程数实时调整当前运行的匹配线程的数量。例如当前运行的匹配线程的数量为8个,经过前述步骤计算出当前所需的目标线程数为7个,此时,队列服务器可以关闭其中2个匹配线程。同理,如果当前运行的匹配线程的数量为8个,经过前述步骤计算出当前所需的目标线程数为10个时,此时,队列服务器可以新建2个匹配线程。
[0090]在步骤305中,获取用户设置的匹配关键词。
[0091]其中,该用户可以是爬虫系统的运维人员,该匹配关键词可以是运维人员在爬虫系统提供的设置界面中设置的匹配关键词。
[0092]在步骤306中,通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配。
[0093]在该步骤中,队列服务器可以将该匹配关键词加载在内存中的指定位置,并向该至少一个匹配线程发送指示消息,该指示消息用于指示该至少一个匹配线程从该指定位置读取该匹配关键词。
[0094]比如,队列服务器获取到新的匹配关键词后,会将其加载在内存中,且定时在磁盘中进行备份,并通知所有当前正在运行的匹配线程,使匹配线程动态加载新的匹配关键词,从数据队列中提取网络数据,通过多模匹配算法将提取的网络数据与该新的匹配关键词进行匹配,并输出匹配结果。
[0095]综上所述,本公开实施例提供的一种对网络数据进行关键词匹配的方法,通过将通过网络爬虫爬取到的网络数据添加入数据队列,获取用户设置的匹配关键词,通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配,当需要通过不同的匹配关键词对网络爬虫爬取到的数据进行匹配时,开发者用户只需要输入新的匹配关键词即可,不需要更改爬虫网络的代码,从而降低对匹配关键词进行调整的难度,降低开发成本。
[0096]此外,本公开实施例提供的方法,通过获取该数据队列中待匹配的网络数据的数据量,根据该网络数据的数据量确定目标线程数,通过新建或者关闭线程,将该至少一个匹配线程的线程数调整为该目标线程数,在保证匹配处理的效率,避免数据队列中的网络数据堆积的同时,达到节约处理资源的效果。
[0097]图4是根据又一示例性实施例示出的一种对网络数据进行关键词匹配的方法的流程图,该方法应用于如图1所示的实施环境中的队列服务器120中。该对网络数据进行关键词匹配的方法可以包括如下几个步骤。
[0098]在步骤401中,接收爬虫服务器发送的网络数据。
[0099]该爬虫服务器可以是图1中所示的爬虫服务器110,本步骤中,爬虫服务器中的网络爬虫从网络中爬取到网络数据后,对爬取到的网络数据进行预定处理(比如去重)后,将网络数据发送给队列服务器。该网络数据的格式可以是文本形式或其它网络数据形式等。
[0100]在步骤402中,将接收到的网络数据添加入数据队列。
[0101]在步骤403中,获取该数据队列中待匹配的网络数据的数据量。
[0102]在步骤404中,根据该网络数据的数据量确定目标线程数。
[0103]在步骤405中,通过新建或者关闭线程,将当前运行的至少一个匹配线程的线程数调整为该目标线程数。
[0104]上述步骤402至步骤405中,可以对数据队列设置存储阈值,如I千条网络数据,当数据队列堆积的条数数量超过了 I千条,队列服务器则会自动增加新的匹配线程,并加载当前最新的匹配关键字,及时处理当前网络数据,防止数据堆积;同时,还可以对匹配线程设置闲时处理线程数,当数据队列中的数据量较小的时候,适当减小线程数,节省系统资源,其实现过程可以参考图3所示实施例中的步骤301至步骤304下的描述,此处不再赘述。
[0105]在步骤406中,接收该爬虫服务器发送的匹配关键词,该匹配关键词是用户在该爬虫服务器中设置的关键词。
[0106]其中,该匹配关键词可以是运维人员在爬虫系统提供的设置界面中设置的匹配关键词。比如,运维人员可以通过爬虫服务器提供的输入界面输入或者设置匹配关键词,爬虫服务器将运维人员输入或者设置的匹配关键词动态存储到指定的set数据结构中。队列服务器提供web接口给爬虫服务器,当运维人员完成对匹配关键词的重新配置后并通知爬虫服务器后,爬虫服务器会调用队列服务器提供的web接口,将包含该新的匹配关键词(即存储匹配关键词的set数据结构)的消息数据传给队列服务器。可选的,该消息数据中还可以包含爬虫服务器的标识。
[0107]由于一个爬虫服务器可以对应多个队列服务器,当该多个队列服务器通过同样的匹配关键词对爬虫服务器爬取到的网络数据进行多模匹配时,运维人员只需要在爬虫服务器中设置匹配关键词,各个队列服务器即可以自动从爬虫服务器中获取该匹配关键词,不需要在多个队列服务器中分别设置,进一步简化了运维人员设置匹配关键词的操作。
[0108]在步骤407中,将该匹配关键词加载在内存中的指定位置。
[0109]在此步骤中,队列服务器将匹配关键词加载在队里服务器中内存的指定位置中。匹配关键词以独立字符串的形式被存储在队列服务器内存中的指定位置,也可存储在队列服务器的缓存、ROM或RAM中。
[0110]在步骤408中,向该至少一个匹配线程发送指示消息,该指示消息用于指示该至少一个匹配线程从该指定位置读取该匹配关键词。
[0111]比如,队列服务器获取到新的匹配关键词后,会将其加载在内存中,且定时在磁盘中进行备份,并通知所有当前正在运行的匹配线程,使匹配线程动态加载新的匹配关键词,从数据队列中提取网络数据,通过多模匹配算法将提取的网络数据与该新的匹配关键词进行匹配,并输出匹配结果。
[0112]综上所述,本公开实施例提供的一种对网络数据进行关键词匹配的方法,将通过网络爬虫爬取到的网络数据添加入数据队列,获取用户设置的匹配关键词,通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配,当需要通过不同的匹配关键词对网络爬虫爬取到的数据进行匹配时,开发者用户只需要输入新的匹配关键词即可,不需要更改爬虫网络的代码,从而降低对匹配关键词进行调整的难度,降低开发成本。
[0113]此外,本公开实施例提供的方法,通过获取该数据队列中待匹配的网络数据的数据量,根据该网络数据的数据量确定目标线程数,通过新建或者关闭线程,将该至少一个匹配线程的线程数调整为该目标线程数,在保证匹配处理的效率,避免数据队列中的网络数据堆积的同时,达到节约处理资源的效果。
[0114]另外,本公开实施例提供的方法,队列服务器接收爬虫服务器发送的网络数据和匹配关键词,并通过至少一个匹配线程将网络数据与匹配关键词进行多模匹配处理,将数据爬取和数据匹配分割执行,避免对大量的网络数据进行匹配时造成网络数据爬取端的拥塞,提高爬虫系统的数据爬取性能。
[0115]图5是根据一示例性实施例示出的一种对网络数据进行关键词匹配的装置的框图,该对网络数据进行关键词匹配的装置可以通过硬件电路或者软件和硬件结合的方式实现成为队列服务器120中的全部或部分。该对网络数据进行关键词匹配的装置可以包括:添加模块501、第一获取模块502和匹配模块503。
[0116]添加模块501,被配置为将通过网络爬虫爬取到的网络数据添加入数据队列。
[0117]第一获取模块502,被配置为获取用户设置的匹配关键词。
[0118]匹配模块503,被配置为通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配。
[0119]综上所述,本公开实施例提供的一种对网络数据进行关键词匹配的装置,将通过网络爬虫爬取到的网络数据添加入数据队列,获取用户设置的匹配关键词,通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配,当需要通过不同的匹配关键词对网络爬虫爬取到的数据进行匹配时,开发者用户只需要输入新的匹配关键词即可,不需要更改爬虫网络的代码,从而降低对匹配关键词进行调整的难度,降低开发成本。
[0120]图6是根据另一示例性实施例示出的一种对网络数据进行关键词匹配的装置的框图,该对网络数据进行关键词匹配的装置可以通过硬件电路或者软件和硬件结合的方式实现成为队列服务器120中的全部或部分。该对网络数据进行关键词匹配的装置可以包括:添加模块601、第一获取模块602、匹配模块603、第二获取模块604、确定模块605、调整模块606和接收模块607。
[0121]添加模块601,被配置为将通过网络爬虫爬取到的网络数据添加入数据队列。
[0122]第一获取模块602,被配置为获取用户设置的匹配关键词。
[0123]匹配模块603,被配置为通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配。
[0124]第二获取模块604,被配置为获取该数据队列中待匹配的网络数据的数据量。
[0125]确定模块605,被配置为根据该网络数据的数据量确定目标线程数。
[0126]调整模块606,被配置为通过新建或者关闭线程,将该至少一个匹配线程的线程数调整为该目标线程数。
[0127]该确定模块605,包括:第一确定子模块605a、第二确定子模块605b和计算子模块605c。
[0128]第一确定子模块605a,被配置为当该网络数据的数据量不大于第一数据量阈值时,确定该目标线程数为第一线程数。
[0129]第二确定子模块605b,被配置为当该网络数据的数据量不小于第二数据量阈值时,确定该目标线程数为第二线程数。
[0130]计算子模块605c,被配置为当该网络数据的数据量处于该第一数据量阈值和该第二数据量阈值之间时,根据该网络数据的数据量计算该目标线程数。
[0?31 ]该匹配模块603,包括:加载子模块603a和发送子模块603b。
[0132]加载子模块603a,被配置为将该匹配关键词加载在内存中的指定位置。
[0133]发送子模块603b,被配置为向该至少一个匹配线程发送指示消息,该指示消息用于指示该至少一个匹配线程从该指定位置读取该匹配关键词。
[0134]接收模块607,被配置为在将通过网络爬虫爬取到的网络数据添加入数据队列之前,接收爬虫服务器发送的该网络数据。
[0135]该第一获取模块602,被配置为接收该爬虫服务器发送的该匹配关键词,该匹配关键词是用户在该爬虫服务器中设置的关键词。
[0136]综上所述,本公开实施例提供的一种对网络数据进行关键词匹配的装置,将通过网络爬虫爬取到的网络数据添加入数据队列,获取用户设置的匹配关键词,通过至少一个匹配线程,将该数据队列中的网络数据与该匹配关键词进行匹配,当需要通过不同的匹配关键词对网络爬虫爬取到的数据进行匹配时,开发者用户只需要输入新的匹配关键词即可,不需要更改爬虫网络的代码,从而降低对匹配关键词进行调整的难度,降低开发成本。
[0137]此外,本公开实施例提供的装置,通过获取该数据队列中待匹配的网络数据的数据量,根据该网络数据的数据量确定目标线程数,通过新建或者关闭线程,将该至少一个匹配线程的线程数调整为该目标线程数,在保证匹配处理的效率,避免数据队列中的网络数据堆积的同时,达到节约处理资源的效果。
[0138]另外,本公开实施例提供的装置,队列服务器接收爬虫服务器发送的网络数据和匹配关键词,并通过至少一个匹配线程将网络数据与匹配关键词进行多模匹配处理,将数据爬取和数据匹配分割执行,避免对大量的网络数据进行匹配时造成网络数据爬取端的拥塞,提高爬虫系统的数据爬取性能。
[0139]本公开一示例性实施例还提供了一种对网络数据进行关键词匹配的装置,能够实现本公开提供的对网络数据进行关键词匹配的方法。该装置包括:处理器,以及用于存储处理器的可执行指令的存储器。其中,处理器被配置为:
[0140]将通过网络爬虫爬取到的网络数据添加入数据队列;
[0141]获取用户设置的匹配关键词;
[0142]通过至少一个匹配线程,将所述数据队列中的网络数据与所述匹配关键词进行匹配。
[0143]可选的,所述方法还包括:
[0144]获取所述数据队列中待匹配的网络数据的数据量;
[0145]根据所述网络数据的数据量确定目标线程数;
[0146]通过新建或者关闭线程,将所述至少一个匹配线程的线程数调整为所述目标线程数。
[0147]可选的,所述根据所述网络数据的数据量确定目标线程数,包括:
[0148]当所述网络数据的数据量不大于第一数据量阈值时,确定所述目标线程数为第一线程数;
[0149]当所述网络数据的数据量不小于第二数据量阈值时,确定所述目标线程数为第二线程数;
[0150]当所述网络数据的数据量处于所述第一数据量阈值和所述第二数据量阈值之间时,根据所述网络数据的数据量计算所述目标线程数。
[0151]可选的,所述通过至少一个匹配线程,将所述数据队列中的网络数据与所述匹配关键词进行匹配,包括:
[0152]将所述匹配关键词加载在内存中的指定位置;
[0153]向所述至少一个匹配线程发送指示消息,所述指示消息用于指示所述至少一个匹配线程从所述指定位置读取所述匹配关键词。
[0154]可选的,所述方法还包括:
[0155]在将通过网络爬虫爬取到的网络数据添加入数据队列之前,接收爬虫服务器发送的所述网络数据。
[0156]可选的,所述获取用户设置的匹配关键词,包括:
[0157]接收所述爬虫服务器发送的所述匹配关键词,所述匹配关键词是用户在所述爬虫服务器中设置的关键词。
[0158]需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0159]关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0160]图7是根据一示例性实施例示出的一种装置700的框图。例如,装置700可以被提供为一服务器。参照图7,装置700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理部件722执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此夕卜,处理组件722被配置为执行指令,以执行上述由队列服务器执行的对网络数据进行关键词匹配的方法。
[0161]装置700还可以包括一个电源组件726被配置为执行装置700的电源管理,一个有线或无线网络接口 750被配置为将装置700连接到网络,和一个输入输出(I/O)接口 758。装置700可以操作基于存储在存储器732的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM 或类似。
[0162]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0163]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【主权项】
1.一种对网络数据进行关键词匹配的方法,其特征在于,所述方法包括: 将通过网络爬虫爬取到的网络数据添加入数据队列; 获取用户设置的匹配关键词; 通过至少一个匹配线程,将所述数据队列中的网络数据与所述匹配关键词进行匹配。2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 获取所述数据队列中待匹配的网络数据的数据量; 根据所述网络数据的数据量确定目标线程数; 通过新建或者关闭线程,将所述至少一个匹配线程的线程数调整为所述目标线程数。3.根据权利要求2所述的方法,其特征在于,所述根据所述网络数据的数据量确定目标线程数,包括: 当所述网络数据的数据量不大于第一数据量阈值时,确定所述目标线程数为第一线程数; 当所述网络数据的数据量不小于第二数据量阈值时,确定所述目标线程数为第二线程数; 当所述网络数据的数据量处于所述第一数据量阈值和所述第二数据量阈值之间时,根据所述网络数据的数据量计算所述目标线程数。4.根据权利要求1所述的方法,其特征在于,所述通过至少一个匹配线程,将所述数据队列中的网络数据与所述匹配关键词进行匹配,包括: 将所述匹配关键词加载在内存中的指定位置; 向所述至少一个匹配线程发送指示消息,所述指示消息用于指示所述至少一个匹配线程从所述指定位置读取所述匹配关键词。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在将通过网络爬虫爬取到的网络数据添加入数据队列之前,接收爬虫服务器发送的所述网络数据。6.根据权利要求5所述的方法,其特征在于,所述获取用户设置的匹配关键词,包括: 接收所述爬虫服务器发送的所述匹配关键词,所述匹配关键词是用户在所述爬虫服务器中设置的关键词。7.—种对网络数据进行关键词匹配的装置,其特征在于,所述装置包括: 添加模块,用于将通过网络爬虫爬取到的网络数据添加入数据队列; 第一获取模块,用于获取用户设置的匹配关键词; 匹配模块,用于通过至少一个匹配线程,将所述数据队列中的网络数据与所述匹配关键词进行匹配。8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 第二获取模块,用于获取所述数据队列中待匹配的网络数据的数据量; 确定模块,用于根据所述网络数据的数据量确定目标线程数; 调整模块,用于通过新建或者关闭线程,将所述至少一个匹配线程的线程数调整为所述目标线程数。9.根据权利要求8所述的装置,其特征在于,所述确定模块,包括: 第一确定子模块,用于当所述网络数据的数据量不大于第一数据量阈值时,确定所述目标线程数为第一线程数; 第二确定子模块,用于当所述网络数据的数据量不小于第二数据量阈值时,确定所述目标线程数为第二线程数; 计算子模块,用于当所述网络数据的数据量处于所述第一数据量阈值和所述第二数据量阈值之间时,根据所述网络数据的数据量计算所述目标线程数。10.根据权利要求7所述的装置,其特征在于,所述匹配模块,包括: 加载子模块,用于将所述匹配关键词加载在内存中的指定位置; 发送子模块,用于向所述至少一个匹配线程发送指示消息,所述指示消息用于指示所述至少一个匹配线程从所述指定位置读取所述匹配关键词。11.根据权利要求7所述的装置,其特征在于,所述装置还包括: 接收模块,用于在将通过网络爬虫爬取到的网络数据添加入数据队列之前,接收爬虫服务器发送的所述网络数据。12.根据权利要求11所述的装置,其特征在于, 所述第一获取模块,用于接收所述爬虫服务器发送的所述匹配关键词,所述匹配关键词是用户在所述爬虫服务器中设置的关键词。13.—种对网络数据进行关键词匹配的装置,其特征在于,所述装置包括: 处理器; 用于存储所述处理器的可执行指令的存储器; 其中,所述处理器被配置为: 将通过网络爬虫爬取到的网络数据添加入数据队列; 获取用户设置的匹配关键词; 通过至少一个匹配线程,将所述数据队列中的网络数据与所述匹配关键词进行匹配。
【文档编号】G06F17/30GK105930482SQ201610282294
【公开日】2016年9月7日
【申请日】2016年4月29日
【发明人】张旭华, 刘硕, 邹易兴
【申请人】北京小米移动软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1