当前位置: 首页 > 专利查询>奈飞公司专利>正文

用于调度的反熵修复设计的技术制造技术

技术编号:27040548 阅读:66 留言:0更新日期:2021-01-12 11:24
本文所公开的本发明专利技术的各个实施例提供了用于在分布式数据库网络中的复数个节点上执行分布式反熵修复程序的技术。该分布式数据库网络内的复数个节点中所包括的一节点在复数个节点中所包括的所有其他节点之前确定第一反熵修复程序已结束。该节点确定第二反熵修复程序准备好开始。该节点生成用于执行与第二反熵修复程序相关联的一个或多个操作的调度。该节点将调度写入共享的修复调度数据结构,以在复数个节点中所包括的多个节点上启动第二反熵修复程序。然后复数个节点中所包括的每个节点基于该调度来执行节点修复。

【技术实现步骤摘要】
【国外来华专利技术】用于调度的反熵修复设计的技术相关申请的交叉引用本申请要求于2018年3月27日提交的美国专利申请序列号为62/648,907(代理人案卷号NETF0192USL)的申请的权益,该美国专利申请据此以引用方式并入本文。
本专利技术整体上涉及分布式计算机系统,并且更具体地涉及用于调度的反熵修复设计的技术。
技术介绍
在某些分布式数据库网络中,数据集合被复制并存储在整个分布式数据库网络中的多个计算设备中,这多个计算设备在此被称为“节点”。数据集合的多个副本在本文中称为“复制品”。在整个分布式数据库网络中存储复制品提供了防止数据丢失的冗余,由此如果复制品中的一个复制品被破坏,则可以访问其余复制品以检索对应的数据。此外,当复制品存储在地理上不同的节点中时,请求访问特定数据集的用户可以从最接近所述用户的计算设备的节点检索数据。因此,可以减少请求访问副本与检索所述副本之间的等待时间。随着时间的推移,一个复制品中的数据可能变得与其他对应复制品中的数据不一致。作为一个示例,访问一个节点上的特定复制品的用户可修改所述复制品的一部分,然后将所述经修改的复制品存储回同一节点上。因此,经修改的复制品与在整个分布式数据库网络中所分布的其他复制品不一致。为了校正此类不一致,将所述节点中的一个节点指定为反熵修复协调器。然后,指定的反熵修复协调器就不一致性分析复制品子集之间的差异并更新复制品子集,以使复制品子集变得一致。分析和更新复制品的这种过程在本文中称为“反熵修复程序(anti-entropyrepairprocedure)”,或更简单地称为“修复”。使用常规修复时,用户可以通过分布式数据库外部的修复工具手动将修复调度为离线批处理过程。因此,利用常规反熵修复程序,用户负责为分布式数据库网络内的节点设计和维护反熵修复程序。上述用于修复节点的途径的一个问题是修复解决方案和选项对于用户来说难以正确理解和执行。简单的反熵修复程序对于具有相对较少节点数的分布式数据库网络可为有效的,但是对于具有数万个节点的分布式数据库网络,这种简单的反熵修复程序可能会发生故障。类似地,对存储大小相对较小的复制品的节点可有效的反熵修复程序可能对于存储相对较大复制品的节点会发生故障,反之亦然。因此,对于具有波动数量的节点和/或不同大小的复制品的分布式数据库网络,设计和维持反熵修复程序可能是困难的。上述用于修复节点的途径的另一个问题是,当修复正在进行的同时反熵修复协调器和/或一个或多个其他节点发生故障时,整个修复进程可能会丢失。因此,需要从头开始重新启动反熵修复程序,从而导致丢失在故障之前执行了数小时或数天的修复工作。此外,外部的反熵修复程序可能无法完全了解分布式数据库的状态以及发生故障时的修复进程。因此,反熵修复程序可能难以确定需要哪些特定动作来重新启动修复。上述用于修复节点的途径的另一个问题是,修复通常需要大量使用磁盘存储装置、中央处理器(CPU)资源和网络带宽,这可能会显著降低分布式数据库网络的性能。如前所述,本领域中需要的是用于修复分布式数据库网络中的节点的更有效的技术。
技术实现思路
本申请的各个实施例阐述了一种用于在分布式数据库网络中的复数个节点上执行分布式反熵修复程序的计算机实现的方法。该方法包括由复数个节点中所包括的第一节点在复数个节点中所包括的所有其他节点之前,确定第一反熵修复程序已结束。该方法还包括由第一节点确定第二反熵修复程序准备好开始。该方法还包括生成用于执行与第二反熵修复程序相关联的一个或多个操作的调度。该方法还包括将该调度写入共享的修复调度数据结构,以在复数个节点中所包括的多个节点上启动第二反熵修复程序。本专利技术的其他实施例包括但不限于一种计算机可读介质,该计算机可读介质包括用于执行所公开的技术的一个或多个方面的指令;以及一种用于执行所公开的技术的一个或多个方面的计算设备。相对于现有技术,所公开的技术的至少一个技术优点是,反熵修复程序根据分布式数据库网络中的节点数量和复制品的变化的大小自动地缩放。因此,相对于传统技术,反熵修复程序适应于存储在特定节点上的数据的每个子集,以便减少磁盘访问量、CPU资源和所消耗的网络带宽。此外,随着节点数量和复制品大小随时间推移变化,用户无需手动设计和维护反熵修复程序。相对于现有技术,所公开的技术的另一技术优势在于,反熵修复程序分布在各节点上。此外,一旦故障节点恢复执行,则反熵修复程序可以在与故障发生时相对相同的条件下恢复。因此,相对于现有技术途径,当一个或多个其他节点在修复期间发生故障时,很少或没有修复进程丢失。这些技术优点代表相对于现有技术途径的一项或多项技术改进。附图说明因此,可以详细地理解本专利技术的上述特征的方式,可以通过参考实施例来对上面简要概述的本专利技术进行更具体的描述,其中所述实施例中的一些实施例在附图中示出。然而,应当注意的是,附图仅示出了本专利技术的典型实施例,因此不应视为对本专利技术范围的限制,因为本专利技术可允许其他等效实施例。图1示出了根据本专利技术的各种实施例的用于将内容分发到内容服务器和终端设备的网络基础设施;图2是根据本专利技术的各种实施例的可结合图1的网络基础设施来实现的内容服务器的更详细图示;图3是根据本专利技术的各种实施例的可结合图1的网络基础设施来实现的控制服务器的更详细图示;图4是根据本专利技术的各种实施例的可结合图1的网络基础设施实现的终端设备的更详细的图示;并且图5A-5B阐述了根据本专利技术的各种实施例的用于在分布式数据库网络中的复数个内容服务器上执行分布式反熵修复程序的方法步骤的流程图。具体实施方式在下面的描述中,阐述了许多具体细节以提供对本专利技术的更透彻理解。然而,对于本领域的技术人员将显而易见的是,可以在没有这些具体细节中的一者或多者的情况下实践本专利技术的实施例。系统综述图1示出了根据本专利技术的各种实施例的用于将内容分发到内容服务器110和终端设备115的网络基础设施100。如图所示,网络基础结构100包括集群140、控制服务器120和终端设备115,它们中的每一者都经由通信网络105连接。网络105可以是使得能够实现远程或本地计算机系统与计算设备之间的通信的任何合适的环境,包括但不限于无线和有线LAN以及基于互联网的WAN(广域网)。每个终端设备115包括但不限于计算设备,所述计算设备可以是个人计算机、视频游戏控制台、个人数字助理、移动电话、移动设备,或适用于实现本专利技术的一个或多个方面的任何其他设备。每个终端设备115经由网络105与一个或多个内容服务器110通信以下载内容,例如文本数据、图形数据、音频数据、视频数据和其他类型的数据。内容服务器110在本文中也称为“高速缓存”、“计算节点”,或更简单地称为“节点”。然后将可下载内容(在本文中也称为“文件”)呈现给一个或多个终端设备115的用户。在各种实施例中,终端设备115可包括计算机系统、机顶盒、移动计算机、智能电话、平板电脑、控制台和手持式视频游戏系统、数字视频记录器(DVR)、DVD播放器、经连接的数字电视、专本文档来自技高网
...

【技术保护点】
1.一种计算机实现的方法,包括:/n由复数个节点中所包括的第一节点在所述复数个节点中所包括的所有其他节点之前确定第一反熵修复程序已结束;/n由所述第一节点确定第二反熵修复程序准备好开始;/n生成用于执行与所述第二反熵修复程序相关联的一个或多个操作的调度;以及/n将所述调度写入共享的修复调度数据结构,以在所述复数个节点中所包括的多个节点上启动所述第二反熵修复程序。/n

【技术特征摘要】
【国外来华专利技术】20180327 US 62/648,9071.一种计算机实现的方法,包括:
由复数个节点中所包括的第一节点在所述复数个节点中所包括的所有其他节点之前确定第一反熵修复程序已结束;
由所述第一节点确定第二反熵修复程序准备好开始;
生成用于执行与所述第二反熵修复程序相关联的一个或多个操作的调度;以及
将所述调度写入共享的修复调度数据结构,以在所述复数个节点中所包括的多个节点上启动所述第二反熵修复程序。


2.根据权利要求1所述的计算机实现的方法,其中确定所述第二反熵修复程序准备好开始包括:确定当前时间在指定用于修复操作的规定时间范围内。


3.根据权利要求1所述的计算机实现的方法,还包括:
由所述复数个节点中所包括的第二节点确定第三反熵修复程序准备好开始;
生成用于执行与所述第三反熵修复程序相关联的一个或多个操作的调度;以及
将所述调度写入第二共享的修复调度数据结构,以在所述复数个节点中所包括的多个节点上启动所述第三反熵修复程序。


4.根据权利要求3所述的计算机实现的方法,其中:
所述第二反熵修复程序包括完整的反熵修复程序,
所述第三反熵修复程序包括增量式反熵修复程序,并且
确定所述第三反熵修复程序准备好开始包括:确定包括增量式修复的第四反熵修复程序已结束。


5.根据权利要求1所述的计算机实现的方法,还包括:
由所述复数个节点中所包括的第二节点确定所述第二反熵修复程序正在进行中;
确定所述第二节点按顺序是下一个要被修复的;以及
修复驻留在所述第二节点上的至少一个不一致数据分区。


6.根据权利要求1所述的计算机实现的方法,还包括:
由所述复数个节点中所包括的第二节点确定所述第二反熵修复程序正在进行中;
确定所述第二节点独立于所述复数个节点中所包括的当前正在执行与所述第二反熵修复程序相关联的修复的所有其他节点;以及
修复驻留在所述第二节点上的至少一个不一致数据分区。


7.根据权利要求1所述的计算机实现的方法,还包括:
由所述复数个节点中所包括的第二节点确定所述第二反熵修复程序正在进行中;
确定所述第二节点已经执行了与所述第二反熵修复程序相关联的修复;
确定所述复数个节点中所包括的与所述第二节点相互依赖的所有其他节点已经执行了与所述第二反熵修复程序相关联的修复;以及
由所述第二节点执行与所述第二反熵修复程序相关联的修复后程序。


8.根据权利要求7所述的计算机实现的方法,其中执行所述修复后程序包括:删除在所述第二反熵修复程序完成之后不再需要的分区。


9.根据权利要求7所述的计算机实现的方法,其中执行所述修复后程序包括:对与所述第二节点相关联的一个或多个分区执行压缩操作以缩短访问所述一个或多个分区时的等待时间。


10.根据权利要求7所述的计算机实现的方法,其中执行所述修复后程序包括:发送消息给监测应用程序,所述消息指示所述第二节点已经执行了与所述第二反熵修复程序相关联的修复。


11....

【专利技术属性】
技术研发人员:维奈·切拉约瑟夫·林奇阿贾伊·乌帕德海耶
申请(专利权)人:奈飞公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1