您的当前位置:首页正文

基于Java的大数据压缩研究

2020-10-09 来源:爱go旅游网
技术交流 基于Java的大数据压缩研究 宗家冰 辽宁锦州渤海大学信息科学与技术学院 摘要:本文针对大数据压缩存储算法的研究与实现,随着数据库承载的信息量的快速增长,大数据压缩是一种必然趋势,数据 压缩包括两种类型:无损数据压缩和有损数据压缩,在本文中主要介绍使用较为广泛的无损数据压缩算法,论文中实现大数 据压缩是按照无损压缩技术的方法,从基于统计和字典的数据压缩优缺点进行比较研究,基于Java大数据BWT压缩算法的不足, 提出了一种改进的NBWT大数据压缩算法。对大数据的三个构成元素:数据、时间标签和压缩码采用不同的数据编码策略进行 压缩,在数据压缩过程中,提出了使用矢量方式压缩数据的概念。通过设立大数据压缩缓冲池的方法,最后对本文的改进大 数据压缩算法进行了仿真测试,测试结果表明,一种改进大数据压缩算法的压缩率与压缩时间都有所改善。 关键字:Java 大数据BWT压缩算法 无损压缩 1引言 目前,随着大数据的发展,计算机用于各行各业处理信息 需求逐渐增多,系统内部存储数据量不断增多,海量数据在时、 的方法,目的是减少数据在系统占据的存储空间。 2.2大数据压缩分类研究 数据压缩包括有损数据压缩存储和无损数据压缩存储。无 损数据压缩存储技术通常所说的是数据压缩编码技术,根据海 量数据进行压缩编码处理以达到压缩存储的过程,在数据压缩 存储过程中,被压缩的数据必须经过解码恢复原始数据,数据 空上指数倍增长,为海量信息存储带来不便,特别是数据量巨大、 存储要求较高的系统中需要对数据进行加工后才存储到系统中, 必须对海量数据进行有效的编码、压缩后进行存储,为了能够 解决海量数据存储BTW算法受到程序员的极大关注。 数据的表现形式多种,例如:符号、文字、字符、音乐、标志、 图片、动画等多种形式。利用计算机来处理数据已经面临的一 个问题:海量数据的压缩存储与数据解压等问题。为此我们试 图采取其他的数据表达方式,目的是减少数据总量,这就需要 压缩分类包括:字符、文本文件、数据库数据、程序数据、图 像数据压缩过程,一般为数据压缩存储是文字或数字等,而针 对图像数据压缩、声音压缩、视频图像压缩的效率是很低,无 损数据压缩存储是必然的选择基于统计和字典的数据压缩算法, 表1为数据压缩存储的分类研究。 对海量数据进行压缩。 数据压缩算法分为无损压缩和有损压缩两种数据压缩编码 形式,相对于有损数据压缩编码来说,无损数据压缩编码的数 表l数据压缩存储的分类研究 无损数据压缩编码算法的分类研究 序号 基于统计分析的数据压 基于字典的数据压缩存储 缩存储算法 的算法 据占用存储空间较大,数据压缩比并不高,但是,将其还原原 始数据的同时,没有任何数据损坏,随着无损压缩算法逐渐被 广泛应用,使得无损压缩算法成为各个系统实现海量数据压缩 存储的首选工具,由于本文是对BTW算法的一种改进的海量数 据压缩存储的算法,下文将会详细的描述该改进算法的主要步 骤及其优缺点,并对该改进的数据压缩存储算法进行测试与归 纳总结。 2数据压缩算法分类研究 2.1数据压缩概念 在计算机科学,数据压缩是按照特定的规律经过编码减少 的数据位数存储过程。数据压缩是指在缩减数据量且减少数据 存储空间,提高其数据存储空间和数据处理效率,或按照一定 的算法对海量数据进行重新压缩编码,减少数据的冗余空间和 数据存储空间的一种信息编码技术。 数据压缩是信息技术研究中非常重要的分支,在信息技术 3一种改进的大数据压缩编码算法 讲述本文改进的压缩编码方法的同时,先介绍一下关于词 典方式压缩编码,根据的是大数据所本身包含具有重复性代码 序列的特征。压缩编码的常用格式为:zip格式、rat格式、xz 格式等等。 中被称为数据编码。但是近些年来,数据压缩存储己不仅是局 限于数据编码方法的研究,它已经是一种独立的研究分支体系, 数据压缩算法主要研究数据的存储表示、压缩编码和解压数据 在本文中,研究一种改进的大数据压缩编码方式,无损编 码是大数据压缩编码的最优方式,在实现大数据压缩编码的过 程中使得压缩效率和压缩比尽可能最快最优为最佳。 技术交流 3.1一种改进的大数据压缩算法的概述 本文改进的大数据压缩编码主要是将压缩数据进行字符和 整数进行分开压缩编码,字符压缩算法使用BWT算法,其应用 压缩排序算法对字符数据块进行重组,将原始的数据转换成一 个相似的一段数据,此过程并不是进行压缩算法,而是为了提 高数据压缩率的辅助工具,在压缩编码的过程中需要存储一些 额外的数据用于后续的解码操作。BWT算法最重要之处是能够产 生一种转换数据比原始数据存在更多更长的连续编码数据:另 一多多字符串存储循右移的数组序列。 改进的大数据压缩编码算法应用在数据库需要存储的大 数据环境下,测试数据取于某个系统内的数据库大数据模块, 分别对给定的大数据进行压缩测试及其分析,包摇压缩时间、 压缩比例、解压时间、还原质量等等。本文给定的大数据文 件大小为100G,下面从不同的参数进行比较压缩算法的性能 (表2)。 种数据压缩编码算法主要是针对整数进行压缩编码,较小的 表2比较不同种压缩算法的性能 整数用较短的编码字段,较大的数据使用较大的编码字段表示。 不同种压缩数据压缩算法之间的性能 假设有个整数X要进行整数压缩编码,当x的值趋于较小时, 此时的数据压缩编码字段较短,可以有效的节省大数据的存储 空间。 3.2一种改进的大数据压缩算法原理 NBWT为改进的大数据压缩算法,该算法描述的是给 定的待进行数据压缩的一段字符,该段字符集合标示为 x=(xl,x2,x3,…,xn),使用本文的改进的大数据压算法先要判 断给定的大数据中是否包含整数字符,如果包含整数字符交给 Golomb编码函数,否则直接交给NBWT编码函数,将读取的数据 进行循环右移位后旋转,经过一系列的移位旋转获取到新的数 据,再将新数据按照字典升序进行排序操作,BWT压缩算法对于 由相同符号开头的大数据的压缩作用非常好。 3.3一种改进的大数据压缩算法实现步骤 给定的x大数据待压缩编码序列,其中X表示为整数编码 部分,Golomb编码算法的实现步骤: ①选取一个参数m,确定编码的位数,b=2 m,m是需要先 确认的参数值; ②定义q=[int](x一1)/b,表示一个取整过程: ③使用r=x—qb一1,经过式子转化为x=qb+r+l,此种编码过 程由两个部分组成,一是q个1加上1个0组成,表示q;另一 部分由m个位组成表示成为r。 接下来讨论针对上文给定的数据序列X,改进的NBWT数据 压缩编码算法的实现步骤为: ①判断给定的x序列数据是否包含整数,如果包含交给 Golomb编码算法,否则进行2; ②将x的序列进行循环右移位,形成一个新的数据数组 xl,x={Xn,Xn一1,Xn一2,…,Xl}; ③将xl按照字典的升序进行排序; ④计算xl的长度,N=size(X1); ⑤定义i=0(0<i<N),循环处理X1和X之间的对应关系, X[N—i一1]=Xl[i]; ⑥输出已经编码的数据序列。 实现大数据的解压算法是根据大数据压缩算法而实现的一 种可逆算法,这种算法按照压缩算法的逆过程进行,实现解压 算法非常简单,在这里不再阐述。 4一种改进的大数据压缩算法测试及其应用分析 改进的大数据压缩算法性能比较,BWT压缩编码算法优点是 简单易懂,但是其缺点是耗费更多的内存资源,因为它占据更 数码 世界84... 压缩算法名称 比较 压缩时间:秒 压缩比 大数据压缩算法测试及结果表明,改进的NBWT压缩算法由 于其他算法,该算法无论在压缩时间和压缩比上都具有一定的 优势,提高大数据的压缩比和降低大数据的压缩时间是改进算 法的唯一目的。 一~~一 枷删一一 ~5结论与展望 本文研究的大数据压缩算法,通过对BWT算法的改进与设计, 通过对NBWT的算法实现步骤简单的描述,最后本文给出本文大 数据算法的测试应用分析过程及其及其测试结果的性能比较, 测试结果表明,一种改进大数据压缩算法的压缩率与压缩时间 都有所改善。 ~一一 一

因篇幅问题不能全部显示,请点此查看更多更全内容