CN113064553A - 数据存储方法、装置、设备及介质 - Google Patents
数据存储方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113064553A CN113064553A CN202110363299.7A CN202110363299A CN113064553A CN 113064553 A CN113064553 A CN 113064553A CN 202110363299 A CN202110363299 A CN 202110363299A CN 113064553 A CN113064553 A CN 113064553A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- memory
- cache region
- service
- 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
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供的数据存储方法、装置、设备及介质中,电子设备将第一存储器中的多个缓存区域,按照目标业务对缓存区域的需求情况,为需要缓存区域的目标业务动态分配目标缓存区域;其中,目标业务分得的缓存区域的数量与目标业务热数据产量相关,从而实现根据各业务对缓存区域的需求,动态分配缓存区域,提高了缓存区域的利用率。
Description
技术领域
本申请涉及计算机领域,具体而言,涉及一种数据存储方法、装置、设备及介质。
背景技术
近年来,随着大数据技术的发展,需要对产生的海量数据进行存储。出于成本考量,通常使用机械硬盘进行存储。然而,受限于机械硬盘IO性能的瓶颈,当面对大量小IO请求时,机械硬盘处理能力较差。
鉴于此,相关技术中将需要经常访问的热数据存储在缓存区域,以提高数据访问效率。然而,发明人研究发现,相关技术中存在缓存区域利用率欠佳的问题。
发明内容
为了克服现有技术中的至少一个不足,第一方面,本申请实施例提供一种数据存储方法,应用于电子设备,所述电子设备配置有第一存储器,所述第一存储器包括多个缓存区域,所述方法包括:
从所述多个缓存区域中为目标业务分配目标缓存区域;
建立所述目标缓存区域与所述目标业务之间的对应关系,其中,所述对应关系表征所述目标缓存区域属于所述目标业务;
将所述目标业务生成的热数据写入所述目标缓存区域;
当所述目标缓存区域无剩余空间时,则从未建立所述对应关系的缓存区域中为所述目标业务分配新的目标缓存区域。
第二方面,本申请实施例提供一种数据存储装置,应用于电子设备,所述电子设备配置有第一存储器,所述第一存储器包括多个缓存区域,所述数据存储装置包括:
区域分配模块,用于从所述多个缓存区域中为目标业务分配目标缓存区域;
关系构建模块,用于建立所述目标缓存区域与所述目标业务之间的对应关系,其中,所述对应关系表征所述目标缓存区域属于所述目标业务;
数据写入模块,用于将所述目标业务生成的热数据写入所述目标缓存区域;
所述区域分配模块,还用于当所述目标缓存区域无剩余空间时,则从剩余的缓存区域中为所述目标业务分配新的目标缓存区域。
第三方面,本申请实施例提供一种电子设备,所述电子设备包括处理器及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述的数据存储方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的数据存储方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供的数据存储方法、装置、设备及介质中,电子设备将第一存储器中的多个缓存区域,按照目标业务对缓存区域的需求情况,为需要缓存区域的目标业务动态分配目标缓存区域;其中,目标业务分得的缓存区域的数量与目标业务热数据产量相关,从而实现根据各业务对缓存区域的需求,动态分配缓存区域,提高了缓存区域的利用率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的电子设备结构示意图;
图2为本申请实施例提供的数据存储方法步骤流程示意图;
图3为本申请实施例提供的缓存区域示意图;
图4为本申请实施例提供的第二存储器中存储区域示意图;
图5为本申请实施例提供的缓存区域结构示意图;
图6为本申请实施例提供的监控存储系统结构示意图;
图7为本申请实施例提供的数据存储装置结构示意图。
图标:120-存储器;130-处理器;140-通信装置;201-监控数据输入端;202-数据处理端;203-调度服务器;204-存储服务节点;301-区域分配模块;302-关系构建模块;304-数据写入模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,需要说明的是,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
相关技术中,为了提高数据访问效率,将需要经常访问的热数据存储在缓存区域中。本申请实施例中,不对缓存区域的类型做具体地限定,只要缓存区域的IO性能高于机械硬盘即可。示例性的,该缓存区域可以是内存区域。
其中,热数据即为用户需要经常访问的数据,因此,数据在使用时会被频繁访问。并且访问热数据的IO操作通常为小文件读写操作,而机械硬盘并不擅长于对小文件进行读写。鉴于此,提出了通过缓存区域提高热数据读写性能的方案,然而,目前的缓存区域通常为固定大小,存在缓存区域利用率欠佳的问题。
例如,假定服务器中有业务A以及业务B。服务器为业务A分配一固定大小的缓存区域A,为业务B分配一固定大小的缓存区域B。业务A将自身的热数据存储在缓存区域A中,业务B将自身的热数存储在缓存区域B中。
应理解的是,缓存区域的空间大小与热数据的缓存量成正相关,缓存区域越大,则能够显著减少对机械硬盘的访问频率,提高数据访问效率。然而,在一些应用场景中,业务A以及业务B并不是一直处于运行状态,即使一直处于运行状态,业务A以及业务B在不同的时段对缓存区域大小的需求,同样存在差异。因此,固定大小的缓存区域,限制了缓存区域的利用效率。
鉴于此,本申请实施例提供一种应用于电子设备的数据存储方法,用于高效利用缓存区域存储热数据。
其中,该电子设备可以是,但不限于,服务器、终端设备等。服务器可以是Web(网站)服务器、或者FTP(File Transfer Protocol,文件传输协议)服务器等。该终端设备可以是,智能手机、个人电脑(Personal Computer,PC)、平板电脑、个人数字助理(PersonalDigital Assistant,PDA)或者移动上网设备(Mobile Internet Device,MID)等。
本申请实施例提供一种上述电子设备的结构示意图。如图1所示,该电子设备包括存储器120、处理器130、通信装置140。
该存储器120、处理器130以及通信装置140各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,该存储器120可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。
其中,存储器120用于存储计算机程序,该处理器130在接收到执行指令后,该计算机程序被处理器执行,以实现上述数据存储方法。该通信装置140用于通过网络收发数据。
该处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
基于上述电子设备的硬件结构,为实现本申请实施例提供的数据存储方法,该电子设备的存储器包括第一存储器,其中,该第一存储器包括多个缓存区域。下面结合图2对数据处理方法的各步骤进行详细阐述。如图2所示,该数据处理方法包括:
步骤S101,从多个缓存区域中为目标业务分配目标缓存区域。
应理解的是,电子设备中可以提供有至少一个业务,各业务均可以使用缓存区域缓存各自的热数据。本申请实施例中,将需要缓存区域的业务称为目标业务,将分配给目标业务的缓存区域称为目标缓存区域。
此外,本申请实施例中的业务可以是,但不限于,图像识别业务,视频监控业务,车流分析业务等。其中,当业务为图像识别业务,相应的热数据为人脸图像、车辆图像等;当业务为视频监控任务时,相应的热数据为热点区域的监控视频,当业务为车流分析业务时,相应的热数据为车流统计数据。
步骤S102,建立目标缓存区域与目标业务之间的对应关系。
其中,对应关系表征目标缓存区域属于目标业务。本申请实施例中,该目标业务可以拥有多个目标缓存区域,因此,需要通过对应关系维护目标业务与目标缓存区域之间的从属关系。
示例性的,电子设备可以为目标业务分配唯一的业务标识,并在目标缓存区域的指定区域记录该业务标识,以此建立目标业务与目标缓存区域之间的对应关系。
步骤S103,将目标业务生成的热数据写入目标缓存区域。
步骤S104,当目标缓存区域无剩余空间时,则从未建立对应关系的缓存区域中为目标业务分配新的目标缓存区域。
示例性的,如图3所示,将第一存储器中1G空间划分成16个64M的缓存区域,并按照从小达到的顺序给16个缓存区域进行编号。该电子设备中同样运行有上述业务A以及业务B,当业务A作为目标业务时,该电子设备将索引编号为7的缓存区域作为目标缓存区域,分配给业务A。当索引编号为7的缓存区域写满业务A的热数据后,该电子设备可以按照索引编号递增的顺序,将索引编号为8的缓存区域作为新的目标缓存区域,分配给业务A。
同理,当业务B作为目标业务时,该电子设备同样按照索引编号递增的顺序从16个缓存区域中为业务B分配目标缓存区域。
可选地,当存在多个业务时,该电子设备优先选择从未建立对应关系的缓存区域中为目标业务分配目标区域。当所有的目标区域均建立了对应关系,该电子设备则先销毁已建立的对应关系,然后分配给目标业务。
同样以业务A以及业务B为例,假定业务A已经与索引编号1-10的缓存区域建立了对应关系,业务B与索引编号11-16的缓存区域建立了对应关系。若业务B作为目标业务,电子设备先选择从未建立对应关系的缓存区域中为业务B分配目标区域。然而,此时未建立对应关系的缓存区域的数量为0,因此,电子设备将索引编号为1的缓存区域与业务A之间的对应关系销毁,将索引编号为1的缓存区域分配给业务B。因此,业务A与业务B之间各自所属缓存区域的数量与各自热数据的大小相关。
可选地,若业务B作为目标业务,电子设备先选择从未建立对应关系的缓存区域中为业务B分配目标区域。然而,此时未建立对应关系的缓存区域的数量为0,因此,电子设备将索引编号为1的缓存区域与业务A之间的对应关系销毁;并为索引编号为1的缓存区域以索引编号递增的方式分配新的索引编号。
例如,由于当前最大的索引编号为16,因此,该电子设备分配新的索引编号为17;并将记载在内容中的索引编号为1的缓存区域与业务A之间的对应关系销毁,建立索引编号17与业务B之间的对应关系。
此外,该缓存区域配置有编号索引区域,用于记录分配的索引编号,因此,该电子设备将索引编号17写入编号索引区域,覆盖原来的索引编号1。
由此,该电子设备将第一存储器中的多个缓存区域,按照目标业务对缓存区域的需求情况,为需要缓存区域的目标业务动态分配目标缓存区域;其中,目标业务分得的缓存区域的数量与目标业务热数据产量相关,从而实现根据各业务对缓存区域的需求,动态分配缓存区域,提高了缓存区域的利用率。
本申请实施例中,为了便于从缓存区域中读取已写入的热数据,该电子设备根据热数据在目标缓存区域中的写入位置,生成热数据在目标缓存区域中的位置索引信息。
相对应的,当目标缓存区域与目标业务之间的对应关系被销毁时,则将热数据在目标缓存区域中的位置索引信息销毁。
示例性的,同样以上述业务A以及业务B为例,假定业务A已经与编号1-10的缓存区域建立了对应关系,业务B与编号11-16的缓存区域建立了对应关系。若业务B作为目标业务,电子设备先选择从未建立对应关系的缓存区域中为业务B分配目标区域。然而,此时未建立对应关系的缓存区域的数量为0,因此,电子设备将编号为1的缓存区域与业务A之间的对应关系销毁,将编号为1的缓存区域分配给业务B。
此时,由于编号为1的缓存区域不再属于业务A,因此,为了避免业务A继续访问编号为1的缓存区域,则将编号为1的缓存区域中,热数据的位置索引信息销毁。
此外,本申请实施例中,电子设备将第一存储器中的多个缓存区域,按照目标业务对缓存区域的需求情况,为需要缓存区域的目标业务动态分配目标缓存区域;当需要销毁对应关系时,也只会影响到目标业务一小部分的热数据。
本申请实施例中,还考虑到将内存作为缓存区域需要较高的硬件成本,因此,该电子设备中的第一存储器属于固态硬盘。应理解的是,虽然固态硬盘的读写性能不及内存,但相较于机械硬盘,固态硬盘在面对大量随机小IO读写需求时,仍能够保持较为良好的性能。
为了避免频繁读写第一存储器,而影响第一存储器的使用寿命,该电子设备中的存储器还包括属于内存的第二存储器。由于第二存储器属于内存类型的存储器,因此读写速度远大于属于固态硬盘的第一存储器,因此,该电子设备先使用第二存储器收集热数据,当第二存储器每收集预设容量阈值的热数据时,则将预设容量阈值的热数据写入目标缓存区域。
示例性的,如图4所示,假定电子设备通过第二存储器中64M的存储空间收集目标业务生成的热数据,且预设容量阈值为1M。该电子设备每收集1M的热数据,则将这1M的热数据写入目标缓存区域。
相较于将64M的存储空间写满之后,再写入目标缓存区域,电子设备每收集1M的热数据,则将这1M的热数据写入目标缓存区域的方式,可以提升了写入目标缓存区域的并发性能,避免集中写入导致第一存储器负载出现较大的波动,从而使得第一存储器的负载更加平滑。
并且,将64M的存储空间写满之后,再写入目标缓存区域的过程中,64M的存储空间不能用于收集目标业务新生成的热数据,因此,电子设备每收集1M的热数据,则将这1M的热数据写入目标缓存区域的方式能够避免阻塞收集目标业务新生成的热数据。
在此基础上,为了进一步避免阻塞收集目标业务新生成的热数据,第二存储器为目标业务配置有多个收集区域。
该电子设备在当前使用的收集区域无剩余空间时,则从剩余的收集区域中选取处于空闲状态的收集区域。其中,空闲状态表征收集区域中的热数据全部写入了目标缓存区域。
示例性的,该电子设备可以在第二存储器中为目标业务配置2个64M的收集区域,分别为收集区域A以及收集区域B。假定当前使用收集区域A收集目标业务生成的热数据,当目标业务的热数据写满收集区域A后,则将目标业务新生成的热数据写入收集区域B中。
并且,待收集区域A中的热数据全部写入目标缓存区域后,该电子设备则将收集区域A的状态标记为空闲状态。当收集区域B写满目标业务的热数据后,则将目标业务新生成的热数据写入收集区域A中。
本申请实施例中,还考虑到虽然相较于机械硬盘,固态硬盘在面对大量随机小IO读写需求时,仍能够保持较为良好的性能,但固态硬盘的成本远高于机械硬盘。
因此,该电子设备的存储器还包括属于机械硬盘的第三存储器。其中,第一存储器存储的热数据属于第三存储器所存储数据的一部分。即第一存储器中的数据为第三存储器中的副本数据。
当需要目标数据时,该电子设备则判断第一存储器中是否存储有目标数据;若第一存储器中存储有目标数据,则根据目标数据在第一存储器中的位置索引信息从第一存储器读取目标数据;若第一存储器中未存储有目标数据,则从第三存储器读取目标数据。
示例性的,针对存储在第一存储器中的热数据,该电子设备根据该热数据在的存储位置,生成该热数据的位置索引信息;然后,获取热数据的数据标识,建立数据标识与位置索引信息之间的对应关系,并将建立数据标识与位置索引信息之间的对应关系记录到索引表中。
其中,数据标识与热数据的类型相关。例如,假定热数据为一张一张的图像,则数据标识可以是图像名称或者图像编号。假定热数据为视频片段,则数据标识可以是视频名称、视频拍摄时间、视频拍摄地点或者视频编号。
基于据标识与位置索引信息之间的对应关系,该电子设备可以通过目标数据的数据标识查找索引表,若目标数据的数据标识位于该索引表中,则说明第一存储器存储的热数据中包括该目标数据。
若目标数据的数据标识未位于该索引表中,则说明第一存储器存储的热数据中未包括该目标数据,因此,该电子设备需要从第三存储器中读取该目标数据。
本申请实施例中,还考虑到将目标业务的热数据写入目标缓存区域时,可能会遇到目标业务异常或者断电等情况,导致写入目标缓存区域的数据不完整。
鉴于此,该电子设备当热数据成功写入目标缓存区域后,将预设校验标识写入校验区域,其中,预设校验标识表征目标缓存区域中的数据处于完整状态。
示例性的,如图5所示,该目标缓存区域的校验区可以包括8bit的第一校验区域以及8bit的第二校验区域。其中,第一校验区域位于目标缓存区域的头部,第二校验区位于目标缓存区域的尾部。
该电子设备将目标业务的热数据写入目标缓存区域之前,先在第一校验区域写入校验标识。其中,该校验标识可以是,但不限于,目标缓存区域的区域编号或者指定字符等。其中,当校验区域写入的校验标识为缓存区域的区域编号时,则校验区域等同与上述编号索引区域。
然后,待目标缓存区域写满热数据之后,该电子设备将第二校验区写入与第一校验区域相同的校验标识。由此,当标缓存区域写入热数据的过程中出现异常时,则会导致第一校验区域与第二校验中的校验标识不相同。
继而,可以通过这一特征,在目标业务恢复正常或者在电子设备断电重启之后,重新构建缓存区域与业务之间的对应关系时,判断各缓存区域中的数据是否完整;并将数据不完整的缓存区域已有的对应关系销毁。
可选地,该校验区可以只有一个区域,且可以位于目标缓存区域中的任意位置。校验标识可以是指定的字符,当目标缓存区域写满热数据之后,电子设备则在校验区写入指定的字符,以此表示目标缓存区域中的数据完整。
再次参见图5,该目标缓存区域还可以包括8bit的数据长度区以及数据写入区,其中,数据写入区用于记录写入的热数据,数据长度区用于记录已写入数据的长度。
再次参见图5,该目标缓存区域还包括8bit的令牌区,该令牌区用于记录目标缓存区域所属目标业务的业务标识。在目标业务恢复正常或者在电子设备断电重启之后,可以通过令牌区中的业务标识,重新建立缓存区域与业务之间的对应关系。
基于上述实施方式,为了便于理解本方案,下面提供一具体的示例对数据存储方法的再次进行阐述。
如图6所示的监控存储系统,该系统包括监控数据输入端201、数据处理端202、调度服务器203和存储服务节点204。其中,该存储服务节点204即为上述电子设备的一种实现方式;监控数据输入端201可以是摄像机。
监控数据输入端201采集的数据流入调度服务器203,由调度服务器203决策存储该数据的存储服务节点204,从而使各存储服务节点204中的数据存储均衡。其中,每个存储服务节点204包括固态硬盘以及机械硬盘,将固态硬盘作为热数据的缓存池。
本申请实施例中,存储服务节点204采用Linux操作系统,每个存储服务节点204配置13块8T机械硬盘,共同组成一个用于仓储的仓储池。除此之外,每个存储服务节点204中的固态硬盘为NVMe硬盘,作为热数据的缓存池提供读加速,每个节点之间的缓存池互相独立。
每个存储服务节点204存在8个负责图片存储的储存业务,每个存储业务以业务进程的方式存在,分别对应不同的客户业务;每个业务进程分别使用不同的令牌标识。并且,存储服务节点204提供一管理进程管理缓存池。
将NVMe硬盘接入存储节点的PCIE插槽,存储服务节点204识别到硬盘后,NVMe硬盘在系统中以块设备形式存在。存储服务节点204通过管理进程提供的接口通知管理进程将NVMe硬盘加入缓存池并完成NVMe硬盘的格式化。
然后,存储服务节点204将NVMe硬盘按每64M分割为多个缓存区域,根据缓存区域在硬盘中的物理位置顺序,依次分配编号,将编号保留在内存中,后续业务进程使用对应的缓存区域后,由业务进程将索引号作为校验信息写入缓存区域的头部与尾部。
针对每个缓存区域,存储服务节点204通过管理进程将NVMe硬盘中所有缓存区域的头尾4K都刷0,以此标志这些缓存区域还未被使用。
业务进程向管理进程发送请求。管理进程响应于请求,为业务进程分配一缓存区域,作为目标缓存区域。
业务进程在将客户业务生成的图片数据写入机械硬盘组成的仓储池后。若该图片为热数据,则将图片副本拷贝到该业务进程在内存中收集区域,后续交由业务进程中专用的刷盘线程进行刷盘,并获得该图片在缓存区域中的位置索引信息。
同时,客户业务可以通过图片的图片标识(fid),访问在机械硬盘中的图片。为了构建该图片标识与位置索引信息之间的对应关系。存储服务节点204将图片的图片标识进行了拓展,将获得该图片在缓存区域中的位置索引信息以字符串的形式拼接到图片的图片标识的末尾。
在读取该图片时,存储服务节点204解析图片标识,获取图片在缓存区域中的位置索引信息,然后,根据位置索引信息从缓存区域获得图片数据,从而提高了数据访问效率。
若解析图片标识,解析结果显示图片标识未携带有图片在缓存区域中的位置索引信息,储服务节点则直接从机械硬盘中读取该图片。
基于相同的发明构思,本申请实施例还提供一种数据存储装置,应用于电子设备,电子设备配置有第一存储器,第一存储器包括多个缓存区域。数据存储装置包括至少一个可以软件形式存储于存储器120中的功能模块。如图7所示,从功能上划分,数据存储装置可以包括:
区域分配模块301,用于从多个缓存区域中为目标业务分配目标缓存区域。
本申请实施例中,该区域分配模块301对应的计算机可执行指令被处理器执行时,实现图2中的步骤S101,关于该区域分配模块301的详细描述,可以参见步骤S101的详细描述。
关系构建模块302,用于建立目标缓存区域与目标业务之间的对应关系,其中,对应关系表征目标缓存区域属于目标业务。
本申请实施例中,该关系构建模块302对应的计算机可执行指令被处理器执行时,实现图2中的步骤S102,关于该关系构建模块302的详细描述,可以参见步骤S102的详细描述。
数据写入模块304,用于将目标业务生成的热数据写入目标缓存区域。
本申请实施例中,该数据写入模块304对应的计算机可执行指令被处理器执行时,实现图2中的步骤S103,关于该数据写入模块304的详细描述,可以参见步骤S103的详细描述。
区域分配模块301,还用于当目标缓存区域无剩余空间时,则从剩余的缓存区域中为目标业务分配新的目标缓存区域。
本申请实施例中,该区域分配模块301对应的计算机可执行指令被处理器执行时,还可以实现图2中的步骤S103,关于该区域分配模块301的详细描述,还可以参见步骤S103的详细描述。
值得说明的是,上述数据存储装置还可以根据所实现的功能包括其他模块,上述区域分配模块301、关系构建模块302以及数据写入模块304还可以用于实现上述数据存储方法的其他步骤或者子步骤,本申请实施例不对此做具体的限定。
本申请实施例还提供一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时,实现数据存储方法。
综上,本申请实施例提供的数据存储方法、装置、设备及介质中,电子设备将第一存储器中的多个缓存区域,按照目标业务对缓存区域的需求情况,为需要缓存区域的目标业务动态分配目标缓存区域;其中,目标业务分得的缓存区域的数量与目标业务热数据产量相关,从而实现根据各业务对缓存区域的需求,动态分配缓存区域,提高了缓存区域的利用率。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据存储方法,其特征在于,应用于电子设备,所述电子设备配置有第一存储器,所述第一存储器包括多个缓存区域,所述方法包括:
从所述多个缓存区域中为目标业务分配目标缓存区域;
建立所述目标缓存区域与所述目标业务之间的对应关系,其中,所述对应关系表征所述目标缓存区域属于所述目标业务;
将所述目标业务生成的热数据写入所述目标缓存区域;
当所述目标缓存区域无剩余空间时,则从未建立所述对应关系的缓存区域中为所述目标业务分配新的目标缓存区域。
2.根据权利要求1所述的数据存储方法,其特征在于,所述第一存储器属于固态硬盘,所述电子设备还配置有第二存储器,所述第二存储器属于内存,所述将所述目标业务生成的热数据写入所述目标缓存区域,包括:
通过所述第二存储器收集所述目标业务生成的热数据;
当所述第二存储器每收集预设容量阈值的热数据时,则将所述预设容量阈值的热数据写入所述目标缓存区域。
3.根据权利要求2所述的数据存储方法,其特征在于,所述第二存储器为所述目标业务配置有多个收集区域,所述通过所述第二存储器收集所述目标业务生成的热数据,包括:
当当前使用的收集区域无剩余空间时,则从剩余的收集区域中选取处于空闲状态的收集区域,其中,所述空闲状态表征所述收集区域中的热数据全部写入了所述目标缓存区域。
4.根据权利要求2所述的数据存储方法,其特征在于,所述方法还包括:
根据所述热数据在所述目标缓存区域中的写入位置,生成所述热数据在所述目标缓存区域中的位置索引信息。
5.根据权利要求4所述的数据存储方法,其特征在于,所述方法还包括:
当所述目标缓存区域与所述目标业务之间的对应关系被销毁时,则将所述热数据在所述目标缓存区域中的位置索引信息销毁。
6.根据权利要求4所述的数据存储方法,其特征在于,所述电子设备还配置有第三存储器,所述第三存储器属于机械硬盘,所述第一存储器存储的热数据属于所述第三存储器所存储数据的一部分,所述方法还包括:
当需要目标数据时,则判断所述第一存储器中是否存储有所述目标数据;
若第一存储器中存储有所述目标数据,则根据所述目标数据在所述第一存储器中的位置索引信息从所述第一存储器读取所述目标数据;
若第一存储器中未存储有所述目标数据,则从所述第三存储器读取所述目标数据。
7.根据权利要求1所述的数据存储方法,其特征在于,所述目标缓存区域包括数据校验区域,所述方法还包括:
当所述热数据成功写入所述目标缓存区域后,将预设校验标识写入所述校验区域,其中,所述预设校验标识表征所述目标缓存区域中的数据处于完整状态。
8.一种数据存储装置,其特征在于,应用于电子设备,所述电子设备配置有第一存储器,所述第一存储器包括多个缓存区域,所述数据存储装置包括:
区域分配模块,用于从所述多个缓存区域中为目标业务分配目标缓存区域;
关系构建模块,用于建立所述目标缓存区域与所述目标业务之间的对应关系,其中,所述对应关系表征所述目标缓存区域属于所述目标业务;
数据写入模块,用于将所述目标业务生成的热数据写入所述目标缓存区域;
所述区域分配模块,还用于当所述目标缓存区域无剩余空间时,则从剩余的缓存区域中为所述目标业务分配新的目标缓存区域。
9.一种电子设备,其特征在于,所述电子设备包括处理器及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现权利要求1-7中任意一项所述的数据存储方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1-7中任意一项所述的数据存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110363299.7A CN113064553B (zh) | 2021-04-02 | 2021-04-02 | 数据存储方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110363299.7A CN113064553B (zh) | 2021-04-02 | 2021-04-02 | 数据存储方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113064553A true CN113064553A (zh) | 2021-07-02 |
CN113064553B CN113064553B (zh) | 2023-02-17 |
Family
ID=76565574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110363299.7A Active CN113064553B (zh) | 2021-04-02 | 2021-04-02 | 数据存储方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064553B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992651A (zh) * | 2021-09-24 | 2022-01-28 | 深圳市有方科技股份有限公司 | 一种基于文件传输协议ftp的下载方法和相关产品 |
CN114281269A (zh) * | 2021-12-31 | 2022-04-05 | 中企云链(北京)金融信息服务有限公司 | 数据缓存方法以及装置、存储介质、电子装置 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207830A (zh) * | 2011-05-27 | 2011-10-05 | 杭州宏杉科技有限公司 | 一种缓存动态分配管理方法及装置 |
CN102262512A (zh) * | 2011-07-21 | 2011-11-30 | 浪潮(北京)电子信息产业有限公司 | 一种实现磁盘阵列缓存分区管理的系统、装置及方法 |
US20140310457A1 (en) * | 2013-04-16 | 2014-10-16 | International Business Machines Corporation | Logical region allocation with immediate availability |
CN104239231A (zh) * | 2014-09-01 | 2014-12-24 | 上海爱数软件有限公司 | 一种加速二级缓存预热的方法及装置 |
CN105302497A (zh) * | 2015-11-24 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种缓存管理方法与系统 |
CN108932150A (zh) * | 2017-05-24 | 2018-12-04 | 中兴通讯股份有限公司 | 基于ssd和磁盘混合存储的缓存方法、装置及介质 |
CN109324761A (zh) * | 2018-10-09 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种数据缓存方法、装置、设备及存储介质 |
CN110196681A (zh) * | 2018-04-11 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 业务写操作的磁盘数据写入控制方法及装置、电子设备 |
CN111143071A (zh) * | 2019-12-28 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 基于mcs系统的缓存分区管理方法、系统及相关组件 |
CN112000287A (zh) * | 2020-08-14 | 2020-11-27 | 北京浪潮数据技术有限公司 | 一种io请求处理装置、方法、设备及可读存储介质 |
-
2021
- 2021-04-02 CN CN202110363299.7A patent/CN113064553B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102207830A (zh) * | 2011-05-27 | 2011-10-05 | 杭州宏杉科技有限公司 | 一种缓存动态分配管理方法及装置 |
CN102262512A (zh) * | 2011-07-21 | 2011-11-30 | 浪潮(北京)电子信息产业有限公司 | 一种实现磁盘阵列缓存分区管理的系统、装置及方法 |
US20140310457A1 (en) * | 2013-04-16 | 2014-10-16 | International Business Machines Corporation | Logical region allocation with immediate availability |
CN104239231A (zh) * | 2014-09-01 | 2014-12-24 | 上海爱数软件有限公司 | 一种加速二级缓存预热的方法及装置 |
CN105302497A (zh) * | 2015-11-24 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种缓存管理方法与系统 |
CN108932150A (zh) * | 2017-05-24 | 2018-12-04 | 中兴通讯股份有限公司 | 基于ssd和磁盘混合存储的缓存方法、装置及介质 |
CN110196681A (zh) * | 2018-04-11 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 业务写操作的磁盘数据写入控制方法及装置、电子设备 |
CN109324761A (zh) * | 2018-10-09 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种数据缓存方法、装置、设备及存储介质 |
CN111143071A (zh) * | 2019-12-28 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 基于mcs系统的缓存分区管理方法、系统及相关组件 |
CN112000287A (zh) * | 2020-08-14 | 2020-11-27 | 北京浪潮数据技术有限公司 | 一种io请求处理装置、方法、设备及可读存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992651A (zh) * | 2021-09-24 | 2022-01-28 | 深圳市有方科技股份有限公司 | 一种基于文件传输协议ftp的下载方法和相关产品 |
CN113992651B (zh) * | 2021-09-24 | 2024-05-14 | 深圳市有方科技股份有限公司 | 一种基于文件传输协议ftp的下载方法和相关产品 |
CN114281269A (zh) * | 2021-12-31 | 2022-04-05 | 中企云链(北京)金融信息服务有限公司 | 数据缓存方法以及装置、存储介质、电子装置 |
CN114281269B (zh) * | 2021-12-31 | 2023-08-15 | 中企云链(北京)金融信息服务有限公司 | 数据缓存方法以及装置、存储介质、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113064553B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220057940A1 (en) | Method and Apparatus for SSD Storage Access | |
CN113064553B (zh) | 数据存储方法、装置、设备及介质 | |
CN104603739A (zh) | 对并行存储的块级访问 | |
JP2013509658A (ja) | 将来の使用推量に基づく記憶メモリの割り当て | |
JP2005276192A (ja) | データ記憶容量を増大させるための方法及び装置 | |
CN107329704B (zh) | 一种缓存镜像方法及控制器 | |
CN108268344B (zh) | 一种数据处理方法和装置 | |
WO2019001020A1 (zh) | 基于分布式系统的存储空间整理方法、装置及系统 | |
CN110134338B (zh) | 一种分布式存储系统及其数据冗余保护方法和相关设备 | |
CN103324533A (zh) | 分布式数据处理方法、装置及系统 | |
CN103399823A (zh) | 业务数据的存储方法、设备和系统 | |
WO2017107015A1 (zh) | 存储空间的分配方法及存储设备 | |
CN108089825B (zh) | 一种基于分布式集群的存储系统 | |
CN107153512B (zh) | 一种数据迁移方法和装置 | |
CN115470156A (zh) | 基于rdma的内存使用方法、系统、电子设备和存储介质 | |
CN104965835A (zh) | 一种分布式文件系统的文件读写方法及装置 | |
US10228885B2 (en) | Deallocating portions of data storage based on notifications of invalid data | |
CN111435323B (zh) | 信息的传输方法、装置、终端、服务器及存储介质 | |
CN116643704A (zh) | 存储管理方法、装置、电子设备及存储介质 | |
CN112817543B (zh) | 一种数据存储方法、系统、装置、设备及介质 | |
CN115981559A (zh) | 分布式数据存储方法、装置、电子设备和可读介质 | |
CN113360095B (zh) | 硬盘数据管理方法、装置、设备及介质 | |
CN115712581A (zh) | 数据访问方法、存储系统及存储节点 | |
CN116932196A (zh) | 融合系统的数据处理方法、装置、设备和系统 | |
CN111858603B (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 |