基于DPVS的后端服务器健康检测方法和服务器技术

技术编号:26072197 阅读:29 留言:0更新日期:2020-10-28 16:45
本发明专利技术公开了一种基于DPVS的后端服务器健康检测方法和服务器,属于云计算技术领域。所述方法包括:高可用进程通过内核协议栈构造目标客户对应的后端服务器的状态检测报文,向DPVS进程发送所述状态检测报文;所述DPVS进程基于预先收到的所述目标客户的通信配置信息,通过SNAT和DNAT操作,在所述高可用进程和所述后端服务器之间转发所述状态检测报文及其对应的状态响应报文;所述高可用进程在获取到所述后端服务器反馈的状态响应报文后,根据所述状态响应报文的解析结果,确定所述后端服务器的健康状态。本发明专利技术能够降低系统的资源消耗。

【技术实现步骤摘要】
基于DPVS的后端服务器健康检测方法和服务器
本专利技术涉及云计算
,尤其涉及一种基于DPVS的后端服务器健康检测方法和服务器。
技术介绍
在云计算系统中,共用数据中心将提供服务的每个客户作为一个租户,通过多租户技术,在保障客户数据隔离的情况下,以单一系统构架为多数客户端提供相同或可定制化的服务。为了实现客户数据隔离,共用数据中心为每个客户对应设置一个命名空间,客户的数据存储在对应的命名空间中,并通过该命名空间为客户提供各种服务。为了能够给客户提供稳定的云计算服务,需要及时确定提供服务的后端服务器的连接状态,因此,云计算系统中的节点服务器可以周期性对后端服务器进行健康检测。进行健康检测时,节点服务器中用于健康检测的高可用进程向被检测的后端服务器发送状态检测报文,如果后端服务器收到状态检测报文,并且能够回复正确的状态响应报文给高可用进程,则可以判断该后端服务器连接正常;如果后端服务器虽然收到状态检测报文,但是回复不正确的状态响应报文给高可用进程,则判断该后端服务器连接异常;如果后端服务器处于连接中断等状态,无法收到状态检测报文,不会给高可用进程回复任何状态响应报文,高可用进程在一定时间内未收到状态响应报文,则会向该后端服务器重新发送状态检测报文,在重发状态检测报文一定次数后,若仍未收到状态响应报文,则判断该后端服务器连接异常;对于连接异常的后端服务器,高可用进程可以进一步进行相应的后续处理。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:节点服务器中用于健康检测的高可用进程通常采用内核协议栈构造状态检测报文,因此,高可用进程本身不具有多租户的概念,不能在同一个高可用进程下对不同客户的后端服务器同时进行健康检测,只能为每个客户在对应的命名空间中启动一个高可用进程,然而,共用数据中心的客户数量较多,在节点服务器上同时运行多个高可用进程,会消耗大量的系统资源,增加运维难度。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种基于DPVS的后端服务器健康检测方法和服务器。所述技术方案如下:第一方面,提供了一种基于DPVS的后端服务器健康检测方法,所述方法包括:高可用进程通过内核协议栈构造目标客户对应的后端服务器的状态检测报文,向DPVS进程发送所述状态检测报文;所述DPVS进程基于预先收到的所述目标客户的通信配置信息,通过SNAT和DNAT操作,在所述高可用进程和所述后端服务器之间转发所述状态检测报文及其对应的状态响应报文;所述高可用进程在获取到所述后端服务器反馈的状态响应报文后,根据所述状态响应报文的解析结果,确定所述后端服务器的健康状态。进一步的,所述高可用进程通过内核协议栈构造目标客户对应的后端服务器的状态检测报文之前,还包括:所述高可用进程根据所述目标客户对应的目标高可用进程网卡和目标KNI网卡,与所述DPVS进程建立KNI通道,其中,所述KNI通道用于所述高可用进程与所述DPVS进程进行数据传输。进一步的,所述高可用进程通过内核协议栈构造目标客户对应的后端服务器的状态检测报文,向DPVS进程发送所述状态检测报文之前,还包括:所述高可用进程向所述DPVS进程发送所述目标客户的通信配置信息,所述通信配置信息至少包含:目标客户对应的目标高可用进程网卡的端口和IP地址、目标客户对应的目标DPVS进程代理网卡的IP地址、目标客户对应的后端服务器网卡的端口和IP地址。进一步的,所述DPVS进程基于预先收到的所述目标客户的通信配置信息,通过SNAT和DNAT操作,在所述高可用进程和所述后端服务器之间转发所述状态检测报文及其对应的状态响应报文,包括:所述DPVS进程基于所述目标客户的通信配置信息,对所述高可用进程发送的状态检测报文进行SNAT和DNAT操作,向所述后端服务器发送所述状态检测报文;所述DPVS进程基于所述目标客户的通信配置信息,对所述后端服务器反馈的状态响应报文进行SNAT和DNAT操作,向所述高可用进程发送所述状态响应报文。进一步的,所述DPVS进程基于所述目标客户的通信配置信息,对所述高可用进程发送的状态检测报文进行SNAT和DNAT操作,包括:所述DPVS进程基于所述目标客户的通信配置信息,将所述状态检测报文的目的IP地址修改为所述目标客户对应的后端服务器网卡的IP地址;所述DPVS进程通过预先配置的路由表,确定向所述目标客户对应的后端服务器网卡发送所述状态检测报文的目标DPVS进程网卡,将所述状态检测报文的源IP地址修改为所述目标DPVS进程网卡的IP地址。进一步的,所述DPVS进程基于所述目标客户的通信配置信息,对所述状态检测报文进行SNAT和DNAT操作之前,还包括:所述DPVS进程解析收到的所述状态检测报文,确定所述状态检测报文的源端口;所述DPVS进程根据所述状态检测报文的源端口确定所述目标客户的通信配置信息。进一步的,所述DPVS进程基于所述目标客户的所述通信配置信息,对所述后端服务器反馈的状态响应报文进行SNAT和DNAT操作,包括:所述DPVS进程基于所述目标客户的通信配置信息,将所述状态响应报文的源IP地址修改为所述目标客户对应的目标DPVS进程代理网卡的IP地址,将所述状态响应报文的目的IP地址修改为所述目标客户对应的目标高可用进程网卡的IP地址。进一步的,所述DPVS进程基于所述目标客户的所述通信配置信息,对所述后端服务器反馈的状态响应报文进行SNAT和DNAT操作之前,还包括:所述DPVS进程解析收到的所述状态响应报文,确定所述状态响应报文的目的端口;所述DPVS进程根据所述状态检测报文的目的端口确定所述目标客户的通信配置信息。进一步的,所述DPVS进程向后端服务器发送所述状态检测报文之后,还包括:所述DPVS进程在所述目标客户的通信配置信息中添加所述目标KNI网卡的ID和目标客户对应的目标DPVS进程代理网卡的ID。进一步的,所述向所述高可用进程发送所述状态响应报文,包括:所述DPVS进程根据所述目标客户对应的目标DPVS进程代理网卡的ID,确定所述目标客户对应的目标DPVS进程代理网卡;根据所述目标KNI网卡的ID,确定所述DPVS进程与所述高可用进程连接的KNI通道;所述DPVS进程通过所述目标DPVS进程代理网卡和所述KNI通道向所述高可用进程发送所述状态响应报文。第二方面,提供了一种基于DPVS的后端服务器健康检测服务器,所述服务器包括:高可用进程模块,用于通过内核协议栈构造目标客户对应的后端服务器的状态检测报文,向DPVS进程模块发送所述状态检测报文;DPVS进程模块,用于基于预先收到的所述目标客户的通信配置信息,通过SNAT和DNAT操作,在所述高可用进程模块和所述后端服务器之间转发所述状态检测报文及其对应的状态响应报文;高可用进程模块,还用于在获取到所述后端服务器反馈的状态响应报文后,根据本文档来自技高网
...

【技术保护点】
1.基于DPVS的后端服务器健康检测方法,其特征在于,所述方法包括:/n高可用进程通过内核协议栈构造目标客户对应的后端服务器的状态检测报文,向DPVS进程发送所述状态检测报文;/n所述DPVS进程基于预先收到的所述目标客户的通信配置信息,通过SNAT和DNAT操作,在所述高可用进程和所述后端服务器之间转发所述状态检测报文及其对应的状态响应报文;/n所述高可用进程在获取到所述后端服务器反馈的状态响应报文后,根据所述状态响应报文的解析结果,确定所述后端服务器的健康状态。/n

【技术特征摘要】
1.基于DPVS的后端服务器健康检测方法,其特征在于,所述方法包括:
高可用进程通过内核协议栈构造目标客户对应的后端服务器的状态检测报文,向DPVS进程发送所述状态检测报文;
所述DPVS进程基于预先收到的所述目标客户的通信配置信息,通过SNAT和DNAT操作,在所述高可用进程和所述后端服务器之间转发所述状态检测报文及其对应的状态响应报文;
所述高可用进程在获取到所述后端服务器反馈的状态响应报文后,根据所述状态响应报文的解析结果,确定所述后端服务器的健康状态。


2.根据权利要求1所述的方法,其特征在于,所述高可用进程通过内核协议栈构造目标客户对应的后端服务器的状态检测报文之前,还包括:
所述高可用进程根据所述目标客户对应的目标高可用进程网卡和目标KNI网卡,与所述DPVS进程建立KNI通道,其中,所述KNI通道用于所述高可用进程与所述DPVS进程进行数据传输。


3.根据权利要求2所述的方法,其特征在于,所述高可用进程通过内核协议栈构造目标客户对应的后端服务器的状态检测报文,向DPVS进程发送所述状态检测报文之前,还包括:
所述高可用进程向所述DPVS进程发送所述目标客户的通信配置信息,所述通信配置信息至少包含:目标客户对应的目标高可用进程网卡的端口和IP地址、目标客户对应的目标DPVS进程代理网卡的IP地址、目标客户对应的后端服务器网卡的端口和IP地址。


4.根据权利要求3所述的方法,其特征在于,所述DPVS进程基于预先收到的所述目标客户的通信配置信息,通过SNAT和DNAT操作,在所述高可用进程和所述后端服务器之间转发所述状态检测报文及其对应的状态响应报文,包括:
所述DPVS进程基于所述目标客户的通信配置信息,对所述高可用进程发送的状态检测报文进行SNAT和DNAT操作,向所述后端服务器发送所述状态检测报文;
所述DPVS进程基于所述目标客户的通信配置信息,对所述后端服务器反馈的状态响应报文进行SNAT和DNAT操作,向所述高可用进程发送所述状态响应报文。


5.根据权利要求4所述的方法,其特征在于,所述DPVS进程基于所述目标客户的通信配置信息,对所述高可用进程发送的状态检测报文进行SNAT和DNAT操作,包括:
所述DPVS进程基于所述目标客户的通信配置信息,将所述状态检测报文的目的IP地址修改为所述目标客户对应的后端服务器网卡的IP地址;
所述DPVS进程通过预先配置的路由表,确定向所述目标客户对应的后端服务器网卡发送所述状态检测报文的目标DPVS进程网卡,将所述状态检测报文的源IP地址修改为所述目标DPVS进程网卡的IP地址。


6.根据权利要求4所述的方法,其特征在于,所述DPVS进程基于所述目标客户的通信配置信息,对所述状态检测报文进行SNAT和DNAT操作之前,还包括:
所述DPVS进程解析收到的所述状态检测报文,确定所述状态检测报文的源端口;
所述DPVS进程根据所述状态检测报文的源端口确定所述目标客户的通信配置信息。


7.根据权利要求4所述的方法,其特征在于,所述DPVS进程基于所述目标客户的所述通信配置信息,对所述后端服务器反馈的状态响应报文进行SNAT和DNAT操作,包括:
所述DPVS进程基于所述目标客户的通信配置信息,将所述状态响应报文的源IP地址修改为所述目标客户对应的目标DPVS进程代理网卡的IP地址,将所述状态响应报文的目的IP地址修改为所述目标客户对应的目标高可用进程网卡的IP地址。


8.根据权利要求4所述的方法,其特征在于,所述DPVS进程基于所述目标客户的所述通信配置信息,对所述后端服务器反馈的状态响应报文进行SNAT和DNAT操作之前,还包括:
所述DPVS进程解析收到的所述状态响应报文,确定所述状态响应报文的目的端口;
所述DPVS进程根据所述状态检测报文的目的端口确定所述目标客户的通信配置信息。


9.根据权利要求4所述的方法,其特征在于,所述DPVS进程向后端服务器发送所述状态检测报文之后,还包括:
所述DPVS进程在所述目标客户的通信配置信息中添加所述目标KNI网卡的ID和目标客户对应的目标DPVS进程代理网卡的ID。


10.根据权利要求9所述的方法,其特征在于,所述向所述高可用进程发送所述状态响应报文,包括:
所述DPVS进程根据所述目标客户对应的目标DPVS进程代理网卡的ID,确定所述目标客户对应的目标DPVS进程代理网卡;
根据所述目标KNI网卡的ID,确定所述DPVS进程与所述高可用进程连接的KNI通道;
所述DPVS进程通过所述目标DPV...

【专利技术属性】
技术研发人员:李竞佳曹志文范少卓
申请(专利权)人:厦门网宿有限公司
类型:发明
国别省市:福建;35

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

1