一种分布式数据库系统的跨节点查询优化方法及系统技术方案

技术编号:12814419 阅读:76 留言:0更新日期:2016-02-05 14:33
本发明专利技术公开了一种分布式数据库系统的跨节点查询优化系统,包括:全局查询总代价最低要求模块,查询分解及本地化模块,多因素决策的模糊评估模块,连接建立模块,局部优化模块,Bp神经网络自适应优化模块,全局优化模块。在此系统的基础上,提出了一种分布式数据库系统的跨节点查询优化方法,实现了在局部优化阶段对每个分片查询路径进行优化判决,以及在全局优化阶段对全部分片查询路径进行Bp神经网络自适应优化。本发明专利技术通过对每个分片查询路径的优化,降低全局优化的计算负担,使得全局查询具有更快的查询速度,并通过定义全局优化代价函数使得查询总代价可控。

【技术实现步骤摘要】

本专利技术涉及分布式数据库系统
,特别是指一种分布式数据库系统的跨节 点查询优化方法及系统。
技术介绍
分布式数据库系统是计算机网络与数据库系统的有机结合。由于涉及大量数据在 网络上的传输,因此查询处理和优化就成为分布式数据库提高查询性能的关键因素。查询 处理和优化就是通过合理的算法尽量减少通信的信息量,从而提高查询的响应时间性能以 及减少系统开销。分布式查询优化相比传统的单机优化方法拥有更好的数据可靠性,更快 的查询速度以及可扩展的存储容量。分布式查询优化一般需要进行:查询分解、数据本地 化、局部优化、全局优化。 在分布式数据库系统上的一般查询步骤为:根据用户的查询内容进行查询分解, 初始化查询路径,检查本地是否有此数据库,如果有则在本地执行;如果没有则全局查询处 理模块根据查询路径来选择一台处理本查询最优化的节点,即选择一个有该数据库且所操 纵的表的查询代价最小的数据库节点。并与优化的节点建立连接,将查询命令发送到优化 的节点上去执行。 在此过程中,由于分布式数据库系统存在于网络环境,所以必须考虑节点之间的 通信代价和分布式计算处理。目前的查询分解、数据本地化、局部优化、全局优化四步骤的 方法,在通信代价的开销及查询执行的实际代价上仍然无法满足用户需求,得到的并非分 布式数据库系统中全局最优的执行节点。
技术实现思路
有鉴于此,本专利技术的目的在于提出一种分布式数据库系统的跨节点查询优化方法 及系统,提尚查询的响应时间性能。 基于上述目的本专利技术提供的一种分布式数据库系统的跨节点查询优化方法,包 括: 确定全局查询总代价以及全局查询总代价最低要求; 在局部优化阶段: 通过数据本地化及查询分解的步骤将查询问题落在合适的片段上; 通过多因素决策的模糊评估判定多个影响因素中对降低查询代价贡献最大的影 响因素; 进行连接建立,即在当前的分片查询路径中,根据对降低查询代价贡献最大的影 响因素,查找到查询代价最小的数据库节点并与之建立连接进行查询,从而得到片段上的 查询结果; 在与片段上的查询结果有关的各个数据库节点进行局部优化; 在全局优化阶段: 定义全局优化代价函数; 采用Bp神经网络求得全局优化代价函数的最小值,使得输出满足全局查询总代 价逼近全局查询总代价最低要求,其中,Bp神经网络的输入为片段上的查询结果; 进行全局优化并最终输出最优的全局查询路径。 在一些实施方式中,所述确定全局查询总代价以及全局查询总代价最低要求的步 骤中,将全局查询总代价最低要求定义为查询时间误差估计和查询响应时间的加权和,即 Qllin= W1 · !^+W2 · tp其中,Cmin是指全局查询总代价最低要求,是指查询时间误差估计, 其为全部网络时延及时钟漂移引起的查询时间误差之和的估计,t是指查询响应时间,其 是从用户提交查询请求到收到完整的返回信息的平均时间,并有 Wl+w2= 1。 在一些实施方式中,,所述多因素决策的模糊评估至少包括以下过程: 构建多因素决策的模糊评估模型; 对每个分片查询路径进行优化判决; 评估结果作为局部优化的输入。 在一些实施方式中,所述构建多因素决策的模糊评估模型至少包括以下步骤: 定义每个分片查询路径中共有I个影响因素能够降低查询代价; 定义在I个影响因素共同作用下得到的查询代价函数为F(X1),其中&为为函数 输入; 定义其优化目标函数,即min{F(Xl)},用于判定对降低查询代价贡献最大的影响 因素。 在一些实施方式中,所述对每个分片查询路径进行优化判决至少包括以下步骤: 对min {F (X1)}进行求解得到一组U1,其中U1为优化目标函数解析式中的一个参 数,其表示第i (i < I)个影响因素对降低查询代价的贡献; 选取其中最大的U1,判定对应第i个影响因素对降低查询代价贡献最大; 查找当前的分片查询路径中,在第i个影响因素作用下查询代价最小的数据库节 点并与之建立连接进行查询。 在一些实施方式中,所述的Bp神经网络设计为一个3层的前馈神经网络N,各层均 有连接权向量,用梯度下降法对BP神经网络的各层的连接权向量进行求解,最终输出即为 最优的全局查询路径。 本专利技术提供的一种分布式数据库系统的跨节点查询优化系统,包括: 全局查询总代价最低要求模块,用于在全局总代价定义确定全局查询总代价以及 全局查询总代价最低要求; 本地化及查询分解模块,用于将查询问题落在合适的片段上; 多因素决策的模糊评估模块,用于通过构建多因素决策的模糊评估模型,判定多 个影响因素中对降低查询代价贡献最大的影响因素; 连接建立模块,用于在当前的分片查询路径中,根据对降低查询代价贡献最大的 影响因素,查找到查询代价最小的数据库节点并与之建立连接进行查询;从而得到片段上 的查询结果; 局部优化模块,用于在与片段上的查询结果有关的各个数据库节点进行局部优 化; Bp神经网络自适应优化模块,用于定义全局优化代价函数,并采用Bp神经网络求 得全局优化代价函数的最小值,使得输出满足全局查询总代价逼近全局查询总代价最低要 求,其中,Bp神经网络的输入为片段上的查询结果; 全局优化模块,用于进行全局优化并最终输出最优的全局查询路径。 在一些实施方式中,所述全局查询总代价最低要求模块,用于将全局查询总代价 最低要求定义为查询时间误差估计和查询响应时间的加权和,即C min= w i ·ν^2 -ty其中, C_是指全局查询总代价最低要求,16是指查询时间误差估计,其为全部网络时延及时钟漂 移引起的查询时间误差之和的估计,t是指查询响应时间,其是从用户提交查询请求到收 到完整的返回信息的平均时间,并有 Wl+W2= 1。 在一些实施方式中,所述多因素决策的模糊评估模块,包括: 模型构建模块,用于构建多因素决策的模糊评估模型; 优化判决模块,用于对每个分片查询路径进行优化判决; 局部优化输入模块,用于将评估结果作为局部优化的输入。 在一些实施方式中,所述模型构建模块包括: 影响因素定义模块,用于定义每个分片查询路径中共有I个影响因素能够降低查 询代价; 查询代价函数定义模块,用于定义在I个影响因素共同作用下得到的查询代价函 数为F(X 1),其中X1为函数输入; 优化目标函数定义模块,用于定义其优化目标函数,即min {F (X1) },其用于判定对 降低查询代价贡献最大的影响因素。 在一些实施方式中,所述优化判决模块包括: 求解模块,用于对min{F(Xl)}进行求解得到一组U1,其中U 1为优化目标函数解析 式中的一个参数,其表示第i(i < I)个影响因素对降低查询代价的贡献; 影响因素判定模块,用于选取其中最大的U1,判定对应第i个影响因素对降低查询 代价贡献最大; 查询连接模块,用于查找当前的分片查询路径中,在第i个影响因素作用下查询 代价最小的数据库节点并与之建当前第1页1 2 3 4 本文档来自技高网...

【技术保护点】
一种分布式数据库系统的跨节点查询优化方法,其特征在于,包括:确定全局查询总代价以及全局查询总代价最低要求;在局部优化阶段:通过查询分解及数据本地化的步骤将查询问题落在合适的片段上;通过多因素决策的模糊评估判定多个影响因素中对降低查询代价贡献最大的影响因素;进行连接建立,即在当前的分片查询路径中,根据对降低查询代价贡献最大的影响因素,查找到查询代价最小的数据库节点并与之建立连接进行查询,从而得到片段上的查询结果;在与片段上的查询结果有关的各个数据库节点进行局部优化;在全局优化阶段:定义全局优化代价函数;采用Bp神经网络求得全局优化代价函数的最小值,使得输出满足全局查询总代价逼近全局查询总代价最低要求,其中,Bp神经网络的输入为片段上的查询结果;进行全局优化并最终输出最优的全局查询路径。

【技术特征摘要】

【专利技术属性】
技术研发人员:张春光孙乔焦艳斌孙甲松
申请(专利权)人:北京国电通网络技术有限公司国家电网公司国网浙江省电力公司北京中电飞华通信股份有限公司清华大学北京万里开源软件有限公司
类型:发明
国别省市:北京;11

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

1