一种分布式文件系统的自适应压缩方法及系统的制作方法_2

文档序号:9929594阅读:来源:国知局
维护所述压缩数据流中数据的数据信息,所述索引文件用于快速定位所述压缩数据流。
[0026]所述的分布式文件系统的自适应压缩系统,所述数据信息包括所述待压缩文件的位置、所述待压缩文件在压缩文件中的位置、所述待压缩文件的大小。
[0027]所述的分布式文件系统的自适应压缩系统,所述压缩模块包括获取客户端的写请求,所述分布式文件系统的命名空间节点告知所述待压缩文件所在的数据节点,所述客户端与数据节点通信,所述客户端传输待压缩数据给所述数据节点,通过自适应压缩理论模型获取最优压缩算法,选择最优压缩算法后,将所述待压缩数据进行压缩,生成所述压缩数据流,将所述压缩数据流发送给所述数据节点。
[0028]所述的分布式文件系统的自适应压缩系统,所述自适应压缩理论模型为
[0029]|CRXR-TR|,CR>TR且R<0.8
[0030]R为各压缩算法之间的压缩比,CR为各压缩算法之间的压缩速率,TR数据传输速率。
[0031]所述的分布式文件系统的自适应压缩系统,所述压缩模块还包括获取客户端的读请求,所述分布式文件系统的命名空间节点告知所述待压缩文件所在的数据节点,所述客户端与数据节点通信,所述数据节点传输所述压缩数据流给所述客户端,根据所述压缩数据流的所述头部信息,将所述压缩数据流进行解压缩,所述数据节点将解压缩后的数据传输给所述客户端。
[0032]由以上方案可知,本发明的优点在于:
[0033]本发明的测试中选择了对比自适应压缩理论压缩模型和不同压缩算法以及原始的文件系统的在不同集群条件,不同的文件上的写吞吐量,如图1,图2,图3所示,可以看到本发明的自适应压缩理论模型在测试过程中几乎都达到了最优的吞吐量,具有非常好的适应性,平均来看,基于预测的自适应压缩模型比配置了 zlib压缩算法的文件系统的吞吐量高21%,比配置了quicklz的高27%,比配置了 snappy的高47%,比原始的文件系统高了247%。
【附图说明】
[0034]图1是本发明的基于预测的自适应压缩模型与配置压缩算法的分布式文件系统的在不同并发度吞吐量对比图;
[0035]图2是本发明的基于预测的自适应压缩模型与配置压缩算法的分布式文件系统的在具有不同压缩比的文件上吞吐量对比图;
[0036]图3是本发明的基于预测的自适应压缩模型与配置压缩算法的分布式文件系统的在不同压缩比的文件上的吞吐量对比图;
[0037]图4是本发明分布式文件系统基于预测的自适应压缩模型的流式透明压缩技术的系统结构示意图;
[0038]图5是本发明基于自适应压缩模型的流式透明压缩技术的总流程图。
[0039]图6为本发明方法流程图;
[0040]图7为本发明系统结构图。
【具体实施方式】
[0041]以下为本发明整体步骤,如下所示:
[0042]如图6所示,本发明提出一种分布式文件系统的自适应压缩方法,包括:
[0043]步骤I,设置压缩文件格式,形成压缩数据流,所述压缩数据流由头部信息与多个数据块组成,其中所述头部信息用于判断所述压缩数据流是否已经过压缩;
[0044]步骤2,接收所述待压缩文件,将所述待压缩文件按照所述压缩文件格式将所述待压缩文件进行压缩生成所述压缩数据流;
[0045]步骤3,设置索引文件,其中所述索引文件由多个记录组成,每条记录维护所述压缩数据流中数据的数据信息,所述索引文件用于快速定位所述压缩数据流。
[0046]所述数据信息包括所述待压缩文件的位置、所述待压缩文件在压缩文件中的位置、所述待压缩文件的大小。
[0047]所述步骤3包括获取客户端的写请求,所述分布式文件系统的命名空间节点告知所述待压缩文件所在的数据节点,所述客户端与数据节点通信,所述客户端传输待压缩数据给所述数据节点,通过自适应压缩理论模型获取最优压缩算法,选择最优压缩算法后,将所述待压缩数据进行压缩,生成所述压缩数据流,将所述压缩数据流发送给所述数据节点。
[0048]所述自适应压缩理论模型为
[0049]|CRXR-TR|,CR>TR且R<0.8
[0050]R为各压缩算法之间的压缩比,CR为各压缩算法之间的压缩速率,TR数据传输速率。
[0051]所述步骤3还包括获取客户端的读请求,所述分布式文件系统的命名空间节点告知所述待压缩文件所在的数据节点,所述客户端与数据节点通信,所述数据节点传输所述压缩数据流给所述客户端,根据所述压缩数据流的所述头部信息,将所述压缩数据流进行解压缩,所述数据节点将解压缩后的数据传输给所述客户端。
[0052]如图7所示,本发明还提出一种分布式文件系统的自适应压缩系统,包括:
[0053]设置压缩文件格式模块,用于设置压缩文件格式,形成压缩数据流,所述压缩数据流由头部信息与多个数据块组成,其中所述头部信息用于判断所述压缩数据流是否已经过压缩;
[0054]压缩模块,用于接收待压缩流,将所述待压缩文件按照所述压缩文件格式将所述待压缩文件进行压缩生成所述压缩数据流;
[0055]设置索引文件模块,用于设置索引文件,其中所述索引文件由多个记录组成,每条记录维护所述压缩数据流中数据的数据信息,所述索引文件用于快速定位所述压缩数据流。
[0056]所述数据信息包括所述待压缩文件的位置、所述待压缩文件在压缩文件中的位置、所述待压缩文件的大小。
[0057]所述压缩模块包括获取客户端的写请求,所述分布式文件系统的命名空间节点告知所述待压缩文件所在的数据节点,所述客户端与数据节点通信,所述客户端传输待压缩数据给所述数据节点,通过自适应压缩理论模型获取最优压缩算法,选择最优压缩算法后,将所述待压缩数据进行压缩,生成所述压缩数据流,将所述压缩数据流发送给所述数据节点。
[0058]所述自适应压缩理论模型为
[0059]|CRXR-TR|,CR>TR且R<0.8
[0060]R为各压缩算法之间的压缩比,CR为各压缩算法之间的压缩速率,TR数据传输速率。
[0061]所述压缩模块还包括获取客户端的读请求,所述分布式文件系统的命名空间节点告知所述待压缩文件所在的数据节点,所述客户端与数据节点通信,所述数据节点传输所述压缩数据流给所述客户端,根据所述压缩数据流的所述头部信息,将所述压缩数据流进行解压缩,所述数据节点将解压缩后的数据传输给所述客户端。
[0062]以下为本发明实施例,如图5所示为本发明工作的总流程图
[0063]本发明采用基于预测的自适应压缩理论模型(Predict1n-based AdaptiveCompress1n Model,PACM)来指导完成数据压缩。自适应压缩模型根据压缩算法之间以及内在的特性,再加上一些历史数据来指导压缩。通过该理论模型可以自动选择最优的算法对数据进行压缩,系统负载小,灵活性高,适应性好。
[0064]本发明设计了一个索引文件来快速定位被压缩数据所在位置。一个索引文件由多个记录(Record)组成,每条记录维护着原始文件中一批数据的信息,包括原文件中的位置、压缩文件中的位置以及原始数据的大小。通过该索引文件能快速定位压缩过的数据所在位置,提供对随机读的支持。
[0065]本发明设计了压缩文件格式来管理压缩文件。压缩数据流由头部信息(Header)和多个数据块组成。头部信息用来判断数据流是否经过压缩。而数据块由三部分组成:头部、压缩数据、尾部,其中头部包含数据块原始大小和压缩后的大小等信息,压缩数据是被压缩后的数据,尾部包含数据块在原始数据流中和压缩数据流中的位置。本发明通过压缩文件格式实现了支持高效的定位(seek)和跳过(skip)操作,对压缩数据的读性能有很大的提升的技术效果。
[0066]本发明对上层系统提供了一个基于自适应压缩理论模型的流式压缩器,上层应用可利用压缩器创建输入流或输出流,用以封装原有的输入流或输出流。在流式压缩器中实现了自适应压缩理论模型,压缩解压缩对用户完全透明,无论是写入或者读取数据,都可以提尚磁盘和网络
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1