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

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

Info

Publication number
CN112799589A
CN112799589A CN202110049279.2A CN202110049279A CN112799589A CN 112799589 A CN112799589 A CN 112799589A CN 202110049279 A CN202110049279 A CN 202110049279A CN 112799589 A CN112799589 A CN 112799589A
Authority
CN
China
Prior art keywords
target data
data
read
reading
client
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
CN202110049279.2A
Other languages
English (en)
Other versions
CN112799589B (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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data 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
Application filed by New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202110049279.2A priority Critical patent/CN112799589B/zh
Publication of CN112799589A publication Critical patent/CN112799589A/zh
Application granted granted Critical
Publication of CN112799589B publication Critical patent/CN112799589B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本申请涉及数据存储技术领域,特别涉及一种数据读取方法及装置。该方法应用于分布式存储***中的客户端,所述分布式存储***包括若干客户端和若干服务端,所述方法包括:接收用户发送的数据读写请求,并判断所述数据读写请求是否为顺序读;若判定所述读写请求为顺序读,则基于预设的预取算法,确定需预取的目标数据的地址信息,并将所述目标数据的地址信息发送至服务端,以使得所述服务端基于所述目标数据的地址信息,从磁盘中预取目标数据,并将所述目标数据存储至本地内存。

Description

一种数据读取方法及装置
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据读取方法及装置。
背景技术
在存储***中,存储性能是一个非常重要的指标,为了提升存储的读性能,往往会采用顺序流识别算法,一旦识别到是顺序流,后台提前从盘上预取数据到Cache中,保证后续读直接在Cache中命中,极大地提升读性能。
但在分布式存储***中,假设分布式存储***包括客户端:Client1、client2;包括服务器:Server1、Server2、Server3。多个客户端运行的时候,假如在client1中,Cache预取了最新的数据,但是,client2重新更新了该数据,但是client1是无法感知的,导致client1最终从Cache中读取的数据是老数据,因此,用户读到的数据就不是最新的数据。
发明内容
本申请提供了一种数据读取方法及装置,用以解决现有技术中存在的分布式存储***中多客户端运行时,预取到的数据不是最新数据的问题。
第一方面,本申请提供了一种数据读取方法,应用于分布式存储***中的客户端,所述分布式存储***包括若干客户端和若干服务端,所述方法包括:
接收用户发送的数据读写请求,并判断所述数据读写请求是否为顺序读;
若判定所述读写请求为顺序读,则基于预设的预取算法,确定需预取的目标数据的地址信息,并将所述目标数据的地址信息发送至服务端,以使得所述服务端基于所述目标数据的地址信息,从磁盘中预取目标数据,并将所述目标数据存储至本地内存。
可选地,所述方法还包括:
接收所述用户发送的目标数据读写请求,基于所述目标数据读写请求从所述服务端的内存中读取所述目标数据,并将所述目标数据返回给所述用户。
第二方面,本申请提供了另一种数据读取方法,应用于分布式存储***中的服务端,所述分布式存储***包括若干客户端和若干服务端,所述方法包括:
接收客户端下发的目标数据的地址信息,其中,所述客户端在判定接收到的用户发送的数据读写请求为顺序读时,基于预设的预取算法,确定需预取的目标数据的地址信息;
基于所述目标数据的地址信息,从磁盘中读取目标数据,并将所述目标数据存储至本地内存。
可选地,所述方法还包括:
接收所述客户端下发的目标数据读写请求;
基于所述目标数据读写请求从本地内存读取所述目标数据,并将所述目标数据返回给所述客户端。
可选地,所述方法还包括:
若判定本地内存中缓存的数据大于第一设定值,则删除本地内存中缓存的数据热度小于第二设定值的数据。
第三方面,本申请提供了一种数据读取装置,应用于分布式存储***中的客户端,所述分布式存储***包括若干客户端和若干服务端,所述装置包括:
接收单元,用于接收用户发送的数据读写请求;
判断单元,用于判断所述数据读写请求是否为顺序读;
确定单元,若所述判断单元判定所述读写请求为顺序读,则所述确定单元基于预设的预取算法,确定需预取的目标数据的地址信息,并将所述目标数据的地址信息发送至服务端,以使得所述服务端基于所述目标数据的地址信息,从磁盘中预取目标数据,并将所述目标数据存储至本地内存。
可选地,所述接收单元还用于,接收所述用户发送的目标数据读写请求,基于所述目标数据读写请求从所述服务端的内存中读取所述目标数据,并将所述目标数据返回给所述用户。
第四方面,本申请提供了另一种数据读取装置,应用于分布式存储***中的服务端,所述分布式存储***包括若干客户端和若干服务端,所述装置包括:
接收单元,接收客户端下发的目标数据的地址信息,其中,所述客户端在判定接收到的用户发送的数据读写请求为顺序读时,基于预设的预取算法,确定需预取的目标数据的地址信息;
读取单元,用于基于所述目标数据的地址信息,从磁盘中读取目标数据,并将所述目标数据存储至本地内存。
可选地,所述接收单元还用于,接收所述客户端下发的目标数据读写请求;
所述读取单元还用于,基于所述目标数据读写请求从本地内存读取所述目标数据,并将所述目标数据返回给所述客户端。
可选地,所述装置还包括:
删除单元,若判定本地内存中缓存的数据大于第一设定值,则所述删除单元用于,删除本地内存中缓存的数据热度小于第二设定值的数据。
第五方面,本申请实施例提供一种客户端,所述客户端包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。
第六方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。
第七方面,本申请实施例提供一种服务端,所述服务端包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第二方面中任一项所述的方法的步骤。
第八方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第二方面中任一项所述方法的步骤。
综上可知,本申请实施例提供的数据读取方法,应用于分布式存储***中的客户端,所述分布式存储***包括若干客户端和若干服务端,所述方法包括:接收用户发送的数据读写请求,并判断所述数据读写请求是否为顺序读;若判定所述读写请求为顺序读,则基于预设的预取算法,确定需预取的目标数据的地址信息,并将所述目标数据的地址信息发送至服务端,以使得所述服务端基于所述目标数据的地址信息,从磁盘中预取目标数据,并将所述目标数据存储至本地内存。
采用本申请实施例提供的数据读取方法,将顺序流识别和预取算法部署在分布式存储***中的客户端,将数据缓存部署在服务端,这样,就解决了分布式存储***中多客户端运行时缓存数据不一致的问题,从而使得在多客户端的场景下,也可以开启顺序流识别和预取功能,从而提升分布式存储性同的顺序读IO的性能。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。
图1为本申请实施例提供的一种数据读取方法的详细流程图;
图2为本申请实施例提供的另一种数据读取方法的详细流程图;
图3为本申请实施例提供的一种分布式存储***的结构示意图;
图4为本申请实施例提供的一种数据读取装置的结构示意图;
图5为本申请实施例提供的另一种数据读取装置的结构示意图;
图6为本申请实施例提供的一种客户端的结构示意图;
图7为本申请实施例提供的一种服务端的结构示意图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
示例性的,参阅图1所示,为本申请实施例提供的一种数据读取方法的详细流程图,该方法应用于分布式存储***中的客户端,所述分布式存储***包括若干客户端和若干服务端,该方法包括以下步骤:
步骤100:接收用户发送的数据读写请求,并判断上述数据读写请求是否为顺序读。
本申请实施例中,在分布式存储***的各客户端上均部署有顺序流识别功能和预取功能,那么,当任一客户端接收到用户发送的数据读写请求时,基于预设的顺序流识别方法对当前数据读写请求进行识别操作,以确定当前数据读写请求是否为顺序读。
需要说明的是,顺序流识别必须要放到客户端,这是因为客户端能看到整个RBD(可以看做是一块逻辑盘),它按照4M来切分,然后通过伪随机算法分别分散到不同的对象服务端,而服务端是看不到全貌的,所以只能选择在客户端做顺序流识别。
步骤110:若判定上述读写请求为顺序读,则基于预设的预取算法,确定需预取的目标数据的地址信息,并将上述目标数据的地址信息发送至服务端,以使得上述服务端基于上述目标数据的地址信息,从磁盘中预取目标数据,并将上述目标数据存储至本地内存。
具体地,由于分布式存储***中各客户端均部署有预取功能,那么,若客户端判定当前数据读写请求为顺序读时,首先,基于预设的预取算法,确定需要预先读取并缓存至缓存区的目标数据(即确定目标数据的地址信息、目标数据的长度等信息),然后,将需预取的目标数据的地址信息下发给对应的服务端,以使得服务端基于目标数据的地址信息从对应的OSD(如,磁盘)中读取出目标数据,并将读取出的目标数据缓存至本地内存中。
本申请实施例中,数据缓存功能部署在服务端上,服务端将预取出的目标数据直接存储在本地内存中,以便后续接收到客户端发送的目标数据读取请求时,直接从内存中读取目标数据并返回给客户端。
由上可知,客户端进行数据写时,首先会将待写数据缓存至客户端的内存中,然后,再基于预设规则将内存中缓存的数据下盘至OSD,那么,假设一个客户端(如,客户端1)预读取了数据1和数据2,服务端将数据1和数据2缓存在本地内存中,若此时客户端2执行了对数据1的修改操作,那么,首先会将修改后的数据1缓存在内存中,那么,就实现了将原数据1替换为修改后的数据1的操作,这样,当客户端1从客户端的内存中读取数据1和数据2时,最终读取到的数据1仍是最新的数据,不会出现读取到的数据1是未修改后的数据1的情况。服务端内存缓存的数据均是最新的数据,解决了数据一致性的问题。
本申请实施例中,一种较佳的实现方式为,预取功能部署在客户端,这样,就能减少服务端的资源消耗,从而提升数据读写性能,当然,在服务端资源允许的情况下,也可以将预取功能部署在服务端上,由服务端来执行需预取的目标数据的计算,本申请实施例中,在此不做具体限定。
进一步地,若客户端接收到上述用户发送的目标数据读写请求,则基于上述目标数据读写请求从上述服务端的内存中读取上述目标数据,并将上述目标数据返回给上述用户。
由于通过预取计算,服务端已将用户后续即将读取的目标数据缓存至本地内存中,那么,当客户端接收到用户发送的目标数据读写请求时,即可将该目标数据读写请求转发至服务端,服务端直接根据该目标读写请求从本地内存中读取目标数据,并将读取出的目标数据转发至客户端,再由客户端将目标数据转发至用户。
示例性的,参阅图2所示,为本申请实施例提供的另一种数据读取方法的详细流程图,该方法应用于分布式存储***中的服务端,上述分布式存储***包括若干客户端和若干服务端,该方法包括以下步骤:
步骤200:接收客户端下发的目标数据的地址信息,其中,上述客户端在判定接收到的用户发送的数据读写请求为顺序读时,基于预设的预取算法,确定需预取的目标数据的地址信息。
步骤210:基于上述目标数据的地址信息,从磁盘中读取目标数据,并将上述目标数据存储至本地内存。
进一步地,本申请实施例中,上述应用于服务端的数据读取方法还可以包括以下步骤:
若判定本地内存中缓存的数据大于第一设定值,则删除本地内存中缓存的数据热度小于第二设定值的数据。
本申请实施例中,数据缓存功能部署在服务端,受内存资源限制,配置的用于缓存数据的空间是固定的,那么,就存在缓存区用完的情况,此时,就需要按照预设规则淘汰掉缓存区中的热度较低的数据,如,基于LRU算法,将缓存区中热度较低的数据淘汰掉,以腾出空间用于其他数据的缓存。
下面结合具体应用场景对本申请实施例提供的分布式存储***的结构进行详细说明。示例性的,参阅图3所示,为本申请实施例提供的一种分布式存储***的结构示意图,所述分布式存储***包括客户端1,客户端2,服务端1,服务端2和服务端3,客户端1分别与客户端1,客户端2和客户端3通信连接,客户端2分别与客户端1,客户端2和客户端3相连,各客户端预先配置有顺序流识别功能和预取算法,当接收到用户发送的数据读请求时,就预设算法,识别该数据读请求是否为顺序读操作,若是,则采用预设的预取算法对需预取的目标数据进行计算,并将计算结果告知对应的服务端,以使得服务端进行目标数据的预取操作,本申请实施例中,各服务端预先配置有数据缓存功能,即写入的数据和读取的数据首先会缓存在预设内存中,那么,服务端预取的目标数据即可缓存在本地内存中,当客户端接收到用户发送的目标数据读取请求时,即可将该目标数据读取请求发送至对应服务端,该服务端基于该目标数据读取请求直接从本地内存中获取目标数据,并将该目标数据发送给客户端,客户端再将该目标数据直接返回给用户。
基于与上述应用于客户端的方法实施例同样的发明构思,示例性的,参阅图4所示,为本申请实施例提供的一种数据读取装置的结构示意图,该装置应用于分布式存储***中的客户端,所述分布式存储***包括若干客户端和若干服务端,所述装置包括:
接收单元40,用于接收用户发送的数据读写请求;
判断单元41,用于判断所述数据读写请求是否为顺序读;
确定单元42,若所述判断单元41判定所述读写请求为顺序读,则所述确定单元42基于预设的预取算法,确定需预取的目标数据的地址信息,并将所述目标数据的地址信息发送至服务端,以使得所述服务端基于所述目标数据的地址信息,从磁盘中预取目标数据,并将所述目标数据存储至本地内存。
可选地,
所述接收单元40还用于,接收所述用户发送的目标数据读写请求,基于所述目标数据读写请求从所述服务端的内存中读取所述目标数据,并将所述目标数据返回给所述用户。
基于与上述应用于服务端的方法实施例同样的发明构思,示例性的,参阅图5所示,为本申请实施例提供的另一种数据读取装置的结构示意图,该装置应用于分布式存储***中的服务端,所述分布式存储***包括若干客户端和若干服务端,所述装置包括:
接收单元50,接收客户端下发的目标数据的地址信息,其中,所述客户端在判定接收到的用户发送的数据读写请求为顺序读时,基于预设的预取算法,确定需预取的目标数据的地址信息;
读取单元51,用于基于所述目标数据的地址信息,从磁盘中读取目标数据,并将所述目标数据存储至本地内存。
可选地,
所述接收单元50还用于,接收所述客户端下发的目标数据读写请求;
所述读取单元51还用于,基于所述目标数据读写请求从本地内存读取所述目标数据,并将所述目标数据返回给所述客户端。
可选地,所述装置还包括:
删除单元,若判定本地内存中缓存的数据大于第一设定值,则所述删除单元用于,删除本地内存中缓存的数据热度小于第二设定值的数据。
以上这些单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个单元通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些单元可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
进一步地,本申请实施例提供客户端置,从硬件层面而言,所述客户端的硬件架构示意图可以参见图6所示,所述客户端可以包括:存储器60和处理器61,
存储器60用于存储程序指令;处理器61调用存储器60中存储的程序指令,按照获得的程序指令执行上述应用于客户端的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种客户端,包括用于执行上述应用于客户端的方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于客户端的方法实施例。
进一步地,本申请实施例提供服务端,从硬件层面而言,所述服务端的硬件架构示意图可以参见图7所示,所述服务端可以包括:存储器70和处理器71,
存储器70用于存储程序指令;处理器71调用存储器70中存储的程序指令,按照获得的程序指令执行上述应用于服务端的方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种服务端,包括用于执行上述应用于服务端的方法实施例的至少一个处理元件(或芯片)。
可选地,本申请还提供一种程序产品,例如计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使该计算机执行上述应用于服务端的方法实施例。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种数据读取方法,其特征在于,应用于分布式存储***中的客户端,所述分布式存储***包括若干客户端和若干服务端,所述方法包括:
接收用户发送的数据读写请求,并判断所述数据读写请求是否为顺序读;
若判定所述读写请求为顺序读,则基于预设的预取算法,确定需预取的目标数据的地址信息,并将所述目标数据的地址信息发送至服务端,以使得所述服务端基于所述目标数据的地址信息,从磁盘中预取目标数据,并将所述目标数据存储至本地内存。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述用户发送的目标数据读写请求,基于所述目标数据读写请求从所述服务端的内存中读取所述目标数据,并将所述目标数据返回给所述用户。
3.一种数据读取方法,其特征在于,应用于分布式存储***中的服务端,所述分布式存储***包括若干客户端和若干服务端,所述方法包括:
接收客户端下发的目标数据的地址信息,其中,所述客户端在判定接收到的用户发送的数据读写请求为顺序读时,基于预设的预取算法,确定需预取的目标数据的地址信息;
基于所述目标数据的地址信息,从磁盘中读取目标数据,并将所述目标数据存储至本地内存。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
接收所述客户端下发的目标数据读写请求;
基于所述目标数据读写请求从本地内存读取所述目标数据,并将所述目标数据返回给所述客户端。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
若判定本地内存中缓存的数据大于第一设定值,则删除本地内存中缓存的数据热度小于第二设定值的数据。
6.一种数据读取装置,其特征在于,应用于分布式存储***中的客户端,所述分布式存储***包括若干客户端和若干服务端,所述装置包括:
接收单元,用于接收用户发送的数据读写请求;
判断单元,用于判断所述数据读写请求是否为顺序读;
确定单元,若所述判断单元判定所述读写请求为顺序读,则所述确定单元基于预设的预取算法,确定需预取的目标数据的地址信息,并将所述目标数据的地址信息发送至服务端,以使得所述服务端基于所述目标数据的地址信息,从磁盘中预取目标数据,并将所述目标数据存储至本地内存。
7.如权利要求6所述的装置,其特征在于,
所述接收单元还用于,接收所述用户发送的目标数据读写请求,基于所述目标数据读写请求从所述服务端的内存中读取所述目标数据,并将所述目标数据返回给所述用户。
8.一种数据读取装置,其特征在于,应用于分布式存储***中的服务端,所述分布式存储***包括若干客户端和若干服务端,所述装置包括:
接收单元,接收客户端下发的目标数据的地址信息,其中,所述客户端在判定接收到的用户发送的数据读写请求为顺序读时,基于预设的预取算法,确定需预取的目标数据的地址信息;
读取单元,用于基于所述目标数据的地址信息,从磁盘中读取目标数据,并将所述目标数据存储至本地内存。
9.如权利要求8所述的装置,其特征在于,
所述接收单元还用于,接收所述客户端下发的目标数据读写请求;
所述读取单元还用于,基于所述目标数据读写请求从本地内存读取所述目标数据,并将所述目标数据返回给所述客户端。
10.如权利要求8或9所述的装置,其特征在于,所述装置还包括:
删除单元,若判定本地内存中缓存的数据大于第一设定值,则所述删除单元用于,删除本地内存中缓存的数据热度小于第二设定值的数据。
CN202110049279.2A 2021-01-14 2021-01-14 一种数据读取方法及装置 Active CN112799589B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110049279.2A CN112799589B (zh) 2021-01-14 2021-01-14 一种数据读取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110049279.2A CN112799589B (zh) 2021-01-14 2021-01-14 一种数据读取方法及装置

Publications (2)

Publication Number Publication Date
CN112799589A true CN112799589A (zh) 2021-05-14
CN112799589B CN112799589B (zh) 2023-07-14

Family

ID=75810813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110049279.2A Active CN112799589B (zh) 2021-01-14 2021-01-14 一种数据读取方法及装置

Country Status (1)

Country Link
CN (1) CN112799589B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115481187A (zh) * 2022-09-28 2022-12-16 北京亚控科技发展有限公司 一种数据读写方法、装置及存储介质

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027069A (ja) * 1996-07-09 1998-01-27 Hitachi Ltd 記憶装置
CN101377788A (zh) * 2008-09-28 2009-03-04 中国科学院计算技术研究所 一种机群文件***中缓存管理的方法及***
CN101388824A (zh) * 2008-10-15 2009-03-18 中国科学院计算技术研究所 一种机群***中分片存储模式下文件读取的方法及***
CN102111448A (zh) * 2011-01-13 2011-06-29 华为技术有限公司 分布式哈希表dht存储***的数据预取方法、节点和***
CN102541985A (zh) * 2011-10-25 2012-07-04 曙光信息产业(北京)有限公司 一种分布式文件***中客户端目录缓存的组织方法
US8667224B1 (en) * 2007-12-20 2014-03-04 Emc Corporation Techniques for data prefetching
CN103635887A (zh) * 2013-09-23 2014-03-12 华为技术有限公司 缓存数据的方法和存储***
CN103795781A (zh) * 2013-12-10 2014-05-14 西安邮电大学 一种基于文件预测的分布式缓存模型
CN105573667A (zh) * 2015-12-10 2016-05-11 华为技术有限公司 一种数据读取方法和存储服务器
US20170031823A1 (en) * 2015-07-31 2017-02-02 Oracle International Corporation Systems and methods for prefetching data
US20180275919A1 (en) * 2015-12-23 2018-09-27 Hewlett Packard Enterprise Development Lp Prefetching data in a distributed storage system
CN109918023A (zh) * 2019-02-22 2019-06-21 深圳忆联信息***有限公司 基于内存受限ssd的预读取方法、装置和计算机设备
CN110008142A (zh) * 2019-04-16 2019-07-12 苏州浪潮智能科技有限公司 存储数据管理方法、装置、设备及计算机可读存储介质
CN110737388A (zh) * 2018-07-18 2020-01-31 中兴通讯股份有限公司 数据预读方法、客户端、服务器以及文件***
CN110764708A (zh) * 2019-10-25 2020-02-07 北京浪潮数据技术有限公司 一种数据读取方法、装置、设备及存储介质
CN112328185A (zh) * 2020-12-28 2021-02-05 烽火通信科技股份有限公司 一种基于分布式存储的智能预读方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1027069A (ja) * 1996-07-09 1998-01-27 Hitachi Ltd 記憶装置
US8667224B1 (en) * 2007-12-20 2014-03-04 Emc Corporation Techniques for data prefetching
CN101377788A (zh) * 2008-09-28 2009-03-04 中国科学院计算技术研究所 一种机群文件***中缓存管理的方法及***
CN101388824A (zh) * 2008-10-15 2009-03-18 中国科学院计算技术研究所 一种机群***中分片存储模式下文件读取的方法及***
CN102111448A (zh) * 2011-01-13 2011-06-29 华为技术有限公司 分布式哈希表dht存储***的数据预取方法、节点和***
CN102541985A (zh) * 2011-10-25 2012-07-04 曙光信息产业(北京)有限公司 一种分布式文件***中客户端目录缓存的组织方法
CN103635887A (zh) * 2013-09-23 2014-03-12 华为技术有限公司 缓存数据的方法和存储***
CN103795781A (zh) * 2013-12-10 2014-05-14 西安邮电大学 一种基于文件预测的分布式缓存模型
US20170031823A1 (en) * 2015-07-31 2017-02-02 Oracle International Corporation Systems and methods for prefetching data
CN105573667A (zh) * 2015-12-10 2016-05-11 华为技术有限公司 一种数据读取方法和存储服务器
US20180275919A1 (en) * 2015-12-23 2018-09-27 Hewlett Packard Enterprise Development Lp Prefetching data in a distributed storage system
CN110737388A (zh) * 2018-07-18 2020-01-31 中兴通讯股份有限公司 数据预读方法、客户端、服务器以及文件***
CN109918023A (zh) * 2019-02-22 2019-06-21 深圳忆联信息***有限公司 基于内存受限ssd的预读取方法、装置和计算机设备
CN110008142A (zh) * 2019-04-16 2019-07-12 苏州浪潮智能科技有限公司 存储数据管理方法、装置、设备及计算机可读存储介质
CN110764708A (zh) * 2019-10-25 2020-02-07 北京浪潮数据技术有限公司 一种数据读取方法、装置、设备及存储介质
CN112328185A (zh) * 2020-12-28 2021-02-05 烽火通信科技股份有限公司 一种基于分布式存储的智能预读方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YANG HONGZHANG: "Research of Massive Small Files Reading Optimization Based on Parallel Network File System", 《IEEE XPLORE》 *
方娟: "RLCP:异构的协同预取存储设计方案", 《计算机工程与设计》 *
闫鹤: "分布式文件***的流式数据预读", 《万方数据库》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115481187A (zh) * 2022-09-28 2022-12-16 北京亚控科技发展有限公司 一种数据读写方法、装置及存储介质
CN115481187B (zh) * 2022-09-28 2023-11-21 北京亚控科技发展有限公司 一种数据读写方法、装置及存储介质

Also Published As

Publication number Publication date
CN112799589B (zh) 2023-07-14

Similar Documents

Publication Publication Date Title
US11567871B2 (en) Input/output patterns and data pre-fetch
CN107197359B (zh) 视频文件缓存方法及装置
CN111324556B (zh) 用于将预定数目的数据项预取到高速缓存的方法和***
Kim et al. Analysis of smartphone I/O characteristics—Toward efficient swap in a smartphone
CN112000426A (zh) 一种数据处理方法及装置
CN112799589B (zh) 一种数据读取方法及装置
US20180239706A1 (en) Prefetch tag for eviction promotion
CN111951275A (zh) 一种图像传输方法及装置
CN108874690B (zh) 数据预取的实现方法和处理器
CN112925632A (zh) 处理方法及装置、处理器、电子设备及存储介质
CN112256206B (zh) 一种io处理方法及装置
CN112596825B (zh) 一种云桌面启动方法及装置
CN115509611A (zh) 基于精简指令集的指令获取方法、装置及计算机设备
CN114637946A (zh) 资源数据的处理方法、装置及电子设备
CN114647658A (zh) 一种数据检索方法、装置、设备及机器可读存储介质
US9542318B2 (en) Temporary cache memory eviction
CN114416178A (zh) 数据访问方法、装置及非临时性计算机可读存储介质
CN112199400A (zh) 用于数据处理的方法和装置
CN110825652B (zh) 淘汰磁盘块上的缓存数据的方法、装置及设备
CN113485642A (zh) 数据缓存方法及装置
CN114139097A (zh) 一种网页加载方法及装置
CN113194118B (zh) 一种顺序流识别方法及装置
CN113703666A (zh) 一种数据读写方法及装置
CN112615971A (zh) 一种图像传输方法及装置
CN113986891B (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