欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

更新數(shù)據(jù)的方法和控制裝置的制作方法

文檔序號(hào):6358943閱讀:284來源:國(guó)知局
專利名稱:更新數(shù)據(jù)的方法和控制裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)管理領(lǐng)域,并且更具體地,涉及數(shù)據(jù)管理領(lǐng)域中更新數(shù)據(jù)的方法和控制裝置。
背景技術(shù)
隨著計(jì)算機(jī)系統(tǒng)越來越復(fù)雜,為了提高數(shù)據(jù)的可靠性或者讀取數(shù)據(jù)時(shí)的性能,常常將一份數(shù)據(jù)保存在多個(gè)設(shè)備上。例如,在現(xiàn)有的電信系統(tǒng)中,不僅需要將用戶簽約信息保存在計(jì)費(fèi)系統(tǒng)中,還需要將其保存在呼叫控制系統(tǒng)中。即使在同一個(gè)系統(tǒng),在容災(zāi)組網(wǎng)、負(fù)載均衡組網(wǎng)的情況下,也會(huì)把相同的數(shù)據(jù)存放在多個(gè)設(shè)備上。當(dāng)把數(shù)據(jù)存放在多個(gè)設(shè)備上時(shí),會(huì)面臨數(shù)據(jù)一致性的問題。當(dāng)需要在多個(gè)設(shè)備上同時(shí)更新數(shù)據(jù)時(shí),需要該數(shù)據(jù)更新操作在這些設(shè)備上要么都成功、要么都失敗,以保持?jǐn)?shù)據(jù)的一致性。這種操作方式通常被稱為分布式事務(wù)處理。在分布式事務(wù)處理中,目前主要是使用兩階段提交協(xié)議。在第一階段中,事務(wù)管理器向所有設(shè)備發(fā)送預(yù)執(zhí)行命令。在第二階段中,事務(wù)管理器根據(jù)資源管理器對(duì)預(yù)執(zhí)行操作的響應(yīng),向該事務(wù)中涉及的所有資源管理器發(fā)送相應(yīng)命令。即,當(dāng)任一資源管理器預(yù)執(zhí)行操作失敗而作出否定響應(yīng)時(shí),事務(wù)管理器向涉及的所有資源管理器發(fā)送回滾命令,返回到數(shù)據(jù)更新前的狀態(tài);當(dāng)所有資源管理器預(yù)執(zhí)行操作成功而作出肯定響應(yīng)時(shí),事務(wù)管理器命令涉及的所有資源管理器提交該事務(wù),對(duì)數(shù)據(jù)進(jìn)行更新。雖然兩階段提交協(xié)議能夠降低由于數(shù)據(jù)結(jié)構(gòu)、主鍵沖突等原因?qū)е碌牟糠质《鸬臄?shù)據(jù)不一致的幾率,但是依舊存在數(shù)據(jù)不一致的可能。因?yàn)樵诘诙A段中,事務(wù)管理器向資源管理器發(fā)送提交命令時(shí),可能出現(xiàn)網(wǎng)絡(luò)異?;蛸Y源管理器異常,從而導(dǎo)致部分資源管理器提交失敗。這樣,雖然預(yù)執(zhí)行都成功,但是提交錯(cuò)誤,仍然不能保證數(shù)據(jù)的一致性。 特別是在網(wǎng)絡(luò)質(zhì)量比較低、所涉及的設(shè)備較多時(shí),更容易造成數(shù)據(jù)不一致的問題。針對(duì)在提交過程中出現(xiàn)的數(shù)據(jù)不一致,目前很難自動(dòng)發(fā)現(xiàn)這種錯(cuò)誤的存在,也很難確定需要對(duì)哪些數(shù)據(jù)進(jìn)行修正,并且在修復(fù)的情況下也只能通過手工修復(fù)而不能自動(dòng)修復(fù),從而使得修復(fù)過程繁瑣。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了更新數(shù)據(jù)的方法和控制裝置,能夠解決提交過程出現(xiàn)錯(cuò)誤而導(dǎo)致的數(shù)據(jù)不一致的問題,使得可以在提交過程中容易地發(fā)現(xiàn)錯(cuò)誤的存在,并使不一致的數(shù)據(jù)得以修復(fù),從而保證多個(gè)設(shè)備上數(shù)據(jù)的一致性。一方面,本發(fā)明實(shí)施例提供了一種更新數(shù)據(jù)的方法,包括當(dāng)主資源管理器和從資源管理器的預(yù)執(zhí)行操作成功時(shí),在主資源管理器上記錄事務(wù)日志;向從資源管理器發(fā)送提交命令,并確定從資源管理器是否都提交成功;如果從資源管理器存在任何一個(gè)沒有提交成功,則保留所述事務(wù)日志,以根據(jù)事務(wù)日志和所述主資源管理器的數(shù)據(jù),對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。
4
另一方面,本發(fā)明實(shí)施例提供了一種用于更新數(shù)據(jù)的控制裝置,包括記錄模塊, 用于當(dāng)主資源管理器和從資源管理器的預(yù)執(zhí)行操作成功時(shí),在主資源管理器上記錄事務(wù)日志;確定模塊,用于向從資源管理器發(fā)送提交命令,并確定從資源管理器是否都提交成功; 第一保留模塊,用于如果從資源管理器存在任何一個(gè)沒有提交成功,則保留事務(wù)日志,以根據(jù)事務(wù)日志和主資源管理器的數(shù)據(jù),對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正?;诒景l(fā)明實(shí)施例提供的上述技術(shù)方案,由于在主資源管理器上記錄有輔助修正的事務(wù)日志,基于事務(wù)日志可以容易地發(fā)現(xiàn)提交過程中數(shù)據(jù)不一致的存在,并可以基于事務(wù)日志和主資源管理器的數(shù)據(jù)來進(jìn)行數(shù)據(jù)修正。這樣,與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)可以得以修正,使得即便在提交過程中出現(xiàn)錯(cuò)誤,從資源管理器的數(shù)據(jù)也可以恢復(fù)到與主資源管理器的數(shù)據(jù)相同的狀態(tài),從而保證數(shù)據(jù)的一致性。


為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實(shí)施例的用于進(jìn)行分布式事務(wù)處理的系統(tǒng)的結(jié)構(gòu)示意圖。圖2是根據(jù)本發(fā)明實(shí)施例的更新數(shù)據(jù)的方法的流程圖。圖3是根據(jù)本發(fā)明實(shí)施例的更新數(shù)據(jù)的另一方法的流程圖。圖4是根據(jù)本發(fā)明實(shí)施例的包括更新事務(wù)日志的事務(wù)處理方法的流程圖。圖5是根據(jù)本發(fā)明實(shí)施例的正常執(zhí)行提交操作時(shí)的例子的時(shí)序圖。圖6是根據(jù)本發(fā)明實(shí)施例的處理事務(wù)日志的方法的流程圖。圖7是根據(jù)本發(fā)明實(shí)施例的用于更新數(shù)據(jù)的控制裝置的結(jié)構(gòu)框圖。圖8是根據(jù)本發(fā)明實(shí)施例的用于更新數(shù)據(jù)的另一控制裝置的結(jié)構(gòu)框圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明的一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的所述實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都應(yīng)屬于本發(fā)明保護(hù)的范圍。首先,結(jié)合圖1描述根據(jù)本發(fā)明實(shí)施例的用于進(jìn)行分布式事務(wù)處理的系統(tǒng)100。如圖1所示,系統(tǒng)100包括控制裝置110、多個(gè)資源管理器和事務(wù)發(fā)起者130。在多個(gè)資源管理器中存儲(chǔ)有相同的數(shù)據(jù),它們基于控制裝置110的控制而執(zhí)行同一事務(wù)的操作,即這些資源管理器是同一事務(wù)所涉及的資源管理器。當(dāng)控制裝置110需要對(duì)資源管理器中的數(shù)據(jù)進(jìn)行諸如修改、添加、刪除之類的更新時(shí),這些資源管理器由于管理著相同的數(shù)據(jù),需要同步進(jìn)行相同的操作,以保持?jǐn)?shù)據(jù)的一致性??梢詫⑦@些資源管理器劃分為主資源管理器120和從資源管理器1至N(N是大于等于1的整數(shù))。例如,當(dāng)用戶通過事務(wù)發(fā)起者130提供的用戶接口輸入操作數(shù)據(jù)時(shí),可以將與事務(wù)發(fā)起者130所在的設(shè)備處于同一邏輯子網(wǎng)中的資源管理器設(shè)置為主資源管理器120,也可以將與事務(wù)發(fā)起者130所在的設(shè)備具有最近的物理距離的資源管理器設(shè)置為主資源管理器120,當(dāng)然,還可以將其中任意一個(gè)資源管理器設(shè)置為主資源管理器120。主資源管理器120和從資源管理器1至N各自管理自己的數(shù)據(jù)庫,對(duì)其中的數(shù)據(jù)進(jìn)行添加、刪除、插入、修改、替代等更新操作。另外,在主資源管理器120上,除了存儲(chǔ)有數(shù)據(jù)之外,還存儲(chǔ)有事務(wù)日志??梢酝ㄟ^事務(wù)日志來修正從資源管理器中的數(shù)據(jù)以實(shí)現(xiàn)數(shù)據(jù)的一致,這將在下文詳細(xì)描述??刂蒲b置110可以被進(jìn)一步劃分為事務(wù)管理器112和事務(wù)日志處理器114,其具體操作將結(jié)合圖5和圖6進(jìn)行描述。在描述數(shù)據(jù)更新的方法時(shí),仍以控制裝置110作為主體進(jìn)行描述,而不受控制裝置110的功能劃分的限制。事務(wù)發(fā)起者130負(fù)責(zé)業(yè)務(wù)處理,是事務(wù)的發(fā)起者。事務(wù)發(fā)起者130可以向用戶提供用戶接口 ;可以通過控制裝置110中的事務(wù)管理器112將數(shù)據(jù)寫到資源管理器中;可以把與事務(wù)有關(guān)的信息告訴事務(wù)管理器112,以命令主資源管理器120記錄事務(wù)日志;還可以根據(jù)控制裝置110中的事務(wù)日志管理器114從事務(wù)日志中提取的信息,來構(gòu)造修正命令,再通過事務(wù)管理器112進(jìn)行修正。下面,結(jié)合圖1的系統(tǒng),描述圖2中示出的根據(jù)本發(fā)明實(shí)施例的更新數(shù)據(jù)的方法 200。方法200包括在S210中,當(dāng)主資源管理器和從資源管理器的預(yù)執(zhí)行操作成功時(shí), 控制裝置110命令在主資源管理器上記錄事務(wù)日志;在S220中,控制裝置110向從資源管理器發(fā)送提交命令,并確定從資源管理器是否都提交成功;在S230中,如果從資源管理器存在任何一個(gè)沒有提交成功的,則保留事務(wù)日志,以根據(jù)事務(wù)日志和主資源管理器的數(shù)據(jù), 對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。當(dāng)主資源管理器120和從資源管理器1至N需要執(zhí)行數(shù)據(jù)更新事務(wù)時(shí),控制裝置 110命令主資源管理器120和從資源管理器1至N進(jìn)行預(yù)執(zhí)行操作。當(dāng)這些資源管理器返回的響應(yīng)告訴控制裝置110預(yù)執(zhí)行操作成功時(shí),控制裝置110命令主資源管理器120記錄事務(wù)日志,并命令從資源管理器1至N執(zhí)行提交操作,從而根據(jù)從資源管理器1至N返回的響應(yīng)來確定從資源管理器1至N是否都提交成功。如果有從資源管理器1至N提交不成功, 則控制裝置110命令主資源管理器120保留所記錄的事務(wù)日志,以使得可以根據(jù)事務(wù)日志, 并以主資源管理器的數(shù)據(jù)為準(zhǔn),對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正,從而保持?jǐn)?shù)據(jù)的一致性。根據(jù)本發(fā)明實(shí)施例提供的更新數(shù)據(jù)的方法,由于在主資源管理器上記錄有輔助修正的事務(wù)日志,基于事務(wù)日志可以容易地發(fā)現(xiàn)提交過程中數(shù)據(jù)不一致的存在,并可以基于事務(wù)日志,以主資源管理器的數(shù)據(jù)為準(zhǔn),來進(jìn)行數(shù)據(jù)修正。這樣,與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)可以得以修正,使得即便在提交過程中出現(xiàn)錯(cuò)誤,從資源管理器的數(shù)據(jù)也可以恢復(fù)到與主資源管理器的數(shù)據(jù)相同的狀態(tài),從而保證數(shù)據(jù)的一致性。接下來,詳細(xì)描述根據(jù)本發(fā)明實(shí)施例的S210至S230。在S210中,當(dāng)主資源管理器和從資源管理器的預(yù)執(zhí)行操作成功時(shí),在主資源管理器上記錄事務(wù)日志。事務(wù)日志可以表征當(dāng)前所執(zhí)行的事務(wù)的特征。例如,當(dāng)前事務(wù)是對(duì)數(shù)據(jù)庫中哪些表格、哪些記錄的數(shù)據(jù)進(jìn)行更新等。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以在主資源管理器120上將當(dāng)前事務(wù)的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息記錄為事務(wù)日志??刂蒲b置110可以命令主資源管理器120將當(dāng)前事務(wù)的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息記錄為事務(wù)日志。數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息可以是由事務(wù)發(fā)起者130傳遞給控制裝置110 的信息,也可以是由控制裝置110根據(jù)事務(wù)而主動(dòng)提取出的信息。數(shù)據(jù)類型可以指示是對(duì)數(shù)據(jù)庫中的哪些表格進(jìn)行操作(例如更新操作),數(shù)據(jù)標(biāo)識(shí)信息可以指示是對(duì)表格中的哪些記錄進(jìn)行操作。例如,在電信系統(tǒng)中,當(dāng)需要更新與訂戶簽約信息有關(guān)的數(shù)據(jù)時(shí),該事務(wù)的數(shù)據(jù)類型是訂戶信息的表格,該事務(wù)的數(shù)據(jù)標(biāo)識(shí)信息是用戶的電話號(hào)碼,通過電話號(hào)碼來標(biāo)識(shí)記錄。再例如,在以XML(Extensible Markup Language,擴(kuò)展標(biāo)記語言)格式化表達(dá)的數(shù)
據(jù)中,如下所示
<Objectl>
<Keyl>l</Keyl> <Fieldl>a</Fieldl> <Field2>b</Field2> <Field3>c</Field3> </Objectl>由該格式化的數(shù)據(jù)可知,數(shù)據(jù)類型是Objectl,數(shù)據(jù)標(biāo)識(shí)信息是1。該數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息可以直接由控制裝置110提取出來。通過記錄數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息,就可以確定當(dāng)前的事務(wù)是什么,從而可以基于此來記錄事務(wù)日志。在S220中,向從資源管理器發(fā)送提交命令,并確定從資源管理器是否都提交成功??刂蒲b置110命令從資源管理器1至N執(zhí)行提交操作,并接收來自從資源管理器 1至N的響應(yīng),通過響應(yīng)來確定是否提交成功。雖然在該例子中S220在S210之后執(zhí)行,但是S220也可以在S210之前執(zhí)行,還可以與S210同時(shí)執(zhí)行。只要在主資源管理器120和從資源管理器1至N的預(yù)執(zhí)行操作都成功之后,執(zhí)行S210和S220即可。所以,S210的記錄事務(wù)日志和S220的發(fā)送提交命令并確定是否提交成功的執(zhí)行順序?qū)Ρ景l(fā)明的保護(hù)范圍不構(gòu)成限制。在S230中,如果從資源管理器存在任何一個(gè)沒有提交成功的,則保留事務(wù)日志, 以根據(jù)事務(wù)日志和主資源管理器的數(shù)據(jù),對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。如果控制裝置110從任一從資源管理器接收到提交不成功的響應(yīng)、或者沒有接收到任何響應(yīng)、或者接收響應(yīng)的時(shí)間超時(shí)、或者返回響應(yīng)內(nèi)容錯(cuò)誤,則控制裝置110可以確定相應(yīng)的從資源管理器提交不成功。該不成功可能是由于網(wǎng)絡(luò)異常造成的從資源管理器沒有接收到提交命令或提交命令錯(cuò)誤,也可能是由于從資源管理器異常(例如斷電、死機(jī)等)造
7成的提交不成功。當(dāng)從資源管理器1至N沒有都提交成功,所記錄的事務(wù)日志就被保留下來,以輔助之后的修正。根據(jù)事務(wù)日志,可以容易地確定在提交過程中出現(xiàn)了數(shù)據(jù)不一致,并且可以容易地定位是哪些數(shù)據(jù)出現(xiàn)了不一致,例如是哪些表格中的哪些記錄出現(xiàn)了不一致。根據(jù)本發(fā)明的實(shí)施例,之后的修正可以是人工參考事務(wù)日志進(jìn)行的修正。此時(shí),相比于目前人工修正的方法,可以根據(jù)事務(wù)日志的記載來自動(dòng)且方便地確定數(shù)據(jù)不一致的存在,并可以基于事務(wù)日志來找到需要對(duì)哪些數(shù)據(jù)進(jìn)行修正,從而簡(jiǎn)化了數(shù)據(jù)修正過程。根據(jù)本發(fā)明的實(shí)施例,之后的修正也可以是控制裝置120根據(jù)事務(wù)日志進(jìn)行的自動(dòng)修正,從而無需人工的參與,可以提高數(shù)據(jù)修正的效率。在控制裝置120進(jìn)行的數(shù)據(jù)修正中,可以從事務(wù)日志中提取數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息,從而可以確定需要完成什么事務(wù),由此可以構(gòu)造出與相應(yīng)事務(wù)對(duì)應(yīng)的修正命令。例如,修正命令可以是先刪除對(duì)應(yīng)表格的對(duì)應(yīng)記錄中的數(shù)據(jù),再將新的數(shù)據(jù)插入到對(duì)應(yīng)表格的對(duì)應(yīng)記錄中。修正命令可以由事務(wù)發(fā)起者130來構(gòu)造,也可以由控制裝置110來構(gòu)造(例如,從資源管理器支持相同的接口,從而可以由控制裝置110構(gòu)造通用的修正命令)。由于事務(wù)發(fā)起者130構(gòu)造的修正命令也需要交由控制裝置110來執(zhí)行,所以數(shù)據(jù)修正的執(zhí)行都是由控制裝置110來控制進(jìn)行的。從從資源管理器1至N的角度看,修正命令的來源可以認(rèn)為都是控制裝置110。而用什么數(shù)據(jù)進(jìn)行修正,則需要借助于主資源管理器120中的數(shù)據(jù),以主資源管理器120管理的數(shù)據(jù)為準(zhǔn)。例如,根據(jù)事務(wù)日志中的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息,可以在主資源管理器120中找到相應(yīng)的數(shù)據(jù),以該數(shù)據(jù)為準(zhǔn),對(duì)從資源管理器管理的數(shù)據(jù)進(jìn)行修正。根據(jù)本發(fā)明的實(shí)施例,為準(zhǔn)的數(shù)據(jù)可以是主資源管理器提交后的數(shù)據(jù),也可以是主資源管理器回滾后的數(shù)據(jù)。進(jìn)行修正時(shí),控制裝置110可以向所有的從資源管理器1至N發(fā)送修正命令以指示其修正或重新執(zhí)行數(shù)據(jù)更新操作等。對(duì)于已提交成功的從資源管理器只需對(duì)提交的數(shù)據(jù)進(jìn)行覆蓋即可,而對(duì)于未提交成功的從資源管理器則會(huì)對(duì)其中的數(shù)據(jù)進(jìn)行修正??刂蒲b置110也可以僅僅向與主資源管理器120的數(shù)據(jù)不一致的從資源管理器發(fā)送修正命令。此時(shí),控制裝置110可以認(rèn)為提交響應(yīng)異常的從資源管理器都是與主資源管理器120不一致的從資源管理器。另外,進(jìn)行修正時(shí),有可能從資源管理器管理著不同類型的數(shù)據(jù)庫,或者其數(shù)據(jù)庫具有不同的接口,使得需要根據(jù)不同的資源管理器,構(gòu)造出與其接口相適應(yīng)的修正命令。當(dāng)然,如果從資源管理器的數(shù)據(jù)庫接口相同或可以識(shí)別通用的命令,則可以只構(gòu)造一種修正命令或構(gòu)成數(shù)據(jù)更新操作的通用命令,再分別發(fā)送給它們以執(zhí)行修正。根據(jù)本發(fā)明實(shí)施例提供的更新數(shù)據(jù)的方法,由于在主資源管理器上記錄有輔助修正的事務(wù)日志,可以在提交出現(xiàn)錯(cuò)誤時(shí),基于事務(wù)日志中的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)來確定對(duì)哪些表格的哪些記錄進(jìn)行修正,并基于主資源管理器管理的數(shù)據(jù)來確定修正為哪些數(shù)據(jù), 從而完成對(duì)從資源管理器管理的數(shù)據(jù)的修正。這樣,即便在提交過程中出現(xiàn)錯(cuò)誤,借助于事務(wù)日志,從資源管理器管理的數(shù)據(jù)也可以自動(dòng)恢復(fù)到與主資源管理器的數(shù)據(jù)相同的狀態(tài), 從而可以保證數(shù)據(jù)的一致性,并且由于控制裝置可以根據(jù)事務(wù)日志自動(dòng)進(jìn)行數(shù)據(jù)修正,使得數(shù)據(jù)修正的效率得以提高。
圖3是根據(jù)本發(fā)明實(shí)施例的更新數(shù)據(jù)的另一方法300的流程圖。圖3的方法300 的S310和S320與圖2的方法200的S210和S220基本相同。當(dāng)在S320中確定從資源管理器1至N存在任何一個(gè)沒有提交成功時(shí),在S330中保留事務(wù)日志,以根據(jù)該事務(wù)日志和主資源管理器120的數(shù)據(jù)來進(jìn)行糾正。在S335中,控制裝置110向主資源管理器120發(fā)送回滾命令。這樣,可以根據(jù)S330中保留的事務(wù)日志和主資源管理器120回滾后的數(shù)據(jù),對(duì)從資源管理器的數(shù)據(jù)進(jìn)行修正。由于從資源管理器1至N沒有都提交成功,這可能意味著部分提交成功、部分提交失敗,也可能意味著都沒有提交成功,這將造成數(shù)據(jù)不一致的風(fēng)險(xiǎn)。此時(shí),由于主資源管理器120還沒有執(zhí)行提交操作,因此可以讓主資源管理器120回滾到預(yù)執(zhí)行操作前的狀態(tài),從而以該狀態(tài)為準(zhǔn)進(jìn)行數(shù)據(jù)的修復(fù),使得無論從資源管理器1至N是否提交成功,都可以保持在主資源管理器120回滾所恢復(fù)的狀態(tài)中,從而實(shí)現(xiàn)數(shù)據(jù)的一致。在S340中,控制裝置110根據(jù)事務(wù)日志和主資源管理器120回滾到的數(shù)據(jù),對(duì)與主資源管理器120的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。修正過程可以參考上述 S230中的描述。修正之后,在S345中,控制裝置110確定修正是否成功。例如,控制裝置110可以接收來自進(jìn)行修正操作的從資源管理器的響應(yīng),在響應(yīng)中可以攜帶修正是否成功的信息, 也可以攜帶修正后的結(jié)果。根據(jù)返回的響應(yīng),確定修正是否成功。如果修正成功,則在S350中刪除事務(wù)日志。如果修正不成功,則在S360中保留事
務(wù)日志。在事務(wù)日志中可以存儲(chǔ)提交過程有錯(cuò)誤的事務(wù),如果修正成功,則說明主資源管理器120管理的數(shù)據(jù)和從資源管理器1至N管理的數(shù)據(jù)相一致,可以刪除該事務(wù)日志,從而表明該事務(wù)日志對(duì)應(yīng)的事務(wù)已成功完成。而如果修正不成功,說明數(shù)據(jù)不一致還存在,則還需要保留事務(wù)日志,以在后續(xù)操作中,再次對(duì)該事務(wù)日志對(duì)應(yīng)的事務(wù)進(jìn)行處理。當(dāng)在S320中確定從資源管理器1至N都提交成功時(shí),在S360中,控制裝置110向主資源管理器120發(fā)送提交命令。由于從資源管理器1至N都提交成功,則主資源管理器120也需要進(jìn)行提交操作。在S365中,在主資源管理器120提交成功時(shí)刪除事務(wù)日志。主資源管理器120提交成功的同時(shí)刪除事務(wù)日志,可以防止錯(cuò)誤地記錄下正確執(zhí)行的事務(wù)。例如,控制裝置110可以先向主資源管理器120發(fā)送刪除事務(wù)日志的預(yù)執(zhí)行命令, 當(dāng)刪除預(yù)執(zhí)行成功時(shí),主資源管理器120再進(jìn)行提交操作,并在提交成功的同時(shí)刪除事務(wù)日志。提交數(shù)據(jù)的進(jìn)程與刪除事務(wù)日志的進(jìn)程并發(fā)執(zhí)行。根據(jù)本發(fā)明的一個(gè)實(shí)施例,在S310之后,在S370中,控制裝置110周期性檢查是
否存在事務(wù)日志。 主資源管理器120可以將事務(wù)日志存儲(chǔ)在事務(wù)日志表中,該事務(wù)日志表中的事務(wù)日志可以隨著操作的進(jìn)行而得以更新和改變,這將結(jié)合圖4來進(jìn)行描述。
控制裝置110可以通過查找事務(wù)日志表來檢查是否在其中存在事務(wù)日志??刂蒲b置110可以以等長(zhǎng)的時(shí)間間隔來進(jìn)行周期性檢查,也可以以變長(zhǎng)的時(shí)間間隔來進(jìn)行周期性檢查。在S375中,如果存在事務(wù)日志,則根據(jù)該事務(wù)日志和主資源管理器的數(shù)據(jù),對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。事務(wù)日志的存在說明還有數(shù)據(jù)不一致的問題,因此,控制裝置110從事務(wù)日志表中讀取一條事務(wù)日志,根據(jù)該事務(wù)日志指示的事務(wù),結(jié)合主資源管理器120在該事務(wù)日志指示下的數(shù)據(jù),對(duì)從資源管理器中的相應(yīng)數(shù)據(jù)進(jìn)行修正。雖然在圖3中S370和S375在S310之后執(zhí)行,但是S370和S375也可以在任何時(shí)刻執(zhí)行。根據(jù)本發(fā)明實(shí)施例提供的更新數(shù)據(jù)的方法,由于在主資源管理器上記錄輔助修正的事務(wù)日志,在數(shù)據(jù)不一致仍存在的情況下保留事務(wù)日志,而在數(shù)據(jù)不一致得以解決的情況下刪除事務(wù)日志,使得事務(wù)日志動(dòng)態(tài)改變,從而可以基于現(xiàn)存的事務(wù)日志,并以主資源管理器在事務(wù)日志指示下的數(shù)據(jù)為準(zhǔn),來修正數(shù)據(jù)。這樣,即便事務(wù)日志沒有得到及時(shí)處理或處理錯(cuò)誤,也可以在后續(xù)操作中繼續(xù)處理,從而可以保證數(shù)據(jù)的一致性。并且,借助于事務(wù)日志來進(jìn)行自動(dòng)修正,無需人工的干預(yù),可以提高數(shù)據(jù)修復(fù)的效率。圖4示出了根據(jù)本發(fā)明實(shí)施例的包括更新事務(wù)日志的事務(wù)處理方法400的流程圖。在S405中,事務(wù)發(fā)起者130啟動(dòng)諸如數(shù)據(jù)更新之類的事務(wù),事務(wù)開始。在S410中,控制裝置110向主資源管理器120和次資源管理器1至N發(fā)送預(yù)執(zhí)行命令,從而在主資源管理器120和次資源管理器1至N上預(yù)執(zhí)行數(shù)據(jù)操作。在S415中,控制裝置110根據(jù)返回的響應(yīng),確定主資源管理器120和次資源管理器1至N的預(yù)執(zhí)行操作是否都成功。如果預(yù)執(zhí)行存在任何一個(gè)沒有成功,則在S420中,控制裝置110向預(yù)執(zhí)行成功的資源管理器發(fā)送回滾命令,以返回預(yù)執(zhí)行前的狀態(tài)。在S425中,控制裝置110向事務(wù)發(fā)起者130返回事務(wù)執(zhí)行失敗。并在S470中,事務(wù)發(fā)起者130啟動(dòng)的事務(wù)結(jié)束。如果在S415中確定預(yù)執(zhí)行都成功,則在S430中,在主資源管理器120上創(chuàng)建一個(gè)
新事務(wù)。在S435中,在該新事務(wù)中執(zhí)行事務(wù)日志的記錄操作并提交該新事務(wù),以將事務(wù)日志寫到事務(wù)日志表中。在S440中,控制裝置110向從資源管理器1至N發(fā)送提交命令,以提交從資源管理器1至N上的事務(wù)。在S445中,控制裝置110接收從資源管理器1至N的響應(yīng),確定從資源管理器1 至N是否都提交成功。如果從資源管理器1至N存在任何一個(gè)沒有提交成功,則在S450中,事務(wù)管理器 112向主資源管理器120發(fā)送回滾命令,回滾主資源管理器120上的事務(wù)。如果從資源管理器1至N都提交成功,則在S455中,在主資源管理器120上預(yù)執(zhí)行事務(wù)日志的刪除操作。在S460中,控制裝置110向主資源管理器120發(fā)送提交命令,提交主資源管理器 120上的事務(wù),并在提交成功的同時(shí)刪除事務(wù)日志。
在S465中,控制裝置110向事務(wù)發(fā)起者130返回事務(wù)執(zhí)行成功。并在S470中,事務(wù)發(fā)起者130啟動(dòng)的事務(wù)結(jié)束。接下來,結(jié)合圖5描述根據(jù)本發(fā)明實(shí)施例的正常執(zhí)行提交操作時(shí)的時(shí)序圖,并結(jié)合圖6描述根據(jù)本發(fā)明實(shí)施例的處理事務(wù)日志的方法600。此外,結(jié)合圖1,通過控制裝置 110包含的事務(wù)管理器112和事物日志處理器114來進(jìn)行更加詳細(xì)的描述。事務(wù)管理器112可用于控制和管理資源管理器的操作,向資源管理器發(fā)送命令, 從資源管理器接收響應(yīng)。事務(wù)日志處理器114可用于管理事務(wù)日志,從事務(wù)日志中提取信息,將提取的信息提交給事務(wù)發(fā)起者130以構(gòu)造修正命令,或者將提取的信息提交給事務(wù)管理器112以構(gòu)造修正命令。如圖5所示,在S510中,事務(wù)發(fā)起者130向事務(wù)管理器112提交數(shù)據(jù)以及數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息。其中,在數(shù)據(jù)具有諸如XML、SQL(Structured Query Language,結(jié)構(gòu)化查詢語言)之類的良好的結(jié)構(gòu)化時(shí),可以不向事務(wù)管理器112提交數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息,而由事務(wù)管理器112根據(jù)數(shù)據(jù)來自動(dòng)提取。在S520中,事務(wù)管理器112開始事務(wù)。在S530中,事務(wù)管理器112將數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息保存到事務(wù)上。在S540中,事務(wù)管理器112向主資源管理器120發(fā)送數(shù)據(jù)以進(jìn)行預(yù)執(zhí)行操作。在S550中,事務(wù)管理器112向從資源管理器1至N發(fā)送數(shù)據(jù)以進(jìn)行預(yù)執(zhí)行操作。 S550也可以在S540之前執(zhí)行,還可以與S540同時(shí)執(zhí)行。當(dāng)從資源管理器1至N和主資源管理器120返回的響應(yīng)(在圖中未示出)表明預(yù)執(zhí)行都成功時(shí),在S560中,事務(wù)管理器112在新的事務(wù)中命令主資源管理器120將與事務(wù)有關(guān)的上下文信息(例如,數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息)保存在事務(wù)日志中。在S570中,事務(wù)管理器112向從資源管理器1至N發(fā)送提交命令,以提交從資源管理器1至N中的事務(wù)。當(dāng)從資源管理器1至N返回的響應(yīng)(在圖中未示出)表明提交都成功時(shí),在S580 中,事務(wù)管理器112在事務(wù)發(fā)起者130啟動(dòng)的事務(wù)中命令主資源管理器120預(yù)刪除當(dāng)前的事務(wù)日志。在S590中,事務(wù)管理器112向主資源管理器120發(fā)送提交命令,以提交主資源管理器120中的事務(wù)。同時(shí),在主資源管理器120的事務(wù)中執(zhí)行刪除事務(wù)日志的操作,使得該刪除操作與提交操作一起完成。在S95中,由于提交都成功,事務(wù)管理器112向事務(wù)發(fā)起者130返回事務(wù)執(zhí)行成功的響應(yīng)。如圖6所示,事務(wù)日志處理器114可以定期掃描事務(wù)日志表,對(duì)超過一定時(shí)間仍然存在的事務(wù)日志進(jìn)行處理。在S610中,事務(wù)日志處理器114從事務(wù)日志表中順序地讀取一條事務(wù)日志。在S620中,事務(wù)日志處理器114提取事務(wù)日志中的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息。在S630中,事務(wù)日志處理器114可以將數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息作為參數(shù),通過該參數(shù)回調(diào)事務(wù)發(fā)起者130用于構(gòu)造修正命令的接口,或者傳遞給事務(wù)管理器112。事務(wù)發(fā)起者130或事務(wù)管理器112以主資源管理器120的數(shù)據(jù)為準(zhǔn),構(gòu)造修復(fù)數(shù)據(jù)的修正命令。由于事務(wù)發(fā)起者130可以知曉不同從資源管理器的類型或接口,所以事務(wù)發(fā)起者130可以針對(duì)不同的從資源管理器構(gòu)造修正命令。在數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單、具有良好結(jié)構(gòu)化的情況下,例如數(shù)據(jù)沒有復(fù)雜的關(guān)聯(lián)關(guān)系或者級(jí)聯(lián)刪除的情況下,事務(wù)日志處理器114可以將數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息傳遞給事務(wù)管理器112,由事務(wù)管理器112來構(gòu)造從資源管理器通用的修正命令,而無需回調(diào)事務(wù)發(fā)起者130的接口。無論修正命令由誰構(gòu)造,都由控制裝置110(具體地,可以為事務(wù)管理器11 來控制從資源管理器執(zhí)行修正命令,因此,都可以認(rèn)為是由控制裝置110根據(jù)事務(wù)日志和主資源管理器管理的數(shù)據(jù)來對(duì)從資源管理器管理的數(shù)據(jù)進(jìn)行修正。在S640中,事務(wù)管理器112發(fā)送從事務(wù)發(fā)起者130接收或自己構(gòu)造的修正命令, 在從資源管理器上執(zhí)行數(shù)據(jù)修正操作。在S650中,事務(wù)管理器112確定從資源管理器的數(shù)據(jù)修正是否成功。如果從資源管理器的修正操作成功,則在S660中,事務(wù)日志處理器114刪除當(dāng)前事務(wù)日志,否則在S670中,事務(wù)日志處理器114不刪除事務(wù)日志,以供下一周期再次重試。上面描述了根據(jù)本發(fā)明實(shí)施例的更新數(shù)據(jù)的方法,接下來,結(jié)合圖7和圖8描述根據(jù)本發(fā)明實(shí)施例的用于更新數(shù)據(jù)的控制裝置。圖7是根據(jù)本發(fā)明實(shí)施例的用于更新數(shù)據(jù)的控制裝置700的結(jié)構(gòu)框圖??刂蒲b置700包括記錄模塊710、確定模塊720和第一保留模塊730。記錄模塊710 可用于當(dāng)主資源管理器和從資源管理器的預(yù)執(zhí)行操作成功時(shí),在主資源管理器上記錄事務(wù)日志。確定模塊720可用于向從資源管理器發(fā)送提交命令,并確定從資源管理器是否都提交成功。第一保留模塊730可用于如果從資源管理器存在任何一個(gè)沒有提交成功,則保留事務(wù)日志,以根據(jù)事務(wù)日志和主資源管理器的數(shù)據(jù),對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。記錄模塊710、確定模塊720和第一保留模塊730的上述和其他操作和/或功能可以參考上述更新數(shù)據(jù)的方法200中的S210、S220和S230,為了避免重復(fù),在此不再贅述。本發(fā)明實(shí)施例提供的控制裝置通過在主資源管理器上記錄輔助修正的事務(wù)日志, 使得可以基于事務(wù)日志來容易地發(fā)現(xiàn)提交過程中數(shù)據(jù)不一致的存在,并可以基于事務(wù)日志,以主資源管理器的數(shù)據(jù)為準(zhǔn),對(duì)不一致的數(shù)據(jù)進(jìn)行修正。這樣,與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)可以得以修正,使得即便在提交過程中出現(xiàn)錯(cuò)誤,從資源管理器的數(shù)據(jù)也可以恢復(fù)到與主資源管理器的數(shù)據(jù)相同的狀態(tài),從而保證數(shù)據(jù)的一致性。圖8是根據(jù)本發(fā)明實(shí)施例的用于更新數(shù)據(jù)的控制裝置800的結(jié)構(gòu)框圖。控制裝置 800的記錄模塊810、確定模塊820和第一保留模塊830與圖7的控制裝置700的記錄模塊 710、確定模塊720和第一保留模塊730基本相同。根據(jù)本發(fā)明的一個(gè)實(shí)施例,記錄模塊810可用于在主資源管理器上將當(dāng)前事務(wù)的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息記錄為事務(wù)日志。根據(jù)本發(fā)明的一個(gè)實(shí)施例,控制裝置800還可以包括第一發(fā)送模塊840。第一發(fā)送模塊840可用于在第一保留模塊830保留事務(wù)日志之后,向主資源管理器發(fā)送回滾命令。 這樣,可以根據(jù)事務(wù)日志和主資源管理器回滾后的數(shù)據(jù),對(duì)從資源管理器的數(shù)據(jù)進(jìn)行修正, 從而將資源管理器管理的數(shù)據(jù)維持在事務(wù)執(zhí)行前的狀態(tài)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,控制裝置800還可以包括第一刪除模塊850和第二保留模塊860。第一刪除模塊850可用于如果修正成功,則刪除事務(wù)日志。第二保留模塊860
12可用于如果修正不成功,則保留事務(wù)日志。根據(jù)本發(fā)明的一個(gè)實(shí)施例,控制裝置800還可以包括第二發(fā)送模塊870和第二刪除模塊880。第二發(fā)送模塊870可用于如果從資源管理器都提交成功,則向主資源管理器發(fā)送提交命令。第二刪除模塊880可用于在主資源管理器提交成功時(shí)刪除事務(wù)日志。根據(jù)本發(fā)明的一個(gè)實(shí)施例,控制裝置800還可以包括檢查模塊890和修正模塊 895。檢查模塊880可用于周期性檢查是否存在事務(wù)日志。修正模塊890可用于如果存在事務(wù)日志,則根據(jù)該事務(wù)日志和主資源管理器的數(shù)據(jù),對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。第一發(fā)送模塊840、第一刪除模塊850、第二保留模塊860、第二發(fā)送模塊870、第二刪除模塊880、檢查模塊890和修正模塊895的上述和其他操作和/或功能可以參考上述更新數(shù)據(jù)的方法300中的S310至S375以及方法400中的相應(yīng)描述,為了避免重復(fù),在此不再贅述。本發(fā)明實(shí)施例提供的控制裝置的記錄模塊810通過將數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息記錄在主資源管理器上作為事務(wù)日志,可以在提交出現(xiàn)錯(cuò)誤時(shí),使修正模塊895基于事務(wù)日志的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)來確定對(duì)哪些表格的哪些記錄進(jìn)行修正,并基于主資源管理器管理的數(shù)據(jù)來確定修正為哪些數(shù)據(jù),從而完成對(duì)從資源管理器管理的數(shù)據(jù)的自動(dòng)修正??刂蒲b置中的第一保留模塊830和第二保留模塊860在數(shù)據(jù)不一致仍存在的情況下保留事務(wù)日志,而第一刪除模塊850和第二刪除模塊880在數(shù)據(jù)不一致得以解決的情況下刪除事務(wù)日志,使得事務(wù)日志動(dòng)態(tài)改變,從而修正模塊895可以基于現(xiàn)存的事務(wù)日志,并以主資源管理器在事務(wù)日志指示下的數(shù)據(jù)為準(zhǔn),來修正數(shù)據(jù)。這樣,在提交過程中出現(xiàn)錯(cuò)誤時(shí),借助于事務(wù)日志,從資源管理器管理的數(shù)據(jù)可以自動(dòng)恢復(fù)到與主資源管理器的數(shù)據(jù)相同的狀態(tài),從而保證數(shù)據(jù)的一致性。并且即便事務(wù)日志沒有得到及時(shí)處理或處理錯(cuò)誤,也可以在后續(xù)操作中繼續(xù)處理,數(shù)據(jù)的一致性得到了極大地保證。另外,借助于事務(wù)日志進(jìn)行的自動(dòng)修正,無需人工的干預(yù),還可以提高數(shù)據(jù)修復(fù)的效率。本領(lǐng)域技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例中描述的各方法步驟和單元,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各實(shí)施例的步驟及組成。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。本領(lǐng)域技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。結(jié)合本文中所公開的實(shí)施例描述的方法步驟可以用硬件、處理器執(zhí)行的軟件程序、或者二者的結(jié)合來實(shí)施。軟件程序可以置于隨機(jī)存取存儲(chǔ)器(RAM)、內(nèi)存、只讀存儲(chǔ)器 (ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動(dòng)磁盤、CD-ROM或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲(chǔ)介質(zhì)中。盡管已示出和描述了本發(fā)明的一些實(shí)施例,但本領(lǐng)域技術(shù)人員應(yīng)該理解,在不脫離本發(fā)明的原理和精神的情況下,可對(duì)這些實(shí)施例進(jìn)行各種修改,這樣的修改應(yīng)落入本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種更新數(shù)據(jù)的方法,其特征在于,包括當(dāng)主資源管理器和從資源管理器的預(yù)執(zhí)行操作成功時(shí),在所述主資源管理器上記錄事務(wù)日志;向所述從資源管理器發(fā)送提交命令,并確定所述從資源管理器是否都提交成功;如果所述從資源管理器存在任何一個(gè)沒有提交成功,則保留所述事務(wù)日志,以根據(jù)所述事務(wù)日志和所述主資源管理器的數(shù)據(jù),對(duì)與所述主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在所述主資源管理器上記錄事務(wù)日志包括在所述主資源管理器上將當(dāng)前事務(wù)的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息記錄為事務(wù)日志。
3.根據(jù)權(quán)利要求1和2所述的方法,其特征在于,所述保留所述事務(wù)日志之后,還包括向所述主資源管理器發(fā)送回滾命令。
4.根據(jù)權(quán)利要求1至3所述的方法,其特征在于,所述對(duì)與所述主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正之后,還包括如果修正成功,則刪除所述事務(wù)日志;如果修正不成功,則保留所述事務(wù)日志。
5.根據(jù)權(quán)利要求1至4所述的方法,其特征在于,還包括如果所述從資源管理器都提交成功,則向所述主資源管理器發(fā)送提交命令;在所述主資源管理器提交成功時(shí)刪除所述事務(wù)日志。
6.根據(jù)權(quán)利要求1至5所述的方法,其特征在于,還包括周期性檢查是否存在事務(wù)日志;如果存在事務(wù)日志,則根據(jù)該事務(wù)日志和所述主資源管理器的數(shù)據(jù),對(duì)與所述主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。
7.一種用于更新數(shù)據(jù)的控制裝置,其特征在于,包括記錄模塊,用于當(dāng)主資源管理器和從資源管理器的預(yù)執(zhí)行操作成功時(shí),在所述主資源管理器上記錄事務(wù)日志;確定模塊,用于向所述從資源管理器發(fā)送提交命令,并確定所述從資源管理器是否都提交成功;第一保留模塊,用于如果所述從資源管理器存在任何一個(gè)沒有提交成功,則保留所述事務(wù)日志,以根據(jù)所述事務(wù)日志和所述主資源管理器的數(shù)據(jù),對(duì)與所述主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。
8.根據(jù)權(quán)利要求7所述的控制裝置,其特征在于,所述記錄模塊用于在所述主資源管理器上將當(dāng)前事務(wù)的數(shù)據(jù)類型和數(shù)據(jù)標(biāo)識(shí)信息記錄為事務(wù)日志。
9.根據(jù)權(quán)利要求7和8所述的控制裝置,其特征在于,還包括第一發(fā)送模塊,用于在所述第一保留模塊保留所述事務(wù)日志之后,向所述主資源管理器發(fā)送回滾命令。
10.根據(jù)權(quán)利要求7至9所述的控制裝置,其特征在于,還包括第一刪除模塊,用于如果修正成功,則刪除所述事務(wù)日志;第二保留模塊,用于如果修正不成功,則保留所述事務(wù)日志。
11.根據(jù)權(quán)利要求7至10所述的控制裝置,其特征在于,還包括第二發(fā)送模塊,用于如果所述從資源管理器都提交成功,則向所述主資源管理器發(fā)送提交命令;第二刪除模塊,用于在所述主資源管理器提交成功時(shí)刪除所述事務(wù)日志。
12.根據(jù)權(quán)利要求7至11所述的控制裝置,其特征在于,還包括 檢查模塊,用于周期性檢查是否存在事務(wù)日志;修正模塊,用于如果存在事務(wù)日志,則根據(jù)該事務(wù)日志和所述主資源管理器的數(shù)據(jù),對(duì)與所述主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正。
全文摘要
本發(fā)明實(shí)施例提供了更新數(shù)據(jù)的方法和控制裝置。該方法包括當(dāng)主資源管理器和從資源管理器的預(yù)執(zhí)行操作成功時(shí),在主資源管理器上記錄事務(wù)日志;向從資源管理器發(fā)送提交命令,并確定從資源管理器是否都提交成功;如果從資源管理器存在任何一個(gè)沒有提交成功,則保留所述事務(wù)日志,以根據(jù)事務(wù)日志和所述主資源管理器的數(shù)據(jù),對(duì)與主資源管理器的數(shù)據(jù)不一致的從資源管理器的數(shù)據(jù)進(jìn)行修正?;诒景l(fā)明實(shí)施例提供的技術(shù)方案,由于在主資源管理器上記錄有輔助修正的事務(wù)日志,可以基于事務(wù)日志和主資源管理器的數(shù)據(jù)來進(jìn)行數(shù)據(jù)修正。這樣,即便在提交過程中出現(xiàn)錯(cuò)誤,從資源管理器的數(shù)據(jù)也可以恢復(fù)到與主資源管理器的數(shù)據(jù)相同的狀態(tài),從而保證數(shù)據(jù)的一致性。
文檔編號(hào)G06F17/30GK102203779SQ201180000694
公開日2011年9月28日 申請(qǐng)日期2011年5月3日 優(yōu)先權(quán)日2011年5月3日
發(fā)明者陶建波 申請(qǐng)人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
汝阳县| 鹤峰县| 沙河市| 周口市| 大悟县| 游戏| 射阳县| 琼中| 平乐县| 易门县| 白城市| 柘城县| 江达县| 定兴县| 漠河县| 仁怀市| 夏河县| 女性| 徐州市| 泉州市| 江山市| 云林县| 灌云县| 镇巴县| 濮阳市| 大安市| 达州市| 界首市| 玉树县| 微博| 隆林| 沙田区| 额敏县| 北京市| 吉首市| 烟台市| 平定县| 张掖市| 灌云县| 连城县| 宁阳县|