一种数据库的数据压缩方法和装置的制造方法_4

文档序号:9810549阅读:来源:国知局
字型字符串从低位开始,按照 两位一组进行分组,其中当所述数字型字符串的位数不是偶数位时,对最高位进行补零;根 据所述第一映射表,依次将每组中的二位数字字符替换为一位字符。
[0105] 在本发明的一种实施例中,当源数据为时间类型数据时,处理单元402,用于将所 述时间类型的数据转化为秒值;将所述时间类型的数据所在年份的1月1日作为基准值,将 所述基准值转化为基准秒值;将所述秒值减去所述基准秒值得到的秒值差作为所述时间类 型的数据的数字型字符串。
[0106] 由此可见,在本发明提供的技术方案中,通过设置的二维映射表,分别根据第一映 射表和第二映射表将存入的源数据的数据类型将源数据压缩后保存到Hbase中。解决了现 有的HBase NoSQL分布式数据库的rowkey的长度,会导致实际存储数据会有极大的膨胀的 问题。并且,在HBase NoSQL分布式数据库中大量存储着时间类型的数据,根据本发明的技 术方案,可以将时间类型的数据的位数有原来的14位缩短到4位,可以节省高达72%的存 储空间。并且由于缩短了时间类型的数据的位置,使得数据量变小,进而使得分布式处理时 所要经过网络交换的流量就会变小,从而能够提高数据处理的效率。
[0107] 以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围 内。
【主权项】
1. 一种数据库的数据压缩方法,其特征在于,该方法包括: 当有源数据要存入数据库中时,判断所述源数据的数据类型是否属于数字类型; 若所述源数据属于数字类型,将所述源数据转换成数字型字符串,根据第一映射表对 所述数字型字符串进行映射,得到缩位字符串;其中,所述第一映射表中保存有00~99十 进制的二位数字与一位字符的对应关系; 若所述源数据属于非数字类型,先根据第二映射表对非数字类型的源数据进行映射, 得到数字型字符串,然后再根据所述第一映射表对得到的所述数字型字符串进行映射,得 到缩位字符串;其中所述第二映射表中保存有非数字类型的数据与数字型字符串的一一对 应关系; 将得到的缩位字符串保存到数据库中。2. 根据权利要求1所述的方法,其特征在于,该方法还包括:设置映射二维表;所述映 射二维表中设置了源数据的数据类型以及所述数据类型对应的映射方式; 所述当有源数据要存入数据库中时,判断所述源数据的数据类型之后包括: 根据所述源数据的数据类型从所述映射二维表中获取对应的映射方式。3. 根据权利要求1所述的方法,其特征在于,所述根据第一映射表对所述数字型字符 串进行映射包括: 将数字型字符串从低位开始,按照两位一组进行分组,其中当所述数字型字符串的位 数不是偶数位时,对最高位进行补零; 根据所述第一映射表,依次将每组中的二位数字字符替换为一位字符。4. 根据权利要求1所述的方法,其特征在于,所述若所述源数据属于非数字类型,先根 据第二映射表对非数字类型的源数据进行映射,得到数字型字符串,然后再根据所述第一 映射表对得到的所述数字型字符串进行映射,得到缩位字符串包括: 根据所述第二映射表,将源数据转换为对应的数字型字符串; 将所述数字型字符串从低位开始,按照两位一组进行分组,其中当所述数字型字符串 的位数不是偶数位时,对最高位进行补零; 根据所述第一映射表,依次将每组中的二位数字字符替换为一位字符。5. 根据权利要求3所述的方法,其特征在于,若所述源数据为时间类型,所述将源数据 转换成数字型字符串包括: 将时间类型的源数据转化为秒值; 将所述时间类型的源数据所在年份的1月1日作为基准值,将所述基准值转化为基准 秒值; 将所述秒值减去所述基准秒值得到的秒值差作为所述时间类型的源数据的数字型字 符串。6. 根据权利要求2所述的方法,其特征在于,该方法还包括: 当从数据库中读取数据时,根据查询条件对应的数据类型,对所述查询条件进行对应 的映射,得到查询映射结果; 根据所述查询映射结果在所述数据库中进行匹配查询; 如果匹配,则将返回的数据进行相应的逆映射,将得到的源数据输出。7. -种数据库的数据压缩装置,其特征在于,该装置包括:输入输出单元、处理单元和 存储单元;其中,存储单元中保存有第一映射表和第二映射表,所述第一映射表中保存有 00~99十进制的二位数字与一位字符的对应关系;所述第二映射表中保存有非数字类型 的数据与数字型字符串的一一对应关系; 所述输入输出单元,用于接收输入的源数据,将所述源数据发送给处理单元; 所述处理单元,用于接收输入输出单元发送的源数据,判断所述源数据的数据类型是 否属于数字类型;若所述源数据属于数字类型,将所述源数据转换成数字型字符串后,根据 第一映射表对所述数字型字符串进行映射,得到缩位字符串;若所述源数据属于非数字类 型,先根据第二映射表对非数字类型的源数据进行映射,得到数字型字符串,然后再根据所 述第一映射表对得到的所述数字型字符串进行映射,得到缩位字符串;将得到的缩位字符 串保存到所述存储单元中。8. 根据权利要求7所述的装置,其特征在于,存储单元中还保存有映射二维表;所述映 射二维表中设置了源数据的数据类型以及所述数据类型对应的映射方式; 所述处理单元,用于根据源数据的数据类型从所述映射二维表中获取对应的映射方 式; 和/或,所述处理单元,用于从存储单元中读取数据时,根据查询条件对应的数据类 型,对所述查询条件进行对应的映射得到查询映射结果;根据所述查询映射结果在所述数 据库中进行匹配查询;如果匹配,则将返回的数据进行相应的逆映射,将得到的源数据发送 给输入输出单元。9. 根据权利要求7所述的装置,其特征在于, 所述处理单元,用于将数字型字符串从低位开始,按照两位一组进行分组,其中当所述 数字型字符串的位数不是偶数位时,对最高位进行补零;根据所述第一映射表,依次将每组 中的二位数字字符替换为一位字符; 和/或,所述处理单元,用于根据所述第二映射表,将源数据转换为对应的数字型字符 串;将所述数字型字符串从低位开始,按照两位一组进行分组,其中当所述数字型字符串的 位数不是偶数位时,对最高位进行补零;根据所述第一映射表,依次将每组中的二位数字字 符替换为一位字符。10. 根据权利要求9所述的装置,其特征在于, 所述处理单元,用于将时间类型的源数据转化为秒值;将所述时间类型的源数据所在 年份的1月1日作为基准值,将所述基准值转化为基准秒值;将所述秒值减去所述基准秒值 得到的秒值差作为所述时间类型的数据的数字型字符串。
【专利摘要】本发明公开了一种数据库的数据压缩方法和装置。该方法包括:当有源数据要存入数据库中时,判断源数据的数据类型是否属于数字类型;若源数据属于数字类型,将源数据转换成数字型字符串,根据第一映射表对数字型字符串进行映射,得到缩位字符串;其中,第一映射表中保存有00~99十进制的二位数字与一位字符的对应关系;若源数据属于非数字类型,先根据第二映射表对非数字类型的源数据进行映射,得到数字型字符串,然后再根据第一映射表对得到的数字型字符串进行映射,得到缩位字符串;将得到的缩位字符串保存到数据库中。本发明提供的技术方案能够解决现有的键值对形式存储的非关系型的数据库,由于数据冗余存在需要占用大量额外的内存的问题。
【IPC分类】G06F17/30
【公开号】CN105574021
【申请号】CN201410542357
【发明人】李忠浩, 王庆磊, 张国波
【申请人】北京神州泰岳软件股份有限公司
【公开日】2016年5月11日
【申请日】2014年10月14日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1