SQL的查询方法、装置及存储介质制造方法及图纸

技术编号:37609594 阅读:12 留言:0更新日期:2023-05-18 12:01
本申请涉及一种SQL的查询方法、装置及存储介质,其中,该方法包括:在数据库中的全局事务标识GTID出现冲突后,接收上报的错误信息,其中,所述错误信息中包括出现冲突的GTID和对应的时间戳;基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件,其中,所述可执行文件用于出现冲突的GTID和对应的时间戳解析所述数据节点的日志;接收所述数据节点基于所述可执行文件解析得到所有的SQL。通过本申请,解决了现有技术中在GTID会一直处于活跃状态导致新的业务SQL语句一直被阻塞时,无法及时反映出问题并且不能够准确找出具体的异常SQL语句的问题。SQL语句的问题。SQL语句的问题。

【技术实现步骤摘要】
SQL的查询方法、装置及存储介质


[0001]本申请涉及数据处理领域,尤其涉及一种SQL的查询方法、装置及存储介质。

技术介绍

[0002]随着科技的不断发展,移动支付的不断普及,支付数据量也在不断递增。而这些递增的用户和数据对金融数据库系统的高性能、高并发、高可用、安全性等特性提出了更高的要求,传统单体架构已经无法满足需求,于是分布式数据库便应运而生。不同于传统的金融级数据库对计算机存储性能、运算能力近乎苛刻的超高要求,分布式数据库可以通过增加更多的数据库节点(Data Node,DN),来满足数据量日益递增的使用需求。而随着DN节点的逐渐增多,分布式事物的一致性也变的更加复杂。全局事务标识符((Global Transaction Identifier,GTID)为数据库中分布式事务的关键所在,在一些复杂业务的结构化查询语句(Structured Query Language,SQL)语句在执行时,GTID会一直处于活跃状态导致新的业务SQL语句一直被阻塞进而影响客户使用。在发生该问题时,由于缺乏分析手段无法及时反映出问题并且不能够准确找出具体的异常SQL语句。

技术实现思路

[0003]本申请提供了一种SQL的查询方法、装置及存储介质,以解决现有技术中在GTID会一直处于活跃状态导致新的业务SQL语句一直被阻塞时,无法及时反映出问题并且不能够准确找出具体的异常SQL语句的问题。
[0004]第一方面,本申请提供了一种结构化查询语言SQL的查询方法,包括:在数据库中的全局事务标识GTID出现冲突后,接收上报的错误信息,其中,所述错误信息中包括出现冲突的GTID和对应的时间戳;基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件,其中,所述可执行文件用于出现冲突的GTID和对应的时间戳解析所述数据节点的日志;接收所述数据节点基于所述可执行文件解析得到所有的SQL。
[0005]第二方面,本申请提供了一种结构化查询语言SQL的查询装置,包括:第一接收模块,用于在数据库中的全局事务标识GTID出现冲突后,接收上报的错误信息,其中,所述错误信息中包括出现冲突的GTID和对应的时间戳;发送模块,用于基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件,其中,所述可执行文件用于出现冲突的GTID和对应的时间戳解析所述数据节点的日志;第二接收模块,用于接收所述数据节点基于所述可执行文件解析得到所有的SQL。
[0006]第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0007]存储器,用于存放计算机程序;
[0008]处理器,用于执行存储器上所存放的程序时,实现第一方面任一项实施例所述的SQL的查询方法的步骤。
[0009]第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机
程序被处理器执行时实现如第一方面任一项实施例所述的SQL的查询方法的步骤。
[0010]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
[0011]本申请实施例提供的该方法,在GTID出现冲突后,可以通过出现冲突的GTID和对应的时间戳,基于此向数据节点发送可执行的文件,并从数据节点查询到与出现冲突的GTID和对应的时间戳相关联的SQL,也就是说,在本申请中调用可执行文件,聚合搜索相关日志,然后将返回SQL相关信息,链路简洁并能够迅速确定出与异常相关的SQL,解决了现有技术中在GTID会一直处于活跃状态导致新的业务SQL语句一直被阻塞时,无法及时反映出问题并且不能够准确找出具体的异常SQL语句的问题。
附图说明
[0012]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。
[0013]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本申请实施例提供的一种SQL的查询方法的流程示意图之一;
[0015]图2为本申请实施例提供的一种SQL的查询方法的流程示意图之二;
[0016]图3为本申请实施例提供的GTID冲突示意图;
[0017]图4为本申请实施例提供的一种定位GTID冲突相关SQL的方法的流程示意图;
[0018]图5为本申请实施例提供的一种SQL的查询装置的结构示意图;
[0019]图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0020]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021]图1为本申请实施例提供的一种SQL的查询方法的流程示意图,如图1所示,该方法的步骤包括:
[0022]步骤101,在数据库中的全局事务标识GTID出现冲突后,接收上报的错误信息,其中,错误信息中包括出现冲突的GTID和对应的时间戳;
[0023]步骤102,基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件,其中,可执行文件用于出现冲突的GTID和对应的时间戳解析数据节点的日志;
[0024]需要说明的是,本申请实施例中的可执行文件则是脚本文件,即是通过脚本文件来解析日志文件的。
[0025]步骤103,接收数据节点基于可执行文件解析得到所有的SQL。
[0026]通过上述步骤101至步骤103,在GTID出现冲突后,可以通过出现冲突的GTID和对应的时间戳,基于此向数据节点发送可执行的文件,并从数据节点查询到与出现冲突的GTID和对应的时间戳相关联的SQL,也就是说,在本申请中调用可执行文件,聚合搜索相关
日志,然后将返回SQL相关信息,链路简洁并能够迅速确定出与异常相关的SQL,解决了现有技术中在GTID会一直处于活跃状态导致新的业务SQL语句一直被阻塞时,无法及时反映出问题并且不能够准确找出具体的异常SQL语句的问题。
[0027]本申请实施例中的执行主体可以是运维中心,该运维中心与CN(分布式数据库系统中数据库代理节点)和数据库监控代理(DBAgent)相关联,则可以是由CN上报的GTID冲突,然后由运维中心通过DBAgent向数据节点发送用于解析日志的可执行文件。
[0028]在本申请实施例的可选实施方式中,对于上述步骤102中涉及到的基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件的方式,进一步可以包括:
[0029]方式1):基于出现冲突本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种结构化查询语言SQL的查询方法,其特征在于,包括:在数据库中的全局事务标识GTID出现冲突后,接收上报的错误信息,其中,所述错误信息中包括出现冲突的GTID和对应的时间戳;基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件,其中,所述可执行文件用于出现冲突的GTID和对应的时间戳解析所述数据节点的日志;接收所述数据节点基于所述可执行文件解析得到所有的SQL。2.根据权利要求1所述的方法,其特征在于,基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件包括:基于出现冲突的GTID和对应的时间戳,向所述数据库中的各个分片中的主用数据节点发送可执行文件,其中,所述数据库中包括多个数据节点,所述多个数据节点分布多个分片中,每一个分片中包括一个主用数据节点和一个或多个备用数据节点。3.根据权利要求1所述的方法,其特征在于,基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件包括:基于出现冲突的GTID和对应的时间戳,向所述数据库中的所有分片中的目标备用数据节点,其中,所述数据库中包括多个数据节点,所述多个数据节点分布多个分片中,每一个分片中包括一个主用数据节点和一个或多个备用数据节点,所述目标备用数据节点为所有分片中的备用数据节点之一。4.根据权利要求2或3所述的方法,其特征在于,基于出现冲突的GTID和对应的时间戳,向数据节点发送可执行文件,包括:基于出现冲突的GTID和对应的时间戳,使用数据库监控代理调用所述可执行文件以发送至所述数据节点。5.根据权利要求1所述的方法,其特征在于,在接收所述数据节点基于所述可执行文件解析得到所有的SQL之后,所述方法还包括:对所有SQ...

【专利技术属性】
技术研发人员:司俊
申请(专利权)人:金篆信科有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1