TWI584131B - 伺服器備份方法及其備份系統 - Google Patents
伺服器備份方法及其備份系統 Download PDFInfo
- Publication number
- TWI584131B TWI584131B TW104141993A TW104141993A TWI584131B TW I584131 B TWI584131 B TW I584131B TW 104141993 A TW104141993 A TW 104141993A TW 104141993 A TW104141993 A TW 104141993A TW I584131 B TWI584131 B TW I584131B
- Authority
- TW
- Taiwan
- Prior art keywords
- backup
- time
- snapshot
- data
- virtual machine
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Description
本揭露是有關於一種用於具有容錯機制之虛擬機器架構的伺服器備份方法,以及使用此方法的備份系統。
近年來,隨著網際網路的快速發展,以及雲端運算的興起,許多企業對於資訊服務的需求也越來越高,因此,具有高運算能力的虛擬機器(Virtual Machine, VM)被廣泛使用於各種解決方案。例如,透過網際網路結合運行有虛擬機器之大量的伺服器以形成高速運算與具備大量儲存能力的整合式電腦廣為各企業所使用。
為了避免因伺服器故障導致的停機或資料遺失所造成的重大損失,目前可透過虛擬機器容錯(Fault Tolerance, FT)機制,在正在提供服務之伺服器發生故障時,即時且無中斷地切換至另一台伺服器來提供服務。圖1繪示為虛擬機器容錯機制所造成之延遲時間的示意圖。請參照圖1,具體而言,具有容錯機制之虛擬機器的備份週期可分為四個階段:運行操作、備份快照操作、備份傳輸操作以及輸出操作,當在前三個階段的操作中接收到來自使用者的工作負載請求時,若有產生用以回應使用者的輸出時,則此些輸出會先被暫存於緩衝記憶體中,直到輸出操作的階段才會被一起輸出。也就是說,在虛擬機器容錯系統中,回應使用者之請求的所有輸出資訊必須在三個階段的備份流程完成後才會被釋放且傳送給使用者,如此一來,便會造成工作負載的需求所對應的回應資訊在虛擬機器容錯系統中會產生額外的延遲時間。據此,在面對延遲敏感的工作負載需求(例如,線上遊戲、即時交易)時,便無法保證系統回應時間,甚至造成斷線或交易失敗。基此,需要發展一套可以在虛擬機器容錯系統中控制延遲時間的方法,才能滿足此類工作負載的需求。
本揭露提供一種伺服器備份方法以及使用此方法的備份系統,其能夠有效地在具有容錯機制之虛擬機器架構中控制工作負載延遲時間。
本揭露的一範例實施例提出一種伺服器備份方法,本伺服器備份方法包括:在運行操作期間持續收集多個更新分頁,同時根據所收集的此些更新分頁的數量決定備份啟動時間點;根據所述備份啟動時間點暫停運行操作並執行備份快照操作以產生對應此些更新分頁的資料備份快照;以及執行一備份傳輸操作以傳送資料備份快照。
本揭露的一範例實施例提出一種備份系統,本備份系統括:第一伺服器與第二伺服器。第一伺服器用以運行第一虛擬機器,且第一虛擬機器在運行操作期間持續收集多個更新分頁,同時根據所收集的此些更新分頁的數量決定備份啟動時間點。第二伺服器用以運行第二虛擬機器,所述第二伺服器透過匯流排耦接至第一伺服器。第一虛擬機器根據所述備份啟動時間點暫停運行操作並執行備份快照操作以產生對應此些更新分頁的資料備份快照,以及執行備份傳輸操作以傳送資料備份快照至第二虛擬機器。
基於上述,本揭露之範例實施例所提出的伺服器備份方法及使用此方法的備份系統能夠根據所收集的更新分頁的數量與傳輸此些更新分頁的時間來動態地調整所收集的更新分頁的數量與決定備份啟動時間點,據此,可有效地控制虛擬機器之容錯機制所產生的延遲時間。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
為了能夠在具容錯機制的虛擬機器架構中控制工作負載的延遲時間,本揭露藉由動態地調整備份啟動時間點,由此達到將延遲時間控制在所設定的延遲範圍內。
圖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的期間持續收集多個更新分頁,同時根據所收集的此些更新分頁的數量決定備份啟動時間點T
。接著,在步驟S403中,第一虛擬機器118會根據此備份啟動時間點T
暫停運行操作302並執行備份快照操作304以產生對應更新分頁的資料備份快照,並且在步驟S405中,第一虛擬機器118會執行備份傳輸操作306以傳送資料備份快照至第二虛擬機器128,由此完成一個備份週期。倘若在備份週期的期間中,使用者在時間t
透過電子裝置140對第一虛擬機器118發出請求指令,則第一虛擬機器118會根據此請求指令執行處理操作以獲得對應此請求指令的回應資訊。在未使用容錯機制之虛擬機器的備份系統中,第一虛擬機器118在時間t
從電子裝置140接收到請求指令,並根據此請求指令執行處理操作以獲得對應請求指令的回應資訊後,可隨即地在時間t
將回應資訊傳送給至電子裝置140。反之,在使用容錯機制之虛擬機器的備份系統中,為確保所有更新分頁皆成功地備份至第二虛擬機器128,第一虛擬機器118會將此些回應資訊先暫存於緩衝記憶體114中,直到其執行完備份快照操作304與備份傳輸操作306之後,執行輸出操作308以在時間t
將回應資訊傳送給至電子裝置140。在此,由於時間t
到時間t
的回應時間為一固定值,因此,本範例實施例是將時間t
至時間t
的期間定義為延遲時間310。然而,本揭露並不限於此,例如,在另一範例實施例中,延遲時間310亦可以是時間t
到時間t
的期間。
本揭露即是將上述延遲時間310控制在一特定範圍內,由此可確保備份系統100之回應時間可滿足具延遲敏感的工作負載需求。具體而言,在本揭露範例實施例中,第一虛擬機器118會設定一預期延遲,並根據此預期延遲、運行操作302的運行時間T
、產生對應更新分頁的資料備份快照的快照時間T
與傳送資料備份快照的預估傳輸時間T
來決定備份啟動時間點T
,其中所決定的備份啟動時間點T
會使得運行時間T
、快照時間T
與傳輸時間T
的總和小於或等於所設定的預期延遲。
請參照圖4A與圖4B,更詳細地說,在步驟S401中,第一虛擬機器118會在收集到更新分頁的一個時間點,進入步驟S401-1中判斷運行操作302的運行時間T
、產生對應此些更新分頁的資料備份快照的快照時間T
與傳送此資料備份快照的預估傳輸時間T
的總時間是否小於所設定的預期延遲。倘若運行操作302的運行時間T
、產生對應此些更新分頁的資料備份快照的快照時間T
與傳送此資料備份快照的預估傳輸時間T
的總時間小於預期延遲時,第一虛擬機器118會在步驟S401-3中持續收集其他更新分頁,並在收集到更多更新分頁的另一時間點後,重新執行步驟S401-1。反之,倘若運行操作302的運行時間T
、產生對應此些更新分頁的資料備份快照的快照時間T
與傳送此資料備份快照的預估傳輸時間T
的總時間非小於預期延遲時,則第一虛擬機器118會在步驟S401-5中以此時間點作為備份啟動時間點,並接續地執行步驟S403。
在本範例實施例中,上述預估傳輸時間T
是根據此次備份週期所收集的更新分頁的資料量、前一次備份週期的先前更新分頁的傳輸量與傳輸此些先前更新分頁的時間來估算的。例如,第一虛擬機器118會根據多個先前更新分頁的傳輸量與傳輸此些更新分頁的時間計算備份傳輸速率,再根據此備份傳輸速率與在此次備份週期中所收集的更新分頁的資料量,來計算傳送資料備份快照的預估傳輸時間T
。
舉例而言,在第一虛擬機器118將預期延遲設為10毫秒的例子中,假設前一次備份週期的先前更新分頁的傳輸量為200個更新分頁且傳輸此200個先前更新分頁的時間為4毫秒,因此,第一虛擬機器118會得到備份傳輸速率為1毫秒可傳輸50個更新分頁。此外,為了方便說明,以下將對應備份快照操作304的快照時間T
假設為1毫秒。倘若目前第一虛擬機器118在運行操作302階段執行了2毫秒且收集了100個更新分頁,則第一虛擬機器118會判斷扣除快照時間T
(即,1毫秒),其還有7毫秒可以傳輸更新分頁,並且進一步根據備份傳輸速率計算出傳送此100個更新分頁僅需2毫秒。換言之,此時運行操作302的運行時間T
(即,2毫秒)、產生對應此些更新分頁的資料備份快照的快照時間T
(即,1毫秒)與傳送此資料備份快照的預估傳輸時間T
(即,2毫秒)的總時間(即,5毫秒)小於預期延遲(即,10毫秒),因此,第一虛擬機器118會持續收集其他更新分頁。接著,假設第一虛擬機器118又運行了4毫秒(即,共運行了6毫秒)且又收集了50個更新分頁(即,共收集了150個更新分頁),則第一虛擬機器118會判斷扣除快照時間T
(即,1毫秒),其還有3毫秒可以傳輸更新分頁,並且進一步根據備份傳輸速率計算出傳送此150個更新分頁需要3毫秒的時間。此時運行操作302的運行時間T
(即,6毫秒)、產生對應此些更新分頁的資料備份快照的快照時間T
(即,1毫秒)與傳送此資料備份快照的預估傳輸時間T
(即,3毫秒)的總時間(即,10毫秒)等於預期延遲(即,10毫秒),因此,第一虛擬機器118會以目前時間點(即,運行操作302運行6毫秒的時間點)作為備份啟動時間點T
。
在另一個例子中,第一虛擬機器118亦可在每產生一個更新分頁時,即判斷剩餘時間是否足以傳輸目前所收集的分頁,倘若目前第一虛擬機器118在運行操作302階段執行了7毫秒且收集了99個更新分頁,則第一虛擬機器118會判斷扣除快照時間T
(即,1毫秒),其還有2毫秒可以傳輸更新分頁,並且進一步根據備份傳輸速率計算出傳送此99個更新分頁需1.98毫秒。特別是,此時剩餘的2毫秒雖可傳送100個更新分頁,第一虛擬機器118會判斷若再繼續收集1個更新分頁,則剩餘的時間可能會小於2毫秒,顯然不夠傳送100個更新分頁。因此,第一虛擬機器118會將此時其運行的7毫秒的時間點作為備份啟動時間點T
。換言之,此時運行操作302的運行時間T
(即,7毫秒)、產生對應此些更新分頁的資料備份快照的快照時間T
(即,1毫秒)與傳送資料備份快照的預估傳輸時間T
(即,1.98毫秒)的總時間(即,9.98毫秒)會小於預期延遲(即,10毫秒)。
值得一提的是,在本範例實施例中,傳送此資料備份快照的預估傳輸時間T
是根據更新分頁的數目來估計,但本揭露不限於此。上述預估傳輸時間T
亦可更根據更新分頁的實際傳輸率(以下亦稱為壓縮率)來估計。例如,在本揭露另一範例實施例中,預估傳輸時間T
是根據此次備份週期所收集的更新分頁的資料量與此次備份週期所收集的更新分頁的壓縮率、前一次備份週期的先前更新分頁的傳輸量與傳輸此些先前更新分頁的時間來估算的。類似地,第一虛擬機器118亦會先根據多個先前更新分頁的傳輸量與傳輸此些更新分頁的時間計算備份傳輸速率。不同之處在於,在此範例實施例中,第一虛擬機器118會進一步地根據此次備份週期中所收集的更新分頁之中的至少部分更新分頁的資料量與至少部分更新分頁的實際傳輸量,計算對應此些更新分頁的壓縮率。換言之,壓縮率為所收集之更新分頁中實際被更新的資料量與所收集之更新分頁的數量的比例。接著,第一虛擬機器118會根據備份傳輸速率、更新分頁的資料量與此些更新分頁的壓縮率,計算傳送資料備份快照的預估傳輸時間T
。
在此假設第一虛擬機器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會判斷扣除快照時間T
(即,1毫秒),其還有3毫秒可以傳輸更新分頁,並且進一步根據此些更新分頁的壓縮率計算出傳送對應此450個更新分頁的實際更新的資料量為600k(即,150個更新分頁)並且根據備份傳輸速率計算出傳送此150個更新分頁需要3毫秒的時間。換言之,此時運行操作302的運行時間T
(即,6毫秒)、產生對應此些更新分頁的資料備份快照的快照時間T
(即,1毫秒)與傳送此資料備份快照的預估傳輸時間T
(即,3毫秒)的總時間(即,10毫秒)等於預期延遲(即,10毫秒),因此,第一虛擬機器118會以目前時間點(即,運行操作302運行6毫秒的時間點)作為備份啟動時間點T
。
特別是,當第一虛擬機器118所收集的30個更新分頁中,對應每10個更新分頁的壓縮率分別為30%、40%與50%時,則第一虛擬機器118會預測接下來所收集的每10個更新分頁的壓縮率會以此上升的趨勢增加。例如,第一虛擬機器118會預測接續收集的下10個更新分頁的壓縮率是60%。舉例而言,假設目前第一虛擬機器118在運行操作302階段執行了8毫秒且收集了70個更新分頁,則第一虛擬機器118會判斷扣除快照時間T
(即,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毫秒的時間點作為備份啟動時間點T
。換言之,此時運行操作302的運行時間T
(即,8毫秒)、產生對應此些更新分頁的資料備份快照的快照時間T
(即,1毫秒)與傳送此資料備份快照的預估傳輸時間T
(即,0.84毫秒)的總時間(即,9.84毫秒)會小於預期延遲(即,10毫秒)。此外,在另一範例實施例中,對應每10個更新分頁的壓縮率亦有可能是以下降的趨勢減少,例如,第一虛擬機器118所收集的30個更新分頁中,對應每10個更新分頁的壓縮率分別為50%、40%與30%。
特別是,當虛擬機器執行大量的輸入輸出工作時,例如,對磁碟寫入大檔案或是編譯核心等工作時,會造成備份傳輸時間無法預估,亦即,在備份傳輸操作306中傳輸資料備份快照的操作會受到其他輸入輸出工作的影響,而造成資料備份快照無法在所估測的預估傳輸時間T
內被傳送至另一虛擬機器。具體而言,虛擬機器管理軟體(Virtual Machine Manager)會將中斷程序分為兩個部份(half),即,上半部(top half)與下半部(bottom half)。上半部用以接收對應中斷請求的任務(task)並根據此些任務對下半部進行排程以將上述大量的輸入輸出工作排入下半部的排程序列。特別是,在下半部被執行時,由於中斷程序仍是開啟的,因此中央處理單元(CPU)仍然可以接受中斷請求,也就是說,下半部為可被中斷的排程序列。虛擬機器管理軟體將輸入輸出工作排入此序列是為了避免輸入輸出工作長時間佔據中央處理單元的運行,而導致其他重要的工作無法執行,然而,若將對應備份傳輸操作306的輸入輸出工作也排進此序列中,則會使得對應備份傳輸操作306的輸入輸出工作跟第一虛擬機器118上執行的其他輸入輸出工作會相互影響或者被中斷,由此導致備份傳輸的時間被拉長,進而造成整體的延遲時間無法控制。有鑑於此,在另一範例實施例中,第一虛擬機器118會更使用獨立的一個執行緒來執行備份傳輸操作306,以確保對應更新分頁的資料備份快照能在所估計的預估傳輸時間T
被傳送至第二虛擬機器128。例如,第一虛擬機器118會配置第一執行緒來運行備份傳輸操作306,以及配置第二執行緒來運行上述處理操作、運行操作302、備份快照操作304與輸出操作308,並且第一虛擬機器118會將第一執行緒的執行順序設定為優先於第二執行緒的執行順序。如此一來,可避免備份傳輸操作306中傳送對應更新分頁的資料備份快照的操作受到其他的輸入輸出工作的干擾而被中斷,且可確保對應更新分頁的資料備份快照能在所估計的預估傳輸時間T
被傳送至第二虛擬機器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傳輸機制在具容錯系統的虛擬機器架構下所造成的大量延遲。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何所屬技術領域中具有通常知識者,在不脫離本揭露的精神和範圍內,當可作些許的更動與潤飾,故本揭露的保護範圍當視後附的申請專利範圍所界定者為準。
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‧‧‧決定備份啟動時間點之方法的步驟
T bk ‧‧‧備份啟動時間點
T a ‧‧‧運行時間
T b ‧‧‧快照時間
T c ‧‧‧預估傳輸時間
t1、t2、t3‧‧‧時間
ack1、ack2、ack3、ack4‧‧‧確認訊息
seq‧‧‧序列封包
圖1繪示為虛擬機器容錯機制所造成之延遲時間的示意圖。 圖2A是根據一範例實施例所繪示之備份系統的架構圖。 圖2B是根據一範例實施例所繪示之備份系統的方塊圖。 圖3是根據一範例實施例所繪示之虛擬機器運作的示意圖。 圖4A是根據一範例實施例所繪示之伺服器備份方法的流程圖。 圖4B是根據一範例實施例所繪示之決定備份啟動時間點之方法的流程圖。 圖5A繪示為透過傳輸控制協定傳輸大量資料的示意圖。 圖5B繪示為透過傳輸控制協定傳輸大量資料的另一示意圖。 圖6是根據另一範例實施例所繪示之備份系統的方塊圖。 圖7是根據另一範例實施例所繪示之代理伺服器運作的示意圖。 圖8A~圖8C與圖9A~圖9B是根據再一範例實施例所繪示之代理伺服器運作的示意圖。
S401、S403、S405‧‧‧伺服器備份方法的步驟
Claims (18)
- 一種伺服器備份方法,該伺服器備份方法包括:在一運行操作期間持續收集多個更新分頁,同時根據所收集的該些更新分頁的數量決定一備份啟動時間點;根據該備份啟動時間點暫停該運行操作並執行一備份快照操作以產生對應該些更新分頁的一資料備份快照;執行一備份傳輸操作以傳送該資料備份快照;以及設定一預期延遲;其中在該運行操作期間持續收集多個更新分頁,同時根據所收集的該些更新分頁的資料決定該備份啟動時間點的步驟包括:根據該預期延遲、該運行操作的一運行時間、產生對應該些更新分頁的該資料備份快照的一快照時間與傳送該資料備份快照的一預估傳輸時間來決定該備份啟動時間點,其中該運行時間、該快照時間與該傳輸時間的總和非大於該預期延遲。
- 如申請專利範圍第1項所述的伺服器備份方法,其中根據該預期延遲、該運行操作的該運行時間、產生對應該些更新分頁的該資料備份快照的該快照時間與傳送該資料備份快照的該預估傳輸時間來決定該備份啟動時間點包括:在收集到該些更新分頁的一時間點,判斷該運行操作的該運行時間、產生對應該些更新分頁的該資料備份快照的該快照時間與傳送該資料備份快照的該預估傳輸時間的總時間是否小於該預 期延遲;倘若該運行操作的該運行時間、產生對應該些更新分頁的該資料備份快照的該快照時間與傳送該資料備份快照的該預估傳輸時間的總時間小於該預期延遲時,持續收集其他更新分頁;以及倘若該運行操作的該運行時間、產生對應該些更新分頁的該資料備份快照的該快照時間與傳送該資料備份快照的該預估傳輸時間的總時間非小於該預期延遲時,以該時間點作為該備份啟動時間點。
- 如申請專利範圍第1項所述的伺服器備份方法,更包括:根據多個先前更新分頁的傳輸量與傳輸該些更新分頁的時間計算一備份傳輸速率;以及根據該備份傳輸速率與該些更新分頁的資料量,計算傳送該資料備份快照的該預估傳輸時間。
- 如申請專利範圍第1項所述的伺服器備份方法,更包括:根據多個先前更新分頁的傳輸量與傳輸該些更新分頁的時間計算一備份傳輸速率;根據該些更新分頁之中的至少部分更新分頁的資料量與該至少部分更新分頁的實際傳輸量,計算對應該些更新分頁的一壓縮率;以及根據該備份傳輸速率、該些更新分頁的資料量與該些更新分分頁的壓縮率,計算傳送該資料備份快照的該預估傳輸時間。
- 如申請專利範圍第1項所述的伺服器備份方法,更包括: 從一電子裝置接收一請求指令,且根據該請求指令執行一處理操作以獲得對應該請求指令的一回應資訊;以及在執行該備份快照操作與該備份傳輸操作之後,執行一輸出操作以傳送該回應資訊至該電子裝置。
- 如申請專利範圍第5項所述的伺服器備份方法,更包括:配置一第一執行緒來運行該備份傳輸操作;以及配置一第二執行緒來運行該處理操作、該運行操作、該備份快照操作與該輸出操作,其中該第一執行緒的執行順序優先於該第二執行緒的執行順序。
- 如申請專利範圍第5項所述的伺服器備份方法,更包括:配置一代理伺服器;在執行該備份傳輸操作期間,傳送該回應資訊的一第一部分至該代理伺服器,其中該代理伺服器傳送一第一確認訊息以回應該回應資訊的第一部分;以及在接收到該第一確認訊息後傳送該回應資訊的一第二部分至該回應資訊至該代理伺服器,其中該代理伺服器傳送一第二確認訊息以回應該回應資訊的第二部分,其中在該備份傳輸操作完成後,該代理伺服器將該回應資訊的該第一部分與該回應資訊的該第二部分傳送給該電子裝置。
- 如申請專利範圍第1項所述的伺服器備份方法,更包括:在完成該備份快照操作後,回復執行該運行操作。
- 一種備份系統,包括:一第一伺服器,用以運行一第一虛擬機器,其中該第一虛擬機器在一運行操作期間持續收集多個更新分頁,同時根據所收集的該些更新分頁的數量決定一備份啟動時間點;以及一第二伺服器,用以運行一第二虛擬機器,該第二伺服器透過一匯流排耦接至該第一伺服器,其中該第一虛擬機器更用以根據該備份啟動時間點暫停該運行操作並執行一備份快照操作以產生對應該些更新分頁的一資料備份快照,以及執行一備份傳輸操作以傳送該資料備份快照至該第二虛擬機器,其中該第一虛擬機器更用以設定一預期延遲,以及根據該預期延遲、該運行操作的一運行時間、產生對應該些更新分頁的該資料備份快照的一快照時間與傳送該資料備份快照的一預估傳輸時間來決定該備份啟動時間點,其中該運行時間、該快照時間與該傳輸時間的總和非大於該預期延遲。
- 如申請專利範圍第9項所述的備份系統,其中該第一虛擬機器更用以在收集到該些更新分頁的一時間點,判斷該運行操作的該運行時間、產生對應該些更新分頁的該資料備份快照的該快照時間與傳送該資料備份快照的該預估傳輸時間的總時間是否小於該預期延遲,其中倘若該運行操作的該運行時間、產生對應該些更新分頁 的該資料備份快照的該快照時間與傳送該資料備份快照的該預估傳輸時間的總時間小於該預期延遲時,該第一虛擬機器更用以持續收集其他更新分頁,其中倘若該運行操作的該運行時間、產生對應該些更新分頁的該資料備份快照的該快照時間與傳送該資料備份快照的該預估傳輸時間的總時間非小於該預期延遲時,該第一虛擬機器以該時間點作為該備份啟動時間點。
- 如申請專利範圍第9項所述的備份系統,其中該第一虛擬機器更用以根據多個先前更新分頁的傳輸量與傳輸該些更新分頁的時間計算一備份傳輸速率,其中該第一虛擬機器更用以根據該備份傳輸速率與該些更新分頁的資料量,計算傳送該資料備份快照的該預估傳輸時間。
- 如申請專利範圍第9項所述的備份系統,其中該第一虛擬機器更用以根據多個先前更新分頁的傳輸量與傳輸該些更新分頁的時間計算一備份傳輸速率,其中該第一虛擬機器更用以根據該些更新分頁之中的至少部分更新分頁的資料量與該至少部分更新分頁的實際傳輸量,計算對應該些更新分頁的一壓縮率,其中該第一虛擬機器更用以根據該備份傳輸速率、該些更新分頁的資料量與該些更新分頁的壓縮率,計算傳送該資料備份快照的該預估傳輸時間。
- 如申請專利範圍第9項所述的備份系統,其中該第一虛擬機器更用以從一電子裝置接收一請求指令,且根據該請求指令執行一處理操作以獲得對應該請求指令的一回應資訊,其中該第一虛擬機器更用以在執行該備份快照操作與該備份傳輸操作之後,執行一輸出操作以傳送該回應資訊至該電子裝置。
- 如申請專利範圍第13項所述的備份系統,其中該第一虛擬機器更用以配置一第一執行緒來運行該備份傳輸操作,以及配置一第二執行緒來運行該處理操作、該運行操作、該備份快照操作與該輸出操作,其中該第一執行緒的執行順序優先於該第二執行緒的執行順序。
- 如申請專利範圍第13項所述的備份系統,更包括一代理伺服器,其中該第一虛擬機器更用以在執行該備份傳輸操作期間,傳送該回應資訊的一第一部分至該代理伺服器,其中該代理伺服器傳送一第一確認訊息以回應該回應資訊的第一部分,其中該第一虛擬機器更用以在接收到該第一確認訊息後傳送該回應資訊的一第二部分至該代理伺服器,其中該代理伺服器傳送一第二確認訊息以回應該回應資訊的第二部分,其中在該備份傳輸操作完成後,該代理伺服器將該回應資訊的該第一部分與該回應資訊的該第二部分傳送給該電子裝置。
- 如申請專利範圍第13項所述的備份系統,更包括一第三伺服器,用以運行一第三虛擬機器,該第三伺服器透過該匯流排耦接至該第二伺服器,其中該第二虛擬機器用以在該第一伺服器無法提供服務時,根據該請求指令執行該處理操作以獲得對應該請求指令的該回應資訊,其中該第二虛擬機器更用以執行該備份快照操作與該備份傳輸操作以傳送該資料備份快照至該第三虛擬機器,且在執行該備份快照操作與該備份傳輸操作之後,執行該輸出操作以傳送該回應資訊至該電子裝置。
- 如申請專利範圍第9項所述的備份系統,其中該第一虛擬機器更用以在完成該備份快照操作後,回復執行該運行操作。
- 如申請專利範圍第9項所述的備份系統,其中該匯流排符合一高速周邊零件連接介面標準。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104141993A TWI584131B (zh) | 2015-12-14 | 2015-12-14 | 伺服器備份方法及其備份系統 |
CN201511010929.3A CN106874143B (zh) | 2015-12-14 | 2015-12-29 | 服务器备份方法及其备份系统 |
US14/983,540 US9778997B2 (en) | 2015-12-14 | 2015-12-30 | Server backup method and backup system using the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW104141993A TWI584131B (zh) | 2015-12-14 | 2015-12-14 | 伺服器備份方法及其備份系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI584131B true TWI584131B (zh) | 2017-05-21 |
TW201721458A TW201721458A (zh) | 2017-06-16 |
Family
ID=59020788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104141993A TWI584131B (zh) | 2015-12-14 | 2015-12-14 | 伺服器備份方法及其備份系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9778997B2 (zh) |
CN (1) | CN106874143B (zh) |
TW (1) | TWI584131B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI624757B (zh) * | 2017-05-24 | 2018-05-21 | 財團法人工業技術研究院 | 資料處理方法、資料處理系統與電腦程式產品 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11023330B2 (en) * | 2016-09-02 | 2021-06-01 | Vmware, Inc. | Efficient scheduling of backups for cloud computing systems |
US10802924B2 (en) * | 2017-07-25 | 2020-10-13 | Sap Se | Asynchronous session storing |
CN116828078A (zh) * | 2018-01-04 | 2023-09-29 | 纳米格有限公司 | 分层数据网络中的传输方法 |
US10693753B2 (en) * | 2018-05-31 | 2020-06-23 | Hewlett Packard Enterprise Development Lp | Network device snapshots |
TWI685748B (zh) * | 2018-11-19 | 2020-02-21 | 神雲科技股份有限公司 | 硬碟控制系統 |
TWI721355B (zh) * | 2019-01-08 | 2021-03-11 | 資易國際股份有限公司 | 高可用度資料庫系統 |
CN111143323B (zh) * | 2019-12-02 | 2022-04-08 | 新华三大数据技术有限公司 | Mpp数据库管理方法、装置及系统 |
US11409619B2 (en) | 2020-04-29 | 2022-08-09 | The Research Foundation For The State University Of New York | Recovering a virtual machine after failure of post-copy live migration |
CN113127151B (zh) * | 2021-03-25 | 2023-03-21 | 山东英信计算机技术有限公司 | 一种虚拟化环境中数据的实时复制方法、系统及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070033356A1 (en) * | 2005-08-03 | 2007-02-08 | Boris Erlikhman | System for Enabling Secure and Automatic Data Backup and Instant Recovery |
US8074035B1 (en) * | 2003-07-22 | 2011-12-06 | Acronis, Inc. | System and method for using multivolume snapshots for online data backup |
US8429359B1 (en) * | 2004-12-31 | 2013-04-23 | Symantec Operating Corporation | Method and apparatus for dynamically backing up database files |
TWI438689B (zh) * | 2006-04-17 | 2014-05-21 | Microsoft Corp | 用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品 |
TWI509426B (zh) * | 2014-09-17 | 2015-11-21 | Prophetstor Data Services Inc | 用於達成無干擾性資料重建的系統 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779295B1 (en) | 2005-06-28 | 2010-08-17 | Symantec Operating Corporation | Method and apparatus for creating and using persistent images of distributed shared memory segments and in-memory checkpoints |
JP2009080670A (ja) | 2007-09-26 | 2009-04-16 | Hitachi Ltd | ストレージ装置、計算機システム及びバックアップ管理方法 |
US8225109B1 (en) * | 2008-04-30 | 2012-07-17 | Netapp, Inc. | Method and apparatus for generating a compressed and encrypted baseline backup |
US8769048B2 (en) | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
US8499297B2 (en) | 2008-10-28 | 2013-07-30 | Vmware, Inc. | Low overhead fault tolerance through hybrid checkpointing and replay |
CN101777016B (zh) * | 2010-02-08 | 2012-04-25 | 北京同有飞骥科技股份有限公司 | 一种连续数据保护系统的快照存储和数据恢复方法 |
US9632875B2 (en) * | 2010-10-06 | 2017-04-25 | International Business Machines Corporation | Automated and self-adjusting data protection driven by business and data activity events |
CN102263687A (zh) | 2011-08-11 | 2011-11-30 | 武汉思为同飞网络技术有限公司 | 广域网vpn加速网关及其加速通信系统和方法 |
US20140052848A1 (en) | 2012-08-16 | 2014-02-20 | Data Accelerator Ltd. | Latency virtualization |
US8983961B2 (en) | 2012-11-29 | 2015-03-17 | International Business Machines Corporation | High availability for cloud servers |
EP2962203A4 (en) * | 2013-02-27 | 2016-11-09 | Hewlett Packard Entpr Dev Lp | SELECTING A TYPE OF BACKUP BASED ON MODIFIED DATA |
CN104636375B (zh) * | 2013-11-12 | 2019-05-07 | 中兴通讯股份有限公司 | 一种自动备份应用数据且按需恢复的方法及装置 |
CN103810060A (zh) * | 2013-11-21 | 2014-05-21 | 北京奇虎科技有限公司 | 基于分布式数据库的数据备份方法及其系统 |
CN103713972B (zh) * | 2014-01-02 | 2017-03-08 | 浪潮(北京)电子信息产业有限公司 | 一种增量备份系统和方法 |
-
2015
- 2015-12-14 TW TW104141993A patent/TWI584131B/zh active
- 2015-12-29 CN CN201511010929.3A patent/CN106874143B/zh active Active
- 2015-12-30 US US14/983,540 patent/US9778997B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074035B1 (en) * | 2003-07-22 | 2011-12-06 | Acronis, Inc. | System and method for using multivolume snapshots for online data backup |
US8429359B1 (en) * | 2004-12-31 | 2013-04-23 | Symantec Operating Corporation | Method and apparatus for dynamically backing up database files |
US20070033356A1 (en) * | 2005-08-03 | 2007-02-08 | Boris Erlikhman | System for Enabling Secure and Automatic Data Backup and Instant Recovery |
TWI438689B (zh) * | 2006-04-17 | 2014-05-21 | Microsoft Corp | 用於建立虛擬機器之主機層級應用程式一致備份之方法及電腦程式產品 |
TWI509426B (zh) * | 2014-09-17 | 2015-11-21 | Prophetstor Data Services Inc | 用於達成無干擾性資料重建的系統 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI624757B (zh) * | 2017-05-24 | 2018-05-21 | 財團法人工業技術研究院 | 資料處理方法、資料處理系統與電腦程式產品 |
US10467106B2 (en) | 2017-05-24 | 2019-11-05 | Industrial Technology Research Institute | Data processing method, data processing system, and non-transitory computer program product for controlling a workload delay time |
Also Published As
Publication number | Publication date |
---|---|
CN106874143A8 (zh) | 2017-08-29 |
CN106874143A (zh) | 2017-06-20 |
TW201721458A (zh) | 2017-06-16 |
US20170168901A1 (en) | 2017-06-15 |
CN106874143B (zh) | 2020-01-07 |
US9778997B2 (en) | 2017-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI584131B (zh) | 伺服器備份方法及其備份系統 | |
US10411953B2 (en) | Virtual machine fault tolerance method, apparatus, and system | |
US8873375B2 (en) | Method and system for fault tolerance and resilience for virtualized machines in a network | |
JP6257778B2 (ja) | 仮想ネットワークインターフェースカードの割込みの親和性結合のための方法、およびコンピュータデバイス | |
US9489230B1 (en) | Handling of virtual machine migration while performing clustering operations | |
TWI624757B (zh) | 資料處理方法、資料處理系統與電腦程式產品 | |
KR101781063B1 (ko) | 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치 | |
US8335813B2 (en) | Systems, methods, and protocols for process migration and group membership management | |
US20180018244A1 (en) | Node system, server apparatus, scaling control method, and program | |
JP6840099B2 (ja) | サービス提供システム、資源割り当て方法、及び資源割り当てプログラム | |
TW201218083A (en) | Resource affinity via dynamic reconfiguration for multi-queue network adapters | |
KR102523419B1 (ko) | 저장 장치에서 가속 커널들의 상태 모니터링 방법 및 이를 사용하는 저장 장치 | |
JP2017504261A (ja) | 動的チェックポインティングシステムおよび方法 | |
Deshpande et al. | Scatter-gather live migration of virtual machines | |
CN108965148A (zh) | 一种处理器及报文处理方法 | |
WO2019028682A1 (zh) | 一种多系统共享内存的管理方法及装置 | |
JP6711339B2 (ja) | 通信処理装置、プログラム、および通信処理方法 | |
JP2017503420A (ja) | パケットフロー制御方法、関連装置、及びコンピューティングノード | |
CN102917068A (zh) | 一种自适应大规模集群通信系统及其通信方法 | |
TWM432075U (en) | Monitoring device and monitoring system applicable to cloud algorithm | |
JP7331374B2 (ja) | リソース管理装置およびリソース管理方法 | |
JP7125601B2 (ja) | ライブマイグレーション制御プログラム及びライブマイグレーション制御方法 | |
TWI724670B (zh) | 容錯系統及其控制方法 | |
US8650433B2 (en) | Shared ethernet adapter (SEA) load sharing and SEA fail-over configuration as set by a user interface | |
US20180088955A1 (en) | Method and system for managing data access in storage system |