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

文档序号:9566865阅读:来源:国知局
对应的压缩键为“uid”;统计原始传输数据中具有相同的键“age”的键值对的数量为2个,具有相同的键“age”的键值对的数量2除以原始传输数据中包括的键值对总数量4得到的第一比例50%,则第一比例50%大于第一预定比例阈值40%,但键“age”的字符数量为4小于第一预定字符数量阈值15,因此不对原始传输数据的Key部分为“age”的键值对中的“age”进行压缩处理。
[0114]优选地(参照图3),步骤S324包括步骤S3243 (图中未示出)、步骤S3244(图中未示出)和步骤S3245(图中未示出)。步骤S3243:判断原始传输数据中具有最长字符长度的第二键的字符数量是否大于第二预定字符数量阈值;步骤S3244:若判断第二键的字符数量大于第二预定字符数量阈值时,统计原始传输数据中全部第二键的字符数量占原始传输数据的总字符数量的第二比例;步骤S3245:当第二比例大于第二预定比例阈值时,判断需要对原始传输数据进行压缩处理。
[0115]例如,第一预定数据大小阈值为50字节,第二预定数据大小阈值为20字节,第二预定字符数量阈值为2,第二预定比例阈值为20%,原始传输数据中具有最长字符长度的键为第二键;在包含多组键值对结构的原始传输数据中,原始传输数据的数据大小为42字节,可判断确定原始传输数据的数据大小42字节大于第二预定数据大小阈值20字节且小于第一预定数据大小阈值50字节,随后判断原始传输数据中具有最长字符长度的第二键“username”的字符数量为8大于第二预定字符数量阈值2,将原始数据中两个第二键“username”的字符数量16除以原始传输数据的总字符数量42得到第二比例38%,判断确定第二比例38%大于第二预定比例阈值20%,则判断需要对原始传输数据的Key部分为“username”的键值对中的“username”进行压缩处理,基于键压缩匹配列表中预定键压缩方式,压缩后得到Key部分为“username”的键值对中的“username”的对应的压缩键为“uid,,。
[0116]在一优选实施例中,如图4所示,该方法包括步骤S410、步骤S420、步骤S430、步骤S440和步骤S450。步骤S410:对原始传输数据进行分析,确定包括原始传输数据的数据结构及数据大小的数据特征信息;步骤S420:确定在预定时间段内原始传输数据中各个键值对中的键的历史出现频率;步骤S430:根据数据特征信息,并结合历史出现频率,判断是否对原始传输数据进行压缩处理;步骤S440:当判断结果指示执行压缩处理时,基于键压缩匹配列表中预定键压缩方式,对原始传输数据中原始键值对的键进行转换生成相应的压缩键;步骤S450:基于压缩键生成包括相应的压缩键值对的压缩传输数据。
[0117]其中,本优选实施例中步骤S410、步骤S440和步骤S450中执行的内容与图1所示的步骤S110、步骤S130和步骤S140中执行的内容相同或相似,在此不再赘述。
[0118]例如,在包含多组键值对结构的原始传输数据中,包含如下格式键值对数据:“username:tracy ;age: 18 ;username:tom ;age:32 ; ”,根据数据库中的近一个月的历史记录,得到在近一个月的时间段内原始传输数据中各个键值对中Key键的历史出现频率如下'username”出现频率为一个月800次,“age”出现频率为一个月900次;根据图3的判断方法判断对原始传输数据的Key部分为“username”的键值对中的“username”进行压缩处理,不对原始传输数据的Key部分为“age”的键值对中的“age”进行压缩处理,由于“age”出现频率大于“username”出现的频率,则结合历史出现频率判断需要对原始传输数据的Key部分为“age”的键值对中的“age”进行压缩处理。
[0119]在一优选实施例中,步骤S140还包括步骤S141(图中未示出)和步骤S142(图中未示出)。步骤S141:基于压缩键生成相应的压缩键值对,并设置相关联的压缩状态标识;步骤S142:将压缩键值对及相关联的压缩状态标识组合以生成压缩传输数据。
[0120]例如,基于原始传输数据生成相应的压缩键值对,设置相关联的压缩状态标识,可通过压缩标识如“IsCompressed”对压缩标识状态进行设置,当压缩状态为压缩时可设置为“IsCompressed = true ; ”,当压缩状态为不压缩时可设置为“IsCompressed = false ; ”,根据对原始传输数据的Key部分为“username”和“age”的键值对中的“username”和“age”进行压缩处理得到对应压缩键为“un”和“ag”,将压缩键值对及相关联的压缩状态标识组合以生成压缩传输数据“IsCompressed = true ;un:tracy ;ag: 18 ;un:tom ;ag:32 ; ”。
[0121]在一优选实施例中,该方法还包括步骤S150(图中未示出)和步骤S160(图中未示出)。步骤S150:基于键压缩匹配列表生成相应的键压缩字典文件;步骤S160:根据接收到的应用获取请求,将键压缩字典文件作为配置文件发送至请求方。
[0122]例如,基于预定的键压缩匹配列表生成相应的键压缩字典文件,文件名为CompFile,文件内容为“username:un ;age:ag ; ”,根据接收到的客户端应用获取请求,将键压缩字典文件CompFile作为配置文件发送至相应的请求方。
[0123]图5为本发明中一个实施例的数据解压的方法的流程示意图。
[0124]步骤S510:判断接收到的传输数据是否为压缩传输数据;步骤S520:当判断确定传输数据为压缩传输数据时,解析并提取压缩传输数据中的压缩键值对的压缩键;步骤S530:基于预配置的键压缩匹配列表中的预定键解压方式,对压缩键进行解压处理,以获取得到相应的原始键值对。
[0125]例如,终端设备中应用APP的客户端向服务器端发送获取APP相关的数据请求后,终端设备接收到服务器端返回的传输数据,当客户端的应用APP判断接收到的传输数据为压缩传输数据时,对压缩传输数据进行数据解析并提取压缩传输数据中的压缩键值对的压缩键,基于在客户端预配置的键压缩匹配列表中的预定键解压方式,对服务器端返回传输数据中的压缩键进行解压处理,以获取得到APP传输数据中压缩键值对相应的原始键值对。
[0126]在一优选实施例中,步骤S510还包括步骤S511(图中未示出)。步骤S511:判断传输数据中的键值对是否包括相关联的压缩状态标识。
[0127]其中,当判断确定传输数据为压缩传输数据时,步骤S520还包括步骤S521 (图中未示出)。步骤S521:当传输数据中的键值对包括相关联的压缩状态标识,则确定传输数据为压缩传输数据;以及提取压缩传输数据中与压缩状态标识相关的压缩键值对的压缩键。
[0128]例如,终端设备中应用APP的客户端向服务器端发送获取APP相关的数据请求后,终端设备接收到服务端返回的传输数据“IsCompressed = true ;un: tracy ;ag: 18 ;un:tom ;ag:32 ; ”,应用APP的客户端对传输数据进行解析,可得到传输数据中的键值对中包括相关联的压缩状态标识“IsCompressed”,可根据传输数据中的压缩状态标识“IsCompressed = true ; ”判断传输数据为压缩传输数据,随后提取压缩传输数据中与压缩状态标识相关的压缩键值对的压缩键得到“un ;ag ;un ;ag ; ”。
[0129]在一优选实施例中,该方法还包括步骤S531(图中未示出)和步骤S532(图中未示出)。步骤S531:接收配置文件,配置文件中包括键压缩字典文件;步骤S532:根据键压缩字典文件配置生成本地的键压缩匹配列表。
[0130]例如,应用APP的客户端接收到服务器端返回的配置文件中包括键压缩字典文件CompFile,内容为“username:un ;age:ag ; ”,根据键压缩字典文件CompFile中的数据配置生成本地的键压缩匹配列表,内容为“un:username ;ag:age ; ”;随后,基于生成的键压缩匹配列表中的预定键解压方式,对提取到的压缩键“un ;ag ;un ;ag ; ”进行解压处理,得到压缩键“un ;ag ;un ;ag ; ”的原始键为“username ;age ;username ;age ; ”,因此可得到相应的原始键值对为“ username: tracy ;age: 18 ;username: tom ;age: 32 ;,,0
[0131]图6为本发明中另一实施例的数据压缩的装置的结构示意图。
[0132]第一确定模块610对原始传输数据进行分析,确定包括原始传输数据的数据结构及数据大小的数据特征信息;根据数据特征信息,第一判断模块620判断是否对原始传输数据进行压缩处理;当判断结果指示执行压缩处理时,基于键压缩匹配列表中预定键压缩方式,转换模块630对原始传输数据中原始键值对的键进行转换生成相应的压缩键;第一生成模块640基于压缩键生成包括相应的压缩键值对的压缩传输数据。
[0133]本发明的实施例中,提出了一种数据压缩及解压的方案,在服务器端通过分析原始传输数据,判断是否对原始传输数据进行压缩处理,当判断结果指示执行压缩处理时,基于键压缩匹配列表中预定键压缩方式,对原始传输数据中原始键值对的键进行转换生成相应的压缩键,随后基于压缩键生成包括相应的压缩键值对的压缩传输数据;若传输数据通过网络方式进行传输时,通过对原始传输数据中原始键值对的键进行转换生成相应的压缩键,可在数据传输过程中节省网络带宽,避免了数据量过大时不可预期的数据丢失的情况,实现了数据的高效传输;同时,提高计算机数据处理的响应时间;在终端设备的客户端中,当判断接收到的传输数据为压缩传输数据时,解析并提取压缩传输数据中的压缩键值对的压缩键,随后基于预配置的键压缩匹配列表中的预定键解压方式,对压缩键进行解压处理,以获取得到相应的原始键值对,可准确快速地解压得到压缩键的原始值,实现了高效的获取传输数据,从而为后期高效处理接收到的传输数据提供了保障,提高了用户的体验。
[0134]本发明实施例中,传输数据中数据的数据结构以键值(Key-Value)结构为例。其中,键压缩字典文件中键压缩的内容如可以以26个大写和小写英文字符以及0至9的10个数字相结合进行表示,以此方式可以组成62个不同单字符的压缩键,3844个不同的两个字符的压缩键,238328个不同的三个字符的压缩键,完全能够满足现有应用中压缩键值结构中键的使用。
[0135]第一确定模块610对原始传输数据进行分析,确定包括原始传输数据的数据结构及数据大小的数据特征信息。
[0136]例如,在包含三组键值对结构的
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1