CN111866041A - 业务设备选取、云存储集群更新的方法、装置及存储介质 - Google Patents

业务设备选取、云存储集群更新的方法、装置及存储介质 Download PDF

Info

Publication number
CN111866041A
CN111866041A CN201910351117.7A CN201910351117A CN111866041A CN 111866041 A CN111866041 A CN 111866041A CN 201910351117 A CN201910351117 A CN 201910351117A CN 111866041 A CN111866041 A CN 111866041A
Authority
CN
China
Prior art keywords
storage device
node
virtual
deployed
storage
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.)
Granted
Application number
CN201910351117.7A
Other languages
English (en)
Other versions
CN111866041B (zh
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.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology 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 Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201910351117.7A priority Critical patent/CN111866041B/zh
Publication of CN111866041A publication Critical patent/CN111866041A/zh
Application granted granted Critical
Publication of CN111866041B publication Critical patent/CN111866041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种业务设备选取、云存储集群更新的方法、装置及存储介质,涉及云存储技术领域。云存储集群包括第一存储设备和第二存储设备,第一存储设备设置自身部署的至少两个虚拟节点的角色信息,获取第二存储设备部署的至少两个虚拟节点的角色信息,基于角色信息从自身以及第二存储设备各自部署的至少两个虚拟节点中选择一个节点作为主节点,将云存储集群的虚拟地址挂载到主节点所在的存储设备上,以通过主节点对外提供服务。也即是,当存储设备的资源比较紧张,即只有两个存储设备时,可以将这两个存储设备组成云存储集群并通过主节点对外提供服务,因此,本申请提供的云存储集群具备高可用性的特点。

Description

业务设备选取、云存储集群更新的方法、装置及存储介质
技术领域
本申请涉及云存储技术领域,特别涉及一种业务设备选取、云存储集群更新的方法、装置及存储介质。
背景技术
云存储系统是一种利用云存储集群中的存储设备对外提供服务的系统,在对外提供服务时,可以从包括的存储设备中选取一个存储设备作为业务设备,进而通过该业务设备上部署的虚拟节点中的主节点对外提供服务。
目前,云存储集群中通常包括至少三个存储设备,每个存储设备上部署有一个虚拟节点。可以从所有的虚拟节点中选择一个节点作为主节点,然后将云存储集群的虚拟地址挂载到主节点所在的存储设备上,也即将主节点所在的存储设备作为业务设备,进而通过主节点对外提供服务。当主节点所在的存储设备异常时,可以从剩余的虚拟节点中重新选择一个节点作为主节点,将云存储集群的虚拟地址挂载到重新确定的主节点所在的存储设备上。
由于组建云存储集群的要求是需要至少三个虚拟节点,因此,当存储设备的资源比较紧张,即存储设备的数量少于三个时,只能组建单机云存储,也即是,只能通过单个存储设备上的虚拟节点对外提供服务,无法按照上述方法组建出具备高可用性的云存储集群。
发明内容
本申请实施例提供了一种业务设备选取、云存储集群更新的方法、装置及存储介质,可以解决当存储设备的数量少于三个时,只能通过单个存储设备上的虚拟节点对外提供服务,无法组建出具备高可用性的云存储集群的问题。
第一方面,提供了一种业务设备选取的方法,应用于云存储集群中的第一存储设备上,所述云存储集群还包括第二存储设备,所述第一存储设备和所述第二存储设备上均部署有至少两个虚拟节点,所述方法包括:
设置自身部署的至少两个虚拟节点的角色信息;
获取所述第二存储设备部署的至少两个虚拟节点的角色信息;
基于自身部署的至少两个虚拟节点的角色信息以及所述第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及所述第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点;
将所述云存储集群的虚拟地址挂载到所述主节点所在的存储设备上,以通过所述主节点对外提供服务。
可选地,所述设置自身部署的至少两个虚拟节点的角色信息,包括:
确定自身部署的虚拟节点和所述第二存储设备部署的虚拟节点的总数量,将确定的总数量作为第一总数量;
如果所述第一总数量为奇数,则将自身部署的至少两个虚拟节点均设置为接入节点。
可选地,所述确定自身部署的虚拟节点和所述第二存储设备部署的虚拟节点的总数量之后,还包括:
如果所述第一总数量为偶数,则读取本地存储的配置文件中的角色配置项;
如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点,将自身部署的至少两个虚拟节点中剩余的虚拟节点设置为接入节点;
如果读取的角色配置项为第二数值,则将自身部署的至少两个虚拟节点均设置为接入节点。
可选地,所述设置自身部署的至少两个虚拟节点的角色信息之前,还包括:
获取所述第二存储设备的媒体接入控制MAC地址;
如果自身的MAC地址大于所述第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第一数值;
如果自身的MAC地址小于所述第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第二数值。
可选地,所述将所述云存储集群的虚拟地址挂载到所述主节点所在的存储设备上,包括:
如果所述主节点为自身部署的至少两个虚拟节点中的一个节点,则在自身上挂载所述云存储集群的虚拟地址;
如果所述主节点为所述第二存储设备部署的至少两个虚拟节点中的一个节点,则向所述第二存储设备发送地址挂载消息,以指示所述第二存储设备挂载所述云存储集群的虚拟地址。
可选地,所述将所述云存储集群的虚拟地址挂载到所述主节点所在的存储设备上之后,所述方法还包括:
对所述第二存储设备的运行状态进行监测,所述运行状态用于指示存储设备是异常还是正常;
如果通过监测确定所述第二存储设备异常,则确定自身部署的至少两个虚拟节点中的接入节点的数量;
如果确定的接入节点的数量大于或等于1,且所述云存储集群的虚拟地址当前被挂载到所述第二存储设备上,则从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
将所述云存储集群的虚拟地址从所述第二存储设备切换挂载到所述第一存储设备上,以通过重新选择的主节点对外提供服务。
可选地,所述从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点之前,所述方法还包括:
如果自身部署的至少两个虚拟节点中还存在备用节点,则将自身部署的至少两个虚拟节点中的备用节点设置为接入节点。
可选地,所述对所述第二存储设备的运行状态进行监测之后,所述方法还包括:
当通过监测确定所述第二存储设备从异常恢复到正常时,确定自身部署的虚拟节点中的接入节点和所述第二存储设备部署的虚拟节点中的接入节点的总数量,将确定的总数量作为第二总数量;
如果所述第二总数量为偶数,则读取本地存储的配置文件中的角色配置项;
如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点;
在设置备用节点之后,从自身部署的至少两个虚拟节点中的接入节点和所述第二存储设备部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
当重新确定的主节点为所述第二存储设备部署的至少两个虚拟节点中的一个节点时,向所述第二存储设备发送地址挂载消息,以指示所述第二存储设备挂载所述云存储集群的虚拟地址。
可选地,所述方法还包括:
如果所述主节点为自身部署的至少两个虚拟节点中的一个节点,则将所述主节点的关键信息存储在本地;
每隔预定时长更新所述本地上一次存储的关键信息,得到更新的关键信息;
当自身部署的任一虚拟节点中的关键信息丢失时,将所述更新的关键信息导入丢失关键信息的虚拟节点中。
第二方面,提供了一种云存储集群更新的方法,应用于所述云存储集群包括的第一存储设备,所述第一存储设备上部署有一个虚拟节点,所述方法包括:
在自身部署的虚拟节点之外增加至少一个虚拟节点;
获取第二存储设备的设备信息,所述第二存储设备上部署有至少两个虚拟节点;
基于所述第二存储设备的设备信息,将所述第二存储设备加入所述云存储集群,以实现对所述云存储集群的更新。
第三方面,提供一种云存储集群更新的方法,应用于所述云存储集群包括的第一存储设备,所述云存储集群还包括至少两个存储设备,且所述云存储集群包括的每个存储设备上均部署有一个虚拟节点,所述方法包括:
在自身部署的虚拟节点之外增加至少一个虚拟节点;
从所述至少两个存储设备中选择一个存储设备,将选择的存储设备作为第二存储设备;
在所述第二存储设备部署的虚拟节点之外增加至少一个虚拟节点;
将所述云存储集群中除所述第一存储设备和所述第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对所述云存储集群的更新。
可选地,所述从所述至少两个存储设备中选择一个存储设备,包括:
如果所述云存储集群包括的存储设备的数量为奇数,则从所述至少两个存储设备中随机选择一个存储设备;
如果所述云存储集群包括的存储设备的数量为偶数,且所述第一存储设备上原始部署的虚拟节点是备用节点,则从所述至少两个存储设备中选择原始部署的虚拟节点是接入节点的存储设备;
如果所述云存储集群包括的存储设备的数量为偶数,且所述第一存储设备上原始部署的虚拟节点是接入节点,则从所述至少两个存储设备中随机选择一个存储设备。
第四方面,提供一种业务设备选取的装置,应用于云存储集群中的第一存储设备上,所述云存储集群还包括第二存储设备,所述第一存储设备和所述第二存储设备上均部署有至少两个虚拟节点,所述装置包括:
第一设置模块,用于设置自身部署的至少两个虚拟节点的角色信息;
第一获取模块,用于获取所述第二存储设备部署的至少两个虚拟节点的角色信息;
第一选择模块,用于基于自身部署的至少两个虚拟节点的角色信息以及所述第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及所述第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点;
第一挂载模块,用于将所述云存储集群的虚拟地址挂载到所述主节点所在的存储设备上,以通过所述主节点对外提供服务。
可选地,所述第一设置模块包括:
确定子模块,用于确定自身部署的虚拟节点和所述第二存储设备部署的虚拟节点的总数量,将确定的总数量作为第一总数量;
第一设置子模块,用于如果所述第一总数量为奇数,则将自身部署的至少两个虚拟节点均设置为接入节点。
可选地,所述第一设置模块还包括:
读取子模块,用于如果所述第一总数量为偶数,则读取本地存储的配置文件中的角色配置项;
第二设置子模块,用于如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点,将自身部署的至少两个虚拟节点中剩余的虚拟节点设置为接入节点;
第三设置子模块,用于如果读取的角色配置项为第二数值,则将自身部署的至少两个虚拟节点均设置为接入节点。
可选地,所述装置还包括:
第二获取模块,用于获取所述第二存储设备的媒体接入控制MAC地址;
第二设置模块,用于如果自身的MAC地址大于所述第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第一数值;
第三设置模块,用于如果自身的MAC地址小于所述第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第二数值。
可选地,所述第一挂载模块包括:
第一挂载子模块,用于如果所述主节点为自身部署的至少两个虚拟节点中的一个节点,则在自身上挂载所述云存储集群的虚拟地址;
第二挂载子模块,用于如果所述主节点为所述第二存储设备部署的至少两个虚拟节点中的一个节点,则向所述第二存储设备发送地址挂载消息,以指示所述第二存储设备挂载所述云存储集群的虚拟地址。
可选地,所述装置还包括:
监测模块,用于对所述第二存储设备的运行状态进行监测,所述运行状态用于指示存储设备是异常还是正常;
第一确定模块,用于如果通过监测确定所述第二存储设备异常,则确定自身部署的至少两个虚拟节点中的接入节点的数量;
第二选择模块,用于如果确定的接入节点的数量大于或等于1,且所述云存储集群的虚拟地址当前被挂载到所述第二存储设备上,则从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
第二挂载模块,用于将所述云存储集群的虚拟地址从所述第二存储设备切换挂载到所述第一存储设备上,以通过重新选择的主节点对外提供服务。
可选地,所述装置还包括:
第四设置模块,用于如果自身部署的至少两个虚拟节点中还存在备用节点,则将自身部署的至少两个虚拟节点中的备用节点设置为接入节点。
可选地,所述装置还包括:
第二确定模块,用于当通过监测确定所述第二存储设备从异常恢复到正常时,确定自身部署的虚拟节点中的接入节点和所述第二存储设备部署的虚拟节点中的接入节点的总数量,将确定的总数量作为第二总数量;
读取模块,用于如果所述第二总数量为偶数,则读取本地存储的配置文件中的角色配置项;
第五设置模块,用于如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点;
第三选择模块,用于在设置备用节点之后,从自身部署的至少两个虚拟节点中的接入节点和所述第二存储设备部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
第三挂载模块,用于当重新确定的主节点为所述第二存储设备部署的至少两个虚拟节点中的一个节点时,向所述第二存储设备发送地址挂载消息,以指示所述第二存储设备挂载所述云存储集群的虚拟地址。
可选地,所述装置还包括:
存储模块,用于如果所述主节点为自身部署的至少两个虚拟节点中的一个节点,则将所述主节点的关键信息存储在本地;
更新模块,用于每隔预定时长更新所述本地上一次存储的关键信息,得到更新的关键信息;
导入模块,用于当自身部署的任一虚拟节点中的关键信息丢失时,将所述更新的关键信息导入丢失关键信息的虚拟节点中。
第五方面,提供一种云存储集群更新的装置,应用于所述云存储集群包括的第一存储设备,所述第一存储设备上部署有一个虚拟节点,所述装置包括:
增加模块,用于在自身部署的虚拟节点之外增加至少一个虚拟节点;
获取模块,用于获取第二存储设备的设备信息,所述第二存储设备上部署有至少两个虚拟节点;
更新模块,用于基于所述第二存储设备的设备信息,将所述第二存储设备加入所述云存储集群,以实现对所述云存储集群的更新。
第六方面,提供一种云存储集群更新的装置,应用于所述云存储集群包括的第一存储设备,所述云存储集群还包括至少两个存储设备,且所述云存储集群包括的每个存储设备上均部署有一个虚拟节点,所述装置包括:
第一增加模块,用于在自身部署的虚拟节点之外增加至少一个虚拟节点;
选择模块,用于从所述至少两个存储设备中选择一个存储设备,将选择的存储设备作为第二存储设备;
第二增加模块,用于在所述第二存储设备部署的虚拟节点之外增加至少一个虚拟节点;
更新模块,用于将所述云存储集群中除所述第一存储设备和所述第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对所述云存储集群的更新。
可选地,所述选择模块包括:
第一选择子模块,用于如果所述云存储集群包括的存储设备的数量为奇数,则从所述至少两个存储设备中随机选择一个存储设备;
第二选择子模块,用于如果所述云存储集群包括的存储设备的数量为偶数,且所述第一存储设备上原始部署的虚拟节点是备用节点,则从所述至少两个存储设备中选择原始部署的虚拟节点是接入节点的存储设备;
第三选择子模块,用于如果所述云存储集群包括的存储设备的数量为偶数,且所述第一存储设备上原始部署的虚拟节点是接入节点,则从所述至少两个存储设备中随机选择一个存储设备。
第七方面,提供一种业务设备选取的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第一方面所述的任一项方法的步骤。
第八方面,提供一种云存储集群更新的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第二方面所述的任一项方法的步骤。
第九方面,提供一种云存储集群更新的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述第三方面所述的任一项方法的步骤。
第十方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面所述的任一项方法的步骤。
第十一方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第二方面所述的任一项方法的步骤。
第十二方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第三方面所述的任一项方法的步骤。
第十三方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一项所述方法的步骤。
第十四方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面任一项所述方法的步骤。
第十五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第三方面任一项所述方法的步骤。
本申请的实施例提供的技术方案至少可以包括以下有益效果:
在本申请实施例中,当存储设备的资源比较紧张,即只有第一存储设备和第二存储设备两个存储设备时,可以为每个存储设备部署至少两个虚拟节点。第一存储设备可以设置自身部署的至少两个虚拟节点的角色信息,并获取第二存储设备部署的至少两个虚拟节点的角色信息,并基于自身部署的至少两个虚拟节点的角色信息和第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点。进而,将云存储集群的虚拟地址挂载到主节点所在的存储设备上,以通过主节点对外提供服务。也即是,当存储设备的资源比较紧张,即只有两个存储设备时,可以通过在每个存储设备上部署至少两个虚拟节点的方式,将这两个存储设备组成云存储集群并通过主节点对外提供服务,因此,本申请提供的云存储集群具备高可用性的特点。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种业务设备选取的方法流程图;
图2是本申请实施例提供的一种云存储集群更新的方法流程图;
图3是本申请实施例提供的一种云存储集群更新的方法流程图;
图4是本申请实施例提供的一种业务设备选取的方法流程图;
图5是本申请实施例提供的一种第一存储设备和第二存储设备之间通过8888端口建立通信连接的示意图;
图6是本申请实施例提供的一种第一存储设备和第二存储设备上均部署两个虚拟节点的示意图;
图7是本申请实施例提供的一种云存储集群更新的方法流程图;
图8是本申请实施例提供的一种云存储集群更新的方法流程图;
图9是本申请实施例提供的一种业务设备选取的装置结构示意图;
图10是本申请实施例提供的一种云存储集群更新的装置结构示意图;
图11是本申请实施例提供的一种云存储集群更新的装置结构示意图;
图12是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与本申请的一些方面相一致的装置和方法的例子。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例中涉及到的应用场景进行解释说明。
云存储系统是一种通过集群技术、网络技术和分布式技术等为用户提供数据访问、存储等服务的系统。在云存储系统中,可以将用于管理云存储集群的管理应用部署在云存储集群中的存储设备上,也即是,云存储系统不需要额外的管理设备来管理云存储集群,管理成本较低。并且,在对外提供服务时,可以将单机云存储中的存储设备或者云存储集群中的一个存储设备作为业务设备,进而通过业务设备上的主节点对外提供服务。
相关技术中,每个存储设备上只部署有一个虚拟节点。由于云存储集群的组建条件是需要包括至少三个虚拟节点,因此,当云存储集群中只包括两个存储设备,也即只包括两个虚拟节点时,该两个存储设备不满足云存储集群的组建条件,只能组建出单机云存储,即只能通过单个存储设备上的节点对外提供服务。也即是,相关技术中两个存储设备无法满足一个存储设备异常时可以快速切换至另外一个存储设备继续工作的高可用性的特点。因此,本申请实施例提出了一种业务设备选取、云存储集群更新的方法。
图1是本申请实施例提供的一种业务设备选取的方法流程图,参见图1,该方法应用于云存储集群中的第一存储设备上,云存储集群还包括第二存储设备,第一存储设备和第二存储设备上均部署有至少两个虚拟节点。该方法包括以下步骤:
步骤101:设置自身部署的至少两个虚拟节点的角色信息。
步骤102:获取第二存储设备部署的至少两个虚拟节点的角色信息。
步骤103:基于自身部署的至少两个虚拟节点的角色信息以及第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点。
步骤104:将云存储集群的虚拟地址挂载到该主节点所在的存储设备上,以通过该主节点对外提供服务。
在本申请实施例中,当存储设备的资源比较紧张,即只有第一存储设备和第二存储设备两个存储设备时,可以为每个存储设备部署至少两个虚拟节点。第一存储设备可以设置自身部署的至少两个虚拟节点的角色信息,并获取第二存储设备部署的至少两个虚拟节点的角色信息,并基于自身部署的至少两个虚拟节点的角色信息和第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点。进而,将云存储集群的虚拟地址挂载到主节点所在的存储设备上,以通过主节点对外提供服务。也即是,当存储设备的资源比较紧张,即只有两个存储设备时,可以通过在每个存储设备上部署至少两个虚拟节点的方式,将这两个存储设备组成云存储集群并通过主节点对外提供服务,因此,本申请提供的云存储集群具备高可用性的特点。
可选地,设置自身部署的至少两个虚拟节点的角色信息,包括:
确定自身部署的虚拟节点和第二存储设备部署的虚拟节点的总数量,将确定的总数量作为第一总数量;
如果第一总数量为奇数,则将自身部署的至少两个虚拟节点均设置为接入节点。
可选地,确定自身部署的虚拟节点和第二存储设备部署的虚拟节点的总数量之后,还包括:
如果第一总数量为偶数,则读取本地存储的配置文件中的角色配置项;
如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点,将自身部署的至少两个虚拟节点中剩余的虚拟节点设置为接入节点;
如果读取的角色配置项为第二数值,则将自身部署的至少两个虚拟节点均设置为接入节点。
可选地,设置自身部署的至少两个虚拟节点的角色信息之前,还包括:
获取第二存储设备的媒体接入控制MAC地址;
如果自身的MAC地址大于第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第一数值;
如果自身的MAC地址小于第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第二数值。
可选地,将该云存储集群的虚拟地址挂载到该主节点所在的存储设备上,包括:
如果该主节点为自身部署的至少两个虚拟节点中的一个节点,则在自身上挂载云存储集群的虚拟地址;
如果该主节点为第二存储设备部署的至少两个虚拟节点中的一个节点,则向第二存储设备发送地址挂载消息,以指示第二存储设备挂载该云存储集群的虚拟地址。
可选地,将该云存储集群的虚拟地址挂载到该主节点所在的存储设备上之后,该方法还包括:
对第二存储设备的运行状态进行监测,该运行状态用于指示存储设备是异常还是正常;
如果通过监测确定第二存储设备异常,则确定自身部署的至少两个虚拟节点中的接入节点的数量;
如果确定的接入节点的数量大于或等于1,且云存储集群的虚拟地址当前被挂载到第二存储设备上,则从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
将云存储集群的虚拟地址从第二存储设备切换挂载到第一存储设备上,以通过重新选择的主节点对外提供服务。
可选地,从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点之前,该方法还包括:
如果自身部署的至少两个虚拟节点中还存在备用节点,则将自身部署的至少两个虚拟节点中的备用节点设置为接入节点。
可选地,对第二存储设备的运行状态进行监测之后,该方法还包括:
当通过监测确定第二存储设备从异常恢复到正常时,确定自身部署的虚拟节点中的接入节点和第二存储设备部署的虚拟节点中的接入节点的总数量,将确定的总数量作为第二总数量;
如果第二总数量为偶数,则读取本地存储的配置文件中的角色配置项;
如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点;
在设置备用节点之后,从自身部署的至少两个虚拟节点中的接入节点和第二存储设备部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
当重新确定的主节点为第二存储设备部署的至少两个虚拟节点中的一个节点时,向第二存储设备发送地址挂载消息,以指示第二存储设备挂载云存储集群的虚拟地址。
可选地,该方法还包括:
如果该主节点为自身部署的至少两个虚拟节点中的一个节点,则将该主节点的关键信息存储在本地;
每隔预定时长更新该本地上一次存储的关键信息,得到更新的关键信息;
当自身部署的任一虚拟节点中的关键信息丢失时,将该更新的关键信息导入丢失关键信息的虚拟节点中。
上述所有可选技术方案,均可按照任意结合形成本申请的可选实施例,本申请实施例对此不再一一赘述。
图2是本申请实施例提供的一种云存储集群更新的方法流程图,参见图2,该方法应用于云存储集群包括的第一存储设备,第一存储设备上部署有一个虚拟节点。该方法包括以下步骤:
步骤201:在自身部署的虚拟节点之外增加至少一个虚拟节点。
步骤202:获取第二存储设备的设备信息,第二存储设备上部署有至少两个虚拟节点。
步骤203:基于第二存储设备的设备信息,将第二存储设备加入云存储集群,以实现对云存储集群的更新。
在本申请实施例中,在第一存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第一存储设备上当前部署有至少两个节点,并且,第二存储设备上也部署有至少两个虚拟节点。因此,当基于第二存储设备的设备信息将第二存储设备加入云存储集群以实现对云存储集群的更新时,更新后的云存储集群包括两个存储设备,且每个存储设备上部署有至少两个节点,也即是组建出了具备高可用性的云存储集群。
图3是本申请实施例提供的一种云存储集群更新的方法流程图,参见图3,该方法应用于云存储集群包括的第一存储设备,云存储集群还包括至少两个存储设备,且云存储集群包括的每个存储设备上均部署有一个虚拟节点。该方法包括以下步骤:
步骤301:在自身部署的虚拟节点之外增加至少一个虚拟节点。
步骤302:从至少两个存储设备中选择一个存储设备,将选择的存储设备作为第二存储设备。
步骤303:在第二存储设备部署的虚拟节点之外增加至少一个虚拟节点。
步骤304:将云存储集群中除第一存储设备和第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对云存储集群的更新。
在本申请实施例中,在第一存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第一存储设备上当前部署有至少两个节点。从云存储集群包括的至少两个存储设备中选择一个存储设备作为第二存储设备,并在第二存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第二存储设备上当前部署有至少两个节点。如此,当将云存储集群中除第一存储设备和第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对云存储集群的更新时,更新后的云存储集群包括两个存储设备,且每个存储设备上部署有至少两个节点,也即是组建出了具备高可用性的云存储集群。
可选地,从该至少两个存储设备中选择一个存储设备,包括:
如果云存储集群包括的存储设备的数量为奇数,则从该至少两个存储设备中随机选择一个存储设备;
如果云存储集群包括的存储设备的数量为偶数,且第一存储设备上原始部署的虚拟节点是备用节点,则从该至少两个存储设备中选择原始部署的虚拟节点是接入节点的存储设备;
如果云存储集群包括的存储设备的数量为偶数,且第一存储设备上原始部署的虚拟节点是接入节点,则从该至少两个存储设备中随机选择一个存储设备。
上述所有可选技术方案,均可按照任意结合形成本申请的可选实施例,本申请实施例对此不再一一赘述。
图4是本申请实施例提供的一种业务设备选取的方法流程图。本实施例将对图1所示的实施例进行展开说明,参见图4,该方法涉及到云存储集群中的第一存储设备上,云存储集群还包括第二存储设备,第一存储设备和第二存储设备上均部署有至少两个虚拟节点。该方法包括:
步骤401:第一存储设备设置自身部署的至少两个虚拟节点的角色信息。
示例性地,虚拟节点可以为zookeeper节点,角色信息包括备用节点和接入节点。
需要说明的是,第一存储设备自身部署的至少两个虚拟节点的角色信息与云存储集群的组建条件有关。云存储集群的组建条件包括:在云存储集群中的虚拟节点的数量大于2的情况下,如果云存储集群中的虚拟节点的数量为奇数,则该奇数个虚拟节点中可以不包括备用节点,如果云存储集群中的虚拟节点的数量为偶数,则该偶数个虚拟节点中包括一个备用节点。
因此,第一存储设备在设置自身部署的至少两个虚拟节点的角色信息时,可以确定自身部署的虚拟节点和第二存储设备部署的虚拟节点的总数量,将确定的总数量作为第一总数量。第一总数量即为云存储集群中的虚拟节点的数量。第一总数量可能为奇数也可能为偶数,且第一总数量为奇数时第一存储设备设置的角色信息,与第一总数量为偶数时第一存储设备设置的角色信息可能不同,以下通过两个可能的实现方式分别进行说明:
第一种可能的实现方式中,如果第一总数量为奇数,则第一存储设备将自身部署的至少两个虚拟节点均设置为接入节点。
根据上述云存储集群的组建条件可知,如果云存储集群中的虚拟节点的数量为奇数,也即第一总数量为奇数,则该奇数个虚拟节点中可以不包括备用节点。因此,在该种可能的实现方式中,第一存储设备可以将自身部署的至少两个虚拟节点均设置为接入节点。
第二种可能的实现方式中,如果第一总数量为偶数,则第一存储设备读取本地存储的配置文件中的角色配置项。如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点,将自身部署的至少两个虚拟节点中剩余的虚拟节点设置为接入节点;如果读取的角色配置项为第二数值,则将自身部署的至少两个虚拟节点均设置为接入节点。
根据上述云存储集群的组建条件可知,如果云存储集群中的虚拟节点的数量为偶数,也即第一总数量为偶数,则该偶数个虚拟节点中包括一个备用节点。此时第一存储设备可以读取本地存储的配置文件中的角色配置项,根据角色配置项的数值确定是否需要为自身设置备用节点。如果读取的角色配置项为第一数值,则表明需要为自身设置备用节点,此时,第一存储设备可以将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点,将自身部署的至少两个虚拟节点中剩余的虚拟节点设置为接入节点。如果读取的角色配置项为第二数值,则表明不需要为自身设置备用节点,此时,第一存储设备可以将自身部署的至少两个虚拟节点均设置为接入节点。示例性地,配置文件可以为config文件,角色配置项可以为is_observer配置项,第一数值可以为1,第二数值可以为0。
需要说明的是,第一存储设备在设置自身部署的至少两个虚拟节点的角色信息之前,可以为本地存储的配置文件中的角色配置项设置数值。可选地,第一存储设备可以随机将本地存储的配置文件中的角色配置项设置为第一数值或者第二数值,也可以根据第一存储设备的MAC(Media Access Control,媒体接入控制)地址与第二存储设备的MAC地址的大小为本地存储的配置文件中的角色配置项设置数值,还可以通过其他方式为本地存储的配置文件中的角色配置项设置数值,本申请实施例对此不做限定。
第一存储设备在根据第一存储设备的MAC地址与第二存储设备的MAC地址的大小为本地存储的配置文件中的角色配置项设置数值时,可以获取第二存储设备的MAC地址,如果自身的MAC地址大于第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第一数值;如果自身的MAC地址小于第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第二数值。也即是,上述设置角色配置项的数值的方式为:将MAC地址大的存储设备中存储的配置文件中的角色配置项设置为第一数值,将MAC地址小的存储设备中存储的配置文件中的角色配置项设置为第二数值。可选地,本申请实施例中,还可以将MAC地址小的存储设备中存储的配置文件中的角色配置项设置为第一数值,将MAC大地址的存储设备中存储的配置文件中的角色配置项设置为第二数值,本申请实施例对此不做限定。
需要说明的是,第一存储设备在设置自身部署的至少两个虚拟节点的角色信息之后,可以通过每个虚拟节点的节点配置项表示每个虚拟节点的角色信息。对于不是备用节点的虚拟节点,也即接入节点而言,该虚拟节点的节点配置项中包括第一存储设备的IP(Internet Protocol,网络协议)地址和该虚拟节点的端口号,例如IP1:2188。对于是备用节点的虚拟节点而言,该虚拟节点的节点配置项中包括第一存储设备的IP地址、该虚拟节点的端口号以及备用节点标识,备用节点标识可以由oberserver表示,例如,IP1:2187:oberserver。
因此,当需要将一个虚拟节点设置为备用节点时,可以获取该虚拟节点的节点配置项,并在获取的节点配置项中增加备用节点标识。例如,在虚拟节点的节点配置项IP1:2187中增加oberserver,得到节点配置项IP1:2187:oberserver,进而将这个虚拟节点设置为备用节点。
另外,第一存储设备与第二存储设备可以预先建立通信连接,之后,第一存储设备可以通过该通信连接与第二存储设备进行通信。示例性地,第一存储设备在确定第一总数量时,可以先通过该通信连接获取第二存储设备部署的虚拟节点的数量,进而确定第一总数量。第一存储设备在根据第一存储设备的MAC地址与第二存储设备的MAC地址的大小为本地存储的配置文件中的角色配置项设置数值时,可以先通过该通信连接获取第二存储设备的MAC地址,进而为该角色配置项设置数值。
第一存储设备和第二存储设备均具备状态监测功能。第一存储设备在与第二存储设备建立通信连接时,可以通过自身的状态监测功能开启自身的通信端口,并通过自身的通信端口尝试与第二存储设备的通信端口进行连接,如果连接成功,则第一存储设备与第二存储设备的通信连接建立成功,也说明第二存储设备已经通过自身的状态检测功能开启了自身的通信端口。类似地,第二存储设备也可以按照第一存储设备与第二存储设备建立通信连接的方式与第一存储设备建立通信连接。
示例性地,第一存储设备和第二存储设备的通信端口可以均为8888,也可以均为其他可以建立通信连接的端口号,本申请实施例对此不作限定。例如,如图5所示,图5为第一存储设备和第二存储设备之间通过8888端口建立通信连接的示意图。
需要说明的是,可以利用daemon(守护进程)确保状态监测功能的正常。可选地,可以利用daemon调用检测命令来检测状态监测功能是否正常。当检测到状态监测功能异常时,可以利用daemon控制状态监测功能从异常恢复到正常。该检测命令可以为pidof命令,也可以为其他检测命令,本申请实施例对此不作限定。
步骤402:第二存储设备设置自身部署的至少两个虚拟节点的角色信息。
需要说明的是,第二存储设备可以按照步骤401中第一存储设备设置自身部署的至少两个虚拟节点的角色信息的方法,设置第二存储设备部署的至少两个虚拟节点的角色信息,本申请实施例在此不再赘述。
但在另一种可能的实现方式中,第二存储设备还可以根据第一存储设备对自身虚拟节点的角色信息的设置结果来设置第二存储设备部署的至少两个虚拟节点的角色信息。示例性地,如果第一总数量为偶数,第二存储设备除了可以按照步骤401中读取角色配置项的方法设置自身部署的虚拟节点的角色信息之外,还可以通过与第一存储设备之间的通信连接接收第一存储设备发送的第一存储设备上部署的虚拟节点的角色信息。如果第一存储设备上部署的虚拟节点中包括备用节点,则第二存储设备可以将自身部署的至少两个虚拟节点均设置为接入节点;如果第一存储设备上部署的虚拟节点中不包括备用节点,则第二存储设备可以将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点,将自身部署的至少两个虚拟节点中剩余的虚拟节点设置为接入节点。
需要说明的是,如果第一总数量为偶数,第二存储设备可以通过与第一存储设备之间的通信连接主动向第一存储设备发送第一角色信息获取请求,进而接收第一存储设备发送的第一存储设备上部署的虚拟节点的角色信息。第一角色信息获取请求为用于第二存储设备获取第一存储设备上部署的虚拟节点的角色信息的请求。另外,第二存储设备也可以不向第一存储设备发送第一角色信息获取请求,而是被动地接收第一存储设备发送的第一存储设备上部署的虚拟节点的角色信息,此时,第一存储设备在设置完自身部署的至少两个虚拟节点的角色信息之后,可以主动向第二存储设备发送自身部署的虚拟节点的角色信息。
另外,需要说明的是,如果第一总数量为偶数,且第二存储设备是按照步骤401中读取角色配置项的方法为自身部署的虚拟节点设置角色信息时,第二存储设备可以按照步骤401中第一存储设备为角色配置项设置数值的类似方法为第二存储设备存储的配置文件中的角色配置项设置数值。但在另一种可能的实现方式中,第二存储设备还可以通过与第一存储设备之间的通信连接接收第一存储设备发送的第一存储设备中角色配置项的数值,进而为自身存储的配置文件中的角色配置项设置与第一存储设备中角色配置项的数值不同的数值。也即是,如果第一存储设备存储的配置文件中的角色配置项为第一数值,则第二存储设备存储的配置文件中的角色配置项为第二数值,如果第一存储设备存储的配置文件中的角色配置项为第二数值,则第二存储设备存储的配置文件中的角色配置项为第一数值。
还需要说明的是,第二存储设备在设置自身部署的至少两个虚拟节点的角色信息之后,可以通过每个虚拟节点的节点配置项表示每个虚拟节点的角色信息,该方法与步骤401中第一存储设备通过每个虚拟节点的节点配置项表示每个虚拟节点的角色信息的方法相同,本申请实施例在此不再赘述。
步骤403:第一存储设备获取第二存储设备上部署的至少两个虚拟节点的角色信息。
第一存储设备可以通过与第二存储设备之间的通信连接向第二存储设备发送第二角色信息获取请求,进而获取第二存储设备上部署的至少两个虚拟节点的角色信息。第二角色信息获取请求为用于第一存储设备获取第二存储设备上部署的至少两个虚拟节点的角色信息的请求。另外,第一存储设备也可以不向第二存储设备发送第二角色信息获取请求,而是被动地接收第二存储设备发送的第二存储设备上部署的至少两个虚拟节点的角色信息,此时,第二存储设备在设置完自身部署的至少两个虚拟节点的角色信息之后,可以主动向第一存储设备发送自身部署的虚拟节点的角色信息。
步骤404:第一存储设备基于自身部署的至少两个虚拟节点的角色信息以及第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点。
如果第一总数量为奇数,第一存储设备部署的至少两个虚拟节点和第二存储设备部署的至少两个虚拟节点均为接入节点,此时,第一存储设备可以从自身部署的至少两个虚拟节点以及第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点。
如果第一总数量为偶数,第一存储设备部署的至少两个虚拟节点和第二存储设备部署的至少两个虚拟节点中存在一个虚拟节点是备用节点,除该备用节点之外的虚拟节点均是接入节点,由于主节点需要从接入节点中选择,因此,第一存储设备可以从第一存储设备上部署的接入节点和第二存储设备上部署的接入节点中选择一个节点作为主节点。
可选地,可以采用paxos算法从第一存储设备上部署的接入节点和第二存储设备上部署的接入节点中选择一个节点作为主节点,还可以通过其他算法从第一存储设备上部署的接入节点和第二存储设备上部署的接入节点中选择一个节点作为主节点,例如,Ringleader election Algorithm(环主节点选举算法)、Bully Algorithm(霸道算法)等,本申请实施例对此不作限定。
步骤405:第一存储设备将云存储集群的虚拟地址挂载到该主节点所在的存储设备上,以通过该主节点对外提供服务。
由于云存储集群包括第一存储设备和第二存储设备,需要选择其中一个存储设备作为业务设备,进而通过该业务设备的主节点对外提供服务,因此第一存储设备在选出主节点之后,可以将云存储集群的虚拟地址挂载到该主节点所在的存储设备上,也即将云存储集群的虚拟地址分配给该主节点所在的存储设备,以将该主节点所在的存储设备作为业务设备,进而通过业务设备上的主节点进行业务接入以对外提供服务。
可选地,如果该主节点为自身部署的至少两个虚拟节点中的一个节点,则在自身上挂载云存储集群的虚拟地址。如果主节点为第二存储设备部署的至少两个虚拟节点中的一个节点,则向第二存储设备发送地址挂载消息,以指示第二存储设备挂载云存储集群的虚拟地址。
需要说明的是,第一存储设备和第二存储设备可以采用disperse.sh脚本挂载云存储集群的虚拟地址,该虚拟地址可以由虚拟网络协议地址(Virtual Internet ProtocolAddress,VIP Address)表示,主节点可以由leader表示,备用节点可以由oberserver表示,接入节点可以由follower表示。例如,如图6所示,图6是一种第一存储设备和第二存储设备上均部署两个虚拟节点的示意图,每个虚拟节点有对应的端口号,端口号可以包括2187、2188。并且,第一存储设备上部署的一个虚拟节点为备用节点,另一个虚拟节点为接入节点,第二存储设备上部署的两个个虚拟节点均为接入节点,主节点为第一存储设备上的接入节点,VIP地址挂载到第一存储设备上。
另外,通过主节点对外提供服务时,可以通过主节点中的关键信息来对外提供服务,因此,如果主节点为第一存储设备上部署的至少两个虚拟节点中的一个节点,为了避免在第一存储设备发生异常时导致主节点中保存的关键信息清空,进而造成关键信息丢失的问题,第一存储设备可以将主节点的关键信息存储在本地,并每隔预定时长更新本地上一次存储的关键信息,得到更新的关键信息。当第一存储设备上部署的任一虚拟节点中的关键信息丢失时,第一存储设备可以将该更新的关键信息导入丢失关键信息的虚拟节点中。需要说明的是,如果主节点为第二存储设备上部署的至少两个虚拟节点中的一个节点,则第二存储设备可以按照第一存储设备处理关键信息的方式处理主节点中的关键信息,本申请实施例在此不再赘述。
需要说明的是,每隔预定时长更新本地上一次存储的关键信息可以确保主节点中的关键信息的有效性,该预定时长可以为一周、一个月等,本申请实施例对此不作限定。需要说明的是,云存储集群包括的所有虚拟节点中存储的数据是同步的,因此,本申请实施例除了可以将主节点的关键信息存储在本地之外,还可以将任一虚拟节点的关键信息存储在本地。
示例性地,该关键信息可以包括记录历史计划信息、全局配置信息、域信息、资源池信息以及用户信息。并且,该关键信息可以存储在对应的文件中,例如,记录历史计划信息存储在HISPLAN-Monitor文件中,全局配置信息可以存储在Sysconfig文件中,域信息可以存储在Domain文件中,资源池信息可以存储在Pool文件中,用户信息可以存储在UserInfo文件中。
记录历史计划信息包括录像信息,该录像信息用于指示云存储集群对应的多个摄像头根据各自的录像计划将录制的视频数据存储到云存储集群中。其中,该录像计划是指摄像头在预定时间段内录像并存储录制的视频数据,例如,摄像头全天录像并存储录制的视频数据,或者,摄像头在上班时间段9点到18点之间录像并存储录制的视频数据。
全局配置信息包括校时信息、循环覆盖条件等。校时信息用于指示利用校时服务器校正云存储集群所在的云存储系统的时间,循环覆盖条件用于指示当云存储集群所在的云存储系统的总存储容量大于一定数值时,删除预定时间之前的视频数据。该一定数值可以为10%,预定时间可以为一个月。
云存储集群中的至少一个存储设备可以组成一个域,也即是一个域中可以包括1个或多个存储设备。域信息包括域的标识、域中存储设备的数量以及每个存储设备的标识等等。
一个域可以被划分为多个资源池,每一个资源池存储一个类型的数据,例如,视频资源池存储视频数据,图像资源池存储图像数据。资源池信息包括资源池中存储的数据的数据类型、资源池的容量以及资源池的分配策略等。资源池的分配策略用于指示将资源池分配到一个域包括的某个存储设备上。
用户信息包括用户的权限信息、用户名以及用户密码等。
需要说明的是,当云存储集群中的两个存储设备由于断电、断网或者网络不稳定等原因均发生异常,也即云存储集群中所有虚拟节点发生异常时,所有虚拟节点中存储的关键信息均丢失。此时,用户可以使用repair_tool工具将本地存储的更新的关键信息导入所有的虚拟节点中,也即是,云存储集群可以接收用户通过repair_tool工具触发的导入本地存储的关键信息的指令,进而完成所有虚拟节点的关键信息的恢复。
步骤406:第一存储设备对第二存储设备的运行状态进行监测,该运行状态用于指示存储设备是异常还是正常。
由于第二存储设备在运行的过程中可能会发生异常的现象,因此,第一存储设备在将云存储集群的虚拟地址挂载到主节点所在的存储设备上,以通过该主节点对外提供服务时,可以对第二存储设备的运行状态进行监测,以确定第二存储设备是异常还是正常。
可选地,由于第一存储设备和第二存储设备之间建立了通信连接,因此,第一存储设备可以利用自身的状态监测功能通过该通信连接监测第二存储设备的运行状态。第一存储设备在利用自身的状态监测功能监测第二存储设备的运行状态时,可以通过第一存储设备和第二存储设备之间的通信连接,每隔第一心跳时长向第二存储设备发送心跳请求。如果第一存储设备在第二心跳时长内接收到第二存储设备发送的与该心跳请求对应的心跳应答,则可以确定第二存储设备没有发生异常。如果第一存储设备在第二心跳时长内没有接收到第二存储设备发送的与该心跳请求对应的心跳应答,则可以确定第二存储设备发生异常。
需要说明的是,为了确保通过第一存储设备对第二存储设备的运行状态监测的准确性,第一存储设备在已经确定第二存储设备发生异常之后,还可以进一步通过重新连接的方式确定第二存储设备的运行状态。可选地,在已经确定第二存储设备发生异常之后,第一存储设备可以断开与第二存储设备之间的通信连接,并每隔第一连接时长与第二存储设备重新连接。如果第一存储设备在第一连接时长内没有与第二存储设备重新连接成功,并且,第二存储设备的网关正常,则可以进一步确定第二存储设备发生异常。
还需要说明的是,第二存储设备可以按照第一存储设备对第二存储设备的运行状态进行监测的方法对第一存储设备的运行状态进行监测,本申请实施例在此不再赘述。
步骤407:第一存储设备如果通过监测确定第二存储设备异常,则确定自身部署的至少两个虚拟节点中的接入节点的数量。
如果第一总数量为奇数,则第一存储设备上部署的至少两个虚拟节点都为接入节点,即第一存储设备上有至少两个接入节点,也即第一存储设备上接入节点的数量大于1。如果第一总数量为偶数,则第一存储设备上可能有一个备用节点,也可能没有备用节点,如果第一存储设备上有一个备用节点,则第一存储设备上有至少一个接入节点,也即第一存储设备上接入节点的数量大于或等于1;如果第一存储设备上没有备用节点,则第一存储设备上有至少两个接入节点,也即第一存储设备上接入节点的数量大于1。
需要说明的是,如果第一总数量为偶数,根据云存储集群的条件可知,云存储集群包括的接入节点的数量为奇数,也即第一存储设备中的接入节点与第二存储设备中的接入节点的总数量为奇数。
步骤408:如果确定的接入节点的数量大于或等于1,且云存储集群的虚拟地址当前被挂载到第二存储设备上,第一存储设备则从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点。
根据步骤407的论述可知,如果第一总数量为奇数,或者,如果第一总数量为偶数且第一存储设备上没有备用节点,则第一存储设备上的接入节点的数量大于1。而如果第一总数量为偶数且第一存储设备上有备用节点,则第一存储设备上的接入节点的数量大于或等于1。以下通过两种可能的实现方式对当云存储集群的虚拟地址当前被挂载到第二存储设备上且第二存储设备异常时,第一存储设备在这两种情况下选择主节点的情况进行说明:
在第一种可能的实现方式中,第一总数量为奇数,或者,第一总数量为偶数且第一存储设备上没有备用节点,也即第一存储设备上的接入节点的数量大于1。
在这种情况下,第一存储设备可以从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点。
需要说明的是,如果云存储集群的虚拟地址当前被挂载到第二存储设备上,说明在第二存储设备发生异常之前主节点是第二存储设备上部署的虚拟节点中的一个节点。因此,当第二存储设备发生异常时,第一存储设备需要在从自身部署的至少两个虚拟节点中选择一个节点作为主节点。
而如果云存储集群的虚拟地址当前被挂载到第一存储设备上,说明在第二存储设备发生异常之前主节点是第一存储设备上部署的虚拟节点中的一个节点。因此,即使第二存储设备发生异常,第一存储设备也不需要重新从自身部署的至少两个虚拟节点中的接入节点中选择主节点。
还需要说明的是,如果第一总数量为偶数且第一存储设备上没有备用节点,则第二存储设备上有一个备用节点。
在第二种可能的实现方式中,第一总数量为偶数且第一存储设备上有备用节点,也即第一存储设备上的接入节点的数量大于或等于1。
在这种情况下,由于第一存储设备部署的至少两个虚拟节点中存在备用节点,因此,第一存储设备可以先将自身部署的至少两个虚拟节点中的备用节点设置为接入节点,进而从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点。
需要说明的是,云存储集群的组建条件还可以包括:如果第一存储设备上部署的虚拟节点的数量与第二存储设备上部署的虚拟节点的数量相同,奇数个接入节点中最多只允许(n-1)/2个接入节点发生异常,其中,n是指奇数个接入节点的数量。
因此,如果第一存储设备上部署的虚拟节点的数量与第二存储设备上部署的虚拟节点的数量相同,且第一存储设备部署的至少两个虚拟节点中存在备用节点,则第一存储设备和第二存储设备上全部的接入节点的数量为奇数,且第一存储设备上部署的接入节点的数量比第二存储设备上部署的接入节点的数量少1。在这种情况下,当第二存储设备发生异常,也即第二存储设备上部署的接入节点全部发生异常时,相当于云存储集群中奇数个接入节点中((n-1)/2)+1个接入节点发生了异常,此时已经不满足云存储集群的组建条件了。因此,第一存储设备可以将自身部署的至少两个虚拟节点中的备用节点设置为接入节点,以满足云存储集群的组建条件,进而,从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点。例如,第一存储设备上部署的3个虚拟节点中包括1个备用节点和2个接入节点,第二存储设备上部署的3个虚拟节点全都是接入节点,也即是总共有5个接入节点,此时5个接入节点中最多只允许(5-1)/2个,即2个发生异常。如果第二存储设备发生异常,说明5个接入节点中有3个接入节点发生了异常,此时已经不满足云存储集群的组建条件了。
需要说明的是,第一存储设备可以利用自身的状态监测功能将自身部署的至少两个虚拟节点中的备用节点设置为接入节点。可选地,第一存储设备可以通过将该备用节点对应的节点配置项中的备用节点标识删除来实现。
另外,还需要说明的是,在第二种可能的实现方式中,如果云存储集群的虚拟地址当前被挂载到第二存储设备上,则第一存储设备需要从自身部署的至少两个虚拟节点中选择一个节点作为主节点。而如果云存储集群的虚拟地址当前被挂载到第一存储设备上,由于需要满足云存储集群的组建条件,因此,即使在第二存储设备发生异常之前主节点仍然是第一存储设备上部署的虚拟节点中的一个节点,此时也需要第一存储设备将备用节点设置为接入节点,进而从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点。
步骤409:第一存储设备将云存储集群的虚拟地址从第二存储设备切换挂载到第一存储设备上,以通过重新选择的主节点对外提供服务。
由于云存储集群的虚拟地址总是挂载在主节点所在的存储设备上,因此,当第一存储设备在从自身部署的至少两个虚拟节点选择出主节点之后,需要将存储集群的虚拟地址从第二存储设备切换挂载到第一存储设备上,进而通过重新选择的主节点对外提供服务。
需要说明的是,第一存储设备在对第二存储设备的运行状态进行监测之后,可能出现第二存储设备从异常恢复到正常的情况。当第一存储设备通过监测确定第二存储设备从异常恢复到正常时,第一存储设备可以确定自身部署的虚拟节点中的接入节点和第二存储设备部署的虚拟节点中的接入节点的总数量,将确定的总数量作为第二总数量,进而根据第二总数量确定云存储集群的虚拟地址的挂载情况。
根据步骤401中云存储集群的组建条件可知,在云存储集群中的虚拟节点的数量大于2的情况下,如果云存储集群中的虚拟节点的数量为奇数,则该奇数个虚拟节点中可以不包括备用节点,如果云存储集群中的虚拟节点的数量为偶数,则该偶数个虚拟节点中包括一个备用节点。也即是,在云存储集群中的虚拟节点的数量大于2的情况下,云存储集群中始终需要保持包括奇数个接入节点。因此,如果第二总数量为奇数,也即云存储集群中包括奇数个接入节点,则满足步骤401中云存储集群的组建条件,此时,第一存储设备可以直接从自身部署的至少两个虚拟节点中的接入节点和第二存储设备部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点。当这次选择的主节点为第二存储设备部署的至少两个虚拟节点中的一个节点时,向第二存储设备发送地址挂载消息,以指示第二存储设备挂载云存储集群的虚拟地址。当这次选择的主节点为第一存储设备部署的至少两个虚拟节点中的一个节点时,第一存储设备可以保持由自身挂载云存储集群的虚拟地址,但通过这次选择的主节点对外提供服务。
需要说明的是,在步骤408中的第一种可能的实现方式中,云存储集群中包括奇数个接入节点,且在选择主节点的过程中没有对第一存储设备部署的虚拟节点的角色信息进行更改,因此,当第二存储设备从异常恢复到正常时,云存储集群中仍然包括奇数个接入节点,也即是,第一存储设备部署的虚拟节点中的接入节点和第二存储设备部署的虚拟节点中的接入节点的总数量为奇数,即第二总数量为奇数。
而如果第二总数量为偶数,也即云存储集群中包括偶数个接入节点,则不满足步骤401中云存储集群的组建条件。此时,第一存储设备可以读取本地存储的配置文件中的角色配置项。如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点。在设置备用节点之后,从自身部署的至少两个虚拟节点中的接入节点和第二存储设备部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点。当重新确定的主节点为第二存储设备部署的至少两个虚拟节点中的一个节点时,向第二存储设备发送地址挂载消息,以指示第二存储设备挂载云存储集群的虚拟地址。当重新确定的主节点为第一存储设备部署的至少两个虚拟节点中的一个节点时,第一存储设备可以保持由自身挂载云存储集群的虚拟地址,但通过重新确定的主节点对外提供服务。
需要说明的是,在步骤408中的第二种可能的实现方式中,云存储集群中也包括奇数个接入节点,但是,在选择主节点的过程中将第一存储设备部署的至少两个虚拟节点中的备用节点设置为接入节点,也即第一存储设备部署的虚拟节点的角色信息发生了更改。因此,当第二存储设备从异常恢复到正常时,云存储集群中包括偶数个接入节点,也即是,第一存储设备部署的虚拟节点中的接入节点和第二存储设备部署的虚拟节点中的接入节点的总数量为偶数,即第二总数量为偶数。
另外,本申请实施例中,第一存储设备为云存储集群中的任一存储设备,也即步骤401、403-409的步骤可以由云存储集群中的任一存储设备执行。第二存储设备可以为与第一存储设备不同的存储设备。
在本申请实施例中,当存储设备的资源比较紧张,即只有第一存储设备和第二存储设备两个存储设备时,可以为每个存储设备部署至少两个虚拟节点。第一存储设备可以设置自身部署的至少两个虚拟节点的角色信息,并获取第二存储设备部署的至少两个虚拟节点的角色信息,并基于自身和第二存储设备的角色信息,从自身部署的至少两个虚拟节点以及第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点。进而,将云存储集群的虚拟地址挂载到主节点所在的存储设备上,以通过主节点对外提供服务。也即是,当存储设备的资源比较紧张,即只有两个存储设备时,可以通过在每个存储设备上部署至少两个虚拟节点的方式,将这两个存储设备组成云存储集群并通过主节点对外提供服务,因此,本申请提供的云存储集群具备高可用性的特点。
图7是本申请实施例提供的一种云存储集群更新的方法流程图。本实施例将对图2所示的实施例进行展开说明。该方法应用于云存储集群包括的第一存储设备,第一存储设备上部署有一个虚拟节点,参见图7,该方法包括:
步骤701:第一存储设备在自身部署的虚拟节点之外增加至少一个虚拟节点。
第一存储设备在自身部署的虚拟节点之外增加至少一个虚拟节点之后,可以为该至少一个虚拟节点分配端口号。另外,第一存储设备还可以根据自身部署的虚拟节点中存储的数据,对该至少一个虚拟节点中存储的数据进行同步,也即是,将自身部署的虚拟节点中的数据导入到该至少一个虚拟节点中。
步骤702:第一存储设备获取第二存储设备的设备信息,第二存储设备上部署有至少两个虚拟节点。
第二存储设备的设备信息为第一存储设备在接收到该设备信息后,能够根据该设备信息与第二存储设备组建云存储集群的信息。例如,第二存储设备的设备信息可以包括第二存储设备的IP号、第二存储设备上部署的至少两个虚拟节点的端口号等。
需要说明的是,第一存储设备可以在向第二存储设备发送设备信息获取请求后,获取第二存储设备的设备信息,也可以在其他时机将获取第二存储设备的设备信息,本申请实施例对此不做限定。
步骤703:第一存储设备基于第二存储设备的设备信息,将第二存储设备加入云存储集群,以实现对云存储集群的更新。
为了确保云存储集群中的存储设备可以满足高可用的特点,第一存储设备在获取到第二存储设备的设备信息之后,可以基于该设备信息将第二存储设备加入云存储集群,以实现对云存储集群的更新,更新后的云存储集群仅包括两个存储设备,因此满足高可用的特点。
需要说明的是,第一存储设备在对云存储集群进行更新之前,可以根据自身部署的虚拟节点中存储的数据,对第二存储设备上部署的至少两个虚拟节点中存储的数据进行同步,也即是,将自身部署的虚拟节点中的数据导入到该至少两个虚拟节点中。
第一存储设备在实现对云存储集群的更新后,更新后的云存储集群中包括第一存储设备和第二存储设备,且第一存储设备和第二存储设备上均部署有至少两个虚拟节点。因此,第一存储设备可以按照图4的方法流程图对应的实施例中的方法挂载云存储集群的虚拟地址,进而通过主节点对外提供服务,本申请实施例再次不再赘述。
在本申请实施例中,在第一存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第一存储设备上当前部署有至少两个节点,并且,第二存储设备上也部署有至少两个虚拟节点。因此,当基于第二存储设备的设备信息将第二存储设备加入云存储集群以实现对云存储集群的更新时,更新后的云存储集群包括两个存储设备,且每个存储设备上部署有至少两个节点,也即是组建出了具备高可用性的云存储集群。
图8是本申请实施例提供的一种云存储集群更新的方法流程图。本实施例将对图3所示的实施例进行展开说明,应用于云存储集群包括的第一存储设备,云存储集群还包括至少两个存储设备,且云存储集群包括的每个存储设备上均部署有一个虚拟节点。参见图8,该方法包括:
步骤801:第一存储设备在自身部署的虚拟节点之外增加至少一个虚拟节点。
第一存储设备在自身部署的虚拟节点之外增加至少一个虚拟节点之后,可以为该至少一个虚拟节点分配端口号。另外,第一存储设备还可以根据自身部署的虚拟节点中存储的数据,对该至少一个虚拟节点中存储的数据进行同步,也即是,将自身部署的虚拟节点中的数据导入到该至少一个虚拟节点中。
步骤802:第一存储设备从至少两个存储设备中选择一个存储设备,将选择的存储设备作为第二存储设备。
云存储集群包括的存储设备的数量可能为奇数也可能为偶数,由于云存储集群包括的每个存储设备上均部署有一个虚拟节点,所以云存储集群中存储设备的数量即为云存储集群中虚拟节点的数量。根据步骤401中云存储集群的组建条件可知,云存储集群中虚拟节点的角色与云存储集群包括的虚拟节点的数量有关。也即在云存储集群中的虚拟节点的数量大于2的情况下,如果云存储集群中的虚拟节点的数量为奇数,则该奇数个虚拟节点中可以不包括备用节点,如果云存储集群中的虚拟节点的数量为偶数,则该偶数个虚拟节点中包括一个备用节点。
因此,如果云存储集群包括的存储设备的数量为奇数,则每个存储设备上部署的虚拟节点都为接入节点,此时第一存储设备可以从该至少两个存储设备中随机选择一个存储设备。
而如果云存储集群包括的存储设备的数量为偶数,则云存储集群中包括的存储设备中既包括部署的虚拟节点是接入节点的存储设备,也包括部署的虚拟节点是备用节点的存储设备,因此,第一存储设备上原始部署的虚拟节点可能是备用节点,也可能是接入节点,以下通过两种可能的实现方式对这两种情况分别进行说明:
第一种可能的实现方式中,如果云存储集群包括的存储设备的数量为偶数,且第一存储设备上原始部署的虚拟节点是备用节点,则从该至少两个存储设备中选择原始部署的虚拟节点是接入节点的存储设备。
由于当云存储集群包括的存储设备的数量为偶数时,该偶数个存储设备的虚拟节点中只能包括一个备用节点,并且,第一存储设备上原始部署的虚拟节点已经是备用节点,因此,第一存储设备需要从该至少两个存储设备中选择原始部署的虚拟节点是接入节点的存储设备。
第二种可能的实现方式中,如果云存储集群包括的存储设备的数量为偶数,且第一存储设备上原始部署的虚拟节点是接入节点,则从该至少两个存储设备中随机选择一个存储设备。
由于第一存储设备上原始部署的虚拟节点是接入节点,因此,第一存储设备可以从该至少两个存储设备中随机选择一个存储设备。该随机选择的存储设备可以是部署的虚拟节点是接入节点的存储设备,也可以是部署的虚拟节点是备用节点的存储设备。
步骤803:第一存储设备在第二存储设备部署的虚拟节点之外增加至少一个虚拟节点。
第一存储设备在第二存储设备部署的虚拟节点之外增加至少一个虚拟节点之后,可以为该至少一个虚拟节点分配端口号。另外,第一存储设备还可以根据自身部署的虚拟节点中存储的数据,对该至少一个虚拟节点中存储的数据进行同步,也即是,将自身部署的虚拟节点中的数据导入到该至少一个虚拟节点中。
步骤804:第一存储设备将云存储集群中除第一存储设备和第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对云存储集群的更新。
为了确保云存储集群中的存储设备可以满足高可用的特点,第一存储设备可以将云存储集群中除第一存储设备和第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对云存储集群的更新,更新后的云存储集群仅包括两个存储设备,因此满足高可用的特点。
第一存储设备在实现对云存储集群的更新后,更新后的云存储集群中包括第一存储设备和第二存储设备,且第一存储设备和第二存储设备上均部署有至少两个虚拟节点。因此,第一存储设备可以按照图4的方法流程图对应的实施例中的方法挂载云存储集群的虚拟地址,进而通过主节点对外提供服务,本申请实施例再次不再赘述。
在本申请实施例中,在第一存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第一存储设备上当前部署有至少两个节点。从云存储集群包括的至少两个存储设备中选择一个存储设备作为第二存储设备,并在第二存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第二存储设备上当前部署有至少两个节点。如此,当将云存储集群中除第一存储设备和第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对云存储集群的更新时,更新后的云存储集群包括两个存储设备,且每个存储设备上部署有至少两个节点,也即是组建出了具备高可用性的云存储集群。
本申请实施例提供了一种业务设备选取的装置,参见图9,该装置应用于云存储集群中的第一存储设备上,云存储集群还包括第二存储设备,第一存储设备和第二存储设备上均部署有至少两个虚拟节点,该装置包括第一设置模块901、第一获取模块902、第一选择模块903和第一挂载模块904。
第一设置模块901,用于设置自身部署的至少两个虚拟节点的角色信息;
第一获取模块902,用于获取该第二存储设备部署的至少两个虚拟节点的角色信息;
第一选择模块903,用于基于自身部署的至少两个虚拟节点的角色信息以及该第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及该第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点
第一挂载模块904,用于将该云存储集群的虚拟地址挂载到该主节点所在的存储设备上,以通过该主节点对外提供服务。
可选地,该第一设置模块901包括:
确定子模块,用于确定自身部署的虚拟节点和该第二存储设备部署的虚拟节点的总数量,将确定的总数量作为第一总数量;
第一设置子模块,用于如果该第一总数量为奇数,则将自身部署的至少两个虚拟节点均设置为接入节点。
可选地,该第一设置模块901还包括:
读取子模块,用于如果该第一总数量为偶数,则读取本地存储的配置文件中的角色配置项;
第二设置子模块,用于如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点,将自身部署的至少两个虚拟节点中剩余的虚拟节点设置为接入节点;
第三设置子模块,用于如果读取的角色配置项为第二数值,则将自身部署的至少两个虚拟节点均设置为接入节点。
可选地,该装置还包括:
第二获取模块,用于获取该第二存储设备的媒体接入控制MAC地址;
第二设置模块,用于如果自身的MAC地址大于该第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第一数值;
第三设置模块,用于如果自身的MAC地址小于该第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第二数值。
可选地,该第一挂载模块904包括:
第一挂载子模块,用于如果该主节点为自身部署的至少两个虚拟节点中的一个节点,则在自身上挂载该云存储集群的虚拟地址;
第二挂载子模块,用于如果该主节点为该第二存储设备部署的至少两个虚拟节点中的一个节点,则向该第二存储设备发送地址挂载消息,以指示该第二存储设备挂载该云存储集群的虚拟地址。
可选地,该装置还包括:
监测模块,用于对该第二存储设备的运行状态进行监测,该运行状态用于指示存储设备是异常还是正常;
第一确定模块,用于如果通过监测确定该第二存储设备异常,则确定自身部署的至少两个虚拟节点中的接入节点的数量;
第二选择模块,用于如果确定的接入节点的数量大于或等于1,且该云存储集群的虚拟地址当前被挂载到该第二存储设备上,则从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
第二挂载模块,用于将该云存储集群的虚拟地址从该第二存储设备切换挂载到该第一存储设备上,以通过重新选择的主节点对外提供服务。
可选地,该装置还包括:
第四设置模块,用于如果自身部署的至少两个虚拟节点中还存在备用节点,则将自身部署的至少两个虚拟节点中的备用节点设置为接入节点。
可选地,该装置还包括:
第二确定模块,用于当通过监测确定该第二存储设备从异常恢复到正常时,确定自身部署的虚拟节点中的接入节点和该第二存储设备部署的虚拟节点中的接入节点的总数量,将确定的总数量作为第二总数量;
读取模块,用于如果该第二总数量为偶数,则读取本地存储的配置文件中的角色配置项;
第五设置模块,用于如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点;
第三选择模块,用于在设置备用节点之后,从自身部署的至少两个虚拟节点中的接入节点和该第二存储设备部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
第三挂载模块,用于当重新确定的主节点为该第二存储设备部署的至少两个虚拟节点中的一个节点时,向该第二存储设备发送地址挂载消息,以指示该第二存储设备挂载该云存储集群的虚拟地址。
可选地,该装置还包括:
存储模块,用于如果该主节点为自身部署的至少两个虚拟节点中的一个节点,则将该主节点的关键信息存储在本地;
更新模块,用于每隔预定时长更新该本地上一次存储的关键信息,得到更新的关键信息;
导入模块,用于当自身部署的任一虚拟节点中的关键信息丢失时,将该更新的关键信息导入丢失关键信息的虚拟节点中。
在本申请实施例中,当存储设备的资源比较紧张,即只有第一存储设备和第二存储设备两个存储设备时,可以为每个存储设备部署至少两个虚拟节点。第一存储设备可以设置自身部署的至少两个虚拟节点的角色信息,并获取第二存储设备部署的至少两个虚拟节点的角色信息,并基于自身和第二存储设备的角色信息,从自身部署的至少两个虚拟节点以及第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点。进而,将云存储集群的虚拟地址挂载到主节点所在的存储设备上,以通过主节点对外提供服务。也即是,当存储设备的资源比较紧张,即只有两个存储设备时,可以通过在每个存储设备上部署至少两个虚拟节点的方式,将这两个存储设备组成云存储集群并通过主节点对外提供服务,因此,本申请提供的云存储集群具备高可用性的特点。
需要说明的是:上述实施例提供的业务设备选取的装置在选取业务设备时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将业务设备选取的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的业务设备选取的装置与业务设备选取的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例提供了一种云存储集群更新的装置,参见图10,应用于云存储集群包括的第一存储设备,第一存储设备上部署有一个虚拟节点。该装置包括增加模块1001、获取模块1002和更新模块1003。
增加模块1001,用于在自身部署的虚拟节点之外增加至少一个虚拟节点;
获取模块1002,用于获取第二存储设备的设备信息,所述第二存储设备上部署有至少两个虚拟节点;
更新模块1003,用于基于所述第二存储设备的设备信息,将所述第二存储设备加入所述云存储集群,以实现对所述云存储集群的更新。
在本申请实施例中,在第一存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第一存储设备上当前部署有至少两个节点,并且,第二存储设备上也部署有至少两个虚拟节点。因此,当基于第二存储设备的设备信息将第二存储设备加入云存储集群以实现对云存储集群的更新时,更新后的云存储集群包括两个存储设备,且每个存储设备上部署有至少两个节点,也即是组建出了具备高可用性的云存储集群。
需要说明的是:上述实施例提供的云存储集群更新的装置在更新云存储集群时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将云存储集群更新的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的云存储集群更新的装置与云存储集群更新的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例提供了一种云存储集群更新的装置,参见图11,应用于所述云存储集群包括的第一存储设备,所述云存储集群还包括至少两个存储设备,且所述云存储集群包括的每个存储设备上均部署有一个虚拟节点。该装置包括第一增加模块1101、选择模块1102、第二增加模块1103和更新模块1104。
第一增加模块1101,用于在自身部署的虚拟节点之外增加至少一个虚拟节点。
选择模块1102,用于从该至少两个存储设备中选择一个存储设备,将选择的存储设备作为第二存储设备。
第二增加模块1103,用于在该第二存储设备部署的虚拟节点之外增加至少一个虚拟节点。
更新模块1104,用于将该云存储集群中除该第一存储设备和该第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对该云存储集群的更新。
可选地,该选择模块包括:
第一选择子模块,用于如果该云存储集群包括的存储设备的数量为奇数,则从该至少两个存储设备中随机选择一个存储设备;
第二选择子模块,用于如果该云存储集群包括的存储设备的数量为偶数,且该第一存储设备上原始部署的虚拟节点是备用节点,则从该至少两个存储设备中选择原始部署的虚拟节点是接入节点的存储设备;
第三选择子模块,用于如果该云存储集群包括的存储设备的数量为偶数,且该第一存储设备上原始部署的虚拟节点是接入节点,则从该至少两个存储设备中随机选择一个存储设备。
在本申请实施例中,在第一存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第一存储设备上当前部署有至少两个节点。从云存储集群包括的至少两个存储设备中选择一个存储设备作为第二存储设备,并在第二存储设备部署的虚拟节点之外增加至少一个虚拟节点,也即第二存储设备上当前部署有至少两个节点。如此,当将云存储集群中除第一存储设备和第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对云存储集群的更新时,更新后的云存储集群包括两个存储设备,且每个存储设备上部署有至少两个节点,也即是组建出了具备高可用性的云存储集群。
需要说明的是:上述实施例提供的云存储集群更新的装置在更新云存储集群时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将云存储集群更新的装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的云存储集群更新的装置与云存储集群更新的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12是本申请实施例提供的一种服务器的结构示意图。该服务器可以是业务设备选取的方法中的第一存储设备或第二存储设备,也可以是云存储集群更新的方法中的第一存储设备或第二存储设备。该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1222(例如,一个或一个以上处理器)和存储器1232,一个或一个以上存储应用程序1242或数据1244的存储介质1230(例如一个或一个以上海量存储设备)。其中,存储器1232和存储介质1230可以是短暂存储或持久存储。存储在存储介质1230的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1222可以设置为与存储介质1230通信,在服务器1200上执行存储介质1230中的一系列指令操作。
服务器1200还可以包括一个或一个以上电源1226,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1258,一个或一个以上键盘1256,和/或,一个或一个以上操作系统1241,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质应用于服务器,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由处理器加载并执行,进而可以实现上述实施例的业务设备选取的方法中的操作,也可以实现上述实施例的云存储集群更新的方法中的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (18)

1.一种业务设备选取的方法,应用于云存储集群中的第一存储设备上,其特征在于,所述云存储集群还包括第二存储设备,所述第一存储设备和所述第二存储设备上均部署有至少两个虚拟节点,所述方法包括:
设置自身部署的至少两个虚拟节点的角色信息;
获取所述第二存储设备部署的至少两个虚拟节点的角色信息;
基于自身部署的至少两个虚拟节点的角色信息以及所述第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及所述第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点;
将所述云存储集群的虚拟地址挂载到所述主节点所在的存储设备上,以通过所述主节点对外提供服务。
2.如权利要求1所述的方法,其特征在于,所述设置自身部署的至少两个虚拟节点的角色信息,包括:
确定自身部署的虚拟节点和所述第二存储设备部署的虚拟节点的总数量,将确定的总数量作为第一总数量;
如果所述第一总数量为奇数,则将自身部署的至少两个虚拟节点均设置为接入节点。
3.如权利要求2所述的方法,其特征在于,所述确定自身部署的虚拟节点和所述第二存储设备部署的虚拟节点的总数量之后,还包括:
如果所述第一总数量为偶数,则读取本地存储的配置文件中的角色配置项;
如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点,将自身部署的至少两个虚拟节点中剩余的虚拟节点设置为接入节点;
如果读取的角色配置项为第二数值,则将自身部署的至少两个虚拟节点均设置为接入节点。
4.如权利要求3所述的方法,其特征在于,所述设置自身部署的至少两个虚拟节点的角色信息之前,还包括:
获取所述第二存储设备的媒体接入控制MAC地址;
如果自身的MAC地址大于所述第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第一数值;
如果自身的MAC地址小于所述第二存储设备的MAC地址,则将本地存储的配置文件中的角色配置项设置为第二数值。
5.如权利要求1所述的方法,其特征在于,所述将所述云存储集群的虚拟地址挂载到所述主节点所在的存储设备上,包括:
如果所述主节点为自身部署的至少两个虚拟节点中的一个节点,则在自身上挂载所述云存储集群的虚拟地址;
如果所述主节点为所述第二存储设备部署的至少两个虚拟节点中的一个节点,则向所述第二存储设备发送地址挂载消息,以指示所述第二存储设备挂载所述云存储集群的虚拟地址。
6.如权利要求1-5任一所述的方法,其特征在于,所述将所述云存储集群的虚拟地址挂载到所述主节点所在的存储设备上之后,所述方法还包括:
对所述第二存储设备的运行状态进行监测,所述运行状态用于指示存储设备是异常还是正常;
如果通过监测确定所述第二存储设备异常,则确定自身部署的至少两个虚拟节点中的接入节点的数量;
如果确定的接入节点的数量大于或等于1,且所述云存储集群的虚拟地址当前被挂载到所述第二存储设备上,则从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
将所述云存储集群的虚拟地址从所述第二存储设备切换挂载到所述第一存储设备上,以通过重新选择的主节点对外提供服务。
7.如权利要求6所述的方法,其特征在于,所述从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点之前,所述方法还包括:
如果自身部署的至少两个虚拟节点中还存在备用节点,则将自身部署的至少两个虚拟节点中的备用节点设置为接入节点。
8.如权利要求6所述的方法,其特征在于,所述对所述第二存储设备的运行状态进行监测之后,所述方法还包括:
当通过监测确定所述第二存储设备从异常恢复到正常时,确定自身部署的虚拟节点中的接入节点和所述第二存储设备部署的虚拟节点中的接入节点的总数量,将确定的总数量作为第二总数量;
如果所述第二总数量为偶数,则读取本地存储的配置文件中的角色配置项;
如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点;
在设置备用节点之后,从自身部署的至少两个虚拟节点中的接入节点和所述第二存储设备部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
当重新确定的主节点为所述第二存储设备部署的至少两个虚拟节点中的一个节点时,向所述第二存储设备发送地址挂载消息,以指示所述第二存储设备挂载所述云存储集群的虚拟地址。
9.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述主节点为自身部署的至少两个虚拟节点中的一个节点,则将所述主节点的关键信息存储在本地;
每隔预定时长更新所述本地上一次存储的关键信息,得到更新的关键信息;
当自身部署的任一虚拟节点中的关键信息丢失时,将所述更新的关键信息导入丢失关键信息的虚拟节点中。
10.一种云存储集群更新的方法,应用于所述云存储集群包括的第一存储设备,所述第一存储设备上部署有一个虚拟节点,其特征在于,所述方法包括:
在自身部署的虚拟节点之外增加至少一个虚拟节点;
获取第二存储设备的设备信息,所述第二存储设备上部署有至少两个虚拟节点;
基于所述第二存储设备的设备信息,将所述第二存储设备加入所述云存储集群,以实现对所述云存储集群的更新。
11.一种云存储集群更新的方法,应用于所述云存储集群包括的第一存储设备,所述云存储集群还包括至少两个存储设备,且所述云存储集群包括的每个存储设备上均部署有一个虚拟节点,其特征在于,所述方法包括:
在自身部署的虚拟节点之外增加至少一个虚拟节点;
从所述至少两个存储设备中选择一个存储设备,将选择的存储设备作为第二存储设备;
在所述第二存储设备部署的虚拟节点之外增加至少一个虚拟节点;
将所述云存储集群中除所述第一存储设备和所述第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对所述云存储集群的更新。
12.如权利要求11所述的方法,其特征在于,所述从所述至少两个存储设备中选择一个存储设备,包括:
如果所述云存储集群包括的存储设备的数量为奇数,则从所述至少两个存储设备中随机选择一个存储设备;
如果所述云存储集群包括的存储设备的数量为偶数,且所述第一存储设备上原始部署的虚拟节点是备用节点,则从所述至少两个存储设备中选择原始部署的虚拟节点是接入节点的存储设备;
如果所述云存储集群包括的存储设备的数量为偶数,且所述第一存储设备上原始部署的虚拟节点是接入节点,则从所述至少两个存储设备中随机选择一个存储设备。
13.一种业务设备选取的装置,应用于云存储集群中的第一存储设备上,其特征在于,所述云存储集群还包括第二存储设备,所述第一存储设备和所述第二存储设备上均部署有至少两个虚拟节点,所述装置包括:
第一设置模块,用于设置自身部署的至少两个虚拟节点的角色信息;
第一获取模块,用于获取所述第二存储设备部署的至少两个虚拟节点的角色信息;
第一选择模块,用于基于自身部署的至少两个虚拟节点的角色信息以及所述第二存储设备部署的至少两个虚拟节点的角色信息,从自身部署的至少两个虚拟节点以及所述第二存储设备部署的至少两个虚拟节点中选择一个节点作为主节点;
第一挂载模块,用于将所述云存储集群的虚拟地址挂载到所述主节点所在的存储设备上,以通过所述主节点对外提供服务。
14.如权利要求13所述的装置,其特征在于,所述装置还包括:
监测模块,用于对所述第二存储设备的运行状态进行监测,所述运行状态用于指示存储设备是异常还是正常;
第一确定模块,用于如果通过监测确定所述第二存储设备异常,则确定自身部署的至少两个虚拟节点中的接入节点的数量;
第二选择模块,用于如果确定的接入节点的数量大于或等于1,且所述云存储集群的虚拟地址当前被挂载到所述第二存储设备上,则从自身部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
第二挂载模块,用于将所述云存储集群的虚拟地址从所述第二存储设备切换挂载到所述第一存储设备上,以通过重新选择的主节点对外提供服务。
15.如权利要求14所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于当通过监测确定所述第二存储设备从异常恢复到正常时,确定自身部署的虚拟节点中的接入节点和所述第二存储设备部署的虚拟节点中的接入节点的总数量,将确定的总数量作为第二总数量;
读取模块,用于如果所述第二总数量为偶数,则读取本地存储的配置文件中的角色配置项;
第五设置模块,用于如果读取的角色配置项为第一数值,则将自身部署的至少两个虚拟节点中的一个虚拟节点设置为备用节点;
第三选择模块,用于在设置备用节点之后,从自身部署的至少两个虚拟节点中的接入节点和所述第二存储设备部署的至少两个虚拟节点中的接入节点中选择一个节点作为主节点;
第三挂载模块,用于当重新确定的主节点为所述第二存储设备部署的至少两个虚拟节点中的一个节点时,向所述第二存储设备发送地址挂载消息,以指示所述第二存储设备挂载所述云存储集群的虚拟地址。
16.一种云存储集群更新的装置,应用于所述云存储集群包括的第一存储设备,所述第一存储设备上部署有一个虚拟节点,其特征在于,所述装置包括:
增加模块,用于在自身部署的虚拟节点之外增加至少一个虚拟节点;
获取模块,用于获取第二存储设备的设备信息,所述第二存储设备上部署有至少两个虚拟节点;
更新模块,用于基于所述第二存储设备的设备信息,将所述第二存储设备加入所述云存储集群,以实现对所述云存储集群的更新。
17.一种云存储集群更新的装置,应用于所述云存储集群包括的第一存储设备,所述云存储集群还包括至少两个存储设备,且所述云存储集群包括的每个存储设备上均部署有一个虚拟节点,其特征在于,所述装置包括:
第一增加模块,用于在自身部署的虚拟节点之外增加至少一个虚拟节点;
选择模块,用于从所述至少两个存储设备中选择一个存储设备,将选择的存储设备作为第二存储设备;
第二增加模块,用于在所述第二存储设备部署的虚拟节点之外增加至少一个虚拟节点;
更新模块,用于将所述云存储集群中除所述第一存储设备和所述第二存储设备之外剩余的存储设备上部署的所有虚拟节点删除,以实现对所述云存储集群的更新。
18.如权利要求17所述的装置,其特征在于,所述选择模块包括:
第一选择子模块,用于如果所述云存储集群包括的存储设备的数量为奇数,则从所述至少两个存储设备中随机选择一个存储设备;
第二选择子模块,用于如果所述云存储集群包括的存储设备的数量为偶数,且所述第一存储设备上原始部署的虚拟节点是备用节点,则从所述至少两个存储设备中选择原始部署的虚拟节点是接入节点的存储设备;
第三选择子模块,用于如果所述云存储集群包括的存储设备的数量为偶数,且所述第一存储设备上原始部署的虚拟节点是接入节点,则从所述至少两个存储设备中随机选择一个存储设备。
CN201910351117.7A 2019-04-28 2019-04-28 业务设备选取、云存储集群更新的方法、装置及存储介质 Active CN111866041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910351117.7A CN111866041B (zh) 2019-04-28 2019-04-28 业务设备选取、云存储集群更新的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910351117.7A CN111866041B (zh) 2019-04-28 2019-04-28 业务设备选取、云存储集群更新的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN111866041A true CN111866041A (zh) 2020-10-30
CN111866041B CN111866041B (zh) 2023-05-02

Family

ID=72966287

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910351117.7A Active CN111866041B (zh) 2019-04-28 2019-04-28 业务设备选取、云存储集群更新的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN111866041B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012209625A (ja) * 2011-03-29 2012-10-25 Nec Corp クラスタシステムの結線作業の煩雑さを軽減するシステム及び方法
CN103475732A (zh) * 2013-09-25 2013-12-25 浪潮电子信息产业股份有限公司 一种基于虚拟地址池的分布式文件系统数据卷部署方法
US20140047088A1 (en) * 2012-08-09 2014-02-13 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
CN106850269A (zh) * 2016-12-29 2017-06-13 曙光信息产业(北京)有限公司 一种云平台的管理系统
CN108600321A (zh) * 2018-03-26 2018-09-28 中国科学院计算技术研究所 一种基于分布式内存云的图数据存储方法和系统
CN109379398A (zh) * 2018-08-31 2019-02-22 北京奇艺世纪科技有限公司 一种数据同步方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012209625A (ja) * 2011-03-29 2012-10-25 Nec Corp クラスタシステムの結線作業の煩雑さを軽減するシステム及び方法
US20140047088A1 (en) * 2012-08-09 2014-02-13 International Business Machines Corporation Service management roles of processor nodes in distributed node service management
CN103475732A (zh) * 2013-09-25 2013-12-25 浪潮电子信息产业股份有限公司 一种基于虚拟地址池的分布式文件系统数据卷部署方法
CN106850269A (zh) * 2016-12-29 2017-06-13 曙光信息产业(北京)有限公司 一种云平台的管理系统
CN108600321A (zh) * 2018-03-26 2018-09-28 中国科学院计算技术研究所 一种基于分布式内存云的图数据存储方法和系统
CN109379398A (zh) * 2018-08-31 2019-02-22 北京奇艺世纪科技有限公司 一种数据同步方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHO CHO KHAING,THINN THU NAING: ""The efficient data storage management system on cluster-based private cloud data center"", 《2011 IEEE INTERNATIONAL CONFERENCE ON CLOUD COMPUTING AND INTELLIGENCE SYSTEMS》 *
李昌龙: ""面向自组织移动云的存储架构关键技术研究"", 《中国优秀博士学位论文全文数据库 信息科技辑》 *

Also Published As

Publication number Publication date
CN111866041B (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
US7225356B2 (en) System for managing operational failure occurrences in processing devices
CN107820043B (zh) 视频监控系统的控制方法、装置及系统
CN107508694B (zh) 一种集群内的节点管理方法及节点设备
CN111176888B (zh) 云存储的容灾方法、装置及系统
CN110391940A (zh) 服务地址的响应方法、装置、系统、设备和存储介质
CN111935244B (zh) 一种业务请求处理系统及超融合一体机
CN107508700B (zh) 容灾方法、装置、设备及存储介质
US11153173B1 (en) Dynamically updating compute node location information in a distributed computing environment
CN111966466A (zh) 一种容器管理方法、设备以及介质
CN116800825A (zh) 一种基于微服务拆分的调用方法、装置、设备及介质
CN107046474B (zh) 一种服务集群
US20070294255A1 (en) Method and System for Distributing Data Processing Units in a Communication Network
CN111342986B (zh) 分布式节点管理方法及装置、分布式系统、存储介质
CN111045602A (zh) 集群系统控制方法及集群系统
EP3570169A1 (en) Method and system for processing device failure
EP2846577A1 (en) Mobile communication system, call processing node, and communication control method
CN111404978B (zh) 一种数据存储方法及云存储系统
CN106534758B (zh) 会议备份方法和装置
US8982902B1 (en) Backup server architecture in a VoIP system
CN109617716B (zh) 数据中心异常处理方法及装置
CN111866041B (zh) 业务设备选取、云存储集群更新的方法、装置及存储介质
CN111756800A (zh) 一种处理突发流量的方法和系统
CN116346834A (zh) 一种会话同步方法、装置、计算设备及计算机存储介质
EP4344259A1 (en) Session binding relationship processing method and apparatus, electronic device, and readable medium
CN116192885A (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