数据库操作方法、系统及计算机集群技术方案

技术编号:39042508 阅读:17 留言:0更新日期:2023-10-10 11:55
本申请实施例提供了一种数据库操作方法、系统和计算机设备,该方法应用于云平台,包括:协调节点接收用户端通过目标会话发送的数据操作请求;协调节点确定当前是否存在对全局临时表创建的且属于目标会话的会话临时表,其中,会话临时表对应的元数据存储在数据节点的磁盘中;在确定不存在会话临时表的情况下,协调节点在多个数据节点中的目标数据节点中创建会话临时表,将数据操作请求发送至目标数据节点;在确定存在会话临时表的情况下,协调节点将数据操作请求发送至目标数据节点,数据操作请求用于指示目标数据节点根据目标数据节点对会话临时表进行数据操作。采用本申请提供的数据库操作方法,能够提高分布式数据库的稳定性,避免资源浪费。避免资源浪费。避免资源浪费。

【技术实现步骤摘要】
数据库操作方法、系统及计算机集群


[0001]本申请涉及云计算
,特别涉及一种数据库操作方法、系统及计算机集群。

技术介绍

[0002]全局临时表是数据库中用来保留临时数据或中间数据的表,其表结构和表数据持久化存储在磁盘中。全局临时表可以由多个会话共同使用,每个会话对全局临时表进行数据操作的元数据存储在内存中。
[0003]在分布式数据库中,全局临时表分布式存储在多个数据节点中。由于全局临时表与会话相关的元数据存储在内存中,所以多个数据节点中任一数据节点的重启,都会导致全局临时表的元数据丢失。如此与全局临时表相关的业务可能需要重新执行,以恢复丢失的元数据,进而会造成数据节点的资源浪费。

技术实现思路

[0004]本申请实施例提供了一种数据库操作方法、系统及计算机集群,能够提高分布式数据库的稳定性,避免资源浪费,相应的技术方案如下:
[0005]第一方面,提供了一种数据库操作方法,该方法应用于云平台,云平台中包括协调节点和多个数据节点,云平台的数据库分布在多个数据节点中,该方法包括:
[0006]协调节点接收用户端通过目标会话发送的数据操作请求,该数据操作请求用于对分布式数据库中的全局临时表进行数据操作。协调节点确定当前是否存在对全局临时表创建的且属于目标会话的会话临时表,其中,会话临时表对应的元数据存储在数据节点的磁盘中。在确定不存在会话临时表的情况下,协调节点在多个数据节点中的目标数据节点中创建会话临时表,将数据操作请求发送至目标数据节点。在确定存在会话临时表的情况下,协调节点将数据操作请求发送至目标数据节点,数据操作请求用于指示目标数据节点根据目标数据节点对会话临时表进行数据操作。
[0007]在本申请所示的方案中,对于每个会话都可以创建与全局临时表绑定的会话临时表,创建的会话临时表与全局临时表具有相同的表结构,且属于持久性临时表,即会话临时表对应的表文件和元数据可以存储在磁盘中。当数据节点接收用户端通过目标会话发送的数据操作请求后,可以根据数据操作请求对创建的会话临时表的数据操作。如此对于全局临时表的数据操作,可以转为对会话临时表的操作。由于会话临时表的对应的表文件和元数据能够持久的存储在磁盘中,因此即使数据节点重启,也不会造成数据丢失,因此可以提高分布式数据库的稳定性。
[0008]在一种可实现的方式中,协调节点确定当前是否存在对全局临时表创建的且属于目标会话的会话临时表,包括:
[0009]协调节点确定本地是否存储有会话临时表的建表信息,建表信息中包括目标会话的会话标识和全局临时表对应的表标识。
[0010]在本申请所示的方案中,协调节点可以存储有对全局临时表创建的且属于目标会
话的会话临时表的建表信息。其中,建表信息中包括目标会话的会话标识和全局临时表对应的表标识。如此协调节点在接收到数据操作请求后,可以根据发送数据操作请求的会话对应的会话标识,以及数据操作请求中携带的全局临时表的标识,确定分布式数据库系统中是否建立了与该全局临时表绑定的会话临时表。
[0011]在一种可实现的方式中,协调节点在多个数据节点中的目标数据节点中创建会话临时表,包括:
[0012]协调节点生成并存储会话临时表对应的建表信息,向目标数据节点发送会话临时表对应的建表信息。
[0013]在本申请所示的方案中,协调节点在创建会话临时表时,可以向目标数据节点发送会话临时表对应的建表信息,以使目标数据节点创建会话临时表对应的表文件,将会话临时表与全局临时表进行绑定。其中,目标数据节点可以是平台中的任意一个或多个数据节点。
[0014]在一种可实现的方式中,方法还包括:目标数据节点生成会话临时表对应的表文件和元数据,并将元数据和建表信息对应存储在磁盘中。
[0015]在本申请所示的方案中,目标节点接收到会话临时表对应的建表信息后,可以生成会话临时表对应的表文件和元数据,并将元数据和建表信息对应存储在磁盘中。如此后续可以根据会话标识和全局临时表标识确定会话临时表对应的元数据,进而可以根据元数据获取会话临时表对应的表文件,对表文件进行数据操作。由于元数据和表文件存储在磁盘中,因此即使数据节点重启,也不会造成数据丢失,因此可以提高分布式数据库的稳定性。
[0016]在一种可实现的方式中,将数据操作请求发送至目标数据节点之后,还包括:
[0017]目标数据节点接收通过目标会话发送的数据操作请求,数据操作请求携带有全局临时表的表标识。目标数据节点根据表标识,获取全局临时表的表结构。目标数据节点根据表标识和会话标识,在磁盘中确定目标元数据,其中,目标元数据对应的建表信息中包括表标识和会话标识。目标数据节点根据目标元数据,查找会话临时表对应的表文件。目标数据节点根据数据操作请求和表结构,对会话临时表对应的表文件进行数据操作。
[0018]在本申请实施例中,全局临时表可以与会话临时表进行绑定,用户端对全局临时表的和数据操作可以转变为对会话临时表的数据操作。由于会话临时表的表文件和元数据能够存储在磁盘中,因此数据节点的重启不会造成会话临时表的数据丢失,进而与该会话临时表绑定的全局临时表相关业务也能够正常执行。如此提高了分布式数据库的稳定性,避免了相关业务重新执行造成用户端和数据节点的资源浪费。
[0019]在一种可实现的方式中,方法包括:
[0020]协调节点在目标会话结束后,对会话临时表进行清理。
[0021]在本申请所示的方案中,当用户端与协调节点之间的目标会话结束之后,协调节点以及数据节点可以对建立的会话临时表进行清理。如协调节点清理会话临时表的建表信息。数据节点清理会话临时表对应的元数据、表文件等。进而可以避免会话临时表对协调节点和数据节点存储空间的占用。
[0022]第二方面,提供了一种数据库操作系统,系统配置于云平台,系统中包括协调节点和多个数据节点,云平台的数据库分布在多个数据节点中,其中:
[0023]协调节点,用于接收用户端通过目标会话发送的数据操作请求,数据操作请求用于对分布式数据库中的全局临时表进行数据操作;
[0024]协调节点,用于确定当前是否存在对全局临时表创建的且属于目标会话的会话临时表,其中,会话临时表对应的元数据存储在数据节点的磁盘中;
[0025]在确定不存在会话临时表的情况下,协调节点,用于在多个数据节点中的目标数据节点中创建会话临时表,将数据操作请求发送至目标数据节点;
[0026]在确定存在会话临时表的情况下,协调节点,用于将数据操作请求发送至目标数据节点,数据操作请求用于指示目标数据节点根据目标数据节点对会话临时表进行数据操作。
[0027]在一种可实现的方式中,协调节点,用于确定本地是否存储有会话临时表的建表信息,建表信息中包括目标会话的会话标识和全局临时表对应的表标识。
[0028]在一种可实现的方式中,协调节点,用于生成并存储会话临时表对应的建表信息,向目标数据节点发送会话临时表对应的建表信息;
[0029本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库操作方法,其特征在于,所述方法应用于云平台,所述云平台中包括协调节点和多个数据节点,所述云平台的数据库分布在所述多个数据节点中,所述方法包括:所述协调节点接收用户端通过目标会话发送的数据操作请求,所述数据操作请求用于对所述分布式数据库中的全局临时表进行数据操作;所述协调节点确定当前是否存在对所述全局临时表创建的且属于所述目标会话的会话临时表,其中,所述会话临时表对应的元数据存储在数据节点的磁盘中;在确定不存在所述会话临时表的情况下,所述协调节点在所述多个数据节点中的目标数据节点中创建所述会话临时表,将所述数据操作请求发送至所述目标数据节点;在确定存在所述会话临时表的情况下,所述协调节点将所述数据操作请求发送至所述目标数据节点,所述数据操作请求用于指示所述目标数据节点根据所述目标数据节点对所述会话临时表进行数据操作。2.根据权利要求1所述的方法,其特征在于,所述协调节点确定当前是否存在对所述全局临时表创建的且属于所述目标会话的会话临时表,包括:所述协调节点确定本地是否存储有所述会话临时表的建表信息,所述建表信息中包括所述目标会话的会话标识和所述全局临时表对应的表标识。3.根据权利要求2所述的方法,其特征在于,所述协调节点在所述多个数据节点中的目标数据节点中创建所述会话临时表,包括:所述协调节点生成并存储所述会话临时表对应的建表信息,向所述目标数据节点发送所述会话临时表对应的建表信息;所述方法还包括:所述目标数据节点生成所述会话临时表对应的表文件和元数据,并将所述元数据和所述建表信息对应存储在磁盘中。4.根据权利要求3所述的方法,其特征在于,所述将所述数据操作请求发送至所述目标数据节点之后,还包括:所述目标数据节点接收通过所述目标会话发送的所述数据操作请求,所述数据操作请求携带有全局临时表的表标识;所述目标数据节点根据所述表标识,获取所述全局临时表的表结构;所述目标数据节点根据所述表标识和所述会话标识,在磁盘中确定目标元数据,其中,所述目标元数据对应的建表信息中包括所述表标识和所述会话标识;所述目标数据节点根据所述目标元数据,查找所述会话临时表对应的表文件;所述目标数据节点根据所述数据操作请求和所述表结构,对所述会话临时表对应的表文件进行数据操作。5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法包括:所述协调节点在所述目标会话结束后,对所述会话临时表进行清理。6.一种数据库操作系统,其特征在于,所述系统配置于云平台,所述系统中包括协调节点和多个数据节点,所述云平台的数据库分布在所述多个数据节点中,其中:所述协调节点,用于接收用户端通过目标会话发送的...

【专利技术属性】
技术研发人员:郭磊
申请(专利权)人:深圳华为云计算技术有限公司
类型:发明
国别省市:

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

1