CN114077699A - 热点关键字确定方法、装置、电子设备及存储介质 - Google Patents
热点关键字确定方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114077699A CN114077699A CN202010831213.4A CN202010831213A CN114077699A CN 114077699 A CN114077699 A CN 114077699A CN 202010831213 A CN202010831213 A CN 202010831213A CN 114077699 A CN114077699 A CN 114077699A
- Authority
- CN
- China
- Prior art keywords
- keywords
- preset
- thread
- target
- storage queue
- 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/953—Querying, e.g. by the use of web search engines
- G06F16/9532—Query formulation
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明实施例提供了一种热点关键字确定方法、装置、电子设备及存储介质,所述方法包括:调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求:获取业务请求,提取业务请求中携带的关键字并存储至存储队列中;当存储队列中关键字的数量达到预设阈值时,从存储队列的关键字中确定目标关键字;将目标关键字合并至对应目标关键字集合中;在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的目标关键字为热点关键字。如此使用增量统计的方式确定热点关键字,可以减少关键字数量的存储,避免产生内存告警、内存溢出、系统宕机等问题,且减少耗时,减少CPU资源的使用。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种热点关键字确定方法、装置、电子设备及存储介质。
背景技术
随着互联网技术的飞速发展,各大门户网站应运而生,且多数门户网站也成为了人们获取信息的主要渠道。但是由于网络的复杂性、冗余性、更新和传播的快速性等,都给人们快速、准确地获取自己所需关键信息带来了困难,因此及时发现热点关键字已经成为当前研究的重点。
相关技术中,一次性获取大量业务请求,并提取这些业务请求中携带的关键字存储至内存中,遍历内存中已存储的关键字,统计每个关键字出现的次数并进行排序,选择排名靠前的关键字确定为热点关键字。
由于内存中需要存储大量关键字,容易产生内存告警、内存溢出等问题,导致系统宕机,且遍历内存中已存储的关键字,耗时较长,占用大量CPU资源。
发明内容
本发明实施例的目的在于提供一种热点关键字确定方法、装置、电子设备及存储介质,以实现减少关键字数量的存储,避免产生内存告警、内存溢出、系统宕机等问题,且减少耗时,减少CPU资源的使用的有益效果。具体技术方案如下:
在本发明实施例的第一方面,首先提供了一种热点关键字确定方法,所述方法包括:
调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,其中,各个线程均存在一一对应的目标关键字集合:
获取业务请求,提取所述业务请求中携带的关键字,并将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值;
当所述存储队列中所述关键字的数量达到预设阈值时,从所述存储队列的所述关键字中确定当前伦次对应的目标关键字;
将当前伦次对应的所述目标关键字合并至对应目标关键字集合中;
在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
在一个可选的实施方式中,所述调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,包括:
确定业务请求的统计时间段,其中,在当前时刻达到所述统计时间段的起始时刻的情况下,触发目标关键字统计事件,在当前时刻达到所述统计时间段的终止时刻的情况下,触发目标关键字统计结束事件;
若所述目标关键字统计事件触发,则调用预设线程池中各个线程,分别迭代执行以下步骤直至所述目标关键字统计结束事件触发;
所述获取业务请求,包括:
获取所述统计时间段内的业务请求,其中,各个线程获取的业务请求未重叠;
所述在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字,包括:
在所述目标关键字统计结束事件触发的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
在一个可选的实施方式中,所述将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值包括:
根据预设的线程与存储队列的映射关系,将所述关键字存储至对应存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值。
在一个可选的实施方式中,所述从所述存储队列的所述关键字中确定当前伦次对应的目标关键字,包括:
将所述存储队列的所述关键字,基于关键字出现次数进行排序;
基于排序结果确定当前伦次对应的目标关键字。
在一个可选的实施方式中,所述将当前伦次对应的所述目标关键字合并至对应目标关键字集合中之后,所述方法还包括:
重置所述存储队列的所述关键字。
在一个可选的实施方式中,所述在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字,包括:
在满足预设要求的情况下,将各个线程各自对应的目标关键字集合进行合并生成热点关键字集合;
遍历所述热点关键字集合中所述目标关键字的出现次数,判断是否不小于预设热点阈值;
若所述热点关键字集合中所述目标关键字的出现次数不小于预设热点阈值,则确定所述目标关键字为热点关键字。
在一个可选的实施方式中,所述获取业务请求,包括:
确定业务请求中携带的关键字的数量;
根据预设阈值以及业务请求中携带的关键字的数量,计算业务请求的获取数量;
根据所述获取数量获取业务请求。
在本发明实施例的第二方面,还提供了一种热点关键字确定装置,所述装置包括:
线程调用模块,用于调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,其中,各个线程均存在一一对应的目标关键字集合:获取业务请求,提取所述业务请求中携带的关键字,并将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值;当所述存储队列中所述关键字的数量达到预设阈值时,从所述存储队列的所述关键字中确定当前伦次对应的目标关键字;将当前伦次对应的所述目标关键字合并至对应目标关键字集合中;
热点关键字确定模块,用于在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
在本发明实施例的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的热点关键字确定方法。
在本发明实施例的四方面,还提供了一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的热点关键字确定方法。
在本发明实施例的第五方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中任一所述的热点关键字确定方法。
本发明实施例提供的技术方案,调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求:获取业务请求,提取业务请求中携带的关键字,并将关键字存储至存储队列中,以使存储队列中关键字的数量达到预设阈值,当存储队列中关键字的数量达到预设阈值时,从存储队列的关键字中确定当前伦次对应的目标关键字,将当前伦次对应的目标关键字合并至对应目标关键字集合中;在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的目标关键字为热点关键字。如此使用增量统计的方式确定热点关键字,可以减少关键字数量的存储,避免产生内存告警、内存溢出、系统宕机等问题,且减少耗时,减少CPU资源的使用。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中示出的一种热点关键字确定方法的实施流程示意图;
图2为本发明实施例中示出的一种线程与目标关键字集合一一对应的关系示意图;
图3为本发明实施例中示出的另一种热点关键字确定方法的实施流程示意图;
图4为本发明实施例中示出的一种各个线程获取业务请求的示意图;
图5为本发明实施例中示出的一种热点关键字确定装置的结构示意图;
图6为本发明实施例中示出的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例提供的一种热点关键字确定方法的实施流程示意图,该方法具体可以包括以下步骤:
S101,调用预设线程池中各个线程,分别迭代执行以下步骤(即S102至S104)直至满足预设要求。
在本发明实施例中,为了确定一段时间段内业务请求中的热点关键字,即热Key,需要使用一个线程池来统一处理业务请求,即确定用于统计目标关键字的线程池,该线程池中包含多个线程,每个线程相互独立统计目标关键字。
调用该线程池中各个线程,分别迭代执行下述步骤S102至S104,直至满足预设要求,即对于该线程池中任一线程而言,均迭代执行下述步骤S102至S104,直至满足预设要求。
其中,可以确定业务请求的统计时间段,在当前时刻到达该统计时间段的起始时刻的情况下,触发目标关键字统计事件,在当前时刻达到该统计时间段的终止时刻的情况下,触发目标关键字统计结束事件。
如此,在目标关键字统计事件触发的情况下,可以调用该线程池中各个线程,分别迭代执行下述步骤S102至S104,直至目标关键字统计结束事件触发,意味着在目标关键字统计结束事件触发的情况下,上述步骤S102至S104的迭代过程停止。
另外,对于该线程池中各个线程,均存在一一对应的目标关键字集合,用于目标关键字的存储,这样可以避免存储队列锁竞争造成的性能问题。
例如,如图2所示,对于线程池中线程1,存在一一对应的目标关键字集合1,对于线程池中线程2,存在一一对应的目标关键字集合2,对于线程池中其它线程,亦是如此,本发明实施例在此不再一一赘述。
S102,获取业务请求,提取所述业务请求中携带的关键字,并将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值。
S103,当所述存储队列中所述关键字的数量达到预设阈值时,从所述存储队列的所述关键字中确定当前伦次对应的目标关键字。
S104,将当前伦次对应的所述目标关键字合并至对应目标关键字集合中。
获取上述统计时间段内的业务请求,其中,各个线程获取的业务请求未重叠。例如,对于线程1,获取10:00-12:00之间的第1、4、7、……个业务请求,对于线程2,获取10:00-12:00之间的第2、5、8、……个业务请求,对于线程3,获取10:00-12:00之间的第3、6、9、……个业务请求,彼此之间未重叠。
提取该业务请求中携带的关键字。例如,对于线程1,提取10:00-12:00之间的第1、4、7、……个业务请求中携带的关键字,对于线程2,提取10:00-12:00之间的第2、5、8、……个业务请求中携带的关键字,对于线程3,提取10:00-12:00之间的第3、6、9、……个业务请求中携带的关键字。
根据预设的线程与存储队列的映射关系,将该关键字存储至对应存储队列中(例如ThreadLocal的List)。其中,可以循环执行上述步骤S102,以使存储队列中所述关键字的数量达到预设阈值。
例如,对于线程1,根据预设的线程与存储队列的映射关系,将10:00-12:00之间的第1、4、7、……个业务请求中携带的关键字存储至线程1对应的存储队列中,以使线程1对应的存储队列中关键字的数量达到1000,对于线程2,根据预设的线程与存储队列的映射关系,将10:00-12:00之间的第2、5、8、……个业务请求中携带的关键字存储至线程2对应的存储队列中,以使线程2对应的存储队列中关键字的数量达到1000,对于线程3,根据预设的线程与存储队列的映射关系,将10:00-12:00之间的第3、6、9、……个业务请求中携带的关键字存储至线程3对应的存储队列中,以使线程3对应的存储队列中关键字的数量达到1000,等等。
当存储队列中该关键字的数量达到预设阈值时,从存储队列的该关键字中确定当前伦次对应的目标关键字,将当前伦次对应的目标关键字合并至对应目标关键字集合中。
例如,经过上述步骤,线程1对应的存储队列中存在1000个关键字,线程2对应的存储队列中存在1000个关键字,线程3对应的存储队列中存在1000个关键字。对于线程1,当线程1对应的存储队列中关键字的数量达到1000时,可以触发一次统计,从线程1对应的存储队列的关键字中确定当前伦次对应的目标关键字,将当前伦次对应的目标关键字合并至线程1对应的目标关键字集合1中;对于线程2,当线程2对应的存储队列中关键字的数量达到1000时,可以触发一次统计,从线程2对应的存储队列的关键字中确定当前伦次对应的目标关键字,将当前伦次对应的目标关键字合并至线程2对应的目标关键字集合2中;对于其它线程亦是如此,本发明实施例在此不再一一赘述。
其中,对于上述统计时间段内的业务请求,可以确定业务请求中携带的关键字的数量,根据预设阈值与业务请求中携带的关键字的数量,计算业务请求的获取数量,从而根据该获取数量获取上述统计时间段内的业务请求,其中,可以一次性获取,也可以分批次获取。例如,业务请求中携带1个关键字,根据预设阈值(1000)与业务请求中携带的关键字的数量,计算得出业务请求的获取数量1000,则对于线程1,可以获取10:00-12:00之间的1000个业务请求,对于线程2,获取10:00-12:00之间的1000个业务请求,对于线程3,获取10:00-12:00之间的1000个业务请求,等等。其中,线程1、线程2、线程3、……获取的业务请求未重叠。
提取该获取数量的业务请求中携带的关键字。例如,对于线程1,可以提取1000个业务请求中携带的1000个关键字,对于线程2,可以提取1000个业务请求中携带的1000个关键字,对于线程3,可以提取1000个业务请求中携带的1000个关键字,等等。
根据预设的线程与存储队列的映射关系,将该获取数量的业务请求中携带的关键字存储至对应存储队列中,如此可以使存储队列中所述关键字的数量达到预设阈值。
例如,对于线程1,根据预设的线程与存储队列的映射关系,将1000个关键字存储至线程1对应的存储队列中,如此线程1对应的存储队列中存在1000个关键字;对于线程2,根据预设的线程与存储队列的映射关系,将1000个关键字存储至线程2对应的存储队列中,如此线程2对应的存储队列中存在1000个关键字;对于线程3,根据预设的线程与存储队列的映射关系,将1000个关键字存储至线程3对应的存储队列中,如此线程3对应的存储队列中存在1000个关键字;对于其它线程类似,本发明实施例在此不再一一赘述。
对于上述预设阈值,可以动态调整,具体可以根据上述统计时间段内的业务请求的数量调整该预设阈值,如果上述统计时间段内的业务请求的数量较大,可以增大该预设阈值,如果上述统计时间段内的业务请求的数量较小,可以减小该预设阈值,防止内存告警、内存溢出、系统宕机等问题的发生。
S105,在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
在经过上述步骤S102-S104的不断迭代直至目标关键字统计结束事件触发之后,对于线程池中每个线程,以增量统计的方式统计了目标关键字,存储于目标关键字集合中。如此在目标关键字统计结束事件触发的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的目标关键字为热点关键字。对于热点关键字,可以进行屏蔽、推送至客户端等处理,本发明实施例对此不作限定。
例如,在目标关键字统计结束事件触发的情况下,从线程1、线程2、线程3、……各自对应的目标关键字集合中,确定出现次数不小于5的目标关键字为热点关键字。其中,对于任一目标关键字集合而言,线程均以增量统计的方式统计目标关键字并存储至该目标关键字集合。
通过上述对本发明实施例提供的技术方案的描述,调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求:获取业务请求,提取业务请求中携带的关键字,并将关键字存储至存储队列中,以使存储队列中关键字的数量达到预设阈值,当存储队列中关键字的数量达到预设阈值时,从存储队列的关键字中确定当前伦次对应的目标关键字,将当前伦次对应的目标关键字合并至对应目标关键字集合中;在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的目标关键字为热点关键字。如此使用增量统计的方式确定热点关键字,可以减少关键字数量的存储,避免产生内存告警、内存溢出、系统宕机等问题,且减少耗时,减少CPU资源的使用。
如图3所示,为本发明实施例提供的另一种热点关键字确定方法的实施流程示意图,该方法具体可以包括以下步骤:
S301,调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,其中,各个线程均存在一一对应的目标关键字集合。
在本发明实施例中,在目标关键字统计事件触发的情况下,调用该线程池中各个线程,分别迭代执行下述步骤S302至S305,直至目标关键字统计结束事件触发,即对于该线程池中任一线程而言,均迭代执行下述步骤S302至S305,直至目标关键字统计结束事件触发,意味着在目标关键字统计结束事件触发的情况下,上述步骤S302至S305的迭代过程停止。
S302,获取业务请求,提取所述业务请求中携带的关键字,并将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值。
S303,当所述存储队列中所述关键字的数量达到预设阈值时,从所述存储队列的所述关键字中确定当前伦次对应的目标关键字。
S304,将当前伦次对应的所述目标关键字合并至对应目标关键字集合中。
S305,在将当前伦次对应的所述目标关键字合并至对应目标关键字集合中之后,重置所述存储队列的所述关键字。
获取上述时间段内的业务请求,其中,各个线程获取的业务请求未重叠。例如,如图4所示,对于线程1,获取10:00-12:00之间的第1、4、7、……个业务请求,对于线程2,获取10:00-12:00之间的第2、5、8、……个业务请求,对于线程3,获取10:00-12:00之间的第3、6、9、……个业务请求,彼此之间未重叠。
提取该业务请求中携带的关键字。例如,对于线程1,提取10:00-12:00之间的第1、4、7、……个业务请求中携带的关键字,对于线程2,提取10:00-12:00之间的第2、5、8、……个业务请求中携带的关键字,对于线程3,提取10:00-12:00之间的第3、6、9、……个业务请求中携带的关键字。
根据预设的线程与存储队列的映射关系,将该关键字存储至对应存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值。
例如,对于线程1,根据预设的线程与存储队列的映射关系,将10:00-12:00之间的第1、4、7、……个业务请求中携带的关键字存储至线程1对应的存储队列中,以使线程1对应的存储队列中关键字的数量达到1000,对于线程2,根据预设的线程与存储队列的映射关系,将10:00-12:00之间的第2、5、8、……个业务请求中携带的关键字存储至线程2对应的存储队列中,以使线程2对应的存储队列中关键字的数量达到1000,对于线程3,根据预设的线程与存储队列的映射关系,将10:00-12:00之间的第3、6、9、……个业务请求中携带的关键字存储至线程3对应的存储队列中,以使线程3对应的存储队列中关键字的数量达到1000,对于其它线程类似,本发明实施例在此不再一一赘述。
当存储队列中该关键字的数量达到预设阈值时,将所述存储队列的所述关键字,基于关键字出现次数进行排序,基于排序结果确定当前伦次对应的目标关键字。
例如,对于线程1,当线程1对应的存储队列中关键字的数量达到1000时,可以触发一次统计,将线程1对应的存储队列中关键字,基于关键字出现次数进行排序,选择排名靠前的关键字作为当前伦次对应的目标关键字;对于线程2,当线程2对应的存储队列中关键字的数量达到1000时,可以触发一次统计,将线程2对应的存储队列中关键字,基于关键字出现次数进行排序,选择排名靠前的关键字作为当前伦次对应的目标关键字;对于线程3,当线程3对应的存储队列中关键字的数量达到1000时,可以触发一次统计,线程3将线程3对应的存储队列中关键字,基于关键字出现次数进行排序,选择排名靠前的关键字作为当前伦次对应的目标关键字;对于其它线程类似,本发明实施例在此不再一一赘述。
将当前伦次对应的所述目标关键字合并至对应目标关键字集合中,并且在将当前伦次对应的所述目标关键字合并至对应目标关键字集合中之后,重置所述存储队列的所述关键字。
例如,对于线程1,将当前伦次对应的目标关键字合并至线程1对应的目标关键字集合1中,并且在将当前伦次对应的目标关键字合并至线程1对应的目标关键字集合中1之后,重置线程1对应的存储队列中的关键字(即清空线程1对应的存储队列中的关键字);对于线程2,将当前伦次对应的目标关键字合并至线程2对应的目标关键字集合2中,并且在将当前伦次对应的目标关键字合并至线程2对应的目标关键字集合2中之后,重置线程2对应的存储队列中的关键字(即清空线程2对应的存储队列中的关键字);对于线程3,将当前伦次对应的目标关键字合并至线程3对应的目标关键字集合3中,并且在将当前伦次对应的目标关键字合并至线程3对应的目标关键字集合3中之后,重置线程3对应的存储队列中的关键字(即清空线程3对应的存储队列中的关键字)。
S306,在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
在经过上述步骤S302至S305的不断迭代直至目标关键字统计结束事件触发之后,对于线程池中每个线程,以增量统计的方式统计了目标关键字,存储于目标关键字集合中。如此在目标关键字统计结束事件触发的情况下,将各个线程各自对应的目标关键字集合进行合并生成热点关键字集合,遍历所述热点关键字集合中所述目标关键字的出现次数,判断是否不小于预设热点阈值,若所述热点关键字集合中所述目标关键字的出现次数不小于预设热点阈值,则确定所述目标关键字为热点关键字。
例如,在目标关键字统计结束事件触发的情况下,将上述线程1、线程2、线程3各自对应的目标关键字集合进行合并生成热点关键字集合,并且遍历热点关键字集合中目标关键字的出现次数,如下表1所示,判断是否不小于预设热点阈值。
关键字 | 出现次数 |
1 | 1 |
2 | 10 |
…… | …… |
表1
如果热点关键字集合中目标关键字的出现次数不小于预设热点阈值,则可以认为该目标关键字为热点关键字,可以执行热点关键字处理逻辑,比如屏蔽热点关键字,或者推送至客户端,或者存储于某个位置,便于用户访问。
与上述方法实施例相对应,本发明实施例还提供了一种热点关键字确定装置,如图5所示,该装置可以包括:线程调用模块510、热点关键字确定模块520。
线程调用模块510,用于调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,其中,各个线程均存在一一对应的目标关键字集合:获取业务请求,提取所述业务请求中携带的关键字,并将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值;当所述存储队列中所述关键字的数量达到预设阈值时,从所述存储队列的所述关键字中确定当前伦次对应的目标关键字;将当前伦次对应的所述目标关键字合并至对应目标关键字集合中;
热点关键字确定模块520,用于在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器61、通信接口62、存储器63和通信总线64,其中,处理器61,通信接口62,存储器63通过通信总线64完成相互间的通信,
存储器63,用于存放计算机程序;
处理器61,用于执行存储器63上所存放的程序时,实现如下步骤:
调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,其中,各个线程均存在一一对应的目标关键字集合:获取业务请求,提取所述业务请求中携带的关键字,并将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值;当所述存储队列中所述关键字的数量达到预设阈值时,从所述存储队列的所述关键字中确定当前伦次对应的目标关键字;将当前伦次对应的所述目标关键字合并至对应目标关键字集合中;在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种存储介质,该存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的热点关键字确定方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的热点关键字确定方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在存储介质中,或者从一个存储介质向另一个存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种热点关键字确定方法,其特征在于,所述方法包括:
调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,其中,各个线程均存在一一对应的目标关键字集合:
获取业务请求,提取所述业务请求中携带的关键字,并将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值;
当所述存储队列中所述关键字的数量达到预设阈值时,从所述存储队列的所述关键字中确定当前伦次对应的目标关键字;
将当前伦次对应的所述目标关键字合并至对应目标关键字集合中;
在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
2.根据权利要求1所述的方法,其特征在于,所述调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,包括:
确定业务请求的统计时间段,其中,在当前时刻达到所述统计时间段的起始时刻的情况下,触发目标关键字统计事件,在当前时刻达到所述统计时间段的终止时刻的情况下,触发目标关键字统计结束事件;
若所述目标关键字统计事件触发,则调用预设线程池中各个线程,分别迭代执行以下步骤直至所述目标关键字统计结束事件触发;
所述获取业务请求,包括:
获取所述统计时间段内的业务请求,其中,各个线程获取的业务请求未重叠;
所述在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字,包括:
在所述目标关键字统计结束事件触发的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
3.根据权利要求1所述的方法,其特征在于,所述将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值包括:
根据预设的线程与存储队列的映射关系,将所述关键字存储至对应存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值。
4.根据权利要求1所述的方法,其特征在于,所述从所述存储队列的所述关键字中确定当前伦次对应的目标关键字,包括:
将所述存储队列的所述关键字,基于关键字出现次数进行排序;
基于排序结果确定当前伦次对应的目标关键字。
5.根据权利要求1所述的方法,其特征在于,所述将当前伦次对应的所述目标关键字合并至对应目标关键字集合中之后,所述方法还包括:
重置所述存储队列的所述关键字。
6.根据权利要求1所述的方法,其特征在于,所述在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字,包括:
在满足预设要求的情况下,将各个线程各自对应的目标关键字集合进行合并生成热点关键字集合;
遍历所述热点关键字集合中所述目标关键字的出现次数,判断是否不小于预设热点阈值;
若所述热点关键字集合中所述目标关键字的出现次数不小于预设热点阈值,则确定所述目标关键字为热点关键字。
7.根据权利要求1所述的方法,其特征在于,所述获取业务请求,包括:
确定业务请求中携带的关键字的数量;
根据预设阈值以及业务请求中携带的关键字的数量,计算业务请求的获取数量;
根据所述获取数量获取业务请求。
8.一种热点关键字确定装置,其特征在于,所述装置包括:
线程调用模块,用于调用预设线程池中各个线程,分别迭代执行以下步骤直至满足预设要求,其中,各个线程均存在一一对应的目标关键字集合:获取业务请求,提取所述业务请求中携带的关键字,并将所述关键字存储至存储队列中,以使所述存储队列中所述关键字的数量达到预设阈值;当所述存储队列中所述关键字的数量达到预设阈值时,从所述存储队列的所述关键字中确定当前伦次对应的目标关键字;将当前伦次对应的所述目标关键字合并至对应目标关键字集合中;
热点关键字确定模块,用于在满足预设要求的情况下,从各个线程各自对应的目标关键字集合中,确定出现次数不小于预设热点阈值的所述目标关键字为热点关键字。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7中任一所述的方法步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010831213.4A CN114077699A (zh) | 2020-08-18 | 2020-08-18 | 热点关键字确定方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010831213.4A CN114077699A (zh) | 2020-08-18 | 2020-08-18 | 热点关键字确定方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077699A true CN114077699A (zh) | 2022-02-22 |
Family
ID=80281382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010831213.4A Pending CN114077699A (zh) | 2020-08-18 | 2020-08-18 | 热点关键字确定方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114077699A (zh) |
-
2020
- 2020-08-18 CN CN202010831213.4A patent/CN114077699A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299144B (zh) | 一种数据处理方法、装置、系统及应用服务器 | |
CN109450969B (zh) | 从第三方数据源服务器中获取数据的方法、装置和服务器 | |
CN108255620B (zh) | 一种业务逻辑处理方法、装置、业务服务器及系统 | |
CN107301215B (zh) | 一种搜索结果缓存方法及装置、搜索方法及装置 | |
CN109165691B (zh) | 用于识别作弊用户的模型的训练方法、装置及电子设备 | |
CN110083475B (zh) | 一种异常数据的检测方法及装置 | |
CN111382206B (zh) | 一种数据存储方法及装置 | |
CN109246234B (zh) | 一种镜像文件下载方法、装置、电子设备及存储介质 | |
CN111541561A (zh) | 微服务配置信息管理系统、方法、服务器及存储介质 | |
CN113010494A (zh) | 一种数据库审计方法、装置及数据库代理服务器 | |
CN112995765B (zh) | 一种网络资源显示方法及装置 | |
CN109886300A (zh) | 一种用户聚类方法、装置及设备 | |
CN111078697B (zh) | 一种数据存储方法、装置、存储介质及电子设备 | |
CN112653736A (zh) | 一种并行回源方法、装置及电子设备 | |
CN110442801B (zh) | 一种目标事件的关注用户的确定方法及装置 | |
CN112269869B (zh) | 一种查询关键词的方法及装置 | |
CN108664550B (zh) | 一种对用户行为数据进行漏斗分析方法及装置 | |
CN108287659B (zh) | 一种基于实时数据流的数据采样方法、装置及电子设备 | |
CN112947844A (zh) | 一种数据存储方法、装置、电子设备及介质 | |
CN114077699A (zh) | 热点关键字确定方法、装置、电子设备及存储介质 | |
CN110719337A (zh) | 业务系统、业务请求处理方法、装置及服务器 | |
CN109992695B (zh) | 一种视频信息查询方法及装置 | |
CN110543486B (zh) | 数据变更方法、装置及服务器 | |
CN110223108B (zh) | 点击通过率的预测方法、装置及设备 | |
CN110674330B (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 |