CN113296692B - 数据读取方法及装置 - Google Patents

数据读取方法及装置 Download PDF

Info

Publication number
CN113296692B
CN113296692B CN202011052482.7A CN202011052482A CN113296692B CN 113296692 B CN113296692 B CN 113296692B CN 202011052482 A CN202011052482 A CN 202011052482A CN 113296692 B CN113296692 B CN 113296692B
Authority
CN
China
Prior art keywords
data
window
request
data reading
prefetching
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
Application number
CN202011052482.7A
Other languages
English (en)
Other versions
CN113296692A (zh
Inventor
魏舒展
王梦杰
吴益群
董元元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202011052482.7A priority Critical patent/CN113296692B/zh
Publication of CN113296692A publication Critical patent/CN113296692A/zh
Application granted granted Critical
Publication of CN113296692B publication Critical patent/CN113296692B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

本申请提供数据读取方法及装置,其中所述数据读取方法包括:获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n‑1次数据读取请求的预取窗口的检测位置进行比较;根据比较结果以及第n‑1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n‑1次数据读取请求的预取窗口读取的预取数据中读取。

Description

数据读取方法及装置
技术领域
本申请涉及数据处理技术领域,特别涉及数据读取方法及装置。
背景技术
随着互联网技术的发展,在当前计算机系统架构中,数据的处理往往快于数据的读取速度,因此数据的读写往往是整个系统中性能提升的瓶颈,而且随着计算机运算性能的发展,数据的访问速度与计算机的处理速度差距还在持续扩大,这种情况在分布式系统环境下,变得越发严重;实际应用中数据的访问客户端往往与数据的实际存储程序部署在不同的节点,数据的访问过程涉及磁盘的读取及网络的传输,如果在存在读取延迟,将很大程度上影响访问客户端的处理效率。
针对这一问题通常是采用预取技术实现预取数据,从而实现在客户端读取数据时,可以提前将客户端可能需要的数据预取到内存中,供客户端后续的处理所使用。然而,预取技术也需要占用计算机资源,并且每次预取数据时并未考虑客户端的读取速度,可能造成预取过度或预取过少的问题,无法实现更好的适配客户端的读取需求,造成资源的浪费,故亟需一种有效的方案以解决该问题。
发明内容
有鉴于此,本申请实施例提供了一种数据读取方法。本申请同时涉及一种数据读取装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本申请实施例的第一方面,提供了一种数据读取方法,包括:
获取客户端上传的第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的正整数;
确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较;
根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;
按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述数据读取方法的步骤。
本申请提供的数据读取方法,在获取到客户端上传的第n次数据读取请求后,将确定第n次数据读取请求对应的目标读取位置,并将目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较,从而根据比较结果反映客户端读取数据的速度和预取数据的速度的关系,此时再根据比较结果和第n-1次数据读取请求的预取窗口确定第n次数据读取请求的预取窗口,最后按照第n次数据读取请求的预取窗口进行数据的预取,以及向客户端发送第n次数据读取请求对应的目标数据;通过动态调整预取窗口的方式,为客户端预取满足后续读取需求的预取数据,使得预取数据的量匹配客户端的读取需求,从而实现每次的预取操作都能够更加充分的利用了计算机运行资源,避免出现预取操作过度或过少的占用运行资源而影响客户端的数据读取需求,进一步节省了客户端的读取数据的时间,提高客户端用户的体验效果。
附图说明
图1是本申请一实施例提供的一种数据读取方法的流程图;
图2是本申请一实施例提供的一种预取窗口的示意图;
图3是本申请一实施例提供的另一种预取窗口的示意图;
图4是本申请一实施例提供的另一种数据读取方法的流程图;
图5是本申请一实施例提供的一种数据读取装置的结构示意图;
图6是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
预取技术:是通过计算和访存的重叠,在数据被访问之前发出预取请求以便在该数据真正被使用到时己提前将数据块取入缓存,从而避免数据读取引起的处理停顿。
预取触发距离:简称预取距离,在顺序性预取过程中,数据触发预取时距离当前读取位置的偏移。预取触发距离越大,预取的触发越提前;即当用户请求访问到位置A时,若触发距离为B,则主动预取处于A+B位置的数据。
在本申请中,提供了一种数据读取方法,本申请同时涉及一种数据读取装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种数据读取方法的流程图,具体包括以下步骤:
步骤S102,获取客户端上传的第n次数据读取请求,其中n为大于1的正整数。
实际应用中,为了能够满足客户端的数据读取需求,降低客户端读取数据时的等待时间,通常会在获取到客户端的数据读取请求后,预取一部分数据至内存中,以供客户端再次上传数据读取请求时,在预取的这部分数据中确定数据读取请求对应的数据供客户端读取,该方式即为数据的预取技术;现有技术在实现数据的预取时,为了能够满足客户端的读取需求,将最大化的预取数据,从而满足客户端的读取,然而该过程的预取操作并未考虑到客户端的读取速度,在客户端读取速度较慢时,存在过量预取数据的问题,因为预取操作也需要占用计算机的运行资源,这就导致计算机资源过度浪费的情况;在客户端读取速度较快时,存在预取数据无法供应客户端读取需求的问题,这就导致发生客户端等待时间过长的情况,故预取数据量的控制在预取过程有着重要的作用。
本申请提供的数据读取方法,为了节省计算机资源以及降低客户端等待时间,在获取到客户端上传的第n次数据读取请求后,将确定第n次数据读取请求对应的目标读取位置,并将目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较,从而根据比较结果反映客户端读取数据的速度和预取数据的速度的关系,此时再根据比较结果和第n-1次数据读取请求的预取窗口确定第n次数据读取请求的预取窗口,最后按照第n次数据读取请求的预取窗口进行数据的预取,以及向客户端发送第n次数据读取请求对应的目标数据;通过动态调整预取窗口的方式,为客户端预取满足后续读取需求的预取数据,使得预取数据的量匹配客户端的读取需求,从而实现每次的预取操作都能够更加充分的利用了计算机运行资源,避免出现预取操作过度或过少的占用运行资源而影响客户端的数据读取需求,进一步节省了客户端的读取数据的时间,提高客户端用户的体验效果。
具体实施时,在客户端从存储空间中读取数据时,需要先从存储空间中将需要读取的数据写入内存,之后再从内存中将数据发送至客户端,从而实现客户端进行后续的数据处理过程;在此过程中,由于客户端存在连续读取数据的情况,或客户端存在读取一次数据后,延时一段时间还继续进行数据的读取;当判断出客户端接下来还需要继续进行数据读取的情况下,将对可能进行读取的数据进行预取并写入内存,从而实现下一次数据读取请求到来时,从预取的数据中确定下一次数据读取请求对应的数据发送至客户端。
在此过程中,需要对客户端接下来还会上传数据读取请求的概率进行判断,判断方式可以是按照读取数据的类型进行判断,或按照数据的连续性进行判断,再或者按照数据的相关度进行判断;此外还可以按照数据的存储位置进行判断,具体判断方式本申请不作过多限定,可以根据实际应用场景进行设定,在此不作过多赘述。
进一步的,所述客户端具体是指能够向服务端上传数据操作请求的设备,可以是手机、电脑或平板电脑等,相应的,数据读取请求具体是指客户端的用户通过操作上传的在存储空间中读取数据的请求,所述存储空间具体是指存储数据的空间,可以是磁盘或者加密磁盘等。
本实施例将以客户端上传的第n次数据读取请求为第二次数据读取请求为例(即n=2),对数据读取过程进行描述,相应的,当n取大于1的任意正整数时的数据读取过程,均可参见本实施例相应的描述内容,本申请不作过多赘述。
而在此之前,无论n取任何正整数,都需要在n=1时的客户端上传的第一次数据读取请求开始进行数据的预取,之后再按照第一次数据读取请求的预取数据量和客户端的读取数据量对第二次数据读取请求的预取数据量进行调整,从而满足第三次数据读取请求读取数据时的数据读取需求。
基于此,在第一次进行数据读取的过程中,不仅需要针对所述第一次数据读取请求创建预取窗口,还需要将预取数据和目标数据写入内存,从而实现供客户端读取数据的同时,为客户端可能下发的第二次数据读取请求的目标数据进行准备,本实施例中,具体实现方式如下所述:
获取客户端上传的第一次数据读取请求;
对所述第一次数据读取请求进行解析,获得待读取数据的数据占用空间;
根据预设的创建规则和所述数据占用空间确定所述第一次数据读取请求的预取窗口;
按照所述第一次数据读取请求的预取窗口在所述存储空间中读取所述第一次数据读取请求对应的目标数据和预取数据;
将所述第一次数据读取请求对应的目标数据发送至所述客户端。
具体的,所述待读取数据具体是指所述客户端通过所述第一次数据读取请求映射出需要读取的数据;所述数据占用空间具体是指所述待读取数据所占用的空间大小;所述预设的创建规则具体是指针对数据读取请求创建预取窗口的规则,相应的,所述预取窗口具体是指用于在存储空间中预取数据所需要使用的窗口;所述目标数据具体是指针对所述第一次数据读取请求在存储空间中被读取的数据,即确定需要读取的数据时为待读取数据,当对待读取数据进行读取时,状态转化为目标数据,表示从存储空间中被读取至运行内存中。
基于此,在获取到所述客户端上传的第一次数据读取请求后,此时对所述第一次数据读取请求进行解析,即可确定待读取数据的数据占用空间,之后再按照预设的创建规则和所述数据占用空间即可确定所述第一次数据读取请求的预取窗口,按照第一次数据读取请求的预取窗口在存储空间中读取第一次数据读取请求对应的目标数据和预取数据,最后将第一次数据读取请求对应的目标数据发送至所述客户端,即可完成针对第一次数据读取请求的读取操作,同时预取了第一次数据读取请求对应的预取数据,用于在第二次数据读取请求到来时,可以直接从运行内存中的第一次数据读取请求对应的预取数据中确定第二次数据读取请求对应的目标数据,直接发送至客户端,有效的节省了客户端的等待时间,此后,第二次数据读取请求将再次预取部分数据,以供下一次读取请求所使用。
进一步的,在根据所述预设的创建规则和所述数据占用空间,确定所述第一次数据读取请求的预取窗口的过程中,为了能够提高预取窗口的创建效率,以及节省客户端的等待时间,可以预先设定部分常用的预取窗口,以满足数据读取需求,本实施例中,具体实现方式如下所述:
判断预设的预取窗口中是否存在与所述数据占用空间匹配的预取窗口;
若是,选择与所述数据占用空间匹配的预取窗口作为所述第一数据读取请求的预取窗口;
若否,获取所述客户端的历史数据读取请求,并根据所述历史数据读取请求确定历史预取距离;基于所述历史预取距离和所述待读取数据的读取距离生成所述第一次数据读取请求的预取窗口。
具体的,首先判断预设的预取窗口中是否存在与数据占用空间匹配的预取窗口,若是,说明预设的预取窗口中有满足第一次数据读取请求的预取窗口,此时则选择与所述数据占用空间匹配的预取窗口作为所述第一数据读取请求的预取窗口,用于后续读取数据和预取数据;若否,说明预设的预取窗口中没有满足第一次数据读取请求的预取窗口,此时则需要针对所述第一次数据读取请求创建预取窗口,为了能够创建符合第一次数据读取请求的预取窗口,将获取客户端的历史数据读取请求,之后通过历史数据读取请求分析出历史预取距离,基于历史预取距离和待读取数据的读取距离即可生成所述第一次数据读取请求的预取窗口。
其中,所述预设的预取窗口具体是指使用率较高的预取窗口,为了提高客户端的数据读取效率,可以预设一定数量的预取窗口,以在针对第一次数据读取请求创建预取窗口时,在预设的预取窗口中进行匹配,若匹配到,就说明预设的预取窗口中存在符合第一次数据读取请求的预取窗口,则直接复用即可,若不存在,再进行预取窗口的创建;然而预取窗口也占用一定的资源,故为了避免造成更多的资源浪费,只选择使用率较高的预取窗口组成所述预设的预取窗口。
其中,预取窗口不仅需要满足读取第一数据读取请求的目标数据,还需要预取第一数据读取请求对应的预取数据,故预取窗口所对应的数据占用空间通常是数据读取请求的倍数关系,即通过预取窗口可以从存储空间中预取与第一次数据读取请求的数据量相同的预取数据;预取距离具体是指客户端需要读取数据的初始位置至预取数据所对应的末端位置。
例如,磁盘中存储有A1至An块数据,A1数据的占用空间是Q1,A2数据的占用空间是Q2……An数据的占用空间是Qn,并且各块数据顺序排序;在获取到客户端上传的第一次数据读取请求后,通过对第一次数据读取请求进行解析,获得客户端需要读取的数据是A1数据和A2数据,此时确定数据占用空间是Qi=Q1+Q2,判断预设的预取窗口中是否存在与数据占用空间Qi匹配的预取窗口;
若是,说明预设的预取窗口中存在与数据占用空间Qi匹配预取窗口,则选择与数据占用空间Qi匹配的预取窗口S11,其中预取窗口S11能够满足第一次数据读取请求的读取需求,并且能够预取部分数据,即根据第一次数据读取请求的预取窗口S11可以在磁盘中读取目标数据A1和A2,以及读取预取数据A3和A4,同时将目标数据A1和A2发送至客户端,作为针对第一次数据读取请求的响应;而预取数据A3和A4临时存储在运行内存中,以实现客户端上传第二次数据读取请求时,可以从预取数据A3和A4中确定其对应的目标数据发送至客户端,作为第二次数据读取请求的响应,节省客户端读取数据的等待时间;
若否,说明预设的预取窗口中未存在与数据占用空间Qi匹配预取窗口,此时需要按照客户端的历史数据读取请求确定历史预取距离,确定客户端的历史预取距离为每次读取一块数据的距离,并确定A1数据和A2数据的读取距离,从而结合每次读取一块数据的距离和读取距离生成预取窗口S12,其中预取窗口S12能够满足第一次数据读取请求的读取需求,并且能够预取部分数据,即根据第一次数据读取请求的预取窗口S12可以在磁盘中读取目标数据A1和A2,以及读取预取数据A3,同时将目标数据A1和A2发送至客户端,作为针对第一次数据读取请求的响应;而预取数据A3临时存储在运行内存中,以实现客户端上传第二次数据读取请求时,可以从预取数据A3中确定其对应的目标数据发送至客户端,作为第二次数据读取请求的响应,节省客户端读取数据的等待时间。
综上,在接收到客户端上传的第一次数据读取请求后,为了能够节省客户端的等待时间,可以通过预设预取窗口的方式加快确定所述第一次数据读取请求的预取窗口时间,并且在针对所述第一次数据读取请求生成预取窗口时,能够结合读取距离和历史预取距离进行创建所述预取窗口,使得能够创建出更加符合第一次数据读取请求对应的预取窗口,从而更加方便后续对各个数据读取请求的预取窗口的动态调整。
步骤S104,确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较。
具体的,所述目标读取位置具体是指所述第n次数据读取请求所要读取数据的末端位置或被预取完成的数据的末端位置,所述检测位置具体是指所述第n-1次数据读取请求的预取窗口预取数据的末端位置。
基于此,在确定所述第n次数据读取请求对应的目标读取位置后,将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较,在目标读取位置超过所述第n-1次数据读取请求的预取窗口的检测位置的情况下,说明第n次数据读取请求所要读取的数据量超过了第n-1次数据读取请求所预取的数据量,则后续需要将第n次数据读取请求再次预取的数据量进行增加;在目标读取位置未超过所述第n-1次数据读取请求的预取窗口的检测位置的情况下,说明第n次数据读取请求所要读取的数据量未超过了第n-1次数据读取请求所预取的数据量,进一步说明第n-1次数据读取请求所预取的数据量过多,则后续需要将第n次数据读取请求再次预取的数据量进行减少;从而实现预取更加符合需求的数据量,充分利用计算机运行资源。
进一步的,在所述目标读取位置为所述第n次数据读取请求所要读取数据的末端位置的情况下,由于所述第n次数据读取请求可能读取一块或多块数据,为了准确的确定所要读取数据量的总值,从而更加准确的确定目标读取位置,实现后续可以根据数据读取需求更好的调整预取窗口,本实施例中,具体实现方式如下所述:
通过对所述第n次数据读取请求进行解析,获得待读取数据中的各个子数据的数据位置;
确定所述各个子数据的排列顺序,并按照所述排列顺序对所述数据位置进行排序;
根据排序结果选择末端的数据位置作为所述目标读取位置。
实际应用中,由于第n次数据读取请求所需要读取的各个子数据分布在存储空间的不同位置,故为了能够方便后续分析出第n次数据读取请求的目标读取位置,此时通过对所述第n次数据读取请求进行解析,确定待读取数据中的各个子数据的数据位置,之后根据所述第n次数据读取请求确定各个子数据的排列顺序,即确定客户端读取各个子数据的顺序,之后按照该顺序对所述数据位置进行排序,即可获得按照客户端读取优先级顺序排序的数据位置,之后选择该顺序中末端的数据位置作为所述目标读取位置,即第n次数据读取请求最后读取的子数据的数据位置为所述目标读取位置。
沿用上例,当针对客户端完成第一次数据读取请求所读取的目标数据的反馈之后,客户端再次上传第二次数据读取请求,此时通过对第二次数据读取请求进行解析,确定待读取数据分别为数据A3、数据A4和数据A5,并确定数据A3的数据位置是P3,数据A4的数据位置是P4,数据A5的数据位置是P5,之后按照第二次数据读取请求的读取顺序A3-A4-A5对数据位置进行排序,之后确定排序结果的末端位置为数据位置P5,此时则将数据A5的数据位置P5作为第二次数据读取请求的目标读取位置,以用于后续与第一次数据读取请求的预取窗口的检测位置进行比较,分析预取过多或过少。
综上,为了能够准确的确定目标读取位置,将通过整理待读取数据中的各个子数据的数据位置方式,实现能够精准的定位第n次数据读取请求对应的目标读取位置,方便后续更加准确的分析出对第n次数据读取请求的预取窗口确定的方案,从而减少客户端等待读取数据的时间和提高计算机资源的利用率。
步骤S106,根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口。
具体的,在确定目标读取位置与所述第n-1次数据读取请求的预取窗口的检测位置的比较结果之后,此时即可根据比较结果和第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口。
需要说明的是,本申请中各个数据读取请求的预取窗口可以是按照所属的数据读取请求生成的,也可以是根据上一次的数据读取请求的预取窗口调整后得到的,也就是说,此时数据读取请求所对应的预取窗口始终是一个,只是每次进行接收到新的数据读取请求之后,会根据数据读取请求对预取窗口进行调整,使得预取窗口作为当前数据读取请求的预取窗口,以此类推,可以有效的节省创建预取窗口的时间。具体实施时,数据读取请求的预取窗口是创建的还是调整后生成的,本实施例在此不作过多限定,可以根据实际需求进行选择。
进一步的,所述目标读取位置和所述第n-1次数据读取请求的预取窗口的检测位置不同的比较结果,将采用不同的创建规则针对所述第n次数据读取请求创建预取窗口,本实施例中,具体实现方式如下所述:
(1)在所述比较结果为所述目标读取位置超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准增加距离;按照第一创建规则对所述基准增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
在所述比较结果为所述目标读取位置超过所述检测位置的情况下,说明所述第n次数据读取请求所要读取数据的位置超过了第n-1次数据读取请求预取的数据位置,进一步说明了如果针对第n次数据读取请求配置与第n-1次数据读取请求的预取窗口相同的预取窗口,将会导致接下来所预取的数据量无法满足客户端所要读取的数据量,将会造成客户端等待时间加长,影响客户端侧的数据处理效率。
为了避免这一问题,首先确定所述第n-1次数据读取请求的预取窗口的预取距离和基准增加距离,其次按照所述第一创建规则对所述基准增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,最后根据融合结果结合获得所述第n次数据读取请求的预取窗口,从而使得第n次数据读取请求在按照预取窗口进行数据读取时,可以预取更多的数据,以满足后续第n+1次数据读取请求的读取需求,节省客户端的等待时间。
其中,所述基准预取距离具体是指每次检测出目标读取位置超过检测位置后,需要增加的固定预取距离;所述第一创建规则具体是指累加基准增加距离和第n-1次数据读取请求的预取窗口的预取距离的规则,实现可以针对第n次数据读取请求生成预取距离较长的预取窗口。
(2)在所述比较结果为所述目标读取位置未超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准减少距离;按照第二创建规则对所述基准减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
在所述比较结果为所述目标读取位置未超过所述检测位置的情况下,说明所述第n次数据读取请求所要读取数据的位置未超过第n-1次数据读取请求预取的数据位置,进一步说明了如果针对第n次数据读取请求配置与第n-1次数据读取请求的预取窗口相同的预取窗口,将会导致接下来所预取的数据量超过客户端所要读取的数据量,不仅会造成运行内存空间的浪费,还需要调用更多的计算机资源用于预取操作,进一步造成资源的浪费。
为了避免这一问题,首先确定所述第n-1次数据读取请求的预取窗口的预取距离和基准减少距离,其次按照所述第二创建规则对所述基准减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,最后根据融合结果获得所述第n次数据读取请求的预取窗口,从而使得第n次数据读取请求在按照预取窗口进行数据读取时,可以预取较少的数据,以满足后续第n+1次数据读取请求的读取需求,并且不会造成资源的浪费。
其中,所述基准减少距离具体是指每次检测出目标读取位置未超过检测位置后,需要减少的固定预取距离;所述第二创建规则具体是指相减基准减少距离和第n-1次数据读取请求的预取窗口的预取距离的规则,实现可以针对第n次数据读取请求生成预取距离较短的预取窗口。
仍以磁盘中存储有A1至An块数据为例,对生成第n次数据读取请求的预取窗口的过程进行描述,参见图2所示,客户端上传的第一次数据读取请求读取数据A1、数据A2和数据A3,由于客户端还可能上传第二次数据读取请求继续进行数据的读取,此时进行数据的预取,针对第一次数据读取请求创建出预取窗口S1,预取窗口S1的预取距离为数据A1至数据A6对应的距离,此时将数据A1至数据A6都写入运行内存,并将数据A1、数据A2和数据A3作为第一次数据读取请求的目标数据发送至客户端,并将数据A6对应的位置作为检测位置。
基于此,在接收到第二次数据读取请求所需要读取的数据是数据A4、数据A5、数据A6和数据A7的情况下,此时确定第二次数据读取请求的目标读取位置是A7对应的位置,将目标读取位置与第一次数据读取请求的检测位置进行比较确定目标读取位置超过了检测位置,说明根据第一次数据读取请求所预取的数据A4、数据A5和数据A6无法满足第二次数据读取请求的读取需求,进一步说明预取数据过少,为了后续能够满足客户端的读取需求,需要增加第二次数据读取请求的预取距离,以满足第三次数据读取请求的读取需求,按照基准增加距离和第一次数据读取请求的预取窗口S1,生成第二次数据读取请求的预取窗口S2,此时第二次数据读取请求的预取窗口S2的预取距离相比第一次数据读取请求的预取窗口S1,增加了一块数据的读取距离,实现可以对数据A8、数据A9、数据A10和数据A11的进行预取,以进行后续的读取数据和发送数据,其中数据A11的位置即为第二次数据读取请求对应的预取位置,数据A6的位置即为第一次数据读取请求对应的预取完成位置。
在接收到第二次数据读取请求所需要读取的数据是数据A4和数据A5的情况下,将目标读取位置与第一次数据读取请求的检测位置进行比较确定目标读取位置未超过检测位置,说明根据第一次数据读取请求所预取的数据A4、数据A5和数据A6满足了第二次数据读取请求的读取需求,进一步说明预取数据过多,为了后续能够满足的读取需求的同时,节省计算机的运算资源,需要减少第二次数据读取请求的预取距离,以满足第三次数据读取请求的读取需求的同时减小资源的浪费,按照基准减少距离和第一次数据读取请求的预取窗口S1,生成第二次数据读取请求的预取窗口S2,此时第二次数据读取请求的预取窗口S2的预取距离相比第一次数据读取请求的预取窗口S1,减少了一块数据的读取距离,实现可以对数据A8和数据A9、的进行预取,以进行后续的读取数据和发送数据。
此外,参见图3所示,当目标读取位置与检测位置相同的情况下,说明第二次数据读取请求所预取的数据与客户端的读取需求进度相同,即预取的数据可以恰好满足客户端的读取需求,此时可以根据第一次数据读取请求的预取窗口为第二次数据读取请求的预取窗口进行配置,实现保持较为平稳的状态,不仅节省计算机运行资源,还能够节省客户端的等待时间,有效的提高了资源利用率。
综上,在针对每次数据读取请求的预取窗口进行创建时,为了能够预取满足下一次数据读取请求的读取需求的同时,节省计算机运算资源,避免资源的浪费,可以通过将目标读取位置与检测位置进行比较的方式反映出客户端读取速度和计算机预取速度的快慢,从而得出是客户端读取的快还是读取的慢,以更好的对后续数据读取请求对应的预取窗口进行动态调整,充分的利用计算机的运行资源。
步骤S108,按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端。其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取。
具体的,在确定所述第n次数据读取请求的预取窗口的基础上,进一步的,此时需要针对所述客户端的第n次数据读取请求向客户端发送目标数据,同时针对可能上传的第n+1次数据读取请求进行数据的预取,即按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,同时在第n-1次数据读取请求的预取窗口读取的预取数据中读取目标数据,并将所述目标数据作为第n次数据读取请求的数据读取需求发送至客户端,以节省客户端的等待时间。
需要说明的是,在第n-1次数据读取请求的预取数据中只包含目标数据的部分数据的情况下,说明第n-1次数据读取请求在预取数据时,预取的数据量过少,此时不仅需要增加第n次数据读取请求的预取数据量,还需要将未从存储空间中读取的剩余部分目标数据进行读取,为了避免客户端等待时间,优先将运行内存中已经存在的部分目标数据发送至客户端,同时进行剩余未从存储空间中读取的剩余部分目标数据的读取,以实现目标数据可以连续发送至客户端,节省客户端等待时间。
进一步的,在完成第n次数据读取请求的数据的发送和预取之后,后续如果连续接收到客户端的第n+1次数据读取请求之后,还需要按照上述步骤进行数据的预取和读取操作,而在此过程中,如果客户端长时间未上数据读取请求,则需要终止预取操作,释放运行内存,避免过度占用运行内存造成资源的浪费,本实施例中,具体实现方式如下所述:
n自增1,判断预设的时间间隔内是否接收到所述客户端上传的第n次数据读取请求;
若是,再次执行所述确定所述第n次数据读取请求对应的目标读取位置步骤;
若否,将基于第n-1次数据读取请求的预取窗口读取的预取数据进行清除。
具体的,在完成针对所述第n次数据读取请求的数据读取以及预取的情况下,此时将等待第n+1次数据读取请求,即等待n自增1之后的数据读取请求,若预设的时间间隔内接收到所述客户端再次上传的数据读取请求的情况下,说明所述客户端还需要继续读取数据,则按照上述步骤继续进行数据的读取和预取即可;若预设的时间间隔内为接收到所述客户端再次上传的数据读取请求,说明所述客户端不需要继续读取数据,为了能够节省资源,将根据将基于第n-1次数据读取请求的预取窗口读取的预取数据进行清除,从而实现避免预取数据占用过多运行内存,影响上下游服务的正常进行。
本申请提供的数据读取方法,在获取到客户端上传的第n次数据读取请求后,将确定第n次数据读取请求对应的目标读取位置,并将目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较,从而根据比较结果反映客户端读取数据的速度和预取数据的速度的关系,此时再根据比较结果和第n-1次数据读取请求的预取窗口确定第n次数据读取请求的预取窗口,最后按照第n次数据读取请求的预取窗口进行数据的预取,以及向客户端发送第n次数据读取请求对应的目标数据;通过动态调整预取窗口的方式,为客户端预取满足后续读取需求的预取数据,使得预取数据的量匹配客户端的读取需求,从而实现每次的预取操作都能够更加充分的利用了计算机运行资源,避免出现预取操作过度或过少的占用运行资源而影响客户端的数据读取需求,进一步节省了客户端的读取数据的时间,提高客户端用户的体验效果。
下述为本申请提供的数据读取方法的第二实施例:
图4是本申请一实施例提供的另一种数据读取方法的流程图;具体包括以下步骤:
步骤S402,获取客户端上传的第一次数据读取请求。
步骤S404,对第一次数据读取请求进行解析,获得待读取数据的数据占用空间。
步骤S406,根据预设的创建规则和数据占用空间确定第一次数据读取请求的预取窗口。
步骤S408,按照第一次数据读取请求的预取窗口在存储空间中读取第一次数据读取请求对应的目标数据和预取数据。
步骤S410,将第一次数据读取请求对应的目标数据发送至客户端。
步骤S412,获取客户端上传的第n次数据读取请求,其中n为大于1的正整数。
实际应用中,为了能够满足客户端的数据读取需求,降低客户端读取数据时的等待时间,通常会在获取到客户端的数据读取请求后,预取一部分数据至内存中,以供客户端再次上传数据读取请求时,在预取的这部分数据中确定数据读取请求对应的数据供客户端读取,该方式即为数据的预取技术;现有技术在实现数据的预取时,为了能够满足客户端的读取需求,将最大化的预取数据,从而满足客户端的读取,然而该过程的预取操作并未考虑到客户端的读取速度,在客户端读取速度较慢时,存在过量预取数据的问题,因为预取操作也需要占用计算机的运行资源,这就导致计算机资源过度浪费的情况;在客户端读取速度较快时,存在预取数据无法供应客户端读取需求的问题,这就导致发生客户端等待时间过长的情况,故预取数据量的控制在预取过程有着重要的作用。
本申请提供的数据读取方法,通过动态调整预取窗口的方式,为客户端预取满足后续读取需求的预取数据,使得预取数据的量匹配客户端的读取需求,从而实现每次的预取操作都能够更加充分的利用了计算机运行资源,避免出现预取操作过度或过少的占用运行资源而影响客户端的数据读取需求,进一步节省了客户端的读取数据的时间,提高客户端用户的体验效果。
具体实施时,在客户端从存储空间中读取数据时,需要先从存储空间中将需要读取的数据写入内存,之后再从内存中将数据发送至客户端,从而实现客户端进行后续的数据处理过程;在此过程中,由于客户端存在连续读取数据的情况,或客户端存在读取一次数据后,延时一段时间还继续进行数据的读取;当判断出客户端接下来还需要继续进行数据读取的情况下,将对可能进行读取的数据进行预取并写入内存,从而实现下一次数据读取请求到来时,从预取的数据中确定下一次数据读取请求对应的数据发送至客户端。
在此过程中,需要对客户端接下来还会上传数据读取请求的概率进行判断,判断方式可以是按照读取数据的类型进行判断,或按照数据的连续性进行判断,再或者按照数据的相关度进行判断;此外还可以按照数据的存储位置进行判断,具体判断方式本申请不作过多限定,可以根据实际应用场景进行设定,在此不作过多赘述。
进一步的,所述客户端具体是指能够向服务端上传数据操作请求的设备,可以是手机、电脑或平板电脑等,相应的,数据读取请求具体是指客户端的用户通过操作上传的在存储空间中读取数据的请求,所述存储空间具体是指存储数据的空间,可以是磁盘或者加密磁盘等。
本实施例将仍以客户端上传的第n次数据读取请求为第二次数据读取请求为例(即n=2),对数据读取过程进行描述,相应的,当n取大于1的任意正整数时的数据读取过程,均可参见本实施例相应的描述内容,本申请不作过多赘述。
需要说明的是,本实施例未详尽描述的内容均可参见上述实施例中相应的描述内容,本实施例在此不作过多赘述。
步骤S414,在按照第n-1次数据读取请求的预取窗口读取完成预取数据的情况下,确定第n-1次数据读取请求对应的预取成功位置。
具体的,所述预取成功位置具体是指第n-1次数据读取在预取数据时当前所预取的数据位置,比如第n-1次数据读取请求通过预取窗口需要预取的数据位置是A7,而在接收到第n次数据读取请求时,还未完成第n-1次数据读取请求通过预取窗口预取数据的操作,当前所完成的预取数据的位置是A6,则数据A6对应的位置即为所述预取成功位置。
步骤S416,将预取成功位置作为第n次数据读取请求对应的目标读取位置。
步骤S418,检测目标读取位置是否超过第n-1次数据读取请求的预取窗口的检测位置;若是,执行步骤S420;若否,执行步骤S424。
步骤S420,基于目标读取位置和检测位置计算减少距离,并确定第n-1次数据读取请求的预取窗口的预取距离。
步骤S422,将减少距离和第n-1次数据读取请求的预取窗口的预取距离进行融合,获得第n次数据读取请求的预取窗口。
以磁盘中存储数据A1至数据An为例,对数据读取过程进行描述;客户端上传的第一次数据读取请求的读取需求是数据A1和数据A2,此时根据第一次数据读取请求的预取窗口S1预取了数据A3和数据A4,同时第一次数据读取请求的预取窗口S1的检测位置是数据A4所对应的位置。
基于此,在接收到客户端上传的第二次数据读取请求时,第一次数据读取请求所预取的数据已经完成,需要预取数据A3和数据A4,而在此时刻已经完成了数据A4的预取,则当前数据读取位置是数据A4对应的位置,将数据A4对应的位置作为第二次数据读取请求的目标读取位置,之后将目标读取位置与数据A4对应的检测位置进行比较。
此时确定数据读取位置已经达到检测位置,则表明预取数据的速度大于客户端读取数据的速度,并且预取客户端下一次数据读取请求所对应的数据也需要耗费运行资源,此时为了节省资源,以及避免预取过多的数据占用过多的运行内存,需要将第二次数据读取请求的预取窗口调小,首先经过计算确定减小距离是一块数据,而第一次数据读取请求的预取窗口S1的预取距离是四块数据,则根据减小距离和第一次数据读取请求的预取窗口S1的预取距离,确定第二次数据读取请的预取窗口S2的预取距离是三块数据,从而实现后续只需要少部分的数据即可供应客户端的读取需求。
步骤S424,基于目标读取位置和检测位置计算增加距离,并确定第n-1次数据读取请求的预取窗口的预取距离。
步骤S426,将增加距离和第n-1次数据读取请求的预取窗口的预取距离进行融合,获得第n次数据读取请求的预取窗口。
沿用上例,在接收到客户端上传的第二次数据读取请求时,第一次数据读取请求所预取的数据还未完成,需要预取数据A3和数据A4,而在此时刻只完成的数据A3的预取,则当前数据读取位置是数据A3对应的位置,将数据A3对应的位置作为第二次数据读取请求的目标读取位置,之后将目标读取位置与数据A4对应的检测位置进行比较。
此时确定数据读取位置还未达到检测位置,则表明预取数据的速度小于客户端读取数据的速度,如果继续按照原有的预取距离进行数据的预取,将会无法供应客户端的需求,则需要将第二次数据读取请求的预取窗口调大,首先经过计算确定增加距离的一块数据,而第一次数据读取请求的预取窗口S1的预取距离是四块数据,则根据增加距离和第一次数据读取请求的预取窗口S1的预取距离,确定第二次数据读取请的预取窗口S2的预取距离是五块数据,从而实现后续只需要少部分的数据即可供应客户端的读取需求。
综上,在针对每次数据读取请求的预取窗口进行创建时,为了能够预取满足下一次数据读取请求的读取需求的同时,节省计算机运算资源,避免资源的浪费,可以通过将目标读取位置与检测位置进行比较的方式反映出客户端读取速度和计算机预取速度的快慢,从而得出是客户端读取的快还是读取的慢,以更好的对后续数据读取请求对应的预取窗口进行动态调整,充分的利用计算机的运行资源。
步骤S428,按照第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定第n次数据读取请求对应的目标数据并发送至客户端。
其中,目标数据从第n-1次数据读取请求的预取窗口读取的预取数据中读取。
具体的,在确定所述第n次数据读取请求的预取窗口的基础上,进一步的,此时需要针对所述客户端的第n次数据读取请求向客户端发送目标数据,同时针对可能上传的第n+1次数据读取请求进行数据的预取,即按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,同时在第n-1次数据读取请求的预取窗口读取的预取数据中读取目标数据,并将所述目标数据作为第n次数据读取请求的数据读取需求发送至客户端,以节省客户端的等待时间。
需要说明的是,在第n-1次数据读取请求的预取数据中只包含目标数据的部分数据的情况下,说明第n-1次数据读取请求在预取数据时,预取的数据量过少,此时不仅需要增加第n次数据读取请求的预取数据量,还需要将未从存储空间中读取的剩余部分目标数据进行读取,为了避免客户端等待时间,优先将运行内存中已经存在的部分目标数据发送至客户端,同时进行剩余未从存储空间中读取的剩余部分目标数据的读取,以实现目标数据可以连续发送至客户端,节省客户端等待时间。
本申请提供的数据读取方法,通过动态调整预取窗口的方式,为客户端预取满足后续读取需求的预取数据,使得预取数据的量匹配客户端的读取需求,从而实现每次的预取操作都能够更加充分的利用了计算机运行资源,避免出现预取操作过度或过少的占用运行资源而影响客户端的数据读取需求,进一步节省了客户端的读取数据的时间,提高客户端用户的体验效果。
与上述方法实施例相对应,本申请还提供了数据读取装置实施例,图5示出了本申请一实施例提供的一种数据读取装置的结构示意图。如图5所示,该装置包括:
获取请求模块502,被配置为获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;
确定位置模块504,被配置为确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较;
确定窗口模块506,被配置为根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;
发送数据模块508,被配置为按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取。
一个可选的实施例中,所述数据读取装置,还包括:
获取第一次数据读取请求模块,被配置为获取客户端上传的第一次数据读取请求;
解析第一次数据读取请求模块,被配置为对所述第一次数据读取请求进行解析,获得待读取数据的数据占用空间;
确定预取窗口模块,被配置为根据预设的创建规则和所述数据占用空间确定所述第一次数据读取请求的预取窗口;
读取数据模块,被配置为按照所述第一次数据读取请求的预取窗口在所述存储空间中读取所述第一次数据读取请求对应的目标数据和预取数据;
发送目标数据模块,被配置为将所述第一次数据读取请求对应的目标数据发送至所述客户端。
一个可选的实施例中,所述确定位置模块504,包括:
解析请求单元,被配置为通过对所述第n次数据读取请求进行解析,获得待读取数据中的各个子数据的数据位置;
确定排列顺序单元,被配置为确定所述各个子数据的排列顺序,并按照所述排列顺序对所述数据位置进行排序;
选择目标读取位置单元,被配置为根据排序结果选择末端的数据位置作为所述目标读取位置。
一个可选的实施例中,所述确定预取窗口模块,包括:
判断单元,被配置为判断预设的预取窗口中是否存在与所述数据占用空间匹配的预取窗口;
若是,运行选择预取窗口单元,所述选择预取窗口单元,被配置为选择与所述数据占用空间匹配的预取窗口作为所述第一数据读取请求的预取窗口;
若否,运行获取历史数据读取请求单元,所述获取历史数据读取请求单元,被配置为获取所述客户端的历史数据读取请求,并根据所述历史数据读取请求确定历史预取距离;
生成预取窗口单元,被配置为基于所述历史预取距离和所述待读取数据的读取距离生成所述第一次数据读取请求的预取窗口。
一个可选的实施例中,所述确定窗口模块506,包括:
第一确定单元,被配置为在所述比较结果为所述目标读取位置超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准增加距离;
第一融合单元,被配置为按照第一创建规则对所述基准增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
一个可选的实施例中,所述确定窗口模块506,包括:
第二确定单元,被配置为在所述比较结果为所述目标读取位置未超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准减少距离;
第二融合单元,被配置为按照第二创建规则对所述基准减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
一个可选的实施例中,所述数据读取装置,还包括:
判断接收模块,被配置为n自增1,判断预设的时间间隔内是否接收到所述客户端上传的第n次数据读取请求;
若是,运行确定位置模块504;
若否,运行清除模块,所述清除模块,被配置为将基于第n-1次数据读取请求的预取窗口读取的预取数据进行清除。
一个可选的实施例中,所述数据读取装置,还包括:
确定预取成功位置模块,被配置为在按照所述第n-1次数据读取请求的预取窗口读取完成预取数据的情况下,确定所述第n-1次数据读取请求对应的预取成功位置;
相应的,所述确定位置模块504进一步被配置为:
将所述预取成功位置作为所述第n次数据读取请求对应的所述目标读取位置。
一个可选的实施例中,所述确定窗口模块506,包括:
第一计算单元,被配置为在所述比较结果为所述预取成功位置未超过所述检测位置的情况下,基于所述目标读取位置和所述检测位置计算增加距离;
第一确定预取距离单元,被配置为确定所述第n-1次数据读取请求的预取窗口的预取距离;
第三融合单元,被配置为将所述增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
一个可选的实施例中,所述确定窗口模块506,包括:
第二计算单元,被配置为在所述比较结果为所述预取成功位置超过所述检测位置的情况下,基于所述目标读取位置和所述检测位置计算减少距离;
第二确定预取距离单元,被配置为确定所述第n-1次数据读取请求的预取窗口的预取距离;
第四融合单元,被配置为将所述减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
本实施例提供的数据读取装置,在获取到客户端上传的第n次数据读取请求后,将确定第n次数据读取请求对应的目标读取位置,并将目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较,从而根据比较结果反映客户端读取数据的速度和预取数据的速度的关系,此时再根据比较结果和第n-1次数据读取请求的预取窗口确定第n次数据读取请求的预取窗口,最后按照第n次数据读取请求的预取窗口进行数据的预取,以及向客户端发送第n次数据读取请求对应的目标数据;通过动态调整预取窗口的方式,为客户端预取满足后续读取需求的预取数据,使得预取数据的量匹配客户端的读取需求,从而实现每次的预取操作都能够更加充分的利用了计算机运行资源,避免出现预取操作过度或过少的占用运行资源而影响客户端的数据读取需求,进一步节省了客户端的读取数据的时间,提高客户端用户的体验效果。
上述为本实施例的一种数据读取装置的示意性方案。需要说明的是,该数据读取装置的技术方案与上述的数据读取方法的技术方案属于同一构思,数据读取装置的技术方案未详细描述的细节内容,均可以参见上述数据读取方法的技术方案的描述。
图6示出了根据本申请一实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行如下计算机可执行指令:
获取客户端上传的第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次数据读取请求的预取窗口读取的预取数据中读取。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据读取方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据读取方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。

Claims (11)

1.一种数据读取方法,包括:
获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;
确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较,其中,所述检测位置是指所述第n-1次数据读取请求的预取窗口预取数据的末端位置;
根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;
按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取;
其中,根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:
在所述比较结果为所述目标读取位置超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准增加距离;按照第一创建规则对所述基准增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口;
在所述比较结果为所述目标读取位置未超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准减少距离;按照第二创建规则对所述基准减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
2.根据权利要求1所述的数据读取方法,所述获取客户端上传的第n次数据读取请求步骤执行之前,还包括:
获取客户端上传的第一次数据读取请求;
对所述第一次数据读取请求进行解析,获得待读取数据的数据占用空间;
根据预设的创建规则和所述数据占用空间确定所述第一次数据读取请求的预取窗口;
按照所述第一次数据读取请求的预取窗口在所述存储空间中读取所述第一次数据读取请求对应的目标数据和预取数据;
将所述第一次数据读取请求对应的目标数据发送至所述客户端。
3.根据权利要求1所述的数据读取方法,所述确定所述第n次数据读取请求对应的目标读取位置,包括:
通过对所述第n次数据读取请求进行解析,获得待读取数据中的各个子数据的数据位置;
确定所述各个子数据的排列顺序,并按照所述排列顺序对所述数据位置进行排序;
根据排序结果选择末端的数据位置作为所述目标读取位置。
4.根据权利要求2所述的数据读取方法,所述根据预设的创建规则和所述数据占用空间确定所述第一次数据读取请求的预取窗口,包括:
判断预设的预取窗口中是否存在与所述数据占用空间匹配的预取窗口;
若是,选择与所述数据占用空间匹配的预取窗口作为所述第一次数据读取请求的预取窗口;
若否,获取所述客户端的历史数据读取请求,并根据所述历史数据读取请求确定历史预取距离;
基于所述历史预取距离和所述待读取数据的读取距离生成所述第一次数据读取请求的预取窗口。
5.根据权利要求1所述的数据读取方法,所述确定所述第n次数据读取请求对应的目标数据并发送至所述客户端步骤执行之后,还包括:
n自增1,判断预设的时间间隔内是否接收到所述客户端上传的第n次数据读取请求;
若是,再次执行所述确定所述第n次数据读取请求对应的目标读取位置步骤;
若否,将基于第n-1次数据读取请求的预取窗口读取的预取数据进行清除。
6.根据权利要求1所述的数据读取方法,所述确定所述第n次数据读取请求对应的目标读取位置步骤之前,还包括:
在按照所述第n-1次数据读取请求的预取窗口读取完成预取数据的情况下,确定所述第n-1次数据读取请求对应的预取成功位置;
相应的,所述确定所述第n次数据读取请求对应的目标读取位置,包括:
将所述预取成功位置作为所述第n次数据读取请求对应的所述目标读取位置。
7.根据权利要求6所述的数据读取方法,所述根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:
在所述比较结果为所述预取成功位置未超过所述检测位置的情况下,基于所述目标读取位置和所述检测位置计算增加距离;
确定所述第n-1次数据读取请求的预取窗口的预取距离;
将所述增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
8.根据权利要求6所述的数据读取方法,所述根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:
在所述比较结果为所述预取成功位置超过所述检测位置的情况下,基于所述目标读取位置和所述检测位置计算减少距离;
确定所述第n-1次数据读取请求的预取窗口的预取距离;
将所述减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
9.一种数据读取装置,包括:
获取请求模块,被配置为获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;
确定位置模块,被配置为确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较,其中,所述检测位置是指所述第n-1次数据读取请求的预取窗口预取数据的末端位置;
确定窗口模块,被配置为根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;
发送数据模块,被配置为按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取;
其中,确定位置模块,包括:
第一确定单元,被配置为在所述比较结果为所述目标读取位置超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准增加距离;第一融合单元,被配置为按照第一创建规则对所述基准增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口;
第二确定单元,被配置为在所述比较结果为所述目标读取位置未超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准减少距离;第二融合单元,被配置为按照第二创建规则对所述基准减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
10.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,以实现下述方法:
获取客户端上传的第n次数据读取请求,其中n为大于1的正整数;
确定所述第n次数据读取请求对应的目标读取位置,并将所述目标读取位置与第n-1次数据读取请求的预取窗口的检测位置进行比较,其中,所述检测位置是指所述第n-1次数据读取请求的预取窗口预取数据的末端位置;
根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口;
按照所述第n次数据读取请求的预取窗口在存储空间中读取预取数据,以及确定所述第n次数据读取请求对应的目标数据并发送至所述客户端,其中,所述目标数据从所述第n-1次数据读取请求的预取窗口读取的预取数据中读取;
其中,根据比较结果以及第n-1次数据读取请求的预取窗口确定所述第n次数据读取请求的预取窗口,包括:
在所述比较结果为所述目标读取位置超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准增加距离;按照第一创建规则对所述基准增加距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口;
在所述比较结果为所述目标读取位置未超过所述检测位置的情况下,确定所述第n-1次数据读取请求的预取窗口的预取距离和基准减少距离;按照第二创建规则对所述基准减少距离和所述第n-1次数据读取请求的预取窗口的预取距离进行融合,获得所述第n次数据读取请求的预取窗口。
11.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求1至8任意一项所述数据读取方法的步骤。
CN202011052482.7A 2020-09-29 2020-09-29 数据读取方法及装置 Active CN113296692B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011052482.7A CN113296692B (zh) 2020-09-29 2020-09-29 数据读取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011052482.7A CN113296692B (zh) 2020-09-29 2020-09-29 数据读取方法及装置

Publications (2)

Publication Number Publication Date
CN113296692A CN113296692A (zh) 2021-08-24
CN113296692B true CN113296692B (zh) 2022-08-16

Family

ID=77318281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011052482.7A Active CN113296692B (zh) 2020-09-29 2020-09-29 数据读取方法及装置

Country Status (1)

Country Link
CN (1) CN113296692B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114201238B (zh) * 2022-02-16 2022-05-10 深圳市紫川软件有限公司 一种基于大数据的智慧企业软件组件管理系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634970A (zh) * 2009-08-26 2010-01-27 成都市华为赛门铁克科技有限公司 预取长度调整方法、装置和存储系统
CN101853218A (zh) * 2010-05-12 2010-10-06 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
CN109669880A (zh) * 2017-10-13 2019-04-23 展讯通信(上海)有限公司 一种数据预取方法及装置、微处理器
CN110471894A (zh) * 2019-07-22 2019-11-19 腾讯科技(深圳)有限公司 一种数据预取方法、装置、终端及存储介质
CN110609796A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 用于存储系统中预取的方法、设备和计算机程序产品
CN110764708A (zh) * 2019-10-25 2020-02-07 北京浪潮数据技术有限公司 一种数据读取方法、装置、设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070239940A1 (en) * 2006-03-31 2007-10-11 Doshi Kshitij A Adaptive prefetching
US9990296B2 (en) * 2015-07-31 2018-06-05 Oracle International Corporation Systems and methods for prefetching data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101634970A (zh) * 2009-08-26 2010-01-27 成都市华为赛门铁克科技有限公司 预取长度调整方法、装置和存储系统
CN101853218A (zh) * 2010-05-12 2010-10-06 中兴通讯股份有限公司 用于磁盘阵列的读取方法和系统
CN109669880A (zh) * 2017-10-13 2019-04-23 展讯通信(上海)有限公司 一种数据预取方法及装置、微处理器
CN110609796A (zh) * 2018-06-15 2019-12-24 伊姆西Ip控股有限责任公司 用于存储系统中预取的方法、设备和计算机程序产品
CN110471894A (zh) * 2019-07-22 2019-11-19 腾讯科技(深圳)有限公司 一种数据预取方法、装置、终端及存储介质
CN110764708A (zh) * 2019-10-25 2020-02-07 北京浪潮数据技术有限公司 一种数据读取方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113296692A (zh) 2021-08-24

Similar Documents

Publication Publication Date Title
US9967361B2 (en) Physical location influenced caching
CN108710639B (zh) 一种基于Ceph的海量小文件存取优化方法
CN109918663B (zh) 一种语义匹配方法、装置及存储介质
JP2007510224A (ja) プロキシキャッシュにおいてマルチメディアコンテンツのセグメントの優先順位を決める方法
CN107196998B (zh) 基于数据去重的移动Web请求处理方法、设备及系统
US10771358B2 (en) Data acquisition device, data acquisition method and storage medium
CN105718538A (zh) 一种分布式文件系统的自适应压缩方法及系统
CN113296692B (zh) 数据读取方法及装置
US20200319797A1 (en) System and method for file processing from a block device
US20220138596A1 (en) Increasing efficiency of inferencing digital videos utilizing machine-learning models
CN107491565B (zh) 一种数据同步方法
CN111083933B (zh) 数据存储及获取方法和装置
WO2021190501A1 (zh) 数据预取方法、装置以及存储设备
CN114594954A (zh) 一种代码优化方法、装置、计算设备及计算机存储介质
CN113448739B (zh) 一种数据处理方法及装置
WO2019127926A1 (zh) 一种稀疏神经网络的计算方法及计算装置、电子装置、计算机可读存储介质以及计算机程序产品
CN114385596A (zh) 数据处理方法及装置
CN116994266A (zh) 文字处理方法、装置、电子设备及存储介质
US11475356B2 (en) Data processing method, electronic device and computer readable storage method for deduplication of a training dataset
CN114416863A (zh) 用于执行基于模型并行的分布式推理的方法、设备和介质
WO2017186049A1 (zh) 信息处理方法和装置
CN113342277B (zh) 数据处理方法及装置
CN114363640B (zh) 数据存储方法、装置及系统
CN113382078B (zh) 数据处理方法及装置
Wang et al. Dynamic Edge-Twin Computing for Vehicle Tracking

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40059148

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant