数据压缩的方法和装置制造方法及图纸

技术编号:7843424 阅读:219 留言:0更新日期:2012-10-13 01:46
本发明专利技术实施例提供了一种数据压缩方法和装置。方法包括:根据原始数据生成用于数据相似性检测的数字指纹;根据所述数字指纹确定与所述原始数据具有数据相似性的数据块,将所述原始数据路由到确定的数据块的压缩进程;执行所述确定的数据块的压缩进程,完成对所述原始数据的压缩。方法对应的装置包括:数字指纹生成器、数据路由模块、压缩模块和数据块。上述技术方案可以利用原始数据生成的数字指纹的相似性,将原始数据压缩到指定的数据块,从而提高数据压缩的压缩比。

【技术实现步骤摘要】

本专利技术实施例涉及数据存储领域,并且更具体地,涉及数据压缩的方法和装置
技术介绍
经过多年的系统建设和优化完善,电信领域经营分析系统已经建立了面向电信企业运营的数据信息平台。但是随着时间推移和加速增长的业务量,数据仓库中存储的数据加速膨胀,必须通过不断扩容满足存储要求,造成了数据仓库的成本高收益低,最终扩无可扩的局面。为应对上述挑战,电信行业数据仓库系统逐步引入了分级存储策略,根据数据创建时间、访问频率和访问时间的响应要求将数据按生命周期分为在线、近线、归档和销毁等级别。通过生命周期策略和分级存储策略的有机结合,将数据动态迁移或加载到最适合的存储介质中,达到各类存储的最佳搭配,以便控制信息技术(IT, Information Technology) 设备的投资规模,同时获得更好的效益。生命周期为近线级别的数据也称为近线数据。近线数据常用来完成历史数据对比分析、营销轨迹分析和数据挖掘等对电信领域经营分析具有重要意义的数据分析,其显著特点是数据量大,扫描范围广;以查询为主,但并发量小。近线数据采用数据压缩机制进行压缩既能提升存储利用率,又可提高数据分析效率。电信领域中的近线数据有以下适合压缩的特点I、属性值为特征串时,有固定的编码约定。字符串包括特征串。举例来说,国际移动装备辨识码(MEI,InternationalMobile Equipment Identity)或国际移动用户识别码(IMSI, International MobileSubscriber Identification number)是典型的特征串。对于特定运营商,特征串类型的属性值中大量地重复前缀或后缀编码。其中属性在编码中与一个或多个字段对应,属性值与字段值对应。2、属性值为低基数的可选值,并且属性之间存在组合关系的基数同样较低。低基数是指这个属性只有很少的可选取值。如属性为话单类型时,话单类型的基数为2,目前只包括语音话单和短信话单两种属性值;如属性为呼叫类型时,呼叫类型的基数为3。话单类型和呼叫类型之间存在基数为6的组合关系。在这6种组合关系中,其中个别组合关系出现的重复性远大于其他几种组合关系。3、属性值之间存在逻辑或计算关系。举例来说,如用户信息表中的属性“用户标识”对应的字段的编码编号规则如下用户标识=所属地区编号(字段)+ ‘0’+所属地区编号(字段)+流水号。属性值存在字段间的重复编码,例如上述等式中的“所述地区编号”。4、非连续存储的许多记录间存在逻辑关联,且只存在少数属性的差异,而大部分属性相同。最常见场景为以时间轴模式保存业务办理变更,最新记录被从当前记录复制,更新业务对应的字段;更新当前的记录为历史记录状态。数据压缩的基本原理是按照特定的编码机制,以比未经编码数据少的数据比特,或者其它信息相关的数据单位表示原数据。出现概率高的数据,也称为重复数据尽量以短编码标识,而概率低的数据则可以使用长编码标识。因此,重复数据越多,可能获得的压缩比越高,相应地存储利用率也就越高。其中压缩比是数据压缩器压缩效率的质量标识,满足以下公式压缩比=压缩掉的数据单位/压缩前的数据单位近线数据采用数据压缩机制进行压缩既能提升存储利用率,又可提高数据分析效率。然而,现有技术中对近线数据进行压缩的压缩比较低。
技术实现思路
本专利技术实施例提供一种数据压缩的方法和装置,能够提高数据压缩的压缩比。一方面,提供了一种数据压缩方法,包括 根据原始数据生成用于数据相似性检测的数字指纹;根据所述数字指纹确定与所述原始数据具有数据相似性的数据块,将所述原始数据路由到确定的数据块的压缩进程;执行所述确定的数据块的压缩进程,完成对所述原始数据的压缩。另一方面,提供了一种数据压缩装置,包括所述数字指纹生成器用于根据原始数据生成用于数据相似性检测的数字指纹;所述数据路由模块用于根据所述数字指纹生成器生成的所述数字指纹确定与所述原始数据具有数据相似性的数据块,将所述原始数据路由到确定的所述数据块的压缩进程;所述压缩模块用于执行所述确定的数据块的压缩进程,完成原始数据的压缩。上述技术方案可以利用原始数据生成的数字指纹的数据相似性,将数据压缩到指定的数据块,从而提高数据压缩的压缩比。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是本专利技术实施例的数据压缩的方法的示意流程图。图2是本专利技术另一实施例的数据压缩的方法的示意流程图。图3是用于数据相似性检测的数字指纹算法生成具有数据相似性的数字指纹的原理示意图。图4A和图4B是本专利技术实施例的数据压缩的装置的示意框图。图5是本专利技术实施例的一个应用场景的原始数据。图6是图5的原始数据进行用于数据相似性检测的数字指纹算法后的数据。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。现有技术中主流的关系型数据库基本采用行方式存储数据,压缩的方法为通过顺序扫描整个表,找到重复的字符和字符串后,将上述字符和字符串存储在一个压缩字典中,然后用一个存储在字典中对应数据字符串的替代符号来替代表中的实际数据,从而达到了压缩数据的目的。由于顺序扫描的数据行中的数据重复程度不高,导致数据无法获得较高压缩率。此外,因为无有效手段判断数据行之间的数据相似性和重复分布,从而无法将相似数据保存到同一个块中,以提升压缩比。进一步地,按行存储的模式,对低基数列和上述提及的电信领域特有的近线数据无法实现高压缩比。上述低基数列是指该列中只有很少的可选取值,比如性别属性中的可选取值包括男、女和未知。列式数据库常用的提高压缩比的方法为利用列数据库架构优势,按数据类型特点压缩,如按照基数的聚合度范围,建立搜索(英文为lookup)表,动态优化不同基数聚合度的压缩比;直接采用位图索引(英文为bitmap index)表达列值,同时提高扫描效率和压缩存储效率。基数聚合度定义指在该列上取值的可能的个数,在一定的范围内呈现出的聚 合规律。如在一段数据中,一列数据只出现3种可选值红、蓝和绿,则lookup表可用单字节编码,起到压缩作用。位图索引主要针对低基数列。针对每一个可选值,如性别属性,可选值“男”的位图索引可以表示为〃010111,每一位比特值为I时代表〃是〃,为O时代表“否”。列式数据库可以直接将低基数列使用位图索引表示,因此能提高扫描效率和压缩率。列式数据库由于架构上的特点,在数据压缩和扫描性能上有优势,但针对电信领域中具有近线数据的特点1、3和4的数据无法对行间存在的重复数据进行有效去重。因此,仅从通用性角度出发,未能从重复数据的检测方面进一步提升压缩比。本专利技术中“数据块的压缩进程”表明了在本专利技术中使用了主控模块为每一个数据块分配压缩进程方式,但这并不是唯一方式,本专利技术还可以采用多个数据块共用一个压缩进程的方式。本专利技术实施例提供了一种数据压本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据压缩的方法,其特征在于,包括 根据原始数据生成用于数据相似性检测的数字指纹; 根据所述数字指纹确定与所述原始数据具有数据相似性的数据块,将所述原始数据路由到确定的数据块的压缩进程; 执行所述确定的数据块的压缩进程,完成对所述原始数据的压缩。2.根据权利要求I所述的方法,其特征在于,所述根据所述数字指纹确定与所述原始数据具有数据相似性的数据块,将所述原始数据路由到确定的数据块的压缩进程,具体包括 获取数据块的数字指纹范围,将所述数字指纹与所述数据块的数字指纹范围进行比对,将所述数字指纹所落入的数字指纹范围对应的数据块确定为与所述原始数据具有数据相似性的数据块,并将所述数据指纹对应的所述原始数据路由到所述确定的数据块的压缩进程。3.根据权利要求2所述的方法,其特征在于,所述方法还包括 当所述数字指纹不在任何数据块的数字指纹范围内,则新建压缩进程;并将所述原始数据路由到该新建的压缩进程,执行所述新建的压缩进程,完成对所述原始数据的压缩,生成新的数据块,并指定所述数字指纹为所述新建的数据块的主数字指纹。4.根据权利要求1-3任一所述的方法,其特征在于,所述数据块的数字指纹范围在确认要新建数据块时被设置,具体包括 以原始数据生成的用于数据相似性检测的数字指纹作为主数字指纹; 以所述主数字指纹作为中心,并以到所述中心的汉明距离作为所述新建数据块的数字指纹范围。5.根据权利要求1-4任一所述的方法,其特征在于,所述方法还包括获取所述数据块和/或数据块的压缩进程的即时状态,并根据所述即时状态和压缩策略确定是否新建数据块和/或新建压缩进程。6.根据权利要求5所述的方法,其特征在于,所述即时状态和压缩策略包括 当前数据块的大小是否在压缩策略限定的范围内,如果到达限定的数据块大小范围,则新建数据块; 当前数据块的压缩进程中排队等待完成压缩的原始数据个数是否超过压缩策略的阈值,如果超过所述阈值,则新建压缩进程。7.根据权利要求1-6任一所述的方法,其特征在于,所述根据原始数据生成用于数据相似性检测...

【专利技术属性】
技术研发人员:陈系华张亮
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1