CN116668269A - 一种用于双活数据中心的仲裁方法、装置及*** - Google Patents

一种用于双活数据中心的仲裁方法、装置及*** Download PDF

Info

Publication number
CN116668269A
CN116668269A CN202210157330.6A CN202210157330A CN116668269A CN 116668269 A CN116668269 A CN 116668269A CN 202210157330 A CN202210157330 A CN 202210157330A CN 116668269 A CN116668269 A CN 116668269A
Authority
CN
China
Prior art keywords
data center
arbitration
node
component
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.)
Pending
Application number
CN202210157330.6A
Other languages
English (en)
Inventor
张晓磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to CN202210157330.6A priority Critical patent/CN116668269A/zh
Publication of CN116668269A publication Critical patent/CN116668269A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请实施例公开一种用于双活数据中心的仲裁方法、装置及***,涉及云计算技术领域。该双活数据中心包括第一数据中心和第二数据中心,该方法包括:当发生故障事件时,在所述第一数据中心中确定故障对象;当所述故障对象包括所述第一数据中心的主节点时,从多个备选节点中选择目标节点代替所述第一数据中心中的主节点提供服务,其中,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;当所述故障对象不包括所述第一数据中心的主节点时,使所述第一数据中心继续提供服务。该方法有助于在双活救灾场景中提供高效、可靠的仲裁机制。

Description

一种用于双活数据中心的仲裁方法、装置及***
技术领域
本申请涉及云计算技术领域,特别涉及一种用于双活数据中心的仲裁方法、装置及***。
背景技术
数据中心为软件应用提供资源,此类资源包括存储器、处理器、网络带宽等。出于灾备(Disaster Recovery)的目的,一般都会建设至少两个数据中心,该至少两个数据中心中的若干个数据中心承担用户的业务,其它的数据中心备份数据、配置、业务等。其中,双活数据中心是指两个数据中心同时承担业务且相互备份,以提高两个数据中心的整体服务能力和***资源利用率。
双活数据中心中的两个数据中心之间会每隔设定时间向对方发送一个心跳包,若在设定时间内未接收到对方的心跳包,则备份中断。此时如果两个数据中心都继续承担业务,就会出现数据不一致的问题。仲裁(arbitrate,ARB)机制是当前避免出现数据不一致问题的手段之一,仲裁机制的实现方式为:两个数据中心分别向独立于两个数据中心设置的仲裁设备发送仲裁请求,仲裁设备根据仲裁请求确定获胜的数据中心,获胜的数据中心继续提供服务(即承担业务),没有获胜的数据中心停止提供服务。
随着云计算、大数据的发展,越来越多的企业用户把应用、数据、***进行集中处理,数据大集中的同时也面临风险。随着云资源的规模不断扩大,承载的业务不断增加,对可靠性要求越来越高,如何高效、可靠地进行仲裁,以保障高可靠性,仍为亟需解决的重要问题。
发明内容
本申请实施例提供了一种用于双活数据中心的仲裁方法、装置及***,有助于在双活容灾场景中提供高效、可靠的仲裁机制。
第一方面,本申请实施例提供了一种用于双活数据中心的仲裁方法,该双活数据中心可以包括所述第一数据中心和所述第二数据中心,所述仲裁方法可由仲裁设备实现,该方法可以包括:当发生故障事件时,在所述第一数据中心中确定故障对象;当所述故障对象包括所述第一数据中心的主节点时,从多个备选节点中选择目标节点代替所述第一数据中心中的故障主节点提供服务,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;当所述故障对象不包括所述第一数据中心的主节点时,使所述第一数据中心继续提供服务。
通过上述方法,仲裁设备可以在发生故障事件时,利用备用节点代替故障节点提供服务,从而利用故障点转移的方式来保障业务连续性。
需要说明的是,本申请实施例中,故障对象可能的形态,可以包括但不限于是数据中心、数据中心中的节点、或者部署在数据中心的节点的组件。相应地,用于在发生故障事件时代替故障对象提供服务的备选对象,可以与故障对象的形态相同,包括但不限于是数据中心、数据中心中的节点、或者部署在数据中心的某个节点的组件。本申请实施例中,仲裁过程中可以根据涉及的具体故障对象的形态以及具体故障情形进行仲裁管理。
比如,从数据中心下的节点粒度而言,第一数据中心中可以包括关联同一服务的主节点和备节点,第二数据中心中可以包括关联同一服务的主节点和备节点,当发生故障事件时,仲裁方法可以是前文描述中,从多个备选节点中选择目标节点代替故障的主节点提供服务,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;当所述故障对象不包括所述第一数据中心的主节点时,则无需进行上述节点代替步骤。
再比如,从数据中心粒度而言,第一数据中心可以是关联同一服务的主数据中心,第二数据中心可以是备选数据中心,当发生故障事件时,仲裁方法可以包括:当所述故障对象包括所述第一数据中心时,以所述第二数据中心代替所述第一数据中心提供服务;当所述故障对象不包括所述第一数据中心时,使所述第一数据中心继续提供服务。相似地,该第二数据中心为主节点时,则可以在该第二数据中心发生故障事件时,以备选的该第一数据中心代替该第二数据中心提供服务。
又比如,从部署在节点的组件粒度而言,同一服务的处于主状态(比如激活状态)的组件以及处于备用状态的组件可以部署在相同或不同的节点(可以是相同数据中心的节点,也可以是不同数据中心的节点),当发生故障事件时,仲裁方法可以包括:基于组件粒度,当所述故障对象包括所述第一数据中心/第二数据中心的处于主状态的组件时,从该故障组件的多个备用组件中选择目标组件代替所述故障组件提供服务,该故障组件的多个备用组件可以包括第一数据中心的备用组件和/或第二数据中心的备用组件;当故障对象不包括处于主状态的组件时,使所述处于主状态的组件继续提供服务。
本申请实施例中,租户可以根据自身需要的应用场景或业务场景,自主选择和配置故障事件的检测粒度以及不同粒度下故障对象对应的仲裁机制,从而可以从不同的层面实施对双活数据中心的可靠、高效的管理,提升仲裁***整体的可靠性。
结合第一方面,一种可选的实现方式中,所述当发生故障事件时,在所述第一数据中心中确定故障对象,包括:当发生所述故障事件时,在所述第一数据中心、所述第二数据中心和仲裁设备中确定所述故障对象。
结合第一方面,一种可选的实现方式中,所述多个备选节点中的每个备选节点满足以下至少一项条件:所述备选节点的数据同步率大于或等于第一阈值,其中,所述数据同步率用于表征所述备选节点与相应主节点之间的数据同步状态;或者,所述备选节点的负载小于或等于第二阈值。
结合第一方面,一种可选的实现方式中,所述备选节点的负载包括以下至少一项:中央处理器CPU负载、内存负载、磁盘读/写负载、网络延时或丢包率。
结合第一方面,一种可选的实现方式中,所述第一数据中心的备选节点的优先级高于所述第二数据中心的备选节点的优先级。
结合第一方面,一种可选的实现方式中,所述方法还包括:在无备选节点时,向租户发送第一告警信息,并使所述第一数据中心继续提供服务;当所述故障对象还包括所述仲裁设备时,向所述租户发送第二告警信息。
结合第一方面,一种可选的实现方式中,所述方法还包括:接收来自租户的用户设备UE的注册信息,所述注册信息用于指示待部署到所述第一数据中心和/或所述第二数据中心的组件;根据所述注册信息,在所述仲裁设备注册所述组件,并在所述第一数据中心的相应节点和/或所述第二数据中心的相应节点部署所述组件。
结合第一方面,一种可选的实现方式中,所述注册信息包括所述组件的以下至少一项信息:类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
结合第一方面,一种可选的实现方式中,所述方法还包括:接收来自客户端的监测数据,所述监测数据用于指示部署在所述客户端所属节点的组件是否发生所述故障事件。
结合第一方面,一种可选的实现方式中,所述方法还包括:接收来自租户的UE的查询请求,所述查询请求用于指示待查询的目标组件;根据所述查询请求向所述UE反馈所述目标组件的状态信息和/或监控指标数据,所述目标组件的状态信息和/或监控指标数据用于指示是否发生所述故障事件。
结合第一方面,一种可选的实现方式中,所述方法还包括:接收来自租户的UE的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;根据所述变更请求,向客户端发送变更指令,所述变更指令用于指示对所述目标组件执行状态变更操作。
结合第一方面,一种可选的实现方式中,所述状态变更操作包括以下至少一项:启动、停止、倒换。
结合第一方面,一种可选的实现方式中,所述仲裁设备为云服务器。
第二方面,本申请实施例提供了一种用于双活数据中心的仲裁方法,该方法可由用户设备实现,该用户设备可以是用户侧的任何电子设备,包括但不限于智能手机、笔记本电脑、台式电脑等。方法可以包括:显示仲裁管理界面;通过所述仲裁管理界面,获取租户的注册信息,所述注册信息用于指示需要部署到第一数据中心和/或第二数据中心的组件;向仲裁设备发送所述注册信息。
结合第二方面,一种可选的实现方式中,所述注册信息包括所述组件的以下至少一项信息:类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
结合第二方面,一种可选的实现方式中,所述仲裁方法还包括:通过所述仲裁管理界面,获取所述租户的查询请求,所述查询请求用于指示待查询的目标组件;向所述仲裁设备发送所述查询请求;从所述仲裁设备接收响应于所述查询请求的状态信息和/或监控指标数据;显示所述状态信息和/或所述监控指标数据。
结合第二方面,一种可选的实现方式中,所述仲裁方法还包括:通过所述仲裁管理界面,获取所述租户的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;向所述仲裁设备发送所述变更请求,以使所述仲裁设备对所述目标组件执行状态变更操作。
结合第二方面,一种可选的实现方式中,所述状态变更操作包括以下至少一项:启动、停止、倒换。
结合第二方面,一种可选的实现方式中,所述仲裁设备为云服务器。
第三方面,本申请实施例提供了一种用于双活数据中心的仲裁装置,所述双活数据中心包括所述第一数据中心和所述第二数据中心,所述仲裁装置包括:确定单元,用于当发生故障事件时,在所述第一数据中心中确定故障对象;仲裁单元,用于当所述故障对象包括所述第一数据中心的主节点时,从多个备选节点中选择目标节点代替所述第一数据中心中的主节点提供服务,其中,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;当所述故障对象不包括所述第一数据中心的主节点时,使所述第一数据中心继续提供服务。
结合第三方面,一种可选的实现方式中,所述确定单元用于:当发生所述故障事件时,在所述第一数据中心、所述第二数据中心和仲裁设备中确定所述故障对象。
结合第三方面,一种可选的实现方式中,所述多个备选节点中的每个备选节点满足以下至少一项条件:所述备选节点的数据同步率大于或等于第一阈值,其中,所述数据同步率用于表征所述备选节点与相应主节点之间的数据同步状态;或者,所述备选节点的负载小于或等于第二阈值。
结合第三方面,一种可选的实现方式中,所述备选节点的负载包括以下至少一项:中央处理器CPU负载、内存负载、磁盘读/写负载、网络延时或丢包率。
结合第三方面,一种可选的实现方式中,所述第一数据中心的备选节点的优先级高于所述第二数据中心的备选节点的优先级。
结合第三方面,一种可选的实现方式中,所述仲裁单元还用于:在当前无的备选节点时,向租户发送第一告警信息,所述第一数据中心继续提供服务;当所述故障对象还包括所述仲裁设备时,向所述租户发送第二告警信息。
结合第三方面,一种可选的实现方式中,所述装置还包括:通信单元,用于接收来自租户的用户设备UE的注册信息,所述注册信息用于指示待部署到所述第一数据中心和/或所述第二数据中心的组件;部署单元,用于根据所述注册信息,在所述仲裁设备注册所述组件,并在所述第一数据中心的相应节点和/或所述第二数据中心的相应节点部署所述组件。
结合第三方面,一种可选的实现方式中,所述注册信息包括所述组件的以下至少一项信息:类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
结合第三方面,一种可选的实现方式中,所述装置还包括:通信单元,用于接收来自客户端的监测数据,所述监测数据用于指示部署在所述客户端所属节点的组件是否发生所述故障事件。
结合第三方面,一种可选的实现方式中,所述仲裁单元用于:通过所述通信单元接收来自租户的UE的查询请求,所述查询请求用于指示待查询的目标组件;根据所述查询请求,通过所述通信单元向所述UE反馈所述目标组件的状态信息和/或监控指标数据,所述目标组件的状态信息和/或监控指标数据用于指示是否发生所述故障事件。
结合第三方面,一种可选的实现方式中,所述仲裁单元用于:通过通信单元接收来自租户的UE的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;根据所述变更请求,通过通信单元向客户端发送变更指令,所述变更指令用于指示对所述目标组件执行状态变更操作。
结合第三方面,一种可选的实现方式中,所述状态变更操作包括以下至少一项:启动、停止、倒换。
结合第三方面,一种可选的实现方式中,所述仲裁设备为云服务器。
第四方面,本申请实施例提供了一种用于双活数据中心的仲裁装置,所述仲裁装置包括:
显示单元,用于显示仲裁管理界面;
获取单元,用于通过所述仲裁管理界面,获取租户的注册信息,所述注册信息用于指示需要部署到第一数据中心和/或第二数据中心的组件;
通信单元,用于向仲裁设备发送所述注册信息。
结合第四方面,一种可选的实现方式中,所述注册信息包括所述组件的以下至少一项信息:类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
结合第四方面,一种可选的实现方式中,所述获取单元还用于:通过所述仲裁管理界面,获取所述租户的查询请求,所述查询请求用于指示待查询的目标组件;所通信单元还用于向所述仲裁设备发送所述查询请求;从所述仲裁设备接收响应于所述查询请求的状态信息和/或监控指标数据;所述显示单元还用于显示所述状态信息和/或所述监控指标数据。
结合第四方面,一种可选的实现方式中,所述获取单元还用于:通过所述仲裁管理界面,获取所述租户的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;所通信单元还用于向所述仲裁设备发送所述变更请求,以使所述仲裁设备对所述目标组件执行状态变更操作。
结合第四方面,一种可选的实现方式中,所述状态变更操作包括以下至少一项:启动、停止、倒换。
结合第四方面,一种可选的实现方式中,所述仲裁设备为云服务器。
第五方面,本申请实施例提供了一种用于双活数据中心的仲裁***,所述仲裁***包括仲裁设备和用户设备,所述仲裁设备用于实现如上述第一方面以及第一方面中任一可能设计所述的仲裁方法,所述用户设备用于实现上述第二方面以及第二方面中任一可能设计所述的仲裁方法。
第六方面,本申请实施例提供了一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行上述第一方面以及第一方面中任一可能设计所述的仲裁方法的指令,或者执行上述第二方面以及第二方面中任一可能设计所述的仲裁方法的指令。
本申请在上述各方面提供的实现的基础上,还可以进行进一步组合以提供更多实现。
附图说明
图1示出了本申请实施例提供的仲裁方法的应用场景的示意图;
图2示出了本申请实施例的仲裁***的架构示意图;
图3示出了本申请实施例的仲裁方法的流程示意图;
图4a-图4d示出了本申请实施例的控制台管理界面的示意图;
图5示出了本申请实施例的多种故障情形的示意图;
图6示出了本申请实施例的方法流程图;
图7示出了本申请实施例的通信装置的示意图;
图8示出了本申请实施例的通信设备的示意图;
图9示出了本申请实施例的通信设备的示意图。
具体实施方式
下面首先对本申请实施例涉及的部分用语进行解释说明。
1、双活数据中心:
数据中心是使用复杂的网络、计算和存储***来提供对应用程序和数据的共享访问的设施,可以形象地称为是一个容纳用于通信和数据存储的信息技术(InformationTechnology,IT)设备的“建筑物”。
出于灾备方面的考虑,用户一般会建设两个(或多个)数据中心,一个是主数据中心用于承担拥护的业务,一个是备份数据中心用于备份主数据中心的数据、配置、业务等。主备数据中心之间一般有热备、冷备、双活三种备份方式,具体地:
(1)热备份:只有主数据中心承担用户的业务时,备用数据中心将实时对主数据中心备份。备用数据中心可以自动接管主数据中心的业务,并且不会中断用户的业务,因此是感觉不到数据中心的切换。
(2)冷备份:也是仅由主数据中心负责业务,而备份数据中心将不执行主数据中心的实时备份。在这种情况下,可能是定期执行备份或根本不执行备份。如果主数据中心出现故障,则用户的业务将中断,此时需人工切换至备数据中心。
(3)双活:为了避免对于备用数据中心的资源浪费,让主备两个数据中心都同时承担用户的业务,此时,主备两个数据中心互为备份,并且进行实时备份。一般来说,主数据中心的负载可能会多一些,比如分担60-70%的业务,备数据中心只分担40%-30%的业务。也就是说,主、备数据中心都承担业务,互为备份、实时同步。
其中,双活数据中心具有以下两方面的优势:(一)、充分利用资源,避免了一个数据中心常年处于闲置状态而造成浪费,通过资源整合,双活数据中心的服务能力是双倍的。(二)、双活数据中心如果断了一个数据中心,另外一个数据中心还在运行,对用户来说是不可感知的。基于以上双活数据中心,一般采用的高可靠性方案,是将***的关键组件进行容灾部署,以此来起到双活站点容灾的作用。
2、区域(Region)和区域(Availability Zone,AZ):
区域和AZ用来描述数据中心的位置,用户可以在特定区域、AZ创建资源,该特定区域、AZ也可以称为站点。
其中,(1)区域:从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、虚拟私有云(Virtual Private Cloud,VPC)网络、弹性公网IP(ElasticIP,EIP)、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。一般地,同一区域可以部署一个或多个主机(即节点),用于实现至少一种服务(或称为业务)。
(2)AZ:一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高性***的需求。一般地,同一AZ可以部署一个或多个主机(即节点),用于实现至少一种服务(或称为业务)。
3、组件:
组件(Component)是对数据和方法的简单封装,简而言之,组件就是对象。组件可以有自己的属性和方法,其中,属性是组件数据的简单访问者,方法则是组件的一些简单而可见的功能。在数据中心中所部署的组件,例如可以包括服务器和机架、能源***、网络连接、安全***、自动化的管理工具、冷却***、以及合规的管理政策等,这些组件有助于保持数据中心的效率。本申请实施例中,组件可以部署在数据中心的节点中,并用于实现相应的服务。
4、主-备方式和主-备状态:
就组件而言,主-备方式指的是一个组件处于某种业务的激活状态(即Active状态),另一个组件处于该业务的备用状态(即Standby状态),该激活-备用状态简称为主-备状态。其中,在某一业务的处于激活状态的组件故障时,可使该业务的处于备用状态的组件代替该故障组件提供服务,利用故障点转移的方式来保障业务连续性。
本申请实施例中,被赋予主-备状态的组件也可称为带状态组件,相应地,处于Active状态的组件所属的AZ称为优先AZ,处于Standby状态的组件所属的AZ称为备AZ。
本申请实施例提供了一种用于双活数据中心的仲裁方法、装置及***,针对双活(或多活)容灾场景下的各种故障事件,面向不同的故障对象提供一种公共的主备仲裁能力,以获得仲裁***的高可靠性的双活容灾能力。其中,待部署的组件仅需根据对接的接口定义,编写少量脚本插件,即可对接到该仲裁***获得高可靠性的双活容灾能力。该仲裁***还集成了组件部署的状态可视化展示、组件生命周期管理、节点的OS关键指标以及组件的关键指标的监控、告警等,提供一站式的管理能力。其中,方法和装置是基于同一技术构思的,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
需要说明的是,本申请实施例仅以双活数据中心为例介绍该仲裁方案,并不限定该仲裁方案的应用场景,在其它实施例中,该仲裁方案还可以应用于多活数据中心,本申请实施例对此不做限定。本申请实施例中“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a和b,a和c,b和c,或a和b和c,其中a,b,c可以是单个,也可以是多个。
以及,除非有特别说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的优先级或者重要程度。例如,第一数据中心、第二数据中心、和第三数据中心,只是为了区分不同的数据中心,而不是表示这三个数据中心的优先级或者重要程度等的不同。
下面结合附图及实施例对本申请进行详细介绍。
图1示出了本申请实施例提供的仲裁方法的应用场景的示意图。
如图1所示,该应用场景中可以设置有第一数据中心11和第二数据中心12,该第一数据中心11和第二数据中心12为双活数据中心,即第一数据中心11和第二数据中心12同时提供服务且相互备份。其中,第一数据中心11和第二数据中心12连接,可以是通过光纤或网线连接,第一数据中心11和第二数据中心12可通过光纤或网线备份数据,并可每隔设定时间(例如1秒(second))通过该光纤或网线相互发送心跳包,以确定第一数据中心11和第二数据中心12之间的连接是否断开。
可以理解的是,在实际应用中,第一数据中心11和第二数据中心12之间的数据备份可以为同步复制。为了实现同步复制,一方面可以采用光纤等传输速度快的链路传输备份的数据,另一方面可以将第一数据中心11和第二数据中心12之间的距离设定在设定距离(比如100km)内,如第一数据中心和第二数据中心设置在同一个城市里。
一种可选的实现方式中,图1所示的应用场景中还可以设置有仲裁设备13,仲裁设备13可以独立于第一数据中心11和第二数据中心12而专门设置的用于实现本申请实施例的仲裁机制的设备。仲裁设备13可分别与第一数据中心11和第二数据中心12连接,本申请实施例提供的仲裁方法可以具体适用于该仲裁设备13对第一数据中心11和/或第二数据中心12中的故障对象进行仲裁管理。
具体地,第一数据中心11和第二数据中心12可以均包括存储层、应用层、网络层,第一数据中心11和第二数据中心12的同一层(存储层、应用层或网络层)上分别设置有一个或多个集群(如应用层上的数据库(Database,DB)集群)的部分节点,本申请实施例提供的仲裁设备13可以具体适用于第一数据中心11和第二数据中心12的同一层的仲裁,也可以用于第一数据中心11和第二数据中心12上同一个集群的仲裁。
可以理解的是,本申请实施例中,仲裁设备13可以为用于实现本申请实施例提供的仲裁方法而专门设置的一个设备,也可以是与某个数据中心部署在同一站点,本申请实施例对仲裁设备13的产品形态不做限定。图1所示的应用场景仅为举例,本申请实施例并不限制于此。
图2示出了本申请实施例的仲裁***的架构示意图。其中,该仲裁***可以支持多种类型带状态组件的高主备仲裁管理功能,例如集群管理和集群监控,其中,集群管理的主要功能例如可以包括:带状态组件与本***的注册对接、对接配置的更新以及对接后组件主-备状态的控制;集群监控的主要功能包括:集群状态的显示、集群节点OS的关键监控指标、集群的关键业务指标以及超过正常阈值的告警等。
如图2所示,该仲裁***可以划分为客户(client)端和服务器(server)端。
客户端逻辑上主要可以包括代理节点(agent)和待管理的组件。每个组件可以为带状态组件,可以是处于某种业务的Active状态的组件,或者是处于某种业务的Standby状态的组件。agent主要作用可以包括:采集/向服务器端上报其所管理的组件的状态信息,组件的状态信息例如可以包括:组件的主-备状态信息、组件的关键监控信息、节点的OS负载信息等;执行来自服务器端的命令,以对当前管理的组件进行启动、停止、倒换等操作。
服务器端逻辑上主要可以包括至少一个服务器(server)、与所述server关联的控制台(console)管理接口和后端存储器,其中,console管理接口可以为租户提供可视化的集群监控和管理能力,后端存储器作为仲裁***的存储后端,可以保存该***的状态信息;server可以作为***的大脑,可以基于后端存储器中的状态信息,对整个***的不同组件进行管理。
一种可选的实现方式中,该仲裁***还可以包括租户的用户设备(UserEquipment,UE)。
租户可以基于服务注册的接口定义,通过其用户设备和相应的控制台管理接口,将实现业务并需要具备容灾仲裁能力的组件注册到该仲裁***。租户在服务器端完成服务注册后,服务器端会根据注册信息向组件的代理节点下发部署指令,相应的代理节点对需要部署为双活(或多活)数据中心的组件进行初始化操作,代理节点可将所部署组件的状态信息上报至server。
进一步,租户可以通过console提供的前台管理界面,查看组件的主-备状态、关键监控指标数据等,还可以根据需要管理组件的生命周期,包括但不限于对组件进行启动、停止、倒换等操作。当发生故障事件时,服务器可以作为仲裁设备,根据故障事件涉及的故障对象、对应的故障场景以及仲裁策略,对故障对象进行仲裁管理,以确保双活(或多活)数据中心的高性。
下面以双活数据中心为例介绍本申请实施例的仲裁方案。
图3示出了本申请实施例的用于双活数据中心的仲裁方法的流程示意图。该方法可由图2所示的仲裁***实现。如图3所示,从节点层面而言,该仲裁方法可以包括以下步骤:
S310:当发生故障事件时,仲裁设备在所述第一数据中心中确定故障对象。
S320:当所述故障对象包括所述第一数据中心的主节点时,仲裁设备从多个备选节点中选择目标节点代替所述第一数据中心中的主节点提供服务,其中,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;当所述故障对象不包括所述第一数据中心的主节点时,仲裁设备使所述第一数据中心继续提供服务。
需要说明的是,本申请实施例中,故障对象可能的形态,可以包括但不限于是数据中心、数据中心中的节点、或者部署在数据中心的节点的组件。相应地,用于在发生故障事件时代替故障对象提供服务的备选对象,可以与故障对象的形态相同,包括但不限于是数据中心、数据中心中的节点、或者部署在数据中心的某个节点的组件。本申请实施例中,仲裁过程中可以根据涉及的具体故障对象的形态以及具体故障情形进行仲裁管理。
比如,从数据中心下的节点粒度而言,第一数据中心中可以包括关联同一服务的主节点和备节点,第二数据中心中可以包括关联同一服务的主节点和备节点,当发生故障事件时,仲裁方法可以是前文描述中,从多个备选节点中选择目标节点代替故障的主节点提供服务,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;当所述故障对象不包括所述第一数据中心的主节点时,则无需进行上述节点代替步骤。
再比如,从数据中心粒度而言,第一数据中心可以是关联同一服务的主数据中心,第二数据中心可以是备选数据中心,当发生故障事件时,仲裁方法可以包括:当所述故障对象包括所述第一数据中心时,以所述第二数据中心代替所述第一数据中心提供服务;当所述故障对象不包括所述第一数据中心时,使所述第一数据中心继续提供服务。相似地,该第二数据中心为主节点时,则可以在该第二数据中心发生故障事件时,以备选的该第一数据中心代替该第二数据中心提供服务。
又比如,从部署在节点的组件粒度而言,同一服务的处于主状态(比如激活状态)的组件以及处于备用状态的组件可以部署在相同或不同的节点(可以是相同数据中心的节点,也可以是不同数据中心的节点),当发生故障事件时,仲裁方法可以包括:基于组件粒度,当所述故障对象包括所述第一数据中心/第二数据中心的处于主状态的组件时,从该故障组件的多个备用组件中选择目标组件代替所述故障组件提供服务,该故障组件的多个备用组件可以包括第一数据中心的备用组件和/或第二数据中心的备用组件;当故障对象不包括处于主状态的组件时,使所述处于主状态的组件继续提供服务。
本申请实施例中,租户可以根据自身需要的应用场景或业务场景,自主选择和配置故障事件的检测粒度以及不同粒度下故障对象对应的仲裁机制,从而可以从不同的层面实施对双活数据中心的可靠、高效的管理,提升仲裁***整体的可靠性。
为便于理解,下面按照组件注册过程、故障仲裁过程,分阶段对图3所示的方法步骤以及用于实现该仲裁方法的其它相关步骤进行详细介绍。
(一)、组件注册过程
本申请实施例中,仲裁***的数据中心可以为双活数据中心或者多活数据中心,为便于区分,双活数据中心可以包括第一数据中心和第二数据中心,多活数据中心可以包括第一数据中心、第二数据中心和第三数据中心等。用户可以预先基于服务注册的接口定义,将自身所需的具备容灾仲裁能力的带状态组件注册到该仲裁***的不同数据中心,仲裁***可以对不同数据中心的组件进行集群管理(或者称为组件管理)和集群监控。
示例地,仲裁***提供的组件注册格式可以如下所示:
仲裁***可以提供控制台管理接口以供租户进行配置。在组件注册过程中,租户的用户设备可以显示相应的控制台管理界面,租户可以根据自身的业务对组件的使用需求在,控制台管理界面的相关属性配置项输入或选择与上述组件注册信息类似的参数,以完成组件注册。
示例地,在组件注册过程涉及的控制台管理界面可以如图4a所示,对于“组件对接”功能,该界面可以包括用于输入或选择服务名、组件名、组件部署状态信息、管控插件、启动超时时间、停止超时时间、倒换超时时间、状态检查超时时间、状态检查间隔、异常倒换敏感度等的属性配置项,租户可以在相关属性配置项输入或选择相应的参数,并点击“对接(或称为注册)”按钮,完成组件注册所需的相关参数配置。
组件的注册信息可以包括对相关属性配置项输入或选择的参数。包括但不限于组件的以下至少一项信息:类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
租户的用户设备可以通过控制台管理接口,将组件的注册信息发送给服务器。服务器可以接收来自租户的用户设备的注册信息,所述注册信息用于指示待部署到双活(或多活)数据中心的组件。服务器还可以在后端存储器保存组件的注册信息作为组件的初始状态信息。根据所述注册信息,服务器可以在所述仲裁***注册所述组件,并在仲裁***的双活(或多活)数据中心的相应节点部署所述组件。比如,服务器可以将组件的注册信息下发给代理节点,代理节点会根据组件的注册信息,对组件进行初始化操作,以完成组件的部署。
组件部署完成后,租户可以通过图4b所示的管理界面,通过‘配置管理’功能,更改对已部署组件的配置参数,管理组件的生命周期,包括组件的启动、停止、重启、倒换等操作。代理节点也可以将已部署组件的状态信息上报给服务器,服务器可以根据代理节点上报的状态信息更新后端存储的状态信息,并可以根据组件的实时状态信息对组件进行状态管理和集群监控。例如,基于组件部署时所配置的管控插件、各种超时时间参数等,代理节点还可以主动监测组件的状态,并向服务器上报,以便服务器能够及时获知是否存在组件发生故障事件。再例如,租户可以通过如图4c管理界面,以高斯数据库(GaussDB)、rabbitmq、redis等服务为例,在“状态管理”功能,查看/更改组件的主-备状态,租户可以通过勾选“操作”配置项下的不同标记符号(图中仅以“设置”简单示意,并不限定不同操作对应的标记符号),人工管理组件的生命周期,包括组件的启动、停止、重启、倒换等操作。又例如,租户可以通过如图4d所示的管理界面进行集群监控,查看关键监控指标的信息。
租户的用户设备可以通过控制台管理接口,将对待管理组件的更新的配置参数发送给服务器,服务器可以更新后端存储器中保存的组件状态信息,同时,服务器可以根据对待管理组件的更新的配置参数向代理节点发送变更指令,代理节点会根据该变更指令,管理组件的状态、生命周期等。
应理解,上述通过控制台管理界面实现组件注册、组件管理以及集群监控等功能仅是示例,并不限定这些功能的具体实现方式,在此不再赘述。
(二)、故障仲裁过程
本申请实施例中,双活(或多活)数据中心中的每个数据中心可以包括主节点(例如优先AZ)和备选节点(例如备AZ),主节点可以部署某种业务的处于active状态的组件,备选节点可以部署某种业务的处于standby状态的组件。其中,当发生故障事件时,仲裁设备需要先确定故障对象,即故障点所在的位置。进一步,仲裁设备需要根据故障对象对应的仲裁策略进行仲裁和切换过程,以保障业务的连续性。
比如,第一数据中心为主数据中心、第二数据中心为备选数据中心,当故障对象为整个数据中心,比如第一数据中心时,仲裁设备可以以备选的第二数据中心代替第一数据中心提供服务。
又比如,当故障对象包括数据中心的主节点时,仲裁设备可以从该主节点的多个备选节点中选择目标节点代替数据中心中的故障主节点提供服务,所述多个备选节点包括双活(或多活)数据中心中的全部备选节点。例如双活数据中心中第一数据中心的备选节点和/或第二数据中心的备选节点。当所述故障对象不包括数据中心的主节点时,使主节点的组件继续提供服务。也就是说,从节点层面,只有在故障点位于主节点时触发仲裁设备对故障对象执行仲裁管理。
又比如,当故障对象包括某一服务的处于主状态的组件(简称为主组件)时,仲裁设备可以从与该故障的主组件关联同一服务的多个备用组件中选择目标组件代替该主组件提供服务,该多个备用组件可以包括双活(或多活)数据中心中的全部备用组件,可以是第一数据中心中的备用组件和/或第二数据中心中的备用组件。当故障对象不包括主组件时,使主组件继续提供服务。也就是说,从组件层面,只有在故障点位于主组件时触发仲裁设备对故障对象执行仲裁管理。
在双活容灾部署模式下,故障情形具体可以如图5所示,包括以下情形:
1、仲裁设备故障:
其中,该情形下,集群状态无变化,业务正常,无需进行组件的主备状态切换。
2、备AZ故障/双AZ之间通信故障:
其中,该情形下,备AZ的组件自主故障,业务正常,无需进行组件的主备状态切换。
3、优先AZ故障:
其中,该情形下,需要发生故障的组件进行主备状态切换,故障组件由active状态切换到standby状态,备AZ的目标组件由standby状态切换到active状态,主备切换过程中,业务经过短暂中断(例如30s)后恢复。
4、仲裁站点故障后,备AZ也故障:
其中,该情形下,active状态的组件正常,业务正常,无需进行组件的主备状态切换。
5、备AZ故障后,仲裁站点也故障:
其中,该情形下,active状态的组件正常,业务正常,无需进行组件的主备状态切换。
6、仲裁站点故障后,优先AZ也故障:
其中,该情形下,active状态的组件故障,业务异常,需要发生故障的组件进行主备状态切换,故障组件由active状态切换到standby状态,备AZ的目标组件由standby状态切换到active状态,主备切换过程中,业务经过短暂中断(例如30s)后恢复。
7、优先AZ故障后,仲裁站点也故障:
其中,该情形下,active状态的组件故障,业务异常,需要发生故障的组件进行主备状态切换,故障组件由active状态切换到standby状态,备AZ的目标组件由standby状态切换到active状态,主备切换过程中,业务经过短暂中断(例如30s)后恢复。
8、优先AZ故障后,备AZ也故障:
其中,该情形下,active状态的组件故障,业务异常,需要发生故障的组件进行主备状态切换,故障组件由active状态切换到standby状态,备AZ的目标组件由standby状态切换到active状态。
9、备AZ故障后,优先AZ也故障:
其中,该情形下,active状态的组件故障,业务异常,需要发生故障的组件进行主备状态切换,故障组件由active状态切换到standby状态,备AZ的目标组件由standby状态切换到active状态。
10、优先AZ故障和仲裁站点故障后,备AZ也故障:
其中,该情形下,active状态的组件故障,业务异常,需要发生故障的组件进行主备状态切换,故障组件由active状态切换到standby状态,备AZ的目标组件由standby状态切换到active状态。
11、备AZ故障和仲裁站点故障后,优先AZ也故障:
其中,该情形下,active状态的组件故障,业务异常,需要发生故障的组件进行主备状态切换,故障组件由active状态切换到standby状态,备AZ的目标组件由standby状态切换到active状态。
仲裁设备的运营商可以预先设置和保存针对上述的不同故障情形的仲裁策略,当发生故障事件时,仲裁设备(例如图2所示的服务器)可以根据故障情形以及相应的仲裁策略,对故障对象进行仲裁管理,并使发生故障的组件由active状态切换到standby状态、评选出的目标组件由standby状态切换到active状态,以代替故障组件继续提供服务。
其中,仲裁设备在进行主备仲裁时,可以使用到代理节点上报的多维度信息作为仲裁依据,以确定仲裁***中当前能够代替故障主节点提供服务的多个备选节点(即当前的多个备选节点),并从当前的多个备选节点中选择目标节点代替提供服务。示例地,仲裁依据可以包括以下至少一项:备选节点的数据同步率;备选节点的负载状态,例如CPU负载、内存负载、磁盘读/写负载、网络延时或丢包率、备选节点所属站点的位置等。
基于以上仲裁依据,在某种业务的处于active状态的组件发生故障时,仲裁设备例如可以从所部署的该业务的处于standby状态的组件中,选择满足以下至少一项条件的备选节点作为备选节点:(1)所述备选节点的数据同步率大于或等于第一阈值;(2)所述备选节点的负载(包括但不限于CPU负载、内存负载、磁盘读/写负载、网络延时或丢包率中的至少一项)小于或等于第二阈值。可以理解的是,不同参数的评估阈值可以不同,本申请实施例对阈值的具体数值不做限定。
一种可选的实现方式中,仲裁设备可以绘制备选升主节点列表,该列表可以汇总不同组件及其所属节点的仲裁表项信息。在发生上述1-11所述的故障情形时,一方面,仲裁设备可以检查当前各个备选升主节点组件的数据同步率,若某个备选升主节点组件的数据同步率小于第一阈值,则可以从该列表删除,即暂不作为备选节点。另一方面,仲裁设备可以检查当前备选升主节点的负载状态,若CPU负载/内存负载/磁盘读/写负载/网络延时/丢包率大于相应的第二阈值,则需要从该列表删除,也暂不作为备选节点。进一步,仲裁设备可以从当前的多个备选节点随机选择或者按照预设规则选择目标节点。
示例地,故障对象对应的仲裁策略可以包括:优先选择与当前的故障主节点在同一站点的备选节点作为目标节点。
也就是说,优先在同一站点进行主备切换,其次进行跨站点的主备切换。
一种可选的实现方式中,也可以为备选节点赋予优先级,按照不同的优先级选择目标节点。例如,与故障主节点位于同一站点的备选节点的优先级,高于与故障主节点位于不同站点的优先级。若同一站点也没有备选节点,还可以按照空间距离、网络状态等,尽可能地选择与故障主节点距离更近、或者网络通信更优的备选节点作为目标节点。本申请实施例对该目标节点的选择规则不做限定。
示例地,故障对象对应的仲裁策略还可以包括:在当前无的备选节点时,向租户发送第一告警信息,故障主节点继续提供服务;当所述故障对象还包括仲裁设备时,向所述租户发送第二告警信息。
也就是说,如果当前列表中没有备选节点,仲裁设备可以保持当前主备状态不变,通过向租户发出告警,由租户人为介入,以对故障事件进行处理,来保障仲裁***的高性。
在确定需要进行主备状态切换的情形下,服务器作为仲裁设备,可以向代理节点下发仲裁指令,以指示代理节点将故障主节点从active状态切换为standby状态,将目标节点从standby状态切换为active状态,由目标节点代替故障主节点继续提供服务,实现业务。
图6示出了本申请实施例的仲裁方法的流程图。其中,上述仲裁方案中涉及的各个过程可以按照不同的业务场景划分为以下步骤:
组件注册阶段:
S11:租户通过在其用户设备呈现的控制台管理界面注册组件。
S12:控制台管理界面获取租户的注册信息,并通过控制台管理接口,向服务器发送组件的注册信息。
S13:服务器在后端存储器存储组件的注册信息作为初始状态信息,同时根据组件的注册信息向代理节点分发部署指令,该部署指令可以包括组件的注册脚本。
S14:代理节点响应于来自ARB服务器的部署指令,在相应节点部署组件。同时,代理节点可以拉起已部署的组件,并采集组件的状态信息。
S15:代理节点可以向服务器上报组件的状态信息。应理解的是,对于已部署的组件,在下文述及的各个阶段,代理节点后续均可以实时地或周期性地拉起组件并采集组件的状态信息。
S16:服务器向租户的用户设备发送组件的注册结果。
S17:控制台管理界面向租户显示注册结果。
查询组件状态阶段:
S21:租户通过控制台管理界面发起查询组件的状态信息的请求。
S22:控制台管理界面通过控制台管理接口向服务器发送查询组件的状态信息的请求。
S23:服务器从后端存储器获取组件的状态信息,并通过控制台管理接口向控制台管理界面返回查询结果。
S24:控制台管理界面向租户显示查询结果。
查询组件的监控信息阶段:
S31:租户通过控制台管理界面发起查询组件的监控信息的请求。
S32:控制台管理界面通过控制台管理接口向服务器发送查询组件的监控信息的请求。
S33:服务器从后端存储器获取组件的监控信息,并通过控制台管理接口向控制台管理界面返回查询结果。
S34:控制台管理界面向租户显示查询结果。
租户变更集群状态阶段:
S41:租户通过控制台管理界面发起变更集群(包括一个或多个组件)状态的请求。
S42:控制台管理节点通过控制台管理接口向服务器发送变更集群状态的请求,包括集群中的一个或多个组件的配置更新参数。
S43:服务器根据一个或多个组件的配置更新参数,向代理节点下发集群操命令。
S44:代理节点调用注册脚本实施一个或多个组件的状态变更操作,例如组件的启动、停止、倒换等。
S45:代理节点向服务器返回执行结果。
S46:服务器通过控制台管理接口向控制台管理界面发送执行结果。
S47:控制台管理节点向租户显示集群的状态变更结果。
故障仲裁阶段:
S51:仲裁***发生故障事件。
S52:服务器作为仲裁设备确定发生故障事件,例如主节点状态信息超时未上报。可以理解的是,该故障事件可能是主节点故障触发的、也可能是主节点与仲裁设备节点之间的通信故障触发,本申请实施例对该故障事件的触发情形不做限定)。
S53:服务器启动自动仲裁机制,根据前文述及的11种情形分别对应的仲裁策略,根据故障对象是否包括主节点确定是否启动主备状态切换过程。
S54:在确定故障对象包括主节点的情况下,根据前文述及的仲裁策略,在当前的多个备选节点中选择目标节点,并向代理节点下状态切换指令,以使目标节点从standby状态切换为active状态,即备选组件升主。
S55:代理节点响应于来自服务器的状态切换指令,调用目标节点和故障主节点的注册脚本,以使目标节点standby状态切换为active状态,即备选组件升主,故障主节点从active状态切换为standby状态,即主降备。
S56:代理节点向服务器上报状态变更结果。
上述仲裁方案,以双活容灾场景下的各种故障情形为例,提供了一种公共的主备仲裁能力,仅需根据对接的接口定义,编写少量脚本插件,即可对接到该仲裁***获得高可靠的双活容灾能力。该本***还集成组件部署的状态可视化展示、组件生命周期管理、节点的操作***(Operating System,OS)关键指标以及组件的关键指标的监控、告警,可以提供一站式的管理能力。
结合上述方法实施例,本申请实施例还提供了一种通信装置,该通信装置于执行上述方法实施例中的仲裁设备(例如服务器)以及租户的用户设备所执行的方法。
如图7所示,该通信装置700可以为仲裁设备,包括:确定单元701,用于当发生故障事件时,在所述第一数据中心中确定故障对象;仲裁单元702,用于当所述故障对象包括所述第一数据中心的主节点时,从多个备选节点中选择目标节点代替所述第一数据中心中的主节点提供服务,其中,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;当所述故障对象不包括所述第一数据中心的主节点时,使所述第一数据中心继续提供服务。
一种可选的实现方式中,所述当发生故障事件时,在所述第一数据中心中确定故障对象,包括:当发生所述故障事件时,在所述第一数据中心、所述第二数据中心和仲裁设备中确定所述故障对象。
一种可选的实现方式中,所述多个备选节点中的每个备选节点满足以下至少一项条件:所述备选节点的数据同步率大于或等于第一阈值,其中,所述数据同步率用于表征所述备选节点与相应主节点之间的数据同步状态;或者,所述备选节点的负载小于或等于第二阈值。
一种可选的实现方式中,所述备选节点的负载包括以下至少一项:中央处理器CPU负载、内存负载、磁盘读/写负载、网络延时或丢包率。
一种可选的实现方式中,所述第一数据中心的备选节点的优先级高于所述第二数据中心的备选节点的优先级。
一种可选的实现方式中,所述故障对象对应的仲裁策略还包括:在无备选节点时,向租户发送第一告警信息,所述第一数据中心继续提供服务;当所述故障对象还包括所述仲裁设备时,向所述租户发送第二告警信息。
一种可选的实现方式中,所述装置还包括:通信单元,用于接收来自租户的用户设备UE的注册信息,所述注册信息用于指示待部署到所述第一数据中心和/或所述第二数据中心的组件;部署单元,用于根据所述注册信息,在所述仲裁设备注册所述组件,并在所述第一数据中心的相应节点和/或所述第二数据中心的相应节点部署所述组件。
一种可选的实现方式中,所述注册信息包括所述组件的以下至少一项信息:类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
一种可选的实现方式中,所述装置还包括:通信单元,用于接收来自客户端的监测数据,所述监测数据用于指示部署在所述客户端所属节点的组件是否发生所述故障事件。
一种可选的实现方式中,所述仲裁单元用于:通过所述通信单元接收来自租户的UE的查询请求,所述查询请求用于指示待查询的目标组件;根据所述查询请求,通过所述通信单元向所述UE反馈所述目标组件的状态信息和/或监控指标数据,所述目标组件的状态信息和/或监控指标数据用于指示是否发生所述故障事件。
一种可选的实现方式中,所述仲裁单元用于:通过通信单元接收来自租户的UE的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;根据所述变更请求,通过通信单元向客户端发送变更指令,所述变更指令用于指示对所述目标组件执行状态变更操作。
一种可选的实现方式中,所述状态变更操作包括以下至少一项:启动、停止、倒换。
一种可选的实现方式中,所述仲裁设备为云服务器。
如图8所示,通信装置800可以为租户的用户设备,包括:显示单元801,用于显示仲裁管理界面;获取单元802,用于通过所述仲裁管理界面,获取租户的注册信息,所述注册信息用于指示需要部署到第一数据中心和/或第二数据中心的组件;通信单元803,用于向仲裁设备发送所述注册信息。
一种可选的实现方式中,所述注册信息包括所述组件的以下至少一项信息:类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
一种可选的实现方式中,所述获取单元还用于:通过所述仲裁管理界面,获取所述租户的查询请求,所述查询请求用于指示待查询的目标组件;所通信单元还用于向所述仲裁设备发送所述查询请求;从所述仲裁设备接收响应于所述查询请求的状态信息和/或监控指标数据;所述显示单元还用于显示所述状态信息和/或所述监控指标数据。
一种可选的实现方式中,所述获取单元还用于:通过所述仲裁管理界面,获取所述租户的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;所通信单元还用于向所述仲裁设备发送所述变更请求,以使所述仲裁设备对所述目标组件执行状态变更操作。
一种可选的实现方式中,所述状态变更操作包括以下至少一项:启动、停止、倒换。
一种可选的实现方式中,所述仲裁设备为云服务器。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在一个简单的实施例中,本领域的技术人员可以想到上述实施例中的仲裁设备或用户设备均可采用图9所示的形式。如图9所示的通信装置900,包括至少一个处理器910、存储器920,可选的,还可以包括通信接口930。
存储器920可以是易失性存储器,例如随机存取存储器;存储器也可以是非易失性存储器,例如只读存储器,快闪存储器,硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)、或者存储器920是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器920可以是上述存储器的组合。
本申请实施例中不限定上述处理器910以及存储器920之间的具体连接介质。
在如图9的装置中,还包括通信接口930,处理器910在与其他设备进行通信时,可以通过通信接口930进行数据传输。
当仲裁设备采用图9所示的形式时,图9中的处理器910可以通过调用存储器920中存储的计算机执行指令,使得装置900可以执行上述任一方法实施例中仲裁设备所执行的方法。
当租户侧用户设备采用图9所示的形式时,图9中的处理器910可以通过调用存储器920中存储的计算机执行指令,使得设备900可以执行上述任一方法实施例中租户侧用户设备所执行的方法。
本申请实施例还涉及一种芯片***,该芯片***包括处理器,用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行上述方法实施例。
在一种可能的实现方式中,该处理器通过接口与存储器耦合。
在一种可能的实现方式中,该芯片***还包括存储器,该存储器中存储有计算机程序或计算机指令。
本申请实施例还涉及一种处理器,该处理器用于调用存储器中存储的计算机程序或计算机指令,以使得该处理器执行上述方法实施例。
其中,上述任一处提到的处理器,可以是一个通用中央处理器,微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制上述图9所示的实施例中的方法的程序执行的集成电路。上述任一处提到的存储器可以为只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。
应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机程序代码的计算机存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (40)

1.一种用于双活数据中心的仲裁方法,其特征在于,所述双活数据中心包括第一数据中心和第二数据中心,所述方法包括:
当发生故障事件时,在所述第一数据中心中确定故障对象;
当所述故障对象包括所述第一数据中心的主节点时,从多个备选节点中选择目标节点代替所述第一数据中心中的主节点提供服务,其中,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;
当所述故障对象不包括所述第一数据中心的主节点时,使所述第一数据中心继续提供服务。
2.根据权利要求1所述的方法,其特征在于,所述当发生故障事件时,在所述第一数据中心中确定故障对象,包括:
当发生所述故障事件时,在所述第一数据中心、所述第二数据中心和仲裁设备中确定所述故障对象。
3.根据权利要求2所述的方法,其特征在于,所述多个备选节点中的每个备选节点满足以下至少一项条件:
所述备选节点的数据同步率大于或等于第一阈值,其中,所述数据同步率用于表征所述备选节点与相应主节点之间的数据同步状态;或者
所述备选节点的负载小于或等于第二阈值。
4.根据权利要求3所述的方法,其特征在于,所述备选节点的负载包括以下至少一项:中央处理器CPU负载、内存负载、磁盘读/写负载、网络延时或丢包率。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述第一数据中心的备选节点的优先级高于所述第二数据中心的备选节点的优先级。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:
在无备选节点时,向租户发送第一告警信息,并使所述第一数据中心继续提供服务;
当所述故障对象还包括所述仲裁设备时,向所述租户发送第二告警信息。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
接收来自租户的用户设备UE的注册信息,所述注册信息用于指示待部署到所述第一数据中心和/或所述第二数据中心的组件;
根据所述注册信息,在所述仲裁设备注册所述组件,并在所述第一数据中心的相应节点和/或所述第二数据中心的相应节点部署所述组件。
8.根据权利要求7所述的方法,其特征在于,所述注册信息包括所述组件的以下至少一项信息:
类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:
接收来自客户端的监测数据,所述监测数据用于指示部署在所述客户端所属节点的组件是否发生所述故障事件。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收来自租户的UE的查询请求,所述查询请求用于指示待查询的目标组件;
根据所述查询请求向所述UE反馈所述目标组件的状态信息和/或监控指标数据,所述目标组件的状态信息和/或监控指标数据用于指示是否发生所述故障事件。
11.根据权利要求1-10中任一项所述的方法,其特征在于,所述方法还包括:
接收来自租户的UE的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;
根据所述变更请求,向客户端发送变更指令,所述变更指令用于指示对所述目标组件执行状态变更操作。
12.根据权利要求11所述的方法,其特征在于,所述状态变更操作包括以下至少一项:启动、停止、倒换。
13.根据权利要求2-12中任一项所述的方法,其特征在于,所述仲裁设备为云服务器。
14.一种用于双活数据中心的仲裁方法,其特征在于,所述仲裁方法包括:
显示仲裁管理界面;
通过所述仲裁管理界面,获取租户的注册信息,所述注册信息用于指示需要部署到第一数据中心和/或第二数据中心的组件;
向仲裁设备发送所述注册信息。
15.根据权利要求14所述的方法,其特征在于,所述注册信息包括所述组件的以下至少一项信息:
类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
16.根据权利要求14或15所述的方法,其特征在于,所述仲裁方法还包括:
通过所述仲裁管理界面,获取所述租户的查询请求,所述查询请求用于指示待查询的目标组件;
向所述仲裁设备发送所述查询请求;
从所述仲裁设备接收响应于所述查询请求的状态信息和/或监控指标数据;
显示所述状态信息和/或所述监控指标数据。
17.根据权利要求14-16中任一项所述的方法,其特征在于,所述仲裁方法还包括:
通过所述仲裁管理界面,获取所述租户的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;
向所述仲裁设备发送所述变更请求,以使所述仲裁设备对所述目标组件执行状态变更操作。
18.根据权利要求17所述的方法,其特征在于,所述状态变更操作包括以下至少一项:启动、停止、倒换。
19.根据权利要求14-18中任一项所述的方法,其特征在于,所述仲裁设备为云服务器。
20.一种用于双活数据中心的仲裁装置,其特征在于,所述双活数据中心包括所述第一数据中心和所述第二数据中心,所述仲裁装置包括:
确定单元,用于当发生故障事件时,在所述第一数据中心中确定故障对象;
仲裁单元,用于当所述故障对象包括所述第一数据中心的主节点时,从多个备选节点中选择目标节点代替所述第一数据中心中的主节点提供服务,其中,所述多个备选节点包括所述第一数据中心的备选节点和/或所述第二数据中心的备选节点;当所述故障对象不包括所述第一数据中心的主节点时,使所述第一数据中心继续提供服务。
21.根据权利要求20所述的装置,其特征在于,所述确定单元用于:
当发生所述故障事件时,在所述第一数据中心、所述第二数据中心和仲裁设备中确定所述故障对象。
22.根据权利要求21所述的装置,其特征在于,所述多个备选节点中的每个备选节点满足以下至少一项条件:
所述备选节点的数据同步率大于或等于第一阈值,其中,所述数据同步率用于表征所述备选节点与相应主节点之间的数据同步状态;或者
所述备选节点的负载小于或等于第二阈值。
23.根据权利要求22所述的装置,其特征在于,所述备选节点的负载包括以下至少一项:中央处理器CPU负载、内存负载、磁盘读/写负载、网络延时或丢包率。
24.根据权利要求20-23中任一项所述的装置,其特征在于,所述第一数据中心的备选节点的优先级高于所述第二数据中心的备选节点的优先级。
25.根据权利要求20-24中任一项所述的装置,其特征在于,所述仲裁单元还用于:
在无备选节点时,向租户发送第一告警信息,并使所述第一数据中心继续提供服务;
当所述故障对象还包括所述仲裁设备时,向所述租户发送第二告警信息。
26.根据权利要求20-25中任一项所述的装置,其特征在于,所述装置还包括:
通信单元,用于接收来自租户的用户设备UE的注册信息,所述注册信息用于指示待部署到所述第一数据中心和/或所述第二数据中心的组件;
部署单元,用于根据所述注册信息,在所述仲裁设备注册所述组件,并在所述第一数据中心的相应节点和/或所述第二数据中心的相应节点部署所述组件。
27.根据权利要求26所述的装置,其特征在于,所述注册信息包括所述组件的以下至少一项信息:
类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
28.根据权利要求20-27中任一项所述的装置,其特征在于,所述装置还包括:
通信单元,用于接收来自客户端的监测数据,所述监测数据用于指示部署在所述客户端所属节点的组件是否发生所述故障事件。
29.根据权利要求28所述的装置,其特征在于,所述仲裁单元用于:
通过所述通信单元接收来自租户的UE的查询请求,所述查询请求用于指示待查询的目标组件;
根据所述查询请求,通过所述通信单元向所述UE反馈所述目标组件的状态信息和/或监控指标数据,所述目标组件的状态信息和/或监控指标数据用于指示是否发生所述故障事件。
30.根据权利要求20-29中任一项所述的装置,其特征在于,所述仲裁单元用于:
通过通信单元接收来自租户的UE的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;
根据所述变更请求,通过通信单元向客户端发送变更指令,所述变更指令用于指示对所述目标组件执行状态变更操作。
31.根据权利要求30所述的装置,其特征在于,所述状态变更操作包括以下至少一项:启动、停止、倒换。
32.根据权利要求21-31中任一项所述的装置,其特征在于,所述仲裁设备为云服务器。
33.一种用于双活数据中心的仲裁装置,其特征在于,所述仲裁装置包括:
显示单元,用于显示仲裁管理界面;
获取单元,用于通过所述仲裁管理界面,获取租户的注册信息,所述注册信息用于指示需要部署到第一数据中心和/或第二数据中心的组件;
通信单元,用于向仲裁设备发送所述注册信息。
34.根据权利要求33所述的装置,其特征在于,所述注册信息包括所述组件的以下至少一项信息:
类型、服务名称、组件名称、父节点、关联的管理账户信息、关联的脚本信息、待部署节点的标识、通信地址、所属站点或所包括的组件的主-备状态。
35.根据权利要求33或34所述的装置,其特征在于,所述获取单元还用于:
通过所述仲裁管理界面,获取所述租户的查询请求,所述查询请求用于指示待查询的目标组件;
所通信单元还用于向所述仲裁设备发送所述查询请求;从所述仲裁设备接收响应于所述查询请求的状态信息和/或监控指标数据;
所述显示单元还用于显示所述状态信息和/或所述监控指标数据。
36.根据权利要求33-35中任一项所述的装置,其特征在于,所述获取单元还用于:
通过所述仲裁管理界面,获取所述租户的变更请求,所述变更请求用于指示对部署在所述第一数据中心和/或所述第二数据中心的目标组件的状态变更;
所通信单元还用于向所述仲裁设备发送所述变更请求,以使所述仲裁设备对所述目标组件执行状态变更操作。
37.根据权利要求36所述的装置,其特征在于,所述状态变更操作包括以下至少一项:启动、停止、倒换。
38.根据权利要求33-37中任一项所述的装置,其特征在于,所述仲裁设备为云服务器。
39.一种用于双活数据中心的仲裁***,其特征在于,所述仲裁***包括仲裁设备和用户设备,所述仲裁设备用于实现如权利要求1-13中任一项所述的仲裁方法,所述用户设备用于实现如权利要求14-19中任一项所述的仲裁方法。
40.一种计算机可读介质,其特征在于,用于存储计算机程序,该计算机程序包括用于执行如权利要求1-13中任一项所述的仲裁方法的指令,或者执行如权利要求14-19中任一项所述的仲裁方法的指令。
CN202210157330.6A 2022-02-21 2022-02-21 一种用于双活数据中心的仲裁方法、装置及*** Pending CN116668269A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210157330.6A CN116668269A (zh) 2022-02-21 2022-02-21 一种用于双活数据中心的仲裁方法、装置及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210157330.6A CN116668269A (zh) 2022-02-21 2022-02-21 一种用于双活数据中心的仲裁方法、装置及***

Publications (1)

Publication Number Publication Date
CN116668269A true CN116668269A (zh) 2023-08-29

Family

ID=87724786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210157330.6A Pending CN116668269A (zh) 2022-02-21 2022-02-21 一种用于双活数据中心的仲裁方法、装置及***

Country Status (1)

Country Link
CN (1) CN116668269A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117614805A (zh) * 2023-11-21 2024-02-27 杭州沃趣科技股份有限公司 一种监控数据中心状态的数据处理***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117614805A (zh) * 2023-11-21 2024-02-27 杭州沃趣科技股份有限公司 一种监控数据中心状态的数据处理***

Similar Documents

Publication Publication Date Title
EP3694148B1 (en) Configuration modification method for storage cluster, storage cluster and computer system
US9450700B1 (en) Efficient network fleet monitoring
EP3620905B1 (en) Method and device for identifying osd sub-health, and data storage system
EP3518110B1 (en) Designation of a standby node
CN112887368B (zh) 对复制型数据库的访问进行负载平衡
CN105814544B (zh) 用于支持分布式数据网格中的持久化分区恢复的***和方法
CN102394914A (zh) 集群脑裂处理方法和装置
CN110417600B (zh) 分布式***的节点切换方法、装置及计算机存储介质
CN111800484B (zh) 机动边缘信息服务***的服务抗毁接替方法
CN115248826B (zh) 一种大规模分布式图数据库集群运维管理的方法和***
CN111708668A (zh) 集群故障的处理方法、装置及电子设备
CN108243031B (zh) 一种双机热备的实现方法及装置
CN113489149B (zh) 基于实时状态感知的电网监控***业务主节点选取方法
CN116668269A (zh) 一种用于双活数据中心的仲裁方法、装置及***
CN106878096B (zh) Vnf状态检测通告方法、装置以及***
US20050234919A1 (en) Cluster system and an error recovery method thereof
CN111309515B (zh) 一种容灾控制方法、装置及***
CN111404737B (zh) 一种容灾处理方法以及相关装置
CN102546250B (zh) 一种基于主备机制的文件发布方法及***
CN113765690A (zh) 集群切换方法、***、装置、终端、服务器及存储介质
CN115150253B (zh) 一种故障根因确定方法、装置及电子设备
CN111355605A (zh) 一种云平台的虚拟机故障恢复方法及服务器
CN107590032A (zh) 存储集群故障转移的方法及存储集群***
CN113986450A (zh) 一种虚拟机备份方法及装置
CN110266790B (zh) 边缘集群管理方法、装置、边缘集群及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication