1.一種實現高性能數據庫最終一致性全文檢索的方法,其特征在于,具體步驟包括:
步驟1、將搜索引擎通過連接器與數據庫連接;
步驟2、當數據寫入數據庫后記錄入一個臨時循環(huán)日志文件中,臨時循環(huán)日志文件中包括有需要索引的字段內容以及記錄的ID;
步驟3、使用數據庫內的工具順序讀取臨時循環(huán)日志文件,并根據對臨時循環(huán)日志文件的操作通過連接器將相應需要檢索的字段內容寫入到搜索引擎中,同時,工具記錄已完成索引的臨時循環(huán)日志文件偏移;
步驟4、工具根據已完成索引的臨時循環(huán)日志文件偏移,持續(xù)讀取臨時循環(huán)日志文件直到最后,并將每次操作的相應內容通過連接器寫入到搜索引擎中,完成搜索引擎內數據的建立;
步驟5、工具監(jiān)聽后續(xù)數據到來,如有數據來到,重復上述步驟4;否則,繼續(xù)步驟6;
步驟6、通過搜索引擎鍵入要檢索的關鍵字,得到返回的主鍵ID,將主鍵ID通過連接器輸入到數據庫,并通過連接器讀取該主鍵ID對應的數據庫記錄,完成全文檢索。
2.根據權利要求1所述的一種實現高性能數據庫最終一致性全文檢索的方法,其特征在于,所述步驟2還包括:如果數據在寫入臨時循環(huán)日志之前數據庫發(fā)生故障,在下次數據庫恢復時進行回滾,完成數據庫和臨時循環(huán)日志文件的建立。
3.根據權利要求1所述的一種實現高性能數據庫最終一致性全文檢索的方法,其特征在于,所述步驟3還包括:如果在讀取臨時循環(huán)日志文件時連接器發(fā)生故障,數據庫重啟后,工具根據已完成索引的臨時循環(huán)日志文件偏移讀取后續(xù)日志內數據并寫入到搜索引擎中。
4.根據權利要求1所述的一種實現高性能數據庫最終一致性全文檢索的方法,其特征在于,所述步驟3還包括:如果工具在寫入搜索引擎后、更新偏移前崩潰,數據庫重啟,工具根據之前記錄的最后成功偏移重新讀取相應的臨時循環(huán)日志文件的內容并寫入到搜索引擎中,具體寫入過程包括:如工具為INSERT操作,此操作被工具端忽略;如工具為UPDATE操作,此操作被確認執(zhí)行;如工具為DELETE操作,此操作被工具端忽略。
5.根據權利要求1所述的一種實現高性能數據庫最終一致性全文檢索的方法,其特征在于,所述步驟2中,字段內容包括:一個作為記錄指針的記錄RID,包括數據頁和偏移,一個代表增刪改操作的操作符和一個相對于增改操作需要索引的全文字段的長字符串。