首页 / 专利库 / 专利权 / 申请 / 国际申请 / 请求书 / 指定 / 备用节点的指定

备用节点指定

阅读:41发布:2020-05-11

专利汇可以提供备用节点指定专利检索,专利查询,专利分析的服务。并且示例包括备用 节点 的 指定 。一些示例可包括在服务的损失的持续事件超过超时 阈值 之前、当在指定备用节点和主节点之间的服务的丢失期间在主节点处被载入日志的新事务超过事务阈值时,将新节点指定为备用节点。,下面是备用节点指定专利的具体信息内容。

1.一种方法,包括:
确定在包括多个节点的集群中的主节点和备用节点之间的服务的丢失,其中所述主节点用于管理所述集群并存储节点事务数据日志,并且所述备用节点用于存储所述节点事务数据日志的同步复制的拷贝;
当所述服务的丢失出现时确定集群数据事务日志的状态;并且
(i)当在所述服务的丢失期间在所述主节点处被载入日志的新事务超过事务阈值之前且在超时阈值被达到之前、所述备用节点的服务重新开始时,由所述主节点将所述新事务的日志发送到所述备用节点,并且否则
(ii)当在所述备用节点的所述服务重新开始之前、在所述服务的丢失期间在所述主节点处被载入日志的新事务超过所述事务阈值时或在所述超时阈值被达到时,由所述主节点指定新备用节点。
2.如权利要求1所述的方法,包括:在所述备用节点的所述服务的丢失期间异步地在所述主节点上将所述新事务载入日志。
3.如权利要求1所述的方法,包括:
基于所述备用节点的事务速度、事务大小和用于所述备用节点的重新同步的预定时间中的至少一个,来确定所述新事务的所述事务阈值。
4.如权利要求1所述的方法,进一步包括:由所述备用节点将从所述主节点发送的所述新事务中的任一个载入日志。
5.如权利要求1所述的方法,包括:由所述主节点监控所述新事务和所述服务的丢失的持续时间,并且将所述新事务和所述服务的丢失的所述持续时间分别与所述事务阈值和所述超时阈值进行比较。
6.如权利要求1所述的方法,进一步包括:监控在所述集群中的节点的服务丢失事件的频率和持续时间中的至少一个,并且在节点的服务丢失事件的所述频率和所述持续时间中的至少一个超过阈值的情况下,由所述主节点将所述节点指定为不可靠的。
7.一种节点集群中的节点,包括:
同步引擎,用于使事务日志与指定备用节点同步;
服务检测引擎,用于监控在所述节点和所述备用节点之间的服务的存在或丢失;
监控引擎,用于监控在所述节点和所述备用节点之间的服务的丢失的持续时间以及在所述服务的丢失期间新事务的累积大小,并且确定所述新事务的所述累积大小是否超过事务阈值和所述持续时间是否超过预定超时阈值中的至少一个;以及
备用节点指定引擎,用于将所述节点集群中的节点指定为备用节点;
其中,当所述服务检测引擎确定在所述阈值中的任一个被超过之前所述备用节点的服务重新开始时,所述同步引擎用于将自从所述服务的丢失出现以来被载入日志的任何新事务的记录发送到所述指定备用节点,并且当所述监控引擎确定所述新事务的所述累积大小超过所述事务阈值和所述持续时间超过所述预定超时阈值中的至少一个时,所述备用节点指定引擎用于将所述集群中的另一节点指定为备用节点。
8.如权利要求7所述的节点,其中所述同步引擎用于在任何时间使所述事务日志与单个指定备用节点同步。
9.如权利要求7所述的节点,其中所述备用节点指定引擎进一步用于监控所述集群中的至少一个节点的服务丢失事件的频率,并用于确定任何节点的所述服务丢失事件的频率是否超过阈值,并且在所述服务丢失事件的所述频率超过所述阈值的情况下,所述备用节点指定引擎用于将所述集群中的不同节点指定为备用节点。
10.如权利要求7所述的节点,进一步包括:存储器,用于存储所述事务日志。
11.如权利要求7所述的节点,进一步包括:集群管理引擎,用于管理所述集群。
12.如权利要求11所述的节点,其中所述集群管理引擎用于指定所述集群的端点。
13.一种非暂时性机器可读存储介质,包括指令,所述指令当由处理器执行时使所述处理器:
监控多节点集群中的至少一个节点是否正在提供预期服务;
指定所述集群中的备用节点,以保存所述集群中的主节点的事务日志的同步拷贝;
同步所述主节点和所指定的备用节点的所述事务日志;
监控在所述主节点和所指定的备用节点之间的服务的丢失的持续时间;
监控在所述服务的丢失期间在所述主节点的事务日志中被载入的新事务;并且当在所述服务的丢失的所述持续时间超过超时阈值之前、在所指定的备用节点和所述主节点之间的所述服务的丢失期间在所述事务日志中被载入的所述新事务超过事务阈值时,将新节点指定为备用节点。
14.如权利要求13所述的非暂时性机器可读存储介质,包括当由处理器执行时使所述处理器执行以下操作的指令:
在指定备用节点的服务的丢失之后,通过将在所述服务的丢失期间接收的任何新事务的日志发送到所述指定备用节点来同步所述主节点和所述指定备用节点的所述事务日志,其中在所述丢失期间在所述事务日志中被载入的新事务低于所述事务阈值并且所述服务的丢失的所述持续时间低于所述超时阈值。
15.如权利要求13所述的非暂时性机器可读存储介质,包括当由处理器执行时使所述处理器执行以下操作的指令:
监控所述集群中的所述节点的服务丢失事件的频率,并且确定一节点的所述服务丢失事件的频率是否超过阈值,并且在所述服务丢失事件的频率超过所述阈值的情况下将所述集群中的不同节点指定为备用节点。

说明书全文

备用节点指定

背景技术

[0001] 计算集群包括例如经由有线或无线联网一起工作的连接的计算节点(计算节点可以是任何形式的计算实体,例如服务器虚拟机微处理器等)。例如,计算集群可提供分布式或共享存储器和/或处理资源。附图说明
[0002] 现在将参考附图描述非限制性示例,其中:
[0003] 图1是集群管理的示例方法的流程图
[0004] 图2是多节点集群中的节点的示例的方框图
[0005] 图3是多节点集群中的节点的另一示例的方框图;
[0006] 图4是用于确定阈值的方法的示例的流程图;
[0007] 图5是集群管理的方法的示例的流程图;
[0008] 图6是集群管理的方法的另一示例的流程图;
[0009] 图7是与处理资源相关的示例机器可读介质的方框图;以及
[0010] 图8是多节点集群的示例的图。

具体实施方式

[0011] 下面的讨论指向本公开的各种示例。本文公开的示例不应被解释或以另外方式被使用为限制包括权利要求的本公开的范围。此外,下面的描述具有广泛的应用,且任何示例的讨论仅意味着描述那个示例,且并不意欲暗示包括权利要求的本公开的范围被限制到那个示例。在整个本公开中,术语“一”意欲表示至少一个特定的元件。此外,如在本文使用的,术语“包括”意指包括但不限于。术语“基于”意指至少部分地基于。
[0012] 在多节点计算集群的一些示例中,存在负责集群的管理的指定的“主”或主要节点以及指定的“备用”或次要节点,备用”或次要节点与主节点同步,使得它可充当主节点,假定主节点遭受服务的丢失。在这样的集群中,备用节点可被描述为在“热备用”中。同步可包括确保备用节点保存例如集群事务日志的集群数据的最新拷贝,集群事务日志可以是由集群执行的行动的历史(例如包括列出对存储在集群中的记录做出的变化的文件)。这样的事务日志可在恢复单独事务、在故障之后修复或重新运行事务等时被使用。
[0013] 因此,如果主节点停止服务,则备用节点准备好接管为主节点。然而,情况也可能是备用节点至少暂时地停止服务。在这样的情况下,集群由于主节点的故障而变得不可用的险增加(即,集群现在具有单个故障点)。而且,在确保主节点和备用节点同步时以及在将备用节点带回到同步(如果备用节点由于在服务中的临时故障而滞后)时存在挑战,这消耗集群处理资源。
[0014] 为了减小这样的风险,一些集群指定多个节点来充当备用节点,但这消耗额外的集群处理资源。在其它示例中,事务日志可例如使用共享存储来被分配,且例如存储在集群外部。这允许备用节点从资源同步而不是主节点(例如专用“恢复节点”)同步,但可能是相对慢的,且可能涉及在集群外部的存储(且因此将单个故障点引入到集群内)。
[0015] 在本文所述的示例中,“节点”可以是计算装置,例如服务器、存储阵列、存储装置、桌上型或膝上型计算机、交换机、路由器或包括处理资源的任何其它处理装置或装备。在本文所述的示例中,处理资源可包括例如包括在单个计算装置中或分布在多个计算装置当中的一个处理资源或多个处理资源。如在本文使用的,“处理资源”可以是被配置为取回并执行指令的中央处理单元(CPU)、基于半导体的微处理器、图形处理单元(GPU)、现场可编程阵列(FPGA)、适合于取回并执行存储在机器可读存储介质上的指令的其它电子电路中的至少一个或其组合。在本文所述的示例中,节点可经由直接连接、经由一个或多个计算机网络或其组合而彼此通信。在本文所述的示例中,计算机网络可包括例如局域网(LAN)、虚拟LAN(VLAN)、无线局域网(WLAN)、虚拟私人网络(VPN)、互联网等或其组合。
[0016] 图1是一种方法的示例的流程图,该方法可以是管理计算资源的集群或“计算集群”的方法。在这个示例中,集群包括多个节点,多个节点包括管理集群并存储节点事务数据日志的主节点和存储节点事务数据日志的同步复制的拷贝(至少当如预期的操作时)的备用节点。在本文关于图1所述的功能可由节点例如主节点执行,并可以以存储在机器可读存储介质上的处理资源可执行指令、一个或多个引擎(如在本文所述的)、电子电路或其任何组合的形式来实现。
[0017] 在一些示例中,集群的单个节点在任一时间充当主节点。主节点可负责集群的管理操作,包括例如指定集群的应用编程接口(API)端点节点。主节点也可负责将集群中的另一节点设置为备用节点,并将集群数据例如事务日志复制给备用节点,为集群数据提供冗余。在一些示例中,主节点可执行例如软件更新的操作、例如添加/移除节点的集群会员资格操作、审核记录和用户管理。在一些示例中,主节点可提供集群的虚拟IP地址。
[0018] 在一些示例中,集群的单个节点在任一时间充当备用节点。备用节点是集群中的、至少当如预期的操作时具有来自主节点的集群数据的同步复制的拷贝的节点。这可以通常是集群中的由主节点选择的任何节点,虽然在一些示例中,备用节点可以由主节点基于备用节点的能和/或历史可靠性来选择或挑选。这个节点可在主节点的故障(在一些示例中,灾难性故障)的情况下用作主节点。
[0019] 该方法包括在102中确定在主节点和备用节点之间的服务的丢失。例如,这可包括在预定时隙内从备用节点接收“心跳”消息的失败、备用节点对请求做出响应的失败、错误消息的接收等。在其它示例中,可通过使用在备用节点上的IP地址的连续“ping测试”(例如互联网控制消息协议(ICMP)ping)监控备用节点的网络可达性,来检测备用节点的故障。响应的失败可导致备用节点的故障的检测。
[0020] 块104包括:当服务的丢失出现时确定集群数据事务日志的状态。例如,主节点可记下集群数据事务日志的当前位置。主节点可接着继续在集群中操作,继续取回并处理事务,虽然与在稳态操作中不同,事务被“异步地”载入日志,即没有与任何其它节点的同步。
[0021] 块106包括:确定在服务的丢失期间在主节点处被载入日志的新事务超过事务阈值之前并且在达到超时阈值之前备用节点的服务是否重新开始。在一些示例中,事务阈值可被规定为多个事务(例如输入/输出操作)的阈值累积大小。在其它示例中,事务阈值可不同地被规定。例如,事务阈值可被规定为事务的阈值数量。事务阈值可被预先确定,而在服务的丢失期间在主节点处被载入日志的新事务的累积大小或数量可动态地被计算。如果当服务重新开始时事务阈值和持续时间阈值都未被超过,块108包括由主节点将新事务的日志发送到备用节点。可注意到,新事务的日志直接从主节点被发送,而不是从某个其它资源例如外部存储器资源或专用恢复节点被发送。
[0022] 然而,当在备用节点的服务重新开始之前新事务超过至少一个事务阈值或达到超时阈值时,该方法继续进行到块110,并包括由主节点指定新备用节点。在这样的情况下,完整的数据集日志可被拷贝到新备用节点。这是比使事务日志同步更快的过程。
[0023] 该方法允许在集群由于备用节点然后主节点的双重故障而变得不可用的风险、在使备用节点重新同步中消耗的集群资源、和新备用节点的相对资源密集的指定之间的平衡。例如,可能只有在事务日志的新条目变得足够多(或累积地大)使重新同步演习将过度的负担置于集群资源上时,和/或备用节点的不可用的时期变得如此长以致于集群由于备用节点和主节点的双重故障而变得不可用的风险超过指定新备用节点的资源密集演习被执行的阈值时。在一些示例(其中之一在下面被更详细地讨论)中,阈值可取决于服务平协议、在集群内的处理速度和/或待添加到日志的事务的大小(例如以字节、千字节、兆字节等为单位)。
[0024] 在一些示例中,在块104中描述的备用节点中的服务的丢失和/或如在块106中描述的集群数据事务日志的状态由主节点确定。
[0025] 图2是可在多节点集群中操作的节点200的示例的方框图。节点200包括同步引擎204、服务检测引擎206、监控引擎208和备用指定引擎210。
[0026] 节点200可作为集群的主节点来操作。当作为集群的主节点在操作中时,同步引擎204可以至少在备用节点是可用的时使事务日志与指定备用节点(其可以是单个指定备用节点)同步。服务检测引擎206可监控在主节点和备用节点之间的服务的存在(例如经由至少一个计算机网络进行通信的能力)或服务的丢失(例如经由至少一个计算机网络进行通信的能力的丢失)。监控引擎208可监控在备用节点中的服务的丢失的持续时间,并可监控在服务的丢失期间在主节点处的新事务的数量。监控引擎208可确定在主节点和备用节点之间的服务的丢失的持续时间是否超过预定超时阈值。监控引擎208也可确定在服务的丢失期间在主节点处的新事务是否超过事务阈值(即,在服务的丢失的持续时间超过超时阈值之前)。在一些示例中,监控引擎208可确定在服务的丢失期间在主节点处的新事务的累积大小是否超过事务阈值(如下所述)。在其它示例中,监控引擎208可确定在服务的丢失期间在主节点处的新事务的数量是否超过事务阈值(被规定为事务的阈值数量)。备用节点指定引擎210可将集群中的一节点指定为备用节点。
[0027] 引擎204、206、208、210可以是硬件和编程的任何组合以实现引擎的功能。在本文所述的示例中,可以以多种不同的方式实现硬件和编程的这样的组合。例如,引擎204、206、208、210的编程可以是存储在至少一个非暂时性机器可读存储介质上的处理资源可执行指令,且引擎的硬件可包括至少一个处理资源以执行那些指令。在一些示例中,硬件还可包括其它电子电路以至少部分地实现引擎204、206、208、210中的至少一个。在一些示例中,至少一个机器可读存储介质可存储指令,当该指令由至少一个处理资源执行时至少部分地实现引擎204、206、208、210中的一些或全部。在这样的示例中,至少部分地实现处理电路202的计算装置可包括存储指令的至少一个机器可读存储介质和至少一个处理资源以执行指令。
在其它示例中,引擎204、206、208、210可由电子电路实现。
[0028] 在节点200作为主节点的操作中,当服务检测引擎206确定在超时阈值被超过之前并且在事务阈值被超过之前备用节点的服务重新开始时,同步引擎204可向指定备用节点发送自从服务的丢失出现以来在主节点处被载入日志的任何新事务的记录(即,日志条目)。当监控引擎208检测到在服务的丢失期间在主节点处的新事务的累积大小超过事务阈值(在持续时间超过超时阈值之前)时,备用节点指定引擎210可将集群中的新节点指定为备用节点。当监控引擎208检测到持续时间超过超时阈值时,备用节点指定引擎210可将集群中的新节点指定为备用节点。
[0029] 在一些示例中,节点200可确定另一节点的可靠性的指示。例如,备用指定引擎210可监控集群中的节点的服务丢失事件的频率(例如基于由监控引擎210收集的数据),并确定服务丢失事件的频率是否超过阈值(或换个度看,可确定在预定时间段内的故障事件的数量),并且在特定节点的服务丢失事件的频率超过阈值的情况下,备用节点指定引擎210可将集群中的不同节点指定为备用节点。在其它示例中,除了服务丢失事件的频率以外或可选地,还可考虑节点停止服务的时间的长度。在其它示例中,监控引擎208可考虑所有类型的同步故障以确定有希望的备用节点的可靠性,以导致在历史上更可靠的节点被选择为备用节点。
[0030] 在一些示例中,每个节点的可靠性可与集群中的其它节点的可靠性进行比较。在其它节点中之一被认为是可靠的、并且监控引擎208检测到在服务的丢失的持续时间超过超时阈值之前新事务的累积大小超过事务阈值或超时阈值被超过的情况下,这样的更可靠的节点可由备用节点指定引擎210选择。
[0031] 这允许一贯地不可靠的节点随着时间的过去经由它的行为识别。如果在集群中的特定节点是不可靠的且太频繁地停止服务、或在备用节点上的服务一贯地花费相对长的时期来重新开始,则这样的监控引擎208允许不同的备用节点被选择来代替先前的备用节点。
[0032] 在一些示例中,同步引擎204可与单个指定备用节点同步事务日志直到新指定备用节点被指定为止,且最新指定的备用节点可代替集群中的先前指定的备用节点(作为备用节点)。换句话说,在一些示例中,在任何时间只有一个备用节点被主节点200指定。
[0033] 在一些示例中,在包括如上所述的引擎204、206、208和210的集群内可以有多个节点(或许集群的所有节点)。在一些示例中,引擎可被禁用(或否则不操作),除非这个节点充当主节点。换句话说,情况可以是集群中的多个节点能够充当主节点,但在任何特定的时间只有一个节点这么做。
[0034] 图3是节点300的另一示例的方框图,其中与图2的节点200共有的特征用相似的数字被标记并具有上面讨论的特征。在这个示例中,节点300额外包括存储装置302以存储事务日志。存储装置302可存储其它集群数据,例如当前指定的集群端点、网关等。在一些示例中,主节点可存储关于集群用户及其许可的信息、关于集群客户端(例如互联网小计算机系统接口(iSCSI)和/或光纤通道(FC)端点)的信息、与用户数据如何在集群的各种节点上分布有关的数据、关于数据访问的模式和/或集群的性能的统计、加密密钥、审核事件等中的任何信息或信息的任何组合。
[0035] 此外,节点300包括集群管理引擎304,当节点300充当主节点时,集群管理引擎304管理集群。例如,集群管理引擎304可指定集群的一个或多个端点(例如API端点)、管理集群的成员资格、使配置更新同步到集群的成员、并维持该同步的一致性等等。可以用与上面所述的引擎的任何实现相同的方式实现集群管理引擎304。
[0036] 如关于图1所述的,在主节点和备用节点之间的服务的丢失期间并且在服务的丢失的持续时间达到超时阈值之前,除了不将新事务的日志备份到备用节点(即,主节点异步地操作)以外,主节点可基本上正常地继续操作,同时主节点累积日志事务,否则日志事务将被写到不可及的备用节点。一旦事务的累积大小(或数量)累积以超过事务阈值,主节点就可中止等待备用节点重新开始服务的策略。在被复制到备用节点的事务中的这个累积的“滞后”可被认为是“滞后阈值”。
[0037] 图4是确定新事务的累积大小的方法的示例的流程图,该新事务在新备用节点的指定之前在备用节点的服务的丢失期间可被记录(例如由主节点载入日志)。在特定的示例中,这可取决于服务水平协议。在一些示例中,服务水平协议可以是提供高可用性集群的协议。在本文关于图4所述的功能可由节点(例如主节点)执行,并可以存储在机器可读存储介质上的处理资源可执行指令、一个或多个引擎(如在本文所述的)、电子电路或其任何组合的形式来实现。
[0038] 在块402中,确定备用节点与主节点重新同步所花费的时间的量(即,完成重新同步过程的时间的量)(时间t)。实际上,情况可能是这个时间的大部分可以是重新同步所花费的时间。这个时间段可以例如在集群的服务水平协议中被规定,在一些示例中这个时间段可以是集群的任何节点的标准时间(即,这个时间段可以是非节点特定的),且可以是可配置的。在一些示例中,时间可包括服务的丢失的可接受的持续时间以及节点恢复时间。
[0039] 在块404中,确定备用节点的事务速度。例如,这可包括确定备用节点的每秒操作的最小数量(其被特征化为每秒输入输出操作或IOPS)。操作的最小数量可以是“最坏情况”值,即,在负载下的最小速度。这在本文被称为minIOPS,且可取决于变量,例如集群的类型,例如哪种类型的处理器被包括在集群中,集群是否是全闪存集群、是混合集群(例如包括一些基于磁盘的服务、常常比基于闪存的服务慢),各种集群节点的速度,等等。这可基于由主节点保存的数据来导出,主节点可基于每个节点的型号和配置来存储与在集群中的每个节点的速度有关的数据,且因此可包括备用节点的速度的数据记录。
[0040] 此外,在块406中,确定事务大小,这个示例包括每个输入/输出操作的大小(即,IOPsize)。这些可以是例如标准大小或平均大小。在一些集群中,大小可以是可配置的,但一旦被建立,每个事务就可具有标准大小。在这样的示例中,可从配置数据确定大小,该配置数据可例如存储在主节点上。在一些示例中,这个大小可以是备用节点特定的。在一些示例中,这可以以兆字节为单位被确定。
[0041] 在块408中,可确定在指定新备用节点之前在服务的丢失期间在主节点处可累积的新事务的阈值累积大小。这个累积大小可以是如在本文所述的事务阈值,并在下面由“lag_threshold”表示。在一些示例中,这个事务阈值(例如“lag_threshold”)可被计算为:
[0042] lag_threshold=minIOPS*IOPSize*t
[0043] 例如,minIOPS可以是大约1到10IOPS,IOPSize可以是几千字节的数量级(例如在5KB和15KB之间),并且t可以是大约10秒到2分钟。在minIOPS是2、IOPSize是8KB并且t=60的特定示例中,在新备用节点被指定之前允许的新事务的累积大小(Lag_threshold)是
960KB。
[0044] 如果在超时持续时间内且在lag_threshold被超过之前备用节点重新投入使用,则主节点可继续使用当前指定的备用节点来操作。如上所述的这个lag_threshold值可用作如本文所述的事务阈值。
[0045] 通常,主节点可以比备用节点快(这是因为最快的节点可被选择为主节点),并可承担重要活动,而备用节点是不可达的:在日志数据以快速率增加的场合,这可意味着,相比于在日志数据正以较慢的速率增长的示例中,新备用节点可以更快地被指定。
[0046] 超时阈值(即,持续时间)可以是对备用节点特定的,例如与那些节点的型号和/或配置(其可以是存储在主节点中的数据)相关。一些节点可以通常(例如在常规临时停运的情况下)比其它节点更快地重新连接,且因此与较短的超时阈值相关。超时持续时间是当主节点丢失与备用节点的联系时主节点将等待的时间,希望备用节点将快速(或在节点的预期“临时”停运内,与更严重的停运比较)复原。然而在这个等待时间段期间,如果主节点确定备用节点将花费太长时间来恢复(即,事务阈值被超过),则它可以“拆除”当前备用节点并选择新备用节点。
[0047] 换句话说,如果超时持续时间或事务阈值被超过,则主节点可“拆除”指定备用节点并可例如通过选举来选择新备用节点。在一些示例中,备用节点可基于它的能力和/或它的历史可靠性(即,它在过去遭受了多少服务故障)来被选择。
[0048] 图5是可在集群的指定备用节点中的服务的丢失期间和之后由主节点执行的方法的另一示例的方框图。在本文关于图5所述的功能可由节点(例如主节点)执行,并可以以存储在机器可读存储介质上的处理资源可执行指令、一个或多个引擎(如在本文所述的)、电子电路或其任何组合的形式来实现。
[0049] 块502包括:在指示备用节点的正常操作的消息未在预定时间段内接收到的情况下,由主节点检测在备用节点和主节点之间的服务的丢失。换句话说,指示备用节点的健康的心跳信号(或类似信号)的接收的失败可触发主节点确定在备用节点和主节点之间存在服务的丢失。
[0050] 块504包括:由主节点异步地将新事务载入日志。通常,新事务的日志条目可被添加到现有的日志。换句话说,事务日志的新条目被做出且这些新条目不被备份到任何其它装置或节点(例如备用节点)。块506包括:由主节点监控在服务的丢失期间在主节点处的新事务的累积大小,并且将新事务的累积大小与事务阈值进行比较,该事务阈值可以是如由图4的方法确定的阈值。在其它实施方式中,块506可包括:由主节点监控在服务的丢失期间在主节点处的新事务的数量,并且将新事务的数量与事务阈值(当事务阈值规定事务的阈值数量时)进行比较。与块506同时执行的块508包括:由主节点监控服务的丢失的持续时间,并且将服务的丢失的持续时间与超时阈值进行比较。
[0051] 块510包括:确定在块506的事务阈值或块508的超时阈值被超过之前备用节点是否重新开始服务。如果备用节点在任一阈值被超过之前重新开始服务,则在块512中,该方法还包括:将在主节点处的任何新事务(在服务的丢失期间)从主节点发送到备用节点,以及在块514中由备用节点将从主节点发送的新事务载入日志。然而,如果任一阈值被超过,则该方法以块516继续进行并包括由主节点指定新备用节点,如上面关于图1的块110所述的。
[0052] 图6示出一种方法的示例,该方法可以是识别不可靠的节点的方法。块602包括:确定节点的服务丢失事件的频率是否超过频率阈值,以及块604包括:确定随着时间的过去给定备用节点的多个服务丢失事件的累积持续时间是否超过累积时间阈值。在对于给定节点这些阈值中的任一个或两个被超过的情况下,节点可在块606中被指定为不可靠的。在一些示例中,这样的节点将较不可能被选择为如本文所述(例如在图1的块110或图5的块510所述的)的新备用节点。在其它示例中,确定节点是不可靠的可取决于块602和604的确定中的仅仅一个。在本文关于图6所述的功能可由节点(例如主节点)执行,并可以以存储在机器可读存储介质上的处理资源可执行指令、一个或多个引擎(如在本文所述的)、电子电路或其任何组合的形式来实现。
[0053] 图7示出与处理资源702相关的非暂时性机器可读存储介质700的示例。机器可读存储介质700包括指令704,指令704当由处理资源702执行时使处理资源702执行各种操作。在这个示例中,指令704包括使处理资源监控集群中的至少一个节点是否提供预期服务的指令706、使处理资源702指定集群中的备用节点以保存集群的主节点的事务日志的同步拷贝的指令708、使处理资源702同步主节点和指定备用节点的事务日志的指令710、使处理资源702监控在主节点和指定备用节点之间的服务的丢失的持续时间的指令712、使处理资源
702监控在服务的丢失期间在主节点的事务日志中被载入日志的新事务(例如监控被添加到主节点的事务日志的新事务的记录)的指令714、以及使处理资源702在服务的丢失的持续时间超过超时阈值之前、当在指定备用节点和主节点之间的服务的丢失期间在事务日志中载入的新事务超过事务阈值(例如累积大小阈值、事务数量阈值)时将新节点指定为备用节点的指令716。
[0054] 在一些示例中,机器可读介质700还包括指令,该指令当由处理资源702执行时使处理资源702在服务的丢失(在该丢失期间,事务日志中载入的新事务低于事务阈值并且服务的丢失的持续时间低于超时阈值)之后,通过将在服务的丢失期间接收的任何新事务的日志条目发送到指定备用节点,来同步主节点和指定备用节点的事务日志。
[0055] 在一些示例中,机器可读介质700还包括指令,该指令当由处理资源702执行时使处理资源702监控节点的服务丢失事件的频率、并确定服务丢失事件的频率是否超过阈值,并且在服务丢失事件的频率超过阈值的情况下将集群中的不同的一节点指定为备用节点。
[0056] 在一些示例中,指令可包括使处理资源702执行上面关于图1、图4或图5中的一个或多个块所述的功能的指令。在一些示例中,指令可包括关于图2和图3所述的引擎204、206、208、210、304中的任一个的编程。在这样的示例中,处理资源702可包括关于图2和3所述的引擎204、206、208、210、304中的任一个的硬件。如在本文使用的,“机器可读存储介质”可以是任何电子、磁性、光学或其它物理存储装置,以包含或存储例如可执行指令、数据等的信息。例如,本文所述的任何机器可读存储介质可以是随机存取存储器(RAM)、易失性存储器、非易失性存储器、闪存、存储驱动器(例如硬盘驱动器(HDD)、固态驱动器、任何类型的存储磁盘(例如光盘、DVD等)等中的任一个或其任何组合。此外,本文所述的任何机器可读存储介质可以是非暂时性的。在本文所述的示例中,机器可读存储介质可以是物品(或制造物品)的一部分。物品或制造物品可以指任何所制造的部件或多个部件。
[0057] 图8是根据示例的集群800的示例的图。集群800包括单个主节点802和单个指定备用节点804。剩余节点806a-c中的至少一个在一些示例中可具有充当主节点或备用节点的能力,然而,在如本文所述的处理集群的示例中,主节点的角色可由一个单独指定的节点履行,以及备用节点的角色可由另一单独指定的节点履行。在这个示例中的主节点802执行图1的方法。
[0058] 节点802、804、806可包括任何处理资源,且在一些示例中可包括不同类型的处理资源。例如,节点802、804、806可包括CPU、磁盘、存储卡、网卡、微处理器等中的任一个或任何组合。在一些示例中,节点可包括服务器、处理核心、虚拟机等。
[0059] 在一些示例中,集群800可包括数据存储集群。例如,节点802、804、806可以每个提供存储器资源和事务,例如数据库条目或其它数据可存储在节点802、804、806中的不同节点上。在一些示例中,主节点802可指定事务可被发送到哪个节点802、804、806以用于存储。
[0060] 在一些示例中,集群800可被配置为提供高度可用的API端点和/或允许成员节点管理。
[0061] 在本公开中的示例可被提供为方法、系统或机器可读指令,例如软件、硬件、固件等的任何组合。这样的机器可读指令可被包括在计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上,计算机可读存储介质具有在其中或其上的计算机可读程序代码。
[0062] 参考根据本公开的示例的方法、装置和系统的流程图和方框图描述了本公开。虽然上面所述的流程图显示特定的执行顺序,执行顺序可不同于所描绘的执行顺序。关于一个流程图所述的块可与另一流程图的块组合。应理解,在流程图和/或方框图中的每个流程和/或块以及在流程图和/或方框图中的流程和/或图示的组合可由机器可读指令实现。
[0063] 机器可读指令可例如由通用计算机、专用计算机、嵌入式处理器或其它可编程数据处理装置的处理器来执行,以实现在本描述和图示中所述的功能。特别是,处理器或处理电路可执行机器可读指令。因此,设备的功能模块(例如同步引擎204、服务检测引擎206、监控引擎208、备用指定引擎210和集群管理引擎304)可由执行存储在存储器中的机器可读指令的处理资源来实现或根据嵌入逻辑电路中的指令而操作的处理资源来实现。方法和功能模块都可由单个处理器执行或在几个处理器当中被划分。
[0064] 这样的机器可读指令也可存储在可引导计算机或其它可编程数据处理装置在特定的模式中操作的计算机可读存储介质中。
[0065] 这样的机器可读指令也可被加载到计算机或其它可编程数据处理装置上,使得计算机或其它可编程数据处理装置执行一系列操作来产生计算机实现的处理,因而在计算机或其它可编程装置上执行的指令实现由流程图中的流程和/或方框图中的块规定的功能。
[0066] 此外,本文的教导可以计算机软件产品的形式中实现,计算机软产品存储在存储介质中并包括用于使计算机装置实现在本公开的示例中详述的方法的多个指令。
[0067] 虽然参考某些示例描述了方法、设备和有关方面,但可做出各种修改、变化、省略和替换而不偏离本公开的精神。因此,旨在方法、设备和有关方面仅由接下来的权利要求及其等效物的范围限制。应注意,上面提到的示例说明而不是限制在本文中描述的内容,并且本领域技术人员将能够设计任何可选的实现而不偏离所附权利要求的范围。关于一个示例描述的特征可与另一示例的特征组合。
[0068] 词“包括”并不排除除了在权利要求中列出的那些元素以外的元素的存在,“一”并不排除多个,且单个处理器或其它单元可实现在权利要求中详述的几个单元的功能。
[0069] 任何从属权利要求的特征可以在任何组合中与任何独立的权利要求或其它从属权利要求的特征组合。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈