掌桥专利:专业的专利平台
掌桥专利
首页

数据库管理方法、装置、系统和存储介质

文献发布时间:2023-06-19 11:29:13


数据库管理方法、装置、系统和存储介质

技术领域

本发明涉及数据库技术,特别涉及一种数据库管理方法、装置、系统和存储介质。

背景技术

Oracle数据库是甲骨文公司的一款关系数据库管理系统,系统提供所有数据表结构(all_tables)等系统视图。使用时,可以通过直接访问视图,来直接获取数据库的表模型信息。

在要求要求IT系统去IOE(IBM的小型机、Oracle数据库、EMC存储设备)、强调自主研发的大背景下,IT系统渐渐从使用Oracle数据库转向使用开源数据库。

例如,MySQL是开放源码的关系型数据库管理系统,采用GPL(General PublicLicense,通用公共许可证)协议发布,用户可以根据自己的需求进行修改。分布式数据库由若干个MySQL物理数据节点组成,每个MySQL物理数据节点都有各自的表模型。使用时,需要抽取所有物理数据节点的表模型,经过汇总处理而成。导致数据库的管理效率低下。

发明内容

本发明实施例所要解决的一个技术问题是:如何提高数据库管理的效率。

根据本发明一些实施例的第一个方面,提供一种数据库管理方法,包括:获取待执行的数据定义语言DDL语句;将DDL语句在标准库中执行,标准库中包括多个分布式数据节点中的数据表的表结构;响应于DDL语句在标准库中执行成功,将DDL语句发送给相应的数据节点执行,以便对数据节点上的数据表进行DDL操作。

在一些实施例中,数据库管理方法还包括:响应于获取到对数据节点上的数据表的表模型的查询请求,返回标准库中同一数据表的表模型。

在一些实施例中,响应于DDL语句在标准库中执行成功,根据分片策略,将DDL语句发送给相应的数据节点执行。

在一些实施例中,数据节点使用MySQL数据库。

在一些实施例中,数据库管理方法还包括:获取待执行的SQL语句;识别SQL语句的类别,其中,SQL语句的类别包括DQL、DML、DDL和DCL;响应于SQL语句是DQL、DML或DCL语句,将SQL语句发送给相应的数据节点执行。

根据本发明一些实施例的第二个方面,提供一种数据库管理装置,包括:获取模块,被配置为获取待执行的数据定义语言DDL语句;标准库执行模块,被配置为将DDL语句在标准库中执行,标准库中包括多个分布式数据节点中的数据表的表结构;下发模块,被配置为响应于DDL语句在标准库中执行成功,将DDL语句发送给相应的数据节点执行,以便对数据节点上的数据表进行DDL操作。

在一些实施例中,数据库管理装置还包括:表模型返回模块,被配置为响应于获取到对数据节点上的数据表的表模型的查询请求,返回标准库中同一数据表的表模型。

根据本发明一些实施例的第三个方面,提供一种数据库管理装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器中的指令,执行前述任意一种数据库管理方法。

根据本发明一些实施例的第四个方面,提供一种数据库管理系统,包括:前述任意一种数据库管理装置;以及多个分布式数据节点,每个数据节点上存储有数据表,分布式数据节点执行数据库管理装置发送的DDL语句。

根据本发明一些实施例的第五个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述任意一种数据库管理方法。

上述发明中的一些实施例具有如下优点或有益效果:标准库中的数据表的表结构与各个分布式数据节点上的表结构是一致的。当需要执行DDL语句时,同一语句先在标准库中执行、然后在数据节点上执行。从而,当DDL语句对标准库中表结构造成了改变,数据节点上的数据表的表结构也会进行相同的修改,使得标准库与数据节点的表结构继续保持一致。当需要获取数据表结构的信息时,无需从各个数据节点上获取,只需要读取标准库中的数据表,即可得到准确的信息。因此提升了数据库管理的效率。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本发明一些实施例的数据库管理方法的流程示意图。

图2示出了根据本发明另一些实施例的数据库管理方法的流程示意图。

图3示出了根据本发明一些实施例的数据库管理装置的结构示意图。

图4示出了根据本发明一些实施例的数据库管理系统的结构示意图。

图5示出了根据本发明另一些实施例的数据库管理装置的结构示意图。

图6示出了根据本发明又一些实施例的数据库管理装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

图1示出了根据本发明一些实施例的数据库管理方法的流程示意图。如图1所示,该实施例的数据库管理方法包括步骤S102~S106。

在步骤S102中,获取待执行的数据定义语言(Data Definition Language,简称:DDL)语句。

DDL语句是一种SQL(Structured Query Language,结构化查询语言)语句,主要包括创建(CREATE)数据库或数据表的命令、删除(DROP)已创建的数据库或数据表的命令、对表的结构进行更新(ALTER)等命令。可见,DDL语句是对数据库对象进行创建、修改、删除等操作的语句,往往涉及数据表结构的变化。

在步骤S104中,将DDL语句在标准库中执行,标准库中包括多个分布式数据节点中的数据表的表结构。

在一些实施例中,数据节点使用MySQL数据库。

在步骤S106中,响应于DDL语句在标准库中执行成功,将DDL语句发送给相应的数据节点执行,以便对数据节点上的数据表进行DDL操作。

在一些实施例中,根据分片策略,将DDL语句发送给相应的数据节点执行。分片策略记录了各个数据节点上存储的数据表以及数据表中字段值的范围。从而,根据分片策略,可以将DDL语句发送到相应的数据节点中执行。

标准库中的数据表的表结构与各个分布式数据节点上的表结构是一致的。当需要执行DDL语句时,同一语句先在标准库中执行、然后在数据节点上执行。从而,当DDL语句对标准库中表结构造成了改变,数据节点上的数据表的表结构也会进行相同的修改,使得标准库与数据节点的表结构继续保持一致。当需要获取数据表结构的信息时,无需从各个数据节点上获取,只需要读取标准库中的数据表,即可得到准确的信息。因此提升了数据库管理的效率。

图2示出了根据本发明另一些实施例的数据库管理方法的流程示意图。如图2所示,该实施例的数据库管理方法包括步骤S202~S208。

步骤S202~S206与步骤S102~S106是对应的。

步骤S208包括:响应于获取到对数据节点上的数据表的表模型的查询请求,返回标准库中同一数据表的表模型。

通过该实施例的方法,可以高效、准确地获取分布式数据库的物理表模型。

除了获取表模型以外,还可以根据标准库进行其他涉及表结构的操作,例如复制表结构、以获取分布式系统的完整表结构等等。由于标准库中具有完整、准备的表结构,因此其他涉及表结构的操作的效率也能够得到提高。

在一些实施例中,获取待执行的SQL语句;识别SQL语句的类别,其中,SQL语句的类别包括DQL(Data Query Language,数据库查询语言)、DML(Data Manipulation Language,数据库操作语言)、DDL和DCL(Data Control Language,数据库控制语言);响应于SQL语句是DQL、DML或DCL语句,将SQL语句发送给相应的数据节点执行。即,如果SQL语句是DDL语句,则先在标准库中执行、然后将DDL语句下发到数据节点中执行;如果是其他类型的语句,则无需在标准库中执行,直接下发到数据节点中执行。

通过集中获取用户提交的各类SQL语句,然后再进一步识别SQL语句的类型,可以对SQL语句进行适当的处理。

在一些实施例中,不同等级的用户具备不同的权限。例如,普通用户只具备查询权限,而管理员具备修改数据库结构的权限、即执行DDL语句的权限。因此,本发明也可以通过用户的权限等级来确定是否在标准库中执行DDL语句。

图3示出了根据本发明一些实施例的数据库管理装置的结构示意图。如图3所示,该实施例的数据库管理装置300包括:获取模块3100,被配置为获取待执行的数据定义语言DDL语句;标准库执行模块3200,被配置为将DDL语句在标准库中执行,标准库中包括多个分布式数据节点中的数据表的表结构;下发模块3300,被配置为响应于DDL语句在标准库中执行成功,将DDL语句发送给相应的数据节点执行,以便对数据节点上的数据表进行DDL操作。

在一些实施例中,数据库管理装置30还包括:表模型返回模块3400,被配置为响应于获取到对数据节点上的数据表的表模型的查询请求,返回标准库中同一数据表的表模型。

在一些实施例中,下发模块3300进一步被配置为响应于DDL语句在标准库中执行成功,根据分片策略,将DDL语句发送给相应的数据节点执行。

在一些实施例中,数据节点使用MySQL数据库。

在一些实施例中,获取模块3100进一步被配置为获取待执行的SQL语句;识别SQL语句的类别,其中,SQL语句的类别包括DQL、DML、DDL和DCL;响应于SQL语句是DQL、DML或DCL语句,将SQL语句发送给相应的数据节点执行。

图4示出了根据本发明一些实施例的数据库管理系统的结构示意图。如图4所示,该实施例的数据库管理系统40包括:数据库管理装置410;以及多个分布式数据节点420,每个数据节点上存储有数据表,分布式数据节点执行数据库管理装置410发送的DDL语句。

图5示出了根据本发明另一些实施例的数据库管理装置的结构示意图。如图5所示,该实施例的数据库管理装置50包括:存储器510以及耦接至该存储器510的处理器520,处理器520被配置为基于存储在存储器510中的指令,执行前述任意一个实施例中的数据库管理方法。

其中,存储器510例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。

图6示出了根据本发明又一些实施例的数据库管理装置的结构示意图。如图6所示,该实施例的数据库管理装置60包括:存储器610以及处理器620,还可以包括输入输出接口630、网络接口640、存储接口650等。这些接口630,640,650以及存储器610和处理器620之间例如可以通过总线660连接。其中,输入输出接口630为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口640为各种联网设备提供连接接口。存储接口650为SD卡、U盘等外置存储设备提供连接接口。

本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种数据库管理方法。

本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 数据库节点管理方法、装置、数据库节点及存储介质
  • 数据库管理方法、装置、系统和存储介质
技术分类

06120112941848