些操作的可編程邏輯或者電路。例如,硬件模塊可以包括被包含在通用處理器或者其它可編程處理器內(nèi)的軟件。交替理解,機械地、在專用和永久配置電路中或者在臨時配置電路(例如,被軟件配置)中實現(xiàn)硬件模塊的決定可以受成本和時間考慮驅(qū)動。
[0114]因此,短語“硬件模塊”應(yīng)被理解成包含有形實體,并且這樣的有形實體可被物理構(gòu)建、永久配置(例如,硬連線)、或者臨時配置(例如,編程)成以某種方式操作或者執(zhí)行這里描述的某些操作。如這里所使用的“硬件實現(xiàn)的模塊”是指硬件模塊??紤]到其中硬件模塊被臨時配置(例如,編程)的實施例,并非每一硬件模塊都需要在任一時間實例被配置或者實例化。例如,在硬件模塊包含被軟件配置成為專用處理器的通用處理器的情況下,通用處理器可以在不同時間被配置為各自不同的專用處理器(例如,包含不同的硬件模塊)。軟件(例如,軟件模塊)因此可以把例如一個或多個處理器配置成在一個時間實例組成特定硬件模塊,并在不同的時間實例組成不同的硬件模塊。
[0115]硬件模塊可以把信息提供給其它硬件模塊,并從其它硬件模塊接收信息。因此,所描述的硬件模塊可以被看作通信地耦合的。在多個硬件模塊同時期存在的情況下,可以通過兩個或更多個硬件模塊之間的信號傳輸(例如,通過適當(dāng)?shù)碾娐泛涂偩€)來實現(xiàn)通信。在多個硬件模塊被在不同時間配置或者實例化的實施例中,這樣的硬件模塊之間的通信可以例如通過在多個硬件模塊可訪問的存儲器結(jié)構(gòu)中存儲和取回信息來實現(xiàn)。例如,一個硬件模塊可以執(zhí)行操作并把該操作的輸出存儲在其通信地耦合到的存儲器設(shè)備中。然后,又一硬件模塊在較晚時間可以訪問該存儲器設(shè)備以取回并處理存儲的輸出。硬件模塊也可以利用輸入或輸出設(shè)備啟動通信,并可以對資源(例如,信息集合)進行操作。
[0116]這里描述的示例方法的各種操作可以至少部分地由一個或多個處理器執(zhí)行,所述處理器被臨時配置(例如,通過軟件)或者永久配置成執(zhí)行相關(guān)操作。無論臨時還是永久配置,這樣的處理器都可以組成處理器實現(xiàn)的模塊,所述模塊操作來執(zhí)行這里所描述的一個或多個操作或者功能。如這里所使用的“處理器實現(xiàn)的模塊”是指使用一個或多個處理器實現(xiàn)的硬件模塊。
[0117]類似地,這里所描述的方法可以是至少部分地由處理器實現(xiàn)的,處理器是硬件的示例。例如,方法的至少一些操作可以被一個或多個處理器或者處理器實現(xiàn)的模塊執(zhí)行。如這里所使用的“處理器實現(xiàn)的模塊”指其中硬件包括一個或多個處理器的硬件模塊。而且,所述一個或多個處理器也可以操作以支持相關(guān)操作在“云計算”環(huán)境中或者作為“軟件即服務(wù)”(software as a service,SaaS)的執(zhí)行。例如,至少一些操作可以被一群計算機(作為包括處理器的機器的示例)執(zhí)行,其中這些操作可經(jīng)由網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))并經(jīng)由一個或多個適當(dāng)?shù)慕涌?例如,應(yīng)用程序接口(API))訪問。
[0118]某些操作的執(zhí)行可以被分布在一個或多個處理器中,所述一個或多個處理器不僅駐留在單個機器內(nèi),而且跨越許多機器部署。在某些示例實施例中,一個或多個處理器或者處理器實現(xiàn)的模塊可以位于單個地理位置中(例如,在家庭環(huán)境、辦公室環(huán)境或者服務(wù)器場內(nèi))。在其它的示例實施例中,所述一個或多個處理器或者處理器實現(xiàn)的模塊可以跨越許多地理位置分布。
[0119]這里所討論的主題的一些部分可以按照算法或者對作為比特或者二進制數(shù)字信號存儲在機器存儲器(例如,計算機存儲器)內(nèi)的數(shù)據(jù)的操作的符號表示來展現(xiàn)。這樣的算法或者符號表示是數(shù)據(jù)處理技術(shù)領(lǐng)域的普通技術(shù)人員用來向本領(lǐng)域其它技術(shù)人員傳達其工作的實質(zhì)的技術(shù)的示例。如這里所使用的“算法”是導(dǎo)致期望結(jié)果的操作或者類似處理的自洽序列。在這個上下文中,算法和操作涉及對物理量的物理操縱。通常但并非一定,這樣的量可以采取電信號、磁信號或者光信號的形式,其能夠被機器存儲、訪問、轉(zhuǎn)移、組合、比較或者以其它方式操縱。有時候,主要是通常使用的原因,使用諸如“數(shù)據(jù)”、“內(nèi)容”、“比特”、“值”、“元件”、“符號”、“字符”、“項”、“數(shù)字”、“數(shù)值”等詞匯來指代這樣的信號很方便。然而,這些詞匯只是方便的標(biāo)記,并且要被與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)。
[0120]除非另外具體聲明,否則這里使用諸如“處理”、“計算”、“運算”、“確定”、“展現(xiàn)”、“顯示”等詞匯的討論可以是指機器(例如,計算機)的動作或過程,其操縱或者變形在一個或多個存儲器(例如,易失性存儲器、非易失性存儲器或者其任何適當(dāng)?shù)慕M合)、寄存器或者接收、存儲、傳送或者顯示信息的其它機器組件內(nèi)被表示為物理(例如,電子、磁性或者光學(xué))量的數(shù)據(jù)。此外,除非另外具體聲明,否則如專利文檔中常見的那樣,術(shù)語“一”在這里被使用為包括一個或多于一個實例。最后,如這里所使用的連詞“或者”是指非排他性的“或者”,除非另外具體聲明。
【主權(quán)項】
1.一種方法,包含: 在生產(chǎn)者系統(tǒng)的持久數(shù)據(jù)存儲裝置中存儲數(shù)據(jù); 在所述生產(chǎn)者系統(tǒng)處使用一個或多個處理器產(chǎn)生一個或多個數(shù)據(jù)更新; 將所述數(shù)據(jù)更新傳送到消費者系統(tǒng)并同時在所述生產(chǎn)者系統(tǒng)處啟動對所述數(shù)據(jù)更新的存儲,其中,所述數(shù)據(jù)更新起初被以臨時狀態(tài)存儲; 當(dāng)在所述生產(chǎn)者系統(tǒng)處對所述數(shù)據(jù)更新的存儲完成時,把第一確認(rèn)傳送到所述消費者系統(tǒng),所述第一確認(rèn)指示所述數(shù)據(jù)更新已經(jīng)被成功地存儲在與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的所述持久數(shù)據(jù)存儲裝置中; 確定是否已經(jīng)從所述消費者系統(tǒng)接收到第二確認(rèn),其中,所述第二確認(rèn)指示所述消費者系統(tǒng)已經(jīng)在所述消費者系統(tǒng)處成功地存儲所述數(shù)據(jù)更新;以及 根據(jù)對已經(jīng)從所述消費者系統(tǒng)接收到所述第二確認(rèn)的確定,把存儲在所述生產(chǎn)者系統(tǒng)處的所述數(shù)據(jù)更新的臨時狀態(tài)改變?yōu)橛谰脿顟B(tài)。2.如權(quán)利要求1所述的方法,其中,在從所述消費者系統(tǒng)接收到所述第二確認(rèn)之前,從所述消費者系統(tǒng)接收第三確認(rèn),其中,所述第三確認(rèn)指示接收到所述數(shù)據(jù)更新。3.如權(quán)利要求1所述的方法,其中,與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的所述持久數(shù)據(jù)存儲裝置包括案例事務(wù)日志。4.如權(quán)利要求1所述的方法,其中,與所述消費者系統(tǒng)相關(guān)聯(lián)的持久數(shù)據(jù)存儲裝置包括簡單持久隊列。5.如權(quán)利要求1所述的方法,其中,如果所述生產(chǎn)者系統(tǒng)在接收到所述第二確認(rèn)之前檢測到所述消費者系統(tǒng)的故障,則所述生產(chǎn)者系統(tǒng)把所述數(shù)據(jù)更新重新傳送到所述消費者系統(tǒng)。6.如權(quán)利要求1所述的方法,其中,所述生產(chǎn)者系統(tǒng)與多個消費者系統(tǒng)交互,并在等待來自所述消費者系統(tǒng)的所述第二確認(rèn)的同時,繼續(xù)與所述多個消費者系統(tǒng)交互。7.如權(quán)利要求1所述的方法,其中,所述一個或多個數(shù)據(jù)更新包括存儲在所述生產(chǎn)者系統(tǒng)的所述持久數(shù)據(jù)存儲裝置中的一個或多個數(shù)據(jù)項的更新版本。8.如權(quán)利要求1所述的方法,還包括: 在所述生產(chǎn)者系統(tǒng)處存儲事務(wù)日志,其中,所述事務(wù)日志包括對存儲在所述生產(chǎn)者系統(tǒng)上的數(shù)據(jù)所做的改變的列表。9.如權(quán)利要求8所述的方法,其中,所產(chǎn)生的數(shù)據(jù)更新包括對存儲在所述生產(chǎn)者系統(tǒng)上的數(shù)據(jù)所做的改變的日志。10.如權(quán)利要求9所述的方法,其中,在所述生產(chǎn)者系統(tǒng)處存儲所述數(shù)據(jù)更新還包括: 把所述數(shù)據(jù)更新存儲到與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)存儲裝置;以及 把與所述數(shù)據(jù)更新相關(guān)聯(lián)的改變的列表存儲到存儲于生產(chǎn)者系統(tǒng)的事務(wù)日志。11.如權(quán)利要求9所述的方法,其中,把所述數(shù)據(jù)更新傳送到消費者系統(tǒng)還包括傳送對消費者系統(tǒng)處數(shù)據(jù)的改變的列表。12.一種系統(tǒng),包含: 一個或多個處理器; 存儲器;和 存儲在所述存儲器中的一個或多個程序,所述一個或多個程序包含指令,用于: 在生產(chǎn)者系統(tǒng)的持久數(shù)據(jù)存儲裝置中存儲數(shù)據(jù); 在所述生產(chǎn)者系統(tǒng)處的一個或多個處理器處產(chǎn)生一個或多個數(shù)據(jù)更新; 將所述數(shù)據(jù)更新傳送到消費者系統(tǒng)并同時在與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的改變?nèi)罩局袉訉λ鰯?shù)據(jù)更新的存儲; 當(dāng)與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的所述改變?nèi)罩局械膶λ鰯?shù)據(jù)更新的存儲完成時,把第一確認(rèn)傳送到消費者系統(tǒng); 確定是否已經(jīng)從所述消費者系統(tǒng)接收到第二確認(rèn),其中,所述第二確認(rèn)指示所述消費者系統(tǒng)已經(jīng)在與所述消費者系統(tǒng)相關(guān)聯(lián)的改變?nèi)罩局谐晒Φ卮鎯λ鰯?shù)據(jù)更新; 根據(jù)對已經(jīng)從所述消費者系統(tǒng)接收到所述第二確認(rèn)的確定,把所述數(shù)據(jù)更新永久地存儲在所述持久數(shù)據(jù)存儲裝置中。13.如權(quán)利要求12所述的系統(tǒng),其中,在從所述消費者系統(tǒng)接收到所述第二確認(rèn)之前,從所述消費者系統(tǒng)接收第三確認(rèn),其中,所述第三確認(rèn)指示接收到所述數(shù)據(jù)更新。14.如權(quán)利要求12所述的系統(tǒng),其中,與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的所述改變包括案例事務(wù)日志。15.如權(quán)利要求12所述的系統(tǒng),其中,與所述消費者系統(tǒng)相關(guān)聯(lián)的所述改變?nèi)罩景ê唵纬志藐犃小?6.如權(quán)利要求12所述的系統(tǒng),其中,如果所述生產(chǎn)者系統(tǒng)在接收到所述第二確認(rèn)之前檢測到所述消費者系統(tǒng)的故障,則所述生產(chǎn)者系統(tǒng)把所述數(shù)據(jù)更新重新傳送到所述消費者系統(tǒng)。17.一種非瞬態(tài)計算機可讀存儲介質(zhì),存儲由一個或多個處理器執(zhí)行的一個或多個程序,所述一個或多個程序包含指令,用于: 把一個或多個數(shù)據(jù)項存儲在生產(chǎn)者系統(tǒng)的持久數(shù)據(jù)存儲裝置中; 在所述生產(chǎn)者系統(tǒng)處的一個或多個處理器處產(chǎn)生一個或多個數(shù)據(jù)更新; 將所述數(shù)據(jù)更新的日志傳送到消費者系統(tǒng)并同時在與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的所述持久數(shù)據(jù)存儲裝置中啟動對所述數(shù)據(jù)更新的存儲; 當(dāng)與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的所述持久數(shù)據(jù)存儲裝置中的對所述數(shù)據(jù)更新的存儲完成時,把第一確認(rèn)傳送到所述消費者系統(tǒng); 確定是否已經(jīng)從所述消費者系統(tǒng)接收到第二確認(rèn),其中,所述第二確認(rèn)指示所述消費者系統(tǒng)已經(jīng)在與所述消費者系統(tǒng)相關(guān)聯(lián)的改變?nèi)罩局谐晒Φ卮鎯λ鰯?shù)據(jù)更新的日志;以及 根據(jù)對已經(jīng)從所述消費者系統(tǒng)接收到所述第二確認(rèn)的確定,把所述數(shù)據(jù)更新永久地存儲在所述持久數(shù)據(jù)存儲裝置中。18.如權(quán)利要求17所述的非瞬態(tài)計算機可讀存儲介質(zhì),其中,在從所述消費者系統(tǒng)接收到所述第二確認(rèn)之前,從所述消費者系統(tǒng)接收第三確認(rèn),其中,所述第三確認(rèn)指示接收到所述數(shù)據(jù)更新的日志。19.如權(quán)利要求17所述的非瞬態(tài)計算機可讀存儲介質(zhì),其中,與所述生產(chǎn)者系統(tǒng)相關(guān)聯(lián)的所述持久數(shù)據(jù)存儲裝置包括案例事務(wù)日志。20.如權(quán)利要求17所述的非瞬態(tài)計算機可讀存儲介質(zhì),其中,與所述消費者系統(tǒng)相關(guān)聯(lián)的所述改變包括簡單持久隊列。
【專利摘要】公開了一種用于網(wǎng)絡(luò)內(nèi)的可靠數(shù)據(jù)同步的方法。生產(chǎn)者系統(tǒng)在持久數(shù)據(jù)存儲裝置中存儲數(shù)據(jù),并產(chǎn)生一個或多個數(shù)據(jù)更新。生產(chǎn)者系統(tǒng)將數(shù)據(jù)更新傳送到消費者系統(tǒng)并同時在生產(chǎn)者系統(tǒng)處啟動對數(shù)據(jù)更新的存儲。當(dāng)在生產(chǎn)者系統(tǒng)處對數(shù)據(jù)更新的存儲完成時,生產(chǎn)者系統(tǒng)把第一確認(rèn)傳送到消費者系統(tǒng)。生產(chǎn)者系統(tǒng)確定是否已經(jīng)從消費者系統(tǒng)接收到第二確認(rèn),其中,第二確認(rèn)指示消費者系統(tǒng)已經(jīng)在消費者系統(tǒng)處成功地存儲數(shù)據(jù)更新。根據(jù)對已經(jīng)從消費者系統(tǒng)接收到第二確認(rèn)的確定,生產(chǎn)者系統(tǒng)把存儲在生產(chǎn)者系統(tǒng)處的數(shù)據(jù)更新的臨時狀態(tài)改變?yōu)橛谰脿顟B(tài)。
【IPC分類】H04L29/08
【公開號】CN105323297
【申請?zhí)枴緾N201410769030
【發(fā)明人】H.尚, M-C.洛, E.洛拉-加勒多, X.戴
【申請人】賽貝斯股份有限公司
【公開日】2016年2月10日
【申請日】2014年12月12日
【公告號】US20150378845