CN116303298A - 一种缓存数据的管理方法、装置、设备及存储介质 - Google Patents

一种缓存数据的管理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116303298A
CN116303298A CN202211524895.XA CN202211524895A CN116303298A CN 116303298 A CN116303298 A CN 116303298A CN 202211524895 A CN202211524895 A CN 202211524895A CN 116303298 A CN116303298 A CN 116303298A
Authority
CN
China
Prior art keywords
cache
data
file
directory
target
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
Application number
CN202211524895.XA
Other languages
English (en)
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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology 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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202211524895.XA priority Critical patent/CN116303298A/zh
Publication of CN116303298A publication Critical patent/CN116303298A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种缓存数据的管理方法、装置、设备及存储介质。该方法包括:响应于检测到客户端发送的数据缓存指令,获取与所述数据缓存指令对应的目标缓存数据和缓存名称;将所述目标缓存数据存储在本地存储空间中的缓存目录中,并获取所述目标缓存数据在所述缓存目录下的缓存路径;基于所述缓存名称和所述缓存路径,生成目标缓存文件,并将所述目标缓存文件存储在本地存储空间中的索引目录中。本发明实施例解决了现有的缓存数据的管理方法无法基于多级缓存数据生成缓存文件的问题,降低了本地缓存空间中索引目录中缓存文件的占用空间。

Description

一种缓存数据的管理方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种缓存数据的管理方法、装置、设备及存储介质。
背景技术
客户端是指与服务器相对应,为用户提供本地服务的应用程序,可以运行在智能终端上。用户在使用客户端访问服务器上的数据时,为了提高数据读取效率,常用方法是将用户访问过的数据在本地存储空间中进行缓存,当用户再次访问相关数据时直接从本地存储空间中进行数据读取。
随着智能手机和移动互联网的快速发展,客户端的功能设计越来越丰富,智能终端的本地存储空间中存储有客户端大量的缓存数据,目前主要采用DiskLruCache技术对客户端的缓存数据进行管理,DiskLruCache技术采用的索引目录中缓存文件的文件格式为键值对格式。
在实现本发明的过程中,发现现有技术中至少存在以下技术问题:
由于DiskLruCache技术中索引目录中的缓存文件是基于待缓存数据的数据内容生成的,因此DiskLruCache技术只能管理单级缓存数据(如单张图片),不具备多级缓存数据(如文件夹中包含多张图片)的管理能力,并且索引目录中缓存文件也会占用较大的缓存空间。
发明内容
本发明实施例提供了一种缓存数据的管理方法、装置、设备及存储介质,以解决现有的缓存数据的管理方法无法基于多级缓存数据生成缓存文件的问题,降低本地缓存空间中索引目录中缓存文件的占用空间,缓解本地存储空间的缓存压力。
根据本发明一个实施例提供了一种缓存数据的管理方法,该方法包括:
响应于检测到客户端发送的数据缓存指令,获取与所述数据缓存指令对应的目标缓存数据和缓存名称;
将所述目标缓存数据存储在本地存储空间中的缓存目录中,并获取所述目标缓存数据在所述缓存目录下的缓存路径;
基于所述缓存名称和所述缓存路径,生成目标缓存文件,并将所述目标缓存文件存储在本地存储空间中的索引目录中。
根据本发明另一个实施例提供了一种缓存数据的管理装置,该装置包括:
目标缓存数据获取模块,用于响应于检测到客户端发送的数据缓存指令,获取与所述数据缓存指令对应的目标缓存数据和缓存名称;
缓存路径获取模块,用于将所述目标缓存数据存储在本地存储空间中的缓存目录中,并获取所述目标缓存数据在所述缓存目录下的缓存路径;
目标缓存文件存储模块,用于基于所述缓存名称和所述缓存路径,生成目标缓存文件,并将所述目标缓存文件存储在本地存储空间中的索引目录中。
根据本发明另一个实施例提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本发明任一实施例所述的缓存数据的管理方法。
根据本发明另一个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的缓存数据的管理方法。
本发明实施例的技术方案,通过响应于检测到客户端发送的数据缓存指令,将数据缓存指令对应的目标缓存数据存储在本地存储空间中的缓存目录中,并基于数据缓存指令对应的缓存名称以及目标缓存数据在缓存目录下的缓存路径,生成目标缓存文件,并将目标缓存数据存储在本地存储空间中的索引目录中,使得无论目标缓存数据是单级缓存数据还是多级缓存数据,都会在索引目录下生成并存储一个目标缓存文件,解决了现有的缓存数据的管理方法无法基于多级缓存数据生成缓存文件的问题,扩宽了缓存数据的管理方法的业务范围,并且由于本发明实施例中目标缓存文件是基于缓存路径生成的,相比于现有技术中基于目标缓存数据生成目标缓存文件的技术方案,本发明实施例中的目标缓存文件的文件大小以及文件数量都大大降低,缓解了本地存储空间的缓存压力。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例所提供的一种缓存数据的管理方法的流程图;
图2为本发明一个实施例所提供的一种本地存储空间中缓存架构的示意图;
图3为本发明一个实施例所提供的另一种缓存数据的管理方法的流程图;
图4为本发明一个实施例所提供的一种历史记录文件的生成方法的流程图;
图5为本发明一个实施例所提供的一种历史记录文件的格式示意图;
图6为本发明一个实施例所提供的一种缓存数据的管理装置的结构示意图;
图7为本发明一个实施例所提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1为本发明一个实施例所提供的一种缓存数据的管理方法的流程图,本实施例可适用于智能终端对客户端访问过的数据进行缓存管理的情况,该方法可以由缓存数据的管理装置来执行,该缓存数据的管理装置可以采用硬件和/或软件的形式实现,该缓存数据的管理装置可配置于智能终端中。如图1所示,该方法包括:
S110、响应于检测到客户端发送的数据缓存指令,获取与数据缓存指令对应的目标缓存数据和缓存名称。
在一个具体实施例中,在客户端检测到数据访问指令的情况下,判断数据访问指令对应的访问链接是否属于首次访问链接,如果是,则基于与数据访问指令对应的目标缓存数据,生成数据缓存指令,并将数据缓存指令发送给缓存数据的管理装置。
其中,具体的,目标缓存数据包括单级缓存数据和/或多级缓存数据。其中,单级缓存数据可用于表征最小计量单位的单个数据,示例性的,单级缓存数据包括但不限于单张图片、单个视频或单个脚本等等。其中,多级缓存数据可用于表征至少两级的目录数据,示例性的,多级缓存数据可以是包含一个或多个单级缓存数据的目录文件夹,如包含图片a和图片b的目录文件夹1,或包含图片a和视频b的目录文件夹2。当然,多级缓存数据还可以是包含一个或多个子目录文件夹的目录文件夹,如A/B/C/a.jpg表示目录文件夹A包含第一级子目录文件夹B,第二级子目录文件夹B包含第三级子目录文件夹C,第三级子目录文件夹C包含图片a,容易理解的是,目录文件夹以及每级子目录文件夹下可包含一个或多个单级缓存数据和/或一个或多个子级目录文件夹。此处对多级缓存数据的具体数据架构不作限定。
其中,具体的,响应于检测到客户端发生的数据缓存指令,获取数据缓存指令中的缓存名称,或者,生成与数据缓存指令对应的缓存名称。其中,示例性的,缓存名称可以是采用信息摘要算法生成的,信息摘要算法一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。此处对缓存名称的生成算法不作限定。
S120、将目标缓存数据存储在本地存储空间中的缓存目录中,并获取目标缓存数据在缓存目录下的缓存路径。
其中,示例性的,缓存目录可以是cache文件夹,可通过操作系统提供的DiskLruCache类在本地存储空间中定义,DiskLruCache类是一个管理硬盘缓存的类,此处对缓存目录的文件夹名称不作限定。当然,缓存目录中可以包含一个或多个目录文件夹,各目录文件夹为单级或多级文件夹。
在一个具体实施例中,将目标缓存数据存储在本地存储空间中的缓存目录中,包括:基于缓存名称,将目标缓存数据存储在本地存储空间中的缓存目录中。在将目标缓存数据存储在本地存储空间中的缓存目录中时,通常需要新建一个缓存文件夹,在本实施例中,缓存目录下新建的缓存文件夹的文件夹名称为该缓存名称。
其中,具体的,缓存路径可用于表征目标缓存数据在缓存目录下的缓存位置,缓存路径包括基于目标缓存数据生成的缓存文件夹的文件夹路径以及缓存文件夹在缓存目录下的目录路径。举例而言,假设基于目标缓存数据在缓存目录下新建的缓存文件夹的文件夹名称为aa,该缓存文件夹在缓存目录下的目录路径为files/cache,则该目标缓存数据的存储路径为files/cache/aa。
S130、基于缓存名称和缓存路径,生成目标缓存文件,并将目标缓存文件存储在本地存储空间中的索引目录中。
在本实施例中,目标缓存文件的文件格式为键值对格式,目标缓存文件的缓存键是基于缓存名称生成的,目标缓存文件的缓存值是基于缓存路径生成的。在一个具体实施例中,基于缓存名称和缓存路径,生成目标缓存文件,包括:将缓存名称作为目标缓存文件的缓存建,并将缓存路径作为目标缓存文件的缓存值。
在一个具体实施例中,索引(index)目录可以是缓存目录的平级、父级或子级。示例性的,当索引目录与缓存目录为平级时,假设缓存目录的目录路径为files/cache,则索引目录的目录路径为files/index;当索引目录为缓存目录的父级时,假设索引目录的目录路径为files/index,则缓存目录的目录路径为files/index/cache;当索引目录为缓存目录的子级时,假设缓存目录的目录路径为files/cache,则索引目录的目录路径为files/cache/index。此处对索引目录与缓存目录的层级关系不作限定。
图2为本发明一个实施例所提供的一种本地存储空间中缓存架构的示意图。具体的,图2以索引目录与缓存目录平级为例,图2中的“cache”表示缓存目录,缓存目录中的“08a46cc34850”和“260d6a155e7d”表示在将目标缓存数据存储在缓存目录下时分别生成的缓存文件夹,“08a46cc34850”缓存文件夹下的缓存数据1包括“js”文件夹和vendors.js文件,“260d6a155e7d”缓存文件夹下的缓存数据2包括“js”文件夹和index.html文件。图2中的“index”表示索引目录,索引目录中的“08a46cc34850”表示基于缓存数据1生成的缓存文件1,其中,缓存文件1的缓存键为cache/08a46cc34850,“260d6a155e7d”表示基于缓存数据2生成的缓存文件2,其中,缓存文件2的缓存键为cache/260d6a155e7d。
其中,具体的,在现有的缓存数据的管理方法中,由于目标缓存文件是基于目标缓存数据生成的,因此,假设目标缓存数据为单级缓存数据,如500K的图片A,则目标缓存文件的文件大小在500K左右;假设目标缓存数据为多级缓存数据,如包含500K的图片A和600K的图片B的目录文件夹,则索引目录中会生成2个目标缓存文件,目标缓存文件1的文件大小在500K左右,目标缓存文件2的文件大小在600K左右。
但由于本发明实施例中目标缓存文件是基于缓存路径生成的,无论目标缓存数据是单级缓存数据还是多级缓存数据,都只会在索引目录下生成并存储一个目标缓存文件,且目标缓存文件的文件大小会远远小于基于目标缓存数据生成的目标缓存文件的文件大小。
本实施例的技术方案,通过响应于检测到客户端发送的数据缓存指令,将数据缓存指令对应的目标缓存数据存储在本地存储空间中的缓存目录中,并基于数据缓存指令对应的缓存名称以及目标缓存数据在缓存目录下的缓存路径,生成目标缓存文件,并将目标缓存数据存储在本地存储空间中的索引目录中,使得无论目标缓存数据是单级缓存数据还是多级缓存数据,都会在索引目录下生成并存储一个目标缓存文件,解决了现有的缓存数据的管理方法无法基于多级缓存数据生成缓存文件的问题,扩宽了缓存数据的管理方法的业务范围,并且由于本发明实施例中目标缓存文件是基于缓存路径生成的,相比于现有技术中基于目标缓存数据生成目标缓存文件的技术方案,本发明实施例中的目标缓存文件的文件大小以及文件数量都大大降低,缓解了本地存储空间的缓存压力。
在上述实施例的基础上,具体的,该方法还包括:响应于检测到客户端发送的数据查询指令,获取与数据查询指令对应的查询名称;将索引目录中与查询名称对应的目标缓存文件作为查询缓存文件;基于查询缓存文件对应的缓存路径,从缓存目录中获取查询缓存数据,并将查询缓存数据发送给客户端。
在一个具体实施例中,在客户端检测到数据访问指令的情况下,判断数据访问指令对应的访问链接是否属于首次访问链接,如果否,则基于与数据访问指令对应的查询名称,生成数据查询指令,并将数据查询指令发送给缓存数据的管理装置。
其中,具体的,查询名称的生成算法与缓存名称的生成算法相同。示例性的,查询名称可以是采用信息摘要算法生成的。此处对查询名称的生成算法不作限定。
以上述图2为例,假设查询名称为“260d6a155e7d”,则基于查询名称在索引目录中查找到的查询缓存文件为图2中的缓存文件2,基于缓存文件2中的缓存路径cache/260d6a155e7d在缓存目录中查找到的查询缓存数据包括“js”文件夹和index.html文件,将该查询缓存数据发送给客户端。
这样设置的好处在于,增加了缓存数据的管理装置对多级缓存数据的查询能力,进一步扩宽了缓存数据的管理方法的业务范围。
在上述实施例的基础上,具体的,该方法还包括:响应于检测到客户端发送的数据修改指令,获取与数据修改指令对应的修改名称和数据修改参数;将索引目录中与修改名称对应的目标缓存文件作为修改缓存文件,并基于修改缓存文件对应的缓存路径,从缓存目录中获取修改缓存数据;基于数据修改参数对修改缓存数据执行修改操作,并将修改后的修改缓存数据存储在缓存目录中。
其中,示例性的,数据修改参数包括但不限于修改缓存数据的替换名称和修改缓存数据中缓存数据对应的替换数据等等,相应的,修改操作包括但不限于对修改缓存数据的数据名称进行修改和对修改缓存数据中的缓存数据进行修改等等,此处对数据修改参数不作限定。
其中,具体的,修改名称的生成算法与缓存名称的生成算法相同。示例性的,修改名称可以是采用信息摘要算法生成的。此处对修改名称的生成算法不作限定。
以上述图2为例,假设修改名称为“260d6a155e7d”,则基于修改名称在索引目录中查找到的修改缓存文件为图2中的缓存文件2,基于缓存文件2中的缓存路径cache/260d6a155e7d在缓存目录中查找到的修改缓存数据包括“js”文件夹和index.html文件,基于数据修改参数对该修改缓存数据执行修改操作,并将修改后的修改缓存数据存储在缓存目录中。
这样设置的好处在于,增加了缓存数据的管理装置对多级缓存数据的修改能力,进一步扩宽了缓存数据的管理方法的业务范围。
在上述实施例的基础上,具体的,该方法还包括:响应于检测到数据删除指令,获取与数据删除指令对应的删除名称;将索引目录中与删除名称对应的目标缓存文件作为删除缓存文件,并基于删除缓存文件对应的缓存路径,从缓存目录中获取删除缓存数据;将删除缓存文件从本地存储空间中的索引目录中删除,并将删除缓存数据从本地存储空间中的缓存目录中删除。
在一个具体实施例中,数据删除指令可以是客户端发送的,也可以是缓存数据的管理装置生成的。
其中,具体的,删除名称的生成算法与缓存名称的生成算法相同。示例性的,删除名称可以是采用信息摘要算法生成的。此处对删除名称的生成算法不作限定。
以上述图2为例,假设删除名称为“260d6a155e7d”,则基于删除名称在索引目录中查找到的删除缓存文件为图2中的缓存文件2,基于缓存文件2中的缓存路径cache/260d6a155e7d在缓存目录中查找到的删除缓存数据包括“js”文件夹和index.html文件。将缓存文件2从索引目录中删除以及将“260d6a155e7d”缓存文件夹从缓存目录中删除。
这样设置的好处在于,增加了缓存数据的管理装置对多级缓存数据的删除能力,进一步扩宽了缓存数据的管理方法的业务范围。
图3为本发明一个实施例所提供的另一种缓存数据的管理方法的流程图,本发明实施例对上述实施例中的缓存数据的管理方法进行进一步细化。如图3所示,该方法包括:
S210、响应于检测到客户端发送的数据缓存指令,获取与数据缓存指令对应的目标缓存数据和缓存名称。
S220、将目标缓存数据存储在本地存储空间中的缓存目录中,并获取目标缓存数据在缓存目录下的缓存路径。
S230、基于缓存名称和缓存路径,生成目标缓存文件,并将目标缓存文件存储在本地存储空间中的索引目录中。
在上述实施例的基础上,具体的,基于缓存名称和缓存路径,生成目标缓存文件,包括:基于缓存名称和第一加密算法,生成目标键,并基于缓存路径和第二加密算法,生成目标值;将目标键作为目标缓存文件的缓存键,并将目标值作为目标缓存文件的缓存值。
其中,具体的,缓存数据的管理装置提供加密接口,通过加密接口可以对接任意加密算法。示例性的,当缓存数据的管理装置初始化时,通过加密接口获取第一加密算法和第二加密算法。其中,具体的,第一加密算法与第二加密算法可以相同,也可以不同。
其中,示例性的,第一加密算法或第二加密算法包括但不限于国际数据加密算法(International Data Encryption Algorithm,IDEA)、数字签名算法(Digital SignatureAlgorithm,DSA)和高级加密标准算法(Advanced Encryption Standard)等等,此处对第一加密算法和第二加密算法不作限定。
相应的,当在本地存储空间中的索引目录查找查询缓存文件、修改缓存文件或删除缓存文件时,需要先对索引目录中的各目标缓存文件的缓存键执行解密操作,再执行查找操作,或者在查找到查询缓存文件、修改缓存文件或删除缓存文件后,需要对查询缓存文件、修改缓存文件或删除缓存文件的缓存键执行解密操作后,再基于解密操作得到的缓存路径,从缓存目录中获取查询缓存数据。
这样设置的好处在于,现有的缓存数据的管理方法不具备加密功能,本发明实施例增加了缓存数据的管理装置的加密功能,进一步扩宽了缓存数据的管理方法的业务范围。
S240、响应于检测到客户端发送的预设操作指令,获取与预设操作指令对应的操作标识、操作名称以及占用空间。
在本实施例中,预设操作指令为数据缓存指令、数据查询指令、数据修改指令或数据删除指令。其中,具体的,当预设操作指令为数据缓存指令时,操作标识为缓存标识,操作名称为缓存名称,当预设操作指令为数据查询指令时,操作标识为查询标识,操作名称为查询名称,当预设操作指令为数据修改指令时,操作标识为修改标识,操作名称为修改名称,当预设操作指令为数据删除指令时,操作标识为删除标识,操作名称为删除名称。
其中,示例性的,操作标识可以由文字、数字、特殊字符、大写字母和小写字母中至少一种构成,此处对操作标识不作限定。举例而言,缓存标识用“STORE”表示,查询标识用“READ”表示,修改标识用“MODIFY”表示,删除标识用“CLEAN”表示。
在本实施例中,占用空间包括与预设操作指令对应的操作缓存文件的文件占用空间和/或操作缓存数据的数据占用空间。
其中,具体的,当预设操作指令为数据缓存指令时,操作缓存文件为目标缓存文件,操作缓存数据为目标缓存数据,当预设操作指令为数据查询指令时,操作缓存文件为查询缓存文件,操作缓存数据为查询缓存数据,当预设操作指令为数据修改指令时,操作缓存文件为修改缓存文件,操作缓存数据为修改缓存数据,当预设操作指令为数据删除指令时,操作缓存文件为删除缓存文件,操作缓存数据为删除缓存数据。
S250、基于操作标识、操作名称和占用空间,生成历史记录文件,并将历史记录文件存储在索引目录中。
其中,具体的,历史记录文件中记录有操作标识、操作名称和占用空间共同构成的操作记录,其中,操作记录为存储记录、查询记录、修改记录或删除记录。在一个具体实施例中,历史记录文件采用链表保存操作记录。具体的,将新的操作记录插入到链表头部,当目标缓存数据被访问时,将与目标缓存数据对应的操作记录移动到链表头部,当链表满时,将链表尾部的操作记录删除。
图4为本发明一个实施例所提供的一种历史记录文件的生成方法的流程图。具体的,响应于检测到客户端发送的数据缓存指令,将数据缓存指令对应的目标缓存数据保存在缓存目录中,并基于缓存名称以及目标缓存数据在缓存目录下的存储路径生成目标缓存文件,将缓存文件存储在索引目录,以及将基于缓存标识、缓存名称和占用空间生成的存储记录添加到历史记录文件中。
其中,具体的,响应于检测到客户端发送的数据查询指令,基于数据查询指令对应的查询名称,获取索引目录中的查询缓存文件对应的缓存路径,基于缓存路径,从缓存目录中获取查询缓存数据,并将查询缓存数据发送给客户端,以及将基于查询标识、查询名称和占用空间生成的查询记录添加到历史记录文件中。
其中,具体的,响应于检测到客户端发送的数据删除指令,基于数据删除指令对应的删除名称,获取索引目录中的删除缓存文件,并基于删除缓存文件对应的缓存路径,从缓存目录中获取删除缓存数据,将删除缓存文件从索引目录中删除,并将删除缓存数据从缓存目录中删除,以及将基于删除标识、删除名称和占用空间生成的删除记录添加到历史记录文件中。
其中,具体的,响应于检测到客户端发送的数据修改指令,基于数据修改指令对应的修改名称,获取索引目录中的修改缓存文件对应的缓存路径,基于缓存路径,从缓存目录中获取修改缓存数据,基于数据修改参数对修改缓存数据执行修改操作,以及将基于修改标识、修改名称和占用空间生成的修改记录添加到历史记录文件中。
图5为本发明一个实施例所提供的一种历史记录文件的格式示意图。具体的,历史记录文件中的每条操作记录依次包含操作标识、操作名称、文件占用空间和数据占用空间。
在上述实施例的基础上,具体的,在将目标缓存文件存储在本地存储空间中的索引目录中之后,该方法还包括:基于历史记录文件中的操作标识和操作名称,确定本地存储空间对应的缓存参数;在缓存参数不满足预设参数条件的情况下,采用预设缓存置换算法,生成数据删除指令;其中,缓存参数包括索引目录对应的文件数量、索引目录对应的索引占用空间和缓存目录对应的缓存占用空间中至少一种。
其中,具体的,基于历史记录文件中的操作标识和操作名称,确定本地存储空间对应的缓存参数,包括:基于历史记录表中缓存标识、删除标识、缓存名称以及删除名称,确定本地存储空间对应的缓存参数。其中,具体的,缓存标识和缓存名称构成缓存数据集,基于删除标识和删除名称对缓存数据集执行筛选操作,筛选后的缓存数据集对应的数据量即为索引目录对应的文件数量。
其中,具体的,索引占用空间用于表征索引目录下的目标缓存文件分别对应的文件占用空间之和,缓存占用空间用于表征缓存目录下的参考缓存数据分别对应的数据占用空间之和。其中,参考缓存数据包括目标缓存数据、修改缓存数据和查询缓存数据。
其中,具体的,预设参数条件包括文件数量满足预设数量范围、索引占用空间满足预设索引占用范围以及缓存占用空间满足预设缓存占用范围中至少一种。示例性的,预设数量范围为[0 10000],预设索引占用范围为[0 20M],预设缓存占用范围为[0 10G],此处对预设数量范围、预设索引占用范围和预设缓存占用范围均不作限定。
其中,示例性的,预设缓存置换算法包括但不限于最近最少使用算法或最近最不常用算法等等。其中,最近最少使用算法用于表征删除在一定时间内未被访问的目标缓存文件,最近最不常用算法用于表征删除在一定时间内访问次数最少的目标缓存文件。此处对采用的预设缓存置换算法不作限定。
这样设置的好处在于,及时对本地缓存空间进行清理,避免对智能终端设备带来运行压力。
本实施例的技术方案,通过响应于检测到客户端发送的预设操作指令,获取与预设操作指令对应的操作标识、操作名称以及占用空间,基于操作标识、操作名称和占用空间,生成历史记录文件,并将历史记录文件存储在索引目录中,其中,预设操作指令为数据缓存指令、数据查询指令、数据修改指令或数据删除指令,占用空间包括与预设操作指令对应的操作缓存文件的文件占用空间和/或操作缓存数据的数据占用空间,解决了现有的缓存数据的管理方法无法基于占用空间对缓存文件或缓存数据进行管理的问题,进一步扩宽了缓存数据的管理方法的业务范围。
图6为本发明一个实施例所提供的一种缓存数据的管理装置的结构示意图。如图6所示,该装置包括:目标缓存数据获取模块310、缓存路径获取模块320和目标缓存文件存储模块330。
其中,目标缓存数据获取模块310,用于响应于检测到客户端发送的数据缓存指令,获取与数据缓存指令对应的目标缓存数据和缓存名称;
缓存路径获取模块320,用于将目标缓存数据存储在本地存储空间中的缓存目录中,并获取目标缓存数据在缓存目录下的缓存路径;
目标缓存文件存储模块330,用于基于缓存名称和缓存路径,生成目标缓存文件,并将目标缓存文件存储在本地存储空间中的索引目录中。
本实施例的技术方案,通过响应于检测到客户端发送的数据缓存指令,将数据缓存指令对应的目标缓存数据存储在本地存储空间中的缓存目录中,并基于数据缓存指令对应的缓存名称以及目标缓存数据在缓存目录下的缓存路径,生成目标缓存文件,并将目标缓存数据存储在本地存储空间中的索引目录中,使得无论目标缓存数据是单级缓存数据还是多级缓存数据,都会在索引目录下生成并存储一个目标缓存文件,解决了现有的缓存数据的管理方法无法基于多级缓存数据生成缓存文件的问题,扩宽了缓存数据的管理方法的业务范围,并且由于本发明实施例中目标缓存文件是基于缓存路径生成的,相比于现有技术中基于目标缓存数据生成目标缓存文件的技术方案,本发明实施例中的目标缓存文件的文件大小以及文件数量都大大降低,缓解了本地存储空间的缓存压力。
在上述实施例的基础上,具体的,该装置还包括:
缓存数据查询模块,用于响应于检测到客户端发送的数据查询指令,获取与数据查询指令对应的查询名称;
将索引目录中与查询名称对应的目标缓存文件作为查询缓存文件;
基于查询缓存文件对应的缓存路径,从缓存目录中获取查询缓存数据,并将查询缓存数据发送给客户端。
在上述实施例的基础上,具体的,该装置还包括:
缓存数据修改模块,用于响应于检测到客户端发送的数据修改指令,获取与数据修改指令对应的修改名称和数据修改参数;
将索引目录中与修改名称对应的目标缓存文件作为修改缓存文件,并基于修改缓存文件对应的缓存路径,从缓存目录中获取修改缓存数据;
基于数据修改参数对修改缓存数据执行修改操作,并将修改后的修改缓存数据存储在缓存目录中。
在上述实施例的基础上,具体的,该装置还包括:
缓存数据删除模块,用于响应于检测到数据删除指令,获取与数据删除指令对应的删除名称;
将索引目录中与删除名称对应的目标缓存文件作为删除缓存文件,并基于删除缓存文件对应的缓存路径,从缓存目录中获取删除缓存数据;
将删除缓存文件从本地存储空间中的索引目录中删除,并将删除缓存数据从本地存储空间中的缓存目录中删除。
在上述实施例的基础上,具体的,该装置还包括:
历史记录文件生成模块,用于响应于检测到客户端发送的预设操作指令,获取与预设操作指令对应的操作标识、操作名称以及占用空间;
基于操作标识、操作名称和占用空间,生成历史记录文件,并将历史记录文件存储在索引目录中;
其中,预设操作指令为数据缓存指令、数据查询指令、数据修改指令或数据删除指令,占用空间包括与预设操作指令对应的操作缓存文件的文件占用空间和/或操作缓存数据的数据占用空间。
在上述实施例的基础上,具体的,该装置还包括:
数据删除指令生成模块,用于在将目标缓存文件存储在本地存储空间中的索引目录中之后,基于历史记录文件中的操作标识和操作名称,确定本地存储空间对应的缓存参数;
在缓存参数不满足预设参数条件的情况下,采用预设缓存置换算法,生成数据删除指令;
其中,缓存参数包括索引目录对应的文件数量、索引目录对应的索引占用空间和缓存目录对应的缓存占用空间中至少一种。
在上述实施例的基础上,具体的,目标缓存文件存储模块330,具体用于:
基于缓存名称和第一加密算法,生成目标键,并基于缓存路径和第二加密算法,生成目标值;
将目标键作为目标缓存文件的缓存键,并将目标值作为目标缓存文件的缓存值。
本发明实施例所提供的缓存数据的管理装置可执行本发明任意实施例所提供的缓存数据的管理方法,具备执行方法相应的功能模块和有益效果。
图7为本发明一个实施例所提供的一种电子设备的结构示意图。电子设备10旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备10还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本发明实施例所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器11执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如缓存数据的管理方法。
在一些实施例中,缓存数据的管理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的缓存数据的管理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行缓存数据的管理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
本发明实施例五还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行一种缓存数据的管理方法,该方法包括:
响应于检测到客户端发送的数据缓存指令,获取与数据缓存指令对应的目标缓存数据和缓存名称;
将目标缓存数据存储在本地存储空间中的缓存目录中,并获取目标缓存数据在缓存目录下的缓存路径;
基于缓存名称和缓存路径,生成目标缓存文件,并将目标缓存文件存储在本地存储空间中的索引目录中。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (10)

1.一种缓存数据的管理方法,其特征在于,包括:
响应于检测到客户端发送的数据缓存指令,获取与所述数据缓存指令对应的目标缓存数据和缓存名称;
将所述目标缓存数据存储在本地存储空间中的缓存目录中,并获取所述目标缓存数据在所述缓存目录下的缓存路径;
基于所述缓存名称和所述缓存路径,生成目标缓存文件,并将所述目标缓存文件存储在本地存储空间中的索引目录中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于检测到客户端发送的数据查询指令,获取与所述数据查询指令对应的查询名称;
将所述索引目录中与所述查询名称对应的目标缓存文件作为查询缓存文件;
基于所述查询缓存文件对应的缓存路径,从所述缓存目录中获取查询缓存数据,并将所述查询缓存数据发送给所述客户端。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于检测到客户端发送的数据修改指令,获取与所述数据修改指令对应的修改名称和数据修改参数;
将所述索引目录中与所述修改名称对应的目标缓存文件作为修改缓存文件,并基于所述修改缓存文件对应的缓存路径,从所述缓存目录中获取修改缓存数据;
基于所述数据修改参数对所述修改缓存数据执行修改操作,并将修改后的修改缓存数据存储在所述缓存目录中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于检测到数据删除指令,获取与所述数据删除指令对应的删除名称;
将所述索引目录中与所述删除名称对应的目标缓存文件作为删除缓存文件,并基于所述删除缓存文件对应的缓存路径,从所述缓存目录中获取删除缓存数据;
将所述删除缓存文件从本地存储空间中的索引目录中删除,并将所述删除缓存数据从本地存储空间中的缓存目录中删除。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
响应于检测到客户端发送的预设操作指令,获取与所述预设操作指令对应的操作标识、操作名称以及占用空间;
基于所述操作标识、所述操作名称和所述占用空间,生成历史记录文件,并将所述历史记录文件存储在所述索引目录中;
其中,所述预设操作指令为数据缓存指令、数据查询指令、数据修改指令或数据删除指令,所述占用空间包括与所述预设操作指令对应的操作缓存文件的文件占用空间和/或操作缓存数据的数据占用空间。
6.根据权利要求5所述的方法,其特征在于,在将所述目标缓存文件存储在本地存储空间中的索引目录中之后,所述方法还包括:
基于所述历史记录文件中的操作标识和操作名称,确定所述本地存储空间对应的缓存参数;
在所述缓存参数不满足预设参数条件的情况下,采用预设缓存置换算法,生成数据删除指令;
其中,所述缓存参数包括所述索引目录对应的文件数量、所述索引目录对应的索引占用空间和所述缓存目录对应的缓存占用空间中至少一种。
7.根据权利要求1所述的方法,其特征在于,所述基于所述缓存名称和所述缓存路径,生成目标缓存文件,包括:
基于所述缓存名称和第一加密算法,生成目标键,并基于所述缓存路径和第二加密算法,生成目标值;
将所述目标键作为所述目标缓存文件的缓存键,并将所述目标值作为所述目标缓存文件的缓存值。
8.一种缓存数据的管理装置,其特征在于,包括:
目标缓存数据获取模块,用于响应于检测到客户端发送的数据缓存指令,获取与所述数据缓存指令对应的目标缓存数据和缓存名称;
缓存路径获取模块,用于将所述目标缓存数据存储在本地存储空间中的缓存目录中,并获取所述目标缓存数据在所述缓存目录下的缓存路径;
目标缓存文件存储模块,用于基于所述缓存名称和所述缓存路径,生成目标缓存文件,并将所述目标缓存文件存储在本地存储空间中的索引目录中。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的缓存数据的管理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-7中任一项所述的缓存数据的管理方法。
CN202211524895.XA 2022-11-30 2022-11-30 一种缓存数据的管理方法、装置、设备及存储介质 Pending CN116303298A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211524895.XA CN116303298A (zh) 2022-11-30 2022-11-30 一种缓存数据的管理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211524895.XA CN116303298A (zh) 2022-11-30 2022-11-30 一种缓存数据的管理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116303298A true CN116303298A (zh) 2023-06-23

Family

ID=86832986

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211524895.XA Pending CN116303298A (zh) 2022-11-30 2022-11-30 一种缓存数据的管理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116303298A (zh)

Similar Documents

Publication Publication Date Title
CN110737682A (zh) 一种缓存操作方法、装置、存储介质和电子设备
CN116611411A (zh) 一种业务系统报表生成方法、装置、设备及存储介质
CN110222046B (zh) 列表数据的处理方法、装置、服务器和存储介质
CN110866001A (zh) 确定待处理订单的方法和装置
CN113676531B (zh) 电商流量削峰方法、装置、电子设备及可读存储介质
CN116309002B (zh) 图数据存储、访问、处理方法、训练方法、设备及介质
CN112887426B (zh) 信息流的推送方法、装置、电子设备以及存储介质
CN116303298A (zh) 一种缓存数据的管理方法、装置、设备及存储介质
CN113051244A (zh) 数据访问方法和装置、数据获取方法和装置
CN113326416B (zh) 检索数据的方法、向客户端发送检索数据的方法及装置
CN115759233B (zh) 模型的训练方法、图数据处理方法、装置及电子设备
CN116909752B (zh) 一种页面的镜像存储方法、装置、设备及存储介质
CN117271840B (zh) 图数据库的数据查询方法、装置及电子设备
CN117056133B (zh) 一种基于分布式物联网架构的数据备份方法、装置及介质
CN117666927A (zh) 一种io模型分析方法、装置、电子设备及存储介质
CN118503224A (zh) 对象数据存储处理方法、装置、电子设备及存储介质
CN117520273A (zh) 一种数据合并方法、装置、电子设备及存储介质
CN116595110A (zh) 一种数据存储方法、装置、电子设备及存储介质
CN118171320A (zh) 权限管理方法、装置、电子设备及可读存储介质
CN117573267A (zh) 一种应用程序数据的显示方法、系统、电子设备及存储介质
CN116303258A (zh) 一种分布式存储系统哈希索引的构建方法和装置
CN115203195A (zh) 数据表热度区分方法、装置以及相关设备
CN116932623A (zh) 一种云容器调度数据的转换方法、装置、设备及存储介质
CN117156398A (zh) 消息处理方法、装置、电子设备及存储介质
CN116126249A (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