CN116931845B - 一种数据布局方法、装置及电子设备 - Google Patents
一种数据布局方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116931845B CN116931845B CN202311203406.5A CN202311203406A CN116931845B CN 116931845 B CN116931845 B CN 116931845B CN 202311203406 A CN202311203406 A CN 202311203406A CN 116931845 B CN116931845 B CN 116931845B
- Authority
- CN
- China
- Prior art keywords
- mode
- data
- preference value
- target application
- data access
- 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
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 140
- 238000003860 storage Methods 0.000 claims abstract description 79
- 238000011065 in-situ storage Methods 0.000 claims description 63
- 238000011066 ex-situ storage Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- VQLYBLABXAHUDN-UHFFFAOYSA-N bis(4-fluorophenyl)-methyl-(1,2,4-triazol-1-ylmethyl)silane;methyl n-(1h-benzimidazol-2-yl)carbamate Chemical compound C1=CC=C2NC(NC(=O)OC)=NC2=C1.C=1C=C(F)C=CC=1[Si](C=1C=CC(F)=CC=1)(C)CN1C=NC=N1 VQLYBLABXAHUDN-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
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)
Abstract
本发明实施例提供了一种数据布局方法、装置及电子设备,可以基于目标应用,确定每种数据访问模式的处理模式和每种数据访问模式下的处理模式对数据布局方式的偏好值,进一步根据计算出的目标应用的数据布局方式的第一偏好值和第二偏好值,确定目标应用对应的数据布局方式,灵活地选择存储系统底层数据布局策略,充分发挥存储介质能力,以满足不同类型应用的性能需求。
Description
技术领域
本发明涉及存储技术领域,特别是涉及一种数据布局方法、装置及电子设备。
背景技术
存储系统(Storage System)是指用于存储和管理数据的硬件和软件组合,它负责存储、访问和保护数据,并提供数据的可靠性、可扩展性和高性能。为了实现存储系统的高性能访问,一个基本问题是如何充分发挥存储介质的性能。
当前存储系统一般在底层采用某一种特定的数据布局方法,这就从根本上决定了该系统无法以最优的方法满足不同上层应用的性能需求。
发明内容
本发明实施例的目的在于提供一种数据布局方法、装置及电子设备,以实现根据目标应用的特性,灵活确定数据布局策略,实现存储系统的高性能访问。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种数据布局方法,所述方法包括:
针对目标应用,确定每种数据访问模式的处理模式;所述数据访问模式包括数据创建写模式、数据更新模式和数据读取模式;所述数据创建写模式的处理模式为顺序写模式或随机写模式;所述数据更新模式的处理模式为顺序写模式或随机写模式;所述数据读取模式的处理模式为顺序读模式或随机读模式;
根据所述目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能;所述数据布局方式包括原地更新方式和异地更新方式;
根据所述第一偏好值和所述第二偏好值的大小关系,确定所述目标应用对应的数据布局方式。
可选的,所述根据所述目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值包括:
根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述使用频率指标表征所述目标应用的每种数据访问模式的使用需求占比;所述性能需求指标表征每种数据访问模式对应的性能需求占比。
可选的,所述根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值包括:
根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,分别计算所述目标应用的数据创建写模式对原地更新方式和异地更新方式分别对应的第一原地更新偏好值和第一异地更新偏好值、数据更新模式对原地更新方式和异地更新方式分别对应的第二原地更新偏好值和第二异地更新偏好值和数据读取模式对原地更新方式和异地更新方式分别对应的第三原地更新偏好值和第三异地更新偏好值;
叠加所述第一原地更新偏好值、所述第二原地更新偏好值和所述第三原地更新偏好值得到所述目标应用的原地更新方式对应的第一偏好值;叠加所述第一异地更新偏好值、所述第二异地更新偏好值和所述第三异地更新偏好值得到所述目标应用的异地更新方式对应的第二偏好值。
可选的,所述方法还包括:
确定数据布局方式后,将所述目标应用的相关数据存储至数据布局方式对应的存储池中;其中,不同数据布局方式的存储池是预先划分的。
在本发明实施例的第二方面,还提供了一种数据布局装置,所述装置包括:
第一确定模块,用于针对目标应用,确定每种数据访问模式的处理模式;所述数据访问模式包括数据创建写模式、数据更新模式和数据读取模式;所述数据创建写模式的处理模式为顺序写模式或随机写模式;所述数据更新模式的处理模式为顺序写模式或随机写模式;所述数据读取模式的处理模式为顺序读模式或随机读模式;
计算模块,用于根据所述目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能;所述数据布局方式包括原地更新方式和异地更新方式;
第二确定模块,用于根据所述第一偏好值和所述第二偏好值的大小关系,确定所述目标应用对应的数据布局方式。
可选的,所述计算模块具体用于,根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述使用频率指标表征所述目标应用的每种数据访问模式的使用需求占比;所述性能需求指标表征每种数据访问模式对应的性能需求占比。
可选的,所述计算模块,具体还用于根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,分别计算所述目标应用的数据创建写模式对原地更新方式和异地更新方式分别对应的第一原地更新偏好值和第一异地更新偏好值、数据更新模式对原地更新方式和异地更新方式分别对应的第二原地更新偏好值和第二异地更新偏好值和数据读取模式对原地更新方式和异地更新方式分别对应的第三原地更新偏好值和第三异地更新偏好值;
叠加所述第一原地更新偏好值、所述第二原地更新偏好值和所述第三原地更新偏好值得到所述目标应用的原地更新方式对应的第一偏好值;叠加所述第一异地更新偏好值、所述第二异地更新偏好值和所述第三异地更新偏好值得到所述目标应用的异地更新方式对应的第二偏好值。
可选的,所述装置还包括:
存储模块,用于确定数据布局方式后,将所述目标应用的相关数据存储至数据布局方式对应的存储池中;其中,不同数据布局方式的存储池是预先划分的。
在本发明实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的一种数据布局方法。
在本发明实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的一种数据布局方法。
本发明实施例有益效果:
本发明实施例提供的一种数据布局方法、装置及电子设备,可以针对目标应用,确定每种数据访问模式的处理模式。数据访问模式包括数据创建写模式、数据更新模式和数据读取模式。数据创建写模式的处理模式为顺序写模式或随机写模式,数据更新模式的处理模式为顺序写模式或随机写模式,数据读取模式的处理模式为顺序读模式或随机读模式。根据目标应用在每种数据访问模式的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值。其中,偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能。数据布局方式包括原地更新方式和异地更新方式。根据第一偏好值和第二偏好值的大小关系,确定目标应用对应的数据布局方式。
在本申请方案中,可以基于目标应用,确定每种数据访问模式的处理模式和每种数据访问模式下的处理模式对数据布局方式的偏好值,进一步根据计算出的目标应用的数据布局方式的第一偏好值和第二偏好值,确定目标应用对应的数据布局方式。因为可以通过第一偏好值和第二偏好值,确定数据布局方式是选用原地更新方式还是异地更新方式,相较于现有技术中的存储系统一般在底层只采用某一种特定的数据布局方式,本申请方案可以基于应用不同读写模式特点和需求,计算出其对不同数据布局方式的第一偏好值和第二偏好值,从而灵活地选择存储系统底层数据布局方式,充分发挥存储介质能力,以满足不同类型应用的性能需求。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的数据布局方法的一种流程图;
图2为本发明实施例提供的数据布局方法的另一种流程图;
图3为本发明实施例提供的硬盘划分的一种场景示意图;
图4为本发明实施例提供的数据布局装置的一种结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
存储系统(Storage System)是指用于存储和管理数据的硬件和软件组合,它负责存储、访问和保护数据,并提供数据的可靠性、可扩展性和高性能。存储系统的硬件一般包含存储控制器和存储介质。存储控制器是连接存储介质和外部主机系统的接口,它负责存储介质的管理和数据访问控制等。存储介质用于持久化保存数据,主要的存储介质包括磁盘、固态硬盘(SSD,Solid State Drives)等。
为了实现存储系统的高性能访问,一个基本问题是如何充分发挥存储介质的性能。下面以磁盘为例进行说明。由于磁盘驱动器的物理特点,其读写性能和访问模式紧密相关。比如,对于磁盘数据的随机读写,其访问性能约为1MB/s;而对于数据的顺序访问,其访问性能则可以达到100MB/s。由此可见,不同的访问模式下,磁盘的读写性能可以相差一百倍。所以,对于存储系统性能优化而言,一个重要的思想就是尽量采用顺序访问的方法提升存储系统的性能。
每种数据访问模式下的处理模式与可获得的性能如下表1与表2所示:
表1
;
需要说明的是,对于写入数据来说,可能是创建写(第一次写入数据),也可能是更新写(修改已经写入的数据)。因此写请求对应的数据访问模式包括数据创建写模式与数据更新模式。
由表1可知,对于数据创建写模式与数据更新模式来说,处理模式为顺序写模式或随机写模式,都在数据连续放置时,可获得性能较高,在数据随机放置时,可获得性能较低。
表2
;
通过表2可知,数据读取模式下的顺序读模式,在数据连续放置时可获得性能高,在数据随机放置时可获得性能低。而对于数据读取模式下的随机读模式,不论数据布局为数据连续放置还是数据随机放置,其可获得性能都较低。
所谓随机和顺序,包含从应用角度看的“数据访问模式”和从磁盘角度看的“数据布局”两个方面。数据访问模式,就是从应用的角度看,是顺序还是随机地访问存储资源,如文件或LUN(logical unit number,逻辑单元号)。数据布局,是指从逻辑上连续的存储资源,如文件或LUN,是否连续地放置于磁盘的物理位置上。需要说明的是,这里的“连续”,并不需要整个文件或LUN的所有数据都连续,只要满足足够长(比如超过1MB)的数据段连续,就能较好地发挥出磁盘性能。
现有技术中存在两种数据布局方式,分别为原地更新方式和异地更新方式。原地更新方式是指在数据更新时,直接在原有的数据文件上进行更新,即直接修改原有数据,而不需要创建新的数据,可以保持数据在磁盘上的原有布局,这样即使在经历多次数据的随机写入后,依然可以保持较高的顺序读性能。其缺点主要是随机写性能较低。异地更新方式指的是在数据库更新过程中,通过创建新的数据文件并将更新后的数据写入新的文件中,最后再将新文件与原有数据文件进行合并,即将新写入的数据(不论是随机写还是顺序写)以追加的方式,顺序写入到磁盘新的空闲空间,从而可以实现高性能随机数据写入。例如可以通过采用Log-structured File System(日志结构文件系统)方法进行实现。异地更新策略的缺点主要是在对数据进行多次随机更新后,顺序读的性能较低。因为此时一个文件逻辑上连续的数据在磁盘上已经变得不再连续。
从应用的角度看,不同应用有具有不同的读写模式特点,对读写性能的要求也不尽相同。比如数据库应用,一般随机读写较多,需要较高的IOPS(Input/Output OperationsPer Second,即每秒进行读写操作的次数),同时对读写时延较为敏感。媒体文件处理则主要是大文件读写,数据更新较少,同时对顺序读写带宽要求较高。高性能计算应用虽然也以大文件为主,但可能存在较多的数据更新,同时对数据的随机读写要求较高。大数据/AI(Artificial Intelligence,人工智能)场景则更为复杂,不同应用的读写模式和性能要求差异很大。
当前存储系统包括传统的集中式存储阵列、以及基于存储服务器硬件的分布式存储等,一般在底层采用某一种特定的数据布局方法,比如Lustre(一种平行分布式文件系统)底层依赖ZFS(Zettabyte File System)本地文件系统,Ceph(一种分布式文件系统)底层依赖Bluefs,Netapp底层依赖WAFL(Write Anywhere File Layout,任意位置写入文件布局)等,这就从根本上决定了该系统无法以最优的方法满足不同上层应用的性能需求。
为了解决上述技术问题,本申请实施例提供了一种数据布局方法,参见图1,图1为本发明实施例提供的数据布局方法的一种流程图,包括如下步骤:
步骤S101,针对目标应用,确定每种数据访问模式的处理模式。数据访问模式包括数据创建写模式、数据更新模式和数据读取模式。数据创建写模式的处理模式为顺序写模式或随机写模式。数据更新模式的处理模式为顺序写模式或随机写模式。数据读取模式的处理模式为顺序读模式或随机读模式。
在本实施例中,应用对于存储系统的访问往往包括写请求和读请求。对于写入数据来说,可能是创建写(第一次写入数据),也可能是更新写(修改已经写入的数据)。因此写请求对应的数据访问模式包括数据创建写模式与数据更新模式。而读请求对应的数据访问模式为数据读取模式。即数据访问模式包括数据创建写模式、数据更新模式和数据读取模式。
因为写请求对应的数据访问模式的处理模式包括顺序写和随机写,读请求对应的数据访问模式包括顺序读和随机读。进而数据创建写模式的处理模式为顺序写模式或随机写模式。数据更新模式的处理模式为顺序写模式或随机写模式。数据读取模式的处理模式为顺序读模式或随机读模式。
不同的应用具有不同的读写模式特点,对于读写性能需求也不同。
因此需要针对目标应用,确定每种数据访问模式的处理模式。比如可以通过应用类型对目标应用的每种数据访问模式的处理模式进行确定。具体的,可以针对视频播放类应用、备份类应用或计算类应用等等不同类型的应用,预先确定对应于每类应用的每种数据访问模式的处理模式。针对目标应用,可以确定出其属于哪种类型,进而对应得到目标应用的每种数据访问模式的处理模式。
为了便于记录,针对目标应用,其数据访问模式可以通过一个三元组标识<数据创建写模式(X),数据更新模式(Y),数据读取模式(Z)>进行体现,其中,X可选值为:{随机写,顺序写},Y可选值为:{随机写,顺序写},Z可选值为:{随机读,顺序读}。
例如,根据数据库应用的特性及性能需求,其数据访问模式<X,Y,Z>=<随机写,随机写,随机读>。对于视频编辑应用,其典型的<X,Y,Z>=<顺序写,顺序写,顺序读>。对于某能源类HPC((High Performance Computing,高性能计算)应用,其典型的<X,Y,Z>=<随机写,随机写,顺序读>。
此外,对于某些应用在实际的应用过程中,其数据访问模式可能并不单一。例如对于数据更新模式来说,处理模式可能既有顺序写模式,又有随机写模式。此时可以以占比较多或用户认为更重要的处理模式作为数据更新模式的处理模式。
步骤S102,根据目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值。偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能。数据布局方式包括原地更新方式和异地更新方式。
在本实施例中,数据布局方式包括原地更新方式和异地更新方式。对于原地更新方式和异地更新方式的具体内容,如前所述,在此不再赘述。
在本实施例中,预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能。偏好值体现了对于数据更新方式的倾向或优先选择。具体的偏好可能因为应用的需求、性能要求、数据安全性等因素而有所不同。有些应用更倾向于原地更新方式,以追求更高的性能和速度,而有些应用则更倾向于异地更新方式,以保证数据的备份和容灾。
在本实施例中,预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值可以以表格或文档等形式给出,下面将以表格为例对预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值进行说明。
表3
;
表3表征示例性的每种数据访问模式的处理模式分别对应的数据布局方式的偏好值。在表3中,数据创建写模式的处理模式为顺序写或随机写对于原地更新方式或异地更新方式两种不同的数据布局方式无偏好,因此其值均为1。对于数据更新模式的处理模式为顺序写时,其对于原地更新方式或异地更新方式也无偏好,其偏好值也均为1。而对于数据更新模式的处理模式为随机写时,其更偏向于异地更新方式,故异地更新方式赋值为2,对原地更新方式赋值为0。对于数据读取模式的处理模式为顺序读时,其更偏向于原地更新方式,故原地更新方式赋值2,对异地更新方式赋值0。而对于数据读取模式的处理模式为随机读时,对于原地更新方式或异地更新方式两种不同的数据布局方式无偏好,因此其值均为1。
在分别得到每种数据访问模式对应的处理模式的偏好值后,根据目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值。具体的,得到每种数据访问模式下的处理模式对数据布局方式的偏好值后,将每种数据访问模式下的处理模式对原地更新方式的偏好值进行叠加得到第一偏好值,将每种数据访问模式下的处理模式对异地更新方式的偏好值进行叠加得到第二偏好值。
例如,目标应用1的数据访问模式为<X,Y,Z>=<随机写,随机写,随机读>。根据表3,该应用的数据创建写模式对原地更新方式与异地更新方式无偏好,均赋值1。数据更新模式对原地更新方式赋值0,对异地更新方式赋值2。数据读取模式对原地更新方式与异地更新方式均赋值1。因此,该应用对原地更新方式的第一偏好值为1+0+1=2,对异地更新方式的第二偏好值为1+2+1=4。
上述偏好值的取值意在以数字形式具体表现出每种数据访问模式下的处理模式对数据布局方式的偏好,因此对于偏好值的具体取值并不固定,可以由技术人员根据经验给出。此外偏好值是静态的值,不会随着时间进行改变。对于应用的每种数据访问模式下的处理模式更偏好于何种数据布局方式是由应用自身的特性与需求所决定的。
步骤S103,根据第一偏好值和第二偏好值的大小关系,确定目标应用对应的数据布局方式。
通过第一偏好值和第二偏好值的大小关系,可以确定对目标应用的数据布局方式偏好。若第一偏好值大于第二偏好值,确定目标应用对应的数据布局方式为原地更新方式。若第一偏好值小于第二偏好值,确定目标应用对应的数据布局方式为异地更新方式。
例如,以前述的目标应用1的数据访问模式为<X,Y,Z>=<随机写,随机写,随机读>为例,该目标应用对原地更新方式的第一偏好值为2,对异地更新方式的第二偏好值为4。第一偏好值小于第二偏好值,因此可以确定目标应用对应的数据布局方式为异地更新方式。若某个应用对原地更新方式的第一偏好值为5,对异地更新方式的第二偏好值为3。第一偏好值大于第二偏好值,就可以确定目标应用对应的数据布局方式为原地更新方式。
在本实施例中,确定目标应用对应的数据布局方式,对应的,也就是确定用于存储目标应用的数据的存储系统。存储系统是指用于存储和管理数据的硬件和软件组合,它负责存储、访问和保护数据,并提供数据的可靠性、可扩展性和高性能。存储系统的硬件一般包含存储控制器和存储介质。存储控制器是连接存储介质和外部主机系统的接口,它负责存储介质的管理和数据访问控制等。存储介质用于持久化保存数据,主要的存储介质包括磁盘、固态硬盘等。
在本申请方案中,可以基于目标应用,确定每种数据访问模式的处理模式和每种数据访问模式下的处理模式对数据布局方式的偏好值,进一步根据计算出的目标应用的数据布局方式的第一偏好值和第二偏好值,确定目标应用对应的数据布局方式。因为可以通过第一偏好值和第二偏好值,确定数据布局方式是选用原地更新方式还是异地更新方式,相较于现有技术中的存储系统一般在底层只采用某一种特定的数据布局方式,本申请方案可以基于应用不同读写模式特点和需求,计算出其对不同数据布局方式的第一偏好值和第二偏好值,从而灵活地选择存储系统底层数据布局方式,充分发挥存储介质能力,以满足不同类型应用的性能需求。
因存储性能的提升,在部分场景可以以较少的存储资源满足高性能应用需求,从而达到节能降耗的目的。
在计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值时,还可以结合目标应用的每种数据访问模式的使用频率指标和/或目标应用的每种数据访问模式的性能需求指标进行考虑,以得到更加适合目标应用的数据布局方式。基于此,在本申请实施例中提供了三种方案,具体如下所示。
方案1:根据目标应用在每种数据访问模式下的处理模式,偏好值以及目标应用的每种数据访问模式的使用频率指标,计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值。
使用频率指标表征目标应用的每种数据访问模式的使用需求占比。何种数据访问模式的使用需求占比越高,相应的,其使用频率指标越高。反之,何种数据访问模式的使用需求占比越低,相应的,其使用频率指标越低。使用频率指标可以通过深度学习模型进行训练得到,或通过技术人员根据经验设定。
例如,应用2在数据写入后,从不更新,但是需要反复读取。此时,其对应的数据更新模式占比可以为0%,而数据读取模式占比可以为90%,因此针对该应用的数据创建写模式、数据更新模式、数据读取模式的使用需求占比分别为10%、0%、90%。或是应用3(如备份类应用)在数据写入后,很少进行更新和读取,此时可以设置应用3的数据创建写模式、数据更新模式、数据读取模式的使用需求占比分别为98%、1%、1%。
具体的,可以通过以三元组标识<Xc,Yu,Zr>对每种访问模式的使用频率指标进行表示。Xc表示数据创建写模式的使用频率指标,其中,c为create(创建)的首字母。Yu表示数据更新模式的使用频率指标,其中,u为update(更新)的首字母。Zr表示数据读取模式的使用频率指标,其中,r为read(读)的首字母。比如对于前述应用2的每种访问模式的使用频率指标可以用<10%,0%,90%>表示。对于应用3的每种数据访问模式的使用频率指标可以用<98%,1%,1%>表示。
在计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值时,首先需要计算出每种数据访问模式下的处理模式对数据布局方式的加权值。具体的,原地更新方式加权值=原地更新方式偏好值×使用频率指标,异地更新方式加权值=异地更新方式偏好值×使用频率指标。然后对每种访问模式下的处理模式对原地更新方式的加权值与异地更新方式的加权值分别进行叠加,得到第一偏好值与第二偏好值。下面将结合下表对方案1进行进一步说明。
表4
;
结合表4,某种应用的数据访问模式<数据创建写模式,数据更新模式,数据读取模式>的处理模式为<随机写,随机写,顺序读>。其中,数据创建写模式的随机写模式对于原地更新方式和异地更新方式均赋值为1。数据更新模式的随机写模式对原地更新方式赋值为0,对异地更新方式赋值为2。数据读取模式对原地更新方式赋值为2,对异地更新方式赋值为0。根据表4,该应用的每种访问模式的使用频率指标<Xc,Yu,Zr>=<10%,10%,80%>。因为原地更新方式加权值=原地更新方式偏好值×使用频率指标,异地更新方式加权值=异地更新方式偏好值×使用频率指标。因此,该应用的数据创建写模式下的随机写模式对应的原地更新方式加权值(即数据创建写模式对原地更新方式对应的第一原地更新偏好值)=1×10%=0.1,异地更新方式加权值(即数据创建写模式对异地更新方式对应的第一异地更新偏好值)=1×10%=0.1。数据更新模式下的随机写模式对应的原地更新方式加权值(即数据更新模式对原地更新方式对应的第二原地更新偏好值)=0×10%=0,异地更新方式加权值(即数据更新模式对异地更新方式对应的第二异地更新偏好值)=2×10%=0.2。数据读取模式下的顺序读模式对应的原地更新方式加权值(即数据读取模式对原地更新方式对应的第三原地更新偏好值)=2×80%=1.6,异地更新方式加权值(即数据读取模式对异地更新方式对应的第三异地更新偏好值)=0×80%=0。进而叠加第一原地更新偏好值、第二原地更新偏好值和第三原地更新偏好值得到该应用的原地更新方式对应的第一偏好值为0.1+0+1.6=1.7,叠加第一异地更新偏好值、第二异地更新偏好值和第三异地更新偏好值得到该应用的异地更新方式对应的第二偏好值为0.1+0.2+0=0.3。
方案2:根据目标应用在每种数据访问模式下的处理模式,偏好值以及目标应用的每种数据访问模式的性能需求指标,计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值。
在本实施例中,性能需求指标表征每种数据访问模式对应的性能需求占比。某种数据访问模式对应的性能需求占比高,说明用户对某种数据访问模式更加重视,反之,如果某种数据访问模式对应的性能需求占比低,则用户对某种数据访问模式不太重视。占比越大表示用户越重视该种数据访问模式。性能需求指标可以通过深度学习模型进行训练得到,或通过技术人员根据经验设定。
例如,用户对某个应用的数据创建写模式、数据更新模式、数据读取模式性能需求占比为45%、10%、45%,则表明用户对数据创建写模式和数据读取模式的性能需求更加重视,对数据更新模式的性能需求相对不太重视。或是用户对某个应用的数据创建写模式、数据更新模式、数据读取模式性能需求占比为90%、5%、5%,则表明用户更加关心数据创建写模式,而不太关心该应用的数据更新模式和数据读取模式。
可以通过三元组标识<Xw,Yw,Zw>对每种访问模式的性能需求指标进行表示。其中,Xw表示数据创建写模式的性能需求指标,Yw表示数据更新模式的性能需求指标,Zw表示数据读取模式的性能需求指标。对上述应用X的每种访问模式的性能需求指标可以用<45%,10%,45%>进行表示。对于应用X的每种数据访问模式的性能需求指标可以用<90%,5%,5%>进行表示。
在计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值时,首先需要计算出每种数据访问模式下的处理模式对数据布局方式的加权值。具体的,原地更新方式加权值=原地更新方式偏好值×性能需求指标,异地更新方式加权值=异地更新方式偏好值×性能需求指标。然后对每种访问模式下的处理模式对原地更新方式的加权值与异地更新方式的加权值分别进行叠加,得到第一偏好值与第二偏好值。下面将结合下表对方案2进行进一步说明。
表5
;
结合表5,某种应用的数据访问模式<数据创建写模式,数据更新模式,数据读取模式>的处理模式为<随机写,随机写,顺序读>。其中,数据创建写模式的随机写模式对于原地更新方式和异地更新方式均赋值为1。数据更新模式的随机写模式对原地更新方式赋值为0,对异地更新方式赋值为2。数据读取模式对原地更新方式赋值为2,对异地更新方式赋值为0。根据表5,该应用的每种访问模式的性能需求指标<Xw,Yw,Zw>=<45%,10%,45%>。因为原地更新方式加权值=原地更新方式偏好值×性能需求指标,异地更新方式加权值=异地更新方式偏好值×性能需求指标。因此,该应用的数据创建写模式下的随机写模式对应的原地更新方式加权值(即数据创建写模式对原地更新方式对应的第一原地更新偏好值)=1×45%=0.45,异地更新方式加权值(即数据创建写模式对异地更新方式对应的第一异地更新偏好值)=1×45%=0.45。数据更新模式下的随机写模式对应的原地更新方式加权值(即数据更新模式对原地更新方式对应的第二原地更新偏好值)=0×10%=0,异地更新方式加权值(即数据更新模式对异地更新方式对应的第二异地更新偏好值)=2×10%=0.2。数据读取模式下的顺序读模式对应的原地更新方式加权值(即数据读取模式对原地更新方式对应的第三原地更新偏好值)=2×45%=0.9,异地更新方式加权值(即数据读取模式对异地更新方式对应的第三异地更新偏好值)=0×45%=0。进而叠加第一原地更新偏好值、第二原地更新偏好值和第三原地更新偏好值得到该应用的原地更新方式对应的第一偏好值为0.45+0+0.9=1.35,叠加第一异地更新偏好值、第二异地更新偏好值和第三异地更新偏好值得到该应用的异地更新方式对应的第二偏好值为0.45+0.2+0=0.65。
方案3:根据目标应用在每种数据访问模式下的处理模式,偏好值以及目标应用的每种数据访问模式的使用频率指标和目标应用的每种数据访问模式的性能需求指标,计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值。基于下表,对方案3进行进一步说明。
表6
;
在本实施例中,结合表6与方案3提供了一种示例性的数据布局方法,参见图2,图2为本发明实施例提供的数据布局方法的另一种流程图,包括如下步骤:
步骤S101,针对目标应用,确定每种数据访问模式的处理模式。数据访问模式包括数据创建写模式、数据更新模式和数据读取模式。数据创建写模式的处理模式为顺序写模式或随机写模式。数据更新模式的处理模式为顺序写模式或随机写模式。数据读取模式的处理模式为顺序读模式或随机读模式。
根据表6,针对目标应用,确定其数据创建写模式、数据更新模式和数据读取模式的处理模式分别为随机写模式,随机写模式,顺序读模式,以三元组标识<随机写模式,随机写模式,顺序读模式>进行表示。
步骤S202,根据目标应用在每种数据访问模式下的处理模式,偏好值以及目标应用的每种数据访问模式的使用频率指标和目标应用的每种数据访问模式的性能需求指标,计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值。使用频率指标表征目标应用的每种数据访问模式的使用需求占比。性能需求指标表征每种数据访问模式对应的性能需求占比。
在本实施例中,对于计算目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值,可以通过分别计算目标应用的数据创建写模式对原地更新方式和异地更新方式分别对应的第一原地更新偏好值和第一异地更新偏好值、数据更新模式对原地更新方式和异地更新方式分别对应的第二原地更新偏好值和第二异地更新偏好值和数据读取模式对原地更新方式和异地更新方式分别对应的第三原地更新偏好值和第三异地更新偏好值后,叠加第一原地更新偏好值、第二原地更新偏好值和第三原地更新偏好值得到目标应用的原地更新方式对应的第一偏好值。叠加第一异地更新偏好值、第二异地更新偏好值和第三异地更新偏好值得到目标应用的异地更新方式对应的第二偏好值。
根据表6,目标应用的每种数据访问模式的使用频率指标<Xc,Yu,Zr>=<10%,10%,45%>。目标应用的每种数据访问模式的性能需求指标<Xw,Yw,Zw>=<45%,10%,45%>。结合目标应用的数据访问模式<随机写模式,随机写模式,顺序读模式>,以及偏好值表3。对目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值的计算包括两种计算方案。
计算方案1:分别计算表6中每一种数据访问模式的原地更新方式加权值和异地更新方式加权值。其中,原地更新方式加权值=原地更新方式偏好值×使用频率指标×性能需求指标,异地更新方式加权值=异地更新方式偏好值×使用频率指标×性能需求指标。因此,对于数据创建写模式的随机写模式的原地更新方式加权值(即数据创建写模式对原地更新方式对应的第一原地更新偏好值)为1×10%×45%=0.045,其异地更新加权值(即数据创建写模式对异地更新方式对应的第一异地更新偏好值)为1×10%×45%=0.045。同理,计算数据更新模式的随机写模式的原地更新方式加权值(即数据更新模式对原地更新方式对应的第二原地更新偏好值)为0×10%×10%=0,异地更新方式加权值(即数据更新模式对异地更新方式对应的第二异地更新偏好值)为2×10%×10%=0.02。数据读取模式的顺序读模式的原地更新方式加权值(即数据读取模式对原地更新方式对应的第三原地更新偏好值)为2×80%×45%=0.72,异地更新方式加权值(即数据读取模式对异地更新方式对应的第三异地更新偏好值)为0×80%×45%=0。
分别将对应于每种数据访问模式下的处理模式的原地更新方式加权值与异地更新方式加权值相加,即可得到总的原地更新方式值和总的异地更新方式值,即第一偏好值和第二偏好值。以表6为例,其第一偏好值为0.045+0+0.72=0.765,第二偏好值为0.045+0.02+0=0.065。
计算方案2:针对目标应用,预先为设置其使用频率指标与性能需求指标分别设置权重。若更重视使用频率指标,则预先设置使用频率指标的权重大于性能需求指标的权重。反之,若更重视性能需求指标的权重,则预先设置性能需求指标的权重大于使用频率指标的权重。
例如,使用频率指标设置权重A=4,对性能需求指标设置权重B=6。分别计算表6中每种数据访问模式下的处理模式的原地更新方式加权值和异地更新方式加权值。其中,原地更新方式加权值为原地更新方式偏好值×(A×使用频率指标+B×性能需求指标),异地更新方式加权值为异地更新方式偏好值×(A×使用频率指标+B×性能需求指标)。因此,对于数据创建写模式下的随机写模式的原地更新方式加权值(即数据创建写模式对原地更新方式对应的第一原地更新偏好值)为1×(4×10%+6×45%)=3.1,异地更新方式加权值(即数据创建写模式对异地更新方式对应的第一异地更新偏好值)为1×(4×10%+6×45%)=3.1。同理,可计算数据更新模式下的随机写模式的原地更新方式加权值(即数据更新模式对原地更新方式对应的第二原地更新偏好值)为0×(4×10%+6×10%)=0,异地更新方式加权值(即数据更新模式对异地更新方式对应的第二异地更新偏好值)为2×(4×10%+6×10%)=2。数据读取模式下的顺序读模式的原地更新方式加权值(即数据读取模式对原地更新方式对应的第三原地更新偏好值)为2×(4×80%+6×45%)=11.8,异地更新方式加权值(即数据读取模式对异地更新方式对应的第三异地更新偏好值)为0×(4×80%+6×45%)=0。
分别将每种数据访问模式下的原地更新方式加权值与异地更新方式加权值分别进行叠加啊,即可得到总的原地更新方式值和总的异地更新方式值,即第一偏好值和第二偏好值。继续以表6为例,其第一偏好值为3.1+0+11.8=14.9,第二偏好值为3.1+2+0=5.1。
步骤S103,根据第一偏好值和第二偏好值的大小关系,确定目标应用对应的数据布局方式。
根据上述例子,对计算方案1得到的第一偏好值0.765与第二偏好值0.065进行比较,因0.765>0.065。最终确定目标应用对应的数据布局方式为原地更新方式。
对计算方案2得到的第一偏好值14.9与第二偏好值5.1进行比较,因14.9>5.1,确定目标应用对应的数据布局方式为原地更新方式。
在本实施例中,针对目标应用,确定每种数据访问处理模式和每种数据访问模式下的处理模式对数据布局方式的偏好值,再结合目标应用的每种数据访问模式的使用频率指标、目标应用的每种数据访问模式的性能需求指标,可以针对目标应用的特性与需求,得到更加适合的第一偏好值和第二偏好值。根据第一偏好值和第一偏好值的大小关系,确定目标应用对应的数据布局方式为原地更新方式或异地更新方式。相较于现有技术中的存储系统一般在底层只采用某一种特定的数据布局方式,本申请方案可以灵活地选择存储系统底层数据布局策略,充分发挥存储介质能力,以满足不同类型应用的性能需求。
为进一步发挥存储系统的性能,在本申请方案中还可以根据目标应用对于性能和容量的需求,在确定数据布局方式后,将目标应用的相关数据存储至数据布局方式对应的存储池中,其中,不同数据布局方式的存储池是预先划分的。以硬盘为例,参见图3,图3为本发明实施例提供的硬盘划分的一种场景示意图。在图3中,将硬盘划分为硬盘池1、硬盘池2和硬盘池3。对于不同的硬盘池,选择相同或不同的数据布局方案。硬盘池1与硬盘池2采用原地更新(In-Place)数据布局方式,硬盘池3采用异地更新(Out-Place)数据布局方式。
此外,也可以将硬盘划分为硬盘池1与硬盘池2。对硬盘池1采用In-Place数据布局方式,对硬盘池2采用Out-Place数据布局方式。具体对于将硬盘划分为几个硬盘池,如何进行划分以及划分后的每个硬盘池采用何种数据布局方式,由技术人员根据应用的特性以及经验进行设定。
在本实施例中,可以根据前述的数据布局方法,计算不同应用对数据布局的偏好,并根据偏好结果将其映射到不同存储池。这样,基于不同应用的特性和对性能的不同需求,选择不同的数据布局方式,可以最大限度发挥整个存储系统的性能。
基于相同的发明构思,本申请相应地提供了一种数据布局装置,参见图4,图4为本发明实施例提供的数据布局装置的一种结构示意图,包括:
第一确定模块401,用于针对目标应用,确定每种数据访问模式的处理模式;所述数据访问模式包括数据创建写模式、数据更新模式和数据读取模式;所述数据创建写模式的处理模式为顺序写模式或随机写模式;所述数据更新模式的处理模式为顺序写模式或随机写模式;所述数据读取模式的处理模式为顺序读模式或随机读模式。
计算模块402,用于根据所述目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能;所述数据布局方式包括原地更新方式和异地更新方式。
第二确定模块403,用于根据所述第一偏好值和所述第二偏好值的大小关系,确定所述目标应用对应的数据布局方式。
应用本发明实施例提供的一种数据布局装置,可以基于目标应用,确定每种数据访问模式的处理模式和每种数据访问模式下的处理模式对数据布局方式的偏好值,进一步根据计算出的目标应用的数据布局方式的第一偏好值和第二偏好值,确定目标应用对应的数据布局方式。因为可以通过第一偏好值和第二偏好值,确定数据布局方式是选用原地更新方式还是异地更新方式,相较于现有技术中的存储系统一般在底层只采用某一种特定的数据布局方式,本申请方案可以灵活地选择存储系统底层数据布局策略,充分发挥存储介质能力,以满足不同类型应用的性能需求。
在一种可能的实施例中,所述计算模块具体用于,根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述使用频率指标表征所述目标应用的每种数据访问模式的使用需求占比;所述性能需求指标表征每种数据访问模式对应的性能需求占比。
在一种可能的实施例中,所述计算模块,具体还用于根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,分别计算所述目标应用的数据创建写模式对原地更新方式和异地更新方式分别对应的第一原地更新偏好值和第一异地更新偏好值、数据更新模式对原地更新方式和异地更新方式分别对应的第二原地更新偏好值和第二异地更新偏好值和数据读取模式对原地更新方式和异地更新方式分别对应的第三原地更新偏好值和第三异地更新偏好值;
叠加所述第一原地更新偏好值、所述第二原地更新偏好值和所述第三原地更新偏好值得到所述目标应用的原地更新方式对应的第一偏好值;叠加所述第一异地更新偏好值、所述第二异地更新偏好值和所述第三异地更新偏好值得到所述目标应用的异地更新方式对应的第二偏好值。
在一种可能的实施例中,所述装置还包括:
存储模块,用于确定数据布局方式后,将所述目标应用的相关数据存储至数据布局方式对应的存储池中;其中,不同数据布局方式的存储池是预先划分的。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现如下步骤:
针对目标应用,确定每种数据访问模式的处理模式;所述数据访问模式包括数据创建写模式、数据更新模式和数据读取模式;所述数据创建写模式的处理模式为顺序写模式或随机写模式;所述数据更新模式的处理模式为顺序写模式或随机写模式;所述数据读取模式的处理模式为顺序读模式或随机读模式;
根据所述目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能;所述数据布局方式包括原地更新方式和异地更新方式;
根据所述第一偏好值和所述第二偏好值的大小关系,确定所述目标应用对应的数据布局方式。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一一种数据布局方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一一种数据布局方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备以及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (6)
1.一种数据布局方法,其特征在于,所述方法包括:
针对目标应用,确定每种数据访问模式的处理模式;所述数据访问模式包括数据创建写模式、数据更新模式和数据读取模式;所述数据创建写模式的处理模式为顺序写模式或随机写模式;所述数据更新模式的处理模式为顺序写模式或随机写模式;所述数据读取模式的处理模式为顺序读模式或随机读模式;
根据所述目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能;所述数据布局方式包括原地更新方式和异地更新方式;
根据所述第一偏好值和所述第二偏好值的大小关系,确定所述目标应用对应的数据布局方式;
所述根据所述目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值包括:
根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述使用频率指标表征所述目标应用的每种数据访问模式的使用需求占比;所述性能需求指标表征每种数据访问模式对应的性能需求占比;
所述根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值包括:
根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,分别计算所述目标应用的数据创建写模式对原地更新方式和异地更新方式分别对应的第一原地更新偏好值和第一异地更新偏好值、数据更新模式对原地更新方式和异地更新方式分别对应的第二原地更新偏好值和第二异地更新偏好值和数据读取模式对原地更新方式和异地更新方式分别对应的第三原地更新偏好值和第三异地更新偏好值;
叠加所述第一原地更新偏好值、所述第二原地更新偏好值和所述第三原地更新偏好值得到所述目标应用的原地更新方式对应的第一偏好值;叠加所述第一异地更新偏好值、所述第二异地更新偏好值和所述第三异地更新偏好值得到所述目标应用的异地更新方式对应的第二偏好值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定数据布局方式后,将所述目标应用的相关数据存储至数据布局方式对应的存储池中;其中,不同数据布局方式的存储池是预先划分的。
3.一种数据布局装置,其特征在于,所述装置包括:
第一确定模块,用于针对目标应用,确定每种数据访问模式的处理模式;所述数据访问模式包括数据创建写模式、数据更新模式和数据读取模式;所述数据创建写模式的处理模式为顺序写模式或随机写模式;所述数据更新模式的处理模式为顺序写模式或随机写模式;所述数据读取模式的处理模式为顺序读模式或随机读模式;
计算模块,用于根据所述目标应用在每种数据访问模式下的处理模式以及预先确定的每种数据访问模式下的处理模式对数据布局方式的偏好值,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述偏好值表征数据访问模式的处理模式在数据布局方式下的处理性能;所述数据布局方式包括原地更新方式和异地更新方式;
第二确定模块,用于根据所述第一偏好值和所述第二偏好值的大小关系,确定所述目标应用对应的数据布局方式;
所述计算模块,具体用于根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,计算所述目标应用的原地更新方式和异地更新方式分别对应的第一偏好值和第二偏好值;所述使用频率指标表征所述目标应用的每种数据访问模式的使用需求占比;所述性能需求指标表征每种数据访问模式对应的性能需求占比;
所述计算模块,具体还用于根据所述目标应用在每种数据访问模式下的处理模式,所述偏好值以及所述目标应用的每种数据访问模式的使用频率指标和/或所述目标应用的每种数据访问模式的性能需求指标,分别计算所述目标应用的数据创建写模式对原地更新方式和异地更新方式分别对应的第一原地更新偏好值和第一异地更新偏好值、数据更新模式对原地更新方式和异地更新方式分别对应的第二原地更新偏好值和第二异地更新偏好值和数据读取模式对原地更新方式和异地更新方式分别对应的第三原地更新偏好值和第三异地更新偏好值;
叠加所述第一原地更新偏好值、所述第二原地更新偏好值和所述第三原地更新偏好值得到所述目标应用的原地更新方式对应的第一偏好值;叠加所述第一异地更新偏好值、所述第二异地更新偏好值和所述第三异地更新偏好值得到所述目标应用的异地更新方式对应的第二偏好值。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
存储模块,用于确定数据布局方式后,将所述目标应用的相关数据存储至数据布局方式对应的存储池中;其中,不同数据布局方式的存储池是预先划分的。
5.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-2任一项所述的方法。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311203406.5A CN116931845B (zh) | 2023-09-18 | 2023-09-18 | 一种数据布局方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311203406.5A CN116931845B (zh) | 2023-09-18 | 2023-09-18 | 一种数据布局方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116931845A CN116931845A (zh) | 2023-10-24 |
CN116931845B true CN116931845B (zh) | 2023-12-12 |
Family
ID=88384727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311203406.5A Active CN116931845B (zh) | 2023-09-18 | 2023-09-18 | 一种数据布局方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116931845B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572659A (zh) * | 2013-10-14 | 2015-04-29 | 中兴通讯股份有限公司 | 一种实现网页布局的方法、装置及终端 |
WO2018119976A1 (zh) * | 2016-12-30 | 2018-07-05 | 日彩电子科技(深圳)有限公司 | 应用于数据仓库系统的高效优化数据布局方法 |
CN110263005A (zh) * | 2019-06-11 | 2019-09-20 | 上海科技大学 | 一种实现数据内容局部性读写优化的存储系统管理系统 |
CN114936188A (zh) * | 2022-05-30 | 2022-08-23 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115993930A (zh) * | 2021-10-19 | 2023-04-21 | 三星电子株式会社 | 用于有序访问块修改存储器中的数据的系统、方法和装置 |
CN116226041A (zh) * | 2022-12-22 | 2023-06-06 | 新华三信息技术有限公司 | 分布式文件系统中的文件读/写方法、装置和设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016090541A1 (zh) * | 2014-12-09 | 2016-06-16 | 清华大学 | 数据存储系统和数据存储方法 |
US10198206B2 (en) * | 2015-04-17 | 2019-02-05 | Hewlett-Packard Development Company, L.P. | Memory mode categorizations |
US10804930B2 (en) * | 2015-12-16 | 2020-10-13 | International Business Machines Corporation | Compressed data layout with variable group size |
US20210097044A1 (en) * | 2018-04-25 | 2021-04-01 | Stratos Idreos | Systems and methods for designing data structures and synthesizing costs |
CN111143104A (zh) * | 2019-12-29 | 2020-05-12 | 苏州浪潮智能科技有限公司 | 一种内存异常的处理方法、系统、电子设备及存储介质 |
US11941353B2 (en) * | 2021-11-11 | 2024-03-26 | The Bank Of New York Mellon | Data reuse computing architecture |
-
2023
- 2023-09-18 CN CN202311203406.5A patent/CN116931845B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572659A (zh) * | 2013-10-14 | 2015-04-29 | 中兴通讯股份有限公司 | 一种实现网页布局的方法、装置及终端 |
WO2018119976A1 (zh) * | 2016-12-30 | 2018-07-05 | 日彩电子科技(深圳)有限公司 | 应用于数据仓库系统的高效优化数据布局方法 |
CN110263005A (zh) * | 2019-06-11 | 2019-09-20 | 上海科技大学 | 一种实现数据内容局部性读写优化的存储系统管理系统 |
CN115993930A (zh) * | 2021-10-19 | 2023-04-21 | 三星电子株式会社 | 用于有序访问块修改存储器中的数据的系统、方法和装置 |
CN114936188A (zh) * | 2022-05-30 | 2022-08-23 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN116226041A (zh) * | 2022-12-22 | 2023-06-06 | 新华三信息技术有限公司 | 分布式文件系统中的文件读/写方法、装置和设备 |
Non-Patent Citations (3)
Title |
---|
云存储环境中的数据布局策略研究;邓见光;潘晓衡;赵铁柱;;东莞理工学院学报(第03期);全文 * |
基于固态硬盘的云存储分布式缓存策略;李东阳;刘鹏;丁科;田浪军;;计算机工程(第04期);全文 * |
混合S-RAID:一种适于连续数据存储的节能数据布局;刘靖宇;郑军;李元章;孙志卓;王文明;谭毓安;;计算机研究与发展(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116931845A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102929786B (zh) | 非易失性存储设备集合的易失性存储器表示 | |
JP5263561B2 (ja) | ソリッドステート大容量記憶装置のためのデータストリーミング | |
US20090157756A1 (en) | File System For Storing Files In Multiple Different Data Storage Media | |
US20090100223A1 (en) | Storage control apparatus, data archive method for storage control apparatus, and storage system | |
US8082388B2 (en) | Optimizing operational requests of logical volumes | |
US9274723B2 (en) | Storage apparatus and its control method | |
US20080270719A1 (en) | Method and system for efficient snapshot operations in mass-storage arrays | |
JP2001067187A (ja) | ストレージサブシステム及びその制御方法 | |
JP2005301627A (ja) | 記憶制御システム及び方法 | |
CN104268099B (zh) | 一种管理数据读写的方法及装置 | |
CN102221981A (zh) | 管理层信息的方法和装置 | |
JP2010015446A (ja) | ストレージ装置及び電源の制御方法 | |
CN109558457A (zh) | 一种数据写入方法、装置、设备及存储介质 | |
CN111737212A (zh) | 一种分布式文件系统提升性能的方法和设备 | |
US8200888B2 (en) | Seek time emulation for solid state drives | |
WO2011135622A1 (en) | Storage device and method of controlling storage system | |
CN101997919B (zh) | 一种存储资源的管理方法及管理装置 | |
US8627126B2 (en) | Optimized power savings in a storage virtualization system | |
CN116931845B (zh) | 一种数据布局方法、装置及电子设备 | |
CN116339643B (zh) | 一种磁盘阵列的格式化方法、装置、设备和介质 | |
JP2007193886A (ja) | ディスク装置、データ書込み制御方法およびコマンド制御方法 | |
CN115639968B (zh) | 一种对raid的容量空间的分配方法、装置、设备及介质 | |
CN107229664B (zh) | 用于管理文件系统元数据的间接数据结构 | |
CN109977092A (zh) | 一种复制文件的方法和计算设备 | |
US20040068609A1 (en) | Method of managing a data storage array, and a computer system including a raid controller |
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 |