数据处理方法以及装置制造方法及图纸

技术编号:35442602 阅读:14 留言:0更新日期:2022-11-03 11:54
本说明书实施例提供数据处理方法以及装置,其中所述数据处理方法包括:确定区域地址对应的内存分配区域,以及所述内存分配区域关联的内存分配器;获取所述内存分配区域的索引数据,以及所述内存分配器的分配状态,并将所述索引数据和所述分配状态写入磁盘文件;在包含所述内存分配区域的内存数据库重启的情况下,在所述磁盘文件中读取所述索引数据和所述分配状态;按照所述区域地址将所述索引数据映射到所述内存分配区域,以及根据所述分配状态更新所述内存分配器的状态。更新所述内存分配器的状态。更新所述内存分配器的状态。

【技术实现步骤摘要】
数据处理方法以及装置


[0001]本说明书实施例涉及数据库
,特别涉及数据处理方法以及装置。

技术介绍

[0002]内存数据库是指将数据放在内存中直接操作的数据库,其相对于磁盘的读写速度要快,通过将数据保存在内存中相比于从磁盘上访问能够很大程度的提高应用的性能。但是,由于内存数据库是基于计算机内存支持的,因此其持久性问题一直存在。为解决该问题,现有技术中会在设定的时间节点对内存中的索引进行备份,以在内存数据库重启后可以通过备份的索引供应用继续运行。但是内存数据库在重新启动时为恢复索引,均需要一定的时间通过扫描数据来实现,在数据量较大时恢复索引则需要花费大量的时间,制约了内存数据库的扩展能力,因此亟需一种有效的方案以解决上述问题。

技术实现思路

[0003]有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0004]根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
[0005]确定区域地址对应的内存分配区域,以及所述内存分配区域关联的内存分配器;
[0006]获取所述内存分配区域的索引数据,以及所述内存分配器的分配状态,并将所述索引数据和所述分配状态写入磁盘文件;
[0007]在包含所述内存分配区域的内存数据库重启的情况下,在所述磁盘文件中读取所述索引数据和所述分配状态;
[0008]按照所述区域地址将所述索引数据映射到所述内存分配区域,以及根据所述分配状态更新所述内存分配器的状态。
[0009]根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:
[0010]确定模块,被配置为确定区域地址对应的内存分配区域,以及所述内存分配区域关联的内存分配器;
[0011]获取模块,被配置为获取所述内存分配区域的索引数据,以及所述内存分配器的分配状态,并将所述索引数据和所述分配状态写入磁盘文件;
[0012]读取模块,被配置为在包含所述内存分配区域的内存数据库重启的情况下,在所述磁盘文件中读取所述索引数据和所述分配状态;
[0013]更新模块,被配置为按照所述区域地址将所述索引数据映射到所述内存分配区域,以及根据所述分配状态更新所述内存分配器的状态。
[0014]根据本说明书实施例的第三方面,提供了一种计算设备,包括:
[0015]存储器和处理器;
[0016]所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行
指令时实现任上述数据处理方法的步骤。
[0017]根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据处理方法的步骤。
[0018]根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
[0019]本说明书提供的数据处理方法,在确定区域地址对应的内存分配区域,以及管理内存分配区域的内存分配器后,可以获取内存分配区域的索引数据,以及内存分配器的分配状态,此时可以将索引数据和分配状态一同写入磁盘文件,实现通过物理复制的方式对索引和状态持久化,避免因内存数据库重启而无法恢复索引的问题发生。当包含内存分配区域的内存数据库重启后,即可直接从磁盘文件中读取索引数据和分配状态,并按照分配地址将索引数据映射到内存分配区域,同时根据分配状态更新内存分配器的状态,实现结合磁盘文件完成索引和状态的恢复,可以有效的降低内存数据库的重启时间,以实现内存数据库可以续接重启前的状态继续运行。
附图说明
[0020]图1是本说明书一个实施例提供的一种数据处理方法的流程图;
[0021]图2是本说明书一个实施例提供的一种数据处理方法的示意图;
[0022]图3是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
[0023]图4是本说明书一个实施例提供的一种数据处理装置的结构示意图;
[0024]图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0025]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0026]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0027]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0028]首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0029]物理复制:指将程序运行中的内存数据直接复制其他内存或者磁盘等区域的操作。
[0030]数据库索引:是指数据库在运行过程中维护的用于查询的数据结构。
[0031]内存数据库:是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。
[0032]在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
[0033]实际应用中,内存数据库在重新启动时为恢复索引,大多数采用redo log(重做日志)和checkpoint(检查点)等技术实现;其中,重做日志是在数据库运行过程中不断生成对索引的操作记录,恢复时通过重新执行这些记录更新重启后的数据库索引,当记录执行完成后,索引恢复完成,但是因为需要依次执行操作记录,故恢复速度较慢。而检查点是在数据库运行期间,定期扫描索引,将索引内存进行保存,恢复时扫描保存内存即可完成还原索引,但是该过程需要建立检查点,且保存索引速度慢,会对内存数据库的正常运行产生干扰。因此亟需一种有效的方案以解决上述问题。
[0034]有鉴于此,本说明书提供的数据处理方法,在确定区域地址对应的内存分配区域,以及管理内存分配区域的内存分配器后,可以获本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,包括:确定区域地址对应的内存分配区域,以及所述内存分配区域关联的内存分配器;获取所述内存分配区域的索引数据,以及所述内存分配器的分配状态,并将所述索引数据和所述分配状态写入磁盘文件;在包含所述内存分配区域的内存数据库重启的情况下,在所述磁盘文件中读取所述索引数据和所述分配状态;按照所述区域地址将所述索引数据映射到所述内存分配区域,以及根据所述分配状态更新所述内存分配器的状态。2.根据权利要求1所述的方法,所述确定区域地址对应的内存分配区域,包括:在检测到所述内存数据库对应的备份事件的情况下,在所述内存数据库中确定至少两个初始内存分配区域,所述至少两个初始内存分配区域包括索引分配区域和临时分配区域;根据所述备份事件确定所述区域地址,并按照所述区域地址在所述至少两个初始内存分配区域中,选择所述索引分配区域作为所述内存分配区域。3.根据权利要求1所述的方法,所述将所述分配状态写入磁盘文件,包括:根据所述分配状态确定所述内存分配区域中未分配的待释放内存块,针对所述待释放内存块进行释放处理;根据释放处理结果对所述分配状态进行更新,并将更新后的分配状态写入所述磁盘文件。4.根据权利要求1所述的方法,所述将所述索引数据写入磁盘文件,包括:确定所述索引数据中包含的运行索引数据;对所述索引数据中的所述运行索引数据进行删除,并将删除所述运行索引数据的索引数据写入所述磁盘文件。5.根据权利要求1所述的方法,所述获取所述内存分配器的分配状态,包括:创建关联所述内存分配区域的目标内存分配区域,并将所述内存分配区域的分配操作切换至所述目标内存分配区域;根据切换结果读取所述内存分配器的所述分配状态。6.根据权利要求5所述的方法,所述根据切换结果读取所述内存分配器的所述分配状态,包括:根据切换结果扫描所述内存分配区域,确定所述内存分配区域中包含的内存块;根据所述内存分配器确定所述内存块的分配信息;通过对所述内存块的分配信息进行整合,生成所述内存分配器的所述分配状态。7.根据权利要求5所述的方法,还包括:在接收到针对所述内存分配区域提交的内存块释放指令的情况下,确定目标内存块;检测所述目标内存块的目标分配状态是否保存至所述磁盘文件;若否,对所述内存释放指令...

【专利技术属性】
技术研发人员:秦武王正恒朱国云张为李飞飞
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1