CN116719849A - 缓存处理方法、装置、终端设备以及存储介质 - Google Patents
缓存处理方法、装置、终端设备以及存储介质 Download PDFInfo
- Publication number
- CN116719849A CN116719849A CN202310671761.9A CN202310671761A CN116719849A CN 116719849 A CN116719849 A CN 116719849A CN 202310671761 A CN202310671761 A CN 202310671761A CN 116719849 A CN116719849 A CN 116719849A
- Authority
- CN
- China
- Prior art keywords
- cache
- preset
- application program
- cache processing
- program interface
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 175
- 238000012544 monitoring process Methods 0.000 claims description 30
- 230000005540 biological transmission Effects 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 abstract description 27
- RYYVLZVUVIJVGH-UHFFFAOYSA-N caffeine Chemical compound CN1C(=O)N(C)C(=O)C2=C1N=CN2C RYYVLZVUVIJVGH-UHFFFAOYSA-N 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- LPHGQDQBBGAPDZ-UHFFFAOYSA-N Isocaffeine Natural products CN1C(=O)N(C)C(=O)C2=C1N(C)C=N2 LPHGQDQBBGAPDZ-UHFFFAOYSA-N 0.000 description 9
- 229960001948 caffeine Drugs 0.000 description 9
- VJEONQKOZGKCAK-UHFFFAOYSA-N caffeine Natural products CN1C(=O)N(C)C(=O)C2=C1C=CN2C VJEONQKOZGKCAK-UHFFFAOYSA-N 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000003491 array Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000003139 buffering effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 239000002699 waste material Substances 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 241000508269 Psidium Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
- 238000011269 treatment regimen Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/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
-
- 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)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种缓存处理方法、装置、终端设备以及存储介质,其方法包括:根据预设的多级缓存架构,获取业务场景;根据所述业务场景,通过预设的过滤器,生成缓存处理策略;通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。本发明解决了缓存使用中业务场景动态伸缩的问题,减少了网络数据消耗,提高了缓存命中率和使用效率,提升了系统性能。
Description
技术领域
本发明涉及缓存技术领域领域,尤其涉及一种缓存处理方法、装置、终端设备以及存储介质。
背景技术
当前通过缓存进行业务处理时无法在运行高流量场景时优先保障核心业务的性能和稳定习性,导致在进行业务操作时会导致操作卡顿,引起客户不满;在低流量场景中缓存对业务的覆盖率低,在运行低流量场景时,无法使用高级缓存对业务进行处理,造成资源浪费;
且无法根据当前业务流量的使用大小,实现动态伸缩业务场景,缓存的命中率低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种缓存处理方法、装置、终端设备以及存储介质,旨在解决无法动态伸缩业务场景,缓存处理效率低的技术问题。
为实现上述目的,本发明提供一种缓存处理方法,所述缓存处理方法包括:
根据预设的多级缓存架构,获取业务场景;
根据所述业务场景,通过预设的过滤器,生成缓存处理策略;
通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;
将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。
可选的,所述根据预设的多级缓存架构,获取业务场景的步骤包括:
根据预设的多级缓存架构,获取一级缓存、二级缓存以及三级缓存;
将所述一级缓存中原有的应用程序接口数据进行删除;
根据所述二级缓存,通过预设的传输模式将预设的核心业务应用程序接口数据推送到所述一级缓存;
根据所述核心业务应用程序接口数据,通过预设的过滤器进行分析;
若分析结果为所述核心业务应用程序接口存在于预设的过滤器中,则将所述核心业务应用程序接口数据保存至所述一级缓存,生成第一业务场景;
根据所述二级缓存,通过所述核心业务应用程序接口以及预设的重要业务应用程序接口,生成第二业务场景;
根据所述三级缓存,通过所述核心业务应用程序接口、重要业务应用程序接口以及预设的普通业务应用程序接口,生成第三业务场景。
可选的,所述根据所述业务场景,通过预设的过滤器,生成缓存处理策略的步骤包括:
将所述第一业务场景、第二业务场景以及第三业务场景接口写入配置,生成配置文件一、配置文件二以及配置文件三;
根据所述配置文件一、配置文件二以及配置文件三,分别写入预设的过滤器,生成缓存处理策略一、缓存处理策略二以及缓存处理策略三。
可选的,所述将所述流量占比与预设的阈值进行比较,选取对应的缓存处理策略的步骤包括:
根据所述流量占比,通过预设的第一限流阈值以及第二限流阈值进行比较,获得比较结果;
若所述比较结果为所述流量占比小于所述第一限流阈值,则选取所述缓存处理策略三;
若所述比较结果为所述流量占比在所述第一限流阈值以上且小于所述第二限流阈值,则选取所述缓存处理策略二;
若所述比较结果为所述流量占比大于所述的第二限流阈值,则选取所述缓存处理策略一。
可选的,所述将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略的步骤之后还包括:
根据所述缓存处理策略,通过所述总应用程序接口输入预设的过滤器进行查询,获得查询结果;
根据所述查询结果,获取使用所述一级缓存的应用程序接口。
可选的,所述根据所述查询结果,获取使用预设的一级缓存的应用程序接口的步骤之后还包括:
通过预设的监控机制,监测预设的数据源中的数据;
当所述数据源中的数据发生变更时,将变更的数据同步到所述三级缓存;
通过所述三级缓存,将所述变更的数据同步到所述二级缓存;
根据所述二级缓存,通过预设的传输模式将所述变更的数据同步到所述一级缓存。
可选的,所述通过所述三级缓存,将所述变更的数据同步到所述二级缓存的步骤包括:
通过预设的监控机制,监测所述二级缓存以及三级缓存;
若所述二级缓存中密钥的数量与所述三级缓存中的密钥数量不相等,则拉取所述三级缓存中的数据同步到所述二级缓存。
本发明实施例还提出一种缓存处理装置,所述缓存处理装置包括:
获取模块,用于根据预设的多级缓存架构,获取业务场景;
生成模块,用于根据预设的业务场景,通过预设的过滤器,生成缓存处理策略;
计算模块,用于通过滑动窗口算法,获取系统最大流量中应用程序接口的流量占比;
选取模块,用于将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。
本发明实施例还提出了一种终端设备所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的缓存处理程序,所述缓存处理程序被所述处理器执行时实现如上所述的缓存处理方法的步骤。
本发明实施例还提出了一种计算机可读存储介质,所述计算机可读存储介质上存储有缓存处理程序,所述缓存处理程序被处理器执行时实现如上所述的缓存处理方法的步骤。
本发明实施例提出的一种缓存处理方法、装置、终端设备以及存储介质,根据预设的多级缓存架构,获取业务场景;根据所述业务场景,通过预设的过滤器,生成缓存处理策略;通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。由此,实现了高流量场景优先保障核心业务的性能和稳定习性、低流量场景中提高缓存业务覆盖率以及动态伸缩业务场景,解决了无法动态伸缩业务场景,缓存处理效率低的问题,提高了缓存对业务的处理效率。
附图说明
图1为本发明缓存处理装置所属终端设备的功能模块示意图;
图2为本发明缓存处理方法一示例性实施例的流程示意图;
图3为本发明缓存处理方法另一示例性实施例的流程示意图;
图4为本发明缓存处理方法涉及多级缓存的示意图;
图5为本发明缓存处理方法涉及传输模型的示意图;
图6为本发明缓存处理方法另一示例性实施例的流程示意图;
图7为本发明缓存处理方法涉及生成缓存处理策略的示意图;
图8为本发明缓存处理方法另一示例性实施例的流程示意图;
图9为本发明缓存处理方法涉及选取缓存处理策略的示意图;
图10为本发明缓存处理方法另一示例性实施例的流程示意图;
图11为本发明缓存处理方法涉及获取使用一级缓存的应用程序接口的示意图;
图12为本发明缓存处理方法另一示例性实施例的流程示意图;
图13为本发明缓存处理方法中涉及三级缓存数据同步的示意图;
图14为本发明缓存处理方法涉及数据同步的流程示意图;
图15为本发明缓存处理方法涉及二级缓存与三级缓存数据同步的示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:根据预设的多级缓存架构,获取一级缓存、二级缓存以及三级缓存;将所述一级缓存中原有的应用程序接口数据进行删除;根据所述二级缓存,通过预设的传输模式将预设的核心业务应用程序接口数据推送到所述一级缓存;根据所述核心业务应用程序接口数据,通过预设的过滤器进行分析;若分析结果为所述核心业务应用程序接口存在于预设的过滤器中,则将所述核心业务应用程序接口数据保存至所述一级缓存,生成第一业务场景;根据所述二级缓存,通过所述核心业务应用程序接口以及预设的重要业务应用程序接口,生成第二业务场景;根据所述三级缓存,通过所述核心业务应用程序接口、重要业务应用程序接口以及预设的普通业务应用程序接口,生成第三业务场景。将所述第一业务场景、第二业务场景以及第三业务场景接口写入配置,生成配置文件一、配置文件二以及配置文件三;根据所述配置文件一、配置文件二以及配置文件三,分别写入预设的过滤器,生成缓存处理策略一、缓存处理策略二以及缓存处理策略三。根据所述流量占比,通过预设的第一限流阈值以及第二限流阈值进行比较,获得比较结果;若所述比较结果为所述流量占比小于所述第一限流阈值,则选取所述缓存处理策略三;若所述比较结果为所述流量占比在所述第一限流阈值以上且小于所述第二限流阈值,则选取所述缓存处理策略二;若所述比较结果为所述流量占比大于所述的第二限流阈值,则选取所述缓存处理策略一。根据所述缓存处理策略,通过所述总应用程序接口输入预设的过滤器进行查询,获得查询结果;根据所述查询结果,获取使用所述一级缓存的应用程序接口。通过预设的监控机制,监测预设的数据源中的数据;当所述数据源中的数据发生变更时,将变更的数据同步到所述三级缓存;通过所述三级缓存,将所述变更的数据同步到所述二级缓存;根据所述二级缓存,通过预设的传输模式将所述变更的数据同步到所述一级缓存。通过预设的监控机制,监测所述二级缓存以及三级缓存;若所述二级缓存中密钥的数量与所述三级缓存中的密钥数量不相等,则拉取所述三级缓存中的数据同步到所述二级缓存。从而解决了无法动态伸缩业务场景,缓存处理效率低的问题,实现了高流量场景优先保障核心业务的性能和稳定习性、低流量场景中提高缓存业务覆盖率以及动态伸缩业务场景,提高了缓存对业务的处理效率。
基于本发明方案,从真实世界的缓存处理中存在无法动态伸缩业务场景,缓存处理效率低的问题出发,结合缓存处理策略,设计了一种缓存处理方法,并在实际缓存处理上验证了本发明的缓存处理方法的有效性,最后经过本发明方法进行缓存处理的效率得到了明显提升。
本发明实施例涉及的技术术语:
Caffeine:Caffeine是一个基于Java 8的高性能本地缓存框架,采用了W-TinyLFU(LUR和LFU的优点结合)算法,实现了缓存高命中率、内存低消耗,缓存性能接近理论最优,属于是Guava Cache的增强版,在并发读、并发写、并发读写三个场景下Caffeine的性能最优。
Redis:redis是一个高性能的key-value数据库,它是完全开源免费的,而且redis是一个NOSQL类型数据库,是为了解决高并发、高扩展,大数据存储等一系列的问题而产生的数据库解决方案,是一个非关系型的数据库,但是,它也是不能替代关系型数据库,只能作为特定环境下的扩充,redis是一个以key-value存储的数据库结构型服务器,它支持的数据结构类型包括:字符串(String)、链表(lists)、哈希表(hash)、集合(set)、有序集合(Zset)等,为了保证读取的效率,redis把数据对象都存储在内存当中,它可以支持周期性的把更新的数据写入磁盘文件中,而且它还提供了交集和并集,以及一些不同方式排序的操作。
ES:全称ElasticSearch,是一个基于Lucene的搜索服务器,ElasticSearch作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速的对大数据进行存储,搜索和分析,ElasticSearch是基于Java开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。
MongoDB:是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统,其在高负载的情况下,添加更多的节点,可以保证服务器性能,MongoDB旨在为WEB应用提供可扩展的高性能数据存储解决方案,MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成,MongoDB文档类似于JSON对象,字段值可以包含其他文档,数组及文档数组。
布隆过滤器:布隆过滤器(Bloom Filter)是一种空间效率很高的判重数据结构,它的作用是用于快速判断一个元素是否在一个集合中,它通常被用于去重、过滤垃圾数据等场景,布隆过滤器是一个很长的二进制位数组和一组哈希函数,当要判断一个元素是否在集合中时,首先通过哈希函数对该元素进行哈希,然后再根据哈希结果去检查二进制位数组上的对应位置是否为1,布隆过滤器有一个误判率,即在一个元素不在集合中的情况下,布隆过滤器可能会认为该元素在集合中,因此布隆过滤器并不是一个百分之百正确的判重数据结构,但是,它在空间效率和时间效率上都优于其他数据结构,因此布隆过滤器在许多实际应用中都得到了广泛的使用。
滑动窗口算法:滑动窗口算法是一种常用的算法,用于解决一些字符串或数组的子串或子序列问题,它的基本思想是维护一个窗口,窗口大小可以根据问题的要求进行调整,然后在窗口内进行操作,直到找到符合要求的解,或者窗口滑到最后一个位置,在滑动窗口算法中,每次移动窗口时只需要改变窗口左右边界即可,这样可以避免重复计算和枚举,提高算法效率,常见的应用包括最小子数组、最大子数组、最长不含重复字符的子串等问题。
pub/sub模式:pub/sub模式是消息通讯的一种,它和消息队列在一定程度上有相似之处,pub/sub模式通过订阅与发布模式来解耦两个相互依赖的模块,消息发送者面向特定主题发送消息,而不是面向特定订阅者发送消息,订阅者也是,是通过订阅感兴趣的主题,接受感兴趣的主题发来的消息,通过彼此之间不相互依赖,而是通过中间主题来使两个紧耦合的模块解耦,不必关系对端是否订阅,或者是否修改订阅关系。
看门狗:看门狗(Watchdog)是一种硬件或软件机制,用于监视系统的工作状态,以便在系统出现故障或错误时进行重启、恢复或报警,它通常由一个计时器和一个计数器组成,计时器会定期向计数器发送信号,如果计数器无法在规定时间内响应,则表示系统出现故障或错误,看门狗会触发重启或报警等操作,以确保系统的稳定性和可靠性,看门狗可以应用于各种嵌入式系统、服务器、网络设备等场景,是一种常用的系统保护机制。
本发明实施例考虑到,相关技术进行缓存处理时,无法在高流量场景优先保障核心业务的性能和稳定习性,无法在低流量场景中提高缓业务覆盖率,无法动态伸缩业务场景,缓存命中率低。
因此,本发明实施例,从真实世界的缓存处理中存在无法动态伸缩业务场景,缓存处理效率低的问题出发,结合缓存处理策略,设计了一种缓存处理方法,并在实际缓存处理上验证了本发明的缓存处理方法的有效性,最后经过本发明方法进行缓存处理的效率得到了明显提升。
具体地,参照图1,图1为本发明缓存处理装置所属终端设备的功能模块示意图。该缓存处理装置可以为独立于终端设备的、能够进行缓存处理的装置,其可以通过硬件或者软件的形式承载于终端设备上。该终端设备可以为手机、平板电脑等具有数据处理功能的智能移动设备,还可以为具有数据处理功能的固定终端设备或服务器等。
在本实施例中,该安全防护装置所属终端设备至少包括输出模块110、处理器120、存储器130以及通信模块140。
存储器130中存储有操作系统以及缓存处理程序,缓存处理装置可以根据预设的多级缓存架构,获取业务场景;根据所述业务场景,通过预设的过滤器,生成缓存处理策略;通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。通过该缓存处理装置进行处理,得到缓存处理结果等信息存储于该存储器130中;输出模块110可为显示屏等。通信模块140可以包括WI F I模块、移动通信模块以及蓝牙模块等,通过通信模块140与外部设备或服务器进行通信。
其中存储器130中的缓存处理程序被处理器执行时实现以下步骤:
根据预设的多级缓存架构,获取业务场景;
根据所述业务场景,通过预设的过滤器,生成缓存处理策略;
通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;
将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。
进一步地,存储器130中的缓存处理程序被处理器执行时还实现以下步骤:
根据预设的多级缓存架构,获取一级缓存、二级缓存以及三级缓存;
将所述一级缓存中原有的应用程序接口数据进行删除;
根据所述二级缓存,通过预设的传输模式将预设的核心业务应用程序接口数据推送到所述一级缓存;
根据所述核心业务应用程序接口数据,通过预设的过滤器进行分析;
若分析结果为所述核心业务应用程序接口存在于预设的过滤器中,则将所述核心业务应用程序接口数据保存至所述一级缓存,生成第一业务场景;
根据所述二级缓存,通过所述核心业务应用程序接口以及预设的重要业务应用程序接口,生成第二业务场景;
根据所述三级缓存,通过所述核心业务应用程序接口、重要业务应用程序接口以及预设的普通业务应用程序接口,生成第三业务场景。
进一步地,存储器130中的缓存处理程序被处理器执行时还实现以下步骤:
将所述第一业务场景、第二业务场景以及第三业务场景接口写入配置,生成配置文件一、配置文件二以及配置文件三;
根据所述配置文件一、配置文件二以及配置文件三,分别写入预设的过滤器,生成缓存处理策略一、缓存处理策略二以及缓存处理策略三。
进一步地,存储器130中的缓存处理程序被处理器执行时还实现以下步骤:
根据所述流量占比,通过预设的第一限流阈值以及第二限流阈值进行比较,获得比较结果;
若所述比较结果为所述流量占比小于所述第一限流阈值,则选取所述缓存处理策略三;
若所述比较结果为所述流量占比在所述第一限流阈值以上且小于所述第二限流阈值,则选取所述缓存处理策略二;
若所述比较结果为所述流量占比大于所述的第二限流阈值,则选取所述缓存处理策略一。
进一步地,存储器130中的缓存处理程序被处理器执行时还实现以下步骤:
根据所述缓存处理策略,通过所述总应用程序接口输入预设的过滤器进行查询,获得查询结果;
根据所述查询结果,获取使用所述一级缓存的应用程序接口。
进一步地,存储器130中的缓存处理程序被处理器执行时还实现以下步骤:
通过预设的监控机制,监测预设的数据源中的数据;
当所述数据源中的数据发生变更时,将变更的数据同步到所述三级缓存;
通过所述三级缓存,将所述变更的数据同步到所述二级缓存;
根据所述二级缓存,通过预设的传输模式将所述变更的数据同步到所述一级缓存。
进一步地,存储器130中的缓存处理程序被处理器执行时还实现以下步骤:
通过预设的监控机制,监测所述二级缓存以及三级缓存;
若所述二级缓存中密钥的数量与所述三级缓存中的密钥数量不相等,则拉取所述三级缓存中的数据同步到所述二级缓存。
本实施例通过上述方案,具体通过根据预设的多级缓存架构,获取业务场景;根据所述业务场景,通过预设的过滤器,生成缓存处理策略;通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。基于缓存处理策略进行缓存处理,可以解决无法动态伸缩业务场景,缓存处理效率低的问题。基于本发明方案,从真实世界的缓存处理中存在无法动态伸缩业务场景,缓存处理效率低的问题出发,结合缓存处理策略,设计了一种缓存处理方法,并在实际缓存处理上验证了本发明的缓存处理方法的有效性,最后经过本发明方法进行缓存处理的效率得到了明显提升。
基于上述终端设备架构但不限于上述架构,提出本发明方法实施例。
参照图2,图2为本发明缓存处理方法一示例性实施例的流程示意图。所述缓存处理方法包括:
步骤S01,根据预设的多级缓存架构,获取业务场景;
本实施例方法的执行主体可以是一种缓存处理装置,也可以是一种缓存处理终端设备或服务器,本实施例以缓存处理装置进行举例,该缓存处理装置可以集成在具有数据处理功能终端设备上。
为了能将缓存能进行对应业务的使用,采取以下步骤:
首先,根据系统中的多级缓存架构,获得三种级别的缓存,其中,三种级别的缓存,对应的对业务的处理效果不同,一级缓存也指的是本地缓存,具有最好的处理效果和响应速度,对应的是核心业务,二级缓存处理业务的效果比一级缓存略差,但覆盖的范围会比较高,对应的是重要业务,三级缓存作为二级缓存的数据保底方案,保证了数据查询服务的高可用性,对应的是普通业务。
最后,根据三种级别的缓存,以及对应的业务,对其应用的场景进行归类,一级场景对应的是核心业务,目的是为了保障核心业务的高处理以及反馈效果,二级场景对应的是核心业务以及重要业务,指的是当业务流量进行适中的流量场景时,一级缓存同时支持核心业务以及重要业务的运行,而三级场景对应的是核心业务、重要业务以及普通业务,三级场景对应的是业务流量在较低的情况下,一级缓存对应的支持核心业务、重要业务以及普通业务的进行。
步骤S02,根据所述业务场景,通过预设的过滤器,生成缓存处理策略;
在获取到业务场景后,为了设置处理策略,采取以下步骤实现:
首先,获取三个级别对应的业务场景,其中,每个级别对应的业务场景都对应着不同流量情形下本地缓存的使用策略;
然后,将每个业务场景的接口写入配置文件中,获得三个对应的配置文件;
然后,将配置文件写入布隆过滤器中,使布隆过滤器能够在后续的策略选取中,识别出对应的应用程序接口;
最后,一级场景对应生成策略一,在高流量运行情况下,一级缓存只对核心业务进行优先处理,二级场景对应生成策略二,在适中流量运行情况下,一级缓存对核心业务以及重要业务进行处理,提高业务的覆盖率,三级场景对应生成策略三,在低流量运行情况下,一级缓存对核心业务、重要业务以及普通业务都进行处理,利于业务的高效进行,避免缓存资源的浪费。
步骤S03,通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;
在获取到的缓存处理策略后,为了对流量场景进行判断,采用一下步骤实现:
首先,使用滑动窗口算法,统计得到当前正在进行业务处理的应用程序接口所使用的流量,其中,滑动窗口算法是一种常用的算法,用于解决一些字符串或数组的子串或子序列问题,常见的应用包括最小子数组、最大子数组、最长不含重复字符的子串等问题;
然后,通过压力测试获得最大流量的并发能力;
最后,使用应用程序的使用流量值,与最大流量值进行比对,获得,当前进行业务处理的应用程序接口流量在系统最大流量中的占比。
步骤S04,将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。
在获取到流量占比后,为了选取对应的缓存处理策略,采取以下步骤实现:
首先,使用流量占比与限流阈值进行比较,获得比较结果,其中,限流阈值使根据使用者进行设置的,可以根据业务需求进行调节,也可以根据当前业务的热门程度进行调节;
然后,根据获取的比较结果,选取对应的缓存处理策略对当前的业务进行处理,其中,当面对高流量场景时,优先保障核心业务的处理,面对适中流量场景时,优先保障核心以及重要业务,面对低流量场景时,应该提高缓存的覆盖率,对核心、重要以及普通业务都使用一级缓存进行处理。
本实施例通过上述方案,具体通过根据预设的多级缓存架构,获取业务场景;根据所述业务场景,通过预设的过滤器,生成缓存处理策略;通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。由此,解决了无法动态伸缩业务场景,缓存处理效率低的问题,实现了高流量场景优先保障核心业务的性能和稳定习性、低流量场景中提高缓存业务覆盖率以及动态伸缩业务场景,提高了缓存对业务的处理效率。
参照图3,图3为本发明缓存处理方法另一示例性实施例的流程示意图。
基于上述图2所示的实施例,所述步骤S01,根据预设的多级缓存架构,获取业务场景的步骤包括:
步骤S011,根据预设的多级缓存架构,获取一级缓存、二级缓存以及三级缓存;
步骤S012,将所述一级缓存中原有的应用程序接口数据进行删除;
步骤S013,根据所述二级缓存,通过预设的传输模式将预设的核心业务应用程序接口数据推送到所述一级缓存;
步骤S014,根据所述核心业务应用程序接口数据,通过预设的过滤器进行分析;
步骤S015,若分析结果为所述核心业务应用程序接口存在于预设的过滤器中,则将所述核心业务应用程序接口数据保存至所述一级缓存,生成第一业务场景;
步骤S016,根据所述二级缓存,通过所述核心业务应用程序接口以及预设的重要业务应用程序接口,生成第二业务场景;
步骤S017,根据所述三级缓存,通过所述核心业务应用程序接口、重要业务应用程序接口以及预设的普通业务应用程序接口,生成第三业务场景。
具体地,为了实现对应场景与对应业务的映射,采取以下步骤实现:
首先,根据系统的多级缓存架构,获取得到一级缓存、二级缓存以及三级缓存,如图4所示,图4为本发明缓存处理方法涉及多级缓存的示意图,使用MongDB作为数据库系统,在高负载的情况下,添加更多的节点,可以保证服务器的性能,三级缓存指代的是ES,可以快速的对大数据进行存储、搜索和分析,二级缓存指的是Redis,是一个NOSQL类型的数据库,可以解决高并发、高拓展,大数据存储等一系列的问题,一级缓存也可以成为本地缓存,本实施例中指的为Caffeine,其实现了缓存高命中率以及内存低消耗,其缓存性能接近理论最优,在并发读、并发写以及并发读写三个场景下,性能最优;
然后,对一级缓存中原有的应用程序接口数据进行删除,根据业务的调整,将一些业务在一级缓存中进行删除,方便后续针对核心业务的应用程序接口的添加;
然后,通过二级缓存,将要加入一级缓存的核心业务应用程序接口数据推送至一级缓存,其中,运用的方式为pub/sub模式,如图5所示,图5为本发明缓存处理方法涉及传输模型的示意图,pub/sub模式是消息通讯的一种,它和消息队列在一定程度上有相似之处,pub/sub模式通过订阅与发布模式来解耦两个相互依赖的模块,消息发送者面向特定主题发送消息,而不是面向特定订阅者发送消息,订阅者也是,是通过订阅感兴趣的主题,接受感兴趣的主题发来的消息;
然后,通过布隆过滤器对一级缓存接收到的应用程序接口数据进行分析,若得到的结果为应用程序接口存在于布隆过滤器中,则将核心业务应用程序接口数据保存到一级缓存中,并设定数据的过期时间,从而生成了第一业务场景,其中,当应用程序接口不存在于布隆过滤器中时,则忽略本次的数据变更。
然后,将核心业务应用程序接口以及重要业务应用程序接口保存至二级缓存中,生成第二业务场景;
最后,将核心业务应用程序接口、重要业务应用程序接口以及普通业务应用程序接口都保存至三级缓存中,生成第三业务场景。
进一步地,在本实施例中,主要的目的是为了实现多级场景针对不同业务的搭建,主要体现在一级场景中,一级缓存只对核心业务进行优先处理,二级场景中,一级缓存同时对核心业务以及重要业务进行处理,而三级场景中,以及缓存同时对核心业务、重要业务以及普通业务进行处理,其中,在本实施例中,一级缓存的处理场景以及业务进行了限定,而在实际使用中,应当认定是可调节的,例如缓存的级别以及业务的级别。
本实施例通过上述方案,具体通过根据预设的多级缓存架构,获取一级缓存、二级缓存以及三级缓存;将所述一级缓存中原有的应用程序接口数据进行删除;根据所述二级缓存,通过预设的传输模式将预设的核心业务应用程序接口数据推送到所述一级缓存;根据所述核心业务应用程序接口数据,通过预设的过滤器进行分析;若分析结果为所述核心业务应用程序接口存在于预设的过滤器中,则将所述核心业务应用程序接口数据保存至所述一级缓存,生成第一业务场景;根据所述二级缓存,通过所述核心业务应用程序接口以及预设的重要业务应用程序接口,生成第二业务场景;根据所述三级缓存,通过所述核心业务应用程序接口、重要业务应用程序接口以及预设的普通业务应用程序接口,生成第三业务场景。由此,解决了无法动态伸缩业务场景,缓存处理效率低的问题,实现了高流量场景优先保障核心业务的性能和稳定习性、低流量场景中提高缓存业务覆盖率以及动态伸缩业务场景,提高了缓存对业务的处理效率。
参照图6,图6为本发明缓存处理方法另一示例性实施例的流程示意图。
基于上述图2所示的实施例,所述步骤S02,根据所述业务场景,通过预设的过滤器,生成缓存处理策略的步骤包括:
步骤S021,将所述第一业务场景、第二业务场景以及第三业务场景接口写入配置,生成配置文件一、配置文件二以及配置文件三;
步骤S022,根据所述配置文件一、配置文件二以及配置文件三,分别写入预设的过滤器,生成缓存处理策略一、缓存处理策略二以及缓存处理策略三。
具体地,为了实现业务场景有对应的缓存处理策略,采取以下步骤实现:
首先,将第一业务场景、第二业务场景以及第三业务场景的接口写入配置文件中,生成配置文件一、配置文件二以及配置文件三,其中。第一业务场景对应的存储有核心业务应用程序接口,第二业务场景存储有核心业务应用程序接口以及重要业务应用程序接口,第三业务场景存储有核心业务应用程序接口、重要业务应用程序接口以及普通业务应用程序接口,通过写入配置的方式,使业务场景对应用程序接口起到汇总作用,减少资源的浪费;
最后,将配置文件一、配置文件二以及配置文件三分别写入布隆过滤器中,生成缓存处理策略一、二以及三。
更具体地,如图7所示,图7为本发明缓存处理方法涉及生成缓存处理策略的示意图,在业务场景分级完成后,将一级场景通过配置的方式加入布隆过滤器中,生成缓存处理策略一,将二级场景通过配置的方式加入布隆过滤器中,生成缓存处理策略二,将三级场景通过配置的方式加入布隆过滤器中,生成缓存处理策略三。
本实施例通过上述方案,具体通过将所述第一业务场景、第二业务场景以及第三业务场景接口写入配置,生成配置文件一、配置文件二以及配置文件三;根据所述配置文件一、配置文件二以及配置文件三,分别写入预设的过滤器,生成缓存处理策略一、缓存处理策略二以及缓存处理策略三。实现了缓存处理策略的生成,解决了缓存处理不同进行动态处理的问题,提高了缓存处理的效率。
参照图8,图8为本发明缓存处理方法另一示例性实施例的流程示意图。
基于上述图2所示的实施例,所述步骤S04,将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略的步骤包括:
步骤S041,根据所述流量占比,通过预设的第一限流阈值以及第二限流阈值进行比较,获得比较结果;
步骤S042,若所述比较结果为所述流量占比小于所述第一限流阈值,则选取所述缓存处理策略三;
步骤S043,若所述比较结果为所述流量占比在所述第一限流阈值以上且小于所述第二限流阈值,则选取所述缓存处理策略二;
步骤S044,若所述比较结果为所述流量占比大于所述的第二限流阈值,则选取所述缓存处理策略一。
具体地,为了实现对缓存处理策略的选取,采取以下步骤实现:
首先,根据预先获取的流量占比,通过第一限流阈值以及第二限流阈值进行比较,获得比较结果,其中,流量占比的大小,是根据当前正在进行的应用程序决定的,会根据实际流量占比的变更,对缓存处理策略进行选取,是具有动态性的,而第一限流阈值以及第二限流阈值也是用户可以进行调整的,在本实施例中,第一限流阈值小于第二限流阈值,在其他实施例中,也可以为相反情况。
然后,若得出的比较结果为流量占比小于第一限流阈值,则认为当前的流量为低流量场景,使用缓存处理策略三进行缓存处理,即使用一级缓存对当前的所有业务进行处理;
然后,若得出的比较结果为流量占比大于或等于第一限流阈值且小于第二限流阈值,则认为当前的流量为适中流量场景,使用缓存处理策略二进行缓存处理,即一级缓存保障核心业务以及重要业务的处理;
最后,若得出的比较结果为流量占比大于或等于第二限流阈值,则认为当前的流量为高流量场景,使用缓存处理策略一进行缓存处理,即一级缓存只保障核心业务的处理。
更具体地,如图9所示,图9为本发明缓存处理方法涉及选取缓存处理策略的示意图。首先通过滑动窗口计算得到当前系统的tps,即每秒执行的事务数量,也可以理解为流量,再通过流量就算得到流量在最大系统流量中的占比,若未达到流量阈值A(即上述的流量阈值1),则执行策略三,若达到了流量阈值A,则使用流量占比与流量阈值B(即上述的流量阈值2)进行比对,若未达到流量阈值B,则执行策略二,若达到了流量阈值B,则执行策略一。
本实施例通过上述方案,具体通过根据所述流量占比,通过预设的第一限流阈值以及第二限流阈值进行比较,获得比较结果;若所述比较结果为所述流量占比小于所述第一限流阈值,则选取所述缓存处理策略三;若所述比较结果为所述流量占比在所述第一限流阈值以上且小于所述第二限流阈值,则选取所述缓存处理策略二;若所述比较结果为所述流量占比大于所述的第二限流阈值,则选取所述缓存处理策略一。由此,实现了缓存处理策略的选取,解决了缓存处理时无法实现缓存的动态处理,提高了缓存处理的效率。
参照图10,图10为本发明缓存处理方法另一示例性实施例的流程示意图。
基于上述图2所示的实施例,所述步骤S04,根据所述流量占比,通过预设的阈值进行比较,选取对应的缓存处理策略的步骤之后,所述缓存处理方法还包括:
步骤S05,根据所述缓存处理策略,通过所述总应用程序接口输入预设的过滤器进行查询,获得查询结果;
步骤S06,根据所述查询结果,获取使用所述一级缓存的应用程序接口。
具体地,选取完对应的缓存处理策略后,为了获取当前能使用一级缓存的应用程序接口,采取以下步骤实现:
首先,根据选取的缓存处理策略,判断查询应用程序接口,获得查询结果,其中,查询应用程序接口,运用的是布隆过滤器,布隆过滤器是一种空间效率很高的判重数据结构,它的作用是用于快速判断一个元素是否在一个集合中,它通常被用于去重、过滤垃圾数据等场景;
最后,根据布隆过滤器的判断结果,可以获取得到当前使用一级缓存的应用程序接口。
更具体地,如图11所示,图11为本发明缓存处理方法涉及获取使用一级缓存的应用程序接口的示意图。
首先,将应用程序接口输入布隆过滤器中进行查询,若不存在,则输入redis(即二级缓存)进行查询,若存在,则输入进行Caddeine(即一级缓存)进行查询;
然后,在Caffeine中的查询结果若为存在,则返回,即输出结果为应用程序使用一级缓存,若查询结果为不存在,则输入至redis进行查询;
然后,在redis中的查询结果若为不存在,则继续查询ES(即三级缓存),若存在则推送到一级缓存,并再次使用布隆过滤器进行查询;
然后,在ES中的查询结果若为不存在,则返回,即输出结果为应用程序接口不使用一级缓存,若查询结果为存在,则将数据存入redis中,并推送到一级缓存,并再次使用布隆过滤器进行查询;
最后,根据布隆过滤器,对Caffenine进行再一次的验证,若通过Redis传输至Caffenine的数据传输正常,则验证结果为存在随后将应用程序接口存入Caffeine,并返回,输出结果为应用程序使用一级缓存,若数据传输不正常,布隆过滤器验证不到,则返回,输出结果为应用程序不使用一级缓存。
本实施例通过上述方案,具体通过根据所述缓存处理策略,通过所述总应用程序接口输入预设的过滤器进行查询,获得查询结果;根据所述查询结果,获取使用所述一级缓存的应用程序接口。实现了使用一级缓存应用程序接口的查询,解决了缓存处理效率低的问题,提高了缓存处理的效率。
参照图12,图12为本发明缓存处理方法另一示例性实施例的流程示意图。
基于上述图10所示的实施例,所述步骤S06,根据所述查询结果,获取使用所述一级缓存的应用程序接口的步骤之后,所述缓存处理方法还包括:
步骤S07,通过预设的监控机制,监测预设的数据源中的数据;
步骤S08,当所述数据源中的数据发生变更时,将变更的数据同步到所述三级缓存;
步骤S09,通过所述三级缓存,将所述变更的数据同步到所述二级缓存;
步骤S10,根据所述二级缓存,通过预设的传输模式将所述变更的数据同步到所述一级缓存。
具体地,为了实现三级缓存数据的同步,采取以下步骤实现:
首先,对数据源中的数据进行监测,获取数据变更的信息;
然后,若收到了数据变更的信息,则将变更的数据同步到三级缓存中;
然后,二级缓存通过监测的方式,获取到三级缓存中变更的数据,并将其拉取到二级缓存中;
最后,二级缓存通过pub/sub模式将更新的数据同步到一级缓存中。
更具体地,如图13所示,图13为本发明缓存处理方法中涉及三级缓存数据同步的示意图。
首先,在本实施例中,有两种数据同步的方案,分别是全量同步,即数据每天在一个固定的时段,将数据全量同步到三级缓存,再从三级缓存同步到二级缓存中,另外一种则为增量更新,即对数据源MongoDB中的数据变更通过监测策略,若有变更,则对二级缓存以及三级缓存相应进行同步。
然后,也可采用二者结合的方式,即图13所示,在每日的凌晨都将数据源的数据同步到三级缓存,再从三级缓存同步到二级缓存。
最后,监测数据源中的数据变更情况,若无变更,则持续监测,若发生数据变更,则将数据源中的数据同步到三级缓存,再从三级缓存同步到二级缓存,其中,全量同步的时间可以为用户所更改。
本实施例通过上述方案,具体通过预设的监控机制,监测预设的数据源中的数据;当所述数据源中的数据发生变更时,将变更的数据同步到所述三级缓存;通过所述三级缓存,将所述变更的数据同步到所述二级缓存;根据所述二级缓存,通过预设的传输模式将所述变更的数据同步到所述一级缓存。实现了缓存中的数据同步,解决了在缓存使用中因为数据不同步导致的处理速度慢的问题,提高了缓存处理效率。
参照图14,图14为本发明缓存处理方法涉及数据同步的流程示意图。
基于上述图12所示的实施例,所述步骤S09,通过所述三级缓存,将所述变更的数据同步到所述二级缓存的步骤包括:
步骤S091,通过预设的监控机制,监测所述二级缓存以及三级缓存;
步骤S092,若所述二级缓存中密钥的数量与所述三级缓存中的密钥数量不相等,则拉取所述三级缓存中的数据同步到所述二级缓存。
具体地,为了使三级缓存的数据同步到二级缓存,采用以下步骤实现:
首先,通过看门狗任务监测二级缓存和三级缓存中的密钥数量是否相同,其中,看门狗是一种硬件或软件机制,用于监视系统的工作状态,以便在系统出现故障或错误时进行重启、恢复或报警,它通常由一个计时器和一个计数器组成,计时器会定期向计数器发送信号,如果计数器无法在规定时间内响应,则表示系统出现故障或错误,看门狗会触发重启或报警等操作,以确保系统的稳定性和可靠性,看门狗可以应用于各种嵌入式系统、服务器、网络设备等场景,是一种常用的系统保护机制。
最后,当三级缓存与二级缓存中的密钥数量不相同时,二级缓存发出数据同步,主动拉取ES中的数据同步到二级缓存中。
更具体地,参照图15,图15为本发明缓存处理方法涉及二级缓存与三级缓存数据同步的示意图,通过看门狗任务对二级缓存以及三级缓存的数据进行监测,若数据没有发生变化,则继续执行监测,若发生变化,则执行数据同步。
本实施例通过上述方案,具体通过预设的监控机制,监测所述二级缓存以及三级缓存;若所述二级缓存中密钥的数量与所述三级缓存中的密钥数量不相等,则拉取所述三级缓存中的数据同步到所述二级缓存。实现了缓存之间的数据同步,解决了在缓存使用中因为数据不同步导致的处理速度慢的问题,提高了缓存处理效率。
此外,本发明实施例还提出一种缓存处理装置,所述缓存处理装置包括:
获取模块,用于根据预设的多级缓存架构,获取业务场景;
生成模块,用于根据预设的业务场景,通过预设的过滤器,生成缓存处理策略;
计算模块,用于通过滑动窗口算法,获取系统最大流量中应用程序接口的流量占比;
选取模块,将根据所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。
此外,本发明实施例还提出一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的缓存处理程序,所述缓存处理程序被所述处理器执行时实现如上所述的缓存处理方法的步骤。
由于本缓存处理程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有缓存处理程序,所述缓存处理程序被处理器执行时实现如上所述的缓存处理方法的步骤。
由于本缓存处理程序被处理器执行时,采用了前述所有实施例的全部技术方案,因此至少具有前述所有实施例的全部技术方案所带来的所有有益效果,在此不再一一赘述。
相比现有技术,本发明实施例提出的缓存处理方法、装置、终端设备以及存储介质,根据预设的多级缓存架构,获取业务场景;根据所述业务场景,通过预设的过滤器,生成缓存处理策略;通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。从而解决了无法动态伸缩业务场景,缓存处理效率低的问题,实现了高流量场景优先保障核心业务的性能和稳定习性、低流量场景中提高缓存业务覆盖率以及动态伸缩业务场景。基于本发明方案,从真实世界的缓存处理中存在无法动态伸缩业务场景,缓存处理效率低的问题出发,结合缓存处理策略,设计了一种缓存处理方法,并在实际缓存处理上验证了本发明的缓存处理方法的有效性,最后经过本发明方法进行缓存处理的效率得到了明显提升。
和现有的技术相比,本发明实施例方案具有以下优点:
1、高流量场景优先保障核心业务的性能和稳定性;
2、低流量场景中提高缓业务覆盖率;
3、动态伸缩业务场景,提高缓存命中率.
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,被控终端,或者网络设备等)执行本发明每个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种缓存处理方法,其特征在于,所述缓存处理方法包括以下步骤:
根据预设的多级缓存架构,获取业务场景;
根据所述业务场景,通过预设的过滤器,生成缓存处理策略;
通过滑动窗口算法,获取系统最大流量中总应用程序接口的流量占比;
将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。
2.根据权利要求1所述的缓存处理方法,其特征在于,所述根据预设的多级缓存架构,获取业务场景的步骤包括:
根据预设的多级缓存架构,获取一级缓存、二级缓存以及三级缓存;
将所述一级缓存中原有的应用程序接口数据进行删除;
根据所述二级缓存,通过预设的传输模式将预设的核心业务应用程序接口数据推送到所述一级缓存;
根据所述核心业务应用程序接口数据,通过预设的过滤器进行分析;
若分析结果为所述核心业务应用程序接口存在于预设的过滤器中,则将所述核心业务应用程序接口数据保存至所述一级缓存,生成第一业务场景;
根据所述二级缓存,通过所述核心业务应用程序接口以及预设的重要业务应用程序接口,生成第二业务场景;
根据所述三级缓存,通过所述核心业务应用程序接口、重要业务应用程序接口以及预设的普通业务应用程序接口,生成第三业务场景。
3.根据权利要求1所述的缓存处理方法,其特征在于,所述根据所述业务场景,通过预设的过滤器,生成缓存处理策略的步骤包括:
将所述第一业务场景、第二业务场景以及第三业务场景接口写入配置,生成配置文件一、配置文件二以及配置文件三;
根据所述配置文件一、配置文件二以及配置文件三,分别写入预设的过滤器,生成缓存处理策略一、缓存处理策略二以及缓存处理策略三。
4.根据权利要求3所述的缓存处理方法,其特征在于,所述将所述流量占比与预设的阈值进行比较,选取对应的缓存处理策略的步骤包括:
根据所述流量占比,通过预设的第一限流阈值以及第二限流阈值进行比较,获得比较结果;
若所述比较结果为所述流量占比小于所述第一限流阈值,则选取所述缓存处理策略三;
若所述比较结果为所述流量占比在所述第一限流阈值以上且小于所述第二限流阈值,则选取所述缓存处理策略二;
若所述比较结果为所述流量占比大于所述的第二限流阈值,则选取所述缓存处理策略一。
5.根据权利要求4所述的缓存处理方法,其特征在于,所述将根据所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略的步骤之后还包括:
根据所述缓存处理策略,通过所述总应用程序接口输入预设的过滤器进行查询,获得查询结果;
根据所述查询结果,获取使用所述一级缓存的应用程序接口。
6.根据权利要求5所述的缓存处理方法,其特征在于,所述根据所述查询结果,获取使用预设的一级缓存的应用程序接口的步骤之后还包括:
通过预设的监控机制,监测预设的数据源中的数据;
当所述数据源中的数据发生变更时,将变更的数据同步到所述三级缓存;
通过所述三级缓存,将所述变更的数据同步到所述二级缓存;
根据所述二级缓存,通过预设的传输模式将所述变更的数据同步到所述一级缓存。
7.根据权利要求6所述的缓存处理方法,其特征在于,所述通过所述三级缓存,将所述变更的数据同步到所述二级缓存的步骤包括:
通过预设的监控机制,监测所述二级缓存以及三级缓存;
若所述二级缓存中密钥的数量与所述三级缓存中的密钥数量不相等,则拉取所述三级缓存中的数据同步到所述二级缓存。
8.一种缓存处理装置,其特征在于,所述缓存处理装置包括:
获取模块,用于根据预设的多级缓存架构,获取业务场景;
生成模块,用于根据预设的业务场景,通过预设的过滤器,生成缓存处理策略;
计算模块,用于通过滑动窗口算法,获取系统最大流量中应用程序接口的流量占比;
选取模块,用于将所述流量占比与预设的限流阈值进行比较,选取对应的缓存处理策略。
9.一种终端设备,其特征在于,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的缓存处理程序,所述缓存处理程序被所述处理器执行时实现如权利要求1-7中任一项所述的缓存处理方法的步骤。
10.一种计算器可读存储介质,其特征在于,所述计算机可读存储介质上存储有缓存处理程序,所述缓存处理程序被处理器执行时实现如权利要求1-7中任一项所述的缓存处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310671761.9A CN116719849A (zh) | 2023-06-07 | 2023-06-07 | 缓存处理方法、装置、终端设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310671761.9A CN116719849A (zh) | 2023-06-07 | 2023-06-07 | 缓存处理方法、装置、终端设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116719849A true CN116719849A (zh) | 2023-09-08 |
Family
ID=87865396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310671761.9A Pending CN116719849A (zh) | 2023-06-07 | 2023-06-07 | 缓存处理方法、装置、终端设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116719849A (zh) |
-
2023
- 2023-06-07 CN CN202310671761.9A patent/CN116719849A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11263262B2 (en) | Indexing a dataset based on dataset tags and an ontology | |
US8140495B2 (en) | Asynchronous database index maintenance | |
EP3234780B1 (en) | Detecting lost writes | |
US9672235B2 (en) | Method and system for dynamically partitioning very large database indices on write-once tables | |
US8407186B1 (en) | Systems and methods for data-selection-specific data deduplication | |
US10262050B2 (en) | Distributed database systems and methods with pluggable storage engines | |
US20230125566A1 (en) | Long string pattern matching of aggregated account data | |
US11474990B2 (en) | Priority queue for exclusive locks | |
US8166261B1 (en) | Systems and methods for seeding a fingerprint cache for data deduplication | |
US8527556B2 (en) | Systems and methods to update a content store associated with a search index | |
US9418094B2 (en) | Method and apparatus for performing multi-stage table updates | |
US20060235909A1 (en) | Database page mirroring | |
US9442858B2 (en) | Solid state drives as a persistent cache for database systems | |
US20130275468A1 (en) | Client-side caching of database transaction token | |
US8793288B2 (en) | Online access to database snapshots | |
EP2562657B1 (en) | Management of update transactions and crash recovery for columnar database | |
WO2017166815A1 (zh) | 一种用于分布式数据库系统的更新数据的方法及装置 | |
US8965879B2 (en) | Unique join data caching method | |
US20080005077A1 (en) | Encoded version columns optimized for current version access | |
US11210212B2 (en) | Conflict resolution and garbage collection in distributed databases | |
US20160275134A1 (en) | Nosql database data validation | |
EP3258377A1 (en) | Replication of log-structured data | |
CN116719849A (zh) | 缓存处理方法、装置、终端设备以及存储介质 | |
US11741103B1 (en) | Database management systems using query-compliant hashing techniques | |
CN116756191A (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 |