вторник, 13 декабря 2016 г.

Запись и чтение

Минимальная запись состоит из двух чисел - номер своего узла и номер другого узла. Например, узел с номером 5 связан с узлами 1, 234 и 5782. Записи в файле будут выглядеть так:

... 5:5,0 ... 65720:234,5 ... 2387456:5782,5 ...

где первое число - это адрес.

При таком подходе каждая новая связь дописывается в конец файла и нет необходимости обновлять существующие записи. Это значит, что в файл могут писать одновременно несколько процессов. Добавляемые записи формируют последовательность.

Чтобы не обходить все записи для получения одного узла каждый раз, создаётся дополнительный файл, в который постепенно переносятся данные из первого файла, но уже в виде связанных списков.

... 5:5,65720 ... 65720:234,2387456 ... 2387456:5782,0 ...

Благодаря тому, что последовательность задана жёстко, можно "допрочитывать" связи узла в параллельных процессах.

Комментариев нет:

Отправить комментарий