基于B+树数据库的空闲页管理方法、装置及存储介质与流程

文档序号:32654988发布日期:2022-12-23 21:14阅读:43来源:国知局
基于B+树数据库的空闲页管理方法、装置及存储介质与流程
基于b+树数据库的空闲页管理方法、装置及存储介质
技术领域
1.本发明存储技术领域,具体的涉及基于b+树数据库的空闲页管理方法、装置及存储介质。


背景技术:

2.b+树数据库:以b+树数据结构来创建的数据库,是一种持久化数据库,能提供高效地写入/查询/更新/删除的能力。
3.空闲页:当数据库连续运行一段时间后,数据被频繁地写入/删除后,内存/文件中会产生大量不连续的空间,这些空间可用来再次分配数据,这些已释放的不连续空间叫做空闲页。
4.磁盘存储领域,b+树是一种支持高性能读写,并支持range查询的技术。b+树存储数据时,磁盘和内存可相互映射,方便应用程序通过读写内存来操作磁盘。此时应用程序不仅需要管理数据页信息,而且也同步需要管理空闲页信息。因为随着不断的写入及删除操作,数据页会被频繁地写入擦出再写入,当前的数据页哪些是被使用,哪些是未使用可复用的,需要精确地记录在案,这也就是空闲页管理需要完成的事情。当前的空闲页管理,是在每次写入/删除时同步将空闲页信息写入到磁盘文件中的,当系统需要存储大数据量时,空闲页可能会达到mb级别,每次写入的数据量可能仅有kb级别,而空闲页是数据量的千倍,此时写入时会有严重的性能瓶颈。
5.有鉴于此,特提出本发明专利。


技术实现要素:

6.针对以上所述的性能问题,本发明提出基于b+树数据库的空闲页管理方法,此空闲页管理方法在大数据量场景下频繁写入/删除时性能更高,具体地,采用了如下技术方案:
7.基于b+树数据库的空闲页管理方法,包括:
8.空闲页增量数据写入流程:写事务开始执行,根据写事务针对空闲页进行操作,并记录空闲页的增量页数据信息;
9.空闲页全量数据写入流程:当所述空闲页全量数据写入流程开始执行的配置条件被触发时,获取全量空闲页数据信息进行写入,并在全量空闲页数据信息写入完成后清空相应的增量页数据信息。
10.作为本发明的可选实施方式,本发明的基于b+树数据库的空闲页管理方法中,所述空闲页增量数据写入流程:写事务开始执行,根据写事务针对空闲页进行操作,并记录空闲页的增量页数据信息包括:
11.写事务开始;
12.逐条执行写事务的每一条语句:如果是put操作,则分配满足当前put操作需要的页空间,如果是删除操作,查找到对应的页空间;
13.写事务提交:不记录全量空闲页,空闲页的增量页数据信息在执行写事务的相应流程中进行落盘。
14.作为本发明的可选实施方式,本发明的基于b+树数据库的空闲页管理方法中,所述逐条执行写事务的每一条语句过程中如果是put操作,则分配满足当前put操作需要的页空间包括:
15.从空闲页中查找,查找到可用的空闲页空间,则从空闲页中释放对应的空闲页空间;
16.如果空闲页中未找到,则从应用中的未使用地址开始找到可用的页空间;
17.记录空闲页的增量页数据并落盘,所述的增量页数据包括事务id,空闲页id及操作方式:移除。
18.作为本发明的可选实施方式,本发明的基于b+树数据库的空闲页管理方法中,所述逐条执行写事务的每一条语句过程中如果是删除操作,查找到对应的页空间包括:
19.遍历b+树数据库当前数据页信息,查找删除操作对象页;
20.若查找失败,则忽略,若查找成功,则将查找的删除操作对象页加入到空闲页中;
21.记录空闲页的增量页数据并落盘,所述的增量页数据包括事务id,空闲页id及操作方式:加入。
22.作为本发明的可选实施方式,本发明的基于b+树数据库的空闲页管理方法中,所述空闲页全量数据写入流程:当所述空闲页全量数据写入流程开始执行的配置条件被触发时,获取全量空闲页数据信息进行写入,并在全量空闲页数据信息写入完成后清空相应的增量页数据信息包括:
23.写事务开始;
24.执行空事务;
25.事务提交:记录全量空闲页及事务id,并落盘,清空本次空闲页全量数据写入流程与上次空闲页全量数据写入流程之间记录的全部增量页数据。
26.作为本发明的可选实施方式,本发明的基于b+树数据库的空闲页管理方法中,所述空闲页全量数据写入流程开始执行的配置条件被触发包括:
27.所述的配置条件为相邻两次空闲页全量数据写入流程之间的时间间隔是否达到预设时间间隔t0,当上次空闲页全量数据写入流程执行完成后时间间隔达到t0时,则配置条件被触发,本次空闲页全量数据写入流程开始执行,其中所述的预设时间间隔t0根据数据库的写入峰值配置;
28.和/或,所述的配置条件为是否接收到调用指令,当接收到程序主动触发空闲页全量数据写入流程的调用指令时,则配置条件被触发,空闲页全量数据写入流程开始执行。
29.作为本发明的可选实施方式,本发明的基于b+树数据库的空闲页管理方法,还包括b+树数据库重启流程:
30.首先读取全量空闲页数据到全局空闲页列表,同时读取当前事务id;
31.再读取全部的增量页数据,将增量页数据与全量空闲页数据中的同一空闲页数据进行整合,以确定b+树数据库重启后针对所述空闲页执行的事务。
32.作为本发明的可选实施方式,本发明的基于b+树数据库的空闲页管理方法中,所述将增量页数据与全量空闲页数据中的同一空闲页数据进行整合,以确定b+树数据库重启
后针对所述空闲页执行的事务包括:
33.逐一检查增量页数据中各个空闲页的增量事务id;
34.如果增量事务id不晚于当前的事务id被记录,则忽略增量事务id;
35.如果增量事务id晚于当前的事务id被记录,则应用当前增量页数据,若事务操作是移除,则从全局空闲页列表中移除该空闲页id;若事务操作是加入,则将该空闲页id加入到全局空闲页列表中。
36.本发明同时提供一种基于b+树数据库的空闲页管理装置,包括:
37.空闲页增量数据写入模块:写事务开始执行,根据写事务针对空闲页进行操作,并记录空闲页的增量页数据信息;
38.空闲页全量数据写入模块:当所述空闲页全量数据写入流程开始执行的配置条件被触发时,获取全量空闲页数据信息进行写入,并在全量空闲页数据信息写入完成后清空相应的增量页数据信息。
39.本发明还提供一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行所述的基于b+树数据库的空闲页管理方法。
40.本发明同时还提供一种计算机可读存储介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现所述的基于b+树数据库的空闲页管理方法。
41.与现有技术相比,本发明的有益效果:
42.本发明的基于b+树数据库的空闲页管理方法的改进流程分两步:
43.1、空闲页增量数据写入:每一次事务提交都会执行。
44.2、空闲页全量数据写入:当配置条件被触发时执行一次全量的空闲页提交。
45.这样,本发明的基于b+树数据库的空闲页管理方法目的是通过拆分空闲页的数据量,降低每次写事务的空闲页写入的执行时间,优化空闲页在大数据量下的性能瓶颈。
46.本发明针对b+树存储大数量且存在较大的空闲页时,写事务提交时空闲页的写入存在巨大的性能损耗的问题,提出了一种空闲页增量数据写入流程+空闲页全量数据写入流程的空闲页管理方法,解决了b+树大数据量下增删数据时的写性能难题,具有较高的创新性和使用价值。
附图说明:
47.图1本发明实施例基于b+树数据库的空闲页管理方法的流程图一;
48.图2本发明实施例基于b+树数据库的空闲页管理方法的流程图二;
49.图3本发明实施例基于b+树数据库的空闲页管理方法的流程图三;
50.图4本发明实施例基于b+树数据库的空闲页管理方法的流程图四。
具体实施方式
51.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。
52.因此,以下对本发明的实施例的详细描述并非旨在限制要求保护的本发明的范
围,而是仅仅表示本发明的部分实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
53.需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征和技术方案可以相互组合。
54.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
55.在本发明的描述中,需要说明的是,术语“上”、“下”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,这类术语仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
56.参见图1所示,本实施例的基于b+树数据库的空闲页管理方法,包括:
57.空闲页增量数据写入流程:写事务开始执行,根据写事务针对空闲页进行操作,并记录空闲页的增量页数据信息;
58.空闲页全量数据写入流程:当所述空闲页全量数据写入流程开始执行的配置条件被触发时,获取全量空闲页数据信息进行写入,并在全量空闲页数据信息写入完成后清空相应的增量页数据信息。
59.本实施例的基于b+树数据库的空闲页管理方法的改进流程分两步:
60.1、空闲页增量数据写入:每一次事务提交都会执行。
61.2、空闲页全量数据写入:当配置条件被触发时执行一次全量的空闲页提交。
62.这样,本实施例的基于b+树数据库的空闲页管理方法目的是通过拆分空闲页的数据量,降低每次写事务的空闲页写入的执行时间,优化空闲页在大数据量下的性能瓶颈。
63.本实施例针对b+树存储大数量且存在较大的空闲页时,写事务提交时空闲页的写入存在巨大的性能损耗的问题,提出了一种空闲页增量数据写入流程+空闲页全量数据写入流程的空闲页管理方法,解决了b+树大数据量下增删数据时的写性能难题,具有较高的创新性和使用价值。
64.参见图2所示,作为本实施例的可选实施方式,本实施例所述的基于b+树数据库的空闲页管理方法中,所述空闲页增量数据写入流程:写事务开始执行,根据写事务针对空闲页进行操作,并记录空闲页的增量页数据信息包括:
65.写事务开始;
66.逐条执行写事务的每一条语句:如果是put操作,则分配满足当前put操作需要的页空间,如果是删除操作,查找到对应的页空间;
67.写事务提交:不记录全量空闲页,空闲页的增量页数据信息在执行写事务的相应流程中进行落盘。
68.本实施例所述的基于b+树数据库的空闲页管理方法中,应用程序不仅需要管理数据页信息,而且也同步需要管理空闲页信息,在执行写事务时,根据写事务的具体操作进行数据页和空闲页的管理,同步更新信息。具体地,写事务中的put操作是将批数据先写入临时缓冲区,检查内存里面有没有空位置,如果有就传入数据,如果没有对应空闲页就把数据
回滚到临时缓冲区。写事务中的删除操作是将数据页中的信息进行删除,删除完后将数据页加入空闲页进行空闲页管理。
69.具体地,参见图2所示,本实施例基于b+树数据库的空闲页管理方法中,所述逐条执行写事务的每一条语句过程中如果是put操作,则分配满足当前put操作需要的页空间包括:
70.从空闲页中查找,查找到可用的空闲页空间,则从空闲页中释放对应的空闲页空间;
71.如果空闲页中未找到,则从应用中的未使用地址开始找到可用的页空间;
72.记录空闲页的增量页数据并落盘,所述的增量页数据包括事务id,空闲页id及操作方式:移除。
73.具体地,参见图2所示,本实施例基于b+树数据库的空闲页管理方法中,所述逐条执行写事务的每一条语句过程中如果是删除操作,查找到对应的页空间包括:
74.遍历b+树数据库当前数据页信息,查找删除操作对象页;
75.若查找失败,则忽略,若查找成功,则将查找的删除操作对象页加入到空闲页中;
76.记录空闲页的增量页数据并落盘,所述的增量页数据包括写事务id,空闲页id及操作方式:加入。
77.本实施例的基于b+树数据库的空闲页管理方法,空闲页增量数据写入是为每一次分配空间的操作,及加入到空闲页的操作记录增量页数据:
78.1,对于分配空间的操作,记录增量页数据(事务id,空闲页id,操作:移除);
79.2,对于加入到空闲页的操作,记录增量页数据(事务id,空闲页id,操作:加入)。
80.本实施例的基于b+树数据库的空闲页管理方法,在执行每次写事务时,只进行当次写事务的操作数据进行增量写入,确保了每次写事务能够被及时处理,避免每次写事务都进行全量数据写入造成执行时间长,执行性能低的问题。
81.具体地,参见图3所示,本实施例的基于b+树数据库的空闲页管理方法中,所述空闲页全量数据写入流程:当所述空闲页全量数据写入流程开始执行的配置条件被触发时,获取全量空闲页数据信息进行写入,并在全量空闲页数据信息写入完成后清空相应的增量页数据信息包括:
82.写事务开始;
83.执行空事务;
84.事务提交:记录全量空闲页及事务id,并落盘,清空本次空闲页全量数据写入流程与上次空闲页全量数据写入流程之间记录的全部增量页数据。
85.同时,为了实现针对空闲页的全面管理,且保证空闲页查询的效率,本实施例需要进行全量数据写入,将增量空闲页数据更新到全量空闲页数据中,这样程序可通过全量空闲页数据针对空闲页进行管理;但是空闲页全量数据写入流程耗时较长,可以通过触发配置条件,从而降低空闲页全量数据写入流程对于系统性能的占用和影响。
86.作为本实施例的可选实施方式,本实施例的基于b+树数据库的空闲页管理方法实现的时候,记录的id,可以用事务id,也可以用其他id来替代。
87.作为本实施例的可选实施方式,本实施例的基于b+树数据库的空闲页管理方法中,所述空闲页全量数据写入流程开始执行的配置条件被触发包括:
88.配置条件一:所述的配置条件为相邻两次空闲页全量数据写入流程之间的时间间隔是否达到预设时间间隔t0,当上次空闲页全量数据写入流程执行完成后时间间隔达到t0时,则配置条件被触发,本次空闲页全量数据写入流程开始执行,其中所述的预设时间间隔t0根据数据库的写入峰值配置。
89.配置条件二:所述的配置条件为是否接收到调用指令,当接收到程序主动触发空闲页全量数据写入流程的调用指令时,则配置条件被触发,空闲页全量数据写入流程开始执行。
90.配置条件三:所述的配置条件为相邻两次空闲页全量数据写入流程之间的空闲页增量数据写入流程的执行次数是否达到预设次数n0,当上次空闲页全量数据写入流程执行完成后空闲页增量数据写入流程的执行次数达到n0时,则配置条件被触发,本次空闲页全量数据写入流程开始执行。
91.本实施例的配置条件一、配置条件二和配置三可同时设定,程序以配置条件一或者配置条件二被触发执行空闲页全量数据写入流程,同时还可根据程序的具体运行需求主动发出触发指令,执行空闲页全量数据写入流程。
92.作为本实施例的可选实施方式,本实施例增量空闲页数据,可以是原文数据结构,也可以是压缩型的,也可以是变种。
93.因此,本实施例的基于b+树数据库的空闲页管理方法针对现有b+树数据库的空闲页管理方法进行改进,改进前,写事务的完整流程如下:
94.1,写事务开始。
95.2,逐条执行,写事务的每一条语句。
96.a,如果是put操作,则分配满足当前put需要的页空间;
97.a.1,首先从空闲页中查找,查找到可用的页空间,则从空闲页中释放对应的页空间;
98.a.2,如果空闲页中未找到,则从应用中的未使用地址开始找到可用的页空间;
99.b,如果是删除操作,查找到对应的页空间,没有找到则忽略,找到则将此空间加入到空闲页中;
100.3,事务提交。
101.a,数据部分在每次put操作时已经写入到对应的页空间,此部分忽略;
102.b,为空闲页分配空间,空闲页信息写入到该空间,将此空间的页id记录到数据库的meta信息。
103.本实施例的基于b+树数据库的空闲页管理方法中,空闲页管理的改进流程分两步:
104.1,增量写入:每一次提交都会执行;
105.2,全量写入:每隔n秒执行一次全量的空闲页提交(n可配,根据数据库的写入峰值配置)。
106.本实施例的基于b+树数据库的空闲页管理方法目的是通过拆分空闲页的数据量,降低每次写事务的空闲页写入的执行时间,优化空闲页在大数据量下的性能瓶颈。
107.具体示例比如:空闲页数据量已经到了20gb,假设每页为4kb,页id为uint64,占8个字节,则采用改进前的方案,每次commit1kb数据,需要写入20gb/4kb*8b=40mb,仅10次
写事务执行就需要写入400mb。
108.改进后的方案,每次commit 1kb,分配1页,假设10次写事务仅执行一次全量写入,那么总写入量为:40mb+10*8b约等于40mb。
109.由此可知,两者写入数据量相差10倍,写入时间恒定的情况下,本实施例的基于b+树数据库的空闲页管理方法的总写入时间是改进前的1/10。
110.作为本实施例的可选实施方式,参见图4所示,本实施例的基于b+树数据库的空闲页管理方法,还包括b+树数据库重启流程:
111.首先读取全量空闲页数据到全局空闲页列表,同时读取当前事务id;
112.再读取全部的增量页数据,将增量页数据与全量空闲页数据中的同一空闲页数据进行整合,以确定b+树数据库重启后针对所述空闲页执行的事务。
113.本实施例的基于b+树数据库的空闲页管理方法,通过空闲页增量数据写入流程+空闲页全量数据写入流程的空闲页管理方法,解决了b+树大数据量下增删数据时的写性能难题,具有较高的创新性和使用价值;当在b+树数据库重启时,需要针对全量空闲页数据和增量页数据进行统一,避免全量空闲页数据和增量页数据不一致造成报错。
114.具体地,本实施例的基于b+树数据库的空闲页管理方法中,所述将增量页数据与全量空闲页数据中的同一空闲页数据进行整合,以确定b+树数据库重启后针对所述空闲页执行的事务包括:
115.逐一检查增量页数据中各个空闲页的增量事务id;
116.如果增量事务id不晚于当前的事务id被记录,则忽略增量事务id;
117.如果增量事务id晚于当前的事务id被记录,则应用当前增量页数据,若事务操作是移除,则从全局空闲页列表中移除该空闲页id;若事务操作是加入,则将该空闲页id加入到全局空闲页列表中。
118.本实施例的基于b+树数据库的空闲页管理方法,提出了一种空闲页增量数据写入流程+空闲页全量数据写入流程的空闲页管理方法,改变了每次写事务执行时都进行全量空闲页数据写入的方式,这种流程的改动使得b+树存储在大数据量下也能具备良好的性能,让b+树存储具备高可用的能力。
119.本实施例同时提供基于b+树数据库的空闲页管理装置,包括:
120.空闲页增量数据写入模块:写事务开始执行,根据写事务针对空闲页进行操作,并记录空闲页的增量页数据信息;
121.空闲页全量数据写入模块:当所述空闲页全量数据写入流程开始执行的配置条件被触发时,获取全量空闲页数据信息进行写入,并在全量空闲页数据信息写入完成后清空相应的增量页数据信息。
122.本实施例的基于b+树数据库的空闲页管理装置针对空闲页管理的改进流程分两步:
123.1、空闲页增量数据写入:每一次事务提交都会执行。
124.2、空闲页全量数据写入:当配置条件被触发时执行一次全量的空闲页提交。
125.这样,本实施例的基于b+树数据库的空闲页管理装置,在进行空闲页管理时是通过拆分空闲页的数据量,降低每次写事务的空闲页写入的执行时间,优化空闲页在大数据量下的性能瓶颈。
126.本实施例基于b+树数据库的空闲页管理装置,针对b+树存储大数量且存在较大的空闲页时,写事务提交时空闲页的写入存在巨大的性能损耗的问题,通过空闲页增量数据写入模块实现空闲页增量数据写入流程与空闲页全量数据写入模块实现空闲页全量数据写入流程的方式结合,解决了b+树大数据量下增删数据时的写性能难题,具有较高的创新性和使用价值。
127.作为本实施例的可选实施方式,本实施例所述的基于b+树数据库的空闲页管理装置中,所述空闲页增量数据写入模块包括:
128.事务执行单元:写事务开始,逐条执行写事务的每一条语句:如果是put操作,则分配满足当前put操作需要的页空间,如果是删除操作,查找到对应的页空间;
129.增量页数据写入单元:不记录全量空闲页,空闲页的增量页数据信息在执行写事务的相应流程中进行落盘。
130.本实施例所述的基于b+树数据库的空闲页管理装置中,应用程序不仅需要管理数据页信息,而且也同步需要管理空闲页信息,事务执行单元在执行写事务时,增量页数据写入单元根据写事务的具体操作进行数据页和空闲页的管理,同步更新信息。
131.具体地,写事务中的put操作是将批数据先写入临时缓冲区,检查内存里面有没有空位置,如果有就传入数据,如果没有对应空闲页就把数据回滚到临时缓冲区。写事务中的删除操作是将数据页中的信息进行删除,删除完后将数据页加入空闲页进行空闲页管理。
132.具体地,本实施例事务执行单元逐条执行写事务的每一条语句过程中如果是put操作,则分配满足当前put操作需要的页空间包括:
133.从空闲页中查找,查找到可用的空闲页空间,则从空闲页中释放对应的空闲页空间;
134.如果空闲页中未找到,则从应用中的未使用地址开始找到可用的页空间;
135.增量页数据写入单元记录空闲页的增量页数据并落盘,所述的增量页数据包括事务id,空闲页id及操作方式:移除。
136.具体地,本实施例基于b+树数据库的空闲页管理装置中,事务执行单元逐条执行写事务的每一条语句过程中如果是删除操作,查找到对应的页空间包括:
137.遍历b+树数据库当前数据页信息,查找删除操作对象页;
138.若查找失败,则忽略,若查找成功,则将查找的删除操作对象页加入到空闲页中;
139.增量页数据写入单元记录空闲页的增量页数据并落盘,所述的增量页数据包括写事务id,空闲页id及操作方式:加入。
140.本实施例的基于b+树数据库的空闲页管理装置,增量页数据写入单元写入空闲页增量数据是为每一次分配空间的操作,及加入到空闲页的操作记录增量页数据:
141.1,对于分配空间的操作,记录增量页数据(事务id,空闲页id,操作:移除);
142.2,对于加入到空闲页的操作,记录增量页数据(事务id,空闲页id,操作:加入)。
143.本实施例的基于b+树数据库的空闲页管理装置,在执行每次写事务时,空闲页增量数据写入模块只进行当次写事务的操作数据进行增量写入,确保了每次写事务能够被及时处理,避免每次写事务都进行全量数据写入造成执行时间长,执行性能低的问题。
144.具体地,本实施例的基于b+树数据库的空闲页管理装置,所述空闲页全量数据写入模块包括:
145.事务执行单元:写事务开始,执行空事务;
146.全量页数据写入单元:记录全量空闲页及事务id,并落盘,清空本次空闲页全量数据写入流程与上次空闲页全量数据写入流程之间记录的全部增量页数据。
147.同时,为了实现针对空闲页的全面管理,且保证空闲页查询的效率,本实施例需要进行全量数据写入,将增量空闲页数据更新到全量空闲页数据中,这样程序可通过全量空闲页数据针对空闲页进行管理;但是空闲页全量数据写入流程耗时较长,可以通过触发配置条件,从而降低空闲页全量数据写入流程对于系统性能的占用和影响。
148.作为本实施例的可选实施方式,本实施例的基于b+树数据库的空闲页管理装置在实现增量空闲页数据和全量空闲页数据写入的时候,记录的id,可以用事务id,也可以用其他id来替代。
149.作为本实施例的可选实施方式,本实施例的基于b+树数据库的空闲页管理装置,所述空闲页全量数据写入模块开始执行的配置条件被触发包括:
150.配置条件一:所述的配置条件为相邻两次空闲页全量数据写入流程之间的时间间隔是否达到预设时间间隔t0,当上次空闲页全量数据写入流程执行完成后时间间隔达到t0时,则配置条件被触发,本次空闲页全量数据写入流程开始执行,其中所述的预设时间间隔t0根据数据库的写入峰值配置。
151.配置条件二:所述的配置条件为是否接收到调用指令,当接收到程序主动触发空闲页全量数据写入流程的调用指令时,则配置条件被触发,空闲页全量数据写入流程开始执行。
152.配置条件三:所述的配置条件为相邻两次空闲页全量数据写入流程之间的空闲页增量数据写入流程的执行次数是否达到预设次数n0,当上次空闲页全量数据写入流程执行完成后空闲页增量数据写入流程的执行次数达到n0时,则配置条件被触发,本次空闲页全量数据写入流程开始执行。
153.本实施例的配置条件一、配置条件二和配置三可同时设定,程序以配置条件一或者配置条件二被触发执行空闲页全量数据写入流程,同时还可根据程序的具体运行需求主动发出触发指令,执行空闲页全量数据写入流程。
154.作为本实施例的可选实施方式,本实施例增量空闲页数据,可以是原文数据结构,也可以是压缩型的,也可以是变种。
155.本实施例同时提供一种计算机可读存储介质,存储有计算机可执行程序,所述计算机可执行程序被执行时,实现如所述的基于b+树数据库的空闲页管理方法。
156.本实施例所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读存储介质还可以是可读存储介质以外的任何可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
157.本实施例还提供了一种电子设备,包括处理器和存储器,所述存储器用于存储计算机可执行程序,当所述计算机程序被所述处理器执行时,所述处理器执行所述基于b+树
数据库的空闲页管理方法。
158.电子设备以通用计算设备的形式表现。其中处理器可以是一个,也可以是多个并且协同工作。本发明也不排除进行分布式处理,即处理器可以分散在不同的实体设备中。本发明的电子设备并不限于单一实体,也可以是多个实体设备的总和。
159.所述存储器存储有计算机可执行程序,通常是机器可读的代码。所述计算机可读程序可以被所述处理器执行,以使得电子设备能够执行本发明的方法,或者方法中的至少部分步骤。
160.所述存储器包括易失性存储器,例如随机存取存储单元(ram)和/或高速缓存存储单元,还可以是非易失性存储器,如只读存储单元(rom)。
161.应当理解,本发明的电子设备中还可以包括上述示例中未示出的元件或组件。例如,有些电子设备中还包括有显示屏等显示单元,有些电子设备还包括人机交互元件,例如按钮、键盘等。只要该电子设备能够执行存储器中的计算机可读程序以实现本发明方法或方法的至少部分步骤,均可认为是本发明所涵盖的电子设备。
162.通过以上对实施方式的描述,本领域的技术人员易于理解,本发明可以由能够执行特定计算机程序的硬件来实现,例如本发明的系统,以及系统中包含的电子处理单元、服务器、客户端、手机、控制单元、处理器等。本发明也可以由执行本发明的方法的计算机软件来实现,例如由微处理器、电子控制单元,客户端、服务器端等执行的控制软件来实现。但需要说明的是,执行本发明的方法的计算机软件并不限于由一个或特定个的硬件实体中执行,其也可以是由不特定具体硬件的以分布式的方式来实现。对于计算机软件,软件产品可以存储在一个计算机可读的存储介质(可以是cd-rom,u盘,移动硬盘等)中,也可以分布式存储于网络上,只要其能使得电子设备执行根据本发明的方法。
163.以上实施例仅用以说明本发明而并非限制本发明所描述的技术方案,尽管本说明书参照上述的各个实施例对本发明已进行了详细的说明,但本发明不局限于上述具体实施方式,因此任何对本发明进行修改或等同替换;而一切不脱离发明的精神和范围的技术方案及其改进,其均涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1