2017-02-14 18 views
0

Мы эмулируем сеть p2p в java. Таким образом, мы делим файл на куски (с контрольными суммами), чтобы отдельные куски можно перекомпилировать в исходный файл, когда у нас есть все части. Каков наилучший способ хранения отдельных частей во время их загрузки?наиболее эффективный способ временного хранения прерывистых данных, составляющих больший файл

Я думал просто хранить каждый кусок в виде отдельного файла ... но если есть 20000 кусков, он будет создавать столько файлов. это лучший способ?

Благодаря

+0

Насколько велики будут куски, которые вы ожидаете от тысяч из них? – Thomas

ответ

0

Либо держать куски в памяти или в файлах. Здесь не о чем поговорить. Findd - идеальное соотношение между количеством кусков и фактическим его размером в соответствии с вашими потребностями.

Файлы звучат более разумно, так как данные не будут полностью потеряны в случае сбоя приложения и продолжения загрузки.

0

Я бы записал в память до тех пор, пока вы не достигнете какого-то порога, после чего вы сбрасываете память на диск и продолжаете читать в памяти. Когда передача файла завершена, вы можете взять то, что в настоящее время хранится в памяти, и объединить его с тем, что могло быть сохранено на диске.