2009-06-29 39 views

回答

2

爲什麼不在另一個(也許是臨時的)目錄中構建索引,然後在索引器完成時將新索引複製到舊索引上?然後,將索引無效的時間縮短到複製文件所需的時間。

編輯:下面介紹

鎖定策略不知道更多有關使用索引的過程中如何使用它,就很難提出一個很好的鎖定策略。如果索引是快速獲取,讀取併發布的,則您可以獨佔對索引目錄的控制,您可以在索引副本的開始處將索引文件寫入索引目錄(類似indexlock.donotuse),然後將其刪除當你完成。如果對索引的引用持續很長時間,lockfile方法仍然可以工作,但您需要進行更復雜的協調。

您還可以將索引版本化元數據存儲在索引本身中,並將更新的索引放在舊索引旁邊。然後,當您從索引中讀取數據時,請檢查是否存在更新的數據庫,然後再使用您擁有的數據庫。

+0

不錯的主意,但如何在複製過程中正確鎖定文件夾? – 2009-06-29 19:18:57