论文部分内容阅读
由于计算机技术的广泛应用及生产技术的飞速进步,计算机同各类生产活动结合得越紧密,在某些数据密集型的生产部门,处理生产数据往往需要很大的计算量,与之对应的数据存储空间的需求也是很大的。这篇论文针对实际数据处理中产生的海量数据的存储问题作了深入的研究,提出应用并行处理方法对海量数据进行压缩存储,以期望能获得较快的压缩速度,并节省数据的存储空间。 海量数据的压缩存储涉及到两种技术:一是数据压缩技术,本文采用自适应算术编码技术,用于解决海量数据存储的空间占用问题,另一种是并行编程技术,用于解决海量数据压缩的速度问题。该文探索如何把这两方面结合起来,使海量数据的压缩存储能从理论走向实践。 自适应算术编码技术是在Huffman编码的基础上发展起来的一种编码方法,它改进了Huffman编码把码字分配给每个符号的缺点,算术编码把一个编码分配给整个输入流,这种编码方法使码长很接近于输入流的熵值。它是一种成熟的编码方案,在这个算法的基础上已经发展了多种编码算法。因此,在我的论文中我选择了自适应算术编码方案,原因是这种编码方案在对文本文件编码时有独特的优势。 并行编程技术是为了适应大型计算任务而发展起来的一种基于并行运算环境的编程技术,有关这方面的技术当前正在蓬勃发展,国内也建立不少关于并行计算的研究小组。在我的实现方案中,我利用实验室的联网计算机组成一个简易的机群系统,模拟实现了并行压缩解决方案。我在实现方案中运用了当前非常流行的MPI(消息传递接口)标准,MPI标准是与C和Fortran语言绑定的,在C编程环境中就可直接对其库函数加以调用,所以在编制并行程序的时候非常的方便。 在我的论文中,针对具体的应用情况,以及我对LandMark解释软件所产生的数据的分析,结合并行程序的任务分配策略,我提出熵值均等的分配原则,目的是为了达到各进程的数据处理同步,为规约模块的数据整合任务减轻负担,同时也是为了确保生成的压缩文件有序排列。对于上下文的阶数确定,我也创新性的提出按最大概率分割原则来确定上下文的阶数,从而使自适应算术编码的效率达到最佳。 我的实现方案结合了上面两种先进技术,详细阐述了算术编码的实现,并在实验室中实现了在并行环境中对海量数据的压缩。该方案完全体现了两种技术的优点,达到了理想的效果。