CN115129754A - 一种数据库的数据处理方法、存储介质及设备 - Google Patents

一种数据库的数据处理方法、存储介质及设备 Download PDF

Info

Publication number
CN115129754A
CN115129754A CN202210784267.9A CN202210784267A CN115129754A CN 115129754 A CN115129754 A CN 115129754A CN 202210784267 A CN202210784267 A CN 202210784267A CN 115129754 A CN115129754 A CN 115129754A
Authority
CN
China
Prior art keywords
information
sql
data processing
processing method
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210784267.9A
Other languages
English (en)
Inventor
韩慧敏
李楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingbase Information Technologies Co Ltd
Original Assignee
Beijing Kingbase Information Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingbase Information Technologies Co Ltd filed Critical Beijing Kingbase Information Technologies Co Ltd
Priority to CN202210784267.9A priority Critical patent/CN115129754A/zh
Publication of CN115129754A publication Critical patent/CN115129754A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据库的数据处理方法、存储介质及设备,该数据库的数据处理方法包括:获取SQL信息;对SQL信息进行解析,得到解析结果;获取客户端的缓存信息;根据解析结果判断在SQL信息中是否含有与缓存信息对应的分片键;若是,根据分片键对SQL信息进行处理,并将处理后SQL信息发送至对应节点。本发明的数据库的数据处理方法根据分片键对SQL信息进行处理,并将处理后SQL信息发送至对应节点,以降低协调节点的压力,提升数据库性能。

Description

一种数据库的数据处理方法、存储介质及设备
技术领域
本发明涉及数据库技术领域,特别是涉及一种数据库的数据处理方法、存储介质及设备。
背景技术
随着信息技术的发展,现有系统的访问量以几何式增长,越来越多的业务使用了分布式的方式,来降低单个节点的存储和访问压力。
现有的分布式数据架构,通常使用多个节点组合的方式,每个节点都是一个独立的数据库,具有单独的硬件资源。这些节点组合起来对外提供一个类似于集中式数据库的逻辑数据库,对应用使用透明。但由于每个数据节点都只有一部分的数据,所以需要有一个协调节点来存储集群元信息,如分片键信息,数据分片在节点上的分布信息等。
如图1的架构所示,客户端(应用)在访问数据库的时候,必需要通过协调节点来进行语句的路由,协调节点需要把SQL发送到真正的数据节点执行,然后获取数据节点返回的数据进行结果的汇总,最后返回给应用。
数据访问量大的时候,协调节点的压力也会增大,并且协调节点在执行语句时还需要连接数据节点,会有连接的网络传输损耗。
发明内容
本发明的一个目的是要提供一种能够解决上述任一问题的数据库的数据处理方法、存储介质及设备。
本发明一个进一步的目的是要提升数据库性能。
本发明另一个进一步的目的是要降低协调节点压力。
特别地,本发明提供了一种数据库的数据处理方法,该数据库的数据处理方法包括:
获取SQL信息;
对SQL信息进行解析,得到解析结果;
获取客户端的缓存信息;
根据解析结果判断在SQL信息中是否含有与缓存信息对应的分片键;
若是,根据分片键对SQL信息进行处理,并将处理后SQL信息发送至对应节点。
可选地,根据分片键对SQL信息进行处理并将处理后SQL信息发送至对应节点的步骤包括:
根据分片键得到SQL信息涉及的工作节点;
判断SQL信息是否涉及多个工作节点;
若是,则将SQL信息发送至协调节点;
若否,则对SQL信息进行改写,并将改写后的SQL信息发送至其涉及的单个工作节点。
可选地,对SQL信息进行改写的步骤包括:
将SQL信息中的逻辑表改写为对应的真实表。
可选地,缓存信息配置成根据协调节点的元信息进行更新。
可选地,缓存信息根据协调节点的元信息进行更新的步骤包括:
间隔固定时间查询元信息,并根据查询结果更新缓存信息。
可选地,缓存信息根据协调节点的元信息进行更新的步骤还包括:
获取元信息变化信号;
更新缓存信息。
可选地,根据解析结果判断在SQL信息中是否含有与缓存信息对应的分片键的步骤之后还包括:
若SQL信息中不含与缓存信息对应的分片键,则将SQL信息发送至协调节点。
可选地,解析包括词法解析和语法解析,词法解析将SQL信息分割为多个单词,语法解析分析单词中语义,解析结果包括表名、字段信息和查询条件信息。
根据本发明的另一方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的数据库的数据处理方法。
根据本发明的另一方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的数据库的数据处理方法。
本发明的数据库的数据处理方法包括获取SQL信息;对SQL信息进行解析,得到解析结果;获取客户端的缓存信息;根据解析结果判断在SQL信息中是否含有与缓存信息对应的分片键;若是,根据分片键对SQL信息进行处理,并将处理后SQL信息发送至对应节点。本发明的数据库的数据处理方法将涉及单节点的SQL信息直接发送数据节点,以降低协调节点的压力,提升数据库性能。
进一步地,本发明的数据库的数据处理方法的缓存信息还配置成根据协调节点的元信息进行更新。缓存信息更新包括两种方式。间隔固定时间查询元信息,并根据查询结果更新缓存信息;以及获取元信息变化信号,更新缓存信息。本发明的数据库的数据处理方法通过上述两种方式对缓存信息进行更新,以保证SQL数据处理的准确性。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1是现有技术中分布式集群架构图;
图2是根据本发明一个实施例的数据库的数据处理方法的分布式集群架构图;
图3是根据本发明一个实施例的数据库的数据处理方法的示意性流程图;
图4是根据本发明又一个实施例的数据库的数据处理方法的数据传输过程示意图;
图5是根据本发明又一个实施例的数据库的数据处理方法的示意性流程图;
图6是根据本发明一个实施例的机器可读存储介质的示意图;以及
图7是根据本发明一个实施例的计算机设备的示意图。
具体实施方式
图2是根据本发明一个实施例的数据库的数据处理方法的分布式集群架构图。如图2所示,本实施例的分布式集群架构包括客户端100、协调节点200以及多个工作节点300。因为客户端100要对语句进行分发,所以客户端需要缓存对应的表、分片键、分片算法等信息。在协调节点200中查询对应的信息,并在客户端100以对应的形式组织缓存。因为表是动态变化的,所以缓存信息需要进行动态更新。
图3是根据本发明一个实施例的数据库的数据处理方法的示意性流程图。本实施例的数据处理方法包括:
步骤S202,获取SQL信息。
步骤S204,对SQL信息进行解析,得到解析结果。解析包括词法解析和语法解析。通过词法解析将SQL信息分割为多个单词,语法解析分析单词中语义。解析结果可以包括表名、字段信息、查询条件信息等。
步骤S206,获取客户端的缓存信息。
步骤S208,根据解析结果判断在SQL信息中是否含有与缓存信息对应的分片键。若是,则执行步骤S210。若否,则执行步骤S212。
步骤S210,根据分片键对SQL信息进行处理,并将处理后SQL信息发送至对应节点。
步骤S212,将所述SQL信息发送至所述协调节点。
图4是根据本发明又一个实施例的数据库的数据处理方法的数据传输过程。在现有技术中,客户端100发送包含分片键的SQL语句:select*from test where t1=1至协调节点200,即查询表test中字段t1=1的数据的所有字段,由协调节点200执行,将语句:select*from test_0001where t1=1,即查询表test_0001中字段t1=1的数据的所有字段,发送至对应的工作节点300。本实施例的数据库的数据处理方法中客户端100直接发送包含分片键的SQL语句:select*from test_0001 t1=1至对应的工作节点300,即查询表test中字段t1=1的数据的所有字段。
客户端(应用、驱动)在获取到SQL信息后,首先要对SQL信息进行解析。解析分为语法解析和词法解析。先通过词法解析将语句分割为多个单词,在通过语法解析分析其中语义,解析出表名、字段信息、查询条件信息等。然后在缓存信息中查询表对应的分片键,看SQL信息中是否包含对应的分片键。本实施例的数据库的数据处理方法将涉及单节点的SQL信息直接发送数据节点,以降低协调节点的压力,提升数据库性能。
缓存信息配置成根据协调节点的元信息进行更新。根据协调节点的元信息对缓存信息进行更新的步骤包括间隔固定时间查询元信息,并根据查询结果更新缓存信息。建立一个监测线程,间隔固定时间去查询一次元信息,来更新本地缓存。如果在间隔时间内有新表的建立,此时客户端没有对应表的分片信息的缓存,此时把SQL信息发送到协调节点执行。在缓存信息更新后,客户端可以根据缓存信息来进行分发,该方法实现简单。
根据协调节点的元信息对缓存信息进行更新的步骤还包括获取元信息变化信号,更新缓存信息。当协调节点的元信息发生变化时,由服务器来通知客户端缓存信息已变更,从而进行本地缓存信息的更新,该方法可以实时感知到缓存信息的变更,无需主动地频繁与数据库交互。
图5是根据本发明一个实施例的数据库的数据处理方法的示意性流程图。本实施例的数据处理方法中根据分片键对SQL信息进行处理,并将处理后SQL信息发送至对应节点的步骤包括:
步骤S302,根据分片键得到SQL信息涉及的工作节点。
步骤S304,判断SQL信息是否涉及多个工作节点。若是,则执行步骤S306。若否,则执行步骤S308。
步骤S306,将SQL信息发送至协调节点。
步骤S308,对SQL信息进行改写,将改写后的SQL信息发送至涉及的单个工作节点。由于只涉及单个工作节点的语句分发,所以只设计到表名的改写。对SQL信息进行改写的步骤包括将SQL信息中的逻辑表改写为对应的真实表。
如果不包含对应的分片键则需要全库路由,将SQL信息发送至协调节点执行。如果包含分片键,则要获取对应的分片算法,根据分片键条件,获取SQL路由到的服务器。如果涉及多个服务器,则将SQL信息发送到协调节点。如果发送到单个服务器,则需要根据规则,对SQL信息进行改写,然后将改写后的SQL信息发送至单个节点。
本实施例还提供了一种机器可读存储介质和计算机设备。图6是根据本发明一个实施例的机器可读存储介质的示意图,图7是根据本发明一个实施例的计算机设备的示意图。
机器可读存储介质40其上存储有机器可执行程序41,机器可执行程序41被处理器执行时实现上述任一实施例的数据库的数据处理方法。
计算机设备50可以包括存储器520、处理器510及存储在存储器520上并在处理器510上运行的机器可执行程序41,并且处理器510执行机器可执行程序41时实现上述任一实施例的数据库的数据处理方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何机器可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本实施例的描述而言,机器可读存储介质40可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质40甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。
计算机设备50可以是例如服务器、台式计算机、笔记本式计算机、平板计算机或智能手机。在一些示例中,计算机设备50可以是云计算节点。计算机设备50可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机设备50可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
计算机设备50可以包括适于执行存储的指令的处理器510、在操作期间为所述指令的操作提供临时存储空间的存储器520。处理器510可以是单核处理器、多核处理器、计算集群或任何数量的其他配置。存储器520可以包括随机存取存储器(RAM)、只读存储器、闪存或任何其他合适的存储系统。
处理器510也可以通过系统互连链接到适于将计算机设备50连接到显示设备的显示接口。显示设备可以包括作为计算机设备50的内置组件的显示屏。显示设备还可以包括外部连接到计算机设备50的计算机监视器、电视机或投影仪等。此外,网络接口控制器(network interface controller,NIC)可以适于通过系统互连将计算机设备50连接到网络。在一些实施例中,NIC可以使用任何合适的接口或协议(诸如因特网小型计算机系统接口等)来传输数据。网络可以是蜂窝网络、无线电网络、广域网(WAN))、局域网(LAN)或因特网等等。远程设备可以通过网络连接到计算设备。
本实施例提供的流程图并不旨在指示方法的操作将以任何特定的顺序执行,或者方法的所有操作都包括在所有的每种情况下。此外,方法可以包括附加操作。在本实施例方法提供的技术思路的范围内,可以对上述方法进行附加的变化。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

Claims (10)

1.一种数据库的数据处理方法,包括:
获取SQL信息;
对所述SQL信息进行解析,得到解析结果;
获取客户端的缓存信息;
根据所述解析结果判断在所述SQL信息中是否含有与所述缓存信息对应的分片键;
若是,根据所述分片键对所述SQL信息进行处理,并将处理后所述SQL信息发送至对应节点。
2.根据权利要求1所述的数据库的数据处理方法,其中,根据所述分片键对所述SQL信息进行处理并将处理后所述SQL信息发送至对应节点的步骤包括:
根据所述分片键得到所述SQL信息涉及的工作节点;
判断所述SQL信息是否涉及多个工作节点;
若是,则将SQL信息发送至协调节点;
若否,则对所述SQL信息进行改写,并将改写后的SQL信息发送至其涉及的单个工作节点。
3.根据权利要求2所述的数据库的数据处理方法,其中,对所述SQL信息进行改写的步骤包括:
将所述SQL信息中的逻辑表改写为对应的真实表。
4.根据权利要求2所述的数据库的数据处理方法,其中,所述缓存信息配置成根据所述协调节点的元信息进行更新。
5.根据权利要求4所述的数据库的数据处理方法,其中,所述缓存信息根据所述协调节点的元信息进行更新的步骤包括:
间隔固定时间查询所述元信息,并根据查询结果更新所述缓存信息。
6.根据权利要求4所述的数据库的数据处理方法,其中,所述缓存信息根据所述协调节点的元信息进行更新的步骤还包括:
获取所述元信息变化信号;
更新所述缓存信息。
7.根据权利要求2所述的数据库的数据处理方法,其中,根据所述解析结果判断在所述SQL信息中是否含有与所述缓存信息对应的分片键的步骤之后还包括:
若所述SQL信息中不含与所述缓存信息对应的分片键,则将所述SQL信息发送至所述协调节点。
8.根据权利要求1所述的数据库的数据处理方法,其中,所述解析包括词法解析和语法解析,所述词法解析将所述SQL信息分割为多个单词,所述语法解析分析所述单词中语义,所述解析结果包括表名、字段信息和查询条件信息。
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的数据库的数据处理方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的数据库的数据处理方法。
CN202210784267.9A 2022-06-28 2022-06-28 一种数据库的数据处理方法、存储介质及设备 Pending CN115129754A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210784267.9A CN115129754A (zh) 2022-06-28 2022-06-28 一种数据库的数据处理方法、存储介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210784267.9A CN115129754A (zh) 2022-06-28 2022-06-28 一种数据库的数据处理方法、存储介质及设备

Publications (1)

Publication Number Publication Date
CN115129754A true CN115129754A (zh) 2022-09-30

Family

ID=83381593

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210784267.9A Pending CN115129754A (zh) 2022-06-28 2022-06-28 一种数据库的数据处理方法、存储介质及设备

Country Status (1)

Country Link
CN (1) CN115129754A (zh)

Similar Documents

Publication Publication Date Title
CN110196888B (zh) 基于Hadoop的数据更新方法、装置、系统及介质
US20240223471A1 (en) Standardized format for containerized applications
CN109492053B (zh) 用于访问数据的方法和装置
US20080295074A1 (en) Data management interface with configurable plugins
US11243921B2 (en) Database expansion system, equipment, and method of expanding database
US8412721B2 (en) Efficient data extraction by a remote application
CN111723112B (zh) 数据任务执行方法、装置、电子设备及存储介质
CN110737674A (zh) 可视化图表查询方法、装置、设备及计算机存储介质
CN110555030A (zh) 一种sql语句的处理方法和装置
WO2018035799A1 (zh) 数据查询方法、应用和数据库服务器、中间件及系统
CN111666293A (zh) 数据库访问方法和装置
US20080294854A1 (en) Data management interface with plugins
CN111338944A (zh) 远程过程调用rpc接口测试方法、装置、介质及设备
CN113419740A (zh) 程序数据流的分析方法、装置、电子设备及可读存储介质
CN113568924A (zh) 一种数据处理方法、装置、电子设备及存储介质
CN107341217B (zh) 一种数据获取方法及设备
US10204123B2 (en) Method for accessing and automatically correlating data from a plurality of external data sources
CN115842733A (zh) 资源共享方法及微前端系统、应用、计算机可读存储介质
CN112114856A (zh) 一种热更新方法及装置
CN115129754A (zh) 一种数据库的数据处理方法、存储介质及设备
CN115357606A (zh) 数据源查询方法、系统、计算机设备和存储介质
CN113157722A (zh) 一种数据处理方法、装置、服务器、系统及存储介质
CN109298831B (zh) 信息存储方法和装置
US20210042334A1 (en) Multi-cloud object store access
CN111711605A (zh) 一种用于物联网平台的数据协议主动解析方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing

Applicant after: China Electronics Technology Group Jincang (Beijing) Technology Co.,Ltd.

Address before: 100102 201, 2 / F, 101, No. 5 building, No. 7 Rongda Road, Chaoyang District, Beijing

Applicant before: BEIJING KINGBASE INFORMATION TECHNOLOGIES Inc.

Country or region before: China

CB02 Change of applicant information