本申请提供一种SQL语句执行超时的控制方法及装置,涉及数据库领域,也可用于金融领域,包括:从客户端接收语句执行请求,并将所述语句执行请求发送至数据库服务器;根据语句类型将预设的超时控制条件映射至对应的语句;根据所述超时控制条件反馈语句执行结果至所述客户端。本申请能够引入超时控制机制,保证解决应用程序在线程级的异常超时问题。应用程序在线程级的异常超时问题。应用程序在线程级的异常超时问题。
【技术实现步骤摘要】
一种SQL语句执行超时的控制方法及装置
[0001]本申请涉及数据库领域,可以用于金融领域,具体是一种SQL语句执行超时的控制方法及装置。
技术介绍
[0002]金融机构中一般设置有基础数据平台,其通过执行批量作业,接收来自事务型业务系统的各类交易明细数据,对该交易明细数据进行转换、集成与加工批量处理,并按照金融机构的数据主题来组织和存储数据,为分析型应用提供数据支撑。通常,各大金融机构会以分布式数据库作为搭建基础数据平台的基础设施。为确保整个基础数据平台的吞吐能力,需要及时发现执行超时SQL语句,否则这类SQL语句将会占据系统资源、占据提交用户的并发资源,影响批量作业的完成时效。
[0003]现有技术中,出现执行超时的情况时,解决方式一般如下:一、等待其响应;二、强行关闭pl/sql,pl/sql会在临时目录下生成保留当前窗口的打开状态的文件,下次启动pl/sql时会显示待恢复的窗口,这个文件存放在TEMP/PLS
‑
Recovery;降低工作效率。
技术实现思路
[0004]针对现有技术中的问题,本申请提供一种SQL语句执行超时的控制方法及装置,能够引入超时控制机制,保证解决应用程序在线程级的异常超时问题。
[0005]为解决上述技术问题,本申请提供以下技术方案:
[0006]第一方面,本申请提供一种SQL语句执行超时的控制方法,包括:
[0007]从客户端接收语句执行请求,并将所述语句执行请求发送至数据库服务器;
[0008]根据语句类型将预设的超时控制条件映射至对应的语句;
[0009]根据所述超时控制条件反馈语句执行结果至所述客户端。
[0010]进一步地,所述从客户端接收语句执行请求,并将所述语句执行请求发送至数据库,包括:
[0011]启动第一线程,并利用所述第一线程接收所述语句执行请求;
[0012]启动第二线程,并利用所述第二线程将所述语句执行请求发送至所述数据库服务器。
[0013]进一步地,所述根据语句类型将预设的超时控制条件映射至对应的语句,包括:
[0014]访问持久层,并获取所述语句对应的命名空间及配置参数;
[0015]根据所述命名空间及配置参数确定所述语句类型;
[0016]根据所述语句类型确定对应的超时控制条件,并匹配该超时控制条件至所述语句。
[0017]进一步地,所述根据所述超时控制条件反馈语句执行结果至所述客户端,包括:
[0018]若满足所述超时控制条件,发送所述语句执行请求对应的语句执行结果至所述客户端;
[0019]若不满足所述超时控制条件,发送报错语句执行结果至所述客户端;其中,所述报错语句执行结果包括错误类型。
[0020]进一步地,所述发送报错语句执行结果至所述客户端,包括:
[0021]向所述数据库服务器发起查错请求,以获取所述语句对应的视图及事务;
[0022]根据所述视图及事务确定所述错误类型,并将所述错误类型发送至所述客户端。
[0023]第二方面,本申请提供一种SQL语句执行超时的控制装置,包括:
[0024]请求转发单元,用于从客户端接收语句执行请求,并将所述语句执行请求发送至数据库服务器;
[0025]控制条件映射单元,用于根据语句类型将预设的超时控制条件映射至对应的语句;
[0026]执行结果反馈单元,用于根据所述超时控制条件反馈语句执行结果至所述客户端。
[0027]进一步地,所述请求转发单元,包括:
[0028]请求接收模块,用于启动第一线程,并利用所述第一线程接收所述语句执行请求;
[0029]请求发送模块,用于启动第二线程,并利用所述第二线程将所述语句执行请求发送至所述数据库服务器。
[0030]进一步地,所述控制条件映射单元,包括:
[0031]空间参数获取模块,用于访问持久层,并获取所述语句对应的命名空间及配置参数;
[0032]语句类型确定模块,用于根据所述命名空间及配置参数确定所述语句类型;
[0033]控制条件匹配模块,用于根据所述语句类型确定对应的超时控制条件,并匹配该超时控制条件至所述语句。
[0034]进一步地,所述执行结果反馈单元,包括:
[0035]正确反馈模块,用于当满足所述超时控制条件时,发送所述语句执行请求对应的语句执行结果至所述客户端;
[0036]错误反馈模块,用于若不满足所述超时控制条件,发送报错语句执行结果至所述客户端;其中,所述报错语句执行结果包括错误类型。
[0037]进一步地,所述错误反馈模块,包括:
[0038]视图事务获取模块,用于向所述数据库服务器发起查错请求,以获取所述语句对应的视图及事务;
[0039]错误类型发送模块,用于根据所述视图及事务确定所述错误类型,并将所述错误类型发送至所述客户端。
[0040]第三方面,本申请提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述SQL语句执行超时的控制方法的步骤。
[0041]第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述SQL语句执行超时的控制方法的步骤。
[0042]第五方面,本申请提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述SQL语句执行超时的控制方法的步骤。
[0043]针对现有技术中的问题,本申请提供的SQL语句执行超时的控制方法及装置,能够引入超时控制机制,防止线程资源的长时间过度占用,避免宕机;当超时情况发生时,能够在调用链上会向上层反馈“调用超时”的异常,从而提升用户体验,让用户能够及时获悉系统状态。
附图说明
[0044]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0045]图1为本申请实施例中SQL语句执行超时的控制方法的流程图;
[0046]图2为本申请实施例中实现请求转发的流程图;
[0047]图3为本申请实施例中超时控制条件映射至对应的语句的流程图;
[0048]图4为本申请实施例中反馈语句执行结果的流程图;
[0049]图5为本申请实施例中发送报错语句执行结果的流程图;
[0050]图6为本申请实施例中SQL语句执行超时的控制装置的结构图;
[0051]图7为本申请实施例中请求转发单元的结构图;
[0052]图8为本申请实施例中控制条件映射单元的结构图;
[0053]图9为本申请实施例中执行结果反馈单元的结构图;
[0054]图10为本申请实施本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种SQL语句执行超时的控制方法,其特征在于,包括:从客户端接收语句执行请求,并将所述语句执行请求发送至数据库服务器;根据语句类型将预设的超时控制条件映射至对应的语句;根据所述超时控制条件反馈语句执行结果至所述客户端。2.根据权利要求1所述的SQL语句执行超时的控制方法,其特征在于,所述从客户端接收语句执行请求,并将所述语句执行请求发送至数据库,包括:启动第一线程,并利用所述第一线程接收所述语句执行请求;启动第二线程,并利用所述第二线程将所述语句执行请求发送至所述数据库服务器。3.根据权利要求1所述的SQL语句执行超时的控制方法,其特征在于,所述根据语句类型将预设的超时控制条件映射至对应的语句,包括:访问持久层,并获取所述语句对应的命名空间及配置参数;根据所述命名空间及配置参数确定所述语句类型;根据所述语句类型确定对应的超时控制条件,并匹配该超时控制条件至所述语句。4.根据权利要求1所述的SQL语句执行超时的控制方法,其特征在于,所述根据所述超时控制条件反馈语句执行结果至所述客户端,包括:若满足所述超时控制条件,发送所述语句执行请求对应的语句执行结果至所述客户端;若不满足所述超时控制条件,发送报错语句执行结果至所述客户端;其中,所述报错语句执行结果包括错误类型。5.根据权利要求1所述的SQL语句执行超时的控制方法,其特征在于,所述发送报错语句执行结果至所述客户端,包括:向所述数据库服务器发起查错请求,以获取所述语句对应的视图及事务;根据所述视图及事务确定所述错误类型,并将所述错误类型发送至所述客户端。6.一种SQL语句执行超时的控制装置,其特征在于,包括:请求转发单元,用于从客户端接收语句执行请求,并将所述语句执行请求发送至数据库服务器;控制条件映射单元,用于根据语句类型将预设的超时控制条件映射至对应的语句;执行结果反馈单元,用于根据所述超时控制条件反馈语句执行结果至所述客户端。7.根据权利要求6所述的SQL语句执行超...
【专利技术属性】
技术研发人员:李文彬,
申请(专利权)人:中国银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。