CN109992209B - 数据处理方法、装置及分布式存储系统 - Google Patents
数据处理方法、装置及分布式存储系统 Download PDFInfo
- Publication number
- CN109992209B CN109992209B CN201910256387.XA CN201910256387A CN109992209B CN 109992209 B CN109992209 B CN 109992209B CN 201910256387 A CN201910256387 A CN 201910256387A CN 109992209 B CN109992209 B CN 109992209B
- Authority
- CN
- China
- Prior art keywords
- data
- read
- synthesizing
- current
- ahead
- 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
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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]
Abstract
本申请提供一种数据处理方法、装置及分布式存储系统。方法包括:确定客户端的当前读取数据与先前读取数据连续;在预读数据存储区查找当前读取数据;确定在预读数据存储区未查找到当前读取数据,向合成当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;接收合成当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成当前读取数据的主分片以及合成第一预读数据的主分片;基于合成当前读取数据的主分片和各从分片合成当前读取数据,发送至客户端;基于合成第一预读数据的主分片和各从分片合成第一预读数据,存储于预读数据存储区,能够改善在纠删码存储策略下预读数据性能受限的技术问题。
Description
技术领域
本发明涉及分布式存储技术领域,具体而言,涉及一种数据处理方法、装置及分布式存储系统。
背景技术
随着数字化的发展,企业对存储系统的需求日趋明显,对存储系统的容量要求越来越大,纠删码存储策略应运而生。纠删码(Erasure Coding,EC)存储策略,可以将数据分割成片段,把冗余数据块扩展、编码,并将不同的片段存储在不同的位置,比如存储在不同的存储节点上。由于纠删码策略是将数据进行分片存储,在读取数据时,需要将各个分片数据读取上来,然后汇总成一份最终数据返回给客户端。
在现有的纠删码预读策略中,客户端发送预读请求至主分片所在存储节点,再由主分片所在节点向向其他从数据分片所在存储节点请求合成预读数据的从分片,最后由主数据分片所在存储节点计算得到预读数据。但是,主分片所在存储节点请求预读数据从分片以及预读数据从数据分片的封装与网络传输,增加了网络时延,导致预读性能受限。
发明内容
本申请提供一种数据处理方法、装置及分布式存储系统,能够改善在纠删码存储策略下预读性数据能受限的技术问题。
为了实现上述目的,本申请实施例所提供的技术方案如下所示:
第一方面,本申请实施例提供一种数据处理方法,应用于分布式存储系统,所述方法包括:
确定客户端的当前读取数据与先前读取数据连续;所述当前读取数据对应于所述客户端的当前数据请求中的当前读取地址以及当前读取长度,所述先前读取数据对应于所述客户端的先前数据请求中的先前读取地址以及先前读取长度;在预读数据存储区查找所述当前读取数据;确定在所述预读数据存储区未查找到所述当前读取数据,向合成所述当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;其中,每个第一分片预读并发请求包含所述当前读取地址、所述当前读取长度以及第一预读长度;接收合成所述当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成所述当前读取数据的主分片以及合成第一预读数据的主分片;基于合成所述当前读取数据的主分片和各从分片合成所述当前读取数据,基于合成所述第一预读数据的主分片和各从分片合成所述第一预读数据;在所述预读数据存储区存储所述第一预读数据;发送所述当前读取数据至所述客户端。
在本实施例中,存储节点在预读数据时,可以基于当前需要读取的数据及需要预读的数据向其他存储节点发送预读并发请求,从而使得其他存储节点能够根据预读并发请求返回的数据中能够包括当前需要读取的数据及需要预读的数据。基于此,在用户终端在连续顺序读取数据时,存储节点可以在读取当前需要发送至用户终端的数据的同时,还能将预读的数据进行缓存,无需用户终端单独为预读数据下发预读请求,能够改善单独下发预读请求使得网络时延长而导致预读性能受限的技术问题。
第二方面,本申请实施例提供一种数据处理装置,应用于分布式存储系统,所述装置包括:
读取类型判断模块,用于确定客户端的当前读取数据与先前读取数据连续;所述当前读取数据对应于所述客户端的当前数据请求中的当前读取地址以及当前读取长度,所述先前读取数据对应于所述客户端的先前数据请求中的先前读取地址以及先前读取长度;预读数据读取模块,用于基于所述当前读取数据在预读数据存储区进行查找;数据合成模块,用于在所述预读数据读取模块未查找到所述当前读取数据时,向合成所述当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;接收合成所述当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成所述当前读取数据的主分片以及合成第一预读数据的主分片,基于合成所述当前读取数据的主分片和各从分片合成所述当前读取数据,基于合成所述第一预读数据的主分片和各从分片合成所述第一预读数据;将所述第一预读数据存储于所述预读数据存储区;其中,每个第一分片预读并发请求包含所述当前读取地址、所述当前读取长度以及第一预读长度;数据响应模块,用于向所述客户端发送所述当前读取数据。
第三方面,本申请实施例提供一种分布式存储系统,包括用于分别存储主分片数据、从分片数据的多个存储节点,所述存储节点包括相互耦合的存储器、处理器、通信模块,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述存储节点执行上述的数据处理方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行上述的数据处理方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的数据处理方法的交互示意图之一。
图2为本申请实施例提供的分布式存储系统的结构示意图。
图3为本申请实施例提供的数据处理方法的交互示意图之二。
图4为本申请实施例提供的数据处理方法的交互示意图之三。
图5为本申请实施例提供的数据处理方法的交互示意图之四。
图6为本申请实施例提供的数据处理装置的功能框图。
图标:10-分布式存储系统;20-主分片所在存储节点;211-预读数据存储区;31-从分片所在存储节点;32-从分片所在存储节点;33-从分片所在存储节点;34-从分片所在存储节点;35-从分片所在存储节点;40-客户端;100-数据处理装置;110-读取类型判断模块;120-预读数据读取模块;130-数据合成模块;140-数据响应模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请结合参照图1和图2,本申请实施例提供的一种数据处理方法,该方法可以应用于分布式存储系统10,能够改善在纠删码存储策略下预读数据性能受限的技术问题。
其中,分布式存储系统10中可以包括多个存储节点,其数量可以根据实际情况进行设置。客户端40所请求的数据的主分片存储在分布式存储系统10中的存储节点20(存储节点20即为主分片所在存储节点20),数据的从分片被存储在存储节点31、存储节点32、存储节点33、存储节点34、存储节点35等节点(存储节点31-35即为从分片所在存储节点31-35)。存储节点可以包括但不限于服务器、主机或其他电子设备(其他电子设备中包括有用于存储数据的可读存储介质,可读存储介质可以包括但不限于硬盘、磁盘等)。在以纠删码策略存储一个目标数据(或目标文件)时,需要将目标数据进行分片存储。目标数据可以为一个完整的数据/文件,或者为完整的数据/文件中的一部分数据。比如,目标数据可以为用户终端单次需要从分布式存储系统10中读取的所有数据,这里的“所有数据”为客户端40单次获取到的总数据,通常为完整的数据/文件中的一部分数据。
上述的分片存储可理解为:若以存储节点为服务器举例(当然,存储节点还可以是上述的主机或其他电子设备),在以纠删码策略存储目标数据时,需要将目标数据分割为多个数据分片,其中一个数据分片作为主分片的数据(可称为主分片数据,或主数据分片,或简称为主分片),其余数据分片作为相应的从分片的数据(可称为从分片数据,或从数据分片,或简称为从分片),主分片、从分片通常存储在不同的服务器中。一个服务器中可以存储目标数据中的至少一个从分片,其存储的从分片的数量可以根据实际情况进行设置,比如,该数量可以为一个、两个、多个等。其中,目标存储节点为目标数据的主分片所在的服务器。主分片所在存储节点20可简称为存储节点20,从分片所在存储节点可以为存储节点31-35等节点。
在本实施例中,在以纠删码策略分布式地存储数据时,针对不同的数据/文件,同一个存储节点可以根据实际需求扮演相应的身份角色。例如,若文件A的主分片、文件B的一个从分片存储在同一个存储节点上,那么该存储节点即可以作为文件A的主分片所在存储节点,同时也可以作为文件B的从分片所在存储节点。
下面将对图1中所示的数据处理方法进行详细阐述:
步骤S210,存储节点20确定客户端40的当前读取数据与先前读取数据连续,并在预读数据存储区211查找当前读取数据;当前读取数据对应于客户端40的当前数据请求中的当前读取地址以及当前读取长度,先前读取数据对应于客户端40的先前数据请求中的先前读取地址以及先前读取长度。
存储节点20在获取到客户端40的读请求后,可以基于该读请求确定客户端40的当前读取数据与先前读取数据是否连续。
作为一种可选的实施方式,判断当前读取数据与先前读取数据是否连续的原理可以为:比如,对于一个连续读取任务(一个连续读取任务可理解为:客户端40连续多次从分布式存储系统10中连续读取以纠删码策略存储的同一个文件),客户端40需要多次接收存储节点20反馈的连续的数据以得到一个完整的文件。存储节点20从客户端40接收的读请求中可以携带偏移地址(Offset Address)和要读取的字节长度,偏移地址可理解为该读请求需要读取的数据的地址与文件起始地址的相对偏移量,若读请求中的偏移地址满足下面的公式,也就意味着当前读请求用于连续读。公式可以如下:
第i+1个读请求的偏移地址=第i个读请求的偏移地址+第i个读请求的读取长度
其中,i为大于或等于1的正整数。
步骤S220,存储节点20在预读数据存储区211查找当前读取数据。
在本实施例中,存储节点20在确定读请求为用于连续读取以纠删码策略存储的数据后,可以在预读数据存储区211查找该读请求对应的当前读取数据。预读数据存储区211可以为用于缓存数据的存储介质,比如为内存中的缓存区域,或者是专门的缓存模块。可理解地,相比于磁盘,在缓存区域中的数据能够更快速地被存储节点读取,以提升数据读取的效率。步骤S230,存储节点20在预读数据存储区211未查找到当前读取数据,向合成当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求。
在本实施例中,存储节点20确定在预读数据存储区211未查找到当前读取数据时,便向合成当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求。其中,每个第一分片预读并发请求包含与各个存储节点(存储节点31-35等节点)对应的当前读取地址、当前读取长度以及第一预读长度。
例如,在图2中,假设预读数据存储区211中没有存储当前读取数据,那么在预读数据存储区211查找当前读取数据时,便不会在该预读数据存储区211中查找到当前读取数据。此时,存储节点20便会向合成当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求,第一分片预读并发请求用于从存储节点31-35等节点读取出用于合成当前读取数据的从分片,以及需要预读的从分片。
在本实施例中,因为存储节点20在向存储节点31-35等节点下发第一分片预读并发请求时,该请求中包括了用于预读数据的当前读取地址、当前读取长度以及第一预读长度,所以存储节点31-35等节点在接收到该请求后,会将客户端40需要读取的数据的分片(从当前读取地址开始到当前读取长度为止的数据分片)及需要预读的分片(在当前读取长度对应的地址开始再读第一预读长度的数据分片)一并发送至存储节点20。基于此,客户端40无需单独针对预读的数据下发预读请求,存储节点31-35等节点也无需在发送完客户端40当前需要读取的数据后,再基于存储节点20下发的预读请求单独将预读数据的分片发送至存储节点20。
也就是说,存储节点20与存储节点31-35中的任一个存储节点之间,可以基于一次下发的第一分片预读并发请求获取到当前读取数据及第一预读数据中的部分数据。存储节点20存储的用于合成当前读取数据的主分片,以及用于合成第一预读数据的主分片、存储节点31-35等节点基于第一分片预读并发请求反馈的数据便为当前读取数据及第一预读数据的总和。因此,本实施例提供的方法能够使存储节点31-35等节点返回至存储节点20的数据中既包括客户端40本次需要读取的从分片也包括需要预读的从分片,无需单独为需要传输的从分片进行封装,降低了从分片在网络上的传输时间开销,从而能够改善预读数据性能因需要存储节点31-35等节点单独发送需要预读的从分片而使得整合成预读数据的耗时长、预读数据性能受限的技术问题。
作为一种可选的实施方式,存储节点20可以向存储有用于合成当前读取数据的从分片的存储节点发送第一分片预读并发请求,而无需向没有存储用于合成当前读取数据的从分片的存储节点发送该请求,基于此,有助于降低请求的传输量,降低网络开销。
步骤S240,存储节点20从从分片所在存储节点31-35等节点接收用于合成当前读取数据的各从分片以及合成第一预读数据的各从分片。
对于接收到第一分片预读并发请求的从分片所在存储节点(比如,存储节点31、存储节点32等),这类存储节点可以根据第一分片预读并发请求中携带的与该存储节点对应的当前读取地址、当前读取长度以及第一预读长度,读取存储在该存储节点上的用于合成当前读取数据所需的各从分片、以及用于合成第一预读数据所需的各从分片,然后将所读取的各从分片作为反馈数据发送至存储节点20,以使存储节点20能够接收到用于合成当前读取数据的各从分片以及合成第一预读数据的各从分片。
步骤S250,存储节点20读取本地存储的合成当前读取数据的主分片以及合成第一预读数据的主分片;基于合成当前读取数据的主分片和各从分片合成当前读取数据,基于合成第一预读数据的主分片和各从分片合成第一预读数据;在预读数据存储区211存储第一预读数据。
例如,在预读数据存储区211未查找当前读取数据时,存储节点20便读取自身存储的用于合成当前读取数据的主分片以及用于合成第一预读数据的主分片。
在本实施例中,存储节点20在接收到存储节点31-35等节点基于第一分片预读并发请求发送的用于合成当前读取数据的各从分片以及合成第一预读数据的各从分片后,还从自身的磁盘中读取用于合成当前读取数据的主数据分片和用于合成第一预读数据的预读主分片。存储节点20将用于合成当前读取数据的主数据分片和各从数据分片进行合成得到当前读取数据。存储节点20将用于合成预读数据的预读主分片各预读从分片合成得到第一预读数据。
在整合得到第一预读数据后,存储节点20可以将第一预读数据存储在预读数据存储区211中,以方便下次连续读时直接从预读数据存储区211中获取需要读取的数据,而无需从其他存储节点合成出需要读取的数据,从而有利于提高数据读取的效率。
步骤S260,存储节点20将当前读取数据发送至客户端40。
在整合得到当前读取数据后,存储节点20可以将当前读取数据通过通信模块发送至客户端40。基于此,在完成当前的读操作时,还执行了预读操作,无需再单独执行预读操作。
基于上述设计,存储节点20可以一次性地下发用于读取当前读取数据中的所有从分片、第一预读数据的从分片的第一分片预读并发请求,然后由相应的存储节点31-35等节点并发地将相应的从分片发送至存储节点20,有助于缩短数据分片汇总的时长,从而提高数据读取的效率,改善现有技术中因存储节点20将当前读取数据与第一预读数据分开读取使得数据汇总的耗时长、效率低的技术问题。
请参照图3,作为一种可选的实施方式,客户端40可以向存储节点20发送读请求。在步骤S210中,确定当前读取数据与先前读取数据连续的步骤可以为步骤S310:存储节点20可以从队列中确定当前处理的读请求要读取数据与队列中上一读请求要读取数据连续。
在本实施例中,客户端40在需要连续读取以纠删码策略存储在分布式存储系统10中的数据/文件时,客户端40可以生成用于连续读数据/文件的多个读请求,然后客户终端将读请求发送至分布式存储系统10中的存储节点20。多个读请求可以缓存在存储节点20的队列中,以便于存储节点20依次从队列中获取读请求并进行响应。其中,该读请求中可以包括用于读取数据的读取地址及读取长度。该读取地址可以为该读请求需要读取的数据的起始地址与文件起始地址的相对偏移量。
详细来说,从客户端40接收的读请求可以存储在存储节点20的队列中,假设存储节点20在准备处理队列中的当前请求时,可以从当前读请求中解析出当前偏移地址。存储节点20可以在队列中查询该客户端40的前一个读请求中携带的上一个偏移地址和读取字节长度(例如20字节)。存储节点20在上一个偏移地址的基础上加上20字节,得到一个新的偏移地址,然后将新的偏移地址和当前偏移地址进行比较,若二者相同,则表征当前读请求要读取的数据与队列中的上一个读请求要读取的数据连续。
在步骤S320中,存储节点20在预读数据存储区211中未查找中当前处理的读请求要读取的数据时,便执行步骤S330,也就是由存储节点20向存储节点31-35发送第一分片预读并发请求。
例如,在发往存储节点31的第一分片预读并发请求中,可以包括用于读取从数据分片B的读取地址及读取长度(比如20字节),用于读取预读从分片b的读取长度(比如20字节);在发往存储节点35的第一分片预读并发请求中,可以包括用于读取从数据分片F的读取地址及读取长度(比如20字节),用于读取预读从分片f的读取长度(比如20字节)。
存储节点31-35在接收到第一分片预读并发请求,便可以向存储节点返回相应的读取从数据分片及预读从数据分片。比如,存储节点31返回用于合成当前读取数据的从数据分片B和用于合成第一预读数据的预读从分片b,存储节点32返回用于合成当前读取数据的从数据分片C和用于合成第一预读数据的预读从分片c,存储节点33返回用于合成当前读取数据的从数据分片D和用于合成第一预读数据的预读从分片d,存储节点34返回用于合成当前读取数据的从数据分片E和用于合成第一预读数据的预读从分片e,存储节点35返回用于合成当前读取数据的从数据分片F和用于合成第一预读数据的预读从分片f。
在本实施例中,存储节点20在接收到存储节点31-35等节点基于第一分片预读并发请求发送的反馈数据后(比如,反馈数据包括从数据分片B、从数据分片C、从数据分片D、从数据分片E、从数据分片F及预读从分片b、预读从分片c、预读从分片d、预读从分片e、预读从分片f),可以将自身磁盘中已有的用于合成当前读取数据的主数据分片A和从数据分片B、从数据分片C、从数据分片D、从数据分片D和从数据分片F合成得到当前读取数据。存储节点20将自身磁盘中已有的用于合成预读数据的预读主分片a和预读从分片b、预读从分片c、预读从分片d、预读从分片e、预读从分片f合成得到第一预读数据。
其中,合成得到的当前读取数据可以由存储节点20发送至客户端40,合成得到的第一预读数据由存储节点20缓存在预读数据存储区211中。请参照图4,作为一种可选的实施方式,在步骤S230之前,该方法还可以包括步骤S410-S440,步骤的具体内容如下:
步骤S410,存储节点20确定在预读数据存储区211内查找到当前读取数据;
步骤S420,从预读数据存储区211中读取当前读取数据;
步骤S430,存储节点20从预读数据存储区211删除当前读取数据;
步骤S440,存储节点20向客户端40发送从预读数据存储区211中读取的当前读取数据。
在本实施例中,若存储节点20在预读数据存储区211查找到当前读取数据,此时,该存储节点也就无需再向其他存储节点发送第一分片预读并发请求。即,存储节点20直接从预读数据存储区211中读取当前读取数据,然后将当前数据发送至客户端40。基于此,因为存储节点20也就无需再向其他存储节点发送第一分片预读并发请求,是直接从预读数据存储区211中获取的当前读取数据,所以能够快速地实现数据的读取,使得当前读取数据能快速地被发送至客户端40,从而有助于提高数据传输的效率。
另外,存储节点20在向客户端40发送从预读数据存储区211中读取的当前读取数据之后,预读数据存储区211中的当前读取数据通常便为无用的数据,会浪费预读数据存储区211的存储空间,此时存储节点20可以从预读数据存储区211删除当前读取数据,能够为预读数据存储区211及时空出空间,优化了预读数据存储区211的剩余存储空间,方便继续缓存下次需要预读的数据。
请参照图5,作为一种可选的实施方式,在步骤S230之前,方法还可以包括步骤S510-S580,步骤的具体内容如下:
步骤S510,存储节点20在预读数据存储区211内查找到当前读取数据的部分数据;
步骤S520,存储节点20确定当前读取数据的剩余数据对应的剩余数据起始地址以及剩余数据读取长度;
步骤S530,存储节点20向合成剩余数据的各从分片的存储节点发送第二分片预读并发请求;其中,每个第二分片预读并发请求包含剩余数据起始地址、剩余数据读取长度、第二预读长度;
步骤S540,存储节点20接收合成剩余读取数据的各从分片以及合成第二预读数据的各从分片;
步骤S550,存储节点20读取本地存储的合成剩余数据的主分片以及合成第二预读数据的主分片;
步骤S560,存储节点20基于合成剩余数据的主分片和各从分片合成剩余数据,基于合成第二预读数据的主分片和各从分片合成第二预读数据;
步骤S570,存储节点20从预读数据存储区211删除部分数据,将第二预读数据存储于预读数据存储区211;
步骤S580,存储节点20将部分数据以及剩余数据发送至客户端40。
在本实施例中,存储节点20若在预读数据存储区211内查找到的数据仅为当前读取数据中的一部分数据(即,预读数据存储区211存储了不完整的当前读取数据),存储节点20可以基于预读数据存储区211内已有的这部分数据(指当前读取数据中的一部分数据)、上述的当前读取地址以及当前读取长度,确定当前读取数据的剩余数据对应的剩余数据起始地址以及剩余数据读取长度。
可理解地,在执行步骤520时,存储节点20在预读数据存储区211内查找到当前读取数据中的一部分数据后,可以基于已查找到的这部分数据的偏移地址、数据长度,并结合读请求中的当前读取地址、当前读取长度,便可以确定出当前读取数据的剩余数据的起始地址及剩余数据读取长度。例如,剩余数据的起始地址=已查找到的这部分数据的偏移地址+已查找到的这部分数据的数据长度。剩余数据读取长度=当前读取长度-已查找到的这部分数据的数据长度。然后存储节点20基于确定出的当前读取数据的剩余数据的起始地址及剩余数据读取长度,向存储节点31-35等节点发送第二分片预读并发请求。
其中,步骤S530-步骤S580的具体执行过程与图1中步骤S230-步骤S260相类似。区别在于,在执行步骤S570时,存储节点20可以从预读数据存储区211中删除部分数据,以及将合成的第二预读数据存储在该预读数据存储区211中,这里对步骤S530-步骤S580的具体执行过程不再赘述。
基于此,因为预读数据存储区211中存在当前读取数据的部分数据,所以对于这部分数据可以直接从预读数据存储区211获取到,而无需重复地从其他存储节点收集这部分数据。因此,这部分数据无需再经过网络传输,有助于缩短存储节点20获取到当前读取数据的所有数据分片的时长,降低网络负载,提升数据读取及预读的效率。
作为一种可选的实施方式,若在预读数据存储区211内能够查找到当前读取数据的部分数据,在步骤S230之前,方法还可以包括以下步骤:
第一步,存储节点20确定在预读数据存储区211内查找到当前读取数据的部分数据;
第二步,存储节点20确定部分数据的长度小于预定值(比如小于10字节),此时再执行图1中步骤230-260。
可理解地,在预读数据存储区211查找到当前读取数据中的部分数据时,且其数据长度小于预定值,也就意味着这部分数据较少,另外,存储节点20计算当前读取数据除去这部分数据之外的剩余数据本身也是一种处理负担,也就是说预读数据存储区211的这部分数据利用的综合成本较大(综合成本可以包括时间成本、运算成本)。因此,此时可以无需利用这部分数据,而直接以在预读数据存储区211未查找到当前读取数据的方式进行处理,从而节省运算开销。
作为一种可选的实施方式,在存储节点20将预读数据存储区211内查找到当前读取数据的部分数据的数据长度与预定值进行比较的过程中,若该数据长度大于或等于预定值,此时可以继续执行如图5所示的步骤S520-步骤S580。在其数据长度大于或等于预定值时,也就意味着这部分数据较大,虽然存储节点20计算当前读取数据除去这部分数据之外的剩余数据本身也是一种处理负担,但结合这部分数据在网络传输过程中的耗时、运算上述剩余数据分片的耗时进行判断其综合成本的大小。例如,若部分数据在网络传输过程中的耗时大于运算上述剩余数据分片的耗时,则认为综合成本较小,此时可以存储节点20可以利用预读数据存储区211内的这部分数据,并以图5所示的方式进行后续剩余数据的收集。
基于此,分布式存储系统10可以根据预读数据存储区211存储的当前读取数据的部分数据的数据长度灵活的选择数据处理策略,从而提升数据读取、数据传输的效率,降低数据处理的成本。
作为一种可选的实施方式,方法还可以包括:基于老化周期,删除预读数据存储区211内在设定时间内未被读取的数据。
在本实施例中,预读数据存储区211内在设定时间内未被读取的数据,通常为无用的数据或失效的数据,这类数据会浪费预读数据存储区211的存储空间,影响预读数据存储区211存储其他预读数据。此时,便需要从预读数据存储区211中删除这类数据,以扩大预读数据存储区211的剩余存储空间,能够为缓存其他预存数据提供更多的存储空间。其中,老化周期及设定时间可以根据实际情况进行灵活设置,这里不作具体限定。
在本实施例中,上述的第一预读长度、第二预读长度可以为设定长度,设定长度可以根据实际情况进行设置,第一预读长度、第二预读长度的设定长度可以相同,也可以不相同。另外,当前读取长度也可以根据实际情况进行设置,在客户端40执行一次连续读取任务的过程中(一次连续读取任务指该客户端40需要连续顺序地多次存储节点31-35等节点获取数据),客户端40每次接收的数据的数据长度可以相同,也可以不同,可以根据实际情况进行设置。
可选地,上述的设定长度大于或等于当前读取长度。基于此,在预读数据后,预读数据存储区211内的预读数据的数据长度会大于或等于客户终端下次读取的数据。因此,在客户端40下次获取数据时,存储节点20可以直接从预读数据存储区211内获取需要读取的数据,然后将获取的数据发送至客户端40。同时,存储节点20还可以进行数据预读,并预读的数据缓存在预读数据存储区211。基于此,因为客户端40在下次获取数据时,是直接从预读数据存储区211内获取的需要读取的数据,所以无需进行数据分片的收集,能够快速地将客户端40该次需要读取的数据发送至客户端40,缩短数据传输的时长,从而提升数据传输的效率。
请参照图6,本申请实施例还提供一种数据处理装置100。该数据处理装置100可以应用于上述的分布式存储系统10中,包括至少一个可以软件或固件(firmware)的形式存储于存储节点操作系统(operating system,OS)中的软件/硬件功能模块,用于执行或实现上述的数据处理方法。其中,数据处理装置100可以包括读取类型判断模块110、预读数据读取模块120、数据合成模块130、数据响应模块140。
读取类型判断模块110,用于确定客户端40的当前读取数据与先前读取数据连续;当前读取数据对应于客户端40的当前数据请求中的当前读取地址以及当前读取长度,先前读取数据对应于客户端40的先前数据请求中的先前读取地址以及先前读取长度。
预读数据读取模块120,用于基于当前读取数据在预读数据存储区211进行查找。
数据合成模块130,用于在预读数据读取模块120未查找到当前读取数据时,向合成当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;接收合成当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成当前读取数据的主分片以及合成第一预读数据的主分片,基于合成当前读取数据的主分片和各从分片合成当前读取数据,基于合成第一预读数据的主分片和各从分片合成第一预读数据;将第一预读数据存储于预读数据存储区211;其中,每个第一分片预读并发请求包含当前读取地址、当前读取长度以及第一预读长度。
数据响应模块140,用于向客户端40发送当前读取数据。
可选地,数据合成模块130还用于在预读数据读取模块120在预读数据存储区211内查找到当前读取数据时,从预读数据存储区211中读取当前读取数据,从预读数据存储区211删除当前读取数据。数据响应模块140,还用于向客户端40发送从预读数据存储区211中读取的当前读取数据。
可选地,数据合成模块130,还用于在预读数据读取模块120在预读数据存储区211内查找到当前读取数据的部分数据时,确定当前读取数据的剩余数据对应的剩余数据起始地址以及剩余数据读取长度,向合成剩余数据的各从分片的存储节点发送第二分片预读并发请求;接收合成剩余读取数据的各从分片以及合成第二预读数据的各从分片,读取本地存储的合成剩余数据的主分片以及合成第二预读数据的主分片;基于合成剩余数据的主分片和各从分片合成剩余数据,基于合成第二预读数据的主分片和各从分片合成第二预读数据,从预读数据存储区211删除部分数据,将第二预读数据存储于预读数据存储区211;其中,每个第二分片预读并发请求包含剩余数据起始地址、剩余数据读取长度、第二预读长度。数据响应模块140,用于将部分数据以及剩余数据发送至客户端40。
可选地,数据合成模块130,还用于在预读数据读取模块120在预读数据存储区211内查找到当前读取数据的部分数据时,确定部分数据的长度小于预定值,向合成当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;接收合成当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成当前读取数据的主分片以及合成第一预读数据的主分片,基于合成当前读取数据的主分片和各从分片合成当前读取数据,基于合成第一预读数据的主分片和各从分片合成第一预读数据,删除预读数据存储区211的部分数据;其中,每个第一分片预读并发请求包含当前读取地址、当前读取长度以及第一预读长度;数据响应模块140还用于将当前读取数据发送至客户端40。
可选地,数据处理装置100还可以包括删除模块。删除模块,用于基于老化周期,删除预读数据存储区211内在设定时间内未被读取的数据。
可选地,第一预读长度和第二预读长度为设定长度;或者,第一预读长度和第二预读长度大于或等于当前读取长度。
需要说明的是,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据处理装置100的具体工作过程,可以参考前述方法中的各步骤对应过程,在此不再过多赘述。
本申请实施例提供的存储节点(比如存储节点20、存储节点31、存储节点32等节点)可以包括相互耦合的磁盘、处理器、通信模块,磁盘内存储计算机程序,当计算机程序被处理器执行时,使得存储节点执行如上述实施例中所述的数据处理方法,其执行过程可参照上述实施例中对数据处理方法各步骤的详细描述,这里不再赘述。
其中,通信模块可以用于通过网络建立存储节点之间的通信连接,以实现数据交互。另外,通信模块还可以通过网络建立存储节点与客户端40之间的通信连接,以实现数据交互。磁盘还可以作为存储器存储当前数据的分片数据、预读数据的分片数据。
本申请实施例还提供一种计算机可读存储介质。可读存储介质中存储有计算机程序,当计算机程序在计算机上运行时,使得计算机执行如上述实施例中所述的数据处理方法,或者执行如上述实施例中所述的请求发送方法。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现,基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
综上所述,本申请实施例提供一种数据处理方法、装置及分布式存储系统。方法包括:确定客户端的当前读取数据与先前读取数据连续;当前读取数据对应于客户端的当前数据请求中的当前读取地址以及当前读取长度,先前读取数据对应于客户端的先前数据请求中的先前读取地址以及先前读取长度;在预读数据存储区查找当前读取数据;确定在预读数据存储区未查找到当前读取数据,向合成当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;其中,每个第一分片预读并发请求包含当前读取地址、当前读取长度以及第一预读长度;接收合成当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成当前读取数据的主分片以及合成第一预读数据的主分片;基于合成当前读取数据的主分片和各从分片合成当前读取数据,基于合成第一预读数据的主分片和各从分片合成第一预读数据;在预读数据存储区存储第一预读数据;发送当前读取数据至客户端。
存储节点在预读数据时,可以基于当前需要读取的数据及需要预读的数据向其他存储节点发送预读并发请求,从而使得其他存储节点能够根据预读并发请求返回的数据中能够包括当前需要读取的数据及需要预读的数据,基于此,在用户终端在连续顺序读取数据时,存储节点可以在读取当前需要发送至用户终端的数据的同时,还能将预读的数据进行缓存,无需用户终端单独为预读数据下发预读请求,能够改善单独下发预读请求使得数据分片在网络上的传输的网络时延长、预读受限的技术问题。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种数据处理方法,应用于分布式存储系统,其特征在于,所述方法包括:
确定客户端的当前读取数据与先前读取数据连续;所述当前读取数据对应于所述客户端的当前数据请求中的当前读取地址以及当前读取长度,所述先前读取数据对应于所述客户端的先前数据请求中的先前读取地址以及先前读取长度;
在预读数据存储区查找所述当前读取数据;
确定在所述预读数据存储区未查找到所述当前读取数据,向合成所述当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;其中,每个第一分片预读并发请求包含所述当前读取地址、所述当前读取长度以及第一预读长度;
接收合成所述当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成所述当前读取数据的主分片以及合成第一预读数据的主分片;基于合成所述当前读取数据的主分片和各从分片合成所述当前读取数据,基于合成所述第一预读数据的主分片和各从分片合成所述第一预读数据;在所述预读数据存储区存储所述第一预读数据;
发送所述当前读取数据至所述客户端。
2.根据权利要求1所述的方法,其特征在于,确定在所述预读数据存储区未查找到所述当前读取数据之前,所述方法包括:
确定在所述预读数据存储区内查找到所述当前读取数据;
从所述预读数据存储区中读取所述当前读取数据;
从所述预读数据存储区删除所述当前读取数据;
向所述客户端发送从所述预读数据存储区中读取的所述当前读取数据。
3.根据权利要求1所述的方法,其特征在于,确定在所述预读数据存储区未查找到所述当前读取数据之前,所述方法包括:
确定在预读数据存储区内查找到所述当前读取数据的部分数据;
确定所述当前读取数据的剩余数据对应的剩余数据起始地址以及剩余数据读取长度;
向合成所述剩余数据的各从分片的存储节点发送第二分片预读并发请求;其中,每个第二分片预读并发请求包含所述剩余数据起始地址、所述剩余数据读取长度、第二预读长度;
接收合成剩余读取数据的各从分片以及合成第二预读数据的各从分片;
读取本地存储的合成所述剩余数据的主分片以及合成第二预读数据的主分片;
基于合成所述剩余数据的主分片和各从分片合成所述剩余数据,基于合成所述第二预读数据的主分片和各从分片合成所述第二预读数据;
从所述预读数据存储区删除所述部分数据,将所述第二预读数据存储于所述预读数据存储区;
将所述部分数据以及所述剩余数据发送至所述客户端。
4.根据权利要求1所述的方法,其特征在于,确定在所述预读数据存储区未查找到所述当前读取数据之前,所述方法包括:
确定在预读数据存储区内查找到所述当前读取数据的部分数据;
确定所述部分数据的长度小于预定值,向合成所述当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;其中,每个第一分片预读并发请求包含所述当前读取地址、所述当前读取长度以及第一预读长度;
接收合成所述当前读取数据的各从分片以及合成第一预读数据的各从分片;
读取本地存储的合成所述当前读取数据的主分片以及合成第一预读数据的主分片;
基于合成所述当前读取数据的主分片和各从分片合成所述当前读取数据,基于合成所述第一预读数据的主分片和各从分片合成所述第一预读数据;
从所述预读数据存储区删除所述部分数据;
在所述预读数据存储区存储所述第一预读数据;
将所述当前读取数据发送至所述客户端。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于老化周期,删除所述预读数据存储区内在设定时间内未被读取的数据。
6.根据权利要求1-4任意一项权利要求所述的方法,其特征在于,
所述第一预读长度和第二预读长度为设定长度,所述设定长度大于所述当前读取长度;或者,
所述第一预读长度和所述第二预读长度等于所述当前读取长度。
7.一种数据处理装置,应用于分布式存储系统,其特征在于,所述装置包括:
读取类型判断模块,用于确定客户端的当前读取数据与先前读取数据连续;所述当前读取数据对应于所述客户端的当前数据请求中的当前读取地址以及当前读取长度,所述先前读取数据对应于所述客户端的先前数据请求中的先前读取地址以及先前读取长度;
预读数据读取模块,用于基于所述当前读取数据在预读数据存储区进行查找;
数据合成模块,用于在所述预读数据读取模块未查找到所述当前读取数据时,向合成所述当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;接收合成所述当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成所述当前读取数据的主分片以及合成第一预读数据的主分片,基于合成所述当前读取数据的主分片和各从分片合成所述当前读取数据,基于合成所述第一预读数据的主分片和各从分片合成所述第一预读数据;将所述第一预读数据存储于所述预读数据存储区;其中,每个第一分片预读并发请求包含所述当前读取地址、所述当前读取长度以及第一预读长度;
数据响应模块,用于向所述客户端发送所述当前读取数据。
8.根据权利要求7所述的装置,其特征在于,所述数据合成模块还用于在所述预读数据读取模块在所述预读数据存储区内查找到所述当前读取数据时,从所述预读数据存储区中读取所述当前读取数据,从所述预读数据存储区删除所述当前读取数据;
所述数据响应模块,还用于向所述客户端发送从所述预读数据存储区中读取的所述当前读取数据。
9.根据权利要求7所述的装置,其特征在于,
所述数据合成模块,还用于在所述预读数据读取模块在所述预读数据存储区内查找到所述当前读取数据的部分数据时,确定所述当前读取数据的剩余数据对应的剩余数据起始地址以及剩余数据读取长度,向合成所述剩余数据的各从分片的存储节点发送第二分片预读并发请求;接收合成剩余读取数据的各从分片以及合成第二预读数据的各从分片,读取本地存储的合成所述剩余数据的主分片以及合成第二预读数据的主分片;基于合成所述剩余数据的主分片和各从分片合成所述剩余数据,基于合成所述第二预读数据的主分片和各从分片合成所述第二预读数据,从所述预读数据存储区删除所述部分数据,将所述第二预读数据存储于所述预读数据存储区;其中,每个第二分片预读并发请求包含所述剩余数据起始地址、所述剩余数据读取长度、第二预读长度;
所述数据响应模块,用于将所述部分数据以及所述剩余数据发送至所述客户端。
10.根据权利要求7所述的装置,其特征在于,
所述数据合成模块,还用于在所述预读数据读取模块在预读数据存储区内查找到所述当前读取数据的部分数据时,确定所述部分数据的长度小于预定值,向合成所述当前读取数据所需的各从分片的存储节点发送第一分片预读并发请求;接收合成所述当前读取数据的各从分片以及合成第一预读数据的各从分片,读取本地存储的合成所述当前读取数据的主分片以及合成第一预读数据的主分片,基于合成所述当前读取数据的主分片和各从分片合成所述当前读取数据,基于合成所述第一预读数据的主分片和各从分片合成所述第一预读数据,删除所述预读数据存储区的所述部分数据;其中,每个第一分片预读并发请求包含所述当前读取地址、所述当前读取长度以及第一预读长度;
所述数据响应模块还用于将所述当前读取数据发送至所述客户端。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:删除模块,用于基于老化周期,删除所述预读数据存储区内在设定时间内未被读取的数据。
12.根据权利要求7-10任意一项权利要求所述的装置,其特征在于,
所述第一预读长度和第二预读长度为设定长度;或者,
所述第一预读长度和所述第二预读长度大于或等于所述当前读取长度。
13.一种分布式存储系统,其特征在于,包括用于分别存储主分片数据、从分片数据的多个存储节点,所述存储节点包括相互耦合的存储器、处理器、通信模块,所述存储器内存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述存储节点执行如权利要求1-6中任一项所述的数据处理方法。
14.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如权利要求1-6中任意一项所述的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910256387.XA CN109992209B (zh) | 2019-03-29 | 2019-03-29 | 数据处理方法、装置及分布式存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910256387.XA CN109992209B (zh) | 2019-03-29 | 2019-03-29 | 数据处理方法、装置及分布式存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109992209A CN109992209A (zh) | 2019-07-09 |
CN109992209B true CN109992209B (zh) | 2023-02-03 |
Family
ID=67131992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910256387.XA Active CN109992209B (zh) | 2019-03-29 | 2019-03-29 | 数据处理方法、装置及分布式存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992209B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930307B (zh) * | 2020-07-30 | 2022-06-17 | 北京浪潮数据技术有限公司 | 一种数据读取方法、装置、设备及计算机可读存储介质 |
CN114237518B (zh) * | 2022-02-22 | 2022-05-24 | 苏州浪潮智能科技有限公司 | 一种数据读取方法、系统、装置及终端 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07334310A (ja) * | 1994-06-06 | 1995-12-22 | Toshiba Corp | ディスク装置及び同装置における読み出しデータのバッファ記憶制御方法 |
US20030041214A1 (en) * | 2001-07-27 | 2003-02-27 | Fujitsu Limited | Cache control methods and apparatus for hard disk drives |
JP4207556B2 (ja) * | 2002-12-18 | 2009-01-14 | ソニー株式会社 | 再生装置および方法、並びにプログラム |
JP4915774B2 (ja) * | 2006-03-15 | 2012-04-11 | 株式会社日立製作所 | ストレージシステム及びストレージシステムの制御方法 |
JP5060081B2 (ja) * | 2006-08-09 | 2012-10-31 | 富士通株式会社 | フレームを暗号化して中継する中継装置 |
CN101510223B (zh) * | 2009-04-03 | 2012-04-25 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法和系统 |
CN103150278B (zh) * | 2013-03-05 | 2014-03-05 | 中国人民解放军国防科学技术大学 | 基于pio和dma混合的网络接口卡描述符提交方法 |
US10078472B2 (en) * | 2015-02-27 | 2018-09-18 | International Business Machines Corporation | Rebuilding encoded data slices in a dispersed storage network |
CN105260136B (zh) * | 2015-09-24 | 2019-04-05 | 北京百度网讯科技有限公司 | 数据读写方法及分布式存储系统 |
US10078458B1 (en) * | 2016-03-31 | 2018-09-18 | EMC IP Holding Company LLC | Method and system for adaptively migrating data in solid state memory |
US10191808B2 (en) * | 2016-08-04 | 2019-01-29 | Qualcomm Incorporated | Systems and methods for storing, maintaining, and accessing objects in storage system clusters |
CA2987731C (en) * | 2016-12-05 | 2023-10-17 | Idera, Inc. | Database memory monitoring and defragmentation of database indexes |
CN108206839B (zh) * | 2016-12-16 | 2020-02-07 | 贵州白山云科技股份有限公司 | 一种基于多数派数据存储方法、装置及系统 |
CN108958667A (zh) * | 2018-08-15 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种基于分布式存储系统的数据读取方法、系统及装置 |
CN109284073B (zh) * | 2018-09-30 | 2020-03-06 | 北京金山云网络技术有限公司 | 数据存储方法、装置、系统、服务器、控制节点及介质 |
-
2019
- 2019-03-29 CN CN201910256387.XA patent/CN109992209B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109992209A (zh) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10747951B2 (en) | Webpage template generating method and server | |
US20130339472A1 (en) | Methods and systems for notifying a server with cache information and for serving resources based on it | |
CN110401724B (zh) | 文件管理方法、文件传输协议服务器及存储介质 | |
CN107197359B (zh) | 视频文件缓存方法及装置 | |
CN109992209B (zh) | 数据处理方法、装置及分布式存储系统 | |
WO2020108544A1 (zh) | 同步缓存数据的方法、装置和系统 | |
US11799961B2 (en) | File directory traversal method, apparatus, device, and medium | |
CN108540510B (zh) | 一种云主机创建方法、装置及云服务系统 | |
CN113032335A (zh) | 文件访问方法、装置、设备及存储介质 | |
WO2013078797A1 (zh) | 网络文件传输方法及系统 | |
CN110825330A (zh) | 一种基于文件分片的云打印方法、打印云盒、系统和存储介质 | |
CN107665235B (zh) | 缓存处理方法、装置、计算机设备和存储介质 | |
CN114817232A (zh) | 访问数据的方法及装置 | |
US8549274B2 (en) | Distributive cache accessing device and method for accelerating to boot remote diskless computers | |
CN115981575A (zh) | 一种分布式网络数据的销毁方法、系统、装置及存储介质 | |
CN101247405A (zh) | 计算下载时间及资源下载的方法、系统及装置 | |
US11206302B2 (en) | Method and device for feeding back a resource file | |
CN107491565B (zh) | 一种数据同步方法 | |
WO2023045492A1 (zh) | 一种数据预取方法、计算节点和存储系统 | |
CN109697136B (zh) | 一种数据恢复方法、装置及系统 | |
JP2018511131A (ja) | オンライン媒体のための階層的なコストベースのキャッシング | |
KR102235622B1 (ko) | IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치 | |
CN110795157A (zh) | 一种使用有限缓存提升无盘工作站开机速度的方法 | |
CN112416871B (zh) | 一种数据访问的方法、装置及系统 | |
CN113342277B (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 |