CN103020205A - 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法 - Google Patents

一种分布式文件系统上基于硬件加速卡的压缩解压缩方法 Download PDF

Info

Publication number
CN103020205A
CN103020205A CN2012105180389A CN201210518038A CN103020205A CN 103020205 A CN103020205 A CN 103020205A CN 2012105180389 A CN2012105180389 A CN 2012105180389A CN 201210518038 A CN201210518038 A CN 201210518038A CN 103020205 A CN103020205 A CN 103020205A
Authority
CN
China
Prior art keywords
compression
data
hardware accelerator
accelerator card
burst
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105180389A
Other languages
English (en)
Other versions
CN103020205B (zh
Inventor
刘佳
胡肖
查礼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing branch DNT Technology Co.,Ltd.
Original Assignee
BEIJING PEZY DATA TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING PEZY DATA TECHNOLOGY Co Ltd filed Critical BEIJING PEZY DATA TECHNOLOGY Co Ltd
Priority to CN201210518038.9A priority Critical patent/CN103020205B/zh
Publication of CN103020205A publication Critical patent/CN103020205A/zh
Application granted granted Critical
Publication of CN103020205B publication Critical patent/CN103020205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种分布式文件系统上基于硬件加速卡的压缩解压缩方法,属于分布式文件系统技术领域。该技术包括:客户端向数据节点写数据时,先将文件块进行分片,再经硬件加速卡对分片进行压缩,将压缩后的分片发送至数据节点;客户端从数据节点读取数据时,先从数据节点取回包含读取数据的各分片,调用硬件加速卡对各分片解压缩并组合,将组合后的数据发送至上层应用。上层应用可独立使用硬件加速卡以数据流的形式对数据进行压缩或解压缩。本发明提出的技术在分布式文件系统和上层应用中使用硬件加速卡,只需要很小的缓存就能实现数据压缩或解压缩,可以卸载传统压缩方法所消耗的大量CPU资源,并且对系统的用户而言完全透明。

Description

一种分布式文件系统上基于硬件加速卡的压缩解压缩方法
技术领域
本发明涉及分布式文件系统技术领域,尤其涉及一种分布式文件系统上基于硬件加速卡的压缩解压缩方法。
背景技术
随着数据时代的到来,互联网所要处理的数据量日益增大,为了保证数据的高可靠性,当前的分布式文件系统一般采用多副本策略。但是,在大规模机群中这将会带来不可忽略的巨额存储开销,同时对于分布式文件系统之上的系统或应用,如分布式数据库、分布式数据仓库、MapReduce框架或其它应用,也有可能会产生冗余数据,使得数据的膨胀率更高,I/O性能成为系统的瓶颈日益明显,现有的分布式文件系统难以同时满足高性能、高可靠性和低存储开销的需求。
通过对分布式文件系统之上应用的类型进行分析可以得知,这些应用使用或产生的大部分数据是文本信息,特别是离线或在线分析系统中的数据基本都是文本,而文本本身是一种高度可压缩的数据,因此通过引入一种快速的数据压缩方法,可以有效降低数据的存储开销,提高磁盘和网络I/O的有效带宽,从而提高应用的吞吐量。
对于传统的采用软件方式实现数据压缩或解压缩方法,如GZip,该方式虽然能使系统的存储开销减小,但是在压缩或解压缩过程中会占用大量的CPU资源,有可能导致系统的处理能力下降。
发明内容
本发明的目的在于提出一种分布式文件系统上基于硬件加速卡的压缩解压缩方法,能够使得在占用少量系统资源的情况下,完成对用户透明的压缩和解压缩过程,降低系统的存储开销,并且具有良好的容错机制。
为达此目的,本发明采用以下技术方案:
一种分布式文件系统上基于硬件加速卡的压缩解压缩方法,所述方法包括:
分布式文件系统中的客户端向数据节点写入数据时:所述客户端将文件块分成多个分片,调用硬件加速卡对各分片进行压缩,再将压缩后的各分片发送至所述数据节点;所述数据节点将所述压缩后的各分片存储至压缩块文件中,并更新所述数据节点中的索引文件;
分布式文件系统中的客户端从数据节点读取数据时:所述数据节点找到保存读取数据的压缩块文件;所述客户端取回包含所述读取数据的各分片,调用所述硬件加速卡对所述各分片进行解压缩,并组合解压缩后的各分片,将组合后的解压缩数据发送至上层应用。
优选地,所述各分片为64KB大小的数据。
进一步地,所述硬件加速卡采用PCI接口;
所述硬件加速卡利用一个压缩方法库,实现对特定内存缓冲区中的数据进行压缩或解压缩的功能;
所述硬件加速卡上配备有多个处理芯片,每个芯片可单独进行压缩或解压缩操作,所述芯片由可编程逻辑器件构成;
其中,所述压缩方法库包括各种压缩解压缩算法和驱动程序,具有压缩和解压缩两个接口,两个接口的参数均包括输入缓冲区和输出缓冲区;
进一步地,所述硬件加速卡利用一个压缩方法库,实现对特定内存缓冲区中的数据进行压缩或解压缩的功能包括:所述压缩方法库将压缩或解压缩算法经所述用户层编程接口接入;调用驱动程序,经所述用户层编程接口驱动硬件加速卡,完成对特定内存缓冲区中的数据压缩或解压缩功能。
进一步地,所述调用所述硬件加速卡对各分片进行压缩包括:所述客户端将所述各分片送入所述压缩方法库压缩接口的输入缓冲区,所述压缩方法库驱动所述硬件加速卡,所述硬件加速卡完成对所述各分片的压缩过程,并将压缩后的所述各分片送入所述压缩方法库压缩接口的输出缓冲区。
进一步地,所述调用所述硬件加速卡对所述各分片进行解压缩包括:所述客户端将所述各分片送入所述压缩方法库解压缩接口的输入缓冲区,所述压缩方法库驱动所述硬件加速卡,所述硬件加速卡完成对所述各分片的解压缩过程,并将解压缩后的所述各分片送入所述压缩方法库解压缩接口的输出缓冲区。
进一步地,所述压缩方法库在对数据进行压缩或解压缩时,如果发现所述硬件加速卡出现故障,将采用软件方式对数据进行压缩或解压缩。
进一步地,所述压缩后的分片信息包括头部信息和压缩数据,所述头部信息包括原始数据大小、压缩数据大小、压缩算法类型。
进一步地,所述数据节点将所述压缩后的各分片存储至压缩块文件中,并更新所述数据节点的索引文件包括:所述数据节点按顺序将所述压缩后的各分片写到压缩块文件中,并另外维护一个索引文件;
其中所述索引文件按所述各分片在文件块原始文件中的顺序,记录所述各分片在压缩块文件中的位置偏移量和长度。
进一步地,所述数据节点找到保存读取数据的压缩块文件包括:所述数据节点根据所述读取数据在文件块原始文件中的偏移位置和长度,在所述索引文件中找到所述读取数据在压缩块文件中的位置。
进一步地,所述分布式文件系统的上层应用可独立使用所述硬件加速卡以数据流的形式对数据进行压缩或解压缩。
进一步地,所述上层应用使用所述硬件加速卡向数据流中写入数据的过程包括:所述上层应用先对需要写入的数据进行缓存,如果缓存数据的大小超过预设值,将所述预设值大小的数据作为一个压缩块,调用所述硬件加速卡对所述压缩块进行压缩,并将压缩后的数据写到数据流中。
优选地,所述预设值取64KB。
进一步地,所述上层应用使用所述硬件加速卡从数据流中读取数据的过程包括:所述数据流内部有一个缓冲区,用于缓存已解压缩数据,如果所述缓冲区不为空,将所述已解压缩数据发送至所述上层应用,如果所述缓冲区为空,则从所述数据流中读取一个压缩数据块,调用所述硬件加速卡对所述压缩数据块进行解压缩,并将解压缩后的数据存至所述缓冲区中。
本发明技术方案的优势在于:
在大型分布式文件系统上采用PCI接口的硬件加速卡来完成数据压缩或解压缩,过程中只消耗少量系统资源,可以卸载传统压缩方法所消耗的大量CPU资源;
数据的压缩或解压缩对于用户是完全透明的,上层应用无需做任何改动,并且无论是写入或读取数据,都可以提高磁盘和网络I/O的有效带宽;
采用分片式压缩格式,将文件分成大小为64KB的分片,能达到较好的压缩效果,而且对于硬件加速卡只需要很小的缓存就能实现压缩;
在硬件加速卡出现故障时,压缩方法库能够切换到软件方式进行压缩或解压缩,具有良好的容错机制;
分布式文件系统的上层应用可独立使用硬件加速卡创建输入流或输出流,用以封装原有的输入流或输出流,能方便地对数据进行压缩或解压缩。
附图说明
图1是本发明具体实施例一提供的一种分布式文件系统上基于硬件加速卡的压缩解压缩方法的系统结构示意图;
图2是本发明具体实施例一提供的分布式文件系统上基于硬件加速卡的压缩解压缩方法的数据写入流程示意图;
图3是本发明具体实施例一提供的客户端调用硬件加速卡压缩数据流程示意图;
图4是本发明具体实施例一提供的分布式文件系统上基于硬件加速卡的压缩解压缩方法的文件块格式示意图;
图5是本发明具体实施例一提供的分布式文件系统上基于硬件加速卡的压缩解压缩方法的数据读取流程示意图;
图6是本发明具体实施例二提供的另一种分布式文件系统上基于硬件加速卡的压缩解压缩方法的系统结构示意图;
图7是本发明具体实施例二提供的上层应用压缩数据流程示意图;
图8是本发明具体实施例二提供的上层应用解压缩数据流程示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
本实施例基于Apache HDFS(Hadoop DistributedFile System,分布式文件系统)实现基于硬件加速卡的压缩原型,HDFS为Google GFS的开源实现,是Hadoop生态圈各项目的基础。
HDFS上层应用使用客户端来写入或读取文件。HDFS中一个文件会被分成多个大小相同的文件,最后一个文件块的大小可能比其它的文件块小。属于同一个文件的不同文件块可能存储在不同的数据节点上,且每个数据块在数据节点中共有3个副本。
参见图1,一种分布式文件系统上基于硬件加速卡的压缩解压缩方法的系统结构示意图。本实施例提供的压缩解压缩方法是通过调用硬件加速卡,来完成对文件块的压缩或解压缩,其压缩或解压缩过程工作在客户端与数据节点。该方法在硬件加速卡之上实现了一个压缩方法库。压缩方法库包括各种压缩解压缩算法和驱动程序,具有压缩和解压缩两个接口,两个接口的参数均包括输入缓冲区和输出缓冲区,方便应用使用硬件加速卡。压缩方法库将压缩或解压缩算法经所述用户层编程接口接入,调用驱动程序,经所述用户层编程接口驱动硬件加速卡,将数据送往硬件加速卡的缓存,由硬件加速卡完成对数据的压缩或解压缩,操作完成后再从硬件加速卡的缓存读回数据。由此可见,压缩方法库通过调用驱动程序来驱动硬件加速卡,完成数据的压缩或解压缩。
硬件加速卡采用PCI(Peripheral ComponentInterconnect,外设互联接口)接口,能在普通的商用机器上使用,通过将压缩方法库中的压缩算法经用户层编程接口接入,以硬件的方式实现对特定内存缓冲区中的数据进行压缩或解压缩的功能。硬件加速卡上配备有多个处理芯片,每个芯片可以单独进行压缩或解压缩操作,因此支持同时执行多个操作。各芯片由可编程逻辑器件构成。
参见图2,分布式文件系统上基于硬件加速卡的压缩解压缩方法的数据写入流程示意图。当客户端向数据节点写入数据的过程如下:
101:客户端调用硬件加速卡对用户数据进行压缩,生成压缩后的多个分片。
102:客户端将压缩后的各分片发送至第一数据节点。
103:第一数据节点更新块文件和索引文件,并复制压缩后的各分片,将其发送至第二数据节点。
104:第二数据节点更新块文件和索引文件,并复制压缩后的各分片,将其发送至第三数据节点。
105:第三数据节点更新块文件和索引文件。
其中,步骤101中客户端调用硬件加速卡对用户数据进行压缩的过程,参见图3,具体步骤如下:
201:当客户端缓存的用户数据大小达到一个文件块大小时,客户端将用户数据进行分片,各分片大小要适中,以便能够达到较好的压缩效果,而且对于硬件加速卡只需要很小的缓存就能实现压缩或解压缩。优选的各分片大小采用64KB。
202:客户端将各分片送入压缩方法库压缩接口的输入缓冲区,压缩方法库调用驱动程序来驱动硬件加速卡,硬件加速卡完成对各分片的压缩过程,并将压缩后的各分片送入压缩方法库压缩接口的输出缓冲区。
203:客户端从压缩方法库压缩接口的输出缓冲区读回压缩后的各分片。
另外,步骤103、104、105中数据节点更新块文件和索引文件,具体的过程为:数据节点顺序存储压缩后的各分片至压缩块文件中,在维护原有索引的基础上另外维护一个索引文件,新维护的索引文件按各分片在文件块原始文件中的顺序,记录各分片在压缩块文件中的位置,根据索引文件能够快速定位特定分片。
图4是本实施例提供的分布式文件系统上基于硬件加速卡的压缩解压缩方法的文件块格式示意图。当客户端未对用户数据进行压缩时,HDFS数据节点保存的是未压缩块,包括块文件和元文件。元文件是用于描述要素、数据集或数据集系列的内容、覆盖范围、管理方式等有关信息。当客户端使用硬件加速卡对用户数据进行压缩时,HDFS数据节点保存的是压缩块,压缩块包括压缩块文件、索引文件、元文件。压缩块文件由顺序存储的压缩分片构成,每个压缩分片包括头部信息和压缩数据,头部信息包括原始数据大小、压缩数据大小、压缩算法类型。根据各压缩分片的头部信息,可以按压缩算法类型对数据进行解压缩。根据原始数据大小这个信息,很容易计算出当前分片在文件块原始文件中的起始位置。索引文件由各分片索引构成,所述各分片索引记录着各压缩分片在压缩块文件中的偏移量和长度。
参见图5,分布式文件系统上基于硬件加速卡的压缩解压缩方法的数据读取流程示意图。当客户端从数据节点读取数据时,具体过程如下:
301:在数据节点上寻找保存读取数据的压缩块文件,并将找到的读取数据压缩块文件中的各分片发送至客户端。其中,数据节点根据读取数据在文件块原始文件中的偏移位置和长度,在新维护的索引文件中找到读取数据在压缩块文件中的起始位置,最终寻找到保存读取数据的各分片。例如现有一个1MB大小的原始文件,要读取从256KB位置开始的16KB数据,由于每个未压缩分片大小为64KB,可知要读取的数据在第5个分片中。在压缩块文件中首先读出第1个压缩分片的头部信息,然后跳过压缩数据部分,定位到第2个分片的起始位置,依此类推,直到定位到第5个分片,读出第5个分片的压缩数据,将数据解压缩后从中读出16KB的数据。
302:客户端接收读取数据压缩块文件中的各分片,并将各分片送入压缩方法库解压缩接口的输入缓冲区,压缩方法库调用驱动程序来驱动硬件加速卡,驱动硬件加速卡完成对各分片的解压缩过程,并将解压缩后的各分片送入压缩方法库解压缩接口的输出缓冲区。
303:客户端从解压缩接口的输出缓冲区读回解压缩后的各分片,并对各解分片按顺序组合成完整的请求数据文件块,将其发送至上层应用。
上述基于分片的头部信息,能够有效完成一些操作。在分布式文件系统中,经常会遇到需要把一个大文件分割成多个小文件或在一个大文件中随机读取一部分数据的情况。在对大文件进行数据切分或随机读操作时,只需读取压缩分片的头部信息,获取分片压缩后的数据大小,然后跳过压缩数据部分,经过多次重复操作,定位到大文件指定位置。在此过程中,不必读取压缩数据,也不需要解压缩数据,减少了很多I/O操作,增加了灵活性。
当压缩方法库通过驱动程序驱动硬件加速卡,以硬件的方式对数据进行压缩或解压缩时,如果发现所述硬件加速卡出现故障,压缩方法库将采用软件方式对数据进行压缩和解压缩,完成与硬件加速卡同样的处理结果。
本实施例基于硬件加速卡的压缩原型采用hadoop-0.20.2作为代码基础,采用Java语言实现。
本实施例的优势在于:
1、借助硬件加速卡,压缩或解压缩过程只占用少量CPU资源,压缩处理吞吐率高于磁盘I/O带宽,相比传统采用软件方式的压缩解压缩方法所节省的系统资源可用于其它处理过程。
2、于目前测试效果看来,对于真实的数据,压缩比大约为25%左右,有效降低了存储开销,将磁盘的有效带宽提高了4到5倍;
3、压缩解压缩工作在HDFS的客户端和数据节点,对上层应用完全透明,因此基于HDFS的在线或离线数据分析系统,例如HBase、Hive等,均可方便使用数据压缩,无需做任何改动,并且可以减少客户端与数据节点、数据节点之间的数据传输量。
4、在HDFS中对压缩后的分片进行切分或随机读操作时,只需要读出压缩分片的头部信息,跳过真实的压缩数据部分,从而减少IO操作。
5、在硬件加速卡出现故障不能使用时,压缩方法库采用软件方式来完成同样的处理过程,形成了良好的容错机制。
实施例二
参见图6,另一种分布式系统上基于硬件加速卡的压缩解压缩方法的系统结构示意图。本实施例是对实施例一的进一步延伸,硬件加速卡除了用于HDFS的客户端与数据节点上之外,还可用于上层应用。对于HDFS上层应用,例如分布式数据库、分布式数据仓库、MapReduce框架及其它需要数据存储的应用,可独立的调用硬件加速卡,以数据流的形式对数据进行压缩或解压缩,然后将处理后的数据存储在分布式文件系统、本地文件系统、在网络上进行传输或用于其它用途。压缩方法库通过驱动程序驱动硬件加速卡进行压缩或解压缩,可以创建数据输入流和输出流,数据的流式写入具有只追加数据、没有随机写的特征,该特征有利于简化数据压缩。
上层应用在调用硬件加速卡压缩数据时会创建一个数据输出流,该流封装了原来的输出流。参见图7,上层应用压缩数据流程示意图。上层应用往数据流中写压缩数据时,具体过程如下:
401:上层应用缓存数据,如果缓存数据的大小超过64KB,每64KB大小的数据作为一个数据块;
402:上层应用将各数据块送入压缩方法库压缩接口的输入缓冲区,压缩方法库调用驱动程序来驱动硬件加速卡,驱动硬件加速卡完成对各数据块的压缩过程,生成各压缩分块;
403:上层应用将各压缩分块写到原来的输出流;
上层应用在使用硬件加速卡解压缩数据时会创建一个数据输入流,该流封装了原来的输入流。参见图8,上层应用解压缩数据流程示意图。上层应用从数据流中读取压缩数据时,具体过程如下:
501:原来输入流内部的缓冲区缓存已解压缩的数据。
502:上层应用从数据输入流读取数据时,判断缓冲区是否为空。
503:如果缓冲区不为空,将缓冲区中的数据返回至上层应用。
504:如果缓冲区为空,则上层应用从原来的输入流中读取一个压缩块,压缩方法库通过驱动程序驱动硬件加速卡,对压缩块进行解压缩,并将解压缩后的数据存在缓冲区中,返回步骤502。
关于硬件加速卡、压缩方法库更加详细的描述,可以参见实施例一,这里不再赘述。
对于原来就启用压缩的上层应用,只需做出少量改动,使用硬件加速卡替换原来的压缩器,即可完成压缩算法的切换。在应用中根据配置来选择对应的压缩方式,可以避免切换压缩方式时重新编译代码。
本实施例提供的压缩解压缩方法除在分布式系统上使用硬件加速卡外,对上层应用还提供了一个硬件加速卡,上层应用可调用硬件加速卡,创建输入流或输出流,用以封装原有的输入流或输出流,能方便地对数据进行压缩或解压缩。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述方法包括: 
分布式文件系统中的客户端向数据节点写入数据时:所述客户端将文件块分成多个分片,调用硬件加速卡对各分片进行压缩,再将压缩后的各分片发送至所述数据节点;所述数据节点将所述压缩后的各分片存储至压缩块文件中,并更新所述数据节点中的索引文件; 
分布式文件系统中的客户端从数据节点读取数据时:所述数据节点找到保存读取数据的压缩块文件;所述客户端取回包含所述读取数据的各分片,调用所述硬件加速卡对所述各分片进行解压缩,并组合解压缩后的各分片,将组合后的解压缩数据发送至上层应用。 
2.根据权利要求1所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述各分片为64KB大小的数据。 
3.根据权利要求1所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述硬件加速卡采用PCI接口; 
所述硬件加速卡利用一个压缩方法库,实现对特定内存缓冲区中的数据进行压缩或解压缩的功能; 
所述硬件加速卡上配备有多个处理芯片,每个芯片可单独进行压缩或解压缩操作,所述芯片由可编程逻辑器件构成; 
其中,所述压缩方法库包括各种压缩解压缩算法和驱动程序,具有压缩和解压缩两个接口,两个接口的参数均包括输入缓冲区和输出缓冲区。
4.根据权利要求3所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述硬件加速卡利用一个压缩方法库,实现对特定内存缓冲区中的数据进行压缩或解压缩的功能包括:所述压缩方法库将压缩或解压缩 算法经所述用户层编程接口接入;调用驱动程序,经所述用户层编程接口驱动硬件加速卡,完成对特定内存缓冲区中的数据压缩或解压缩功能。 
5.根据权利要求4所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述调用所述硬件加速卡对各分片进行压缩包括:所述客户端将所述各分片送入所述压缩方法库压缩接口的输入缓冲区,所述压缩方法库驱动所述硬件加速卡,所述硬件加速卡完成对所述各分片的压缩过程,并将压缩后的所述各分片送入所述压缩方法库压缩接口的输出缓冲区。 
6.根据权利要求4所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述调用所述硬件加速卡对所述各分片进行解压缩包括:所述客户端将所述各分片送入所述压缩方法库解压缩接口的输入缓冲区,所述压缩方法库驱动所述硬件加速卡,所述硬件加速卡完成对所述各分片的解压缩过程,并将解压缩后的所述各分片送入所述压缩方法库解压缩接口的输出缓冲区。 
7.根据权利要求3-6任一所述的,分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述压缩方法库在对数据进行压缩或解压缩时,如果发现所述硬件加速卡出现故障,将采用软件方式对数据进行压缩或解压缩。 
8.根据权利要求1所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述压缩后的分片信息包括头部信息和压缩数据,所述头部信息包括原始数据大小、压缩数据大小、压缩算法类型。 
9.根据权利要求1所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述数据节点将所述压缩后的各分片存储至压缩块文件中,并更新所述数据节点的索引文件包括:所述数据节点按顺序将所述压缩后的各分片写到压缩块文件中,并另外维护一个索引文件; 
其中所述索引文件按所述各分片在文件块原始文件中的顺序,记录所述各分片在压缩块文件中的位置偏移量和长度。 
10.根据权利要求1所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述数据节点找到保存读取数据的压缩块文件包括:所述数据节点根据所述读取数据在文件块原始文件中的偏移位置和长度,在所述索引文件中找到所述读取数据在压缩块文件中的位置。 
11.根据权利要求1所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述分布式文件系统的上层应用可独立使用所述硬件加速卡以数据流的形式对数据进行压缩或解压缩。 
12.根据权利要求11所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述上层应用使用所述硬件加速卡向数据流中写入数据的过程包括:所述上层应用先对需要写入的数据进行缓存,如果缓存数据的大小超过预设值,将所述预设值大小的数据作为一个压缩块,调用所述硬件加速卡对所述压缩块进行压缩,并将压缩后的数据写到数据流中。 
13.根据权利要求11所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述预设值取64KB。 
14.根据权利要求11所述的分布式文件系统上基于硬件加速卡的压缩解压缩方法,其特征在于,所述上层应用使用所述硬件加速卡从数据流中读取数据的过程包括:所述数据流内部有一个缓冲区,用于缓存已解压缩数据,如果所述缓冲区不为空,将所述已解压缩数据发送至所述上层应用,如果所述缓冲区为空,则从所述数据流中读取一个压缩数据块,调用所述硬件加速卡对所述压缩数据块进行解压缩,并将解压缩后的数据存至所述缓冲区中。 
CN201210518038.9A 2012-12-05 2012-12-05 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法 Active CN103020205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210518038.9A CN103020205B (zh) 2012-12-05 2012-12-05 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210518038.9A CN103020205B (zh) 2012-12-05 2012-12-05 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法

Publications (2)

Publication Number Publication Date
CN103020205A true CN103020205A (zh) 2013-04-03
CN103020205B CN103020205B (zh) 2018-07-31

Family

ID=47968809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210518038.9A Active CN103020205B (zh) 2012-12-05 2012-12-05 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法

Country Status (1)

Country Link
CN (1) CN103020205B (zh)

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455345A (zh) * 2013-08-15 2013-12-18 京信通信系统(中国)有限公司 一种压缩和引导嵌入式操作系统镜像文件的方法及装置
CN103500221A (zh) * 2013-10-15 2014-01-08 北京国双科技有限公司 分析服务数据库的监控方法和装置
WO2014200863A1 (en) * 2013-06-10 2014-12-18 Sony Computer Entertainment Inc. Scheme for compressing vertex shader output parameters
CN104571957A (zh) * 2014-12-29 2015-04-29 成都致云科技有限公司 一种数据读取方法及组装装置
CN105068875A (zh) * 2015-08-12 2015-11-18 浪潮(北京)电子信息产业有限公司 一种智能数据处理方法及装置
CN105468748A (zh) * 2015-11-26 2016-04-06 航天恒星科技有限公司 一种分布式存储位置数据方法及系统
WO2016095149A1 (zh) * 2014-12-18 2016-06-23 华为技术有限公司 一种数据压缩存储方法、装置,及分布式文件系统
CN105718538A (zh) * 2016-01-18 2016-06-29 中国科学院计算技术研究所 一种分布式文件系统的自适应压缩方法及系统
WO2017018567A1 (ko) * 2015-07-28 2017-02-02 디포커스(주) 하둡 기반 하드웨어 압축 고속화 장치 및 방법
WO2017173618A1 (zh) * 2016-04-07 2017-10-12 华为技术有限公司 压缩数据的方法、装置和设备
CN107317584A (zh) * 2017-06-28 2017-11-03 上海兆芯集成电路有限公司 加速压缩方法以及加速压缩装置
CN108363719A (zh) * 2018-01-02 2018-08-03 中科边缘智慧信息科技(苏州)有限公司 分布式文件系统中可配置的透明压缩方法
US10096079B2 (en) 2013-06-10 2018-10-09 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US10134102B2 (en) 2013-06-10 2018-11-20 Sony Interactive Entertainment Inc. Graphics processing hardware for using compute shaders as front end for vertex shaders
US10176621B2 (en) 2013-06-10 2019-01-08 Sony Interactive Entertainment Inc. Using compute shaders as front end for vertex shaders
CN109302449A (zh) * 2018-08-31 2019-02-01 阿里巴巴集团控股有限公司 数据写入方法、数据读取方法、装置和服务器
CN109918174A (zh) * 2019-03-15 2019-06-21 合肥谐桐科技有限公司 基于加速卡实现虚拟机热迁移优化处理的系统及其方法
CN110321374A (zh) * 2018-10-23 2019-10-11 开采夫(杭州)科技有限公司 基于分布式网络的标准文件io操作系统及方法
CN110489387A (zh) * 2019-08-13 2019-11-22 深圳大学 压缩解压方法、装置、电子设备及存储介质
CN110557124A (zh) * 2018-05-30 2019-12-10 华为技术有限公司 一种数据压缩方法及装置
CN110572422A (zh) * 2018-06-06 2019-12-13 北京京东尚科信息技术有限公司 数据下载方法和装置
WO2020000175A1 (en) * 2018-06-26 2020-01-02 Intel Corporation Oversubscribable resource allocation
CN110677402A (zh) * 2019-09-24 2020-01-10 深圳前海微众银行股份有限公司 一种基于智能网卡的数据整合方法及装置
CN110795497A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 分布式存储系统中的协同压缩
CN110851871A (zh) * 2019-11-15 2020-02-28 北京明朝万达科技股份有限公司 一种文件解压方法、装置、电子设备及存储介质
WO2021026761A1 (zh) * 2019-08-13 2021-02-18 深圳大学 压缩解压方法、装置、电子设备及存储介质
CN112995217A (zh) * 2021-04-29 2021-06-18 深圳华锐金融技术股份有限公司 数据发送方法、系统
CN113626092A (zh) * 2021-10-14 2021-11-09 广州匠芯创科技有限公司 嵌入式系统启动方法与soc芯片
CN113806374A (zh) * 2021-09-30 2021-12-17 上海健交科技服务有限责任公司 一种面向大数据的数据流式缓存方法及系统
CN115086453A (zh) * 2022-07-06 2022-09-20 中国人民银行清算总中心 数据交换方法、装置及系统
WO2022262381A1 (zh) * 2021-06-16 2022-12-22 华为技术有限公司 一种数据压缩方法及装置
CN116644039A (zh) * 2023-05-25 2023-08-25 安徽继远软件有限公司 一种基于大数据的在线能力运营日志自动采集分析的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1971541A (zh) * 2006-11-29 2007-05-30 赛安(杭州)微系统有限公司 一种用于vtl平台的数据压缩和解压缩插卡
CN101001211A (zh) * 2006-01-13 2007-07-18 汤姆森许可贸易公司 数据分组交换方法、数据分组的压缩设备及解压缩设备
CN101039417A (zh) * 2007-04-26 2007-09-19 广东威创日新电子有限公司 多个分块并行压缩视频数据装置及其压缩方法
CN101478311A (zh) * 2009-01-22 2009-07-08 浙江大学 bzip2压缩算法硬件加速实现方法
CN101841337A (zh) * 2010-05-06 2010-09-22 华为终端有限公司 数据压缩和解压缩处理方法以及移动存储设备
CN101859231A (zh) * 2009-04-09 2010-10-13 北京众志和达信息技术有限公司 一种在嵌入式虚拟磁带库环境中实现数据压缩和解压缩的方法和系统
CN102754078A (zh) * 2009-09-30 2012-10-24 信飞系统公司 使用压缩和解压缩的增强型多处理器波形数据交换

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101001211A (zh) * 2006-01-13 2007-07-18 汤姆森许可贸易公司 数据分组交换方法、数据分组的压缩设备及解压缩设备
CN1971541A (zh) * 2006-11-29 2007-05-30 赛安(杭州)微系统有限公司 一种用于vtl平台的数据压缩和解压缩插卡
CN101039417A (zh) * 2007-04-26 2007-09-19 广东威创日新电子有限公司 多个分块并行压缩视频数据装置及其压缩方法
CN101478311A (zh) * 2009-01-22 2009-07-08 浙江大学 bzip2压缩算法硬件加速实现方法
CN101859231A (zh) * 2009-04-09 2010-10-13 北京众志和达信息技术有限公司 一种在嵌入式虚拟磁带库环境中实现数据压缩和解压缩的方法和系统
CN102754078A (zh) * 2009-09-30 2012-10-24 信飞系统公司 使用压缩和解压缩的增强型多处理器波形数据交换
CN101841337A (zh) * 2010-05-06 2010-09-22 华为终端有限公司 数据压缩和解压缩处理方法以及移动存储设备

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10096079B2 (en) 2013-06-10 2018-10-09 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
WO2014200863A1 (en) * 2013-06-10 2014-12-18 Sony Computer Entertainment Inc. Scheme for compressing vertex shader output parameters
US10740867B2 (en) 2013-06-10 2020-08-11 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
US10733691B2 (en) 2013-06-10 2020-08-04 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US11232534B2 (en) 2013-06-10 2022-01-25 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
US10176621B2 (en) 2013-06-10 2019-01-08 Sony Interactive Entertainment Inc. Using compute shaders as front end for vertex shaders
US10134102B2 (en) 2013-06-10 2018-11-20 Sony Interactive Entertainment Inc. Graphics processing hardware for using compute shaders as front end for vertex shaders
US10102603B2 (en) 2013-06-10 2018-10-16 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
CN103455345A (zh) * 2013-08-15 2013-12-18 京信通信系统(中国)有限公司 一种压缩和引导嵌入式操作系统镜像文件的方法及装置
CN103500221A (zh) * 2013-10-15 2014-01-08 北京国双科技有限公司 分析服务数据库的监控方法和装置
CN106170968A (zh) * 2014-12-18 2016-11-30 华为技术有限公司 一种数据压缩存储方法、装置,及分布式文件系统
WO2016095149A1 (zh) * 2014-12-18 2016-06-23 华为技术有限公司 一种数据压缩存储方法、装置,及分布式文件系统
CN106170968B (zh) * 2014-12-18 2019-09-20 华为技术有限公司 一种数据压缩存储方法、装置,及分布式文件系统
CN104571957B (zh) * 2014-12-29 2018-03-27 成都极驰科技有限公司 一种数据读取方法及组装装置
CN104571957A (zh) * 2014-12-29 2015-04-29 成都致云科技有限公司 一种数据读取方法及组装装置
WO2017018567A1 (ko) * 2015-07-28 2017-02-02 디포커스(주) 하둡 기반 하드웨어 압축 고속화 장치 및 방법
CN105068875A (zh) * 2015-08-12 2015-11-18 浪潮(北京)电子信息产业有限公司 一种智能数据处理方法及装置
CN105468748A (zh) * 2015-11-26 2016-04-06 航天恒星科技有限公司 一种分布式存储位置数据方法及系统
CN105718538A (zh) * 2016-01-18 2016-06-29 中国科学院计算技术研究所 一种分布式文件系统的自适应压缩方法及系统
CN105718538B (zh) * 2016-01-18 2019-05-14 中国科学院计算技术研究所 一种分布式文件系统的自适应压缩方法及系统
CN108141471B (zh) * 2016-04-07 2020-06-26 华为技术有限公司 压缩数据的方法、装置和设备
WO2017173618A1 (zh) * 2016-04-07 2017-10-12 华为技术有限公司 压缩数据的方法、装置和设备
CN108141471A (zh) * 2016-04-07 2018-06-08 华为技术有限公司 压缩数据的方法、装置和设备
CN107317584A (zh) * 2017-06-28 2017-11-03 上海兆芯集成电路有限公司 加速压缩方法以及加速压缩装置
CN108363719B (zh) * 2018-01-02 2022-10-21 中科边缘智慧信息科技(苏州)有限公司 分布式文件系统中可配置的透明压缩方法
CN108363719A (zh) * 2018-01-02 2018-08-03 中科边缘智慧信息科技(苏州)有限公司 分布式文件系统中可配置的透明压缩方法
CN110557124A (zh) * 2018-05-30 2019-12-10 华为技术有限公司 一种数据压缩方法及装置
CN110557124B (zh) * 2018-05-30 2021-06-22 华为技术有限公司 一种数据压缩方法及装置
CN110572422A (zh) * 2018-06-06 2019-12-13 北京京东尚科信息技术有限公司 数据下载方法和装置
WO2020000175A1 (en) * 2018-06-26 2020-01-02 Intel Corporation Oversubscribable resource allocation
US11296956B2 (en) 2018-06-26 2022-04-05 Intel Corporation Oversubscribable resource allocation
CN110795497A (zh) * 2018-08-02 2020-02-14 阿里巴巴集团控股有限公司 分布式存储系统中的协同压缩
CN109302449B (zh) * 2018-08-31 2022-03-15 创新先进技术有限公司 数据写入方法、数据读取方法、装置和服务器
CN109302449A (zh) * 2018-08-31 2019-02-01 阿里巴巴集团控股有限公司 数据写入方法、数据读取方法、装置和服务器
CN110321374A (zh) * 2018-10-23 2019-10-11 开采夫(杭州)科技有限公司 基于分布式网络的标准文件io操作系统及方法
CN110321374B (zh) * 2018-10-23 2022-03-25 开采夫(杭州)科技有限公司 基于分布式网络的标准文件io操作系统及方法
CN109918174A (zh) * 2019-03-15 2019-06-21 合肥谐桐科技有限公司 基于加速卡实现虚拟机热迁移优化处理的系统及其方法
WO2021026761A1 (zh) * 2019-08-13 2021-02-18 深圳大学 压缩解压方法、装置、电子设备及存储介质
CN110489387A (zh) * 2019-08-13 2019-11-22 深圳大学 压缩解压方法、装置、电子设备及存储介质
CN110677402B (zh) * 2019-09-24 2022-12-20 深圳前海微众银行股份有限公司 一种基于智能网卡的数据整合方法及装置
CN110677402A (zh) * 2019-09-24 2020-01-10 深圳前海微众银行股份有限公司 一种基于智能网卡的数据整合方法及装置
CN110851871A (zh) * 2019-11-15 2020-02-28 北京明朝万达科技股份有限公司 一种文件解压方法、装置、电子设备及存储介质
CN112995217B (zh) * 2021-04-29 2021-08-17 深圳华锐金融技术股份有限公司 数据发送方法、系统
CN112995217A (zh) * 2021-04-29 2021-06-18 深圳华锐金融技术股份有限公司 数据发送方法、系统
WO2022262381A1 (zh) * 2021-06-16 2022-12-22 华为技术有限公司 一种数据压缩方法及装置
CN113806374A (zh) * 2021-09-30 2021-12-17 上海健交科技服务有限责任公司 一种面向大数据的数据流式缓存方法及系统
CN113626092A (zh) * 2021-10-14 2021-11-09 广州匠芯创科技有限公司 嵌入式系统启动方法与soc芯片
CN115086453A (zh) * 2022-07-06 2022-09-20 中国人民银行清算总中心 数据交换方法、装置及系统
CN115086453B (zh) * 2022-07-06 2024-03-26 中国人民银行清算总中心 数据交换方法、装置及系统
CN116644039A (zh) * 2023-05-25 2023-08-25 安徽继远软件有限公司 一种基于大数据的在线能力运营日志自动采集分析的方法
CN116644039B (zh) * 2023-05-25 2023-12-19 安徽继远软件有限公司 一种基于大数据的在线能力运营日志自动采集分析的方法

Also Published As

Publication number Publication date
CN103020205B (zh) 2018-07-31

Similar Documents

Publication Publication Date Title
CN103020205A (zh) 一种分布式文件系统上基于硬件加速卡的压缩解压缩方法
CN104731921B (zh) Hadoop分布式文件系统针对日志型小文件的存储和处理方法
CN103116661B (zh) 一种数据库的数据处理方法
RU2581551C2 (ru) Способ оптимизации хранения и передачи данных
CN105608223B (zh) 针对kafka的Hbase数据库的入库方法和系统
JP6050503B2 (ja) 階層キャッシュを用いたメールのインデックス化および検索
US9262313B2 (en) Provisioning in heterogenic volume of multiple tiers
US10061834B1 (en) Incremental out-of-place updates for datasets in data stores
US20140215170A1 (en) Block Compression in a Key/Value Store
US10579591B1 (en) Incremental block compression
EP2972747B1 (en) Data storage, file and volume system providing mutliple tiers
CN105426472B (zh) 分布式计算系统及其数据处理方法
US9116904B2 (en) File system operation on multi-tiered volume
US10509582B2 (en) System and method for data storage, transfer, synchronization, and security
CN108134609A (zh) 一种通用数据gz格式的多线程压缩与解压方法及装置
WO2013145599A1 (en) Multiplex classification for tabular data compression
CN114666212B (zh) 配置数据下发方法
CN107450856A (zh) 存储数据的写入方法、读取方法以及相应的装置、终端
Adams et al. Respecting the block interface–computational storage using virtual objects
WO2023024459A1 (zh) 一种数据处理的方法和装置
CN107423425B (zh) 一种对k/v格式的数据快速存储和查询方法
CN104391961A (zh) 千万级小文件数据的一种读写解决策略
CN104052824A (zh) 分布式缓存方法及系统
CN116760661A (zh) 数据存储方法、装置、计算机设备、存储介质和程序产品
CN110309138B (zh) 数据合并方法、基于fpga的合并器及数据库系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
ASS Succession or assignment of patent right

Owner name: BEIJING GOLAXY TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: BEIJING PEZY TIANJI DATA TECHNOLOGY CO., LTD.

Effective date: 20130701

C41 Transfer of patent application or patent right or utility model
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Liu Jia

Inventor after: Wang Ruijian

Inventor after: Zha Li

Inventor after: Cheng Xueqi

Inventor before: Liu Jia

Inventor before: Hu Xiao

Inventor before: Zha Li

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LIU JIA HU XIAO CHA LI TO: LIU JIA WANG RUIJIAN CHA LI CHENG XUEQI

Free format text: CORRECT: ADDRESS; FROM: 100083 HAIDIAN, BEIJING TO: 100190 HAIDIAN, BEIJING

TA01 Transfer of patent application right

Effective date of registration: 20130701

Address after: 100190 Beijing, Zhongguancun Academy of Sciences, South Road, No., building a comprehensive research room, room 6, No. 900

Applicant after: Beijing branch DNT Technology Co.,Ltd.

Address before: 100083. 4-906, 9, 4-908, 28 Fu Cheng Road, Beijing, Haidian District

Applicant before: BEIJING PEZY DATA TECHNOLOGY Co.,Ltd.

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100190 Beijing, Zhongguancun Academy of Sciences, South Road, No., building a comprehensive research room, room 6, No. 900

Applicant after: China Science and technology data now Polytron Technologies Inc.

Address before: 100190 Beijing, Zhongguancun Academy of Sciences, South Road, No., building a comprehensive research room, room 6, No. 900

Applicant before: Beijing branch DNT data Polytron Technologies Inc.

Address after: 100190 Beijing, Zhongguancun Academy of Sciences, South Road, No., building a comprehensive research room, room 6, No. 900

Applicant after: Beijing branch DNT data Polytron Technologies Inc.

Address before: 100190 Beijing, Zhongguancun Academy of Sciences, South Road, No., building a comprehensive research room, room 6, No. 900

Applicant before: Beijing branch DNT Technology Co.,Ltd.

COR Change of bibliographic data
CI01 Publication of corrected invention patent application

Correction item: Address|applicant

Correct: Branch DNT data Polytron Technologies Inc|100190 Beijing, Zhongguancun Academy of Sciences, South Road, No., building a comprehensive research room, room 6, No. 900

False: China Science and technology data now Polytron Technologies Inc|100190 Beijing, Zhongguancun Academy of Sciences, South Road, No., building a comprehensive research room, room 6, No. 900

Number: 42

Volume: 32

ERR Gazette correction
GR01 Patent grant
GR01 Patent grant