CN116431074A - 一种热点数据访问方法、装置、设备及介质 - Google Patents
一种热点数据访问方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116431074A CN116431074A CN202310437791.3A CN202310437791A CN116431074A CN 116431074 A CN116431074 A CN 116431074A CN 202310437791 A CN202310437791 A CN 202310437791A CN 116431074 A CN116431074 A CN 116431074A
- Authority
- CN
- China
- Prior art keywords
- data
- hot spot
- cache
- spot data
- preset
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 210000004899 c-terminal region Anatomy 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000009545 invasion Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种热点数据访问方法、装置、设备及介质,包括:基于预设热点数据规则检测缓存集群中的缓存数据,并将满足所述预设热点数据规则的缓存数据标识为热点数据;将所述热点数据分发至所述缓存集群中的所有节点上;当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。这样,在防止固定节点因访问量过高而故障的同时,能够避免对应用客户端的侵入,提升服务的稳定性以及降低成本。
Description
技术领域
本申请涉及热点数据处理技术领域,特别涉及一种热点数据访问方法、装置、设备及介质。
背景技术
在许多业务场景,例如,面向C端用户的互联网场景,某一博主正常状态下的数据,可能放在分布式缓存的某一个节点里,突然他随机的发布了一条信息,这时候可能大量的粉丝用户在短时间内集中访问他的信息数据,进而动态的形成一个热点数据,峰值访问QPS可能高于当前数据所在节点的峰值QPS的上限,当前的数据节点很有可能直接被打挂,进而影响整个分布式缓存集群对外输出的高性能和稳定性。
目前,常见的缓存热点数据解决方案,一般是需要被动手工的告知某一缓存数据是热点数据,之后和应用客户端需要强感知并做数据联动,把热点数据推送到应用客户端的本地缓存中,进而形成二级缓存,当高峰值流量过来时,应用客户端优先访问本地内存里的热点数据,若有数据就直接返回给用户,而不会把流量打到分布式缓存中,从而间接的解决了分布式缓存随机产生的热点数据的问题。这种解决方案,可以解决服务端缓存热点数据的问题,不过同时也带来些缺陷:第一:需要人工手动发现热点数据,并参与闭环操作,整体实效性欠佳,带来额外的人工维护成本和主动干预。第二:应用客户端需要强感知服务端缓存的热点数据的闭环处理能力,并需要引入额外的技术保证和应用侧集群里所有节点的数据一致性等复杂交互问题。第三:直接占用应用客户端的内存空间,并且需要支持过期策略等,对应用客户端来说耦合性太强,使用体验不友好。第四:若存在多个业务场景,各自的应用客户端都有类似的业务需求,他们都需要自己和服务端缓存互动配合实现,整体的有较多重复的工作量。
发明内容
有鉴于此,本申请的目的在于提供一种热点数据访问方法、装置、设备及介质,能够避免对应用客户端的侵入,提升服务的稳定性以及降低成本。其具体方案如下:
第一方面,本申请公开了一种热点数据访问方法,应用于服务端,包括:
基于预设热点数据规则检测缓存集群中的缓存数据,并将满足所述预设热点数据规则的缓存数据标识为热点数据;
将所述热点数据分发至所述缓存集群中的所有节点上;
当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。
可选的,所述基于预设热点数据规则检测缓存集群中的缓存数据,包括:
统计缓存数据的每秒查询率;
判断所述每秒查询率是否大于预设阈值,若所述每秒查询率大于所述预设阈值,则判定该缓存数据满足所述预设热点规则。
可选的,所述统计缓存数据的每秒查询率,包括:
利用在所述缓存集群中每个节点部署的预设异步线程统计缓存数据的每秒查询率。
可选的,所述缓存数据的存储形式为键值对形式,所述将满足所述预设热点数据规则的缓存数据标识为热点数据,包括:
将满足所述预设热点数据规则的缓存数据的键数据标识,以将键数据标识的缓存数据作为热点数据。
可选的,所述将所述热点数据分发至所述缓存集群中的所有节点上,包括:
根据标识的键数据读取该键数据对应的值数据,得到热点数据;
将所述热点数据分发至所述缓存集群中的所有节点上。
可选的,所述将所述热点数据分发至所述缓存集群中的所有节点上,包括:
利用预设异步写线程将所述热点数据分发至所述缓存集群中的所有节点上。
可选的,还包括:
当获取到写数据,则从所述缓存集群中确定出一个节点作为目标节点,并将所述写数据缓存至所述目标节点;
当获取到针对非热点数据的访问请求,则从所述缓存集群中确定所述非热点数据所在的节点,并从该节点读取所述非热点数据。
第二方面,本申请公开了一种热点数据访问装置,应用于服务端,包括:
热点数据检测模块,用于基于预设热点数据规则检测缓存集群中的缓存数据;
热点数据标识模块,用于将满足所述预设热点数据规则的缓存数据标识为热点数据;
热点数据分发模块,用于将所述热点数据分发至所述缓存集群中的所有节点上;
热点数据访问模块,用于当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。
第三方面,本申请公开了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的热点数据访问方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的热点数据访问方法。
可见,本申请在服务端基于预设热点数据规则检测缓存集群中的缓存数据,并将满足所述预设热点数据规则的缓存数据标识为热点数据;将所述热点数据分发至所述缓存集群中的所有节点上;当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。也即,本申请中,服务端检测缓存集群中的热点数据,并将热点数据分发至缓存集群中的所有节点,保持热点数据在所有节点间的一致性,当获取到针对热点数据的访问请求,负载均衡至缓存集群中的任意节点上,这样,在防止固定节点因访问量过高而故障的同时,能够避免对应用客户端的侵入,提升服务的稳定性以及降低成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种热点数据访问方法流程图;
图2为本申请实施例提供的一种普通缓存数据的正常访问流程示意图;
图3为本申请实施例提供的一种热点数据写流程示意图;
图4为本申请实施例提供的一种热点数据读流程示意图;
图5为本申请实施例提供的一种热点数据访问装置结构示意图;
图6为本申请实施例提供的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,常见的缓存热点数据解决方案,一般是需要被动手工的告知某一缓存数据是热点数据,之后和应用客户端需要强感知并做数据联动,把热点数据推送到应用客户端的本地缓存中,进而形成二级缓存,当高峰值流量过来时,应用客户端优先访问本地内存里的热点数据,若有数据就直接返回给用户,而不会把流量打到分布式缓存中,从而间接的解决了分布式缓存随机产生的热点数据的问题。这种解决方案,可以解决服务端缓存热点数据的问题,不过同时也带来些缺陷:第一:需要人工手动发现热点数据,并参与闭环操作,整体实效性欠佳,带来额外的人工维护成本和主动干预。第二:应用客户端需要强感知服务端缓存的热点数据的闭环处理能力,并需要引入额外的技术保证和应用侧集群里所有节点的数据一致性等复杂交互问题。第三:直接占用应用客户端的内存空间,并且需要支持过期策略等,对应用客户端来说耦合性太强,使用体验不友好。第四:若存在多个业务场景,各自的应用客户端都有类似的业务需求,他们都需要自己和服务端缓存互动配合实现,整体的有较多重复的工作量。为此,本申请提供了一种热点数据访问方案,能够避免对应用客户端的侵入,提升服务的稳定性以及降低成本。
参见图1所示,本申请实施例公开了一种热点数据访问方法,应用于服务端,包括:
步骤S11:基于预设热点数据规则检测缓存集群中的缓存数据,并将满足所述预设热点数据规则的缓存数据标识为热点数据。
其中,缓存集群为分布式缓存集群,可以为redis(即Remote Dictionary Server,远程字典服务,是一个高性能的key-value缓存服务器端中间件)集群。
在具体的实施方式中,可以统计缓存数据的每秒查询率;判断所述每秒查询率是否大于预设阈值,若所述每秒查询率大于所述预设阈值,则判定该缓存数据满足所述预设热点规则。
并且,可以利用在所述缓存集群中每个节点部署的预设异步线程统计缓存数据的每秒查询率。进一步的,可以利用在所述缓存集群中每个节点部署的预设异步线程统计缓存数据的每秒查询率,并利用大数据平台获取每个节点统计的缓存数据的每秒查询率,判断每秒查询率是否大于预设阈值,若每秒查询率大于预设阈值,则判定该缓存数据满足预设热点规则。
也即,服务端可以包括缓存集群和大数据平台。本申请实施例可以实现热点数据的动态发现,利用部署于每个节点的异步的不抢占正常的数据请求的处理资源,通过异步单独的统计线程,把经过访问的缓存数据,异步化通过队列消息,传输给Flink统计任务,实时的执行统计任务,并根据提前设置好的热点数据规则,筛选出满足规则的热点数据。
进一步的,所述缓存数据的存储形式为键值对形式,所述将满足所述预设热点数据规则的缓存数据标识为热点数据,包括:将满足所述预设热点数据规则的缓存数据的键数据标识,以将键数据标识的缓存数据作为热点数据。
步骤S12:将所述热点数据分发至所述缓存集群中的所有节点上。
在具体的实施方式中,可以根据标识的键数据读取该键数据对应的值数据,得到热点数据;将所述热点数据分发至所述缓存集群中的所有节点上。其中,可以根据标识的键数据从对应的节点中读取该键数据对应的值数据,得到热点数据。也即缓存数据正常存储于某一节点中。在具体的实施方式中,当获取到写数据,则从所述缓存集群中确定出一个节点作为目标节点,并将所述写数据缓存至所述目标节点。
并且,利用预设异步写线程将所述热点数据分发至所述缓存集群中的所有节点上。也即,本申请实施例利用单独的异步写热点数据处理线程,统一的将热点数据分发给redis集群的所有节点上,以保证集群的每一个节点都有一份相同key(键数据)的热点数据,并保证数据一致性。
步骤S13:当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。
另外,当获取到针对非热点数据的访问请求,则从所述缓存集群中确定所述非热点数据所在的节点,并从该节点读取所述非热点数据。
需要指出的是,普通缓存key数据正常的访问流程:如reids3.0,一共有16384个槽,若集群模式,平均分配给集群中的所有物理节点,一个普通缓存key数据的读访问流程是,首先通过CRC16(即Cyclic Redundancy Check 16,循环冗余检验算法16位)算法计算出散列值,然后取对16384的余数即为这个键的槽位,进而确定数据所在的数据节点。发起对目标节点的访问,通过相应的读命令,获取缓存key数据的值,所以相同的key的读请求会落在固定的某一个数据节点上,且无法通过水平扩展redis集群里的节点数量来此解决。例如,参见图2所示,图2为本申请实施例提供的一种普通缓存数据的正常访问流程示意图。而本申请实施例可以标识热点数据,利用单独的异步写热点数据处理线程,统一的将热点数据分发给redis集群的所有节点上,例如,参见图3所示,图3为本申请实施例提供的一种热点数据写流程示意图。进一步的,参见图4所示,图4为本申请实施例提供的一种热点数据读流程示意图。若当前标识为热key数据,则读数据访问流程是,首先针对标识为热key的数据,动态调整其数据访问的路由规则,从普通访问规则到集群的随机负载均衡规则,可以随机连接集群里的任意节点,这样,应用客户端对热点数据key的请求会根据新的访问数据规则,随机到redis集群的任意一台节点,由此固定单节点的热点数据访问请求就被动态调整到集群的多个节点乃至整个集群,一起参与负载均衡,从而在整个分布式缓存的服务端透明的解决了热点数据高峰值访问量带来的问题。这样,缓存服务端闭环实现,对应用客户端完全透明,不需要客户端做任何的修改,具有零侵入性,提升了服务的稳定性,提高了应用客户端使用服务端缓存的开发体验,降低了使用成本。
本申请所提供的方案可以应用在互联网电商和社交等可能随机突发峰值流量的场景,比如秒杀商品数据,秒杀活动数据,随机爆款直播数据等,以某用户突发热点数据为例,假设:分布式缓存集群有30个节点;每一个单数据节点访问的上限为2W的QPS(即Queries Per Second,每秒查询率);某一用户数据:用户-A数据,该用户日常的普通访问量1K的QPS;随机时间成为热点之后,峰值访问量3W的QPS。理论上:峰值访问量3W的QPS,固定到某一个节点(每一个单节点访问QPS的上限为2W的QPS),可能就直接把当前数据所在的节点打挂,进而影响整个分布式缓存集群的对外输出的性能和稳定性。
普通key数据正常访问:在用户-A数据,成为热点数据之前,和其他所有用户的普通数据一样,也都是随机平等的,因为上一秒,缓存系统本身并不清楚下一秒哪一位用户的数据可能突然从普通key数据转化为热点key数据,这个系统本身无法提前预知,完全取决于C端用户自己的社交行为,没有成为热点数据之前,当前用户-A数据,可能存储在分布式缓存的集群的某一个节点上,例如他通过常规的hash算法等,固定落到了3号节点上,日常的普通访问量1K的QPS,远低于单节点访问的上限为,这时一切访问正常。
突然用户-A数据,在某一个时间点的下一秒,发了一条数据,因为粉丝数量较多,随后的短时间内,大量的其他用户都去访问他的数据,他的A数据访问量QPS短时间一直上升,例如从日常的普通访问量1K的QPS,快速的上升,同时异步的热点数据动态识别服务,动态的检测到某一个key数据超过之前预先设置的阈值,例如:阀值设置为1.8W的QPS,阈值设置基本原则,需要低于单数据节点访问QPS的上限为2W的QPS,动态标识出用户-A数据为热点key数据。把动态标识出的热点key数据,启动单独写热点数据的技术流程:用单独的异步写热点数据处理线程,把当前的目标热key数据从之前固定落到的3号节点,获取出对应的值数据,之后统一再分发写入给redis集群的所有节点上,以保证集群的每一个节点都有一份相同的热点数据,保证整体数据一致性。
进一步的,告知整体的读数据流程服务,当前key数据已经被识别为热点key数据,需要走单独的读热点key数据访问技术流程:首先针对标识为热key的数据,动态调整其数据访问的路由规则,应用客户端对当前热点数据key的请求会根据新的访问数据规则,随机到redis集群的任意一台数据节点,这样固定单节点的热点数据访问请求,如单节点访问的上限为2W的QPS,就被动态调整负载均衡散列至集群的所有节点,如当前集群有30个节点,理论上可以承载:30*2W=60W的QPS远远大于当前热点数据峰值的访问量3W的QPS,这样就在整个分布式缓存的服务端透明自动闭环的解决了随机热点数据高峰值访问量的带来的一系列问题。
可见,本申请实施例在服务端基于预设热点数据规则检测缓存集群中的缓存数据,并将满足所述预设热点数据规则的缓存数据标识为热点数据;将所述热点数据分发至所述缓存集群中的所有节点上;当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。也即,本申请实施例中,服务端检测缓存集群中的热点数据,并将热点数据分发至缓存集群中的所有节点,保持热点数据在所有节点间的一致性,当获取到针对热点数据的访问请求,负载均衡至缓存集群中的任意节点上,这样,在防止固定节点因访问量过高而故障的同时,能够避免对应用客户端的侵入,提升服务的稳定性以及降低成本。
参见图5所示,本申请实施例公开了一种热点数据访问装置,应用于服务端,包括:
热点数据检测模块11,用于基于预设热点数据规则检测缓存集群中的缓存数据;
热点数据标识模块12,用于将满足所述预设热点数据规则的缓存数据标识为热点数据;
热点数据分发模块13,用于将所述热点数据分发至所述缓存集群中的所有节点上;
热点数据访问模块14,用于当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。
可见,本申请实施例在服务端基于预设热点数据规则检测缓存集群中的缓存数据,并将满足所述预设热点数据规则的缓存数据标识为热点数据;将所述热点数据分发至所述缓存集群中的所有节点上;当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。也即,本申请实施例中,服务端检测缓存集群中的热点数据,并将热点数据分发至缓存集群中的所有节点,保持热点数据在所有节点间的一致性,当获取到针对热点数据的访问请求,负载均衡至缓存集群中的任意节点上,这样,在防止固定节点因访问量过高而故障的同时,能够避免对应用客户端的侵入,提升服务的稳定性以及降低成本。
其中,热点数据检测模块11,具体包括:
每秒查询量统计子模块,用于统计缓存数据的每秒查询率。
热点数据判断模块,用于判断所述每秒查询率是否大于预设阈值,若所述每秒查询率大于所述预设阈值,则判定该缓存数据满足所述预设热点规则。
每秒查询量统计子模块,具体用于利用在所述缓存集群中每个节点部署的预设异步线程统计缓存数据的每秒查询率。
在一种实施方式中,所述缓存数据的存储形式为键值对形式,热点数据标识模块12,具体用于将满足所述预设热点数据规则的缓存数据的键数据标识,以将键数据标识的缓存数据作为热点数据。
在具体的实施方式中,热点数据分发模块13,具体用于根据标识的键数据读取该键数据对应的值数据,得到热点数据;将所述热点数据分发至所述缓存集群中的所有节点上。
在具体的实施方式中,热点数据分发模块13,具体用于利用预设异步写线程将所述热点数据分发至所述缓存集群中的所有节点上。
另外,所示装置还用于:
当获取到写数据,则从所述缓存集群中确定出一个节点作为目标节点,并将所述写数据缓存至所述目标节点;
当获取到针对非热点数据的访问请求,则从所述缓存集群中确定所述非热点数据所在的节点,并从该节点读取所述非热点数据。
参见图6所示,本申请实施例公开了一种电子设备20,包包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述实施例公开的热点数据访问方法。
关于上述热点数据访问方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述服务器20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的热点数据访问方法。
关于上述热点数据访问方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种热点数据访问方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种热点数据访问方法,其特征在于,应用于服务端,包括:
基于预设热点数据规则检测缓存集群中的缓存数据,并将满足所述预设热点数据规则的缓存数据标识为热点数据;
将所述热点数据分发至所述缓存集群中的所有节点上;
当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。
2.根据权利要求1所述的热点数据访问方法,其特征在于,所述基于预设热点数据规则检测缓存集群中的缓存数据,包括:
统计缓存数据的每秒查询率;
判断所述每秒查询率是否大于预设阈值,若所述每秒查询率大于所述预设阈值,则判定该缓存数据满足所述预设热点规则。
3.根据权利要求2所述的热点数据访问方法,其特征在于,所述统计缓存数据的每秒查询率,包括:
利用在所述缓存集群中每个节点部署的预设异步线程统计缓存数据的每秒查询率。
4.根据权利要求1所述的热点数据访问方法,其特征在于,所述缓存数据的存储形式为键值对形式,所述将满足所述预设热点数据规则的缓存数据标识为热点数据,包括:
将满足所述预设热点数据规则的缓存数据的键数据标识,以将键数据标识的缓存数据作为热点数据。
5.根据权利要求4所述的热点数据访问方法,其特征在于,所述将所述热点数据分发至所述缓存集群中的所有节点上,包括:
根据标识的键数据读取该键数据对应的值数据,得到热点数据;
将所述热点数据分发至所述缓存集群中的所有节点上。
6.根据权利要求1所述的热点数据访问方法,其特征在于,所述将所述热点数据分发至所述缓存集群中的所有节点上,包括:
利用预设异步写线程将所述热点数据分发至所述缓存集群中的所有节点上。
7.根据权利要求1至6任一项所述的热点数据访问方法,其特征在于,还包括:
当获取到写数据,则从所述缓存集群中确定出一个节点作为目标节点,并将所述写数据缓存至所述目标节点;
当获取到针对非热点数据的访问请求,则从所述缓存集群中确定所述非热点数据所在的节点,并从该节点读取所述非热点数据。
8.一种热点数据访问装置,其特征在于,应用于服务端,包括:
热点数据检测模块,用于基于预设热点数据规则检测缓存集群中的缓存数据;
热点数据标识模块,用于将满足所述预设热点数据规则的缓存数据标识为热点数据;
热点数据分发模块,用于将所述热点数据分发至所述缓存集群中的所有节点上;
热点数据访问模块,用于当获取到针对所述热点数据的访问请求,则基于预设负载均衡策略将所述访问请求负载至所述缓存集群中的任意节点上。
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的热点数据访问方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的热点数据访问方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310437791.3A CN116431074A (zh) | 2023-04-21 | 2023-04-21 | 一种热点数据访问方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310437791.3A CN116431074A (zh) | 2023-04-21 | 2023-04-21 | 一种热点数据访问方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116431074A true CN116431074A (zh) | 2023-07-14 |
Family
ID=87081321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310437791.3A Pending CN116431074A (zh) | 2023-04-21 | 2023-04-21 | 一种热点数据访问方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116431074A (zh) |
-
2023
- 2023-04-21 CN CN202310437791.3A patent/CN116431074A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11886731B2 (en) | Hot data migration method, apparatus, and system | |
CN109660607B (zh) | 一种业务请求分发方法、接收方法、装置及服务器集群 | |
CN111522636B (zh) | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 | |
CN104092650B (zh) | 一种分配业务请求的方法和装置 | |
CN109117275B (zh) | 基于数据分片的对账方法、装置、计算机设备及存储介质 | |
US20040267930A1 (en) | Slow-dynamic load balancing method and system | |
WO2008118608A1 (en) | File server pipeline with denial of service mitigation | |
CN112165436B (zh) | 流量控制方法、装置及系统 | |
US11856054B2 (en) | Quality of service (QOS) setting recommendations for volumes across a cluster | |
US11290565B2 (en) | Distributing requests for data among servers based on indicators of intent to access the data | |
CN107872517B (zh) | 一种数据处理方法及装置 | |
CN108512768B (zh) | 一种访问量的控制方法及装置 | |
EP3633519A1 (en) | Method for storing objects, and object store gateway | |
CN112416594A (zh) | 一种微服务分配方法、电子设备和计算机存储介质 | |
CN110838987B (zh) | 队列限流方法、存储介质 | |
CN111737027A (zh) | 分布式存储系统的Lookup处理方法、系统、终端及存储介质 | |
CN112698927B (zh) | 双向通信方法、装置、电子设备及机器可读存储介质 | |
CN115858419A (zh) | 元数据管理方法、装置、设备、服务器及可读存储介质 | |
CN116431074A (zh) | 一种热点数据访问方法、装置、设备及介质 | |
US10698758B2 (en) | Data transfer device, data transfer method, and non-transitory computer readable medium | |
CN116166181A (zh) | 一种云监控方法和云管理平台 | |
CN111193760B (zh) | 一种信息发送方法、装置及存储介质 | |
CN113672652A (zh) | 一种数据访问方法、装置、设备及存储介质 | |
CN111966694A (zh) | 一种后端数据存储空间的优化系统及方法 | |
CN114253455A (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 |