一种优化异构数据库用户查询的负载均衡方法及装置制造方法及图纸

技术编号:37365158 阅读:12 留言:0更新日期:2023-04-27 07:12
本发明专利技术公开了一种优化异构数据库用户查询的负载均衡方法及装置,涉及计算机和云服务技术领域。该优化异构数据库用户查询的负载均衡方法,包括以下步骤:获取输入的查询语句;根据特定的分类器规则对查询语句进行区分类型;利用负载均衡器动态地分配与查询类型对应的硬件资源,以处理查询语句;利用布隆过滤器根据查询类型执行相应的过滤;将查询结果返回给用户。本发明专利技术通过在处理用户不同类型的查询语句的过程中运用了包括离线训练模块和实时优化模块的负载均衡器达到了系统性能的提升,保障了用户的在线查询,解决了在异构数据库系统中没有适合的负载均衡优化方法以处理用户查询语句的问题。询语句的问题。询语句的问题。

【技术实现步骤摘要】
一种优化异构数据库用户查询的负载均衡方法及装置


[0001]本专利技术涉及计算机和云服务
,尤其涉及一种优化异构数据库用户查询的负载均衡方法及装置。

技术介绍

[0002]随着数据量的增长,基于数据的在线分析处理(OLAP)的复杂度也随之增加。目前,使用不同硬件的异构数据库系统看起来很有前景,如基于GPU的数据库,Kinet ica、OmniSci(MapD)已经成为OLAP数据库中的新热门。这些数据库使用GPU进行加速可以提高系统的性能。负载均衡,是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。相应的,负载均衡模型分为静态与动态,一方面,静态负载均衡模型在系统运行之前,通过考虑系统的参数来预先确定了负载分配的决策;另一方面,动态负载均衡模型可以根据时间戳,动态的根据系统的当前状态以及数据来进行决策功能。
[0003]现有的在异构数据库系统中处理用户的查询请求的方法包括:1)将查询语句通常发送到性能最强大或速度最快的硬件资源进行处理;2)用基于机器学习的方法来优化异构系统(由多个CPU、GPU组成的系统)的负载分配,例如,预测适合运行当前查询语句的设备、CPU、GPU,并通过预测的设备对查询语句进行处理;3)用基于机器学习的负载均衡器来预测集群内服务器的状态,选择状态正常的服务器对查询语句进行处理,基于该预测,能够避免将用户查询语句分配到存在延迟的服务器。
[0004]但本申请专利技术人在实现本申请实施例中专利技术技术方案的过程中,发现上述技术至少存在如下技术问题:
[0005]现有的在异构数据库系统中处理用户查询请求的方法由于异构的特性,所以当用户请求密集,数据库在利用不同的计算硬件(如CPU和GPU)时,不能很好的考虑到负载均衡问题,且将查询语句通过性能最强大或速度最快的设备并不一定会产生最佳性能;现有通过预测适合运行查询语句的设备的方法和现有通过预测集群内服务器状态选择适合处理查询的服务器的方法中均未考虑集群的异构特性。综上所述,现有在异构数据库系统中没有适合的负载均衡优化方法以处理用户查询语句。

技术实现思路

[0006]本申请实施例通过提供一种优化异构数据库用户查询的负载均衡方法及装置,解决了现有技术中在异构数据库系统中没有适合的负载均衡优化方法以处理用户查询语句的技术问题,实现了系统性能的提升,保障了用户的在线查询。
[0007]本申请实施例提供了一种优化异构数据库用户查询的负载均衡方法,包括以下步骤:
[0008]S1,获取输入的查询语句;
[0009]S2,根据特定的分类器规则对查询语句进行区分类型;
[0010]S3,利用负载均衡器动态地分配与查询类型对应的硬件资源,以处理查询语句;
[0011]S4,利用布隆过滤器根据查询类型执行相应的过滤;
[0012]S5,将在异构数据库中查询到的结果返回给用户。
[0013]进一步的,所述S1中的查询语句被获取后需要根据语法规则转换为异构数据库内核引擎使用的JSON格式。
[0014]进一步的,所述S2中的特定的分类器规则包括:
[0015]规则1:查询语句只关注整列的所有信息;
[0016]规则2:查询语句查询单个列中的特定值;
[0017]规则3:查询语句是复杂的查询组合,由具有不同列和值的查询组合组成。
[0018]进一步的,所述S3中的负载均衡器包括离线训练模块和实时优化模块;
[0019]所述离线训练模块和实时优化模块都根据负载器均衡特征表通过多元线程回归模型计算获取响应时间最短的设备。
[0020]进一步的,所述离线训练模块具体为:
[0021]步骤一:根据先验知识和多元线性回归模型计算出CPU与GPU的响应时间;
[0022]步骤二:选择响应时间最短的设备作为查询语句的硬件资源;
[0023]所述先验知识为人工已标注好的数据集,数据集涉及负载器均衡特征表中的特征。
[0024]进一步的,所述实时优化模块具体为:
[0025]步骤一:实时监听查询请求;
[0026]步骤二:当监听到查询请求时,采集各硬件资源当前时间戳的资源信息;
[0027]步骤三:将收集到资源信息与当前查询的类型组成输入参数,将输入参数输入到多元线性回归模型中,计算出CPU与GPU的响应时间;
[0028]步骤四:选择响应时间最短的设备作为查询语句的硬件资源。
[0029]进一步的,所述负载器均衡特征内容包括:
[0030]x1:设备利用率百分比;
[0031]x2:设备温度;
[0032]x3:设备内存使用率百分比;
[0033]x4:当前时间戳设备上查询队列的长度;
[0034]x5:当前时间戳设备上运行的查询数;
[0035]x6:上次查询与当前查询之间的时间间隔;
[0036]x7:是否是查询语句只关注整列的所有信息的查询类型;
[0037]x8:是否是查询语句查询单个列中的特定值的查询类型;
[0038]y:响应时间。
[0039]进一步的,所述多元线程回归模型的具体计算公式为:
[0040][0041][0042]其中,y
CPU
,y
GPU
是CPU和GPU的响应时间,是CPU和GPU的多元线性回归模型的系数,i为序号,是CPU和GPU对应的特征值。
[0043]进一步的,所述S4中的布隆过滤器置于各个硬件资源中,硬件资源根据获取的不同类型的查询语句,使用布隆过滤器执行过滤。
[0044]本申请实施例提供了一种优化异构数据库用户查询的负载均衡装置,包括获取模块、分类模块、调度模块、优化模块和发送模块:
[0045]获取模块:用于获取输入的查询语句;
[0046]分类模块:用于根据特定的分类器规则对查询语句进行区分类型;
[0047]调度模块:用于利用负载均衡器动态地分配与查询类型对应的硬件资源,以处理查询语句;
[0048]优化模块:用于利用布隆过滤器根据查询类型执行相应的过滤;
[0049]发送模块:用于将在异构数据库中查询到的结果返回给用户。
[0050]本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0051]1、由于采用了负载均衡器动态地分配与查询类型对应的硬件资源,以处理查询语句的技术,所以在查询过程中可以根据当前整体系统的运行状态自动选择合适的CPU或GPU来执行用户的查询,有效解决了现有在异构数据库系统中没有适合的负载均衡优化方法以处理用户查询语句的问题,进而实现了异构数据库系统的整体性能得到有效提升,保障用户的在线查询。
[0052]2、由于采用了布隆过滤器根据查询类型对相应的查询语句执行相应的过滤的技术,所以使查询过程中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种优化异构数据库用户查询的负载均衡方法,其特征在于,包括以下步骤:S1,获取输入的查询语句;S2,根据特定的分类器规则对查询语句进行区分类型;S3,利用负载均衡器动态地分配与查询类型对应的硬件资源,以处理查询语句;S4,利用布隆过滤器根据查询类型执行相应的过滤;S5,将在异构数据库中查询到的结果返回给用户。2.根据权利要求1所述优化异构数据库用户查询的负载均衡方法,其特征在于:所述S1中的查询语句被获取后需要根据语法规则转换为异构数据库内核引擎使用的JSON格式。3.根据权利要求1所述优化异构数据库用户查询的负载均衡方法,其特征在于,所述S2中的特定的分类器规则包括:规则1:查询语句只关注整列的所有信息;规则2:查询语句查询单个列中的特定值;规则3:查询语句是复杂的查询组合,由具有不同列和值的查询组合组成。4.根据权利要求1所述优化异构数据库用户查询的负载均衡方法,其特征在于:所述S3中的负载均衡器包括离线训练模块和实时优化模块;所述离线训练模块和实时优化模块都根据负载器均衡特征表通过多元线程回归模型计算获取响应时间最短的设备。5.根据权利要求4所述优化异构数据库用户查询的负载均衡方法,其特征在于,所述离线训练模块具体为:步骤一:根据先验知识和多元线性回归模型计算出CPU与GPU的响应时间;步骤二:选择响应时间最短的设备作为查询语句的硬件资源;所述先验知识为人工已标注好的数据集,数据集涉及负载器均衡特征表中的特征。6.根据权利要求4所述优化异构数据库用户查询的负载均衡方法,其特征在于,所述实时优化模块具体为:步骤一:实时监听查询请求;步骤二:当监听到查询请求时,采集各硬件资源当前时间戳的资源信息;步骤三:将收集到资源信息与当前查询的类型组成输入参数...

【专利技术属性】
技术研发人员:张纬亮杜忠田党咏欣郝志广郭建章曲欣
申请(专利权)人:中电信数智科技有限公司
类型:发明
国别省市:

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

1