数据压缩在商业银行文件传输中的应用研究
2018-05-07黄玉昌
黄玉昌
摘要:随着我国经济及信息技术的快速发展,信息系统已广泛应用于商业银行的管理、生产等领域,同时银行内部各系统间的文件传输需求也在成倍增长,单纯依靠增加网络带宽已很难满足文件传输需求。数据压缩技术可有效降低数据的实际传输量,且实现成本较低。该文在研究成熟的数据压缩算法基础上,提出了一种适用于商业银行内部系统间的“边压边传”的数据压缩传输解决方案,并进行了实现和验证。
关键词:数据压缩;商业银行;文件传输;边压边传
中图分类号:TN911.2 文献标识码:A 文章编号:1009-3044(2018)08-0200-01
1引言
随着信息技术在商业银行管理、生产等领域的不断发展应用,大量的信息系统也相继建成使用。出于客户需求、业务发展、异地灾备等各种因素考虑,这些系统往往会跨区域分布部署。系统间的大量文件交互,导致数据传输需求增长和实际网络带宽增长比例失调,受限于网络带宽限制,特别是很多网点分布在偏远欠发达地区,网络带宽过低,很多实时性要求较高的数据往往不能够及时送达,影响业务办理。
为满足数据传输、存储的爆炸式增长,人们一直在致力于开发更好的传输与存储技术,并已经取得了很大进步,可以在无压缩情况下存储和传输越来越多的信息。但根据帕金森第一法则的推论,对大容量存储与传输能力需求的增长,至少是存储与传输能力增长速度的两倍。
“信息爆炸”促使了压缩技术的快速发展和广泛应用,而压缩技术也成为了解决存储能力和传输能力不足的一大利器。
2数据压缩技术
2.1数据压缩原理
数据压缩就是以最小的数码(比特数)表示信源所发出的信号,减少必须分配给指定消息集合或数据采样集合的信号空间的数值。信号空间,即数据压缩的对象,它可以是:物理空间,如内存、磁盘、光盘等数据存储介质;时间间隔,如传输特定大小消息所需要的时间;电磁频谱波段,为特定时间传输特定大小消息所需要的带宽。因此,信号空间是指给定消息集合所占的空域、时域和频域空间。这些形式的信号空间是相互关联的,存储空间的减少意味着传输时间的减少或带宽的减少。数据压缩的本质就是设法去掉各种冗余(如空间冗余、时间冗余、信息熵冗余),保留真正有用的信息。从数学的角度来说,就是將原始数据转换为从统计角度尽可能不相关的数据集。
2.2数据压缩算法
数据压缩算法有多种分类方法,最常用的按照数据的可逆性分为无损压缩和有损压缩。无损压缩指对压缩后的数据进行重构,重构后的数据与原数据完全相同。一般要求重构的数据与原始数据完全一致的场合,如对文本数据、可执行程序等的压缩。常用的无损压缩算法有行程编码、哈夫曼编码、LZ77及其变种等等,有损压缩指使用压缩后的数据进行重构,重构后的数据与原来的数据有所不同,但不会影响人对原始数据表达信息的理解,常用的有损压缩算法有JPEG、MPEG、MP3等等。
3基于传输过程的数据压缩
3.1传统预压缩技术
预压缩即在文件传输前进行预先压缩,无损预压缩可以在不改变信息总量前提下有效降低传输数据量,提高文件的网络传输效率,而且各平台均有成熟的压缩软件可供使用。但预压缩需要消耗额外的磁盘空间来存放压缩后的文件,而这些压缩后的文件可能仅供传输使用,这对于存储介质来说是一笔不小的开销。
3.2边压边传技术
边压边传则在传输过程中实现了数据的压缩,发送方将文件从磁盘读取到内存后,先对数据进行压缩,然后发出,接受方先对接受到的数据先进行解压缩,然后再存入磁盘,边压边传可以消除额外的磁盘消耗,且传输中的数据一定程度上实现了加密,有利于数据安全传输,但需要收发双方安装使用相同压缩及解压缩算法的传输工具,适合企业内部开发使用。
3.3商业银行文件传输压缩方案选取
商业银行各系统间传输的文件多为报表、账务性文本文件,这类文件要求收发双方的数据内容完全一致,所以只能选择无损压缩算法。商业银行各系统部署平台多元化导致预压缩在使用中极为不便,例如windows系统压缩软件产生的.rar文件在UNIX或LINUX系统中无法使用,同时考虑到减少存储空间的额外消耗,开发使用基于数据压缩的传输工具更为合适。
4压缩效果测试
4.1压缩评价指标
压缩比是衡量无损压缩算法系统性能好坏的一个常用指标。其定义为:
CR又称bpc(bit percent character),表示压缩一个字符平均所需的比特数。
4.2传输数据压缩实验
本次实验使用模拟商业银行账务数据的可读性文本文件5个,大小从50MB到300MB不等,文件总大小为800MB。分别针对主流的无损压缩算法Gzip、Deflate、Snappy、LZ4进行了压缩测试,实验工具使用JAVA语言编写,对实际网络传输数据大小进行了统计输出,以上四种压缩算法均有成熟稳定的Java包可供引用。实验机器为两台ThinkPad E450(CORE 15,4G内存),两台机器通过千兆局域网连接。实验结果如下:
通过表1中各压缩算法的压缩比实验可以发现几种主流无损压缩算法针对文本文件的压缩比在2.5到6之间,压缩比与采用主流压缩软件进行预压缩的效果相当。但本文采取的传输过程中压缩方式无需额外的存储消耗。
5小结
本文针对商业银行中的文件传输需求,提出了不同于传统预压缩的“边压边传”解决方案,并进行了压缩效果验证。实验证明,传输中压缩可以在无需额外存储消耗的情况下达到与预压缩软件同样的压缩效果。该方案已在某农村商业银行进行了成功实施,有效缓解了网络带宽不足对大量文件的及时传输带来的压力。