一种基于JDBC代理模式的限流方法及装置制造方法及图纸

技术编号:36807970 阅读:10 留言:0更新日期:2023-03-09 00:27
本申请提供一种基于JDBC代理模式的限流方法及装置,涉及人工智能领域,也可用于金融领域,包括:从客户端接收查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器;解析配置文件,并将预设的限流控制条件映射至对应的查询语句;所述限流控制条件包括是否包括大数据量表格;根据所述限流控制条件反馈查询语句执行结果至所述客户端。本申请能够基于限流控制条件向客户端反馈查询语句执行结果,保护数据库服务器的系统稳定。保护数据库服务器的系统稳定。保护数据库服务器的系统稳定。

【技术实现步骤摘要】
一种基于JDBC代理模式的限流方法及装置


[0001]本申请涉及数据库领域,可以用于金融领域,具体是一种基于JDBC代理模式的限流方法及装置。

技术介绍

[0002]金融机构中一般设置有基础数据平台,其通过执行批量作业,接收来自事务型业务系统的各类交易明细数据,对该交易明细数据进行转换、集成与加工批量处理,并按照金融机构的数据主题来组织和存储数据,为分析型应用提供数据支撑。
[0003]当客户端发起数据查询请求时,若数据查询请求对应的查询反馈结果过多,会导致数据库服务器的内存出现崩溃,现有技术通常通过修改数据库服务器的底层程序进行限流。然而,现有技术至少存在如下缺陷:第一,通过修改数据库服务器的底层程序进行限流的方式工作繁琐;第二,通过修改数据库服务器的底层程序进行限流的方式不支持可配置。

技术实现思路

[0004]针对现有技术中的问题,本申请提供一种基于JDBC代理模式的限流方法及装置,能够基于限流控制条件向客户端反馈查询语句执行结果,保护数据库服务器的系统稳定。
[0005]为解决上述技术问题,本申请提供以下技术方案:
[0006]第一方面,本申请提供一种基于JDBC代理模式的限流方法,包括:
[0007]从客户端接收查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器;
[0008]解析配置文件,并将预设的限流控制条件映射至对应的查询语句;所述限流控制条件包括是否包括大数据量表格;
[0009]根据所述限流控制条件反馈查询语句执行结果至所述客户端。
[0010]进一步地,所述从客户端接收查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器,包括:
[0011]在持久层写入限流线程变量;
[0012]利用所述限流线程变量,将Connection对象包装为ConnectinProxy对象;
[0013]利用所述ConnectinProxy对象接收所述查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器。
[0014]进一步地,所述解析配置文件,并将预设的限流控制条件映射至对应的查询语句,包括:
[0015]解析所述配置文件,得到所述限流控制条件;
[0016]根据所述限流控制条件判断所述查询语句是否包括大数据量表格;
[0017]若是,将所述查询语句对应的大表标志位存入所述限流线程变量中。
[0018]进一步地,所述根据所述限流控制条件反馈查询语句执行结果至所述客户端,包括:
[0019]若所述查询语句执行结果所包含的结果数量满足所述限流控制条件,则反馈正确查询语句执行结果至所述客户端;
[0020]否则,反馈报错查询语句执行结果至所述客户端。
[0021]第二方面,本申请提供一种基于JDBC代理模式的限流装置,包括:
[0022]查询请求转发单元,用于从客户端接收查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器;
[0023]限流条件映射单元,用于解析配置文件,并将预设的限流控制条件映射至对应的查询语句;所述限流控制条件包括是否包括大数据量表格;
[0024]查询结果反馈单元,用于根据所述限流控制条件反馈查询语句执行结果至所述客户端。
[0025]进一步地,所述查询请求转发单元,包括:
[0026]线程变量写入模块,用于在持久层写入限流线程变量;
[0027]对象包装模块,用于利用所述限流线程变量,将Connection对象包装为ConnectinProxy对象;
[0028]查询请求转发模块,用于利用所述ConnectinProxy对象接收所述查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器。
[0029]进一步地,所述限流条件映射单元,包括:
[0030]配置文件解析模块,用于解析所述配置文件,得到所述限流控制条件;
[0031]控制条件判断模块,用于根据所述限流控制条件判断所述查询语句是否包括大数据量表格;
[0032]标志存入模块,用于当包括所述大数据量表格时,将所述查询语句对应的大表标志位存入所述限流线程变量中。
[0033]进一步地,所述查询结果反馈单元,包括:
[0034]正确反馈模块,用于当所述查询语句执行结果所包含的结果数量满足所述限流控制条件时,则反馈正确查询语句执行结果至所述客户端;
[0035]错误反馈模块,用于当所述查询语句执行结果所包含的结果数量不满足所述限流控制条件时,反馈报错查询语句执行结果至所述客户端。
[0036]第三方面,本申请提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述基于JDBC代理模式的限流方法的步骤。
[0037]第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于JDBC代理模式的限流方法的步骤。
[0038]第五方面,本申请提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述基于JDBC代理模式的限流方法的步骤。
[0039]针对现有技术中的问题,本申请提供的基于JDBC代理模式的限流方法及装置,能够为客户端提供灵活的配置方法,多种限流策略,无倾入且方便地为数据库服务器提供限流措施,从而避免各种原因导致的返回数据集过大,进而导致内存溢出,程序崩溃的问题。
附图说明
[0040]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041]图1为本申请实施例中基于JDBC代理模式的限流方法的流程图;
[0042]图2为本申请实施例中查询语句执行请求发送的流程图;
[0043]图3为本申请实施例中映射至对应的查询语句的流程图;
[0044]图4为本申请实施例中反馈查询语句执行结果的流程图;
[0045]图5为本申请实施例中基于JDBC代理模式的限流装置的结构图;
[0046]图6为本申请实施例中查询请求转发单元的结构图;
[0047]图7为本申请实施例中限流条件映射单元的结构图;
[0048]图8为本申请实施例中查询结果反馈单元的结构图;
[0049]图9为本申请实施例中功能结构示意图;
[0050]图10为本申请实施例中总流程示意图;
[0051]图11为本申请实施例中的电子设备的结构示意图。
具体实施方式
[0052]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于JDBC代理模式的限流方法,其特征在于,包括:从客户端接收查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器;解析配置文件,并将预设的限流控制条件映射至对应的查询语句;所述限流控制条件包括是否包括大数据量表格;根据所述限流控制条件反馈查询语句执行结果至所述客户端。2.根据权利要求1所述的基于JDBC代理模式的限流方法,其特征在于,所述从客户端接收查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器,包括:在持久层写入限流线程变量;利用所述限流线程变量,将Connection对象包装为ConnectinProxy对象;利用所述ConnectinProxy对象接收所述查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器。3.根据权利要求2所述的基于JDBC代理模式的限流方法,其特征在于,所述解析配置文件,并将预设的限流控制条件映射至对应的查询语句,包括:解析所述配置文件,得到所述限流控制条件;根据所述限流控制条件判断所述查询语句是否包括大数据量表格;若是,将所述查询语句对应的大表标志位存入所述限流线程变量中。4.根据权利要求1所述的基于JDBC代理模式的限流方法,其特征在于,所述根据所述限流控制条件反馈查询语句执行结果至所述客户端,包括:若所述查询语句执行结果所包含的结果数量满足所述限流控制条件,则反馈正确查询语句执行结果至所述客户端;否则,反馈报错查询语句执行结果至所述客户端。5.一种基于JDBC代理模式的限流装置,其特征在于,包括:查询请求转发单元,用于从客户端接收查询语句执行请求,并将所述查询语句执行请求发送至数据库服务器;限流条件映射单元,用于解析配置文件,并将预设的限流控制条件映射至对应的查询语句;所述限流控制条件包括是否包括大数据量表格;查询结果反馈单元,用于根据所述限流控制条件反馈查询语句执行结果至所述客户端。6...

【专利技术属性】
技术研发人员:李文彬
申请(专利权)人:中国银行股份有限公司
类型:发明
国别省市:

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

1