CN108984128A - 一种数据读取方法及装置 - Google Patents

一种数据读取方法及装置 Download PDF

Info

Publication number
CN108984128A
CN108984128A CN201810797726.0A CN201810797726A CN108984128A CN 108984128 A CN108984128 A CN 108984128A CN 201810797726 A CN201810797726 A CN 201810797726A CN 108984128 A CN108984128 A CN 108984128A
Authority
CN
China
Prior art keywords
data
target data
memory
target
cryptographic hash
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
Application number
CN201810797726.0A
Other languages
English (en)
Other versions
CN108984128B (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201810797726.0A priority Critical patent/CN108984128B/zh
Publication of CN108984128A publication Critical patent/CN108984128A/zh
Application granted granted Critical
Publication of CN108984128B publication Critical patent/CN108984128B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

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)
  • Storage Device Security (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开了一种数据读取方法及装置,包括:获取用于请求目标数据的数据读取请求;根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中;若所述目标数据在所述内存中,则从所述内存中读取所述目标数据。由此可见,利用本申请实施例提供的数据读取方法及装置,可以首先判断目标数据是否在内存中,如果目标数据在内存中,则可以直接从内存中读取该目标数据,而无需从存储设备例如磁盘中读取目标数据,而从内存中读取目标数据所花费的时间比从存储设备中读取目标数据所花费的时间短,从而提升了读取目标数据的效率。

Description

一种数据读取方法及装置
技术领域
本申请涉及数据处理领域,特别是涉及一种数据读取方法及装置。
背景技术
随着信息技术的发展,产生了海量的数据。目前可以用数据存储设备例如硬盘存储数据,当需要查看或者使用这些数据时,再从存储设备例如磁盘中读取数据。
但是,从磁盘中读取数据的速度一般比较慢,数据读取效率低。
因此,需要提供一种方案,能够提升数据读取的效率。
发明内容
本申请所要解决的技术问题是如何提升数据读取的效率,提供一种数据读取方法及装置。
第一方面,本申请实施例提供一种数据读取方法,包括:
获取用于请求目标数据的数据读取请求;
根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中;
若所述目标数据在所述内存中,则从所述内存中读取所述目标数据。
可选的,所述数据读取请求中携带所述目标数据的逻辑区块地址和所述目标数据的物理区块地址;所述根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中,包括:
根据所述逻辑区块地址利用哈希算法计算得到目标哈希值;
若所述目标哈希值存在与所述哈希链表中,且在所述哈希链表中所述目标哈希值对应的物理区块地址包括所述目标数据的物理区块地址,则确定所述目标数据在内存中。
可选的,若所述目标数据在所述内存中,所述方法还包括:
从最近最少使用LRU队列中,将所述目标哈希值和所述目标数据的物理区块地址移动到所述LRU队列的头部;
其中,所述LRU队列中存储有所述内存中的内存数据的哈希值和内存数据的物理区块地址。
可选的,所述方法还包括:
若所述目标数据不在所述内存中,则从存储设备中读取所述目标数据。
可选的,所述方法还包括:
将所述目标数据写入所述内存中,并且,将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述LRU队列的头部,并将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述哈希链表中。
可选的,所述方法还包括:
若所述LRU队列已满,则将所述LRU队列尾部的数据删除,并将所述哈希链表中与所述LRU队列尾部的数据所对应的数据删除,并将所述LRU队列尾部的数据对应的内存数据从所述内存中删除。
第二方面,本申请实施例提供一种数据读取装置,包括:
获取单元,用于获取用于请求目标数据的数据读取请求;
确定单元,用于根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中;
第一读取单元,用于若所述目标数据在所述内存中,则从所述内存中读取所述目标数据。
可选的,所述数据读取请求中携带所述目标数据的逻辑区块地址和所述目标数据的物理区块地址;所述确定单元,具体用于:
根据所述逻辑区块地址利用哈希算法计算得到目标哈希值;
若所述目标哈希值存在与所述哈希链表中,且在所述哈希链表中所述目标哈希值对应的物理区块地址包括所述目标数据的物理区块地址,则确定所述目标数据在内存中。
可选的,若所述目标数据在所述内存中,所述装置还包括:
移动单元,用于从最近最少使用LRU队列中,将所述目标哈希值和所述目标数据的物理区块地址移动到所述LRU队列的头部;
其中,所述LRU队列中存储有所述内存中的内存数据的哈希值和内存数据的物理区块地址。
可选的,所述装置还包括:
第二读取单元,用于若所述目标数据不在所述内存中,则从存储设备中读取所述目标数据。
可选的,所述装置还包括:
写入单元,用于将所述目标数据写入所述内存中,并且,将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述LRU队列的头部,并将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述哈希链表中。
可选的,所述装置还包括:
删除单元,用于若所述LRU队列已满,则将所述LRU队列尾部的数据删除,并将所述哈希链表中与所述LRU队列尾部的数据所对应的数据删除,并将所述LRU队列尾部的数据对应的内存数据从所述内存中删除。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供一种数据读取方法及装置,包括:获取用于请求目标数据的数据读取请求;根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中;若所述目标数据在所述内存中,则从所述内存中读取所述目标数据。由此可见,利用本申请实施例提供的数据读取方法及装置,可以首先判断目标数据是否在内存中,如果目标数据在内存中,则可以直接从内存中读取该目标数据,而无需从存储设备例如磁盘中读取目标数据,而从内存中读取目标数据所花费的时间比从存储设备中读取目标数据所花费的时间短,从而提升了读取目标数据的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据读取方法的流程示意图;
图2为本申请实施例提供的一种哈希链表的结构示意图;
图3为本申请实施例提供的一种确定目标数据是否存在于内存中的方法的流程示意图;
图4为本申请实施例提供的一种LRU队列的结构示意图;
图5为本申请实施例提供的一种数据读取装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过研究发现,可以用数据存储设备例如硬盘存储数据,当需要查看或者使用这些数据时,再从存储设备例如硬盘中读取数据。但是,从硬盘中读取数据的速度一般比较慢,数据读取效率低。
本申请的发明人在研究中发现,可以将访问频率比较高的数据存放在内存中,这样当需要读取这些访问频率比较高的数据时,就可以直接从内存中读取这些数据,无需从存储设备中读取这些数据。由于从内存中读取数据的速率比较快,因此,可以提升数据读取的效率。
鉴于此,本申请实施例提供了一种数据读取方法及装置,包括:获取用于请求目标数据的数据读取请求;根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中;若所述目标数据在所述内存中,则从所述内存中读取所述目标数据。由此可见,利用本申请实施例提供的数据读取方法及装置,可以首先判断目标数据是否在内存中,如果目标数据在内存中,则可以直接从内存中读取该目标数据,而无需从存储设备例如磁盘中读取目标数据,而从内存中读取目标数据所花费的时间比从存储设备中读取目标数据所花费的时间短,从而提升了读取目标数据的效率。
下面结合附图,详细说明本申请的各种非限制性实施方式。
示例性方法
参见图1,该图为本申请实施例提供的一种数据读取方法的流程示意图。
本申请实施例提供的数据读取方法,例如可以通过以下步骤S101-S103实现。
S101:获取用于请求目标数据的数据读取请求。
需要说明的是,在本申请实施例中,所述数据读取请求用于请求读取目标数据。
需要说明的是,本申请实施例不具体限定所述目标数据,作为一种示例,所述目标数据可以为元数据。
本申请实施例不具体限定所述数据读取请求所包含的内容。所述数据读取请求所包含的内容可以根据实际情况具体确定。在本申请实施例的一种可能的实现方式中,所述数据读取请求可以携带所述目标数据的逻辑区块地址(Logical Block Address,LBA)和所述目标数据的物理区块地址(Physical Block Address,PBA)。
S102:根据所述数据读取请求,利用哈希链表确定所述目标数据是否存在于内存中。
需要说明的是,在本申请实施例中,采用哈希链表确定所述目标数据是否存在于内存中。
首先,对哈希链表进行简单介绍。
参见图2,该图为本申请实施例提供的一种哈希链表的结构示意图。
图2所示的哈希链表中,210中存储有哈希值d1,220中存储有哈希值d2,230中存储有哈希值d3,240中存储有哈希值d4。哈希值可以对应数据在内存中的存储位置。
每个哈希值对应一个记录存储区域,在图2中,哈希值d1对应记录存储区域210a,哈希值d2对应记录存储区域220a,哈希值d3对应记录存储区域230a,哈希值d4对应记录存储区域240a。
记录存储区域210a中有若干个物理区块地址,例如,a1、a2和a3,哈希值d1与210a中的任意一个物理区块地址的组合可以指向内存中存储的部分内存数据。例如,d1和a1可以指向内存中存储的部分内存数据、d1和a2可以指向内存中存储的部分内存数据,以及,d1和a3可以指向内存中存储的部分内存数据。类似的,记录存储区域220a中有若干个物理区块地址,哈希值d2与220a中的任意一个物理区块地址的组合可以指向内存中存储的部分内存数据;记录存储区域230a中有若干个物理区块地址,哈希值d3与230a中的任意一个物理区块地址的组合可以指向内存中存储的部分内存数据;记录存储区域240a中有若干个物理区块地址,哈希值d4与240a中的任意一个物理区块地址的组合可以指向内存中存储的部分内存数据。
步骤S102在具体实现时,可以通过如下步骤S301-S302实现。
S301:根据所述逻辑区块地址利用哈希算法计算得到目标哈希值。
如前文所述,所述数据读取请求中可以携带有所述目标数据的逻辑区块地址。因此,可以根据所述逻辑区块地址利用哈希算法计算得到目标哈希值。
需要说明的是,本申请实施例不具体限定所述哈希算法,作为一种示例,可以选择使得哈希链表的长度分布均匀的哈希算法。以图2所示的哈希链表为例,可以选择使得记录存储区域210a、220a、230a和240a的长度分布均匀的哈希算法。
S302:若所述目标哈希值存在与所述哈希链表中,且在所述哈希链表中所述目标哈希值对应的物理区块地址包括所述目标数据的物理区块地址,则确定所述目标数据在内存中。
如前文对哈希链表的描述,哈希链表中的每个哈希值对应一个记录存储区域。在本申请实施例中,所述目标哈希值对应的物理区块地址,是指,该目标哈希值对应的记录存储区域中的物理区块地址。以图2为例说明,若目标哈希值为d1,则记录存储区域210a中的物理区块地址,即为与目标哈希值d1对应的物理区块地址。
如前文所述,哈希值与该哈希值对应的记录存储区域中的任意一个物理区块地址的组合可以指向内存中存储的部分内存数据。因此,在本申请实施例中,若所述目标哈希值存在于所述哈希链表中,且该目标哈希值对应的物理区块地址中包括所述目标数据的物理区块地址,则说明该目标数据在内存中。
S103:若所述目标数据存在与内存中,从所述内存中读取所述目标数据。
可以理解的是,确定所述目标数据在内存中之后,即可利用所述目标数据的哈希值和/或所述目标数据的物理区块地址,从所述内存中读取所述目标数据。
由此可见,利用本申请实施例提供的数据读取方法,可以首先判断目标数据是否在内存中,如果目标数据在内存中,则可以直接从内存中读取该目标数据,而无需从存储设备例如磁盘中读取目标数据,而从内存中读取目标数据所花费的时间比从存储设备中读取目标数据所花费的时间短,从而提升了读取目标数据的效率。
可以理解的是,在实际应用中,内存的存储空间是有限的,因此,为了提高内存的使用率,最大限度的提升数据读取的效率,最好在内存中存储一些被访问的频率高的数据。鉴于此,在本申请实施例的一种可能的实现方式中,还可以引入最近最少使用(LeastRecently Used,LRU)队列。对内存中存储的数据进行管理,以便于当内存存储空间不足时,及时淘汰内存中的部分数据。
首先对LRU队列进行简单介绍。
参见图4,该图为本申请实施例提供的一种LRU队列的结构示意图。
其中410为LRU队列的头部,420为LRU队列的尾部。LRU队列用于保存内存中存储的数据的信息,例如,在本申请实施例中,可以保存数据的哈希值和物理区块地址。当内存中的数据被访问时,将该数据的信息***到LRU队列的头部410,当磁盘上的数据被访问时,也将该数据的信息***到LRU队列的头部410;若LRU队列已满,则将队列尾部存储的信息删除。即LRU队列会删除访问时间距离目前最远的内存数据的信息。
在本申请实施例中,所述LRU队列中存储有内存中的内存数据的哈希值和内存数据物理区块地址。当所述目标数据在所述内存中时,可以将所述目标数据的哈希值即目标哈希值和所述目标数据的物理区块地址移动到所述LRU队列的头部,以表示该目标数据是最近被读取的数据。
可以理解的是,在实际应用中,有可能目标数据并不在所述内存中,对于这种情况,在本申请实施例中,可以从存储设备例如磁盘中读取所述目标数据。
可以理解的是,目前读取的数据,以后被读取的可能性也比较大,因此,为了提升所述目标数据再次被读取时的读取效率,在本申请实施例中,可以将所述目标数据写入内存中。相应的,将所述目标数据的哈希值和所述目标数据的物理区块地址存放到所述哈希链表中,以便下次读取所述目标数据时,可以利用所述哈希链表确定所述目标数据在所述内存中。相应的,为了便于对所述内存中数据的管理,还可以将所述目标数据的物理区块地址和所述目标数据的哈希值(即所述目标哈希值)存放到所述LRU队列的头部。
可以理解的是,内存的存储空间有限,若将所述目标数据写入内存中之前,所述内存的存储空间已满,则需要释放内存中的部分存储空间,以便将所述目标数据写入内存中。此时,可以利用LRU队列确定删除内存中的哪些数据。具体地,由于LRU队列尾部对应的内存数据的访问时间距离当前时间最远,因此,LRU队列尾部对应的内存数据以后被访问的频率可能比较低,因此,在本申请实施例的一种可能的实现方式中,若所述LRU队列已满,可以将所述LRU队列尾部的数据删除,并将所述哈希链表中与所述LRU队列尾部的数据所对应的数据删除,并将所述LRU队列尾部的数据对应的内存数据从所述内存中删除。
需要说明的是,所述LRU队列已满,说明所述内存的存储空间已满。
可以理解的是,将所述哈希链表中与所述LRU队列尾部的数据所对应的数据删除,可以使得再次读取所述已删除的内存数据时,可以利用所述哈希链表确定出该已删除的内存数据不在所述内存中。
示例性设备
参见图5,该图为本申请实施例提供的一种数据读取装置的结构示意图。
所述装置500例如可以具体包括:获取单元510、确定单元520和第一读取单元530。
获取单元510,用于获取用于请求目标数据的数据读取请求;
确定单元520,用于根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中;
第一读取单元530,用于若所述目标数据在所述内存中,则从所述内存中读取所述目标数据。
可选的,所述数据读取请求中携带所述目标数据的逻辑区块地址和所述目标数据的物理区块地址;所述确定单元520,具体用于:
根据所述逻辑区块地址利用哈希算法计算得到目标哈希值;
若所述目标哈希值存在与所述哈希链表中,且在所述哈希链表中所述目标哈希值对应的物理区块地址包括所述目标数据的物理区块地址,则确定所述目标数据在内存中。
可选的,若所述目标数据在所述内存中,所述装置500还包括:
移动单元,用于从最近最少使用LRU队列中,将所述目标哈希值和所述目标数据的物理区块地址移动到所述LRU队列的头部;
其中,所述LRU队列中存储有所述内存中的内存数据的哈希值和内存数据的物理区块地址。
可选的,所述装置500还包括:
第二读取单元,用于若所述目标数据不在所述内存中,则从存储设备中读取所述目标数据。
可选的,所述装置500还包括:
写入单元,用于将所述目标数据写入所述内存中,并且,将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述LRU队列的头部,并将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述哈希链表中。
可选的,所述装置500还包括:
删除单元,用于若所述LRU队列已满,则将所述LRU队列尾部的数据删除,并将所述哈希链表中与所述LRU队列尾部的数据所对应的数据删除,并将所述LRU队列尾部的数据对应的内存数据从所述内存中删除。
需要说明的是,由于所述装置500是与以上方法实施例提供的方法对应的装置,因此,关于所述装置500的各个单元的具体实现,可以参考以上方法实施例的描述部分,此处不再赘述。
由此可见,利用本申请实施例提供的数据读取装置,可以首先判断目标数据是否在内存中,如果目标数据在内存中,则可以直接从内存中读取该目标数据,而无需从存储设备例如磁盘中读取目标数据,而从内存中读取目标数据所花费的时间比从存储设备中读取目标数据所花费的时间短,从而提升了读取目标数据的效率。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种数据读取方法,其特征在于,包括:
获取用于请求目标数据的数据读取请求;
根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中;
若所述目标数据在所述内存中,则从所述内存中读取所述目标数据。
2.根据权利要求1所述的方法,其特征在于,所述数据读取请求中携带所述目标数据的逻辑区块地址和所述目标数据的物理区块地址;所述根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中,包括:
根据所述逻辑区块地址利用哈希算法计算得到目标哈希值;
若所述目标哈希值存在与所述哈希链表中,且在所述哈希链表中所述目标哈希值对应的物理区块地址包括所述目标数据的物理区块地址,则确定所述目标数据在内存中。
3.根据权利要求2所述的方法,其特征在于,若所述目标数据在所述内存中,所述方法还包括:
从最近最少使用LRU队列中,将所述目标哈希值和所述目标数据的物理区块地址移动到所述LRU队列的头部;
其中,所述LRU队列中存储有所述内存中的内存数据的哈希值和内存数据的物理区块地址。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
若所述目标数据不在所述内存中,则从存储设备中读取所述目标数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
将所述目标数据写入所述内存中,并且,将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述LRU队列的头部,并将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述哈希链表中。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述LRU队列已满,则将所述LRU队列尾部的数据删除,并将所述哈希链表中与所述LRU队列尾部的数据所对应的数据删除,并将所述LRU队列尾部的数据对应的内存数据从所述内存中删除。
7.一种数据读取装置,其特征在于,包括:
获取单元,用于获取用于请求目标数据的数据读取请求;
确定单元,用于根据所述数据读取请求,利用哈希链表确定所述目标数据是否在内存中;
第一读取单元,用于若所述目标数据在所述内存中,则从所述内存中读取所述目标数据。
8.根据权利要求7所述的装置,其特征在于,所述数据读取请求中携带所述目标数据的逻辑区块地址和所述目标数据的物理区块地址;所述确定单元,具体用于:
根据所述逻辑区块地址利用哈希算法计算得到目标哈希值;
若所述目标哈希值存在与所述哈希链表中,且在所述哈希链表中所述目标哈希值对应的物理区块地址包括所述目标数据的物理区块地址,则确定所述目标数据在内存中。
9.根据权利要求8所述的装置,其特征在于,若所述目标数据在所述内存中,所述装置还包括:
移动单元,用于从最近最少使用LRU队列中,将所述目标哈希值和所述目标数据的物理区块地址移动到所述LRU队列的头部;
其中,所述LRU队列中存储有所述内存中的内存数据的哈希值和内存数据的物理区块地址。
10.根据权利要求7-9任意一项所述的装置,其特征在于,所述装置还包括:
第二读取单元,用于若所述目标数据不在所述内存中,则从存储设备中读取所述目标数据。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
写入单元,用于将所述目标数据写入所述内存中,并且,将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述LRU队列的头部,并将所述目标数据的物理区块地址和所述目标数据的哈希值存放到所述哈希链表中。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
删除单元,用于若所述LRU队列已满,则将所述LRU队列尾部的数据删除,并将所述哈希链表中与所述LRU队列尾部的数据所对应的数据删除,并将所述LRU队列尾部的数据对应的内存数据从所述内存中删除。
CN201810797726.0A 2018-07-19 2018-07-19 一种数据读取方法及装置 Active CN108984128B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810797726.0A CN108984128B (zh) 2018-07-19 2018-07-19 一种数据读取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810797726.0A CN108984128B (zh) 2018-07-19 2018-07-19 一种数据读取方法及装置

Publications (2)

Publication Number Publication Date
CN108984128A true CN108984128A (zh) 2018-12-11
CN108984128B CN108984128B (zh) 2022-03-08

Family

ID=64550422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810797726.0A Active CN108984128B (zh) 2018-07-19 2018-07-19 一种数据读取方法及装置

Country Status (1)

Country Link
CN (1) CN108984128B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737064A (zh) * 2011-04-15 2012-10-17 腾讯科技(深圳)有限公司 文件缓存方法及装置
CN103139224A (zh) * 2011-11-22 2013-06-05 腾讯科技(深圳)有限公司 一种网络文件***及网络文件***的访问方法
CN104049918A (zh) * 2014-07-03 2014-09-17 浪潮集团有限公司 一种双控存储服务器的缓存管理方法
CN104156482A (zh) * 2014-08-26 2014-11-19 天津市普迅电力信息技术有限公司 一种地图瓦片数据的发布方法
CN104991743A (zh) * 2015-07-02 2015-10-21 西安交通大学 应用于固态硬盘阻变存储器缓存的损耗均衡方法
EP3115904A1 (en) * 2015-07-06 2017-01-11 Alcatel Lucent Method for managing a distributed cache

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102737064A (zh) * 2011-04-15 2012-10-17 腾讯科技(深圳)有限公司 文件缓存方法及装置
CN103139224A (zh) * 2011-11-22 2013-06-05 腾讯科技(深圳)有限公司 一种网络文件***及网络文件***的访问方法
CN104049918A (zh) * 2014-07-03 2014-09-17 浪潮集团有限公司 一种双控存储服务器的缓存管理方法
CN104156482A (zh) * 2014-08-26 2014-11-19 天津市普迅电力信息技术有限公司 一种地图瓦片数据的发布方法
CN104991743A (zh) * 2015-07-02 2015-10-21 西安交通大学 应用于固态硬盘阻变存储器缓存的损耗均衡方法
EP3115904A1 (en) * 2015-07-06 2017-01-11 Alcatel Lucent Method for managing a distributed cache

Also Published As

Publication number Publication date
CN108984128B (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
CN108647151A (zh) 一种全闪***元数据落盘方法、装置、设备及存储介质
US20070061539A1 (en) Filesystem building method
US10884926B2 (en) Method and system for distributed storage using client-side global persistent cache
WO2017148242A1 (zh) 一种访问叠瓦式磁记录smr硬盘的方法及服务器
CN107817946B (zh) 用于混合存储设备读写数据的方法以及装置
CN103984644B (zh) 一种数据管理方法及装置
CN109804359A (zh) 用于将数据回写到存储设备的***和方法
CN108089825B (zh) 一种基于分布式集群的存储***
CN101673192A (zh) 时序化的数据处理方法、装置及***
CN104092670A (zh) 网络缓存服务器处理文件的方法及处理缓存文件的设备
CN109471843A (zh) 一种元数据缓存方法、***及相关装置
KR20170010810A (ko) 플래시 메모리 내에 데이터를 판독/기록하기 위한 방법, 장치 및 사용자 장비
JP2005222534A (ja) フラッシュメモリのデータ管理装置及び方法
WO2014153931A1 (zh) 文件存储方法、装置、访问客户端及元数据服务器***
CN110321081A (zh) 一种闪存读缓存的方法及其***
CN109144403B (zh) 一种用于云盘模式切换的方法与设备
CN109582233A (zh) 一种数据的缓存方法和装置
CN111475099A (zh) 一种数据存储方法、装置及其设备
US11132134B2 (en) Flexible over-provisioning of storage space within solid-state storage devices (SSDs)
US20200349186A1 (en) Method, apparatus and computer program product for managing metadata of storage object
CN108984128A (zh) 一种数据读取方法及装置
KR101643278B1 (ko) 데이터베이스 시스템에서 스토리지 서버 관리 방법, 장치 및 컴퓨터 판독가능 매체에 저장된 컴퓨터-프로그램
CN112286448B (zh) 对象访问方法、装置、电子设备及机器可读存储介质
CN110658999B (zh) 一种信息更新方法、装置、设备及计算机可读存储介质
CN104375781B (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