CN114327299A - 一种顺序读预读的方法、装置、设备及介质 - Google Patents
一种顺序读预读的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114327299A CN114327299A CN202210192660.9A CN202210192660A CN114327299A CN 114327299 A CN114327299 A CN 114327299A CN 202210192660 A CN202210192660 A CN 202210192660A CN 114327299 A CN114327299 A CN 114327299A
- Authority
- CN
- China
- Prior art keywords
- read
- reading
- request
- data object
- sliding window
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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
Abstract
本发明提供了一种基于ICFS分布式块存储系统的顺序读预读的方法、装置、设备及可读介质,该方法包括:响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。通过使用本发明的方案,能够提升ICFS分布式块存储系统的顺序读场景性能,提高了磁盘利用率。
Description
技术领域
本发明涉及计算机领域,并且更具体地涉及一种基于ICFS分布式块存储系统的顺序读预读的方法、装置、设备及可读介质。
背景技术
在块存储场景的ICFS(一种分布式对象存储系统)分布式对象存储系统中,用户使用的虚拟逻辑卷上的连续的逻辑空间,实际是由存储底层的多个 4M 大小的对象组成的,这些对象通过 Crush 数据分布算法均匀的分布在底层OSD(对象存储设备)上,承载实际的读写业务。这种分布策略能够提升面对随机读写业务时磁盘的并发度,提高存储系统的可靠性与可扩展性,但同时也为顺序读场景预读机制的实现带来了一定难度。具体存在以下难点:
1. 场景识别困难,对于传统集中式存储系统,顺序读预读业务场景的判断只需要判断一段时间内,用户下发的读请求是否连续即可。而对于分布式块存储系统,用户使用的是存储系统抽象出的多个虚拟卷,这些虚拟卷分别被拆分为多个对象后,通过数据分布算法均匀混合的分布在不同 PG(放置组)上。而 PG 又分布在不同节点的各个OSD上。当用户的多个虚拟卷同时承载业务时,单个OSD上可能承载着多个卷的数据对象的读写,这就导致了分布式存储系统本地判断顺序读场景的困难。
2.预读实现困难,传统的集中式存储系统软件实现仅使用单进程,总进程可统筹管理磁盘的读写与预读。而ICFS分布式块存储系统中,为避免单点故障影响整个集群,每个OSD各自分管自身的数据读写。单个虚拟卷的顺序读涉及到多个OSD上的数据读写,而OSD彼此之间的通信需要跨进程或跨节点的网络通信。如果沿用传统的预读机制实现,复杂性和有效性难以令人满意。
发明内容
有鉴于此,本发明实施例的目的在于提出一种基于ICFS分布式块存储系统的顺序读预读的方法、装置、设备及可读介质,通过使用本发明的技术方案,能够提升ICFS 分布式块存储系统的顺序读场景性能,提高了磁盘利用率。
基于上述目的,本发明的实施例的一个方面提供了一种基于ICFS分布式块存储系统的顺序读预读的方法,包括以下步骤:
响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;
响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;
响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;
将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。
根据本发明的一个实施例,还包括:
响应于执行预读,将预读数据保存在内存的缓存中。
根据本发明的一个实施例,响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象包括:
根据读请求中待读取的数据对象确定预读数据对象的范围;
构造预读数据对象的范围内所有对象的对象名;
响应于构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,确定对象名对应的数据对象为需要预读的卷对象。
根据本发明的一个实施例,将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读包括:
创建一个单独的线程以执行预读;
在预读滑动窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。
本发明的实施例的另一个方面,还提供了一种基于ICFS分布式块存储系统的顺序读预读的装置,装置包括:
判断模块,判断模块配置为响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;
创建模块,创建模块配置为响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;
计算模块,计算模块配置为响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;
执行模块,执行模块配置为将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。
根据本发明的一个实施例,还包括保存模块,保存模块配置为:
响应于执行预读,将预读数据保存在内存的缓存中。
根据本发明的一个实施例,计算模块还配置为:
根据读请求中待读取的数据对象确定预读数据对象的范围;
构造预读数据对象的范围内所有对象的对象名;
响应于构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,确定对象名对应的数据对象为需要预读的卷对象。
根据本发明的一个实施例,执行模块还配置为:
创建一个单独的线程以执行预读;
在预读滑动窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。
本发明的实施例的另一个方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现上述任意一项方法的步骤。
本发明的实施例的另一个方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任意一项方法的步骤。
本发明具有以下有益技术效果:本发明实施例提供的基于ICFS分布式块存储系统的顺序读预读的方法,通过响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读的技术方案,能够提升ICFS 分布式块存储系统的顺序读场景性能,提高了磁盘利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明一个实施例的基于ICFS分布式块存储系统的顺序读预读的方法的示意性流程图;
图2为根据本发明一个实施例的基于ICFS分布式块存储系统的顺序读预读的装置的示意图;
图3为根据本发明一个实施例的计算机设备的示意图;
图4为根据本发明一个实施例的计算机可读存储介质的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
基于上述目的,本发明的实施例的第一个方面,提出了一种基于ICFS分布式块存储系统的顺序读预读的方法的一个实施例。图1示出的是该方法的示意性流程图。
如图1中所示,该方法可以包括以下步骤:
S1响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求。
首先需要根据客户端下发的读请求判断是否处于顺序读场景。单个OSD上接收到读请求时,解析数据对象名,明确该数据对象属于哪个卷。若该数据对象连续多次识别到存在对象内的顺序读请求,根据卷ID交给该卷专属的预读处理器进行处理。
S2响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口。
卷的预读处理器是一种记录着特定的卷上的所有顺序读业务状态的数据结构。通过多个滑动窗口实现。每个滑动窗口记录着对应的顺序读业务的已读位置和预读已读位置,以及后续需要预读但还未执行预读的对象组成的队列。接收到新的顺序读对象时,根据情况创建新的预读滑动窗口或更新之前的预读滑动窗口已读位置。当预读滑动窗口长时间未更新已读位置时,认为该预读业务已结束,删除预读滑动窗口。
S3响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象。
根据读请求中待读取的数据对象确定预读数据对象的范围,解析已读位置对应的对象名,构造该对象后面预读范围内所有对象的对象名,如果构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,则确定对象名对应的数据对象为需要预读的卷对象,加入到滑动窗口的待预读对象队列中。
S4将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。
执行预读操作时,可以创建一个单独的线程执行预读,每次从现有的所有预读窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。获取预读数据对象时,优先获取距离之前已读数据最近的对象。预读完成后更新滑动窗口中的预读已读位置,从对应滑动窗口的待预读对象队列中删除。
通过本发明的技术方案,能够提升ICFS 分布式块存储系统的顺序读场景性能,提高了磁盘利用率。
在本发明的一个优选实施例中,还包括:
响应于执行预读,将预读数据保存在内存的缓存中。当执行预读时,从磁盘上将整个数据对象读取上来后,将预读数据保存在内存缓存中,当后续的顺序读业务读到此对象时,即可直接从内存缓存中读取。在此期间该对象如果接受到写请求,内存数据需要同步更新为新写数据。
在本发明的一个优选实施例中,响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象包括:
根据读请求中待读取的数据对象确定预读数据对象的范围;
构造预读数据对象的范围内所有对象的对象名;
响应于构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,确定对象名对应的数据对象为需要预读的卷对象。
在本发明的一个优选实施例中,将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读包括:
创建一个单独的线程以执行预读;
在预读滑动窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。执行预读操作时,可以创建一个单独的线程执行预读,每次从现有的所有预读窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。获取预读数据对象时,优先获取距离之前已读数据最近的对象。预读完成后更新滑动窗口中的预读已读位置,从对应滑动窗口的待预读对象队列中删除。
在本发明的一个优选实施例中,当执行预读、命中预读数据、未命中预读数据超时时,更新相应统计项并提供给外部接口,以供业务运行期间参考。
本发明的技术方案适合块场景的 ICFS 分布式存储系统。此方法通过使 ICFS 集群中每个 OSD 各自在自己的进程中自治的进行顺序读业务的识别、预读、与统计,达成了整体的预读功能效果,提升了ICFS 分布式块存储系统的顺序读场景性能,提高了磁盘利用率。
需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,上述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存取存储器(Random AccessMemory,RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,根据本发明实施例公开的方法还可以被实现为由CPU 执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU 执行时,执行本发明实施例公开的方法中限定的上述功能。
基于上述目的,本发明的实施例的第二个方面,提出了一种基于ICFS分布式块存储系统的顺序读预读的装置,如图2所示,装置200包括:
判断模块,判断模块配置为响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;
创建模块,创建模块配置为响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;
计算模块,计算模块配置为响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;
执行模块,执行模块配置为将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。
在本发明的一个优选实施例中,还包括保存模块,保存模块配置为:
响应于执行预读,将预读数据保存在内存的缓存中。
在本发明的一个优选实施例中,计算模块还配置为:
根据读请求中待读取的数据对象确定预读数据对象的范围;
构造预读数据对象的范围内所有对象的对象名;
响应于构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,确定对象名对应的数据对象为需要预读的卷对象。
在本发明的一个优选实施例中,执行模块还配置为:
创建一个单独的线程以执行预读;
在预读滑动窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备。图3示出的是本发明提供的计算机设备的实施例的示意图。如图3所示,本发明实施例包括如下装置:至少一个处理器21;以及存储器22,存储器22存储有可在处理器上运行的计算机指令23,指令由处理器执行时实现以下方法:
响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;
响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;
响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;
将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。
在本发明的一个优选实施例中,还包括:
响应于执行预读,将预读数据保存在内存的缓存中。
在本发明的一个优选实施例中,响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象包括:
根据读请求中待读取的数据对象确定预读数据对象的范围;
构造预读数据对象的范围内所有对象的对象名;
响应于构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,确定对象名对应的数据对象为需要预读的卷对象。
在本发明的一个优选实施例中,将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读包括:
创建一个单独的线程以执行预读;
在预读滑动窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。
基于上述目的,本发明实施例的第四个方面,提出了一种计算机可读存储介质。图4示出的是本发明提供的计算机可读存储介质的实施例的示意图。如图4所示,计算机可读存储介质31存储有被处理器执行时执行如下方法的计算机程序32:
响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;
响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;
响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;
将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。
在本发明的一个优选实施例中,还包括:
响应于执行预读,将预读数据保存在内存的缓存中。
在本发明的一个优选实施例中,响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象包括:
根据读请求中待读取的数据对象确定预读数据对象的范围;
构造预读数据对象的范围内所有对象的对象名;
响应于构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,确定对象名对应的数据对象为需要预读的卷对象。
在本发明的一个优选实施例中,将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读包括:
创建一个单独的线程以执行预读;
在预读滑动窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。
此外,根据本发明实施例公开的方法还可以被实现为由处理器执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被处理器执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
在一个或多个示例性设计中,功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种基于ICFS分布式块存储系统的顺序读预读的方法,其特征在于,包括以下步骤:
响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;
响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;
响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;
将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于执行预读,将预读数据保存在内存的缓存中。
3.根据权利要求1所述的方法,其特征在于,响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象包括:
根据读请求中待读取的数据对象确定预读数据对象的范围;
构造预读数据对象的范围内所有对象的对象名;
响应于构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,确定对象名对应的数据对象为需要预读的卷对象。
4.根据权利要求1所述的方法,其特征在于,将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读包括:
创建一个单独的线程以执行预读;
在预读滑动窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。
5.一种基于ICFS分布式块存储系统的顺序读预读的装置,其特征在于,所述装置包括:
判断模块,所述判断模块配置为响应于OSD接收到客户端下发的读请求,判断客户端下发的读请求是否为顺序读请求;
创建模块,所述创建模块配置为响应于客户端下发的读请求为顺序读请求,根据读请求中待读取的数据对象创建预读滑动窗口;
计算模块,所述计算模块配置为响应于预读滑动窗口创建完成,根据读请求中待读取的数据对象计算新的需要预读的卷对象;
执行模块,所述执行模块配置为将计算出的新的需要预读的卷对象加入到预读滑动窗口的待预读对象队列中并执行预读。
6.根据权利要求5所述的装置,其特征在于,还包括保存模块,所述保存模块配置为:
响应于执行预读,将预读数据保存在内存的缓存中。
7.根据权利要求5所述的装置,其特征在于,所述计算模块还配置为:
根据读请求中待读取的数据对象确定预读数据对象的范围;
构造预读数据对象的范围内所有对象的对象名;
响应于构造的对象名通过 Crush 算法计算得到的PG在OSD的PG分布图内,确定对象名对应的数据对象为需要预读的卷对象。
8.根据权利要求5所述的装置,其特征在于,所述执行模块还配置为:
创建一个单独的线程以执行预读;
在预读滑动窗口的待预读对象队列中获取需要预读的数据对象,执行预读并循环处理所有需预读的对象。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192660.9A CN114327299B (zh) | 2022-03-01 | 2022-03-01 | 一种顺序读预读的方法、装置、设备及介质 |
PCT/CN2022/135170 WO2023165188A1 (zh) | 2022-03-01 | 2022-11-29 | 一种顺序读预读的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192660.9A CN114327299B (zh) | 2022-03-01 | 2022-03-01 | 一种顺序读预读的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327299A true CN114327299A (zh) | 2022-04-12 |
CN114327299B CN114327299B (zh) | 2022-06-03 |
Family
ID=81030662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210192660.9A Active CN114327299B (zh) | 2022-03-01 | 2022-03-01 | 一种顺序读预读的方法、装置、设备及介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114327299B (zh) |
WO (1) | WO2023165188A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023165188A1 (zh) * | 2022-03-01 | 2023-09-07 | 苏州浪潮智能科技有限公司 | 一种顺序读预读的方法、装置、设备及介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117032597B (zh) * | 2023-10-09 | 2024-01-23 | 北京忆恒创源科技股份有限公司 | 数据预读处理方法及存储设备 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090055399A1 (en) * | 2007-08-21 | 2009-02-26 | Qichu Lu | Systems and methods for reading objects in a file system |
CN101388824A (zh) * | 2008-10-15 | 2009-03-18 | 中国科学院计算技术研究所 | 一种机群系统中分片存储模式下文件读取的方法及系统 |
US20130018851A1 (en) * | 2011-07-14 | 2013-01-17 | Dell Products L.P. | Intelligent deduplication data prefetching |
US20130128893A1 (en) * | 2011-11-23 | 2013-05-23 | Steven Glen Jorgensen | Method and system for sliding window processing of a datagram |
CN103135967A (zh) * | 2011-11-25 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 显示未读消息的方法和系统 |
CN103250141A (zh) * | 2010-12-01 | 2013-08-14 | 国际商业机器公司 | 联网的客户端-服务器体系结构中的预读处理 |
CN103577158A (zh) * | 2012-07-18 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 数据处理方法与装置 |
CN104715048A (zh) * | 2015-03-26 | 2015-06-17 | 浪潮集团有限公司 | 一种文件系统缓存预读取方法 |
US20150242437A1 (en) * | 2014-02-26 | 2015-08-27 | Electronics And Telecommunications Research Institute | Method and apparatus for reading data in distributed file system |
CN106557431A (zh) * | 2016-11-25 | 2017-04-05 | 郑州云海信息技术有限公司 | 一种用于多路顺序流的预读方法及装置 |
US10191959B1 (en) * | 2012-06-20 | 2019-01-29 | Amazon Technologies, Inc. | Versioned read-only snapshots of shared state in distributed computing environments |
CN109542361A (zh) * | 2018-12-04 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种分布式存储系统文件读取方法、系统及相关装置 |
CN110737388A (zh) * | 2018-07-18 | 2020-01-31 | 中兴通讯股份有限公司 | 数据预读方法、客户端、服务器以及文件系统 |
CN110780819A (zh) * | 2019-10-25 | 2020-02-11 | 浪潮电子信息产业股份有限公司 | 一种分布式存储系统的数据读写方法 |
CN111782612A (zh) * | 2020-05-14 | 2020-10-16 | 北京航空航天大学 | 跨域虚拟数据空间中文件数据边缘缓存方法 |
CN112328185A (zh) * | 2020-12-28 | 2021-02-05 | 烽火通信科技股份有限公司 | 一种基于分布式存储的智能预读方法 |
CN113419824A (zh) * | 2021-01-25 | 2021-09-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统及计算机存储介质 |
CN114077588A (zh) * | 2020-08-20 | 2022-02-22 | 荣耀终端有限公司 | 一种预读方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327299B (zh) * | 2022-03-01 | 2022-06-03 | 苏州浪潮智能科技有限公司 | 一种顺序读预读的方法、装置、设备及介质 |
-
2022
- 2022-03-01 CN CN202210192660.9A patent/CN114327299B/zh active Active
- 2022-11-29 WO PCT/CN2022/135170 patent/WO2023165188A1/zh unknown
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090055399A1 (en) * | 2007-08-21 | 2009-02-26 | Qichu Lu | Systems and methods for reading objects in a file system |
CN101388824A (zh) * | 2008-10-15 | 2009-03-18 | 中国科学院计算技术研究所 | 一种机群系统中分片存储模式下文件读取的方法及系统 |
CN103250141A (zh) * | 2010-12-01 | 2013-08-14 | 国际商业机器公司 | 联网的客户端-服务器体系结构中的预读处理 |
US20130018851A1 (en) * | 2011-07-14 | 2013-01-17 | Dell Products L.P. | Intelligent deduplication data prefetching |
US20130128893A1 (en) * | 2011-11-23 | 2013-05-23 | Steven Glen Jorgensen | Method and system for sliding window processing of a datagram |
CN103135967A (zh) * | 2011-11-25 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 显示未读消息的方法和系统 |
US10191959B1 (en) * | 2012-06-20 | 2019-01-29 | Amazon Technologies, Inc. | Versioned read-only snapshots of shared state in distributed computing environments |
CN103577158A (zh) * | 2012-07-18 | 2014-02-12 | 阿里巴巴集团控股有限公司 | 数据处理方法与装置 |
US20150242437A1 (en) * | 2014-02-26 | 2015-08-27 | Electronics And Telecommunications Research Institute | Method and apparatus for reading data in distributed file system |
CN104715048A (zh) * | 2015-03-26 | 2015-06-17 | 浪潮集团有限公司 | 一种文件系统缓存预读取方法 |
CN106557431A (zh) * | 2016-11-25 | 2017-04-05 | 郑州云海信息技术有限公司 | 一种用于多路顺序流的预读方法及装置 |
CN110737388A (zh) * | 2018-07-18 | 2020-01-31 | 中兴通讯股份有限公司 | 数据预读方法、客户端、服务器以及文件系统 |
CN109542361A (zh) * | 2018-12-04 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种分布式存储系统文件读取方法、系统及相关装置 |
CN110780819A (zh) * | 2019-10-25 | 2020-02-11 | 浪潮电子信息产业股份有限公司 | 一种分布式存储系统的数据读写方法 |
CN111782612A (zh) * | 2020-05-14 | 2020-10-16 | 北京航空航天大学 | 跨域虚拟数据空间中文件数据边缘缓存方法 |
CN114077588A (zh) * | 2020-08-20 | 2022-02-22 | 荣耀终端有限公司 | 一种预读方法及装置 |
CN112328185A (zh) * | 2020-12-28 | 2021-02-05 | 烽火通信科技股份有限公司 | 一种基于分布式存储的智能预读方法 |
CN113419824A (zh) * | 2021-01-25 | 2021-09-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、装置、系统及计算机存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023165188A1 (zh) * | 2022-03-01 | 2023-09-07 | 苏州浪潮智能科技有限公司 | 一种顺序读预读的方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023165188A1 (zh) | 2023-09-07 |
CN114327299B (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114327299B (zh) | 一种顺序读预读的方法、装置、设备及介质 | |
KR102392944B1 (ko) | 데이터 백업 방법, 저장 매체 및 컴퓨팅 기기 | |
CN109254733B (zh) | 用于存储数据的方法、装置和系统 | |
CN111159252B (zh) | 事务执行方法、装置、计算机设备及存储介质 | |
US20060074847A1 (en) | Method and system for data processing with data replication for the same | |
CN102272751B (zh) | 在数据库环境通过背景同步的数据完整性 | |
WO2021103403A1 (zh) | 区块链交易信息管理方法、装置、计算机设备及存储介质 | |
CN113806300B (zh) | 数据存储方法、系统、装置、设备及存储介质 | |
CN111737212A (zh) | 一种分布式文件系统提升性能的方法和设备 | |
WO2021169639A1 (zh) | 一种bmc定制的方法、系统、设备及可读存储介质 | |
CN111414424B (zh) | 一种配置数据自动同步redis的方法、系统、介质及设备 | |
CN106897123B (zh) | 数据库操作方法及装置 | |
CN115114232A (zh) | 一种历史版本对象列举方法、装置及其介质 | |
CN116339643B (zh) | 一种磁盘阵列的格式化方法、装置、设备和介质 | |
CN116431080B (zh) | 一种数据落盘方法、系统、设备及计算机可读存储介质 | |
CN115934999A (zh) | 一种基于块文件的视频流数据存储方法、装置及介质 | |
CN111240810B (zh) | 一种事务管理方法、装置、设备和存储介质 | |
CN111399753B (zh) | 写入图片的方法和装置 | |
CN109977097B (zh) | 一种基于数据库的网络配置管理方法及系统 | |
CN113867626A (zh) | 一种存储系统性能优化方法、系统、设备和存储介质 | |
CN111459412A (zh) | 磁盘管理方法、装置以及电子设备 | |
CN111190549A (zh) | 一种共享卷可用容量获取方法、装置、设备及介质 | |
CN112612408B (zh) | 一种逻辑卷基于对象映射表特性的加速写方法及装置 | |
CN115756323A (zh) | 一种磁盘数据缓冲区数据下刷的方法、装置、设备及介质 | |
CN109558445A (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 |