一种分布式系统高负载情况下的多路径心跳检测方法技术方案

技术编号:35642661 阅读:13 留言:0更新日期:2022-11-19 16:34
本发明专利技术涉及一种分布式系统高负载情况下的多路径心跳检测方法,其技术特点是:包括同步运行的独立心跳检测方法、业务功能心跳检测方法和对端主动应答心跳检测方法,如果任何一种心跳检测方法结果是正常的,则本轮心跳检测结果是正常的。本发明专利技术设计合理,其融合了高频检测、长超时时间、多路径检测的心跳检测方法,通过独立的心跳检测、业务功能、对端主动应答以及动态识别超时事件等方法,可以在较短的时间内识别出心跳故障状态,又可以在系统高压力下应对系统误判心跳故障问题,极大提升了数据库的稳定性和可用性。库的稳定性和可用性。库的稳定性和可用性。

【技术实现步骤摘要】
一种分布式系统高负载情况下的多路径心跳检测方法


[0001]本专利技术属于数据库
,尤其是一种分布式系统高负载情况下的多路径心跳检测方法。

技术介绍

[0002]MPP数据库是一种拥有多个无共享节点的分布式数据库。心跳检测是一种用来发现并识别各节点状态的机制。随着计算机技术的飞速发展,数据库的性能要求也越来越高,如何高效利用系统资源,发掘系统的性能极限,是一个长期且稳定的趋势。在这个过程中,MPP数据库在这种极限压力下如何识别是系统性能波动,还是系统故障问题,如何快速检测到系统故障,且能够识别出系统压力带来的延迟响应,就成为摆在高性能系统面前的一个重要问题。
[0003]现有的心跳检测技术,通常使用TCP或UDP发送特殊约定的数据到指定IP的对端计算机,根据返回值来判断网络和对端计算机是否正常工作。在系统压力较小时,这个模式还能够正常工作,但是在系统压力较大时,则很容易出现非故障情况下的超时等待现象,这将造成系统误判为出现故障,影响系统正常的运行。如果我们将系统超时时间设置为一个较长的时间间隔时,对于真正的系统故障又会难以在较短的时间内发现。
[0004]综上所述,如何在MPP数据库系统高负载情况下保证及时检测到系统故障并且避免系统误判是目前迫切需要解决的问题。

技术实现思路

[0005]本专利技术的目的在于克服现有技术的不足,提供一种设计合理、能够快速检测系统故障并避免误判的分布式系统高负载情况下的多路径心跳检测方法。
[0006]本专利技术解决现有的技术问题是采取以下技术方案实现的:
[0007]一种分布式系统高负载情况下的多路径心跳检测方法,包括同步运行的独立心跳检测方法、业务功能心跳检测方法和对端主动应答心跳检测方法,如果任何一种心跳检测结果是正常的,则本轮心跳检测结果是正常的;
[0008]所述独立心跳检测方法为:本地系统按照t1时间间隔发送网络数据包到对端计算机,检测对端计算机与本地系统是否正常,如果本地系统发送网络数据包超过t2时间,则使用OOB发送特殊数据进行网络探测,检测OOB探测是否正常;如果本地系统接收对端计算机的应答网络数据包超过t22时间,则使用OOB发送特殊数据进行网络探测,检测OOB探测是否正常;如果上述检测出现异常和错误,则视为系统异常;只有本地系统在t3时间内收到对端计算机的应答网络数据,且验证成功,才视为本次探测成功;
[0009]所述业务功能心跳检测方法为:本地系统记录所有与对端计算机有业务活动的通信时间,如果当前时间与记录的通信时间间隔在t3时间内,则认为系统处于正常状态,如果超过t3时间,则认为对端计算机可能处于异常状态;此时检测与对端计算机的其他检测路径的状态,如果所有的检测路径都处于异常状态,则视为系统异常;
[0010]所述对端主动应答心跳检测方法为:对端计算机按照t1时间向本地系统发送系统状态信息,如果本地系统能够在t1时间内收到对端计算机发送的信息,并验证成功,则认为对端计算机与本地系统是正常的,否则视为系统异常;
[0011]其中,t1表示心跳发起的时间间隔,t2表示从发送数据开始并等待发送数据完成的最大时间,t22表示从接收对端数据开始的最大等待时间,t3表示最终超时的最大时间。
[0012]进一步,所述独立心跳检测方法的具体实现方法为:
[0013]首先,本地系统按照t1时间发送心跳检测数据包到对端计算机,对端计算机在收到数据包后,验证收到的数据包内容及编号;如果数据违反约定规则,则视为系统异常,将异常状态发送给本地系统;如果数据符合约定规则,则视为系统正常,将正常状态发送给本地系统;本地系统收到系统正常的数据,按照约定规则进行验证,通过后就视为该对端计算机到本地系统是正常的;否则视为对端计算机与本地系统处于异常状态;
[0014]如果本地系统在超过t2时间后发送数据超时,则使用OOB发送特殊数据进行网络探测,如果在超过t21时间内探测成功,则检测本轮探测是否超过t3时间,如果超过t3时间就视为异常,如果没有超过就结束本轮探测,并将本次探测使用的环境保存起来,并记录当前执行的步骤;如果OOB探测过程失败就认为出现异常;
[0015]如果本地系统在超过t22时间后还没有收到对端计算机的应答,则使用OOB发送特殊数据进行网络探测,如果在t31时间内探测成功,则判断本轮探测是否超过t3时间,如果超过t3时间就视为异常,如果没有超过t3时间就结束本轮探测,并将本次探测使用的环境保存起来,并记录当前执行的步骤;如果OOB探测过程失败,就认为出现异常;
[0016]最后,在t1时间之后,启动新一轮的检测;如果上一轮没有结束,继续使用上一轮的环境,在上一次执行的步骤进行检测,如果上一轮检测结果是正常或异常,则重新开始进行检测;
[0017]在独立心跳检测过程中,如果出现异常和错误,都视为系统异常;
[0018]其中,t21表示在发送数据时并产生超时的状态下,进行OOB探测的最大等待时间,t31表示在接收数据超时的状态下,进行OOB探测的最大等待时间。
[0019]进一步,所述t1时间设置为超短的时间,对于其他时间设置为较长的时间或进行超时时间的动态设置。
[0020]进一步,所述超时时间的动态设置的方法为:保存过去多次的检测整个过程需要的耗时,求出一个拟合的值,根据这个值乘以系数K作为最终的最大超时t3时间。
[0021]本专利技术的优点和积极效果是:
[0022]本专利技术设计合理,其融合了高频检测、长超时时间、多路径检测的心跳检测方法,通过独立的心跳检测、业务功能、对端主动应答以及动态识别超时事件等方法,可以在较短的时间内识别出心跳故障状态,又可以在系统高压力下应对系统误判心跳故障问题,极大提升了数据库的稳定性和可用性。
附图说明
[0023]图1是本专利技术的检测流程图。
具体实施方式
[0024]以下结合附图对本专利技术实施案例做进一步详述。
[0025]本专利技术提出一种分布式系统高负载情况下的多路径心跳检测方法,如图1所示,包括同步运行的如下三种路径的检测方法:独立心跳检测方法、业务功能心跳检测方法和对端主动应答心跳检测方法;如果其中一条路径的检测结果是正常的,即视为本轮心跳检测结果是正常的。
[0026]为了便于说明,在心跳检测过程中,定义如下时间参数:
[0027]t1表示心跳发起的频率,即每间隔t1时间触发一次。如10秒,表示每间隔10秒触发一次。t1大于或等于0。
[0028]t2表示从发送数据开始,等待发送数据完成的最大时间。t2大于或等于0。
[0029]t21表示在发送数据时,产生超时的状态下,进行OOB探测的最大等待时间。t21大于或等于0。
[0030]t22表示从接收对端数据开始的最大等待时间。t22大于或等于0。
[0031]t31表示在接收数据超时的状态下,进行OOB探测的最大等待时间。t31大于或等于0。
[0032]t3表示最终超时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式系统高负载情况下的多路径心跳检测方法,其特征在于:包括同步运行的独立心跳检测方法、业务功能心跳检测方法和对端主动应答心跳检测方法,如果任何一种心跳检测结果是正常的,则本轮心跳检测结果是正常的;所述独立心跳检测方法为:本地系统按照t1时间间隔发送网络数据包到对端计算机,检测对端计算机与本地系统是否正常,如果本地系统发送网络数据包超过t2时间,则使用OOB发送特殊数据进行网络探测,检测OOB探测是否正常;如果本地系统接收对端计算机的应答网络数据包超过t22时间,则使用OOB发送特殊数据进行网络探测,检测OOB探测是否正常;如果上述检测出现异常和错误,则视为系统异常;只有本地系统在t3时间内收到对端计算机的应答网络数据,且验证成功,才视为本次探测成功;所述业务功能心跳检测方法为:本地系统记录所有与对端计算机有业务活动的通信时间,如果当前时间与记录的通信时间间隔在t3时间内,则认为系统处于正常状态,如果超过t3时间,则认为对端计算机可能处于异常状态;此时检测与对端计算机的其他检测路径的状态,如果所有的检测路径都处于异常状态,则视为系统异常;所述对端主动应答心跳检测方法为:对端计算机按照t1时间向本地系统发送系统状态信息,如果本地系统能够在t1时间内收到对端计算机发送的信息,并验证成功,则认为对端计算机与本地系统是正常的,否则视为系统异常;其中,t1表示心跳发起的时间间隔,t2表示从发送数据开始并等待发送数据完成的最大时间,t22表示从接收对端数据开始的最大等待时间,t3表示最终超时的最大时间。2.根据权利要求1所述的一种分布式系统高负载情况下的多路径心跳检测方法,其特征在于:所述独立心跳检测方法的具体实现方法为:首先,本地系统按照t1时间发送心跳检测数据包到对端计算机,对端计算机在收到数据包后,验证收到的数据包内容及编号;如果数据违反约定规则,则视为系统异常,将异常状态...

【专利技术属性】
技术研发人员:李永进贾宗秀刘尧蒋旭姬涛涛赵冬伟张昕尧朱亚楠吴嵩周勇亮刘勇生桑国彪乐承予
申请(专利权)人:天津神舟通用数据技术有限公司
类型:发明
国别省市:

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

1