CN114237518B - 一种数据读取方法、***、装置及终端 - Google Patents
一种数据读取方法、***、装置及终端 Download PDFInfo
- Publication number
- CN114237518B CN114237518B CN202210159455.2A CN202210159455A CN114237518B CN 114237518 B CN114237518 B CN 114237518B CN 202210159455 A CN202210159455 A CN 202210159455A CN 114237518 B CN114237518 B CN 114237518B
- Authority
- CN
- China
- Prior art keywords
- data
- read
- reading
- terminal
- pool
- 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 60
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 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
- 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]
-
- 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
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种数据读取方法、***、装置及终端,该方案首先获取当前周期内终端发送的待读取数据的数据特征,在判定待读取数据不在高速缓存池中且当前周期内未完成对待读取数据的读取时,则在根据该数据特征判定终端对于待读取数据的全部进行读取时,构造对待读取数据的预读请求,并将预读请求及待读取数据的数据特征发送至慢速数据池以将待读取数据从慢速数据池中全部提取至高速缓存池中。可见,针对现有技术中高速缓冲池中的非热点数据被下刷到慢速缓冲池后,终端下次待读取的数据正好在是该非热点数据的情况,该方案通过建立上述数据预读策略提高了对该种情况下的待读取数据的读取效率,进而保证了整个分布式存储***的工作性能。
Description
技术领域
本发明涉及数据存储领域,特别是涉及一种数据读取方法、***、装置及终端。
背景技术
在数据分布式存储***中,通常基于一些高速固态存储设备如SSD(Solid StateDevice,固态存储设备)等创建高速缓存池,基于一些低速机械存储设备如HDD(Hard DiskDrive,机械存储设备)等创建慢速数据池,该慢速数据池的存储容量很大且存储着所有的数据;高度缓存池的存储容量有限且其中仅存储有所有的数据中被高频访问的热点数据以便需要时能够快速读取。
对于热点数据的判定与该数据一段时间内被访问的次数有关,当该数据在该时间段内被访问的次数降低则会被判定为非热点数据。考虑到用于创建高速缓存池的高速存储设备的设备容量是有限的,因此,需要定期对自身存储的数据进行更新,即将当前存储的非热点数据均下刷到慢速数据池中。这导致若终端下一次待读取的数据若正好是被下刷到慢速数据池中的非热点数据时,则首先由高速缓存池中的OSD(Object Storage Device,对象存储资源)进程判断此次读取请求不在自身存储中,因此将该读取请求下发至慢速数据池中的OSD进程,由慢速数据池中的OSD进程控制将与该请求对应的数据返回终端。而慢速数据池的数据读取速度比高速缓存池的数据读取速度要慢的多,导致响应的时间变长,进而影响整个分布式存储***的工作性能。
发明内容
本发明的目的是提供一种数据读取方法、***、装置及终端,通过建立上述数据预读策略提高了对该种情况下的待读取数据的读取效率,进而保证了整个分布式存储***的工作性能。
为解决上述技术问题,本发明提供了一种数据读取方法,包括:
获取当前周期内终端发送的待读取数据的数据特征;
在根据所述数据特征判定所述待读取数据不在所述终端的高速缓存池中且所述当前周期内未完成对所述待读取数据的读取时,根据所述数据特征判断所述终端是否对所述待读取数据的全部进行读取;
若是,构造对所述待读取数据的预读请求;
将所述预读请求及所述待读取数据的数据特征发送至所述终端的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池。
优选的,所述数据特征包括OID标识、数据偏移量及数据长度,其中,不同的所述待读取数据的OID标识不同;
将所述预读请求及所述待读取数据的数据特征发送至所述终端中的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池中,包括:
将所述预读请求及所述待读取数据的OID标识发送至所述终端中的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池中。
优选的,所述高速缓存池还包括预存的OID标识-数据总长度对应关系;
根据所述数据特征判定在所述当前周期内未完成对所述待读取数据的读取,包括:
根据所述待读取数据的OID标识从所述OID标识-数据总长度对应关系中获取所述待读取数据的数据总长度;
判断所述当前周期内获取的所述待读取数据的数据长度是否小于所述数据总长度;
若是,判定在所述当前周期内未完成对所述待读取数据的读取。
优选的,所述高速缓存池还包括缓存模块;
所述缓存模块用于存储获取到的所述待读取数据的数据特征;
获取当前周期内终端发送的待读取数据的数据特征之后,还包括:
在根据所述数据特征判定所述待读取数据不在所述终端的高速缓存池中且所述当前周期内已完成对所述待读取数据的读取时,清除所述缓存模块中存储的在所述当前周期内获取到的所述待读取数据的数据特征。
优选的,在根据所述数据特征判定所述终端不是对所述待读取数据的全部进行读取之后,还包括:
清除所述缓存模块中存储的在所述当前周期内获取到的所述待读取数据的数据特征。
优选的,将所述预读请求及所述待读取数据的数据特征发送至所述终端的慢速数据池之后,还包括:
清除所述缓存模块中存储的在所述当前周期内获取到的所述待读取数据的数据特征。
优选的,根据所述数据特征判定所述终端对所述待读取数据的全部进行读取,包括:
统计所述当前周期内获取到所述待读取数据的OID标识的次数;
判断所述次数是否不小于预设读取次数阈值,其中所述预设读取次数阈值为不小于2的整数;
若是,在判定从第j个所述数据偏移量作为开始位移动第j个所述数据长度后得到的数据读取终位与第j+1个所述数据偏移量之间的差值小于预设数据读取偏差时,判定所述终端对所述待读取数据的全部进行读取,其中,1≤j≤所述预设读取次数阈值-1。
为解决上述技术问题,本发明还提供了一种数据读取***,包括:
获取单元,用于获取当前周期内终端发送的待读取数据的数据特征;
判断单元,在根据所述数据特征判定所述待读取数据不在所述终端的高速缓存池中且所述当前周期内未完成对所述待读取数据的读取时,根据所述数据特征判断所述终端是否对所述待读取数据的全部进行读取;若是,触发预读单元;
所述预读单元,用于构造对所述待读取数据的预读请求;
读取单元,用于将所述预读请求及所述待读取数据的数据特征发送至所述终端的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池。
为解决上述技术问题,本发明还提供了一种数据读取装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行如上述所述的数据读取方法的步骤。
为解决上述技术问题,本发明还提供了一种终端,包括高速缓存池及慢速数据池,还包括如上述所述的数据读取装置;所述数据读取装置设置于所述高速缓存池中。
本发明提供了一种数据读取方法、***、装置及终端,该方案首先获取当前周期内终端发送的待读取数据的数据特征,在判定待读取数据不在高速缓存池中且当前周期内未完成对待读取数据的读取时,则在根据该数据特征判定终端对于待读取数据的全部进行读取时,构造对待读取数据的预读请求,并将预读请求及待读取数据的数据特征发送至慢速缓存池以将待读取数据从慢速缓存池中全部提取至高速缓存池中。可见,针对现有技术中高速缓冲池中的非热点数据被下刷到慢速缓冲池后,终端下次待读取的数据正好在是该非热点数据的情况,该方案通过建立上述数据预读策略提高了对该种情况下的待读取数据的读取效率,进而保证了整个分布式存储***的工作性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种数据读取方法的流程图;
图2为本发明提供的一种数据读取***的结构示意图;
图3为本发明提供的一种数据读取装置的结构示意图。
具体实施方式
本发明的核心是提供一种数据读取方法、***、装置及终端,通过建立上述数据预读策略提高了对该种情况下的待读取数据的读取效率,进而保证了整个分布式存储***的工作性能。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明提供的一种数据读取方法的流程图。
该数据读取方法,包括:
S11:获取当前周期内终端发送的待读取数据的数据特征;
S12:在根据数据特征判定待读取数据不在终端的高速缓存池中且当前周期内未完成对待读取数据的读取时,根据数据特征判断终端是否对待读取数据的全部进行读取;若是,进入S13;
S13:构造对待读取数据的预读请求;
S14:将预读请求及待读取数据的数据特征发送至终端的慢速数据池以将待读取数据从慢速数据池中全部提取至高速缓存池。
本实施例中,考虑到现有技术中的数据分布式存储***通常包括高速缓存池和慢速数据池,其中,高速缓存池用于存储被高频访问的热点数据且在一段时间后会对该热点数据进行更新,即将被判定为非热点数据的数据全部下刷至慢速数据池,这使得当终端下一次待读取的数据若正好是被下刷到慢速数据池中的非热点数据时,只能由高速缓存池的OSD进程将该请求下发至慢速数据池的OSD进程并由其进行相应地响应,导致响应时间变长,影响整个***的工作性能。为解决上述技术问题,本发明提供了一种数据读取方法,通过建立数据预读策略,保证了数据读取的效率。
具体的,考虑到终端在实际读取数据时,由于待读取数据的长度不一,因此很有可能不能直接将该待读取数据全部一次性地读取完毕,而是会分批次的或者说是分节地对其进行读取。因此本申请中首先获取当前周期内终端发送的待读取数据的数据特征,这里的当前周期的时间长度根据需求设置即可,比如可以为三分钟,本申请在此不作特别的限定;这里在当前周期内很可能获取到多个待读取数据的数据特征,且同一个待读取数据的数据特征也可能包括多个(即终端多次对该待读取数据进行读取);此外,该数据读取方法可以应用于终端中的高速缓存池中的OSD进程,本申请在此不作特别的限定,于是这里的终端可以通过自身的IO通信模块向该OSD进程发送待读取数据的数据特征;
随后,考虑到终端对待读取数据的读取方式包括连续读取模式和随机读取模式,于是在根据数据特征判定待读取数据不在终端的高速缓存池中且当前周期内未完成对待读取数据的读取时,根据数据特征判断终端是否对待读取数据的全部进行读取,其中,这里的终端对待读取数据的全部进行读取指的就是上述所述的连续读取模式,之所以这样考虑是出于当终端对待读取数据的读取方式为随机读取模式时,此时并不确定下一时刻终端需要读取待读取数据的哪一部分,为了保证读取效率,当终端对待读取数据的读取方式为随机读取模式时,则只需要在每次获取到读取请求时终端此次需要对待读取数据读取的那部分进行提供即可,而不需要进行数据预读。
若根据数据特征判定终端是对待读取数据的全部进行读取,则构造对待读取数据的预读请求,将预读请求及待读取数据的数据特征发送至终端的慢速数据池,由慢速数据池对该读取请求进行响应并根据该数据特征将待读取数据从慢速数据池中全部提取至高速缓存池,以加速下一次终端对于该待读取数据的读取速度。
需要说明的是,针对根据数据特征判定待读取数据在终端的高速缓存池中这一情况,则不需要进行上述数据预读的步骤,直接由该高速缓存池对终端的读取请求进行响应即可;在根据数据特征判定待读取数据不在终端的高速缓存池中且当前周期内已完成对待读取数据的读取时,说明该待读取数据比较短,因此在当前周期内已完成对其的读取,自然不用执行上述预读的步骤。
还需要说明的是,在根据数据特征判定终端不是对待读取数据的全部进行读取时,说明此时终端对待读取数据的读取模式为随机读取模式,则只需按照上述所述对每次终端的读取请求进行相应的响应即可。
还需要说明的是,这里的终端也可以替换为客户端或服务端等拥有该数据分布式存储***的设备,本申请在此不作特别的限定。
此外,该数据读取方法还可以适用于这样的情况:即该高速缓存池中还有存储余量且终端待读取的数据又不在该高速缓存池中时,为了加快对待读取数据的读取速度,仍然可以依据该数据读取方法的步骤进行数据预读,以加速数据读取的效率,本申请在此不作特别的限定。
综上,本发明公开了一种数据读取方法,针对现有技术中高速缓冲池中的非热点数据被下刷到慢速缓冲池后,终端下次待读取的数据正好在是该非热点数据的情况,该方案通过建立上述数据预读策略提高了对该种情况下的待读取数据的读取效率,进而保证了整个分布式存储***的工作性能。
在上述实施例的基础上:
作为一种优选的实施例,数据特征包括OID标识、数据偏移量及数据长度,其中,不同的待读取数据的OID标识不同;
将预读请求及待读取数据的数据特征发送至终端中的慢速数据池以将待读取数据从慢速数据池中全部提取至高速缓存池中,包括:
将预读请求及待读取数据的OID标识发送至终端中的慢速数据池以将待读取数据从慢速数据池中全部提取至高速缓存池中。
本实施例中,这里的数据特征可以包括OID标识、数据偏移量及数据长度,OID标识可以区分不同的待读取数据,即不同的待读取数据的OID标识不同;于是,这里可以将预读请求及待读取数据的OID标识发送至终端中的慢速数据池,由该慢速数据池对该预读请求进行响应,并根据所述OID标识将待读取数据从慢速数据池中全部提取至高速缓存池中。
可见,通过这种方式可以简单可靠地实现数据特征的执行逻辑。
作为一种优选的实施例,高速缓存池还包括预存的OID标识-数据总长度对应关系;
根据数据特征判定在当前周期内未完成对待读取数据的读取,包括:
根据待读取数据的OID标识从OID标识-数据总长度对应关系中获取待读取数据的数据总长度;
判断当前周期内获取的待读取数据的数据长度是否小于数据总长度;
若是,判定在当前周期内未完成对待读取数据的读取。
本实施例中,为了判断在当前周期内终端是否已经完成对待读取数据的读取,本申请中,高速缓存池种还包括预存的OID标识-数据总长度对应关系,于是可以根据待读取数据的OID标识从OID标识-数据总长度对应关系中获取待读取数据的数据总长度,随后判断当前周期内获取的待读取数据的数据长度是否小于数据总长度,需要说明的是,若当前周期内获取到终端多次发送的该待读取数据的数据特征,则这里的当前周期内获取的待读取数据的数据长度指的是获取到的多次的数据特征中的多个数据长度的和。
在判定当前周期内获取的待读取数据的数据长度小于数据总长度时,说明此时并未完成对该待读取数据的读取而可以进行预读,则判定在当前周期内未完成对待读取数据的读取;需要说明的是,在判定当前周期内获取的待读取数据的数据长度等于数据总长度时,说明此时已完成对该待读取数据的读取而不必再进行数据预读,则判定在当前周期内已完成对待读取数据的读取。
可见,通过这种方式可以实现对根据数据特征判定在当前周期内未完成对待读取数据的读取,且实现方式简单可靠,便于后续操作。
作为一种优选的实施例,高速缓存池还包括缓存模块;
缓存模块用于存储获取到的待读取数据的数据特征;
获取当前周期内终端发送的待读取数据的数据特征之后,还包括:
在根据数据特征判定待读取数据不在终端的高速缓存池中且当前周期内已完成对待读取数据的读取时,清除缓存模块中存储的在当前周期内获取到的待读取数据的数据特征。
本实施例中,考虑到高速缓存池的存储容量是有限的,因此发明人进一步考虑到在该高速缓存池中单独设置一个缓存模块,用于存储获取到的待读取数据的数据特征,于是,获取当前周期内终端发送的待读取数据的数据特征之后,在根据数据特征判定待读取数据不在终端的高速缓存池中且当前周期内已完成对待读取数据的读取时,则无需再对获取到的与该读取数据相关的数据进行存储,因此清除缓存模块中存储的在当前周期内获取到的待读取数据的数据特征,以保证占据该高速缓存池中较少的存储空间即可实现本申请提供的数据读取方法这一方案,进一步提高了该数据读取方法的实用性。
作为一种优选的实施例,在根据数据特征判定终端不是对待读取数据的全部进行读取之后,还包括:
清除缓存模块中存储的在当前周期内获取到的待读取数据的数据特征。
本申请中,高速缓存池中单独设置了一个缓存模块,用于存储获取到的待读取数据的数据特征,于是,在根据数据特征判定终端不是对待读取数据的全部进行读取之后,说明此时终端对待读取数据的读取模式为随机读取模式,因此只需对终端对该待读取数据的每次请求进行相应的响应即可而无需进行数据预读,因此,清除缓存模块中存储的在当前周期内获取到的待读取数据的数据特征,以保证占据该高速缓存池中较少的存储空间即可实现本申请提供的数据读取方法这一方案,进一步提高了该数据读取方法的实用性。
作为一种优选的实施例,将预读请求及待读取数据的数据特征发送至终端的慢速数据池之后,还包括:
清除缓存模块中存储的在当前周期内获取到的待读取数据的数据特征。
本申请中,高速缓存池中单独设置了一个缓存模块,用于存储获取到的待读取数据的数据特征,于是,将预读请求及待读取数据的数据特征发送至终端的慢速数据池之后,此时待读取数据已经全部提取至该高速缓存池中,因此,无需再对获取到的与该读取数据相关的数据进行存储,因此,清除缓存模块中存储的在当前周期内获取到的待读取数据的数据特征,以保证占据该高速缓存池中较少的存储空间即可实现本申请提供的数据读取方法这一方案,进一步提高了该数据读取方法的实用性。
作为一种优选的实施例,根据数据特征判定终端对待读取数据的全部进行读取,包括:
统计当前周期内获取到待读取数据的OID标识的次数;
判断次数是否不小于预设读取次数阈值,其中预设读取次数阈值为不小于2的整数;
若是,在判定从第j个数据偏移量作为开始位移动第j个数据长度后得到的数据读取终位与第j+1个数据偏移量之间的差值小于预设数据读取偏差时,判定终端对待读取数据的全部进行读取,其中,1≤j≤预设读取次数阈值-1。
本实施例中,为了实现根据数据特征判定终端对待读取数据的全部进行读取,首先统计当前周期内获取到待读取数据的OID标识的次数,随后判断次数是否不小于预设读取次数阈值,这里的预设读取次数阈值可以根据实际需求设定,比如可以为三次,本申请在此不作特别的限定;
于是,在判定当前周期内获取到待读取数据的OID标识的次数不小于预设读取次数阈值时,再做作进一步的判断,即判断从第j个数据偏移量作为开始位移动第j个数据长度后得到的数据读取终位与第j+1个数据偏移量之间的差值是否小于预设数据读取偏差,若是,则判定终端对该待读取数据的全部进行读取,即上述所述的连续读取模式。首先需要说明的是,这里的预设数据读取偏差可以根据实际需求设定,比如可以为64k,本申请在此不作特别的限定;其次,具体举例来说,假设在当前周期内获取到该待读取数据的数据特征的次数为三次,即这里的当前周期内获取到待读取数据的OID标识的次数为三,若此时预设读取次数阈值为三,则作进一步判断,假设三次获取到的数据偏移量分别为0k、10k及20k,与之对应的三次获取到的数据长度分别为8k、9k及8k,则说明第一次终端对该待读取数据的读取范围为0k-7k,第二次终端对该待读取数据的读取范围为10k-18k,第三次终端对该待读取数据的读取范围为20k-27k,因此,当j=1时,从第1个数据偏移量0k作为开始位移动第1个数据长度后得到的数据读取终位即7k,与第2个数据偏移量10k之间的差值为3k,小于上述的预设数据读取偏差64k;同理,当j=2时,从第2个数据偏移量10k作为开始位移动第2个数据长度后得到的数据读取终位即18k,与第3个数据偏移量20k之间的差值为2k,小于上述的预设数据读取偏差64k,因此可以判定终端对待读取数据的全部进行读取。
可见,通过这种方式可以实现根据数据特征判定终端对待读取数据的全部进行读取,且实现方式简单可靠。
请参照图2,图2为本发明提供的一种数据读取***的结构示意图。
该数据读取***,包括:
获取单元21,用于获取当前周期内终端发送的待读取数据的数据特征;
判断单元22,在根据数据特征判定待读取数据不在终端的高速缓存池中且当前周期内未完成对待读取数据的读取时,根据数据特征判断终端是否对待读取数据的全部进行读取;若是,触发预读单元23;
预读单元23,用于构造对待读取数据的预读请求;
读取单元24,用于将预读请求及待读取数据的数据特征发送至终端的慢速数据池以将待读取数据从慢速数据池中全部提取至高速缓存池。
对于本发明中提供的数据读取***的介绍请参照上述数据读取方法的实施例,此处不再赘述。
请参照图3,图3为本发明提供的一种数据读取装置的结构示意图。
该数据读取装置,包括:
存储器31,用于存储计算机程序;
处理器32,用于执行如上述所述的数据读取方法的步骤。
对于本发明中提供的数据读取装置的介绍请参照上述数据读取方法的实施例,此处不再赘述。
本发明还提供了一种终端,包括高速缓存池及慢速数据池,还包括如上述所述的数据读取装置;所述数据读取装置设置于所述高速缓存池中。
对于本发明中提供的终端的介绍请参照上述数据读取方法的实施例,此处不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据读取方法,其特征在于,包括:
获取当前周期内终端发送的待读取数据的数据特征;
在根据所述数据特征判定所述待读取数据不在所述终端的高速缓存池中且所述当前周期内未完成对所述待读取数据的读取时,根据所述数据特征判断所述终端是否对所述待读取数据的全部进行读取;
若是,构造对所述待读取数据的预读请求;
将所述预读请求及所述待读取数据的数据特征发送至所述终端的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池;
所述数据特征包括OID标识、数据偏移量及数据长度,其中,不同的所述待读取数据的OID标识不同;
将所述预读请求及所述待读取数据的数据特征发送至所述终端中的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池中,包括:
将所述预读请求及所述待读取数据的OID标识发送至所述终端中的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池中;
根据所述数据特征判定所述终端对所述待读取数据的全部进行读取,包括:
统计所述当前周期内获取到所述待读取数据的OID标识的次数;
判断所述次数是否不小于预设读取次数阈值,其中所述预设读取次数阈值为不小于2的整数;
若是,在判定从第j个所述数据偏移量作为开始位移动第j个所述数据长度后得到的数据读取终位与第j+1个所述数据偏移量之间的差值小于预设数据读取偏差时,判定所述终端对所述待读取数据的全部进行读取,其中,1≤j≤所述预设读取次数阈值-1。
2.如权利要求1所述的数据读取方法,其特征在于,所述高速缓存池还包括预存的OID标识-数据总长度对应关系;
根据所述数据特征判定在所述当前周期内未完成对所述待读取数据的读取,包括:
根据所述待读取数据的OID标识从所述OID标识-数据总长度对应关系中获取所述待读取数据的数据总长度;
判断所述当前周期内获取的所述待读取数据的数据长度是否小于所述数据总长度;
若是,判定在所述当前周期内未完成对所述待读取数据的读取。
3.如权利要求1所述的数据读取方法,其特征在于,所述高速缓存池还包括缓存模块;
所述缓存模块用于存储获取到的所述待读取数据的数据特征;
获取当前周期内终端发送的待读取数据的数据特征之后,还包括:
在根据所述数据特征判定所述待读取数据不在所述终端的高速缓存池中且所述当前周期内已完成对所述待读取数据的读取时,清除所述缓存模块中存储的在所述当前周期内获取到的所述待读取数据的数据特征。
4.如权利要求3所述的数据读取方法,其特征在于,在根据所述数据特征判定所述终端不是对所述待读取数据的全部进行读取之后,还包括:
清除所述缓存模块中存储的在所述当前周期内获取到的所述待读取数据的数据特征。
5.如权利要求3所述的数据读取方法,其特征在于,将所述预读请求及所述待读取数据的数据特征发送至所述终端的慢速数据池之后,还包括:
清除所述缓存模块中存储的在所述当前周期内获取到的所述待读取数据的数据特征。
6.一种数据读取***,其特征在于,包括:
获取单元,用于获取当前周期内终端发送的待读取数据的数据特征;
判断单元,用于在根据所述数据特征判定所述待读取数据不在所述终端的高速缓存池中且所述当前周期内未完成对所述待读取数据的读取时,根据所述数据特征判断所述终端是否对所述待读取数据的全部进行读取;若是,触发预读单元;
所述预读单元,用于构造对所述待读取数据的预读请求;
读取单元,用于将所述预读请求及所述待读取数据的数据特征发送至所述终端的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池;
其中,所述数据特征包括OID标识、数据偏移量及数据长度,其中,不同的所述待读取数据的OID标识不同;
所述读取单元具体用于将所述预读请求及所述待读取数据的OID标识发送至所述终端中的慢速数据池以将所述待读取数据从所述慢速数据池中全部提取至所述高速缓存池中;
所述判断单元具体用于在根据所述数据特征判定所述待读取数据不在所述终端的高速缓存池中且所述当前周期内未完成对所述待读取数据的读取时,根据所述数据特征判断所述终端是否对所述待读取数据的全部进行读取;若是,触发所述预读单元;
其中,根据所述数据特征判定所述终端对所述待读取数据的全部进行读取,包括:
统计所述当前周期内获取到所述待读取数据的OID标识的次数;
判断所述次数是否不小于预设读取次数阈值,其中所述预设读取次数阈值为不小于2的整数;
若是,在判定从第j个所述数据偏移量作为开始位移动第j个所述数据长度后得到的数据读取终位与第j+1个所述数据偏移量之间的差值小于预设数据读取偏差时,判定所述终端对所述待读取数据的全部进行读取,其中,1≤j≤所述预设读取次数阈值-1。
7.一种数据读取装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行如权利要求1至5任一项所述的数据读取方法的步骤。
8.一种终端,其特征在于,包括高速缓存池及慢速数据池,还包括如权利要求7所述的数据读取装置;所述数据读取装置设置于所述高速缓存池中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210159455.2A CN114237518B (zh) | 2022-02-22 | 2022-02-22 | 一种数据读取方法、***、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210159455.2A CN114237518B (zh) | 2022-02-22 | 2022-02-22 | 一种数据读取方法、***、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114237518A CN114237518A (zh) | 2022-03-25 |
CN114237518B true CN114237518B (zh) | 2022-05-24 |
Family
ID=80747636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210159455.2A Active CN114237518B (zh) | 2022-02-22 | 2022-02-22 | 一种数据读取方法、***、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237518B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573667A (zh) * | 2015-12-10 | 2016-05-11 | 华为技术有限公司 | 一种数据读取方法和存储服务器 |
CN107273053A (zh) * | 2017-06-22 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种数据读取的方法与装置 |
CN107340978A (zh) * | 2017-07-18 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种存储预读方法、装置及存储*** |
CN108958667A (zh) * | 2018-08-15 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种基于分布式存储***的数据读取方法、***及装置 |
CN108984130A (zh) * | 2018-07-25 | 2018-12-11 | 广东浪潮大数据研究有限公司 | 一种分布式存储的缓存读取方法及其装置 |
CN109375872A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
CN110018966A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种存储器、存储***、主机及数据操作、垃圾回收方法 |
CN111930307A (zh) * | 2020-07-30 | 2020-11-13 | 北京浪潮数据技术有限公司 | 一种数据读取方法、装置、设备及计算机可读存储介质 |
CN112631521A (zh) * | 2020-12-25 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种控制缓存池水位的方法、***、设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3535800B2 (ja) * | 2000-03-31 | 2004-06-07 | 松下電器産業株式会社 | ディスクメモリ装置、データ先読み方法、及び記録媒体 |
CN109992209B (zh) * | 2019-03-29 | 2023-02-03 | 新华三技术有限公司成都分公司 | 数据处理方法、装置及分布式存储*** |
CN111625503B (zh) * | 2020-05-29 | 2022-11-04 | 苏州浪潮智能科技有限公司 | 一种分布式文件***文件局部随机预读的方法和设备 |
CN112162956A (zh) * | 2020-09-11 | 2021-01-01 | 北京浪潮数据技术有限公司 | 一种跳读预读方法、装置、设备及存储介质 |
CN112214178B (zh) * | 2020-11-13 | 2022-08-19 | 新华三大数据技术有限公司 | 一种存储***、数据读取方法及数据写入方法 |
CN113687781A (zh) * | 2021-07-30 | 2021-11-23 | 济南浪潮数据技术有限公司 | 一种热数据的上拉方法、装置、设备及介质 |
-
2022
- 2022-02-22 CN CN202210159455.2A patent/CN114237518B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105573667A (zh) * | 2015-12-10 | 2016-05-11 | 华为技术有限公司 | 一种数据读取方法和存储服务器 |
CN107273053A (zh) * | 2017-06-22 | 2017-10-20 | 郑州云海信息技术有限公司 | 一种数据读取的方法与装置 |
CN107340978A (zh) * | 2017-07-18 | 2017-11-10 | 郑州云海信息技术有限公司 | 一种存储预读方法、装置及存储*** |
CN110018966A (zh) * | 2018-01-09 | 2019-07-16 | 阿里巴巴集团控股有限公司 | 一种存储器、存储***、主机及数据操作、垃圾回收方法 |
CN108984130A (zh) * | 2018-07-25 | 2018-12-11 | 广东浪潮大数据研究有限公司 | 一种分布式存储的缓存读取方法及其装置 |
CN108958667A (zh) * | 2018-08-15 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种基于分布式存储***的数据读取方法、***及装置 |
CN109375872A (zh) * | 2018-09-27 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 数据访问请求的处理方法、装置和设备及存储介质 |
CN111930307A (zh) * | 2020-07-30 | 2020-11-13 | 北京浪潮数据技术有限公司 | 一种数据读取方法、装置、设备及计算机可读存储介质 |
CN112631521A (zh) * | 2020-12-25 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种控制缓存池水位的方法、***、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114237518A (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911249B (zh) | 一种网络设备的命令行发送方法、装置和设备 | |
CN112328185B (zh) | 一种基于分布式存储的智能预读方法 | |
CN112631521B (zh) | 一种控制缓存池水位的方法、***、设备及介质 | |
CN113010818B (zh) | 访问限流方法、装置、电子设备及存储介质 | |
CN102170479A (zh) | Web缓存的更新方法及Web缓存的更新装置 | |
US8918497B2 (en) | Email system latencies and bandwidths | |
CN109471843B (zh) | 一种元数据缓存方法、***及相关装置 | |
CN111625503B (zh) | 一种分布式文件***文件局部随机预读的方法和设备 | |
CN106681990A (zh) | 一种移动云存储环境下缓存数据的预取方法 | |
CN111200637B (zh) | 一种缓存的处理方法及装置 | |
CN112269534A (zh) | 一种数据读取方法、装置、设备及计算机可读存储介质 | |
CN108415962A (zh) | 一种云存储*** | |
CN105589879A (zh) | 客户端下载图片的方法及其装置 | |
CN114237518B (zh) | 一种数据读取方法、***、装置及终端 | |
CN114527938A (zh) | 一种基于固态硬盘的数据读取方法、***、介质及设备 | |
CN110311975A (zh) | 一种数据请求处理方法及装置 | |
CN108958660B (zh) | 分布式存储***及其数据处理方法和装置 | |
CN117473011A (zh) | 数据同步方法、装置以及混合缓存*** | |
CN116303139A (zh) | 一种分级缓存数据转移的方法、装置、设备及介质 | |
CN102483716B (zh) | 服务器装置以及内容获得方法 | |
CN114218170A (zh) | 文件读取方法及装置 | |
CN113010454A (zh) | 数据读写方法、装置、终端及存储介质 | |
CN111209254A (zh) | 文件指纹获取方法、装置、电子设备以及存储介质 | |
CN105630877A (zh) | 文件清理方法及*** | |
CN114385518B (zh) | 一种ats缓存索引同步加速方法和装置 |
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 |