CN113672176B - 一种数据读取方法、***、设备及计算机可读存储介质 - Google Patents
一种数据读取方法、***、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN113672176B CN113672176B CN202110929353.XA CN202110929353A CN113672176B CN 113672176 B CN113672176 B CN 113672176B CN 202110929353 A CN202110929353 A CN 202110929353A CN 113672176 B CN113672176 B CN 113672176B
- Authority
- CN
- China
- Prior art keywords
- data
- reading
- read
- distributed
- storage system
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000007246 mechanism Effects 0.000 claims abstract description 48
- 238000013500 data storage Methods 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 30
- 230000004044 response Effects 0.000 abstract description 6
- 230000000875 corresponding effect Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/0629—Configuration or reconfiguration of storage systems
-
- 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)
Abstract
本申请公开了一种数据读取方法、***、设备及计算机可读存储介质,应用于分布式存储***,获取目标业务的目标IO请求;获取与目标业务对应的历史IO请求的数据读取信息;基于数据读取信息判断是否满足预设预读条件;若满足预设预读条件,则基于预读机制响应目标IO请求;若不满足预设预读条件,则直接响应目标IO请求。本申请可以根据目标业务对应的历史IO请求的数据读取信息来判断是否满足预设预读条件,进而决定是否执行预读机制,相当于根据目标业务的历史IO响应结果来判断是否执行预读机制,可以保证预读机制的准确开启与关闭,避免预读机制在无需开启的情况下浪费分布式存储***的资源,可以提高分布式存储***资源的有效利用。
Description
技术领域
本申请涉及信息处理技术领域,更具体地说,涉及一种数据读取方法、***、设备及计算机可读存储介质。
背景技术
在分布式存储***中,为了提高IO(Input/Output,输入/输出)的响应时间,可以启动预读机制预先对底层数据进行预读并在内存中进行缓存,这样,当响应该底层数据的IO请求时,可直接从内存中返回该底层数据。
然而,如果预读的底层数据无法被IO所用,不仅会占用内存资源还会消耗分布式存储***的性能资源,不利于分布式存储***的高效工作。
综上所述,如何提高分布式存储***资源的有效利用是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据读取方法,其能在一定程度上解决如何提高分布式存储***资源的有效利用的技术问题。本申请还提供了一种数据读取***、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种数据读取方法,应用于分布式存储***,包括:
获取目标业务的目标IO请求;
获取与所述目标业务对应的历史IO请求的数据读取信息;
基于所述数据读取信息判断是否满足预设预读条件;
若满足所述预设预读条件,则基于预读机制响应所述目标IO请求;
若不满足所述预设预读条件,则直接响应所述目标IO请求。
优选的,所述基于所述数据读取信息判断是否满足预设预读条件,包括:
基于所述数据读取信息,确定各个已读取数据在所述分布式存储***中所处的数据存储单元;
基于所述数据读取信息,确定各个所述数据存储单元的存储读取信息;
基于所述存储读取信息判断是否满足所述预设预读条件。
优选的,所述基于所述存储读取信息判断是否满足所述预设预读条件,包括:
基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否连续分布;
若所述已读取数据在所述分布式存储***中连续分布,则判定满足所述预设预读条件;
若所述已读取数据在所述分布式存储***中不连续分布,则判定不满足所述预设预读条件。
优选的,所述存储读取信息包括读取所述数据存储单元的读取顺序;
所述基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否连续分布,包括:
确定各个所述数据存储单元在所述分布式存储***中的排列顺序;
判断所述读取顺序与所述排列顺序是否一致;
若所述读取顺序与所述排列顺序一致,则判定所述已读取数据在所述分布式存储***中连续分布;
若所述读取顺序与所述排列顺序不一致,则判定所述已读取数据在所述分布式存储***中不连续分布。
优选的,所述基于所述存储读取信息判断是否满足所述预设预读条件,包括:
基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否集中分布;
若所述已读取数据在所述分布式存储***中集中分布,则判定满足所述预设预读条件;
若所述已读取数据在所述分布式存储***中未集中分布,则判定不满足所述预设预读条件。
优选的,所述存储读取信息包括读取所述数据存储单元的读取次数;
所述基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否集中分布,包括:
确定所述历史IO的第一数量值;
计算所述第一数量值与所述读取次数的第一比值;
计算所述已读取数据的总字节数与所述读取次数的第二比值;
确定所述数据存储单元的平均大小值;
计算所述第二比值与所述平均大小值的第三比值;
计算所述第一比值与所述第三比值的乘积值;
判断所述乘积值是否大于预设数值;
若所述乘积值大于所述预设数值,则判定已读取数据在所述分布式存储***中集中分布;
若所述乘积值小于等于所述预设数值,则判定已读取数据在所述分布式存储***中未集中分布。
其中,所述获取目标业务的目标IO请求之前,还包括:
预先关闭所述预读机制。
一种数据读取***,应用于分布式存储***,包括:
第一获取模块,用于获取目标业务的目标IO请求;
第二获取模块,用于获取与所述目标业务对应的历史IO请求的数据读取信息;
第一判断模块,用于基于所述数据读取信息判断是否满足预设预读条件;若满足所述预设预读条件,则基于预读机制响应所述目标IO请求;若不满足所述预设预读条件,则直接响应所述目标IO请求。
一种数据读取设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述数据读取方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述数据读取方法的步骤。
本申请提供的一种数据读取方法,应用于分布式存储***,获取目标业务的目标IO请求;获取与目标业务对应的历史IO请求的数据读取信息;基于数据读取信息判断是否满足预设预读条件;若满足预设预读条件,则基于预读机制响应目标IO请求;若不满足预设预读条件,则直接响应目标IO请求。本申请可以根据目标业务对应的历史IO请求的数据读取信息来判断是否满足预设预读条件,进而决定是否执行预读机制,相当于根据目标业务的历史IO响应结果来判断是否执行预读机制,可以保证预读机制的准确开启与关闭,避免预读机制在无需开启的情况下浪费分布式存储***的资源,可以提高分布式存储***资源的有效利用。本申请提供的一种数据读取***、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数据读取方法的流程图;
图2为基于存储读取信息判断已读取数据在分布式存储***中是否连续分布的流程图;
图3为基于存储读取信息判断已读取数据在分布式存储***中是否集中分布的流程图;
图4为本申请实施例提供的一种数据读取***的结构示意图;
图5为本申请实施例提供的一种数据读取设备的结构示意图;
图6为本申请实施例提供的一种数据读取设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参阅图1,图1为本申请实施例提供的一种数据读取方法的流程图。
本申请实施例提供的一种数据读取方法,应用于分布式存储***,可以包括以下步骤:
步骤S101:获取目标业务的目标IO请求。
实际应用中,分布式存储***可以先获取目标业务的目标IO请求,具体的,分布式存储***可以接收客户端发送的目标业务的目标IO请求,目标业务的类型及目标IO请求所需的数据均可以根据实际需要确定,本申请在此不做具体限定。
步骤S102:获取与目标业务对应的历史IO请求的数据读取信息。
实际应用中,因为预读机制是预先将分布式存储***中的底层数据读取出并存储在内存中,所以预读机制会提高底层数据的响应速率,基于预读机制的特性,可以根据目标业务的历史IO请求的数据读取情况来决定当前时刻是否启用预读机制,也即在获取目标业务的目标IO请求之后,可以获取与目标业务对应的历史IO请求的数据读取信息,数据读取信息的具体类型可以根据实际需要确定。
步骤S103:基于数据读取信息判断是否满足预设预读条件;若满足预设预读条件,则执行步骤S104;若不满足预设预读条件,则执行步骤S105。
步骤S104:基于预读机制响应目标IO请求。
步骤S105:直接响应目标IO请求。
实际应用中,在获取数据读取信息之后,可以基于数据读取信息判断是否满足预设预读条件,预设预读条件也即用于决定是否开启预读机制的条件,若满足预设预读条件,则可以基于预读机制响应目标IO请求;若不满足预设预读条件,则可以直接响应目标IO请求,此时便无需启动预读机制。
具体应用场景中,可以默认预读机制为关闭状态,也即预先关闭预读机制,相应的,在满足预设预读条件后,基于预读机制响应目标IO请求之前,可以开启预读机制;而在不满足预设预读条件后,可以保持预读机制为关闭状态。
本申请提供的一种数据读取方法,应用于分布式存储***,获取目标业务的目标IO请求;获取与目标业务对应的历史IO请求的数据读取信息;基于数据读取信息判断是否满足预设预读条件;若满足预设预读条件,则基于预读机制响应目标IO请求;若不满足预设预读条件,则直接响应目标IO请求。本申请可以根据目标业务对应的历史IO请求的数据读取信息来判断是否满足预设预读条件,进而决定是否执行预读机制,相当于根据目标业务的历史IO响应结果来判断是否执行预读机制,可以保证预读机制的准确开启与关闭,避免预读机制在无需开启的情况下浪费分布式存储***的资源,可以提高分布式存储***资源的有效利用。
本申请实施例提供的一种数据读取方法中,如果IO请求所需的数据在分布式存储***中规律存储的话,预读机制可以更好的发挥作用,而IO请求所需的数据在分布式存储***中规律表现在数据在分布式存储中的数据存储单元具有规律性,所以分布式存储***在基于数据读取信息判断是否满足预设预读条件的过程中,为了提高判断效率,可以基于数据读取信息,确定各个已读取数据在分布式存储***中所处的数据存储单元;基于数据读取信息,确定各个数据存储单元的存储读取信息;基于存储读取信息判断是否满足预设预读条件。
具体应用场景中,如果IO请求所需的数据在分布式存储***中连续分布的话,通过预读机制可以很好的读取到所需数据,所以分布式存储***在基于存储读取信息判断是否满足预设预读条件的过程中,可以基于存储读取信息判断已读取数据在分布式存储***中是否连续分布;若已读取数据在分布式存储***中连续分布,则判定满足预设预读条件;若已读取数据在分布式存储***中不连续分布,则判定不满足预设预读条件。
实际应用场景中,已读取数据在分布式存储***中连续分布的话,已读取数据对应的数据存储单元在分布式存储***中也会连续排列,此时已读取数据的读取顺序与数据存储单元的排列顺序会一致,也即可以依据已读取数据的读取顺序与数据存储单元的排列顺序来判断已读取数据在分布式存储***中是否连续分布,此时,存储读取信息包括读取数据存储单元的读取顺序,基于存储读取信息判断已读取数据在分布式存储***中是否连续分布的过程可以参阅图2,其可以包括以下步骤:
步骤S201:确定各个数据存储单元在分布式存储***中的排列顺序。
步骤S202:判断读取顺序与排列顺序是否一致;若读取顺序与排列顺序一致,则执行步骤S203;若读取顺序与排列顺序不一致,则执行步骤S204。
步骤S203:判定已读取数据在分布式存储***中连续分布。
步骤S204:判定已读取数据在分布式存储***中不连续分布。
为了便于理解,假设数据存储单元为A、B、C,其在分布式存储***中从左到右的排列顺序为A、C、B,如果数据存储单元被读取的顺序也为A、C、B,此时可以直接按照排列顺序进行预读便可以得到所需数据,如果数据存储单元被读取的顺序为C、A、B,此时按照排列顺序进行预读后会使得所需数据的顺序被打乱,不利于IO请求的响应。
需要说明的是,在此过程中,分布式存储***在读取数据的过程中,如果每次读取的数据规模越接近数据存储单元的规模,也即越接近以数据存储单元为单位进行数据读取的话,比如一次读取半个、四分之一等数据存储单元的数据,预读机制会更倾向于读取一个数据存储单元的数据,此时数据存储单元的排列顺序会更多的影响预读机制的读取结果,所以可以在分布式存储***每次读取的数据规模越接近数据存储单元的规模时,更多的应用本实施例的方法来进行预设预读条件的满足判断。
具体应用场景中,如果IO请求所需的数据在分布式存储***中集中分布的话,通过预读机制可以很好的读取到所需数据,所以分布式存储***在基于存储读取信息判断是否满足预设预读条件的过程中,可以基于存储读取信息判断已读取数据在分布式存储***中是否集中分布;若已读取数据在分布式存储***中集中分布,则判定满足预设预读条件;若已读取数据在分布式存储***中未集中分布,则判定不满足预设预读条件。
实际应用场景中,已读取数据在分布式存储***中集中分布的话,已读取数据在单个数据存储单元中的占比会更高,也即已读取数据会集中分布在同一个数据存储单元中,也即可以根据已读取数据与数据存储单元的占比来确定是否满足预设预读条件,此时,存储读取信息包括读取数据存储单元的读取次数;基于存储读取信息判断已读取数据在分布式存储***中是否集中分布的过程可以如图3所示,其可以包括以下步骤:
步骤S301:确定历史IO的第一数量值。
步骤S302:计算第一数量值与读取次数的第一比值。
步骤S303:计算已读取数据的总字节数与读取次数的第二比值。
步骤S304:确定数据存储单元的平均大小值。
步骤S305:计算第二比值与平均大小值的第三比值。
步骤S306:计算第一比值与第三比值的乘积值。
步骤S307:判断乘积值是否大于预设数值;若乘积值大于预设数值,则执行步骤S308;若乘积值小于等于预设数值,则执行步骤S309。
步骤S308:判定已读取数据在分布式存储***中集中分布。
步骤S309:判定已读取数据在分布式存储***中未集中分布。
需要说明的是,预设数值可以根据实际需要来确定,比如预设数值可以为0.6等。且在此过程中,分布式存储***在读取数据的过程中,如果每次读取的数据规模越小,比如远小于数据存储单元的规模,此时IO请求所需的数据可能存储在一个数据存储单元中,预读机制只需对一个数据存储单元进行读取便可以获取到所需数据,此时分布式存储***每次读取数据的大小值会更多的影响预读机制的读取结果,所以可以在分布式存储***每次读取的数据规模越小于数据存储单元的规模时,更多的应用本实施例的方法来进行预设预读条件的满足判断。当然也可以每次均判断已读取数据在分布式存储***中是否连续分布或集中分布,若满足其中一种分布,便可以认为满足预设预读条件等,本申请在此不做具体限定。
请参阅图4,图4为本申请实施例提供的一种数据读取***的结构示意图。
本申请实施例提供的一种数据读取***,应用于分布式存储***,可以包括:
第一获取模块101,用于获取目标业务的目标IO请求;
第二获取模块102,用于获取与目标业务对应的历史IO请求的数据读取信息;
第一判断模块103,用于基于数据读取信息判断是否满足预设预读条件;若满足预设预读条件,则基于预读机制响应目标IO请求;若不满足预设预读条件,则直接响应目标IO请求。
本申请实施例提供的一种数据读取***,应用于分布式存储***,第一判断模块可以包括:
第一确定单元,用于基于数据读取信息,确定各个已读取数据在分布式存储***中所处的数据存储单元;
第二确定单元,用于基于数据读取信息,确定各个数据存储单元的存储读取信息;
第一判断单元,用于基于存储读取信息判断是否满足预设预读条件。
本申请实施例提供的一种数据读取***,应用于分布式存储***,第一判断单元可以具体用于:基于存储读取信息判断已读取数据在分布式存储***中是否连续分布;若已读取数据在分布式存储***中连续分布,则判定满足预设预读条件;若已读取数据在分布式存储***中不连续分布,则判定不满足预设预读条件。
本申请实施例提供的一种数据读取***,应用于分布式存储***,存储读取信息可以包括读取数据存储单元的读取顺序,第一判断单元可以具体用于:确定各个数据存储单元在分布式存储***中的排列顺序;判断读取顺序与排列顺序是否一致;若读取顺序与排列顺序一致,则判定已读取数据在分布式存储***中连续分布;若读取顺序与排列顺序不一致,则判定已读取数据在分布式存储***中不连续分布。
本申请实施例提供的一种数据读取***,应用于分布式存储***,第一判断单元可以具体用于:基于存储读取信息判断已读取数据在分布式存储***中是否集中分布;若已读取数据在分布式存储***中集中分布,则判定满足预设预读条件;若已读取数据在分布式存储***中未集中分布,则判定不满足预设预读条件。
本申请实施例提供的一种数据读取***,应用于分布式存储***,存储读取信息可以包括读取数据存储单元的读取次数,第一判断单元可以具体用于:确定历史IO的第一数量值;计算第一数量值与读取次数的第一比值;计算已读取数据的总字节数与读取次数的第二比值;确定数据存储单元的平均大小值;计算第二比值与平均大小值的第三比值;计算第一比值与第三比值的乘积值;判断乘积值是否大于预设数值;若乘积值大于预设数值,则判定已读取数据在分布式存储***中集中分布;若乘积值小于等于预设数值,则判定已读取数据在分布式存储***中未集中分布。
本申请还提供了一种数据读取设备及计算机可读存储介质,其均具有本申请实施例提供的一种数据读取方法具有的对应效果。请参阅图5,图5为本申请实施例提供的一种数据读取设备的结构示意图。
本申请实施例提供的一种数据读取设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
获取目标业务的目标IO请求;
获取与目标业务对应的历史IO请求的数据读取信息;
基于数据读取信息判断是否满足预设预读条件;
若满足预设预读条件,则基于预读机制响应目标IO请求;
若不满足预设预读条件,则直接响应目标IO请求。
本申请实施例提供的一种数据读取设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于数据读取信息,确定各个已读取数据在分布式存储***中所处的数据存储单元;基于数据读取信息,确定各个数据存储单元的存储读取信息;基于存储读取信息判断是否满足预设预读条件。
本申请实施例提供的一种数据读取设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于存储读取信息判断已读取数据在分布式存储***中是否连续分布;若已读取数据在分布式存储***中连续分布,则判定满足预设预读条件;若已读取数据在分布式存储***中不连续分布,则判定不满足预设预读条件。
本申请实施例提供的一种数据读取设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:存储读取信息包括读取数据存储单元的读取顺序;确定各个数据存储单元在分布式存储***中的排列顺序;判断读取顺序与排列顺序是否一致;若读取顺序与排列顺序一致,则判定已读取数据在分布式存储***中连续分布;若读取顺序与排列顺序不一致,则判定已读取数据在分布式存储***中不连续分布。
本申请实施例提供的一种数据读取设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:基于存储读取信息判断已读取数据在分布式存储***中是否集中分布;若已读取数据在分布式存储***中集中分布,则判定满足预设预读条件;若已读取数据在分布式存储***中未集中分布,则判定不满足预设预读条件。
本申请实施例提供的一种数据读取设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:存储读取信息包括读取数据存储单元的读取次数;确定历史IO的第一数量值;计算第一数量值与读取次数的第一比值;计算已读取数据的总字节数与读取次数的第二比值;确定数据存储单元的平均大小值;计算第二比值与平均大小值的第三比值;计算第一比值与第三比值的乘积值;判断乘积值是否大于预设数值;若乘积值大于预设数值,则判定已读取数据在分布式存储***中集中分布;若乘积值小于等于预设数值,则判定已读取数据在分布式存储***中未集中分布。
请参阅图6,本申请实施例提供的另一种数据读取设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现数据读取设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
获取目标业务的目标IO请求;
获取与目标业务对应的历史IO请求的数据读取信息;
基于数据读取信息判断是否满足预设预读条件;
若满足预设预读条件,则基于预读机制响应目标IO请求;
若不满足预设预读条件,则直接响应目标IO请求。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于数据读取信息,确定各个已读取数据在分布式存储***中所处的数据存储单元;基于数据读取信息,确定各个数据存储单元的存储读取信息;基于存储读取信息判断是否满足预设预读条件。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于存储读取信息判断已读取数据在分布式存储***中是否连续分布;若已读取数据在分布式存储***中连续分布,则判定满足预设预读条件;若已读取数据在分布式存储***中不连续分布,则判定不满足预设预读条件。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:存储读取信息包括读取数据存储单元的读取顺序;确定各个数据存储单元在分布式存储***中的排列顺序;判断读取顺序与排列顺序是否一致;若读取顺序与排列顺序一致,则判定已读取数据在分布式存储***中连续分布;若读取顺序与排列顺序不一致,则判定已读取数据在分布式存储***中不连续分布。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:基于存储读取信息判断已读取数据在分布式存储***中是否集中分布;若已读取数据在分布式存储***中集中分布,则判定满足预设预读条件;若已读取数据在分布式存储***中未集中分布,则判定不满足预设预读条件。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:存储读取信息包括读取数据存储单元的读取次数;确定历史IO的第一数量值;计算第一数量值与读取次数的第一比值;计算已读取数据的总字节数与读取次数的第二比值;确定数据存储单元的平均大小值;计算第二比值与平均大小值的第三比值;计算第一比值与第三比值的乘积值;判断乘积值是否大于预设数值;若乘积值大于预设数值,则判定已读取数据在分布式存储***中集中分布;若乘积值小于等于预设数值,则判定已读取数据在分布式存储***中未集中分布。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种数据读取***、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种数据读取方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种数据读取方法,其特征在于,应用于分布式存储***,包括:
获取目标业务的目标IO请求;
获取与所述目标业务对应的历史IO请求的数据读取信息;
基于所述数据读取信息判断是否满足预设预读条件;
若满足所述预设预读条件,则基于预读机制响应所述目标IO请求;
若不满足所述预设预读条件,则直接响应所述目标IO请求;
其中,所述基于所述数据读取信息判断是否满足预设预读条件,包括:
基于所述数据读取信息,确定各个已读取数据在所述分布式存储***中所处的数据存储单元;
基于所述数据读取信息,确定各个所述数据存储单元的存储读取信息;
基于所述存储读取信息判断是否满足所述预设预读条件;
其中,所述基于所述存储读取信息判断是否满足所述预设预读条件,包括:
基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否连续分布;
若所述已读取数据在所述分布式存储***中连续分布,则判定满足所述预设预读条件;
若所述已读取数据在所述分布式存储***中不连续分布,则判定不满足所述预设预读条件;
和/或,所述基于所述存储读取信息判断是否满足所述预设预读条件,包括:
基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否集中分布;
若所述已读取数据在所述分布式存储***中集中分布,则判定满足所述预设预读条件;
若所述已读取数据在所述分布式存储***中未集中分布,则判定不满足所述预设预读条件。
2.根据权利要求1所述的方法,其特征在于,所述存储读取信息包括读取所述数据存储单元的读取顺序;
所述基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否连续分布,包括:
确定各个所述数据存储单元在所述分布式存储***中的排列顺序;
判断所述读取顺序与所述排列顺序是否一致;
若所述读取顺序与所述排列顺序一致,则判定所述已读取数据在所述分布式存储***中连续分布;
若所述读取顺序与所述排列顺序不一致,则判定所述已读取数据在所述分布式存储***中不连续分布。
3.根据权利要求1所述的方法,其特征在于,所述存储读取信息包括读取所述数据存储单元的读取次数;
所述基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否集中分布,包括:
确定所述历史IO的第一数量值;
计算所述第一数量值与所述读取次数的第一比值;
计算所述已读取数据的总字节数与所述读取次数的第二比值;
确定所述数据存储单元的平均大小值;
计算所述第二比值与所述平均大小值的第三比值;
计算所述第一比值与所述第三比值的乘积值;
判断所述乘积值是否大于预设数值;
若所述乘积值大于所述预设数值,则判定已读取数据在所述分布式存储***中集中分布;
若所述乘积值小于等于所述预设数值,则判定已读取数据在所述分布式存储***中未集中分布。
4.根据权利要求1所述的方法,其特征在于,所述获取目标业务的目标IO请求之前,还包括:
预先关闭所述预读机制。
5.一种数据读取***,其特征在于,应用于分布式存储***,包括:
第一获取模块,用于获取目标业务的目标IO请求;
第二获取模块,用于获取与所述目标业务对应的历史IO请求的数据读取信息;
第一判断模块,用于基于所述数据读取信息判断是否满足预设预读条件;若满足所述预设预读条件,则基于预读机制响应所述目标IO请求;若不满足所述预设预读条件,则直接响应所述目标IO请求;
其中,所述第一判断模块包括:
第一确定单元,用于基于所述数据读取信息,确定各个已读取数据在所述分布式存储***中所处的数据存储单元;
第二确定单元,用于基于所述数据读取信息,确定各个所述数据存储单元的存储读取信息;
第一判断单元,用于基于所述存储读取信息判断是否满足所述预设预读条件;
其中,所述第一判断单元用于:基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否连续分布;若所述已读取数据在所述分布式存储***中连续分布,则判定满足所述预设预读条件;若所述已读取数据在所述分布式存储***中不连续分布,则判定不满足所述预设预读条件;
和/或,基于所述存储读取信息判断所述已读取数据在所述分布式存储***中是否集中分布;若所述已读取数据在所述分布式存储***中集中分布,则判定满足所述预设预读条件;若所述已读取数据在所述分布式存储***中未集中分布,则判定不满足所述预设预读条件。
6.一种数据读取设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述数据读取方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述数据读取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110929353.XA CN113672176B (zh) | 2021-08-13 | 2021-08-13 | 一种数据读取方法、***、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110929353.XA CN113672176B (zh) | 2021-08-13 | 2021-08-13 | 一种数据读取方法、***、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113672176A CN113672176A (zh) | 2021-11-19 |
CN113672176B true CN113672176B (zh) | 2023-12-29 |
Family
ID=78542945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110929353.XA Active CN113672176B (zh) | 2021-08-13 | 2021-08-13 | 一种数据读取方法、***、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113672176B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116009465B (zh) * | 2022-09-08 | 2024-01-30 | 上海繁易信息科技股份有限公司 | 分布式数据采集方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000090003A (ja) * | 1998-09-08 | 2000-03-31 | Nec Corp | 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ |
CN1366633A (zh) * | 2000-03-31 | 2002-08-28 | 松下电器产业株式会社 | 盘式存储装置、数据预读方法以及记录媒体 |
CN108959519A (zh) * | 2018-06-28 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种读取数据的方法、装置和计算机可读存储介质 |
CN109542361A (zh) * | 2018-12-04 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种分布式存储***文件读取方法、***及相关装置 |
CN109976679A (zh) * | 2019-04-11 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种分布式集群卷预读方法、***、设备及计算机介质 |
CN112328185A (zh) * | 2020-12-28 | 2021-02-05 | 烽火通信科技股份有限公司 | 一种基于分布式存储的智能预读方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180275919A1 (en) * | 2015-12-23 | 2018-09-27 | Hewlett Packard Enterprise Development Lp | Prefetching data in a distributed storage system |
CN110609796B (zh) * | 2018-06-15 | 2023-07-21 | 伊姆西Ip控股有限责任公司 | 用于存储***中预取的方法、设备和计算机程序产品 |
-
2021
- 2021-08-13 CN CN202110929353.XA patent/CN113672176B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000090003A (ja) * | 1998-09-08 | 2000-03-31 | Nec Corp | 主記憶メモリのプリフェッチ機構を備えたマイクロプロセッサ |
CN1366633A (zh) * | 2000-03-31 | 2002-08-28 | 松下电器产业株式会社 | 盘式存储装置、数据预读方法以及记录媒体 |
CN108959519A (zh) * | 2018-06-28 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种读取数据的方法、装置和计算机可读存储介质 |
CN109542361A (zh) * | 2018-12-04 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种分布式存储***文件读取方法、***及相关装置 |
CN109976679A (zh) * | 2019-04-11 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种分布式集群卷预读方法、***、设备及计算机介质 |
CN112328185A (zh) * | 2020-12-28 | 2021-02-05 | 烽火通信科技股份有限公司 | 一种基于分布式存储的智能预读方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113672176A (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111046164A (zh) | 一种用于更新待阅读书籍的方法与设备 | |
CN113672176B (zh) | 一种数据读取方法、***、设备及计算机可读存储介质 | |
CN110764714B (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN112243033B (zh) | 获取内存信息的方法、装置、设备及计算机可读存储介质 | |
CN114466196B (zh) | 视频数据处理方法、***、装置及计算机可读存储介质 | |
CN110888844A (zh) | 一种数据删除方法、***、设备及计算机可读存储介质 | |
CN105988941B (zh) | 缓存数据处理方法和装置 | |
CN109995595B (zh) | 一种rgw配额确定方法、***、设备及计算机介质 | |
US11064259B2 (en) | Interaction data distribution control method, apparatus, electronic device, and storage medium | |
CN115840649B (zh) | 划分容量块式虚拟资源分配方法及装置、存储介质和终端 | |
CN109240790B (zh) | 一种多窗口管理方法、***及安卓终端 | |
CN109558088B (zh) | 一种压缩方法、***、设备及计算机可读存储介质 | |
CN112463027B (zh) | 一种i/o处理方法、***、设备及计算机可读存储介质 | |
CN116545100A (zh) | 一种电力***拓扑识别方法、装置、电子设备及存储介质 | |
CN110990219B (zh) | 一种基于预测模型的计算机监控方法 | |
CN112764673B (zh) | 高光谱线阵数据存储速率优化方法、装置和存储介质 | |
CN112463028B (zh) | 一种i/o处理方法、***、设备及计算机可读存储介质 | |
CN109919307B (zh) | Fpga及深度残差网络实现方法、***、计算机介质 | |
CN114138622A (zh) | 一种业务处理方法、***、设备及计算机可读存储介质 | |
CN111858129A (zh) | 一种纠删码读请求处理方法、***、设备及计算机介质 | |
CN115328666B (zh) | 设备调度方法、***、电子设备及计算机可读存储介质 | |
CN109460422B (zh) | 一种推送方法及装置、终端设备和可读存储介质 | |
CN113949601B (zh) | 一种控制器站间通信方法、装置及计算机可读存储介质 | |
CN112347745B (zh) | 文件生成进度的获取方法、装置、电子装置和存储介质 | |
CN117453377B (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 |