首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 软件套件 / 软件组件 / 规则引擎 / 一种数据库的操作方法及装置

一种数据库的操作方法及装置

阅读:1033发布:2020-06-13

专利汇可以提供一种数据库的操作方法及装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种 数据库 的操作方法及装置。所述方法包括:管理 节点 获取数据库操作 请求 ,从所述操作请求中提取虚拟数据信息;所述管理节点根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;所述管理节点根据所述实际数据地址产生数据库操作任务;所述管理节点将数据库操作任务调度给计算节点进行处理。本发明 实施例 提供的技术方案,将自定义的虚拟数据信息与实际数据地址在映射规则中进行对应,用户通过查询引擎根据所述虚拟数据信息进行数据库查询时,可自动连接到对应的数据库表,达到便于 搜索引擎 的维护,简化数据查询过程,以及提高数据查询速度的有益效果。,下面是一种数据库的操作方法及装置专利的具体信息内容。

1.一种数据库的操作方法,其特征在于,包括:
管理节点获取数据库操作请求,从所述操作请求中提取虚拟数据信息;
所述管理节点根据映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;
所述管理节点根据所述映射规则确定所述虚拟数据信息对应的访问端口、用户名和用户密码;
所述管理节点根据所述映射规则确定所述虚拟数据信息对应的计算节点标识;
所述管理节点根据所述实际数据地址、访问端口、用户名和用户密码产生数据库操作任务;
所述管理节点根据计算节点标识,将数据库操作任务调度给对应的计算节点进行处理;其中,所述计算节点为Presto计算节点,所述Presto计算节点和分表是一对一或一对多的关系。
2.根据权利要求1所述的方法,其特征在于:所述虚拟数据信息至少包括虚拟数据库名和虚拟数据表名。
3.根据权利要求1所述的方法,其特征在于,所述管理节点根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址包括:
所述管理节点根据所述映射规则中的映射表,查询所述虚拟数据信息对应的一个或多个实际数据地址。
4.根据权利要求1所述的方法,其特征在于,所述管理节点根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址包括:
所述管理节点根据所述映射规则中的映射算法,将所述虚拟数据信息转换为对应的一个或多个实际数据地址。
5.一种数据库的操作装置,其特征在于,包括:
信息提取单元,用于获取数据库操作请求,从所述操作请求中提取虚拟数据信息;
地址确定单元,用于根据映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;
信息确定单元,用于根据所述映射规则确定所述虚拟数据信息对应的访问端口、用户名和用户密码;
标识确定单元,用于根据所述映射规则确定所述虚拟数据信息对应的计算节点标识;
任务产生单元,用于根据所述实际数据地址、访问端口、用户名和用户密码产生数据库操作任务;
任务调度单元,用于管理节点根据计算节点标识,将数据库操作任务调度给对应的计算节点进行处理;其中,所述计算节点为Presto计算节点,所述Presto计算节点和分表是一对一或一对多的关系。
6.根据权利要求5所述的装置,其特征在于:所述虚拟数据信息至少包括虚拟数据库名和虚拟数据表名。
7.根据权利要求5所述的装置,其特征在于,所述地址确定单元,具体用于:
根据所述映射规则中的映射表,查询所述虚拟数据信息对应的一个或多个实际数据地址。
8.根据权利要求5所述的装置,其特征在于,所述地址确定单元,具体用于:
根据所述映射规则中的映射算法,将所述虚拟数据信息转换为对应的一个或多个实际数据地址。
9.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4任一所述的数据库的操作方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-4任一所述的数据库的操作方法。

说明书全文

一种数据库的操作方法及装置

技术领域

[0001] 本发明实施例涉及大数据分布式计算领域,尤其涉及一种数据库的操作方法及装置。

背景技术

[0002] MySQL是一种开放源代码的关系型数据库,具有软件体积小、速度快和成本低的特点,在数据库的应用中占据重要地位。
[0003] Presto是一个大数据分布式的查询引擎,其配置一个MySQL数据源需要提供java数据库连接(Java Data Base Connectivity,JDBC)连接串、连接的用户名和连接的密码,其中,JDBC连接信息只能定义一个,也就是说每个数据源只可以连接一个MySQL数据库。图1是现有技术中通过Presto连接MySQL数据源的过程示意图。如图1所示,管理节点接收来自客户端的查询请求,所述查询请求通过结构化查询语言(tructured Quevy Language,SQL)进行编辑,然后管理节点对SQL进行语法解析,并且获取到MySQL数据库的连接信息,组成连接数据库的数据源信息,以任务的形式发送给计算节点执行。计算节点根据数据源连接信息与MySQL进行通讯,以JDBC的方式获取数据,将数据提供给后续的计算模
[0004] 在实际应用中,一个MySQL数据库无法承载下巨大的数据。在海量的数据环境下,MySQL中数据的储存、读取、写入都将会受到严重的考验。因此MySQL数据库的分库分表模式应运而生。
[0005] 现有技术中,MySQL数据库的分库分表方法为:将一个巨型的MySQL数据表的数据按照一定的逻辑拆分成若干个分表,并把分表分别存放在不同物理服务器上的MySQL实例中。而Presto配置MySQL数据源时仅能配置一个连接地址,欲在分库分表模式下将所有的分表联合起来进行查询和计算,Presto只能通过将所有的MySQL分表都配置为Presto的MySQL数据源来实现,但这种方式在分表非常多的情况下,需要定义成千上万的MySQL数据源,对该数据库进行查询时,使用SQL编辑查询请求困难,且不易扩展,同时存在Presto维护困难的问题。

发明内容

[0006] 本发明提供一种数据库的操作方法及装置,以实现对大数据的分库分表,便于对数据库进行快速查询。
[0007] 第一方面,本发明实施例提供了一种数据库的操作方法,该方法包括:
[0008] 管理节点获取数据库操作请求,从所述操作请求中提取虚拟数据信息;
[0009] 所述管理节点根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;
[0010] 所述管理节点根据所述实际数据地址产生数据库操作任务;
[0011] 所述管理节点将数据库操作任务调度给计算节点进行处理。
[0012] 第二方面,本发明实施例还提供了一种数据库的操作装置,该装置包括:
[0013] 信息提取单元,用于获取数据库操作请求,从所述操作请求中提取虚拟数据信息;
[0014] 地址确定单元,用于根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;
[0015] 任务产生单元,用于根据所述实际数据地址产生数据库操作任务;
[0016] 任务调度单元,用于将数据库操作任务调度给计算节点进行处理。
[0017] 本发明实施例提供的技术方案,将自定义的虚拟数据信息与实际数据地址在映射规则中进行对应,用户通过查询引擎根据所述虚拟数据信息进行数据库查询时,可自动连接到对应的数据库表,达到便于搜索引擎的维护,简化数据查询过程,以及提高数据查询的速度的有益效果。附图说明
[0018] 图1是现有技术中通过Presto连接MySQL数据源的过程示意图;
[0019] 图2是本发明实施例一中提供的一种数据库的操作方法的流程图
[0020] 图3是本发明实施例适用的Presto支持MySQL分库分表的架构图;
[0021] 图4是本发明实施例二中提供的一种数据库的操作方法的流程图;
[0022] 图5是本发明实施例三中提供的一种数据库的操作方法的流程图;
[0023] 图6是本发明实施例四中提供的一种数据库的操作装置的结构示意图。

具体实施方式

[0024] 下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0025] 实施例一
[0026] 图2是本发明实施例一中提供的一种数据库的操作方法的流程图。本实施例适用于大数据的分库分表,该方法可以由数据库的操作装置来执行,该装置被配置于管理节点内,可通过硬件和/或软件的方式实现。该装置具体包括如下步骤:
[0027] 步骤110、管理节点获取数据库操作请求,从所述操作请求中提取虚拟数据信息;
[0028] 数据库操作请求一般包括但不限于建表、删表、查询和更改表名。在本实施例中,所述数据库操作为数据库的查询,对应的,所述数据库操作请求为数据库查询请求。用户在进行数据库查询时,首先需要在客户端提交查询请求,该查询请求使用SQL编写,可根据用户的查询需求进行编辑。管理节点接收查询请求,并对SQL语言进行解析,获取查询请求中的虚拟数据信息。
[0029] 示例性的,所述虚拟数据信息至少包括虚拟数据库名和虚拟数据表名。
[0030] 本发明实施例将MySQL常用的自定义分表规则进行抽象,结合Presto的数据分片,使Presto能支持MySQL分库分表,并且易于扩展和使用。
[0031] 图3是本发明实施例适用的Presto支持MySQL分库分表的架构图。如图3所示,将MySQL310的某个巨型表分成若干个分表311,存储在若干个分库312中,每个分库312包含多个分表311,分表311与分库312是根据分库分表规则进行对应的。然后为每个分库312和分表311定义一个虚拟名称,在Presto中使用这个虚拟的数据库名和表名进行查询时,自动的可以连接到各个分库分表。
[0032] 步骤120、所述管理节点根据映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;
[0033] 实际对数据库的查询中,不限于对一个分表的操作,多数情况下需要对多个分表进行联合查询,这些分表具有相同的特征,在对与该特征相关数据进行查询时,则需要对多个分表进行联合查询。用户在客户端编辑查询请求时,会根据需要指定对一个或多个数据分表进行查询,每个分表均对应一个实际数据地址,而实际数据地址和虚拟数据信息在映射规则中是对应的,因此,管理节点可根据映射规则确定虚拟数据信息对应的一个或多个实际数据地址,以在后续处理中根据实际数据地址找到用户指定的一个或多个数据分表。
[0034] 步骤130、所述管理节点根据所述实际数据地址产生数据库操作任务;
[0035] 管理节点根据映射规则确定实际数据地址后,产生在该实际数据地址对应的分表中进行数据查询的任务,以达到在用户指定的分表中进行查询的目的,优选的,所述数据库操作任务可由用户在客户端通过SQL语句进行编辑,还可以包括在查询到指定数据后,对数据进行编辑,例如删除。
[0036] 步骤140、所述管理节点将数据库操作任务调度给计算节点进行处理。
[0037] 管理节点确定数据库操作任务后,将该任务传输给计算节点进行处理,所述处理包括根据实际数据地址连接对应的分库分表,并指定在该分库分表中进行数据库的操作,所述数据库的操作为通过分析用户的查询请求得到的用户欲进行的数据库操作。
[0038] 进一步的,所述管理节点根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址包括:
[0039] 所述管理节点根据所述映射规则中的映射表,查询所述虚拟数据信息对应的一个或多个实际数据地址。
[0040] 或者,所述管理节点根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址包括:
[0041] 所述管理节点根据所述映射规则中的映射算法,将所述虚拟数据信息转换为对应的一个或多个实际数据地址。
[0042] 所述虚拟数据信息和一个或多个实际数据地址的对应关系可以通过不同的方式建立,在本实施例中,通过映射表或映射算法的方式建立。对于映射表,在确定虚拟信息后,构建虚拟信息和实际数据地址相对应的表,在表中可以直接了解某一虚拟信息对应的实际数据地址,当管理节点提取到虚拟信息后,即可在预设的表中快速找到对应的实际数据地址。对于映射算法,可通过在编辑的程序中一步步的限定虚拟信息对应的地址范围,在设定的路径下找到对应的实际数据地址,当管理节点提取到虚拟信息后,则通过算法中的路径找到对应的实际数据地址。
[0043] 本实施例提供的技术方案,对MySQL大数据进行分库分表,将与分库分表对应的,且在Presto查询数据库时可使用的虚拟信息添加到映射规则中,同时将每个分表的信息在映射规则中与上述虚拟信息对应设置,达到了通过虚拟信息查找分表,进而在分表中进行数据库操作的有益效果,便于Presto的维护,降低了成本,且可通过更新映射规则进行扩展,提升用户体验。
[0044] 实施例二
[0045] 图4是本发明实施例二中提供的一种数据库的操作方法的流程图。本实施例以上述实施例为基础进行优化,本实施例中,在所述管理节点根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址之后,增加了步骤:所述管理根据所述映射规则确定所述虚拟数据信息对应的访问端口、用户名和用户密码。则相应的,所述管理节点根据所述实际数据地址产生数据库操作任务包括:所述管理节点根据所述实际数据地址、访问端口、用户名和用户密码产生数据库操作任务。
[0046] 相应的,本实施例的方法包括如下步骤:
[0047] S210、管理节点获取数据库操作请求,从所述操作请求中提取虚拟数据信息;
[0048] S220、所述管理节点根据映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;
[0049] S230、所述管理根据所述映射规则确定所述虚拟数据信息对应的访问端口、用户名和用户密码;
[0050] 在本实施例中,分库分表后,每个分表的信息都记录到映射规则配置中,所述详细信息不仅包括上述实际数据地址,还包括访问端口、用户名和用户密码。因此,虚拟信息与所述访问端口、用户名和用户密码也存在对应关系,这种对应关系会在映射规则中记录,当管理节点提取虚拟信息后,即可根据映射规则确定所述虚拟信息对应的访问端口、用户名和用户密码。
[0051] S240、所述管理节点根据所述实际数据地址产生数据库操作任务;
[0052] S250、所述管理节点将数据库操作任务调度给计算节点进行处理。
[0053] 本实施例提供的技术方案,在确定实际数据地址后进一步根据虚拟信息确定访问端口、用户名和用户密码,对数据库的操作者及操作设备进行验证,确保数据库资源的安全。
[0054] 实施例三
[0055] 图5是本发明实施例三中提供的一种数据库的操作方法的流程图。本实施例以上述实施例为基础进行优化,本实施例中,在所述管理节点根据所述映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址之后,增加了步骤:所述管理节点根据所述映射规则确定所述虚拟数据信息对应的计算节点标识。则相应的,所述管理节点将数据库操作任务调度给计算节点进行处理包括:所述管理节点根据计算节点标识,将数据库操作任务调度给对应的计算节点进行处理。
[0056] 相应的,本实施例的方法包括如下步骤:
[0057] S310、管理节点获取数据库操作请求,从所述操作请求中提取虚拟数据信息;
[0058] S320、所述管理节点根据映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;
[0059] S330、所述管理节点根据所述映射规则确定所述虚拟数据信息对应的计算节点标识;
[0060] 在本实施例中,分库分表后,记录到映射规则配置中的还包括计算节点标识,所述计算节点标识与计算节点一一对应,用于确定计算节点,优选的,所述计算节点为Presto计算节点。虚拟数据信息和计算节点标识的对应关系包含在映射规则中,当管理节点获取虚拟数据信息后,则根据映射规则确定所述虚拟信息对应的计算节点的标识,进而可通过计算节点的标识得到计算节点。Presto节点和分表可以是一对一或一对多的关系。如图3所示,Presto320中计算节点321可连接MySQL310多个分库312中的不同分表311,从而可实现对多个分表311联合查询的效果。进一步的,所述计算节点321与分表311的对应关系可进行设定,根据包含同一特征的原则进行对应。
[0061] S340、所述管理节点根据所述实际数据地址产生数据库操作任务;
[0062] S350、所述管理节点根据计算节点标识,将数据库操作任务调度给对应的计算节点进行处理。
[0063] 本实施例提供的技术方案,在确定实际数据地址后进一步根据虚拟信息确定计算节点标识,便于后续操作中根据该计算节点标识得到连接了不同分库中多个分表的计算节点,实现多个分表的联合查询,提升用户体验。可以选择适合数据源处理的计算节点来进行处理,例如处理能更加匹配,传输路径短的计算节点,这样能够提高处理效率。
[0064] 实施例四
[0065] 图6是本发明实施例四中提供的一种数据库的操作装置的结构示意图。所述数据库的操作装置,包括:
[0066] 信息提取单元410,用于获取数据库操作请求,从所述操作请求中提取虚拟数据信息;
[0067] 地址确定单元420,用于根据映射规则确定所述虚拟数据信息对应的一个或多个实际数据地址;
[0068] 任务产生单元430,用于根据所述实际数据地址产生数据库操作任务;
[0069] 任务调度单元440,用于将数据库操作任务调度给计算节点进行处理。
[0070] 优选的,所述虚拟数据信息至少包括虚拟数据库名和虚拟数据表名。
[0071] 示例性的,所述地址确定单元420,具体用于:
[0072] 根据所述映射规则中的映射表,查询所述虚拟数据信息对应的一个或多个实际数据地址。
[0073] 或者,所述地址确定单元420,具体用于:
[0074] 根据所述映射规则中的映射算法,将所述虚拟数据信息转换为对应的一个或多个实际数据地址。
[0075] 在上述技术方案的基础上,所述数据库的操作装置,还包括:
[0076] 信息确定单元,用于根据所述映射规则确定所述虚拟数据信息对应的访问端口、用户名和用户密码;
[0077] 则相应的,所述任务产生单元420,具体用于:
[0078] 根据所述实际数据地址、访问端口、用户名和用户密码产生数据库操作任务。
[0079] 或者,所述数据库的操作装置,还包括:
[0080] 标识确定单元,用于根据所述映射规则确定所述虚拟数据信息对应的计算节点标识;
[0081] 则相应的,所述任务产生单元420,具体用于:
[0082] 所述管理节点根据计算节点标识,将数据库操作任务调度给对应的计算节点进行处理。
[0083] 上述数据库的操作装置可执行本发明任意实施例所提供的数据库的操作方法,具备执行数据库的操作方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的数据库的操作。
[0084] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈