一种服务器节点间的链路切换方法、装置及电子设备制造方法及图纸

技术编号:39036574 阅读:15 留言:0更新日期:2023-10-10 11:49
本申请提供一种服务器节点间的链路切换方法、装置及电子设备。在本申请中,根据当前的数据处理报文的大小以及最近一段时长内的平均报文响应时长所确定的保活时长,能够与网络变化相适应,采用与网络变化相适应的保活时长,能够更加准确地确定服务器节点间通信链路是否存在故障,进而保证了服务器节点间通信业务的连续性。本申请还结合报文处理状态进一步检测服务器节点间的链路是否存在故障,该方式能够提高服务器节点间通信链路故障的判断准确度,进一步保证了服务器节点间通信业务的连续性。续性。续性。

【技术实现步骤摘要】
一种服务器节点间的链路切换方法、装置及电子设备


[0001]本申请涉及数据存储领域,尤其涉及一种服务器节点间的链路切换方法、装置及电子设备。

技术介绍

[0002]在分布式存储系统中,服务器节点间通过通信链路来实现网络通信。为保证网络连接的冗余性,消除网络连接的单点故障,通常在服务器节点间设置多条物理链路。在实际应用中,可由软件管理多条链路,当服务器节点间传输数据的链路出现故障时,可将服务器节点间的通信链路由故障的链路切换为正常链路,以保证服务器节点间的正常通信。
[0003]通常,通过探测报文来监测通信链路是否存在故障,例如,服务器节点1向服务器节点2发送数据报文,如果服务器节点1未在保活时长内接收到服务器节点2针对数据报文所返回的响应报文,则确定服务器节点1与服务器节点2之间的通信链路发生了故障。
[0004]然而,在相关技术中,保活时长通常设置得较长,通信链路故障的发现时间较长,导致通信业务出现卡顿,从而降低了上层应用(例如,数据库、文件系统)的业务处理性能。

技术实现思路

[0005]有鉴于此,本申请实施例提供一种服务器节点间的链路切换方法、装置及电子设备,以及时发现服务器节点间存在故障的链路,保证服务器节点间通信业务的连续性。
[0006]根据本申请实施例的第一方面,提供一种服务器节点间的链路切换方法,应用于分布式全闪存存储系统中的第一服务器节点,第一服务器节点通过通信链路与第二服务器节点通信,通信链路至少包括第一链路和第二链路,该方法包括:在当前时刻通过第一链路向第二服务器节点发送目标数据处理报文,根据目标数据处理报文的大小以及平均报文响应时长确定目标数据处理报文所对应的第一保活时长,其中,平均报文响应时长为在第一服务器节点发送目标数据处理报文的发送时间之前的预设时长内,第一服务器节点所发送的数据处理报文的报文响应时长的平均值;若在第一保活时长内,第一服务器节点未接收到第二服务器节点通过第一链路所反馈的针对目标数据处理报文的数据处理响应报文,则通过第二链路向第二服务器节点发送用于查询第二服务器节点处理目标数据处理报文的处理状态的状态查询指令;通过第二链路接收第二服务器节点针对状态查询指令所返回的报文处理状态,并根据报文处理状态确定第一链路是否存在故障,其中,报文处理状态至少包括表征第二服务器节点未接收到目标数据处理报文的未接收状态、表征第二服务器节点已接收目标数据处理报文但未完成响应的已接收状态,以及表征第二服务器节点已完成响应的已响应状态;若根据报文处理状态确定第一链路存在故障,则将第一服务器节点与第二服务器节点之间的通信链路由第一链路切换为第二链路。
[0007]根据本申请实施例的第二方面,提供一种服务器节点间的链路切换装置,应用于分布式全闪存存储系统中的第一服务器节点,第一服务器节点通过通信链路与第二服务器节点通信,通信链路至少包括第一链路和第二链路,该装置包括:保活时长确定模块,用于
在当前时刻通过第一链路向第二服务器节点发送目标数据处理报文,根据目标数据处理报文的大小以及平均报文响应时长确定目标数据处理报文所对应的第一保活时长,其中,平均报文响应时长为在第一服务器节点发送目标数据处理报文的发送时间之前的预设时长内,第一服务器节点所发送的数据处理报文的报文响应时长的平均值;状态查询模块,用于若在第一保活时长内,第一服务器节点未接收到第二服务器节点通过第一链路所反馈的针对目标数据处理报文的数据处理响应报文,则通过第二链路向第二服务器节点发送用于查询第二服务器节点处理目标数据处理报文的处理状态的状态查询指令;状态接收模块,用于通过第二链路接收第二服务器节点针对状态查询指令所返回的报文处理状态,并根据报文处理状态确定第一链路是否存在故障,其中,报文处理状态至少包括表征第二服务器节点未接收到目标数据处理报文的未接收状态、表征第二服务器节点已接收目标数据处理报文但未完成响应的已接收状态,以及表征第二服务器节点已完成响应的已响应状态;链路切换模块,用于若根据报文处理状态确定第一链路存在故障,则将第一服务器节点与第二服务器节点之间的通信链路由第一链路切换为第二链路。
[0008]根据本申请实施例的第三方面,提供一种电子设备,电子设备包括:处理器和存储器;其中,所述存储器,用于存储机器可执行指令;所述处理器,用于读取并执行所述存储器存储的机器可执行指令,以实现如第一方面所述的方法。
[0009]本申请实施例提供的技术方案可以包括以下有益效果:
[0010]在本实施例中,根据当前的数据处理报文的大小以及最近一段时长(即发送时间之前的预设时长)内的平均报文响应时长确定保活时长,进而根据保活时长来确定两个服务器节点间的链路是否存在故障,而最近一段时长内的平均报文响应时长表征了网络的变化情况,即本申请采用与网络变化相适应的保活时长来确定是否对服务器节点间的链路进行切换。而通过与网络变化相适应的保活时长,能够更加准确地确定通信链路是否存在故障,进而保证了通信业务的连续性。
[0011]另外,在第一服务器节点未在第一保活时长内接收到数据处理响应报文时,无法确定是通信链路发生了故障,还是第二服务器节点的数据处理性能发生了故障。对此,本申请通过另一条链路向第二服务器节点发送查询报文处理状态的指令,以使第二服务器节点通过另一条链路反馈的报文处理状态,进而第一服务器节点再结合报文处理状态来确定第一链路是否存在故障。即本申请兼顾到了两条链路的网络差异,降低了链路故障的误判,缩短了确认链路故障的时间,提高了通信链路故障判断的准确性,进而保证了通信业务的连续性。
附图说明
[0012]图1是本申请实施例示出的一种分布式存储系统的结构图。
[0013]图2是本申请实施例示出的一种分布式存储系统的结构图。
[0014]图3是本申请实施例示出的一种服务器节点间的链路切换方法的流程图。
[0015]图4是本申请实施例示出的一种服务器节点间的链路切换装置的框图。
[0016]图5是本申请实施例服务器节点间的链路切换装置所在电子设备的一种硬件结构图。
具体实施方式
[0017]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0018]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0019]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务器节点间的链路切换方法,其特征在于,应用于分布式全闪存存储系统中的第一服务器节点,所述第一服务器节点通过通信链路与第二服务器节点通信,所述通信链路至少包括第一链路和第二链路,所述方法包括:在当前时刻通过所述第一链路向所述第二服务器节点发送目标数据处理报文,根据所述目标数据处理报文的大小以及平均报文响应时长确定所述目标数据处理报文所对应的第一保活时长,其中,所述平均报文响应时长为在所述第一服务器节点发送所述目标数据处理报文的发送时间之前的预设时长内,所述第一服务器节点所发送的数据处理报文的报文响应时长的平均值;若在所述第一保活时长内,所述第一服务器节点未接收到所述第二服务器节点通过所述第一链路所反馈的针对所述目标数据处理报文的数据处理响应报文,则通过所述第二链路向所述第二服务器节点发送用于查询所述第二服务器节点处理所述目标数据处理报文的处理状态的状态查询指令;通过所述第二链路接收所述第二服务器节点针对所述状态查询指令所返回的报文处理状态,并根据所述报文处理状态确定所述第一链路是否存在故障,其中,所述报文处理状态至少包括表征所述第二服务器节点未接收到所述目标数据处理报文的未接收状态、表征所述第二服务器节点已接收所述目标数据处理报文但未完成响应的已接收状态,以及表征所述第二服务器节点已完成响应的已响应状态;若根据所述报文处理状态确定所述第一链路存在故障,则将所述第一服务器节点与所述第二服务器节点之间的通信链路由所述第一链路切换为所述第二链路。2.根据权利要求1所述的方法,其特征在于,根据所述目标数据处理报文的大小以及平均报文响应时长确定第一保活时长确定第一保活时长,包括:统计所述第一服务器节点在所述发送时间之前的预设时长内通过所述第一链路所接收到的所述第二服务器节点所反馈的数据处理响应报文的平均报文响应时长,以及所述第一服务器节点在所述发送时间之前的预设时长内通过所述第一链路所发送的数据处理报文的平均报文大小;计算所述目标数据处理报文的大小与所述平均报文大小的比值,并计算所述平均报文响应时长与所述比值的乘积,得到所述第一保活时长。3.根据权利要求2所述的方法,其特征在于,在根据所述目标数据处理报文的大小以及平均报文响应时长确定第一保活时长确定第一保活时长之前,所述方法还包括:根据所述第一服务器节点在所述发送时间之前的预设时长内通过所述第一链路所发送的数据处理报文的报文发送时间,以及所述第一服务器节点通过所述第一链路所接收到的所述第二服务器节点所反馈的数据处理响应报文的报文接收时间,确定所述第一服务器节点在所述预设时长内通过所述第一链路向所述第二服务器节点发送的数据处理报文的报文响应时长;计算在所述发送时间之前的预设时长内,所述第一服务器节点通过所述第一链路向所述第二服务器节点发送的数据处理报文的报文响应时长的平均值,得到所述平均报文响应时长;统计所述第一服务器节点在所述发送时间之前的预设时长内通过所述第一链路向所述第二服务器节点所发送的数据处理报文的大小,并计算所述发送时间之前的预设时长内
所述数据处理报文的大小平均值,得到所述平均报文大小。4.根据权利要求1所述的方法,其特征在于,通过所述第一链路向所述第二服务器节点发送目标数据处理报文,包括:根据所述目标数据处理报文在所述第一服务器节点通过所述第一链路向所述第二服务器节点发送数据处理报文的发送顺序中的位置,确定所述目标数据处理报文的报文序号;将所述目标数据处理报文以及所述目标数据处理报文所对应的报文序号通过所述第一链路发送至所述第二服务器节点,以使所述第二服务器节点处理所述目标数据处理报文,并将所述目标数据处理报文的报文处理状态、所述目标数据处理报文的报文序号以及所述目标数据处理报文的报文处理状态与所述目标数据处理报文的报文序号之间的关联关系记录在报文状态表中。5.根据权利要求4所述的方法,其特征在于,所述第二服务器节点还用于在所述报文状态表中记录序号连续的已完成响应的数据处理报文的报文序号中的最后一个报文序号以及不连续的报文序号,并删除所述序号连续的已完成响应的数据处理报文的报文序号中除所述最后一个报文序号之外的其他报文序号。6...

【专利技术属性】
技术研发人员:陈武雄
申请(专利权)人:杭州宏杉科技股份有限公司
类型:发明
国别省市:

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

1