数据存储方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:29584212 阅读:22 留言:0更新日期:2021-08-06 19:42
本申请的实施方式提供了一种数据存储方法、数据存储装置、电子设备以及计算机可读存储介质,涉及数据库技术领域。该方法包括:当检测到事务提交事件时,将事务提交事件对应的事务日志写入主节点的本地事务文件中;获取主节点的本地事务文件中各事务日志对应的易失性数据;将各事务日志对应的易失性数据写入主节点的一级缓存中;基于数据筛选规则将一级缓存中的易失性数据上传至存储系统进行持久化。在本申请的实施方式中,可以利用高性能低延迟的本地硬件先将日志数据暂时存储至缓存中,再将缓存中存储的日志数据持久化至存储系统中,避免产生的日志数据需要立即上传至远端的存储系统,这样可以解除关系型数据库系统对远端的存储系统的强依赖。

【技术实现步骤摘要】
数据存储方法、装置、电子设备及计算机可读存储介质
本申请的实施方式涉及数据库
,更具体地,本申请的实施方式涉及数据存储方法、数据存储装置、电子设备以及计算机可读存储介质。
技术介绍
云原生数据库(Cloud-NativeDatabase)是基于共享存储的关系型数据库,大部分云原生数据库是公有云厂商基于开源关系型数据库MySQL进行二次开发得到的。云原生数据库一般是基于SharedEverything架构+SharedStorage架构的存储计算分离架构,可以分布式实现SharedNothing水平扩展。其中,SharedEverything架构是一种传统的数据库系统实现架构,采用的是计算节点和存储节点耦合的模式,即,一个计算节点和一个存储节点组成一个完整的数据库系统,多个计算节点间不共享存储节点。SharedStorage架构区别于Shared-Nothing架构,允许多个计算节点间访问同一个存储节点,可高效的进行计算节点扩展和存储节点扩容。MySQL采用的是传统的Shared-Nothing实现架构,主从间通过二进制日志(binlog)进行数据复制和状态同步。现有的云原生数据库通常采用远程直接数据存取、高性能存储等非通用硬件的加速方式,且软件层的技术实现和协议栈优化也不是开源的。如果用户想要部署云原生数据库,则需要使用公有云厂商提供的标准硬件和软件服务,而现有的云原生数据库通常依赖远端的共享存储节点实现即时的日志存储,向远端的共享存储节点上传日志数据通常伴随着延迟较高的问题。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本申请的背景的理解,因此,不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
基于上述问题,专利技术人进行了相应的思考,做出了有针对性的改进,提供了数据存储方法、数据存储装置、电子设备以及计算机可读存储介质,可以利用高性能低延迟的本地硬件先将日志数据暂时存储至缓存中,再将缓存中存储的日志数据持久化至存储系统中,避免产生的日志数据需要立即上传至远端的存储系统,这样可以解除关系型数据库系统对远端的存储系统的强依赖。根据本申请实施例的第一方面,公开了一种数据存储方法,包括:当检测到事务提交事件时,将事务提交事件对应的事务日志写入主节点的本地事务文件中;获取主节点的本地事务文件中各事务日志对应的易失性数据;将各事务日志对应的易失性数据写入主节点的一级缓存中;基于数据筛选规则将一级缓存中的易失性数据上传至存储系统进行持久化。在一个实施例中,基于前述方案,将事务提交事件对应的事务日志写入主节点的本地事务文件中之后,上述方法还包括:将事务日志发送至与主节点对应的从节点,以使得从节点根据事务日志对应的事务级别从多种复制模式中确定目标复制模式;根据目标复制模式将事务日志复制到从节点的本地事务文件中。在一个实施例中,基于前述方案,多种复制模式包括同步复制模式、半同步复制模式和异步复制模式。在一个实施例中,基于前述方案,若目标复制模式为同步复制模式,则根据目标复制模式将事务日志复制到从节点的本地事务文件中的步骤包括:基于同步复制模式读取事务日志并将事务日志发送至从节点,以使得从节点回放事务日志并将回放后的事务日志存储至从节点的本地事务文件中;当接收到由从节点发送的第一反馈结果时,判定同步复制完成;其中,第一反馈结果表征事务日志已由主节点完全同步至从节点。在一个实施例中,基于前述方案,若目标复制模式为半同步复制模式,则根据目标复制模式将事务日志复制到从节点的本地事务文件中的步骤包括:基于半同步复制模式读取事务日志并将事务日志发送至从节点;当接收到由从节点发送的第二反馈结果时,判定半同步复制完成;其中,第二反馈结果表征事务日志已由主节点半同步至从节点。在一个实施例中,基于前述方案,若目标复制模式为异步复制模式,则根据目标复制模式将事务日志复制到从节点的本地事务文件中的步骤包括:基于异步复制模式读取事务日志;将事务日志发送至从节点,并判定异步复制完成。在一个实施例中,基于前述方案,将事务日志发送至与主节点对应的从节点,包括:将事务日志发送至与主节点对应的从节点,以使得从节点读取事务日志的配置参数,并在配置参数满足持久化条件时对事务日志进行持久化存储。在一个实施例中,基于前述方案,将各事务日志对应的易失性数据写入主节点的一级缓存中,包括:确定主节点的一级缓存中的写入标识;其中,各事务日志对应的易失性数据包括从节点已根据事务日志回放的数据;将各事务日志对应的易失性数据写入与写入标识对应的第一子区域;其中,一级缓存包括多个子区域,多个子区域中包括第一子区域。在一个实施例中,基于前述方案,数据筛选规则用于限定易失性数据的筛选条件,基于数据筛选规则将一级缓存中的易失性数据上传至存储系统进行持久化,包括:确定主节点的一级缓存中的回刷标识;确定回刷标识对应的第二子区域;多个子区域中包括第二子区域;基于第一子区域和第二子区域确定多个子区域中待回刷的目标子区域;将目标子区域中的易失性数据上传至存储系统进行持久化。在一个实施例中,基于前述方案,基于第一子区域和第二子区域确定多个子区域中待回刷的目标子区域,包括:确定一级缓存对应的区域写入顺序;其中,区域写入顺序用于标识多个子区域的写入顺序;根据区域写入顺序确定第一子区域之前以及第二子区域之后的待回刷的目标子区域。在一个实施例中,基于前述方案,将目标子区域中的易失性数据存储至存储系统之后,上述方法还包括:将目标子区域中的易失性数据标记为可覆盖;解除第二子区域与回刷标识的对应关系,并构建回刷标识与第三子区域的对应关系;第三子区域是目标子区域中基于区域写入顺序的最后一个目标子区域。在一个实施例中,基于前述方案,将目标子区域中的易失性数据更新为已持久化的易失性数据之后,上述方法还包括:当接收到新的易失性数据时,将第三子区域存储的已持久化的易失性数据写入二级缓存中;通过新的易失性数据覆盖第三子区域中的已持久化的易失性数据。在一个实施例中,基于前述方案,上述方法还包括:当检测到数据查询操作时,确定数据查询操作对应的数据标识;确定各节点的全局缓存中是否存在与数据标识对应的目标数据;其中,各节点包括主节点和从节点,全局缓存包括相对应节点的一级缓存和二级缓存;确定各节点的全局缓存中是否存在与数据标识对应的目标数据,包括:查询各节点的一级缓存中是否存在目标数据;如果各节点的一级缓存中不存在目标数据,则查询各节点的二级缓存中是否存在目标数据;如果各节点的二级缓存中不存在目标数据,则向存储系统请求目标数据并接收存储系统反馈的目标数据。在一个实施例中,基于前述方案,上述方法还包括:若主节点的全局缓存中存在待回刷数据且待回刷数据不本文档来自技高网
...

【技术保护点】
1.一种数据存储方法,其特征在于,包括:/n当检测到事务提交事件时,将所述事务提交事件对应的事务日志写入主节点的本地事务文件中;/n获取所述主节点的本地事务文件中各事务日志对应的易失性数据;/n将所述各事务日志对应的易失性数据写入所述主节点的一级缓存中;/n基于数据筛选规则将所述一级缓存中的易失性数据上传至存储系统进行持久化。/n

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:
当检测到事务提交事件时,将所述事务提交事件对应的事务日志写入主节点的本地事务文件中;
获取所述主节点的本地事务文件中各事务日志对应的易失性数据;
将所述各事务日志对应的易失性数据写入所述主节点的一级缓存中;
基于数据筛选规则将所述一级缓存中的易失性数据上传至存储系统进行持久化。


2.根据权利要求1所述的方法,其特征在于,将所述事务提交事件对应的事务日志写入主节点的本地事务文件中之后,所述方法还包括:
将所述事务日志发送至与所述主节点对应的从节点,以使得所述从节点根据所述事务日志对应的事务级别从多种复制模式中确定目标复制模式;
根据所述目标复制模式将所述事务日志复制到所述从节点的本地事务文件中。


3.根据权利要求2所述的方法,其特征在于,所述多种复制模式包括同步复制模式、半同步复制模式和异步复制模式。


4.根据权利要求3所述的方法,其特征在于,若所述目标复制模式为所述同步复制模式,则根据所述目标复制模式将所述事务日志复制到所述从节点的本地事务文件中的步骤包括:
基于所述同步复制模式读取所述事务日志并将所述事务日志发送至所述从节点,以使得所述从节点回放所述事务日志并将回放后的事务日志存储至所述从节点的本地事务文件中;
当接收到由所述从节点发送的第一反馈结果时,判定同步复制完成;其中,所述第一反馈结果表征所述事务日志已由所述主节点完全同步至所述从节点。


5.根据权利要求3所述的方法,其特征在于,若所述目标复制模式为所述半同步复制模式,则根据所述目标复制模式将所述事务日志复制到所述从节点的本地事务文件中的步骤包括:
基于所述半同步复制模式读取所述事务日...

【专利技术属性】
技术研发人员:余利华汪源蒋鸿翔温正湖李莹
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江;33

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

1