System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及计算机领域,具体而言,涉及一种文件的压缩编码方法、装置存储介质及电子设备。
技术介绍
1、将文件分块后进行压缩存储的技术中,采用的方式一般都是在文件的头部或尾部添加元信息,元信息中记录了分块压缩前后数据块的位置与大小。然而这些方式存在以下缺陷:首先,被压缩对象必须预知其大小,无法支持对文件的压缩。其次,数据分块压缩后便不再支持对文件的修改,文件只能以只读形式存在。上述缺陷,导致目前的分块压缩的编码方式只能适用于只读的场景。对于文件系统层,需要频繁修改的使用场景便无法很好的支持。
2、针对相关技术中,文件的访问灵活性较差等问题,尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种文件的压缩编码方法、装置存储介质及电子设备,以至少解决相关技术中文件的访问灵活性较差的问题。
2、根据本申请的一个实施例,提供了一种文件的压缩编码方法,包括:
3、检测对目标逻辑文件执行的目标数据的目标访问操作;
4、根据初始元信息对第一物理文件中所述目标数据对应的第一文件数据进行解压并执行所述目标访问操作,得到第二文件数据,其中,所述初始元信息用于记录所述目标逻辑文件中的分块区间与所述第一物理文件中数据物理块之间的对应关系;
5、在对所述第二文件数据进行压缩落盘的情况下,采用所述第二文件数据对应的目标压缩方式对所述第二文件数据进行压缩编码,得到第三文件数据以及所述第三文件数据的参考元信息;
6、将所述第三文
7、在一个示例性实施例中,所述采用所述第二文件数据对应的目标压缩方式对所述第二文件数据进行压缩编码,得到第三文件数据以及所述第三文件数据的参考元信息,包括:
8、采用所述第二文件数据对应的目标压缩方式对所述第二文件数据进行压缩,得到参考压缩数据;
9、根据参考压缩参数与初始压缩参数之间的关系对所述参考压缩数据进行编码,得到所述第三文件数据以及所述第三文件数据的参考元信息,其中,所述参考压缩参数是所述参考压缩数据的压缩参数,所述初始压缩参数是所述第一文件数据解压前的初始压缩数据的压缩参数。
10、在一个示例性实施例中,所述根据参考压缩参数与初始压缩参数之间的关系对所述参考压缩数据进行编码,得到所述第三文件数据以及所述第三文件数据的参考元信息,包括:
11、获取所述参考压缩数据中每个压缩数据块所在的分块区间的窗口号;
12、根据参考压缩参数与初始压缩参数之间的关系在所述第一物理文件的物理空间中为在每个分块区间中的压缩数据块分配数据物理块得到所述第三文件数据,并获取每个数据物理块的块编号;
13、记录具有对应关系的窗口号和块编号,得到所述第三文件数据对应的参考索引信息,其中,所述参考元信息包括所述参考索引信息。
14、在一个示例性实施例中,所述记录具有对应关系的窗口号和块编号,得到所述第三文件数据对应的参考索引信息,包括:
15、创建具有对应关系的窗口号字段和物理块信息字段;
16、根据每个所述分块区间中压缩数据块的属性和块编号按照所述物理块信息字段生成每个所述分块区间的窗口号对应的物理块信息;
17、将具有对应关系的窗口号和物理块信息添加到所述具有对应关系的窗口号字段和物理块信息字段中,得到所述参考索引信息。
18、在一个示例性实施例中,所述创建具有对应关系的窗口号字段和物理块信息字段,包括以下之一:
19、创建具有对应关系的窗口号字段,物理块数字段,块类型字段和块编号字段,所述物理块数字段用于记录对应窗口号中包括的物理块的数量,所述块类型字段用于记录对应窗口号中包括的物理块的类型;
20、创建具有对应关系的窗口号字段,区间数字段,块类型字段,块起始字段和块结尾字段,其中,所述区间数字段用于记录对应窗口号中连续的物理块区间的数量,所述块类型字段用于记录对应窗口号中包括的物理块的类型,所述块起始字段用于记录对应窗口号中一个物理块区间内的起始块编号,所述块结尾字段用于记录对应窗口号中一个物理块区间内的结尾块编号。
21、在一个示例性实施例中,所述方法还包括以下至少之一:
22、所述块类型字段包括压缩块数字段,其中,所述压缩块数字段用于记录通过压缩得到的数据块的数量;
23、在对所述第二文件数据进行压缩允许采用多种存储方式的情况下,所述具有对应关系的窗口号字段和物理块信息字段中还包括具有对应关系的窗口号字段和存储方式字段,其中,所述多种存储方式至少包括:非压缩存储,一种或者多种压缩算法中每种压缩算法存储,所述存储方式字段用于记录对应窗口号所采用的存储方式的标识。
24、在一个示例性实施例中,在对应窗口号中连续的物理块区间的数量为1的情况下,所述块起始字段用于记录对应窗口号中一个物理块区间内的起始块编号,所述块结尾字段用于记录对应窗口号中一个物理块区间内的结尾块编号;
25、在对应窗口号中连续的物理块区间的数量大于1的情况下,所述块起始字段用于指向对应窗口号的区间索引信息,所述区间索引信息用于记录多个物理块区间中每个物理块区间,所述块结尾字段用于记录对应窗口号中最后一个物理块区间内的结尾块编号。
26、在一个示例性实施例中,在所述获取每个数据物理块的块编号之后,所述方法还包括:
27、记录具有对应关系的块编号和空闲标识,得到所述第三文件数据对应的空闲空间管理信息,其中,所述参考元信息还包括所述空闲空间管理信息,所述空闲标识用于指示对应的物理块是否空闲。
28、在一个示例性实施例中,所述记录具有对应关系的块编号和空闲标识,得到所述第三文件数据对应的空闲空间管理信息,包括:
29、在为分块区间中的压缩数据块重新分配了数据物理块的情况下,记录具有对应关系的原数据物理块的块编号和第一空闲标识,以及具有对应关系的重新分配的数据物理块的块编号和第二空闲标识,其中,所述原数据物理块是分块区间在所述第一物理文件中所占用的数据物理块,所述第一空闲标识用于指示对应的物理块为空闲,所述第二空闲标识用于指示对应的物理块为非空闲。
30、在一个示例性实施例中,所述根据参考压缩参数与初始压缩参数之间的关系在所述第一物理文件的物理空间中为在每个分块区间中的压缩数据块分配数据物理块得到所述第三文件数据,包括:
31、比对第一存储空间和第二存储空间,其中,所述参考压缩参数包括所述第一存储空间,所述初始压缩参数包括所述第二存储空间,所述第一存储空间为所述参考压缩数据中当前分配数据物理块的参考分块区间中的压缩数据块所需的存储空间,所述第二存储空间为所述参考分块区间在所述第一物理文件中所本文档来自技高网...
【技术保护点】
1.一种文件的压缩编码方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求5所述的方法,其特征在于,
8.根据权利要求3所述的方法,其特征在于,
9.根据权利要求8所述的方法,其特征在于,
10.根据权利要求3所述的方法,其特征在于,
11.根据权利要求10所述的方法,其特征在于,
12.根据权利要求11所述的方法,其特征在于,
13.根据权利要求12所述的方法,其特征在于,
14.根据权利要求1所述的方法,其特征在于,
15.根据权利要求14所述的方法,其特征在于,
16.根据权利要求15所述的方法,其特征在于,
17.根据权利要求15所述的方法,其特征在于,
18.根据权利要
19.根据权利要求1所述的方法,其特征在于,
20.根据权利要求19所述的方法,其特征在于,
21.一种文件的压缩编码装置,其特征在于,
22.一种计算机可读存储介质,其特征在于,
23.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,
...【技术特征摘要】
1.一种文件的压缩编码方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求5所述的方法,其特征在于,
8.根据权利要求3所述的方法,其特征在于,
9.根据权利要求8所述的方法,其特征在于,
10.根据权利要求3所述的方法,其特征在于,
11.根据权利要求10所述的方法,其特征在于,
12.根据权利要求11所述的方法,其特征在于,
13.根...
【专利技术属性】
技术研发人员:刘科,张闯,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。