数据压缩及解压的方法及装置的制造方法_4

文档序号:9566865阅读:来源:国知局
原始传输数据“userinfo”中,三组键值对分别为“user_id: 22”、“user_id: 23” 及 “user」d: 24”,对于一组键值对 “user_id: 22”,其 Key 部分为“user_id”,Value部分为“22”,确定原始传输数据“userinfo”的数据结构为键值对结构,并计算确定原始传输数据“userinfo”中多组键值对的具体大小为30个字节。
[0137]根据数据特征信息,第一判断模块620判断是否对原始传输数据进行压缩处理。
[0138]例如,根据原始传输数据“userinfo”的数据结构为键值对结构,且数据大小为30个字节,判断是否对“userinfo”的原始传输数据的Key部分“user_id”进行压缩处理,判断方式在下述如图2-4所示的实施例中具体阐述。
[0139]当判断结果指示执行压缩处理时,基于键压缩匹配列表中预定键压缩方式,转换模块630对原始传输数据中原始键值对的键进行转换生成相应的压缩键。
[0140]例如,当判断结果指示执行对原始传输数据“userinfo”的3组键值对的Key部分的数据“userid”进行压缩处理时,基于键压缩匹配列表中预定键压缩方式,如“userid”压缩后对应的值为“uid”,将原始传输数据“userinfo”的3组键值对的的键值“user_id”进行转换生成相应的压缩键“uid”。
[0141]第一生成模块640基于压缩键生成包括相应的压缩键值对的压缩传输数据。
[0142]例如,基于压缩键“uid”生成包括相应的3组压缩键值对的压缩传输数据“uid: 22”、“uid: 23” 及 “uid: 24”。
[0143]在一优选实施例中,如图7所示,第一判断模块具体包括第二判断子模块721和第二确定子模块722。第二判断子模块721判断原始传输数据的数据大小与第一预定数据大小阈值的关系;若判断结果为原始传输数据的数据大小大于第一预定数据大小阈值时,第二确定子模块722确定对原始传输数据进行压缩处理。
[0144]例如,第一预定数据大小阈值为20字节,根据原始传输数据“userinfo”的数据大小为30字节,判断得到原始传输数据“userinfo”的数据大小大于第一预定数据大小阈值,则确定对原始传输数据“userinfo”中三组键值对的Key部分“user_id”进行压缩处理,得到压缩后的Key部分为键压缩匹配列表中“username”对应的数据“uid”。
[0145]在另一优选实施例中,如图8所示,第一判断模块具体包括第三判断子模块823和第四判断子模块824。第三判断子模块823判断原始传输数据的数据大小分别与第一预定数据大小阈值及第二预定数据大小阈值的关系,第一预定数据大小阈值大于第二预定数据大小阈值;若判断结果为原始传输数据的数据大小大于第二预定数据大小阈值且小于第一预定数据大小阈值时,第四判断子模块824根据数据结构判断是否对原始传输数据进行压缩处理。
[0146]例如,第一预定数据大小阈值为50字节,第二预定数据大小阈值为20字节,在包含多组键值对结构的用于传递客户信息的原始传输数据中,包含如下格式键值对数据:“username: tracy ;age: 18 ;username: tom ;age: 32 ; ”,其中 Key 部分的数据分别为“username”、“age”、“username” 和 “age”,Value 部分的数据分别为 “tracy”、“ 18”、“tom”和“32”,用于传递客户信息的原始传输数据中,确定原始传输数据的数据结构为键值对结构,且原始传输数据的数据大小为42字节,可判断得到原始传输数据的数据大小42字节大于第二预定数据大小阈值20字节且小于第一预定数据大小阈值50字节,则继续根据数据结构判断是否对原始传输数据进行压缩处理。
[0147]优选地(参照图8),第四判断子模块包括第一统计单元(图中未示出)和第一判断单元(图中未示出)。第一统计单元统计原始传输数据中具有相同的第一键的键值对的数量与原始传输数据中包括的键值对总数量的第一比例;当第一比例大于第一预定比例阈值,且第一键的字符数量大于第一预定字符数量阈值时,第一判断单元判断需要对原始传输数据进行压缩处理。
[0148]例如,第一预定数据大小阈值为50字节,第二预定数据大小阈值为20字节,第一预定比例阈值为40%,第一预定字符数量阈值为15,原始传输数据中出现频率最高的键为第二键;在包含多组键值对结构的原始传输数据“username: tracy ;age: 18 ;username: tom ;age:32 ; ”中,原始传输数据的数据大小为42字节,可判断确定原始传输数据的数据大小42字节大于第二预定数据大小阈值20字节且小于第一预定数据大小阈值50字节,随后统计原始传输数据中具有相同的第一键“username”的键值对的数量为2个,具有相同的第一键“username”的键值对的数量2除以原始传输数据中包括的键值对总数量4,计算得到第一比例为50 %,第一比例50 %大于第一预定比例阈值40 %,且在原始传输数据中第一键“username”的字符数量为16大于第一预定字符数量阈值15,判断需要对第一键“username”进行压缩处理;随后基于键压缩匹配列表中预定键压缩方式,对原始传输数据的Key部分为“username”的键值对中的“username”进行压缩处理,得到压缩后的Key部分为“username”的键值对中的“username”的对应的压缩键为“uid”;统计原始传输数据中具有相同的键“age”的键值对的数量为2个,具有相同的键“age”的键值对的数量2除以原始传输数据中包括的键值对总数量4得到的第一比例50%,则第一比例50%大于第一预定比例阈值40%,但键“age”的字符数量为4小于第一预定字符数量阈值15,因此不对原始传输数据的Key部分为“age”的键值对中的“age”进行压缩处理。
[0149]优选地(参照图8),第四判断子模块包括第二判断单元(图中未示出)、第二统计单元(图中未示出)和第三判断单元(图中未示出)。第二判断单元判断原始传输数据中具有最长字符长度的第二键的字符数量是否大于第二预定字符数量阈值;若判断第二键的字符数量大于第二预定字符数量阈值时,第二统计单元统计原始传输数据中全部第二键的字符数量占原始传输数据的总字符数量的第二比例;当第二比例大于第二预定比例阈值时,第三判断单元判断需要对原始传输数据进行压缩处理。
[0150]例如,第一预定数据大小阈值为50字节,第二预定数据大小阈值为20字节,第二预定字符数量阈值为2,第二预定比例阈值为20%,原始传输数据中具有最长字符长度的键为第二键;在包含多组键值对结构的原始传输数据中,原始传输数据的数据大小为42字节,可判断确定原始传输数据的数据大小42字节大于第二预定数据大小阈值20字节且小于第一预定数据大小阈值50字节,随后判断原始传输数据中具有最长字符长度的第二键“username”的字符数量为8大于第二预定字符数量阈值2,将原始数据中两个第二键“username”的字符数量16除以原始传输数据的总字符数量42得到第二比例38%,判断确定第二比例38%大于第二预定比例阈值20%,则判断需要对原始传输数据的Key部分为“username”的键值对中的“username”进行压缩处理,基于键压缩匹配列表中预定键压缩方式,压缩后得到Key部分为“username”的键值对中的“username”的对应的压缩键为“uid,,。
[0151]在一优选实施例中,如图9所示,该装置包括第一确定模块910、第三确定模块920、第一判断模块930、转换模块940和第一生成模块950。第一确定模块910对原始传输数据进行分析,确定包括原始传输数据的数据结构及数据大小的数据特征信息;第三确定模块920确定在预定时间段内原始传输数据中各个键值对中的键的历史出现频率;根据数据特征信息,并结合历史出现频率,第一判断模块930判断是否对原始传输数据进行压缩处理;当判断结果指示执行压缩处理时,基于键压缩匹配列表中预定键压缩方式,转换模块940对原始传输数据中原始键值对的键进行转换生成相应的压缩键;第一生成模块950基于压缩键生成包括相应的压缩键值对的压缩传输数据。
[0152]其中,本优选实施例中第一确定模块910、转换模块940和第一生成模块950执行的内容与图6所示的第一确定模块610、转换模块630和第一生成模块640执行的内容相同或相似,在此不再赘述。
[0153]例如,在包含多组键值对结构的原始传输数据中,包含如下格式键值对数据:“username:tracy ;age: 18 ;username:tom ;age:32 ; ”,根据数据库中的近一个月的历史记录,得到在近一个月的时间段内原始传输数据中各个键值对中Key键的历史出现频率如下'username”出现频率为一个月800次,“age”出现频率为一个月900次;根据图8的判断装置判断对原始传输数据的Key部分为“username”的键值对中的“username”进行压缩处理,不对原始传输数据的Key部分为“age”的键值对中的“age”进行压缩处理,由于“age”出现频率大于“username”出现的频率,则结合历史出现频率判断需要对原始传输数据的Key部分为“age”的键值对中的“age”进行压缩处理。
[0154]在一优选实施例中,第一生成模块还包括标识设置单元(图中未示出)和组合生成单元(图中未示出)。基于压缩键生成相应的压缩键值对,标识设置单元并设置相关联的压缩状态标识;组合生成单元将压缩键值对及相关联的压缩状态标识组合以生成压缩传输数据。
[0155]例如,基于原始传输数据生成相应的压缩键值对,设置相关联的压缩状态标识,可通过压缩标识如“IsCompressed”对压缩标识状态进行设置,当压缩状态为压缩时可设置为“IsCompressed = true ; ”,当压缩状态为不压缩时可设置为“IsCompressed = false ; ”,根据对原始传输数据的Key部分为“username”和“age”的键值对中的“username”和“age”进行压缩处理得到对应压缩键为“un”和“ag”,将压缩键值对及相关联的压缩状态标识组合以生成压缩传输数据“IsCompressed = true ;un:tracy ;ag: 18 ;un:tom ;ag:32 ; ”。
[0156]在一优选实施例中,该装置还包括第二生成模块(图中未示出)和发送模块(图中未示出)。第二生成模块基于键压缩匹配列表生成相应的键压缩字典文件;根据接收到的应用获取请求,发送模块将键压缩字典文件作为配置文件发送至请求方。
[0157]例如,基于预定的键压缩匹配列表生成相应的键压缩字典文件,文
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1