CN114090342A - 存储容灾的链路管理方法及消息执行节点、存储控制集群 - Google Patents
存储容灾的链路管理方法及消息执行节点、存储控制集群 Download PDFInfo
- Publication number
- CN114090342A CN114090342A CN202111444482.6A CN202111444482A CN114090342A CN 114090342 A CN114090342 A CN 114090342A CN 202111444482 A CN202111444482 A CN 202111444482A CN 114090342 A CN114090342 A CN 114090342A
- Authority
- CN
- China
- Prior art keywords
- link
- remote
- address pool
- message
- execution node
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种存储容灾的链路管理方法及消息执行节点、存储控制集群,其中,所述方法包括:接收链路客户端发来的容灾业务消息,所述容灾业务消息中包括远端通信设备的设备标识;从存储控制集群下发的链路视图表中获取与所述设备标识相匹配的远端地址池链路表,并在所述远端地址池链路表中查询可用的复制链路;将所述容灾业务消息通过所述复制链路发送至所述远端通信设备下的远端消息执行节点中,以使得所述远端消息执行节点将所述容灾业务消息转发至远端目标业务节点中进行处理。本发明提供的技术方案,能够提高数据容灾备份的稳定性。
Description
技术领域
本发明涉及互联网技术领域,具体涉及一种存储容灾的链路管理方法及消息执行节点、存储控制集群。
背景技术
在分布式存储***中,集群之间往往需要通过复制链路进行数据容灾备份的消息传输。为了满足链路冗余的要求,集群之间的复制链路往往需要由多个存储节点共同承载,每个存储节点可以独立管理自身的复制链路。
目前,如果某个存储节点自身的复制链路出现了故障,该存储节点的业务就会直接中断,这无疑会影响数据容灾备份的稳定性。
发明内容
有鉴于此,本发明实施方式提供了一种存储容灾的链路管理方法及消息执行节点、存储控制集群,能够提高数据容灾备份的稳定性。
本发明一方面提供了一种存储容灾的链路管理方法,所述方法应用于消息执行节点中,所述消息执行节点由存储控制集群添加至本端通信设备对应的本端地址池中;所述方法包括:接收链路客户端发来的容灾业务消息,所述容灾业务消息中包括远端通信设备的设备标识;从所述存储控制集群下发的链路视图表中获取与所述设备标识相匹配的远端地址池链路表,并在所述远端地址池链路表中查询可用的复制链路;将所述容灾业务消息通过所述复制链路发送至所述远端通信设备下的远端消息执行节点中,以使得所述远端消息执行节点将所述容灾业务消息转发至远端目标业务节点中进行处理。
在一个实施方式中,在接收链路客户端发来的容灾业务消息之前,所述方法还包括:接收所述存储控制集群下发的链路视图表,并从所述链路视图表中识别远端通信设备的远端地址池;若与所述远端地址池下的目标消息执行节点未建立复制链路,获取所述目标消息执行节点的IP地址和端口信息,并基于所述IP地址和端口信息,与所述目标消息执行节点建立复制链路。
在一个实施方式中,在与所述目标消息执行节点建立复制链路之后,所述方法还包括:通过建立的所述复制链路按照指定时间周期向所述目标消息执行节点发送心跳数据包,并接收所述目标消息执行节点针对各个心跳数据包反馈的确认信息;识别最新接收到的确认信息与当前时刻的时间差,若所述时间差大于或者等于指定时长阈值,将所述复制链路的链路状态设置为故障状态;若所述时间差小于所述指定时长阈值,将所述复制链路的链路状态设置为在线状态;将所述复制链路的链路状态上报至所述存储控制集群处,以使得所述存储控制集群基于接收到的各条复制链路的链路状态,设置所述远端通信设备的设备状态。
在一个实施方式中,在所述远端地址池链路表中查询可用的复制链路包括:获取所述消息执行节点自身的IP地址,并计算所述IP地址的散列值;基于所述散列值在所述远端地址池链路表中查询相匹配的远端消息执行节点,并从相匹配的远端消息执行节点开始,查询可用的复制链路。
在一个实施方式中,所述方法还包括:若无法查询到可用的复制链路,从所述相匹配的远端消息执行节点开始,尝试建立复制链路,并将建立的首个复制链路作为可用的复制链路。
在一个实施方式中,在所述远端地址池链路表中查询可用的复制链路时,所述方法还包括:若所述消息执行节点与远端通信设备之间不存在可用的复制链路,从所述存储控制集群下发的链路视图表中查询同一地址池下与所述远端通信设备具备可用的复制链路的其它消息执行节点;将所述容灾业务消息转发至所述其它消息执行节点,以通过所述其它消息执行节点将所述容灾业务消息通过可用的复制链路发送至所述远端通信设备下的远端消息执行节点中。
本发明另一方面还提供了一种消息执行节点,所述消息执行节点由存储控制集群添加至本端通信设备对应的本端地址池中;所述消息执行节点包括:消息接收单元,用于接收链路客户端发来的容灾业务消息,所述容灾业务消息中包括远端通信设备的设备标识;链路查询单元,用于从所述存储控制集群下发的链路视图表中获取与所述设备标识相匹配的远端地址池链路表,并在所述远端地址池链路表中查询可用的复制链路;消息发送单元,用于将所述容灾业务消息通过所述复制链路发送至所述远端通信设备下的远端消息执行节点中,以使得所述远端消息执行节点将所述容灾业务消息转发至远端目标业务节点中进行处理。
本发明另一方面还提供了一种存储容灾的链路管理方法,所述方法应用于存储控制集群中,所述方法包括:接收地址池创建请求,响应于所述地址池创建请求,在本地创建本端地址池,并将一个或者多个消息执行节点加入所述本端地址池中;接收通信设备创建请求,并按照所述通信设备创建请求中限定的本端地址池标识和远端地址池标识,在本端地址池和远端地址池上分别创建本端通信设备和远端通信设备;基于创建的所述本端通信设备和所述远端通信设备,生成链路视图表,并将所述链路视图表下发至所述本端通信设备下的各个消息执行节点处,以使得所述消息执行节点基于所述链路视图表进行容灾业务消息的处理。
在一个实施方式中,所述地址池创建请求中包括指定的复制网段;在本地创建本端地址池包括:在本地创建具备所述复制网段的本端地址池,并为创建的所述本端地址池分配全局唯一的本端地址池标识。
在一个实施方式中,所述通信设备创建请求中还包括初始的本端地址和初始的远端地址;在本端地址池和远端地址池上分别创建本端通信设备和远端通信设备包括:在所述初始的本端地址和所述初始的远端地址之间建立临时通信链路,并通过所述临时通信链路互相传输协商消息,以基于传输的所述协商消息分别创建本端通信设备和远端通信设备。
本发明另一方面还提供了一种存储控制集群,所述存储控制集群包括:地址池创建单元,用于接收地址池创建请求,响应于所述地址池创建请求,在本地创建本端地址池,并将一个或者多个消息执行节点加入所述本端地址池中;通信设备创建单元,用于接收通信设备创建请求,并按照所述通信设备创建请求中限定的本端地址池标识和远端地址池标识,在本端地址池和远端地址池上分别创建本端通信设备和远端通信设备;链路视图表下发单元,用于基于创建的所述本端通信设备和所述远端通信设备,生成链路视图表,并将所述链路视图表下发至所述本端通信设备下的各个消息执行节点处,以使得所述消息执行节点基于所述链路视图表进行容灾业务消息的处理。
本申请提供的技术方案,存储控制集群可以完成本端通信设备和远端通信设备的创建过程。对于本端通信设备和远端通信设备而言,都可以与各自的地址池相对应。在地址池中,可以由存储控制集群加入一个或者多个消息执行节点。这样,本端通信设备和远端通信设备在进行数据容灾备份时,逻辑上可以表现为两端地址池之间的各条复制链路之间的消息传输过程。
在两端建立了通信设备之后,存储控制集群可以生成链路视图表,该链路视图表可以用于对两端的通信设备以及复制链路、地址池、消息执行节点进行全局管理。存储控制集群将该链路视图表下发至地址池中的消息执行节点后,若某个消息执行节点接收到链路客户端发来的容灾业务消息,就可以查询该链路视图表,从而获知到当前用于传输该容灾业务消息的复制链路。就算其中某一条复制链路发生故障,消息执行节点依然可以选择出其它可用的复制链路,并通过选择的复制链路将容灾业务消息发送至远端通信设备下的某个远端消息执行节点。这样,远端消息执行节点可以将容灾业务消息转发至远端目标业务节点中进行处理,从而完成了一次数据容灾备份的过程。
可见,本申请提供的技术方案,就算某一条复制链路出现故障,也并不影响容灾业务消息的处理,进而提高了数据容灾备份的稳定性。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明一个实施方式中数据容灾***的结构示意图;
图2示出了本发明一个实施方式中存储容灾的链路管理方法的步骤示意图;
图3示出了本发明一个实施方式中存储容灾的链路管理示意图;
图4示出了本发明一个实施方式中消息执行节点的功能模块示意图;
图5示出了本发明一个实施方式中存储控制集群的功能模块示意图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
本申请提供的存储容灾的链路管理方法,可以应用于图1所示的***架构中。在图1中,可以包括本端的ceph存储装置和远端的ceph存储装置。在本端的ceph存储装置中,可以包括链路客户端、本端通信设备以及存储控制集群。在远端的ceph存储装置中,可以包括远端目标业务节点、远端通信设备以及存储控制集群。
其中,本端通信设备与远端通信设备都可以部署在各自的地址池上,并且本端通信设备与远端通信设备下都可以具备一个或者多个消息执行节点,本端通信设备与远端通信设备之间可以通过消息执行节点之间的复制链路进行容灾业务消息的传输。
存储控制集群可以记录全局的链路视图表,在该链路视图表中可以包含地址池的信息、消息执行节点的信息以及本端通信设备和远端通信设备的设备信息等。通过将链路视图表下发至消息执行节点,可以使得消息执行节点按照链路视图表的信息进行容灾业务消息的处理。
链路客户端可以接收数据容灾业务发来的容灾业务消息,并将该容灾业务消息转发至本端通信设备处。远端目标业务节点则可以从远端通信设备处获取到传输的容灾业务消息,并对容灾业务消息进行处理。
请参阅图2,本申请一个实施方式提供一种由上述的存储控制集群执行的存储容灾的链路管理方法,该方法可以包括以下多个步骤。
S11:接收地址池创建请求,响应于所述地址池创建请求,在本地创建本端地址池,并将一个或者多个消息执行节点加入所述本端地址池中。
在本实施方式中,存储控制集群可以接收到用户发来的地址池创建请求。在该地址池创建请求中,可以包括指定的复制网段以及地址池的监听端口。其中,复制网段可以是一个IP地址段,存储控制集群通过解析地址池创建请求,可以在本端的ceph存储装置中创建出具备该复制网段的本段地址池。为了对地址池进行管理,本端地址池在创建之后,存储控制集群可以为本端地址池分配全局唯一的本端地址池标识。
在创建了本端地址池后,存储控制集群还可以将一个或者多个消息执行节点加入本端地址池。消息执行节点的数量可以按照实际需求灵活调整,每个消息执行节点可以占用本端地址池中的一个IP地址。
需要说明的是,本申请的技术方案是从本端的ceph存储装置的角度来阐述的,但实际上,远端的ceph存储装置也可以按照相同的方式,由远端的ceph存储装置中的存储控制集群来创建远端地址池以及为远端地址池中添加远端的消息执行节点,这里就不再赘述。
S13:接收通信设备创建请求,并按照所述通信设备创建请求中限定的本端地址池标识和远端地址池标识,在本端地址池和远端地址池上分别创建本端通信设备和远端通信设备。
在本实施方式中,在创建了本端地址池,并向本端地址池中添加了消息执行节点后,存储控制集群可以响应于用户发来的通信设备创建请求,创建本端通信设备和远端通信设备。
在实际应用中,通信设备创建请求中可以携带本端地址池标识和远端地址池标识,以表明需要在对应的这两个地址池上分别创建通信设备。此外,通信设备创建请求中还可以指定初始的本端地址和初始的远端地址,其中,初始的本端地址对应于本端地址池的一个IP地址,初始的远端地址对应于远端地址池的一个IP地址。
为了分别在本端地址池和远端地址池上建立通信设备,可以在上述的初始的本端地址和初始的远端地址之间建立临时通信链路,并通过该临时通信链路互相传输协商消息,以基于传输的所述协商消息分别创建本端通信设备和远端通信设备。其中,该协商消息可以用于限定本端通信设备和远端通信设备之间的数据传输格式、数据传输流程等信息。这样,通过临时通信链路创建了本端通信设备和远端通信设备后,就可以将临时通信链路关闭。
需要说明的是,在上述配置过程中,一个消息执行节点可以被加入到本端的多个地址池中,并且上述的本端通信设备和远端通信设备通常只用于两个集群之间的数据容灾备份。在实际应用中,一个集群可以创建多个地址池,从而可以创建多个本端通信设备或者远端通信设备。
S15:基于创建的所述本端通信设备和所述远端通信设备,生成链路视图表,并将所述链路视图表下发至所述本端通信设备下的各个消息执行节点处,以使得所述消息执行节点基于所述链路视图表进行ceph存储容灾的链路管理。
在本实施方式中,存储控制集群可以通过链路视图表(linkMap)来记录全局的链路视图。具体地,在该链路视图表中,可以包含以下内容:
1.地址池列表信息
包括各个地址池标识、地址池对应的复制网段、地址池中消息执行节点的监听端口。
2.消息执行节点列表信息
包括消息执行节点所属的地址池标识、消息执行节点的复制IP地址、远端地址池中的各个复制IP地址、本端地址池中各消息执行节点到远端地址池的远端消息执行节点的节点链路状态。
3.通信设备列表信息
包括本端或者远端通信设备的设备标识、本端或者远端的地址池标识、本端或者远端通信设备的设备状态。
当然,随着应用场景的不同,链路视图表中还可以包括更多或者更少的信息,只要链路视图表能够表征当前各个集群之间的链路信息即可。
存储控制集群可以实时收集集群中的链路信息,并保持对链路视图表进行更新。存储控制集群在生成了链路视图表后,可以将链路视图表下发至ceph存储装置中的消息执行节点,以使得消息执行节点能够依据链路视图表进行容灾业务消息的管理。
当然,在实际应用中,存储控制集群还可以将链路视图表下发至更多的设备。例如,存储控制集群可以将链路视图表下发至链路客户端中。也就是说,存储控制集群可以将链路视图表下发给任何有需求的设备,并不局限于消息执行节点。
请参阅图3,本申请还提供一种由消息执行节点执行的存储容灾的链路管理方法,该方法可以包括以下多个步骤。
S21:接收链路客户端发来的容灾业务消息,所述容灾业务消息中包括远端通信设备的设备标识。
在本实施方式中,消息执行节点内可以运行消息执行实例,该消息执行实例可以是一个单独的进程,通过消息执行实例,可以执行后续的对容灾业务消息的处理过程。具体地,该消息执行实例可以根据配置的监听端口,监听来自链路客户端或者其它消息执行节点发来的消息。
具体地,消息执行节点在被加入地址池后,链路客户端也会与各个消息执行节点建立通信链路。需要说明的是,对于不同的消息执行节点,通常都会存在对应的链路客户端。也就是说,在ceph存储装置中,可以具备多个链路客户端,每个链路客户端都可以具备所归属的消息执行节点。
在本实施方式中,当某个链路客户端接收到容灾业务发来的容灾业务消息后,可以优先检测所属的消息执行节点的链路状态是否为在线状态(UP状态),如果是在线状态,链路客户端可以直接通过该通信链路将容灾业务消息发送至对应的消息执行节点。而如果所属的消息执行节点的链路状态为离线状态(DOWN状态),则可以选择其它的消息执行节点来接收该容灾业务消息。
具体地,链路客户端可以识别所属的消息执行节点的IP地址,然后在本端地址池中,从大于该IP地址的其它IP地址中选择。例如,可以在其它IP地址中,选择最小的IP地址,然后将该容灾业务消息发送至该最小的IP地址对应的消息执行节点处(如果该消息执行节点的通信链路是在线状态)。
需要说明的是,如果各个消息执行节点的链路状态都是离线状态,那么链路客户端可以向容灾业务反馈错误提示信息,以表明本次的数据容灾备份过程失败。
此外,在实际应用中,链路客户端到消息执行节点之间的通信链路,还可以进一步细分为控制链路和数据链路,从而实现控制消息和数据消息的分离,以保证控制消息的及时发送和响应。
在本实施方式中,链路客户端发来的容灾业务消息中,可以携带远端通信设备的设备标识,以表明该容灾业务消息应当被发送至哪个远端通信设备。
S23:从所述存储控制集群下发的链路视图表中获取与所述设备标识相匹配的远端地址池链路表,并在所述远端地址池链路表中查询可用的复制链路。
在本实施方式中,消息执行实例接收到容灾业务消息后,可以根据存储控制集群下发的链路视图表,获取与容灾业务消息中的设备标识相匹配的远端地址池链路表。需要说明的是,设备标识、地址池标识以及地址池中的消息执行节点之间都具备对应关系,那么通过容灾业务消息中携带的设备标识,消息执行实例可以查询到对应的地址池标识,该地址池标识可以表征远端通信设备所在的远端地址池。在远端地址池链路表中,可以包含该远端地址池中各个消息执行节点的IP地址。
在本实施方式中,本端通信设备下的消息执行实例可以遍历远端地址池中各个消息执行节点的IP地址,以判断远端的消息执行节点与消息执行实例所处的本端消息执行节点之间是否具备可用的复制链路。
需要说明的是,本端通信设备与远端通信设备之间的各条复制链路,可以是存储控制集群将链路视图表下发至消息执行节点后,由消息执行节点建立的。
具体地,消息执行节点接收到链路视图表后,可以从链路视图表中识别远端通信设备对应的远端地址池。然后判断与远端地址池中的远端消息执行节点是否建立了复制链路。如果与远端地址池下的目标消息执行节点未建立复制链路,则可以获取该目标消息执行节点的IP地址和端口信息,并基于IP地址和端口信息,与该目标消息执行节点建立复制链路。
在实际应用中,该复制链路可以通过ceph中的ceph AsyncMessenger进行适配封装,从而提供连接、关闭、消息发送以及心跳数据包发送等功能。
具体地,消息执行节点在建立了复制链路后,需要监测该复制链路的状态,并将状态实时上报至存储控制集群。消息执行节点可以通过建立的复制链路按照指定时间周期向目标消息执行节点发送心跳数据包,并接收目标消息执行节点针对各个心跳数据包反馈的确认信息。
在本实施方式中,消息执行节点可以识别最新接收到的确认信息与当前时刻的时间差,若该时间差大于或者等于指定时长阈值,表明目标消息执行节点已经有较长时间没有对心跳数据包进行回应,此时复制链路可能出现了故障。因此,在这种情况下,可以将复制链路的链路状态设置为故障状态。而如果时间差小于所述指定时长阈值,则表明目标消息执行节点针对心跳数据包及时回复了确认信息,此时可以将复制链路的链路状态设置为在线状态。
在本实施方式中,消息执行节点在统计出复制链路的链路状态后,可以将链路状态上报至所述存储控制集群处,以使得存储控制集群基于接收到的各条复制链路的链路状态,设置该远端通信设备的设备状态。具体地,如果本端通信设备与该远端通信设备之间的各条复制链路都处于故障状态,则可以将该远端通信设备的设备状态设置为离线状态。而如果本端通信设备与该远端通信设备之间只要存在一条处于在线状态的复制链路,则可以将远端通信设备的设备状态设置为在线状态。
需要说明的是,上述链路状态的检测过程,不仅适用于通信设备之间的复制链路,对于链路客户端与消息执行节点之间的通信链路,以及同一地址池下各个消息执行节点之间的通信链路也同样使用。
消息执行节点在创建了复制链路,并对复制链路的链路状态进行监测,从而使得存储控制集群可以对链路视图表中的内容进行实时更新,以保证数据容灾备份过程的稳定进行。
在一个实施方式中,在从若干条复制链路中选择可用的复制链路时,可以获取消息执行节点自身的IP地址,并通过散了算法计算该IP地址的散列值。例如可以通过哈希算法,计算出IP地址的哈希值。然后,基于散列值可以在远端地址池链路表中查询相匹配的远端消息执行节点。例如,可以将该散列值对远端地址池中消息执行节点的个数进行取模,从而找到对应的远端消息执行节点。从相匹配的远端消息执行节点开始,可以依次查询可用的复制链路。
在一个实施方式中,如果无法查询到可用的复制链路,则可以从相匹配的远端消息执行节点开始,尝试建立复制链路。建立复制链路的方式如上所述,这里就不再赘述。这样,建立的首个复制链路可以作为可用的复制链路。
在一个实施方式中,如果消息执行节点与远端通信设备之间不存在可用的复制链路,可以从存储控制集群下发的链路视图表中查询同一地址池下与远端通信设备具备可用的复制链路的其它消息执行节点。然后,当前的消息执行节点可以将容灾业务消息转发至该其它消息执行节点,以通过其它消息执行节点将容灾业务消息通过可用的复制链路发送至远端通信设备下的远端消息执行节点中。这样,对于复制链路的故障可以及时检测,如果当前消息执行节点的各条复制链路均故障,就可以将容灾业务消息转发至同地址池下其它的消息执行节点,以通过其它的消息执行节点发送容灾业务消息,从而提升了容灾业务的可靠性。
S25:将所述容灾业务消息通过所述复制链路发送至所述远端通信设备下的远端消息执行节点中,以使得所述远端消息执行节点将所述容灾业务消息转发至远端目标业务节点中进行处理。
在本实施方式中,在选择了可用的复制链路后,消息执行节点便可以将容灾业务消息通过该复制链路发送至远端通信设备下的远端消息执行节点中。远端消息执行节点接收到容灾业务消息后,可以从容灾业务消息中识别容灾业务指定的远端目标业务节点。远端的消息执行节点与远端目标业务节点之间也可以具备通信链路(与链路客户端和本端的消息执行节点之间的通信链路类似),通过选择相应的通信链路,远端的消息执行节点可以将容灾业务消息发送到指定的远端目标业务节点处进行处理。
本申请提供的技术方案,存储控制集群可以完成本端通信设备和远端通信设备的创建过程。对于本端通信设备和远端通信设备而言,都可以与各自的地址池相对应。在地址池中,可以由存储控制集群加入一个或者多个消息执行节点。这样,本端通信设备和远端通信设备在进行数据容灾备份时,逻辑上可以表现为两端地址池之间的各条复制链路之间的消息传输过程。
在两端建立了通信设备之后,存储控制集群可以生成链路视图表,该链路视图表可以用于对两端的通信设备以及复制链路、地址池、消息执行节点进行全局管理。存储控制集群将该链路视图表下发至地址池中的消息执行节点后,若某个消息执行节点接收到链路客户端发来的容灾业务消息,就可以查询该链路视图表,从而获知到当前用于传输该容灾业务消息的复制链路。就算其中某一条复制链路发生故障,消息执行节点依然可以选择出其它可用的复制链路,并通过选择的复制链路将容灾业务消息发送至远端通信设备下的某个远端消息执行节点。这样,远端消息执行节点可以将容灾业务消息转发至远端目标业务节点中进行处理,从而完成了一次数据容灾备份的过程。
可见,本申请提供的技术方案,就算某一条复制链路出现故障,也并不影响容灾业务消息的处理,进而提高了数据容灾备份的稳定性。
请参阅图4,本申请还提供一种消息执行节点,所述消息执行节点位于本端通信设备中,并且所述消息执行节点由存储控制集群添加至所述本端通信设备对应的本端地址池中;所述消息执行节点包括:
消息接收单元,用于接收链路客户端发来的容灾业务消息,所述容灾业务消息中包括远端通信设备的设备标识;
链路查询单元,用于从所述存储控制集群下发的链路视图表中获取与所述设备标识相匹配的远端地址池链路表,并在所述远端地址池链路表中查询可用的复制链路;
消息发送单元,用于将所述容灾业务消息通过所述复制链路发送至所述远端通信设备下的远端消息执行节点中,以使得所述远端消息执行节点将所述容灾业务消息转发至对应的远端目标业务节点中进行处理。
在一个实施方式中,所述消息执行节点还包括:
地址池识别单元,用于接收所述存储控制集群下发的链路视图表,并从所述链路视图表中识别远端通信设备对应的远端地址池;
复制链路建立单元,用于若与所述远端地址池下的目标消息执行节点未建立复制链路,获取所述目标消息执行节点的IP地址和端口信息,并基于所述IP地址和端口信息,与所述目标消息执行节点建立复制链路。
在一个实施方式中,所述消息执行节点还包括:
心跳数据包发送单元,用于通过建立的所述复制链路按照指定时间周期向所述目标消息执行节点发送心跳数据包,并接收所述目标消息执行节点针对各个心跳数据包反馈的确认信息;
链路状态设置单元,用于识别最新接收到的确认信息与当前时刻的时间差,若所述时间差大于或者等于指定时长阈值,将所述复制链路的链路状态设置为故障状态;若所述时间差小于所述指定时长阈值,将所述复制链路的链路状态设置为在线状态;
上报单元,用于将所述复制链路的链路状态上报至所述存储控制集群处,以使得所述存储控制集群基于接收到的各条复制链路的链路状态,设置所述远端通信设备的设备状态。
在一个实施方式中,所述链路查询单元具体用于:获取所述消息执行节点自身的IP地址,并计算所述IP地址的散列值;基于所述散列值在所述远端地址池链路表中查询相匹配的远端消息执行节点,并从相匹配的远端消息执行节点开始,查询可用的复制链路。
在一个实施方式中,所述链路查询单元具体还用于:若无法查询到可用的复制链路,从所述相匹配的远端消息执行节点开始,尝试建立复制链路,并将建立的首个复制链路作为可用的复制链路。
在一个实施方式中,所述链路查询单元具体还用于:若所述消息执行节点与远端通信设备之间不存在可用的复制链路,从所述存储控制集群下发的链路视图表中查询同一地址池下与所述远端通信设备具备可用的复制链路的其它消息执行节点;将所述容灾业务消息转发至所述其它消息执行节点,以通过所述其它消息执行节点将所述容灾业务消息通过可用的复制链路发送至所述远端通信设备下的远端消息执行节点中。
请参阅图5,本申请还提供一种存储控制集群,所述存储控制集群包括:
地址池创建单元,用于接收地址池创建请求,在本地创建所述地址池创建请求对应的本端地址池,并将一个或者多个消息执行节点加入所述本端地址池中;
通信设备创建单元,用于接收通信设备创建请求,并按照所述通信设备创建请求中限定的本端地址池标识和远端地址池标识,在对应的本端地址池和远端地址池上分别创建本端通信设备和远端通信设备;
链路视图表下发单元,用于基于创建的所述本端通信设备和所述远端通信设备,生成链路视图表,并将所述链路视图表下发至所述本端通信设备下的各个消息执行节点处,以使得所述消息执行节点基于所述链路视图表进行容灾业务消息的处理。
在一个实施方式中,所述地址池创建请求中包括指定的复制网段;所述地址池创建单元具体用于:在本地创建具备所述复制网段的本端地址池,并为创建的所述本端地址池分配全局唯一的本端地址池标识。
在一个实施方式中,所述通信设备创建请求中还包括初始的本端地址和初始的远端地址;所述通信设备创建单元具体用于:在所述初始的本端地址和所述初始的远端地址之间建立临时通信链路,并通过所述临时通信链路互相传输协商消息,以基于传输的所述协商消息分别创建本端通信设备和远端通信设备。
本申请还提供一种节点设备,所述节点设备包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现上述的分段网络中的报文处理方法。
本申请还提供一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的ceph存储容灾的链路管理方法。
本申请还提供一种计算机存储介质,所述计算机存储介质用于存储计算机程序,所述计算机程序被处理器执行时,实现上述的ceph存储容灾的链路管理方法。
其中,处理器可以为中央处理器(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施方式中的方法对应的程序指令/模块。处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施方式中的方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储处理器所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本领域技术人员可以理解,实现上述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施方式的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (11)
1.一种存储容灾的链路管理方法,其特征在于,所述方法应用于消息执行节点中,所述消息执行节点由存储控制集群添加至本端通信设备对应的本端地址池中;所述方法包括:
接收链路客户端发来的容灾业务消息,所述容灾业务消息中包括远端通信设备的设备标识;
从所述存储控制集群下发的链路视图表中获取与所述设备标识相匹配的远端地址池链路表,并在所述远端地址池链路表中查询可用的复制链路;
将所述容灾业务消息通过所述复制链路发送至所述远端通信设备下的远端消息执行节点中,以使得所述远端消息执行节点将所述容灾业务消息转发至远端目标业务节点中进行处理。
2.根据权利要求1所述的方法,其特征在于,在接收链路客户端发来的容灾业务消息之前,所述方法还包括:
接收所述存储控制集群下发的链路视图表,并从所述链路视图表中识别远端通信设备的远端地址池;
若与所述远端地址池下的目标消息执行节点未建立复制链路,获取所述目标消息执行节点的IP地址和端口信息,并基于所述IP地址和端口信息,与所述目标消息执行节点建立复制链路。
3.根据权利要求2所述的方法,其特征在于,在与所述目标消息执行节点建立复制链路之后,所述方法还包括:
通过建立的所述复制链路按照指定时间周期向所述目标消息执行节点发送心跳数据包,并接收所述目标消息执行节点针对各个心跳数据包反馈的确认信息;
识别最新接收到的确认信息与当前时刻的时间差,若所述时间差大于或者等于指定时长阈值,将所述复制链路的链路状态设置为故障状态;若所述时间差小于所述指定时长阈值,将所述复制链路的链路状态设置为在线状态;
将所述复制链路的链路状态上报至所述存储控制集群处,以使得所述存储控制集群基于接收到的各条复制链路的链路状态,设置所述远端通信设备的设备状态。
4.根据权利要求1所述的方法,其特征在于,在所述远端地址池链路表中查询可用的复制链路包括:
获取所述消息执行节点自身的IP地址,并计算所述IP地址的散列值;
基于所述散列值在所述远端地址池链路表中查询相匹配的远端消息执行节点,并从相匹配的远端消息执行节点开始,查询可用的复制链路。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若无法查询到可用的复制链路,从所述相匹配的远端消息执行节点开始,尝试建立复制链路,并将建立的首个复制链路作为可用的复制链路。
6.根据权利要求1所述的方法,其特征在于,在所述远端地址池链路表中查询可用的复制链路时,所述方法还包括:
若所述消息执行节点与远端通信设备之间不存在可用的复制链路,从所述存储控制集群下发的链路视图表中查询同一地址池下与所述远端通信设备具备可用的复制链路的其它消息执行节点;
将所述容灾业务消息转发至所述其它消息执行节点,以通过所述其它消息执行节点将所述容灾业务消息通过可用的复制链路发送至所述远端通信设备下的远端消息执行节点中。
7.一种消息执行节点,其特征在于,所述消息执行节点由存储控制集群添加至本端通信设备对应的本端地址池中;所述消息执行节点包括:
消息接收单元,用于接收链路客户端发来的容灾业务消息,所述容灾业务消息中包括远端通信设备的设备标识;
链路查询单元,用于从所述存储控制集群下发的链路视图表中获取与所述设备标识相匹配的远端地址池链路表,并在所述远端地址池链路表中查询可用的复制链路;
消息发送单元,用于将所述容灾业务消息通过所述复制链路发送至所述远端通信设备下的远端消息执行节点中,以使得所述远端消息执行节点将所述容灾业务消息转发至远端目标业务节点中进行处理。
8.一种存储容灾的链路管理方法,其特征在于,所述方法应用于存储控制集群中,所述方法包括:
接收地址池创建请求,响应于所述地址池创建请求,在本地创建本端地址池,并将一个或者多个消息执行节点加入所述本端地址池中;
接收通信设备创建请求,并按照所述通信设备创建请求中限定的本端地址池标识和远端地址池标识,在本端地址池和远端地址池上分别创建本端通信设备和远端通信设备;
基于创建的所述本端通信设备和所述远端通信设备,生成链路视图表,并将所述链路视图表下发至所述本端通信设备下的各个消息执行节点处,以使得所述消息执行节点基于所述链路视图表进行容灾业务消息的处理。
9.根据权利要求8所述的方法,其特征在于,所述地址池创建请求中包括指定的复制网段;在本地创建本端地址池包括:
在本地创建具备所述复制网段的本端地址池,并为创建的所述本端地址池分配全局唯一的本端地址池标识。
10.根据权利要求8所述的方法,其特征在于,所述通信设备创建请求中还包括初始的本端地址和初始的远端地址;在本端地址池和远端地址池上分别创建本端通信设备和远端通信设备包括:
在所述初始的本端地址和所述初始的远端地址之间建立临时通信链路,并通过所述临时通信链路互相传输协商消息,以基于传输的所述协商消息分别创建本端通信设备和远端通信设备。
11.一种存储控制集群,其特征在于,所述存储控制集群包括:
地址池创建单元,用于接收地址池创建请求,响应于所述地址池创建请求,在本地创建本端地址池,并将一个或者多个消息执行节点加入所述本端地址池中;
通信设备创建单元,用于接收通信设备创建请求,并按照所述通信设备创建请求中限定的本端地址池标识和远端地址池标识,在本端地址池和远端地址池上分别创建本端通信设备和远端通信设备;
链路视图表下发单元,用于基于创建的所述本端通信设备和所述远端通信设备,生成链路视图表,并将所述链路视图表下发至所述本端通信设备下的各个消息执行节点处,以使得所述消息执行节点基于所述链路视图表进行容灾业务消息的处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111444482.6A CN114090342A (zh) | 2021-11-30 | 2021-11-30 | 存储容灾的链路管理方法及消息执行节点、存储控制集群 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111444482.6A CN114090342A (zh) | 2021-11-30 | 2021-11-30 | 存储容灾的链路管理方法及消息执行节点、存储控制集群 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114090342A true CN114090342A (zh) | 2022-02-25 |
Family
ID=80306017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111444482.6A Pending CN114090342A (zh) | 2021-11-30 | 2021-11-30 | 存储容灾的链路管理方法及消息执行节点、存储控制集群 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114090342A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550287A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种远程复制关系的建立方法及相关装置 |
CN117914738A (zh) * | 2024-01-18 | 2024-04-19 | 北京微控工业网关技术有限公司 | 网关管理方法及装置、电子设备、存储介质 |
-
2021
- 2021-11-30 CN CN202111444482.6A patent/CN114090342A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115550287A (zh) * | 2022-11-30 | 2022-12-30 | 苏州浪潮智能科技有限公司 | 一种远程复制关系的建立方法及相关装置 |
CN115550287B (zh) * | 2022-11-30 | 2023-03-10 | 苏州浪潮智能科技有限公司 | 一种远程复制关系的建立方法及相关装置 |
WO2024113894A1 (zh) * | 2022-11-30 | 2024-06-06 | 苏州元脑智能科技有限公司 | 一种远程复制关系的建立方法及相关装置 |
CN117914738A (zh) * | 2024-01-18 | 2024-04-19 | 北京微控工业网关技术有限公司 | 网关管理方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7518983B2 (en) | Proxy response apparatus | |
CN109344014B (zh) | 一种主备切换方法、装置及通信设备 | |
US20020099787A1 (en) | Distributed configuration management on a network | |
US9692819B2 (en) | Detect process health remotely in a realtime fashion | |
CN106330475B (zh) | 一种通信***中管理主备节点的方法和装置及高可用集群 | |
US7623472B2 (en) | Dynamic peer application discovery | |
CN114090342A (zh) | 存储容灾的链路管理方法及消息执行节点、存储控制集群 | |
CN112751916B (zh) | 一种面向微服务治理的数据发布-订阅方法和*** | |
CN110677282B (zh) | 一种分布式***的热备份方法及分布式*** | |
CN104144124B (zh) | 数据转发方法、装置及*** | |
CN110661637A (zh) | 分布式***成员变更方法和分布式*** | |
WO2017071384A1 (zh) | 报文处理的方法及装置 | |
TWI740210B (zh) | 終端設備管理方法及伺服器 | |
CN112039710A (zh) | 服务故障处理方法、终端设备及可读存储介质 | |
CN113746733A (zh) | 表项同步方法、网关设备、组网***及存储介质 | |
CN110661836B (zh) | 消息路由方法、装置及***、存储介质 | |
WO2021249173A1 (zh) | 一种分布式存储***及其异常处理方法和相关装置 | |
CN112751907B (zh) | 信息处理方法、装置和存储介质及电子装置 | |
CN110572290B (zh) | 主设备确定方法、装置、电子设备、存储介质及网络*** | |
CN114422335A (zh) | 通信方法、装置、服务器及存储介质 | |
US20110286451A1 (en) | Method, apparatus and computer product for sending or receiving data over multiple networks | |
CN110716827A (zh) | 适用于分布式***的热备份方法及分布式*** | |
US20200341968A1 (en) | Differential Update of Local Cache from Central Database | |
CN113301086A (zh) | Dns数据管理***和管理方法 | |
CN113535464B (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 |