CN113806389A - 一种数据处理方法、装置、计算设备与存储介质 - Google Patents
一种数据处理方法、装置、计算设备与存储介质 Download PDFInfo
- Publication number
- CN113806389A CN113806389A CN202111107116.1A CN202111107116A CN113806389A CN 113806389 A CN113806389 A CN 113806389A CN 202111107116 A CN202111107116 A CN 202111107116A CN 113806389 A CN113806389 A CN 113806389A
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- database
- modified
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000012508 change request Methods 0.000 claims abstract description 22
- 238000000034 method Methods 0.000 claims description 35
- 238000012986 modification Methods 0.000 claims description 31
- 230000004048 modification Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000002427 irreversible effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/23—Updating
- G06F16/235—Update request formulation
-
- 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/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据处理方法,包括:服务器获取客户端的更改请求,更改请求指示对数据库中的待修改数据进行修改,待修改数据为数据库中的任意一个数据,根据更改请求对数据库中的待修改数据进行修改,在缓存中存在待修改数据的情况下,根据更改请求对缓存中的待修改数据进行修改。在更改数据库中数据之后,无需额外的指令操作即可对缓存中对应数据进行更新,保证了缓存与数据库中数据的一致性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据处理方法、装置、计算设备与存储介质。
背景技术
在互联网时代,请求的复杂度和数据的复杂度都急剧上升,资源的消耗也越来越大。当请求对数据库进行读写操作时,需要去磁盘把对应的数据取回来,这是一个相对较慢的过程。为了加快数据的加载,常将数据存储在缓存中,直接从缓存中取数据返回给用户,大大提高了请求的处理速度。
传统的缓存方式中,把数据库的部分数据存储在redis高速缓存,但redis高速缓存的使用与维护是独立进行的,当数据库中的数据发生变化,还需要单独的指令对缓存进行一一更新,增加了工作量,且容易导致数据库和缓存中的数据不一致。
发明内容
本申请提供一种数据处理方法,在对数据库中的数据进行更改之后,直接对缓存中的数据进行更新,不需要额外的指令操作,保证数据的一致性同时减少操作的工作量。此外,根据数据的访问次数和存储时间对缓存中的数据进行定期清理,节省缓存的成本。
第一方面,本申请提供一种数据处理方法,方法包括:获取客户端的更改请求,更改请求指示对数据库中的待修改数据进行修改;根据更改请求对数据库中的待修改数据进行修改;在缓存中存在待修改数据的情况下,根据更改请求对缓存中的待修改数据进行修改。
根据更改请求对数据库中的待修改数据进行更改后根据目标主键与缓存中各个数据的主键进行对比,若缓存中存在待修改数据,根据更改请求对缓存中的待修改数据进行更新,将待修改数据的更改同步到缓存,保证缓存中与数据库中数据的一致性。
在一种可能的实现方式中,方法还包括:获取客户端的查询请求,根据查询请求在缓存中查找待查询数据,待查询数据为查询请求所查找的数据;在缓存中不存在待查询数据的情况下,根据查询请求在数据库中查找待查询数据,将数据库中查找到的待查询数据发送给客户端,并将在数据库中查找到的待查询数据写入缓存。
在缓存中查找不到待查询数据时,将会在数据库中查找,若不将待查询数据写入缓存,则每次对待查询数据的访问都需要到数据库中,降低了请求的处理速度。因此在数据库中将待查询数据加载返回给客户端的同时,将待查询数据写入缓存,能够降低后续访问待查询数据时的时延。
在一种可能的实现方式中,方法还包括:获取缓存中的目标数据对应的访问次数,其中,访问次数是指第一预设时长内对数据的访问次数,目标数据为缓存中的任意一个数据;在目标数据对应的访问次数大于或等于第一阈值的情况下,在缓存中保留目标数据;在目标数据对应的访问次数小于第一阈值的情况下,删除缓存中的目标数据。
服务器能够以预设周期查看缓存中存储的数据的访问次数,若数据的访问次数小于第一阈值,则认为数据近期为低频访问数据,从缓存中删除数据,以给缓存留出充足的空间用于存储高频访问数据;若数据的访问次数大于第一阈值,则认为数据近期为高频访问的常用数据,在缓存中保留数据以在查询时更快的响应。
在一种可能的实现方式中,方法还包括:以第二预设时长获取缓存中的目标数据在缓存中的存储时间,其中,存储时间是指数据在缓存中存储的时长,目标数据为缓存中的任意一个数据;在目标数据的存储时间小于或等于第二阈值的情况下,保留缓存中的目标数据;在目标数据的存储时间大于第二阈值的情况下,删除缓存中的目标数据。
对于缓存中存储的数据,若数据的存储时间小于第二阈值,则认为数据为较新的数据,在缓存中保留数据以在查询时更快的响应。若数据的存储时间大于第二阈值,则认为数据为较早期的数据,从缓存中删除该数据,以给缓存留出充足的空间用于存储高频访问数据。
在一种可能的实现方式中,将数据库中的待查询数据写入缓存包括:获取待查询数据对应的访问次数,在待查询数据对应的访问次数大于第三阈值的情况下,将待查询数据写入缓存。
缓存中的存储开销是很大的,为了节省成本,不能将数据库中的所有数据都写入缓存。记录数据被访问的次数,当访问次数大于第三阈值,则为高频访问数据,将数据写入缓存以加快请求的处理速度。
在一种可能的实现方式中,根据更改请求对数据库中的待修改数据进行修改之前,还包括:解析更改请求,确定所述更改请求中的目标主键;将目标主键与数据库中的主键进行对比,若数据库中第一主键与目标主键一致,则确定所述第一主键对应的数据为更改请求所要更改的所述待修改数据。
第二方面,本申请提供一种数据处理装置,包括获取单元、更改单元和同步单元:获取单元,用于获取客户端的更改请求,更改请求指示对数据库中的待修改数据进行修改,待修改数据为数据库中数据中的一个;更改单元,用于根据更改请求对所述数据库中的待修改数据进行修改;同步单元,用于在缓存中存在待修改数据的情况下,根据更改请求对缓存中的所述待修改数据进行修改。
在一种可能的实现方式中,装置还包括统计单元:统计单元,用于获取目标数据对应的访问次数,其中,访问次数是指第一预设时长内对数据的访问次数,目标数据为缓存中的任意一个数据。更改单元,还用于在目标数据对应的访问次数小于第一阈值的情况下,删除缓存中的目标数据。
第三方面,本申请提供一种计算设备,包括处理器和存储器;存储器用于存储指令,处理器用于执行指令,当处理器执行指令时,计算设备执行如第一方面或第一方面任意可能的实现方式中的方法。
第四方面,本申请一种计算机存储介质,计算机存储介质存储有计算机程序,计算机程序被处理器执行时实现如第一方面或第一方面任意可能的实现方式中的方法。
本申请通过数据库和缓存的关联,在对数据库进行更改时无需多余操作指令,将数据的更改同步到缓存,节省了缓存维护的工作量,提高了***对客户端的响应速度,同时定期对缓存中的数据进行更新与清理,降低了缓存的存储成本。
附图说明
图1为本申请实施例提供的一种数据处理***进程示意图;
图2为本申请实施例提供的一种数据处理方法流程示意图;
图3为本申请实施例提供的一种数据处理方法流程示意图;
图4为本申请实施例提供的一种数据处理方法步骤示意图;
图5为本申请实施例提供的一种数据处理装置结构示意图;
图6为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
首先介绍本申请的应用场景,为了便于理解本申请的技术方案,对本申请涉及的部分术语进行解释说明。值得说明的是,本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
查询数据的基本流程为页面发送请求到服务接口,通过服务接口访问数据库,将加载到的数据返回至服务接口,服务接口再将数据推送到页面进行展示。当请求对数据库进行读写操作时,数据库需要去磁盘把对应的数据取回来,这是一个非常耗时的过程。为了提高查询的响应速度,常用的方法是将数据库中的部分数据加载至缓存中存储,用户查询数据时直接到缓存中读取,加快请求的处理速度,提高***响应。
把数据放在缓存中,也就是直接放在内存之中,查询时直接读取内存中的数据,虽然响应速度加快,也减小了数据库的压力,传统方式中缓存的使用和维护是独立的。缓存使用包括从缓存中查询和加载数据,缓存维护包括缓存中数据的补充和更新。在进行修改数据和增加数据的时候,操作对数据库中的数据进行更改,但缓存中并不会自动同步数据库中的数据。此时使用缓存就会读取到过期的数据,而对于新增的数据,由于缓存中并未写入,需要到数据库中读取,大大降低了请求响应速度。要更新缓存中的数据,就需要单独的指令对缓存中的数据进行修改和添加,不仅增加了工作量,且容易导致使用和维护的数据不一致。
此外,缓存使用内存进行数据存储的开销是很大的,如果将所有的数据都存入缓存,处理请求的存储成本会增加,限于成本的原因,需要选择常用数据存储在缓存中。
参见图1,客户端发送更改数据A和增加数据B的写请求到数据库,对数据库中的数据A进行修改并在数据库中增加数据B。由于缓存与数据库不是同步更新,需要额外的操作对缓存进行更新。在对缓存中的数据进行更新之前,接收到客户端发送读取数据A和数据B的读请求,在缓存中读取到过期的数据A,且读取不到数据B,在数据库中读取并返回数据B。在对缓存进行更新之前,对数据A的读取都是过期数据,对数据B的读取都需要到数据库中读取,增加了***响应时间。而对缓存的更新需要单独的指令,增加了很多工作量,影响缓存的使用,有过多的缓存需求时,这种弊端更严重。
为了解决以上问题,本申请在更改数据时,通过一个请求完成数据库与缓存的同步更改。下面介绍本申请实施例提供的一种数据处理方法,参见图2,该方法包括S201至S203。
S201、服务器获取客户端的更改请求。
其中,更改请求指示对数据库中的待修改数据进行修改,待修改数据为数据库中的任意一个数据。
S202、服务器根据更改请求对数据库中的待修改数据进行修改。
服务器接收更改请求之后,解析更改请求,具体的,解析查询请求中的查询关键字,基于查询关键字进行哈希运算确定所查找数据的目标主键,即确定需要更改的待修改数据的目标主键,将目标主键与数据库中各个数据的主键进行对比,找到与目标主键一致的主键,确定与目标主键一致的主键对应的数据为待修改数据,基于更改请求对待修改数据进行修改。
本申请实施例中,数据在缓存和数据库中存储时包括主键与数据两部分,在存储时,用主键标识数据,作为数据的查询索引。主键由所述数据的***标识和哈希值组合而成,其中,所述***标识在部署环境全局唯一,***标识可以保证多***调用不同的数据时相互不冲突。哈希值是对所述数据进行哈希运算,为每一个数据映射唯一的哈希值。哈希算法一种单向密码体制,是从明文到密文的不可逆映射,只有加密过程,没有解密过程。同时,哈希算法可以将任意长度的输入经过变化以后得到固定长度的输出。哈希算法的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。本方案实施例可以通过MD4,MD5,SHA-1等哈希算法对所述数据的查询方法进行哈希运算,获得对应的哈希值。
S203、服务器在缓存中存在待修改数据的情况下,根据更改请求对缓存中的待修改数据进行修改。
根据更改请求对数据库中的待修改数据进行更改后,将待修改数据的更改同步到缓存。服务器根据目标主键与缓存中各个数据的主键进行对比,在缓存中不存在待修改数据的情况下,不执行数据更改。在缓存中存在待修改数据的情况下,根据更改请求进行待修改数据的更改。
根据更改请求对数据库中的待修改数据进行更改后,根据目标主键与缓存中各个数据的主键进行对比,若缓存中存在待修改数据,根据更改请求对缓存中的待修改数据进行更新,将对数据库中待修改数据的更改同步到缓存,降低采用另外的更改缓存中的数据时的工作量,保证缓存中与数据库中数据的一致性。
本申请实施例还提供一种数据处理方法,参见图3。
S301、获取客户端的查询请求,根据查询请求在缓存中查找待查询数据。
其中,所述待查询数据为所述查询请求所查找的数据。获取到客户端的查询请求后,解析查询请求,基于查询请求查询缓存中是否存在待查询数据。具体地,解析查询请求中的查询关键字,基于查询关键字进行哈希运算确定所查找数据的目标主键,查看缓存中是否存在对应的待查询数据。将目标主键与缓存中各个数据的主键进行对比,若缓存中某个数据的主键与目标主键一致,确定缓存中存在查询请求所查找的待查询数据。找到与目标主键一致的主键,确定与目标主键一致的主键对应的数据为待查询数据。将待查询数据作为访问结果发送给客户端。
本申请实施例中,数据在缓存和数据库中存储时包括主键与数据两部分,在存储时,用主键标识数据,作为数据的查询索引。主键由所述数据的***标识和哈希值组合而成,其中,所述***标识在部署环境全局唯一,***标识可以保证多***调用不同的数据时相互不冲突。哈希值是对所述数据进行哈希运算,为每一个数据映射唯一的哈希值。哈希算法一种单向密码体制,是从明文到密文的不可逆映射,只有加密过程,没有解密过程。同时,哈希算法可以将任意长度的输入经过变化以后得到固定长度的输出。哈希算法的这种单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。本方案实施例可以通过MD4,MD5,SHA-1等哈希算法对所述数据的查询方法进行哈希运算,获得对应的哈希值。
S302、在缓存中不存在待查询数据的情况下,根据查询请求在数据库中查找待查询数据,将数据库中查找到的待查询数据发送给客户端,并将在数据库中查找到的待查询数据写入缓存。
在缓存中不存在待查询数据的情况下,将目标主键与数据库中各个数据的主键进行对比,根据数据库中是否存在某个数据的主键与目标主键一致,确定数据库中是否存在查询请求所查找的待查询数据。若找到与目标主键一致的主键,确定与目标主键一致的主键对应的数据为待查询数据。将查找到的待查询数据作为访问结果发送给客户端。若找不到与目标主键一致的主键,则数据库中不存在查询请求查找的待查询数据,返回空值作为访问结果发送给客户端。
由于缓存中并未存储待查询数据,在缓存中查找不到待查询数据时,将会在数据库中查找,若不将待查询数据写入缓存,则每次对待查询数据的访问都需要到数据库中,降低了请求的处理速度。因此在数据库中将查找到的待查询数据加载返回给客户端的同时,将查找到的待查询数据写入缓存,完成对缓存的更新维护。查询请求在缓存中查找不到对应数据后,在数据库中加载数据的同时将数据写入缓存,在下次查找待查询数据时即可从缓存中读取,减少了请求的响应时间,在加载返回的同时执行写入缓存的操作也降低了再次通过另外的指令写入缓存的工作量。
把数据放在缓存中,虽然提高了***对客户端的响应速度,也减小了数据库的压力,但将数据在缓存中进行数据存储的开销是很大的,需要选择常用数据存储在缓存中。将客户端经常查询的高频访问数据存放在缓存中,查询次数较少的低频访问数据存放在数据库中即可。并且由于客户端对数据的查询需求是变化的,高频访问数据与低频访问数据并不是保持不变的,需要定期对缓存中的数据进行更新与清理。
在一种可能的实现方式中,获取客户端的查询请求之后,记录待修改数据的访问次数,访问次数是指预设时长内对数据的访问次数。解析查询请求中的查询关键字,基于查询关键字进行哈希运算确定所查找数据的目标主键,记录查询请求的目标主键并统计目标主键出现的次数。目标主键出现的次数即为目标主键对应的待修改数据被查询的次数,根据目标主键出现的次数记录待修改数据的访问次数。
服务器以预设周期获取缓存中每个数据对应的访问次数,根据缓存中每个数据对应的访问次数对缓存进行清理。在目标数据对应的访问次数大于第一阈值的情况下,在缓存中保留目标数据,所述目标数据为缓存中的任意一个数据;在目标数据对应的访问次数小于第一阈值的情况下,在缓存中删除目标数据;将目标数据对应的访问次数清零,重新计算目标数据对应的请求次数。
具体的,若预设第一阈值为6,在一段时间后,查看缓存中存储数据的访问次数,若数据X的访问次数为3,小于第一阈值,则认为数据X近期为低频访问数据,从缓存中删除数据X,若数据X的访问次数为10,大于第一阈值,则认为数据X近期为高频访问的常用数据,在缓存中保留数据X以在查询时更快的响应。
根据数据在近期被查询的次数,在缓存中保留查询频次较高的热点数据,将不常查询的数据删除,防止缓存过度冗余,使缓存的响应速度更快,也节省了缓存的存储成本。
在一种可能的实现方式中,服务器还可以根据缓存中数据存储时间对缓存进行清理。具体的,服务器以预设周期获取缓存中每个数据在缓存中存储的时长,在目标数据的存储时间小于第二阈值的情况下,在缓存中保留所述目标数据;在所述目标数据的存储时间大于第二阈值的情况下,在缓存中删除所述目标数据。
具体的,若预设第二阈值为2天,对于缓存中存储的数据,若数据Y的存储时间为1天,小于第二阈值,则认为数据Y为较新的数据,在缓存中保留数据Y以在查询时更快的响应。若数据Y的存储时间为3天,大于第二阈值,则认为数据Y为较早期的数据,在缓存中删除数据Y。
根据数据存入缓存的时间,在缓存中保留近期写入的数据,将缓存中早期的数据删除,防止缓存过度冗余,使缓存的响应速度更快,也节省了缓存的存储成本。
本申请进一步提出一种数据处理方法,参见图4,图4为本申请实施例提供的一种数据处理步骤。
根据查询请求在数据库中查找待查询数据,解析查询请求中的查询关键字,基于查询关键字进行哈希运算确定所查找数据的目标主键。将所述目标主键与缓存中各个数据的主键进行对比,若缓存中某个数据的主键与目标主键一致,确定缓存中存在查询请求所查找的待查询数据。找到与目标主键一致的主键,确定与目标主键一致的主键对应的数据为待查询数据。将待查询数据作为访问结果发送给客户端。
在缓存中不存在待查询数据的情况下,根据查询请求在数据库中查找待查询数据,将目标主键与数据库中各个数据的主键进行对比,根据数据库中是否存在某个数据的主键与目标主键一致,确定缓存中是否存在查询请求所查找的待查询数据。若找不到与目标主键一致的主键,则数据库中不存在查询请求查找的待查询数据,返回空值作为访问结果发送给客户端。若找到与目标主键一致的主键,确定与目标主键一致的主键对应的数据为待查询数据。将待查询数据作为访问结果发送给客户端。
由于缓存中并未存储待查询数据,在数据库中加载到待查询数据后,需要将待查询数据写入缓存,完成对缓存的更新维护。
在一种可能的实现方式中,在将待查询数据写入缓存之前,先查询待查询数据的访问次数,比较访问次数与第三阈值判断是否写入待查询数据。其中第三阈值为预设值,通过设置第三阈值将访问次数较多的数据写入缓存。若待查询数据的访问次数大于第三阈值,将待查询数据写入缓存;若待查询数据的访问次数小于第三阈值,不执行写入待查询数据的操作。
具体的,若预设第三阈值为10,获取客户端发送的查找数据M的查询请求,解析查询请求中的查询关键字,确定数据M的对应主键,将本次对数据M的查询记录在访问次数中。在缓存中未查找到数据M的情况下,在数据库中查找数据M。将数据库中的数据M返回给客户端,并将数据M发送到缓存中准备写入缓存。缓存在写入前查询数据M的访问次数,若访问次数为8,小于第三阈值,则认为数据M为低频访问数据,忽略数据M,不执行写入缓存的操作;若访问次数为11,大于第三阈值,则认为数据M为高频访问数据,为了提高***对客户端的响应速度,将数据M写入缓存,再次查询时可直接从缓存中加载数据。
通过在数据库更改数据的同时将对缓存进行修改,节省了对缓存更新的工作量,保持了缓存与数据库中数据的一致性。根据数据被查询的频率和存储时间动态管理缓存中的数据,清理缓存中低频数据,使缓存的存储与使用更加合理。
本申请实施例提供一种数据处理装置,参见图5,数据处理装置500包括获取单元510、更改单元520和同步单元530;
获取单元510用于获取客户端的更改请求,更改请求指示对数据库中的待修改数据进行修改,待修改数据为数据库中数据中的一个;
更改单元520用于根据更改请求对数据库中的待修改数据进行修改;
同步单元530用于在缓存中存在待修改数据的情况下,根据更改请求对缓存中的待修改数据进行修改。
进一步地,数据查询装置500还包括统计单元540,
统计单元540用于获取缓存中的目标数据对应的访问次数,其中,访问次数是指第一预设时长内对数据的访问次数,目标数据为缓存中的任意一个数据;
更改单元520还用于在目标数据对应的访问次数小于第一阈值的情况下,删除缓存中的目标数据。
具体的,数据处理装置500实现数据处理的过程可以参照上述图2、图3或图4所示的方法实施例中所述的方法,在此不再赘述。
图6是本申请实施例提供的一种计算设备的结构示意图,包括:一个或者多个处理器610、通信接口620以及存储器630。可选的,所述处理器610、通信接口620以及存储器630通过总线640相互连接。
处理器610可以有多种具体实现形式,例如处理器610可以为中央处理器或图像处理器,处理器610还可以是单核处理器或多核处理器,处理器610还可以由CPU和硬件芯片的组合。
通信接口620可以为有线接口或无线接口,用于与其他模块或设备进行通信,有线接口可以是以太接口、局域互联网络(local interconnect network,LIN)等,无线接口可以是蜂窝网络接口或使用无线局域网接口等。
本申请实施例中通信接口620具体可用于执行上述图2中S201-S203中的操作。具体的,通信接口620执行的动作可以参照上述方法实施例,在此不再赘述。
存储器630可以是非易失性存储器,例如,只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。存储器630也可以是易失性存储器,易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。
存储器630也可用于存储指令和数据。此外,服务器600可能包含相比于图6展示的更多或者更少的组件,或者有不同的组件配置方式。
总线640可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。所述总线640可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选地,该服务器600还可以包括输入/输出接口650,输入/输出接口650连接有输入/输出设备,用于接收输入的信息,输出操作结果。
本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等),这些处理器处理各种计算机可执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各个组件耦合在一起的***总线或数据传输***。***总线可以包括不同总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,***总线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供的设备或装置可以是单独提供,也可以是***的一部分,也可以是其它设备或装置的一部分。
本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提供的设备或装置中或属于公共***。计算机可读存储介质/存储设备可以包括光存储设备,半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(RAM),闪存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设备或任何其他形式的合适存储介质。
以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理解的是,本申请实施例以及附图所示的结构并不构成对有关装置或***的具体限定。在本申请另一些实施例中,有关装置或***可以包括比具体实施例和附图更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。
Claims (10)
1.一种数据处理方法,其特征在于,包括:
获取客户端的更改请求,所述更改请求指示对数据库中的待修改数据进行修改;
根据所述更改请求对所述数据库中的所述待修改数据进行修改;
在缓存中存在所述待修改数据的情况下,根据所述更改请求对所述缓存中的待修改数据进行修改。
2.根据权利要求1的方法,其特征在于,所述方法还包括:
获取客户端的查询请求,根据所述查询请求在所述缓存中查找待查询数据;
在所述缓存中不存在所述待查询数据的情况下,根据所述查询请求在所述数据库中查找所述待查询数据,将所述数据库中查找到的待查询数据发送给所述客户端,并将在所述数据库中查找到的待查询数据写入所述缓存。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取所述缓存中的目标数据对应的访问次数,其中,所述访问次数是指第一预设时长内对数据的访问次数,所述目标数据为所述缓存中的任意一个数据;
在所述目标数据对应的访问次数大于或等于第一阈值的情况下,在所述缓存中保留所述目标数据;
在所述目标数据对应的访问次数小于所述第一阈值的情况下,删除所述缓存中的所述目标数据。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
以第二预设时长获取所述缓存中的目标数据在所述缓存中的存储时间,其中,所述存储时间是指数据在缓存中存储的时长,所述目标数据为所述缓存中的任意一个数据;
在所述目标数据的存储时间小于或等于第二阈值的情况下,保留所述缓存中的所述目标数据;
在所述目标数据的存储时间大于所述第二阈值的情况下,删除所述缓存中的所述目标数据。
5.根据权利要求2所述的方法,其特征在于,所述将所述数据库中的所述待查询数据写入所述缓存包括:
获取所述待查询数据对应的访问次数,在所述待查询数据对应的访问次数大于第三阈值的情况下,将所述待查询数据写入所述缓存。
6.根据权利要求1所述的方法,所述根据所述更改请求对所述数据库中的待修改数据进行修改之前,所述方法还包括:
解析所述更改请求,确定所述更改请求中的目标主键;
将所述目标主键与数据库中的主键进行对比,若数据库中第一主键与目标主键一致,确定所述第一主键对应的数据为更改请求所要更改的所述待修改数据。
7.一种数据处理装置,其特征在于,包括获取单元、更改单元和同步单元:
所述获取单元,用于获取客户端的更改请求,所述更改请求指示对数据库中的待修改数据进行修改,所述待修改数据为所述数据库中数据中的一个;
所述更改单元,用于根据所述更改请求对所述数据库中的待修改数据进行修改;
所述同步单元,用于在所述缓存中存在所述待修改数据的情况下,根据所述更改请求对所述缓存中的所述待修改数据进行修改。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括统计单元:
所述统计单元,用于获取所述缓存中的目标数据对应的访问次数,其中,所述访问次数是指第一预设时长内对数据的访问次数,所述目标数据为所述缓存中的任意一个数据;
所述更改单元,还用于在所述目标数据对应的访问次数小于所述第一阈值的情况下,删除所述缓存中的所述目标数据。
9.一种计算设备,其特征在于,所述服务器包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如权利要求1至6任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111107116.1A CN113806389A (zh) | 2021-09-22 | 2021-09-22 | 一种数据处理方法、装置、计算设备与存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111107116.1A CN113806389A (zh) | 2021-09-22 | 2021-09-22 | 一种数据处理方法、装置、计算设备与存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113806389A true CN113806389A (zh) | 2021-12-17 |
Family
ID=78939884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111107116.1A Pending CN113806389A (zh) | 2021-09-22 | 2021-09-22 | 一种数据处理方法、装置、计算设备与存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113806389A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472293A (zh) * | 2023-12-27 | 2024-01-30 | 荣耀终端有限公司 | 一种数据存储的方法、电子设备及计算机可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043653A (zh) * | 2010-12-23 | 2011-05-04 | 中国农业银行股份有限公司 | 缓存配置的修改方法、缓存数据的操作、查询方法及缓存*** |
CN107122140A (zh) * | 2017-05-02 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种基于元数据信息的文件智能存储方法 |
CN109325056A (zh) * | 2018-08-21 | 2019-02-12 | 中国平安财产保险股份有限公司 | 一种大数据处理方法及装置、通信设备 |
CN110795457A (zh) * | 2019-09-24 | 2020-02-14 | 苏宁云计算有限公司 | 数据缓存处理方法、装置、计算机设备和存储介质 |
CN110990439A (zh) * | 2019-12-13 | 2020-04-10 | 深圳前海环融联易信息科技服务有限公司 | 基于缓存的快速查询方法、装置、计算机设备及存储介质 |
CN111046106A (zh) * | 2019-12-19 | 2020-04-21 | 杭州中恒电气股份有限公司 | 缓存数据同步方法、装置、设备及介质 |
CN111176560A (zh) * | 2019-12-17 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种缓存管理方法、装置、计算机设备及存储介质 |
CN112035766A (zh) * | 2020-08-05 | 2020-12-04 | 北京三快在线科技有限公司 | 网页访问方法、装置、存储介质及电子设备 |
CN112559573A (zh) * | 2020-12-24 | 2021-03-26 | 京东数字科技控股股份有限公司 | 数据缓存方法、装置、设备及计算机可读介质 |
-
2021
- 2021-09-22 CN CN202111107116.1A patent/CN113806389A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043653A (zh) * | 2010-12-23 | 2011-05-04 | 中国农业银行股份有限公司 | 缓存配置的修改方法、缓存数据的操作、查询方法及缓存*** |
CN107122140A (zh) * | 2017-05-02 | 2017-09-01 | 郑州云海信息技术有限公司 | 一种基于元数据信息的文件智能存储方法 |
CN109325056A (zh) * | 2018-08-21 | 2019-02-12 | 中国平安财产保险股份有限公司 | 一种大数据处理方法及装置、通信设备 |
CN110795457A (zh) * | 2019-09-24 | 2020-02-14 | 苏宁云计算有限公司 | 数据缓存处理方法、装置、计算机设备和存储介质 |
CN110990439A (zh) * | 2019-12-13 | 2020-04-10 | 深圳前海环融联易信息科技服务有限公司 | 基于缓存的快速查询方法、装置、计算机设备及存储介质 |
CN111176560A (zh) * | 2019-12-17 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种缓存管理方法、装置、计算机设备及存储介质 |
CN111046106A (zh) * | 2019-12-19 | 2020-04-21 | 杭州中恒电气股份有限公司 | 缓存数据同步方法、装置、设备及介质 |
CN112035766A (zh) * | 2020-08-05 | 2020-12-04 | 北京三快在线科技有限公司 | 网页访问方法、装置、存储介质及电子设备 |
CN112559573A (zh) * | 2020-12-24 | 2021-03-26 | 京东数字科技控股股份有限公司 | 数据缓存方法、装置、设备及计算机可读介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117472293A (zh) * | 2023-12-27 | 2024-01-30 | 荣耀终端有限公司 | 一种数据存储的方法、电子设备及计算机可读存储介质 |
CN117472293B (zh) * | 2023-12-27 | 2024-05-28 | 荣耀终端有限公司 | 一种数据存储的方法、电子设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6916751B2 (ja) | ハイブリッドメモリーモジュール及びその動作方法 | |
US10198363B2 (en) | Reducing data I/O using in-memory data structures | |
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
US20130006909A1 (en) | Pattern-regognition processor with matching-data reporting module | |
US20130097402A1 (en) | Data prefetching method for distributed hash table dht storage system, node, and system | |
US10558569B2 (en) | Cache controller for non-volatile memory | |
CN111309720A (zh) | 时序数据的存储、读取方法、装置、电子设备及存储介质 | |
US20200349113A1 (en) | File storage method, deletion method, server and storage medium | |
US20190220443A1 (en) | Method, apparatus, and computer program product for indexing a file | |
CN115599747B (zh) | 一种分布式存储***的元数据同步方法、***及设备 | |
CN110555001A (zh) | 数据处理方法、装置、终端及介质 | |
US11455117B2 (en) | Data reading method, apparatus, and system, avoiding version rollback issues in distributed system | |
WO2022156650A1 (zh) | 访问数据的方法及装置 | |
CN112148736B (zh) | 缓存数据的方法、设备及存储介质 | |
CN110910249B (zh) | 一种数据处理方法、装置、节点设备及存储介质 | |
CN115048142A (zh) | 缓存访问命令处理***、方法、装置、设备和存储介质 | |
CN113806389A (zh) | 一种数据处理方法、装置、计算设备与存储介质 | |
WO2019120226A1 (zh) | 数据访问预测方法和装置 | |
US20080256296A1 (en) | Information processing apparatus and method for caching data | |
CN101459599B (zh) | 一种实现缓存数据访问与加载并发进行的方法及*** | |
US20170147508A1 (en) | Device, system and method of accessing data stored in a memory | |
CN115934583B (zh) | 分级缓存方法、装置及*** | |
JP6189266B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
CN116701246A (zh) | 一种提升缓存带宽的方法、装置、设备及存储介质 | |
CN116304079A (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 |