CN113468274A - 数据存储方法和装置、存储介质及电子设备 - Google Patents

数据存储方法和装置、存储介质及电子设备 Download PDF

Info

Publication number
CN113468274A
CN113468274A CN202110858685.3A CN202110858685A CN113468274A CN 113468274 A CN113468274 A CN 113468274A CN 202110858685 A CN202110858685 A CN 202110858685A CN 113468274 A CN113468274 A CN 113468274A
Authority
CN
China
Prior art keywords
mapping
storage
data
partition
current
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
Application number
CN202110858685.3A
Other languages
English (en)
Inventor
寇耀飞
周明伟
江文龙
王志豪
李文勇
罗心
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202110858685.3A priority Critical patent/CN113468274A/zh
Publication of CN113468274A publication Critical patent/CN113468274A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/278Data partitioning, e.g. horizontal or vertical partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种数据存储方法和装置、存储介质及电子设备。其中,该方法包括:在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区,其中,存储区域内还包括目标存储扇区所在的存储分区;在当前数据的当前存储时间处于当前映射分区对应的预设时间区间内的情况下,从当前映射分区中确定出目标映射扇区;将当前数据存储在目标映射扇区中。本发明解决了由于映射区域的存储空间不能及时释放而导致的前端数据不能被映射保存的技术问题。

Description

数据存储方法和装置、存储介质及电子设备
技术领域
本发明涉及计算机领域,具体而言,涉及一种数据存储方法和装置、存储介质及电子设备。
背景技术
当前在视频监控场景下的分布式存储集群中,来自前端摄像头的业务压力自从项目部署后就会一直存在,因此就要求存储集群能够提供安全可靠的持续写入能力,从而避免前端录像和图片未能被及时保存的现象出现。
但是,数据节点中的机械硬盘在使用过程中,可能会因存储介质的老化、外界干扰等原因,而出现某些扇区的损坏。这时就需要在数据节点中,通过软件手段,为无法完成写入的坏扇区找到相同大小的一段存储空间,从而确保前端数据的及时落盘,上述过程通常被称作硬盘的坏块映射。
而在现有的坏块映射中,针对SMR硬盘,虽然其容量较大,但由于其写入和删除的顺序性,通常会发生虽然映射区域中的扇区内文件被清除,但是映射区域的容量并不能被释放,从而导致与映射区域的存储空间不能被即使释放,进而无法继续提供坏块映射功能而导致前端数据不能及时保存的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据存储方法和装置、存储介质及电子设备,以至少解决由于映射区域的存储空间不能及时释放而导致的前端数据不能被映射保存的技术问题。
根据本发明实施例的一个方面,提供了一种数据存储方法,包括:在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区,其中,上述存储区域内还包括上述目标存储扇区所在的存储分区;在上述当前数据的当前存储时间处于上述当前映射分区对应的预设时间区间内的情况下,从上述当前映射分区中确定出目标映射扇区;将上述当前数据存储在上述目标映射扇区中。
根据本发明实施例的另一方面,还提供了一种数据存储装置,包括:获取单元,用于在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区,其中,上述存储区域内还包括上述目标存储扇区所在的存储分区;确定单元,用于在上述当前数据的当前存储时间处于上述当前映射分区对应的预设时间区间内的情况下,从上述当前映射分区中确定出目标映射扇区;存储单元,用于将上述当前数据存储在上述目标映射扇区中。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述数据存储方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的数据存储方法。
在本发明实施例中,采用在为当前数据分配的存储扇区是损坏扇区的情况下,确定当前用于映射存储的当前映射分区,在当前数据的当前存储时间位于当前映射分区对应的预设时间区间的情况下,从当前映射分区中确定出用于存储当前数据的目标映射扇区的方式,通过判断当前存储时间是否处于当前映射分区的预设时间区间,在当前存储时间在预设时间区域的情况下,才将当前数据存入当前映射分区的目标映射扇区中,达到了当前映射分区内的存入的数据的存储时间均位于预设时间区间内,从而使得当前映射分区内存储的数据的生命周期较为集中的到期,实现对当前映射分区内存储的数据进行集中清除,以释放当前映射分区的存储空间的目的,从而实现了及时释放映射分区的存储空间的技术效果,进而解决了由于映射区域的存储空间不能及时释放而导致的前端数据不能被映射保存的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的数据存储方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的数据存储方法的流程示意图;
图3是根据本发明实施例的一种可选的数据存储方法的流程示意图;
图4是根据本发明实施例的一种可选的数据存储方法的流程示意图;
图5是根据本发明实施例的一种可选的数据存储方法的流程示意图;
图6是根据本发明实施例的一种可选的数据存储方法的流程示意图;
图7是根据本发明实施例的一种可选的数据存储方法的流程示意图;
图8是根据本发明实施例的一种可选的数据存储装置的结构示意图;
图9是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种数据存储方法,可选地,上述数据存储方法可以但不限于应用于如图1所示的环境中。终端设备102通过网络110与服务器112进行数据交互,以实现终端设备102的数据存储。服务器112连接有N个数据节点,用于数据存储。服务器112中设置有处理引擎116,用于处理数据存储,以实现将当前数据存入数据节点中。
终端设备102中的当前数据的数据存储不限于通过S102至S106实现。确定当前映射分区。在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区,存储区域内还包括目标存储扇区所在的存储分区。确定出目标映射扇区。在当前数据的当前存储时间处于当前映射分区对应的预设时间区间内的情况下,从当前映射分区中确定出目标映射扇区。将当前数据存储在目标映射扇区中。
可选地,在本实施例中,上述终端设备可以是配置有目标客户端的终端设备,可以包括但不限于以下至少之一:手机(如Android手机、IOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。目标客户端可以是视频客户端、即时通信客户端、浏览器客户端、教育客户端等。上述网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述服务器可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述仅是一种示例,本实施例中对此不作任何限定。
作为一种可选的实施方式,如图2所示,上述数据存储方法包括:
S202,在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区。
在上述步骤S202中,存储区域内还包括目标存储扇区所在的存储分区。存储区域包括多个存储分区和多个映射分区,存储分区用于按照预设存储顺序依次用于数据存储,映射分区为存储区域中为数据映射预留的映存储分区,用于在存储分区中的存储扇区损坏的情况下,将原本要存入存储扇区的数据存入映射分区中的映射扇区中,通过数据映射列表记录数据的存储映射关系,以便于数据的存储和读取。
可选地,为当前数据分配的目标存储扇区不限于是按照存储序列确定的存储扇区。存储序列不限于按照存储时间、存储文件大小确定位于当前存储序列的存储扇区。例如,按照存储时间依次将数据存入存储区域中的存储分区的存储扇区中。还可以按照存储文件大小确定匹配的存储分区,从而按照存储时间依次存入该存储分区的存储扇区中。
可选地,损坏扇区列表用于指示存储区域中处于损坏状态的扇区,通过损坏扇区列表确定每个扇区是否满足数据存储条件。损坏状态的扇区不能满足数据存储条件。
S204,在当前数据的当前存储时间处于当前映射分区对应的预设时间区间内的情况下,从当前映射分区中确定出目标映射扇区。
可选地,为映射分区设置时间区间,用于指示限定存入映射分区的时间区间。预设时间区间不限于是时间阈值,例如,24小时,一周,一个月。时间区间的具体数值在此不做限定。
可选地,当前映射分区的时间区间为当前映射分区从启用时刻为起始时刻的当前时间区间。启用时刻为当前映射分区中第一个数据的存入时刻。在当前映射分区处于空闲状态,在没有存入数据的情况下,不进行时间区间的计算。
S206,将当前数据存储在目标映射扇区中。
可选地,目标映射扇区为当前映射分区中位于映射序列的扇区。按照映射序列确定的目标映射扇区,映射序列不限于按照映射时间、映射文件大小确定位于当前映射序列的存储扇区。例如,按照映射时间依次将数据存入映射分区的映射扇区中。
可选地,存储区域可以但不限于是存储介质中的存储空间,存储介质不限于是硬盘等。在数据存储时,一个数据节点可以但不限于配置多个硬盘。损坏扇区列表不限于在硬盘上线时获取,在硬盘使用过程中更新。
硬盘上线过程不限于如图3所示。S302,硬盘接入数据节点。S304,数据节点处理与硬盘上线请求,并扫描硬盘中的损坏扇区列表。S306,判断是否存在损坏扇区列表。在S306判断为是的情况下,执行S308,判断损坏扇区列表是否为空。在S308判断为否的情况下,执行S310,将损坏扇区列表记载到数据节点中。在损坏扇区列表加载完成的情况下,执行S312,建立数据文件与在硬盘中的存储的扇区的关联关系。在关联关系建立后,S314,硬盘上线完成。在S306判断为否的情况下,执行S316,预留映射分区,并建立空的损坏扇区列表。建立空的损坏扇区列表后执行S312。
在本申请实施例中,采用在为当前数据分配的存储扇区是损坏扇区的情况下,确定当前用于映射存储的当前映射分区,在当前数据的当前存储时间位于当前映射分区对应的预设时间区间的情况下,从当前映射分区中确定出用于存储当前数据的目标映射扇区的方式,通过判断当前存储时间是否处于当前映射分区的预设时间区间,在当前存储时间在预设时间区域的情况下,才将当前数据存入当前映射分区的目标映射扇区中,达到了当前映射分区内的存入的数据的存储时间均位于预设时间区间内,从而使得当前映射分区内存储的数据的生命周期较为集中的到期,实现对当前映射分区内存储的数据进行集中清除,以释放当前映射分区的存储空间的目的,从而实现了及时释放映射分区的存储空间的技术效果,进而解决了由于映射区域的存储空间不能及时释放而导致的前端数据不能被映射保存的技术问题。
作为一种可选的实施方式,所述将当前数据存储在目标映射扇区中包括:
将目标映射扇区记录在数据映射列表中与目标存储扇区关联的位置;
按照数据映射列表,将当前数据存储在目标映射扇区中。
可选地,为存储区域建立数据映射列表,用于记录数据存储位置,便于数据读取。在数据映射列表中,存储数据与存储位置之间的关联关系。在存储扇区处于损坏状态下,将映射分区中的目标映射扇区记录在数据映射列表中,以记录数据存储的准确位置。例如,通过将目标映射扇区记录在与目标存储扇区关联的位置,以实现将当前数据、目标存储扇区和目标映射扇区的对应关系记录在数据映射列表中。
可选地,在目标存储扇区未达到数据存储条件的情况下,在数据映射列表中只记录当前数据和目标存储扇区之间的存储关系。
在本申请实施例中,在存储扇区损坏的情况下,将为当前数据映射存储的目标映射扇区添加在数据映射列表中,实现当前数据的映射存储,同时利用数据映射列表记录数据与准确地存储位置的关联关系,既实现了在前端无感知的情况下,实现数据的存储,还通过数据的记录实现数据的准确记录,以便于数据的读取。
作为一种可选的实施方式,如图4所示,上述在获取存储区域中的当前映射分区之前,方法还包括:
S402,获取存储区域对应的损坏扇区列表,其中,损坏扇区列表用于记录存储区域中未达到数据存储条件的扇区;
S404,在损坏扇区列表中查找到目标存储扇区的情况下,确定目标存储扇区位于损坏扇区列表中。
可选地,在接收到当前数据的存储请求的情况下,确定为当前数据分配的目标存储扇区,并在损坏扇区列表中查找目标存储扇区。损坏扇区列表不限于以扇区标识的方式存储处于损坏状态的存储扇区。
可选地,在从损坏扇区列表中查找到目标存储扇区的扇区标识的情况下,确定目标存储扇区处于损坏状态,未达到数据存储条件,需要为当前数据进行映射存储。
在本申请实施例中,通过损坏扇区列表确定为目标存储扇区是否达到数据存储条件,当在损坏扇区列表中查找到目标存储扇区的情况下,确定目标存储扇区处于损坏状态,未达到数据存储条件,需要在映射分区中进行数据映射存储。
作为一种可选的实施方式,上述获取存储区域中的当前映射分区之后,方法还包括:
S1,在当前存储时间超出当前映射分区的预设时间区间的情况下,将位于当前映射分区的下一序位的映射分区确定为目标映射分区;
S2,从目标映射分区中确定用于当前数据存储的目标映射扇区。
可选地,在获取到当前映射分区的情况下,判断当前存储时间是否处于当前映射分区的的预设时间区间内。预设时间区间不限于是以当前映射分区的启用时刻为起始时刻,在时间阈值内的时间段。时间阈值是为映射分区设置的有效时间间隔。当前映射分区的启用时刻为当前映射分区的第一个数据存入的时刻。
可选地,判断当前存储时间是否处于当前映射分区的预设时间区间不限于经过以下步骤:
S1,获取当前映射分区的时间阈值和启用时刻;
S2,计算当前存储时间与启用时刻的时间差值;
S3,比对时间差值和时间阈值;
S4,在时间差值小于等于时间阈值的情况下,确定当前存储时间位于预设时间区间内;
S5,在时间差值大于时间阈值的情况下,确定给当前存储时间不在预设时间区域内。
以具体示例进行进一步说明,假设当前映射分区的时间阈值为7天,启用时刻是7/21-16:00。在当前存储时间是7/24-18:00,其与启用时刻的时间差值是3-2:00,小于7天,因此,当前存储时间位于当前映射分区的预设时间区间内。
可选地,不限于通过时间阈值和启用时刻直接计算得到预设时间区间,在启用时刻上累加时间阈值,以确定预设时间区间所指示的时间段。以上述示例为例,在启用时刻7/21-16:00上累加时间阈值7天,得到当前映射分区的预设时间区间为:7/21-16:00~7/27-16:00。比较当前存储时间和预设时间区间,以确定当前存储时间是否位于预设时间区间内。在当前存储时间是7/24-18:00的情况下,确定当前存储时间位于预设时间区间内。在当前存储时间是8/1-10:00的情况下,确定当前存储时间不在预设时间区间内。
可选地,当前映射分区的下一序位的映射分区是在存储序列中位于当前映射分区的下一序位的映射分区。在存储序列中位于当前映射分区之后的序位上的映射分区,在当前存储时间均处于未启用状态。
可选地,在将当前数据存储在当前映射分区的下一序位的目标映射分区的情况下,当前数据作为目标映射分区中存入的第一个数据,当前存储时间作为目标映射分区的启用时刻。
可选地,在当前数据的数据量大于当前映射分区剩余的映射空余量的情况下,将当前数据拆分为第一数据和第二数据,第一数据为与映射空余量在数据量上匹配的部分当前数据,第二数据为从当前数据中拆分出第一数据后剩余的数据。将第一数据存入当前映射分区,将第二数据存入下一序位的目标映射分区中。
在本申请实施例中,在当前存储时间超出预设时间区间的情况下,将下一序位的目标映射分区作为当前数据的存储映射分区,利用不同的映射分区映射存储处于不同时间区间的数据,以使得同一映射分区中映射存储的数据均位于同一时间区间内,从而实现映射分区中的数据在时间阈值内均到达数据周期,从而释放出整个映射分区,以实现映射分区的存储空间的及时释放,避免前端数据因映射存储空间不足而不能及时存储。
当前数据的存储不限于如图5所示。以存储区域为硬盘为例,S502,接收当前数据存储请求,数据节点根据均衡原理确定用于存储的硬盘和目标存储扇区。S504,判断目标存储扇区是否达到存储条件。在S504判断为是的情况下,执行S506,将当前数据存储在目标存储扇区内,并将当前数据和当前存储的关联关系记录在数据映射列表中。
在S504判断为否,目标存储扇区未达到存储条件的情况下,执行S508,获取目标存储扇区的信息和当前映射分区的信息。在获取到目标存储扇区的信息的情况下,执行S510,判断目标存储扇区是否处于损坏状态。在S510判断为否的情况下,执行S512,上报目标存储扇区存储错误,并提示更换硬盘。
在S510判断为是的情况下,执行S514,判断当前存储时间是否位于当前映射分区的预设时间区间。在S514判断为是,当前存储时间位于当前映射分区的预设时间区间的情况下,执行S516,判断当前数据量是否超过当前映射分区的空闲空间。在S516判断为是,当前数据量超过当前映射分区的空闲空间的情况下,执行S518,将当前数据拆分为第一数据和第二数据,第一数据存入当前映射分区,第二数据存入目标映射分区。目标映射分区是位于下一存储序列的映射分区。在将当前数据存储之后,执行S520,将当前数据以及具体存储位置添加在数据映射表中。
在S514判断为否,当前储存时间超出当前映射分区的预设时间区间的情况下,执行S522,将当前数据存储在位于下一存储序列的目标映射分区中。在执行S522之后,执行S520。在S516判断为否,当前数据量未超过当前映射分区的空闲空间的情况下,执行S520。
作为一种可选的实施方式,如图6所示,上述在将当前数据存储在目标映射扇区中之后,方法还包括:
S602,确定存储区域中未存储数据的映射分区的分区数量;
S604,在分区数量小于第一数量阈值的情况下,确定存储区域中每个映射分区中当前存储数据的映射扇区数量;
S606,将映射扇区数量小于第二数量阈值的映射分区作为待迁移分区,并将映射扇区数量最大的映射分区作为目标迁移分区;
S608,将待迁移分区中的存储数据迁移至目标迁移分区中。
可选地,为存储区域设定第一数量阈值,在存储区域的映射分区的分区数量小于第一数量阈值的情况下,执行映射分区空间回收。映射分区空间回收用于将分别存储在不同映射分区中的数据迁移至目标迁移分区中,以释放待迁移的映射分区,从而使得存储区域中可用的映射分区的数量得到保证,从映射分区的数量维度保证当前数据可以进行存储和映射存储。
可选地,在目标迁移分区的存储空间达到存储阈值的情况下,将剩余的待迁移分区中的数据迁移至候选目标迁移分区中。候选目标迁移分区为映射扇区数量第二大的映射分区。在候选目标迁移分区的存储空间达到存储阈值的情况下,将剩余的待迁移分区中的数据迁移至映射扇区数量第三大的映射分区中,不限于依次类推。
可选地,在进行数据迁移时,按照映射扇区数量对映射分区进行排序,得到分区迁移序列,按照分区迁移序列依次进行数据迁移。不限于是将映射扇区数量最小的映射分区中的数据迁移至映射扇区数量最大的映射分区中,然后进行映射扇区数量第二小的映射分区中的数据迁移,依次类推,直至映射扇区数量小于第二阈值的映射扇区中的数据全部迁移完成。
映射扇区中数据迁移不限于如图7所示,在每一次数据存储之后,执行S702,判断映射分区的可用数量是否小于第一数量阈值。在S702判断为是,映射分区的可用数量小于第一数量阈值的情况下,执行S704,确定每个映射分区中已使用的映射扇区数量。在获取到每个映射分区中已使用的映射扇区数量的情况下,执行S706,判断映射分区中的映射扇区数量是否小于第二数量阈值。在S706判断为是,映射扇区数量小于第二数量阈值的情况下,执行S708,将映射分区作为待迁移分区进行数据迁移。确定执行数据迁移的情况下,执行S710,确定目标迁移分区。不限于按照映射扇区数量由大到小确定目标迁移分区,在当前目标迁移分区存储空间已使用完全的情况下,将下一目标迁移分区作为目标迁移分区。在确定目标迁移分区之后,执行S712,将待迁移分区中的数据迁移至目标迁移分区。在执行数据迁移之后,执行S714,将迁移后的存储位置更新至数据映射列表中。在S702判断为否,映射分区的可用数量大于等于第一数量阈值的情况下,执行S716,结束数据迁移。
作为一种可选的实施方式,上述在将当前数据存储在目标映射扇区中之后,方法还包括:
S1,确定为当前映射分区设置的存储周期和当前映射分区对应的最新映射时间,其中,存储周期用于指示当前映射分区的数据保存周期,最新映射时间为最后存储在当前映射分区中的数据的存储时间;
S2,以最新映射时间为计时起点,在达到存储周期时,清除当前映射分区中存储的数据。
可选地,为映射分区设置存储周期,用于指示存入映射分区中的数据的保存时长。存储周期可以但不限于与数据生命周期相关。例如,存储周期与数据生命周期所对应的时长相同。
可选地,最新映射时间为映射分区中最后存储的数据的存储时间,以最新映射时间为计时的起始时刻,在经过一个存储周期之后,清除映射分区内存储的数据,以实现映射分区整体容量的释放。
可选地,最新映射时间位于映射分区的预设时间区间内。预设时间区间对应的时间阈值在数值上与存储时间不具备关联关系。
在本申请实施例中,通过在存储周期后,对整个映射分区内的数据进行清除,能够实现映射分区的整体存储空间的释放,避免了由于硬件存储介质导致、部分存储空间删除并不能实现存储空间的真正释放。通过预设时间区间配合存储周期的设置,使得映射分区中的存储空间能够被及时的真正释放。
作为一种可选的实施方式,上述在将待迁移分区中的存储数据迁移至目标迁移分区中之后,更新存储区域的数据映射列表;和/或在清除当前映射分区中存储的数据之后,更新存储区域的数据映射列表。
可选地,数据映射列表在数据存储位置更新的同时,进行同步更新,与保证数据映射列表中存储位置更加准确。数据迁移和数据清除的情况下,确定存在数据更新,同步更新数据映射列表。
在本申请实施例中,通过数据映射列表,实现数据存储位置的实时更新,使得数据映射列表中始终存储最新、最准确的存储位置,以实现数据的准确读取。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述数据存储方法的数据存储装置。如图8所示,该装置包括:
获取单元802,用于在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,确定存储区域中的当前映射分区,其中,存储区域内还包括目标存储扇区所在的存储分区;
确定单元804,用于在当前数据的当前存储时间处于当前映射分区对应的预设时间区间内的情况下,从当前映射分区确定出目标映射扇区;
存储单元806,用于将当前数据存储在目标映射扇区中。
可选地,上述存储单元806还用于:将目标映射扇区记录在数据映射列表中与目标存储扇区关联的位置;按照数据映射列表,将当前数据存储在目标映射扇区中。
可选地,上述获取单元802还用于:获取存储区域对应的损坏扇区列表,其中,损坏扇区列表用于记录存储区域中未达到数据存储条件的扇区;在损坏扇区列表中查找到目标存储扇区的情况下,确定目标存储扇区位于损坏扇区列表中。
可选地,上述数据存储装置还包括目标单元,用于在获取存储区域中的当前映射分区之后,在当前存储时间超出当前映射分区的预设时间区间的情况下,将位于当前映射分区的下一序位的映射分区确定为目标映射分区;从目标映射分区中确定用于当前数据存储的目标映射扇区。
可选地,上述数据存储装置还包括清除单元,用于在将当前数据存储在目标映射扇区中之后,方法还包括:确定为当前映射分区设置的存储周期和当前映射分区对应的最新映射时间,其中,存储周期用于指示当前映射分区的数据保存周期,最新映射时间为最后存储在当前映射分区中的数据的存储时间;以最新映射时间为计时起点,在达到存储周期时,清除当前映射分区中存储的数据。
可选地,上述数据存储装置还包括迁移单元,用于在将当前数据存储在目标映射扇区中之后,确定存储区域中未存储数据的映射分区的分区数量;在分区数量小于第一数量阈值的情况下,确定存储区域中每个映射分区中当前存储数据的映射扇区数量;将映射扇区数量小于第二数量阈值的映射分区作为待迁移分区,并将映射扇区数量最大的映射分区作为目标迁移分区;将待迁移分区中的存储数据迁移至目标迁移分区中。
可选地,上述数据存储装置还包括更新单元,用于在将待迁移分区中的存储数据迁移至目标迁移分区中之后,更新存储区域的数据映射列表;和/或在清除当前映射分区中存储的数据之后,更新存储区域的数据映射列表。
在本申请实施例中,采用在为当前数据分配的存储扇区是损坏扇区的情况下,确定当前用于映射存储的当前映射分区,在当前数据的当前存储时间位于当前映射分区对应的预设时间区间的情况下,将当前映射分区中的目标映射扇区作为当前数据的映射存储扇区的方式,通过判断当前存储时间是否处于当前映射分区的预设时间区间,在当前存储时间在预设时间区域的情况下,才将当前数据存入当前映射分区的目标映射扇区中,达到了当前映射分区内的存入的数据的存储时间均位于预设时间区间内,从而使得当前映射分区内存储的数据的生命周期较为集中的到期,实现对当前映射分区内存储的数据进行集中清除,以释放当前映射分区的存储空间的目的,从而实现了及时释放映射分区的存储空间的技术效果,进而解决了由于映射区域的存储空间不能及时释放而导致的前端数据不能被映射保存的技术问题。
根据本发明实施例的又一个方面,还提供了一种用于实施上述数据存储方法的电子设备,该电子设备可以是图1所示的终端设备或服务器。本实施例以该电子设备为服务器为例来说明。如图9所示,该电子设备包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区,其中,存储区域内还包括目标存储扇区所在的存储分区;
S2,在当前数据的当前存储时间处于当前映射分区对应的预设时间区间内的情况下,从当前映射分区中确定出目标映射扇区;
S3,将当前数据存储在目标映射扇区中。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、IOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图9中所示更多或者更少的组件(如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的数据存储方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据存储方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于存储损坏扇区列表,预设时间区间,数据映射列表等信息。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述数据存储装置中的获取单元802,确定单元804,存储单元806。此外,还可以包括但不限于上述数据存储装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器908,用于显示上述损坏扇区列表;和连接总线910,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述数据存储方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区,其中,存储区域内还包括目标存储扇区所在的存储分区;
S2,在当前数据的当前存储时间处于当前映射分区对应的预设时间区间内的情况下,从当前映射分区中确定出目标映射扇区;
S3,将当前数据存储在目标映射扇区中。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种数据存储方法,其特征在于,包括:
在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区,其中,所述存储区域内还包括所述目标存储扇区所在的存储分区;
在所述当前数据的当前存储时间处于所述当前映射分区对应的预设时间区间内的情况下,从所述当前映射分区中确定出目标映射扇区;
将所述当前数据存储在所述目标映射扇区中。
2.根据权利要求1所述的方法,其特征在于,所述将所述当前数据存储在所述目标映射扇区中包括:
将所述目标映射扇区记录在数据映射列表中与所述目标存储扇区关联的位置;
按照所述数据映射列表,将所述当前数据存储在所述目标映射扇区中。
3.根据权利要求1所述的方法,其特征在于,在获取存储区域中的当前映射分区之前,所述方法还包括:
获取所述存储区域对应的所述损坏扇区列表,其中,所述损坏扇区列表用于记录所述存储区域中未达到数据存储条件的扇区;
在所述损坏扇区列表中查找到所述目标存储扇区的情况下,确定所述目标存储扇区位于所述损坏扇区列表中。
4.根据权利要求1所述的方法,其特征在于,在获取存储区域中的当前映射分区之后,所述方法还包括:
在所述当前存储时间超出所述当前映射分区的预设时间区间的情况下,将位于所述当前映射分区的下一序位的映射分区确定为目标映射分区;
从所述目标映射分区中确定用于所述当前数据存储的目标映射扇区。
5.根据权利要求2所述的方法,其特征在于,在将所述当前数据存储在所述目标映射扇区中之后,所述方法还包括:
确定为所述当前映射分区设置的存储周期和所述当前映射分区对应的最新映射时间,其中,所述存储周期用于指示所述当前映射分区的数据保存周期,所述最新映射时间为最后存储在所述当前映射分区中的数据的存储时间;
以所述最新映射时间为计时起点,在达到所述存储周期时,清除所述当前映射分区中存储的数据。
6.根据权利要求5所述的方法,其特征在于,在将所述当前数据存储在所述目标映射扇区中之后,所述方法还包括:
确定所述存储区域中未存储数据的映射分区的分区数量;
在所述分区数量小于第一数量阈值的情况下,确定所述存储区域中每个所述映射分区中当前存储数据的映射扇区数量;
将所述映射扇区数量小于第二数量阈值的所述映射分区作为待迁移分区,并将所述映射扇区数量最大的所述映射分区作为目标迁移分区;
将所述待迁移分区中的存储数据迁移至所述目标迁移分区中。
7.根据权利要求6所述的方法,其特征在于,包括:
在将所述待迁移分区中的存储数据迁移至所述目标迁移分区中之后,更新所述存储区域的所述数据映射列表;和/或
在清除所述当前映射分区中存储的数据之后,更新所述存储区域的所述数据映射列表。
8.一种数据存储装置,其特征在于,包括:
获取单元,用于在为待存储的当前数据分配的目标存储扇区位于损坏扇区列表的情况下,获取存储区域中的当前映射分区,其中,所述存储区域内还包括所述目标存储扇区所在的存储分区;
确定单元,用于在所述当前数据的当前存储时间处于所述当前映射分区对应的预设时间区间内的情况下,从所述当前映射分区中确定出目标映射扇区;
存储单元,用于将所述当前数据存储在所述目标映射扇区中。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,所述程序运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
CN202110858685.3A 2021-07-28 2021-07-28 数据存储方法和装置、存储介质及电子设备 Pending CN113468274A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110858685.3A CN113468274A (zh) 2021-07-28 2021-07-28 数据存储方法和装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110858685.3A CN113468274A (zh) 2021-07-28 2021-07-28 数据存储方法和装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN113468274A true CN113468274A (zh) 2021-10-01

Family

ID=77882927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110858685.3A Pending CN113468274A (zh) 2021-07-28 2021-07-28 数据存储方法和装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN113468274A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115509465A (zh) * 2022-11-21 2022-12-23 杭州字节方舟科技有限公司 一种扇区管理方法、装置、电子设备及存储介质
CN116501504A (zh) * 2023-06-27 2023-07-28 上海燧原科技有限公司 数据流的时空映射方法、装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940016168A (ko) * 1992-12-31 1994-07-22 김주용 광 정보기록 재생장치 및 그 방법
DE19851813A1 (de) * 1998-03-13 1999-09-16 Lg Semicon Co Ltd System und Verfahren zum Bewerten der Abnutzung eines Flash-Speichers
CN102508782A (zh) * 2011-09-29 2012-06-20 北京星网锐捷网络技术有限公司 数据读写方法、装置、存储体及网络设备
CN103700387A (zh) * 2013-09-18 2014-04-02 福建鼎恩协创电子科技有限公司 硬盘坏道监测修复装置及方法
US9489267B1 (en) * 2014-12-19 2016-11-08 Emc Corporation Optimization to permit block based incremental backup across system reboot or crash
US20190278854A1 (en) * 2018-03-07 2019-09-12 Xanadu Big Data, Llc Methods and systems for resilient, durable, scalable, and consistent distributed timeline data store
CN110457342A (zh) * 2019-07-02 2019-11-15 网联清算有限公司 交易处理方法及装置
CN111124294A (zh) * 2019-12-11 2020-05-08 大唐微电子技术有限公司 一种扇区映射信息的管理方法及装置、存储介质和设备
CN111159436A (zh) * 2018-11-07 2020-05-15 腾讯科技(深圳)有限公司 一种推荐多媒体内容的方法、装置及计算设备
WO2021062981A1 (zh) * 2019-09-30 2021-04-08 深圳忆联信息系统有限公司 Ssd数据存储节点管理方法、装置及计算机设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940016168A (ko) * 1992-12-31 1994-07-22 김주용 광 정보기록 재생장치 및 그 방법
DE19851813A1 (de) * 1998-03-13 1999-09-16 Lg Semicon Co Ltd System und Verfahren zum Bewerten der Abnutzung eines Flash-Speichers
CN102508782A (zh) * 2011-09-29 2012-06-20 北京星网锐捷网络技术有限公司 数据读写方法、装置、存储体及网络设备
CN103700387A (zh) * 2013-09-18 2014-04-02 福建鼎恩协创电子科技有限公司 硬盘坏道监测修复装置及方法
US9489267B1 (en) * 2014-12-19 2016-11-08 Emc Corporation Optimization to permit block based incremental backup across system reboot or crash
US20190278854A1 (en) * 2018-03-07 2019-09-12 Xanadu Big Data, Llc Methods and systems for resilient, durable, scalable, and consistent distributed timeline data store
CN111159436A (zh) * 2018-11-07 2020-05-15 腾讯科技(深圳)有限公司 一种推荐多媒体内容的方法、装置及计算设备
CN110457342A (zh) * 2019-07-02 2019-11-15 网联清算有限公司 交易处理方法及装置
WO2021062981A1 (zh) * 2019-09-30 2021-04-08 深圳忆联信息系统有限公司 Ssd数据存储节点管理方法、装置及计算机设备
CN111124294A (zh) * 2019-12-11 2020-05-08 大唐微电子技术有限公司 一种扇区映射信息的管理方法及装置、存储介质和设备

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115509465A (zh) * 2022-11-21 2022-12-23 杭州字节方舟科技有限公司 一种扇区管理方法、装置、电子设备及存储介质
CN116501504A (zh) * 2023-06-27 2023-07-28 上海燧原科技有限公司 数据流的时空映射方法、装置、电子设备及存储介质
CN116501504B (zh) * 2023-06-27 2023-09-12 上海燧原科技有限公司 数据流的时空映射方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN111831548B (zh) 一种依赖关系拓扑图的绘制方法和装置
CN105824572B (zh) 一种磁盘存储空间管理方法、装置及存储设备
CN113468274A (zh) 数据存储方法和装置、存储介质及电子设备
EP3125501A1 (en) File synchronization method, server, and terminal
CN107147748B (zh) 文件上传方法和装置
US11455117B2 (en) Data reading method, apparatus, and system, avoiding version rollback issues in distributed system
CN111405217A (zh) 图像信息的显示方法和装置、存储介质及电子装置
CN112925759A (zh) 数据文件的处理方法和装置、存储介质、电子装置
WO2018053838A1 (zh) 一种负载均衡的方法及相关设备
CN108228476B (zh) 一种数据获取方法及装置
CN111797060B (zh) 一种离线录像方法、装置、设备以及计算机可读存储介质
CN104063377A (zh) 信息处理方法和使用其的电子设备
CN106453663B (zh) 改进的基于云服务的存储扩容方法及装置
CN107148612A (zh) 一种扩展用户分区的方法和装置
CN108241515A (zh) 应用快捷方式建立方法及终端
CN113157497B (zh) 数据存储方法、装置、设备及介质
CN112601106B (zh) 视频图像的处理方法、装置及存储介质
CN104580672A (zh) 一种信息处理方法及电子设备
CN111625502B (zh) 数据读取方法及装置、存储介质、电子装置
CN111935029B (zh) 网关负载均衡方法和装置、存储介质及电子设备
CN108762985B (zh) 数据恢复方法及相关产品
CN113727208A (zh) 快速读写光模块参数信息的通信方法、装置、设备及介质
CN112882973A (zh) 扩展槽位的确定方法和装置、存储介质及电子设备
CN110019233B (zh) 数据存储方法及系统
CN111159244A (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