我正在尝试优化将数据存储在节点中的存档格式。随着时间的推移,容器变得混乱(小的不可用的“空闲”空间节点积累等)。我正在做的类似于碎片整理。我已经有了所有数据位置的列表,以及我希望数据处于其最终状态的位置的表示,但我正在努力将实际数据从其当前配置移动到最佳配置的任务。这些元素的大小不同,也不是任何最小块的倍数(除非您计算字节数)。我忽略了一些明显的方法吗?我什至不确定这个问题被称为搜索算法,我得到的最接近的是就地排序。
到目前为止,我已经尝试过交换数据块,但我需要跟踪节点片段,而且它变得太混乱了,不可行。
我不想诉诸于编写临时副本然后替换,因为文件非常大。