数据读取方法及装置制造方法及图纸

技术编号:29788421 阅读:15 留言:0更新日期:2021-08-24 18:06
本申请提供数据读取方法及装置,其中所述数据读取方法包括:获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n‑1次数据读取请求的预取窗口的检测位置进行比较;根据比较结果以及第n‑1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n‑1次数据读取请求的预取窗口读取的预取数据中读取。

【技术实现步骤摘要】
数据读取方法及装置
本申请涉及数据处理
,特别涉及数据读取方法及装置。
技术介绍
随着互联网技术的发展,在当前计算机系统架构中,数据的处理往往快于数据的读取速度,因此数据的读写往往是整个系统中性能提升的瓶颈,而且随着计算机运算性能的发展,数据的访问速度与计算机的处理速度差距还在持续扩大,这种情况在分布式系统环境下,变得越发严重;实际应用中数据的访问客户端往往与数据的实际存储程序部署在不同的节点,数据的访问过程涉及磁盘的读取及网络的传输,如果在存在读取延迟,将很大程度上影响访问客户端的处理效率。针对这一问题通常是采用预取技术实现预取数据,从而实现在客户端读取数据时,可以提前将客户端可能需要的数据预取到内存中,供客户端后续的处理所使用。然而,预取技术也需要占用计算机资源,并且每次预取数据时并未考虑客户端的读取速度,可能造成预取过度或预取过少的问题,无法实现更好的适配客户端的读取需求,造成资源的浪费,故亟需一种有效的方案以解决该问题。
技术实现思路
有鉴于此,本申请实施例提供了一种数据读取方法。本申请同时涉及一种数据读取装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。根据本申请实施例的第一方面,提供了一种数据读取方法,包括:获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较;根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取。可选的,所述获取客户端上传的第n次数据读取请求步骤执行之前,还包括:获取客户端上传的第一次数据读取请求;对所述第一次数据读取请求进行解析,获得待读取数据的数据占用空间;根据预设的创建规则和所述数据占用空间确定所述第一次数据读取请求的预取窗口;按照所述第一次数据读取请求的预取窗口在所述存储空间中读取所述第一次数据读取请求对应的目标数据和预取数据;将所述第一次数据读取请求对应的目标数据发送至所述客户端。可选的,所述确定所述第n次数据读取请求对应的目标读取位置,包括:通过对所述第n次数据读取请求进行解析,获得待读取数据中的各个子数据的数据位置;确定所述各个子数据的排列顺序,并按照所述排列顺序对所述数据位置进行排序;根据排序结果选择末端的数据位置作为所述目标读取位置。可选的,所述根据预设的创建规则和所述数据占用空间确定所述第一次数据读取请求的预取窗口,包括:判断预设的预取窗口中是否存在与所述数据占用空间匹配的预取窗口;若是,选择与所述数据占用空间匹配的预取窗口作为所述第一数据读取请求的预取窗口;若否,获取所述客户端的历史数据读取请求,并根据所述历史数据读取请求确定历史预取距离;基于所述历史预取距离和所述待读取数据的读取距离生成所述第一次数据读取请求的预取窗口。可选的,所述根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:在所述比较结果为所述目标读取位置超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准增加距离;按照第一创建规则对所述基准增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。可选的,所述根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:在所述比较结果为所述目标读取位置未超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准减少距离;按照第二创建规则对所述基准减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。可选的,所述确定所述第n次数据读取请求对应的目标数据并发送至所述客户端步骤执行之后,还包括:n自增1,判断预设的时间间隔内是否接收到所述客户端上传的第n次数据读取请求;若是,再次执行所述确定所述第n次数据读取请求对应的目标读取位置步骤;若否,将基于第n-1次数据读取请求的预取窗口读取的预取数据进行清除。可选的,所述确定所述第n次数据读取请求对应的目标读取位置步骤之前,还包括:在按照所述第n-1次数据读取请求的预取窗口读取完成预取数据的情况下,确定所述第n-1次数据读取请求对应的预取成功位置;相应的,所述确定所述第n次数据读取请求对应的目标读取位置,包括:将所述预取成功位置作为所述第n次数据读取请求对应的所述目标读取位置。可选的,所述根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:在所述比较结果为所述预取成功位置未超过所述检测位置的情况下,基于所述目标读取位置和所述检测位置计算增加距离;确定所述第n-1次数据读取请求的预取窗口的预取距离;将所述增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。可选的,所述根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:在所述比较结果为所述预取成功位置超过所述检测位置的情况下,基于所述目标读取位置和所述检测位置计算减少距离;确定所述第n-1次数据读取请求的预取窗口的预取距离;将所述减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。根据本申请实施例的第二方面,提供了一种数据读取装置,包括:获取请求模块,被配置为获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;确定位置模块,被配置为确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较;确定窗口模块,被配置为根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;发送数据模块,被配置为按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取。根据本申请实施例的第三方面,提供了一种计算设备,包括:存储器和处理器;所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令:获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;本文档来自技高网...

【技术保护点】
1.一种数据读取方法,包括:/n获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;/n确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较;/n根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;/n按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取。/n

【技术特征摘要】
1.一种数据读取方法,包括:
获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;
确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较;
根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;
按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取。


2.根据权利要求1所述的数据读取方法,所述获取客户端上传的第n次数据读取请求步骤执行之前,还包括:
获取客户端上传的第一次数据读取请求;
对所述第一次数据读取请求进行解析,获得待读取数据的数据占用空间;
根据预设的创建规则和所述数据占用空间确定所述第一次数据读取请求的预取窗口;
按照所述第一次数据读取请求的预取窗口在所述存储空间中读取所述第一次数据读取请求对应的目标数据和预取数据;
将所述第一次数据读取请求对应的目标数据发送至所述客户端。


3.根据权利要求1所述的数据读取方法,所述确定所述第n次数据读取请求对应的目标读取位置,包括:
通过对所述第n次数据读取请求进行解析,获得待读取数据中的各个子数据的数据位置;
确定所述各个子数据的排列顺序,并按照所述排列顺序对所述数据位置进行排序;
根据排序结果选择末端的数据位置作为所述目标读取位置。


4.根据权利要求2所述的数据读取方法,所述根据预设的创建规则和所述数据占用空间确定所述第一次数据读取请求的预取窗口,包括:
判断预设的预取窗口中是否存在与所述数据占用空间匹配的预取窗口;
若是,选择与所述数据占用空间匹配的预取窗口作为所述第一数据读取请求的预取窗口;
若否,获取所述客户端的历史数据读取请求,并根据所述历史数据读取请求确定历史预取距离;
基于所述历史预取距离和所述待读取数据的读取距离生成所述第一次数据读取请求的预取窗口。


5.根据权利要求1所述的数据读取方法,所述根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:
在所述比较结果为所述目标读取位置超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准增加距离;
按照第一创建规则对所述基准增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。


6.根据权利要求1所述的数据读取方法,所述根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:
在所述比较结果为所述目标读取位置未超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准减少距离;
按照第二创建规则对所述基准减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。


7.根据权利要求1所述的数据读取方法,所述确定所述第n次数据读取请求对应的目标数据并发送至所述客户端步骤执行之后,还包括:
n自增1,判断预设的时间间隔内是否接收到所述客户端上传的第n次数据...

【专利技术属性】
技术研发人员:魏舒展王梦杰吴益群董元元
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1