分布式数据库网络延迟的动态代价校准方法及系统技术方案

技术编号:32549154 阅读:8 留言:0更新日期:2022-03-05 11:48
本发明专利技术公开了分布式数据库网络延迟的动态代价校准方法及系统,属于数据库技术领域,本发明专利技术要解决的技术问题为传统分布式数据库在数据重新分布环节由于数据节点分布不均匀导致的代价评估不精准,采用的技术方案为:该方法具体如下:网络延迟的动态测试和存储,具体如下:延迟数据测定;延迟数据传播;延迟数据统一;查询的计划节点使用网络延迟数据,具体如下:网络延迟转换为代价。该系统包括测定模块、传播模块、统一模块及转换模块。统一模块及转换模块。统一模块及转换模块。

【技术实现步骤摘要】
分布式数据库网络延迟的动态代价校准方法及系统


[0001]本专利技术涉及数据库
,具体地说是一种分布式数据库网络延迟的动态代价校准方法及系统。

技术介绍

[0002]数据库管理系统(Database Management System,DBMS,以下简称“数据库”)作为数据集中管理、存储、查询软件,是几乎所有信息系统的底层基础软件。
[0003]近年来,由于单个计算机的算力和容量的限制,数据库软件从单机数据库逐渐进化为了分布式数据库。分布式数据库的数据散布于多台计算机(也称“节点”),查询时可以同时利用多台计算机的硬件性能,最后将查询结果汇聚至一台计算机,达到了增加数据容量、提升查询效率的目的。
[0004]分布式数据库中,各个节点普遍位于同一机房,或同一城市,网络距离(在互联网中的通信距离)相似且较小,在不同的场景下,节点之间网络传输的速度可以认为是相同的,这样导致了数据查询时,一般的分布式数据库不考虑网络延迟的即时变化。
[0005]由于全球一体化的不断深入,很多信息系统的业务进入了全球化的阶段,全球分布式数据库应运而生。全球分布式数据库的数据散布于全球的各个数据节点,并且随着业务的进展,数据分布的情况可能会有快速的变化。节点与节点之间的网络距离各不相同且变化快速,在数据查询时,已经无法忽略各个节点之间的网络延迟的不同。
[0006]在查询的计划阶段,错误估计网络延时会给数据库的查询计划带来不利影响。例如在拉取数据时,可能会选择错误的数据副本节点。
[0007]如附图1所示,位于A城的客户端需要的数据同时存在于三个数据副本中,若在查询的计划阶段,不考虑数据延迟和带宽的代价,网关节点可能会选取网络距离较远的D城节点拉取数据,客户端就会承受较大的网络延迟和较差的查询性能。
[0008]针对查询的计划环节,因为节点间网络延迟无法动态估算,带来的查询性能问题,具体如下:
[0009]①
、在数据库运行过程中,各个节点之间的网络延迟不断变化;
[0010]②
、在数据库运行过程中,新加入节点的网络延迟无法估计;
[0011]③
、在数据查询的计划阶段,无法根据网络延迟,选取就近数据副本。

技术实现思路

[0012]本专利技术的技术任务是提供一种分布式数据库网络延迟的动态代价校准方法及系统,来解决传统分布式数据库在数据重新分布环节由于数据节点分布不均匀导致的代价评估不精准的问题。
[0013]本专利技术的技术任务是按以下方式实现的,一种分布式数据库网络延迟的动态代价校准方法,该方法具体如下:
[0014]网络延迟的动态测试和存储,具体如下:
[0015]延迟数据测定;
[0016]延迟数据传播;
[0017]延迟数据统一;
[0018]查询的计划节点使用网络延迟数据,具体如下:
[0019]网络延迟转换为代价。
[0020]作为优选,延迟数据测定是指使用Ping工具周期性测定延迟数据,所有节点测量自己与其他节点之间的网络延迟;其中,Ping工具是TCP/IP协议的标准命令,通过发送一个因特网信报控制协议(Internet Control Messages Protocol,ICMP)包来测量互联网中两个节点之间的连通性,并测试网络延迟;
[0021]延迟数据传播是使用Gossip协议将两两之间的网络延迟传播至所有节点。
[0022]更优地,延迟数据统一是用两个数据的平均值算法;具体如下:
[0023]两两节点之间均有两个延迟数据,两个延迟数据是指两个节点分别测量的与对方的延迟;
[0024]每个节点均在本地计算两个延迟数据的平均值,作为两个节点的最终延迟数据。
[0025]更优地,网络延迟转换为代价具体如下:
[0026]在数据的查询优化器(Optimizer,以下简称“优化器”)中,并不能直接利用网络延时的值,必须要转化为适合对应数据库的代价数值,转换方法为延迟数据乘以一个常数k
c
,公式如下:
[0027]C
d
=t
d
·
k
c
[0028]其中,C
d
表示延迟代价;t
d
表示延迟时间;k
c
为常数。
[0029]作为优选,该方法还包括使用代价数据;具体如下:
[0030]解析器对用户的请求进行解析和校验,并将解析和校验结果输入到优化器;
[0031]在查询的计划阶段,将代价数据注入优化器;
[0032]优化器根据解析和校验结果,并参考代价数据制定针对用户请求的执行计划;
[0033]优化器对计划的代价进行估算,选取最优代价;
[0034]将执行计划输入到执行器;
[0035]执行器实施执行计划。
[0036]一种分布式数据库网络延迟的动态代价校准系统,该系统包括,
[0037]测定模块,用于测定延迟数据;
[0038]传播模块,用于传播延迟数据;
[0039]统一模块,用于统一延迟数据;
[0040]转换模块,用于将网络延迟转换为代价。
[0041]作为优选,测定模块是使用Ping工具周期性测定延迟数据,所有节点测量自己与其他节点之间的网络延迟;其中,Ping工具是TCP/IP协议的标准命令,通过发送一个因特网信报控制协议(Internet Control Messages Protocol,ICMP)包来测量互联网中两个节点之间的连通性,并测试网络延迟;
[0042]传播模块是使用Gossip协议将两两之间的网络延迟传播至所有节点;
[0043]统一模块是采用每个节点在本地的两个延迟数据的平均值作为两个节点的最终延迟数据;
[0044]转换模块是在数据的查询优化器(Optimizer,以下简称“优化器”)中,并不能直接利用网络延时的值,必须要转化为适合对应数据库的代价数值,转换方法为延迟数据乘以一个常数k
c
,公式如下:
[0045]C
d
=t
d
·
k
c
[0046]其中,C
d
表示延迟代价;t
d
表示延迟时间;k
c
为常数。
[0047]作为优选,该系统还包括使用模块,使用模块的工作过程具体如下:
[0048](1)、解析器对用户的请求进行解析和校验,并将解析和校验结果输入到优化器;
[0049](2)、在查询的计划阶段,将代价数据注入优化器;
[0050](3)、优化器根据解析和校验结果,并参考代价数据制定针对用户请求的执行计划;
[0051](4)、优化器对计划的代价进行估算,选取最优代价;
[0052](5)、将执行计划输入到执行器;
[0053](6)、执行器对执本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式数据库网络延迟的动态代价校准方法,其特征在于,该方法具体如下:网络延迟的动态测试和存储,具体如下:延迟数据测定;延迟数据传播;延迟数据统一;查询的计划节点使用网络延迟数据,具体如下:网络延迟转换为代价。2.根据权利要求1所述的分布式数据库网络延迟的动态代价校准方法,其特征在于,延迟数据测定是指使用Ping工具周期性测定延迟数据,所有节点测量自己与其他节点之间的网络延迟;其中,Ping工具是TCP/IP协议的标准命令,通过发送一个因特网信报控制协议包来测量互联网中两个节点之间的连通性,并测试网络延迟;延迟数据传播是使用Gossip协议将两两之间的网络延迟传播至所有节点。3.根据权利要求1或2所述的分布式数据库网络延迟的动态代价校准方法,其特征在于,延迟数据统一是用两个数据的平均值算法;具体如下:两两节点之间均有两个延迟数据,两个延迟数据是指两个节点分别测量的与对方的延迟;每个节点均在本地计算两个延迟数据的平均值,作为两个节点的最终延迟数据。4.根据权利要求3所述的分布式数据库网络延迟的动态代价校准方法,其特征在于,网络延迟转换为代价具体如下:在数据的查询优化器中转化为适合对应数据库的代价数值,转换方法为延迟数据乘以一个常数k
c
,公式如下:C
d
=t
d
·
k
c
其中,C
d
表示延迟代价;t
d
表示延迟时间;k
c
为常数。5.根据权利要求1所述的分布式数据库网络延迟的动态代价校准方法,其特征在于,该方法还包括使用代价数据;具体如下:解析器对用户的请求进行解析和校验,并将解析和校验结果输入到优化器;在查询的计划阶段,将代价数据注入优化器;优化器根据解析和校验结果,并参考代价数据制定针对用户请求的执行计划;优化器对计划的代价进行估算,选取最优代价;将执行计划输入到执行器;执行器实施执行计划。6.一种分布式数据库网络延迟的动态代价校准系统,其特征在于,该系统包括,测定模块,用于测定延迟数据;...

【专利技术属性】
技术研发人员:许晓笛
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1