Вашего дипломного проекта - pismo.netnado.ru o_O
Главная
Поиск по ключевым словам:
Похожие работы
Название работы Кол-во страниц Размер
Дипломного проекта 1 162.56kb.
Директор сф пгути 1 92.54kb.
Дипломного проекта связана с непосредственной разработкой программного... 5 352.87kb.
Тема: А. Ахматова «Реквием». «Я голос ваш, жар вашего дыханья, я... 1 96.12kb.
Книга «Школа выживания, или 56 способов защиты вашего ребенка от... 26 3847.81kb.
Интеграция всех участников проекта для выполнения комплекса работ... 1 374.15kb.
Ооо испо «костромагорстрой» 38 2685.15kb.
Цель проекта: Выявление экологического состояния улиц и окрестностей... 1 42.38kb.
Название проекта 1 19.01kb.
1 Соответствие идеи проекта существующей системе экономи­ческих взаимоотношений... 1 148.09kb.
«Разработка и обоснование реализации инновационного проекта по созданию... 6 959.82kb.
Целенаправленное включение обучающихся в обсуждение и самостоятельное... 1 38.29kb.
Урок литературы «Война глазами детей» 1 78.68kb.
Вашего дипломного проекта - страница №2/10

Архитектура "клиент-сервер"


Распределенные системы - это системы "клиент-сервер". Существует по меньшей мере три модели "клиент-сервер":

Модель доступа к удаленным данным (RDA-модель)

Модель сервера базы данных (DBS-модель)

Модель сервера приложений (AS-модель)

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

Компонент интерфейса с пользователем

Компонент управления данными (и базами данных в том числе)

Существует фундаментальное различие между технологией "SQL-клиент - SQL-сервер" и технологией продуктов класса middleware (например, менеджера распределенных транзакций Tuxedo System). В первом случае клиент явным образом запрашивает данные, зная структуру базы данных (имеет место так называемый data shipping, то есть "поставка данных" клиенту). Клиент передает СУБД SQL-запрос, в ответ получает данные. Имеет место жесткая связь типа "точка- точка", для реализации которой все СУБД используют закрытый SQL-канал (например, Oracle SQL*Net). Он строится двумя процессами: SQL/Net на компьютере - клиенте и SQL/Net на компьютере-сервере и порождается по инициативе клиента оператором CONNECT. Канал закрыт в том смысле, что невозможно, например, написать программу, которая будет шифровать SQL- запросы по специальному алгоритму (стандартные алгоритмы шифрования, используемые, например, в Oracle SQL*Net, вряд ли будут сертифицированы ФАПСИ).

В случае трехзвенной схемы клиент явно запрашивает один из сервисов (предоставляемых прикладным компонентом), передавая ему некоторое сообщение (например) и получает ответ также в виде сообщения. Клиент направляет запрос в информационную шину (которую строит Tuxedo System), ничего не зная о месте расположения сервиса. Имеет место так называемый function shipping (то есть "поставка функций" клиенту). Важно, что для Клиента база данных (в том числе и DDB) закрыта слоем Сервисов. Более того, он вообще ничего не знает о ее существовании, так как все операции над базой данных выполняются внутри сервисов.

2. Локальные базы данных


Локальной БД называется БД доступная в пределах конкретной области, например хранится на CD, на локальном компьютере пользователя, т.е. к такой БД имеет доступ только локальный пользователь.

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

Клиент-сервер предполагает, что помимо хранения данных центр. Машина или сервер БД выполняет также основной объем по обработке данных. Запрос на поиск данных выдав. Клиентом раб. Станции порождает извлечение данных на сервере. Извлеченные данные, но не файлы передаются по сети от сервера к рабочей станции и клиенту. Для архитектуры клиент-сервер используется стандартный язык запроса SQL.


  1. Реляционная модель данных. Нормализация отношений в реляционных моделях.

Реляционная модель данных


Кодд в 1970 г предложил теорию реляционных моделей данных.

Каждому имени атрибута ставится в соответствие множество конкретных значений при этом множество носит название домен данного имени атрибута.

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

Стороны имеют размер который называется арность.

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

Нормализация отношений в реляционных моделях


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

Нормализация базируется на понятиях функциональной и полной функциональной зависимостей.

Функциональная зависимость – атрибут B в отношении R функционально зависит от атрибута А этого же отношения, если в каждый момент времени каждому значению атрибута А соответствует не более одного значения атрибута В, связанного с А в отношении R. R(A,B) A->B.

Полная функциональная зависимость – R(A1, A2, A3, B) A1->B. Функциональная зависимость A->B является полной если В зависит от всей группы атрибутов А, а не от подмножества А. A={A1,A2,A3}.

1 Нормальная форма – отношение находится в 1НФ если значение всех его атрибутов атомарное, т.е. значение атрибута не является множеством или группой.

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

3 Нормальная форма - отношение находится в 3НФ если оно удовлетворяет условиям 2 НФ и в нем нет транзитивных зависимостей, т.е. оно не одно из ключевых полей таблицы не идентифицируется с помощью другого не ключевого поля.

Транзитивная зависимость – если в отношении R(A,B,C) A->B, B->C, то A->C в этом случае говорят что C

- транзитивно зависит от A.

Множество функциональных зависимостей F+. Множество F+ является расширением множества F={F1,F2,F3}присущие отношению R(A,B,C,D)

Множество F+ можно получить 2-мя способами.


  1. Провести анализ заполненной БД

  2. Использовать 6 правил вывода.

Если задано отношение R cо схемой (А1,А2,…,Аn), где U={A1,A2,…,An} F={F1,F2,…,Fk.} применим 6 правил…

    1. Рефлективность: Если XU. YU. YX, то X->Y следует из множества F.

    2. Пополнение: Если XU, YU, ZU, X->Y, то XZ->YZ. Если X->Z и XZ->YZ, то XZ->YZ – избыточно.

    3. Транзитивность: Если XU, YU, ZU, X->Y, Y->Z, то X->Z. Если X->Y, Y->Z, X->Z, то X->Z – избыточно.

    4. Аддитивности: Если XU, YU, ZU, X->Y, Y->Z, то X->YZ. Если X->Y, X->Z, X-YZ то X->YZ – избытоно.

    5. Декомпозиции: Если XU, YU, ZU, ZY, X->Y, то X->Z. Если X->YZ, то X->Y, X->Z. Если X->YZ, X->Y, X->Z, то X->YZ – избыточное.

    6. Псевдотранзитивность: XU, YU, WU, ZU, X->Y, YW->Z, то XW->Z. Если X->Y, YW->Z, XW->Z, то XW->Z – избыточное.

Пример получения F+ из F. Дано R(A,B,C) F={AB->C,C->B}; F+ = {A->A, AC->A, AC->A, ABC->A, B->B,AB->B, AC->B, ABC->B, C->C, AC->C, BC->C, ABC->C, AB->AB, ABC->AB, AC->AC, ABC->AC, BC->BC, ABC->BC, ABC->ABC, AB->C, AB->AC, AB->BC, AB->ABC, C->B, C->BC, AC->B, AC->AB}

Множество функциональных зависимостей X+. Правильность проведенной декомпозиции исходного отношения R проверяется на условие соединения без потерь, а также на принадлежность полученных функциональных зависимостей F+. Однако даже для небольшого количества атрибутов и небольшого количества функциональных зависимостей множество F+ может быть очень большим, и его вычисление трудоемким. Вместо этого можно вычислить множество X+ которое называется замыканием множества X по отношению к заданному множеству F. Функциональная зависимость X->Y следует из правил вывода ,т.е. принадлежит множеству F+ если YX+.



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

Окончательная цель нормализации сводится к получению такого проекта БД, в котором исключена избыточность информации.

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

Использование ненормализованных таблиц может привести к нарушению целостности данных (непротиворечивости информации) в БД. Различают следующие проблемы, возникающие при наличии не нормализированных таблиц:



  • Избыточность данных – в нескольких записях таблицы БД повторяется одна и та же информация

  • Аномалии обновления – при внесении обновления в одну запись в ненормализованной таблице, обновляются не все записи, связанные с ней, возникает несоответствие информации

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

  • Аномалии ввода – возникают при добавлении в таблицу новых записей




  1. Структура данных и их представление в памяти ЭВМ.

  2. Стратегия поиска данных в памяти ЭВМ.

Записи БД хранятся во внешней памяти, а их обработка производится в оперативной памяти.

Между АЗУ и внешней памятью обмен производится блоками или страницами.

Во внешней памяти существует основная область и область переполнения.

Для оценки характеристики файлов введена скоростная характеристика: доступ к блоку – передачи блока из внешней памяти в опретивную или из оперативной во внешнюю.

Кg – скоростная характеристика работы с файлами.


Блок вычисления хеш функции



Справочник участков

i
Структура:

Оценим скоростную характеристику хеширования файлов.



  1. Справочник участков загружается в оперативную память.

  2. По ссылке блок загружается в оперативную память.

  3. Обращение к внешней памяти.

Кg = 1+1+1  3.

Стратегия поиска:

1.Линейная с.п. при л.с.п. просматриваются все записи файла последовательно друг за другом. Kg = Log2h где h – количество блоков.

2. Двоичная с.п. используется для сортированного пространства.

3. Метод интерполяции – стратегия поиска с использованием вероятностных характеристик для поиска в индексном файле.

Стратегии поиска решения: слепой и эвристический; прямой, обрат-

ный и двунаправленный; иерархический поиск. Задача информа-

ционного поиска: линейный поиск, поиск в упорядоченном массиве. Последовательный и бинарный поиск, поиск в двоичном дереве; оцен-

ки сложности, лучшие и худшие случаи; хэширование, устранение коллизий.


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

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

Под СТРУКТУРОЙ ДАННЫХ в общем случае понимают множество элементов данных и множество связей между ними. Такое определение охватывает все возможные подходы к структуризации данных, но в каждой конкретной задаче используются те или иные его аспекты. Поэтому вводится дополнительная классификация структур данных, направления которой соответствуют различным аспектам их рассмотрения. Прежде чем приступать к изучению конкретных структур данных, дадим их общую классификацию по нескольким признакам.

Понятие "ФИЗИЧЕСКАЯ структура данных" отражает способ физического представления данных в памяти машины и называется еще структурой хранения, внутренней структурой или структурой памяти.

Рассмотрение структуры данных без учета ее представления в машинной памяти называется абстрактной или ЛОГИЧЕСКОЙ структурой. В общем случае между логической и соответствующей ей физической структурами существует различие, степень которого зависит от самой структуры и особенностей той среды, в которой она должна быть отражена. Вследствие этого различия существуют процедуры, осуществляющие отображение логической структуры в физическую и, наоборот, физической структуры в логическую. Эти процедуры обеспечивают, кроме того, доступ к физическим структурам и выполнение над ними различных операций, причем каждая операция рассматривается применительно к логической или физической структуре данных.

Различаются ПРОСТЫЕ (базовые, примитивные) структуры (типы) данных и ИНТЕГРИРОВАННЫЕ (структурированные, композитные, сложные). Простыми называются такие структуры данных, которые не могут быть расчленены на составные части, большие, чем биты. С точки зрения физической структуры важным является то обстоятельство, что в данной машинной архитектуре, в данной системе программирования мы всегда можем заранее сказать, каков будет размер данного простого типа и какова структура его размещения в памяти. С логической точки зрения простые данные являются неделимыми единицами. Интегрированными называются такие структуры данных, составными частями которых являются другие структуры данных - простые или в свою очередь интегрированные. Интегрированные структуры данных конструируются программистом с использованием средств интеграции данных, предоставляемых языками программирования.

В зависимости от отсутствия или наличия явно заданных связей между элементами данных следует различать НЕСВЯЗНЫЕ структуры (векторы, массивы, строки, стеки, очереди) и СВЯЗНЫЕ структуры (связные списки).

Весьма важный признак структуры данных - ее изменчивость - изменение числа элементов и (или) связей между элементами структуры. В определении изменчивости структуры не отражен факт изменения значений элементов данных, поскольку в этом случае все структуры данных имели бы свойство изменчивости. По признаку изменчивости различают структуры СТАТИЧЕСКИЕ, ПОЛУСТАТИЧЕСКИЕ, ДИНАМИЧЕСКИЕ. Классификация структур данных по признаку изменчивости приведена на рис. 1.1. Базовые структуры данных, статические, полустатические и динамические характерны для оперативной памяти и часто называются оперативными структурами. Файловые структуры соответствуют структурам данных для внешней памяти.





  1. Файловая организация данных. Обработка данных в файлах.

Файлы с плотным индексом: F – основная область памяти. Файлы с НЕ плотным индексом:


Cгл

mгл – кол. Записей в файле F.

Cгл – кол. Записей в блоке F.

Син – кол. Записей в блоке индекс-го файла.

Cгл

Cин

Пример для файлов с плотным индексом: Предположим что поиск равновероятный, тогда надо рассмотреть половину блоков файлов. Kg = 0,5*(mгл/Cгл) = 5*10-4

Где Kg – скоростная характеристика обработки файлов.





Файлы с плотным индексом.

Основной файл в этом случае не сортирован, а индексный всегда.



Файлы с неплотным индексом.

Имеют сортированные записи основного файла, в индексном файле записи всегда сортированы.

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

Записи БД хранятся во внешней памяти, а обработка записи производится в оперативной памяти ЭВМ. Между оперативной и внешней памятью обмен производиться блоками или страницами.



Обычно блок = 2

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

Рассмотрим процесс взаимодействия между ОЗУ и внешней памятью.



Оперативная и внешняя память обмениваются между собой блоками. Доступ к блоку – передача из оперативную во внешнюю или наоборот.

Основной критерий в организации файла данных – количество доступов к блоку. Кол-во доступов – это скоростная характеристика файлов.



Индексные файлы.

Это файлы, которые состоят из основного файла, в котором размещаются сортированные (первичные ) ключи основного файла, а так же ссылки на месторасположение записи основного файла. В зависимости от организации индексной и основной области различают два типа файлов:



  1. С плотным индексом – индексно-прямые файлы.

  2. С неплотным индексом – индексно-последовательные файлы.




  1. Архитектуры банков данных, состав и назначение функциональных компонент.

  2. Архитектура банка данных. Базовые компоненты, их назначение, функционирование, реализация.

Различие между логическим и физическим представлением данных было признано в 1978г.

Существует три общих уровня:



  • Концептуальный (Общая структура и схема данных)

  • Внешний (Предоставление данных конечным пользователям)

  • Внутренний (Обеспечивает чисто физический взгляд на базу данных)

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

Физическая независимость – это независимость операций хранения и обработки данных от используемых технических средств. Обеспечивается операционной системой и системой драйверов.

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

СУБД – система управления базами данных.

Функции СУБД и взаимодействие со средой окружения. СУБД – совокупность языковых и программных средств предназначенных для создания, ведения и использования базы данных.

СУБД использует во время своей работы концептуальную модель данных, представление или подсхемы , операционную систему и прикладные программы.

Пользовательское приложение выдает запрос на чтение записей СУБД. Оно сообщает код пользователя и в запросе передает этот код и значение соответствующего коду ключа.

Основные функции СУБД:



  • Определение данных. СУБД должна допускать определение данных, а именно внешней, концептуальной и внутренних схем.

  • Обработка данных. СУБД должна уметь обрабатывать запросы пользователя на выборку, изменение или удаление данных. Должна работать с планируемыми и не планируемыми запросами.

  • Безопасность и целостность данных. СУБД должна пресекать попытки нарушения правил безопасности и целостности данных определяемых администратором.

  • Восстановление данных. СУБД должна осуществлять контроль над восстановлением данных и дублированием.

  • Словарь данных. СУБД должна иметь инструменты по созданию новых словарей данных, должна содержать свои словари, и уметь подключать дополнительные.

  • Производительность информационных систем. СУБД должна обеспечивать все указанные функции с максимально возможной эффективностью.

Словари и справочники данных – это средство управления данными и в современных СУБД словари и справочники выделяются как отдельная структура.

Метаданные – это данные о данных. Например наличие неких индексных таблиц с сылками на данные, для организации быстрого поиска по базе данных ри получении запроса от пользователя.



Банк данных – система специальным образом организованных баз данных, программных, технический и языковых средств, предназначенных для централизованного накопления и для коллективного многоцелевого использования данных.



Администратор Банка данных – это человек который обеспечивает стратегию и политику принятия решения, связанными с данным предприятием, в его ведении находится СУБД и он является по сути администратором банка данных. Администратор базы данных определяет концептуальную модель данных, определяет внешние схемы для пользователя, определяет правила безопасности и целостности данных, определяет процедуры резервного копирования и восстановления, занимается управлением произв. БД т.е. реакцией на запросы.

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

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

При работе с информационными системами обычно решаются три задачи:



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

  • Разработка интерфейса взаимодействия пользователя и ЭВМ;

  • Изучить конкретную программную среду системы управления базами данных (СУБД).

Общая характеристика банков данных:

Когда мы проектируем базу данных мы имеем дело с 3-мя областями:



  • Реальный мир и его явления;

  • Информация об этих явлениях;

  • Представление информации посредством данных.

Реальный мир состоит из объектов т.е. элементов реального мира, информацию о которых мы сохраняем. Объекты имеют различные свойства (Студент – элемент реального мира, его свой-ва: фамилия, имя, отчество, № зачетной книжки и т.д.). Совокупность реальных объектов называется набором объектов. Информация о явлениях – область информации о явлениях реального мира. В этой области мы имеем дело со сведениями об объектах. Свойство объектов называется атрибутами, а значение свойств представляется значениями атрибутов. Область данных (3-я область) – в этой области информация об объектах фиксируется в виде пригодном для обработки, хранения и передачи . В этой области атрибуты называются элементами данных, а значения атрибутов представлены значениями элементов данных.

Вся таблица – это набор объектов реального мира.



  • Область информации – это набор записей об объектах;

  • Область данных – это файл или набор данных;

  • Объект реального мира – это конкретное лицо штатного расписания. В области информации эта запись имеющая определенные атрибуты.

В области данных значения атрибутов называются значения элементов данных. Элементы данных формируются в группы.

Полная группа элементов строки объединяется в запись или кортеж.

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

Первичные, вторичные ключи:

Идентификатор объекта обычно рассматривают как ключ записи



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

  • Кандидатный ключ – элемент данных, может быть первичным ключом.

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


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

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


  1. Серверы данных: области применения, основные характеристики и особенности.

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

Обзор архитектуры

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

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

  • Сервер БД обеспечивает хранение данных и выносится на третий уровень. Обычно это стандартная реляционная или объектно-ориентированная СУБД. Если третий уровень представляет собой базу данных вместе с хранимыми процедурам, триггерами и схемой, описывающей приложение в терминах реляционной модели, то второй уровень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой базы данных.

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

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



Достоинства

ПО сравнению с клиент-серверной или файл-серверной архитектурой можно выделить следующие достоинства трехуровневой архитектуры:



  • Масштабируемость

  • Конфигурируемость

  • Высокая безопасность

  • Высокая надежность

  • Низкие требования к скорости канала(сети) между терминалами и сервером приложений

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

Недостатки

Недостатки вытекают из достоинств. ПО сравнению с клиент-серверной или файл-серверной архитектурой можно выделить следующие недостатки трехуровневой архитектуры:



  • Более высокая сложность создания приложений

  • Сложнее в разворачивании и администрировании

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

  • Высокие требования к скорости канала (сети) между сревером базы данных и серверами приложений.

По способу организации информационные системы подразделяются на следующие классы:



  • системы на основе архитектуры файл-сервер

  • системы на основе клиент сервер

  • системы на основе многоуровневой архитектуры

  • системы на основе Интернет/ интранет -технологий


Архитектура файл-сервер

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

Объектами разработки в файл-серверном приложении являются компоненты приложения, определяющие логику диалога PL, а также логику обработки BL и управления данными DL. Разработанное приложение реализуется либо в виде законченного загрузочного модуля, либо в виде специального кода для интерпретации.

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

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

PS (средства представления, обслуживающие пользовательский ввод и отображающие то, что сообщает ему компонент логики представления PL, с использованием соответствующей программы)

PL (логика представления, управляющая взаимодействием между пользователем и ЭВМ, обрабатывающая действия пользователя при выборе команды в меню, щелчке на кнопке или выборе пункта в списке)

BL (прикладная логика, набор правил для принятия решений, вычислений и операций, которые должно выполнить приложение)



DL (логика управления данными – операции с БД (реализуемые SQL-операторами), которые нужно выполнить для реализации прикладной логики управления данными)

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

FS (файловые операции – дисковые операции чтения и записи данных для СУБД и других компонентов. Обычно являются функциями операционной системы)

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

Клиент-сервер предполагает, что помимо хранения данных центр. Машина или сервер БД выполняет также основной объем по обработке данных. Запрос на поиск данных выдав. Клиентом раб. Станции порождает извлечение данных на сервере. Извлеченные данные, но не файлы передаются по сети от сервера к рабочей станции и клиенту. Для архитектуры клиент-сервер используется стандартный язык запроса SQL.


  1. Строгие и эвристические методы принятия решений.

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

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

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

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

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

Характерная особенность эвристического программирования – широкое изучение приемов работы человека при решении задач в условиях неполной информации, накопление особенностей о процессах решения аналогичных задач (формирование опыта) и моделирование всего процесса переработки информации человеком путем расчленения его на так называемые элементарные информационные процессы.

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

Нет резкой и четкой границы между эвристическими и строгими методами. Более того, по мере развития науки многие эвристические методы решения формализуются, приобретают необходимую строгость и переходят в класс строгих. Пример: решение задач кавалером де Мере (XVII век), эвристические приемы, интуиция которого по отгадыванию очков при игре в кости базировались на наблюдениях. Создание теории вероятностей позволило формализовать этот процесс отгадывания, дало ему количественную оценку. (Задача кавалера де Мере: что вероятнее, при одном бросании четырех игральных костей хотя бы на одной получить единицу или при 24 бросаниях двух игральных костей хотя бы один раз получить две единицы )

Вся история науки повторяет приведенную схему:


  1. накопление и систематизация знаний,

  2. выработка “чутья” (интуиции),

  3. формализация процесса,

  4. алгоритм принятия решения.

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


  1. Основная схема развития решения достаточно сложной задачи.

Основная схема развития решения задачи или любой науки состоит из следующих этапов:

  1. Накопление и систематизация знаний;

  2. Выработка интуиции, чутья;

  3. Формализация процесса ПР;

  4. Алгоритм ПР.

пр.Задача Кавалера Де Мере (если не знаешь что это, то не говори об этом на экзамене!)

  1. Три основных типа решений (дедуктивный, абдуктивный и индуктивный).

Примем по Л.Д. Фогелю три типа решений, принимаемых человеком: дедуктивные, абдуктивные, индуктивные.

1. Дедуктивные решения (ДР) (deductio – выведение), входящие в класс строгих, отличается полной определенностью. ДР представляют собой процесс выведения некоторого заключительного утверждения (следствия) из одного или нескольких исходных утверждений, посылок по некоторому правилу, закону (например, в соответствии с законами логики). Обычная функциональная зависимость, когда по заданному значению аргумента xi и оператору R определяется значение функции yi,



yi=R(xi),

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

2. Абдуктивные решения (АР) (abducere – отводить) входят как в класс строгих, так и в класс эвристических решений и отличаются большой неопределенностью. АР представляет собой процесс выявления наиболее вероятных исходных утверждений (посылок, причин) из некоторого заключительного утверждения на основе обратных преобразований. АР строятся на основе использования прошлого опыта. Пусть, например, между некоторыми множествами посылок xi (xiX) и следствий yi (yiY) обнаружена причинно-следственная связь R. Тогда наиболее вероятной причиной появления нового следствия yi (yiY) является посылка xi ,

xi = R–1(yi).

Если оператор R известен, то известен и обратный оператор R–1 и абдуктивное решение является строгим. АР часто встречается в науке и повседневном опыте. Пример: определение температуры тела t по длине столбика ртути в термометре l. Установлен физический закон: l=R(t), в практике: t= R-1 (l). Другие примеры: анализ хозяйственной деятельности предприятия, изучение космических лучей (наблюдаем следствие Y, находятся исходные посылки, причины X).

3. Индуктивные решения (ИР) (inductio – наведение, побуждение) входят в класс эвристических решений, отличаются большой неопределенностью. ИР представляют процесс выявления наиболее вероятных закономерностей, связей, действий, существующих между исходными утверждениями. ИР выявляют оператор R по входным xi и выходным yi сигналам,

yi = R(xi).



ИР наиболее свойственно мышлению. Ребенок, поставив перед собой задачу построить домик yi из кубиков xi, предпринимает некоторые действия R, yi=R(xi). К этой же категории решений относятся действия врача при лечении больного, руководителя организации при выполнении задания. Выявляемый этим способом оператор R неоднозначен, при его определении возможен некоторый произвол, уменьшающийся по мере накопления опыта и рассмотрения решения на нескольких уровнях.

Мозг рассматривается как самоорганизующаяся система и считается, что в его основе лежит иерархия соподчиненных алгоритмов, в которой выделяют три уровня:



нижний – уровень систем условных и безусловных рефлексов,

средний – уровень системы правил процесса обучения,

высший – уровень, формирующий и корректирующий предыдущий

уровень.


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

Пример: дана последовательность

1, 2, 3. (1.1)

Найти следующую цифру этой последовательности. Если эта цифра 4, то имеем

1, 2, 3, 4, ...,

последовательность целых чисел. Но если будет сообщение “неверно”, то возможно решение

1, 2, 3, 5, ...,

последовательность простых чисел.

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

Важное значение в теории ЭР представляет исследование элементарных информационных процессов (ИЭИП) на разных уровнях. ИЭИП – факторизация, дробление, программирование мыслительного процесса. Главная задача этого исследования – выявление правил объединения элементарных информационных процессов в сложные программы. Эти исследования исходят из предположения о возможности изучения работы мозга с различной степенью детальности, что соответствует описанию информационных процессов на разных уровнях.

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

Дадим схематическую классификацию рассмотренных видов решений.



ТР


Дедуктивные

решения ДР



Абдуктивные

решения АР



Индуктивные

решения ИР






Теория строгих решений




Теория эвристических решений












  1. Полезность математической теории принятия решений. Критерии оптимальности и их выбор.

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

Наиболее важными особенностями ситуации ПР являются следующие:


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

  2. Наличие критерия, позволяющего количественно оценивать имеющиеся варианты, и по этим оценкам осуществлять выбор.

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

Критерий оптимальной классификации

При проведении классификации данного множества объектов с использованием различных методов и алгоритмов, как правило, получаются различные результаты. Естественно оптимальным вариантом классификации считать тот вариант, который содержит наименьшее число ошибок. Поэтому за критерий качества классификации принимается минимум вероятности ошибки классификации Рош. Этот критерий применим лишь в случаях, когда можно найти оценку величины Рош. Но во многих ситуациях это невозможно, и тогда при выборе наилучшей классификации используют функционалы качества разбиения, среди которых выделим три основных вида: функционалы от внутриклассовых расстояний Ф(rij(o)) , функционалы от межклассовых расстояний U(rij()), функционалы смешанного типа V(rij(o), rij()). Как правило, функционалы Ф(rij(o)) минимизируются, а функционалы U(rij()) максимизируются.




    1. Критерий максимина

<< предыдущая страница   следующая страница >>