CN113746902B - 通信方法及装置 - Google Patents
通信方法及装置 Download PDFInfo
- Publication number
- CN113746902B CN113746902B CN202110889166.3A CN202110889166A CN113746902B CN 113746902 B CN113746902 B CN 113746902B CN 202110889166 A CN202110889166 A CN 202110889166A CN 113746902 B CN113746902 B CN 113746902B
- Authority
- CN
- China
- Prior art keywords
- codis
- agent
- agents
- backup
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种通信方法及装置,该方法包括:当第一通信连接故障时,获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;根据每个备份Codis代理的IP地址以及端口信息,分别与每个备份Codis代理建立通信连接;当与第二Codis代理成功建立第二通信连接时,停止与多个备份Codis代理中除第二Codis代理之外的其他备份Codis代理建立通信连接,并将第二Codis代理作为主代理,将第一Codis代理以及其他备份Codis代理作为备份Codis代理;通过第二Codis代理,与RMDB进行用户数据的备份与恢复。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法及装置。
背景技术
宽带远程接入服务器(英文:Broadband Remote Access Server,简称:BRAS)是城域网业务演进的产物,城域网内仅有接入设备和骨干路由器的情况下,用户终端无认证、授权管理,对网络的运营管理以及长期发展不利。当在接入设备与骨干路由器之间引入BRAS后,BRAS作为网络业务的接入网关,为用户终端提供宽带接入、认证、授权和计费、管理用户带宽、汇聚用户业务流量、终结用户PPPOE连接等,提供多种业务服务。
随着虚拟化的发展,对BRAS进行转控分离后的vBRAS逐渐成为运营商部署的主流。vBRAS系统主要包括控制面(英文:Control Plane,简称:CP)和转发面(英文:User Plane,简称:UP)两个部分。CP定位为用户控制管理部件,主要包括:用户控制管理、用户接入控制、用户认证授权计费、地址管理等功能模块;UP定位为三层网络边缘及用户策略执行部件,主要包括:流量转发、QoS、流量统计等转发面功能,以及单播路由协议、组播路由协议、MPLS(LDP/TE)等管道类控制面功能。
在转发与控制分离组网中,由于设备故障、用户潮汐时设备弹性伸缩以及设备升级等原因,需要将PPPoE和IPoE等用户终端的用户数据在vBRAS设备之间进行迁移。远程数据库(英文:Remote Database,简称:RMDB)是一种应用在转发与控制分离组网中的备份技术。其通过借助远程字典服务(英文:Remote Dictionary Server,简称:Redis)服务器实现数据的备份和恢复,可很好地解决用户数据迁移问题。
目前,通过RMDB实现用户数据迁移的过程如下:CP内开启远程数据库功能,即RMDB模块。在RMDB模块内配置一个或多个分布式应用程序协调服务(Zookeeper)的IP地址和端口信息;RMDB模块依据配置的时间顺序分别尝试与一个或多个Zookeeper建立连接,直至与某个Zookeeper成功建立连接。RMDB模块从该Zookeeper处获取可用的一个Codis代理的代理信息,该代理信息包括该Codis代理的IP地址和端口信息。RMDB模块将该Codis代理的IP地址和端口等信息发送至CP内包括的各业务模块。
各业务模块收到Codis代理的IP地址和端口等信息后,主动与该Codis代理建立连接。后续,各业务模块根据需要自行连接Codis代理,并进行用户数据的备份和恢复。
但是,在前述方案中,也出现下述缺陷:1)若各业务模块与选中的Codis代理之间的连接出现故障,则各业务模块需等待Zookeeper再次获取到可用的一个Codis代理的连接信息并返回至RMDB模块,RMDB模块再次与该Codis代理建立连接后,才可进行用户数据的备份和恢复操作。如此,导致各业务模块在连接恢复期间内无法使用RMDB。
发明内容
有鉴于此,本申请提供了一种通信方法及装置,用以解决现有各业务模块与Codis代理之间的连接恢复期内,无法使用RMDB的问题。
第一方面,本申请提供了一种通信方法,所述方法应用于CP,所述CP与第一Codis代理建立第一通信连接,所述第一Codis代理为主代理,所述方法包括:
当所述第一通信连接故障时,获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;
根据每个备份Codis代理的IP地址以及端口信息,分别与每个备份Codis代理建立通信连接;
当与第二Codis代理成功建立第二通信连接时,停止与多个备份Codis代理中除所述第二Codis代理之外的其他备份Codis代理建立通信连接,并将所述第二Codis代理作为主代理,将所述第一Codis代理以及所述其他备份Codis代理作为备份Codis代理;
通过所述第二Codis代理,与RMDB进行用户数据的备份与恢复。
第二方面,本申请提供了一种通信装置,所述装置应用于CP,所述CP与第一Codis代理建立第一通信连接,所述第一Codis代理为主代理,所述装置包括:
获取单元,用于当所述第一通信连接故障时,获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;
建立单元,用于根据每个备份Codis代理的IP地址以及端口信息,分别与每个备份Codis代理建立通信连接;
处理单元,用于当与第二Codis代理成功建立第二通信连接时,停止与多个备份Codis代理中除所述第二Codis代理之外的其他备份Codis代理建立通信连接,并将所述第二Codis代理作为主代理,将所述第一Codis代理以及所述其他备份Codis代理作为备份Codis代理;
备份恢复单元,用于通过所述第二Codis代理,与RMDB进行用户数据的备份与恢复。
第三方面,本申请提供了一种网络设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的机器可执行指令,处理器被机器可执行指令促使执行本申请第一方面所提供的方法。
因此,通过应用本申请提供的通信方法及装置,当第一通信连接故障时,CP获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;根据每个备份Codis代理的IP地址以及端口信息,CP分别与每个备份Codis代理建立通信连接;当与第二Codis代理成功建立第二通信连接时,CP停止与多个备份Codis代理中除第二Codis代理之外的其他备份Codis代理建立通信连接,并将第二Codis代理作为主代理,将第一Codis代理以及所述其他备份Codis代理作为备份Codis代理;通过第二Codis代理,CP与RMDB进行用户数据的备份与恢复。
如此,CP与本地存储的多个备用Codis代理之间建立并维护通信连接,CP不再依赖于Zookeeper,优先保证Codis代理的连接建立机制,保障了与某个Codis代理的通信连接出现故障时,利用RMDB对用户数据的备份和恢复功能持续可用。
附图说明
图1为本申请实施例提供的通信方法的流程图;
图2为本申请实施例提供的各设备相互之间通信的示意图;
图3为本申请实施例提供的通信装置结构图;
图4为本申请实施例提供的网络设备硬件结构体。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的通信方法进行详细地说明。参见图1,图1为本申请实施例提供的通信方法的流程图。该方法应用于CP,本申请实施例提供的通信方法可包括如下所示步骤。
步骤110、当所述第一通信连接故障时,获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息。
具体地,如图2所示,图2为本申请实施例提供的各设备相互之间通信的示意图。
CP内开启远程数据库功能,即RMDB模块。在RMDB模块内配置一个或多个Zookeeper的IP地址和端口信息。例如,在RMDB模块内配置Zookeeper1的IP地址和端口信息、Zookeeper2的IP地址和端口信息以及Zookeeper3的IP地址和端口信息。
同时,还在RMDB模块内配置第一数量个(例如,三个)Codis代理的代理信息,代理信息包括Codis代理的IP地址以及端口信息。如表1所示。
表1Codis代理信息
Codis代理 | IP地址 | 端口信息 |
Codis代理1 | 1.1.1.1 | 1-1-1 |
Codis代理2 | 2.2.2.2 | 2-2-2 |
Codis代理3 | 3.3.3.3 | 3-3-3 |
RMDB模块依据配置的时间顺序分别尝试与三个Zookeeper建立连接,直至与某个Zookeeper成功建立连接。在本申请实施例中,CP与Zookeeper1成功建立连接。
Codis集群管理界面(Codis-fe)向Codis管理工具(Codis-dashboard)下发Codis代理部署,也即是,在当前网络内部署几个Codis代理。Codis管理工具在当前网络内部署Codis代理,并向每个Codis代理下发配置。在本申请实施例中,部署三个Codis代理。比如,Codis代理1、Codis代理2以及Codis代理3。
可以理解的是,Zookeeper1获取并存储当前网络内部署的每个Codis代理的代理信息,代理信息包括Codis代理的IP地址以及端口信息。Zookeeper1获取代理信息的过程为现有技术,再次不再复述。例如,通过向Zookeeper下发配置指令,使其将代理信息配置在本地。
RMDB模块与Zookeeper1建立连接后,Zookeeper1生成第一通知消息,该第一通知消息包括第二数量个(例如,三个)Codis代理的代理信息。第一通知消息包括Codis代理1、Codis代理2以及Codis代理3的代理信息。
Zookeeper1向RMDB模块发送第一通知消息。
RMDB模块接收到第一通知消息后,从中获取Codis代理1、Codis代理2以及Codis代理3的代理信息。RMDB模块将获取的多个Codis代理的代理信息与本地配置的多个Codis代理的代理信息进行比较,获取第三数量个(例如,三个)交集Codis代理。
在本申请实施例中,交集Codis代理为Codis代理1、Codis代理2以及Codis代理3。
RMDB模块根据本地配置的优选策略,从Codis代理1、Codis代理2以及Codis代理3中,选择一个Codis代理作为主代理,除主代理之外的剩余Codis代理作为备份Codis代理。RMDB模块将根据每个Codis代理的代理信息按角色存储至本地。
其中,优选策略可具体为利用IP地址的大小,选择主代理。例如,三个Codis代理中IP地址最大的Codis代理作为主代理,剩余Codis代理作为备份Codis代理。在本申请实施例中,RMDB模块选择Codis代理1作为主代理,Codis代理2、Codis代理3作为备份Codis代理。
RMDB模块与Codis代理1建立第一通信连接。通过所述第一Codis代理,与所述RMDB进行用户数据的备份与恢复。同时,RMDB模块还将Codis代理1的代理信息传输至CP内包括的业务模块。各业务模块接收到Codis代理1的代理信息后,主动与Codis代理1建立连接。后续,各业务模块根据需要自行连接Codis代理1,与RMDB进行用户数据的备份和恢复。
当第一通信连接故障时,RMDB模块获取本地存储的多个备份Codis代理的代理信息。也即是,RMDB模块获取Codis代理2以及Codis代理3的代理信息。
步骤120、根据每个备份Codis代理的IP地址以及端口信息,分别与每个备份Codis代理建立通信连接。
具体地,根据步骤110的描述,RMDB模块获取到多个备份Codis代理的代理信息后,根据每个备份Codis代理的代理信息,分别与每个备份Codis代理建立通信连接。也即是,根据Codis代理2以及Codis代理3的代理信息,RMDB模块分别与Codis代理2以及Codis代理3建立通信连接。
步骤130、当与第二Codis代理成功建立第二通信连接时,停止与多个备份Codis代理中除所述第二Codis代理之外的其他备份Codis代理建立通信连接,并将所述第二Codis代理作为主代理,将所述第一Codis代理以及所述其他备份Codis代理作为备份Codis代理。
具体地,根据步骤120的描述,RMDB在与Codis代理2以及Codis代理3建立通信连接的过程中,当与Codis代理2成功建立第二通信连接时,RMDB模块停止与Codis代理3建立通信连接。
此时,RMDB模块将Codis代理2作为主代理,将Codis代理1以及Codis代理3作为备份Codis代理。
步骤140、通过所述第二Codis代理,与RMDB进行用户数据的备份与恢复。
具体地,根据步骤130的描述,RMDB选择Codis代理2作为主代理后,通过Codis代理2,与RMDB进行用户数据的备份与恢复。
因此,通过应用本申请提供的通信方法,当第一通信连接故障时,CP获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;根据每个备份Codis代理的IP地址以及端口信息,CP分别与每个备份Codis代理建立通信连接;当与第二Codis代理成功建立第二通信连接时,CP停止与多个备份Codis代理中除第二Codis代理之外的其他备份Codis代理建立通信连接,并将第二Codis代理作为主代理,将第一Codis代理以及所述其他备份Codis代理作为备份Codis代理;通过第二Codis代理,CP与RMDB进行用户数据的备份与恢复。
如此,CP与本地存储的多个备用Codis代理之间建立并维护通信连接,CP不再依赖于Zookeeper,优先保证Codis代理的连接建立机制,保障了与某个Codis代理的通信连接出现故障时,利用RMDB对用户数据的备份和恢复功能持续可用。
可选地,在本申请实施例中,还包括CP向连接的Zookeeper发送通知消息,以及接收连接的Zookeeper发送的通知消息的过程。
具体地,RMDB模块更换主代理后,生成第二通知消息。RMDB模块向接入的Zookeeper1发送第二通知消息,以使得Zookeeper1接收到第二通知消息后,确定RMDB模块所在的CP已更换主代理。
可以理解的是,第二通知消息还包括更换前主代理的代理信息以及更换后主代理的代理信息,Zookeeper1从第二通知消息中获取更换前主代理的代理信息以及更换后主代理的代理信息。Zookeeper1在本地进行Codis代理的遍历,判断当前是否存在Codis代理故障。
在一种可能的实现方式中,若Zookeeper1确定当前Codis代理1故障,且Codis代理1为该RMDB模块所在CP更换前的主代理,则Zookeeper1生成第三通知消息,第三通知消息包括第四数量个Codis代理的代理信息,第四数量个Codis代理的代理信息中不包括第一Codis代理的代理信息。
也即是,在本申请实施例中,第三通知消息包括Codis代理2、Codis代理3的代理信息,不包括Codis代理1的代理信息。
Zookeeper1向RMDB模块发送第三通知消息。
RMDB模块接收到第三通知消息后,从第三通知消息中获取Codis代理2、Codis代理3的代理信息。根据本地配置的Codis代理的代理信息以及第三通知消息包括的Codis代理的代理信息,确定第五数量个交集Codis代理,即Codis代理3为交集Codis代理。
RMDB模块将第五数量个Codis代理的代理信息指示的Codis代理3作为备份Codis代理。
在另一种可能的实现方式中,若Zookeeper1确定当前Codis代理1未故障,且Codis代理1为该RMDB模块所在CP更换前的主代理,则Zookeeper1生成第四通知消息,第四通知消息包括第二数量个Codis代理的代理信息。
也即是,在本申请实施例中,第四通知消息包括Codis代理1、Codis代理2、Codis代理3的代理信息。
Zookeeper1向RMDB模块发送第四通知消息。
RMDB模块接收到第四通知消息后,从第四通知消息中获取Codis代理1、Codis代理2、Codis代理3的代理信息。
可以理解的是,通过第四通知消息,RMDB模块可确定在Zookeeper1处,Codis代理1未故障。此时,Codis代理2仍为主代理,RMDB模块可周期性发起与Codis代理1建立第一通信连接,并将Codis代理1作为备份Codis代理,而在先已作为备份Codis代理的Codis代理3仍作为备份Codis代理。
若RMDB模块与Codis代理1再次成功建立第一通信连接,RMDB模块可再次将Codis代理1升级为主代理,将Codis代理2降级为备份Codis代理。
可选地,在本申请实施例中,还包括CP连接的Zookeeper确定第一Codis代理故障恢复后发送通知消息的过程。
具体地,Zookeeper1周期性探测本地配置的Codis代理的状态。若Zookeeper1确定当前Codis代理1的状态已从故障状态恢复为正常状态,则Zookeeper1生成第五通知消息,第五通知消息包括第二数量个Codis代理的代理信息。
也即是,在本申请实施例中,第五通知消息包括Codis代理1、Codis代理2、Codis代理3的代理信息。
Zookeeper1向RMDB模块发送第五通知消息。
RMDB模块接收到第五通知消息后,从第五通知消息中获取Codis代理1、Codis代理2、Codis代理3的代理信息。
可以理解的是,通过第五通知消息,RMDB模块可确定在Zookeeper1处,Codis代理1已从故障状态恢复为正常状态。此时,Codis代理2仍为主代理,RMDB模块将Codis代理1作为备份Codis代理,而在先已作为备份Codis代理的Codis代理3仍作为备份Codis代理。
基于同一发明构思,本申请实施例还提供了与通信方法对应的通信装置。参见图3,图3为本申请实施例提供的通信装置结构图。所述装置应用于CP,所述CP与第一Codis代理建立第一通信连接,所述第一Codis代理为主代理,所述装置包括:
获取单元310,用于当所述第一通信连接故障时,获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;
建立单元320,用于根据每个备份Codis代理的IP地址以及端口信息,分别与每个备份Codis代理建立通信连接;
处理单元330,用于当与第二Codis代理成功建立第二通信连接时,停止与多个备份Codis代理中除所述第二Codis代理之外的其他备份Codis代理建立通信连接,并将所述第二Codis代理作为主代理,将所述第一Codis代理以及所述其他备份Codis代理作为备份Codis代理;
备份恢复单元340,用于通过所述第二Codis代理,与RMDB进行用户数据的备份与恢复。
可选地,所述获取单元310还用于,获取本地配置的第一数量个Codis代理的代理信息;
所述装置还包括:
接收单元(图中未示出),用于接收Zookeeper发送的第一通知消息,所述第一通知消息包括第二数量个Codis代理的代理信息;
确定单元(图中未示出),用于根据所述第一数量个Codis代理的代理信息以及第二数量个Codis代理的代理信息,确定第三数量个交集Codis代理;
所述处理单元330还用于,从所述第三数量个交集Codis代理中,将所述第一Codis代理作为主代理,将除所述第一Codis代理之外的剩余Codis代理作为备份Codis代理;
所述建立单元320还用于,与所述第一Codis代理建立所述第一通信连接;
所述备份恢复单元340还用于,通过所述第一Codis代理,与所述RMDB进行用户数据的备份与恢复。
可选地,所述装置还包括:
发送单元(图中未示出),用于向所述Zookeeper发送第二通知消息,所述第二通知消息用于使所述Zookeeper确定所述CP更换主代理;
所述确定单元(图中未示出)还用于,当接收到所述Zookeeper发送的第三通知消息且所述第三通知消息包括第四数量个Codis代理的代理信息时,根据所述第一数量个Codis代理的代理信息以及第四数量个Codis代理的代理信息,确定第五数量个交集Codis代理;
所述处理单元330还用于,将所述第五数量个Codis代理的代理信息指示的Codis代理作为备份Codis代理;
其中,所述第三通知消息为所述Zookeeper根据所述第二通知消息确定所述第一Codis代理故障后发送,所述第四数量个Codis代理的代理信息中不包括所述第一Codis代理的代理信息。
可选地,所述建立单元320还用于,当接收到所述Zookeeper发送的第四通知消息且所述第四通知消息包括所述第二数量个Codis代理的代理信息时,从所述第二数量个Codis代理的代理信息指示的Codis代理中,周期性发起与所述第一Codis代理建立所述第一通信连接;
所述处理单元330还用于,将所述第一Codis代理作为备份Codis代理;
其中,所述第四通知消息为所述Zookeeper根据所述第二通知消息确定所述第一Codis代理未故障后发送。
可选地,所述接收单元(图中未示出)还用于,接收所述Zookeeper发送的第五通知消息,所述第五通知消息包括所述第二数量个Codis代理的代理信息;
所述处理单元330还用于,从所述第二数量个Codis代理的代理信息指示的Codis代理中,将所述第一Codis代理作为备份Codis代理;
其中,所述第五通知消息为所述Zookeeper确定所述第一Codis代理故障恢复后发送。
因此,通过应用本申请提供的通信装置,当第一通信连接故障时,CP获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;根据每个备份Codis代理的IP地址以及端口信息,CP分别与每个备份Codis代理建立通信连接;当与第二Codis代理成功建立第二通信连接时,CP停止与多个备份Codis代理中除第二Codis代理之外的其他备份Codis代理建立通信连接,并将第二Codis代理作为主代理,将第一Codis代理以及所述其他备份Codis代理作为备份Codis代理;通过第二Codis代理,CP与RMDB进行用户数据的备份与恢复。
如此,CP与本地存储的多个备用Codis代理之间建立并维护通信连接,CP不再依赖于Zookeeper,优先保证Codis代理的连接建立机制,保障了与某个Codis代理的通信连接出现故障时,利用RMDB对用户数据的备份和恢复功能持续可用。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图4所示,包括处理器410、收发器420和机器可读存储介质430,机器可读存储介质430存储有能够被处理器410执行的机器可执行指令,处理器410被机器可执行指令促使执行本申请实施例所提供的通信方法。前述图3所示的通信装置,可采用如图4所示的网络设备硬件结构实现。
上述计算机可读存储介质430可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质430还可以是至少一个位于远离前述处理器410的存储装置。
上述处理器410可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器410通过读取机器可读存储介质430中存储的机器可执行指令,被机器可执行指令促使能够实现处理器410自身以及调用收发器420执行前述本申请实施例描述的通信方法。
另外,本申请实施例提供了一种机器可读存储介质430,机器可读存储介质430存储有机器可执行指令,在被处理器410调用和执行时,机器可执行指令促使处理器410自身以及调用收发器420执行前述本申请实施例描述的通信方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于通信装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种通信方法,其特征在于,所述方法应用于CP,所述CP与第一Codis代理建立第一通信连接,所述第一Codis代理为主代理,所述方法包括:
当所述第一通信连接故障时,获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;
根据每个备份Codis代理的IP地址以及端口信息,分别与每个备份Codis代理建立通信连接;
当与第二Codis代理成功建立第二通信连接时,停止与多个备份Codis代理中除所述第二Codis代理之外的其他备份Codis代理建立通信连接,并将所述第二Codis代理作为主代理,将所述第一Codis代理以及所述其他备份Codis代理作为备份Codis代理;
通过所述第二Codis代理,与RMDB进行用户数据的备份与恢复;
所述当所述第一通信连接故障时,获取本地存储的多个备份Codis代理信息之前,所述方法还包括:
获取本地配置的第一数量个Codis代理的代理信息;
接收Zookeeper发送的第一通知消息,所述第一通知消息包括第二数量个Codis代理的代理信息;
根据所述第一数量个Codis代理的代理信息以及第二数量个Codis代理的代理信息,确定第三数量个交集Codis代理;
从所述第三数量个交集Codis代理中,将所述第一Codis代理作为主代理,将除所述第一Codis代理之外的剩余Codis代理作为备份Codis代理;
与所述第一Codis代理建立所述第一通信连接;
通过所述第一Codis代理,与所述RMDB进行用户数据的备份与恢复。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述Zookeeper发送第二通知消息,所述第二通知消息用于使所述Zookeeper确定所述CP更换主代理;
当接收到所述Zookeeper发送的第三通知消息且所述第三通知消息包括第四数量个Codis代理的代理信息时,根据所述第一数量个Codis代理的代理信息以及第四数量个Codis代理的代理信息,确定第五数量个交集Codis代理;
将所述第五数量个Codis代理的代理信息指示的Codis代理作为备份Codis代理;
其中,所述第三通知消息为所述Zookeeper根据所述第二通知消息确定所述第一Codis代理故障后发送,所述第四数量个Codis代理的代理信息中不包括所述第一Codis代理的代理信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当接收到所述Zookeeper发送的第四通知消息且所述第四通知消息包括所述第二数量个Codis代理的代理信息时,从所述第二数量个Codis代理的代理信息指示的Codis代理中,周期性发起与所述第一Codis代理建立所述第一通信连接;
将所述第一Codis代理作为备份Codis代理;
其中,所述第四通知消息为所述Zookeeper根据所述第二通知消息确定所述第一Codis代理未故障后发送。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收所述Zookeeper发送的第五通知消息,所述第五通知消息包括所述第二数量个Codis代理的代理信息;
从所述第二数量个Codis代理的代理信息指示的Codis代理中,将所述第一Codis代理作为备份Codis代理;
其中,所述第五通知消息为所述Zookeeper确定所述第一Codis代理故障恢复后发送。
5.一种通信装置,其特征在于,所述装置应用于CP,所述CP与第一Codis代理建立第一通信连接,所述第一Codis代理为主代理,所述装置包括:
获取单元,用于当所述第一通信连接故障时,获取本地存储的多个备份Codis代理的代理信息,每个代理信息包括Codis代理的IP地址以及端口信息;
建立单元,用于根据每个备份Codis代理的IP地址以及端口信息,分别与每个备份Codis代理建立通信连接;
处理单元,用于当与第二Codis代理成功建立第二通信连接时,停止与多个备份Codis代理中除所述第二Codis代理之外的其他备份Codis代理建立通信连接,并将所述第二Codis代理作为主代理,将所述第一Codis代理以及所述其他备份Codis代理作为备份Codis代理;
备份恢复单元,用于通过所述第二Codis代理,与RMDB进行用户数据的备份与恢复;
所述获取单元还用于,获取本地配置的第一数量个Codis代理的代理信息;
所述装置还包括:
接收单元,用于接收Zookeeper发送的第一通知消息,所述第一通知消息包括第二数量个Codis代理的代理信息;
确定单元,用于根据所述第一数量个Codis代理的代理信息以及第二数量个Codis代理的代理信息,确定第三数量个交集Codis代理;
所述处理单元还用于,从所述第三数量个交集Codis代理中,将所述第一Codis代理作为主代理,将除所述第一Codis代理之外的剩余Codis代理作为备份Codis代理;
所述建立单元还用于,与所述第一Codis代理建立所述第一通信连接;
所述备份恢复单元还用于,通过所述第一Codis代理,与所述RMDB进行用户数据的备份与恢复。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
发送单元,用于向所述Zookeeper发送第二通知消息,所述第二通知消息用于使所述Zookeeper确定所述CP更换主代理;
所述确定单元还用于,当接收到所述Zookeeper发送的第三通知消息且所述第三通知消息包括第四数量个Codis代理的代理信息时,根据所述第一数量个Codis代理的代理信息以及第四数量个Codis代理的代理信息,确定第五数量个交集Codis代理;
所述处理单元还用于,将所述第五数量个Codis代理的代理信息指示的Codis代理作为备份Codis代理;
其中,所述第三通知消息为所述Zookeeper根据所述第二通知消息确定所述第一Codis代理故障后发送,所述第四数量个Codis代理的代理信息中不包括所述第一Codis代理的代理信息。
7.根据权利要求6所述的装置,其特征在于,所述建立单元还用于,当接收到所述Zookeeper发送的第四通知消息且所述第四通知消息包括所述第二数量个Codis代理的代理信息时,从所述第二数量个Codis代理的代理信息指示的Codis代理中,周期性发起与所述第一Codis代理建立所述第一通信连接;
所述处理单元还用于,将所述第一Codis代理作为备份Codis代理;
其中,所述第四通知消息为所述Zookeeper根据所述第二通知消息确定所述第一Codis代理未故障后发送。
8.根据权利要求6所述的装置,其特征在于,所述接收单元还用于,接收所述Zookeeper发送的第五通知消息,所述第五通知消息包括所述第二数量个Codis代理的代理信息;
所述处理单元还用于,从所述第二数量个Codis代理的代理信息指示的Codis代理中,将所述第一Codis代理作为备份Codis代理;
其中,所述第五通知消息为所述Zookeeper确定所述第一Codis代理故障恢复后发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110889166.3A CN113746902B (zh) | 2021-08-04 | 2021-08-04 | 通信方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110889166.3A CN113746902B (zh) | 2021-08-04 | 2021-08-04 | 通信方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113746902A CN113746902A (zh) | 2021-12-03 |
CN113746902B true CN113746902B (zh) | 2023-06-16 |
Family
ID=78730047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110889166.3A Active CN113746902B (zh) | 2021-08-04 | 2021-08-04 | 通信方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113746902B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108075987A (zh) * | 2016-11-17 | 2018-05-25 | 华为技术有限公司 | 一种多路径数据传输方法及设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004173136A (ja) * | 2002-11-22 | 2004-06-17 | Fujitsu Ltd | ネットワーク管理装置 |
WO2009089786A1 (fr) * | 2008-01-07 | 2009-07-23 | Huawei Technologies Co., Ltd. | Système de réseau sans fil et procédé de communication correspondant |
WO2012071695A1 (zh) * | 2010-11-29 | 2012-06-07 | 华为技术有限公司 | 节点故障处理方法、系统及相关设备 |
US9128902B2 (en) * | 2013-04-25 | 2015-09-08 | Netapp, Inc. | Systems and methods for managing disaster recovery in a storage system |
US11283672B2 (en) * | 2018-05-25 | 2022-03-22 | Juniper Networks, Inc. | Forwarding detection of an aggregated interface |
CN109446178A (zh) * | 2018-11-13 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种Hadoop对象存储高可用方法、系统、装置及可读存储介质 |
-
2021
- 2021-08-04 CN CN202110889166.3A patent/CN113746902B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108075987A (zh) * | 2016-11-17 | 2018-05-25 | 华为技术有限公司 | 一种多路径数据传输方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113746902A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11799793B2 (en) | Adaptive private network with dynamic conduit process | |
US10623251B2 (en) | Private network driven hosted network device management | |
CN110535676B (zh) | Smf动态容灾的实现方法、装置、设备及存储介质 | |
CN111447101B (zh) | 链路检测方法、装置、计算机设备及存储介质 | |
US20050204214A1 (en) | Distributed montoring in a telecommunications system | |
CN106657259B (zh) | 一种用于服务器集群的路由服务器及路由服务方法 | |
CN111327650A (zh) | 数据传输方法、装置、设备及存储介质 | |
WO2018103665A1 (zh) | 基于l2tp的设备管理方法、设备及系统 | |
EP3132567A1 (en) | Event processing in a network management system | |
CN102055605B (zh) | 一种应用于aaa服务器的容灾系统及方法 | |
CN103188153B (zh) | 一种广播网链路上bfd报文发送方法和设备 | |
CN109412980B (zh) | 一种bras备份方法及装置 | |
CN113037599A (zh) | 一种报文处理的方法、设备及存储介质 | |
CN113746902B (zh) | 通信方法及装置 | |
CN109150711B (zh) | 点到多点二层组播业务的保护倒换方法、装置及存储介质 | |
CN104272789A (zh) | 移动通信系统、呼叫处理节点以及通信控制方法 | |
CN114095342B (zh) | 备份的实现方法及装置 | |
CN115801642B (zh) | 基于状态控制的rdma通讯管理模块、方法、设备及介质 | |
CN113821334A (zh) | 一种配置边缘侧设备的方法、装置及系统 | |
WO2016065925A1 (zh) | 控制器替换方法及装置 | |
CN113794641B (zh) | 报文处理方法及装置 | |
CN106559234B (zh) | 控制消息发送方法及装置 | |
WO2022042393A1 (zh) | 一种配置错误信息传输方法及设备 | |
US7894459B2 (en) | Determining availability of a network service | |
CN113805788B (zh) | 一种分布式存储系统及其异常处理方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |