两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于c/s架構文件管理系統的事務處理方法

文檔序號:6464822閱讀:233來源:國知局
專利名稱:用于c/s架構文件管理系統的事務處理方法
技術領域
本發(fā)明涉及文件管理領域,具體而言,涉及用于c/s架構文件 管理系統的事務處理方法。
背景技術
在客戶才幾/月良務器(c/s)架構的文件管理系統中,用戶需要管
理的數據通常包括結構化lt據和文件。結構化數據存儲在服務器的 數據庫中,而文件存儲在服務器的一個目錄(可稱為電子倉庫)中。 用戶進行一個業(yè)務處理而才喿作數據時,比如刪除一個文檔,該過程 包括從數據庫中刪除結構化數據以及從電子倉庫中刪除文件這兩
部分操作,即凄t據庫才喿作和電子倉庫才喿作(可稱為文件:澡作)。
現有技術操作數據的方案主要有兩種第一種方案是將文件操 作納入到數據庫事務(針對數據庫操作所建立的事務)中間執(zhí)行, 例如將文件操作放在數據庫事務啟動之后、提交之前,如果文件操 作成功則提交數據庫事務,文件操作失敗,則回滾數據庫事務。
第一種方案將文件操作納入到數據庫事務中間執(zhí)行,數據庫事 務需要等待文件操作成功后才能繼續(xù)執(zhí)行,由于文件操作耗時較 長,使得對數據庫鎖的占用時間過長從而嚴重影響數據庫的性能, 進一步嚴重影響整個系統的性能。另夕卜,如果數據庫事務提交失敗, 則文件操作所產生的數據就可能成為臟數據。針對上述的技術問題,現有技術中提出了第二種方案,文件操 作和凄t據庫事務各自獨立,文件#:作放在#1據庫事務之前或者之后 執(zhí)行。然而,由于文件操作和數據庫事務各自獨立,所以如果數據 庫事務4是交失敗或者文件纟乘作失敗,則文件操作所產生的lt據就可 能成為臟數據,導致電子倉庫不能恢復原狀。
總之,在實現本發(fā)明過程中,發(fā)明人發(fā)現上述兩種方案都可能 導致電子倉庫產生臟凄丈據,即,文件才喿作的失敗或者凄t據庫才喿作的 失敗即使引起事務回滾,也不能使電子倉庫恢復原樣。

發(fā)明內容
本發(fā)明旨在^是供一種用于c/s架構文件管理系統的事務處理方
法,能夠解決現有技術方案在文件操作失敗或數據庫操作失敗后, 電子倉庫可能會產生臟數據的問題。
在本發(fā)明的實施例中,提供了一種用于c/s架構文件管理系統
的事務處理方法,包4舌以下步-驟4十對期望^U亍的文件纟喿作建立一 個文件事務,針對期望執(zhí)行的數據庫操作建立一個數據庫事務;啟 動文件事務,在執(zhí)行文件操作時記錄#1行文件4喿作之前和之后的和 電子倉庫有關的狀態(tài);如果文件才喿作成功,則啟動凄t據庫事務,如 果數據庫操作也成功,則提交數據庫事務,然后提交文件事務;如 果文件纟喿作失敗或凄t據庫4喿作失敗,則回滾文件事務和或lt據庫事 務,其中利用記錄的狀態(tài)恢復電子倉庫。
優(yōu)選的,如果文件纟喿作失敗或^:據庫才喿作失敗,則回滾文件事 務和或數據庫事務,其中利用記錄的狀態(tài)恢復電子倉庫具體包括 如果文件操作失敗,則回滾文件事務,其中利用記錄的狀態(tài)恢復電 子倉庫到沖丸行文件,操作之前的狀態(tài);如果lt據庫纟喿作失敗,則回滾數據庫事務,并回滾文件事務,回滾文件事務時利用記錄的狀態(tài)恢 復電子倉庫到執(zhí)行文件操作之前的狀態(tài)。
優(yōu)選的,如果文件」搡作失敗或凄吏據庫#:作失敗,則回滾文件事
務和或數據庫事務,其中利用記錄的狀態(tài)恢復電子倉庫具體包括
如果文件操作失敗,則回滾文件事務,其中利用記錄的狀態(tài)恢復電
子倉庫到執(zhí)行文件纟喿作之前的狀態(tài);如果^t據庫操作失敗,則判斷 是否執(zhí)行過文件事務;如果是,回滾數據庫事務,并回滾執(zhí)行過的 文件事務,回滾文件事務時利用記錄的狀態(tài)恢復電子倉庫到執(zhí)行文 件操作之前的狀態(tài);如果未執(zhí)行過文件事務,則僅回滾數據庫事務。
優(yōu)選的,文件4喿作為文件上傳,在4丸行文件-操作時記錄沖丸行文 件才喿作之前和之后的和電子倉庫有關的狀態(tài)具體包4舌記錄上傳文 件后在電子倉庫中產生的文件。
優(yōu)選的,利用記錄的狀態(tài)恢復電子倉庫具體包括執(zhí)行文件事 務回滾時,4艮據狀態(tài)獲知刪除上傳文件后在電子倉庫中產生的文 件;從電子倉庫中刪除產生的文件。
優(yōu)選的,文件4喿作為文件刪除,在扭^f于文件纟喿作時記錄^Vf亍文 件操作之前和之后的和電子倉庫有關的狀態(tài)具體包括將被刪除的 文件移動到電子倉庫的刪除區(qū)。
優(yōu)選的,利用記錄的狀態(tài)恢復電子倉庫具體包括#1行文件事 務回滾時,根據狀態(tài)獲知電子倉庫的刪除區(qū)中被刪除的文件;將被 刪除的文件恢復到電子倉庫中。
優(yōu)選的,提交文件事務具體包括從電子倉庫的刪除區(qū)徹底刪 除^f皮刪除的文件。優(yōu)選的,文件纟喿作為文件更名,在4丸4于文件纟乘作時記錄^M亍文 件才喿作之前和之后的和電子倉庫有關的狀態(tài)具體包^^:記錄更名前 的文件名和更名后的文件名。
優(yōu)選的,利用記錄的狀態(tài)恢復電子倉庫具體包括執(zhí)行文件事 務回滾時, 一艮據狀態(tài)獲知更名前的文件名和更名后的文件名;在電 子倉庫中將更名后的文件名修改為更名前的文件名。
優(yōu)選的,針對期望執(zhí)行的文件操作建立一個文件事務具體包 括創(chuàng)建一個唯一ID;針對每個文件操作設置ID;以ID標識文件事務。
上述實施例的用于C/S架構文件管理系統的事務處理方法因為 在寺丸行文件4喿作時記錄了 4丸行文件操作之前和之后的和電子倉庫 有關的狀態(tài),/人而在文件,喿作失敗或#:據庫#:作失敗后,回滾文件 事務和或數據庫事務,其中利用記錄的狀態(tài)恢復電子倉庫。所以克 服了現有纟支術方案在文件^喿作失敗或數據庫4喿作失敗后,電子倉庫 可能會產生臟凄t據的問題,進而達到了 一旦文件才喿作失敗或數據庫 操作失敗,能使電子倉庫恢復原狀的效果。


此處所說明的附圖用來4是供對本發(fā)明的進一步理解,構成本申 請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并 不構成對本發(fā)明的不當限定。在附圖中
圖1示出了^^艮據本發(fā)明實施例的用于C/S架構文件管理系統的 事務處理方法的流^I圖;圖2示出了才艮據本發(fā)明優(yōu)選實施例的用于C/S架構文件管理系 統的事務處理方法的流程圖。
具體實施例方式
下面將參考附圖并結合實施例,來詳細"i兌明本發(fā)明。
圖1示出了才艮據本發(fā)明實施例的用于C/S架構文件管理系統的 事務處理方法的流禾呈圖,包4舌以下步-驟
步驟S10,針對期望扭j于的文件、燥作建立一個文件事務,針對 期望執(zhí)行的數據庫纟喿作建立 一個數據庫事務;
步驟S20,啟動文件事務,在纟丸行文件,喿作時記錄執(zhí)行文件操 作之前和之后的和電子倉庫有關的;)犬態(tài);
步驟S30,如果文件才喿作成功,則啟動數據庫事務,如果數據 庫操作也成功,則提交數據庫事務,然后提交文件事務;
步驟S40,如果文件纟乘作失敗或數據庫纟喿作失敗,則回滾文件 事務和或數據庫事務,其中利用記錄的狀態(tài)恢復電子倉庫。
該事務處理方法可以看作創(chuàng)建并啟動了一個虛擬事務,將文件 事務和^:據庫事務均i文入該虛擬事務中,文件事務或者^:據庫事務 的失敗都可導致虛擬事務的回滾。
該事務處理方法在^M于文件纟喿作時記錄了4丸4于文件纟乘作之前 和之后的和電子倉庫有關的狀態(tài),從而在文件操作失敗或數據庫操 作失敗后,回滾文件事務和或數據庫事務,其中利用記錄的狀態(tài)恢 復電子倉庫。所以克力良了現有4支術方案在文件才喿作失敗或^:據庫才喿作失敗后,電子倉庫可能會產生臟數據的問題,進而達到了一旦文 件操作失敗或數據庫操作失敗,能使電子倉庫恢復原狀的效果。
優(yōu)選的,步驟S40具體包4舌如果文件4喿作失敗,則回滾文件 事務,其中利用記錄的狀態(tài)恢復電子倉庫到執(zhí)行文件操作之前的狀 態(tài);如果lt據庫,乘作失敗,則回滾lt據庫事務,并回滾文件事務, 回滾文件事務時利用記錄的狀態(tài)恢復電子倉庫到執(zhí)行文件操作之 前的狀態(tài)。
該優(yōu)選實施例一是供了文件,喿作失敗或凄t據庫操作失敗后,回滾 文件事務和或數據庫事務的 一種技術方案,其中在回滾文件事務時 利用記錄的狀態(tài)恢復電子倉庫到執(zhí)行文件操作之前的狀態(tài),消除了 電子倉庫和或數據庫產生的臟^:據。
優(yōu)選的,步驟S40還包括如果文件操作失敗,則回滾文件事 務,其中利用記錄的狀態(tài)恢復電子倉庫到沖丸4亍文件才喿作之前的狀 態(tài);如果數據庫操作失敗,則判斷是否執(zhí)行過文件事務;如果是, 回滾jt據庫事務,并回滾^U亍過的文^f牛事務,回;袞文件事務時利用 記錄的狀態(tài)恢復電子倉庫到執(zhí)行文件操作之前的狀態(tài);如果未執(zhí)行 過文件事務,則^l回滾^t據庫事務。
該優(yōu)選實施例纟是供了文件:操作失敗或數據庫纟喿作失敗后,回滾 文件事務和或數據庫事務的另一種技術方案,其中在回滾文件事務 時利用記錄的狀態(tài)恢復電子倉庫到沖丸4于文件纟喿作之前的狀態(tài),消除 了電子倉庫和或數據庫產生的臟數據。在該優(yōu)選實施例中,可以處 理單獨沖丸行數據庫事務的情況。
優(yōu)選的,文件操作為文件上傳,步驟S20具體包括記錄上傳 文件后在電子倉庫中產生的文件。步驟S40具體包括執(zhí)行文件事務回滾時,根據狀態(tài)獲知刪除上傳文件后在電子倉庫中產生的文
件;乂人電子倉庫中刪除產生的文件。
該優(yōu)選實施例4是供了進行文件上傳時的事務處理方法的具體 實施方案。
優(yōu)選的,文件操作為文件刪除,步驟S20具體包括將被刪除 的文件移動到電子倉庫的刪除區(qū)。步驟S30具體包括/人電子倉庫 的刪除區(qū)徹底刪除被刪除的文件。步驟S40具體包括執(zhí)行文件事 務回滾時,根據狀態(tài)獲知電子倉庫的刪除區(qū)中被刪除的文件;將被 刪除的文件恢復到電子倉庫中。
該優(yōu)選實施例l是供了進行文件刪除時的事務處理方法的具體 實施方案。
優(yōu)選的,文件操作為文件更名,步驟S20具體包括記錄更名 前的文件名和更名后的文件名。步驟S40具體包括執(zhí)行文件事務 回滾時,才艮據狀態(tài)獲知更名前的文件名和更名后的文件名;在電子 倉庫中將更名后的文件名》務改為更名前的文件名。
該優(yōu)選實施例才是供了進4亍文件更名時的事務處理方法的具體 實施方案。 優(yōu)選的,針對期望執(zhí)行的文件操作建立 一 個文件事務具體包 括創(chuàng)建一個唯一ID;針對每個文件才喿作設置ID;以ID標識文件 事務。
圖2示出了根據本發(fā)明優(yōu)選實施例的用于C/S架構文件管理系 統的事務處理方法的流^I圖,包4舌以下步驟
步驟S102,啟動文件事務;
12步驟S104,執(zhí)行文件操作,并在執(zhí)行文件操作時記錄執(zhí)行文件 才喿作之前和之后的和電子倉庫有關的狀態(tài);
步驟S106,判斷文件操作是否執(zhí)行成功;
步驟S108,如果文件4喿作^Vf于失敗,則扭^f于文件事務回滾,電 子倉庫恢復到沖丸行文件,喿作之前的狀態(tài);
步驟SllO,如果文件操作執(zhí)行成功,則啟動凄t據庫事務;
步驟S112,沖丸4于凄t據庫才喿作;
步驟S114,判斷數據庫操作是否執(zhí)行成功;
步驟S116,如果數據庫事務執(zhí)行失敗,則執(zhí)行數據庫事務回滾;
步驟S118,判斷是否有文件事務,如果有文件事務,則執(zhí)行步 驟S108,如果沒有文件事務,則直4妾結束事務處理流程;
步驟S120,如果數據庫纟喿作執(zhí)行成功,則提交數據庫事務;
步-驟S122,才是交文4牛事務。
該事務處理方法回滾文件事務和或lt據庫事務時利用記錄的 狀態(tài)恢復電子倉庫,所以一旦文件,喿作失敗或^:據庫才喿作失敗,能 使電子倉庫恢復原狀。
從以上的描述中,可以看出,本發(fā)明上述的實施例實現了如下 技術效果因為在執(zhí)行文件操作時記錄了執(zhí)行文件操作之前和之后 的和電子倉庫有關的狀態(tài),從而在文件操作失敗或數據庫操作失敗 后,回滾文件事務和或數據庫事務,其中利用記錄的狀態(tài)恢復電子倉庫。所以克服了現有技術方案在文件操作失敗或數據庫操作失敗 后,電子倉庫可能會產生臟數據的問題,進而達到了一旦文件操作 失敗或數據庫操作失敗,能使電子倉庫恢復原狀的效果。
顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或 各步-驟可以用通用的計算裝置來實現,它們可以集中在單個的計算 裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們 可以用計算裝置可^U亍的程序^C碼來實現,,人而,可以將它們存儲 在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成 電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模 塊來實現。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
以上所述〗又為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā) 明,對于本領域的4支術人員來說,本發(fā)明可以有各種更改和變化。 凡在本發(fā)明的精神和原則之內,所作的任何{務改、等同^齊換、改進 等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種用于C/S架構文件管理系統的事務處理方法,其特征在于,包括以下步驟針對期望執(zhí)行的文件操作建立一個文件事務,針對期望執(zhí)行的數據庫操作建立一個數據庫事務;啟動所述文件事務,在執(zhí)行所述文件操作時記錄執(zhí)行所述文件操作之前和之后的和電子倉庫有關的狀態(tài);如果文件操作成功,則啟動數據庫事務,如果所述數據庫操作也成功,則提交所述數據庫事務,然后提交所述文件事務;如果所述文件操作失敗或所述數據庫操作失敗,則回滾所述文件事務和或所述數據庫事務,其中利用所述狀態(tài)恢復所述電子倉庫。
2. 根據權利要求1所述的事務處理方法,其特征在于,如果所述 文件纟喿作失敗或所述ft據庫4喿作失敗,則回滾所述文件事務和 或所述數據庫事務,其中利用所述狀態(tài)恢復所述電子倉庫具體包括如果所述文件纟喿作失敗,則回滾所述文件事務,其中利用所述狀態(tài)恢復所述電子倉庫到執(zhí)行所述文件操作之前的狀 太.如果所述tt據庫4喿作失敗,則回滾所述數據庫事務,并 回滾所述文件事務,回滾所述文件事務時利用所述狀態(tài)恢復所 述電子倉庫到執(zhí)行所述文件操作之前的狀態(tài)。
3. 根據權利要求1所述的事務處理方法,其特征在于,如果所述 文^H喿作失敗或所述H悟庫纟喿作失敗,則回卩袞所述文4牛事務和 或所述數據庫事務,其中利用所述狀態(tài)恢復所述電子倉庫具體 包括如果所述文件4喿作失敗,則回滾所述文件事務,其中利 用所述狀態(tài)恢復所述電子倉庫到沖丸行所述文件才喿作之前的狀態(tài);如果所述數據庫纟喿作失敗,則判斷是否纟丸^f于過文件事務;如果是,回滾所述lt據庫事務,并回滾所述纟丸行過的 文件事務,回滾所述文件事務時利用所述狀態(tài)恢復所述電 子倉庫到扭^于所述文件纟乘作之前的狀態(tài);如果未才丸4于過文件事務,則〗又回滾所述ft據庫事務。
4. 4艮據權利要求1所述的事務處理方法,其特征在于,所述文件 操作為文件上傳,在執(zhí)行所述文件操作時記錄執(zhí)行所述文件操作之前和之后的和電子倉庫有關的狀態(tài)具體包4舌
5.根據權利要求4所述的事務處理方法,其特征在于,利用所述 狀態(tài)恢復所述電子倉庫具體包括#丸行所述文件事務回滾時,才艮據所述狀態(tài)獲知刪除所述 上傳文件后在所述電子倉庫中產生的文件;乂人所述電子倉庫中刪除所述產生的文4牛。
6. 根據權利要求1所述的事務處理方法,其特征在于,所述文件 操作為文件刪除,在執(zhí)行所述文件操作時記錄執(zhí)行所述文件操 作之前和之后的和電子倉庫有關的狀態(tài)具體包括將凈皮刪除的文件移動到所述電子倉庫的刪除區(qū)。
7. 根據權利要求6所述的事務處理方法,其特征在于,利用所述 狀態(tài)恢復所述電子倉庫具體包括執(zhí)行所述文件事務回滾時,根據所述狀態(tài)獲知所述電子 倉庫的刪除區(qū)中所述凈皮刪除的文4牛;將所述^C刪除的文件恢復到所述電子倉庫中。
8. 根據權利要求6所述的事務處理方法,其特征在于,提交所述 文件事務具體包括
9. 4艮據權利要求1所述的事務處理方法,其特征在于,所述文件 操作為文件更名,在執(zhí)行所述文件操作時記錄執(zhí)行所述文件操 作之前和之后的和電子倉庫有關的狀態(tài)具體包括^己錄更名前的文件名和更名后的文件名。
10. 才艮據沖又利要求9所述的事務處理方法,其特^正在于,利用所述 狀態(tài)恢復所述電子倉庫具體包括執(zhí)行所述文件事務回滾時,根據所述狀態(tài)獲知所述更名 前的文件名和更名后的文4牛名;的文件名
11. 根據權利要求1所述的事務處理方法,其特征在于,針對期望執(zhí)行的文件操作建立 一 個文件事務具體包括 創(chuàng)建一個唯一 ID;針對每個所述文件操作i史置所述ID; 以所述ID標識所述文件事務。
全文摘要
本發(fā)明提供了一種用于C/S架構文件管理系統的事務處理方法,包括以下步驟針對期望執(zhí)行的文件操作建立一個文件事務,針對期望執(zhí)行的數據庫操作建立一個數據庫事務;啟動文件事務,在執(zhí)行文件操作時記錄執(zhí)行文件操作之前和之后的和電子倉庫有關的狀態(tài);如果文件操作成功,則啟動數據庫事務,如果數據庫操作也成功,則提交數據庫事務,然后提交文件事務;如果文件操作失敗或數據庫操作失敗,則回滾文件事務和或數據庫事務,其中利用記錄的狀態(tài)恢復電子倉庫。本發(fā)明在文件操作失敗或數據庫操作失敗后,利用記錄的狀態(tài)恢復電子倉庫到執(zhí)行文件操作之前的狀態(tài),達到了消除臟數據的效果。
文檔編號G06F17/30GK101667178SQ200810119259
公開日2010年3月10日 申請日期2008年9月1日 優(yōu)先權日2008年9月1日
發(fā)明者付德平 申請人:北京數碼大方科技有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
华宁县| 策勒县| 淮南市| 石渠县| 梁河县| 柘城县| 柯坪县| 安福县| 拜泉县| 合水县| 邹平县| 田林县| 隆化县| 滨海县| 惠安县| 湖北省| 光山县| 赫章县| 临海市| 廉江市| 米易县| 兴业县| 潍坊市| 商河县| 石台县| 德清县| 公安县| 巫山县| 北海市| 赫章县| 青海省| 陆川县| 新巴尔虎左旗| 禹州市| 龙井市| 惠安县| 禹州市| 开阳县| 西盟| 安陆市| 鸡西市|