CN111506781A - 一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质 - Google Patents
一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质 Download PDFInfo
- Publication number
- CN111506781A CN111506781A CN202010318025.1A CN202010318025A CN111506781A CN 111506781 A CN111506781 A CN 111506781A CN 202010318025 A CN202010318025 A CN 202010318025A CN 111506781 A CN111506781 A CN 111506781A
- Authority
- CN
- China
- Prior art keywords
- database
- word frequency
- volume
- optimal tree
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质,包括以下步骤:S1.遍历所有树,提取所有节点名称和叶子节点的值;S2.对节点名称出现的频次进行统计,得到词频表;S3.词频表按词频由高到低排序;S4.根据降序排列的词频表创建最优树;S5.保存词频表、最优树和所有节点的最优树路径。本发明通过对原始数据中重复出现的节点名称字段进行排序,按照排序后的词频表建立最优树,将原始数据采用最优树结构存入数据库,并将词频表存入数据库,实现大幅压缩数据库体积。本发明与现有技术相比优点在于采用最优编码,将节点名称字段按照出现的频次采用降序排列,能够最大限度地缩小整个数据库的体积。
Description
技术领域
本发明涉及领域,主要涉及一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质。
背景技术
嵌入式软件产品中,由于成本限制,存储空间有限,同时对软件性能又有较高要求,所以既需要使用数据库来保证数据的读写性能,又需要数据库所占空间尽量少。因此需要一种兼顾软件执行效率与节省存储空间的压缩数据库体积的方法。
传统数据库在存储数据的时候,如果为保证效率,不使用压缩技术对原始数据进行处理,那么在数据量大的时候,数据库的空间占用会比较高;如果为节省空间,使用一些数据压缩技术将原始数据压缩后再进行存储,纵使可以缩减数据的空间占用,但由于压缩技术本身的处理过程比较耗时耗力,致使数据库在整体效率方面大打折扣。
目前方法存在的问题:将树型结构的数据导入到数据库时,数据库体积和读写性能之间无法兼顾。
发明内容
本发明的目的在于,针对上述问题,提出一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质。
本发明的发明目的是通过以下技术方案来实现的:一种大幅压缩数据库体积的方法,包括以下步骤:
S1:遍历所有树,提取所有节点名称和叶子节点的值;
S2:对节点名称出现的频次进行统计,得到词频表;
S3:词频表按词频由高到低排序;
S4:根据降序排列的词频表创建最优树;
S5:保存词频表、最优树和所有节点的最优树路径。
其中,所述的步骤S3,具体为通过每个节点名称出现的词频由高到低排序,再对每个节点名称进行编码。
一种大幅压缩数据库体积的***,包括:
压缩模块,通过对节点名称排序、编码、创建最优树,对数据进行压缩;其中,所述的压缩模块还包括,
统计模块,通过节点名称出现的词频进行统计,并根据词频由高到低进行排序;
编码模块,通过统计模块对词频的排序,对节点名称进行编码,并创建最优树。
其中,所述的***还包括采集模块和存储模块,所述的采集模块采集原始数据,并将数据通过遍历,提取节点名称;所述的存储模块,将压缩模块中的压缩数据保存至数据库中;所述的压缩数据,包括编码模块中的词频表、最优树与所有节点的最优树路径。
一种大幅压缩数据库体积的终端设备,所述的终端设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的一种大幅压缩数据库体积的方法。
一种大幅压缩数据库体积的计算机可读存储介质,所述计算机可读存储介质上存储有指令,该指令被处理器执行时实现上述的一种大幅压缩数据库体积的方法。
本发明的有益效果:
(1)解决了树形结构数据在导入数据库时空间占用过大的问题;
(2)由于没有采用对性能影响较大的压缩技术,而是采用最优编码对数据进行映射关系拷贝式的压缩处理,实现有益效果(1)的同时还保证了数据库的读写效率;
(3)方法简易,研发和生产成本低,便于开发实现和规模化生产。
附图说明
图1是本发明的方法流程图。
具体实施方式
为了对发明的技术特征、目的和效果有更加清楚的理解,先对照附图说明本发明的具体实施方式。
如图1所示,一种大幅压缩数据库体积的方法,包括以下步骤:
S1:遍历所有树,提取所有节点名称和叶子节点的值;
S2:对节点名称出现的频次进行统计,得到词频表;
S3:词频表按词频由高到低排序;
S4:根据降序排列的词频表创建最优树;
S5:保存词频表、最优树和所有节点的最优树路径。
其中,所述的步骤S3,具体为通过每个节点名称出现的词频由高到低排序,再对每个节点名称进行编码。
一种大幅压缩数据库体积的***,包括:
压缩模块,通过对节点名称排序、编码、创建最优树,对数据进行压缩;其中,所述的压缩模块还包括,
统计模块,通过节点名称出现的词频进行统计,并根据词频由高到低进行排序;
编码模块,通过统计模块对词频的排序,对节点名称进行编码,并创建最优树。
其中,所述的***还包括采集模块和存储模块,所述的采集模块采集原始数据,并将数据通过遍历,提取节点名称;所述的存储模块,将压缩模块中的压缩数据保存至数据库中;所述的压缩数据,包括编码模块中的词频表、最优树与所有节点的最优树路径。
一种大幅压缩数据库体积的终端设备,所述的终端设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述的一种大幅压缩数据库体积的方法。
一种大幅压缩数据库体积的计算机可读存储介质,所述计算机可读存储介质上存储有指令,该指令被处理器执行时实现上述的一种大幅压缩数据库体积的方法。具体方法原理如下:
实施例1为一个深度很深树型结构体,记录类似如下结构:
Aaa/Bbb/Ccc=5
Aaa/Bbb/Ccc/Ddd/Eee=1
Aaa/Bbb/Ccc/Ddd/Eee/Fff=string
…
如果Aaa、Bbb等字段都是比较长的英文单词,尝试将Aaa、Bbb等字段做如下处理:
1.扫描原始数据,把Aaa、Bbb等节点名称的字段全部提取;
2.按照每个节点名称出现的词频由高到低排序;
3.排序之后,进行编码。例如:Aaa是最高频,Bbb次之,以此类推,如表1:
表1词频排序编码表1
4.通过词频排序编码表构建最优树,创建最优树结构表,如表2:
节点字段 | 值 |
0/1/2 | 5 |
0/1/2/3/4 | 1 |
0/1/2/3/4/5 | string |
… | … |
表2最优树结构表1
5.根据词频排序编码表和最优树结构表创建sql文件,并将创建的sql文件导入至数据库中。
实施例2为一种xml格式的数据,如下:
1.扫描原始数据,把FAP、PerfMgmt等节点名称的字段全部提取;
2.按照每个节点名称出现的词频由高到低排序;
3.排序之后,进行编码,当节点名称频次相同时,对每个节点名称设定不同的编码即可,排序的先后顺序不影响最优树的构建。例如:FAP是最高频,PerfMgmt、Config、ConfigNumberOfEntity…次之,以此类推,如表3:
节点名称 | 编码 |
FAP | 0 |
PerMgmt | 1 |
Config | 2 |
ConfigNumberOfEntity | 3 |
… | … |
表3 词频排序编码表2
4.通过词频排序编码表构建最优树,创建最优树结构表,如表4:
节点字段 | 值 |
0/1/3 | 1 |
0/1/2/4 | http://1.1.1.1 |
0/1/2/5 | abc |
… | … |
表4最优树结构表2
5.根据词频排序编码表和最优树结构表创建sql文件,并将创建的sql文件导入至数据库中。
以上内容描述了本发明的基本原理、主要特征和相对于传统技术方案的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制。上述实施例和说明书中的描述只是对本发明原理的说明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,而这些变化和改进均包含在本申请的权利要求所限定的范围中。本发明要求的保护范围由所附的权利要求书及其等效物界定。
Claims (7)
1.一种大幅压缩数据库体积的方法,其特征在于,包括以下步骤:
S1. 遍历所有树,提取所有节点名称和叶子节点的值;
S2. 对节点名称出现的频次进行统计,得到词频表;
S3. 词频表按词频由高到低排序;
S4. 根据降序排列的词频表创建最优树;
S5. 保存词频表、最优树和所有节点的最优树路径。
2.根据权利要求1所述的一种大幅压缩数据库体积的方法,其特征在于,所述的步骤S3,具体为通过对每个节点名称出现的频次按词频由高到低排序,再对每个节点名称进行编码。
3.一种大幅压缩数据库体积的***,其特征在于,包括:
压缩模块,通过对节点名称排序、编码、创建最优树,对数据进行压缩;其中,所述的压缩模块还包括,
统计模块,通过节点名称出现的词频进行统计,并根据词频由高到低进行排序;
编码模块,通过统计模块对词频的排序,对节点名称进行编码,并创建最优树。
4.根据权利要求3所述的一种大幅压缩数据库体积的***,其特征在于,还包括采集模块和存储模块,所述的采集模块采集原始数据,并通过遍历,提取数据节点名称;所述的存储模块,将压缩模块中的压缩数据保存至数据库中。
5.根据权利要求4所述的一种大幅压缩数据库体积的***,其特征在于,所述的压缩数据,包括编码模块中的词频表、最优树与所有节点的最优树路径。
6.一种大幅压缩数据库体积的终端设备,其特征在于,所述的终端设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-2中任一所述的一种大幅压缩数据库体积的方法。
7.一种大幅压缩数据库体积的计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,该指令被处理器执行时实现如权利要求1-2任一所述的一种大幅压缩数据库体积的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010318025.1A CN111506781A (zh) | 2020-04-21 | 2020-04-21 | 一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010318025.1A CN111506781A (zh) | 2020-04-21 | 2020-04-21 | 一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111506781A true CN111506781A (zh) | 2020-08-07 |
Family
ID=71869773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010318025.1A Pending CN111506781A (zh) | 2020-04-21 | 2020-04-21 | 一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506781A (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520771A (zh) * | 2009-03-27 | 2009-09-02 | 广东国笔科技股份有限公司 | 一种对词库压缩编码及解码的方法和*** |
CN102572428A (zh) * | 2011-12-28 | 2012-07-11 | 南京邮电大学 | 面向多媒体传感网分布式编解码的边信息估计方法 |
CN104240747A (zh) * | 2013-06-07 | 2014-12-24 | 炬力集成电路设计有限公司 | 一种多媒体数据获取的方法及装置 |
CN104283567A (zh) * | 2013-07-02 | 2015-01-14 | 北京四维图新科技股份有限公司 | 一种名称数据的压缩、解压缩方法及设备 |
CN104283568A (zh) * | 2013-07-12 | 2015-01-14 | 中国科学院声学研究所 | 一种基于部分霍夫曼树的数据压缩编码方法 |
CN106067824A (zh) * | 2016-06-02 | 2016-11-02 | 洛阳晶云信息科技有限公司 | 一种基于二联密码子的测序数据压缩方法 |
CN106202172A (zh) * | 2016-06-24 | 2016-12-07 | 中国农业银行股份有限公司 | 文本压缩方法及装置 |
CN109491727A (zh) * | 2018-10-16 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 对象序列化方法、终端设备及计算机可读存储介质 |
CN109558128A (zh) * | 2018-10-25 | 2019-04-02 | 平安科技(深圳)有限公司 | json数据解析方法、装置及计算机可读存储介质 |
CN109831544A (zh) * | 2019-01-30 | 2019-05-31 | 重庆农村商业银行股份有限公司 | 一种应用于电子邮箱地址的编码存储方法及*** |
CN109995377A (zh) * | 2017-12-29 | 2019-07-09 | 烟台正展信息技术有限公司 | 一种基于霍夫曼编码的改进心电数据压缩算法 |
-
2020
- 2020-04-21 CN CN202010318025.1A patent/CN111506781A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101520771A (zh) * | 2009-03-27 | 2009-09-02 | 广东国笔科技股份有限公司 | 一种对词库压缩编码及解码的方法和*** |
CN102572428A (zh) * | 2011-12-28 | 2012-07-11 | 南京邮电大学 | 面向多媒体传感网分布式编解码的边信息估计方法 |
CN104240747A (zh) * | 2013-06-07 | 2014-12-24 | 炬力集成电路设计有限公司 | 一种多媒体数据获取的方法及装置 |
CN104283567A (zh) * | 2013-07-02 | 2015-01-14 | 北京四维图新科技股份有限公司 | 一种名称数据的压缩、解压缩方法及设备 |
CN104283568A (zh) * | 2013-07-12 | 2015-01-14 | 中国科学院声学研究所 | 一种基于部分霍夫曼树的数据压缩编码方法 |
CN106067824A (zh) * | 2016-06-02 | 2016-11-02 | 洛阳晶云信息科技有限公司 | 一种基于二联密码子的测序数据压缩方法 |
CN106202172A (zh) * | 2016-06-24 | 2016-12-07 | 中国农业银行股份有限公司 | 文本压缩方法及装置 |
CN109995377A (zh) * | 2017-12-29 | 2019-07-09 | 烟台正展信息技术有限公司 | 一种基于霍夫曼编码的改进心电数据压缩算法 |
CN109491727A (zh) * | 2018-10-16 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 对象序列化方法、终端设备及计算机可读存储介质 |
CN109558128A (zh) * | 2018-10-25 | 2019-04-02 | 平安科技(深圳)有限公司 | json数据解析方法、装置及计算机可读存储介质 |
CN109831544A (zh) * | 2019-01-30 | 2019-05-31 | 重庆农村商业银行股份有限公司 | 一种应用于电子邮箱地址的编码存储方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111046630B (zh) | 一种json数据的语法树提取方法 | |
KR100614677B1 (ko) | 구조화된 문서를 압축/복원하기 위한 방법 | |
CN104283567A (zh) | 一种名称数据的压缩、解压缩方法及设备 | |
CN105144157B (zh) | 用于压缩数据库中的数据的***和方法 | |
CN101783788A (zh) | 文件压缩、解压缩方法、装置及压缩文件搜索方法、装置 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN104360865A (zh) | 一种序列化方法、反序列化方法及相关设备 | |
CA2448787A1 (en) | Method and computer-readable medium for importing and exporting hierarchically structured data | |
CN105005600A (zh) | 一种访问日志中url的预处理方法 | |
WO2017036348A1 (zh) | 一种可扩展标记语言xml文档的压缩、解压方法和装置 | |
CN105404472A (zh) | 一种压缩日志时间数据的存储空间的方法及装置 | |
CN117216023B (zh) | 一种大规模网络数据存储方法及*** | |
CN116089663A (zh) | 一种规则表达式匹配方法、装置及计算机可读存储介质 | |
CN114443656A (zh) | 一种可定制的自动化数据模型分析工具及其使用方法 | |
CN114385146A (zh) | 一种简约的对象传输序列化方法及装置 | |
CN111506781A (zh) | 一种大幅压缩数据库体积的方法、***、终端设备和可读存储介质 | |
CN110825744B (zh) | 一种基于集群环境的空气质量监测大数据分区存储方法 | |
CN109831544B (zh) | 一种应用于电子邮箱地址的编码存储方法及*** | |
CN110059303B (zh) | Excel文件转换为JSON文件的方法及装置 | |
CN103020189A (zh) | 数据处理装置和数据处理方法 | |
CN115640420A (zh) | 基于es的音频信息索引库建立检索方法、设备及存储介质 | |
CN110569243B (zh) | 一种数据查询方法、数据查询插件和数据查询服务器 | |
JP2007148751A (ja) | 構造化文書の符号化方法、符号化装置、符号化プログラム、復号装置及び符号化された構造化文書のデータ構造 | |
CN113780467A (zh) | 模型训练方法、装置、计算机设备及存储介质 | |
CN113407505A (zh) | 一种安全日志要素处理方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200807 |