Система репликации информации в базах данных

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

 

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

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

Известно техническое решение [RU 2531572, A, G06F 17/30, 27.01.2013], содержащее интерфейс, приспособленный для связи с сетью, и систему управления, связанную с интерфейсом и адаптированную для определения, что первая команда обновления изменила данные в первичной таблице в первичной базе данных, связанной с первичным сервером, в ответ на определение, что первая команда обновления изменила данные в первичной таблице в первичной базе данных, определение второй команды обновления на основе первой команды обновления и применение второй команды обновления для тиражирования данных во вторичную таблицу во вторичной базе данных, связанной с вторичным сервером, используя вторичную объединенную таблицу, связанную с первичной таблицей.

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

Известно также устройство, в котором реализован способ репликации информации в распределенных базах данных с конкурентным распределением потоков [RU 2510623, С2, G06F 12/00, 10.04.2014], и в котором каждый из узлов состоит из части распределенной базы данных, управление которой осуществляет сервер управления распределенной базой данных и блока оптимизации распределения потоков данных, который осуществляет взаимодействие с коммуникационным оборудованием и осуществляет сбор данных о доступных сетевых ресурсах и вычисляет на основе данных об обменных файлах и предоставляемых сетевых ресурсах вариант распределения потоков данных по сети, позволяющий увеличить скорость выполнения репликации, а управляющий сигнал, содержащий информацию о распределении потоков данных, передается на коммуникационное оборудование, где используется для распределения поступающих обменных файлов по сети.

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

Наиболее близким по технической сущности к предлагаемой является система взаимодействия баз данных автоматизированной системы управления [RU 2324974, C1, G06F 17/00, 20.05.2008], включающая, по меньшей мере, два блока ввода, регистрации, утверждения, обработки и свода информации удаленных пользователей и блок ввода, регистрации, утверждения, обработки и свода информации в центральной базе данных, являющиеся соответственно первым, вторым и третьим информационными входами в систему, а также блок внесения изменений в центральную базу данных и блок внесения изменений в локальную базу данных, блок передачи данных между уровнями системы, соединенным двусторонними связями с каждым из указанных выше блоков системы, блок управления процессом синхронизации, входы которого подключены к выходам блока внесения изменений в центральную базу данных и блока внесения изменений в локальную базу данных, и блок разделения доступа к коммуникационным каналам, блоком синхронизации баз данных центрального и удаленного SQL серверов, блоком ввода-вывода информации базы данных обмена при файл-серверной локальной базе данных, каждый из которых соединен двусторонними связями с блоком управления процессом синхронизации и блоком взаимодействия основного сервера и сервера-реплики, подключенным двусторонними связями к блоку синхронизации баз данных центрального и удаленного SQL серверов и блоку ввода-вывода информации базы данных обмена при файл-серверной локальной базе данных.

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

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

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

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

На чертеже представлена функциональная схема системы репликации информации в базах данных совместно с первым и со вторым компьютерами;

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

Кроме того, система репликации информации в базах данных содержит блок 4 синхронизации режимов работы компьютеров, первый и второй входы-выходы которого соединены со вторыми входами-выходами первого 2 и второго 3 компьютеров, соответственно, блок 5 сравнения данных в изменяемых базах данных, первый и второй входы-выходы которого соединены с третьими входами-выходами первого 2 и второго 3 компьютеров, соответственно, а третий вход-выход - соединен с третьим входом-выходом блока 3 синхронизации режимов работы компьютеров, блок 6 выделения несовпадающих фрагментов в изменяемых базах данных, первый вход-выход которого соединен с третьим входом-выходом блока 5 сравнения данных в изменяемых базах данных, а также блок 7 внесения изменений в изменяемые базы данных, первый вход-выход которого соединен со вторым входом-выходом блока 6 выделения несовпадающих фрагментов в изменяемых базах данных, а второй и третий входы-выходы соединены с четвертыми входами-выходами первого 2 и второго 3 компьютеров, соответственно.

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

Работает система репликации информации в базах данных следующим образом.

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

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

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

Центральной таблицей базы данных является таблица «Исследование» (ANALYSIS), все остальные таблицы связаны с ней по идентификационному номеру исследования (ID исследования) отношением один-ко-многим. Исключение составляет таблица «Пациенты» (CLIENTS), которая связана с таблицей «Исследование» по идентификационному номеру пациента связью один-к-одному. Пример таблиц представлен ниже (таблицы 1-4).

В базе данных не обеспечивается как уникальность пациента и для каждого нового исследования делается новая запись в таблице «Пациенты», так и уникальность данных об исследовании. Такая особенность базы данных затрудняет сравнение двух ее модификаций на двух независимых компьютерах.

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

Для таблицы «Пациенты» поле ID пациента является автоматически наращиваемым счетчиком и не может быть использовано в уникальной комбинации полей для сравнения данных между двумя серверами. Вместо него необходимо использовать уникальную совокупность полей таблицы «Пациенты» для однозначной идентификации данных о пациентах Номер карты + Фамилия + Имя + День рождения + Пол.

Таким образом, совокупность полей ID пациента + ID типа биосубстрата + ID минералограммы + ID профиля исследования + Дата забора биосубстрата + Признак наличия диабета + Признак наличия ожирения + Признак наличия ССЗ + Признак ограничения по алкоголю + Номер карты + Фамилия + Имя + День рождения + Пол однозначно определяют каждое исследование и могут быть взяты в качестве идентификационной комбинации полей.

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

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

Обозначим множество исследовании в сравниваемых базах данных А и В. Для объединения множеств необходимо выполнить следующие действия:

- найти разность множеств А\В;

- добавить полученную разность к множеству В;

- в области пересечения множеств найти записи, имеющие разное значение поля Системный статус исследования;

- обновить в множестве В те записи, для которых в области пересечения имеются записи с «большим завершением» по значению в поле Системный статус исследования и совпадающие по остальным полям идентификации исследования;

- повторить описанные действия, поменяв местами базы данных А и В. Поскольку таблица «Исследование» (ANALYSIS) связана с большим

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

Объект базы данных DATABASE LINK с именем MASTER - это подключение локального сервера к удаленной базе данных.

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

Запросы на сравнение таблиц NEWDATA и UPDDATA.

NEWDATA - запрос, вычисляющий разность множеств исследований на локальном сервере и сервере, присоединенном через DBLink MASTER. Результат представлен в виде пар (ID_ANALYSIS, IDCLIENTS), определяющих исследования, которых нет в таблице ANALYSIS@MASTER.

UPDDATA - запрос, находящий те исследования на локальном сервере, у которых значение поля Системный статус исследования (STATUS) больше, чем значение поля Системный статус исследования (STATUS) на сервере, присоединенном через DBLink MASTER. Результат представлен в виде пар (ID_ANALYSIS, IDCLIENTS).

Таблица SYNCHRONIZE необходима для подготовки данных для синхронизации. Агрегирует в себе данные из запросов NEWDATA и UPDDATA. В нее помещаются новые идентификаторы записей, которые будут вставлены в соответствующие таблицы сервера MASTER. А также помечаются записи для вставки при ручном отборе записей.

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

Для реализации рассмотренного алгоритма репликации предложенная система используется следующим образом.

Блок 1 обеспечивает локальной сети между первым 2 и вторым 3 компьютером, содержащих синхронизируемые базы данных и первый и второй входы-выходы которого соединены с первыми входами-выходами первого 2 и второго 3 компьютеров, соответственно.

Блок 4 синхронизации режимов работы компьютеров, первый и второй входы-выходы которого соединены со вторыми входами-выходами первого 2 и второго 3 компьютеров, соответственно, обеспечивает перевод первого 2 и второго 3 компьютеров поочередно в режим компьютера-приемника и компьютера-источника. Блок 5 сравнения данных в изменяемых базах данных, первый и второй входы-выходы которого соединены с третьими входами-выходами первого 2 и второго 3 компьютеров, соответственно, производит сравнения в изменяемых базах данных первого 2 и второго 3 компьютеров, а блок 6 выделения несовпадающих фрагментов в изменяемых базах данных, первый вход-выход которого соединен с третьим входом-выходом блока 5 сравнения данных в изменяемых базах данных, выделяет фрагменты для замены (обновления) изменяемых баз данных, которые с помощью блока 7 вносятся в виде изменений в изменяемые базы данных.

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

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

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

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



 

Похожие патенты:

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

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

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

Изобретение относится к средствам обеспечения компьютерной безопасности. Техническим результатом является расширение арсенала технических средств.

Изобретение относится к области информационных технологий. Технический результат заключается в создании автоматизированной системы для электронного документооборота.

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

Изобретение относится к комплексу управления интеллектуальной собственностью (ИС). Технический результат заключается в автоматизации управления ИС.

Изобретение относится к вычислительной технике. Технический результат - повышение точности и скорости идентификации железнодорожных номерных деталей.

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

Изобретение относиться к области вычислительной техники. Технический результата заключается в расширении арсенала технических средств.

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