[发明专利]访问数据库的方法、装置、计算机设备和存储介质在审
申请号: | 201911401581.9 | 申请日: | 2019-12-30 |
公开(公告)号: | CN113127477A | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 罗旦;涂盛霞;郭骏飞 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/25;G06F16/27;G06F21/62;H04L29/08 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 颜晶 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 访问 数据库 方法 装置 计算机 设备 存储 介质 | ||
本申请提供了一种访问数据库的方法、装置、计算机设备和存储介质,属于大数据技术领域。该方法包括:大数据计算引擎访问数据库导出数据时,通过外部表,建立数据库的工作节点与代理节点的通信链路,并且建立代理节点与大数据计算引擎的任务的通信链路,使得数据库的工作节点将数据传输至代理节点,代理节点将数据传输至大数据计算引擎,使大数据计算引擎从数据库中导出数据。采用本申请,可以降低数据库的中央协调节点的负载。
技术领域
本申请涉及大数据技术领域,特别涉及一种访问数据库的方法、装置、计算机设备和存储介质。
背景技术
在进行大数据分析时,大数据计算引擎在很多场景下需要访问数据库,从数据库中获取数据进行分析。在实时交互系统中进行大数据分析,大数据计算引擎访问数据库的速度对实时交互系统至关重要,所以需要加快大数据计算引擎访问数据库的速度。
相关技术中,大数据计算引擎在访问数据库时(如大规模并行处理数据库(Massive Parallel Processing Database,MPPDB)等),是通过大数据计算引擎中的Java数据库连接(Java Data Base Connectivity,JDBC)的方法来访问数据库。以从MPPDB中导出数据为例,具体处理为:Java数据库连接的数据源生成多个任务(task)(例如三个),从MPPDB加载数据,每个任务将数据的获取请求(获取请求中携带所要获取的数据的标识)发送至MPPDB的中央协调节点(Coordinator Node,CN),中央协调节点确定MPPDB中,能获取到该数据的工作节点(Data Node,DN)。然后中央协调节点将每个任务所要获取的数据的标识,发送至确定出的工作节点。工作节点基于数据的标识,获得数据,将数据传输至中央协调节点,中央协调节点将数据返回给任务,本次获取数据的过程执行完毕。
由于相关技术中,数据的获取请求和数据本身均需要发送给中央协调节点,造成访问数据库时,中央协调节点负载过重。
发明内容
本申请提供了一种访问数据库的方法、装置、计算机设备和存储介质,用以减少中央协调节点的负载。
第一方面,本申请提供了一种访问数据库的方法,应用于数据库的中央协调节点,该方法包括:
数据库的中央协调节点接收大数据计算引擎在获取到数据库的访问请求时发送的外部表的创建请求和外部表的插入请求,根据创建请求创建外部表,其中,创建请求携带有外部表的存储地址,插入请求携带有访问请求携带的待访问数据的标识。向主代理节点提供存储地址,从主代理节点获取数据库的工作节点与代理节点的对应关系,其中,数据库的工作节点为数据库中可获取到待访问数据的工作节点;向数据库的工作节点中每个工作节点发送插入请求及工作节点与代理节点的对应关系,以使每个工作节点根据工作节点与代理节点的对应关系分别与对应的代理节点建立第一通信链路,并将执行插入请求后获取的待访问数据通过第一通信链路发送给对应的代理节点,以使代理节点将待访问数据存储至存储地址。
本申请所示的方案,中央协调节点在接收到大数据计算引擎发送的创建请求后,可以在数据库中创建表名为创建请求中的表名的外部表,并且外部表的列为列信息指示的列。中央协调节点可以获取到数据库的每个工作节点上所能获取的数据的信息。中央协调节点可以基于待访问数据的标识和数据库的每个工作节点上所能获取的数据的信息,确定能获取到待访问数据的工作节点(后续为了方便描述,可以称为本次工作节点)。并且中央协调节点可以向主代理节点提供外部表的存储地址和本次工作节点的标识。中央协调节点接收主代理节点发送的工作节点与代理节点的对应关系,该对应关系中的工作节点为上述提到的本次工作节点。中央协调节点可以向该对应关系中的每个工作节点,发送插入请求和每个工作节点对应的代理节点的标识。对于本次工作节点中的任一工作节点,该工作节点接收到插入请求和自身对应的代理节点的标识后,基于自身对应的代理节点的标识与该代理节点建立第一通信链路。每个工作节点使用待访问数据的标识,通过第一通信链路向连接的代理节点发送待访问数据,使得代理节点基于外部表的存储地址,存储待访问数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911401581.9/2.html,转载请声明来源钻瓜专利网。