CN113296710A - 一种云存储数据读取方法、装置、电子设备及存储介质 - Google Patents
一种云存储数据读取方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113296710A CN113296710A CN202110650031.1A CN202110650031A CN113296710A CN 113296710 A CN113296710 A CN 113296710A CN 202110650031 A CN202110650031 A CN 202110650031A CN 113296710 A CN113296710 A CN 113296710A
- Authority
- CN
- China
- Prior art keywords
- cloud
- block number
- cache
- storage
- data
- 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.)
- Granted
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种云存储数据读取方法、装置、电子设备及存储介质,方法包括:当接收到用户端发送的数据读取请求时,提取数据读取请求中的存储块号;判断云端高速缓存设备中是否存有存储块号;云端高速缓存设备中缓存有用户端历史读取的数据;若云端高速缓存设备中存有存储块号,则将存储块号在云端高速缓存设备中对应的数据发送至用户端;若云端高速缓存设备中未存有存储块号,则将存储块号在云端存储设备中对应的数据发送至用户端。在本方法中采用云端高速缓存设备来对用户历史读取的数据进行缓存,由于云端高速缓存设备具备读取速度快及读取延时低的好处,因此本方法可利用云端高速缓存设备有效提升用户端在云存储中读取数据的速度。
Description
技术领域
本发明涉及云存储领域,特别涉及一种云存储数据读取方法、装置、电子设备及存储介质。
背景技术
随着云计算等技术的不断发展,云存储由于具备存储空间大、资源获取方便等优势,在各行各业的应用逐渐扩大。然而,由于用户端采用网络传输的方式获取云存储中的数据,因此在相关技术中,云存储存在数据读取速度慢以及数据读取延迟高的问题。因此,如何降低云存储对数据读取的延迟影响,是本领域技术人员所要面对的技术问题。
发明内容
本发明的目的是提供一种云存储数据读取方法、装置、电子设备及存储介质,可采用云端高速缓存设备来对用户历史读取的数据进行缓存,由于云进而可利用云端高速缓存设备提升用户端在云存储中读取数据的速度。
为解决上述技术问题,本发明提供一种云存储数据读取方法,包括:
当接收到用户端发送的数据读取请求时,提取所述数据读取请求中的存储块号;
判断云端高速缓存设备中是否存有所述存储块号;所述云端高速缓存设备中缓存有所述用户端历史读取的数据;
若所述云端高速缓存设备中存有所述存储块号,则将所述存储块号在所述云端高速缓存设备中对应的数据发送至所述用户端;
若所述云端高速缓存设备中未存有所述存储块号,则将所述存储块号在云端存储设备中对应的数据发送至所述用户端。
可选地,在将所述存储块号在云端存储设备中对应的数据发送至所述用户端之后,还包括:
将所述存储块号更新至监控行为中;
若所述监控行为中的存储块号数量等于第一预设数量,则计算监控行为与历史行为的第一重合度;所述历史行为中包含有所述用户端历史读取的存储块号;
当所述第一重合度大于第一预设阈值时,则将所述历史行为中包含的存储块号在所述云端存储设备中对应的数据更新至所述云端高速缓存设备。
可选地,所述将所述历史行为中包含的存储块号在所述云端存储设备中对应的数据更新至所述云端高速缓存设备,包括:
获取所述云端高速缓存设备中的高速缓存块的缓存块号;
将所述缓存块号与所述历史行为中包含的存储块号建立对应关系,并根据所述对应关系将所述数据更新至所述云端高速缓存设备;
相应的,所述判断云端高速缓存设备中是否存有所述存储块号,包括:
判断云端高速缓存设备中是否存有与所述存储块号对应的缓存块号;
若是,则确定所述云端高速缓存设备中存有所述存储块号;
若否,则确定所述云端高速缓存设备中未存有所述存储块号。
可选地,在接收到用户端发送的数据读取请求之前,还包括:
获取所述云端高速缓存设备的总容量及所述云端存储块的存储块的块容量;
利用所述总容量及所述块容量计算缓存数量,在所述云端高速缓存设备中设置所述缓存数量的高速缓存块,并为所述高速缓存块设置所述缓存块号。
可选地,在将所述缓存块号与所述历史行为中包含的存储块号建立对应关系之前,还包括:
判断所述高速缓存块是否空闲;
若是,则执行将所述缓存块号与所述历史行为中包含的存储块号建立对应关系的步骤;
若否,则利用缓存淘汰算法将非空闲的高速缓存块设置为空闲的高速缓存块,并利用所述空闲的高速缓存块的缓存块号,执行所述将所述缓存块号与所述历史行为中包含的存储块号建立对应关系的步骤。
可选地,在将所述存储块号更新至监控行为中之后,还包括:
记录接收到下一数据读取请求的等待时间;
当所述等待时间大于第二预设阈值时,则计算监控行为与历史行为的第二重合度;
当所述第二重合度大于第三预设阈值时,利用所述监控行为更新所述历史行为;
当所述第二重合度小于等于所述第三预设阈值时,则将所述监控行为设置为新的历史行为。
可选地,在将所述存储块号更新至监控行为之前,还包括:
判断接收到所述数据读取请求对应的等待时间是否大于所述第二预设阈值;
若否,则执行所述将所述存储块号更新至监控行为中的步骤;
若是,则创建新的监控行为,并利用所述新的监控行为执行所述将所述存储块号更新至监控行为中的步骤。
本发明还提供一种云存储数据读取装置,包括:
块号提取模块,用于当接收到用户端发送的数据读取请求时,提取所述数据读取请求中的存储块号;
判断模块,用于判断云端高速缓存设备中是否存有所述存储块号;所述云端高速缓存设备中缓存有所述用户端历史读取的数据;
第一发送模块,用于若所述云端高速缓存设备中存有所述存储块号,则将所述存储块号在所述云端高速缓存设备中对应的数据发送至所述用户端;
第二发送模块,用于若所述云端高速缓存设备中未存有所述存储块号,则将所述存储块号在云端存储设备中对应的数据发送至所述用户端。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的云存储数据读取方法。
本发明还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的云存储数据读取方法。
本发明提供一种云存储数据读取方法,包括:当接收到用户端发送的数据读取请求时,提取所述数据读取请求中的存储块号;判断云端高速缓存设备中是否存有所述存储块号;所述云端高速缓存设备中缓存有所述用户端历史读取的数据;若所述云端高速缓存设备中存有所述存储块号,则将所述存储块号在所述云端高速缓存设备中对应的数据发送至所述用户端;若所述云端高速缓存设备中未存有所述存储块号,则将所述存储块号在云端存储设备中对应的数据发送至所述用户端。
可见,在本方法中首先云端高速缓存设备来对用户历史读取的数据进行缓存,由于云端高速缓存设备具备读取速度快及读取延时低的好处,因此在本方法中,采用云端高速缓存设备可有效提升用户端在云存储中读取数据的速度,进而达到提升读取速度并降低时延的效果;同时,由于本方法中的云端高速缓存设备缓存的数据为用户历史读取的数据,针对性地对用户常用的数据进行缓存,因此当用户再次读取这些数据时,云端便无需再次从云端存储设备中读取相应数据并发送,而可直接从云端高速缓存设备中读取相应数据并发送,可有效提升用户读取常用数据的读取速度并降低读取时延,进而可有效提升用户的使用体验。本发明还提供一种云存储数据读取装置、电子设备及存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种云存储数据读取方法的流程图;
图2为本发明实施例所提供的一种云存储数据读取装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,云存储存在数据读取速度慢以及数据读取延迟高的问题。因此,如何降低云存储对数据读取的延迟影响,是本领域技术人员所要面对的技术问题。有鉴于此,本发明提供一种云存储数据读取方法,可采用云端高速缓存设备来对用户历史读取的数据进行缓存,由于云进而可利用云端高速缓存设备提升用户端在云存储中读取数据的速度。请参考图1,图1为本发明实施例所提供的一种云存储数据读取方法的流程图,该方法可以包括:
S101、当接收到用户端发送的数据读取请求时,提取数据读取请求中的存储块号。
可以理解的是,数据读取请求用于读取云端存储设备中的数据。在本发明实施例中,用户端采用读取存储块的方式读取数据,具体的,利用存储块号告知云端存储设备用户端所需的数据。需要说明的是,本发明实施例并不限定数据存储请求及存储块号的具体形式,可参考计算机存储的相关技术。可以理解的是,数据读取请求封装至网络数据包中进行传输。本发明实施例并不限定数据读取请求的封装及发送方式,具体可参考云存储的相关技术。
S102、判断云端高速缓存设备中是否存有存储块号;云端高速缓存设备中缓存有用户端历史读取的数据。
在本发明实施例中,采用云端高速缓存设备作为云端存储设备的高速缓存,并利用云端高速缓存设备对用户经常访问的数据进行缓存,以缓解云端存储设备的读取压力,并提升数据读取速度。
需要说明的是,本发明实施例并不限定具体的云端高速缓存设备,可参考云端存储设备的相关技术。本发明实施例也不限定云端高速缓存设备的存储容量及读写速度,可根据实际应用需求进行设置。进一步,可以理解的是,可采用多个云端高速缓存设备组成缓存集群或是缓存阵列,而当多个云端高速缓存设备组成缓存集群或是缓存阵列时,为了方便管理,可将云端高速缓存设备中的存储页号或是存储块号以链表的形式连接,并为每个存储页号或是存储块号按次序设置独立的标号,这样便可依照标号在多个缓存设备中快速查找具体的缓存空间页号或是缓存块号。需要说明的是,本发明实施例并不限定缓存集群或是缓存阵列中可包含的云端高速缓存设备的数量,可根据实际应用需求进行设置;本发明也不限定链表及标号的具体设置方式,可参考计算机存储的相关技术;本发明实施例也不限定缓存集群或是缓存阵列的设置方法,具体可参考磁盘阵列及集群存储的相关技术。
进一步,可以理解的是,每个用户端均在云端存储设备中拥有特定容量的存储空间,在本发明实施例中将该存储空间称为用户空间。需要说明的是,本发明实施例并不限定用户空间与云端高速缓存设备之间的对应关系,例如可以为一个云端高速缓存设备专门负责一个用户空间的缓存任务,也可以是一个云端高速缓存设备负责多个用户空间的缓存任务;当多个云端高速缓存设备组成一个缓存集群或是一个缓存阵列时,也可以有一个缓存集群或是缓存阵列负责一个或多个用户空间的缓存任务,具体可根据实际应用需求进行设置。
进一步,可以理解的是,由于数据读取请求用于向云端存储设备中读取数据,而云端高速缓存设备用于缓存云端存储设备的数据,因此为了利用云端高速缓存设备处理数据读取请求的读取操作,在缓存数据的同时,云端高速缓存设备也应当存储有对应的存储块号。需要说明的是,本发明实施例并不限定云端高速缓存设备保存存储块号的具体方式,例如可以在保存数据的同时,在数据段前部或是尾部保存该存储块号,也可以在云端高速缓存设备中设置单独的存储空间,用于保存该存储块号;当然,若云端高速缓存设备采用链表及标号的方式管理缓存空间页号或缓存块号,也可以设置单独的存管理空间,并在缓存数据的同时,建立标号与存储页号的对应关系,最后将该对应关系存储于该管理空间中。考虑到链表及标号的方式可高效管理云端高速缓存设备的缓存空间,同时利用对应关系也可更加方便且高效地在云端高速缓存设备中查找特定位置的数据,因此在本发明实施例中,具体的,可在云端高速缓存设备设置预设数量的高速缓存块,并为高速缓存块设置缓存块号,最后将缓存块号保存至链表进行管理;在向云端高速缓存设备中缓存数据时,可建立缓存块号与存储块号的对应关系,并同样使用链表保存并管理该对应关系。需要说明的是,本发明实施例并不限定高速缓存块的块容量,可根据实际应用需求进行设置。可以理解的是,高速缓存块可与云端存储设备中存储块设置为相同的容量。本发明实施例也不限定高速缓存块的数量,同样可根据实际应用需求进行设置。可以理解的是,可利用云端高速缓存设备的总容量与高速缓存块的块容量相除,得到高速缓存块的数量。最后,需要说明的是,当一个云端高速缓存设备对多个用户空间进行缓存时,多个用户空间的缓存数据可混合存储,例如当云端高速缓存设备中拥有高速缓存块1、高速缓存块2、高速缓存块3和高速缓存块4,而用户空间有用户A和用户B,此时用户A、B均可使用上述任意的高速缓存块进行缓存,例如用户A采用高速缓存块1、3、4进行缓存,而用户B采用高速缓存块2进行缓存。由于每个用户块设备都独立维护自己的缓存,也就是说一个用户的高速缓存块加载或淘汰不会影响到另一个用户的高速缓存块。当然,为了有效管理用户空间所使用的高速缓存块,可为每个用户空间设置专门的缓存管理,以管理对应关系及淘汰高速缓存块。
S103、若云端高速缓存设备中存有存储块号,则将存储块号在云端高速缓存设备中对应的数据发送至用户端。
可以理解的是,若云端高速缓存设备中存有存储块号,则说明云端高速缓存中缓存有用户端所需的数据,此时仅需将存储块号在云端高速缓存中对应的数据发送至用户端即可。同样可以理解的是,当云端高速缓存设备采用将缓存块号与存储块号建立对应关系,并依照该对应关系存储云端存储设备的数据时,也可以查找存储块号对应的缓存块号,并将该缓存块号在云端高速缓存设备中对应的数据发送至用户端。
S104、若云端高速缓存设备中未存有存储块号,则将存储块号在云端存储设备中对应的数据发送至用户端。
可以理解的是,当云端高速缓存设备中为存有存储块号,则说明云端高速缓存设备中并未缓存相应的数据,此时则需要铜云端存储设备中读取对应的数据。
最后,可以理解的是,云端高速缓存设备中的数据需要更新,以适应用户的读取需求。本发明实施例并不限定更新缓存设备的具体方式,例如可以是记录用户当前读取的存储块号,并将该存储块号附近预设数量的存储块号对应的数据缓存至云端高速缓存设备;也可以将用户端历史读取的存储块号记录至历史行为,并将用户端当前读取的存储块号记录至监控行为,若监控行为与历史行为的相似度符合预设阈值要求,则将历史行为中的存储块号对应的数据缓存至云端高速缓存设备。考虑到用户可能经常访问一些数据,同时用户可能读取不连续的多个数据,因此采用记录历史行为及当前行为,并依照当前行为与历史行为的相似度进行数据缓存较为准确,在本发明实施例中,可以将用户端历史读取的存储块号记录至历史行为,并将用户端当前读取的存储块号记录至监控行为,若监控行为与历史行为的相似度符合预设阈值要求,则将历史行为中的存储块号对应的数据缓存至云端高速缓存设备。
基于上述实施例,在本方法中首先云端高速缓存设备来对用户历史读取的数据进行缓存,由于云端高速缓存设备具备读取速度快及读取延时低的好处,因此在本方法中,采用云端高速缓存设备可有效提升用户端在云存储中读取数据的速度,进而达到提升读取速度并降低时延的效果;同时,由于本方法中的云端高速缓存设备缓存的数据为用户历史读取的数据,针对性地对用户常用的数据进行缓存,因此当用户再次读取这些数据时,云端便无需再次从云端存储设备中读取相应数据并发送,而可直接从云端高速缓存设备中读取相应数据并发送,可有效提升用户读取常用数据的读取速度并降低读取时延,进而可有效提升用户的使用体验。
基于上述实施例,下面对本发明实施例中的云端高速缓存设备进行缓存更新的过程进行介绍,在一种可能的情况中,在将存储块号在云端存储设备中对应的数据发送至用户端之后,还可以包括:
S201、将存储块号更新至监控行为中。
需要说明的是,监控行为中包含有用户近期访问的若干存储块号。本发明实施例并不限定监控行为可容纳的存储块号数量,可根据实际应用需求进行设置。
进一步,可以理解的是,当用户端的数据读取行为出现某种特征,或是用户端的数据读取请求数量到达某一阈值时,监控行为将被设置为历史行为。需要说明的是,本发明实施例并不限定将监控行为设置为历史行为的实际,例如可以为监控行为中包含的存储块号数量到达第一预设阈值,也可以是监控行为中最早接收到的数据读取请求与最晚接收到数据读取请求之间的时间间隔到达第二预设阈值,当然也可以是相邻两次数据读取请求的接收时间间隔大于第三预设阈值。考虑到用户端通常会连续地进行数据读取,而且在连续读取时,相邻两次数据读取请求的接收时间间隔较短,因此利用相邻两次数据读取请求的接收时间间隔确定用户是否停止数据读取较为准确,可利用该接收时间间隔区分历史行为及监控行为。
在一种可能的情况中,在将存储块号更新至监控行为中之后,还可以包括:
步骤11:记录接收到下一数据读取请求的等待时间。
步骤12:当等待时间大于第二预设阈值时,则计算监控行为与历史行为的第二重合度。
需要说明的是,本发明实施例并不限定第二预设阈值的具体数值,可根据实际应用需求进行设置。可以理解的是,当等待时间大于第二预设阈值时,则说明用户连续的数据读取已停止,此时便可将监控行为设置为历史行为。同样可以理解的是,由于用户的数据读取行为可能较为相似,因此可计算监控行为与历史行为的第二重合度,当第二重合度大于预设阈值时,便可利用监控行为对历史行为进行更新。
进一步,需要说明的是,本发明实施例并不限定重合度的计算方式,例如可以计算两行为均存有的存储块号与监控行为所包含的所有存储块号的比值,也可以计算两行为均存有的存储块号与历史行为所包含的所有存储块号的比值,可根据实际应用需求进行设置。
步骤13:当第二重合度大于第三预设阈值时,利用监控行为更新历史行为;
需要说明的是,本发明实施例并不限定第三预设阈值的具体数值,可根据实际应用需求进行设置。
步骤14:当第二重合度小于等于第三预设阈值时,则将监控行为设置为新的历史行为。
需要说明的是,本发明实施例并不限定能够记录的历史行为数量,可根据实际应用需求进行设置。可以理解的是,当历史行为数量到达某一预设上限时,应当对历史行为进行淘汰。本发明实施例并不限定淘汰历史行为的方式,例如可以随机淘汰历史行为,当然也可以为历史行为设置权重值,当历史行为被更新时,则增加被更新的历史行为的权重值;当需要进行历史行为淘汰时,则将权重值最低的历史行为进行淘汰。
进一步,可以理解的是,当等待时间大于第二预设阈值之后,监控行为便被设置为历史行为,因此在接收到下一数据读取请求时,便应当创建新的监控行为,以记录用户端当前读取的存储块号。
在一种可能的情况中,在将存储块号更新至监控行为之前,还包括:
步骤21:判断接收到数据读取请求对应的等待时间是否大于第二预设阈值;若否,则进入步骤22;若是,则进入步骤23;
步骤22:执行将存储块号更新至监控行为中的步骤;
步骤23:创建新的监控行为,并利用新的监控行为执行将存储块号更新至监控行为中的步骤。
S202、若监控行为中的存储块号数量等于第一预设数量,则计算监控行为与历史行为的第一重合度;历史行为中包含有用户端历史读取的存储块号。
在本发明实施例中,当监控行为中的存储块号数量等于第一预设数量时,则触发缓存更新事件。换句话说,当监控行为中的存储块号数量等于第一预设数量,则需要利用监控行为中的存储块号预测用户端即将访问的存储块块号。在本发明实施例中,通过计算监控行为与历史行为的第一重合度,并将第一重合度与预设阈值进行比较的方式,确定与监控行为相似的历史行为,进而可将历史行为对应的数据进行存储。需要说明的是,本发明实施例对第一重合度的限定描述,与对第二重合度的限定描述一致,此处不再赘述。本发明实施例也不限定第一预设数量的具体数值,可根据实际应用需求进行设置。
S203、当第一重合度大于第一预设阈值时,则将历史行为中包含的存储块号在云端存储设备中对应的数据更新至云端高速缓存设备。
当第一重合度大于第一预设阈值时,则说明监控行为与历史行为接近,此时便可将历史行为对应的数据更新至云端高速缓存。需要说明的是,本发明实施例并不限定将数据更新至云端高速缓存设备的具体方式,例如当云端高速存储设备仅依照存储块号进行数据缓存时,可直接将存储块号及数据按照顺序进行存储;当然,若云端高速缓存设备设置有若干高速缓存块,且每个高速缓存块设置有单独的缓存块号时,此时也可建立缓存块号与存储块号的对应关系,并依照该对应关系进行数据缓存。考虑到建立缓存块号与存储块号,并依照对应关系进行数据缓存有利于数据管理及读取,因此在本发明实施例中,可在云端高速缓存设备中设置若干高速缓存块,为每个高速缓存块设置单独的缓存块号,并在数据缓存时建立缓存块号与存储块号的对应关系,最后依照该对应关系进行数据缓存
在一种可能的情况中,将历史行为中包含的存储块号在云端存储设备中对应的数据更新至云端高速缓存设备,包括:
步骤31:获取云端高速缓存设备中的高速缓存块的缓存块号;
步骤32:将缓存块号与历史行为中包含的存储块号建立对应关系,并根据对应关系将数据更新至云端高速缓存设备;
相应的,判断云端高速缓存设备中是否存有存储块号,包括:
步骤41:判断云端高速缓存设备中是否存有与存储块号对应的缓存块号;若是,则进入步骤42;若否,则进入步骤43;
步骤42:确定云端高速缓存设备中存有存储块号;
步骤43:确定云端高速缓存设备中未存有存储块号。
进一步,可以理解的是,在进行数据缓存时,高速缓存块可能被其他数据占用,即高速缓存块可能处于非空闲状态,此时数据将难以写入云端高速缓存设备,因此可对非空闲的高速缓存块进行淘汰。需要说明的是,本发明实施例并不限定淘汰高速缓存块所使用的缓存淘汰算法,例如可以为LRU(Least Recently Used,最近最少使用)算法,也可以为LFU(Least Frequently Used,最不经常使用)算法,可根据实际应用需求进行设置。进一步,在本发明实施例中,上述淘汰操作既可由为每个用户空间专门设置的淘汰模块执行,当然也可以由云端高速缓存设备的缓存管理模块执行。当淘汰操作由为每个用户空间专门设置的淘汰模块执行时,该淘汰模块仅可以对该用户空间所使用的高速缓存块进行淘汰,以防止用户空间之间的相互影响;当淘汰操作由云端高速缓存设备的缓存管理模块执行时,管理模块可对其管理的所有用户空间所使用的高速缓存块进行淘汰。
在一种可能的情况中,在将缓存块号与历史行为中包含的存储块号建立对应关系之前,还可以包括:
步骤51:判断高速缓存块是否空闲;若是,则进入步骤52;若否,则进入步骤53;
步骤52:执行将缓存块号与历史行为中包含的存储块号建立对应关系的步骤;
步骤53:利用缓存淘汰算法将非空闲的高速缓存块设置为空闲的高速缓存块,并利用空闲的高速缓存块的缓存块号,执行将缓存块号与历史行为中包含的存储块号建立对应关系的步骤。
需要说明的是,本发明实施例并不限定判断高速缓存块是否空闲的具体方式,可参考计算机存储的相关技术。
最后,可以理解的是,可利用云端高速缓存设备的总容量与高速缓存块的块容量相除,得到高速缓存块的数量。
在一种可能的情况中,在接收到用户端发送的数据读取请求之前,还包括:
步骤61:获取云端高速缓存设备的总容量及云端存储块的存储块的块容量;
步骤62:利用总容量及块容量计算缓存数量,在云端高速缓存设备中设置缓存数量的高速缓存块,并为高速缓存块设置缓存块号。
基于上述实施例,本方法可利用用户端的历史行为与当前的监控行为进行对比,确定需要向云端高速缓存设备中更新的数据。考虑到用户可能经常访问一些数据,同时用户可能读取不连续的多个数据,因此采用记录历史行为及当前行为,并依照当前行为与历史行为的相似度进行数据缓存较为准确,因此本方法可以将用户端历史读取的存储块号记录至历史行为,并将用户端当前读取的存储块号记录至监控行为,若监控行为与历史行为的相似度符合预设阈值要求,则将历史行为中的存储块号对应的数据缓存至云端高速缓存设备,进而提升云端高速缓存设备中的数据利用率。
下面对本发明实施例提供的一种云存储数据读取装置、电子设备及存储介质进行介绍,下文描述的云存储数据读取装置、电子设备及存储介质与上文描述的云存储数据读取方法可相互对应参照。
请参考图2,图2为本发明实施例所提供的一种云存储数据读取装置的结构框图,该装置可以包括:
块号提取模块201,用于当接收到用户端发送的数据读取请求时,提取数据读取请求中的存储块号;
判断模块202,用于判断云端高速缓存设备中是否存有存储块号;云端高速缓存设备中缓存有用户端历史读取的数据;
第一发送模块203,用于若云端高速缓存设备中存有存储块号,则将存储块号在云端高速缓存设备中对应的数据发送至用户端;
第二发送模块204,用于若云端高速缓存设备中未存有存储块号,则将存储块号在云端存储设备中对应的数据发送至用户端。
可选地,该装置还可以包括:
监控模块,用于将存储块号更新至监控行为中;
第一重合度计算模块,用于若监控行为中的存储块号数量等于第一预设数量,则计算监控行为与历史行为的第一重合度;历史行为中包含有用户端历史读取的存储块号;
缓存更新模块,用于当第一重合度大于第一预设阈值时,则将历史行为中包含的存储块号在云端存储设备中对应的数据更新至云端高速缓存设备。
可选地,缓存更新模块,可以包括:
块号获取子模块,用于获取云端高速缓存设备中的高速缓存块的缓存块号;
缓存更新子模块,用于将缓存块号与历史行为中包含的存储块号建立对应关系,并根据对应关系将数据更新至云端高速缓存设备;
相应的,判断模块202,可以包括:
判断子模块,用于判断云端高速缓存设备中是否存有与存储块号对应的缓存块号。
可选地,该装置还可以包括:
参数获取模块,用于获取云端高速缓存设备的总容量及云端存储块的存储块的块容量;
缓存初始化模块,用于利用总容量及块容量计算缓存数量,在云端高速缓存设备中设置缓存数量的高速缓存块,并为高速缓存块设置缓存块号。
可选地,该装置还可以包括:
空闲判定模块,用于判断高速缓存块是否空闲;
第一执行模块,用于若是,则执行将缓存块号与历史行为中包含的存储块号建立对应关系的步骤;
第二执行模块,用于若否,则利用缓存淘汰算法将非空闲的高速缓存块设置为空闲的高速缓存块,并利用空闲的高速缓存块的缓存块号,执行将缓存块号与历史行为中包含的存储块号建立对应关系的步骤。
可选地,该装置还可以包括:
等待记录模块,用于记录接收到下一数据读取请求的等待时间;
第二重合度计算模块,用于当等待时间大于第二预设阈值时,则计算监控行为与历史行为的第二重合度;
历史行为更新模块,用于当第二重合度大于第三预设阈值时,利用监控行为更新历史行为;
历史行为创建模块,用于当第二重合度小于等于第三预设阈值时,则将监控行为设置为新的历史行为。
可选地,该装置还可以包括:
监控行为创建判断模块,用于判断接收到数据读取请求对应的等待时间是否大于第二预设阈值;
第三执行模块,用于若否,则执行将存储块号更新至监控行为中的步骤;
第四执行模块,用于若是,则创建新的监控行为,并利用新的监控行为执行将存储块号更新至监控行为中的步骤。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的云存储数据读取方法的步骤。
由于电子设备部分的实施例与云存储数据读取方法部分的实施例相互对应,因此电子设备部分的实施例请参见云存储数据读取方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的云存储数据读取方法的步骤。
由于存储介质部分的实施例与云存储数据读取方法部分的实施例相互对应,因此存储介质部分的实施例请参见云存储数据读取方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种云存储数据读取方法、装置、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种云存储数据读取方法,其特征在于,包括:
当接收到用户端发送的数据读取请求时,提取所述数据读取请求中的存储块号;
判断云端高速缓存设备中是否存有所述存储块号;所述云端高速缓存设备中缓存有所述用户端历史读取的数据;
若所述云端高速缓存设备中存有所述存储块号,则将所述存储块号在所述云端高速缓存设备中对应的数据发送至所述用户端;
若所述云端高速缓存设备中未存有所述存储块号,则将所述存储块号在云端存储设备中对应的数据发送至所述用户端。
2.根据权利要求1所述的云存储数据读取方法,其特征在于,在将所述存储块号在云端存储设备中对应的数据发送至所述用户端之后,还包括:
将所述存储块号更新至监控行为中;
若所述监控行为中的存储块号数量等于第一预设数量,则计算监控行为与历史行为的第一重合度;所述历史行为中包含有所述用户端历史读取的存储块号;
当所述第一重合度大于第一预设阈值时,则将所述历史行为中包含的存储块号在所述云端存储设备中对应的数据更新至所述云端高速缓存设备。
3.根据权利要求2所述的云存储数据读取方法,其特征在于,所述将所述历史行为中包含的存储块号在所述云端存储设备中对应的数据更新至所述云端高速缓存设备,包括:
获取所述云端高速缓存设备中的高速缓存块的缓存块号;
将所述缓存块号与所述历史行为中包含的存储块号建立对应关系,并根据所述对应关系将所述数据更新至所述云端高速缓存设备;
相应的,所述判断云端高速缓存设备中是否存有所述存储块号,包括:
判断云端高速缓存设备中是否存有与所述存储块号对应的缓存块号;
若是,则确定所述云端高速缓存设备中存有所述存储块号;
若否,则确定所述云端高速缓存设备中未存有所述存储块号。
4.根据权利要求3所述的云存储读取方法,其特征在于,在接收到用户端发送的数据读取请求之前,还包括:
获取所述云端高速缓存设备的总容量及所述云端存储块的存储块的块容量;
利用所述总容量及所述块容量计算缓存数量,在所述云端高速缓存设备中设置所述缓存数量的高速缓存块,并为所述高速缓存块设置所述缓存块号。
5.根据权利要求3所述的云存储数据读取方法,其特征在于,在将所述缓存块号与所述历史行为中包含的存储块号建立对应关系之前,还包括:
判断所述高速缓存块是否空闲;
若是,则执行将所述缓存块号与所述历史行为中包含的存储块号建立对应关系的步骤;
若否,则利用缓存淘汰算法将非空闲的高速缓存块设置为空闲的高速缓存块,并利用所述空闲的高速缓存块的缓存块号,执行所述将所述缓存块号与所述历史行为中包含的存储块号建立对应关系的步骤。
6.根据权利要求2所述的云存储数据读取方法,其特征在于,在将所述存储块号更新至监控行为中之后,还包括:
记录接收到下一数据读取请求的等待时间;
当所述等待时间大于第二预设阈值时,则计算监控行为与历史行为的第二重合度;
当所述第二重合度大于第三预设阈值时,利用所述监控行为更新所述历史行为;
当所述第二重合度小于等于所述第三预设阈值时,则将所述监控行为设置为新的历史行为。
7.根据权利要求6所述的云存储数据读取方法,其特征在于,在将所述存储块号更新至监控行为之前,还包括:
判断接收到所述数据读取请求对应的等待时间是否大于所述第二预设阈值;
若否,则执行所述将所述存储块号更新至监控行为中的步骤;
若是,则创建新的监控行为,并利用所述新的监控行为执行所述将所述存储块号更新至监控行为中的步骤。
8.一种云存储数据读取装置,其特征在于,包括:
块号提取模块,用于当接收到用户端发送的数据读取请求时,提取所述数据读取请求中的存储块号;
判断模块,用于判断云端高速缓存设备中是否存有所述存储块号;所述云端高速缓存设备中缓存有所述用户端历史读取的数据;
第一发送模块,用于若所述云端高速缓存设备中存有所述存储块号,则将所述存储块号在所述云端高速缓存设备中对应的数据发送至所述用户端;
第二发送模块,用于若所述云端高速缓存设备中未存有所述存储块号,则将所述存储块号在云端存储设备中对应的数据发送至所述用户端。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的云存储数据读取方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至7任一项所述的云存储数据读取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110650031.1A CN113296710B (zh) | 2021-06-10 | 2021-06-10 | 一种云存储数据读取方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110650031.1A CN113296710B (zh) | 2021-06-10 | 2021-06-10 | 一种云存储数据读取方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113296710A true CN113296710A (zh) | 2021-08-24 |
CN113296710B CN113296710B (zh) | 2023-03-28 |
Family
ID=77328044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110650031.1A Active CN113296710B (zh) | 2021-06-10 | 2021-06-10 | 一种云存储数据读取方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113296710B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158863A (zh) * | 2014-08-02 | 2014-11-19 | 成都致云科技有限公司 | 基于事务级别全程高速缓冲的云存储机制 |
CN106020714A (zh) * | 2015-03-27 | 2016-10-12 | 英特尔公司 | 用于云存储的高速缓存操作和分层操作 |
CN107291393A (zh) * | 2017-06-23 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种基于混合云存储的缓存方法及装置 |
CN107819804A (zh) * | 2016-09-14 | 2018-03-20 | 先智云端数据股份有限公司 | 云端储存设备系统及决定其架构的高速缓存中数据的方法 |
CN108920287A (zh) * | 2018-06-29 | 2018-11-30 | 中用科技有限公司 | 基于人工智能的高速缓存方法 |
CN109033759A (zh) * | 2011-08-18 | 2018-12-18 | 苹果公司 | 基于网络性能管理从基于网络的数字数据储存库的下载 |
CN112565317A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 混合云系统及其数据处理方法、设备及存储介质 |
CN112839076A (zh) * | 2020-12-29 | 2021-05-25 | 杭州海康威视系统技术有限公司 | 数据存储、读取方法、网关、电子设备及存储介质 |
-
2021
- 2021-06-10 CN CN202110650031.1A patent/CN113296710B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109033759A (zh) * | 2011-08-18 | 2018-12-18 | 苹果公司 | 基于网络性能管理从基于网络的数字数据储存库的下载 |
CN104158863A (zh) * | 2014-08-02 | 2014-11-19 | 成都致云科技有限公司 | 基于事务级别全程高速缓冲的云存储机制 |
CN106020714A (zh) * | 2015-03-27 | 2016-10-12 | 英特尔公司 | 用于云存储的高速缓存操作和分层操作 |
CN107819804A (zh) * | 2016-09-14 | 2018-03-20 | 先智云端数据股份有限公司 | 云端储存设备系统及决定其架构的高速缓存中数据的方法 |
CN107291393A (zh) * | 2017-06-23 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种基于混合云存储的缓存方法及装置 |
CN108920287A (zh) * | 2018-06-29 | 2018-11-30 | 中用科技有限公司 | 基于人工智能的高速缓存方法 |
CN112565317A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 混合云系统及其数据处理方法、设备及存储介质 |
CN112839076A (zh) * | 2020-12-29 | 2021-05-25 | 杭州海康威视系统技术有限公司 | 数据存储、读取方法、网关、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113296710B (zh) | 2023-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3229142B1 (en) | Read cache management method and device based on solid state drive | |
CN111352861B (zh) | 内存压缩方法、装置及电子设备 | |
CN106547476B (zh) | 用于数据存储系统的方法和装置 | |
CN105677580A (zh) | 访问缓存的方法和装置 | |
CN109471843B (zh) | 一种元数据缓存方法、系统及相关装置 | |
CN105095495B (zh) | 一种分布式文件系统缓存管理方法和系统 | |
CN111258967A (zh) | 文件系统中数据读取方法、装置及计算机可读存储介质 | |
CN111324303A (zh) | Ssd垃圾回收方法、装置、计算机设备及存储介质 | |
CN112214420A (zh) | 数据缓存方法、存储控制装置、及存储设备 | |
CN112506823A (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
CN111427804B (zh) | 一种减少缺页中断次数的方法、存储介质及智能终端 | |
EP3588913B1 (en) | Data caching method, apparatus and computer readable medium | |
US9933838B2 (en) | Power management in a storage compute device | |
CN113296710B (zh) | 一种云存储数据读取方法、装置、电子设备及存储介质 | |
WO2023173991A1 (en) | Cache line compression prediction and adaptive compression | |
US10997077B2 (en) | Increasing the lookahead amount for prefetching | |
CN116910314A (zh) | 基于键值分离的键值存储系统中范围查询优化方法及装置 | |
CN107967306B (zh) | 一种存储系统中关联块的快速挖掘方法 | |
EP4261712A1 (en) | Data elimination method and apparatus, cache node, and cache system | |
CN114461590A (zh) | 一种基于关联规则的数据库文件页预取方法及装置 | |
CN104123243A (zh) | 数据缓存系统及方法 | |
CN103631640B (zh) | 一种数据访问请求响应方法及装置 | |
CN110658999B (zh) | 一种信息更新方法、装置、设备及计算机可读存储介质 | |
CN115904795A (zh) | 存储系统中的数据存储方法及装置 | |
CN114063923A (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 |