本申请涉及数据存储,具体地说,涉及一种数据存储方法、装置、电子设备及计算机程序产品。
背景技术:
1、为了减少数据对存储空间的占用,对数据进行压缩处理是目前常用的处理方式。其中,一种常用的数据压缩技术为流式压缩,也即对数据流进行分段压缩,该技术允许数据实时压缩,而无需等待整个数据流结束。
2、对于此种压缩技术,在将每次压缩得到的压缩帧存储至数据文件的过程中,可能由于异常事件,如数据文件所在的存储器异常掉电等,导致当前存储的压缩帧发生存储错误,形成异常压缩帧,若继续在该文件中存储其他压缩帧,在解压时则会由于异常压缩帧,导致异常压缩帧以及异常压缩帧后面的压缩帧均无法解压,造成数据丢失。由此可见,压缩数据存储的可靠性还有待提高。
技术实现思路
1、基于上述现有技术的缺陷和不足,本申请提出一种数据存储方法、装置、电子设备及计算机程序产品,能够提高压缩数据存储的可靠性。
2、根据本申请实施例的第一方面,提供了一种数据存储方法,所述方法包括:
3、在将第二压缩数据存储至目标存储器内的原数据文件中之前,获取第一压缩数据的第一校验信息;其中,所述第一压缩数据与所述第二压缩数据为同一数据流中的数据先后通过流式压缩方式压缩得到的,且所述第一压缩数据为最近一次存储至所述原数据文件中的压缩数据,所述第一压缩数据存储至所述原数据文件之前,其尾部添加有校验信息;
4、在所述第一校验信息与第二校验信息匹配的情况下,将所述第二压缩数据和添加在所述第二压缩数据尾部的校验信息,存储至所述原数据文件中;其中,所述第二校验信息为正确校验信息,用于校验所述第一压缩数据是否为异常压缩数据;
5、在所述第一校验信息与所述第二校验信息不匹配的情况下,在所述目标存储器内创建新数据文件,并将所述第二压缩数据和添加在所述第二压缩数据尾部的校验信息,存储至所述新数据文件中。
6、根据本申请实施例的第二方面,提供了一种数据存储装置,所述装置包括:
7、校验信息获取模块,用于在将第二压缩数据存储至目标存储器内的原数据文件中之前,获取第一压缩数据的第一校验信息;其中,所述第一压缩数据与所述第二压缩数据为同一数据流中的数据先后通过流式压缩方式压缩得到的,且所述第一压缩数据为最近一次存储至所述原数据文件中的压缩数据,所述第一压缩数据存储至所述原数据文件之前,其尾部添加有校验信息;
8、存储模块,用于在所述第一校验信息与第二校验信息匹配的情况下,将所述第二压缩数据和添加在所述第二压缩数据尾部的校验信息,存储至所述原数据文件中;或用于在所述第一校验信息与所述第二校验信息不匹配的情况下,在所述目标存储器内创建新数据文件,并将所述第二压缩数据和添加在所述第二压缩数据尾部的校验信息,存储至所述新数据文件中;
9、其中,所述第二校验信息为正确校验信息,用于校验所述第一压缩数据是否为异常压缩数据。
10、根据本申请实施例的第三方面,提供了一种电子设备,包括:存储器和处理器;
11、所述存储器与所述处理器连接,用于存储程序;
12、所述处理器用于通过运行所述存储器中的程序,实现如第一方面所述的数据存储方法。
13、根据本申请实施例的第四方面,提供了一种车辆,包括如第三方面所述的电子设备。
14、根据本申请实施例的第五方面,提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如第一方面所述的数据存储方法。
15、根据本申请实施例的第六方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品包括计算机程序,处理器执行所述计算机程序时实现如第一方面所述的数据存储方法中的步骤。可选地,所述计算机程序可以存储在计算机设备的可读存储介质或云端;所述计算机设备的处理器从所述可读存储介质或云端读取所述计算机程序。
16、在本申请提供的技术方案中,在将压缩数据存储至数据文件中之前,先在压缩数据的尾部添加校验信息,然后再将压缩数据和添加在尾部的校验信息存储至数据文件中。在存储新的压缩数据至该数据文件之前,先校验前一帧压缩数据的校验信息是否有误,以判断前一帧压缩数据是否发生存储错误。若发生存储错误,会导致压缩数据的部分数据丢失,尤其是尾部数据,因此,若校验信息有误,说明前一帧压缩数据很可能发生了存储错误,产生了异常压缩帧,若将新的压缩数据继续存储在该数据文件中,在解压时则会因为异常压缩帧的存在,导致异常压缩帧以及异常压缩帧之后的压缩帧均无法解压,造成数据丢失,因此,为减少数据的丢失,可以创建新的数据文件,然后将新压缩数据存储至新数据文件中。由此可见,本申请提供的技术方案可以在一定程度上解决因存储错误导致的数据丢失问题,提高压缩数据存储的可靠性。
1.一种数据存储方法,其特征在于,所述方法包括:
2.根据权利要求1所述的数据存储方法,其特征在于,所述获取第一压缩数据的第一校验信息,包括:
3.根据权利要求1或2所述的数据存储方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的数据存储方法,其特征在于,在所述第二压缩数据的尾部添加对应的校验信息,包括:
5.根据权利要求3所述的数据存储方法,其特征在于,在所述第二压缩数据的尾部添加校验信息,包括:
6.根据权利要求1或2所述的数据存储方法,其特征在于,在所述第一校验信息与所述第二校验信息不匹配的情况下,所述方法还包括:
7.一种数据存储装置,其特征在于,所述装置包括:
8.根据权利要求7所述的数据存储装置,其特征在于,所述装置还包括:
9.一种电子设备,其特征在于,包括:存储器和处理器;
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器运行时,实现如权利要求1至6任一项所述的数据存储方法。