System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及服务器,尤其涉及一种数据压缩方法、数据解压缩方法及计算设备。
技术介绍
1、随着大数据技术的飞速发展,大数据应用已经融入各行各业。为了方便处理大量的数据,在大数据应用场景中通过需要对数据进行压缩处理,例如hadoop分布式处理应用场景、虚拟机热迁移场景等。通过数据压缩处理,可以减小数据量,提高数据的传输效率和处理效率,减少数据所占内存空间等。
2、目前常用的数据压缩算法库均为软件压缩算法,具有很好的兼容性,被广泛应用到各个应用软件设计中。但是利用软件压缩算法实现数据压缩时,会消耗较多的处理器资源,比如占用cpu和内存等,影响应用软件处理其他的任务。尤其在数据量较大的场景下,软件压缩算法不仅占用较多的处理器资源,并且数据压缩的效率比较低。
技术实现思路
1、有鉴于此,本申请实施例提供了一种数据压缩方法、数据解压缩方法、及计算设备,以便减少处理器资源的占用,提高对数据压缩/解压缩的效率。
2、第一方面,本申请实施例提供了一种数据压缩方法,方法包括:
3、响应于对第一目标数据进行数据压缩的请求,调用目标压缩算法库;目标压缩算法库中包括目标压缩算法和硬件加速器的调用接口;
4、确定第一目标数据是否满足第一预设条件;
5、在第一目标数据满足第一预设条件的情况下,基于调用接口调用硬件加速器,并基于硬件加速器对第一目标数据进行压缩;
6、在第一目标数据不满足第一预设条件的情况下,基于目标压缩算法对第一目标数据进行压
7、在上述方案中,可以根据第一目标数据的数据量大小,动态地调用硬件加速器或者目标压缩算法对第一目标数据进行压缩,减少计算机资源处理器资源的占用,提高数据压缩的效率。
8、在一种可能的实现方式中,确定第一目标数据是否满足第一预设条件,包括:确定第一目标数据的长度是否大于第一预设长度;在第一目标数据的长度大于第一预设长度的情况下,确定第一目标数据满足第一预设条件。通过判断第一目标数据的长度是否大于第一预设长度,可以在数据量较大的情况下,才调用硬件加速器对第一目标数据进行压缩;在数据量较小的情况下,利用目标压缩算法对第一目标数据进行压缩。动态利用目标压缩算法或者硬件加速器,可以避免硬件加速器的不当调用,提高数据压缩的效率。
9、在一种可能的实现方式中,基于硬件加速器对第一目标数据进行压缩之前,方法还包括:确定硬件加速器是否存在可用资源;基于硬件加速器对第一目标数据进行压缩,包括:在硬件加速器存在可用资源的情况下,基于硬件加速器对第一目标数据进行压缩。当调用硬件加速器之后,可以判断此时硬件加速器是否存在可用资源,在存在可用资源的情况下,可以直接利用硬件加速器对第一目标数据进行压缩,提高数据压缩的效率。在不存在可用资源的情况下,可以利用目标压缩算法对第一目标数据进行压缩,减少等待时间,提高数据压缩的效率。
10、在一种可能的实现方式中,方法还包括:在硬件加速器不存在可用资源的情况下,获取硬件加速器的等待队列的长度;在等待队列的长度小于第二预设长度的情况下,将对第一目标数据进行压缩的任务添加到等待队列。当不存在可用资源的时候,还可以基于等待队列的长度确定是否利用硬件加速器压缩第一目标数据。当等待队列的长度小于第二预设长度时,表明等待时间不会过长,利用硬件加速器进行数据压缩也可以提高数据压缩的效率。如果等待队列的长度不小于第二预设长度时,表明需要等待时间较长,此时如果仍利用硬件加速器进行数据压缩会导致整个数据压缩的时间过长,效率较低,所以可以在等待队列的长度小于第二预设长度时,利用硬件加速器对第一目标数据进行压缩。
11、在一种可能的实现方式中,在硬件加速器不存在可用资源的情况下,获取硬件加速器的等待队列的长度之前,方法还包括:确定第一目标数据的长度是否大于第三预设长度;其中,第三预设长度大于第一预设长度;在第一目标数据的长度大于第三预设长度的情况下,将对第一目标数据进行压缩的任务添加到等待队列。当确定第一目标数据的长度大于第三预设长度时,表明当前第一目标数据的数据量过大。此时,无论硬件加速器是否存在可用资源,均需要利用硬件加速器对第一目标数据进行压缩,以提高数据压缩的效率,减少处理器资源的占用。
12、在一种可能的实现方式中,在确定第一目标数据是否满足第一预设条件之前,方法还包括:确定是否存在硬件加速器;在存在硬件加速器的情况下,初始化硬件加速器。
13、第二方面,本申请实施例提供了一种数据解压缩方法,方法包括:
14、响应于对第二目标数据进行解压缩的请求,调用目标压缩算法库;目标压缩算法库中包括目标压缩解算法和硬件加速器的调用接口,第二目标数据为经过压缩的数据;
15、确定第二目标数据是否满足第二预设条件;
16、在第二目标数据满足第二预设条件的情况下,基于调用接口调用硬件加速器,并基于硬件加速器对第二目标数据进行解压缩;
17、在第二目标数据不满足第二预设条件的情况下,基于目标解压缩算法对第二目标数据进行解压缩。
18、在一种可能的实现方式中,确定第二目标数据是否满足第二预设条件,包括:确定第二目标数据的数据量大小是否大于第一预设值;在第二目标数据的数据量大小大于第一预设值的情况下,确定第二目标数据满足第二预设条件。通过判断第二目标数据的数据量是否大于预设值,可以在数据量较大的情况下,才调用硬件加速器对第二目标数据进行解压缩;在数据量较小的情况下,利用目标解压缩算法对第二目标数据进行解压缩。动态利用目标解压缩算法或者硬件加速器,可以避免硬件加速器的不当调用,提高数据解压缩的效率。
19、在一种可能的实现方式中,基于硬件加速器对第二目标数据进行解压缩之前,方法还包括:确定硬件加速器是否存在可用资源;基于硬件加速器对第二目标数据进行解压缩,包括:在硬件加速器存在可用资源的情况下,基于硬件加速器对第二目标数据进行解压缩。当调用硬件加速器之后,可以判断此时硬件加速器是否存在可用资源,在存在可用资源的情况下,可以直接利用硬件加速器对第二目标数据进行解压缩,提高数据压缩的效率。在不存在可用资源的情况下,可以利用目标解压缩算法对第二目标数据进行解压缩,减少等待时间,提高数据压缩的效率。
20、在一种可能的实现方式中,该方法还包括:在硬件加速器不存在可用资源的情况下,获取硬件加速器的等待队列的长度;在等待队列的长度小于第二预设值的情况下,将对第二目标数据进行解压缩的任务添加到等待队列。当不存在可用资源的时候,可以基于等待队列的长度确定是否利用硬件加速器压缩第一目标数据。当等待队列的长度小于第二预设值时,表明等待时间不会过长,利用硬件加速器进行数据解压缩也可以提高数据解压缩的效率。如果等待队列的长度不小于第二预设值,表明需要等待的时间较长,此时如果仍利用硬件加速器进行数据解压缩会导致整个解压缩的时间较长,效率较低,所以可以在等待队列的长度小于第二预设值时,利用硬件加速器对第二目标数据进行本文档来自技高网...
【技术保护点】
1.一种数据压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一目标数据是否满足第一预设条件,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述硬件加速器对所述第一目标数据进行压缩之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在所述硬件加速器不存在可用资源的情况下,获取所述硬件加速器的等待队列的长度之前,所述方法还包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,在确定所述第一目标数据是否满足第一预设条件之前,所述方法还包括:
7.一种数据解压缩方法,其特征在于,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述确定所述第二目标数据是否满足第二预设条件,包括:
9.根据权利要求7所述的方法,其特征在于,所述基于所述硬件加速器对所述第二目标数据进行解压缩之前,所述方法还包括:
10.根据权利要求9所述的方法,其特征在于,
11.根据权利要求10所述的方法,其特征在于,在所述硬件加速器不存在可用资源的情况下,获取所述硬件加速器的等待队列的长度之前,所述方法还包括:
12.根据权利要求7至11任一项所述的方法,其特征在于,在确定所述第二目标数据是否满足第二预设条件之前,所述方法还包括:
13.一种计算设备,其特征在于,所述计算设备包括处理器、存储器和硬件加速器;
14.根据权利要求13所述的计算设备,其特征在于,所述目标压缩算法库包括zlib压缩算法库;所述硬件加速器为基于硬件加速技术QAT的硬件加速器。
...【技术特征摘要】
1.一种数据压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一目标数据是否满足第一预设条件,包括:
3.根据权利要求2所述的方法,其特征在于,所述基于所述硬件加速器对所述第一目标数据进行压缩之前,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,在所述硬件加速器不存在可用资源的情况下,获取所述硬件加速器的等待队列的长度之前,所述方法还包括:
6.根据权利要求1至5任一项所述的方法,其特征在于,在确定所述第一目标数据是否满足第一预设条件之前,所述方法还包括:
7.一种数据解压缩方法,其特征在于,所述方法包括:
8.根据权利要求7所述的方法,其特征在于,所述确定所述第二目...
【专利技术属性】
技术研发人员:王利民,
申请(专利权)人:超聚变数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。