我正在實現一個文件系統。每個文件夾都有一個ACL,它基本上只是一個允許讀/寫文件夾的用戶標識列表。我想通過將ACL從上層文件夾複製到下層文件夾來實現這一點 - 我想要繼承權限,但我不想在讀取時查看它們。我將文件夾之間的關係存儲爲子文件夾中超級文件夾的引用。在appengine HRD上的實體之間的一致的繼承屬性
操作的以下順序的話,是很難與HRD解決:在數據存儲區作爲文件夾A的子文件夾,其已經存在
- 穿戴文件夾B中。
- 變化A.權限
的問題是,當我在第2步改變A上的權限,我需要查找所有A的孩子,所以我可以應用權限的改變他們也是如此。不幸的是,這意味着一個查詢,所以B可能不會顯示在該查詢中。 B可能會錯過權限更改!
到目前爲止我唯一想到的解決方案是雙向存儲「子文件夾」關係:A引用了所有子文件夾,B引用了其超文件夾。然後我可以使用跨組事務同時更新A和B,並且在步驟2中不需要查詢。無論如何,這可能會更好,因爲直接獲取可以輕鬆緩存,不需要索引掃描等。
任何人有任何其他想法?我不喜歡這個解決方案的冗餘存儲需求,也不需要XG交易。