Файл: Операции, производимые с данными (Операции над данными в общем смысле).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 11.03.2024

Просмотров: 35

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Деревья — это структуры данных, состоящие из узлов, соединенных ребрами. Обычно на верхнем уровне дерева располагается один узел, который соединяется с другими узлами на втором уровне; те, в свою очередь, соединяются с еще большим количеством узлов на третьем уровне и т.д. Таким образом, деревья постепенно расширяются сверху вниз. Существует несколько разновидностей деревьев такие как: бинарные, красно-чёрные, деревья 2-3-4 и другие [5, с. 347]. В данной работе в силу ограниченности объема имеет смысл рассмотреть один из самых популярных видов деревьев — бинарное дерево.

Если каждый узел дерева имеет не более двух потомков, такое дерево называется двоичным или бинарным. Два потомка каждого узла двоичного дерева называются левым потомком и правым потомком в зависимости от позиции на изображении дерева [5, с. 350]. Говоря о бинарном дереве, обычно говорят о его частном случае — бинарном дереве поиска. Бинарное дерево поиска — это бинарное дерево, у которого ключ левого потомка узла всегда должен быть меньше, чем у родителя, а ключ правого потомка — больше либо равен ключу родителя. Такие деревья хорошо подходят для представления данных в случае, когда необходимо выполнять поиск нужного элемента в неупорядоченном наборе данных, используя алгоритм бинарного поиска, однако добавление и удаление элементов представляется не самой простой задачей.

Еще одной популярной структурой данных является хеш-таблица — структура данных, обеспечивающая очень быструю вставку и поиск. Для пользователя хеш-таблицы обращение к данным происходит практически мгновенно. Все делается настолько быстро, что компьютерные программы часто используют хеш-таблицы при необходимости сделать выборку из десятков тысяч элементов менее чем за секунду [5, с. 487]. По сути, хеш-таблица реализует интерфейс ассоциативного массива, у которого ключи представляют собой результат работы некоторой выбранной хеш-функции. Таким образом, имея возможность вычислить хеш-функцию заданного ключа, можно обеспечить доступ к необходимым данным практически мгновенно.

Говоря о сортировке данных, имеет смысл отметить, что термин «сортировка» определяется как процесс разделения объектов по виду и сорту [2, с. 12], однако в данной дисциплине его имеет смысл рассматривать как упорядочивание. Наиболее важными областями применения сортировки являются [2, с. 12]:

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

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

Архивация данных. Базы данных

Необходимость архивировать и хранить данные в технологическом процессе возникает очень часто. Физически данные возможно хранить на различных носителях информации. Это могут быть [4, с. 50-53]:

  • Накопитель на гибких магнитных дисках. Это устройство, позволяющее записывать и читать магнитные диски. Магнитный диск вращается с помощью привода, для записи и считывания информации используются магнитные головки. Сюда относятся, как и обыкновенные 3,5 дюймовые диски емкостью 1,4 Мб, так и специализированные диски формата ZIP, способные хранить в себе до 700 Мб информации [10, с. 99].
  • Накопитель на жестких магнитных дисках. Это устройство для чтения и записи жестких магнитных дисков, находящихся внутри накопителя. В таком накопителе несколько жестких магнитных пластин нанизано на стержень с блоком магнитных считывающих головок. Емкость современных жестких дисков достигает внушительных размеров от сотен гигабайт до нескольких десятков терабайт.
  • Накопитель на магнитной ленте. Это устройство, позволяющее записать и хранить информацию на магнитной ленте. Характеризуется последовательным доступом, а емкость достигает нескольких десятков гигабайт [10, с. 99].
  • Магнитооптический накопитель. Представляет собой то же, что и накопитель на гибких магнитных дисках, однако запись и чтение производится с помощью лазера. Последнее поколение носителей формата 5,25 дюйма достигает емкости 5,2 Гб. Емкость носителей 3,5 дюйма несколько ниже, от 640 Мб до 2,3 Гб [10, с. 100].
  • Оптические устройства хранения данных. Это устройство, использующее в качестве носителя информации оптические компакт-диски. Такие диски представляют собой круглые поликарбонатные пластины, на которые информация записывается и считывается с помощью лазера. Существующие стандарты компакт дисков CD, DVD, Blue-ray позволяют записывать и хранить информацию объемом от 700 Мб до нескольких сотен гигабайт.
  • Flash-память. Наиболее перспективный и широко распространенный современный носитель информации. Носитель основан на электронных схемах и относится к статической энергонезависимой памяти. Современная Flash-память способна хранить объем информации от нескольких десятков гигабайт до десятков терабайт.

Архивировать и хранить большие объемы информации может оказаться трудоемкой задачей, в случае, когда к этой информации необходимо предъявлять определенные правила доступа, хранения, организации и выборки. В таком случае целесообразно использовать системы, предоставляющие услуги по обработке данных. Такие системы называются СУБД (Системы Управления Базами данных), а совокупность данных, хранимых под управлением СУБД, называется базой данных. [7, с. 11-12].

Основные требования к СУБД [7, с. 13-14]:

  • Разделение программ и данных;
  • Высокоуровневый язык запросов;
  • Целостность;
  • Согласованность;
  • Отказоустойчивость;
  • Защита и разграничение доступа.

СУБД предоставляют операции над данными сложной структуры. Необходимо, чтобы описание этой структуры было доступно СУБД и было бы общим для всех программ, использующих эти данные. Это приводит к идее отделения описания структуры данных от программ [7, с. 15].

Любая СУБД включает в себя описания структур данных и зависимостей между ними, а также дополнительные условия, которым хранимые данные должны удовлетворять. Система управления базами данных проверяет ограничения целостности при выполнении любых изменений хранимых данных и не допускает выполнения операций, нарушающих эти ограничения. Поддержка ограничений целостности на уровне СУБД позволяет существенно упростить разработку приложений и одновременно улучшить их качество, так как исключает необходимость обработки некорректных данных [7, с. 19].

Современные СУБД обладают сложными логическими структурами и для эффективной работы с ними необходимо наличие высокоуровневого языка. Такой язык называется язык запросов (SQL) [7, с. 18].

Современные СУБД спроектированы таким образом, чтобы обеспечить полную сохранность данных и восстановление после отказов оборудования. СУБД способны обеспечить значительно более высокую надежность и доступность данных, чем надежность или доступность оборудования, на котором эти данные хранятся и на котором работают эти системы [7, с. 20].

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

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


Защита данных

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

Угроза данным может существовать на различных уровнях информационной системы [15, с. 38]:

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

Информационная безопасность состоит в предотвращении этих угроз. Защита данных или информации — это деятельность по предотвращению утечки защищаемой информации, несанкционированных и непреднамеренных воздействий на защищаемую информацию [15, с. 26].

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

Для обеспечения безопасности на уровне взаимодействия с носителем в настоящее время применяется достаточное количество мер для обеспечения информационной безопасности. Это могут быть комплексные модули доверенной загрузки системы, контролирующие ее работу на протяжении всего рабочего цикла. А также важным средством является резервное копирование наиболее ценных данных. Наличие резервной копии позволяет восстановить данные в случае их утраты [10, с. 236]. Также в числе мер на уровне взаимодействия с носителем могут быть [10, с. 234]:

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

Самым важным уровнем, на котором следует производить защиту данных — это уровень представления и содержания информации. Обычно вопрос о защите данных на уровне содержания и представления встает тогда, когда данные необходимо передать от некоторого отправителя к некоторому получателю. Зачастую данные передаются по открытым каналам, которые доступны для прослушивания кем-то еще помимо отправителя и получателя. Чтобы защитить данные от искажения и раскрытия используется криптография. Криптография представляет собой совокупность методов преобразования данных, направленных на то, чтобы защитить эти данные, сделав их бесполезными для незаконных пользователей [15, с. 113]. Основой большинства криптографических систем защиты служит шифрование данных. Под шифром понимается совокупность процедур и правил криптографических преобразований, используемых для шифрования и расшифровывания информации по ключу шифрования. Ключ шифрования — это секретная информация, использующаяся алгоритмом шифрования для варьирования результата шифрования [15, с. 114].

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

Электронная цифровая подпись (ЭЦП) используется для подтверждения целостности и авторства данных. Как и в случае асимметричного шифрования, в данном методе применяются алгоритмы с простым вычислением открытого ключа из секретного и практической невозможностью обратного вычисления. Однако назначение ключей ЭЦП совершенно иное. Секретный (закрытый) ключ применяется для вычисления ЭЦП, открытый ключ необходим для ее проверки. При соблюдении правил безопасного хранения секретного ключа никто, кроме его владельца, не в состоянии вычислить верную ЭЦП какого-либо электронного документа [15, с. 114].

Транспортировка данных

Транспортировку или передачу данных в данной работе имеет смысл рассматривать как процесс обмена информацией в двоичной форме между двумя и более точками. Передача данных может быть осуществлена между различными устройствами: персональными и промышленными компьютерами, мобильными телефонами, терминалами и различными периферийными устройствами [14, с. 20]. Передача данных является очень сложным и многоуровневым процессом, поэтому для описания требований международной организацией по стандартизации была создана модель взаимодействия открытых систем OSI – ISO Model for Open System Interconnection (рис. 1).