Распределенные информационные системы и базы данных. Учебное пособие
.pdfВ OSE/RM используется два типа элементов:
логические объекты, включающие в себя прикладное программное обеспечение, прикладные платформы и внешнюю функциональную среду;
интерфейсы, содержащие интерфейс прикладной системы и интерфейс обмена с внешней средой.
В контексте эталонной модели OSE прикладное программное обеспечение (ППО) включает в себя непосредственно коды программ, данные, документацию, а также тестирующие, вспомогательные и обучающие средства.
Прикладная платформа состоит из совокупности программноаппаратных компонентов, реализующих системные услуги, которые используются прикладным программным обеспечением.
Внешняя среда платформ состоит из элементов, внешних по отношению к ППО и прикладной платформе (например, внешних периферийные устройств, услуг других платформ, операционных систем или сетевых устройств).
Интерфейс прикладной программы является интерфейсом между ППО и прикладной платформой. Основная функция API (application programming interface) – поддержка переносимости ППО. Классификация API производится в зависимости от типа реализуемых услуг: взаимодействие в системе «пользователь – компьютер», обмен информацией между приложениями, внутренние услуги системы, коммуникационные услуги.
Интерфейс обмена с внешней средой обеспечивает передачу информации между прикладной платформой и внешней средой, а
также между прикладными программами, которые выполняются на одной платформе.
Требование совместимости и взаимодействия прикладных программ привело к разработке системы стандартов «Интерфейс переносимой операционной системы» (POSIX-стандарты) [43].
Эталонная модель взаимосвязи открытых систем
Понятие «открытые системы» трактуется как возможность любых двух систем взаимодействовать между собой с помощью соответствующих интерфейсов (коммуникационных функций), стандартизация
61
которых определяется моделью взаимосвязи открытых систем (Open Systems Interconnection, OSI) [44]. Цель OSI – обеспечение совмести-
мости различных систем связи со стандартными коммуникационными протоколами.
Суть OSI – разбиение процесса информационного взаимодействия между системами на уровни с четко разграниченными функциями, благодаря чему становится более понятна парадигма взаимодействия сетевого оборудования и программного обеспечения.
Модель OSI состоит из семи концептуальных уровней (рис. 14).
|
А |
||
Придает |
|
|
|
|
|
||
|
|
||
|
|
||
семантику |
Прикладной |
||
информации |
|
|
|
|
|
|
|
|
Представления |
||
|
данных |
||
Установление |
|
|
|
|
|
||
ипрекращение |
Сеансовый |
||
сеанса |
|
|
|
|
|
|
|
|
Транспортный |
||
Установление |
|
|
|
|
|
||
маршрута |
Сетевой |
||
управления |
|||
протоколом |
|
|
|
|
|
|
|
|
Канальный |
||
Гарантирует |
|
|
|
|
|
||
передачусимволов |
Физический |
||
пофизическому |
|||
|
|
||
каналу |
|
|
|
|
|
|
|
ПРОТОКОЛЫ
Управление
прикладными
процессами
Управление
представлением
данных
Управление
сеансами
Управление
транспортировкой
данных
Управление
сетью (пакеты)
Управление информационнымканалом (кадры)
Управление физическимканалом (биты)
Б
Прикладной
Представления
данных
Сеансовый
Транспортный
Сетевой
Канальный
Физический
Рис. 14. Эталонная модель взаимодействия открытых систем
62
Уровни модели выполняют следующие функции.
1.Физический уровень обеспечивает передачу последовательности битов в виде сигналов определенной физической природы со скоростью, соответствующей пропускной способности канала.
2.Канальный уровень формирует блоки данных – кадры, осуществляет управление доступом к передающей среде, обнаруживает
иисправляет ошибки.
3.Сетевой уровень реализует функцию маршрутизации. Блоки данных сетевого уровня называются пакетами.
Физический, канальный и сетевой уровни являются сетезависимыми, поэтому их функционирование меняется в зависимости от типа сети связи.
4.Транспортный уровень занимает центральное место в иерархии уровней, обеспечивает взаимодействие процессов в подключаемых оконечных устройствах и сквозное управление движением пакетов между этими процессами. Наличие этого уровня освобождает пользователей от необходимости изучения всех функций коммутации, маршрутизации и отбора (селекции) данных.
Четыре нижних уровня (физический, канальный, сетевой, транспортный) составляют транспортную сеть.
5.Сеансовый уровень обеспечивает поддержание диалога между процессами, выполняя функции организации передачи данных и синхронизации процедур взаимодействия.
6.Уровень представления обеспечивает интерпретацию данных. На этом уровне реализуется синтаксис (анализируется представление символов, формат страниц, кодирование и др.).
7.Прикладной уровень реализует функции, которые не могут быть приписаны предыдущим уровням. Протоколы прикладного уровня придают соответствующий смысл (семантику) обмениваемой информации. Прикладной уровень обеспечивает выполнение всех информа- ционно-вычислительных процессов.
Формализованные правила, определяющие последовательность и формат сообщений, которыми обмениваются сетевые компоненты, лежащие на одном уровне на разных узлах, называются протоколами.
Правила и форматы сообщений, определяющие взаимодействие соседних уровней, находящихся на одном узле, принято называть интерфейсом. Интерфейс определяет набор услуг, которые нижележащий уровень предоставляет вышележащему.
63
7. ТЕНДЕНЦИИ В ОБЛАСТИ РАСПРЕДЕЛЕННЫХ СИСТЕМ
В основе технологий распределенных систем лежат удаленный доступ, высокая степень доступности ресурсов, устойчивость к сбоям и отказам, а также удаленное взаимодействие пользователей. Поэтому перспективы развития технологий распределенных систем в настоящее время связаны с расширением предметных областей, в которых распределенные ресурсы обеспечивают решение задач, требующих доступного программного инструментария и вычислительных мощностей.
Одним из направлений в распределенных системах, удовлетворяющих перечисленным требованиям, является сloud computing – облачные вычисления. Cloud computing – это группа технологий, представляющих собой способ распределенных вычислений, который основан на сети слабосвязанных гетерогенных компьютеров, работающих вместе для выполнения большого числа заданий (операций, работ).
Технология cloud computing включает в себя несколько сервисных моделей [46, 47].
SaaS (Software as a Service, программное обеспечение как услуга) – предоставление в аренду через сетевые интерфейсы приложений, работающих на платформе поставщика услуг без необходимости установки на компьютер или мобильное устройство пользователя. Помимо собственно программного обеспечения в число предоставляемых могут входить источники данных (включая интерфейсы доступа к измерительному оборудованию), сервисы визуализации и др. Потребитель при этом не управляет базовой инфраструктурой облака, в том числе сетями, серверами, операционными системами, системами хранения и даже индивидуальными настройками приложений, за исключением некоторых пользовательских настроек. Это позволяет потребителям услуг SaaS значительно снизить расходы и быстрее внедрять, масштабировать и модернизировать бизнес-решения, чем при исполь-
64
зовании локальных систем и ПО, а также рассчитывать совокупную стоимость владения12 с большей точностью.
IaaS (Infrastructure as a Service, инфраструктура как услуга) –
спомощью модели IaaS организации могут частично или полностью переместить инфраструктуру организации на платформу поставщика услуг, где ее обслуживанием и управлением займется поставщик облачных решений. К элементам инфраструктуры могут относиться вычислительные и сетевые ресурсы, оборудование для хранения данных, а также другие компоненты и программное обеспечение. Потребитель при этом не управляет базовой инфраструктурой облака, но имеет контроль над операционными системами, системами хранения, развернутыми приложениями и, возможно, ограниченный контроль выбора сетевых компонентов.
PaaS (Platform as a Service, платформа как сервис) – как и в случае
сIaaS, PaaS включает в себя инфраструктуру (серверы, хранилище и сетевое оборудование), а также ПО промежуточного слоя, средства разработки, бизнес-аналитику, службы системы управления базами данных и др. Модель PaaS предназначена для поддержки полного жизненного цикла приложений (разработки, тестирования, развертывания, управления и обновления), созданных или приобретенных, которые реализованы с помощью языков программирования, библиотек, служб и средств, поддерживаемых поставщиком услуг. Потребитель при этом не управляет базовой инфраструктурой облака, но имеет контроль над развернутыми приложениями и, возможно, некоторыми параметрами конфигурации среды облака.
FaaS (Function as a Servise, функция как услуга), или бессерверные вычисления (Serverless computing), – полностью автоматизированный сервис для запуска и выполнения программного кода, который поддерживает бизнес-логику организации.
Другими направлениями, для которых распределенные системы обеспечивают технологическую основу, являются следующие [16].
1.Интернет вещей (IoT) – это концепция, объединяющая множе-
ство технологий для разработки систем автоматизации, которые
12 Совокупная стоимость владения (TCO, Total cost of ownership). TCO –
методика, с помощью которой возможна оценка структуры затрат, связанных с использованием всех составляющих элементов информационной инфраструктуры в период их жизненного цикла.
65
взаимодействуют с использованием распределенных систем, являющихся неотъемлемой частью интернета вещей, и на основе которых создаются распределенные экосистемы для мониторинга и управления различными аспектами жизни.
2.Блокчейн. Технология блокчейн основана на децентрализованном распределенном реестре для записи транзакций и учета данных, который позволяет создавать децентрализованные системы с прозрачным, безопасным и надежным хранением данных. «Под распределенным реестром понимается совокупность баз данных, тождественность содержащейся информации в которых обеспечивается на основе установленных алгоритмов (алгоритма)» [48].
3.Машинное обучение и искусственный интеллект. Во многих задачах машинного обучения и интеллектуального анализа возникает необходимость работать с большими объемами данных. Централизованный подход порождает проблемы, связанные с ограничениями памяти, временем вычислений и безопасностью конфиденциальных данных. Для решения этих проблем используются распределенные вычислительные системы, играющие ключевую роль в оптимизации обучения и применении моделей машинного обучения [49].
4. Кибербезопасность. Распределенные системы сталкиваются с новыми вызовами в области кибербезопасности. Защита данных и обеспечение безопасности сетей становятся приоритетом.
5. Распределенные системы в медицине и науке. В медицине и научных исследованиях распределенные системы используются для анализа и обработки медицинских данных, симуляций и исследования.
6. Распределенные системы в финансовой сфере. В финансовой индустрии распределенные технологии играют важную роль в улучшении процессов сделок, бухгалтерии и управления рисками.
66
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1.Федеральный государственный образовательный стандарт высшего образования – магистратура, направление подготовки 09.04.01 Информатика
ивычислительная техника // Портал Федеральных государственных образовательных стандартов высшего образования.– URL: https://fgosvo.ru/news/view/ 503 (дата обращения: 09.10.2024).
2.Распределенные системы и алгоритмы // Портал ИНТУИТ Националь-
ный открытый университет. – URL: https://intuit.ru/studies/courses/1146/238/ lecture/6141 (дата обращения: 09.10.2024).
3.Таненбаум Э. Распределенные системы. Принципы и парадигмы / Э. Таненбаум, М. ван Стеен. – Москва ; Санкт-Петербург : Питер, 2003. – 877 с.
4.ГОСТ 24402–88. Телеобработка данных и вычислительные сети. Термины и определения. – Москва : Стандартинформ, 2005. – 12 с.
5.ГОСТ 33707–2016. Информационные технологии. Словарь. – Москва : Стандартинформ, 2016. – 202 с.
6.ГОСТ 34.321–96. Информационные технологии. Система стандартов по базам данных. Эталонная модель управления данными. – Москва : Издательство стандартов, 2001. – 24 с.
7.ГОСТ Р ИСО/МЭК ТО 10032–2007. Эталонная модель управления данными. – Москва : Издательство стандартов, 2009. – 40 с.
8.Оззу М. Тамер. Распределенные и параллельные системы баз данных /
М. Тамер Оззу, П. Валдуриз // Портал CITFORUM. – URL: http://citforum.ru/ database/classics/distr_and_paral_sdb (дата обращения: 09.10.2024).
9.Об информации, информационных технологиях и о защите информации : Федеральный закон от № 149-ФЗ от 27.07.2006 (ред. от 08.06.2020) //
Портал kremlin.ru. – URL: http://www.kremlin.ru/acts/bank/24157 (дата обращения: 09.10.2024).
10.ГОСТ Р ИСО/МЭК 10746-3–2001. Информационная технология. Взаимосвязь открытых систем. Управление данными и открытая распределенная обработка. Часть 3. Архитектура. – Москва : Издательство стандартов, 2002. – 52 с.
11.ГОСТ Р 57100–2016. Системная и программная инженерия. Описание архитектуры : дата введ. 2017–09–01 (переиздан 01.2019). – Москва : Стандар-
тинформ, 2019. – 32 с.
12.ГОСТ Р 57193–2016. Системная и программная инженерия. Процессы жизненного цикла систем (взамен ГОСТ P ИСО/МЭК 15288–2005) : дата введ. 2017–11–01. – Москва : Стандартинформ, 2016. – 95 с.
13.ГОСТ Р ИСО /МЭК 10746-2–2000. Информационная технология. Взаимосвязь открытых систем. Управление данными и открытая распределенная обработка. Часть 2 Базовая модель. – Москва : Издательство стандартов, 2002. – 27 с.
67
14. Новый систематизированный толковый словарь. Обработка и поиск данных в автоматизированных системах. Обработка данных и связанные с нею термины. – URL: https://www.gpntb.ru/win/book24157 (дата обращения: 09.10.2024).
15. Царёв Р. Ю. Основы распределенной обработки информации : учеб. пособие / Р. Ю. Царёв, А. В. Прокопенко, А. Ю. Никифоров // Сибирский федеральный университет. – Красноярск : Сибирский федеральный универси-
тет (СФУ), 2015. – 180 с.
16. ГОСТ Р 59926–2021/ISO/IEC TR 20547-2:2018. Информационные тех-
нологии. Эталонная архитектура больших данных Часть 2: Варианты использования и производные требования (проект). – Москва : Стандартинформ, 2020. – 509 с.
17.Cloud computing // Портал TADVISER. – URL: https://www.tadviser.ru/ index.php/Cloud_Computing (дата обращения: 09.10.2024).
18.ГОСТ 20886–85 Организация данных в системах обработки данных.
Термины и определения (взамен ГОСТ 20886–75). – Москва : Стандартин-
форм, 2005. – 8 с.
19.Назаров С. В. Архитектуры и проектирование программных систем : монография / С. В. Назаров. – Москва : ИНФРА-М, 2023. – 374 с.
20.ГОСТ 19781–90. Обеспечение систем обработки информации программное. Термины и определения. – Москва : Стандартинформ, 2010. – 13 с.
21.Глоссарий IBM // Портал IBM. – URL: https://www.ibm.com/docs/ ru/integration-designer/8.5.7?topic=glossary (дата обращения: 09.10.2024).
22.Портал ГЛОССАРИЙ.ru. – URL: http://www.glossary.ru (дата обращения: 09.10.2024).
23. Saltzer J. H. The protection of information in computer systems / J. H. Saltzer, M. D. Schroeder // Proceedings of the IEEE. – USA : IEEE, 1975. – Vol. 63, No. 09 (September). – P. 1278–1308.
24. ГОСТ Р ИСО/МЭК 27000–2012. Информационная технология. Методы и средства обеспечения безопасности. Системы менеджмента информационной безопасности. Общий обзор и терминология. – Москва : Стандартин-
форм, 2014. – 22 с.
25.Лукацкий А. Триада «конфиденциальность, целостность, доступность»: откуда она? / А. Лукацкий // Портал SecurityLab.ru. – URL: https://www.securitylab.ru/blog/personal/Business_without_danger/24456.php (дата обращения: 09.10.2024).
26.What is the CIA Triad? // Портал FORTINET. – URL: https://www.forti- net.com/resources/cyberglossary/cia-triad (accessed: 09.10.2024).
27.Коннолли Т. К64 Базы данных. Проектирование, реализация и сопровождение. Теория и практика : пер. с англ. / Т. Коннолли, К. Бегг. – 3-е изд. –
Москва : Вильямс, 2003. – 1440 с.
28. Codd E. F. A relational model of data for large shared data banks / E. F. Codd // Communications of the ACM. – 1970. – Vol 13 (6). – P. 377– 387. – URL: http://citforum.ru/database/classics/codd (accessed: 09.10.2024).
68
29.Gray J. The transaction concept: virtues and limitations // Tandem computers incorporated. – 19333 Vallco Parkway, Cupertino CA 95014. – June 1981. – URL: http://jimgray.azurewebsites.net/papers/thetransactionconcept.pdf (accessed: 09.10.2024).
30.Kshemkalyani A. D. Distributed сomputing. Principles, algorithms, and systems / A. D. Kshemkalyani, M. Singhal. – Cambridge University Press, 2008. – 756 p.
31.ГОСТ Р ИСО/МЭК ТО 18044–2007. Информационная технология. Методы и средства обеспечения безопасности. Менеджмент инцидентов Информационной безопасности. – Москва : Стандартинформ, 2009. – 50 с.
32.Lamport L. Time, clocks and the ordering of events in a distributed system / L. Lamport // Communications of the ACM. – July 1978. – Vol. 21 (7). – P. 558–
565. – URL: https://lamport.azurewebsites.net/pubs/time-clocks.pdf (accessed: 09.04.2022).
33. Сетевой протокол времени NTP // Портал OpenNET. – URL: https://www.opennet.ru/docs/RUS/inet_book/4/44/ntp_4415.html (дата обращения: 09.04.2022).
34. Marzullo K. Maintaining the time in a distributed system / K. Marzullo, S. Owicki // Technicai Report. – August 1983. – No. 83–247 // Портал Computer systems laboratory. – URL: http://infolab.stanford.edu/pub/cstr/reports/csl/tr/83/ 247/CSL-TR-83-247.pdf (accessed: 09.04.2022).
35.Postel J. RFC 768. User Datagram Protocol / J. Postel. – 1980. – URL: https://datatracker.ietf.org/doc/html/rfc768 (accessed: 09.04.2022).
36.Cristian F. Probabilistic clock synchronization / F. Cristian // Distributed
Computing. – 1989. – Vol. 3. – P. 146–158. – Springer-Verlag, 1989. – URL: https://web.eecs.umich.edu/~manosk/assets/papers/Cristian.pdf (accessed: 09.04.2022).
37.Бабичев С. Л. Распределенные системы : учеб. пособие для вузов / С. Л. Бабичев, К. А. Коньков. – Москва : Юрайт, 2019. – 507 с.
38.Ван Стин М. Распределенные системы / М. ван Стин, Э. С. Таненбаум ; пер. с англ. В. А. Яроцкого. – Москва : ДМК Пресс, 2021. – 584 с.
39.ГОСТ Р ИСО/МЭК ТО 10000-1–99. Информационная технология. Основы и таксономия международных функциональных стандартов. Часть 1. Общие положения и основы документирования (взамен ГОСТ Р ИСО/МЭК
ТО 10000-1–93). – Москва : Издательство стандартов, 2000. – 20 с.
40. ГОСТ Р ИСО/МЭК ТО 10000-2–99. Информационная технология. Основы и таксономия международных функциональных стандартов. Часть 2. Принципы и таксономия профилей ВОС (взамен ГОСТ Р ИСО/М ЭК ТО 10000-2–93). – Москва : Издательство стандартов, 2000. – 36 с.
41. Информационные системы и технологии в экономике и управлении : учебник для академического бакалавриата / под ред. В. В. Трофимова. – 4-е изд., перераб. и доп. – Москва : Юрайт, 2014. – 542 с.
42. Граничин О. Открытые системы и интеллектуальная собственность в ИТ / О. Граничин, В. Кияев // Портал ИНТУИТ. – URL: https://intuit.ru/ studies/courses/13877/1274/lecture/24025 (дата обращения: 09.04.2022).
69
43.Кузнецов С. Открытые системы, процессы стандартизации и профили стандартов / С. Кузнецов // Портал CITFORUM. – URL: http://citforum.ru/ database/articles/art_19.shtml (дата обращения: 09.04.2022).
44.ГОСТ Р ИСО/МЭК 7498-1–99. Информационная технология. Взаимосвязь открытых систем. Базовая эталонная модель. Часть 1. Базовая модель. – Москва : Стандартинформ, 2006. – 62 с.
45. Гуляев Ю. В. Открытые системы: от принципов к технологии / Ю. В. Гуляев, А. Я. Олейников // Информационные технологии и вычисли-
тельные системы. – 2003. – № 3. – С. 6–11.
46.Батура Т. В. Облачные технологии: основные модели, приложения, концепции и тенденции развития / Т. В. Батура, Ф. А. Мурзин, Д. Ф. Семич // Портал Программные продукты и системы. – URL: https://swsys.ru/ index.php?page=article&id=3862 (дата обращения: 09.04.2022).
47.Cloud computing // Портал TADVISER. – URL: https://www.tadviser.ru/ index.php/Cloud_Computing?cache=no&ptype=publication3862 (дата обращения: 09.04.2022).
48.О цифровых финансовых активах, цифровой валюте и о внесении изменений в отдельные законодательные акты Российской Федерации : Федеральный закон № 259-ФЗ от 31.07.2020 // Официальный интернет-портал пра-
вовой информации. – URL: http://publication.pravo.gov.ru/Document/View/ 00012020073100563862 (дата обращения: 09.04.2022).
49.Трофимов И. Е. Распределенные вычислительные системы для машинного обучения / И. Е. Трофимов // ИТиВС. – 2017. – № 3. – С. 56–69.
50.Распределенные транзакции // Портал Microsoft Learn. – URL: https:// learn.microsoft.com/ru-ru/dotnet/framework/data/adonet/distributed-transactions (дата обращения: 09.04.2022).
51.Клеппман М. Высоконагруженные приложения. Программирование, масштабирование, поддержка / М. Клеппман. – Санкт-Петербург : Питер, 2018. – 640 с.
52. Байг Д. Репликация |
базы данных 101: все, что вам нужно знать / |
Д. Байг // Портал Astera. – |
URL: https://www.astera.com/ru/type/blog/database- |
replication-101 (дата обращения: 09.04.2022).
53.Типы репликации // Портал Learn. – URL: https://learn.microsoft.com/ ru-ru/sql/relational-databases/replication/types-of-replication?view=sql-server-ver16 (дата обращения: 09.04.2022).
54.Репликация данных в различных СУБД // Портал CORTEL. – URL: https://blog.cortel.cloud/2022/11/03/replikacziya-dannyh-v-razlichnyh-subd (дата обращения: 09.04.2022).
55.Cattell R. Scalable SQL and NoSQL data stores / R. Cattell // SIGMOD Record. – 2010. – Vol. 39, No. 4. – P. 12–27.
70
