访问数据节点的方法及系统技术方案

技术编号:15795008 阅读:389 留言:0更新日期:2017-07-10 10:47
本发明专利技术公开了一种访问数据节点的方法,其包括读取可用节点队列中的权重最大的数据节点;访问所述数据节点;判断访问是否成功,若否,减少可用节点队列中所述数据节点的权重;若是,判断连接所述数据节点的时延是否小于阈值,若是,增加可用节点队列中所述数据节点的权重,否则,可用节点队列中所述数据节点的权重不变。通过实时调整与客户端连接的数据节点的权重,权衡了系统的负载,自选最优的数据节点进行服务访问,自主缓冲切换健康数据服务访问,提供了更准确节点切换的运算决策,避免短期的网络异常导致切换的成本开销。此外,本发明专利技术还提供了一种访问数据节点的系统。

【技术实现步骤摘要】
访问数据节点的方法及系统
本专利技术涉及计算机
,更具体地,涉及一种访问数据节点的方法及系统。
技术介绍
目前数据层基本以异地多点部署,本机房服务优先访问本机房或最近的数据节点,当访问中的数据节点所对应的节点网络异常或系统异常的情况下,能快速切换到健康可用且最近的数据节点。如果遇到网络抖动的情况下立马切换至其它数据节点或跨机房的数据节点后,由于时延增长,反而容易导致任务堆积。因此,业内亟需一种能解决上述问题的技术方案。
技术实现思路
为解决上述技术问题,本专利技术提出了一种访问数据节点的方法及系统,解决抖动马上切换数据节点的问题。为了实现本专利技术的目的,采取了如下技术方案:本专利技术提供了一种访问数据节点的方法,其包括:读取可用节点队列中的权重最大的数据节点;访问所述数据节点;判断访问是否成功,若否,减少可用节点队列中所述数据节点的权重;若是,判断连接所述数据节点的时延是否小于阈值,若是,增加可用节点队列中所述数据节点的权重,否则,可用节点队列中所述数据节点的权重不变。具体地,所述读取可用节点队列中权重最大的数据节点之前,还包括:预设可用节点队列中的数据节点的初始权重。具体地,所述预设可用节点队列中的数据节点的初始权重,包括:预设可用节点队列中的本地机房的数据节点的初始权重最大,按地域与线路质量预设可用节点队列中的远程机房的数据节点的初始权重。具体地,所述读取可用节点队列中的权重最大的数据节点之前,还包括:接收访问数据节点的请求。具体地,所述判断访问是否成功,若否,减少可用节点队列中所述数据节点的权重;若是,判断连接所述数据节点的时延是否小于阈值,若是,增加可用节点队列中所述数据节点的权重,否则,可用节点队列中所述数据节点的权重不变,包括:判断访问是否成功,若否,把可用节点队列中所述数据节点的权重减少2;若是,判断连接所述数据节点的时延是否小于1s,若是,确定所述数据节点的权重不大于初始权重的2倍,把可用节点队列中所述数据节点的权重增加1;否则,可用节点队列中所述数据节点的权重不变。具体地,所述减少可用节点队列中所述数据节点的权重之后,还包括:根据所述权重确定出所述数据节点为不可用节点;把所述数据节点从所述可用节点队列中删除,放入不可用节点队列中。具体地,所述根据所述权重确定出所述数据节点为不可用节点,包括:检测当前可用节点队列当中的数据节点的权重是否低于所述数据节点的初始权重的1/2;若是,则确定所述数据节点为不可用节点。具体地,还包括:建立独立线程对不可用节点队列中的数据节点进行有效性检测。具体地,所述建立独立线程对不可用节点队列中的数据节点进行有效性检测之后,还包括:确定所述不可用节点队列中的数据节点满足预设的有效性的时延要求;将所述数据节点从不可用节点队列中删除,放入可用节点队列中。此外,本专利技术还相应地提供了一种访问数据节点的系统,其包括:读取模块,用于读取可用节点队列中的权重最大的数据节点;访问模块,用于访问所述数据节点;判断模块,用于判断访问是否成功,若否,减少可用节点队列中所述数据节点的权重;若是,判断连接所述数据节点的时延是否小于阈值,若是,增加可用节点队列中所述数据节点的权重,否则,可用节点队列中所述数据节点的权重不变具体地,所述读取可用节点队列中权重最大的数据节点之前,还包括:预设模块,用于预设可用节点队列中的数据节点的初始权重。具体地,所述预设模块,包括:预设单元,用于预设可用节点队列中的本地机房的数据节点的初始权重最大,按地域与线路质量预设可用节点队列中的远程机房的数据节点的初始权重。具体地,所述读取可用节点队列中的权重最大的数据节点之前,还包括:接收模块,用于接收访问数据节点的请求。具体地,所述判断模块被配置为:判断访问是否成功,若否,把可用节点队列中所述数据节点的权重减少2;若是,判断连接所述数据节点的时延是否小于1s,若是,确定所述数据节点的权重不大于初始权重的2倍,把可用节点队列中所述数据节点的权重增加1;否则,可用节点队列中所述数据节点的权重不变。具体地,所述减少可用节点队列中所述数据节点的权重之后,还包括:第一确定模块,用于根据所述权重确定出所述数据节点为不可用节点;第一删除模块,用于把所述数据节点从所述可用节点队列中删除,放入不可用节点队列中。具体地,所述第一确定模块,包括:检测单元,用于检测当前可用节点队列当中的数据节点的权重是否低于所述数据节点的初始权重的1/2;确定单元,用于若是,则确定所述数据节点为不可用节点。具体地,还包括:建立模块,用于建立独立线程对不可用节点队列中的数据节点进行有效性检测。具体地,所述建立独立线程对不可用节点队列中的数据节点进行有效性检测之后,还包括:第二确定模块,用于确定所述不可用节点队列中的数据节点满足预设的有效性的时延要求;第二删除模块,用于则将所述数据节点从不可用节点队列中删除,放入可用节点队列中。相比现有技术,本专利技术的方案具有以下优点:1.本专利技术所述访问数据节点的方法中,访问当前可用节点队列中权重最大的数据节点,根据访问是否成功与时延是否小于阈值,动态调整该数据节点的权重,该调整为缓和进行,若发生网络抖动,导致当前一次或几次访问不成功,权重逐步变小,该数据节点的权重仍是最大值,不至于马上切换数据节点;除非发生相对较长时间的网络故障,导致该数据节点的权重多次减小后,从而小于其他的数据节点权重;当网络恢复正常,在时延小于阈值情况下,权重逐步变大,为下次抖动提供冗余。本方案解决了传统的网络抖动的情况下立马切换数据节点甚至跨机房的数据节点后,时延增长所导致的任务堆积的问题。此外,根据访问数据节点是否成功以及访问数据节点的时延,实时调整该数据节点的权重,权衡了系统的负载,自选最优数据节点进行服务访问,自主缓冲切换健康的数据节点,提供了一个更准确、性能更优的切换运算决策。2.本专利技术所述访问数据节点的方法中,建立独立线程对不可用节点队列中的数据节点进行有效性检测,保证了检测的同时不会影响正常的业务请求。此外,将满足条件的不可用节点队列中的数据节点重新放入可用节点队列,提高了线路资源的利用率,有效地保证了来自客户端的请求能够得到及时的响应。3.本专利技术所述访问数据节点的方法中,当前可用节点队列当中的数据节点的权重低于该数据节点的初始权重的1/2时,会将所述数据节点从可用节点队列中删除,并添加到不可用节点队列进行检测,这种情况下,在网络突然波动时,不会立刻将权重减少到低优先级的数据节点,其会存在一个缓冲期。若网络的波动时间较短,不会立即切换至低优先级的数据节点,这样能保证业务能访问更低时延更高优先级的数据节点,避免任务的拥塞。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了本专利技术中一种访问数据节点的方法的一种实施例的结构示意图;图2示出了本专利技术中一种访问数据节点的方法的另一种实施例的结构示意图;图3示出了本专利技术中一种访问数据节点的方法的又一实本文档来自技高网...
访问数据节点的方法及系统

【技术保护点】
一种访问数据节点的方法,其特征在于,包括:读取可用节点队列中的权重最大的数据节点;访问所述数据节点;判断访问是否成功,若否,减少可用节点队列中所述数据节点的权重;若是,判断连接所述数据节点的时延是否小于阈值,若是,增加可用节点队列中所述数据节点的权重,否则,可用节点队列中所述数据节点的权重不变。

【技术特征摘要】
1.一种访问数据节点的方法,其特征在于,包括:读取可用节点队列中的权重最大的数据节点;访问所述数据节点;判断访问是否成功,若否,减少可用节点队列中所述数据节点的权重;若是,判断连接所述数据节点的时延是否小于阈值,若是,增加可用节点队列中所述数据节点的权重,否则,可用节点队列中所述数据节点的权重不变。2.根据权利要求1所述的访问数据节点的方法,其特征在于,所述读取可用节点队列中权重最大的数据节点之前,还包括:预设可用节点队列中的数据节点的初始权重。3.根据权利要求2所述的访问数据节点的方法,其特征在于,所述预设可用节点队列中的数据节点的初始权重,包括:预设可用节点队列中的本地机房的数据节点的初始权重最大,按地域与线路质量预设可用节点队列中的远程机房的数据节点的初始权重。4.根据权利要求1所述的访问数据节点的方法,其特征在于,所述读取可用节点队列中的权重最大的数据节点之前,还包括:接收访问数据节点的请求。5.根据权利要求1所述的访问数据节点的方法,其特征在于,所述判断访问是否成功,若否,减少可用节点队列中所述数据节点的权重;若是,判断连接所述数据节点的时延是否小于阈值,若是,增加可用节点队列中所述数据节点的权重,否则,可用节点队列中所述数据节点的权重不变,包括:判断访问是否成功,若否,把可用节点队列中所述数据节点的权重减少2;若是,判断连接所述数据节点的时延是否小于1s,若是,确定所述数据节点的权重不大于初始权重的2倍,把...

【专利技术属性】
技术研发人员:朱朝卓
申请(专利权)人:广州华多网络科技有限公司
类型:发明
国别省市:广东,44

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

1