本技术实施例涉及计算机领域,具体而言,涉及一种资源数据的处理方法及装置、存储介质及电子设备。
背景技术:
1、在存储系统领域,固态存储器(ssd)是以半导体闪存作为核心存储介质的存储设备,近年来已获得广泛的应用。它在性能、功耗以及可靠性等方面都与传统机械硬盘(hhd)存在诸多不同。从闪存的操作特性上看,ssd与hhd的区别主要在于写操作的处理,ssd无法像hhd一样进行针对任意物理地址的覆盖写操作,它只能以块为单位进行整块数据的擦除。
2、为了让ssd支持任意位置的读写操作,相关技术中,引入了垃圾回收机制。当用户要覆盖ssd中某个已写入位置的数据时,ssd的内部软件控制层通过将该位置映射到一个新的物理地址以提供给用户写入,而将原地址标记为垃圾数据。当整块数据中的垃圾数据数量达到一定的阈值后,便启动垃圾回收处理,将该块数据中的有效数据搬移其他未使用的位置,然后对该块数据进行整块擦除,并重新将整块物理地址标记为未使用位置以供后续使用,即完成回收。显然,垃圾数据量在整块数据量中所占的比例直接决定了ssd的容量损失量,而过于频繁的垃圾回收处理又会对ssd的运行性能造成损失。
3、因此,针对当前固态存储器的擦除频率较高,导致严重影响固态存储器性能的情况已然成为目前亟待解决的问题。
技术实现思路
1、本技术实施例提供了一种资源数据的处理方法及装置、存储介质及电子设备,以至少解决无法当前针对固态存储器的擦除频率过高,影响固态存储器写性能的问题。
2、根据本技术的一个实施例,提供了一种资源数据的处理方法,应用于固态存储器,在所述固态存储器中仅设置一个用于存储资源数据的第一存储区域,包括:接收携带有待存储的资源数据的资源转移请求,其中,所述资源转移请求用于将所述待存储的资源数据存储至所述第一存储区域;响应于所述资源转移请求,确定所述第一存储区域的待存储区;所述待存储区为 所述待存储的资源数据待存储进所述第一存储区域的区域;在所述第一存储区域的待存储区与设定的已存储区相同的情况下,对所述第一存储区域进行擦除处理;所述已存储区为所述第一存储区域中已存储有资源数据的区域;将所述待存储的资源数据存储至擦除处理后的第一存储区域。
3、在一个示例性的实施例中,所述待存储区由针对所述第一存储区域记录的第一指针参数 确定;所述已存储区由针对所述第一存储区域记录的第二指针参数 确定;所述第一指针参数用于记录所述待存储的资源数据待存储进所述第一存储区域的存储位置;所述第二指针参数用于记录所述第一存储区域已存储的资源数据中的最旧资源数据的存储位置;所述在所述第一存储区域的待存储区与设定的已存储区相同的情况下,对所述第一存储区域进行擦除处理,包括:在所述第一指针参数与所述第二指针参数相等的情况下,对所述第一存储区域进行擦除。
4、在一个示例性的实施例中,在所述固态存储器中还设置有用于至少存储与所述第一存储区域中存储的资源数据关联的资源状态参数 的第二存储区域;所述对所述第一存储区域进行擦除处理,包括:确定所述第一存储区域中的待擦除的待擦除数据;按照所述待擦除数据,对所述第二存储区域中的资源状态参数进行更新,并将更新后的资源状态参数写入所述第二存储区域中;在将所述更新后的资源状态参数写入所述第二存储区域的情况下,基于确定的所述待擦除数据,对所述第一存储区域进行擦除处理。
5、在一个示例性的实施例中,所述将所述更新后的资源状态参数写入所述第二存储区域之后,还包括:更新与所述第二存储区域关联的记录指针;在与所述第二存储区域关联的记录指针达到预设的第一记录指针阈值的情况下,对所述第二存储区域进行擦除处理。
6、在一个示例性的实施例中,对所述第二存储区域进行擦除处理之前,所述方法还包括:确定所述第二存储区域的存储容量,以及所述第二存储区域的单次数据长度;所述单次数据长度是设定的一次写入至所述第二存储区域的最大数据长度;基于所述存储容量和所述单次数据长度的商,确定所述第一记录指针阈值。
7、在一个示例性的实施例中,所述方法还包括:在所述第一存储区域的待存储区与设定的已存储区不相同的情况下,直接将所述待存储的资源数据写入所述第一存储区域的待存储区。
8、在一个示例性的实施例中,所述固态存储器中还设置有用于存储第一指针参数和第二指针参数的第三存储区域;所述方法还包括:获取下电指令;其中,所述下电指令为所述固态存储器在进入停止工作状态时产生的指令;基于所述下电指令,确定所述第一存储区域中的资源数据的存储位置,并根据所述存储位置更新所述第三存储区域中的第一指针参数和第二指针参数。
9、在一个示例性的实施例中,所述更新所述第三存储区域中的第一指针参数和第二指针参数之后,还包括:更新与所述第三存储区域关联的记录指针;在与所述第三存储区域关联的记录指针达到预设的第二记录指针阈值的情况下,对所述第三存储区域进行擦除处理。
10、在一个示例性的实施例中,所述固态存储器包括一个第一存储区域、第二存储区域以及第三存储区域;在接收携带有待存储的资源数据的资源转移请求之前,还包括以下至少一种:对所述固态存储器的第一存储区域、所述第二存储区域以及第三存储区域进行清空处理;重置针对所述第一存储区域记录的第一指针参数、第二指针参数、与所述第二存储区域关联的记录指针以及与所述第三存储区域关联的记录指针;在所述第一存储区域中写入空记录;初始化所述第二存储区域中的资源状态参数;
11、在一个示例性的实施例中,所述方法还包括:响应于资源查询请求;所述资源查询请求至少包括资源变化查询请求以及资源存储查询请求中的至少一种;基于所述资源查询请求,确定与所述资源查询请求匹配的查询结果。
12、在一个示例性的实施例中,所述基于所述资源查询请求,确定与所述资源查询请求匹配的查询结果,包括:在所述资源查询请求包括所述资源变化查询请求的情况下,基于所述资源变化查询请求,从所述第二存储区域存储的资源状态参数中确定与所述资源变化查询请求匹配的资源首次变化记录;确定所述资源首次变化记录的地址;按照所述地址,确定所述资源变化查询请求对应的查询结果;在所述资源查询请求包括资源存储查询请求的情况下,直接从所述固态存储器所对应的内存中确定资源存储参数。
13、在一个示例性的实施例中,所述响应于所述资源转移请求,确定所述第一存储区域的待存储区之前,还包括:将所述待存储的资源数据存储至缓存中;其中,所述缓存为针对所述固态存储器设置的缓冲区;在确定所述缓存中的资源数据的数据量达到设定的数量阈值的情况下,响应于所述资源转移请求,确定所述第一存储区域的待存储区。
14、根据本技术实施例的另一个实施例,还提供一种资源数据的处理装置,包括:接收模块,用于接收携带有待存储的资源数据的资源转移请求,其中,所述资源转移请求用于将所述待存储的资源数据存储至所述第一存储区域;确定模块,用于响应于所述资源转移请求,确定所述第一存储区域的待存储区;所述待存储区为所述待存储的资源数据待存储进所述第一存储区域的区域;擦除模块,用于在所述第一存储区域的待存储区与设定的已存储区相同的情况下,对所述第一存储区域进行擦除处理;所述已存储区为所述第一存储区域中已存储有资源数据的区域;存储模块,用于将所述待存储的资源数据存储至擦除处理后的第一存储区域。
15、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
16、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
17、根据本技术的又一个实施例,还提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述任一项方法实施例中的步骤。
18、通过本技术,接收携带有待存储的资源数据的资源转移请求,其中,资源转移请求用于将待存储的资源数据存储至第一存储区域,其中,第一存储区域为在固态存储器中仅设置的一个用于存储资源数据的存储区域;响应于资源转移请求,确定第一存储区域的待存储区;待存储区为所述待存储的资源数据待存储进第一存储区域的区域;在第一存储区域的待存储区与设定的已存储区相同的情况下,才会对第一存储区域进行擦除处理,已存储区为第一存储区域中已存储有资源数据的区域,将待存储的资源数据存储至擦除处理后的第一存储区域。也就是说,本技术只有在确定待存储进第一存储区域的区域与设定的已存储有资源数据的区域相同的情况下,才会展开擦除,相对于传统技术中,基于垃圾回收机制的擦除方式,有效的减少了擦除次数,提升了ssd的性能。