| 研究生: |
邱柏程 Chiu, Bo-Chan |
|---|---|
| 論文名稱: |
可客製策略的版本化系統之研究 FishNet: A Flexible Versioning System Based on Prevention Policies |
| 指導教授: |
莊宜璋
Zhuang, Yi-chang 謝錫堃 Shieh, Ce-Kuen |
| 學位類別: |
碩士 Master |
| 系所名稱: |
電機資訊學院 - 電腦與通信工程研究所 Institute of Computer & Communication Engineering |
| 論文出版年: | 2008 |
| 畢業學年度: | 96 |
| 語文別: | 英文 |
| 論文頁數: | 31 |
| 中文關鍵詞: | 檔案系統 、版本化系統 、版本控管 |
| 外文關鍵詞: | version control, versioning file system, file system |
| 相關次數: | 點閱:79 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
版本化技術對於保存資料的演化是相當有用的。為了保存每次資料異動的歷史,目前大部分的版本化檔案系統,大多將檔案視為唯讀的屬性來保護資料,也就是說為了維護檔案的歷史紀錄,系統在每次檔案被寫入時,會另外產生檔案來成為一個新的版本。一般而言,這樣的作法往往對於保存資料的倉儲,會浪費過多的儲存空間來保留這些版本。而目前已被提出的保留策略,主要也是用來解決此問題,藉由所設定的限制條件,去將不適合的版本作刪除的動作。事實上,扮演倉儲角色的伺服器往往須處理來自各方連線的大量版本資料,而這些資料也會造成網路壅塞,也因而造成伺服器的負擔。
我們所提出的預防策略,可用來減少不必要的資源消耗,FishNet也就是實現此策略的版本化檔案系統。預防策略不像保留策略的作法,需在每次在檔案發生被寫入時即產生版本,再於事後依據所制定的保留策略去刪除不符合的版本。預防策略是在每次檔案發生被寫入時,就會依據所制定的條件來判斷,是否須產生一個新版本。此外,FishNet提供使用者彈性的去客製預防策略。FishNet有效的減少檔案的版本數目,節省倉儲的儲存空間,並減輕在傳送資料至遠端倉儲時,所造成的網路壅塞,同時也將伺服器須處理保留版本的負擔大幅降低。
Versioning mechanism is useful to keep the history of file changes. In order to capture the data change, most proposed versioning file systems protect file in read-only after its creation. During the life cycle of a file, a version is generated to preserve the old data at each file write. They generally suffer the problem that much storage space is consumed on the server to keep the file history. Retention policy has been proposed to solve the storage consumption problem. It is applied to purge the versions which do not meet the criteria of retention policy and reclaim the storage of the purged data. A substantial amount of processing takes place on the server side. This eventually burdens the server with a heavy data and processing load, and increased dependency on network traffic.
We propose the prevention policy to address the resource consumption problem and build a versioning file system, called FishNet. In stead of creating a version at each write and removing the ones not conforming to the retention policy, FishNet uses the prevention policy to determine whether a file version will be created in each write operation. Besides, it provides users the flexibility to customize the appropriate prevention policy on the basis of their retention requirements. With the prevention policy, FishNet successfully reduces the version number of a file, the total storage space consumed by the versioned data and the required communication overhead for the transmission of versioned data. Besides, it minimizes the processing burden imposed on the server to retain history of file change accordingly.
[1] Karypidis, A., and Lalis, S., “Omnistore: A system for ubiquitous personal storage management”, In Proceedings of the 4th IEEE International Conference on Pervasive Computing And Communications, pp. 136-147, 2006. [2] Salmon, B., Schlosser, S. W., and Ganger, G. R., “Towards efficient semantic object storage for the home”, Tech. Rep. CMU-PDL-06-103, Carnegie Mellon University, 2006. [3] Zachary Peterson, Randal Burns, “Ext3cow: a time-shifting file system for regulatory compliance”, ACM Transactions on Storage, vol. 1, no. 2, pp. 190-212, May 2005. [4] Z.N.J. Peterson, R. Burns, A. Stubblefield J. Herring, and A.D. Rubin., “Secure Deletion for a Versioning File System”, In Proceedings of the Fourth USENIX Conference on File and Storage Technologies, pp. 143-154, December 2005. [5] Lawrence L. You, Kristal T. Pollack, Darrell D. E. Long, “Deep Store: An Archival Storage System Architecture”, In Proceedings of the 21st International Conference on Data Engineering, pp. 804-8015, April 2005. [6] A. Aranya, C. P. Wright, and E. Zadok., “Tracefs: A File System to Trace Them All”, In Proceedings of the Third USENIX Conference on File and Storage Technologies, April 2004. [7] J. Cooley, C. Taylor, A. Peacock., “ABS: The Apportioned Backup System”, MIT Laboratory for Computer Science, 2004. [8] Kiran-Kumar Muniswamy-Reddy , Charles P. Wright , Andrew Himmer , Erez Zadok, “A Versatile and User-Oriented Versioning File System”, In Proceedings of the 3rd USENIX Conference on File and Storage Technologies, pp. 31-31, March 2004.
30
[9] Cornell, B., Dinda, P. A., and Bustamante, F. E., “Wayback: A user-level versioning file system for Linux”, In Proceedings of the USENIX Annual Technical Conference, pp. 19-28, 2004. [10] Craig A. N. Soules and Gregory R. Ganger., “Toward automatic context-based attribute assignment for semantic file systems” Tech. Rep. CMU-PDL-04-105, Carnegie Mellon University, June 2004. [11] Craig A. N. Soules, Garth R. Goodson, John D. Strunk, and Gregory R. Ganger., “Metadata Efficiency in Versioning File Systems”, In Proceedings of the 2nd USENIX Conference on File and Storage Technologies, pp. 43-58, March 2003. [12] M. Mahalingam, C. Tang, and Z. Xu., “Towards a semantic, deep archival file system”, In The 9th International Workshop on Future Trends of Distributed Computing Systems, May 2003. [13] Xu Z, Karlsson M, Tang C and Karamanolis C., “Towards a semantic-aware file store”, In Proceedings of HotOS IX: the 9th workshop on hot topics in operating systems, 2003. [14] Douglas J. Santry, Michael J. Feeley, and Norman C. Hutchinson., “Elephant: the file system that never forgets”, IEEE Computer Society, 1999. [15] Douglas S. Santry, Michael J. Feeley, Norman C. Hutchinson , Alistair C. Veitch , Ross W. Carton and Jacob Ofir., “Deciding when to forget in the Elephant file system”, In Proceedings of the seventeenth ACM symposium on Operating systems principles, pp. 110-123, December 1999. [16] S. Quinlan., “A Cached WORM File System”, Software-Practice and Experience, vol. 21, no. 12, pp. 1289-1299, 1991. [17] D. K. Gifford, R. M. Needham, and M. D. Schroeder., “The Cedar File System”, Communications of the ACM, vol. 31, no. 3, pp.288-298, 1988.
31
[18] FUSE (File System in User Space). http://fuse.sourcefore.net/ [19] SVN (Subversion). http://subversion.tigris.org/ [20] Concurrent Versions System (CVS). http://www.cvshome.org