Оперативные методы повышения надежности: временная, информационная, программная избыточность
Оперативные методы повышения надёжности
Временная избыточность
Временная избыточность
Информационная избыточность
Информационная избыточность
Программная избыточность
Программная избыточность
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Практическое задание
Благодарю за внимание
1.70M

5. Оперативные методы повышения надежности - временная, информационная, программная избыточность

1. Оперативные методы повышения надежности: временная, информационная, программная избыточность

2. Оперативные методы повышения надёжности

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

3. Временная избыточность

Временная избыточность — это введение дополнительных временных
затрат на выполнение операций с целью повышения вероятности их
корректного выполнения.
Суть метода заключается в том, что система выполняет одну и ту же
операцию несколько раз или с задержкой, чтобы выявить и устранить
возможные ошибки.
Примеры временной избыточности
• Повторное выполнение операций:
Если результат вычисления вызывает сомнение, операция повторяется.
Если результаты совпадают, они считаются достоверными.
Задержка исполнения:
Между этапами обработки данных вводится пауза, чтобы дождаться
стабилизации сигналов или завершения переходных процессов.
Контрольные интервалы:
Система периодически проверяет своё состояние или состояние
отдельных узлов.

4. Временная избыточность


Преимущества
Простота реализации.
Эффективность при борьбе с кратковременными сбоями (например,
импульсными помехами).
Недостатки
Снижение производительности системы.
Неэффективность при систематических ошибках.

5. Информационная избыточность

Информационная избыточность — это добавление к исходным данным
дополнительных сведений, позволяющих обнаруживать и исправлять ошибки,
возникшие при передаче, хранении или обработке информации.
Наиболее распространённые способы реализации — коды обнаружения и
исправления ошибок.
Основные методы
• Контрольные суммы:
К блоку данных добавляется значение, вычисляемое по определённому
алгоритму. При получении данных контрольная сумма пересчитывается и
сравнивается с исходной.
• Коды Хэмминга:
Позволяют не только обнаруживать, но и исправлять одиночные ошибки в
данных.
• Циклические избыточные коды (CRC):
Широко используются для проверки целостности данных при передаче по
каналам связи.

6. Информационная избыточность

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

7. Программная избыточность

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

8. Программная избыточность

Преимущества
• Высокая надёжность за счёт дублирования логики.
• Возможность обнаружения сложных программных ошибок.
Недостатки
• Значительное увеличение затрат на разработку и сопровождение.
• Рост требований к вычислительным ресурсам.

9. Практическое задание

Вам предложены три типовых сценария сбоев в работе компьютерной
системы. Для каждого случая необходимо:
Определить наиболее подходящий оперативный метод повышения
надёжности (временная, информационная или программная избыточность).
Указать преимущества и недостатки выбранного метода в данном
контексте.
• Сценарий 1
В сервере базы данных периодически возникают кратковременные сбои
при записи данных на диск из-за нестабильной работы контроллера. Ошибки
проявляются как случайные искажения отдельных байтов в файлах.
• Сценарий 2
В системе управления промышленным роботом критически важно, чтобы
команды управления не искажались при передаче по сети. Даже одна неверная
команда может привести к аварии.
• Сценарий 3
В программном обеспечении для расчёта траектории полёта самолёта
используется сложный математический алгоритм. Существует риск, что из-за
ошибки в коде или переполнения памяти результат вычисления будет
неверным, что приведёт к потере управления.

10. Практическое задание

Разбор сценариев:
Сценарий 1. Искажение данных на диске
Рекомендуемый метод: информационная избыточность.
Реализация: при записи данных на диск к каждому блоку добавляется
контрольная сумма (например, CRC32). При чтении блока система
пересчитывает контрольную сумму и сравнивает её с записанной. Если
значения не совпадают, блок считается повреждённым. В зависимости от
архитектуры, система может либо попытаться восстановить данные (если
используется код с исправлением ошибок, например, Рида-Соломона), либо
запросить повторную запись/копию из резервного источника.
Преимущества:
• Позволяет обнаруживать и иногда исправлять ошибки без участия
пользователя.
• Эффективно борется со случайными искажениями данных.
Недостатки:
Требует дополнительного места для хранения контрольных сумм.
Вносит небольшие вычислительные и временные задержки.

11. Практическое задание

Разбор сценариев:
Сценарий 2. Передача команд по сети
Рекомендуемый метод: информационная избыточность (с обязательным
подтверждением).
Реализация: каждая команда управления перед отправкой снабжается
контрольной суммой или кодом CRC. Получатель проверяет целостность
пакета. Если контрольная сумма не совпадает, пакет отбрасывается. Для
гарантии доставки и правильности используется механизм квитирования
(acknowledgement): отправитель ждёт подтверждения получения, и если оно не
приходит или сообщает об ошибке, команда отправляется повторно.
Преимущества:
Гарантирует, что исполняется только корректная команда.
Высокая надёжность передачи данных.
Недостатки:
• Увеличивает сетевой трафик из-за служебной информации и повторных
передач.
• Вносит задержки в управление (важно для систем реального времени).

12. Практическое задание

Разбор сценариев:
Сценарий 3. Ошибка в математическом алгоритме ПО
Рекомендуемый метод: программная избыточность (N-вариантное
программирование).
Реализация: критически важный алгоритм реализуется двумя (или более)
независимыми командами программистов на разных языках или с
использованием разных подходов. Система запускает оба модуля
одновременно. Если их результаты совпадают в пределах допустимой
погрешности, результат принимается. Если результаты различаются, система
сигнализирует об ошибке и может перейти в безопасный режим или
использовать третий, контрольный алгоритм.
Преимущества:
• Позволяет обнаруживать сложные логические ошибки и ошибки
реализации, которые не выявляются тестированием.
• Максимально высокая надёжность для критических функций.
Недостатки:
Очень высокая стоимость разработки и поддержки.
Значительное увеличение нагрузки на процессор и память.

13. Практическое задание

Задание 1. Временная избыточность
Ситуация: при отправке сообщения в чате иногда возникает ошибка
«Сообщение не доставлено» из-за кратковременного сбоя интернета.
Задача: опишите, как можно реализовать временную избыточность для
решения этой проблемы. Предложите простой алгоритм действий для
программы.
Задание 2. Информационная избыточность
Ситуация: вы скачиваете файл из интернета, и из-за помех в сети
некоторые данные могут быть переданы неверно.
Задача: объясните, как информационная избыточность помогает
проверить, что файл скачался без ошибок. Приведите простой пример
(например, с контрольной суммой).
Задание 3. Программная избыточность
Ситуация: на космическом корабле есть два независимых компьютера,
которые должны рассчитать траекторию посадки.
Задача: опишите, как работает программная избыточность в этом случае.
Что должна делать система, если результаты расчётов двух компьютеров не
совпали?

14. Благодарю за внимание

English     Русский Правила