Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Солдатов Сергей Леонидович

Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами
<
Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Солдатов Сергей Леонидович. Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами : Дис. ... канд. техн. наук : 05.13.11 Москва, 2005 116 с. РГБ ОД, 61:06-5/458

Содержание к диссертации

Введение

Глава 1. Анализ современного состояния технологии распределенных баз данных и методов синхронизации данных 13

1.1. Классификация рбд 14

1.2. Поддержка временных данных 16

1.3. Способы поддержки транзакций ; 17

1.4. Исследование основных средств синхронизации данных и методов репликации 19

1.4.1. Средства синхронизации данных 20

1.4.2. Варианты репликации в рбд. 22

1.4.3. Методы идентификации реплицируемых данных 25

1.4.4. Способы разрешения конфликтов 28

1.5. Исследования в области применения кпк 30

1.5.1. Эволюция и сферы использования кпк 30

1.5.2. Обзор программных платформ для разработки приложений бд. 34

1.5.3. Прикладное использование кпк и специфика архитектуры бд...34

1.5.4. Модели сетевого взаимодействия 37

1.6. Постановка задачи исследования 37

Выводы 38

Глава 2. Моделирование процесса репликации данных в распределенной субд, включающей серверные бд и бдму 39

2.1. Разработка нотации диаграмм для проектирования процессов репликации 39

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

2.3. Методика оценки выбора рационального метода синхронизации 64

Глава 3. Методы увеличения производительности распределенной вычислительной системы 66

3.1. Направления оптимизации распределенной системы с использованием мобильных устройств 67

3.2. Минимизация объемов передаваемых данных 69

3.2.1. Схема репликации «издатель-подписчик» . 69

3.2.2. Методы обмена между сервером и карманным компьютером и их сравнение 72

3.3. Рационализация использования ресурсов мобильньгх устройств с Точки зрения энергии 74

3.4. Сокращение времени синхронизации и увеличение мобильной масштабируемости 75

3.5. Предотвращение и разрешение конфликтов 82

3.6. Реализация метода двухфазной синхронизации с кэшированием 86

Глава 4. Методы и средства проектирования и реализации системы синхронизации между сервером корпоративной субд и бд мобильных устройств 88

4.1. Методика проектирования рис с использованием корпоративных субд и бд мобильных устройств 88

4.2. Пример реализации корпоративной информационной системы с использованием мобильных устройств 91

4.3. Функциональная модель кис 94

Выводы и результаты работы 107

Список литературы

Введение к работе

Компьютерные программно-аппаратные комплексы прочно вошли практически во все сферы производства и жизнедеятельности человека. На сегодняшний день трудно представить какую-либо область, в которой не применялись бы те или иные элементы информационных технологий. Ядром любой информационной системы, являющимся центром аккумулирования и/или генерации информации, является база данных (БД). За несколько десятков лет разработки в области БД и систем управления базами данных (СУБД) прошли огромный путь от фундаментальных научных исследований до повсеместного практического применения [1].

Развитие телекоммуникационных сетей связи позволило открыть новое направление информационных технологий, основанное на построении распределенных вычислительных комплексов и данных. Тким образом, появилось новое направление в исследовании баз данных — распределенная база данных [ 1 -4].

С появлением и повсеместным развитием Интернет - технологий [6,7], интерес к распределенным данным стал стремительно расти. Появилось множество средств поддержки согласованного состояния данных в распределенных средах, появились новые понятия: синхронизация, публикация, репликация, распространение данных, а также множество протоколов, схем, техник и методик, позволяющих осуществлять согласование данных в распределенной системе[7-21].

В последние 10 лет большое количество научных трудов в области информатики было посвящено изучению проблем распределенных информационных систем[11, 22-32, 35].

Середина 90-х гг. ознаменовалась появлением новых видов телекоммуникаций, базирующихся на беспроводных решениях. Наметилась тенденция к миниатюризации компьютерных систем[33, 49, 50], стали появляться первые т.н. мобильные компьютеры, характеризующиеся малыми размерами и сравнительно небольшой вычислительной мощностью. По мере стандартизации и глобализации открытых протоколов беспроводной передачи данных разработчики программных продуктов все больше стали уделять внимание созданию программного обеспечения для таких устройств, которые приобрели способность взаимодействовать с персональными компьютерами и большими серверами в рамках единой информационной системы (ИС).

Появилась ноэая проблемная область: взаимодействие больших компьютерных систем баз данных, или корпоративных СУБД, с БД, хранящимися на мобильных устройствах (МУ), или индивидуальных БД. В настоящее время основные игроки на рынке производителей СУБД, такие как, Microsoft, Oracle, Sybase и пр. имеют специальные программные решения, поддерживающие взаимодействие корпоративных БД и БД, располагающихся на МУ, и продолжают активно проводить научные исследования в этой области [34-48,85].

Актуальность темы.

Проблема синхронизации данных в распределенных системах является одной из значимых проблем в области исследования распределенных баз данных. Решением проблем синхронизации занимались многие специалисты по базам данных начиная с момента появления первых распределенных баз данных. Синхронизация данных внутри распределенной системы позволяет обеспечить выполнение фундаментального принципа создания распределенных баз данных: прозрачности доступа к данным с точки зрения пользователя. Значительный вклад в развитие распределенных .систем и в изучение вопросов синхронизации данных внесли следующие отечественные и зарубежные ученые: К. Дж. Дейт, Д. Белл, П. А. Бернштайн, Дж. Н. Грей, П. Дж. МкБрайн, Т. Коннолли, Г. Гарсия-Молина, Дж. Ульман, Г. Видерхольд, Дж. Б. Рутни, Я. Саито, Б. Кемме, Я. Амир, М. Висманн, Е. Ф. Кодд, С. Д. Кузнецов, И. В. Сергеев, А. Ю. Фадеев, А. В. Силин, И. И. Румянцева, М. Е. Ярошевич, А. И Никитин и др. [1,2,4,10,11,13-15,19,24,26-30,43,56,57,64,99] '

С появлением и распространением в среде распределенных систем мобильных устройств акцент внимания исследований ученых сместился в область взаимодействия этих систем с такими устройствами. Исследования в этой области проводятся следующими специалистами: М. Ренхаккамп, Дж. Н. Грей, Д. Барбара, М. Франклин, Т. Экенстэм, Ф. Стефенсон, Е. Фляйш, К. Е. Джонс, А. Трахтенберг, Д. Старобински, Дж. Мэкер, М. Корсон, М. Дрюс, Д. Конан, С. Шабридон, В. Кумар, П. Серрано-Альварадо, Б. Р. Бадринат, Т. Имиелински, А. Яковлев и др. [33,37,38,41,43-45,54,76,81,86]

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

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

Объект исследования.

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

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

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

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

Анализ схем синхронизации [6, 10-12, 17, 24], а также специфики работы мобильных" устройств[51-54,85] по сравнению с мощными высокопроизводительными серверами показывает, что для построения эффективной ИС требуются существенные доработки известных сегодня традиционных алгоритмов синхронизации данных в зависимости от конкретной сферы использования ИС.

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

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

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

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

В четвертой главе изложена методика проектирования РИС с использованием методов и моделей структурного анализа. * Построена функциональная модель корпоративной информационной системы с использованием МУ.-

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

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

Апробация результатов. Основные результаты работ были изложены на конференциях и семинарах: VI Международной научно-практической конференции «Фундаментальные и прикладные проблемы приборостроения, информатики, экономики и права», 6-9 октября 2003 г. Сочи, VIII Всероссийской научно-технической конференции «Новые информационные технологии», 26 апреля 2005 г, Московская государственная академия приборостроения и информатики, научных семинарах кафедры «Персональные компьютеры и сети» под руководством д.т.н., проф. Б. М. Михайлова.

Публикации по теме. Основные результаты диссертационной работы изложены в восьми публикациях:

Солдатов С.Л. Способ синхронизации данных при репликации реляционных таблиц // Фундаментальные и прикладные проблемы приборостроения, информатики, экономики и права: Научные труды VI Международной научно-практической конференции (Сочи, октябрь 2003). — М:МГАПИ, 2003. - с.235-238.

Солдатов С.Л. Основные принципы и концепции повсеместных вычислений. // Программное и информационное обеспечение систем различного назначения на базе персональных ЭВМ: Межвузовский сборник научных трудов / Под ред. д.т.н., проф. Михайлова Б.М. - М:МГАПИ, 2003. Вып. б-с.231-232.

Солдатов С.Л. Характерные особенности технологии повсеместных вычислений // Программное и информационное обеспечение систем различного назначения на базе персональных ЭВМ: Межвузовский сборник научных трудов / Под ред. д.т.н., проф. Михайлова Б.М. .— М:МГАПИ, 2003. Вып. 6 - с.233-234.

Солдатов С.Л. Использование КПК для доступа к базам данных // Программное и информационное обеспечение систем различного назначения на базе персональных ЭВМ: Межвузовский сборник научных трудов / Под ред. д.т.н., проф. Михайлова Б.М. - М:МГАПИ, 2004. Вып. 7 - с.243-246.

Солдатов С.Л. Функциональная модель информационной системы со стационарными и мобильными пользователями // Программное и информационное обеспечение систем различного назначения на базе персональных ЭВМ: Межвузовский сборник научных трудов / Под ред. д.т.н., проф. Михайлова Б.М. - М:МГАПИ, 2005. Вып. 8 - с.171-174.

Солдатов С.Л. Функциональная модель серверных компонентов информационной системы со стационарными и мобильными пользователями // Программное и информационное обеспечение систем различного назначения на базе персональных ЭВМ: Межвузовский сборник научных трудов / Под ред. д.т.н., проф. Михайлова Б.М. - М:МГАПИ, 2005. Вып. 8 -с.174-178.

Солдатов С.Л. Функциональная модель клиентских компонентов информационной системы со стационарными и мобильными пользователями // Программное и информационное обеспечение систем различного назначения на базе персональных ЭВМ: Межвузовский сборник научных трудов / Под ред. д.т.н., проф. Михайлова Б.М. - М:МГАПИ, 2005. Вып. 8 -с. 178-182.

Солдатов С.Л., Брейман А.Д. Синхронизация баз данных с мобильными клиента-ми // Новые информационные технологии: Сборник трудов VIII Всероссийской научно-технической конференции (Москва, 26 апреля 2005). /Под общ. ред. А.П. Хныкина-М.:МГАПИ, 2005. -с. 12-16.

Солдатов С.Л., Брейман А.Д. Программа двухфазной синхронизации мобильных и стационарных баз данных: Св. об офиц, per. Прогр. для ЭВМ № 2005613041, Россия, Федеральная служба по интеллектуальной собственности, патентам и товарным знакам, 2005.

Реализация результатов работы. Разработанные модели и методы внедрены и используются в виде реализованных программных модулей на предприятиях ЗАО «Висма», ЗАО «Титан Мета», ООО «Инструментально-подшипниковый центр», о чем свидетельствуют соответствующие акты внедрения, а также используются в учебном процессе кафедры «Персональные компьютеры и сети» МГАПИ при изучении дисциплины «Управление большими базами данных».

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

Способы поддержки транзакций

В современных системах OLTP - обработка преобладает над аналитикой. В связи с этим, встает один из важнейших вопросов при использовании СУБД - организация подсистемы транзакций. Задачей СУБД в данном контексте является исключение отрицательных взаимных воздействий одних транзакций на другие, чтобы обеспечить многопользовательскую работу (параллельную обработку данных)[]. Существует два способа решения этой проблемы: использование механизма блокировок; использование механизма многовариантности.

Основная идея механизма блокировок такова: в случае, когда, при выполнении некоторой транзакции, необходимо иметь гарантии, что определенный объект БД не будет непредсказуемо изменен без ведома данной транзакции," требуемый объект блокируется. Эффект выполнения блокировки состоит в том, что доступ к объекту со стороны других транзакций запрещается, а это позволяет предотвратить его неконтролируемое изменение. В результате установившая блокировку транзакция сможет выполнять всю необходимую обработку, имея полную гарантию, что обрабатываемый объект будет оставаться в неизменном состоянии настолько долго, насколько потребуется[13]. В таком подходе имеется ряд недостатков. Во-первых, блокировки в значительной степени замедляют обработку данных, во-вторых, возможна ситуация, когда двум транзакциям требуются одинаковые объекты, причем эти транзакции блокируют их в разной последовательности, в результате чего достигается эффект мертвых блокировок или «зависания». Если вторая ситуация частично разрешается методом организации обработки запросов по принципу очереди, то способ увеличить производительность параллельной обработки данных кроется в использовании механизма многовариантности.

Механизм многовариантности основан на том, что СУБД создает несколько вариантов информации БД для того, удовлетворить запросы параллельных SQL-операторов, в том числе комбинации запросов и операторов DML. После завершения транзакций, система приводит данные в согласованное состояние. Например, в СУБД Oracle этот механизм реализован так. Каждая завершенная транзакция увеличивает системный номер изменения (SCN - system change number). В данном случае можно считать SCN уникальным идентификатором завершенной транзакции. В заголовок блока данных записывается SCN воздействовавшей на этот блок транзакции, которая завершилась последней. После формирования запроса Oracle создает для результирующего множества запроса набор согласованных данных с помощью нижеприведенных операций. В начале запроса Oracle анализирует текущий SCN системы (или запроса). При выполнении запроса Oracle считывает блоки данных и создает из них результирующее множество запроса. Считывая каждый блок данных, Oracle сравнивает SCN запроса с SCN, находящимся в заголовке блока данных: Если SCN в блоке данных равен SCN запроса или меньше его, Oracle может использовать данные этого блока для построения результирующего множества запроса. Если SCN в блоке данных больше SCN запроса, Oracle считывает информацию из сегментов отката системы, чтобы воссоздать информацию блока данных в том виде, в котором она находилась в момент, соответствующий SCN запроса[8]. С точки зрения эффективности данный подход существенно лучше по отношению к механизму блокировок, однако технически он более сложен в реализации.

Одной из главных задач для разработчиков при проектировании системы на основе распределенной СУБД является то, чтобы с точки зрения пользователя система работала так же, как при использовании централизованной СУБД (т.е. обеспечивалась прозрачность). Эта задача является фундаментальным принципом (или «Правилом Нуль») создания распределенных данных. По Дейту, данный принцип имеет следствием 12 дополнительных целей: локальная независимость, отсутствие опоры на центральный узел, непрерывное функционирование, независимость от расположения, независимость от фрагментации, независимость от репликации, обработка распределенных запросов, управление распределенными транзакциями, аппаратная независимость, независимость от операционной системы, независимость от сети, независимость от типа

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

Методы идентификации реплицируемых данных

Методы идентификации реплицируемых данных Существует несколько способов идентификации записей таблиц, в том числе и реплицируемых. К самым распространенным относятся: Использование первичных ключей: о суррогатные, о естественные/пользовательские; Использование специальных типов данных: о уникальные идентификаторы (UID, GUID), о временные типы данных (TimeStamp, DateTime).

Выбор первичного ключа для сущности является очень важным шагом, и требует большого внимания[1, 2, 13] вне зависимости от степени распределенности БД. В качестве первичных ключей может быть использовано несколько атрибутов или групп атрибутов. Атрибуты, которые могут быть выбраны первичными ключами, называются кандидатами в ключевые атрибуты (потенциальные атрибуты). Кандидаты в ключи должны уникально идентифицировать каждую запись сущности. Правила, по которым выбирается первичный ключ из списка предполагаемых ключей, очень строги, однако могут быть применены ко всем типам баз данных и информации. Правила устанавливают, что атрибуты и группы атрибутов должны: Уникальным образом идентифицировать экземпляр сущности. Не использовать NULL значений. Не изменяться со временем. Экземпляр идентифицируется при помощи ключа. При изменении ключа, соответственно меняется экземпляр. . Быть как можно более короткими для использования индексирования и получения данных.

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

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

Понятие уникального идентификатора неразрывно связано с понятием первичного ключа. Чтобы обеспечить его уникальность, одну из главных характеристик, необходимо использовать определенный тип данных. В простейшем случае это может быть тип «целое» или «длинное целое», однако в сложных системах требуется гарантировать свойство уникальности на уровне СУБД. В таком случае можно использовать тип данных UID. Этот тип данных безусловно подойдет во всех случаях использования в локальной базе данных, но не исключает вероятность генерации одинаковых значений на разных серверных машинах. Для обеспечения абсолютной уникальности значения в пределах всего земного шара предназначен специальный тип данных GUTD - глобальный универсальный идентификатор. Его свойство уникальности реализуется включением в состав ключа информации двух типов: о том, где и когда GUID был сформирован. «Где» обеспечивается включением в GUID МАС-адреса сетевого интерфейса, а «Когда» — значением внутреннего таймера центрального процессора с высокой точностью. Недостатки использования типа данных GUID очевидны — большой размер ключа и значительно большее время обработки записей.

Тип данных GUID, описанный выше, позволяет однозначно идентифицировать запись лишь в момент ее создания. Для репликации таблиц важно отслеживать не только появление, но и последующее изменение табличных данных. В этом случае на помощь приходят временные типы данных, такие как DateTime и TimeStamp. Особенно эффективно использование этих типов данных при организации темпоральных таблиц (см. п. 1.1.4). Отличие этих типов данных зависит от конкретной реализации

СУБД. Например, в MS SQL Server типы DateTime и TimeStamp не имеют ничего общего. DateTime используется в качестве хранилища информации о дате и времени произошедшего события, a TimeStamp (имеющий также синоним RowVersion) используется для отслеживания последовательности изменений строк, т.е. фактически предназначен для использования в системах репликации.

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

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

Пусть в моделируемой информационной системе имеется Ns стационарных и Nm мобильных пользователей. Каждый пользователь в случайные моменты времени генерирует запросы на обработку, каждый из которых попадает в очередь запросов. Предположим, что в силу особенности организации СБД запросы из очереди не теряются, а количество интерфейсов для подключения мобильных пользователей не ограничено. Не умаляя общности, будем считать потоки запросов отдельных пользователей пуассоновскими. Пусть X s - интенсивность потока запросов от одного стационарного пользователя, Xіт - интенсивность потока запросов от одного мобильного пользователя, Xs и Хщ интенсивности совокупных потоков запросов от всех стационарных и всех мобильных пользователей, соответственно, =(V m) - суммарная интенсивность входного потока запросов.

Разделим время функционирования ИС на три периода: ta - время активной обработки клиентских запросов, tp - время пассивного функционирования системы, ts - время, необходимое для выполнения регламентных операций: штатная репликация, создание резервных .копий и т.д. Основной задачей модели двухфазной синхронизации с кэшированием — увеличение мобильной масштабируемости ИС посредством распределения вычислительной нагрузки от запросов мобильных пользователей на период пассивного функционирования ИС. Обозначим интенсивность выходного потока обработанных запросов через Л. Тогда загрузка системы р определяется как отношение интенсив ностей входного и выходного потока: Л р= - (1)

Пусть все запросы от всех клиентов относятся к одной и той же таблице. Тогда моделируемая система является одноканальнои с одним процессором. В таком случае система будет находиться в стационарном режиме, если р =1. Если р 1, то система пребывает в нестационарном режиме, т.е. нагрузка превышает максимально допустимый уровень, а таблица подвержена мертвой блокировке. Таким образом, граничное условие на максимальное количество клиентов определяется при р = 1. При этом предположим, что запросы клиентов не теряются из очереди. В таком случае система будет иметь характеристику: М/М/1/оо с интенсивностью входного потока X=(Xs+Xm).

Нет заявок на обслуживании в состоянии S0, а в остальных состояниях на обслуживании находится одна заявка (и когда нет очереди, и когда она есть!). w=0PQ+\(\-P0). (20) Для вероятности \ Ро получаем 1 - Л = (О - Рт+2) - (1 - P))/(1 - Pm+2) = (Р - Рт+2У(1 - Рт+2-). (21) Поэтому w = (р - рт+2)/(1 - рт+2). (22) Среднее число заявок в системе (в очереди и на обслуживании): k = r+w. (23) Среднее время ожидания в очереди определяется из следующих соображений. Первая заявка в очереди ждет, пока будет обработана заявка, находящаяся на обслуживании в приборе, вторая заявка в очереди ждет, пока будут обработаны заявка, находящаяся в приборе, и первая заявка в очереди, т.е. пока будут обработаны две заявки, и т.д.

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

В случае применения второго подхода, предполагающего использовать мобильный кэш, явной зависимости времени выполнения транзакций стационарных клиентов и синхронизации с мобильными не наблюдается. При таком подходе все мобильные клиенты производят 1 этап синхронизации в своих КЭШах, после этого все КЭШи выстраиваются в очередь для последовательного проведения синхронизации с основной таблицей. Предел мобильной масштабируемости определяется временем покоя информационной системы, когда ни мобильные, ни стационарные клиенты не совершают операций, и вычислительный ресурс полностью сосредоточен на обработку очереди второго этапа синхронизации. На рис. 2.7. отображены зависимости времени выполнения транзакции к количеству мобильных пользователей в системе. Итак, наша система характеризуется двумя временными параметрами: ta - время активности стационарных мобильных клиентов. tp - время покоя, когда клиенты находятся в пассивном состоянии, запросов от них не поступает, и вся обработка направлена на обслуживание очереди 2 этапа синхронизации: общая таблица - кэш, Рассчитаем времена выполнения синхронизации, не учитывая при этом время передачи данных между сервером и МУ. При использовании единой очереди запросов с учетом формул (37) и (40) получим:

Рационализация использования ресурсов мобильньгх устройств с Точки зрения энергии

Согласно исследованиям, проведенным над некоторыми моделями КПК Toshiba, наблюдается следующее распределение энергии внутри устройства: 36% - подсветка дисплея; 21% - процессор и оперативная память; 18% - беспроводной интерфейс; 18% - жесткий диск[81 ].

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

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

Сравнивая эти режимы можно сказать, что в первом и втором состоянии узел в среднем потребляет приблизительно в 20 и в 10 раз соответственно больше энергии, чем в третьем.

В зависимости от топологии КБД можно использовать соответствующие схемы репликации, при которых определенные узлы сети будут помещаться в те или иные режимы с целью сохранения энергии. Исследования, посвященные энергетическому анализу функционирования МУ, приводятся в [80-82].

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

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

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

Экземпляр КБД мобильного клиента характеризуется следующими особенностями: 1. Редкое соединение с сервером БД. 2. Относительно небольшой объем хранимых и обрабатываемых данных (в сравнении с сервером). 3. Меньшая производительность и менее мощные вычислительные ресурсы.

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

Похожие диссертации на Математическое и программное обеспечение синхронизации баз данных мобильных устройств с корпоративными системами