/
Текст
О.Л. Голицына, И.И. Попов,
Н.О. Максимов, Т.П. Мартына
ИНФОМАЦИОННЫЕ
ТЕХНОЛОГИИ
Введение
На современном этапе развитая общества информационные
системы и технологии становятся теми средствами, которые че-
ловек может использовать как для расширения, так и для разви-
тия своих собственных способностей. Термин «технология»,
обозначающий существо основного предмета данного пособия,
в современных публикациях является настолько часто употреб-
ляемым и расхожим, что практически стал исполнять роль при-
лагательного, отражающего в большей степени специфику како-
го-либо средства.
Согласно словарю Ожегова, технология —- это:
1) совокупность методов и приемов воздействия на ка-
кие-либо предметы, объекты или процессы (труда);
2) наука, посвященная изучению или разработке этих мето-
дов (приемов).
Следует заключить, что информационные техноло-
гии должны относиться к совокупности методов воздействия на
информационные объекты (информация, данные, знания, систе-
мы, ресурсы, программы и пр.) или процессы (обработка, поиск,
хранение, представление, передача информации), а также с тео-
ретическими знаниями о таких методах. При этом сами эти ме-
тоды могут носить ярко выраженный информационный (немате-
риальный) характер.
В большинстве случаев термин «информационные техноло-
гии» ассоциируется с системой методов, способов и средств сбо-
ра, регистрации, хранения, поиска, обработки и передачи ин-
формации на основе применения средств вычислительной тех-
ники и телекоммуникаций.
Сбор данных (информации) представляет собой про-
цесс регистрации, фиксации, записи данных о событиях, объек-
тах (реальных и абстрактных), связях, признаках и соответствую-
щих действиях. Более сложным является понятие «сбор инфор-
мации» — процесс отбора из различных источников данных,
необходимых для решения целевой задачи основной деятельно-
сти, их идентификации и представления в форме, необходимой
4
Введение
для ввода в ЭВМ, последующего поиска и функциональной об-
работки.
Обработка данных включает в себя ряд взаимосвязан-
ных операций, таких, как поиск, выборка, сортировка, слияние,
проведение расчетов и т. д. Обработка данных представляет со-
бой процесс управления данными, по возможности, без учета
смысла, заложенного в данные.
Обработка информации представляет собой перера-
ботку данных, реализующую содержательное (функциональное)
преобразование информации какого-либо определенного типа
(текстовой, цифровой, графической и др.). Причем, зачастую
тип данных (как форма существования информации) определя-
ется характером содержания, т. е. обработка информации — это
преобразование данных с учетом их содержания.
Особенностью информационных технологий является то,
что они не могул рассматриваться изолированно, вне матери-
альной сферы. Информация является неотъемлемой и, часто,
определяющей компонентой практически всех материальных
процессов, которые инициирует (или в которых участвует) че-
ловек. Такое соотношение материальной и информационной
составляющих определяет, что эффективность использования
информационных технологий (в том числе вычислительной тех-
ники, программного и информационного обеспечения) прояв-
ляется и может быть оценена только в сфере материального
производства.
Другая важная особенность ИТ предопределена естествен-
ным для больших систем требованием надежности и устойчиво-
сти функционирования и развития, а также возможности интел-
лектуального (человеческого) контроля в условиях большой
сложности. Это означает, что сфера информационных техноло-
гий должна быть распространена практически на все этапы жиз-
ненного цикла продукта, в том числе обеспечивающие и инстру-
ментальные средства.
Третья особенность — это непосредственное или опосредо-
ванное участие человека в технологических процессах. Любой
автоматизированный и даже автоматический процесс на том или
ином этапе связан с необходимостью представления (или полу-
чения) информации в форме удобной (иногда единственно воз-
можной) для человека. Это породило отдельное направление —
технологии человеко-машинного взаимодействия и интерфейсы
информационных систем.
Введение
5
Данный учебник написан в предположении, что читатели
владеют основами информатики и вычислительной техники,
а также знакомы с языками программирования.
Книга должна рассматриваться скорее как введение в про-
блематику автоматизированной обработки информации, в силу
ограниченности объема, не претендующее на полномасштабное
изложение материала разделов, каждый из которых представляет
отдельную дисциплину и зачастую представлен полноценным
пособием. Для заинтересованного читателя материал книги мо-
жет стать отправной точкой и путеводителем в многообразии ме-
тодов, средств и технологий обработки информации с использо-
ванием средств вычислительной техники.
В главе 1 представлены общие вопросы терминологии, поня-
тий и классов объектов и процессов, связанных с проблематикой
информационных технологий: информатика — состав и структу-
ра; соотношение понятий «информация», «данные», «знания»;
структуризация взаимосвязи информатики с предметной обла-
стью применения; рассмотрены уровни информационных про-
цессов.
В главе 2 представлены основные (базовые) типы технологий
пользователя: обработка текстовой и табличной информации.
Рассмотрены определения моделей документа, языки разметки
документов, технологии XML, функции текстового редактора
Word; работа с электронными таблицами на примере MS Excel.
Глава 3 посвящена описанию основных принципов мультиме-
дийных технологий: обработка аудиоинформации; форматы сжа-
тия аудиосигнала (MP3 и др.); технологии статических изображе-
ний; программные средства обработки изображений; принципы
цифрового видео, элементы технологий алгоритмов MPEG.
Глава 4 содержит описание смешанных (кросс-) информаци-
онных технологий, в том числе — оптическое распознавание
символов (OCR); системы распознавания речи; системы генера-
ции речи; средства автоматизированного и автоматического пе-
ревода текстов.
В главе 5 рассматриваются технологии доступа к данным:
файловые системы, базы данных и СУБД; физическая организа-
ция данных в системах управления данными, а также хранилища
данных и их использование для анализа информации (OLAP).
Глава 6 содержит описание сетевых информационных техно-
логий и технологий Internet. Рассмотрены структуры сетей, мо-
дель взаимодействия открытых систем, технологии Internet,
6
Введение
прикладные протоколы коммуникации Internet, распределенные
файловые системы Internet, распределенные информационные
системы Internet.
В главе 7 рассматриваются технологии распределенной обра-
ботки информации: распределенные информационные ресурсы;
клиент-серверные архитектуры распределенной обработки дан-
ных; архитектуры сервера баз данных; схемы размещения и дос-
тупа к данным в распределенных БД: объектно-ориентирован-
ные технологии распределенной обработки (DCOM, CORBA);
электронные библиотеки.
В главе 8 рассмотрены защищенные информационные техно-
логии (ЗИТ), в том числе — проблемы информационной без-
опасности и зашиты информации: особенности некоторых крип-
тографических методов зашиты данных; характеристики компь-
ютерных вирусов и средств борьбы с ним; системы защиты
данных в СУБД и информационных сетях.
В приложении приводится глоссарий терминов и список со-
кращений.
Учебник базируется на материалах, накопленных авторами в
процессе практической и исследовательской деятельности, а
также преподавания в МИФИ, МИСИ, МЭСИ, РГГУ. Авторы
выражают благодарность коллегам, принявшим участие в обсуж-
дении материала, а также студентам РГГУ и РЭА им. Г. В. Пле-
ханова за предоставленные иллюстративные материалы.
Глава 1
ИНФОРМАТИКА И ИНФОРМАЦИОННЫЕ
ТЕХНОЛОГИИ
Информатика — наука, изучающая законы и методы накоп-
ления, передачи и обработки информации. В качестве источни-
ков информатики как теоретической платформы информацион-
ных систем обычно называют две науки — документалистику и
кибернетику, возникновение которых было тесно связано с бур-
ным развитием сложных производственных систем и техноло-
гий. Основным предметом документалистики было изучение ра-
циональных средств и методов повышения эффективности доку-
ментооборота как информационной основы накопления и
поиска информации.
Понятие информации составило также и основу кибернети-
ки, как науки о методах анализа и синтеза систем эффективного
управления.
1.1. Информатика — состав и структура
Сфера информатики является в достаточной степени неопре-
деленной по той же причине, по которой неопределенной явля-
ется область интересов родственной дисциплины — кибернети-
ки, а именно — значительная широта и «размытость» критериев
отбора соответствующих знаний! для включения в предметную
область. Для кибернетики таким критерием является примене-
ние математических методов и моделей для описания процессов
управления и связи.
Informatique во французском языке трактуется как «вычисли-
тельная техника» что, в частности, зафиксировано в названии
одной из фирм-производителей ЭВМ — СП («Compagne
Internationale pour Informatique», т. e. «Международная компания
по информатике», что является почти полным синонимом на-
А Глава 1. Информатика и информационные технологии
звания другой фирмы - - «International Buisiness Machines» —
IBM, гораздо более известным).
В немецком языке Informatik есть совокупность знаний, свя-
занных с документоведением. библиотековедением, архивоведе-
нием и т. д. (включая музеи, ландшафты, картографию), т. е. ох-
ватывает любые проявления и применения информации.
В англоязычных странах приняты термины computer science
(вычислительная техника, программирование и смежные дисци-
плины), что является аналогом «французской информатики» и
information science (информационные науки), что аналогично «не-
мецкой информатике».
Таким образом, здесь мы имеем варианты как наиболее уз-
кого. так и наиболее широкого толкования информатики.
Любая из наук, взаимодействуя с информатикой, может по-
родить свою специальную «отраслевую» информатику, которая
будет обслуживать соответствующую науку, содействуя внедре-
нию в нее информационных технологий и способствуя инфор-
матизации общества.
Область интересов информатики включает разработку общих
подходов к применению информационных технологий в естест-
венно-научных и социально-гуманитарных исследованиях (в том
числе — специализированного программного обеспечения); соз-
дание баз и банков данных/знаний: применение информацион-
ных технологий представления данных и анализа структуриро-
ванных, текстовых, изобразительных и др. источников; компью-
терное моделирование; использование информационных сетей
{Internet и др.); развитие и применение мультимедиа и других но-
вых направлений информатизации, а также применение инфор-
мационных технологий в образовании.
В соответствии со сказанным выше, можно говорить о при-
кладной информатике (связанной с использованием стандартных
и разработкой специфичных информационных технологий) и
теоретической информатике.
Развитие информатики сфорхгировало устойчивую структуру
профессионального сообщества, состоящего из нескольких
групп (слоев), взаимодействующих, но несколько различающих-
ся по своей роли:
• первая группа — это разработчики алгоритмов, программ и
технологий;
• вторая группа — квалифицированные пользователи инфор-
мационных технологий и программного обеспечения; они
1.1. Информатика — состав и структура
9
осваивают реалии стремительно меняющегося мира ин-
формационных технологий, творчески адаптируют его но-
вые достижения (с учетом специфики данных источников
и задач их обработки) и внедряют их в свою практику;
• третья (и. возможно, наиболее многочисленная) группа —
широкий слой пользователей, пришедших к необходимо-
сти применять в своей работе информационные техноло-
гии. которые они используют, ориентируясь преимущест-
венно на тот опыт и те образцы, которые продуцируют
первые две группы.
Конечно, эта «стратификация» достаточно условна — группы
могут пересекаться: специалисты из третьей группы могут пере-
ходить во вторую, а из второй группы — в первую и т. д. Важно,
однако, другое — эта структура должна не только обеспечивать
науку и производство новыми методами и современными техно-
логиями, но и давать убедительные примеры их использования
при решении крупных проблем.
Сегодня предмет информатики связывают с совокупность та-
ких понятий, как:
• средства вычислительной техники;
• программное обеспечение средств вычислительной тех-
ники;
• методы взаимодействия человека с вычислительной техни-
кой и программными средствами (программным обеспече-
нием);
• информационные ресурсы (ИР), в том числе средства соз-
дания, хранения, поиска информации;
• средства и технологии доступа к распределенным инфор-
мационным ресурсам;
• методы и средства взаимодействия человека с информаци-
онными ресурсами на базе вычислительной техники с ис-
пользованием программного обеспечения;
• инструментальные средства и технологии, обеспечивающие
жизненный цикл ИР.
Таким образом, определения понятий «информатика» и «ин-
формационные технологии» должны рассматриваться во взаимо-
связи с понятиями «информация», «данные», «знания».
Информатика занимается обработкой информации (хотя и
представленной преимущественно в числовой и символьной
форме), а не собственно вычислениями — обработкой данных,
являющимися предметами программирования.
10
Глава 1. Информатика и информационные технологии
1.2. Соотношение понятий «информация», «данные»,
«знания»
Понятие «информация» достаточно широко используется в
обычной жизни современного человека. Значение информации в
жизни общества стремительно растет, меняются методы работы
с информацией, расширяются сферы применения информаци-
онных технологий. Динамизм информатики как науки отражает-
ся и в постоянном появлении новых определений и толкований
основного понятия информатики — информации.
Информация
Наиболее часто термин «информация» употребляется в его
исходном значении (от латинского слова informatio) — это све-
дения, сообщения о каком-либо событии, деятельности и т. д.
При этом в различных областях знаний могут вводиться разные
определения этого понятия.
Информация в кибернетических системах — основа функ-
ционирования самоуправляемых систем (технических, биологи-
ческих, социальных), и она рассматривается как обозначение со-
держания сигнала, полученного системой из окружающего мира
в процессе взаимодействия системы с ним (Н. Винер).
Объединяющим (по крайней мере, с философской точки
зрения) определением является следующее: «Информация — это
отраженное разнообразие» (А. Д. Урсул). Разнообразие и отраже-
ние в развивающемся материальном мире неразрывно связаны и
взаимно определяют друг друга: чем выше внутреннее разнооб-
разие системы, тем более адекватно отражение ею внешнего
мира. Чем выше возможности отражения (восприятия и понима-
ния взаимодействия с окружающей средой), тем больше у систе-
мы возможностей адаптироваться — развиваться и увеличивать
свое разнообразие (принцип необходимого разнообразия).
Данные
Остановимся на понятии «данные», которое, например, в
117] вводится следующим образом: «Мы живем в материальном
мире. Все, что нас окружает, и с чем мы сталкиваемся, относит-
1.2. Соотношение понятий «информация», «данные», «знания» 11
ся либо к физическим телам, либо к физическим полям. Все
объекты находятся в состоянии непрерывного движения и изме-
нения, которое сопровождается обменом энергией и ее перехо-
дом из одной формы в другую. Все виды энергообмена сопрово-
ждаются появлением сигналов. При взаимодействии сигналов с
физическими телами в последних возникают определенные из-
менения свойств — это явление называется регистрацией сигна-
лов. Такие изменения можно наблюдать, измерять или фиксиро-
вать теми или иными способами — при этом возникают и реги-
стрируются новые сигналы, т. е. образуются данные».
Это определение принимает первичность и объективность
существования данных, в том числе — независимость от субъек-
та их использующего. Но если существование данных не зависит
от того, будут ли они когда-либо использованы или нет, эффек-
тивность функционирования многих процессов (имеющих кон-
тур управления) зависит от данных. Например, данные, исполь-
зуемые для изменения поведения процесса на основе построе-
ния прогноза (т. е. факты, характеризующие предшествующие
состояния), позволят оптимизировать получение конечного ре-
зультата, и будут уже выступать в роли управляющей информации.
Роль и характер используемых данных в целом отражены на
обобщенной схеме управляемого функционального процесса,
представленной на рис. 1.1.
Система преобразования ресурса, функциональность кото-
рой обусловлена проблемным контекстом (данными, представ-
ляющими целевую задачу), фактически преобразует и информа-
цию. Потенциально полезные данные, выделенные из общего
множества в соответствии с контекстом задачи (исходная ин-
формация) в результате использования порождает выходную ин-
I Данные-факты! J
Рис. 1.1. Обооыенная схема функционального процесса, управляемого данными
12
Глава 1. Информатика и информационные технологии
формацию — актуализированные данные, подтверждающие или
отрицающие действенность выбранных исходных данных для ре-
шения задачи.
Знания
Переходя к рассмотрению роли понятия «информация» в че-
ловеко-машинных комплексах, используемых в когнитивных,
социальных и производственных системах, необходимо более
полно определить понятие «знания».
Понятие «знания» может быть определено следующим обра-
зом: «Научное знание - вся совокупность сведений, являющая-
ся результатом отражения материальной и нематериальной дей-
ствительности в человеческом сознании» (Урсул А. Д.).
С другой стороны, утверждается, что «научно-техническая ин-
формация — это задокументированное научное знание, введенное в
оборот, участвующее в функционировании и развитии общест-
ва» (Муранивский Т. В.). То есть, знание, являющееся достояни-
ем чьего-либо сознания и не получившее «толчка» для циркули-
рования в обществе, не может рассматриваться как информация.
Основываясь на этом, можно констатировать условность
превращения знания в информацию и информации в знание.
Информация выступает как форма знания, отчужденная от его
носителя (сознания субъекта), и обобществляющая его для все-
общего использования: информация — это динамическая форма
существования знания, обеспечивающая его распространение и
действенность (применение). Получая информацию, пользова-
тель превращает ее путем интеллектуального усвоения (инфор-
мационно-когнитивного процесса) в свои новые личностные
знания, т. е. происходит воссоздание знаний на основе инфор-
мации.
Соответственно можно сказать, что на начальном этапе зна-
ния — это данные, актуализированные субъектом, особенностью
которых является то. что они не могут быть использованы без
участия самого субъекта.
Результаты решения задач (обычно, «субъективизированно-
го»). обобщения в виде законов, теорий, совокупностей взглядов
и представлений, выступающие как истинная, проверенная ин-
формация, отчужденные от субъекта их сформировавших, обра-
зуют обобществленные знания. Представленные обычно в форме
1.2. Соотношение понятий «информация», «данные», «знания» 13
документов и сообщений, они. в свою очередь, могут рассматри-
ваться как объективно существующие данные.
Функциональное соотношение этих понятий иллюстрирует-
ся схемой, приведенной на рис. 1.2, где когнитивный процесс
рассматривается как неотъемлемая составляющая любого сози-
дательного, как творческого, так и производственного процесса,
предполагающего возможность прогнозирования и управления.
Рис. 1.2. Соотношение понятий «информация», «данные», «знания»
Станут ли данные информацией, зависит от того, известен
ли метод преобразования (отражения) данных в новые или уже
известные понятия. То есть, чтобы извлечь информацию из
данных, необходимо иметь метод получения информации, адек-
ватный форме представления данных. Причем необходимо учи-
тывать тот факт, что информация не является статичным объек-
том — она динамична и существует только в момент взаимодей-
ствия данных и методов. Можно сказать, что все прочее время
она пребывает в «потенциальном» состоянии и представлена
как данные.
Кроме того, одни и те же данные могут представлять разную
информацию в зависимости от степени адекватности взаимодей-
ствующих с ними методов, к которым надо отнести и условия се
извлечения (например, наличного знания субъекта).
Таким образом, в отличие от данных, которые по своей при-
роде являются объективными (так как это результат регистра-
и
Глава 1. Информатика и информационные технологии
ции объективно существующих сигналов, вызванных измене-
ниями в материальных телах или полях), методы являются субъ-
ективными в том смысле, что они создаются или выбираются и
далее целенаправленно применяются для решения практически
значимых задач конкретного субъекта. В основе создаваемых
(искусственных) методов лежат алгоритмы (упорядоченные по-
следовательности команд), составленные и подготовленные
субъектами (людьми), а в основе естественных методов лежат
биологические свойства субъектов. Соответственно информация
возникает и существует в момент взаимодействия объективных
данных и субъективных методов.
Свойства информации
Как и всякий объект, информация обладает свойствами. На
свойства информации влияют как свойства данных, так и свой-
ства методов, взаимодействующих с данными в ходе информа-
ционного процесса. По окончании процесса обработки свойства
информации переносятся на свойства новых данных, то есть
свойства методов могут переходить в свойства данных.
Спектр свойств информации существенно шире того, кото-
рым обладают другие, например, физические объекты. Известно
высказывание Б. Шоу: «Если у тебя и меня имеется по одному
яблоку, и мы ими обменялись, то у каждого из нас осталось по
одному яблоку; если у тебя и меня имеется по одной идее и мы
ими обменялись, то у каждого из нас будет по две идеи». Ин-
формация специфична и с точки зрения старения (информация
не только устаревает со временем, но и при появлении новой,
отрицающей или уточняющей информации).
С другой стороны, свойства информации необходимо рас-
сматривать в их органическом единстве: не только в контексте ее
использования в сфере информационной деятельности, но и на
других этапах работы и в других областях деятельности. С точки
зрения исследования и создания эффективных методов и
средств обработки информации эти атрибутивные свойства де-
лятся на две группы:
• свойства, определяющие объективные закономерности,
связанные с информацией и преимущественно в пределах
отдельной предметной области науки, техники, производ-
ства (условно эти свойства можно назвать «внутренними»);
1.2. Соотношение понятий «информация», «данные», «знания» 15
• свойства, определяющие закономерности движения инфор-
мации в межотраслевом масштабе («внешние» свойства).
Любой процесс (событие, действие) существует нс сам по
себе, а непременно во взаимосвязи с другими процессами, при-
чем связи эти разнообразны:
• причина — следствие:
• прошлое — настоящее — будущее:
• укрупнение или дробление:
• часть — целое и т. п.
Говоря об информационной технологии как об автоматизи-
рованном процессе преобразования объектов (например, пред-
ставленных в машинной форме описаний реальных объектов),
необходимо определить адекватный способ их идентификации.
Это необходимо для их поиска - «узнавания» и выделения из
множества других объектов окружающей среды.
Виды и коммуникационные свойства информации
Существуют различные деления и классификации информа-
ции. Приведем наиболее известные.
Виды информации по способу восприятия. У человека пять ор-
ганов чувств: зрение, слух, обоняние, вкус, осязание.
По разным оценкам от 75 до 90 % информации человек по-
лучает с помощью органов зрения. Специалисты, утверждаю-
щие, что 90 % информации человек получает через органы зре-
ния, примерно 9 % относят к информации, получаемой с помо-
щью органов слуха и 1 % — с помощью остальных органов
чувств (обоняния, вкуса, осязания).
Классификация по структуре и форме. Отметим, что разделе-
ние информации на табличную (числовую), текстовую и графиче-
скую отражает последовательность, в которой эти виды «осваи-
вались» компьютерами (табл. 1.1). Первоначальные языки про-
граммирования (ЯП) были рассчитаны прежде всего на
обработку числовой (Fortran. Algol), нежели символьной инфор-
мации. Раньше появляются и табличные базы данных, также
преимущественно рассчитанные на обработку числовых таблиц
(файлов). Затем осваиваются текстовые файлы (текстовые редак-
торы) и текстовые БД (автоматизированные информацион-
но-поисковые системы - - библиографические и полнотексто-
вые). Наконец, с существенным повышением быстродействия и
16
Глава 1. Информатика и информационные технологии
емкости памяти компьютеров, на сцену выходят графические и
другие мультимедийные файлы (графические, аудио, видеорс-
дакторы). Говорить о графических (мультимедиа) базах данных и
АИС пока все же преждевременно.
Таблица I. /. Основные классы информации по структуре и форме
Основание для классификации Классы информации
По уровням сложности Сигнал Сообщение, документ Информационный массив Информацион- ный ресурс
По типу сигнала Аналоговая (непрерывная) Цифровая (дискретная) -
По уровням доступа и организации Данные в регист- ровой памяти Данные в опера- тивной памяти Файлы данных на внешних устройствах Базы данных ... i
По способам кодиро- Цифровая (вычис- Символьная (ал-
вания и представления лительные дан- фавитно-цифро- Г рафическая
(данные, файлы и БД) ные, двоичные) вая, строчная)
По организации дан- ных (файлы и БД) Табличная Текстовая Графическая (муль- тимедиа)
Эта последовательность прямо противоположна той, в кото-
рой данные виды информации осваивает человек. Действитель-
но, сначала он знакомится с графическими образами (птицы,
цветы и бабочки на шкафчиках для одежды в детском саду), за-
тем — учится читать и писать, и только потом осваивает таблицу
умножения.
Классификация по содержанию. В то время как классифика-
ция по структуре и форме является более характерной и важной
с точки зрения информационных систем и технологий, классифи-
кация по содержанию более соответствует уровню информацион-
ных ресурсов (табл. 1.2).
Таблица 1.2. Классификация информации по содержанию (предметная область)
7-=^- - --------------------==‘=—--------------=--------- ----------~ =Ц
! Тип информации Содержание Поставщик содержания
Индексы рынка, котировки, цены, Биржи, банки, службы финансовой
Биржевая и финансовая , 7
обзоры информации
, Экономическая: демографи- Первичная и вторичная; национале- Переписи: опросы, аналитические
ческая статистика ная, региональная статистика исследования
,|,. Данные о предприятиях, товарах, . ,
I Коммерческая Аналитические службы
услугах
1.3. Структуризация взаимосвязи информатики...
17
Окончание табл. 1.2
Тип информации Содержание Поставщик содержания 1
Деловые новости Состояние рынка, события в облас- ти экономики Службы фильтрации, агентства новостей
Научно-техническая Фундаментальные прикладные I Центры НТИ, издательства, '
науки библиотеки
। Правовая Нормативно-правовые акты Законодательные органы. Минюст ч
Медицинская Медучреждения, болезни, лекарства, яды Информационные центры, библиотеки, госпитали 1: н
1 Потребительская и развлека- • тельная Образование, музыка, музеи, биб- лиотеки. кино Справочные службы, учреждения
Бытовая Погода, туризм, справочники Информационные службы |
1.3. Структуризация взаимосвязи информатики
с предметной областью применения
Подобная структуризация может быть осуществлена в сле-
дующих взаимосвязанных аспектах:
• уровни процессов и объектов информатики, информатиза-
ции;
• факторы или компоненты (страты, слои, подслои) инфор-
мационных технологий;
• фазы или этапы развития автоматизированных информа-
ционных технологий (АИТ) и систем (АИС);
• типология пользователей машин, программ, систем.
Уровни информационных процессов
Прежде всего, могут быть рассмотрены уровни, различаю-
щиеся степенью связи «информатики» с «предметной областью»:
• информационные технологии:
• информационные системы;
• информационные ресурсы.
В принципе, можно утверждать. что информационные тех-
нологии являются менее зависимыми от структуры и специфики
предметной области, чем информационные системы и/или ре-
сурсы, однако эта связь всегда существует, если, например, оп-
18
Глава 1. Информатика и информационные технологии
ределить автоматизированную информационную
технологию как целенаправленное и согласованное исполь-
зование:
• технических средств информатизации (аппаратурный
фактор);
• программных средств и систем (программный фактор);
• информационный фактор — собственно информация,
т. е. сигналы, сообщения, массивы данных, файлы и базы
данных:
• интеллектуальных усилий и человеческого труда (человече-
ский, гуманитарный фактор), для решения задачи (задач)
предметной области — всегда присутствует человек-поль-
зователь, решающий задачи какой-либо предметной облас-
ти с использованием инструментария информатики.
Аналогично, информационные системы рассматри-
ваются как комплексы информационных технологий, ориенти-
рованных на процедуры сбора, обработки, хранения, поиска, пе-
редачи и отображения информации предметной области, а ин-
формационные ресурсы — комплексы соответствующих
информационных систем, рассматриваемые дополнительно так-
же и на социально-экономических уровнях описания и приме-
нения.
Этапы развития информатизации
Могут быть выделены следующие этапы развития информа-
тизации, связанные с вышеперечисленными компонентами (фак-
торами).
Технический период («железный век», аппаратная
фаза), в течение которого сложились основные представления о
структуре универсальных вычислительных машин (ЭВМ), опрс-
де.тилась архитектура и типы устройств. За этот период отпали
АВМ (аналоговые ВМ), машины для открывания и закрывания
дверей, шахматные машины и пр. специализированные контрол-
леры. Этот период можно ограничить 1947—1970 гг., с момента
появления первой ЭВМ и до окончательного утверждения со-
временных представлений о составе, принципах функциониро-
вания и структурах ЭВМ. В последующем развитие в основном
шло в направлениях повышения экономической, технической,
энергетической эффективности путем миниатюризации и повы-
1.3. Структуризация взаимосвязи информатики...
19
шения быстродействия электронных и механических устройств
ЭВМ. Нет оснований ожидать каких-либо революций с точки
зрения появления неожиданных устройств или структур ЭВМ.
Исследования в направлении специализированных схем или
процессоров постоянно идут: появляются «машины баз данных»,
«процессоры изображений», «коммуникационные процессоры» и
пр., однако вряд ли они смогут в обозримом будущем вытеснить
с массовых рынков ЭВМ классической структуры, а разве что
будут входить в их состав [14. 24. 25]. Эти машины включают
центральное устройство, состоящее из процессора и главной па-
мяти, а также широкий спектр периферийных устройств, ис-
пользуемых для долговременного хранения, ввода-вывода и пре-
образования информации. Центральный процессор и память
при всем многообразии конструкций подчиняются так называе-
мым принципам фон-Неймана [24].
Программный пер и о д («бронзовый век», программная
фаза) — выработалась современная классификация программ-
ных средств, их структур и взаимосвязей, сложились языки про-
граммирования, разработаны компиляторы и принципы проце-
дурной обработки, операционные системы, языки управления
заданиями. Ограничен 1954 — 1970 гг., а именно — появлением
первого языка программирования Fortran и формированием
окончательных представлений о функциях операционных сис-
тем, систем программирования и прикладных программ (прило-
жений), что наиболее ярко проявилось в появлении операцион-
ной системы UNIX и языка программирования С (Си) [9]. Мож-
но сказать, выражаясь экстремистски, что за эти годы «все
программы были написаны», осталось их только модернизиро-
вать и исправлять (здесь есть элемент преувеличения, однако бо-
лее чем 2000-летняя история математики, физики, механики к
1970 г. нашла свое полное отражение в библиотеках и фондах
программ и алгоритмов).
Информационный период («серебряный век», ин-
формационная фаза) — в центре внимания исследователей и
разработчиков оказываются структуры данных, языки описания
(ЯОД) и манипулирования (ЯМД) данными, непроцедурные
подходы к построению систем обработки информации, базы
данных, автоматизированные И ПС — с 1970 г. по 1990 г. При-
держиваясь вышсиспользованной терминологии, скажем, что за
этот период «все данные были введены в машины», и их остает-
ся только уточнять и исправлять [14].
20
Глава 1. Информатика и информационные технологии
Гуманитарный период («золотой век») — связан с
резким возрастанием круга пользователей АИТ, появлением
ПЭВМ, развитием систем коммуникации и повышением роли
интерфейсных, коммуникационных и навигационных возмож-
ностей соответствующих систем (с 1990 г.).
Конструктивный (процедурный) аспект
Перечисленные компоненты (факторы) — т е х н и ч е с к и с,
программные средства, информация и человече-
ский фактор — в значительной степени взаимозаменяемы
при решении задач. Это означает, что в широких пределах неко-
торый эффект может быть получен, а некоторая задача — реше-
на как в рамках электронных схем, гак и посредством программ
или информационных ресурсов (а также естественно-интеллек-
туальными усилиями человека).
Предположим, необходимо извлечь квадратный корень из
некоторого числа, тогда:
• электронное решение — собрать нелинейный уси-
литель, в котором диод или транзистор используют началь-
ную часть вольт-амперной характеристики, которая близка
к параболе;
• алгоритмический подход — написать программу,
реализующую алгоритм Герона извлечения корня;
• информационный подход — построить таблицу ве-
личин А', К в которой Y=
Аналогично могул быть рассмотрены такие примеры, как пе-
ремножение двух переменных, построение случайной последова-
тельности чисел и т. п.
Заметим, что чисто аппаратурное решение задач
положено в основу так называемых аналоговых вычислительных
машин (АВМ), в настоящее время практически забытых.
В 1949—1950 гг. были созданы первые АВМ, называемые инте-
граторами постоянного тока: ИПТ-1—ИПТ-5. Они предназнача-
лись для решения линейных дифференциальных уравнений с
постоянными и переменными коэффициентами и широко при-
менялись для имитационного моделирования сложных динами-
ческих систем (рис. 1.3).
Здесь же надо отметить, что техническое, программное и ин-
формационное обеспечение как бы образуют различные слои об-
1.3. Структуризация взаимосвязи информатики...
21
Рис. 1.3. АВМ ИПТ-5 и приставка нелинейных Э.ЧГжов (справа).
Разработка 1452 т.
работки информации, взаимодействие между которыми должно
быть сбалансировано в том смысле, что нс должно быть чрез-
мерно «толстых» или «тонких» слоев.
Содержательный или информационный аспект
Здесь мы сталкиваемся с трактовкой и связью таких поня-
тий, как адрес, имя, содержание'.
Электронно-аппаратурный уровень (этап) ас-
социируется с понятием адреса (номера позиции) данных или
устройств (элементов) ЭВМ. Машинные команды оперируют в
терминах адресов оперативной памяти, все внешние устройства
ЭВМ имеют машинные номера (адреса). На начальном этапе
развития систем программирования существовало такое поня-
тие, как программирование в машинных адресах (или машинных
кодах), при этом управление как процессами вычислений, так и
пересылкой информации между оперативной и внешней памя-
тью осуществляется путем обращения к соответствующим абсо-
лютным адресам памяти.
Программа при этом является просто совокупностью машин-
ных слов и задается своими начальным и конечным адресами в
памяти. Например, программист должен был описать процедуру
1 Заметим, что в повседневной жизни люди стремятся установить
взаимосвязь «имя — адрес — содержание». Иногда это удается (напри-
мер, профессия — кузнеш фамилия — Кузнецов; адрес — г. Москва,
ул. Кузнецкий мост), но чаше — нет (например, профессия — препода-
ватель, фамилия — Попов, адрес — г. Москва, ул. В. Лациса...).
22
Глава 1. Информатика и информационные технологии
выборки данных с магнитной ленты примерно следующими ко-
мандами: «на лентопротяжном механизме № 4 перемотать ленту,
пропустив 11 блоков, начиная с этого места записать 3 блока ин-
формации с магнитной ленты в оперативную память, начиная с
адреса 234 561» и т. п. Подобные манипуляции соответствуют
программированию в машинных адресах.
Программный этап или уровень приводит к поня-
тию имени данного, устройства, программы и пр. Языки про-
граммирования (системы программирования) используют сим-
волические обозначения (имена, идентификаторы) для данных
(чисел, строк, структур) и элементов программ (блоков, функ-
ций, процедур). Операционные системы (ОС) оперируют имена-
ми файлов, томов, устройств, реализуя управление данными, из-
бавляют пользователя от работы с адресами, заменяя ее на рабо-
ту с именами данных. Типичная команда ОС (например, DOS)
не содержит каких-либо машинных адресов:
серу c:\gsmes\coniic.doc с г г..
Информационный этап, или уровень, приводит к
определению и использованию содержания (значения)
данного. Пользователей информационных систем не волнует ма-
шинный адрес хранения информации или имя файла, их интере-
сует содержание. Связи адреса и содержания реализуются на
уровне прикладных программ, именуемых СУБД (системы
управления базами данных) и АИПС (автоматизированные ин-
формационно-поисковые системы).
В свою очередь, установление таких связей может быть осу-
ществлено как программно (вычисление адреса по содержа-
нию, или рандомизация, хэширование) так и информаци-
онно, с помощью дополнительных файлов, указательных таб-
лиц (индексов, инверсных списков и пр. — индексирование).
Первый тип использовался в ранних СУБД и широкого распро-
странения тогда не получил. Существенное удешевление нако-
пителей информации привело к тому, что в последнее время
преимущественно используется второй тип связей «содержа-
ние-адрес». Попытки реализовать эти связи аппаратно (ассоциа-
тивная память, Data Base Machine и пр. [14]), еще не получили
широкого коммерческого распространения. В то же время дос-
тигнуты определенные обнадеживающие результаты на пути
комбинирования этих двух подходов — индексирования и
ра нд ом и з аци и.
1.3. Структуризация взаимосвязи информатики...
23
Существенно также, что в этот период появились языки про-
граммирования информационных систем (в которых основное
внимание уделяется описанию данных сложной структуры, а не
описанию вычислений и алгоритмов).
Пользователи средств информатизации
Проследим вкратце развитие во времени человеческого фак-
тора информатизации, рассмотрев динамику пользователей
(ЭВМ, систем, информационных технологий), а именно:
• программист-алгоритмизатор. оператор ЭВМ (доминируют
на первой, аппаратурной, фазе информатизации):
• системный программист, прикладной программист, адми-
нистратор ОС (системы, машины), оператор ЭВМ (систем-
ный оператор, SysOp), вторая фаза:
• администратор базы данных, квалифицированный конеч-
ный пользователь (EndUser). информационный посредник
(третья фаза);
• появление в массово\[ масштабе ПЭВМ (четвертая фаза)
прерывает эту дифференциацию и начинает процесс инте-
грации указанных функций на уровне конечного пользова-
теля, (кроме того, появляются новые профессии — напри-
мер, WEB-дизайнер и пр.).
В исторической перспективе развития информатики к сере-
дине 80-х гг. сложились следующие представления о видах поль-
зователей вычислительных и информационных систем:
• администратор базы данных (АБД) — лицо или группа, от-
вечающая за сопровождение данных, назначение уровней
доступа, включение/исключение пользователей, защи-
ту/восстановленис данных. Обычно АБД участвует в проек-
тировании и определении структуры БД;
• системный администратор — лицо (группа), отвечающее за
установку и сопровождение операционной системы ЭВМ и
приложений общего назначения:
• оператор ЭВМ — отвечает за текущее функционирование
вычислительной установки, осуществляет слежение за про-
хождением задач, готовностью устройств, наличием и ис-
пользованием машинных ресурсов (оперативной и внеш-
ней памяти, времени, расходных материалов и пр.);
24
Глава 1. Информатика и информационные технологии
• операторы подготовки данных (ОПД) — персонал, осуще-
ствляющий ввод данных с рабочих листов или документов,
на основе соответствующих инструкций, в среде специаль-
ных программных интерфейсов (или аппаратных средств);
• интерактивные пользователи — лица, имеющие доступ на
ввод, коррекцию, обновление, чничтожение и чтение дан-
ных в рамках, как правило, ограниченной области БД;
• конечные пользователи — лица, использующие БД для по-
лучения справок и решения задач.
Отдельной строкой! рассматривались разработчики, среди ко-
торых принято выделять две группы:
• системные программисты — персонал, занимающийся раз-
работкой операционных систем, приложений общего на-
значения, с использованием машинно-ориентированных
языков;
• прикладные программисты — персонал, разрабатывающий
конкретные прикладные задачи, с использованием систем
программирования высокого уровня или готовых других
прикладных систем.
Здесь видна достаточно стройная система, в которой выделя-
ются:
• разработчики программных средств (системных и при-
кладных);
• системные пользователи ЭВМ (администраторы и операто-
ры, ответственные за функционирование ОС и общесис-
темных приложений);
• системные пользователи ИС и БД (администраторы и опе-
раторы, ответственные за функционирование информаци-
онной системы);
• конечные пользователи (интерактивные и нет).
С появлением персональных ЭВМ начинается интеграция
всех данных ролей. Рядовой пользователь ПЭВМ совмещает в
одном лице:
• администратора системы (когда он редактирует файлы
config.sys или autoexec.bat или решает, какие файлы
ОС или прикладной системы он будет копировать с дист-
рибутивного диска);
• оператора ЭВМ (запуская и останавливая программы, про-
сматривая содержимое дисков или даже заправляя бумагу в
принтер);
1.4. Уровни информационных процессов 25
• администратора БД (когда он в рамках системы FoxPro
создает файлы данных), оператора (когда он заполняет эти
файлы);
• конечного пользователя (когда он редактирует или про-
сматривает файлы данных).
Реже пользователь такой становится прикладным програм-
мистом и почти никогда — системным.
1.4. Уровни информационных процессов
Рассмотрим подробнее аспект уровней информационных
процессов, описанный выше.
Информационные технологии
Для определения содержания и места информационных тех-
нологий рассмотрим следующие определения:
• методология — объединенная единым подходом сово-
купность методов, применяемых для получения запланиро-
ванного проектного результата;
• технология — это представленное в инструктивной
форме выражение знаний и опыта, позволяющее рацио-
нально организовать получение проектного результата пу-
тем выполнения некоторого процесса с использованием
тех или иных средств, реализующих соответствующий
метод;
• технологический процесс — последовательность
действий (согласованных, в том числе с условиями выпол-
нения, технологических операций, использующих соответ-
ствующие средства), направленных на создание заданного
(проектного) объекта:
• технологическая операция представляет собой
одно или несколько действий, направленных в рамках тех-
нологии на изменение состояния объекта или его взаимо-
связи с окружением.
Технологическая операция характеризуется наличием:
• одного или нескольких входных объектов:
• выходного объекта — результата обработки;
• управления (субъекта и средств) обработкой.
26
Глава 1. Информатика и информационные технологии
Практически любой конкретный технологический процесс
можно рассматривать как часть более сложного процесса и сово-
купность менее сложных (в пределе — элементарных) техноло-
гических процессов.
Элементарным технологическим процессом
можно назвать такой, дальнейшая декомпозиция которого при-
водит к потере признаков, характерных для метода, положенно-
го в основу данной технологии. В этом смысле технологическая
операция может рассматриваться как элементарный технологи-
ческий процесс.
В каждом из перечисленных понятий явно или неявно при-
сутствует понятие метод, имеющее общефилософское значение,
как путь исследования или преобразования действительности,
основанный на знании закономерностей развития этой действи-
тельности. Метод предполагает средства - то, с помощью чего
осуществляется действие, реализующее метод, и способы — то,
каким образом осуществляется действие. Обратим также внима-
ние на то, что методы и средства могут использоваться в разных
процессах и, следовательно, технологиях.
В рамках системного анализа сложные системы изучаются по-
средством разбиения на элементы: предполагается, что сложная
система есть целое, состоящее из взаимосвязанных частей, кото-
рые не могут быть определены априорно, а строятся или выбира-
ются в процессе декомпозиции (физической или концептуаль-
ной) исходной системы. Образующиеся в результате декомпози-
ции элементы обычно являются центрами некоторой активности
(деятельности), и потому называются элементами деятельности.
При рассмотрении сложных систем наиболее часто выделяют
функциональные элементы/подсистемы (однородные группы ре-
шаемых задач или технологических процессов) и организационные
(обособленные, автономные и централизованно управляемые как
целеустремленные элементы сложной структуры).
Декомпозиция сложной системы на технологические под-
процессы приводит к понятию элемента (объект-процесс) техно-
логии [32] (рис. 1.4):
г = Р(т, и). g = g(y, т. и).
Элементарный процесс состоит из двух контуров:
• рабочего (энергетического, материального), включающего
рабочий вход и и рабочий выход г. функция преобразования
входа в выход соответствует назначению данного элемента;
1.4. Уровни информационных процессов
27
т (управляющий вход)
и
Рабочий вход
у = Р(т,и}
g = g(y,'n.y)
у
Рабочий выход
g (управляющий
информационный выход)
Рис. 1.4. Общая структура элемента технологии
• управляющего (информационного), включающего рабочий
вход т и выход g.
Первое из вышеприведенных соотношений связывает выход
процесса г с управляющим воздействием и рабочим входом, а
второе — отражает оценку процесса в тех или иных шкалах g
(все переменные в обшем случае могут быть векторами разных
размерностей).
Комплексные технологические процессы очевидно могут
конструироваться по меньшей мере путем соединения элементов
последовательно по управляющим (Р,—Р,) или рабочим конту-
рам (Р,—Р,—Р4, рис. 1.5).
Рис. 1.5. Примеры соединения элементов технологии в комплексный процесс
систему): а — последовательное соединение по управляющим контурам; б — по-
следовательное соединение по рабочим контурам
Информационные технологии могут быть определены, как
технологии, полностью или частично состоящие из элементар-
ных процессов, в которых рабочий контур образуют информаци-
онные потоки (массивы, данные, файлы) (табл. 1.3).
28
Глава 1. Информатика и информационные технологии
Таблица 1.3. Примеры элементов обших и автоматизированных информационных
технологий
Тип технологии Рабочий вход Рабочий выход Управляющий вход Управляющий = выход
। Перевозка грузов i на а/'м Расход топлива и др. материалов Доставка груза из пункта А в пункт В (тыс. км) Управление (средства управления) а/м Приборы ! (показания приборов)
АЭС Расход твэл Выработка электро- энергии (кВт-ч) Манипуляции поглощающими стержнями Показания приборов
Шаг задания операцион- ной системы OS/36C [31] StstYl (входной файл) (выходной файл) sysi:: (карты задания) sy2?pi:it i (протокол)
iКомпиляция | программы [9] Исходный модуль Результирующий (объектный) модуль Опции (ключи) компилятора Протокол трансляции s
! Команда ОС MS DOS [31] .copy .test. Файл test. txt Копия файла на дисководе =: Командная строка (сссу) Протокол на устройстве пе- чати (pre.)
Команда forTiat a: /•. I >prn Исходная дискета на устройстве s: Форматированная дискета s: Команда и ключ команды .- \- (запросить мет- ку диска) Протокол фор- матирования на устройстве ! рГП
Транзакция (обращение к АИПС или БД) База данных Результат поиска (записи или доку- менты) Запрос на ЯЗ системы Протокол поиска
Комплексы информационных технологий представляют со-
бой процессы обработки, поиска, представления данных, резуль-
таты шагов которых (элементов технологии) определяются как
запланированными типами обработки, выполняемой как на
предшествуюших/последуюших шагах (рабочие контуры т—у и
характер операции Р), так и фактически осуществившимися со-
бытиями (информация g).
Очевидно, не все из реальных элементов технологий предпо-
лагают обязательное наличие всех входов (выходов), указанных
на рис. 1.4 (см., например, табл. 1.3).
Автоматизированные информационные технологии (АИТ) мо-
гут представлять собой как развитие неавтоматизированных
(предметных) |17] технологий (если прототипы известны и су-
ществовали достаточно давно), так и новые способы и процес-
сы обработки информации, ранее недоступные. АИТ являются
1.4. Уровни информационных процессов
29
композициями четырех взаимосвязанных и взаимозаменяемых
факторов (компонент): интеллектуальных усилий и навыков
пользователя; технических средств обработки данных; про-
граммного обеспечения; информационных ресурсов.
Схема рис. 1.4 может быть детализирована в схему абстракт-
ного технологического процесса, представленную на рис. 1.6.
Целевая обработка — это функционально-ориентиро-
ванное преобразование получаемых или хранимых объектов об-
работки, обеспечивающее получение проектного результата под
управлением субъекта (в качестве которого, так или иначе, вы-
ступает человек).
Информационные ресурсы — внешние по отноше-
нию к функциональному процессу источники информации, ис-
пользование которых (обычно при управлении процессом) по-
зволяет обеспечить эффективность целевой обработки.
Интерфейсные средства реализуют тот или иной
способ (режим) взаимодействия субъекта с компонентами функ-
циональной обработки.
Рис. 1.6. Обобщенная схема абстрактного технологического процесса
30
Глава 1. Информатика и информационные технологии
Таким образом, с точки зрения обобщенной схемы, пред-
ставленной на рис. 1.6. ИТ можно подразделить на три основ-
ных класса:
• технологии собственно обработки информации (ввода, об-
работки, хранения, поиска и передачи данных):
• технологии человеко-машинного взаимодействия, реали-
зуемые в интерфейсах;
• инструментальные и другие вспомогательные технологии,
позволяющие эффективно создавать и развивать ИТ пред-
шествующих классов.
Отметим, что такое разделение, отражающее специализирован-
ность используемых методов и средств, соответствует и «специа-
лизации» пользователей соответствующих технологий, где давно
сложилось разделение на «разработчиков», «конечных пользова-
телей» и «администраторов»?. С точки зрения этой «специализа-
ции» представляется целесообразным подразделять технологии на
базовые, обеспечивающие и инструментальные.
Базовыми информационными технологиями (т. е. используемы-
ми практически в любом процессе) являются те, которые в зна-
чительной степени определяются требованиями «архитектурно-
го» уровня — принципами фон Неймана. Обработка разнород-
ной по форме информации, представляемой разнотипными
данными, предопределяет соответствующий ряд средств и техно-
логий, ориентированных на форму представления информации и
виды операций, как, например (табл. 1.4):
• системы числовой обработки:
• системы и технологии обработки текстов (текстовые про-
цессоры, системы распознавания текстов);
• средства обработки мультимедийной информации (напри-
мер, растровой или векторной графики, звука, видео).
Обычно эти технологии реализуются в виде прикладных
функционально-ориентированных продуктов, которые ассоции-
руются с понятием «технологии конечного пользователя».
Следующая группа — «обеспечивающие» информационные
технологии — средства, непосредственно позволяющие эффек-
тивно достигать целевого, функционально значимого результата,
включает:
• технологии и системы управления данными и. в том чис-
ле — информационные системы:
• средства и технологии распределенной обработки (сетевые
технологии);
1.4. Уровни информационных процессов
31
Таблица 1.4. Базовые информационные технологии
№ Тип технологии Входная информация Выходная информация I Пример программных ' средств
«Чистые технологии» — обработка одного типа данных
1 Обработка текстов (документов) Текст .txt .doc, .rtf., .pdf Lexicon, Word, Adobe Acrobat
2 Обработка таблиц Таблица .xsl, .dbt Access, Excel, Foxpro
з Обработка статиче- ских изображений Картинка .pix, .pcx, .bmp, .gif - Paint, PhotoShop ,
4 Обработка звукового сигнала Оцифрованный звук .wav, .mp3 - I Magix 4 in One
5 Обработка видео Видеосигнал ,avi. .mpg, .dat, vob - Adobe Premier, | Pinnacle Studio I
«Смешанные» технологии — преобразование типов данных I
6 Распознавание образов Картинка .pix, .pcx, .bmp, .gif Текст .txt, .doc, .rtf., .pdf FineReader
7 Распознавание голоса Оцифрованный звук .wav, .mp3 Текст .txt, .doc, .rtf., .pdf «Змей-Горыныч» (Dragon Dictate)
8 Чтение текста Текст .txt, .doc, .rtf., .pdf Оцифрованный звук .wav, .mp3 Govorilka, Speak & Mail
• средства удаленного доступа (телекоммуникационные тех-
нологии);
• средства и технологии человеко-машинного взаимодейст-
вия и интерфейсы конечного пользователя;
• средства и технологии защиты информации.
Отметим, что перечисленные технологии являются, безус-
ловно, важнейшими, но они относятся к «обеспечивающим»,
поскольку необходимость или необязательность их использова-
ния обусловлены характером задач пользователя или средой
Ьункпионирования.
Эти технологии, имеющие инженерный, «системный» харак-
тер, ориентированы на администраторов.
Третью группу составляют «инструментальные» технологии,
обеспечивающие жизненный цикл самих ИТ, как, например:
• технологии проектирования и инструментальные средства
разработки программного обеспечения;
• технологии проектирования баз данных;
• технологии реинжиниринга информационных систем.
32
Глава 1. Информатика и информационные технологии
Такая схема разделения ИТ на «базовые», «обеспечивающие»
и «инструментальные» в целом не противоречит и другой клас-
сификации ИТ — с точки зрения объектов и методов. Здесь
можно выделить следующие «страты»:
• процессов обработки, передачи и управления данными
(ввод, хранение, поиск, манипулирование), происходящих
в основном без учета семантики и прагматики:
• управления информацией — представление, извлечение,
поиск, преобразование данных (ее представляющих) в
контексте семантики и прагматики (в том числе для субъ-
екта обработки — это получение, передача и использова-
ние знаний);
• управления взаимодействием с человеком (представление
информации предметной области и результатов обработки,
человеко-машинный диалог). Для случая инструменталь-
ных технологий (создания и использования целесообраз-
ных средств решения прикладных задач) — это методы и
средства связывания технологий обработки данных и тех-
нологий обработки информации.
Информационные системы
Обобщенное определение информационной системы может
быть построено, например, путем рассмотрения системы инфор-
мационного обмена с декомпозицией ее на функциональные (ос-
новная и информационная деятельность} и организационные (по-
требители-поставщики информации и информационные системы)
элементы [33]. Информационный обмен представляет собой
сложный процесс, допускающий рассмотрение в разных аспек-
тах, на различных уровнях иерархии описания, в свете постанов-
ки разнообразных исследовательских задач.
Взаимодействие потребителей-поставщиков информации. Эле-
менты систем информационного обмена могут быть выбраны ис-
ходя из следующих рассуждений. Решение всякой проблемы в об-
щем случае включает следующие этапы (рис. 1.7).
1 . Поиск информации (документов, сообщений). Внешняя сре-
да — с точки зрения потребителя информации — является неко-
торым генератором потока сообщений, представленных на языке
коммуникации, нс тождественном «внутреннему языку» потреби-
теля информации, связанному с конкретной решаемой пробле-
1.4. Уровни информационных процессов
33
Информационная
деятельность
Основная
деятельность
Информационная
деятельность
Рис 1.7. Структура или основные фазы деятельности потребителей-поставщиков
информации
мой. На этом этапе используются услуги различных информаци-
онных систем и неформальные каналы, доступные конкретному
потребителю информации.
2 . Интерпретация сообщений. В связи с конкретным характе-
ром решаемой задачи и профилем потребителя, имеет место уже
помянутое различие «языка коммуникаций» и «внутреннего
зыка». Данный этап заключается в адаптации сообщений — из-
лечении из сообщений информации, необходимой для решения
поставленной задачи. Второй этап заканчивается созданием ин-
формационного обеспечения (ИО) решаемой задачи. Информаци-
онным обеспечением является результат первого этапа: построе-
ние совместными усилиями потребителя и информационной
системы некоторой совокупности сообщений, релевантных (по-
тенциально полезных) для задач исследователя.
3 . Решение задачи — используя ИО. а также собственные зна-
ния и опыт, и прилагая определенные усилия, потребитель (раз-
работчик) создает новую информацию, составляющую решение.
Эта информация зафиксирована на языке задачи и без дополни-
тельных затрат труда не представляет ценности за пределами
конкретной задачи.
4 . Создание сообщений — поставщик информации осуществ-
ляет интерпретацию полученного результата на «языке коммуни-
34
Глава 1. Информатика и информационные технологии
каций», т. е. подготавливает сообщение в стандартной форме,
одной из тех, которые приняты на данном этапе развития систе-
мы научных, деловых (и др. видов) коммуникаций вообще и ин-
формационных систем, в частности. Это может быть письмо,
проект договора, статья, выступление на конференции, цирку-
лярное сообщение по электронной почте и т. д.
5 . Распространение сообщений. Создатели сообщений вступа-
ют в активное взаимодействие с системой коммуникации, затра-
чивая определенные усилия по вводу новой информации в один
(или несколько) из доступных каналов коммуникации (пересыл-
ка документа, депонирование рукописи, публикация, аудиторное
выступление или сообщение и т. д.). Эффективность данного
этапа определяется как степенью усилий, предпринимаемых по-
ставщиком информации, так и теми возможностями, которые
ему предоставляет система коммуникации.
Очевидно, что в общем случае данные этапы реализуются
сложным последовательно-параллельным образом (рис. 1.7 ото-
бражает обобщенную логику' рассматриваемого процесса). Кро-
ме того, в конкретных ситуациях процесс принятия и исполне-
ния решения не обязательно включает все указанные этапы или,
по крайней мере, не все они предполагают сравнимые затраты
труда (времени).
Первый и пятый этапы являются этапами собственно ин-
формационной деятельности (ИД), поскольку их эффективность
во многом определяется свойствами совокупности коммуника-
ций и информационных систем.
Третий этап — собственно основная деятельность
(ОД).
Этапы второй и четвертый носят пограничный, диффузный
характер и могут быть отнесены как к ИД, так и к ОД.
Приведенная линейная микроструктура (последовательность
разных типов деятельности) представляет собой некоторый эле-
мент деятельности (центр деятельности); в виде взаимосвязанной
совокупности этих элементов может быть представлена любая,
весьма сложная и разветвленная система (деятельность), функ-
ционирование которой опирается на информационный обмен.
Примером может являться система наука — техника — про-
изводство.
Пересечение совокупности типов деятельности является орга-
низационным элементом системы информационного обмена (ОЭ).
Примерами ОЭ, в зависимости от уровня декомпозиции исход-
1.4. Уровни информационных процессов 35
ной системы, являются отдельные исследователи, малые группы
и коллективы, НИИ, отрасли, система национальной научной
деятельности, другие формально и организационно структуриро-
ванные элементы и объединения. Характерными признаками ор-
ганизационного элемента являются компактность (территориаль-
ная, административная, экономическая, физическая и т. д.) и ге-
терогенность (включение различных типов деятельности).
В противовес организационным могут быть выделены
функциональные элементы, соответствующие определенному
типу (этапу) деятельности (например, «сбор информации» или
«передача информации»), В рассмотренном (рис. 1.7) примере
выделяются, по меньшей мере, два функциональных элемен-
та — ИД (по входу и выходу) и ОД. В системах, базирующихся
на обмене информацией, целесообразно выделять два типа ор-
ганизационных элементов: включающие и не включающие ОД.
Элементы первого типа являются потребителями-поставщиками
(конечными) информации и могут взаимодействовать как не-
посредственно (реализуя информационную деятельность в соб-
ственных организационных рамках), так и через посредство
элементов второго типа, которые представляют собой промежу-
точных потребителей-поставщиков информации, или информа-
ционные системы.
Наиболее общее представление о взаимодействии потребите-
лей-поставщиков информации проиллюстрировано рис. 1.8. Уров-
ни (каналы) взаимодействия могут быть разделены на три типа:
• непосредственное рабочее взаимодействие (связь 3—3)
представляет собой постоянный обмен информацией в
группе или коллективе, в процессе совместной деятель-
ности;
Рис. 1.8. Различные уровни взаимодействия потребителей-поставщиков
информации
36
Глава 1. Информатика и информационные технологии
• непосредственное документальное взаимодействие (связь
4—2) заключается в оформлении результата и ограничен-
ном контролируемом распространении (например — пере-
дача отчета или документации заказчику);
• опосредованное документальное взаимодействие (связь
5—1) состоит в опубликовании результата и его последую-
щем неограниченном перемещении по каналам ИС.
Управление информационным обменом на макроуровне мо-
жет быть разделено на три типа задач, соответствующих данным
каналам:
• организация работ и взаимодействия соисполнителей при
выполнении работ (связи 3—3);
• маркетинг — поиск заказчиков на результат работ, получе-
ние заказов, связь с заказчиками, оформление и передача
результатов, поиск прочих возможных потребителей ре-
зультатов (связи 4—2);
• управление документальными потоками — распростране-
ние информации в документальной форме по каналам
обобщенной ИС, решение задач повышения полноты, точ-
ности, оперативности информационного обмена и обслу-
живания (связи 5—1).
Обобщенными информационными системами в рассматри-
ваемом случае могут являться (в зависимости от уровня рассмот-
рения):
• специалисты-аналитики или информаторы:
• информационно-аналитические подразделения организаций;
• информационные службы или институты информации;
• мировые информационные системы и сети информацион-
ного обмена.
Автоматизированная информационная система (АИС) таким
образом может быть определена как комплекс автоматизирован-
ных информационных технологий, входящий в состав обобщен-
ной ИС и предназначенный для информационного обслужива-
ния — организованного непрерывного технологического процес-
са подготовки и выдачи научной, управленческой и др. инфор-
мации потребителям, используемой для принятия решений, в
соответствии с их нуждами для поддержания эффективной дея-
тельности.
Компоненты и структуры АИС. Рисунок 1.9 отображает струк-
туру типичного совокупного технологического процесса АИС,
или представление АИС как совокупности функциональных под-
1.4. Уровни информационных процессов
37
Другие ИС, АИС, внешние БД
Рис. 1,9. Основные технологические процессы АИС
Оператор
Администратор
Пользователь
систем — сбор, ввод, обработка, хранение, поиск, распространение
информации.
Очевидно (как и в ранее рассмотренных структурах), многие
элементы рис. 1.9 являются альтернативными:
• модель объекта может отсутствовать либо отождествляться с
базой данных (БД), которая часто интерпретируется как
информационная модель предметной области, структурная
(для случая табличных, фактографических БД) или содер-
жательная (для случая документальных БД). В экспертных
системах (ЭС) в качестве модели объекта (предметной об-
ласти) фигурирует база знании (БЗ). представляющая собой
процедурное развитие понятия БД (БД, по своей сущности,
непроцедурный объект);
• модель объекта и БД могут отсутствовать (а соответственно и
процессы хранения и поиска данных), если система осуще-
ствляет динамическое преобразование информации и фор-
мирование выходных документов, без сохранения исходной,
38
Глава 1. Информатика и информационные технологии
промежуточной, результирующей информации. Если преоб-
разование данных также отсутствует, то подобный объект
информационной системой не является (он не выполняет
информационной деятельности), а должен быть отнесен к
другим классам систем (например, канал передачи инфор-
мации и т. п.);
• процессы ввода и сбора данных являются необязательными,
поскольку вся необходимая и достаточная для функциони-
рования АИС информация может уже находиться в БД и
составе модели, и т. д.
Основные типы АИС
К наиболее распространенным и перспективным типам от-
носятся (табл. 1.5):
• фактографические АИС;
• документальные;
• интеллектуальные (экспертные);
• гипертекстовые.
Это определяется следующими факторами [14]:
• системы появлялись и развивались именно в данной исто-
рической последовательности;
• более ранние типы систем (фактографические, докумен-
тальные) являются, как правило, платформой и средой для
реализации более поздних (экспертные, гипертекстовые);
• перечисленные типы характеризуют следующие отличи-
тельные черты:
— распространенность (в статистике мировых информаци-
онных ресурсов документальные и фактографические БД
занимают 1- и 2-е места):
— перспективность (интеллектуальные системы успешно
осваивают новые области применения);
— гипертекстовые системы являются основой мировой ин-
формационной сети WWW (Word Wide Web) — наиболее
популярной составляющей Internet.
При этом хотелось бы отметить, что в традиционном понима-
нии выражение «информационная система» (особенно «автома-
тизированная информационная система» или «автоматизирован-
ная информационно-поисковая система — АИПС») обычно ас-
социируется с документальными системами (базами данных);
1.4. Уровни информационных процессов 39
Таблица 1.5. Сравнительные характеристики основных типов АИС
Атрибуты систем Типы систем
фактографические документальные интеллектуальные i гипертекстовые
Модель (структу- ра) предметной область Структура БД (логи- ческая и физиче- ская) Содержание БД (структура стан- дартна) Структура и содер- Структура и содер- , жание БД (БЗ) жание БЗ (ГБ)
Информационная совокупность База данных (иногда файловая система ОС) База данных г . Сеть связей (гипер- База знании ,, гг_ ' 1 база - ГБ) ।
Синица инфор- мации Запись (агрегат дан- ных жесткой струк- туры) Документ (агрегат данных диффузной структуры) ; Узел сета (запись, ! документ, факт), I Факт (константа), связь (ссылка, те- I высказывание (пе- , магическая, смы- ременная) |еловая, родовидо- 'вая, причин- ,но-следственная)
Физическая сре- да хранения ин- формации Файловая система ОС Файловая система или фактографиче- ская БД ; Файловая система ' ОС, фактографиче- . Файловая система, ' ская (или другого 1 БЗ, БД типа) БД ।
Ввод информа- ции Загрузка БД Загрузка БД Подсистема приоб- | ретения знаний 1 Загрузка файлов (Knowledge ! или БД, или БЗ acquisition) ,
Вывод информа- ции (входной язык) Пользовательский интерфейс (язык за- просов) Пользовательский интерфейс (инфор- мационно-поиско- вый язык) Интерфейс пользе- [ вателя, подсистема разъяснения ре- i Навигатор сета или 1 зультатов | язык запросов (explaining subsystem) ।
Обработка(по- иск) информации ОС или СУБД СУБД или про- граммная оболочка АИПС СУБД или про- ' граммная оболочка , _ Л,, Гипермедиа-маши- ЭС машина логи- на навигации ческого вывода - Inference engine) 1
Табличные СУБД и системы програм- Оболочки ЭС NoteCards,
программные мирования с эле- Программные обо- (Shells) - EMYCIN, I Tektronix Neptune,
зредства реали- ментами СУБД - 1 лочки АИПС - DPS, EXPERT, OPS, ГипСи, ГиперМе-
зации ADABAS, FoxPro, STAIRS, ISIS, IRBIS HEARSAY, EXSYS, i тод, ГИПЕРНЕТ,
Oracle, MS SQL Insight, ExpertEase ! Мета Дизайн
SERVER
40
Глава 1. Информатика и информационные технологии
термин же «база данных», как правило, ассоциируется с факто-
графическими, управленческими системами, задачами типа АСУ.
Хотя, конечно же, и те и другие типы систем являются информа-
ционными и обычно строятся на основе концепции баз данных,
т. е. физически включают базы данных в свой состав.
В этой традиционной интерпретации находит свое отраже-
ние то обстоятельство, что в фактографических системах модель
предметной области заключена в структуре БД. и потому основ-
ное внимание сосредоточивается на проблеме проектирования
БД, в документальных же системах моделью является наполнение,
содержание БД, в том числе — словарей, тезаурусов и т. д., по-
этому основное внимание уделяется языковым, семантическим
проблемам. (Эти и другие различия указанных типов систем
описываются в табл. 1.5.)
Типология БД
Классификация баз и банков данных может производиться
по различным признакам, среди которых выделяют следующие.
По форме представляемой информации выделяют:
• фактографические;
• документальные;
• мультимедийные, в той или иной степени соответствующие
цифровой, символьной и другим (не цифровой и не сим-
вольной) формам представления информации в вычисли-
тельной среде. К последним можно отнести картографиче-
ские, видео, аудио, графические и другие БД.
По типу хранимой (немулътимедийной) информации выделяют:
• фактографические;
• документальные;
• лексикографические БД.
Лексикографические базы — классификаторы, кодификаторы,
словари основ слов, тезаурусы, рубрикаторы и т. д., обычно ис-
пользуемые в качестве справочных совместно с документальны-
ми или фактографическими БД.
Документальные базы по уровню представления информации
подразделяются на: полнотекстовые (так называемые «первич-
ные» документы), библиографические и реферативные («вторич-
ные» документы, отражающие на адресном и содержательном
уровне первичный документ).
1.4. Уровни информационных процессов
41
По типу используемой модели данных выделяют три классиче-
ских класса БД:
• иерархические:
• сетевые;
• реляционные.
Развитие технологий обработки данных привело к появле-
нию постреляционных, объектно-ориентированных, темпораль-
ных БД, в той или иной степени соответствующих трем упомя-
нутым классическим моделям.
По топологии хранения данных различают локальные и рас-
пределенные БД.
По типологии доступа и характеру использования хранимой
информации БД могут быть разделены на специализированные
и интегрированные.
По функциональному назначению (характеру решаемых с по-
мощью БД задач и, соответственно, характеру использования
данных) выделяют операционные и справочно-информацион-
ные БД.
К последним можно отнести ретроспективные БД (электрон-
ные каталоги библиотек, БД статистической информации
и т. д.), используемые для информационной поддержки основ-
ной деятельности, и не предполагающие внесение изменений в
существующие записи, например по результатам этой деятельно-
сти. Операционные БД предназначены для управления различны-
ми технологическими процессами. В этом случае данные не
только извлекаются из БД, но и изменяются (в том числе добав-
ляются), в том числе в результате этого использования.
По сфере возможного применения различают универсальные и
специализированные (или проблемно-ориентированные) системы.
По степени доступности выделяют общедоступные и БД с
ограниченным доступом пользователей. В последнем случае го-
ворят об управляемом доступе, индивидуально определяющем не
только набор доступных данных, но и характер операций, кото-
рые доступны пользователю.
По назначению содержащейся информации выделяют БД:
• деловой информации (социальная, коммерческая и другая
информация, кадастры, регистры);
• информации для специалистов (экономическая, правоох-
ранительная и др. информация);
• массовой информации.
42
Глава 1. Информатика и информационные технологии
По способу доступа существуют БД.
• размешенные на хостах (доступные через сети):
• тиражируемые в коммуникативных форматах;
• тиражируемые с программными средствами (включая
CD-ROM);
• локальные.
Пре (ставленная классификация не является полной и исчер-
пывающей. Она в большей степени отражает исторически сло-
жившееся состояние дел в сфере деятельное?!!. связанной с раз-
работкой и применением БД.
Информационные ресурсы
Кругооборот информационного ресурса, как и вся-
кого иного продукта человеческой деятельности, подчиняется
естественному циклу: создание — распространение — по1ребле-
ние. Несмотря на то, что информация физически не разрушает-
ся при потреблении и нс исчезает (в отличие от материальных
товаров и ресурсов), при рассмотрении процессов в длительной
перспективе становится очевидным, чю информационный ре-
сурс не избегает участи всею сущего и, переходя в новые формы
знания, практически бесследно в них растворяется (кому сейчас
интересны тексты библиотек програх!м на Алгола, бывшие бест-
селлерами всего 40 лет назад !?).
1 радипионныи цикл информационного обмена, су шествовав-
ший в течение столетий, представлен на рис 1.10. а и заключается
в последовательности процессов концентрации—рассеяния сово-
купных (составных) информационных потоков (в данном случае
образуемых печатными изданиями первичных документов). Ос-
новной поток здесь идет по цепочке автор — издательство — биб
лиотека — читатель, однако существуют и обходные пути: ав-
тор — читатель: издательство — читатель (подписка), которые
также подчиняются принципу концентрации -рассеяния
Переход в начале 70-х гг. информационных служб на дубли-
рование в машиночитаемой форме сначала вторичных (рефера-
тивные журналы. каталоги, справочные издания), а затем и пер-
вичных (полнотекстовых) документов, не нарушая в принципе
обшей структуры (последовательно-параллельное сосу шествова-
ние процессов концентрации—рассеяния), вносит определенное
разнообразие (рис 1.10. о).
1.4. Уровни информационных процессов
43
Поставщиками содержания теперь являются любые из участ-
ников процесса рис 1.10, ст. автор (обычно корпоративный ав-
тор — организация или фирма, выполнившая работу), издательст-
во или библиотека. Издание баз данных и онлайновое обслужива-
ние также никому не возбраняется. Например, одна из
крупнейших информационных систем по естественным наукам —
INSPEC — развилась из библиотечной службы вуза (IEE —
Institution of Electrical Engineers, Великобритания). Информаци-
онные сети, представляющие собой коммуникационную среду
х + > х t > > 1 >
в в, л а- ~
©@@©©@@6'©®®®
а
Рис. 1.10. Уровни информационных ресурсов и средств доступа к ним:
.. — уровень традиционных публикаций; б — уровень электронных публикаций;
в — Internet; г — взаимодействие уровней
44
Глава 1. Нцфор. матика и инфор шщионные техно югии
для конечного пользователя, часто входят в состав издательств
или распространителен БД. образуя интегральные распределен-
ные информационные службы. Таким образом, электронная ин-
фраструктура образует относительно самостоятельным слой
(рис. 1.10. г), не являясь зеркальным подобием традиционных
коммуникаций.
Появление в конце SO-x — начале 90-х гг. нового фактора —
Internet (рис 1.10. в) с его информационными ресурсами/ссрви-
са.ми (ГТР. Gopher, Usenet. И И И ) —дополняем обнрю каршну.
Удешевление и повсеместное распространение коммуника-
ционного оборудования, услуг связи (с повышением их произво-
дительности). а также высокая степень стандартизации форма-
тов, протоколов передачи данных и программных средств — все
это привело к интеграции информационных сетей разной физи-
ческой организации и пропускной способности в отнородную
среду, в которой взаимодействуют все агенты, обозначенные на
рис 1.10, а. б и «прозрачность» которой во всех направлениях со
временем быстро возрастает
Таким образом, в настоящее время наблюдается 3-слойная
инфраструктура информационных ресурсов (рис 1.10. г), в ко-
торой:
• каждый последующий уровень инкапсулирует (поглощает)
предшествующий в качестве потребителя-источника ин-
формации и добавляет новых участников коммуникации;
• характер коммуникации варьируется от структурирован-
ной. но замедленной (уровень 1). до «бурного потока»
(уровень 3);
• со временем происходит постепенный переход основной
активности от нижних слоев к верхним
В табл. 1.6 приведены основные классы информационных
ресурсов.
В последующих главах настоящего пособия будут рассмот-
рены:
• технологии конечного пользователя (обработка докумен-
тов, му тыимедиа информации кросс-технологии), доступ
к информационным ресурсам;
• технологии разработчиков и администраторов информаци-
онных ресурсов и систем (организация доступа к локаль-
ным и распределенным информационным ресурсам, ин-
формационный поиск, зашита информации).
1.4. Уровни информационных процессов
45
Таблица 1.6. Краткие сведения о типах информационных ресурсов по отраслям
Тип инфор- мации _ Поставщик Содержание содержания Потребители _ гп ! v с (задачи) Примеры БД । Хост-служба Web-серверы
Биржевая и финансовая Индексы Биржи, бан- рынка, коти- ки, службы ровки, цены, финансовой обзоры информации г BOND BYER Бюджетиро- BU|S|NESS вание; управ- DATEE|NE. ление порт- F|NAflCIAL Фелем;ана- T|^ES ЛИЗбуМаГ ONLINE Dialog, Nexis, GBI FIIC - http://www.fid -inv.com
Экономиче- ская, демо- графическая статистика Первичная и вторичная; Переписи: национале- опросы, ана- ная; регио- литические нальная ста- исследования тистика ABI INFORM: LEGAL RESOURCES Маркетинг |NDEX; MANAGEMEN ТCONTENTS Dialog, GBI Economic ! Bulletin ; Board - http://www.st at-usa.gov/be n/ebbhome.ht | m
Коммерче- ская Данные о предприяти- Аналитиче- ях, товарах, ские службы услугах D&B Исследова- INTERNATION ния рынка, AL MARKET, оценка парт- MOODIES неров CORPORATE NEWS Dialog, GBI Business Yellow | Pages - //www.chba.uh.edu/ylowpg es.htm
Деловые но- вости Состояние Службы рынка, собы- ! фильтрации, тия в области агентства но- экономики вестей , | BUSINESS Общий биз- W|REJNT H6C TODAY Dialog, NEXIS USA Today- /www/ustoday .com
Научно-тех- ническая Фундамен- Центры НТИ, тальные, ' издательст- прикладные ва, библиоте- науки ки ! NTIS; Исследова- INSPEC; ния, разра- AGRICOLA; ботки CHEMNAME; COMPENDEX Dialog, STN, ORBITI МЦНТИ - http://icsti.su; ВИНИТИ - //viniti.msk.su
Правовая ,. ‘Законода- Норматив- • тельные ор- но-правовые , ганы. Мин- акты гост Правоприме- ^RlAW; нение, npa- C0NGRESS воохрана REC0RDS Dialog, Lexis Гарант-сер- вис //www.garant. msu.ru
Медицин- ская ,, Информаци- Медучрежде- ’ онные цен - ния, болезни, , , тры, библио- лекарства, теки, госпи- яды тали n MEDLINE. Диагностика, CANCERUT. лечение TOXL|Ne Dialog, STN MedNet - //www.medne t. com
Потреби- тельская и развлека- тельная Образование, „ Справочные музыка, му- г . с с службы, уч- зеи, библио- . ! реждения теки, кино MAGAZINE Досуг INDEX, SPORT Dialog Enjoi - i http://www.enjoi.ru/
Бытовая Погода, ту- Информаци- ризм, спра- онные служ- вочники бы NATIONAL Досуг NEWSPAPER INDEX Dialog, Nexis Погода Рос- сии //meteo. infos pace.ru
46 Глава 1. Информатика и информационные технологии
Контрольные вопросы
1. Охарактеризуйте соотношение понятий «информация», «данные»,
«знания».
2. Дайте определение понятия «информация».
3. Охарактеризуйте прагматические свойства информации.
4. Перечислите атрибутивные свойства информации.
5. Назовите и охарактеризуйте формы концентрации информации.
6. Что представляют собой факторы информатизации?
7. Какие периоды развития информатизации могут быть выделены?
8. Что такое уровни информационных процессов?
9. Дайте определение технологии и информационной технологии.
10. Что такое элемент технологии? Приведите примеры.
11. Перечислите основные классы информационных технологий.
12. Что такое обобщенная система информационного обмена?
13. Назовите уровни взаимодействия потребителей-поставщиков инфор-
мации.
14. Какова структура технологического процесса АИС?
15. Назовите основные классы АИС.
16. Перечислите основные классы баз данных.
17. Что такое информационные ресурсы? Приведите примеры.
18. Дайте классификацию информационных ресурсов.
Глава 2
ТЕХНОЛОГИИ ОБРАБОТКИ ДОКУМЕНТОВ
Технологии работы с документами на компьютерах весьма
популярны и часто отождествляются пользователями с инфор-
мационными технологиями вообще. Преподавание
информационных технологий в учебных заведениях (средних, да
и высших) зачастую исчерпывается обучением навыкам работы с
текстовыми редакторами (наподобие MS Word) и табличными
процессорами (MS Excel и др.).
Ии в коей мере не умаляя важности и необходимости вла-
дения данным инструментарием и уделяя ему соответствующее
место в рамках данной главы, авторы попытались основное
внимание сосредоточить на вопросах описания и обработки
структур документов, охватываемых понятием модель доку-
мента. В то время как понятие модели данных (концепции,
связанной со структурой предметной области БД, включающей
как физический, так и логический уровни, — см. да-
лее, гл. 5 или подробнее [8]) является достаточно распростра-
ненным и популярным, модель документа является во многом
вещью в себе».
2.1. Текстовая информация. Модель документа
Известно, что существуют различные типы текстовых файлов
плоские, размеченные, ASCII и пр.). Соответственно, для ввода,
обработки, представления информации в таких файлах требуют-
ся различные программные возможности. Для работы с текстами
на компьютере используются программные средства, называе-
мые текстовыми редакторами, или текстовыми
процессорам и.
48
Глава 2. Технологии обработки документов
Разновидности текстовых форматов
Существует большое количество разнообразных текстовых
редакторов, различающихся по своим возможностям, — от
очень простых учебных до мощных, многофункциональных
программных средств, называемых издательскими системами,
которые используются для подготовки к печати книг, журналов
и газет. Эти программы позволяют работать с различными ти-
пами и форматами текстовых файлов, по необходимости преоб-
разуя их друг в друга.
Например, в текстовом формате (плоский текст — .TXT) ра-
ботают редактор Notepad, встроенные редакторы оболочек
Norton Commander и Far Manager (рис. 2.1), в то время как Word
(а также WordPad) позволяют работать с размеченными тексто-
выми файлами в коммуникативном (тип файла .RTF — rich text
format, или «обогащенный формат текста»), внутреннем (.DOC),
и текстовом (.TXT) форматах (рис. 2.2, 2.3). Распространен также
Имя
_intro__nfp doc
doc
Размер
Вверх
65536
1349 К
Дата Время i
. o.us.esiw.se.
06.11.«4111-^
0t 11.04111-22
Имя
86.11.Pj4
юс
' IT
______STi и
d issej
.Jnlxl
ж
Е
1етд>\рагй Xql \f i?B9\lit\Fi®Xnowidctlpai*\aspalpha\i
Npar ><XffiX£s24Xinsrsidl4294595 V ddVebV e5\’ec\’e5'
X'e5x' edX' £2. X'c2 £113 X'eeX'£2X* ec\' e5X' £7X' eflX'e!
X'eaX'fix'f2X*eeX'e2, X'£5X*£8X*e®X'edx* ££\*£9X*e8X’£
X'ebX*eeXJe2, Х'ейХ*elX*e7X,e8X'£6X'£b X’e8 X*£2. X’e
^,£7x'e5X,£2 X'sax'eeX'edX'£2X,e5x*eaX'£1X'f2X'efl XJ£
X'fS, X'ей X'eeXJ£2 X'£1X'еБХ'есХ*e0XJedX'f2X'e8X' f7X
/ее X'e2X'edX'£3X'f2X' fBX'eSX'edX' edX'e5X'e9 X’flX'f
, Х,£1Х,£ЙХ,е5Х'е4х,£1Х,£2Х,е2Х'е0Х,есХ,е8 X'£4X'ee
Х’еаЧ’ев X'ecX'eeX*еЗХ’£3X*f2 X*e8X'fiX'efX'eeX'ebX'L
x'£4XJeSX’eaX*e8, x'£5X*eeV£2x*f£ X*efX*eeX’eaX*e8 \
X' flX'efX'eSX*ГбХ'евХ'еЭХ* ehX' e8X'e7X'e8X* £0X,eeX,e2'
х'еЬХ'евХ'ес, X*fdX'ebX'eSX*ecX'eSX*edX'f2X'e0X'ec '
Х'РИеХ'еасХ’Гга <X'e2 X*c8x*c£C IRx2> X'ecX^eeX*e3x'1
X'edaX'eTX*e2aX'edX'eSX*ff X'f 2aX* elX* ebX* e8x
X'c2 X'edX'e5X’eaX*eeX*f2X'eeX'£84*fbX’f5 '
eaX'£3X* ecX'e5X*edX,£2x,ee\’ e2, X* eeX'elX* £0X*
*
S
2
н Дй«» VW» T!
= 18,229,562 байтов в 15 файлах
X ^HIFP\Q?_nouenber J2004>
Рис. 2.1. Текстовый редактор Far Manager, редактирование ASCII-файла
(файл с символьной разметкой .RTFj:
1 — элемент разметки; 2 — текст латиницы; 3 — текст кириллицы (шестнадца-
теричное представление)
2.1. Текстовая информация. Модель документа
49
Е
“ Файл Правка Вид Вставка Формат Сервис Таблица
- Справка
02_potok_mfp_Rn МЙ.Н.М4*
1В12<1
D е? Н
Times New Roman
[Глава- 2Модели- опис ания*1 шф ср маци синь
Действият Автофигуры
Злв^нтом информационного потока (массива-АИПС) является—
отмечается, -что можно счотать-дрЕтмаиготолцнсю совокупность тексте
БД,-так-и-отделькые фрагменты теп?та - заголовки разделов, абзацы и т -I °
шую-деобпежу представляет учет ЕСснтенгта уготребяеиня-сэюв^-завислш *
Стр. 17 Разд 1
1/18 На 2см Ст 1 Кол 1
Рис. 2.2. Экран редактора Word, интерпретация RTF-файла (см. рис. 2.1)
С
02_potok_jnfp_RTT - WordPad
сК~
Файл Правка Вид Вставка Формат Справка
|Тimes New Roman ▼! [Тб |Кириллица |
8 • §
"T7 i •2 . i 3• I . 4 • .
[Глава 2. Модели описания 3
информационных потоков
Элементом информационного потока (массива
АИПС) является документ В [11] отмечается, что можно
считать документом кат: всю совокупность текстов,
и___________Z_________________1 _^Г
Для вывода справки нажмите <F1 > \ \ Л
Рис. 2.3. Экран редактора WordPad. интерпретация RTF-файла (см. рис. 2.1)
редактор документов Adobe Arobat (рис. 2.4), использующий ком-
муникативный формат .PDF (portable document format). Ниже бо-
лее подробно рассмотрены форматы разметки текстов HTML
(см. рис. 2.6, 2.7).
Необходимо отметить, что наиболее развитые редакторы по-
зволяют обрабатывать не просто тексты, а документы (тексты,
50
Глава 2. Технологии обработки доку центов
Рис. 2.4. Редактор док»ментов Adobe Acrobat, интерпретация файда,
аналогичного рис. 2.2
содержащие встроенные или внедренные объекты или файлы
других типов — табличные, графические, мультимедиа и пр.).
Форматы полнотекстовых документов. Модель
документа
Понятие модель документа охватывает аспекты создания,
преобразования, хранения, поиска, передачи и отображения до-
кументов. Принято рассматривать структуру документа в двух
аспектах: логическом (содержание) и физическом
( макет).
Логическая структура определяет соеiявные компо
ненты и их соотношения в понятиях, отвечающих взгляду на до-
кументы как смысловые структуры. Например, к основным смы-
словым компонентам относятся: авторские данные (имя автора,
место работы), аннотация, оглавление, главы, разделы, парагра-
фы, рисунки, сноски. На рис. 2.5 приветен пример документа
«Пояснительная записка к дипломном' проекту (работе)». Здесь
выделены такие базовые понятия структуры документа, как
обязательность/необязательность элемента, уни-
кальность или повторяемость, вхождение нижестоя-
2.1. Текстовая информация, lode it> документа
51
Рис. 2.5. Иерархическим структура документе «'Пояснительная записка к ди-
домной работе»: - — уникальный элемент: * — повторяющийся чемент: ? —
^обязательный элемент: ! — обязательный элемент: & — вхождение типа «41»:
| — вхождение типа «-ИЛИ»
:uitx элементов в вышестоящие по принцип) И (оба типа
данных должны или могут входить в элемент) либо ИЛИ (только
какой-либо один из типов данных может или должен входить в
Элемент).
Макетная структура содержит описание документа в
терминах физических единиц — страниц, полос, колонок, ко-
-онтитулов. рамок для рисунков, шриф.ов. стилен и пр.
Подходы к моделированию документов оиираклся на два
.тандарта — ISO 8613 (ODA — Office Document .Architecture
охитектура управленческой юку ментании) и ISO 8879
'yGML — Standard Generalized Markup Language — стандартный
бобшенныи язык разметки).
Документ в ODA представлен в виде профиля и собствен-
но к у м е н т а. организованных в форме тревовидной структу-
52
Глава 2. Технологии обработки документов
ры. Профиль содержит информацию о документе в целом и его
прохождении; формальные признаки — дата составления, вид,
регистрационный номер и т. д.
Собственно документ содержит текст и сведения о его струк-
туре и стиле, а именно:
• структуру документа — заглавие, параграфы, оглавление
и т. п. (логическая структура), а также абзацы, расположе-
ние текста, шрифты (физическая структура);
• архитектуру содержания — набор графических элементов,
выделение определенных слов, строк и т. п.:
• коммуникативный формат — способы кодирования объек-
тов, признаков и содержания документов.
2.2. Языки разметки документов
В системах обработки текстов в документ включается допол-
нительная информация, называемая разметкой и выполняю-
щая следующие функции:
• выделение логических элементов данного документа;
• задание функций обработки выделенных элементов.
В обычных текстовых процессорах существуют встроенные
команды включения/выключения шрифтов и др., аналогичные
командам управления размещением информации на экране или
при печати (так называемые Escape-последовательности). Такой
подход называется командной или процедурной размет-
кой (табл. 2.1).
Альтернативный способ разметки заключается в выделении
части текста без указания способа обработки выделения. Затем
другие команды назначают фрагментам способ обработки. Такая
разметка называется описательной (дескриптивной). Она вклю-
чает метки (tags, таги) начала и окончания элемента текста и
указывает, как интерпретировать данный фрагмент.
Изменяя набор процедур, соответствующий описательной
разметке, можно изменить внешнее представление одного и того
же документа. Развитие идей описательной разметки привело к
определению разметки как формального языка. Это позволяет
проверить правильность разметки и минимизировать ее объем за
счет подстановки умолчаний.
2.2. Языки разметки документов
53
Таблица 2.1. Некоторые примеры разметки текстовых файлов
(управление представлением)
1 Вид раз- метки Принтер EPSON Редактор Лексикон Формат RTF (Rich Text Format), в т.ч. WinWord формат электрон- ной почты (стандарт MIME) HTML
Полужир- ный шрифт ESCG...ESCH chr( 255)2.. chr(255}0 (\b...) <bold>. ..</bo!d> II <b>...</b> I li
Курсив (италик) ESC 4...ESC 5 chr(255)1... chr(255)0 <italic>...<italic> il <i>...</i>
Подчерки- вание ESC-1...ESC-0 chr(255).. chr(O) {ul\...( <underline>.. </underline> <u>...</u>
Индекс верхний ESC SO ..ESCT chr(255)5... chr(255)0 {\super...} <superscnpt>... </superscnpt> <sup>... </sup>
Индекс , нижний ESCS1...ESCT chr(255)4... ctrr(255)0 {\sub...} <subscript>... </subscript> <SUb>... ; </sub>
Выбор NLQ - ESC x 1 \f11 - Courier,
вида DRAFT-ESCxO \f4 -Times,
; шрифта Отмена chr( 18) \f5 - Arial
’ Перевод страницы chr(12) ,chr(12) \page np
Выравни- вание \qc - по центру \ql - влево \qr - вправо \qj - по краям <Center> <Flushl_eft> <FlushRight> <aligh =center> i =left> =right> =justify>
Параграф (абзац) Табуляция (TAB, chr(9)) TAB \par Paragraph <p>
Примечание. Аналогично могут быть рассмотрены управление размером
шрифта, вставка математических символов и пр.
Типы файлов для размещения документов
Перечислим наиболее типичные файлы данных:
• текстовые файлы — обобщенное название для простых и
размеченных текстов, ASCII-файлов и других наборов дан-
ных символьной информации, которые интерпретируются
и обрабатываются текстовыми редакторами, процессорами,
анализаторами (Lexicon, Word, ТЕС, анализаторы SGML,
HTML);
54
Глава 2. Технологии обработки документов
• текст без разметки (планарный) — ф< йл. содержащий толь-
ко отображаемые (воспроизводимые на всех печатающих
устройствах и терминалах) символы кола ASCII, а также
простейшие управляющие символы: CR — возврат каретки;
LF — перевод строки; ТАЗ — символ табу яянии. иногда
LF — новая страница (табл. 2.1);
• текст с разметкой — планарный файл, содержащий бинар-
ную (см. табл. 2.1. колонки 1. 2) и символьную (остальные
колонки) разметку, управляющую отображением информа-
ции (программно и/или аппаратно)
• ASCll-фаил — содержит только отображаемые коды левой
части кодовой таблицы ASCII (латиница и служебные сим-
волы). обычно применяется для хранения докуменгов с
символьной размен кои (RTF. SGML. HTML).
Язык SGML
SGML разработан на базе программного продукта DCF
GMI фирмы IBM и представляет собой метод создания структу-
рированных документов, а также языков лая их разметки.
В языке SGML каждый документ имеет три части:
• декларации (объявления, определения) языка SGML,
привязывающие к определенным значениям параметры об-
работки. а также имена синтаксиса;
• пролог, состоящий из деклараций о типе документа. Они
определяют типы элементов, взаимосвязи между элемента-
ми и их атрибуты, а также условные обозначения, которые
могут быть задействованы при разметке;
• дани не. которые состоят из разметки документа и собст-
венно информации.
Основные типы конструкции языка — описания:
• элементов сееедЕКТ. . . >:
• объектов <!EXT7TY...>:
• атрибутов < !.-.TT?.ZB j'TE LEST. . . >.
образующих структуру документа (документов), при этом эле-
мент — основная компонента документа: объект — группа,
род элементов: атрибут — характеристика элемента. Все
«квадратики», приведенные на рис 2.5. являются элементами.
Запишем одну из возможных конструкций, соответствующую
2.2. Языки разметки документов
выделенной на рис. 2.5 цепочке элементов (подраздел — пара-
граф — текст ..):
!ELEMENT SC33LV (-.-.?)>
< ! ELEXENT (ТЕХ?
' ’ ?_СТ Gl S С,
— полраздел состоит из парагра-
фов (повторяющихся):
— параграф — пт текста ii.ni таб-
лицы/ рисунка (необякпе.тьиы):
— рисунок — из изображения и
подписи
Декларации и пролог на языке SGML задают структуру току-
менга и. будучи отделены от размеченного текста, образуют опи-
сание типа документа {DTD — Document Type Definition}. На сего-
дня известно более 5000 DID. соответствующих различным на-
циональным и международным стандартам, из которых наиболее
важен Hl ML.
HTML — язык разметки гипертекста
HTML — Hypertext .Markup language формулируется в терми-
нах языка SGML. Например, документ как истое в DTD задает-
ся декларацией:
<!ELEMENT HTML- ( (НЕ.-.Э | 3ODY I %oldSLyle) ’,
PLAINTEXT?}>.
HTML ориентирован на решение нескольких важных задач,
з которых участвуют его различные конструкции и элементы:
• описание структуры документа (HSftC. BODY, Hl—Н6,
шрифты, списки и пр.);
• адресация ресурсов (EASE. LINK. FREE и пр.):
• создание гипертекстовых ссылок и управление навигацией
в БД локальных и WWW Internet (HREF и т. п.):
• реализация интерфейсов с пользователем (ZS3KDEX. menu,
FORM и пр.).
Рассмотрим здесь только некоторые функции представления
документов (см. также табл. 2.1). Функции навигации и интер-
фейсов будут детализированы далее (гл. 6).
Базовые элементы HTML-доку мента:
• HEAD — содержит всю информацию о документе в целом,
но нс содержит какого-либо текста. Последний является
56
Глава 2. Технологии обработки документов
лишь частью документа и должен находиться в элементе
30DY. Декларации SGML:
< ! ELEMENT HEAD ( heed. ccr.zer.t) + ( ’heed. ~isc) >
<! EuTITY * heed.ccnte" "TITLE £ ZSZKDEX? & 3ASE?">
• BODY — в противоположность элементу HD.-.D элемент
BODY содержит всю ту информацию, из которой собственно
и состоит рассматриваемый документ Декларация SGML:
< ! ELEMENT SOLE phcdyeLe-.e." г.техт; ) > .
Приведем некоторые элементы HTML, относящиеся к пред-
ставлению док. мента.
1 . 3 а г о л о в к и разделов документ а.
SG М L-декларация:
<! ENTITY % heeding r.3n~. Н5!г.б">.
Возможная ин серпретаиия:
Hl — жирный. очень крупный шрифт, текст центрирован.
Между заголовком и последующим текстом вставляется одна
или две пхстыс строки. При выводе на принтер заголовок печа-
тается на новой странице;
112 — жирный крупный шрифт, до и после заготовка поме-
шаются одна или две пустые строки;
ИЗ — наклонный крупным шрифт, ю и после заготовка по-
мещаются одна или две пхетые строки. Печатается с небольшим
отступом.
Н4 — жирный нормальный шрифт, до и после заголовка по-
мешается пустая строка;
Н5 — наклонный шрифт, как и для Н4, пхетая строка ста-
вится порет зато товком:
Н6 — жирный шрифт, перед заголовком ставится пустая
строка.
2 . Физические (макетные) ст и т и
SG М L-декларация:
centzty % font "тт z з j strzke зез-small isu3|sup">.
Во кможная интерпретация:
TT — (телетайп) шрифт фиксированной ширины;
В — жирный или еще каким-либо образом выделенный шрифт;
I — наклонный шрифт (или видоизмененный еше каким-ли-
бо образом);
U — подчеркивание.
2.2. Языки разметки документов
57
3 . Логические стили.
S G М L-декларация:
<!ENTITY % phrase "ЕМ;STRONG|ТЕХ С IDE|SАУР|КЗЛI VAR|
С1ТЕ">
Интерпретация:
ЕМ — выделение символов (обычно наклон шрифта), смы-
словое усиление определенного слова или фразы;
STRONG — более четкое выделение, привлечение внимания
(обычно применение более жирного шрифта);
CODE — пример кода: обычно фиксированный шрифт
(формулы, выражения);
SAMP — последовательность символов (названия команд,
примеры);
VAR — имя переменной (имена переменных в примерах,
формулах);
DFN — определение к какому-либо термину — обычно жир-
ный наклонный;
CITE — цитата, обычно наклонный шрифт (названия доку-
ментов. выдержки из документов, цитируемые фразы и т. д.)
Рассмотрим пример документа с разметкой HTML, содержа-
щий приведенные выше элементы управления стилем символов
текста:
<ETE4L>
<TITLE> Примеры управления дрифтами </TITLE>
< Н1> Заголовок 1 </Я1>
< Н2> Заголовок 2 . Н2>
< Ь> Это текст Bold <.'t><p>
< i> Это текст Italicc '1><р>
< u> Это пс-лчеркнутый текло о, о> <р>
<strike> Это перечеокнупый текст <.'strike>
< р>3 обычный текст вставить <suh> подстрочны
< /svb> текст, что позволяет нависать выражение тип
Р<ззо>лах</гол.-=':.а.-: { РОзол з со Р< ззл>2</ зол >}
НсгДСТрОЧНЫЗ'1*^ • SUI3-' -£ТС TO3HOJ2HQT НйПуЮ clTS
обозначение изотопа в виде Cs<svp’--134< ''знр>
</HTi-lL>
Пример отображения этого текста браузером MS Explorer
представлен на рис 2.6.
Глава 2. Технологии обработки документов
Примеры управления
ЕЕ' ST -1Э2
Файл Правка Вид Избранное Сервис Справка
•** «• Поиск »|Избранное -^Журнал :
; Адрес |х5а D ',_ITT, _1Т_тоит_0?_ТлТ_ТАБ\Элемент | ^Переход ‘Ссылки ‘
| Заголовок 1
I Заголовок 2
i Это текст Bold
обычный текст
позволяет нависать выражение типа Р^1й_=татк |?|
§5] Готово
□ Мой компьютер
Рис. 2.6. Управление отображением стиля символов текста
Некоторые дополнительные возможности. Списки. В HTML
предусмотрены следующие виды списков:
• UL — ненумерованный список (неупорядоченный);
• OL — нумерованный список (упорядоченный);
• DL — список определений.
Типичный неупорядоченный список:
<UL>
<LH>Title of Ш programmes (NCSA).
< LI> NCSA HTTPD;
<LI> NCSA MOSAIC
<UL>
<LH>Title of WWW programmes (CERN) .
< LI> CERN HTTPO;
< LI> AGORA - emaof rcoco;
< LZ> ETCPO CERN;
< L ± ? wWw Line з r c.v s e r;
< 11? Arena.
< UL>
</UL>
Пример интерпретации данного списка приведен на рис. 2.7.
2.2. Я1ыки разметки документов
59
Рис. 2.7. Отображение ненумерованного списка:
а — раин! и браузер Mosaic; б — MS Explorer
Таблицы. Для описания таблиц служит элемент тавм. кото-
рый является контейнером для других элементов описания таб-
лицы Наиболее часто он употребляется с атрибутом BORDER,
определяющим раздел и тельные линии граф таблицы, которые
могут быть либо трехмерными (рис. 2.S). либо обычными
Ertil options Mavinatr Amictalr
П M- lit ГТ-'T l« I•- exr~-'e «1г -'t НГ L
I [//ClfTf ХТЛ)ОС/СОЧГ.СГ/ГГХ.‘.М>Ч F HIM
? Ь“-.-'
Average cl!1„
Ii.,TkTiI 'л:'- :
Bales ' ?
females I ? )(
Рис. 2.8. Пример таблицы в HTML;
а — Mosaic; б — Explorer
J Оайя Лдок? Гид мэ£р>*<ое Серм Слр.
i J J d ДПочск _jn:
I --------_--------------------------
< ЙДРГ. ___Г -T.G2_"E
Тес: .зля тач-иц?. - л :*5?:atie with
::iergeict2£»
Average o(}iei
Ahsc
height weight category
males 1 У С’ЛЗ
Ге males i 7 0 002
6
60
Глава 2. Технологии обработки документов
Из элементов формы следует отметить COLSPEC и DP.
COLSPEC позволяет заказать параметры отображения каждой ко-
лонки таблицы и имеет вид:
OLSPEC="L2C
Здесь определены три колонки шириной 20, 8 и 40 условных
единиц, которые могут измеряться в пикселях и типограг^ских
интервалах или зависеть от размеров самой таблицы. Атрибут
DP определяет вид десятичной точки.
Элемент TR (Table P.cw) дает общее описание строки табли-
цы. Обычно используется для выравнивания содержания граф
строки. Способ выравнивания определяют: атрибут ALIGN —
горизонтальное выравнивание, который принимает значения
left, right, center, justify, decimal, И атрибут VAL1GN —
вертикальное выравнивание, который принимает значения top,
bottom, middle, baseline. По умолчанию графы-заголовки
центрируются, а графы-данные выравниваются по левому верх-
нему углу.
Элементы TH (Table Header) и TD (Table Data) использу-
ются для описания граф таблицы. Кроме выравнивания TH и
TD позволяют еще и объединять графы, как это показано в при-
мере (третья строка из текстового примера, см. ниже). Это дела-
ется с помощью атрибутов rowspan (пропуск строки) и colspan
(пропуск столбца). Цифра в этих атрибутах определяет количест-
во последовательно расположенных граф таблицы, объединен-
ных в одну графу.
Приведем пример таблицы (интерпретация отображена на
рис. 2.8):
<TABLE BCRDER>
<CAPTION>A test table with merged
cells . <CREDZT> (T . Berr.ers
Lee/WWWC, 1935.) <.'CREDI’ZX/CA?TZO\'>
<TRXTH F.OWSPAN-2><TH COLS ?Ai:=2>Average>
<TH rowspan=2>other<B?>categcry<TH ROWSPAK=2>Mxsc</TR>
<TRXTH>height<TH>weight< .’TR>
<TRXTH ALIGN=left>males<TL>Z . 9<TD>C .003
<TRXTH ALIGK=left>females<TD>l. 7<TD>0.0 02
</TABLE>
2.2. Ямки разметки документов
61
Математика. Для реализации математических выражений в
языке определен элемент МЛТН. внутри которого содержатся
следующие компоненты:
• ABOVE (запись символа над выражением);
• below (запись символа под выражением);
• SQRT. ROOT (радикалы):
• text (для записи текста):
• в, т. ВТ (выделение символов):
• OVER (черта) и пр.
Например, запись <ROOT>3<OF>l-x</ROOT> соответствует
\Т + х.
Язык описания документов PostScript
Фактически PostScript представляет собой я-.ык программи-
рования. предназначенный для описания разного рода графиче-
ских объектов и последующей печати созданных иллюстрации,
верстки, простых документов пользователя точно в таком виде,
как они видны на экране. Язык PostScript играет важную роль в
создании и интерпретации выше упоминавшихся форматов фай
лов PDF (см рис. 2.4).
PostScript появился в 19S0-e гг.. когда использовались мат-
ричные принтеры, в них moi ли быль загружены несколько ос-
новных шрифтов, которыми принтер печатал, причем по начер-
танию они отличались от экранных. Появление на рынке языка
PostScript фирмы Adobe Systems и первых лазерных принтеров
Apple, работающих под его управлением, должно было обеспе-
чить качественный вывод графики и шрифтовых начертаний в
гаком виде, как их видит пользователь в своем графическом ре-
дакторе или настольной издательской системе
В процессе конвертации в PostScript программа, выполняю-
щая печать, перелает готовые данные программе-спуллеру,
поставляемой вместе с операционной системой в виде ее расши-
рения. Спуллер является не более чем накопителем данных, по-
сле того, как печатающая программа закончила конвертацию и
передачу спеллеру информации, укомплектованный временный
файл печати (spool file) перелается на драйвер принтера, кото-
рый либо выводит его на печать, либо, по желанию пользовате-
62
Глава 2. Технологии обработки бок) ментов
ля. формирует принтерный фаг i (PosrScript-файл). Такой файл,
как правило, содержит еле гуюпше составляющие:
• исходный документ, описанный средствами PostScript;
• использованные в нем внедренные или импортированные
по технологии ОР1 файлы:
• файлы шрифтов:
• программу для принтера на языке PostScript.
С развитием компьютеров и Принтеров, а также благодаря
увеличению пропускной способности интерфейсов, шрифту
стали загрхжать в большинстве случаев в файл, а не в принтер,
что вызывает некоторое увеличение PS-файла, зато повышает
вероятность выхода рабты с первого раза на бумагу в принтере
или на пленку в фотонаборном автомате.
Принцип действия фоюнаборного автомата <ФНА) сходен с
проявкой птенки фотоаппаратов. Информация поступает к нему
из компьютера в бо ice переработанном виде, чем на принтер. Эту
обработку PostScript-файлов осуществляет модуль RIP. постав-
ляемый в пакете программ поддержки фотонаборного автомата.
RIP (Raster Image Processor) — программа, установленная на
рабочей станции (компьютере), с которой управляется вывод,
производящая растеризацию данных, поступающих из файла пе-
чати, руководствуясь программой на языке PostScript, включен-
ной в файл драйвером принтера. Получаемая битовая карта по-
сылается на вывод в фотонаборный автомат. Составной частью
RIP является интерпретатор PostScript — программа, трактую-
щая PostScript-данные.
2.3. Технологии XML
X М L - т е х н о л о г и и — современное развитие ипстру мен-
тария HTML и SGMI В начале февраля 1998 г. международная
ассоциация W3C утвершта спецификацию «Extensible 'larkup
Languagu(XML) 1.0». Сегодня появляются новые языки, создан-
ные на основе XML. Возникают многочисленные Web-ссрвсры,
использующие и технологию X 1Едля организации хранящейся
на них информации.
Упрощая ситуацию, можно сказать, что разработчики XML
взяли лучшие решения SGML и рутсоводствхюсь опытом
HTML, создали язык, не уступающий ио мощности SGML, но
2.3. Технологии XML
63
гораздо более удобный и легкий в использовании. XML предна-
значен для создания новых языков разметки и используется в
качестве средства для описания грамматики других языков и
контроля за правильностью составления документов.
С его помощью можно описать целый класс агрегатов дан-
ных, называемых X М L - д о к у м е н т а м и. ориентированными
на конкретную предметную область. XML позволяет определить
допустимый набор тэгов, их атрибуты и внутреннюю структуру
документа. Тэги (подобно тэгам в HTML) представляют специ-
альные инструкции, предназначенные для формирования в до-
кументах определенной структуры и четких отношений между
различными элементами этой структуры. Для описания данных
XML использует DTD (Document Type Definition — Определение
типа документа) или схему документа.
Синтаксис XML
Так же, как и в HTML, инструкции, заключенные в угловые
скобки, называются тэгами и служат для разметки основного
текста документа. В XML существуют открывающие, закрываю-
щие и пустые тэги (в HTML понятие пустого тэга тоже сущест-
вует, но специального его обозначения не требуется).
Тело документа XML состоит из элементов разметки и непо-
средственно содержимого документа — данных. XML-тэги пред-
назначены для определения элементов документа, их атрибутов
и других конструкций языка.
Любой XML-документ должен всегда начинаться с инструк-
ции <?xml?>, внутри которой также можно задавать номер вер-
сии языка, номер кодовой страницы и другие параметры, необ-
ходимые программе-анализатору в процессе разбора документа.
Содержимое XML-документа представляет собой набор эле-
ментов, секций CDATA. директив анализатора, комментариев,
спецсимволов, текстовых данных. Рассмотрим каждый из них
подробней.
Элементы данных. Элемент — это структурная единица
XML-документа. Например, заключая слово rose в тэги, мы оп-
ределяем непустой элемент, называемый <flower>, содержи-
мым которого является rose. В общем случае в качестве содер-
жимого элементов могут выступать как просто какой-то текст,
так и другие, вложенные, элементы документа, секции CDATA,
64
Глава 2. Технологии обработки документов
инструкции по обработке, комментарии, т. е. практически лю-
бые части XML-доку мента.
Любой непустой элемент должен состоять из начального, ко-
нечного тэгов и данных между ними, заключенных: <flower>
rose </flower>.
Элемент в DTD определяется с помощью дескриптора
'.element, в котором указывается название элемента и структура
его содержимого.
Например, для элемента <flcwer> можно определить сле-
дующее правило:
<!ELEMENT flower PCDATA>
Ключевое слово ELEMENT чказываст, что данной инсгрукци
ей будет описываться элемент XML. Внутри этой инструкции за-
дастся название элемента (flower) и тип его содержимого.
Атрибуты. Если при определении элемента необходимо за-
дать какие-либо параметры, уточняющие его характеристики, то
имеется возможность использовав атрибуты элемента. Атри-
бут — это пара название = значение, которую надо задавать
при определении элемента в начальном тэте, например,
ccolor RGB="true">#ff08ff</color>
<color RGB-"false">white</cclor>
Списки атрибутов элемента определяются с помощью клю-
чевого слова IATTLIST. Внутри него задаются названия атрибу-
тов, типы их значений и дополнительные параметры. Например,
для элемента <article> могут быть определены следующие ат-
рибуты:
<IATTLIST article
id ID ^REQUIRED
about СПАТА “IMPLIED
type (actual I revie-.-.- । teach ) 'actual' ''
В данном примере для элемента article определяются три
атрибута: id, abcut и type, которые имеют типы ID (идентифи-
катор). CDAT.A и список возможных значений соответственно.
Всего существует шесть возможных типов значений атрибута:
• CDATA — содержимым документа могут быть любые сим-
вольные данные;
• ID — определяет уникальный идентификатор элемента в
документе;
2.3. Технологии XML
65
• IDREF (IDREFS) — указывает, что значением атрибута
должно выступать название (или нисколько таких названий,
разделенных пробелами во втором случае) уникального
идентификатора определенного в этом документе элемента;
• entity (ENTITIES) — значение атрибута должно быть на-
званием (или списком названий, если используется
ENTITIES) компонента (макроопределения), определенно-
го в документе:
• nmtoken (MMTOKENS) — содержимым элемента может
быть только отно отде ,ьное слово (г. с. этот параметр яв-
ляется ограниченным вариантом CD/VTA);
• список допустимых значений — определяется список тна-
чсний, которые может иметь данный атрибут.
Также в определении атрибута можно использовать следую-
щие параметры
• ^REQUIRED — определяет обязательный атрибут, который
должен быть задан во всех элементах данного типа;
• #IMPLIED — атрибут не является обязательным
• #FIXED значение — укатывает, что атрибут должен иметь
только указанное значение, однако само определение
атрибута нс является обязательным, но в процессе разбора
его значение в любом случае будет передано програм-
ме-анализатору. Значение задает значение атрибута по
умолчанию
Сущности и специальные символы. Сущности (entity) пред-
ставляют собой определения, содержимое которых может быть
повторно использовано в документе. В языках программирова-
ния подобные элементы называются макроопределения-
м и (расширениями). Для того чтобы включить в документ
символ, используемый для определения каких-либо конструк-
iiii языка (например, символ угловой скобки) и нс вызвать при
яом ошибок в процессе разбора такого документа, нужно ис-
пользовать его специальный символьный либо числовом иденти-
эикатор.
Например, < , > " или $ (десятичная фор-
ма записи), &#х!а (шестнадцатеричная) и т. д.
Создаются DTD-сущности с помощью инструкции 'entity:
<!ENTITY hellc ' Ml: ра~ь: -рхзетствсвать Зас!' >
66
Глава 2. Техно, югии обработки док \ ментов
Про рамма-анализатор. просматривая в первую очередь со-
держимое области DTD-определений, обработает эту инструк-
цию и при дальне ищем разборе доку мента будет использовать
содержимое DTD-сушности в том месте, где будет встречаться
его название. То есть теперь в документе мы можем использо-
вать выражение &hello:. которое будет заменено на строчку «Мы
рады приветствовать Вас».
В общем случае, внутри DTD можно задать следующие типы
сущностей:
• внутренние — предназначены для определения строко-
вой константы, с их помощью можно организовывать
ссылки на часто изменяемую информацию, летая документ
более читабельным. Вн* гренние компоненты включаются в
документ с помощью амперсанта &.
• внешние — указывают на содержимое внешнего файла,
причем этим содержимым могут быть как текстовые, так и
двоичные данные. В первом случае в месте использования
макроса будут вставлены текстовые строки, во втором —
бинарные шнные, которые анализатором не рассматрива-
ются и используются внешними программами
Комментариями является любая область данных, заключен-
ная между последовательностями символов:
<!- -->.
Комментарии пропускаются анализатором и поэтому при
разборе структуры документа в качестве значащей информации
нс рассматриваются.
Директивы анализатора. Инструкции, предназначенные для
анализаторов языка, описываются в XML-документе с помощью
специальных тэгов <? и ?>;. Программа клиента использует эти
инструкции для управления процессом разбора документа. Наи-
более часто инструкции используются при определении типа до-
кумента (например, <? Xrr.l version="l. О" ?>) или создании
пространства имен.
CDATA. Чтобы задать область дою мента, которую при разбо-
ре анализатор будет рассматривать как простой текст, игнорируя
любые инструкции и специальные символы, но. в отличии от
комментариев, иметь возможность использовать их в приложе-
нии, необходимо использовать тэги <! .’CDATA] и ] ] >. Внутри
этого блока можно помещать любую информацию, которая мо-
жет понадобиться программе-клиенту для выполнения каких-ли-
бо действий (в область CDATA можно помешать, например, ин-
2.3. Технологии XML
67
струкции JavaScript). Естественно, надо следить за тем, чтобы в
области, ограниченной этими тэгами, не было последовательно-
сти символов ]].
Примеры DTD, схемы и документа
Формат DocBook. DTD DocBook разработан в 1998—1999 гг.
OASIS DocBook Technical Committee для описания прежде всего
технической документации, а также книг, статей и другой лите-
ратуры. Последняя версия этого формата поддерживается как
SGML-, так и XML-обработчиками.
В DocBook DTD представлено свыше 300 элементов, кото-
рые могут иметь место в описании структуры книги или статьи.
Иерархия основных элементов:
Book — книга
Dedication — посвящение
Division — разделы
Parts — части
References — ссылки
Components — компоненты книги
Preface — предисловие
Section (1...5) — подразделы (уровни)
Chapter — главы
Appendix — приложение
Glossary — глоссарий
Bibliography — библиография
Articles — статьи
Navigational components — компоненты навигации
Table of contents — оглавление
List of titles — список заглавий
List of figures — список иллюстраций
List of tables — список таблиц
List of examples — список примеров
Index — указатель
Практически все элементы могут иметь вложенные элемен-
ты, такие как Title, SubTitle, Author, Year и т. д.
Обыкновенную книгу можно описать в формате Docbook
следующим образом. Элемент Book (корневой элемент докумен-
та) содержит некую метаинформацию в подэлементе Bookinfo
(Заглавие — Title, Автор — Author, Права — Copyright и т. д.),
t)8
Глава 2. Технологии обработки документов
олин или несколько элементов Prefaces, несколько глав
(Chapter) и, возможно, несколько приложений (Appendix). Также
в книге могут содержаться библиография (Bibliography), I tocca-
рий (Glossary's), Указатель (Indexes).
Пример описания книги:
<!DOCTYPE book PU3LIC /O.ASIS//3TD ЕссЗоок V3.1//EN">
<book>
<bookir.fo>
<titie>rirst 3cok</title>
<authcr>
<firstname>Jane</firstn3me> <somame>Dce</siirname>
</author>
<ccpyright>
<year>1998</year> <holder>Jane 3ce</holder>
</copyright>
</bookinfo>
<preface>
<title>Foreword</title>
</preface>
<chapter> .
<chapter> .
<chapter> .
<appendix>
<appendix>
<index> ...
</book>
.. </chapter>
. . </chapter>
.. </chapter>
. . . </appendix>
. . . </apper.dix>
</index>
Элементы Chapter, Preface и Appendix имеют одинаковую
структуру. Они состоят из заголовка (Title), возможно некоторой
дополнительной метаинформации и нескольких элементов под-
разделов верхнею уровня (1). Каждый подраздел в свою очередь
может содержать потразделы более низкого уровня.
Пример описания г швы:
<!DOCTYPE chapter PU3LIC "-//OASIS//DID DccSock
V3.1//EN">
<chapter><title»iy Chapter</title>
<para> ... </para>
<sectlxtitle>First Section</title>
<para> ... </para>
<example> ... </example>
</sectl>
</chapter>
2.3. Технологии XML
69
Формат Docbook позволяет описывать не только книги, но и
издания меньшего объема, например журнальные статьи, техни-
ческие описания и т. д. Чаше всего такие документы описывают-
ся элементом Article. В остальном статья состоит из тех же
подэлементов, что и глава.
Элемент Article также может содержать элементы Appendix,
Btbliograpny. Index И Glossary.
Пример описания статьи:
< ! DOCTYPE article PUBLIC CASH/ -'BID DocBook
V3.1//EN">
<article>
<artheader>
<title>My Artide<.'title>
<author>
<honorific>Dr< ’honor if ic>
<f irstnarne>Emilic</ f irstnaoe>
<surname>Lizardo</surname>
</author>
</artheader>
<para> ... </para>
<sectl>
<title>On the Possibility of Going Hcme</title>
<para> ... </para>
</sectl>
<bibliography> ... </bibliography>
</article>
Перевод Excel-таблицы в формат XML. Как уже отмечалось,
язык XML позволяет описывать различные типы структуриро-
ванных данных (листы табличных процессоров, базы данных и
пр.). Предположим, имеется простая таблица данных процессора
Excel (рис. 2.9, а). Она может быть переведена в формат XML, в
котором будет иметь следующий вид (приводится в сокращении):
<?xml versicn=”1.О"?>
<?msо-application pregid="Excel.Sheet"?>
document Proper ties
xmlnsdrn : schemas-microsof t-exa: office : cf fice">
<LastAuthcr>neTp-OB< zLastAuthor>
<Created>20C5-05-G4</Created>
<Version>2</7ersion>
</DocumentPropertles>
<ExcelWorkbook
xmlns="urn:schemas-microscfc-ccm:office:excel"!
70
Глава 2. Технологии обработки документов
<WindcwHeight>87C 0</WindowHeight.>
< W i ndcwW i a t h > 113 5 5 < / И i г. сс х?! i с til >
<ProtectStracture>False</Protectstructure>
<ProtectKindoxs>False</ Protect?:indcxs>
< / E x c e 1Wо r kb с о к >
<Styles>
<Style ss:I3="2e:aclt" ss; Xa~e="'.:ormal ">
<Alignment ss:Vertical="=ottcn" >
<3orders/>
<Font ss : г onmarie-".~.r iai Суп" x:Cnarset="23*:*,/>
<intericr/>
<NumberFcrm=t/>
<Protection/>
</Style>
</Styles>
<Worksheet ss:X=me-"5izcTl">
clable ss : ExpandedCol t.ninCojnt^ "2"
ss:ExpandedRcwCctnt="5” :< :FtllCclumns="1"
x:FullRows="l">
<Column ss:Wicth="70.5"/>
<Row ss:Index="2">
<Cell><Data ss:Type="String">aaz.MeHOBaHMe</9ata></Cell>
<Cell><Data ss:Type=,,Strinq">t;eHa</Data></Cell>
</Row>
<Row>
<CellxData ss :Type="String">1г,ост</Эаtax zCell>
<CellxData ss:Type="X’umber">52</Datax/Cell>
</Row>
<Row>
<CellxData ss :Type="String">KeKC</Datax/Cell>
<CellxData ss: Type=”N\»nber">9€</Datax/Cell>
</Row>
<Row>
<Ceil>O*tc ss: ,?.ypc-"String">:.iopc»:e:-:oe</Datax/Cell>
<CellxData ss :7ype= "dumber ">45</Data></Cell>
</Ro •.<>
</Table>
<WorksheetOptions
xmlns-" лгп: sche.-as-raicrosof t-com: cf f ice: excel ">
</WorksneetOpticns>
<x: WorksheetOptionsx/х :WorksheetCptic.ns>
</Worksheet>
</Workbook>
2.3. Технологии XML
71
наименование
цена
торт
кекс
мороженое
• WorkbocK
Пиров
• Worksheet
• "able
• Column Column •
P*JW
• Cell'
Data наименование. c'd^ *
7>Г
•ТйГ
•Data ценаЛ1д(а
Cell >
Row •
• Row
•”ceF
’ Datd тоэг ^sta *
C*V
Data 52 Pata
6
Рис. 2.9. Таблица Excel (а), графическая интерпретация XML-документа (о)
На рис. 2.9. б приводится структурная схема шнною
XML-доку.мента (также в сокращенном виде).
Семейство технологий XML
Спецификация ХМ1 1.0 определяет, что такое метки и атри-
буты. 3(t XML 1.0 следует «семейство XML» — растущий набор
модулей, предлагающих полезные средства для выполнения важ-
ных и постоянно возникающих задач. XLink описывает стандарт-
ный способ добавления в XML-файл гиперссылок. Синтаксисы
XPointer u XFragments (находятся в разработке) служат для обра-
щения к частям XML-доку лента. XPointer немного похож на
LRL, однако вместо обращения к сетевым документам, он ука-
зывает на строки данных внутри XML-файла. Язык листов сти-
лей CSS применим к XML. равно как и к HTML. XSL — более
сложный я зык. предназначенный для составления листов сти-
лей. Основывается он на XSLT. языке трансформации, исполь-
72
Глава 2. Технологии обработки документов
зуемого для перестройки, добавления и удаления меток и атри-
бутов. Стандартный набор вызовов функций DOM отвечает за
управления файлами на XML (и HTML) из языка программиро-
вания. Точно определить структуру своих собственных форма-
тов, основанных на XML. разработчикам помогают XML-схемы
1 и 2. Готовы к использованию или находятся в стадии разработ-
ки ешс несколько модулей и инстру ментов.
2.4. Текстовый редактор Word
Редакторы, предназначенные для подготовки текстов услов-
но можно разделить на обычные (подготовка писем и других
простых документов) и сдожныс (оформление документов с раз-
ными шрифтами, включающие графики, рисунки и др.). Наи-
большей популярностью пользуется текстовый процессор MS
Word for Windows.
Текстовый редактор Word реализует следующие функции:
• создание, открытие, закрытие, сохранение текстовых доку-
ментов (рис. 2.10, а);
• задание параметров страниц (рис. 2.10, бу,
• набор текста (режим прописных букв, гарнитура, кегль и
цвет шрифта, страница, работа с выделенным фрагментом
текста, межстрочный интервал, способы выравнивания, бу-
фер обмена):
• форматирование абзаца (задание параметров абзаца, крас-
ная строка, межстрочный интервал) — рис. 2.10. <?;
• задание шрифтов (рис. 2.9, г);
• установка рамки и заливки абзаца:
• создание нумерованных и маркированных списков, на-
стройка нумерованных списков;
• ссылки, заголовки, оглавления:
• проверка правописания, расстановка переносов;
• создание, заполнение и форматирование статических таб-
лиц; рамки, заливка. Изменение структуры таблицы (до-
бавление и удаление строк и столбцов, объединение ячеек,
изменение размеров ячеек). Преобразование текста в таб-
лицу и наоборот (рис. 2.11. а);
• вставка и редактирование объектов — рисунков, клипов,
vllDl-файлов, математических формул (рис. 2.11, б);
2.4. Текстовый редактор Word
73
Файл : Правка Вид Вставка Формат Сервис
1 Создать... Ctrl+IJ
Зг Открыть... Ch 1+0
Закрыть
55 Сохранить Ctrl+5
Сохранить как..
xg Сохранить как веб-страницу .
Найти...
Предварительный просмотр веб-страницы
Параметры страницы...
Предварительным просмотр
jg? Печать... Ctrl+P
Отправить
1 D: I___.MBW,.. J£2_j3otok_rrfp
2 D Д.___,П\___1Т_?С1\1Т_Се_ТЕлТ\1Т_СС_Т:- т
з d.-'i__,п\____iT_vot. \it_02_t:-:t_k
4 D:i_SC00L\MY_CCiNSP\u9_tryg
Выход
Поля I Размер бумаги | Источник бумаги |
Поля - - —.....- -— — -
Верхнее: Нижнее: рГсм
Левое: |2 см Правое: {^см
Переплет: |о см Положение переплета: |слев-з
Ориентация
книжная альбомная
Страницы • - •— ----------- .......
несколько страниц: |Обычный”
Шрифт | Интервал | Дмтзция |
Видоизменение----------------------------------------------—
Г зачеркнутый Г- степью Г” малые прописные
Г~ двойное ззчзр»э®акие Г** контур Г~ все прописные
Г* надстрочный Г* грилоднятый «“ скрыть^
Г подстрочный Г” утопленмьй
Образец
Times New Roman
Шрифт TtveType Ои используется для емвода как из эфзи. таки на принтер.
Рис. 2.10. Функции редактора WinWord 2000:
а — управление файлами; о — задание параметров страницы; в — задание фор-
мата абзацев; г — управление шрифтами
• деловая графика (построение диаграмм и графиков). Встав-
ка рисунков, настройка положения, размера и способа об-
текания рисунка (в тексте, перед текстом, за текстом и
пр.) — рис. 2.12;
74
Глава 2. Технологии обработки документов
JJ.-IW' «-L.-'tST??- .
isa
PI3
У Файл Проегз Вид Формат Спиъ Райнер СкмО Спрзск-а
мл"! ш<|{?к "м 1ТП1СД: -теримм-дэкг
'ГЛИЯХ'.’20;
б
Рис. 2.11. Функции редактора WinWord 2000:
а — создание и редактирование тцблин; б — вызов и испольювание редактора
формул Equation 3.0
еле
• работа с автофигурами (линии, фигуры, стрелки и пр.), ис-
пользование WordArt:
• печать текста (рис. 2.13).
Добавление символов в текст осуществляется в режиме
вставки, при этом текстовый курсор должен находиться в месте
документа, где будет производиться эта процедура. Индикация
2.4. Текстовый редактор Word
75
Цвета и линии | Размер Ц^лр»®**1®.8] Рисунок | | Веб
Обтекание ......... •• -
в тексте вокруг рамки по контуру за текстом перед текстом
Г оризонтзлъное выравнивание
Рис. 2.12. Управление размещением рисунка или объекта
-Принтер-------------------- ---------------
I имя: | .^5 HP DeskJet 690С
\ состояние: Свободен
! тип: HP DeskJet 690С
порт: LPT1:
, заметки:
'Страницы--------------------------------—
'= <• все
’ текущая С выделенный фрагмент
номера: j
\ Введите номера и/или диапазоны страниц,
. разделенные запятыми. Например: 1,3,5-12
>• J Свойства I
Найти принтер... ।
Г печать в файл
Г* двусторонняя печать
Копни--------—----------------------------
-Масштаб-----
Включить:
Напечатать:
Зсе страницы диапазона
число страниц на листе: ц страница
Рис. 2.13. Управление режимом печати документа
по размеру страницы:
режима замены или вставки производится в статусной строке
служебной области окна программы редактирования. При набо-
ре очередного добавляемого символа часть строки справа (вклю-
чая курсор) сдвигается на одну позицию вправо, а введенный
символ появляется в позиции курсора. Если включен режим за-
мены, то вновь набираемые символы замещают присутствующие
в тексте редактируемого документа символы.
Для удаления одного или нескольких символов используются
клавиши <Del> или <Backspace>. Нажатие клавиши <Del>
приводит к удалению символа, находящегося в позиции курсора,
правая часть строки сдвигается влево, сам курсор остается на
76
Глава 2. Технологии обработки документов
месте. Нажатие клавиши <3ackspace> вызывает удаление сим
вола в позиции слева от курсора, курсор и правая часть строки
сдвигаются влево Эта клавиша используется в основном для
удаления одного или нескольких символов Технология удаления
больших фра» ментов текста предполагает предварительное выде-
ление фрагмента для редактирования. Как правило, в текстовом
окне может быть выделен только один фрагмент.
Удаление может производиться двояко:
• выделенный фрагмент тымастся из текста, оставшиеся
текст смыкается;
• выделенный фрагмент удаляется в буфер памяти временного
хранения, откуда может быть извлечен для вставки в другое
место редактируемого документа либо использован в тек-
стах других документов.
Для копирования информации используется технология,
схожая с предыдущей:
• предварительно выделяют копируемый текст, а затем ко-
мандой «Копировать» его помешают в буфер временного
хранения. При этом в буфер попадает копия фрагмента,
сам он по-прежнему располагается в тексте документа;
• текстовый курсор помещают в нову ю позицию документа
для вставки;
• копию фрагмента извлекают из буфера и располагают, на-
чиная с позиции, указанной курсором Существующий
справа от курсора текст сдвигается вправо.
Поиск в документах, использующих программы обработки
текстов, выполняется несколькими способами. Поиск по образ-
цу, например, для последующей замены найденного словосочс
тания сводится к следующему:
• задается образец (символ, слово или цепочка символов);
• указывается направление поиска (вперст ог текущей пози-
ции курсора либо назад»: система подготовки текстов начи-
нает поиск заданного фрагмента:
• при обнаружении фрагмента просмотр приостанавливает-
ся. курсор позиционируется перед искомым фрагментом, и
пользователь имеет возможность произвести нужную кор-
рекцию.
При другом варианте поиска текст предварительно размеча-
ется специальными служебными метками (закладками. или
«bookmarks»). Затем система подготовки текста обнаруживает их
2.4. Текстовый редактор Word
77
и осуществляет перевод курсора к меткам, заданным пользовате-
лем по их имени.
Команда замены производит замещение одного текста дру-
гим заданным текстом. Замена может производиться в рамках
выделенного фрагмента, по всему тексту либо после подтвержде-
ния пользователем каждого варианта замещения.
Оформление документа в целом
Важным элементом работы с любым текстовым процессором
является установление некоторых начальных параметров, напри-
мер параметров страницы, формата, языка и др. Такие процеду-
ры называют оформлением структурных элементов текста. Стан-
дартными параметрами оформления страниц документа являют-
ся: поля страниц; размер печатного листа и ориентация текста
на бумаге; расположение колонтитулов; число колонок текста
(газетный стиль).
Текстовый процессор Word для Windows по умолчанию пред-
лагает следующие параметры оформления документа:
• символы в обычном формате типа Times New Roman с раз-
мером символа, соответствующим кеглю 10 пунктов;
• абзацы без отступов, выровненные влево, через один ин-
тервал;
• табуляция через 0,5 дюйма (или 1,27 см);
• печатная страница документа в формате-А4 (210 х 297 мм);
• границы текста на печатной странице: левое и правое
поля — 3,17 см, верхнее и нижнее — 1,5 см.
Таким образом, при создании нового документа предлагается
некоторый шаблон документа (в данном случае он называется
«Normal»).
Текстовые редакторы порой содержат набор шаблонов для
создания различных типовых, а порой и стандартизированных,
документов. Пример набора шаблонов в WinWord представлен
на рис. 2.14, а.
Шаблон содержит разнообразную информацию о стилях
форматирования частей документа, вставленных полях и т. д.
В шаблонах хранятся выбранные и установленные для них мак-
рокоманды, элементы глоссария, кнопки панели инструментов,
нестандартные меню и способы установки клавиш сокращения,
облегчающих работу с документами. Один раз созданные и со-
78
Глава 2. Гехнологии обработки документов
Имя закладки:
Общие | Веб-страницы ] Другие документы | Записям } Отчеты
Письма и факсы I Публикации | Слияние
а
Со’дать
*• документ С шаблон
Рис. 2.14. Некоторые дополнительные функции:
а — таблица шаблонов: б - вставка закладки: в организация сносок
храненные в памяти компьютера, шаблоны позволяют быстро
готовить аналогичные по форме (но не по се держанию) доку-
менты без затрат времени на форматирование
Пользователи могут создавать cooci венные шаблоны. Для
этого необходимо выполнить определенную пос дедовательность
шагов. Рассмотрим их на примере создания бланка предприятия.
2.4. Текстовый редактор Word
~9
Первоначально следует установить параметры страницы
бланка (размер страницы, величины полей).
По окончании формирования шаблона его сохраняют как
«шаблон документа»', т. с. с расширением «dot» (document type,
тип документа) — рис. 2.14, о.
Со тайная таким образом коллекция шаблонов док\ ментов
может использоваться постоянно, ь том числе всеми сотрудни-
ками предприятия. что приветит к единообразию оформления
документов предприятия и уменьшает время изготовления кон-
кретного документа.
Одним из основных структурных элементов любого докумен-
та является абзац. При наборе текста новый абзац образуется по-
сле нажатия <Enter>. При этом курсор ввода переходит на но-
вую строку и устанавливается в позицию левого отступа следую-
щего абзаца. Позиция отступа зависит от параметров настройки
конкретной системы текстовой обработки К наиболее общим
параметрам абзацного форматирования можно отнести:
• выравнивание границ строк:
• отступы для строк,
• межстрочные интервалы;
• обрамление и цвета фона текста;
• расположение текста абзаца на смежных страницах доку-
мента.
Если система подготовки текста испошзуется для создания и
оформления многостраничного документа, то применяется фор-
матирование страниц или ра тделов. В тексте могут появиться
новые структурные элементы: закладки. сноски, перекрестные
ссылки, колонтитулы.
Под закладкой (bookmark), или меткой, понимается
определенный фрагмент текста документа, которому пользова-
тель присваивает имя (рис. 2.14. б).
В многостраничном документе закладка может использовать-
ся для:
• быстрого перехода к месту документ. обозначенному за-
кладкой:
• создания перекрестных ссылок в документе.
Иногда документ содержит дополнения к основному тексту,
подстрочные примечания. Подстрочные примечания оформляют
сносками (рис. 2.14. <?). В состав подстрочного примечания вхо-
дят два неразрывно связанных элемента: знак сноски и текст
собственно примечания. Знак сноски располагают в основном
80
Глава 2. Технологии обработки документов
тексте у того места, к которому относится примечание, и в нача-
ле самого примечания.
Рекомендуется в текстовом материале использовать знак
сноски в виде арабских цифр, а в цифровом — в виде букв или
знаков.
Перекрестная ссылка — указание, предлагающее читателю
документа обратиться к другому фрагменту текста или рисунку,
содержащемуся в тексте. Например: «Вернитесь к разделу «Базо-
вые функции редактирования текста» (страница ###)».
При изменении названия раздела или смешения его на дру-
гую страницу в результате правки документа подобный текст не-
обходимо изменить вручную. Наиболее мощные системы подго-
товки текстов позволяют автоматически отслеживать процесс
изменения за счет перекрестных ссылок на элементы текста, от-
меченные специальным образом как закладки, заголовки, сно-
ски, рисунки или формулы.
Колонтитулом (Running head) называют одинаковый для
группы страниц текст и (или) графическое изображение, распо-
ложенное на полях печатной страницы вне основного текста до-
кумента. Различают верхний (Header) колонтитул — над текстом
документа и нижний (Footer) — ниже основного текста. Поряд-
ковые номера страниц входят в колонтитул. Их называют колон-
цифрами.
2.5. Работа с электронными таблицами
Электронная таблица — интерактивная система обработки
информации, упорядоченной в виде таблицы с поименованными
строками и столбцами. Прототипом современных электронных
таблиц послужила разработанная в 1979 г. специалистами США
программа Visual Calc. Ныне наиболее часто используются элек-
тронные таблицы Quatro Pro, MS Excel и Lotus 1-2-3.
Основные характеристики программного
продукта Excel
Excel представляет собой мощный арсенал средств ввода, об-
работки и вывода в удобных для пользователя формах фактогра-
фической информации. Эти средства позволяют обрабатывать
82 Глава 2. Техно, югии обработки доку четное
ние колонтитулов, а также предварительный просмотр по-
лучившейся страницы:
• связывание данных — абсолютная и относительная
адресации являются характерной чертой всех табличных
процессоров Они дают возможность работать одновре-
менно с несколькими таблицами, которые могут быть тем
и.ш иным образом связаны друг с другом. Например,
трехмерные связи позволяющие работать с несколькими
листами, идущими подряд: консолидация рабочих листов,
с ее помощью можно обрабатывать суммы, средние зна-
чения и вести статистическую обработку, используя дан-
ные разных областей одного рабочего листа, нескольких
рабочих листов и паже нескольких рабочих книг; связан-
ная консолидация позволяет нс только получить результат
вычислений по нескольким таблицам, но и динамически
его пересчитывать в зависимости от изменения исходных
значений:
• вычисления — для удобства вычисления в табличных
процессорах имеются встроенные функции: математиче-
ские. статистические, финансовые, латы и времени, логи-
ческие и др Менеджер функций позволяет выбрать нуж-
ную и. проставив шачсния. получить результат:
• деловая графика — возможность построения различ-
ного типа двухмерных, трехмерных и смешанных диаграмм
(более 20 различных типов и подтипов), которые пользова-
тель может строидь самостоятельно. Многообразны и дос-
тупны возможности оформления диаграмм, например,
вставка и оформление легенд, меток данных, оформление
осей — возможность вставки линии сеток и другие;
• выполнение табличными процессорами функ-
ций баз данных — обеспечивается заполнением таблиц
аналогично заполнению БД. т. е. через экранную форму;
зашитой данных, сортировкой по ключу или по несколь-
ким ключам, обработкой запросов к БД, созданием свод-
ных таблиц. Кроме этого, осуществляется обработка внеш
них БД, позволяющая рабонпь с файлами. созданными,
например, в формате dBase. Paradox или других форматах;
• п р о г р а м м и р о в а н и е — в табличном процессоре су-
ществует возможность использования встроенного я^ыка
программирования макрокоманд. Разделяют макрокоман
ды и макрофункции. При использовании макрокоманд
2.5. Работа с электронными таблицами
83
упрощается работа с табличным процессором и расширя-
ется список его собственных команд. С помоштю макро-
функций опре тсляют собственные формулы и функции,
расширив, таким образом, набор функций, предоставляе-
мый системой. Программы обработки электронных таблиц
позволяют пользователю создавать на базе табличного
процессора новые приложения со спепиали зированными
диалоговыми окнами, что делает работу с приложением
максимально удобным. Для создания приложении габлич-
ные процессоры содержат в качестве дополнительной
компоненты язык программирования высокою уровня
(например, компоненты языка Visual Basic для составляю-
щих Microsoft Office).
Интерфейс Excel
Интерфейс обеспечивает дружественное выполнение указан-
ных функций и включает иерархическое меню с множеством
подменю, директорий и команд и совокупности командных и
селекторных кнопок окна Excel.
Окно Excel может содержать множество различных элемен-
тов. Все зависит от того, какие инструменты Excel вызваны на
экран. Инструменты вы ;ываются командой Панели инструмен-
тов меню Вид. В простейшем случае, когда на экран не вызваны
никакие инструменты, окно Excel имеет только строку меню,
находящуюся в верхней части экрана, расположенную под ней
строку формул, вертикальную и горизонтальную полосы про-
крутки, линейку прокрутки рабочих листов и рабочую область,
занятую рабочим листом.
Рабочий лист отображает электронную таблицу и разбит на
1чейки, образующие прямоугольны it массив, координаты кото-
рых определяются путем задания их позиции по вертикали
из столбцах) и по горизонтали (в строках). Лист может содержать
до 256 столбцов (от X до IV) и до 65 536 строк (от 1 до 65 536), в
силу чего на экране в каждый данный момент времени располо-
жена только некоторая часть рабочею листа (рис. 2.15).
Столбцы обозначаются буквами латинского алфавита (А, В,
С, ..., Z, ЛА. АВ, АС.AZ, BA, ВВ, ...), а строки — числами
натурального ряда (рис. 2.15. а, о) Гак, D14 обозначаел ячейку.
84
Глава 2. Технологии обработки документов
ЕЗ Microsoft Excel -1
Файл Правка Вид Вставка Формат Сервис Данные
Окно Справка - <5
х
Рис. 2.15. Экран Excel:
а — строки; б — столбцы: е — активная ячейка таблицы
находящуюся на пересечении столбца D и строки 14, a CD99 —
ячейку, находящуюся на пересечении столбца CD и строки 99.
Имена столбцов всегда отображаются в верхней строке рабочего
листа, а номера строк — на его левой границе.
Размеры строк и столбцов можно изменять. Для этого нужно
подвести курсор мыши на границе между заглавиями столбцов
(строк), нажать левую кнопку мыши и переместить появивший-
ся крестик вместе с линией разграничения столбцов (строк) до
нужной позиции.
Совокупность одного или нескольких рабочих листов состав-
ляет рабочую книгу Excel. Переход от одного рабочего листа к
другому той же рабочей книги осуществляется с помощью ли-
нейки прокрутки рабочих листов с 1—8 лепестками их названий,
расположенной в нижней левой полосе экрана. Слева от ярлыч-
ков листов находятся кнопки, позволяющие перейти к первому
рабочему листу, к последующему, к предыдущему.
Полосы прокрутки внизу и справа рабочей области позволяют
перемещать рабочий лист горизонтально и вертикально.
Строка формул, расположенная под строкой меню, высвечи-
вает формулу активизированной ячейки (.правая часть строки) и
ее адрес (левая часть строки).
2.5. Работа с электронными таблицами
85
Справа от строки меню расположена кнопка, позволяющая
уменьшить размер рабочего листа, представив его отдельным ок-
ном экрана.
Слева от строки меню расположена селекторная кнопка, по-
зволяющая манипулировать окном рабочей книги: перемещать,
изменять размер, свертывать в значок, развертывать, восстанав-
ливать, закрывать окно, переходить к другому окну.
В левом верхнем углу экрана есть аналогичная селекторная
кнопка, позволяющая манипулировать окном Excel в целом.
В правом верхнем углу экрана расположены две кнопки,
одна из которых сворачивает окно, а вторая переводит рабочий
лист в режим отдельного окна.
Как правило, при решении большинства задач на экран вы-
зываются следующие панели инструментов: Стандартная, Фор-
матирование, Мастер подсказок. При вызове каждой панели ин-
струментов на экране появляется соответствующая панель ко-
мандных кнопок, нажатие которых щелчком мыши инициирует
выполнение запрограммированных действий. Кнопки Панели
инструментов можно убирать, заменять, вводить новые, исполь-
зуя директорию Настроить Панели инструментов меню Вид.
Стандартная панель инструментов (расположена под строкой
меню) позволяет вызывать нужную команду, не обращаясь к
меню.
Панель Форматирования (расположена ниже стандартной па-
нели) позволяет изменять оформление рабочего листа.
Кнопки на панелях инструментов позволяют быстро вызы-
вать многие функции Excel. Те же самые функции можно вызы-
вать посредством меню.
Указатель мыши, направленный на любую кнопку', высвечи-
вает подсказку о назначении кнопки.
Рабочие ячейки Excel, расположенные на пересечении строк
и столбцов рабочего листа, определяют основу работы всей сис-
темы Excel. Для обеспечения реализации всего многообразия
указанных ранее функций Excel рабочая ячейка Excel имеет
сложную информационную структуру, включающую пять взаи-
мосвязанных уровней записи, хранения, обработки и вывода ин-
формации:
• уровень отображения на экране введенной в ячейку ин-
формации (текст, символы, цифры и т. д.);
• уровень стиля данных, записанных в данную ячейку и ото-
браженных на первом уровне. Он содержит информацию о
86
Глава 2. Технологии обработки документов
стиле данных, записанных в ячейку: шрифт данных, размер
шрифта, цвет шрифта, цвет обрамления и заполнения ячей-
ки и т. д. На этом уровне хранятся все коды форматирова-
ния ячейки;
• уровень формул, здесь хранится информация о формуле, в
соответствии с которой получена информация, отображен-
ная на первом уровне данной ячейки. Изменение аргумен-
тов формулы автоматически сопровождается изменением
информации, отображаемой на 1-м уровне данной ячейки;
• уровень примечаний — например, можно указать, что пре-
подаватель Иванов в данном месяце имеет нагрузку ниже
средней, так как он занимался написанием учебного посо-
бия по Excel. Ячейки, имеющие примечания, на экране
могуч помечаться красной точкой в нижнем правом углу
ячейки;
• уровень имени ячейки — необходим, если следует дать дан-
ной ячейке абсолютный адрес. У каждой ячейки может
быть несколько имен.
При загрузке табличного процессора обычно открывается
рабочее окно, отображающее инструментальные панели, инфор-
мационные поля и собственно электронную таблицу. Отобра-
жаемая электронная таблица, как правило, является одной из
многих, объединенных в книгу или блокнот, являющихся объек-
том хранения в отдельном файле.
Одна из ячеек таблицы всегда является текущей или актив-
ной (см. рис. 2.15. в). Она отображается указателем в виде утол-
щенной рамки или прямоугольника с иным цветом фона, а ее
адрес указывается в строке ввода и редактирования. Именно в
нее вводят информацию. Для перемещения по ячейкам таблицы
вправо по строке используется клавиша <ТаЬ>. Если будет дос-
тигнут последний столбец созданной пользователем таблицы,
произойдет переход на первый столбец следующей строки.
Для объектов электронной таблицы определены следующие
операции редактирования, объединенные в одну
группу: удаление, очистка, вставка, копирование.
Операция перемещения фрагмента сводится к последовательно-
му выполнению операций удаления и вставки. Перед выполне-
нием конкретной операции редактирования необходимо опреде-
лить объект, над которым выполняется действие. По умолчанию
таким объектом является текущая ячейка. Остальные объекты
2.5. Работа с электронными таблицами
87
должны быть выбраны (выделены) с помощью мыши или кла-
виатуры.
Каждая ячейка таблицы характеризуется следующими пара-
метрами: адрес; содержание: значение; формат (рис. 2.16, в).
Обычно при выполнении операций копирования фрагментов
фрагменту-копии передаются все свойства соответствующих
ячеек фрагмента-оригинала, но возможна передача только со-
держания, значения или формата.
В качестве содержания ячейки выступают числовые и тексто-
вые константы, а также выражения (формулы).
X Вырезать Ctrl+X
Копировать Ctrl+C
'дй Буфер обмена Office...
Вставить. Ctrl+V
Специальная вставка...
Заполнить
Очистить
Удалить...
Удалить лист
Переместить/скопировать лист .,
Найти... Ctrl+F
Заменить... Ctrl+H
Перейти... Ctrl+G
Вставка ! Формат сервис I
| Ст₽°в1 I
: Столбцы
: Лист
[Й Диаграмма...
' f>c Функция...
Имя ► I
= Рисунок ►
: Гиперссылка... Ctrl+K =
б
I Формат | Сервис Данные Окно Справка - б1
Ячейки.. Ctrl+I г х
\ Строка ► । -
;|~ Столбец > | Ширина...
Лист ► Автоподбор ширины
\ Автоформат.. Скрыть
Условное форматирование...
Стиль...
Отобразить
Стандартная ширина...
в
Рис. 2.16. Основной инструментарий Excel:
а — правка листа: б — вставка элементов листа; в — форматирование элементов
88
Г uiea 2. Техно, югии обработки доку ментов
В качестве значения ячейки рассматриваются выводимые на
экран представления числовых и текстовых констант, а также
результатов вычисления выражении (формул).
Под выражением понимается совокупность операндов, со-
единенных знаками операций. В качестве операндов используют-
ся числовые и текстовые константы, адреса ячеек и встроенные
функции. При этом числовые и текстовые константы использу-
ются непосредственно, вместо адресов ячеек используются зпа
ченпя соответствующих клеток таблицы, а вместо встроенных
функций — возвращаемые ими значения.
Адреса ячеек в роли операндов и аргументов всiроенных
функций выступают в двух формах: относительной и аб-
солютной. Относительный адрес указывает на положение ад-
ресуемой ячейки относительно той ячейки, в содержании кото-
рой он используется и записывается как обычно (имя столбца и
номер строки, например «Г7»). Абсолютный адрес указывает на
точное положение адресуемой ячейки в таблице и записывается
со знаком «S» перед именем столбца и номером строки (напри
мер, «$Г$7») Возможна абсолютная адресация только столбца
или строки («$?"» или «г$7»). При редактировании объектов
таблицы относительные адреса соответствующим образом кор-
ректируются. а абсолютные адреса нс изменяются.
Шаблоны таблиц
Создав таблицу и выполнив в ней все необходимые процеду-
ры форматирования, можно построить для нес типовые диаграм-
мы, если они будут в тальнсишем использоваться. Для этого из
меню «Файл» вызывают директиву «Сохранить как. . .». В от-
крывшемся диалоговом окне указывают имя типового документа
и выбирают директорию, где он бу тет храниться. Затем шелкают
по стрелке в поле «Тип сайта» и в открывшимся списке выбира-
ют элемент «шаблон». Для окончания процедуры закрывают
окно щелчком по командной кнопке «Сохранить».
Документ получает присваиваемое шаблонам расширение
«.XLT». В дальнейшем его можно загружать как любой друтой
файл. В этом случае открывается нс сам шаблон, а его копия,
что позволяет многократно использовать исходный шаблон при
построении других таблиц.
2.5. Работа с электронными таблицами
89
Для модификации шаблона из меню «Файл» вызывают ди-
рективу «Открыть». После выбора шаблона нажимают клавишу
<Shift> и «щелкают» по кнопке «Открыть». После редактирова-
ния шаблон сохраняют обычным образом.
Если необходимо поменять имя листа, то это можно достичь
двойным щелчком по корешку листа или в следующей последо-
вательности через меню «Формат - > Лист -> Еереииеновать».
В формулах в открытых книгах, ссылающихся на переименовы-
ваемый лист, имя меняется автоматически.
Добавить новый лист можно, щелкнув правой кнопкой мыши
по корешку листа и выбрав команду «Дтбазыть». При этом поя-
вится запрос типа создаваемого листа (лист с таблицей, диаграм-
ма, диалоговое окно, лист макросов или шаблон). Другой вари-
ант — через меню «Вставка Лист», но при этом не появляют-
ся запросы, а сразу создается лист с таблицей перед текущим
листом.
Табличные вычисления
Важным свойством программы является возможность ис-
пользования формул и функций. Чтобы процессор мог от-
личить формулу от текста, ввод формулы в ячейку таблицы на-
чинается со знака равенства (=). После этого знака в ячейку за-
писывается математическое выражение, содержащее аргументы,
арифметические операции и функции. В формуле можно ис-
пользовать числовые и текстовые константы (последние в двой-
ных кавычках), ссылки на ячейки (диапазоны), имена диапазо-
нов и полей, функции и простые арифметические действия.
В качества аргументов в формуле обычно используют числа
и адреса ячеек. Для обозначения арифметических операций
можно применять символы: «+» — сложение. «—» — вычитание,
«*» — умножение. «/» - деление. «'» — возведение в степень.
Формула может содержать ссылки на ячейки таблицы, рас-
положенные в том числе на другом рабочем листе или в таблице
другого файла. Для ссылки на другие листы и книги использу-
ются так называемые трехмерные ссылки. Они отличаются от
обычных наличием имени книги (в квадратных скобках) и листа,
заканчивающегося восклицательным знаком. Например, форму-
ла «= (Otdel. x^s] Заказы! Н7» ссылается на ячейку Н7 на листе
«Заказы» в книге «Oto.el». Для создания такой ссылки можно
90
Глава 2. Технологии обработки документов
через меню «Окно» выбрать исходную (открытую) книгу, затем
выбрать лист и шелкнхть по ячейке лево кнопкой мыши
Однажды введенную формулу можно модифицировать в лю-
бое время Встроенный «Мене 1жер формул» помогает найти
ошибку или неправильную ссылку в таблице.
Изменения в исходных данных влияют на результат в конеч-
ных данных Табличный процессор автоматически пересчитыва-
ет результаты формул, но можно использовать и принхлитель-
ную команду с помощью клавиши <-9>.
Процессор позволяет работать со сложными формулами, со-
держащими несколько операций. Для наглядности можно вклю-
чить текстовый режим, тогда в ячейку будет введен нс результат
вычисления формулы, а собственно формула.
Ввод форму!. Табличный процессор интерпретирует вводи-
мые данные как текст выравнивая их по левому краю или как
числовое значение с выравниванием по правому краю. Напом-
ним. что для ввода формулы формирую! алгебраическое выра-
жение, которому предшествует знак равенства (=).
Приведем пример вычислений. В ячейке «В2» таблицы нахо-
дится число 75, а в ячейке «D7» — число 25. Нужно, чтобы ре
зультат деления значения первой ячейки на значение второй
отобразился в ячейке «F3». Для этого в ячейку «F3» вводят фор-
му iv (=B2/D7) и нажимают клавишу <Enter>. В результате в
ячейке «F3» появится число «3».
Можно существенно упростить ввод формул. После ввода
знака равенства с. юдует щелкнуть мышью по первой ячейке, за-
тем ввести операцию деления и щелкнуть по второй ячейке.
Ввод сложных формул. Применение сложных формул демон-
стрируется на следующем примере (рис. 2.17).
В с D Е
10 РАБОТА ВРЕМЯ ЦЕНА СУММА
11 Настройка клавиатуры 2 S 17.80 S 35.60
12 Обслуживание машин 4 S 3.80 S 15.20
13 Подготовка формуляров 8 S 1.56 $ 12.48
14
15
16 Сумма $ 63.28
17 НДС 15% $ 9.49
Рис. 2.17. Ввоз сложных формул
2.5. Работа с электронными таблицами
91
В столбце «С» приведенной таблицы указано время (в часах),
затраченное на выполнение работы, в столбце «D» — стоимость
одного часа работы, а в столбце «Е» — промежуточная сумма,
которую надо заплатить за эту работу. В ячейке «ЕЬб» нужно по-
лучить результат вычисления обшей стоимости всех работ'. Для
этого в нее записывают формулу: «=Е12-е13+е14». Полученная
сумма умножается на 0.15 с целью учесть налог на добавленную
стоимость, и результат помешается в ячейке «Е1Т» —
«Е16*0, 15».
Для вычисления конечной суммы, подлежащей оплате (на-
пример, в ячейке «Е192») сначала складывают промежуточные
суммы, а затем результат умножают на 0,15. Формула будет
иметь вид: «= (Е12+Е13ее14) 15».
Можно просто просуммировать содержимое ячеек «Е16» и
«Е17». Для сложения чисел используют функцию суммы SUM(),
тогда формула примет вид: «=8шг. (Е12 :Е14) "0, 15».
Для вычисления суммы маркируют ячейку, где она должна
располагаться, и шелкают мышью по пиктограмме сложения.
В наборной строке появляется знак равенства и слово «зим». За
ним в скобках обычно следует адрес некоторой области, пред-
лагаемой программой после анализа близлежащих ячеек в каче-
стве области суммирования. Если процессор правильно «уга-
дал» нужную область, можно щелкнуть по пиктограмме с «га-
лочкой».
В противном случае маркируют группу ячеек, которые нужно
сложить. Используя клавишу <ctrl>, можно промаркировать
несколько несмежных групп ячеек. Эту клавишу удерживают в
нажатом состоянии до тех пор, пока все группы не будут про-
маркированы.
Мастер функций
Используемые для табличных вычислений формулы и их
комбинации часто повторяются. Процессор предлагает более
200 запрограммированных формул, называемых функциями. Для
удобства ориентирования в них функции разделены по категори-
ям. Встроенный «Мастер функций» помогает правильно приме-
нять функции на всех этапах работы и позволяет за два шага
строить и вычислять большинство функций. Функции вызыва-
ются из списка через меню «Еславна Функция» или нажати-
У2
I'.iaea 2. Технологии обработки док) ментов
см кнопки «» на стандартной панели инструментов. Для выбора
. ргументов функции (на втором шаге мастера) используется
кнопка, присутствующая справа от каждого поля ввода. Всрнуть-
. 1 в исходное состояние (после выбора аргу ментов) можно кла-
вишей <Enter> или кнопкой.
Для конструирования функций предварительно маркируют
ячейку, в которой должен появиться результат вычислений. За-
тем щелчком по пиктограмме «Мастера функций» со значком
«fx> открывают диалоговое окно «Мастера...» (рис. 2.18).
vjxj
Поиск функции:
IBeeAHT* краткое описание деисте la, котср сену Найти i
E tiro.nj-чть-, и наймите •«•копку "Найти” 1,1 '
Категория: 110 м* давно»спалоsjsseшихс-а ~^j
Выберите функцию:
ОТС1
СРЗНДЧ “
ЕСЛИ
ГИПЕРССЫЛКА
СЧЕТ —1
МАКС
SIN Ч
СУММ(число1;число2;...)
Суммирует аргументы.
Справка по упри функции OK I Отмена
Рис. 2.18. Экран « Мастера функций»
В окне «Выберите функцию» перечислены предлагаемые
«Мастером...» функции, ниже — краткое описание активизиро-
ванной пользователем функции. Если мышью нажать на кнопку
ОК, то появится специальное окно «Аргументы функции», в ко-
торое вводят необходимые значения и нажимают кнопку ОК.
«Мастер» различает аргументы, которые должны учитываться
обязательно, и необязательные (опциональные) аргументы. Что-
бы задать аргумент функции, нужно ввести его адрес с клавиату-
ры или в таблице промаркировать область, где он расположен.
Тогда адрес аргумента функции появится в соответствующем
поле диалогового окна «Мастера». В результате вычисленное
значение заданной функции отобразится в предварительно вы-
2.5. Работа с электронными таблицами
93
бранной (активизированной) ячейке таблицы. Ячейка остается
маркированной и в строке формул видна выбранная функция
вместе с соответствующими аргументами.
Мастер диаграмм
Табличные процессоры предлагают различные виды иллю-
страций деловой графики (диаграмм), причем их построение
облегчено за счет использования «Мастера диаграмм» — встро-
енных автоматизированных пошаговых процедур, позволяющих
выбрать тип диаграммы и для него выполнить все необходи-
мые операции, в том числе оформления различными компо-
нентами.
Гистограмма показывает изменение данных за определенный
период времени и иллюстрирует соотношение отдельных их зна-
чений. Категории располагаются по горизонтали, а значения —
по вертикали. Ориентирована на изменения во времени. Гисто-
грамма с накоплением демонстрирует вклад отдельных элемен-
тов в общую сумму (рис. 2.19, а).
Линейчатая диаграмма отражает соотношение отдельных
компонентов. Категории расположены по горизонтали, а значе-
ния — по вертикали. Ориентирована на сопоставление значений
и меньшее — изменения во времени. Линейчатая диаграмма с
накоплением показывает вклад отдельных элементов в общую
сумму (рис. 2.19, б).
График представляет варианты отображения изменений дан-
ных за равные промежутки времени (рис. 2.19, в).
Круговая диаграмма отражает как абсолютную величину каж-
дого элемента ряда данных, так и его вклад в общую сумму. На
круговой диаграмме может быть представлен только один ряд
данных. Такую диаграмму рекомендуется использовать, когда
необходимо подчеркнуть какой-либо значительный элемент
(рис. 2.19, г).
Точечная диаграмма показывает взаимосвязь между числовы-
ми значениями в нескольких рядах и представляет две группы
чисел в виде одного ряда точек в координатах х и у. Она отобра-
жает нечетные интервалы (или кластеры) данных и часто ис-
пользуется для представления данных научного характера. При
подготовке данных следует расположить в одной строке или
94
Глава 2. Технологии обработки документов
в
б
Точечная диаграмма позволяет
сравнить пары значений.
е
д
Рис. 2.19. Диаграммы Excel:
а — гистограмма, б — линейчатая диаграмма; в — график; г — круговая диа-
грамма («пирог»): д — точечная диаграмма; е — поверхностная диаграмма
2.5. Работа с электронными таблицами
95
столбце все значения переменной х, а соответствующие значе-
ния у — в смежных строках или столбцах (рис. 2.19. d).
Поверхностная диаграмма используется для поиска наилуч-
шего сочетания двух наборов данных. Как на топографической
карте, области с одним значением выделяются одинаковым узо-
ром и цветом (рис. 2.19, е).
Кроме этого, в инструментарии предусмотрены следующие
типы диаграмм.
Диаграмма с областями подчеркивает величину изменения в
течение определенного периода времени, показывая сумму вве-
денных значений, а также вклад отдельных значений в общую
сумму.
Кольцевая диаграмма, как и круговая диаграмма, показывает
вклад каждого элемента в общую сумму, но в отличие от круго-
вой диаграммы может содержать несколько рядов данных. Каж-
дое кольцо в кольцевой диаграмме представляет отдельный ряд
данных.
В лепестковой диаграмме каждая категория имеет собствен-
ную ось координат, исходящую из начала координат. Линиями
соединяются все значения из определенной серии. Лепестковая
диаграмма позволяет сравнить общие значения из нескольких
наборов данных.
Пузырьковая диаграмма является разновидностью точечной
диаграммы. Размер маркера данных указывает значение третьей
переменной. При подготовке данных в одной строке или столб-
це располагают все значения переменной х, а соответствующие
значения у — в смежных строках или столбцах.
Биржевая диаграмма часто используется для демонстрации
цен на акции. Этот тип диаграммы применяют для отображения
научных данных, например изменения температуры. Для по-
строения этой и других биржевых диаграмм необходимо пра-
вильно организовать данные.
Прежде чем начинать строить диаграмму, необходимо закон-
чить все работы в таблице, включая ее форматирование, затем
воспользоваться «Мастером дхадрадм» («Chartwizard»), щелк-
нув на основной панели по соответствующей пиктограмме.
С помощью указателя мыши на свободном месте рабочего
листа или на новом рабочем листе создается прямоугольник, и в
нем размещается созданная диаграмма. Для этого щелкают ле-
вой клавишей мыши и, не отпуская ее, «буксируют» (перетаски-
вают) образовавшуюся после щелчка пунктирную рамку из
96
Глава 2. Технологии обработки документов
верхнего левого угла прямоугольной области в правый нижний
угол. Если диаграмма строится на отдельном листе, то в меню
«Вставка» открывают подменю «Лист» и нажимают левую кла-
вишу мыши.
На первом шаге маркируют мышью соответствующую об-
ласть таблицы для создания диаграммы. В нее могут быть вклю-
чены заголовки строк и столбцов. Затем в строке меню нажима-
ют на кнопку-пиктограмму с изображением диаграммы 1Й .
В окне «Мастера диаграмм» выбирают один из предложен-
ных образцов и нажимают кнопку «Далее». В новом окне «Мас-
тера...» выбирают источник данных для построения диаграммы
(диапазон и ряды в строках или столбцах). При этом можно уви-
деть вариант получившейся диаграммы.
Нажав кнопку «Далее», переходим в режим установления па-
раметров диаграммы (название, подписи данных, надписи на
осях, легенда и др.). На этом этапе диаграмма фактически сфор-
мирована.
После последнего нажатия на кнопку «Далее» «Мастер...»
предлагает выбрать вариант размещения диаграммы (на имею-
щемся или на отдельном листе). Это последнее действие пользо-
вателя, после которого и нажатия кнопки «Готово» диаграмма
появляется в указанном месте.
Если при работе с «Мастером» не были созданы заголовок
диаграммы и надписи на осях, то это можно сделать потом сле-
дующим образом. Для этого активизируют мышью диаграмму и
нажимают ее правую клавишу. Из выпадающего меню вызыва-
ют директиву «Параметры диаграммы». В открывшемся диалого-
вом окне указывают соответствующие данные и нажимают
кнопку ОК.
В появившихся рамках с текстами находятся введенные заго-
ловки. Их можно редактировать обычным для текстового редак-
тора образом. Для этого щелкают левой клавишей мыши по од-
ному из текстов и в образовавшейся вокруг него рамке редакти-
руют текст.
Информационные связи
В табличном процессоре можно ввести ссылки на ячейки,
расположенные в другой таблице. После установления ссылки
значения, находящиеся в ячейках, будут автоматически обнов-
2.5. Работа с электронными таблицами
97
ляться. Для обращения к значению ячейки, расположенной на
другом рабочем листе, указывают имя этого листа вместе с адре-
сом соответствующей ячейки. Например, для обращения к ячей-
ке «F7» на рабочем листе «Akt3» вводится формула «=Akt3!A7».
Если в названии листа есть пробелы, то название заключается в
кавычки. Адреса ячеек указывают латинскими буквами. Инфор-
мационное связывание двух ячеек можно упростить, если скопи-
ровать значение исходной ячейки в буфер (с помощью клавиш
<Ctrl+C>) и промаркировать ячейку, в которой должен появить-
ся результат. Затем из меню «Правка» выполняется директива
«Специальная вставка». В диалоговом окне этой директивы вы-
бирают вариант вставки и щелкают по кнопке ОК.
Обмен данными. Функция обмена данными позволяет поль-
зователю процессора импортировать в свои таблицы объекты из
других прикладных программ и передавать (экспортировать)
собственные таблицы для встраивания их в другие объекты.
Концепция обмена данными является одной из основных в
среде Windows. Редактор «Excel» поддерживает стандарт обмена
данными OLE 2.0 (Object Linking and Embedding).
Между объектами, обрабатываемыми различными приклад-
ными программами, создаются информационные связи, напри-
мер между таблицами и текстами (рис. 2.20, а). Эти информаци-
онные связи реализованы динамически, например, копия табли-
цы, встроенная в текст, будет обновляться (актуализироваться)
всякий раз, когда в ее оригинал вносятся изменения.
Обработка списков. Списки позволяют эффективно работать
с большими однородными наборами данных.
Списком называют упорядоченный набор данных, имеющих
одинаковую структуру. Например, списком является телефон-
ный справочник, в котором приведены фамилии абонентов и
номера их телефонов (рис. 2.20. б). Каждый элемент списка за-
нимает одну строку, в которой данные распределяются по не-
скольким полям (столбцам). В программе списки являются спе-
циальным видом таблиц с набором операций по их обработке.
Они могут рассматриваться как внутренние БД, в которых
записями являются строки таблицы, а полями — столбцы.
Для создания списков необходимо задать названия отдель-
ных полей в них. Е1апример, в качестве полей для списка теле-
фонных номеров можно выбрать следующие: телефонный номер
абонента, имя абонента, адрес абонента и примечания. Назва-
ния полей используются программой для поиска элементов в
98
Глава 2. Технологии обработки документов
Источник: Объект Документ " zrosoft Word
(• ВСТАВИТЬ-
сеязагь;
Как:
Отмена
Результат
it Microsoft Word
Текст в кодировке Unicode
__j Г Е виде значка
Вставка содедо» ного буфера обмена в
документ, так что его но»но изменять,
используя Документ Microsoft Word.
Номер: f
Ароент ["
Адрес: I
□
Рис. 2.20. Установка ссылок (а). обрабсика списков (о)
списке и его обработки. Эти названия соответствуют названиям
столбцов в таблице.
В первой строке рабочего листа ввотят названия отдельных
полей списка, не оставляя между ними свободных столбцов. Эта
строка таблицы используется в качестве строки заголовков спи-
ска. Для этого выбывают из меню «Данные» директиву «Форма».
В результате открывается диалоговое окно для ввода данных, в
котором каждому полю списка cooiвстствует иоле ввода
(рис. 2.20, б).
Для проведения поиска в созданноу! списке вызывают из
меню «Данные» директиву «Форма». В диалоговом окне появля-
2.5. Работа с электронными таблицами
99
ется первый элемент списка. Щелкнув по командной кнопке
«Критерии», входят в режим поиска. Для осуществления поиска
вводят значения одного или нескольких полей искомого элемен-
та в соответствующие поля ввода, расположенные в левой части
окна. Введенные значения служат критериями поиска. Можно
заполнить не все поля ввода, тогда будет производиться поиск
элементов в соответствующих полях списка.
Для проведения поиска по введенным значениям, щелкают
по кнопке «Далее». Чтобы найти элемент, удовлетворяющий
критерию поиска, программа просматривает весь список начи-
ная с первого элемента. Если находится соответствующий эле-
мент, он появляется в диалоговом окне. Если нужно найти сле-
дующий элемент, удовлетворяющий условию поиска, снова щел-
кают по кнопке «Далее».
Е1ри поиске текста для маскирования текстовых позиций
можно использовать символы «?» (позволяет игнорировать одну
занимаемую им текстовую позицию) или «*» (позволяет игнори-
ровать все следующие после нее символы).
В числовых критериях поиска можно использовать логиче-
ские операторы. Например, условие «>30» означает, что нужно
найти все элементы списка, содержимое указанного поля кото-
рых больше 30.
Следует отметить, что в комплект поставки «Excel» входит
программа обработки внешних баз данных «MS Query». Про-
грамма «Query» (Запрос) может работать с текстовыми файлами
и данными, подготовленными такими СУБД, как MS Access,
dBASE, FoxPro, Oracle, Paradox, SQL Server. Набор данных, хра-
нящийся на диске в формате одной из перечисленных выше БД,
называют внешней БД. Если в процессе работы с таблицей воз-
никает необходимость обратиться к внешней БД. запускают
программу «Query». Это позволяет импортировать данные из
базы и обрабатывать их как обычные табличные данные в
«Excel». В некоторых случаях внешние данные можно обработать
непосредственно программой «Query».
В заключение заметим, что программы электронных таблиц
могут успешно использоваться не только для расчетных задач,
но и при математическом моделировании и оптимизации, в ча-
стности, для решения задач линейного программирования или
решения дифференциальных уравнений путем построения дина-
мических имитационных моделей «зацикливанием» функцио-
нальных связей между зависимыми переменными.
100 Глава 2. Технологии обработки документов
Контрольные вопросы
1. В чем отличие логической и макетной структур документов?
2. Приведите примеры разметки текстов.
3. Какова структура документа в SGML?
4. Что такое DTD?
5. Что такое логические и физические стили?
6. Охарактеризуйте возможности и назначение языка XML.
7. Перечислите основные синтаксические единицы XML.
8. Назовите основные компоненты семейства XML-технологий.
9. Перечислите функции текстовых редакторов.
10. Охарактеризуйте возможности интерфейса текстового редактора.
11. Перечислите параметры документа в целом и опишите методы их за-
дания.
12. Какова структура рабочего листа табличного процессора?
13. Охарактеризуйте возможности интерфейса табличного процессора.
14. Опишите возможности Мастера функций.
15. Перечислите основные типы диаграмм.
Глава 3
МУЛЬТИМЕДИЙНЫЕ ТЕХНОЛОГИИ
Мультимедиа — совокупность программно-аппаратных
средств, реализующих интегрированную обработку и представле-
ние информации в символьном, звуковом и зрительном виде.
Мультимедиа представляет собой объединение несколь-
ких способов подачи информации — текст, непод-
вижные изображения (рисунки и фотографии), движущиеся изо-
бражения (мультипликация и видео) и звук (цифровой и MIDI)
в интерактивный продукт.
Появление систем мультимедиа, безусловно, производит
большие изменения в таких областях, как образование, компью-
терный тренинг, во многих сферах профессиональной деятель-
ности, науки, искусства, в компьютерных играх и т. д.
Поскольку технические средства мультимедиа и их характе-
ристики более подробно описываются, например, в [25], здесь
мы ограничимся рассмотрением некоторых методов представле-
ния и обработки информации в таких системах.
3.1. Обработка аудиоинформации
В то время как даже в нецифровых технологиях фото и ви-
део в принципе могут быть найдены элементы дискретности
(в первом случае зерна пленки и фоточувствительные ячейки
иконоскопа или матрица ПЗС, во втором — то же плюс раз-
биение изображения на строки), звуковой сигнал в своей осно-
ве является чисто аналоговым (если не вдаваться в такие тон-
кости, как м а г н и тные домены в чувств и тельном
слое при записи на ленту). Поэтому целесообразно
здесь сказать несколько слов о преобразовании звука (ана-
лог-код и обратно).
102
Глава 3. Мультимедийные технологии
Аналого-цифровое преобразование
Аналого-цифровое (дискретное) преобразование (АЦП) —
(ADC — analog-to-digital conversion) — заключается в формиро-
вании последовательностей //-разрядных двоичных слов, пред-
ставляющих с заданной точностью аналоговые сигналы. В необ-
ходимых случаях осуществляется обратное — дискретно-аналого-
вое (цифроаналоговое преобразование - ЦАП. DAC).
Более чем тридцатилетнее развитие теории и практики ЭВМ
приводит к вытеснению (в том числе и на бытовом уровне) ана-
логовых устройств и сигналов цифровыми. Наиболее популяр-
ным примером является несомненно аудиокомпакт-диск
(digital audio CD) [25].
В этом случае звуковой сигнал (рис. 3.1) сначала преобразу-
ется в дискретную аппроксимацию («многоуровневый ступенча-
тый сигнал»), при этом происходит квантование по времени, ко-
торое заключается в измерении (sampling) в дискретные момен-
ты необходимого параметра аналогового сигнала.
При квантовании по амплитуде каждая ступенька представ-
ляется последовательностью бинарных цифровых сигналов.
Принятый в настоящее время стандарт CD использует так назы-
ваемый «16-разрядный звук с частотой сканирования 44 кГц».
Для рис. 3.1 в переводе на нормальный язык это означает,
что «длина ступеньки» (т) равна '/44100 с. а «высота ступеньки» (5)
составляет '/65 53б максимальной громкости сигнала (поскольку
216 = 65 536). При этом частотный диапазон воспроизведения со-
ставляет 0—22 кГц, а динамический диапазон — 96 децибел (что
Рис. 3.1. Аналоговый сигнал (7) и его дискретная (цифровая) аппроксимация (2)
(оцифровка); г — период дискретизации (sampling rate); 5 — уровни квантования
по амплитуде
3.1. Обработка аудиоинформации
103
составляет совершенно недостижимую для магнитной или меха-
нической звукозаписи характеристику качества). Необходимо за-
метить, что различные звуковые карты могут обеспечить 8- или
16-битные выборки, 8-битные карты позволяют закодировать
256 различных уровней дискретизации звукового сигнала, соот-
ветственно 16-битные — 65 536 уровней.
Количество выборок в секунду, т. е. частота дискретизации
аналогового звукового сигнала, также может принимать различ-
ные значения: 5,5, 11, 22 и 44 кГц. Таким образом, качество зву-
ка в дискретной форме может быть очень плохим (качество ра-
диотрансляции) при 8 битах и 5,5 кГц и очень высоким (качест-
во аудиоСВ) при 16 битах и 44 кГц.
Поскольку компакт-диск — стереосистема, необходимо за-
писывать два 16-разрядных слова каждый 44 100 раз в секунду.
Это удается в пределах 176,4 Кбайт/с, 10,58 Мбайт/мин или
635 Мбайт/ч. Самый распространенный формат файла цифро-
вой звукозаписи на ПК — WAV.
Для записи звука к звуковой плате может быть подключен
микрофон или устройство воспроизведения звука (магнитофон,
CD-плейер). Для воспроизведения звука к ее выходу могут быть
подключены акустические колонки или наушники, а также любая
акустическая система (магнитофон, музыкальный центр и т. д.).
Запись и редактирование аудиоматериалов требует большое
пространство жесткого диска — при качестве компакт-диска зву-
чание 10 мин потребует более чем 100 Мбайт. Чем быстрее диск
и подсистема ввода-вывода, тем легче работать с такими боль-
шими файлами. Современные жесткие диски и PCI-контролле-
ры способны к поддержке передачи не менее 4 Мбайт/с. Необ-
ходимы гарантии, чтобы не было никаких прерываний в аудио-
потоке. Многие НЖМД делают прерывание, чтобы выполнить
тепловую перекалибровку, которое может привести к короткой,
но нежелательной паузе в звуке. Некоторые дисководы AV спе-
циально проектируются без тепловой перекалибровки, таким об-
разом устраняя этот эффект.
Звуковые платы
Звуковая плата ПК содержит несколько аппаратных систем,
связанных с производством и сбором аудиоданных, две основ-
ные аудиоподсистемы, предназначенные для цифрового «аудио-
104
Глава 3. Мультимедийные технологии
захвата», синтеза и воспроизведения музыки (рис. 3.2). Истори-
чески подсистема синтеза и воспроизведения музыки генерирует
звуковые волны одним из двух способов:
• через внутренний синтезатор (например, ЧМ-синтезатор);
• проигрывая оцифрованный (sampled) звук.
Секция цифровой звукозаписи звуковой платы состоит из
пары 16-разрядных преобразователей — ЦАП и АЦП и содержит
программируемый генератор частоты выборки, синхронизирую-
щий преобразователи и управляемый от ЦП. Компьютер переда-
ет оцифрованные звуковые данные к преобразователям или об-
ратно. Частота преобразования обычно кратна (или составляет
часть от) 44,1 кГц.
Большинство плат использует один или более каналов пря-
мого доступа к памяти, некоторые платы также обеспечивают
прямое цифровое подключение S/PDIF (или SPDIF). Кабель пе-
редачи SPDIF (Sony/Philips Digital InterFace — Цифровой Ин-
терфейс Sony/Philips) может быть оформлен в двух видах: коак-
сиальный и оптический. Входы и выходы коаксиального SPDIF
выполнены на разъемах типа RCA. Оптический SPDIF исполь-
зует для передачи данных оптический кабель, входы и выходы
которого выполнены на разъемах типа Toslink.
Генератор звука, установленный на плате, использует про-
цессор цифровых сигналов (Digital Signal Processor — DSP), ко-
торый проигрывает требуемые музыкальные ноты, объединяя их
считывание из различных областей звуковой таблицы с различ-
ными скоростями, чтобы получить требуемую высоту тона. Мак-
симальное количество доступных нот связано с мощностью
DSP-процессора и называется полифонией платы.
DSP-процессоры используют сложные алгоритмы, чтобы
создать эффекты наподобие реверберации, хорового звучания и
запаздывания. Реверберация создает впечатление, что инстру-
менты играют в больших концертных залах. Хор используется,
чтобы создать впечатление, что несколько инструментов играют
совместно, тогда как фактически есть только один. Добавление
запаздывания к партии гитары, например, может дать эффект
пространства и стереозвучания.
Частотная модуляция. Первой широко распространенной
технологией, которая используется в звуковых платах, была час-
тотная модуляция (ЧМ, Frequency Modulation — FM), разрабо-
танная в начале 1970-х гг. Дж. Чоунингом (Стэнфордский уни-
верситет).
3.1. Обработка аудиоинформации
105
Синтез с использованием частотной модуля-
ции (FM-synthesis) основывается на последовательном и парал-
лельном подключении генераторов простых сигналов и их взаи-
момодуляции. Схема соединения генераторов и параметры каж-
дого сигнала (частота, амплитуда и закон их изменения во
времени) определяют тембр звучания, а количество генераторов
и степень тонкости управления ими определяет предельное ко-
личество синтезируемых тембров. Данный метод очень удобен с
точки зрения дешевизны реализации, но при этом требует слож-
ного программирования и тонкой настройки. Использовался в
большинстве звуковых PC-карт в виде стандартных GM-уст-
ройств, а также активно популяризировался фирмой Yamaha и
ее модельным рядом синтезаторов GX.
Каждый голос ЧМ-синтезатора требует минимум двух гене-
раторов сигнала, обычно называемых «операторами». Различные
конструкции ЧМ-синтезатора имеют различные степени управ-
ления параметрами оператора. Сложные системы ЧМ могут ис-
пользовать 4 или 6 операторов на каждый голос, и операторы
могут иметь корректируемые параметры, которые позволяют на-
строить скорости нарастания и угасания сигнала.
Yamaha была первой компанией, которая вложила капитал в
исследования по теории Чоунинга, что привело к разработке ле-
гендарного синтезатора DX7. Специалисты Yamaha скоро поня-
ли, что смешивание более широкого диапазона несущих и моду-
ляторов позволяет создать более сложные тембры, приводя к бо-
лее реалистическим звучащим инструментам. Аппаратные
средства их синтезатора OPL3 — фактический стандарт для иг-
ровых плат, использует параметры, загруженные программным
драйвером, чтобы управлять каскадными генераторами ЧМ, ко-
торые создают аналог акустических и электронных музыкальных
инструментов.
Хотя системы ЧМ были осуществлены в аналоговом испол-
нении на ранних клавиатурных синтезаторах, в дальнейшем вы-
полнение синтеза FM было сделано в цифровой форме. Методы
синтеза FM очень полезны для того, чтобы создать выразитель-
ные новые звуки. Однако если цель синтезирующей системы со-
стоит в том, чтобы воспроизвести звук некоторого существую-
щего инструмента, это лучше делать в цифровой форме на осно-
ве выборок сигналов, как при синтезе с использованием
звуковых таблиц (WaveTable Synthesis).
106 Гюва 3. М\ 1ЫП11 медийные технологии
Табличный синтез (Wax cl able synthesis пли PC VI-synthesis).
Здесь используются выборки звуков реальных инструментов —
небольших сэмплированных «кусочков» звуковой волны, опре-
деленный набор которых позволяет создать звучание инструмен-
та. смоделировать интересные звуки. Активно используется в
PPG, Waldorf. Korg DV\ 8000, Ensoniq ESQ-1 и ряде другич син-
тезаторов.
Выборка цифровое представление формы звука, произве-
денного инструментом Платы, испояьзуюшие ISA. обычно со-
храняют выборки в ROV1. хотя более новые PCI-излслия ис-
пользуют основную системную оперативною память ПК. кото-
рая загружается при запуске ОС (например, Windows) и ложст
включить новые звуки
В то время как все звуковые платы 4.V1 звхчат аналогично,
платы звуковых таблиц значительно отличаю юя по качеству. Ка-
чество инструментов определено несколькими факторами:
• качество первоначальной записи:
• частота, на которой выборки были записаны:
• количество выборок, использованных для калетою инстру-
мента;
• методы сжатия, использованные для сохранения выборки.
Большинство инструментальных выборок записаны в стан-
дарте 16 бит и 44.1 кГп, но многие изготовители сжимают дан-
ные так, чтобы больше выборок или инструментов можно было
записать в ограниченный обьем памяти Однако сжатие часто
приводит к потере динамического диапазона или качества.
Когда аудиокассета воспроизводится слишком быстро или
слишком медленно, се высота звучания меняется, и это справед-
ливо также .для цифровой звукозаписи. Проигрывание выборки
на более высокой скорости, чем ее оригинал, приводит к более
высокому воспроизводимому звуку позволяя инструментам ис-
полнять более чем несколько октав. Однако если некоторые тем-
бры воспроизводятся быстро, они звучат слишком слабо и тон-
ко; аналогично, когда выборка проигрьи ается слишком медлен-
но. она звучит уныло и неестественно. Чтобы преодолеть эти
эффекты, изготовители разбивают клавиатуру на несколько об-
ластей и применяют различные выборки звутсов инструментов в
каждой из них.
Каждый инструмент звучит с различным тембром в зависи-
мости от стиля игры. Например, при мягкой игре на фортепья-
но, не слышен звук молотков, бьющих ио струнам. При более
3.1. Обработка аудиоинформации
107
интенсивной игре мало того, что этот звук становится более оче-
видным, но можно заметить также и изменения тона.
Для каждого инструмента должны быть записаны много вы-
борок и их разновидностей, чтобы синтезатор точно воспроизвел
соответствующий диапазон звука, а это неизбежно требует боль-
шего количества памяти. Типичная звуковая плата может содер-
жать до 700 инструментальных выборок в пределах ROM
4 Мбайт. Точное воспроизведение фортепьяно соло, однако,
требует от 6 до 10 Мбайт данных, вот почему нет никакого срав-
нения между синтезируемым и реальным звуком.
Обновление звуковой таблицы не всегда означает необходи-
мость покупать новую звуковую плату. Большинство 16-разряд-
ных звуковых плат имеет разъем, который может соединиться с
дополнительной платой звуковой таблицы (daughterboard). Каче-
ство звучания инструментов, которые такие платы обеспечива-
ют, значительно отличается, и это обычно зависит от того, каков
объем памяти расположен на плате. Большинство плат содержит
между 1 и 4 Мбайт выборок, и предлагает целый ряд цифровых
звуковых эффектов.
Другие методы звукового синтеза.
Аддитивный или суммирующий синтез (additive
synthesis). Данный метод прекрасно иллюстрируют первые моде-
ли от Hammond, которые были основаны на принципе построе-
ния звучания реальных органов. В его основе лежит следующая
идея — создание сложных гармонически насыщенных звуков из
простых изменяющихся синусоидальных волн, различных по ам-
плитуде и/или частоте.
Вычитающий синтез (subtractive synthesis). Данный ме-
тод противоположен предыдущему. В качестве исходного берет-
ся тембрально богатый, насыщенный гармониками звук, а потом
в результате сложной фильтрации из него формируется опреде-
ленный тембр с характерной тоновой окраской.
Direct Draw. В ряде синтезаторов используются осцилля-
торы, генерирующие звуковые волны со стандартными формами
(синусоида, прямоугольная, пилообразная и т. п.). В варианте
Direct Draw пользователь может самостоятельно рисовать любые
формы.
Гранулированный синтез (Granular synthesis). Явля-
ется частным случаем таблично-волнового синтеза. Звук форми-
руется из коротких сэмплированных фрагментов звуковой вол-
ны. В результате взаимодействия частоты их повторения и час-
108
Глава 3. .Мулыпи медийные технологии
тотных составляющих сэмплированном звуковой формы
получается те.мбрально сложный монотонный звук. который впо-
следствии южно обрабатывать методами вычитающего синтези-
рования. Отна из первых реализаций подобного была в програм-
ме Ross Bencina AudioMulch.
Сэмплинг (Sample plaxback). Данный метод базируется на
использовании сэмп шрованны.х (записанных) инструментов и
воспроизведении их в режиме обычного проигрывателя. Неболь-
шие звуковые фрагменты из которых складывается звучание ин-
струмента, загружаются в память (ROM или RAM) и затем вос-
производятся.
Ре с и н тс зи ро в а н н ы и PCM (Resynthesized (RS) —
PCM). Этот метод синтеза был введен фирмой Roland и основан
на анализе сэмплированного звука и его посте птошего воссоз-
дания аддитивным методом синтеза.
Линейно-арифметический синтез (Lincar/Arith-
mctic (L/A) synthesis). Этот метод также был введен фирмой
Roland в конце 80-х гг.. начиная с модели D-50. За основу кон-
цепции L/A synthesis было вино смешивание небольшого фраг-
мента сэмпла «живого» инструмента (обычно атаки) с синтези-
рованной волновой формой. Этот метод позволят дать нату-
ральную звуковую окраску, близкую к реальному звучанию, при
этом получается выигрыш в меньшей загрузке аппаратных вы-
числительных мощностей. Атака инструмента — это один из са-
мых сложных элементов при реализации натуральных звуков в
синтезированном виде.
Передовое интегрирование (Advanced Integrated
synthesis). Данный метод был впервые представлен в модели
Korg М-1. Он использует сэмплированную атаку и другие волно-
вые формы, которые впоследствии обрабатываются методами
вычитающего синтеза, при этом для получения качественно но-
вых звуков дополнительно могут использоваться сложные эф-
фект-процсссоры.
Синтез переменной архитектуры (VAST —
Variable Architecture Synthesis Technology). Разновидность
DSP-синтеза, основанная на комбинировании мощных вычисле-
ний по формированию цэтчей. включая сэмплированные звуки,
добавление сложных эффектов и открытую архитектуру.
Z - Р1 a n е synthesis. Данный метод синтезирования явля-
ется уникальной разработкой и впервые был представлен в зву-
ковом модуле E-mu Systems Morpheus. Его суть состоит в еле-
3.1. Обработка аудиоинформации
109
дующем — берутся две волновые формы разных инструментов и
одна промежуточная для плавного перетекания от первой ко
второй.
Синтез физического моделирования (Physical
modeling synthesis). За основу данного метода берется сложная
математическая модель, которая полностью описывает форми-
рование звука в инструменте. Впервые этот вид синтезирования
был представлен в модельном ряде синтезаторов Yamaha VL-1 и
VL-7, а теперь используется повсеместно, хотя до полноценного
математического повторения реальных физических процессов
еще далеко.
Синтез по математической функции (Mathema-
tical function synthesis). Также частный случай физического моде-
лирования, с помощью которого можно вкладывать математиче-
ские функции, объединять их в функциональные блоки, а из них
создавать математические алгоритмические модели. Вернее ска-
зать, что этот метод является одним из простейших разделов фи-
зического моделирования. Он хорошо подходит для эмуляции
аналоговых синтезаторов.
Спектральный синтез (Spectral synthesis). Это даже не
метод, а скорее способ создания сложных гармонических зву-
ков. За основу их построения берется обыкновенная спектро-
грамма (графическое представление зависимости частоты от ам-
плитуды).
Плата SoundBlaster
В 1998 г. Creative Technology был выпушен удачный образец
звуковой платы SoundBlaster Live!, ставший в дальнейшем стан-
дартом де-факто.
Версия Platinum 5.1 карты Creative SoundBlaster Live!, кото-
рая появилась к концу 2000 г., имела следующие гнезда и соеди-
нители (рис. 3.2):
• аналогово-цифровой выход — либо сжатый сигнал в фор-
мате Dolby АС-3 SPDIF с 6 каналами для подключения
внешних цифровых устройств или динамиков цифровых
систем, либо аналоговая система громкоговорителей 5.1;
• линейный вход — соединяется с внешним устройством
типа кассетного, цифрового магнитофона, плейера и пр.;
по
Глава .3. Мультимедийные техноюгии
Телефонный автоответчик
Внешний коннектор
— АудиоОв
Разъем
CD SPDIF
------Микрофон вход
---- Линейный вход
Агналого-цифро-
вой выход
“— Joystick MID
------ Колонки
Линейный выход
Ог'ичесхий SPDIF
(шифровой звук)
RCA SPDIF
Разъемы
RCA
Инфракрасный
порт
@ ®с> ФО у у
Наув-ники —„ .. . Линейный
Линейный Питейный-------
Регулртор (микрофон) (микрофон)
громкое» вхэд 2 вход MIDI вход-выход
наушников селектор
АуЛиорас1нигоние (цифровой ввод-вывод)
а
б
Рис. 3.2. Схема аудиоплаты The Platinum 5.1 Creative
• микрофонное гнездо — соединяется с внешним микрофо-
ном для вво ш голоса.
• лицейный выход — соединяется с динамиками или внеш-
ним усилителем для аудиовывода или наушниками:
• соединитель джойстика/MIDI — соединяется с джойсти-
ком или устройством \4Ю1; и может быть настроен так,
чтобы соединяться с обоими одновременно;
• CD/SPDIF-соединитель — соединяется с выводом SPDIF,
расположенным на дисководе DVD или CD-ROM;
• дополнительный аудиовход — соединяется с внутренними
аудиоисточниками типа тюнера, MPEG или других подоб-
ных плат;
• соединитель аудиоСО — соединяется с аналоговым аудио-
выводом на CD-ROM или DVD-ROM, используя кабель
аудиоСО;
• соединитель автоответчика — обеспечивает монофониче-
скую связь со стандартным голосовым модемом и передает
сигналы микрофона к молем
Ауд ио рас ш и ре н и е (цифровой ввод-вывод) —
соединяется с цифровой платой ввода-вывода (может распола
гаться в свободной нише накопителя на 5.25", выходящей на пе-
реднюю панель компьютера), иногда называемой Live'Drive.
Обеспечивает следующие соединения
• гнездо RCA SPDIF — соединяется с устройствами цифро-
вой звукозаписи типа цифровой ленты и мини-дисков,
3.1. Обработка аудиоинформации
111
• гнездо наушников — соединяется с парой высококачест-
венных наушников; вывод динамика отключается;
• регулировка уровня наушников — управляет громкостью
сигнала наушников;
• второй вход (линейный/микрофонный) — соединяется с
высококачественным динамическим микрофоном или ау-
диоисточником (электрогитара, цифровое аудио или мини-
диск);
• переключатель второго входа (линейный/микрофон);
• соединитель MIDI — соединяется с устройствами MIDI че-
рез кабель Mini DIN-Standard DIN:
• инфракрасный порт (сенсор) — позволяет организовать
дистанционное управление ПК;
• вспомогательные гнезда RCA — соединяются с оборудова-
нием бытовой электроники типа видеомагнитофона, теле-
визора или проигрывателя компакт-дисков;
• оптический вход/выход SPDIF — соединяется с устройст-
вами цифровой звукозаписи наподобие цифровой ленты
или мини-дисков.
Другие изготовители звуковых плат быстро восприняли идею
относительно отдельного модуля разъемов ввода-вывода. Было
разработано множество разновидностей — одни были размеше-
ны в отсеке для накопителей подобно Live.'Drive. другие были
внешними модулями, некоторые из которых были разработаны,
чтобы действовать как концентраторы USB.
Современные аудиокарты поддерживают также ряд стандарт-
ных возможностей моделирования, генерации и обработки зву-
кового сигнала:
• DirectX — предложенная Microsoft система команд управ-
ления позиционированием виртуального звукового источ-
ника (модификации — DirectX 3. 5, 6);
• A3D — разработанный в 1997 г. NASA (National Aeronautics
and Space Administration) и Aureal для использования в лет-
ных тренажерах стандарт генерации таких эффектов, как
густой туман или подводные звуки. A3D2 позволяет моде-
лировать конфигурацию помещения, в котором раздаются
и распространяются звуки, вычисляя до 60 звуковых отра-
жений (как в ангаре, так и в колодце):
• EAX (Environmental Audio Extensions) — предложенная
Creative Technology в 1998 г. модель добавления ревербера-
112
Гюва J. My ibmiiMCcluiiHbie технологии
ции в A3D с учетом звуковых препятствии и поглощения
звуков;
• MIDI (Musical Instalment Digital Interface) — протокол, раз-
работанный в 1980-х гг.. в соответствии с которым коман-
ды перелаются по стандартному интерфейсу. В Windows
Mipi-фамлы могут воспроизводиться специальной про-
граммой проигрывателем MIDl-Sequencer. В ттой области
синтеза звука также имеются свои стандарты. Основным
является стандарт МТ-32, разработанный фирмой Roland и
названный в соответствии с одноименным модулем генера-
ции звуков. Этот стандарт также применяется в звуковых
картах LAPC и определяет основные среде tea для управле-
ния расположением инструментов, голосов, а также для де-
ления на инструментальные группы (клавишные, ударные
и т. д.) (рис. 3.3).
Рис. 3.3. MIDI-интерфсис
MIDI
Цифровой интерфейс музыкальных инструментов (Musical
Instrument Digital Interface или MIDI) появился в начале
1980-х гг. и был разработан, чтобы обеспечить стандартный
интерфейс между пу яьтами управления музыкой (наподобие
клавиатур) и звуковыми генераторами (типа синтсзаюров и
3.1. Обработка аудиоинформации
113
«роботов-барабанщиков»)- Кроме того, он первоначально был
предназначен для работы через последовательное подключе-
ние, аналогичное стыку RS-232 |24. 251. и включал в себя как
стандарт передачи информации, так и протокол электрических
сигналов.
На уровне электросигналов MIDI представляет полудуп-
лексную токовую петлю (5 мА), которая пропускает последо-
вательный поток данных по 8 битов на скорости передачи
31,25 килобод.
На уровне передачи информации MIDI представляет собой
что-то вроде языка для того, чтобы описать музыкальные такты
и эффекты в реальном масштабе времени. Он обеспечивает со-
единение более чем по 16 каналам. позволяя подключить до
16 инструментов MIDI к одному интерфейсу. Некоторые
MIDI-интерфейсы имеют 16 выходов, позволяя одновременно
обращаться к 256 инструментам.
Интерфейс MIDI передает не звук, а команды, которые вы-
полняет устройство-приемник. IIнструменты соединяются стан-
дартными разъемами 5-DIN. Например, если на клавиатуре на-
жата определенная клавиша, то передастся команда 'note On
(включить ноту), которая заставляет принимающее устройство
проиграть некоторую музыкальную ноту'.
Команда состоит из трех элементов:
• байт состояния (Status Byte);
• номер ноты (Note llurtber);
• значение скорости нажатия клавиши (Velocity Value).
Байт состояния содержит информацию о типе команды
(в этом случае — «включить ноту»), а также на какой канал она
должна быть послана (1 — 16).
Номер ноты описывает клавишу, которая была нажата (ска-
жем, «ре» Большой Октавы).
Значение скорости указывает силу, с которой эта клавиша
была нажата. Принимающий инструмент будет исполнять эту
ноту, пока не придет команда '. iff (отключить ноту), кото-
рая содержит аналогичные данные.
В зависимости от того, какой именно звук проигрывается,
синтезаторы по-разному обрабатывают данные Velocity
Value. Звук фортепьяно, например, становится громче, если
клавиша нажата более сильно, а также изменяются тональные
свойства. Профессиональные синтезаторы часто вводят допол-
114
Глава J. Мультимедийные техно тгии
нительныс тембры, чтобы подражать звуку молоточков, ударяю-
щих по струнам
Число голосов (MIDI-каналов) ши полифония звуковой
платы определяет максимальное количество элементарных зву-
ков. которые плата может воспроизвести одновременно. Это
число иногда указывают в названии звуковой карты, например:
SB 16. AW F 64. SB PCI 64. SB PCI 128 и т. л.
Существует несколько разновидное геи стандарта MIDI —
(6Л1 CiS и г л. Практически все современные звуковые адаптеры
совместимы со стандартом G’ l (General MIDI — единый или
общий MIDI).
Постоянные контроллеры Continuous Controllers (СС) ис-
пользуются. чтобы управлять параметрами настройки: уровень
звучания, эффекты, панорамирование (позиционирование сте-
реозвука) и др. Многие устройства MIDI позволяют установить
внутренние параметры для СС (до 128). На этой базе Ассоциа-
ция Изготовите 1си MIDI (MIDI Manufacturers Association —
MMA) разработала спецификацию для синтезаторов, известную
как General MIDI.
MIDI секвенсоры. Первые приложения MIDI были рассчита-
ны на то, чтобы при игре на одной клавиатуре сочетать звуки,
произведенные несколькими синтезаторами. Сегодня тем не ме-
нее это используется главным образом в секвенсорах, хотя MIDI
также применяется и в системах театрального освещения и со-
провождения как удобный способ управления множествох! про-
жекторов и кино (видео) проекторов.
По существу, секвенсор (sequencer) представляет собой циф-
ровой магнитофон, который записывает и воспроизводит коман-
ды MIDI, а нс аудиосигналы. Первые секвенсоры имели неболь-
шую память и были способны к запоминанию только от 1 до
2 тыс. музыкальных тактов. С развитием секвенсоров совершен-
ствовались и системы MIDI. Не ограничиваясь только проигры-
ванием нот в MIDI, изготовители разработали способы управле-
ния индивидуальными звуковыми парамезрами и встроенными
цифровыми эффектами, используя постоянные контроллеры
(СС). Большинство программ-секвенсоров — приложения на ос-
нове ПК. и имеют возможности корректировать эти параметры,
используя графические слайдеры. Более того, имея обширный
перечень возможностей ре тактирования и настройки музыкаль-
ных тактов, вовсе не нужно быть опытным исполнителем-кла-
вишником. чтобы создавать хорошую музыку.
3.1. Обработка аудиоинформации
115
Использование секвенсоров позволяет удобно редактировать
музыкальные фразы и синхронизировать их с фильмом. При
этом обеспечиваются экономичные возможности для разработ-
чиков мультимедиа, предоставляющие слушателям высококаче-
ственный звук. Для записи оцифрованной музыки требуется не
менее 10 Мбайт/мин. в то время как данные MIDI требую! толь-
ко малую до по от этого.
Сэмплер — синтезатор. у которого для хранения образцов
звучания (сэмплов) вместо постоянной памяти (РОМ) ис-
пользуется оперативная память большого объема (RAM). Поль-
зователь перед каждым сеансом работы загружает в память уже
готовые звуки, или записывает новые звуки точно так же, как на
обычный магнитофон. Впоследствии все эти сэмплы воспроиз-
водятся с разной высотой иод управлением клавиатуры или сек-
венсора. Для изменения высоты гона сэмплов используются та-
кие же алгоритмы, как и в программах типа Sound Forge, только
они действуют в реальном времени
При формировании звуков в сэмплерах нс используются ал-
горитмы компрессии которые, например, позволяют «упако-
вать» в 4 Мбайт ROM 250—400 звуков разного тембра, как это
происходит в синтезаторах Кроме этого, синтезаторы ограниче-
ны тем набором звуков, который находится в ROM. а тля сэм-
плеров выпускается огромное количество библиотек звуков на
компакт-дисках, поэтому можно, имея всего лишь ото устрой-
ство, практически безгранично расширять его возможности.
Помимо всех перечисленных достоинств, сэмплеры имеют
одну очень важную черту — пользователь может создавать звук
самостояте шно от первого до последнего шага.
В сэмплере каждый звук создается в нескольких источниках,
сигналы которых смешиваются между собой Каждый такой ис-
точник принято называть леером (от англ, layer — слой). Глав-
ным элементом любого леера является генератор — именно в
чем образуется звук при воспроизведении сэмпла. Иногда гене-
ратор сэмплера называют осциллятором. Сэмплы находятся в
оперативно!! памяти устройства и извлекаются оттуда при посту-
.1 1снии соответствующей команды от программы управления.
Генератор воспроизводит сэмпл с разной высотой, в зависи-
мости от поступающей в него команды MIDI Note (MIDI нота).
Причем, сэмпл может воспроизводиться как линейно, т. е. от
начала до конца, так и зацикливаться. В последнем случае инст-
румент звучит ровно столько, сколько времени удерживается в
116
Глава 3. Мультимедийные технологии
нажатом состоянии клавиша на MIDI-клавиатуре. Помимо из-
менения высоты тона, генератор изменяет уровень воспроизво-
димого сэмпла в зависимости от сообщения Velocity (Ско-
рость нажатия клавиши).
В сэмплере с помощью генератора низкой частоты (LFO —
Low Frequency Oscillator) можно менять высоту воспроизведения
сэмпла с некоторой периодичностью. Но в отличие от про-
граммного FM-синтезатора, частотой колебаний LFO сэмплера
можно управлять в реальном времени с помощью MIDI-клавиа-
туры.
Амплитудой колебаний LFO можно управлять с помощью
генератора огибающей (Envelope Generator), создающего произ-
вольную огибающую. Этот метод называется амплитудной моду-
ляцией (AM — Amplitude Modulation). Но в любом сэмплере с
помощью амплитудной модуляции можно управлять не только
параметрами генератора низкой частоты, но и параметрами вос-
произведения сэмпла. Например, если указано «время линейной
атаки» 1 с, то после нажатия клавиши громкость сэмпла будет
линейно возрастать от минимальной громкости к максимальной
в течение 1 секунды. Если указывается время затухания (Release)
0,5 с, то после отпускания клавиши сэмпл будет звучать указан-
ное время, причем его громкость будет линейно уменьшаться.
Естественно, можно «нарисовать» и более сложные огибающие.
К сэмплу, который воспроизводится генератором с разной
высотой и уровнем в зависимости от поступающих с клавиатуры
команд MIDI Note (MIDI нота) И Velocity (Скорость нажа-
тия клавиш), можно применить два вида модуляции: частотную
и амплитудную. В первом случае будет периодически меняться
высота воспроизводимого сэмпла относительно взятой на кла-
виатуре ноты, а во втором — его относительный уровень в тече-
ние времени звучания. Если же мы применяем амплитудную
модуляцию к генератору низкой частоты, то можем управлять
также изменениями амплитуды колебаний высоты в течение
времени.
При формировании звука может использоваться от одного до
тридцати двух и более лееров, т. е. каждый звук, извлекающийся
из инструмента при нажатии клавиш на MIDl-клавиатурс, мо-
жет состоять из тридцати двух сэмплов, причем у каждого леера
может быть свое место в панораме, своя громкость и своя собст-
венная область действия.
3.1. Обработка аудиоинформации
117
Есть два способа распределения лееров. Первый — присвое-
ние лееру определенной области на клавиатуре, где он действует.
Е1апример, при нажатии клавиши С4 будут воспроизводиться
лсеры 2, 4 и 5. а при нажатии клавиши С2 — лееры 1, 4 и 5. Вто-
рой способ — присвоение каждому слою своей области
Velocity (Скорость нажажж клав:жж), и при разной скоро-
сти нажатия клавиш будут воспроизводиться разные лееры. Если
вы еле касаетесь клавиш, то будут воспроизводиться слои 1 и 4,
если же играете максимально экспрессивно, то будут воспроиз-
водиться слои 4 и 5. Естественно, первый и второй способы рас-
пределения можно совмещать между собой.
Некоторые сэмплеры позволяют составлять несколько сэмп-
лов в так называемы)) мультисэмпл или Keymap — «образ, карта
клавиатуры», которые воспроизводятся в одном леере. Каждый
сэмпл в мультисэмплс может иметь свою собственную область
действия.
Одним и тем же контроллером можно управлять модуляцией
как всех, так и только некоторых лееров, причем можно задавать
разные допуски модуляции таким образом, что одно и то же из-
менение значения будет вызывать разное воздействие.
Эквалайзер. Для управления тембром звука используются эк-
валайзеры — программно-аппаратные средства, способные по-
нижать или повышать уровень разных частотных полос. При
этом понижается или повышается относительный уровень раз-
ных гармоник сигнала, в результате чего мы в акустических сис-
темах слышим изменение тембра звука.
Известно два основных типа эквалайзеров — графические и
параметрические. Первые отличаются наличием фиксированно-
го количества полос: их обычно бывает 15 (можно менять уро-
вень каждой 2/. октавы звукового диапазона) или 30 (можно ме-
нять уровень каждой ’/, октавы звукового диапазона). На любой
из полос уровень сигнала может опускаться или подниматься на
10—15 дБ (см. рис. 3.7 - графический 10-полосный эквалайзер
Winamp). Параметрические эквалайзеры, в отличие от графиче-
ских, могут настраиваться на любую частотную полосу любой
ширины и поднимать/опускать ее уровень.
Графические эквалайзеры обычно используются для точной
корректировки обшего звучания композиции. Еше одна область
их применения — подгонка частотной характеристики контроль-
ных акустических систем под акустические условия конкретного
помещения.
118
Глава 3. Мультимедийные технологии
С помощью параметрических эквалайзеров можно очень точ-
но воздействовать на звук. Предположим, записан малый барабан
ударной установки. У этого барабана есть специальная пружина, с
помощью которой звук делают более «хлестким». Но при непра-
вильном расположении микрофона характерный хлопок пружины
может «вылезать» на передний план и портить общее звучание.
Хорошо, если все можно переписать. А если нет — тогда выручает
эквалайзер. Звукорежиссер точно настраивается на частотную по-
лосу, в которой лежит хлопок и «вырезает» ее (уменьшает уро-
вень). Остается нормальный звук малого барабана.
Точно так же с помощью параметрического эквалайзера
можно, например, убирать неприятные гортанные призвуки в
голосе вокалиста, подчеркивать щелчок медиатора по струнам
гитары или делать тарелки ударной установки более «рассыпча-
тыми» и звонкими. Еще одна часто решаемая задача — «разнесе-
ние» инструментов по присушим им частотным полосам. На-
пример, может оказаться, что при записи электрогитара, игра-
ющая риффы (периодически повторяющиеся ритмические
фигуры), в самом низком своем регистре перекрывает бас-гита-
ру. В результате вместо четкой и хорошо слышимой басовой ли-
нии получается невразумительный гул. Звукорежиссер с помо-
щью эквалайзера немного убирает низкие частоты на дорожке
гитары, освобождая таким образом частотную полосу баса от по-
сторонних звуков. После такой корректировки гитара звучит
там, где ей положено — на средних частотах, а бас остается в
низкочастотном диапазоне.
Единый (общий) стандарт MIDI (General MIDI)
Ввод стандарта MIDI позволял музыкантам создавать аран-
жировки, используя любые инструменты MIDI, имевшиеся в на-
личии. Но когда созданные файлы проигрывались на другом
синтезаторе, не было никакой гарантии, что звучание будет тем
же самым, потому что различные изготовители могли назначить
инструментам различные номера программ, так что фортепьяно,
записанное на одном синтезаторе, может прозвучать как труба
на другом и пр.
В сентябре 1991 г. Ассоциация изготовителей MIDI (ММА)
и Японский комитет стандартов MIDI (JMSC) положили начало
новому этапу в технологии MIDI, приняв стандарт «Общая
3.1. Обработка аудиоинформации 119
Система MIDI, уровень 1» (General MIDI System Le-
vel I — GM или GM1). Спецификация разработана, чтобы обес-
печить необходимый уровень совместимости функционирования
инструментов MIDI.
Спецификация налагает ряд требований на совместимые зву-
когенерирующие устройства (клавиатура, звуковой модуль, зву-
ковая плата, программные продукты), включая:
• миним м 24 канала («голоса») должно быть доступно одно-
временно дтя звуков мелодии и ударных инструментов,
или 16 каналов для мелодии плюс 8 для у тарных;
• поддерживаются все 16 каналов MIDI, каждый ш которых
способен воспроизвести различное чисто голосов (полифо-
ния) или различные инетрументы (звук, аккорд, тембр):
• минимум 16 различных тембров может выполняться одно-
временно, воспроизводя различные инструменты. Поддер-
живается как минимум 128 предварительно настроенных
инструментов (номера MIDI-программ), соответствующих
Инструментальной карте GM1 (GM1 Instrument
Patch Мар), и 47 звуков ударных, которые соответствуют
Карте ударных GM1 (GM1 Percussion Key Map). Me
лодический набор состоит из 16 групп инструментов по 8
в каждой группе (фортепиано, органы, струнные, духовые,
гитары, и т. п.).
За всеми инструментами были закреплены конкретные но-
мера, поэтому мелодия, записанная в GM, будет похоже звучать
на разных GM-синтезаторах. GS (General Synthesizer) — стан-
дартный набор тембров фирмы Roland, включает дополнительно
к General MIDI новые наборы мелодических и ударных инстру-
ментов, различные эффекты (скрип двери, звук мотора, крики
и т. п.), а также дополните 1ьныс способы управления инстру-
ментами через MIDI коитропсры. Многие звуковые карты под-
держивают Ci VI по умолчанию, a GS — в порядке расширения.
Стан парт XG (Extended General) фирмы Yamaha вкяюча
ет несколько сотен методических и ударных инструментов, при-
меняемых профессиональными музыкантами XG содержит зна-
чительно бо.,ее развитые средства управления синтезом, чем
GM и GS. Любой MIDI-канал может быть независимо ог дру-
гих установлен в режим мелодических или у гарных инструмен-
тов. Использование стандарта XG позволяет создавать перено-
симые MIDI-файлы со звучанием, приближенным к профессио-
нальному.
120
Глава 3. Му ттимедийные технологии
3.2. Форматы записи-воспроизведения аудиосигналов
Формат MP3
MP3 — сокращение от MPEG ЕаусгЗ. Это опт и > основных
цифровых форматов хранения аудио, разработанный Fraunhofer
IIS и THOMSON, позднее утвержденный как часть стандартов
сжатого видео и аудио VIPEG1 и MPEG2. Данная схема является
наиболее едожной схемой семейства MPEG Layer 1/2/3. Она
требует наибольших затрат машинного времени для кодирова-
ния по сравнению с дву мя другими и обеспечивает более высо-
кое качество кодирования. Используется главным образом для
передачи аудио в реальном времени по сетевым каналам и для
кодирования Audio CD.
Высокая степень компактности MP3 при сохранении качест-
ва звучания достигается с помощью дополни тельного квантова-
ния по установленной схеме, позволяющей минимизировать по-
тери качества.
Степень сжатия и. соответственно, объем дополнительного
квантования, определяются не форматом, а самим пользовате-
лем при задании параметров кодирования. Ширина потока,
или битрейт (bitrate) может изменяться от наибольшего для
MP3 (320 кбит/с) ю 96 кбит/с и даже ниже. Термин битрейт
обозначает обшу ю ширину потока, независимо оттого, монофо-
ническим или стереофонический сигнал он содержит.
При испытаниях опытные эксперты, специализирующиеся
на субъективной оценке качественности звучания, не смогли
различить звучание оригинального трека на CD и закодирован-
ного в MP3 с коэффициентом сжатия 6 1. т. е. с битрейтом в
256 кбит/с.
Более низкие битрейты, несмотря на их популярность, нс
даюг возможности обеспечить надлежащее качество кодирова-
ния. Объективно и 256 кбит/с не даст возможности осуществить
полностью обратимое кодирование, то же самое можно сказать и
про наивысший битрейт — 320 кбит/с. но отличия от CD Audio,
по которому колируется тестовый MP3, сравнимы с отличиями
самого CD Audio от исходного высококачественного сигнала, из
которого он был получен путем оцифровки.
Поэтому самое большое на сегодня преимущество MP3 пе-
ред другими подобными форматами состоит в том, что ни про
3.2. Форматы записи-воспроизведения аудиосигналов
121
один другой формат нельзя пока уверенно сказать, что он пол-
ностью гарантирует устойчивое сохранение качества звучания
на достаточно высоких битрейтах, или что для него написано
такое же множество удобного программного обеспечения, как
для MP3.
Файл формата MP3 (обычно используется расширение
*.трЗ) может также содержать информацию о файле непосред-
ственно в заголовке: имя исполнителя, графику (альбом диска),
URL для дальнейшей информации, текст песни и т. д.
Процесс кодирования. Перед кодированием исходный сигнал
разбивается на участки, называемые фреймами, каждый из кото-
рых кодируется отдельно и помешается в конечный файл неза-
висимо от других. Последовательность воспроизведения опреде-
ляется порядком расположения фреймов. Каждый фрейм может
кодироваться с разными параметрами. Информация о них со-
держится в заголовке фрейма.
Кодирование начинается с того, что исходный сигнал с по-
мощью фильтров разделяется на несколько, представляющих от-
дельные частотные диапазоны, сумма которых эквивалентна ис-
ходному сигналу.
Для каждого диапазона определяется величина маски-
рующего эффекта, создаваемого сигналами соседних диа-
пазонов и сигналом предыдущего фрейма. Если она превышает
мощность сигнала интересующего диапазона или мощность сиг-
нала в нем оказывается ниже определенного опытным путем по-
рога слышимости, то для данного фрейма данный диапазон сиг-
нала не кодируется.
Для оставшихся данных каждого диапазона определяется,
сколькими битами на сэмпл можно пожертвовать, чтобы по-
тери от дополнительного квантования были ниже величины
маскирующего эффекта. При этом учитывается, что потеря
одного бита ведет к внесению шума квантования величиной
порядка 6 дБ.
После завершения работы психоакустической модели фор-
мируется итоговый поток, который дополнительно кодируется
по Хаффману, на этом кодирование завершается.
Кроме того, кодирование стереосигнала осуществляется че-
тырьмя различными методами:
• Dual Channel — каждый канал получает ровно половину
потока и кодируется отдельно, как моносигнал. Рекомен-
дуется главным образом в случаях, когда разные каналы
122
Глава 3. Мультимедийные технологии
содержат принципиально разный сигнал — скажем, текст
на различных языках;
• Stereo — каждый канал кодируется отдельно, но кодер мо-
жет принять решение отдать одному каналу больше места,
чем другому;
• Joint Stereo (MS Stereo) — стереосигнал раскладывается на
средний между каналами и разностный. При этом второй
кодируется с меньшим битрейтом. Это позволяет несколь-
ко увеличить качество кодирования в обычной ситуации,
когда каналы по фазе совпадают. Но приводит и к резкому
его ухудшению, если кодируются сигналы, по фазе не сов-
падающие;
• Joint Stereo (MS/IS Stereo) — вводит еще один метод упро-
щения стереосигнала, повышающий качество кодирования
на особо низких битрейтах. Состоит в том, что для некото-
рых частотных диапазонов оставляется уже даже не разно-
стный сигнал, а только отношение мощностей сигнала в
разных каналах. Очевидно, для кодирования этой инфор-
мации употребляется еще меньший битрейт. MS Stereo —
частный случай MS/IS Stereo, когда переменная, отвечаю-
щая за кодируемый таким образом диапазон, принимает
нулевое значение.
Скорости передачи. На низких битрейтах всегда срезаются
мелкие, сравнительно тихие детали, наличие или отсутствие ко-
торых нередко серьезно меняет эмоциональную окраску компо-
зиции, придает или лишает ее таких эффектов, как ощущение
«кристальной чистоты» звука (в той мере, в которой она присут-
ствует в CD Audio). Кроме того, в соответствии с психоакустиче-
ской моделью, высшие (более 16 кГц) частоты на низких бит-
рейтах кодируются с очень низким приоритетом. Кроме того,
имеют место разные особенности кодеров. Так, у кодеров от
FhG IIS на 128 кбит/с могут оказаться «смазанными» верхние
частоты, наблюдается эффект «шепелявости». Узкое место всех
схем компрессии класса MPEG — участки с резкими измене-
ниями сигнала. В случае MP3 задержка может достигать величин
порядка 160 мс, теоретический минимум — 59 мс.
На высших битрейтах при последовательном применении
психоакустической модели, разработанной FhG IIS, проблемы
могут доставлять только ошибки, внесенные при написании ко-
дера.
3.2. Форматы записи-воспроизведения аудиосигналов
123
Битрейты порядка 112—128 кбит/с по качеству неплохи для
прямых трансляции и ознакомительного прослушивания, но от-
нюдь не для создания архивов музыки качества CD Audio.
Люби гели MP3 по-разному оценивают степень приемлемо-
сти одних и гсх же битрейтов и имеют свои взгляд на то. какой
именно битрейт следует считать оптимальным. Одни выбирают
128 кбиг/с. другие — 160 кбит/с. 1рстьи юлотую середину
192—256 кбит/с. некоторые — 320 кбит/с.
Из этого можно сделать три вывода. Во-первых, битрейт
256 кбит/с следует считать пограничным. Во-вторых, для абсо-
лютного большинства пользователей он действительно достато-
чен. В-третьих, для высокого качества следует несколько увели-
чить запас скорости
С другой стороны, те же тесты определили диапазон
160—192 кбит/с как в большинстве случаев вполне приемлемый
для хранения аудио на компьютере, например, в компьютерных
играх, когда внимание отвлечено.
Следующий после 256 кбит/с битрейт — 320 кбит/с. он же —
максимальный для кодирования аудио с характеристиками CD
Audio, т. е. 44,1 кГц 16 бит Stereo. В данном случае мы имеем запас
в '/4 от битрейта 256 кбит/с, и его вполне можно считать достаточ-
ным в силу имеющихся данных о степени улучшения качества ко-
дирования при кодировании на 160 кбит/с вместо 128 кбит/с.
Однако различие между качеством звука на битрейтах
128 кбит/с и 256 кбит/с/ 320 кбит/с принципиально. Первый к
качеству уровня CD никакого отношения не имеет, в отличие от
двух последних.
В Internet, как правило, можно найти только MP3, закогиро
ванные с битрейтом 128 кбит/с. Этот битрейт был признан также
оптимальным для использования в Internet
В XingTech был разработан кодер, использующий технику
переменного битрейта (VBR) при которой разные участки трека
кодируются с разным битрейтом. исходя из степени их сложно-
сти для кодирования.
Другие форматы
И/ЙИ. Формат WAV являемся метаформатом для данных лю-
бого типа. Имеет стандартный заголовок и описания областей
данных, которых может быть несколько, способ же кодирования
124
Глава 3. Мультимедийные технологии
аудиосигнала может быть каким угодно. Вполне могут содер-
жаться данные, не имеющие отношения к аудио.
Каждый метод кодирования, указываемый в заголовке, имеет
собственный идентификатор, в соответствии с которым Windows
и определяет, установлен ли кодек для работы с данным фай-
лом, и если установлен — подключает его.
Кодеки, индивидуальные для каждого подформата, регистри-
руются в системе при их установке, после чего становится воз-
можным использовать WAV-файлы, содержащие аудиоданные в
форматах, поддерживаемых данными кодеками.
Стандарт MP3 не определяет никакого точного стандартного
математического алгоритма кодирования, его разработка цели-
ком и полностью остается на совести разработчиков кодеров.
Вместо этого он определяет общую схему процесса кодирования,
а также формат закодированного фрейма. Сами последователь-
ности фреймов могут передаваться потоком (streaming) или хра-
ниться в файлах.
Часто к последовательности фреймов добавляют стандарт-
ный заголовок мета-аудиоформата WAV и получается то, что на-
зывают WAV-MP3.
VQF. Этот формат разработан компанией NTT. Алгоритм ко-
дирования широко не разглашается, но если сравнить результа-
ты кодирования в форматах VQF и MP3, то можно заключить,
что алгоритмы имеют очень мало общего и основаны на совер-
шенно разных подходах к сжатию звука.
Самая сильная сторона формата — степень сжатия.
VQF-файл с компрессией 80 кбит/с по качеству идентичен
МРЗ-файлу. записанному в 128 кбит/с. степень сжатия превос-
ходит MP3 более чем на 30 Ф. Главный недостаток алгоритма —
высокое потребление системных ресурсов.
WMA. В 1998 г. компания Voxware присоединилась к проекту
TwinVQ и в его составе участвовала в разработке формата VQF.
Через некоторое время компания отделилась от проекта и на ос-
нове разработок VQF создала новый формат, получивший назва-
ние Voxware Audio Codec 4.0. Он стал первым алгоритмом сжа-
тия, обеспечивающим качество 128 кбит/с МРЗ-файлов при
цифровом потоке в 64 кбит/с.
OGG Vorbis. Этот формат был опубликован летом 2000 г.
В это же время появилась бета-версия его кодера. После втрое
более медлительного по сравнению с WMA процесса кодирова-
3.2. Форматы записи-воспроизведения аудиосигналов
125
ния на выхоли при 128 кбит/с получается звук, близкий к ориги-
нальной записи.
В файле OGG может содержаться ло 255 каналов, т. е. можно
кодировать многоканальные потоки вроде Dolby Digital, Кроме
того, в OGG-файлы можно встраивать графические изображения
и тексты, которые могхт возникать по ходу воспроизведения.
МРЗРго. Создателем MP3 Pro является частная компания
Coding Technologies. Созданная в 1997 г., компания занимается
разработкой и маркетингом кодеков на основе технологии SBR
(Spectral Band Replication). У Coding Technologies два солидных
стратегических партнера — Fraunhofer Institute и Thomson
Multimedia.
Прежде всего свопа появлением она обязана возникнове-
нию потребности передачи цифровой музыки в реальном вре-
мени через Internet (Internet-радио и т. л ), а также для мо-
бильных компьютеров и ра (личных портативных цифровых
плейеров. Ограниченная скорость передачи или малый объем
памяти вынуждают использовать низкие битрейты при сжатии
музыки, применяя форматы MP3 или ДАС. Использование бо-
лее скоростных способов связи, таких, как ISDN или xDSL, не
обеспечивает постоянного потока данных из-за перегрузки сети
Internet.
Технология SBR тополняст использование психоакустиче-
ских моделей Ее идея такова: при кодировании передавать чуть
более увкйй диапазон частот, при этом, естественно, обрезая
«верхи», а при декодировании верхние частоты восстанавлива-
ются. основываясь на информации о более низких частотах.
Формат МРЗРго в отличие от стандартного MP3 содержит
два потока, один из которых обычный Layer Ш-поток. а второй
содержит информацию, на основе которой декодер восстанавли-
вает самые верхние частоты. Поэтому файл, сжатый с использо-
ванисм МРЗРго (имеющий расширение *.трЗ). может быть вос-
произведен и обычным прошпывателем. но с частотой дискре-
тизации 22 кГц. так как плейер воспримет только первый поток
DVD-аудио. Известно, что первым оптическим носителем
тайных, ставшим широко доступным публике, был хорошо зна-
комый аудиокомпакт-диск. Компьютерной промышленности
потребоватось несколько лет для того, чтобы понять, что ком-
пакт-диск является идеальной средой для того, чтобы сохранять
л распределять большие количества цифровых данных, и только
126
Глава 3. Мультимедийные технологии
в 1990 гг. устройства CD-ROM стали стандартными компонен-
тами ПК.
С появлением DVD производители CD начали создавать
стандарты более высококачественного воспроизведения. Среди
них — аудиокомпакт-диск высшего качества (SACD или Super
Audio CD), диск цифровой звукозаписи (DAD или Digital Audio
Disc).
Эти стандарты предполагают диски с разрешающей способ-
ностью (уровни квантования) 24 бита и частотой выборки в
96 кГц, в противоположность обычному CD с форматом 16 бит и
44,1 кГц. Кроме того, формат SACD обладает обратной совмес-
тимостью с существующими проигрывателями — факт, который
может помочь в сражении за потребителя.
Когда DVD появились в 1996 г., еще не был предусмотрен
формат DVD-Audio и только в начале 1998 г. DVD-Форум в со-
трудничестве с ключевыми производителями промышленности
музыки выпустил проект такого стандарта [24, 25]. Специфика-
ция DVD аудио VI.0 была выпушена весной 1999 г., но потребо-
вался еще год, прежде чем вышла спецификация VI.2, в которой
были добавлены зашита от копирования и создание водяных
знаков.
Основное преимущество спецификации DVD-аудио сравни-
тельно с DVD-видео и компакт-диском заключается в значи-
тельном увеличении качества при записи в аудиоформате РСМ
(Pulse Code Modulation или импульсно-кодовая модуляция).
DVD-аудио обеспечивают значительно более высокое каче-
ство PCM-аудио, чем возможно на компакт-диске или DVD-ви-
део. DVD-аудио РСМ может быть записан с диапазоном частот,
который более чем в 4 раза шире, чем для CD, что предоставляет
живость и выразительность, невозможные на компакт-диске.
DVD-аудио РСМ также имеет намного больший динамический
диапазон, чем это возможно на компакт-диске. — делающий
громкие звуки громче, а тихие — более тихими.
Таблица 3.1 сравнивает технические спецификации для РСМ
на DVD-аудио и стандартном компакт-диске.
Звуковое окружение театральной системы (Digital Theatre
Systems Digital Surround или DTS) — формат аудиокодирования,
подобный цифровой системе Долби, которому для воспроизве-
дения требуется декодер, находящийся в проигрывателе либо во
внешнем приемнике [25]. Система предполагает шесть каналов:
один для басового громкоговорителя плюс пять для динами-
3.2. Форматы записи-воспроизведения аудиосигналов
127
Таблица 3.1. Технические спецификации для РСМ-кодирования
Спецификация DVD-Audio CD
Аудиоформат PCM PCM
Емкость диска, Гбайт 4,7 - однослойный 8,5 - двухслойный 17 - двусторонний двухслойный 650 Мбайт
Число каналов До 6 2 (стерео) i
Полоса пропускания, кГц 0-96 (макс.) 5-20
‘ Динамический диапазон, дБ 144 96
Частота дискретизации (2 канала), кГц 44,1,88.2. 176,4 или 48, 96, 192 44,1
Частота дискретизации (много каналов) 44,1,88,2 или 48, 96 N/A
Разрешающая способность (уровни оцифровки), бит 12, 16, 20 или 24 16
Скорость передачи (макс.), Мбайт/с 9,6 9,6
ков — слева спереди, в центре спереди, справа спереди, слева
сзади, справа сзади — и иногда утверждают, что DTS звучит луч-
ше, чем Dolby Digital из-за более низкого коэффициента сжатия.
Как и для видео, качество аудио зависит от того, насколько хо-
рошо были выполнены обработка и кодирование сигнала. Не-
смотря на сжатие, системы Dolby Digital и DTS обеспечивают
качество лучшее, чем CD.
Вместимость двухслойного диска DVD-аудио — по крайней
.мере до 2 ч для полного, окружающего звука, и до 4 ч для сте-
реозвука. Вместимость однослойного диска — вполовину ниже.
Сравнительные характеристики некоторых форматов. На
рис. 3.4 приводятся амплитудно-частотные характеристики (АЧХ)
аудиосигналов:
• исходный звук (WAVE-файл):
• результаты кодирования-декодирования каждым из коде-
ков: MP3 на 128 и 192 кбит/с; МРЗРго на 64 и 96 кбит/с;
WMA на 64 и 96 кбит/с.
Жанры музыки, выбранные для тестирования:
Dance — современная танцевальная музыка (Gala «Keep The
Secret», ритмичный и богатый различными стереоэффектами
фрагмент);
12Я
Глива 3. Му thmu медийные технологии
a
Dance
г
д
Рис. 3.4. Харак эристики колироиания-лекошрования различных форматов
3.2. Форматы записи-воспроизведения аудиосигналов
129
Jazz — джаз с живыми исполнителями (Joe Cocker «Could
You Be Loved», исключительно живая музыка с мощным муж-
ским вокалом и женским бэк-вокалом, насыщенная на средних
и высоких частотах);
Pop — поп-музыка с вокалом (Nek «Laura No Esta», ита-
ло-поп с ярко выраженным вокалом и. соответственно, богаты-
ми средними частотами).
На АЧХ, представляющих танцевальную музыку и битрейты,
соответственно 128 кбит/с для MP3 и 64 кбит/с для MP3 Pro и
WMA (рис. 3.4, а), легко заметить, что на частотах до 10 кЕц все
кодеки выглядят практически одинаково, не считая провала на
30 Гц у MP3, который, правда, не будет заметен на слух.
В случае джаза, где реальные инструменты звучат в сочета-
нии с различными вокалами (рис. 3.4. б) следует отметить
МРЗ/128, как обеспечивающий наиболее точный результат. Не-
смотря на то, что фильтрация верхнего диапазона начинается
уже на 15,5 кГц, передача высоких частот до этого момента дос-
таточно точная. В случае МРЗРго/64 звук более богат деталями
высоких частот.
В случае поп-музыки (рис. 3.4, в) лидером является МРЗРго.
При рассмотрении более высоких битрейтов (рис. 3.4. г, д),
заметно, что все кодеки ведут себя более предсказуемо, при этом
ближе всех к форме оригинальной АЧХ графики у МРЗРго и
MP3, a WMA не передает ряд мелких деталей.
Если говорить о поп-музыке, то теперь WMA не искажает
вокал Nek и звучит очень хорошо, примерно на уровне MP3 в
128 —160, хотя этого и не скажешь, глядя на графики АЧХ. По
частотному балансу МРЗРго 96 и MP3 192 идут практически на
одном уровне.
Вполне естественно, что увеличение потока приведет к улуч-
шению и такой более сложной для кодирования музыки, как
джаз.
Программные средства
записи-воспроизведения звука
Большинство МРЗ-файлов производится из материала, на-
ходящегося на аудиокомпакт-диске. Это — двухступенчатый
процесс, первая стадия включает преобразование дорожек из
формата цифровой звукозаписи CD-DA (CD-Digital audio) к
130
Глава 3. Мультимедийные технологии
формату WAV. Есть программы, которые могут произвести
MP3 непосредственно из аудио CD, но они достигают этого,
все же выполняя извлечение аудио из компакт-диска как на-
чальный шаг процесса. Задача выполняется специализирован-
ными программами, известными как CD-Ripper (взломщики
CD). Программа читает дорожки аудиокомпакт-диска в цифро-
вой форме и записывает их на жесткий диск как WAV-файлы.
Четырехминутная дорожка (трек, фонограмма) занимает около
40—50 Мбайт формата WAV (расширение .wav), так что пре-
образование полного компакт-диска требует большое простран-
ство на жестком диске.
Вторая стадия в процессе заключается в конвертировании
.wav-файла в формат .mp3. Этот шаг использует специализиро-
ванное программное обеспечение и программы, которые испол-
няют эту задачу, известны как кодеры MP3. МРЗ-файлы могут
создаваться, используя разнообразие норм сжатия, разрешая
пользователям выбрать оптимальное соединение количества и
качества. Как правило, доступны следующие варианты:
• качество компакт-диска — сжатие 12:1, поток
данных (битрейт) между 128 и 192 кбит/с;
• почти качество компакт-диска — сжатие в пре-
делах 18:1:
• качество радио ЧМ — сжатие может быть 70 : 1, ско-
рость — 64 кбит/с.
MP3 Maker. Программный продукт Magix 2004 MP3 Maker
(рис. 3.5, 3.6) реализует следующие преобразования звуковых
данных:
• дорожка aymioCD — файл MP3:
• микрофонный или линейный вход — файл MP3;
• файл MP3 — aymioCD и пр.
Winamp. Winamp является весьма популярным плейером, это
мультимедиа плейер с поддержкой неограниченного числа фор-
матов (рис. 3.7). При этом используются декодеры, предостав-
ляемые производителями. В целом система напоминает работу
Windows с WAV-файлами. Он является одним из самых развитых
плейеров, и не только MP3. Большинство МРЗ-файлов, доступ-
ных через Internet, закодировано в формате 44 кГц и 128 Кбит/с,
который приводит к хорошему коэффициенту «качество/размер»
для файла MP3.
3.2. Форматы записи-воспроизьеОения аудиосигналов
13J
Рис. 3.5. MP3 Maker Diamond, исходный экран:
а — регулятор и индикатор громкости канатов: о — панель выбора файлов;
в — графический визуализатор аудиосигнала («цветомузыка»}: г — пульт управ-
ления записью-воспроизведением
Рис. 3.6. MP3 Maker Diamond, экран настройки режима записи MP3:
а — выбор источники сигнала; б — настройка кодера (128 кбит/с); в — индика-
тор уровня: г — задание режима сжатия сигнала
132
Глава 3. Мультимедийные технологии
Рис. 3.7. Основной экран-пульт управления Winamp:
I — индикатор спектра сигнала; 2 — информация из заголовка файла (автор,
исполнитель и пр.); 3 — регулятор громкости: 4 — регулятор баланса каналов;
5 — управление воспроизведением; 6 — графический эквалайзер; 7 — програм-
ма (список) воспроизведения (playlist); 8 — клавиши редактирования програм-
мы; добавить файл — ADD, удалить — RE.V1
3.3. Технологии статических изображений
Источниками статических изображений традиционно явля-
лись растровые сканеры, а в последнее время широко использу-
ются цифровые фотокамеры [25]. Рассмотрим основные характе-
ристики изображений, процессов их создания и обработки.
Оптическое разрешение
Оптическое разрешение измеряется в пикселях на дюйм
(ppi — pixels per inch), иногда dpi — точки на дюйм, однако по-
нятие точка означает элемент, не имеющий конкретной формы,
ими меряется разрешение печатающих устройств. Сканеры и
растровые графические файлы оперируют пикселями, имею-
щими форму квадрата.
Сканеры. Оптическое разрешение показывает, сколько пик-
селей сканер может считать на квадратный дюйм. Его значение
3.3. Техно югии статических изображений
133
записывается так: 300x 300. 300 x600. 600 х 1200 и г. и. Первое
число говорит о количестве считывающих информацию датчи-
ков. именно на него стоит обращать внимание. хотя часто про-
изводители и продавцы любят указывать. в качестве разрешения,
что-нибудь вроде 4000. 4500 dpi. Это ин герпоз про ванное
разрешение, которое является свойством не сканера, а его
поддерживающей программы. Качество изображений, получен-
ных таким образом зависит не только от сканера, но и от качест-
ва функций интерполяции, реализованных в программе [25].
Интерполяция — способ увеличения (уменьшения) раз-
мера или резолюции файла посредством программы. При умень-
шении данные отбрасываются, при увеличении — программа их
вычисляет. Таким образом, сильно увеличенные картинки вы-
глядят размытыми или зубчатыми (в зависимости от способа ин-
терполяции).
Известны три основных способа интерполяции:
• Nearest Neighbor — для добавляемого пикселя берется зна-
чение соседнего с ним:
• Bilinear — выбирается среднее цветовое значение пикселей
с каждой стороны от создаваемого:
• Bicubic — усредняется значение группы не только непо-
средственно граничащих, но и всех соседних пикселей. Ка-
кой именно диапазон пикселей выбирается для усреднения
и по какому алгоритму это усреднение происходит — этим
отличаются способы бикубической интерполяции в разных
программах.
Наконец, важным свойством относительно новых образцов
сканеров является сканирование в 32-битном (и более) режиме.
Здесь цвет одного пикселя описывается не в 24 битах стандарт-
ного RGB — один из 16 700 000 оттенков, а большим количест-
вом информации, что позволяет передать большее количество
уникальных оттенков. Затем Photoshop, или другая программа в
соответствии с установками генерации 24-бИ1Ного RGB. произ-
водит цветовую интерполяцию — усредняет оттенки. Результат
получается |учше. хотя это видно только на калиброванных мо-
ниторах и на качсственнь:х распечатках.
Цифровые камеры. Качество цифровом камеры зависит от не-
скольких факторов, включая оптическое качество линзы, матри-
цы съемки изображения, алгоритмов сжатия и других компонен-
тов. Однако, самый важный детерминант качества изображе-
ния — разрешающая способность матрицы ПЗС: чем больше
134
Глава 3. Мультимедийные технологии
элементов, тем выше разрешающая способность, и таким обра-
зом, больше подробностей может быть зафиксировано.
В 1997 г. типичная разрешающая способность цифровых ка-
мер была 640 х 480 пикселей, год спустя появились «камеры ме-
гапикселя», что подразумевало, что за те же деньги можно было
приобрести модель на 1024 х 768 или даже 1280 х 960. К началу
1999 г. разрешающие способности дошли до 1536 х 1024 и к се-
редине этого же года был преодолен барьер 2 мегапикселей с по-
явлением разрешающей способности 1800 х 1200 = 2.16 млн пик-
селей. Год спустя — барьер 3 мегапикселей (2048 x 1536 =
= 3,15 млн пикселей). Первая камера с 4 мегапикселями появи-
лась в середине 2001 г., обеспечивая 2240 х 1860 = 4,16 млн пик-
селей.
Однако даже датчик Foveon ХЗ (4096 х 4096= 16.8 млн пик-
селей) [25] все еще не перекрывает возможностей обычной фо-
топленки. Поскольку высококачественные линзы объективов
обеспечивают разрешение по крайней мере 200 точек на 1 мм,
негативная пленка стандарта 100ASA шириной 35 мм и размером
кадра 24 х 36 мм обеспечит разрешение 24 х 200 х 36 х 200 =
= 34,56 млн пикселей, что все еще недостижимо для цифровых
камер.
Разрядная глубина
Разрядная (битовая, цветовая) глубина сканера характеризует
количество информации, содержащейся в одном пикселе выход-
ного образа. Битовую глубину изображения часто называют цве-
товой разрешающей способностью. Она измеряется в битах на
пиксел (bit per pixel, bpp). Так, если речь идет об иллюстрации,
имеющей в каждом пикселе по 8 бит цветовой информации, то
ее цветовая разрешающая способность будет 8 Ьрр, что дает
2s = 256 доступных для 8-битового изображения цветов.
Самый простой сканер (черно-белый сканер на 1 бит) ис-
пользует для представления каждого пикселя «1» или «0». Чтобы
воспроизвести полутона между черным и белым, сканер должен
иметь хотя бы 4 бита (для 16 = 24 полутонов) или 8 бит (для
256 = 2s полутонов) на каждый пиксель.
Самые современные цветовые сканеры поддерживают не ме-
нее 24 бит, что означает фиксацию 8 бит информации по каждому
3.3. Технологии статических изображений
135
из первичных цветов (красный, синий, зеленый). Устройство на
24 бита может теоретически фиксировать более чем 16 млн раз-
личных цветов, хотя практически это число намного меньше. Это
почти фотографическое качество, и упоминается поэтому обычно
как «полноцветное» сканирование («true colour» scanning).
На принципе 8-битного цвета основана широко использо-
вавшаяся в первой половине 90-х и применяемая в Internet даже
сегодня цветовая модель Index Color. Она работает на основе
создания палитры цветов. Все опенки в файле делятся на
256 возможных вариантов, каждому из которых присваивается
номер. Далее, на основе получившейся пал игры цветов строится
таб пша. где каждому но.мерз ячейки приписывается цветовой
оттенок в значениях RGB.
К форматам файлов использующим только индексирован-
ные палитры относятся распространенный в прошлом на PC
формат программы Paint — PCX. а также не потерявший и в
наши дни своей актуальности GIF. Некоторые форматы как, на-
пример, тог же GIF или PNG. позволяют делать палитры на ос-
нове производьного количества цветов (до 256).
До появления 8-битового цвет? из- ка малых мощностей пер-
сонадьных компьютеров тих времен использовались палитры из
16 цветов (4 Ьрр), 4 цветов (2 Ьрр) и самая первая компьютерная
графика была однобитовая — 2 цвета. Однобитовые изображе-
ния, называемые Bitmap или. иногда. Lineart, используются и
сегодня там, где не требуются цвето-тоновые переходы. Равный
по размеру Bitmap-файл в 24 раза меньше, чем файл RGB, и
кроме того, очень хорошо сжимается.
Динамический диапазон
Динамически!! диапазон по своей сути подобен разрядной
глубине, которая описывает цветовой диапазон сканера, и опре-
1елястся как функционированием АЦП сканера, гак и чистотой
света, качеством цветных фильтров и уровнем любых помех в
системе.
Динамический лиана юн измеряется в шкале от 0.0 (абсо-
лютно белый) до 4.0 (абсолютно черный), и единственное число,
данное для конкрстого сканера, говорит, сколько оттенков мо-
дуль может различить. Большинство цветных планшетных ска-
неров с трудом воспринимает тонкие различия между темными
136
Глава 3. \1\ ттимедийные технологии
и светлыми цветами на обоих концах диапазона и имеет дина-
мический диапазон около 2.4. Эю. конечно, немного, но обыч-
но достаточно для проектов, где идеальный цвет не самоцель.
Для получения большего динамического диапазона следует ис-
пользовать цветовой пданшетныи сканер высшего качества с
увеличенной разрядной глубиной и улучшенной оптикой. Эти
высокопроизводительные модули обычно обеспечивают динами-
ческий диапазон между 2.S и 3.2 и хорошо подходят для боль-
шинства приложений, требующих высококачественный цвет
(например, офсетная печать). Наиболее близко к пределу дина-
мического диапазона позволяют подойти барабанные сканеры,
часто обеспечивающие значения от 3.0 до 3.8.
Теоретически сканер на 24 бит предлагает диапазон 8 бит
(256 уровней) для каждого первичного цвета, и различие между
двумя из 256 уровней обычно не воспринимается человеческим
глазом. К сожалению.! наименьшие из значащих битов теряются
в шуме, в то время как любые тональные исправления после
сканирования еше более сужают диапазон. Именно поэгомх [уч-
ще всего предварительно устанавливать любые исправления яр-
кости и цвета на уровне драйвера сканера перед заключитель-
ным сканированием Болес дорогие ск шеры с глубиной в 30 или
36 битов имеют намного более широкий диапазон, предлагая бо-
лее детализированные оттенки, и разрешают пользователю де-
лать тональные исправления, заканчивающиеся приличным
24-битовым изображением. Сканер на 30 битов принимает 10
битов данньг на каждый цвет, в то время как сканеры на 36 би-
тов — по 12 битов. Драйвер сканера позволяет пользователю вы-
брать, какие именно 24 бита из исходных 30 или 36 битов сохра-
нить. а какие — нет Эта настройка делается путем изменения
«кривой цветовой гаммы» (Gamma Curxe). и доступна при обра-
щений к Насоплке ("’anal .-.dj asrrr.er.E oor.tro 1 драй-
вера TWAIN.
Режимы сканирования
Среди разнообразия методов представления изображении в
ЭВМ наиболее распространенными являются:
• штриховая графика (line art):
• полутоновое изображение (greyscale):
• цветное изображение (colour)
3.3. Технологии статических изображений
137
Штриховая графика - наиболее простой формат. Так
как сохраняется только черно-белая информация (в компьютере
представлен черный цвет как «I» и белый как «О»), требуется
только 1 бит данных, чтобы сохранить каждую точку сканиро-
ванного изображения. Штриховая графика наиболее подходит
при сканировании чертежей или текста.
Полутоновое изображение. В то время как компью-
теры могут сохранять и выдавать изображения в полутонах,
большинство принтеров не способно печатать различные оттен-
ки серых цветов. Они применяют метод, названный обработкой
полутонов, используя точечный растр, имитирующий полутоно-
вую информацию.
Изображения в оттенках серого — наиболее простой метод
сохранения графики в компьютере. Человек может различить не
более 255 различных оттенков серого, что требует единственного
байта данных со значением от 0 до 255. Данный тип изображе-
ния составляет эквивалент черно-белой фотографии.
Полноцветные изображения — наиболее объемные
и самые сложные, сохраняемые и обрабатываемые в ПК, ис-
пользуют 24 бита (по 8 на каждый из основных пветов), чтобы
представить полный цветовой спектр.
Схемы цветообразования
Цвета одних предметов человек видит потому, что они излу-
чают свет, а других — потому, что они его отражают. Когда
предметы излучают свет, они приобретают тот цвет, который мы
видим. Когда они отражают свет (бумага, например), их цвет оп-
ределяется цветом падающего на них света и цветом, который
эти объекты отражают.
Сегодня диаметрально противоположные способы генерации
цвета мониторов и принтеров являются основной причиной ис-
кажения экранных цветов при печати. Для того чтобы получать
предсказуемые результаты на экране и печати, нужно хорошо
представлять работу двух противоположных систем описания
цвета в компьютере: аддитивной и субтрактивной.
Аддитивные и субтрактивные цвета. А д д и т и в н ы й цвет
(от англ, add — добавлять, складывать) получается при соедине-
нии лучей света разных цветов. В этой системе отсутствие всех
138
Глава 3. Мультимедийные технологии
цветов представляет собой черный цвет, а присутствие всех цве-
тов — белый. Система аддитивных цветов работает с излучаемым
светом, например от монитора компьютера.
В этой системе используются три основных цвета: красный,
зеленый и синий (RGB — red. green, blue). Если их смешать друг
с другом в равной! пропорции, они образуют белый цвет, а при
смешивании в разных пропорциях — любой другой.
В системе субтрактивных цветов (от англ, subtract
вычитать) происходит обратный процесс: вы получаете ка-
кой-либо цвет, вычитая другие цвета из общего луча отраженно-
го света. В этой системе белый цвет появляется в результате от-
сутствия всех цветов, тогда как их присутствие дает черный цвет.
Система субтрактивных цветов работает с отраженным светом,
например от листа бумаги. Белая бумага отражает все цвета, ок-
рашенная — некоторые поглощает, а остальные отражает.
В системе субтрактивных цветов основными являются голу-
бой, пурпурный и желтый цвета (CMY), противоположные крас-
ному, зеленому и синему. Когда эти цвета смешиваются на бе-
лой бумаге в равной пропорции, получается черный цвет. Вер-
нее, предполагается, что должен получиться черный цвет.
В действительности типографские краски поглощают свет не
полностью и поэтому комбинация трех основных цветов выгля-
дит темно-коричневой. Чтобы исправить возникающую неточ-
ность, для представления тонов черного цвета принтеры добав-
ляют немного черной краски. Систему цветов, основанную на
таком процессе четырехцветной печати, принято обозначать аб-
бревиатурой CMYK (cyan, magenta, yellow, black).
Цветовая модель RGB. Монитор компьютера создает цвет
непосредственно излучением света и использует, таким образом,
систему цветов RGB. Поверхность монитора состоит из мель-
чайших точек (пикселей) красного, зеленого и синего цветов,
форма точек варьируется в зависимости от типа электронно-лу-
чевой трубки (ЭЛТ). Пушка ЭЛТ подает сигнал различной мощ-
ности на экранные пиксели. Каждая точка имеет один из трех
цветов, при попадании на нее луча из пушки она окрашивается
в определенный оттенок своего цвета в зависимости от силы
сигнала. Поскольку точки маленькие, уже с небольшого расстоя-
ния они визуально смешиваются друг с другом и перестают быть
различимы. Комбинируя различные значения основных цветов,
можно создать любой оттенок из более 16 млн цветов, доступ-
ных в RGB.
3.3. Технологии статических шображений
139
Лампа сканера светит на поверхность захватываемого изо-
бражения (или сквозь слайд): отраженный или прошедший через
слайд свет с помощью системы зеркал, попадает на чувствитель-
ные датчики, которые передают данные в компьютер также в
системе RGB. Система RGB адекватна цветовому восприятию
человеческою глаза, рецепторы которого тоже настроены на
красный, зеленый и синий цвета
Цветовая модель С MYK. Система цветов CMYK была широ-
ко известна зало до до того, как компьютеры стали использо-
ваться для создания графических изображении. Триада основ-
ных печатных цветов: голубой, пурпурный и желтый (CMY, без
черного) является, по суди, наследником трех основных цветов
живописи (синего, красного и желтого). Изменение оттенка пер-
вых двух связано с отличным от художественных химическим
составом печатных красок, но принцип смешения тот же самый.
И художественные, и печатные краски, несмотря на провозгла-
шаемую самодостаточность, не могул тать очень многих опен-
ков. Поэтому художники используют дополнительные краски на
основе чистых пит ментов, а печатники добавляют, как мини-
мум, черную краску
Система CMYK создана и используется для печати. Все
файлы, предназначенные для вывода в типографии, должны
быть конвертированы в CMYK. Этот процесс называется цвето-
дслением.
Цветовые модели IISB и HSL. Системы цветов RGB и CMYK
базируются на ограничениях, накладываемых аппаратным обес-
печением (чониторами и сканерами в случае с RGB и типограф-
скими красками в случае с CMYK). Болес логичным способом
описания цвета является представление его в виде тона, насы-
щенности и яркости — система HSB. Она же известна как систе-
ма HSL (тон, насыщенность, освещенность).
Тон представляет собой конкретный oi генок цвета на цвето-
вом круте, отличный от тругих: красный, зеленый голубой и т. п.
Насыщенное гь цвета характеризует его относительную ин-
тенсивность (или чистоту). Уменьшая насыщенность, например,
красного, мы делаем его более пастельным, приближаем к серо-
му. Яркость (или освещенность) цвета показывает величи-
ну затемнения или осветления исходного оттенка.
HSB имеет перед другими системами важное преимущест-
во: она больше соответствует природе цвета, хорошо согласует-
ся с моделью восприятия цвета человеком. Многие оттенки
140
Глава 3. Мультимедийные технологии
можно быстро и удобно получить в HSB. конвертировав затем
в RGB или СМУК, доработав в последнем случае, если цвет
был искажен.
Цветовая модель Grayscale. Цветовая модель Grayscale пред-
ставляет собой ту же индексированную палитру, где вместо цве-
та пикселям назначена одна из 256 градаций серого. На основе
Grayscale легко можно понять строение RGB- и CMYK-файлов.
В RGB для описания цвета используются 24 бита, которые
делятся на три группы по 8 бит. Одна группа используется для
хранения в пикселе красного цвета, две другие — зеленого и си-
него. Они могул дать до 16 700 тыс. комбинаций оттенков. Ана-
логичным образом в СМУК существуют четыре группы, для
описания цвета используются 32 Ьрр. Если RGB имеет стандарт-
ные 256 градаций яркости, то в СМУК яркость измеряется в
процентах (т. е. до 100). Несмотря на большую, чем в RGB, цве-
товую глубину в 32 бита на пиксел, диапазон оттенков СМУК
значительно меньше, чем в RGB, так как СМУК является не бо-
лее чем имитацией на экране печатных цветов.
3.4. Программные средства обработки изображений
Драйвер TWAIN
Изготовители сканеров создали специальный стандарт
TWAIN (Toolkit Without Anlnteresting Name), обеспечивающий
взаимодействие сканеров практически с любым прикладным
ПО — пакетами обработки изображений наподобие Adobe
PhotoShop, настольными издательскими системами или про-
граммами распознавания символов. Этот стандарт совместно
разработан Hewlett-Packard. Kodak, Aldus, Logitech и Caere и оп-
ределяет. каким образом устройства получения изображений
(сканеры, цифровые камеры и др.) передают данные приклад-
ным программам. Стандарт TWAIN позволяет приложениям ра-
ботать с устройствами получения изображений, «не зная»
что-либо об устройстве непосредственно. Если устройство со-
вместимо с TWAIN, и приложение — тоже, они должны рабо-
тать вместе независимо от того, было ли программное обеспече-
ние куплено вместе с устройством или нет.
3.4. Программные средства обработки изображений 141
Разрешается одновременно подсоединять к ПК более чем
одно TWA1 N-совместимос устройство, как показано на рис. 3.8.
Каждое из устройств при этом имеет свою собственную копию
модуля TWAIN. Это обеспечивает конечного пользователя воз-
можностью выбора, которое именно из устройств TWAIN следу-
ет использовать в течение сеанса. Допустим, пользователь вы-
брал опцию Ки.-ост (Acquire) в меню Файд 1акого приложения,
как PhotoShop, и в нем — соответствующий источник
(Source) — TWAZK. При этом бутег активизирован TWAIN ко-
торый загр\зит собственный драйвер устройства, нс покидая ос-
новное приложение. После сканирования драйвер автоматиче-
ски закрывается, оставляя полученное изображение открытым в
основном приложении
Все большее число изготовителей предоставляют сканеры с
двумя драйверами TW UN Первый — основной, упрошенный
драйвер, предназначенный для новичков, где сканер управляется
в основном парой кнопок. Кнопка Zcezsapzre-ьнсе сканиро-
вание (Preview) приводит к появлению «грубого» изображения
в окне предварительного сканирования. Сканер в ускоренном
режиме захватывает изображение низкого разрешения (около
20—35 dpi), чтобы пользователь мот выбрать только необходи-
мый фрагмент. Здесь область сканирования может быть уточне-
на. а также откорректированы глубина цвета и разрешение. Поч-
ти все современные настольные модели предоставляют возмож-
ность предварительной цветокоррекции.
Рис. 3.8. Подключение ГУ MN-совместимых устройств к ПК:
/ — приложение вызывает модуль TW MN. когда в меню «Файл» пользователь
выбирает «мг.ерт» (-.-zqiire): 2 — модуль TW AIN берет чстройство под кон-
троль: 3 — сканер передает изображение модулю TWAIN, когш пользователь вы-
бирает «Ска:-:хссзл:-:х“» (Scar): 4 — модуль TWAIN передает изображение при-
ложению. от которого поступила команда «::г.-.сс. •>
142
Глава 3. Муюыпимедийные технологии
Когда пользователь полнощью удовлетворен результатами
предварительного сканирования, он может нажать кнонк\ Ска-
нирование (Scan), чтобы инициализировать окончательное ска-
нирование.
Для более «продвин тых» пользователей может использо-
ваться кнопка Advanced Scanning Options где-нибудь на пер-
вом драйвере. Она запускает второй драйвер, предлагающий бо-
лее высокие возможности полной настройки изображения (яр-
кость, контраст, цвет и исправление цветовой гаммы). Это
позволяет корректировать определенные тиапаюны тональных
значений, как в целом, таг и в каждом из первичных цветов
Разберем некоторые функции программы сканирования на
примере утилиты MiiaScan. поставляемой совместно с LSB-ска-
нсрами (рис. 3 9)
Выбор типа изображения — отраженный (Reflective)
или проходящий свет.
•Чц. Туре (цветовая модель) — позволяет выбрать цветовую
модель. Обычно в таких списках присутствуют (Line art)
только черный и белый. Grayscale 8 bit, 12 bit — 256 и
больше градаций серого. Millions of Colors (стандартный
RGB). Иногда у планшетных и всегда у профессиональных ска-
неров есть опция сканирования в режиме CMYK. В CMYK име-
ет смысл сканировать, только когда есть много картинок, прел
назначенных для цветоде тения, или же из-за большого количе-
ства файлов есть опасность, что какая-го из RGB-картинок
будет забыта,
Resolution (разрешение) — для Internet сканируется с
разрешением 72 dpi — экранная резолюция; для газеты —
около 130—180 dpi (зависит от линиатуры растра, с которой пе-
чатается газета); для струйного принтера (обычная бумага) —
150—200 dpi; для качественной печати в типографии на тазер-
ном и in струйном принтере (хорошая бухзага) — 300 dpi. В ре-
жиме Bitmap имеет смысл сканировать от 300 dpi и выше
(до 1200) в зависимости от желаемого качества и размера файла;
Пп Scaling (масштабирование) — уве зичение используют,
как правито. для слайдов. На планшетных сканерах со спс-
ниальными крышками слайды сканировать нс стоит, для слай-
дов существуют специальны* сканеры. Auto Contrast & Color
Correction — функции автоматической подстройки контраста
3.4. Программные средства обработки изображений
143
Стр. 2 ₽в>д 1 237 Hi 2.4СН Ст I Кол 1 pyc^i»'i(₽o
Д"уск| <J g Л Я, £ I&ZI
Я<о-Л_ _т п_уоут...| Jctf Aesr<—цгцщу___| < ЗБЗ
MkoSc in ? j-it.- К *| | 1
Рис. 3.9. Экран программы импорта изображения MiraScan
и цветокоррекции. Используются, когда качество необязательно.
Если нужна оптимальная цвегоперетача, все корректируется
«на гла I»;
Brightness (яркость) — темные и средние изображения,
предназначенные для полиграфии можно слегка осветлять, так
как при печати они будут несколько затемнены;
Descreen (убрать муар) — опция, позволяющая эффек-
|Г тивно убирать муар. Действует на основе определения ли-
ниагуры растра ранее напечатанной в типографии и теперь ска-
нируемой картинки (Descreen не применяется к продукции
струйных принтеров, так как их распечатки не имеют растровой
сетки);
Муар (Screen. Moire) — паразитные узоры, образуемые на-
ложением растровых сеток. Заметны при использовании линиа-
туры растра в 150 Ipi и ниже:
Линиатура растра (Screen frequency) — плотность рядов
точек (линий) в растровой сетке. Измеряется в линиях на
дюйм — Ipi (lines per inch):
144
Глава 3. Мультимедийные технологии
Полутснсвой растр (Halftone screen) — сетка точек на
печатной плате. На каждой плате сетка повернута под своим уг-
лом, где точки больше, там большее сгущение цвета. Наложение
всех плат CMYK дает полноцветную картинку'.
Чтобы пользоваться Descreen, не обязательно точно знать
линиатуру растра, достаточно выставить тип сканируемого ори-
гинала: газета (newspaper). 85 Ipi. журнал (Magazine), 133 Ipi,
журнал высокого полиграфического качества (Art Magazine),
150 Ipi, Custsrr.. Надо отметить, что газеты могуч печататься с
линиатурой в диапазоне 60—85 Ipi. журналы — 150—175 Ipi, ре-
продукции в книгах печатают на 175—200 Ipi. Растр 175 Ipi мало
различим на глаз, растровая сетка в 200 Ipi и выше уже не видна.
Выбор линиатуры при растрировании оператором фотонабора
обусловлен качеством бумаги и типом печатной машины, на ко-
торых будет выводиться издание. В диалоговом окне опции
Custom. . . можно выставить точное количество линий на дюйм,
если оно известно;
Filter — здесь, обычно, присутствуют фильтры размытия
и усиления контраста. У всех типов сканеров есть свойство
усиливать уже имеющиеся на изображении помехи: пыль, цара-
пины, муар. Особенно важно предохранять от повреждений и
запыления слайды, так как они будут увеличиваться — хранить и
транспортировать их в антистатических конвертах.
Цветовая калибровка
Одна из особенностей использования настольного скане-
ра — отсканированное изображение может выглядеть по-раз-
ному на экране и в отпечатанной форме и все это будет от-
личаться и от оригинала. Решение этой проблемы — систе-
ма цветовой калибровки (или установка соответствия
цветов). Такое программное обеспечение действительно ценно
для сканирования высококачественных изображений (прозрач-
ные пленки, печатные издания профессионального качества
и т. д.), где необходимо выполнять строгие качественные
стандарты. Однако для большинства людей, использующих
настольный сканер, не столь же важен точный цвет, как при-
ятный цвет. Сложности человеческого восприятия цветов сде-
лали калибровку цветов большой проблемой, вследствие чего
3.4. Программные средства обработки изображений
145
есть несколько различных подходов, как разработанных, так и
перспективных.
Одна из самых полных систем — система управления цве-
том, разработанная Kodak (colour management system — CMS),
который использует различные цветовые профили, соответст-
вующие каждому устройству: сканеру, монитору, принтеру в
системе, чтобы передавать и стандартизировать цвета. Элементы
CMS встраиваются в Adobe PhotoShop и другое программное
обеспечение, и CMS постепенно становится наиболее распро-
страненным средством, применяемым для подготовки графиче-
ских иллюстраций и других задач, которые связаны с согласова-
нием цветов.
Другие системы были разработаны изготовителями сканеров
и прикладными программистами. Эти системы также базируют-
ся на цветовых профилях различных устройств,
которые будут использоваться для сканирования, редактирова-
ния и вывода заключительного изображения. В таких системах
используется исправление на основе вывода, при этом сканируется
и выводится стандартно калиброванное эталонное изображение,
и затем вносятся изменения в цветовые профили, чтобы стан-
дартизировать цвета. Это — менее сложный процесс и, вероятно,
не соответствует потребностям пользователей, которые хотят не-
прерывно перекалибровывать свои системы для оптимальных
результатов.
Фоторедактирование (ретуширование)
Когда сканер осуществляет фиксацию цветного изображе-
ния, это — часто только начало технологического процесса. Бу-
дучи однажды оцифрованной, фотография может быть представ-
лена в разных видах и комбинироваться с другой информацией в
растровом редакторе или пакете раскрашивания (рис. 3.10).
В подготовке печатного издания очень редко используются
«сырые» изображения — черты моделей «очищаются»: сглажива-
ние морщин, окраска глаз, «причесывание» волос и пр. Обычно
фоторетушер пытается сделать одну из двух вешей — или замена
некоторых элементов изображения (например, изменение цвета
чьих-то волос), или сотворение чего-то нереального и фантасти-
ческого. В любом случае, вмешательство ретушера не должно
обнаруживаться визуально.
146
Глава 3. Мультимедийные технологии
Рис. 3.10. Основные возможности графического редактора PaintBrush:
а — вставка текста: б — вставка фотографии, вырез части изображения; в — рисо-
вание эллипса, заливка контура, стирание ластиком: рисование: г — прямоуголь-
ника; д — кривых; е — прямых; ж — панель инструментов; з — цветовая палитра
Рис. 3.11. Преобразование фотографии (г?) в штриховой рисунок (б) с помощью
про, раммного продукта Adobe Photoshop
3.4. Программные средства обработки изображений
147
Большинство этих видов работ может быть произведено, на-
пример, используя Adobe PhotoShop, но даже самые простые
программы раскрашивания позволяют проделать подобные из-
менения. Однако, хотя многое может быть выполнено с помо-
щью более дешевых пакетов наподобие PaintShop Pro или PC
Paintbrush, программы, подобные PhotoShop, Xres и Corel
PhotoPaint, позволяют намного проще достигнуть сложных эф-
фектов (рис. 3.11).
Форматы графических файлов
Размер файла, в котором сохраняется изображение, сущест-
венно зависит от формата файла, а это — важная характеристика
технологии, поскольку' высокие разрешающие способности, под-
держивающиеся многими современными сканерами, могут при-
вести к созданию файлов размера до 30 Мбайт для страницы
формата А4.
Перечислим основные форматы изображений.
BMP. Используемый в Windows формат точечный рисунок
(BMP — bitmap) приводит к наибольшим размерам файлов, так
как при этом сохраняется изображение в полном цвете без сжа-
тия или в 256 цветах с простым сжатием — кодирование с пере-
менной длиной строки (run-length encoding — RLE). Изображе-
ния, которые используются как «обои» в Windows, должны быть
представлены в формате BMP, но для большинства других слу-
чаев этого можно избежать.
TIFF. Формат TIFF (tagged image file format), или формат с
разметкой, имеет наиболее гибкие возможности, так как в нем
изображения могут сохраняться как в режиме RGB для экранно-
го устройства отображения, так и СМУК для печати. TIFF также
поддерживает алгоритм сжатия LZW, который может значитель-
но уменьшить размер файла без потери качества. Метод сжатия
основан на двух методах, предложенных Дж. Зивом и А. Лемпэ-
лем в 1977 г. и впоследствии усовершенствованный Т. Велчсм
(Unisys). Атгоритм LZ77 создает указатели к повторяющимся
группам данным, a LZ78 — словарь повторяющихся фраз с ука-
зателями на них.
GIF. Разработанный CompuServe формат обмена графическими
данными (graphics interchange format) сохраняет изображения, ис-
пользуя индексирование цветов. Хотя обшее количество цветов,
148
Глава 3. Мультимедийные технологии
доступных в каждом изображении, — 256, характер этих цветов
может изменяться от изображения к изображению. Таблица на-
сыщенности цветов RGB сохраняется в начале файла. GIF-файлы
обычно являются меньшими в размере, чем большинство других
форматов файла из-за уменьшенной цветовой глубины, что дела-
ет их хорошим выбором для WWW-публикаций.
PCX. Формат PC Paintbrush предлагает сжатый формат при
цветовой глубине в 24 бита, однако он практически вышел из
употребления.
JPEG. Данный формат файла использует сжатие с потерями
и может создавать файлы небольших размеров при цветовой глу-
бине 24 бита. Уровень сжатия (и следовательно, степень потери
данных ) может изменяться, но даже при максимальной качест-
венной установке JPEG теряет некоторые подробности и поэто-
му наиболее подходит только для интерактивного просмотра
изображений. Количество доступных уровней сжатия зависит от
используемого для редактирования изображений программного
обеспечения.
Таблица 3.2 иллюстрирует размеры и цветовую глубину фай-
лов, которые соответствуют различным форматам при сохране-
нии исходного изображения размером в 1 Мбайт.
Таблица 3.2. Сравнительные характеристики различных графических файлов
Формат обмена графическими данными Размер файла. Кбайт Число цветов
BMP - RGB 1 Мбайт 16,7 млн
BMP-RLE 83 256
GIF Г 31 256
1 : JPEG - минимальное сжатие 185 16,7 млн
JPEG - минимальное прогрессивное сжатие 150 16,7 млн
JPEG - максимальное сжатие 20 16,7 млн
| JPEG - максимальное прогрессивное сжатие 16 16,7 млн
PCX 189 16,7 млн
TIFF 1 Мбайт 16,7 млн
TIFF - LZW compression 83 16,7 млн |
3.5. Цифровое видео
149
3.5. Цифровое видео
Основные принципы
Известны три формы кодирования сигнала телевидения:
• система PAL (использует большинство стран Европы);
• Франция, Россия и некоторые восточно-европейские стра-
ны используют SECAM. который отличается от системы
PAL только в тонкостях, однако этого достаточно, чтобы
они были несовместимыми:
• США и Япония используют систему NTSC.
В системе PAL (Phase-Alternation-Line, чередование строк)
каждый законченный кадр заполняется построчно, сверху до-
низу.
В Европе используется переменный электрический ток с
частотой 50 Гц, и система PAL связана с этим — здесь выполня-
ется 50 проходов экрана каждую секунду. Требуется два прохода,
чтобы нарисовать полный кадр, так что частота кадров равна
25 кадров/с. Нечетные строки выводятся при первом проходе,
четные — на втором. Этот метод называется чересстрочная
развертка (interlaced), в противоположность чему изобра-
жение на компьютерном мониторе, создаваемое за один проход,
известно как без чередования строк (progressive).
Компьютеры, наоборот, имеют дело с информацией в циф-
ровой форме. Чтобы хранить визуальную информацию в цифро-
вой форме, аналоговый видеосигнал должен быть переведен в
цифровой эквивалент с использованием аналого-цифро-
вого преобразователя-конвертера (ADC, или АЦП).
Процесс преобразования известен как осуществление оцифров-
ки, или видеозахват. Так как компьютеры имеют дело с
цифровой графической информацией, никакая другая специаль-
ная обработка данных не требуется, чтобы в дальнейшем выво-
дить это цифровое видео на компьютерный монитор. Однако
чтобы отобразить цифровое видео на обычном телевизоре, об-
ратный конвертер — ц и ф р о а н а л о г о в ы й (DAC или ПАП),
должен преобразовать двоичную информацию в аналоговый сиг-
нал. Кроме того, источником видеоинформации в цифровой
форме являются цифровые видеокамеры.
15U
Глава 3. Мультимедийные технологии
Цифровые видеокамеры
Начиная с введения Sony в 1995 г. формата DV и последую-
щего почти повсеместного принятия интерфейса IEEE 1394,
цифровые видеокамеры стали почти столь же свойственным
ПЭВМ атрибутом, как мышь. Массовый пользователь получил
доступ к технологии, которая позволила создавать в цифровом
формате видеоматериал, качество которого далеко превосходило
возможности аналоговых средств, доступных в то время — напо-
добие Hi-8 и S-VHS — и превращать его в профессионально вы-
-дчляшее домашнее кино на настольном ПК.
Запись и сохранение видео и аудио в цифровой форме устра-
няют возможности для целого диапазона ошибок в изображении
и звуке почти тем же образом, как музыкальные компакт-диски
изменили к лучшему записи на виниловых дисках (LP). Кассеты
цифрового видео нс могут быть прочитаны на видеомагнитофо-
нах, однако любая цифровая видеокамера имеет обычные, ана-
логовые AV-гнезда выхода, что позволяет записанный материал
передать на видеомагнитофон либо на телевизор. Поскольку ин-
терфейс IEEE 1394 стал вездесущим в области видео потребите-
ля, он позволяет передавать видеосигнал от одной цифровой ка-
меры к другой, к цифровому видеомагнитофону или на ПЭВМ.
В процессе своего развития цифровые видеокамеры все чаще
снабжаются аналоговыми звуковыми и видеовходами, позволяя
копирование старых записей в аналоговых форматах VHS или
8 мм в формат цифрового видео, и таким образом обеспечивая
как архивирование без потерь, так и доступ к мощным средствам
редактирования цифрового видео.
Светочувствительная матрица (прибор с заря-
довой связью — ПЗС) цифровой видеокамеры — обычно
размером в '/4" — собирает и обрабатывает свет, приходящий от
объектива, и преобразует его в электрический сигнал. В то время
как видеокамеры среднего качества оборудованы единственной
ПЗС, модели более высокого ряда используют три матрицы.
В этом случае объектив содержит призму, которая расщепляет
поступающий свет на три основных цвета, причем каждый по-
ступает на отдельную матрицу. Результатом является высокока-
чественные цветопередача и качество изображения, заметно луч-
шие чем для моделей с единственной ПЗС, хотя и при сущест-
венной дополнительной стоимости.
3.5. Цифровое видео
151
Число пикселей, которые составляют матрицх. может изме-
няться от одной мотели к сругой. однако большее число пиксе-
лей нс обязательно означает лучшее качество изображения. Мат-
рицы в цифровых видеокамерах Canon, например, обычно име-
ют намного более низкое число пикселей, чем в моделях JVC
или Panasonic, но все же способны к достижению превосходных
результатов.
Современные камеры имеют мошныс способности «наезда»
(трансфокатор), реализованные кат путем оптического измене-
ния масштаба изображения (обычно 10-х или более), так и циф-
рового (до 200-х). Конечно, в этих случаях изображения стано-
вятся высокозернистыми и их стабильность становится сущест-
венной проблемой. Исполыуюгся тва варианта ви соискателя:
традиционный окуляр и выдвижной цветовой жи скокристалли-
чсский экран, который дополнительно может быть сенсорным,
срабатывающим от прикосновения и позволяющим осхществ-
1ягь цифровое увеличение объекта, указанного прикосновением
на экране
Большинство потребительских цифровых камер продаются
как единые решения для видео, фото и даже MP3 и электрон-
ной почты. Большинство из них. однако, может захватить фото
только с разрешением, характерным для цифрового видео
(720 х 576 пикселей, что пе дотягивает даже до 1 мегапикселя),
которое приходится уменьшать до 640 x480. чтобы сохранись
правильное отношение размеров экрана (3 : 4). Некоторые ви-
деокамеры обладают более высоким разрешением для фо го. но
часто при этом используется интерполяция чтобы достигнуть
указанного разрешения. Ви шокамсры на 1.5 мегапикселем по-
зволят получить разрешение в 1360 x1020 для фото. Способ-
ность делать запись фотоснимков — также все более популяр-
ная особенность профессмонгсльных цифровых видеокамер, не-
которые из которых даже способны к настройке датчиков
изображения к усобному для компьютера формату сборки кар-
тины. что оптимизировано для записи фотоизображения.
Цифровые камеры обеспечивают цифровую или оптическую
стабилизацию изображения, чтобы уменьшить колебание, кото-
рое неизбежно сопровождает ручную съемку. Цифровая стаби-
лизация изображения (Digital image stabilisation — D1S) очень
эффективна, но имеет тенденцию уменьшать разрешение карти-
ны. поскольку активно используется для записи образа меньший
3.5. Цифровое видео
151
Число пикселем, которые составляют матрицу, может изме-
няться от одной модели к другой, однако большее число пиксе-
лей не обязательно означает лучшее качество изображения. Мат-
рицы в цифровых видеокамерах Canon, например, обычно име-
ют намного более низкое число пикселей, чем в моделях JVC
или Panasonic, но все же способны к постижению превосходных
ре |ультатов.
Современные камеры имеют мошные способности «наезда»
(трансфокатор), реализованные как путем оптического измене-
ния масштаба изображения (обычно 10-х или более), гак и циф-
рового (до 200-х). Конечно, в этих случаях изображения стано-
вятся высоко зернистыми и их стабильность становится сущест-
венном проблемой. Используются два варианта видоискателя:
традиционный окхляр и выдвижной цветовой жидкокристалли-
ческий экран, который дополните тьно может быть сенсорным,
срабатывающим от прикосновения и позволяющим осхшсств-
лять цифровое увеличение объекта, указанного прикосновением
на экране
Большинство потребительски' цифровых камер продаются
как единые решения для видео, фото и даже MP3 и электрон-
ной почты. Большинство из них однако, хюжет захватить фою
только с разрешением, характерным для цифрового видео
(720 х 576 пикселей, что не дотягивает даже до 1 мегапикселя),
которое приходится уменьшать до 640 х 480. чтобы сохранить
правильное отношение размеров экрана (3:4) Некоторые ви-
деокамеры обладают более высоким разрешением для фото, но
часто при этом используется интерполяция, чтобы достигнуть
указанного разрешения. Видеокамеры на 1.5 мегапикселей по-
зволят полупить разрешение в 1360 x1020 для фото. Способ-
ность делать запись фотоснимков — также все более популяр-
ная особенность профессиональных цифровых видеокамер не-
которые из которых даже способны к настройке датчиков
изображения к удобному для компьютера формату сборки кар-
тины. что оптимизировано для записи фогои зображения.
Цифровые камеры обеспечивают цифровую или оптическую
стабилизацию изображения, чтобы уменьшить колебание, кото-
рое неизбежно сопровождает ручную съемю Цифровая стаби-
лизация изображения (Digital image stabilisation — D1S) очень
эффективна, но имеет тенденцию уменьшать разрешение карти-
ны. поскольку активно используется для записи образа меньший
152
Глава 3. Мультимедийные технологии
процент датчиков (остальные заняты стабилизационной обра-
боткой). Оптическая стабилизация изображения (Optical image
stabilisation — OIS) использует призму, которая компенсирует
колебания регулировкой пули светового луча, проходящего через
систему линз камеры. Оба метода достигают примерно одной и
той же степени видимой стабильности, но OIS, возможно, луч-
ше, так как не уменьшает разрешение.
Форматы цифрового видео
VCD. Формат VideoCD был создан, чтобы обеспечить диало-
говую среду, которая была бы недорога для копирования, под-
держивала полный экран и видео полного движения и функцио-
нировала бы в широком диапазоне различных платформ ПЭВМ,
телевидения, игровых приставок или мультимедийного оборудо-
вания.
В середине 1993 г. Philips. Sony, Matsushita и JVC согласова-
ли спецификации VideoCD, позже получившие известность как
«Белая Книга». Стандарт использует определения, описанные в
стандартах «красной» (CD-DA) и «желтой» (CD-ROM) книг и
вводит дополнительную гибкость, чтобы учесть защиту автор-
ского права, вставки библиографической информации, абстракт-
ных данных, компьютерных программ, обеспечить диалоговый
контроль в течение воспроизведения.
Формат стал чрезвычайно популярным в Азии, и начиная с
середины 1990-х гг. почти все гонконгские фильмы были дос-
тупны на VCD, а по сделанной в конце тысячелетия оценке,
только в Китае ежегодно производились более чем 2 млн плейе-
ров VCD. Формат никогда не завоевывал популярность на запа-
де и остается малоизвестным в Северной Америке и Европе.
VCD использует CD-ROM ХА Mode 2, чтобы делать запись
первой дорожки диска (Track 1). который содержит файловую
структуру ISO 9660 и информационную область. Файловая сис-
тема ISO может также включать расширения Joliet, чтобы под-
держивать длинные имена файлов Windows.
VCD 1.1 поддерживает понятие выбираемых треков, но толь-
ко в VCD 2.0 версии (1995 г.) поддерживалась полная интерак-
тивность через дистанционное управление. VCD 2.0 позволяет
организовать до 98 треков, каждый из которых может быть ин-
дексирован в 99 сценах. Каждый трек может содержать и вое-
3.5. Цифровое видео
153
производить сцены, которые могут быть видео, звуковыми или
фотоизображениями. В основном этот формат можно трактовать
как Audio (De дополнением видео или фоюфрагментами и
средствами навигации по содержанию.
Стандарт поддерживает обратную совместимость, так что
версия 1.1 VCD работает в плейерах версии 2 0. VCD имеет вме-
стимость до 74/80 минут (на носителе 650/^00 Мбайт соответст-
венно) видео полного движения, сопровождаемого стереозвуком.
Используется технология сжатия MPEG-1 для обеспечения ка-
чества видео, эквивалентною пленке \ HS или аудио CD-DA
Таблица 3.3 содержит ключевые характеристики вариантов
VCD-станларга
Таблица 3.3. Характеристики различных вариантов формата У ideo CD
Параметры Стандарт
PAL NTSC NTSC Rim
Разрешение 352 х 288 352 х 240 352 х 240 j
Частота кадр эв, 1/с 25 29,97 23,976
Скорость передачи видео, кбит/с 1150 MPEG-1 1150 MPEG-1 1150 MPEG-1
Звук 44,1 кГц стерео, кодирован в MPEG-1 Level 2 формат, скорость - 224 кбит/с
Общая скорость передачи 1394,40 кбит/с
Sk'CD. Выпущенный в 1998 г. консорциумом, который вклю-
чал Philips. Sony. Matsushita и JVC. формат «VCD Высшего каче-
ства» (SuperVCD) — впоследствии станларгизированный как ISO
IFC 62107 — является естественным развитием стандарта VCD.
Основное различие в том. что для видсопотока используется ко-
тирование MPEG-2 (вместо MPEG-1). которое обеспечивает бо-
лее высокое разрешение и скорость, а также поддерживает суб-
титры и переменную скорость видеопогока. Как последствие.
SVCD способен к показу в 2 ра>а более четких видеоизображе-
нии. чем его предшественник, за счет уменьшенной вместимо-
сти (35 и 80 мин на диск в зависимости от средней используемой
битовой скорости)
Формат имеет обширную поддержку субтитров и режима ка-
раоке Ви копоток SVCD может содержать ло четырех независм
мы.х каналов субтитров для различных языков, коюрые накла-
дываются на видеоизображения в процессе воспроизведения и
154
Глава 3. Мультимедийные технологии
могут подключаться или удаляться по желанию. Так как субтит-
ры сохранены как битовая графика, они нс привязаны к како-
му-то специфическому набору символов. Наконец, SVCD стан-
дарт поддерживает гиперсвязи типа HTML, позволяет подклю-
чать фотографии, автоматическое проигрывание слайдов и
музыкальных фрагментов, поддерживает многоуровневые иерар-
хические меню и оглавления (индексацию). Характеристики
формата приведены в табл. 3.4.
Таблица 3.4. Характеристики SVCD
Видеосигнал
Стандарт MPEG-2
Скорость передачи Переменная до 2,6 Мбит/с
Разрешение NTSC 480 х 480 с перекрытием, 29,97 Гц
Разрешение PAL 480 576 с перекрытием. 25 Гц
Фотография
Стандарт MPEG-2.1 Frame
Разрешение NTSC 480 х 480, 704 х 480
Разрешение PAL 480 х 576, 704 х 576
Звуковой сигнал
Стандарт . MPEG-1, layer II
Частота оцифровки |44,1 кГц
Скорость передачи ’ От 32 до 384 кбит/с 1
. Число каналов До 2 стерео или 4 моно
Звуковое окружение MPEG-2(5.1)
XVCD и XSVCD (extended VCD и extended SVCD — расши-
рения соответственно) являются неофициальными вариантами
стандартов VCD и SVCD, предназначенными, чтобы достигнуть
улучшенного качества изображения, например, увеличивая бито-
вую скорость (битрейт) в соответствии с более быстрой способно-
стью передачи данных современными накопителями CD-ROM.
XSVCD работает на принципах, обычных для уровня DVD, что
обеспечивает скорость, близкую к DVD-Video (до 9,8 Мбит/с —
поддерживает полное разрешение DVD в дополнение к обычному
для SVCD 480 х 576/480 х 480).
3.5. Цифровое видео
155
DivX. Формат DivX базирхется на вилеогехнологии MPFG-4 с
дополнением звукового потока MP3. Поскольку сжатый в форма-
те DivX кинофильм составляет от 10 то 20 % размера ординала
DVD (обычно 5 Гбайт). 80—90 минутное DVD-кино занимает
приблизительно 650 Мбайт в разрешении 640 х 480 — фи чьм Гол-
ливуда может вообще поместиться на единственном CD ROM
Единственным весомым недостатком является то. что нс преду-
смотрено возможности развернуть изображение формата 16 : 9 до
4 : 3. Просмотр осуществляется на широко распространенном
Windows Media Player (Microsoft) с небольшими добавлениями
К концу 2001 г. появилась новая версия DixX — проект с от-
крытыми исходными программами кодека, известный как
«Project Махо» пли как «OpenDix.X» или «DivX для Win-
doxvs/I.inux/Мас». В отличие oi оригинала DivX. OpenDivX нс
имеет ничего общего с Microsoft. Однако подобно его предше-
ственнику. он также базируется на формате сжатия MPEG 4
Формат DV. Panasonic и Sony были первыми, кто использо-
вал стандарт цифрового видео на своих видеокамерах, и хотя он
и нс был первоначально предназначен для профессионального
использования, обе компании впоследствии объявили их собст-
венные расширения для стандарта — Panasonic DVCPRO в
1995 г., a Sony — DVCAM в 1996 г. Однако оба изготовите ш
придерживались формата MiniDX для производимого цифрового
оборудования.
Формат DV использует пленку с мсталло-оксидным напыле-
нием ширины '/д" (6,35 мм), способнхю к записи до 3 часов ви-
део в стандартном режиме (standard play, SP) на кассете, которая
имеет размеры 125 х 78 х 14.6 мм.
Технически DV испо шзуст дискретное кос и нус-преобразова-
ние. используя провесе с тремя стадиями. Первая стадия ис-
пользует DCT-сжатие. удаляющую информацию, которая не мо-
;ег быть замечена человеческих, глазом. При этом в каждом
пикселе отдетяют цветовую и яркостнхю информацию, что со-
кращает данные на одну треть. Затем сигнал RGB преобразуется
з YUV — Y для яркости и I и \ для цвета, по формуле YUV
4:2:2. Затем цифровом видеоколек оптимизирует форхллу к
YUV 4:2:0, связывая цветовую информацию от смежных пик-
селей в блоки 4x4. Далее, система аппаратного сжатия, разме-
щенная на камере, сжимает видео с использование алгоритма,
одобного V1-JPEG.
156
Глава 3. Мультимедийные технологии
Система DV отличается способностью записи различных час-
тей каждого кадра с различной степенью сжатия. Так, синее небо
в фоне изображения может быть сжато, скажем, к 25 : 1, в то вре-
мя как лес на переднем плане, который нуждается в большем ко-
личестве деталей, только до 7 : 1. Этим способом цифровое видео
может оптимизировать видеоструктуру потока кадров. Наоборот,
М-JPEG должен иметь установленную норму сжатия для видео в
целом и нс может разумно регулировать сжатие каждого изобра-
жения. Кроме того, также используется техника, известная как
адаптивное межстрочное сжатие, которое заключается в том, что
перекрывающиеся строки кадра (как в PAL. например) соединя-
ются в одну, если различие между ними невелико. В теории это
означает, что сиены с меньшим количеством движения обраба-
тываются лучше, чем быстрые сцены. Номинальный поток дан-
ных DV — 25 Мбит/с, который увеличивается до 36 Мбит/с
с учетом аудио и различных средств управления данными и кор-
рекции ошибок.
Mini-DV (мини-цифровое видео). Главное преимущество
формата MiniDV состоит в том, что лента, являющаяся '/12 от
размера стандартной пленки VHS, позволяет сделать запись 1
часа в формате SP или до 90 мин более низкого качества выхода
в «долгоиграющем режиме» (long play, LP) при горизонтальном
разрешении до 500 линий. Видеокамеры этого формата являются
часто достаточно маленькими, чтобы удобно размешаться в ла-
дони руки.
Digital8. Введенный в начале 1999 г., формат видеокамеры
Sony Digital8 может рассматриваться как шаг между 8 мм или
Hi-8 и MiniDV. Запись здесь производится почти в том же са-
мом качестве как для MiniDV. но на ленты 8 мм и Hi-8, которые
имеют размер ’/4 размера VHS и вместимость до 1 часа. Фор-
мат — хороший выбор для тех, кто переходит к цифровой видео-
камере, так как видеокамера DigitalS может также воспроизво-
дить старые записи аналоговых видео на 8 мм и Hi-8;
MICROMV. В 2001 г. Sony объявила ряд цифровых видеока-
мер MICROMV, используюших формат сжатия MPEG-2 при за-
писи сигналов качества DV на ленты, размер которых составляет
70 % от кассет MiniDV. При скорости в 12 Мбит/с ультраком-
пактный формат MICROMV имеет битовую скорость, вполовину
меньшую, чем для miniDV, что делает редактирование видео на
ПЭВМ намного менее ресурсопоглощающей задачей.
3.5. Цифровое видео
157
Форматы DVD
Фирма Hitachi объявила первую цифровую видеокамеру,
способную к записи на носитель DVD (в данном случае это был
DVD-RAM) летом 2000 г., что было очередным шагом в движе-
нии видеоприложений к области ПЭВМ. Важное преимущество
формата D\ D — способность к прямой! выборке видео и непо-
средственному переходу к определенным сиенам видеозаписи,
экономя время и ресурсы, затрачиваемые на за пись/редактиро-
вание.
DVD видео. Видео DVD обычно котируются в формате
MPEG-2. MPEG-2 предлагает более высокую степень сжатия,
чем MPEG-I. и приводит к намного более четкому и чистому
изображению (табл. 3.5). Раскодированный из MPEG-2 видео-
сигнал обычно использует 480 горизонтальных строк в кадре
(и in 720 x 480 пикселей) по сравнению с 425 строками для
CD-видео и 250—270 строками для VHS-вилео.
Таблица 3.5. Параметры котирования видеосигнааов .ътя D\D xidco
Параметры MPEG-2 MPEG-1 ।
720 х 576
704 х 576 352 х 576
Разрешение PAL/ SECAM 352 х 576 352 х 288
352 х 288
720 х 480
704 х 480 352 х 480
Разрешение NTSC 352 х 480 351 х 240
352 х 240
Переменная битовая скорость (VBR), CBR
постоянная битовая скорость (CBR)
Частота кадров PAL/SECAM, 1/с 25
Частота кадров NTSC, 1/с 24 или 30
Переменная битовая скорость (VBR) позволяет достичь бо-
лее высокого качества изображения и более низкой средней ско-
рости передачи информации в битах, пои этом используется
бо 1Ы11С данных для кодирования тех чаете.i видеопоследователь-
ности, которые более сложны и плохо сжимаются. При исполь-
158
Глава 3. Мультимедийные технологии
зовании постоянной битовой скорости (CBR) скорость передачи
данных должна быть достаточно высокой, чтобы одинаково хо-
рошо кодировать все сцены видео.
Ранние диски DVD-ROM использовали два метода для запи-
си MPEG-2 видео:
• аналоговый оверлей (наложение видеоизображений
или просто оверлей);
• метод встраивания VGA. иногда упоминаемый как
VideoInlay.
Оба метода отображают видео в окне или полном экране, но
они реализуют различные подходы. VideoInlay использует графи-
ческий адаптер PC, чтобы масштабировать видео и вывести его
на монитор. Оверлейные платы обеспечивают масштабирование
собственными аппаратными средствами и выводят видео само-
стоятельно, встраивая его в графический выводом, который при-
ходит от платы VGA. При использовании этих плат дополни-
тельный кабель соединяет выход адаптера VGA с вводом на пла-
те декодера.
Главный недостаток подхода VideoInlay — нагрузка на систе-
му. При проходе сцен, закодированных с высокой скоростью пе-
редачи информации, метод VideoInlay может перегрузить инфор-
мацией старые, более медленные адаптеры дисплея, что может
потребовать сокращения горизонтальной разрешающей способ-
ности для получения приемлемого изображения.
Требуя немного большего количества усилий по установке и
конфигурированию, платы наложения видеоизображений требу-
ют меньше системных ресурсов и допускают более широкое раз-
нообразие аппаратных средств. В то время как видеовывод мо-
жет быть менее четким, чем в случае встраивания VGA, наложе-
ние видеоизображений имеет то преимущество, что может дать
приличное качество фактически с любыми видеоплатами.
Односторонний (DVD 5) диск может вместить ти-
пичный кинофильм, длительность которого составляет в сред-
нем 133 минуты. MPEG-2 кодирование использует сжатие с по-
терями. которое удаляет избыточную информацию (например,
неизменяющиеся области изображения) и информацию, кото-
рая не воспринимается человеческим глазом. Выходной видео-
сигнал, особенно когда он сложен или содержит быстрые изме-
нения, может иногда включать визуальные недостатки в зависи-
мости от качества обработки и коэффициента сжатия. При
использовании сжатия MPEG-2 полномасштабное изображение
3.5. Цифровое видео
159
требует минимальную скорость передачи данных 3500 кбит/с.
Звуковое окружение — центральный, левые, правые, лево-тыло-
вые и право-тыловые каналы, плюс ненаправленный басовый
громкоговоритель — требует дополнительно еще 384 кбит/с.
Если учесть добавочную память для фонограмм дублирования
на различных языках и титров, необходимо увеличение скоро-
сти до 4.692 кбит/с (минимум 4 Мбит/с. требуемых для высоко-
качественных результатов). Окончательный итог — требование
размера памяти в 4,68 Гбайт.
Более высокие скорости передачи данных могут привести к
повышению качества, почти неотличимому от оригинала, при
скоростях более чем 6 Мбит/с. С развитием MPEG-технологий
сжатия лучшее качество достигается при более низких скоро-
стях. Кроме того, DVD-видео обычно поддерживают множест-
венные коэффициенты сжатия, позволяя при просмотре выбрать
по меньшей мере из пары широкоэкранных форматов (например
16:9 или более обычного 4 : 3). Кроме того, DVD-видео также
обычно позволяет выбрать один из восьми языков и предостав-
ляет 32 различных набора субтитров.
Для двухслойного (DVD 9) диска вместимость увели-
чивается до 240 мин. Двусторонний однослойный
диск (DVD 10) будет вмешать немного больше (около 266 ми-
нут), но он должен быть перевернут, чтобы была доступна вторая
сторона. Многие производители видео DVD используют двусто-
ронние диски, помещая версию, отформатированную для нор-
мального телевидения или монитора с экраном 4 : 3 на одной
стороне и широкоэкранную версию, отформатированную для эк-
рана 16 : 9 — на другой.
Существуют два способа записи двухслойных DVD — па-
раллельный проход дорожки (Parallel track path — РТР) и
противоположны й проход дорожки (Opposite track path —
OTP). В дисках РТР оба слоя считываются от внутренней части
диска к внешней, тогда как в диске ОТР сначала считывается
внешний слой от внутренней части к внешней, а затем — внут-
ренний слой обратным ходом. Это позволяет дисководу читать
оба слоя почти непрерывно, с коротким перерывом, чтобы пере-
фокусировать линзу лазера.
В 1998 г. Цифровой Видео Экспресс (DVE) — партнерство
между одним из крупнейших американских розничных продав-
цов электроники, Circuit City, и видной Лос-анджелесской юри-
дической фирмой — объявил альтернативный формат DVD-bii-
160
Глава 3. Мультимедийные технологии
део, использующий подход «оплата за использование» при про-
смотре фильмов, и быстро получил поддержку таких ведущих
студий, как Disney, Paramount. Universal и MGM.
Региональное кодирование
Поскольку' обычно выход фильма на экраны не является од-
новременным (фильм может выйти на видео в США, когда толь-
ко выходит на экраны в Европе), киностудии хотят контролиро-
вать выпуск видеокопий в различных странах. Поэтому потребо-
валось, чтобы стандарт DVD включал коды, которые могут
предотвратить воспроизведение некоторых дисков в определен-
ных географических областях (регионах). Каждый видеопроиг-
рыватель получает код для региона, в котором он продан. Это
означает, что диски, купленные в одной стране, не могут считы-
ваться на плейерах, купленных в другой стране.
Региональные коды являются дополнительными для изгото-
вителя диска и отсутствие кода означает отсутствие региональ-
ных ограничений. Это — не система кодирования, а только ин-
формационный байт, обозначающий восемь различных регио-
нов, который проверяется при проигрывании диска (табл. 3.6).
Таблица 3.6. Региональное кодирование DVD
Номер региона Регион
1 США, Канада, американские территории
2 Япония, Европа, Южная Африка и Ближний Восток (включая Египет)
3 Юго-восточная Азия и Восточная Азия (включая Гонконг)
|’ Австралия, Новая Зеландия, Тихоокеанские острова, Центральная Америка, Мексика,
Южная Америка и Карибское море
Восточная Европа (прежний Советский Союз), индийский субконтинент, Африка, Се-
верная Корея и Монголия 1
6 Китай
7 Зарезервирован
8 Специальные международные места встречи (самолеты, круизные суда и т. д.)
В сводной табл. 3.7 приводятся основные технические харак-
теристики цифровых видеоформатов, перечисленных выше.
3.5. Цифровое видео
161
Таблица 3.7. Характеристики основных видеоформатов
Параметры Формат
VCD SVCD X(S)VCD DivX DV DVD
Формат стандартен? Да Да Нет Нет Да Да
Разрешение NTSC 352 240 480 х 480 720 . 480 640 480 720 х 480 720 х 480
PAL 352 288 480 - 456 720 . 576 или меньше 720 > 576 720 х 576
или меньше
Видеосжатие MPEG-1 MPEG-2 MPEG-1 или MPEG-2 MPEG-4 DV MPEG-2
Аудиосжатие MPEG-1 MPEG-1 MPEG-1 MP3WMA DV MPEG-2 АС-3
Скорость, Мбайт/мин 10 10-20 5-20 1-10 216 30-70
Совместимость DVD-плейеров Очень хорошая Хорошая Хорошая Нет Нет Отличная
Интенсивность загрузки ЦП Низкая Высокая Высокая Очень высокая Высокая Очень высокая
Качество , Хорошее Очень хорошее Очень хорошее Очень хорошее Отличное Отличное
Видеоредактирование
Известны два типа видеоредактирования. Первый заключа-
ется в редактировании при переписывании одной ленты на дру-
гую и называется линейным редактированием. Второй требует,
чтобы редактируемые видеопоследовательности были вначале
помещены на жесткий диск, затем отредактированы и возвраще-
ны на пленку. Этот метод известен как нелинейное редактирова-
ние (НИР, NLE). Для нелинейного редактирования видеопереда-
чи карты захвата переводят видео в цифровую форму на жесткий
диск ПЭВМ и при этом функция редактирования выполняется
полностью на ПЭВМ, почти так же. как редактируется документ
в текстовом редакторе. Носители могут быть дублированы и
многократно использоваться по мере необходимости, сцены мо-
гул быть перестроены, добавлены или удалены в любое время в
течение процесса редактирования (рис. 3.12, 3.13).
Широкое распространение НЛР началось в начале 1990-х гг.,
что связано с появлением все более вместительных, быстрых и
дешевых НЖМД, с разработкой все более мошного программно-
162
Глава 3. Мультимедийные технологии
ПЭВМ
НЖМД
Цифровой
видеомагнитофон
Рис. 3.12. Цифровое видеоредактирование
Рис. 3.13. Установка параметров программного средства Pinnacle Studio 9,
предназначенного для видеозахвата, редактирования (НЛР) и вывода в файл
видеопотока
го обеспечения редактирования видео, получило мошную под-
держку в 1995 г. с появлением формата DV Sony.
Хотя видеоформат MPEG-2 уже нашел широкое использова-
ние в распространении информации, проблемы возникли в про-
изводстве и при редактировании видео. Если необходимо сделать
вырезку из потока данных, то может оказаться, что В-кадры или
Р-кадры (см. ниже, п. 3.6) будут отделены от структур, к которым
они относятся, и их соответствие нарушится. В результате видео
в формате MPEG-2 необходимо восстанавливать в несжатую (ис-
3.5. Цифровое видео
163
ходную) форму перед редактированием. иди же редактирование
видео приходится производить в несжатой форме и откладывать
MPLG-кодирование на самый последний момент. Так, в частно-
сти строится работа с программным продуктом Pinnacle Studio 9
(рис. 3.13. 3.14). Здесь последовательно осуществляв >ся видеозах-
ват (рис. 3.13). разбиение на сцены (материал сохраняется в сла-
босжатои форме формата А\ i — при качестве DV — 3,8 Мбайт/с,
при качестве MPEG — 0.76 Мбайт/с). затем происходит форми
рованис выхошою ви 1сопотока. который выводится в файл
MPEG-I, MPEG-2 или какого-либо другого формата.
Некоторые изготовители пытались разработать системы
MPEG-2, допускающие редактирование без ограничений. Напри-
мер, компания Sony предложила специальный формат под назва-
нием SX для профессиональных цифровых видеокамер и видео-
магнитофонов, который использует очень короткие GOP, или
группы кадров (четыре или меньше кадров), включающие только
I- и Р-кадры (см. ниже. п. 3.6). При этом скорость передачи со-
ставляет 18 .Мбит/с. что эквивалентно сжатию 10 : 1, но качество
Рис. 3.14. Экран Pinnacle Siudio 9 редактирования (НДР) и вывода в файл
видсопотока:
/ сцены входной записи; 2 — просмотр текущей сиены; 3 сцены, включен-
ные в выходной видсопоток
164
Глава 3. Мультимедийные технологии
изображения сопоставимо с М-JPEG при 5:1. Позже фирма
Pinnacle разработала методы редактирования коротких GOP,
IP-кадров MPEG-2 с использованием своей карты видеозахвата
DC 1000 в системе Adobe Premier. Pinnacle утверждает, что ее карта
требует только половину полосы пропускания эквивалентного
М-JPEG видео, позволяя одновременно обрабатывать два видео-
потока на дешевой платформе с небольшим объемом памяти.
Сталкиваясь с проблемой редактирования MPEG-2, изгото-
вители видеопродукции, входящие в комитет ProMPEG, предло-
жили профессиональную версию, известную как MPEG-2 4:2:2
Profile@Main Level (см. ниже, табл. 3.8). Здесь используются
только 1-кадры, что дает более высокие скорости передачи дан-
ных — до 50 Мбит/с. Формат был одобрен Европейским радиове-
щательным союзом (European Broadcasting Union) и его амери-
канским партнером — Обществом инженеров телевидения и ки-
нематографии (Society of Motion Picture Television Engineers —
SMPTE), для широкого диапазона применений в производстве
видеопродукции. Хотя здесь и нет никакого преимущества в ши-
рине полосы пропускания перед М-JPEG, а преобразование по-
токов к другим форматам MPEG-2 и обратно требует перекоди-
рования, эта версия MPEG-2 (только 1-кадры) — согласованный
стандарт, позволяющий передавать материал между различными
системами. По контрасту NLE-системы, которые используют
М-JPEG, имеют тенденцию использовать немного различающие-
ся форматы файлов, что делает их несовместимыми.
Несмотря на все их преимущества, файлы в сжатых форма-
тах остаются все еще довольно большими и поэтому нуждаются
в быстром интерфейсе для их передачи между видеокамерой и
ПЭВМ. К счастью, решение этой проблемы существовало уже в
течение ряда лет. Технология интерфейса FireWire была
первоначально предложена Apple Computer, но затем утверждена
как международный стандарт IEEE 1394.
Когда этот интерфейс был разработан, цифровое видео было
в младенческом состоянии и еще не существовало массовой по-
требности в такой быстрой технологии интерфейса, поэтому в
течение нескольких лет интерфейс FireWire был решением про-
блемы, которая еще не возникла. Первоначально представляя
сектор высоких технологий цифрового видеорынка, системы ре-
дактирования IEEE 1394 постепенно следовали за цифровыми
видеокамерами в сферу потребителя. Так как FireWire передает
видеоданные в сжатом цифровом состоянии, копии, сделанные
3.6. Элементы технологии алгоритмов MPEG
165
в этом методе, теоретически дозжны быть точными клонами
оригинала. В большинстве случаев это верно. Однако, поскольку
процесс копирования осуществляет эффективную маскировку
ошибок, он не использует никаких методов их исправления.
Следовательно, есть вероятность возникновения провалов (де-
фектов) для видео и звуковых данных приблизительно после
полдюжины поколений копирования. Поэто.мх предпочтитель-
ная практика состоит в том. чтобы везде, где эго возможно, из-
бегать делать копии с копии.
К конит 1998 г. системы редактирования, основанные на
IEEE 1394, оставались дорогими и ориентировались в основном
на профессиональный сектор рынка. Однако с увеличением мас-
штаба работ с аудио, видео и другими, более общими типами дан-
ных, производители ПЭВМ в сотрудничестве с такими потребите-
лями. как Sony, стали включать интерфейсы IEEE 1394 в системы
ПЭВМ, чтобы обеспечить связь, управление и обмен цифровыми,
звуковыми и видеоданными. Пока ешс нс вездесущий, интерфейс
стал намного более обычным к началу 2000-х гг.. не в последнюю
очередь благодаря усилиям специалистов Creative, которые фак-
тически обеспечили «свободный» адаптер FireWire для линейки
звуковых карт Audigy. введенных в конце 2001 г.
3.6. Элементы технологии алгоритмов MPEG
Стандарт MPEG-2
Рассмотрим в качестве примера стандарт MPEG-2. который
состоит из трех основных частей: системной, видео и звуковой.
Системная часть описывает форматы кодирования для
мультиплексирования звхковои, видео- и другой информации,
рассматривает вопросы комбинирования о иного или более пото-
ков данных в один или множество потоков, пригодных для хра-
нения или передачи
Системное кодирование в соответствии с синтаксическими и
семантическими правилами, налагаемыми данным стандартом
обеспечивает необходимую и достаточную информацию, чтобы
синхронизировать декодирование без переполнения или «недо-
полнения» буферов декодера при различных условиях приема
или восстановления потоков.
166
Глава 3. Мультимедийные технологии
Таким образом, системный уровень выполняет пять основ-
ных функций:
• синхронизацию нескольких сжатых потоков при воспроиз-
ведении;
• объединение нескольких сжатых потоков в единый поток;
• инициализацию для начала воспроизведения;
• обслуживание буфера;
• определение временной шкалы.
Видео часть стандарта описывает кодированный би-
товый поток для высококачественного цифрового видео.
MPEG-2 является совместимым расширением MPEG-1, он под-
держивает чересстрочный видеоформат и содержит средства для
поддержки ТВЧ (телевидение высокой четкости).
Стандарт MPEG-2 определяется в терминах расширяемых
профилей, каждый из которых, являясь частным случаем стан-
дарта, имеет черты, необходимые всем классам приложений.
Иерархические масштабируемые профили могут поддержи-
вать такие приложения, как совместимое наземное многопро-
граммное ТВ (ТВЧ), пакетные сетевые видеосистемы, обратную
совместимость с другими стандартами (MPEG-1 и Н.261) и при-
ложениями, использующими многоуровневое кодирование.
Звуковая часть стандарта MPEG-2 определяет кодиро-
вание многоканального звука. MPEG-2 поддерживает до пяти
полных широкополосных каналов плюс дополнительный низко-
частотный канал и (или) до семи многоязычных комментатор-
ских каналов. Он также расширяет возможности кодирования
моно-и стереозвуковых сигналов в MPEG-1 за счет использова-
ния половинных частот дискретизации (16; 22,05 и 24 кЕц) для
улучшения качества при скоростях передачи 64 кбит/с и ниже.
JPEG-форматы (M-JPEG CinePack) основаны на сжатии каж-
дого кадра из видеопоследовательности. Этот подход получил на-
звание intraframe compression (внутрикадровое сжатие). Стандарт
MPEG использует как intraframe, так и interframe compression
(межкадровое сжатие). При межкадровом сжатии задаются опор-
ные кадры, а последующие и предыдущие вычисляются на их ос-
нове. Поэтому межкадровая схема позволяет достичь большего
сжатия — не надо хранить каждый кадр, запоминаются только
различия между кадрами.
Стандарт MPEG-2 не регламентирует методы сжатия видео-
сигнала, а только определяет, как должен выглядеть битовый по-
ток кодированного видеосигнала, поэтому конкретные алгорит-
3.6. Элементы техно югии алгоритмов MPEG 167
мы являются коммерческой тайном фирм—производителей обо-
рудования. Однако существуют обшие принципы, и процесс
сжатия цифрового видеосигнала может быть разбит на ряд по-
следовательных операции (рис. 3.15):
• преобразование аналогового сигнала в цифровую форму;
• предварительная обработка;
• дискретное косинусное преобразование:
• квантование:
• кодирование.
После аналого-цифрового преобразователя (АЦП) произво-
дится предварительная обработка сигнала, которая
включает в себя следующие преобразования.
1. Удаление избыточной информации Например, если фон
изображения состоит из идентичных символов (пикселей), то
совершенно нс обязатс 1ьно их все передавать Достаточно опи-
сать один пиксель и послать его с сообщением о том, как часто
и где он повторяется в изображении.
2. Если исходное изображение пере дастся в виде чересстроч-
ных полей, то они преобразуются в кадры с прогрессивной раз-
верткой.
3. Сигналы цветности (RGB) преобразуются в цветоразност-
ные сигналы UiiVii ст нал яркости Y.
4. Изображение достраивается до кратного 16 количества
пикселей по строкам и столбцам, чтобы обеспечить разбиение
изображения на целое число макроблоков.
Рис. 3.15. Блок-схема оборудования сжатия видеоизображения
168
Глава 3. Мультимедийные технологии
5. Производится преобразование из формата цветности
4 : 4 : 4 в формат 4:2:2 (горизонтальная передискретизация цве-
торазностных компонентов) или 4:2:0 (горизонтальная и вер-
тикальная передискретизация цветоразностных компонентов).
Квантование. Изображение разбивается на последова-
тельность макроблоков, каждый из которых состоит из шести
блоков по 8 х 8 пикселей:
• четыре образуют матрицу 16x16 и несут информацию о
яркости;
• по одному — определяют цветоразностные компоненты U
и V, которые соответствуют области изображения, покры-
ваемой матрицей 16x16 пикселей.
Стандарт предусматривает два формата цветности, каждому
из которых соответствует свой порядок блоков в макроблоке
(рис. 3.16):
• 4:2:0 — макроблок состоит из шести блоков — четыре
блока яркости YD и два блока цветности CR И Св;
• 4:4:4 — макроблок состоит из двенадцати блоков. Он со-
держит четыре блока YD, четыре CR и четыре Св.
Производится разбиение потока кадров изображения по ти-
пам, для них находятся векторы движения, которые необходимы
для повышения предсказуемости величин элементов изображе-
ния. Векторы движения обеспечивают компенсацию пере-
Формат
Рис. 3.16. Разбивка изображения на блоки в MPEG-2
3.6. Элементы технологии снгоритхюв MPEG
169
мешений в прошедших и последующих кадрах. Компенсация
движения применяется при предсказании текущего кадра на ос-
нове предыдущих и интерполяционного предсказания на основе
прошедших и последующих изображений. Векторы движения
определяются тля каждой зоны изображения с размерами
16 х 16 пикселей, т. е. для макрос юков. В большинстве случаев
видеопоследовательности содержат избыточность в двух направ-
лениях — временном и пространственном. Главное статистиче-
ское свойство, на котором основана аппаратура сжатия. — меж-
элсментная корреляция, включаются предположение о корре-
лированное™ последовательных кадров видеоданных. Таким
образом, значения отдельных пикселей изображения могут быть
предсказаны либо но значениям ближайших пикселей внутри
одного кадра (внутрикадровое кодирование), либо по значениям
пикселей, расположенных в блнжайин кадрах (межкадровое
кодирование и компенсация перемещения).
Кодирование. В некоторых случаях, например, при сме-
не видеосцсны в видеопоследовательности, временная корреля-
ция между ближайшими кадрами очень низка. В таких случаях
решающую роль в достижении эффективного сжатия видеоин-
формации играет внутрикадровая корреляция, т. с. пространст-
венная корреляция пикселей изображения Однако, если корре-
ляция между последовательными кадрами видеоданных высока,
то в случае, когда тва последовательных кадра имеют схожее или
одинаковое содержание, желательно применение межкадровой
корреляции пикселей с временным предсказанием. На практике
для достижения высокого коэффициента сжатия видеоинформа-
ции используется комбинация из двух подходов.
Стандарт MPEG-2 определяет три типа кадров, для каждого
из которых предусмотрен свой вид кодирования:
• опорные кадры, так называемые 1-кадры (Intra Frames), ко-
торые являются основными и котирхются без обращения к
другим кадрам, т. е. с использованием информации только
этого кадра. Вид кодирования — внутрикалровый. обеспе-
чивающий умеренное сжатие Все остальные кадры анали-
зируются процессором, который сравнивает их с опорны-
ми, а также между собой;
• Р-кадры (Predicted) — закодированные относительно пре-
дыдущих I- или Р-калров. Кодирование Р-кадров выполня-
ют с использованием алгоритмов компенсации движения и
предсказанием «вперед» по предшествующим I- и Р-кад-
170
Глава 3. Мультимедийные технологии
рам. Они сжаты в 3 раза сильнее, чем 1-кадры, и служат
опорными для последующих Р- и В-кадров. Компенсация
движения, применяемая к макроблокам Р-кадров, выраба-
тывает два вида информации: векторы движения (разница
между базовыми и кодированными макроблоками) и зна-
чения ошибок (разница между предсказанными величина-
ми и действительными результатами). Если макроблок в
Р-кадре не может быть описан с использованием компен-
сации движения, что случается при появлении некоторого
неизвестного объекта, то он кодируется тем же способом,
что и макроблок в 1-кадре;
• В-кадры (Bidirectionally Predicted) — закодированные отно-
сительно предыдущих и последующих кадров, т. е. с двуна-
правленным предсказанием и компенсацией движения.
В-кадры имеют наибольшее сжатие.
Таким образом, в стандарте MPEG-2 используются три вида
кодирования: внутрикадровое, межкадровое «вперед» с компен-
сацией движения, межкадровое двунаправленное, также с ком-
пенсацией движения.
Полученные кадры объединяются в группы последова-
тельных кадров (GOP — group of pictures). Каждая последо-
вательность начинается с 1-кадра и состоит из переменного числа
Р- и В-кадров. В описаниях алгоритмов кодирования MPEG и его
реализаций не содержится никакой информации относительно
методов выделения I-, Р- и В-кадров в видеопоследовательности.
В начале сцены должен стоять 1-кадр, в конце — Р-кадр.
Увеличивать долю В-кадров можно только в рамках одной сце-
ны, иначе возникнут большие ошибки предсказания и компен-
сации движения. Поскольку типичная длительность группы кад-
ров (во временном представлении — примерно 0,5 с) значитель-
но меньше характерного расстояния между границами спен, то в
большинстве случаев жесткое задание структуры группы кадров
не приводит к существенным визуальным ошибкам из-за того,
что смена сцен попадает внутрь группы кадров.
На рис. 3.17 изображен порядок кодирования I-, Р- и В-кад-
ров. Верхний ряд кадров демонстрирует исходную последова-
тельность на входе кодера, нижний — после кодирования. Ос-
новными параметрами GOP являются длина последовательности
N и порядок чередования Р-кадров. Например, в последователь-
ности кадров, представленной на рис. 3.17, 7V= 7, М = 3, т. е. ка-
ждый третий кадр в последовательности — типа Р.
3.6. Э к менты технологии а чгоритмов MPEG
171
Рис. 3.17. Порялок кодирования 1- Р- и В-кадров по стандарту MPEG-2:
а — последовательное 1ь кадров на входе кодера; б— последовательность кадров
после кодирования
Из применявшихся до си' пор форматов групп для частоты
полей 30 Гц типичной была последовательность
1BBPBBPBBPBBP/BBIВВР... с N= 13 (для первой грчппы) и
М= 3, в которой группу составляют 15 кадров, начинающихся с
двух В кадров и одного 1-кадра, и каждые два В-кадра переме-
жаются с Р-кадром Для частоты 25 Гц типичной является такая
же после товатсльность, но с Х= 12 и М = 3. Такой выбор сделан
для того, чтобы обеспечить одновременное выполнение требова-
ний максимального сжатия и произвольного доступа к любому
из кадров последовательности. Между гем именно В кадры
обеспечивают макси лаЛьное сжатие, и если бы удалось поднять
долю В-кадров в группе, а 1-калрами обозначить границы сиен,
то эффективность сжатия была бы увеличена.
Для блоков с использованием компенсации движения нахо-
дятся разностные ошибки предсказания движения
Следует упомянуть сше _ вс возможности MPEG-алгоритмов.
Это Motion Estimation (ME. в свободном переводе — оценка пе-
ремещений) и Spatial Redundancy (SR — пространственная избы-
точность). ME — метол, по которому реализуется вычисление Р-
и В- кадров по опорным кадрам. Первым шагом в ME является
172
Глава 3. у/ультимедийные технологии
разбиение кадров на блоки 16 х 16 пикселей Далее блоки одного
кадра сравниваются с соответствующими блоками другого кадра
и. если они изменяют положение от кадра к кадру их перемеще-
ние описывается векторами движения. которые и записываются
в MPEG-поток.
На следующем этапе кодирования применяется метод про-
странственной избыточности. позволяющий еще более сокраппь
обьем данных. описывая разность между соответствующими бло-
ками. Используя дискретное к ос и н у с - п ре об ра зо в а -
н и е, блоки подразде шются на подблоки 8x8 для отслеживания
изменения цвета и яркости.
Очевидно, что чем больше коэферппиент сжатия, геи хуже
качество. Коэффициент сжатия - это численное выражение со-
отношения между объемом сжатого и исходного видеоматериала.
Для MPEG сейчас стандартом считается соотношение 200:1.
при этом сохраняется неплохое качество видео. Различные вари-
анты Moiion-JPEG работают с коэффициентами от 5:1 до
100: 1. хотя даже при уровне в 20 : 1 уже трудно добиться нор-
мального качества изображения. Кроме того, качество видео за-
висит не только от алгоритма сжатия ‘MPEG или Motion-3 PEG),
но и от параметров цифровой видеоплаты, конфигурации ком-
пьютера, а также от программного обеспечения.
Профили MPEG
Как уже отмечалось выше, в стандарте применяется концеп-
ция профилей и уровней (табл. 3.8).
Стандарт предусматривает пять профилей:
• простой (simple) — для реализации ви юопогока без В-кадров;
• главный (main) — для реализации всех уровней, но без
масштабируемости:
• масштабируемы i по отношению епгнал/шум (SNR scalable):
• ирошранственно масштабируемый (spattallyscalable);
• профессиональный (professional 4:2:2). пространственно
масштабируемый и масштабируемый по отношению сиг-
нал/шу.м.
Каждый из этих профилен можно подразделить на четыре
уровня:
• низкий (LL):
• главны!! (ML).
Тшитци 3.S. Уровни и профи .и спецификации MPI (>-2
j Профиль; тип кадр-., формат (дискретизация сигнала цзетности)
Уровень Параметр Простой; 1 и Р; 4:2:0 Главный (МР@ МЦ; 1; Ри В; 4:2:0 Масштабируемый по отношению сигнал/шум 1; Р и В 4:2:0 Нрсстратственномас- штабиру мый 1: Р и В 4:2:0 Профессиональ- ный 1; Р и В; 4:2:0 или 4:2:2
Число отсчетов в строке 1920 1920
Высокий Число । трок в кадре Число кадров в секунду Не предусмотрен 1152 60 Не предусмотрен Не предусмотрен 1152 60
Макс, поток, Мбит/с 80 100
Число отсчетов в строке 1440 1440 1440
Высокий 1440 Число строк в кадре Число кадров л секунду Нс предусмотрен 1152 60 Не предусмотрен 1152 60 1152 60
Макс, поток, Мбит/с 80 80 80
Число отсчетов в строке 720 720 720 /20
Главный Число строк в кадре Число кадров в секунду 576 30 576 30 576 30 Не предусмотрен 576 30
Макс, поток, Мбит/с 15 15 15 20
Число отсчетов в строке 352 352
Низкий Число строк в кадре Число кадров в секунду Не предусмотрен 288 30 288 30 Не предусмотрен Не предусмотрен
Макс, поток, Мбит/с _ 4 4
3.6. Элементы технологии алгоритмов MPEG
174
Глава 3. V/i гъти.медийные технологии
• высокий 1440 (Н1440):
• высокий (HL).
Каждому профилю соохвсгствуют опрс хеленные наборы опе-
раций по сжатию данных.
В профиле простой используется наименьшее число опе-
раций: компенсация движения и тори хное дискретное косинус-
ное преобразование хДКП. DCT).
Профиль главный сотержит дополнительные опера-
цию — предсказание по Двум направлениям, что улучшает каче-
ство изображения.
Профиль масштабируемый по отношению сиг-
нал/шум пре хусматриваех повышение устойчивости системы
при снижении отношения сигнал/шум Поток видеоданных раз-
деляют на две части: базовый поток и расширенный поток. Пер-
вый несет наиболее значимую информацию, второй — дополни-
тельную.
Профиль пространственно масштабируемый со-
держит все операции предыдущего профиля и новую — разделе-
ние потока видеоданных по критерию четкости телевизионного
изображения. Этот профи ть обеспечивает переходы между ныне
действующим стандартом и ТВЧ
В рассмотренных четырех профилях при кодировании сигна-
лов яркости и цветности используют формат представления ви-
деоданных 4:2:0, где число отсчетов сигналов цветности по
сравнению с сигналом яркости снижено в 2 раза по горизонталь-
ному и вертикальному направлениям.
В профиле профессиональный используют формат
4 : 2 : 2, т. е. число отсчетов сигналов цветности в вертикальном
направлении такое же, как и в яркостном сигнале. Кроме этого,
предусматривается возможность масштабирования — простран-
ственного и по отношению сигнал/шум
Уровню низкий соответствует недавно введенный класс
качества телевизионного изображения — ТВ ограниченной чет-
кости. Уровню главный соответствует ТВ обычной четкости.
Уровни высокий ld4 0 и высокий предусмотрены для
ГВЧ, где использовано разложение на 1152 активные строки.
Каждый из этих профилей и уровней определяет предельные
значения основных параметров битового потока, как это показа-
но в табл. 3.8.
Сочетание профиля и уровня образует некоторое подмноже-
ство общего стандарта MPEG-2 применительно к различным за-
3.6. Элементы технологии алгоритмов MPI-G
175
дачам, для решения которых он предназначен. Такое сочетание
принято обозначать аббревиатурой. Например. MP@ML означа-
ет главный профиль и главны!' уровень. Профессиональный
профиль в сочетании с главным Уровнем (422Pk?ML) послужил
основой принятого в 1996 г. подмножества стандарта MPEG-2
для цифровою телевещания.
Описательный мультимедиа-стандарт MPEG-7
Спецификация разработана на пути использования методов
и достижений интеллектуальных информационных систем в
мультимедийных приложениях. Попытки решения данной зада-
чи известны уже давно — ситуационное моделирование
(Ю. И Клыков, 1974 г.). RX-коды (1969 г.), проект PIPS (Pattern
information processing system), программная среда и язык распо-
знавания и генерации сцен XALIG — Native language interpreter
of graphics ^Япония, 1980 г.) и др.
MPEG-7 формально называется «Мультимедиа-интерфейс
для описания содержимого» (Multimedia Content Description
Interface), он имеет целью стандартизовать описание мультиме-
дийного материала, поддерживающего некоторый уровень ин-
терпретации смысла информации, которая может быть передана
для обработки ЭВМ Стан ipr MPEG-7 не ориеншрован на ка-
кое-то конкретное приложение, он стандартизует некоторые
элементы, которые рассчитаны на поддержку как можно более
широкого круга приложении. Следовательно, средства MPFG-7
позволят формировать описания (т. е. наборы схем описания и
соответствующих юскрипторов по желанию пользователя) мате-
риала, который может содержать:
• информацию, описывающую процессы создания и произ-
водства материал» (указатель, заголовок, короткометраж-
ный игровой фильм);
• информацию, относящуюся к использованию материала
(указатели авторского права, история использования, рас-
писание вещания);
• информацию о характеристиках записи материала (формат
записи, кодирование):
• структурную информацию о пространственных, временных
или пространственно-временных компонентах материала
176
Глава 3. Мультимедийные технологии
(разрезы сцены, сегментация областей, отслеживание пере-
мещения областей):
• информацию о характеристиках материала нижнего уровня
(цвета, текстуры, тембры звука, описание мелодии):
• концептуальную информацию о реальном содержании ма-
териала (объекты и события, взаимодействие объектов);
• информацию о том. как эффективно просматривать мате-
риал (конспекты, вариации, пространственные и частотные
субдиапазоны и пр.):
• информацию о собрании объектов;
• информацию о взаимодействии пользователя с материалом
(предпочтения пользователя, история использования).
MPEG-7 сконструирован так. чтобы учесть все подходы,
учитывающие требования основных стандартов, таких, как
SMPTE Metadata Dictionary’. Dublin Силис. EBU P/Meta и
TV Anytime. Эти стандарты ориентированы на специфические
приложения и области применения, в то время как MPEG-7 пы-
тается быть как можно более универсальным. MPEG-7 исполь-
зует также схему XML в качестве языка выбора текстуального
представления описания материала. Главными элементами стан-
дарта MPEG-7 являются (рис. 3.18):
• дескрипторы (D) — представление характеристик, ко-
торые определяют синтаксис и семантику представления
каждой из характеристик;
• схемы описания DS (description scheme), которые спе-
цифицируют структуру и семантику взаимодействия между
компонентами. Эти компоненты могут быть дескриптора-
ми и схемами описания;
• язык описания определений DDL (description
definition language), позволяющий создавать новые схемы
описания и, возможно, дескрипторы, и обеспечивающий
расширение и модификацию существующих схем описания;
• системные средства служат для поддержки мультип-
лексирования описаний, синхронизации описаний и мате-
риала, механизмов передачи, кодовых представлений (как
текстуальных, так и двоичных форматов) для эффективной
записи и передачи, управления и защиты интеллектуальной
собственности в описаниях MPEG-7.
Все области применения, базирующиеся на мультимедиа,
выиграют от использования MPEG-7. Ниже предлагается список
3.6. Элементы технологии алгоритмов MPbG
177
Рис. 3.18. абстрактное представление возможных приложений
на основе MPEG-7
возможных приложении MPEG-7. которые любой из читателей
без труда сможет дополнить:
• архитектура, недвижимость и интерьерный дизайн (напри-
мер. поиск илей):
• выбор широковещательного медийного канала (например,
радио. TV);
• услуги в сфере культуры (исторические музеи, картинные
галереи и т. л.):
• цифровые библиотеки (например, каталоги изображений,
музыкальные словари, биомедицинские каталоги изобра-
жений, фильмы, видео- и радиоархивы):
• е-коммерпия (например, целевая реклама, каталоги реаль-
ного времени, каталоги электронных Mai азинов);
• образование (например, депозитарии мультимедийных кур-
сов. мультимедийный поиск дополнительных материалов);
• домашние развтечения (например, системы управления
личной мульгимс чынои коллекцией, включая манипуля-
цию содержимым, например, ре тактирование домашнего
видео, поиск игр. караоке).
• исследовательские услуги (например, распознавание чело-
веческих особенностей, экспертизы);
• журнализм (например, поиск речей определенного полити-
ка, используя его имя. его голос или его лицо);
178
Глава 3. Мультимедийные технологии
• мультимедийные службы каталогов (например, желтые
страницы, туристская информация, географические ин-
формационные системы):
• мультимедийное редактирование (например, персональная
электронная служба новостей, персональная медийная сре-
да для творческой деятельности):
• удаленное опознавание (например, картография, экология,
управление природными ресурсами):
• осуществление покупок (например, поиск одежды, которая
вам нравится):
• надзор (например, управление движением, транспортом,
неразрушаюший контроль в агрессивной среде).
В принципе, любой тип аудиовизуального материала может
быть получен с помощью любой разновидности материала в за-
просе. Это означает, например, что видеоматериал может быть
запрошен с помощью видео, музыки, голоса и т. д. Ниже приве-
дены примеры запросов:
• проиграйте несколько нот на клавиатуре,
и вы получите список музыкальных отрывков, сходных с
проигранной мелодией, или изображений, соответствую-
щих некоторым образом нотам, например, в эмоциональ-
ном плане;
• нарисуйте несколько линий на экране, и вы
найдете набор изображений, содержащих похожие графи-
ческие образы, логотипы, идеограммы;
• определите объекты, включая цветовые пят-
на или текстуры, и вы получите образцы, среди кото-
рых сможете выбрать интересующие вас объекты;
• опишите действия и получите список сценариев, со-
держащих эти действия;
• используя фрагмент голоса Паваротти, полу-
чите список его записей, видеоклипов, где Паваротти поет,
и графический материал, имеющий отношение к этому
певцу.
Рассмотрим пример описания визуального материала
(рис. 3.19, а) графовыми представлениями (рис. 3.19, о).
Этот пример демонстрирует момент футбольного матча. Оп-
ределены два видеосегмента, одна стационарная область и три
движущиеся области. Граф, описывающий структуру материала,
показан на рис. 3.19.
3.6. Элементы технологии а ггоритмов MPEG
179
41 dec -Sot in ml 2 Gstff
Мии tig Reum
l*h\cr
Still R«ncn
Goal
a
Ball
Рис. 3.19. Пример вилеосегмснта и областей ситуации (а):
соответствующий ,’раф (<5)
180
Глава 3. Мультимедийные технологии
Видеосегмент Dribble&Kick (Обводка и удар) включает в себя
мяч, вратаря и игрока. Мяч остается рядом с игроком, движущимся
к вратарю. Игрок появляется справа от вратаря.
Видеосегмент гол включает в себя те же подвижные области
плюс стационарную область ворота. В этой части последователь-
ности игрок находится слева от вратаря, а мяч движется к воротам.
Этот простой пример иллюстрирует гибкость данного вида
представления. Заметим, что это описание в основном представ-
ляется структурным, так как отношения, специфицированные
ребрами графа, являются чисто физическими, а узлы представ-
ляют объекты, которые описываются данными о создании, ин-
формацией об использовании и медиаданными, а также деск-
рипторами низкого уровня, такими, как цвет, форма, движение.
В семантически явном виде доступна только информация из
текстовой аннотации (где могуч быть спепифипированы ключе-
вые слова мяч, игрок или вратарь).
Контрольные вопросы
1. Каковы характеристики аналогово-цифрового и цифро-аналогового
преобразований аудиоданных?
2. Перечислите методы синтеза звука.
3. Какие характеристики имеют аудиоадаптеры?
4. Что такое ЧМ и WaveTable?
5. Перечислите возможности карты SoundBlaster.
6. Что такое LivelDrive?
7. Охарактеризуйте MIDI-интерфейс.
8. Перечислите основные характеристики форматов аудиосигнала.
9. Какие основные функции реализует программное обеспечение обра-
ботки аудиосигналов?
10. Охарактеризуйте методы оптической интерполяции.
11. Перечислите основные характеристики цифровых видеокамер (ЦБК).
12. Что такое схемы цветообразования?
13. Охарактеризуйте форматы графических файлов.
14. Что такое видеозахват?
15. Что такое цветоразностные компоненты?
16. Перечислите форматы записи цифрового видео.
17. В чем заключается сущность М-JPEG сжатия видеоданных?
18. Перечислите основные особенности алгоритмов MPEG-1—4.
19. Что такое GOP?
20. Что такое профили MPEG?
21. В чем сущность стандарта MPEG-7?
Глава 4
ИНФОРМАЦИОННЫЕ
КРОСС-ТЕХНОЛОГИИ
К данному классу отнесены технологии пользовате-
ля. ориентированные на следующие (или аналогичные) виды
преобразования информации:
• распознавания символов:
• звук—текст:
• текст—звук:
• автоматический перевод.
4.1. Оптическое распознавание символов (OCR)
Когда страница текста отсканирована в ПК. она представле-
на в виде состоящего из пикселей растрового изображе-
ния. Такой формат нс воспринимается компьютером как
текст, а как изображение текста и текстовые редакторы
не способны к обработке подобных изображений. Чтобы превра-
тить группы пикселей в доступные для ре 'актирования символы
и слова, изображение должно пройти с южный процесс, швест-
ный как оптическое распознавание символов
(optical character recognition — OCR)
В то время как переход от символьной информации к графи-
ческой (растровой) достаточно элементарен и без тру та осущест-
вляется, например при выводе текста на экран или печать, об-
ратный переход (от печашою текста к Текстовому файлу в ма-
шинном коде) весьма затруднителен. Именно в святи с этим для
ввода информации в ЭВМ исстари использовались перфо-
ленты, перфокарты и др. промежуточные носители, а не
исходные «бумажные» документы, что было бы гораздо удобнее.
В тащиту» перфокарт скажем здесь, что наиболее «продвину-
тые» устройства перфорации делали надпечатку на карте для
проверки ее содержания.
182
Глава 4. Информационные кросс-технологии
Первые шаги в области оптического распознавания симво-
лов были предприняты в конце 50-х гг. XX в. Принципы распо-
знавания, заложенные в то время, используются в большинстве
систем OCR: сравнить изображение с имеющимися эталонами и
выбрать наиболее подходящий.
В середине 70-х гг. была предложена технология для ввода
информации в ЭВМ, заключающаяся в следующем:
• исходный документ печатается на бланке с помощью пи-
шущей машинки, оборудованной стилизованным шрифтом
(каждьп'1 символ комбинируется из ограниченного числа
вертикальных, горизонтальных, наклонных черточек, по-
добно тому, как это делаем мы и сейчас, нанося на почто-
вый конверт цифры индекса);
• полученный «машинный документ» считывается оптоэлек-
трическим устройством (собственно OCR), которое коди-
рует каждый символ и определяет его позицию на листе;
• информация переносится в память ЭВМ, образуя элек-
тронный образ документа или документ во внутреннем
представлении.
Очевидно, что по сравнению с перфолентами (перфокарта-
ми) OCR-документ лучше хотя бы тем. что он без особого труда
может быть прочитан и проверен человеком и, вообще, представ-
ляет собой «твердую копию» соответствующего введенного доку-
мента. Было разработано несколько модификаций подобных
шрифтов, разной степени «удобочитаемости» (OCR A, OCR В
и пр., рис. 4.1).
OCR А 123 OCR В 123
а б
Рис. 4.1. Стилизованные шрифты:
а - OCR А; б — OCR В
Очевидно также, что считывающее устройство представляет
собой сканер, хотя и специализированный (считывание стилизо-
ванных символов), но интеллектуальный ('распознавание их).
OCR-технология в данном виде просуществовала недолго и в
настоящее время приобрела следующий вид:
• считывание исходного документа осуществляется универ-
сальным сканером, осуществляющим создание растрового
образа и запись его в оперативную память и/или в файл;
4. J. Оптическое распознавание символов (OCR)
183
• функции распознавания полностью возлазаюгся на про-
граммные продукты, которые, естественно, получили на-
звание OCR-software.
Исследования в этом направлении начались в конце
1950-х гг.. и с тех пор технологии непрерывно совершенствова-
лись В 1970-х гг. и в начале 1980-х гг. программное обеспечение
оптического распознавания символов все еще обладало очень
ограниченными возможностями и могло работать только с неко-
торыми типами и размерами шрифтов. В настоящее время про-
граммное обеспечение оптического распознавания символов на-
много более интстлсктуально и может распознать фактически
все шрифты, даже при невысоком качестве изображения доку-
мента.
Основные методы оптического распознавания
Олин из самых ранних методов оптического распознавания
символов базировался на сопоставлении матриц или
сравнении с образцом букв. Большинство шрифтов име-
ют формат limes. Courier или Helvetica и размер от 10 до
14 пунктов (точек). Программы оптического распознавания сим-
волов, которые используют метод сопоставления с образцом,
имеют точечные рисунки для каждого символа каждого размера
и шрифта (рис. 4.2, л). Сравнивая базу данных точечных рисун-
ков с рисунками отсканированных символов, программа пытает-
ся их распознавать. Эта ранняя система хепешно работала толь-
a — сравнение с образном: б — выделение признаков
184 Глава 4. Информационные кросс-технологии
ко с непропорциональными шрифтами (подобно Courier), где
символы в тексте хорошо отделены друг от друга. Сложные до-
кументы с различными шрифтами оказываются уже вне возмож-
ностей таких программ.
Выделение признаков было следующим шагом в раз-
витии оптического распознавания символов. При этом распо-
знавание символов основывается на идентификации их универ-
сальных особенностей, чтобы сделать распознавание символов
независимым от шрифтов. Если бы все символы могли быть
идентифицированы, используя правила, по которым элементы
букв (например, окружности и линии) присоединяются друг к
другу, то индивидуальные символы могли быть описаны незави-
симо от их шрифта. Например: символ «а» может быть представ-
лен как состоящий из окружности в центре снизу, прямой ли-
нии справа и дуги окружности сверху в центре (рис. 4.2, б). Если
отсканированный символ имеет эти особенности, он может быть
правильно идентифицирован как символ «а» программой опти-
ческого распознавания.
Выделение признаков было шагом вперед сравнительно с со-
ответствием матриц, но практические результаты оказались
весьма чувствительными к качеству печати. Дополнительные по-
метки на странице или пятна на бумаге существенно снижали
точность обработки. Устранение такого «шума» само по себе ста-
ло целой областью исследований, пытающейся определить, ка-
кие биты печати не являются частью индивидуальных символов.
Если шум идентифицирован, достоверные символьные фрагмен-
ты могут тогда быть объединены в наиболее вероятные формы
символа.
Некоторые программы сначала используют сопоставление с
образцом и/или метод выделения признаков для того, чтобы
распознать столько символов, сколько возможно, а затем уточ-
няют результат, используя грамматическую проверку правильно-
сти написания для восстановления нераспознанных символов.
Например, если программа оптического распознавания симво-
лов неспособна распознать символ «е» в слове «th~ir», програм-
ма проверки грамматики может решить, что отсутствующий
символ — «е».
Современные технологии оптического распознавания на-
много совершеннее, чем более ранние методы. Вместо того что-
бы только идентифицировать индивидуальные символы, совре-
менные методы способны идентифицировать целые слова. Эту
4.1. Оптическое распознавание символов (OCR)
185
технологию, предложенную Caere, называют прогнозирую-
щим оптическим распознаванием слов (Predictive
Optical Word Recognition — POWR).
Испотьзуя более высокие \ровни контекстного анализа, ме-
тод POWR способен устранить проблемы, вы тайные шумом.
Компьютер анализирует тысячи или миллионы различных спо-
собов, которыми точки изображения могут быть собраны в сим-
волы слова. Кахлой возможной интерпретации приписывается
некоторая вероятность, после чего используются нейронные
сети и прогнозирующие методы моделирования, заимствован-
ные от исследований в области искусственного интеллекта. Они
предполагают использование «экспертов» — алгоритмов, разра-
ботанных специалистами в различных областях распознавания
символов. Один «эксперт» может знать многое о начертаниях
шрифта, другой — о словарной информации, третий — об ухуд-
шении качества от «защу мленности» и пр. На каждой стадии ис-
следования привлекается новый набор «экспертов» с учетом
близости их «областей знаний» к специфической ситуации и
статистики успеха в подобных ситуациях.
Окончательный итог — то. что система POWR способна
идентифицировать слова способом, который близко напоминает
человеческое визуальное распознавание. Практически, методика
значительно улучшает точность распознавания слов во всех ти-
пах документа. Все возможные интерпретации слова оценивают-
ся, комбинируя все источники доказательства, от информации
пикселя нижнего уровня до контекстных особенностей высокого
уровня, в результате чего выбирается самая вероятная интерпре-
тация.
Технологии Finereader
Хотя системы оптического распознавания символов сущест-
вовали в течение долгого времени, их выгоды только сейчас на-
чали по достоинству оценивать. Первые разработки были чрез-
вычайно дорогостоящими (в терминах программного обеспече-
ния и оборудования), неточны и трудны для использования. За
несколько последних лет системы оптического распознавания
полностью преобразились. Современное программное обеспече-
шс распознавания символов очень у юбно в использовании, об-
186
Глава 4. Информационные крое с-технологии
ладает высокой точностью и находится на пути к распростране-
нию на все виды рабочих сред в массовом масштабе.
Типичным представителем данного семейства программ яв-
ляется ABBYY FineReader, технологический процесс которого
включает следующие шаги (рис. 4.3):
• сканирование исходного документа (страницы):
• разметку областей (ручную или автоматическую), требую-
щих различные виды обработки (страницы разворота кни-
ги, таблицы, рисунки, колонки текста и пр.);
• распознавание — создание и вывод на экран текстового
файла (с вставленными рисунками и таблицами, если это
необходимо):
• контроль правильности (рунной, автоматический, полуав-
томатический);
• вывод информации в выходной файл в заданном формате
(.DOC или .RTF для Word, .XSL для Excel и пр.).
Данные, полученные на каждом этапе (изображение, тексто-
вый файл), сохраняются под «обшей вывеской» пакета (страни-
Е
Defat* - ABBYY fmefteade* .
гскйб&т
поток<опытно пвостгяшяп поток
JDefooK - ABBYY Fm^R
За a
.30 Пуск I
Рис. 4.3. Пример рабочего экрана Finereader:
/ — панель управления и настроек: 2 — перечень отсканированных пакетов; 3 -
текущее изображение; 4— размеченное изображение: 5— распознанный текст
п
Д ПОТОК СОЕЫтТ'А
“ И ЕГО J
При рассмот[>ении случай
с дискретными состояниями и •
ся встречаться с так называсмь
Потоком событии назь
родных событий, следующих од
ря, случайные моменты времен
Поимепями могст быть
4.1. Оптическое распознавание символов (OCR) 187
цы с номером), что позволяет в любой момент вернуться и по-
вторить разметку, распознавание и пр.
Если нет необходимости сохранять цветовую информацию
оригинала документа (например, для последующей обработки
системами оптического распознавания символов), изображение
лучше всего сканировать в режиме greyscale (полутоновое изо
Сражение). При этом файд будет занимать одну треть объема
сравнительно со сканированием в цвете RGB. Можно использо-
вать также режим штриховок графики (line ап), однако при этом
часто теряются подробности, существенные для точности после
1\юшего процесса распознавания символов.
Рассмотрим основные принципы функционирования про-
граммного прозу кта.
Принципы 1РЛ (целостности, целенаправленности, адаптивно-
сти). Пользователь помешает документ в сканер, нажимает
кнопку, и через небольшое время в компьютер поступает элек-
тронное изображение, «фотография» страницы. На нои присут-
ствуют все особенности оригинала. вплоть до мельчайших под-
робностей. Это изображение содержит всю необходимую для
OCR-системы информацию об исходном документе.
Принцип целостности (integrity), согласно кото-
рому объект рассматривается как целое, состоящее из связан-
ных частей Связь частей выражается в пространственных отно-
шениях между ними, и сами части получают толкование только
в составе предполагаемого целого, т. е в рамках гипотезы об
объекте.
Принцип целенаправленное ! и (purposefulness):
побая интерпретация данных преследует определенную цель.
Согласно этому принципу, распознавание представляет собой
процесс вы движения гипотез о целом объекте и целенаправлен-
ной их проверки.
Принцип адаптивности (ad a pt ab i 1 i t у) подразуме-
вает способность системы к самообучению. Полученная при
распознавании информация споря ючивается. сохраняется и ис-
пользуется впоследствии при решении аналогичных задач. Пре-
имущество самообучающихся систем заключается в способности
«спрямлять» путь логических рассуждений, опираясь на ранее
накошенные знания.
В тес го полных названий этих принципов часто употребляют
аббревиатуру IPA, составленную из первых букв соответствую-
щих английских слов. Преимущества системы распознавания.
188
Глава 4. Информационные кросс-технологии
работающей в соответствии с принципами IPA, очевидны —
именно они способны обеспечить максимально гибкое и осмыс-
ленное поведение системы.
Например, на этапе распознавания символов изображение,
согласно принципу целостности, будет интерпретировано как
некий объект, только если на нем присутствуют все структурные
части этого объекта, и эти части находятся в соответствующих
отношениях. Иначе говоря. FineReader не пытается принимать
решение, перебирая тысячи эталонов в поисках наиболее подхо-
дящего. Вместо этого выдвигается ряд гипотез относительно
того, на что похоже обнаруженное изображение, затем каждая
гипотеза целенаправленно проверяется. Допуская, что найден-
ный объект может быть буквой «А». FineReader будет искать
именно те особенности, которые должны быть у изображения
этой буквы. Как и следует поступать, исходя из принципа
целенаправленности. Причем проверять, верна ли выдви-
нутая гипотеза, система будет, опираясь на накопленные ранее
сведения о возможных начертаниях символа в распознаваемом
документе.
Многоуровневый анализ документа (MDA)
Подлежащий распознаванию документ часто выглядит за-
метно сложнее, чем белая страница с черным текстом. Иллюст-
рации, таблицы, колонтитулы, фоновые изображения — эти эле-
менты, все чаще применяемые для оформления, усложняют
структуру страницы. Для того чтобы корректно воспроизводить
в электронном виде такие документы, все современные
OCR-программы начинают распознавание именно с анализа
структуры. Как правило, при этом выделяют несколько иерархи-
чески организованных логических уровней. Объект наивысшего
уровня только один — собственно страница, на следующей сту-
пени иерархии располагаются таблица и текстовый блок, и так
далее (рис. 4.4).
Любой высокоуровневый объект может быть представлен как
набор объектов более низкого уровня: буквы образуют слово,
слова — строки и т. д. Поэтому анализ всегда начинается в на-
правлении сверху вниз. Программа делит страницу на объекты,
их, в свою очередь, — на объекты низших уровней, и так далее,
вплоть до символов. Когда символы выделены и распознаны,
4.1. Оптическое распознавание символов (OCR)
189
Рис. 4.4. Многоуровневая структура документа
начинается обратный процесс — «сборка» объектов высших
уровней, который завершается формированием истой страницы.
Такая процедура называется многоуровневым а н а л и з о м
документа, или MDA (multilevel document analysis).
Очевидно, что программа, допустившая ошибку при распо-
знавании объекта высокого уоовня (например, перепутавшая аб-
зац текста с иллюстрацией), почти не имеет шансов корректно
завершить процедуру — итоговый электронный документ будет
искажен. Риск столкнуться с подобной ситуацией существовал
бы и для FineReader, однако он ведет анализ документа несколь-
ко иначе.
Во-первых, объекты любого уровня FineReader распознает в
соответствии с принц и нами I РА. В первую очередь выдви-
гаются гипотезы относительно типов обнаруженных объектов,
затем они целенаправленно проверяются При этом система учи-
тывает найденные ранее особенности данного документа, а так-
же сохраняет вновь поступающую информацию (обучается).
Допустим, все объекты текущего уровня распознаны.
FineReader переходит к детальному анализу одного из них, опре-
деленного, к примеру, как текстовый блок. Предположим, вдруг
оказывается, что результаты анализа этого блока крайне неубе-
тигсльны; нс удастся выделить ни абзацы, ни строки. Повтор-
ный анализ позволяет внести коррективы: да, это текст, но на-
190
Глава 4. Информационные кросс-технологии
ложенный на фоновое изображение. После дополнительной об-
работки распознавание будет продолжено — и уже без ошибок.
Описанная ситуация наглядно иллюстрирует вторую важную
особенность используемого в системе FineReader алгоритма
MDA: на всех этапах многоуровневого анализа сушествует воз-
можность обратной связи — результаты анализа на одном из
нижних уровней всегда могут повлиять на действия с объектами
более высоких уровней. Наличие обратной связи в процедуре
MDA дает возможность резко понизить вероятность грубых
ошибок, связанных с неверным распознаванием объектов более
высоких уровней.
Распознавание любого документа производится поэтапно, с
помощью процедуры многоуровневого анализа документа
(MDA). Деление страницы на объекты низших уровней, вплоть
до отдельных символов, распознавание этих символов и «сбор-
ку» электронного документа FineReader проводит, опираясь на
принципы целостности, целенаправленности и адаптивности
(IPA) (рис. 4.5).
Процедуры Уровень Процедуры
10- Сохранение документа Документ 1. Выделение текстовых блоков
9. «Сборка» документа Блок текста, таблица 2. Выделение строк
8. «Сборка» строк Строка 3. Деление на слова
7. Структурирование гипотез Слово 4. Деление на символы
6. Создание моделей слова Символ 5. Распознование символов
Рис. 4.5. Схема работы многоуровневого анализа документов
Распознавание от уровня «страница» до уровня
«слово»
На первом этапе распознавания система структурирует стра-
ницу, выделяет на ней текстовые блоки. Как мы знаем, современ-
ные документы часто содержат всевозможные элементы дизайна:
4.1. Оптическое распознавание символов (Ol R)
191
иллюстрации, колонтитулы, цветной фон или фоновые изобра-
жения, и т. д. Основная задача на данном этапе состоит в том,
чтобы отделить текст от иллюстрации и «подложенных» текстур.
Все современные системы распознавания начинают про-
цесс «знакомства» с создания черно-белого изображения доку-
мента. При этом подлежащее анализу изображение чаше всего
цветное или полутоновое (т. е. состоящее из разных оттенков
серого цвета, подобно картинке на экране черно-бс того теле-
визора). Любая OCR-система прежде всего преобразует такое
изображение в монохромное, состоящее тотько из черных и
белых точек. Процесс преобразования называется бинариза-
цией, он всегда предшествует детальной обработке распозна-
ваемой страницы.
Блок текста, состоящий из строк, должен иметь характерную
линейчатую структуру. Раздетив этот блок на строки, можем
приступать к выделению сюв. Однако на практике столь про-
стые варианты встречаются нечасто Возьмите любой документ,
где строки текста наложены на цветной фон. и представьте, как
будет выглядеть эта страница в черно-белом варианте. Вокруг
каждого символа обнаружатся десятки и сотни «лишних» точек,
оставшихся от фона. Работая с таким «загрязненным» текстом,
большинство OCR-программ нс сможет уверенно распознавать
символы, поскольку лишние точки будут искажать очертания
букв и лаже границы строк, приводя к ошибкам-
FineReader не пытается решать задачу бинаризации «в лоб».
Принцип целенаправленности гиктует иной подход к обнаруже-
нию строк в текстовом блоке или слов в строке; они до/жны
быть где-то здесь, надо только суметь их узнать. Для повышения
качества поиска FineReader использует процедуры интеллекту-
альной фильтрации фоновых текстур (рис. 4.6, а) и
адаптивно й б и н а р и з а ц и и (рис. 4.6. о). Первая позволяем
уверенно отделять строки текста от сколь угодно сложного ([юна,
вторая — гибко выбирать оптимальные для данного участка па-
раметры бинаризации. Естественно, к этим процедурам система
прибегает нс всегда, а лишь в тех случаях, когда предваритель-
ный анализ указывает на подобную необходимость. В каждом
конкретном случае FineReader выбирает подходящий «инстру-
мент», опираясь на информацию, накопленную в процессе ана-
лиза документа.
Например, идет анализ строки. Система занята поиском объ-
ектов уровня «слово». На первый взгляд, прошс всего разделить
192
Глава 4. Информационные кросс-технологии
welcome
welcome
vkomv
И( к пин
Рис. 4.6. Технологии распознавания:
а — пример работы интеллектуальной фильтрации фоновых структур: б — уров-
ни бинаризации
строку на слова по найденным пробелам. Однако первичный
анализ показывает, что в конце строки пробелы попадаются за-
метно чаше, чем в начале. Процедура адаптивной бинаризации
исследует яркость фона и насыщенность черного цвета на про-
тяжении всей строки и подбирает оптимальные параметры бина-
ризации для каждого фрагмента по отдельности. В результате
оказывается, что часть символов в конце строки получилась
слишком светлой и могла бы быть «потеряна» при обработке
обычной OCR-программой, но в результате применения адап-
тивной бинаризации все слова будут выделены точно. При не-
правильном выборе параметров бинаризации слово окажется
«нечитаемым».
Уровни «слово» и «символ». Распознаватели символов
(классификаторы)
Разделив строку на отдельные слова. FineReader приступает
к обработке символов. Разделение слов на символы и собствен-
но распознавание букв, как и все остальные механизмы много-
уровневого анализа документа, реализованы в виде составных
частей единой процедуры. Это позволяет в полной мере исполь-
зовать преимущества принципов IPA. Выделенные изображения
символов поступают на рассмотрение механизмов распознава-
ния букв, называемых классификаторами.
В системе ABBYY FineReader применяются следующие
типы классификаторов: растровый, контурный, приз-
4.1. Оптическое распознавание символов (О( R)
193
на ко вы и, структурный, п р и з и а к о в о - д и фф е рен-
и и а л ь н ы и и с 1 р у к т у р н о - д и ф ф с р е н и и а л ь н ы й.
Растровый классификатор. Классификатор сравнивает сим-
вол с набором эталонов. поочередно накладывая изображения
друг на друга. Эталонами в данном случае выступают специаль-
но подготовленные изображения; каждое из них объешнясз в
себе очертания множества вариантов написания того или иного
символа. Гипотезы вь двигаются в зависимости от того, с каки-
ми эталонами точнее совпало изображение буквы. Сами этало-
ны строятся метолом наложения друг на трута большого коли-
чества одних и тех же букв в разных вариантах начертания
(рис 4.7, д).
Контурный классификатор. Представляет собой разновид-
ность признакового классификатора. От вышеописанного отли-
чается тем. что признаки вычисляются не по полному нзображе
нию символа, а по его контуру (рис. 4.7. о). Этот быстродейст-
вующим классификатор пре (назначен для распознавания текста,
набранного декоративными шрифтами (например, стилизован-
ного пол готический, старорусский сзить и т. и.).
Признаковый классификатор. Аналогичен растровому (выдви-
гает гипотезы, исходя и з степени совпадения параметров симво-
ла с эталонными значениями). Оперирует определенными чи-
словыми признаками, такими, например, как длина периметра,
количество черных точек в разных областях или вдоль различ-
ных направлении и т. п. (рис. 4 7. в). Весьма популярен у разра-
ботчиков OCR-систем. В определенных условия, способен рабо-
тать почти так же быс гро, как растровый. Точность работы при-
знакового классификатора во многом зависит от качества
признаков, выбранных для каждого символа. Под качеством
признаков в данном случае понимается их способность макси-
мально точно, но без избыточной информации охарактеризовать
начертание бхквы.
Структурный классификатор. Первоначально был создан и
использовался для распознавания рукописного текста, однако в
последнее время применяется и для обработки печатных доку-
ментов. Этот классификатор проводит структурный анализ сим-
вола, расклазывая последний на элементарные составляющие
(отрезки, дуги, окружности точки) и формируя точную схему
анализируемого знака (рис. 4.7. г).
Затем полученная схема (структурное описание буквы) срав-
чиваезся с эталоном. Этот классификатор работает медленнее
194
Глава 4. Информационные кросс-технологии
ААЛЛАААЛАААААЛАА
а АААААААААДААПЛАА
АААААААААААААААА
=;iz:zx=;ts Результаты. = = "~i?s=s
Выбранен йарийнт: fi
1 120.750
2 1.000
3 242.750
Ч 16,000
5 *2Ч.С06
£ 0.003
7 г.ее©
8 152.2S0
3 6.000
IS -126.750
1.112 0.083 5.407
1.060 0.080 6.013
11.I4G -6.001 0 639
0.3SS 0.661 4.156
“0.244 -6.001 0.003
0.606 0.157 П.345
О.ООО 6.019 1.315
G.85S -0.332 22.540
0.680 0.006 0.080
-8 S31 -6.338 23.814
Итого s 68 -> й
Сзоб. член - 6.048
Рис. 4.7. Распознавание символов: а — растровые эталоны буквы «А»; б — контурные
эталонов буквы «А»: е — изображение буквы для признакового классификатора, опре-
деляющего определенные признаки (например, количество серого в какой-либо точке
буквы); г — пример обучения структурного классификатора (заметен «скелет» буквы
«А»); д - пример работы признаково-дифференциального классификатора. Чтобы
верно выбрать одну из похожих букв («D» и «О»), классификатор вычисляет признак
(наклон линии в ключевой зоне): е — пример работы структурно-дифференциального
классификатора чтобы выбрать одну из похожих букв (сочетание «А» и «А»), срав-
нивается структура букв, обращая особое внимание на внешний профиль
Ширина 27
Высота * 38
Протокол оычистения признаков: =========;=
4.1. Оптическое распознавание символов (OCR)
195
растрового и признакового, но от тичается высокой точностью.
Более того, он способен «мысленно» восстанавливать не пропе-
чатанные или залитые символы.
Признаково-дифференциальный классификатор. Предназначен
для различения похожих друг на друга объектов, таких, напри-
мер, как буква «пт» и сочетание «гп». Принципиальное отличие
этого классификатора от описанных выше заключается в том.
что он не анализирхет все изображение. Дифференциальный
классификатор обращается только к тем частям объекта, где мо-
жет находиться ключ к правильном} ответу. В случае с «пт» и
«гп» ключом служит наличие и ширина разрыва в месте касания
предполагаемых букв. Признаково-дифференциальный класси-
фикатор используется во многих системах распознавания симво-
лов (рис. 4.7. д').
Структурно-дифференциальный классификатор. Аналогичен
структурному; был разработан и первоначально применялся для
обработки рукописных текстов. Как и признаково-дифференци-
альный, этот классификатор решает задачи различения похожих
объектов, но работает на порялок точнее (за счет анализа струк-
туры) и способен «узнавать» искаженные знаки (рис. 4.7, е).
В самых общих чертах процесс обработки символа выглядит
так: растровый и признаковый классификаторы анализируют
изображение и выдвигают несколько гипотез относительно
того, какая буква им представлена. Следует заметить, что при
выдвижении каждой гипотезе присваивается определенная
оценка (так называемый вес гипотезы). В результате работы
растрового и признакового классификаторов система получает
список гипотез, отсортированный по весу (т. с. по степени уве-
ренности).
Затем, в соответствии с принципами IPA, FineReader при-
ступает к целенаправленной проверке имеющихся гипотез с
помощью дифференциального признакового классификатора.
В тех случаях, когда требуется различить два похожих симво-
ла (например. «I» и «1»), к анализу подключается дифферен-
циальный структурный классификатор. В самых трудных си-
туациях задействуют структурный классификатор. Построив
полную схему распознаваемого знака и проанализировав се на
предмет наличия ключевых элементов структуры, этот класси-
фикатор изменяет веса гипотез в соответствии с результатами
своей работы.
196
Глава 4. Информационные кросс-технологии
С уровня «СИМВОЛ» до уровня «слово».
Структурирование гипотез
На каждом логическом уровне документа выдвигается ряд
гипотез. Каждая из них на следующем уровне порождает еще не-
сколько предположений. Поэтому при распознавании букв
FineReader оперирует множеством гипотез, учитывающих воз-
можные варианты деления строки на слова, слова на буквы,
и т. д. Для быстрого и точного принятия решений система объе-
диняет гипотезы в многоуровневые структуры — модели. Суще-
ствуют следующие типы моделей слова: словарное слово, несло-
варное слово (для каждого из поддерживаемых языков распозна-
вания построены соответствующие разновидности), e-mail или
URL, цифры с префиксом или суффиксом, регулярное выражение
и т. д. В результате структурирования количество подлежащих
проверке гипотез сильно сокращается, так что последующая
проверка происходит максимально быстро и эффективно.
Рассмотрим процесс структурирования на примере слова
«turn» (рис. 4.8). Предположим, при разделении слова на симво-
лы было выдвинуто две гипотезы: первая соответствует прочте-
нию «turn», вторая — «turn». Классификаторы, обработав симво-
лы, в свою очередь предложили для каждой буквы обоих слов
некоторый ряд гипотез. Последние, как мы помним, обычно
сортируются по весу. Следующий шаг кажется очевидным — те-
перь надо выбрать гипотезы с максимальным весом. Однако да-
леко не всегда наиболее вероятная гипотеза в итоге оказывается
истинной. Лучший способ принять правильное решение — пе-
turn
Рис. 4.8. Гипотезы о разделении слов на буквы
(English 1)
(English 2)
(Кириллица)
(Цифры)
4.1. Оптическое распознавание симвошв (OCR)
197
рейти на уровень «слово» и путям нескольких проверочных one
раций выяснить, какой из вариантов больше остальных похож
на правильный.
В рассматриваемом примере произойдет следукЯйее: контек-
стная проверка покажет, что весь текст состоит из английских
слов, и вес мотелей «слово — английский язык» шачительчо
увеличится, а моделей «слово кириллица» соответственно
уменьшится. Mo.ie.ib «цифры» также останется позади в силу
крайне малого суммарного веса составляющих гипотез. Затем
словарная проверка подтвердит, что в словаре английского язы-
ка слова «шт» нет, a «turn» - есть. Сле .оватсльно, гипотеза от-
носительно слова «Шгп» приобрети cine больший все, что позво-
лит ей в дальнейшем оказаться «победителем». Заметим, что «ав-
торитет» словаря значительно выше, нежели у побого
классификатора, поэтому в данном примере даже при полно-
стью слившихся буквах г и п итоговое решение будут принято
правильно.
С уровня «строка» до уровня «страница».
Формирование электронного документа
Итак, все слова текстового блока распознаны. Пользуясь ин-
формацией. полученной при анализе структуры документа,
ABBYY FineReader расставляет слова по местам. Из образую-
щихся при этом строк формируются текстовые блоки, размещае-
мые на странице в точном соответствии с оригиналом. Когда
формирование документа завершено, система обращается к
пользователю за подтверждением — правильно ли распознана
страница (рис. 4.9)9
Никакое программное обеспечение оптического распознава-
ния символов никогла нс распознает 100 % сканированных сим-
волов. В большинстве случаев количество допускаемых Fine-
Reader ошибок не превышает 1—3 на страницу при среднем ка-
честве оригинального документа. Исправить пару специально
подсвеченных ошибок, конечно, существенно проще и быстрее,
чем перепечатывать и форматировать весь документ целиком.
В результате пользователь подумает точную электронную ко-
пию страницы; при необходимости ее можно отредактировать
либо сохранить «как есть». Специньный молхль программы мо-
жет экспортировать результат практически в любои из совремсн-
198
Глава 4. Информационные кросс-технологии
Рис. 4.9. Оригинал документа (а); после распознавания (5)
ных форматов электронных документов. Для сохранения текста
удобен формат Microsoft Word, а если исходный документ пред-
ставлял собой таблицу, то вполне резонно сохранить электрон-
ную копию в формате Microsoft Excel. Если же статью предпола-
гается опубликовать в сети Интернет, можно использовать фор-
мат HTML или PDF.
4.2. Системы распознавания речи
Теоретически машинное распознавание речи, т. е. ее автома-
тическое представление в виде текста, является крайней степе-
нью сжатия речевого сигнала.
Процесс распознавания речи (STT — speech-to-text) в по-
следние годы сделал гигантский скачок вперед. В наибольшей
мере его стимулирует отнюдь не желание разработчиков создать
пользовательские суперудобства, а существование специфиче-
ских областей компьютеризации, где голосовые команды явля-
ются наиболее приемлемым или даже единственно возможным
4.2. Системы распознавания речи
199
решением К ним относятся телефонный доступ к автоматиче-
ским справочным системам, управление удаленным компьюте-
ром или мобильным портативным устройством, осуществляемое
во время движения.
Принципы распознавания речи
Системы распознавания речи обычно состоят из двух компо-
нент, которые могут быть выделены в блоки или в подпрограм-
мы — акустической и л и н г в и сти ч ес кой. Лингвистиче-
ская часть может включать в себя фонетическую, фоно-
логическую, морфологическую, синтаксическую
и семантическую модели языка. Акустическая модель
отвечает за представление речевого сигнала Лингвистическая
модель интерпретирует информацию, получаемую от акустиче-
ской модели и отвечает за представление результата распознава-
ния потребителю.
Акустическая модель. Существуют два подхода к построению
акустической модели: изобретательский и бионический. Оба
подхода имеют свои достоинства и недостатки Первый базиру-
ется на результатах поиска механизма функционирования аку-
стической модели. При втором подходе разработчик пытается
понять и смоделировать работу естественных систем
Лингвистическая модель Лингвистический блок подразделя-
ется на следующие слои (уровни); фонетический, фонологиче-
ский, морфологический, лексический, синтаксический, семан-
тический. Все уровни содержат априорную информацию о
структуре естественного языка, а. как известно, любая априор-
ная информация об интересующем предмете увеличивает шансы
принятия верного решения. Поскольку естественный язык несет
весьма сильно структурированную информацию, для каждого
естественного языка может потребоваться своя уникальная лин-
гвистическая модель (отсюда трудности русификации сложных
систем распознавания речи зарубежной разработки).
В соответствии с данной моделью на первом (фонетическом)
уровне производится преобразование входного (для линз диети-
ческого блока) представления речи в последовательность фонем,
как наименьших единиц языка. Считается, что в реальном рече-
вом сигнале можно обнаружить лишь аллофоны — варианты фо-
нем, зависящие от звукового окружения.
200
Глава 4. Информационные кросс-технологии
На следующем (фонологическом) уровне накладываются ог-
раничения на комбинаторику' фонем (аллофонов) — не все соче-
тания фонем (аллофонов) встречаются, а те, что встречаются,
имеют различную вероятность появления, зависящую еше и от
окружения. Для описания этой ситуации используется математи-
ческий аппарат цепей Маркова.
Далее, на морфологическом уровне оперируют со слогопо-
добными единицами речи более высокого уровня, чем фонема.
Иногда они называются морфемами. Они накладывают ограни-
чение уже на структуру слова, подчиняясь закономерностям мо-
делируемого естественного языка.
Лексический уровень охватывает слова и словоформы того
или иного естественного языка, т. е. словарь языка, также внося
важную априорную информацию о том, какие слова возможны
для данного естественного языка. Семантика устанавливает со-
отношения между объектами действительности и словами, их
обозначающими. Она является высшим уровнем языка. При по-
мощи семантических отношений интеллект человека производит
как бы сжатие речевого сообщения в систему образов, понятий,
представляющих суть речевого сообщения.
Российская компания «ИстраСофт» известна пакетом для
обучения английскому языку с визуальным контролем произно-
шения «Профессор Хиггинс». Развивая «Хиггинса», сотрудники
«ИстраСофт» совершили технологический прорыв, значение ко-
торого трудно переоценить: они научились членить слова на эле-
ментарные сегменты, соответствующие звукам речи, независимо
от диктора и от языка (Существующие системы распознавания
речи не производят сегментации, наименьшей единицей для них
является слово.) Демонстрация новой технологии выглядит пока
не очень эффектно: это всего-навсего упаковка и распаковка
звуковых файлов с записью речи — правда, с высокими коэффи-
циентами сжатия. Если файл был сжат сильно, то после распа-
ковки в нем появляются отчетливо слышные границы между
сегментами; использованию программы по прямому назначению
они, конечно, мешают, но специалисту позволяют убедиться в
правильности членения.
В соответствии с этим решение задачи речевых технологий
можно представить в виде схемы рис. 4.10.
В основе алгоритма лежит выделение фонем из потока слит-
ной речи в режиме реального времени, их кодирование и после-
дующее восстановление, однако у разработчиков нет единого
4.2. Системы распознавания речи
201
Рис. 4.10. Комплексный алгоритм речевых технологий
мнения о том, что считать фонемой при машинной обработке
речи. Способ, предложенный фирмой «ИстраСофт», попускает
сжатие речи в 200 раз, причем при сжатии менее чем в 40 раз ка-
чество сигнала практически не падает
Чтобы создать основанную на новой технологии систему
распознавания, необходимо «привязать» сегментацию к кон-
кретному языку с помощью двух словарей — «звукового», сопос-
тавляющего реальным звукам речи определенные фонемы, т. е.
смыслоразличительные единицы (на слух мы, как правило, вос-
принимаем именно фонемы родного языка, нс замечая различий
между их вариантами, обусловленными, например, позицией), и
«фонетико-орфографического», который будет переводить фо-
немную запись в письменную. Принципиально ничего сложного
здесь нет: это вполне рутинная, умеренно трудоемкая техниче-
ская задача.
Интеллектуальная обработка речи на уровне фонем перспек-
тивна не только как способ сжатия, но и как шаг на пути к соз-
данию нового поколения систем распознавания речи.
Практическая реализация. Многие научные центры, в том
числе и в нашей стране, брались за решение этой проблемы
(фундаментальные исследования теории языка, которые велись в
1970-х гг. в СССР, легли в основу многих современных продук-
тов), но первый серьезный прорыв в области речевых техноло-
гий удалось сделать только в 1986 г. б Defense Advanced Research
Project Agency (DARPA) — Агентстве перспективных исследова-
ний Министерства обороны США.
202
Глава 4. Информационные кросс-технологии
Успех связан с тем, что ученые решили уменьшить число фо-
нетических структур, предлагаемых распознающему устройству.
Для реализации этой задачи они применили так называемую
«скрытую марковскую модель» (Hidden Markov Model — HMM),
основанную на свойстве марковской цепи генерировать последо-
вательность определенных детерминированных символов при пе-
реходах между некоторыми состояниями вероятностного характе-
ра (в марковском процессе параметры системы зависят только от
предыдущего состояния и «не помнят» более глубокой предысто-
рии). Имея последовательность символов, сгенерированную мар-
ковской моделью, можно однозначно восстановить породившую
ее последовательность состояний, но лишь только при том усло-
вии, что каждый символ соответствует одному состоянию.
В процессе цифровой обработки речевой сигнал подвергает-
ся сначала логарифмическому, а затем обратному преобразова-
нию Фурье, в результате чего отыскивается с десяток первых ко-
эффициентов, несущих наиболее существенную информацию об
огибающей спектральной характеристики сигнала. Собственно,
современные развитые коммерческие программы распознавания
речи и отличаются именно способом реализации механизма вы-
бора из встроенной (или созданной пользователем) базы данных
наиболее вероятного набора фонем (минимально значимых эле-
ментов, из которых состоит слово).
На первом этапе компьютер записывает звук речи в виде
цифровой аудиопоследовательности и делит ее на фрагменты
длительностью несколько миллисекунд. Программа сравнивает
эти аудиофрагменты с записанными в память речевыми образ-
цами. Качество базы данных образцов является наиболее важ-
ным условием для безошибочного распознавания речи. Она со-
держит фрагменты речи различных людей с разными особенно-
стями произношения, такими, как снижение звука, диалект,
выделение слогов и произношение. Эта часть системы распо-
знавания речи называется системой, не зависящей от
говоря щего.
Систему, не зависящую от говорящего, дополняет систе-
ма распознавания говорящего. В основе последней ле-
жит понятие фонемы — наименьшей акустической единицы
языка. В процессе тренировки программное обеспечение распо-
знает наиболее важные признаки произношения пользователем
фонем и записывает полученные данные в виде профиля говоря-
щего. Очень важно, чтобы в дальнейшем во время диктовки
4.2. Системы распознавания речи
203
пользователь по возможности точно выдерживал ме 10дию речи
и произношение.
В системе распознавания говорящего при определении «со-
мнительных слов» используется тот факт, что после определен-
ного слова могут следовать (и имеют при этом смысл) тишь не-
многие конкретные слова. Владельцам мобильных телефонов
этот способ знаком по SMS-coo&uXghwim, при наборе которых
нужное слово предлагается автоматически.
Л. ассификация систем распознавания речи.
Классификация по назначению:
• командные системы:
• системы диктовки текста.
По по грабительским качествам:
• диктороориентированные (тренируемые на конкретного
диктора):
• гикторонезависимые:
• распознающие отдельные слова:
• распознающие слитную речь.
По механизмам функционирования:
• простейшие (корреляционные) детекторы;
• экспертные системы с различным способом формирования
и обработки базы знаний;
• вероятностно-сетевые мотели принятия решения, в том
числе нейронные сети.
Разумеется, относительно проще реализовать программу,
способную распознавать только ограниченный, совсем неболь-
шой набор управляющих команд и символов. Это, например,
могут быть цифры ог 0 до 9. слова «да», «нет», односложные ко-
манды типа «открыть», «закрыть», «выйти» и т. п. Такие про-
граммы появились первыми и уже давно применяются в компь-
ютерно! телефонии для голосового набора телефонного номера
или выбора пункта меню. Если в словарь добавить названия
букв алфавита. то. в принципе, по буквам можно продиктовать и
любое слово или название — например, при заказе битста таким
путем можно ввести станцию назначения.
Подобные системы могут похвастаться тем. что распознава-
ние происходит без предварительной настройки под конкретно-
го пользователя, г. с. они независимы от ликтора
(speaker-independent). Применение их для получения автомати-
ческой справки и генерации запросов к базам данных позволяет
компаниям высвободить большое количество сотрудников, обес-
204
Глава 4. Информационные кросс-технологии
печить круглосуточный доступ к информации, причем зачастую
появляется возможность дополнительно расширить сферу пре-
доставляемых услуг.
Помимо этого, системы с распознаванием ограниченного
набора слов могут применяться и для голосового управ-
ления компьютером, а через него и другой техникой.
Можно предусмотреть и добавление в базу данных индивидуаль-
ных макросов пользователя. При ограниченном словаре также
легче реализовать систему распознавания слитной речи, характе-
ризующейся отсутствием специальных пауз между словами.
Точность распознавания, как правило, повышается при
предварительной настройке на голос конкретного пользователя,
причем этим способом можно добиться распознавания даже то-
гда, когда говорящий имеет дефект речи или акцент. Все бы хо-
рошо, ио длительное только в том случае, если предполагается
индивидуальное применение ПО одним пользователем, в край-
нем случае — небольшой группой пользователей, для каждого из
которых создается свой индивидуальный «профиль».
Программы для диктовки текстов (еще одно очевид-
ное применение функции распознавания речи) первоначально
могли понимать только так называемую «раздельную» речь, в
которой после каждого произнесенного слова требовалось сде-
лать небольшую паузу. Такая манера говорить неестественна —
в процессе обычного человеческого разговора интенсивность
звука практически никогда не падает до нуля (в этом можно
убедиться, разглядывая спектрограммы).
Распознавать диктовку текстов общей тематики, выполняе-
мую в манере слитной речи, коммерческие программы научи-
лись только в 1997 г. Разумеется, что словарь подобных пакетов
обслуживает так называемую общую тематику и охватывает
лишь небольшую часть всей лексики. Значительная часть поль-
зователей этим словарем нс ограничивается и подключает еще
специализированные (технические, медицинские, юридические
и другие) словари.
Впрочем, на качество распознавания влияет даже манера ве-
дения разговора — непринужденную беседу с относительно не-
большим количеством используемых лексических единиц запро-
токолировать гораздо сложнее, чем размеренный диктант. Про-
блема заключается, в основном, в вариативности и наличии
большого количества различных смысловых оттенков у самых
простых конструкций. Тяжелее всего распознаются короткие
4.2. Системы распознавания речи
205
слова, в результате по сравнению с многосложными частота
ошибок при их обработке несравненно больше.
Серьезнейшая проблема — олно-двухбуквенные слова. За-
ставить компьютер различать английские «а» и «ап» можно,
только обращаясь к контексту всей фразы. Расшифровка дик-
тофонных записей, компьютерное стенографирование конфе-
ренции и обсуждений — задача, к решению которой создатели
ПО для распознавания речи только приблизились. По заявле-
ниям разработчиков компаний Dragon Systems, IBM и
Lernout&Hauspic. компьютер (при непрерывной диктовке) спо-
собен правильно распознавать до 95 % текста, а меж тем из-
вестно, что для комфортной работы точность распознавания
требуется довести до 99 %.
Требования к оборудованию. Вначале системы для распознава-
ния речи реализовывались, как правило, на специализирован-
ном оборудовании и соответствующих платформах. В силу того,
что требования, предъявляемые к обработке речи в реальном
времени, высоки, слабые центральные процессоры быти не в
силах взять на себя подобную задачу Основой компьютерного
распознавания речи являлось применение предварительной
цифровой обрабо!ки сигналов на внешних платах. Произвотиге-
ли ПО для распознавания речи, даже перейля на однопроцессор-
ные компьютеры, некоторое время продолжали применять спе-
циальные звуковые Kapibi и микрофоны. Например, популярная
программа KurzWeil Voice недавно требовала в обязательном по-
рядке «свою» звуковую карту.
Модульные системы компьютерно-телефонных средств рас-
познавания голоса, выполненные в виде плат расширения для
компьютера, включают специализированные процессоры циф-
ровой обработки звуковых сигналов (Digital Signal Processor или
DSP), берущие на себя ряд операции нижнего уровня и позво-
ляющие снизить требования к быстродействию основного про-
цессора. Например, плата распознавания речи VR/160, постав-
ляемая фирмой Dialog.с, поддерживает .о 16 каналов одновре-
менно, причем она прекрасно работает совместно с процессором
DX-486. Dialogic выпускает и более мошныс чстырехпронессор-
ные платы Antares с большим объемом оперативной памяти.
Работа в зашумленных помещениях также, разумеется, ока-
зывает самое негативное влияние на качество распознавания.
Каждый микрофон имеет свой особый «профиль», поэтому про-
грамму требуется «обучить» не только работе с конкретным Поль-
206
Глава 4. Информационные кросс-технологии
зоватслсм. но и с конкретным обору юванисм. Подключенному к
компьютеру диктофону тоже потрсбчстся свой «профиль». Спе-
циальные аикротелефонныс гарнитуры поставляются вместе с
известными программами распознавания речи — Via Voice Gold
корпорации IBM Research, Natural! Speaking Preferred фирмы
Dragon Systems и Voice Xprcss (Lernout&Hauspie Speech Products).
На работу с диктовочными программами накладываются и
дополнительные ограничения. В большинстве случаев трудно
обойтись без 1арнш\ры с микрофоном. Правда, рациомикцофо-
ны допускают больший радиус действия, однако для контроля
результатов пользователь должен видеть экран ПК.
Программное обеспечение, применяемое за рубежом
Функцию распознавания речи IBM не только встроила в
свою операционную систему OS/2 Warp 4. известную под кодо-
вым названием Merlin (конец 1996 г.), но и выпускает в качестве
отдельного продукта. Пакет IBM для распознавания слитной
речи Via Voice (www.ibm.com/viavoice) отличается своей способ-
ностью с самого начала, без обучения, распознавать до 80 %
слов. При обучении вероятность прави. шного распознавания по-
вышается до 95 %, причем параллельно с настройкой программы
на конкретного пользователя происходит освоение будущим
оператором навыков работы с системой Небезынтересно, что.
рекламируя этот пакет. IBM утверждает, будто средняя машини-
стка набивает примерно 80 слов в минуту, a Via Voice достигает
скорости 150 слов в минуту.
Dragon Dictate Naturally Speaking (Ньютон, шт. Массачусетс.
www.drag-onsys.com> — первый коммерческий продукт для рас-
познавания слитной речи, вышедший в начале 1997 г Позволяет
непосредственно диктовать в программы Word, WordPerfect,
Netscape Navigator. Internet Explorer и приложения, причем ему
доступен богатый набор управляющих команд. Пользуясь только
голосом, можно исправлять и переставлять слова, выделять текст
и лаже менять размер шрифта и позиционировать курсор с абсо-
лютной точностью. Первоначальная настройка на конкретный
голос пользователя является обязательной, но программа спо-
собна обучаться и в процессе дальнейшего диктанта; рабочее ка-
чество распознавания может быть достигнуто спустя примерно
пару недель пользования системой.
4.2. Систе иы распознавания речи
207
L&H Speech Products (Берлингтон. шт. Массачусетс,
www.lhs.com) в 1997 г. приобрела KurzWeil Applied Intelligence,
основатель которой (Реи Курцвайль) стал в L&H главным техни-
ческим руково ителем. Посте этого фирма получила инвестиции
от Microsoft, а затем выпустила Voice Commands — программу
для голосового управления с развитыми возможностями. Не-
сколько позже эта компания создала и свою систему распознава-
ния речи Voice Xpress Plus, которая по качеству' распознавания
незначите 1ьно уступает Dragon Dictate Naturally Speaking, но
зато при работе с офисными программами (например, с Word)
реализует более «естественный» интерфейс (можно потавать ко-
манды вроде «изменить шрифт последнего предложения на
Anal» или «сложить эту колонку цифр»).
Программное обеспечение для распознавания речи фирмы
Nuance Communications использует крупнейшая в Канаде дис-
контная брокерская контора Toronto Dominion, запустив в экс-
плуатацию службу Green Line Investors, позволяющую абонентам
получать по телефону информацию о биржевых котировках.
Вводятся особые пользовательские «профили», на основе кото-
рых система определяет, например, следу с, ли зачитывать дан-
ному абоненту краткую или по дробную информацию.
Программу распознавания речи Natural Dialogue System фир-
мы Philips Speech Piocessing (Вена, Австрия, www.speech.be.
philips.com) использует первая канадская система автоматических
«желтых страниц» (1оронто). предоставляющая информацию о
местных ресторанах и способная по желанию абонента соеди-
нить его с выбранным заведением.
Она же исполь уется швейцарской железнодорожной компа-
нией Swiss Railways. Предусмотрена возможность самообучения
системы во время эксплуатации Из запросов, требующих слож-
ного «восприятия речи» (вроде «Я бы хотел попасть из Женевы в
Цюрих через Берн»), выделяются ключевые слова — названия
станнин, предлоги «из», «в», «через» — и на основании наиболее
правдоподобного варианта строи 1ся обращение к базе данных.
Авиакомпания Lufthansa своим потенциальным пассажирам
предлагает автоматическое расписание своих рейсов, а радио-
станция Radio Luxembourg — про.1 ноз not оды по туристическим
маршрутам всего мира.
Немецкая служба сотовой телефонной GSM-связи Dutch
РТТ внедрила систему обработки речи Voice Dialing, разработан-
ную американской ко шанией Glcnayrc, что обеспечивает нс
208
Глава 4. Информационные кросс-технологии
только голосовой набор телефонного номера, но и выполнение
необходимых команд и возможность программирования до 40
наиболее часто набираемых телефонных номеров. В результате
стало возможным звонить прямо во время движения автомоби-
ля, не отвлекаясь от управления.
Программы от IBM и Dragon Dictate используются в наде-
ваемых компьютерах (wearable PC) компании Xybcrnaut
(www.xybernaut.com). Эти устройства весом всего 795 г использу-
ются. например, американскими таможенниками, несущими
службу на границе с Мексикой. Стражи порядка проверяют но-
мера проезжающих автомобилей, сверяясь с удаленными цен-
тральными правоохранительными базами. Правда, служащие та-
можни жалуются на проблемы с распознаванием, возникающие
при сильном ветре.
IBM уже давно использует технологию распознавания речи
для своих внутренних задач, а сейчас выпускает средства созда-
ния автоматизированных речевых агентов, способных распозна-
вать называемые телефонными абонентами имена людей и на-
звания организаций и соединять их с соответствующими номе-
рами. Объем каталога имен может достигать 200 тыс. записей.
Фирма Language Force (www.lan-guageforce.com) на основе
технологии распознавания речи Via Voice разработала автомати-
ческий переводчик Universal Translator Deluxe, позволяющий
устную английскую речь переводить на 33 различных языка, в
число которых входят арабский, китайский, японский, корей-
ский, испанский, немецкий и иврит.
Достижения компьютерной обработки речевых сигналов мо-
гут применяться не только для того, чтобы вести беседы по мо-
бильному телефону, — ряд парламентариев стран Западной Ев-
ропы добиваются контроля над центром прослушивания Мен-
вич-Хилл Агентства национальной безопасности (АНБ) США,
расположенным в Англии, недалеко от Йоркшира. Первоначаль-
но центр, созданный при поддержке британской разведки MI 5,
предназначался для анализа информационного трафика из
СССР, но ныне, как следует из отчета технической службы Ев-
ропарламента, осуществляет перехват всех европейских телефон-
ных разговоров, факсов и электронной почты. Система распо-
знавания речи используется лля выделения ключевых слов, при
наличии которых автоматически включается запись разговора с
последующим ее перенаправлением для проверки в американ-
ское отделение АНБ.
4.2. Системы распознавания речи
209
На текущий момент ПО для распознавания речи работает
только с английским языком, качественная поддержка русскою
пока что не достигнута. Однако командовать компьютером мож-
но хоть сейчас, а для того, кто имеет дело с англоязычными тек-
стами каждый день, подобное ПО окажется полезных:
Таблица 4.1. Характеристики некоторых образцов программных средств
обработки речи
Программный продукт Характеристики
Пользователю предлагается откалибровать уровень звука из микрофона и
«диктовать компьютеру ряд уже готовык текстов для более тонкой под-
стройки Dragon Naturally Speak,ng под тембр, интонацию и произношение.'
Не меньшее значение имеет и собственный акцент диктора такой ур эвень
английского, который, например, звучит на разнообразных международных
научных конференциях, в принципе, не пригоден для работы. С другой сто-
роны, всегда есть возможность самообучения. если Dragon никак не хочет,
распознавать какое-то слово, не поленитес I заглянуть в Lingvo и произне-
|сти его с учетом правильной транскрипции. Возможны и действия вроде
распознавания текстового содержимого wav-файла. Кроме того, Dragon,
Naturally Speaking умеет запускать различные программы, переключаться’
Dragon Naturally Speaking между ними и даже управлять рядом их функций (например, начинать/при-
7.0 Preferred (разработчик останавливать воспроизведение музыки в медиапроигрывателе или напря-'
ScanSoft) мую работать с меню). В состав версий Preferred и Professional дополни-
тельно входит собственный речевой драйвер Real-Speech 2, один из наибо-
лее совершенных на сегодня. Надиктовг вать текст можно не только в
текст-процессоре DragonPad. но и в любом другом аналогичном приложе-'
нии MS Word. Outlook Express. Internet Ex-plorer и Corel WordPerfect. С та-
ким же успехом программа работает и с ICQ, сетевым чатом (Network
Assistant) и прочими instant messengers. В более специализированных при-
ложениях, в частности в том же Word, применяются дополнительные коман-
ды: форматир'л.ание текста прааописание, редактирование - и все исклю-
чительно за счет устной речи. Если же стандартного набора приказов сказа-
лось мало, всегда можно создать собственные, тем самым еще более
расширив функциональность Dragon
Intelligent Voice Recognition
System (IVOS) 2.0.2A (раз-
работчик ComunX)
IVOS позволяет: а) распознава’ь речь и преобразовывать ее в текст в лю-
бом Windows-совместимом текст-процессоре; б управлять своим ПК с по-
мощью разнообразных голосовых команд, а также создавать свои собст-
венные: в) озвучивать электронные книги с помощью внешних голосовых
движков. Извлечение текста из Wav-фаилов, удобная, не отягощающая эк-
ран панель управления программой и демократичная (по сравнению с тем
же Dragon) цена. После регистрации пользователю становится доступна
технология VoiceTouch, позволяющая обучать ПК вашим собственным уст-
ным приказам. IVOS, как и многие другие программы распознавания речи,
кроме Dragon, использует для таких целей модуль Speech API от Microsoft, и
ее результативность в данной области напрямую зависит от успехов этой
корпорации
210
Глава 4. Информационные кросс-технологии
Продолжение табл. 4.1
Программный продукт Характеристики I
Realize Voice 4.0 (Разра- ботчик Realize Software ' Corporation) Realize Voice, в отличие от Dragon Naturally Speaking, не очень приспособле-1 на к стенографированию (хотя такая функция в ее арсенале и имеется), зато I справляется с голосовыми командами. Глубоких знаний в области англий- ского не нужно - благодаря модулю эвристического анализатора програм-, ма без особых проблем найдет общий язык практически с любым дикто-! ром. Спектр функций Realize Voice довольно широк - от запуска исполняе- мых файлов и ярлыков программ до работы с корреспонденцией и сложными макросами. Как и в остальных подобных программах, от пользо- вателя требуется лишь подключенный микрофон и пара минут для того, чтобы вникнуть в курс дела. А перед тем как приступить к собственно обще- нию с утилитой, стоит обозначить ей фронт работ. По умолчанию в эту ка- тегорию попадают ярлыки системного меню, Рабочего стола, содержимое папки Избранное и панели быстрого запуска, а также недавно открытые до- кументы и программы. Весь процесс полностью автоматизирован и выпол- няется буквально мгновенно. Правда, некоторые неудобства вызывает не- возможность использования в названии команд цифр. Утилита позволяет объединять под одной командой целую серию операций - начиная от ввода символов с клавиатуры и системных команд до синтеза речи ,
Voice Studio 1.4.6 (Разра- ботчик Ultimate Interactive Desktop) Одна из немногих программ, где виртуальный собеседник по ту сторону монитора обрел видимую форму. И хотя технологию MS Agent, которая ис- пользуется для данных целей, пока трудно назвать прообразом искусствен- ного интеллекта, все предпосылки для этого у нее есть. Анимированный по- мощник не только наделен некоторой долей самостоятельности, но и умеет отвечать на ряд стандартных фраз (вроде «Hello!», «How do you feel», «Bad computer» и т. д.). При желании его словарный и фразеологический запас легко пополнить, а кроме того, задать его действия в зависимости от «на- строения». Хотя подобная болтовня с ПК и будет ограничена рамками зна- ний программы, никто не мешает расширить их практически до бесконеч- ности. Функциональность Voice Studio - стенографирование, разнообраз-1 ные голосовые команды (для большего удобства и быстрейшего! запоминания их можно распечатать), а также приемлемый машинный син-1 тез речи. Создание макросов для запуска сразу серии операций с помощью | одного ключевого слова, даже запись и воспроизведение движений мыши. ! Это широко используется во многих альтернативных браузерах вроде GreenBrowser или MylE2 для выполнения ряда действий (переход на другую страницу, открытие нового окна и т. д.). Достаточно произнести соответст- вующую команду, и компьютер автоматически воссоздаст записанный ра- нее скрипт
Dictation 2004 v.4.5.2399 (Разработчик United Research Labs) В первую очередь, это технология Pomt-and-Speak, позволяющая с легко- стью создавать команды для ввода паролей, запуска ПО и диктовать прак- тически во всех Windows-приложениях. Заявлена интеграция с MS Word, 1 а также интеллектуальная технология правильного определения фраз. I Правда, реализована она неудобно - в виде всплывающего окна, которое | появляется при каждом сказанном слове. Dictation 2004 использует SAPI 5.1, так что качество ее принципиально не отличается от другого ПО,
4.2. Системы распознавания речи
211
Окончание таб ?. 4. /
Программный продукт Характеристики
основанного на той же технологии (Voxx, IVOS, Realize Voice и пр.). Из до-' полнительных функций стоит отметить WAV Recorder для захвата информа- ции с аудиокассет, мобильных устройств, микрофонов и гделедующеи за-' писи ее в wav-файлы, потом текст из них извлекается с помощью отдельно-' го апплета Dictation - Wave-to-Text
Voxx 0 Разработчик Voxx Support Team) Возможности программы напоминают IVOS (стенографирование/голосовые команды/чтение текста), за исключением того, что здесь есть полезный бо- нус - озвучивание каждого действия, будь то набор текста или открытие файла. Программа использует тот же Microsoft Speech API, что и IVOS, по- этому качество распознавания у нее аналогичное. Наличествует набор голо- , совых команд для навигации браузером, элементарных операций в тексто- вом редакторе (cut/copy/paste и т. д.), а также работы с окнами, имеются j ярлыки вызова системных апплетов, открытие/закрытие лотка оптического привода. Что же касается синтеза речи, то он напрямую зависит от соответ- i ствующих модулей, установленных в системе
В дополнение к программам диктования Dragon Systems и
IBM предлагают инструменты для разработчиков, желаюших
усилить мощность своих программ. Dragon предлагает
DragonDictatc, дискретный механизм распознавания языка, а
IBM — набор инструментов ViaVoice Developer Tools.
Dragon предлагает ряд опций для разработчиков, желаюших
использовать DragonDictatc. Во-первых. вы можете добавить к
Dragon Delate специальный словарь, используя любое приложе-
ние, включая Microsoft Excel или Word. Семейство программ,
именуемое DragonPro. содержит DragonBusiness, Dragon Extra
(журналистика). DragonLaw (юриспруденция), DragonMed (ме-
лицина) и DragonTech. Если вам нужно что-то еше более специ-
фическое, вы можете использовать Dragon SpeechTool, чтобы
разработать специальный словарь и эталоны произношения.
Вы можете использовать таблицу фонем и средства редакти-
рования для создания, добавления, изменения слов и их произ-
ношения. а также их удаления.
DragonXTools поддерживаш режимы 16-bit VBX и 32-bit OCX
для добавления голосовых параметров к существующим прило-
жениям. DragonXTools также поддерживает режим текст-речь
DgnTTS. что позволит придать голос вашим программам. Руко-
водство DragonXTools начинается с простого примера на языке
VB и показывает, как создавать программы на С, C++, Delphi,
Visual Basic и л. и. Руководство содержит большой объем доку-
212
Глава 4. Информационные кросс-техно.югии
мснтации по событиям, свойствам и процедурам, необходимым,
чтобы разговаривать с DragonDictate.
Вместе с DragonXTools пользователь получает также доку-
ментацию по DragonDictate Macro Language Guide & Reference,
языку, основанному на BASIC, который разработчики могут ис-
пользовать, чтобы добавлять команды к DragonDictate, DDE и
DLL для контроля за работой мыши, звуковых эффектов и т. п.
Отечественные разработки
К сожалению, распространенные зарубежные системы рас-
познавания речи русский язык не поддерживают. Правда, уже
упоминавшиеся птаты Dialogic в число используемых европей-
ских и некоторых азиатских языков включают и русский, но их
возможностей хватает только на речевой ввод телефонных номе-
ров и построение простейших голосовых меню. Намерение
включить поддержку русского языка в свои продукты неодно-
кратно выражали многие производи гели, в том числе и Dragon
Systems, ио дальше этих заявлений дело так и не пошло.
В этих условиях своеобразной сенсацией стал выход в 1997 г.
на коммерческий рынок знаменитого «Горыныча» — адаптации
Dragon Dictate Naturally Speaking, проведенной силами малоиз-
вестной до того российской компании White Group — официаль-
ного дистрибьютора Dragon Systems. Программа оказалась впол-
не работоспособной, а ее стоимость — весьма у меренной.
К сожалению, основой послужила уже устаревшая вторая
версия Dragon Dictate, не поддерживающая распознавание слит-
ной речи. Кроме того, программа требует длительной «трениров-
ки» и настройки на конкретного пользователя, очень капризна к
оборудованию, оолее чем чувствительна к интонации и скорости
произнесения фраз, возможности ее «обу 1ения» весьма разнятся
для различных голосов. Созданная для распознавания англий-
ской речи, программа не может учитывать всей специфики рус-
ского произношения.
По всей видимости, положение на отечественном рынке ПО
для распознавания речи (если вообще можно говорить о тако-
вом) напоминает недавнюю ситуацию с оптическим распознава-
нием текста. Только специализированные отечественные про-
дукты, изначально ориентированные именно на русский язык,
смогут по-настояшему решить ту задачу, что не по силам ни
4.2. Системы распознавания речи
213
«Горынычу», ни «Комбату» (еще один продукт той же фирмы
White Group)
Нс случайно литеры отечественного рынка программ OCR,
которыми являются ABBYY (BI Г Software) и Cognitive
Technologies, заявили о ведущихся ими в области распознавания
русской речи разработках. ABBYY работает нал проектом NIC.
связанным с естествснно-я исковой обработкой распознаваемых
текстов Пока же технология распознавания речи российскими
разработчиками при юняется в основном в интерактивных обу-
чающих системах и играх вроде «Мой говорящий словарь», «Talk
to Мс» или «Профессор Хиггинс», а нетыо их использования яв-
ляются контроль произношения у изучающих английский язык
и аутентификация пользователя. Еще одно остроумное примене-
ние технологии — распознавания речи — позволяет весьма ощу-
тимо сжимать файлы с диктофонными записями или послания-
ми звуковой почты.
Перспективы систем распознавания речи
Важная задача, которая стоит перед создателями речевых
технологий, — выработка единого стандарта на API-интерфейс
(Applications Programming Interface), который должен связывать
приложения и обеспечивать своевременную передачу управляю-
щих функций. Такой стандарт должен нс только позволять стро-
ить приложения на базе какой-либо распространенной операци-
онной системы, имеющей соответствующие встроенные функ-
ции (первой такой ОС стала OS/2 Warp), но и обеспечивать
переносимость систем распознавания речи на другие ОС.
ПО для распознавания сцитной речи, как правило, нс только
снабжается собственными текстовыми рс шкторами. но и спо-
собно встраиваться в популярные программы, среди которых MS
Word, Excel, Lotus Smart Suite Millennium Edition (Lotus
Development) и Word Perfect Suite (Corel).
С другой стороны, производители офисных программ стали
включать в состав своего ПО системы распознавания речи, как
правило, от IBM (Smart Suite), Dragon Dictate (Word Perfect
Suite) или Lernout&Hauspie.
Современные программы распознавания речи для ПК позво-
тяют диктовать в обычной разговорной манере. Так называемая
дискретная наликтовка с частыми остановками и паузами между
214
Глава 4. Информационные кросс-технологии
словами осталась в прошлом. Однако непрерывный процесс рас-
познавания речи, дающий точность до 95 % в оптимальных ус-
ловиях, все-таки дает пять неправильных букв на 100 знаков.
Около 200 ошибок на странице формата А4 — слишком много
для профессиональной работы.
Несмотря на все достижения последних лет. средства для
распознавания слитной речи все же допускают большое количе-
ство ошибок, нуждаются в длительной настройке, требовательны
к аппаратной части и к квалификации пользователя и отказыва-
ются работать в зашумленных помещениях (а это важно как для
шумных офисов, так и для мобильных систем и эксплуатации в
условиях телефонной связи).
Известно, что спонтанная речь произносится со средней
скоростью 2,5 слов в секунду, профессиональная машинопись —
2 слова в секунду, непрофессиональная — 0.4.
Таким образом, на первый взгляд, речевой ввод имеет значи-
тельное превосходство по производительности. Однако оценка
средней скорости диктовки в реальных условиях снижается до
0,5 слова в секунду в связи с необходимостью четкого произне-
сения слов при речевом вводе и достаточно высоким процентом
ошибок распознавания, нуждающихся в корректировке.
Речевой интерфейс естественен для человека и обеспечивает
дополнительное удобство при наборе текстов. Однако даже про-
фессионального диктора может не обрадовать перспектива в те-
чение нескольких часов диктовать малопонятливому и немому
компьютеру. Кроме того, имеющийся опыт эксплуатации подоб-
ных систем свидетельствует о высокой вероятности заболевания
голосовых связок операторов, что связано с неизбежной при
диктовке компьютеру монотонностью речи.
Часто к достоинствам речевого ввода текста относят отсутст-
вие необходимости в предварительном обучении. Однако одно из
самых слабых мест современных систем распознавания речи, —
чувствительность к четкости произношения, — приводит к поте-
ре этого, казалось бы, очевидного преимущества. Печатать на
клавиатуре оператор учится в среднем 1—2 месяца. Постановка
правильного произношения может занять несколько лет. Кроме
того, дополнительное напряжение, следствие сознательных и
подсознательных усилий по достижению более высокой распо-
знаваемости, совсем не способствует сохранению нормального
режима работы речевого аппарата оператора и значительно уве-
личивает риск появления специфических заболеваний.
4.3. Системы генерации речи
215
Существует и еще одно неприятное ограничение примени-
мости — оператор, взаимодействующий с компьютером через
речевой интерфейс, вынужден работать в звукоизолированном
отдельном помещении либо пользоваться звукоизолирующим
шлемом. Иначе он будет мешать работе своих соседей по офи-
су, которые, в свою очередь, создавая дополнительный шумо-
вой фон, будут значительно затруднять работу речевого распо-
знавателя.
Таким образом, речевой интерфейс вступает в явное проти-
воречие с современной организационной структурой предпри-
ятий, ориентированных на коллективный труд. Ситуация не-
сколько смягчается с развитием удаленных форм трудовой дея-
тельности, однако еще достаточно долго самая естественная для
человека производительная и потенциально массовая форма
пользовательского интерфейса обречена на узкий круг приме-
нения. Ограничения применимости систем распознавания речи
в рамках наиболее популярных традиционных приложений за-
ставляют сделать вывод о необходимости поиска потенциально
перспективных для внедрения речевого интерфейса приложе-
ний за пределами традиционной офисной сферы, что подтвер-
ждается коммерческими успехами узкоспециализированных ре-
чевых систем.
Парадоксально, но самый успешный на сегодня проект
коммерческого применения распознавания речи — телефонная
сеть фирмы АТТ. Клиент может запросить одну из пяти катего-
рий услуг, используя любые слова. Он говорит до тех пор, пока
в его высказывании встретится одно из пяти ключевых слов.
Эта система в настоящее время обслуживает около миллиарда
звонков в год.
4.3. Системы генерации речи
Говоря о речевом интерфейсе, часто делают упор на распо-
знавание речи, забывая о другой его стороне — речевом синтезе.
Заглавную роль в этом перекосе сыграло быстрое развитие сис-
тем, ориентированных на события в значительной степени по-
давляющих отношение к компьютеру как активной стороне диа-
лога. Еще относительно недавно подсистемы распознавания и
216
Глава 4. Информационные кросс-технологии
синтеза речи рассматривались как части единого комплекса ре-
чевого интерфейса.
Обратная распознаванию задача — синтез речи, или
Text-to-Specch (TTS). — столь же проста в первом приближении
и по-своему не менее сложна по мерс юстижения вершин. Из-
вестно, что синтезированная речь воспринимается человеком
хуже, чем живая, причем эго особенно заметно при передаче по
каналу телефонной связи, т. е. как раз в тех условиях, в которых
было бы наиболее заманчиво ее использовать. Тем не менее экс-
перты отмечают улучшение звучания синтезированной англий-
ской речи. В интеллектуальных телефонных системах, таких, как
1VR (interactive voice responce) и центры телефонного обслужива-
ния, технологии TTS начинают теснить традиционные наборы
записываемых заранее слов и реплик — прежде всего блаюдаря
своей гибкости, простоте переналадки и сокращению требова-
ний к объему памяз и
Качество речи прямо пропорционально размеру синтезатора
и объему потребляемых им ресурсов системы (загрузка процес-
сора, выделение памяти и т. п.) Для характеристики качества
речи обычно используют такие понятия, как естествен-
ность звучания, фонетическая разборчивость,
комфортность восприятия и время привыкания.
Естественность звучания характеризует то, насколько близок
синтезированный звук к человеческой речи. Пока сшс не суще-
ствует синтезатора, прослушав который, человек не мог бы ука-
зать, что это неестественный звук. Однако уровень синтезаторов
растет год от года, и неестественность их звучания уже не явля-
ется сильной помехой восприятию информации Первые же
синтезаторы отличались таю ми нежелательными эффектами,
как металлическим призвук, отсутствие интонационного деления
фрагмента речи, резкость звучания или наоборот — слишком за-
тянутые гласные звуки.
Фонетическая разборчивость характеризует, насколько слу-
шателю легко или трудно разобрать фонемы, произносимые
синтезатором Здесь надо понимать, что неестественная с метал-
лическим призвуком «речь робота», может обладать высокой фо-
нетической разборчивостью, г. с слушатель с легкостью может
различить фонемы (слоги) произносимых слов. В то же время в
естественной речи разборчивость может быть невысокой (пред-
ставьте себе бубнящего человека — речь на сто процентов есте-
ственная, а ничего нс понять). Так происходит потому, что для
4.3. Системы генерации речи
217
придания естественности звучания синтезируемая речь проходит
дополнительную фильтрацию, в результате чего получает допол-
нительные обертона (их богатство во многом и определяет бли-
зость синтезированной речи к человеческой). Степень фильтра-
ции нс всегда адекватно потбирается синтезатором и это ухуд-
шает фонетическую разборчивость.
Комфортность восприятия и время привыкания показывают
субъективную опенку слушателем качества синтезируемой речи.
Несмотря на свою субьсктивность. с точки зрения пользователя,
это самые главные критерии по которым оценивается работа
синтезатора Долгое прослушивание синтезированной речи не
должно вызывать чрезмерного утгмления, а время привыкания
должно быть достаточно коротким чтобы обеспечить легкий пе-
реход от одного синтезатора к другому.
История проблемы
В 1779 г. русский профессор Кристиан Краценштсйн (иногда
упоминается в источниках как Кристиан Готтлиб) построил аку-
стическую модель, позволяющую создавать гласные звуки, ис-
пользуя различные геометрические формы резонаторов, как это
показано на рис. 4.11.
ЗВУКИ
РЕЗОНАТОРЫ
Рис. 4.11. Акустическая модель К. Краиенипсина
При этом использовался аддитивный синтез (см. гл. 3),
как в обычных органах (напомним, что один из регистров органа
гак и называется — vox humanum — голос чсловсческий)1.
В 1791 г. Вольфганг фон Ксмнелсн (Volfgang von Kcmpclcn) пред-
ставил акустико-механическую говорящую машину, которая вос-
1 Есть также и регистр, именуемый vox caelesta — глас небесный...
218 Глава 4. Информационные кросс-технологии
производила определенные звуки и их комбинации. Шипящие и
свистящие выдувались с помощью специального меха с ручным
управлением. Затем это изобретение было улучшено ученым
Чарльзом Уитстоуном (Charles Wheatstone), и уже могло воспро-
изводить гласные и большинство согласных звуков. В 1846 г. Дже-
зеф Фабер представил свой говорящий орган, в котором была
реализована попытка синтезирования не только речи, но и пения.
В конце XVIII в. знаменитый ученый Александр Белл (Alexander
Graham Bell) создал собственную «говорящую» механическую мо-
дель, очень схожую с конструкцией Уитстоуна. Начиная с 1920 г.
наступила эра электрических инструментов, при этом основным
видом синтеза оставался аддитивный.
Ключевой датой в развитии вокодеров является 1939 г.
Именно в этом году ученый-изобретатель Хомер Дадли
(Homer. W. Dudley) из Bell Laboratories представил устройство
Parallel Bandpass Vocoder, над разработкой которого он трудился
три года (рис. 4.12, 4.13).
Now a Machine That Talks
With the Voice of Man
Voder Combines Electrical Currents to Produce
Synthetic Speech; Converses at Signal From Keys
Рис. 4.12. Страница «Science News Letter» co статьей «Теперь машина говорит
человеческим голосом». 14 января 1939 г.
Voder, представленный в 1939 г., управлялся человеком-опе-
ратором. Вот как описывает свои впечатления Ванневар Буш
(Vannevar Bush) в работе «As We May Think», 1945 г. (см. так-
4.3. Системы генерации речи
219
Рис. 4.13. Qxcjia функционирования устройства VODER Самая ранняя модель
называлась The Voder The Machine That Talks (VODER -• машина,
которая говорит)
же [14], с. 171): «На мировом выставке 1939 г. было показано
устройство, называемое Voder. Девушка-оператор нажимала на
его клавиши, и Voder воспроизводил звук, похожий на речь. Это
происходило без использования человеческих голосов, нажатие
на клавиши просто вызывало комбинации нескольких вибраций,
созданных электронным способом, которые воспрои (водились
с помощью громкоговорителя».
В 1940 г. Хомер Дадли представил свою новую модель голо-
сового синтезатора, именуемую The Vocoder (аббревиатура от
Voice Operated reCorDER). В 1948 г. на выставке «Electronischc
viusik» (Германия) VODER был представлен как электронный
инструмент бу ущего
Алгоритмические модели синтезаторов речи с того времени
практически нс изменились. При этом эти системы развивались
параллельно с аналоговыми синтезаторами
Методы озвучивания речи
Рассмотрим какой-нибудь хотя бы минимально осмыслен-
ный текст. Текст состоит из слов, разделенных пробелами и зна-
ками препинания. Произнесение слов зависит от их расположе-
220
Глава 4. Информационные кросс-технологии
ния в предложении, а интонация фразы — от знаков препина-
ния и довольно часто от типа применяемой трамматической
конструкции — в ряде случаев при произнесении текста слы-
шится явная пауза, хотя какие-либо знаки препинания отсутст-
вуют. Произнесение зависит и от смысла слова — сравните, на-
пример, выбор одного из вариантов «замок» или «замок» для од-
ного и того же слова «замок».
Основная классификация стратегий, применяемых при озву-
чивании речи — это разделение на две группы подходов:
• построение действующей модели речепроизводящей систе-
мы человека;
• моделирование акустического сигнала как таковой.
Первый подход известен под названием артикулятор-
ного синтеза. Второй подход представляется на сегодняш-
ний день более простым, поэтому он гораздо лучше изучен и
практически более успешен. Внедри него выделяется два основ-
ных направления — формантный синтез по правилам и
компилятивный синтез.
Формантные синтезаторы используют возбуждающий сиг-
нал, который проходит через цифровой фильтр, построенный на
нескольких резонаторах, похожих на резонансы голосового трак-
та. Разделение возбуждающего сигнала и передаточной функции
голосового тракта составляет основу классической акустической
теории речеобразования. Компилятивный синтез осуществляется
путем склейки нужных единиц компиляции из имеюще-
гося инвентаря.
На этом принципе построен ряд систем, использующих раз-
ные типы единиц и различные методы составления инвентаря.
В таких системах необходимо применять обработку сигнала для
приведения частоты основного тона, энергии и длительности
единиц к тем, которыми должна характеризоваться синтезируе-
мая речь. Кроме того, требуется, чтобы алгоритм обработки сиг-
нала сглаживал разрывы в формантной (и спектральной в це-
лом) структуре на границах сегментов.
В системах компилятивного синтеза применяются два раз-
ных типа алгоритмов обработки сигнала: LP (Linear Prediction —
линейное предсказание) и PSOLA (Pitch Synchronous Overlap
and Add). LP-синтез основан в значительной степени на акусти-
ческой теории речеобразования, в отличие от PSOLA-синтеза,
который действует путем простого разбиения звуковой волны,
составляющей единицу компиляции, на временные окна и их
4.3. Системы генерации речи
221
преобразования. Алгоритмы PSOLA позволяют добиваться хоро-
шего сохранения естественноеги звучания при модификации
исходной звуковой волны.
Обобщенная функциональная структура синтезатора
Структура идеализированной системы автоматического син-
тезе» речи состоит из нескольких блоков:
• определение языка текста:
• нормализация текста;
• лингвистический анализ (синтаксический, морфемный
и т. л);
• формирование просодических характеристик;
• фонемный транскриптор;
• формирование управляющей информации;
• получение звукового сигнала.
Такая схема содержит компоненты, которые можно обнару-
жить во многих системах. Разработчики конкретных систем
уделяют различное внимание отдельным блокам и реализуют
их очень по-разному, в соответствии с практическими требова-
ниями.
Модуль лингвистической обработки. Прежде всего, текст, под-
лежащий прочтению, поступает в модуль лингвистической обра-
ботки. В нем производится определение языка (в многоязычной
системе синтеза), а также отфильтровываются нс подлежащие
произнесению символы В некоторых случаях используются
спелчекеры (модули исправления орфографических и пунктуа-
ционных ошибок). Затем происходит нормализация текста,
т. с. осуществляется разделение введенного текста на слова и ос-
тальные последовательности символов. К символам относятся, в
частности, знаки препинания и символы начала абзаца. Все зна-
ки пунктуации очень информативны. Для озвучивания цифр
разрабатываются специальные подблоки.
Преобразование цифр в последовательности слов является
относительно легкой задачей (если читать цифры как цифры, а
нс как числа, которые должны быть правильно оформлены
грамматически), но цифры, имеющие разнос значение и функ-
цию, произносятся по-разному. Для многих языков можно гово-
рить. например, о существовании отдельной произносите. 1ьной
подсистемы телефонных номеров. Пристальное вни-
222
Глава 4. Информационные кросс-технологии
мание уделяется правильной идентификации и озвучиванию
цифр, обозначающих числа месяца, годы, время, телефонные
номера, денежные суммы и т. д. (список для различных языков
может быть разным).
Лингвистический анализ. После процедуры нормализации ка-
ждому' слову текста (каждой словоформе) необходимо приписать
сведения о его произношении, т. е. превратить в цепочку фонем
или, иначе говоря, создать его фонемную транскрипцию. Во
многих языках, в том числе и в русском, существуют достаточно
регулярные правила чтения - правила соответствия меж-
ду буквами и фонемами (звуками), которые, однако, мо-
гут требовать предварительной расстановки словесных ударе-
ний. В английском языке правила чтения очень нерегулярны, и
задача данного блока для английского синтеза тем самым ус-
ложняется. В любом случае при определении произношения
имен собственных, заимствований, новых слов, сокращений и
аббревиатур возникают серьезные проблемы. Просто хранить
транскрипцию для всех слов языка не представляется возмож-
ным из-за большого объема словаря и контекстных изменений
произношения одного и того же слова во фразе.
Кроме того, следует корректно рассматривать случаи графи-
ческой омонимии: одна и та же последовательность буквенных
символов в различных контекстах порой представляет два раз-
личных слова/словоформы и читается по-разному (например,
ранее приведенный пример слова «замок»).
Для языков с достаточно регулярными правилами чтения од-
ним из продуктивных подходов к переводу слов в фонемы
является система контекстных правил, переводящих каждую
букву/буквосочетание в ту или иную фонему, т. е. автома-
т и ч е с к и й фонемный транскриптор. Однако чем боль-
ше в языке исключений из правил чтения, тем хуже работает
этот метод. Стандартный способ улучшения произношения сис-
темы состоит в занесении нескольких тысяч наиболее упот-
ребительных исключений в словарь. Альтернативное подходу
«слово—буква—фонема» решение предполагает морфемный
анализ слова и перевод в фонемы морфов (т. е. значимых час-
тей слова: приставок, корней, суффиксов и окончаний). Однако
в связи с разными пограничными явлениями на стыках морфов
разложение на эти элементы представляет собой значительные
трудности. В то же время для языков с богатой морфологией,
например, для русского, словарь морфов был бы компактнее.
4.3. Системы генерации речи
223
Морфемный анализ удобен еще и потому, что с его помощью
можно определять принадлежность слов к частям речи, что
очень важно для грамматического анализа текста и задания его
просодических характеристик. В английских системах синтеза
морфемный анализ был реализован в системе М1Та1к, для кото-
рой процент ошибок транскриптора составляет 5 %. Особую
проблему для данного этапа обработки текста образуют имена
собственные.
Формирование просодических характеристик. К просоди-
ческим характеристикам высказывания относятся его
тональные, акцентные и ритмические характери-
стики Их физическими аналогами являются частота основно-
го тона, энергия и длительность. В речи просодические харак-
теристики высказывания определяются не только составляю-
щими его словами, но также тем. какое значение оно несет и
для какого слушателя пре тназначено. эмоциональных! и физи-
ческим состоянием говорящего и многими другими фактора-
ми. Многие из этих факторов сохраняют свою значимость и
при чтении вслух, поскольку человек обычно интерпретирует
и воспринимает текст в процессе чтения Таким образом, от
системы синтеза следует ожидать примерно того же, т. е. она
сможет понимать имеющийся у нее на входе текст, используя
методы искусственного интеллекта. Однако этот уровень раз-
вития компьютерной технологии еще не достигнут, и боль-
шинство современных систем автоматического синтеза стара-
ются корректно синтезировать речь с эмоционально нейтраль-
ной интонацией. Между тем. даже эта задача на сегодняшний
день представляется очень сложной.
Формирование просодических характеристик, необходимых
для озвучивания текста, осуществляется тремя основными бло-
ками, а именно:
• расстановки синтагматических границ (паузы);
• приписывания ритмических и акцентных характеристик
(длительности и энергия):
• приписывания тональных характеристик (частота основно-
го тона).
При расстановке синтагматических границ опреде-
ляются части высказывания (синтагмы). внутри которых энерге-
тические и тональные характеристики ведут себя единообразно и
которые человек может произнести на одном дыхании. Если
система не делает пауз на границах таких единиц, то возникает
224
Глава 4. Информационные кросс-технологии
отрицательный эффект: слушающему кажется, что говорящий (в
данном случае — система) задыхается. Помимо этого, расстанов-
ка синтагматических границ существенна и для фонемной
транскрипции текста. Самое простое решение состоит в том,
чтобы ставить границы там. где их диктует пунктуация. Для наи-
более простых случаев, когда пунктуационные знаки отсутству-
ют, можно применить метод, основанный на использовании
служебных слов. Именно эти методы используются в системах
синтеза Pro-Sc-2000, Infbvox-5A-101 и DECTalk. причем в по-
следней просодически ориентированный словарь, помимо слу-
жебных слов, включает еще и глагольные формы.
Задача приписывания тональных характеристик
обычно ставится достаточно узко. В системах синтеза речи пред-
ложению, как правило, приписывается нейтральная интонация.
Не предпринималось попыток моделировать эффекты более вы-
сокого уровня, такие, как эмоциональная окраска речи, по-
скольку эту информацию извлечь из текста трудно, а часто и
просто невозможно.
Некоторые другие реализации
Наиболее распространенными системами синтеза речи на се-
годня являются те, которые поставляются в комплекте со звуко-
выми платами. Если компьютер пользователя оснащен ка-
кой-либо из них, существует значительная вероятность того, что
на нем установлена система синтеза речи (не русской, а англий-
ской речи, точнее, ее американского варианта). К большинству
оригинальных звуковых плат Sound Blaster прилагается система
Creative Text-Assist, а вместе со звуковыми картами других про-
изводителей часто поставляется программа Monologue компа-
нии First Byte.
TextAssist представляет собой реализацию формантного синте-
затора по правилам и базируется на системе DECTalk, разрабо-
танной корпорацией Digital Eguipment, который до сих пор оста-
ется своего рода стандартом качества для синтеза речи американ-
ского варианта английского. Компания Creative Technologies
предлагает разработчикам использовать TextAssist в своих про-
граммах с помощью специального TextAssistApi (AAPI). Поддер-
живаемые операционные системы — MS Windows и Windows 95;
4.3. Системы генерации речи
225
для Windws NT также существует версия системы DECTalk. изна-
чально создававшейся для Digital Units. Новая версия TcxtAssist,
объявленная фирмой Assotiativc Computing Inc. разработанная с
использованием технологии DLCTalk и Creative, является в то
же время многоязычной системой синтеза, поддерживая англий-
ский, немецкий, испанский и французский языки Это обеспе-
чивается прежде всего использованием соответствующих лин-
гвистических модулей. разработчик которых — фирма Lernout&
llauspic Speech Products, признанный лидер в поддержке много-
язычных речевых технологии
Monologue — программа, предназначенная для озвучивания
текста, находящегося в буфере обмена MS Windows, использует
систему ProVoice. ProVoicc — компилятивный синтезатор с ис-
пользованием оптимального выбора режима компрессии речи и
сохранения пограничных участков между звуками, разнови, 1-
ность TD-PSOLA Рассчитан на американский и британский
английский, немецким, французский, латино-американскую
разновидность испанского и итальянский языки Инвентарь сег-
ментов компиляции — смешанной размерности cei менты — фо-
немы или аллофоны. Компания First Byte позиционирует систе-
му ProVoice и программные продукты, основанные на ней, как
приложения с низким потреблением процессорного времени
Ей st Byte также предлагает рассчитанную на мощные компьюте-
ры систему артикуляторного синтеза PrimoVox ття использова-
ния в приложениях телефонии. Для разработчиков: Monologue
Win32 поддерживает спецификацию Microsoft SAP1.
MBROLA — так называется система многоязычного синтеза,
реализующая особый гибридный алгоритм компилятивного син-
теза и работающая как пол Windows, гак и на платформах Sun4.
Впрочем, система принимает на входе цепочку фонем, а нс
текст, и потому не является, строю говоря, системой синтеза
речи по тексту. Формантный синтезатор Tru-Voice фирмы
Centigram Communication Corporalion(CLH \) близок к описан-
ным выше системам по архитектуре и предоставляемым воз-
можностям. однако он поддерживает больше языков: американ-
ский английский, латино-американский, испанский, немецкий,
французский, итальянски т. Кроме того, в этот синтезатор
включен специальный препроцессор, который обеспечивает бы-
струю подготовку для чтения сообщений, получаемых по элек-
ронной почте, факсов и баз данных.
226
Глава 4. Информационные кросс-технологии
Engine — «машины» синтеза и распознавания речи
«Машина» (в просторечии - - «движок») — это пакет про-
граммных средств, выполняющих строго определенную задачу и
предоставляющий интерфейс для использования его возможно-
стей. В настоящее время существует пелый ряд машин синтеза и
распознавания речи, которые разработаны для использования
совместно с MS Speech API.
smARTspeak CS — настраиваемая независимая от языка «ма-
шина» распознавания речи для набора цифр, указания имен и
речевой навигации, т. е. для приложений, используемых в сото-
вых телефонах и беспроводных устройствах. Созданный для ис-
пользования в указанных устройствах, smARTspeak CS удовле-
творяет потребностям как пользователей, так и разработчиков:
иммунитет к фоновому шуму, малые требования к процессору и
памяти, совместимость с MS SAPI 5.0, оптимизация для средств
быстрой разработки приложений и для интеграции в сертифици-
рованные устройства.
Conversay предоставляет решение для речевого взаимодейст-
вия с информацией, поставляемой через сеть, включая Internet в
случае, когда другие интерфейсы слишком сложны или отсутст-
вуют. Conversay разрабатывает речевую технологию, которая по-
зволяет пользователям взаимодействовать через мобильные уст-
ройства привычным для себя способом.
Lernout&Hauspie. Система компании L&H позволяет на-
страивать чтение аббревиатур и слов (ударения). Продукт, актив-
но продвигаемый Microsoft.
Digalo. Голосовой «движок» для русского языка Digalo —
продукт французской фирмы Elan Informatique. Digalo различает
буквы «Е» и «Ё» и виртуозно владеет русской ненормативной
лексикой. В основном ошибки в ударениях приходятся на неко-
торые фамилии и имена, малоупотребительные слова и терми-
ны, замечено не всегда корректное озвучивание чисел и очень
акцентированное произнесение слов «нет» и «не». Разработчики
обещают в дальнейшем сделать возможной корректировку про-
изнесения отдельных слов и слогов.
Actor 5. Новый «движок» фирмы Loquendo «Actor 5» предна-
значен для использования в областях голосовых технологий и
сервиса. Синтезирует речь на итальянском, испанском, англий-
ском, немецком, мексиканском, бразильском и американском
английском диалекте (русского, к сожалению, нет).
4.3. Системы генерации речи
227
PC Voice Club. Движок синтеза речи Клуба голосовых тех-
нологий при Научном Паркс МГУ. При ею создании исполь-
зована базовая технология синтеза речи, разработанная на фи-
лологическом факультете МГУ. Синтезатор характеризуется
высоким качеством синтеза речи, что позволяет прослушивать
тексты без их специальной подготовки. Позволяш синтезиро-
вать речь на английском и русском языках. Кроме того, имеет
около лесятка голосовых типажей (робот, эльф, мышь и пр.).
Имеются возможности редактирования голосов Помимо стан-
дартных функций синтеза речи имеется дополнительная функ-
ция встраивания в текст управляющих символов, которые по-
звО1яюг устанавливать паузы, изменять тембр, тон и длитель-
ность звучания. К примеру, можно, отредактировав текст,
заставить синтезатор петь.
Творческий коллектив радиофизиков и программистов раз-
работал серию программных продуктов под общим названисх»
«Говорящая мышь»
Синтезатор русской речи
Рассмотрим разработку «Говорящая мышь» упоминавшегося
Клуба голосовых технологий. В основе речевого синтеза лежит
идея совмещения методов конкатенации и синтеза по правилам.
Метод конкатенации при адекватном наборе базовых элементов
компиляции обеспечивает качественное воспроизведение спек-
тральных характеристик речевого сигнала, а набор правил —
возможность формирования естественного интонационно-про-
содического оформления высказываний. Существуют и другие
методы синтеза, может быть, в перспективе более гибкие, но
дающие пока менее естественное озвучивание текста. Это. преж-
де всего, параметрический (формантный) синтез речи по прави-
лам или на основе компиляции, развиваемый для ряда языков
зарубежными исследователями. Однако для реализации этого
меч ода необходимы статистически представительные акусти-
ко-фонетические базы данных и соответствующая компьютерная
технология, которые пока доступны нс всем
Язык формальной записи правил синтеза. Для создания удоб-
ного и быстрого режима изменения и верификации правил,
включенных в разные блоки синтезирующей системы, был раз-
228
Глава 4. Информ анионные кросс-техиологии
работай формализованным и в то же время содержательно про-
зрачный и понятный язык записи правил, который легко ком-
пилируется в исходные тексты программ В настоящее время
блок автоматического транскриптора насчитывает около
1000 строк, записанных на формализованном языке представ-
ления правил.
Интонационное обеспечение. Функция разработанных правил
состоит в том, чтобы определить временные и тональные ха-
рактеристики базовых элементов компиляции, которые при
обработке синтагмы выбираются из бибтиотски в нужной по-
следовательности специальным процессором (блоком кодиров-
ки). Необходимые для этого предварительные операции над
синтезируемым текстом: выделение синтагм, выбор типа инто-
нации, определение степени выделенностм (ударное ги-безудар-
ности) гласных и символьного звукового наполнения слоговых
комплексов осуществляются блоком автоматического транс-
криптора.
Во временной процессор входят также правила, за-
дающие длительность паузы после окончания синтагмы (ко-
нечной/неконечной). которые необходимы для синтеза связ-
ного текста. Предусмотрена также модификация общего темпа
произнесения синтагмы и текста в целом, причем в двух ва-
риантах: в стандартном — при равномерном изменении всех
единиц компиляции — и в специальном, дающем возмож-
ность изменения длительности только гласных или только со-
гласных.
Тональный процессор содержит правила формирова-
ния для одиннадцати интонационных моделей: нейтральная по-
вествовательная интонация (точка), точковая интонация, типич-
ная для фокусируемых ответов на вопросы; интонация предло-
жений с контрастивным выделением отдельных слов; интонация
специального и общего вопроса; интонация особых противопос-
тавительных или сопоставительных вопросов; интонация обра-
щений, некоторых типов восклицаний и команд, два вида неза-
вершенности. перечислительная интонация: интонация вставоч-
ных конструкций.
Аллофонная база данных. Необхо. щмый речевой чатериал за-
писан в режиме оцифровки с частотой дискретизации 22 кГц с
разрядностью 16 бит.
4.3. Системы генерации речи
229
В качестве базовых элементов компиляции выбраны аллофо-
ны, оптимальный набор которых и представляет собой акусти-
ко-фонетическую базу синтеза. Инвентарь базовых единиц ком-
пиляции включает в себя 1200 элементов, который занимает
около 7 Мбайт памяти. В большинстве случаев элементы компи-
ляции представляют собой сегменты речевой волны фонемной
размерности Для получения необходимой исходной базы еди-
ниц компиляции был составлен специальный словарь, который
содержит слова и словосочешния с ал гофонами во всех учиты-
ваемых контекстах. В нем содержится 1130 словоупотреблений.
Чингвистичееяий анализ. На основе данных, полученных от
остальных модулей синтеза речи и от аллофонной базы, про-
грамма формирования акустического сигнйла позволяет осуще-
ствлять модификацию длительности согласных и гласных. Она
дает возможность модифицировать длительность отдельных пе-
риодов на вокальных звуках, используя две иди три точки тони-
рования на аллофонном сегменте, осуществляет модификацию
энергетических характеристик сегмента и соединяет модифици-
рованные аллофоны в единую слитную речь.
На этапе синтеза акчстического сигнала программа позволя-
ет получать разнообразные акустические эффекты — такие, как
реверберация, эхо, изменение частотной окраски.
Готовый акустический сшнал преобразуется в формат дан-
ных, принятый для вывода зьуковои информации Используют-
ся два формата: WAV (Waveform Audio File Format), являющийся
одним из основных, или VOX (Voice File Format), широко ис-
пользуемый в компьютерной телефонии. Вывод также может
осуществляться непосредственно на звуковую карту
Инструментарий синтеза русской речи. Упоминавшийся
выше инс।ру иенгарий синтеза русской речи по тексте позволяет
читать вслух смешанные русско-англиискпс тексты Инструмен-
тарий представляет собой набор динамических библиотек
(DLL), в который входят модули русского и английского синте-
за, словарь ударений русского языка, модуль правил произнесе-
ния английских слов. На вход инструментария подается слово
или предложение, подлежащее произнесению, с выхода поступа-
ет звуковой файл в формате WAV или \ОХ. записываемый в па-
мять или на жесткий диск.
В табл 4.2 приводятся характеристики ряда систем синтеза
речи.
230
Глава 4. Инфор мационные кросс-технологии
Таблица 4.2. Характеристик некоторы . образцов программных средств
синтеза речи
f Программный продукт Характеристики
i Govorilka 1.43 Бесплатная программа которая читав" текст разными голосами на разньх языках, ис- пользуя голосовые -движки' (text-to-speech engines, установленные на компьютере, за- пишет текст в MP3 файл Основнь в возможности про гаммы Govorilka: чтение текста го- лосом; запись читаемого текста в звуковой файл (’.WAV. ’.MP3) с повышенной скоро- стью; регулировка скорости чтения и высоты голос?- автоматическая прокрутка текста на экране, чтобы всегда был виден читаемый фоагмент (слежение за речью); пополняемый словарь произношений; открывает большие файлы в DOS и Ипбоив-кодир-вке, файлы MS Word и HTML (размер читаемого текста пгак™чески неограничен); ? оминаете текст и позиция курсора при выходе из программы, голосовое озвучивание текста, наби- раемого в любых Windows-программах, а также чтение текста из буфера обмена
1 ALOUD Программный комплекс, состоящие из трех разных по назначению модулей TextAloud MP3 - ч гение текста; WeatherAloud - чтение сводок погоды; Stocks Acad - чтение биржевых новостей; TextAloud MP3 - гр грамма для преобразования любого текста в речь и звуковые файлы | формата MP3. В рабочем состоянии свеонуа и в любой момент готова прочитать любой текст с e-mail, страниц Internet, текст документа в любом текстовом редакторе; WeatherAloud - синтезатор голоса, предназначенный для прослушивания прогноза пого- ды по 7500 позициям во всех странах. Можно построить персональный список прогнозов, и модифицировать его по заказу пользователя по необходимости. Регулярные прогнозы, погоды, текущая температура и другие сведения, удобное управление отображением данных на рабочем столе - все это делает эту программу исключительно удобной в ис- пользовании; Stocks Aloud позволяет отслеживать информацию на фондовых биржах и торговых пло- щадках, которая должна читаться громко для быстрого реагирования на текущие измене ния рынка. Биржевой курс, изменения, продажи и другая информация корректируются и отслеживается в определенных интервалах. Данные могут быть прочитаны, записаны или отправлены no e-mail
SAPI Talker Программа синтеза речи, использующая любой движок» (engine) Microsoft SAPL Имеет- ся функция чтения выделенного текста в любом приложении, для эгто требуется нажать дважды с малым интервалом «'Ctn-O Имеется возможность просмотра свойств всех, движков, установленных в системе, и выбора желаемого, нагл ройки выо ты тона и ско- рости речи. Программа может пгме-щаться на панели задач и управляться контекстным меню иконки
AVVoice Changer Инструмент для изменения голоса - мечта шутников телефонных террористов и люби- телей караоке. Пользователь говорит в микрофон, а программа в реальном масштабе времени заставляет его голос звучать ниже {как у солидного мужчины) или выше (как у женщины или подростка). Высота голоса задается с помощью ползунка «Pitch Level», а выходной сигнал может быть дополнительно пт| едактирова« с помощью 9-полосного эк- валайзера. Дополнительно можно выбрать несколько стандартных голосовых решений
AV VCS совместим со всеми программами для Internet-телефонии (NetMeeting, net2phone
। и т п.), так что его можно применять не голью для розыгрышеа, но и для сохранения
анонимности при общении в Сети голосом
4.4. Системы автоматизированного и автоматического перевода 231
4.4. Системы автоматизированного и автоматического
перевода текстов
Перепоя с о iHoro языка на яру i он человеком происходит пу-
тем восприятия и понимания исходного текста и последующей
передачи его смысла средствами выходного языка. При этом пе-
реводятся не слова и словосочетания, а понятийные образы, по-
рох таимые в сознании переводчика под их воздействием. Одна-
ко если в настоящее время пока еще нет возможности моделиро-
вать работу человека-переводчика, го. по крайней мерс, нужно
стремиться оперировать теми единицами языка и речи, которые
позволяют наиболее точно передавав содержание текста, напи-
санного на одном языке, средствами другого языка. Такими еди-
ницами являются, прежде всего, фразеологические обороты и
терминологические словосочетания и во вторую очередь, от-
дельные слова. Если в настоящее время полностью автоматиче-
ский высококачественный научно-технический перевод практи-
чески невозможен, то автоматизированный человеко-машинный
перевод вполне реален
Обобщенная технология работы системы машинного
перевода
Процесс машинного перевода текстов с одного естественно-
го языка на другой может быть в крупном плане ра пелен на три
этапа (рис 4 14)
Текст на входном языке поступает в систему перевода, на
этапе семантико-синтаксического анализа выявля-
ется его грамматическая структура, распознаются наименования
понятий и устанавливаются отношения между понятиями.
На этапе трансфера производится переход от наименований
понялий и структуры текста на входном языке к наименованиям
понялий и структуре текста на выходном языке. В результате
с е м а н ти ко - с и нта кс и ч с с к о го синтеза на основании
полученных эквивалентов получается текст на выходном языке
(его грам «этическое оформление), который выдается в качестве
результата.
232
Глава 4. Информационные кросс-технологии
Наименование Отношения Структура
понятий между текста
понятиями
Входной
язык
Семантико-
синтаксический
анализ текста
Трансфер
Наименование Отношения
понятий между
понятиями
Рис. 4.14. Обобщенная технология систем машинного перевода
Структура
текста
Семантико-
синтаксический
анализ текста
Выходной
язык
Действующие системы машинного перевода ориентированы
на конкретные пары языков (например, французский и русский
или японский и английский) и используют, как правило, пере-
водные соответствия либо на поверхностном уровне, либо на не-
котором промежуточном уровне между входным и выходным
языком. Качество машинного перевода зависит от объема слова-
ря, объема информации, приписываемой лексическим единицам,
от тщательности составления и проверки работы алгоритмов ана-
лиза и синтеза, от эффективности программного обеспечения.
Информация может быть представлена как в декларативной
(описательной), так и в процедурной (учитывающей потребности
алгоритма) форме.
Машинный перевод следует отличать от использования ком-
пьютеров в помощь человеку-переводчику. В последнем случае
имеется в виду автоматический словарь, помогающий
человеку быстрее подбирать нужный переводной эквивалент.
Хотя и в том, и в другом случае компьютер работает вместе с че-
ловеком (переводчиком или редактором), в содержание термина
«машинный перевод» входит представление о том, что главную,
большую часть работы по переводу и отысканию переводных эк-
вивалентов и переводных соответствий машина берет на себя,
4.4. Системы автоматизированного и автоматического перевода 233
оставляя человек? лишь контроль и исправление ошибок, в то
время как компьютерный словарь в помощь человеку — это чис-
то вспомогательное средство.
Основные проблемы машинного перевода
Для создания систем, работающие со всем естественным
языком без потери глубины анализа, в настоящий момент нс
хватает ибо Технических возможностей (быстро тействия, памя-
ти), либо теоретической базы. Однако в коммерческих системах,
ввиду того, что предназначаются они для большого количества
пользователей, разных предметных областей, принята концеп-
ция поверхностного анализа, к тому же и производится такой
анализ значительно быстрее.
Исторически машинный перевод является первой попыткой
использования компьютеров для решения невычислигс 1ьных за-
дач (Джорджтаунский эксперимент в США в 1954 г.; работы по
машинному переводу в СССР, начавшиеся в 1954 г.). Развитие
электронной техники, рост объема памяти и производительно-
сти компьютеров создавали иллюзию быстрого решения этой за-
дачи. Практическая цель была простой: загрузить в память ком-
пьютера максимально возможный словарь и с его помощью из
иноязычных текстов получать текст на родном языке в удобочи-
таемом виде. Однако первоначальная эйфория по поводу того,
что столь трудоемкую работу можно поручить ЭВМ, сменилась
разочарованием в связи с абсолютной непригодностью получае-
мых текстов.
Конечно, системы, настроенные на определенную предмет-
ную область, дают гораздо более прием, icmhc результаты. Однако
в атом случае системы перевода получаются очень узко ориенти-
рованными, и попытка использовать их лаже в смежных пред-
метных областях дает совершенно непредсказуемые результаты
Во шикают эти проблемы из-за принципиально разных под-
ходов к переводу человека и машины. Квалифицированный пе-
реводчик понимает смысл текста и пересказывает его на другом
языке словами и стилем, максимально близкими к оригиналу.
Для компьютера этот путь вы швается в решение двух задач:
• перевод текста в некоторое внутреннее семантическое
представление,
• генерация по этому представлению текста на другом языке.
234
Глава 4. Информационные кросс-технологии
Поскольку не только не решена сама по себе ни одна из этих
задач, и даже нет общепринятой концепции семантического
представления текстов, при автоматическом переводе приходит-
ся фактически делать «подстрочник», заменяя по отдельности
слова одного языка на слова другого и пытаясь после этого при-
дать получившемуся предложению некоторую синтаксическую
согласованность. Смысл при этом может быть искажен или без-
возвратно утерян.
Фразеологический машинный перевод
Концепция фразеологического перевода базирует-
ся на понимании того факта, что в естественных языках смысл
лексических единиц более высокого уровня (например, фразео-
логических единиц, являющихся наименованиями понятий или
ситуаций), как правило, не сводим к смыслу составляющих их
лексических единиц более низкого уровня (например, слов).
При решении проблемы перевода ранее делалась ставка
прежде всего на грамматически правильный пословный пере-
вод, а полисемия слов разрешалась в основном процедурными
средствами на основе учета их синтаксических и семантиче-
ских признаков. Поэтому системы МП первых трех десятиле-
тий их развития можно охарактеризовать как системы семан-
тико-синтаксического преимущественно пословного перевода.
Словосочетания здесь также использовались, но в меньшей
степени.
Семантико-синтаксический пословный машинный перевод
текстов не имеет особой перспективы, так как в естественных
языках смысл словосочетаний, как правило, не сводим или не
полностью сводим к смыслу составляющих их слов, и при пере-
воде он не обязательно может быть «вычислен» на основе син-
таксических и семантических признаков этих слов.
Принципы построения систем фразеологического машинно-
го перевода текстов были впервые сформулированы Г. Г. Бело-
ноговым в 1975 г. и изложены в 1983 г. в книге Г. Г. Белоногова
и Б. А. Кузнецова «Языковые средства автоматизированных ин-
формационных систем». В 1984 г. аналогичная идея была выска-
зана японским ученым профессором Нагао из университета
Киото. Он предложил в качестве альтернативы подход, основан-
4.4. Системы автоматизированного и автоматического перевода 235
ный на использовании ранее переведенных текстов, представ-
ленных одновременно на двух языках (билингв).
Важнейшими среди этих принципов являются следующие:
• основными единицами языка и речи, которые прежде всего
следует включать в машинный словарь, должны быть
фразеологические единицы (словосочетания,
фразы). Отдельные слова также могут включаться в сло-
варь, но они должны использоваться только в тех случаях,
когда не удается осуществить перевод, опираясь только на
фразеологические единицы;
• наряду с фразеологическими единицами, состоящими из
непрерывных последовательностей слов, в системах ма-
шинного перевода следует использовать и так называемые
речевые модели — фразеологические единицы-шаб-
лоны с «пустыми местами», которые могут заполняться
различными словами и словосочетаниями, порождая ос-
мысленные отрезки речи;
• реальные тексты, независимо от их принадлежности к той
или иной тематической области, обычно бывают политема-
тическими, если они имеют достаточно большой объем.
И отличаются они друг от друга не столько словарным со-
ставом, сколько распределениями вероятностей появления
в них различных слов из общенационального словарного
фонда. Поэтому машинный словарь, предназна-
ченный для перевода текстов даже только из
одной тематической области, должен быть
пол и тематическим, а для перевода текстов из различ-
ных предметных областей — тем более;
• для систем фразеологического перевода необходимы ма-
шинные словари большого объема. Такие словари могут
создаваться на основе автоматизированной обра-
ботки двуязычных текстов, являющихся перевода-
ми друг друга, и в процессе функционирования систем пе-
ревода;
• наряду с основным (политематическим) словарем большо-
го объема в системах фразеологического машинного пере-
вода целесообразно использовать также набор неболь-
ших по объему дополнительных тематиче-
ских словарей. Дополнительные словари должны
содержать только ту информацию, которая отсутствует в
основном словаре (например, информацию о приоритет-
236
Глава 4. Информационные кросс-технологии
ных переводных эквивалентах словосочетаний и слов для
различных предметных областей, если эти эквиваленты нс
совпадают с приоритетными переводными эквивалентами
основного словаря);
• основным средством разрешения полисемии (многознач-
ности) слов в системах фразеологического перевода являет-
ся их использование в составе фразеологиче-
ских словосочетаний. Дополнительным — аппарат
дополнительных тематических словарей, где для каждого
многозначного слова или словосочетания указывается его
приоритетный переводной эквивалент, специфичный для
рассматриваемой предметной области;
• большую роль в системах фразеологического машинного
перевода текстов могут играть процедуры морфологи-
ческого и синтаксического анализа и синтеза
русских и английских текстов, построенные на основе
принципа аналогии. Эти процедуры позволяют отказаться
от хранения в словарях большого объема грамматической
информации и порождать ее по мере необходимости авто-
матически, в процессе перевода. Они делают систему пере-
вода открытой — способной обрабатывать тексты с «но-
вой» лексикой;
• наряду с переводом текстов в автоматическом режиме в
системах фразеологического машинного перевода целесо-
образно предусмотреть интерактивный режим ра-
боты. В этом режиме пользователь должен иметь воз-
можность вмешиваться в процесс перевода и настраивать
дополнительные машинные словари на тематику перево-
димых текстов.
В соответствии с главных! тезисом концепции фразеологиче-
ского перевода, система фразеологического машинного перевода
должна включать в свой состав базу знаний, содержащую пере-
водные эквиваленты для наиболее часто встречающихся фраз,
фразеологических сочетаний и отдельных слов (рис. 4.15) и про-
граммные средства для морфологического и синтаксического
анализа и синтеза текстов и для их редактирования человеком.
В процессе перевода текстов система должна использовать
хранящиеся в ее базе знаний переводные эквиваленты в следую-
щем порядке: сначала для очередного предложения исходного
текста делается попытка перевести его как целостную фразеоло-
гическую единицу; затем, в случае неудачи. — входящие в его
4.4. Системы автоматизированного и автоматического перевода 237
Рис. 4.15. Порядок перевода исходного текста в системах фразеологического
машинного перевода
состав словосочетания; и. наконец, осуществляется пословный
перевод тех фрагментов текста, которые не удалось перевести
первыми двумя способами. Фрагменты выходного текста, полу-
ченные всеми тремя способами, должны грамматически согласо-
вываться друг с другом (с помощью процедур морфологического
и синтаксического синтеза).
Словари систем фразеологического перевода
Словари являются наиболее важной компонентой систем
фразеологического машинного перевода. Они должны быть дос-
таточно большого объема, чтобы хорошо покрывать тексты, и
должны содержать преимущественно словосочетания. Опыт соз-
дания больших русско-английских и англо-русских машинных
словарей показал, что наиболее надежным источником для их
составления могут служить русские и английские тексты, являю-
щиеся переводами друг друга, в частности двуязычные заголовки
документов.
Составление машинных словарей по двуязычным текстам
проводится как вручную, так и с помощью ЭВМ. Ручное состав-
ление словарей связано с большими трудозатратами. Поэтому
была разработана процедура автоматизированного составления
словарей. Эта процедура основана на использовании того факта,
что во множестве двуязычных пар предложений, являющихся
переводами друг друга и содержащих одно и то же слово или
238
Глава 4. Информационные кросс-технологии
словосочетание одного из языков, максимальную частоту встре-
чаемости имеет слово или словосочетание другого языка, являю-
щееся переводом этого слова или словосочетания.
Машинные словари системы могут корректироваться и по-
полняться в процессе перевода текстов в интерактивном режиме.
В этом режиме есть возможность обнаруживать слова и словосо-
четания, для которых в словаре не указаны переводные эквива-
ленты или эти эквиваленты не соответствуют контексту, или
указано несколько эквивалентов, но на первом месте стоит эк-
вивалент, не соответствующий контексту. В случае отсутствия
переводных эквивалентов у некоторых слов они могут быть ука-
заны человеком; если эквиваленты не соответствуют контексту,
они могут быть заменены: если их несколько, то есть возмож-
ность выбрать только те из них, которые соответствовали кон-
тексту.
В системе фразеологического перевода используются сле-
дующие типы словарей:
• тематический;
• политематический;
• словарь пользователя.
Технология использования различных типов словарей в про-
цессе перевода следующая: после семантико-синтаксического
анализа входного текста на этапе трансфера идет обращение к
двуязычным словарям. Если подключены все три типа словарей,
то порядок обращения будет следующим: наивысший приоритет
у словаря пользователя, проводится поиск всех фразеологиче-
ских единиц переводимого текста, для найденных дается пере-
вод; затем идет обращение к тематическому словарю (тематика
словаря выбирается пользователем в системе перед началом пе-
ревода), в нем проводится поиск для всех еще непереведенных
единиц; если после работы двух словарей еще остались непере-
веденные фрагменты, то система обращается к политематиче-
скому словарю, который содержит переводные эквиваленты для
самых различных понятий, принадлежащих разным тематикам.
Все словари имеют линейную структуру:
[понятие на входном языке] [переводной эквивалент 1] /
[перев. эквив. 2] /..../ [перев. эквив. /г]
Словарная статья состоит из двух частей: из исходного наиме-
нования понятия и его переводного эквивалента. Разделителем ме-
4.4. Системы автомата шрованного и автоматического перевода 239
жду этими частями служит косая черта. Записи в словаре поль-
зователя располагаются в поря 1ке их ввода. Исходное наимено-
вание понятия и его перевт храня гея в словаре в том виде, в
котором они быт в нею первоначально ввезены, по в процессе
его подключения к системе перевода производится пословная
нормализация исходных наименовании понятий, что позволяет
отождествлять их различные формы.
При этом если перевод ос\ шествляется в автоматическом ре-
жиме (без участия пользователя), берется первый слева перево г-
ной эквивалент. Фрагмент словаря пользователя представлен в
табл. 4.3.
Таб.шиа 4.3. Фрагмент словаря пользователя
Термин Эквивалент
Balance Балансировка
Existence of bubbles Наличие пузырьков
f Dirty Грязь
Hydraulic fluid Рабочая жидкость
Dirty hydraulic fluid Грязная рабочая жидкость
Power supply Электропитание
Voltage fluctuation Колебания напряжения
Looseness Ослабленность
Selector switches Ручной многопозиционный переключатель
Proximity switches Бесконтактный переключатель
Screw tip Головка винта
Abnormal indications Аномальный признак
Piping joints Место соединения -рубопроводов
По структуре словарных статей словарь пользователя анало-
гичен основному политсматическомх и дополнительным темати-
ческим словарям, но он отличается от них количеством возмож-
ных вариантов перевода, указываемых л тя входных наименова
ний понятий. Здесь для каждого входного наименования понятия
может указываться только один вариант перевода. Отличается
словарь пользователя также и способом его хранения в файле.
240
Глава 4. Информационные кросс-технологии
Это связано с необходимостью оперативного изменения содер-
жимого словаря и тем, что его объем значительно меньше, чем
объем словарей других типов.
В системе фразеологического перевода используются также
словари словообразовательных эквивалентов и словарей синони-
мов, гипонимов (термины, находящиеся в видовых отношениях
с исходным) и гиперонимов (термины, находящиеся в родовых
отношениях с исходным). Эти словари являются вспомогатель-
ными, они позволяют дополнять словарные статьи основного
словаря: имеющемуся понятию на английском языке ставится в
соответствие не единственный эквивалент русского языка, а не-
сколько вариантов переводных эквивалентов этого понятия.
Системы автоматического перевода
Рассмотрим вкратце характеристики некоторых из таких сис-
тем, предназначенных для достижения максимальной скорости
обработки больших потоков информации.
Скорость перевода страницы текста у разных систем состав-
ляет от 0,5 до 2 с в автоматическом режиме. Полученный в ре-
зультате текст в большинстве случаев понятен сразу. Поэтому,
потратив какие-то минуты на осознание информации, пользова-
тель может сразу сохранить документ для более тщательного изу-
чения.
Основными поставщиками подобных систем в настоящий
момент являются московская компания «Арсеналъ» и санкт-пс-
тербурская «ПРОМТ».
Одним из продуктов «Арсеналъ» является переводчик
«СОКРАТ». Данная система поставляется в комплекте с обще-
лексическим, коммерческим и компьютерным словарями. Дан-
ная база составляет 95 Д требуемого словарного запаса для тек-
стов, которые существуют в электронном виде. Отдельно суще-
ствует 9 дополнительных подключаемых к системе «СОКРАТ»
словарей специализированного назначения, среди которых сло-
вари по медицине, машиностроению, юриспруденции и др.
Интерфейс представляет собой два окна, одно из которых
содержит текст оригинала, а в другом появляется перевод. Из-
вестны версии «СОКРАТа», понимающие соответственно анг-
лийский, немецкий и французский языки. Перевод в любом слу-
4.4. Системы автаматфирааанного и автоматического переыюа 241
час является двухсторонним, т. с. можно переводить нс только с
иностранного языка на русски!1. но и наоборот.
Компания «ПРОМТ» давно специализируется на производст-
ве языковых систем. Системы перевода STYLUS 2.хх и З.хх из-
вестны пользователях! Windows. «PROMT» также комплектуется
общелексическим и компьютерным словарями. Однако основной
особенностью данной программы является наличие гораздо боль-
шего количества подключаемых словарей. Их число составляет на
тайный момент несколько десятков. Существуют четыре коллек-
ции или подборки словарей — наука, коммерция, техника и про-
мышленность. Каждая из коллекций содержит от 5 до 10 словарей
определенной направленности Например, коллекция «Коммер-
ция» содержит словари «Коммерческий». «Информатика» и
«Юридический», причем для всех возможных языковых пар
Системы автоматического перевода Promt и XT-Diamond.
Данные системы являются довольно типичными для рынка
программных продуктов РФ и обеспечивают следующие воз-
можности:
• ручной выбор и настройку словарей предметной области;
• пополнение словарей пользователем:
• автоматическое определение предметной области, при не-
обходимости;
• выборочньп или полный перевод текстового файла;
• редактирование оригинала и результата перевода.
На рис. 4.16—4.19 приведены примеры некоторых экранов
данных систем, иллюстрирующие их возможности.
В табл. 4.4 приведен пример исходного и результирующего
технического текста при автоматизированном переводе различ-
ными системами, и j которого видно, что несмотря на несомнен-
ные успехи в данной области, технология все еще имеет опреде-
ленные резервы для своего совершенствования.
Еще одна тенденция последних лет — слияние речевых тех-
нологий с лингвистическими. Показателен пример L&H. став-
ший действующим липом в области машинного перевода с мо-
мента приобретения фирмы Mendez в 1996 г. После этого к L&H
присоединились AlLogic Corp, и \eocorlecli (специализировав-
шиеся на машинном переводе с английского на японский и с
японского на китайский и обратно), германская фирма Heitmann
Group и, наконец. Globalink. Новая версия известной програм-
мы-переводчика Power Translator Pro фирмы Globalink вышла
уже под маркой L6.H.
242
Глава 4. Информационные кросс-технологии
Таблица 4.4. Исходный и результирующий тексты систем автоматизированного
перевода
Исходный текст
Перевод Сократ
Перевод XT DIAMOND
Most companies offering removable
storage devices will claim that they're
great for backing up hard disks. In
reality, the market they're trying to
muscle in on is outside their
capabilities. The traditional security
backup technology - tape - remains
the best choice, and for two very
good reasons: capacity and cost. The
more inconvenient a security backup
Большинства компаний, предла-
гающих сменные устройства па-
мяти потребует, чтобы они -
большими для поддержки жест-
ких дисков. В действительности,
рынок, которые они пытаются в
мускул в на - за пределами сво-
их возможностей. Резервная
технология традиционной безо-
пасности - лента - остается
Большинство компаний, предла-
гающих сменные устройства хра-
нения будет утверждать, что они I
являются большими для того, что- ।
бы поддержать жесткие диски. I
В действительности, рынок, в ко-
торый они пробуют ворваться -
вне их способностей. Традицион-
ная безопасность резервная тех-
нология - лента(пленка) - оста-
regime is to implement, the less likely
users are to bother. With the size of
the average hard disk now several
gigabytes, tape is generally the only
media that allows a complete hard
disk to be backed-up without
needing to swap media during the
process. Furthermore, removable
storage media is comparatively
expensive, with overall costs up to ten
times that of tape
наилучшим выбором, и для двух
очень хороших причин: возмож-
ность и стоимая. Чем более не-
удобный резервный режим
безопасности должен осуществ-
ляться, тем меньше вероятные
пользователи должны мешать.
IС размером среднего жесткого
। диска теперь несколько гигабай-
тов, лента является обычно
единственным носителем, кото-
рый позволяет полный жесткий
диск, чтобы быть вспомогатель-
ным без необходимости подка-
чать носителя в течение процес-
са. Кроме того, сменный носи-
тель памяти сравнительно
дорог, с общими издержками
десять вплоть до раз (а) того же
самого tape
. ется лучшим выбором, и для двух
! очень серьезных оснований: спо-
собность(вместимость) и стои-
мость. Чем более неудобный
безопасность резервный режим
должен осуществить, тем менее
вероятные пользователи должны
; беспокоиться. С размером сред-
।него жесткого диска теперь не-
сколько гигабайтов, лента(плен-
ка) - вообще единственные СМИ,
который позволяет полному жест-
кому диску быть поддержанным,
не нуждаясь к СМИ обмена в тече-
ние процесса. Кроме того, смен-
ные носители данных сравнитель-
но дороги, с полными затратами
до десяти раз больше чем это
ленты(пленки).
Продукция L&H поддерживает в обшей сложности 25 язы-
ков. Однако еше эффектнее выглядит программа Universal
Translator фирмы LanguageForcc (США). Серия Universal
Translator включает четыре системы машинного перевода, рабо-
тающие с MS Office, имеющие функции распознавания/синтеза
речи и проверки орфографии; при этом Universal Translator 2000
Professional переводит с 40 языков: арабский, китайский (упро-
щенный и традиционный варианты), чешский, датский, нидер-
4.4. Системы адтоматизирован^го и автоматического перевода 243
[fj £рйа Орзсга £нд Всг2С<1 Cttpraz Ьенэтио Перевоз АП Crpw*: Окно > _j sj х|
D Я ft З*13.; й - п -i а б? рог _^' S 3? ?
|Ц йнгго-Р/сскгё - jjjJ инфсснатигз - |гР @ 2 0Z ЕЗ П€^*Е- аз **
__ ж Л ч = = = •- := >>
________________________________
> F.TIXd Z 3 iCl jliv.;-!.. nc-.v С jp-jbi Л у G ГС С *'
-tcau»*? гл’-jTir real у .or ii Je’r'J I •л-l.rii —
ЛС n ? ••-X ’I’ .1 'J-. S ’K tf'J ~ • V II.: II -I Ё M
' 0“ ii-ilihip P '. v.-ач lM-i:iiwil ;ч , lr ч::1»*ч
Негна-'ои^лс-
Рис. 4.16. Переводчик Promt, исходный экран
ест®;. - --bixj
ITjeuiin Ораок-з Bctjd!?3 Сор^эт Ichstiko Пересел 8n £eco*: *>>’C ?
D Й G ft 3е k Л П с Й / | far< 3 01
m .-^.p^ ^шзее^-^г, xj
|/-r jl
xr SU a 4
f> Thio ii odiously
the 'O-iid iwecs
the :n--:.c'eei а_1
-ЙДГП-- !kf> '«Wi
I Нагеа-иг
EyI LI G i
0 ;J| IrJctne’
Cue тема PRC-м’ осуниесдогзет пер*ссд текста
По.га листа, создадите, ту. »зг. з’с- мй’-’ст ис»;зто>:с к>еи\
Имя файла
|ccvnd_cad_Uld
Переселен?
IIIIIIII
О Д A.tiC Jane
□ Й i.CtKi.-?
□ 4 Avisfvn
О LI f; -.н».
Сгооэри | (1п незнакома!* сл>:с.э | [✓! ?.уе»*рс-урс^анч>е сгое-з | g* Срс^итбл |
4rott< полу*мть гк»д«азсу, гынигаР!
Рис 4 17. Promt, процесс перевода
1 1
244
Глава 4. Информационные крое с-технологии
PROMT - й
ЛГМЫ!1Г|1й
й
[>Tj Орзска £нд Вст-зр<-з Сор^зт Тснзтн<з Период й'
D s2> 1й : 3® За
Лнгго-Ряхкий
:азва-ие
I ип слсеам
Я DI Cor; i-u'e ’ S Cf 1=ц ; ).- ли;» й
\ ЕЗ (Л Interne4
\ О Д ЛсЕй-Ufure
О Д /•Aztr.xtive
□ -Л Aviston
□ fj Ftenl
_|р| х|
JBIX]
j § Спзг.зрм | Неснa<orte!& сгс-вэ [ |Й З^езеро-роеан-ыё crosa [ g? ивэ^сува
HfObfcl norlyvs*?fc. ПЗДйСЗЗ£у, нажните FI
Рис. 4.18. Результирующий экран перевода Promt
sound card е<ирмшшя)- »
лэ*!
z йутп Г^.з»'-*з В’Уь Генагикс Г>р-глд £ег«нг
; Э Gg а Ъ 1 - X -S ]Ц - иЦ - Ч. 4 й э_____________________________________________________
Sound 15 6 relatiwHy new c>%pabilit< for PCs because пл-one real.y considered 4 л-hen the PC
wi s fir-si ds si $n« d Th s от ig:na I ISM- с jin pa; bi e PC wi$ zes ig nod a г a bu sir es g i< cd, nd a s a
rrijUimeoja ma; tone. s-; its na’-sly surprising ‘hat nr body thought of inc^udim a dedicated sound
chip in its a?ch4ectu«? Computers, ster a l, w-rc? se&ri zc ?axui&;n£ rn serines the only kind of
sound necessary was the h₽sp that баггрп as a v/arn ng signal for y₽srst :he -pP p Manrinsh
Pad bulk* tn :ou’ie copabirtiss for be/O'd :ne ‘oolrn: c: the езг1у PC’s boo os snJ chcks. and PC’s
v,>dh integrated scund are -s reze’-t pneror.eror.
By the second h i If cf :he 1933; FCs ha J the prgcessirg po-cr grrj stooge c>p xc/ for t’rer to
te able tu handle demanding mu Hi me Jia ar.pl c«lieri^ "7r e sound card t?o ui Derwent « > yr th: ant
3sy:-: - ?7нссиг*игнс ноеая сгилибнить к DC. питэму чга нихто дей с г в ателье *> ее
р ас см<»7:?и?у.с । не с* ита л) >’о, ь о -д 5 ГС б ь! ч с на -тала г=а гр ~*б зтан: пг сд - az 115 ч е н)
Пё рв Он »ч л_г|ь н=1/ |'и:_ ш и чйль - ь и i -: 1 г и = гле _ т имый с Е М f ьл z а *р sb-_ > ан шр ед =- а; н з че ч) ?- а <
дел?вей унс_руиент. не и’дгнна г.г<гьп*мед>ла. к что едва удиентечьнп. что ничто не
Думал О £.КЯЮЧ^ЙН И С ОС ВЧ Щй "НС Г Ci S.£j • Гз, в ;: 0£ АТ £ ДОГ Ю £‘Г О ар з ИТё 11 у р S Кс W Г1Ь KJ Ге рЫ, i
конца кпнцоз. fi нли за М °Ч -Н Я i = к ?Ь’Ч/ Г Г ЦТ АЛЬ “Н <= м ^1.11 ИНЫ рд’.*НС~? А -ням ?ИД ом ?R ; I -а
н ео 5л иди м f й Сь’Л зо у к ев с й : и 'н ал гатор ь й с.го, л:ил ср гчагом пр еду пр ёлдс ни=. В те че •*'Иё
многих л тт, Ыас m! 3Sh 46пока лг.:е г в 'Трс ен ные з=ухо =:ь е:С.ор мал ьн я е) с па с о 5нсети дале--.о
С НО ЦЗ осте П оу <0 ВЫ:' Ст? Гнй ГО £ рЗ th ОГО Р С. И Д1 СТ 41 И „ г PC С об Ъ ОД ИН СИ «Ь Г/ 3 Е •; Oj М - ▼
Чтобы пой>-млть стеавку, на-мите F1 англо-Ртсскги /нт*рн~т >' • ' "^\
Рис. 4.19. Переводчик X-Translator. результирующий экран перевода
4.4. Системы автоматизированного и автоматического перевода 245
ландский, английский британский и американский, эсперанто,
фарси, финский, французский (канадский и европейский вари-
анты), немецкий, греческий, иврит, венгерский, итальянский,
индонезийский, латинский, японский, корейский, норвежский,
польский, португальский (бразильский и европейский вариан-
ты), румынский, русский, словацкий, испанский (латиноамери-
канский и европейский варианты), суахили, шведский, тагаль-
ский, тайский, турецкий, украинский, вьетнамский, зулусский.
Для Universal Translator 2000 Professional объявлена возможность
перевода в любом направлении для любой языковой! пары. Не-
трудно подсчитать, что число таких пар составляет 1560. Кроме
того, программа записывает текст под диктовку', читает вслух и
проверяет грамотность написанного. Вместе с переводчиком по-
ставляются две обучающие игры Space Attack и WortTris, кото-
рые должны, по-видимому, окончательно сразить потребителя и
конкурентов.
Лингвистический анализ текста — обязательная стадия про-
цесса автоматического ввода текста под диктовку. Без этой ста-
дии современное качество распознавания не могло бы быть дос-
тигнуто, и многие эксперты связывают перспективы речевых
систем именно с дальнейшим развитием содержащихся в них
лингвистических механизмов. Как следствие, речевые техноло-
гии делаются все более зависимыми от языка, с которым работа-
ют. В сфере распознавания слитной речи зависимость стала аб-
солютной, что подтверждается, в частности, отрицательным
опытом локализации программного пакета фирмы Dragon
Systems для русского языка (имеется в виду система «Горыныч»,
не показавшая объявленного качества распознавания). Однако и
в других областях работы с речью, включая TTS и даже механиз-
мы редактирования и сжатия, специфика языка все более дает
себя знать. Следовательно распознавание, синтез и обработка
русской речи являются той нишей, занять которую должны
именно российские разработчики.
Контрольные вопросы
1. Перечислите основные принципы распознавания символов (OCR)
2. Что такое OCR А и OCR В?
3. В чем заключается содержание метода сопоставления с образцом?
4. Перечислите основные особенности метода POWR.
246 I шва 4. Информационные нросс-техно.югии
5. Каковы возможности программного продукта Finereader?
6. Что такое принципы IPA?
7. В чем заключается MDA?
8. Что такое бинаризация изображения?
9. Какие типы классификаторов-распознавателей вам известны?
10. Перечислите основные принципы систем распознавания речи (STT).
11. Охарактеризуйте программные продукты STT.
12. Перечислите основные принципы систем генерации речи (TTS).
13. Охарактеризуйте программные продукты TTS.
14. Назовите основные принципы систем автоматизированного перевода.
15. Что такое фразеологический машинный перевод?
16. Какова структура машинного словаря?
17. Назовите возможности системы машинного перевода Promt.
18. В чем заключается интеграция систем перевода и обработки речи?
Глава 5
ТЕХНОЛОГИИ ДОСТУПА К ДАННЫМ.
ФАЙЛОВЫЕ СИСТЕМЫ И БАЗЫ ДАННЫХ
В истории вычислительно.1 техники мо><но проследить две
основные области ее применения:
• первая — выполнение численных расчетов, которые
слишком трудоемки или которые вообще невозможно про-
извотить вручную. Развитие этой области способствовало
интенсификации 1егодов численною решения сложных
математических задач, развитию языков программирова-
ния, становлению обратной связи с разработчиками новых
архитектур ЭВМ:
• вторая область использования вычислительной техники — в
автоматических и ли автоматизированных информаци-
онных системах возникла несколько позже первой.
Это связано с тем, что вначале возможности компьютеров
по хранению информации были очень ограниченными
В самом широком смысле информационная система пред-
ставляет собой программно-аппаратный комплекс, функции ко-
торого состоят в надежном хранении информации в памяти ком
пьютера. выполнении специфических для данного приложения
преобразовании информации и/или вычислений. предоставле-
нии пользователям удобного и легко осваиваемого интерфейса.
Классическими примерами информационных систем явля-
ются банковские системы, системы резервирования авиацион-
ных или железнодорожных билетов, мест в гостиницах и т. д.
5.1. Файловые системы
С появлением магнитны*дисков началась история систем
управления данными во внешней памяти [31] До этою
разработчик каждой прикладной программы, которой требова-
лось хранить данные во внешней памяти, сам определял распо-
248
Глава 5. Технологии доступа к данным...
ложение каждой порции данных на магнитной ленте или бараба-
не и планировал обмены между оперативной памятью и устрой-
ствами внешней памяти.
Историческим шагом явился переход к использованию цен-
трализованных систем управления файл a Nt и. С точки зрения
прикладной программы, файл — это именованная область внеш-
ней памяти, в которую можно записывать и из которой можно
считывать данные. Правила именования файлов, способ доступа
к данным, хранящимся в файле, и структура этих данных зави-
сят от конкретной системы управления файлами и, возможно, от
типа файла. Система управления файлами берет на себя распре-
деление внешней памяти, отображение имен файлов в соответ-
ствующие адреса во внешней памяти и обеспечение доступа к
данным (рис. 5.1).
Устройство
(том)
Физическая
Логические
запись
записи
Каталог
Рис. 5.1. Уровни доступа к данным в абстрактной файловой системе
Первая получившая широкое распространение файловая
система была разработана фирмой IBM для серии компьютеров
360. В этой системе поддерживались как чисто последователь-
ные, так и индексно-последовательные файлы, а реализация во
многом опиралась на возможности только появившихся к этому
времени контроллеров управления дисковыми устройствами.
Структуры файлов
Прежде всего, практически во всех современных компьюте-
рах основными устройствами внешней памяти являются маг-
нитные диски с подвижными головками, и именно
они служат для хранения файлов [24, 25. 31]. Магнитные диски
представляют собой пакеты магнитных пластин (пл аттеров),
между которыми на одном рычаге двигается пакет магнитных
головок. Шаг движения пакета головок является дискретным, и
каждому положению пакета головок логически соответствует ци-
линдр магнитного диска. На каждой поверхности цилиндр «вы-
секает» дорожку, так что каждая поверхность содержит число до-
5.1. Файловые системы
249
рожек, равное числу цилиндров. При разметке магнитного диска
(специальном действии, предшествующем использованию дис-
ка) каждая дорожка размечается на одно и то же количество бло-
ков таким образом, что в каждый блок можно записать по мак-
симуму одно и то же число байтов. Таким образом, для выпол-
нения обмена с магнитным диском на уровне аппаратуры нужно
указать номер цилиндра, номер поверхности, номер блока на со-
ответствующей дорожке и число байтов, которое нужно записать
или прочитать от начала этого блока.
Однако эта возможность обмениваться с магнитными диска-
ми порциями меньше объема блока в настоящее время не ис-
пользуется в файловых системах. Это связано с двумя обстоя-
тельствами:
• аппаратура управления дисками является электронно-меха-
нической, и при выполнении обмена с диском выполняются
три основных действия: подвод головок к нужному цилинд-
ру, поиск на дорожке нужного блока и собственно обмен с
этим блоком. Из всех этих действий в среднем наибольшее
время занимает первое, механическое действие;
• для того чтобы работать с частями блоков, файловая систе-
ма должна обеспечить соответствующий размер буфера
оперативной памяти, что существенно усложняет распреде-
ление оперативной памяти.
Поэтому во всех современных файловых системах явно или
неявно выделяется некоторый базовый уровень. На этом уровне
обеспечивается работа с файлами, состоящими из блоков, прямо
адресуемых в адресном пространстве файла. Размер этих логиче-
ских блоков файла совпадает или кратен размеру физического
блока диска и обычно выбирается равным размеру страницы
виртуальной памяти, поддерживаемой аппаратурой компьютера
совместно с операционной системой.
В некоторых файловых системах базовый уровень доступен
пользователю, но более часто прикрывается некоторым более
высоким уровнем, стандартным для пользователей.
Идентификация файлов
Все современные файловые системы поддерживают много-
уровневое именование файлов за счет поддержания во внешней
памяти дополнительных файлов со специальной структурой —
250
Глава 5. Технологии доступа к данным...
каталогов. Каждый каталог содержит имена каталогов и/или
файлов, содержащихся в данном каталоге. Таким образом, пол-
ное имя файла состоит из списка имен каталогов плюс имя фай-
ла в каталоге, непосредственно указывающем на данный файл.
Разница между способами именования файлов в разных файло-
вых системах состоит в том, с чего начинается эта цепочка имен.
Известны два базовых варианта:
• поддержание изолированных файловых систем. Во многих
системах управления файлами требуется, чтобы каждый ар-
хив файлов (полное дерево справочников) целиком распо-
лагался на одном дисковом пакете (или логическом диске,
разделе физического дискового пакета, представляемом с
помощью средств операционной системы как отдельный
диск). В этом случае полное имя файла начинается с имени
дискового устройства, на котором установлен соответст-
вующий диск. Такой способ именования используется в
файловых системах фирмы DEC, очень близко к этому на-
ходятся и файловые системы персональных компьютеров;
• полностью централизованная файловая система. Впервые
была реализована в операционной системе Multics. В фай-
ловой системе Millies пользователи представляли всю сово-
купность каталогов и файлов как единое дерево. Полное
имя файла начиналось с имени корневого каталога, и
пользователь не обязан был заботиться об установке на
дисковое устройство каких-либо конкретных дисков. Сама
система, выполняя поиск файла по его имени, запрашива-
ла оператора об установке необходимых дисков.
Централизованные файловые системы во многом удобнее
изолированных: система управления файлами принимает на себя
больше рутинной работы. Но в таких системах возникают суще-
ственные проблемы, если кому-то требуется перенести поддере-
во файловой системы на другую вычислительную установку.
Компромиссное решение применено в файловых системах ОС
UNIX. На базовом уровне в этих файловых системах поддержи-
ваются изолированные архивы файлов. Один из этих архивов
объявляется корневой файловой системой. После запуска систе-
мы можно смонтировать корневую файловую систему и ряд изо-
лированных файловых систем в одну общую файловую систему.
Технически это производится с помошью создания в корневой
файловой системе специальных пустых каталогов. Специальная
команда (системный вызов) mount ОС UNIX позволяет подклю-
5.1. Файловые системы
251
чить к одному из этих пустых каталогов корневой каталог ука-
занного архива файлов. После монтирования обшей файловой
системы именование файлов производится так же, как если бы
она с самого начала была централизованной.
Защита файлов
Поскольку файловые системы являются общим хранилищем
файлов, принадлежащих, вообще говоря, разным пользователям,
системы управления файлами должны обеспечивать авториза-
цию доступа к файлам. В общем виде подход состоит в том, что
по отношению к каждому зарегистрированному пользователю
данной вычислительной системы для каждого существующего
файла указываются действия, которые разрешены или запреще-
ны данному пользователю.
В большинстве современных систем управления файлами
применяется подход к защите файлов, впервые реализованный в
ОС UNIX. В этой ОС каждому зарегистрированному пользовате-
лю соответствует пара целочисленных идентификаторов: иден-
тификатор группы, к которой относится этот пользователь, и его
собственный идентификатор в группе. При каждом файле хра-
нится полный идентификатор пользователя, который создал этот
файл, и фиксируется, какие действия с файлом может произво-
дить его создатель, какие действия с файлом доступны для дру-
гих пользователей тон же группы и что могут делать с файлом
пользователи других групп. Эта информация очень компактна,
требующиеся при проверке действия невелики, а такой способ
контроля доступа удовлетворителен в большинстве случаев.
Режим многопользовательского доступа
Если операционная система поддерживает многопользова-
тельский режим, вполне реальна ситуация, когда два или более
пользователя одновременно пытаются работать с одним и тем же
файлом. Если все пользователи собираются только читать файл,
ничего страшного не произойдет. Но если хотя бы один из них
будет изменять файл, для корректной работы этих пользователей
требуется взаимная синхронизация.
252
Глава 5. Технологии доступа к данным...
В системах управления файлами обычно применялся сле-
дующий подход. В операции открытия файла (первой и обяза-
тельной операции, с которой должен начинаться сеанс работы с
файлом) среди прочих параметров указывался режим работы
(чтение или изменение). Если к моменту выполнения этой опе-
рации от имени некоторого пользовательского процесса А файл
уже находился в открытом состоянии от имени некоторого дру-
гого процесса В. причем файл был открыт в режиме, который
несовместим с желаемым режимом открытия (совместимы толь-
ко режимы чтения), то в зависимости от особенностей! системы
процессу А либо сообщалось о невозможности открытия файла в
желаемом режиме, либо он блокировался до тех пор, пока в про-
цессе В не выполнялась операция закрытия файла.
В ранних версиях файловой системы ОС UNIX вообще не
были предусмотрены какие бы то ни было средства синхрониза-
ции параллельного доступа к файлам. Операция открытия файла
выполнялась всегда для любого существующего файла, если
пользователь, от имени которого выполнялся процесс, имел со-
ответствующие права доступа. При совместной работе синхро-
низацию приходилось производить вне файловой системы (и
специальных средств для этого ОС UNIX не предоставляла).
В современных реализациях файловых систем ОС UNIX по вы-
бору поддерживается синхронизация при открытии файлов.
Кроме того, существует возможность синхронизации нескольких
процессов, параллельно модифицирующих один и тот же файл.
Для этого введен специальный механизм синхронизационных
блокировок диапазонов адресов открытого файла.
Области использования файлов
Прежде всего, файлы применяются для хранения тексто-
вых данных: документов, текстов программ и т. д. Такие фай-
лы обычно образуются и модифицируются с помощью различ-
ных текстовых редакторов. Структура текстовых файлов обычно
очень проста: это либо последовательность записей, содержащих
строки текста, либо последовательность байтов, среди которых
встречаются специальные символы разметки (например, симво-
лы конца строки).
Файлы с текстами программ являются входными параметра-
ми компиляторов, которые, в свою очередь, формируют файлы,
5.1. Файловые системы
253
содержащие объектные модули [9]. С точки зрения фай-
ловой системы, объектные файлы также обладают абсолютно
стандартной структурой — это последовательности записей или
байтов. Система программирования накладывает на эту структу-
ру более сложную и специфичную для этой системы структуру
объектного модуля. Подчеркнем, что логическая структура объ-
ектного модуля неизвестна файловой системе, а поддерживается
программами системы программирования.
Заметим, что в отмеченных выше случаях вполне достаточно
тех средств защиты файлов и синхронизации параллельного дос-
тупа, которые обеспечивают системы управления файлами.
Очень редко возникает потребность параллельной модификации
файлов, и, как правило, каждый пользователь может обойтись
своей частной копией.
Другими словами, файловые системы обычно обеспечивают
хранение слабо структурированной информации,
оставляя дальнейшую структуризацию прикладным программам.
В перечисленных выше случаях использования файлов это даже
хорошо, потому что при разработке любой новой прикладной
системы, опираясь на простые, стандартные и сравнительно де-
шевые средства файловой системы, .можно реализовать те струк-
туры хранения, которые наиболее естественно соответствуют
специфике данной прикладной области.
В табл. 5.1 приведены типичные команды обращения к фай-
ловым системам, характерные для различных ОС.
Таблица 5.1. Некоторые команды обращения к файловым системам
различных ОС [31]
Команда (функция) Система
OS/360/370 RSX-11/20 MS DOS UNIX
Подготовка носителей к использованию, работа с каталогами
Инициализация диска, созда- . ние файловых систем INIT INI, FMT FDISK, FORMAT mkfs
; Создание каталогов в ФС DISP=NEW UFD MK mkdir
Проверка диска, файловой сис- темы DASDR /СН К BAD/CHK CHKDISK fchk I
i Проверка или установка файло- । вых атрибутов DISP=SHR, OLD, NEW - ATTRIB file, chmod |
254
Глава 5. Технологии доступа к данным...
Окончание табл. 5.1
— Команда(функция) 1 Система ,
OS/360/370 RSX-11/20 MS DOS UNIX
, Удаление каталога DISP=DELETE PIP,'DE RD rmdir i
Работа с файлами
Копировать файл DISP=NEW, DSNANE=NEWFILE PIP A:=B COPY cp
Переместить файл DISP=(OLD, DELETE) PIPA:=B MOVE mv
Переименовать файл DISP=NEW, DSN=NEWFILE PIP A:=B REN, RENAME mv
Удалить файл DISP=DELETE PIP/DE DEL, ERASE rm i
Поиск в файле по контексту - - FIND grep, awk
' Архивация файла на МД или МЛ DASDR/ DUMP-RESTORE BRU (Backup-restore utility) BACKUP RESTORE TAR
Распечатка содержимого файла IEBGENER -PRINT PIP LP:=... TYPE COPY cat 1
Сравнение файлов - - FC comm (Common) emp (Compare) : diff (difference) j
Файловая система NTFS
Структура файловой системы. Как и любая другая система,
NTFS делит все полезное пространство диска на кластеры —
блоки данных, используемые единовременно. NTFS поддер-
живает различные размеры кластеров — от 512 байт до 64 Кбайт,
стандартом считается кластер размером 4 Кбайт.
Диск NTFS условно делится на две части (рис. 5.2). Первые
12 % диска отводятся под так называемую М FT-зону — про-
странство. в котором размещен метафайл MFT (Master File
Table). Запись каких-либо данных в эту область невозможна.
MFT-зона всегда держится пустой — это делается для того, что-
5. J. Файловые системы
255
Место под файлы Место под файлы
Копия первыых записей MFT
Рис. 5.2. Структуре лиска М TFS
бы главный служебный файл г XI FT * не фрагментировался при
своем расширении. Остальные 88 'с диска представляют собой
прос транство для размещения файлов.
Свободное место диска, однако, включает в себя все физиче-
ски свободное место — незаполненные участки MFT-зоны гуда
тоже включаются. Механизм использования MF1 зоны таков:
когда файлы уже нельзя записывать в обычное пространство,
MFT-зона сокращается, освобождая место для записи файлов.
При освобождении участка обычной области MFT-зона может
снова расшириться.
Структура MFT. Каждый элемент файловой системы NTFS
представляет собой файл, даже служебная информация. Как уже
говорилось, главный файл NTFS называется MFT, или Master
File Table — общая таблица фай юв, которая размещается в
MFT-зоне и представляет собой централизованный каталог всех
остальных файлов диска. MFT полелей на записи фиксированно-
го размера (обычно 1 Кбайт), и каждая запись соответствует ка-
кому-либо файлу. Первые 16 фаллов носят служебный характер и
недоступны операционной системе — они называются мета-
файлами. причем самый первый из них — сам MFT. Эти пер-
вые 16 элементов VI FT — единственная часть диска, имеющая
фиксированное положение. Фетальная часть MFT-файла может
располагаться, как и любой другой файл, в произвольных местах
диска — восстановить его положение можно с помощью его са-
мого. используя за основу первый элеменл VI FT.
Все пространство тома NTFS представляет собой либо файл,
либо часть файла. Главная таблица файлов содержит по крайней
мере одну запись для каждого файла тома, включая одну запись
для самой себя.
256
Глава 5. Технологии доступа к ванным...
Все файлы на томе NTFS идентифицируются номером фаи
ла, который определяется позицией файла в MFT. Каждый файл
и каталог на томе NTFS определяется набором атрибутов.
Базовая единица распределения дискового пространства для
файловой системы NTFS — кластер. Размер кластера выражает-
ся в байтах и всегда равен целом количеству физических секто-
ров. В качестве адреса файла N 1 FS использует номер кластера, а
нс физическое смешение в секторах или бантах.
Загрузочный сектор тома NTFS располагается в начале тома,
а его копия — в середине юма. Загрузочный сектор состоит из
стандартного блока параметров BIOS, количества секторов в
томе, а также начального логического номера кластера основной
копии MFT и зеркальной конин МГГ
Каждый атрибут файла NTFS состоит из полей: гип атри-
бута, длина атрибута, значение атрибута и. возможно. имя ат-
рибута.
"Имеется системный набор атрибутов, определяемых структу-
рой тома NTFS. Системные атрибуты имеют фиксированные
имена и коды их типа, а также определенный формат. Могут
применяться также атрибуты, определяемые пользователями. Их
имена, типы и форматы задаются исключительно пользователем.
Атрибуты файлов упорядочены по убыванию кода атрибута,
причем атрибут одного и того же типа может повторяться не-
сколько раз. Существует два способа хранения атрибутов фай-
ла — резидентное хранение в записях таблицы MFT и
нерезидентное хранение вне ее. Сортировка может осу-
ществляться только по резидентным атрибутам. Файлы NTFS
состоят, по крайней мерс, из атрибутов, приведенных в табл 5.2.
Размещение файлов. Небольшие файлы (small). Если
файл имеет небольшой размер, то он может целиком распола-
гаться внутри одной записи IFT размером 2 Кбайт (рис. 5.3, а).
Из-за того, что файл может иметь перс ценное количество атри-
бутов, а также из-за переменного размера атрибутов нельзя на-
верняка утверждать. чго файл уместится внутри записи. Однако,
обычно файлы разхиром менее 1500 бант помешаются внутри
записи МГТ.
Большие файлы (Large). Если файл не вмешается в
одну запись MFT. то этот факт отображается в значении атрибу-
та «данные», который содержит признак того, что файл является
нерезидентным и находится вне таблицы MFT. В этом случае ат-
рибут «данные» содержит номер кластера для первого кластера
5.1. Файловые системы
257
Таблица 5.2. Список атрибутов файла (на примере ФС NTFS)
№ Атрибут Пояснение
1 Attribute List Определяет список атрибутов, которые являются допустимыми для данного конкретного файла
2 File Name (FN) Содержит длинное имя файла, а также номер входа в таблице МП для родительского каталога; если этот файл содержится в несколь- ких каталогах, то у него будет несколько атрибутов типа «File Name»; этот атрибут всегда должен быть резидентным
3 MS-DOS Name Имя файла в формате 8.3
4 Version Атрибут содержит номер последней версии файла
5 Security Descriptor (SD) Информация о защите файла: список прав доступа ACL и поле ауди- та, которое определяет, какого рода операции над этим файлом нужно регистрировать
6 Volume Version Версия тома, используется только в системных файлах тома
7 Volume Name Метка тома
8 Volume Information Номер версии NTFS
9 Data Содержит обычные данные файла
10 MFT bitmap Содержит карту использования секторов на томе
11 Index Root Корень В-дерева, используемого для поиска файлов в каталоге
12 Index Allocation Нерезидентные части индексного списка В-дерева
13 External Attribute Information Номер первого кластера и количество кластеров нерезидентного ат- рибута
14 Standard Information (SI) Хранит всю остальную стандартную информацию о файле, которую трудно связать с каким-либо из других атрибутов файла, например, время создания файла, время обновления и др.
каждого фрагмента данных (data mn), а также количество непре-
рывных кластеров в каждом фрагменте (рис. 5.3, б).
Очень большие файлы (huge). Если файл настолько
велик, что его атрибут данных не помешается в одной записи, то
этот атрибут становится нерезидентным, т. е. он размешается в
другой записи таблицы MFT, ссылка на которую помещена в ис-
ходной записи о файле (рис. 5.3, в). Эта ссылка называется
внешним атрибутом (external attribute). Нерезидентный атрибут
содержит указатели на фрагменты данных.
258
Глава 5. Технологии доступа к данным...
Н I SI | FN | Data | SD ~~|
а
Запись в MFT
в
Запись в MFT
г
Рис. 5.3. Размещение файлов в NTFS:
а — небольшие файлы: Н — заголовок (header); SI — стандартная информация
(standard information); FN — имя файла (file name); Data — данные; SD — деск-
риптор безопасности (security descriptor); б — большие файлы; в — очень боль-
шие файлы: ЕА — внешний атрибут (external attribute); г — сверхбольшие файлы
Сверхбольшие файлы (extremely h tig е). Для сверх-
больших файлов внешний атрибут может указывать на несколько
нерезидентных атрибутов (рис. 5.3, г). Кроме того, внешний ат-
5.1. Файловые системы
259
рибут, как и любой другой атрибут, может храниться в нерези-
дентной форме, поэтому в NTFS не может быть атрибутов слиш-
ком большой длины, которые система не может обработать.
Каталоги. Каждый каталог NTFS представляет собой один
вход в таблицу MFT, который содержит список файлов специ-
альной формы, называемый индексом (index). Индексы позволя-
ют сортировать файлы для ускорения поиска, основанного на
значении определенного атрибута. В файловых системах FAT и
HPFS используется сортировка файлов по имени. NTFS позво-
ляет использовать для сортировки любой атрибут, если он хра-
нится в резидентной форме. Имеется две формы списка файлов.
Небольшие списки файлов (small indexes). Если
количество файлов в каталоге невелико, то список файлов мо-
жет быть резидентным в записи в MFT, являющейся каталогом.
В этом случае он называется небольшим каталогом (рис. 5.4, а).
Небольшой список файлов содержит значения атрибутов файла.
По умолчанию — это имя файла, а также номер записи MTF,
содержащей начальную запись файла.
Большие списки файлов (large index). По мере
того, как каталог растет, список файлов может потребовать не-
резидентной формы хранения. Однако начальная часть списка
Рис. 5.4. Каталоги в NTFS:
а — небольшие каталоги (#### — признак конца списка файлов); б — большие
каталоги
260
Глава 5. Технологии доступа к данным...
всегда остается резидентной в корневой записи каталога в табли-
це MFT (рис. 5.4, б). Имена файлов резидентной части списка
файлов являются узлами В-дерева. Остальные части списка фай-
лов размешаются вне \1FT. Для их поиска используется специ-
альный атрибут «размещение списка» (Index Allocation — IA).
представляющий собой набор номеров кластеров, которые ука-
зывают на остальные части списка. Одни части списков являют-
ся листьями дерева, а другие — промежуточными узлами, т е. со-
держат наряду с именами файлов атрибут Index .Allocation, ука-
зывающий на списки файлов более низких уровней.
Имена файлов
NTFS поддерживает имена файлов длиной до 255 символов.
Имена файлов NFFS используют набор символов UNICODE с
16-битов1 ми символами \TFS автоматически генерирует под-
держиваемое MS-DOS имя для каждого файла. Таким образом,
файлы NTFS могут использоваться в сети операционными сис-
темами MS-DOS и OS/2.
Поскольку NTFS использует набор символов UNICODE для
имен файлов, существует возможность использования некото-
рых запрещенных в MS-DOS символов. Для генерации коротко-
го имени файла в стиле MS-DOS NTFS удаляет все запрещен-
ные символы, точки (кроме одной), а также любые пробелы из
длинного имени файла. Далее имя файла усекается до 6 симво-
лов, добавляется тильда (~) и номер. Расширение имени файла
усекается до 3 символов.
Короткие имена файлов с длинными русскими именами об-
разуются по особой схеме, в зависимости от типа используемой
файловой системы.
Другие особенности ФС
Надежность NTFS. NTFS является восстанавливаемой
(recoverable) файловой системой, которая может привести себя в
корректное состояние при практически любых реальных сбоях.
Любая современная файловая система основана на таком поня-
тии, как транзакция — действие, совершаемое целиком и кор-
ректно или не совершаемое вообще.
5.1. Файловые системы
261
Журналирование — средство, позволяющее существен-
но сократить число ошибок и сбоев системы. Опыт показывает,
что NTFS восстанавливается в полностью корректное состояние
даже при сбоях в очень загруженные дисковой активностью мо-
менты. Она гарантирует согласованность данных тома, исполь-
зуя стандартную процедуру регистрации транзакций. Каждая
операция ввода-вывода, которая изменяет файл на томе NTFS,
рассматривается файловой системой как транзакция.
При модификации файла специальная компонента файловой
системы — сервис регистрации файлов (Log File
Service) — фиксирует всю информацию, необходимую для по-
вторения (redo) или отката (undo) транзакции в специальном
файле с именем $LogFile. Если транзакция не завершается
нормально, то NTFS пытается закончить транзакцию (повто-
рить) или производит ее откат.
Для обеспечения сохранности пользовательских данных ис-
пользуется программная поддержка массивов RAID (Redundant
Array of Inexpensive/Independent Disks — см. рис. 5.16) [24, 25].
В сочетании с поддержкой зеркализации дисков или
расщепления с контролем четности (RAID 5) NTFS
может выдержать любой одиночный сбой. В Windows NT под-
держиваются уровни 0, 1 и 5. В RAID 0 данные расщепляются на
блоки по 64 Кбайт, поддерживается от 2 до 32 дисков. RAID 1
осуществляется на уровне разделов, т. е. зеркализируются имен-
но разделы. При отказе зеркализованного раздела администра-
тор должен отменить отношения зеркализации, чтобы использо-
вать оставшийся раздел как отдельный том. Затем можно ис-
пользовать свободный раздел на другом диске, чтобы вновь
установить зеркальные отношения. Зеркализации может быть
подвергнут любой раздел, включая загрузочный (Boot Partition).
В принципе зеркализация является более дорогим способом, чем
другие, так как коэффициент использования дискового про-
странства составляет только 50 %, с другой стороны, для неболь-
ших сетей это весьма приемлемый вариант, так как для его реа-
лизации достаточно только двух дисков.
RAID 5 требует минимум трех дисков (максимум 32 диска),
поддерживает файловые системы FAT, NTFS, причем загрузоч-
ный раздел не может быть расщеплен. Если отказывает диск,
входяший в состав массива RAID 5, то компьютер может про-
должать работу и получать доступ к данным. Однако данные от-
казавшего диска будут в течение всего времени регенерироваться
262
Глава 5. Технологии доступа к данным...
на основании данных других дисков, и производительность сис-
темы может упасть. Можно воссоздать данные отказавшего дис-
ка на новом диске. Для этого нужно иметь свободный раздел ни
каком-либо работоспособном диске равного или большего раз-
мера. чем отказавший. Затем запускается процедура восстанов-
ления данных из пункта Regenerate меню Fault Tolerance угили-
ты Disk Manager.
NTFS поддерживает также «горячее» переназначе-
ние секторов, когда при возникновении ошибки из-за нали-
чия плохого сектора данные переписываются в новый хороший
сектор, а сбииньш исключается из работы. .Администратор уве-
домляется с помощью утилиты просмотра событий Event \iewer
о всех событиях, связанных с обработкой сбойных секторов, а
также о потенциальной угрозе потери данных, если избыточная
копия также отказывает.
Сжатие. N TFS имеет встроенную поддержку сжатия дис-
ков — то, для чего раньше приходилось использовать Stacker или
DoubleSpace. Любой файл или каталог в индивидуальном поряд-
ке может храниться на диске в сжатом виде — этот процесс про-
зрачен для приложений. Сжатие файлов осуществляется с высо-
кой скоростью, однако при этом часто возникает отрицательный
эффект — фраг ментация сжатых файлов. Сжатие осуществляется
блоками по 16 кластеров и использует так называемые вирту-
альные кластеры — гибкое решение, позволяющее добить-
ся полезных эффектов, например, половина файла может быть
сжата, а половина — нет. Это достигается благодаря тому, что
хранение информации о компрессированное! и определенных
фрагментов очень похоже на обычную фрагментацию файлов.
Сжатый файл имеет «виртугетьныс» кластеры, реальной ин-
формации в которых нет. Как только система обнаруживает та-
Блок 16 кластеров
Реальные кластеры Виртуальные Виртуальные
1|2|з|4|5|б|7 | 8 [~9~[~10|ll| 12|l3i14]l5,16[l7jl8]49 20 21^22123-24 [Т|
| 1 |2 | 3 | 4 | 5 |б | 7 | 8 | 9 |10 |11 |12113 |l4115 116 |l7 |l8 | ...~|
Физические кластеры (на диске)
Рис. 5.5. Реализация сжатия данных
5.1. Файловые системы
263
кие виртуальные кластеры, это означает, что данные предыдуще-
го блока, кратного 16 кластерам, должны быть разжаты, а полу-
чившиеся данные должны заполнить виртуальные кластеры.
Hard Link — один и тот же файл может иметь два имени (не-
сколько указателей файла-каталога или разных каталогов ссыла-
ются на одну и ту же MFT-запись). Допустим, один и тот же
файл имеет имена l.txt и 2.txt. и если пользователь удалит
файл l.txt, останется файл 2.txt, наоборот, если сотрет
2 . txt — останется файл 1. txt, т. е. оба имени с момента созда-
ния файла равноправны. Файл физически удаляется лишь тогда,
когда будет удалено его последнее имя.
Шифрование (NT5). Каждый файл или каталог может также
быть зашифрован, что не даст возможность прочесть его другой
инсталляцией ОС NT. В сочетании со стандартным паролем на
загрузку системы, эта возможность обеспечивает достаточную
для большинства применений безопасность избранных пользо-
вателем важных данных.
В табл. 5.3 приведены некоторые характеристики ФС ряда
различных ОС.
Таблица 5.3. Сравнительные характеристики ФС ПЭВМ
Характеристика Файловая система
FAT16 FAT32 NTFS
Системы, ее под- держивающие DOS, Windows9X, NT всех версий Windows98, NT5 NT4, NT5
Максимальный раз- мер тома 2 Гбайт Практически не ограничен | Практически не ограничен
Максимальное чис- ло файлов на томе Примерно 65 тысяч Практически не ограничено Практически не ограничено
Имя файла С поддержкой длинных имен - 255 символов, системный набор символов С поддержкой длинных имен - 255 символов, системный набор символов 255 символов, любые символы любых алфави- тов (65 тысяч разных начертаний)
Возможные атрибу- ты файла Базовый набор Базовый набор Любая информация, акту- альная с точки зрения производителей про- граммного обеспечения
Безопасность Нет Нет Начиная с NT 5.0 встроена возможность физически шифровать данные
264
Глава 5. Технологии доступа к данным...
Окончание табл. 5.3
Характеристика Файловая система
FAT16 FAT32 NTFS
Сжатие Нет Нет Да
Устойчивость к сбоям Средняя (система слиш- ком проста и поэтому мало что подвержено раз- рушению) Плохая (средства оптими- зации по скорости приве- ли к появлению слабых по надежности мест) Полная - автоматическое восстановление системы при любых сбоях (не счи- тая физические ошибки записи, когда пишется одно, а на самом деле за- писывается другое)
Экономичность Минимальная (велики размеры кластеров на больших дисках) Улучшена за счет умень- шения размеров класте- ров Максимальна. Очень эф- фективная и разнообраз- ная система хранения данных
Быстродействие Высокое для малого числа файлов, но быстро умень- шается с появлением большого количества фай- лов в каталогах; резуль- тат - для слабо заполнен- ных дисков - максималь- ное, для заполненных - плохое Полностью аналогично FAT, но на дисках большо- го размера (десятки гига- байт) начинаются серьез- ные проблемы с общей организацией данных Система не очень эффек- тивна для малых и про- стых разделов (до 1 Гбайт), но работа с or- I ромными массивами дан- | ных и внушительными ка- талогами организована как нельзя более эффек- тивно и очень сильно пре- восходит по скорости дру- гие системы
5.2. Базы данных и СУБД
Множество функций управления данными ФС оказывается
недостаточным для решения задач поддержки информационных
систем. Предположим, что мы хотим реализовать простую ин-
формационную систему, осушествляюшую учет сотрудников не-
которой организации. Система должна выдавать списки сотруд-
ников в соответствии с указанными номерами отделов, поддер-
живать функции регистрации перевода сотрудника из одного
отдела в другой, приема на работу новых сотрудников и увольне-
ния работающих. Для каждого отдела должна поддерживаться
возможность получения имени руководителя этого отдела, общей
численности отдела, обшей суммы выплаченной в последний раз
5.2. Базы данных и СУБД
265
зарплаты и т. д. Для каждого сотрудника должна поддерживаться
возможность выдачи номера удостоверения по полному имени
сотрудника, выдачи полного имени по номеру удостоверения,
получения информации о текущем соответствии занимаемой
должности сотрудника и о размере зарплаты.
Предположим, что мы решили реализовать эту информаци-
онную систему на основе файловой системы и пользоваться при
этом одним файлом, расширив базовые возможности файловой
системы за счет специальной библиотеки функций. Поскольку
минимальной информационной единицей в нашем случае явля-
ется сотрудник, естественно потребовать, чтобы в этом файле
содержалась одна запись для каждого сотрудника. Очевидно, что
поля таких записей должны содержать полное имя сотрудника
(сотр_имя), номер его удостоверения (сотр_номер) , информа-
цию о его соответствии занимаемой должности (сотр_статус —
для простоты «да» или «нет»), размер зарплаты (сотр_зарп),
номер отдела (сотр_отд_номер). Поскольку мы хотим ограни-
читься одним файлом, эта же запись должна содержать имя ру-
ководителя отдела (сотр_отд_рук).
Для выполнения функций нашей информационной системы
требуется возможность многоключевого доступа к этому файлу
по уникальным ключам (не дублируемым в разных записях)
сотр_имя и СОТР _НСУЕР. Кроме того, должна обеспечиваться
возможность выбора всех записей с общим заданным значением
сотр_отд_номер, т. е. доступ по неуникальному ключу. Чтобы
получить численность отдела или общий размер зарплаты, ин-
формационная система должна будет каждый раз выбирать все
записи о сотрудниках отдела и подсчитывать соответствующие
общие значения.
Таким образом, для реализации даже такой простой системы
на базе файловой системы:
• во-первых, требуется создание достаточно сложной над-
стройки, обеспечивающей многоключевой доступ к фай-
лам;
• во-вторых, неизбежны существенная избыточность хране-
ния (для каждого сотрудника данного отдела повторяется
имя руководителя отдела) и выполнение массовой выборки
и вычислений для получения сводной информации об от-
делах.
Вообще, согласованность данных является ключе-
вым понятием баз данных. На самом деле, если информацион-
266
Глава 5. Технологии доступа к данным...
ная система поддерживает согласованное хранение информации
в нескольких файлах, можно говорить о том, что она поддержи-
вает базу данных. Если же некоторая вспомогательная система
управления данными позволяет работать с несколькими файла-
ми, обеспечивая их согласованность, можно назвать ее системой
управления базами данных. Уже только требование поддержания
согласованности данных в нескольких файлах не позволяет
обойтись библиотекой функций: такая система до. 1жна обладать
некоторыми собственными данными (метаданными) и даже зна-
ниями, определяющими целостность данных.
Далее, представим себе, что в первоначальной реализации
информационной системы, основанной на использовании биб-
лиотек расширенных методов доступа к файлам, обрабатывается
операция регистрации нового сотрудника. Следуя требованиям
согласованного изменения файлов, информационная система
вставила новую запись в файл СОТРУДНИКИ и приступает к моди-
фикации файла отделы, но именно в этот момент произошло
аварийное выключение электрического питания. Очевидно, что
после перезапуска системы се база данных будет находиться в
рассогласованном состоянии. Потребуется выяснить
это (а для этого нужно явно проверить соответствие информа-
ции в файлах сотрудники и отделы) и привести информацию в
согласованное состояние.
Системы управления базами данных (СУБД)
берут такую работу на себя. Прикладная система обязана знать,
какое состояние данных является корректным, но всю техниче-
скую работу принимает на себя СУБД
Наконец, представим себе, что мы хотим обеспечить па-
раллельную (например, многотерм инальную) работу с
базой данных сотрудников. Если опираться только на использо-
вание файлов, то для обеспечения корректности и зменений на
все время модификации любого из двух файлов доступ других
пользователей к этому файлу будет блокирован (вспомните воз-
можности файловых систем для синхронизации параллельного
доступа). Таким образом, зачисление на работу Петра Ивано-
вича Сидорова существенно затормозит получение информа-
ции о сотруднике Иване Сидоровиче Петрове, даже если они
будут работать в разных отделах. Реальные СУБД обеспечивают
гораздо более тонкую синхронизацию параллельного доступа к
данным.
5.2. Базы данных и СУБД 267
Таким образом, СУБД решают множество проблем, которые
затруднительно или вообще невозможно решить при использо-
вании файловых систем. При этом существуют:
• приложения, для которых вполне достаточно файлов;
• приложения, для которых необходимо решать, какой уро-
вень работы с данными во внешней памяти для них тре-
буется.
• приложения, для которых безусловно нужны базы данных.
Модели данных и структура БД
Понятие МД в первую очередь относится к фактографиче-
ским или шбличным БД. Поскольку в данном случае БД являет-
ся информационной моделью определенной предметной облас-
ти, существенной особенностью всякой БД является структура
или, как принято говорить, модель данных (МД)
Рассмотрим некоторые наиболее известные (или «замеча-
тельные») модели данных — иерархическую, сетевую,
реляционную.
Иерархическая МД (ИМД). Впервые реализована в СУБД
IBM — IMS (Information Management System), разработанной
для поддержки банка тайных по программе Apollo. При данном
подходе предметная область представляется в виде совокупности
структур иерархического типа (граф — «дерево»).
Основные понятия ИМД
• поле — минимальная единица данных;
• сегмент (узел) — совокупность пилой, являющаяся едини-
цей обмена между БД и прикладной программой Сегмент
(узел иерархического графа) более высокого уровня назы-
вается исходным (роиительским) по отношению к ниже рас-
положенному порожденному (отпрыску). Может использо-
ваться также терминология «узел, принадлежащий выше-
стоящему узлу».
Конкретные данные, входящие в сегмент, называются экзем-
пляром сегмента.
В ИМД существуют также следующие понятия:
• брат — узел, имеющий того же родителя, что и другой
узел;
• ветвь — узел дерева вместе со всеми его отпрысками, отда-
ленными потомками и родительскими источниками;
268
Гiaea 5. Технологии доступа к данным...
• аист — узел, у которого нс г отпрысков;
• обход дерева — процесс обследования по очереди каждого
узла дерева в иерархической модели данных, и пр.
Преимущества IMS и реализованной в ней иерархической
модели:
• простота модели. Принцип построения IMS тегок для по-
нимания. Иерархия базы данных напоминает структуру
компании или генеалогическое дерево;
• использование отношении предок/потомок. СУБД IMS по-
зволяла легко представлять отношения предок—потомок
(или часть—целое, причина—следствие), например: «А яв-
ляется частью Б» или «А владеет В»;
• быстродействие. В СУБД IMS отношения предок/потомок
были реализованы в виде физических указателей от одной
записи к другой, вследствие чего перемещение по базе дан-
ных происходило быстро. Поскольку структура данных в
этой СУБД отличалась простотой, IMS могла размешать
записи предков и потомков на диске рядом друг с другом,
что позволяло свести к минимуму котичество операций за-
писи-чтения.
Существенно то. что физическая организания БД в
этом случае такова, что выбрать конкретные сведения об объек-
тах можно, лишь пройдя всю цепочку групп (сегмен-
тов) сверху вниз (путь на иерархическом дереве) Данная схема
наиболее проста, но не лишена очевидных недостатков.
В частности, в связи с полииерархичностью связей объектов
в реальном мире в подобных БД необходимо создавать и поддер-
живать несколько иерархических отношении, что нарушает ос-
новную идею модели данных.
Сетевая модель данных (модель CODASYL). В предложенной
CODASYL модификации иерархической модели одна запись
могла участвовать в нескольких отношениях предок/потомок.
В сетевой модели такие отношения называются множества-
ми (set). В 70-е гг. независимые производители программного
обеспечения реализовали сетевую модель в таких продуктах, как
IDMS компании Cullinet, Total компании Cincom, которые при-
обрели большую популярность. Сетевые БД обладали рядом пре-
имуществ:
• гибкость — множественные отношения предок—потомок
позволяют сетевой БД хранить данные, структура которых
сложнее обычной иерархии;
5.2. Базы данных и СУБД
269
• стандартизованность — соответствие стандарту CODASYL;
• быстродействие — вопреки своей сложности, сетевые БД
достигали быстродействия, сравнимого с быстродействием
иерархических БД. Множества были представлены указате-
лями на физические записи данных, и в некоторых систе-
мах администратор мог задать кластеризацию данных на
основе множества отношении
Неюстаток — жесткость БД, наборы отношений и структуру
записей приходилось задавать заранее. Изменение структуры
данных означало перестройку всей БД
Реляционная модель данных и операции
над отношениями
В то время как иерархическая модель в своей основе являет-
ся формализацией и обобщением по шзовательских свойств не-
которой конкретной системы (IMS), в случае реляционной мо-
дели сначала были разработаны некоторые математические ос-
новы и лишь через 5—10 лет появились первые коммерчески
эффективные системы.
Реляционная модель предложена сотрудником компании
IBM Е. Ф. Коддом в 1970 г. В настоящее время эта модель явля-
ется фактическим стандартом, на который ориентируются прак-
тически все современные коммерческие СУБД.
В реляционной модели достигается гораздо более высокий
уровень абстракции данных, чем в иерархической или сетевой.
Это обеспечивается за счет использования математической
теории отношений (само название «реляционная» проис-
ходит от английского relation — «отношение»).
Определения. Перейдем к рассмотрению структурной части
реляционной модели данных. Прежде всего необходимо дать не-
сколько определений.
Декартово произведение', для заданных конечных множеств
£>i. Z>2, --•> (не обязательно различных) декартовым (прямым)
произведением Z), х D-, х ... х Dx называется множество набо-
ров: {J|, dy, .... d\}. где dt eD,, d- eD., ds e D.s.
Например, если даны тва множества / = {я,, а2, д,} и В = {Ь}, Ь2},
их декартово произведение будет иметь вид
с=/х £={0,,*,}, {atb2}, {a2,bj, {а2,Ь2}, {а.,Ь,}, {а3,Ь2}}.
270
Глава 5. Технологии доступа к данным...
Отношение-, отношением R, определенным на множествах
D\, Di, ..., D,y, называется подмножество декартова произведения
D\ х Di х ... х При этом:
множества D}, D2, называются доменами отношения;
элементы декартова произведения {d , d?, ..., t/J называются
кортежами-,
число N определяет степень отношения (N= 1 — унарное,
N= 2 — бинарное, ..., Лт-арное);
количество кортежей называется мощностью отношения;
На множестве С из предыдущего примера могут быть опре-
делены отношения
Я, ={{Г7„ Ь,}, {о3,/>_,}} или R, ={{«,,/>,}, {а,, />,}, {ор6,}}.
Отношения удобно представлять в виде таблиц. Строки
таблицы называются экземплярами отношения, столб-
цы — атрибутами, каждый атрибут имеет область значений,
называемую доменом На рис. 5.6 представлена таблица (отно-
шение степени 5), содержащая некоторые сведения о деталях ав-
томобилей.
Л
Имя столбца^)
Имя таблицы^)
Деталь
Е
Номер_ детали Название_детали Количество Вес Материал
123-476А Втулка 12 000 0.8 Сталь
581-93С Педаль 10 000 1.0 Сталь
256-3/К Ступица 5000 0.5 Сталь
421/27Р Передний тормоз 11 000 0,5 Алюминий
573/21К Крыло 300 0,7 Пластмасса
Алюминий
Первичный ключ
Материал
Стекло
Сталь
Пластмасса
Рис 5.6. Таблица (отношение) реляционной .модели данных
Так, таблица Деталь содержит сведения обо всех деталях,
хранящихся на складе, а ее строки являются наборами значе-
ний атрибутов конкретных деталей. Каждый столбец табли-
цы — это совокупность значений конкретного атрибута объек-
та. Столбец Материал может содержать конечный перечень
5.2. Базы данных и СУБД
271
значений — Сталь, Олово, Цинк, Никель и т. Л. В столбце Ко-
личество содержатся целые неотрицательные числа. Значения
в столбце Вес — вещественные числа, равные весу детали в ки-
лограммах.
Каждый атрибут определен на домене, поэтому домен
(domain) можно рассматривать как множество допустимых зна-
чений данного атрибута. Так. значения в столбце Материал вы-
бираются из множества имен всех возможных материалов —
пластмасс, древесины, металлов и т. д. Следовательно, в столбце
Материал невозможно появление значения, которого нет в соот-
ветствующем домене, например. Вода или Песок.
Каясдый столбец имеет имя, которое обычно записывается в
верхней части таблицы (рис. 5.6). Оно должно быть уникальным
в таблице, однако различные таблицы могут иметь столбцы с
одинаковыми именами. Любая таблица должна иметь по край-
ней мере один столбец; столбцы расположены в таблице в соот-
ветствии^ порядком следования их имен при ее создании. В от-
личие от столбцов, строки нс имеют имен; порядок их следова-
ния в таблице не определен, а количество логически не
ограничено.
Так как строки в табтиие не упорядочены, невозможно вы-
брать строку по ее позиции — среди них не существует «пер-
вой», «второй», «последней». Любая таблица имеет один или не-
сколько столбцов, значения в которых однозначно идентифици-
руют каждую се строку. Такой столбец (или комбинация
столбцов) называется первичным ключом (primary key).
В таблице Деталь первичный ключ — это столбец Номер_дета-
ли. В нашем примере каждая деталь на складе имеет единствен-
ный номер, по которому из таблицы Деталь извлекается необ-
ходимая информация. Следовательно, в этой таблице первичный
ключ — это столбец Номер_детали. В этом столбце значения нс
могут дублироваться — в таблице Деталь не должно быть строк,
имеющих одно и то же значение в столбце Номер_детали. Если
таблица удовлетворяет этому требованию, она называется отно-
шением (relation).
Взаимосвязь таблиц является важнейшим элементом реляци-
онной модели данных. Она поддерживается внешними ключами
(external). Рассмотрим пример, в котором база данных хранит
информацию о рядовых служащих (таблица Служащий) и руко-
водителях (таблица Руководитель) в некоторой организации
(рис. 5.7). Первичный ключ таблицы Руководитель — столбец
272
Глава 5. Технологии доступа к данным...
Первичный ключ
Руководитель
Номер Фамилия Отдел Стаж
5742 Васильев 26К 25
6931 Успенский 31С 27
2345 Воробьев 19И 21
Внешний ключ
Сотрудник
Номер Фамилия Номер руководи tjprf" Должность
4781 Юдин С5742>"' у / м. н. с.
5325 Шадрин 6931 / с. н. с
3120 Яковлев С5742^7 Н. С.
1230 Кротов 2345 вед. инж.
2138 Куркин 6931 ст. инж.
Рис. 5.7. Взаимосвязь таблиц базы данных
Номер (например, табельный номер). Столбец Фамилия не может
выполнять роль первичного ключа, так как в одной организации
могут работать два руководителя с одинаковыми фамилиями.
Любой служащий подчинен единственному руководителю, что
должно быть отражено в базе данных. Таблица Служащий содер-
жит столбец Номер_руководителя, и значения в этом столбце
выбираются из столбца Номер таблицы Руководитель (см.
рис. 5.7). Столбец Номер_Руководителя является внешним
ключом в таблице Служащий.
Таблицы невозможно хранить и обрабатывать, если в базе
данных отсутствуют «данные о данных» (метаданные), на-
пример, описатели таблиц, столбцов и т. д. Метаданные также
представлены в табличной форме и хранятся в словаре данных
(DD — data dictionary) или описателе Б)! (DBD — data base
definition) — служебном файле или системной таблице БД.
Помимо таблиц в базе данных могут храниться и другие объ-
екты, такие, как экранные формы, отчеты (reports),
представления (views) и прикладные программы,
работающие с базой данных.
Для пользователей информационной системы недостаточно,
чтобы база данных просто отражала объекты реального мира.
Важно, чтобы такое отражение было однозначным и непротиво-
речивым. В этом случае говорят, что база данных удовлетворяет
условию целостности (integrity).
Для того чтобы гарантировать корректность и взаимную не-
противоречивость данных, па базу данных накладываются нско-
5.2. Базы данных и СУБД
273
торые ограничения, которые называют ограничениями цело-
стности (data integrity constraints).
Существует несколько типов ограничений целостности. Тре-
буется, например, чтобы значения в столбце таблицы выбира-
лись только из соответствующего домена. На практике учитыва-
ют и более сложные ограничения целостности, например цело-
стность по ссылкам (referential integrity). Ее суть
заключается в том. что внешний ключ не можег быть указателем
на несуществующую строку в таблице.
Свойства отношений.
Отсутствие ко рте же й-л убл и катов. Из этого свой-
ства вытекает наличие у каждого кортежа первичного ключа.
Для каждого отношения. но крайней мере, полный набор его ат-
рибутов является первичны1’ купоном. Однако при определении
первичного ключа должно соблюдаться требование мини-
мальности, т. е. в него нс должны входить те атрибуты, кото-
рые можно отбросить без ущерба для основного свойства пер-
вичного ключа — однозначно определять кортеж.
Отсутствие упорядоченности атрибутов. Для
ссылки на значение атрибута всегда используется имя атрибута.
Атомарность значений атрибутов, т. е. среди зна-
чений домена не могут содержаться множества значений (отно-
шения).
Реляционная алгебра. Важных’ отличием РМД является воз-
можность применения формального аппарата, описывающего
преобразование и обработку данных в РМД — реляционной ал-
гебры.
Операндами реляционной алгебры являются отношения как
постоянные, так и переменные.
Операции реляционной алгебры включают следующие преоб-
разования отношений.
А. Теоретико- множественные операции над несколькими по-
добными (имеющими одинаковую структуру: число атрибутов,
их имен, домены и т. д.). отношениями, в том числе объеди-
нение. пересечение, разность.
Б. Операции над одним отношением:
• селекция, или построение отношения-результата из отно-
шения-источника путем отбора экземпляров, удовлетво-
ряющих некоторому критерию отбора. Операция селекции
соответствует поиску информации в БД по логическим ус-
274
Глава 5. Технологии доступа к данным...
ловиям; (find ... with, find...where, locate, cm.
табл. 5.5);
• проекция, или построение результирующего отношения пу-
тем отбора части атрибутов всех экземпляров исходного отноше-
ния. Данной операции в реальных СУБД соответствует понятие
пользовательской подсхемы и операции выдачи необходимых
данных (DISPLAY. VIEW. SET FORM TO, REPORT FORM...).
В. Операции над несколькими различными отношениями.
Назовем только естественное соединение (соединение). Опе-
рация заключается в поиске в паре (или большем числе) отно-
шений строк, содержащих обший атрибут, и создания из этих
строк экземпляра результирующего отношения.
В СУБД соединению соответствует поиск связанных дан-
ных или логическое (физическое) связывание файлов
(FIND...COUPLED, SET RELATION TO, JOIN).
Реляционная алгебра позволяет рассматривать операции вво-
да, вывода, поиска коррекции и удаления данных в БД как вы-
числение отношений-результатов через исходные отношения.
При этом исходным отношением может быть внешний (вход-
ной) формат данных, а результирующим — внутренний (храни-
мый) или, наоборот, исходным — внутренний, а результирую-
щим — внешний (выходной).
Язык SQL
С целью стандартизации формального описания запросов к
базе данных они формулируются на стандартном языке запросов
(ЯМД — язык манипулирования данными), которым для многих
СУБД является SQL [8].
Появление и развитие этого языка как средства описания
доступа к базе данных связано с созданием теории реляционных
баз данных. Прообраз языка SQL возник в 1970 г. в рамках науч-
но-исследовательского проекта System/R, работа над которым
велась в лаборатории Санта-Тереза фирмы IBM, и со временем
развился в стандарт интерфейса с реляционными СУБД и разра-
ботчики нереляционных СУБД снабжают свои системы SQL-ин-
терфейсом.
Язык SQL имеет официальный стандарт — ANSI/ISO. Боль-
шинство разработчиков СУБД придерживаются этого стандарта,
5.2. Базы санных и СУБД
275
однако часто расширяют его для реализации новых возможно-
стей обработки данных.
SQL нс является яияком программирования в традиционном
представлении. На нем пишутся не программы, а запросы к базе
данных. Поэтому SQL — декларативный язык. Это означает, что
с его помощью можно сформулировать, что необходимо полу-
чить, но нельзя указать, как это еле хует сделать. В частности, в
отличие or процедурных языков программирования (С, Pascal,
Fortran), в языке SQL отсутствуют такие операторы, как
if-then-else, for, while и т. л.
Запрос на языке SQL состоит из одного или нескольких опе-
раторов, следующих один за другим и разделенных точкой с за-
пятой. В табл. 5.4 перечислены некоторые операторы, которые
входят в стандарт ANSI/ISO SQL.
Таблица 5.4. Основные операторы языка SQL
Оператор Выполняемое действие
SELECT Выбрать строку (группу строк) из таблицы базы данных
INSERT Добавить строку (группу) в таблицу базы данных
UPDATE Изменить строку (группу) таблицы базы данных
DELETE Удалить строку (группу) из базы данных
GRANT Предоставить привилегии пользователю
REVOKE Отменить привилегии пользователя
COMMIT Зафиксировать текущую транзакцию
В запросах на языке SQL используются имена, которые од-
нозначно идентифицируют объекты базы данных. В частности,
это — имя таблицы (Деталь), имя столбца (Название детали),
а также имена других объектов в базе, которые относятся к до-
полнительным типам (например, имена процедур и правил) На-
ряду с простыми используются также сложные имена — напри-
мер, квалифицированное имя столбца (qualified
column name) определяет имя столбца и имя таблицы, кото-
рой он принадлежит (Название_детали.Вес).
276
Глава 5. Технологии доступа к данным...
Каждый столбец в любой таблице хранит данные определен
ных типов. Различают базовые типы данных — строки символов
фиксированной длины, целые и вещественные числа, и допол-
нительные типы данных — строки символов переменной длины,
денежные единицы, дату и время, логические данные (значе-
ния — Истина и Ложь). В языке SQL можно использовать число-
вые, с 1 роковые, символьные константы и константы типа Дата
и Время.
Рассмотрим несколько примеров.
Запрос: определить количество деталей на складе для
всех типов деталей реализуется следующим образом:
SELECT г1азвание_детали, Количество
FROM Деталь.
Результатом запроса будет таблица с двумя столбцами — На-
звание_детали и Количество, которые взяты из исходной таб-
лицы Деталь. По сути, этот запрос позволяет получить проек-
цию исходной таблицы — из строк таблицы Деталь образуются
строки, которые включают значения, взятые из двух столбцов —
Название_детали и Количество.
Запрос: какие детали, изготовленные из стали, хра-
нятся на складе?, сформулированный на языке SQL, выгля-
дит так:
SELECT *
FROM Деталь
WHERE Материал = 'Сталь'.
Результатом этого запроса также будет таблица, содержащая
только тс строки исходной таблицы. которые имеют в столбце
Материал значение Сталь. Этот запрос позволяет получить се-
лекцию таблицы Деталь (звездочка в операторе SELECT озна-
чает выбор всех столбцов из таблицы).
Запрос: определить название и количество деталей на
складе, которые изготозле.-.ы из пластмассы и весят ме-
нее пяти килограммов будет записан следующим образом:
SELECT Название_детали, Количество
FROM Деталь
WHERE Материал = 'Пластмасса'
AND Вес < 5
5.2. Базы данных и СУБД
277
Результат запроса — таблица из двух столбцов — Назва-
ние_детали, Количество, которая содержит название и число
деталей, изютовленных из пластмассы и весящих менее 5 кг. По
сути, операция выборки является операцией селекции (найти
все строки таблицы Деталь, у которых Материал
'Пластмасса' и Вес < 5), а затем — п р о е к ц и и (извлечь На-
звание_детали и Количество из выбранных ранее строк).
Одним из средств, обеспечивающих быстрый доступ к табли-
цам. являются индексы. Индекс — это служебная структура
(указатель) базы данных, представляющая собой указатель на
конкретную строку таблицы. Он содержит значения, взятые из
одного или нескольких столбцов конкретной строки таблицы, и
ссылку на эту строку. Значения в индексе упорядочены, что по-
зволяет СУБД выполнять быстрый поиск в таблице.
Допустим, что сформулиоован запрос к базе данных Склад:
SELECT Название_,петали Количество, Материал
FROM Деталь
WHERE Номер = 'Т145-А8';
Если индексов для данной таблицы не существует, то для
выполнения этого запроса СУБД должна просмотреть всю таб-
лицу деталь, послелогагсльно выбирая из нее строки и прове-
ряя для каждой из них условие выбора (последовательное скани-
рование). Для больших таблиц такой запрос будет выполняться
очень долго.
Если же был предварительно создан индекс по столбцу Но-
мер таблицы Деталь, то время поиска в таблице будет сокраще-
но до минимума. Индекс будет содержать значения из столбца
Номер и ссылку на строку с этим значением в таблице Деталь.
При выполнении запроса СУБД вначале найдет в индексе значе-
ние 'Т145-А8' (и сделает это быстро, так как индекс упорядочен,
а его строки невелики), а затем по ссылке в индексе определит
физическое расположение искомой строки.
Индекс создастся оператором SQL CREATE INDEX (СОЗДАТЬ
ИНДЕКС). В данном примере оператор
CREATE UNIQUE INDEX И:-:деЛс_детали
ON Деталь (Номер);
позволит создать индекс с именем Инлекс_дегали по столбцу
Номер таблицы Деталь.
278
Глава 5. Технологии доступа к данным...
Для пользователя СУБД интерес представляют не отдельные
операторы языка SQL, а некоторая их последовательность,
оформленная как единое целое и имеющая смысл с его точки
зрения. Каждая такая последовательность операторов языка SQL
реализует определенное действие над базой данных. Оно осуще-
ствляется за несколько шагов, на каждом из которых над табли-
цами базы данных выполняются некоторые операции. Так, в
банковской системе перевод некоторой суммы с краткосрочного
счета на долгосрочный выполняется в несколько операций. Сре-
ди них — снятие суммы с краткосрочного счета, зачисление на
долгосрочный счет.
Если в процессе выполнения этого действия произойдет
сбой, например, когда первая операция будет выполнена, а вто-
рая — нет, то деньги будут потеряны. Следовательно, любое дей-
ствие над базой данных должно быть выполнено целиком, или
не выполняться вовсе. Такое действие получило название
транзакции.
Язык SQL является реляционно полным, т. е. сово-
купность операторов языка обеспечивает необходимый минимум
операций реляционной алгебры (селекция, проекция, соедине-
ние и пр.).
Завершая обсуждение языка SQL, еще раз подчеркнем, что
это — язык запросов. На нем нельзя написать сколько-нибудь
сложную прикладную программу, которая работает с базой
данных. Для этой цели в современных СУБД используются
языки четвертого поколения (Forth Generation Language —
4GL), обладающие как основными возможностями процедур-
ных языков третьего поколения (3GL), таких, как Си, Паскаль,
Ада, так и возможностью встроить в текст программы операто-
ры SQL, а также средствами управления интерфейсом пользо-
вателя (меню, формами, вводом пользователя и т. д.). Сегодня
язык 4GL — это один из фактических стандартов средств раз-
работки приложений, работающих с базами данных. Более
подробное описание одного из 4GL (Adabas/Natural) читатель
может найти, например, в [14]. В табл. 5.5 приводятся некото-
рые команды манипулирования данными других языков и сис-
тем [14].
Таблица 5.5. Некоторые команды манипулирования (энными различных СУБД и ДИНС
Объекты Системы
или операции STAIRS ADABAS FoxPro Irbis ORACLE/SQL
Открыть (закрыть сеанс, । базу данных) .DIAL INIS ..OFF OP FILE, CL FILE USE FILENAME, CLEAR ALL Пункт меню БАЗА ДАННЫХ START, QUIT
Инверсный поиск записей SEARCH FIND WITH SEEK FIND Все поиски SELECT FROM... WHERE...
Сканирующий поиск ..SELECT FIND WHERE LOCATE (CONTINUE). EDIT FOR. WHILE Нет SELLCT FROM... WHERE...
Чтение в физическом по- рядке ..BROWSE READ BY ISN READ PHYSICAL SET INDETO SKIP ,CDIT, Пункт меню СОРТИРОВАТЬ ORUFR BY
1 Чтение в логическом поряд- ке, группирование записей (прерывание) .BROWSE READ BY, READ LOGICAL, SORTED.. (AT BREAK...) SET INDEX TO SORT BY СОРТИРОВАТЬ ORDER BY, (GROUP BY...)
Удаление записи, вставка записи, изменение записи Для пользователя - нет DELETE, STORE. UPDATE DELETE, INSERT, REPLACE BY... Для пользователя - нет DELETE. INSERT, UPDATE
Вывод строки данных 1 _ Нет WRITE SAY, ?,?? ПЕЧАТЬ SOL'REPORT
5.2. Базы данных и СУБД 279
Окончание табл. 5.5
Объекты или операции Системы
STAIRS ADABAS FoxPro Irbis ORACLE/SQL S0LT0RM, SQL'REPORT
Задние формата выдачи ..BROWSE DISPLAY CREATE FORM, CREATE REPORT СПИСОК ФОРМАТОВ .СХЕМ)
Вывод отчета BROWSE DISPLAY REPORT ПРОТОКОЛ SOL-FORM, SOL-REPORT
Вывод/ввод экрана Агрегатные функции Подсчет числа выдан- ных документов INPUT/ RFINPUT MAX, MIN, AVER, COUNT EDIT Задаю ся при создании формата ПЕЧАТЬ, ВЫВОД В ФАЙЛ Нет SOL-FORM. SOL-REPORT MAX, MIN, AVER, COUNT
Создание файла, базы дан- ных READER LOADER CREATE STRUCTURE Утилита IRBISDDM CREATE DATABASE, TABLE
Удаление файла Нет DBMOD команда ОС DEL - DROP TABLE
Создание/ модификация структуры Нет LOADER FILEMOD CREATE/MODIFY STRUCTURE - ALTER TABLE (AiTLR, DROP COLUMN)
Создание подсхем 1 .. Команда ..BROWSE _ MAINT CREATE/MODIFYV1EW, SCREEN - CREATE VIEW
280 l.iaea 5. Техно юг и и доступа к данным...
5.2. Базы данных и СУБД
281
Модель «сущность—связь»
Модель сущность—связь или Entity-Relationship (ER) пред-
ставляет собой обобщение РМД путем разделения отношений,
описывающих предметную область на две группы — сущностей и
связей.
Сущность (Entity) является первичным, устойчивым
объектом, описываемым некоторой совокупностью атрибутов.
Связь (Relationship) является вторичным понятием,
характеризующим взаимодействие в пространстве и времени
двух или более сущностей, и также задается рядом атрибутов,
среди которых присутствуют идентификаторы взаимосвязанных
сущностей. При проектировании БД на основе ER-моделей ис-
пользуют ER-диаграммы. Модель ER является удобным средст-
вом описания предметной области перед тем, как перейти к ее
представлению в реляционной модели данных.
Основные представления о структуре БД в рамках указанной
модели заключаются в следующем:
а) совокупность сущностей и связей образует концептуальную
схему базы данных и отражает структуру предметной области.
Элементами схемы являются типы (классы) сущностей и связей;
типы состоят из экземпляров, описывающихся значениями ат-
рибутов. На рис. 5.8 приведен пример фрагмента диаграммы
«сущность — связь», описывающей учебный процесс вуза. Здесь
сущностями ЯВЛЯЮТСЯ ФАКУЛЬТЕТ, ДИСЦИПЛИНА, СПЕЦИАЛЬНОСТЬ
(с возможными атрибутами, например наименование, про-
должительность ОБУЧЕНИЯ, ЧИСЛО ЧАСОВ И пр.). СВЯЗЯМИ ЯВ-
ЛЯЮТСЯ выпускает, включает (возможные атрибуты —
КВАЛИФИКАЦИЯ, семестр обучения и пр.);
Рис. 5.8. Пример диаграммы «сущность—связь»
282
Глава 5. Технологии доступа к данным...
б) концептуальная схема трансформируется в логическую схе-
му, в которой сущностям и связям соответствуют отношения или
логические файлы, состоящие соответственно из экземпляров от-
ношений и логических записей. Логическая запись является бо-
лее общим образом, чем отношение (строка данных), поскольку
допускает появление групповых полей (или агрегатных данных),
соответствующих некоторым зависимым сущностям (или свя-
зям). В повторяющемся групповом поле экземпляр группы есть
описание экземпляра сущности (связи) посредством соответст-
вующих атрибутов. Групповые повторяющиеся поля представля-
ет собой элемент иерархической модели данных, который при
желании может применяться пользователями;
в) следующий уровень — физическая реализация БД в форме
файлов операционной системы ЭВМ. При этом в различных
конкретных системах логическому файлу может отвечать один
или более физических файлов (или наоборот). Физическая за-
пись, как правило, включает одну или более логических записей;
г) уровень представлений пользователя описывает БД в виде
совокупности пользовательских подсхем, которые применяются
для ввода/вывода информации. С представлениями пользователя
связаны также понятия маски редактирования (преобразования
данных при окончательном представлении пользователю), и ко-
дирования/декодирования (трансляции кодов) — расширения крат-
ких представлений данных и аббревиатур с помощью вспомога-
тельных файлов и кодовых таблиц (по своей сути — операция
соединения отношений в РМД).
Структуры баз данных
Рассмотрим вкратце обобщенные логическую и физическую
структуры БД.
Логическая структура БД (рис. 5.9) предполагает следующие
уровни рассмотрения БД:
• база данных (database) — включает одну или несколько под-
баз (файлов, таблиц, массивов), каждая из которых состоит
из агрегатов данных (записей, документов) — record. Запись
идентифицируется внутренним номером (ISN — internal
sequential number, ВНЗ — внутренний номер записи,
SDN — sequential document number и пр.);
5.2. Базы данных и СУБД
283
Рис. 5.9. Основные элементы логических структур данных в БД:
1 — поля записей табличных (реляционных) баз данных (ORACLE, FoxPro,
Acesss); 2 — поля записей (документов) постреляционных БД (ADABAS); 3 —
поля документов ИПС (STAIRS, Dialog, IRBIS, ISIS); 4 — данные, которые мо-
гут быть связаны с полями базы данных
• запись (документ) — совокупность разнотипных и разно-
структурных данных, описывающих (относящихся к) объ-
ект реального мира, элемент предметной области АИС. За-
пись состоит из полей (field);
• поле — именованный элементарный или составной фраг-
мент записи (документа), содержащий информацию об оп-
ределенном аспекте (аспектах) элемента (элементов) пред-
метной области.
284
Глава 5. Технологии доступа к данным...
• элементарные (имеющие фиксированную или ограничен-
ную длину) и нс содержащие входящих в них структур
данных;
• составные (групповые) поля, образующиеся как агрегаты
элементарных и также имеющие фиксированную и ограни-
ченную длину (реже — переменную или неопределенную,
что связано с количеством вхождений элемента в агрегат);
• текстовые — поля переменной (неопределенной) длины и
сложной внутренней структуры (обычно это иерархическая
последовательность типа РАЗДЕЛ-ПОДРАЗДЕЛ-ПРЕДЛ ЖЖЕ-
НИЕ-СЛОВО);
• бинарные — данные, интерпретируемые как поля, однако
обычно физически не входящие в состав записей БД. Не-
обходимо отметить, что поля данного типа (BLOB — Binary
Large Object) фактически являются данными, до обработки
которых данная СУБД еще «не доросла» и поэтому работа с
ними возлагается на пользователя (прикладные програм-
мы). В частности, в системах FoxBase и Clipper большие
текстовые (так называемые МЕМО) потя также не обраба-
тываются системой и фактически оказываются в статусе
BLOB;
• типы данных, определяемые пользователем. Далеко нс все
современные СУБД поддерживают типы данных, опреде-
ленные пользователем. Пока только СУБД Ingres включает
такой механизм Эта система предоставляет программисту
возможность определять собственные типы данных и опе-
рации над ними и использовать их в операторах SQL. Для
определения нового типа данных необходимо написать и
откомпилировать функции на языке Си, после чего со-
брать редактором связей некоторые модули Ingres. Отме-
тим, что введение новых типов данных является, по сути,
изменением ядра СУБД. Важно также то, что в Ingres типы
данных, определяемые пользователем, могут быть парамет-
ризованными.
Определение нового типа данных сводится к указанию его
имени, размера и идентификатора в глобальной структуре опи-
сывающей типы данных. Чтобы с новым типом данных можно
было использовать функции, которые реализуют стандартные
операции (сравнение, преобразование в различные форматы,
и т. д.), программист должен разработать их самостоятельно (ин-
терфейс функций предопределен). Указатели на эти функции
5.2. Базы данных и СУБД
285
являются элементами глобальной структуры. Как только новый
тип данных определен, то все операции выполняются над ним,
как над данными стандартного типа. Разрешение пользователю
создавать собственные типы данных по сути является одним из
шагов развития реляционных СУБД в направлении объектно-реля-
ционных систем.
Поля, указанные в заштрихованных прямоугольниках (см.
рис. 5.9) относятся к фактографическим АИС, остальные — к до-
кументальным.
Физическая структура БД в общем случае имеет вид, приве-
денный на рис. 5.10, и включает следующие компоненты:
• файл (файлы) исходных (первичных) данных (текстов, бинар-
ных данных) содержит собственно объекты, подлежащие
поиску, обработке и пр.;
Рис. 5.10. Обобщенная физическая структура данных в БД
286
Глава 5. Технологии доспп па к данным...
• файл (файлы) вторичной (справочной) информации (регист-
рационные карты, библиографические реестры и пр.) со-
держит описания исходных элементов (объектов). Важным
видом справочных файлов являются классификаторы, ко-
дификаторы, тезаурусы, обеспечивающие полноту и ком-
пактность представления информации в БД;
• индекс — файл (файлы), связывающий адрес (номер) объ-
екта с его содержанием (значением атрибута объекта),
обычно состоит из инверсного списка и частотного слова-
ря, который облегчает составление запросов на поиск и по-
вышает обозримость Б, 1,
• словарь данных — файл, содержащий составленное с необ-
ходимой степенью подробности описание состава БД, до-
кументов, записей, агретатов данных, их имена, типы и
структуры, способы интерпретации и обработки.
Изменение содержания БД может осуществляться как в ре-
жиме конечного пользователя (диалоговый ввод или коррекция
записей/документов по полям) — обычный для СУБД и редкий
для ЛИПС, так и в режиме администратора БД (обычный для
АИПС и реже для СУБД), при этом происходит массовый ввод
или загрузка записей / документов.
При любом виде добавления документа/записи для каждого
поля осуществляется анализ, обработка и согласованное поме-
щение документа и его фрагментов в соответствующие физиче-
ские файлы БД
В конкретных случаях возможна менее полная комплект-
ность приведенной физической схемы:
• в фактографических (табличных) БД вторичный файл мо-
жет являться основным накопителем информации, а тек-
стовые и бинарные данные фигурируют в качестве необя-
зательного приложения;
• в справочно-библиографических БД текстовые данные на-
ходятся во вторичном файле, а первичный отсутствует;
• в БД с полнотекстовым поиском может отсутствовать вто-
ричный файл, а индексирование (построение частотных
словарей и инверсных списков) проводится по первичному
файлу (страницы или абзацы полных текстов);
• может отсутствовать частотный словарь или инверсный
список.
5.2. Базы данных и СУБД
287
Надо отмстить также вариативность физической реализации
и взаимосвязи лингвистического и информационного обеспече-
ния АИС:
• словарь данных может физически входить в информацион-
ные файлы (первичный или вторичный);
• классификаторы, кодификаторы, тезаурусы могут быть
оформлены как физическими файлами (файлами ОС), так
и входить в состав БД в виде отдельных таблиц (файлов
БД, массивов и пр.) на логическом уровне и т. п.
Обработка транзакций
Транзакция — законченный блок обращений к ресурсу (как
правило, базе данных) и некоторых действий над ним. представ-
ляет собой последовательность операторов ЯМД, которая рас-
сматривается как некоторое неделимое действие над базой дан-
ных, осмысленное с точки зрения пользователя. В то же время
это логическая единица работы системы. Транзакция реализует
некоторую прикладную функцию, например перевод денег с од-
ного счета на другой в банковской системе.
Традиционные транзакции характеризуются четырьмя свой-
ствами: атомарности, согласованности, изолиро-
ванности, долговечности (прочности) — ACID
(Atomicity, Consistency, Isolation, Durability). Иногда традицион-
ные транзакции называют ACID-транзакциями. Упомянутые
выше свойства означают следующее:
• атомарность — операции транзакции образуют нераздели-
мый, атомарный блок с определенным началом и концом.
Этот блок либо выполняется от начала до конца, либо не
выполняется вообще. Если в процессе выполнения тран-
закции произошел сбой, происходит откат (backup, воз-
врат) к исходному состоянию;
• согласованность гарантирует, что по мерс выполнения
транзакций данные переходят из одного согласованного
состояния в другое — транзакция не разрушает вгаимной
согласованности данных;
• изолированность — одновременный доступ транзакций
различных приложений к разделяемым ресурсам, коорди-
нируется таким образом, чтобы эти транзакции нс влияли
друг на друга. Конкурирующие за доступ к базе данных,
288
Глава 5. Технологии доступа к данным-
гранзакции физически обрабатываются последовательно,
изолированно друг от друга, но для пользователей это вы-
глядит так, как будто они выполняются параллельно;
• долговечность — если транзакция завершена успешно, то
тс изменения в тайных, которые были при этом произведе-
ны, не мог}» быть потеряны ни при каких обстоятельствах
(даже в случае последующих ошибок).
Расширенные транзакции допускают формирование из
ACID-транзакций иерархических структур Если конкретная чо
дель ослабляет некоторые из требований ACID, то речь идет об
ослабленной транзакции.
Возможны два варианта завершения транзакции. Если все
операторы'выполнены успешно, и в процессе выпо 1нения тран-
закции нс произошло никаких сбоев программного или аппарат-
ного обеспечения, транзакция фиксируется.
Фиксация транзакции — это действие, обеспечиваю-
щее запись на диск изменений в базе данных, которые были
сделаны в процессе выполнения транзакции. До тех пор, пока
транзакция не зафиксирована, возможно аннулирование этих
изменений, восстановление базы данных в то состояние, в кото-
ром она была на момент начала транзакции. Фиксация означа-
ет, что все результаты выполнения транзакции становятся по-
стоянными
Если в процессе выполнения транзакции случилось нечто та-
кое, что делает невозможным ее нормальное завершение, база
данных должна быть возвращена в исходное состояние. Откат
транзакции — это действие, обеспечивающее аннулирование
всех изменений данных, которые были сделаны в теле текущей
незавершенной транзакции.
Каждый оператор в транзакции выполняет свою часть рабо-
ты, но для успешного завершения всей работы в целом требуется
безусловное завершение их всех. Группирование операторов в
транзакции сообщает СУБД, что вся эта i руппа должна быть вы-
полнена как единое целое, причем такое выполнение должно
поддерживаться автоматически.
В стандарте ANSI/ISO SQL определены мотель транзакций и
функции операторов COMMIT и rollback. Стандарт определяет,
что транзакция начинается с первого SQL-оператора, иниции-
руемого пользователем или содержащегося в программе Все по-
следующие SQL-операторы составляют тело транзакции. Тран-
5.2. Базы данных и СУБД
289
закция завершается одним из четырех возможных способов
(рис. 5.11):
• оператор commit означает успешное завершение .ранзак-
ции; его использование делает постоянными изменения,
внесенные в базу данных в рамках текущей транзакции;
• оператор ROLLBACK прерывает транзакцию, отменяя изме-
нения, сделанные в базе данных в рамках этой транзакции;
новая транзакция начинается непосредственно после ис-
пользования ROLLBACK:
• успешное завершение программы, в когирой была иниции-
рована текущая транзакция, означает успешное завершение
транзакции (как будто был использован оператор commit) ;
• ошибочное завершение программы прерывает транзакцию
(как будто был использован оператор rollback).
Точки сохранения применяются, как правило, в протяжен-
ных транзакциях и позволяют разделить транзакцию на не-
База данных в целостном состоянии Транзакция < База данных в целостном состоянии Транзакция \ > — J
UPDATE UPDATE UPDATE UPDATE
1 I
> г COMMIT COMMIT COMMIT COMMIT
о- t T 1 A V /
INSERT INSERT INSERT INSERT
J DEL ETE 4 ROLLBACK I DELETE I Программа? прервана j 1
COMMIT Программа завершена
База данных в целостном ► состоянии -—- - —
Рис. 5.11. Модель транзакции ANSI/ISO
290
Глава 5. Технологии доступа к данным...
сколько небольших осмысленных фрагментов. Пользователь
может зафиксировать работу в любой точке транзакции с тем,
чтобы выполнить ее откат к состоянию, соответствующему этой
точке.
Откат и фиксация транзакций становятся возможными
благодаря журналу транзакций. Он используется следующим
обра юм.
Операции над реляционной базой данных суть операции над
строками таблиц. Следовательно, для обеспечения отката таб-
лиц к предыдущим состояниям достаточно хранить нс состоя-
ния всей таблицы, а лишь ге се строки, которые подверглись
и вменениям
Важные проблемы многопользовательских СУБД связаны с
организацией с помощью механизма транзакций итновременно-
го доступа множества пользователей к одним и тем же данным.
Они (проблемы) кратко могут быть сформулированы как потеря
изменений, незафиксированные изменения и ряд других, более
сложных проблем.
Потеря изменений происходит в ситуации, кота две или не-
сколько программ читают одни и те же данные, вносят в них ка-
кие-либо изменения и затем пытаются одновременно записать
результат по прежнему месту. При этом в базе данных могут
быть сохранены изменения, выполненные только одной про-
граммой — ipyrne изменения бу пут потеряны.
Проблема незафиксированных изменений возникает в случае,
когда в процессе выполнения транзакции одной программой в
данные были внесены изменения, которые тут же прочитала
другая программа, однако затем в первой программе транзак-
ция была прервана оператором rollback. Может оказаться,
что вторая программа прочитала неверные, незафиксированные
данные.
Очевидно, что необходима определенная дисциплина обра-
ботки транзакций, позволяющая устранить проблемы, описан-
ные выше, и им подобные. Такая дисциплина существует и опи-
рается на следующие прави ia:
• в процессе выполнения транзакции пользователь (npoipaM
ма) «видит» только согласованные состояния базы данных.
Пользователь никогда нс может получить доступ к неза-
фиксированным изменениям в данных, достигнутым в ре-
зультате действий друтого пользователя (программы);
5.2. Базы данных и СУБД
291
• если две транзакции, А и В, выполняются параллельно, то
СУБД полагает, что результат будет такой же, как если бы:
— транзакция А выполнялась первой, а за ней была выпол-
нена транзакция В;
— транзакция В выполнялась первой, а за ней была выпол-
нена транзакция А.
Эта дисциплина известна как сериализация транзакций. Фак-
тически она гарантирует, что каждый пользователь (программа),
обращающийся к базе данных, работает с ней так, как будто не
существует других пользователей, одновременно с ним обра-
щающихся к тем же данным. Для практической реализации
этой дисциплины большинство СУБД используют механизм
блокировок.
Механизм блокировок разрешает проблемы, связанные с дос-
тупом нескольких пользователей к одним и тем же данным. Од-
нако его применение связано с существенным замедлением об-
работки транзакций, вызванным необходимостью ожидания, ко-
гда освободятся данные, захваченные конкурирующей
транзакцией. Можно попытаться минимизировать вызванные
этим задержки, локализуя фрагменты данных, захватываемые
транзакцией. Так, СУБД может блокировать всю базу данных
целиком (очевидно, что это неприемлемый вариант), таблицу
базы данных, часть таблицы, отдельную строку (уровни блоки-
ровки). Современные СУБД используют, как правило, блоки-
ровки на уровне частей таблиц (страниц), записей,
полей (атрибутов).
На практике могут происходить взаимоблокировки несколь-
ких транзакций. Для их предотвращения СУБД периодически
проверяет блокировки, установленные активными транзакция-
ми. Если СУБД обнаруживает взаимоблокировки, она выбира-
ет одну из транзакций, вызвавшую ситуацию взаимоблокиров-
ки, и прерывает ее. Это освобождает данные для внесения из-
менений конкурирующей транзакцией, разрешая тупиковую
ситуацию.
В современной литературе часто встречается термин OLTP
(On-Line Transaction Processing), который обычно переводят как
«оперативная обработка транзакций», т. е. выполнение транзак-
ций в режиме реального времени. Система OLTP обязана учи-
тывать жесткие временные требования, следующие из специфи-
ки прикладной области. Например, процедура покупки и
оформления авиабилета должна происходить быстро и не задер-
292
Глава 5. Технологии доступа к данным...
живать очередь. Система, регистрирующая продажи билетов,
должна обрабатывать одновременно несколько сотен запросов
(транзакций), поступающих от множества продавцов авиабиле-
тов. Требования по скорости обработки запроса могут быть
очень жесткими, олнако вызваны они требованиями реальной
жизни. Если говорить о прикладных областях OLTP, то это,
прежде всего, центры кредитных карточек, системы резервиро-
вания авиабилетов и мест в отеля», телекоммуникационные
системы и т. л.
Классы и структуры систем управления
базами данных
Проблемы совместного использования данных и периферий-
ных устройств компьютеров и рабочих станций породили модель
вычислений, основанную на концепции файловою сервера —
сеть создаст основу для коллективной обработки, сохраняя про-
стоту использования персонального компьютера, позволяет со-
вместно использовать данные и периферию.
В этом смысле главной отличительной чертой БД является
использование центра щзованной системы управления данными,
причем как на уровне файлов, так и на уровне элементов дан-
ных. Централизованное хранение совместно используемых дан-
ных приводит нс только к сокращению затрат на создание и
поддержание данных в актуальном состоянии, но и к сокраще-
нию избыточности информации, упрощению процедур поддер-
жания непротиворечивости и целостности данных.
СУБД (DBMS — database management system) — комплекс
языков и программ, позволяющий создавать БД и управлять сс
работой. СУБД обрабатывает поступающие от пользователей и
прикладных процессов обращения к БД, а затем выдаст необхо-
димые им сведения. СУБД характеризуется используемой моде-
лью и средствами администрирования, разработки прикладных
процессов, работы в информационной сети
Эффективное управление внешней памятью является основ-
ной функцией СУБД. Эти, обычно специализированные, сред-
ства определяют эффективность системы. Без них она нс смо-
жет выполнять некоторые задачи ягже потому, что их выполне-
ние будет занимать слишком много времени. При этом ни одна
из таких специализированных функции, как построение индек-
5.2. Базы данных и СУБД
293
сов, буферизация данных, организация доступа и оптимизация
запросов, не является видимой для пользователя и обеспечива-
ет независимость между логическим и физическим уровнями
системы.
СУБД обеспечивает:
• описание и контроль данных:
• манипулирование данными (запись, поиск, выдачу, изме-
нение содержания);
• физическое размещение (изменение размеров блоков дан-
ных, записей, использование занимаемого пространства,
сортировку, сжатие, кодирование и пр.);
• защиту от сбоев, поддержку целостности и восстановление;
• работ} с транзакциями и файлами:
• безопасность данных.
Существует несколько типов СУБД. Эволюционно они про-
шли путь от систем, использовавших иерархическую и се-
тевую модели данных к реляционным и объект-
но-ориентированным
В иерархической системе управления базой данных данные в
соответствии с ветвящимся деревом их признаков располагаются
в двухмерных файлах и образуют деревья признаков. Соответст-
венно этому происходит и поиск необходимых сведений.
В реляционных системах управления базами данных данные
представляются в форме таблиц, определяющих взаимосвязь за-
писей. Реляционные СУБД характеризуются простотой, гибко-
стью и точностью. Каждая из них одновременно работает с дан-
ными, размешенными в нескольких таблицах. Поэтому, реляци-
онные БД ориентированы на быстрый доступ к небольшим
объемам данных.
Объектно-ориентированные системы управления базами дан-
ных основываются на объектно-ориентированной архитектуре.
Они позволяют работать со сложными типами данных, храни-
мых в виде объектов: отличаются высокой производительностью
при обработке транзакций (особенно эффективны при обработ-
ке изображений). Их возникновение обусловлено потребностя-
ми разработки сложных информационных систем, неудовлетво-
ренных технологиями предшествующих БД. В таких СУБД
должны быть решены проблемы по,иержки иерархии и наследо-
вания типов, управления сложными объектами. Решение этих
задач сталкивается с ограничениями: отсутствием общепринятой
294
Глава 5. Технологии доступа к данным...
объектно-ориентированной модели данных, декларативного
языка запросов и т. п.
Гибридные системы управления базами данных об ье линяют по-
ложительные качества реляционных и объектно-ориентирован-
ных систем Они соединяют средства обработки транзакций ре-
ляционных СУБД с поддержкой многочисленных типов данных
объектно-ориентированных СУБД.
Кроме этого, системы управления базами данных можно
классифицировать:
По используемому языку об ше н и я:
• замкнутые, имеющие собственные самостоятельные языки
общения пользователей с БД. Они обеспечивают непосред-
ственное общение с системой в режиме диалога, позволяют
работать без программистов.
• открытые, в которых для общения с БД используется язык
программирования, «расширенный» операторами языка
манипулирования данными (ЯМДв В этом случае необхо-
димо участие квалифицированного программиста.
По числу поддерживаемых СУБД уровней моде-
лей данных: одно-, двух-, трехуровневые системы. Теоретически
обоснован выбор трехуровневой архитектуры данных, однако на
практике СУБД для персональных ЭВМ часто объединяют кон-
цептуальный и внутренний уровни представления.
По выполняемым функциям-
• операционные, предполагающие иные виды обработки
по получению информации, не хранящейся в явном виде
в БД;
• информационные, позволяющие организовать хранение
данных, поиск и выдачу нужных данных из БД и поддср
живать их целесообразность и актуальность.
По сфере применения:
• универсальные, настраиваемые на любую предметную об-
ласть путем создания соответствующей БД и прикладных
программ;
• проблемно-ориентированные на определенные процедуры
обработки данных, присущих конкретной области приме-
нения.
В структурном составе СУБД могут быть выделены ядро и
среда (рис. 5.12) [14, 32]
Ядро СУБД — программный комплекс (модуль или модули),
обеспечивающий непосредственное выполнение физических
5.2. Базы данных и СУБД
295
ИНТЕРФЕЙСЫ
БАЗА ДАННЫХ
Рис. 5.12. Типичная структура системы управления базами данных
операций над БД (в ранних системах функции Ядра выполняли
программы методов доступа ОС ЭВМ).
Среда — совокупность интерфейсных модулей, обеспечиваю-
щих связь пользователей с Ядром и через него с БД. Среда
включает в себя пользовательские интерфейсы и
утилиты администратора БД (АБД)
Утилиты АБД образуют библиотеку программ обслуживания
БД в привилегированном режиме (работа пользовательских
средств параллельно утилитам не разрешена) и выполняют ос-
новные функции, к которым относятся:
• физическая подготовка .тисковой памяти к размещению БД;
• подготовка справок о составе БД. структуре файлов, коли-
честве данных и занимаемом объеме;
• загрузка файла БД из последовательного набора дан-
ных ОС;
• дозагрузка (расширение существующего файла),
• модификация БД: расширение или перемещение физиче-
ских наборов данных, реорганизация;
• модификация файла (таблицы, группы таблиц): добавление
новых полей в структуру записи; инвертирование полей
или освобождение (превращение инвертированных полей в
сканируемые);
• выгрузка образа БД (файла таблицы) для сохранения в ар-
хивном наборе данных:
• создание и ведение словаря данных и др.
296
r.iaea 5. Технологии доступа к данным.
Средства пользователя. Стандартными средствами этого
типа, предоставляемыми фирмой-разработчиком, являются сле-
дующие:
• диалоговые интерфейсы;
• генераторы отчетов:
• система конструирования и поддержки интерактивных тех-
нологий в информационных системах (ЯП АИС).
5.3. Физическая организация данных в системах
управления данными
Расширим вкратце некоторые принципы физической орга-
низации данных.
Как в файловых системах, гак и в СУ БД существуют опреде-
ленные общие и особенные методы построения механизма дос-
тупа к данным, которые мы здесь и прелполагае’.. рассмотреть.
С общепринятой точки зрения к вопросам организации дан-
ных относятся
• выбор типа записи — единицы обмена в операциях вво-
да-вывода;
• выбор способа размещения записей в файле и. возможно,
метода оптимизации размещения.
• выбор способа адресации и метода доступа к записям.
Типы записей
Логическая запись, с ко горой работает прикладная
программа — совокупность элементов или агрегатов данных,
воспринимаемая и обычно физически отдельно размещаемая в
рабочей области памяти прикладной программой как единое це-
лое. Последовательность записей в логике обработки образует
файл.
Физическая запись, с которой работает файловая сис-
тема — совокупность данных, которые размещаются в файле
обычно на внешнем носителе и могут быть считаны или записа-
5.,?. Физическая организация данных в системах управления... 297
ны как единое целое одной командой ввода-вывода. Здесь
файл — последовательность физических записей, размещаемых в
линейном пространстве носителя но. в общем случае, не обяза-
тельно в линейном порядке.
Организация данных в случаях логического и физического
представления может не совпадать, в частности, одна физическая
запись может включать несколько логических (блокирование за-
писей). При этом алгоритмы выделения логических записей из
физической в значительной степени зависят от типа записи, рас-
сматриваемого как характер организации последовательности
байтов.
На логическом уровне выделяют следующие типы:
• записи фиксированной длины, для размещения каждой из
которых выделяется всегда память фиксированной длины,
объявляемой заранее. В зтом случае данные, образующие
запись имеют устойчивую природу и представляются жест-
кими структурами, например ряд числовых подои или сим-
вольная последовательность заданной длины;
записи переменной длины, когда каждый экземпляр запи-
си может иметь длину, отличную от длины др} гой записи в
том же наборе В этом случае запись содержит либо эле-
менты данных псременнозй длины (например, текстовую
строку), либо переменное число элементов фиксированной
длины.
При этом структура преставления логической записи пере-
менной длины отличается тем, что байтам содержания — собст-
венно данным, образующих! логическую запись, предшествуют
байты значения длины содержания этой логической записи. Су-
ществует и другая физическая структура представления записей,
имеющих переменную длину — запись неопределенной длины,
когда данные, образующие логическую запись, завершаются раз-
делителем «конец записи». Порядок доступа к записи в этих слу-
чаях может быть только последовательным, поскольку для опре-
деления начала следующей записи надо считать значение длины
текущей.
Для файлов записей фиксированной длины доступ будет
проще, так как адрес начала любой записи может быть вычислен
умножением относительного номера нужной записи на длину
записи
298
Глава 5. Технологии доступа к данным...
Организация файлов — способ размещения записей
Записи файла обычно располагаются на носителе последова-
тельно в том порядке, как они создаются в прикладной програм-
ме. Но иногда физическая последовательность размещения за-
писей может отличаться от их логической последовательности.
Последовательность размещения физических записей естест-
венно может быть только одна (если содержание логической за-
писи сознательно не дублируется в другой форме) и она должна
быть выбрана с учетом эффективности использования данных в
различных приложениях.
Выбор последовательности связывается с одним из следую-
щих обстоятельств:
• ускорением выполнения наиболее частых операций путем
размещения записей в той последовательности, которая
требуется при последующей обработке;
• ускорением или упрощением средств адресации файла (на-
пример, средств прямой адресации или хэширования);
• уменьшением размера используемого индекса и сокраще-
нием, таким образом, времени поиска в нем;
• сокращением среднего времени доступа за счет размеще-
ния в наиболее доступных местах записей, к которым про-
исходит наиболее частое обращение;
• облегчением операций включения, обновления и удаления
записей в интенсивно изменяемых файлах.
Можно выделить две «чистые» стратегии определения места
(адреса) для размещения записей: последовательное (sequential)
и произвольное (random) размещение. В этом смысле алгоритм
размещения определяет тип организации файла.
В первом случае каждая последующая запись будет распола-
гаться физически следом за предыдущей. Во втором — по месту,
адрес которого будет определяться в зависимости от некоторых
факторов, в том числе упомянутых выше.
Хотя записи на устройствах с прямым доступом могут запи-
сываться и читаться в любой последовательности, для каждой
структуры данных существует некоторая определенная последо-
вательность, в которой записи можно читать намного быстрее,
чем при других способах размещения.
Рассмотрим следующие, наиболее распространенные методы
организации файлов, позволяющих оптимизировать доступ к за-
писям (рис. 5.13).
5.3. Физическая организация данных в системах управления... 299
Страничная
организация
Параллельная
секционная
организация
Размещение
соответственно
частоте
использования
Рис. 5.13. Способы организации файлов
Страничная организация. Данные можно перемещать между
внешней и оперативной памятью страницами фиксированной
длины. Размер страницы определяется системой, а не длиной за-
писи. Там, где применяется страничная организация памяти,
данные логически независимы от размера страницы, но они
должны быть физически сгруппированы СУБД так, чтобы эф-
фективно заполнять страницы.
Параллельная секционная организация. Если имеется несколь-
ко механизмов доступа, которые могут работать одновременно,
то для минимизации времени ожидания данные могут быть рас-
положены на запоминающих устройствах так, чтобы одновре-
менно было задействовано как можно большее число механиз-
мов доступа.
При параллельной секционной организации существуют два
вида ожиданий. Запросы должны ожидать позиционирования
механизма доступа (операция установки и задержки на враще-
ние), а затем ждать выполнения операции чтения-записи. Вре-
мя, в течение которого запись читается, значительно меньше
времени, в течение которого позиционируется механизм досту-
па. Следовательно, полное время доступа к записи при парал-
лельной организации будет меньше.
300
Глава 5. Технологии доступа к данным...
В современных СУ БД наиболее часто используется странич-
ная организация данных, поскольку гораздо проще иметь весь
файл целиком на одном пакете лисков, чем на нескольких, од-
нако принципы секционной организации вновь нашли примени
ние в системах планирования БД. а также на уровне аппаратных
решений RAID-массивов.
Способы адресации и методы доступа к записям
Как уже отмечалось выше, записи логического файла иден-
тифицируются с помощью уникальной последовательности сим-
возов или некоторого числа — ключа. Таким ключом обычно
является значение поля, расположенное в каждой записи в од-
ной и гой же позиции Иногда бывает необходимо объединить
несколько полей, чтобы обеспечить уникальность ключа, кото-
рый в этом случае называется сцепленным ключом.
В некоторых файлах записи имеют несколько ключей. За-
пись закупка может иметь различные НОМЕР ПОСТАВЩИКА
и номер покупателя, каждый из которых является ключом.
Во многих приложениях требуется идентифицировать записи
по ключам, которые не являются уникальными. Однако при
этом все равно должен существовать один уникальный ключ,
тот, который используется для размещения записи в файле и вы-
борки ее из файла. Такой ключ называйся первичным ключом
или идентификатором.
Основные проблемы при адресации файла можно сформули-
ровать следующим образом:
• по первичному ключу определить местоположение записи
с данным ключом.
• организовать набор записей, чтобы поиск потребовал как
можно меньше затрат.
При разработке схем адресации файлов и опрезеляемого ими
размещения записей в файлах большое значение имеет вопрос о
том, как включаются в файл новые записи и удаляются старые.
Существует несколько различных способов адресации и по-
иска записей например на основе упорядочения, различных ин-
дексов, преобразования «ключ—адрес».
Последовательное сканирование файла. Наиболее простым
способом локализации записи является сканирование файла с
проверкой ключа каждой записи. Этот способ, однако, требует
5.3. Физическая организация данных в системах управления... 301
слишком много времени и может применяться, когда каждая за-
пись все равно должна быть прочитана.
Блочный поиск. Если записи упорядочены по ключу, то при
сканировании файла не требуется чтение каждой записи. ЭВМ
могла бы, например, просматривать каждую сотую запись в по-
следовательности возрастания ключей. При нахождении записи
с ключом большим, чем искомое значение, просматриваются
последние 99 записей, которые были пропущены.
Двоичный поиск. При двоичном (бинарном) поиске в файле
записей, упорядоченных по ключу, анализируется запись, нахо-
дящаяся в середине поисковой области файла (изначально всего
файла), а ее ключ сравнивается с поисковым ключом. Затем по-
исковая область делится пополам, и процесс повторяется для со-
ответствующей половины области, пока не будет обнаружено ис-
комое значение или длина области не станет равной I. Число
сравнений в этом случае будет меньше, чем для случая блочного
поиска.
Двоичный поиск эффективен для поиска в файлах, органи-
зованных в виде двоичного дерева с указателями, ко-
гда поиск происходит в направлении, задаваемом указателями.
Кроме того, добавление в файл новых записей не приводит к
сдвигу других записей, что требует много времени и является
достаточно сложной процедурой. Таким образом, двоичный по-
иск более пригоден для поиска в индексе файла, чем в самом
файле.
Индексно-последовательные файлы. Если файл упорядочен по
ключам, то для адресации может использоваться таблица, назы-
ваемая индексом, связывающая ключ хранимой записи с ее от-
носительным или абсолютным адресом во внешней памяти.
Индекс можно определить как таблицу, с которой связана
процедура, воспринимающая на входе информацию о некоторых
значениях атрибутов и выдающая на выходе информацию, спо-
собствующую быстрой локализации записи или записей, кото-
рые имеют заданные значения атрибутов.
Если записи файла упорядочены по ключу, индекс обычно
содержит не ссылки на каждую запись, а ссылки на блоки запи-
сей, внутри которых можно выполнять поиск или сканирование.
Хранение ссылок на блоки записей, а не на отдельные записи в
значительной степени уменьшает размер индекса. Причем даже
в этом случае индекс часто оказывается слишком большим для
поиска и поэтому используется индекс индекса.
302
Глава 5. Технологии доступа к данным...
Хэширование (рандомизация). Простым и полезным способом
вычисления адреса является хэширование (перемешивание).
В данном методе ключ преобразуется в псевдослучайное число,
которое используется для определения местоположения записи.
При первоначальной загрузке файла адрес, по которому
должна быть размешена запись, определяется следующим об-
разом:
• ключ записи преобразуется в псевдослучайное число, нахо-
• дяшееся в диапазоне от единицы до числа блоков, исполь-
зуемых для размещения записей;
• число преобразуется в адрес блока и, если в нем есть сво-
бодное место, то логическая запись размешается там;
• если блок заполнен, запись должна быть размешена в бло-
ке (блоках) переполнения — следующий по порядку блок
либо блок отдельной области переполнения.
При чтении записей из файла их поиск выполняется анало-
гично, причем может оказаться, что для поиска записи потребу-
ется чтение нескольких блоков переполнения.
Архитектура файловой организации баз данных
Файловая структура и система управления файлами являют-
ся элементами ОС, поэтому по отношению к БД, которые ори-
ентированы на работу с элементами данных и высокую интен-
сивность обмена, эффективность операций ввода-вывода не бу-
дет оптимальной: стандартный язык СУБД намного богаче, чем
набор операций файловой системы.
Это послужило причиной того, что обычно СУБД берут на
себя непосредственное управление внешней па-
мятью, минимально используя файловую систему ОС.
Файл-ориентированная организация данных. Этот подход от-
ражает точку зрения «идейно чистого» программирования, выра-
жающуюся в стремлении к построению модульных процедур,
ориентированных на обработку регулярных однородных данных:
«сколько типов структур записей — столько и файлов».
Таким образом, БД физически состоит из нескольких фай-
лов: основного, индексного, файла метаданных, файлов указате-
лей и т. д. (рис. 5.10, 5.14, а). В этом случае ОС активно уча-
ствует в навигации, беря на себя функции выборки, об-
новления, вставки, удаления записей из физических файлов.
5.3. Физическая организация данных в системах управления... 303
Рис. 5.14. Файл-ориснтированная (а) и страничная (б) организация данных
Страничная организация данных. Дрхгой потхол отражает
стремление разработчиков сосредоточить в СУБД управле-
ние данными на всех уровнях — от логической обработ-
ки до управления пространством носителя. Создание сложных
специализированных процедур, эффективно работающих со
сложными нерегулярными структурами данных в сочетании с ре-
сурсами вычислительной мощности и оперативной памяти по-
зволяет реализовать однофайловую физическую структуру СУБД.
Перечислим типовые понятия страничной организации хра-
нения данных (рис. 5.14, б).
Экстент — непрерывная область дисковой памяти, вклю-
чающая несколько страниц фиксированной длины. Новый экс-
тент создается после заполнения предыдущего и связывается с
ним ссылкой, которая располагается на последней странице экс-
тента либо в специальной карте размещения. Учет свободных
страниц ведется внутри экстента.
Каждый экстент используется для хранения одного из не-
скольких типов страниц: страницы данных, страницы индексов,
страницы BLOB ^неструктурированных данных, например боль-
шие текстовые или двоичные данные). Данные, размещенные на
одной странице, являются однородными: страница, например,
может хранить только данные или только индексы.
Основной логической единицей операций обмена (ввода-вы-
вода) является страница данных, хранящая данные в виде
строк или других специализированных структур.
304
Глава 5. Технологии доступа к данным...
Все страницы данных имеют одинаковую структуру, вклю-
чающую:
• заголовок страницы, содержащий номер страницы, номера
предыдущей и следующей страниц, сведения о свободном
пространстве на странице;
• дескрипторы строк, задающие смешение строки на страни-
це и длину строки, что позволяет при переупорядочении
строк на страницах не производить физического перемеще-
ния, строк, так как все манипуляции производятся с деск-
рипторами;
• содержание — строки данных (последовательность кодов),
каждая из которых имеет уникальный идентификатор в
рамках всей БД, который состоит из номера страницы и
номера строки на странице.
Для организации быстрого доступа создаются страницы
индексов, которые организованы обычно в виде В-деревьев.
Модели распределения данных по физическим
носителям
Важным фактором, влияющим на производительность под-
системы ввода-вывода, является распределение данных по дис-
кам. Даже минимальная по объему высокопроизводительная
система должна иметь по крайней мере четыре диска: один для
операционной системы и области подкачки (swap), один для
данных, один для журнала и один для индексов.
Размещение всех данных БД на одном и том же диске почти
всегда приводит к неудовлетворительной производительности.
В частности, может оказаться, что процесс формирования жур-
нала, который должен записываться синхронно, в действитель-
ности будет выполняться в режиме произвольного, а не последо-
вательного доступа к диску. Уже только эта операция будет су-
щественно задерживать каждую транзакцию обновления БД.
Кроме того, выполнение запросов, выбирающих записи из таб-
лицы данных путем последовательного сканирования индекса,
будет сильно увеличивать время ожидания ввода-вывода.
Примером, иллюстрирующим подход с точки зрения практи-
ческих компромиссов выбора решения, являются RAID-масси-
вы. На рис. 5.15 приведены два варианта: RAID-О, обеспечиваю-
щий максимальную производительность при «стандартной» на-
5.3. Физическая организация данных в системах управления... 305
Логический файл
1 2 3 4 5 6 7 8 9 1 1 1
Физический Зеркальный
диск физический
диск
f i f i
Рис. 5.15. Распределение данных в RAID-массивах:
а — RAID-1, наивысшая отказоустойчивость; б — RAID-О, самая высокая произ-
водительность при низкой стоимости
306
Глава 5. Технологии доступа к данным...
дежности, и RAID-1, обеспечивающий «двойную» надежность
при «стандартной» производительности.
Для эффективного распределения доступа к данным многие
СУБД используют механизмы сцепления или расщепления для
распределения данных по дисковым накопителям. Если по за-
просам производится произвольный доступ к данным, напри-
мер, если пользователи независимо запрашивают разные записи,
то возможности сцепления дисков в СУБД полностью обеспечи-
вают распределение нагрузки по доступу к множеству дисков
(при достаточно равномерном заполнении пространства базы).
Если обращения по своей природе последовательны, в част-
ности если один или несколько пользователей должны просмат-
ривать каждую строку таблицы, то больше подходит механизм
расщепления дисков.
Главное отличие между сцеплением и расщеплением заклю-
чается в размещении смежных данных.
Когда диски сцепляются друг с другом, последовательное
сканирование представляет собой тяжелую нагрузку для каждого
из дисков, но эта нагрузка носит последовательный характер
(только один диск участвует в обслуживании запроса).
Расщепление дисков осуществляет деление данных на мень-
шие порции, размещаемые на разные диски, позволяя тем са-
мым всем дискам участвовать в обслуживании даже сравнитель-
но небольшого запроса. В результате использование расщепле-
ния существенно уменьшает загрузку дисков при выполнении
последовательного доступа. Основными кандидатами для расще-
пления являются обычно архивные и журнальные файлы, по-
скольку к ним всегда осуществляется последовательный доступ,
что может ограничить общую производительность системы.
5.4. Анализ информации и хранилища данных
Осознание пользы накапливаемой информации и физиче-
ские возможности ее использования для решения задач управле-
ния (системы поддержки принятия решений — СППР) привело
к появлению нового класса автоматизированных систем, ориен-
тированных на оперативную аналитическую обра-
ботку данных (OLAP).
5.4. Анализ информации и хранилища данных
307
Интеллектуальный анализ данных
Интеллектуальный анализ данных ИАД (Data Mining) — это
процесс поддержки принятия решений, основанный на поиске в
данных скрытых закономерностей (шаблонов инфоомапии). При
этом накопленные сведения автоматически обобщаются до ин-
формации, которая может быть охарактеризована как знания.
В обшем случае процесс ИАД состоит из трех стадии
(рис. 5.16)-
• выявление закономерностей (свободный поиск);
• использование выявленных закономерно-
стей для предсказания неизвестных значений (прогности-
ческое моделирование);
• анализ исключений, предназначенный для выявле-
ния и толкования аномалий в найденных закономерностях.
В качестве примера может быть приведен статистический
анализ рядов динамики. Чаше, однако, этот тип анализа
относят к области закономерностей.
Кооме того, могут быть сформулированы следующие задачи:
• выделение в массивах данных групп записей, сходных по
некоторым признакам (кластерный анализ);
• проверка достоверности найденных закономерно-
стей между их нахождением и использованием (стадия ва-
лидации).
Рис. 5.16. Стадии процесса интеллектуального анализа данных
308
Глава 5. Технологии доступа к данным...
Все методы ИАД подразделяются на две большие группы по
принципу работы с исходными обучающими данными:
• в первом случае исходные данные могут храниться в яв-
ном детализированном виде и непосредственно
использоваться для прогностического моделирования
. и/или анализа исключений; это так называемые методы
рассуждений на основе анализа прецедентов. Главной про-
блемой этой группы методов является затрудненность их
использования на больших объемах данных, хотя именно
при анализе больших хранилищ данных методы ИАД при-
носят наибольшую пользу:
• во втором случае информация извлекается из пер-
вичных данных и преобразуется в некоторые формальные
конструкции (их вид зависит от конкретного метода). Соглас-
но предыдущей классификации, этот этап выполняется на
стадии свободного поиска, которая у методов первой группы в
принципе отсутствует. Таким образом, для прогностического
моделирования и анализа исключений используются результа-
ты этой стадии, которые гораздо более компактны, чем сами
массивы исходных данных. При этом полученные конструк-
ции могут быть либо «прозрачными» (интерпретируемыми),
либо «черными ящиками» (нетрактуемыми).
Две эти группы и примеры входящих в них методов пред-
ставлены на рис. 5.17.
Рис. 5.17. Классификация технологических методов ИАД
5.4. Анализ информации и хранилища данных
309
OLAP — технологии и хранилища данных
В основе концепции OLAP лежит принцип многомерного
представления данных. В 1993 г. Е. Ф. Кодд рассмотрел недос-
татки реляционной модели в первую очередь указав на невоз-
можность «объединять, просматривать и анализировать данные с
точки зрения множественности измерении, т. е. самым понят-
ным для корпоративных аналитиков способом», и определил об-
щие требования к системам OLAP, расширяющим функцио-
нальность реляционных СУБД и включающим многомерный
анализ как одну из своих характеристик.
Аббревиатурой OLAP иногда обозначается не только много-
мерный взгляд на данные, но и хранение самих данных в много-
мерной БД. Однако Кода отмечал, что «...реляционные БД
были, есть и будут наиболее подходящей технологией для хране-
ния корпоративных данных Необходимость существует не в но-
вой технологии БД, а, скорее, в средствах анализа, дополняю-
щих функции существующих СУБД и достаточно гибких, чтобы
предусмотреть и автоматизировать разные виды интеллектуаль-
ного анализа, присущие OLAP».
Для выполнения аналитических запросов ’ югут быть исполь-
зованы приложения, написанные специально для решения тех
или иных практических задач. При этом для решения задач ана-
литической обработки используются данные, характер и органи-
зация которых несколько отличается от того, как это принято в
системах, ориентированных на оперативную обработку.
Использование концепции хранилища данных (ХД)
позволяет обеспечить:
• своевременное обеспечение аналитиков всей информаци-
ей, необходимой для выработки решений;
• создание единой модели данных организации;
• создание интегрированного источника данных, предостав-
ляющего удобный доступ к разнородной информации из
различных подсистем (единый источник).
Для хранилищ данных характерны следующие основные
свойства:
• ориентация на предметную область — хранилище в первую
очередь отражает специфику предметной области, а нс
приложений;
• интегрированность — информация, загружаемая в хранили-
ще из баз, ориентированных на частные прикладные тала-
310
Глава 5. Гехнологии доступа к данным.
чи, до 1жна быть приведена к единому синтаксическому и
семантическому виду. Важно также провести проверку по-
ступающих данных на целостность и непротиворечивость.
Чтобы при выполнении аналитических запросов избежать
выполнения операции группирования, данные должны
обобщаться (arpci ироваться) при загрузке храни лища;
• неизменяемость данных — хранилищам свойственна ретро-
спективность: объем накопленных данных должен быть
достаточным для решения аналитических задач с требуе-
мым качеством. Поэтому важное от личие аналшичсских
систем от систем операционной обработки состоит в том,
что данные после загрузки в них остаются неизменными,
внесение каких-либо изменении, кроме добавления запи-
сей. нс предполагается;
• поддержка хронологии — для выполнения большинства ана-
литических опросов необходим анализ тенденций разви-
тия явлений или характера изменения значений перемен-
ных во времени, что обычно достшаегся введением атрибу-
тов типа дата/время;
• многомерное концвятуаяьное представление (multi-dimen-
sional conceptual view) — множественная перспектива, со-
стоящая из нескольких независимых измерений, вдоль ко-
торых могул быть проанализированы определенные сово-
купности данных. Одновременный анализ по нескольким
измерениям опре теляется как многомерный анализ. Каж-
дое измерение включает направления консолидации дан-
ных, состоящие из серии последовательных уровней обоб-
щения, где каждый вышестоящий хровень соол встствует
большей степени агрегации данных по соответствующему
измерению. Так. измерение Исполнитель может опреде-
ляться направлением консолидации, состоящим из уровней
обобщения предприятие—подразделение—отдел—слу-
жащий. Измерение Время может даже включать два направ-
ления консолидации — год—квартал—месяц—день и не-
деля-день, поскольку счет Бремени по месяцам и по неде-
лям несовместим. В этом случае становится возможным
произвольный выбор желаемого уровня детализации ин-
формации по каждому из измерений. Операция спуска
(drilling down) соолвстствует движению от высших ступеней
консолидации к низшим; напротив, операция подъема
5.4. Анализ информации и храни шща данных
311
(rolling up) означает движение от ни !ших уровней к выс-
шим (рис. 5.18).
Исполнитель-
Спуск
(drilling
down)
Подъем i-
(rolling
up)
Предприятие
I
Подразделение
I
Отдел
I
Служащий
Время
Рис. 5.18. Измерения и направления консолидации данных
Колл определил 12 свойств, которыми должны обладать сис-
темы этого класса (табл. 5.6).
Таблица 5.6. Свойства систем класса OLAP
№ Требование (свойство) Содержание
1 Многомерное концептуаль- ное представление данных Концептуальное представление модели данных в продукте OLAP должно быть многомерным по своей природе, т. е. позволять ана- литикам выло) зять интуитивные операции «анализа вдоль и попе- рек», выбора направлений консолидации и т. д.
2 Прозрачность (Transparency) Пользователь не должен знать о том, какие конкретные средства ис- пользуются для хранения и обработки данных, как данные организо- ваны и откуда берутся
3 Доступность (Accessibility) Аналитик должен иметь возможность выполнять анализ в рамках об-! щей концептуальной схемы, но при этом данные могут оставаться под управлением оставшихся от старого наследства СУБД
4 Устойчивая производитель-1С увеличением числа измерений и размеров сазы данных аналитики ность (Consistent Reporting не должны столкнуться с каким бы то ни было уменьшением произ- Pertormance) водительности
5 Клиент-серверная архитек- тура Серверный компонент должен быть достаточно интеллектуальным и осладать способностью строить общую концептуальную схему на основе обобщения и консолидации различных логических и физиче- ских схем корпоративных баз данных для обеспечения эффекта про- зрачности
6 Равноправие измерений Все измерения данных должны быть равноправны. Дополнительные характеристики могут быть предоставлены отдельным измерениям, но поскольку все они симметричны, данная дополнительная функ- ' циональность может быть предоставлена любому измерению
312
Глава 5. Технологии доступа к данным...
Окончание табл. 5.6
№ Требование (свойство) Содержание
7 Инструмент OUXP должен обеспечивать оптимальную обработку п разреженных матриц. Скорость доступа должна сохраняться вне за- Динамическая обработка . „ висимости от расположения ячеек данных и быть постоянной вели- разреженных матриц „ чином для моделей, имеющих разное число измерении и различную разреженность данных
8 Инструмент OLAP должен предоставлять пользователям конкурент- на ный досг/п, обеспечивать целостность и защиту данных, если они Поддержка многопользова- ' * - имеют необходимость работать одновременно с одной аналитиче- тельского режима скои моделью или создавать различные модели на основе одних корпоративных данных
9 I Вычисления и манипуляция данными по любому числу измерений ,. не должны запрещать или ограничивать любые отношения между Неограниченная поддержка Z п . й „ ячейками данных. Преобразования, требующие произвольного оп- кроссмерных операции . ределения, должны задаваться на функционально полном формуль- ном языке
1 10 , Переориентация направлений консолидации, детализация данных в ,, ' колонках и строках, агрегация и другие манипуляции, свойственные Интуитивное манипулиро- _ структуре иерархии направлении консолидации, должны выполнять- вание данными ся в максимально удобном, естественном и комфортном пользова- тельском интерфейсе
11 Гибкий механизм генера- Должны поддерживаться различные способы визуализации данных, ции отчетов т. е. отчеты должны представляться в любой возможной ориентации
12 ,, OLAP-инструмент должен иметь несколько измерений в аналитиче- Неограниченное количест- ' . скои модели. Каждое из этих измерении должно допускать практи- во измерении и уровней аг- чески неограниченное количество определенных пользователем регации „ . уровней агрегации по любому направлению консолидации
Модели данных, используемые для построения
хранилищ
Задачи, решаемые аналитическими системами, существенно
различаются, поэтому их БД тоже построены на разных принци-
пах. Критерием эффективности для таких систем обычно явля-
ется скорость выполнения сложных запросов и прозрачность
структуры хранения информации для пользователей.
5.4. Анализ информации и хранилища данных
313
Многомерный OLAP (MOLAP). В специализированных СУБД,
основанных на многомерном представлении данных, данные ор-
ганизованы не в форме реляционных таблиц, а в виде упорядо-
ченных многомерных массивов:
• гиперкубов (все хранимые в БД ячейки должны иметь
одинаковую мерность, т. е. находиться в максимально пол-
ном базисе измерений);
• по л и кубов (каждая переменная хранится с собствен-
ным набором измерений, и все связанные с этим сложно-
сти обработки перекладываются на внутренние механизмы
системы).
Использование многомерных БД в системах оперативной
аналитической обработки имеет следующие достоинства.
В случае использования многомерных СУБД поиск и выбор-
ка данных осуществляются значительно быстрее, чем при мно-
гомерном концептуальном взгляде на реляционную базу данных,
так как многомерная база данных содержит заранее аг-
регированные показатели и обеспечивает оптимизи-
рованный доступ к запрашиваемым ячейкам.
Многомерные СУБД легко справляются с задачами включе-
ния в информационную модель разнообразных встроенных
ф у н к ц и й, тогда как объективно существующие ограничения
языка SQL делают выполнение этих задач на основе реляцион-
ных СУБД достаточно сложным, а иногда и невозможным.
С другой стороны, имеются существенные ограничения:
• многомерные СУБД не позволяют работать с больши-
ми объемами данных. К тому же за счет денормализа-
ции и предварительно выполненной агрегации объем дан-
ных в многомерной базе, как правило, соответствует в
2,5—100 раз меньшему объему исходных детализирован-
ных данных;
• многомерные СУБД по сравнению с реляционными очень
неэффективно используют внешнюю память.
В подавляющем большинстве случаев информационный
гиперкуб является сильно разреженным, а поскольку дан-
ные хранятся в упорядоченном виде, неопределенные зна-
чения удается удалить только за счет выбора оптимального
порядка сортировки, позволяющего организовать данные в
максимально большие непрерывные группы. Но даже в
этом случае проблема решается только частично.
314
Глава 5. Технологии доступа к данным.
Следоватсльно, использование многомерных СУБД оправда-
но только при следующих условиях:
• объем исходных данных для анализа не слишком велик (нс
более нескольких гигабайт), т. е. уровень агрегации данных
достаточно высок;
• набор информационных измерений стабилен (поскольку
побое изменение в их структуре почти всегда требует пол-
ной перестройки гиперкуба);
• время ответа системы на нерегламен тированные запросы
является наиболее критичным параметром;
• требуется широкое использование сложных встроенных
функций для выполнения кроссмерных вычислений над
ячейками гиперкуба, в том числе возможность написания
пользовательских функций.
Реляционный OLAP (ROLAP). Непосредственное испо шзова-
нис реляционных БД в системах оперативной аналитической об-
работки имеет следующие достоинства.
В большинстве случаев корпоративные хранилища данных
реализуются средствами реляционных СУБД, и инструменты
ROLAP позволяют производить анализ непосредственно над
ними. При этом размер хранилища не является таким критич-
ным параметром, как в случае MOLAP.
В случае переменной размерности калачи, когда изменения в
структуру измерений приходится вносить достаточно часто,
ROLAP-системы с динамическим представлением размерности
являются оптимальным решением, так как в них такие модифи-
кации не требуют физической реорганизации БД.
Реляционные СУБД обеспечивают значительно более высо-
кий уровень зашиты данных и хорошие возможности разграни-
чения прав доступа.
Главный недостаток ROLAP по сравнению с многомерными
СУБД — меньшая производительность. Для обеспечения произ-
водительности, сравнимой с MOLAP, реляционные системы тре-
буют тщательной проработки схемы базы данных и настройки
индексов, т. с большие усилии со стороны администраторов БД.
Только при использовании звездообразных схем производитель-
ность хорошо настроенных реляционных систем может быть
приближена к производительности систем на основе многомер-
ных баз данных.
Идея схемы звезды (star schema) заключается в том, что
имеются таблицы для каждого измерения, а все факты помеща-
5.4. Анализ информации и храни шша данных
315
ются в одну таблицу, индексируемую множественным ключом,
составленным из ключей отдельных измерений (рис. 5.19). Ка-
ждый луч схемы звезды задает (в терминологии Кодла) на-
правление консолидации данных по соответствую-
щему измерению.
В сложных задачах с многоуровневыми измерениями имеет
смысл обратиться к расширениям схемы звезды — схеме со-
звездия (fact constellation schema) и схеме снежники
(snowflake schema). В этих случаях отдельные таблицы фактов
создаются для возможных сочетании уровней обобщения раз-
личных измерений (рис. 5.20). Это позволяет юбиться лучшей
Таблица покупателей
Таблица фактов
Таблица поставщиков
Ключ «Покупатель» Ключ «Пос-авщик» Ключ «Покупатель» Ключ «Продукт» Ключ «Период» Количество Цена за единицу Стоимость — Ключ «Поставщик»
Описание покупателя Ключ «Населенный пункт» Описание населенного пункта Ключ«Регион» Описание региона Ключ «Государство» Описание государства Код уровня Описание поставщика
— Таблица периодов Таблица продуктов
Ключ «Период» Ключ «Продукт»
Описание Год Квартал Месяц День Код уровня Описание продукта Ключ «Категория» Описание категории Ключ «Производитель» Описание производителя Код уровня
Рис. 5.19. Пример схемы «ввезла»
Таблица покупателей
Таблица населенных
пунктов
Таблица регионов
Таблица государе-в
Ключ «Покупатель»
Описание покупателя
Ключ «Населенный
пункт»
Клю-
«Населенный пункт»
Описание
населенного пункта
Ключ «Регион»
Ключ «Регион»
Описание региона
Ключ «Государство»
Ключ <-Государство»
Описание
государства
Таблица фактов
(покупатели}
Табл/цЗ-фак’ов
(населенные пункты}
Таблица факсов
(регионы)
Таблица фактор
(государства)
Ключ «Поставщик»
Ключ «Покупатель^
Ключ «Продукт»
Ключ «Период»
Ключ «Поставщик»
Ключ «Населенный
пункт»
Ключ «Продукт»
Ключ «Период»
Ключ «Поставщик»
Ключ «Регион»
Ключ «Продукт»
Ключ «Период»
Ключ «Поставщик»
Ключ «Государство»
Ключ «Продукт»
Ключ «Период»
Количество
Цена за единицу
Стоимость
Количество
Цена за единицу
Стоимость
Количество
Цена за единицу
Стоимость
Количество
Цена за единицу
Стоимость
Рис. 5.20. Пример схемы «снежинка» (фрагмент для одного измерения)
316
Глава 5. Технологии доступа к данным...
производительности, но часто приводит к избыточности данных
и к значительным усложнениям в структуре базы данных, в ко-
торой оказывается огромное количество таблиц фактов.
В любом случае, если многомерная модель реализуется в
виде реляционной базы данных, следует создавать длинные и
«узкие» таблицы фактов и сравнительно небольшие и «широкие»
таблицы измерений. Таблицы фактов содержат численные зна-
чения ячеек гиперкуба, а остальные таблицы определяют содер-
жащий их многомерный базис измерений. Часть информации
можно получать с помощью динамической агрегации данных,
распределенных по незвездообразным нормализованным струк-
турам, хотя при этом следует помнить, что включающие агрега-
цию запросы при высоконормализованной структуре БД могут
выполняться довольно медленно.
Ориентация на представление многомерной информации с
помощью звездообразных реляционных моделей позволяет изба-
виться от проблемы оптимизации хранения разреженных мат-
риц, остро стоящей перед многомерными СУБД (где проблема
разреженности решается специальным выбором схемы). Хотя
для хранения каждой ячейки используется целая запись, которая
помимо самих значений включает вторичные ключи, — ссылки
на таблицы измерений, несуществующие значения просто не
включаются в таблицу фактов.
Возможны гибридные системы (Hybrid OLAP —
HOLAP), цель которых — совмещение достоинств и минимиза-
ция недостатков, присущих предыдущим классам.
Архитектуры хранилищ данных
Виртуальное хранилище данных. В его основе — репозиторий
метаданных, которые описывают источники информации (БД
транзакционных систем, внешние файлы и др.), SQL-запросы
для их считывания и процедуры обработки и предоставления
информации. Непосредственный доступ к последним обеспечи-
вает ПО промежуточного слоя. В этом случае избыточность
данных нулевая. Конечные пользователи фактически работают с
транзакционными системами напрямую со всеми вытекающими
отсюда плюсами (доступ к «живым» данным в реальном време-
ни) и минусами (интенсивный сетевой трафик, снижение про-
изводительности OLTP-систем и реальная угроза их работоспо-
5.4. Анализ информации и хранилища данных
317
собности вследствие неудачных действии пользователей-анали-
тиков).
Витрина данных. Витрина данных (Data Mart) — это набор
тематически свя занных баз данных, которые содержат информа-
цию, относящуюся к отдельным аспектам предметной области
(рис. 5.21). По сути дела, витрина данных — это обличенный
вариант хранилища данных, содержащий только тематически
объединенные данные. Витрина данных существенно меньше по
объему, чем корпоративное хранилище данных, и тля его реали-
зации не требуется особо мощная вычислительная техника.
Сфера детализированных Сфера агрегированных Сфера
данных показателей закономерностей
Рис. 5.21. Структура корпоративной информационно-аналитической
системы (ЛЛС)
Глобальное хранилище данных. Все более популярной стано-
вится идея совместить концепции хранилища и витрины данных
в одной реализации и использовать храни тише данных в качест-
ве единственного источника интегрированных данных для всех
витрин данных. Тогда естественной становится такая трехуров-
невая архитектура системы (рис. 5.22):
• сфера детализированных данных. Это обтасть
действия большинства систем, нацеленных на поиск ин-
318
Глава 5. Технологии доступа к данным...
Рис. 5.22. Архитектура системы многомерного интеллектуального
анализа данных
формации. В большинстве случаев реляционные СУБД
отлично справляются с возникающими здесь задачами.
Общепризнанным стандартом языка манипулирования ре-
ляционными данными является SQL. Информационно-по-
исковые системы, обеспечивающие интерфейс конечного
пользователя в задачах поиска детализированной инфор-
мации, могут использоваться в качестве надстроек как над
отдельными базами данных транзакционных систем, так и
над общим хранилищем данных;
• сфера агрс1ированных показателей. Комплекс-
ный взгляд на собранную в хранилище данных информа-
цию, ее обобщение и агрегация, гиперкубическое представ-
ление и многомерны анализ являются задачами систем
оперативной аналитической обработки данных (OLAP).
Здесь можно или ориентироваться на специальные много-
мерные СУБД, или оставаться в рамках реляционных тех-
нологий. Во втором случае заранее агрегированные данные
могут собираться в БД звездообразного вида либо агрега-
ция информации может производиться на лету в процессе
сканирования детализированных таблиц реляционной БД;
5.4. Анализ информации и хранилища данных
319
• сфера закономерностей. Интеллектуальная обра-
ботка производится методами инте. иектуального анализа
данных (ИАД. Data Mining), главными задачами которых
являются поиск функциональных и логических закономер-
ностей в накопленной информации, построение моделей и
правил, которые объясняют найденные аномалии и/или
прогнозируют развитие некоторых процессов.
Метаданные должны содержать описание структур данных
хранилища, структур данных, импортируемых из разных источ-
ников, сведения о периодичности импортирования, методах за-
грузки и обобщения 1анпых. средствах доступа и правилах пред-
ставления информации, оценки приб щзительных затрат време-
ни на получение ответа на запрос.
Доставка данных в хранилище. Данные должны поступать в
хранилище в нужном формате и с требуемой регулярностью. Как
правило, составляется расписание пополнения хранилища, в со-
ответствии с которым специальные программы организуют пере-
дачу данных на склад и их первичную обработку. Передача дан-
ных на склад может также осуществляться при возникновении
заранее определенных внешних событий.
Процесс загрузки данных обычно подразумевает решение
следующих задач:
• приведение данных к единому формату (унификация ти-
пов данных и их представления, исключение управляющих
кодов);
• предобработка данных (исключение дубликатов, устране-
ние ошибочных значений, восстановление пропущенных
значений);
• агрегирование данных (вычисление обобщенных статисти-
ческих показателей).
Интеграция OLAP и ИАД
Оперативная аналитическая обработка и интеллектуальный
анализ данных — две составные части процесса поддержки при-
нятия решении. Однако большинство систем OLAP заостряет
внимание только на обеспечении доступа к многомерным дан-
ным, а большинство средств ИАД, работающих в сфере законо-
мерностей, имеют дело с одномерными перспективами данных.
Эти два вида анализа должны быть тесно объединены, т. е. сис-
320
Глава 5. Технологии доступа к данным...
темы OLAP должны фокусироваться не только на доступе, но и
на поиске закономерностей (рис. 5.22). Как заметил N. Raden,
«многие компании создали... прекрасные хранилища данных,
идеально разложив по полочкам горы неиспользуемой информа-
ции, которая сама по себе не обеспечивает ни быстрой, ни дос-
таточно грамотной реакции на рыночные события».
В последнее время появилось обобщенное понятие «OLAP
Data Mining» (многомерный интеллектуальный анализ) или
«OLAP Mining» для обозначения такого объединения, причем
определились несколько вариантов интеграции двух технологий:
• cubing then mining. Возможность выполнения интел-
лектуального анализа должна обеспечиваться над любым
результатом запроса к многомерному концептуальному
представлению, т. е. над любым фрагментом любой проек-
ции гиперкуба показателей;
• mining then cubing. Подобно данным, извлеченным
из хранилища, результаты интеллектуального анализа
должны представляться в гиперкубической форме для по-
следующего многомерного анализа;
• cubing while mining. Этот гибкий способ интеграции
позволяет автоматически активизировать однотипные ме-
ханизмы интеллектуальной обработки над результатом ка-
ждого шага многомерного анализа (перехода между уров-
нями обобщения, извлечения нового фрагмента гиперкуба
и т. д.).
К сожалению, очень немногие производители предоставляют
сегодня достаточно мощные средства интеллектуального анализа
многомерных данных в рамках систем OLAP. Проблема также
заключается в том, что некоторые методы ИАД (байесовские
сети, метод L-ближайшего соседа) неприменимы для задач мно-
гомерного интеллектуального анализа, так как основаны на оп-
ределении сходства детализированных примеров и не способны
работать с агрегированными данными.
Контрольные вопросы
1. Перечислите функции файловых систем.
2. Какова общая организация ФС NTFS?
3. Какие атрибуты файлов вам известны?
4. Охарактеризуйте разновидности размещения файлов в NTFS.
5.4. Анализ информации и хранилища данных
321
5. Каким образом осуществляется сжатие данных в NTFS?
6. Дайте определение понятия «База данных».
7. Перечислите преимущества и недостатки использования баз данных.
8. Определите основные функции и назначение СУБД.
9. Дайте основные характеристики моделей данных.
10. Что такое реляционное исчисление?
11. Перечислите основные компоненты логической и физической структу-
ры БД.
12. Что такое транзакции?
13. Назовите отличительные особенности использования баз данных в ИС.
14. Перечислите основные требования, предъявляемые к базам данных.
15. Определите назначение и организацию инвертированного списка.
16. В чем заключается страничная организация данных?
17. Что такое хранилища данных?
18. Перечислите основные свойства OLAP-технологий.
19. В чем различие ROLAP и MOLAP?
Глава 6
СЕТЕВЫЕ ИНФОРМАЦИОННЫЕ
ТЕХНОЛОГИИ. INTERNET
В исторической перспективе, с появлением в первой полови-
не 1970-х гг. видеотерминалов, первоначально возникли структу-
ры «терминал — хост» (локальный или удаленный).
Чуть раньше и независимо развивались глобальные сети (па-
кетной коммутации), используемые как для функций связи об-
щего назначения, так и для коммуникаций «хост—хост» с целью
(в то время) выравнивания использования вычислительных
мощностей по часовым поясам (подобно тому, как это осущест-
вляется в сетях энергопередачи). Это были именно вычисли-
тельные сети. Структуры «терминал — хост» вносят сюда до-
полнительную динамику.
Эта ситуация сохраняется до середины 1980-х гг., когда по-
явление и взрывообразное распространение ПК (как выразился
один из тогдашних научных острословов «карлики-млекопитаю-
щие на планете вычислительных динозавров») изменило поло-
жение. Появляются локальные сети, интегрирующие прежде
всего информационные ресурсы (файл-сервер), редкие или до-
рогостоящие технические средства (принт-сервер) и т. п.
Изучение трафика (потоков данных) в развивающихся сетях
показало смешение акцентов с распределенных вычислений на
обмен информацией — доступ к удаленным базам данных, об-
мен сообщениями по электронной почте и пр. Вырисовываются,
таким образом, информационные сети.
Наконец, в 1980—1990-е гг. широко распространяется техно-
логия TCP/IP, обеспечивая рост и развитие «сети сетей» —
Internet, которая представляет собой глобальную информацион-
но-вычислительную сеть.
6.1. Некоторые основные понятия
323
6.1. Некоторые основные понятия
Системы терминал—хост
Первые системы совместной эксплуатации информационных
и вычислительных ресурсов (системы коллективного пользования)
появляются в 1960—1970-е гг. и относятся к вычислительным
системам с разделением времени. Первоначально операционные
системы ЭВМ (ОС) были рассчитаны на пакетную обработку
информации, затем с созданием интерактивных терминальных
устройств появляется возможность совместной работы пользова-
телей в реальном масштабе времени. Основные этапы развития
систем доступа к информационным ресурсам представлены на
рис. 6.1 и включают следующие схемы.
1. Взаимодействие терминала (конечный пользователь, ис-
точник запросов и заданий) и хоста (центральная ЭВМ, держа-
тель всех информационных и вычислительных ресурсов) —
Хост
ПК Файл-сервер ПК
д
Хосты
Терминалы
Internet
Рис. 6.1. Варианты коллективного использования информационно-вычислитель-
ных ресурсов:
а — локальный хост; б — удаленный хост; в — глобальная сеть; г — коммуника-
ции ПК—ПК; д — локальная сеть; е — Internet
324
Гмва 6. Сетевые информационные техно югии. Internet
рис. 6.1 а, б. Может осуществляться как в локальном, так п к уда-
ленном режиме, во втором случае. как правило, некоторая сово-
купность пользователей ( гисплсйный класс) размешается в так
называемом абонентском пункте — комплексе, снабженном кон-
троллером (устройством управления), принтером, концентрато-
ром и обеспечивающим параллельную работу пользователей с
удаленным хостом. Связь между хостом и абонентским пунктом
в этом случае осуществлялась с помощью модемов, по те юфон-
пым каналам [26|.
2. На следующем этапе (рис. 6.1. в) формируются сети пере-
дачи данных (из существующих общих и специальных цифровых
каналов), позволяющие как осуществлять более тесное взаимо-
действие терминал—хост, так и обмен хост—хост для реализа-
ции распределенных баз даннь х и децен траямзании процессов
обработки информации.
3. Появление и массовое распространение персональных ком-
пьютеров выводит на первый план (для массового пользователя)
проблему связи ПК—ПК (рис. 6.1, г) для быстрого резервирова-
ния и копирования информации (в том числе с использованием
модемов) и локальные сети (рис. 6.1. д) — для совместной экс-
плуатации баз данных (файл-сервер) и дорогостоящего обору-
дования. В дальнейшем локальные сети потеряли самостоятель-
ное значение вследствие интеграции с гюбальными в двухуров-
невые сети, строящиеся по единому принципу в рамках Internet
(рис. 6.1, е).
В последующем перечисленные конфигурации нс претерпели
существенных изменений, однако понятия хост и терминал из
чисто аппаратурных трансформировались в аппаратурно-про-
граммные и даже сугубо программные (например, эмуляторы
терминала и эмуляторы хоста на однотипных ПК [23. 26]). Кроме
того, в 80-е гг. в обиход входит поняше интеллектуального тер-
минал (smart terminal) — сателлитной машины, которая берет на
себя часть функций по обработке информации пользователя (на-
пример, синтаксический анализ запроса или программы).
Системы клиент—сервер
Таким образом, по мере развития представлений о распреде-
ленных вычислительных процессах и процессах обработки дан-
ных склалывастся концепция архитектуры «к л и е н т — с е р -
6.1. Некоторые основные понятия
325
в е р» — обобщенное представление о взаимодействие двух ком-
понент информационной технологии (технического и/или
программного обеспечения) в вычислительных системах и сетях,
среди которых логически или физически могут быть выделены:
• активная сторона (источник запросов, клиент);
• пассивная сторона (сервер, обслуживание запросов, источ-
ник ответов).
Взаимодействие клиент—сервер в сети осуществляется в со-
ответствии с определенным стандартом, или протоколом — сово-
купностью соглашений об установлении/прекрашении связи и
обмене информацией.
Обычно клиент и сервер работают в рамках единого прото-
кола — telnet, ftp, gopher, http и пр., однако в связи с недостаточ-
ностью такого подхода появляются мультипротокольные клиенты
и серверы, например браузер Netscape Navigator.
Основные разновидности функциональных структур кли-
ент-сервер рассмотрены в следующей главе.
Информационно-вычислительные сети
Информационно-вычислительные сети включают вычисли-
тельные сети, предназначенные для распределенной обработки
данных (совместное использование вычислительных мощно-
стей), и информационные сети, предназначенные для совместно-
го использования информационных ресурсов. Сетевая техноло-
гия обработки информации весьма эффективна, так как предос-
тавляет пользователю необходимый сервис для коллективного
решения различных распределенных прикладных задач, увеличи-
вает степень использования имеющихся в сети ресурсов (инфор-
мационных, вычислительных, коммуникационных) и обеспечи-
вает удаленный доступ к ним.
Распределение потоков сообщений с целью доставки каждо-
го сообщения по адресу осуществляется на узлах коммутации
(УК) с помощью коммутационных устройств. Система распреде-
лений потоков сообщений в УК получила название системы
коммутации.
Под коммутацией в сетях передачи данных имеется в виду
совокупность операций, обеспечивающих в узлах коммутации
передачу информации между входными и выходными устройст-
вами в соответствии с указанным адресом. При коммутации с
326
Глава 6. Сетевые информационные технологии. Internet
накоплением (КН) абонент имеет постоянную прямую связь со
своим УК и передает на него информацию. Затем эта информа-
ция перелается через узлы коммутации другим абонентам, при-
чем в случае занятости исходящих каналов информация запоми-
нается в узлах и передастся по мерс освобождения каналов в
нужном направлении
Коммутация пакетов. В системах ПД широкое распростра-
нение получил метод коммутации пакетов (КП), или пакетной
коммутации, являющийся разновилностыо коммутации с накоп-
лением При КП сообщения разбиваются на меньшие части, на-
зываемые пакетами, каждый из которых имеет установленную
максимальную длину. Эти пакеты нумеруются и снабжаются ал
ресами и прокладывают себе путь по сети (методом передачи с
промежуточным хранением), которая их коммутирует.
Части одного и того же сообщения могут в одно и то же вре-
мя находиться в различных кана тах связи, более того, когда на-
чало сообщения уже принято, его конец отправитель может еще
лаже нс передавать в канал.
В сети с КП осуществляется следующий процесс передачи
(рис. 6.2):
• вводимое в сеть сообщение разбивается на части — пакеты
длиной обычно до 1000—2000 единичных интервалов, со-
держащие адрес ОП получателя. Указанное разбиение осу-
Рис. 6.2. Схема коммутации пакетов
6.1. Некоторые основные понятия
327
шсствляется или в оконечном пункте, если он содержит
ЭВМ, или в ближайшем к ОП УК;
• если разбиение сообщения на пакеты происходит в УК, то
дальнейшая передача пакетов ос\ шсствляется по мере их
формирования, не дожидаясь окончания приема в УК це-
лого сообщения;
• в узле КП пакет запоминается в оперативной памяти (ОЗУ)
и по адресу определяется канал, по которому он должен
быть передан:
• если этот канал к соседнему узлу свободен, то пакет немед-
ленно передается на соседний узел КП. в котором повторя-
ется та же операция;
• если канал к соседнему узлу занят, то пакет может неболь-
шое время храниться в ОЗУ до освобождения канала;
• при хранении пакеты устанавливаются в очереди по на-
правлению передачи, причем длина очереди не превышает
3—4 пакетов Если длина очереди превышает допустимую,
пакеты стираются из ОЗУ и их передача должна быть по-
вторена.
Эталонная модель внутри- и межсетевого взаимодействия
(OSI Reference Model). Мноюстойный (многоуровневый) харак-
тер сетевых процессов приводит к необходимости рассмотрения
многоуровневых моделей телекоммуникационных сетей. В каче-
стве эталонной модели утверждена семиуровневая модель, в ко-
торот. все процессы, реализуемые открытой системой, разбиты
на взаимно подчиненные уровни. В данной модели обмен ин-
формацией может быть представлен в виде стека (табл 6.1).
Таблица 6.1. Семиуровневая модель (стек) протоколов межсетевого обмена OSI
№ уровня Наименование уровня Содержание
7 Уровень приложений Предоставление услуг на уровне конечного пользовате- ля: почта, теледоступ и пр
6 Уровень представления данных Интерпретация и сжатие данных
5 Уровень сессии Аутентификация и проверка полномочий
4 Транспортный ОЬезпечение корректной сквозной пересылки данных
3 Сетевой Маршрутизация и ведение учета
2 Канальный Передача и прием пакетов, определение аппаратных адресов
1 Физический СоС ггвечни кабель или физический носитель
328
Г.-iuea 6. Сетевые информационные технологии. Internet
Эти представления были разработаны ISO (International
Standard Organization) и получили название «Семиуровневой мо-
дели сетевого обмена» (Open System Interconnection Reference
Model), или ВОС (Взаимодействие Открытых Систем). Основная
идея модели заключается в том. что каждому уровню отводится
конкретная роль, в том числе и транспор гнои среде. Благодаря
этому обшая задача передачи данных расчленяется на отдельные
легко обозримые задачи.
Необходимые соглашения для связи одного уровня с выше-
и нижерасположенными называют протоколом.
Наличие нескольких уровней, используемых в модели, обсс
печиваст декомпозицию информационно-вычислительного про-
цесса на простые составляющие. В свою очередь, увеличение
числа уровней вызывает необходимость включения дополни-
тельных связей в соответствии с дополнительными протоколами
и интерфейсами. Интерфейсы (макрокоманды, программы) за-
висят от возможностей используемой операционной системы.
Рассмотрим вкратце характеристики уровней ВОС.
Уровень 1, физическим уровень модети —опре-
деляет характеристики физической сети передачи данных, кото-
рая используется для межсетевого обмена. Это такие параметры,
как напряжение в сети, сила тока, число контактов на разъемах,
электрические, механические, функциональные и процедурные
параметры для физической связи в системах.
Уровень 2, канальный — представляет собой ком-
плекс процедур и методов управления каналом передачи дан-
ных, организованный на основе физического соединения. Ка-
нальный уровень формирует из данных, передаваемых 1-м уров-
нем, так называемые «кадры», последовательности пакетов.
Каждый пакет содержит адреса источника и места назначения, а
также средства обнаружения ошибок. На этом уровне осуществ-
ляются управление доступом к передающей среде, используемой
несколькими ЭВМ, синхронизация, обнаружение и исправление
ошибок.
К канальному уровню отнесены протоколы, определяющие
соединение, — протоколы взаимодействия между драйверами
устройств и устройствами, с одной стороны, а с другой — между
операционной системой и драйверами устройств.
Уровень 3, сетевой — устанавливает связь в вычисли-
тельной сети между двумя абонентами. Сое мнение происходит
благодаря функциям маршрутизации, коюрыс требуют наличия
6.1. Некоторые основные понятия
329
сетевого адреса в пакете. Сетевом уровень должен также обеспе-
чивать обработка ошибок, мультиплексирование, управление
потоками данных.
К сетевому уровню относятся протоколы, которые отвечают
за отправку и получение данных. 1де определяется отправитель и
получатель и определяется необходимая информация для достав-
ки пакета по сети.
Уровень 4. гран спортн ы й — поддерживает непре-
рывную пере ычу данных между двумя взаимодействующими
руг с другом удаленными пользовательскими процессами Ка-
чество транспоргировки. безошибочность передачи, независи-
мость вычислительных сетей, сервис транспортировки из конца
в конец, минимизация затрат и адресация связи гарантируют не-
прерывную и безошибочную передачу данных.
Транспортный протокол связывает нижние уровни (физиче-
ский. канальный, сетевой) с верхними уровнями, которые реа-
лизуются программными средствами. Этот уровень как бы раз-
деляет средства формирования данных в сети от средств их пере-
дачи. Сетевой уровень предоставляет услуги транспортному,
который требует от пользователей запроса на качество обслужи-
вания сетью.
После получения от пользователя запроса на качество обслу-
живания транспортный уровень выбирает класс протокола, ко-
торый обеспечивает требуемое качество обслуживания. При су-
ществовании разных типов сетей транспортный уровень позво-
ляет следующие параметры качества обслуживания:
• пропускная способность:
• надежность сети.
• задержка пере зачи информации через сеть;
• приоритеты:
• зашита от ошибок;
• м ул ьти п л с кс и ро ва н и е;
• управление потоком:
• обнаружение ошибок.
Уровень 5, сеансовый (уровень сессии) — на
данном уровне осуществляется управление сеансами (сессиями)
связи между двумя взаимодействующими прикладными пользо-
вательскими процессами (пользователями). Определяется начало
и окончание сеанса связи: нормальное или аварийное; определя-
ется время, длительность и режим сеанса связи, точки синхро-
низации для промежуточного контроля и восстановления при
330
Глава 6. Сетевые информационные технологии. Internet
передаче данных, восстанавливается соединение после ошибок
во время сеанса связи без потери данных.
Уровень 6, представления данных (представи-
тельский, уровень представления информации,
уровень обмена данными с прикладными про-
граммами) — управляет представлением данных в необходимой
для программы пользователя форме, осуществляет генерацию и
интерпретацию взаимодействия процессов, кодирование/декоди-
рование данных, в том числе компрессию и декомпрессию данных
(преобразование данных из промежуточного формата сессии в
формат данных приложения).
На рабочих станциях могут использоваться различные опера-
ционные системы: DOS, UNIX, OS/2. Каждая из них имеет свою
файловую систему, свои форматы хранения и обработки данных.
Задачей данного уровня является преобразование данных при
передаче информации в формат, который используется в инфор-
мационной системе. При приеме данных уровень представления
данных выполняет обратное преобразование.
Уровень 7, прикладной (уровень прикладных
программ или приложений) — определяет протоколы
обмена данными этих прикладных программ; в его ведении на-
ходятся прикладные сетевые программы, обслуживающие фай-
лы, а также выполняются вычислительные, информационно-по-
исковые работы, логические преобразования информации, пере-
дача почтовых сообщений и т. п. Одна из задач этого уровня —
обеспечить интерфейс пользователя.
Таким образом, мы видим, что уровень с меньшим номером
предоставляет услуги смежному с ним верхнему уровню и поль-
зуется для этого услугами смежного с ним нижнего уровня. Са-
мый верхний (7-й) уровень потребляет услуги, самый нижний
(1-й) только предоставляет их.
Кроме того, на разных уровнях обмен происходит в различ-
ных единицах информации: биты, кадры, фреймы, пакеты, сеан-
совые сообщения, пользовательские сообщения. Уровень может
«ничего не знать» о содержании сообщения, но он должен
«знать», что дальше делать с этим сообщением. Уровень прило-
жений передает сообщение на следующий уровень и т. д. через
все уровни, пока физический уровень не передаст его в кабель.
Каждый уровень по-своему обрабатывает, например, сообщение
электронной почты, но не «знает» о фактическом содержании
этого сообщения.
6.1. Некоторые основные понятия
331
Для правильной и, следовательно, полной и безошибочной
передачи данных необходимо придерживаться согласованных и
установленных правил, оговоренных в протоколе передачи
данных.
Базовые сетевые топологии
Проиллюстрируем (на примере локальных сетей) основные
принципы комплексирования сетевого оборудования (или топо-
логии сетей). При создании сети в зависимости от задач, кото-
рые она должна будет выполнять, может быть реализована одна
из трех базовых топологий: «звезда», «кольцо» и «общая
шина» — рис. 6.3, табл 6.2.
Рис. 6.3. Базовые сетевые топологии:
a — звезда; б — кольцо; в — шинная топология; г — логическое кольцо
332
Глава 6. Сетевые информационные технологии. Internet
Таблица 6.2. Основные характеристики сетей разной топологии
Характеристики Топология
Звезда Кольцо Шина
Стоимость расширения Незначительная Средняя Средняя
Присоединение абонентов Пассивное Активное Пассивное
Защита от отказов Незначительная Незначительная Высокая
Размеры системы Любые Любые Ограничены
Защищенность от прослу- шивания Хорошая Хорошая Незначительная
Стоимость подключения Незначительная Незначительная Высокая
Поведение системы при вы- соких нагрузках Хорошее Удовлетворительное Плохое
Возможность работы в ре- альном режиме времени Очень хорошая Хорошая Плохая
Разводка кабеля Хорошая Удовлетворительная Хорошая
Обслуживание Очень хорошее Среднее Среднее
Концепция топологии сети в виде звезды заимствована из об-
ласти больших ЭВМ, в которой головная (хост-) машина полу-
чает и обрабатывает все данные с периферийных устройств (тер-
миналов или рабочих станций пользователя), являясь единствен-
ным активным узлом обработки данных.
Информация между любыми двумя пользователями в этом
случае проходит через центральный узел вычислительной сети.
Пропускная способность сети определяется вычислительной
мощностью узла и гарантируется для каждой рабочей станции.
Коллизий (столкновений) данных не возникает.
Кабельное соединение достаточно простое, так как каждая
рабочая станция связана с узлом. Затраты на прокладку кабелей
высокие, особенно когда центральный узел географически рас-
положен не в центре сети. При расширении вычислительных се-
6.1. Некоторые основные понятия
333
тей не могут быть использованы ранее выполненные кабельные
связи: к новому рабочему месту необходимо прокладывать от-
дельный кабель из центра сети
Топология в виде звезды является наиболее быстротействую-
шей из всех топологии вычислительных сетей, поскольку пере-
дача данных мся i\ рабочими станциями проходит через цен-
тральный узел (при его хорошей производительности) по отдель-
ным линиям, используемым только этими рабочими станциями.
Кроме того, частота запросов передачи информации от одной
станции к другой невысока по сравнению с наблюдаемой при
других топологиях
При кольцевой топологии сети рабочие станции связаны одна
с другой по кругу т. с. рабочая станция 1 с рабочей станцией 2,
рабочая станция 3 с рабочей станцией 4 и г. д. Последняя рабо-
чая станция связана с первой. Коммуникационная связь замыка-
ется в кольцо, данные перелаю гея от отного компьютера к дру-
гому как бы по эстафете Если компьютер получит данные,
предназначенные для другого компьютера, он передаст их сле-
дующему по кольцу. Если данные предназначены для получив-
шего их компьютера, они дальше не передаются.
Прокладка кабелей от одной рабочей станции до другой мо-
жет быть довольно сложной и дорогостоящей, особенно если
географически рабочие станции расположены далеко от кольца
(например, в линию).
Пересылка сообщений является очень эффективной, так как
большинство сообщений можно отправлять по кабельной систе-
ме одно за другим. Очень просто можно выполнить циркуляр-
ный (козьневои) запрос на все станции. Продолжительность пе-
редачи информации увеличивается пропорционально количеству
рабочих станции, входяши к в вычислительную сеть.
Основная проблема кольцевой топологии заключается в том,
что каждая рабочая станция должна участвовать в пересылке ин-
формации. и в случае выхода из строя хотя бы одной из них ра-
бота в сети прекращается.
Топология «общая шина» (.магистраль) предполагает использо-
вание одного кабеля, к которому подключаются все компьютеры
седи. В данном случае кабель используется совместно всеми
станциями по очереди. Принимаются спсциадьные меры для
того, чтобы при работе с общим кабелем компьютеры не мешали
друг другу передавать и принимать данные.
334
Глава 6. Сетевые информационные технологии. Internet
Надежность здесь выше, так как выход из строя отдельных
компьютеров не нарушает работоспособность сети в целом. По-
иск неисправностей в кабеле затруднен. Кроме того, так как ис-
пользуется только один кабель, в случае повреждения нарушает-
ся работа всей сети.
А чмбинированные топологические решения. Наряду с отмечен-
ными базовыми, на практике применяется ряд комбинирован-
ных топологии К таковым относится, например, логиче-
ская кольцевая сет ь, которая физически монтируется как
соединение звездных топологий (рис. 6.3, г). Отдельные «звезды»
включаются с помощью специальных коммутаторов, которые
иногда называют «хаб» (от англ. Hub — концентратор).
6.2. Технологии Internet
В [20J приведено следующее определение "Федеральный се-
тевой совет признает, что... Internet — это глобальная информа-
ционная система, которая:
• логически взаимосвязана пространство'., глобальных уни-
катьных адресов, основанных на Internet-протоколе (IP)
или на последующих расширениях или преемниках IP;
• способна поддерживать коммуникации с использованием
семейства Протокола управления передачей/Intcrnct-npo-
токола (TCP/IP) или его последующих расширений/пресм-
ников и/или других IP-совместимых протоколов;
• обеспечивает, использует или делает доступной на общест-
венной или частной основе высокоуровневые сервисы,
надстроенные над описанной здесь коммуникационной и
иной связанной с ней инфраструктурой.
За два десятилетия своего существования Сеть Internet пре-
терпела кардинальные изменения (рис. 6.4). Она зарождалась в
эпоху разделения времени, но сумела выжить во времена господ-
ства персональных компьютеров, одноранговых сетей, систем
клиенг/сервер и сетевых компьютеров. Она проектировалась до
первых ЛВС, но впитала эту новую сетевую технологию, равно
как и появившиеся позднее сервисы коммутации ячеек и кадров.
Она задумывалась для поддержки широкого спектра функций,
от разделения файлов и удаленного входа до разделения ресур-
6.2. Технологии Internet
335
DAPRA ►
DAPRA DCA
DAPRA DCA NSF
FNC/CCIRN/COMML
ARPANET INTERNET
WG
WG
j iccb h
1 IRG H
4 icb p
4 IAB h
1 TFS (.
1 'AB I
I IETF I
I 1ВТЕ I
iSOC
j ICCB
H IRG H
1 ICB h
Изобретение
TCP/IP
1968 ---------------- 1980----------------1986----------------1993-----------1996
Демонстрация Перевод Формирование
ARPANET ARPANET на TCP/IP A Сообщества
Начало Счет пошел ▲
проекта на тысячи Всемирная
паутина
▲
Многопротокольная
шлюз Расширение на среда
MILNET/ ARPANET
Широкое
использование
ARPANET
Чиспо
действующих
сетей в Интернет
3 20 60 300 500 1000 10,000 50 000
Рис. 6.4. Краткая хронология развития Internet: ICB — Международный совет
но сотрудничеству (International Cooperation Board); IRG — Исследовательская
группа Internet (Internet Research Group); ICCB — Совет по конфигурационному
управлению Internet (Internet Configuration Control Board); TFs — Совокупность
Тематических групп (Task Forces); IAB — Совет по развитию Internet (Internet
Activities Board); IETF - Тематическая группа по технологии Internet (Internet
Engineering Task Force); IESG — Грхппа управления гехнолошей Internet
(Internet Engineering Steering Group): IRTF — Тематическая группа Internet-ис-
следований (Internet Research Task Force); ISOC — Сообщество Интернет
(Internet Society); CNRI — Корпорация национальных исследовательских ини-
циатив (Corporation for National Research Initiatives); IAB — Совет по архитекту-
ре Internet (Internet Architecture Board): W3C — W3-KoncopunyM (World Wide
Web Consonium)
сов и совместной работы, породив электронную почту и в более
поздний период Всемирную паутину ‘WWW ».
Рассмотрим некоторые основные Internet-технологии
Система адресов Internet
Сеть сетей — Internet — базируется на принципах пакетной
коммутации и реализует многоуровневую совокупность протоко-
лов, подобную рассмотренной выше модели OSI. Прежде чем
перейти к описанию данных протоколов, отметим, что на каж-
дом из уровней используются определенные системы адресации,
336
Глава 6. Сетевые информационные технологии. Internet
позволяющие осуществлять передачу сообщений и адресацию
информационных ресурсов. Основными типами адресов являют-
ся следующие:
• адрес Ethernet;
• IP-адрес (основной адрес в Internet);
• доменные адреса:
• почтовые адреса;
• номера портов;
• универсальный локатор (идентификатор) сетевого ресурса
(URL/URI).
Адрес Ethernet. Internet поддерживает разные физические сре-
ды, из которых наиболее распространенным аппаратурным сред-
ством реализации локальных сетей (нижний уровень многоуров-
невых сетей) является технология Ethernet.
В локальной сети обмен осуществляется кадрами Ethernet,
каждый из которых содержит адрес назначения, адрес источни-
ка, поле типа и данные. Каждый сетевой адаптер (интерфейс,
карта Ethernet — физическое устройство, подключающее компь-
ютер к сети) имеет свой сетевой адрес, размер которого состав-
ляет 6 байт.
Адаптер «слушает» сеть, принимает адресованные ему кадры
и широковещательные кадры с адресом FF:FF:FF:FF:FF:FF и от-
правляет кадры в сеть, причем в каждый момент времени в сег-
менте узла сети находится только один кадр.
Собственно Ethernet-адрес соответствует не компьютеру, а
его сетевому интерфейсу. Таким образом, если компьютер имеет
несколько интерфейсов, то это означает, что каждому интерфей-
су будет назначен свой Ethernet-адрес. Каждой карте Ethernet
соответствуют Ethernet-адрес и IP-адрес, которые уникальны в
рамках Internet.
IP-адрес представляет собой 4-байтовую последовательность,
причем каждый байт этой последовательности записывается в
виде десятичного числа. Адрес состоит из двух частей: адреса
сети и номера хоста. Обычно под хостом понимают компьютер,
подключенный к Internet, однако это может быть и принтер с
сетевой картой, и терминал или вообще любое устройство, кото-
рое имеет свой сетевой интерфейс.
Существует несколько классов адресов, различающихся коли-
чеством битов, отведенных на адрес сети и адрес хоста в сети.
В табл. 6.3 приведены характеристики основных классов сетей.
6.2. Технологии Internet
337
Таблица 6.3. Классы IP-адресов
Класс сети Байт 1 Байт 2 Байт 3 | Байт 4
А Jj Сеть Номер хоста
В 10 Номер сети Номер хоста
С 110 Номер сети I Хост
Назначение классов IP-адресов:
А — использование в больших сетях общего доступа;
В — в сетях среднего размера (большие компании, науч-
но-исследовательские институты, университеты);
С — в сетях с небольшим числом компьютеров (небольшие
компании и фирмы).
Среди IP-адресов несколько зарезервировано под специаль-
ные случаи (табл. 6.4).
Таблица 6.4. Выделенные IP-адреса
IP-адрес Интерпретация
Номер сети | Номер хоста
0.0(000016) ; 0.0 Данный узел сети
Номер сети 0.0 Данная IP-сеть
0.0 Номер узла Узел в данной (локальной)сети
255.255 (FFFF16) 255.255 (FFFF16) Все узлы в данной локальной ip-сети
Номер сети 255.255 Все узлы указанной IP-сети
Для установления соответствия между IP-адресом и адресом
Ethernet в локальных сетях используется протокол отображения
адресов — Adress resolution Protocol (ARP). Отображение адресов
осуществляется в ARP-таблице (табл. 6.5), которая необходима,
так как адреса выбираются произвольно и нет какого-либо алго-
ритма для их вычисления.
Таблица 6.5. Пример соответствия IP- и Ethernet-адресов
IP-адрес Ethernet-адрес
223.1.2.1 08:00:39:00:2F:C3
223.1.2.3 08:00:5А:21 :А7:22
223.1.2.4 08:00:10:99:АС:54
338
Глава 6. Сетевые информационные технологии. Internet
ARP-таблица заполняется автоматически; если нужного ад-
реса в таблице нет, то в сеть посылается широковещательный за-
прос «чей это IP-адрес?», который получают все сетевые интер-
фейсы, но отвечает только владелец адреса.
Система доменных имен. Хотя числовая адресация удобна
для машинной обработки таблиц маршрутов, она очевидно не-
приемлема для использования человеком. Для облегчения взаи-
модействия вначале применялись таблицы соответствия число-
вых адресов именам машин. Эти таблицы сохранились и исполь-
зуются многими прикладными программами (табл. 6.6).
Таблица 6.6. Пример таблицы соответствия имени и адреса сетевой машины
IP-адрес Имя машины
127.0.0.1 localhost
144.206.160.32 Polyn
144.206.160.40 Apollo
Пользователь для обращения к машине может использовать
как IP-адрес, так и имя.
По мере роста сети была разработана система доменных
имен — DNS (Domain Name System), которая строится по иерар-
хическому принципу, однако эта иерархия не является строгой.
Фактически нет единого корня всех доменов Internet. В 80-е гг.
были определены первые домены (национальные, США) верхне-
го уровня: gov, mil, edu, com, net. Позднее появились нацио-
нальные домены других стран: uk, jp, au, ch и т. п. Для СССР
был выделен домен su, однако после приобретения республика-
ми союза суверенитета, многие из них получили свои собствен-
ные домены: ua, ru, la, li и т. п. Однако домен su был сохранен,
и таким образом, например, в Москве существуют организации
с доменными именами kiae. su и msk. ru.
Вслед за доменами верхнего уровня следуют домены, опреде-
ляющие либо регионы (msk), либо организации (kiae); следую-
щие уровни иерархии могул быть закреплены за небольшими ор-
ганизациями, либо за подразделениями больших организаций
(рис. 6.5).
Наиболее популярной программой поддержки DNS является
BIND, или Berkeley Internet Name Domain, — сервер доменных
имен, реализованный в университете Беркли, который широко
применяется в Internet. Он обеспечивает поиск доменных имен
6.2. Технологии Internet
339
kiae.su
polyn.kiae.su
net.kiae.su
Twinhead.polyn.kiae.su / apollo.polyn.kiae.sux. quest.polyn.kiae.su polyn.net.kiae.su
demin.polyn.kiae.su
nata.polyn.kiae.su
Рис. 6.5. Структура домена polyn.kiae.su
и IP-адресов для любого узла сети. BIND обеспечивает также
рассылку сообщений электронной почты через узлы Internet.
Вообще говоря, сервер имен может быть установлен на лю-
бой компьютер локальной сети. При выборе машины для уста-
новки сервера имен следует принимать в расчет то обстоятельст-
во, что многие реализации серверов держат базы данных имен в
оперативной памяти.
Почтовые адреса. В Internet принята система адресов, кото-
рая базируется на доменном адресе машины, подключенной к
сети. Почтовый адрес состоит из двух частей: идентификатора
пользователя, который записывается перед знаком «коммерче-
ского ат — @», и доменного адреса машины, который записы-
вается после знака «@».
Различают следующие типы адресов:
• местный адрес — распознается как адрес на машине, с ко-
торой осуществляется отправка почты:
• адреса UUCP — могут имеют вид:
— host .'user;
— host!host!user;
— user@host.uucp;
• адреса SMTP — стандартные для Internet:
— usrQhost;
— usr@host.domain;
— user@[remote.host's.internet.address].
Если машина, с которой отправляется почта, имеет прямую
линию связи по протоколу UUCP со следующей машиной (в ад-
ресе), то почта передается на эту машину; если такого соедине-
ния нет, то почта не рассылается и выдается сообщение об
ошибке. (Программа рассылки почты sendmail сама преобразу-
340
Глава 6. Сетевые информационные технологии. Internet
ет адреса формата SMTP в адреса UUCP, если доставка сообще-
ния осуществляется по этому протоколу).
При рассылке может использоваться и смешанная адре-
сация:
• user%hostA@hostB — почта отправляется с машины hostB
на машину hostA;
• user! hostA@hostB — почта отправляется с машины hostB
на машину hostA;
• hostA!user%hostB — почта отправляется с hostA на hostB.
TCP/UDP-nopm — условный номер соединения с хост-маши-
ной по определенному протоколу прикладного уровня (точнее,
информационный сервис, WKS — Well Known Services, или
прикладная программа, которая осуществляет обслуживание по
определенном порту TCP или UDP). К сервисам относятся: дос-
туп в режиме удаленного терминала, доступ к файловым архивам
FTP, доступ к серверам World Wide Web и т. п.
Система универсальных идентификаторов ресурсов (URI/URL)
разработана для использования в системах WWW, и в ее основу
заложены следующие принципы.
Расширяемость — новые адресные схемы должны были
легко вписываться в существующий синтаксис URI; была дос-
тигнута за счет выбора определенного порядка интерпретации
адресов, который базируется на понятии «адресная схема».
Идентификатор схемы стоит перед остатком адреса, отделен от
него двоеточием и определяет порядок интерпретации остатка.
Полнота — по возможности любая из существовавших
схем должна была описываться посредством URI.
Читаемость — адрес должен легко пониматься челове-
ком, что вообще характерно для технологии WWW — документы
вместе с ссылками могут разрабатываться в обычном текстовом
редакторе.
Формат URL включает:
• схему адреса (тип протокола доступа — http, gopher, wais,
telnet, ftp и т. п.);
• IP- или доменный адрес машины;
• номер ТСР-порта;
• адрес ресурса на сервере (каталог или пуль);
• имя HTML-файла и метку;
• критерий поиска данных.
Для каждого вида протокола приложений выбирается свое
подмножество полей из представленного выше списка. Прежде
6.2. Технологии Internet
341
чем рассмотреть различные схемы представления адресов, при-
ведем пример простого адреса URI:
http://polyn.net.kiae. su/polyn/index. html.
В данном случае путь состоит из доменного адреса машины,
на которой установлен сервер HTTP, и пули от корня дерева
сервера к файлу index.html.
Схема http — основная для WWW; содержит идентифика-
тор, адрес машины, TCP-порт, путь в директории сервера, поис-
ковый критерий и меткую Приведем несколько примеров URI
для схемы HTTP:
http: / /polyn. net. kiae . su ''polyn/manifest. html.
Это наиболее распространенный вил URI, применяемый в
документах WWW. Вслед за именем схемы (http) следует путь,
состоящий из доменного адреса машины и полного адреса
HTML-документа в дереве сервера HTTP.
В качестве адреса машины допустимо использование и
IP-адреса:
http://144.206.160.40/risk/risk.html.
При указании адреса ресурса возможна ссылка на точку
внутри файла HTML. Для этого вслед за именем документа мо-
жет быть указана метка внутри HTML-документа:
http://polyn.net.kiae.su/altai/volume!.html#first.
Символ «#» отделяет имя документа от имени метки. Другая
возможность схемы HTTP — передача параметров. Первоначаль-
но предполагалось, что в качестве параметров будут передаваться
ключевые слова, но по мере развития механизма CGI-скриптов
в качестве параметров стала передаваться и другая информация:
http://polyn.net.kiae.su/isindex.html?keywordl+keyword2.
В данном примере предполагается, что файл
isindex.html — документ с возможностью поиска по ключе-
вым словам.
При использовании HTML Forms параметры передаются как
поименованные поля:
http://polyn.net.kiae.su/isindex.html?fieldl=valuel+
field2=value
342 Глава 6. Сетевые информационные технологии. Internet
Схема FTP позволяет адресовать файловые архивы FTP
из программ-клиентов World Wide Web. При этом возможно ука-
зание не только имени схемы, адреса FTP-архива, но и иденти-
фикатора пользователя и даже его пароля. Наиболее часто дан-
ная схема используется для доступа к публичным архивам FTP:
ftp://polyn.net.kiae.su/pub/index.txt.
В данном случае записана ссылка на архив
polyn.net.kiae.su с идентификатором anonymous или ftp
(анонимный доступ). Если есть необходимость указать иденти-
фикатор пользователя и его пароль, то можно это сделать перед
адресом машины:
ftp://nobody:password@polyn.net.kiae.su/users/local/pub.
В данном случае эти параметры отделены от адреса машины
символом @, а друг от друга — двоеточием. В некоторых систе-
мах можно указать и тип передаваемой информации, но данная
возможность не стандартизована.
Схема Gopher используется для ссылки на ресурсы рас-
пределенной информационной системы Gopher; состоит из иден-
тификатора и пути, в котором указывается адрес Gopher-сервера,
тип ресурса и команда Gopher:
gopher://gopher.kiae.su:70:/7/software.
В данном примере осуществляется доступ к Gopher-серверу
gopher.kiae.su через порт 70 для поиска (тип 7) слова
software. Следует заметить, что тип ресурса, в данном случае 7,
передается не перед командой, а вслед за ней.
Схема MAILTO предназначена для отправки почты по
стандарту RFC-822 (стандарт почтового сообщения). Обший вид
схемы выглядит так:
mailto:paul@quest.pclyn.kiae.su.
Схема NEWS — просмотр сообщений системы Usenet.
При этом используется следующая нотация:
news:comp.infosystems.gopher.
6.2. Технологии Internet
343
В данном примере пользователь получит идентификаторы
статей из группы comp, inf ©systems .gopher в режиме уведом-
ления. Можно получить и текст статьи, но тогда необхо шм ее
идентификатор:
news:086@comp.infosystems.gopher
(86-я статья из группы)
С х е м а Т Е LN F Т осуществляет доступ к ресурсу в режиме
удаленного терминала. Обычно клиент вызывает лополнитеть-
ную программу для работы по протоколу telnet. При испо тьзова-
нии этой схемы необходимо указывать идентификатор пользова-
теля, допускается использование пароля:
telnet: //guest: passwcrc@apollo.poly.n . k±ae. su.
Схема WAIS (протокот Z39.50). WAIS — распределенная
информационно-поисковая система, работающая в режимах по-
иска и просмотра. При поиске используется форма со знаком
«?», отделяющим адресную часть от ключевых слов:
wais://wais.think.com/wais?guide.
В данном случае обращаются к базе данных wais на сервере
wais.think.com с запросом на поиск документов, содержащих
слово guide. Сервер возвращает клиенту список идентификато-
ров документов, после получения которого можно использовать
вторую форму схемы wais-запрос на просмотр документа:
wais://wais.think.ccm/wais/wtype/039=/user/letter.txt.
где 039 — идентификатор документа.
Схема FILE. WWW-технология используется как в сете-
вом, так и в локальном режимах. Для локального режима ис-
пользуют схему file.
file:///С I/text/htnl/indez.htm.
В данном примере приведено обращение к локальному
документу на персональном компьютере с MS-DOS или
MS-Windows.
Существует еще несколько схем. Эти схемы реально на прак-
тике не используются или находятся в стадии разработки, поэто-
му останавливаться на них мы не будем.
344
Глава 6. Сетевые информационные технологии. Internet
Совокупность протоколов Internet
Стек, или семейство протоколов TCP/IP, отлича-
ется от вышерассмотренной модели OSI и обычно ограничивает-
ся схемой, представленной в табл. 6.7. Обе архитектуры включа-
ют похожие уровни, однако в TCP/IP несколько «слоев»
OSI-модели объединены в один.
Таблица 6.7. Структура стека протоколов TCP/IP
Уровни модели 0S1 Уровни TCP/IP (Internet)
1 Прикладной
Представительный Уровень приложений (Прикладные программы конечных пользователей)
Сеансовый
Транспортный Транспортный уровень (Связь между программами в сети)
Сетевой Сетевой уровень (Базовые коммуникации, адресация и маршрутизация)
Передача данных j
Физический
Взаимодействие на уровне прикладных протоколов осуществ-
ляется путем обмена командами установления/прекращения со-
единений (типа open/close), приема/передачи (send/receive)
и собственно данными. Прикладные протоколы (Telnet, элек-
тронная почта, Gopher, Ftp, Http, Wais) будут рассмотрены далее,
совместно с информационными сервисами доступа к информа-
ционным ресурсам, здесь же мы ограничимся рассмотрением
собственно протоколов TCP/IP — канального, сетевого, транс-
портного уровней. Вот эти протоколы:
TCP — Transmission Control Protocol — базовый транспорт-
ный протокол, давший название всему семейству протоколов
TCP/IP;
VDP — User Datagram Protocol — второй по распространен-
ности транспортный протокол семейства TCP/IP;
IP — Internet Protocol — межсетевой протокол;
ARP — Address Resolution Protocol — используется для опре-
деления соответствия IP-адресов и Ethernet-адресов;
SLIP — Serial Line Internet Protocol — протокол передачи
данных по телефонным линиям;
РРР — Point to Point Protocol — протокол обмена данными
«точка-точка»;
6.2. Технологии Internet
345
RPC — Remote Process Control — протокол управления уда-
ленными процессами;
TFTP — Trivial File Transfer Protocol — тривиальный прото-
кол передачи файлов;
DNS — Domain Name System — система доменных имен;
RIP - Routing Information Protocol — протокол маршрути-
зации.
Некоторые предварительные замечания. На каждом из уров-
ней схемы рис. 6.6 коммуникация осуществляется физически
блоками (пакетами), и при переходе с уровня на уровень реали-
зуются следующие преобразования форматов: инкапсуляция/экс-
капсуляция; фрагментация/дефрагментация.
Уровень приложений
(HTTP, FTP и т. п.)
Блок данных
Заголовок TCP Блок данных TCP, включающий все сообщение прикладного уровня
Уровень TCP
Уровень IP
Заголовок IP Заголовок TCP Блок данных TCP, включающий все сообщение прикладного уровня
<----- Блок данных пакета протокола IP -----►
Рис. 6.6. Инкапсуляция протоколов верхнего уровня в протоколы TCP/IP
Инкапсуляция — способ упаковки данных в формате
вышестоящего протокола в формат нижестоящего протокола.
При этом один или несколько первичных пакетов преобразуют-
ся в один вторичный пакет и снабжаются управляющей инфор-
мацией, характерной для принимающего уровня. Например, по-
мещение пакета IP в качестве данных Ethernet-кадра, помеще-
ние TCP-сегмента в качестве данных в IP-пакет (рис. 6.6). При
возврате на верхний уровень исходный формат восстанавливает-
ся в соответствии с обратной процедурой — экскапсуляцией.
Фрагментация — реализуется, если разрешенная длина
пакета нижнего уровня недостаточна для размещения первично-
го пакета, при этом осуществляется «нарезка» пакетов (напри-
мер, на пакеты SLIP или фреймы РРР), аналогично при возврате
на первичный уровень пакет должен быть дефрагментирован.
При описании основных протоколов стека TCP/IP будем
следовать модели, представленной в табл. 6.7. Первыми будут
346
Глава 6. Сетевые информационные технологии. Internet
рассмотрены протоколы канального ровня SLIP и РРР. Это
единственные протоколы, которые были разработаны в рамках
Internet и для Internet. Другие протоколы, например NDIS или
ODI, мы рассматривать не будем, поскольку они создавались в
других сетях, хотя и могут использоваться в сетях TCP/IP также.
Протоколы канального уровня SLIP и РРР применяются на
телефонных каналах. С помощью этих каналов к сети подключа-
ется большинство индивидуальных пользователей, а также не-
большие локальные сети. Подобные линии связи могут обеспе-
чивать скорость передачи данных до 115 200 бит/с.
Serial Line IP (S LI Р). Обычно этот протокол применя-
ют как на выделенных, так и на коммутируемых линиях связи со
скоростью передачи от 1200 до 19 200 бит в секунду.
В рамках протокола SLIP осуществляется фрагментация
IP-пакетов, при этом SLIP-пакет должен начинаться символом
ESC (восьмеричное 333 или десятичное 219) и заканчиваться
символом end (восьмеричное 300 или десятичное 192). Стандарт
не определяет размер SLIP-пакета, поэтому любой интерфейс
имеет специальное поле, в котором пользователь должен указать
эту длину.
Соединения типа «точка—точка» — протокол
РРР (Point to Point Protocol). Данный протокол обеспе-
чивает стандартный метод взаимодействия двух узлов сети.
Предполагается, что обеспечивается двунаправленная одновре-
менная передача данных. Собственно говоря, РРР состоит из
трех частей: механизма инкапсуляции (encapsulation), протокола
управления соединением (link control protocol) и семейства про-
токолов управления сетью (network control protocols).
Под датаграммой в РРР понимается информационная еди-
ница сетевого уровня (применительно к IP — IP-пакет). Под
фреймом понимают информационную единицу канального уров-
ня (согласно модели OSI). Для обеспечения быстрой обработки
информации длина фрейма РРР должна быть кратна 32 битам.
Фрейм состоит из заголовка и хвоста, между которыми со-
держатся данные. Датаграмма может быть инкапсулирована в
один или несколько фреймов (рис. 6.7). Пакетом называют ин-
формационную единицу обмена между модулями сетевого и ка-
нального уровней. Обычно каждому пакету ставится в соответст-
вие один фрейм, за исключением тех случаев, когда канальный
уровень требует большей фрагментации данных или, наоборот,
объединяет пакеты для более эффективной передачи.
6.2. Технологии Internet
347
Протокол 8/16 битов Информация Хвост
Рис. 6.7. PPP-фрейм
Протокол управления соединением предназначен для установ-
ки соглашения между узлами сети о параметрах инкапсуляции
(размер фрейма и т. п.), кроме того, он позволяет проводить
идентификацию узлов. Первой фазой установки соединения яв-
ляется проверка готовности физического уровня передачи данных.
При этом такая проверка может осуществляться периодически,
позволяя реализовать механизм автоматического восстановления
физического соединения, как это бывает при работе через модем
по коммутируемой линии. Если физическое соединение уста-
новлено, то узлы начинают обмен пакетами протокола управле-
ния соединением, настраивая параметры сессии.
Межсетевые протоколы. К данной группе относятся прото-
колы IP, ICMP, ARP.
Протокол IP является основным в иерархии протоколов
TCP/IP и используется для управления рассылкой TCP/IP-паке-
тов по сети Internet. Среди различных функций, возложенных на
IP, обычно выделяют следующие:
• определение пакета, который является базовым понятием и
единицей передачи данных в сети Internet,
• определение адресной схемы, которая используется в сети
Internet;
• передача данных между канальным уровнем (уровнем дос-
тупа к сети) и транспортным уровнем (другими словами,
преобразование транспортных датаграмм во фреймы ка-
нального уровня);
• маршрутизация пакетов по сети, т. е. передача пакетов от
одного шлюза к другому с целью передачи пакета маши-
не- пол учател ю;
• фрагментация и дефрагментация пакетов транспортного
уровня.
Таким образом, вся информация о пути, по которому должен
пройти пакет, опрслетяется по состоянию сети в момент прохо-
ждения пакета. Эта процедура называется маршрутизацией в от-
личие от коммутации, используемой для предварительного уста-
новления маршрута следования отправляемых данных.
348
Глава 6. Сетевые информационные технологии. Internet
Маршрутизация представляет собой ресурсоемкую процеду-
ру, так как предполагает анализ каждого пакета, который прохо-
дит через шлюз или маршрутизатор, в то время как при комму-
тации анализируется только управляющая информация, устанав-
ливается канал (физический или виртуальный), и все пакеты
пересылаются по этому каналу без анализа маршрутной инфор-
мации. Однако при неустойчивой работе сети пакеты могут пе-
ресылаться по различным маршрутам и затем собираться в еди-
ное сообщение. При коммутации путь придется устанавливать
заново для каждого пакета и при этом потребуется больше на-
кладных затрат, чем при маршрутизации.
Структура пакета IP представлена на рис. 6.8. Фактически в
заголовке пакета определены все основные данные, необходи-
мые для перечисленных выше функций протокола IP: адрес от-
правителя, адрес получателя, общая длина пакета и тип пересы-
лаемой датаграммы.
Используя данные заголовка, машина может определить, на
какой сетевой интерфейс отправлять пакет. Если IP-адрес полу-
чателя принадлежит одной из ее сетей, то на интерфейс этой
сети пакет и будет отправлен, в противном случае пакет отпра-
вят на другой шлюз.
Как уже отмечалось, при обычной процедуре инкапсулиро-
вания пакет просто помещается в поле данных фрейма, а в слу-
чае, когда это не может быть осуществлено, разбивается на бо-
20 124 128
Version
IHL
Type of Service
Total Length
Identification
Flags Fragmentation offset
Words
Time to Live
Protocol
Header Checksum
Source Addres
Destination Address
Options
i 6
Padding
Data begins here
Рис. 6.8. Формат пакета IP
6.2. Технологии Internet
349
лее мелкие фрагменты. Размер максимально возможного фрей-
ма. который передается по сети, опретсляезся величиной MTU
(Maximum Transsion Unit), определенной лля протокола каналь-
ного уровня. Для последующего восстановления пакет IP должен
содержать информацию о своем разбиении и для этой цели ис-
пользуются поля «flags» и «fragmentation offset». В этих полях оп-
ределяется, какая часть пакета получена в данном фрейме, если
этот пакет был (фрагментирован на более мелкие части.
ICMP (Internet Control Message Protocol) — на-
ряду c IP и ARP относится к межсетевому уровню. Протокол ис-
пользуется для рассылки информационных и управляющих со-
общений. При этом используются следующие виды сообщений.
Flow control — если принимающая машина (шлюз и ш ре-
альный получатель информации) не успевает перерабатывать
информацию, то данное сообщение приостанавливает отправку
пакетов по сети
Detecting unreachable destination — если пакет не мо-
жет достичь места назначения, то шлюз, который нс может дос-
тавить пакет, сообщает об этом отправителю пакета.
Redirect routing — это сообщение посылается в том слу-
чае, если шлюз не может доставить пакет, но у него есть на этот
счет некоторые соображения, а именно адрес другого шлюза.
Checking remote host — в этом случае используется так
называемое ICMP Echo Message. Если необходимо проверить
наличие сгека TCP/IP на удаленной машине, то на нее посыла-
ется сообщение данного типа. Как только система получит это
сообщение, она нсмешзенно высылает подтверждение.
ICMP используется также для получения сообщения об исте-
чении срока «жизни» пакета на шлюзе. При этом используется
время жизни пакета, которое определяет число шлюзов, через
которые пакет может пройти. Программа, которая использует
эту информацию (сообщение time execeed протокола ICMP),
называется traceroute.
Протоколы управления маршрутизацией. Наиболее распро-
страненный из них — протокол RIP.
Протокол RIP (Routing Information Protocol) —
предназначен для автоматического обновления таблицы мар-
шрутов, при этом используется информация о состоянии сети,
которая рассылается маршрутизаторами (routers). В соответствии
с протоколом RIP любая машина может быть маршрутизатором.
При этом все маршрутизаторы делятся на активные и пассив-
350 Глава 6. Сетевые информационные технологии. Internet
ные. Активные маршрутизаторы сообщают о маршрутах, кото-
рые они поддерживают в сети. Пассивные маршрутизаторы чи-
тают эти широковещательные сообщения и исправляют свои
таблицы маршрутов, но при этом сами информации в сеть не
предоставляют. Обычно в качестве активных маршрутизаторов
выступают шлюзы, а в качестве пассивных — обычные машины
(hosts).
Протоколы транспортного уровня. User Datagram
Protocol (UDP) один из двух протоколов транспортного
уровня, используемых в стеке протоколов TCP/IP. UDP позво-
ляет прикладной программе передавать свои сообщения по сети
с минимальными издержками, связанными с преобразованием
протоколов уровня приложения в протокол IP. Однако при этом
прикладная программа сама должна обеспечивать подтвержде-
ние того, что сообщение доставлено по месту назначения. Заго-
ловок UDP-датаграммы (сообщения) имеет вид, показанный на
рис. 6.9.
0 16
Source Port Destination Port
Length Checksum
Application Data
Рис. 6.9. Структура заголовка UDP-сообщения
Порты в заголовке определяют протокол UDP как мультип-
лексор, который позволяет собирать сообщения от приложений
и отправлять их на уровень протоколов. При этом приложение
использует определенный порт. Взаимодействующие через сеть
приложения могут использовать разные порты, что и отражает
заголовок пакета. Всего можно определить 216 разных портов.
Первые 256 портов закреплены за так называемыми «well known
services (WKS)»
Поле Length определяет общую длину сообщения. Поле
Checksum служит для контроля целостности данных. Приложе-
ние, которое использует протокол UDP, должно поддерживать
целостность данных, анализируя поля Checksum и Length. Кро-
ме этого, при обмене данными по UDP прикладная программа
6.2. Технологии Internet
351
сама должна заботиться о контроле получения данных адреса-
том Обычно это достигается обменом поттверждениями о дос-
тавке между прикладными программами.
Transfer Control Protocol — TCP. В том случае, ко-
гда контроль качества передачи данных по сети имеет особое
значение для приложения, используется протокол TCP. Этот
протокол также называют надежным. ориентированным на соеди-
нение потокоориентированным протоколом Рассмотрим формат
передаваемой по сети датаграммы (рис. 6.10). Согласно этой
структуре в TCP, как и в UDP. используются порты. В поле
Sequence Number (SYN) определен номер пакета в последова-
тельности пакетов, которая составляет сообщение, затем идет
поле подтверждения Asknowledgment Number и другая управ-
ляющая информация.
В дальнейшем мы предполагаем рассмотреть основные про-
токолы прикладного уровня, обеспечивающие доступ к ин-
формационным ресурсам Internet (и не только к
ним), а также соответствующее программное обеспечение (про-
граммы-клиенты и программы-серверы).
Это слсдутошие протоколы:
• эмуляции терминала Telnet;
• электронной почты SMTP, UUCP;
• распределенных файловых систем — NNTP, Gopher, FTP;
• гипертекстового доступа к WWW — HTTP;
• управления поиском в распределенных базах данных —
Z39.50.
352
Глава 6. Сетевые информационные технологии. Internet
Каждый из перечисленных протоколов предполагает наличие
некоторой совокупности команд (командный язык), которыми
обмениваются программы-клиенты и программы-серверы дан-
ного протокола. Естественно, целью такого взаимодействия яв-
ляется обмен пользовательскими данными.
Могут быть выделены два основных класса средств доступа и
организации информационных ресурсов:
• распределенные файловые системы (Usenet, FTP, Gopher);
• распределенные информационные системы (WWW, WAIS).
6.3. Прикладные протоколы коммуникации Internet
К данной группе протоколов относятся:
• протокол эмуляции терминала Telnet (коммуникация в ре-
жиме он-лайн);
• протоколы электронной почты SMTP, UUCP (коммуника-
ция в режиме офф-лайн).
Telnet
Протокол эмуляции удаленного терминала
Telnet — одна из самых старых информационных технологий
Internet.
Этот протокол может быть использован и для организации
взаимодействий «терминал—терминал» (связь) и «процесс—про-
цесс» (распределенные вычисления).
Команды протокола Telnet. Клавиатура должна иметь воз-
можность ввода всех символов US ASCII, а также генерировать
специальные стандартные функции управления терминалом
(эти функции могут или присутствовать в реальном терминале,
и тогда они должны представляться в стандартной форме ко-
манды, или отсутствовать и тогда заменяться командой NO
(No-Operation)):
IP — Interrupt Process (прервать процесс). Данная команда
реализует стандартный для многих систем механизм прерывания
процесса выполнения задачи пользователя (<ctrl+c> в
Unix-системах или <Ctrl+Break> в MS-DOS). Следует заме-
6.3. Прикладные протоколы коммуникации Internet
353
тить, что команда IP может быть использована и другим прото-
колом прикладного уровня, который может использовать Telnet;
АО — Abort Output (прервать процесс выдачи). Многие сис-
темы позволяют остановить процесс, выдающий информацию
на экран. Здесь следует понять отличие данной команды от IP.
При выполнении IP прерывается выполнение текущего процесса
пользователя, но не происходит очистка буфера вывода, т. е.
процесс может быть остановлен, а буфер вывода будет продол-
жать передаваться на экран;
AYT — Are You There (вы еше здесь?). Назначение этой ко-
манды — дать возможность пользователю убедиться, что в про-
цессе работы по медленным линиям он не потерял связи с уда-
ленной машиной;
ЕС — Erase Character (удалить символ). Многие системы
обеспечивают возможность редактирования командной строки
путем введения символов «забой» или удаления последнего на-
печатанного символа на устройстве отображения;
EL — Erase Line (удалить строку). Команда аналогична ЕС,
но удаляет строку ввода целиком. Обычно выполнение этой ко-
манды приводит к очистке буфера ввода;
open host [port] — начать telnet-сессию с машиной host по
порту port. Адрес машины можно задавать как в форме IP-адре-
са, так и в форме доменного адреса (рис. 6.11, а, бу.
close — завершить telnet-сессию и вернуться в командный
режим. Однако в некоторых системах, если telnet был вызван с
аргументом, close приведет к завершению работы telnet;
quit — завершить работу telnet.
На рис. 6.11 приведены примеры экранов Telnet-сессии
(связь с библиотекой Колумбийского университета — CLIO).
Электронная почта
Электронная почта является самым массовым средством
электронных коммуникаций Internet, через нее можно получить
доступ практически ко всем ресурсам Internet, а также к инфор-
мационным ресурсам других сетей.
При коммуникации в режиме ЭП корреспонденция готовит-
ся пользователем посредством программы подготовки почты,
которая вызывает текстовой редактор. Затем следует вызвать
354 Глава б. Сетевые информационные технологии. Internet
Tebethpcwtre.ans.net ’ Г
Добро пожаловать в программу—клиент Microsoft Telnet
Символ переключения режима: ’ Р
Microsoft Telnet) spacelinh.nsfc.nasa.gov
Недопустимая команда. Для получения справки введите ”?*’ или ’’help”
Microsoft Telnet> ?
Команды могут быть сокращены. Поддерживаемыми командами являются:
d о Ч set — close закрыть текущее подключение - display отобразить параметры операции — open имя_уз-ча [Порт! подключиться к сайту (по умолчанию. Норт — quit выйти из telnet — set установить паргшетры ("set ?" для вывода их списка)
sen st u •• send отпргтвить строки на сервер — status вывести сведения о текущем состоянии - unset сбросить параметры Ciinset для вывода их списка)
?Zh - help вывести справку Microsoft Telnet) о downwind.sprl.unich.edu 30D0 Подключение к downwind.sprl.unicli.edu..-He удалось открыть подключена злу, на порт 3000: Свой подключения Microsoft Telnet> о netro.iussieu.fr 23 к этому у
а
в
Рис. 6.11. Примеры экранов Telnet-клиента:
а — начало работы с программой; б — открытие сайта библиотеки Колумбийско-
го университета (CLIO): в — начало работы с CLIO
6.3. Прикладные протоколы коммуникации Internet
355
программу отправки почты (программа подготовки почты вызы-
вает программу отправки автоматически). Для работы электрон-
ной почты в Internet используется протокол прикладного уровня
SMTP (Simple Mail Transfer Protocol), который использует транс-
портный протокол TCP. Однако совместно с этим протоколом
может использоваться и UUCP.
При работе по протоколу SMTP почта реально отправляется
только тогда, когда установлено интерактивное соединение с
программой-сервером на машине — получателе почты. При этом
происходит обмен командами между клиентом и сервером про-
токола SMTP в режиме on-line, и почта достигает почтового
ящика получателя за считанные минуты.
При использовании UUCP почта передается по принципу
«Stop-Go», т. е. почтовое сообщение передается по цепочке поч-
товых серверов, пока не достигнет машины-получателя, что по-
зволяет доставлять почту по плохим телефонным каналам, по-
скольку не требуется поддерживать связь все время доставки от
отправителя к получателю.
При смешанной адресации доставка почты происходит по
смешанному сценарию. О том, как шла доставка и как маршру-
тизировалось сообщение, можно узнать из заголовка сообщения.
которое вы получили.
Согласно схеме почтового обмена (рис. 6.12), взаимодейст-
вие между участниками этого обмена строится по схеме «кли-
ент—сервер».
Файлы
местной
почты
Программа
просмотра
корреспонденции
Рис. 6.12. Структура взаимодействия участников почтового обмена
356
Глава 6. Сетевые информационные технологии. Internet
Протоколы обслуживания электронной почты — наиболее
распространены — SMTP, POP3, IMAP.
Протокол SMTP (Simple Mail Transfer Protocol)
был разработан для обмена почтовыми сообщениями в сети
Internet. SMTP не зависит от транспортной среды и может ис-
пользоваться для доставки почты в сетях с протоколами, отлич-
ными от TCP/IP и Х.25.
При этом отправитель инициирует соединение и посылает
запросы на обслуживание, выступая в роли клиента, а получа-
тель отвечает на эти запросы (выполняя функции сервера).
Обмен сообщениями и инструкциями в SMTP ведется в
ASCII-кодах. Для инициализации канала и его закрытия исполь-
зуются команды helo и quit соответственно. Первой командой
сеанса должна быть helo.
В протоколе определено несколько видов взаимодействия
между отправителем почтового сообщения и его получателем,
которые называются дисциплинами.
Наиболее распространенной дисциплиной является отправ-
ление почтового сообщения, которое начинается по команде mail,
идентифицирующей отправителя:
MAIL FROM: paul@quest.pc-lyn.kiae.su.
Следующей командой определяется адрес получателя:
RCPT ТО: popovi@apollc.poiyn.kiae.su.
После того как определены отправитель и получатель, можно
отправлять сообщение командой data, которая вводится без па-
раметров и идентифицирует начало ввода почтового сообщения.
Сам протокол SMTP не накладывает каких-либо ограничений на
информацию, которая заключена между командой data и симво-
лом «.» в первой позиции последней строки.
Следующая дисциплина, определенная в протоколе SMTP, —
перенаправление почтового сообщения (forwarding).
Верификация и расширение адресов составляют дисциплину ве-
рификации. В ней используются команды vrfy и ехрп. По коман-
де vrfy сервер подтверждает наличие или отсутствие указанного
пользователя.
В список дисциплин, разрешенных протоколом SMTP, вхо-
дит кроме отправки почты еще и прямая рассылка сообщений.
В этом случае сообщение будет отправляться не в почтовый
6.3. Прикладные протоко 1Ы коммуникации Internet
357
ящик, а непосредственно на терминал пользователя, если поль-
зователь в данный момент находится за своим терминалом. Пря-
мая рассылка осуществляется по команде send, которая имеет та-
кой же синтаксис, как и коман та mail. Кроме send прямую рас-
сылку осуществляют soml (Send or Mail) и saml (Send and *..ail).
Протокол обмена почтовой информацией
POP3 (Post Office Protocol, версия 3) предназначен
для пересылки почты из почтовых ящиков пользователей (на
сервере) на их рабочие места с помощью проервмм-клиентов.
Если по протоколу SMTP пользователи отправляют корреспон-
денцию через Internet, то по протоколу POP3 поль юватсти полу-
чают коррсспон 1С1ШИЮ из своих почтовых ящиков на почтовом
сервере в локальные ([тайлы, однако сообщения можно прини-
мать, но нельзя отравлять. Формально взаимодействие по про-
токолу POP3 можно разделить на две фазы: фазу аутентифика-
ции и фазу обмена данными В фазе аутентификации пользова-
тель должен сообщить свой идентификатор и пароль (команды
user и pass).
По команде list система сообщает число сообщений и их
размер в байтах. По команде retr можно получить текст сооб-
щения, по команде dele — пометить сообщение к удалению.
Удаляются сообщения только в момент окончания сеанса, по-
этому по команде rset эти пометки хюжно снять. Команда quit
завершает сеанс работы с сервером.
Протокол IMAP (Interactive Mail Access
Protocol) представляет собой более надежную альтернативу
протоколу POP3 и к тому же обладает более широкими возможно-
стями по управлению процессом обмена с сервером. Главное отли-
чие от POP состоит в возможности поиска нужного сообщения и
осуществление разбора заголовков сообщения. Для поиска инфор-
мации используется команда find с ра зличны.ми аргументами
Интерфейсные программы (почтовые клиенты). Режим ко-
мандной строки — интерфейс mail. Простейшая и са-
мая распространенная программа подготовки и отправки поч-
1ы — это команда L nix-cnciем mail или ее аналог mailx. имею-
щие формат mail пользователь, например.
mail popovge^est.kiae.sj.
В ответ программа выдаст предложение ввести сообщение:
Subject:
358
Глава 6. Сетевые информационные технологии. Internet
После ввода пользователем темы (subject) программа перей-
дет на следующую строку' и будет ждать текста сообщения. Пусть
сообщение содержит одну фразу:
This is a test message.
Для завершения ввода сообщения следует нажать <ctrl+D>
(конец ввода), после чего сообщение будет отправлено. Чтобы
прочитать сообщения, необходимо выполнить команду mail без
аргументов.
При этом на экран будет выведена информация, описываю-
щая версию программы, место почтового ящика пользователя и
количество сообщений в нем, список новых сообщений и пр.
Для просмотра сообщения следует нажать <Enter> и на экране
появится текст:
Message 1:
From paul Sun Feb 5 15:21:57 1995
Date: Sun, 5 Feb 95 15:21:57 -C7CC
From: paul
To: popov
Subject: test
This is a test message.
&
Полноэкранные интерфейсы. Интерфейс bml. Про-
грамма bml является стандартной для абонентов сети Relcom,
входит в комплект версии для пользователей MS-DOS и имеется
на многих Unix-системах Internet.
Основной экран в bml делится на три части:
• верхняя часть экрана занята падающими меню, которые
позволяют редактировать, просматривать и отправлять
почту7;
• в средней части экрана расположено рабочее поле про-
граммы, в котором отображается список полученных сооб-
щений и осуществляется редактирование посылаемых со-
общений;
• в нижней части экрана расположено вспомогательное
меню функциональных клавиш.
При запуске программы в рабочем поле отображаются полу-
ченные сообщения, первым из которых выделяется текущее со-
общение. При этом рабочее поле разбито на четыре столбца: в
первом указывается адрес отправителя, во втором — дата и вре-
6.3. Прикладные протока чы коммуникации Internet
359
мя получения, в третьем — число строк и символов в сообще-
нии, четвертый стотбсч — тема сообщения. Для просмотра сооб-
щения надо с помощью клавиш-стрелок сделать интересующее
пользователя сообщение текущим и нажать <Enter>. В рабочем
поле экрана появится текст сообщения (рис. 6.13).
Hi Prt*ihrt.
Herewith I am sending you our E mail addresses.
Our host is : Iodos . typhoon . mucom. z u
vs Vjacheslav Shershakov
vsk - Valery Kossykb
rb - Ruslan Borodin
avg - Alexander Colubcnkov
post Common address
With best regards.
Vnlern
Dr.Valery S.Kosykh | Tel.: ♦»7 (00439) 71000
Emergency Center | FAX : **7 (08439) 7- 16-33
SPA “Typhoon" | E mail: vskProdos.typhocn.meroin.ru
82, Lenin str., Obninsk, Kaluga reg.. 249020, Ruscia
Рис. 6.13. Экран просмотра содержимого сообщения интерфейса bml
П р о г р а м м а - к л и е н г MS Outlook Express.) 1ачиная
с Windows 95 в состав операционных систем включена про-
грамм-клиент Outlook Express, которая пре (назначена для рабо-
ты с электронной почтой и новостями (рис. 6.14). Для чтения
электронной почты из программы Outlook Express необходимо,
чтобы используемая система обмена сообщениями поддержива-
ла протоколы SM ГР и POP3 или i V1AP. Програм му Outlook
Express можно использовать для чтения групп новостей, или
групп обсуждений, таких, как Usenet. Работа с iруппами ново-
стей осуществляется через серверы новостей NNEP
Outlook Express включает в себя программу адресной книги
Windows. Данная программа пре (оставляет широкие возможно-
сти управления контактными данными, включая создание групп
контактов и папок для сортировки сообщений и размещения ад-
ресов электронном почты. Адресная книга Windows обеспечивает
доступ к каталогам Internet, использующим протокол LDAP
360
Глава 6. Сетевые информационные технологии. Internet
Ejxj
Создать с...
Re: Вас приветствует Microsoft Outlook Express версии 5
Файл Правка Вид Вставка Формат Сервис Сообщение Справка
* Контакты *
: 3-5 Группа ре:
\ [JJ Новый Пи,
— Original Message —
From:
То:
Sent: Saturday, September 14, 2002 9 43 AM
Subject: Вас приветствует Microsc-ft Outlook Express версии 5
Outlook
;.Сообщеи4й: 1,
Рис. 6.14. Экран просмотра входящей почты MS Outlook Express
(протокол облегченного доступа к каталогам). Каталоги Internet
облегчают поиск обычных адресов и адресов электронной поч-
ты. В программе адресной книги уже настроен доступ к несколь-
ким популярным каталогам.
Можно набрать любой телефонный номер, указанный в ад-
ресной книге, используя программу номеронабирателя, уста-
новленную в вашем компьютере. Программа Outlook Express
может сохранять незаконченные сообщения в папке Чернови-
ки, а отправленные сообщения — в папке Отправленные на
сервере IMAP. Можно редактировать гипертекстовые (HTML)
сообщения и использовать в них теги расширенной версии
языка HTML. Имеется более десятка параметров, которые мож-
но использовать при настройке представлений. (Представле-
ние — это правило, по которому сообщение отображается либо
скрывается).
Программа может определять, произошел ли обрыв телефон-
ного соединения или отключение компьютера от локальной
сети. Программа Outlook Express может восстановить разорван-
ное соединение автоматически либо после подтверждения, вво-
димого пользователем.
6.3. Прикладные протоколы коммуникации Internet
361
Чтобы программа Outlook Express подключалась к сети и
производила доставку почты через определенные интервалы, не-
обходимо включить функцию Доставлять почту каждые ... мин
и поставить продолжением строки Если компьютер не под-
ключен к сети вариант Всегда подключаться либо Подклю-
чаться, если не выбран автономный режим.
Если для какой-либо учетной записи почты или новостей
требуется подключение через определенного поставщика услуг
Internet, включить флажок Подключаться, используя и указать
нужную учетную запись. Данный параметр задается во вкладке
Подключение в свойствах каждой учетной записи. В основном
этот параметр нужен пользователям, имеющим несколько выхо-
дов в Internet, например, через локальную сеть и через модем,
или через два модемных соединения.
Для проверки новой почты при запуске программы вклю-
чить функцию Доставлять почту каждые ... мин во вкладке
Обшие, пункт Параметры, меню Сервис. Необходимо проверить,
чтобы для каждой учетной записи, используемой для доставки
ПОЧТЫ, был включен флажок Использовать данную учетную
запись при доставке всей почты во вкладке Общие в свойст-
вах каждой записи. Включение флажка Спрашивать о подклю-
чении при запуске только запускает соединение, но не осуще-
ствляет проверку почты.
Сообщения, в заголовке которых не указана кодировка, мо-
гут быть отображены в правильном виде после выбора нужной
кодировки в меню Вид. Однако пересылка таких сообщений или
ответ на них с включенной функцией автоматического выбора
кодировки приведет к неверному указанию кодировки. Во избе-
жание данной проблемы при отправке таких сообщений следует
выбирать кодировку вручную.
Чтобы отправить сообщение кому-либо занесенному в адрес-
ную книгу Windows, следует дважды нажать кнопку мыши на со-
ответствующей записи в разделе контактов.
Программа-клиент ВАТ (TheBatJ). Позволяет, кроме
всего прочего, отправлять и принимать почтовые сообщения с
защитой данных, в формате S/MIME (рис. 6.15). Для использо-
вания возможностей S/MIME прежде всего необходимо полу-
чить «сертификат», состоящий из двух частей: секретного ключа
и публичного ключа. Вы должны защищать свой сертификат от
несанкционированного доступа. Имеющийся сертификат необ-
362
Глава 6. Сетевые информационные технологии. Internet
Рис. 6.15. Экран отправки сообщения почтового клиента TheBat!
ходимо внести в базу данных The Bat!, например, следующим
образом:
• создать в адресной книге программы «нового адресата» со
своим личным именем и адресом и на вкладке Сертифика-
ты нажать кнопку Импортировать;
• найти файл, содержащий сертификат, и нажать кнопку От-
крыть. Сертификат будет занесен в базу The Bat!
На практике система S/MIME работает следующим образом.
Для того чтобы подписать письмо (но не зашифровать), вам ну-
жен ваш собственный сертификат. В меню редактора выберите:
PGP—> Использовать S/MZME. PGP—>Подписать перед от-
правкой. В момент отправки письма The Bat!, возможно (в слу-
чае, если у вас есть несколько S/MIME-сертификатов). запросит
вас о том, какой из сертификатов использовать для создания
подписи, а затем попросит указать пароль, которым защищен
ваш сертификат в базе данных программы. После чего програм-
ма автоматически создаст электронную подпись для вашего
письма и пошлет его по назначению. Обратите внимание, что
защищен от несанкционированной модификации оказывается
6.4. Распределенные файловые системы Internet
363
не только текст письма, но и те файлы, что, возможно, вы к
нему прикрепили, а также некоторые служебные поля (напри-
мер, From:, но не Subject:), т. е. если в процессе доставки
что-либо из вышеперечисленного окажется изменено, система
S/MIME получателя письма отреагирует на это, отказавшись
«заверить» электронную подпись отправителя.
6.4. Распределенные файловые системы Internet
Система архивов FTP
FTP-архивы — это распределенный депозитарий разнообраз-
ных данных, накопленных в сети за последние 20—30 лет. Лю-
бой пользователь может реализовать анонимный доступ к этому
хранилищу и скопировать интересующие его материалы. Только
объем программного обеспечения в архивах FTP составляет те-
рабайты информации; кроме того, в FTP-архивах можно найти
стандарты Internet (RFC), пресс-релизы, книги по различным
отраслям знаний, главным образом по компьютерной проблема-
тике, и многое другое.
Информация в FTP-архивах разделена на три категории
(рис. 6.16):
• защищенная информация, режим доступа к которой опреде-
ляется ее владельцами и разрешается по специальному со-
глашению с потребителем;
Рис. 6.16. Структура FTP-архива
364
Глава 6. Сетевые информационные технологии. Internet
• информационные ресурсы ограниченного использования, к ко-
торым относятся, например, ресурсы ограниченного вре-
мени использования или ограниченного времени действия,
т. е. потребитель может использовать текущую версию на
свой страх и риск, но никто не будет оказывать ему под-
держку;
• свободно распространяемые информационные ресурсы, или
freeware, если речь идет о программном обеспечении.
К этим ресурсам относится все, что можно свободно полу-
чить по сети без специальной регистрации. Это могут быть
документация, программы или что-либо еще.
Протокол FTP (File Transfer Protocol) — один из старейших
протоколов в Internet; обмен данными в FTP проходит по
TCP-каналу и построен по технологии «клиент — сервер».
В FTP соединение инициируется интерпретатором протоко-
ла пользователя. Управление обменом осуществляется по каналу
управления в стандарте протокола Telnet. Команды FTP генери-
руются интерпретатором протокола пользователя и передаются
на сервер. Ответы сервера отправляются пользователю также по
каналу управления.
Команды FTP определяют параметры канала передачи дан-
ных и самого процесса передачи. Они также определяют и ха-
рактер работы с удаленной и локальной файловыми системами.
В протоколе большое внимание уделяется различным спосо-
бам обмена данными между машинами разных архитектур, кото-
рые могут иметь различную длину слова и часто различный по-
рядок битов в слове. Кроме того, различные файловые системы
работают с разной организацией данных, которая выражается в
понятии метода доступа.
Практически для любой платформы и операционной среды
существуют как серверы, так и клиенты. Ниже описываются
стандартные сервер и клиент Unix-подобных систем [31, 34].
Программное обеспечение доступа к FTP-архивам. Для работы
с FTP-архивами необходимо следующее программное обеспече-
ние: сервер, клиент и поисковая программа. Сервер обеспечива-
ет доступ к ресурсам архива из любой точки сети, клиент — дос-
туп пользователя к любому архиву в сети, а поисковая систе-
ма — навигацию во всем множестве архивов сети.
Сервер протокола — программа ftpd. Команда ftpd предна-
значена для обслуживания запросов на обмен информацией по
протоколу FTP. Сервер обычно стартует в момент загрузки ком-
6.4. Распределенные файловые системы Internet
365
пьютера. Каждый сервер имеет свое описание команд, которое
можно получить по команде help.
Возможен вход в архив по идентификатору пользователя
anonimous или ftp. В этом случае сервер принимает меры по
ограничению доступа к ресурсам компьютера для данного поль-
зователя. Обычно для таких пользователей создается специаль-
ная директория ftp, в которой размешают каталоги bin, etc и
pub. В каталоге bin размешаются команды, разрешенные для
использования, а в каталоге put — собственно файлы. Каталог
etc закрыт для просмотра пользователем и там размешены фай-
лы идентификации пользователей.
Рассмотрим некоторые команды протокола.
Обычно при передаче групп файлов для каждого файла за-
прашивается подтверждение. Для того чтобы избежать этого пе-
ред приемом/персдачей, следует выдать команду prompt. По-
следняя переключает режим запроса подтверждения и при по-
вторном использовании этой команды состояние запроса
подтверждения восстанавливается;
bin — после выдачи этой команды по умолчанию данные
будут передаваться в режиме передачи двоичных данных, что
весьма существенно, так как в режиме ASCII нельзя передать
программы и архивированные данные. Часто бывает полезно
включить режим bin для символьных данных с произвольной
длиной строки, например файлов postscript (*.ps);
quit — команда выхода из ftp.
Программа обмена файлами ftp — это интерфейс
пользователя при обмене файлами по одноименному протоколу.
Программа устанавливает канал управления с удаленным серве-
ром и ожидает команд пользователя.
Если команда ftp работает с пользователем и ожидает его
команд, то на экране отображается приглашение ftp>.
Вот некоторые команды данного режима;
open — по этой команде открывается сеанс работы с удален-
ным сервером:
ftp>open polyn.net.kiae.su;
После выдачи команды последуют запросы идентификации
пользователя.
user регистрация пользователя:
ftp> user anonymous;
366
Глава 6. Сетевые информационные технологии. Internet
В данном случае пользователь не имеет особых прав доступа
на удаленном сервере и поэтому регистрируется как аноним.
В ответ на запрос идентификации пользователю следует ввести
свой почтовый адрес;
cd и Is (dir) — назначение этих команд достаточно оче-
видно — навигация по дереву файловой системы и просмотр со-
держания каталогов. Так как в процессе приема-передачи участ-
вуют две машины, то кроме навигации в удаленной файловой
системе нужна еще навигация в локальной файловой системе.
Для этой цели служит команда led (локальная cd).
Кроме того, пользователь может выдать и любую команду
локальной оболочки, если предварит ее символом «I»:
ftp> !pwd
По этой команде будет выдано имя текущей директории на
локальной машине.
Команды get, put, mget, mput и bin (прием/передача данных).
По командам get и put можно принять или передать один файл:
ftp> get readme.txt.
Команды mget, mput предназначены для приема/передачи
группы файлов:
ftp> mget *.gz.
Функции FTP-клиента встроены, например, в программ-
ную оболочку Windows Commander. На рис. 6.17 отображен
экран настройки на связь с FTP-сервером. Конфигурации ка-
ждой настройки запоминаются в меню Connection и включа-
ют в себя:
• адрес FTP-сервера (здесь — ftp.inion.ru);
• имя пользователя и пароль (здесь — anonimous);
• имя удаленного каталога в файловой системе FTP (здесь —
w inion/irb).
После установления связи на одной из панелей отображается
удаленный каталог (рис. 6.18 — слева удаленный каталог, спра-
ва — локальный).
Передача файлов в обе стороны (upload и Download) осуще-
ствляется обычным выделением файлов (директорий) и копиро-
вания их по команде <F5> (рис. 6.19).
6.4. Распределенные файловые системы Internet
367
СК [ C-yiccl ] НсЬ
Рис. 6.17. Настройка РТР-клиента Windows Commander
на связь с сервером
«fWindows Commander 5Л -Gold Soft 2002 ХЭЛ
НсЬ
Fics Hart; Cccmands tic: 5Eo*v Cscr^uiatiy
г
ж
FTP Tiansftt mode Вииму («chives. doc etc J v Disconnect
QQ l-c j v (<*o»i В 767 464 of 13 328 912 кГЛ\
I-C-J v ftp:/7184 67 188.20
Name Еж! Size “Date Alli Name Ext Size IDMc Attil
t..l 1. г _н«р| “ <DIR> 00.00.138000.00 - ~ _jfbeck| ew <DIR> 23.03.2004 16 23 —
<DIR> 10 11 20(14 11 48- <DIR> 09 11 2004 16 22 --
||Ld aihciv] <DIR> 27 03.2003 03 25 - _(back2] <DIR> 14 12 2004 05:39-
_J|d_lmk] <UIK> 27 03.2003 03.25 - _z(buft| <DIR> 1Б.04 2G04 11:30 —
2j|econ_th..i <DIR> 27 03.2003 0125- 2j[dall <D1R> 22.03.2004 10:20 —
2 IlsUhov* 1 <DIH> 25.02.2005 13:45 ". [Downloads] <U1R> 05.04 2004 12:36
2J»oI1231 <DIR> 15.04.2004 15:25 __D oxprow] <UIR> 12.04 2004 12:59-
ilheinut] <DIR> 04 , 6 2003 13.64 |My Music] <DIH> 21 03 2004 17-50 -
' '(KhfrttTllinv] <Dllt> (1Г.0ЯЖ14 13 16- 2_[ПП|Сг] <DIR> 14 04 2004 12 32 -
_ >(knigd| <DIR> 16.0fi.2004 02 85 - v (OkiDsivefj <DIR> 22.03 2004 12 47 -v
0 of 2 5Z2 k m 0 ol 20 (hex selected
0 ol 49 383 k n 0 of 48 filet selected
0./w_irwon/irb/>
63 View ~)[ Mtdil
F 5 Copy F6 RcnMov E/MkDu 11 F8 Delete Alt<F4 Exit
Рис. 6.18. Windows Commander, режим связи с FTP-сервером:
1 — кнопка запуска ЕГР-клиента; 2 — удаленный каталог; 3 — локальный каталог
368
Глава 6, Сетевые информационные технологии, Internet
pIvsM :Can-Я tic 29 -- л
' ТЕ L Е» „ _______________________1Е 72 -
;-д ciall? ад 134 298 28 02.2002 13 08 - _2_[back2J <D1R> 14.12 2004 05.39-
:shht«t_ rea rtf 51 291 26 03.2002 17:02 - Jj[buff] <D1R> 1Б 04.2064 1 U30-
gj^Windc.. doc 114 088 18.03.2002 16:58- Idal] <DIR> 22.63.2004 10:20-
j Гл EMM on 610 19/ 31. W 2002 11:40 3; {Downloads] <DlR> 0b.U4.2004 12:36
EMMZ aq 309 384 31 10.2002 11:41 - JFoxprow] <DIR> 12.04.2004 12:59
Й]Реенз.. rll 153 324 1911.2002 1 3 49 - J [My Music] <DIR> 21.03.2004 17.50-
' a»c_1 rat t 084 315 21 11 700? 16 11 - [Officr] <D1R> 14 64 7604 12 32-
doc 98 81Б 28 03 2003 12 44 - 4 [OkiDfiver] <DlR> 22 63 2604 12 47
О of 7 328 к in 0 of 17 hies selected 0 of 2 5/2 к tn 0 of 20 fries selected
0:/we„irMon/trb/popov/> ч
i F3 View'; F4 Edit F 5 Copy F6 HcnMov F/MkDit J F8 Delete !* Alt*F4 Exit
Рис. 6.19. Windows Commander — режим передачи файла (Download) из удален-
ного каталога в локальный
Usenet
Распределенная файловая система Usenet —
система телеконференций Internet. (Данный термин не очень
удачен — в Internet есть и другие средства, которые также реали-
зуют принцип телеконференций). Пользователи Usenet предпо-
читают придерживаться термина newsgroup или group, который
можно перевести как группа новостей (группа) — это постоянно
изменяющийся набор сообщений, входящих в область интересов
участников данной группы. Статья или сообщение отправляется
в телеконференцию пользователем и становится доступной для
всех подписчиков группы. Данным способом распространяется
большинство сообщений Internet, например списки часто зада-
ваемых вопросов (FAQ) или реклама программных продуктов.
Подписка подразумевает процедуру оповещения пользователя
о появлении новых статей по интересующей его теме. Сообще-
ние оформляется в соответствии со стандартом почтового сооб-
щения Internet.
С точки зрения структуры информационного ресурса Usenet
организована как иерархический каталог, узлами которого явля-
6.4. Распределенные файловые системы Internet 369
ются группы новостей. Сообщения в группе обычно не задержи-
ваются более нескольких дней (стандартное значение по умолча-
нию — 5). Проиллюстрировать такую организацию можно на
примере группы comp (компьютеры и компьютерные техноло-
гии) на рис. 6.20.
Рис. 6.20. Принцип построения групп Usenet
Пользователь осуществляет подписку на одном из серверов
Usenet, который террирориально ближе для него (обычно это
машина, на которой расположены все информационные ресурсы
организации или учебного заведения). По мере поступления но-
вых сообщений от пользователей серверы обмениваются между
собой этой информацией.
Первые версии системы появились в 1979 г. в Университете
штата Северная Каролина и функционировали на основе меж-
машинного Unix-протокола UUCP. В 1986 г. система была впер-
вые реализована на основе нового специального протокола об-
мена новостями Network News Transfer Protocol (NNTP —
RFC-977).
Протокол обмена новостями и принципы построения системы.
Протокол NNTP пришел на смену UUCP, и его целью было
упорядочить обмен информацией между серверами Usenet.
Протокол NNTP определяет запросно-ответный механизм
обмена сообщениями между серверами и сервером и программа-
ми-клиентами. Для этой цели в протоколе определен набор ко-
манд и ответов на них. Весь диалог осуществляется в текстах
ASCII, причем каждая команда состоит из идентификатора и па-
раметров.
По команде group выбирается группа новостей. При этом
указатель статьи в группе устанавливается на первую запись в
370
Глава 6. Сетевые информационные технологии. Internet
группе. По команде help можно получить список разрешенных
для использования команд.
Команды last и next перемешают указатель текущей стро-
ки в группе, команда list выдает список групп с указанием ко-
личества новых статей в них и начальным и конечным номерами
статей. По командам newgrttps и newness можно получить
списки новых групп и новых статей соответственно, а по коман-
де post отправить свою статью на сервер.
По командам article, tody. head, stat запрашиваются
статьи или их части. Существует два способа запросить статью:
либо по ее идентификатору (указывается в заголовке), либо по
номеру статьи в группе. Команда article возвращает заголовок
и через пустую строку текст статьи, body — только тело статьи,
head — только заголовок, а по команде scat устанавливается
текущая позиция в группе по идентификатору статьи. При этом
никакой информации не возвращается.
Команда slave сообщает о наличии в качестве клиента подчи-
ненного сервера, команда q-ait позволяет завершить сеанс.
Gopher
Файловая система Gopher была разработана для реа-
лизации распределенной базы документов, которые хранятся на
машинах сети и предоставляются пользователю в виде единой
иерархической файловой системы. Модель файловой системы
наилучшим образом подходит для отображения структуры хране-
ния документов по следующим очевидным соображениям:
• иерархическое представление данных привычно большинст-
ву пользователей, так как иерархии широко используются
во многих компьютерных представлениях (UNIX, MS-DOS,
системах BBS);
• Gopher рассчитана на применение недорогих решений как
в аппаратной части, так и при программировании, посколь-
ку первоначально она была ориентирована на разработку
информационной системы университета (шт. Миннесота).
Система соответствовала реальной структуре университета с
его делением на факультеты и кафедры, что также хорошо
описывается иерархической моделью данных;
• модель файловой системы может быть легко расширена пу-
тем добавления к традиционным файлам и директориям
6.4. Распределенные файловые системы Internet
371
других объектов, которые можно назвать виртуальными
файлами. Такие виртуальные объекты могут быть поиско-
выми запросами или шлюзами в другие информационные
ресурсы Internet.
Gopher представляет весь Internet (серверы Gopher) в виде
единой иерархической системы. Gopher-серверы объединены
в единое информационное пространство на Internet (Gopper
Space).
До сих пор основные информационные ресурсы Gopher со-
средоточены в университетах. Gopher считается простой систе-
мой, легкой в установке и администрировании, достаточно на-
дежной и защищенной. В России Gopher-серверы распростра-
Рис. 6.21. Пример отображения ресурсов Gopher мультипротокольным клиентом
Netscape Navigator
372
Глава 6. Сетевые информационные технологии. Internet
йены не так широко, как во всем мире — пользователи
предпочитают World Wide Web.
Протокол Gopher предназначен для работы по модели «кли-
ент-сервер», при этом программа-клиент установлена на рабо-
чем месте пользователя. После ответа сервера соединение разры-
вается, а при новом запросе оно должно быть установлено зано-
во. Простота этого алгоритма позволяет реализовать его даже на
маломощных персональных компьютерах.
Для использования поискового объекта из директории
Gopher—клиент посылает запрос специальному поисковому сер-
веру Gopher. В этом случае клиент посылает серверу строку-се-
лектор и ключевые слова, а получает от сервера список адресов
документов, удовлетворяющих запросу.
Модель взаимодействия Gopher основывается на архитектуре
«клиент—сервер». Сервер ожидает запросы пользователя по на-
значенному порту TCP, а клиент посылает в этот порт запросы.
Диалог клиент—сервер может выглядеть следующим образом:
Client: {Open connection to gopher.kiae.su at pert TO}
Server: {Accept connection but says nothing}
Client: <CRXLF> ~ отправлена пустая строка
Server: {Посылает серию строк, каждая из которых
заканчивается переводом каретки}
OAbout Internet Gcpher<tab>Stuff:About
us<tab>gopher. kiae . su<tab>70<C?,XLF>
lAround the
Institute<tab>Z,5692<tab>gopher.kiae.su<tab>70<CRXLF>
microcomputers
Prices<tab>Prices/<tab>prices . kiae . su<tab>7C<CRXLF>
ICourses,
Schedules<tabXtab>kuku.kiae.su<tab>9120<CRxLF>
IDepartment
Publications<tab>Suuff:OP:<-cab>kuku2.kiae.su<tab>70<CR>
<LF>
{строка, означающая коней, блока данных}
Server: (разрывает соединение}
Здесь первый символ каждой строки определяет тип ресур-
са — документ, каталог или поисковый критерий. Все остальные
символы после кода типа до первого символа табуляции задают
отображаемую в дереве виртуальной файловой системы инфор-
мацию. Интерфейсы-клиенты отображают эту информацию в
6.5. Распределенные информационные системы Internet
373
виде идентификатора входа в элемент файловой системы. Тип
информации обычно может отображаться в виде изображения
(иконки) соответствующего типа в графических интерфейсах
или символа, например, «/» для каталогов в алфавитно-цифро-
вых интерфейсах.
6.5. Распределенные информационные системы Internet
Файловые системы Internet, рассмотренные выше, во многом
аналогичны файловым системам операционных систем ЭВМ
(UNIX, DOS и пр. [31]), которые они, собственно и имитируют.
Навигация в таких структурах весьма ограничена — «вверх» и
«вниз» по ветвям каталогов (директорий). Поиск информации
почти исключен, поскольку связь между содержанием данных и
наименованиями файлов или каталогов весьма ограничена. Аль-
тернативным подходом является организация информационных
систем, позволяющих проводить содержательный поиск данных
в распределенной БД. Применительно к INTERNET такими тех-
нологиями являются WWW и WAIS.
Информационные технологии WWW
Основными компонентами данных технологий, состоящих в
применении гипертекстовой модели к информационным ресур-
сам, распределенным в Internet, являются (рис. 6.22):
• HTML — язык гипертекстовой разметки документов;
• URL — универсальный способ адресации ресурсов в сети;
• HTTP (HyperText Transfer Protocol) — протокол обмена ги-
пертекстовой информацией:
• дополнительные средства (CGI. Java, JavaScript).
Ранее уже были рассмотрены основные возможности HTML
как приложения SGML к описанию типов документов. Здесь мы
вкратце остановимся на навигационных компонентах HTML.
Гипертекстовая база данных в концепции WWW — это набор
текстовых файлов, написанных на языке HTML, который опре-
деляет форму представления информации (разметка) и структуру
связей этих файлов (гипертекстовые ссылки) (рис. 6.23).
374
Глава 6. Сетевые информационные технологии. Internet
Протокол Другие
Рис. 6.22. Архитектура WWW-технологии
Рис. 6.23. Пример интерпретации гипертекстовых ссылок
6.5. Распределенные информационные системы Internet
375
Такой подход предполагает наличие еше одной компоненты
технологии — интерпретатора языка. В World Wide Web функции
интерпретатора разделены между сервером гипертекстовой базы
данных и интерфейсом пользователя.
Сервер, кроме обеспечения доступа к документам и реализа-
ции гипертекстовых ссылок, осуществляет также препроиессор-
ную обработку документов, в то время как интерфейс пользова-
теля проводит интерпретацию конструкции языка, связанных с
представлением информации
Ямк разметки HTML. Описание интерфейсов и навигация.
Язык HTML включает две основные компоненты:
• средства отображения документа (рассмотрены выше);
• средства навигации и построения интерфейсов с пользова-
телем.
Гипертекстовые ссылки Все рассмотренные ранее
средства управления отображением текста являются дополни-
тельными к основному элементу документа — гипертекстовым
ссылкам. Вот некоторые элементы HTML, реализующие данный
механизм.
LINK — элемент заголовка — используется для описания об-
щих для всего документа гипертекстовых ссылок. Элемент имеет
три атрибута: rel, rev и href, rel залает тип ссылки, rev об-
ратную ссылку, a href определяет ссылку в форме URL. На дан-
ный элемент возложена нагрузка по программированию средств
управления интерфейсом пользователя.
При выборе соответствующей позиции в меню интерфейса
пользователя или соответствующей этой позиции пиктограммы
программа интерфейса должна генерировать запрос к серверу на
получение документа, указанного в атрибуте href. Например:
<LINK REL=Help HREF="http://polyn.net.kiae.su/dss/
syshelp.html”>.
Данное предложение в заголовке HTML-документа означает,
что при выборе режима Help на экране отобразится документ,
который хранится по адресу http://polyn.net.kiae.su/
dss/syshe_p .html. Таким образом появляется возможность
строить системы контекстно-зависимых справок в интерфейсах,
построенных по технологии W WW
Элемент <А...>........</А>, который называют «якорь»
(anchor), применяется для записи гипертекстовой ссылки из
тела документа-, имеет несколько атрибутов, главным из кото-
376
Глава 6. Сетевые информационные технологии. Internet
рых является HREF (HyperText Reference). Простую ссылку
можно записать в виде:
<А HREF="http://polyn.net.kiae.su/index.html"> Индекс
базы данных "Полынь"<;A>.
Здесь значением атрибута href является адрес документа
index.html на машине polyn.net.kiae.su, доступ к которой
осуществляется по протоколу HTTP, записанный в формате
URL.
Содержание элемента А, заключенное между метками начала
и конца элемента, выделяется в тексте цветом, определенным
для контекстных гипертекстовых ссылок. На рис. 6.23 приведен
пример использования в документе меток <А...> ... < . . /А> и
его отображение интерфейсом Netscape.
Другой формой использования элемента а является опреде-
ление точек внутри текста, на которые можно сослаться:
<А HREF="http://polyn- net.kiae.su/index.html#point">
Ссылка на точку "point" в документе «index.ntml»</A>.
Представление mu Hi media -информации. Систе-
ма World Wide Web была ориентирована на графические средст-
ва представления информации. Первым шагом на этом пути
была реализация возможности вставлять в текст графические
объекты, затем появилась возможность запуска внешней про-
граммы для просмотра файла в форматах, отличных от ASCII
(например, GIF). Таким образом, на любой информационный
объект можно сослаться из документа HTML, вызвав его через
внешнюю программу просмотра. Fpaфичecкиe объекты могут
использоваться в качестве идентификаторов гипертекстовых
ссылок и для перехода по гипертекстовой сети.
Для встраивания в документ графических образов использу-
ются элементы IMG и fig.
IMG — элемент встраивания в текст графического образа, на-
пример:
CIMG SRC=”http://polyn.net.kiae.st/gif,'sarclast.gif"
ALT="Sarcofagus.Winter, 1997">.
В данном примере атрибут SRC определяет адрес графиче-
ского объекта, который надо встроить в документ, а атрибут
ALT предназначен для отображения в интерфейсах, которые не
6.5. Распределенные информационные системы Internet
377
поддерживают встраиваемую графику (типа Lynx). В послед-
нем случае вместо картинки будет отображено содержание ат-
рибута ALT.
IMG можно использовать внутри гипертекстовой ссылки:
<А HREF="doc .hTml"xl’.<G S.-.C=" ic:r.. g
" A.LIGII=?.IGHT></a>
В этом случае весь рисунок целиком используется как иден-
тификатор гипертекстовой ссылки. Кроме того, в данном приме-
ре используется атрибут элемента IMG — AUG'.;, который может
принимать значения top. middle, bottom, left, right и опре-
деляет. где относительно других символов текста в строке будет
располагаться рисунок.
Элемент FIG (развитие IMG) введен в стандарт языка для
улучшения отображения графической информации и использова-
ния ее для разработки гипертекстовых баз данных. При использо-
вании IMG текст разбивается на две части: до рисунка и после, при
этом реализуется обтекание картинки текстом (рис. 6.24).
Рис. 6.24. Пример использования элемента ing
378
Глава 6. Сетевые информационные технологии. Internet
Элементы реализации интерфейсов в HTML
IS INDEX — элемент заголовка документа — определяет ис-
пользование HTML-документа для ввода запроса на поиск по
ключевым словам:
<ISINDEX HRSF="http://polyn.r.et.<iae.su/cgi-bin/search"
PROMPT="Enter Keywords:">
В приведенном примере атрибут HREF определяет адрес про-
граммы обработки запроса, а атрибут PROMPT — содержание при-
глашения.
FORM — средства встраивания элементов интерфейса в тело
документа ( механизм форм заполнения — FILL-OUT FORMS) —
впервые были подробно описаны в инструкциях по использова-
нию сервера NCSA. Посредством форм осуществляется передача
параметров внешним программам, которые вызываются серве-
ром, что сделало WWW универсальным интерфейсом ко всем ре-
сурсам сети.
Вот некоторые вложенные в FORM элементы HTML:
Элемент Назначение
INPUT Поля ввода информации имеют множество типов
I TEXTAREA Поле ввода многострочного текста
| SELECT Описание меню
। OPTION 1 Описание элемента меню
input — наиболее универсальный из всех элементов формы.
Способ его отображения определяется атрибутом TYPE, который
может принимать значения: text, password, checkbox, radio,
range, scribble, file,hidden, submit, reset, image.
Атрибут NAME определяет идентификатор поля. Данный ат-
рибут не отображается, но его значение передается обрабаты-
вающей программе.
Атрибут value определяет значение поля. Данное значение
передается вслед за именем поля. Если разработчик указал
этот атрибут в тексте документа, то это будет значение по
умолчанию.
Атрибут DISABLE защищает значение поля формы от изме-
нения пользователем. Часто это бывает полезным при много-
6.5. PacnpeOt ценные информационные системы Internet 379
кратных обращениях к внешним базам данных и при коррекции
запросов.
Атрибут error определяет текст сообщения об ошибке при
неправильном вводе.
Атрибут CHECKED используется в полях типа checkbox и
radiobutton. Он определяет состояние данного поля
(ВЫБРАНО/НЕ ВЫБРАНО).
Атрибут SIZE определяет размер видимой части поля ввод;.
Для непропорциональных шрифтов он равен числу символов,
для пропорциональных шрифтов — числу типографских интер-
валов.
Атрибут MAXLEKG'-'H определяет максимальное чисто симво-
лов. которое можно ввести в текстовое поле
Атрибуты MIN и МАХ определяют диапазон разрешенных чи-
словых значений для поля ввода.
Атрибут SRC используется для задания адреса i рафического
объекта, который можно использовать в поле ввода.
Атрибут MD задаст контрольную сумму для графики
Атрибут aligl опрсде зясг выравнивание текста.
Приведем фрагмент HTML-документа с элементами группы
FORM и их интерпретацию (рис. 6.25. а):
<FGRM МЕТНОD=POST
ACTION=nttp://polyn.net.kiae.su/cgi-bin/test>
<P> Ниже приведен список примерев дочвей ввода:<3R>
Простое текстовое поле: <1NPUT NAME=”testl"
VALUE="ABODE" TY?E="text"X3R>
Поле типа checkbox: clNPUT NAXE=“test2" TYFE="checkbox"
CHECKEDX3R>
Поле типа radiobutten: CTX'PUT NAME="test3"
TYPE-"raaio"><BR>
Поле типа passwora: X.-.::E="test^."
TYPE="password"><5R>
Невидимое поле: <INPU7 i<.-.ME="testo" TYPE="hidden"
VALUE="default"X3R>
Кнопка Submit: <ZKPUT XAME="submit" V.-.LUE="S jbmit"
TYPE-"submit"x3R>
Кнопка Reset: <7KPUT NAME-"reset" .'.-.L'JE-"Reset"
TYPE="reset"><3R>
Графическая кнопка: <INPUT XAME="graph" VALUE="default"
SRC="google. gif" TYPE=" image "X3?.>
</FORM>
380
Глава 6. Сетевые информационные технологии. Internet
L ............._........................
I \ Файл Правка Вид Избранное Сервис Cnpat у> ||^||
: Г5.:сад ж-> - К| Поиск **
\ Адрес | jg] С1 - I ГП1Т_УО\1Т_ ^Переход \ Ссылки **
Ниже приведен список примеров полей
вео да
Простое текстовое поле
|abcde
Поле типа checkbox:
Поле типа radi /button Г
Поле типа password |
Невидимое поле
Кнопка Submit Submit [
Кнопка Reset. Не set J
Gckq!c
Гp аф ич e ская кн о пка v
б
Рис. 6.25. Интерпретация элементов интерфейса:
а — группа flex: б — элементы техтареа и select
В первой строке приведено простое текстовое поле с введен-
ным в него значением по умолчанию. Это значение может быть
изменено пользователем. В следующей строке отображено поле
типа checkbox. Крестик в поле показывает, что оно выбрано
(значение по умолчанию установлено атрибутом CHECKED).
Ниже приведено поле radiebutton в виде кружка (так как в
6.5. Распределенные информационные системы Internet
381
нем нет черной точки, это поле не выбрано); в поле password
введен пароль, который не отображается, а заменяется звездоч-
ками; невидимое поле не отображается, а предназначено для
реализации диалога с удаленными программами. Кнопка Submit
активирует передачу параметров серверу, в то время как Reset
восстанавливает значения полей формы по умолчанию. Графи-
ческая кнопка аналогична кнопке Submit, только она передает
также значения координат графического образа.
TEXTAREA предназначен для ввода больших многострочных
текстовых данных; это связано с ограничениями на длину сим-
вольной строки. Элемент имеет два атрибута: ROWS — число ви-
димых строк и COLS — число видимых символов в строке
(рис. 6.25, б):
<TEXTAREA NAME="multi" ROWS=5 COLS=2C>
This is a test
TEXTAREA элемент
</TEXTAREA>.
Элементы select и option предназначены для организации
меню, которое может быть падаюшим, множественным и графи-
ческим: в падающем меню можно выбрать только один элемент;
в множественном — несколько; графическое меню предназначе-
но для выбора по графическому образу. Приведем пример орга-
низации меню (рис. 6.25, б)'.
<SELECT NAME="Choice">
<OPTION> INPUT
<OPTION> TEXTAREA
<OPTION> SELECT
</SELECT>.
В данном случае при отображении HTML-документа будет
создано падающее меню с тремя элементами. Пользователь мо-
жет выбрать один из этих элементов в качестве значения поля.
HTTP (Hypertext Transfer Protocol) — протокол прикладного
уровня, который разработан для обмена гипертекстовой инфор-
мацией в сети Internet и используется в Word Wide Web с 1990 г.
Реальная информационная система требует гораздо большего
количества функций, чем только поиск данных. HTTP позволяет
реализовать в рамках обмена информацией широкий набор ме-
тодов доступа.
382
Глава 6. Сетевые информационные технологии. Internet
Программа-клиент посылает после установления соединения
запрос серверу. Этот запрос может быть в двух формах: в форме
полного запроса и в форме простого запроса. Простой запрос со-
держит метод доступа и запрос ресурса. Например:
get http: //polyn . net. kiae . su
В этой записи слово gee обозначает метод доступа get, а
http://polyn.net.kiae.su/ — это адрес ресурса.
Методы доступа —в практике World Wide Web реально
используются три таких метода: post, get, head.
get — метод, позволяющий получить данные, заданные в
форме URI в запросе ресурса. Если ссылаются на программу, то
возвращается результат выполнения этой программы, но не ее
текст. Дополнительные данные, которые надо передать для обра-
ботки, кодируются в запрос ресурса.
HEAD — в отличие от GET не возвращает тела ресурса. Ис-
пользуется для получения информации о ресурсе и для тестиро-
вания гипертекстовых ссылок.
post — метод разработан для передачи большого объема ин-
формации на сервер. Им пользуются для аннотирования сущест-
вующих ресурсов, посылки почтовых сообщений, работы с фор-
мами интерфейсов к внешним базам данных и внешним испол-
няемым программам. В отличие от GET и HEAD в POST
передается тело ресурса, которое является информацией из поля
форм или других источников ввода.
Средства расширения HTML-технологий. Фрей м ы — тип
элементов, обеспечивающих возможность разделить рабочее
окно программы просмотра на несколько независимых панелей.
В каждый фрейм может быть загружена отдельная страница
HTML.
Спецификация CGI (Common Gateway Inter-
face) определяет порядок взаимодействия сервера с прикладной
программой, в котором сервер выступает инициирующей сторо-
ной, и задает механизм реального обмена данными и управляю-
щими командами в этом взаимодействии, что не определено в
HTTP.
Главное назначение — обеспечение единообразного потока
данных между сервером и прикладной программой, которая за-
пускается под управлением сервера. CGI устанавливает прото-
кол обмена данными между сервером и программой.
6.5. Распредс генные информационные системы Internet 383
При описании различных программ, которые вызываются
сервером HTTP и реализованы в стандарте CG1. используют
следующую терминологию.
С G I - с к р и п т — программа, написанная в соответствии со
спецификацией Common Gateway Interface. CGl-скрипгы могут
быть написаны на любом языке программирования (С. C++.
PASCAL, ГОР I RAN и т. п.) или командном языке (shell. cshell.
командный язык MS-DOS. Perl и т. п.).
Шлюз — CGI-скрипг. который используется для обмена
данными с другими информационными ресурсами Internet или
резидентными приложениями (демонами). Обычная CGI-про-
грамма запхскается сервером HTTP для выполнения некоторой
работы, возвращает результаты серверу и завершает свое выпол-
нение. Шлюз выполняется аналогично. однако он инициирует
взаимодействие с третьей программой в качестве клиента. Рели
эта третья программа является сервисом Internet, например.
Gopher-сервером, то шлюз становится клиентом Gopher, кото-
рый посылает запрос по порту Gopher, а после получения отвита
пересылает его серверу HTTP. По аналогии осуществляется
взаимодействие с серверами распределенных баз данных (напри-
мер, Oracle)
JavaScript — язык управления сценарием отображения
документа — является естественным продолжением HTML. По
своей природе это объектно-ориентированный язык программи-
рования, который, однако, не поддерживает инкапсуляцию объ-
ектов и полиморфизм методов. Объекты, над которыми можно
выполнять различные операции в JaxaScript — это элементы ин-
терфейса Netscape Navigator и контейнеры HTML. Средствами
этого языка могул быть реали зованы многие полезные эффекты
(мультипликация, контекстная помощь, проверка синтаксиса и
многое другое)
JavaScript не единственный язык управления сценариями
просмотра документов, известна аналогичная разработка —
VBScript (на основе Visual Basic, фирмы Microsoft).
Java — объектно-ориентированный язык программеров»
ния, который связан с World wide Web библиотекой классов,
описывающих элементы интерфейса пользователя (кнопки, поля
ввода, меню, метки, графические объекты и пр.), порядок взаи-
модействия страниц World Vv-dc Web с другими ресурсами сети
через транспорт TCP/IP Язык поддерживает возможность по-
строения многопоточных программ.
384
Глава 6. Сетевые информационные технологии. Internet
Программное обеспечение для World Wide Web
Программное обеспечение World Wide Web можно разделить
на группы по направлениям использования. Каждое из этих на-
правлений определяется либо схемой взаимодействия компонен-
тов Web-технологии, либо особенностями применения его субъ-
ектами обмена информацией в рамках World Wide Web. Принята
следующая классификации программного обеспечения World
Wide Web:
• программы-клиенты (в том числе мультипротокольные
браузеры);
• программы просмотра документов в форматах, отличных от
стандартных форматов Web;
• программы-серверы протокола обмена гипертекстовой ин-
формацией (Web-серверы);
о программы подготовки публикаций;
• поисковые машины;
• программы анализа статистики посещений.
Рассмотрим некоторые из этих типов программ более под-
робно.
Программы-клиенты — стандартны для World Wide Web.
Первыми распространенными некоммерческими программами
этого типа являлись Mosaic (графический интерфейс) и Lynx для
алфавитно-цифрового режима доступа.
Mosaic — графический интерфейс доступа в WWW, интер-
претирует язык гипертекстовой разметки HTML и позволяет об-
мениваться данными по протоколу HTTP 1.0 (см. также
рис. 2.7, 2.8).
Arena позволяет интерпретировать версии языка, которые в
дополнение к возможностям, существующим в Mosaic, также
реализуют математические формулы, обтекание графики тек-
стом, прозрачные графические образы и ряд других изобрази-
тельных средств.
Lynx — полноэкранный интерфейс доступа к WWW с алфа-
витно-цифровых устройств типа терминала VT100. Интерфейс
поддерживает все возможности языка HTML 2.0 за исключением
графики. Используя Lynx, можно не только просматривать базы
данных WWW, но обмениваться данными с CGI-скриптами,
размещенными на удаленных серверах.
6.5. Распределенные информационные системы Internet
385
Line Mode Browser — самый простой интерфейс WWW. Он
используется на любых устройствах отображения информации, в
том числе и на терминалах типа TTY (телетайп).
Мулыпипротокольные программы-браузеры. На роль стандар-
тов в этом классе программного обеспечения претендуют две
программы: Netscape Communicator (NC) и Microsoft Internet
Explorer (IE). По своим возможностям и внешнему оформлению
они довольно похожи. Основная задача этих программ — интер-
претация разметки на языке HTML, интерпретация встроенных
в HTML программ на одном из командных языков Web:
JavaScript или VBScript, интерпретация байткодов Java, разбор
спецификации ресурсов сети (обработка URI), взаимодействие с
серверами по протоколам прикладного уровня стека протоколов
TCP/IP.
Рассмотрим типовой интерфейс такой программы (рис. 6.26).
В верхней части этого интерфейса расположено поле title
документа. В нем отображается содержание контейнера TITLE.
Introduction to the Internet. Contents - Netscape
Файл Правка Вид Переход Компоненты Гфагд.е
Обновить
Mktplace
Мировые Информационные Ресурсы и Сети
Мировые Информационные ресурсы и сети
Структура сети Internet
Стек протоколов ТСРЛР
АРР
ICMP
f UDP
TCP
IP-agipeca
Порты и сокеты
Маршрутизация
' Маршрутизация статическая
< - Маршрутизация динамическая
Программа retried
Программа dated
Подключение к сети
Информационные сервисы
и Имена (Система Доменных Иней internet!
ДпэЧ IД2 S В ® 0 V Ф © UlCAWebSteV.: 11"gInluiduchon ... gyMfaoKftWoij | '«ЙИЙКЬЛ
Рис. 6.26. Общий вид интерфейса Netscape Navigator
(русифицированный вариант)
386
Глава 6. Сетевые информационные технологии. Internet
Ниже расположено текстовое меню настроек и управления про-
смотром. Под ним расположены пиктограммы графического
меню управления просмотром. Затем следует поле закладок
пользователя и поле location, которое определяет URL загру-
женного документа. Ниже расположено меню перехода на
встроенные в браузер закладки, которые указывают на наиболее
полезные с точки зрения разработчиков программы узлы Web.
Далее вниз следует рабочая область программы, в которой ото-
бражается содержание документа. Под ним расположены пикто-
граммы работы в защищенном режиме, поле status, в котором
отображается статус текущего документа или URL-соединения,
линейка икон других модулей программы браузера.
Текстовое меню открывает подменю Файл (File). В этом ре-
жиме определяется адрес загрузки документа (New, Open page),
сохранение текущей страницы (Save, Save as...), режимы ре-
дактирования и обмена страницами, печати и выхода из окна
или системы просмотра вообще.
За File обычно следует Редактирование (Edit), в котором
определяются режимы редактирования и поиска информации на
текущей странице, а также режим настроек Preference. Послед-
ний чрезвычайно важен для настроек программы.
Для того чтобы просмотреть/изменить настройки NN, необ-
ходимо, запустив программу, выбрать команду Edit/Preference
в Главном меню. Появится диалоговое окно Preferences (уста-
новки) — рис. 6.27.
Слева расположено меню выбора опций настройки програм-
мы, справа — набор параметров, который соответствует выбран-
ной опции. Символ «—» указывает на дополнительные опции.
Символ «+» сообщает, что дополнительные опции не отображе-
ны. Выбирая ту или иную опцию, можно управлять отображени-
ем интерфейса браузера на экране монитора и настройками про-
граммы при взаимодействии с серверами Web. Наиболее сущест-
венные настройки браузера содержатся в двух группах настроек:
Appearance (Появление) и navigator (браузер NC).
В группе настроек Navigator, показанной на рис. 6.27, в
правой части окна имеется три группы параметров. Переключа-
тели В первой группе Navigator Starts With (Браузер стар-
тует с) предназначены для настройки адреса начальной Web
страницы. Так же, как и в случае IE, для начинающих рекомен-
дуем первый вариант — Blank Page (чистая страница). Во
второй области можно задать адрес домашней страницы. По
6.5. Распределенные информационные системы Internet
387
Рис. 6.27. Окно настройка браузера
умолчанию здесь стоит адрес Web-странииы фирмы \etscape
http://home.netscape.com/. Наконец, в третьей области можно за-
дать срок хранения адресов посещаемых страниц или очистить
этот список.
В подгруппе Language (Языки) так же. как и в браузере IE,
обязательно должны присутствовать, по крайней мере, два язы-
ка: английский и русский. Подгруппа Application (Приложе-
ния) дает список всех приложений, которые могут взаимодейст-
вовать с браузером NC.
Выбрать правильную кодировку текста можно, выполнив ко-
манду View/Encording (Вид/Кодирозка) в Главном меню брау-
зера. В открывшемся списке необходимо выбрать кодировку
Cyrillic (Windows-1251) и нажать клавишу <Трпег>. Для того
чтобы эта кодировка оставалась и в дальнейшем, необходимо
сразу же еще раз выполнить указанные команды и выбрать по-
следний пункт Set Default Encoding (установка кодировки по
умолчанию) и опять нажать клавишу <Ешег>.
388 Глава 6. Сетевые информационные технологии. Internet
Вслед за Edit указано меню Вид (view). Данное меню отве-
чает за отображение информации о странице и позволяет обра-
батывать перекодировку текста в тот код, который заказывается
через режим Encoding. Практически именно этот режим позво-
ляет читать русский текст, в какой кодировке он не был бы под-
готовлен.
Меню Перейти (Go) позволяет быстро извлекать из запасни-
ков адреса пройденных гипертекстовых ссылок и снова возвра-
щаться к просмотру страниц, на которые они указывают.
Меню Компоненты (Communicator) позволяет запустить на
выполнение другие модули системы, например, систему про-
смотра электронной почты или программу просмотра новостей.
Мулыпипротоколъный браузер Opera. При запуске Opera ото-
бражается диалог запуска, который содержит два основных пара-
метра использования Opera (рис. 6.28, а):
• открывать все окна Opera внутри программы (многодоку-
ментный интерфейс — MDI);
• открывать отдельное окно приложения для каждого окна
Opera (однодокументный интерфейс — SDI).
Рассмотрим элементы пользовательского интерфейса Opera.
Главная панель содержит набор кнопок, которые по-
зволяют осуществлять собственно навигацию в Internet:
• создавать новые окна для навигации;
• открывать и сохранять файлы на компьютере;
• распечатывать Web-страницы;
• осуществлять поиск текста на Web-странице;
• отображать список;
• перемешаться назад и вперед по посещенным страницам в
одном окне;
• получать самую последнюю версию страницы (обновле-
ние);
• осуществлять переход к домашней странице;
• получать доступ к закладкам в активной папке закладок;
• располагать все окна в Opera каскадом, по вертикали и го-
ризонтали.
Пользователь может настроить главную панель, щелкнув по
ней правой кнопкой мыши или из раздела вид главного меню.
Личная панель постоянно отображает на экране наибо-
лее посещаемые закладки, поэтому пользователь может получить
прямой доступ к ним, минуя список.
6.5. Распределенные информационные системы Internet
389
ДВПаск| jj|iDADISTR1.OPERA}-Far || Q 2£а 1721
0 Файл Правка Em Навигация Закладки Почта Новости Окно Справка
Q OPERA
0
Click to buj
- the fastest browser on earth!
Обновить Домой Список
Печать Создать
Pl Opera Amazon... Бесплатный Инг <^> OperaMel "О"| р W*! I F О>|
О О llfe /^ocalhost/c/ромкРНТО^ Поиск | |бО?Х
’ Q Introduction to the tnt„ 0 Пустая страница
МДуск|; СИ Al i' BBfC..||»Qo... 4? с... I ВУМ£..| 2i-t2
6
Рис. 6.28. Стартовый экран браузера Opera (о); пользовательский интерфейс (б)
390 Глава 6. Сетевые информационные технологии. Internet
На личной панели можно также поместить любимые средст-
ва поиска в Internet, тем самым пользователю не нужно будет
выбирать их из списка.
Панель адреса. На панели адреса расположены следую-
щие элементы (слева направо):
• значок замка — показывает уровень безопасности узла;
• кнопка рисунка — переключает отображение рисунков на
странице;
• кнопка режима отображения— переключает режим автора
и режим пользователя:
• кнопка просмотра— включает предварительный просмотр
печатной версии страницы;
• поле адреса — поле ввода Web-адресов страниц;
• раскрывающийся список адресов — обеспечивает доступ к
ранее введенным адресам;
• кнопка «пуск» — осуществляет переход к введенному ад-
ресу;
• поле поиска — осуществляет прямой поиск в Internet;
• раскрывающийся список поиска — обеспечивает выбор
средства поиска;
• кнопка поиска — выполняет поиск;
• поле масштаба — изменяет масштаб отображения Web-
страниц;
• раскрывающийся список масштаба— выбирает уже сущест-
вующее значение масштаба.
Панель окон (для MDI). Если запустить Opera с исполь-
зованием многодокументного интерфейса (MDI), все окна будут
отображаться внутри программы (рис. 6.28, а). Панель окон дает
возможность управления всеми открытыми окнами и доступа к
ним, и заменяет панель страниц, которая отображается при ис-
пользовании однодокументного интерфейса (SDI).
Панель страниц (для SDI). Если запустить Opera с
использованием однодокументного интерфейса (SDI), все окна
программы будут отображаться как окна отдельных приложений.
Но дополнительно в распоряжении пользователя будет возмож-
ность открывать несколько страниц внутри каждого окна Opera.
Панель страниц обеспечивает доступ к этим страницам с помо-
щью изящных вкладок, и заменяет панель окон, которая исполь-
зуется для многодокументного интерфейса (MDI).
6.5. Распределенные информационные системы Internet
391
Панель загрузки. При загрузке Web-страницы выводит-
ся панель загрузки. Она отображает следующую информацию
(слева направо):
• объем загруженной страницы, передаваемой на компьютер
(в процентах);
• количество загруженных рисунков и их общее количество;
• общий объем загруженных данных;
• среднюю скорость передачи данных во время загрузки
страницы;
• время, прошедшее с начала загрузки;
• текущее состояние загрузки страницы.
Программы-серверы. Сервер WWW — программа, которая
принимает запросы от WWW-клиентов и отвечает на них. В ка-
честве ответа может быть возвращен HTML-документ, храня-
щийся в базе данных сервера, графический образ, аудиозапись,
фильм или ответ внешней программы. Сервер обменивается
данными не только с клиентами, но и с CGI-скриптами.
В настоящее время серверы WWW существуют для всех ти-
пов компьютерных платформ и операционных систем.
Серверы для Unix-систем:
HTTPD (NCSA) — весьма распространен в сети; большое ко-
личество клиентов настроены для работы с этим типом сервера;
Apachie — некоммерческое развитие сервера NCSA с уче-
том спецификаций защиты данных от несанкционированного
доступа;
WN-cepeep — реализует механизм графического стека ссылок
в себе самом, а не через внешний скрипт, что повышает защи-
щенность данных. Кроме того, данный сервер позволяет вос-
пользоваться механизмом обновления информации протокола
HTTP для организации видеоклипов.
Сервер WinHTTPD — это сервер для Windows. Он является
функционально полным сервером WWW для этого типа опера-
ционной системы.
XML-технологии и поиск данных. BizQuery. Просмотр
XML-документов осуществляется специальной программой ана-
лизатором. На сегодняшний день разработано около десятка по-
добных анализаторов. В браузере Internet Explorer 5 предусмот-
рен анализ XML-документов.
Анализ документа в Internet Explorer 5 осуществляется тремя
вариантами: просмотр аналогично HTML-документу, формати-
рование документа с использованием специальных стилевых
392
Глава 6. Сетевые информационные технологии. Internet
таблиц — XSL и анализ с помощью сценариев, написанных на
Java Script или VBScript.
Поиск нужного элемента или поддерева осуществляется с
помощью XQL-запроса. XQL является частью XML и переводит-
ся как язык запросов для X М L (XML Query
Language). Широко обсуждается вопрос об утверждении язы-
ка XQL в качестве стандарта, который может заменить SQL.
Синтаксис языка запросов очень гибок и позволяет осущест-
влять поиск элемента как по названию, значению атрибутов, со-
держанию, так и учитывать вложенность и положение в дереве
элементов. С помощью запросов мы можем выделять из общего
дерева необходимые нам элементы и применять к ним необхо-
димые инструкции. Запрос возможно применять как к самому
XML-документу, так и к ссылкам URL.
Язык запросов напоминает обычный способ определения
пути к ресурсу — список узлов дерева, разделенных символом
«/». Для указания на текущий элемент используется символ «.» ,
на родительский — «..», для выделения всех дочерних элемен-
тов — символ «*», для выделения элемента, расположенного
просто «ниже» по дереву (не важно, на каком именно уровне
вложенности) — «//». Условие на значение в запросе должно за-
ключаться в символы «[« и «]». Для выбора значения атрибута в
условии указывается символ «@».
Примеры простых XQL-шаблонов:
"/Customer" Корневой элемент
"Customers/" Возвращает дочерние элементы для элемента Customers
"Customers //" Список всех элементов, вложенных в Customers
"container[@Type]" Список элементов container, в котором опреде- лен атрибут Туре
"container[бТуре =20f]" Поиск всех двадцатифутовых контейнеров, т. е. эле- ментов container, в котором значение атрибута ! Туре равно "20f ”
"Customers[address]" Список элементов Customers, которые содержат хотя бы один элемент address, выражение в квад- ратных скобках может быть составным
Система виртуальной интеграции BizQuery на основе техно-
логий XML и UML является результатом работы исследователь-
6.5. Распределенные информационные системы Internet
393
ской группы, которая на протяжении многих лет занимается во-
просами исследования и разработки методов управления
XML-данными. Основные возможности BizQuery заключаются в
следующем:
• интегрированный доступ к нескольким источникам дан-
ных, которые могут быть реляционными или содержать
XML-данные;
• использование XML как для внутреннего представления
данных, так и для представления результата;
• представление глобальной схемы интегрированных данных
в терминах XML. так и в терминах UML;
• возможность формулировки запросов к интегрирован-
ным данным с использованием декларативных языков
запросов;
• развитая обработка запросов, включая оптимизацию запро-
сов; декомпозицию запросов на частичные запросы, адре-
суемые к индивидуальным источникам данных; формиро-
вание окончательного результата с потенциальным выпол-
нением соединений и трансформаций данных.
Приведем пример запроса. Предположим, необходимо обра-
титься к двум документам одного реляционного источника и вы-
дать данные об отделах, в которых имеются сотрудники моложе
20 лет.
for $d in document(«real:sqll/deps»)/table/tupie
where some $e in
document(«real:sqll/emps»)/table/tuple[age < 20]
satisfies $d/id = $e/dep_id
return element dep {$d/name, element additional
{$d/address}}
Схемы документов-источников в виде DTD (определение
типа документа) имеют следующий вид: (см. также гл. 2,
рис. 2.5):
Document ("real:sqll/depts")
<I ELEMENT table (turple)*>
<!ELEMENT turple (id, name,
address)>
<!ELEMENT id (#PCDATA)>
<! ELEMENT name (#PCDATA)>
<!ELEMENT address (?PCDATA)>
Document ("real:sqll/emps")
<[ELEMENT table (turple)*>
<!ELEMENT turple (id, name,
address)>
<!ELEMENT id (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT de_id (#PCDATA)>
394
Глава 6. Сетевые информационные технологии. Internet
Запрос содержит полусоединение (определяется разделами
for и where) двух документов одного источника, которое может
быть выполнено на стороне источника, а также трансформацию,
не поддерживаемую реляционным источником.
Протокол Z39.50
Данный протокол ориентирован на информационный поиск
в удаленных базах данных. Это — протокол прикладного уровня
в рамках семиуровневой эталонной модели взаимодействия от-
крытых систем, разработанной Международной Организацией
Стандартов (ISO), и поэтому может быть реализован в различ-
ных типах сетей (например, в сетях TCP/IP, IPX/SPX, OSI) не-
зависимо от реализации транспортного уровня. Его назначе-
ние — предоставить компьютеру, работающему в режиме «кли-
ент», возможности поиска и извлечения информации из другого
компьютера, работающего как информационный сервер.
Особенностями протокола Z39.50 является возможность со-
хранения состояний системы и присвоение каждому состоянию
соответствующего идентификатора. Эта особенность протокола
позволяет производить «навигацию во времени» т. е. в любой
момент можно вернуться в определенную точку поиска, произ-
веденного ранее. Наличие такой «памяти» позволяет использо-
вать результаты, полученные ранее, в составлении дальнейших
запросов.
Первоначально многие Z39.50-приложения создавались ис-
ключительно для использования с библиографическими данны-
ми (например, электронные Online-версии библиотечных ката-
логов). Однако в настоящее время протокол развит настолько,
что позволяет обрабатывать различные данные — финансовую,
химическую, техническую информацию, тексты и изображения.
Технология сетевого доступа к базам данных по протоколу
Z39.50 существенно отличается от других технологий. Различие
обусловлено самой сутью протокола: его ориентацией на работу
с базами данных, абстрагированных от конкретных систем.
Состав протокола Z39.50. В основе Z39.50 лежит модель аб-
страктной базы данных. Каждый элемент этой модели имеет
описание с однозначным толкованием и стандартизуется с при-
своением уникального идентификатора — OID.
6.5. Распределенные информационные системы Internet
395
Термин база данных в спецификации Z39.50 означает набор
файлов, каждый из которых имеет свое уникальное имя. Едини-
цей хранения информации, которая может быть найдена при об-
ращении к базе данных, является запись файла. Все записи од-
ного файла должны иметь одинаковую структуру (т. е. состоять
из одного и того же набора элементов и точек доступа). Точка
доступа - это уникальный или неуникальный ключ, который
может быть указан самостоятельно или в совокупности с други-
ми ключами в поисковом критерии. Ключ может быть элемен-
том данных, состоять из нескольких элементов или быть частью
элемента.
Работа с каждой конкретной СУБД согласно Z39.50 должна
быть организована только через эту абстрактную модель путем
обмена пакетами данных (PDU), содержащими последователь-
ности объектов, идентифицируемых по меткам. В стандарте опи-
саны следующие классы объектов:
• контекст приложения (context);
• протокольные блоки данных — protocol data unit (pdu);
• атрибуты (attributeset);
• диагностика (diagnostic);
• структура записей (recordsyntax);
• синтаксис преобразований (transfersyntax);
• отчет по ресурсам (resourcereport);
• контроль доступа (accesscontrol);
• расширенный сервис (extendcdservice);
• пользовательская информация (userinfoformat);
• элементы (elementspec);
• варианты (variantset);
• схема данных (schema);
• схема меток (tagset).
Внутри класса объекты идентифицируются номерами, добав-
ляемыми к номеру класса. Например, в классе recordsyntax
{1.2.840.10003.5} объекты имеют OID:
Unirr.arc {1.2.840.10003.5.1}.
USmarc {1.2.840.10003.5.10},
sutrs {1.2.840.10003.5.101} и т. п.
Модель службы Z39.50 предусматривает обмен сообщениями
типа «запрос—ответ» между соответствующими приложения-
ми — клиентом и сервером. Формат таких сообщений и опреде-
ляется протоколом Z39.50. После установления ТСР-соединения
(или любого другого, зависящего от способа передачи данных)
396
Глава 6. Сетевые информационные технологии. Internet
устанавливается Z39.50-соединение, посредством обмена прото-
кольными блоками данных — Protocol Data Unit (PDU).
PDU состоят из набора тегов, определяющих тип PDU (за-
прос или ответ на инициализацию сессии, запрос на поиск, ре-
зультат поиска, запрос представления, ответ представления, за-
прос или ответ на закрытие сессии и т. д.), физические парамет-
ры сеанса, виды услуг, поддерживаемых клиентом и сервером,
параметры поиска, содержание запроса, сообщения о проведен-
ном поиске и т. д.
Получив от клиента PDU на инициализацию сессии, сервер
формирует ответ — сообщения о параметрах сеанса, видах услуг,
поддерживаемых клиентом и сервером, после получения которо-
го клиентом Z39.50-соединение считается установленным. Далее
клиент может либо продолжить работу с такими параметрами,
либо закрыть соединение и попытаться затем установить но-
вое — быть может, с другими параметрами. Передавать запрос
на поиск информации пользователь может только после уста-
новки соединения.
Таким образом, протокол Z39.50 описывает интерактивную
сессию между источником запросов и приемником, обслуживаю-
щим эти запросы. Полный информационный сервис, как он по-
нимается в стандарте, состоит из инициализации сессии, передачи
данных и завершения сессии. Параметры сессии и ее окружение
источники приемник определяют в процессе инициализации.
Согласно Z39.50 существует семь основных видов информа-
ционного обмена в рамках распределенной ИПС:
• инициализация сессии;
• поиск информации по запросу;
• представление результатов поиска;
• удаление результатов поиска:
• контроль доступа к информационному ресурсу;
• контроль прав доступа к информационному ресурсу;
• завершение сессии.
Завершение сессии — это закрытие Z-соединения и после-
дующее закрытие ТСР-соединения.
В течение сеанса происходит обмен PDU, инициатором
которых, чаще всего, выступает клиент. Основные PDU сле-
дующие:
• Search;
• Present;
• DeleteP.esuLtSe t;
6.5. Распределенные информационные системы Internet
397
• Scan;
• Sort;
• Segment;
• ExtendedServices.
Контрольные вопросы
1. Что такое архитектура «клиент — сервер» и каковы основные разно-
видности программно-аппаратных средств на клиентской и серверной
стороне?
2. Дайте определение протокола в информационных сетях.
3. В чем преимущества систем с коммутацией пакетов?
4. Определите 7-уровневую модель протоколов в открытых системах.
5. На что ориентированы протоколы 1—3 уровня в 7-уровневой моде-
ли OSI?
6. На что ориентированы протоколы 5—7 уровня в 7-уровневой моде-
ли OSI?
7. Какой уровень прокладывает путь через сеть?
8. Какой уровень обеспечивает обнаружение и исправление ошибок?
9. Какой уровень определяет процедуру представления передаваемой
информации в нужную сетевую форму?
10. Что входит в систему адресов Internet?
11. Какую структуру имеет адрес Ethernet?
12. Какую структуру имеет 1Р-адрес?
13. Что такое выделенные IP-адреса?
14. Что из себя представляет система доменных имен?
15. Что такое сервер доменных имен?
16. Какие разновидности URL вам известны?
17. Какие протоколы транспортного уровня вы знаете?
18. Что такое инкапсуляция и фрагментация?
19. Что такое TCP/UDP—порт?
20. Что представляют собой протоколы управления маршрутизацией?
21. Какова структура пакета TCP?
22. Что представляет собой ARP?
23. Расставьте на места уровни в архитектуре протокола TCP/IP.
24. Какую функцию описывает протокол TCP?
25. Какую функцию описывает протокол IP?
26. Что такое класс локальной сети, входящей в Internet?
27. Каковы преимущества и недостатки конфигурации «звезда»? В каких
локальных сетях она применяется?
28. Каковы преимущества и недостатки конфигурации «общая шина»?
В каких локальных сетях она применяется?
398 Глава 6. Сетевые информационные технологии. Internet
29. Каковы преимущества и недостатки конфигурации «кольцо»? В каких
локальных сетях она применяется?
30. Какие смешанные топологии вам известны и с помощью какого сете-
вого оборудования они реализуются?
31. Какие прикладные протоколы Internet вы знаете?
32. Какие информационные ресурсы Internet вы знаете?
33. Какова структура ресурса Usenet?
34. Какова структура распределенной ФС FTP?
35. Перечислите команды Telnet.
36. Какие протоколы электронной почты вам известны?
37. Перечислите программы-клиенты электронной почты.
38. Перечислите команды прикладных протоколов электронной почты.
39. Что такое протокол NNTP? Перечислите команды протокола.
40. Перечислите команды протокола FTP.
41. Назовите программы-клиенты и серверы протокола FTP.
42. Что такое Copher? Какова структура взаимодействия программы-кли-
ента и сервера?
43. Каков состав средств Web-технологий? Что такое CGI?
44. Перечислите команды протокола HTTP.
45. Каков состав программного обеспечения WWW?
46. Перечислите основные программы-клиенты и серверы WWW.
47. Перечислите основные форматы HTML.
48. Каковы основные возможности отображения документов?
49. Расскажите об организации гипертекстовых ссылок.
50. Каковы возможности браузера Netscape Navigator?
51. В чем состоит отличие протокола Z39.50 от других прикладных прото-
колов?
52. Почему использование протокола HTTP для реализации ИПС вызывает
трудности?
53. Из каких фаз состоит взаимодействие по протоколу Z39.50?
Глава 7
ТЕХНОЛОГИИ РАСПРЕДЕЛЕННОЙ
ОБРАБОТКИ ИНФОРМАЦИИ
Основное назначение БД — многоцелевое параллельное исполь-
зование данных, уже предопределяет наличие средств, которые
должны обеспечить практически одновременный и независимый
доступ к одним и тем же данным. При этом данные могут быть
размещены как на одном, так и на нескольких компьютерах.
Стремление к интеграции и управляемости (обеспечению цело-
стности) естественно порождает стремление к централизации.
Однако на практике наблюдается и стремление к децентрализа-
ции, в значительно большей степени отражающей организаци-
онную структуру предметной области и технологию порождения
и использования хранимых данных. Разные фрагменты данных
порождаются и используются обычно в разных подразделениях и
организациях, зачастую — географически разобщенных. Разра-
ботка распределенных баз и технологий распределенной обра-
ботки существенно расширяет возможности, как создания, так и
использования данных.
7.1. Распределенные базы данных
Следует отметить, что общая тенденция развития технологий
обработки данных вполне соответствует этапам развития средств
вычислительной техники и информационных технологий, и в
первую очередь — сетевых.
Распределенные системы
Следует выделить два класса систем распределенной
обработки и системы распределенных данных:
• системы распределенной обработки в основном отражают
структуру и свойства многопользовательских операцион-
400 Глава 7. Технологии распределенной обработки информации
ных систем с базой данных, размещенной на центральном
компьютере:
• системы распределенных данных обеспечивают обработку
распределенных запросов, когда при обработке одного за-
проса используются информационные ресурсы, размешен-
ные на различных ЭВМ сети. При этом, как и ранее, сле-
дует говорить как о распределенных файловых
с и с т е м а х, так и о распределенных базах данных.
Для распределенных баз данных свойственны следующие ха-
рактеристики:
• база данных — это логически связанные, разделяемые на
некоторое количество фрагментов данные;
• фрагменты распределяются по разным узлам, которые свя-
заны между собой сетевыми соединениями;
• может быть предусмотрена репликация фрагментов;
• доступ к данным на каждом узле происходит под управле-
нием СУБД, которая на каждом узле должна поддерживать
работу как локальных приложений, так и глобальных.
Основные условия и требования к распределенной обработке
данных:
• прозрачность относительно расположения данных (СУБД
должна представлять все данные так, как если бы они были
локальными);
• гетерогенность системы (СУБД должна работать с данны-
ми, которые хранятся в системах с различной архитектурой
и производительностью);
• прозрачность относительно сети (СУБД должна одинаково
работать в условиях разнородных сетей);
• поддержка распределенных запросов (пользователь должен
иметь возможность объединять данные из любых баз, даже
если они размешены в разных системах);
• поддержка распределенных изменений (пользователь дол-
жен иметь возможность изменять данные в любых базах,
на доступ к которым у него есть права, даже если эти базы
размешены в разных системах);
• поддержка распределенных транзакций (СУБД должна вы-
полнять транзакции, выходящие за рамки одной вычисли-
тельной системы, и поддерживать целостность распреде-
ленной БД даже при возникновении отказов как в отдель-
ных системах, так и в сети);
7.1. Распределенные базы данных
401
• безопасность (СУБД должна обеспечивать защиту всей рас-
пределенной БД от несанкционированного доступа);
• универсальность доступа (СУБД должна обеспечивать еди-
ную методику доступа ко всем данным).
Поясним некоторые из этих требований:
Прозрачность расположения. Прозрачный (для пользователя)
доступ к удаленным данным предполагает использование в при-
кладных программах такого интерфейса с сервером БД, который
позволяет переносить данные в сети с одного узла на другой, не
требуя при этом модификации текста программы. Иными слова-
ми, доступ к информационным ресурсам должен быть полно-
стью прозрачен относительно расположения данных.
Любой пользователь или любая прикладная программа опе-
рирует с одной или несколькими базами данных. В том случае,
когда прикладная программа и сервер БД выполняются на од-
ном и том же узле, проблемы расположения не возникает. Для
получения доступа к базе данных пользователю или программе
достаточно указать имя базы, например: SQL Dbr.ame.
Однако в том случае, когда прикладная программа запуска-
ется на локальном узле, а база данных находится на удаленном,
возникает проблема идентификации удаленного узла. Для того
чтобы получить доступ к базе данных на удаленном узле, необ-
ходимо указать имя удаленного узла и имя базы данных. Если
использовать жестко фиксированное имя узла в паре
«имя_узла, имя_БД», то прикладная программа становится за-
висимой от расположения БД. Например, обращение к БД
«host: stock», где первый компонент — имя узла, будет зависи-
мым от расположения.
Одно из возможных решений этой проблемы состоит в ис-
пользовании виртуальных имен узлов. Управление ими обеспе-
чивается специальным программным компонентом СУБД —
сервером имен (Name Server), который адресует запросы клиен-
тов к серверам.
Прозрачность сети. Клиент и сервер взаимодействуют по
сети с конкретной топологией; для поддержки взаимодействия
всегда используется определенный протокол. Следовательно,
оно должно быть организовано таким образом, чтобы обеспечи-
вать независимость как от используемого сетевого аппаратного
обеспечения, так и от протоколов сетевого обмена. Чтобы обес-
печить прозрачный доступ пользователей и программ к удален-
ным данным в сети, объединяющей разнородные компьютеры,
402 Глава 7. Технологии распределенной обработки информации
коммуникационный сервер должен поддерживать как можно бо-
лее широкий диапазон сетевых протоколов (TCP/IP, DECnet,
SNA, SPX/IPX, NetBIOS, AppleTalk и др.).
Автоматическое преобразование форматов данных. Как толь-
ко несколько компьютеров различных моделей под управлением
различных операционных систем соединяются в сеть, сразу воз-
никает вопрос о согласовании форматов представления данных.
Действительно, в сети могут быть компьютеры, отличающиеся
разрядностью (16-, 32- и 64-разрядные процессоры), порядком
следования байт в слове, представлением чисел с плавающей
точкой и т. д. Задача коммуникационного сервера состоит в том,
чтобы на уровне обмена данными обеспечить согласование фор-
матов между удаленным и локальным узлами с тем, чтобы дан-
ные, извлеченные сервером из базы на удаленном узле и пере-
данные по сети, были правильно истолкованы прикладной про-
граммой на локальном узле.
Автоматическая трансляция кодов. В неоднородной компью-
терной среде при взаимодействии клиента и сервера возникает
также задача трансляции колов. Сервер может работать с одной
кодовой таблицей (например, EBCDIC), клиент — с другой (на-
пример, ASCII), при этом происходит рассогласование трактов-
ки кодов символов. Поэтому, если на локальном узле использу-
ется одна кодовая таблица, а на удаленном — другая, то при пе-
редаче запросов по сети и при получении ответов на них
необходимо обеспечить трансляцию кодов. Решение этой задачи
также ложится на коммуникационный сервер.
Однако ни одна из существующих СУБД не дос-
тигает этого идеала вследствие следующих практических
проблем’.
• низкая и несбалансированная производительность сетей
передачи данных, что в распределенных транзакциях силь-
но снижает общую производительность обработки;
• обеспечение целостности данных в распределенных тран-
закциях базируется на принципе «все или ничего» и требу-
ет специального протокола двухфазного завершения тран-
закций, что приводит к длительной блокировке изменяе-
мых данных;
• необходимо обеспечить совместимость данных стандартно-
го типа, для хранения которых в разных системах исполь-
зуются разные физические форматы и кодировки;
7.1. Распреде 1енные базы данных
403
• трудности выбора схемы размещения системных каталогов.
Если каталог будет храниться в одной системе, то удален-
ный доступ будет замедлен. Если будет размножен, то из-
менения придется распространять и синхронизировать;
• необходимо обеспечить совместимость СУБД разных типов
и поставщиков:
• увеличение потребностей в рссхрсах для координации ра-
боты приложений с целью обнаружения и устранения ту-
пиковых ситуаций в распределенных транзакциях.
Типы распределенных СУБД
В общем случае режимы работы с БД можно классифициро-
вать по следующим признакам:
• многозадачность — однопользовательский или многополь-
зовательский;
• правило обслуживания запросов — последовагс тьное или
пара, (дельное;
• схема размещение данных — централизованная или рас-
пределенная БД.
Распределенные СУБД подразделяются на однородные и раз-
нородные.
В однородных системах все узлы используют один и гот же
тип СУБД. В разнородных системах на узлах могут функциони-
ровать различные типы СУБД, использующие разные модели
данных. Однородные системы значительно проще проектировать
и сопровождать, добавляя новые узлы к уже существующей рас-
пределенной системе и повышая производительность системы за
счет параллельной обработки информации.
Разнородные системы обычно возникают в тех случаях, когда
узлы, уже эксплуатирующие свои собственные системы с базами
данных, со временем интегрируются в распределенную систему.
В разнополных системах для организации взаимодействия между
различными типами СУБД требуется обеспечить преобразование
передаваемых сообщений, для чего каждый из узлов должен
иметь возможность формулировать опросы на языке той СУБД,
которая используется на их локальном узле или система должна
взять на себя выполнение всех необходимых преобразований.
Очевидны следующие преимущества и недостатки распреде-
ленных баз данных (табл. 7.1).
404 Глава 7. Технологии распределенной обработки инфор нации
Таблица 7.1. Некоторые характеристики раенредсшенных ЬД
Преимущества Недостатки
Соответствие структуре организации Повышение сложности
Локальная автономность Уве ичение стоимост.1 огласования
| Повышение доступности данных Проблемы защить
Повышение надежности Контроль целостности данных
Повышение производительности Затрудненность унификации
Экономические выгоды Высокая информационная квалификация
Модульность системы Усложнение процедуры разработки БД
Распределенная СУБД должна иметь следующий набор
функциональных возможностей:
• расширенные службы установки соединений должны обес-
печивать доступ к удаленным узлам и позволять передавать
запросы и данные между узлами, входящими в сеть;
• расширенные средства ведения каталога, позволяющие со-
хранять сведения о распредедении данных в сети;
• средства обработки распределенных запросов, включая ме-
ханизмы оптимизации запросов и организации уда денного
доступа к данным;
• расширенные функции управления защитой, позволяющие
обеспечить соблюдение правил авторизации и прав доступа
к распределенным данным;
• расширенные функции управления параллельным выпол-
нением, позволяющие поддерживать целостность копируе-
мых данных;
• расширенные функции восстановления, учитывающие ве-
роятность отказов в работе отдельных узлов и отказов ли-
ний связи.
Соответственно, программные средства, обеспечивающие
целевую (функциональную) обработку' данных, должны быть ор-
ганизованы таким образом, чтобы обеспечить более эффектив-
ное использование совокупных вычислительных ресурсов за счет
специализированного разделения функций обработки между
центральным процессом СУБД и клиентскими функциональ-
но-ориентированными процедурам и.
7.2. Клиент-серверные архитектуры распределенной обработки... 405
1.1. Клиент-серверные архитектуры распределенной
обработки данных
Практически все модели организации взаимодействия поль-
зователя с базой данных, построены на основе модели «кли-
ент — сервер». То есть предполагается, что приложения, реали-
зующие какой-либо тип модели, отличаются способом распреде-
ления функций ранее приведенных групп обработки данных
между как минимум двумя частями:
• клиентской, которая отвечает за целевую обработку данных
и организацию взаимодействия с пользователем;
• серверной, которая обеспечивает хранение данных, обраба-
тывает запросы и посылает результаты клиенту для специ-
альной обработки.
В общем случае предполагается, что эти части приложе-
ния функционируют на отдельных компьютерах, т. е. к серве-
ру БД с помощью сети подключены компьютеры пользовате-
лей (клиенты).
Сервер — это программа, реализующая функции собст-
венно СУБД: определение данных, запись-чтение данных, под-
держка схем внешнего, концептуального и внутреннего уровней,
диспетчеризация и оптимизация выполнения запросов, защита
данных.
Клиент — это различные программы, написанные как
пользователями, так и поставщиками СУБД, внешние или
«встроенные» по отношению к СУБД. Программа-клиент орга-
низована в виде приложения, работающего «поверх» СУБД и об-
ращающегося для выполнения операций над данными к компо-
нентам СУБД через интерфейс внешнего уровня. Инструмен-
тальные средства, в том числе и утилиты, не отнесены к
серверной части очень условно. Являясь не менее важной со-
ставляющей, чем ядро СУБД, они выполняются самостоятельно,
как пользовательское приложение.
Основной принцип технологии «клиент—сервер» заключает-
ся в разделении функций стандартного интерак-
тивного приложения на четыре группы, имеющие различ-
ную природу:
• функции ввода и отображения данных;
• чисто прикладные функции, характерные для данной
предметной области (например, для банковской систе-
406 Глава 7. Технологии распределенной обработки информации
мы — открытие счета, перевод денег с одного счета на
другой и т. д.);
• фундаментальные функции хранения и управления инфор-
мационными ресурсами (базами данных, файловыми сис-
темами и т. д.);
• служебные, играющие роль интерфейсов между функция-
ми первых трех групп.
Выделяются четыре основных подхода, реализованные в сле-
дующих моделях (или схемах):
• файловый сервер (File Server — FS);
• доступ к удаленным данным (Remote Data Access — RD А);
• север базы данных (DataBase Server — DBS):
• сервер приложений (Application Server — AS).
Файловый сервер (FS)
Модель является базовой для локальных сетей персональных
компьютеров. В свое время она была исключительно популяр-
ной среди отечественных разработчиков, использовавших такие
системы, как FoxPRO, Clipper, Clarion, Paradox и т. д. Один из
компьютеров в сети считается файловым сервером и предостав-
ляет услуги по обработке файлов другим компьютерам. Здесь мы
имеем дело с распределенной файловой системой. Файловый сер-
вер работает под управлением сетевой операционной системы
(например, Novell NetWare) и играет роль компонента доступа к
информационным ресурсам (т. е. к файлам). На других компью-
терах в сети функционируют приложения, в кодах которых со-
вмещены компонент представления и прикладной компонент
(рис. 7.1, а). Протокол обмена представляет собой набор низко-
уровневых вызовов, обеспечивающих приложению доступ к
файловой системе на файл-сервере.
FS-модель послужила фундаментом для расширения возмож-
ностей персональных СУБД в направлении поддержки много-
пользовательского режима. В таких системах на нескольких пер-
сональных компьютерах выполняется как прикладная програм-
ма, так и копия СУБД, а базы данных содержатся в разделяемых
файлах, которые находятся на файловом сервере. Когда при-
кладная программа обращается к базе данных. СУБД направляет
запрос на файловый сервер. В этом запросе указаны файлы, где
находятся запрашиваемые данные. В ответ на запрос файловый
7.2. Клиент-серверные архитектуры распределенной обработки... 407
Клиент Запросы Сервер
Компонент Прикладной — Компонент доступа
представления компонент к се । ям
Клиент SQL Сервер
Компонент Прикладной ► Компонент доступа
представления компонент Данные к ресурсам
б
Клиент
Сервер
Сервер
Компонент
представления
API
•<-----►
Прикладной
компонент
SOL
Компонент доступа
к ресурсам
г
Рис. 7.1. Разновидности архитектур «клиент—сервер»:
а — модель файлового сервера: о — модель доступа к удаленным ранным;
в — модель сервера базы данных; г — модель сервера приложений
сервер направляет по сети требуемый блок данных СУБД, полу-
чив его, выполняет над данными теист вия. которые были декла-
рированы в прикладной программе
К технологическим недостаткам модели относят высокий
сетевой трафик (передача .множества файлов, необходимых
приложению), узкий спектр операций манипулирования данны-
ми («данные — это файлы»), отсутствие адекватных средств
безопасности доступа к данным (зашита только на уровне фай-
ловой системы) и т. д. Собственно, перечисленное не есть не-
достатки, но следствие внутренне присущих FS моде ш ограни-
чений, определяемых ее характером. Недоразумения возникают
408 Глава 7. Технологии распределенной обработки информации
в том случае, когда FS-модель используют не по назначению —
например, пытаются интерпретировать как модель сервера базы
данных.
Удаленный доступ (RDA)
Более технологичная RDA-модель существенно отличается
от FS-модели характером компонента доступа к информацион-
ным ресурсам. Это, как правило, SQL-сервер. В RDA-модели
коды компонента представления и прикладного компонента со-
вмещены и выполняются на компьютере-клиенте. Последний
поддерживает как функции ввода и отображения данных, так и
чисто прикладные функции. Доступ к информационным ресур-
сам обеспечивается либо операторами специального языка (язы-
ка SQL, например, если речь идет о базах данных) или вызовами
функций специальной библиотеки (если имеется соответствую-
щий интерфейс прикладного программирования — API).
Клиент направляет запросы к информационным ресурсам
(например, к базам данных) по сети удаленному компьютеру. На
нем функционирует ядро СУБД, которое обрабатывает запросы,
выполняя предписанные в них действия и возвращает клиенту
результат, оформленный как блок данных (рис. 7.1, б). При этом
инициатором манипуляций с данными выступают программы,
выполняющиеся на компьютерах-клиентах, в то время как ядру
СУБД отводится пассивная роль — обслуживание запросов и об-
работка данных. Далее будет показано, что такое распределение
обязанностей между клиентами и сервером базы данных — не
догма: сервер БД может играть более активную роль, чем та, ко-
торая предписана ему традиционной парадигмой.
RDA-модель избавляет от недостатков, присущих как систе-
мам с централизованной архитектурой, так и системам с файло-
вым сервером.
Основное достоинство RDA-модели заключается в унифика-
ции интерфейса «клиент — сервер» в виде языка SQL. Действи-
тельно, взаимодействие прикладного компонента с ядром СУБД
невозможно без стандартизованного средства общения. Запросы,
направляемые программой ядру, должны быть понятны обеим
сторонам. Для этого их следует сформулировать на специальном
языке. Но в СУБД уже существует язык SQL, о котором речь
шла выше. Поэтому было бы целесообразно использовать его не
7.2. Клиент-серверные архитектуры распределенной обработки... 409
только в качестве средства доступа к данным, но и как стандарта
общения клиента и сервера.
К сожалению, RDA-модель не лишена ряда недостатков.
Во-первых, взаимодействие клиента и сервера посредством
SQL-запросов существенно загружает сеть. Во-вторых, удовле-
творительное администрирование приложений в RDA-модели
практически невозможно из-за совмещения в одном программе
различных по своей природе функций (функции пре легавления
и прикладные функции)
Сервер баз данных (DBS)
Наряду с RDA-моделью все большую попчлярность приобре-
тает DBS-модель (рис. 7.1, в).'Последняя реализована в некото-
рых реляционных СУБД (Informix, Ingres. Sybase. Oracle). Ее ос-
нову составляет механизм хранимых процедур — средство про-
граммирования SQL-сервера. Процедуры (ранятся в словаре
базы данных, разделяются между несколькими клиентами и вы-
полняются на том же компьютере, где функционирхет SQL-сер-
вер. Язык, на котором разрабатываются хранимые процедуры,
представляет собой процедурное расширение языка запросов
SQL и уникален для каждой конкретной СУБД.
В DBS-модели компонент представления выполняется на
компьютере-клиенте, в то время как прикладной компонент
оформлен как набор хранимых процедур и функционирует на
компьютере-сервере БД. Там же выполняется компонент досту-
па к данным, т. е. ядро СУБД. Достоинства DBS-модели очевид-
ны: это и возможность централизованного администрирования
прикладных функции, и снижение трафика (вместо SQI -запри
сов по сети направляются выювы хранимых процедур), и воз-
можность разделения процедуры между несколькими1 приложе-
ниями, и экономия ресурсов компьютера за счет использования
единожды созданного плана выполнения процедуры. К недос-
таткам можно отнести ограниченность средств, используемых
для написания хранимых нроцедхр. которые представляют собой
разнообразные процедурные расширения SQL, не выдерживаю-
щие сравнения по изобразительным средствам и функциональ-
ным возможностям с языками третьего поколения, такими, как
Си или Паскаль. Сфера их использования ограничена конкрет-
410 Глава 7. Технологии распределенной обработки информации
ной СУБД, в большинстве СУБД отсутствуют возможности от-
ладки и тестирования разработанных хранимых процедур.
На практике часто используются смешанные модели, когда
поддержка целостности базы данных и некоторые простейшие
прикладные функции выполняются хранимыми процедурами
(DBS-модель), а более сложные функции реализуются непосред-
ственно в прикладной программе, которая работает на компью-
тере-клиенте (RDA-модель). Так или иначе, современные мно-
гопользовательские СУБД опираются на RDA- и DBS-модели и
при создании ИС, предполагающем использование только
СУБД, выбирают одну из этих двух моделей либо их разумное
сочетание.
Сервер приложений (AS)
В AS -модели (рис. 7.1, г) процесс, выполняющийся на ком-
пьютере-клиенте, отвечает обычно за интерфейс с пользователем
(т. е. реализует функции первой группы). Обращаясь за выпол-
нением услуг к прикладному компоненту, этот процесс играет
роль клиента приложения (Application Client — АС). Прикладной
компонент реализован как группа процессов, выполняющих
прикладные функции, и называется сервером приложения
(Application Server — AS). Все операции над информационными
ресурсами выполняются соответствующим компонентом, по от-
ношению к которому AS играет роль клиента. Из прикладных
компонентов доступны ресурсы различных типов — базы дан-
ных, очереди, почтовые службы и др.
RDA- и DBS-модели опираются на двухзвенную схему разде-
ления функций. В RDA-модели прикладные функции приданы
программе-клиенту, в DBS-модели ответственность за их выпол-
нение берет на себя ядро СУБД. В первом случае прикладной
компонент сливается с компонентом представления, во вто-
ром — интегрируется в компонент доступа к информационным
ресурсам. В AS-молели реализована трехзвенная схема разделе-
ния функций, где прикладной компонент выделен как важней-
ший изолированный элемент приложения, для его определения
используются универсальные механизмы многозадачной опера-
ционной системы, и стандартизованы интерфейсы с двумя дру-
гими компонентами. AS-модель является фундаментом для мо-
ниторов обработки транзакций (Transaction Processing Monitors —
7.3. Архитектура сервера Заз данных
411
ТРМ), или, проще, мониторов транзакций, которые выделяются
как особый вид программного обеспечения.
В заключение отметим, что часто, говоря о сервере базы дан-
ных. подразумевают как компьютер, так и программное обеспе-
чение — ядро СУБД. При описании архитектуры «клиент — сер-
веп» под сервере л базы данных мы имели в виду компьютер.
Ниже сервер базы тайных будет пониматься как программное
обеспечение — ядро СУ БД.
7.3. Архитектура сервера баз данных
Эволюция серверов баз данных
В период создания первых СУБД технология «клиент — сер-
вер» то 1ько зарождалась. Поэтому изначально в архитектуре сис-
тем не было адекватного механизма организации взаимодейст-
вия такого типа, в современных же системах он жизненно необ-
ходим
Первое время доминировала модель, в которой управление
данными (функция сервера) и взаимодействие с пользователем
были совмещены в одной программе (рис. 7.2. <?). Затем функ-
ции управления данными были выделены в самостоятельную
группу — сервер, однако модель взаимодействия пользователя с
сервером соответствовала структуре «один к одному» (рис. 7.2.
б), т с. сервер обслуживал запросы ровно одного по тьзователя
(клиента), и для обслуживания нескольких клиентов нужно
было запустить эквивалентное число серверов. Выделение серве-
ра в отдельную программу — шаг. позволяющий, в частности,
поместить сервер на одн\ машину, а программный
интерфейс с пользователем — на другую, осуществ-
ляя взаимодействие между ними по сети (рис. 7.2, в). Однако не-
обходимость запуска большого числа серверов для обслуживания
множества пользователей сильно ограничивала возможности та-
кой системы.
Проблемы, возникающие в модели «один к одному», реша-
ются в архитектуре систем с выделенным сервером, спо-
собным обрабатывать запросы от многих клиентов. Сервер обла-
дает монополией на управление данными и взаимодействует од-
412 Глава 7. Технологии распределенной обработки информации
Рис. 7.2. Разновидности серверов БД:
а — централизованная архитектура; б — архитектура «один к одному»; в — разме-
щение клиента и сервера на различных .машинах; г — многопотоковая архитектура;
д — архитектура с виртуальным сервером: е — многопотоковая мультисерверная ар-
хитектура; I — клиент: 2 сервер; 3 — диспетчер; 4 — многопотоковый сервер
повременно со многими клиентами (рис. 7.2, г). Логически
каждый клиент связан с сервером отдельной нитью (thread) или
потоком, по которому пересылаются запросы. Такая архитектура
получила название многопотоковой (multi-threaded). Она
позволяет значительно уменьшить нагрузку на операционную
систему, возникающую при работе большого числа пользовате-
лей. С другой стороны, возможность взаимодействия с одним
сервером многих клиентов позволяет в полной степени исполь-
зовать разделяемые объекты (начиная с открытых файлов и кон-
чая данными из системных каталогов), что сильно уменьшает
потребности в памяти и общее число процессов операционной
7.3. Архитектура сервера баз данных
413
системы. Например, системой с архитектурой «один к одному»
будет создано 50 копий процессов СУБД для 50 пользователей,
тогда как системе с многопотоковой архитектурой для этого по-
надобится только один сервер.
Однако такое решение привносит новую проблему. Так как
сервер может выполняться только на одном процессоре, возни-
кает естественное ограничение на применение СУБД для муль-
типроцессорных платформ. Если компьютер имеет, например,
четыре процессора, то СУБД с одним сервером используют
только один из них, не загружая оставшиеся три.
В некоторых системах эта проблема решается заменой выде-
ленного сервера на диспетчер или виртуальный сервер
(virtual server) (рис. 7.2, д'), который теряет право монопольно
распоряжаться данными, выполняя только функции диспетчери-
зации запросов к актуальным серверам. Таким образом, в архи-
тектуру системы добавляется новый слой, который размещается
между клиентом и сервером, что увеличивает трату ресурсов на
поддержку баланса загрузки (load balancing) и ограничивает воз-
можности управления взаимодействием «клиент — сервер».
Во-первых, становится невозможным направить запрос от кон-
кретного клиента конкретному серверу, во-вторых, серверы ста-
новятся равноправными — невозможно устанавливать приорите-
ты для обслуживания запросов.
Современное решение проблемы СУБД для мультипроцес-
сорных платформ заключается в возможности запуска несколь-
ких серверов базы данных, в том числе и на различных процес-
сорах. При этом каждый из серверов должен быть многопотоко-
вым. Если два эти условия выполнены, то есть основание
говорить о многопотоковой архитектуре с несколь-
кими серверами (multi-threaded, multi-server architecture),
представленной на рис. 7.2, е.
Повышение эффективности и оперативности обслуживания
большого числа клиентских запросов, помимо простого увеличе-
ния ресурсов и вычислительной мощности серверной машины,
может быть достигнуто двумя путями:
• снижением суммарного расхода памяти и вычислительных
ресурсов за счет буферизации (кэширования) и совместно-
го использования (разделяемые ресурсы) наиболее часто
запрашиваемых данных и процедур;
• распараллеливанием процесса обработки запроса — ис-
пользованием разных процессоров для параллельной обра-
414 Глава 7. Технологии распределенной обработки информации
ботки изолированных подзапросов и/или для одновремен-
ного обращения к частям базы данных, размещенным на
отдельных физических носителях.
Таким образом, типология распределенных баз данных опре-
деляется схемой распределения данных между узлами и схемой
распараллеливания процессов обработки запросов.
Рассмотрим архитектуры, реализующие следующие модели
совместной обработки клиентских запросов.
Как уже отвечалось, для однопроцессорных архитектур воз-
можны схемы следующих типов:
• однопотоковые архитектуры — «один к одному», когда для
обслуживания каждого запроса запускается отдельный сер-
верный процесс. В этом случае, даже если от клиентов по-
ступят совершенно одинаковые запросы, для обработки ка-
ждого из них будет запущен отдельный процесс, каждый из
которых будет выполнять одинаковые действия и исполь-
зовать одни и те же ресурсы;
• многопотоковые архитектуры, когда обработку всех запро-
сов выполняет один серверный процесс (использующий
один процессор), взаимодействующий со всеми клиентами
и монопольно управляющий ресурсами. Либо в том случае,
когда для работы СУБД используются многопроцессорные
платформы, обслуживание запросов может быть физически
распределено для параллельной обработки между процес-
сорами.
В общем случае для повышения оперативности за счет рас-
параллеливания процесса обработки отдельного клиентского за-
проса в мультисерверной архитектуре можно использовать сле-
дующие подходы:
• размещение хранимых данных БД на нескольких физиче-
ских носителях (сегментирование базы). Для обработки
запроса в этом случае запускаются несколько серверных
процессов (использующих обычно отдельные процессо-
ры), каждый из которых независимо от других выполняет
одинаковую последовательность действий, определяемую
существом запроса, но с данными, принадлежащими раз-
ным сегментам базы. Полученные таким образом резуль-
таты объединяются и передаются клиенту. Такой тип рас-
параллеливания называют моделью горизонтального парал-
лелизма',
7.3. Архитектура сервера баз данных
415
• запрос обрабатывается по конвейерной технологии. Для
этого запрос разбивается на взаимосвязанные по результа-
там подзапросы, каждый из которых может быть обслужен
отдельным серверным процессом независимо от обработки
других подзапросов. Получаемые результаты объединяются
согласно схеме декомпозиции запроса и передаются клиен-
ту. Такой тип распараллеливания называют моделью верти-
кального параллелизма.
Схема обработки клиентского запроса, построенная с ис-
пользованием обеих моделей параллелизма (гибридная модель),
приведена на рис. 7.3.
Рис. 7.3. Архитектура сервера обработки запроса при гибридном параллелизме
Отдельно необходимо упомянуть «интеграционный» под-
ход — использование мулыпибазовой СУБД, которая размешается
над существующими системами баз данных и файловыми систе-
мами и позволяет пользователям рассматривать совокупность
баз данных (и, возможно, под управлением разнотипных СУБД)
как единую базу. Мультибазовая СУБД поддерживает глобаль-
ную схему, на основании которой пользователи могут формиро-
вать запросы и модифицировать данные. Мультибазовая СУБД
работает только с глобальной схемой, тогда как локальные
СУБД могут использовать собственные схемы представления и
обработки «своих» данных.
Активный сервер
В распределенных БД возникают следующие проблемы:
• база данных в любой момент времени должна правильно
отражать состояние предметной области — дан-
ные должны быть взаимно непротиворечивыми. Пусть,
например, база данных кадры хранит сведения о рядовых
416 Глава 7. Технологии распределенной обработки информации
сотрудниках, отделах, в которых они работают, и их руко-
водителях. Нужно учесть следующие правила: каждый со-
трудник должен быть подчинен реальному руководителю;
если руководитель уволился, то все его сотрудники пере-
ходят в подчинение другому, а отдел реорганизуется; во
главе каждого отдела должен стоять реальный руководи-
тель; если отдел сокращен, то его руководитель перево-
дится в резерв на выдвижение и т. д.;
• база данных должна отражать некоторые правила
предметной области, законы, по которым она функ-
ционирует (business rules). Завод может нормально работать
только в том случае, если на складе имеется достаточный
запас деталей определенной номенклатуры. Следовательно,
как только количество деталей некоторого типа станет
меньше минимально допустимого, завод должен докупить
их в нужном количестве:
• необходим постоянный контроль за состоянием
базы данных, отслеживание всех изменений и адекват-
ная реакция на них. Например, в автоматизированной сис-
теме управления производством датчики контролируют
температуру инструмента; она периодически передается в
базу данных и там сохраняется; как только температура ин-
струмента превышает максимально допустимое значение,
он отключается;
• необходимо, чтобы возникновение некоторой ситуа-
ции в базе данных четко и оперативно влияло на
ход выполнения прикладной программы. Многие про-
граммы требуют оперативного оповещения обо всех про-
исходящих в базе данных изменениях. Так, в системах ав-
томатизированного управления производством необходимо
моментально уведомлять программы о любых изменениях
параметров технологических процессов, когда последние
хранятся в базе данных. Почтовая служба требует опера-
тивного уведомления получателя, как только получено но-
вое сообщение;
• важная функция — контроль типов данных. В базе
данных каждый столбец в любой таблице содержит данные
некоторых типов. Тип данных определяется при создании
таблицы. Каждому столбцу присваивается один из стан-
дартных типов данных, разрешенных в СУБД.
7.3. Архитектура сервера баз данных
417
Концепция активного сервера опирается на следую-
щие принципы:
• процедуры базы данных;
• правила (триггеры);
• события в базе данных.
Процедуры базы данных. В различных СУБД они носят назва-
ние хранимых (stored), присоединенных, разделяемых и т. д.
Ниже используется терминология, принятая в СУБД Ingres.
Использование процедур базы данных преследует четыре
цели:
• обеспечивается новый независимый уровень центра-
лизованного контроля доступа к данным, осущест-
вляемый администратором базы данных;
• одна и та же процедура может использоваться
несколькими прикладными программами —
это позволяет существенно сократить время написания
программ за счет оформления их общих частей в виде про-
цедур базы данных. Процедура компилируется и помеща-
ется в базу данных, становясь доступной для многократ-
ных вызовов. Так как план ее выполнения определяется
единожды при компиляции, то при последующих вызовах
процедуры фаза оптимизации пропускается, что сущест-
венно экономит вычислительные ресурсы системы;
• значительное снижение трафика сети в системах с
архитектурой «клиент — сервер». Прикладная программа,
вызывающая процедуру, передает серверу лишь ее имя и
параметры. В процедуре, как правило, концентрируются
повторяющиеся фрагменты из нескольких прикладных
программ (рис. 7.4). Если бы эти фрагменты остались ча-
стью программы, они загружали бы сеть посылкой полных
SQL-запросов;
• процедуры базы данных в сочетании с п р а в и л а м и, о ко-
торых речь пойдет ниже, предоставляют администратору
мощные средства поддержки целостности базы данных.
Процедура обычно хранится непосредственно в базе данных
и контролируется ее администратором. Она имеет параметры и
возвращает значение. Процедура базы данных создается опера-
тором create procedure (создать процедуру) и содержит оп-
ределения переменных, операторы SQL (например, select,
insert), операторы проверки условий (if/then/else), опера-
торы цикла (for, while), а также некоторые другие.
418 Глава 7. Технологии распределенной обработки информации
Рис. 7.4. Увеличение производительности за счет использования процедур баз
данных:
а — процедуры не используются; б — выделение фрагмента прикладных про-
грамм в виде процедуры БД
Пусть, например, необходимо разработать процедуру, кото-
рая переводила бы рядового сотрудника в резерв на выдвижение
на руководящую должность. Процедура Назначение перемещает
строки из таблицы Сотрудник, которая содержит сведения о со-
трудниках, в таблицу Резерв для всех сотрудников с указанным
номером. Номер сотрудника представляет собой целое число
(тип integer), который не может иметь пустое значение, явля-
ется параметром процедуры и передается ей при вызове из при-
кладной программы оператором EXECUTE PROCEDURE (ВЫПОЛ-
НИТЬ ПРОЦЕДУРУ):
CREATE PROCEDURE Назначение
(Номер сотрудника integer not ntl)
AS
BEGIN
INSERT INTO Резерв
SELECT *
FROM Сотрудник
WHERE Номер = Номер сотрудника;
7.3. Архитектура сервера баз данных
419
DELETE
FROM Сотрудник
WHERE Номер = Номер_сотруд:-:ика ;
END.
Правила. Механизм прави i (триггеров) позволяет програм-
мировать обработку ситуаций, возникающих при побых измене-
ниях в базе данных.
Правило придается таблице базы данных и применяется при
выполнении над таблицей операций включения, удаления или
обновления строк.
Одна из целей механизма правил — отражение некоторых
внешних правил деятельности организации. Пусть, например, в
базе данных Склад содержится таблица Деталь, хранящая сведе-
ния о наличии деталей на складе завода О тно из правил дея-
тельности завода заключается в том. что недопустима ситуация,
когда на складе число деталей любого типа становится мцпыпе
некоторого числа (например, 1000).
Это требование может быть описано правилом Прове-
рить_дсталь. Оно применяется в случае обновления столбца
Количество таблицы .Деталь: если новое значение в столбце
меньше 1000, то выполняется процедура Заказать_деталь.
В качестве параметров си передаются номер летали данного типа
и остаток (число деталей на складе):
CREATE RULE Прсверить_деталь
AFTER UPDATE (Количество) OF Деталь
WHERE Деталь.Количество < 10С0
EXECUTE PROCEDURE Заказать_деталь
(Номер детали = Деталь.Номер,
Остаток = Деталь.Количество).
Таким образом, если возникает ситуация, когда на складе
количество деталей какого-либо типа становиться меньше тре-
буемого, запускается процедура базы данных, которая заказыва-
ет недостающее количество деталей этого типа. Заказ сво штся к
посылке письма (например, по электронной почте), на завод
или в цех, который изготавливает данные детали Все это проис-
ходит автоматически, без вмешательства пользователя
Важнейшая цель механизма правил — обеспечение целост-
ности базы данных. Отин из аспектов целостности — целост-
ность по ссылкам (referential integrity) — относится к связи двух
таблиц между собой
420 Глава 7. Технологии распределенной обработки информации
Допустим, таблица Руководитель содержит сведения о на-
чальниках, а таблица Сотрудник — о сотрудниках некоторой ор-
ганизации (см. рис. 5.6). Столбец Номер_руковолителя являет-
ся внешним ключом таблицы Сотрудник и ссылкой на таблицу
Руководитель.
Для обеспечения целостности ссылок должны быть учтены
два требования. Во-первых, если в таблицу Сотрудник добавля-
ется новая строка, значение столбца номер руководителя должно
быть взято ИЗ множества значений столбца Номер таблицы Ру-
ководитель (сотрудник может быть подчинен только реальному
руководителю). Во-вторых, при удалении любой строки из таб-
лицы Руководитель В таблице Сотрудник не ДОЛЖНО остаться
ни одной строки, в которой в столбце Номер_руководителя
было бы значение, тождественное значению столбца Номер в
удаляемой строке (все сотрудники, если их руководитель уволил-
ся, должны перейти в подчинение другому).
Для того чтобы учесть эти требования, должны быть созданы
правила, их реализующие. Первое правило Добавить_сотруд-
ника срабатывает при включении строки в таблицу Сотрудник;
его применение заключается в вызове процедуры Прове-
рить_руководителей, устанавливающей, существует ли среди
множества значений столбца Номер таблицы Руководитель зна-
чение, тождественное значению поля Номер_руководителя до-
бавляемой строки. Если это не так, процедура должна ее отверг-
нуть. Второе правило применяется при попытке удалить строку
из таблицы Руководитель; оно состоит в вызове процедуры, ко-
торая сравнивает значения в столбце Номер_руководителя таб-
лицы Сотрудник со значением поля Номер в удаляемой строке.
В случае совпадения значение в столбце Номер_руководителя
обновляется.
CREATE RULE Добавить—сотрудника
AFTER INSERT INTO Сотрудник
EXECUTE PROCEDURE
Прсверить_руксведителя
(Номер = Сотрудник.Номер—руководителя).
Механизм правил позволяет реализовать и более общие огра-
ничения целостности. Пусть, например, таблица Сотрудник со-
держит информацию о сотрудниках, в том числе имя и название
отдела, в котором они работают. Таблица Отдел хранит для каж-
дого отдела количество работающих в нем сотрудников в столб-
7.3. Архитектура сервера баз данных
421
цс Количество_сотрудниксз. Одно из ограничений целостно-
сти заключается в том, что эго количество должно совпадать с
числом строк для данного отдела в таблице Сотрудник. Чтобы
учесть это ограничение, можно использовать правило доба-
вить_сотрудника, которое применяется при включении строки
в таблицу Сотрудник и запускает процедуру Новый сотрудник.
Она, в свою очередь, обновляет значение столбца Кодичест-
во сотрудников, увеличивая его на единицу. Параметр проце-
дуры — название отдела.
CREATE RULE
AFTER INSERT INTO Сотрудник
EXECUTE PROCEDURE Новь:й_сотрудник
(Отдел = Сотрудник.Отдел).
Разумеется, на практике с помощью механизма правил
реализуются более сложные и изощренные ограничения цело-
стности.
Аналогом правил послужили триггеры (triggers), которые
впервые появились в СУБД Sybase и впоследствии были реали-
зованы в том или ином виде и под тем или иным названием в
большинстве многопользовательских СУБД.
События в базе данных. Механизм событий в базе данных
(database events) позволяет прикладным программам и серверу
базы данных уведом гять другие программы о наступлении в базе
данных определенного события и тем самым синхронизировать
их работу. Операторы языка SQL, обеспечивающие уведомление,
часто называют сигнализаторами событий в базе данных
(database event alerters) Функции управления событиями цели-
ком ложатся на сервер базы данных.
Рисунок 7.5 иллюстрирует один из примеров использования
механизма событий: различные прикладные программы и проце-
дуры вызывают события в базе данных, а сервер оповещает мо-
нитор прикладных программ об их наступлении. Реакция мони-
тора на события заютючастся в выполнении действий, которые
предусмотрел его разработчик.
Механизм событии используется следующим образом. Вна-
чале в базе данных для каждого события создается флажок, со-
стояние которого будет оповещать прикладные программы о
том, что некоторое событие имело место (оператор create
DBEVENT - СОЗДАТЬ событие). Далее, во все прикладные про-
граммы, на ход выполнения которых может повлиять это собы-
422 Глава 7. Технологии распределенной обработки информации
Уведомление
о событии
Рис. 7.5. События в базе данных
тие, включается оператор register dbevent (зарегистриро-
вать событие), который оповещает сервер базы данных, что
программа заинтересована в получении сообщения о наступле-
нии события. Теперь любая прикладная программа или процеду-
ра базы данных может вызвать событие оператором raise
dbevent (вызвать событие). Как только событие произошло,
каждая зарегистрированная программа может получить его, для
чего она должна запросить очередное сообщение из очереди со-
бытий (оператор get dbevent — получить событие) и запро-
сить информацию о событии, в частности его имя (оператор
SQL INQUIRE_SQL).
Следующий пример иллюстрирует обработку всех событий
из очереди:
loop
EXEC SQL GET DBEVENT;
EXEC SQL tnqUIRE-SQL (:event_name =
DBEVENTNAME);
if (event_name = 'event_l')
обработать событие event 1
7.3. Архитектура сервера баз данных
423
else if (event_.name = 'e_.'er.t_2')
обработать событие ever.z._2
else
endif
until event nsrr.e = '
Рассмотрим пример из производственной системы, иллюст-
рирующий использование мех (низма событии в базе тайных со-
вместно с правилами и процедурами. События используются лтя
определения ситуации, когда рабочим инструмент нагревается до
температуры свыше допустимой и должен быть отключен.
Создастся правило, которое применяется всякий раз. когда
новое значение температуры ине гру мента заносится в таблицу
Инструмент. Как тс 1ько оно превосходит 500 градусов, правило
вызывает процс туру От:<л£чхть_инструмент.
CREATE RULE ПерегреЕИ.нструмента
AFTER UPDATE OF Инструмент
(Температура)
WHERE Новое.Температура >= 500
EXECUTE PROCEDURE
Отключить_и!1струме.-:т
(Номер_инструмента =
Инструмент.Номер);
Создается процедура базы данных Отключить_инструмент,
которая вызывает событие Перегрев; она будет выполнена в ре-
зультате применения правила, определенного на шаге 1.
CREATE PROCEDURE 0тключхть_1/:-:струмент
(Номер_инструмента) AS
BEGIN
UPDATE Инструмент
SET Статус = 'ВЫКЛ'
WHERE Нсмер = Номер_х. струмента;
RAISE DBEVENT Перегрев;
END;
Создается событие Перегрев, которое будет вызвано, когда
инструмент перегреется:
CREATE DBEVENT Перегрев;
Наконец, создается прикладная программа Монитор_Инст-
рументов, которая следит за состоянием инструментов. Она ре-
424 Глава 7. Технологии распределенной обработки информации
гистрируется сервером в качестве получателя события Перегрев
с помощью оператора register dbevent. Если событие про-
изошло, программа посылает сообщение пользователю и сигнал,
необходимый для отключения инструмента:
EXEC SQL REGISTER EBEVEET Перегрев;
EXEC SQL GET DBEVENT;
EXEC SQL INQUIRE_SQL (Лия ccБытия =
DBEVENTNAME, . . . ) ;
if (Имя события = 'Перегрев') then
послать сообщение;
отключить инструмент;
endif.
Описанные выше конструкции в совокупности определяют
логику работы (рис. 7.6).
Инструмент, код 3114
Рис. 7.6. Пример использования механизма событий в базе данных
7.4. Схемы размещения и доступа к данным в распределенных БД 425
Прикладная программа Монитор_Инструментов периодиче-
ски регистрирует с помощью датчиков текущие значения пара-
метров множества различных инструментов и заносит в табли-
цу Инструмент новое значение температуры для данного инст-
румента.
Всякий раз, когда это происходит, т. е. обновляется значение
В столбце Температура таблицы Инструмент, применяется пра-
вило Перегрев_инструиента.
Применение правила состоит в проверке нового значения
температуры. Если оно превышает максимально допустимое, то
запускается процедура Откл-очпть инструмент.
В том случае, когда используются традиционные методы оп-
роса БД, логика работы была бы совершенно иной. Пришлось
бы разработать дополнительную программу, которая периодиче-
ски выполняла бы операцию выборки из таблицы Инструмент
по критерию Температура > 50 0. Это очень сильно сказалось
бы на эффективности, поскольку операция select является ре-
сурсоемкой. Разумеется, пример приведен лишь для иллюстра-
ции схемы срабатывания механизма «правило —• процедура —
событие».
7.4. Схемы размещения и доступа к данным
в распределенных БД
Размещение данных в распределенных БД характеризуется
следующими понятиями:
• фрагментация. Любая запись (отношение в случае ре-
ляционных моделей данных) может быть разделено на не-
которое количество частей, называемых фрагментами, ко-
торые затем могут распределяться по различным узлам.
Как отмечалось ранее, существуют два основных типа
фрагментации: горизонтальная и вертикальная. В первом
случае фрагменты представляют собой подмножества
строк, а во втором — подмножества столбцов (атрибутов);
• размещение. Каждый фрагмент сохраняется на узле,
выбранном с учетом оптимальной схемы доступа;
• репликация. Распределенная СУБД может поддержи-
вать актуальную копию некоторого фрагмента на несколь-
ких различных узлах.
426 Глава 7. Технологии распределенной обработки информации
Определение и размещение фрагментов должно проводиться
с учетом особенностей использования базы данных (в частности,
на основе анализа транзакций).
Существуют четыре стратегии размещения данных в системе:
1. Централизованное размещение. Данная страте-
гия предусматривает создание на одном из узлов единственной
базы данных под управлением СУБД, доступ к которой будут
иметь все пользователи сети.
2. Фрагментированное размещение. В этом случае
база данных разбивается на непересекающиеся фрагменты, каж-
дый из которых размешается на одном из узлов системы.
3. Р а з м е ш е н и е с полной репликацией. Эта страте-
гия предусматривает размещение полной копии всей базы дан-
ных на каждом из узлов системы. Стоимость устройств хранения
данных и уровень затрат на передачу информации об обновле-
ниях в этом случае также будут самыми высокими. Для преодо-
ления части этих проблем в некоторых случаях используется
технология снимков. Снимок представляет собой копию
базы данных в определенный момент времени. Эти копии об-
новляются через некоторый установленный интервал времени,
например 1 раз в час или в сутки.
4. Размещение с избирательной репликацией.
Данная стратегия представляет собой комбинацию методов
фрагментации, репликации и централизации. Одни массивы
данных разделяются на фрагменты, что позволяет добиться для
них высокой локализации ссылок, тогда как другие, используе-
мые на многих узлах, но не подверженные частым обновлениям,
подвергаются репликации. Все остальные данные хранятся цен-
трализованно.
Управление параллельной обработкой
в распределенных БД
При параллельной обработке данных (совместной работе не-
скольких пользователей с общими данными) СУБД должна га-
рантировать, что пользователи не будут мешать друг другу (сюда
относятся, например, проблемы потерянного обновления, зави-
симости от промежуточных результатов, несогласованности об-
работки, несогласованности многих копий данных) и их дейст-
вия будут изолированы. Такими единицами изолированности
7.4. Схемы размещения и доступа к данным в распределенных БД 427
являются транзакции — неделимая (с точки зрения воздей-
ствия на состояние целостности БД) последовательность опера-
торов управления данными.
Решения по организации управления параллельным выпол-
нением в распределенной среде основаны на подходах с ис-
пользованием механизмов блокировок и временных
отметок:
• механизм блокировки создает такие условия, что график
параллельного выполнения транзакций будет эквивалентен
некоторому (но, в общем случае, непредсказуемому) вари-
анту последовательного выполнения этих транзакций;
• механизм обработки временных отметок гарантирует, что
график параллельного выполнения транзакций будет экви-
валентен конкретному варианту последовательного выпол-
нения этих транзакций в соответствии с их временными
отметками.
Механизм блокировки реализуется в виде следующих прото-
колов двухфазной блокировки (2PL — two-phase lock):
1. При использовании централизованного п р от о к о -
л а двухфазной блокировки существует единственный узел, на
котором хранится вся информация о блокировке элементов дан-
ных в системе. Поэтому во всей распределенной СУБД сущест-
вует только один диспетчер блокировок, способный устанавли-
вать и снимать блокировку с элементов данных.
2. При двухфазной блокировке с первичными копия-
ми функции диспетчера блокировок распределены по несколь-
ким узлам. Каждый локальный диспетчер отвечает за управление
блокировкой некоторого набора элементов данных. В процессе
репликации для каждого копируемого элемента данных одна из
копий выбирается в качестве первичной копии, а все остальные
рассматриваются как вторичные (зависимые).
3. При использовании распределенного протокола
двухфазной блокировки диспетчеры блокировок размешены в
каждом узле системы. Каждый отвечает за управление блокиров-
кой данных, находящихся на его узле. Если данные не подверга-
ются репликации, этот протокол функционирует аналогично
протоколу двухфазной блокировки с первичными копиями.
В противном случае распределенный протокол двухфазной бло-
кировки использует особый протокол управления репликацией,
получивший название «чтение одной копии и обновление всех
копий». В этом случае для операций чтения может использовать-
428 Глава 7. Технологии распределенной обработки информации
ся любая копия элемента, но прежде чем можно будет обновить
значение элемента, должны быть установлены исключительные
блокировки на всех копиях.
4. При использовании протокола блокировки боль-
шинства копий диспетчер блокировок также имеется на ка-
ждом из узлов системы, но, когда транзакции требуется считать
или записать элемент данных, копии которого имеются на узлах
системы, она должна отправить запрос на блокировку' этого эле-
мента более чем на половину из всех тех узлов, где имеются его
копии. Транзакция не имеет права продолжать свое выполнение,
пока не установит блокировки на большинстве копий элемента
данных. Если ей не удастся это сделать за некоторый установ-
ленный промежуток времени, она отменяет свои запросы и ин-
формирует все узлы об отмене ее выполнения.
Двухфазные протоколы не могул устранить возможность вза-
имной блокировки, поскольку при их использовании может воз-
никнуть ситуации, когда некоторый узел остается заблокиро-
ванным. Например, процесс, который обнаружил истечение
тайм-аута после отправки своего согласия на фиксацию тран-
закции, но так и не получил глобального подтверждения от ко-
ординатора, остается заблокированным, если может взаимодей-
ствовать только с узлами, которые также не имеют сведений о
принятом глобальном решении. Неблокирующий прото-
кол трехфазной фиксации транзакций не имеет пе-
риода ожидания в состоянии неопределенности, в которое пере-
ходят участники с момента подтверждения своего согласия на
фиксацию транзакции и до момента получения от координатора
извещения о глобальной фиксации или глобальном откате.
В трехфазном протоколе между этапами голосования и приня-
тия глобального решения вводится третий этап, называемый
предфиксапией. После получения результатов голосования всех
участников координатор рассылает глобальное сообщение
precommit. Таким образом, участник, получивший глобальное
извещение о предфиксации, знает, что все остальные участники
проголосовали за фиксацию результатов транзакции и что со
временем сам этот участник также выполнит фиксацию тран-
закции, если не произойдет отказ. Далее каждый участник под-
тверждает получение сообщения о предфиксации, и после чего
координатор, получив все подтверждения, рассылает команду
глобальной фиксации транзакции.
7.4. Схемы размещения и доступа к данным в распределенных БД 429
Многоуровневая модель предметной области
для распределенных БД
Архитектурная модель ANSI/SPARC, представляющая собой
классическое решение для локальных СУБД, может быть расши-
рена на случай распределенных СУБД. На рис. 7.7 приведена
обобщенная схема архитектуры распределенной БД, где в верх-
ней части присутствуют схемы глобального уровня, обеспечи-
вающие целостное представление БД, как если бы она была ло-
кальной.
Здесь на внешнем уровне может поддерживаться совсем
иная модель данных (или даже несколько моделей), чем на
концептуальном уровне. Поддержка разнообразных воз-
можностей абстрагирования в такой системе достигается благо-
даря средствам определения и поддержки межуровневого ото-
бражения моделей данных. Схемы фрагментации и распределе-
ния определяют размещение логических сегментов данных по
физическим разделам (локальным БД), а локальная схема преоб-
Рис. 7.7. Обобщенная схема распределенной БД
430 Глава 7. Технологии распределенной обработки информации
разования обеспечивает отображение фрагментов во внешние
схемы. При этом локальные концептуальные и внутренние схе-
мы определяют в соответствии с концепцией представление дан-
ных с учетом особенностей конкретной СУБД.
Технологии и средства удаленного доступа
Распределенные корпоративные приложения все более ус-
ложняются, интегрируя в себя унаследованные приложения, раз-
рабатываемые и вновь приобретаемые готовые программные
средства. Кроме того, разные подсистемы решают разные биз-
нес-задачи, однако одна из главных целей создания корпоратив-
ной системы — получить «единый образ» общего состояния сис-
темы, что обеспечит пользователям доступ к нужным ресурсам.
Основа такой инфраструктуры — так называемое проме-
жуточное программное обеспечение, позволяющее,
не вникая в тонкости сетевых реализаций, создавать и эксплуа-
тировать взаимодействующие между собой приложения с разны-
ми требованиями к межмодульным коммуникациям.
Промежуточное ПО эволюционировало вместе с архитекту-
рой клиент — сервер. Ранние, но достаточно эффективные как с
точки зрения разработки, так и эксплуатации, частные решения
предназначались для упрощения доступа к базам данных в двух-
звенной модели, где «толстый клиент» реализует всю логи-
ку обработки информации, предоставляемой сервером базы дан-
ных. Такие системы вполне удовлетворяли потребностям не-
больших корпоративных подразделений с ограниченным числом
пользователей и невысокой интенсивностью обмена.
Этот способ реализации клиент-серверной схемы доступа ог-
раничивает возможности масштабирования, поскольку увеличе-
ние числа обращений к одной базе данных значительно увели-
чивает нагрузку на сервер и делает доступ к данным «узким ме-
стом» в обшей производительности системы. Кроме того, всякая
модификация логики приложения требовала внесения измене-
ний во все экземпляры клиентских приложений.
Чтобы избежать таких проблем, для разработки корпоратив-
ных приложений используют трехзвенную модель, кото-
рая переносит логику приложения на отдельный уровень сервера
приложений. В результате клиентская часть приложения стано-
7.4. Схемы размещения и доступа к данным в распределенных БД 431
вится «тоньше» и в основном отвечает за предоставление удоб-
ного пользовательского интерфейса.
Развитие этого среднего звена клиент-серверной модели идет
в сторону усложнения. Ограничиваясь вначале построением бо-
лее высокого уровня абстракции для взаимодействия приложе-
ния с ресурсами данных, разработчик приложения получал воз-
можность использовать общие API (Application Program Inter-
face), которые скрывали различия специфических интерфейсов
коммуникационных протоколов более низкого уровня, напри-
мер TCP/IP, Sockets или DECNet. Однако теперь этого уже явно
недостаточно для построения сложных распределенных прило-
жений. Современные решения не только обеспечивают межпро-
граммное взаимодействие, но и являются платформой для реа-
лизации сервера приложений, обеспечивая обширный набор не-
обходимых служб: управления транзакциями, именования,
зашиты и т. д.
Вычислительная среда распределенных приложений может
включать в себя различные операционные системы, аппарат-
ные платформы, коммуникационные протоколы и разнообраз-
ные средства разработки. Соответственно, формат представле-
ния данных в различных узлах будет различаться.
Таким образом, в распределенной неоднородной среде про-
граммное обеспечение промежуточного уровня играет роль «ин-
формационной шины», надстроенной над сетевым уровнем и
обеспечивающей доступ приложения к разнородным ресурсам, а
также независимую от платформ взаимосвязь различных при-
кладных компонентов, изолирующую логику приложений от
уровня сетевого взаимодействия и ОС.
ПО промежуточного уровня можно разделить на две кате-
гории:
• доступа к базам данных (например, ODBC-интерфейсы и
SQL-шлюзы);
• межмодульного взаимодействия — системы, реализующие
вызов удаленных процедур (RPC — Remote Procedure Call),
мониторы обработки транзакций (TP-мониторы), средства
интеграции распределенных объектов.
При этом следует отметить, что различия прикладных задач
не позволяют построить универсальное ПО, реализовав в одном
продукте все необходимые возможности.
432 Глава 7. Технологии распределенной обработки информации
Двухзвенные клиент-серверные архитектуры
В простых двухзвенных моделях клиент — сервер, где не-
сколько баз данных обслуживают ограниченное число пользова-
телей настольных ПК, в роли встроенного ПО доступа к данным
могут выступать обычные ODBC-драйверы.
Необходимость в более сложных решениях возникает в боль-
ших, разнородных многозвенных системах, где множество при-
ложений в параллельном режиме осуществляет доступ к разнооб-
разным источникам данных, включая разнотипные СУБД и хра-
нилища данных. В таких системах между клиентами и серверами
баз данных размешается промежуточное звено — SQL-шлюз, ко-
торый представляет собой набор общих API. позволяющих разра-
ботчику строить унифицированные запросы к разнородным дан-
ным (в формате SQL или с помощью ODBC-интерфейса).
SQL-шлюз выполняет синтаксический разбор такого запроса,
анализирует и оптимизирует его и в конце концов выполняет
преобразование в SQL-диалект нужной СУБД. ПО этого типа
реализует синхронный механизм связи, когда выполнение при-
ложения, сделавшего запрос, блокируется до момента получения
данных.
Каждое приложение, построенное на основе архитектуры
«клиент—сервер», включает, как минимум, две части: клиент-
скую и серверную часть. В общем случае предполагается, что эти
части приложения функционируют на отдельных компьютерах,
т. е. к выделенному серверу БД с помощью сети подключены уз-
лы-компьютеры пользователей (клиенты). При этом узел-клиент
сам может быть СУБД.
Рассмотрим различные способы организации двухуровневого
доступа прикладной программы к серверу базы данных в двух-
звенной архитектуре.
Открытый интерфейс баз данных ODBC. Спецификация от-
крытого интерфейса баз данных (ODBC — Open Database
Connectivity) предназначена для унификации доступа к данным,
размешенным на удаленных серверах. ODBC опирается на спе-
цификации CLI.
ODBC представляет собой программный слой, унифицирую-
щий интерфейс взаимодействия приложений с базами данных.
За реализацию особенностей доступа к каждой отдельной СУБД
отвечает соответствующий специальный ODBC-драйвер. Поль-
зовательское приложение этих особенностей не видит, так как
7.4. Схемы размещения и доступа к данным в распределенных БД 433
взаимодействует с универсальным программным слоем более
высокого уровня. Таким образом, приложение становится в зна-
чительной степени независимым от СУБД. Вместо создания в
каждом отдельном случае СУБД-приложения с обращениями че-
рез встроенный, но быстро устаревающий интерфейс можно ис-
пользовать один общий стандартизированный программный ин-
терфейс.
В архитектуре ODBC используется один ODBC Driver
Manager и несколько ODBC-драйверов, обеспечивающих доступ
к конкретным СУБД. Driver Manager связывает приложение и
интерфейсные объекты, которые выполняют обработку SQL-за-
просов к конкретной СУБД (рис. 7.8).
Такой подход является достаточно универсальным, стандар-
тизируемым, что и позволяет использовать ODBC-механизмы
Рис. 7.8. Структурная схема доступа к данным с использованием ODBC
434 Глава 7. Технологии распределенной обработки информации
для работы практически с любой системой, однако этот способ
также не лишен недостатков:
• увеличивается время обработки запросов (как следствие
введения дополнительного программного слоя);
• необходимы предварительная инсталляция и настройка
ODBC-драйвера (указание драйвера СУБД, сетевого пути к
серверу, базы данных и т. д.) на каждом рабочем месте. Па-
раметры этой настройки являются статическими, т. е. при-
ложение изменить их самостоятельно не может.
Мобильный интерфейс к базам данных на платформе Java —
JDBC (Java Data Base Connectivity) — это интерфейс прикладно-
го программирования (API) для выполнения SQL-запросов к ба-
зам данных из программ, написанных на платформенно-незави-
симом языке Java, позволяющем создавать как самостоятельные
приложения (standalone application), так и аплеты, встраиваемые
в Web-страницы.
JDBC во многом подобен ODBC, он также построен на ос-
нове спецификации CLI, однако имеет ряд следующих отличий;
• приложение загружает JDBC-драйвер динамически, следо-
вательно, администрирование клиентов упрощается, более
того, появляется возможность переключаться на работу с
другой СУБД без перенастройки клиентского рабочего
места;
• JDBC, как и Java в целом, не привязан к конкретной аппа-
ратной платформе, следовательно проблемы с переносимо-
стью приложений практически снимаются;
• использование Java-приложений и связанной с ними идео-
логии «тонких клиентов» обещает снизить требования к
оборудованию клиентских рабочих мест.
Прикладные интерфейсы OLE DB и ADO. OLE DB (Object
Linking and Embedding Data Base), как и ODBC — это приклад-
ные интерфейсы доступа к данным с использованием SQL.
OLE DB специфицирует взаимодействие, обеспечивая еди-
ный интерфейс доступа к данным через провайдеров — постав-
щиков данных не только из реляционных БД. В отличие от
ODBC, OLE DB предоставляет общее решение обеспечения
COM-приложениям доступа к информации независимо от типа
источника данных.
OLE DB включает два базовых компонента: провайдер дан-
ных и потребитель данных. Потребитель (клиент) — это приложе-
ние или COM-компонент, обращающийся посредством АР1-вы-
7.4. Схемы размещения и доступа к данным в распределенных БД 435
зовов к OLE DB. Провайдер (сервер) — это приложение, отвечаю-
щее на вызовы OLE DB и возвращающее запрашиваемый
объект — обычно это данные в табличном виде.
ADO (Active Data Object) — это универсальный интерфейс
высокого уровня к OLE DB. Модель объекта ADO не содержит
таблиц, среды или машины БД. Здесь основными объектами яв-
ляются следующие: объект Соединение, создающий связь с про-
вайдером данных; объект Набор данных и объект Команда —
выполнение процедуры, SQL-строки.
В общем случае ADO можно рассматривать как язык про-
граммирования с БД, позволяющий выбирать, модифицировать
и удалять записи. Поскольку он опирается на универсальный
OLE DB, то может использоваться практически в любых прило-
жениях Microsoft.
Взаимосвязь механизмов доступа к данным
Рассмотренные технологии построения приложения ориен-
тированы на извлечение данных непосредственно из статическо-
го источника (хранилища данных) и не могут обращаться за дан-
ными к другому прикладному модулю.
Один из способов организации доступа к данным заключает-
ся в непосредственном использовании АРЕ Однако это означает
полную зависимость создаваемого приложения от используемой
СУБД. В этом случае переход к другой системе (например, для
перехода от настольной системы к системе типа клиент — сер-
вер) влечет за собой переписывание большей части программно-
го кода клиентского приложения.
Таким образом, следующим этапом в обеспечении доступа
клиентского приложения к данным является создание универ-
сального механизма доступа к БД, обеспечивающего для клиент-
ского приложения стандартный набор функций, классов или
сервисов (служб), необходимых для работы с различными систе-
мами управления базами данных. Эти стандартные функции
(классы или сервисы) должны размешаться в библиотеках, име-
нуемых драйверами или провайдерами баз данных (data base
drivers (providers)). Каждая такая библиотека реализует набор
стандартных функций, классов или сервисов, используя обраще-
ния API к конкретной СУБД.
436 Глава 7. Технологии распределенной обработки информации
Наиболее популярными механизмами доступа к данным
(Universal Data Access — UDA) в настоящий момент являются:
ODBC, OLE DB, ADO, BDE.
Первые три являются фактически промышленными стандар-
тами. Последний долгое время был единственным механизмом
доступа к данным, реализованным в инструментальных средст-
вах разработки компании Borland-Inprise (например, Delphi,
C++ Builder).
На рис. 7.9 схематически представлены различные механиз-
мы доступа к данным, включая непосредственные вызовы кли-
ентской частью API системы управления базой данных.
Рис. 7.9. Взаимосвязь механизмов доступа к данным
Технологии межмодульного взаимодействия
(трехуровневая архитектура)
Технологии, реализующие трехуровневую архитектуру взаи-
модействия клиента и сервера, включают ПО промежуточного
слоя — сервер приложений, через который один прикладной мо-
дуль, используя специальные протоколы, получает данные из
другого модуля. Появление серверов приложений как отдельных
7.4. Схемы размещения и доступа к данным в распределенных БД 437
готовых решений связано и с бурным вторжением Web-техноло-
гий в сферу корпоративных высоко критичных систем. Однако
возможности протокола HTTP ограничены функциями связи без
каких-либо средств сохранения информации о состоянии, по-
этому он не подходит для поддержки мощных корпоративных
систем.
На рис. 7.10 приведен обобщенный состав сервера приложе-
ний с набором служб и средств связи с клиентскими системами
и информационными ресурсами.
Рис. 7.10. Обобщенная структура сервера приложений
438 Глава 7. Технологии распределенной обработки информации
Спецификация вызова удаленных процедур. Протокол вызова
удаленных процедур (Remote Procedure Calls — RPC) реализует
асимметричное взаимодействие программных компо-
нентов, когда можно выделить клиента, которому требуется не-
которая услуга, и сервер, который такую услугу' способен ока-
зать, причем, как правило, клиент не может продолжать свое
выполнение, пока сервер не произведет требуемые от него дей-
ствия. С точки зрения клиентской программы обращение к сер-
веру ничем не отличается от вызова локальной процедуры.
Средства вызова удаленных процедур (RPC) поддерживают
синхронный режим коммуникаций между двумя прикладными
модулями (клиентом и сервером).
Для установки связи, передачи вызова и возврата результата
клиентский и серверный процессы обращаются к специальным
процедурам — клиентскому и серверному суррогатам (client stub и
server stub). Эти процедуры не реализуют никакой прикладной
логики и предназначены только для организации взаимодейст-
вия удаленных прикладных модулей.
Каждая функция на сервере, которая может быть вызвана
удаленным клиентом, должна иметь такой суррогатный процесс.
Если клиент вызывает удаленную процедуру, вызов вместе с па-
раметрами передается клиентскому суррогату. Он упаковывает
эти данные в сетевое сообщение и передает его серверному' сур-
рогату. Тот, в свою очередь, распаковывает полученные данные
и передает их реальной функции сервера и затем проделывает
обратную процедуру с результатами. Таким образом изолируют-
ся прикладные модули клиента и сервера от уровня сетевых ком-
муникаций.
Ключевым компонентом RPC является язык описания
интерфейсов (interface definition language — IDL), предна-
значенный для определения интерфейсов, которые задают кон-
трактные отношения между клиентом и сервером. Интерфейс
содержит определение имени функции и полное описание пере-
даваемых параметров и результатов выполнения.
Язык IDL обеспечивает независимость механизма RPC от
языков программирования — вызывая удаленную процедуру,
клиент может использовать свои языковые конструкции, кото-
рые IDL-компилятор преобразует в свои описания. На сервере
IDL-описания обратно преобразуются в конструкции языка про-
граммирования, на котором реализован серверный процесс.
7.4. Схемы размещения и доступа к данным в распреОе ценных Ed 439
Транзакции в распределенных БД
Если данные хранятся в одной баю данных то транзакция к
ней рассматривается как локальная. В распределенных базах
транзакция, выполнение которой заключается в обновлении
данных на нескольких узлах сети, называется глобальной
или распределсн и о й транзакцией
Внешне выполнение распределенной транзакции выглядит
как обработка транзакции к локальной базе данных. Тем не ме-
нее распределенная транзакция включает в себя несколько ло-
кальных транзакций, каждая из которых завершается двумя пу-
тями — фиксирхется или прерывается. Распределенная транзак-
ция фиксируется только в том случае, когда зафиксированы вес
локальные транзакции, ее составляющие.
В современных СУБД предусмотрен так называемый прото-
кол двухфазовой (или двухфазной) фиксации транзакций
(two-phase commit).
Фаза I начинается, когда при обработке транзакции встре-
тился оператор COMMIT. Сервер распределенной БД (иди компо-
нент СУБД, отвечающий за обработку распределенных транзак-
ций) направляет уведомление «полютовиться к фиксации» всем
серверам локальных БД, выполняющим распределенную тран-
закцию. Если все серверы приготовились к фиксации (т. с. от-
кликнулись на уведомление и отклик был получен), сервер рас-
пределенной БД принимает решение о фиксации Серверы ло-
кальных БД остаются в состоянии готовности и ожидают от
него команды «зафиксировать». Если хотя бы один из серверов
не откликнутся на уведомление в силу каких-либо причин, будь
то аппаратная или программная ошибка, то сервер распределен-
ной БД откатывает локальные транзакции на всех узлах, вклю-
чая даже те. которые подготовились к фиксации и оповестили
его об этом.
Фаза 2 — сервер распределенной БД направляет команду
«зафиксировать» всем узлам, затронутым транзакцией. и гаран-
тирует, что транзакции на них будут зафиксированы. Если связь
с локальной базой данных потеряна в интервал времени между
моментом, когда сервер распределенной БД принимает решение
о фиксации транзакции, и моментом, когда сервер локальной
БД подчиняется его команде, то сервер распределенной БД про-
должает попытки завершить транзакцию, пока связь не будет
восстановлена.
440 Глава 7. Технологии распределенной обработки информации
Мониторы обработки транзакций. Мониторы обработки
транзакций (Transaction Processing Monitor — TPM), или мони-
торы транзакций — это программные системы (которые
относят к категории middleware, т. е. к посредническому или
промежуточному ПО), решающие задачу эффективного управле-
ния информационно-вычислительными ресурсами в распреде-
ленной системе.
Первоначально основной задачей ТРМ в среде клиент—сер-
вер было сокращение числа соединений клиентских систем с ба-
зами данных. При непосредственном обращении клиента к сер-
веру базы данных для каждого клиента устанавливается соедине-
ние с СУБД, которое порождает запуск отдельного процесса в
рамках операционной системы. TP-мониторы брали на себя
роль концентратора таких соединений, становясь посредником
между клиентом и сервером базы данных. Основное назначение
ТР-мониторов — автоматизированная поддержка приложений,
представленных в виде последовательности транзакций.
Одна из основных функций ТРМ — обеспечение быстрой
обработки запросов, поступающих к серверу приложений от
множества клиентов (от сотен до тысяч). ТРМ выполняет ее,
мультиплексируя запросы на обслуживание, направляя их серве-
рам приложения, число которых контролируется им самим.
Важнейшая характеристика ТРМ — поддержка многомашин-
ных конфигураций с возможностью миграции серверов прило-
жений и их групп на резервный компьютер в случае сбоев в ра-
боте основного — является фундаментом, на котором может
быть построена система, по надежности близкая к абсолютной.
Действительно, применение так называемых безотказных (fault
tolerant) компьютеров гарантирует сохранение работоспособно-
сти лишь при случайных сбоях, но бессильно перед злоумыш-
ленником или в случае механического повреждения.
На современном рынке мониторов транзакций основными
являются такие системы, как ACMS (DEC), CICS (IBM), TOP
END (NCR), PATHWAY (Tandem), ENCINA (Transarc),
TUXEDO Sytem (Novell). Наиболее известной из этой группы
является система CICS (Customer Information Control System),
работавшая на мэйнфрейме IBM.
Модель обработки транзакций. Понятия транзакции в ТРМ и
в традиционных СУБД значительно отличаются. Супь остается
одной, но в понимании СУБД транзакция — это атомарное дей-
ствие над базой данных, в то время как в ТРМ транзакция трак-
7.4. Схемы размещения и доступа к данным в распределенных 441
туется гораздо шире. Она включает нс только операции с данны-
ми, но и иобые другие действия — передач) сообщений, выдачу
отчетов, запись в индексированные файлы, опрос датчиков
и т. л. Это позволяет реализовать в ТР.М прикладные транзак-
ции. бизнес-транзакции, которые в СУБД нс предусмотрены.
ТРМ опирается на модель обработки распределенных тран-
закций X/Opcn DTP. которая описывает взаимодействие трех
субъектов обработки транзакции — прикладной программы (в
качестве прикладной программы фигурирует как сервер прило-
жения, так и клиент приложения!, менеджера транзакций
(Transaction Manager — ТМ) и менеджера ресурсов (Resource
Manager — RM). Модель представлена на рис. 7.11.
Прикладная
программа
Рис. 7.11. Модель обработки распред.’1еннь:\ транзакций Х/Open DTP
На RM возложено управление информационными ресурса-
ми — будь то файлы, базы данных или что-то другое Прило-
жение взаимодействует с RM либо с помощью набора специ-
альных функций, либо (если в качестве RM выступает реляци-
онная SQL-ориентированная СУБД) посредством операторов
языка SQL, инициируя необходимые операции с данными. По-
следние оформляются как транзакции, обработку которых бе-
рет на себя 7М Если с помошью монитора транзакций необ-
ходимо решать задачи обработки распределенных транзакций,
то роль менеджера ресурсов должна играть СУБД, поддержи-
вающая двухфазовый протокол фиксации транзакций и удовле-
творяющая стандарту Х/Open ХА (например, Oracle 7.x,
OpenINGRF.S, Informix-Online 7.x).
Роль ТМ в модели X/Opcn DTP — это роль диспетчера, глав-
ного координатора транзакций. Он обладает полным набором
функции управления как локальными, так и глобальными рас-
пределенными транзакциями. В после тем случае транзакция
442 Глава 7. Технологии распределенной обработки информации
может обновлять данные на нескольких узлах, причем управле-
ние данными на них, вообще говоря, осуществляется различны-
ми RM. Обработка распределенных транзакций обеспечивается
за счет использования протокола двухфазовой фиксации тран-
закций, который гарантирует целостность данных в информаци-
онной системе, распределенной по нескольким узлам, независи-
мо от того, какой RM управляет обработкой данных на каждом
таком узле. Эта уникальная возможность как раз и позволяет
рассматривать ТРМ как средство интеграции в гетерогенной ин-
формационной среде.
Функции ТМ в модели X/Open DTP не ограничиваются
только управлением транзакциями. Он берет на себя также ко-
ординацию взаимодействия клиента и сервера (поэтому иногда
его называют менеджером транзакций и коммуникаций). При
этом используется высокоуровневый интерфейс ATMI, пред-
ставляющий собой набор вызовов функций на языке третьего
поколения (например, на языке Си). С его помощью разработ-
чик реализует один из нескольких режимов взаимодействия кли-
ента и сервера в рамках расширенной модели «клиент — сер-
вер». Ни сервер приложения, ни клиент приложения не содер-
жат явных вызовов менеджера транзакций — они включены в
библиотечные функции ATMI и «невидимы» извне. Таким обра-
зом, детали взаимодействия прикладной программы и монитора
транзакций скрыты от разработчика, что и дает основание гово-
рить об ATMI как о высокоуровневом интерфейсе.
Функциональный подход. Фундаментальная характеристика
ТРМ — функциональный (function-centric) подход к проектиро-
ванию бизнес-приложений — сосредоточение всех прикладных
функций в серверах приложений по сути означает поставку
(или предоставление) функций (functions shipping) для
программы-клиента, в отличие от традиционной архитектуры с
сервером базы данных, следующей парадигме поставка (или
предоставление) данных (data shipping).
Возможность декомпозиции приложений по нескольким
уровням с четко очерченными функциями и стандартными ин-
терфейсами позволяет создавать легко модифицируемые систе-
мы со стройной и целостной архитектурой. Концентрация чисто
прикладных функций в серверах приложений и использование
унифицированных интерфейсов с другими логическими компо-
нентами делает прикладную систему практически полностью не-
зависимой как от конкретной реализации интерфейса с пользе-
7.5. Объектно-ориентированные технологии...
443
вателем, так и от необходимого ей менеджера ресурсов. Первое
означает, что для реализации интерфейса с пользователем может
быть выбран практически любой удобный и привычный для раз-
работчика инструментарий, будь то Microsoft Visual C++ или
Visual Basic; следствием второго является то, что менеджер ре-
сурсов (например, СУБД) может быть заменен на другой, под-
держивающий тот же стандарт интерфейса с прикладной про-
граммой. Для реляционных СУБД в качестве унифицированного
интерфейса используется встроенный (embedded) SQL. Разуме-
ется, в реализации ESQL для каждой конкретной СУБД имеются
различия, порой весьма существенные. Поэтому приложение
должно быть либо разработано специально с целью работы с
конкретной СУБД, либо оно должно быть спроектировано так,
чтобы максимально безболезненно перенастраиваться на работу
с другой СУБД.
Функциональный подход имеет своим следствием и преиму-
щества администрирования приложения. Отныне оно рассмат-
ривается как единое целое; сервер приложения имеет набор па-
раметров, устанавливаемых его администратором; как и сервер
БД, сервер приложения запускается и останавливается специ-
альными командами; существуют команды, позволяющие опро-
сить параметры сервера приложения и вывести их на консоль.
Таким образом снимается одно из серьезных ограничений
производительности и масштабируемости клиент-серверной сре-
ды — необходимость поддержки отдельного соединения с базой
данных для каждого клиента.
7.5. Объектно-ориентированные технологии
распределенной обработки
Сегодня наибольшее применение для разработок приложе-
ний распределенной обработки находят две компонентные
модели — DCOM и CORBA. Эти технологии реализуют трех-
уровневую архитектуру модели «клиент — сервер». Введение
специального промежуточного слоя — сервера приложений, ко-
торому «делегированы полномочия» организации взаимодейст-
вия клиента и сервера, обеспечивает возможность интеграции
объектов, размешенных на машинах разных платформ и под
управление разнотипных операционных систем.
444 Глава 7. Технологии распределенной обработки информации
Обе модели распространяют принципы вызова удаленных
процедур на объектные распределенные приложения и обеспе-
чивают прозрачность реализации и физического размещения
серверного объекта для клиентской части приложения; поддер-
живают возможность взаимодействия объектов, созданных на
различных объектно-ориентированных языках и скрывают от
приложения детали сетевого взаимодействия.
Основу этого подхода составляет «минимальная» объектная
модель, обладающая ограниченными возможностями, но имею-
щая обязательные аналоги в наиболее распространенных объ-
ектных системах. В архитектуре CORBA используется модель
Core Object Model с соответствующим языком спецификации
интерфейсов объектов (Interface Definition Language — IDL).
Чтобы обеспечить возможность взаимодействия объекта, суще-
ствующего в одной системе программирования, с некоторым
объектом из другой системы программирования, в исходный
текст первого объекта (объявления его класса) должна быть по-
мещена IDL-спецификация интерфейса (имя метода, список
имен и типов данных входных и выходных параметров) того
объекта, метод которого должен быть вызван. Аналогичная спе-
цификация должна быть помешена на стороне вызываемого
объекта. Далее, спецификации, транслированные IDL-процес-
сором в выражения языка программирования, включаются в ис-
ходный текст программы на языках Си, Java.
В DCOM-технологии, представленной на рис. 7.12, взаимо-
действие между клиентом и сервером осуществляется через двух
посредников. Клиент помешает параметры вызова в стек и обра-
щается к методу интерфейса объекта. Это обращение перехваты-
вает посредник Proxy, упаковывает параметры вызова в
COM-пакет и адресует его в Stub, который в свою очередь рас-
паковывает параметры в стек и инициирует выполнение метода
объекта в пространстве сервера. При этом объект должен быть
предварительно зарегистрирован на локальной машине, чтобы
клиент с помощью распределенной службы имен (в качестве ко-
Рис. 7.12. DCOM-технология взаимодействия «клиент — сервер»
7.5. Объектно-ориентированные технологии... 445
торой Microsoft предлагает Actixe Directory) мог его отыскать по
глобальному уникальному идентификатору (GUId).
CORBA-тсхнология также использует интерфейс объекта, но
в этом случае схема взаимодействия объектов (рис. 7.13) включа-
ет промежуточное звено (Smart agent), реализующее юступ к уда-
ленным обьсктам. Smart agent, установленный на машинах сете-
вого окружения (сервере локальной сети или lntcrnet-узле), мо-
делирует сетевой каталог известных ем\ серверов обьектов.
Регистрация объектов сервера в каталоге одного или нескольких
Smart agent'oB происходит автоматически при создании сервера.
Рис. 7.13. CORBA-те.хчо.чогия взаимодействия «клиент — сервер»
Связи между брокерами осуществляются в соответствии с
требованиями специального протокола General Inter ORB
Protocol, определяющего низкоуровневое представление данных
и множество форматов сообщений.
На машине клиента соз гаются два объекта-посредника: Stab
(заглушка) и ORB (Object Required Broker — брокер вызываемого
объекта). Так же как и в DCOM-технологии, Stub передает пере-
хваченный вызов брокеру, который посылает широковещатель-
ное сообщение в сеть. Smart agent, по вчив сообщение, отыскива-
ет сетевой адрес сервера и передает запрос брокеру, размещенно-
му на машине сервера. Вызов требуемого обвекта производи гея
через специальный базовый объектный адаптер (ВОА). При этом
данные в стек пространства вызываемого объекта помещает осо-
бый обьект сервера (Skeleton — каркас), который вызывается
адаптером
CORBA имеет два механизма реализации запросов к объ-
ектам:
• статический, предполагающий использование заглушек и
каркасов, интерфейсы которых были сгенерированы при
создании объекта;
446 Глава 7. Технологии распределенной обработки информации
• динамический вызов с помощью интерфейса динамическо-
го вызова (DII).
Интерфейс динамического вызова позволяет определять объ-
екты и их интерфейсы во время выполнения, а затем формиро-
вать заглушки. Аналогично, на стороне сервера может использо-
ваться динамический интерфейс каркасов (DSI), что позволяет
обращаться к реализации объекта, для которого на этапе созда-
ния не был сформирован каркас.
Ключевым компонентом архитектуры CORBA является язык
описания интерфейсов IDL. на уровне которого поддерживают-
ся «контрактные» отношения между клиентом и сервером и
обеспечивается независимость от конкретного объектно-ориен-
тированного языка. CORBA IDL поддерживает основные поня-
тия объектно-ориентированной парадигмы (инкапсуляцию, по-
лиморфизм и наследование). При этом CORBA-объекты могут
быть преобразованы в объекты языков программирования (на-
пример, Java, С, C++), т. е. будут сформированы файлы:
• исходного клиентского кода, содержащего интерфейсные
заглушки;
• исходного серверного кода, содержащего каркасы;
• заголовков, которые включаются в клиентскую и сервер-
ную программы.
В модели DCOM также может использоваться разработан-
ный Microsoft язык IDL, который, однако, играет вспомогатель-
ную роль и используется в основном для удобства описания объ-
ектов. Реальная интеграция объектов в DCOM происходит не на
уровне абстрактных интерфейсов, а на уровне бинарных кодов,
и это одно из основных различий этих двух объектных моделей.
Как DCOM, так и CORBA, в отличие от процедурного RPC,
дают возможность динамического связывания удаленных объек-
тов: клиент может обратиться к серверу-объекту во время вы-
полнения, не имея информации об этом объекте на этапе ком-
пиляции. В CORBA для этого существует специальный интер-
фейс динамического вызова DII. а СОМ использует механизм
OLE-Automation. Информацию о доступных объектах сервера на
этапе выполнения клиентская часть программы получает из спе-
циального хранилища метаданных об объектах — репозитария
интерфейсов Interface Repositary в случае CORBA, или библиоте-
ки типов (Type Library) в модели DCOM. Эта возможность очень
важна для больших распределенных приложений, поскольку по-
зволяет менять и расширять функциональность серверов, не
7.5. Объектно-ориентированные технологии... 44у
внося существенных изменений в код клиентских компонентов
программы. Например, банковское приложение, основная биз-
нес-логика которого поддерживается сервером в центральном
офисе, а клиентские системы — в филиалах размешенных в раз-
ных городах.
Контрольные вопросы
1. Какие разновидности систем «клиент — сервер» вы знаете?
2. Что такое файловый сервер?
3. Что такое сервер баз данных?
4. Что такое сервер приложений?
5. Сформулируйте основные требования к системам управления рас-
пределенными базами данных.
6. Перечислите основные условия и предпосылки появления систем
управления распределенными базами данных.
7. Перечислите основные различия системы распределенной обработки
данных и системы распределенных баз данных.
8. Обоснуйте целесообразность разделения «клиентских» и «сервер-
ных» функций.
9. Проведите сравнительный анализ распределения функций для различ-
ных базовых архитектур.
10. Определите основные принципы и примерные структурные схемы
сервера распределенной обработки.
11. Перечислите основные решения распределенной обработки на основе
межмодульного взаимодействия.
Глава 8
ЗАЩИЩЕННЫЕ ИНФОРМАЦИОННЫЕ
ТЕХНОЛОГИИ
Концентрация информации в компьютерах — аналогична
концентрации наличных денег в банках — заставляет все более
усиливать контроль в целях зашиты информации. Юридические
вопросы, частная тайна, национальная безопасность — все эти
соображения требуют усиления внутреннего контроля в ком-
мерческих и правительственных организациях. Работы в этом
направлении привели к появлению новой дисциплины: безопас-
ность информации. Специалист в области безопасности инфор-
мации отвечает за разработку, реализацию и эксплуатацию
системы обеспечения информационной безопас-
ности, направленной на поддержание целостности, пригодно-
сти и конфиденциальности накопленной в организации инфор-
мации. В его функции входит обеспечение физической (техни-
ческие средства, линии связи и удаленные компьютеры) и
логической (данные, прикладные программы, операционная
система) зашиты информационных ресурсов.
Сложность создания системы зашиты информации опреде-
ляется тем, что данные могут быть похищены из компьютера и
одновременно оставаться на месте; ценность некоторых данных
заключается в обладании ими, а не в уничтожении или изме-
нении.
Обеспечение безопасности информации — дорогое дело, и
не столько из-за затрат на закупку или установку средств, сколь-
ко из-за того, что трудно квалифицированно определить грани-
цы разумной безопасности и соответствующего поддержания
системы в работоспособном состоянии.
Средства зашиты информации нельзя проектировать, поку-
пать или устанавливать до тех пор, пока не произведен соответ-
ствующий анализ. Анализ риска должен дать объективную оцен-
ку многих факторов (подверженность появлению нарушения ра-
боты, вероятность появления нарушения работы, ущерб от
8.1. Инфор мационная безопасность и защита информации
449
коммерческих потерь, снижение коэффициента готовности сис-
темы, общественные отношения, юридические проблемы) и пре-
доставить информацию для определения подходящих типов и
уровней безопасности.
В связи с этим большую актуальность приобретает разработ-
ка защищенных информационных технологий
(ЗИТ), яр 1ЯЮШИХСЯ неотъемлемой компонентой современных
систем обработки данных, информационных систем и ресурсов.
8.1. Информационная безопасность и защита
информации
Пол информационной! безопасностью понимается
защищенность информации и поддерживающей инфраструктуры
от случайных или преднамеренных вовмействий естественного
или искусственного характера, чреватых нанесением \ щерба вла-
дельцам ши пользователям информации и поддерживающей ин-
фраструктуры.
Защита информации — это комплекс мероприятий,
направленных на обеспечение информационной безопасности.
На практике под этим понимается поддержание целостности,
доступности и. если нужно, конфиденциальности информации и
ресурсов, используемых для ввода, хранения, обработки и пере-
дачи данных.
Отмстим, что меры информационной безопасности можно
разделить на три группы в соответствии с тем, направ тены ли
они на предупреждение, обнаружение или ликви-
дацию последствий нападений. Большинство мер носят преду-
предительный характер. Оперативный анализ регистрационной
информации и некоторые аспекты реакции на нарушения слу-
жат для обнаружения угроз.
Уровни обеспечения информационной безопасности
Проблемы обеспечения безопасности носят комплексный
характер, включают необходимость сочетания законода-
тельных, организационных и программно-техни-
ческих мер.
450
Глава 8. Защищенные информационные технологии
К сожалению, законодательная база отстает от по-
требностей практики. Имеющиеся в России законы и указы
носят в основном запретительный характер. В то же время
следует учитывать, что в данном случае от государства требу-
ется в первую очередь поддержка, организация и координация
работ. В других странах это поняли довольно давно. Так, в
США в 1987 г. был принят закон о компьютерной безопасно-
сти (Computer Security Act, вступил в силу в сентябре 1988 г.).
Этот закон предусматривает комплекс мер по обучению поль-
зователей, имеющих дело с критичной информацией, разъяс-
нительных руководств и т. д., без чего сознательное поддержа-
ние режима безопасности просто невозможно. И данный за-
кон на самом деле выполняется.
Проблемы законодательного уровня мы здесь не рассматри-
ваем, отсылая читателей, например, к учебному пособию [30].
Следующим после законодательного, можно назвать
управленческий (организационный) уровень. Ру-
ководство каждой организации должно осознать необходимость
поддержания режима безопасности и выделения на эти цели
значительных ресурсов. Главное, что должен сделать управлен-
ческий уровень, это выработать политику безопасности,
которая задает общее направление работам в данной области и
управленческие регуляторы безопасности. Операционные регу-
ляторы применяются к окружению компьютерных систем и пре-
жде всего к людям. Имеются в виду способы подбора персонала,
его обучения, обеспечения дисциплины. Сюда же относятся
меры по физической защите помещений и оборудования и неко-
торые другие.
Для поддержания режима информационной безопасности
особенно важны программно-технические меры, поскольку ос-
новная угроза компьютерным системам исходит от самих этих
систем (сбои оборудования, ошибки программного обеспечения,
промахи пользователей и администраторов и т. п.).
Ключевые механизмы безопасности программно-техниче-
ского уровня:
• идентификация и аутентификация;
• управление доступом;
• протоколирование и аудит;
• криптография;
• экранирование.
8.1. Информационная безопасность и защита информации
451
Строго говоря, всем защитным мерам должен предшество-
вать анализ угроз. Информационная безопасность начинается не
тогда, когда случилось первое нарушение, а когда идет формиро-
вание будущей компьютерной системы. Она начинается с со-
ставления спецификаций на приобретаемое оборудование и про-
граммное обеспечение.
Наиболее распространенные угрозы
Рассмотрим наиболее распространенные угрозы, которым
подвержены современные компьютерные системы. Знание воз-
можных угроз, а также уязвимых мест зашиты, которые эти уг-
розы обычно эксплуатируют, необходимо для того, чтобы выби-
рать наиболее экономичные средства обеспечения безопасности.
Отметим, что само понятие угроза в разных ситуациях за-
частую трактуется по-разному. Например, для подчеркнуто от-
крытой организации может просто не существовать угроз кон-
фиденциальности — вся информация считается общедоступной;
однако в большинстве случаев нелегальный доступ считается
серьезной опасностью.
Рассмотрим некоторую типичную организацию. Впрочем,
многие угрозы (например, пожар) опасны для всех.
Ошибки пользователей. Самыми частыми и самыми опасны-
ми (с точки зрения размера ущерба) являются непреднамерен-
ные ошибки пользователей, операторов, системных администра-
торов и других лиц, обслуживающих информационные системы.
Иногда такие ошибки являются угрозами (неправильно введен-
ные данные, ошибка в программе, вызвавшая крах системы),
иногда они создают слабости, которыми могут воспользоваться
злоумышленники (таковы обычно ошибки администрирования).
Утверждают, что 65 % потерь — следствие непреднамеренных
ошибок. Пожары и наводнения можно считать пустяками по
сравнению с безграмотностью и расхлябанностью. Очевидно, са-
мый радикальный способ борьбы с непреднамеренными ошиб-
ками — максимальная автоматизация и строгий контроль за пра-
вильностью совершаемых действий.
Кражи и подлоги. На втором месте по размерам ущерба рас-
полагаются кражи и подлоги. По данным газеты USA Today, в
результате подобных противоправных действий с использовани-
ем персональных компьютеров американским организациям
452
Глава 8. Защищенные информационные технологии
ежегодно наносится суммарный ущерб в размере не менее
1 млрд долларов. Можно предположить, что подлинный ущерб
намного больше, поскольку многие организации по понятным
причинам скрывают такие инциденты. В большинстве расследо-
ванных случаев виновниками оказывались штатные сотрудники
организаций, отлично знакомые с режимом работы и защитны-
ми мерами. Еще раз мы убеждаемся в том, что внутренняя угро-
за гораздо опаснее внешней.
Весьма опасны так называемые обиженные сотрудни-
ки — нынешние и бывшие. Как правило, их действиями руко-
водит желание нанести вред организации-обидчику, например:
• повредить оборудование;
• встроить логическую бомбу, которая со временем разрушит
программы и/или данные;
• ввести неверные данные;
• удалить данные;
• изменить данные и т. д.
Обиженные сотрудники, даже бывшие, знакомы с порядка-
ми в организации и способны вредить весьма эффективно. Не-
обходимо следить за тем, чтобы при увольнении сотрудника его
права доступа к информационным ресурсам аннулировались.
Угрозы, исходящие от окружающей среды, к сожалению, отли-
чаются большим разнообразием. В первую очередь следует выде-
лить нарушения инфраструктуры — аварии электропитания,
временное отсутствие связи, перебои с водоснабжением, граж-
данские беспорядки и т. п. Опасны, разумеется, стихийные бед-
ствия и события, воспринимаемые как стихийные бедствия —
пожары, наводнения, землетрясения, ураганы. По известным
данным, на долю огня, воды и аналогичных «врагов» (среди ко-
торых самый опасный — низкое качество электропитания и его
перебои) приходится 13 % потерь, нанесенных информацион-
ным системам.
Хакеры. Много говорят и пишут о хакерах, но исходящая от
них угроза зачастую преувеличивается. Известно, что почти каж-
дый Internet-сервер по нескольку раз в день подвергается попыт-
кам проникновения; верно, что иногда такие попытки оказыва-
ются удачными; верно, что изредка подобные действия связаны
со шпионажем. Однако в целом ущерб от деятельности хакеров
(в сравнении с другими угрозами) представляется не столь уж
значительным. Вероятно, больше всего пугает непредсказуе-
мость действий людей такого сорта. Представьте себе, что в лю-
8.1. Информационная безопасность и защита информации
453
бой момент к вам в квартиру могут забраться посторонние люди.
Даже если они не имеют злого умысла, а зашли просто посмот-
реть, нет ли чего интересного, приятного в этом мало.
Программные вирусы. Много говорят и пишут и о программ-
ных вирусах. Как показало проведенное исследование, несмотря
на экспоненциальный рост числа известных вирусов, аналогич-
ного роста количества инцидентов, вызванных вирусами, не за-
регистрировано. Соблюдение несложных правил компьютерной
гигиены сводит риск заражения практически к нулю. Там где ра-
ботают, а не играют, число зараженных компьютеров составляет
лишь доли процента. Справедливости ради отметим лишь, что
зловредный код поражает не только персональные компьютеры,
но и системы других типов.
Первый шаг в анализе угроз — их и д е н т и ф и к а ц и я. Ана-
лизируемые виды угроз следует выбрать из соображений здраво-
го смысла (оставив вне поля зрения, например, землетрясения
или захват организации террористами), но в пределах выбран-
ных видов провести максимально полное рассмотрение.
Целесообразно выявлять не только сами угрозы, но и источ-
ники их возникновения — это поможет в выборе дополнитель-
ных средств зашиты. Например, нелегальный вход в систему мо-
жет стать следствием воспроизведения начального диалога, под-
бора пароля или подключения к сети неавторизованного
оборудования. Очевидно, для противодействия каждому из пере-
численных способов нелегального входа нужны свои механизмы
безопасности.
После идентификации угрозы необходимо оценить веро-
ятность ее осуществления. Допустимо использовать при этом
трехбалльную шкалу (низкая (1), средняя (2) и высокая (3) веро-
ятность).
Кроме вероятности осуществления, важен размер потен-
циального ущерба. Например, пожары бывают нечасто, но
ущерб от каждого из них, как правило, велик. Тяжесть ущерба
также можно оценить по некоторой шкале.
Оценивая тяжесть ущерба, необходимо иметь в виду не толь-
ко непосредственные расходы на замену оборудования или вос-
становление информации, но и более отдаленные, такие, как
подрыв репутации, ослабление позиций на рынке и т. и. Пусть,
например, в результате дефектов в управлении доступом к бух-
галтерской информации сотрудники получили возможности
корректировать данные о собственной заработной плате. Следст-
454
Глава 8. Защищенные информационные технологии
вием такого состояния дел может стать не только перерасход
бюджетных или корпоративных средств, но и полное разложе-
ние коллектива, грозящее развалом организации.
Слабости обладают свойством притягивать к себе не только
злоумышленников, но и сравнительно честных людей. Не вся-
кий устоит перед искушением немного увеличить свою зарплату,
если есть уверенность, что это сойдет с рук. Поэтому, оценивая
вероятность осуществления угроз, целесообразно исходить не
только из среднестатистических данных, но учитывать также
специфику конкретных информационных систем. Если в подва-
ле дома, занимаемого организацией, располагается сауна, а сам
дом имеет деревянные перекрытия, то вероятность пожара, к со-
жалению, оказывается существенно выше средней.
Таковы основные угрозы, на долю которых приходится льви-
ная доля урона, наносимого информационным системам. Рас-
смотрим теперь иерархию защитных мероприятий, способных
противостоять угрозам.
Управленческие меры обеспечения информационной
безопасности
Главная цель мер, предпринимаемых на управленческом
уровне, — сформировать программу работ в области информа-
ционной безопасности и обеспечить ее выполнение, выделяя не-
обходимые ресурсы и контролируя состояние дел.
Политика безопасности. Основой программы является по-
литика безопасности, отражающая подход организации к
защите своих информационных активов. Под политикой без-
опасности понимают совокупность документированных управ-
ленческих решений, направленных на защиту информации и ас-
социированных с ней ресурсов.
С практической точки зрения политику безопасности целе-
сообразно подразделить на три уровня.
К верхнему уровню можно отнести решения, затраги-
вающие организацию в целом. Они носят весьма общий харак-
тер и, как правило, исходят от руководства организации. Поли-
тика верхнего уровня должна четко очерчивать сферу своего
влияния. Возможно, это будут все компьютерные системы орга-
низации (или даже больше, если политика регламентирует неко-
торые аспекты использования сотрудниками своих домашних
8.1. Информационная безопасность и защита информации
455
компьютеров). Возможна, однако, и такая ситуация, когда в
сферу влияния включаются лишь наиболее важные системы.
К среднему уровню можно отнести вопросы, касаю-
щиеся отдельных аспектов информационной безопасности, но
важные для различных систем, эксплуатируемых организацией.
Примеры таких вопросов — отношение к передовым (но, воз-
можно, недостаточно проверенным) технологиям, доступ к
Internet (как сочетать свободу получения информации с зашитой
от внешних угроз?), использование домашних компьютеров,
применение пользователями неофициального программного
обеспечения и т. д.
Политика безопасности нижнего уровня отно-
сится к конкретным сервисам. Она включает в себя два аспек-
та — цели и правила их достижения, поэтому ее порой трудно
отделить от вопросов реализации. В отличие от двух верхних
уровней, рассматриваемая политика должна быть гораздо де-
тальнее. Есть много вещей, специфичных для отдельных серви-
сов, которые нельзя единым образом регламентировать в рамках
всей организации. В то же время эти веши настолько важны для
обеспечения режима безопасности, что решения, относящиеся к
ним, должны приниматься на управленческом, а не техническом
уровне.
Программа безопасности. После того, как сформулирована
политика безопасности, можно приступать к составлению про-
граммы ее реализации и собственно к реализации.
Проведение политики безопасности в жизнь требует исполь-
зования трех видов регуляторов — управленческих, операцион-
ных и программно-технических. Рассмотрим управленческий ас-
пект программы безопасности.
Чтобы понять и реализовать любую программу, ее целесооб-
разно структурировать по уровням, обычно в соответствии со
структурой организации. В простейшем и самом распространен-
ном случае достаточно двух уровней — верхнего, или централь-
ного, который охватывает всю организацию, и нижнего, или
сервисного, который относится к отдельным сервисам или груп-
пам однородных сервисов.
Программу верхнего уровня возглавляет лицо, отве-
чающее за информационную безопасность организации. У этой
программы следующие главные цели:
• управление рисками (оценка рисков, выбор эффективных
средств защиты, см. следующий раздел);
456 Глава 8. Защищенные информационные технологии
• координация деятельности в области информационной
безопасности, пополнение и распределение ресурсов;
• стратегическое планирование;
• контроль деятельности в области информационной без-
опасности.
Цель программы нижнего уровня — обеспечить
надежную и экономичную защиту конкретного сервиса или
группы однородных сервисов. На этом уровне решается, какие
механизмы защиты использовать, закупаются и устанавливаются
технические средства, выполняется повседневное администри-
рование, отслеживается состояние слабых мест и т. и. Обычно за
программу нижнего уровня отвечают администраторы сервисов.
Выбирая подходящий способ защиты, целесообразно учиты-
вать возможность экранирования одним сервисом безопасности
сразу нескольких прикладных сервисов. Так поступили в Масса-
чусетском технологическом институте, защитив несколько тысяч
компьютеров сервером аутентификации Kerberos.
Регулирование режима безопасности
Рассмотрим подробнее меры безопасности, которые ориен-
тированы на людей, а не на технические средства. Именно люди
формируют режим информационной безопасности и они же
оказываются главной угрозой, поэтому «человеческий фактор»
заслуживает первостепенного внимания. Сюда входят следую-
щие вопросы:
• управление персоналом:
• физическая защита;
• поддержание работоспособности;
• реакция на нарушения режима безопасности;
• планирование восстановительных работ.
Управление персоналом начинается с приема нового сотруд-
ника на работу и даже раньше — с составления описания долж-
ности. Уже на этом этапе желательно привлечение специалиста
по информационной безопасности для определения компьютер-
ных привилегий, ассоциируемых с должностью. Существует два
общих принципа, которые следует иметь в виду:
• разделение обязанностей;
• минимизация привилегий.
8.1. Информационная безопасность и защита информации
457
Принцип разделения обязанностей предписывает
так распределять роли и ответственность, чтобы один человек не
мог нарушить критически важный для организации процесс. На-
пример, нежелательна ситуация, когда платежи от имени орга-
низации выполняет один человек. Надежнее поручить одному
сотруднику оформлять заявки на платежи, а другому — заверять
эти заявки.
Принцип мин и м и з а ц и и пр и в и легий предписыва-
ет выделять пользователям только те права доступа, которые не-
обходимы им для выполнения служебных обязанностей. Назна-
чение этого принципа очевидно — уменьшить ущерб от случай-
ных или умышленных некорректных действий пользователей.
Проблема обучения — одна из центральных с точки зрения
информационной безопасности. Если сотрудник не знаком с по-
литикой безопасности своей организации, он не может стре-
миться к достижению сформулированных в ней целей. Если он
не знает мер безопасности, он не сможет их соблюдать. Напро-
тив, если сотрудник знает, что его действия протоколируются,
он, возможно, воздержится от нарушений.
Физическая защита. Безопасность компьютерной системы
зависит от окружения, в котором она работает. Следовательно,
необходимо принять меры для защиты зданий и прилегающей
территории, поддерживающей инфраструктуры и самих компь-
ютеров.
Известны следующие направления физической защиты:
• физическое управление доступом;
• противопожарные меры;
• защита поддерживающей инфраструктуры;
• защита от перехвата данных;
• защита мобильных систем.
Меры физического управления доступом позво-
ляют контролировать и при необходимости ограничивать вход и
выход сотрудников и посетителей. Контролироваться может все
здание организации и, кроме того, отдельные помещения, на-
пример, те, где расположены серверы, коммуникационная аппа-
ратура и т. п. Средства физического управления доступом извест-
ны давно — это охрана, двери с замками, перегородки, телекаме-
ры, датчики движения и многое другое.
Противопожарные меры. Отметим лишь крайнюю
желательность установки противопожарной сигнализации и ав-
томатических средств пожаротушения. Обратим также внимание
458
Глава 8. Защищенные информационные технологии
на то, как защитные меры могут создавать новые слабости. Если
на работу взят новый охранник, это, вероятно, улучшает физи-
ческое управление доступом. Если же он по ночам курит и пьет,
то повышенная пожарная опасность делает его скорее врагом,
чем другом организации.
К поддерживающей инфраструктуре можно от-
нести системы электро-, водо- и теплоснабжения, кондиционе-
ры, средства коммуникаций. В принципе к ним применимы те
же требования целостности и доступности, что и к информаци-
онным системам. Для обеспечения целостности нужно защи-
щать оборудование от краж и повреждений. Для поддержания
доступности целесообразно выбирать оборудование с макси-
мальным временем наработки на отказ, дублировать ответствен-
ные узлы, всегда иметь под рукой запчасти.
ЕГерехват данных может осуществляться самыми раз-
ными способами: подсматриванием за экраном монитора, чте-
нием пакетов, передаваемых по локальной сети, улавливанием
стука иголок матричного принтера или кнопок на клавиатуре,
анализом побочных электромагнитных излучений и наводок
(ПЭМИН). К сожалению, некоторые способы перехвата данных,
такие как анализ ПЭМИН, относительно доступны и дешевы, а
бороться с ними трудно и дорого. Остается уповать на то, что
для коммерческих систем обеспечение конфиденциальности не
является главной задачей, пытаться держать под контролем ли-
нии связи (например, заключать их в надувную оболочку с обна-
ружением прокалывания) и разместиться в тихом особняке, по-
одаль от других домов.
Мобильные и портативные компьютеры — за-
манчивый объект кражи. Их довольно часто оставляют без при-
смотра, в автомобиле или на работе, и унести и спрятать такой
компьютер весьма несложно. Следует настоятельно рекомендо-
вать шифрование данных на жестких дисках ноутбуков и лэпто-
пов.
Поддержание работоспособности включает в себя рутинные
действия, направленные на поддержание компьютерных систем
и имеющие отношение к информационной безопасности. Как
ни странно, именно здесь таится наибольшая опасность. Неча-
янные ошибки системных администраторов и пользователей
грозят повреждением аппаратуры, разрушением программ и дан-
ных; «в лучшем случае» создаются слабости, облегчающие реа-
лизацию угроз.
8.1. Информационная безопасность и защита информации
459
Недооценка факторов бс зопасности в повседневной рабо-
те — ахиллесова пята многих организаций. Дорогие средства
безопасности теряют смысл, если они плохо документированы,
конфликтуют с другим программным обеспечением, а пароль
системного администратора не менялся с момента установки
.Можно выделить следующие направления повседневной дея-
тельности
• поддержка пользователей:
• поддержка программного обеспечения:
• конфигурационное управление:
• резервное копирование:
• управление носителями:
• документирование.
• регламентные работы.
Поддержка пользователей состоит прежде всего в
консультировании и в оказании помощи при решении разного
рода проблем. Иногда в организациях создают для этой цели
специальны), «стол справок»', чаше от пользователей отбивается
системный администратор. Очень важно в потоке вопросов, ум-
ных и не очень, уметь выявлять проблемы, свя занные с инфор-
мационной безопасностью.
Поддержка програм иного обеспечения — одно из важней-
ших средств обеспечения целостности информации. Прежде все-
го, необходимо контролировать, какое программное обеспечение
выполняется на компьютерах. Если пользователи мозут устанав-
ливать программы по своему усмотрению, это чревато заражени-
ем вирусами, а также по/звлением ути лзт, действующих в обход
защитных средств. Например, на лзобой персональный компью-
тер, подключенный к сети Ethernet, можно установить програм-
му — сетевой анализатор, позволяюзззую отслеживать весь сете-
вой трафик. Обладатель такой программьз может довольно быст-
ро «выловить» пароли других пользователей и системных
администраторов. получив тем самым по существу неограничен-
ный доступ к сетевым ресурсах^
Конфигурационное управление позволяе т контро-
лировать и фиксировать изменения, вносимые в программную
конфигурацию. Прежде всего, необходимо застраховаться от
случайных или непродуманных модификаций, уметь как мини-
мум возвращаться к прошлой, работающей версии. Далее, фик-
сация измсненизз позволит легко восстановить текущую версию
после аварии. Лучший способ уменьшить количество ошибок в
460
Глава 8. Защищенные информационные технологии
рутинной работе — в максимальной степени автоматизировать
ее. Хорошим примером являются развитые средства конфигура-
ционного управления, когда одним нажатием можно вызвать
внесение или откат сотен согласованных изменений.
Резервное копирование необходимо для восстанов-
ления программ и данных после аварий. Здесь также целесооб-
разно автоматизировать работу, как минимум сформировав ком-
пьютерное расписание выполнения полных и инкрементальных
копий, а как максимум воспользовавшись безлюдной технологи-
ей фирмы Hewlett-Packard. Нужно также наладить размещение
копий в безопасном месте, защищенном от пожаров и иных уг-
роз. К резервному копированию следует относиться как к осоз-
нанной необходимости — стоит хоть на день отступить от распи-
сания и неприятности не заставят себя ждать.
Управление носителями служит для обеспечения
физической зашиты и учета дискет, CD, лент, печатных выдач
и т. п. Управление носителями должно обеспечить конфиденци-
альность, целостность и доступность информации, хранящейся
вне компьютерных систем. Под физической защитой здесь по-
нимается не только отражение попыток несанкционированного
доступа, но и предохранение от вредных влияний окружающей
среды (жары, холода, влаги, магнетизма). Управление носителя-
ми должно охватывать весь жизненный цикл дискет и лент — от
закупки до выведения из эксплуатации.
К управлению носителями можно отнести и контроль пото-
ков данных, выдаваемых на печать. Здесь поучительно отметить
необходимость сочетания различных механизмов информацион-
ной безопасности. Программные средства позволяют направить
конфиденциальные данные на определенный принтер, но толь-
ко меры физической защиты способны гарантировать отсутствие
посторонних у этого принтера.
Документирование — неотъемлемая часть информаци-
онной безопасности. В виде документов оформляется почти
все — от политики безопасности до журнала учета дискет. Важ-
но, чтобы документация была актуальной, отражала текущее, а
не прошлое состояние дел, причем отражала в непротиворечи-
вом виде. Здесь необходим правильный технологический подход,
когда документы печатаются и сшиваются способом, облегчаю-
щим внесение изменений.
К хранению некоторых документов (содержащих, например,
анализ системных слабостей и угроз) применимы требования
8.1. Информационная безопасность и защита информации
461
обеспечения конфиденциальности, к другим, таким как план
восстановления после аварий — требования целостности и дос-
тупности (план необходимо найти и прочитать).
Регламентные работы — очень серьезная угроза без-
опасности. Лицо, осуществляющее регламентные работы, полу-
чает исключительный доступ к системе, и на практике очень
трудно проконтролировать, какие именно действия совершают-
ся. Здесь на первый план выходит степень доверия к тем, кто вы-
полняет работы. Лет двадцать назад, очевидно, предвидя волну
публикаций по сертификации, Кен Томсон, один из создателей
ОС UNIX, написал, что нужно верить или не верить не програм-
мам, а людям, которые пишут эти программы. Если в общем виде
данное утверждение можно оспорить, то применительно к регла-
ментным работам оно абсолютно справедливо.
Реакция на нарушения режима безопасности
Программа безопасности, принятая организацией, должна
предусматривать набор оперативных мероприятий, направлен-
ных на обнаружение и нейтрализацию вторжений хакеров и зло-
вредного кода. Важно, чтобы в подобных случаях последователь-
ность действий была спланирована заранее, поскольку меры
нужно принимать срочные и скоординированные.
Реакция на нарушения режима безопасности преследует две
главные цели:
• блокирование нарушителя и уменьшение наносимого
вреда;
• недопущение повторных нарушений.
В организации должен быть человек, доступный 24 часа в
сутки (лично, по телефону, пейджеру или электронной почте),
отвечающий за реакцию на нарушения. Все должны знать коор-
динаты этого человека и обращаться к нему при первых призна-
ках опасности. В общем, нужно действовать, как при пожаре:
знать, куда звонить, и что делать до приезда пожарной команды.
Правда, пользователя может удержать от вызова помощи созна-
ние собственной вины и боязнь наказания, если он сам принес
на работу зараженную дискету. Для таких случаев целесообразно
предусмотреть процедуру анонимного вызова, поскольку лучше
не наказать одного виновного, чем допустить распространение
последствий нарушения.
462
Глава 8. Защищенные информационные технологии
Важность быстрой и скоординированной реакции можно
продемонстрировать на следующем примере. Пусть локальная
сеть предприятия состоит из двух сегментов, администрируемых
разными людьми. Пусть, далее, в один из сегментов был внесен
вирус. Почти наверняка через несколько минул (или, в крайнем
случае, несколько десятков минут) вирус распространится и на
другой сегмент. Значит, меры нужны немедленные. Далее, вычи-
щать вирус нужно одновременно в обоих сегментах; в против-
ном случае сегмент, вычищенный первым, заразится от другого,
а затем вирус вернется и во второй сегмент.
Для недопущения повторных нарушений необходимо анали-
зировать каждый инцидент, выявлять причины, накапливать
статистику'. Каковы источники зловредного кода? Какие пользо-
ватели имеют обыкновение выбирать слабые пароли? На подоб-
ные вопросы и должны дать ответы результаты анализа.
Хотя «реактивный» подход к информационной безопасности
недостаточен, но некоторая обратная связь все же должна суще-
ствовать. Заранее все предусмотреть невозможно. Появляются
новые вирусы, совершенствуются приемы нападения, новые
системы приносят с собой новые угрозы. Кто-то в организации
должен отслеживать этот процесс, принимать краткосрочные
меры и корректировать программу безопасности для принятия
долгосрочных мер.
Основные программно-технические меры
Программно-технические меры образуют последний и самый
важный рубеж информационной зашиты. Напомним, что основ-
ную часть ущерба наносят действия легальных пользователей, по
отношению к которым операционные регуляторы не могут дать
решающего эффекта. Главные враги — некомпетентность и не-
аккуратность при выполнении служебных обязанностей, и толь-
ко программно-технические меры способны им противостоять.
Компьютеры помогли автоматизировать многие области че-
ловеческой деятельности. Вполне естественным представляется
желание возложить на них и обеспечение собственной безопас-
ности. Даже физическую защиту все чаще поручают не охранни-
кам, а интегрированным компьютерным системам, что позволя-
ет одновременно отслеживать перемещения сотрудников и по
пространству предприятия, и по информационному пространст-
8.1. Информационная безопасность и защита инфор нации
463
ву. Это вторая причина, объясняющая важность программ-
но-технических мер.
Известны основные сервисы безопасности:
• идентификация и аутентификация:
• управление достхпом;
• протоколирование и ау шт:
• криптография;
• экранирование.
Идентификацию и аутентификацию можно считазь основой
программно-технических средств безопасности, поскольку ос-
тальные сервисы рассчитаны на обслуживание именованных
субъектов. Идентификация и ау генгификания — это первая ли-
ния обороны, «проходная» информационного пространства ор-
ганизации Ьсз порядка на проходной не будет порядка и внутри
охраняемой территории
И д е н т и ф и к а ц и я позволяет су бъекту (пользователю или
процессу, действующему от имени определенного пользователя)
назвать себя (сообщить свое имя). Посредством аутентифи-
кации вторая сторона убеждается, что субъект действительно
тот, за кого он себя выдает. В качестве синонима слова «аутенти-
фикация» иногда использхют сочетание «проверка подлинности».
Общая схема идентификации и установления подлинности
пользователя при его доступе в компьютерную систему пред-
ставлена на рис. 8.1.
Если в процессе аутентификации подлинность пользователя
установлена, то система зашиты должна определить его полно-
мочия по использованию ресурсов ВС для последующего кон-
троля установленных полномочий.
Управление доступом. В настоящее время следует признать
устаревших! (или. по крайней мере, нс позностью соответствую-
щим действительности) положение о том. что разграничение
доступа направлено исключительно на защиту от злоумышлен-
ных пользователей. Современные информационные системы ха
растеризуются чрезвычайной сложностью и их внутренние
ошибки представляют не меньшую опасность.
Средства управления доступом позволяют специфицировать
и контролировать зействия. которые субъекты (пользователи и
процессы) могут выполнять нал объектами (информацией и
другими компьютерными ресурсами) В данном разлеле речь
идет о логическом (в отличие от физического) управлении дос-
тупом, который реализуется программными средствами. Логичс-
464
Глава 8. Защищенные информационные технологии
Рис. 8.1. Блок-схема общего алгоритма идентификации и установления подлин-
ности пользователя
ское управление доступом — это основной механизм много-
пользовательских систем, призванный обеспечить конфиденци-
альность и целостность объектов и, до некоторой степени, их
доступность (путем запрещения обслуживания неавторизован-
ных пользователей).
Имеется совокупность субъектов и набор объектов.
Задача логического управления доступом состоит в том, чтобы
для каждой пары (субъект, объект) определить множество допус-
тимых операций (зависящее, быть может, от некоторых допол-
нительных условий) и контролировать выполнение установлен-
ного порядка.
Отношение (субъекты, объекты) можно представить в виде
матрицы, в строках которой перечислены субъекты, в столб-
цах — объекты, а в клетках, расположенных на пересечении
строк и столбцов, записаны дополнительные условия (например,
время и место действия) и разрешенные виды доступа. Фрагмент
8.1. Информационная безопасность и защита информации 465
матрицы может выглядеть, например, так, как это показано на
рис. 8.2.
Файл Программа Линия связи Реляционная таблица
Пользователь-! с системной консоли orw е rw с 8’00 до 18.00
Пользе вате л ь_2 а
«о» —разрешение на передачу прав доступа другим пользователям
«г» — чтение
«w» — запись
«е» — выполнение
«а» — добавление информации
Рис. 8.2. Фрагмент матрицы доступа
Логическое управление доступом — одно из сложнейших в
области информационной безопасности. Причина в том, что
само понятие объекта (а тем более видов доступа) меняется от
сервиса к сервису. Для операционной системы в число объектов
входят файлы, устройства и процессы. Применительно к файлам
и устройствам обычно рассматриваются права на чтение, запись,
выполнение (для программных файлов), иногда на удаление и
добавление. Отдельным правом может быть возможность пере-
дачи полномочий доступа другим субъектам (так называемое
право владения). Процессы можно создавать и уничтожать. Со-
временные операционные системы могут поддерживать и другие
объекты. Например, в ОС Solaris имеются отображения со свои-
ми видами доступа.
Для систем управления реляционными базами данных объ-
ект — это база данных, таблица, представление, хранимая про-
цедура. К таблицам применимы операции поиска, добавления,
модификации и удаления данных, у других объектов иные виды
доступа. И список этот можно продолжать до бесконечности.
Протоколирование и аудит. Под протоколированием пони-
мается сбор и накопление информации о событиях, происходя-
щих в информационной системе предприятия. У каждого серви-
са свой набор возможных событий, но в любом случае их мож-
но подразделить на внешние (вызванные действиями других
сервисов), внутренние (вызванные действиями самого сервиса)
466
Глава 8. Защищенные информационные технологии
и клиентские (вызванные действиями пользователей и админи-
страторов).
Аудит — это анализ накопленной информации, проводимый
оперативно, (почти) в реальном времени или периодически (на-
пример, раз в день).
Реализация протоколирования и аудита преследует следую-
щие главные цели:
• обеспечение подотчетности пользователей и администра-
торов;
• обеспечение возможности реконструкции последователь-
ности событий;
• обнаружение попыток нарушения информационной без-
опасности;
• предоставление информации для выявления и анализа
проблем.
Криптография. Одним из наиболее мощных средств обеспе-
чения конфиденциальности и контроля целостности информа-
ции является криптография. Во многих отношениях она занима-
ет центральное место среди программно-технических регулято-
ров безопасности, являясь основой реализации многих из них,
и, в то же время, последним (а подчас и единственным) защит-
ным рубежом (см. далее, п. 8.2). Например, для портативных
компьютеров, которые физически защитить крайне трудно,
только криптография позволяет гарантировать конфиденциаль-
ность информации даже в случае кражи.
Экранирование. Постановка задачи экранирования состоит в
следующем. Пусть имеется два множества информационных
систем. Экран — это средство разграничения доступа клиентов
из одного множества к серверам из другого множества. Экран
выполняет свои функции, контролируя все информационные
потоки между двумя множествами систем (рис. 8.3).
В простейшем случае экран состоит из двух механизмов,
один из которых ограничивает перемещение данных, а второй,
наоборот, ему способствует (т. е. осуществляет перемещение
данных). В более общем случае экран (полупроницаемую обо-
лочку) удобно представлять себе как последовательность фильт-
ров. Каждый из них может задержать (не пропустить) данные, а
может и сразу «перебросить» их «на другую сторону». Кроме
того, допускается передача порции данных на следующий
фильтр для продолжения анализа или обработка данных от име-
ни адресата и возврат результата отправителю.
8.2. Криптографические методы защиты данных
467
Множество
информационных
систем 2
Множество
информационных
систем 1
Серверы
-► Клиенты
Рис. 8.3. Экран как средство разграничения доступа
Помимо функций разграничения доступа, экраны осуществ-
ляют также протоколирование информационного обмена.
Обычно экран не является симметричным, для него опреде-
лены понятия «внутри» и «снаружи». При этом задача экраниро-
вания формулируется как зашита внутренней области от потен-
циально враждебной внешней. Так, межсетевые экраны устанав-
ливают для защиты локальной сети организации, имеющей
выход в открытую среду, подобную Internet. Другой пример эк-
рана — устройство защиты порта компьютера, контролирующее
доступ к коммуникационному порту компьютера до и независи-
мо от всех прочих системных защитных средств.
8.2. Криптографические методы защиты данных
Криптографическое закрытие является специфи-
ческим способом защиты информации, оно имеет многовековую
историю развития и применения. Поэтому у специалистов не
возникало сомнений в том, что эти средства могут эффективно
использоваться также и для зашиты информации в АСОД,
вследствие чего им уделялось и продолжает уделяться большое
внимание. Достаточно сказать, что в США еще в 1978 г. утвер-
жден и рекомендован для широкого применения национальный
стандарт (DES) криптографического закрытия информации. По-
добный стандарт в 1989 г. (ГОСТ 28147—89) утвержден и у нас в
стране. Интенсивно ведутся исследования с целью разработки
высокостойких и гибких методов криптографического закрытия
информации. Более того, сформировалось самостоятельное на-
учное направление — криптология (kryptos — тайный,
468
Глава 8. Защищенные информационные технологии
logos — наука), изучающая и разрабатывающая научно-методо-
логические основы, способы, методы и средства криптографиче-
ского преобразования информации.
Криптология, криптография, криптоанализ
Можно выделить следующие три периода развития крипто-
логии. Первый период — эра донаучной криптологии, являв-
шейся ремеслом-уделом узкого крута искусных умельцев. Нача-
лом второго периода можно считать 1949 г., когда появилась ра-
бота К. Шеннона «Теория связи в секретных системах», в
которой проведено фундаментальное научное исследование
шифров и важнейших вопросов их стойкости. Благодаря этому
труду криптология оформилась как прикладная математическая
дисциплина. И, наконец, начало третьему периоду было положе-
но появлением в 1976 г. работы У. Диффи, М. Хеллмана «Новые
направления в криптографии», где показано, что секретная связь
возможна без предварительной передачи секретного клю-
ча. Так началось и продолжается до настоящего времени бурное
развитие наряду с обычной классической криптографией и
криптографии с открытым ключом.
Еще несколько веков назад само применение письменности
можно было рассматривать как способ закрытия информации,
так как владение письменностью было уделом немногих.
Криптология разделяется на два направления — криптогра-
фию и криптоанализ. Цели этих направлений прямо противопо-
ложны:
• криптография занимается поиском и исследованием мате-
матических методов преобразования информации;
• сфера интересов криптоанализа — исследование возможно-
сти расшифровывания информации без знания ключей;
Современная криптография включает в себя четыре крупных
раздела:
• симметричные криптосистемы;
• криптосистемы с открытым ключом;
• системы электронной подписи;
• управление ключами.
Основные направления использования криптографических
методов — передача конфиденциальной информации по кана-
лам связи (например, электронная почта), установление подлин-
8.2. Криптографические .методы защиты данных 469
ности передаваемых сообщений, хранение информации (доку-
ментов, баз данных) на носителях в зашифрован ним виде.
Криптосистемы разделяются на симметричные и ас и м -
метричные (с открытым ключом):
• в симметричных криптосистемах и для шифрования, и для
дешифрования используется один и тот же ключ. Сущест-
вуют весьма эффективные (быстрые и надежные) методы
симметричного шифрования. Смдествуст и стандарт на по-
добные методы — ГОСТ 28147—89 «Системы обработки
информации. Защита криптографическая. Алгоритм крип-
тографического преобра ювания».
Основным недостатком симметричного шифрования явля-
ется то, что секретный ключ должен быть известен и от-
правителю, и получателю:
• в асимметричных методах используются два ключа. Один
из них, несекретный (он может публиковаться вместе с ад-
ресом пользователя), используется для шифровки, другой
(секретный, известный только получателю) — для расшиф-
ровки. Самым популярным из асимметричных является
метод RSA (Райвест, Шамир, Аллеман), основанный на
операциях с большими (скажем, 100-значными) простыми
числами и их произведениями. Использование асиммет-
ричного шифрования проиллюстрировано рис. 8.4.
Рис. 8.4. Использование асимметричного метода шифрования
Асимметричные методы позволяют реализовать так называе-
мую электроннуто подпись, или электронное заверение сообще-
ния. Идея состоит в том, чго отправитель посылает два экземпля-
ра сообщения — открытое и дешифрованное его секретным клю-
чом (естественно, дешифровка незашифрованного сообщения на
самом деле есть форма шифрования). Получатель может зашиф-
ровать с помощью открытого ключа отправителя дешифрован-
470
Глава 8. Защищенные информационные технологии
ный экземпляр и сравнить с открытым. Если они совпадут, лич-
ность и подпись отправителя можно считать установленными.
Термины распределение ключей и управление ключами отно-
сятся к процессам системы обработки информации, содержани-
ем которых является составление и распределение ключей между
пользователями.
Классы методов криптографии
Рассмотрим классификацию методов криптографического
закрытия.
1. Шифрование
1.1. ЗАМЕНА (ПОДСТАНОВКА)
1.1.1. Простая (одноалфавитная)
1.1.2. Многоалфавитная одноконтурная обыкновенная
1.1.3. Многоалфавитная одноконтурная монофоническая
1.1.4. Многоалфавитная многоконтурная
1.2. ПЕРЕСТАНОВКА
1.2.1. Простая
1.2.2. Усложненная по таблице
1.2.3. Усложненная по маршрутам
1.3. АНАЛИТИЧЕСКОЕ ПРЕОБРАЗОВАНИЕ
1.3.1. С Использованием алгебры матриц
1.3.2. По особым зависимостям
1.4. ГАММИРОВАНИЕ
1.4.1. С конечной короткой гаммой
1.4.2. С конечной длинной гаммой
1.4.3. С бесконечной гаммой
1.5. КОМБИНИРОВАННЫЕ МЕТОДЫ
1.5.1. Замена и перестановка
1.5.2. Замена и гаммирование
1.5.3. Перестановка и гаммирование
1.5.4. Гаммирование и гаммирование
2. Кодирование
2.1. СМЫСЛОВОЕ
2.1.1. По специальным таблицам (словарям)
2.2. СИМВОЛЬНОЕ
2.2.1. По кодовому алфавиту
3. Другие виды
3.1. РАССЕЧЕНИЕ-РАЗНЕСЕНИЕ
3.1.1. Смысловое
3.1.2. Механическое
3.2. СЖАТИЕ-РАСШИРЕНИЕ
472 Глава 8. Защищенные информационные технологии
каждый из которых в отдельности не позволяет раскрыть со-
держание защищаемой информации. Выделенные таким обра-
зом элементы данных разносятся по разным зонам ЗУ или
располагаются на различных носителях. Сжатие данных пред-
ставляет собой замену часто встречающихся одинаковых строк
данных или последовательностей одинаковых символов некото-
рыми заранее выбранными символами.
Кратко рассмотрим некоторые методы криптографического
закрытия информации.
Шифрование заменой (подстановка)
В этом наиболее простом методе символы шифруемого тек-
ста заменяются другими символами, взятыми из одного (одно-
или моноалфавитная подстановка) или нескольких (много- или
полиалфавитная подстановка) алфавитов.
Самой простой разновидностью является прямая (про-
стая) замена, когда буквы шифруемого сообщения заменя-
ются другими буквами того же самого или некоторого другого ал-
фавита. Таблица замены может иметь следующий вид (табл. 8.1).
reader will wind a comprehensive survey...Получим следующее за-
шифрованное сообщение: At omiy pbbe omr nrsirn fadd zail s
xbwgnrmrtjafr jcnfni... Однако такой шифр имеет низкую стой-
кость, так как зашифрованный текст имеет те же статистические
характеристики, что и исходный. Например, текст на англий-
ском языке содержит символы со следующими частотами появ-
ления (в порядке убывания): Е — 0,13, Т — 0,105; А — 0,081,
О — 0,079 и т. д. В зашифрованном тексте наибольшие частоты
появления в порядке убывания имеют буквы R — 0,12; О — 0,09,
А и N по 0,07.
Естественно предположить, что символом R зашифрована
буква Е, символом О — букв Т и т. д. Это действительно соот-
ветствует таблице замены. Дальнейшая расшифровка не состав-
8.2. Криптографические методы защиты данных
473
ляет труда. Эти методы дешифровки хорошо известны из клас-
сической литературы (см., например, Артур Конан Дойль «Пля-
шущие человечки», или Алан Эдгар По «Золотой жук»).
Если бы объем зашифрованного текста был намного больше,
чем в рассмотренном примере, то частоты появления букв в за-
шифрованном тексте были бы еше ближе к частотам появления
букв в английском алфавите if расшифровка оказалась бы еще
проще. Поэтому простую замену используют редко и лишь в тех
случаях, когда шифруемый текст короток.
Для повышения стойкости шифра используют полиалфа-
витные подстановки, в которых для замены символов ис-
ходного текста используются символы нескольких алфавитов.
Известно несколько разновидностей полиалфавитной подста-
новки, наиболее известными из которых являются одно- (обык-
новенная и монофоническая) и многоконтурная.
При полиалфавитной одноконтурной обыкно-
венной подстановке для замены символов исходного текста
используются несколько алфавитов, причем смена алфавитов
осуществляется последовательно и циклически, т. е. первый
символ заменяется соответствующим символом первого алфави-
та, второй — символом второго алфавита и т. д. до тех пор, пока
не будут использованы все выбранные алфавиты. После этого
использование алфавитов повторяется.
Шифрование методом перестановки
Этот метод заключается в том. что символы шифруемого
текста переставляются по определенным правилам внутри шиф-
руемого блока символов. Рассмотрим некоторые наиболее часто
встречающиеся разновидности этого метода, которые могут быть
использованы в автоматизированных системах.
Самая простая перестановка — написать исходный текст за-
дом наперед и одновременно разбить шифрограмму на пятерки
букв. Например, из фразы
ПУСТЬ БУДЕТ ТАК, КАК МЫ ХОТЕЛИ
получится такой шифротекст:
ИЛЕТО ХЫМКА ККАТТ ЕДУБЬ ТСУП.
474
Глава 8. Защищенные информационные технологии
В последней группе (пятерке) не хватает одной буквы. Зна-
чит, прежде чем шифровать исходное выражение, следует его
дополнить не значащей буквой (например, О) до числа, кратно-
го пяти:
ПУСТЬ-БУДЕТ-ТАККА-КМЫХО-ТЕЛИО.
Тогда шифрограмма, несмотря на столь незначительное из-
менение, будет выглядеть по-другому:
ОИЛЕТ ОХЫМК АККАТ ТЕДУБ ЬТСУП
Кажется, ничего сложного, но при расшифровке проявятся
серьезные неудобства.
Во время Гражданской войны в США в ходу был такой
шифр: исходную фразу писали в несколько строк. Например, по
пятнадцать букв в каждой (с заполнением последней строки не-
значащими буквами).
Криптографические стандарты DES
и ГОСТ 28147—89
Широко известны алгоритмы блочного шифрования, приня-
тые в качестве государственных стандартов шифрования данных
в США и России.
В 1973 г. Национальное бюро стандартов США начало разра-
ботку программы по созданию стандарта шифрования данных на
ЭВМ. Был объявлен конкурс среди фирм-разработчиков США,
который выиграла фирма IBM, представившая в 1974 г. алго-
ритм шифрования, известный под названием DES (Data
Encryption Standart).
Входные 64-битовые векторы, называемые блоками откры-
того текста, преобразуются в выходные 64-битовые векторы, на-
зываемые блоками шифротекста, с помощью двоичного 56-би-
тового ключа К. Число различных ключей DES-алгоритма равно
256 > 7 10'6.
Алгоритм реализуется в течение 16 аналогичных циклов
шифрования, где на z-м цикле используется цикловой ключ К:,
представляющий собой алгоритмически вырабатываемую выбор-
ку 48 битов из 56 битов ключа К:, i = 1, 2, ..., 16.
8.2. Криптографические методы защиты данных
475
Алгоритм обеспечивает высокую стойкость, однако недавние
результаты показали, что современная технология позволяет соз-
дать вычислительное устройство стоимостью около 1 млн долла-
ров США, способное вскрыть секретный ключ с помошью пол-
ного перебора в среднем за 3,5 часа.
Из-за небольшого размера ключа было принято решение ис-
пользовать DES-алгоритм для закрытия коммерческой (несек-
ретной) информации. Практическая реализация перебора всех
ключей в данных условиях экономически нецелесообразна, так
как затраты на реализацию перебора не соответствуют ценности
информации, закрываемой шифром.
DES-алгоритм явился первым примером широкого произ-
водства и внедрения технических средств в области зашиты ин-
формации. Национальное Бюро Стандартов США организовало
проверку аппаратных реализаций DES-алгоритма на специаль-
ном тестирующем стенде. Только после положительных резуль-
татов проверки производитель получает от Национального Бюро
Стандартов сертификат на право реализации своего продукта.
К настоящему времени аттестовано несколько десятков изделий,
выполненных на различной элементной базе.
Достигнута высокая скорость шифрования. По некоторым
сообщениям, имеется микросхема, реализующая DES-алгоритм
со скоростью 45 Мбит/с. Велика доступность этих изделий:
стоимость некоторых аппаратных реализаций ниже 100 долл.
США.
Основные области применения DES-алгоритма:
• хранение данных в ЭВМ (шифрование файлов, паролей);
• аутентификация сообщений (имея сообщение и кон-
трольную группу, несложно убедиться в подлинности со-
общения);
• электронная система платежей (при операциях с широкой
клиентурой и между банками):
• электронный обмен коммерческой информацией (обмен
данными между покупателем, продавцом и банкиром за-
щищен от изменений и перехвата).
В 1989 г. в СССР был разработан блочный шифр для исполь-
зования в качестве государственного стандарта шифрования
данных. Разработка была принята и зарегистрирована как ГОСТ
28147—89. И хотя масштабы применения этого алгоритма шиф-
рования до сих пор уточняются, начало его внедрению, в част-
476
Глава 8. Защищенные информационные технологии
ности, в банковской системе, уже положено. Алгоритм несколь-
ко медлителен, но обладает весьма высокой стойкостью.
Блок-схема алгоритма ГОСТ отличается от блок-схемы
DES-алгоритма лишь отсутствием начальной перестановки и
числом циклов шифрования (32 в ГОСТе против 16 в DES-алго-
ритме).
Ключ алгоритма ГОСТ — это массив, состоящий из 32-мер-
ных векторов А'., Х2, A's. Цикловой ключ /-го цикла Ki равен Xs,
где ряду значений i от 1 до 32 соответствует следующий ряд зна-
чений м
1, 2, 3, 4, 5, 6, 7, 8, 1, 2. 3, 4, 5, 6, 7, 8. 1, 2, 3. 4, 5, 6, 7, 8, 8,
7, 6, 5, 4, 3, 2, 1.
В шифре ГОСТ используется 256-битовый ключ и объем
ключевого пространства составляет 22э6. Ни на одной из сущест-
вующих в настоящее время или предполагаемых к реализации в
недалеком будущем ЭВМ общего применения нельзя подобрать
ключ за время, меньшее многих сотен лет. Российский стандарт
проектировался с большим запасом и по стойкости на много по-
рядков превосходит американский стандарт DES с его реальным
размером ключа в 56 бит и объемом ключевого пространства
всего 256. В свете прогресса современных вычислительных
средств этого явно недостаточно. В этой связи DES может пред-
ставлять скорее исследовательский или научный, чем практиче-
ский интерес.
Алгоритм расшифрования отличается от алгоритма зашиф-
рования тем, что последовательность ключевых векторов ис-
пользуется в обратном порядке.
Характеристики криптографических средств защиты
Важнейшей характеристикой надежности криптографическо-
го закрытия информации является его стойкость. Под этим
понимается тот минимальный объем зашифрованного текста,
статистическим анализом которого можно вскрыть исходный
текст. Таким образом, по стойкости шифра можно определить
допустимый объем информации, зашифровываемый при ис-
пользовании одного ключа.
8.2. Криптографические методы защиты данных
477
При выборе криптографического алгоритма для использова-
ния в конкретной разработке одним из определяющих факторов
является его стойкость, т. е. устойчивость к попыткам противо-
положной стороны его раскрыть. Вопрос о стойкости шифра
при ближайшем рассмотрении сводится к двум взаимосвязан-
ным вопросам:
• можно ли вообще раскрыть данный шифр;
• если да, то насколько это трудно сделать практически;
Шифры, которые вообще невозможно раскрыть, называются
абсолютно или теоретически стойки м и. Существова-
ние подобных шифров доказывается теоремой Шеннона, однако
ценой этой стойкости является необходимость использования
для шифрования каждого сообщения ключа, не меньшего по
размеру самого сообщения. Во всех случаях, за исключением
ряда особых, эта цена чрезмерна, поэтому на практике в основ-
ном используются шифры, не обладающие абсолютной стойко-
стью. Таким образом, наиболее употребительные схемы шифро-
вания могут быть раскрыты за конечное время или, что точнее,
за конечное число шагов, каждый из которых является некото-
рой операцией над числами. Для них наиважнейшее значение
имеет понятие практической стойкости, выражающее
практическую трудность их раскрытия.
Количественной мерой этой трудности может служить число
элементарных арифметических и логических операций, которые
необходимо выполнить, чтобы раскрыть шифр, т. е. чтобы для
заданного шифротекста с вероятностью, не меньшей заданной
величины, определить соответствующий открытый текст. При
этом в дополнение к дешифруемому массиву данных криптоа-
налитик может располагать блоками открытых данных и соот-
ветствующих им зашифрованных данных или даже возможно-
стью получить для любых выбранных им открытых данных со-
ответствующие зашифрованные данные — в зависимости от
перечисленных и многих других неуказанных условий различа-
ют отдельные виды криптоанализа.
Все современные криптосистемы построены по принципу
Кирхгоффа, т. е. секретность зашифрованных сообщений опре-
деляется секретностью ключа. Это значит, что даже если сам ал-
горитм шифрования известен криптоаналитику, тот тем не ме-
нее не в состоянии расшифровать сообщение, если не распола-
гает соответствующим ключом. Все классические блочные
шифры, в том числе DES и ГОСТ, соответствуют этому принци-
478
Глава 8. Защищенные информационные технологии
пу и спроектированы таким образом, чтобы не было пути
вскрыть их более эффективным способом, чем полным перебо-
ром по всему ключевому пространству, т. е. по всем возможным
значениям ключа. Ясно, что стойкость таких шифров определя-
ется размером используемого в них ключа.
8.3. Компьютерные вирусы и защита от них
Компьютерные вирусы, их свойства и типы
Компьютерный вирус — это специально написанная, неболь-
шая по размерам программа (т. е. некоторая совокупность вы-
полняемого кода), которая может «приписывать» себя к другим
программам («заражать» их), создавать свои копии и внедрять их
в файлы, системные области компьютера и т. д., а также выпол-
нять различные нежелательные действия на компьютере.
По-видимому, самым ранним примером могут служить пер-
вые прототипы будущих вирусов программы-кролики. Не причи-
няя разрушений, они тем не менее были сконструированы так,
что многократно копируя себя, захватывали большую часть ре-
сурсов системы, отнимая процессорное время у других задач.
История их создания доподлинно не известна. Возможно, они
явились следствием программной ошибки, которая приводила к
зацикливанию и наделяла программу репродуктивными свойст-
вами. Первоначально кролики (rabbits) встречались только на
локальных машинах, но с появлением сетей быстро «научились»
распространяться по последним.
Затем, в конце шестидесятых годов была обнаружена само-
размножающаяся по сети APRAnet программа, известная сего-
дня как Creeper (вьюнок).
Вьюнок проявлял себя текстовым сообщением:
"i'm the creeper ... catch me.if you can"
(" я вьюнок... поймай меня, если сможешь"),
и экономно относился к ресурсам пораженной машины, не при-
чиняя ей никакого вреда и разве что слегка беспокоя владельца.
Каким бы безвредным Вьюнок ни казался, но он впервые пока-
зал, что проникновение на чужой компьютер возможно без ве-
дома и против желания его владельцев.
8.3. Компьютерные вирусы и защита от них
479
С появлением Creeper родились и первые системы защиты.
Первым шагом в борьбе против Вьюнка стал Жнец (Reaper), ре-
продуцирующийся наподобие Creeper, но уничтожающий все
встретившиеся ему копии последнего. Достоверно неизвестно,
чем закончилась борьба двух программ. Так или иначе, от по-
добного подхода к защите впоследствии отказались. Однако ко-
пии обеих программ еще долго бродили по сети.
Свойства вирусов. Своим названием компьютерные вирусы
обязаны определенному сходству с вирусами естественными:
• способности к саморазмножению;
• высокой скорости распространения;
• избирательности поражаемых систем (каждый вирус пора-
жает только определенные системы или однородные груп-
пы систем);
• способности «заражать» еще незаряженные системы;
• трудности борьбы с вирусами и т. д.
В последнее время к этим особенностям, характерным для
вирусов компьютерных и естественных, можно добавить еще и
постоянно увеличивающуюся быстроту появления модификаций
(мутаций) и новых поколений вирусов.
Программа, внутри которой находится вирус, называется
«зараженной». Когда такая программа начинает работу, то сна-
чала управление получает вирус. Вирус находит и «заражает»
другие программы, а также выполняет какие-нибудь вредные
действия (например, портит файлы или таблицу размещения
файлов на диске, «засоряет» оперативную память и т. д.). Для
маскировки вируса действия по заражению других программ и
нанесению вреда могут выполняться не всегда, а, скажем, при
выполнении определенных условий.
Классификация вирусов. Один из авторитетнейших «вирусоло-
гов» страны Евгений Касперский предлагает условно классифи-
цировать вирусы по следующим признакам:
• по среде обитания вируса;
• по способу заражения среды обитания;
• по деструктивным возможностям;
• по особенностям алгоритма вируса.
Более подробная классификация внутри этих групп пред-
ставлена на рис. 8.5.
Основными путями проникновения вирусов в компьютер яв-
ляются съемные диски (гибкие и лазерные), а также компьютер-
ные сети. Заражение жесткого диска вирусами может произойти
480
Глава 8. Защищенные информационные технологии
Сетевые Распространяются по компьютерной
Среда обитания = сети
► Файловые i Внедряются в выполняемые файлы
— " Загрузочные Внедряются в загрузочный сектор диска ’ (Boot-сектор)
Способы заражения Резидентные Нерезидентные
Находятся в памяти, активны до выклю-
чения компьютера
Не заражают память, являются активны-
1 ми ограниченное время
Безвредные Практически не влияют на работу; уменьшают свободную память на диске в результате своего распространения
Неопасные Уменьшают свободную память, создают звуковые, графические и прочие эффек- ты
Опасные Могут привести к серьезным сбоям в ра- боте
Очень опасные Могут привести к потере программ или системных данных
Вирусы-«спутники» Вирусы, не изменяющие файлы, созда- ют для ЕХЕ-файлов файлы-спутники с расширением .СОМ
Вирусы-«черви» Распространяются по сети, рассылают свои копии, вычисляя сетевые адреса
Особенности алгоритма вируса «Паразитические» Изменяют содержимое дисковых секто- ров или файлов
«Студенческие» Примитив, содержат большое количест- во ошибок
«Стелс»-вирусы (невидимки) Перехватывают обращения DOS к пора- женным файлам или секторам и под- ставляют вместо себя незараженные участки
Вирусы-призраки Не имеют ни одного постоянного участка кода, труднообнаруживаемы, основное тело вируса зашифровано
Макровирусы Пишутся не в машинных кодах, а на WordBasic, живут в документах Word, пе- реписывают себя в NormaLdot
Рис. 8.5. Основные классы вирусов
при загрузке программы с дискеты, содержащей вирус. Такое за-
ражение может быть случайным, например, если дискету не вы-
нули из дисковода А: и перезагрузили компьютер, при этом дис-
8.3. Компьютерные вирусы и защита от них
481
кета может быть и не системной. Заразить дискету гораздо про-
ще. На нее вирус может попасть, даже если дискету просто
вставили в дисковод зараженного компьютера и прочитали ее
оглавление.
Как работает вирус
Рассмотрим схему функционирования простейшего загрузоч-
ного вируса, заражающего дискеты. При включении компьютера
управление передается программе начальной загрузки, которая
хранится в постоянном запоминающем устройстве (ПЗУ) т. с.
ПНЗ ПЗУ.
Эта программа тестирует оборудование и при успешном за-
вершении проверок пытается найти дискету' в дисководе А:
Всякая дискета размечена на секторы и дорожки, секторы
объединяются в кластеры.
Среди секторов есть несколько служебных, используемых
операционной системой для собственных нужд (в этих секторах
не могут размешаться ваши данные). Среди служебных секторов
нас пока интересует один — так называемый сектор начальной
загрузки (boot sector).
В секторе начальной загрузки хранится информация о дис-
кете — количество поверхностей, количество дорожек, количе-
ство секторов и пр. Но нас сейчас интересует не эта информа-
ция, а небольшая программа начальной загрузки (ПНЗ), кото-
рая должна загрузить саму операционную систему и передать ей
управление.
Тем самым, нормальная схема начальной загрузки сле-
дующая:
ПНЗ (ПЗУ) - ПНЗ (диск) - СИСТЕМА
В загрузочных вирусах выделяют две части — так называе-
мую голову и так называемый хвост. Хвост, вообще говоря,
может быть пустым.
Пусть у вас имеются чистая дискета и зараженный компью-
тер, под которым мы понимаем компьютер с активным рези-
дентным вирусом. Как только этот вирус обнаружит, что в дис-
ководе появилась подходящая среда — в нашем случае не защи-
щенная от записи и еще незараженная дискета, он приступает к
482
Глава 8. Защищенные информационные технологии
заражению. Заражая дискету, вирус производит следующие дей-
ствия:
• выделяет некоторую область диска и помечает ее как не-
доступную операционной системе, это можно сделать
по-разному, в простейшем и традиционном случае занятые
вирусом секторы помечаются как сбойные (bad);
• копирует в выделенную область диска свой хвост и ориги-
нальный (здоровый) загрузочный сектор;
• замещает программу начальной загрузки в загрузочном
секторе (настоящем) своей головой;
• организует цепочку передачи управления согласно схеме:
ПНЗ (ПЗУ) - ВИРУС - ПНЗ (диск) - СИСТЕМА
Таким образом, голова вируса теперь первой получает управ-
ление, вирус устанавливается в память и передает управление
оригинальному загрузочному сектору.
Как правило, вирусы способны заражать не только загрузоч-
ные секторы дискет, но и загрузочные секторы НЖМД. При
этом в отличие от дискет на винчестере имеются два типа загру-
зочных секторов, содержащих программы начальной загрузки,
которые получают управление. При загрузке компьютера с вин-
честера первой берет на себя управление программа начальной
загрузки в MBR (Master Boot Record — главная загрузочная за-
пись). Если жесткий диск разбит на несколько разделов, то лишь
один из них помечен как загрузочный (boot). Программа началь-
ной загрузки в MBR находит загрузочный раздел винчестера и
передает управление на программу начальной загрузки этого раз-
дела. Код последней совпадает с кодом программы начальной за-
грузки, содержащейся на обычных дискетах, а соответствующие
загрузочные секторы отличаются только таблицами параметров.
Таким образом, на винчестере имеются два объекта атаки загру-
зочных вирусов — программа начальной загрузки в MBR и про-
грамма начальной загрузки boot-сектора загрузочного диска.
Способы заражения программ
• метод приписывания — код вируса приписывается к
концу файла заражаемой программы, и тем или иным спо-
собом осуществляется переход вычислительного процесса
на команды этого фрагмента;
8.3. Компьютерные вирусы и защита от них
483
• метод оттеснения — код вируса располагается в на-
чале зараженной программы, а тело самой программы при-
писывается к концу;
• метод вытеснения — из начала (или середины) файла
«изымается» фрагмент, равный по объему коду вируса,
приписывается к концу. Сам вирус записывается на осво-
бодившееся место. Разновидность метода вытеснения —
когда оригинальное начало не сохраняется вообще. Такие
программы являются полностью разрушенными и не могут
быть восстановлены никакими антивирусами;
• прочие методы — сохранение вытесненного фрагмен-
та программы в «кластерном хвосте» файла и пр.
Признаки проявления вируса
При заражении компьютера вирусом важно его обнаружить.
Для этого следует знать об основных признаках проявления ви-
русов. К ним можно отнести следующие:
• прекращение работы или неправильная работа ранее ус-
пешно функционировавших программ;
• медленная работа компьютера;
• невозможность загрузки операционной системы;
• исчезновение файлов и каталогов или искажение их содер-
жимого;
• изменение даты и времени модификации файлов;
• изменение размеров файлов;
• неожиданное значительное увеличение количества файлов
на диске;
• существенное уменьшение размера свободной оперативной
памяти;
• вывод на экран непредусмотренных сообщений или изо-
бражений;
• подача непредусмотренных звуковых сигналов;
• частые зависания и сбои в работе компьютера;
Следует отметить, что вышеперечисленные явления не обя-
зательно вызываются присутствием вируса, а могут быть следст-
вием других причин. Поэтому всегда затруднена правильная ди-
агностика состояния компьютера.
484
Глава 8. Защищенные информационные технологии
Методы защиты. Антивирусы
Каким бы ни был вирус, пользователю необходимо знать ос-
новные методы зашиты от компьютерных вирусов.
Для зашиты от вирусов можно использовать:
• общие средства зашиты информации, которые полезны
также как и страховка от физической порчи дисков, непра-
вильно работающих программ или ошибочных действий
пользователя;
• профилактические меры, позволяющие уменьшить вероят-
ность заражения вирусом;
• специализированные программы для зашиты от вирусов.
Общие средства зашиты информации полезны не только для
защиты от вирусов. Имеются две основные разновидности этих
средств:
• копирование информации — создание копий файлов и
системных областей дисков;
• разграничение доступа предотвращает несанкционирован-
ное использование информации, в частности, защиту от
изменений программ и данных вирусами, неправильно
работающими программами и ошибочными действиями
пользователей.
Для обнаружения, удаления и зашиты от компьютерных ви-
русов разработано несколько видов специальных программ, ко-
торые позволяют обнаруживать и уничтожать вирусы. Такие
программы называются антивирусными. Различают следующие
виды антивирусных программ:
• программы-детекторы;
• программы-доктора или фаги;
• программы-ревизоры;
• программы-фильтры;
• программы-вакцины или иммунизаторы.
Программы-детекторы осуществляют поиск характерного
для конкретного вируса кода (сигнатуры) в оперативной памяти
и в файлах и при обнаружении выдают соответствующее сооб-
щение. Недостатком таких антивирусных программ является то,
что они могут находить только те вирусы, которые известны раз-
работчикам таких программ.
Программы-доктора ала фаги, а также программы-вакцины
не только находят зараженные вирусами файлы, но и «лечат» их,
т. е. удаляют из файла тело программы-вируса, возвращая файлы
8.3. Компьютерные вирусы и защита от них
485
в исходное состояние. В начале своей работы фаги ищут вирусы
в оперативной памяти, уничтожая их, и только затем переходят
к «лечению» файлов. Среди фагов выделяют полифаги, т. е. про-
граммы-доктора, предназначенные для поиска и уничтожения
большого количества вирусов. Наиболее известные из них:
Aidstest, Scan, Norton AntiVirus. Doctor Web.
Программы-ревизоры относятся к самым надежным средст-
вам защиты от вирусов. Ревизоры запоминают исходное состоя-
ние программ, каталогов и системных областей диска тогда, ко-
гда компьютер не заражен вирусом, а затем периодически или
по желанию пользователя сравнивают текущее состояние с ис-
ходным. Обнаруженные изменения выводятся на экран монито-
ра. Как правило, сравнение состояний производят сразу после
загрузки операционной системы. При сравнении проверяются
длина файла, код циклического контроля (контрольная сумма
файла), дата и время модификации, другие параметры. Програм-
мы-ревизоры имеют достаточно развитые алгоритмы, обнаружи-
вают стелс-вирусы и могут даже очистить изменения версии
проверяемой программы от изменений, внесенных вирусом.
К числу программ-ревизоров относится широко распространен-
ная в России программа Adinf.
Программы-фильтры или «сторожа» представляют собой не-
большие резидентные программы, предназначенные для обнару-
жения подозрительных действий при работе компьютера, харак-
терных для вирусов. Такими действиями могут являться:
• попытки коррекции файлов с расширениями COM, EXE;
• изменение атрибутов файла;
• прямая запись на диск по абсолютному адресу;
• запись в загрузочные сектора диска;
• загрузка резидентной программы.
При попытке какой-либо программы произвести указанные
действия «сторож» посылает пользователю сообщение и предла-
гает запретить или разрешить соответствующее действие. Про-
граммы-фильтры весьма полезны, так как способны обнаружить
вирус на самой ранней стадии его существования до размноже-
ния. Однако, они не «лечат» файлы и диски. Для уничтожения
вирусов требуется применить другие программы, например фаги.
К недостаткам программ-сторожей можно отнести их «назойли-
вость» (например, они постоянно выдают предупреждение о лю-
бой попытке копирования исполняемого файла), а также воз-
можные конфликты с другим программным обеспечением. При-
486
Глава 8. Защищенные информационные технологии
мсром программы-фильтра является программа Vsafe, входящая
в состав пакета утилит MS-DOS.
Вакцины или иммунизаторы — резидентные программы, пре-
дотвращающие заражение файлов. Вакцины применяют, если от-
сутствуют программы-доктора, «лечащие» этот вирус. Вакцина-
ция возможна только от известных вирусов. Вакцина модифици-
рует программу или диск таким образом, чтобы это не отражалось
на их работе, а вирус будет воспринимать их зараженными и по-
этому7 не внедрится. В настоящее время программы-вакцины
имеют ограниченное применение.
Следует отметить, что своевременное обнаружение заражен-
ных вирусами файлов и дисков, полное уничтожение обнару-
женных вирусов на каждом компьютере позволяют избежать
распространения вирусной эпидемии на другие компьютеры.
8.4. Средства защиты данных в СУБД
Как только данные структурированы и сведены в базу дан-
ных, возникает проблема организации доступа к ним множества
пользователей. Очевидно, что нельзя позволить всем без исклю-
чения пользователям беспрепятственный доступ ко всем элемен-
там базы данных. В любой базе данных существует конфиденци-
альная информация, доступ к которой может быть разрешен
лишь ограниченному кругу лиц. Так, в банковской системе осо-
бо конфиденциальной может считаться, например, информация
о выданных кредитах. Это — один из аспектов проблемы без-
опасности в СУБД.
Безопасность реляционных СУБД
В самом общем виде требования к безопасности реляцион-
ных СУБД формулируются так:
• данные в любой таблице должны быть доступны не всем
пользователям, а лишь некоторым из них:
• некоторым пользователям должно быть разрешено обнов-
лять данные в таблицах, в то время как для других допуска-
ется лишь выбор данных из этих же таблиц;
8.4. Средства защиты данных в СУБД
487
• для некоторых таблиц необходимо обеспечить выборочный
доступ к ее столбцам;
• некоторым пользователям должен быть запрещен непо-
средственный (через запросы) доступ к таблицам, но разре-
шен доступ к этим же таблицам в диалоге с прикладной
программой.
Рассмотрим кратко средства зашиты данных в СУБД и мето-
ды авторизации доступа к данным, которые являются общепри-
нятыми для большинства современных СУБД, а также обсудим
новые методы зашиты данных.
Схема доступа к данным во всех реляционных СУБД выгля-
дит примерно одинаково и базируется на трех принципах:
• пользователи СУБД рассматриваются как основные
действующие лица, желающие получить доступ к данным.
СУБД от имени конкретного пользователя выполняет опе-
рации над базой данных, то есть добавляет строки в табли-
цы (insert), удаляет строки (delete), обновляет данные в
строках таблицы (update). Она делает это в зависимости
от того, обладает ли конкретный пользователь правами на
выполнение конкретных операций над конкретным объек-
том базы данных;
• объекты доступа — это элементы базы данных, досту-
пом к которым можно управлять (разрешать доступ или за-
щищать от доступа). Обычно объектами доступа являются
таблицы, однако ими могут быть и другие объекты базы
данных — формы, отчеты, прикладные программы и т. д.
Конкретный пользователь обладает конкретными правами
доступа к конкретному объекту;
• привилегии (priveleges) — это операции, которые разреше-
но выполнять пользователю над конкретными объектами.
Например, пользователю может быть разрешено выполне-
ние над таблицей операций select (выбрать) и insert
(включить).
Установление и контроль привилегий
Таким образом, в СУБД авторизация доступа осуществляется
с помощью привилегий. Установление и контроль привилегий —
прерогатива администратора базы данных.
488
Глава 8. Защищенные информационные технологии
Привилегии устанавливаются и отменяются специальными
операторами языка SQL grant (разрешить) и revoke
(отменить). Оператор grant указывает конкретного пользовате-
ля, который получает конкретные привилегии доступа к указан-
ной таблице. Например, оператор
GRANT SELECT, INSERT ON Деталь T? Петров
устанавливает привилегии пользователю Петров на выполнение
операций выбора и включения над таблицей Деталь. Таким об-
разом, оператор grant устанавливает соответствие между опера-
циями, пользователем и объектом базы данных (таблицей в дан-
ном случае).
Привилегии легко установить, но легко и отменить. Отмена
привилегий выполняется оператором revoke. Пусть, например,
пользователь Петров утратил доверие администратора базы дан-
ных и последний решил лишить его привилегий на включение
строк в таблицу Деталь. Он сделает это, выполнив оператор
REVOKE INSERT ON Деталь FROM Петров.
Конкретный пользователь СУБД опознается по уникальному
идентификатору (user-id). Любое действие над базой данных,
любой оператор языка SQL выполняется не анонимно, но от
имени конкретного пользователя. Идентификатор пользователя
определяет набор доступных объектов базы данных для конкрет-
ного физического лица или группы лиц. Однако он ничего не
сообщает о механизме его связи с конкретным оператором SQL.
Например, когда запускается интерактивный SQL, как СУБД уз-
нает, от имени какого пользователя осуществляется доступ к
данным? Для этого в большинстве СУБД используется сеанс
работы с базой данных. Для запуска на компьютере-кли-
енте программы переднего плана (например, интерактивного
SQL) пользователь должен сообщить СУБД свой идентификатор
и пароль. Все операции над базой данных, которые будут выпол-
нены после этого, СУБД свяжет с конкретным пользователем,
который запустил программу.
Системы паролей в СУБД. Механизм ролей
Некоторые СУБД (Oracle, Sybase) используют собственную
систему паролей, в других (Ingres, Informix) применяется иден-
тификатор пользователя и его пароль из операционной системы.
8.4. Средства защиты данных в СУБД
489
Для современных баз данных с большим количеством поль-
зователей актуальна проблема их объединения в группы. Тради-
ционно применяются два способа определения групп пользова-
телей:
• один и тот же идентификатор используется для доступа к
базе данных целой группы физических лиц (например, со-
трудников одного отдела). Это упрощает задачу админист-
ратора базы данных, так как достаточно один раз устано-
вить привилегии для этого «обобщенного» пользователя.
Однако такой способ в основном предполагает разрешение
на просмотр, быть может, на включение, но ни в коем слу-
чае — на удаление и обновление. Как только идентифика-
тор (и пароль) становится известен большому числу людей,
возникает опасность несанкционированного доступа к дан-
ным посторонних лиц;
• конкретному физическому лицу присваивается уникальный
идентификатор. В этом случае администратор базы данных
должен позаботиться о том, чтобы каждый пользователь
получил собственные привилегии. Если количество поль-
зователей базы данных возрастает, то администратору ста-
новится все труднее контролировать привилегии. В органи-
зации, насчитывающей свыше 100 пользователей, решение
этой задачи потребует от него массу внимания.
Современные СУБД позволяют исправить эти неудобства,
предлагая третий способ администрирования (Ingres, Informix).
Суть его состоит в поддержке, помимо идентификатора поль-
зователя, еще и идентификатора группы пользователей. Каж-
дый пользователь, кроме собственного идентификатора, имеет
также идентификатор группы, к которой он принадлежит.
Чаще всего группа пользователей соответствует структурному
подразделению организации, например отделу. Привилегии ус-
танавливаются нс только для отдельных пользователей, но и
для их групп.
Одна из проблем зашиты данных возникает по той причине,
что с базой данных работают как прикладные программы, так и
пользователи, которые их запускают. В любой организации су-
ществует конфиденциальная информация о заработной плате ее
служащих. К ней имеет доступ ограниченный круг лиц, напри-
мер, финансовый контролер. В то же время к этой информации
также имеют доступ некоторые прикладные программы, в част-
ности, программа для получения платежной ведомости. Тогда на
490
Глава 8. Защищенные информационные технологии
первый взгляд может показаться, что ее может запускать только
финансовый контролер. Если он отсутствует, то сделать это мо-
жет любой рядовой служащий — при условии, что ему известен
пароль финансового контролера. Таким образом, необходимость
запуска некоторых прикладных программ пользователями, кото-
рые обладают различными правами доступа к данным, приводит
к нарушению схемы безопасности.
Одно из решений проблемы заключается в том, чтобы при-
кладной программе также были приданы некоторые привилегии
доступа к объектам базы данных. В этом случае пользователь, не
обладающий специальными привилегиями доступа к некоторым
объектам базы данных, может запустить прикладную программу,
которая имеет такие привилегии.
Так, в СУБД Ingres это решение обеспечивается механизмом
ролей (role). Роль представляет собой именованный объект,
хранящийся в базе данных. Роль связывается с конкретной при-
кладной программой для придания последней привилегий досту-
па к базам данных, таблицам, представлениям и процедурам
базы данных. Роль создается и удаляется администратором базы
данных, ей может быть придан определенный пароль. Как толь-
ко роль создана, ей можно предоставить привилегии доступа к
объектам базы данных.
Пусть, например, в некоторой организации работает служа-
щий, имеющий имя пользователя Петров. По характеру своей
работы он часто обращается к таблице Заработная плата. Он
также является членом группы Учет. Для пользователей этой
группы разрешено выполнение операции SELECT над таблицей
Заработная плата. Всякий раз, когда ему необходимо выпол-
нить операцию выборки из таблицы, он должен для начала сеан-
са ввести идентификатор своей группы.
Однако ни один из пользователей группы Учет не может
непосредственно выполнить операцию update. Для этого необ-
ходимо запустить программу Контроль заработной платы, ко-
торая имеет привилегии обновления этой таблицы и выполняет
специальные проверки для корректного выполнения операции.
С этой целью администратором БД создается и помещается в
БД роль Обновить заработную плату, для чего используется
оператор
CREATE ROLE Обновить заработную
плату WITH PASSWORD = 'ДТ311С1.
8.4. Средства защиты данных в СУБД
491
Далее оператор
GRANT SELECT, UPDATE ON Зар=сссн=я ллата
ТО ROLE Обновить заработную плату
предоставляет новой роли привилегии на выполнение операций
выбора и обновления таблицы Заработная п-ата. Когда поль-
зователь Петроз запускает программу Чснгрсль заработной
платы, то она получает привилегии роли Сбнозыть заработную
плату. Тем самым данный пользователь, сам не обладая приви-
легиями на обновление таблицы, тем не менее может выполнить
эту операцию, но только запустив прикладную программу. Она
же, в свою очередь, должна играть определенную роль, которой
приданы соответствующие привилегии доступа к таблице.
Многоуровневая защита
Выше речь шла о реализациях схемы безопасности, которые
ограничиваются схемой «данные — владелец». В них
пользователь, работающий с базой данных, является владельцем
некоторых ее объектов, а для доступа к другим объектам должен
получить привилегии. Он может получить статус пользователя
СУБД и некоторые привилегии доступа к объектам БД, войти в
группу пользователей и полупить соответствующие привилегии
доступа, получить права на запуск некоторых прикладных про-
грамм. Это — так называемый добровольный или дискрецион-
ный контроль доступа (discretionary access control). Называется
он так потому, что владелец данных по собственному усмотре-
нию ограничивает крут пользователей, имеющих доступ к дан-
ным. которыми он владеет.
Несмотря на то, что в целом этот метод обеспечивает безо-
пасность данных, современные информационные системы тре-
буют другую, более изощренную схему безопасности — обяза-
тельный или принудительный контроль доступа (mandatory
access control). Он основан на отказе от понятия владельца дан-
ных и опирается на так называемые метки безопасности (security
labels), которые присваиваются данным при их создании. Каж-
дая из меток соответствует некоторому уровню безопасности.
Метки служат для классификации данных по уровням. Напри-
мер, для правительственных и коммерческих организаций такая
классификация выглядит следующим образом (рис. 8.6).
492
Глава 8. Защищенные информационные технологии
Рис. 8.6. Классификация данных по уровням безопасности
Так как данные размешены по уровням безопасности метка-
ми, конкретный пользователь получает ограниченный доступ к
данным. Он может оперировать только с данными, расположен-
ными на том уровне секретности, который соответствует его ста-
тусу. При этом он не является владельцем данных.
Эта схема безопасности опирается на механизм, позволяю-
щий связать метки безопасности с каждой строкой любой табли-
цы в базе данных. Любой пользователь может потребовать в сво-
ем запросе отобразить любую таблицу из базы данных, однако
увидит он только те строки, у которых метки безопасности не
превышают уровень его компетенции.
8.5. Защита информации в сетях
493
8.5. Защита информации в сетях
Международные стандарты Х.800 и Х.509.
Рекомендации IETF
Стандарт Х.800 описывает основы безопасности в привязке
к эталонной семиуровневой модел и. Стандарт преду-
сматривает следующие сервисы безопасности:
• аутентификация (имеются в виду аутентификация партне-
ров по общению и аутентификация источника данных);
• управление доступом — обеспечивает защиту от несанк-
ционированного использования ресурсов, доступных по
сети;
• конфиденциальность данных - в Х.800 под этим названи-
ем объединены существенно разные вещи — от защиты от-
дельной порции данных до конфиденциальности трафика;
• целостность данных — данный сервис подразделяется на
подвиды в зависимости от того, что контролируется — це-
лостность сообщений или потока данных, обеспечивается
ли восстановление в случае нарушения целостности;
• неотказуемость — данный сервис относится к прикладному
уровню, т. е. имеется в виду невозможность отказаться от
содержательных действий, таких, например, как отправка
или прочтение письма.
Администрирование средств безопасности включает в себя
распространение информации, необходимой для работы серви-
сов безопасности, а также сбор и анализ информации об их
функционировании. Примерами могут служить распространение
криптографических ключей, установка прав доступа, анализ ре-
гистрационного журнала и т. п.
Концептуальной основой администрирования является ин-
формационная база управления безопасностью. Эта база может
нс существовать как единое (распределенное) хранилище, но ка-
ждый компонент системы должен располагать информацией,
достаточной для проведения в жизнь избранной политики без-
опасности.
В условиях глобальной связности администрирование пере-
стает быть внутренним делом организации. Во-первых, плохо за-
щищенная система может стать плацдармом для подготовки и
проведения злоумышленных действий. Во-вторых, прослежива-
494
Глава 8. Защищенные информационные технологии
ние нарушителя эффективно лишь при согласованных действиях
многих администраторов.
Стандарт Х.509 описывает процедуру аутентификации с ис-
пользованием службы каталогов. Впрочем, наиболее ценной в
стандарте оказалась не сама процедура, а ее служебный эле-
мент — структура сертификатов, хранящих имя пользователя,
криптографические ключи и сопутствующую информацию. По-
добные сертификаты — важнейший элемент современных схем
аутентификации и контроля целостности.
Рекомендации IETF. Сообществом Интернет под эгидой Те-
матической группы по технологии Интернет (Internet Engineering
Task Force — IETF) разработан ряд рекомендаций по отдельным
аспектам сетевой безопасности.
Рекомендации периодически организуемых конференций по
архитектуре безопасности Интернет носят весьма общий, а по-
рой и формальный характер. Основная идея состоит в том, что-
бы средствами оконечных систем обеспечивать сквозную без-
опасность. От сетевой инфраструктуры в лучшем случае ожида-
ется устойчивость по отношению к атакам на доступность.
Базовые протоколы, наиболее полезные с точки зрения без-
опасности, включают в себя — IPsec, DNSsec, S/MIME, X.509v3,
TLS и ассоциированные с ними. Наиболее проработанными на
сегодняшний день являются вопросы зашиты на IP-уровне. Спе-
цификации семейства IPsec регламентируют следующие аспек-
ты:
• управление доступом;
• контроль целостности на уровне пакетов;
• аутентификация источника данных;
• зашита от воспроизведения;
• конфиденциальность (включая частичную защиту от ана-
лиза трафика);
• администрирование (управление криптографическими
ключами).
Протоколы обеспечения аутентичности и конфиденциаль-
ности могут использоваться в двух режимах: транспортном
и туннельном. В первом случае защищается только содер-
жимое пакетов и, быть может, некоторые поля заголовков. Как
правило, транспортный режим используется хостами. В тун-
нельном режиме защищается весь пакет — он инкапсулируется
в другой IP-пакет. Туннельный режим (тунеллирование) обыч-
но реализуют на специально выделенных защитных шлюзах
8.5. Защита информации в сетях
495
(в роли которых могут выступать маршрутизаторы или межсете-
вые экраны).
Суть туннелирования состоит в том, чтобы «упаковать» пере-
даваемую порцию данных вместе со служебными полями в но-
вый «конверт». Данный сервис может применяться для несколь-
ких целей:
• осуществление перехода между сетями с разными протоко-
лами (например. IPv4 и IPv6):
• обеспечение конфиденциальности и целостности всей пе-
редаваемой порции, включая служебные поля.
Туннелирование может применяться как на сетевом, так и
прикладном уровнях. Например, стандартизовано туннелирова-
ние для IP и двойное конвертование для почты Х.400.
Следует отметить, что IP-уровень можно считать оптималь-
ным для размещения защитных средств, поскольку при этом
достигается удачный компромисс между защищенностью, эф-
фективностью функционирования и прозрачностью для прило-
жений. Стандартизованными механизмами IP-безопасности мо-
гут (и должны) пользоваться протоколы более высоких уровней
и, в частности, управляющие протоколы, протоколы конфигури-
рования и маршрутизации.
На транспортном уровне аутентичность, конфиденциаль-
ность и целостность потоков данных обеспечиваются протоко-
лом TLS (Transport Layer Security. RFC 2246). Подчеркнем, что
здесь объектом зашиты являются не отдельные сетевые пакеты, а
именно потоки данных (последовательности пакетов). Злоумыш-
ленник не сможет переупорядочить пакеты, удалить некоторые
из них или вставить свои.
На основе TLS могут строиться защищенные протоколы
прикладного уровня. В частности, предложены спецификации
для HTTP над TLS.
Архитектура механизмов защиты информации
в сетях ЭВМ
Архитектуру механизмов защиты информации можно рас-
смотреть на примере эталонной модели взаимодействия откры-
тых систем — ВОС (см. ранее гл. 6).
Основные концепции применения методов и средств зашиты
информации на уровне базовой эталонной модели изложены в
496
Глава 8. Защищенные информационные технологии
международном стандарте ISO/IEC 7498-2 «Базовая эталонная
модель взаимодействия открытых систем, часть 2 «Архитектура
безопасности». В самом наименовании ВОС термин открытые
подразумевает, что если вычислительная система соответствует
стандартам ВОС, то она будет открыта для взаимосвязи с любой
другой системой, которая соответствует тем же стандартам. Это
естественно относится и к вопросам зашиты информации.
В ВОС различают следующие основные активные способы
несанкционированного доступа к информации:
• маскировка одного логического объекта под другой, обла-
дающий большими полномочиями (ложная аутентифика-
ция абонента):
• переадресация сообщений (преднамеренное искажение ад-
ресных реквизитов);
• модификация сообщений (преднамеренное искажение ин-
формационной части сообщения);
• блокировка логического объекта с целью подавления неко-
торых типов сообщений (выборочный или сплошной пере-
хват сообщений определенного абонента, нарушение
управляющих последовательностей и т. и.).
Поскольку эталонная модель относится только к взаимосвя-
зи открытых систем, то и зашита информации рассматривается в
том же аспекте. Прежде всего, приведём перечень видов услуг,
предоставляемых по защите информации, которые обеспечива-
ются с помощью специальных механизмов зашиты. В настоящее
время определено четырнадцать таких услуг:
1) аутентификация равнозначного логическо-
го объекта (удостоверение подлинности удаленного абонен-
та-получателя) — обеспечивается во время установления их со-
единения или во время нормального обмена данными для гаран-
тии того, что равноправный логический объект, с которым
осуществляется взаимодействие, является тем, за кого себя вы-
дает. Для аутентификации равнозначного логического объекта
требуется, чтобы лежащий ниже уровень обеспечивал услуги с
установлением соединения;
2) аутентификация источника данных — под-
тверждение подлинности источника (абонента-отправителя) со-
общения. Эта услуга не ориентирована на соединение и не обес-
печивает защиту от дублирования («проигрывания» ранее пере-
хваченного и записанного нарушителем) блока данных;
8.5. Защита информации в сетях
497
3) у п р а в л е н и е доступом (разграничение доступа) — обес-
печивает защиту от несанкционированного доступа к ресурсам,
потенциально доступным посредством ВОС. Доступ может быть
ограничен полностью или частично. Например, для информаци-
онного ресурса может быть ограничен доступ по чтению, запи-
си, уничтожению информации;
4) засекречивание соединения — обеспечивает
конфиденциальность всех сообщений, передаваемых пользовате-
лями в рамках данного соединения. Данная услуга направлена
на предотвращение возможности ознакомления с содержанием
сообщений со стороны любых лиц, не являющихся легальными
пользователями соединения. При этом в некоторых случаях нет
необходимости в защите срочных данных и данных в запросе на
установление соединения;
5) засекречивание в режиме без установления
соединения — обеспечивает конфиденциальность всех дан-
ных пользователя в сообщении (единственном сервисном блоке
данных), передаваемом в режиме без установления соединения;
6) засекречивание поля данных — обеспечивает
конфиденциальность отдельных полей данных пользователя на
всем соединении или в отдельном сервисном блоке данных;
7) засекречивание трафика — препятствует возмож-
ности извлечения информации из наблюдаемого графика;
8) целостность соединения с восстановлени-
ем — позволяет обнаружить попытки вставки, удаления, моди-
фикации или переадресации в последовательности сервисных
блоков данных. При нарушении целостности предпринимается
попытка ее восстановления;
9) целостность соединения без восстановле-
ния — обеспечивает те же возможности, что и предыдущая ус-
луга, но без попытки восстановления целостности;
целостность поля данных в режиме с уста-
новлением соединения — обеспечивает целостность от-
дельного поля данных пользователя во всем потоке сервисных
блоков данных, передаваемых через это соединение, и обнару-
живает вставку, удаление, модификацию или переадресацию
этого поля;
11) целостность поля данных в режиме без ус-
тановления соединения — позволяет обнаружить моди-
фикацию выбранного поля в единственном сервисном блоке
данных;
498
Глава 8. Защищенные информационные технологии
12) целостность блока данных в режиме без ус-
тановления соединения — обеспечивает целостность
единственного сервисного блока данных при работе без установ-
ления соединения и позволяет обнаружить модификацию и не-
которые формы вставки и переадресации;
13) информирование об отправке данных — по-
зволяет обнаружить логические объекты, которые посылают ин-
формацию о нарушении правил зашиты информации. Инфор-
мирование об отправке предоставляет получателю информацию
о факте передачи данных в его адрес, обеспечивает подтвержде-
ние подлинности абонента-отправителя. Услуга направлена на
предотвращение отрицания отправления, т. е. возможности
отказа от факта передачи данного сообщения со стороны отпра-
вителя;
14) информирование о доставке — позволяет обна-
ружить логические объекты, которые не выполняют требуемых
действий после приема информации, предоставляет отправите-
лю информацию о факте получения данных адресатом. Услуга
направлена на предотвращение отрицания доставки, т. е. обес-
печивает защиту от попыток получателя отрицать факт получе-
ния данных.
Теоретически доказано, а практика защиты сетей подтверди-
ла, что все перечисленные услуги могут быть обеспечены крип-
тографическими средствами защиты, в силу чего эти
средства и составляют основу всех механизмов защиты информа-
ции в ВС. Центральными при этом являются следующие задачи:
• взаимное опознавание (аутентификация) вступающих в
связь абонентов сети;
• обеспечение конфиденциальности циркулирующих в сети
данных;
• обеспечение юридической ответственности абонентов за
передаваемые и принимаемые данные.
Решение последней из названных задач обеспечивается с по-
мощью так называемой цифровой (электронной) под-
пи с и.
К настоящему времени разработан ряд протоколов аутенти-
фикации, основанных на использовании шифрования, которые
обеспечивают надежную взаимную аутентификацию абонентов
вычислительной сети без экспозиции любого из абонентов. Эти
протоколы являются стойкими по отношению ко всем рассмот-
ренным выше угрозам безопасности сети.
8.5. Защита информации в сетях
499
Любая СУБД есть полная или частичная реализация некото-
рой политики безопасности, которая может содержать или не
содержать криптографические механизмы безопасности. Основ-
ной проблемой использования криптографических методов для
зашиты информации в СУБД является проблема распределения
ключей шифрования, управления ключами.
Ключи шифрования для баз данных требуют использования
специфических мер зашиты. Если база данных разделяется .меж-
ду многими пользователями (что. как правило, и имеет место на
практике), то предпочтительно хранить ключи в самой системе
под зашитой главного ключа, чем распределять ключи прямо
между пользователями. Сама задача управления при этом может
возлагаться на пользователя. Вторичные ключи могут храниться
либо в самой базе данных, либо в отдельном файле.
Отметим, что любой протокол шифрования должен отвечать
на следующие основные вопросы:
1) каким образом устанавливается первоначальный канал
связи между отправителем и получателем с операциями «откры-
тый текст — шифротекст — открытый текст»?
2) какие предоставляются средства для восстановления про-
цесса обмена и восстановления синхронизации протокола?
3) каким образом закрываются каналы?
4) каким образом взаимодействуют протоколы шифрования с
остальными протоколами сети?
5) каков объем необходимого математического обеспечения
для реализации протоколов шифрования и зависит ли безопас-
ность сети от этих программ?
6) каким образом адресация открытого текста, проставляемая
отправителем, проходит через средства информации в сети, что-
бы предотвратить пути, по которым данные открытого текста
могли бы быть намеренно или случайно скомпрометированы?
Желательно иметь протокол, который позволяет производить
динамическое открытие и закрытие канала, обеспечивать защиту
от сбоев и все это с минимальными объемами механизма, от ко-
торого зависит безопасность сети. Характеристики сети, полу-
чающиеся при использовании соответствующего протокола
шифрования, должны сравниваться с характеристиками сети без
использования протоколов шифрования. Несомненно, что пред-
почтительней использование общего сетевого протокола, кото-
рый мог бы встраиваться в сеть с минимальным нарушением су-
ществующих механизмов передачи.
500
Глава 8. Защищенные информационные технологии
Механизм управления доступом, предназначенный для реа-
лизации соответствующего вида перечисленных выше услуг,
основан на идентификации логического объекта (или инфор-
мации о нем) для проверки его полномочий и разграничения
доступа.
Если логический объект пытается получить доступ к ресурсу,
использование которого ему не разрешено, механизм управле-
ния доступом (в основе которого также наиболее эффективными
средствами являются криптографические) отклонит эту попытку
и сформирует запись в специальном системном журнале для по-
следующего анализа. Механизмы управления доступом могут
быть основаны на:
1) информационных базах управления доступом, где содер-
жатся сведения о полномочиях всех логических объектов;
2) системах управления криптографическими ключами, обес-
печивающими доступ к соответствующей информации;
3) идентифицирующей информации (такой, как пароли),
предъявление которой дает право доступа;
4) специальных режимах и особенностях работы логического
объекта, которые дают право доступа к определенным ресурсам;
5) специальных метках, которые будучи ассоциированы с
конкретным логическим объектом, дают ему определенные пра-
ва доступа;
6) времени, маршруте и продолжительности доступа.
Механизмы удостоверения целостности данных подразделя-
ются на два типа: обеспечивающие целостность единственного
блока данных и обеспечивающие целостность потока блоков
данных или отдельных полей этих блоков. Целостность единст-
венного блока данных достигается добавлением к нему при пе-
редаче проверочной величины (контрольной суммы, имитов-
ставки), которая является секретной функцией самих данных.
При приеме генерируется (формируется) такая же величина и
сравнивается с принятой. Зашита целостности последовательно-
сти блоков данных требует явного упорядочения блоков с помо-
щью их последовательной нумерации, криптографического упо-
рядочения или отметки времени.
Механизмы аутентификации (взаимного удостоверения под-
линности) абонентов, вступающих в связь, используют пароли,
криптографические методы, а также характеристики и взаимоот-
ношения подчиненности логических объектов. Криптографиче-
ские методы могут использоваться в сочетании с протоколами
8.5. Защита информации в сетях
501
взаимных ответов («рукопожатия») для зашиты от переадреса-
ции. Если обмен идентификаторами не ласт положительного ре-
зультата, то соединение отклоняется или заканчивается с соот-
ветствующей записью в системном журнале и выдачей сообще-
ния об этом событии.
Механизм заполнения трафика используется для зашиты от
попыток анализа трафика. Он эффективен только в случае шиф-
рования всего трафика, когда нельзя отличить информацию от
заполнения.
Механизм управления маршрутизацией позволяет использо-
вать только безопасные с точки зрения зашиты информации
фрагменты сети, участки переприема, коммуникации, звенья.
Может быть запрешена передача некоторых данных по опреде-
ленным маршрутам, или оконечная система, обнаружив воздей-
ствие на ее информацию, может потребовать предоставить ей
маршрут доставки данных, обеспечивающий их конфиденциаль-
ность и целостность.
Механизм нотариального заверения обеспечивается участием
третьей стороны — «нотариуса», позволяет подтвердить целост-
ность данных, удостоверить источник и приемник данных, вре-
мя сеанса связи и т. и.
Пример системы защиты локальной
вычислительной сети
Для иллюстрации приведем краткое описание системы за-
шиты локальной вычислительной сети на основе ОС Novell
NetWare, известной под названием «Secret NET».
Назначение системы защиты. Система зашиты «Secret NET»
(далее по тексту Система защиты) предназначена для обеспече-
ния зашиты хранимой и обрабатываемой в локальной вычисли-
тельной сети (ЛВС) информации от несанкционированного дос-
тупа (ознакомления, искажения, разрушения) и противодейст-
вия попыткам нарушения нормального функционирования ЛВС
и прикладных систем на ее основе.
В качестве защищаемого объекта выступает ЛВС персональ-
ных ЭВМ, работающих пол сетевой операционной системой
Novell NetWare 3.1х (файловые серверы), объединенных при по-
мощи сетевого оборудования Ethernet, Arcnet или Token-Ring.
502
Глава 8. Защищенные информационные технологии
Максимальное количество защищенных станций — 256, защи-
щенных файловых серверов — 8, уникально идентифицируемых
пользователей — 255.
Система защиты позволяет решать следующие задачи:
• зашита от лиц, не допущенных к работе с системой обра-
ботки информации;
• регламентация (разграничение) доступа законных пользо-
вателей и программ к информационным, программным и
аппаратным ресурсам системы в строгом соответствии с
принятой в организации политикой безопасности;
• зашита ЭВМ сети от внедрения вредоносных программ (за-
кладок), а также инструментальных и технологических
средств проникновения;
• обеспечение целостности критических ресурсов Системы
зашиты и среды исполнения прикладных программ;
• регистрация, сбор, хранение и выдача сведений обо всех
событиях, происходящих в сети и имеющих отношение к
се безопасности;
• централизованное управление средствами Системы зашиты.
Для решения перечисленных задач Система зашиты включа-
ет следующие подсистемы (ПС):
• идентификации и аутентификации пользователей;
• разграничения доступа к ресурсам;
• контроля целостности;
• регистрации;
• управления средствами зашиты (администрирования).
Общее содержание функций подсистем заключается в сле-
дующем.
ПС идентификации и аутентификации. Выполняет функцию
идентификации/аутентификации (проверки подлинности) поль-
зователя при каждом его входе в Систему, а также после каждой
приостановки его работы. Для идентификации в системе каждо-
му пользователю присваивается уникальное имя. Обеспечивает-
ся работа с именами длиной до 12 символов (символов латин-
ского алфавита и специальных символов). Вводимое имя отобра-
жается на экране рабочей станции.
Проверка подлинности пользователя осуществляется после
его идентификации для подтверждения того, что пользователь
действительно является тем, кем представился. Проверка осуще-
ствляется путем проверки правильности введенного пароля.
8.5. Защита информации в сетях
503
Поддерживается работа с паролями длиной до 16 символов. Вво-
димый пароль не отображается на экране рабочей станции.
При неправильно введенном пароле на экран выдается сооб-
щение об ошибке и подается звуковой сигнал. При трехкратном
неверном вводе пароля блокируется клавиатура, выдается сооб-
щение о попытке НСД на сервер управления доступом и осуще-
ствляется оперативное оповещение администратора безопасно-
сти, регистрируется попытка НСД в системном журнале и выда-
ется звуковой сигнал.
Пароли администратора и всех пользователей системы хра-
нятся в зашифрованном виде и могут быть изменены как адми-
нистратором безопасности, так и конкретным пользователем
(изменение только своего пароля) с помощью специальных про-
граммных средств.
Для повышения защищенности идентификация/аутентифи-
кация пользователя может проводиться до загрузки операцион-
ной системы. Это обеспечивается специальным техническим
устройством (микросхемой ПЗУ или платой Secret NET Card).
ПС разграничения доступа. Реализует концепцию диспетчера
доступа, при которой ПС является посредником при всех обра-
щениях субъектов к объектам доступа (попытки обращения к
объекту в обход ПС приводят к отказу в доступе); может рабо-
тать в одном из двух режимов функционирования: основном и
технологическом.
Технологический режим предназначен для точного
определения объектов, к которым должен иметь доступ пользо-
ватель, и прав доступа к ним. При работе в этом режиме Систе-
ма только регистрирует все попытки доступа к защищаемым ре-
сурсам в системном журнале и выдает предупреждающие сооб-
щения на экран.
В основном режиме Система зашиты не только реги-
стрирует попытки доступа к защищаемым ресурсам, но и бло-
кирует их.
Пользователю предоставлена только возможность назначе-
ния прав доступа других пользователей к принадлежащим ему
(созданным им) объектам.
Для реализации избирательного управления доступом под-
система поддерживает замкнутую среду доверенного программ-
ного обеспечения (с помощью индивидуальных для каждого
пользователя списков программ, разрешенных для запуска).
Создание и ведение списков программ возложено на админист-
504
Глава 8. Защищенные информационные технологии
ратора. Для этого в его распоряжении имеются специальные
программные средства.
Для совместного использования программ и данных Система
защиты предусматривает возможность объединения пользовате-
лей в группы. Права доступа группы наследуются всеми пользо-
вателями этой группы.
ПС обеспечивает контроль доступа субъектов к следующим
объектам:
• физическим и логическим устройствам (дискам, принте-
рам);
• каталогам дисков;
• файлам;
• физическим и логическим секторам дисков.
В подсистеме реализована сквозная иерархическая схема
действия прав доступа к локальным объектам рабочей станции,
при которой объект нижнего уровня наследует права доступа
объектов доступа верхних уровней (диск — каталог — файл).
Права доступа пользователя к объектам системы могут при-
нимать следующие значения:
• запрет доступа — пользователь не имеет возможности вы-
полнять с объектом какие-либо действия;
• наличие доступа — в этом случае уровень доступа может
быть одним из следующих: доступ на чтение, доступ на за-
пись, доступ на исполнение (субъект может только запус-
тить объект на исполнение).
ПС контроля целостности. В системе контролируется цело-
стность следующих объектов: операционных систем локальных
рабочих станций, программ Системы защиты, файлов паспортов
пользователей и системных областей локальных дисков рабочих
станций, а также файлов пользователей (по требованию пользо-
вателей). Контроль осуществляется методом контрольного сум-
мирования с использованием специального алгоритма и произ-
водится периодически администратором. Для этого ему предо-
ставлены соответствующие программные средства.
В случае обнаружения нарушения целостности контролируе-
мых объектов производится регистрация этого события в сис-
темном журнале и оперативное оповещение администратора.
В случае нарушения целостности системных областей диска,
8.5. Защита информации в сетях
505
кроме того, производится их восстановление с использованием
резервных копий.
ПС регистрации событий безопасности — обеспечивает:
• ведение и анализ журналов регистрации событий безопас-
ности (системных журналов), причем журнал регистрации
ведется для каждой рабочей станции сети;
• оперативное ознакомление администратора с системным
журналом любой станции и с журналом событий об НСД;
• получение твердой копии системного журнала;
• преобразование содержимого системных журналов в фор-
мат DBF для их дальнейшего анализа;
• объединение системных журналов и их архивирование;
• оперативное оповещение администратора о нарушениях
безопасности. ‘
ПС управления средствами защиты. Подсистема позволяет
администрации безопасности осуществлять:
• централизованное (с АРМ администратора) создание и уда-
ление пользователей, изменение их полномочий и паролей;
• установку атрибутов доступа пользователей к ресурсам;
• централизованное создание, удаление и изменение состава
групп пользователей, а также их прав доступа;
• централизованное управление группами компьютеров;
• централизованное управление оперативным оповещением
о НСД;
• централизованное управление регистрацией событий и
просмотр системных журналов.
Контрольные вопросы
1. Перечислите уровни информационной безопасности.
2. В чем состоят основные угрозы информационной безопасности?
3. Что такое политика безопасности?
4. Перечислите основные направления физической защиты.
5. Охарактеризуйте основные программно-технические меры защиты
информации.
6. Что такое протоколирование и аудит?
7. Что такое криптология?
8. Что такое ключ?
9. Что из себя представляет криптосистема?
10. Дайте определение стойкости криптосистемы.
506 Глава 8. Защищенные информационные технологии
11. Объясните суть алгоритма DES и укажите на его особенности.
12. Какие классы антивирусных программ вам известны?
13. Какие вредоносные программные закладки кроме вирусов вам из-
вестны?
14. Какие типы компьютерных вирусов вам известны?
15. Укажите основные признаки заражения компьютера.
16. Какие существуют методы борьбы с компьютерными вирусами?
17. Дайте классификацию антивирусных программ.
18. Что такое программа-полифаг?
19. Что такое программа-детектор?
20. В чем заключается установление и контроль привилегий в СУБД?
21. Что такое механизм ролей?
22. Охарактеризуйте задачи стандарта Х.800.
23. Что такое туннелирование?
24. Перечислите механизмы защиты информации в сетях.
Заключение
Современный период развития цивилизованного общества
характеризует процесс информатизации.
Информатизация общества — это глобальный социальный
процесс, особенность которого состоит в том. что доминирую-
щим видом деятельности в сфере общественного производства
является сбор, накопление, продуцирование, обработка, хране-
ние, передача и использование информации, осуществляемые на
основе современных средств микропроцессорной и вычисли-
тельной техники, а также на базе разнообразных средств инфор-
мационного обмена. Информатизация общества обеспечивает:
• активное использование постоянно расширяющегося ин-
теллектуального потенциала общества, сконцентрирован-
ного в печатном фонде, и научной, производственной и
других видах деятельности его членов,
• интеграцию информационных технологий с научными,
производственными, инициирующую развитие всех сфер
общественного производства, интеллектуализацию трудо-
вой деятельности;
• высокий уровень информационного обслуживания, доступ-
ность любого члена общества к источникам достоверной
информации, визуализацию представляемой информации,
существенность используемых данных.
Применение открытых информационных систем, рассчитан-
ных на использование всего массива информации, доступной в
данный момент обществу в определенной его сфере, позволяет
усовершенствовать механизмы управления общественным уст-
ройством. способствует гуманизации и демократизации общест-
ва, повышает уровень благосостояния его членов. Процессы,
происходящие в связи с информатизацией общества, способст-
вуют не только ускорению научно-технического прогресса, ин-
теллектуализации всех видов человеческой деятельности, но и
созданию качественно новой информационной среды социума,
обеспечивающей развитие творческого потенциала индивида.
Литература
1. Аскеров Т. М. Зашита информации и информационная безо-
пасность: Учеб, пособие / Под обшей ред. К. И. Курбакова. М.: Рос.
экон, акад., 2001.
2. Автоматический перевод на русский язык англоязычных за-
просов и их формализация при поиске информации в русскоязыч-
ных реферативных базах данных / Г. Г. Белоногов, Р. С. Гиляревский,
В. С. Егоров, А. П. Е1овоселов, А. А. Хорошилов, А. Н. Шогин. Сб. «На-
учно-техническая информация». Сер. 2. № 8. М.: ВИНИТИ. 2000.
3. Белоозеров В. Н., Косарская Ю. П. Опыт разработки словаря с
разветвленной системой тезаурусных связей // НТИ. Сер. 2. 2001.
№8. С. 28-31.
4. Бриллюэн Л. Научная неопределенность и информация. М.,
1966.
5. Информационные ресурсы и документальные базы данных /
Е. Н. Васина, О. Л. Голицына. Н. В. Максимов. И. И. Попов. Созда-
ние, использование, анализ: Учеб, пособие. М.: РГГУ, 1997.
6. Герасименко В. А., Малюк А. А. Основы зашиты информации.
М.: МИФИ, 1997.
7. Герасименко В. А., Партыка Т. Л. Каталог программных средств
защиты информации от несанкционированного доступа в АСОД.
Метод, указания. М.: ГКНТ. 1984.
8. Голицына О. Л., Максимов Н. В., Попов И. И. Базы данных:
Учеб, пособие. М.: ФОРУМ: ИНФРА-М, 2003.
9. Голицына О. Л., Попов И. И. Основы алгоритмизации и про-
граммирования: Учеб, пособие. М.: ФОРУМ: ИНФРА-М, 2002.
10. ГОСТ 34.601-90. Информационная технология. Комплекс
стандартов на автоматизированные системы. Автоматизированные
системы. Стадии создания. М.: Изд-во стандартов, 1991.
И. ГОСТ Р ИСО/МЭК 9126—93. Информационная технология.
Оценка программной продукции. Характеристики качества и руко-
Литература
509
водство по их применению. Государственный стандарт Российской
федерации. Издание официальное. М.: Госстандарт России. 1994.
12. Гостехкомиссия России. Руководящий документ. Концепция
защиты средств вычислительной техники и автоматизированных
систем от несанкционированного доступа к информации. М.: Воен-
издат, 1992.
13. Грейвс М. Проектирование баз данных на основе XML. М.:
Вильямс, 2002.
14. Емельянова Н. 3., Партыка Т. Л., Попов И. И. Основы по-
строения автоматизированных информационных систем: Учеб, по-
собие. М.: Форум: ИНФРА-М. 2005.
15. Зима В. М., Молдовян А. А., Молдовян Н. А. Зашита компью-
терных ресурсов от несанкционированных действий пользователей:
Учеб, пособие. Спо., 1997.
16. Информационно-библиотечная деятельность, библиография.
Термины и определения / Межгосударственный стандарт ГОСТ
7.0-99 / Система стандартов по информации, библиотечному и из-
дательскому делу. Минск, 2000.
17. Информационные системы в экономике: Учебник / Под ред.
В. В. Дика. М.: Финансы и статистика, 1996.
18. Клещев Н. Т., Романов А. А. Проектирование информацион-
ных систем: Учеб, пособие / Под обшей ред. К. И. Курбакова М.:
Рос. экон, акад., 2000.
19. Курбаков К. И. Компьютика, информатика и информациоло-
гия: Проблемы различия и соотношения // Научно-техническая ин-
формация. Сер. 1. Организация и методика информационной рабо-
ты. ВИНИТИ, 2003. № 2.
20. Лейнер Б., Среф В., Кларк Д. и др. Краткий курс истории Ин-
тернет // Jetinfo. № 14(45). 1997.
21. Либерти Д. Разработка баз данных Microsoft SQL Server 2000
на примерах. М.: Вильямс. 2001.
22. Лопатин В. Н. Информационная безопасность России: Чело-
век. Общество. Государство / Санкт-Петербургский университет
МВД России. СПб.: Фонд «Университет», 2000.
23. Мазур М. Качественная теория информации. М.: Мир, 1974.
24. Максимов И. В., Партыка Т. Л., Попов И. И. Архитектура
ЭВМ и вычислительных систем: Учебник. М.: ФОРУМ: ИНФРА-М,
2005.
510
Литература
25. Максимов Н. В., Партыка Т. Л., Попов И. И. Технические
средства информатизации: Учебник. М.: ФОРУМ: ИНФРА-М, 2005.
26. Максимов Н. В., Попов И. И. Компьютерные сети: Учеб, по-
собие. М.: ФОРУМ: ИНФРА-М, 2003.
27. Мартин Дж. Организация баз данных в вычислительных
системах. М.: Мир, 1980.
28. Мельников В. Защита информации в компьютерных системах.
М.: Финансы и статистика; Электронинформ, 1997.
29. Мурановский Т. В. Теоретические основы научно-техниче-
ской информации. М.: МГИАИ, 1982.
30. Партыка Т. Л., Попов И. И. Информационная безопасность:
Учеб, пособие. М.: ФОРУМ: ИНФРА-М, 2002.
31. Партыка Т. Л., Попов И. И. Операционные системы, среды и
оболочки. М.: ФОРУМ: ИНФРА-М, 2003.
32. Попов И. И. Автоматизированные информационные системы
(по областям применения): Учебное пособие / Под общ. ред.
К. И. Курбакова. М.: Изд-во Рос. экон, акад., 1999.
33. Попов И. И. Информационные ресурсы и системы: реализа-
ция, моделирование, управление. М.: ТПК «Альянс», 1996.
34. Попов И. И., Хромцов П. Б., Максимов Н. В. Введение в сете-
вые информационные ресурсы и технологии (учебное пособие). М.:
РГГУ, 2001.
35. Родионов И. И. Интернет для российских предпринимателей.
М.: МПНТИ, 1997.
36. Солпюн Дж. Динамические библиотечно-информационные
системы. / Пер. с англ. Хисамутдинов В. Р. М.: Мир, 1979.
37. Стандартизация электронных документов и методов их обра-
ботки // Технологии электронных коммуникаций. Т. 5. М.:
МПНТИ, 1992.
38. Тезаурус информационно-поисковый одноязычный. Прави-
ла разработки, структура, состав и форма представления. Государст-
венный стандарт Союза ССР. ГОСТ 7.25—80. (СТ СЭВ 174—85) //
Государственный комитет СССР по стандартам. М., 1988.
39. Ухлинов Л. М. Международные стандарты в области обеспе-
чения безопасности данных в сетях ЭВМ. Состояние и направления
развития. Электросвязь. 1991.
Литература 511
40. ФЕДЕРАЛЬНЫЙ ЗАКОН «Об информации, информатиза-
ции и защите информации». Собрание законодательства Россий-
ской Федерации. 20 февраля 1995 г. Официальное издание. Изда-
тельство «Юридическая литература», Администрация Президента
Российской Федерации. Москва. С. 1213-1225.
41. Фокс Дж. Программное обеспечение и его разработка. М.:
МИР, 1985.
42. Хоуг К. MCSE\MCSD: SQL Server 7. Проектирование баз дан-
ных: Учеб, пособие М.: Лори, 2000.
Глоссарий
A3D — стандарт генерации таких эффектов, как густой туман или
подводные звуки, позволяет моделировать конфигурацию поме-
щения, в котором раздаются и распространяются звуки.
Anchors — ссылки. Гипертекстовые ссылки, внедренные в Web-до-
кумент. Позволяют пользователю переходить от одного фраг-
мента информации к другому независимо от места ее хранения
в Internet.
ANSI (American National Standards Institute) — американский нацио-
нальный институт стандартов — неправительственная организа-
ция, устанавливающая стандарты. Развивает и издает стандарты
для «добровольного» использования в Соединенных Штатах.
Набор стандартов принимается национальными организациями
через поставщиков данной страны.
API (Application Program Interface) — интерфейс прикладной про-
граммы. Функциональный интерфейс, поддерживаемый опера-
ционной системой (ОС) или специальной программой, который
позволяет прикладной программе использовать специфические
данные или функции ОС или программы.
APRP (Adaptive Pattern Recognition) — адаптивное распознавание об-
разов.
ASCII (American Standard Code for Information Interchange) — Амери-
канский стандартный код для обмена информацией — соглаше-
ние для представления символьной информации; код для пред-
ставления английской текстовой информации, используемый с
отдельными модификациями в большинстве вычислительных
систем.
Authentication — установление личности пользователя, делающего
попытку доступа к системе.
Authorization — определение набора привилегий, которыми обладает
пользователь.
Backup — резервное копирование. Процесс (регулярный или разо-
вый) копирования данных на другие носители, обычно оптиче-
Глоссарий
513
ские или ленточные. Все файлы или только недавно изменен-
ные маркируются для последующего копирования.
BLOB (Binary Large Object) — тип данных СУБД, используется для
хранения произвольной информации, которая может быть пред-
ставлена в двоичном виде. Тип данных BLOB является частью
структуры базы данных, которая обеспечивает полную функ-
циональность СУБД для манипулирования BLOB-элементами.
То есть BLOB-элементы могул создаваться, удаляться, прове-
ряться или копироваться. Но чаще всего отсутствует возмож-
ность работы внутри BLOB. Например, невозможно извлечение
частей текста, индексирование и перемещение по BLOB.
CASE-средства (технологии) — программные средства, поддержи-
вающие процессы создания и сопровождения ИС, включая ана-
лиз и формулировку требований, проектирование прикладного
ПО (приложений) и баз данных, генерацию кода, тестирование,
документирование, обеспечение качества, конфигурационное
управление и управление проектом, а также другие процессы.
CCITT (Consultative Committee on International Telegraphique et
Telephonique) — Международный консультативный комитет по
телеграфии и телефонии, МККТТ, в настоящее время 1TU-T.
CCITT Group 4 — один из стандартов по сжатию изображений.
CD-ROM (Compact Disc Read Only Memory) — постоянная память на
компакт-дисках емкостью более 600 Мбайт. Низкая цена спо-
собствует массовому распространению данных, записанных на
CD-ROM.
Client — прикладная программа, которая делает запрос программе
сервера на получение информации или выполнение задания
сервером от имени клиента. Клиент и сервер взаимодействуют
через специальный протокол. Клиент и сервер могул работать на
различных хостах в сети и эти хосты могут быть компьютерами
совершенно различной конфигурации и платформы.
Collaborative Authoring — совместное создание документа группой
людей, даже если они находятся в различных местах или работа-
ют в различное время.
COM (Component Object Model) — составляющая программного
обеспечения, поддерживающая OLE 2.
Content — содержательная часть данных документа, в противополож-
ность атрибулам. Может включать текст, изображения, видео,
звук, программы или любой другой материал, содержащийся на
514
Глоссарий
бумаге, дискете, компакт-диске (CD-ROM) и др. Отметим, что
некоторые системы управления документами расценивают дан-
ные как один из атрибутов.
СР 866 — распространенная в РФ кодировка символьной информа-
ции на базе кода ASCII с расширением его до 256 символов: ко-
довая страница 866 для IBM PC, в части кириллицы отсортиро-
вана по алфавиту, используется для работы с немодифицируе-
мыми (нерусскоязычными) программами в ОС типа MS-DOS,
сохраняет наиболее часто используемые в программах псевдо-
графические знаки.
Data mining — «добыча» данных. Набор методов, позволяющих из-
влекать из сырых данных ранее неизвестные знания о зависимо-
стях и закономерностях поведения рассматриваемого объекта.
При этом все результаты формулируются в текстовых и графи-
ческих формах, удобных для восприятия человеком.
Data model — модель данных. Описание содержания базы данных на
более детализированном уровне, чем требуется непосредственно
системе управления базы данных.
Data transformation — преобразование данных. Процесс изменения
данных при начальной загрузке или при выполнении перемеще-
ния данных. Данные могут быть преобразованы для улучшения
удобочитаемости при объединении данных из различных источ-
ников, для улучшения качества данных при их суммировании
и т. д.
Data warehouse — хранилище (склад, кладовая) данных. База данных,
разработанная для решения прикладных задач, в основном, из
области принятия решений. Данные извлекаются из файловых
систем операционных систем, из всевозможных СУБД и т. п. За-
тем они преобразуются и объединяются, чтобы стать подходя-
щими для анализа пользователями.
Database design — проектирование базы данных. Проект базы данных
описывает организацию данных в БД на детальном уровне, тре-
буемом СУБД для управления этими данными. Описывает раз-
деление данных на таблицы и столбцы, и основные типы в
столбцах, например, целое число или 8-символьная строка. Про-
ектирование базы данных — это область деятельности админист-
ратора базы данных. Простые проекты базы данных соответству-
ют информационной модели базы данных, содержание которой
имеет представление, ориентированное на пользователя.
Глоссарий
515
DBMS (Database management system) — Система управления базой
данных.
DDE (Dynamic Data Exchange) — динамический обмен данными.
Digital Video — видео, фиксируемое в цифровом формате.
DirectX — предложенная Microsoft система команд управления по-
зиционированием виртуального звукового источника.
Distribution Media — среда вывода для хранения и копирования до-
кументов.
DMS (Document Management System) — Система управления доку-
ментами.
Document Content Model — структура составного документа.
Document Interchange Format — правила представления документов с
целью обмена.
Document Retrieval — поиск, выборка и использование документа из
архивного хранилища.
downsizing — разукрупнение, децентрализация средств обработки
данных. Переход с больших ЭВМ на ПК конечного пользовате-
ля и ЛВС.
dpi (dot per inch) — плотность печати или разрешение сканирования
в точках на дюйм.
dpi (dots per inch — точек на дюйм) — единица измерения разреше-
ния, в частности, оптического разрешения сканера.
DSL — Dictionary Specification Language, «язык описания словарей».
В электронном словаре ABBYY Lingvo так называется встроен-
ный инструмент, позволяющий пользователю создавать и редак-
тировать собственные словари. Эти словари впоследствии могут
быть подключены к Lingvo наряду с типовыми словарями из
комплекта поставки.
DTD (Document Type Definition) — определение типа документа —
начало (преамбула) SGML-документа, где определяются компо-
ненты документа и его структура. Описание типа (шаблона) до-
кумента.
EAX (Environmental Audio Extensions) — модель добавления ревербера-
ций в A3D, с учетом звуковых препятствий и поглощения звуков.
EDI (Electronic Data Interchange) — обмен данными и документами
между различными пользователями согласно стандартным
(ANSI Х.12, EDIFACT) правилам.
516
Глоссарий
EDIFACT (Electronic Data Interchange For Administration, Commerce
And Transport) — электронный обмен данными в управлении,
торговле и на транспорте (ISO 9735—1987).
Embedding — размещение (вложение, внедрение) данных в состав-
ном документе, при котором данные и связанные с ними управ-
ляющие приложения физически размещены внутри документа.
Firewall — защитный экран, брандмауэр, противопожарная стена —
жаргон системных администраторов. Системный компонент,
выполняющий роль шлюза в сети, т. е. система или набор сис-
тем, через которую должен проходить весь трафик между внеш-
ней сетью (например, Internet) и внутренней сетью организа-
ции. Механизм, защищающий пакеты внутренней сети от попа-
дания во внешнюю (глобальную) сеть и наоборот.
FlexiCapture — метаязык, разработанный специалистами компании
ABBYY для описания структуры гибких форм. Используется для
разработки описания гибкой формы FlexiLayout в программе
ABBYY FlexiCapture Studio.
FlexiLayout — описание структуры гибкой формы в терминах языка
FlexiCapture. Это описание разрабатывается в программе ABBYY
FlexiCapture Studio и передается в ABBYY FormReader или при-
ложение на базе ABBYY FineReader Engine. FlexyLayout — сво-
его рода «инструкция» о том, как следует искать и идентифици-
ровать поля на гибкой форме.
FTP (File Transfer Protocol) — протокол передачи файлов — сетевой
протокол для передачи файлов между компьютерами. Клиент-
ская программа, использующая FTP-транзакции, является или
ftp или браузером паутины. Серверной программой для
FTP-транзакций является ftpd.
GB — гигабайт (Гбайт).
GIF (Graphics Interchange Format) — формат обмена графическими
данными. Используется в качестве стандарта компактного хра-
нения и распространения файлов изображений в Internet.
Groupware — программное обеспечение, поддерживающее неформа-
лизованную последовательность обработки документов. Позво-
ляет участвовать в объединенном проекте многим сотрудникам,
работающим в сети.
GUI (Graphical User Interface) — графический интерфейс пользова-
теля.
Глоссарий
517
HTML (Hypertext Markup Language) — язык высокого уровня для
определения структуры документов. Разработан в CERN и явля-
ется одним из применений SGML. В настоящее время разраба-
тывается третья версия HTML. Некоторые разработчики, на-
пример, Netscape, создали свои расширения.
HTTP (Hyper Text Transfer Protocol) — сетевой протокол передачи
(получения) документов HTML.
ICR — аббревиатура слов Intelligent Character Recognition, «интел-
лектуальное распознавание символов». Так называют техноло-
гии или системы, предназначенные для массовой обработки до-
кументов, заполненных печатными буквами и цифрами от руки,
т. е. для распознавания рукописных символов. Если OCR-систе-
ма должна построить точную электронную модель исходного
документа, то перед ICR-системой такая задача не стоит. От
ICR-системы требуется найти на изображении документа ин-
формацию, извлечь ее и передать во внешнюю базу данных. Из-
влеченные данные упорядочиваются по заранее заданным пра-
вилам, а как выглядит и какую структуру имеет исходный доку-
мент, при этом несущественно.
ID — уникальный номер или идентификатор документа (записи)
в БД.
Information object(s) — информационный объект(ы) — 1. Объект, ко-
торый используется в рассматриваемом процессе, может быть
электронным либо материальным, в обоих случаях он представ-
ляет собой либо сырые данные, либо результат работы. 2. Бло-
ки, из которых состоит документ. Например, текст, уравнения,
штриховая графика, векторные данные, извлечения из баз дан-
ных, фотографии, звуковая информация, видео, программы.
Information warehouse — информационный склад. Архитектура, раз-
работанная IBM в начале 1990-х гг. для складируемых данных.
Описывается в IBM Visual Warehouse.
Internet — всемирная компьютерная сеть — Сеть сетей, объединяю-
щая множество компьютерных сетей во всем мире и предостав-
ляющая доступ к мировым информационным ресурсам.
Interoperability — интероперабельность. Функциональная совмести-
мость.
Intranet — интрасеть. Корпоративная сеть, использующая протоко-
лы и стандарты Internet.
518
Глоссарий
IPA, принципы 1РА (Integrity, Purposefulness, Adaptability) — прин-
ципы целостности, целенаправленности, адаптивности. На этих
принципах базируется восприятие животных и людей, природ-
ных «чемпионов по распознаванию». И на этих же принципах
основаны технологии распознавания ABBYY. ABBYY Fine-
Reader — система OCR, которая на всех этапах обработки доку-
мента действует в соответствии с принципами IPA.
ISO (International Organization for Standardization) — Международная
организация по стандартизации (ВОС).
ISO 8859/5 — распространенная в РФ кодировка символьной ин-
формации на базе кода ASCII с расширением его до 256 симво-
лов: используется в русскоязычных версиях VAX/VMS и на ряде
персональных компьютеров, получила достаточно широкое рас-
пространение благодаря явной направленности на работу с рус-
ским языком. Эта кодировка зафиксирована ГОСТ 19768—87.
Java — объектно-ориентированный язык для создания распределен-
ных прикладных Web-систем.
JPEG — 1. Joint Photographic Experts Group — объединенная экс-
пертная группа по фотографии, разработавшая алгоритм сжатия
изображения. 2. Стандартный алгоритм сжатия неподвижного
изображения, разработанный группой JPEG. Сжатие по этому
алгоритму основано на психовизуальном восприятии изображе-
ний человеком и ведет к потере информации за счет исключе-
ния мелких деталей. Коэффициент сжатия варьируется в преде-
лах от 2 до 100 раз.
LAN (Local Area Network) — локальная компьютерная сеть.
Linking — объединение (связывание) объектов в составной доку-
мент, вследствие чего ссылка связи, вставленная в документ,
указывает на фактические данные, которые физически находят-
ся в другом месте документа или в каком-то другом документе.
Localization — локализация. Адаптация программного продукта к
национальным особенностям страны или географического ре-
гиона, в котором он используется. Например, разработчики
программ обработки текстов должны локализовать алгоритмы
сортировки списков для различных алфавитов.
Mapping — отображение. Процесс определения, какие преобразова-
ния данных требуются при начальной загрузке склада данных
или при перемещении данных. Результат «отображения» — это
то, что хранится в метаданных.
Глоссарий
519
MDA (Multilevel Document Analysis) — Многоуровневый анализ доку-
мента.
Metadata — Метаданные.
Middleware — программное обеспечение, обеспечивающее интер-
фейс высокого уровня, освобождающий разработчика приклад-
ных программ от знания сложностей аппаратных средств, опе-
рационной системы и сетевой семантики.
MIDI (Musical Instrument Digital Interface) — протокол передачи и
интерпретации команд управления воспроизведением звука.
Применяется в звуковых картах и определяет основные средства
для управления расположением инструментов, голосов, а также
для деления на инструментальные группы (клавишные, ударные
и т. д.)
MIDI секвенсор — устройство, которое записывает и воспроизводит
команды MIDI, а не аудиосигналы.
MIME (Multipurpose Internet Mail Extention) — многоцелевое расши-
рение электронной почты Internet. Официально предложенный
стандарт электронной почты в Internet. MIME-формат позволя-
ет включать в сообщение электронной почты помимо текста
также изображения, звук, видео.
Mosaic — один из первых графических браузеров для просмотра
HTML-документов всемирной паутины, разработанный NCSA.
MS-DOS — дисковая операционная система, созданная фирмой
Microsoft. Однозадачная, однопользовательская операционная
система с интерфейсом командной строки.
Navigation — процесс целенаправленного перемещения от одного
узла сети к другому.
Netscape — многоплатформный интерфейс — браузер для навигации
и просмотра информации в гипертекстовой системе WWW, раз-
работанный Netscape Communication Corporation.
NNTP (Network News Transfer Protocol) — сетевой протокол переда-
чи новостей. Служит для помещения и извлечения статей в те-
леконференциях.
OCR (Optical Character Recognition) — распознающая программа для
ввода документов с использованием оптического сканера. Ха-
рактерным представителем относительно дешевых OCR-про-
грамм является пакет FineReader. В качестве примера OCR-npo-
520
Глоссарий
граммы для автоматического распознавания типографского на-
бора можно привести пакет CuneiForm 1.2R.
ODA (Office Data/Document Architecture) — архитектура деловых до-
кументов (стандарт ISO 8613).
ODBC (Open Database Connectivity) — стратегический интерфейс
Microsoft для вызова данных в гетерогенной среде реляционных
и нереляционных систем управления базами данных. ODBC
предназначен обеспечить универсальный набор команд интер-
фейса для доступа к данным, что обеспечивает доступ к множе-
ственным различным базам данных. Интерфейс используется
разработчиком, чтобы определить команды, которые затем
транслируются драйверами для различных видов SQL, исполь-
зуемого различными продавцами DBMS.
ODIF (Office Document Interchange Format) — формат обмена доку-
ментами в делопроизводстве (ISO 8613).
ODMA (Open Document Management API) — API для связи приклад-
ных программ с системой управления документами и другим
групповым ПО.
OLAP (On-line analytical processing) — аналитическая обработка дан-
ных в оперативном режиме. Прикладное ПО для анализа ин-
формации, хранящейся в базе данных.
OLE 2.0 (Object Linking and Embedding 2.0) — набор стандартных
спецификаций и способов их реализации, находящийся в соб-
ственности и поддерживаемый Microsoft для составных доку-
ментов.
On-line — 1. Режим работы с компьютером или каким-либо другим
устройством, при котором подразумевается постоянное с ним
взаимодействие. Синонимы: интерактивный, диалоговый, опе-
ративный. 2. Постоянно включенное устройство; неавтономный
режим работы.
OODBMS (Object Oriented DBMS) — объектно-ориентированная
система управления базами данных. Система управления базами
данных, выполняющая ряд функций, основанных на объектных
понятиях (концепциях). В зависимости от целей их проектиро-
вания такие системы обладают одним или всеми из следующих
свойств: системы более гибкого типа, чем найденные в RDBMS;
легкая связываемость с помощью интерфейса с объектными
языками; способность обрабатывать неструктурированные и
Глоссарий
521
мультимедийные данные; более быстрая эффективность, чем у
RDBMS.
ORACLE — система управления реляционными базами данных и
широкий набор работающих с ней инструментальных средств
разного уровня, доступные практически на всех распространен-
ных вычислительных машинах и операционных системах.
OSI (Open System Interconnection) — связь открытых систем. Иной
(не Internet) набор сетевых протоколов, предложенный ISO.
Этот стандарт сетевого и межсетевого взаимодействия определя-
ет семь уровней взаимодействия компонентов сети: физический,
канальный, сетевой, транспортный, сеансовый, уровень пред-
ставления данных и прикладной. Для каждого уровня разрабо-
тан один или несколько протоколов, которые обеспечивают се-
тевое взаимодействие широкого класса устройств.
PDF — аббревиатура слов Portable Document Format, «универсаль-
ный формат документов». Термин введен корпорацией Adobe,
которой был разработан данный формат. Удобство формата
PDF в том, что он может быть прочитан специальной програм-
мой — Adobe Acrobat, версии которой существуют почти для
любых платформ и операционных систем.
PDL (Page Description Language) — язык описания страниц. Единый
формат для передачи готового документа в нередактируемом
виде. Позволяет просматривать и печатать документ на различ-
ном оборудовании.
Plug-and-play — «вставляй и работай». Способ, реализуемый в уст-
ройствах для массового непрофессионального пользователя.
Point-and-click — «укажи и щелкни». В GUI способ запуска различ-
ных приложений.
Postscript — распространенный формат электронных документов —
язык описания страниц печатных документов для лазерных
принтеров и других устройств вывода. Разработан фирмой
Adobe.
RAID (Redundant Array of Independent Disc) — дисковый массив,
обеспечивающий резервирование и дублирование данных.
RDBMS (Relational Database Management System) — реляционная
система управления базами данных. Основная технология баз
данных, используемая в складировании данных. Реляционная
технология базы данных была определена Т. Кодлом, который
также издал набор правил, определяющих OLAP.
522
Глоссарий
Recovery — восстановление, возобновление, возврат, возврат в ис-
ходное состояние.
Relational database — реляционная база данных.
Replication — процесс физического дублирования данных из одной
базы данных в другую. Дублирование увеличивает функцио-
нальные возможности преобразования данных. Гетерогенное
копирование, где исходные и целевые типы данных различны,
осуществляется разными средствами. Некоторые репликаторы
позволяют двунаправленное копирование, где любая копируе-
мая база данных может модифицироваться, тогда изменения ав-
томатически распространяются в другую.
Repository — склад. Корпоративный информационный ресурс, со-
держащий всю разработку, предоставленную от анализа до ко-
дов программ, и способный к сохранению версий и конфигу-
раций. Узловой центр для интегрированной среды обработки с
различным набором инструментальных средств и способствую-
щий использованию информации для стандартизации семан-
тики.
Retrieval — процесс поиска, выборки документов или их частей в
системах управления документами.
Router — маршрутизатор, устройство для передачи сетевых пакетов
из одной сети в другую на основе информации, содержащейся в
передаваемом пакете. Сетевой шлюз является наиболее типич-
ным представителем маршрутизаторов.
RPC (Remote Procedure Call) — вызов удаленной процедуры, дистан-
ционный вызов процедуры. Используется в серверной части
приложения. Механизм RPC скрывает от программиста детали
сетевых протоколов нижележащих уровней.
Scan&Read, мастер Scan&Read — встроенное средство ABBYY
FineReader, позволяющее начинающему пользователю с первых
же минут начать эффективно работать с программой.
Scanning — сканирование — процесс преобразования информации,
находящейся на твердом носителе, в цифровой формат.
Schema — проект базы данных, написанный на языке областей оп-
ределения данных (DDL) специфической системы управления
базами данных.
Security — безопасность — функция системы, правила, ограничи-
вающие доступ к документам: установление личности пользова-
Глоссарий
523
теля, делающего попытку доступа, определение набора привиле-
гий, доступных пользователю.
SGML (Standard Generalized Markup Language) — язык разметки вы-
сокого уровня для представления документов сложной структу-
ры, обычно используемых в технических приложениях.
SMTP (Simple Mail Transfer Protocol) — простой (упрощенный) про-
токол электронной почты. Прикладная служба в сетях TCP/IP
для передачи текстовых сообщений.
SNA (Systems Network Architecture) — сетевая архитектура систем.
Разработана корпорацией IBM для организации сети своих
хост-машин и терминалов. Состоит из семи уровней протоко-
лов, которые подобны уровням модели OS1. Определяет спосо-
бы передачи информации: иерархический (связь между хост-ма-
шиной и терминалами) и одноранговый (равноправный).
SQL (Structured Query7 Language) — структурированный язык запро-
сов. Стандартный язык запросов, используемый для обращения
к реляционным базам данных. Разработан фирмой IBM.
ANSI-стандарты были изданы для SQL в 1986 и 1989 г.
TCP/IP (Transmission Control Protocol/Internet Protocol) — набор
протоколов для коммуникации в локальной сети или во взаимо-
связанном наборе сетей. Основной протокол Internet/Intranet.
TIFF (Tagged Image File Format) — теговый формат файла изобра-
жений.
Trigger — триггер — предшествующее событие в последовательной
паре событий процесса, трактуемое как причина последующего
события этой пары. Синоним — Event.
URL (Universal Resource Locator) — последовательность символов,
обозначающая адрес документа (или его части) на сервере Пау-
тины. Типичный URL содержит 3 части: используемый прото-
кол при извлечении документа (ftp, http и др.); доменное имя
компьютера, где хранится документ; путь к документу
(pathname) в локальной файловой системе; синтаксис URL —
protocol://server name/path.
View — показ — представление содержания документа в читаемой
форме.
WAN (Wide Area Network) — глобальная вычислительная сеть.
Warehouse population — складская совокупность. Процесс извлече-
ния данных из исходных баз данных, преобразование их для
524
Глоссарий
улучшения удобочитаемости и качества данных, транспортиров-
ка по физическим сетям, объединение информации из различ-
ных источников, загрузка в склад данных. Спецификация, реа-
лизация и управление складской совокупностью — это наиболее
трудный, дорогой и опасный процесс в складировании данных.
WWW (World Wide Web) — Всемирная паутина.
Х.400 — наборы протокольных стандартов для международной пере-
сылки электронной почты. Это стандарт для систем работы с
сообщениями электронной почты позволяет включать в сооб-
щения не только текстовую, но и другую информацию, напри-
мер факсы и графические изображения. Поддерживается по-
ставщиками в основном в качестве инструмента, позволяющего
работать с различными системами электронной почты.
XML — extensible Markup Language, «расширяемый язык разметки».
Современный инструмент для создания и обработки докумен-
тов; его возможности используются многими программами.
Агрегат данных — именованная совокупность элементов данных,
представленных простой (векторной) или иерархической (груп-
пы или повторяющиеся группы) структурой. Примеры — масси-
вы, записи, комплексные числа и пр.
Агрегатные функции — вычислительные функции СУБД, реализую-
щие при выводе отчета или чтении таблицы данных вычисление
агрегатных данных по группе записей БД (строк таблицы) —
МАХ (максимальное значение данного поля в обработанной
группе записей/строк), MIN (минимальное значение), AVER
(среднее значение), COUNT (подсчет числа записей) и пр.
Адаптивная бинаризация, adaptive binarization, АВ — способ обработ-
ки изображения; алгоритм, выбирающий порог бинаризации в
зависимости от контрастности данного участка изображения.
Дает возможность точно распознавать текст со сложных ориги-
налов, например, ветхих, истертых страниц. Адаптивная бина-
ризация используется ABBYY FineReader для повышения каче-
ства распознавания.
Администратор базы данных (АБД) — лицо или группа, уполномо-
ченные для ведения БД (модификация структуры и содержания
БД, активизация доступа пользователей, выполнение других ад-
министративных функций, которые затрагивают всех пользова-
телей). С этой целью он идентифицирует объекты БД и модели-
Глоссарий
525
рует базу, используя язык описания данных. Администратор ре-
шает также все вопросы, связанные с размещением БД в
памяти, выбором стратегии доступа и ограничением доступа к
данным. В функции АБД входят также организация загрузки,
ведения и восстановления БД.
Анализ документа — процедура обработки изображения, в ходе кото-
рой OCR-программа создает электронную редактируемую ко-
пию документа. Собственно распознавание текста — одна из со-
ставных частей анализа документа.
Архитектура документа — структурное описание документа, вклю-
чающее в себя все входящие в него виды информации (текст,
векторная и растровая графика, таблицы).
Атрибут — поле данных, содержащее информацию об объекте.
База данных (БД) — именованная совокупность взаимосвязанных
данных, отображающая состояние объектов и их отношении в
некоторой предметной области, используемых несколькими
пользователями и хранящимися с минимальной избыточностью.
Базы данных предоставляют собой более жесткую среду для хра-
нения нежели файловые системы ОС. Базы данных характеризу-
ются многопользовательским интерфейсом, протоколировани-
ем, словарями данных для моделирования метаданных, опреде-
ляемой пользователем структурой, жесткими типами данных и
сложными языками запросов.
Байт — 1. Единица количества информации, равная обычно восьми
битам. 2. Ячейка памяти, соответствующая одному байту.
Безопасность — зашита данных от преднамеренного или непредна-
меренного доступа, модификации или разрушения.
Библиографические данные (записи) — выходные данные (включают
авторов, заголовок, классификационный индекс, место публи-
кации и пр.), иногда реферат.
Бинаризация — перевод изображения в бинарный формат, когда ка-
ждая точка может быть либо белого, либо черного цвета. Бина-
ризация выполняется всеми OCR-программами в процессе под-
готовки изображения к распознаванию. В некоторых случаях
качество бинаризации очень сильно влияет на точность распо-
знавания.
Бит — 1. Двоичная единица количества информации. 2. Единица
объема памяти, соответствующая одному биту информации.
526
Глоссарий
Битрейт (bitrate) — ширина потока (битовая скорость). Для звуково-
го сигнала термин обозначает общую ширину потока, безраз-
лично к тому, монофонический или стереофонический сигнал
он содержит, варьируется от наибольшего для MP3, равного
320 кбит/с (320 килобит в секунду), до 96 кбит/с и ниже.
Браузер — прикладная программа клиента, которая позволяет про-
сматривать, извлекать и показывать содержание документов, на-
ходящихся на серверах Всемирной паутины. Наиболее распро-
страненные браузеры — Netscape Navigator и Internet Explorer.
Валидация — автоматическая проверка распознанных данных на со-
ответствие заданным правилам. Например, проверка на попада-
ние численных данных в определенный интервал, проверка сов-
падение сумм, указанных цифрами и прописью, проверка на со-
ответствие формату или заданному значению.
Верификация — проверка распознанных данных оператором. Произ-
водится путем сличения результатов распознавания с исходным
изображением части документа. Технология верификации реа-
лизована в продуктах ABBYY с учетом основных психосомати-
ческих особенностей человека: выработки привычек, использо-
вания навыков, целостности и целенаправленности восприятия.
Вид документа — элемент классификации множества документов,
циркулирующих в организации.
Видеоадаптер — электронная плата, генерирующая видеосигнал, по-
сылаемый видеодисплею по кабелю.
Восстанавливаемость — запроектированная возможность восстанов-
ления целостности БД после любого сбоя системы.
Всемирная паутина (WWW) — Internet-обслуживание, которое дает
возможность пользователям читать и выбирать документы со
всего мира.
Вторичный документ — документ, являющийся результатом аналити-
ко-синтетической переработки одного или нескольких первич-
ных документов.
Гипертекст — информационная система из узлов данных и смысло-
вых связей между ними.
Глобальная вычислительная сеть — сеть передачи данных, охваты-
вающая значительное географическое пространство (регион,
страну, ряд стран, континенты).
Глоссарий
527
Данные — информация, обработанная и представленная в формали-
зованном виде для дальнейшей обработки
Дескриптор — предназначенное для координатного индексирования
документов и информационных запросов нормативное ключе-
вое слово, по определенным правилам отобранное из основного
словарного состава того или иного естественного языка.
Дескрипторный язык — информационно-поисковый язык, словар-
ный состав которого состоит из дескрипторов, а использование
основано на принципе координатного индексирования.
Документ — агрегат данных в документальных системах (АИПС),
имеющий иерархическую структуру и. кроме форматных полей
(элементы или агрегаты данных фиксированной длины), обыч-
но содержащий текстовые поля, или символьные последова-
тельности неопределенной длины, логически подразделяющиеся
на параграфы (PAR. SEGM), предложения (SENT), слова
(WORD).
Естественный язык — язык, словарь, грамматические правила кото-
рого обусловлены практикой применения и не всегда формаль-
но зафиксированы.
Запись логическая — идентифицируемая (именованная) совокуп-
ность элементов или агрегатов данных, воспринимаемая при-
кладной программой как единое целое при обмене информа-
цией с внешней памятью. Запись — это упорядоченная в соот-
ветствии с характером взаимосвязей совокупность полей
(элементов) данных, размещаемых в памяти в соответствии с
их типом.
Запись физическая — совокупность данных, которая может быть
считана или записана как единое целое одной командой вво-
да-вывода.
Запрос (информационный) — сообщение, обычно неформатирован-
ное, информационно-поисковой системе со стороны абонента,
содержащее его информационную потребность и подвергающее-
ся автоматическому индексированию.
Иерархическая модель данных — использует представление предмет-
ной области БД в форме иерархического дерева, узлы которого
связаны по вертикали отношением «предок—потомок». Навига-
ция в БД представляет собой перемещение по вертикали и гори-
зонтали в данной структуре. Одной из наиболее популярных ие-
528
Глоссарий
рархических СУБД была Information Management System (IMS)
компании IBM, появившаяся в 1968 г.
Импорт (загрузка, download) — утилита (функция, команда) СУБД,
служащая для чтения файлов операционной системы, которые
содержат данные из базы данных, представленные в некотором
коммуникативном формате.
Инвертированный файл (список) — файл, предназначенный для бы-
строго произвольного поиска записей по значениям ключей, ор-
ганизованный в виде независимых упорядоченных списков (ин-
дексов) ключей — значений определенных полей записей ос-
новного файла.
Индекс — таблица ссылок на объекты, используемая для определе-
ния адреса записи.
Индексирование — формирование описания документа как совокуп-
ности дескрипторов, выбираемых из заранее созданных слова-
рей понятий либо из текстов документов.
Информационная система — система, предназначенная для хране-
ния, обработки, поиска, распространения, передачи и предос-
тавления информации.
Информационная технология — совокупность методов, производст-
венных процессов и программно-технических средств, объеди-
ненных в технологический комплекс, обеспечивающий сбор,
создание, хранение, накопление, обработку, поиск, вывод, ко-
пирование, передачу и распространение информации.
Информационно-поисковая система (ИПС) — программная система
для хранения и поиска данных по неформатированным запро-
сам. Для общения пользователя с ИПС разработчики системы
стремятся применять упрощенный естественный язык.
Информационно-поисковый язык (ИПЯ) — искусственный язык,
обеспечивающий компактную, строго алгоритмизированную за-
пись содержания документов и запросов в ИПС. ИПЯ можно
определить как специализированную семантическую систему,
состоящую из алфавита, правил образования (грамматики) и
правил интерпретации (семантики).
Информационные ресурсы — совокупность накопленной информа-
ции, зафиксированной на материальных носителях в любой
форме, обеспечивающей ее передачу во времени и пространстве.
В контексте автоматизированных информационных систем под
информационными ресурсами обычно подразумевают информа-
Глоссарий
529
ционные массивы и базы данных, рассматриваемые совместно с
информационными технологиями, обеспечивающими их дос-
тупность.
Информационный агент — интеллектуальный агент (агент знаний).
Программа, делающая документ самоосведомленным посредст-
вом анализа его содержания и сравнения этого содержания с
профилем пользователя или уровнем его интересов. Наиболее
передовой задачей интеллектуального агента является получе-
ние сжатого содержания документа в виде автоматической ан-
нотации.
Информационный запрос — записанный на естественном языке
текст, выражающий некоторую информационную потребность.
Информационный поиск — процесс отыскания в поисковом массиве
таких записей, которые соответствуют признакам, указанным в
информационном запросе.
Информация — сведения, воспринимаемые человеком и (или) спе-
циальными устройствами как отражение фактов материального
или духовного мира в процессе коммуникации.
Искусственный язык — язык, специально созданный и регулируе-
мый на основе согласованных принципов.
Классификация — процесс соотнесения содержания документов с
понятиями, зафиксированными в заранее составленных систе-
матических схемах.
Клиент — программы, написанные как пользователями, так и по-
ставщиками СУБД, внешние или «встроенные» по отношению к
СУБД. Программа-клиент организована в виде приложения, ра-
ботающего «поверх» СУБД и обращающегося для выполнения
операций с данными к компонентам СУБД через интерфейс
внешнего уровня.
Клиент/сервер — технология (архитектура) взаимодействия клиента
и сервера. Клиент — программа, запрашивающая у сервера ин-
формацию или выполнение какого-либо задания на сервере от
имени клиента. Сервер — прикладная программа, исполняющая
запросы клиента. Клиент и сервер взаимодействуют по опреде-
ленному протоколу. Программа клиента и программа сервера
могут располагаться как на одной машине, так и на совершенно
различных компьютерах произвольной сети.
Ключ — значение (элемент данных), используемый для идентифи-
кации или определения адреса записи.
530
Глоссарий
Ключевое поле — поле в структуре записи. Поле определяют как
ключевое (или индексированное) для убыстрения или упроще-
ния операций поиска и/или для модификации операций обра-
ботки данных.
Ключевое слово — предметное слово, выбираемое из некоторого
текста (документа) и используемое для координатного индекси-
рования этого текста (документа).
Код — система представления информации в виде данных, состоя-
щая из набора условных знаков и правил присвоения им зна-
чений.
КОИ (ГОСТ 19768—74) — распространенная в РФ кодировка сим-
вольной информации на базе кода ASCH с расширением его до
256 символов: используется в ряде систем типа UNIX; в части
кириллицы эта кодировка не отсортирована по алфавиту и, сле-
довательно, не позволяет использовать большинство зарубеж-
ных программ без соответствующих модификаций.
Коммуникативные (обменные) форматы данных — соглашения о
представлении агрегатов информации при передаче.
Контекстный поиск — разновидность операции поиска определенно-
го набора символов, в ходе которой пользователь может указать,
что просматривать нужно только некоторые файлы (выбранные
по какому-то признаку).
Контрастность — параметр, показывающий, насколько самый тем-
ный участок изображения отличается от самого светлого. Влия-
ет на качество распознавания.
Координатное индексирование — индексирование, при котором ос-
новное содержание документа представляется в виде сочетания
ключевых слов или дескрипторов.
Лемматизация — нахождение начальной формы слова по любой его
словоформе. Например, дано слово «погоняемый» — найдено
слово «погонять». Лемматизация реализована в ABBYY Retrieval
& Morphology Engine, что позволяет системе эффективнее про-
водить полнотекстовую индексацию документов, в том числе и
многоязычных.
Логическая структура БД — определение БД на физически независи-
мом уровне.
Логическая структура документа — в ODA предназначена для пред-
ставления произвольных иерархических видов организации ин-
Глоссарий
531
формации. Например, рубрикация документа, включение в
текст таблиц и рисунков.
Логический файл — файл в представлении прикладной задачи, со-
стоящий из логических записей, структура которых может отли-
чаться от структуры физических записей, представляющих ин-
формацию в памяти.
Локальная вычислительная сеть (ЛВС) — коммуникационная систе-
ма, поддерживающая в пределах одного здания или некоторой
ограниченной территории один или несколько высокоскорост-
ных каналов передачи цифровой информации, предоставляемых
подключаемым устройствам для кратковременного монопольно-
го использования.
Мастер диаграмм (Excel) — совокупность встроенных автоматизиро-
ванных процедур, позволяющих выбрать тип диаграммы и для
него выполнить все необходимые операции. Существуют сле-
дующие типы диаграмм: линейчатая, круговая, точечная, по-
верхностная, диаграмма с областями, кольцевая, лепестковая,
пузырьковая, биржевая, а также гистограмма и график.
Метаданные — информация, которая описывает другие данные, с
помощью таких атрибутов, как их структура, ассоциации, типы
и диапазоны. См. также Data Model. Метаданные чрезвычайно
важны в складировании данных (Data Warehousing).
Методы поиска — совокупность моделей и алгоритмов реализации
отдельных технологических этапов, таких, как построение поис-
кового образа запроса, отбор документов (сопоставление поис-
ковых образов запросов и документов), расширение и реформу-
лирование запроса, локализация и оценка выдачи.
Механизмы поиска — реализованные в системе модели и алгоритмы
процесса формирования выдачи документов в ответ на поиско-
вый запрос.
Модель данных — базовый инструментарий, обеспечивающий на
формальном абстрактном уровне конкретные способы представ-
ления объектов и связей.
Модель документа — понятие охватывает аспекты создания, преоб-
разования, хранения, поиска, передачи и отображения доку-
ментов.
Модель физическая — определяющая размещение и способы поиска
данных на внешних запоминающих устройствах СУБД.
532
Глоссарий
Морфологический поиск — поиск с учетом морфологии (всех воз-
можных форм слова). Например, если в строке поиска введено
«хрюкать» — в результатах поиска присутствуют «хрюкающий»,
«хрюкало» и другие производные от заданного слова. Морфоло-
гический поиск реализован в системе электронных словарей
ABBYY Lingvo.
Мультимедиа — среда, материал, состоящий из комбинации текста,
графики, видео, мультипликации и звука, представляющий та-
ким образом информацию в более понятном и удобообрабаты-
ваемом виде.
Мэйнфрейм — компьютер высокой мощности, разработанный для
решения наиболее интенсивных вычислительных задач. Обычно
используется одновременно многими пользователями.
Навигатор (browser) — программа навигации и просмотра, разме-
щающаяся на рабочем месте пользователя, клиентская програм-
ма в сети Всемирной паутины.
Навигация — целенаправленная, определяемая стратегией последо-
вательность использования методов, средств и технологий кон-
кретной АИПС для получения и оценки результата поиска.
Независимость данных логическая (физическая) — свойство системы,
обеспечивающее возможность изменять логическую (физиче-
скую) структуры данных без изменения физической (логиче-
ской).
Носитель информации (данных) — средства регистрации, хранения,
передачи информации (данных).
Операционная система (ОС) — общее название программ и про-
граммных комплексов, расширяющих функциональные возмож-
ности аппаратуры вычислительных машин, повышающих эф-
фективность использования вычислительных средств и облег-
чающих взаимодействие пользователя с машиной.
Открытая система — 1. Система, имеющая возможность расширения
за счет средств среды, в которой она функционирует. 2. Систе-
ма, независимая от изготовителей ИС, удовлетворяющая требо-
ваниям ряда международных стандартов.
Открытость. Свойство информационных технологий и систем, пред-
полагающее способность объединять разные информационные
системы, аппаратуру и программные продукты различных про-
изводителей, что делает возможным обмен между ними данны-
ми, распределенный доступ к информационным ресурсам.
Глоссарий
529
ционные массивы и базы данных, рассматриваемые совместно с
информационными технологиями, обеспечивающими их дос-
тупность.
Информационный агент — интеллектуальный агент (агент знаний).
Программа, делающая документ самоосведомленным посредст-
вом анализа его содержания и сравнения этого содержания с
профилем пользователя или уровнем его интересов. Наиболее
передовой задачей интеллектуального агента является получе-
ние сжатого содержания документа в виде автоматической ан-
нотации.
Информационный запрос — записанный на естественном языке
текст, выражающий некоторую информационную потребность.
Информационный поиск — процесс отыскания в поисковом массиве
таких записей, которые соответствуют признакам, указанным в
информационном запросе.
Информация — сведения, воспринимаемые человеком и (или) спе-
циальными устройствами как отражение фактов материального
или духовного мира в процессе коммуникации.
Искусственный язык — язык, специально созданный и регулируе-
мый на основе согласованных принципов.
Классификация — процесс соотнесения содержания документов с
понятиями, зафиксированными в заранее составленных систе-
матических схемах.
Клиент — программы, написанные как пользователями, так и по-
ставщиками СУБД, внешние или «встроенные» по отношению к
СУБД. Программа-клиент организована в виде приложения, ра-
ботающего «поверх» СУБД и обращающегося для выполнения
операций с данными к компонентам СУБД через интерфейс
внешнего уровня.
Клиент/сервер — технология (архитектура) взаимодействия клиента
и сервера. Клиент — программа, запрашивающая у сервера ин-
формацию или выполнение какого-либо задания на сервере от
имени клиента. Сервер — прикладная программа, исполняющая
запросы клиента. Клиент и сервер взаимодействуют по опреде-
ленному протоколу. Программа клиента и программа сервера
могут располагаться как на одной машине, так и на совершенно
различных компьютерах произвольной сети.
Ключ — значение (элемент данных), используемый для идентифи-
кации или определения адреса записи.
530
Глоссарий
Ключевое поле — поле в структуре записи. Поле определяют как
ключевое (или индексированное) для убыстрения или упроще-
ния операций поиска и/или для модификации операций обра-
ботки данных.
Ключевое слово — предметное слово, выбираемое из некоторого
текста (документа) и используемое для координатного индекси-
рования этого текста (документа).
Код — система представления информации в виде данных, состоя-
щая из набора условных знаков и правил присвоения им зна-
чений.
КОИ (ГОСТ 19768—74) — распространенная в РФ кодировка сим-
вольной информации на базе кода ASCII с расширением его до
256 символов: используется в ряде систем типа UNIX; в части
кириллицы эта кодировка не отсортирована по алфавиту и, сле-
довательно, не позволяет использовать большинство зарубеж-
ных программ без соответствующих модификаций.
Коммуникативные (обменные) форматы данных — соглашения о
представлении агрегатов информации при передаче.
Контекстный поиск — разновидность операции поиска определенно-
го набора символов, в ходе которой пользователь может указать,
что просматривать нужно только некоторые файлы (выбранные
по какому-то признаку).
Контрастность — параметр, показывающий, насколько самый тем-
ный участок изображения отличается от самого светлого. Влия-
ет на качество распознавания.
Координатное индексирование — индексирование, при котором ос-
новное содержание документа представляется в виде сочетания
ключевых слов или дескрипторов.
Лемматизация — нахождение начальной формы слова по любой его
словоформе. Например, дано слово «погоняемый» — найдено
слово «погонять». Лемматизация реализована в ABBYY Retrieval
& Morphology Engine, что позволяет системе эффективнее про-
водить полнотекстовую индексацию документов, в том числе и
многоязычных.
Логическая структура БД — определение БД на физически независи-
мом уровне.
Логическая структура документа — в ODA предназначена для пред-
ставления произвольных иерархических видов организации ин-
Глоссарий
531
формации. Например, рубрикация документа, включение в
текст таблиц и рисунков.
Логический файл — файл в представлении прикладной задачи, со-
стоящий из логических записей, структура которых может отли-
чаться от структуры физических записей, представляющих ин-
формацию в памяти.
Локальная вычислительная сеть (ЛВС) — коммуникационная систе-
ма, поддерживающая в пределах одного здания или некоторой
ограниченной территории один или несколько высокоскорост-
ных каналов передачи цифровой информации, предоставляемых
подключаемым устройствам для кратковременного монопольно-
го использования.
Мастер диаграмм (Excel) — совокупность встроенных автоматизиро-
ванных процедур, позволяющих выбрать тип диаграммы и для
него выполнить все необходимые операции. Существуют сле-
дующие типы диаграмм: линейчатая, круговая, точечная, по-
верхностная, диаграмма с областями, кольцевая, лепестковая,
пузырьковая, биржевая, а также гистограмма и график.
Метаданные — информация, которая описывает другие данные, с
помощью таких атрибутов, как их структура, ассоциации, типы
и диапазоны. См. также Data Model. Метаданные чрезвычайно
важны в складировании данных (Data Warehousing).
Методы поиска — совокупность моделей и алгоритмов реализации
отдельных технологических этапов, таких, как построение поис-
кового образа запроса, отбор документов (сопоставление поис-
ковых образов запросов и документов), расширение и реформу-
лирование запроса, локализация и оценка выдачи.
Механизмы поиска — реализованные в системе модели и алгоритмы
процесса формирования выдачи документов в ответ на поиско-
вый запрос.
Модель данных — базовый инструментарий, обеспечивающий на
формальном абстрактном уровне конкретные способы представ-
ления объектов и связей.
Модель документа — понятие охватывает аспекты создания, преоб-
разования, хранения, поиска, передачи и отображения доку-
ментов.
Модель физическая — определяющая размещение и способы поиска
данных на внешних запоминающих устройствах СУБД.
532
Глоссарий
Морфологический поиск — поиск с учетом морфологии (всех воз-
можных форм слова). Например, если в строке поиска введено
«хрюкать» — в результатах поиска присутствуют «хрюкающий»,
«хрюкало» и другие производные от заданного слова. Морфоло-
гический поиск реализован в системе электронных словарей
ABBYY Lingvo.
Мультимедиа — среда, материал, состоящий из комбинации текста,
графики, видео, мультипликации и звука, представляющий та-
ким образом информацию в более понятном и удобообрабаты-
ваемом виде.
Мэйнфрейм — компьютер высокой мощности, разработанный для
решения наиболее интенсивных вычислительных задач. Обычно
используется одновременно многими пользователями.
Навигатор (browser) — программа навигации и просмотра, разме-
щающаяся на рабочем месте пользователя, клиентская програм-
ма в сети Всемирной паутины.
Навигация — целенаправленная, определяемая стратегией последо-
вательность использования методов, средств и технологий кон-
кретной АИПС для получения и оценки результата поиска.
Независимость данных логическая (физическая) — свойство системы,
обеспечивающее возможность изменять логическую (физиче-
скую) структуры данных без изменения физической (логиче-
ской).
Носитель информации (данных) — средства регистрации, хранения,
передачи информации (данных).
Операционная система (ОС) — общее название программ и про-
граммных комплексов, расширяющих функциональные возмож-
ности аппаратуры вычислительных машин, повышающих эф-
фективность использования вычислительных средств и облег-
чающих взаимодействие пользователя с машиной.
Открытая система — 1. Система, имеющая возможность расширения
за счет средств среды, в которой она функционирует. 2. Систе-
ма, независимая от изготовителей ИС, удовлетворяющая требо-
ваниям ряда международных стандартов.
Открытость. Свойство информационных технологий и систем, пред-
полагающее способность объединять разные информационные
системы, аппаратуру и программные продукты различных про-
изводителей, что делает возможным обмен между ними данны-
ми, распределенный доступ к информационным ресурсам.
Глоссарий
533
Отношение (relation) — агрегат данных, хранящийся в одной из таб-
лиц (строка таблицы) табличной, реляционной БД или созда-
ваемый виртуально в процессе выполнения операции над базой
данных при выполнении запросов к данным.
Поисковый образ документа (ПОД) — описание документа, выра-
женное средствами ИПЯ и характеризующее основное смысло-
вое содержание или какие-либо другие признаки этого докумен-
та, необходимые для его поиска по запросу.
Поисковый образ запроса (ПОЗ) — записанный на ИПЯ текст, вы-
ражающий смысловое содержание информационного запроса и
содержащий указания, необходимые для наиболее эффективно-
го осуществления информационного поиска.
Полнотекстовые документы (записи) — полный (или почти) исход-
ный текст журнальной статьи или другого документа.
Пользователь БД — программа или человек, обращающийся к базе
данных с помощью средств управления данными СУБД.
Постреляционная СУБД (ПРСУБД) — система управления базами
данных, поддерживающая расширенную реляционную модель
данных. Расширения могут носить различный характер, в част-
ности, ADABAS поддерживает повторяющиеся групповые поля
(фактически вложенные таблицы) в экземплярах отношений.
Предметная область (ПрО) — набор объектов, представляющих ин-
терес для актуальных или предполагаемых пользователей, когда
реальный мир отображается совокупностью конкретных и абст-
рактных понятий, между которыми фиксируются определенные
связи.
Проектирование базы данных — упорядоченный формализованный
процесс создания системы взаимосвязанных описаний — моде-
лей предметной области, которые связывают (фиксируют) хра-
нимые в базе данные с объектами предметной области, описы-
ваемые этими данными.
Протокол — совокупность определений (соглашений, правил), рег-
ламентирующих формат и процедуры обмена информацией ме-
жду двумя или несколькими независимыми устройствами или
процессами, т. е. описание того, как программы, компьютеры
или иные устройства должны действовать, когда они взаимодей-
ствуют друг с другом.
Профиль документа — в ODA набор свойств документа, которые от-
носятся к документу в целом.
534
Глоссарий
Рабочая станция — комбинация устройств ввода-вывода и вычис-
лительных аппаратных средств, используемых отдельным
пользователем. Однако чаще так называют мощный автоном-
ный компьютер для выполнения прикладных программ, тре-
бующих высокоэффективных, обычно дорогих средств обра-
ботки информации со значительными вычислительными или
графическими возможностями. В последнее время так еще на-
зывают персональные компьютеры или терминалы вычисли-
тельной сети.
Разметка — дополнительная информация, включаемая в документ и
выполняющая функции выделения логических элементов дан-
ного документа и задания процедур обработки выделенных эле-
ментов.
Разрешение оптическое — параметр сканера, характеризующий пре-
дельно достижимую детальность считывания информации с
оригинала, указывается в точках на дюйм (dpi).
Распознавание документа — построение редактируемой электронной
копии бумажного документа. Как правило, проводится в два
этапа; сначала с помощью сканера получают электронную «фо-
тографию» страницы, затем обрабатывают ее специальной
OCR-программой. Результатом работы OCR-программы стано-
вится точная электронная копия документа, которую можно ре-
дактировать, сохранять в различных форматах, распечатывать
и т. д.
Распределенная база данных — совокупность баз данных, которые
обрабатываются и управляются по отдельности, а также могут
разделять информацию.
Редактор — программа, обычно используемая для создания тексто-
вых файлов или внесения изменений в существующий тексто-
вый файл. Редактор обладает некоторыми возможностями тек-
стового процессора, но уступает ему в мощности.
Релевантность — свойство некоторой информации (документ, факт,
и пр.) удовлетворять информационную потребность пользовате-
ля АИС (relevant — относящийся к делу).
Реляционная алгебра — алгебра (язык), включающая набор операций
для манипулирования отношениями.
Реляционная база данных — база данных, состоящая из отношений.
Здесь вся информация, доступная пользователю, организована в
виде таблиц, обычно имеющих уникальные имена, состоящих
Глоссарий
535
из строк и столбцов, на пересечении которых содержатся значе-
ния данных, а операции над данными сводятся к операциям над
этими таблицами.
Реляционная СУБД (РСУБД) — система управления базами данных,
поддерживающая реляционную модель данных (РМД).
Репозитарий — архив, склад, кладовая.
Рунет — сокращенное название для «русского», т. е. русскоязычного
и РФ-ориентированного Internet. Робот-индексировщик Yandex
автоматически считает серверы в доменах su, ru. am, az, by, ge,
kg, kz, md, ua, uz принадлежащих Рунету. Остальные серверы
вносятся в базу, если на них найден текст на русском языке или
если владельцы ресурсов убедят администрацию поисковой ма-
шины в том, что их сервер интересен пользователям русскоя-
зычного Internet.
Сервер — программа, реализующая функции СУБД: определение
данных, запись—чтение—удаление данных, поддержку схем
внешнего—концептуального-внутреннего уровней, диспетчиро-
вание и оптимизацию выполнения запросов, защиту данных.
Сетевая модель данных (модель CODASYL). Предложенная
CODASYL модификация иерархической модели, в которой одна
запись могла участвовать в нескольких отношениях предок/по-
томок.
Сетевой сервер — сетевой (хост-) компьютер, выполняющий систем-
ные функции отработки сетевых протоколов для связанных с
сервером других сетевых компьютеров, обычно рабочих стан-
ций. Сетевой сервер обычно выполняет одну или несколько об-
служивающих функций, таких, как файловый сервер, FTP-сер-
вер, Web-сервер и др.
Система управления базами данных (СУБД) — совокупность языко-
вых и программных средств, предназначенных для создания,
ведения и совместного использования БД многими пользовате-
лями.
Словарь данных — исчерпывающий набор таблиц или файлов, пред-
ставляющий собой каталог всех описаний данных (имен, ти-
пов). Может содержать также информацию о пользователях,
привилегиях и т. д., доступную только администратору базы
данных. Является центральным источником информации для
СУБД, АБД и всех пользователей.
536
Глоссарий
Содержание документа — в ODA представляет собственно информа-
цию документа: текст, рисунки и т. п.
Структура данных линейная — порядок следования элементов дан-
ных, который имеет линейный характер и соответствует порядку
расположения элементов в памяти.
Таблица — основная единица информации в системе управления
реляционной базой данных. Состоит из одной или более единиц
информации (строк), каждая из которых содержит значения не-
которого вида (столбцы).
Тег — признак. Часть элемента данных (обычно один или несколько
разрядов), определяющих его тип.
Тезаурус — семантическая сеть, в которой понятия связаны регуляр-
ными и устойчивыми семантическими отношениями — иерар-
хическими (например, род—вид, целое—часть), ассоциативны-
ми, а также отношениями эквивалентности.
Текстовый слой (PDF-документа) — часть документа, сохраненного
в формате PDF, которая содержит часть текста или даже весь
текст документа. ABBYY FineReader способен «читать» тексто-
вые слои PDF, что резко повышает качество распознавания по-
добных документов.
Терминал — устройство, содержащее видеоадаптер, дисплей и кла-
виатуру. Адаптер и дисплей (иногда и клавиатура) обычно ском-
понованы в одном устройстве.
Технологии поисковые — унифицированные (оптимизированные в
рамках конкретной АИПС) последовательности эффективного
использования в процессе взаимодействия пользователя с систе-
мой отдельных средств поиска для устойчивого получения ко-
нечного и, возможно, промежуточных результатов.
Типы данных — совокупность соглашений о программно-аппаратур-
ной форме представления и обработки, а также ввода, контроля
и вывода элементарных данных; к типам данных прежде всего
относятся классические типы — целое число, действительное
число, булевское значение.
Топология БД — схема распределения компонент базы данных по
физическим носителям, в том числе различным узлам вычисли-
тельной сети.
Точка сохранения — момент времени, когда в БД записывается вся
работа в транзакции. В транзакции может применяться ряд то-
Глоссарий
537
чек сохранения, выступающих в роли промежуточных точек для
работы.
Точность распознавания — основной параметр, характеризующий ка-
чество работы OCR-программы. Численно равен отношению
количества правильно распознанных символов к общему коли-
честву символов в документе и выражается в процентах.
Транзакция — последовательность операций над данными базы, пе-
реводящая БД из одного непротиворечивого состояния в другое,
которая может быть представлена как одно «событие».
Триггер (включения, запроса, удаления и пр.) — группа команд
языка запросов или программирования (в среде СУБД), кото-
рая исполняется при наступлении определенного условия/со-
бытия (конец файла, считывание записи, изменение значения
поля и пр.).
Уровни представления данных — концептуальный, внутренний и
внешний. Внутренний уровень — глобальное представление БД,
определяет необходимые условия в первую очередь для органи-
зации хранения данных на внешних запоминающих устройст-
вах. Представление на концептуальном уровне является обоб-
щенным взглядом на данные с позиций предметной области.
Внешний уровень представляет потребности пользователей и
прикладных программ.
Утилита СУБД — программа, которая запускается в работу коман-
дой операционной системы главного компьютера и выполняет
какую-то функцию над базой данных (обычно на физическом
уровне данных), либо команда (функция ядра СУБД, доступная
только АБД), реализующая аналогичную операцию.
Файл — именуемая единица информации, поддерживаемая опера-
ционной системой. Доступ к данным реализуется либо в рамках
ОС, либо пользовательскими программами, либо в рамках
СУБД, либо комбинированно. Обычно ОС может предоставить
пользовательским программам не более двух типов файлов: за-
писе-ориентированные, когда при обращении к файлу из поль-
зовательской программы считывается или выводится в файл за-
пись (агрегат или элемент данных — логическая единица ин-
формации) и потоко-ориентированные, когда пользовательской
программе предоставляется для записи или чтения физический
элемент файла (очередной бит или байт данных).
Файл ASCII (ASCII-File) — файл, содержащий символьную инфор-
мацию, представленную только ASCII-кодами «левой части»
538
Глоссарий
(первые 128 символов кодовой таблицы, или код Latin-1) и сим-
вольную разметку.
Файл базы данных — физический файл ОС, используемый для
размещения БД. Управление данными в таком файле произ-
водится совместно ОС и СУБД. Крайние варианты размеще-
ния БД по файлам: 1) все данные БД — в одном файле
(файл DATA, СУБД ADABAS); 2) каждая таблица БД — в от-
дельном файле ОС (.DBF-файлы системы FoxPro). Промежу-
точный вариант размещения, например ORACLE, — база
данных состоит из одного или более табличных пространств,
которые в свою очередь состоят из одного или более файлов
базы данных.
Файл бинарный — файл, содержащий произвольную двоичную ин-
формацию (текст с бинарной разметкой, программа, графика,
архивный файл).
Файл графический — бинарный файл, содержащий данные, обычно
полученные с помощью растрового сканера и соответствующие
двухмерному изображению объекта.
Файл-сервер — установленное в сети устройство хранения файлов,
доступное всем пользователям сети. Не только хранит файлы,
но и управляет ими, поддерживает порядок при запросе файлов
пользователями сети и вносит в них изменения.
Файл текстовый — файл, содержащий символьную информацию в
одном из соответствующих кодов, и коды, управляющие режи-
мом отображения символов на печать и экранные устройства.
Формат — способ расположения и представления данных на носи-
теле информации.
Форматы файлов — представление информации на уровне взаимо-
действия операционной системы с прикладными программами.
Целостность — свойство БД, при котором она удовлетворяет неко-
торым определенным ограничениям значений данных и сохра-
няет это свойство при всех модификациях (замена, добавление
или удаление) данных.
Шлюз — устройство для соединения разнотипных сетей, работаю-
щих по разным протоколам связи в целях обеспечения передачи
информации из одной сети в другую.
Экспорт (выгрузка, upload) — утилита (функция, команда) СУБД,
служащая для вывода информации из БД (обычно одной из таб-
Глоссарий
539
лиц) в файл(ы) операционной системы, организованные в неко-
тором коммуникативном формате.
Электронная доска объявлений (BBS) — станция электронной почты.
Услуга в компьютерной сети для автоматического приема сооб-
щений и обслуживания запросов на их просмотр и получение.
Электронная почта — передача сообщений по компьютерной сети.
Электронная почта представляет собой вариант почтовой служ-
бы, который предназначен для взаимодействия компьютеров
(или терминалов). Дает пользователю возможность отправлять и
принимать сообщения и (в некоторых случаях) изображения
или речевые послания, предназначенные как индивидуальным
адресатам, так и группам пользователей (конференции).
Электронная таблица — прикладная программа, используемая обыч-
но для составления бюджета, прогнозирования и других задач,
связанных с финансами. Документ электронной таблицы состо-
ит из ячеек, сформированных по строкам и колонкам. Каждая
ячейка может содержать текст, числовые данные или формулу,
использующую значения из других ячеек. Для облегчения расче-
тов в электронной таблице имеются встроенные функции стан-
дартных вычислений.
Электронно-цифровая подпись (ЭЦП) — аналог личной подписи со-
трудника, который служит для заверения электронных докумен-
тов. Гарантией однозначной авторизации подписанного элек-
тронного документа и невозможности подделки такой подписи
является специальная криптографическая функция, лежащая в
основе алгоритма выработки ЭЦП.
Электронный документ — документ, носителем которого является
электронная среда — МД, МЛ. компакт-диск и т. д.
Элемент данных (элементарное данное) — неделимое именованное
данное, характеризующееся типом (напр., символьный, число-
вой, логический и пр.), длиной (в байтах) и обычно рассчитан-
ное на размещение в одном машинном слове соответствующей
разрядности. Это минимальная адресуемая (идентифицируемая)
часть памяти — единица данных, на которую можно ссылаться
при обращении к данным. Ранние языки программирования
(Алгол, Фортран) были рассчитаны на обработку элементарных
данных или их простейших агрегатов — массивов (матрицы,
векторы). С появлением ЯП Кобол появляется возможность
представления и обработки агрегатов разнотипных данных (за-
писей). В реляционных БД элементарное данное есть элемент
540
Глоссарий
таблицы. Иногда используется термин поле записи в качестве
синонима.
Элемент текста — часть текста, ограниченная начальной и конечной
метками (при использовании SGML).
Язык манипулирования данными (ЯМД). ЯМД обычно включает в
себя средства запросов к базе данных и поддержания базы дан-
ных (добавление, удаление, обновление данных, создание и
уничтожение БД, изменение определений БД, обеспечение за-
просов к справочнику БД).
Язык описания данных (ЯОД) — средство внутрисистемного опреде-
ления данных, представляющего обобщение внешних взглядов.
Описание представляет собой модель данных и их отношений,
т. е. структур, из которых образуется БД.
Язык структурированных запросов (SQL). Основной интерфейс поль-
зователя и АБД для запоминания и поиска информации в базе
данных для ряда СУБД (Oracle, MS SQL Server и пр.). Включает
в себя в качестве подмножеств следующие категории операто-
ров: 1) язык описания данных (ЯОД). Эти операторы определя-
ют (CREATE) или удаляют (DROP) объекты базы данных. При-
меры: CREATE TABLE, CREATE INDEX, DROP TABLE, RENAME
table; 2) язык управления данными (ЯУД). Эти операторы
управляют доступом к данным и к базе данных. Примеры:
GRANT CONNECT, GRANT SELECT, UPDATE ON, REVOKE DBA;
3) язык манипулирования данными (ЯМД). Эти операторы за-
прашивают и обновляют реальные данные. Примеры: select,
INSERT, DELETE, UPDATE.
Список сокращений
АИПС — автоматизированная информационно-поисковая
система
АИС — автоматизированная информационная система
БД — база данных
ЕЯ — естественный язык
ИД — информационная деятельность
ИП — информационная потребность
ИПП — информационная потребность пользователя
ИПС — информационно-поисковая система
ИР — информационный ресурс
ИС — информационная система
ИПЯ — информационно-поисковый язык
ДО — лингвистическое обеспечение
ОД — основная деятельность
ПО — поисковый образ
ПОЗ — поисковый образ запроса
ПОД — поисковый образ документа
ПрО — предметная область
Оглавление
Введение ............................................. 3
Глава 1. ИНФОРМАТИКА И ИНФОРМАЦИОННЫЕ
ТЕХНОЛОГИИ ...........................................7
1.1. Информатика — состав и структура..............7
1.2. Соотношение понятий «информация», «данные»,
«знания»........................................ 10
1.3. Структуризация взаимосвязи информатики
с предметной областью применения.............. 17
1.4. Уровни информационных процессов..............25
Глава 2. ТЕХНОЛОГИИ ОБРАБОТКИ ДОКУМЕНТОВ..............47
2.1. Текстовая информация. Модель документа........47
2.2. Языки разметки документов.....................52
2.3. Технологии XML................................62
2.4. Текстовый редактор Word.......................72
2.5. Работа с электронными таблицами...............80
Глава 3. МУЛЬТИМЕДИЙНЫЕ ТЕХНОЛОГИИ...................101
3.1. Обработка аудиоинформации....................101
3.2. Форматы записи-воспроизведения аудиосигналов . . 120
3.3. Технологии статических изображений.......... 132
3.4. Программные средства обработки изображений . . 140
3.5. Цифровое видео.......... ......... .... 149
3.6. Элементы технологии алгоритмов MPEG . . . 165
Глава 4. ИНФОРМАЦИОННЫЕ КРОСС-ТЕХНОЛОГИИ .... 181
4.1. Оптическое распознавание символов (OCR) . 181
4.2. Системы распознавания речи...................198
4.3. Системы генерации речи......................215
4.4. Системы автоматизированного и автоматического
перевода текстов.............................231
Оглавление 543
Глава 5. ТЕХНОЛОГИИ ДОСТУПА К ДАННЫМ.
ФАЙЛОВЫЕ СИСТЕМЫ И БАЗЫ ДАННЫХ......................247
5.1. Файловые системы . . . . . 247
5.2. Базы данных и СУБД .......... . 264
5.3. Физическая организация данных в системах
управления данными 296
5.4. Анализ информации и хранилища данных.......306
Глава 6. СЕТЕВЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ.
INTERNET............................................322
6.1. Некоторые основные понятия 323
6.2. Технологии Internet.... 334
6.3. Прикладные протоколы коммуникации Internet 352
6.4. Распределенные файловые системы Internet 363
6.5. Распределенные информационные системы
Internet 373
Глава 7. ТЕХНОЛОГИИ РАСПРЕДЕЛЕННОЙ ОБРАБОТКИ
ИНФОРМАЦИИ..........................................399
7.1. Распределенные базы данных.................399
7.2. Клиент-серверные архитектуры распределенной
обработки данных . . . ...............405
7.3. Архитектура сервера баз данных.............411
7.4. Схемы размещения и доступа к данным
в распределенных БД.............................425
7.5. Объектно-ориентированные технологии
распределенной обработки ................... . . 443
Глава 8. ЗАЩИЩЕННЫЕ ИНФОРМАЦИОННЫЕ
ТЕХНОЛОГИИ .........................................448
8.1. Информационная безопасность и защита
информации 449
8.2. Криптографические методы зашиты данных . 467
8.3. Компьютерные вирусы и зашита от них 478
8.4. Средства зашиты данных в СУБД . 486
8.5. Зашита информации в сетях..................493
Заключение..........................................507
Литература .........................................508
Г лоссарий..........................................512
Список сокращений...................................541