CN112328624B - 一种sql转发方法、装置及可读存储介质 - Google Patents

一种sql转发方法、装置及可读存储介质 Download PDF

Info

Publication number
CN112328624B
CN112328624B CN202011227904.XA CN202011227904A CN112328624B CN 112328624 B CN112328624 B CN 112328624B CN 202011227904 A CN202011227904 A CN 202011227904A CN 112328624 B CN112328624 B CN 112328624B
Authority
CN
China
Prior art keywords
sql
forwarding
query
connection
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.)
Active
Application number
CN202011227904.XA
Other languages
English (en)
Other versions
CN112328624A (zh
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.)
Highgo Base Software Co ltd
Original Assignee
Highgo Base Software 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 Highgo Base Software Co ltd filed Critical Highgo Base Software Co ltd
Priority to CN202011227904.XA priority Critical patent/CN112328624B/zh
Publication of CN112328624A publication Critical patent/CN112328624A/zh
Application granted granted Critical
Publication of CN112328624B publication Critical patent/CN112328624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management
    • 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/25Integrating or interfacing systems involving database management systems
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

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)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种SQL转发方法、装置及可读存储介质,其中方法包括解析结构化查询语言SQL,确定对应的操作类型;按照预设规则根据所述操作类型转发所述SQL执行查询。本发明方法根据确定SQL对应的操作类型,按照预设规则根据所述操作类型转发所述SQL执行查询,由此实现有针对性地转发SQL进行查询,解决了现有技术中存在的查询效率低下,系统响应时间变长的问题。

Description

一种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之前,还包括:
若确定所述SQL对应的数据库驱动未开启SQL转发功能,则不执行SQL转发;
在确定所述SQL对应的数据库驱动开启SQL转发功能后,则在所述SQL对应的预处理语句为begin的情况下,解析结构化查询语言SQL;或者,在所述SQL对应的预处理语句为end的情况下,清理临时缓存且不执行SQL转发。
第二方面,本发明实施例提供一种结构化查询语言转发装置,包括:
解析模块,用于解析结构化查询语言SQL,确定对应的操作类型;
转发模块,用于按照预设规则根据所述操作类型转发所述SQL执行查询。
第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的结构化查询语言转发方法的步骤。
本发明实施例通过解析结构化查询语言SQL,确定对应的操作类型,按照预设规则根据所述操作类型转发所述SQL执行查询,由此实现有针对性地转发SQL进行查询,解决了现有技术中存在的查询效率低下,系统响应时间变长的问题。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明第一实施例基本流程图;
图2为本发明第一实施例初始化流程图;
图3为本发明第一实施例总流程图;
图4为本发明第一实施例逻辑流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明第一实施例提供结构化查询语言转发方法,如图1所示,包括以下具体步骤:
S101、通过解析结构化查询语言SQL,确定对应的操作类型;
S102、按照预设规则根据所述操作类型转发所述SQL以执行查询。
现有技术在进行SQL转发时,同一个事务的不同读写语句会被发送至不同的节点运行,而数据可能未及时同步,所以本实施例中根据操作类型将查询语句进行划分,使得在保证数据一致性的情况下,将查询语句发送到对应的节点执行查询。本发明实施例通过解析结构化查询语言SQL,确定对应的操作类型,按照预设规则根据所述操作类型转发所述SQL执行查询,由此实现有针对性地转发SQL进行查询,解决了现有技术中存在的查询效率低下,系统响应时间变长的问题。
可选的,解析结构化查询语言SQL之前,所述方法还包括:
根据接收到的测试连接中数据库驱动对应的连接串对SQL转发进行初始化。
具体的说,本实施例中,在解析结构化查询语言SQL之前,还可以根据接收到的测试连接中数据库驱动对应的连接串对SQL转发流程进行初始化,初始化的目的是为了实现与对应的操作类型进行匹配,从而识别操作类型是否包含设定的操作类型。
可选的,在通过所述连接串确定所述数据库驱动开启了SQL转发功能的情况下,根据接收到的测试连接中数据库驱动对应的连接串对SQL转发进行初始化,包括:
建立与所述连接串对应的主节点之间的主连接;
基于所述主连接执行SQL查询;
根据SQL查询结果,确定当前节点集群中的图表映射关系,并根据节点负载情况选取备用节点;
所述备用节点,用于在不转发所述SQL的情况下执行查询。
作为一种可选的初始化过程,本实施例中以基于HGJDBC5.0数据库驱动为例进行举例说明。如图2所示,本实施例的初始化过程可以包括如下步骤:
通过java.sql.Driver接口尝试建立一个Connection连接。
解析应用传入的数据库驱动的连接串是否包含”dmlForward=true”参数,判断数据库驱动是否开启了SQL转发模块的功能,对未开启该功能的,遵循原有逻辑直接建立到连接串中配置节点的连接,后续则可以通过对应的节点执行查询任务。
若开启了SQL转发功能的,将数据库驱动连接串中host/port/database视为主节点,首先将建立到主节点的master连接。
然后,确定当前节点集群中的图表映射关系。
根据前述建立的到主节点的master连接执行SQL查询。查询在当前节点集群中的Table与View的映射关系,也即图表映射关系。在查询获得图表映射关系之后,可以采用Map的方式进行对所获得的图表映射关系进行映射缓存。通过查询获得的图表映射关系的目的是为了保证数据的一致性,例如对于同一事务中某个表的数据发生了操作类型为写的操作,那么对该表的查询以及依赖于该表的视图进行查询时,都可以转发到主节点进行查询。也即本实施例可以通过初始化获得的图表映射关系对后续传入的SQL查询语句进行划分,由此可以按照设定的规则对SQL转发至目标节点执行查询任务,例如在保证数据一致性的情况下,将查询语句发送到备节点执行,从而降低主节点的负载压力。
进一步的,本实施例中还提出一种备用节点的选取方式,根据SQL查询结果,并根据节点负载情况选取备用节点。
具体的,如图2所示,根据master连接进行查询,获得当前节点集群中所有的备节点的连接信息,在数据库驱动中根据负载均衡策略选中其中一个备节点信息建立primary连接,并将master连接放入primary连接中。也即本实施例中可以选取负载较低的备用节点建立备用连接,后续可利用备用节点通过备用连接传入SQL,执行查询任务。
可选的,根据接收到的测试连接中的数据库驱动对应的连接串进行初始化,包括:
读取所述连接串中对应的预设参数配置的全局缓存;
将出现于所述全局缓存中的所述SQL配置为转发至主节点执行查询。
在另一种可选的初始化方式中,还可以通过读取数据库驱动连接串中”whiteList”参数配置的全局缓存文件,对包含出现在全局缓存文件中的内容的SQL,配置为始终通过主节点连接执行查询,也即对于出现在全局缓存文件中的内容的SQL转发至主节点执行查询。
例如:缓存文件中存在关键字”function1”,那么对于sql”select function1()”,将会发送到主节点执行查询。对于包含写操作的函数,适用于全局缓存。也即本实施例中通过初始化,可以对传入的SQL语句进行划分,对于适用于全局缓存的SQL查询语句则直接转发至主节点执行查询,由此可以加快查询效率,从而降低系统响应时间。
可选的,解析结构化查询语言SQL之前,还包括:
若确定所述SQL对应的数据库驱动未开启SQL转发功能,则不执行SQL转发;
在确定所述SQL对应的数据库驱动开启SQL转发功能后,则在所述SQL对应的预处理语句为begin的情况下,解析结构化查询语言SQL;或者,在所述SQL对应的预处理语句为end的情况下,清理临时缓存且不执行SQL转发。
具体的说,如图3所示,本实施例中对于传入的SQL查询语句,首先要判断是否开启数据库驱动SQL转发功能,若未开启,则按照原有逻辑创建预处理语句,并切换至primary连接。
若开启了SQL转发功能,进一步判断预处理的SQL语句是否为“begin”或“end”,因为事务内临时缓存仅在非自动提交或者用户手动创建了一个事务(即手动发送begin/end语句)时生效。
若为“begin”,将isInTransaction标记为true,表示已经手动进入一个事务中,并执行转发逻辑;
若为“end”,将isInTransaction标记为false,并清理事务内临时缓存,按照原有逻辑创建预处理语句,并切换至primary连接并返回;
若不为“begin/end”,执行转发流程。
可选的,按照预设规则根据所述操作类型转发所述SQL执行查询,包括:
在确定所述操作类型包含写操作的情况下,将所述SQL转发至主节点执行查询。
本实施中可以根据确定的操作类型对SQL语句进行划分,划分标准可以是在同一个事务内,某个表/视图的数据发生了修改,那么对包含该表/视图的查询操作应当发送到主节点执行;对其他数据未发生改变的表和视图的查询,则可以发送到备节点执行,从而提高备节点的使用率,降低主节点的负载压力,从而降低系统响应时间。
在具体执行过程中,在确定所述操作类型包含写操作的情况下,也即确认某个表/视图的数据发生了修改,将所述SQL转发至主节点执行查询。具体的确定过程可以是使用SQL解析来判断当前sql是否是包含写操作的sql,若sql为以下类型的SQL语句:
“insert”/“update”/“delete”/“drop”/“begin”/“alter”/“create”,“select…for update”等,将其解析为写SQL。也即通过SQL语句预定的标识语句即可判定某个表/视图的数据是否发生了修改。
可选的,在确定所述操作类型包含写操作后,还包括:
若根据当前数据库驱动确定临时缓存未生效,则直接将所述SQL转发至主节点执行查询;
若根据当前数据库驱动确定临时缓存生效,则根据所述SQL解析获得所述写操作对应的数据表,通过预设图表映射关系确定与所述数据表匹配的视图,并将所述数据表以及所述视图写入所述临时缓存中。
在解析为写SQL之后,也即判定某个表/视图的数据发生了修改之后,进一步判定初始化的内容是否生效,便于确定转发节点。如图3所示,包括:
若解析为写SQL后,判断当前数据库驱动的设置,是否为autoCommit或者isIntransaction,即事务内临时缓存是否生效,若不生效,直接返回预处理语句,并将连接切换至master连接执行。
若事务内临时缓存生效,根据SQL解析获得被操作的表,将其写入事务内临时缓存;检查是否存在view视图依赖与该表,若存在依赖,将该view视图也写入事务内临时缓存之中。
可选的,按照预设规则根据所述操作类型转发所述SQL执行查询,包括:
在确定所述操作类型包含读操作的情况下,则根据所述SQL是否包含目标关键对象确定是否执行转发。
可选的,则根据所述SQL是否包含目标关键对象确定是否执行转发,包括:
若所述SQL中包含全局缓存或临时缓存中的目标关键对象,则将所述SQL转发至所述主节点执行查询;
否则,不转发所述SQL,而通过备用节点执行查询。
具体的说,在本实施例中,若解析SQL中并不包含写操作,而获得的解析结果为读SQL的情况下。本实施例中进一步判断该SQL是否包含全局缓存中的关键字,若存在,则切换至master连接执行,也即若为读操作的SQL,在读类型的SQL包含全局缓存中的关键字的情况下,说明也适用于全局缓存,也即需要将SQL转发至主节点执行查询。
若SQL不包含全局缓存中的关键字,那么本实施例中进一步判断该SQL是否包含事务内临时缓存中的Table/View对象,也即图标对象,为保证事务的一致性,同一事务内对某一表的写操作完成之后,对该表以及相关视图的读操作也均由主节点执行。所以,若存在于事务内临时缓存中,切换至master连接,否则切换至primary连接。
简单的说,如图4所示,本实施例方法在初始化中配置一个全局缓存,用于将包含指定操作类型的SQL强制到主节点执行查询。当传入一个SQL以后,进行语法解析,判断是否为一个写操作,若为写操作,将其转发至主节点执行。若为一个读操作,进一步判断SQL中是否包含全局缓存中的对象,若存在,转发至主节点执行;若不存在,则进一步判断SQL中操作的对象是否在事务内临时缓存中,若存在,说明在该事务内该表(视图)的数据发生了改变,为保证数据一致,将其转发至主节点执行;否则,不转发,即由备节点执行查询。具体的查询通道可以是与主节点之间的主连接,也可以是与备用节点之间的备用连接。
综上,本实施例方法有如下有益效果:
本实施例方法能够实现多节点集群的单节点接入,即在应用端仅需配置集群的VIP,模块内部可以连通集群中的所有节点。
本实施例方法能够在实现读写分离的同时,保持事务的一致性,即不会出现脏数据,保证数据正确。
本实施例方法能够在进行SQL转发时,对事务内的读语句进行划分,将发生了数据修改的表/视图的查询操作发送到主节点执行;对其他数据未发生改变的表和视图的查询,发送到备节点执行。从而提升备节点的利用率,减轻查询操作对主节点的占用,提高系统响应速度。
实施例二
本发明实施例还提供一种结构化查询语言转发装置,包括:
解析模块,用于解析结构化查询语言SQL,确定对应的操作类型;
转发模块,用于按照预设规则根据所述操作类型转发所述SQL执行查询。
现有技术在进行SQL转发时,同一个事务的不同读写语句会被发送至不同的节点运行,而数据可能未及时同步,所以本实施例中根据操作类型将查询语句进行划分,使得在保证数据一致性的情况下,将查询语句发送到对应的节点执行查询。本发明实施例通过解析结构化查询语言SQL,确定对应的操作类型,按照预设规则根据所述操作类型转发所述SQL执行查询,由此实现有针对性的转发SQL进行查询,解决了现有技术中存在的查询效率低下,系统响应时间变长的问题。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一实施例的结构化查询语言转发方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (7)

1.一种结构化查询语言转发方法,其特征在于,包括:
通过解析结构化查询语言SQL,确定对应的操作类型;
按照预设规则根据所述操作类型转发所述SQL以执行查询;
解析结构化查询语言SQL之前,所述方法还包括:
根据接收到的测试连接中数据库驱动对应的连接串对SQL转发进行初始化;
在通过所述连接串确定所述数据库驱动开启了SQL转发功能的情况下,根据接收到的测试连接中数据库驱动对应的连接串对SQL转发进行初始化,包括:
建立与所述连接串对应的主节点之间的主连接;
基于所述主连接执行SQL查询;
根据SQL查询结果,确定当前节点集群中的图表映射关系,并根据节点负载情况选取备用节点,所述图表映射关系为在当前节点集群中的Table与View的映射关系;
所述备用节点,用于在不转发所述SQL的情况下执行查询;
按照预设规则根据所述操作类型转发所述SQL执行查询,包括:
在确定所述操作类型包含写操作的情况下,将所述SQL转发至主节点执行查询;
在确定所述操作类型包含读操作的情况下,则根据所述SQL是否包含目标关键对象确定是否转发所述SQL。
2.如权利要求1所述的结构化查询语言转发方法,其特征在于,根据接收到的测试连接中的数据库驱动对应的连接串进行初始化,包括:
读取所述连接串中对应的预设参数配置的全局缓存;
将出现于所述全局缓存中的所述SQL配置为转发至主节点执行查询。
3.如权利要求1所述的结构化查询语言转发方法,其特征在于,根据所述SQL是否包含目标关键对象确定是否执行转发,包括:
若所述SQL中包含全局缓存或临时缓存中的目标关键对象,则将所述SQL转发至所述主节点以执行查询;
否则,不转发所述SQL,而通过备用节点执行查询。
4.如权利要求1所述的结构化查询语言转发方法,其特征在于,在确定所述操作类型包含写操作后,按照预设规则根据所述操作类型转发所述SQL以执行查询还包括:
若根据当前数据库驱动确定临时缓存未生效,则直接将所述SQL转发至主节点执行查询;
若根据当前数据库驱动确定临时缓存生效,则根据所述SQL解析获得所述写操作对应的数据表,通过预设图表映射关系确定与所述数据表匹配的视图,并将所述数据表以及所述视图写入所述临时缓存中。
5.如权利要求1-4中任一项所述的结构化查询语言转发方法,其特征在于,通过解析结构化查询语言SQL之前,所述方法还包括:
若确定所述SQL对应的数据库驱动未开启SQL转发功能,则不执行SQL转发;
在确定所述SQL对应的数据库驱动开启SQL转发功能后,则在所述SQL对应的预处理语句为begin的情况下,解析结构化查询语言SQL;或者,在所述SQL对应的预处理语句为end的情况下,清理临时缓存且不执行SQL转发。
6.一种结构化查询语言转发装置,其特征在于,包括:
解析模块,用于通过解析结构化查询语言SQL,确定对应的操作类型;
转发模块,用于按照预设规则根据所述操作类型转发所述SQL,以执行查询;
解析结构化查询语言SQL之前,还包括:
根据接收到的测试连接中数据库驱动对应的连接串对SQL转发进行初始化;
在通过所述连接串确定所述数据库驱动开启了SQL转发功能的情况下,根据接收到的测试连接中数据库驱动对应的连接串对SQL转发进行初始化,包括:
建立与所述连接串对应的主节点之间的主连接;
基于所述主连接执行SQL查询;
根据SQL查询结果,确定当前节点集群中的图表映射关系,并根据节点负载情况选取备用节点,所述图表映射关系为在当前节点集群中的Table与View的映射关系;
所述备用节点,用于在不转发所述SQL的情况下执行查询;
按照预设规则根据所述操作类型转发所述SQL执行查询,包括:
在确定所述操作类型包含写操作的情况下,将所述SQL转发至主节点执行查询;
在确定所述操作类型包含读操作的情况下,则根据所述SQL是否包含目标关键对象确定是否转发所述SQL。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的结构化查询语言转发方法的步骤。
CN202011227904.XA 2020-11-06 2020-11-06 一种sql转发方法、装置及可读存储介质 Active CN112328624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011227904.XA CN112328624B (zh) 2020-11-06 2020-11-06 一种sql转发方法、装置及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011227904.XA CN112328624B (zh) 2020-11-06 2020-11-06 一种sql转发方法、装置及可读存储介质

Publications (2)

Publication Number Publication Date
CN112328624A CN112328624A (zh) 2021-02-05
CN112328624B true CN112328624B (zh) 2022-07-01

Family

ID=74316771

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011227904.XA Active CN112328624B (zh) 2020-11-06 2020-11-06 一种sql转发方法、装置及可读存储介质

Country Status (1)

Country Link
CN (1) CN112328624B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113766027B (zh) * 2021-09-09 2023-09-26 瀚高基础软件股份有限公司 一种流复制集群节点转发数据的方法及设备
CN116401177B (zh) * 2023-06-09 2023-08-15 瀚高基础软件股份有限公司 一种ddl正确性检测方法、设备及介质
CN117131125B (zh) * 2023-10-23 2024-02-02 瀚高基础软件股份有限公司 数据库管理工具的空间栅格数据可视化系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126600A (zh) * 2016-06-21 2016-11-16 浪潮电子信息产业股份有限公司 一种执行读写分离的方法、装置及系统
CN107122357A (zh) * 2016-02-24 2017-09-01 阿里巴巴集团控股有限公司 数据库读写分离方法、装置和系统
CN110019312A (zh) * 2017-12-29 2019-07-16 中国移动通信集团山西有限公司 读写数据分离调度方法、装置、设备及介质
CN111752959A (zh) * 2020-05-29 2020-10-09 南京南瑞继保电气有限公司 一种实时数据库跨库sql交互方法和系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201113731A (en) * 2009-10-15 2011-04-16 Inst Information Industry Data query method, data query system and computer readable and writable recording medium
CN102541521B (zh) * 2010-12-17 2015-03-25 中国银联股份有限公司 基于结构化查询语言的操作指令自动生成装置及方法
US9613120B1 (en) * 2014-11-11 2017-04-04 Amazon Technologies, Inc. Replicated database startup for common database storage
CN106934062B (zh) * 2017-03-28 2020-05-19 广东工业大学 一种查询elasticsearch的实现方法及系统
CN109063056A (zh) * 2018-07-20 2018-12-21 阿里巴巴集团控股有限公司 一种数据查询方法、系统及终端设备
CN111367954A (zh) * 2018-12-26 2020-07-03 中兴通讯股份有限公司 数据查询处理方法、装置及系统、计算机可读存储介质
CN111797121B (zh) * 2020-07-02 2023-08-25 中国工商银行股份有限公司 读写分离架构业务系统的强一致性查询方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107122357A (zh) * 2016-02-24 2017-09-01 阿里巴巴集团控股有限公司 数据库读写分离方法、装置和系统
CN106126600A (zh) * 2016-06-21 2016-11-16 浪潮电子信息产业股份有限公司 一种执行读写分离的方法、装置及系统
CN110019312A (zh) * 2017-12-29 2019-07-16 中国移动通信集团山西有限公司 读写数据分离调度方法、装置、设备及介质
CN111752959A (zh) * 2020-05-29 2020-10-09 南京南瑞继保电气有限公司 一种实时数据库跨库sql交互方法和系统

Also Published As

Publication number Publication date
CN112328624A (zh) 2021-02-05

Similar Documents

Publication Publication Date Title
CN112328624B (zh) 一种sql转发方法、装置及可读存储介质
US7478085B2 (en) Ability for developers to easily find or extend well known locations on a system
US10742575B2 (en) Coordination of data received from one or more sources over one or more channels into a single context
US20030016237A1 (en) System for and method of emulating a database system
US20090112881A1 (en) File sharing system in cooperation with a search engine
US20030023671A1 (en) Wireless information transmission system and method
CN1177150A (zh) 处理环球网页面中用于动态数据查询的机制
JP2003108184A (ja) 入力モードバイアスを適用するための方法およびシステム
CN113127125B (zh) 页面自动适配方法、装置、设备及存储介质
KR20050103192A (ko) 서버로부터 페이지를 요청하는 방법 및 데이터 프로세싱시스템
US7895337B2 (en) Systems and methods of generating a content aware interface
CN114995859A (zh) 页面热更新方法、装置、设备及存储介质
KR102307380B1 (ko) 자연어 처리 기반 콜센터 지원 시스템 및 방법
GB2394804A (en) Method of Processing Data from a Submission Interface
CN107357853B (zh) 一种redis控制台的操作方法、装置及计算机系统
WO2020258652A1 (zh) 字符替换方法、系统、计算机设备及计算机可读存储介质
CN109684351B (zh) 一种执行计划查看方法、装置、服务器及存储介质
CN111143383A (zh) 一种数据更新方法、装置、电子设备及存储介质
US20120296936A1 (en) Terminal device for executing a query to a database
US7668929B1 (en) Abstracting links to electronic resources in a network environment
US6999968B1 (en) Fast merge into large ordered sets
US20050172034A1 (en) Method and system for managing programs for web service system
CN110688201B (zh) 一种日志管理方法及相关设备
EP1008045B1 (en) File system primitive allowing reprocessing of i/o requests by multiple drivers in a layered driver i/o system
US7669200B2 (en) Resizing an install image

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
GR01 Patent grant
GR01 Patent grant