CN116880756A - 数据存储方法及装置 - Google Patents
数据存储方法及装置 Download PDFInfo
- Publication number
- CN116880756A CN116880756A CN202310850882.XA CN202310850882A CN116880756A CN 116880756 A CN116880756 A CN 116880756A CN 202310850882 A CN202310850882 A CN 202310850882A CN 116880756 A CN116880756 A CN 116880756A
- Authority
- CN
- China
- Prior art keywords
- storage system
- metadata
- frequency
- frequency storage
- low
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000013500 data storage Methods 0.000 title claims abstract description 32
- 238000013508 migration Methods 0.000 claims abstract description 49
- 230000005012 migration Effects 0.000 claims abstract description 49
- 230000004044 response Effects 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/064—Management of blocks
-
- 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)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种数据存储方法、装置、设备及计算机可读存储介质。其中,方法包括:响应于对象存储请求,将所述对象存储至高频率存储系统,并保存对应的元数据;响应于对象访问请求,通过热度统计系统维护第一元数据队列和第二元数据队列,所述第一元数据队列统计所述高频率存储系统的访问频率,所述第二元数据队列统计低频率存储系统的访问频率;根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移。本申请实施例可以通过分层存储和基于访问频率的数据迁移,有效降低数据存储成本的同时保障数据读写性能。
Description
技术领域
本申请涉及数据存储技术领域,尤其涉及一种数据存储方法、装置、设备及计算机可读存储介质。
背景技术
纠删码(Erasure Code,EC)技术可以将原始数据分块并生成冗余数据块,然后将这些数据块分布存储在不同的节点上,通过编码技术来提高数据的可靠性和存储效率。它的原理是将n份原始数据,增加m份数据,并能通过n+m份中的任意n份数据,还原为原始数据。这样,即使有m个节点或者m份数据发生故障,也不会影响数据的完整性和可用性。EC存储相比多副本存储,可以降低数据的冗余度和存储成本。但随着数据量的不断增加,EC存储系统依然需要寻求更低的存储成本,需要根据数据的访问热度选择不同成本的EC存储系统分层存储。
发明内容
本申请实施例提供一种数据存储方法、装置、设备及计算机可读存储介质,以解决相关技术存在的问题,技术方案如下:
第一方面,本申请实施例提供了一种数据存储方法,包括:
响应于对象存储请求,将所述对象存储至高频率存储系统,并保存对应的元数据;
响应于对象访问请求,通过热度统计系统维护第一元数据队列和第二元数据队列,所述第一元数据队列统计所述高频率存储系统的访问频率,所述第二元数据队列统计低频率存储系统的访问频率;
根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移。
第二方面,本申请实施例提供了一种数据存储装置,包括:
存储模块,用于响应于对象存储请求,将所述对象存储至高频率存储系统,并保存对应的元数据;
统计模块,用于响应于对象访问请求,通过热度统计系统维护第一元数据队列和第二元数据队列,所述第一元数据队列统计所述高频率存储系统的访问频率,所述第二元数据队列统计低频率存储系统的访问频率;
迁移模块,用于根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,以使至少一个处理器能够执行上述数据存储方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储计算机指令,当计算机指令在计算机上运行时,上述各方面任一种实施方式中的方法被执行。
上述技术方案中的优点或有益效果至少包括:
本申请实施例根据访问频率对EC存储集群分层,高频率存储系统满足业务读写性能要求,低频率存储系统需要有更低的存储成本。另外,通过统计高频率存储系统条带访问热度,触发对象从高频率存储系统到低频率存储系统的迁移;通过统计低频率存储系统对象访问热度,触发对象从低频率存储系统到高频率存储系统的迁移。由此,既可以有效降低数据存储的成本,又可以保障数据的可靠性和读写效率。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本申请进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请公开的一些实施方式,而不应将其视为是对本申请范围的限制。
图1示出根据本申请一实施例的数据存储方法的应用场景示意图。
图2示出根据本申请一实施例的数据存储方法的流程示意图。
图3示出图2中步骤S230的一种子流程示意图。
图4示出图2中步骤S230的另一种子流程示意图。
图5示出图4中步骤S233的一种迁移过程示意图。
图6示出根据本申请一实施例的数据存储装置的示意性结构框图。
图7是用来实现本申请实施例的数据存储方法的电子设备的框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
随着数据量的不断增加,EC存储系统需要寻求更低的存储成本,需要根据数据的访问热度选择不同成本的EC存储系统分层存储。但是,现有的EC存储技术没有明确的分层存储方案,需要用户预先选择高频率存储或者低频率存储,不够灵活。并且,不同的EC存储系统对访问频率的限制不同,低频率存储系统对于访问突增的情况,没有明确的处理方案。
基于上述技术缺陷,本申请实施例提供一种数据存储方法,根据访问频率对EC存储集群分层,并且可以实现对象在高频率存储系统和低频率存储系统之间的迁移。
以下为本申请实施例中可能涉及到的名词术语解释:
对象存储:也叫做基于对象的存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。对象在一个层结构中不会再有层级结构,是以扩展元数据为特征的。对象存储包括存储元数据和存储对象数据块(对象),对象数据块存储在相应的存储系统,元数据存储在元数据系统。需要读取数据时先读取元数据,再根据元数据记录的物理存储位置读取对象数据块。
元数据(Metadata):又称中介数据、中继数据,为描述数据的数据,主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
纠删码(EC):是一种数据保护方法,它将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的位置。
条带(Stripe):是把连续的数据分割成相同大小的块,把每段数据分别写入到阵列中的不同磁盘上的方法。
图1示出根据本申请一实施例的数据存储方法的应用场景示意图。如图1所示,用户发送数据存储请求,将需要存储的数据上传至S3网关,S3网关将数据传输至计算节点,以对数据进行存储。在本申请实施例中,数据存储系统包括高频率存储系统和低频率存储系统,将数据存储至数据存储系统时,首先将对象存入高频率存储系统,并将相应的元数据存储至元数据系统。热度统计系统维护两个元数据队列,第一元数据队列以条带为粒度统计高频率存储系统对应的元数据的访问频率,第二元数据队列以对象为粒度统计低频率存储系统对应的元数据的访问频率。热度统计系统从配置中心获取访问频率阈值。当第一元数据队列中的有元数据所在条带的访问频率低于某一预设阈值时,将该条带全部对象的元数据从第一元数据队列移动到第二元数据队列,并启动迁移任务。迁移服务将该条带的全部对象数据从高频率存储系统迁移至低频率存储系统。
另外,当第二元数据队列中的有元数据的访问频率高于另一预设阈值时,将该元数据从第二元数据队列移动到第一元数据队列,并启动迁移任务。迁移服务从低频率存储系统读取该元数据对应的对象数据,通过计算节点EC编码后写入高频率存储系统。
在一个示例中,所述高频率存储系统和所述低频率存储系统可以都是EC存储系统。根据访问频率对EC存储集群分层,高频率存储系统需要满足业务读写性能要求,低频率存储系统需要有更低的存储成本。低频率存储系统节点通常是固定规格的网卡对应更多的磁盘,对访问频率有严格的限制,访问频率限制由节点网卡规格、磁盘规模、文件大小共同决定。在另一个示例中,所述低频率存储系统也可以选择存储成本更低的云存储等其他存储系统。
图2示出根据本申请一实施例的数据存储方法的流程图。如图2所示,该数据存储方法可以包括:
S210,响应于对象存储请求,将所述对象存储至高频率存储系统,并保存对应的元数据。
本申请实施例中,数据存储系统分为高频率存储系统和低频率存储系统。高频率存储系统需要满足业务读写性能要求,低频率存储系统需要有更低的存储成本。当用户请求对数据进行对象存储时,首先将所述对象存储至所述高频率存储系统。后续如果发现所述对象访问频率较低,则可能会迁移至所述低频率存储系统。当完成所述对象的存储后,将相应的元数据存储至元数据系统。所述元数据可以记录所述对象的物理存储位置,即所述对象存储在所述高频率存储系统或所述低频率存储系统的具体位置。
S220,响应于对象访问请求,通过热度统计系统维护第一元数据队列和第二元数据队列,所述第一元数据队列统计所述高频率存储系统的访问频率,所述第二元数据队列统计低频率存储系统的访问频率。
当用户请求访问某个对象数据时,首先通过所述元数据系统读取所述对象对应的元数据,得到相应的物理存储位置,然后根据所述物理存储位置从所述高频率存储系统或所述低频率存储系统中获取所述对象数据。
热度统计系统用于对元数据访问频率进行统计。在本申请实施例中,热度统计系统维护两个元数据队列,其中,第一元数据队列用于统计所述高频率存储系统的访问频率,第二元数据队列统计低频率存储系统的访问频率。当接收到用户的对象访问请求后,所述对象对应元数据的访问计数加一。
在一个示例中,所述第一元数据队列和所述第二元数据队列都可以以对象为粒度统计所述高频率存储系统和所述低频率存储系统对应的元数据的访问频率。但在一个优选示例中,所述第一元数据队列以条带为粒度统计所述高频率存储系统对应的元数据的访问频率,所述第二元数据队列以对象为粒度统计所述低频率存储系统对应的元数据的访问频率。
S230,根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移。
本申请实施例中,根据所述低频率存储系统的访问频率限制,可以确定热度统计系统触发阈值,并在配置中心进行配置。此处主要是指从所述低频率存储系统向所述高频率存储系统迁移时的触发阈值(下述的第二阈值)。因为当某个对象元数据访问频率超过所述低频率存储系统的访问频率限制时,该对象则不再适合存储在所述低频率存储系统。因此此处的触发阈值可以配置为小于或等于所述低频率存储系统本身的访问频率限制。所述访问频率限制可以由所述低频率存储系统的节点网卡规格、磁盘规模、文件大小等共同决定。
而从所述高频率存储系统向所述低频率存储系统迁移时的触发阈值(下述第一阈值、第三阈值)主要可以由成本等因素决定,可以根据实际需求在配置中心进行配置,在此不再赘述。
在一种实施方式中,如图3所示,步骤S230包括:
S231,在所述第一元数据队列中的第一目标元数据的访问频率低于第一阈值的情况下,将所述高频率存储系统中与所述第一目标元数据对应的对象迁移至所述低频率存储系统。
在一种示例中,首先将所述第一目标元数据从所述第一元数据队列移动到所述第二元数据队列,同时触发创建迁移任务。迁移服务从所述高频率存储系统中读取所述第一目标元数据对应的对象数据,直接写入所述低频率存储系统。迁移完成后在元数据系统中修改所述第一目标元数据的物理存储位置映射关系,即该对象对应的物理存储位置从所述高频率存储系统中的具体存储位置修改为所述低频率存储系统中的具体存储位置。后续接收到该对象的数据读取请求后,会从所述低频率存储系统中获取对象数据。最后,直接从所述高频率存储系统中删除该对象数据,释放对应的存储空间。
S232,在所述第二元数据队列中的第二目标元数据的访问频率高于第二阈值的情况下,将所述低频率存储系统中与所述第二目标元数据对应的对象迁移至所述高频率存储系统。
在一种示例中,首先将所述第二目标元数据从所述第二元数据队列移动到所述第一元数据队列,同时触发创建迁移任务。迁移服务从所述低频率存储系统中读取第二目标元数据对应的对象数据,通过计算节点EC编码后,写入所述高频率存储系统。迁移完成后在元数据系统中修改所述第二目标元数据的物理存储位置映射关系,即该对象对应的物理存储位置从所述低频率存储系统中的具体存储位置修改为所述高频率存储系统中的具体存储位置。后续接收到该对象的数据读取请求后,会从所述高频率存储系统中获取对象数据。最后,从所述低频率存储系统中删除所述第二目标元数据对应的该对象,并等待垃圾回收器(GarbageCollection,GC)释放存储空间。
本实施方式对应所述第一元数据队列和所述第二元数据队列都以对象为粒度进行访问频率统计的情况。
在另一种实施方式中,如图4所示,步骤S230包括:
S233,在所述第一元数据队列中的第一目标条带的访问频率低于第三阈值的情况下,将所述高频率存储系统中与所述第一目标条带对应的全部对象迁移至所述低频率存储系统。
在一种示例中,首先将所述第一目标条带的全部元数据从所述第一元数据队列移动到所述第二元数据队列,同时触发创建迁移任务。迁移服务从所述高频率存储系统中读取所述第一目标条带对应的全部对象数据,直接写入所述低频率存储系统。迁移完成后在元数据系统中修改所述第一目标条带对应的全部对象的元数据物理存储位置映射关系,也就是该条带所有对象对应的物理存储位置从所述高频率存储系统中的具体存储位置修改为所述低频率存储系统中的具体存储位置。后续接收到该条带中任意对象的数据读取请求后,会从所述低频率存储系统中获取对象数据。最后,从所述高频率存储系统直接删除所述第一目标条带对应的全部对象数据,释放所述第一目标条带对应的存储空间。
图5示出所述步骤S233的一种迁移过程示意图。如图5所示,当所述第一元数据队列中的元数据所在条带的访问频率低于第三阈值时,触发该条带全部对象从所述高频率存储系统至所述低频率存储系统的迁移。具体迁移过程可以参见上述步骤S233的描述,在此不再赘述。
S234,在所述第二元数据队列中的第二目标元数据的访问频率高于第二阈值的情况下,将所述低频率存储系统中与所述第二目标元数据对应的对象迁移至所述高频率存储系统。
该步骤的具体过程与上述步骤S232类似,在此不再赘述。
本实施方式对应所述第一元数据队列和所述第二元数据队列分别以条带和对象为粒度进行访问频率统计的情况。在本实时方式中,触发从高频率存储系统到低频率存储系统的迁移条件以条带为粒度,而触发从低频率存储系统到高频率存储系统的迁移条件以对象为粒度。这是因为以条带为粒度触发迁移,不需要EC编码,流程更简单,可以减少编码算力开销。而低频率存储系统的访问频率限制是以对象为粒度的,因此迁移条件也需要以对象为粒度。也就是说,某个对象的元数据访问频率超过所述低频率存储系统的访问频率限制时,就需要将该对象迁移至所述高频率存储系统。
值得注意的是,在一种可选实施方式中,可以定时对所述第一元数据队列和所述第二元数据队列进行扫描,根据访问频率和上述各阈值移动所述第一元数据队列和所述第二元数据队列中的元数据。具体而言,为所述第一元数据队列和所述第二元数据队列分别分配一个定时器,定时触发扫描任务。所述第一元数据队列从尾部开始扫描,如果达到淘汰条件(第一目标元数据的访问频率低于第一阈值或第一目标条带的访问频率低于第三阈值),则将相应元数据从所述第一元数据队列中删除,加入到第二元数据队列尾部。所述第二元数据队列从头部开始扫描,如果达到恢复条件(第二目标元数据的访问频率高于第二阈值),则将对应元数据从所述第二元数据队列删除,加入到第一元数据队列头部。
图6示出根据本申请一实施例的数据存储装置400的结构框图。如图6所示,该数据存储装置400可以包括:
存储模块410,用于响应于对象存储请求,将所述对象存储至高频率存储系统,并保存对应的元数据;
统计模块420,用于响应于对象访问请求,通过热度统计系统维护第一元数据队列和第二元数据队列,所述第一元数据队列统计所述高频率存储系统的访问频率,所述第二元数据队列统计低频率存储系统的访问频率;
迁移模块430,用于根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移。
在一种实施方式中,迁移模块430,用于:
在所述第一元数据队列中的第一目标元数据的访问频率低于第一阈值的情况下,将所述高频率存储系统中与所述第一目标元数据对应的对象迁移至所述低频率存储系统。
在一种实施方式中,迁移模块430,还用于:
在所述第二元数据队列中的第二目标元数据的访问频率高于第二阈值的情况下,将所述低频率存储系统中与所述第二目标元数据对应的对象迁移至所述高频率存储系统。
在一种实施方式中,所述第一元数据队列以条带为粒度统计所述高频率存储系统对应的元数据的访问频率;
所述第二元数据队列以对象为粒度统计所述低频率存储系统对应的元数据的访问频率。
在一种实施方式中,迁移模块430,还用于:
在所述第一元数据队列中的第一目标条带的访问频率低于第三阈值的情况下,将所述高频率存储系统中与所述第一目标条带对应的全部对象迁移至所述低频率存储系统。
在一种实施方式中,迁移模块430,具体用于:
将所述第一目标条带的全部元数据从所述第一元数据队列移动到所述第二元数据队列,并触发迁移任务;
从所述高频率存储系统中读取所述第一目标条带对应的全部对象数据,写入所述低频率存储系统;
修改所述第一目标条带对应的全部对象的元数据物理存储位置映射关系;
从所述高频率存储系统释放所述第一目标条带对应的存储空间。
在一种实施方式中,迁移模块430,具体用于:
将所述第二目标元数据从所述第二元数据队列移动到所述第一元数据队列,并触发迁移任务;
从所述低频率存储系统中读取第二目标元数据对应的对象数据,通过纠删码编码后写入所述高频率存储系统;
修改所述第二目标元数据的物理存储位置映射关系;
从所述低频率存储系统中删除第二目标元数据对应的对象,并等待垃圾回收器释放存储空间。
在一种实施方式中,所述第二阈值根据所述低频率存储系统的访问频率限制进行配置。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图7示出根据本申请一实施例的电子设备的结构框图。如图7所示,该电子设备包括:存储器510和处理器520,存储器510内存储有可在处理器520上运行的指令。处理器520执行该指令时实现上述实施例中的数据存储方法。存储器510和处理器520的数量可以为一个或多个。该电子设备旨在表示各种形式的数字计算机,诸如,服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
该电子设备还可以包括通信接口530,用于与外界设备进行通信,进行数据交互传输。各个设备利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器520可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器510、处理器520及通信接口530集成在一块芯片上,则存储器510、处理器520及通信接口530可以通过内部接口完成相互间的通信。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Dignal Processing,DSP)、专用集成电路(Application Specific Sntegrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
本申请实施例提供了一种计算机可读存储介质(如上述的存储器510),其存储有计算机指令,该程序被处理器执行时实现本申请实施例中提供的方法。
可选的,存储器510可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据数据存储方法的电子设备的使用所创建的数据等。此外,存储器510可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器510可选包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接至数据存储方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个(两个或两个以上)用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种数据存储方法,其特征在于,包括:
响应于对象存储请求,将所述对象存储至高频率存储系统,并保存对应的元数据;
响应于对象访问请求,通过热度统计系统维护第一元数据队列和第二元数据队列,所述第一元数据队列统计所述高频率存储系统的访问频率,所述第二元数据队列统计低频率存储系统的访问频率;
根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移。
2.根据权利要求1所述的方法,其特征在于,所述根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移包括:
在所述第一元数据队列中的第一目标元数据的访问频率低于第一阈值的情况下,将所述高频率存储系统中与所述第一目标元数据对应的对象迁移至所述低频率存储系统。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移包括:
在所述第二元数据队列中的第二目标元数据的访问频率高于第二阈值的情况下,将所述低频率存储系统中与所述第二目标元数据对应的对象迁移至所述高频率存储系统。
4.根据权利要求1所述的方法,其特征在于,所述第一元数据队列统计所述高频率存储系统的访问频率,所述第二元数据队列统计低频率存储系统的访问频率包括:
所述第一元数据队列以条带为粒度统计所述高频率存储系统对应的元数据的访问频率;
所述第二元数据队列以对象为粒度统计所述低频率存储系统对应的元数据的访问频率。
5.根据权利要求4所述的方法,其特征在于,所述根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移包括:
在所述第一元数据队列中的第一目标条带的访问频率低于第三阈值的情况下,将所述高频率存储系统中与所述第一目标条带对应的全部对象迁移至所述低频率存储系统。
6.根据权利要求5所述的方法,其特征在于,所述将所述高频率存储系统中与所述第一目标条带对应的全部对象迁移至所述低频率存储系统包括:
将所述第一目标条带的全部元数据从所述第一元数据队列移动到所述第二元数据队列,并触发迁移任务;
从所述高频率存储系统中读取所述第一目标条带对应的全部对象数据,写入所述低频率存储系统;
修改所述第一目标条带对应的全部对象的元数据物理存储位置映射关系;
从所述高频率存储系统释放所述第一目标条带对应的存储空间。
7.根据权利要求3所述的方法,其特征在于,所述将所述低频率存储系统中与所述第二目标元数据对应的对象迁移至所述高频率存储系统包括:
将所述第二目标元数据从所述第二元数据队列移动到所述第一元数据队列,并触发迁移任务;
从所述低频率存储系统中读取第二目标元数据对应的对象数据,通过纠删码编码后写入所述高频率存储系统;
修改所述第二目标元数据的物理存储位置映射关系;
从所述低频率存储系统中删除第二目标元数据对应的对象,并等待垃圾回收器释放存储空间。
8.根据权利要求3所述的方法,其特征在于,所述第二阈值根据所述低频率存储系统的访问频率限制进行配置。
9.一种数据存储装置,其特征在于,包括:
存储模块,用于响应于对象存储请求,将所述对象存储至高频率存储系统,并保存对应的元数据;
统计模块,用于响应于对象访问请求,通过热度统计系统维护第一元数据队列和第二元数据队列,所述第一元数据队列统计所述高频率存储系统的访问频率,所述第二元数据队列统计低频率存储系统的访问频率;
迁移模块,用于根据所统计的访问频率触发所述高频率存储系统和所述低频率存储系统之间的对象迁移。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310850882.XA CN116880756A (zh) | 2023-07-11 | 2023-07-11 | 数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310850882.XA CN116880756A (zh) | 2023-07-11 | 2023-07-11 | 数据存储方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116880756A true CN116880756A (zh) | 2023-10-13 |
Family
ID=88263863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310850882.XA Pending CN116880756A (zh) | 2023-07-11 | 2023-07-11 | 数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116880756A (zh) |
-
2023
- 2023-07-11 CN CN202310850882.XA patent/CN116880756A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3726364B1 (en) | Data write-in method and solid-state drive array | |
EP3617867B1 (en) | Fragment management method and fragment management apparatus | |
US11579777B2 (en) | Data writing method, client server, and system | |
CN107329704B (zh) | 一种缓存镜像方法及控制器 | |
JP6526235B2 (ja) | データチェック方法および記憶システム | |
CN114860163B (zh) | 一种存储系统、内存管理方法和管理节点 | |
CN110858162B (zh) | 内存管理方法及装置、服务器 | |
CN106776147B (zh) | 一种差异数据备份方法和差异数据备份装置 | |
CN109582213B (zh) | 数据重构方法及装置、数据存储系统 | |
CN110096220B (zh) | 一种分布式存储系统、数据处理方法和存储节点 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
US11914894B2 (en) | Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system | |
US20170147491A1 (en) | Method and apparatus for data cache in converged system | |
JP6653370B2 (ja) | ストレージシステム | |
CN113495889A (zh) | 一种分布式对象存储方法、装置、电子设备及存储介质 | |
CN109144403B (zh) | 一种用于云盘模式切换的方法与设备 | |
US10228885B2 (en) | Deallocating portions of data storage based on notifications of invalid data | |
CN109753224B (zh) | 存储结构及存储结构配置方法 | |
US9606909B1 (en) | Deallocating portions of provisioned data storage based on defined bit patterns indicative of invalid data | |
CN118051179A (zh) | 用于使用多个分区的分区命名空间存储的技术 | |
CN113377278A (zh) | 固态硬盘、垃圾回收及控制方法、设备、系统及存储介质 | |
CN109739688B (zh) | 快照资源空间管理方法、装置、电子设备 | |
CN109508140B (zh) | 存储资源管理方法、装置、电子设备及电子设备、系统 | |
CN116880756A (zh) | 数据存储方法及装置 | |
CN115904795A (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 |