Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на ГОС.doc
Скачиваний:
225
Добавлен:
03.05.2019
Размер:
211.46 Кб
Скачать
  1. Избыточность целостность и непротиворечивость распределенных данных

  1. Понятие отказоустойчивости и целостности распределенных данных

определение распределенных баз данных (DDB) предложил Дэйт (C.J. Date) в [1]. Он установил 12 свойств или качеств идеальной DDB:

  • Локальная автономия (local autonomy)

  • Независимость узлов (no reliance on central site)

  • Непрерывные операции (continuous operation)

  • Прозрачность расположения (location independence)

  • Прозрачная фрагментация (fragmentation independence)

  • Прозрачное тиражирование (replication independence)

  • Обработка распределенных запросов (distributed query processing)

  • Обработка распределенных транзакций (distributed transaction processing)

  • Независимость от оборудования (hardware independence)

  • Независимость от операционных систем (operationg system independence)

  • Прозрачность сети (network independence)

  • Независимость от баз данных (database independence) { http://citforum.ru/database/kbd96/45.shtml}

Чтобы избежать несогласованности различных элементов архитектуры, пытаются выполнять обработку данных на одной из двух физических частей - либо на стороне клиента ("толстый" клиент), либо на сервере ("тонкий" клиент, или архитектура, называемая "2,5- уровневый клиент-сервер").

«Тонкий клиент» или Терминал — это интерфейсный (обычно графический) компонент, который представляет собственно приложение для конечного пользователя. Первый уровень не должен иметь прямых связей с базой данных (по требованиям безопасности), быть нагруженным основной бизнес-логикой и хранить состояние приложения (по требованиям надежности). На первый уровень может быть вынесена и обычно выносится простейшая бизнес-логика: интерфейс авторизации, алгоритмы шифрования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал.

Сервер приложений располагается на втором уровне. На втором уровне сосредоточена бо́льшая часть бизнес-логики.

Рассмотренные выше модели имеют следующие недостатки.

1. "Толстый" клиент:

  • сложность администрирования;

  • усложняется обновление ПО, поскольку его замену нужно производить одновременно по всей системе;

  • усложняется распределение полномочий, так как разграничение доступа происходит не по действиям, а по таблицам;

  • перегружается сеть вследствие передачи по ней необработанных данных;

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

2. "Толстый" сервер:

  • усложняется реализация, так как языки типа PL/SQL не приспособлены для разработки подобного ПО и нет хороших средств отладки;

  • производительность программ, написанных на языках типа PL/SQL, значительно ниже, чем созданных на других языках, что имеет важное значение для сложных систем;

программы, написанные на СУБД-языках, обычно работают недостаточно надежно; ошибка в них может привести к выходу из строя всего сервера баз данных;получившиеся таким образом программы полностью непереносимы на другие системы и платформы.

Менеджер транзакций - это программа или комплекс программ, с помощью которых можно согласовать работу различных компонентов информационной системы [7]. Логически MT делится на несколько частей:

  • коммуникационный менеджер (Communication Manager) контролирует обмен сообщениями между компонентами информационной системы;

  • менеджер авторизации (Authorisation Manager) обеспечивает аутентификацию пользователей и проверку их прав доступа;

  • менеджер транзакций (Transaction Manager) управляет распределенными операциями;

  • менеджер ведения журнальных записей (Log Manager) следит за восстановлением и откатом распределенных операций;

  • менеджер блокировок (Lock Manager) обеспечивает правильный доступ к совместно используемым данным.

http://itreek.spb.ru/docs/docs/60729043.pdf

Системы распределенной обработки, или распределенные системы (РС), функционирующие в компьютерных сетях, являются одной из наиболее перспективных и быстро развивающихся областей информатики РС характеризуются потенциально более высокой надежностью, гибкостью использования вследствие представления пользователю широкого спектра информационных и вычислительных услуг, высокой степенью параллелизма обработки данных, то есть высокой производительностью. При этом особое значение имеет обеспечение целостности и непротиворечивости распределенных баз данных (РБД) – одного из основных функциональных компонентов РС.

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

Существует два типа неисправностей: физические (объективные) и нефизические (субъективные). Неисправности первого типа возникают вследствие внезапного изменения параметров аппаратуры системы и выхода их за допустимые пределы, что вызывает непредусмотренные изменения одной или нескольких числовых и/или логических переменных, используемых в вычислениях. Если изменения носят временный характер, то их называют сбоями, если же эти изменения постоянны, то – отказами. Отказы вызывают неисправность и имеют характер необратимого механического или иного разрушения аппаратуры

Неисправности второго типа связаны:

с недостатками программного обеспечения системы, которые оставались не выявленными вплоть до момента обнаружения ошибки;

с неустраненными недостатками аппаратуры, которые являются следствием проектных недоработок конструкции, монтажа и последующих модификаций;

с неправильным взаимодействием человека-оператора с машиной и т.д. Такие неисправности вызваны не физическими явлениями, они происходят вследствие субъективных ошибок, допущенных людьми в ходе создания и эксплуатации системы обработки информации.

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

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

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

Отказоустойчивость – одна из надежностных характеристик компьютерных систем, отражающая способность выполнять возложенные насистему функции (быть может, не в полной мере) при отказах аппаратных средств.

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

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

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

В системах с транзактной обработкой в качестве функции убытка так же рассматривается дискретная функция, характеризующая факт нарушения или ненарушения целостности РБД. Службу отказоустойчивости представим как иерархическую систему,

состоящую из следующих уровней:

виртуального кольца;

службы слежения;

управления фиксацией транзакций;

резервирования файлов

Алгоритм

Шаг1. Для каждого зарезервированного информационного объекта одна из копий объявляется основной. Транзакция инициируется и выполняется только с основной копией.

Шаг2. После обработки транзакции, список проведенных изменений рассылается в узлы со вторичными копиями.

Шаг3. Узлы со вторичными копиями получив список изменений выполняют и посылают узлу с основной копией подтверждение о выполнении действий.

Шаг4. Если обнаружен отказ узла со вторичной копией, узел с основной копией запоминает список изменений в стабильной памяти и досылает его после восстановления узла со вторичной копией. При этом:

а) узел с основной копией начинает следить за восстановлением узла;

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

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

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

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