2014-03-28 58 views
0

使用Python(我正在使用v3.4),我創建了一個程序,該程序可以在並行連接到同一網絡的多達20臺機器上運行。 那些機器就需要不時訪問網絡並進行一些操作(創建/刪除/修改文件)...Python:網絡文件的併發訪問(讀/寫)

果然不出我所目前的計劃是:

  • 網絡將有一個文件夾「分貝「
  • 我將使用擱置模塊在此文件夾中存儲我的共享數據(包含一些路徑名和一些日誌記錄信息的少於3,000個條目的簡單字典)。由於沒有太多的數據,它是一個便利的模塊,它將足夠快以避免同時在網絡上的多臺機器進行操作(並避免衝突),機器將不得不鎖定網絡上的擱置文件做任何事情之前(反正他們也將需要更新該文件),並只在他們的操作結束解鎖(如果有必要更新其內容)

我的問題是,貨架沒有一個方便的方法用於併發訪問或鎖定機制。據我所知,我的2種可能:

  • 要麼我不使用擱置,並使用另一個模塊來管理我的簡單的數據庫(例如:除了它sqlite3的是比簡單的貨架模塊更復雜一點)
  • 任我創建一個鎖定機制,由多臺計算機的網絡工作(到目前爲止,我沒有發現,似乎完全可靠的模塊)

附加要求(如果可能的話)是:

  • 它主要用於Windows,但我希望解決方案是跨平臺的,以便我可以在Linux上重複使用它
  • 網絡文件系統將通過標準資源管理器(在linux/windows)像「\ Machine \ Folder」這樣的地址。它可以是文件服務器,也可以是其中一臺機器上的共享文件夾。

任何推薦?

謝謝

+0

將涉及哪些操作系統,以及什麼類型的網絡文件系統? – mdadm

+0

嗨。好問題。我在最後一段中添加了它 – koushkov

回答