论文部分内容阅读
XML已经日趋成为一种流行的数据表示和交换标准,用于在不同的系统和平台之间提供中立的数据表示。但是,XML天生具有的数据冗余量大的特点。近年来,国内外针对XML文档的压缩都提出了一些算法。这些XML压缩算法都充分利用了XML文档在结构上的特点,将XML文档的结构和数据相分离,再对两部分进行单独压缩。本文分析了近年来流行的几种XML压缩算法的实现原理,通过实验对比了这些算法的表现。然后,从并行化的角度对这些算法的实现提出改进,考虑对各个容器的压缩同时进行,在实验中,我们对比了并行化实现和串行化实现的表现,考察并行化实现在时间效率上的改进,并对比了两种实现的内存使用情况。最后,对压缩算法的后端压缩进行改进。改进主要利用了近年提出的LZMA算法,在实验中,我们充分对比了用gzip和LZMA作为后端压缩器的XML压缩算法的压缩率。
本文同时也关注了另一大类重要的数据格式:二进制科学实验数据。科学实验的结果往往采用二进制形式保存。传统意义上,计算机中采用统一字节数表示特定的数据类型。近年来发展的序列化技术则采用紧凑编码的方式实现数据存储,可以有效地减少数据文件所占空间和传输时间。本文研究了这些序列化技术在压缩二进制科学数据文件方面的效果,同时也考察了这些序列化方法的执行效率。针对目前计算机的多核发展趋势,本文研究采用多线程技术改进这些算法的实现,以进一步提高算法的执行效率。最后,由于数据在网络传送中存在一定的安全性问题,本文将在分析已有安全性算法的基础上,提出一个可行的安全方案。