1. 程式人生 > >關於文件訪問修改並發

關於文件訪問修改並發

出現 覆蓋 好的 time oa系統 修改 時間 關於 很快

前言:在做項目時,遇到了文件訪問修改並發的問題,經前輩指點所得到的一點經驗,在這裏分享一下

情況:

在OA系統中對文件進行操作,文件的名稱和路徑作為數據存儲在數據庫中。同一份文件可能被多個操作員進行對新數據增加或者對舊數據修改,而在多個操作員對同一份文件進行操作的同時,出現了如下問題
技術分享圖片

  1. 操作員A對文件進行了修改,因為修改數據量大,所以未能及時提交。
  2. 這時操作員B對同一份文件進行了修改,但由於修改的數據量小,所以很快就修改提交了。
  3. 之後,操作員A將文件給提交了。

    問題出現:

    這時修改後的文件,顯示的內容只有操作員A所提交的數據,也就是操作員B操作的數據被操作員A給覆蓋了

    那麽該怎麽解決這個問題呢?

    因為是在不同的時間對相同文件進行操作,所以思考點還是放在時間軸上。
    這裏我對數據庫中存儲文件的表增加一個lastTime字段(最後修改時間)。
    技術分享圖片

    具體流程如下:

    技術分享圖片

當然,這只是一種方法,大家有更好的方法和思路可以在下面評論

那就總結到這,積累點點滴滴,一步一腳印,加油

關於文件訪問修改並發