CN115221174A - 基于人工智能的数据分级存储方法、装置、设备及介质 - Google Patents
基于人工智能的数据分级存储方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115221174A CN115221174A CN202210900100.4A CN202210900100A CN115221174A CN 115221174 A CN115221174 A CN 115221174A CN 202210900100 A CN202210900100 A CN 202210900100A CN 115221174 A CN115221174 A CN 115221174A
- Authority
- CN
- China
- Prior art keywords
- data
- storage
- storage medium
- capacity
- heat
- 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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/24569—Query processing with adaptation to specific hardware, e.g. adapted for using GPUs or SSDs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提出一种基于人工智能的数据分级存储方法、装置、电子设备及存储介质,基于人工智能的数据分级存储方法包括:获取业务数据,并计算所述业务数据的热度得到热度数据;将预设的业务数据库划分为多个层级以存储所述热度数据;依据所述存储容量对所有的层级进行筛选获得边界层级;基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质;基于所述第一存储介质对所述第二存储介质中的业务数据进行调用。本申请通过将业务数据库划分为多个层级,并由此计算边界层级和调度层级实现对业务数据的动态分级存储,有效提高了业务数据库的存储效率。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种基于人工智能的数据分级存储方法、装置、电子设备及存储介质。
背景技术
LSM-tree(Log-Structured Merge-Tree),即日志合并树,是非关系型数据库***底层存储引擎所普遍采用的键值存储结构。众所周知,硬盘作为非易失存储介质,承载了数据库***的主要的持久化数据部分,是数据库***成本的主要组成部分。LSM-tree由于其写放大与读放大的原理特性,在企业级的应用场景下,为了满足相应的性能需求,其典型的推荐存储介质为读写吞吐量大、随机读写性能高的NVMe硬盘,其单位存储成本相对传统的机械硬盘(HDD)高出数倍。
LSM-tree需要进行数据归并,否则将会导致数据的无限膨胀和性能的持续下降。目前常用的归并方式为以分层的形式在硬盘上进行数据存储,然而如何在严格保证不耗尽NVMe空间的前提下,又充分地利用NVMe空间和HDD空间,从而提升数据库的存储效率是急需解决的技术问题。
发明内容
鉴于以上内容,有必要提出一种基于人工智能的数据分级存储方法、装置、电子设备及存储介质,以解决如何提升数据库的存储效率这一技术问题。
本申请提供一种基于人工智能的数据分级存储方法,所述方法包括:
获取业务数据,并计算所述业务数据的热度得到热度数据;
将预设的业务数据库划分为多个层级以存储所述热度数据,每个所述层级包括一个存储容量;
依据所述存储容量对所有的层级进行筛选获得边界层级;
基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质;
基于所述第一存储介质对所述第二存储介质中的业务数据进行调用。
在一些实施例中,所述获取业务数据,并计算所述业务数据的热度得到热度数据包括:
获取待存储的业务数据,并统计各业务数据被调用的频率;
将各业务数据被调用的频率作为对应的业务数据的热度,并将具有热度的业务数据作为热度数据。
在一些实施例中,所述将预设的业务数据库划分为多个层级以存储所述热度数据包括:
将预设的业务数据库根据不同存储容量划分多个层级,所述存储容量和所述层级一一对应;
依据所述存储容量由小到大的顺序对所有的层级进行排序,排序越靠前的层级对应的存储容量越小;
按照热度由大到小的顺序依次将所述热度数据从前到后存储至经过排序的层级中,热度越大的热度数据对应的层级排序越靠前。
在一些实施例中,所述依据所述存储容量对所有的层级进行筛选获得边界层级包括:
依据所述层级的排序结果从前到后依次对各层级对应的存储容量进行累加获得累加容量;
将所述累加容量满足预设的容量阈值范围的层级作为边界层级。
在一些实施例中,所述基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中包括:
计算所述边界层级对应的存储容量的边界容量,所述边界容量用于表征所述边界层级对应的存储容量能够进行弹性扩展的最大容量;
对比所述边界容量和所述第一存储介质的容量大小获得调度层级;
基于所述调度层级将所述热度数据所在的数据库存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质。
在一些实施例中,所述对比所述边界容量和所述第一存储介质的容量大小获得调度层级包括:
若所述边界容量大于所述第一存储介质的容量,则将所述边界层级作为调度层级;
若所述边界容量不大于所述第一存储介质的容量,则将所述边界层级在排序结果中的下一个层级作为调度层级。
在一些实施例中,所述基于所述第一存储介质对所述第二存储介质中的业务数据进行调用包括:
在所述第一存储介质中开辟缓存空间;
基于所述缓存空间存储所述第二存储介质的元数据以对所述第二存储介质中的业务数据进行调用。
本申请实施例还提供一种基于人工智能的数据分级存储装置,所述装置包括:
计算单元,用于获取业务数据,并计算所述业务数据的热度得到热度数据;
划分单元,用于将预设的业务数据库划分为多个层级以存储所述热度数据,每个所述层级包括一个存储容量;
筛选单元,用于依据所述存储容量对所有的层级进行筛选获得边界层级;
获取单元,用于基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质;
调用单元,用于基于所述第一存储介质对所述第二存储介质中的业务数据进行调用。
本申请实施例还提供一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;
处理器,执行所述存储器中存储的指令以实现所述的基于人工智能的数据分级存储方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述的基于人工智能的数据分级存储方法。
本申请通过将预设的业务数据库划分为多个层级,并通过制定边界层级和调度层级来对业务数据进行分级存储,同时能够利用第一存储介质对第二存储介质的数据调用方式进行优化,从而有效提高了业务数据库的存储效率。
附图说明
图1是本申请所涉及的基于人工智能的数据分级存储方法的较佳实施例的流程图。
图2是本申请所涉及的基于人工智能的数据分级存储装置的较佳实施例的功能模块图。
图3是本申请所涉及的基于人工智能的数据分级存储方法的较佳实施例的电子设备的结构示意图。
图4是LSM-tree在分层策略下各层级的SST分布模式的结构示意图。
图5是SST文件中数据块及元数据部分在数据库中的存储结构示意图。
具体实施方式
为了能够更清楚地理解本申请的目的、特征和优点,下面结合附图和具体实施例对本申请进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。在下面的描述中阐述了很多具体细节以便于充分理解本申请,所述描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本申请实施例提供一种基于人工智能的数据分级存储方法,可应用于一个或者多个电子设备中,电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
电子设备可以是任何一种可与客户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能式穿戴式设备等。
电子设备还可以包括网络设备和/或客户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(Cloud Computing)的由大量主机或网络服务器构成的云。
电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。
如图1所示,是本申请基于人工智能的数据分级存储方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S10,获取业务数据,并计算所述业务数据的热度得到热度数据。
在一个可选的实施例中,所述获取业务数据,并计算所述业务数据的热度得到热度数据包括:
S101,获取待存储的业务数据,并统计各业务数据被调用的频率;
S102,将各业务数据被调用的频率作为对应的业务数据的热度,并将具有热度的业务数据作为热度数据。
该可选的实施例中,可以通过主动获取和被动获取两种形式来获取大量的业务数据。其中,主动获取可以通过预设脚本和配置文件内容,主动读取各业务通道的业务数据;被动获取可以由数据传输私有工具、商用传输工具或者开源传输工具进行数据获取。
该可选的实施例中,可统计各业务数据在预设周期内被调用的频率,所述预设周期可以是一天,也可以是一小时等其他周期,本方案中不做具体限制。其中,可将预设周期内每个相同的业务数据的数据量作为该业务数据被调用的频率。
该可选的实施例中,可将各业务数据被调用的频率作为对应的业务数据的热度,本方案中将所有具有热度的业务数据作为热度数据。
如此,通过计算业务数据的热度,便于后续过程根据热度对业务数据进行分层存储,方便业务数据的存储和调用。
S11,将预设的业务数据库划分为多个层级以存储所述热度数据,每个所述层级包括一个存储容量。
在一个可选的实施例中,所述将预设的业务数据库划分为多个层级以存储所述热度数据包括:
S111,将预设的业务数据库根据不同存储容量划分多个层级;
S112,依据所述存储容量由小到大的顺序对所有的层级进行排序,排序越靠前的层级对应的存储容量越小;
S113,按照热度由大到小的顺序依次将所述热度数据从前到后存储至经过排序的层级中,热度越大的热度数据对应的层级排序越靠前。
该可选的实施例中,所述预设的数据库可以是基于LSM-tree的数据库。其中,LSM-tree(Log-Structured Merge-Tree),即日志合并树,是非关系型数据库***底层存储引擎所普遍采用的键值存储结构,LSM-tree在内存中的数据累计到一定大小时,会将内存数据刷写至持久化存储成为SST(Sorted String Table),即有序键值对集合。SST以文件形式存放在硬盘,是LSM-tree主要的持久化数据形式。
该可选的实施例中,将预设的业务数据库根据不同存储容量划分多个层级,所述存储容量和所述层级一一对应。如图4所示,为LSM-tree在分层策略下各层级的SST分布模式,其中层级0的SST是从内存直接刷写而来,其大小主要受限于内存数据大小相关的配置和实时负载。
该可选的实施例中,可依据所述存储容量由小到大的顺序对所有的层级进行排序,排序越靠前的层级对应的存储容量越小。如图4所示中,从层级1开始,每一个层级的存储容量都有一个限制,且各层级对应的存储容量按照层级由小到大的顺序成固定倍数进行递增,LSM-tree中将所述固定倍数作为扇出倍数,本方案中各相邻层级之间的存储容量的扇出倍数取10。
该可选的实施例中,将所述热度数据按照热度由大到小的顺序依次从前到后存储至经过排序的层级中,热度越大的热度数据对应的层级排序越靠前,原因在于在LSM-tree中越小的层级所包括的热度数据被调用的优先级越高。
如此,通过对预设的业务数据库分级来存储热度数据,可以根据热度对业务数据进行快速调用,提高业务数据的调用效率。
S12,依据所述存储容量对所有的层级进行筛选获得边界层级。
在一个可选的实施例中,所述依据所述存储容量对所有的层级进行筛选获得边界层级包括:
S121,依据所述层级的排序结果从前到后依次对各层级对应的存储容量进行累加获得累加容量;
S122,将所述累加容量满足预设的容量阈值范围的层级作为边界层级。
该可选的实施例中,依据所述层级的排序结果从前到后依次对各层级对应的存储容量进行累加,记层级0到层级n之间的总存储容量为g(n),本方案中将所述总存储容量g(n)作为累加容量。以图4为例,则g(3)=56GB,g(4)=556GB,g(5)=5556GB。
该可选的实施例中,可使用读写吞吐量大、随机读写性能高的NVMe硬盘和相对传统的机械硬盘(HDD)来对所述业务数据库中的热度数据进行联合存储。其中,由于NVMe硬盘的造价更为高昂,因此为了最大化提升热度数据的存储效率,本方案中优先使用NVMe硬盘存储热度数据,并在NVMe硬盘满负载的情况下继续通过机械硬盘(HDD)来对热度数据进行存储。
该可选的实施例中,将所述NVMe硬盘的标准存储容量记为s,则本方案中在s满足g(n)<=s<g(n+1)时,将层级n作为边界层级。原因在于NVMe硬盘的标准存储容量s难以满足边界层级n的下一个层级对应的累加容量,此时需要将层级0到层级n中包括的热度数据存储至所述NVMe硬盘中,将层级n之后的所有层级包括的热度数据存储至机械硬盘(HDD)中。
如此,通过筛选边界层级可以及时对热度数据的存储介质进行调整,保证业务数据库一直保持较高的存储效率。
S13,基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中。
在一个可选的实施例中,所述基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中包括:
S131,计算所述边界层级对应的存储容量的边界容量,所述边界容量用于表征所述边界层级对应的存储容量能够进行弹性扩展的最大容量;
S132,对比所述边界容量和所述第一存储介质的容量大小获得调度层级;
S133,基于所述调度层级将所述热度数据所在的数据库存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质。
该可选的实施例中,每一个层级对应的存储容量在LSM-tree中只是一个参考值,即每一个层级对应的存储容量存在一定的弹性空间。在实际的高负载场景下,LSM-tree第n个层级对应的累加容量g(n)甚至可以膨胀到层级n的存储容量的三倍大小,因此如果NVMe的存储空间被耗尽,LSM-tree对NVMe后续的新增SST的操作会收到文件***“无可用空间”的报错,进而触发数据库程序的“Write Stall”,即写限速等一系列应急机制,导致硬盘性能的大幅度下降。
该可选的实施例中,如果按照关系式g(n)<=s<g(n+1)对热度数据的存储方式直接进行判断,则可能造成存储介质的存储空间的浪费。示例性的,记NVMe的存储空间为400GB,HDD的存储空间为2TB,由于g(3)<400GB<g(4),因此将会把层级0到层级3的所有热度数据作为SST存储到NVMe上,将层级4及之后的层级所包括的所有热度数据作为SST存储到HDD上。此时,昂贵的NVMe存储空间产生了理论上400GB-56GB=344GB的浪费。
该可选的实施例中,为解决NVMe的存储空间可能被浪费和被耗尽的不利情况,本方案中通过计算所述边界层级对应的存储容量的边界容量,并对比所述边界容量和所述第一存储介质的容量大小来获得调度层级,所述调度层级可以根据NVMe的实时可用的存储空间,将SST在NVMe和HDD之间进行动态调整。
该可选的实施例中,将边界层级n对应的累加容量g(n)的三倍值作为所述边界层级的边界容量,记为G(n)。本方案中将存储介质NVMe作为第一存储介质,将存储介质HDD作为第二存储介质。其中,若所述边界容量大于所述第一存储介质的容量s,则将所述边界层级作为调度层级;若所述边界容量不大于所述第一存储介质的容量s,则将所述边界层级在排序结果中的下一个层级作为调度层级,边界层级n仍固定选取NVMe来存储热度数据。
该可选的实施例中,可基于所述调度层级分别将所述热度数据存储至第一存储介质和第二存储介质中。其中,本方案中仅针对所述调度层级中的热度数据进行动态调整,其余层级若低于所述调度层级,则均固定选取第一存储介质NVMe来存储对应的热度数据;其余层级若高于所述调度层级,则固定选取第二存储介质NVMe来存储相应的热度数据。
如此,可以在有效利用第一存储介质NVMe的存储空间的同时,防止第一存储介质NVMe的存储空间被耗尽,进一步提高了业务数据库的存储效率。
S14,基于所述第一存储介质对所述第二存储介质中的业务数据进行调用。
在一个可选的实施例中,所述基于所述第一存储介质对所述第二存储介质中的业务数据进行调用包括:
S141,在所述第一存储介质中开辟缓存空间;
S142,基于所述缓存空间存储所述第二存储介质的元数据以对所述第二存储介质中的业务数据进行调用。
该可选的实施例中,LSM-tree原理决定了其在准确读取数据或判断存在性之前,可能需要遍历读取多个SST的元数据,然而,所述第二存储介质HDD对于随机的热度数据的读取效率较为低下,因此会导致存储于第二存储介质HDD上的热度数据在业务数据库中被调用时的获取时间较长,而所述第一存储介质NVMe则没有这种问题。
该可选的实施例中,为解决第二存储介质HDD对于随机的热度数据的读取效率较为低下的问题,本方案中在所述第一存储介质中开辟特定的缓存空间来存储所述第二存储介质的元数据。原因在于元数据部分大约只占整个热度数据的存储空间的1%,缓存HDD上的所有SST的元数据部分只需要很小的NVMe空间。
如图5所示,该可选的实施例中,所述元数据部分包括页脚块、索引块、元数据索引块和元数据块,在对业务数据库中的热度数据进行调用时,需要首先根据所述页脚块定位所述索引块,然后基于所述索引块定位所述元数据索引块,接着由所述元数据索引块定位得到被调用的热度数据对应的元数据块,并在最后由所述元数据块获得被调用的热度数据。因此,在对所述第二存储介质HDD写入SST时,需要同时将所述元数据部分更新到NVMe的缓存空间中。这样,在读取SST元数据时,可首先选择从NVMe的缓存空间中获取,未命中时再选择从第二存储介质HDD上作进一步获取,从而实现及完成了业务数据的分级存储及快速调用。
如此,可以有效解决第二存储介质HDD在读取热度数据时调用效率不高的问题,提高业务数据库的数据调用效率。
请参见图2,图2是本申请基于人工智能的数据分级存储装置的较佳实施例的功能模块图。基于人工智能的数据分级存储装置11包括计算单元110、划分单元111、筛选单元112、获取单元113、调用单元114。本申请所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
在一个可选的实施例中,计算单元110用于获取业务数据,并计算所述业务数据的热度得到热度数据。
在一个可选的实施例中,所述获取业务数据,并计算所述业务数据的热度得到热度数据包括:
获取待存储的业务数据,并统计各业务数据被调用的频率;
将各业务数据被调用的频率作为对应的业务数据的热度,并将具有热度的业务数据作为热度数据。
该可选的实施例中,可以通过主动获取和被动获取两种形式来获取大量的业务数据。其中,主动获取可以通过预设脚本和配置文件内容,主动读取各业务通道的业务数据;被动获取可以由数据传输私有工具、商用传输工具或者开源传输工具进行数据获取。
该可选的实施例中,可统计各业务数据在预设周期内被调用的频率,所述预设周期可以是一天,也可以是一小时等其他周期,本方案中不做具体限制。其中,可将预设周期内每个相同的业务数据的数据量作为该业务数据被调用的频率。
该可选的实施例中,可将各业务数据被调用的频率作为对应的业务数据的热度,本方案中将所有具有热度的业务数据作为热度数据。
在一个可选的实施例中,划分单元111用于将预设的业务数据库划分为多个层级以存储所述热度数据,每个所述层级包括一个存储容量。
在一个可选的实施例中,所述将预设的业务数据库划分为多个层级以存储所述热度数据包括:
将预设的业务数据库根据不同存储容量划分多个层级;
依据所述存储容量由小到大的顺序对所有的层级进行排序,排序越靠前的层级对应的存储容量越小;
按照热度由大到小的顺序依次将所述热度数据从前到后存储至经过排序的层级中,热度越大的热度数据对应的层级排序越靠前。
该可选的实施例中,所述预设的数据库可以是基于LSM-tree的数据库。其中,LSM-tree(Log-Structured Merge-Tree),即日志合并树,是非关系型数据库***底层存储引擎所普遍采用的键值存储结构,LSM-tree在内存中的数据累计到一定大小时,会将内存数据刷写至持久化存储成为SST(Sorted String Table),即有序键值对集合。SST以文件形式存放在硬盘,是LSM-tree主要的持久化数据形式。
该可选的实施例中,将预设的业务数据库根据不同存储容量划分多个层级,所述存储容量和所述层级一一对应。如图4所示,为LSM-tree在分层策略下各层级的SST分布模式,其中层级0的SST是从内存直接刷写而来,其大小主要受限于内存数据大小相关的配置和实时负载。
该可选的实施例中,可依据所述存储容量由小到大的顺序对所有的层级进行排序,排序越靠前的层级对应的存储容量越小。如图4所示中,从层级1开始,每一个层级的存储容量都有一个限制,且各层级对应的存储容量按照层级由小到大的顺序成固定倍数进行递增,LSM-tree中将所述固定倍数作为扇出倍数,本方案中各相邻层级之间的存储容量的扇出倍数取10。
该可选的实施例中,将所述热度数据按照热度由大到小的顺序依次从前到后存储至经过排序的层级中,热度越大的热度数据对应的层级排序越靠前,原因在于在LSM-tree中越小的层级所包括的热度数据被调用的优先级越高。
在一个可选的实施例中,筛选单元112用于依据所述存储容量对所有的层级进行筛选获得边界层级。
在一个可选的实施例中,所述依据所述存储容量对所有的层级进行筛选获得边界层级包括:
依据所述层级的排序结果从前到后依次对各层级对应的存储容量进行累加获得累加容量;
将所述累加容量满足预设的容量阈值范围的层级作为边界层级。
该可选的实施例中,依据所述层级的排序结果从前到后依次对各层级对应的存储容量进行累加,记层级0到层级n之间的总存储容量为g(n),本方案中将所述总存储容量g(n)作为累加容量。以图4为例,则g(3)=56GB,g(4)=556GB,g(5)=5556GB。
该可选的实施例中,可使用读写吞吐量大、随机读写性能高的NVMe硬盘和相对传统的机械硬盘(HDD)来对所述业务数据库中的热度数据进行联合存储。其中,由于NVMe硬盘的造价更为高昂,因此为了最大化提升热度数据的存储效率,本方案中优先使用NVMe硬盘存储热度数据,并在NVMe硬盘满负载的情况下继续通过机械硬盘(HDD)来对热度数据进行存储。
该可选的实施例中,将所述NVMe硬盘的标准存储容量记为s,则本方案中在s满足g(n)<=s<g(n+1)时,将层级n作为边界层级。原因在于NVMe硬盘的标准存储容量s难以满足边界层级n的下一个层级对应的累加容量,此时需要将层级0到层级n中包括的热度数据存储至所述NVMe硬盘中,将层级n之后的所有层级包括的热度数据存储至机械硬盘(HDD)中。
在一个可选的实施例中,获取单元113用于基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中。
在一个可选的实施例中,所述基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中包括:
计算所述边界层级对应的存储容量的边界容量,所述边界容量用于表征所述边界层级对应的存储容量能够进行弹性扩展的最大容量;
对比所述边界容量和所述第一存储介质的容量大小获得调度层级;
基于所述调度层级将所述热度数据所在的数据库存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质。
该可选的实施例中,每一个层级对应的存储容量在LSM-tree中只是一个参考值,即每一个层级对应的存储容量存在一定的弹性空间。在实际的高负载场景下,LSM-tree第n个层级对应的累加容量g(n)甚至可以膨胀到层级n的存储容量的三倍大小,因此如果NVMe的存储空间被耗尽,LSM-tree对NVMe后续的新增SST的操作会收到文件***“无可用空间”的报错,进而触发数据库程序的“Write Stall”,即写限速等一系列应急机制,导致硬盘性能的大幅度下降。
该可选的实施例中,如果按照关系式g(n)<=s<g(n+1)对热度数据的存储方式直接进行判断,则可能造成存储介质的存储空间的浪费。示例性的,记NVMe的存储空间为400GB,HDD的存储空间为2TB,由于g(3)<400GB<g(4),因此将会把层级0到层级3的所有热度数据作为SST存储到NVMe上,将层级4及之后的层级所包括的所有热度数据作为SST存储到HDD上。此时,昂贵的NVMe存储空间产生了理论上400GB-56GB=344GB的浪费。
该可选的实施例中,为解决NVMe的存储空间可能被浪费和被耗尽的不利情况,本方案中通过计算所述边界层级对应的存储容量的边界容量,并对比所述边界容量和所述第一存储介质的容量大小来获得调度层级,所述调度层级可以根据NVMe的实时可用的存储空间,将SST在NVMe和HDD之间进行动态调整。
该可选的实施例中,将边界层级n对应的累加容量g(n)的三倍值作为所述边界层级的边界容量,记为G(n)。本方案中将存储介质NVMe作为第一存储介质,将存储介质HDD作为第二存储介质。其中,若所述边界容量大于所述第一存储介质的容量s,则将所述边界层级作为调度层级;若所述边界容量不大于所述第一存储介质的容量s,则将所述边界层级在排序结果中的下一个层级作为调度层级,边界层级n仍固定选取NVMe来存储热度数据。
该可选的实施例中,可基于所述调度层级分别将所述热度数据存储至第一存储介质和第二存储介质中。其中,本方案中仅针对所述调度层级中的热度数据进行动态调整,其余层级若低于所述调度层级,则均固定选取第一存储介质NVMe来存储对应的热度数据;其余层级若高于所述调度层级,则固定选取第二存储介质NVMe来存储相应的热度数据。
在一个可选的实施例中,调用单元114用于基于所述第一存储介质对所述第二存储介质中的业务数据进行调用。
在一个可选的实施例中,所述基于所述第一存储介质对所述第二存储介质中的业务数据进行调用包括:
在所述第一存储介质中开辟缓存空间;
基于所述缓存空间存储所述第二存储介质的元数据以对所述第二存储介质中的业务数据进行调用。
该可选的实施例中,LSM-tree原理决定了其在准确读取数据或判断存在性之前,可能需要遍历读取多个SST的元数据,然而,所述第二存储介质HDD对于随机的热度数据的读取效率较为低下,因此会导致存储于第二存储介质HDD上的热度数据在业务数据库中被调用时的获取时间较长,而所述第一存储介质NVMe则没有这种问题。
该可选的实施例中,为解决第二存储介质HDD对于随机的热度数据的读取效率较为低下的问题,本方案中在所述第一存储介质中开辟特定的缓存空间来存储所述第二存储介质的元数据。原因在于元数据部分大约只占整个热度数据的存储空间的1%,缓存HDD上的所有SST的元数据部分只需要很小的NVMe空间。
如图5所示,该可选的实施例中,所述元数据部分包括页脚块、索引块、元数据索引块和元数据块,在对业务数据库中的热度数据进行调用时,需要首先根据所述页脚块定位所述索引块,然后基于所述索引块定位所述元数据索引块,接着由所述元数据索引块定位得到被调用的热度数据对应的元数据块,并在最后由所述元数据块获得被调用的热度数据。因此,在对所述第二存储介质HDD写入SST时,需要同时将所述元数据部分更新到NVMe的缓存空间中。这样,在读取SST元数据时,可首先选择从NVMe的缓存空间中获取,未命中时再选择从第二存储介质HDD上作进一步获取,从而实现及完成了业务数据的分级存储及快速调用。
由以上技术方案可以看出,本申请能够通过将预设的业务数据库划分为多个层级,并通过制定边界层级和调度层级来对业务数据进行分级存储,同时能够利用第一存储介质对第二存储介质的数据调用方式进行优化,从而有效提高了业务数据库的存储效率。
请参见图3,是本申请实施例提供的一种电子设备的结构示意图。电子设备1包括存储器12和处理器13。存储器12用于存储计算机可读指令,处理器13用执行所述储器中存储的计算机可读指令以实现上述任一实施例所述的基于人工智能的数据分级存储方法。
在一个可选的实施例中,电子设备1还包括总线、存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如基于人工智能的数据分级存储程序。
图3仅示出了具有存储器12和处理器13的电子设备1,本领域技术人员可以理解的是,图3示出的结构并不构成对电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
结合图1,电子设备1中的所述存储器12存储多个计算机可读指令以实现一种基于人工智能的数据分级存储方法,所述处理器13可执行所述多个指令从而实现:
获取业务数据,并计算所述业务数据的热度得到热度数据;
将预设的业务数据库划分为多个层级以存储所述热度数据,每个所述层级包括一个存储容量;
依据所述存储容量对所有的层级进行筛选获得边界层级;
基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质;
基于所述第一存储介质对所述第二存储介质中的业务数据进行调用。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,电子设备1可以是总线型结构,也可以是星形结构,电子设备1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置,例如电子设备1还可以包括输入输出设备、网络接入设备等。
需要说明的是,电子设备1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本申请,也应包含在本申请的保护范围以内,并以引用方式包含于此。
其中,存储器12至少包括一种类型的可读存储介质,所述可读存储介质可以是非易失性的,也可以是易失性的。所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器12在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。存储器12在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)等。存储器12不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如基于人工智能的数据分级存储程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。处理器13是电子设备1的控制核心(Control Unit),利用各种接口和线路连接整个电子设备1的各个部件,通过运行或执行存储在所述存储器12内的程序或者模块(例如执行基于人工智能的数据分级存储程序等),以及调用存储在所述存储器12内的数据,以执行电子设备1的各种功能和处理数据。
所述处理器13执行所述电子设备1的操作***以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个基于人工智能的数据分级存储方法实施例中的步骤,例如图1所示的步骤。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本申请。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机程序在电子设备1中的执行过程。例如,所述计算机程序可以被分割成计算单元110、划分单元111、筛选单元112、获取单元113、调用单元114。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、计算机设备,或者网络设备等)或处理器(processor)执行本申请各个实施例所述的基于人工智能的数据分级存储方法的部分。
电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指示相关的硬件设备来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存储器及其他存储器等。
进一步地,计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,在图3中仅用一根箭头表示,但并不表示仅有一根总线或一种类型的总线。所述总线被设置为实现所述存储器12以及至少一个处理器13等之间的连接通信。
本申请实施例还提供一种计算机可读存储介质(图未示),计算机可读存储介质中存储有计算机可读指令,计算机可读指令被电子设备中的处理器执行以实现上述任一实施例所述的基于人工智能的数据分级存储方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。说明书陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本申请的技术方案而非限制,尽管参照较佳实施例对本申请进行了详细说明,本领域的普通技术人员应当理解,可以对本申请的技术方案进行修改或等同替换,而不脱离本申请技术方案的精神和范围。
Claims (10)
1.一种基于人工智能的数据分级存储方法,其特征在于,所述方法包括:
获取业务数据,并计算所述业务数据的热度得到热度数据;
将预设的业务数据库划分为多个层级以存储所述热度数据,每个所述层级包括一个存储容量;
依据所述存储容量对所有的层级进行筛选获得边界层级;
基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质;
基于所述第一存储介质对所述第二存储介质中的业务数据进行调用。
2.如权利要求1所述的基于人工智能的数据分级存储方法,其特征在于,所述获取业务数据,并计算所述业务数据的热度得到热度数据包括:
获取待存储的业务数据,并统计各业务数据被调用的频率;
将各业务数据被调用的频率作为对应的业务数据的热度,并将具有热度的业务数据作为热度数据。
3.如权利要求1所述的基于人工智能的数据分级存储方法,其特征在于,所述将预设的业务数据库划分为多个层级以存储所述热度数据包括:
将预设的业务数据库根据不同存储容量划分多个层级,所述存储容量和所述层级一一对应;
依据所述存储容量由小到大的顺序对所有的层级进行排序,排序越靠前的层级对应的存储容量越小;
按照热度由大到小的顺序依次将所述热度数据从前到后存储至经过排序的层级中,热度越大的热度数据对应的层级排序越靠前。
4.如权利要求1所述的基于人工智能的数据分级存储方法,其特征在于,所述依据所述存储容量对所有的层级进行筛选获得边界层级包括:
依据所述层级的排序结果从前到后依次对各层级对应的存储容量进行累加获得累加容量;
将所述累加容量满足预设的容量阈值范围的层级作为边界层级。
5.如权利要求4所述的基于人工智能的数据分级存储方法,其特征在于,所述基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中包括:
计算所述边界层级对应的存储容量的边界容量,所述边界容量用于表征所述边界层级对应的存储容量能够进行弹性扩展的最大容量;
对比所述边界容量和所述第一存储介质的容量大小获得调度层级;
基于所述调度层级将所述热度数据所在的数据库存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质。
6.如权利要求5所述的基于人工智能的数据分级存储方法,其特征在于,所述对比所述边界容量和所述第一存储介质的容量大小获得调度层级包括:
若所述边界容量大于所述第一存储介质的容量,则将所述边界层级作为调度层级;
若所述边界容量不大于所述第一存储介质的容量,则将所述边界层级在排序结果中的下一个层级作为调度层级。
7.如权利要求1所述的基于人工智能的数据分级存储方法,其特征在于,所述基于所述第一存储介质对所述第二存储介质中的业务数据进行调用包括:
在所述第一存储介质中开辟缓存空间;
基于所述缓存空间存储所述第二存储介质的元数据以对所述第二存储介质中的业务数据进行调用。
8.一种基于人工智能的数据分级存储装置,其特征在于,所述装置包括:
计算单元,用于获取业务数据,并计算所述业务数据的热度得到热度数据;
划分单元,用于将预设的业务数据库划分为多个层级以存储所述热度数据,每个所述层级包括一个存储容量;
筛选单元,用于依据所述存储容量对所有的层级进行筛选获得边界层级;
获取单元,用于基于所述边界层级获取调度层级以将所述热度数据存储至不同的存储介质中,所述存储介质包括第一存储介质和第二存储介质;
调用单元,用于基于所述第一存储介质对所述第二存储介质中的业务数据进行调用。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,存储有计算机可读指令;及
处理器,执行所述存储器中存储的计算机可读指令以实现如权利要求1至7中任意一项所述的基于人工智能的数据分级存储方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于人工智能的数据分级存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900100.4A CN115221174A (zh) | 2022-07-28 | 2022-07-28 | 基于人工智能的数据分级存储方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210900100.4A CN115221174A (zh) | 2022-07-28 | 2022-07-28 | 基于人工智能的数据分级存储方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221174A true CN115221174A (zh) | 2022-10-21 |
Family
ID=83613208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210900100.4A Pending CN115221174A (zh) | 2022-07-28 | 2022-07-28 | 基于人工智能的数据分级存储方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115221174A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931530A (zh) * | 2024-03-22 | 2024-04-26 | 山东昌禹知商信息技术服务有限公司 | 一种数据库物理备份恢复处理方法和*** |
-
2022
- 2022-07-28 CN CN202210900100.4A patent/CN115221174A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117931530A (zh) * | 2024-03-22 | 2024-04-26 | 山东昌禹知商信息技术服务有限公司 | 一种数据库物理备份恢复处理方法和*** |
CN117931530B (zh) * | 2024-03-22 | 2024-06-07 | 山东昌禹知商信息技术服务有限公司 | 一种数据库物理备份恢复处理方法和*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180285167A1 (en) | Database management system providing local balancing within individual cluster node | |
US20160350302A1 (en) | Dynamically splitting a range of a node in a distributed hash table | |
CN109271343B (zh) | 一种应用于键值存储***中的数据合并方法和装置 | |
US9658826B2 (en) | Sorting multiple records of data using ranges of key values | |
CN102725753B (zh) | 优化数据访问的方法及装置、优化数据存储的方法及装置 | |
CN109558084B (zh) | 一种数据处理方法以及相关设备 | |
CN112597153B (zh) | 一种基于区块链的数据存储方法、装置及存储介质 | |
CN103593256A (zh) | 一种基于多层排重的虚机快照备份方法和*** | |
US20240118939A1 (en) | Utilizing key value-based record distribution data to perform parallelized segment generation in a database system | |
CN107665219A (zh) | 一种日志管理方法及装置 | |
CN110309143A (zh) | 数据相似度确定方法、装置及处理设备 | |
CN115221174A (zh) | 基于人工智能的数据分级存储方法、装置、设备及介质 | |
GB2497172A (en) | Reserving space on a storage device for new data based on predicted changes in access frequencies of storage devices | |
CN110737727B (zh) | 一种数据处理的方法及*** | |
US7509461B1 (en) | Method and apparatus for intelligent buffer cache pre-emption | |
US9275091B2 (en) | Database management device and database management method | |
US11210236B2 (en) | Managing global counters using local delta counters | |
CN116132448B (zh) | 基于人工智能的数据分流方法及相关设备 | |
US20240220470A1 (en) | Data storage device and storage control method based on log-structured merge tree | |
CN116150184A (zh) | 基于大数据的冷热数据分离方法、装置、设备及介质 | |
CN116661685A (zh) | 业务行为感知的对象存储元数据分级存储方法与*** | |
CN107704478A (zh) | 一种写入日志的方法和*** | |
CN114860722A (zh) | 基于人工智能的数据分片方法、装置、设备及介质 | |
CN115269519A (zh) | 一种日志检测方法、装置及电子设备 | |
CN114860690A (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 |