数据调度方法、系统、计算机设备及可读存储介质技术方案

技术编号:34142357 阅读:17 留言:0更新日期:2022-07-14 18:07
本发明专利技术提供了数据调度方法,所述方法包括:获取目标客户端发送的数据操作请求,数据操作请求包括用于操作数据库的多个SQL语句;根据预设匹配规则对多个SQL语句进行合法性检测;在多个SQL语句均为合法语句的情形下,根据数据库集群中的数据库的负载量,调度数据库集群中的数据库负责多个SQL语句中的至少一个SQL语句;数据库集群中的数据库的负载量通过多个SQL语句以及数据库集群中的数据库当前连接的进程对应的数据量确定;本发明专利技术实施例提供的数据调度方法、系统、计算机设备及可读存储介质,主要用于多数据库的任务调度,通过数据库的负载量以实现数据库系统的负载均衡,提高了数据处理的效率。了数据处理的效率。了数据处理的效率。

【技术实现步骤摘要】
数据调度方法、系统、计算机设备及可读存储介质


[0001]本专利技术涉及数据处理领域,尤其涉及一种数据调度方法、系统、计算机设备及可读存储介质。

技术介绍

[0002]针对某些需要数据访问的场景要求,为了保证用户高效的提取数据,通过合理的调度数据库中间件,以实现数据库连接池的负载均衡,成为了提高数据访问效率的重要手段。
[0003]现有的负载均衡的算法一般采用轮询法和随机法,轮询法就是按顺序访问各个数据库,在访问的数据库不超过最大承载量时,将此任务分配给该数据库,轮询法在访问的数据库的负载较高时,响应时间较长,而且选择的数据库并不一定是最优选,并不一定能有效提高数据访问的效率;随机法就是将请求任务随机分配到各个数据库连接,缺点与轮询法类似,都存在响应时间较长的缺陷,不能满足某些用户场景的需求。

技术实现思路

[0004]本专利技术的目的是提供一种数据调度方法、系统、计算机设备及可读存储介质,用于解决以下问题:数据处理效率低。
[0005]本专利技术实施例的一个方面提供了一种数据调度方法,所述数据调度方法包括:获取目标客户端发送的数据操作请求,所述数据操作请求包括用于操作数据库的多个SQL语句;
[0006]根据预设匹配规则对所述多个SQL语句进行合法性检测;
[0007]在所述多个SQL语句均为合法语句的情形下,根据数据库集群中的数据库的负载量,调度所述数据库集群中的数据库负责多个SQL语句中的至少一个SQL语句;其中,所述数据库集群中的数据库的负载量通过所述多个SQL语句以及数据库集群中的数据库当前连接的进程对应的数据量确定。
[0008]进一步的,所述根据预设匹配规则对所述多个SQL语句进行合法性检测的步骤之前,包括:通过XML文件存储各个数据库的配置信息,所述配置信息包括数据表名、数据表字段、数据库对象、数据库类型、SQL语句关键词以及数据库容量;根据所述配置信息,解析各个数据库的操作程序单元,所述操作程序单元包括用于注解所述配置信息的接口。
[0009]进一步的,根据所述配置信息,解析各个数据库的操作程序单元的步骤,包括:根据SQL语句的参数类型以及各个SQL语句,循环读取各个数据库的操作程序单元,以获取到各个SQL语句所对应的合法性检测接口。
[0010]进一步的,所述根据预设匹配规则对所述多个SQL语句进行合法性检测的步骤,包括:按照头部、执行体、条件体三部分解析各个SQL语句,分别生成头部、执行体、条件体对应的三组元素集;根据预定义的SQL合法性规则循环检测所述三组元素集,在所述三组元素集全部通过检测的情形下,判定为所述数据操作请求合法。
[0011]进一步的,根据数据库集群中的数据库,调度所述数据库集群中的数据库负责多个SQL语句中的至少一个SQL语句的步骤,包括:获取数据库集群中的各个数据库当前连接的进程对应的数据量;根据各个数据库当前连接的进程对应的数据量,确定多个目标数据库;获取各个SQL语句包括的数据量;;通过各个目标数据库当前连接的进程对应的数据量以及各个SQL语句包括的数据量,确定各个目标数据库的负载量;通过各个目标数据库的负载量,分配每个目标数据库负责多个SQL语句中的至少一个SQL语句。
[0012]进一步的,通过各个数据库当前连接的进程对应的数据量以及各个SQL语句包括的数据量,确定各个数据库的负载量的步骤,包括:通过各个数据库当前连接的进程对应的数据量以及各个SQL语句包括的数据量,对各个数据库进行负载均衡,以确定各个数据库的负载量,其中,各个数据库的负载量为各个数据库当前连接的进程对应的数据量以及各个SQL语句包括的数据量之和。
[0013]进一步的,根据各个数据库当前连接的进程对应的数据量,确定多个目标数据库的步骤,包括:根据各个数据库当前连接的进程对应的数据量,将当前连接的进程对应的数据量未超过预设阈值的数据库确定为目标数据库。
[0014]本专利技术实施例的一个方面又提供了一种数据调度系统,所述数据调度系统包括:
[0015]获取模块,用于获取目标客户端发送的数据操作请求,所述数据操作请求包括用于操作数据库的多个SQL语句;
[0016]匹配模块,用于根据预设匹配规则对所述多个SQL语句进行合法性检测;
[0017]调度模块,用于在所述多个SQL语句均为合法语句的情形下,根据数据库集群中的数据库的负载量,调度所述数据库集群中的数据库负责多个SQL语句中的至少一个SQL语句;其中,所述数据库集群中的数据库的负载量通过所述多个SQL语句以及数据库集群中的数据库当前连接的进程对应的数据量确定。
[0018]本专利技术实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述数据调度方法的步骤。
[0019]本专利技术实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述数据调度方法的步骤。
[0020]本专利技术实施例提供的一种数据调度方法、系统、计算机设备及可读存储介质,主要用于多数据库的任务调度,通过所述多个SQL语句以及数据库集群中的数据库当前连接的进程对应的数据量,精准的预测了各个数据库系统处理当前SQL语句后的数据负载量,为实现数据库系统的负载均衡创造了条件,避免了在访问的数据库的负载较高时,响应时间较长的问题,提高了数据处理的效率。
附图说明
[0021]图1示意性示出了根据本专利技术实施例一的数据抽取方法的流程图;
[0022]图2示意性示出了图1中的步骤S105的子步骤图;
[0023]图3示意性示出了根据本专利技术实施例二的数据抽取系统的框图;及
[0024]图4示意性示出了根据本专利技术实施例三的适于实现消息验证方法的计算机设备的
硬件架构示意图。
具体实施方式
[0025]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0026]需要说明的是,在本专利技术实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本专利技术要求的保护范围之内。
[0027]在本专利技术的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本专利技术及区别每一步骤,因此不能理解为对本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据调度方法,其特征在于,所述方法包括:获取目标客户端发送的数据操作请求,所述数据操作请求包括用于操作数据库的多个SQL语句;根据预设匹配规则对所述多个SQL语句进行合法性检测;在所述多个SQL语句均为合法语句的情形下,根据数据库集群中的数据库的负载量,调度所述数据库集群中的数据库负责多个SQL语句中的至少一个SQL语句;其中,所述数据库集群中的数据库的负载量通过所述多个SQL语句以及数据库集群中的数据库当前连接的进程对应的数据量确定。2.根据权利要求1所述的数据调度方法,其特征在于,所述根据预设匹配规则对所述多个SQL语句进行合法性检测的步骤之前,包括:通过XML文件存储各个数据库的配置信息,所述配置信息包括数据表名、数据表字段、数据库对象、数据库类型、SQL语句关键词以及数据库容量;根据所述配置信息,解析各个数据库的操作程序单元,所述操作程序单元包括用于注解所述配置信息的接口。3.根据权利要求2所述的数据调度方法,其特征在于,根据所述配置信息,解析各个数据库的操作程序单元的步骤,包括:根据SQL语句的参数类型以及各个SQL语句,循环读取各个数据库的操作程序单元,以获取到各个SQL语句所对应的合法性检测接口。4.根据权利要求1所述的数据调度方法,其特征在于,所述根据预设匹配规则对所述多个SQL语句进行合法性检测的步骤,包括:按照头部、执行体、条件体三部分解析各个SQL语句,分别生成头部、执行体、条件体对应的三组元素集;根据预定义的SQL合法性规则循环检测所述三组元素集,在所述三组元素集全部通过检测的情形下,判定为所述数据操作请求合法。5.根据权利要求4所述的数据调度方法,其特征在于,根据数据库集群中的数据库,调度所述数据库集群中的数据库负责多个SQL语句中的至少一个SQL语句的步骤,包括:获取数据库集群中的各个数据库当前连接的进程对应的数据量;根据各个数据库当前连接的进程对应的数据量,确定多个目标数据库;获取各个SQL语句包括的数据量;通过各个目...

【专利技术属性】
技术研发人员:郭明月吴永胜吴鹏成王均白杰何广辉曹朝陈德虎
申请(专利权)人:平安壹钱包电子商务有限公司
类型:发明
国别省市:

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

1