CN111061429A - 一种数据访问方法、装置、设备、介质 - Google Patents
一种数据访问方法、装置、设备、介质 Download PDFInfo
- Publication number
- CN111061429A CN111061429A CN201911157860.5A CN201911157860A CN111061429A CN 111061429 A CN111061429 A CN 111061429A CN 201911157860 A CN201911157860 A CN 201911157860A CN 111061429 A CN111061429 A CN 111061429A
- Authority
- CN
- China
- Prior art keywords
- data
- operation request
- cache pool
- read
- array
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种数据访问方法、装置、设备、介质,该方法包括:创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。这样提高读数据在缓存中的命中率,增强读应用性能,提高读效率。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据访问方法、装置、设备、介质。
背景技术
前端主机在读取数据时,会先到系统缓存中查找,如果找到了就直接讲数据返回给前段主机,如果没有找到,就会从硬盘中读取数据,先将读取到的数据放到缓存中,然后再将数据返回给前端主机。当缓存中的数据已满,需要替换数据时,查找缓存中数据的最近修改时间,并把最近修改时间最久远的数据下刷到硬盘中,在持续写入数据的情况下,这会将需要进行读的数据下刷硬盘中,导致读应用性能较差,读效率降低。
发明内容
有鉴于此,本申请的目的在于提供一种数据访问方法、装置、设备、介质,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。其具体方案如下:
第一方面,本申请公开了一种数据访问方法,包括:
创建一个数组记录缓存池中数据的读次数和最近修改时间;
接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;
如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;
如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。
可选的,所述创建一个数组记录缓存池中数据的读次数和最近修改时间,包括:
创建一个数组记录缓存池中数据的数据地址、读次数以及最近修改时间。
可选的,所述判断所述数据读写操作请求是否是数据读操作请求之后,还包括:
如果所述数据读写操作请求是数据写操作请求,则更新所述数据写操作请求对应的所述数组中的第二目标数据的所述最近修改时间。
可选的,所述更新所述数据写操作请求对应的第二目标数据的所述最近修改时间的过程中,还包括:
如果所述第二目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中。
可选的,所述将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中之后,还包括:
将所述第二目标数据的所述数据地址、所述读次数以及所述最近修改时间存入所述数组中。
可选的,所述判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中之后,还包括:
如果所述数据读操作请求对应的第一目标数据在所述缓存池中,则将所述第一目标数据返回给所述前端主机,并将所述数组中的所述第一目标数据的读次数加1。
可选的,所述将所述第一目标数据放入缓存池中,以供所述前端主机读取之后,还包括:
将所述第一目标数据的所述数据地址、所述读次数和所述最近修改时间存入所述数组中。
第二方面,本申请公开了一种数据访问装置,包括:
数组创建模块,用于创建一个数组记录缓存池中数据的读次数和最近修改时间;
第一判断模块,用于接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;
第二判断模块,用于当所述第一判断模块的判断结果为是时,判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;
数据下刷模块,用于当所述第一目标数据不在所述缓存池中,且所述缓存池已满时,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。
第三方面,本申请公开了一种数据访问设备,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述公开的数据访问方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的数据访问方法。
可见,本申请先创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。由此可见,本申请先创建一个数组以记录缓存池中数据的读次数和最近修改时间,这样在需要进行缓存池中的数据替换时,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种数据访问方法流程图;
图2为本申请公开的一种具体的数据访问方法流程图;
图3为本申请公开的一种数据访问装置结构示意图;
图4为本申请公开的一种数据访问设备结构图;
图5为本申请公开的一种用户终端结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,当缓存中的数据已满,需要替换数据时,查找缓存中数据的最近修改时间,并把最近修改时间最久远的数据下刷到硬盘中,在持续写入数据的情况下,这会将需要进行读的数据下刷硬盘中,导致读应用性能较差,读效率降低。有鉴于此,本申请提出了一种数据访问方法,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。
本申请实施例公开了一种数据访问方法,参见图1所示,该方法包括:
步骤S11:创建一个数组记录缓存池中数据的读次数和最近修改时间。
本实施例中,需要先创建一个数组以记录缓存池中数据的读次数和最近修改时间。其中,所述读次数从所述数据被放到所述缓存池中进行第一次读取时开始累计。所述数组可以反映出哪些数据是经常被读取的,可以为缓存池中的数据替换提供依据。
步骤S12:接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求。
在具体的实施过程中,接收到前端主机的数据读写操作请求时,需要判断所述数据读写操作请求是数据读操作请求,还是数据写操作请求,并根据实际情况做出相应的响应。
步骤S13:如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中。
在具体的实施过程中,如果所述数据读写操作请求是数据读操作请求,则需要判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中,以确定是否需要先从硬盘中获取所述第一目标数据。如果所述第一目标数据不在所述缓存池中,则需要先从所述硬盘中读取所述第一目标数据,将所述第一目标数据放入所述缓存池中,再将所述第一目标数据返回给所述前端主机。如果所述第一目标数据在所述缓存池中,则可以直接将所述第一目标数据返回给所述前端主机。
步骤S14:如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。
本实施例中,如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则需要根据所述数组,先将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,再将所述第一目标数据放入所述缓存池中,以供所述前端主机读取。
可见,本申请先创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。由此可见,本申请先创建一个数组以记录缓存池中数据的读次数和最近修改时间,这样在需要进行缓存池中的数据替换时,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。
参见图2所示,本申请实施例公开了一种具体的数据访问方法,该方法包括:
步骤S21:创建一个数组记录缓存池中数据的数据地址、读次数以及最近修改时间。
在具体的实施过程中,创建一个数据记录缓存池中数据的读次数和最近修改时间。具体的,所述数组中记录的内容包括:数据地址、读次数以及最近修改时间。
步骤S22:接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求。
在具体的实施过程中,如果所述数据读写操作请求是数据写操作请求,则更新所述数据写操作请求对应的所述数组中的第二目标数据的所述最近修改时间。在所述更新所述数据写操作请求对应的第二目标数据的所述最近修改时间的过程中,还包括:如果所述第二目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中。所述将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中之后,还包括:将所述第二目标数据的所述数据地址、所述读次数以及所述最近修改时间存入所述数组中。
步骤S23:如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中。
在具体的实施过程中,如果所述数据读操作请求对应的第一目标数据在所述缓存池中,则将所述第一目标数据返回给所述前端主机,并将所述数组中的所述第一目标数据的读次数加1。
步骤S24:如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。
步骤S25:将所述第一目标数据的所述数据地址、所述读次数和所述最近修改时间存入所述数组中。
在具体的实施过程中,如果所述数据读操作请求对应的第一目标数据不在所述缓存池中,且所述缓存池已满,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。再将所述第一目标数据的所述数据地址、所述读次数以及所述最近修改时间存入所述数组中。在实际情况中,下刷到所述硬盘中的数据可以是整个缓存池数据的5%-10%。
参见图3所示,本申请实施例公开了一种数据访问装置,包括:
数组创建模块11,用于创建一个数组记录缓存池中数据的读次数和最近修改时间;
第一判断模块12,用于接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;
第二判断模块13,用于当所述第一判断模块的判断结果为是时,判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;
数据下刷模块14,用于当所述第一目标数据不在所述缓存池中,且所述缓存池已满时,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。
可见,本申请先创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。由此可见,本申请先创建一个数组以记录缓存池中数据的读次数和最近修改时间,这样在需要进行缓存池中的数据替换时,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。
进一步的,参见图4所示,本申请实施例还公开了一种数据访问设备,包括:处理器21和存储器22。
其中,所述存储器22,用于存储计算机程序;所述处理器21,用于执行所述计算机程序,以实现前述实施例中公开的数据访问方法。
其中,关于上述数据访问方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
图5为本申请实施例提供的一种用户终端20的结构示意图,该用户终端具体可以包括但不限于平板电脑、笔记本电脑或台式电脑等。
通常,本实施例中的用户终端20包括:处理器21和存储器22。
在一些实施例中,用户终端20还可包括有显示屏23、输入输出接口24、通信接口25、传感器26、电源27以及通信总线28。
其中,处理器21可以包括一个或多个处理核心,比如四核心处理器、八核心处理器等。处理器21可以采用DSP(digital signal processing,数字信号处理)、FPGA(field-programmable gate array,现场可编程们阵列)、PLA(programmable logic array,可编程逻辑阵列)中的至少一种硬件来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(central processing unit,中应处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有GPU(graphics processing unit,图像处理器),GPU用于负责显示屏所需要显示的图像的渲染和绘制。一些实施例中,处理器21可以包括AI(artificialintelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器22可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器22还可以包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器22至少用于存储以下计算机程序221,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例中公开的方法步骤。另外,存储器22所存储的资源还可以包括操作系统222和数据223等,存储方式可以是短暂存储也可以是永久存储。其中,操作系统222可以是Windows、Unix、Linux等。数据223可以包括各种各样的数据。
本技术领域人员可以理解,图5中示出的结构并不构成对用户终端20的限定,可以包括比图示更多或更少的组件。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现以下步骤:
创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。
可见,本申请先创建一个数组记录缓存池中数据的读次数和最近修改时间;接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。由此可见,本申请先创建一个数组以记录缓存池中数据的读次数和最近修改时间,这样在需要进行缓存池中的数据替换时,能够将读次数最少且最近修改时间距离当前最远的数据下刷到硬盘中,提高读数据在缓存中的命中率,增强读应用性能,提高读效率。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:创建一个数组记录缓存池中数据的数据地址、读次数以及最近修改时间。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:如果所述数据读写操作请求是数据写操作请求,则更新所述数据写操作请求对应的所述数组中的第二目标数据的所述最近修改时间。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:如果所述第二目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:将所述第二目标数据的所述数据地址、所述读次数以及所述最近修改时间存入所述数组中。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:如果所述数据读操作请求对应的第一目标数据在所述缓存池中,则将所述第一目标数据返回给所述前端主机,并将所述数组中的所述第一目标数据的读次数加1。
本实施例中,所述计算机可读存储介质中保存的计算机子程序被处理器执行时,可以具体实现以下步骤:将所述第一目标数据的所述数据地址、所述读次数和所述最近修改时间存入所述数组中。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得一系列包含其他要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种数据访问方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种数据访问方法,其特征在于,包括:
创建一个数组记录缓存池中数据的读次数和最近修改时间;
接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;
如果所述数据读写操作请求是数据读操作请求,则判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;
如果所述第一目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。
2.根据权利要求1所述的数据访问方法,其特征在于,所述创建一个数组记录缓存池中数据的读次数和最近修改时间,包括:
创建一个数组记录缓存池中数据的数据地址、读次数以及最近修改时间。
3.根据权利要求2所述的数据访问方法,其特征在于,所述判断所述数据读写操作请求是否是数据读操作请求之后,还包括:
如果所述数据读写操作请求是数据写操作请求,则更新所述数据写操作请求对应的所述数组中的第二目标数据的所述最近修改时间。
4.根据权利要求3所述的数据访问方法,其特征在于,所述更新所述数据写操作请求对应的第二目标数据的所述最近修改时间的过程中,还包括:
如果所述第二目标数据不在所述缓存池中,且所述缓存池已满,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中。
5.根据权利要求4所述的数据访问方法,其特征在于,所述将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,以便将所述第二目标数据存入所述缓存池中之后,还包括:
将所述第二目标数据的所述数据地址、所述读次数以及所述最近修改时间存入所述数组中。
6.根据权利要求5所述的数据访问方法,其特征在于,所述判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中之后,还包括:
如果所述数据读操作请求对应的第一目标数据在所述缓存池中,则将所述第一目标数据返回给所述前端主机,并将所述数组中的所述第一目标数据的读次数加1。
7.根据权利要求2至6任一项所述的数据访问方法,其特征在于,所述将所述第一目标数据放入缓存池中,以供所述前端主机读取之后,还包括:
将所述第一目标数据的所述数据地址、所述读次数和所述最近修改时间存入所述数组中。
8.一种数据访问装置,其特征在于,包括:
数组创建模块,用于创建一个数组记录缓存池中数据的读次数和最近修改时间;
第一判断模块,用于接收到前端主机的数据读写操作请求时,判断所述数据读写操作请求是否是数据读操作请求;
第二判断模块,用于当所述第一判断模块的判断结果为是时,判断所述数据读操作请求对应的第一目标数据是否在所述缓存池中;
数据下刷模块,用于当所述第一目标数据不在所述缓存池中,且所述缓存池已满时,则根据所述数组,将所述读次数最少且所述最近修改时间距离当前最远的数据下刷到硬盘,并将所述第一目标数据放入缓存池中,以供所述前端主机读取。
9.一种数据访问设备,其特征在于,包括:
存储器和处理器;
其中,所述存储器,用于存储计算机程序;
所述处理器,用于执行所述计算机程序,以实现权利要求1至7任一项所述的数据访问方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的数据访问方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911157860.5A CN111061429B (zh) | 2019-11-22 | 2019-11-22 | 一种数据访问方法、装置、设备、介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911157860.5A CN111061429B (zh) | 2019-11-22 | 2019-11-22 | 一种数据访问方法、装置、设备、介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111061429A true CN111061429A (zh) | 2020-04-24 |
| CN111061429B CN111061429B (zh) | 2022-06-17 |
Family
ID=70298144
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201911157860.5A Active CN111061429B (zh) | 2019-11-22 | 2019-11-22 | 一种数据访问方法、装置、设备、介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111061429B (zh) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113076067A (zh) * | 2021-04-16 | 2021-07-06 | 北京沃东天骏信息技术有限公司 | 淘汰缓存数据的方法和装置 |
| CN114089912A (zh) * | 2021-10-19 | 2022-02-25 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
| CN115599821A (zh) * | 2022-10-25 | 2023-01-13 | 中国农业银行股份有限公司(Cn) | 缓存控制方法、装置、设备及介质 |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110191540A1 (en) * | 2010-02-03 | 2011-08-04 | International Business Machines Corporation | Processing read and write requests in a storage controller |
| US9606938B1 (en) * | 2014-06-30 | 2017-03-28 | EMC IP Holding Company LLC | Managing caches in storage systems |
| WO2017157158A1 (zh) * | 2016-03-17 | 2017-09-21 | 中兴通讯股份有限公司 | 写数据的方法及装置、计算机存储介质 |
| CN108491166A (zh) * | 2018-03-27 | 2018-09-04 | 江苏菲利斯通信息科技有限公司 | 面向光盘库的读数据缓存管理方法 |
| CN108875046A (zh) * | 2018-06-28 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种存储系统访问方法、装置及电子设备 |
| CN108920300A (zh) * | 2018-08-02 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种数据操作方法及相关装置 |
| CN110008142A (zh) * | 2019-04-16 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 存储数据管理方法、装置、设备及计算机可读存储介质 |
| US20190303037A1 (en) * | 2018-03-30 | 2019-10-03 | Ca, Inc. | Using sequential read intention to increase data buffer reuse |
-
2019
- 2019-11-22 CN CN201911157860.5A patent/CN111061429B/zh active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110191540A1 (en) * | 2010-02-03 | 2011-08-04 | International Business Machines Corporation | Processing read and write requests in a storage controller |
| US9606938B1 (en) * | 2014-06-30 | 2017-03-28 | EMC IP Holding Company LLC | Managing caches in storage systems |
| WO2017157158A1 (zh) * | 2016-03-17 | 2017-09-21 | 中兴通讯股份有限公司 | 写数据的方法及装置、计算机存储介质 |
| CN108491166A (zh) * | 2018-03-27 | 2018-09-04 | 江苏菲利斯通信息科技有限公司 | 面向光盘库的读数据缓存管理方法 |
| US20190303037A1 (en) * | 2018-03-30 | 2019-10-03 | Ca, Inc. | Using sequential read intention to increase data buffer reuse |
| CN108875046A (zh) * | 2018-06-28 | 2018-11-23 | 郑州云海信息技术有限公司 | 一种存储系统访问方法、装置及电子设备 |
| CN108920300A (zh) * | 2018-08-02 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种数据操作方法及相关装置 |
| CN110008142A (zh) * | 2019-04-16 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 存储数据管理方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (9)
| Title |
|---|
| ALI A. TITINCHI等: "FPGA implementation of simplified Fuzzy LRU replacement algorithm", 《2019 16TH INTERNATIONAL MULTI-CONFERENCE ON SYSTEMS, SIGNALS & DEVICES (SSD)》 * |
| 刘秉煦等: "面向SSD/HDD混合存储的动态缓存调度算法DRC", 《微型电脑应用》 * |
| 周健等: "组合盘中结合访问次数与能量代价的文件缓存替换策略", 《计算机系统应用》 * |
| 尚晓薇等: "一种基于闪存的缓冲区管理算法", 《计算机与现代化》 * |
| 朱平等: "磁盘缓存管理机制研究", 《计算机工程与应用》 * |
| 汤显等: "FClock:一种面向SSD的自适应缓冲区管理算法", 《计算机学报》 * |
| 王志刚等: "一种高效率访问NAND数据的方法", 《通信技术》 * |
| 王江涛等: "闪存数据库:现状、技术与展望", 《计算机学报》 * |
| 郑开: "闪存数据库缓冲区置换算法综述", 《微型机与应用》 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113076067A (zh) * | 2021-04-16 | 2021-07-06 | 北京沃东天骏信息技术有限公司 | 淘汰缓存数据的方法和装置 |
| CN113076067B (zh) * | 2021-04-16 | 2024-07-16 | 北京沃东天骏信息技术有限公司 | 淘汰缓存数据的方法和装置 |
| CN114089912A (zh) * | 2021-10-19 | 2022-02-25 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
| CN114089912B (zh) * | 2021-10-19 | 2024-05-24 | 银联商务股份有限公司 | 基于消息中间件的数据处理方法及装置、存储介质 |
| CN115599821A (zh) * | 2022-10-25 | 2023-01-13 | 中国农业银行股份有限公司(Cn) | 缓存控制方法、装置、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111061429B (zh) | 2022-06-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20220413706A1 (en) | Data Storage Method, Apparatus and Storage System | |
| EP3131265A1 (en) | Data prefetching method for distributed hash table dht storage system, node, and system | |
| CN109614377A (zh) | 分布式文件系统的文件删除方法、装置、设备及存储介质 | |
| CN111061429B (zh) | 一种数据访问方法、装置、设备、介质 | |
| CN104620230A (zh) | 管理存储器的方法 | |
| CN105393228B (zh) | 读写闪存中数据的方法、装置及用户设备 | |
| CN109800181B (zh) | 一种基于磁盘的数据写入方法、数据写入装置及终端设备 | |
| CN113918527B (zh) | 一种基于文件缓存的调度方法、装置与计算设备 | |
| CN107480074A (zh) | 一种缓存方法、装置及电子设备 | |
| CN109710286A (zh) | 系统升级方法、装置、设备和存储介质 | |
| CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
| CN106227769B (zh) | 数据存储方法及装置 | |
| CN111177079A (zh) | 网络文件系统数据读取方法、装置、设备、介质 | |
| CN110543463A (zh) | 一种日志存储方法、装置、设备及可读存储介质 | |
| CN112162876B (zh) | 一种元数据修复方法、装置、设备及介质 | |
| CN103870204B (zh) | 一种cache中数据写入和读取方法、cache控制器 | |
| CN113485640A (zh) | 数据写入方法、装置、设备及可读存储介质 | |
| CN111026682B (zh) | 板卡芯片的数据访存方法、装置及计算机可读存储介质 | |
| CN113821499B (zh) | 一种双存储池数据淘汰方法、装置、设备 | |
| CN105335095A (zh) | 闪存文件系统的处理方法及装置 | |
| US9804968B2 (en) | Storage system and data writing method | |
| CN111625192B (zh) | 一种元数据对象访问方法、装置、设备以及介质 | |
| CN111090633A (zh) | 一种分布式文件系统的小文件聚合方法、装置及设备 | |
| CN112764929A (zh) | 一种内存页置换方法、系统、设备及计算机可读存储介质 | |
| EP2511825A1 (en) | Method and device for configuring memory capacity |
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 |