数据存储方法、装置和存储介质制造方法及图纸

技术编号:37642911 阅读:20 留言:0更新日期:2023-05-25 10:09
本申请提供一种数据存储方法、装置和存储介质,涉及计算机技术领域,用于解决通用技术中在保证数据持久性的同时容易导致事务提交效率降低的技术问题。该方法包括:获取与目标事务关联的数据变更信息;当数据变更信息缓存为预写日志数据时,对目标事务执行提交操作;将预写日志数据存储在持久化内存中;在提交操作完成的情况下,将预写日志数据存储在持久化存储设备中。存储设备中。存储设备中。

【技术实现步骤摘要】
数据存储方法、装置和存储介质


[0001]本申请属于计算机
,尤其涉及一种数据存储方法、装置和存储介质。

技术介绍

[0002]目前,数据库通常基于预写式日志(write

aheadlogging,WAL)机制实现数据的持久性,从而保证事务可以正确执行。在引入WAL机制后,数据库一般需要先将事务相关的数据变更信息写入WAL日志中,并在进一步将WAL日志存储在持久化存储设备中后,再提交事务。
[0003]然而,在将WAL日志写入持久化存储设备时,一般耗时较长。因此,这种方式容易导致事务提交过程的高延迟,造成事务提交性能的降低。

技术实现思路

[0004]本申请提供一种数据存储方法、装置和存储介质,用于解决通用技术中在保证数据持久性的同时容易导致事务提交效率降低的技术问题。
[0005]为达到上述目的,本申请采用如下技术方案:
[0006]第一方面,提供一种数据存储方法,包括:获取与目标事务关联的数据变更信息;当数据变更信息缓存为预写日志数据时,对目标事务执行提交操作;将预写日志数据存储在持久化内存中;在提交操作完成的情况下,将预写日志数据存储在持久化存储设备中。
[0007]可选地,将预写日志数据存储在持久化内存中时,该数据存储方法还包括:基于远程直接数据存取单元向多个备份服务器发送预写日志数据。
[0008]可选地,基于远程直接数据存取单元向多个备份服务器发送预写日志数据之后,该数据存储方法还包括:当接收到多个备份服务器发送的持久化信息时,发送用于表示目标事务提交完成的通知消息;持久化信息用于表示备份服务器已将预写日志数据存储在持久化内存中。
[0009]可选地,在提交操作完成后,将预写日志数据存储在持久化存储设备中之后,该数据存储方法还包括:对预写日志数据执行数据回放操作,得到数据变更信息。
[0010]第二方面,提供一种数据存储装置,包括:获取单元和处理单元;获取单元,用于获取与目标事务关联的数据变更信息;
[0011]处理单元,用于当数据变更信息缓存为预写日志数据时,对目标事务执行提交操作;
[0012]处理单元,还用于将预写日志数据存储在持久化内存中;
[0013]处理单元,还用于在提交操作完成的情况下,将预写日志数据存储在持久化存储设备中。
[0014]可选地,该数据存储装置,还包括:发送单元;
[0015]发送单元,用于基于远程直接数据存取单元向多个备份服务器发送预写日志数据。
[0016]可选地,发送单元,还用于当接收到多个备份服务器发送的持久化信息时,发送用于表示目标事务提交完成的通知消息;持久化信息用于表示备份服务器已将预写日志数据存储在持久化内存中。
[0017]可选地,处理单元,还用于对预写日志数据执行数据回放操作,得到数据变更信息。
[0018]第三方面,提供一种数据存储装置,包括存储器和处理器;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当数据存储装置运行时,处理器执行存储器存储的计算机执行指令,以使数据存储装置执行如第一方面的数据存储方法。
[0019]该数据存储装置可以是终端,也可以是终端中的一部分装置,例如终端中的芯片系统。该芯片系统用于支持终端实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,接收、确定、分流上述数据存储方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
[0020]第四方面,提供一种计算机可读存储介质,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行如第一方面的数据存储方法。
[0021]需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与数据存储装置的处理器封装在一起的,也可以与数据存储装置的处理器单独封装,本申请对此不作限定。
[0022]在本申请中,上述数据存储装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
[0023]本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
[0024]本申请提供的技术方案至少带来以下有益效果:
[0025]基于上述任一方面,本申请中,主服务器在获取与目标事务关联的数据变更信息,并当数据变更信息缓存为预写日志数据时,对目标事务执行提交操作后,可以将预写日志数据存储在持久化内存中,以完成提交操作。后续,在提交操作完成的情况下,主服务器可以进一步将预写日志数据存储在持久化存储设备中。
[0026]这样一来,相比于通用技术中将WAL日志写入持久化存储设备后再进行事务提交的方式,本申请可以在将预写日志数据存储在持久化内存中后便进行事务提交。由于持久化内存与持久化存储设备相比,在同样具备存储空间大和持久性等特点的情况下,还具备延迟性能优势,即具备更快的数据写入速度。因此,本申请可以快速的完成预写日志数据的持久化,从而快速完成对于目标事务执行的提交操作。因此,本申请可以用于解决通用技术中在保证数据持久性的同时容易导致事务提交效率降低的技术问题。
附图说明
[0027]图1为本申请实施例提供的一种数据存储系统的结构示意图一;
[0028]图2为本申请实施例提供的一种数据存储系统的结构示意图二;
[0029]图3为本申请实施例提供的一种服务器的硬件结构示意图;
[0030]图4为本申请实施例提供的一种数据存储方法的流程示意图一;
[0031]图5为本申请实施例提供的一种服务器的架构示意图;
[0032]图6为本申请实施例提供的一种数据存储方法的流程示意图二;
[0033]图7为本申请实施例提供的一种数据存储方法的流程示意图三;
[0034]图8为本申请实施例提供的一种数据存储位置的示意图;
[0035]图9为本申请实施例提供的一种数据存储装置的结构示意图。
具体实施方式
[0036]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0037]需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
[0038]为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:获取与目标事务关联的数据变更信息;当所述数据变更信息缓存为预写日志数据时,对所述目标事务执行提交操作;将所述预写日志数据存储在持久化内存中;在所述提交操作完成的情况下,将所述预写日志数据存储在持久化存储设备中。2.根据权利要求1所述的数据存储方法,其特征在于,所述将所述预写日志数据存储在持久化内存中时,还包括:基于远程直接数据存取单元向多个备份服务器发送所述预写日志数据。3.根据权利要求2所述的数据存储方法,其特征在于,所述基于远程直接数据存取单元向多个备份服务器发送所述预写日志数据之后,还包括:当接收到多个所述备份服务器发送的持久化信息时,发送用于表示所述目标事务提交完成的通知消息;所述持久化信息用于表示所述备份服务器已将所述预写日志数据存储在持久化内存中。4.根据权利要求1

3任一项所述的数据存储方法,其特征在于,所述在所述提交操作完成后,将所述预写日志数据存储在持久化存储设备中之后,还包括:对所述预写日志数据执行数据回放操作,得到所述数据变更信息。5.一种数据存储装置,其特征在于,包括:获取单元和处理单元;所述获取单元,用于获取与目标事务关联的数据变更信息;所述处理单元,用于当所述数据变更信息缓存为预写日志数据时,对所述目标事务执行提交操作;所述处理单元,还用于将所述预写日志数据存储在持久...

【专利技术属性】
技术研发人员:陈海锋谢继刚赵思骑柴鹏
申请(专利权)人:联通数字科技有限公司联通云数据有限公司
类型:发明
国别省市:

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

1