Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Электронные средства сбора и обработки информации. Учебное пособие
.pdf
а при передаче единицы потенциал инвертируется на противоположный
(рис. 3.9, в). Это позволяет решить проблемы с синхронизацией и низкочастотной составляющей. Кроме того, в отличие от метода биполярного
кодирования с альтернативной инверсией, он требует всего двух уровней
потенциала в линии связи. К недостаткам этого метода можно отнести
необходимость увеличения полосы пропускания линии связи.
Манчестерский код является импульсным кодом. Для передачи данных каждый такт делится на две части и информация кодируется перепадами потенциала, происходящими в середине каждого такта (рис. 3.9, г).
Единица кодируется перепадом от низкого уровня сигнала к высокому,
а ноль – обратным перепадом. В начале каждого такта может происходить
служебный перепад сигнала, если нужно представить несколько единиц
или нулей подряд. Так как сигнал изменяется по крайней мере один раз за
такт передачи одного бита данных, то манчестерский код обладает хорошими самосинхронизирующими свойствами.
Потенциальный код 2B1Q имеет четыре уровня сигнала (рис. 3.9, д).
Название этого кода описывает принцип его работы. За один такт сигнал,
имеющий четыре состояния, передает два бита. Это позволяет увеличить
скорость передачи, но сильно снижает помехозащищенность линии связи.
3.6.3. Логическое кодирование
Логическое кодирование позволяет улучшить различные потенциальные коды. Как было сказано выше, одним из недостатков потенциальных
кодов является отсутствие синхронизации и наличие низкочастотной составляющей. Применение логического кодирования позволяет заменять
длинные последовательности одинаковых бит, приводящие к появлению
низкочастотой составляющей, вкраплениями их инверсных копий. Логическое кодирование делится на два типа – избыточные коды и скрэмблирование.
Избыточные коды основаны на разбиении исходной последовательности бит на символы. Затем происходит замена исходного символа
на новый, имеющий большее количество бит, чем исходный. Например,
логический код 4В/5В, используемый в технологиях Fast Ethernet, заменяет исходные символы длиной в 4 бита на символы длиной в 5 бит. Соответственно результирующие символы содержат большее количество бито-
81

вых комбинаций, чем исходные. Так, в коде 4В/5В результирующие сим-
35iii i
BAB B
−−
=⊕⊕
33 35 35
()
iiii iii iii
CBBB ABB BBA
−− −− −−
=⊕⊕=⊕⊕ ⊕⊕ =
волы могут содержать 32-битовые комбинации, в то время как исходные
символы – только 16. Поэтому в результирующем коде можно отобрать 16
таких комбинаций, которые не содержат большого количества нулей, а
остальные считать запрещенными кодами (code violation). Кроме того, избыточное кодирование позволяет приемнику распознавать ошибки передачи. Если приемник принимает запрещенный код, значит, на линии произошла ошибка передачи.
Скрэмблирование – это перемешивание данных скрэмблером перед
передачей их в линию с помощью потенциального кода [9].
Метод скрэмблирования основан на побитном вычислении результирующего кода по определенным правилам, включающим биты исходного
кода, полученные в предыдущих тактах, и биты результирующего кода.
Например, скрэмблер может реализовывать следующее соотношение:
,
где Bi – результирующий двоичный код, полученный на i-м такте работы
скрэмблера; Ai – исходный двоичный код, поступающий на i-м такте
на вход скрэмблера; B
на три такта ранее текущего такта; B
– результирующий двоичный код, полученный
i-3
– результирующий двоичный код,
i-5
полученный на пять тактов ранее текущего такта; ⊕– операция исключающего ИЛИ (сложение по модулю 2).
Для получения исходной посылки полученные данные передаются
дескрэмблеру. Дескрэмблер восстанавливает исходную посылку на основании обратного соотношения:
.
Различные алгоритмы скрэмблирования отличаются количеством слагаемых, дающих цифру результирующего кода, и сдвигом между слагаемыми. Так, в сетях ISDN при передаче данных от сети к абоненту используется преобразование со сдвигами в 5 и 23 позиции, а при передаче данных от абонента в сеть – со сдвигами 18 и 23 позиции.
82

4. БАЗЫ ДАННЫХ
4.1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Информационная система (ИС) – это некий механизм для хранения,
модификации и поиска информации.
База данных (БД) – это набор структурированной информации (т. е.
имеется некоторая логическая структура, схема, модель, которая связывает между собой разные данные), предназначенный для совместного использования несколькими пользователями одновременно.
Система управления базами данных (СУБД) – инструментальные про-
граммные средства, предназначенные для разработки базы данных.
Прикладные программы (Приложения) – программные средства,
предназначенные для доступа пользователей к базе данных.
Схема базы данных – описывает структуру, взаимоотношение и взаимозависимость между отдельными компонентами, а также правила модификации данных.
Модель данных – принципы, на основе которых построена схема базы
данных.
Основные задачи и функции базы данных:
1. Обеспечивать просмотр и модификацию данных.
Это основная задача любой информационной системы. Механизм реализации этих возможностей обычно скрыт от пользователя.
2. Обеспечивать одновременный доступ нескольких пользователей к
базе данных.
При одновременной работе нескольких пользователей в информационной системе не должны возникать конфликты при редактировании одной и той же информации, в то же время недопустима ситуация, когда
один пользователь, работая с той или иной информацией, делает невозможной работу других пользователей.
3. Предоставлять возможность администратору системы выполнять
различные действия для поддержания информационной системы в рабочем состоянии.
Информационная система должна позволять выполнять различные
административные действия и настройки, т. е. настраиваться на новые аппаратные ресурсы, добавлять или удалять пользователей и т. д.
83

4. Обеспечивать идентификацию пользователей, ограничивать их
Файл-сервер
Данные
Программа
Программа
Программа
права на доступ к различным данным, защищать данные от несанкционированного доступа.
Любая информационная система должна разграничивать права доступа к различным данным. Например, одни пользователи могут просматривать и модифицировать данные, а другие могут только просматривать.
Кроме того, некоторые пользователи видят всю информацию, хранящуюся
в базе данных, некоторые видят только часть информации. Также информационная система должна иметь механизмы защиты от попыток получить несанкционированный доступ к данным.
5. Обеспечивать целостность и непротиворечивость данных в случае
аппаратных и программных сбоев.
Информационная система должна быть максимально устойчива к аппаратным и программным ошибкам (или к злому умыслу). В случае выхода аппаратуры или программного обеспечения из строя, вирусной или хакерской атаки должна существовать возможность восстановить работоспособность системы с минимальными потерями информации.
4.2. АРХИТЕКТУРЫ БАЗ ДАННЫХ
4.2.1. Архитектура на основе разделяемых файлов
Суть этой архитектуры сводится к тому, что на каждом персональном
компьютере, подключенном к компьютерной сети, запускается приложение, использующее общие файлы, находящиеся на файловом сервере
(рис. 4.1). Данная архитектура получила широкое распространение на
начальных этапах развития локальных сетей. Центральным звеном этих
локальных сетей являлся файловый сервер.
Рис. 4.1. Архитектура на основе разделяемых файлов
84

Преимуществом такой архитектуры является возможность очень
быстро и относительно недорого запустить какое-либо однопользовательское приложение в многопользовательском режиме. Каждая запущенная
копия программы работает с общими данными так, как будто это ее собственные персональные данные.
Кроме преимуществ, эта архитектура имеет и недостатки:
1. Большой трафик сети при работе нескольких пользователей, что
замедляет работу системы. Кроме того, существенно замедляется вся
остальная работа по сети, как, например, печать файлов, загрузка программ и т. д.
2. Нет никаких специальных возможностей для многопользователь-
ского доступа, что приводит к затруднению или полной невозможности
для пользователей работать с одними и теми же данными.
3. При случайном аппаратном сбое файловый сервер не проверяет
корректность имеющихся на нем данных. Проверкой и восстановлением
информации в этом случае занимается администратор системы, что занимает большое количество времени.
4. При аппаратном сбое возникала проблема незакрытых транзакций,
т. е. действий, которые нельзя прерывать до их окончания, а в случае их
прерывания все выполненные действия должны быть отменены (например, денежный перевод).
Если некоторые недостатки использования архитектуры на основе
разделяемых файлов можно устранить, то недостатки, связанные с низкой
производительностью при интенсивной работе нескольких пользователей,
и проблемы по обеспечению целостности данных устранить невозможно.
В настоящее время данная архитектура используется в системах с небольшим количеством пользователей, с небольшими объемами данных и
некритичной, недорогой информацией.
4.2.2. Архитектура «хост-терминал»
В архитектуре «хост-терминал» на рабочем месте пользователя, называемом терминалом, производятся только отображение и ввод информации, а все программы и данные хранятся и выполняются на центральном
компьютере, который называется хостом (рис. 4.2). Такая архитектура использовалась в многотерминальных системах на основе больших компью-
85

теров (мэйнфреймов) и была особенно распространена в 70-х и начале
Хост
Программы
Данные
Терминал
Терминал
Терминал
Терминал
80-х годов двадцатого века.
Рис. 4.2. Архитектура «хост-терминал»
На хосте работает общее, единое для всех пользователей приложение.
Это приложение работает со своими данными, хранящимися также на хосте. Каждый из пользователей подключается к информационной системе
через систему удаленного терминального доступа. На рабочем месте пользователя производятся ввод информации, ее пересылка на хост, получение
и отработка команд на вывод данных.
Операционные системы и программы, работающие на таких компьютерах, как и сами компьютеры, были изначально разработаны для многопользовательского доступа, поэтому неразрешимых проблем с одновременной работой нескольких пользователей на таких системах не возникает. Не возникает также и особых проблем с пропускной способностью линий связи, так как передавалась только та информация, которая необходима пользователю.
Однако администрирование и сопровождение хост-терминальных
информационных систем очень дорогое. Также существенной проблемой
является масштабируемость терминальных систем. Увеличение числа
пользователей в какой-то момент приводило к необходимости очень существенных финансовых вложений, связанных с модернизацией аппаратного комплекса в целом.
86

4.2.3. Архитектура «клиент-сервер»
Сервер
Программа-сервер
Данные
Программа-
клиент
Программа-
клиент
Программа-
клиент
На сегодняшний день это самая распространенная архитектура баз
данных (рис. 4.3). Архитектура «клиент-сервер» основана на двух типах
программ – на программе-клиенте и программе-сервере. Программаклиент устанавливается на компьютер пользователя и формирует запросы
для программы-сервера. Также этой программой формируется интерфейс
пользователя и организация ввода-вывода информации. Программа-сервер
находится на компьютере, выполняющем функции сервера, и обеспечивает обработку запросов программы-клиента.
Рис. 4.3. Архитектура «клиент-сервер»
Положительными характеристиками архитектуры «клиент-сервер»
являются:
− пониженный сетевой трафик относительно архитектуры на основе
разделяемых файлов;
− уменьшенная сложность программы-клиента (большая часть
нагрузки ложится на серверную часть), вследствие чего снижаются требования к аппаратным мощностям клиентских компьютеров;
− наличие программы-сервера повышает целостность и безопас-
ность базы данных.
Недостатками этой архитектуры являются более высокие финансовые
затраты на аппаратное и программное обеспечение, а также то, что большое количество клиентских компьютеров, расположенных в разных местах, вызывает определенные трудности со своевременным обновлением
клиентских приложений на всех компьютерах-клиентах.
87

Программа-сервер базы данных является основной программой
с точки зрения доступа к данным. Поэтому основная часть функций, которая
должна быть реализована в базе данных, ложится на программу-сервер.
Программа-сервер выполняет следующие основные функции:
1. Обрабатывает клиентские запросы по извлечению и модификации
данных. Это является основной функцией сервера баз данных. Чаще всего
механизм реализации этой функции скрыт от пользователя, то есть пользователь просто формулирует, а сервер базы данных исполняет запрос.
2. Обеспечивает одновременный доступ к данным нескольких поль-
зователей. Один из аспектов многопользовательского доступа – это возможность параллельного доступа к данным нескольких пользователей.
Сервер базы данных работает таким образом, что обработка нескольких
запросов происходит одновременно, то есть если два пользователя одновременно обратились к серверу баз данных со своими запросами, то сервер обрабатывает эти запросы одновременно.
3. Обеспечивает идентификацию пользователей, ограничивает их
права на доступ к различным данным, а также защищает данные от несанкционированного доступа. В реальных базах данных существует разграничение по правам доступа к данным. Какие-то пользователи могут и
читать, и модифицировать данные, какие-то – только читать, а кто-то вообще может не видеть определенные данные.
4. Обеспечивает целостность и непротиворечивость данных в случае
аппаратных и программных сбоев. В случае внезапной перезагрузки или
выключения компьютера, на котором работает сервер базы данных, информация не должна быть искажена или потеряна. Также при внезапном
отключении или перезагрузке компьютера, на котором работает программа-клиент, сервер базы данных должен снять блокировки установленные
программой-клиентом, отменить незавершенные транзакции и, возможно,
выполнить какие-то другие действия.
5. Обеспечивает защиту данных от несанкционированного доступа.
Сервер базы данных должен обеспечивать защиту от попыток получения
доступа к данным тем лицам, которые не являются пользователями информационной системы.
6. Предоставляет дополнительные средства администрирования базы
данных. База данных должна позволять добавлять или удалять пользова-
88

телей, настраиваться на новые ресурсы, предоставлять инструменты архивирования и восстановления информации.
Если сравнить функции, выполняемые программой-сервером, с функ-
циями базы данных, то можно увидеть, что они практически не отличаются. Из этого можно сделать вывод, что большую часть задач по обработке
данных и команд пользователя выполняет программа-сервер. Поэтому
к компьютеру, на котором устанавливается программа-сервер, предъявляются высокие требования как по производительности, так и по надежности.
Программа-клиент в системах управления базами данных отвечает
за интерфейс пользователя, при помощи которого осуществляется взаимодействие пользователя с базой данных. Взаимодействие строится на основе каких-либо экранных форм или диалога. На основе команд, введенных
пользователем, программа-клиент формирует запрос к серверу базы данных. После того как запрос будет отработан, данные передаются программе-клиенту, и программа-клиент выдает их на экран.
Существуют программы-клиенты, которые не ведут никакого диалога
с пользователем, а выполняют системные задачи, например принимают
сообщения по почте, извлекают из них данные и заносят в базу данных.
4.3. УРОВНИ ВОСПРИЯТИЯ ДАННЫХ
При работе с СУБД разные пользователи видят СУБД по-разному.
Конечный пользователь работает в приложении и ничего не знает о внутренней структуре базы данных. Приложение, используемое пользователем, видит и использует только ту часть базы данных, которую ему разрешено видеть. Администратор, устанавливающий права доступа пользователям, видит всю схему базы данных, но не видит физической реализации базы данных, то есть как и в каком формате сохраняются файлы, как
осуществляется связь между различными таблицами и т. д. Программисты, разрабатывающие ядро исполнителя запросов (SQL-сервер) и предоставляющие администратору возможность создавать схему базу данных,
реализуют отображение базы данных на внешние устройства и в память.
В соответствии с этим выделяют три уровня представления данных.
Прикладной (пользовательский) уровень – это уровень конечного
пользователя. Пользователь видит базу данных в виде взаимосвязанных
полей и таблиц в форме набора меню и команд, выполняя которые, он решает свою задачу.
89

Концептуальный уровень – это уровень программиста и администра-
Склад
Наименование
Адрес
Товар
Наименование
Изготовитель
Цена
Кадры
Отдел
Должность
Транспорт
Тип
Отдел
Водители
ФИО
Категория
Менеджеры
ФИО
Стаж работы
тора. На этом уровне работает программист, создающий прикладные программы и разрабатывающий схему базы данных.
Физический уровень – это уровень реализации. На этом уровне опре-
деляется, как хранятся данные и в каком формате, как осуществляется доступ к ним. На этом уровне работают разработчики различных СУБД. Чаще всего физическое представление не только скрыто от посторонних
глаз, но и является коммерческой тайной разработчиков СУБД.
4.4. МОДЕЛИ ДАННЫХ
4.4.1. Иерархическая модель данных
Иерархическая модель данных – одна из первых моделей представле-
ния сложной структуры данных. Данные в иерархической модели представлены в виде коллекций записей и организованы по принципу древовидной структуры – в виде отношения «предок-потомок». Каждая запись
имеет не более одной родительской записи и может иметь несколько подчиненных записей. Связи записей реализуются в виде физических указателей с одной записи на другую. Такая модель может быть представлена
как древовидный граф, где узлы представлены записями, а связи множествами (рис. 4.4).
Рис. 4.4. Иерархическая модель данных
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
