[发明专利]一种FSN文件高效压缩方法有效
申请号: | 201510908590.2 | 申请日: | 2015-12-09 |
公开(公告)号: | CN105337617B | 公开(公告)日: | 2018-10-26 |
发明(设计)人: | 魏伟;陈祥献;虞华锋;商茎正;陈小勇;陈金栋;冯国平;程露露 | 申请(专利权)人: | 浙江维融电子科技股份有限公司 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 叶志坚 |
地址: | 325899 浙江省温州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 fsn 文件 高效 压缩 方法 | ||
本发明公开了一种FSN文件高效压缩方法,通过设备生成的FSN文件以字节流的方式经过特定的无损压缩处理而得到的一种高效的压缩方法。采用本发明方法,可以使设备生成的FSN文件压缩成一定比例后再通过FTP进行上传。这种压缩方法大大减轻了设备端的处理压力,在网络传输过程中降低了传输流量,大大提升了文件上传速度和文件上传量,降低带宽要求和减少网络压力。
技术领域
本发明涉及一种在文件传输时通过读取字节流来进行压缩的技术,具体涉及一种对字节流二进制串进行特定算法规则的压缩方法,属于压缩技术领域。
背景技术
数据压缩是一项涉及通信原理和计算机科学的尖端技术,在通信原理中,一般称为信源编码,在计算机科学里,一般称为数据压缩,两者本质上没什么区别,都是映射。
一方面在进行通信的时候,有必要将待传输的数据进行压缩,以减少带宽需求;另一方面,计算机存储数据的时候,为了减少磁盘容量需求,也会将文件进行压缩,尽管现在的网络带宽越来越高,压缩已经不像90年代初那个时候那么迫切,但在很多场合下仍然需要,其中一个原因是压缩后的数据容量减小后,磁盘访问IO的时间也缩短,尽管压缩和解压缩过程会消耗CPU资源,但是CPU计算资源增长得很快,但是磁盘IO资源却变化得很慢,比如目前主流的SATA硬盘仍然是7200转,如果把磁盘的IO压力转化到CPU上,总体上能够提升系统运行速度。
压缩可以分为无损压缩和有损压缩,有损,指的是压缩之后就无法完整还原原始信息,但是压缩率可以很高,主要应用于视频、话音等数据的压缩,因为损失了一点信息,人是很难察觉的,或者说,也没必要那么清晰照样可以看可以听;无损压缩则用于文件等等必须完整还原信息的场合,本发明自然就是一种无损压缩,在通信原理中介绍数据压缩的时候,往往是从信息论的角度出发,这里换一种思路,从最原始的思想出发,为了达到压缩的目的,需要怎么去设计算法。
发明内容
本发明所要解决的技术问题在于提供一种高效压缩方法,使得计算复杂度和内存消耗变得很小,从而再解压缩时也变得更为简单方便。
每个文件都由各种不同代码组成,比如01代码。这类文件只有数字0与1组合。本发明的压缩原理就是通过寻找其中的规律,简化数字的排列。比如:00000110001111111111可以简化成5个0,2个1,3个0,10个1的排列。
FSN文件是以二进制格式打开的,大部分都是连续的0,这样可以按照本发明所述的压缩方法来对其进行无损压缩,利用本发明方法压缩完后生成的新文件的二进制格式中将找不到字节值为0的内容,而且文件大小将变成原来的三分之一。
本发明提出的一种FSN文件高效压缩方法,包括以下步骤:
(1)对FSN文件按字节读入并保存在一个byte数组中;
(2)循环判断byte数组中每个字节值,如果该字节值为非0,首先判断前一字节值是否为0,若前一字节值为0时,则将该字节向左移动1位并保存到新的byte数组中,若前一字节值为非0时,则将该字节(无需移位)直接保存到新的byte数组中;如果该字节值为0,首先计算出连续值为0的字节个数n,然后将n以二进制串的形式向左移位并保存到新的byte数组中;
(3)在新的byte数组头部加上8个字节的开始压缩标志位,在压缩标志位后填入4字节的压缩前文件内容字节数和4字节的压缩后文件内容位数,在新的byte数组尾部加上8个字节的结束标志位;
(4)压缩完后生成的新文件的后缀改为wz,以区分压缩前的FSN文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江维融电子科技股份有限公司,未经浙江维融电子科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510908590.2/2.html,转载请声明来源钻瓜专利网。