M3数据库的压缩程序设计M3 Eob Database Compacted
M3數據庫的壓縮程序設計M3 EobDatabase Compacted
Email: eattonton@qq.com
1.??????前言
M3數據庫是記錄信息的載體,在M3系統每一個數據文件都有IDX,DAT,EOB,LCK四種文件組成。其中IDX,DAT為索引文件,EOB是真正的數據文件。具體的數據都存儲在EOB文件中。原本這樣的程序設計對于設計員來說數據訪問快速,對于系統管理員來說可以很好的維護數據庫。但是,在實際使用中系統管理員也發現,EOB數據庫大于2G文件大小,再往里面寫數據就很困難。這時往往是清空一下數據庫,或者干脆新建一個數據庫。數據庫的這一限制對于大型的,復雜的船舶,往往需要建很多子工程用于維護整個項目。
隨著對數據庫建構的深入研究,發現EOB數據庫里面在使用中會產生不少的無用信息。這些信息并沒有隨著項目的進展被釋放,而是一直存在于數據庫中。如果,有工具能夠實現這種數據壓縮,還是有實際意義的。
2.??????M3數據庫的管理
M3應用程序中自帶有數據庫管理工具,Administration Tools->Control Panel ->DB Utility
這個工具中可以對數據庫實現創建,備份,恢復,定期備份等功能。這個功能是系統管理必須要了解的功能,也是使用最頻繁的功能。具體的操作使用就不在這里贅述了。唯一遺憾的是,數據管理的這個功能,并沒有像其它功能一樣,給我們提供可以開放訪問的接口。所以很多維護工作只能手工進行。
3.??????數據壓縮程序的設計思路
這個小程序是在我們理解M3數據庫結構的基礎上開發而成。首先通過索引庫讀取有效元素的列表。再通過這些元素的指向獲得EOB數據庫上面的內容,最后生成一個新的EOB數據庫。這個操作做成類似與,在DB Utility里面,把原有的內容通過Split功能,導出成SDB格式文件,再新建數據庫,把這些內容導入進新數據庫。這樣完成了一次整理,只是我們這里通過程序化的手段,自動的完成了這么一次數據庫的整理。
4. 壓縮程序的開發
???????? 通過不斷的測試,這里編寫了一個測試程序,有興趣的朋友可以下載試用。這個程序只是一個初始版本,單線程處理。在處理的時候對于大型的數據庫(40G)還是比較慢的,大概花了4個小時,但是把數據庫壓縮到25G,足足壓縮了15G,可見,還是有些作用的。
下面就是程序的主界面:
操作步驟如下:
第一步:選擇數據庫DB的文件夾,程序會根據里面所包含的數據庫名稱,在列表中列出來。
第二步:選擇需要壓縮的數據庫
第三步:點擊開始壓縮。
如果文件比較大,就需要等待不少時間,這個主要是用單線程的緣故。往后,可以開發多線程,那樣就可以大大提高壓縮的速度。
還有需要提醒朋友的是,這個是測試程序,如果用在正式的項目,還請提前做好備份喲。如果,想一起交流的可以加我微信或者email我。
下載分享程序
總結
以上是生活随笔為你收集整理的M3数据库的压缩程序设计M3 Eob Database Compacted的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自动隐身、无察觉截屏、带有密码保护的监视
- 下一篇: mysql数据库面试题带答案(一)