CN110795457B - 数据缓存处理方法、装置、计算机设备和存储介质 - Google Patents

数据缓存处理方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110795457B
CN110795457B CN201910906801.7A CN201910906801A CN110795457B CN 110795457 B CN110795457 B CN 110795457B CN 201910906801 A CN201910906801 A CN 201910906801A CN 110795457 B CN110795457 B CN 110795457B
Authority
CN
China
Prior art keywords
data
cache
target data
target
identification information
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
CN201910906801.7A
Other languages
English (en)
Other versions
CN110795457A (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.)
Jiangsu Suning Cloud Computing Co ltd
SuningCom Co ltd
Original Assignee
Suning Cloud Computing 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 Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201910906801.7A priority Critical patent/CN110795457B/zh
Publication of CN110795457A publication Critical patent/CN110795457A/zh
Application granted granted Critical
Publication of CN110795457B publication Critical patent/CN110795457B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请涉及一种数据缓存处理方法、装置、计算机设备和存储介质。所述方法包括:在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;采用异步方式从待加载缓存数据表中将目标数据加载到缓存中;在监测到目标数据的修改事件时,在缓存中修改目标数据。采用本方法能够在降低缓存穿透数据库对服务性能影响的同时节约缓存成本。

Description

数据缓存处理方法、装置、计算机设备和存储介质
技术领域
本申请涉及缓存技术领域,特别是涉及一种数据缓存处理方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,很多互联网应用平台的数据规模逐渐增大。例如,随着电商平台业务发展,入驻商家的增多,商品信息量有的已经超过千万级或者亿级别,并向更大规模发展。在如此数据规模下,简单的使用热点缓存方案,或者全量缓存方案,都有弊端;热点缓存存在缓存穿透问题,会影响服务性能,例如会影响对数据查询请求的响应效率;全量缓存需要将所有数据加载到内存中,内存成本过高。因此,如何权衡缓存对服务性能影响与缓存成本,成为亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在降低缓存穿透数据库对服务性能影响的同时节约缓存成本的数据缓存处理方法、装置、计算机设备和存储介质。
一种数据缓存处理方法,该方法包括:在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;采用异步方式从待加载缓存数据表中将目标数据加载到缓存中;在监测到目标数据的修改事件时,在缓存中修改目标数据。
在一个实施例中,上述的方法还包括:在将目标数据加载到缓存中时,为目标数据添加失效时间;在根据失效时间确定目标数据失效时,将目标数据从缓存中删除;
或者/和
在缓存中修改目标数据后,获取目标数据的数据变化增量,将数据变化增量同步到数据库系统中。
在一个实施例中,上述的方法还包括:在缓存中修改目标数据后,根据预设的数据有效时长刷新失效时间。
在一个实施例中,上述的方法还包括:根据缓存资源量以及在当前周期之前紧邻的多个周期的被调用数据的数据量,确定当前周期内加载到缓存中的数据的失效时间。
在一个实施例中,上述的方法还包括:根据缓存资源量、当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量、以及上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,确定当前第二长度周期内加载到缓存中的数据的失效时间。
在一个实施例中,上述的将数据变化增量同步到数据库系统中,包括:将数据变化增量记录到数据变化增量表;通过异步方式从数据变化增量表中,将数据变化增量同步到数据库系统中。
在一个实施例中,上述的在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,包括:在接收到数据查询请求时,根据数据查询请求携带的待查询数据标识信息在缓存中查询数据,待查询数据标识信息对应的数据为目标数据;在缓存中有待查询数据标识信息对应的数据时,将从缓存中查询到的目标数据返回;在缓存中没有待查询数据标识信息对应的数据时,根据待查询数据标识信息在数据库系统查询数据;通过异步方式将从数据库系统中查询到的目标数据,记录到待加载缓存数据表中;将从数据库系统中查询到的目标数据返回。
在一个实施例中,上述的采用异步方式从待加载缓存数据表中将目标数据加载到缓存中,以及上述的在缓存中修改目标数据后,根据预设的数据有效时长刷新失效时间,包括:在接收到数据修改请求时,根据数据修改请求携带的待修改数据标识信息在缓存中查询数据;在缓存中没有待修改数据标识信息对应的数据时,通过数据库系统的处理逻辑处理数据修改请求;在缓存中有待修改数据标识信息对应的数据时,在缓存中修改待修改数据标识信息对应的数据,在修改完成时,根据预设的数据有效时长刷新待修改数据标识信息对应的数据的失效时间。
一种数据缓存处理装置,该装置包括:
查询请求处理模块,用于在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;
数据加载模块,用于采用异步方式从待加载缓存数据表中将目标数据加载到缓存中;
修改模块,用于在监测到目标数据的修改事件时,在缓存中修改目标数据。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;采用异步方式从待加载缓存数据表中将目标数据加载到缓存中;在监测到目标数据的修改事件时,在缓存中修改目标数据。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;采用异步方式从待加载缓存数据表中将目标数据加载到缓存中;在监测到目标数据的修改事件时,在缓存中修改目标数据。
上述的实数据缓存处理方法、装置、计算机设备和存储介质,在接收到数据查询请求时,若缓存中没有目标数据,采用的是先在待加载缓存数据表中记录目标数据(数据库系统中与数据查询请求对应的待查询数据),再采用异步方式从待加载缓存数据表中将目标数据加载到缓存中的两步式加载方式,而不是采用直接将目标数据从数据库系统中加载到缓存的一步式热点缓存懒加载方式;如此,通过记录待加载数据到小数据量表(待加载缓存数据表)的操作,替换直接缓存加载的操作,且从待加载缓存数据表中将目标数据加载到缓存中采用异步方式完成,可以降低缓存穿透数据库对服务性能的影响;同时,缓存数据加载入口被统一到了待加载缓存数据表这一入口,可以避免数据被并发访问时,可能出现的缓存中数据与数据库中对应数据不一致的问题。进一步地,由于目标数据在数据查询阶段加载到了缓存中,因此可以在监测到目标数据的修改事件时,直接在缓存中修改目标数据,能够在修改数据过程充分利用缓存,尽可能地减少该过程中穿透数据库的问题,进一步提升服务性能。此外,由于是将接收到查询请求的数据(目标数据)加载到缓存中,而不是将全部数据加载到缓存中,可以解决缓存成本。
附图说明
图1为一个实施例中数据缓存处理方法的应用环境图;
图2为一个实施例中数据缓存处理方法的流程示意图;
图3为一个实施例中数据变化增量同步步骤的流程示意图;
图4为另一个实施例中数据缓存处理方法的流程示意图;
图5为一个实施例中记录目标数据步骤的流程示意图;
图6为一个实施例中目标数据加载到缓存中步骤以及刷新失效时间步骤的流程示意图;
图7为一个实施例中商品数据缓存处理方法的流程示意图;
图8为一个实施例中数据缓存处理装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据缓存处理方法,可以应用于如图1所示的应用环境中。该应用环境中包括终端102、网络104、服务器106和数据库系统108,终端102服务器106和数据库系统108之间均可以通过网络104实现可通信的连接。该由终端102、网络104、服务器106和数据库系统108构成的网络系统可以是基于互联网,也可以基于局域网,还可以基于互联网和局域网的组合网,在此不做赘述。
终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。同时,图1中示出的是终端102的数量为两个的情况,但本申请并不对终端102的数量进行限制,也可以包括更多或者更少的终端。终端102上运行有应用程序,该应用程序可以是购物应用程序、通信应用程序或者其他应用程序。数据库系统108包括可以包括多个数据库或者数据库集群,也可以是仅包括单个数据库。数据库系统108也可以是服务器中的数据库。
网络104用于实现终端102与服务器106、服务器106与数据库系统108等之间的网络连接,可以包括多种类型的有线或无线网络。网络104都可以包括互联网、局域网(“LAN”)、广域网(“WAN”)、内部网、移动电话网络、虚拟专用网(VPN)、蜂窝式或其它移动通信网络、蓝牙、NFC或其任何组合。网络104进行数据传输时也会基于相应的通讯协议,例如网页浏览器接收网页相应的业务代码时会基于HTTP通讯协议,移动应用程序接收的业务代码时可以基于Websocket通讯协议。
服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在运行过程中,服务器106可以运行某一应用程序,从而可以在接收到终端发送的数据查询请求时,检测缓存中是否有与数据查询请求对应的待查询数据,即目标数据,若没有,则在待加载缓存数据表中记录目标数据,并采用异步方式从待加载缓存数据表中将目标数据加载到缓存中,在监测到目标数据的修改事件时,在缓存中修改目标数据。如此,可以在降低缓存穿透数据库对服务性能影响的同时节约缓存成本。
在一个实施例中,如图2所示,提供了一种数据缓存处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据。
这里,数据查询请求可以是终端设备发送给服务器,也可以是中转设备发送给服务器的。其中,待加载缓存数据表也可以存储在数据库系统中,数据库系统中还存储有全量数据表,全量数据表中记录有全部数据,因此,全量数据表中数据的数据量远多于待加载缓存数据表中记录数据的数据量。
具体地,服务器在接收到数据查询请求时,检测缓存中是否有与该数据查询请求对应的待查询数据,即目标数据,若没有,则在待加载缓存数据表中记录该目标数据。
步骤204,采用异步方式从待加载缓存数据表中将目标数据加载到缓存中。
具体地,服务器可以建立异步任务(或者称为异步JOB),根据该异步任务定时从待加载缓存数据表中,将待加载缓存数据表中记录的数据(例如目标数据)加载到缓存中。
步骤206,在监测到目标数据的修改事件时,在缓存中修改目标数据。
这里,目标数据的修改事件是指触发对目标数据进行修改的事件。
具体地,服务器在监测到目标数据的修改事件时,直接在缓存中修改目标数据。
上述实施例的数据缓存处理方法中,在接收到数据查询请求时,若缓存中没有目标数据,采用的是先在待加载缓存数据表中记录目标数据(数据库系统中与数据查询请求对应的待查询数据),再采用异步方式从待加载缓存数据表中将目标数据加载到缓存中的两步式加载方式,而不是采用直接将目标数据从数据库系统中加载到缓存的一步式热点缓存懒加载方式;如此,通过记录待加载数据到小数据量的表(待加载缓存数据表)的操作,替换直接缓存加载的操作,且从待加载缓存数据表中将目标数据加载到缓存中采用异步方式完成,可以降低缓存穿透数据库对服务性能的影响;同时,缓存数据加载入口被统一到了待加载缓存数据表这一入口,可以避免数据被并发访问时,可能出现的缓存中数据与数据库中对应数据不一致的问题。进一步地,由于目标数据在数据查询阶段加载到了缓存中,因此可以在监测到目标数据的修改事件时,直接在缓存中修改目标数据,能够在修改数据过程充分利用缓存,尽可能地减少该过程中穿透数据库的问题,进一步提升服务性能。此外,由于是将接收到查询请求的数据(目标数据)加载到缓存中,而不是将全部数据加载到缓存中,可以解决缓存成本。本实施例方案尤其适用于解决超大规模数据量下缓存的使用效率和成本问题。
举例说明,可以将商品的购物流程拆分为1)查询数据和2)修改数据这两步。查询数据过程对应商品预览过程,修改数据过程对应商品购买过程。在这两步中,最容易产生并发问题、最需要缓存的地方,就是“修改数据”这一步。对商品预览过程和商品购买过程分别进行调整,并增加商品数据异步加载到缓存处理的过程。具体地,在用户浏览商品过程中接收到商品数据(例如商品数量)查询请求,若缓存中没有缓存该商品数据查询请求对应的商品数据,则记录该商品数据到待加载缓存数据表。建立异步任务,根据该异步任务定时从待加载缓存数据表中,将待加载缓存数据表中记录的数据(例如该商品数据查询请求对应的商品数据)加载到缓存中。在用户购买商品时,商品数据会发生变化,此时,直接对缓存中的数据进行修改。由于,总的商品量往往是很大的,但是每个商户上架的商品是少量的,在上架展示的商品中,用户浏览的商品的数量是更少量的。因此,本实施例方案,一方面确保少量在售商品及时加入到缓存中,保证缓存成本不会太高;另一方面,在真正的修改数据进行扣减操作时,能够充分利用缓存,且不存在穿透数据库的问题。
在一个实施例中,本申请提供的数据缓存处理方法还可以包括步骤:在将目标数据加载到缓存中时,为目标数据添加失效时间;在根据失效时间确定目标数据失效时,将目标数据从缓存中删除。
这里,失效时间可以指具体的失效时刻,例如,20190916180000,即2019年9月16日18点0分0秒,该失效时刻可以根据当前时间(即添加失效时间时)及预设的数据有效时长确定。失效时间也可以指距离当前时间的数据有效时长。对于失效时间为具体的失效时刻的情况,可以通过时间检测时间是否到达该具体的失效时刻的方式检测目标数据是否失效。对于失效时间为距离当前时间的数据有效时长的情况,可以设置计时器对目标数据的缓存时长进行计时,通过检测计时器计时得到的缓存时长是否达到相应的数据有效时长的方式检测目标数据是否失效。
一般地,可以将数据有效时长设置为从几秒、几小时,到几天的时间。也可以根据需要,为不同数据查询请求对应的缓存数据设置不同的失效时间。
本实施例中,将目标数据加载到缓存时,为目标数据设置合理的失效时间,以确保一段时间后,非热点数据能够自动被缓存服务清除。
在一个实施例中,本申请提供的数据缓存处理方法还可以包括步骤:在缓存中修改目标数据后,获取目标数据的数据变化增量,将数据变化增量同步到数据库系统中。这里,数据变化增量是指数据变化,可以是数量扣减量,也可以是数量增加量。采用本实施例方案,可以保证缓存中数据与数据库系统中相应数据的一致性。
在一个实施例中,本申请提供的数据缓存处理方法还可以包括步骤:在缓存中修改目标数据后,根据预设的数据有效时长刷新目标数据的失效时间。
对于失效时间为具体的失效时刻的情况,可以根据当前时间(即完成目标数据修改的时刻)加上预设的数据有效时长,得到目标数据的新失效时间,将目标数据的失效时间调整为该新失效时间。对于失效时间为距离当前时间的数据有效时长的情况,可以将目标数据的失效时间设置为距离当前时间(即完成目标数据修改的时刻)的时长为该预设的数据有效时长。
本实施例中,服务器在缓存中修改目标数据后,及时根据预设的数据有效时长刷新目标数据的失效时间,可以尽可能地保证热点数据能够自动地被续展。
在一个实施例中,上述的将数据变化增量同步到数据库系统中的步骤,可以包括如下步骤:
步骤302,将数据变化增量记录到数据变化增量表。
这里,数据变化增量表也可以是存储在数据库系统中的,也可以是存储在其他存储设备中。
具体地,服务器将数据变化增量记录到数据变化增量表。
步骤304,通过异步方式从数据变化增量表中,将数据变化增量同步到数据库系统中。
具体地,服务器通过异步方式从数据变化增量表中,将数据变化增量同步到数据库系统的全量数据表中。
本实施例中,是采用先将数据变化增量记录到数据变化增量表,再通过异步方式从数据变化增量表中,将数据变化增量同步到数据库系统中的两步式数据同步方式。由于数据变化增量表基本为空表,相对于数据库系统(作为一张大表)数据量明显小很多,如此,将数据变化增量记录到数据变化增量表相比于直接记录到数据库系统中,记录效率会明显高很多,而从数据变化增量表中,将数据变化增量同步到数据库系统中的过程又是异步进行的,不会对数据修改流程的效率造成影响。
在一个实施例中,如图4所示,提供了一种数据缓存处理方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤402,在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;
对于步骤402可以参照上述步骤202的描述,在此不予赘述。
步骤402,采用异步方式从待加载缓存数据表中将目标数据加载到缓存中,为该目标数据添加失效时间;
具体地,服务器可以建立异步任务,根据该异步任务定时从待加载缓存数据表中,将待加载缓存数据表中记录的数据(例如目标数据)加载到缓存中,并在将目标数据加载到缓存中时,为目标数据添加失效时间。
步骤404,在监测到目标数据的修改事件时,直接对缓存中的目标数据进行修改,同时刷新目标数据的失效时间,并将数据变化增量记录到数据变化增量表中;
具体地,服务器在可以监测到目标数据的修改事件时,直接对缓存中的目标数据进行修改,并在缓存中修改目标数据后,获取目标数据的数据变化增量,将数据变化增量记录到数据变化增量表中。
步骤406,通过异步方式从数据变化增量表中,将数据变化增量同步到数据库系统中。
具体地,服务器可以建立异步任务,根据该异步任务定时从数据变化增量表中,将数据变化增量同步到数据库系统中。
上述的步骤402中,将传统的一步式热点缓存懒加载方式,拆分成两步式,可以降低缓存穿透对服务性能的影响,同时,统一了缓存加载的入口,可以避免数据被并发访问时,可能出现的缓存中的数据与数据库对应数据不一致的问题。上述的步骤404中,将数据加载到缓存时,设置合理的失效时间,确保一段时间后,非热点数据(即仅查询未在相应时长内发生修改操作的数据,例如用户仅浏览但未购买的商品的数据)能够自动被缓存服务清除。上述的步骤406在上述的步骤402和步骤404的前提下,能确保能够直接使用缓存,进行数据并发修改操作,提升处理效率,同时刷新失效时间的操作,能确保热点数据(即仅查询未在相应时长内发生修改操作的数据,例如用户购买商品的数据)的缓存有效期。最后,记录数据变化增量,通过上述的步骤408可以确保缓存中的数据与数据库对应数据最终一致性。
在一个实施例中,本申请提供的数据缓存处理方法还可以包括步骤:根据缓存资源量以及在当前周期之前紧邻的多个周期的被调用数据的数据量,确定当前周期内加载到缓存中的数据的失效时间。
其中,周期的长短可以根据实际需要选取,例如,可以是一天或者一小时。被调用数据的数据量可以指被调用的SKU(Stock Keeping Unit,库存量单位)数据量,对于商品数据,可以是订单量。多个周期的数量可以根据实际需要设定。
具体地,服务器可以先根据前N个周期的被调用数据的数据量计算每个周期的平均被调用数据的数据量,再根据缓存资源量以及该平均被调用数据的数据量确定当前周期内加载到缓存中的数据的失效时间,例如,可以用缓存资源量除以平均被调用数据的数据量得到商值,根据该商值和周期长短确定当前周期内加载到缓存中的数据的失效时间。N的大小可以根据实际情况选取。
本实施例方案,在当前周期之前紧邻的多个周期被调用数据的数据量较大时,可以得到并设置较小的失效时间,在当前周期之前紧邻的多个周期较小时,可以得到并设置较大的失效时间,实现了动态地调整各个周期内加载到缓存中的数据的失效时间。
考虑到往往在一些固定时间,被调用数据的数据量会出现激增,例如,每年的双十一期间。如果仅是考虑当年双十一前几天的调用数据的数据量设置失效时间,准确性较低,会增加缓存穿透几率,影响服务性能。为此,在一个实施例中,本申请提供的数据缓存处理方法还可以包括步骤:根据缓存资源量、当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量、以及上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,确定当前第二长度周期内加载到缓存中的数据的失效时间。
其中,每个第一长度周期可以被划分出多个第二长度周期。上一第一长度周期内的同期多个第二长度周期,可以指上一第一长度周期内与当前第二长度周期以及当前第二长度周期之前紧邻的多个第二长度周期对应的多个第二长度周期。例如,当前第一长度周期是2019年,上一第一长度周期是2018年,当前第二长度周期2019年的9月16日这一天,则上一第一长度周期内的同期多个第二长度周期,指2018年9月16日及2018年9月16日之前紧邻的几天,例如,2018年9月11日至2018年9月15日。
具体地,可以根据上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,确定被调用数据的数据量的变化趋势,根据该变化趋势检测上一第一长度周期内与当前第二长度周期对应的第二长度周期内被调用数据的数据量是否发生突变,即增长幅度是否超过预设幅度阈值,若否,则可以根据缓存资源量以及当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量,确定当前第二长度周期内加载到缓存中的数据的失效时间。例如,可以用缓存资源量除以当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量的平均值,得到商值,根据该商值与第二长度周期的周期长短确定当前第二长度周期内加载到缓存中的数据的失效时间。
若是(即上述的增长幅度超过预设幅度阈值),则可以根据缓存资源量、当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量、以及上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,例如,可以用缓存资源量除以当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量的平均值,得到第一商值,再用该第一商值除以上述确定的增长幅度,得到第二商值,根据该第二商值与第二长度周期的周期长短确定当前第二长度周期内加载到缓存中的数据的失效时间。其中,预设幅度阈值的大小可以根据实际情况设定。
本实施例中,在确定失效时间时考虑了历史同期的增长趋势,可以进一步提升所设置的失效时间的准确性。
在一个实施例中,如图5所示,上述的在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据的步骤,具体可以包括如下步骤:
步骤502,在接收到数据查询请求时,根据数据查询请求携带的待查询数据标识信息在缓存中查询数据,该待查询数据标识信息对应的数据为目标数据。
其中,对于商品数据,该待查询数据标识信息可以是业务主键。
步骤504,在缓存中有待查询数据标识信息对应的数据时,将从缓存中查询到的目标数据返回。
具体地,在缓存中有待查询数据标识信息对应的数据时,服务器将从缓存中查询到的目标数据返回给终端。
步骤506,在缓存中没有待查询数据标识信息对应的数据时,根据待查询数据标识信息在数据库系统查询数据。
具体地,服务器可以在缓存中没有待查询数据标识信息对应的数据时,根据待查询数据标识信息在数据库系统的全量数据表中查询数据。
步骤508,通过异步方式将从数据库系统中查询到的目标数据,记录到待加载缓存数据表中;
步骤510,将从数据库系统中查询到的目标数据返回。
具体地,服务器将将从数据库系统的全量数据表中查询到的目标数据返回给终端。
本实施例方案中,优先在缓存中查询目标数据,若在缓存中查询到目标数据,直接返回该目标数据,若在缓存中未查询到该目标数据,在数据库系统查询该目标数据,将从数据库系统中查询到的目标数据返回,并通过异步方式将从数据库系统中查询到的目标数据,记录到待加载缓存数据表中。由于目标数据记录到待加载缓存数据表中也是异步进行的,可以进一步减小缓存穿透对服务性能的影响。
在一个实施例中,如图6所示,上述的采用异步方式从待加载缓存数据表中将目标数据加载到缓存中的步骤,以及上述的在缓存中修改目标数据后,根据预设的数据有效时长刷新失效时间的步骤,具体包括以下步骤:
步骤602,在接收到数据修改请求时,根据数据修改请求携带的待修改数据标识信息在缓存中查询数据;
步骤604,在缓存中没有待修改数据标识信息对应的数据时,通过数据库系统的处理逻辑处理数据修改请求;
具体地,服务器在确定在缓存中没有该待修改数据标识信息对应的数据时,通过数据库系统原本的处理逻辑处理该数据修改请求。
步骤606,在缓存中有待修改数据标识信息对应的数据时,在缓存中修改待修改数据标识信息对应的数据,在修改完成时,根据预设的数据有效时长刷新待修改数据标识信息对应的数据的失效时间。
本步骤中,待修改数据标识信息对应的数据可以是上述的目标数据,也可以是其他的已经加载到缓存中的数据。
以下结合图7,并以商品数据的缓存处理为例进行说明。如图7所示,该实施例中的数据缓存处理方法主要包括以下步骤:
1)在用户浏览商品过程中接收到商品数据查询请求,若缓存中没有缓存该商品数据查询请求对应的商品数据,则记录该商品数据到待加载缓存数据表;
本步骤中,对传统的商品预览服务流程进行了调整,将传统一步式热点缓存懒加载方式,拆分成两步式。传统的一步式热点缓存懒加载方式是若缓存中没有缓存该商品数据查询请求对应的商品数据,则查询当前数据库,并在当前流程中,把此热点数据加载到缓存中。该步骤具体可以包括以下步骤:
1.1)根据业务主键查询缓存,若缓存有值(即缓存中有与该业务主键对应的数据),则直接返回在缓存中查询到的商品数据;
1.2)若缓存中没有与该业务主键对应的数据,则根据业务主键查询数据库,得到商品数据;
1.3)商品数据录入异步待加载缓存数据表;
1.4)返回商品数据。
2)通过异步JOB定时扫描待加载缓存数据表,将数据加入到缓存中,并为加入到缓存中的数据设置失效时间。
该步骤为相对于与传统的一步式热点缓存懒加载方式增加的处理流程。该步骤具体可以包括以下步骤:
2.1)定时异步扫描待加载缓存数据表;
2.2)将扫描到的商品数据录入缓存,并为录入缓存中的数据设置合理失效时间。
3)购买商品修改数据时,直接对缓存中的数据进行修改,同时刷新失效时间,并记录此次数据变化到数据变化增量表中。
本步骤中,对传统的商品销售扣减服务流程进行了调整,将直接将数据变化记录到数据库中,调整为先记录到数据变化增量表中,再从数据变化增量表记录到数据库系统中的两步式。该步骤具体可以包括以下步骤:
3.1)根据业务主键查询缓存;
3.2)若缓存有与该业务主键匹配的数据,则在缓存中进行数据修改,并刷新缓存失效时间,然后记录增量信息到数据变化增量表;
3.3)若缓存无与该业务主键匹配的数据,则走原数据库处理逻辑。
4)异步JOB定时扫描数据变化增量表,将缓存增量变化,同步到数据库。
本步骤是将缓存中得到的变化增量异步同步到数据库中。该步骤具体可以包括以下步骤:
4.1)定时扫描数据变化增量表;
4.2)按业务主键,将数据增量变化信息同步到数据库。
本实施例方案是一种灵活运用缓存技术的方案,不局限于热点缓存还是全量缓存,同时结合电商销售流程的特点,和销售数据量与总数据量的比例关系,降低缓存成本。而且,本实施例方案使用异步缓存加载机制,可以降低缓存加载过程对销售流程的性能影响,通过使用异步数据库数据加载到缓存的方案,可以提升性能。在确保性能的同时,缓存资源消耗上,通过合理的设置缓存失效时间,确保缓存数据量在百万级左右。相比全量缓存,可以大量节省缓存资源。关于失效时间选取,可分析每天被调用的SKU数据量情况,设置合理的失效时间。
应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种数据缓存处理装置,包括:查询请求处理模块802、数据加载模块804和修改模块806,其中:
查询请求处理模块802,用于在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;
数据加载模块804,用于采用异步方式从待加载缓存数据表中将目标数据加载到缓存中;
修改模块806,用于在监测到目标数据的修改事件时,在缓存中修改目标数据。
在一个实施例中,数据加载模块804还可以用于在将目标数据加载到缓存中时,为目标数据添加失效时间,在根据失效时间确定目标数据失效时,将目标数据从缓存中删除。
在一个实施例中,如图6所示,本申请提供的数据缓存处理装置还可以包括数据同步模块808,数据同步模块808用于在缓存中修改目标数据后,获取目标数据的数据变化增量,将数据变化增量同步到数据库系统中。
在一个实施例中,修改模块806还可以用于在缓存中修改目标数据后,根据预设的数据有效时长刷新失效时间。
在一个实施例中,数据加载模块804还可以用于根据缓存资源量以及在当前周期之前紧邻的多个周期的被调用数据的数据量,确定当前周期内加载到缓存中的数据的失效时间。
在一个实施例中,数据加载模块804还可以用于根据缓存资源量、当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量、以及上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,确定当前第二长度周期内加载到缓存中的数据的失效时间。
在一个实施例中,可以数据同步模块808将数据变化增量记录到数据变化增量表,通过异步方式从数据变化增量表中,将数据变化增量同步到数据库系统中。
在一个实施例中,查询请求处理模块802可以在接收到数据查询请求时,根据数据查询请求携带的待查询数据标识信息在缓存中查询数据,待查询数据标识信息对应的数据为目标数据;在缓存中有待查询数据标识信息对应的数据时,将从缓存中查询到的目标数据返回,在缓存中没有待查询数据标识信息对应的数据时,根据待查询数据标识信息在数据库系统查询数据,通过异步方式将从数据库系统中查询到的目标数据,记录到待加载缓存数据表中,将从数据库系统中查询到的目标数据返回。
在一个实施例中,修改模块806可以在接收到数据修改请求时,根据数据修改请求携带的待修改数据标识信息在缓存中查询数据,在缓存中没有待修改数据标识信息对应的数据时,通过数据库系统的处理逻辑处理数据修改请求;在缓存中有待修改数据标识信息对应的数据时,则在缓存中修改待修改数据标识信息对应的数据,在修改完成时,根据预设的数据有效时长刷新待修改数据标识信息对应的数据的失效时间。
关于数据缓存处理装置的具体限定可以参见上文中对于数据缓存处理方法的限定,在此不再赘述。上述数据缓存处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库(可以相当于上述实施例中的数据库系统)可以用于存储互联网应用平台的数据,例如,对于电商平台,数据库用于存储商品数据。上述实施例中的数据库系统也可以是通过独立于该计算机设备的数据库设备实现。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据缓存处理方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;采用异步方式从待加载缓存数据表中将目标数据加载到缓存中;在监测到目标数据的修改事件时,在缓存中修改目标数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在将目标数据加载到缓存中时,为目标数据添加失效时间;在根据失效时间确定目标数据失效时,将目标数据从缓存中删除。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在缓存中修改目标数据后,获取目标数据的数据变化增量,将数据变化增量同步到数据库系统中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在缓存中修改目标数据后,根据预设的数据有效时长刷新失效时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据缓存资源量以及在当前周期之前紧邻的多个周期的被调用数据的数据量,确定当前周期内加载到缓存中的数据的失效时间。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据缓存资源量、当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量、以及上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,确定当前第二长度周期内加载到缓存中的数据的失效时间。
在一个实施例中,处理器执行计算机程序实现上述的将数据变化增量同步到数据库系统中的步骤时,具体实现以下步骤:将数据变化增量记录到数据变化增量表;通过异步方式从数据变化增量表中,将数据变化增量同步到数据库系统中。
在一个实施例中,处理器执行计算机程序实现上述的在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据的步骤时,具体实现以下步骤:包括:在接收到数据查询请求时,根据数据查询请求携带的待查询数据标识信息在缓存中查询数据,待查询数据标识信息对应的数据为目标数据;在缓存中有待查询数据标识信息对应的数据时,将从缓存中查询到的目标数据返回;在缓存中没有待查询数据标识信息对应的数据时,根据待查询数据标识信息在数据库系统查询数据;通过异步方式将从数据库系统中查询到的目标数据,记录到待加载缓存数据表中;将从数据库系统中查询到的目标数据返回。
在一个实施例中,处理器执行计算机程序实现上述的采用异步方式从待加载缓存数据表中将目标数据加载到缓存中的步骤,以及上述的在缓存中修改目标数据后,根据预设的数据有效时长刷新失效时间的步骤时,具体实现以下步骤:在接收到数据修改请求时,根据数据修改请求携带的待修改数据标识信息在缓存中查询数据;在缓存中没有待修改数据标识信息对应的数据时,通过数据库系统的处理逻辑处理数据修改请求;在缓存中有待修改数据标识信息对应的数据时,则在缓存中修改待修改数据标识信息对应的数据,在修改完成时,根据预设的数据有效时长刷新待修改数据标识信息对应的数据的失效时间。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据,目标数据为数据库系统中与数据查询请求对应的待查询数据;采用异步方式从待加载缓存数据表中将目标数据加载到缓存中;在监测到目标数据的修改事件时,在缓存中修改目标数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在将目标数据加载到缓存中时,为目标数据添加失效时间;在根据失效时间确定目标数据失效时,将目标数据从缓存中删除。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在缓存中修改目标数据后,获取目标数据的数据变化增量,将数据变化增量同步到数据库系统中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在缓存中修改目标数据后,根据预设的数据有效时长刷新失效时间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据缓存资源量以及在当前周期之前紧邻的多个周期的被调用数据的数据量,确定当前周期内加载到缓存中的数据的失效时间。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据缓存资源量、当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量、以及上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,确定当前第二长度周期内加载到缓存中的数据的失效时间。
在一个实施例中,计算机程序被处理器执行实现上述的将数据变化增量同步到数据库系统中的步骤时,具体实现以下步骤:将数据变化增量记录到数据变化增量表;通过异步方式从数据变化增量表中,将数据变化增量同步到数据库系统中。
在一个实施例中,计算机程序被处理器执行实现上述的在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录目标数据的步骤时,具体实现以下步骤:包括:在接收到数据查询请求时,根据数据查询请求携带的待查询数据标识信息在缓存中查询数据,待查询数据标识信息对应的数据为目标数据;在缓存中有待查询数据标识信息对应的数据时,将从缓存中查询到的目标数据返回;在缓存中没有待查询数据标识信息对应的数据时,根据待查询数据标识信息在数据库系统查询数据;通过异步方式将从数据库系统中查询到的目标数据,记录到待加载缓存数据表中;将从数据库系统中查询到的目标数据返回。
在一个实施例中,在一个实施例中,计算机程序被处理器执行实现上述的采用异步方式从待加载缓存数据表中将目标数据加载到缓存中的步骤,以及上述的在缓存中修改目标数据后,根据预设的数据有效时长刷新失效时间的步骤时,具体实现以下步骤:在接收到数据修改请求时,根据数据修改请求携带的待修改数据标识信息在缓存中查询数据;在缓存中没有待修改数据标识信息对应的数据时,通过数据库系统的处理逻辑处理数据修改请求;在缓存中有待修改数据标识信息对应的数据时,则在缓存中修改待修改数据标识信息对应的数据,在修改完成时,根据预设的数据有效时长刷新待修改数据标识信息对应的数据的失效时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (14)

1.一种数据缓存处理方法,所述方法包括:
在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录所述目标数据,所述目标数据为数据库系统中与所述数据查询请求对应的待查询数据,所述待加载缓存数据表存储于所述数据库系统中;
根据建立的异步任务从所述待加载缓存数据表中将所述目标数据加载到缓存中,并在将所述目标数据加载到缓存中时,为所述目标数据添加失效时间;
在监测到所述目标数据的修改事件时,在所述缓存中修改所述目标数据;
所述方法还包括:根据缓存资源量、当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量、以及上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,确定所述当前第二长度周期内加载到缓存中的数据的失效时间。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在根据为所述目标数据添加的失效时间确定所述目标数据失效时,将所述目标数据从所述缓存中删除;
或者/和
在所述缓存中修改所述目标数据后,获取所述目标数据的数据变化增量,将所述数据变化增量同步到所述数据库系统中。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述缓存中修改所述目标数据后,根据预设的数据有效时长刷新所述失效时间。
4.根据权利要求2所述的方法,其特征在于,所述将所述数据变化增量同步到数据库系统中,包括:
将所述数据变化增量记录到数据变化增量表;
通过异步方式从所述数据变化增量表中,将所述数据变化增量同步到数据库系统中。
5.根据权利要求1至4之一所述的方法,其特征在于,所述在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录所述目标数据,包括:
在接收到数据查询请求时,根据所述数据查询请求携带的待查询数据标识信息在所述缓存中查询数据,所述待查询数据标识信息对应的数据为所述目标数据;
在所述缓存中有所述待查询数据标识信息对应的数据时,将从所述缓存中查询到的所述目标数据返回;
在所述缓存中没有所述待查询数据标识信息对应的数据时,根据所述待查询数据标识信息在所述数据库系统查询数据;
通过异步方式将从所述数据库系统中查询到的所述目标数据,记录到所述待加载缓存数据表中;
将从所述数据库系统中查询到的所述目标数据返回。
6.根据权利要求3所述的方法,其特征在于,所述根据建立的异步任务从所述待加载缓存数据表中将所述目标数据加载到缓存中,以及所述在所述缓存中修改所述目标数据后,根据预设的数据有效时长刷新所述失效时间,包括:
在接收到数据修改请求时,根据所述数据修改请求携带的待修改数据标识信息在所述缓存中查询数据;
在所述缓存中没有所述待修改数据标识信息对应的数据时,通过所述数据库系统的处理逻辑处理所述数据修改请求;
在所述缓存中有所述待修改数据标识信息对应的数据时,则在所述缓存中修改所述待修改数据标识信息对应的数据,在修改完成时,根据预设的数据有效时长刷新所述待修改数据标识信息对应的数据的失效时间。
7.一种数据缓存处理装置,其特征在于,所述装置包括:
查询请求处理模块,用于在接收到数据查询请求时,若缓存中没有目标数据,则在待加载缓存数据表中记录所述目标数据,所述目标数据为数据库系统中与所述数据查询请求对应的待查询数据,所述待加载缓存数据表存储于所述数据库系统中;
数据加载模块,用于根据建立的异步任务从所述待加载缓存数据表中将所述目标数据加载到缓存中,并在将所述目标数据加载到缓存中时,为所述目标数据添加失效时间;
修改模块,用于在监测到所述目标数据的修改事件时,在所述缓存中修改所述目标数据;
所述数据加载模块还用于根据缓存资源量、当前第一长度周期内的当前第二长度周期之前紧邻的多个第二长度周期的被调用数据的数据量、以及上一第一长度周期内的同期多个第二长度周期的被调用数据的数据量,确定所述当前第二长度周期内加载到缓存中的数据的失效时间。
8.根据权利要求7所述的装置,其特征在于:
所述数据加载模块还用于在根据为所述目标数据添加的失效时间确定所述目标数据失效时,将所述目标数据从所述缓存中删除;
或者/和
所述装置还包括数据同步模块,所述数据同步模块用于在所述缓存中修改所述目标数据后,获取所述目标数据的数据变化增量,将所述数据变化增量同步到所述数据库系统中。
9.根据权利要求8所述的装置,其特征在于,所述修改模块还用于在所述缓存中修改所述目标数据后,根据预设的数据有效时长刷新所述失效时间。
10.根据权利要求8所述的装置,其特征在于,所述数据同步模块将所述数据变化增量记录到数据变化增量表;通过异步方式从所述数据变化增量表中,将所述数据变化增量同步到数据库系统中。
11.根据权利要求7至10之一所述的装置,其特征在于,所述查询请求处理模块在接收到数据查询请求时,根据所述数据查询请求携带的待查询数据标识信息在所述缓存中查询数据,所述待查询数据标识信息对应的数据为所述目标数据,在所述缓存中有所述待查询数据标识信息对应的数据时,将从所述缓存中查询到的所述目标数据返回,在所述缓存中没有所述待查询数据标识信息对应的数据时,根据所述待查询数据标识信息在所述数据库系统查询数据,通过异步方式将从所述数据库系统中查询到的所述目标数据,记录到所述待加载缓存数据表中,将从所述数据库系统中查询到的所述目标数据返回。
12.根据权利要求11所述的装置,其特征在于,所述修改模块在接收到数据修改请求时,根据所述数据修改请求携带的待修改数据标识信息在所述缓存中查询数据,在所述缓存中没有所述待修改数据标识信息对应的数据时,通过所述数据库系统的处理逻辑处理所述数据修改请求,在所述缓存中有所述待修改数据标识信息对应的数据时,则在所述缓存中修改所述待修改数据标识信息对应的数据,在修改完成时,根据预设的数据有效时长刷新所述待修改数据标识信息对应的数据的失效时间。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN201910906801.7A 2019-09-24 2019-09-24 数据缓存处理方法、装置、计算机设备和存储介质 Active CN110795457B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910906801.7A CN110795457B (zh) 2019-09-24 2019-09-24 数据缓存处理方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910906801.7A CN110795457B (zh) 2019-09-24 2019-09-24 数据缓存处理方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110795457A CN110795457A (zh) 2020-02-14
CN110795457B true CN110795457B (zh) 2023-05-05

Family

ID=69439310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910906801.7A Active CN110795457B (zh) 2019-09-24 2019-09-24 数据缓存处理方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN110795457B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427914B (zh) * 2020-03-20 2024-04-19 北京奇艺世纪科技有限公司 一种数据获得方法及装置
CN111737299A (zh) * 2020-06-19 2020-10-02 中国建设银行股份有限公司 缓存数据处理方法及装置
CN113810455A (zh) * 2021-01-18 2021-12-17 北京京东拓先科技有限公司 一种后端数据访问系统、方法、装置及存储介质
CN113034715A (zh) * 2021-03-02 2021-06-25 创优数字科技(广东)有限公司 一种考勤数据处理方法、装置、服务器及存储介质
CN113065054B (zh) * 2021-03-31 2024-03-01 北京达佳互联信息技术有限公司 请求处理方法、装置、电子设备及存储介质
CN113220722A (zh) * 2021-04-26 2021-08-06 深圳市云网万店科技有限公司 数据查询方法、装置、计算机设备和存储介质
CN113420050B (zh) * 2021-06-28 2023-08-25 深圳华科讯通科技有限公司 数据查询管理方法、装置、计算机设备及可读存储介质
CN113806389A (zh) * 2021-09-22 2021-12-17 未鲲(上海)科技服务有限公司 一种数据处理方法、装置、计算设备与存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012907A (zh) * 2010-11-10 2011-04-13 上海光芒科技有限公司 一种浏览器客户端侧的缓存方法及系统
CN108132958A (zh) * 2016-12-01 2018-06-08 阿里巴巴集团控股有限公司 一种多级缓存数据存储、查询、调度以及处理方法及装置
CN109241099A (zh) * 2018-08-22 2019-01-18 中国平安人寿保险股份有限公司 一种数据查询方法及终端设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7395258B2 (en) * 2004-07-30 2008-07-01 International Business Machines Corporation System and method for adaptive database caching
CN101090401B (zh) * 2007-05-25 2011-05-18 金蝶软件(中国)有限公司 一种群集环境下的数据缓存方法及系统
CN102117309B (zh) * 2010-01-06 2013-04-17 卓望数码技术(深圳)有限公司 一种数据缓存系统和数据查询方法
CN102542034B (zh) * 2011-12-23 2015-09-09 北京人大金仓信息技术股份有限公司 一种数据库接口的结果集缓存方法
CA2875735C (en) * 2012-08-14 2020-09-15 Amadeus S.A.S. Updating cached database query results
CN103533042B (zh) * 2013-10-10 2018-06-22 北京奇虎科技有限公司 基于位置的信息发布方法和装置
CN103761255A (zh) * 2013-12-27 2014-04-30 北京集奥聚合网络技术有限公司 NoSQL方式数据存储的优化方法及系统
CN105630823B (zh) * 2014-11-04 2019-03-12 阿里巴巴集团控股有限公司 基于分布式系统的缓存数据的监控方法、装置和系统
CN104331492B (zh) * 2014-11-14 2017-11-21 北京国双科技有限公司 一种缓存多实例数据的方法及装置
CN106815329A (zh) * 2016-12-29 2017-06-09 网易无尾熊(杭州)科技有限公司 一种缓存数据的更新方法及装置
CN108268476B (zh) * 2016-12-30 2021-11-30 北京国双科技有限公司 数据查询方法及装置
CN107103068A (zh) * 2017-04-18 2017-08-29 聚好看科技股份有限公司 业务缓存的更新方法及装置
CN109359095B (zh) * 2018-09-11 2021-07-16 东华大学 一种大数据快速读取的dlk方法
CN109710639A (zh) * 2018-11-26 2019-05-03 厦门市美亚柏科信息股份有限公司 一种基于双缓存机制的检索方法、装置及存储介质
CN109684086A (zh) * 2018-12-14 2019-04-26 广东亿迅科技有限公司 一种基于aop的分布式缓存自动加载方法及装置
CN109669960A (zh) * 2018-12-25 2019-04-23 钛马信息网络技术有限公司 在微服务中通过多级缓存避免缓存雪崩的系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102012907A (zh) * 2010-11-10 2011-04-13 上海光芒科技有限公司 一种浏览器客户端侧的缓存方法及系统
CN108132958A (zh) * 2016-12-01 2018-06-08 阿里巴巴集团控股有限公司 一种多级缓存数据存储、查询、调度以及处理方法及装置
CN109241099A (zh) * 2018-08-22 2019-01-18 中国平安人寿保险股份有限公司 一种数据查询方法及终端设备

Also Published As

Publication number Publication date
CN110795457A (zh) 2020-02-14

Similar Documents

Publication Publication Date Title
CN110795457B (zh) 数据缓存处理方法、装置、计算机设备和存储介质
US11520770B2 (en) System and method for providing high availability data
US11288002B2 (en) System and method for providing high availability data
CN107943594A (zh) 数据获取方法和装置
CN108055302B (zh) 一种图片缓存处理方法、系统和服务器
CN102656570B (zh) 用于缓存的方法和服务器
CN104281582B (zh) 分页显示控制方法和装置
CN106294365A (zh) 一种单页web应用的页面数据处理方法及设备
CN111464615A (zh) 请求处理方法、装置、服务器及存储介质
US8494888B2 (en) Offline modification of business data
CN101937467A (zh) 一种服务器的高效缓存方法与系统
CN103207882A (zh) 店铺访问数据处理方法及系统
CN110781214A (zh) 数据库读写方法、装置、计算机设备和存储介质
US20200244752A1 (en) Processing an Event Stream Using Pattern Recognition
CN109167840B (zh) 一种任务推送方法、节点自治服务器及边缘缓存服务器
CN110795171B (zh) 业务数据处理方法、装置、计算机设备及存储介质
CN109871354B (zh) 一种文件处理的方法及装置
CN111597213A (zh) 一种缓存方法、软件服务器及存储介质
US10193988B2 (en) Setting a first-party user ID cookie on a web servers domain
CN101923577B (zh) 一种可扩展的计数方法与系统
CN112764948A (zh) 数据发送方法、数据发送装置、计算机设备及存储介质
CN110457401B (zh) 数据存储方法、装置、计算机设备和存储介质
CN101115064A (zh) 一种网络数据的存储、获取方法及其实现装置
CN102447714A (zh) Cookie管理方法
CN107623702B (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
CP03 Change of name, title or address

Address after: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee after: Jiangsu Suning cloud computing Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Suning Cloud Computing Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240312

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING.COM Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Jiangsu Suning cloud computing Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right