高性能文件格式设计解决方案?
场景:现设计一个文件格式如下:
文件头 + 采集数据块 + 事件描述块 + 用户备注描述块
其中文件头是固定长度的格式,采集数据块会根据采集的数据自动增长,事件描述块主要存储数据采集过程中发生的一些事件描述。也是自动增长的。用户备注主要用来存储数据采集或分析过程中不同用户的备注信息。也是自动增长的。
由于采集的数据周期长,数据量大。我使用分段映射来提高数据存取性能。
采集数据的过程中,文件头,采集数据块、事件描述块、用户备注块都要更新。所以我将文件头、采集数据块、事件描述块、备注块映射成四个部分。而且在数据采集的过程中,如果采集数据块,描述块映射空间不够用,还要重新映射下一段。
问题:
1.由于采集数据块,事件描述块,用户备注块都是不断增长的,如果采集数据块的数据超过64K了,重新映射下一个64K,不就将后面的事件描述块覆盖了吗?如何设计文件或者映射才能保证他们在一个文件中连续存储呢?如果存放三个不同的文件,则又需要维护它们之间的链接关系.太麻烦了?没有人有这方面的解决方案吗?