LINUX.ORG.RU

Снятие снимка узла древовидной структуры данных.

 , ,


0

2

Существует необходимость делать снимок узла древовидной структуры данных, оставляя возможность в неё писать.

Есть рабочее решение: дублировать структуру данных в полях actual и snapshot, при снятии снимка блокировать для записи поле snapshot, копировать его, обновления складывать в очередь. После копирования - снять блокировку, дописывать обновления из очереди. Проблема - очередь растёт.

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

Наверняка есть целый ряд классических решений сий задачи, который необразованный быдлоЯ просто не знаю.

Upd. Товарищь ещё предложил попробовать склеивать обновления в одну дельту, которую надо применить к снэпшоту.

★★★★★

Последнее исправление: pon4ik (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.