[发明专利]用于对基于字符串的文件进行压缩的方法和装置有效
申请号: | 201611263881.1 | 申请日: | 2016-12-30 |
公开(公告)号: | CN106649859B | 公开(公告)日: | 2019-10-29 |
发明(设计)人: | 董琦琦;陈劼;蒋强 | 申请(专利权)人: | 中国移动通信集团江苏有限公司;中国移动通信集团公司 |
主分类号: | G06F16/174 | 分类号: | G06F16/174;H03M7/30 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 彭琼 |
地址: | 210029 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 基于 字符串 文件 进行 压缩 方法 装置 | ||
本申请涉及对基于字符串的文件进行压缩的方法和装置,其中,该方法包括以下步骤:(a)将该文件切分成一个或多个数据块;(b)针对该一个或多个数据块的每个数据块,获得由该数据块中的所有初始字符串的坐标形成的压缩坐标集合;(c)对压缩坐标集合中的坐标进行压缩操作,得到经压缩的坐标集合,并用该经压缩的坐标集合中的所有坐标替换压缩坐标集合中受到压缩操作的所有坐标;(d)迭代进行步骤(c),直到压缩坐标集合中的坐标不能再进行压缩操作为止;(e)获得与该数据块对应的压缩字典;(f)根据压缩字典对数据块进行压缩,形成压缩包;(g)将与一个或多个数据块对应的各个压缩包拼装成压缩文件。
技术领域
本申请涉及数据压缩领域,更具体地,涉及用于对MongoDB数据库文件进行压缩的方法和装置。
背景技术
MongoDB基于BSON的数据存取方式由于具有很大的灵活性而受到越来越多软件开发者的喜欢,但更大灵活性的代价是需要更大的应用空间。BSON字段名在每个文档中被定义,在允许的情况下使用较短的字段名,但是太短的字段名,如单字母字段名或代码会使得字段名很难被理解和阅读,其数据也较难被使用。
发明内容
根据本申请的一个方面,提供了一种对基于字符串的文件进行压缩的方法,包括以下步骤:(a)将该文件切分成一个或多个数据块;(b)针对该一个或多个数据块的每个数据块,获得由该数据块中出现次数大于等于阈值的所有初始字符串在该数据块中出现的坐标形成的压缩坐标集合,其中坐标包括行坐标和列坐标;(c)对压缩坐标集合中具有相同行坐标且列坐标有交集的坐标进行压缩操作,得到经压缩的坐标集合,并用该经压缩的坐标集合中的所有坐标替换压缩坐标集合中受到压缩操作的所有坐标;(d)迭代进行步骤(c),直到压缩坐标集合中的坐标不能再进行压缩操作为止;(e)获得与压缩坐标集合中的各个坐标一一对应的字符串的集合,将在该集合中出现次数大于等于阈值的字符串录入压缩字典;(f)根据压缩字典对数据块进行压缩,形成压缩包;(g)将与一个或多个数据块对应的各个压缩包拼装成压缩文件。
根据本申请的另一方面,提供了一种对基于字符串的文件进行压缩的装置,该装置包括:分解模块,被配置为将数据库文件切分成一个或多个数据块;压缩坐标集合获得模块,被配置为针对一个或多个数据块的每个数据块,获得由该数据块中出现次数大于等于阈值的所有初始字符串在该数据块中出现的坐标形成的压缩坐标集合,其中坐标包括行坐标和列坐标;迭代模块,被配置为执行以下压缩替换操作:对压缩坐标集合中具有相同行坐标且列坐标有交集的坐标进行压缩操作,得到经压缩的坐标集合,并用该经压缩的坐标集合中的所有坐标替换压缩坐标集合中受到压缩操作的所有坐标;迭代模块还被配置为迭代地执行上述压缩替换操作,直到压缩坐标集合中的坐标不能再进行压缩操作为止;压缩字典获得模,被配置为获得与压缩坐标集合中的每个坐标一一对应的字符串的集合,将在该集合中出现次数大于等于阈值的字符串录入压缩字典;压缩模块,被配置为根据压缩字典对数据块进行压缩,形成压缩包;以及组装模块,被配置为将与一个或多个数据块对应的各个压缩包拼装成压缩文件。
根据本申请实施例的用于对基于字符串的文件进行压缩的方法将数据块中重复出现的字符串替换为较简单的编号,有利地减少了数据库文件所占用的存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出根据本发明的实施例的对MongoDB数据库文件进行压缩的方法的流程图。
图2示出根据本发明的实施例的数据块在坐标系中的示出。
图3示出根据本发明的实施例对数据块进行压缩的方法的流程图。
图4示出根据本发明的实施例的用于对MongoDB数据库文件进行压缩的装置的框图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团江苏有限公司;中国移动通信集团公司,未经中国移动通信集团江苏有限公司;中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611263881.1/2.html,转载请声明来源钻瓜专利网。