CN102111448B - 分布式哈希表dht存储系统的数据预取方法、节点和系统 - Google Patents

分布式哈希表dht存储系统的数据预取方法、节点和系统 Download PDF

Info

Publication number
CN102111448B
CN102111448B CN2011100068138A CN201110006813A CN102111448B CN 102111448 B CN102111448 B CN 102111448B CN 2011100068138 A CN2011100068138 A CN 2011100068138A CN 201110006813 A CN201110006813 A CN 201110006813A CN 102111448 B CN102111448 B CN 102111448B
Authority
CN
China
Prior art keywords
memory node
prefetch
data block
data piece
prefetch data
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.)
Active
Application number
CN2011100068138A
Other languages
English (en)
Other versions
CN102111448A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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
Priority to CN2011100068138A priority Critical patent/CN102111448B/zh
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to EP16157884.4A priority patent/EP3131265B1/en
Priority to PCT/CN2011/075352 priority patent/WO2011144175A1/zh
Priority to ES16157884.4T priority patent/ES2690454T3/es
Priority to ES11783092.7T priority patent/ES2586907T3/es
Priority to EP11783092.7A priority patent/EP2562991B1/en
Publication of CN102111448A publication Critical patent/CN102111448A/zh
Priority to US13/708,603 priority patent/US8738861B2/en
Application granted granted Critical
Publication of CN102111448B publication Critical patent/CN102111448B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/31Providing disk cache in a specific location of a storage system
    • G06F2212/314In storage network, e.g. network attached cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • G06F8/4442Reducing the number of cache misses; Data prefetching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5681Pre-fetching or pre-delivering data based on network characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明实施例提供一种分布式哈希表DHT存储系统的数据预取方法、节点和系统。方法包括:第一存储节点接收客户端发送的读取请求,根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的第二存储节点,并向第二存储节点发送预取请求,第一存储节点与第二存储节点为相同或不同的存储节点,预取请求中包括预取数据块的标识信息,标识信息用于唯一标识预取数据块;第二存储节点根据预取请求从磁盘中读取预取数据块,并将预取数据块存储至本地缓存,以使客户端从所述第二存储节点的本地缓存中读取预取数据块。本发明实施例能够直接从缓存中读取预取数据块,从而提高系统中各存储节点的数据访问效率。

Description

分布式哈希表DHT存储系统的数据预取方法、节点和系统
技术领域
本发明涉及信息技术领域,特别涉及一种分布式哈希表DHT存储系统的数据预取方法、节点和系统。
背景技术
随着网络的发展,信息呈现爆炸性增长,基于分布式哈希表(DistributedHash Table;DHT)技术的点对点(Pear to Pear;P2P)等类型的存储系统拥有很高的扩展性,能够支持大规模的数据存储。然而,在P2P等类型的存储系统中,一段连续的数据被分割成若干块,存放在系统的若干节点中,从而导致客户端从系统中读取数据时无法连续读取,进而导致数据读取效率低下。
现有的DHT存储系统的数据预取方法,客户端根据应用程序的访问规则判断下一次需要用到的数据内容和存储位置,由客户端依次向各个相关存储单元读取数据存储在客户端,以便上层应用需要时,不必再经过网络传输,而是直接从客户端获取数据来提高读取效率。然而,DHT存储系统执行数据预取操作必须依赖于客户端,该预取方法只是提高了客户端到各个节点的通信效率,而系统读取数据的效率没有改变,即系统读取数据的效率依然低下。
发明内容
本发明实施例提供了一种分布式哈希表DHT存储系统的数据预取方法、节点和系统,以解决现有技术DHT存储系统的读取效率低的问题。
本发明实施例提供一种分布式哈希表DHT存储系统的数据预取方法,包括:
第一存储节点接收客户端发送的读取请求,根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求,所述第一存储节点与所述第二存储节点为相同或不同的存储节点,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块;
所述第二存储节点根据所述预取请求从磁盘中读取所述预取数据块,并将所述预取数据块存储至本地缓存,以使客户端从所述第二存储节点的本地缓存中读取所述预取数据块。
本发明实施例还提供一种分布式哈希表DHT存储系统的存储节点,包括:
分析模块,用于接收客户端发送的读取请求,根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的存储节点;
通知模块,用于向所述存储节点发送预取请求,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块;
预取模块,用于根据所述预取请求从磁盘中读取所述分析模块确定的所述预取数据块,并将所述预取数据块存储至本地缓存,以使客户端从所述本地缓存中读取所述预取数据块。
本发明还提供一种分布式哈希表DHT存储系统,包括多个本发明实施例提供的存储节点。
本发明还提供一种分布式哈希表DHT存储系统,包括:第一存储节点和第二存储节点;
所述第一存储节点,用于接收客户端发送的读取请求,根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求,所述第一存储节点与所述第二存储节点为相同或不同的存储节点,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块;
所述第二存储节点,用于根据所述第一存储节点发送的预取请求从磁盘中读取所述预取数据块,并将所述预取数据块存储至本地缓存,以使客户端从所述第二存储节点的本地缓存中读取所述预取数据块。
本发明实施例提供的分布式哈希表DHT存储系统的数据预取方法、节点和系统,可以根据读取的数据块以及设定的预取数据块阈值确定预取数据块,然后将磁盘中的预取数据块加载到缓存中,当接收到客户端的读取请求后,可以直接缓存中读取预取数据块,从而提高系统中各存储节点的数据访问效率,节约系统资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的分布式哈希表DHT存储系统的数据预取方法第一实施例的流程图;
图2为分布式哈希表DHT存储系统的数据存储结构示意图;
图3为图1所示分布式哈希表DHT存储系统的数据预取方法各存储节点在执行预取方法的交互流程图;
图4为本发明提供的分布式哈希表DHT存储系统的数据预取方法第二实施例的流程图;
图5为本发明提供的分布式哈希表DHT存储系统的存储节点第一实施例的结构示意图;
图6为本发明提供的分布式哈希表DHT存储系统的存储节点第二实施例的结构示意图;
图7为本发明实施例提供的分布式哈希表DHT存储系统的存储节点处理读取请求的主要处理过程;
图8为本发明实施例提供的分布式哈希表DHT存储系统的存储节点接收到预取请求后进行的主要处理过程。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的分布式哈希表DHT存储系统的数据预取方法第一实施例的流程图,如图1所示,该方法包括:
S101、第一存储节点接收客户端发送的读取请求;
S102、第一存储节点根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求,所述第一存储节点与所述第二存储节点为相同或不同的存储节点,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块;
S103、所述第二存储节点根据所述预取请求从磁盘中读取所述预取数据块,并将所述预取数据块存储至本地缓存,以使客户端从所述第二存储节点的本地缓存中读取所述预取数据块。
本发明提供的分布式哈希表DHT存储系统的数据预取方法,适用于分布式哈希表DHT存储系统,这类存储系统以DHT方式进行数据存储,该存储系统在存储数据时,通常将一段连续的数据(即原始数据),分割成若干块,存放在系统的若干存储节点中。例如:图2所示的DHT存储系统中,分割成的数据块D1、D2......D8对应一段连续的原始数据,该原始数据分散存储在存储节点N1、N2、N3和N4的磁盘上。每个数据块在存储系统中的数据访问形式通常可以为get(key,&value),其中,key为数据块在存储系统中的唯一标识,value为数据块的数据内容。存储数据的磁盘可以是普通的电子集成驱动器(Integrated Drive Electronics;IDE)硬盘,串行高级技术附件(SerialAdvanced Technology Attachment;SATA)硬盘或固态硬盘等。
S101和S102的执行主体第一存储节点,可以是DHT存储系统中的任一存储节点,该第一存储节点在接收到客户端发出的读取某数据块D1的读取请求后,便可以进行预取操作。具体的,由于原始数据中的数据块是顺序编号的,具体能够从数据块的key值上体现出来,因此,第一存储节点可以根据读取的数据块D1的key值来确定D1后面需要读取的数据块的key值,还可以进一步对需要读取的数据块的key值进行DHT运算,获取这些数据块所在的第二存储节点,并向第二存储节点发出预取请求,该预取请求中包括预取数据块的标识信息(key值),以使第二存储节点根据该标识信息对D1后面需要读取的数据块进行预取操作。
需要说明的是,第二存储节点并不是指系统中的某一个节点,而可能是系统中的多个存储节点。这是由于确定的预取数据块可能为多个,而这些预取数据块可能分散存储在不同的第二存储节点上,因此,在确定预取数据块后,每个第二存储节点可以将需要预取的数据块从磁盘中读取,然后存储至本地缓存中,即将磁盘中的预取数据块加载到本地缓存中,以便于客户端直接从本地缓存中读取数据块。另外,第二存储节点和第一存储节点可能是同一存储节点,即第一存储节点确定的至少一个预取数据块可能位于本地存储单元,这种情况下,第一存储节点根据预取请求中的预取数据块标识信息,从本地磁盘中读取预取数据块存储至本地缓存。
由于进行预取操作实际上节省的是每个数据块的网络传输时间,并且由于各存储节点中的缓存容量的限制,以及考虑到如果缓存中存储过多的预取数据块,则会导致读取速度降低等因素,因此,通常要设定一个预取数据块阈值,通过该预取数据块阈值限定预取数据块的个数。该预取数据块阈值通常可以大于等于单个数据块的读取时间与单个数据块的网络传输时间的比值。另外,该预取数据块阈值还可以根据前述的存储节点中的缓存容量,以及各存储节点中其他硬件,例如:磁盘、中央处理器(Central Processing Unit;CPU)、主板以及网卡等硬件设备的情况来确定。
当系统中的各存储节点接收到客户端发出的读取请求后,首先从缓存中查找是否存在该需要读取的数据块,即需要读取的数据块是否已经预取。如果缓存中存在需要读取的数据块,则存储节点可以直接从缓存中读取该数据块,并向客户端返回该数据块;如果缓存中不存在需要读取的数据块,则说明该数据块还没有预取,则存储节点可以从磁盘中读取该数据块。读取该数据块的同时,或读取该数据块之后,各存储节点又可以触发新的预取过程,如前所述,不再赘述。
本实施例提供的分布式哈希表DHT存储系统的数据预取方法,可以根据读取的数据块以及设定的预取数据块阈值确定预取数据块,然后将磁盘中的预取数据块加载到缓存中,当接收到客户端的读取请求后,可以直接缓存中读取预取数据块,从而提高系统中各存储节点的数据访问效率。
为了更清楚的都对本发明提供的数据预取方法第一实施例进行说明,图3提供了存储系统中各存储节点在执行预取方法的交互流程图,如图3所示,本实施例以客户端向存储节点A发送读取数据块Dn的读取请求,存储节点A触发预取操作为例进行说明,该方法包括:
S201、客户端根据Dn的key找到Dn的存储节点A,向存储节点A发出读取请求;
其中,客户端根据数据块的Key找到存储节点节点的方法可以采用通用的DHT算法,这里不详细描述。
客户端向存储节点A发起数据块读取操作可以采取多种方式,例如:客户端可以使用DHT存储系统提供的存储接口get(key,&value)向节点A发起进行数据读取的操作;还可以根据key的范围等其他方式发起数据读取操作,这里不一一列举。
S202、存储节点A在缓存中查找数据块Dn,如果缓存中存在,则直接存储节点A直接从缓存中提取Dn返回给客户端;
S203、如果缓存中不存在Dn,则从磁盘中读取Dn返回给客户端。
S204、存储节点A启动预取操作过程,为了便于描述,本实施例中假设:存储节点A根据Dn和设定的预取数据块阈值确定需要预取两个数据块,分别为Dn+1和Dn+2(即为原始数据中与Dn编号连续的后两个数据块),根据DHT算法获知Dn+1和Dn+2分别保存于存储节点X和存储节点Y,则执行S205和S206;
S205、存储节点A向存储节点X发出数据块Dn+1的预取请求。
S206、存储节点A向存储节点Y发出数据块Dn+2的预取请求。
其中,S205和S206不分先后,可以同步执行,也可以异步执行。
S207、存储节点X接收到数据块Dn+1的预取请求后进行处理,将该数据块从磁盘加载到缓存中。
S208、存储节点Y接收到数据块Dn+2的预取请求后进行处理,将该数据块从磁盘加载到缓存中。
S207和S208中,存储节点X和存储节点Y在接收到存储节点A发送的预取请求后,可以直接从磁盘中加载对应数据块到缓存中。
但为了提高系统的预取准确率,接收到预取请求的存储节点还可以进一步判断是否需要进行预取,判断是否进行预取的操作将在下面的实施例中描述。
S209、客户端需要读取数据块Dn+1时,其根据Dn+1的key找到存储节点X,并使用DHT存储系统提供的存储接口get(key,&value)向存储节点X发起进行数据块读取的操作。
S210、存储节点X接收到读取数据块Dn+1的请求后,查找到缓存中已存在Dn+1,则直接将缓存的Dn+1返回给客户端。
S211、客户端需要读取数据块Dn+2时,其根据Dn+2的key找到存储节点Y,并使用DHT存储系统提供的存储接口get(key,&value)向存储节点Y发起进行数据块读取的操作。
S212、存储节点Y接收到读取数据块Dn+2的请求后,查找到缓存中已存在Dn+2,则直接将缓存的Dn+2返回给客户端。
图4为本发明提供的分布式哈希表DHT存储系统的数据预取方法第二实施例的流程图,如图4所示,本实施例提供的DHT系统的数据预取方法,存储节点在接收到预取请求时,需要进一步判断是否需要进行预取操作,以提高系统的预取准确率。具体是,每个存储节点在进行数据块读取操作后,将读取的数据块以及对应的时间戳在读取记录表中进行记录,该时间戳用于标识数据块的读取时间。当存储节点接收到预取请求时,根据读取记录表中已读取的数据块个数以读取时间最近的时间戳判断是否进行预取操作。如果已读取的数据块个数大于或等于设定的已读取数据块阈值,且本次预读时间与所述时间戳显示的最近的读取时间之差小于等于设定时间,则进行预取操作。
设置读取记录中的已读取数据块阈值是因为,如果客户端仅读取了很少的几个数据块,并不能说明客户端一定是顺序读取原始数据中的数据块,则可能会导致顺序读判断不准确,导致不必要的预取;但已读取数据块阈值亦不能设置的过大,这样可能导致前期预取效率的低下,并且增加了读取记录传递与保存的系统损耗。因此,已读取数据块阈值可以根据原始数据中的数据块量以及系统硬件配置等情况来设置。
进一步的,本次预读时间与时间戳显示的最近的读取时间之差需要小于等于一定的时间,才能表示预取数据块与已读取数据块对应的都是客户端的本次原始数据读取操作,而不是客户端之前的原始数据读取操作。
本实施例给出了客户端触发D1-D4的读取过程,假设设定的读取记录中的已读取数据块阈值为3时进行预取操作,该方法具体包括:
S301、客户端向存储节点A请求读取数据块D1
S302、假设D1为客户端读取的第一个数据块,存储节点A从磁盘中读取数据块D1并返回给客户端;
S303、存储节点A在读取记录中记录<D1>(包括D1的时间戳),该读取记录表对应同一段原始数据;
S304、存储节点A分析出数据块D1的后继为D2,并计算出存储D2的存储节点B,向存储节点B发出预取D2的请求,并携带块读取记录<D1>;
其中,存储节点A分析D2的过程可以为:根据设定的预取数据块阈值,确定预取数据块的个数;由于读取的数据块与预取数据块所属同一原始数据,因此具有相同前缀,且读取的数据块与预取数据块在原始数据中为顺序编号,其中,前缀为数据块所属原始数据的唯一标识,编号标识数据在原始数据中的位置。因此,存储节点A可以根据读取的数据块D1的前缀和编号确定预取数据块的前缀和编号,再根据预取数据块的前缀和编号对预取数据块进行哈希运算,确定预取数据块的存储节点。
S305、存储节点B接收到存储节点A的预取请求后,查看读取记录中的已读取数据块仅为D1,则存储节点B仅保存该读取记录,但不执行预取操作;
S306、客户端向存储节点B请求读取数据块D2
S307、由于存储节点B并没有对D2进行预取,因此,存储节点B从磁盘中读取数据块D2并返回给客户端;
S308、存储节点B更新读取记录为<D1,D2>(包括D2的时间戳);
S309、存储节点B分析出数据块D2的后继为D3,并计算出D3的位置,向D3所在存储节点C发出预取D3的请求,并携带块历史记录<D1,D2>;
S310、存储节点C接收到存储节点B的预取请求后,查看读取记录中包括2个已读取数据块,小于的已读取数据块阈值3,则存储节点C仅保存该读取记录,不执行预取操作;
S311、客户端向存储节点C请求读取数据块D3
S312、由于存储节点C并没有对D3进行预取,因此,存储节点C从磁盘中读取数据块D3并返回给客户端;
S313、存储节点C更新读取记录为<D1,D2,D3>(包括D3的时间戳);
S314、存储节点C分析出数据块D3的后继为D4,并计算出D4的位置,向D4所在节点存储D发出预取D4的请求,并携带块读取记录<D1,D2,D3>;
S315、存储节点D接收到存储节点C的预取请求后,查看读取记录中包括3个已读取数据块,等于的已读取数据块阈值3,则存储节点D进一步判断本次预读时间与时间戳显示的最近的读取时间之差是否小于等于设定时间,这里假定小于等于设定时间,则存储节点保存该读取记录,并从磁盘读取D4存入缓存;
S316、客户端向存储节点D请求读取数据块D4
S317、由于存储节点D已经对D4进行预取,因此,存储节点D直接从缓存中读取数据块D4并返回给客户端。
之后,存储节点D仍进行数据块预取的操作,不再赘述。
另外,由于只要读取记录中的读取数据块的个数等于设定的已读取数据块阈值则可能进行预取,因此,为了提高各存储节点进行预取判断的时间,并且节约读取记录表的存储空间,如果读取记录表中的数据块个数大于设定的已读取数据块阈值,则根据时间戳删除在先读取的数据块,以使记录表中的数据块个数等于设定的已读取数据块阈值。
需要说明的是,为了保证预取内容与磁盘数据块的一致性,如果对缓存中的预取数据块进行改写,则需要对磁盘中的相同数据块进行同步改写;同样,如果对磁盘中的数据块进行改写,则需要对缓存中相同的预取数据块进行同步改写。还可以通过使用某种数据结构记录磁盘数据块与缓存中的预取数据块之间的关系,以便磁盘数据块发生改变时可以同步修改预取数据块。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
图5为本发明提供的分布式哈希表DHT存储系统的存储节点第一实施例的结构示意图,如图5所示,该装置包括:分析模块11、通知模块12和预取模块13;
分析模块11,用于接收客户端发送的读取请求,根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的存储节点;
通知模块12,用于向所述存储节点发送预取请求,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块,至少一个数据块为所述预取数据块;
预取模块13,用于根据所述预取请求从磁盘中读取分析模块11确定的预取数据块,并将预取数据块存储至本地缓存,以使客户端从本地缓存中读取预取数据块。
本实施例提供的分布式哈希表DHT存储系统的存储节点,可以根据读取的数据块以及设定的预取数据块阈值确定预取数据块,然后将磁盘中的预取数据块加载到缓存中,当接收到客户端的读取请求后,可以直接缓存中读取预取数据块,从而提高系统中各存储节点的数据块访问效率。
图6为本发明提供的分布式哈希表DHT存储系统的存储节点第二实施例的结构示意图,如图6所示,该装置包括:分析模块11、通知模块12和预取模块13;
在前一实施例的基础上,该存储节点还可以包括:
记录模块14,用于将所述读取的数据块及其时间戳在读取记录表中记录,所述时间戳用于标识数据块的读取时间;
所述通知模块12发送的所述预取请求中海包括所述读取记录表。
进一步的,该存储节点还可以包括:
判断模块15,用于根据记录模块14记录的读取记录表中已读取的数据块个数以及读取时间最近的所述时间戳判断预取数据块是否需要预取;
若判断模块15判断出所述已读取的数据块个数大于或等于设定的已读取数据块阈值,且本次预读时间与所述时间戳显示的最近的读取时间之差小于等于设定时间,则预取模块13从磁盘中读取预取数据块,并将预取数据块存储至所述本地缓存。
进一步的,该存储节点还可以包括:
更新模块16,用于若所述记录模块14在读取记录表中记录的数据块个数大于所述设定的已读取数据块阈值,则根据所述时间戳删除在先读取的数据块,以使所述记录表中的数据块个数等于所述设定的已读取数据块阈值。
进一步的,分析模块11可以具体用于:
根据设定的预取数据块阈值,确定预取数据块的个数;
根据读取的数据块的标识信息确定预取数据块的标识信息,所述标识信息为前缀和编号,前缀为数据块所属原始数据的唯一标识,编号标识数据块在原始数据中的位置;
根据预取数据块的前缀和编号对预取数据块进行哈希运算,确定预取数据块的存储节点。
另外,预取模块13还可具体用于:
根据所述标识信息判断本地缓存中是否存在预取数据块;
若本地缓存中不存在预取数据块,则根据所述标识信息从磁盘中读取所述预取数据块,并将预取数据块存储至本地缓存,以使客户端从本地缓存中读取预取数据块。
该装置还包括:
改写模块17,用于对本地缓存中的预取数据块进行改写,则对磁盘中的相同数据块进行同步改写;还用于对磁盘中的数据块进行改写,则对本地缓存中相同的预取数据块进行同步改写。
图5和图6提供的分布式哈希表DHT存储系统的存储节点可以为DHT存储系统中的任一存储节点中,图5和图6中所示的存储硬件中包括缓存、磁盘、CPU、主板以及网卡等硬件。该存储节点执行分布式哈希表DHT存储系统的数据预取方法所进行的具体操作可以参考前面实施例中的描述,图7为本发明实施例提供的分布式哈希表DHT存储系统的存储节点处理读取请求的主要处理过程,因此,图7中并未给出存储节点中的所有模块以及所有相关操作,而存储节点执行预取操作的详细过程可参见前述的方法实施例。参见图7,具体包括:
S401、客户端向存储节点请求读取数据块D1
需要说明的是,由于本发明提供的是DHT存储系统的数据块预取方法,因此,本发明提供的DHT存储系统的存储节点实施例中主要描述了执行预取操作的相关功能模块,而对于执行读取操作的相关功能模块并没有特别进行说明,而实际上执行预取操作的模块和执行读取操作的模块可以是存储节点中的同一功能单元,为了便于描述,本发明实施例提供的预取模块13可同时作为执行预取操作和读取操作的执行模块。
因此,S401中,接收到客户端发送的读取数据块D1请求的模块为预取模块13。
S402、存储节点的预取模块13从缓存中查找D1,判断数据块D1是否已预取;
S403、如果数据块D1已预取,则预取模块13直接从缓存中取数据块D1返回给客户端;
S404、如果数据块D1未预取,则预取模块13从磁盘中读取数据块D1
S405、将数据块D1返回给客户端;
S406、记录模块14在读取记录中记录<D1>(包括时间戳信息);
S407、预取模块13将读取的数据块通知分析模块11;
S408、分析模块11分析后续需要预取的数据块个数及存储节点;如果预取数据块位于本地存储节点,则执行S407和S408;如果预取数据块位于其他存储节点,则执行S409;
S409、通知模块12向本地预取模块13发出预取请求;
S410、判断模块15判断是否对预取数据块进行预取;是则执行S411;
S411、预取模块13从本地磁盘中读取数据块并存入缓存;
S412、则通知模块12可以向其他存储节点发送预取请求。
本实施例中仅给出了DHT存储系统中的任一存储节点接收到客户端发出的读取请求后进行的读取操作,以及触发预取操作的主要流程,而存储节点进行预取操作的详细过程可参见前面的方法实施例,在此不再赘述。
图8为本发明实施例提供的分布式哈希表DHT存储系统的存储节点接收到预取请求后进行的主要处理过程,因此,图8中并未给出存储节点中的所有模块以及所有相关操作,而存储节点执行预取操作的详细过程可参见前述的方法实施例。如图8所示,具体包括:
S501、存储节点的预取模块13接收到其他存储节点发送的预读取Dn的请求,该请求中携带原始数据的读取记录;
S502、预取模块13判断数据块Dn是否位于缓存中,如果位于缓存中,则标识该数据块已进行预取操作,不再执行预取操作;否则,执行S503;
S503、预取模块13将原始数据的读取记录下发至判断模块15;
S504、判断模块15判断是否需要从本地磁盘中将Dn加载到缓存;若需要则执行S505;
S505、判断模块15向预取模块13下发执行预取指令;
S506、预取模块13从本地磁盘中读取Dn
S507、预取模块13将读取的Dn存入本地缓存中。
本发明还提供了分布式哈希表DHT存储系统的实施例,该系统包括多个本发明实施例提供的存储节点,该系统的结构图可参见图5和图6。
作为一个较佳的实施例,该DHT存储系统可以包括:第一存储节点和第二存储节点;
其中,第一存储节点,用于接收客户端发送的读取请求,根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求,所述第一存储节点与所述第二存储节点为相同或不同的存储节点,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块;
第二存储节点,用于根据所述第一存储节点发送的预取请求从磁盘中读取所述预取数据块,并将所述预取数据块存储至本地缓存,以使客户端从所述第二存储节点的本地缓存中读取所述预取数据块。
进一步的,第一存储节点还可以用于:将所述读取的数据块及其时间戳在读取记录表中记录,所述时间戳用于标识数据块的读取时间,所述读取记录表对应同一段原始数据;
第一存储节点向所述第二存储节点发送的所述预取请求中还包括所述读取记录表。
进一步的,所述第二存储节点还可以用于:根据所述读取记录表中已读取的数据块个数以及读取时间最近的所述时间戳判断所述预取数据块是否需要预取;
若所述已读取的数据块个数大于或等于设定的已读取数据块阈值,且本次预读时间与所述时间戳显示的最近的读取时间之差小于等于设定时间,则从磁盘中读取所述预取数据块,并将所述预取数据块存储至所述本地缓存。
进一步的,第一存储节点可以具体用于:根据所述设定的预取数据块阈值,确定所述预取数据块的个数;
根据所述读取的数据块的标识信息确定所述预取数据块的标识信息,所述标识信息为前缀和编号,所述前缀为数据块所属原始数据的唯一标识,所述编号标识数据块在所述原始数据中的位置;
根据所述预取数据块的前缀和编号对所述预取数据块进行哈希运算,确定所述预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求。
本实施例提供的分布式哈希表DHT存储系统中,各存储节点相互交互执行数据预取操作的过程,可以参见本发明提供的分布式哈希表DHT的数据预取方法实施例,不再赘述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

1.一种分布式哈希表DHT存储系统的数据预取方法,其特征在于,包括:
第一存储节点接收客户端发送的读取请求,将读取的数据块及其时间戳在读取记录表中记录,根据所述读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求,所述预取请求中还包括所述读取记录表,所述第一存储节点与所述第二存储节点为相同或不同的存储节点,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块,所述时间戳用于标识数据块的读取时间,所述读取记录表对应同一段原始数据;
所述第二存储节点根据所述预取请求从磁盘中读取所述预取数据块,并将所述预取数据块存储至本地缓存,以使客户端从所述第二存储节点的本地缓存中读取所述预取数据块。
2.根据权利要求1所述的方法,其特征在于,所述第二存储节点根据所述预取请求从磁盘中读取所述预取数据块,并将所述预取数据块存储至本地缓存之前,还包括:
所述第二存储节点根据所述读取记录表中已读取的数据块个数以及读取时间最近的所述时间戳判断所述预取数据块是否需要预取;
若所述已读取的数据块个数大于或等于设定的已读取数据块阈值,且本次预读时间与所述时间戳显示的最近的读取时间之差小于等于设定时间,则所述第二存储节点从磁盘中读取所述预取数据块,并将所述预取数据块存储至所述本地缓存。
3.根据权利要求2所述的方法,其特征在于,还包括:
若所述读取记录表中的数据块个数大于所述设定的已读取数据块阈值,则根据所述时间戳删除在先读取的数据块,以使所述记录表中的数据块个数等于所述设定的已读取数据块阈值。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一存储节点根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求,包括:
所述第一存储节点根据所述设定的预取数据块阈值,确定所述预取数据块的个数;
所述第一存储节点根据所述读取的数据块的标识信息确定所述预取数据块的标识信息,所述标识信息为前缀和编号,所述前缀为数据块所属原始数据的唯一标识,所述编号标识数据块在所述原始数据中的位置;
根据所述预取数据块的前缀和编号对所述预取数据块进行哈希运算,确定所述预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求。
5.根据权利要求4所述的方法,其特征在于,所述第二存储节点根据所述预取请求从磁盘中读取所述预取数据块,并将所述预取数据块存储至本地缓存,具体为:
所述第二存储节点根据所述标识信息判断所述本地缓存中是否存在所述预取数据块;
若所述本地缓存中不存在所述预取数据块,则所述第二存储节点根据所述标识信息从所述磁盘中读取所述预取数据块,并将所述预取数据块存储至所述本地缓存。
6.根据权利要求5所述的方法,其特征在于,还包括:
如果所述第二存储节点对所述本地缓存中的所述预取数据块进行改写,则所述第二存储节点对所述磁盘中的相同数据块进行同步改写;
或者,如果所述第二存储节点对所述磁盘中的数据块进行改写,则所述第二存储节点对所述本地缓存中相同的所述预取数据块进行同步改写。
7.一种分布式哈希表DHT存储系统的存储节点,其特征在于,包括:
分析模块,用于接收客户端发送的读取请求,根据读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的存储节点;
记录模块,用于将所述读取的数据块及其时间戳在读取记录表中记录,所述时间戳用于标识数据块的读取时间,所述读取记录表对应同一段原始数据;
通知模块,用于向所述存储节点发送预取请求,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块,所述通知模块发送的所述预取请求中还包括所述读取记录表;
预取模块,用于根据所述预取请求从磁盘中读取所述分析模块确定的所述预取数据块,并将所述预取数据块存储至本地缓存,以使客户端从所述本地缓存中读取所述预取数据块。
8.根据权利要求7所述的分布式哈希表DHT存储系统的存储节点,其特征在于,还包括:
判断模块,用于根据所述记录模块记录的读取记录表中已读取的数据块个数以及读取时间最近的所述时间戳判断所述预取数据块是否需要预取;
若所述判断模块判断出所述已读取的数据块个数大于或等于设定的已读取数据块阈值,且本次预读时间与所述时间戳显示的最近的读取时间之差小于等于设定时间,则所述预取模块从磁盘中读取所述预取数据块,并将所述预取数据块存储至所述本地缓存。
9.根据权利要求8所述的分布式哈希表DHT存储系统的存储节点,其特征在于,还包括:
更新模块,用于若所述记录模块在读取记录表中记录的数据块个数大于所述设定的已读取数据块阈值,则根据所述时间戳删除在先读取的数据块,以使所述记录表中的数据块个数等于所述设定的已读取数据块阈值。
10.根据权利要求7-9任一项所述的分布式哈希表DHT存储系统的存储节点,其特征在于,所述分析模块具体用于:
根据所述设定的预取数据块阈值,确定所述预取数据块的个数;
根据所述读取的数据块的标识信息确定所述预取数据块的标识信息,所述标识信息为前缀和编号,所述前缀为数据块所属原始数据的唯一标识,所述编号标识数据块在所述原始数据中的位置;
根据所述预取数据块的前缀和编号对所述预取数据块进行哈希运算,确定所述预取数据块的存储节点。
11.根据权利要求10所述的分布式哈希表DHT存储系统的存储节点,其特征在于,所述预取模块具体用于:
根据所述标识信息判断所述本地缓存中是否存在所述预取数据块;
若所述本地缓存中不存在所述预取数据块,则根据所述标识信息从所述磁盘中读取所述预取数据块,并将所述预取数据块存储至所述本地缓存,以使所述客户端从所述本地缓存中读取所述预取数据块。
12.根据权利要求11所述的分布式哈希表DHT存储系统的存储节点,其特征在于,还包括:
改写模块,用于对所述本地缓存中的所述预取数据块进行改写,则对所述磁盘中的相同数据块进行同步改写;还用于对所述磁盘中的数据块进行改写,则对所述本地缓存中相同的所述预取数据块进行同步改写。
13.一种分布式哈希表DHT存储系统,其特征在于,包括多个如权利要求8-12任一项所述的存储节点。
14.一种分布式哈希表DHT存储系统,其特征在于,包括:第一存储节点和第二存储节点;
所述第一存储节点,用于接收客户端发送的读取请求,将读取的数据块及其时间戳在读取记录表中记录,根据所述读取的数据块以及设定的预取数据块阈值,确定预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求,所述预取请求中还包括所述读取记录表,所述第一存储节点与所述第二存储节点为相同或不同的存储节点,所述预取请求中包括所述预取数据块的标识信息,所述标识信息用于唯一标识所述预取数据块,所述时间戳用于标识数据块的读取时间,所述读取记录表对应同一段原始数据;
所述第二存储节点,用于根据所述第一存储节点发送的预取请求从磁盘中读取所述预取数据块,并将所述预取数据块存储至本地缓存,以使客户端从所述第二存储节点的本地缓存中读取所述预取数据块。
15.根据权利要求14所述的分布式哈希表DHT存储系统,其特征在于,所述第二存储节点还用于:根据所述读取记录表中已读取的数据块个数以及读取时间最近的所述时间戳判断所述预取数据块是否需要预取;
若所述已读取的数据块个数大于或等于设定的已读取数据块阈值,且本次预读时间与所述时间戳显示的最近的读取时间之差小于等于设定时间,则从磁盘中读取所述预取数据块,并将所述预取数据块存储至所述本地缓存。
16.根据权利要求14-15任一项所述的分布式哈希表DHT存储系统,其特征在于,所述第一存储节点具体用于:根据所述设定的预取数据块阈值,确定所述预取数据块的个数;
根据所述读取的数据块的标识信息确定所述预取数据块的标识信息,所述标识信息为前缀和编号,所述前缀为数据块所属原始数据的唯一标识,所述编号标识数据块在所述原始数据中的位置;
根据所述预取数据块的前缀和编号对所述预取数据块进行哈希运算,确定所述预取数据块及其所在的第二存储节点,并向所述第二存储节点发送预取请求。
CN2011100068138A 2011-01-13 2011-01-13 分布式哈希表dht存储系统的数据预取方法、节点和系统 Active CN102111448B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN2011100068138A CN102111448B (zh) 2011-01-13 2011-01-13 分布式哈希表dht存储系统的数据预取方法、节点和系统
PCT/CN2011/075352 WO2011144175A1 (zh) 2011-01-13 2011-06-03 分布式哈希表dht存储系统的数据预取方法、节点和系统
ES16157884.4T ES2690454T3 (es) 2011-01-13 2011-06-03 Método de obtención anticipada de datos para un sistema de almacenamiento de tabla hash distribuida DHT, nodo y sistema
ES11783092.7T ES2586907T3 (es) 2011-01-13 2011-06-03 Procedimiento de extracción previa de datos, nodo y sistema para sistema de memoria de tabla hash distribuida (DHT)
EP16157884.4A EP3131265B1 (en) 2011-01-13 2011-06-03 Data prefetching method for distributed hash table dht storage system, node, and system
EP11783092.7A EP2562991B1 (en) 2011-01-13 2011-06-03 Data prefetching method, node and system for distributed hash table dht memory system
US13/708,603 US8738861B2 (en) 2011-01-13 2012-12-07 Data prefetching method for distributed hash table DHT storage system, node, and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100068138A CN102111448B (zh) 2011-01-13 2011-01-13 分布式哈希表dht存储系统的数据预取方法、节点和系统

Publications (2)

Publication Number Publication Date
CN102111448A CN102111448A (zh) 2011-06-29
CN102111448B true CN102111448B (zh) 2013-04-24

Family

ID=44175474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100068138A Active CN102111448B (zh) 2011-01-13 2011-01-13 分布式哈希表dht存储系统的数据预取方法、节点和系统

Country Status (5)

Country Link
US (1) US8738861B2 (zh)
EP (2) EP2562991B1 (zh)
CN (1) CN102111448B (zh)
ES (2) ES2690454T3 (zh)
WO (1) WO2011144175A1 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103064762B (zh) * 2012-12-25 2015-12-02 华为技术有限公司 重删备份数据的恢复方法和装置
CN103118099B (zh) * 2013-01-25 2016-03-02 福建升腾资讯有限公司 基于散列算法的图形图像缓存方法
CN104615599A (zh) * 2013-11-05 2015-05-13 中国空间技术研究院 海量数据管理方法和设备
CN103678523B (zh) * 2013-11-28 2018-03-09 华为技术有限公司 分布式高速缓存cache数据访问方法和装置
US9535842B2 (en) * 2014-08-28 2017-01-03 Oracle International Corporation System and method for performing message driven prefetching at the network interface
CN105574008B (zh) * 2014-10-11 2020-01-31 华为技术有限公司 应用于分布式文件系统的任务调度方法和设备
CN105740166B (zh) * 2014-12-11 2020-05-19 中兴通讯股份有限公司 缓存的读取、读取处理方法及装置
CN104683459B (zh) * 2015-02-13 2018-05-11 华为技术有限公司 一种发送业务数据的方法和存储系统
CN105159604A (zh) * 2015-08-20 2015-12-16 浪潮(北京)电子信息产业有限公司 一种磁盘数据读写方法和系统
US20180275919A1 (en) * 2015-12-23 2018-09-27 Hewlett Packard Enterprise Development Lp Prefetching data in a distributed storage system
CN107733952A (zh) * 2016-08-12 2018-02-23 中国电信股份有限公司 用于提供差异化缓存服务的方法、装置和系统
CN106250064B (zh) * 2016-08-19 2020-05-12 深圳大普微电子科技有限公司 固态硬盘控制装置和基于学习的固态硬盘数据存取方法
CN107967273A (zh) * 2016-10-19 2018-04-27 华为技术有限公司 数据获取方法、数据节点及系统
CN106897360A (zh) * 2017-01-09 2017-06-27 深圳市中博科创信息技术有限公司 基于分布式文件系统的文件处理方法及装置
CN108934187B (zh) * 2017-03-29 2020-08-25 华为技术有限公司 分布式存储系统的访问方法和相关装置和相关系统
CN107229573B (zh) * 2017-05-22 2020-04-28 上海天玑数据技术有限公司 一种基于固态硬盘的弹性高可用缓存方法
US10158891B1 (en) 2017-06-05 2018-12-18 Verizon Digital Media Services Inc. Prefetcher with adaptive stream segment prefetch window based on client associated thresholds
CN107562385B (zh) * 2017-09-13 2020-08-04 郑州云海信息技术有限公司 分布式存储客户端读取数据的方法、装置和设备
WO2019127487A1 (zh) 2017-12-29 2019-07-04 华为技术有限公司 一种数据预取方法、装置和存储设备
CN108491166B (zh) * 2018-03-27 2021-05-07 江苏菲利斯通信息科技有限公司 面向光盘库的读数据缓存管理方法
EP4087212A4 (en) * 2020-01-17 2023-01-04 Huawei Technologies Co., Ltd. METHOD AND APPARATUS FOR CLONING A FILE SYSTEM
CN111506778B (zh) * 2020-04-14 2023-04-28 中山大学 一种基于K-Truss图的存储系统缓存预取方法、系统及介质
CN112035498B (zh) * 2020-08-31 2023-09-05 北京奇艺世纪科技有限公司 数据块调度方法、装置、调度层节点及存储层节点
CN112463872A (zh) * 2020-11-04 2021-03-09 中国建设银行股份有限公司 一种可视化指标数据获取方法、装置、系统及介质
US11782637B2 (en) 2021-01-05 2023-10-10 Red Hat, Inc. Prefetching metadata in a storage system
CN112799589B (zh) * 2021-01-14 2023-07-14 新华三大数据技术有限公司 一种数据读取方法及装置
CN113641648B (zh) * 2021-08-18 2023-04-21 山东省计算中心(国家超级计算济南中心) 一种分布式云安全存储方法、系统和存储介质
CN116804908A (zh) * 2022-03-16 2023-09-26 中兴通讯股份有限公司 数据读写方法、设备、存储节点及存储介质
CN117348793A (zh) * 2022-06-28 2024-01-05 华为技术有限公司 一种数据读取方法、数据加载装置及通信系统
CN116955223B (zh) * 2023-09-18 2024-01-23 浪潮电子信息产业股份有限公司 一种数据预取方法、系统、电子设备及计算机存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961286A (zh) * 2003-12-24 2007-05-09 英特尔公司 自适应高速缓存
CN101304437A (zh) * 2008-06-20 2008-11-12 南京大学 具有高播放连续度的p2p流媒体系统的设计方法
CN101521553A (zh) * 2008-02-29 2009-09-02 突触计算机系统(上海)有限公司 对等网络视频点播系统中用于提供数据分片的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4116413B2 (ja) * 2002-12-11 2008-07-09 株式会社日立製作所 プリフェッチアプライアンスサーバ
WO2009005747A1 (en) * 2007-06-28 2009-01-08 The Trustees Of Columbia University In The City Of New York Set-top box peer-assisted video-on-demand
US8320916B2 (en) * 2008-05-20 2012-11-27 Alcatel Lucent Method and apparatus for pre-fetching data in a mobile network environment using edge data storage
WO2010076536A2 (fr) * 2008-12-30 2010-07-08 France Telecom Procède de traitement de requêtes émises par un client

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1961286A (zh) * 2003-12-24 2007-05-09 英特尔公司 自适应高速缓存
CN101521553A (zh) * 2008-02-29 2009-09-02 突触计算机系统(上海)有限公司 对等网络视频点播系统中用于提供数据分片的方法和装置
CN101304437A (zh) * 2008-06-20 2008-11-12 南京大学 具有高播放连续度的p2p流媒体系统的设计方法

Also Published As

Publication number Publication date
US20130097402A1 (en) 2013-04-18
US8738861B2 (en) 2014-05-27
EP3131265A1 (en) 2017-02-15
CN102111448A (zh) 2011-06-29
EP2562991B1 (en) 2016-05-18
WO2011144175A1 (zh) 2011-11-24
EP2562991A1 (en) 2013-02-27
EP2562991A4 (en) 2013-08-14
EP3131265B1 (en) 2018-08-15
ES2690454T3 (es) 2018-11-21
ES2586907T3 (es) 2016-10-19

Similar Documents

Publication Publication Date Title
CN102111448B (zh) 分布式哈希表dht存储系统的数据预取方法、节点和系统
CN100498740C (zh) 一种数据缓存处理方法、系统及数据缓存装置
CN106663060B (zh) 用于缓存线路去重的方法和系统
US20190138221A1 (en) Method and Apparatus for SSD Storage Access
US20160239513A1 (en) Disk optimized paging for column oriented databases
CN108009008A (zh) 数据处理方法和系统、电子设备
US11210229B2 (en) Method, device and computer program product for data writing
CN103049392B (zh) 缓存目录的实现方法及装置
CN110673789B (zh) 固态硬盘的元数据存储管理方法、装置、设备及存储介质
CN104809179A (zh) 访问哈希表的装置和方法
CN103106158A (zh) 包括键-值存储的存储器系统
TWI709862B (zh) 用於預測性檔案快取及同步之技術
US7870122B2 (en) Self-tuning index for flash-based databases
CN104731896A (zh) 一种数据处理方法及系统
US20180137043A1 (en) Re-Use of Invalidated Data in Buffers
CN109407985B (zh) 一种数据管理的方法以及相关装置
CN101652759B (zh) 可编程数据预取的方法和系统
Fevgas et al. LB-Grid: An SSD efficient grid file
CN108664217B (zh) 一种降低固态盘存储系统写性能抖动的缓存方法及系统
CN111831691A (zh) 一种数据读写方法及装置、电子设备、存储介质
CN102169464B (zh) 一种用于非易失性存储器的缓存方法、装置及智能卡
CN109656479A (zh) 一种构建存储器命令序列的方法及装置
CN202443462U (zh) 辅助上位机检索页映射单元块中空闲块的装置
CN110362776A (zh) 浏览器前端数据存储方法、装置、设备及可读存储介质
CN107193947A (zh) 一种文件系统缓存增量刷新方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant