M3数据库的压缩程序设计M3 Eob Database Compacted

M3数据库的压缩程序设计M3 EobDatabase Compacted

Email: [email protected]

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,可见,还是有些作用的。

下面就是程序的主界面:

M3数据库的压缩程序设计M3 Eob Database Compacted_第1张图片

操作步骤如下:

第一步:选择数据库DB的文件夹,程序会根据里面所包含的数据库名称,在列表中列出来。

第二步:选择需要压缩的数据库

第三步:点击开始压缩。

如果文件比较大,就需要等待不少时间,这个主要是用单线程的缘故。往后,可以开发多线程,那样就可以大大提高压缩的速度。

还有需要提醒朋友的是,这个是测试程序,如果用在正式的项目,还请提前做好备份哟。如果,想一起交流的可以加我微信或者email我。


下载分享程序


你可能感兴趣的:(Tribon)