数据压缩及解压的方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,具体而言,本发明涉及一种数据压缩及解压的方法及装置。
【背景技术】
[0002]随着计算机技术的不断发展,在软件开发方面各种SDK (Software DevelopmentKit,软件开发工具包)及开发方法也在不断的更新。在软件应用的过程中,通常需要通过接口传递各种类型的数据,当传输的数据量较大时,如传输数据中包含了大量的较长字符的数据名及其对应的具体数值,一方面,在数据传递后将耗费系统大量的CPU (CentralProcessing Unit,中央处理器)资源去解析各数据名及其对应的数值,从而影响终端的处理速度,且大量较长字符的数据名在存储时将浪费大量的终端数据存储空间;另一方面,若数据通过网络方式进行传递,将耗费大量的网络带宽,甚至发生数据被截断的情况,导致数据丢失。
[0003]因此,需要一种对传输数据中较长字符的参数名进行压缩的方案,使包含大量较长字符的传输数据名及其对应的具体数值在接口传递的过程中实现高效的传递,达到节约网络带宽资源与系统CPU资源的目的,并实现在数据库中对传输数据进行高效的读写,从而进一步的提高用户的体验。
【发明内容】
[0004]为克服上述技术问题或者至少部分地解决上述技术问题,特提出以下技术方案:
[0005]本发明的实施例提出了一种数据压缩的方法,包括:
[0006]对原始传输数据进行分析,确定包括原始传输数据的数据结构及数据大小的数据特征信息;
[0007]根据数据特征信息,判断是否对原始传输数据进行压缩处理;
[0008]当判断结果指示执行压缩处理时,基于键压缩匹配列表中预定键压缩方式,对原始传输数据中原始键值对的键进行转换生成相应的压缩键;
[0009]基于压缩键生成包括相应的压缩键值对的压缩传输数据。
[0010]优选地,根据数据特征信息,判断是否对原始传输数据进行压缩处理,包括:
[0011]判断原始传输数据的数据大小与第一预定数据大小阈值的关系;
[0012]若判断结果为原始传输数据的数据大小大于第一预定数据大小阈值时,确定对原始传输数据进行压缩处理。
[0013]优选地,根据数据特征信息,判断是否对原始传输数据进行压缩处理,包括:
[0014]判断原始传输数据的数据大小分别与第一预定数据大小阈值及第二预定数据大小阈值的关系,第一预定数据大小阈值大于第二预定数据大小阈值;
[0015]若判断结果为原始传输数据的数据大小大于第二预定数据大小阈值且小于第一预定数据大小阈值时,根据数据结构判断是否对原始传输数据进行压缩处理。
[0016]优选地,根据数据结构判断是否对原始传输数据进行压缩处理,具体包括:
[0017]统计原始传输数据中具有相同的第一键的键值对的数量与原始传输数据中包括的键值对总数量的第一比例;
[0018]当第一比例大于第一预定比例阈值,且第一键的字符数量大于第一预定字符数量阈值时,判断需要对原始传输数据进行压缩处理。
[0019]优选地,根据数据结构判断是否对原始传输数据进行压缩处理,具体包括:
[0020]判断原始传输数据中具有最长字符长度的第二键的字符数量是否大于第二预定字符数量阈值;
[0021]若判断第二键的字符数量大于第二预定字符数量阈值时,统计原始传输数据中全部第二键的字符数量占原始传输数据的总字符数量的第二比例;
[0022]当第二比例大于第二预定比例阈值时,判断需要对原始传输数据进行压缩处理。
[0023]优选地,该方法还包括:
[0024]确定在预定时间段内原始传输数据中各个键值对的键的历史出现频率;
[0025]其中,根据数据特征信息,判断是否对原始传输数据进行压缩处理,包括:
[0026]根据数据特征信息,并结合历史出现频率,判断是否对原始传输数据进行压缩处理。
[0027]优选地,基于压缩键生成包括相应的压缩键值对的压缩传输数据的步骤进一步包括:
[0028]基于压缩键生成相应的压缩键值对,并设置相关联的压缩状态标识;
[0029]将压缩键值对及相关联的压缩状态标识组合以生成压缩传输数据。
[0030]优选地,该方法还包括:
[0031]基于键压缩匹配列表生成相应的键压缩字典文件;
[0032]根据接收到的应用获取请求,将键压缩字典文件作为配置文件发送至请求方。
[0033]本发明的另一实施例提出了一种数据解压的方法,包括:
[0034]判断接收到的传输数据是否为压缩传输数据;
[0035]当判断确定传输数据为压缩传输数据时,解析并提取压缩传输数据中的压缩键值对的压缩键;
[0036]基于预配置的键压缩匹配列表中的预定键解压方式,对压缩键进行解压处理,以获取得到相应的原始键值对。
[0037]优选地,判断接收到的传输数据是否为压缩传输数据的步骤进一步包括:
[0038]判断传输数据中的键值对是否包括相关联的压缩状态标识;
[0039]其中,当判断确定传输数据为压缩传输数据时,解析并提取压缩传输数据中的压缩键值对的压缩键的步骤进一步包括:
[0040]当传输数据中的键值对包括相关联的压缩状态标识,则确定传输数据为压缩传输数据;以及提取压缩传输数据中与压缩状态标识相关的压缩键值对的压缩键。
[0041 ] 优选地,该方法还包括:
[0042]接收配置文件,配置文件中包括键压缩字典文件;
[0043]根据键压缩字典文件配置生成本地的键压缩匹配列表。
[0044]本发明的实施例提出了一种数据压缩的装置,包括:
[0045]第一确定模块,用于对原始传输数据进行分析,确定包括原始传输数据的数据结构及数据大小的数据特征信息;
[0046]第一判断模块,用于根据数据特征信息,判断是否对原始传输数据进行压缩处理;
[0047]转换模块,用于当判断结果指示执行压缩处理时,基于键压缩匹配列表中预定键压缩方式,对原始传输数据中原始键值对的键进行转换生成相应的压缩键;
[0048]第一生成模块,基于压缩键生成包括相应的压缩键值对的压缩传输数据。
[0049]优选地,第一判断模块具体包括:
[0050]第二判断子模块,用于判断原始传输数据的数据大小与第一预定数据大小阈值的关系;
[0051]第二确定子模块,用于若判断结果为原始传输数据的数据大小大于第一预定数据大小阈值时,确定对原始传输数据进行压缩处理。
[0052]优选地,第一判断模块包括:
[0053]第三判断子模块,用于判断原始传输数据的数据大小分别与第一预定数据大小阈值及第二预定数据大小阈值的关系,第一预定数据大小阈值大于第二预定数据大小阈值;
[0054]第四判断子模块,用于若判断结果为原始传输数据的数据大小大于第二预定数据大小阈值且小于第一预定数据大小阈值时,根据数据结构判断是否对原始传输数据进行压缩处理。
[0055]优选地,第四判断子模块具体包括:
[0056]第一统计单元,用于统计原始传输数据中具有相同的第一键的键值对的数量与原始传输数据中包括的键值对总数量的第一比例;
[0057]第一判断单元,用于当第一比例大于第一预定比例阈值,且第一键的字符数量大于第一预定字符数量阈值时,判断需要对原始传输数据进行压缩处理。
[0058]优选地,第四判断子模块具体包括:
[0059]第二判断单元,用于判断原始传输数据中具有最长字符长度的第二键的字符数量是否大于第二预定字符数量阈值;
[0060]第二统计单元,用于若判断第二键的字符数量大于第二预定字符数量阈值时,统计原始传输数据中全部第二键的字符数量占原始传输数据的总字符数量的第二比例;
[0061]第三判断单元,用于当第二比例大于第二预定比例阈值时,判断需要对原始传输数据进行压缩处理。
[0062]优选地,该装置还包括:
[0063]第三确定模块,用于确定在预定时间段内原始传输数据中各个键值对的键的历史出现频率;
[0064]其中,第一判断模块具体用于根据数据特征信息,并结合历史出现频率,判断是否对原始传输数据进行压缩处理。
[0065]优选地,第一生成模块包括:
[0066]标识设置单元,用于基于压缩键生成相应的压缩键值对,并设置相关联的压缩状态标识;
[0067]组合生成单元,用于将压缩键值对及相关联的压缩状态标识组合以生成压缩传输数据。
[0068]优选地,该装置还包括:
[0069]第二生成模块,用于基于键压缩匹配列表生成相应的键压缩字典文件;
[0070]发送模块,用于根据接收到的应用获取请求,将键压缩字典文件作为配置文件发送至请求方ο
[0071]本发明的另一实施例提出了一种数据解压的装置,包括:
[0072]第六判断模块,用于判断接收到的传输数据是否为压缩传输数据;
[0073]解析提取模块,用于当判断确定传输数据为压缩传输数据时,解析并提取压缩传输数据中的压缩键值对的压缩键;
[0074]解压处理模块,基于预配置的键压缩匹配列表中的预定键解压方式,对压缩键进行解压处理,以获取得到相应的原始键值对。
[0075]优选地,第六判断模块进一步用于判断传输数据中的键值对是否包括相关联的压缩状态标识;
[0076]其中,解析提取模块进一步用于当传输数据中的键值对包括相关联的压缩状态标识,则确定传输数据为压缩传输数据;以及提取压缩传输数据中与压缩状态标识相关的压缩键值对的压缩键。
[0077]优选地,该装置还包括:
[0078]接收模块,用于接收配置文件,配置文件中包括键压缩字典文件;
[0079]第三生成模块,用于根据键压缩字典文件配置生成本地的键压缩匹配列表。
[0080]本发明的实施例中,提出了一种数据压缩及解压的方案,在服务器端通过分析原始传输数据,判断是否对原始传输数据进行压缩处理,当判断结果指示执行压缩处理时,基于键压缩匹配列表中预定键压缩方式,对原始传输数据中原始键值对的键进行转换生成相应的压缩键,随后基于压缩键生成包括相应的压缩键值对的压缩传输数据;若传输数据通过网络方式进行传输时,通过对原始传输数据中原始键值对的键进行转换生成相应的压缩键,可在数据传输过程中节省网络带宽,避免了数据量过大时不可预期的数据丢失的情况,实现了数据的高效传输;同时,提高计算机数据处理的响应时间;在终端设备的