CN110764708A - 一种数据读取方法、装置、设备及存储介质 - Google Patents
一种数据读取方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110764708A CN110764708A CN201911026073.7A CN201911026073A CN110764708A CN 110764708 A CN110764708 A CN 110764708A CN 201911026073 A CN201911026073 A CN 201911026073A CN 110764708 A CN110764708 A CN 110764708A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- reading
- target data
- cache
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请公开了一种数据读取方法,包括当接收到读取指令时,根据所述读取指令确定目标数据信息;根据所述目标数据信息判断预设缓存中是否存在对应的目标数据;若是,则从所述预设缓存中读取所述目标数据,并将所述目标数据反馈至内存;若否,则根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,并将所述目标数据反馈至所述内存;该数据读取方法有效地提高了分布式数据存储***中数据信息的读取效率。本申请还公开了一种数据读取装置、设备及计算机可读存储介质,均具有上述有益效果。
Description
技术领域
本申请涉及数据存储技术领域,特别涉及一种数据读取方法,还涉及一种数据读取装置、设备以及计算机可读存储介质。
背景技术
如今,计算机技术以及网络技术的高速发展推动了大数据时代的到来,传统的集中式数据存储***已经无法满足大规模数据存储的需求,为有效实现大数据存储,分布式数据存储***得到了长足的发展。
但是,分布式存储相对于集中式存储存在的一个问题就是后端数据跨网络,由此导致数据读取过程中存在相对严重的时延问题。例如,在人工智能领域,利用AI算法进行海量数据识别时,需要对数据信息进行多次读取和多轮训练,因此,时延问题的存在导致了极为低下的数据识别效率,而且,由于内存空间有限,导致无法一次性读取大批量数据至内存中。
因此,如何有效提高分布式数据存储***中数据信息的读取效率是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据读取方法,该数据读取方法有效地提高了分布式数据存储***中数据信息的读取效率;本申请的另一目的是提供一种数据读取装置、设备以及计算机可读存储介质,也具有上述有益效果。
为解决上述技术问题,本申请提供了一种数据读取方法,所述数据读取方法包括:
当接收到读取指令时,根据所述读取指令确定目标数据信息;
根据所述目标数据信息判断预设缓存中是否存在对应的目标数据;
若是,则从所述预设缓存中读取所述目标数据,并将所述目标数据反馈至内存;
若否,则根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,并将所述目标数据反馈至所述内存。
优选的,所述目标数据包括目标块数据和/或目标元数据。
优选的,判断所述预设缓存中是否存在所述目标块数据,包括:
判断SSD缓存中是否存在包括所述目标块数据的聚合文件,若是,则确定所述SSD缓存中存在所述目标块数据,若否,则确定所述SSD缓存中不存在所述目标块数据;
则所述从所述预设缓存中读取所述目标数据,包括:
在所述SSD缓存中的所述聚合文件中获得所述目标块数据。
优选的,所述根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,包括:
根据所述目标数据信息从所述磁盘中读取包括所述目标块数据的聚合文件,并将所述聚合文件存储至所述SSD缓存;
在所述聚合文件中获得所述目标块数据。
优选的,判断所述预设缓存中是否存在所述目标元数据,包括:
判断元数据服务缓存中是否存在包括所述目标元数据的数据分片,若是,则确定所述元数据服务缓存中存在所述目标元数据,若否,则确定所述元数据服务缓存中不存在所述目标元数据;
则所述从所述预设缓存中读取所述目标数据,包括:
在所述元数据服务缓存中的所述数据分片中获得所述目标元数据。
优选的,所述根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,包括:
根据所述目标数据信息从所述磁盘中读取包括所述目标元数据的数据分片,并将所述数据分片存储至所述元数据服务缓存;
在所述数据分片中获得所述目标元数据。
优选的,所述数据读取方法还包括:
当接收到重启指令时,清空所述预设缓存。
为解决上述技术问题,本申请还提供了一种数据读取装置,所述数据读取装置包括:
数据信息获取模块,用于当接收到读取指令时,根据所述读取指令确定目标数据信息;
目标数据判断模块,用于根据所述目标数据信息判断预设缓存中是否存在对应的目标数据;
第一数据反馈模块,用于若预设缓存中存在所述目标数据,则从所述预设缓存中读取所述目标数据,并将所述目标数据反馈至内存;
第二数据反馈模块,用于若预设缓存中不存在所述目标数据,则根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,并将所述目标数据反馈至所述内存。
为解决上述技术问题,本申请还提供了一种数据读取设备,所述数据读取设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任意一种数据读取方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种数据读取方法的步骤。
本申请所提供的一种数据读取方法,包括当接收到读取指令时,根据所述读取指令确定目标数据信息;根据所述目标数据信息判断预设缓存中是否存在对应的目标数据;若是,则从所述预设缓存中读取所述目标数据,并将所述目标数据反馈至内存;若否,则根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,并将所述目标数据反馈至所述内存。
可见,本申请所提供的数据读取方法,通过预先创建缓存实现数据暂存,有效避免了内存占用问题,进一步,在对分布式数据存储***中的数据信息进行读取时,首先判断预设缓存中是否存在需要的数据信息,即上述目标数据,如果存在,则可直接从预设缓存中读取数据,避免与底层硬盘进行数据交互,保证数据读取效率,对于不存于预设缓存中的目标数据,再深入底层磁盘进行数据读取,获得目标数据,与此同时,将读取到的目标数据存储至预设缓存,以便后续再次接收到读取请求时可直接命中缓存,以有效保证数据读取效率。
本申请所提供的一种数据读取装置、设备以及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请所提供的一种数据读取方法的流程示意图;
图2为本申请所提供的一种块数据读取方法的流程示意图;
图3为本申请所提供的一种元数据读取方法的流程示意图;
图4为本申请所提供的一种数据读取装置的结构示意图;
图5为本申请所提供的一种数据读取设备的结构示意图。
具体实施方式
本申请的核心是提供一种数据读取方法,该数据读取方法有效地提高了分布式数据存储***中数据信息的读取效率;本申请的另一核心是提供一种数据读取装置、服务器以及计算机可读存储介质,也具有上述有益效果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在已有技术中,分布式存储相对于集中式存储存在的一个问题就是后端数据跨网络,由此导致数据读取过程中存在相对严重的时延问题。例如,在人工智能领域,利用AI算法进行海量数据识别时,需要对数据信息进行多次读取和多轮训练,因此,时延问题的存在导致了极为低下的数据识别效率,而且,由于内存空间有限,导致无法一次性读取大批量数据至内存中。
因此,为解决上述问题,本申请提供了一种数据读取方法,通过预先创建缓存实现数据暂存,有效避免了内存占用问题,进一步,在对分布式数据存储***中的数据信息进行读取时,首先判断预设缓存中是否存在需要的数据信息,即上述目标数据,如果存在,则可直接从预设缓存中读取数据,避免与底层硬盘进行数据交互,保证数据读取效率,对于不存于预设缓存中的目标数据,再深入底层磁盘进行数据读取,获得目标数据,与此同时,将读取到的目标数据存储至预设缓存,以便后续再次接收到读取请求时可直接命中缓存,以有效保证数据读取效率。
请参考图1,图1为本申请所提供的一种数据读取方法的流程示意图,该数据读取方法可以包括:
S101:当接收到读取指令时,根据读取指令确定目标数据信息;
本步骤旨在实现目标数据信息的获取,目标数据即为需要读取的数据,目标数据信息则为需要读取的数据的相关信息,具体而言,当需要对分布式数据存储***中的数据信息进行读取时,可发起数据读取指令,以便从数据读取指令中解析获得目标数据信息。
可以理解的是,上述目标数据信息的获取旨在实现对应目标数据的获取,其具体类型并不影响本技术方案的实施,例如可以为目标数据的属性信息或标识信息等,本申请对此做限定。
另外,上述读取指令的获取方式并不唯一,可以由技术人员通过相应的终端设备输入,也可以预设自动触发条件,本申请对此同样不做限定。
S102:根据目标数据信息判断预设缓存中是否存在对应的目标数据;若是,则执行S103,若否,则执行S104;
本步骤旨在实现缓存命中判断,具体的,在获得目标数据信息后,可以先判断预设缓存中是否存在对应的目标数据,其中,该预设缓存为预先在分布式数据存储***中创建的,用于缓存相关数据信息的存储介质,如果预设缓存中存储目标数据,则说明命中缓存。
优选的,上述目标数据可以包括目标块数据和/或目标元数据。
具体的,对于需要从分布式数据存储***中获取的目标数据,其具体类型可以根据实际需求进行选择,也就是说,该种数据读取方法可以实现对***中存储的任何类型的数据信息进行读取,例如本优选实施例中所提供的两种具体类型,上述块数据和元数据。
S103:从预设缓存中读取目标数据,并将目标数据反馈至内存;
本步骤旨在实现预设缓存中目标数据的读取,具体的,对于命中缓存的目标数据,无需再与***中的底层磁盘进行数据交互,直接将预设缓存中的目标数据反馈至内存即可,有效避免了分布式数据存储***中数据读取所存在的时延问题,进一步保证了数据读取效率,至此,数据读取完成,根据实际需求对内存中的目标数据进行后续处理即可。
S104:根据目标数据信息从磁盘中读取目标数据,将目标数据存储至预设缓存,并将目标数据反馈至内存。
本步骤旨在实现磁盘中目标数据的读取,具体的,对于未能命中缓存的目标数据,则需要与***中的底层磁盘进行数据交互,以便从中读取获得目标数据,进而将目标数据反馈至内存,完成数据读取;另外,对于从底层磁盘中获取的目标数据,还可进一步将其存储至预设缓存中,以便后续再次接收到读取请求,或后续数据处理需要多次进行数据读取时可直接命中缓存,以有效保证数据读取效率。
可以理解的是,对于需要多次进行数据读取的数据处理任务,在初次进行数据读取时,一般不会命中缓存,但早后续多次进行数据读取时,则会大概率命中缓存,由此,有效保证了数据读取效率,进而保证了任务处理效率。
另外,对于上述将目标数据反馈至内存的步骤与将目标数据存储至预设缓存的步骤,二者可同时进行,以保证数据处理效率。
作为一种优选实施例,该数据读取方法还可以包括:当接收到重启指令时,清空预设缓存。
本优选实施例旨在实现预设缓存的清除,具体而言,在进行某些类型的数据处理时,可能需要对分布式数据存储***进行多次数据读取,当接收到重启指令时,则说明此次数据处理结束,后续可能进行其他类型的数据处理,而其他类型的数据处理所需要读取的数据信息可能不同于此次数据处理所需要读取的数据信息,因此,为避免预设缓存的空间占用,在***重启时,可以直接清空缓存,以便为后续数据处理提供存储空间。
本申请实施例所提供的数据读取方法,通过预先创建缓存实现数据暂存,有效避免了内存占用问题,进一步,在对分布式数据存储***中的数据信息进行读取时,首先判断预设缓存中是否存在需要的数据信息,即上述目标数据,如果存在,则可直接从预设缓存中读取数据,避免与底层硬盘进行数据交互,保证数据读取效率,对于不存于预设缓存中的目标数据,再深入底层磁盘进行数据读取,获得目标数据,与此同时,将读取到的目标数据存储至预设缓存,以便后续再次接收到读取请求时可直接命中缓存,以有效保证数据读取效率。
在上述实施例的基础,本申请实施例对目标块数据的读取过程进行了详细介绍,请参考图2,图2为本申请所提供的一种块数据读取方法的流程示意图,其具体实现流程可包括:
S201:当接收到读取指令时,根据读取指令确定目标块数据信息;
S202:根据目标块数据信息判断SSD(Solid State Drives,固态硬盘)缓存中是否存在包括目标块数据的聚合文件;若是,则执行S203,若否,则执行S204;
S203:在SSD缓存中的聚合文件中获得目标块数据,并将目标块数据反馈至内存;
S204:从磁盘中读取包括目标块数据的聚合文件,将聚合文件存储至SSD缓存,在聚合文件中获得目标块数据,并将目标块数据反馈至内存。
本申请实施例实现了对分布式数据存储***中块数据的读取,在对块数据进行读取时,可采用SSD缓存作为预设缓存,实现对块数据的暂存;同时,为有效减少与***底层磁盘的交互频率,提高块数据读取效率,可以通过小文件聚合的方式将小文件聚合为大文件,由此,当需要从底层磁盘获取块数据时,可直接将包括块数据的聚合大文件读取至SSD缓存中,以便后续进行多次块数据读取时可直接命中缓存,保证块数据读取效率。
具体而言,当接收到针对块数据的读取指令时,首先从读取指令中获取需要读取的块数据的相关信息,即上述目标快数据信息,进而根据该目标快数据信息判断SSD缓存中是否存在包括目标块数据的聚合文件,若存在,则说明目标块数据命中缓存,直接从SSD缓存的聚合文件中读取目标块数据,并反馈至内存即可,若不存在,则说明目标块数据未命中缓存,此时,则向***底层的磁盘中进行数据读取,以获得包括目标块数据的聚合文件,在将聚合文件保存至SSD缓存的同时,从聚合文件中获得目标块数据并反馈至内存,以便后续数据处理,至此完成块数据的读取。
在上述实施例的基础,本申请实施例对目标元数据的读取过程进行了详细介绍,请参考图3,图3为本申请所提供的一种元数据读取方法的流程示意图,其具体实现流程可包括:
S301:当接收到读取指令时,根据读取指令确定目标元数据信息;
S302:根据目标元数据信息判断元数据服务缓存中是否存在包括目标元数据的数据分片;若是,则执行S303,若否,则执行S304;
S303:在元数据服务缓存中的数据分片中获得目标元数据,并将目标元数据反馈至内存;
S304:从磁盘中读取包括目标元数据的数据分片,将数据分片存储至元数据服务缓存,在数据分片中获得目标元数据,并将目标元数据反馈至内存。
本申请实施例实现了对分布式数据存储***中元数据的读取,在对元数据进行读取时,可在内存中建立缓存空间,即上述元数据服务缓存作为预设缓存,实现对元数据的暂存;同时,为有效减少与***底层磁盘的交互频率,提高元数据读取效率,对于存储于底层磁盘中的元数据,当一个目录下的数据量达到预设值时,对该目录下的元数据进行分片,由此,当需要从底层磁盘获取元数据时,可直接将包括元数据的数据分片读取至元数据服务缓存中,以便后续进行多次元数据读取时可直接命中缓存,保证元数据读取效率。其中,预设值的取值根据实际情况进行设定即可,并不影响本技术方案的实施。
具体而言,当接收到针对元数据的读取指令时,首先从读取指令中获取需要读取的元数据的相关信息,即上述目标元数据信息,进而根据该目标元数据信息判断元数据服务缓存中是否存在包括目标元数据的数据分片,若存在,则说明目标元数据命中缓存,直接从元数据服务缓存的数据分片中读取目标元数据,并反馈至内存即可,若不存在,则说明目标元数据未命中缓存,此时,则向***底层的磁盘中进行数据读取,以获得包括目标元数据的数据分片,在将数据分片保存至元数据服务缓存的同时,从数据分片中获得目标元数据并反馈至内存,以便后续数据处理,至此完成元数据的读取。
在上述各个实施例的基础上,本申请实施例以AI训练为例,对AI训练中的数据读取过程进行更为详细的介绍。
AI训练是指通过AI算法对一个数据集合内的所有数据进行特征值计算,并输出一个最优特征值,具体做法是将数据集内的数据打乱排序,通过GPU服务器利用AI算法对随机序列的数据进行并行计算,全部处理一遍作为一轮。一轮完成后输出一个最优特征值。一般情况下,一个数据计算会进行多轮计算,最终输出最优特征值,因此,AI训练具有一写多读的IO特征。例如,基于AI算法的图像识别,在使用分布式数据存储时,多次读取会存在较为严重的时延问题,效率低下,但由于AI训练是在数据集内部进行随机读取,且是多个GPU服务器同时进行多轮训练,一个数据集合的数据量大概在300W图片量,假设每张图片为300KB,总数据量大概为1T,如果完全加载到内存里,空间不够且成本太高。
进一步,采用本申请提供的数据读取方法,则会有效的解决上述问题。本申请所提供的技术方案通过小文件聚合技术、SSD缓存预读加速技术、元数据目录分片技术从元数据和数据层面实现了随机读加速。
1、小文件聚合:通过小文件聚合技术将小文件聚合成大文件,以有效减少数据写入和读取与HDD磁盘(底层磁盘)的交互频度。
(1)在文件***层面将小文件进行聚合成一个大文件(聚合文件);
(2)对于上层应用透明,访问时仍然按照原来的小文件进行访问;
(3)小文件对应的大文件信息以及偏移量存储在小文件对应属性内部,大文件的每个条带头部存储有小文件Inode相关信息。
2、SSD预读缓存加速:在分布式存储***中增设SSD缓存,当读取聚合文件中的小文件(目标数据)时,将聚合文件加载至SSD缓存中,来达到提升随机预读性能的效果;例如,一个小文件为300KB,一个聚合文件切割后的条带为8MB,当需要读取8MB聚合文件中的一个300KB小文件时,可直接将整个8MB聚合文件都预读上来,节省了27次读取ops,且后续进行多次数据读取时,该聚合文件中的其他数据可以预见性的在SSD缓存中直接命中。
(1)SSD缓存中只保留读缓存数据,内存中保留缓存数据索引,以有效实现命中缓存判断;
(2)上层写入数据时,在底层磁盘写入完成后,可同时在SSD缓存中异步保留读缓存数据;
(3)进程重启后,读缓存全部删除清空;
(4)不保留脏数据,以避免脏数据一致性设计的复杂性。
由于SSD缓存空间可以支撑将整个数据集加载至缓存中,所以,针对第一次的随机读取效果较好,而当全部加载至SSD缓存中后,后续随机读取的计算性能会更好。
3、元数据分片预读:针对在同一个目录、同一个分片下的元数据进行预加载,以有效减少客户端访问元数据的时延。
(1)当一个目录下的文件数量达到一定数量时,进行自动分片;
(2)当对一个文件进行访问时,可自动加载整个分片的元数据(分片数据)到元数据服务缓存,以便下次访问同一个分片的元数据时可以直接在元数据服务缓存中命中;
(3)分片大小可调整,以有效避免随机加载一个文件时,出现耗时较长的问题;
(4)对于需要的元数据(目标元数据)可优先返回,剩余的元数据异步加载至元数据服务缓存。
可见,本申请实施例所提供的数据读取方法,通过预先创建缓存实现数据暂存,有效避免了内存占用问题,进一步,在对分布式数据存储***中的数据信息进行读取时,首先判断预设缓存中是否存在需要的数据信息,即上述目标数据,如果存在,则可直接从预设缓存中读取数据,避免与底层硬盘进行数据交互,保证数据读取效率,对于不存于预设缓存中的目标数据,再深入底层磁盘进行数据读取,获得目标数据,与此同时,将读取到的目标数据存储至预设缓存,以便后续再次接收到读取请求时可直接命中缓存,以有效保证数据读取效率。
为解决上述问题,请参考图4,图4为本申请所提供的一种数据读取装置的结构示意图,该数据读取装置可包括:
数据信息获取模块100,用于当接收到读取指令时,根据读取指令确定目标数据信息;
目标数据判断模块200,用于根据目标数据信息判断预设缓存中是否存在对应的目标数据;
第一数据反馈模块300,用于若预设缓存中存在目标数据,则从预设缓存中读取目标数据,并将目标数据反馈至内存;
第二数据反馈模块400,用于若预设缓存中不存在目标数据,则根据目标数据信息从磁盘中读取目标数据,将目标数据存储至预设缓存,并将目标数据反馈至内存。
作为一种优选实施例,该数据读取装置还可以包括缓存清除模块,用于当接收到重启指令时,清空预设缓存。
对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,请参考图5,图5为本申请所提供的一种数据读取设备的结构示意图,该数据读取设备可包括:
存储器10,用于存储计算机程序;
处理器20,用于执行计算机程序时可实现上述任意一种数据读取方法的步骤。
对于本申请提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。
为解决上述问题,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现上述任意一种数据读取方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的数据读取方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围要素。
Claims (10)
1.一种数据读取方法,其特征在于,包括:
当接收到读取指令时,根据所述读取指令确定目标数据信息;
根据所述目标数据信息判断预设缓存中是否存在对应的目标数据;
若是,则从所述预设缓存中读取所述目标数据,并将所述目标数据反馈至内存;
若否,则根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,并将所述目标数据反馈至所述内存。
2.如权利要求1所述的数据读取方法,其特征在于,所述目标数据包括目标块数据和/或目标元数据。
3.如权利要求2所述的数据读取方法,其特征在于,判断所述预设缓存中是否存在所述目标块数据,包括:
判断SSD缓存中是否存在包括所述目标块数据的聚合文件,若是,则确定所述SSD缓存中存在所述目标块数据,若否,则确定所述SSD缓存中不存在所述目标块数据;
则所述从所述预设缓存中读取所述目标数据,包括:
在所述SSD缓存中的所述聚合文件中获得所述目标块数据。
4.如权利要求3所述的数据读取方法,其特征在于,所述根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,包括:
根据所述目标数据信息从所述磁盘中读取包括所述目标块数据的聚合文件,并将所述聚合文件存储至所述SSD缓存;
在所述聚合文件中获得所述目标块数据。
5.如权利要求2所述的数据读取方法,其特征在于,判断所述预设缓存中是否存在所述目标元数据,包括:
判断元数据服务缓存中是否存在包括所述目标元数据的数据分片,若是,则确定所述元数据服务缓存中存在所述目标元数据,若否,则确定所述元数据服务缓存中不存在所述目标元数据;
则所述从所述预设缓存中读取所述目标数据,包括:
在所述元数据服务缓存中的所述数据分片中获得所述目标元数据。
6.如权利要求5所述的数据读取方法,其特征在于,所述根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,包括:
根据所述目标数据信息从所述磁盘中读取包括所述目标元数据的数据分片,并将所述数据分片存储至所述元数据服务缓存;
在所述数据分片中获得所述目标元数据。
7.如权利要求1至6任意一项所述的数据读取装置,其特征在于,还包括:
当接收到重启指令时,清空所述预设缓存。
8.一种数据读取装置,其特征在于,包括:
数据信息获取模块,用于当接收到读取指令时,根据所述读取指令确定目标数据信息;
目标数据判断模块,用于根据所述目标数据信息判断预设缓存中是否存在对应的目标数据;
第一数据反馈模块,用于若预设缓存中存在所述目标数据,则从所述预设缓存中读取所述目标数据,并将所述目标数据反馈至内存;
第二数据反馈模块,用于若预设缓存中不存在所述目标数据,则根据所述目标数据信息从磁盘中读取所述目标数据,将所述目标数据存储至所述预设缓存,并将所述目标数据反馈至所述内存。
9.一种数据读取设备,其特征在于,还包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任意一项所述的数据读取方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任意一项所述的数据读取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911026073.7A CN110764708A (zh) | 2019-10-25 | 2019-10-25 | 一种数据读取方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911026073.7A CN110764708A (zh) | 2019-10-25 | 2019-10-25 | 一种数据读取方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110764708A true CN110764708A (zh) | 2020-02-07 |
Family
ID=69333900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911026073.7A Withdrawn CN110764708A (zh) | 2019-10-25 | 2019-10-25 | 一种数据读取方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764708A (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857587A (zh) * | 2020-07-15 | 2020-10-30 | 济南浪潮数据技术有限公司 | 一种在存储***缓存装置中基于磁道地址的命中检测方法 |
CN111859040A (zh) * | 2020-07-17 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种数据匹配方法、装置及相关设备 |
CN112269534A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种数据读取方法、装置、设备及计算机可读存储介质 |
CN112346664A (zh) * | 2020-11-30 | 2021-02-09 | 湖南国科微电子股份有限公司 | 一种数据存储方法、装置、设备及介质 |
CN112799589A (zh) * | 2021-01-14 | 2021-05-14 | 新华三大数据技术有限公司 | 一种数据读取方法及装置 |
CN113093994A (zh) * | 2021-04-08 | 2021-07-09 | 中国工商银行股份有限公司 | 一种数据处理方法及装置 |
CN113220233A (zh) * | 2021-05-14 | 2021-08-06 | 北京百度网讯科技有限公司 | 数据读取方法、装置及*** |
CN113296692A (zh) * | 2020-09-29 | 2021-08-24 | 阿里云计算有限公司 | 数据读取方法及装置 |
CN113342837A (zh) * | 2021-08-06 | 2021-09-03 | 北京金山云网络技术有限公司 | 数据发送方法、装置、电子设备和计算机可读介质 |
CN113342277A (zh) * | 2021-06-21 | 2021-09-03 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
CN113835614A (zh) * | 2020-09-17 | 2021-12-24 | 北京焱融科技有限公司 | 一种基于分布式文件存储客户端的ssd智能缓存方法和*** |
CN115168259A (zh) * | 2022-09-06 | 2022-10-11 | 浪潮电子信息产业股份有限公司 | 一种数据存取方法、装置、设备和计算机可读存储介质 |
CN115442317A (zh) * | 2021-12-17 | 2022-12-06 | 北京罗克维尔斯科技有限公司 | 报文处理方法、装置、***、设备及介质 |
WO2023040203A1 (zh) * | 2021-09-18 | 2023-03-23 | 苏州浪潮智能科技有限公司 | 一种人工智能平台的数据获取方法、装置、设备、介质 |
WO2023134604A1 (zh) * | 2022-01-13 | 2023-07-20 | 阿里云计算有限公司 | 数据缓存及读取方法、数据存取*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521553A (zh) * | 2008-02-29 | 2009-09-02 | 突触计算机***(上海)有限公司 | 对等网络视频点播***中用于提供数据分片的方法和装置 |
US20120246402A1 (en) * | 2011-03-25 | 2012-09-27 | Nec Corporation | Communication device, communication method, and computer- readable recording medium storing program |
WO2016107339A1 (zh) * | 2014-12-30 | 2016-07-07 | 北京奇虎科技有限公司 | 一种批量发送消息的方法和装置 |
CN108984130A (zh) * | 2018-07-25 | 2018-12-11 | 广东浪潮大数据研究有限公司 | 一种分布式存储的缓存读取方法及其装置 |
CN109101197A (zh) * | 2018-08-15 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种文件存储和访问方法、装置、文件存储器及*** |
CN109471843A (zh) * | 2018-12-24 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种元数据缓存方法、***及相关装置 |
-
2019
- 2019-10-25 CN CN201911026073.7A patent/CN110764708A/zh not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521553A (zh) * | 2008-02-29 | 2009-09-02 | 突触计算机***(上海)有限公司 | 对等网络视频点播***中用于提供数据分片的方法和装置 |
US20120246402A1 (en) * | 2011-03-25 | 2012-09-27 | Nec Corporation | Communication device, communication method, and computer- readable recording medium storing program |
WO2016107339A1 (zh) * | 2014-12-30 | 2016-07-07 | 北京奇虎科技有限公司 | 一种批量发送消息的方法和装置 |
CN108984130A (zh) * | 2018-07-25 | 2018-12-11 | 广东浪潮大数据研究有限公司 | 一种分布式存储的缓存读取方法及其装置 |
CN109101197A (zh) * | 2018-08-15 | 2018-12-28 | 郑州云海信息技术有限公司 | 一种文件存储和访问方法、装置、文件存储器及*** |
CN109471843A (zh) * | 2018-12-24 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种元数据缓存方法、***及相关装置 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111857587A (zh) * | 2020-07-15 | 2020-10-30 | 济南浪潮数据技术有限公司 | 一种在存储***缓存装置中基于磁道地址的命中检测方法 |
CN111859040A (zh) * | 2020-07-17 | 2020-10-30 | 苏州浪潮智能科技有限公司 | 一种数据匹配方法、装置及相关设备 |
CN111859040B (zh) * | 2020-07-17 | 2022-05-13 | 苏州浪潮智能科技有限公司 | 一种数据匹配方法、装置及相关设备 |
CN113835614A (zh) * | 2020-09-17 | 2021-12-24 | 北京焱融科技有限公司 | 一种基于分布式文件存储客户端的ssd智能缓存方法和*** |
CN113296692A (zh) * | 2020-09-29 | 2021-08-24 | 阿里云计算有限公司 | 数据读取方法及装置 |
CN113296692B (zh) * | 2020-09-29 | 2022-08-16 | 阿里云计算有限公司 | 数据读取方法及装置 |
CN112269534A (zh) * | 2020-10-16 | 2021-01-26 | 苏州浪潮智能科技有限公司 | 一种数据读取方法、装置、设备及计算机可读存储介质 |
CN112346664A (zh) * | 2020-11-30 | 2021-02-09 | 湖南国科微电子股份有限公司 | 一种数据存储方法、装置、设备及介质 |
CN112346664B (zh) * | 2020-11-30 | 2023-06-09 | 湖南国科微电子股份有限公司 | 一种数据存储方法、装置、设备及介质 |
CN112799589A (zh) * | 2021-01-14 | 2021-05-14 | 新华三大数据技术有限公司 | 一种数据读取方法及装置 |
CN113093994A (zh) * | 2021-04-08 | 2021-07-09 | 中国工商银行股份有限公司 | 一种数据处理方法及装置 |
CN113220233A (zh) * | 2021-05-14 | 2021-08-06 | 北京百度网讯科技有限公司 | 数据读取方法、装置及*** |
CN113342277A (zh) * | 2021-06-21 | 2021-09-03 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
CN113342837A (zh) * | 2021-08-06 | 2021-09-03 | 北京金山云网络技术有限公司 | 数据发送方法、装置、电子设备和计算机可读介质 |
WO2023040203A1 (zh) * | 2021-09-18 | 2023-03-23 | 苏州浪潮智能科技有限公司 | 一种人工智能平台的数据获取方法、装置、设备、介质 |
CN115442317A (zh) * | 2021-12-17 | 2022-12-06 | 北京罗克维尔斯科技有限公司 | 报文处理方法、装置、***、设备及介质 |
CN115442317B (zh) * | 2021-12-17 | 2023-10-10 | 北京罗克维尔斯科技有限公司 | 报文处理方法、装置、***、设备及介质 |
WO2023134604A1 (zh) * | 2022-01-13 | 2023-07-20 | 阿里云计算有限公司 | 数据缓存及读取方法、数据存取*** |
CN115168259A (zh) * | 2022-09-06 | 2022-10-11 | 浪潮电子信息产业股份有限公司 | 一种数据存取方法、装置、设备和计算机可读存储介质 |
CN115168259B (zh) * | 2022-09-06 | 2023-01-24 | 浪潮电子信息产业股份有限公司 | 一种数据存取方法、装置、设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110764708A (zh) | 一种数据读取方法、装置、设备及存储介质 | |
CN106547476B (zh) | 用于数据存储***的方法和装置 | |
US10860494B2 (en) | Flushing pages from solid-state storage device | |
US20150281308A1 (en) | Method and system for downloading and playing media file, client, server, and storage medium | |
CN112328185B (zh) | 一种基于分布式存储的智能预读方法 | |
CN105872721A (zh) | 起播速度的处理方法及装置 | |
EP3964973A1 (en) | File loading method and apparatus, electronic device, and storage medium | |
US10771358B2 (en) | Data acquisition device, data acquisition method and storage medium | |
CN107402870B (zh) | 一种元数据服务器中日志段的处理方法及装置 | |
CN112714359A (zh) | 视频推荐方法、装置、计算机设备及存储介质 | |
CN110045924B (zh) | 分级存储方法、装置、电子设备及计算机可读存储介质 | |
CN109246234B (zh) | 一种镜像文件下载方法、装置、电子设备及存储介质 | |
CN111913913B (zh) | 访问请求的处理方法和装置 | |
CN110971962B (zh) | 切片缓存的方法、装置及存储介质 | |
CN110990301A (zh) | 多plane存储介质的顺序读方法及相关装置 | |
CN110765125B (zh) | 一种存储数据的方法及装置 | |
CN109992217B (zh) | 一种服务质量控制方法、装置、电子设备和存储介质 | |
CN114089912A (zh) | 基于消息中间件的数据处理方法及装置、存储介质 | |
CN114968851A (zh) | 基于存储桶的数据处理方法及装置、电子设备、存储介质 | |
CN111240591A (zh) | 一种存储设备的操作请求处理方法及相关装置 | |
CN108363807B (zh) | 题目分发方法以及装置、介质、服务器 | |
CN112882847A (zh) | 一种弹幕消息处理方法、装置及*** | |
CN106877877B (zh) | 一种在线数据压缩在存储中的集成方法及*** | |
CN111966295B (zh) | 一种基于ceph的多journal记录方法、装置和介质 | |
CN110247973B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200207 |
|
WW01 | Invention patent application withdrawn after publication |