[发明专利]DPDK服务的双机热备控制方法及装置有效
申请号: | 201810900997.4 | 申请日: | 2018-08-09 |
公开(公告)号: | CN109039747B | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 余关祥;王蕾 | 申请(专利权)人: | 北京搜狐新媒体信息技术有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100190 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | dpdk 服务 双机 控制 方法 装置 | ||
本申请公开了一种DPDK服务的双机热备控制方法及装置,包括,在当前设备为主设备时,按照预设时间周期多播发送通告报文,在当前设备为备设备时,接收主设备发送的通告报文,在所述通告报文中的VIP地址与自身VIP地址相同时,备设备判断所述通告报文中的优先级是否大于自身优先级,其中所述VIP为主设备和备设备公用的IP地址,若否,所述备设备将自身角色切换为主设备角色,并执行主设备业务工作。该方法及装置从网口接收数据后直接在DPDK进程中处理,减少了内核协议栈、内核到用户态缓存、用户态接收处理的相关处理过程,不仅简化了配置路径,且能大大减小DPDK服务的故障收敛时间。
技术领域
本发明涉及双机热备技术,更具体的说,是涉及一种DPDK服务的双机热备控制方法及装置。
背景技术
双机热备特指基于高可用系统中的两台服务器的热备。在双机热备工作过程中,当处于工作状态的主设备出现故障时,另一台备用设备能够及时接管业务,保证服务的持续提供。
在DPDK双机热备的控制实现中,目前主流的一种实现是DPDK+keepalived,其中DPDK负责业务处理,keepalived负责主、备机之间角色的选举、故障检测、切换等工作。但由于keepalived是运行在linux用户控件的模块,通常报文从网卡接收到到达keepalived进程,需要依次经过网卡接收、DPDK进程处理并转发到内核、内核协议栈处理、内核到用户态队列缓存、keepalived通过socket接收,这个过程路径复杂,且会导致较长的故障收敛时间。
发明内容
有鉴于此,本发明提供了一种DPDK服务的双机热备控制方法及装置,以克服现有技术中的双机热备实现路径复杂且故障收敛时间长问题。
为实现上述目的,本发明提供如下技术方案:
一种DPDK服务的双机热备控制方法,包括:
确定当前设备为主设备或备设备;
在当前设备为主设备时,按照预设时间周期多播发送通告报文;
在当前设备为备设备时,接收主设备发送的通告报文;
在所述通告报文中的VIP地址与自身VIP地址相同时,备设备判断所述通告报文中的优先级是否大于自身优先级,其中所述VIP为主设备和备设备公用的IP地址;
若否,所述备设备将自身角色切换为主设备角色,并执行主设备业务工作。
可选的,当前设备配置有连续未收到主设备通告报文的个数,还包括:
备设备在接收到主设备发送的通告报文后,将所述连续未收到主设备通告报文的个数重置为0。
可选的,还包括:
判断所述连续未收到主设备通告报文的个数是否大于或等于预设数值;
若是,备设备将自身角色切换为主设备角色,并执行主设备业务工作。
可选的,所述判断所述连续未收到主设备通告报文的个数是否大于或等于预设数值,包括:
判断连续未收到主设备通告报文的时间是否大于或等于N个预设时间周期,所述N等于所述预设数值。
可选的,还包括:
在当前设备启动期间,若在N个预设时间周期中没有收到通告报文,则所述设备将自身角色设置为主设备角色,并执行主设备业务工作。
一种DPDK服务的双机热备控制装置,包括:
设备确定模块,用于确定当前设备为主设备或备设备;
报文发送模块,用于在当前设备为主设备时,按照预设时间周期多播发送通告报文;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京搜狐新媒体信息技术有限公司,未经北京搜狐新媒体信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810900997.4/2.html,转载请声明来源钻瓜专利网。