亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

實時更新的制作方法

文檔序號:6546844閱讀:212來源:國知局
實時更新的制作方法
【專利摘要】一種對實時計算機系統(tǒng)進行更新的方法及對應(yīng)的系統(tǒng)。方法開始于:在第一時間,將數(shù)據(jù)的副本從第一系統(tǒng)遷移到通信地耦合的第二系統(tǒng)。接下來,在一個或多個隨后的時間,將變化的數(shù)據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng)直到達到閾值。最后,響應(yīng)于達到閾值,將剩余的變化的數(shù)據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng)。方法的又一個實施例包括:在第一時間遷移數(shù)據(jù)期間,禁用對第一系統(tǒng)的訪問;在遷移變化的數(shù)據(jù)的副本期間,在一個或多個隨后的時間,啟用并保持對第一系統(tǒng)的訪問;以及,在遷移剩余的變化的數(shù)據(jù)的副本期間,禁用對第一系統(tǒng)的訪問。以這種方式,正在被更新的系統(tǒng)貫穿更新過程仍然是高度可用的。
【專利說明】實時更新

【背景技術(shù)】
[0001] 概括地說,本發(fā)明涉及計算機程序和系統(tǒng)領(lǐng)域,更具體地說,本發(fā)明涉及執(zhí)行系統(tǒng) 更新的領(lǐng)域。
[0002] 計算機程序和系統(tǒng)的出現(xiàn)極大地改變了商業(yè)進行的方式。已經(jīng)開發(fā)出了許多高級 和復(fù)雜的計算機系統(tǒng)來輔助商業(yè)和顧客。然而,這些系統(tǒng)并不保持停滯,并且這些系統(tǒng)通常 需要更新。


【發(fā)明內(nèi)容】

[0003] 根據(jù)本發(fā)明的實施例,一種方法和相應(yīng)的系統(tǒng)關(guān)注于更新計算機系統(tǒng)。本發(fā)明的 實施例開始于:在第一時間將數(shù)據(jù)的副本從第一計算(數(shù)據(jù)處理)系統(tǒng)遷移到通信地耦合 的第二計算(數(shù)據(jù)處理)系統(tǒng)。在該初始遷移之后,在一個或多個隨后的時間將變化的數(shù) 據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng),直到達到閾值。響應(yīng)于達到閾值,將剩余的變化的數(shù) 據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng)。
[0004] 本發(fā)明的實施例還可以包括:以未轉(zhuǎn)換的方式將遷移的數(shù)據(jù)的子集寫入第二系 統(tǒng)。換句話說,數(shù)據(jù)是以不需要轉(zhuǎn)換的方式寫入的。本發(fā)明的又一個實施例包括:以允許與 第二系統(tǒng)通信的方式來安裝一個或多個應(yīng)用。這樣的實施例還可以包括:使用由一個或多 個安裝的應(yīng)用提供的一個或多個各自處理程序轉(zhuǎn)換遷移的數(shù)據(jù)的子集,并且將轉(zhuǎn)換的數(shù)據(jù) 寫入第二系統(tǒng)。根據(jù)本發(fā)明的替代實施例,處理程序可以使用數(shù)據(jù)庫來跟蹤數(shù)據(jù)轉(zhuǎn)換。
[0005] 在本發(fā)明的實施例中,在第一時間遷移數(shù)據(jù)的副本期間,禁用對第一系統(tǒng)的訪問。 此外,在這樣的實施例中,當(dāng)變化的數(shù)據(jù)的副本正被從第一系統(tǒng)遷移到第二系統(tǒng)時,在一個 或多個隨后的時間,啟用并保持對第一系統(tǒng)的訪問。更進一步地,在剩余的變化的數(shù)據(jù)的副 本從第一系統(tǒng)遷移到第二系統(tǒng)期間,可以禁用對第一系統(tǒng)的訪問。
[0006] 根據(jù)本發(fā)明的實施例,第一系統(tǒng)和第二系統(tǒng)可以單向通信地耦合,從而使得第一 系統(tǒng)無法看到第二系統(tǒng)。本發(fā)明的實施例還可以包括:響應(yīng)于達到閾值,在將剩余的變化的 數(shù)據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng)之后,將一個或多個客戶端指向第二系統(tǒng)。在本發(fā) 明的又一個實施例中,在剩余的變化的數(shù)據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng)之后,刪除 第一系統(tǒng)。更進一步地,本發(fā)明的實施例可以包括:執(zhí)行第二系統(tǒng)的內(nèi)核更新。
[0007] 根據(jù)本發(fā)明的實施例,變化的數(shù)據(jù)是自數(shù)據(jù)從第一系統(tǒng)遷移到第二系統(tǒng)的先前時 間以來改變的數(shù)據(jù)以及添加到第一系統(tǒng)的數(shù)據(jù)。在本發(fā)明的又一個實施例中,閾值是在第 一系統(tǒng)上變化的數(shù)據(jù)的量。
[0008] 本發(fā)明的又一個實施例關(guān)注于一種更新系統(tǒng)。系統(tǒng)可以包括:第一系統(tǒng)、通信地耦 合到第一系統(tǒng)的第二系統(tǒng)、以及處理器。在這樣的實施例中,處理器可以被配置用來在第一 時間將數(shù)據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng)。處理器還可以被配置用來在一個或多個隨 后的時間遷移變化的數(shù)據(jù)的副本。該遷移可以進行直到達到閾值。響應(yīng)于達到閾值,處理 器可以被配置用來將剩余的變化的數(shù)據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng)。
[0009] 在系統(tǒng)的又一個實施例中,處理器被配置用來以未轉(zhuǎn)換的方式寫入遷移的數(shù)據(jù)的 子集。根據(jù)更新系統(tǒng)的另一個實施例,處理器被配置用來以允許與第二系統(tǒng)通信的方式來 安裝一個或多個應(yīng)用。在又一個實施例中,處理器被配置用來使用由一個或多個安裝的應(yīng) 用提供的一個或多個各自處理程序轉(zhuǎn)換遷移的數(shù)據(jù)的子集。在又一個實施例中,處理器還 被配置用來將轉(zhuǎn)換的數(shù)據(jù)寫入第二系統(tǒng)。
[0010] 在更新系統(tǒng)的又一個實施例中,處理器被配置用來在第一時間,在將數(shù)據(jù)的副本 從第一系統(tǒng)遷移到第二系統(tǒng)的同時,禁用對第一系統(tǒng)的訪問。處理器還可以被配置用來:當(dāng) 變化的數(shù)據(jù)的副本被遷移之后,在一個或多個隨后的時間,啟用并保持對第一系統(tǒng)的訪問。 更進一步地,根據(jù)本發(fā)明的實施例,處理器可以被配置用來:當(dāng)剩余的變化的數(shù)據(jù)的副本正 被從第一系統(tǒng)遷移到第二系統(tǒng)時,禁用對第一系統(tǒng)的訪問。
[0011] 根據(jù)更新系統(tǒng)的實施例,變化的數(shù)據(jù)是自數(shù)據(jù)從第一系統(tǒng)遷移到第二系統(tǒng)的先前 時間以來改變的數(shù)據(jù)以及添加到第一系統(tǒng)的數(shù)據(jù)。在本發(fā)明的替代實施例中,處理器被配 置用來將一個或多個客戶端指向第二系統(tǒng),并且在剩余的變化的數(shù)據(jù)的副本從第一系統(tǒng)遷 移到第二系統(tǒng)之后,刪除第一系統(tǒng)。
[0012] 本發(fā)明的又一個實施例關(guān)注于用于更新系統(tǒng)的裝置,該裝置包括:用于在第一時 間將數(shù)據(jù)的副本從第一系統(tǒng)遷移到通信地耦合的第二系統(tǒng)的模塊;用于在一個或多個隨后 的時間遷移變化的數(shù)據(jù)的副本的模塊,變化的數(shù)據(jù)被從第一系統(tǒng)遷移到第二系統(tǒng)直到達到 閾值;以及用于響應(yīng)于達到閾值將剩余的變化的數(shù)據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng)的 模塊。

【專利附圖】

【附圖說明】
[0013] 如在附圖中所示出的,根據(jù)下面對本發(fā)明的示例實施例的更加具體的描述,前述 內(nèi)容將是顯而易見的,其中附圖中相似的參考符號表示貫穿不同視圖中的相似的部件。附 圖不一定是按比例的,而是將重點放在示出本發(fā)明的實施例。
[0014] 圖1是描繪了根據(jù)本發(fā)明的原理更新系統(tǒng)的方法的流程圖。
[0015] 圖2是描繪了更新系統(tǒng)的方法的流程圖。
[0016] 圖3是根據(jù)本發(fā)明的實施例的更新系統(tǒng)的簡化圖。
[0017] 圖4是描繪了根據(jù)本發(fā)明的原理用于更新系統(tǒng)的方法的流程圖。
[0018] 圖5是示出根據(jù)本發(fā)明的實施例轉(zhuǎn)換數(shù)據(jù)的過程的簡化圖。
[0019] 圖6是可以用于本發(fā)明的實施例的計算機系統(tǒng)的框圖。
[0020] 圖7是可以在其中具體實現(xiàn)本發(fā)明的實施例的計算機系統(tǒng)的簡化圖。

【具體實施方式】
[0021] 企業(yè)計算機/軟件系統(tǒng)通常需要更新,以便包括例如進一步的產(chǎn)品特征的事物。 然而,執(zhí)行更新可能需要系統(tǒng)停機時間,因此使消費者無法使用系統(tǒng)。此外,系統(tǒng)停機時間 可能會使用戶不想更新系統(tǒng)。因此,本發(fā)明的實施例解決了更新現(xiàn)有企業(yè)軟件系統(tǒng)的需求, 并且最小化了系統(tǒng)的總體停機時間。除了其它原因之外,最小化由系統(tǒng)更新導(dǎo)致的停機時 間也是很重要的,以便滿足客戶期望和服務(wù)水平協(xié)議(SLA)。
[0022] 雖然更新時間可能不同,但它們通常與存儲在系統(tǒng)中的數(shù)據(jù)量相關(guān)。因此,隨著系 統(tǒng)使用的增加以及這樣的系統(tǒng)存儲更多的數(shù)據(jù),更新所需要的停機時間將很可能增加。
[0023] 本發(fā)明的實施例減少了由更新這些系統(tǒng)導(dǎo)致的停機時間。雖然貫穿本申請使用了 術(shù)語"數(shù)據(jù)",但"數(shù)據(jù)"可以指僅是定義的數(shù)據(jù)單元的對象。此外,如貫穿本申請所參考的 "數(shù)據(jù)"可以指的是對象的結(jié)構(gòu)。例如,數(shù)據(jù)可以包括給定的對象可以存儲的各種屬性。數(shù) 據(jù)(對象)的結(jié)構(gòu)可以一般指的是元數(shù)據(jù),即關(guān)于數(shù)據(jù)的數(shù)據(jù)。在企業(yè)系統(tǒng)中,可能存在各 種各樣的數(shù)據(jù)結(jié)構(gòu),并且時常地更新系統(tǒng)可能涉及改變這些數(shù)據(jù)結(jié)構(gòu)或添加全新的數(shù)據(jù)結(jié) 構(gòu)。使系統(tǒng)更新進一步復(fù)雜化的事實是:這些變化可能是以逐客戶端為基礎(chǔ)進行的,這可能 導(dǎo)致需要為每個客戶端定制更新過程。
[0024] 本發(fā)明的實施例解決了更新元數(shù)據(jù)系統(tǒng)的問題。在復(fù)雜的元數(shù)據(jù)系統(tǒng)中,數(shù)據(jù)彼 此之間的關(guān)系是由可以從一個版本改變到另一個版本的高度復(fù)雜的結(jié)構(gòu)管理的。數(shù)據(jù)結(jié)構(gòu) 復(fù)雜度由對復(fù)雜的物理和邏輯數(shù)據(jù)進行建模的需求所指定。這些結(jié)構(gòu)的變化通常是由于不 斷演變的建模需求和性能考慮。本發(fā)明的實施例允許更新這些結(jié)構(gòu)同時最小化系統(tǒng)停機時 間。
[0025] 下面是對本發(fā)明的示例實施例的描述。
[0026] 圖1是用于更新基于計算機的系統(tǒng)的方法100的流程圖。方法100開始于:在第 一時間,將數(shù)據(jù)的副本從第一系統(tǒng)遷移到通信地耦合的第二系統(tǒng)(102)。第一系統(tǒng)和第二系 統(tǒng)可以是本領(lǐng)域已知的任何計算系統(tǒng)或基于計算機的系統(tǒng)(例如企業(yè)軟件系統(tǒng))??梢允?用本領(lǐng)域已知的任何方法從第一系統(tǒng)復(fù)制數(shù)據(jù),例如使用由與被配置用來運行更新的處理 器運行的操作系統(tǒng)相關(guān)聯(lián)的文件系統(tǒng)提供的"捕捉(snap)"工具。第一系統(tǒng)和第二系統(tǒng)可 以以任何各種方式通信地耦合,例如利用超文本傳輸協(xié)議(HTTP)或安全HTTP (HTTPS)協(xié)議 經(jīng)由局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)連接。
[0027] 在第一時間遷移數(shù)據(jù)的副本之后,在一個或多個隨后的時間,變化的數(shù)據(jù)的副本 被從第一系統(tǒng)遷移到第二系統(tǒng),直到達到閾值(104)。例如,根據(jù)方法100的實施例,在對數(shù) 據(jù)進行初始復(fù)制和遷移之后,該方法繼續(xù)將正在變化的或者正在被添加到第一系統(tǒng)的數(shù)據(jù) 遷移到第二系統(tǒng)。因為該過程可以在延伸的時間段上發(fā)生,因此可能多次發(fā)生對變化的數(shù) 據(jù)的遷移。如上所述,對變化的數(shù)據(jù)的遷移過程繼續(xù)進行直到達到閾值。
[0028] 在本發(fā)明的實施例中,閾值指的是第一系統(tǒng)上變化的數(shù)據(jù)的量??梢曰谌魏螖?shù) 量的因素來設(shè)定該閾值,包括變化的數(shù)據(jù)的歷史量。此外,閾值還可以指的是更新過程的經(jīng) 過時間和/或該過程發(fā)生的當(dāng)天時間。例如,如果系統(tǒng)必須在某個時間前更新,那么該過程 可以繼續(xù)直到達到完成更新所必要的時間。此外,以非高峰時段和高峰時段的形式定義閾 值是有利的。為了說明,第一系統(tǒng)中的數(shù)據(jù)的變化有可能是用戶的結(jié)果,可以假定在非高峰 時段期間有利用第一系統(tǒng)的幾個用戶,因此可能在這些非高峰時間達到閾值。此外,可以將 閾值定義為所描述的因素和/或本領(lǐng)域內(nèi)已知的任何其它考慮的組合。
[0029] 響應(yīng)于達到閾值,方法100的下一個步驟為:將剩余的變化的數(shù)據(jù)的副本從第一 系統(tǒng)遷移到第二系統(tǒng)(106)。在遷移剩余的變化的數(shù)據(jù)(106)之后,來自第一系統(tǒng)的所有數(shù) 據(jù)應(yīng)該被遷移到第二系統(tǒng)。
[0030] 圖2是描繪了更新系統(tǒng)的方法200的流程圖。方法200示出了用于更新實時系統(tǒng) 的方法100的實施例的細節(jié)。方法200以一系列步驟202開始201。如上面結(jié)合圖1所描 述的,這些步驟202可以體現(xiàn)方法100的步驟102。雖然方法200以最小化停機時間的方式 來更新系統(tǒng),但方法200的實施例確實會對正在更新的系統(tǒng)造成一些停機時間。
[0031] 方法200開始于禁用對第一系統(tǒng)的訪問并且將數(shù)據(jù)的副本從第一系統(tǒng)遷移到第 二系統(tǒng)(202a)。在遷移數(shù)據(jù)的副本的同時,可以轉(zhuǎn)換該數(shù)據(jù)的一個或多個子集(202b)。在 本發(fā)明的實施例中,將僅對需要轉(zhuǎn)換的數(shù)據(jù)進行轉(zhuǎn)換,對其它數(shù)據(jù)進行遷移而不進行轉(zhuǎn)換。 在對數(shù)據(jù)進行轉(zhuǎn)換(202b)之后,將轉(zhuǎn)換的數(shù)據(jù)和未轉(zhuǎn)換的數(shù)據(jù)寫入第二系統(tǒng)(202c)。轉(zhuǎn)換 的細節(jié)和過程在下文中結(jié)合圖5來描述。在該時間,啟用對第一系統(tǒng)的訪問(202c)。方法 200的子過程202將第一系統(tǒng)的停機時間限制為第一系統(tǒng)上的數(shù)據(jù)的初始復(fù)制。在初始復(fù) 制之后,啟用對第一系統(tǒng)的訪問。因此,在執(zhí)行系統(tǒng)更新的同時,用戶體驗的是高度可用的 系統(tǒng)。
[0032] 在遷移、轉(zhuǎn)換、以及將數(shù)據(jù)從第一系統(tǒng)寫入第二系統(tǒng)(202)之后,方法200的下一 步是:將變化的數(shù)據(jù)的副本從第一系統(tǒng)遷移到第二系統(tǒng),如果必要的話則轉(zhuǎn)換該數(shù)據(jù)的子 集,并且將變化的數(shù)據(jù)寫入第二系統(tǒng)(204)。步驟204發(fā)生在步驟202之后的時間。如上所 述,因為在步驟202c處,在數(shù)據(jù)的初始遷移之后啟用了對第一系統(tǒng)的訪問,所以新的數(shù)據(jù) 有可能添加到第一系統(tǒng),并且存在于第一系統(tǒng)的數(shù)據(jù)有可能被改變。第一系統(tǒng)上的數(shù)據(jù)的 這些變化必須反映在第二系統(tǒng)中。因此,在步驟204處,在隨后的時間,變化的數(shù)據(jù)被復(fù)制、 遷移、在必要的情況下轉(zhuǎn)換、以及寫入第二系統(tǒng)。
[0033] 在將變化的數(shù)據(jù)復(fù)制、遷移、轉(zhuǎn)換、以及寫入第二系統(tǒng)(204)之后,方法200中的下 一步驟是判定是否滿足閾值(205)。閾值是判定過程200在該處應(yīng)該完成更新的點??梢?以本領(lǐng)域已知的任何方式來定義閾值。在方法200的示例實施例中,閾值是在第一系統(tǒng)上 變化的數(shù)據(jù)的量。如果在檢查閾值(205)之后判定不滿足閾值,那么方法200返回到步驟 204,在步驟204處,第一系統(tǒng)上的變化的數(shù)據(jù)被復(fù)制、遷移、轉(zhuǎn)換、以及寫入第二系統(tǒng)。復(fù) 制、遷移、轉(zhuǎn)換、以及寫入(204)、以及檢查閾值(205)的這種循環(huán)繼續(xù)直到達到閾值。
[0034] 響應(yīng)于達到閾值,禁用對第一系統(tǒng)的訪問,并且將剩余的變化的數(shù)據(jù)從第一系統(tǒng) 遷移、轉(zhuǎn)換、以及寫入至第二系統(tǒng)(206)。此時,第二系統(tǒng)包括第一系統(tǒng)上的最新的數(shù)據(jù)。在 遷移剩余的變化的數(shù)據(jù)(206)之后,啟用訪問并將客戶端指到第二系統(tǒng)(207),方法200結(jié) 束(208)。
[0035] 以這種方式,方法200使用如上的迭代過程通過創(chuàng)建并更新第一系統(tǒng)的鏡像來更 新第一系統(tǒng)。方法200提供了以有限的停機時間更新系統(tǒng)的方式。如上所述,根據(jù)方法200 的實施例,僅在初始遷移202、以及遷移剩余的變化的數(shù)據(jù)的最終階段期間,禁用對第一系 統(tǒng)的訪問(206)。
[0036] 圖3是根據(jù)本發(fā)明的實施例的更新系統(tǒng)320的簡化圖。更新系統(tǒng)包括處理器326。 處理器326被配置用來利用更新系統(tǒng)320的各種部件來執(zhí)行系統(tǒng)更新。系統(tǒng)320進一步包 括應(yīng)用和開發(fā)工具套件(ADK) 323。ADK323可以具體實現(xiàn)為硬件、軟件、和/或它們的組合, 并且可以用作與系統(tǒng)320的應(yīng)用程序接口(API)。在本發(fā)明的實施例中,ADK323由處理器 326執(zhí)行。根據(jù)本發(fā)明的實施例,ADK323在資產(chǎn)庫文件中傳遞,這些文件是本領(lǐng)域內(nèi)已知的 任何格式,例如Java Archive (JAR)格式。根據(jù)系統(tǒng)320的實施例,ADK323允許用戶和管 理員與系統(tǒng)320交互。如下面將進一步詳細解釋的,ADK324可以被由系統(tǒng)320和/或耦合 到系統(tǒng)320的各種應(yīng)用325a-n提供的處理程序使用,并且由處理器326執(zhí)行,以便執(zhí)行針 對待更新系統(tǒng)321的查詢。這些查詢可以是關(guān)于待更新系統(tǒng)321(N系統(tǒng))上的已變化的數(shù) 據(jù)的查詢。
[0037] 進一步耦合到處理器326的是應(yīng)用325a_n。任何數(shù)量的應(yīng)用325a_n可以耦合到 處理器326。應(yīng)用325a-n可以由處理器326執(zhí)行,并對用戶可用。示例應(yīng)用包括計算機輔 助設(shè)計(CAD)應(yīng)用、計算機輔助工程(CAE)應(yīng)用、和/或其它應(yīng)用建模工具。在本發(fā)明的實 施例中,應(yīng)用325a-n提供各種處理程序。如同將在下文中詳細描述的,各種處理程序可以 由處理器326執(zhí)行,并且被配置用來轉(zhuǎn)換來自待更新系統(tǒng)321的數(shù)據(jù)。
[0038] 耦合到處理器326的應(yīng)用325a-n和ADK323是更新模塊324。更新模塊324可以 具體實現(xiàn)為硬件、軟件、和/或它們的組合。更新模塊324可以由處理器326整體或部分執(zhí) 行。在本發(fā)明的實施例中,更新模塊324被配置用來改變定義管理各種應(yīng)用程序325a-n的 數(shù)據(jù)模型(模式)的管理定義。這些管理定義指的是應(yīng)用325a-n的各種模式的數(shù)據(jù)結(jié)構(gòu) 的定義。貫穿本申請,術(shù)語模型、模式、以及元數(shù)據(jù)可以互換使用來指關(guān)于數(shù)據(jù)的數(shù)據(jù),即描 述如由各種應(yīng)用325a-n使用的數(shù)據(jù)的結(jié)構(gòu)的數(shù)據(jù)。
[0039] 如本文中所描述的,更新模塊324可以被配置用來具體實現(xiàn)方法200、300和/或 400。更新模塊324可以被配置用來在各個系統(tǒng)級別上執(zhí)行更新。例如,更新模塊324可以 執(zhí)行內(nèi)核更新,所述內(nèi)核更新可以包括改變數(shù)據(jù)庫級別的定義,即數(shù)據(jù)庫模式。更新模塊 324還可以被配置用來執(zhí)行內(nèi)核平臺級別的改變,這包括改變數(shù)據(jù)是如何組織的。此外,更 新模塊324可以改變應(yīng)用級別定義。應(yīng)用級別的改變可以很簡單,比如向現(xiàn)有對象添加額 外數(shù)據(jù)(例如向類型添加屬性),或者它們可以包括改變數(shù)據(jù)是如何組織的結(jié)構(gòu)。如本文中 所描述的,當(dāng)改變數(shù)據(jù)的結(jié)構(gòu)時,由各個應(yīng)用325a-n提供的處理程序可以用于轉(zhuǎn)換來自原 始的N系統(tǒng)321的數(shù)據(jù),并將其提供給N+1系統(tǒng)322。
[0040] 更新系統(tǒng)320還包括數(shù)據(jù)庫327,其可以被稱為TagDB。數(shù)據(jù)庫327通信地耦合到 更新模塊324和處理器326。根據(jù)本發(fā)明的實施例,數(shù)據(jù)庫327由處理器326、更新模塊324、 應(yīng)用325a-n、以及應(yīng)用325a-n提供的各自處理程序使用,以跟蹤對來自待更新系統(tǒng)321的 數(shù)據(jù)進行轉(zhuǎn)換的過程。數(shù)據(jù)庫327可以是本領(lǐng)域內(nèi)已知的任何數(shù)據(jù)庫,并且可以以促進更 新待更新系統(tǒng)321的過程的任何方式來構(gòu)建。例如,在本發(fā)明的實施例中,數(shù)據(jù)庫327是 "不僅是結(jié)構(gòu)化查詢語言"(NoSQL)類型的數(shù)據(jù)庫。
[0041] 更新系統(tǒng)320還包括初始系統(tǒng),S卩,待更新系統(tǒng)321,其貫穿本申請可以被稱為"N 系統(tǒng)"。待更新系統(tǒng)321包括由應(yīng)用325a-n使用的、促進用戶對應(yīng)用325a-n的使用和/或 由于用戶對應(yīng)用325a-n的使用而產(chǎn)生的各種數(shù)據(jù)。例如,如果給定的應(yīng)用325a是CAD應(yīng) 用,那么系統(tǒng)321可以包括定義由用戶通過使用應(yīng)用325a而生成的CAD模型的數(shù)據(jù)。N系 統(tǒng)321會把該數(shù)據(jù)存儲在被稱為應(yīng)用325a的元數(shù)據(jù)的特定結(jié)構(gòu)中,其由應(yīng)用325a的特定 模式管理。
[0042] 通信地耦合到系統(tǒng)321的是系統(tǒng)322,其將是所得到的更新的系統(tǒng)。系統(tǒng)321和 322通信地耦合到處理器326。系統(tǒng)321和322可以通過使用各種模塊(包括更新模塊324 和ADK模塊323)來訪問,以便根據(jù)本發(fā)明的原理來執(zhí)行系統(tǒng)更新。此外,系統(tǒng)321和322 可以單向通信地耦合,從而第一系統(tǒng)321無法看到第二系統(tǒng)322,或者反之亦然。
[0043] 下文中描述的是示例性使用系統(tǒng)320更新系統(tǒng)321。利用更新系統(tǒng)320對系統(tǒng)321 進行更新的示例方法可以以任何數(shù)量的初始設(shè)置過程開始。一種這樣的過程可以包括:禁 用待更新系統(tǒng)321上的管理變化。管理變化可以指的是元數(shù)據(jù),即描述存儲在系統(tǒng)321上 的數(shù)據(jù)的結(jié)構(gòu)的規(guī)則。管理變化的能力在貫穿更新過程中可以停止。然而,在貫穿更新過 程中,可以仍然允許創(chuàng)建"即時數(shù)據(jù)"的能力。"即時數(shù)據(jù)"可以指被改變的和新的數(shù)據(jù),但 不是由新的數(shù)據(jù)結(jié)構(gòu)定義的數(shù)據(jù),因為在貫穿更新過程中,可以禁用數(shù)據(jù)結(jié)構(gòu)的變化。
[0044] 其它初始過程包括:配置N+1系統(tǒng)322以連接回N系統(tǒng)321。該連接可以以本領(lǐng)域 已知的任何方式來實現(xiàn),包括通過使用HTTP (超文本傳輸協(xié)議)和/或HTTPS (安全HTTPS) 協(xié)議。初始過程還可以包括:將數(shù)據(jù)從N系統(tǒng)321復(fù)制到N+1系統(tǒng)322。可以使用本領(lǐng)域 已知的任何方法來復(fù)制該數(shù)據(jù),包括使用文件系統(tǒng)"捕捉"工具??梢允鞘褂酶孪到y(tǒng)320 對系統(tǒng)321進行更新的方法的一部分的另一個初始過程可以包括在N+1系統(tǒng)322上執(zhí)行內(nèi) 核更新。
[0045] 此外,初始過程可以包括:使用應(yīng)用325a_n的模式更新來安裝應(yīng)用325a_n。這些 具有模式更新的應(yīng)用325a-n可以基于逐個租戶的方式來安裝。這些模式(元數(shù)據(jù))更新 指的是數(shù)據(jù)結(jié)構(gòu)的變化。例如,在建模工具應(yīng)用的情況下,模式改變可以包括:添加屬性或 者修改特定數(shù)據(jù)結(jié)構(gòu)的政策??梢詫?yīng)用325a-n安裝在任何系統(tǒng)或部件上,從而使得應(yīng)用 325a-n是以允許與N+1系統(tǒng)322通信的方式安裝的。在示例實施例中,將應(yīng)用安裝在N+1 系統(tǒng)中,其具有更新在N+1系統(tǒng)中的元數(shù)據(jù)定義的效果。在根據(jù)需要借助應(yīng)用325a-n的各 自模式更新安裝了應(yīng)用325a-n之后,初始設(shè)定過程還可以包括:為需要轉(zhuǎn)換的數(shù)據(jù)類型配 置應(yīng)用處理程序。配置處理程序可以很簡單,比如配置各自處理程序從而使得當(dāng)處理程序 遇到特定的數(shù)據(jù)結(jié)構(gòu)時,它以特定的方式來轉(zhuǎn)換該數(shù)據(jù)結(jié)構(gòu)以便符合模式更新。雖然處理 程序可以被配置用來轉(zhuǎn)換數(shù)據(jù),但可以被稱為缺省處理程序的其它處理程序可以被配置用 來處理不需要轉(zhuǎn)換的數(shù)據(jù)。這可以包括:識別不需要轉(zhuǎn)換的數(shù)據(jù)、促進不需要轉(zhuǎn)換的數(shù)據(jù)的 傳送和更新、以及將該數(shù)據(jù)寫入N+1系統(tǒng)322。另一個初始過程可以包括配置數(shù)據(jù)庫327以 供更新模塊324和由應(yīng)用325a-n提供的各自處理程序使用。
[0046] 在一個或多個初始設(shè)定過程之后,可以執(zhí)行更新。如上所述,初始過程包括:復(fù)制 N系統(tǒng)321上的數(shù)據(jù),并且將該數(shù)據(jù)遷移到N+1系統(tǒng)322。在初始復(fù)制之后,可以由處理器 326執(zhí)行的更新模塊324和ADK323聯(lián)合工作以便執(zhí)行N系統(tǒng)321的更新。以這種方式,當(dāng) 數(shù)據(jù)被添加到N系統(tǒng)321,以及在N系統(tǒng)321上被改變時,這些數(shù)據(jù)變化通過使用更新模塊 324、ADK323、應(yīng)用325a-n、處理程序、以及處理器326反映在N+1系統(tǒng)322上。
[0047] 在更新過程的示例實施例中,在更新的第一次迭代中,捕捉到了所有閉包 (closure)的初始轉(zhuǎn)換。閉包指的是一組彼此相關(guān)的對象,以這種方式,閉包指的是這些對 象的范圍。貫穿本申請,術(shù)語"數(shù)據(jù)"和"對象"可以互換使用。
[0048] 在該第一次迭代中,對所有需要轉(zhuǎn)換的數(shù)據(jù)進行了處理。這涉及ADK323對N系 統(tǒng)321的查詢以便判定需要轉(zhuǎn)換的所有數(shù)據(jù)。雖然由于作為初始過程完成了原始復(fù)制和遷 移,這樣的數(shù)據(jù)已經(jīng)在N+1系統(tǒng)上,而不是在N+1系統(tǒng)322上訪問該數(shù)據(jù)以便轉(zhuǎn)換需要轉(zhuǎn)換 的數(shù)據(jù),但由各自應(yīng)用325a-n提供的處理程序反而刪除N+1系統(tǒng)322上的這些未轉(zhuǎn)換的數(shù) 據(jù),并且訪問N系統(tǒng)321上需要轉(zhuǎn)換的數(shù)據(jù)。然后,該需要轉(zhuǎn)換的數(shù)據(jù)被遷移、轉(zhuǎn)換,然后被 寫入N+1系統(tǒng)322。
[0049] 在更新過程的第一次迭代之后,經(jīng)由ADK323的更新方法查詢N系統(tǒng)321,以便判定 自從該系統(tǒng)上次被查詢以來已經(jīng)變化的任何數(shù)據(jù)。從這一點,僅將在N系統(tǒng)321上已經(jīng)變 化的數(shù)據(jù)遷移、在必要的情況下轉(zhuǎn)換、并且寫入N+1系統(tǒng)322。此外,刪除存儲在N+1系統(tǒng) 322上的需要更新的任何經(jīng)轉(zhuǎn)換的數(shù)據(jù)。將N系統(tǒng)321上對應(yīng)的數(shù)據(jù)進行遷移、轉(zhuǎn)換、以及 寫入N+1系統(tǒng)322。與更新在N+1系統(tǒng)322上需要更新的轉(zhuǎn)換的數(shù)據(jù)相比,由于能夠更快地 轉(zhuǎn)換、遷移、以及寫需要轉(zhuǎn)換的數(shù)據(jù),因此這是有利的。在替代實施例中,對N+1系統(tǒng)322上 的數(shù)據(jù)簡單地進行更新,而不是刪除在N+1系統(tǒng)322上需要更新的轉(zhuǎn)換的數(shù)據(jù)。
[0050] 訪問N系統(tǒng)321并且更新N+1系統(tǒng)322上的數(shù)據(jù)以便反映對N系統(tǒng)321上的數(shù)據(jù) 做出的變化的迭代過程繼續(xù),直到達到閾值。該閾值可以指的是N系統(tǒng)321上的數(shù)據(jù)與N+1 系統(tǒng)322上的數(shù)據(jù)之間的差異的量,即增量的大小。此外,閾值還可以是時間期限和/或增 量與時間的組合。在達到閾值之后,N系統(tǒng)321上的所有剩余的變化的數(shù)據(jù)被遷移、在必要 的情況下轉(zhuǎn)換、并且寫入N+1系統(tǒng)322,該過程完成。
[0051] 在系統(tǒng)320的另一個實施例中,處理器326被配置用來在初始復(fù)制和初始數(shù)據(jù)遷 移期間,禁用對N系統(tǒng)321的訪問。此外,處理器326可以被配置用來在初始遷移和復(fù)制之 后,并且在遷移、轉(zhuǎn)換、以及向N+1系統(tǒng)322寫入數(shù)據(jù)以便反映 N系統(tǒng)321上的數(shù)據(jù)的變化 的迭代過程期間,啟用并保持對N系統(tǒng)321的訪問。更進一步地,處理器326可以被配置用 來在響應(yīng)于達到閾值而發(fā)生的對剩余的變化的數(shù)據(jù)的遷移期間禁用對N系統(tǒng)321的訪問。
[0052] 根據(jù)本發(fā)明的替代實施例,處理器326還可以被配置用來在更新完成之后將客戶 端指到N+1系統(tǒng)322。替代實施例還可以包括:在更新完成之后刪除N系統(tǒng)321。
[0053] 此外,在本發(fā)明的實施例中,系統(tǒng)321可以由任何數(shù)量的租戶共享。因此,N系統(tǒng) 321的更新可以基于逐個租戶的方式來進行。此外,這樣的更新過程可以包括:基于逐個租 戶的方式來安裝應(yīng)用,從而使得每一個應(yīng)用可以符合各自租戶的需求。
[0054] 圖4是描繪了根據(jù)本發(fā)明的原理用于更新系統(tǒng)的方法400的流程圖。方法400開 始(431),并且"檢查日期"被設(shè)置為空(432)。"檢查日期"指的是更新過程查詢待更新系 統(tǒng)的最后時間。如本文中所描述的,方法400的實施例還可以包括:執(zhí)行任何數(shù)量的初始過 程,包括借助模式更新來安裝應(yīng)用。在對"檢查日期"進行初始化(432)之后,識別比"檢查 日期"更加新的對象和關(guān)系(433)。雖然使用了術(shù)語"更加新",然而更加新可以指的是自從 "檢查日期"以來被改變的、但不一定是"新"的對象。此外,在判定比"檢查日期"更加新的 對象/關(guān)系之后,"檢查日期"被設(shè)置為該查詢的時間(433)。接下來,調(diào)用結(jié)合圖3描述的 來自各自應(yīng)用(例如應(yīng)用325a)的處理程序來計算閉包。如上文所描述的,閉包指的是彼 此相關(guān)的對象的集合。如本文中所描述的,閉包包括如這里結(jié)合圖5所解釋和描述的對象 和這些對象之間的關(guān)系。計算閉包指的是轉(zhuǎn)換對象從而使得相關(guān)對象符合由系統(tǒng)更新造成 的模式更新的過程。在調(diào)用應(yīng)用處理程序來計算閉包(434)之后,判定是否已經(jīng)計算出了 閉包(435)。當(dāng)已經(jīng)計算出閉包之后,該過程判定是否還有更多要做的(440)。當(dāng)判定尚未 計算出閉包(435)時,首先,刪除之前映射的對象和關(guān)系(436)。接下來,創(chuàng)建新的對象和 關(guān)系(437)。在創(chuàng)建了新的對象和關(guān)系(437)之后,然后設(shè)置關(guān)于對象和關(guān)系的所有屬性 (438)。在設(shè)置了對象和關(guān)系的屬性(438)之后,將閉包記錄在數(shù)據(jù)庫(例如圖3的數(shù)據(jù)庫 327)中(439)。
[0055] 過程400中的下一步是判定是否還有更多要做的(440)。該查詢詢問是否有更多 需要轉(zhuǎn)換的對象。如果存在更多需要轉(zhuǎn)換的對象,那么方法400返回步驟434,并且調(diào)用應(yīng) 用處理程序來計算另一個閉包,并且針對需要轉(zhuǎn)換的閉包重復(fù)步驟435-439。該過程繼續(xù), 直到在步驟433中被識別為比"檢查日期"更加新的所有對象和關(guān)系已經(jīng)進行了合適的轉(zhuǎn) 換和/或遷移到了新的系統(tǒng)。當(dāng)判定沒有更多需要轉(zhuǎn)換和/或遷移的對象時,則在步驟440 處判定沒有更多要做的了。
[0056] 當(dāng)判定沒有更多要做(440)時,方法400的下一步驟是判定是否存在小的增量 (441)。增量可以指的是與新系統(tǒng)中的對象不同的原始系統(tǒng)中的對象的數(shù)量。當(dāng)需要更新 的原始系統(tǒng)中的對象的數(shù)量達到某個閾值時,可以認為是小的增量。雖然示出的方法400 尋找小的增量(441),但其它指示符也可以單獨或者與增量結(jié)合使用。例如,方法400的實 施例還可以考慮執(zhí)行更新的當(dāng)天時間。如本文中所描述的,正在進行更新的系統(tǒng)在初始數(shù) 據(jù)遷移期間以及在最終階段期間可能是不可用的。因此,例如,在幾個人在使用并試圖訪問 待更新系統(tǒng)的情況下,執(zhí)行涉及時間的最終掃描(sweep)可能是有利的。
[0057] 如果在步驟441處判定不存在小的增量,那么方法400返回步驟433,在步驟433 處,方法400重復(fù)上述步驟。在步驟433處,在找到比"檢查日期"更加新的對象和關(guān)系之 后,更新"檢查日期"以便反映該最近的查詢,并且該方法如上文所述繼續(xù)進行。如果達到 小的增量,則方法結(jié)束(442)。在達到小的增量之后,方法400的替代實施例執(zhí)行一個或多 個任務(wù)來完成更新。根據(jù)這樣的實施例,在達到小的增量之后,禁用對正在更新的系統(tǒng)的訪 問,并且對需要更新的最后的剩余的數(shù)據(jù)進行遷移、在必要的情況下轉(zhuǎn)換、并且寫入N+1系 統(tǒng)。其它的實施例可以額外地運行最終驗收測試和基線指標過程。例如,在使N+1系統(tǒng)活 動之前,可以執(zhí)行自動和/或手動測試,以便驗證N+1系統(tǒng)處于可接受狀態(tài)。此外,實施例 可以將客戶端指到系統(tǒng)的N+1實例,并且刪除系統(tǒng)的原始實例和用于跟蹤數(shù)據(jù)轉(zhuǎn)換的數(shù)據(jù) 庫。
[0058] 圖5是示出根據(jù)本發(fā)明的實施例的轉(zhuǎn)換數(shù)據(jù)的過程的簡化圖。本文中提及的轉(zhuǎn)換 有關(guān)于處理N系統(tǒng)和N+1系統(tǒng)中的不同的數(shù)據(jù)結(jié)構(gòu)的需要。有可能N系統(tǒng)中代表的數(shù)據(jù)是 以與N+1系統(tǒng)中的數(shù)據(jù)不同的方式布局的。該轉(zhuǎn)換可以由被稱為處理程序的代碼來處理。 處理程序可以對轉(zhuǎn)換所需要的變化進行分組,并且產(chǎn)生轉(zhuǎn)換的數(shù)據(jù)集。
[0059] 在圖5中,閉包555代表待更新的第一系統(tǒng)551中的閉包B。在示出的閉包555 中,例如線X、Y以及Z的線指的是關(guān)系,而框起來的字母A、B、C以及D指的是對象。在第 二系統(tǒng)552中示出了轉(zhuǎn)換B' 556。在第二系統(tǒng)552和各自閉包556中,移除中間對象B,并 且現(xiàn)在將B的數(shù)據(jù)存儲在關(guān)系Μ中。鑒于該轉(zhuǎn)換,借助條目557來更新標簽數(shù)據(jù)庫553以 反映變化。在本發(fā)明的實施例中,該轉(zhuǎn)換所涉及的對象的分組被稱為源閉包,而轉(zhuǎn)換的對象 集可以被稱為目標閉包。
[0060] 根據(jù)本發(fā)明的實施例,例如應(yīng)用325a_n的應(yīng)用可以針對需要轉(zhuǎn)換的每一種對象 類型注冊處理程序。此外,在本發(fā)明的實施例中,針對不需要轉(zhuǎn)換的數(shù)據(jù)類型可以存在缺省 的處理程序。缺省的處理程序可以簡單地返回包含單個對象的閉包。在另一個實施例中, 處理程序針對自從上次迭代以來被修改的任何對象計算閉包。
[0061] 根據(jù)本發(fā)明的實施例,多個處理程序可以在具有多種類型的閉包中合作。以這樣 的合作努力,當(dāng)閉包中的任何對象發(fā)生變化時,每一個處理程序可能會產(chǎn)生相同的結(jié)果。例 如,如果給定閉包中的X發(fā)生了變化,那么各自處理程序?qū)a(chǎn)生B = B,X,Y,Z,并且類似地, 如果Y發(fā)生了變化,那么另一個各自處理程序?qū)a(chǎn)生B = B,X,Y,Z。當(dāng)處理程序在合作時, 它們可以被配置用來選擇并就閉包標識的一致命名慣例達成一致。在本發(fā)明的實施例中, 閉包標識符保持唯一并且隨時間一致。一種這樣的可能慣例可以是使用閉包中的中心對象 的物理標識符。
[0062] 當(dāng)特定的處理程序在計算閉包時,在存儲器中判定了對象和關(guān)系及它們的各自屬 性的圖形。用于跟蹤這樣的轉(zhuǎn)換的可能慣例可以是:當(dāng)重用對象/關(guān)系時使用實際的物理 標識符(PID),并且當(dāng)生成新的對象/關(guān)系時使用符號名稱。
[0063] 如本文中所描述的,可以由數(shù)據(jù)庫327具體實現(xiàn)的數(shù)據(jù)庫(例如NoSQL數(shù)據(jù)庫) 可以被用于記錄轉(zhuǎn)換和產(chǎn)生PID。當(dāng)存儲轉(zhuǎn)換時,根據(jù)本發(fā)明的實施例,轉(zhuǎn)換具有兩個部分。 標識符(ID),其是由執(zhí)行更新的各自處理程序選擇的穩(wěn)定的名稱;以及PID列表,其是組成 轉(zhuǎn)換的實際或符號PID的列表。此外,根據(jù)本發(fā)明的實施例,可以將時間戳附加到ID以指 示用于構(gòu)建閉包的最近的對象。利用時間戳可以允許即使多個對象發(fā)生了變化也只構(gòu)造一 個轉(zhuǎn)換。此外,根據(jù)本發(fā)明的實施例,如果時間戳早于存儲的時間戳,那么可以假定閉包已 經(jīng)被處理。
[0064] 除了存儲轉(zhuǎn)換,本發(fā)明的實施例還可以包括存儲PID映射。使用存儲的PID映射 可以促進查找先前的PID以及在必要的情況下刪除對應(yīng)對象。在這樣的映射中,當(dāng)創(chuàng)建新 對象時,將記錄新的PID。
[0065] 圖6是可以在其中具體實現(xiàn)本發(fā)明的實施例的計算機系統(tǒng)601的高級別框圖。系 統(tǒng)601包含總線615??偩€615是系統(tǒng)601的各個部件之間的連接。連接到總線615的是 用于將例如鍵盤、鼠標、顯示器、揚聲器等的各種輸入和輸出設(shè)備連接到系統(tǒng)601的輸入/ 輸出設(shè)備接口 630。中央處理單元(CPU)605連接到總線615,并提供執(zhí)行計算機指令。存 儲器625提供用于執(zhí)行計算機指令的數(shù)據(jù)的易失性存儲。存儲設(shè)備620提供軟件指令(例 如操作系統(tǒng)(0S))的非易失性存儲。系統(tǒng)601還包括:用于將系統(tǒng)601連接到本領(lǐng)域已知 的任何種類的網(wǎng)絡(luò)(例如局域網(wǎng)(LAN)和廣域網(wǎng)(WAN))的網(wǎng)絡(luò)接口 635。
[0066] 圖7示出了可以在其中具體實現(xiàn)本發(fā)明的計算機網(wǎng)絡(luò)環(huán)境770。在計算機網(wǎng)絡(luò)環(huán) 境770中,服務(wù)器771通過通信網(wǎng)絡(luò)772鏈接到客戶端773a-n。環(huán)境770可以用于允許客 戶端773a-n單獨或與服務(wù)器771結(jié)合來執(zhí)行上述方法。此外,在計算機網(wǎng)絡(luò)環(huán)境770的實 施例中,客戶端773a-n可以經(jīng)由網(wǎng)絡(luò)772和/或服務(wù)器771來訪問更新的系統(tǒng)。
[0067] 應(yīng)該理解的是:上述示例實施例可以以多種不同的方式來實現(xiàn)。在某些情況下,本 文中描述的各種方法和機器分別可以由物理、虛擬、或混合通用計算機、或計算機網(wǎng)絡(luò)環(huán)境 (例如計算機環(huán)境770)來實現(xiàn)。
[0068] 其中的實施例或方面可以以硬件、固件或軟件的形式來實現(xiàn)。如果以軟件實現(xiàn),則 該軟件可以存儲在被配置用來使處理器能夠裝載軟件或其指令的子集的任何非暫時性計 算機可讀介質(zhì)上。然后,處理器執(zhí)行這些指令,并且被配置用來操作或促使裝置以如本文中 所描述的方式操作。
[0069] 此外,在本文中可以將固件、軟件、例程、或指令描述為執(zhí)行數(shù)據(jù)處理器的某些動 作和/或功能。然而,應(yīng)該領(lǐng)會的是:本文中包含的這些描述僅為了方便,并且這些動作實 際上源自于計算設(shè)備、處理器、控制器、或執(zhí)行固件、軟件、例程、指令等的其它設(shè)備。
[0070] 應(yīng)該理解的是:流程圖、框圖以及網(wǎng)絡(luò)圖可以包括更多或更少的元件、以不同的方 式布置、或者以不同的方式代表。但是,還應(yīng)該理解的是:某些實現(xiàn)可以指示框圖和網(wǎng)絡(luò)圖, 并且示出實施例的執(zhí)行的框圖和網(wǎng)絡(luò)圖的數(shù)量可以以特定的方式來實現(xiàn)。
[0071] 因此,還可以在各種計算機體系結(jié)構(gòu)、物理、虛擬、云計算機、和/或其中的某種組 合中實現(xiàn)進一步的實施例,并且因此,本文中描述的數(shù)據(jù)處理器旨在僅出于解釋的目的而 不是作為對實施例的限制。
[0072] 雖然已經(jīng)參考本發(fā)明的示例實施例對本發(fā)明進行了具體地顯示和描述,但本領(lǐng)域 技術(shù)人員將明白的是:可以在不偏離由所附權(quán)利要求書覆蓋的本發(fā)明的范圍的前提下,進 行形式和細節(jié)上的各種變化。
[0073] 例如,前文將第一和第二系統(tǒng)描述為基于計算機的、計算、處理、數(shù)據(jù)處理、以及數(shù) 據(jù)庫系統(tǒng)等和/或它們的組合的任何一種。
【權(quán)利要求】
1. 一種用于更新系統(tǒng)的方法,所述方法包括: 在第一時間,將數(shù)據(jù)的副本從第一計算系統(tǒng)遷移到通信地耦合的第二計算系統(tǒng); 在一個或多個隨后的時間,遷移變化的數(shù)據(jù)的副本,所述變化的數(shù)據(jù)被從所述第一計 算系統(tǒng)遷移到所述第二計算系統(tǒng)直到達到閾值;以及 響應(yīng)于達到所述閾值,將剩余的變化的數(shù)據(jù)的副本從所述第一計算系統(tǒng)遷移到所述第 二計算系統(tǒng)。
2. 根據(jù)權(quán)利要求0所述的方法,還包括: 以未轉(zhuǎn)換的方式將遷移的數(shù)據(jù)的子集寫入所述第二計算系統(tǒng)。
3. 根據(jù)權(quán)利要求0所述的方法,還包括: 以允許與所述第二計算系統(tǒng)通信的方式來安裝一個或多個應(yīng)用。
4. 根據(jù)權(quán)利要求0所述的方法,還包括: 使用由一個或多個安裝的應(yīng)用提供的一個或多個各自處理程序轉(zhuǎn)換所述遷移的數(shù)據(jù) 的子集,并且將轉(zhuǎn)換的數(shù)據(jù)寫入所述第二計算系統(tǒng)。
5. 根據(jù)權(quán)利要求0所述的方法,其中所述一個或多個各自處理程序利用數(shù)據(jù)庫來跟蹤 轉(zhuǎn)換所述數(shù)據(jù)。
6. 根據(jù)權(quán)利要求0所述的方法,還包括: 在所述第一時間遷移所述數(shù)據(jù)的副本期間,禁用對所述第一計算系統(tǒng)的訪問; 在遷移所述變化的數(shù)據(jù)的副本期間,在一個或多個隨后的時間,啟用并保持對所述第 一計算系統(tǒng)的訪問;以及 在遷移所述剩余的變化的數(shù)據(jù)的副本期間,禁用對所述第一計算系統(tǒng)的訪問。
7. 根據(jù)權(quán)利要求0所述的方法,其中所述第一計算系統(tǒng)和所述第二計算系統(tǒng)是單向通 信地耦合的,其中所述第一計算系統(tǒng)無法看到所述第二計算系統(tǒng)。
8. 根據(jù)權(quán)利要求0所述的方法,還包括: 在將所述剩余的變化的數(shù)據(jù)的副本從所述第一計算系統(tǒng)遷移到所述第二計算系統(tǒng)之 后,將一個或多個客戶端指到所述第二計算系統(tǒng);以及 在將所述剩余的變化的數(shù)據(jù)的副本從所述第一計算系統(tǒng)遷移到所述第二計算系統(tǒng)之 后,刪除所述第一計算系統(tǒng)。
9. 根據(jù)權(quán)利要求0所述的方法,還包括:執(zhí)行所述第二計算系統(tǒng)的內(nèi)核更新。
10. 根據(jù)權(quán)利要求〇所述的方法,其中,所述變化的數(shù)據(jù)是自數(shù)據(jù)從所述第一計算系統(tǒng) 遷移到所述第二計算系統(tǒng)的先前時間以來改變的數(shù)據(jù)以及添加到所述第一計算系統(tǒng)的數(shù) 據(jù)。
11. 根據(jù)權(quán)利要求〇所述的方法,其中所述閾值是在所述第一計算系統(tǒng)上變化的數(shù)據(jù) 的量。
12. -種計算機更新系統(tǒng),包括: 第一系統(tǒng); 通信地耦合到所述第一系統(tǒng)的第二系統(tǒng); 處理器,其被配置用來: 將數(shù)據(jù)的副本從所述第一系統(tǒng)遷移到所述第二系統(tǒng),所述處理器在第一時間遷移所述 數(shù)據(jù)的副本; 在一個或多個隨后的時間,遷移變化的數(shù)據(jù)的副本,所述處理器將所述變化的數(shù)據(jù)從 所述第一系統(tǒng)遷移到所述第二系統(tǒng)直到達到閾值;以及 響應(yīng)于達到所述閾值,將剩余的變化的數(shù)據(jù)的副本從所述第一系統(tǒng)遷移到所述第二系 統(tǒng)。
13. 根據(jù)權(quán)利要求0所述的更新系統(tǒng),其中所述處理器還被配置用來:以未轉(zhuǎn)換的方式 將遷移的數(shù)據(jù)的子集寫入所述第二系統(tǒng)。
14. 根據(jù)權(quán)利要求0所述的更新系統(tǒng),其中所述處理器還被配置用來:以允許與所述第 二系統(tǒng)通信的方式來安裝一個或多個應(yīng)用。
15. 根據(jù)權(quán)利要求0所述的更新系統(tǒng),其中所述處理器還被配置用來: 使用由一個或多個安裝的應(yīng)用提供的一個或多個各自處理程序轉(zhuǎn)換所述遷移的數(shù)據(jù) 的子集;并且 將轉(zhuǎn)換的數(shù)據(jù)寫入所述第二系統(tǒng)。
16. 根據(jù)權(quán)利要求0所述的更新系統(tǒng),其中所述處理器還被配置用來: 在所述第一時間遷移所述數(shù)據(jù)的副本期間,禁用對所述第一系統(tǒng)的訪問; 在遷移所述變化的數(shù)據(jù)的副本期間,在一個或多個隨后的時間,啟用并保持對所述第 一系統(tǒng)的訪問;以及 在遷移所述剩余的變化的數(shù)據(jù)的副本期間,禁用對所述第一系統(tǒng)的訪問。
17. 根據(jù)權(quán)利要求0所述的更新系統(tǒng),其中所述變化的數(shù)據(jù)是自數(shù)據(jù)從所述第一系統(tǒng) 遷移到所述第二系統(tǒng)的先前時間以來改變的數(shù)據(jù)以及添加到所述第一系統(tǒng)的數(shù)據(jù)。
18. 根據(jù)權(quán)利要求0所述的更新系統(tǒng),其中所述處理器還被配置用來: 在將所述剩余的變化的數(shù)據(jù)的副本從所述第一系統(tǒng)遷移到所述第二系統(tǒng)之后,將一個 或多個客戶端指到所述第二系統(tǒng);以及 在將所述剩余的變化的數(shù)據(jù)的副本從所述第一系統(tǒng)遷移到所述第二系統(tǒng)之后,刪除所 述第一系統(tǒng)。
19. 根據(jù)權(quán)利要求0所述的更新系統(tǒng),其中所述閾值是在第一系統(tǒng)上變化的數(shù)據(jù)的量。
20. -種用于更新系統(tǒng)的裝置,所述裝置包括: 用于在第一時間將數(shù)據(jù)的副本從第一系統(tǒng)遷移到通信地耦合的第二系統(tǒng)的模塊; 用于在一個或多個隨后的時間遷移變化的數(shù)據(jù)的副本的模塊,所述變化的數(shù)據(jù)被從所 述第一系統(tǒng)遷移到所述第二系統(tǒng)直到達到閾值;以及 用于響應(yīng)于達到所述閾值將剩余的變化的數(shù)據(jù)的副本從所述第一系統(tǒng)遷移到所述第 二系統(tǒng)的模塊。
【文檔編號】G06F9/445GK104216731SQ201410210348
【公開日】2014年12月17日 申請日期:2014年5月19日 優(yōu)先權(quán)日:2013年5月30日
【發(fā)明者】B·塔邊金, D·E·圖克斯巴里, W·J·厄珀姆, S·蘭弗蘭基 申請人:達索系統(tǒng)艾諾維亞公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1