CN109286507B - 发现方法、计算系统以及计算机可读介质 - Google Patents
发现方法、计算系统以及计算机可读介质 Download PDFInfo
- Publication number
- CN109286507B CN109286507B CN201710599911.4A CN201710599911A CN109286507B CN 109286507 B CN109286507 B CN 109286507B CN 201710599911 A CN201710599911 A CN 201710599911A CN 109286507 B CN109286507 B CN 109286507B
- Authority
- CN
- China
- Prior art keywords
- cluster
- devices
- message
- cluster device
- count
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/4408—Boot device selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Abstract
本公开的实施例涉及发现系统和方法。一种方法、计算机程序产品以及计算系统,其用于发起针对被包括在存储系统的设备集群内的多个设备的启动模式过程。启动模式过程包括:生成针对从多个设备选择的第一设备的集群设备标识符,生成用于第一设备的集群设备计数,并且将启动集群设备消息从第一设备广播到所有其他多个设备。启动集群设备消息包括第一设备的集群设备标识符以及第一设备的集群设备计数。以第一频率广播启动集群设备消息。
Description
技术领域
本公开涉及发现方法、计算系统以及计算机可读介质,并且更特别地涉及用于在数据存储系统内使用的发现方法、计算系统以及计算机可读介质。
背景技术
存储和保护电子内容在现代商业中至关重要。因此,各种方法可以被用于保护这样的电子内容。一个这样的方法是利用高可用性系统以减少数据丢失的可能性。
如将期望的,这样的高可用性系统通常相当复杂并且包含多个组件和子组件,其全部需要彼此被发现以便适当地操作。
发明内容
在一个实现中,一种发现方法被执行在计算设备上,并且包括发起用于被包括在存储系统的设备集群内的多个设备的启动模式过程。启动模式过程包括:生成针对从多个设备选择的第一设备的集群设备标识符,生成针对第一设备的集群设备计数,并且将启动集群设备消息从第一设备广播到所有其他多个设备。启动集群设备消息包括第一设备的集群设备标识符以及第一设备的集群设备计数。以第一频率广播启动集群设备消息。
可以包括以下特征中的一个或多个特征。启动模式过程还可以包括:从其他多个设备中的一个或多个设备接收启动集群设备消息;至少部分地基于从其他多个设备中的一个或多个设备接收到的启动集群设备消息,使第一设备的集群设备计数递增;以及将启动集群设备消息从第一设备重新广播到所有其他多个设备。可以在定义的时间段之后发起快速模式过程。快速模式过程可以包括:将快速集群设备消息从第一设备广播到所有其他多个设备。快速集群设备消息可以包括:第一设备的集群设备标识符以及第一设备的集群设备计数。可以以小于第一频率的第二频率广播快速集群设备消息。快速模式过程还可以包括:从其他多个设备中的一个或多个设备接收集群设备消息;至少部分地基于从其他多个设备中的一个或多个设备接收到的快速集群设备消息,使第一设备的集群设备计数递增;以及将快速集群设备消息从第一设备重新广播到所有其他多个设备。一旦设备集群内的所有设备已经被标识,就可以发起稳定模式过程。稳定速模式过程可以包括将稳定集群设备消息从第一设备广播到所有其他多个设备。稳定集群设备消息可以包括:第一设备的集群设备标识符以及第一设备的集群设备计数。可以以小于第二频率的第三频率广播稳定集群设备消息。稳定模式过程还可以包括:从其他多个设备中的一个或多个设备接收稳定集群设备消息;以及确定第一设备的集群设备计数是否与被包括在从其他多个设备中的一个或多个设备接收到的集群设备消息内的集群设备计数相同。稳定模式过程还可以包括:如果第一设备的集群设备计数与被包括在从其他多个设备中的一个或多个设备接收到的集群设备消息内的集群设备计数不相同,则可以重新发起快速模式过程。
在另一实现中,一种计算机程序产品驻留在计算机可读介质上并且具有被存储在其上的多个指令。当由处理器执行时,指令使得处理器执行操作,该操作包括发起用于被包括在存储系统的设备集群内的多个设备的启动模式过程。启动模式过程包括:生成针对从多个设备选择的第一设备的集群设备标识符,生成针对第一设备的集群设备计数,并且将启动集群设备消息从第一设备广播到所有其他多个设备。启动集群设备消息包括第一设备的集群设备标识符以及第一设备的集群设备计数。以第一频率广播启动集群设备消息。
可以包括以下特征中的一个或多个特征。启动模式过程还可以包括:从其他多个设备中的一个或多个设备接收启动集群设备消息;至少部分地基于从其他多个设备中的一个或多个设备接收到的启动集群设备消息,使第一设备的集群设备计数递增;以及将启动集群设备消息从第一设备重新广播到所有其他多个设备。可以在定义的时间段之后发起快速模式过程。快速模式过程可以包括:将快速集群设备消息从第一设备广播到所有其他多个设备。快速集群设备消息可以包括:第一设备的集群设备标识符以及第一设备的集群设备计数。可以以小于第一频率的第二频率广播快速集群设备消息。快速模式过程还可以包括:从其他多个设备中的一个或多个设备接收集群设备消息;至少部分地基于从其他多个设备中的一个或多个设备接收到的快速集群设备消息,使第一设备的集群设备计数递增;以及将快速集群设备消息从第一设备重新广播到所有其他多个设备。一旦设备集群内的所有设备已经被标识,就可以发起稳定模式过程。稳定速模式过程可以包括:将稳定集群设备消息从第一设备广播到所有其他多个设备。稳定集群设备消息可以包括:第一设备的集群设备标识符以及第一设备的集群设备计数。可以以小于第二频率的第三频率广播稳定集群设备消息。稳定模式过程还可以包括:从其他多个设备中的一个或多个设备接收稳定集群设备消息;以及确定第一设备的集群设备计数是否与被包括在从其他多个设备中的一个或多个设备接收到的集群设备消息内的集群设备计数相同。稳定模式过程还可以包括:如果第一设备的集群设备计数与被包括在从其他多个设备中的一个或多个设备接收到的集群设备消息内的集群设备计数不相同,则可以重新发起快速模式过程。
在另一实现中,一种计算系统包括处理器和存储器,其被配置为执行操作,操作包括发起用于被包括在存储系统的设备集群内的多个设备的启动模式过程。启动模式过程包括:生成针对从多个设备选择的第一设备的集群设备标识符,生成针对第一设备的集群设备计数,并且将启动集群设备消息从第一设备广播到所有其他多个设备。启动集群设备消息包括第一设备的集群设备标识符以及第一设备的集群设备计数。以第一频率广播启动集群设备消息。
可以包括以下特征中的一个或多个特征。启动模式过程还可以包括:从其他多个设备中的一个或多个设备接收启动集群设备消息;至少部分地基于从其他多个设备中的一个或多个设备接收到的启动集群设备消息,使第一设备的集群设备计数递增;以及将启动集群设备消息从第一设备重新广播到所有其他多个设备。可以在定义的时间段之后发起快速模式过程。快速模式过程可以包括:将快速集群设备消息从第一设备广播到所有其他多个设备。快速集群设备消息可以包括:第一设备的集群设备标识符以及第一设备的集群设备计数。可以以小于第一频率的第二频率广播快速集群设备消息。快速模式过程还可以包括:从其他多个设备中的一个或多个设备接收集群设备消息;至少部分地基于从其他多个设备中的一个或多个设备接收到的快速集群设备消息,使第一设备的集群设备计数递增;以及将快速集群设备消息从第一设备重新广播到所有其他多个设备。一旦设备集群内的所有设备已经被标识,就可以发起稳定模式过程。稳定速模式过程可以包括:将稳定集群设备消息从第一设备广播到所有其他多个设备。稳定集群设备消息可以包括:第一设备的集群设备标识符以及第一设备的集群设备计数。可以以小于第二频率的第三频率广播稳定集群设备消息。稳定模式过程还可以包括:从其他多个设备中的一个或多个设备接收稳定集群设备消息;以及确定第一设备的集群设备计数是否与被包括在从其他多个设备中的一个或多个设备接收到的集群设备消息内的集群设备计数相同。稳定模式过程还可以包括:如果第一设备的集群设备计数与被包括在从其他多个设备中的一个或多个设备接收到的集群设备消息内的集群设备计数不相同,则可以重新发起快速模式过程。
在附图和以下描述中阐述了一个或多个实现的细节。其他特征和优点将从描述、附图和权利要求变得显而易见。
附图说明
图1是被耦合到分布式计算网络的存储系统和存储管理过程的图解视图;
图2是图1的存储系统的另一实现的图解视图;
图3是图1的存储系统的另一实现的图解视图;以及
图4是图1的存储管理过程的流程图。
各个附图中的相同附图标记指代相同元素。
具体实施方式
系统概述:
参考图1,示出了存储管理过程10,其可以驻留在存储系统12上并且可以由存储系统12执行,其可以被连接到网络14(例如,因特网或局域网)。存储系统12的示例可以包括但不限于:网络附加存储(NAS)系统、存储区域网络(SAN)、具有存储器系统的个人计算机、具有存储器系统的服务器计算机以及具有存储器系统的基于云的设备。
如本领域已知的,SAN可以包括以下各项中的一项或多项:个人计算机、服务器计算机、一系列服务器计算机、迷你计算机、大型计算机、RAID设备以及NAS系统。存储系统12的各个组件可以执行一种或多种操作系统,其示例可以例如包括但不限于:MicrosoftWindows Server tm、RedhatLinuxtm、Unix或定制操作系统。
可以由被包括在存储系统12内的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行存储管理过程10的指令集和子例程,其可以被存储在被包括在存储系统12内的存储设备16上。存储设备16可以包括但不限于:硬盘驱动器、磁带驱动器、光学驱动器、RAID设备、随机存取存储器(RAM)、只读存储器(ROM)、以及所有形式的闪速存储器存储设备。
网络14可以被连接到一个或多个次级网络(例如,网络18),其示例可以例如包括但不限于:局域网、广域网、或内联网。
各种IO请求(例如,IO请求20)可以从客户端应用22、24、26、28被发送到存储系统12。IO请求20的示例可以包括但不限于数据写入请求(即,内容被写入到存储系统12的请求)和数据读取请求(即,内容从存储系统12被读取的请求)。
可以由分别被并入客户端电子设备38、40、42、44中的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行客户端应用22、24、26、28的指令集和子例程,其可以分别被存储在分别被耦合到客户端电子设备38、40、42、44的存储设备30、32、34、36。存储设备30、32、34、36可以包括但不限于:硬盘驱动器、磁带驱动器、光学驱动器、RAID设备、随机存取存储器(RAM)、只读存储器(ROM)、以及所有形式的闪速存储器存储设备。客户端电子设备38、40、42、44的示例可以包括但不限于:个人计算机38、膝上型计算机40、智能电话42、笔记本计算机44、服务器(未示出)、支持数据的蜂窝电话(未示出)以及专用网络设备(未示出)。
用户46、48、50、52可以直接地通过网络14或通过次级网络18来访问存储系统12。此外,存储系统12可以通过次级网络18被连接到网络14,如利用连接线54所图示的。
各种客户端电子设备可以直接或间接地耦合到网络14(或网络18)。例如,个人计算机38被示出经由硬连线网络连接直接地耦合到网络14。此外,笔记本计算机44被示出经由硬连线网络连接直接地耦合到网络18。膝上型计算机40被示出经由无线通信信道56无线地耦合到网络14,该无线通信信道被建立在膝上型计算机40与无线接入点(即,WAP)58之间,该无线接入点(即,WAP)58被示出直接地耦合到网络14。WAP 58可以是例如IEEE802.11a、802.11b、802.11g、802.11n、Wi-Fi和/或蓝牙设备,其能够建立在膝上型计算机40与WAP 58之间的无线通信信道56。智能电话42被示出经由无线通信信道60无线地耦合到网络14,该无线通信信道被建立在智能电话42与蜂窝网络/网桥62之间,该蜂窝网络/网桥62被示出直接地耦合到网络14。
客户端电子设备38、40、42、44可以各自执行操作系统,其示例可以包括但不限于Microsoft Windowstm、Apple Macintoshtm、Redhat Linuxtm或定制操作系统。
出于说明性目的,存储系统12将被描述为包括多个后端存储设备的基于网络的存储系统。然而,这仅出于说明性目的并且不旨在是对本公开内容的限制,因为其他配置是可能的并且被认为是在本公开的范围内。
还参考图2,示出了存储系统12的一个特定实现。存储系统12可以包括存储处理器100和多个存储目标T1-n(例如,存储目标102、104、106、108、110)。存储目标102、104、106、108、110可以被配置为各种水平的性能和/或高可用性。例如,存储目标102、104、106、108、110中的一个或多个存储目标可以被配置为RAID 0阵列,其中数据跨越存储目标被条带化(striped)。通过跨越多个存储目标条带化数据,可以实现经改进的性能。然而,RAID 0阵列未提供高可用性的水平。因此,存储目标102、104、106、108、110中的一个或多个存储目标可以被配置为RAID 1阵列,其中数据在存储目标之间被镜像。通过对存储目标之间的数据进行镜像,当数据的多个副本被存储在存储系统12内时,实现高可用性的水平。
虽然存储目标102、104、106、108、110上文被讨论为被配置在RAID0或RAID 1阵列中,但是这仅出于说明性目的并且不旨在是对本公开的限制,因为其他配置是可能的。例如,存储目标102、104、106、108、110可以被配置为RAID 3阵列、RAID 4阵列、RAID 5阵列或RAID 6阵列。
虽然在该特定示例中,存储系统12被示出为包括五个存储目标(例如,存储目标102、104、106、108、110),但是这仅出于说明性目的并且不旨在是对本公开的限制。特别地,存储目标的实际数目可以取决于例如所要求的冗余/性能/容量的水平而增加或减小。
存储目标102、104、106、108、110中的一个或多个存储目标可以被配置为存储编码数据。如本领域已知的,编码数据可以考虑到在存储目标102、104、106、108、110中的一个或多个存储目标上丢失/损坏的数据的再生。
存储目标102、104、106、108、110的示例可以包括一个或多个电子机械硬盘驱动器和/或一个或多个固态/闪存设备,其中存储目标102、104、106、108、110和处理/控制系统(未示出)的组合可以形成数据阵列112。
实现存储系统12的方式可以取决于例如所要求的冗余/性能/容量的水平而发生改变。例如,存储系统12可以是RAID设备,其中存储处理器100是RAID控制器卡,并且存储目标102、104、106、108、110是个体“热插拔”硬盘驱动器。这样的RAID设备的另一示例可以包括但不限于NAS设备。备选地,存储系统12可以被配置为SAN,其中存储处理器100可以是例如服务器计算机,并且存储目标102、104、106、108、110中的每一个存储目标可以是RAID设备和/或基于计算机的硬盘驱动器。更进一步地,存储目标102、104、106、108、110中的一个或多个存储目标可以是SAN。
在存储系统12被配置为SAN的情况下,存储系统的各个组件(例如,存储处理器100、存储目标102、104、106、108、110)可以使用网络基础设施114进行耦合,其示例可以包括但不限于以太网(例如,第2层或第3层)网络、光纤通信网络、无线带宽网络或任何其他电路交换/分组交换网络。
存储管理过程:
存储系统12可以执行存储管理过程10的全部或一部分。可以由被包括在存储处理器100内的一个或多个处理器(未示出)和一个或多个架构(未示出)来执行存储管理过程10的指令集和子例程,其可以被存储在耦合到存储处理器10的存储设备(例如,存储设备16)上。存储设备16可以包括但不限于:硬盘驱动器、磁带驱动器、光学驱动器、RAID设备、随机存取存储器(RAM)、只读存储器(ROM)、以及所有形式的闪速存储器存储设备。此外,可以由被包括在数据阵列112内的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行存储管理过程10的指令集和子例程中的一些或全部。
如以上所讨论的,可以生成各种IO请求(例如,IO请求20)。例如,这些IO请求可以从客户端应用22、24、26、28被发送到存储系统12。附加地/备选地,并且当存储处理器100被配置为应用服务器时,这些IO请求可以在存储处理器100内被内部地生成。IO请求20的示例可以包括但不限于数据写入请求116(即,内容118被写入到存储系统12的请求)和数据读取请求120(即,内容118从存储系统12被读取的请求)。
在存储处理器100的操作期间,可以通过存储处理器100和存储管理过程10来处理待写入到存储系统12的内容118。附加地/备选地,并且当存储处理器100被配置为应用服务器时,可以通过存储处理器100内部地生成待写入到存储系统12的内容118。
存储处理器100可以包括前端高速缓存存储器系统122。前端高速缓存存储器系统122的示例可以包括但不限于:易失性、固态、高速缓存存储器系统(例如,动态RAM高速缓存存储器系统)和/或非易失性、固态、高速缓存存储器系统(例如,基于闪存的高速缓存存储器系统)。
存储处理器100和存储管理过程10可以初始地将内容118存储在前端高速缓存存储器系统122内。取决于前端高速缓存存储器系统122被配置的方式,存储处理器100和存储管理过程10可以立即将内容118写入到数据阵列112(在前端高速缓存存储器系统122被配置为直写式高速缓存的情况下)或可以随后地将内容118写入到数据阵列112(在前端高速缓存存储器系统122被配置为回写式高速缓存的情况下)。
数据阵列112可以包括后端高速缓存存储器系统124。后端高速缓存存储器系统124的示例可以包括但不限于:易失性、固态、高速缓存存储器系统(例如,动态RAM高速缓存存储器系统)和/或非易失性、固态、高速缓存存储器系统(例如,基于闪存的高速缓存存储器系统)。在数据阵列112的操作期间,可以从存储处理器100接收待写入到数据阵列112的内容118。在被存储在例如存储目标102、104、106、108、110中的一个或多个存储目标上之前,数据阵列112和存储管理过程10可以初始地将内容118存储在后端高速缓存存储器系统124内。
如上文所讨论的,存储系统12可以包括各种设备、系统和子系统(例如,存储处理器100、网络基础设施114和/或数据阵列112)。此外,图2中所示的存储系统12的实现通常是简化实现,因为存储系统12的其他实施例可以是相当更复杂的并且可以包括相当更多的设备、系统和子系统。例如,存储系统12的典型/其他实施例可以包括多个存储处理器和多个数据阵列。此外,其他设备、系统和子系统可以被包括在存储系统12内,其示例可以包括但不限于:服务器系统、高速缓存系统、磁盘系统和电池备份系统。
如上文所讨论的,存储系统12内的所有设备可以经由网络基础设施(例如,网络基础设施114)被耦合,并且可以被配置为在集群内操作。遗憾的是当存储系统12被开始(或被重新开始)时,这些设备、系统和子系统中的每一个需要被启动并且存储系统12内的所有设备、系统和子系统需要被标识。
自动的设备发现:
因此如下面将更详细讨论的,存储管理过程10可以被配置为允许集群内的设备、系统和子系统中的每一个彼此被标识。
还参考图3,示出了存储系统12的说明性实现,其中存储系统12被示出为包括上文所描述的设备、系统和子系统中的六个,也即:第一设备200、第二设备202、第三设备204、第四设备206、第五设备208和第六设备210,其全部经由网络基础设施114耦合在一起。
第一设备200、第二设备202、第三设备204、第四设备206、第五设备208、第六设备210以及网络基础设施114可以被配置为形成针对存储系统12的设备集群212。如本领域中已知的,设备集群(例如,设备集群212)可以包括松散或紧密连接的计算机集合(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210),其可以被配置为在一起工作,使得(在许多方面中)它们可以被视为单个系统。集群(例如,设备集群212)的组件可以通过快速局域网(例如,网络基础设施114)连接到彼此。集群(例如,设备集群212)可以被部署以提供更高水平的性能和/或可用性(同时通常是比具有可比较的性能/可用性的单个设备更有成本效益)。
遗憾的是如上文所讨论的,当存储系统12被开始(或被重新开始)时,这些设备、系统和子系统中的每一个需要被启动,并且设备集群212内的所有设备、系统和子系统(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)将需要被标识。
因此还参考图4,当存储系统12被开始(或被重新开始)时,存储管理过程10可以发起300用于被包括在存储系统12的设备集群212内的多个设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)的启动模式过程214。虽然以下讨论涉及第一设备200,但是应理解到,可以在被包括在存储系统12的设备集群212内的多个设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208和第六设备210)中的每个设备上同时执行启动模式过程214的操作。
启动模式过程214的指令集和子例程可以是存储管理过程10的一部分、可以被存储在被包括在存储系统12内的存储设备16上,以及可以由被包括在存储系统12内的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行。
启动模式过程214可以生成302针对从多个设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)所选择的第一设备(例如,第一设备200)的集群设备标识符216,并且可以生成304针对第一设备200的集群设备计数218。启动模式过程214可以然后将启动集群设备消息220从第一设备200广播306到所有其他设备(例如,第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210),其中启动集群设备消息220可以包括第一设备200的集群设备标识符216和第一设备200的集群设备计数218。
集群设备标识符216可以是虑及(在该示例中)第一设备200的唯一标识的任何标识符。这样的唯一标识符的示例可以包括但不限于MAC(即,介质访问控制)地址或UUID(即,通用唯一标识符)。集群设备计数218可以包括数字计数,其定义在集群设备计数218被生成时对(在示例中)第一设备200已知的(被包括在集群212内的)唯一设备的数目。例如,假定当启动模式过程214被发起300并且集群设备计数218被生成304时,启动模式过程214尚未知道(在该示例中)其他多个设备(例如,第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)中的任一个设备的存在。因此针对启动集群设备消息220初始地广播306,启动集群设备消息220可以包括“1”的集群设备计数218(因为第一设备200这时仅知道自身)。启动集群设备消息220可以以第一频率广播306(例如,每100毫秒一次),其中该第一频率可以相当高以使能集群212内的设备的快速和有效的发现。
启动模式过程214可以被配置为维护设备表(例如,设备表222),其标识在集群212内到目前为止所标识的所有设备,其中设备表可以被维护用于多个设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)中的每个设备。如上文所陈述的,由于第一设备200到目前为止仅知道自身,因而设备表222将仅包括一个条目(即与设备200相对应的条目)。
由于设备集群212内的所有设备将生成并且广播启动集群设备消息,因而启动模式过程214可以从其他多个设备(例如,第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)中的一个或多个设备接收308启动集群设备消息(例如,设备消息224)。因此,假定第一设备200从被包括在设备集群212内的三个设备(例如,第二设备202、第三设备204、第四设备206)接收308三条启动集群设备消息。
因此,启动模式过程214可以更新设备表222以包括针对第二设备202、第三设备204和第四设备206的条目(除针对已经在设备表222中的第一设备200的条目之外)。启动模式过程214还可以至少部分地基于从其他多个设备(例如,第二设备202、第三设备204、第四设备206)中的一个或多个设备接收到的启动集群设备消息224,使第一设备200的集群设备计数218递增310。启动模式过程214可以然后将启动集群设备消息220从第一设备200重新广播312到所有其他多个设备(例如,第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)。因此,启动集群设备消息220可以包括“4”的集群设备计数218(因为第一设备200现在知道自身、第二设备202、第三设备204以及第四设备206)。
存储管理过程10可以在定义的时间段(例如,五秒)之后发起314快速模式过程226。虽然以下讨论涉及第一设备200,但是应理解到,可以在被包括在存储系统12的设备集群212内的多个设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)中的每个设备上同时执行快速模式过程226的操作。
快速模式过程226的指令集和子例程可以是存储管理过程10的一部分、可以被存储在被包括在存储系统12内的存储设备16上、以及可以由被包括在存储系统12内的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行。
即使在更慢的地方,快速模式过程226也可以以与启动模式过程214类似的方式执行。例如,快速模式过程226可以将快速集群设备消息228从第一设备200广播316到所有其他多个设备(例如,第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210),快速集群设备消息228包括第一设备200的集群设备标识符216和第一设备200的集群设备计数218。可以以小于第一频率的第二频率广播316快速集群设备消息228。例如,虽然启动集群设备消息200可以每100毫秒进行广播306,但是快速集群设备消息228可以每秒进行广播316。
由于设备集群212内的所有设备将生成并且广播快速集群设备消息,因而快速模式过程226可以从其他多个设备中的一个或多个设备接收318快速集群设备消息(例如,设备消息230)。因此,假定第一设备200从被包括在设备集群212内的两个设备(例如,第五设备208和第六设备210)接收318两条快速集群设备消息(例如,设备消息230)。
因此,快速模式过程226可以更新设备表222以包括针对第五设备208和第六设备210的条目(除针对已经在设备表222中的第一设备200、第二设备202、第三设备204和第四设备206的条目之外)。快速模式过程226还可以至少部分地基于从其他多个设备(例如,第五设备208和第六设备210)中的一个或多个设备接收到的快速集群设备消息230,使第一设备200的集群设备计数218递增320。快速模式过程226可以然后将快速集群设备消息228从第一设备200重新广播322到所有其他多个设备(例如,第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)。因此,快速集群设备消息228可以包括“6”的集群设备计数218(因为第一设备200现在知道自身、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)。
在设备集群212内的所有设备知道设备集群212内的所有其他设备之后,存储管理过程10可以发起324稳定模式过程232。虽然以下讨论涉及第一设备200,但是应理解到,可以在被包括在存储系统12的设备集群212内的多个设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)中的每个设备上同时执行快速模式过程226的操作。
稳定模式过程232的指令集和子例程可以是存储管理过程10的一部分、可以被存储在被包括在存储系统12内的存储设备16上、以及可以由被包括在存储系统12内的一个或多个处理器(未示出)和一个或多个存储器架构(未示出)来执行。
即使在更慢的地方,稳定模式过程232也可以以与快速模式过程226类似的方式执行。例如,稳定速模式过程232可以将稳定速集群设备消息234从第一设备200广播326到所有其他多个设备(例如第二设备202、第三设备204、第四设备206、第五设备208和第六设备210),稳定集群设备消息234包括第一设备200的集群设备标识符216和第一设备200的集群设备计数218。可以以小于第二频率的第三频率广播326稳定集群设备消息234。例如,虽然快速集群设备消息200可以每秒进行广播316,但是稳定集群设备消息234可以每五秒进行广播326。
由于设备集群212内的所有设备将生成并且广播稳定集群设备消息,因而稳定模式过程232可以从被包括在设备集群212内的其他多个设备中的一个或多个设备接收328稳定集群设备消息(例如,设备消息236)。
每当这些稳定集群设备消息(例如,设备消息236)之一被接收328时,稳定模式过程232可以确定330(在该示例中)第一设备200的集群设备计数是否与被包括在从其他多个设备(例如,第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)中的一个或多个设备接收328到的集群设备消息内的集群设备计数相同。假定设备集群212内的设备中的每个设备已经由设备集群212内的其他设备中的每个设备发现,则每个设备的集群设备计数应当是“6”并且每个设备表应当标识六个地址。
如果确定330(在该示例中)第一设备200的集群设备计数与被包括在从其他多个设备(例如,第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)中的一个或多个设备接收到的集群设备消息内的集群设备计数不相同,则可以重新发起332稳定模式过程232。
例如,如果新的设备(例如,第七设备238)被添加到设备集群212,则第七设备238可以开始广播326稳定集群设备消息,其包括“1”的集群设备计数218(因为第七设备238这时仅知道自身)。当这些消息由多个设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)接收时,该集群设备计数不匹配可能导致快速模式过程226被重新发起332,使得第七设备238迅速地获悉被包括在设备集群212内的其他设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)。此外,被包括在设备集群212的其他设备(例如,第一设备200、第二设备202、第三设备204、第四设备206、第五设备208以及第六设备210)可以迅速地获悉第七设备238。
综述:
如本领域技术人员将理解到,本公开可以被实现为方法、系统或计算机程序产品。因此,本公开可以采取以下形式:完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或者可以全部通常在本文中被称为“电路”、“模块”或“系统”的、组合软件和硬件方面的实施例。此外,本公开可以采取具有被实现在介质中的计算机可用程序代码的计算机可用存储介质上的计算机程序产品的形式。
可以利用任何适合的计算机可用或计算机可读介质。计算机可用或计算机可读介质可以是例如但不限于:电子、磁性、光学、电磁、红外或半导体系统、装置、设备或传播介质。计算机可读介质的更多特定示例(非穷尽列表)可以包括以下各项:具有一条或多条线的电气连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦可编程只读存储器(EPROM或闪速存储器)、光纤、便携式压缩光盘只读存储器(CD-ROM)、光学存储设备、传输介质(诸如支持因特网或内联网的那些传输介质)或磁性存储设备。计算机可用或计算机可读介质还可以是在其上印刷程序的纸或另一适合的介质,因为程序可以经由例如纸或其他介质的光学扫描电子地采集、然后被编译、被解译或否则以适合的方式被处理(如果必要的话)并且然后被存储在计算机存储器中。在本文档的上下文中,计算机可用或计算机可读介质可以是能够包含、存储、传递、传播或传输用于由指令执行系统、装置或设备使用或结合其使用的程序的任何介质。计算机可用介质可以包括具有被实现在其中的计算机可用程序代码的传播数据信号(在基带内或者作为载波的一部分)。计算机可用程序代码可以使用任何适当的介质被传送,包括但不限于因特网、有线、光纤电缆、RF等。
可以以面向对象编程语言(诸如Java、Smalltalk、C++等)编写用于执行本公开的操作的计算机程序代码。然而,还可以以传统程序编程语言(诸如“C”编程语言或类似编程语言)编写用于执行本公开的操作的计算机程序代码。程序代码可以作为独立的软件包全部地运行在用户的计算机上、部分地运行在用户的计算机上、部分地运行在用户的计算机上、部分地在远程计算机或全部地运行在远程计算机或服务器上。在后者场景中,远程计算机可以通过局域网/广域网/因特网(例如,网络14)被连接到用户的计算机。
参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图说明和/或框图来描述本公开。将理解到,可以由计算机程序指令实现流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合。这些计算机程序指令可以被提供给通用计算机/专用计算机/其他可编程数据处理装置的处理器,使得经由计算机或其他可编程数据处理装置的处理器来运行的指令创建用于实现流程图和/或一个或多个框图框中指定的功能/动作的装置。
这些计算机程序指令还可以被存储在计算机可读存储器中,其可以引导计算机或其他可编程数据处理装置以特定的方式运行,使得被存储在计算机可读存储器中的指令产生包括实现流程图和/或一个或多个框图块中所指定的功能/动作的指令装置的制造品。
计算机程序指令还可以被加载到计算机或其他可编程数据处理装置上,以使得一系列操作步骤在计算机或其他可编程装置上被执行以产生计算机实现的过程,使得在计算机或其他可编程装置上运行的指令提供用于实现流程图和/或一个或多个框图块中所指定的所述功能/动作的步骤。
附图中的流程图和框图图示了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在该方面,流程图或框图中的每个框可以表示代码的模块、段或一部分,其包括用于实现指定的一个或多个逻辑功能的一个或多个可执行指令。还应当注意,在一些备选实施方式中,框中所指出的功能可以脱离附图中所指出的顺序而进行发生。例如,连续示出的两个框可以实际上基本上同时被执行,或者框可以有时以相反的顺序被执行,这取决于所涉及的功能。还将注意到,可以通过执行指定功能或动作的专用硬件或专用硬件和计算机指令的组合来实现框图和/或流程图图示中的每个框和框图和/或流程图图示中的框的组合。
在此所使用的术语仅出于描述特定实施例的目的并且不旨在对本公开的限制。如本文所使用的,除非上下文另外清楚地指明,否则单数形式“一”、“一种”和“该”旨在也包括复数形式。应当进一步理解,当在本说明书中被使用时,术语“包括”和/或“包含”指定陈述的特征、整体、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或其组合的存在或添加。
所附权利要求中的所有装置或步骤加上功能元素的对应的结构、材料、动作和等价方案旨在包括用于组合如特别地要求保护的其他要求保护的元素而执行功能的任何结构、材料或动作。本公开的描述已经出于图示和描述的目的而被呈现,并且不旨在是详尽的或限于所公开的形式中的本公开。在不脱离本公开的范围和精神的情况下,许多修改和变型对于本领域的技术人员将是明显的。选择和描述实施例以便最好地解释本公开的原理和实际应用,并且使得本领域的普通技术人员能够理解针对具有如适于所预期的特定使用的各种修改的各种实施例的本公开。
已经描述了若干实现。因此,已经详细并且通过参考其实施例描述本申请的公开内容,将显而易见的是,在不脱离所附的权利要求中限定的本公开的范围的情况下,修改和变型是可能的。
Claims (21)
1.一种发现方法,其被执行在计算设备上,所述发现方法包括:
发起用于被包括在存储系统的设备集群内的多个设备的启动模式过程,其中所述启动模式过程包括:
生成针对从所述多个设备选择的第一设备的集群设备标识符,
生成针对所述第一设备的集群设备计数,其中所述集群设备计数包括所述多个设备中的被所述第一设备知道的所有设备的数目,
将启动集群设备消息从所述第一设备广播到其他多个设备中的所有设备,所述启动集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述启动集群设备消息以第一频率被广播,以及
维护设备表,其中维护所述设备表包括更新所述设备表以包括所述多个设备中的当前被所述第一设备知道的所有设备。
2.根据权利要求1所述的发现方法,其中所述启动模式过程还包括:
从所述其他多个设备中的一个或多个设备接收启动集群设备消息,
至少部分地基于从所述其他多个设备中的一个或多个设备接收到的所述启动集群设备消息,使所述第一设备的所述集群设备计数递增,以及
将所述启动集群设备消息从所述第一设备重新广播到所述其他多个设备中的所有设备。
3.根据权利要求1所述的发现方法,还包括:
在定义的时间段之后发起快速模式过程,其中所述快速模式过程包括:
将快速集群设备消息从所述第一设备广播到所述其他多个设备中的所有设备,所述快速集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述快速集群设备消息以小于所述第一频率的第二频率被广播。
4.根据权利要求3所述的发现方法,其中所述快速模式过程还包括:
从所述其他多个设备中的一个或多个设备接收集群设备消息,
至少部分地基于从所述其他多个设备中的一个或多个设备接收到的所述快速集群设备消息,使所述第一设备的所述集群设备计数递增,以及
将所述快速集群设备消息从所述第一设备重新广播到所述其他多个设备中的所有设备。
5.根据权利要求3所述的发现方法,还包括:
一旦所述设备集群内的所述设备中的所有设备已经被标识,就发起稳定模式过程,其中所述稳定模式过程包括:
将稳定集群设备消息从所述第一设备广播到所述其他多个设备中的所有设备,所述稳定集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述稳定集群设备消息以小于所述第二频率的第三频率被广播。
6.根据权利要求5所述的发现方法,其中所述稳定模式过程还包括:
从所述其他多个设备中的一个或多个设备接收稳定集群设备消息,以及
确定所述第一设备的所述集群设备计数是否与被包括在从所述其他多个设备中的一个或多个设备接收到的所述集群设备消息内的所述集群设备计数相同。
7.根据权利要求6所述的发现方法,其中所述稳定模式过程还包括:
如果所述第一设备的所述集群设备计数与被包括在从所述其他多个设备中的一个或多个设备接收到的所述集群设备消息内的所述集群设备计数不相同,则所述快速模式过程被重新发起。
8.一种计算机可读介质,其具有被存储在其上的多个指令,所述多个指令当由处理器执行时使得所述处理器执行操作,所述操作包括:
发起用于被包括在存储系统的设备集群内的多个设备的启动模式过程,其中所述启动模式过程包括:
生成针对从所述多个设备选择的第一设备的集群设备标识符,
生成针对所述第一设备的集群设备计数,其中所述集群设备计数包括所述多个设备中的被所述第一设备知道的所有设备的数目,
将启动集群设备消息从所述第一设备广播到其他多个设备中的所有设备,所述启动集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述启动集群设备消息以第一频率被广播,以及
维护设备表,其中维护所述设备表包括更新所述设备表以包括所述多个设备中的当前被所述第一设备知道的所有设备。
9.根据权利要求8所述的计算机可读介质,其中所述启动模式过程还包括:
从所述其他多个设备中的一个或多个设备接收启动集群设备消息,
至少部分地基于从所述其他多个设备中的一个或多个设备接收到的所述启动集群设备消息,使所述第一设备的所述集群设备计数递增,以及
将所述启动集群设备消息从所述第一设备重新广播到所述其他多个设备中的所有设备。
10.根据权利要求8所述的计算机可读介质,还包括:
在定义的时间段之后发起快速模式过程,其中所述快速模式过程包括:
将快速集群设备消息从所述第一设备广播到所述其他多个设备中的所有设备,所述快速集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述快速集群设备消息以小于所述第一频率的第二频率被广播。
11.根据权利要求10所述的计算机可读介质,其中所述快速模式过程还包括:
从所述其他多个设备中的一个或多个设备接收集群设备消息,
至少部分地基于从所述其他多个设备中的一个或多个设备接收到的所述快速集群设备消息,使所述第一设备的所述集群设备计数递增,以及
将所述快速集群设备消息从所述第一设备重新广播到所述其他多个设备中的所有设备。
12.根据权利要求10所述的计算机可读介质,还包括:
一旦所述设备集群内的所述设备中的所有设备已经被标识,就发起稳定模式过程,其中所述稳定模式过程包括:
将稳定集群设备消息从所述第一设备广播到所述其他多个设备中的所有设备,所述稳定集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述稳定集群设备消息以小于所述第二频率的第三频率被广播。
13.根据权利要求12所述的计算机可读介质,其中所述稳定模式过程还包括:
从所述其他多个设备中的一个或多个设备接收稳定集群设备消息,以及
确定所述第一设备的所述集群设备计数是否与被包括在从所述其他多个设备中的一个或多个设备接收到的所述集群设备消息内的所述集群设备计数相同。
14.根据权利要求13所述的计算机可读介质,其中所述稳定模式过程还包括:
如果所述第一设备的所述集群设备计数与被包括在从所述其他多个设备中的一个或多个设备接收到的所述集群设备消息内的所述集群设备计数不相同,则所述快速模式过程被重新发起。
15.一种计算系统,其包括处理器和存储器,所述处理器和所述存储器被配置为执行操作,所述操作包括:
发起用于被包括在存储系统的设备集群内的多个设备的启动模式过程,其中所述启动模式过程包括:
生成针对从所述多个设备选择的第一设备的集群设备标识符,
生成针对所述第一设备的集群设备计数,其中所述集群设备计数包括所述多个设备中的被所述第一设备知道的所有设备的数目,
将启动集群设备消息从所述第一设备广播到其他多个设备中的所有设备,所述启动集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述启动集群设备消息以第一频率被广播,以及
维护设备表,其中维护所述设备表包括更新所述设备表以包括所述多个设备中的当前被所述第一设备知道的所有设备。
16.根据权利要求15所述的计算系统,其中所述启动模式过程还包括:
从所述其他多个设备中的一个或多个设备接收启动集群设备消息,
至少部分地基于从所述其他多个设备中的一个或多个设备接收到的所述启动集群设备消息,使所述第一设备的所述集群设备计数递增,以及
将所述启动集群设备消息从所述第一设备重新广播到所述其他多个设备中的所有设备。
17.根据权利要求15所述的计算系统,还包括:
在定义的时间段之后发起快速模式过程,其中所述快速模式过程包括:
将快速集群设备消息从所述第一设备广播到所述其他多个设备中的所有设备,所述快速集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述快速集群设备消息以小于所述第一频率的第二频率被广播。
18.根据权利要求17所述的计算系统,其中所述快速模式过程还包括:
从所述其他多个设备中的一个或多个设备接收集群设备消息,
至少部分地基于从所述其他多个设备中的一个或多个设备接收到的所述快速集群设备消息,使所述第一设备的所述集群设备计数递增,以及
将所述快速集群设备消息从所述第一设备重新广播到所述其他多个设备中的所有设备。
19.根据权利要求17所述的计算系统,还包括:
一旦所述设备集群内的所述设备中的所有设备已经被标识,就发起稳定模式过程,其中所述稳定模式过程包括:
将稳定集群设备消息从所述第一设备广播到所述其他多个设备中的所有设备,所述稳定集群设备消息包括:
所述第一设备的所述集群设备标识符,以及
所述第一设备的所述集群设备计数,
其中所述稳定集群设备消息以小于所述第二频率的第三频率被广播。
20.根据权利要求19所述的计算系统,其中所述稳定模式过程还包括:
从所述其他多个设备中的一个或多个设备接收稳定集群设备消息,以及
确定所述第一设备的所述集群设备计数是否与被包括在从所述其他多个设备中的一个或多个设备接收到的所述集群设备消息内的所述集群设备计数相同。
21.根据权利要求20所述的计算系统,其中所述稳定模式过程还包括:
如果所述第一设备的所述集群设备计数与被包括在从所述其他多个设备中的一个或多个设备接收到的所述集群设备消息内的所述集群设备计数不相同,则所述快速模式过程被重新发起。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599911.4A CN109286507B (zh) | 2017-07-21 | 2017-07-21 | 发现方法、计算系统以及计算机可读介质 |
US16/038,587 US10754662B2 (en) | 2017-07-21 | 2018-07-18 | System and method for distributed system discovery in a clustered environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710599911.4A CN109286507B (zh) | 2017-07-21 | 2017-07-21 | 发现方法、计算系统以及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109286507A CN109286507A (zh) | 2019-01-29 |
CN109286507B true CN109286507B (zh) | 2022-11-11 |
Family
ID=65018657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710599911.4A Active CN109286507B (zh) | 2017-07-21 | 2017-07-21 | 发现方法、计算系统以及计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10754662B2 (zh) |
CN (1) | CN109286507B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101300796A (zh) * | 2005-11-17 | 2008-11-05 | 国际商业机器公司 | 基于服务器加入集群的时间发送路由选择数据 |
CN104937859A (zh) * | 2013-02-22 | 2015-09-23 | 英特尔Ip公司 | 具有集群协调的设备到设备通信 |
WO2016014803A1 (en) * | 2014-07-25 | 2016-01-28 | Cohesity, Inc. | Node discovery and cluster formation for a secondary storage appliance |
US9544371B1 (en) * | 2012-03-01 | 2017-01-10 | Veritas Technologies Llc | Method to discover multiple paths to disk devices cluster wide |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4646574B2 (ja) * | 2004-08-30 | 2011-03-09 | 株式会社日立製作所 | データ処理システム |
KR100956638B1 (ko) * | 2007-12-11 | 2010-05-11 | 한국전자통신연구원 | 대규모 클러스터 모니터링 시스템과 그의 자동 구축 및복구 방법 |
US20140250214A1 (en) * | 2011-11-25 | 2014-09-04 | Hitachi, Ltd. | Computer system, program-cooperative method, and program |
US9170971B2 (en) * | 2012-12-26 | 2015-10-27 | Iii Holdings 2, Llc | Fabric discovery for a cluster of nodes |
US9430649B2 (en) * | 2013-12-17 | 2016-08-30 | Microsoft Technology Licensing, Llc | Automatic strong identity generation for cluster nodes |
US9507678B2 (en) * | 2014-11-13 | 2016-11-29 | Netapp, Inc. | Non-disruptive controller replacement in a cross-cluster redundancy configuration |
EP3281110A1 (en) * | 2015-04-07 | 2018-02-14 | Telefonaktiebolaget LM Ericsson (publ) | Workload aware storage platform |
-
2017
- 2017-07-21 CN CN201710599911.4A patent/CN109286507B/zh active Active
-
2018
- 2018-07-18 US US16/038,587 patent/US10754662B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101300796A (zh) * | 2005-11-17 | 2008-11-05 | 国际商业机器公司 | 基于服务器加入集群的时间发送路由选择数据 |
US9544371B1 (en) * | 2012-03-01 | 2017-01-10 | Veritas Technologies Llc | Method to discover multiple paths to disk devices cluster wide |
CN104937859A (zh) * | 2013-02-22 | 2015-09-23 | 英特尔Ip公司 | 具有集群协调的设备到设备通信 |
WO2016014803A1 (en) * | 2014-07-25 | 2016-01-28 | Cohesity, Inc. | Node discovery and cluster formation for a secondary storage appliance |
Also Published As
Publication number | Publication date |
---|---|
US20190026119A1 (en) | 2019-01-24 |
CN109286507A (zh) | 2019-01-29 |
US10754662B2 (en) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109285091B (zh) | 服务咨询系统和方法 | |
US10715622B2 (en) | Systems and methods for accelerating object stores with distributed caching | |
EP3399692B1 (en) | Method and apparatus for upgrading distributed storage system | |
US20190140902A1 (en) | Centralized configuration data in a distributed file system | |
US11080143B2 (en) | Systems and processes for data backup and recovery | |
WO2016155635A1 (zh) | 一种数据处理方法和设备 | |
US9009444B1 (en) | System and method for LUN control management | |
US8996645B2 (en) | Transmitting data by means of storage area network | |
US10042634B1 (en) | Storage management system and method | |
CN105450759A (zh) | 一种系统镜像的管理方法和装置 | |
CN110109628B (zh) | 分布式存储系统的数据重建方法、装置、设备及存储介质 | |
US9367453B1 (en) | System and method for migrating cache data | |
CN110798358B (zh) | 分布式服务标识方法、装置、计算机可读介质及电子设备 | |
CN109286507B (zh) | 发现方法、计算系统以及计算机可读介质 | |
CN114422537B (zh) | 多云存储系统、多云数据读写方法及电子设备 | |
CN111124275B (zh) | 一种分布式块存储系统的监控服务优化方法及装置 | |
US9880854B1 (en) | Reboot system and method | |
US10860668B1 (en) | Querying system and method | |
US10101940B1 (en) | Data retrieval system and method | |
US10592523B1 (en) | Notification system and method | |
US10306005B1 (en) | Data retrieval system and method | |
US9367452B1 (en) | System and method for apportioning storage | |
US11630584B2 (en) | Storage management system and method | |
US20170048307A1 (en) | Apparatus and method to perform post-initialization control on applications in a server | |
CN112749042B (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 |