本公开涉及数据存储,尤其涉及一种数据存储方法、装置、电子设备、存储介质、程序产品。
背景技术:
1、非易失性存储器flash的特性决定了,将数据写到flash中时,必须要先擦除一个或多个扇区(擦除的最小单元)中的数据后,再写入相应的数据。flash擦除一般具有寿命限制,太频繁的擦除写入会造成flash的寿命问题。
技术实现思路
1、本公开要解决的技术问题是为了克服现有技术中的上述缺陷,提供一种数据存储方法、装置、电子设备、存储介质、程序产品。
2、本公开是通过下述技术方案来解决上述技术问题:
3、第一方面,提供一种数据存储方法,包括:
4、响应于数据存储请求,获取非易失性存储器中存储空间的原存储数据;
5、对所述原存储数据进行求反运算,并将求反运算的结果与待存储数据进行求与运算;
6、响应于求与运算的结果为零,根据所述待存储数据改写所述存储空间的原存储数据,以将所述待存储数据存储于存储空间。
7、可选地,根据所述待存储数据改写所述存储空间,包括:
8、逐位判断所述待存储数据与所述原存储数据是否相同;
9、对数值不同的目标位对应的存储空间中的存储地址进行改写。
10、可选地,对所述原存储数据进行求反运算的步骤之前,还包括:
11、响应于所述存储空间非空且所述原存储数据与所述待存储数据不同,执行对所述原存储数据进行求反运算的步骤。
12、可选地,所述待存储数据包括日志数据的压缩编码结果及所述日志记录格式;
13、将求反运算的结果与待存储数据进行求与运算的步骤之前,包括:
14、生成日志记录格式;
15、将所述日志记录格式填充于所述日志数据的压缩编码结果,得到所述待存储数据。
16、可选地,所述日志记录格式包括所述日志数据的时间戳;
17、所述时间戳根据所述日志数据的生成时刻距离标准时刻的偏差确定;
18、在所述偏差大于时长阈值的情况下,将所述偏差确定为所述时间戳;
19、在所述偏差小于等于所述时长阈值的情况下,将所述偏差的反码确定为所述时间戳。
20、可选地,所述日志记录格式包括控制头;所述控制头包括以下至少之一:日志数据长度、特征码、crc16校验码、控制头预留;所述特征码用于日志格式的升级变换。
21、第二方面,提供一种数据存储装置,包括:
22、获取模块,用于获取非易失性存储器中存储空间的原存储数据;
23、运算模块,用于对所述原存储数据进行求反运算,并将求反运算的结果与待存储数据进行求与运算;
24、存储模块,用于响应于求与运算的结果为零,根据所述待存储数据改写所述存储空间,以将所述待存储数据存储于存储空间。
25、第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并用于在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述的数据存储方法。
26、第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的数据存储方法。
27、第五方面,提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的数据存储方法。
28、在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本公开各较佳实例。
29、本公开的积极进步效果在于:本公开将待存储数据存储至有原存储数据的存储空间之前,通过求反运算结合求与运算判断是否需要执行擦除操作,在确定无法通过对原存储数据进行改进而将待存储数据存储于存储空间的情况下,需要执行擦除操作,以实现待存储数据的有效存储;在确定无需对存储空间执行擦除操作的情况下,通过改写存储空间的原存储数据,将待存储数据存储至存储空间,从而可以减少擦除操作的次数,增加flash的使用寿命。
1.一种数据存储方法,其特征在于,包括:
2.根据权利要求1所述的数据存储方法,其特征在于,根据所述待存储数据改写所述存储空间,包括:
3.根据权利要求1所述的数据存储方法,其特征在于,对所述原存储数据进行求反运算的步骤之前,还包括:
4.根据权利要求1-3中任一项所述的数据存储方法,其特征在于,所述待存储数据包括日志数据的压缩编码结果及所述日志记录格式;
5.根据权利要求4所述的数据存储方法,其特征在于,所述日志记录格式包括所述日志数据的时间戳;
6.根据权利要求4所述的数据存储方法,其特征在于,所述日志记录格式包括控制头;所述控制头包括以下至少之一:日志数据长度、特征码、crc16校验码、控制头预留;所述特征码用于日志格式的升级变换。
7.一种数据存储装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在存储器上并用于在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的数据存储方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的数据存储方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的数据存储方法。