CN104376584A - 一种数据压缩的方法、计算机系统和装置 - Google Patents
一种数据压缩的方法、计算机系统和装置 Download PDFInfo
- Publication number
- CN104376584A CN104376584A CN201310356700.XA CN201310356700A CN104376584A CN 104376584 A CN104376584 A CN 104376584A CN 201310356700 A CN201310356700 A CN 201310356700A CN 104376584 A CN104376584 A CN 104376584A
- Authority
- CN
- China
- Prior art keywords
- data
- compressed
- image data
- compression
- signature identification
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例涉及一种数据压缩的方法、计算机系统和装置,接收数据压缩请求,确定所述待压缩的图片数据的特征标识,根据所述特征标识获取保存的所述特征标识对应的压缩数据,使得不需要采用压缩算法即可获得所述待压缩的图片数据的压缩数据,从而避免了重复压缩的工作,提高了数据压缩效率并节约了系统资源。
Description
技术领域
本发明实施例涉及计算机技术,特别是一种数据压缩的方法、计算机系统和装置。
背景技术
数据压缩可以降低原始数据的大小,便于网络传输,并减少对存储空间的占用,广泛应用于众多领域。现有技术中对数据进行压缩是先通过压缩接口接收应用程序模块的待压缩数据信息,然后通过压缩算法实现对待压缩数据的压缩,压缩完成后再通过压缩接口将压缩后的数据返回给应用程序模块。
现有技术是对应用程序模块产生的数据进行直接压缩。然而,在有些应用场景下,应用程序模块会产生大量需要进行压缩的数据。例如,在虚拟桌面基础架构(Virtual Desktop Infrastructure,VDI)场景下,多个虚拟机同时产生数据压缩需求,导致服务器有大量数据需要压缩,此时系统CPU的利用率非常高,在系统中产生了数据压缩的瓶颈,导致数据处理效率不高,同时系统资源消耗也较大。
发明内容
本发明实施例提出了一种数据压缩的方法、计算机系统和装置,以提高数据压缩效率。
第一方面,本发明实施例提出了一种数据压缩的方法,所述方法包括:
接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩;
确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据;
根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据;
返回数据压缩响应,所述数据压缩响应携带从所述压缩数据存管模块获取的所述特征标识对应的压缩数据。
结合第一方面,在第一种可能的实现方式中,所述确定所述待压缩的图片数据的特征标识包括:计算所述待压缩的图片数据的特征标识,所述特征标识包括循环冗余码或者海明码。
结合第一方面,在第二种可能的实现方式中,所述方法还包括:确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足所述压缩加速的条件,则执行所述根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据的步骤。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述确定所述待压缩的图片数据是否满足压缩加速的条件,包括:
确定对所述待压缩的图片数据进行压缩所耗费的资源是否超过第一阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件;或者,
确定所述待压缩的图片数据的属性值是否超过第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述属性值包括以下因素任意之一或其任意组合:图片数据的大小、长宽或位深;或者,
确定所述待压缩的图片数据的复杂度是否超过第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件。
结合第一方面的任一种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:建立所述压缩数据存管模块,其中,所述压缩数据存管模块用于保存图片数据的压缩数据集合,所述压缩数据集合通过所述特征标识作为索引来保存不同图片数据的压缩数据。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据之前,还包括:确定所述压缩数据存管模块是否保存所述特征标识对应的压缩数据,如果是,则执行所述根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据的步骤。
第二方面,本发明实施例提出了一种数据压缩的装置,所述装置包括:
接收单元,用于接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩;
确定单元,用于确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据;
获取单元,用于根据所述确定单元确定的所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据;
响应单元,用于返回数据压缩响应,所述数据压缩响应携带从所述压缩数据存管模块获取的所述特征标识对应的压缩数据。
结合第二方面,在第一种可能的实现方式中,所述确定单元具体用于:计算所述待压缩的图片数据的特征标识,所述特征标识包括循环冗余码或者海明码。
结合第二方面,在第二种可能的实现方式中,所述装置还包括:
分类单元,用于确定所述待压缩的图片数据是否满足压缩加速的条件;在所述分类单元确定所述待压缩的图片数据满足所述压缩加速的条件时,所述获取单元具体用于根据所述待压缩的图片数据的特征标识,获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,所述分类单元具体用于:
确定对所述待压缩的图片数据进行压缩所耗费的资源是否超过第一阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件;或者,
确定所述待压缩的图片数据的属性值是否超过第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述属性值包括以下因素任意之一或其任意组合:图片数据的大小、长宽或位深;或者,
确定所述待压缩的图片数据的复杂度是否超过第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件。
结合第二方面的任一种可能的实现方式,在第四种可能的实现方式中,所述压缩数据存管模块设置于所述数据压缩的装置内部或者外部,用于保存图片数据的压缩数据集合,所述压缩数据集合通过所述特征标识作为索引来保存不同图片数据的压缩数据。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,所述确定单元还用于:确定所述压缩数据存管模块是否保存所述特征标识对应的压缩数据;所述获取单元具体用于在所述确定单元确定所述压缩数据存管模块保存有所述特征标识对应的压缩数据时,根据所述待压缩的图片数据的特征标识,获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据。
第三方面,本发明实施例提出了一种数据压缩系统,所述系统包括:数据压缩装置,用于接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩,确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据,根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据,返回数据压缩响应,所述数据压缩响应携带从所述压缩数据存管模块获取的所述特征标识对应的压缩数据;所述压缩数据存管模块,用于保存图片数据的压缩数据集合,所述压缩数据集合通过所述特征标识作为索引来保存不同图片数据的压缩数据。
在本发明实施例中,由于能够在接收到数据压缩请求之后,确定所述待压缩的图片数据的特征标识,并根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据,无需调用压缩算法对所述待压缩的图片数据进行压缩,就可获得所述待压缩的图片数据的压缩数据,从而避免了数据的重复压缩工作,提高了数据压缩效率,有效节约了系统资源。图片数据的压缩数据图片数据的压缩数据图片数据的压缩数据
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例提供的一种方法流程图;
图2是根据本发明实施例提供的又一种方法流程图;
图3是根据本发明实施例提供的又一种方法流程图;
图4是根据本发明实施例提供的一种数据压缩装置的组成图;
图5是根据本发明实施例提供的又一种数据压缩装置的组成图;
图6是根据本发明实施例提供的又一种数据压缩装置的组成图;
图7是根据本发明实施例提供的一种数据压缩系统的组成图;
图8是根据本发明实施例提供的一种计算机的组成图。
具体实施方式
本发明实施例提出了一种数据压缩的方法、计算机系统和装置,当有数据需要压缩时,直接获取保存的压缩数据,可以避免重复压缩工作,提高数据处理效率并降低处理器的资源消耗。
下面对数据压缩方法的实施例进行介绍,如图1所示,为本发明实施例提供的数据压缩方法的流程,包括:
101:接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩。
例如,数据压缩模块从操作系统获取应用程序模块触发的数据压缩请求;或者,数据压缩模块接收到数据压缩请求,根据所述数据压缩请求获取所述待压缩的图片数据。
优选地,所述待压缩的图片数据可以为一帧图片数据或者多帧图片数据。
102:确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据。
所述确定所述待压缩的图片数据的特征标识,可以是数据压缩模块从所述应用程序模块或者操作系统获取所述待压缩的图片数据的特征标识,也可以是数据压缩模块通过计算获取所述待压缩的图片数据的特征标识。
优选地,所述待压缩的图片数据的特征标识可以包括所述待压缩的图片数据所包含的每帧图片数据的特征标识,所述每帧图片数据的特征标识可以用于代表所述每帧图片数据,特征标识相同的图片数据具有相同的压缩数据。例如,所述每帧图片数据的特征标识可以为所述每帧图片数据的图像特征码。
103:根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据。
具体地,所述压缩数据存管模块用于保存压缩数据集合,即用于保存采用压缩算法对各图片数据进行压缩得到的不同压缩数据,并同时保存各压缩数据与其对应的特征标识的对应关系。由于特征标识相同的图片数据具有相同的压缩数据,因此可以根据所述待压缩的图片数据的特征标识获取所述压缩数据存管模块保存的压缩数据,并将所获取的压缩数据作为所述待压缩的图片数据的压缩数据。
104:返回数据压缩响应,所述数据压缩响应携带所获取的所述特征标识对应的压缩数据。
在本发明实施例中,在接收到数据压缩请求之后,确定所述待压缩的图片数据的特征标识,根据所述待压缩的图片数据的特征标识,获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据,并将所获取的压缩数据携带在数据压缩响应中返回,避免了进行重复的压缩工作,提高了数据压缩效率,有效节约了系统资源。
在本发明的又一实施例中,如图2所示,该方法可以具体包括:
201:建立压缩数据存管模块,所述压缩数据存管模块用于保存图片数据的压缩数据集合。
在数据压缩模块接收数据压缩请求之前,所述方法还包括建立压缩数据存管模块,所述压缩数据存管模块用于保存图片数据的压缩数据集合,所述压缩数据集合通过图片数据的特征标识作为索引来保存不同图片数据的压缩数据,因此所述数据压缩模块可以根据图片数据的特征标识,从所述压缩数据存管模块中获取保存的该图片数据的特征标识对应的压缩数据,所述压缩数据存管模块可以设置于所述数据压缩装置内部或外部。
上述步骤201为可选步骤,在其他的实施例中,可以选用现有的存储模块来保存压缩数据集合,并非需要执行本步骤来建立压缩数据存管模块。
202:接收数据压缩请求,根据所述数据压缩请求获取待压缩的图片数据。
用户在访问应用程序模块时产生了压缩图片数据的需求,所述应用程序模块触发操作系统进行处理,操作系统指示数据压缩模块对所述待压缩的图片数据进行压缩,所述数据压缩模块接收到数据压缩请求后,可以直接获取所述数据压缩请求中携带的待压缩的图片数据,也可以根据所述数据压缩请求中的指示查询相关模块,获取所述待压缩的图片数据。
203:确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表图片数据,特征标识相同的图片数据具有相同的压缩数据。
优选地,如果所述待压缩的图片数据为一帧图片数据,则确定所述一帧图片数据的特征标识,如果所述待压缩的图片数据为多帧图片数据,则确定所述每帧图片数据的特征标识。
所述确定所述待压缩的图片数据的特征标识,可以是数据压缩模块从所述应用程序模块获取所述待压缩的图片数据的特征标识,也可以是数据压缩模块通过计算确定所述待压缩的图片数据的特征标识,所述特征标识可以是图像特征码,具体表现形式可以是字符序列或数字序列,例如可以是循环冗余码(CyclicRedundancy Code,CRC),海明码,但不仅限于此。
所述数据压缩模块计算所述待压缩的图片数据的特征标识可以是采用不同的算法对所述待压缩的图片数据进行计算得到,例如可以将所述图片数据视为二进制数,参照CRC32的计算方式获取所述图片数据的特征标识,其中,所述CRC还可以包括CRC8、CRC12、CRC16、CRC32、CRC32c等。
204:确定所述压缩数据存管模块是否保存有所述特征标识对应的压缩数据,如果确定所述压缩数据存管模块保存有所述特征标识对应的压缩数据,执行步骤205,否则执行步骤206。
具体地,由于所述压缩数据存管模块用于保存压缩数据集合,即可以用于保存采用压缩算法对各图片数据进行压缩得到的不同压缩数据,并同时保存各压缩数据与其对应的特征标识的对应关系,因此所述数据压缩模块可以根据所述待压缩的图片数据的特征标识,确定所述压缩数据存管模块是否保存有所述特征标识对应的压缩数据,即是否保存有所述待压缩的图片数据的压缩数据。
205:获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据,然后执行步骤208。
由于特征标识相同的图片数据具有相同的压缩数据,因此可以根据所述待压缩的图片数据的特征标识,获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据,并将所获取的压缩数据作为所述待压缩的图片数据的压缩数据。
206:采用压缩算法对所述待压缩的图片数据进行压缩,得到对应的压缩数据,然后执行步骤207。
如果确定所述压缩数据存管模块没有保存所述特征标识对应的压缩数据,所述数据压缩模块采用压缩算法对所述待压缩的图片数据进行压缩,得到所述待压缩的图片数据的压缩数据,然后执行步骤207。
其中,所述压缩算法可以是有损压缩算法,还可以是无损压缩算法,本发明实施例在此不作限定。
207:将所述经过压缩得到的压缩数据在所述压缩数据存管模块中进行保存。
将所述压缩得到的压缩数据保存在所述压缩数据存管模块中,使得系统下次需要压缩所述待压缩的图片数据时,可以直接从所述压缩数据存管模块中获取,无需进行重复的压缩。
具体地,可以将所述经过压缩得到的压缩数据与所述待压缩的图片数据的特征标识进行关联后再进行保存,使得通过所述特征标识能够查询到所述压缩数据;优选地,在执行所述步骤207的保存动作之前,还可以进一步执行如下步骤:
207’:确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足所述压缩加速的条件,执行步骤207,否则执行步骤208。
具体地,数据压缩模块在使用压缩算法压缩所述待压缩的图片数据之后,可以进一步确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足所述压缩加速的条件,则可以执行步骤207,如果不满足所述压缩加速的条件,则可以执行步骤208。
确定所述待压缩的图片数据是否满足压缩加速的条件,具体可以采用如下方式:
确定压缩该图片数据所消耗的系统资源的大小,并将所述压缩该图片数据所消耗的系统资源与预设的第一阈值进行比较,如果超过所述第一阈值,说明该图片数据属于压缩消耗资源较大的图片数据,则可以执行步骤207,即将所述待压缩的图片数据的压缩数据在所述压缩数据存管模块中进行保存,如果没有超过所述第一阈值,说明该图片数据属于压缩消耗资源较小的图片数据,可以不保存所述待压缩的图片数据的压缩数据,直接执行步骤207,其中所述第一阈值属于经验值;或者,
确定所述待压缩的图片数据的属性值是否超过第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述属性值包括以下因素任意之一或其任意组合:图片数据的大小、长宽或位深,具体地,所述确定所述待压缩的图片数据的属性值是否超过第二阈值可以是确定所述待压缩的图片数据的大小或长宽或位深是否超过所述第二阈值,还可以是确定所述待压缩的图片数据的大小、长宽和位深是否超过所述第二阈值或者其中两个参数值是否超过所述第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述待压缩的图片数据属于压缩消耗资源较大的图片数据,其中,所述待压缩的图片数据的属性值可以从所述应用程序模块获取,所述第二阈值属于经验值,所述第二阈值可以是一个数值,也可以是多个数值组成的集合;或者,
确定所述待压缩的图片数据的复杂度是否超过第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,具体地,所述确定所述待压缩的图片数据的复杂度是否超过第三阈值可以是确定所述待压缩的图片数据的像素的颜色数量是否超过所述第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述待压缩的图片数据属于复杂度较高的图片数据,压缩该图片数据将消耗较大的系统资源,所述待压缩的图片的像素的颜色数量可以从所述应用程序模块获取,也可以是所述数据压缩模块利用所述待压缩的图片数据通过算法获得,所述第三阈值属于经验值。
208:返回数据压缩响应,所述数据压缩响应携带所述待压缩的图片数据的压缩数据。
数据压缩模块返回数据压缩响应给所述应用程序模块,使得所述应用程序模块对应的客户端可以获取所述待压缩的图片数据的压缩数据,并可以根据所述压缩数据进行图片显示。
具体地,当确定所述压缩数据存管模块保存有所述待压缩的图片数据的特征标识对应的压缩数据时,所述数据压缩模块将获取的所述特征标识对应的压缩数据携带在数据压缩响应中返回,当确定所述压缩数据存管模块没有保存所述待压缩的图片数据的特征标识对应的压缩数据时,所述数据压缩模块将采用压缩算法压缩得到的压缩数据携带在数据压缩响应中返回。
在本发明实施例中,在数据压缩模块接收到数据压缩请求之后,可以先确定所述压缩数据存管模块是否保存有所述待压缩的图片数据的压缩数据,如果保存有,则从所述压缩数据存管模块中获取保存的所述待压缩的图片数据的压缩数据,避免重复的压缩工作,有效节约系统资源,如果没有保存,则用压缩算法获取所述待压缩的图片数据的压缩数据,并将该图片数据的压缩数据在所述压缩数据存管模块中进行保存,用以完善和更新所述压缩数据存管模块,使得下次需要该图片数据的压缩数据时,不再重复压缩该图片数据。
优选地,在数据压缩完成后,可以进一步确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足压缩加速的条件,说明该图片数据属于压缩消耗资源较大的图片数据,将该图片数据的压缩数据进行保存,使得下次需要该图片数据的压缩数据时,不用消耗较大的系统资源去重复该压缩图片数据,如果不满足压缩加速的条件,说明该图片数据不属于压缩消耗资源较大的图片数据,可以采用压缩算法直接获取该图片数据的压缩数据,既合理利用了系统资源,又节约了系统的存储空间。据
在本发明的又一实施例中,如图3所示,该方法可以具体包括:
301:建立压缩数据存管模块,所述压缩数据存管模块用于保存图片数据的压缩数据集合。
在数据压缩模块接收数据压缩请求之前,所述方法还包括建立压缩数据存管模块,所述压缩数据存管模块用于保存图片数据的压缩数据集合,所述压缩数据集合通过图片数据的特征标识作为索引来保存不同图片数据的压缩数据,因此所述数据压缩模块可以根据图片数据的特征标识,从所述压缩数据存管模块中获取保存的该图片数据的特征标识对应的压缩数据,所述压缩数据存管模块可以设置于所述数据压缩装置内部或外部。
302:接收数据压缩请求,根据所述数据压缩请求获取待压缩的图片数据。
用户在访问应用程序模块时产生了压缩图片数据的需求,所述应用程序模块触发操作系统进行处理,操作系统指示数据压缩模块对所述待压缩的图片数据进行压缩,所述数据压缩模块接收到数据压缩请求后,可以直接获取所述数据压缩请求中携带的待压缩的图片数据,也可以根据所述数据压缩请求中的指示查询相关模块,获取所述待压缩的图片数据。
303:确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足压缩加速的条件,执行步骤304,否则执行步骤309。
数据压缩模块接收所述数据压缩请求之后,可以进一步确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足压缩加速的条件,表示该图片数据属于压缩耗费资源较大的图片数据,系统可能已经保存了该图片数据的压缩数据,可以直接执行步骤304至306对该图片数据的压缩数据的获取过程进行加速,即在需要压缩的时候,系统直接获取预先保存的所述待压缩的图片数据的压缩数据,从而有效节约系统资源,提高数据压缩的效率。
所述确定所述待压缩的图片数据是否满足压缩加速的条件,具体可以采用如下方式:
确定对所述待压缩的图片数据进行压缩所耗费的资源是否超过第一阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件;或者,
确定所述待压缩的图片数据的属性值是否超过第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述属性值包括以下因素任意之一或其任意组合:图片数据的大小、长宽或位深,具体地,所述确定所述待压缩的图片数据的属性值是否超过第二阈值可以是确定所述待压缩的图片数据的大小或长宽或位深是否超过所述第二阈值,还可以是确定所述待压缩的图片数据的大小、长宽和位深是否超过所述第二阈值或者其中两个参数值是否超过所述第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述待压缩的图片数据属于压缩消耗资源较大的图片数据,其中,所述待压缩的图片数据的属性值可以从所述应用程序模块获取,所述第二阈值属于经验值,所述第二阈值可以是一个数值,也可以是多个数值组成的集合;或者,
确定所述待压缩的图片数据的复杂度是否超过第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,具体地,所述确定所述待压缩的图片数据的复杂度是否超过第三阈值可以是确定所述待压缩的图片数据的像素的颜色数量是否超过所述第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述待压缩的图片数据属于复杂度较高的图片数据,压缩该图片数据将消耗较大的系统资源,所述待压缩的图片的像素的颜色数量可以从所述应用程序模块获取,也可以是所述数据压缩模块利用所述待压缩的图片数据通过算法获得,所述第三阈值属于经验值。。
304:确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表图片数据,特征标识相同的图片数据具有相同的压缩数据。
数据压缩模块在接收到数据压缩请求之后,确定所述待压缩的图片数据的特征标识,所述确定所述待压缩的图片数据的特征标识可以在步骤302之后执行,还可以在步骤302之前执行,本发明实施例在此不作限定。
所述确定所述待压缩的图片数据的特征标识,可以是从所述应用程序模块获取所述待压缩的图片数据的特征标识,也可以是数据压缩模块通过计算获取所述待压缩的图片数据的特征标识,所述特征标识可以是图像特征码,具体表现形式可以是字符序列或数字序列,例如可以是循环冗余码(Cyclic Redundancy Code,CRC),海明码,但不仅限于此,所述数据压缩模块计算所述待压缩的图片数据的特征标识可以是采用不同的算法对所述待压缩的图片数据进行计算得到,例如可以将所述图片数据视为二进制数,参照CRC32的计算方式确定所述图片数据的特征标识,其中,所述CRC还可以包括CRC8、CRC12、CRC16、CRC32、CRC32c等。
优选地,如果所述待压缩的图片数据为一帧图片数据,则确定所述一帧图片数据的特征标识,如果所述待压缩的图片数据为多帧图片数据,则确定所述每帧图片数据的特征标识。
305:确定所述压缩数据存管模块是否保存有所述特征标识对应的压缩数据,如果确定所述压缩数据存管模块保存有所述特征标识对应的压缩数据,执行步骤306,否则执行步骤307。
具体地,由于所述压缩数据存管模块用于保存压缩数据集合,即可以用于保存采用压缩算法对各图片数据进行压缩得到的不同压缩数据,并同时保存各压缩数据与其对应的特征标识的对应关系,因此所述数据压缩模块可以根据所述待压缩的图片数据的特征标识,确定所述压缩数据存管模块是否保存有所述特征标识对应的压缩数据,即是否保存有所述待压缩的图片数据的压缩数据。图片数据的压缩数据
306:获取从所述压缩数据存管模块中保存的所述特征标识对应的压缩数据,然后执行步骤309。
数据压缩模块如果确定保存有所述特征标识对应的压缩数据,则从所述压缩数据存管模块中获取保存的所述特征标识对应的压缩数据,由于特征标识相同的图片数据具有相同的压缩数据,因此可以将所获取的压缩数据作为所述待压缩的图片数据的压缩数据,避免了重复的压缩工作。
307:采用压缩算法对所述待压缩的图片数据进行压缩,得到对应的压缩数据,然后执行步骤308。
如果确定所述压缩数据存管模块没有保存所述特征标识对应的压缩数据,则数据压缩模块采用压缩算法对所述待压缩的图片数据进行压缩,得到所述待压缩的图片数据的压缩数据,然后执行步骤308。
其中,所述压缩算法可以是有损压缩算法,还可以是无损压缩算法,本发明实施例在此不作限定。
308:将所述经过压缩得到的压缩数据在所述压缩数据存管模块中进行保存,然后执行步骤310。
将所述压缩得到的压缩数据保存在所述压缩数据存管模块中,使得系统下次需要压缩所述待压缩的图片数据时,可以直接从所述压缩数据存管模块中获取,无需进行重复的压缩。
具体地,可以将所述经过压缩得到的压缩数据与所述待压缩的图片数据的特征标识进行关联后再进行保存,使得通过所述特征标识能够查询到所述压缩数据;
309:采用压缩算法对所述待压缩的图片数据进行压缩,得到对应的压缩数据,然后执行步骤310。
如果确定所述待压缩的图片数据不满足压缩加速的条件,表明所述待压缩的图片数据属于压缩耗费资源较小的图片数据,数据压缩模块通过压缩算法直接获取所述待压缩的图片数据的压缩数据,并在该步骤完成后执行步骤310。
310:返回数据压缩响应,所述数据压缩响应携带所述待压缩的图片数据的压缩数据。
数据压缩模块返回数据压缩响应给所述应用程序模块,使得所述应用程序模块对应的客户端可以获取所述待压缩的图片数据的压缩数据,并可以根据所述压缩数据进行图片显示。
在本发明实施例中,所述数据压缩模块接收到数据压缩请求之后,确定所述压缩数据存管模块是否保存有所述待压缩的图片数据的压缩数据,如果保存有,则从所述压缩数据存管模块中获取保存的所述待压缩的图片数据的压缩数据,避免重复的压缩工作,有效节约系统资源,如果没有保存,则用压缩算法获取所述待压缩的图片数据的压缩数据,并将该图片数据的压缩数据在所述压缩数据存管模块中进行保存,用以完善和更新所述压缩数据存管模块,使得下次需要该图片数据的压缩数据时,不再重复压缩该图片数据。
进一步,在本发明实施例中,所述数据压缩模块在接收到数据压缩请求之后,还包括确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足压缩加速的条件,则对所述待压缩的图片数据的压缩数据的获取过程进行加速,即当确定保存有所述待压缩的图片数据的特征标识对应的压缩数据时,直接从所述压缩数据存管模块中获取保存的所述特征标识对应的压缩数据,避免了对压缩耗费资源较大的图片数据的压缩工作,使得该图片数据的压缩数据的获取过程得以被加速,更进一步的节约了系统资源,提高了数据压缩效率。本发明实施例的方法可以应用于VDI场景下,不同客户端对应的虚拟机可以将不同图片数据的压缩数据保存于同一个压缩数据存管模块中,所述压缩数据存管模块可以设置在虚拟机或PC机上,使得如果多个客户端需要压缩该第一图片数据时或者第一客户端需要多次压缩该第一图片数据时,可以直接从所述压缩数据存管模块中获取该第一图片数据的压缩数据,避免了重复的压缩工作,此外,还可以将待压缩的图片数据的压缩数据保存于本地应用程序所在的虚拟机的压缩数据存管模块中,使得所述本地应用程序需要重复压缩所述待压缩的图片数据时,直接从所述虚拟机的压缩数据存管模块中获取,避免了数据的重复压缩工作,提高了数据压缩的效率,而且从本地获取待压缩的图片数据保障了通信的实时性和快速性。
本发明装置实施例
本发明实施例提供的数据压缩装置,应用于计算机系统中,如图4所示,所述装置400包括:
接收单元401,用于接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩;
确定单元402,用于确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据。
获取单元403,用于根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据。
响应单元404,用于返回数据压缩响应,所述数据压缩响应携带所获取的所述特征标识对应的压缩数据。
其中,所述待压缩的图片数据可以根据所述数据压缩请求获取,所述待压缩的图片数据可以为一帧图片数据或者多帧图片数据,所述确定单元402确定待压缩的图片数据的特征标识可以是从所述应用程序模块或者操作系统获取所述待压缩的图片数据的特征标识,也可以是所述确定单元402通过计算获取所述待压缩的图片数据的特征标识。
在本发明实施例中,所述压缩数据存管模块用于保存压缩数据集合,即用于保存采用压缩算法对各图片数据进行压缩得到的不同压缩数据,并同时保存各压缩数据与其对应的特征标识的对应关系,所述确定单元402在所述接收单元401接收到数据压缩请求之后,确定所述待压缩的图片数据的特征标识,所述获取单元403根据所述待压缩的图片数据的特征标识,从所述压缩数据存管模块中获取保存的所述特征标识对应的压缩数据,所述响应单元404返回携带所获取的所述特征标识对应的压缩数据的数据压缩响应,避免了数据的重复压缩工作,提高了数据压缩效率,有效节约了系统资源。
在本发明的又一装置实施例中,如图5所示,所述数据压缩装置500可包括:接收单元501、确定单元502、获取单元503、响应单元504、压缩数据存管模块505和第二压缩单元506,其中,在另一个实施例中,所述压缩数据存管模块505还可以设置于所述数据压缩装置500的外部。
所述压缩数据存管模块505用于保存图片数据的压缩数据集合,所述压缩数据集合505通过图片数据的特征标识作为索引来保存不同图片数据的压缩数据,使得所述数据压缩装置500可以根据图片数据的特征标识,从所述压缩数据存管模块505中获取保存的该图片数据的特征标识对应的压缩数据。
具体地,用户在访问应用程序模块时产生了压缩图片数据的需求,所述应用程序模块触发操作系统进行处理,操作系统指示所述数据压缩装置对所述待压缩的图片数据进行压缩,所述接收单元501用于接收数据压缩请求,并根据所述数据压缩请求获取待压缩的图片数据,其中,接收单元501可以直接获取所述数据压缩请求中携带的待压缩的图片数据,也可以根据所述数据压缩请求中的指示查询相关模块,获取所述待压缩的图片数据,其中,所述数据压缩请求指示对待压缩的图片数据进行压缩。
所述确定单元502在所述接收单元501接收数据压缩请求之后,用于确定所述待压缩的图片数据的特征标识,并利用所述特征标识,确定所述压缩数据存管模块505是否保存有所述特征标识对应的压缩数据,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据,具体地,所述确定单元502可以从所述应用程序模块获取所述待压缩的图片数据的特征标识,还可以是所述确定单元502通过计算获取所述待压缩的图片数据的特征标识,所述特征标识可以是图像特征码,具体表现形式可以是字符序列或数字序列,例如可以是循环冗余码(Cyclic Redundancy Code,CRC),海明码,但不仅限于此。
所述获取单元503,在所述确定单元502确定所述压缩数据存管模块505保存有所述特征标识对应的压缩数据时,用于根据所述特征标识,获取所述压缩数据存管模块505保存的所述特征标识对应的压缩数据,由于特征标识相同的图片数据具有相同的压缩数据,因此可以将所获取的所述特征标识对应的压缩数据作为所述待压缩的图片数据的压缩数据。
所述响应单元504用于返回携带从所述获取单元503获取的所述特征标识对应的压缩数据的数据压缩响应。
所述第二压缩单元506,在所述确定单元502确定所述压缩数据存管模块505没有保存所述特征代码对应的压缩数据时,用于采用压缩算法对所述待压缩的图片数据进行压缩,得到所述待压缩的图片数据的压缩数据,其中,所述压缩算法可以是有损压缩算法,还可以是无损压缩算法,本发明实施例在此不作限定。
所述压缩数据存管模块505还用于保存所述第二压缩单元506采用压缩算法压缩得到的压缩数据,使得系统下次需要压缩所述待压缩的图片数据时,可以直接从所述压缩数据存管模块505中获取,无需进行重复的压缩,具体地,可以将所述经过压缩得到的压缩数据与所述待压缩的图片数据的特征标识进行关联后再进行保存,使得通过所述特征标识能够查询到所述压缩数据。
所述响应单元504还用于返回携带所述第二压缩单元506采用压缩算法压缩得到的压缩数据的数据压缩响应。
优选地,所述装置还可以进一步包括:
分类单元507,用于确定所述待压缩的图片数据是否满足压缩加速的条件;所述压缩数据存管模块505在所述待压缩的图片数据满足压缩加速的条件时,具体用于触发所属确定单元502根据所述特征标识,确定所述压缩数据存管模块505是否保存有所述特征标识对应的压缩数据,或者保存所述第二压缩单元506采用压缩算法压缩得到的压缩数据;
其中,在另一优选实施例中,所述确定所述待压缩的图片数据是否满足压缩加速的条件,具体包括:
确定压缩该图片数据所消耗的系统资源的大小,并将所述压缩该图片数据所消耗的系统资源与预设的第一阈值进行比较,如果超过所述第一阈值,说明该图片数据属于压缩消耗资源较大的图片数据,可以将所述待压缩的图片数据的压缩数据在所述压缩数据存管模块中进行保存,如果没有超过所述第一阈值,说明该图片数据属于压缩消耗资源较小的图片数据,可以不保存所述待压缩的图片数据的压缩数据,其中所述第一阈值属于经验值;或者,
确定所述待压缩的图片数据的属性值是否超过第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述属性值包括以下因素任意之一或其任意组合:图片数据的大小、长宽或位深,具体地,所述确定所述待压缩的图片数据的属性值是否超过第二阈值可以是确定所述待压缩的图片数据的大小或长宽或位深是否超过所述第二阈值,还可以是确定所述待压缩的图片数据的大小、长宽和位深是否超过所述第二阈值或者其中两个参数值是否超过所述第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述待压缩的图片数据属于压缩消耗资源较大的图片数据,其中,所述待压缩的图片数据的属性值可以从所述应用程序模块获取,所述第二阈值属于经验值,所述第二阈值可以是一个数值,也可以是多个数值组成的集合;或者,
确定所述待压缩的图片数据的复杂度是否超过第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,具体地,所述确定所述待压缩的图片数据的复杂度是否超过第三阈值可以是确定所述待压缩的图片数据的像素的颜色数量是否超过所述第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述待压缩的图片数据属于复杂度较高的图片数据,压缩该图片数据将消耗较大的系统资源,所述待压缩的图片的像素的颜色数量可以从所述应用程序模块获取,也可以是所述数据压缩模块利用所述待压缩的图片数据通过算法获得,所述第三阈值属于经验值。
在本发明实施例中,所述确定单元502在所述接收单元501接收到数据压缩请求之后,确定所述压缩数据存管模块505是否保存有所述待压缩的图片数据的压缩数据,如果保存有,则所述响应单元504从所述压缩数据存管模块505中获取保存的所述待压缩的图片数据的压缩数据,避免重复的压缩工作,有效节约系统资源,如果没有保存,则所述第二压缩单元506采用压缩算法获取所述待压缩的图片数据的压缩数据,所述压缩数据存管模块505将所述第二压缩单元506压缩得到的压缩数据进行保存,用以完善和更新所述压缩数据存管模块505,使得下次需要该图片数据的压缩数据时,不再重复压缩该图片数据。
优选地,在所述第二压缩单元506完成数据压缩后,所述分类单元507可以进一步确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足压缩加速的条件,说明该图片数据属于压缩消耗资源较大的图片数据,所述压缩数据存管模块505将所述第二压缩单元506压缩得到的压缩数据进行保存,使得下次需要该图片数据的压缩数据时,不用消耗较大的系统资源去重复该压缩图片数据,如果不满足压缩加速的条件,说明该图片数据不属于压缩消耗资源较大的图片数据,下次需要该图片数据的压缩数据时,可以采用压缩算法直接获取该图片数据的压缩数据,既合理利用了系统资源,又节约了系统的存储空间。
在本发明的又一装置实施例中,如图6所示,所述数据压缩装置600可包括:接收单元601、确定单元602、获取单元603、响应单元604、压缩数据存管模块605、第二压缩单元606、分类单元607和第一压缩单元608,其中,所述压缩数据存管模块605还可以设置于所述数据压缩装置600的外部。
所述压缩数据存管模块605用于保存图片数据的压缩数据集合,所述压缩数据集合通过图片数据的特征标识作为索引来保存不同图片数据的压缩数据,使得所述数据压缩装置600可以根据图片数据的特征标识,从所述压缩数据存管模块605中获取保存的该图片数据的特征标识对应的压缩数据。
所述接收单元601用于接收数据压缩请求,并根据所述数据压缩请求获取待压缩的图片数据;优选地,所述接收单元601可以直接获取所述数据压缩请求中携带的待压缩的图片数据,也可以根据所述数据压缩请求中的指示查询相关模块,获取所述待压缩的图片数据,其中,所述数据压缩请求指示对待压缩的图片数据进行压缩。
所述分类单元607,在所述接收单元601接收数据压缩请求之后,用于确定所述待压缩的图片数据是否满足压缩加速的条件;
优选地,所述分类单元607可以确定压缩该图片数据所消耗的系统资源的大小,并将所述压缩该图片数据所消耗的系统资源与预设的第一阈值进行比较,如果是,确定所述待压缩的图片数据满足压缩加速的条件;或者,
确定所述待压缩的图片数据的属性值是否超过第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述属性值包括以下因素任意之一或其任意组合:图片数据的大小、长宽或位深,具体地,所述确定所述待压缩的图片数据的属性值是否超过第二阈值可以是确定所述待压缩的图片数据的大小或长宽或位深是否超过所述第二阈值,还可以是确定所述待压缩的图片数据的大小、长宽和位深是否超过所述第二阈值或者其中两个参数值是否超过所述第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述待压缩的图片数据属于压缩消耗资源较大的图片数据,其中,所述待压缩的图片数据的属性值可以从所述应用程序模块获取,所述第二阈值属于经验值,所述第二阈值可以是一个数值,也可以是多个数值组成的集合;或者,
确定所述待压缩的图片数据的复杂度是否超过第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,具体地,所述确定所述待压缩的图片数据的复杂度是否超过第三阈值可以是确定所述待压缩的图片数据的像素的颜色数量是否超过所述第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述待压缩的图片数据属于复杂度较高的图片数据,压缩该图片数据将消耗较大的系统资源,所述待压缩的图片的像素的颜色数量可以从所述应用程序模块获取,也可以是所述数据压缩模块利用所述待压缩的图片数据通过算法获得,所述第三阈值属于经验值。
所述确定单元602在所述分类单元607确定所述待压缩的图片数据满足压缩加速的条件时,用于确定所述待压缩的图片数据的特征标识,并根据所述特征标识,确定所述压缩数据存管模块605是否保存有所述特征标识对应的压缩数据,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据,所述确定单元602确定所述待压缩的图片数据的特征标识也可以是在所述分类单元607确定所述待压缩的图片数据满足压缩加速的条件之前,具体地,所述确定单元602可以从所述应用程序模块获取所述待压缩的图片数据的特征标识,还可以是所述确定单元602通过计算获取所述待压缩的图片数据的特征标识,所述特征标识可以是图像特征码,具体表现形式可以是字符序列或数字序列。
所述获取单元603,在所述确定单元确定所述压缩数据存管模块保存有所述特征标识对应的压缩数据时,用于根据所述特征标识,获取所述压缩数据存管模块605保存的所述特征标识对应的压缩数据,由于特征标识相同的图片数据具有相同的压缩数据,因此可以将所获取的所述特征标识对应的压缩数据作为所述待压缩的图片数据的压缩数据。
所述响应单元604用于返回携带从所述获取单元603获取的所述特征标识对应的压缩数据的数据压缩响应。
所述第二压缩单元606,在所述确定单元602确定所述压缩数据存管模块605没有保存所述特征代码对应的压缩数据时,用于采用压缩算法对所述待压缩的图片数据进行压缩,得到所述待压缩的图片数据的压缩数据,其中,所述压缩算法可以是有损压缩算法,还可以是无损压缩算法,本发明实施例在此不作限定。
所述压缩数据存管模块605还用于保存所述第二压缩单元606采用压缩算法压缩得到的压缩数据,使得系统下次需要压缩所述待压缩的图片数据时,可以直接从所述压缩数据存管模块605中获取,无需进行重复的压缩,具体地,可以将所述经过压缩得到的压缩数据与所述待压缩的图片数据的特征标识进行关联后再进行保存,使得通过所述特征标识能够查询到所述压缩数据。
所述响应单元604还用于返回携带所述第二压缩单元606采用压缩算法压缩得到的压缩数据的数据压缩响应。
所述第一压缩单元608,在所述分类单元607确定所述待压缩的图片数据不满足压缩加速的条件时,用于采用压缩算法对所述待压缩的图片数据进行压缩,得到所述待压缩的图片数据的压缩数据,其中,所述压缩算法可以是有损压缩算法,还可以是无损压缩算法,本发明实施例在此不作限定。
所述响应单元604还用于返回携带所述第一压缩单元608采用压缩算法压缩得到的压缩数据的数据压缩响应。
在本发明实施例中,所述确定单元602在所述接收单元接收到数据压缩请求之后,确定所述压缩数据存管模块605是否保存有所述待压缩的图片数据的压缩数据,如果保存有,则所述响应单元604从所述压缩数据存管模块605中获取保存的所述待压缩的图片数据的压缩数据,避免重复的压缩工作,有效节约系统资源,如果没有保存,则所述第二压缩单元606采用压缩算法获取所述待压缩的图片数据的压缩数据,所述压缩数据存管模块605将所述第二压缩单元606压缩得到的压缩数据进行保存,用以完善和更新所述压缩数据存管模块605,使得下次需要该图片数据的压缩数据时,不再重复压缩该图片数据。
进一步,在本发明实施例中,所述分类单元607在所述接收单元601接收到数据压缩请求之后,用于进一步确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足压缩加速的条件,所述数据压缩装置600对所述待压缩的图片数据的压缩数据的获取过程进行加速,即在所述确定单元602确定保存有所述待压缩的图片数据的特征标识对应的压缩数据时,所述获取单元603直接从所述压缩数据存管模块605中获取保存的所述特征标识对应的压缩数据,避免了对压缩耗费资源较大的图片数据的压缩工作,使得该图片数据的压缩数据的获取过程得以被加速,更进一步的节约了系统资源,提高了数据压缩效率。
如图7为本发明实施例提供的数据压缩系统700,所述系统可包括:
数据压缩装置701,用于接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩,确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据,根据所述待压缩的图片数据的特征标识,获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据,返回数据压缩响应,所述数据压缩响应携带从所述压缩数据存管模块702获取的所述特征标识对应的压缩数据;
所述压缩数据存管模块702,用于保存图片数据的压缩数据集合,所述压缩数据集合通过所述特征标识作为索引来保存不同图片数据的压缩数据。
如图8,为本发明实施例提供的计算机的结构组成示意图。本发明实施例的计算机800可包括:
处理器801、存储器802、系统总线804和通信接口805。处理器801、存储器802和通信接口805之间通过系统总线804连接并完成相互间的通信。
处理器801可能为单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。
存储器802可以为高速RAM存储器,也可以为非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
存储器802用于计算机执行指令803。具体的,计算机执行指令703中可以包括程序代码。
当计算机运行时,处理器801运行计算机执行指令803,可以执行如下方法流程:
所述方法流程具体包括:101:接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩。
102:确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据。
103:根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据。
104:返回数据压缩响应,所述数据压缩响应携带所获取的所述特征标识对应的压缩数据。
所述方法流程具体还可以包括:201:建立压缩数据存管模块,所述压缩数据存管模块用于保存图片数据的压缩数据集合。
202:接收数据压缩请求,根据所述数据压缩请求获取待压缩的图片数据。
203:确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表图片数据,特征标识相同的图片数据具有相同的压缩数据。
204:确定所述压缩数据存管模块是否保存有所述特征标识对应的压缩数据,如果确定所述压缩数据存管模块保存有所述特征标识对应的压缩数据,执行步骤205,否则执行步骤206。
205:获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据,然后执行步骤208。
206:采用压缩算法对所述待压缩的图片数据进行压缩,得到对应的压缩数据,然后执行步骤207。
207:将所述经过压缩得到的压缩数据在所述压缩数据存管模块中进行保存。
优选地,在执行所述步骤207的保存动作之前,还可以进一步执行如下步骤:
207’:确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足所述压缩加速的条件,执行步骤207,否则执行步骤208。
208:返回数据压缩响应,所述数据压缩响应携带所述待压缩的图片数据的压缩数据。
所述方法流程具体还可以包括:
301:建立压缩数据存管模块,所述压缩数据存管模块用于保存图片数据的压缩数据集合。
302:接收数据压缩请求,根据所述数据压缩请求获取待压缩的图片数据。
303:确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足压缩加速的条件,执行步骤304,否则执行步骤309。
304:确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表图片数据,特征标识相同的图片数据具有相同的压缩数据。
305:确定所述压缩数据存管模块是否保存有所述特征标识对应的压缩数据,如果确定所述压缩数据存管模块保存有所述特征标识对应的压缩数据,执行步骤306,否则执行步骤307。
306:获取从所述压缩数据存管模块中保存的所述特征标识对应的压缩数据,然后执行步骤309。
307:采用压缩算法对所述待压缩的图片数据进行压缩,得到对应的压缩数据,然后执行步骤308。
308:将所述经过压缩得到的压缩数据在所述压缩数据存管模块中进行保存,然后执行步骤310。
309:采用压缩算法对所述待压缩的图片数据进行压缩,得到对应的压缩数据,然后执行步骤310。
310:返回数据压缩响应,所述数据压缩响应携带所述待压缩的图片数据的压缩数据。
本领域普通技术人员将会理解,本发明的各个方面、或各个方面的可能实现方式可以被具体实施为系统、方法或者计算机程序产品。因此,本发明的各方面、或各个方面的可能实现方式可以采用完全硬件实施例、完全软件实施例(包括固件、驻留软件等等),或者组合软件和硬件方面的实施例的形式,在这里都统称为“电路”、“模块”或者“系统”。此外,本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质包含但不限于电子、磁性、光学、电磁、红外或半导体系统、设备或者装置,或者前述的任意适当组合,如随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或者快闪存储器)、光纤、便携式只读存储器(CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代码,使得处理器能够执行在流程图中每个步骤、或各步骤的组合中规定的功能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计算机上执行、作为单独的软件包、部分在用户的计算机上并且部分在远程计算机上,或者完全在远程计算机或者服务器上执行。也应该注意,在某些替代实施方案中,在流程图中各步骤、或框图中各块所注明的功能可能不按图中注明的顺序发生。例如,依赖于所涉及的功能,接连示出的两个步骤、或两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执行。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (21)
1.一种数据压缩的方法,其特征在于,包括:
接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩;
确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据;
根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据;
返回数据压缩响应,所述数据压缩响应携带从所述压缩数据存管模块获取的所述特征标识对应的压缩数据。
2.根据权利要求1所述的方法,其特征在于,所述确定所述待压缩的图片数据的特征标识包括:
计算所述待压缩的图片数据的特征标识,所述特征标识包括循环冗余码或者海明码。
3.根据权利要求2所述的方法,其特征在于,所述计算所述待压缩的图片数据的特征标识包括:
提取所述待压缩的图片数据的每帧图片数据;
计算所述每帧图片数据的特征标识。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述待压缩的图片数据是否满足压缩加速的条件,如果满足所述压缩加速的条件,则执行所述根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据的步骤。
5.根据权利要求4所述的方法,其特征在于,所述确定所述待压缩的图片数据是否满足压缩加速的条件,包括:
确定对所述待压缩的图片数据进行压缩所耗费的资源是否超过第一阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件;或者,
确定所述待压缩的图片数据的属性值是否超过第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述属性值包括以下因素任意之一或其任意组合:图片数据的大小、长宽或位深;或者,
确定所述待压缩的图片数据的复杂度是否超过第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件。
6.根据权利要求4所述的方法,其特征在于,如果所述待压缩的图片数据不满足压缩加速的条件,所述方法还包括:
对所述待压缩的图片数据采用压缩算法进行压缩;
返回数据压缩响应,所述数据压缩响应携带所述采用压缩算法压缩得到的压缩数据。
7.根据权利要求1-5任意一项所述的方法,其特征在于,还包括:
建立所述压缩数据存管模块,其中,所述压缩数据存管模块用于保存图片数据的压缩数据集合,所述压缩数据集合通过所述特征标识作为索引来保存不同图片数据的压缩数据。
8.根据权利要求7所述的方法,其特征在于,所述根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据之前,还包括:
确定所述压缩数据存管模块是否保存所述特征标识对应的压缩数据,如果是,则执行所述根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据的步骤。
9.根据权利要求8所述的方法,其特征在于,如果确定所述压缩数据存管模块未保存所述特征标识对应的压缩数据,所述方法还包括:
对所述待压缩的图片数据采用压缩算法进行压缩;
返回数据压缩响应,所述数据压缩响应携带所述采用压缩算法压缩得到的压缩数据。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
将所述采用压缩算法压缩得到的压缩数据和所述待压缩的图片数据的特征标识保存到所述压缩数据存管模块。
11.一种数据压缩的装置,其特征在于,包括:
接收单元,用于接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩;
确定单元,用于确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据;
获取单元,用于根据所述确定单元确定的所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据;
响应单元,用于返回数据压缩响应,所述数据压缩响应携带从所述压缩数据存管模块获取的所述特征标识对应的压缩数据。
12.根据权利要求11所述的装置,其特征在于,所述确定单元具体用于:
计算所述待压缩的图片数据的特征标识,所述特征标识包括循环冗余码或者海明码。
13.根据权利要求12所述的装置,其特征在于,所述确定单元具体用于:
提取所述待压缩的图片数据的每帧图片数据;
计算所述每帧图片数据的特征标识。
14.根据权利要求11所述的装置,其特征在于,所述装置还包括:
分类单元,用于确定所述待压缩的图片数据是否满足压缩加速的条件;
在所述分类单元确定所述待压缩的图片数据满足所述压缩加速的条件时,所述获取单元具体用于根据所述待压缩的图片数据的特征标识,获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据。
15.根据权利要求14所述的装置,其特征在于,所述分类单元具体用于:
确定对所述待压缩的图片数据进行压缩所耗费的资源是否超过第一阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件;或者,
确定所述待压缩的图片数据的属性值是否超过第二阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件,所述属性值包括以下因素任意之一或其任意组合:图片数据的大小、长宽或位深;或者,
确定所述待压缩的图片数据的复杂度是否超过第三阈值,如果是,确定所述待压缩的图片数据满足压缩加速的条件。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第一压缩单元,在所述分类单元确定所述待压缩的图片数据不满足压缩加速的条件时,用于对所述待压缩的图片数据采用压缩算法进行压缩;
所述响应单元还用于返回携带所述第一压缩单元采用压缩算法压缩得到的压缩数据的数据压缩响应。
17.根据权利要求11-16任意一项所述的装置,其特征在于,所述压缩数据存管模块设置于所述数据压缩的装置内部或者外部,用于保存图片数据的压缩数据集合,所述压缩数据集合通过所述特征标识作为索引来保存不同图片数据的压缩数据。
18.根据权利要求17所述的装置,其特征在于,所述确定单元还用于:
确定所述压缩数据存管模块是否保存所述特征标识对应的压缩数据;
所述获取单元具体用于在所述确定单元确定所述压缩数据存管模块保存有所述特征标识对应的压缩数据时,根据所述待压缩的图片数据的特征标识,获取所述压缩数据存管模块保存的所述特征标识对应的压缩数据。
19.根据权利要求18所述的装置,其特征在于,所述装置还包括:
第二压缩单元,用于在所述确定单元确定所述压缩数据存管模块未保存所述特征标识对应的压缩数据时,对所述待压缩的图片数据采用压缩算法进行压缩;
所述响应单元还用于返回携带所述第二压缩单元采用压缩算法压缩得到的压缩数据的数据压缩响应。
20.根据权利要求19所述的装置,其特征在于,所述第二压缩单元还用于:
将所述采用压缩算法压缩得到的压缩数据和所述待压缩的图片数据的特征标识保存到所述压缩数据存管模块。
21.一种数据压缩系统,其特征在于,包括:
数据压缩装置,用于接收数据压缩请求,所述数据压缩请求指示对待压缩的图片数据进行压缩,确定所述待压缩的图片数据的特征标识,其中,所述特征标识用于代表所述待压缩的图片数据,特征标识相同的图片数据具有相同的压缩数据,根据所述待压缩的图片数据的特征标识,获取压缩数据存管模块保存的所述特征标识对应的压缩数据,返回数据压缩响应,所述数据压缩响应携带从所述压缩数据存管模块获取的所述特征标识对应的压缩数据;
所述压缩数据存管模块,用于保存图片数据的压缩数据集合,所述压缩数据集合通过所述特征标识作为索引来保存不同图片数据的压缩数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310356700.XA CN104376584B (zh) | 2013-08-15 | 2013-08-15 | 一种数据压缩的方法、计算机系统和装置 |
PCT/CN2014/070865 WO2015021753A1 (zh) | 2013-08-15 | 2014-01-20 | 一种数据压缩的方法、计算机系统和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310356700.XA CN104376584B (zh) | 2013-08-15 | 2013-08-15 | 一种数据压缩的方法、计算机系统和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104376584A true CN104376584A (zh) | 2015-02-25 |
CN104376584B CN104376584B (zh) | 2018-02-13 |
Family
ID=52467988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310356700.XA Active CN104376584B (zh) | 2013-08-15 | 2013-08-15 | 一种数据压缩的方法、计算机系统和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104376584B (zh) |
WO (1) | WO2015021753A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157337A (zh) * | 2015-04-09 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 图片分析方法及分析系统 |
CN106383670A (zh) * | 2016-09-21 | 2017-02-08 | 华为技术有限公司 | 一种数据处理方法及存储设备 |
CN108933945A (zh) * | 2018-08-17 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 一种gif图片的压缩方法、装置及存储介质 |
CN109716660A (zh) * | 2017-01-24 | 2019-05-03 | 华为技术有限公司 | 数据压缩装置和方法 |
CN112084155A (zh) * | 2020-09-09 | 2020-12-15 | 深圳市欢太科技有限公司 | 图片处理方法、装置、设备、终端及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143183A (zh) * | 2011-03-24 | 2011-08-03 | 镇江星浪科技产品有限公司 | 一种文档版本化的方法 |
US20110188763A1 (en) * | 2010-01-29 | 2011-08-04 | Nenad Rijavec | Image Header Compression Mechanism |
CN102982046A (zh) * | 2011-09-07 | 2013-03-20 | 中国移动通信集团公司 | 一种网页数据压缩存储方法和系统 |
CN103136243A (zh) * | 2011-11-29 | 2013-06-05 | 中国电信股份有限公司 | 基于云存储的文件系统去重方法及装置 |
CN103227818A (zh) * | 2013-03-27 | 2013-07-31 | 福建伊时代信息科技股份有限公司 | 终端、服务器、文件传输方法、文件存储管理系统和方法 |
CN103237040A (zh) * | 2012-03-19 | 2013-08-07 | 天津书生投资有限公司 | 一种存储方法、服务器和客户端 |
-
2013
- 2013-08-15 CN CN201310356700.XA patent/CN104376584B/zh active Active
-
2014
- 2014-01-20 WO PCT/CN2014/070865 patent/WO2015021753A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110188763A1 (en) * | 2010-01-29 | 2011-08-04 | Nenad Rijavec | Image Header Compression Mechanism |
CN102143183A (zh) * | 2011-03-24 | 2011-08-03 | 镇江星浪科技产品有限公司 | 一种文档版本化的方法 |
CN102982046A (zh) * | 2011-09-07 | 2013-03-20 | 中国移动通信集团公司 | 一种网页数据压缩存储方法和系统 |
CN103136243A (zh) * | 2011-11-29 | 2013-06-05 | 中国电信股份有限公司 | 基于云存储的文件系统去重方法及装置 |
CN103237040A (zh) * | 2012-03-19 | 2013-08-07 | 天津书生投资有限公司 | 一种存储方法、服务器和客户端 |
CN103227818A (zh) * | 2013-03-27 | 2013-07-31 | 福建伊时代信息科技股份有限公司 | 终端、服务器、文件传输方法、文件存储管理系统和方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157337A (zh) * | 2015-04-09 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 图片分析方法及分析系统 |
CN106383670A (zh) * | 2016-09-21 | 2017-02-08 | 华为技术有限公司 | 一种数据处理方法及存储设备 |
CN106383670B (zh) * | 2016-09-21 | 2020-02-14 | 华为技术有限公司 | 一种数据处理方法及存储设备 |
CN109716660A (zh) * | 2017-01-24 | 2019-05-03 | 华为技术有限公司 | 数据压缩装置和方法 |
CN108933945A (zh) * | 2018-08-17 | 2018-12-04 | 腾讯科技(深圳)有限公司 | 一种gif图片的压缩方法、装置及存储介质 |
CN108933945B (zh) * | 2018-08-17 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 一种gif图片的压缩方法、装置及存储介质 |
CN112084155A (zh) * | 2020-09-09 | 2020-12-15 | 深圳市欢太科技有限公司 | 图片处理方法、装置、设备、终端及可读存储介质 |
CN112084155B (zh) * | 2020-09-09 | 2024-03-22 | 深圳市欢太科技有限公司 | 图片处理方法、装置、设备、终端及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2015021753A1 (zh) | 2015-02-19 |
CN104376584B (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8527467B2 (en) | Compression-aware data storage tiering | |
CN104202054A (zh) | 一种硬件lzma压缩实现系统及方法 | |
CN104376584A (zh) | 一种数据压缩的方法、计算机系统和装置 | |
CN108900843B (zh) | 单色图像压缩方法、装置、介质及电子设备 | |
CN112769897B (zh) | 边缘计算消息的同步方法、装置、电子设备及存储介质 | |
US11501160B2 (en) | Cloud computing data compression for allreduce in deep learning | |
US20120288088A1 (en) | Method and system for compressing and encrypting data | |
CN112165331A (zh) | 数据压缩方法及其装置、数据解压方法及其装置、存储介质及电子设备 | |
US20160314141A1 (en) | Compression-based filtering for deduplication | |
CN106685429B (zh) | 整数压缩方法及装置 | |
US11403017B2 (en) | Data compression method, electronic device and computer program product | |
KR101617965B1 (ko) | 체계적인 극 부호 부호화기 | |
JP2021168195A (ja) | 顔画像の分類方法、装置、電子機器及び記憶媒体 | |
JP2017502539A5 (zh) | ||
US9633035B2 (en) | Storage system and methods for time continuum data retrieval | |
CN109088636B (zh) | 一种数据处理方法、系统及电子设备和存储介质 | |
CN104484132A (zh) | 数据缩减的方法及装置 | |
CN104408178A (zh) | Web控件加载装置和方法 | |
CN107643906B (zh) | 数据处理方法及装置 | |
CN104967856A (zh) | 一种编码方法及相关设备 | |
US9197243B2 (en) | Compression ratio for a compression engine | |
CN108933599B (zh) | 一种霍夫曼编码实现方法、系统、设备及计算机存储介质 | |
CN109146765B (zh) | 一种图像处理方法、主处理器、协处理器及电子设备 | |
CN116761020A (zh) | 视频处理方法、装置、设备和介质 | |
CN108234552B (zh) | 一种数据存储方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220224 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |