System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于超大文件分片传输过程的压缩方法及系统技术方案_技高网

一种用于超大文件分片传输过程的压缩方法及系统技术方案

技术编号:40503570 阅读:6 留言:0更新日期:2024-03-01 13:17
本发明专利技术涉及文件压缩技术领域,尤其是涉及一种用于超大文件分片传输过程的压缩方法及系统。所述压缩方法,包括:S1.获取输入数据;S2.对输入数据进行块划分,得到数据片段;S3.对块划分后的数据片段进行块压缩,得到若干压缩块;S4.将得到的若干压缩块连接起来,得到压缩文件并输出;S4.将输出的压缩文件进行压缩块解码,得到解压缩数据。本发明专利技术可以有效的对大文件传输过程中的片,进行数据压缩,从而减小传输过程中文件的总体积大小,达到加快文件整体传输速度的效果。

【技术实现步骤摘要】

本专利技术涉及文件压缩,尤其是涉及一种用于超大文件分片传输过程的压缩方法及系统


技术介绍

1、随着软件行业的日益发展,软件项目所涉及的领域越来越多,但是在众多的软件项目中,万变不离其宗的重要属性就是这个软件中所拥有的数据,在软件行业中,数据分为结构化数据和非结构化数据,其中非结构化数据包括各种格式的办公文档、文本、图片,html、各类报表、图像和音频/视频信息等等,这些文件一般会采用文件上传的方式上传到服务器,在系统使用过程中,如需使用文件,再将文件下载下来进行查看或者编辑,在这个过程中,文件上传显得尤为重要,在文件拥有比较大的体积(软件行业通常约定,1tb以上的文件可以算作大文件)的情况之下,如何稳定快速的上传,成为了一个技术难点。

2、目前行业内针对这种情况,通常采用文件分片上传的形式,即将一个文件分成多个小的文件块,然后分别上传小文件块,通过将一个大文件上传转变成多个小文件上传,已达到切断一个大文件上传的连续性的目的,这么做的原因是,在不分片的情况之下,如果传输过程中发生了网络波动,或者误操作中断了上传,已经上传的那部分文件将会丢失,而换做了分片上传,因为取消了大文件的上传连续性,如果发生意外,只会丢失当前传输的那一个文件小片。

3、但是分片上传只是解决了在上传过程中意外中断导致丢失已上传文件的情况,在上传速度上并没有优势,甚至犹豫增加了文件切割的过程和每一个片都需要一次网络请求的原因,导致整体的上传速度会变慢,即便在多片并发的情况之下,犹豫用于测网络带宽总量有限,也并不能很明显做到真正加快文件整体的上传速度,而且,多个片同时上传,如果发生网络波动,受影响的就会从一片变为多片。

4、因此亟需一种用于超大文件分片传输过程的压缩方法及系统。


技术实现思路

1、为了解决上述提到的问题,本专利技术提供一种用于超大文件分片传输过程的压缩方法及系统。

2、第一方面,本专利技术提供的一种用于超大文件分片传输过程的压缩方法,采用如下的技术方案:

3、一种用于超大文件分片传输过程的压缩方法,包括:

4、s1.获取输入数据;

5、s2.对输入数据进行块划分,得到数据片段;

6、s3.对块划分后的数据片段进行块压缩,得到若干压缩块;

7、s4.将得到的若干压缩块连接起来,得到压缩文件并输出;

8、s4.将输出的压缩文件进行压缩块解码,得到解压缩数据。

9、进一步地,所述对输入数据进行块划分,得到数据片段,包括输入数据分割成不同的块,每个块都是连续的数据流。

10、进一步地,所述对块划分后的数据片段进行块压缩,得到若干压缩块,包括通过构建树为数据片段的每个字符生成唯一编码,然后通过压缩算法对生成编码后的数据片段进行压缩,得到压缩块。

11、进一步地,所述通过压缩算法对生成编码后的数据片段进行压缩,得到压缩块,包括利用滑动窗口扫描数据片段,通过查找匹配对数据片段进行标记,得到标记序列,标记序列与压缩块相对应。

12、进一步地,所述通过查找匹配对数据片段进行标记,得到标记序列,包括定义查找缓冲区,利用滑动窗口在查找缓冲区查找最长的字符串,通过字符串匹配记录匹配的长度和匹配的偏移量,并对匹配的长度和匹配的偏移分别进行标记,再将滑动窗口向前滑动匹配的长度,重复标记过程。

13、进一步地,所述将得到的若干压缩块连接起来,得到压缩文件并输出,包括

14、将若干压缩块进行数据流读取后,输入到同一个新的空文件中,得到压缩文件并输出。

15、进一步地,所述将输出的压缩文件进行压缩块解码,得到解压缩数据,包括通过压缩阶段的构建树和标记序列对压缩块进行解码,得到解压缩数据。

16、第二方面,一种用于超大文件分片传输过程的压缩系统,包括:

17、数据获取模块,被配置为,获取输入数据;

18、分割模块,被配置为,对输入数据进行块划分,得到数据片段;

19、压缩模块,被配置为,对块划分后的数据片段进行块压缩,得到若干压缩块,将得到的若干压缩块连接起来,得到压缩文件并输出;

20、解压缩模块,被配置为,将输出的压缩文件进行压缩块解码,得到解压缩数据。

21、第三方面,本专利技术提供一种计算机可读存储介质,其中存储有多条指令,所述指令适于由终端设备的处理器加载并执行所述的一种用于超大文件分片传输过程的压缩方法。

22、第四方面,本专利技术提供一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,所述指令适于由处理器加载并执行所述的一种用于超大文件分片传输过程的压缩方法。

23、综上所述,本专利技术具有如下的有益技术效果:

24、本专利技术提供了一套针对文件片传输过程中,基于字符频率实现的数据无损压缩的算法。通过此方法,可以有效的对大文件传输过程中的片,进行数据压缩,从而减小传输过程中文件的总体积大小,达到加快文件整体传输速度的效果。

本文档来自技高网...

【技术保护点】

1.一种用于超大文件分片传输过程的压缩方法,其特征在于,包括:

2.根据权利要求1所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述对输入数据进行块划分,得到数据片段,包括输入数据分割成不同的块,每个块都是连续的数据流。

3.根据权利要求2所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述对块划分后的数据片段进行块压缩,得到若干压缩块,包括通过构建树为数据片段的每个字符生成唯一编码,然后通过压缩算法对生成编码后的数据片段进行压缩,得到压缩块。

4.根据权利要求3所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述通过压缩算法对生成编码后的数据片段进行压缩,得到压缩块,包括利用滑动窗口扫描数据片段,通过查找匹配对数据片段进行标记,得到标记序列,标记序列与压缩块相对应。

5.根据权利要求4所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述通过查找匹配对数据片段进行标记,得到标记序列,包括定义查找缓冲区,利用滑动窗口在查找缓冲区查找最长的字符串,通过字符串匹配记录匹配的长度和匹配的偏移量,并对匹配的长度和匹配的偏移分别进行标记,再将滑动窗口向前滑动匹配的长度,重复标记过程。

6.根据权利要求5所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述将得到的若干压缩块连接起来,得到压缩文件并输出,包括将若干压缩块进行数据流读取后,输入到同一个新的空文件中,得到压缩文件并输出。

7.根据权利要求6所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述将输出的压缩文件进行压缩块解码,得到解压缩数据,包括通过压缩阶段的构建树和标记序列对压缩块进行解码,得到解压缩数据。

8.一种用于超大文件分片传输过程的压缩系统,其特征在于,包括:

9.一种计算机可读存储介质,其中存储有多条指令,其特征在于,所述指令适于由终端设备的处理器加载并执行如权利要求1所述的一种用于超大文件分片传输过程的压缩方法。

10.一种终端设备,包括处理器和计算机可读存储介质,处理器用于实现各指令;计算机可读存储介质用于存储多条指令,其特征在于,所述指令适于由处理器加载并执行如权利要求1所述的一种用于超大文件分片传输过程的压缩方法。

...

【技术特征摘要】

1.一种用于超大文件分片传输过程的压缩方法,其特征在于,包括:

2.根据权利要求1所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述对输入数据进行块划分,得到数据片段,包括输入数据分割成不同的块,每个块都是连续的数据流。

3.根据权利要求2所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述对块划分后的数据片段进行块压缩,得到若干压缩块,包括通过构建树为数据片段的每个字符生成唯一编码,然后通过压缩算法对生成编码后的数据片段进行压缩,得到压缩块。

4.根据权利要求3所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述通过压缩算法对生成编码后的数据片段进行压缩,得到压缩块,包括利用滑动窗口扫描数据片段,通过查找匹配对数据片段进行标记,得到标记序列,标记序列与压缩块相对应。

5.根据权利要求4所述的一种用于超大文件分片传输过程的压缩方法,其特征在于,所述通过查找匹配对数据片段进行标记,得到标记序列,包括定义查找缓冲区,利用滑动窗口在查找缓冲区查找最长的字符串,通过字符串匹配记录匹配的长度和匹配的偏移量,...

【专利技术属性】
技术研发人员:周传飞姬泽锟蔡尚王先明张丽张晓民张尚斌徐东方张昊天
申请(专利权)人:国核信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1