基于分布式事务的元数据管理方法、装置、设备及介质制造方法及图纸

技术编号:36821748 阅读:14 留言:0更新日期:2023-03-12 01:02
本说明书实施例提供一种基于分布式事务的元数据管理方法,应用于分布式数据库中的任一执行分布式事务的目标数据库节点上的事务管理器,包括:接收分布式数据库中的任一数据库节点上的数据库管理程序发送的事务注册请求;其中,数据库管理程序分布式的安装在分布式数据库中的各个数据库节点上;事务注册请求包括操作元数据;响应于事务注册请求,为数据库管理程序创建用于对非结构化的操作元数据进行管理的分布式事务,并执行分布式事务;响应于分布式事务执行成功,将非结构化的操作元数据作为回调参数,发起针对目标数据库节点上的数据库管理程序的回调,以触发该数据库管理程序基于操作元数据在目标数据库节点上执行对应的数据库管理操作。对应的数据库管理操作。对应的数据库管理操作。

【技术实现步骤摘要】
基于分布式事务的元数据管理方法、装置、设备及介质


[0001]本说明书涉及数据库
,尤其涉及基于分布式事务的元数据管理方法、装置、设备及介质。

技术介绍

[0002]分布式系统是指其组件分布在网络上,组件之间通过传递消息进行通信和动作协调的系统。它的核心理念是让多台服务器协同工作,完成单台服务器无法处理的任务,尤其是高并发或者大数据量的任务。
[0003]随着技术的发展,各个行业所产生的数据量呈爆炸式增长,动辄就达到数百TB或者PB的级别,已经远远超过了传统单机数据库的处理能力,因此,分布式数据库应运而生。
[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]其中,事务通常具有原子性(Atomic)、一致性(Consistency)、隔离性和(Isolation)持久性(Durability)四种属性,简称ACID。
[0029]原子性是指,事务中包括的操作要么都做,要么都不做。
[0030]一致性是指,在事务执行前后,数据库的一致性约束没有被破坏,也就是不会存在中间状态的数据。
[0031]隔离性是指,一个事务的执行不能被其他事务干扰,事本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于分布式事务的元数据管理方法,应用于分布式数据库中的任一执行所述分布式事务的目标数据库节点上的事务管理器,所述方法包括:接收所述分布式数据库中的任一数据库节点上的数据库管理程序发送的事务注册请求;其中,所述数据库管理程序分布式的安装在所述分布式数据库中的各个数据库节点上;所述事务注册请求包括所述数据库管理程序在所述分布式数据库中的多个数据库节点上待执行的数据库管理操作对应的非结构化的操作元数据;响应于所述事务注册请求,为所述数据库管理程序创建用于对所述非结构化的操作元数据进行管理的分布式事务,并执行所述分布式事务;其中,所述分布式事务包括在所述分布式数据中的多个数据库节点上分布式执行的事务;响应于所述分布式事务执行成功,将所述非结构化的操作元数据作为回调参数,发起针对所述目标数据库节点上的数据库管理程序的回调,以触发该数据库管理程序基于所述操作元数据在所述目标数据库节点上执行对应的数据库管理操作。2.根据权利要求1所述的方法,所述分布式事务包括多个事务执行阶段;所述数据库管理程序包括与所述多个事务执行阶段分别对应的多个回调函数;其中,不同的事务执行阶段分别对应不同的回调函数;不同的回调函数分别关联不同的数据库管理操作;所述响应于所述分布式事务执行成功,将所述非结构化的操作元数据作为回调参数,发起针对所述目标数据库节点上的数据库管理程序的回调,以触发该数据库管理程序基于所述操作元数据在所述目标数据库节点上执行对应的数据库管理操作,包括:响应于所述分布式事务中的任一目标事务执行阶段执行成功,将所述非结构化的操作元数据作为回调参数,发起针对所述目标数据库节点上的数据库管理程序中与所述目标事务执行阶段对应的目标回调函数的回调,以触发该数据库管理程序基于所述操作元数据在所述目标数据库节点上执行与所述目标回调函数关联的数据库管理操作。3.根据权利要求2所述的方法,所述分布式事务包括事务注册阶段;与所述事务注册阶段对应的第一回调函数所关联的数据库管理操作,包括与所述操作元数据对应的基础管理操作;与所述分布式事务的事务注册阶段对应的事务操作,包括:建立用于缓存于所述分布式事务对应的事务上下文信息的内存结构,并将所述非结构化的操作元数据缓存到所述内存结构中;所述响应于所述分布式事务执行成功,将所述非结构化的操作元数据作为回调参数,发起针对所述目标数据库节点上的数据库管理程序的回调,以触发该数据库管理程序基于所述操作元数据在所述目标数据库节点上执行对应的数据库管理操作,包括:响应于将所述非结构化的操作元数据成功缓存到所述内存结构,将所述内存结构中缓存的所述非结构化的操作元数据作为回调参数,发起针对所述目标数据库节点上的数据库管理程序中与所述事务注册阶段对应的第一目标回调函数的回调,以触发该数据库管理程序基于所述操作元数据在所述目标数据库节点上执行与所述第一回调函数关联的基础管理操作。4.根据权利要求3所述的方法,所述分布式事务还包括在事务注册阶段之后执行的redo日志生成阶段;与所述redo日志生成阶段对应的第二回调函数所关联的数据库管理操作,包括将生成的redo日志的标识信息与执行所述基础管理操作得到的操作结果进行关联
保存的第一数据库管理操作;与所述分布式事务的事务注册阶段对应的事务操作,包括:将所述内存结构中缓存的所述非结构化的操作元数据,写入为所述分布式事务生成的redo日志;所述响应于所述分布式事务执行成功,将所述非结构化的操作元数据作为回调参数,发起针对所述目标数据库节点上的数据库管理程序的回调,以触发该数据库管理程序基于所述操作元数据在所述目标数据库节点上执行对应的数据库管理操作,包括:响应于将所述内存结构中缓存的所述非结构化的操作元数据,成功写入为所述分布式事务生成的redo日志,将所述内存结构中缓存的所述非结构化的操作元数据作为回调参数,发起针对所述目标数据库节点上的数据库管理程序中与所述redo日志生成阶段对应的第二目标回调函数的回调,以触发该数据库管理程序基于所述操作元数据在所述目标数据库节点上执行与所述第二回调函数关联的所述第一数据库管理操作。5.根据权利要求4所述的方法,所述目标数据库节点包括至少一个副本设备;与所述分布式事务的事务注册阶段对应的事务操作,包括:将所述内存结构中缓存的所述非结构化的操作元...

【专利技术属性】
技术研发人员:卫孝贤肖金亮韩富晟
申请(专利权)人:北京奥星贝斯科技有限公司
类型:发明
国别省市:

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

1