服务器备份方法及其备份系统与流程

文档序号:12719236阅读:642来源:国知局
服务器备份方法及其备份系统与流程

本发明涉及一种用于具有容错机制的虚拟机器架构的服务器备份方法,以及使用此方法的备份系统。



背景技术:

近年来,随着互联网的快速发展,以及云端运算的兴起,许多企业对于信息服务的需求也越来越高,因此,具有高运算能力的虚拟机器(Virtual Machine,VM)被广泛使用于各种解决方案。例如,通过互联网结合运行有虚拟机器的大量的服务器以形成高速运算与具备大量存储能力的整合式计算机广为各企业所使用。

为了避免因服务器故障导致的停机或数据遗失所造成的重大损失,目前可通过虚拟机器容错(Fault Tolerance,FT)机制,在正在提供服务的服务器发生故障时,即时且无中断地切换至另一台服务器来提供服务。图1绘示为虚拟机器容错机制所造成的延迟时间的示意图。请参照图1,具体而言,具有容错机制的虚拟机器的备份周期可分为四个阶段:运行操作、备份快照操作、备份传输操作以及输出操作,当在前三个阶段的操作中接收到来自用户的工作负载请求时,若有产生用以响应用户的输出时,则此些输出会先被暂存在缓冲存储器中,直到输出操作的阶段才会被一起输出。也就是说,在虚拟机器容错系统中,响应用户的请求的所有输出信息必须在三个阶段的备份流程完成后才会被释放且传送给用户,如此一来,便会造成工作负载的需求所对应的响应信息在虚拟机器容错系统中会产生额外的延迟时间。据此,在面对延迟敏感的工作负载需求(例如,线上游戏、即时交易)时,便无法保证系统响应时间,甚至造成断线或交易失败。基此,需要发展一套可以在虚拟机器容错系统中控制延迟时间的方法,才能满足此类工作负载的需求。



技术实现要素:

本发明提供一种服务器备份方法以及使用此方法的备份系统,其能够有 效地在具有容错机制的虚拟机器架构中控制工作负载延迟时间。

本发明的一范例实施例提出一种服务器备份方法,本服务器备份方法包括:在运行操作期间持续收集多个更新分页,根据所收集的此些更新分页的数量决定备份启动时间点;根据所述备份启动时间点暂停运行操作并执行备份快照操作以产生对应此些更新分页的数据备份快照;以及执行一备份传输操作以传送数据备份快照。

本发明的一范例实施例提出一种备份系统,本备份系统括:第一服务器与第二服务器。第一服务器用以运行第一虚拟机器,且第一虚拟机器在运行操作期间持续收集多个更新分页,根据所收集的此些更新分页的数量决定备份启动时间点。第二服务器用以运行第二虚拟机器,所述第二服务器通过总线耦接至第一服务器。第一虚拟机器根据所述备份启动时间点暂停运行操作并执行备份快照操作以产生对应此些更新分页的数据备份快照,以及执行备份传输操作以传送数据备份快照至第二虚拟机器。

基于上述,本发明的范例实施例所提出的服务器备份方法及使用此方法的备份系统能够根据所收集的更新分页的数量与传输此些更新分页的时间来动态地调整所收集的更新分页的数量与决定备份启动时间点,据此,可有效地控制虚拟机器的容错机制所产生的延迟时间。

为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

图1绘示为虚拟机器容错机制所造成的延迟时间的示意图。

图2A是根据一范例实施例所绘示的备份系统的架构图。

图2B是根据一范例实施例所绘示的备份系统的方块图。

图3是根据一范例实施例所绘示的虚拟机器运作的示意图。

图4A是根据一范例实施例所绘示的服务器备份方法的流程图。

图4B是根据一范例实施例所绘示的决定备份启动时间点的方法的流程图。

图5A绘示为没有容错机制时通过传输控制协议传输大量数据的示意图。

图5B绘示为有容错机制时通过传输控制协议传输大量数据的示意图。

图6是根据另一范例实施例所绘示的备份系统的方块图。

图7是根据另一范例实施例所绘示的代理服务器运作的示意图。

图8A~图8C与图9A~图9B是根据再一范例实施例所绘示的代理服务器运作的示意图。

【符号说明】

100:备份系统

110:第一服务器

112、122、602:处理装置

114、124、604:缓冲存储器

116、126、606:通信装置

118:第一虚拟机器

120:第二服务器

128:第二虚拟机器

130:总线

302:运行操作

304:备份快照操作

306:备份传输操作

308:输出操作

310:延迟时间

140:电子装置

60:网络

600a、600b:代理服务器

610:超管理器

S401、S403、S405:服务器备份方法的步骤

S401-1、S401-2、S401-3:决定备份启动时间点的方法的步骤

Tbk:备份启动时间点

Ta:运行时间

Tb:快照时间

Tc:预估传输时间

t1、t2、t3:时间

ack1、ack2、ack3、ack4:确认讯息

seq:序列分组

具体实施方式

为了能够在具容错机制的虚拟机器架构中控制工作负载的延迟时间,本发明藉由动态地调整备份启动时间点,由此达到将延迟时间控制在所设定的延迟范围内。

图2A是根据一范例实施例所绘示的备份系统的架构图,并且图2B是根据一范例实施例所绘示的备份系统的方块图。必须了解的是,图2A与图2B的范例仅是为了方便说明,并不用以限制本发明。

请参照图2A与图2B,备份系统100包括第一服务器110以及第二服务器120,第一服务器110包括处理装置112、缓冲存储器114、通信装置116以及第一虚拟机器118,而第二服务器120包括处理装置122、存储装置124、通信装置126以及第二虚拟机器128。

处理装置112耦接缓冲存储器114及通信装置116,并且用以控制第一服务器110的整体运作。例如,处理装置112为中央处理单元(Central Processing Unit,CPU)。

缓冲存储器114用以暂存处理装置112所执行的指令或数据。例如,缓冲存储器114可以是动态随机存取存储器(Dynamic Random Access Memory,DRAM)或静态随机存取存储器(Static Random Access Memory,SRAM)等。然而,必须了解的是,本发明不限于此,缓冲存储器114也可以是其他适合的存储器。

通信装置116用以通过有线或无线的方式与外部的其他装置建立网络连接。例如,第一服务器110可通过通信装置116与第二服务器120通信。

类似地,处理装置122、存储装置124与通信装置126分别相同或相似于上述处理装置112、缓冲存储器114与通信装置116,在此不再重述。

第一服务器110与第二服务器120可分别地运转一个或多个虚拟机器以提供不同的服务。例如,第一虚拟机器118运行在第一服务器110中,而第二虚拟机器128运行在第二服务器120中。必须了解的是,本范例以两个服务器与两个虚拟机器为例进行说明,但本发明并不限于此。也就是说,备份系统100可包括两个以上的服务器,且每一服务器可运行有一个或多个虚拟机器。例如,备份系统100还包括一第三服务器,第三服务器用以运行至少一虚拟机器(亦称为第三虚拟机器)。

总线130用以提供服务器传输数据的路径,例如,第一服务器110与第二服务器120可通过总线130互相传送需要处理或是需要存取的数据。在本范例实施例中,总线130是相容于高速周边零件连接接口(Peripheral Component Interconnect Express,PCIe)标准。然而,必须了解的是,本发明不限于此,总线130也可以符合其他适合的标准。

具体而言,在服务器的操作系统的运作中,是以分页(page)来管理存储器,当第一虚拟机器118需要修改某一笔记录中的数据时,第一虚拟机器118会将此数据所在的分页从硬盘读到缓冲存储器114中并修改此分页中的记录。此时,缓冲存储器114中的分页已与硬盘中所对应的分页不相同,因此,缓冲存储器114中被更新过的分页即称为更新分页(dirty page)。

图3是根据一范例实施例所绘示的虚拟机器运作的示意图。

请先参照图3,具有容错机制的虚拟机器的备份周期可分为运行操作302、备份快照操作304、备份传输操作306以及输出操作308等四个阶段。一般而言,第一虚拟机器118会在运行操作302中根据来自用户的请求指令来新增、修改或存取硬盘中的数据。例如,在运行操作302中,第一虚拟机器118会将上述更新分页以及用以响应用户的响应信息暂存在缓冲存储器114中。通过执行备份快照操作304可备份运行操作302中所获得的更新分页以产生数据备份快照,并且在完成备份快照操作304后,第一虚拟机器118会回复执行运行操作302。例如,备份快照操作304的运行时间大约为1~2毫秒(ms)。在备份周期中备份快照操作304的运行时间相对短,因此,在本范例实施例中,其可被视为一个固定值。而第一虚拟机器118是在备份传输操作306中将数据备份快照传送至第二虚拟机器128以完成数据的备份。特别是,当第二服务器120作为第一服务器110的备份服务器时,在备份系统100包括多个第一服务器110的例子中,第二虚拟机器128也可同时服务此多个第一服务器110的多个第一虚拟机器118,亦即,第二服务器120可同时作为多个第一服务器110的备份服务器。在完成数据备份快照的传输后,由于更新分页所对应的数据备份快照已备份至第二虚拟机器128,因此,倘若当第一服务器110损坏且无法提供服务时,第二服务器120的第二虚拟机器128可即时地接替执行第一服务器110的第一虚拟机器118所运行的工作并提供对应的服务。值得注意的是,在备份系统100还包括第三服务器的例子中,第二虚拟机器128亦会执行备份快照操作304与备份传输操作306以传送数 据备份快照至运行在第三服务器的虚拟机器(例如,第三虚拟机器),由此提供更可靠备份。此外,输出操作308则是将用以响应用户的响应信息输出。例如,第一虚拟机器118或第二虚拟机器128会执行输出操作308以传送响应信息至电子装置。特别是,由于备份传输操作306主要是在传输更新分页,因此,备份传输操作306的时间会根据所传输的更新分页的数据量而改变,据此,本发明的备份系统100即是参照所收集的更新分页的数量与备份传输操作306的处理时间来控制延迟时间。为了更清楚地描述本发明的备份系统100及其虚拟机器的运作,以下将参照图3、图4A与图4B以一范例来进行说明。

图4A是根据一范例实施例所绘示的服务器备份方法的流程图,并且图4B是根据一范例实施例所绘示的决定备份启动时间点的方法的流程图。

请同时参照图3与图4A,在步骤S401中,第一虚拟机器118会在运行操作302的期间持续收集多个更新分页,根据所收集的此些更新分页的数量决定备份启动时间点Tbk。接着,在步骤S403中,第一虚拟机器118会根据此备份启动时间点Tbk暂停运行操作302并执行备份快照操作304以产生对应更新分页的数据备份快照,并且在步骤S405中,第一虚拟机器118会执行备份传输操作306以传送数据备份快照至第二虚拟机器128,由此完成一个备份周期。倘若在备份周期的期间中,用户在时间t1通过电子装置140对第一虚拟机器118发出请求指令,则第一虚拟机器118会根据此请求指令执行处理操作以获得对应此请求指令的响应信息。在未使用容错机制的虚拟机器的备份系统中,第一虚拟机器118在时间t1从电子装置140接收到请求指令,并根据此请求指令执行处理操作以获得对应请求指令的响应信息后,可随即地在时间t2将响应信息传送给至电子装置140。反之,在使用容错机制的虚拟机器的备份系统中,为确保所有更新分页皆成功地备份至第二虚拟机器128,第一虚拟机器118会将此些响应信息先暂存在缓冲存储器114中,直到其执行完备份快照操作304与备份传输操作306之后,执行输出操作308以在时间t3将响应信息传送给至电子装置140。在此,由于时间t1到时间t2的响应时间为一固定值,因此,本范例实施例是将时间t2至时间t3的期间定义为延迟时间310。然而,本发明并不限于此,例如,在另一范例实施例中,延迟时间310也可以是时间t1到时间t3的期间。

本发明即是将上述延迟时间310控制在一特定范围内,由此可确保备份 系统100的响应时间可满足具延迟敏感的工作负载需求。具体而言,在本发明范例实施例中,第一虚拟机器118会设定一预期延迟,并根据此预期延迟、运行操作302的运行时间Ta、产生对应更新分页的数据备份快照的快照时间Tb与传送数据备份快照的预估传输时间Tc来决定备份启动时间点Tbk,其中所决定的备份启动时间点Tbk会使得运行时间Ta、快照时间Tb与传输时间Tc的总和小于或等于所设定的预期延迟。

请参照图4A与图4B,更详细地说,在步骤S401中,第一虚拟机器118会在收集到更新分页的一个时间点,进入步骤S401-1中判断运行操作302的运行时间Ta、产生对应此些更新分页的数据备份快照的快照时间Tb与传送此数据备份快照的预估传输时间Tc的总时间是否小于所设定的预期延迟。倘若运行操作302的运行时间Ta、产生对应此些更新分页的数据备份快照的快照时间Tb与传送此数据备份快照的预估传输时间Tc的总时间小于预期延迟时,第一虚拟机器118会在步骤S401-3中持续收集其他更新分页,并在收集到更多更新分页的另一时间点后,重新执行步骤S401-1。反之,倘若运行操作302的运行时间Ta、产生对应此些更新分页的数据备份快照的快照时间Tb与传送此数据备份快照的预估传输时间Tc的总时间非小于预期延迟时,则第一虚拟机器118会在步骤S401-5中以此时间点作为备份启动时间点,并接续地执行步骤S403。

在本范例实施例中,上述预估传输时间Tc是根据此次备份周期所收集的更新分页的数据量、前一次备份周期的先前更新分页的传输量与传输此些先前更新分页的时间来估计的。例如,第一虚拟机器118会根据多个先前更新分页的传输量与传输此些更新分页的时间计算备份传输速率,再根据此备份传输速率与在此次备份周期中所收集的更新分页的数据量,来计算传送数据备份快照的预估传输时间Tc

举例而言,在第一虚拟机器118将预期延迟设为10毫秒的例子中,假设前一次备份周期的先前更新分页的传输量为200个更新分页且传输此200个先前更新分页的时间为4毫秒,因此,第一虚拟机器118会得到备份传输速率为1毫秒可传输50个更新分页。此外,为了方便说明,以下将对应备份快照操作304的快照时间Tb假设为1毫秒。倘若目前第一虚拟机器118在运行操作302阶段执行了2毫秒且收集了100个更新分页,则第一虚拟机器118会判断扣除快照时间Tb(即,1毫秒),其还有7毫秒可以传输更新分页,并 且进一步根据备份传输速率计算出传送此100个更新分页仅需2毫秒。换句话说,此时运行操作302的运行时间Ta(即,2毫秒)、产生对应此些更新分页的数据备份快照的快照时间Tb(即,1毫秒)与传送此数据备份快照的预估传输时间Tc(即,2毫秒)的总时间(即,5毫秒)小于预期延迟(即,10毫秒),因此,第一虚拟机器118会持续收集其他更新分页。接着,假设第一虚拟机器118又运行了4毫秒(即,共运行了6毫秒)且又收集了50个更新分页(即,共收集了150个更新分页),则第一虚拟机器118会判断扣除快照时间Tb(即,1毫秒),其还有3毫秒可以传输更新分页,并且进一步根据备份传输速率计算出传送此150个更新分页需要3毫秒的时间。此时运行操作302的运行时间Ta(即,6毫秒)、产生对应此些更新分页的数据备份快照的快照时间Tb(即,1毫秒)与传送此数据备份快照的预估传输时间Tc(即,3毫秒)的总时间(即,10毫秒)等于预期延迟(即,10毫秒),因此,第一虚拟机器118会以目前时间点(即,运行操作302运行6毫秒的时间点)作为备份启动时间点Tbk

在另一个例子中,第一虚拟机器118也可在每产生一个更新分页时,即判断剩余时间是否足以传输目前所收集的分页,倘若目前第一虚拟机器118在运行操作302阶段执行了7毫秒且收集了99个更新分页,则第一虚拟机器118会判断扣除快照时间Tb(即,1毫秒),其还有2毫秒可以传输更新分页,并且进一步根据备份传输速率计算出传送此99个更新分页需1.98毫秒。特别是,此时剩余的2毫秒虽可传送100个更新分页,第一虚拟机器118会判断若再继续收集1个更新分页,则剩余的时间可能会小于2毫秒,显然不够传送100个更新分页。因此,第一虚拟机器118会将此时其运行的7毫秒的时间点作为备份启动时间点Tbk。换句话说,此时运行操作302的运行时间Ta(即,7毫秒)、产生对应此些更新分页的数据备份快照的快照时间Tb(即,1毫秒)与传送数据备份快照的预估传输时间Tc(即,1.98毫秒)的总时间(即,9.98毫秒)会小于预期延迟(即,10毫秒)。

值得一提的是,在本范例实施例中,传送此数据备份快照的预估传输时间Tc是根据更新分页的数目来估计,但本发明不限于此。上述预估传输时间Tc也可更根据更新分页的实际传输率(以下亦称为压缩率)来估计。例如,在本发明另一范例实施例中,预估传输时间Tc是根据此次备份周期所收集的更新分页的数据量与此次备份周期所收集的更新分页的压缩率、前一次备份周期的先前更新分页的传输量与传输此些先前更新分页的时间来估计的。类似 地,第一虚拟机器118亦会先根据多个先前更新分页的传输量与传输此些更新分页的时间计算备份传输速率。不同之处在于,在此范例实施例中,第一虚拟机器118会进一步地根据此次备份周期中所收集的更新分页之中的至少部分更新分页的数据量与至少部分更新分页的实际传输量,计算对应此些更新分页的压缩率。换句话说,压缩率为所收集的更新分页中实际被更新的数据量与所收集的更新分页的数量的比例。接着,第一虚拟机器118会根据备份传输速率、更新分页的数据量与此些更新分页的压缩率,计算传送数据备份快照的预估传输时间Tc

在此假设第一虚拟机器118将预期延迟设为10毫秒且其所计算的备份传输速率为1毫秒可传输50个更新分页。在此例子中,第一虚拟机器118会每收集10个更新分页即计算一次更新分页的压缩率。例如,每一更新分页的大小为4k,且此10个更新分页中实际被更新的数据量总共为12k,因此,对应此10个更新分页的压缩率为30%。在此假设第一虚拟机器118所收集的30个更新分页中,对应每10个更新分页的压缩率皆为30%,则第一虚拟机器118会预测接下来所收集的每10个更新分页的压缩率也会是30%。值得注意的是,本发明并不加以限制计算压缩率的频率,例如在另一范例实施例中,第一虚拟机器118每次计算更新分页的压缩率的时间点所收集的更新分页的数量可以是大于10个更新分页或小于10个更新分页。

据此,若目前第一虚拟机器118在运行操作302的阶段执行了6毫秒且收集了450个更新分页,则第一虚拟机器118会判断扣除快照时间Tb(即,1毫秒),其还有3毫秒可以传输更新分页,并且进一步根据此些更新分页的压缩率计算出传送对应此450个更新分页的实际更新的数据量为600k(即,150个更新分页)并且根据备份传输速率计算出传送此150个更新分页需要3毫秒的时间。换句话说,此时运行操作302的运行时间Ta(即,6毫秒)、产生对应此些更新分页的数据备份快照的快照时间Tb(即,1毫秒)与传送此数据备份快照的预估传输时间Tc(即,3毫秒)的总时间(即,10毫秒)等于预期延迟(即,10毫秒),因此,第一虚拟机器118会以目前时间点(即,运行操作302运行6毫秒的时间点)作为备份启动时间点Tbk

特别是,当第一虚拟机器118所收集的30个更新分页中,对应每10个更新分页的压缩率分别为30%、40%与50%时,则第一虚拟机器118会预测接下来所收集的每10个更新分页的压缩率会以此上升的趋势增加。例如,第 一虚拟机器118会预测接续收集的下10个更新分页的压缩率是60%。举例而言,假设目前第一虚拟机器118在运行操作302阶段执行了8毫秒且收集了70个更新分页,则第一虚拟机器118会判断扣除快照时间Tb(即,1毫秒),其还有1毫秒可以传输更新分页,并且进一步根据此些更新分页的压缩率计算出传送对应此70个更新分页的实际更新的数据量为168k(即,40*(0.3+0.4+05+0.6+0.7+0.8+0.9))并且根据备份传输速率计算出传送数据量为168k的数据(即,相当于42个更新分页)需要0.84毫秒的时间。然而,此时剩余的1毫秒虽可传送相当于50个更新分页的数据量,第一虚拟机器118会判断若再继续收集对应8个更新分页的数据量,则剩余的时间可能会小于1毫秒,显然不够传送对应50个更新分页的数据量。因此,第一虚拟机器118会将此时其运行的8毫秒的时间点作为备份启动时间点Tbk。换句话说,此时运行操作302的运行时间Ta(即,8毫秒)、产生对应此些更新分页的数据备份快照的快照时间Tb(即,1毫秒)与传送此数据备份快照的预估传输时间Tc(即,0.84毫秒)的总时间(即,9.84毫秒)会小于预期延迟(即,10毫秒)。此外,在另一范例实施例中,对应每10个更新分页的压缩率亦有可能是以下降的趋势减少,例如,第一虚拟机器118所收集的30个更新分页中,对应每10个更新分页的压缩率分别为50%、40%与30%。

特别是,当虚拟机器执行大量的输入输出工作时,例如,对磁盘写入大文件或是编译内核等工作时,会造成备份传输时间无法预估,亦即,在备份传输操作306中传输数据备份快照的操作会受到其他输入输出工作的影响,而造成数据备份快照无法在所估测的预估传输时间Tc内被传送至另一虚拟机器。具体而言,虚拟机器管理软件(Virtual Machine Manager)会将中断程序分为两个部分(half),即,上半部(top half)与下半部(bottom half)。上半部用以接收对应中断请求的任务(task)并根据此些任务对下半部进行调度以将上述大量的输入输出工作排入下半部的调度序列。特别是,在下半部被执行时,由于中断程序仍是开启的,因此中央处理单元(CPU)仍然可以接受中断请求,也就是说,下半部为可被中断的调度序列。虚拟机器管理软件将输入输出工作排入此序列是为了避免输入输出工作长时间占据中央处理单元的运行,而导致其他重要的工作无法执行,然而,若将对应备份传输操作306的输入输出工作也排进此序列中,则会使得对应备份传输操作306的输入输出工作跟第一虚拟机器118上执行的其他输入输出工作会相互影响或者被中断,由此 导致备份传输的时间被拉长,进而造成整体的延迟时间无法控制。有鉴于此,在另一范例实施例中,第一虚拟机器118会更使用独立的一个线程来执行备份传输操作306,以确保对应更新分页的数据备份快照能在所估计的预估传输时间Tc被传送至第二虚拟机器128。例如,第一虚拟机器118会配置第一线程来运行备份传输操作306,以及配置第二线程来运行上述处理操作、运行操作302、备份快照操作304与输出操作308,并且第一虚拟机器118会将第一线程的执行顺序设定为优先于第二线程的执行顺序。如此一来,可避免备份传输操作306中传送对应更新分页的数据备份快照的操作受到其他的输入输出工作的干扰而被中断,且可确保对应更新分页的数据备份快照能在所估计的预估传输时间Tc被传送至第二虚拟机器128以有效地控制延迟时间310。

在本发明中,上述备份系统100传输大量数据时,是通过传输控制协议(Transmission Control Protocol,TCP)来进行数据的交换,然而,将TCP的传输机制应用于具容错系统的虚拟机器架构下,将会造成大量的延迟。例如,图5A绘示为没有容错机制时通过传输控制协议传输大量数据的示意图,且图5B绘示为有容错机制时通过传输控制协议传输大量数据的示意图。请先参照图5A,TCP是网络数据传输中提供可靠的数据流传送服务以在主机系统间实现高可靠性的分组交换传输协议。TCP为了避免分组遗失,其会给每个分组一个序号,以确保传送到用户端的电子装置的分组的是按顺序而被接收的。之后,用户端的电子装置对已成功收到的分组会送回一个相应的确认讯息(ack),倘若发送端的服务器在合理的往返时间延迟内未收到确认讯息,则对应的数据分组就会被假设为已遗失的分组且会被重新传送。举例而言,如图5A所示,当服务器端使用TCP传输大型文件或数据时,会先传送一个顺序序列分组seq,当确认有对应的确认讯息ack1回复后,服务器才会开始传送用以响应用户的请求指令的响应信息,例如,服务器会先将响应信息的一部分数据DATA1~DATA100传送至用户端,并且在用户端的电子装置收到数据DATA1~DATA100并回传确认讯息ack2给服务器端时,服务器端才会继续地传送下一部分数据DATA101~DATA200给用户端的电子装置直到全部数据传送完为止。

请参照图5B,如上所述,由于响应用户的响应信息必须在备份完成后(即,运行操作302、备份快照操作304、备份传输操作306之后)的输出操作308 才会被输出释放给用户端的电子装置,因此,如图5B所示,当备份尚未完成时,即使服务器端收到了确认讯息ack 2,其也不会将部分数据DATA101~DATA200送出,因而导致用户端的电子装置不会回传ack 3。换句话说,尽管在此段时间足够传输部分数据DATA201~DATA300至用户端的电子装置,服务器端也不会将此部分数据DATA 201~DATA300送出,由此造成严重的延迟。

图6是根据另一范例实施例所绘示的备份系统的方块图,并且图7是根据另一范例实施例所绘示的代理服务器运作的示意图。

请参照图6,为了解决TCP的传输机制在具容错系统的虚拟机器架构下所造成大量的延迟,本发明的备份系统100更可配置有代理服务器600a,具体而言,第一服务器110可还包括超管理器(hypervisor)610,代理服务器600a与第一虚拟机器118会运行在超管理器610上,超管理器610是一种运行在实体主机(例如,第一服务器110)和操作系统之间的中间软件层,亦称为虚拟机器监视器(Virtual Machine Monitor,VMM)。例如,超管理器610会管理第一服务器110中的硬件资源,以适度分配硬件资源给第一虚拟机器118。举例而言,通过第一服务器110的操作系统可将第一服务器110中的CPU分配给第一虚拟机器118,以使第一虚拟机器118能够直接地利用所分配到的物理CPU来提供服务。此外,代理服务器600a为提供代理服务的计算机系统或其它类型的网络终端,其允许一个网络终端(例如,电子装置140)通过这个服务与另一个网络终端(例如,第一服务器110)进行非直接的连线。在本范例实施例中,代理服务器600a包括处理装置602、缓冲存储器604以及通信装置606。类似地,处理装置602用以控制代理服务器600a的整体运作,缓冲存储器604用以暂存用户端与服务器端(例如,第一服务器110)之间的传输数据,而代理服务器600a是通过通信装置606经由网络60与电子装置140建立网络连接,以及通过超管理器610与第一服务器110的第一虚拟机器118进行内部的数据传输。在此,网络60例如是符合无线保真度通信协议(Wireless Fidelity,Wi-Fi)标准的无线网络,然而,本发明并不限于此。例如,在另一实施例中,网络60可以是全球微波互通(Worldwide Interoperability for Microwave Access,WiMAX)网络或长期进化(Long Term Evolution,LTE)网络等各类型的无线网络。

在本范例实施例中,代理服务器600a会在备份尚未完成时代替用户端的 电子装置140响应确认讯息(ack)给服务器端的第一虚拟机器118,以使得第一虚拟机器118可提早把响应信息中每一部分的数据依序地送出至代理服务器600a,并且所述响应信息中每一部分的数据会先暂存在缓冲存储器604中。如此一来,当备份完成后,代理服务器600a便可用最快的速度将数据传给用户端的电子装置140。值得一提的是,第一服务器110与第二服务器120是通过另一独立的网络经由总线130互相传送需要处理或是需要存取的数据,由此可避免第一服务器110与第二服务器120之间的数据传输受到干扰。此外,在本范例实施例中,由于第二服务器120用以作为第一服务器110的备份服务器,因此,在一般状态下,第二服务器120不会被用来对用户端提供服务。当第一服务器110无法提供用户端服务,且由第二服务器120的第二虚拟机器128接替执行第一服务器110的第一虚拟机器118所运行的工作并提供用户端对应的服务时,第二服务器120才会开始与其代理服务器进行通信。例如,此时属于第二服务器120的代理服务器也可通过其通信装置经由网络60与电子装置140建立网络连接。

请参照图7,在第一虚拟机器118执行备份传输操作306的期间,当代理服务器600a从第一虚拟机器118接收到对应响应信息的一部分(亦称为第一部分)的数据DATA101~DATA200后,代理服务器600a会传送确认讯息ack3(亦称为第一确认讯息ack3)以响应此响应信息的第一部分。之后,第一虚拟机器118会在接收到第一确认讯息ack3后传送对应响应信息的另一部分(亦称为第二部分)的数据DATA201~DATA300至代理服务器600a,并且代理服务器600a会接着传送另一个确认讯息ack4(亦称为第二确认讯息)以响应此响应信息的第二部分。如此一来,在备份传输操作306完成后,代理服务器600a可将响应信息的第一部分(即,数据DATA101~DATA200)与响应信息的第二部分(即,数据DATA201~DATA300)一并地传送给电子装置140。也就是说,在完成备份后,代理服务器600a可一次性地将数据DATA101~DATA300送出,而不需要等待用户端的电子装置140回传第一确认讯息ack 3,如此便能减少将TCP传输机制应用于具容错系统的虚拟机器架构下所造成的大量延迟。

在本发明范例实施例中,由于代理服务器600a是用以在第一服务器110与第二服务器120的备份尚未完成时,代替用户端响应确认讯息给服务器端,且当服务器端的第一服务器110无法提供用户端服务时,可通过属于第二服务器120的代理服务器利用其通信装置经由网络60与电子装置140建立网络 连接以即时地接替执行第一服务器110所运行的工作并提供对应的服务。因此,在第一服务器110与第二服务器120之间的备份尚未完成的期间,第一服务器110的代理服务器600a需将其目前的数据传送状况通知给第二服务器120的代理服务器,以及将暂存在其缓冲存储器604中的数据备份至第二服务器120的代理服务器。

图8A~图8C与图9A~图9B是根据再一范例实施例所绘示的代理服务器运作的示意图。具体而言,图8A~图8C绘示为当服务器端向用户端传送对应用户端所提出的请求的数据时,第一服务器110的代理服务器600a与第二服务器120的代理服务器600b的运作情形;而图9A~图9B绘示为当用户端向服务器端传送数据时,第一服务器110的代理服务器600a与第二服务器120的代理服务器600b的运作情形。此外,为了方便说明,图8A~图8C与图9A~图9B中的第一服务器110与第二服务器120中仅绘示有第一虚拟机器118、代理服务器600a、第二虚拟机器128以及代理服务器600b。请先参照图8A,假设在代理服务器600a在接收到来自第一虚拟机器118的对应数据DATA201~DATA300的序列分组seq时,已由代理服务器600a传至电子装置140的数据仅有对应数据DATA1~DATA100的序列分组seq,则代理服务器600a会将目前的数据传送状况备份至第二服务器120的代理服务器600b。据此,代理服务器600b可得知代理服务器600a目前接收到对应数据DATA201~DATA300的序列分组seq,且已将对应数据DATA1~DATA100的序列分组seq传至电子装置140。

接着,请参照图8B与图8C,由于当代理服务器600a欲将数据DATA101~DATA300一次性地送出至电子装置140时,代理服务器600a是依序地将对应数据DATA101~DATA200的序列分组seq与对应数据DATA201~DATA300的序列分组seq传至电子装置140。因此,在图8B中,代理服务器600a会在传送对应数据DATA101~DATA200的序列分组seq之前,将数据DATA101~DATA300备份至代理服务器600b,例如,数据DATA101~DATA300会被存储至代理服务器600b的缓冲存储器中。如此一来,倘若在图8C中发生第一服务器110无法提供用户端服务的状况时,第二服务器120的代理服务器600b可根据数据传送状况从对应数据DATA101~DATA200的序列分组seq开始,依序地将对应数据DATA101~DATA200的序列分组seq与对应数据DATA201~DATA300的序列 分组seq传至电子装置140,以完成数据DATA101~DATA300的传送。

请参照图9A,在用户端向服务器端传送数据的例子中,当第一服务器110的代理服务器600a从电子装置140接收到对应数据DATA1~DATA100的序列分组seq后,代理服务器600a会先将对应数据DATA1~DATA100的序列分组seq备份至第二服务器120的代理服务器600b,例如,对应数据DATA1~DATA100的序列分组seq会被存储至代理服务器600b的缓冲存储器中。特别是,在第一服务器110的代理服务器600a将对应数据DATA1~DATA100的序列分组seq备份至第二服务器120的代理服务器600b的同时,会一并将对应数据DATA1~DATA100的序列分组seq传送至第一虚拟机器118。

接着,倘若在图9B中发生第一服务器110无法提供用户端服务的状况时,第一服务器110的第一虚拟机器118将无法对已成功收到的分组(即,对应数据DATA1~DATA100的序列分组seq)回传一个相应的确认讯息(ack)给电子装置140。由于电子装置140在合理的往返时间延迟内未收到确认讯息,因此,电子装置140会重新传送对应数据DATA1~DATA100的序列分组seq至第二服务器120,而第二服务器120的代理服务器600b会判断其缓冲存储器内已存储有对应数据DATA1~DATA100的序列分组seq而接替地执行第一服务器110的代理服务器600a所运行的工作。例如,代理服务器600b会回传对应数据DATA1~DATA100的序列分组seq的确认讯息给电子装置140,并将存储在其缓冲存储器的数据DATA1~DATA100传送给第二虚拟机器128。值得注意的是,倘若在图9B中并未发生第一服务器110无法提供用户端服务的状况,代理服务器600b并不需要将对应数据DATA1~DATA100的序列分组seq传送给第二虚拟机器128。

综上所述,本发明范例实施例的服务器备份方法及其备份系统可藉由预估所收集的更新分页的传输时间来动态地决定备份启动时间点,据此,可将延迟时间控制在特定的预期延迟时间内,进而有效地改善延迟敏感的工作负载需求因延迟时间过长而造成的服务中断,且提升用户的操作体验。此外,本发明范例实施例会配置独立的一个线程来执行备份传输操作,由此可确保对应更新分页的数据备份快照能在所估计的预估传输时间内被传送至另一虚拟机器。另一方面,本发明的备份系统更配置有代理服务器,其可在备份尚未完成时代替用户端的电子装置响应确认讯息给服务器端的虚拟机器,以减 少TCP传输机制在具容错系统的虚拟机器架构下所造成的大量延迟。

虽然本发明已以实施例公开如上,然其并非用以限定本发明,本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附权利要求书界定范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1