The invention relates to the method and apparatus for compressed string based file, the method comprises the following steps: (a) the file is divided into one or more data blocks; (b) for each block of the one or more data blocks, was formed by the coordinates of all the initial string in the block of data compression of the coordinate set; (c) to coordinate the coordinate set compression compression operation, get compressed coordinate set, and the coordinates of all compressed coordinate set for substitution in the compressed coordinates by all coordinate compression operation set; (d) iterative steps (c) not until the compression, coordinate coordinate set the compression operation so far; (E) to obtain the corresponding with the block of data compression dictionary; (f) according to the compression dictionary for data compression, compressed form; (g) and one or more Each compression packet corresponding to each data block is assembled into a compressed file.
【技术实现步骤摘要】
用于对基于字符串的文件进行压缩的方法和装置
本申请涉及数据压缩领域,更具体地,涉及用于对MongoDB数据库文件进行压缩的方法和装置。
技术介绍
MongoDB基于BSON的数据存取方式由于具有很大的灵活性而受到越来越多软件开发者的喜欢,但更大灵活性的代价是需要更大的应用空间。BSON字段名在每个文档中被定义,在允许的情况下使用较短的字段名,但是太短的字段名,如单字母字段名或代码会使得字段名很难被理解和阅读,其数据也较难被使用。
技术实现思路
根据本申请的一个方面,提供了一种对基于字符串的文件进行压缩的方法,包括以下步骤:(a)将该文件切分成一个或多个数据块;(b)针对该一个或多个数据块的每个数据块,获得由该数据块中出现次数大于等于阈值的所有初始字符串在该数据块中出现的坐标形成的压缩坐标集合,其中坐标包括行坐标和列坐标;(c)对压缩坐标集合中具有相同行坐标且列坐标有交集的坐标进行压缩操作,得到经压缩的坐标集合,并用该经压缩的坐标集合中的所有坐标替换压缩坐标集合中受到压缩操作的所有坐标;(d)迭代进行步骤(c),直到压缩坐标集合中的坐标不能再进行压缩操作为止;(e)获得与压缩坐标集合中的各个坐标一一对应的字符串的集合,将在该集合中出现次数大于等于阈值的字符串录入压缩字典;(f)根据压缩字典对数据块进行压缩,形成压缩包;(g)将与一个或多个数据块对应的各个压缩包拼装成压缩文件。根据本申请的另一方面,提供了一种对基于字符串的文件进行压缩的装置,该装置包括:分解模块,被配置为将数据库文件切分成一个或多个数据块;压缩坐标集合获得模块,被配置为针对一个或多个数据块的每个数 ...
【技术保护点】
一种对基于字符串的文件进行压缩的方法,包括:(a)将所述文件切分成一个或多个数据块;(b)针对所述一个或多个数据块的每个数据块,获得由该数据块中出现次数大于等于阈值的所有初始字符串在该数据块中出现的坐标形成的压缩坐标集合,其中坐标包括行坐标和列坐标;(c)对所述压缩坐标集合中具有相同的行坐标且列坐标有交集的坐标进行压缩操作,得到经压缩的坐标集合,并用该经压缩的坐标集合中的所有坐标替换所述压缩坐标集合中受到压缩操作的所有坐标;(d)迭代进行步骤(c),直到所述压缩坐标集合中的坐标不能再进行压缩操作为止;(e)获得与所述压缩坐标集合中的各个坐标一一对应的字符串的集合,将在该集合中出现次数大于等于所述阈值的字符串录入压缩字典;(f)根据所述压缩字典对所述数据块进行压缩,形成压缩包;(g)将与所述一个或多个数据块对应的各个压缩包拼装成压缩文件。
【技术特征摘要】
1.一种对基于字符串的文件进行压缩的方法,包括:(a)将所述文件切分成一个或多个数据块;(b)针对所述一个或多个数据块的每个数据块,获得由该数据块中出现次数大于等于阈值的所有初始字符串在该数据块中出现的坐标形成的压缩坐标集合,其中坐标包括行坐标和列坐标;(c)对所述压缩坐标集合中具有相同的行坐标且列坐标有交集的坐标进行压缩操作,得到经压缩的坐标集合,并用该经压缩的坐标集合中的所有坐标替换所述压缩坐标集合中受到压缩操作的所有坐标;(d)迭代进行步骤(c),直到所述压缩坐标集合中的坐标不能再进行压缩操作为止;(e)获得与所述压缩坐标集合中的各个坐标一一对应的字符串的集合,将在该集合中出现次数大于等于所述阈值的字符串录入压缩字典;(f)根据所述压缩字典对所述数据块进行压缩,形成压缩包;(g)将与所述一个或多个数据块对应的各个压缩包拼装成压缩文件。2.如权利要求1所述的方法,其中,所述阈值等于3.如权利要求1所述的方法,其中,所述阈值是预定数值。4.如权利要求1所述的方法,其中,所述初始字符串是字符数大于等于2的字符串。5.如权利要求1所述的方法,其特征在于,所述文件包括数据库文件,所述方法还包括根据所述数据库文件中的数据表的分类对所述数据库文件进行切分。6.如权利要求1所述的方法,其中,所述对数据块进行压缩还包括:对所述压缩字典中的字符串进行编号,并在所述数据块中用该编号来替代与该编号相对应的字符串。7.如权利要求6所述的方法,所述压缩操作还包括从所述压缩字典中删除字符串字节长度小于所对应的编号的字节长度的字符串。8.一种对基于字符串的文件进行压缩的装置,包括:分解模块,被配...
【专利技术属性】
技术研发人员:董琦琦,陈劼,蒋强,
申请(专利权)人:中国移动通信集团江苏有限公司,中国移动通信集团公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。