CN115905168B - 基于数据库的自适应压缩方法和装置、设备、存储介质 - Google Patents
基于数据库的自适应压缩方法和装置、设备、存储介质 Download PDFInfo
- Publication number
- CN115905168B CN115905168B CN202211424119.2A CN202211424119A CN115905168B CN 115905168 B CN115905168 B CN 115905168B CN 202211424119 A CN202211424119 A CN 202211424119A CN 115905168 B CN115905168 B CN 115905168B
- Authority
- CN
- China
- Prior art keywords
- state
- page
- compression
- identified
- access
- 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.)
- Active
Links
- 238000007906 compression Methods 0.000 title claims abstract description 272
- 230000006835 compression Effects 0.000 title claims abstract description 272
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013144 data compression Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000005070 sampling Methods 0.000 claims description 43
- 230000003044 adaptive effect Effects 0.000 claims description 36
- 238000013507 mapping Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 12
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 description 10
- 239000002699 waste material Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006837 decompression Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种基于数据库的自适应压缩方法和装置、设备、存储介质,属于计算机技术领域。该方法包括:获取待识别页面的访问频率信息;根据待识别页面在预设的元数据文件中进行文件划分处理,得到待识别页面的状态数据文件,状态数据文件用于存储待识别页面的初始访问状态和页面压缩状态;根据冷温热状态阈值对访问频率信息进行状态划分确定目标访问状态,并根据目标访问状态更新初始访问状态;根据目标访问状态和算法库确定待识别页面的目标压缩算法;对页面压缩状态进行压缩状态判断,得到判断结果;根据判断结果和目标压缩算法对待识别页面进行数据压缩。本申请实施例能够同时平衡数据库的性能和压缩率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于数据库的自适应压缩方法和装置、设备、存储介质。
背景技术
目前,在数据库中对数据的压缩是使用较小的数据存储空间以节约存储成本,并减少磁盘IO量,提升缓存命中率,从而提升数据库的性能。现有的数据库压缩技术方案包括:(1)页面级压缩方案:在创建表的时候指定现有的压缩算法,以page为粒度进行压缩和解压,该技术方案对数据库中的所有数据采用相同的压缩算法,且即使只读写一行数据,也需要压缩和解压整个page,压缩效率较低且产生较多资源浪费;(2)行级压缩方案:以page为单位创建字典,由该字典对page内的每一行数据采用相同的压缩算法进行压缩和解压,且字典存储于page内部,该技术方案是以行为压缩解压粒度,能有效利用cpu资源,但该方案压缩效率较低;(3)分层压缩方案:该方案主要应用于日志结构合并树(Log-StructuredMerge-Tree,LSM树),可以为不同层的page可以配置不同压缩算法,且可以支持多种成熟压缩算法,但该技术方案主要是按照数据天然的分层来实现多种压缩算法的组合,且该方案仅能够适用于LSM树,从而不能达到对压缩率和资源利用率的要求。此外,现有的压缩算法是通过扫描磁盘上的所有数据对page进行压缩,该方法需要占用较多的磁盘IO带宽,且无效的磁盘扫描会降低数据压缩性能。因此,如何同时提高数据库的性能和压缩率,成为了亟待解决的技术问题。
发明内容
本申请实施例的主要目的在于提出了一种基于数据库的自适应压缩方法和装置、设备、存储介质,能够同时提高据库的性能和压缩率。
为实现上述目的,本申请实施例的第一方面提出了一种基于数据库的自适应压缩方法,所述方法包括:
获取待识别页面的访问频率信息;
根据所述待识别页面在预设的元数据文件中进行文件划分处理,得到所述待识别页面的状态数据文件,所述状态数据文件用于存储所述待识别页面的初始访问状态和页面压缩状态;
根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定所述待识别页面的目标访问状态,并根据所述目标访问状态更新所述状态数据文件的所述初始访问状态;
根据所述目标访问状态和预设的算法库确定所述待识别页面的目标压缩算法;
对所述页面压缩状态进行压缩状态判断,得到判断结果;
根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩。
在一些实施例中,所述目标访问状态包括热页面状态、温页面状态和冷页面状态,在所述根据所述目标访问状态和预设的算法库确定所述待识别页面的目标压缩算法之前,所述方法还包括:构建所述算法库,具体包括:
获取预设的第一算法、第二算法、第三算法;
将所述第一算法与所述热页面状态进行匹配处理,得到第一映射关系;
将所述第二算法与所述温页面状态进行匹配处理,得到第二映射关系;
将所述第三算法与所述冷页面状态进行匹配处理,得到第三映射关系;
根据所述第一映射关系、所述第二映射关系和所述第三映射关系构建所述算法库。
在一些实施例中,所述根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定所述待识别页面的目标访问状态,并根据所述目标访问状态更新所述状态数据文件的所述初始访问状态,包括:
获取所述待识别页面的当前日期,并根据所述当前日期确定第一日期区间、第二日期区间和第三日期区间;
根据所述第一日期区间构建第一数组模板;
根据所述第二日期区间构建第二数组模板;
根据所述第三日期区间构建第三数组模板;
根据所述第二数组模板、所述第二数组模板和所述第三数组模板构建访问频率统计模板集;
将所述访问频率信息填入所述访问频率统计模板集,得到访问频率统计结果;
根据所述冷温热状态阈值对所述访问频率统计结果进行状态划分,确定所述待识别页面的目标访问状态,并根据所述目标访问状态更新所述状态数据文件的所述初始访问状态。
在一些实施例中,所述冷温热状态阈值包括热状态阈值、温状态阈值和冷状态阈值,所述根据预设的冷温热状态阈值对所述访问频率统计结果进行状态划分,确定所述待识别页面的目标访问状态,包括:
当所述访问频率统计结果大于或等于所述热状态阈值,确定所述待识别页面的目标访问状态为热页面状态;
当所述访问频率统计结果小于所述热状态阈值,且所述访问频率统计结果大于或等于所述温状态阈值,确定所述目标访问状态为温页面状态;
当所述访问频率统计结果小于所述温状态阈值且小于所述冷状态阈值,确定所述目标访问状态为冷页面状态。
在一些实施例中,所述访问频率信息包括第一频率信息、第二频率信息、第三频率信息,所述将所述访问频率信息填入所述访问频率统计模板集,得到访问频率统计结果,包括:
将所述第一频率信息填入所述第一数组模板,得到第一频率数组;其中,所述第一频率信息用于表征在预设的第一采样间隔内执行访问操作的次数;
将所述第二频率信息填入所述第二数组模板,得到第二频率数组;其中,所述第二频率信息用于表征在预设的第二采样间隔内执行访问操作的次数,所述第一采样间隔小于所述第二采样间隔;
将所述第三频率信息填入所述第三数组模板,得到第三频率数组;其中,所述第三频率信息用于表征在预设的第三采样间隔内执行访问操作的次数,所述第二采样间隔小于所述第三采样间隔;
分别对所述第一频率数组、所述第二频率数组和所述第三频率数组进行频率统计,得到访问频率统计结果。
在一些实施例中,在所述根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩之后,所述方法还包括:
响应于对所述待识别页面进行的访问操作,更新所述访问频率信息;
根据更新后的所述访问频率信息重新执行所述根据预设的冷温热状态阈值对访问频率信息进行状态划分。
在一些实施例中,所述根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩,包括:
获取所述待识别页面的当前压缩算法;
对所述当前压缩算法和所述目标压缩算法进行算法比较,得到比较结果;
若所述判断结果表示所述页面压缩状态为已压缩状态,且所述比较结果表示所述当前压缩算法和所述目标压缩算法不相同,对所述待识别页面进行解压缩处理,得到候选页面;
根据所述目标压缩算法对所述候选页面进行数据压缩。
为实现上述目的,本申请实施例的第二方面提出了一种基于数据库的自适应压缩装置,所述装置包括:
频率信息获取模块,用于获取待识别页面的访问频率信息;
文件划分模块,用于根据所述待识别页面在预设的元数据文件中进行文件划分处理,得到所述待识别页面的状态数据文件,所述状态数据文件用于存储所述待识别页面的初始访问状态和页面压缩状态;
状态划分模块,用于根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定所述待识别页面的目标访问状态,并根据所述目标访问状态更新所述状态数据文件的所述初始访问状态;
算法确定模块,用于根据所述目标访问状态和预设的算法库确定所述待识别页面的目标压缩算法;
压缩判断模块,用于对所述页面压缩状态进行压缩状态判断,得到判断结果;
数据压缩模块,用于根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩。
为实现上述目的,本申请实施例的第三方面提出了一种计算机设备,包括:
至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述至少一个计算机程序被存储在所述至少一个存储器中,所述至少一个处理器执行所述至少一个计算机程序以实现上述第一方面所述的基于数据库的自适应压缩方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行上述第一方面所述的基于数据库的自适应压缩方法。
本申请实施例提出的一种基于数据库的自适应压缩方法和装置、计算机设备、存储介质,为了实现在数据库的压缩率和性能的自适应平衡,首先,获取待识别页面的访问频率信息,并根据待识别页面在预设的元数据文件中进行文件划分处理,得到待识别页面的状态数据文件,状态数据文件用于存储待识别页面的初始访问状态和页面压缩状态。然后根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定待识别页面的目标访问状态,并根据目标访问状态更新状态数据文件的初始访问状态。为了在减少性能损耗的同时,提高数据库的压缩率,根据目标访问状态和预设的算法库确定待识别页面的目标压缩算法。之后,对页面压缩状态进行压缩状态判断,得到判断结果;根据判断结果和目标压缩算法对待识别页面进行数据压缩。本申请实施例能够避免现有技术无效的磁盘扫描对性能的影响,能够同时提高据库的性能和压缩率。
附图说明
图1是本申请实施例提供的基于数据库的自适应压缩方法的第一流程图;
图2是本申请实施例提供的基于数据库的自适应压缩方法的第二流程图;
图3是图1中的步骤S130的流程图;
图4是图3中的步骤S360的流程图;
图5是本申请实施例提供的第一数组模板的结构示意图;
图6是本申请实施例提供的第二数组模板的结构示意图;
图7是本申请实施例提供的第三数组模板的结构示意图;
图8是本申请实施例提供的冷温热页面状态的状态转换示意图;
图9是本申请实施例提供的基于数据库的自适应压缩方法的第三流程图;
图10是图1中的步骤S160的流程图;
图11是本申请实施例提供的基于数据库的自适应压缩装置的结构示意图;
图12是本申请实施例提供的计算机设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
页(page):是指存储管理部分软件处理的最基本数据单元,即指磁盘空间管理器支持处理外存时的最小数据处理单位。
目前,在数据库中对数据的压缩的好处包括:(1)使用较小的数据存储空间以节约存储成本;(2)减少磁盘IO量,即在很多业务场景中,数据库的性能瓶颈都在磁盘IO上,如果将IO原始的未压缩数据变为IO压缩数据,能够极大的减少IO量,从而减少性能瓶颈的发生,来提升数据库性能;(3)提升缓存命中率,由于服务器存储硬件配置已经相当高,但内存始终是有限制的,即不可能将所有用户数据都缓存在内存中,然而如果将缓存中的数据也变为压缩数据,则可以有效提供缓存命中率,从而提升数据库的性能。
现有的数据库压缩方案包括:
(1)页面级压缩方案:该方案主要采用以MySQL和openGauss为代表的压缩算法,且以page为单位,通过在创建表的时候指定现有的压缩算法,即在读盘和写盘时通过zstd、lz4、snappy等现有的压缩算法进行压缩。具体地,在写盘时,先通过压缩算法对page进行压缩,再将压缩后的page持久化在磁盘上;在读盘的时候,先从磁盘上读取page,然后对page进行解压。然而,该方案对数据库中的所有数据使用相同的压缩算法,并未识别page的冷热,且即使只读写一行数据,也需要压缩和解压整个page,同时在缓存中存储的是非压缩数据,缓存命中率不高,从而导致压缩效率较低且产生较多的内存资源浪费。
(2)行级压缩方案:该方案主要采用以Oracle和DB2为代表的行级压缩算法,以page为单位创建字典,由该字典对page内的每一行数据进行压缩和解压,且字典存储于page内部。该技术方案是以行为压缩解压粒度,能有效利用cpu资源,能够避免冗余的压缩和解压对资源的浪费,且缓存中缓存的是压缩后的page,能有效利用缓存,但由于该方案的所有page都采用相同的压缩算法,并未对page的访问热度进行区分,从而导致压缩效率较低。
(3)分层压缩方案:该方案主要采用以levelDB或RocksDB为代表的压缩算法,即主要应用于日志结构合并树(Log-Structured Merge-Tree,LSM树),可以为不同层的page可以配置不同压缩算法,且可以支持多种成熟压缩算法,但该技术方案主要是按照数据天然的分层来实现多种压缩算法的组合,且没有考虑数据的访问频率,此外,该技术方案仅仅适用于LSM树,而不适用于B树、B+树等数据结构,从而不能达到对压缩率和资源利用率的要求。此外,现有的压缩算法是通过扫描磁盘上的所有数据对page进行压缩,该方法需要占用较多的磁盘IO带宽,且无效的磁盘扫描会降低数据压缩性能。因此,如何同时保证数据库的性能和压缩率,成为了亟待解决的技术问题。
基于此,本申请实施例提供了一种基于数据库的自适应压缩方法和装置、设备、存储介质,能够平衡数据库的性能和压缩率。
本申请实施例提供的基于数据库的自适应压缩方法和装置、设备、存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的一种基于数据库的自适应压缩方法。
本申请实施例提供的基于数据库的自适应压缩方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现基于数据库的自适应压缩方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络个人计算机(Personal Computer,PC)、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
请参阅图1,图1是本申请实施例提供的基于数据库的自适应压缩方法的一个可选的流程图,图1中的方法可以具体包括但不限于步骤S110至步骤S160,下面结合图1对这六个步骤进行详细介绍。
步骤S110,获取待识别页面的访问频率信息;
步骤S120,根据待识别页面在预设的元数据文件中进行文件划分处理,得到待识别页面的状态数据文件,状态数据文件用于存储待识别页面的初始访问状态和页面压缩状态;
步骤S130,根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定待识别页面的目标访问状态,并根据目标访问状态更新状态数据文件的初始访问状态;
步骤S140,根据目标访问状态和预设的算法库确定待识别页面的目标压缩算法;
步骤S150,对页面压缩状态进行压缩状态判断,得到判断结果;
步骤S160,根据判断结果和目标压缩算法对待识别页面进行数据压缩。
可以理解的是,为了同时保证数据库的性能和压缩率,本申请实施例通过访问频率信息对待识别页面进行统计,判断待识别页面冷温热状态,从而对不同热度状态的页面采用不同的压缩算法,以平衡压缩率和数据库整体性能,并平衡CPU内存资源消耗和压缩。其中,待识别页面的存储单位可以为page或块(block)。具体地,首先,获取待识别页面的访问频率信息,并根据待识别页面在预设的元数据文件中进行文件划分处理,得到待识别页面的状态数据文件,状态数据文件用于存储待识别页面的初始访问状态和页面压缩状态。然后根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定待识别页面的目标访问状态,并根据目标访问状态更新状态数据文件的初始访问状态。为了在减少性能损耗的同时,提高数据库的压缩率,根据目标访问状态和预设的算法库确定待识别页面的目标压缩算法。之后,对页面压缩状态进行压缩状态判断,得到判断结果;根据判断结果和目标压缩算法对待识别页面进行数据压缩。本申请实施例能够避免现有技术无效的磁盘扫描对性能的影响,能够同时提高据库的性能和压缩率。
在一些实施例的步骤S110中,为了识别待识别页面的冷温热程度,首先获取待识别页面的访问频率信息。具体地,可以在当前的待识别页面中添加页面访问计数器,即可以在待识别页面的对应的代码中添加页面访问计数器代码,当对待识别页面进行访问操作,则对应的页面访问计数器加1,该操作用于表示当前待识别页面在当前日期的访问频率加1。
需要说明的是,对待识别page的访问操作可以为增加数据、删除数据、修改数据、查找数据中的任一种。
需要说明的是,在获取待识别页面的访问频率信息之前,本申请提供的基于数据库的自适应压缩方法还包括:当确认待识别页面为初次访问页面,将待识别页面的初始页面状态设置为热页面状态。
可以理解的是,在一些实施例中,当确认待识别页面为初次访问页面,即当前的待识别页面为新生成的page,将待识别页面的初始页面状态设置为热页面状态。
在一些实施例的步骤S120中,现有技术在通过扫描磁盘上的所有数据以对不同热度page进行压缩时存在一些弊端,例如,扫描磁盘动作成本较高且需要占用磁盘IO带宽较大;或者对已经按照压缩条件进行存储的page进行无效地重复扫描,从而造成资源浪费。为了避免这些技术弊端,本申请实施例通过元数据文件来减少无效的磁盘扫描,从而提升数据压缩性能。具体地,预设的元数据文件中包括多个元数据子文件,且每个元数据子文件用于存储一个待识别页面的状态数据文件,该状态数据文件用于存储待识别页面的初始访问状态和页面压缩状态。其中,初始访问状态用于表征待识别页面的冷温热访问状态,且初始访问状态设置为热页面状态。页面压缩状态用于表征该待识别页面是否被压缩,若待识别页面为新生成的page,则其对应的页面压缩状态为未压缩状态。
需要说明的是,本申请实施例元数据文件用于存储待识别页面的状态数据,以避免对磁盘进行无效扫描的过程。其中,每个状态数据文件包括第一子文件和第二子文件。
示例性的,当该元数据文件中一个元数据子文件的容量设置为四位(bit),则将元数据子文件中的前两个bit用于表征第一子文件,该第一子文件用于存储待识别页面的目标访问状态,即该page的目标访问状态为冷页面状态、温页面状态、热页面状态中的任一种。将元数据子文件中的后两个bit用于表征第二子文件,该第二子文件用于存储该待识别页面的页面压缩状态,即用于确定该page是否被压缩。
需要说明的是,该元数据文件中元数据子文件的容量可以根据实际需要进行设定,即元数据子文件的容量也可以为八位,且第一子文件和第二子文件的大小也可以根据实际需要对元数据子文件的容量进行灵活划分。
在一些实施例的步骤S130中,为了准确地确定待识别页面的冷温热状态,根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定待识别页面的目标访问状态,并根据目标访问状态更新状态数据文件的初始访问状态,即待识别页面的当前访问状态为目标访问状态。其中,该目标访问状态用于表征经过对访问频率信息进行判断后得到的待识别页面的当前真实的冷温热状态。
在一些实施例的步骤S140中,为了自动选择适配的压缩算法,根据目标访问状态和预设的算法库确定待识别页面的目标压缩算法,以提高数据库压缩率的同时,避免消耗更多的内存资源。
在一些实施例的步骤S150中,由于现有技术会重复对已经按照压缩条件进行压缩的page再次扫描压缩,从而产生无效的扫描资源浪费,为了避免这种情况,本申请通过对页面压缩状态进行压缩状态判断,得到判断结果,以减少重复的压缩资源浪费。
在一些实施例的步骤S160中,在实际的应用中,当确定了待识别页面的目标压缩算法后,根据判断结果和目标压缩算法对待识别页面进行数据压缩。本申请实施例能够避免现有技术无效的磁盘扫描对性能的影响,能够同时提高据库的性能和压缩率。
请参阅图2,图2是本申请实施例提供的基于数据库的自适应压缩方法的另一个可选的流程图。在一些实施例中,目标访问状态包括热页面状态、温页面状态和冷页面状态,在步骤S140之前,本申请的基于数据库的自适应压缩方法具体还包括步骤:构建算法库,该步骤具体还包括但不限于步骤S210至步骤S250,下面结合图2对这五个步骤进行详细介绍。
步骤S210,获取预设的第一算法、第二算法、第三算法;
步骤S220,将第一算法与热页面状态进行匹配处理,得到第一映射关系;
步骤S230,将第二算法与温页面状态进行匹配处理,得到第二映射关系;
步骤S240,将第三算法与冷页面状态进行匹配处理,得到第三映射关系;
步骤S250,根据第一映射关系、第二映射关系和第三映射关系构建算法库。
在一些实施例的步骤S210至步骤S250中,为了同时保证数据库的性能和压缩率,本申请实施例根据数据冷温热程度自动选择适配的压缩算法,来平衡资源消耗和压缩。具体地,获取预设的第一算法、第二算法、第三算法,第一算法、第二算法、第三算法分别代表了不同重量级的算法,即对于资源的消耗和压缩率都不相同。第一算法表示最轻量级的压缩算法,将第一算法与预设的热页面状态进行匹配处理,得到第一映射关系。将第二算法与预设的温页面状态进行匹配处理,得到第二映射关系。将第三算法与预设的冷页面状态进行匹配处理,得到第三映射关系。最后,根据第一映射关系、第二映射关系和第三映射关系构建算法库。本申请实施例通过对不同的页面状态匹配对应的压缩算法,以对整个数据库的压缩率、资源利用率都达到相对最优的结果。
需要说明的是,第一算法、第二算法和第三算法可以使用已经现有的压缩算法,例如,第一算法选择轻量级的lz4压缩算法,第二算法选择zstd压缩算法,第三算法选择zlib压缩算法,对于第一算法、第二算法和第三算法具体采用何种算法,可以根据实际需要进行选择,在此不作限定。
示例性的,由于冷page的访问频率较低,压缩/解压次数较少,对压缩性能不敏感,对冷页面状态的page可以选择zstd压缩算法进行压缩,以保证高压缩率;由于温page的访问频率也较低,需要一定的解压次数,且对压缩性能相对敏感,则对温页面状态的page选择snappy算法进行压缩,以保证高压缩率和低性能损耗;由于热page的访问频率较高,需要很高的解压次数,且对压缩性能很敏感,则对热页面状态的page选择lz4算法进行压缩,以保证低性能损耗的同时,提高数据压缩率。本申请实施例可以在保证压缩率的同时,将冷温热数据分别采用不同的压缩算法进行压缩,能够有效减小压缩/解压对性能的损耗,并提高数据库的压缩率。
需要说明的是,请参阅图3,图3是本申请实施例提供的基于数据库的自适应压缩方法的另一个可选的流程图。在一些实施例中,步骤S130具体包括但不限于步骤S310至步骤S370,下面结合图3对这七个步骤进行详细介绍。
步骤S310,获取待识别页面的当前日期,并根据当前日期确定第一日期区间、第二日期区间和第三日期区间;
步骤S320,根据第一日期区间构建第一数组模板;
步骤S330,根据第二日期区间构建第二数组模板;
步骤S340,根据第三日期区间构建第三数组模板;
步骤S350,根据第二数组模板、第二数组模板和第三数组模板构建访问频率统计模板集;
步骤S360,将访问频率信息填入访问频率统计模板集,得到访问频率统计结果;
步骤S370,根据冷温热状态阈值对访问频率统计结果进行状态划分,确定待识别页面的目标访问状态,并根据目标访问状态更新状态数据文件的初始访问状态。
在一些实施例的步骤S310至步骤S350中,获取待识别页面的当前日期,并根据当前日期确定第一日期区间、第二日期区间和第三日期区间。根据第一日期区间构建用于统计第一频率信息的第一数组模板,根据第二日期区间构建用于统计第二频率信息的第二数组模板,并根据第三日期区间构建用于统计第三频率信息的第三数组模板。从而根据第二数组模板、第二数组模板和第三数组模板构建访问频率统计模板集。本申请实施例通过数组的形式构成访问频率统计模板集,从而更完整地统计page的访问频率信息。
需要说明的是,第一日期区间用于统计以当前日期为基准在预设的第一采样间隔内的访问操作的次数;第二日期区间用于统计以当前日期为基准在预设的第二采样间隔内的访问操作的次数;第三日期区间用于统计以当前日期为基准在预设的第三采样间隔内的访问操作的次数。
需要说明的是,第一日期区间可以设置为三天、一周等,第二日期区间可以设置为半月、一个月等,第一日期区间可以设置为六个月、一年等。但需要满足第一日期区间小于第二日期区间,第二日期区间小于第三日期区间。对于第一日期区间、第二日期区间和第三日期区间的设定可以根据实际需求进行自定义设定,在此不再赘述。
在一些实施例的步骤S360中,为了更准确地统计待识别page的访问频率信息,可以将访问频率信息填入访问频率统计模板集,得到访问频率统计结果,该访问频率统计模板集用于实时统计当前待识别页面的访问频率信息,以便于自动地识别出page中数据的冷温热状态。
在一些实施例的步骤S370中,为了准确地确定待识别页面的冷温热状态,根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定待识别页面的目标访问状态,并根据目标访问状态更新状态数据文件的初始访问状态。
具体地,预设的冷温热状态阈值包括热状态阈值、温状态阈值和冷状态阈值,则步骤S370具体包括但不限于以下任一种情况:
当访问频率统计结果大于或等于热状态阈值,确定待识别页面的目标访问状态为热页面状态;
当访问频率统计结果小于热状态阈值,且访问频率统计结果大于或等于温状态阈值,确定目标访问状态为温页面状态;
当访问频率统计结果小于温状态阈值且小于冷状态阈值,确定目标访问状态为冷页面状态。
可以理解的是,根据访问频率统计结果对于不同的冷温热状态阈值的判断没有具体的顺序限定。冷温热状态阈值中热状态阈值、温状态阈值和冷状态阈值的具体值可以根据需要进行配置和自动调整,例如,可以将热状态阈值设置为400次,温状态阈值设置为100次,冷状态阈值设置为20次,在此不作具体限定。
请参阅图4,图4是本申请实施例提供的步骤S360的具体流程图。在本申请的一些实施例中,访问频率信息包括第一频率信息、第二频率信息、第三频率信息,则步骤S360具体包括但不限于步骤S410至步骤S440,下面结合图4对这四个步骤进行详细介绍。
步骤S410,将第一频率信息填入第一数组模板,得到第一频率数组;其中,第一频率信息用于表征在预设的第一采样间隔内执行访问操作的次数。
需要说明的是,为了更准确地统计page的访问频率信息,将访问频率信息根据数据的采样间隔划分为第一频率信息、第二频率信息、第三频率信息,将第一频率信息填入第一数组模板,得到第一频率数组,且第一频率信息用于表征在预设的第一采样间隔内执行访问操作的次数。
具体地,第一采样间隔可以设置为单位日,即以日即一天为第一采样间隔采样得到第一频率信息。此外,第一采样间隔也可以为两天、三天等,即可以根据实际需要进行设定,在此不再赘述。
步骤S420,将第二频率信息填入第二数组模板,得到第二频率数组;其中,第二频率信息用于表征在预设的第二采样间隔内执行访问操作的次数,第一采样间隔小于第二采样间隔。
需要说明的是,第二采样间隔可以根据需要自定义设定,可以为半个月、一个月等,且需要满足第一采样间隔小于第二采样间隔,在此不再赘述。
步骤S430,将第三频率信息填入第三数组模板,得到第三频率数组;其中,第三频率信息用于表征在预设的第三采样间隔内执行访问操作的次数,第二采样间隔小于第三采样间隔。
需要说明的是,第三采样间隔可以根据需要自定义设定,可以为六个月、一年等,且需要满足第二采样间隔小于第三采样间隔,在此不再赘述。
步骤S440,分别对第一频率数组、第二频率数组和第三频率数组进行频率统计,得到访问频率统计结果。
具体地,分别对第一频率数组、第二频率数组和第三频率数组中的每一位进行求和,得到访问频率统计结果,则该访问频率统计结果包括第一频率数组的访问次数之和、第二频率数组的访问次数之和和第三频率数组的访问次数之和。
需要说明的是,由于预设的冷温热状态阈值包括热状态阈值、温状态阈值和冷状态阈值,页面的状态包括冷页面状态、温页面状态和热页面状态,当确认待识别页面为初次访问页面,将待识别页面的初始页面状态设置为热页面状态后,则可以根据预设的冷温热状态阈值对待识别页面进行状态转换。
需要说明的的是,本申请实施例分别为第一频率数组、第二频率数组和第三频率数组设置一个频率访问计数器,该频率访问计数器用于统计对应的频率数组中的每一位在对应采样间隔下的频率信息。
需要说明的是,对于每个频率访问计数器,当日期发生变化,则根据新的访问频率更新对应的频率访问计数器,并更新每个频率访问计数器对应统计的第一频率数组、第二频率数组和第三频率数组。例如,当第一日期区间设置为一周,则当日期移动到下一周,则根据新的访问频率更新第一频率数组对应的频率访问计数器,可以将之前的频率统计数据定义为下一周的上一周的数据,即为下一周的历史访问频率数据。相应的,第二频率数组和第三频率数组分别根据各自更新后的频率访问计数器更新当前数组中的每一位的频率信息,并将对应的历史访问频率数据存储到预设置的存储单元以便于调用,如内存或磁盘中,在此不作限定。
示例性的,请参阅图5、图6和图7,如图5所示的第一数组模板,当设置n为待识别页面的当前日期,假设第一采样间隔为单位日,第一日期区间为一周,第一数组模板为长度为7的数组。将当前日期以单位日为第一采样间隔的历史前一周的第一频率信息填入该第一数组模板,其中,i为单位日,n-1i的数组位表示统计昨天的访问频率,依次类推,则得到的第一频率数组中的每一位表示最近一周中每一天的访问频率,将无访问的设为0。如图6所示的第二数组模板,假设第二采样间隔为单位周,第二日期区间为一个月,第二数组模板为长度为4的数组。将当前日期以单位周为第二采样间隔的历史前一个月的第二频率信息填入该第二数组模板,其中,j为单位周,n1表示根据n到n-6i的访问频率统计得到的近一周的访问频率。n1-1j对应的数组位表示统计以n-6i的日期为截点的近一周的前一周的访问频率,依次类推,则得到的第二频率数组中的每一位表示最近一个月中每一周的访问频率,将无访问的设为0。如图7所示的第三数组模板,假设第三采样间隔为单位月,第三日期区间为一年,则将当前日期以单位月为第三采样间隔的历史前一年的第三频率信息填入该第三数组模板。其中,k为单位月,n2表示根据n1到n1-3j的访问频率统计得到的近一个月的访问频率。则n2-1k对应的数组位表示统计以n1-3j的日期为截点的近一个月的前一个月的访问频率,依次类推。其中,数组中的Num表示具体的访问频率值。
示例性的,如图8所示,当待识别page在第二日期区间的访问频率低于热状态阈值,则将待识别page的当前页面状态转换为温页面状态;当热页面状态的待识别page在第三日期区间的访问频率小于冷状态阈值,则将待识别page的当前页面状态转换为冷页面状态;当温页面状态的待识别page在第二日期区间的访问频率小于冷状态阈值,则将待识别page的当前页面状态转换为冷页面状态;当温页面状态的待识别page在第二日期区间的访问频率大于热状态阈值,则将待识别page的当前页面状态转换为热页面状态;当冷页面状态的待识别page在第一日期区间的访问频率大于热状态阈值,则将待识别page的当前页面状态转换为热页面状态;当冷页面状态的待识别page在第二日期区间的访问频率大于温状态阈值,则将待识别page的当前页面状态转换为温页面状态。
需要说明的是,当根据待识别page的当前页面状态进行冷温热转换后,可以自适应的调整待识别page所对应的目标压缩算法。
请参阅图9,图9是本申请实施例提供的基于数据库的自适应压缩方法的另一个可选的流程图。在步骤S160之后,基于数据库的自适应压缩方法具体还包括但不限于步骤S910至步骤S920,下面结合图9对这两个步骤进行详细介绍。
步骤S910,响应于对待识别页面进行的访问操作,更新访问频率信息;
步骤S920,根据更新后的访问频率信息重新执行根据预设的冷温热状态阈值对访问频率信息进行状态划分。
具体地,对待识别页面的访问频率信息进行实时更新,即当响应于对待识别页面进行的访问操作,如当响应于对待识别页面进行的增加数据、删除数据、修改数据或查找数据中的任一种访问操作,更新当前的访问频率信息,从而根据更新后的访问频率信息重新执行根据预设的冷温热状态阈值对访问频率信息进行状态划分,以确定待识别页面的目标压缩算法。
请参阅图10,图10是本申请实施例提供的基于数据库的自适应压缩方法的另一个可选的流程图。在一些实施例中,步骤S160具体包括但不限于步骤S1010至步骤S1040,下面结合图10对这四个步骤进行详细介绍。
步骤S1010,获取待识别页面的当前压缩算法;
步骤S1020,对当前压缩算法和目标压缩算法进行算法比较,得到比较结果;
步骤S1030,若判断结果表示页面压缩状态为已压缩状态,且比较结果表示当前压缩算法和目标压缩算法不相同,对待识别页面进行解压缩处理,得到候选页面;
步骤S1040,根据目标压缩算法对候选页面进行数据压缩。
在一些实施例的步骤S1010至步骤S1040中,在进行数据压缩前,先获取待识别页面的当前压缩算法,对当前压缩算法和目标压缩算法进行算法比较,得到比较结果,该目标压缩算法用于表征根据待识别页面的目标访问状态确定的压缩算法。若判断结果表示页面压缩状态为已压缩状态,且比较结果表示当前压缩算法和目标压缩算法不相同,即不满足预设的压缩条件,则对待识别页面进行解压缩处理,得到候选页面,并根据目标压缩算法对候选页面进行数据压缩。
需要说明的是,压缩条件用于表征页面压缩状态为已压缩状态且采用的压缩算法为目标压缩算法。
需要说明的是,若判断结果表示页面压缩状态为已压缩状态,且比较结果表示当前压缩算法和目标压缩算法相同,则表示待识别页面已满足本申请的压缩条件,则开始对元数据文件中的下一个待识别页面进行数据压缩处理。
需要说明的是,若判断结果表示页面压缩状态为未压缩状态,且比较结果表示当前压缩算法和目标压缩算法不相同,则先根据待识别页面的目标访问状态和预设的算法库确定待识别页面的目标压缩算法,再根据目标压缩算法对待识别页面进行数据压缩。
需要说明的是,若判断结果表示页面压缩状态为未压缩状态,且比较结果表示当前压缩算法和目标压缩算法相同,则直接根据目标压缩算法对待识别页面进行数据压缩。
具体地,在实际应用中,通过依次读取元数据文件中的元数据子文件,以确定待识别页面的目标访问状态和页面压缩状态。然后,判断当前的待识别页面的压缩状态,即待识别页面是否根据目标访问状态和预设的算法库确定待识别页面的目标压缩算法,并根据该目标压缩算法对待识别页面进行数据压缩,其中,冷page采用zstd算法进行数据压缩,温page采用snappy算法进行数据压缩,热page采用lz4算法进行数据压缩。当待识别页面的压缩状态为已压缩状态,则读取元数据文件,且比较结果表示当前压缩算法和目标压缩算法不相同,即不满足预设的压缩条件,则对待识别页面进行解压缩处理,得到候选页面,并根据目标压缩算法对候选页面进行数据压缩。若判断结果表示页面压缩状态为未压缩状态,在对page压缩完成后,修改该page对应的元数据文件中第二子文件的页面压缩状态,即更新为已压缩状态。本申请实施例通过容量较小的元数据文件来判断待识别页面的目标访问状态和压缩状态是否满足压缩要求,能够减少对磁盘的无效扫描和资源浪费,并提升了数据压缩性能。
请参阅图11,图11是本申请实施例提供的基于数据库的自适应压缩装置的结构示意图,该装置可以实现上述实施例的基于数据库的自适应压缩方法,该装置包括频率信息获取模块1110、文件划分模块1120、状态划分模块1130、算法确定模块1140、压缩判断模块1150和数据压缩模块1160。
频率信息获取模块1110,用于获取待识别页面的访问频率信息;
文件划分模块1120,用于根据待识别页面在预设的元数据文件中进行文件划分处理,得到待识别页面的状态数据文件,状态数据文件用于存储待识别页面的初始访问状态和页面压缩状态;
状态划分模块1130,用于根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定待识别页面的目标访问状态,并根据目标访问状态更新状态数据文件的初始访问状态;
算法确定模块1140,用于根据目标访问状态和预设的算法库确定待识别页面的目标压缩算法;
压缩判断模块1150,用于对页面压缩状态进行压缩状态判断,得到判断结果;
数据压缩模块1160,用于根据判断结果和目标压缩算法对待识别页面进行数据压缩。
需要说明的是,本申请实施例的基于数据库的自适应压缩装置用于实现上述实施例的基于数据库的自适应压缩方法,本申请实施例的基于数据库的自适应压缩装置与前述的基于数据库的自适应压缩方法相对应,具体的处理过程请参照前述的基于数据库的自适应压缩方法,在此不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括:至少一个存储器,至少一个处理器,至少一个计算机程序,至少一个计算机程序被存储在至少一个存储器中,至少一个处理器执行至少一个计算机程序以实现上述实施例中任一种的基于数据库的自适应压缩方法。该计算机设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图12,图12示意了另一实施例的一种计算机设备的硬件结构,该计算机设备包括:
处理器1210,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器1220,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器1220可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1220中,并由处理器1210来调用执行本申请实施例的基于数据库的自适应压缩方法;
输入/输出接口1230,用于实现信息输入及输出;
通信接口1240,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线1250,在设备的各个组件(例如处理器1210、存储器1220、输入/输出接口1230和通信接口1240)之间传输信息;
其中处理器1210、存储器1220、输入/输出接口1230和通信接口1240通过总线1250实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,该存储介质为计算机可读存储介质,该计算机可读存储介质存储有计算机程序,计算机程序用于使计算机执行上述实施例中基于数据库的自适应压缩方法。
本申请实施例提供的一种基于数据库的自适应压缩方法和装置、设备、存储介质,获取待识别页面的访问频率信息,并根据待识别页面在预设的元数据文件中进行文件划分处理,得到待识别页面的状态数据文件,状态数据文件用于存储待识别页面的初始访问状态和页面压缩状态。然后根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定待识别页面的目标访问状态,并根据目标访问状态更新状态数据文件的初始访问状态。为了在减少性能损耗的同时,提高数据库的压缩率,根据目标访问状态和预设的算法库确定待识别页面的目标压缩算法。之后,对页面压缩状态进行压缩状态判断,得到判断结果;根据判断结果和目标压缩算法对待识别页面进行数据压缩。本申请实施例能够避免现有技术无效的磁盘扫描对性能的影响,能够同时提高据库的性能和压缩率。本申请实施例能够根据数据的访问频率信息自动识别数据的冷温热程度,并根据数据的冷温热程度自动选择适配的压缩算法,同时平衡数据库的性能和压缩率,以达到压缩率和数据库性能的最优状态。此外,在数据进行状态转换后,能够自适应地调整数据所对应的压缩算法,本申请提出的基于数据库的自适应压缩方法可以应用与如LSM树、B树或B+树等不同的数据结构,适应能力更强,且在提高数据库压缩率的同时,避免消耗更多的内存资源。本申请实施例通过容量较小的元数据文件来判断待识别页面的目标访问状态和压缩状态是否满足压缩要求,能够减少对磁盘的无效扫描和资源浪费,并提升了数据压缩性能。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1至9中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参阅附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (8)
1.一种基于数据库的自适应压缩方法,其特征在于,所述方法包括:
获取待识别页面的访问频率信息;
根据所述待识别页面在预设的元数据文件中进行文件划分处理,得到所述待识别页面的状态数据文件,所述状态数据文件用于存储所述待识别页面的初始访问状态和页面压缩状态;所述预设的元数据文件中包括多个元数据子文件,且每个所述元数据子文件用于存储一个所述待识别页面的状态数据文件,所述初始访问状态用于表征所述待识别页面的冷温热访问状态,且所述初始访问状态设置为热页面状态,所述页面压缩状态用于表征所述待识别页面是否被压缩,若所述待识别页面为新生成的页面,则对应的所述页面压缩状态为未压缩状态;
根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定所述待识别页面的目标访问状态,并根据所述目标访问状态更新所述状态数据文件的所述初始访问状态;
根据所述目标访问状态和预设的算法库确定所述待识别页面的目标压缩算法;
对所述页面压缩状态进行压缩状态判断,得到判断结果;
根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩;
其中,所述根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩,包括:
获取所述待识别页面的当前压缩算法;
对所述当前压缩算法和所述目标压缩算法进行算法比较,得到比较结果;
若所述判断结果表示所述页面压缩状态为已压缩状态,且所述比较结果表示所述当前压缩算法和所述目标压缩算法不相同,对所述待识别页面进行解压缩处理,得到候选页面;
根据所述目标压缩算法对所述候选页面进行数据压缩;
若所述判断结果表示所述页面压缩状态为未压缩状态,则根据所述目标压缩算法对所述待识别页面进行数据压缩。
2.根据权利要求1所述的方法,其特征在于,所述目标访问状态包括热页面状态、温页面状态和冷页面状态,在所述根据所述目标访问状态和预设的算法库确定所述待识别页面的目标压缩算法之前,所述方法还包括:构建所述算法库,具体包括:
获取预设的第一算法、第二算法、第三算法;
将所述第一算法与所述热页面状态进行匹配处理,得到第一映射关系;
将所述第二算法与所述温页面状态进行匹配处理,得到第二映射关系;
将所述第三算法与所述冷页面状态进行匹配处理,得到第三映射关系;
根据所述第一映射关系、所述第二映射关系和所述第三映射关系构建所述算法库。
3.根据权利要求1所述的方法,其特征在于,所述根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定所述待识别页面的目标访问状态,并根据所述目标访问状态更新所述状态数据文件的所述初始访问状态,包括:
获取所述待识别页面的当前日期,并根据所述当前日期确定第一日期区间、第二日期区间和第三日期区间;
根据所述第一日期区间构建第一数组模板;
根据所述第二日期区间构建第二数组模板;
根据所述第三日期区间构建第三数组模板;
根据所述第二数组模板、所述第二数组模板和所述第三数组模板构建访问频率统计模板集;
将所述访问频率信息填入所述访问频率统计模板集,得到访问频率统计结果;
根据所述冷温热状态阈值对所述访问频率统计结果进行状态划分,确定所述待识别页面的目标访问状态,并根据所述目标访问状态更新所述状态数据文件的所述初始访问状态;
其中,所述访问频率信息包括第一频率信息、第二频率信息、第三频率信息,所述将所述访问频率信息填入所述访问频率统计模板集,得到访问频率统计结果,包括:
将所述第一频率信息填入所述第一数组模板,得到第一频率数组;其中,所述第一频率信息用于表征在预设的第一采样间隔内执行访问操作的次数;
将所述第二频率信息填入所述第二数组模板,得到第二频率数组;其中,所述第二频率信息用于表征在预设的第二采样间隔内执行访问操作的次数,所述第一采样间隔小于所述第二采样间隔;
将所述第三频率信息填入所述第三数组模板,得到第三频率数组;其中,所述第三频率信息用于表征在预设的第三采样间隔内执行访问操作的次数,所述第二采样间隔小于所述第三采样间隔;
分别对所述第一频率数组、所述第二频率数组和所述第三频率数组进行频率统计,得到访问频率统计结果。
4.根据权利要求3所述的方法,其特征在于,所述冷温热状态阈值包括热状态阈值、温状态阈值和冷状态阈值,所述根据预设的冷温热状态阈值对所述访问频率统计结果进行状态划分,确定所述待识别页面的目标访问状态,包括:
当所述访问频率统计结果大于或等于所述热状态阈值,确定所述待识别页面的目标访问状态为热页面状态;
当所述访问频率统计结果小于所述热状态阈值,且所述访问频率统计结果大于或等于所述温状态阈值,确定所述目标访问状态为温页面状态;
当所述访问频率统计结果小于所述温状态阈值且小于所述冷状态阈值,确定所述目标访问状态为冷页面状态。
5.根据权利要求1至4任一项所述的方法,其特征在于,在所述根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩之后,所述方法还包括:
响应于对所述待识别页面进行的访问操作,更新所述访问频率信息;
根据更新后的所述访问频率信息重新执行所述根据预设的冷温热状态阈值对访问频率信息进行状态划分。
6.一种基于数据库的自适应压缩装置,其特征在于,所述装置包括:
频率信息获取模块,用于获取待识别页面的访问频率信息;
文件划分模块,用于根据所述待识别页面在预设的元数据文件中进行文件划分处理,得到所述待识别页面的状态数据文件,所述状态数据文件用于存储所述待识别页面的初始访问状态和页面压缩状态;所述预设的元数据文件中包括多个元数据子文件,且每个所述元数据子文件用于存储一个所述待识别页面的状态数据文件,所述初始访问状态用于表征所述待识别页面的冷温热访问状态,且所述初始访问状态设置为热页面状态,所述页面压缩状态用于表征所述待识别页面是否被压缩,若所述待识别页面为新生成的页面,则对应的所述页面压缩状态为未压缩状态;
状态划分模块,用于根据预设的冷温热状态阈值对访问频率信息进行状态划分,确定所述待识别页面的目标访问状态,并根据所述目标访问状态更新所述状态数据文件的所述初始访问状态;
算法确定模块,用于根据所述目标访问状态和预设的算法库确定所述待识别页面的目标压缩算法;
压缩判断模块,用于对所述页面压缩状态进行压缩状态判断,得到判断结果;
数据压缩模块,用于根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩,所述根据所述判断结果和所述目标压缩算法对所述待识别页面进行数据压缩,包括:获取所述待识别页面的当前压缩算法;对所述当前压缩算法和所述目标压缩算法进行算法比较,得到比较结果;若所述判断结果表示所述页面压缩状态为已压缩状态,且所述比较结果表示所述当前压缩算法和所述目标压缩算法不相同,对所述待识别页面进行解压缩处理,得到候选页面;根据所述目标压缩算法对所述候选页面进行数据压缩;若所述判断结果表示所述页面压缩状态为未压缩状态,则根据所述目标压缩算法对所述待识别页面进行数据压缩。
7.一种计算机设备,其特征在于,包括:
至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述至少一个计算机程序被存储在所述至少一个存储器中,所述至少一个处理器执行所述至少一个计算机程序以实现:
如权利要求1至5中任一项所述的一种基于数据库的自适应压缩方法。
8.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序用于使计算机执行:
如权利要求1至5中任一项所述的一种基于数据库的自适应压缩方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211424119.2A CN115905168B (zh) | 2022-11-15 | 2022-11-15 | 基于数据库的自适应压缩方法和装置、设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211424119.2A CN115905168B (zh) | 2022-11-15 | 2022-11-15 | 基于数据库的自适应压缩方法和装置、设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115905168A CN115905168A (zh) | 2023-04-04 |
CN115905168B true CN115905168B (zh) | 2023-11-07 |
Family
ID=86485117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211424119.2A Active CN115905168B (zh) | 2022-11-15 | 2022-11-15 | 基于数据库的自适应压缩方法和装置、设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115905168B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117424606B (zh) * | 2023-12-18 | 2024-04-16 | 成都行芯科技有限公司 | 波形数据压缩方法、装置、电子装置和存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526923A (zh) * | 2009-04-02 | 2009-09-09 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和闪存存储系统 |
CN102375884A (zh) * | 2011-10-21 | 2012-03-14 | 北京百度网讯科技有限公司 | 一种用于对页面访问对象进行数据压缩的方法及设备 |
CN105322969A (zh) * | 2015-12-09 | 2016-02-10 | 北京奇虎科技有限公司 | 数据压缩及解压的方法及装置 |
CN107465413A (zh) * | 2017-07-07 | 2017-12-12 | 南京城市职业学院 | 一种自适应数据压缩系统及其方法 |
CN109756230A (zh) * | 2019-01-03 | 2019-05-14 | Oppo广东移动通信有限公司 | 数据压缩存储方法、数据压缩方法、装置、设备及介质 |
WO2021243531A1 (zh) * | 2020-06-02 | 2021-12-09 | 深圳市欢太科技有限公司 | 数据压缩方法、装置、电子设备及存储介质 |
WO2022062537A1 (zh) * | 2020-09-27 | 2022-03-31 | 苏州浪潮智能科技有限公司 | 数据压缩方法、装置及计算机可读存储介质 |
CN115022342A (zh) * | 2022-05-31 | 2022-09-06 | Oppo广东移动通信有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN115129791A (zh) * | 2021-03-11 | 2022-09-30 | 中国移动通信集团四川有限公司 | 一种数据压缩存储方法、装置及设备 |
CN115186212A (zh) * | 2022-08-22 | 2022-10-14 | 上海识装信息科技有限公司 | 一种页面加载方法、装置、电子设备及存储介质 |
CN115208414A (zh) * | 2022-09-15 | 2022-10-18 | 本原数据(北京)信息技术有限公司 | 数据压缩方法、数据压缩装置、计算机设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8712984B2 (en) * | 2010-03-04 | 2014-04-29 | Microsoft Corporation | Buffer pool extension for database server |
CN109802684B (zh) * | 2018-12-26 | 2022-03-25 | 华为技术有限公司 | 进行数据压缩的方法和装置 |
CN112748863B (zh) * | 2019-10-31 | 2024-04-19 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、电子设备和计算机程序产品 |
-
2022
- 2022-11-15 CN CN202211424119.2A patent/CN115905168B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101526923A (zh) * | 2009-04-02 | 2009-09-09 | 成都市华为赛门铁克科技有限公司 | 一种数据处理方法、装置和闪存存储系统 |
CN102375884A (zh) * | 2011-10-21 | 2012-03-14 | 北京百度网讯科技有限公司 | 一种用于对页面访问对象进行数据压缩的方法及设备 |
CN105322969A (zh) * | 2015-12-09 | 2016-02-10 | 北京奇虎科技有限公司 | 数据压缩及解压的方法及装置 |
CN107465413A (zh) * | 2017-07-07 | 2017-12-12 | 南京城市职业学院 | 一种自适应数据压缩系统及其方法 |
CN109756230A (zh) * | 2019-01-03 | 2019-05-14 | Oppo广东移动通信有限公司 | 数据压缩存储方法、数据压缩方法、装置、设备及介质 |
WO2021243531A1 (zh) * | 2020-06-02 | 2021-12-09 | 深圳市欢太科技有限公司 | 数据压缩方法、装置、电子设备及存储介质 |
WO2022062537A1 (zh) * | 2020-09-27 | 2022-03-31 | 苏州浪潮智能科技有限公司 | 数据压缩方法、装置及计算机可读存储介质 |
CN115129791A (zh) * | 2021-03-11 | 2022-09-30 | 中国移动通信集团四川有限公司 | 一种数据压缩存储方法、装置及设备 |
CN115022342A (zh) * | 2022-05-31 | 2022-09-06 | Oppo广东移动通信有限公司 | 数据处理方法、装置、电子设备和计算机可读存储介质 |
CN115186212A (zh) * | 2022-08-22 | 2022-10-14 | 上海识装信息科技有限公司 | 一种页面加载方法、装置、电子设备及存储介质 |
CN115208414A (zh) * | 2022-09-15 | 2022-10-18 | 本原数据(北京)信息技术有限公司 | 数据压缩方法、数据压缩装置、计算机设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
Gurpal Singh ; Sandeep Kalra ; B.S. Sohi;.IR database compression algorithm using optimized key mask.2008 Canadian Conference on Electrical and Computer Engineering.2008,第1097-1102页. * |
基于LZW的多模式自适应的无损压缩算法;崔业勤,刘玉贵;;微电子学与计算机;第99-101,105页 * |
基于无损压缩技术的文件压缩与解压系统;郝雪燕;;数码世界(10);第265-266页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115905168A (zh) | 2023-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20140215170A1 (en) | Block Compression in a Key/Value Store | |
US9298774B2 (en) | Changing the compression level of query plans | |
US11151126B2 (en) | Hybrid column store providing both paged and memory-resident configurations | |
CN107562804B (zh) | 数据缓存服务系统及方法、终端 | |
CN115905168B (zh) | 基于数据库的自适应压缩方法和装置、设备、存储介质 | |
CN111611250A (zh) | 数据存储设备、数据查询方法、装置、服务器及存储介质 | |
CN113900810A (zh) | 分布式图处理方法、系统及存储介质 | |
US11714834B2 (en) | Data compression based on co-clustering of multiple parameters for AI training | |
CN113656098A (zh) | 配置获取方法及系统 | |
US8769236B2 (en) | Remote differential compression applied to storage | |
CN112181302A (zh) | 一种数据多级存储和访问方法及系统 | |
CN111858586A (zh) | 一种数据处理的方法和装置 | |
CN115238345A (zh) | Bim模型处理方法、装置、存储介质及电子装置 | |
CN110311754B (zh) | 一种数据的接收方法、装置、存储介质及电子设备 | |
CN111767287A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN112054805A (zh) | 一种模型数据压缩方法、系统及相关设备 | |
CN114625474A (zh) | 容器迁移方法、装置、电子设备及存储介质 | |
CN105468603A (zh) | 数据选择方法及装置 | |
US11971856B2 (en) | Efficient database query evaluation | |
CN117093367B (zh) | 一种业务数据的处理方法、装置及存储介质 | |
CN114390107B (zh) | 请求处理方法、装置、计算机设备、存储介质和程序产品 | |
CN113726342B (zh) | 面向大规模图迭代计算的分段差值压缩与惰性解压方法 | |
US11036678B2 (en) | Optimizing files stored in a distributed file system | |
CN117216009A (zh) | 文件处理方法、装置、设备、存储介质和计算机程序产品 | |
CN115269539A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |