基于应用系统的数据缓存方法及其装置、设备、介质制造方法及图纸

技术编号:36350718 阅读:36 留言:0更新日期:2023-01-14 18:06
本发明专利技术公开了一种基于应用系统的数据缓存方法及其装置、设备、介质,其中基于应用系统的数据缓存方法包括:监测内存数据库中各个键值的访问频次;所述键值包括数据;获取所述访问频次超过频次阈值的键值的数据集合;并将所述数据集合存储至本地缓存中;在需要读取当前数据时,从所述本地缓存中获取;若在所述本地缓存中未获取所述当前数据,则从内存数据库中获取;若在所述内存数据库中未获取所述当前数据,则从应用数据库中获取。本发明专利技术提供的技术方案,可解决信息系统在交易量增大时响应延迟和数据访问效率低的问题。和数据访问效率低的问题。和数据访问效率低的问题。

【技术实现步骤摘要】
基于应用系统的数据缓存方法及其装置、设备、介质


[0001]本专利技术涉及软件测试
,尤其涉及一种基于应用系统的数据缓存方法及其装置、设备、介质。

技术介绍

[0002]第三方支付机构(如支付宝、财付通)通过转接机构(网联、银联)与银行对接,而对接的银行系统通常称为快捷支付系统(以下简称快捷系统)。由于与支付宝、财付通对接时,快捷系统需要7*24连续服务、且交易量极大,任何的系统抖动都会受到网联、银联的关注。
[0003]快捷系统在进行交易处理时,必然会涉及到数据的读写操作,如果每次读写都是操作数据库,随着交易量增大,数据库会面临越来越大的压力,当交易峰值出现时,数据库也就成了信息系统的瓶颈,可能会导致交易缓慢、响应超时,严重时甚至会引起雪崩效应,导致系统瘫痪。例如,当遇到购物节、红包雨这种特殊时刻,交易量出现峰值,则会出现交易缓慢、响应延迟的问题,降低快捷系统的可靠性。

技术实现思路

[0004]本专利技术实施例提供了一种基于应用系统的数据缓存方法及其装置、设备、介质,以解决信息系统在交易量增大时响应延迟和数据访问效率低的问题。
[0005]第一方面,本专利技术实施例提供了一种基于应用系统的数据缓存方法,包括:
[0006]监测内存数据库中各个键值的访问频次;所述键值包括数据;
[0007]获取所述访问频次超过频次阈值的键值的数据集合;并将所述数据集合存储至本地缓存中;
[0008]在需要读取当前数据时,从所述本地缓存中获取;若在所述本地缓存中未获取所述当前数据,则从内存数据库中获取;若在所述内存数据库中未获取所述当前数据,则从应用数据库中获取。
[0009]第二方面,本专利技术实施例还提供了一种基于应用系统的数据缓存装置,包括:
[0010]数据库监控模块,用于监测内存数据库中各个键值的访问频次;所述键值包括数据;获取所述访问频次超过频次阈值的键值的数据集合;并将所述数据集合存储至本地缓存中;
[0011]数据读取模块,用于在需要读取当前数据时,从所述本地缓存中获取;若在所述本地缓存中未获取所述当前数据,则从内存数据库中获取;若在所述内存数据库中未获取所述当前数据,则从应用数据库中获取。
[0012]第三方面,本专利技术实施例还提供了一种计算机设备,所述设备包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本专利技术任意实施例所述的基于应用系统的数据缓存方法。
[0013]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现本专利技术任意实施例所述的基于应用系统
的数据缓存方法。
[0014]本专利技术中,通过本地缓存、内存数据库和应用数据库的多级缓存的方案减少应用数据库的压力,具体的,通过监控读取内存数据库中各个键值的访问频次,并将访问频率较高的键值的数据形成集合,并将数据集合存储至本地缓存,在读取数据的过程中,按照本地缓存、内存数据库、应用数据库的优先级顺序对当前数据进行查找获取。则本实施例选择性的将热门数据有限存储于本地缓存,既能够提高热门数据的访问效率,又能够避免本地缓存的满载,并有效缓解应用数据库压力,避免内存数据库访问失效的问题。此外,在用户需要读取数据时,若能够在本地缓存获取,则能够直接读取数据,不需要对应用数据库进行操作,若在本地缓存无法找到,则通过内存数据库读取数据,而在本地缓存和内存数据库均无法读取当前数据时,通过应用数据库获取。本实施例将数据访问按照优先级分流,有效降低应用数据库的操作压力,并提高读取效率,进而提高系统性能。
附图说明
[0015]图1为本专利技术实施例提供的一种基于应用系统的数据缓存方法的流程图;
[0016]图2为本专利技术实施例提供的数据读取方法流程示意图;
[0017]图3为本专利技术实施例提供的另一种基于应用系统的数据缓存方法的流程图;
[0018]图4为本专利技术实施例提供的一种基于应用系统的数据缓存装置的结构示意图;
[0019]图5为本专利技术实施例提供的另一种基于应用系统的数据缓存装置的结构示意图;
[0020]图6为本专利技术实施例提供的一种计算机设备的结构示意图。
具体实施方式
[0021]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0022]本实施例中,应用系统具有客户端展示某种特定类型的网络应用数据的功能。例如,游戏应用系统、新闻应用系统、购物应用系统以及银行系统等。上述应用系统在某些时段存在数据处理高峰期,例如,对于银行系统,存在交易高峰期,交易高峰期时,会进行大量的数据读写操作,应用数据库面临较大的压力。本实施例为了应对超大交易量的场景,有效缓解数据库的压力,增设了内存数据库,内存数据库相比于传统的应用数据库将数据放在磁盘上进行管理,内存数据库是将数据放在内存中直接操作的,常见的有Redis、Memcached等,其中,Redis是一个开源的、基于内存的数据结构存储器,可遵守伯克利软件套件(Berkeley Software Distribution,BSD)协议,是一个高性能的Key(关键字)

Value(值)数据库,也即,键值数据库,Redis通常被称为数据结构服务器,因为其值(Value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型的数据。本实施例中,把需要读取的数据缓存到性能更高的内存数据库中,读取时可先从内存数据库中读取,以减少数据库的压力,并提高读取效率。
[0023]本实施例还设置本地缓存,则本实施例中本地缓存和内存数据库形成多级缓存,从而最大限度减少数据库的读取压力,从而实现了应用系统在高并发场景下的稳定运行,提升访问效率。
[0024]具体的,图1为本专利技术实施例提供的一种基于应用系统的数据缓存方法的流程图,本实施例可适用于对应用系统进行数据读写的情况,该方法可以由基于应用系统的数据缓存的装置来执行,具体包括如下步骤:
[0025]S101、监测内存数据库中各个键值的访问频次;键值包括数据。
[0026]S102、获取访问频次超过频次阈值的键值的数据集合;并将数据集合存储至本地缓存中。
[0027]本实施例可对内存数据库进行监测,对从内存数据库中查询的键值做统计分析,得到经常访问的键值集合。并结合业务现状设定访问频次的频次阈值,当大于该频次阈值时,就把这个键值加入到需要缓存到本地的数据集合中。以便下次在数据访问过程中读取到这个键值后,能将该键值缓存到本地内存中。
[0028]因为本地缓存相较于内存数据库,数据访问效率可得到进一步提升,则本实施例将内存数据库中的热门数据存至本地缓存中,本实施例可将数据分为热门数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于应用系统的数据缓存方法,其特征在于,包括:监测内存数据库中各个键值的访问频次;所述键值包括数据;获取所述访问频次超过频次阈值的键值的数据集合;并将所述数据集合存储至本地缓存中;在需要读取当前数据时,从所述本地缓存中获取;若在所述本地缓存中未获取所述当前数据,则从内存数据库中获取;若在所述内存数据库中未获取所述当前数据,则从应用数据库中获取。2.根据权利要求1所述的基于应用系统的数据缓存方法,其特征在于,还包括:若从所述应用数据库中获取到所述当前数据,将所述当前数据存储至所述内存数据库。3.根据权利要求2所述的基于应用系统的数据缓存方法,其特征在于,若从所述应用数据库中获取到所述当前数据,将所述当前数据存储至所述内存数据库之后,还包括:判断所述当前数据是否需要存储至所述本地缓存;若是,则将所述当前数据存储至本地缓存,并更新所述当前数据的读取时间至所述当前数据存储至本地缓存之后。4.根据权利要求1所述的基于应用系统的数据缓存方法,其特征在于,在所述本地缓存中未获取所述当前数据,包括:在所述本地缓存中不存在所述当前数据;或者,在所述本地缓存中所述当前数据已过期。5.根据权利要求4所述的基于应用系统的数据缓存方法,其特征在于,所述当前数据为业务配置数据和/或系统配置数据;所述当前数据的过期时长小于或等于1秒。6.根据权利要求1所述的基于应用系统的数据缓存方法,其...

【专利技术属性】
技术研发人员:何福江朱德龙
申请(专利权)人:中国农业银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1