[go: up one dir, main page]

HK1183571B - 虚拟应用程序分布机架的配置文件的同步方法及系统 - Google Patents

虚拟应用程序分布机架的配置文件的同步方法及系统 Download PDF

Info

Publication number
HK1183571B
HK1183571B HK13110809.5A HK13110809A HK1183571B HK 1183571 B HK1183571 B HK 1183571B HK 13110809 A HK13110809 A HK 13110809A HK 1183571 B HK1183571 B HK 1183571B
Authority
HK
Hong Kong
Prior art keywords
blade
configuration
slave
blades
master
Prior art date
Application number
HK13110809.5A
Other languages
English (en)
Other versions
HK1183571A (zh
Inventor
拉贾库玛.亚兰
丹尼斯.奥什巴
Original Assignee
A10 Networks Inc.
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 A10 Networks Inc. filed Critical A10 Networks Inc.
Publication of HK1183571A publication Critical patent/HK1183571A/zh
Publication of HK1183571B publication Critical patent/HK1183571B/zh

Links

Description

虚拟应用程序分布机架的配置文件的同步方法及系统
技术领域
本发明总体上涉及数据通信,更具体地说,涉及虚拟集群系统。
背景技术
Web服务和云计算以前所未有的速度普及。每天在数据中心新的服务器转储并安装。Web服务和企业计算的需求来自多个市场部门。面向消费者的服务包括移动应用,如iPhoneTM应用程序、iPadTM应用程序、AndroidTM应用程序;移动应用程序,如基于位置的服务、逐向导航服务;电子书服务,如KindleTM;视频应用程序,如YouTubeTM或HuluTM;音乐应用程序,如PandoraTM或iTunesTM;互联网电视服务,如NetflixTM;以及其他多种快速增长的消费者Web服务。在企业方面,有基于云计算的服务,如GoogleTM文档、MicrosoftTMOfficeLive和SharepointTM软件,Salesforce.comTM的在线软件服务,电话出席和Web会议服务,以及其他多种企业云计算服务。
配置越来越多的服务器来适应增长的计算需要。这些服务器通常由诸如服务器负载平衡器(SLB)或应用程序交付控制器(ADC)的服务控制器管理。这些控制器管理从客户主机电脑到服务器的服务会话的负载平衡和交付。由于使用了更多的服务器,因此也需要更多的控制器。这些网络控制器可为了多个重要的目的一起共用,从而当处理大量的用户时提供可扩展的服务和解决方案;当处理服务器可能预计外的或预计中的失效时提供高的服务可用性;帮助减轻大量控制器的管理和操控的复杂性。集群池内的控制器彼此串联工作,从而给用户提供持续的服务。如果集群内的控 制器的配置发生变化,并且该变化与集群内其他控制器的现有配置冲突的话,则该变化会对这些控制器的运行有严重的不利影响。通常,集群现有配置全体记录在配置文件中。集群内所有控制器为了集群内控制器的正确运行必须遵守根据配置文件的配置。当配置发生变化时,配置文件必须更新以包括该变化。结合新配置变化和现有配置文件的新配置文件变成最新近的配置文件。新配置文件将通知给集群内所有的控制器。如果集群内一个控制器变为失效并再次可用,则新可用的控制器需要应用新配置文件中的配置,从而与集群内其他控制器彼此串联工作。
因此,需要一种在虚拟机架系统中同步控制器集群中的配置文件的方法。
发明内容
根据本发明的一实施方式,一种同步包括多个刀片的虚拟应用程序分布机架的配置文件的方法,包括:处理由虚拟应用程序分布机架的多个刀片中的主刀片(masterblade)接收的配置命令;通过主刀片利用配置命令和更新的标签来更新第一配置文件;通过主刀片给多个刀片中的一个或多个从刀片(slave blade)发送配置消息以通知更新的配置文件,该配置消息包括更新的标签;响应于通过一个或多个从刀片中指定的从刀片接收配置消息,将配置消息中更新的标签与存储在指定的从刀片中的第二配置文件中的标签比较;以及响应于确定配置消息中的更新的标签比存储在指定的从刀片的第二配置文件中的标签还新,通过指定的从刀片给主刀片发送对于更新的配置文件的请求。
在本发明的一个方面,处理由虚拟应用程序分布机架的多个刀片中的主刀片接收的配置命令包括:通过虚拟应用程序分布机架的主刀片接收配置命令;通过主刀片确定配置命令要被虚拟应用程序分布机架的多个刀片中的一个或多个第二从刀片所应用;以及通过主刀片给一个或多个第二从刀片发送第二配置消息以应用配置命令。
在本发明的一个方面,确定包括:通过主刀片确定配置命令给一个或多个第二从刀片的网络接口应用变化。
在本发明的一个方面,配置命令包括刀片标识符,其中,通过主刀片确定配置命令给一个或多个第二从刀片的网络接口应用变化包括:通过主刀片确定配置命令给与刀片标识符相关联的从刀片的网络接口应用变化。
在本发明的一个方面,配置命令包括网络接口标识符,其中,通过主刀片确定配置命令给一个或多个第二从刀片的网络接口应用变化包括:通过主刀片将配置命令中的网络接口标识符与存储器内的网络接口标识符相匹配;以及通过主刀片从存储器检索(retrieve)与匹配的网络接口标识符相关联的刀片标识符。
在本发明的一个方面,其中,处理由虚拟应用程序分布机架的多个刀片中的主刀片接收的配置命令包括:通过虚拟应用程序分布机架的主刀片接收配置命令;通过主刀片确定配置命令给通过虚拟应用程序分布机架实现的网络应用程序应用变化;确定配置命令是否与任何可应用于多个刀片的多个存储的配置命令相匹配;响应于确定配置命令与多个存储的配置命令中的任何配置命令相匹配,通过主刀片确定配置命令要被多个刀片中的实现网络应用程序的至少一个从刀片所应用;以及通过主刀片给实现网络应用程序的至少一个从刀片发送第二配置消息以应用配置命令。
在本发明的一个方面,通过主刀片给实现网络应用程序的至少一个从刀片发送第二配置消息以应用配置命令包括:响应于通过一个或多个从刀片中指定的第二从刀片接收第二配置消息,通过指定的第二从刀片应用第二配置消息中的配置命令;以及通过指定的第二从刀片给主刀片发送回复配置消息,表示配置命令已被第二从刀片所应用。
在本发明的一个方面,其中,通过主刀片给多个刀片中的一个或多个从刀片发送包括更新的标签的配置消息以通知更新的配置文件包括:通过 主刀片给一个或多个从刀片中的每一个发送包括标签和更新的配置文件的配置消息。
在本发明的一个方面,对于指定的从刀片,通过指定的从刀片给主刀片发送对于更新的配置文件的请求包括:响应于确定配置消息中更新的标签比存储在指定的从刀片内的第二配置文件中的标签还新,通过指定的从刀片给主刀片发送对于更新的配置文件的请求;通过主刀片接收从指定的从刀片发送的对于更新的配置文件的请求;以及给指定的从刀片发送所请求的更新的配置文件。
在本发明的一个方面,其中,请求包括更新的标签,其中,对于指定的从刀片,通过主刀片接收从指定的从刀片发送的对于更新的配置文件的请求和给指定的从刀片发送所请求的更新的配置文件包括:通过主刀片确定第三配置文件包括比更新的标签还新的标签;以及给指定的从刀片发送第三配置文件。
在本文中也对与上述方法对应的系统和计算机程序产品进行了说明和要求。
附图说明
图1示出了根据本发明的与管理主机计算机连接的虚拟应用程序分布机架的实施方式。
图2示出了根据本发明的虚拟应用程序分布机架的实施方式的部件。
图3示出了根据本发明的虚拟应用程序分布机架的实施方式中的刀片的连通性。
图4示出了根据本发明的实施方式的处理配置命令的虚拟应用程序分布机架。
图5示出了根据本发明的实施方式的在处理配置命令后更新配置文件的主刀片。
图6示出了根据本发明的实施方式的给从刀片同步更新的配置文件的主刀片。
图7示出了根据本发明的实施方式的在结合虚拟应用程序分布机架的处理中同步配置文件的新的从刀片。
具体实施方式
下面所述的说明使本领域的技术人员能实现并使用本发明,并且以专利申请及其要求的背景下提供。实施方式的各种修改对于本领域的技术人员来说将是显而易见的,并且本文中的通用原理可应用于其他实施方式。因此,本发明并不受所示实施方式的限制但是与符合本文所述的原理和特征的最大范围一致。
本发明可采用完全硬件实施方式、完全软件实施方式或包含硬件和软件两者的实施方式的形式。在一优选实施方式中,本发明以软件形式实现,包括但不限于固件、常驻软件、微代码等。
此外,本发明可采用从提供程序代码的计算机可用或计算机可读介质可访问计算机程序产品的形式,以供计算机或任何指令执行系统使用,或与计算机或任何指令执行系统一起使用。考虑到说明书的目的,计算机可用或计算机可读介质可以是可包含、存储、通信、传播或传送程序的任何装置,以供指令执行系统、装置或设备使用,或与指令执行系统、装置或设备一起使用。
介质可以是电、磁性、光学、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的实例包括半导体或固体存储器、磁带、可移动计算机软盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的现有实例包括只读光盘存储器(CD-ROM)、可读写光盘(CD-R/W)和DVD。
适合存储和/或执行程序代码的数据处理系统将包括通过系统总线与存储器元件直接或间接耦合的至少一个处理器。存储器元件可包括在实际执行程序代码的过程中采用的本地存储器、大容量存储器和提供至少某些程序代码的临时存储器的高速缓冲存储器,以减少在执行的过程中必须从大容量存储器检索代码的次数。
输入/输出或I/O设备(包括但不限于键盘、显示器、指向设备等)可直接或通过中间I/O控制器与系统耦合。
网络适配器也可与系统耦合以使数据处理系统通过中间专用或公共网络与其他数据处理系统、远程打印机或存储设备耦合。调制解调器、电缆调制解调器和以太网卡是一些当前可用的网络适配器类型。
附图中的流程图和框图示出了根据本发明各种实施方式的系统、方法和计算机程序产品的可能实现方式的架构、功能和运行。在这方面,流程图或框图中的每个框可表示模块、片段或代码部分,其包括一个或多个实现指定的局部功能的可执行指令。应注意,在某些其他的实现方式中,框中指出的功能可不按照附图中指出的顺序发生。例如,根据涉及的功能,实际上,两个连续示出的框可基本上同时执行,或者有时可以相反的顺序执行。还应注意,通过进行指定功能或行为的基于专用硬件的系统或专用硬件和计算机指令的组合可实现框图和/或流程图的各个框、以及框图和/或流程图的各个框的组合。
本申请中所用的术语旨在说明特定的实施方式,并不用于限制本发明。如本申请中所使用的,单数形式“一”和“该”也旨在包括复数形式,除非上下文另行明确说明。还应理解的是,说明书中所用的术语“包括”表示存在所述的特征、整体、步骤、操作、元件和/或部件,但是并不排除存在或增加一个或多个其他的特征、整体、步骤、操作、元件、部件和/或它们的组合。
图1示出了根据本发明的通过管理主机100管理的虚拟应用程序分布机架300的实施方式。
管理主机100为具有网络访问功能的计算设备。如图2所示,主机100与处理器103、计算机可读介质104和网络接口105操作性地耦合。计算机可读介质104存储处理器103可执行的计算机程序代码。网络接口105与数据网络153连接。网络接口105的实例包括以太网、WiFi、移动网络接口、蓝牙、WiMAX、数字用户线路(DSL)、电缆接口、宽带网络接口(诸如T1或T3)、光学网络接口、无线网络接口或其他数据网络接口。在一实施方式中,主机100为工作站、桌面个人计算机或笔记本个人计算机。在一实施方式中,主机100为个人数据助理(PDA)、智能电话、平板电脑或移动电话。
在图1中,虚拟应用程序分布机架300包括多个刀片,诸如刀片310、刀片312、刀片314和刀片316。如图2所示,每个刀片(例如,刀片310)与处理器303、计算机可读介质304和网络接口305操作性地耦合。计算机可读介质304存储计算机可读程序代码,当由处理器303执行计算机可读程序代码时,计算机可读程序代码实现本文所述的本发明的各个实施方式。回到图1,在一实施方式中,虚拟应用程度分布机架300实现至少一个网络应用程序350,诸如服务器负载平衡应用程序、应用程序交付控制应用程序、服务交付应用程序、流量管理应用程序、安全网关应用程序、防火墙系统的部件、虚拟专用网络(VPN)的部件、视频服务器的负载平衡器或服务网关,以给多个服务器分配负载。网络应用程序350通过虚拟 应用程序分布机架300的一个或多个刀片实现。在一实施方式中,网络应用程序350通过虚拟应用程序分布机架300的全部刀片实现。在一实施方式中,网络应用程序350通过虚拟应用程序分布机架300的一个或多个但不是全部的刀片实现。网络接口305(图2)与数据网络153连接。在图1中,刀片310、312、314、316通过它们与数据网络151的连接形成虚拟应用程序分布机架300。在一实施方式中,数据网络151将虚拟应用程序分布机架300与数据网络153连接。在一实施方式中,数据网络151包括数据网络153。在一实施方式中,数据网络151驻留在数据中心内,通过诸如光学网络等广域网跨多个数据中心,或覆盖校园网内的多个建筑。
刀片310包括存储多个执行存储在计算机可读介质304中的程序代码所需的数据以及其他数据的存储器306(图2)。在一实施方式中,存储器306包括存储器模块、硬盘、固态盘、闪存模块、动态存储器模块、存储器高速缓存或可移除存储器模块,诸如可移除硬盘或闪存驱动器。
假设刀片310是虚拟应用程序分布机架300的主刀片。如图2所示,主刀片310还包括管理接口307。主刀片310使用管理接口307与管理主机100通信。管理接口307时与数据网络153连接的网络接口。在一实施方式中,网络接口305和管理接口307驻留在同一网络卡上。在一实施方式中,管理接口307驻留在与网络接口305不同的网络卡中。
在图1中,管理主机100利用数据网络153给主刀片310发送配置命令113。主刀片310通过管理接口307接收配置命令113。在该实施方式中,应用配置命令113以配置虚拟应用程序分布机架300的一个或多个刀片。例如,配置命令113配置刀片314的网络接口,诸如设置刀片314的以太网端口的以太网地址、IP地址。在另一实例中,配置命令113配置刀片312的网络接口中的缓冲区大小。
在另一实施方式中,应用配置命令113以配置虚拟应用程序分布机架300的网络应用程序350。例如,网络应用程序350是服务器负载平衡应用程序,并且配置命令113设置用于服务器的服务器负载平衡器策略。在一实例中,网络应用程序350是网络流量管理应用程序,并且配置命令113配置用于流量管理应用程序的服务质量参数。在另一实例中,网络应用程序350是VPN防火墙应用程序,并且配置命令113配置用于VPN访问的公司用户账户。在另一实例中,网络应用程序350是用于另一网络应用程序的高可用性服务,并且配置命令113配置高可用性服务。
在一实施方式中,当网络应用程序350通过所有的刀片实现时,网络应用程序配置命令113应用到所有的刀片。在一实施方式中,网络应用程序配置命令113应用到实现网络应用程序350的一个或多个刀片。
数据网络153连接主机100和虚拟集群系统300。在一实施方式中,数据网络153为互联网协议(IP)网络。在一实施方式中,数据网络153是企业数据网络或区域企业数据网络。在一实施方式中,数据网络153是互联网服务供应商网络。在一实施方式中,数据网络153是小区数据网络。在一实施方式中,数据网络153包括有线网络,诸如以太网。在一实施方式中,数据网络153包括无线网络,诸如WiFi网络或蜂窝网络(cellular network)。
数据网络151将虚拟集群系统300与数据网络153连接。在一实施方式中,数据网络151驻留在数据中心内,通过诸如光学网络的广域网跨多个数据中心,或覆盖校园网内的多个建筑。
图3示出了根据本发明的虚拟应用程序分布机架的实施方式的刀片的连通性。在该实施方式中,刀片310是与其他刀片分开的硬件。刀片310通过数据网络151与其他刀片312、314和316连接。在一实施方式中,数据网络151包括多个网络交换器,诸如交换器414、交换器412和交换器416。网络交换器412或网络交换器414是连接多个刀片和网络交 换器的网络设备。在一实施方式中,交换器412是以太网交换器、IP路由器、光学网络交换器、WAN网络设备、ATM交换器、MPLS交换器、第二层网络交换器/集线器/网桥或第三层网络交换器/路由器。在图3所示的实施方式中,交换器412连接刀片312、刀片310和交换器416;交换器414连接刀片314、刀片316和交换器416。在该实施方式中,刀片312利用交换器412与刀片310通信,利用交换器412、416和414与刀片316通信。
在一实施方式中,交换器412、414和416驻留在同一物理位置,诸如数据中心。在一实施方式中,交换器412、414和416驻留在不同的位置,诸如在两个或多个数据中心内。假设在该实施方式中,刀片310、312、314和316驻留在不同的数据中心内。
刀片310通过发送和接收虚拟集群系统(VSC)消息500与其他刀片通信。在一实施方式中,刀片310通过广播网络地址(诸如以太网广播地址)发送虚拟集群系统消息500。在一实施方式中,虚拟集群系统消息500使用组播地址,诸如以太网组播地址、IP组播地址或其他组播网络地址。在一实施方式中,刀片310建立与刀片312的通信会话(未示出)并通过该通信会话给刀片312发送虚拟集群系统消息500。刀片310与其他各个刀片建立单独的通信会话以给这些刀片发送虚拟集群系统消息500。通信会话的实例包括UDP会话、TCP会话、基于IP的通信会话、端对端通信会话、单播通信会话或其他形式的数据通信会话。在一实施方式中,刀片310利用广播、组播地址、或者与刀片312或其他刀片之一的通信会话接收虚拟集群系统消息500。
在一实施方式中,刀片310发送并接收作为虚拟集群系统消息500类型的配置消息502。配置消息502将配置命令113传送给接收刀片。在一实施方式中,配置消息502中的配置命令113是由主机110发送的实际配置命令。在另一实施方式中,配置命令113不是由主机100发送的实际配置命令,而是在接收从刀片处实现主机的配置命令的命令。
图4示出了根据本发明实施方式的处理配置命令113的虚拟应用程序分布机架300。管理主机100将配置命令113发送给虚拟集群系统300。
虚拟集群系统300的主刀片310接收来自管理主机100的配置命令113(800)。主刀片310确定配置命令113要被一个或多个从刀片所应用。为了说明起见,假设主刀片310确定配置命令113要被从刀片314所应用。在一实施方式中,管理主机100指定配置命令113中刀片314的标识(身份,identity)。在一场景中,配置命令113是刀片314的网络接口的配置。管理主机100包括配置命令113中刀片314的标识。主刀片310根据配置命令113中刀片314的标识确定配置命令113要被刀片314所应用。在一实施方式中,配置命令113包括网络接口的标识。主刀片310利用配置命令113中的网络接口标识确定配置命令113要被刀片314所应用。在一实施方式中,主刀片310在存储器306中存储多个网络接口标识和虚拟应用程序分布机架300中的刀片的标识,其中,各个网络接口标识与刀片标识相关联。主刀片310将网路接口标识与存储器306中的多个网络接口标识匹配。主刀片310获得存储器模块304中匹配的网络接口的刀片标识。
在一实施方式中,配置命令113应用到网络应用程序350,其要被实现网络应用程序350的所有刀片所应用。主刀片基于配置命令113确定所有的这些刀片都要应用配置命令113。在一实施方式中,主刀片310在存储器306中存储多个可应用于所有这些刀片的配置命令。主刀片310将配置命令113与存储器306内的一个或多个配置命令306相匹配,并确定配置命令113要被所有这些刀片所应用。对于该实施方式,通过主刀片310与刀片314的配置命令113的处理对于虚拟应用程序分布机架300的其他各个刀片进行重复。
在一实施方式中,配置命令113包括刀片314的标识和网络应用程序350的配置。主刀片310基于来自配置命令113的刀片314的标识确定配置命令113要被刀片314所应用。
响应于确定配置命令113要被刀片314所应用,主刀片310给从刀片314发送配置消息502(800)。在一实施方式中,主刀片310包括配置消息502中的配置命令113。结合图3如上所述,配置消息502交付给从刀片314。从刀片314接收配置消息502并检索配置命令113(816)。从刀片314根据配置命令113应用配置或变化(818)。配置命令113可通过从刀片314应用至从刀片314的网络接口314b或网路应用程序314a的实现。在从刀片314完成配置命令113的应用后,从刀片314回复主刀片310(819)。从刀片314给主刀片310发送作为应答的回复配置消息503以表示配置命令113已被从刀片314所应用。在步骤807中,主刀片310接收来自从刀片314的回复配置消息503(807)。
图5示出了根据本发明实施方式的在处理配置命令后更新配置文件的主刀片。主刀片310包括存储器306。存储器306包括最新的配置文件330。配置文件300包括虚拟应用程序分布机架300最近接收并处理的多个配置命令。在处理完配置命令113后,主刀片310将配置文件330更新成配置文件331,其包括配置文件330的配置命令和配置命令113。配置文件331比配置文件330还新。在一实施方式中,主刀片310将配置文件330替换成配置文件331。在一实施方式中,主刀片310将配置文件330存档于存储器306众不同的位置。例如,主刀片310改变配置文件330的文件名。配置文件331变成最新的配置文件。为了区分比配置文件330还新的配置文件331,配置文件330包括标签340。主刀片310将与标签340不同的标签341放在配置文件331中。标签341表示配置文件331比配置文件330还新。在一实施方式中,标签341是时间戳。标签341是主刀片310创建配置文件331时的时间戳。标签341是比标签340更迟的时间戳,因此,表示配置文件331比配置文件330还新。在该实施方式中,主刀片310包括时钟(未示出)。主刀片310从时钟获得当前时间并将当前时间用作标签341的时间戳。在一实施方式中,结合图4如上所述,主刀片310在接收来自从刀片314的应答后获得当前时间。
在一实施方式中,标签341是数字。标签341是大于标签340的数字以表示配置文件331比配置文件330还新。例如,标签341是整数,并且大于标签340。在一实施方式中,主刀片310从配置文件330获得标签340并通过对标签340加一来算出标签341。
在一实施方式中,标签341为修订号。主刀片310从配置文件330获得标签340并基于标签340计算出新的修订号。主刀片310将新的修订号用作标签341。
在主刀片310创建配置文件331后,主刀片310将配置文件331通知给从刀片331,从而将配置文件331与从刀片本地存储的配置文件同步。主刀片310给从刀片312、314和316发送配置消息505以将配置文件331通知给这些从刀片。在一实施方式中,主刀片310将标签341包括在配置消息505中。从刀片312、314和316接收配置消息505并检索标签341。
在一实施方式中,主刀片310将配置消息505包括在配置文件331中。
图6示出了根据本发明实施方式的将更新的配置文件与从刀片同步的主刀片。主刀片310给从刀片312发送配置消息505。从刀片312接收配置消息505并从配置消息505检索标签341。从刀片312包括存储器412。在一实施方式中,存储器412包括从刀片312已经从主刀片获得的最新的配置文件330。存储器412中的配置文件330包括标签340。在从配置消息505检索到标签341后,从刀片312从存储器412中的配置文件330获得标签340。从刀片312将标签340与标签341比较,然后确定标签341比标签340还新。这样,从刀片312确定存储器412中具有比配置文件330还新的配置文件331。在一实施方式中,配置消息505不包括标签341。在接收到配置消息505后,从刀片312给主刀片310发 送对于标签341的请求配置消息,并且主刀片310利用另一配置消息以标签341进行应答。
响应于确定标签341比标签340还新,从刀片312给主刀片310发送请求配置消息507以请求配置文件。在一实施方式中,从刀片312将标签341放置在请求配置消息507中。主刀片310接收请求配置消息507并检索标签341。主刀片310发现来自配置消息507的标签341与来自存储器306中的配置消息331的标签341相匹配。主刀片310给从刀片312发送配置文件331。在一实施方式中,主刀片310给从刀片312发送配置消息509中的配置文件331。在一实施方式中,主刀片310利用与从刀片(服务器)312的独立文件传输通信会话发送配置文件331。
在一实施方式中,请求配置消息507不包括标签341。在接收到请求配置文件507后,主刀片310自动给从刀片312发送最新的配置文件,即,配置文件331。
在从配置消息509或文件传输通信会话接收到配置文件331后,从刀片312将配置文件331和标签341存储在从刀片312的存储器412内。在一实施方式中,从刀片312将配置文件330替换成配置文件331。在一实施方式中,从刀片312将配置文件330存储在存储器412中的不同位置处或以不同的文件名存储在存储器412中。配置文件331变成对于从刀片312的最新的配置文件。
在一实施方式中,主刀片310具有比配置文件331还新的配置文件。比如,在通过主刀片310发送配置消息505和通过从刀片312发送回复配置消息507之间,可能已经从主机100接收到另一配置命令,造成进一步的配置变化。在这种情况下,尽管从刀片312请求与标签341对应的配置文件331,但是主刀片310还是给从刀片312发送更加新的配置文件。
在一实施方式中,主刀片310不止一次发送关于标签341的配置消息502。这样,在从刀片312无法接收到配置消息的其他副本的情况下,从刀片312将接收配置消息502的至少一个副本。在一实施方式中,主刀片310周期性地发送配置消息502,如每隔30秒、1秒、5分钟或100毫秒发送一次。
图7示出了根据本发明实施方式的在结合虚拟应用程序分布机架的处理中同步配置文件的新的从刀片。虚拟应用程序分布机架300的一个刀片,即从刀片316,与虚拟应用程序分布机架300重新结合。在主刀片310处理配置命令113的同时,从刀片316可能已出现故障。从刀片316变成可用并与虚拟应用程序分布机架300重新结合。从刀片316包括存储器416,配置文件330存储在存储器416内。在一实施方式中,从刀片316获得从主刀片(诸如主刀片310)先前接收的用作最新配置文件的配置文件330。从刀片316从存储器416检索到配置文件330并在配置文件330中应用多个配置命令。从刀片316与虚拟应用程序分布机架300结合,并且刀片配置与配置文件330相关联。
从刀片316从主刀片310接收配置消息505,并从配置消息505检索到标签341。从刀片316将标签341中与存储器416中的配置文件330的标签340比较。从刀片316确定标签341比标签340还新。结合图6如上所述,从刀片316从主刀片310获得配置文件331。
一旦从刀片316获得配置文件331,从刀片316就应用配置文件331中的配置命令。在一实施方式中,从刀片316重置自身以基于配置文件330清除配置。在从刀片316重置后,从刀片316找到存储器模块416中的配置文件331并应用配置文件331中的配置命令。在一实施方式中,从刀片316基于配置文件330中的配置命令在不清除配置的情况下应用配置文件331中的配置命令。在一实施方式中,从刀片316基于配置文件330撤销配置命令,并应用配置文件331中的配置命令。
在从刀片316应用配置文件331中的配置命令后,从刀片316与虚拟应用程序分布机架300重新结合。当从刀片316接收到配置消息502并从配置消息505获得标签341时,从刀片316将配置消息505的标签341与来自存储器模块416中的配置文件的标签341比较。从刀片316确定这两个标签相同并且配置文件331为主刀片310指示的最新的配置文件。
尽管已经根据所示实施方式对本发明进行了说明,但是本领域的人员应当容易地认识到可对实施方式进行变形,这些变形应在本发明的精神和范围内。因此,本领域的技术人员在不脱离所附权利要求的精神和范围的情况下可进行多种修改。

Claims (16)

1.一种同步包括多个刀片的虚拟应用程序分布机架的配置文件的方法,包括:
处理所述虚拟应用程序分布机架的所述多个刀片中的主刀片从管理主机接收的配置命令;
通过所述主刀片利用所述配置命令和更新的标签更新第一配置文件,所更新的第一配置文件包括接收的所述配置命令;
响应于接收到所述配置命令,通过所述主刀片给所述多个刀片中的一个或多个从刀片发送配置消息以通知更新的配置文件,所述配置消息包括所述更新的标签;
响应于通过所述一个或多个从刀片中指定的从刀片接收所述配置消息,将所述配置消息中的所述更新的标签与存储在所述指定的从刀片中的第二配置文件中的标签比较;以及
响应于确定所述配置消息中的所述更新的标签比存储在所述指定的从刀片中的所述第二配置文件中的标签还新,通过所述指定的从刀片给所述主刀片发送对于更新的配置文件的请求。
2.根据权利要求1所述的方法,其中,处理所述虚拟应用程序分布机架的所述多个刀片中的主刀片从管理主机接收的配置命令包括:
通过所述虚拟应用程序分布机架的所述主刀片接收所述配置命令;
通过所述主刀片确定所述配置命令要被所述虚拟应用程序分布机架的所述多个刀片中的一个或多个第二从刀片所应用;以及
通过所述主刀片给所述一个或多个第二从刀片发送第二配置消息以应用所述配置命令。
3.根据权利要求2所述的方法,其中,通过所述主刀片确定所述配置命令要被所述虚拟应用程序分布机架的所述多个刀片中的一个或多个第二从刀片所应用包括:
通过所述主刀片确定所述配置命令给所述一个或多个第二从刀片的网络接口应用变化。
4.根据权利要求3所述的方法,其中,所述配置命令包括刀片标识符,其中,通过所述主刀片确定所述配置命令给所述一个或多个第二从刀片的网络接口应用变化包括:
通过所述主刀片确定所述配置命令给与所述刀片标识符相关联的从刀片的网络接口应用变化。
5.根据权利要求3所述的方法,其中,所述配置命令包括网络接口标识符,其中,通过所述主刀片确定所述配置命令给所述一个或多个第二从刀片的网络接口应用变化包括:
通过所述主刀片将所述配置命令中的所述网络接口标识符与存储器内的网络接口标识符相匹配;以及
通过所述主刀片从所述存储器检索与所匹配的网络接口标识符相关联的刀片标识符。
6.根据权利要求1所述的方法,其中,处理所述虚拟应用程序分布机架的所述多个刀片中的主刀片从管理主机接收的配置命令包括:
通过所述虚拟应用程序分布机架的所述主刀片接收所述配置命令;
通过所述主刀片确定所述配置命令给由所述虚拟应用程序分布机架实现的网络应用程序应用变化;
确定所述配置命令是否与可应用于所述多个刀片的多个所存储的配置命令中的任何配置命令相匹配;
响应于确定所述配置命令与多个所存储的配置命令中的任何配置命令相匹配,通过所述主刀片确定所述配置命令要被所述多个刀片中的实现所述网络应用程序的至少一个从刀片所应用;以及
通过所述主刀片给实现所述网络应用程序的所述至少一个从刀片发送第二配置消息以应用所述配置命令。
7.根据权利要求2的所述方法,其中,通过所述主刀片给所述一个或多个第二从刀片发送第二配置消息以应用所述配置命令包括:
响应于通过所述一个或多个从刀片中的指定的第二从刀片接收所述第二配置消息,通过所述指定的第二从刀片应用所述第二配置消息中的配置命令;以及
通过所述指定的第二从刀片给所述主刀片发送回复配置消息,表示所述配置命令已被所述指定的第二从刀片所应用。
8.根据权利要求1所述的方法,其中,响应于接收到所述配置命令通过所述主刀片给所述多个刀片中的一个或多个从刀片发送包括所述更新的标签的配置消息以通知更新的配置文件包括:
通过所述主刀片给所述一个或多个从刀片中的每一个发送包括所述更新的标签和所述更新的配置文件的所述配置消息。
9.根据权利要求1所述的方法,其中,对于所述指定的从刀片,通过所述指定的从刀片给所述主刀片发送对于更新的配置文件的请求包括:
响应于确定所述配置消息中的所述更新的标签比存储在所述指定的从刀片中的所述第二配置文件中的标签还新,通过所述指定的从刀片给所述主刀片发送对于所述更新的配置文件的请求;
通过所述主刀片接收来自所述指定的从刀片的对于所述更新的配置文件的请求;以及
给所述指定的从刀片发送所请求的所述更新的配置文件。
10.根据权利要求9所述的方法,其中,所述请求包括所述更新的标签,其中,对于所述指定的从刀片,通过所述主刀片接收来自所述指定的从刀片的对于更新的配置文件的请求和给所述指定的从刀片发送所请求的所述更新的配置文件包括:
通过所述主刀片确定第三配置文件包括比所述更新的标签还新的标签;以及
给所述指定的从刀片发送所述第三配置文件。
11.一种同步虚拟应用程序分布机架的配置文件的系统,包括:
可操作地耦合为数据网络内的虚拟应用程序分布机架的多个刀片,其中,每个刀片包括处理器和具有计算机可读程序的计算机可读存储介质,当所述处理器执行所述计算机可读程序时,所述计算机可读程序使所述多个刀片:
处理所述虚拟应用程序分布机架的所述多个刀片中的主刀片从管理主机接收的配置命令;
通过所述主刀片利用所述配置命令和标签更新配置文件,所更新的第一配置文件包括接收的所述配置命令;
响应于接收到所述配置命令,通过所述主刀片给所述多个刀片中的一个或多个从刀片发送配置消息以通知更新的配置文件,所述配置消息包括更新的标签;
响应于通过所述一个或多个从刀片中指定的从刀片接收所述配置消息,将所述配置消息中的所述更新的标签与存储在所述指定的从刀片中的第二配置文件中的标签比较;以及
响应于确定所述配置消息中的所述更新的标签比存储在所述指定的从刀片的所述第二配置文件中的标签还新,通过所述指定的从刀片给所述主刀片发送对于更新的配置文件的请求。
12.根据权利要求11所述的系统,其中,处理所述虚拟应用程序分布机架的所述多个刀片中的主刀片从管理主机接收的配置命令包括:
通过所述虚拟应用程序分布机架的所述主刀片接收所述配置命令;
通过所述主刀片确定所述配置命令要被所述虚拟应用程序分布机架的所述多个刀片中的一个或多个第二从刀片所应用;以及
通过所述主刀片给所述一个或多个第二从刀片发送第二配置消息以应用所述配置命令。
13.根据权利要求12所述的系统,其中,通过所述主刀片确定所述配置命令要被所述虚拟应用程序分布机架的所述多个刀片中的一个或多个第二从刀片所应用包括:
通过所述主刀片确定所述配置命令给所述一个或多个第二从刀片的网络接口应用变化。
14.根据权利要求11所述的系统,其中,处理所述虚拟应用程序分布机架的所述多个刀片中的主刀片从管理主机接收的配置命令包括:
通过所述虚拟应用程序分布机架的所述主刀片接收所述配置命令;
通过所述主刀片确定所述配置命令给由所述虚拟应用程序分布机架实现的网络应用程序应用变化;
确定所述配置命令是否与可应用于所述多个刀片的多个所存储的配置命令中的任何配置命令相匹配;
响应于确定所述配置命令与多个所存储的配置命令中的任何配置命令相匹配,通过所述主刀片确定所述配置命令要被所述多个刀片中的实现所述网络应用程序的至少一个从刀片所应用;以及
通过所述主刀片给实现所述网络应用程序的所述至少一个从刀片发送第二配置消息以应用所述配置命令。
15.根据权利要求12所述的系统,其中,通过所述主刀片给所述一个或多个第二从刀片发送第二配置消息以应用所述配置命令包括:
响应于通过所述一个或多个从刀片中的指定的第二从刀片接收所述第二配置消息,通过所述指定的第二从刀片应用所述第二配置消息中的所述配置命令;以及
通过所述指定的第二从刀片给所述主刀片发送回复配置消息,表示所述配置命令已被所述指定的第二从刀片所应用。
16.根据权利要求11所述的系统,其中,对于指定的从刀片来说,通过所述指定的从刀片给所述主刀片发送对于更新的配置文件的请求包括:
响应于确定所述配置消息中的所述更新的标签比存储在所述指定的从刀片中的所述第二配置文件中的标签还新,通过所述指定的从刀片给所述主刀片发送对于所述更新的配置文件的请求;
通过所述主刀片接收来自所述指定的从刀片的对于所述更新的配置文件的请求;以及
给所述指定的从刀片发送所请求的所述更新的配置文件。
HK13110809.5A 2011-06-06 2013-09-23 虚拟应用程序分布机架的配置文件的同步方法及系统 HK1183571B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/154,399 2011-06-06

Publications (2)

Publication Number Publication Date
HK1183571A HK1183571A (zh) 2013-12-27
HK1183571B true HK1183571B (zh) 2018-06-29

Family

ID=

Similar Documents

Publication Publication Date Title
CN107360234B (zh) 计算机可读存储介质
US10530847B2 (en) Virtual application delivery chassis system
CN112087312B (zh) 一种提供边缘服务的方法、装置和设备
CN111459749B (zh) 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质
US11770359B2 (en) Maintaining communications in a failover instance via network address translation
US9106561B2 (en) Configuration of a virtual service network
CN105635222A (zh) 云终端升级方法、系统、网管服务器及代理服务器
GB2531546A (en) Collaborative maintenance of software programs
US20150281093A1 (en) Information processing apparatus and information processing method
HK1183571B (zh) 虚拟应用程序分布机架的配置文件的同步方法及系统
HK1183571A (zh) 虚拟应用程序分布机架的配置文件的同步方法及系统
CN104486215A (zh) 一种消息发送方法及设备
US10841148B2 (en) Disaster recovery of cloud resources
CN105763582A (zh) 用于切换服务注册设备的方法、设备及系统
US9942314B2 (en) System and method for optimizing web service availability with a node group agreement protocol
US20160154715A1 (en) Access point controller failover system
US10225135B2 (en) Provision of management information and requests among management servers within a computing network
HK1186802A (zh) 虚拟应用交付机箱系统
HK1186802B (zh) 虚拟应用交付机箱系统
HK1198848B (zh) 生成安全名称记录的系统和方法