СПОСОБ РЕПЛИКАЦИИ ИНФОРМАЦИИ В РАСПРЕДЕЛЕННЫХ БАЗАХ ДАННЫХ С КОНКУРЕНТНЫМ РАСПРЕДЕЛЕНИЕМ ПОТОКОВ
METHOD FOR INFORMATION REPLICATION IN DISTRIBUTED DATABASES WITH COMPETITIVE FLOW DISTRIBUTION

Изобретение относится к информационным технологиям, в частности к методам и средствам обеспечения информационного обмена между узлами распределенной компьютерной системы.
В настоящее время все более востребованными становятся распределенные базы данных (РБД), однако высокие темпы развития технологий вызывают постоянный рост требований к скорости обслуживания трафика, генерируемого узлами РБД. Одна из основных проблем при этом - сохранение непротиворечивости копий баз данных в узлах РБД. Следовательно, обновления данных должны расходиться по узлам РБД как можно быстрее. Существующие в настоящий момент способы репликации не учитывают возможности влияния РБД на телекоммуникационную систему с целью увеличения скорости выполнения репликации.
Известен способ динамического распределения сетевых ресурсов (патент США №0226249 от 13.10.2005 года "Способ и система для динамического распределения сетевых ресурсов"), заключающийся в том, что на основе оценочной функции вычисляются требования по пропускной способности для различных видов трафика. В результате влияния на порядок и глубину очереди достигается более эффективное распределение сетевых ресурсов. Основными недостатком аналога является отсутствие возможности распределения потоков по различным маршрутам (что может оказывать существенное влияние на скорость распространения потоков и надежность функционирования системы в целом).
Наиболее близким по технической сущности и выполняемым функциям аналогом (прототипом) к заявляемому является способ репликации информации в распределенных базах данных (патент №2315349 от 12.07.2006 года "Способ репликации информации в распределенных базах данных и система его осуществления"), заключающийся в том, что в процессе обмена реплицируемыми данными между узлами РБД формируют обменные файлы, которые помещают в хранилища обменных файлов каждого из узлов РБД, выполненных с возможностью хранения и выборки обменных файлов, проверки корректности содержащихся в них данных, формирования и выполнения запросов на замену некорректных данных. Проводят пересылку обменных файлов между узлами РБД, проверяют корректность принятых файлов и в случае их некорректности обеспечивают повторную пересылку обменных файлов из хранилища. Далее данные из принятых файлов передают в промежуточную БД, проверяют ссылочную целостность данных в промежуточной БД и при отрицательном результате проверки формируют запрос на замену данных и обеспечивают замену некорректных данных, повторно осуществляют указанную проверку и при положительном результате передают данные в основную БД. Для проверки корректности выполненной репликации формируют хэш-суммы соответствующих записей.
Недостатком способа-прототипа является отсутствие возможности влияния на распределение сетевых ресурсов со стороны узлов распределенной базы данных для потоков данных при передаче обменных файлов между узлами распределенной системы, что ограничивает потенциальные возможности процесса репликации в распределенных базах данных с точки зрения скорости выполнения репликации.
Задачей изобретения является разработка способа репликации информации в распределенных базах данных с конкурентным распределением потоков, позволяющего ускорить процесс репликации за счет влияния на распределение потоков данных, распространяемых по узлам РБД.
Эта задача решается тем, что способ репликации информации в распределенных базах данных с конкурентным распределением потоков, заключающийся в том, что в процессе обмена реплицируемыми данными между узлами распределенной базы данных формируют обменные файлы, которые пересылают между узлами РБД, согласно изобретению дополнен следующей последовательностью операций:
- сбор и обработка информации о сетевых ресурсах;
- определение требований к сетевым ресурсам на основе сформированных обменных файлов;
- вычисление варианта распределения потоков обменных файлов по сетевым ресурсам;
- передача управляющей информации на коммуникационное оборудование.
При этом сбор и обработка информации о сетевых ресурсах проводится в течение всего времени функционирования РБД. Требования к сетевым ресурсам и вариант распределения потоков обменных файлов по сетевым ресурсам определяются непосредственно перед выполнением репликации. Информация о варианте распределения потоков, в виде управляющего сигнала, поступает на входы смежных коммуникационных устройств. На основе полученного управляющего сигнала коммуникационное оборудование распределяет поступающие от узлов обменные файлы по различным маршрутам. Вычисления осуществляются на основе распределенного алгоритма.
Перечисленная совокупность существенных признаков позволяет решить задачу изобретения за счет того, что обменные файлы распространяются между узлами РБД с учетом оптимального варианта распределения потоков, вычисленного на основе данных о ресурсах сети и требований к сетевым ресурсам. В результате увеличивается скорость выполнения полной репликации.
Проведенный анализ уровня техники позволил установить, что аналоги, характеризующиеся совокупностью признаков, тождественных всем признакам заявленного способа репликации, отсутствуют. Следовательно, заявленное изобретение соответствует условию патентоспособности "новизна".
Результаты поиска известных решений в данной и смежных областях техники с целью выявления признаков, совпадающих с отличительными от прототипа признаками заявленного способа, показали, что они не следуют явным образом из уровня техники. Из уровня техники также не выявлена известность влияния предусматриваемых существенными признаками заявленного изобретения преобразований на решение задачи изобретения. Следовательно, заявленное изобретение соответствует условию патентоспособности "изобретательский уровень".
Заявленное изобретение поясняется чертежами, на которых:
на фиг.1 - структурная схема системы репликации;
на фиг.2 - сравнение результатов имитационного моделирования для способа-прототипа и предлагаемого способа;
на фиг.3 - обобщенный алгоритм вычисления варианта распределения потоков обменных файлов.
Реализация заявленного способа заключается в следующем. Способ состоит в выполнении процесса репликации в РБД. Каждый из узлов (14, 24…N) состоит из части распределенной базы данных (10, 20, …С), управление которой осуществляет сервер управления распределенной базой данных (11, 21, 31…B) и блока оптимизации распределения потоков данных (12, 22, 32…A), который осуществляет взаимодействие с коммуникационным оборудованием (13, 23, 33…K). Принцип работы блока оптимизации распределения потоков данных (12, 22, 32…K) заключается в сборе данных о доступных сетевых ресурсах и вычислении на основе данных об обменных файлах и предоставляемых сетевых ресурсах варианта распределения потоков данных по сети, позволяющего увеличить скорость выполнения репликации. Управляющий сигнал, содержащий информацию о распределении потоков данных, передается на коммуникационное оборудование (13, 23, 33…K), где используется для распределения поступающих обменных файлов по сети.
Таким образом, основные этапы процесса репликации состоят в:
- обработке информации о сетевых ресурсах;
- формировке обменных файлов и определении требований к сетевым ресурсам;
- вычислении варианта распределения потоков обменных файлов по сетевым ресурсам;
- передаче управляющей информации на коммуникационное оборудование;
- передаче обменных файлов на коммуникационное оборудование.
Правомерность теоретических предпосылок проверялась с помощью имитационных моделей системы-прототипа и системы, реализующей заявленный способ репликации информации в распределенных базах данных с конкурентным распределением потоков. Моделирование выполнялось в рамках теории массового обслуживания на базе языка моделирования GPSS. Эксперимент проводился в программной среде GPSS World при следующих условиях:
1) количество узлов РБД n=150;
u
u
u
u
u
u
2) загрузка узла РБД обработкой запросов на обновление A=0,2, где A=λ·τ, при этом λ - интенсивность поступления запросов на обновление, а τ - среднее время обработки запросов на обновление;
q
q
q
q
q
q
3) загрузка узла РБД обработкой поисковых запросов A=0,005, где A=λ·τ, при этом λ - интенсивность поступления поисковых запросов, а τ - среднее время обработки поисковых запросов;
4) соотношение между затратами времени на обработку поискового запроса и запроса на обновление γ=2.
Сравнение результатов эксперимента, приведенное на фиг.2, показывает, что применение предлагаемого способа дает выигрыш по скорости выполнения репликации при равных условиях на 7-12,5% (в зависимости от доли реплицируемой части распределенной базы данных) по сравнению со способом-прототипом.
Промышленная применимость изобретения обусловлена тем, что устройство, реализующее предложенный способ, может быть осуществлено с помощью современной элементной базы, с достижением указанного в изобретении назначения.