一种数据访问方法、装置、设备、介质制造方法及图纸

技术编号:23932085 阅读:22 留言:0更新日期:2020-04-25 01:50
本申请公开了一种数据访问方法、装置、设备、介质,该方法包括:创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。这样提高读数据在缓存中的命中率,增强读应用性能,提高读效率。

A data access method, device, equipment and medium

【技术实现步骤摘要】
一种数据访问方法、装置、设备、介质
本申请涉及数据存储
,特别涉及一种数据访问方法、装置、设备、介质。
技术介绍
前端主机在读取数据时,会先到系统缓存中查找,如果找到了就直接讲数据返回给前段主机,如果没有找到,就会从硬盘中读取数据,先将读取到的数据放到缓存中,然后再将数据返回给前端主机。当缓存中的数据已满,需要替换数据时,查找缓存中数据的最近修改时间,并把最近修改时间最久远的数据下刷到硬盘中,在持续写入数据的情况下,这会将需要进行读的数据下刷硬盘中,导致读应用性能较差,读效率降低。
技术实现思路
有鉴于此,本申请的目的在于提供一种数据访问方法、装置、设备、介质,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。其具体方案如下:第一方面,本申请公开了一种数据访问方法,包括:创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。可选的,所述创建一个数组记录缓存池中数据的读次数和最近修改时间,包括:创建一个数组记录缓存池中数据的数据地址、读次数以及最近修改时间。可选的,所述判断所述数据读写操作请求是否是数据读操作请求之后,还包括:如果所述数据读写操作请求是数据写操作请求,则更新所述数据写操作请求对应的所述数组中的第二目标数据的所述最近修改时间。可选的,所述更新所述数据写操作请求对应的第二目标数据的所述最近修改时间的过程中,还包括:如果所述第二目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中。可选的,所述将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中之后,还包括:将所述第二目标数据的所述数据地址、所述读次数以及所述最近修改时间存入所述数组中。可选的,所述判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中之后,还包括:如果所述数据读操作请求对应的第一目标数据在所述缓存池中,则将所述第一目标数据返回给所述前端主机,并将所述数组中的所述第一目标数据的读次数加1。可选的,所述将所述第一目标数据放入缓存池中,以供所述前端主机读取之后,还包括:将所述第一目标数据的所述数据地址、所述读次数和所述最近修改时间存入所述数组中。第二方面,本申请公开了一种数据访问装置,包括:数组创建模块,用于创建一个数组记录缓存池中数据的读次数和最近修改时间;第一判断模块,用于接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;第二判断模块,用于当所述第一判断模块的判断结果为是时,判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;数据下刷模块,用于当所述第一目标数据不在所述缓存池中,且所述缓存池已满时,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。第三方面,本申请公开了一种数据访问设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;所述处理器,用于执行所述计算机程序,以实现前述公开的数据访问方法。第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的数据访问方法。可见,本申请先创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。由此可见,本申请先创建一个数组以记录缓存池中数据的读次数和最近修改时间,这样在需要进行缓存池中的数据替换时,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的一种数据访问方法流程图;图2为本申请公开的一种具体的数据访问方法流程图;图3为本申请公开的一种数据访问装置结构示意图;图4为本申请公开的一种数据访问设备结构图;图5为本申请公开的一种用户终端结构图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。目前,当缓存中的数据已满,需要替换数据时,查找缓存中数据的最近修改时间,并把最近修改时间最久远的数据下刷到硬盘中,在持续写入数据的情况下,这会将需要进行读的数据下刷硬盘中,导致读应用性能较差,读效率降低。有鉴于此,本申请提出了一种数据访问方法,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。本申请实施例公开了一种数据访问方法,参见图1所示,该方法包括:步骤S11:创建一个数组记录缓存池中数据的读次数和最近修改时间。本实施例中,需要先创建一个数组以记录缓存池中数据的读次数和最近修改时间。其中,所述读次数从所述数据被放到所述缓存池中进行第一次读取时开始累计。所述数组可以反映出哪些数据是经常被读取的,可以为缓存池中的数据替换提供依据。步骤S12:接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求。在具体的实施过程中,接收到前端主机的数据读写操作请求时,需要判断所述数据读写操作请求是数据读操作请求,还是数据写操作请求,并根据实际情况做出相应的响应。步骤S1本文档来自技高网...

【技术保护点】
1.一种数据访问方法,其特征在于,包括:/n创建一个数组记录缓存池中数据的读次数和最近修改时间;/n接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;/n如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;/n如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。/n

【技术特征摘要】
1.一种数据访问方法,其特征在于,包括:
创建一个数组记录缓存池中数据的读次数和最近修改时间;
接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;
如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;
如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。


2.根据权利要求1所述的数据访问方法,其特征在于,所述创建一个数组记录缓存池中数据的读次数和最近修改时间,包括:
创建一个数组记录缓存池中数据的数据地址、读次数以及最近修改时间。


3.根据权利要求2所述的数据访问方法,其特征在于,所述判断所述数据读写操作请求是否是数据读操作请求之后,还包括:
如果所述数据读写操作请求是数据写操作请求,则更新所述数据写操作请求对应的所述数组中的第二目标数据的所述最近修改时间。


4.根据权利要求3所述的数据访问方法,其特征在于,所述更新所述数据写操作请求对应的第二目标数据的所述最近修改时间的过程中,还包括:
如果所述第二目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中。


5.根据权利要求4所述的数据访问方法,其特征在于,所述将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中之后,还包括:
将所述第二目标数据的所述数据地址、所述读次数...

【专利技术属性】
技术研发人员:张月辉
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

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

1