Схема пинг-понга - Википедия - Ping-pong scheme

Говорят, что алгоритмы используют Настольный теннис схемы существуют в разных областях программная инженерия. Для них характерно чередование двух сущностей. В примерах, описанных ниже, этими объектами являются партнеры по обмену данными, сетевые пути или файловые блоки.

Базы данных

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

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

Схема пинг-понга, описанная в Обработка транзакции[1] устраняет эту проблему, поочередно записывая содержимое указанной (логической) последней страницы на две разные физические страницы внутри файла журнала (фактическая последняя страница я и его пустой преемник я + 1). Как только указанная страница логического журнала больше не является последней страницей (т. Е. Полностью заполнена данными журнала), она записывается в последний раз в обычную физическую позицию (я) внутри файла журнала.

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

Сети

Интернет

Функциональность, которая позволяет компьютеру A узнать, доступен ли компьютер B и ответить, встроена в Протокол управляющих сообщений Интернета (ICMP). Посредством «эхо-запроса» компьютер A просит B отправить обратно «эхо-ответ». Эти два сообщения также иногда называют "пинг "и" понг ".

Маршрутизация

В Маршрутизация Схема Ping-Pong - это простой алгоритм распределения пакетов данных по двум путям.

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

Если бы вы получили следующий путь из вызова функции, это выглядело бы так, как в Python:

def get_next_path():    пока Истинный:        урожай 'А'        урожай 'B'

Рекомендации

  1. ^ Грей, Джим; Рейтер, Андреас (1992). Обработка транзакций: концепции и методы (1-е изд.). Морган Кауфманн. стр.508-509. ISBN  978-1-55860-190-1.