CN113504881B - 热点数据的处理方法、客户端、目标计算设备及装置 - Google Patents

热点数据的处理方法、客户端、目标计算设备及装置 Download PDF

Info

Publication number
CN113504881B
CN113504881B CN202111068013.9A CN202111068013A CN113504881B CN 113504881 B CN113504881 B CN 113504881B CN 202111068013 A CN202111068013 A CN 202111068013A CN 113504881 B CN113504881 B CN 113504881B
Authority
CN
China
Prior art keywords
data
detected
preset
equipment
client
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
Application number
CN202111068013.9A
Other languages
English (en)
Other versions
CN113504881A (zh
Inventor
赵永伟
高永飞
张益军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Feihu Information Technology Tianjin Co Ltd
Original Assignee
Feihu Information Technology Tianjin Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Feihu Information Technology Tianjin Co Ltd filed Critical Feihu Information Technology Tianjin Co Ltd
Priority to CN202111068013.9A priority Critical patent/CN113504881B/zh
Publication of CN113504881A publication Critical patent/CN113504881A/zh
Application granted granted Critical
Publication of CN113504881B publication Critical patent/CN113504881B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本发明提供了一种热点数据的处理方法、客户端、目标计算设备及装置,该方法为:客户端按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定可用计算设备的设备数量及每一可用计算设备的设备编号;客户端按照预设的第二时间间隔,利用待检测数据的哈希值和设备数量确定待检测数据的数据编号,将待检测数据发送至设备编号与数据编号一致的目标计算设备,目标计算设备根据预设的匹配规则判断待检测数据是否为热点数据。保证相同待检测数据发送至同一计算设备,并且不占用服务机器的资源来对待检测数据进行处理,提高热点数据的识别准确率和节约服务机器的资源。

Description

热点数据的处理方法、客户端、目标计算设备及装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种热点数据的处理方法、客户端、目标计算设备及装置。
背景技术
服务系统在为用户提供服务时,如果服务系统的访问量突增会导致某些数据的访问频次激增,为保证服务系统的稳定运行,需识别热点数据。
目前识别热点数据的方式为:通过单台服务机器统计同一数据在单位时间内的访问量,如果访问量超过阈值则确定该数据为热点数据,将热点数据缓存到内存中。但是在服务机器较多的情况下,数据会被分发到多台服务机器上,单台服务机器会由于统计某一数据的访问量达不到阈值而无法识别热点数据,此种识别热点数据的方式的识别准确率较差,与此同时,数据的统计工作也由服务机器进行,会占用服务机器的资源。
发明内容
有鉴于此,本发明实施例提供一种热点数据的处理方法、客户端、目标计算设备及装置,以解决现有识别热点数据的方式存在的识别准确率较差和占用服务机器的资源等问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例第一方面公开一种热点数据的处理方法,所述方法适用于客户端,所述方法包括:
按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定所述可用计算设备的设备数量及每一所述可用计算设备的设备编号,所述计算集群包含多个计算设备;
按照预设的第二时间间隔,利用待检测数据的哈希值和所述设备数量确定所述待检测数据的数据编号,将所述待检测数据发送至目标计算设备,使所述目标计算设备根据预设的匹配规则判断所述待检测数据是否为热点数据,所述目标计算设备为所述设备编号与所述数据编号一致的所述可用计算设备。
优选的,所述按照预设的第二时间间隔,利用待检测数据的哈希值和所述设备数量确定所述待检测数据的数据编号,将所述待检测数据发送至目标计算设备,包括:
按照预设的第二时间间隔,确定待检测数据的哈希值除以所述设备数量得到的余数,将所述余数作为所述待检测数据的数据编号;
确定所述设备编号与所述数据编号一致的所述可用计算设备为目标计算设备,并将所述待检测数据发送至所述目标计算设备。
优选的,按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备之前,还包括:
接收配置中心发送的规则配置信息,所述规则配置信息至少包括所述匹配规则和缓存规则。
优选的,还包括:
接收任一所述可用计算设备发送的热点数据,按照所述缓存规则对所述热点数据进行缓存。
本发明实施例第二方面公开一种热点数据的处理方法,所述方法适用于目标计算设备,所述目标计算设备为计算集群中的任意可用计算设备,所述方法包括:
获取预设时长内由客户端发送的待检测数据,所述待检测数据的数据编号与目标计算设备的设备编号一致,所述数据编号由所述客户端根据所述待检测数据的哈希值和设备数量确定得到,所述设备数量为计算集群中的可用计算设备的数量;
确定与预设的匹配规则相匹配的所述待检测数据的匹配数量;
确定所述匹配数量大于阈值的所述待检测数据为热点数据。
优选的,所述确定与预设的匹配规则相匹配的所述待检测数据的匹配数量,包括:
利用预设的匹配规则,逐一对每一条所述待检测数据进行匹配,并统计与所述匹配规则相匹配的所述待检测数据的匹配数量。
优选的,确定所述匹配数量大于阈值的所述待检测数据为热点数据之后,还包括:
将所述热点数据发送至所述客户端,使所述客户端根据预设的缓存规则缓存所述热点数据;
将所述热点数据及其对应的数据信息发送至控制台,使所述控制台展示所述热点数据及其对应的数据信息。
优选的,确定所述匹配数量大于阈值的所述待检测数据为热点数据之后,还包括:
统计所述热点数据和所述待检测数据的调用量分布情况,所述调用量分布情况至少包含:数据数量、数据调用量和生存时间;
将所述热点数据和所述待检测数据的调用量分布情况发送给控制台,使所述控制台展示所述热点数据和所述待检测数据的调用量分布情况。
本发明实施例第三方面公开一种客户端,所述客户端包括:
确定单元,用于按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定所述可用计算设备的设备数量及每一所述可用计算设备的设备编号,所述计算集群包含多个计算设备;
处理单元,用于按照预设的第二时间间隔,利用待检测数据的哈希值和所述设备数量确定所述待检测数据的数据编号,将所述待检测数据发送至目标计算设备,使所述目标计算设备根据预设的匹配规则判断所述待检测数据是否为热点数据,所述目标计算设备为所述设备编号与所述数据编号一致的所述可用计算设备。
本发明实施例第四方面公开一种目标计算设备,所述目标计算设备为计算集群中的任意可用计算设备,所述目标计算设备包括:
获取单元,用于获取预设时长内由客户端发送的待检测数据,所述待检测数据的数据编号与目标计算设备的设备编号一致,所述数据编号由所述客户端根据所述待检测数据的哈希值和设备数量确定得到,所述设备数量为计算集群中的可用计算设备的数量;
第一确定单元,用于确定与预设的匹配规则相匹配的所述待检测数据的匹配数量;
第二确定单元,用于确定所述匹配数量大于阈值的所述待检测数据为热点数据。
本发明实施例第五方面公开一种热点数据的处理装置,所述装置包括:配置中心、客户端、目标计算设备和控制台,所述目标计算设备为计算集群中的任意可用计算设备;
所述配置中心,用于配置规则配置信息,并将所述规则配置信息发送至所述客户端和所述目标计算设备;
所述客户端,用于按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定所述可用计算设备的设备数量及每一所述可用计算设备的设备编号;按照预设的第二时间间隔,利用待检测数据的哈希值和所述设备数量确定所述待检测数据的数据编号,将所述待检测数据发送至所述目标计算设备,所述目标计算设备为所述设备编号与所述数据编号一致的所述可用计算设备;
所述目标计算设备,用于获取预设时长内由所述客户端发送的待检测数据;确定与预设的匹配规则相匹配的所述待检测数据的匹配数量;确定所述匹配数量大于阈值的所述待检测数据为热点数据;
所述控制台,用于展示所述目标计算设备发送的信息。
基于上述本发明实施例提供的一种热点数据的处理方法、客户端、目标计算设备及装置,该方法为:客户端按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定可用计算设备的设备数量及每一可用计算设备的设备编号;客户端按照预设的第二时间间隔,利用待检测数据的哈希值和设备数量确定待检测数据的数据编号,将待检测数据发送至设备编号与数据编号一致的目标计算设备,目标计算设备根据预设的匹配规则判断待检测数据是否为热点数据。本方案中,客户端通过可用计算设备的设备数量和待检测数据的哈希值确定数据编号,将待检测数据发送给设备编号与数据编号一致的目标计算设备进行待检测数据的处理,保证相同的待检测数据发送至同一计算设备,并且不占用服务机器的资源来对待检测数据进行处理,提高热点数据的识别准确率和节约服务机器的资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种热点数据的处理方法的流程图;
图2为本发明实施例提供的创建APP功能的示意图;
图3为本发明实施例提供的规则配置信息的详情示意图;
图4为本发明实施例提供的查看热点数据的数据信息的示意图;
图5为本发明实施例提供的查看热点数据的数据信息的另一示意图;
图6为本发明实施例提供的查看客户端的待检测数据的调用量分布情况的示意图;
图7为本发明实施例提供的查看热点数据的调用量分布情况的示意图;
图8为本发明实施例提供的查看任一热点数据的调用量的示意图;
图9为本发明实施例提供的配置中心、客户端、计算集群和控制台的交互示意图;
图10为本发明实施例提供的一种客户端的结构框图;
图11为本发明实施例提供的一种目标计算设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,目前在识别热点数据时,主要通过单台服务机器统计同一数据在单位时间内的访问量来确定该数据是否热点数据。但是在存在多台服务机器的情况下,数据会被分发到多台服务机器上,单台服务机器会由于统计某一数据的访问量达不到阈值而无法识别热点数据,此种识别热点数据的方式的识别准确率较差,与此同时,数据的统计工作也由服务机器进行,会占用服务机器的资源。
因此,本发明实施例提供一种热点数据的处理方法、客户端、目标计算设备及装置,客户端通过可用计算设备的设备数量和待检测数据的哈希值确定数据编号,将待检测数据发送给设备编号与数据编号一致的目标计算设备进行待检测数据的处理,保证相同的待检测数据发送至同一计算设备,并且不占用服务机器的资源来对待检测数据进行处理,以提高热点数据的识别准确率和节约服务机器的资源。
需要说明的是,本发明实施例中所涉及的客户端为诸如搜索服务系统和用户管理系统等系统的APP应用。
参见图1,示出了本发明实施例提供的一种热点数据的处理方法的流程图,该处理方法包括:
步骤S101:客户端按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定可用计算设备的设备数量及每一可用计算设备的设备编号。
需要说明的是,计算集群包含多个计算设备,由于网络和硬件设施的影响,例如网络出现故障和设备出现故障等影响,计算集群中的计算设备无法正常工作(也就是不可用),需要将无法正常工作的计算设备下线。因此客户端需周期性确定计算集群中各个计算设备的可用状态(例如每隔30秒确定一次),进而确定计算集群中的可用计算设备,以保证在后续数据处理中所使用的计算设备的状态为可用状态。
可以理解的是,预先通过控制台为客户端创建App功能并填写注册信息,利用配置中心为该客户端创建相应的规则配置信息,配置中心将该规则配置信息分别发送至该客户端和计算集群中的各个计算设备,该规则配置信息至少包括匹配规则(也称为key规则)和缓存规则。匹配规则用于对客户端的待检测数据(也就是用户访问或者请求的数据)进行匹配,缓存规则用于缓存热点数据。
为更好解释说明如何为客户端创建App功能并填写注册信息,以及解释说明配置中心为该客户端创建相应的规则配置信息的过程,通过以下过程A1至A3进行举例说明。
A1、控制台响应用户在控制台界面中的指令,创建客户端对应的APP功能和填写注册信息。如图2示出的创建APP功能的示意图,创建客户端的APP功能,并填写该客户端对应的“app名称”和“所属服务”等注册信息,即图2中客户端的APP名称为“index.video-web.test”,所属服务为“视频测试服务”,客户端的注册信息输入完成后,控制台响应用户点击“提交”按键的指令,完成创建APP功能的过程。
A2、配置中心为完成创建APP功能的客户端进行注册,并为该客户端创建规则配置信息。
A3、配置中心响应用户查看客户端的规则配置信息的指令,在可视化界面中展示客户端的规则配置信息的详情。如图3示出的规则配置信息的详情示意图,配置中心响应用户点击“规则配置”按键的指令,展示规则配置信息,图3所展示的内容至少包含客户端的所属APP、缓存规则和key规则,该key规则即为上述提及的匹配规则。
具体而言,通过编写代码的方式确定缓存规则和key规则的具体内容,为更好解释说明缓存规则和key规则,通过以下示例中的代码来对缓存规则和key规则的具体内容进行举例说明。需要说明的是,以下代码所示出的内容仅用于举例,可根据实际情况调整缓存规则和key规则的具体内容,也可通过其它编码方式来设置缓存规则和key规则的具体内容。
key规则所对应的代码为:
[
{
"key": "*",
"prefix":false,
"cacheName": "default",
"interval": 1,
"threshold": 100,
"enableLocalDetector":false,
"topkCount": 10,
"useTopKAsHotKey": false
}
]
在key规则所对应的代码中,各个参数变量所代表的含义如以下解释内容。
key:表示精确规则或前缀匹配规则,值为“*”时表示默认的保底规则。
prefix:表示是否开启前缀匹配规则,值为“false”表示匹配规则为精确规则,值为“true”表示匹配规则为前缀匹配规则。
cacheName:表示缓存规则的名称(name)。
interval:间隔时间,单位为秒。
threshold:用于判断待检测数据是否为热点数据的阈值。
enableLocalDetector:表示是否开启本地检测,默认值为“false”,当该值设置为“true”时,计算设备会将destQPS= threshold/ interval作为判断待检测数据是否为热点数据的阈值,将每秒查询率(Queries-per-second,qps)达到该阈值的待检测数据作为热点数据。
topkCount:统计访问量topK(上述代码中K为10)的待检测数据。
useTopKAsHotKey:表示是否将topK的待检测数据作为热点数据。
缓存规则所对应的代码为:
[
{
"name": "default",
"duration": 200,
"cacheSize": 10000
}
]
在缓存规则所对应的代码中,各个参数变量所代表的含义如以下解释内容。
name:表示缓存规则的名称。
duration:缓存时间,单位为秒。
cacheSize:所缓存的数据的最大数量。
例如:结合上述所示出的key规则和缓存规则的代码,此时key规则中的key的值为“*”,假设某一待检测数据与该key规则匹配且在1秒内的访问量为100次,则该待检测数据为热点数据,客户端将该热点数据缓存200秒。
又例如:将上述所示出的key规则的key的值设置为“api:vrs:video”,假设待检测数据为“api:vrs:video:1234”,通过前述提及的前缀匹配规则,该“api:vrs:video:1234”这一待检测数据则与该key规则相匹配,当“api:vrs:video:1234”这一待检测数据的访问量(或者说请求量)达到100条,则“api:vrs:video:1234”这一待检测数据可被判断为热点数据(热点数据可称为热key)。而假设待检测数据为“api:ugc:video”,则“api:ugc:video”这一待检测数据无法与该key规则相匹配。
综上,判断一待检测数据是否为热点数据需满足两个条件,其一为与预设的匹配规则(即key规则)相匹配,其二为:预设时长内访问量大于等于阈值(该阈值在key规则中配置)。
需要说明的是,匹配规则的数量为多个,且各个匹配规则的具体内容可根据实际情况进行设定。
可以理解的是,若需要使用新的缓存规则,则需先新建缓存规则,再将新建的缓存规则关联到对应的key规则。在修改或删除缓存规则时,需将key规则对应的缓存规则停用。
优选的,在执行步骤S101之前,客户端与配置中心建立连接(例如建立netty连接),客户端接收配置中心发送的规则配置信息,客户端注册来自控制台的热点数据事件监听。
在具体实现步骤S101的过程中,客户端按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定可用计算设备的设备数量及每一可用计算设备的设备编号。
在一些具体实施例中,客户端按照第一时间间隔(例如每隔30秒)更新计算集群中的设备信息(例如设备ip和设备数量等),更新计算集群中的设备信息后即可确定得到计算集群中的可用计算设备及其设备数量,以及确定得到各个可用计算设备的设备编号。
步骤S102:客户端按照预设的第二时间间隔,利用待检测数据的哈希值和设备数量确定待检测数据的数据编号,将待检测数据发送至目标计算设备。
需要说的是,目标计算设备为设备编号与数据编号一致的可用计算设备。
在具体实现步骤S102的过程中,客户端与计算集群中的可用计算设备建立连接(例如建立netty连接),客户端按照预设的第二时间间隔,利用所获取得到的待检测数据对应的哈希值和设备数量,确定该待检测数据的数据编号,并将待检测数据发送至目标计算设备(设备编号与该待检测数据的数据编号一致的可用计算设备)。也就是说,对于客户端所获取得到的每条待检测数据,按照预设的第二时间间隔,客户端确定该待检测数据的数据编号,并将该待检测数据发送至目标计算设备。例如:客户端每隔0.5秒,将所获取的所有待检测数据分别发送至各个待检测数据对应的目标计算设备。
可以理解的是,待检测数据为用户通过客户端所访问或者请求的数据,例如:假设客户端为搜索服务系统,用户在客户端的搜索栏内所输入的内容即为待检测数据,如用户在客户端的搜索栏内输入“体育比赛”,客户端所获取到的“体育比赛”这一内容即为待检测数据。
值得注意的是,各个客户端在将待检测数据发送至目标计算设备时,利用待检测数据的哈希值和可用计算设备的设备数量确定待检测数据的数据编号,并根据数据编号将各个待检测数据分别发送至与其对应的目标计算设备,可保证将同一内容的多条待检测数据发送到同一可用计算设备中。
在一些具体实施例中,客户端按照预设的第二时间间隔,对于每条待检测数据,客户端确定待检测数据的哈希值除以设备数量得到的余数(可表示为哈希值%设备数量),将所得到的余数作为该待检测数据的数据编号,客户端确定设备编号与数据编号一致的可用计算设备为目标计算设备,并将该待检测数据发送至该目标计算设备。通过以上方式,分别将各个待检测数据发送至与其对应的目标计算设备。
可以理解的是,对于每条待检测数据,该待检测数据除以设备数量所得到的余数,是一个“0”至“设备数量-1”的数字,假设可用计算设备的设备数量为5,一待检测数据的哈希值为123,则123%5=3,3这一余数介于0至4之间。
又例如:假设计算集群中存在10台可用计算设备,其各个可用计算设备的编号为0至9,假设“体育比赛”这一待检测数据的哈希值为123456789,则123456789%10=9,即“体育比赛”这一待检测数据的数据编号为9,将“体育比赛”这一待检测数据发送至编号为9的可用计算设备。也就是说,“体育比赛”这一待检测数据对应的目标计算设备为编号为9的可用计算设备。
通过以上方式,可保证具有相同内容的待检测数据发送到同一可用计算设备中。
可以理解的是,客户端将各个待检测数据分别发送至与其对应的目标计算设备之后,目标计算设备可通过匹配规则识别哪些待检测数据为热点数据并将热点数据推送给各个客户端。也就是说,对于计算集群中的每一可用计算设备,该可用计算设备都会识别自身所接收到的待检测数据中哪些待检测数据为热点数据,并将识别得到的热点数据推送给各个客户端,具体如何识别热点数据,详见以下步骤中的内容。
优选的,客户端接收任一可用计算设备发送的热点数据,按照缓存规则对热点数据进行缓存(如将热点数据缓存200秒)。也就是说,客户端监听并接收来自计算集群中的热点数据,并按照缓存规则对所接收到的热点数据进行缓存以用于后续业务需求。
步骤S103:目标计算设备获取预设时长内由客户端发送的待检测数据。
优选的,在具体实现步骤S103之前,目标计算设备(也就是计算集群中的任意可用计算设备)与配置中心建立连接(如建立netty连接),从配置中心中获取配置规则信息并注册事件监听,目标计算设备启动心跳机制,每隔一定时长(如每隔5秒)向配置中心上报设备信息。目标计算设备与控制台建立连接(如建立netty连接),每隔一定时长(如每隔30秒)更新控制台的地址信息。
需要说明的是,目标计算设备所获取的待检测数据的数据编号与目标计算设备的设备编号一致。
在具体实现步骤S103的过程中,目标计算设备获取预设时长内由所有客户端发送至自身的待检测数据,例如:目标计算设备获取1秒内由所有客户端发送到目标计算设备的所有待检测数据。
在一些具体实施例中,目标计算设备在获取预设时长内由所有客户端发送的待检测数据后,将所有获取到的待检测数据存放至数据队列中,并利用多线程的方式对该数据队列中的待检测数据进行处理,该处理过程为确定每条待检测数据与匹配规则是否相匹配。
步骤S104:目标计算设备确定与预设的匹配规则相匹配的待检测数据的匹配数量。
由上述内容可知,匹配规则为多个,在具体实现步骤S104的过程中,目标计算设备将每条待检测数据与各个匹配规则进行匹配,确定任一匹配规则匹配到的待检测数据的数量。
在一些具体实施例中,针对每一匹配规则,目标计算设备利用该匹配规则逐一对所获取的每条待检测数据进行匹配,并统计与该匹配规则相匹配的待检测数据的匹配数量,具体可通过滑动窗口算法(例如基于sentinel的滑动窗口算法)统计与该匹配规则相匹配的待检测数据的匹配数量。
以下通过过程B1至B2来解释如何统计与任一匹配规则相匹配的待检测数据的匹配数量。
以下以对一条待检测数据进行匹配为例进行举例说明。
B1、目标计算设备获取目标匹配规则(任一匹配规则),目标计算设备利用该目标匹配规则与待检测数据进行匹配。
B2、若该待检测数据与目标匹配规则相匹配,滑动窗口算法所对应的计数器加1。
通过以上过程B1和过程B2所示出的方式,确定与目标匹配规则相匹配的待检测数据的匹配数量。
可以理解的是,同一内容的待检测数据能匹配到相同的匹配规则,同一内容的待检测数据的匹配数量则可指示在预设时长内(如1秒内)该待检测数据的访问量(或者请求量)。
步骤S105:目标计算设备确定匹配数量大于阈值的待检测数据为热点数据。
由上述内容可知,对于每一匹配规则,可确定与该匹配规则相匹配的待检测数据的匹配数量,也就是说,可统计得到同一内容的待检测数据的数量(也就是匹配数量)。
在具体实现步骤S105的过程中,对于同一内容的待检测数据,目标计算设备确定该待检测数据对应的匹配数量是否大于阈值(该阈值的具体数值由与该待检测数据相匹配的匹配规则中确定),若该待检测数据对应的匹配数量大于阈值,目标计算设备确定该待检测数据为热点数据;若该待检测数据对应的匹配数量不大于阈值,目标计算设备确定该待检测数据不是热点数据。
通过以上方式,目标计算设备从所获取的所有待检测数据中识别出热点数据。
优选的,目标计算设备识别出热点数据之后,目标计算设备将热点数据发送至各个客户端,使各个客户端根据预设的缓存规则缓存热点数据以用于后续业务处理;目标计算设备将热点数据及其对应的数据信息发送至控制台,使控制台展示热点数据及其对应的数据信息,也就是说,在控制台端可展示热点数据和热点数据的数据信息。
由上述内容可知,待检测数据的匹配数量可指示该待检测数据在预设时长内的访问量,目标计算设备可收集各个可用计算设备所识别得到的热点数据及其对应的匹配数量(也就是访问量或请求量),目标计算设备按照预设周期(如每分钟)统计各个热点数据的访问量并进行排序,目标计算设备将访问量最高的K个热点数据进行存储,目标计算设备将热点数据的排序结果发送给控制台进行展示。
优选的,目标计算设备可以从调用量这一维度,来统计热点数据的调用量分布情况和统计待检测数据的调用量分布情况,调用量分布情况至少包含:数据数量、数据调用量和生存时间。目标计算设备将热点数据和待检测数据的调用量分布情况发送给控制台,使控制台展示热点数据和待检测数据的调用量分布情况。通过此方式,可用于辅助客户端发现业务数据的分布情况,并基于此改进缓存大小和过期时间。
在一些具体实施例中,控制台可展示客户端的热点数据的数据信息,如图4示出的查看热点数据的数据信息的示意图,控制台响应用户点击“实时热点”的命令,在界面中展示客户端的各个热点数据的数据信息,需要说明的是,图4中的热key即为热点数据,控制台也可响应用户的删除指令,该删除指令用于删除任意热点数据。如图5示出的查看热点数据的数据信息的另一示意图,控制台可响应用户点击如图4中任一热点数据的指令,向用户展示所点击的热点数据在客户端的数据信息。
需要说明的是,图4和图5所示出的内容仅用于举例说明。
在一些具体实施例中,控制台可展示客户端的待检测数据的调用量分布情况,如图6示出的查看客户端的待检测数据的调用量分布情况的示意图,控制台响应用户点击“调用量分布”的指令,在界面中展示客户端的待检测数据的调用量分布情况。
在一些具体实施例中,控制台可展示客户端的热点数据的调用量分布情况,如图7示出的查看热点数据的调用量分布情况的示意图,控制台响应用户点击“Topk热键”的指令,在界面中按小时这一粒度展示客户端的topK热点数据(访问量最高的K条热点数据)的调用量分布情况。
在一些具体实施例中,控制台可展示客户端任一待检测数据的调用量,如图8,示出了“localCache-CacheServicelmpl-getVidToTvld-6955189”这一热点数据的调用量的示意图,控制台响应用户的点击任一待检测数据的指令,展示所点击的待检测数据的调用量。
需要说明的是,图6至图8仅用于举例,且图6至图8中,热key表示热点数据,key表示客户端的待检测数据。
在本发明实施例中,客户端通过可用计算设备的设备数量和待检测数据的哈希值确定数据编号,将待检测数据发送给设备编号与数据编号一致的目标计算设备进行待检测数据的处理,保证相同的待检测数据发送至同一计算设备,并且不占用服务机器的资源来对待检测数据进行处理,提高热点数据的识别准确率和节约服务机器的资源。
为更好解释说明上述本发明实施例图1的内容,通过图9进行举例说明,参见图9,示出了本发明实施例提供的配置中心、客户端、计算集群和控制台的交互示意图,包括以下步骤:
需要说明的是,在图9中,配置中心为分布式配置中心,计算集群为分布式计算集群,client为客户端。
步骤1:控制台将规则配置推送至分布式配置中心。
需要说明的是,规则配置即为上述提及的规则配置信息。
步骤2:client监听规则配置和计算集群信息。
步骤3:client通过一致性hash算法,定时将待检测数据发送至分布式计算集群中的可用计算设备。
步骤4:分布式计算集群中的可用计算设备根据规则配置,从所接收到的待检测数据中识别出热点数据,并统计相关信息。
步骤5.1:分布式计算集群中的可用计算设备将识别得到的热点数据发送至client。
步骤5.2:分布式计算集群中的可用计算设备将识别得到的热点数据发送至控制台。
步骤6:client将热点数据缓存至内存中以用于进行相应处理。
与上述本发明实施例提供的一种热点数据的处理方法相对应,参见图10,本发明实施例还提供了一种客户端的结构框图,该客户端包括:确定单元101和处理单元102;
确定单元101,用于按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定可用计算设备的设备数量及每一可用计算设备的设备编号,计算集群包含多个计算设备。
处理单元102,用于按照预设的第二时间间隔,利用待检测数据的哈希值和设备数量确定待检测数据的数据编号,将待检测数据发送至目标计算设备,使目标计算设备根据预设的匹配规则判断待检测数据是否为热点数据,目标计算设备为设备编号与数据编号一致的可用计算设备。
在具体实现中,用于将待检测数据发送至目标计算设备的处理单元102,具体用于:按照预设的第二时间间隔,确定待检测数据的哈希值除以设备数量得到的余数,将余数作为待检测数据的数据编号;确定设备编号与数据编号一致的可用计算设备为目标计算设备,并将待检测数据发送至目标计算设备。
优选的,处理单元102还用于:接收任一可用计算设备发送的热点数据,按照缓存规则对热点数据进行缓存。
优选的,结合图10示出的内容,该客户端还包括:
接收单元,用于接收配置中心发送的规则配置信息,规则配置信息至少包括匹配规则和缓存规则。
在本发明实施例中,客户端通过可用计算设备的设备数量和待检测数据的哈希值确定数据编号,将待检测数据发送给设备编号与数据编号一致的目标计算设备进行待检测数据的处理,保证相同的待检测数据发送至同一计算设备,并且不占用服务机器的资源来对待检测数据进行处理,提高热点数据的识别准确率和节约服务机器的资源。
与上述本发明实施例提供的一种热点数据的处理方法相对应,参见图11,本发明实施例还提供了一种目标计算设备的结构框图,该目标计算设备为计算集群中的任意可用计算设备,该目标计算设备包括:获取单元201、第一确定单元202和第二确定单元203;
获取单元201,用于获取预设时长内由客户端发送的待检测数据,待检测数据的数据编号与目标计算设备的设备编号一致,数据编号由客户端根据待检测数据的哈希值和设备数量确定得到,设备数量为计算集群中的可用计算设备的数量。
第一确定单元202,用于确定与预设的匹配规则相匹配的待检测数据的匹配数量。
在具体实现中,第一确定单元202具体用于:利用预设的匹配规则,逐一对每一条待检测数据进行匹配,并统计与匹配规则相匹配的待检测数据的匹配数量。
第二确定单元203,用于确定匹配数量大于阈值的待检测数据为热点数据。
优选的,结合图11示出的内容,该目标计算设备还包括:
发送单元,用于将热点数据发送至客户端,使客户端根据预设的缓存规则缓存热点数据;以及将热点数据及其对应的数据信息发送至控制台,使控制台展示热点数据及其对应的数据信息。
优选的,结合图11示出的内容,该目标计算设备还包括:
处理单元,用于统计热点数据和待检测数据的调用量分布情况,调用量分布情况至少包含:数据数量、数据调用量和生存时间;将热点数据和待检测数据的调用量分布情况发送给控制台,使控制台展示热点数据和待检测数据的调用量分布情况。
在本发明实施例中,目标计算设备获取预设时长内有客户端发送的待检测数据,并根据预设的匹配规则从所获取的待检测数据中识别出热点数据,将热点数据分别发送至客户端和控制台。其中,客户端所发送的待检测数据的数据编号与目标计算设备的设备编号一致,保证所有客户端将相同的待检测数据发送至同一计算设备,不占用服务机器的资源来对待检测数据进行处理,提高热点数据的识别准确率和节约服务机器的资源。
与上述本发明实施例提供的一种热点数据的处理方法相对应,本发明实施例还提供了一种热点数据的处理装置,该处理装置包括:配置中心、客户端、目标计算设备和控制台,目标计算设备为计算集群中的任意可用计算设备;
配置中心,用于配置规则配置信息,并将规则配置信息发送至客户端和目标计算设备。
客户端,用于按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定可用计算设备的设备数量及每一可用计算设备的设备编号;按照预设的第二时间间隔,利用待检测数据的哈希值和设备数量确定待检测数据的数据编号,将待检测数据发送至目标计算设备,目标计算设备为设备编号与数据编号一致的可用计算设备。
目标计算设备,用于获取预设时长内由客户端发送的待检测数据;确定与预设的匹配规则相匹配的待检测数据的匹配数量;确定匹配数量大于阈值的待检测数据为热点数据。
控制台,用于展示目标计算设备发送的信息。
综上所述,本发明实施例提供一种热点数据的处理方法、客户端、目标计算设备及装置,客户端通过可用计算设备的设备数量和待检测数据的哈希值确定数据编号,将待检测数据发送给设备编号与数据编号一致的目标计算设备进行待检测数据的处理,保证相同的待检测数据发送至同一计算设备,并且不占用服务机器的资源来对待检测数据进行处理,提高热点数据的识别准确率和节约服务机器的资源。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种热点数据的处理方法,其特征在于,所述方法适用于客户端,所述方法包括:
按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定所述可用计算设备的设备数量及每一所述可用计算设备的设备编号,所述计算集群包含多个计算设备;
按照预设的第二时间间隔,利用待检测数据的哈希值和所述设备数量确定所述待检测数据的数据编号,将所述待检测数据发送至目标计算设备,使所述目标计算设备根据预设的匹配规则判断所述待检测数据是否为热点数据,所述目标计算设备为所述设备编号与所述数据编号一致的所述可用计算设备,其中,所述数据编号为所述待检测数据的哈希值除以所述设备数量所得到的余数,所述预设的第二时间间隔小于所述预设的第一时间间隔。
2.根据权利要求1所述的方法,其特征在于,所述按照预设的第二时间间隔,利用待检测数据的哈希值和所述设备数量确定所述待检测数据的数据编号,将所述待检测数据发送至目标计算设备,包括:
按照预设的第二时间间隔,确定待检测数据的哈希值除以所述设备数量得到的余数,将所述余数作为所述待检测数据的数据编号;
确定所述设备编号与所述数据编号一致的所述可用计算设备为目标计算设备,并将所述待检测数据发送至所述目标计算设备。
3.根据权利要求1所述的方法,其特征在于,按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备之前,还包括:
接收配置中心发送的规则配置信息,所述规则配置信息至少包括所述匹配规则和缓存规则。
4.根据权利要求3所述的方法,其特征在于,还包括:
接收任一所述可用计算设备发送的热点数据,按照所述缓存规则对所述热点数据进行缓存。
5.一种热点数据的处理方法,其特征在于,所述方法适用于目标计算设备,所述目标计算设备为计算集群中的任意可用计算设备,所述方法包括:
获取预设时长内由客户端发送的待检测数据,所述待检测数据的数据编号与目标计算设备的设备编号一致,所述数据编号为所述待检测数据的哈希值除以所述设备数量所得到的余数,所述设备数量为计算集群中的可用计算设备的数量;
确定与预设的匹配规则相匹配的所述待检测数据的匹配数量;
确定所述匹配数量大于阈值的所述待检测数据为热点数据。
6.根据权利要求5所述的方法,其特征在于,所述确定与预设的匹配规则相匹配的所述待检测数据的匹配数量,包括:
利用预设的匹配规则,逐一对每一条所述待检测数据进行匹配,并统计与所述匹配规则相匹配的所述待检测数据的匹配数量。
7.根据权利要求5所述的方法,其特征在于,确定所述匹配数量大于阈值的所述待检测数据为热点数据之后,还包括:
将所述热点数据发送至所述客户端,使所述客户端根据预设的缓存规则缓存所述热点数据;
将所述热点数据及其对应的数据信息发送至控制台,使所述控制台展示所述热点数据及其对应的数据信息。
8.根据权利要求5所述的方法,其特征在于,确定所述匹配数量大于阈值的所述待检测数据为热点数据之后,还包括:
统计所述热点数据和所述待检测数据的调用量分布情况,所述调用量分布情况至少包含:数据数量、数据调用量和生存时间;
将所述热点数据和所述待检测数据的调用量分布情况发送给控制台,使所述控制台展示所述热点数据和所述待检测数据的调用量分布情况。
9.一种客户端,其特征在于,所述客户端包括:
确定单元,用于按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定所述可用计算设备的设备数量及每一所述可用计算设备的设备编号,所述计算集群包含多个计算设备;
处理单元,用于按照预设的第二时间间隔,利用待检测数据的哈希值和所述设备数量确定所述待检测数据的数据编号,将所述待检测数据发送至目标计算设备,使所述目标计算设备根据预设的匹配规则判断所述待检测数据是否为热点数据,所述目标计算设备为所述设备编号与所述数据编号一致的所述可用计算设备,其中,所述数据编号为所述待检测数据的哈希值除以所述设备数量所得到的余数,所述预设的第二时间间隔小于所述预设的第一时间间隔。
10.一种目标计算设备,其特征在于,所述目标计算设备为计算集群中的任意可用计算设备,所述目标计算设备包括:
获取单元,用于获取预设时长内由客户端发送的待检测数据,所述待检测数据的数据编号与目标计算设备的设备编号一致,所述数据编号为所述待检测数据的哈希值除以所述设备数量所得到的余数,所述设备数量为计算集群中的可用计算设备的数量;
第一确定单元,用于确定与预设的匹配规则相匹配的所述待检测数据的匹配数量;
第二确定单元,用于确定所述匹配数量大于阈值的所述待检测数据为热点数据。
11.一种热点数据的处理装置,其特征在于,所述装置包括:配置中心、客户端、目标计算设备和控制台,所述目标计算设备为计算集群中的任意可用计算设备;
所述配置中心,用于配置规则配置信息,并将所述规则配置信息发送至所述客户端和所述目标计算设备;
所述客户端,用于按照预设的第一时间间隔,周期性确定计算集群中的可用计算设备,并确定所述可用计算设备的设备数量及每一所述可用计算设备的设备编号;按照预设的第二时间间隔,利用待检测数据的哈希值和所述设备数量确定所述待检测数据的数据编号,将所述待检测数据发送至所述目标计算设备;所述目标计算设备为所述设备编号与所述数据编号一致的所述可用计算设备,所述数据编号为所述待检测数据的哈希值除以所述设备数量所得到的余数,所述预设的第二时间间隔小于所述预设的第一时间间隔;
所述目标计算设备,用于获取预设时长内由所述客户端发送的待检测数据;确定与预设的匹配规则相匹配的所述待检测数据的匹配数量;确定所述匹配数量大于阈值的所述待检测数据为热点数据;
所述控制台,用于展示所述目标计算设备发送的信息。
CN202111068013.9A 2021-09-13 2021-09-13 热点数据的处理方法、客户端、目标计算设备及装置 Active CN113504881B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111068013.9A CN113504881B (zh) 2021-09-13 2021-09-13 热点数据的处理方法、客户端、目标计算设备及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111068013.9A CN113504881B (zh) 2021-09-13 2021-09-13 热点数据的处理方法、客户端、目标计算设备及装置

Publications (2)

Publication Number Publication Date
CN113504881A CN113504881A (zh) 2021-10-15
CN113504881B true CN113504881B (zh) 2021-12-24

Family

ID=78017017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111068013.9A Active CN113504881B (zh) 2021-09-13 2021-09-13 热点数据的处理方法、客户端、目标计算设备及装置

Country Status (1)

Country Link
CN (1) CN113504881B (zh)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473335B (zh) * 2013-09-18 2016-08-17 浪潮(北京)电子信息产业有限公司 一种热点数据检测方法及装置
US9823842B2 (en) * 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
CN106161637A (zh) * 2016-07-21 2016-11-23 广州杰赛科技股份有限公司 一种云备份方法及装置
CN107786586B (zh) * 2016-08-24 2019-11-05 腾讯科技(深圳)有限公司 业务的负载调度方法及装置
WO2020010503A1 (zh) * 2018-07-10 2020-01-16 深圳花儿数据技术有限公司 基于多层一致性哈希的分布式数据存储方法与系统
CN109286663A (zh) * 2018-09-14 2019-01-29 郑州云海信息技术有限公司 一种分布式系统业务分配方法、装置及设备
CN110569233A (zh) * 2019-06-30 2019-12-13 华为技术有限公司 一种热点数据的管理方法、装置及系统
CN111683144B (zh) * 2020-06-08 2022-06-17 北京字节跳动网络技术有限公司 一种访问请求处理的方法、装置、计算机设备及存储介质
CN112597158A (zh) * 2020-12-17 2021-04-02 平安普惠企业管理有限公司 数据匹配方法、装置、计算机设备和存储介质
CN112637368B (zh) * 2021-03-10 2021-05-14 江苏金恒信息科技股份有限公司 分布式工业数据采集系统及方法

Also Published As

Publication number Publication date
CN113504881A (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
CN108737333B (zh) 一种数据检测方法以及装置
CN109104336B (zh) 服务请求处理方法、装置、计算机设备及存储介质
CN107092544B (zh) 监控方法及装置
CN109299144B (zh) 一种数据处理方法、装置、系统及应用服务器
US20150120914A1 (en) Service monitoring system and service monitoring method
CN109495467B (zh) 拦截规则的更新方法、设备及计算机可读存储介质
CN112380473B (zh) 数据采集与同步方法、装置、设备及存储介质
CN105072139B (zh) 推荐方法和装置
CN107767153B (zh) 一种数据处理方法及装置
US20160379122A1 (en) Recommendation algorithm optimization method, device and system
CN111538563A (zh) 一种对Kubernetes的事件分析方法及装置
CN109086158B (zh) 一种异常原因分析方法、装置及服务器
CN111416883B (zh) 地址查询方法、装置、终端及计算机可读存储介质
CN111611519A (zh) 一种个人异常行为检测方法及装置
CN109978114B (zh) 数据处理方法、装置、服务器及存储介质
CN107943678B (zh) 一种评价应用访问过程的方法及评价服务器
CN113504881B (zh) 热点数据的处理方法、客户端、目标计算设备及装置
CN103916463B (zh) 一种网络访问统计分析方法及系统
CN104992060A (zh) 用户年龄估计方法及装置
CN110569114B (zh) 一种业务处理方法、装置、设备及存储介质
CN110543509A (zh) 用户访问数据的监控系统、方法、装置及电子设备
WO2023045434A1 (zh) 访问检测方法、系统及装置
CN110599321A (zh) 税务数据处理方法、装置、服务器及存储介质
CN110262955A (zh) 基于pinpoint的应用性能监控工具
CN106681894B (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
GR01 Patent grant
GR01 Patent grant