Способ информационного обмена между базами данных информационных систем и система для его осуществления
Иллюстрации
Показать всеИзобретение относится к области технической кибернетики и предназначено для обмена между базами данных системы с исключением повторной записи уже имеющихся данных. Техническим результатом является исключение повторной записи данных, которые уже занесены в базу данных приемник и которые вновь поступают в составе данных от новой базы данных источника, а также корректное совмещение данных от нескольких баз данных источников в единый логически связанный информационный массив. Для этого централизованно генерируют уникальные ключи типов записей и отмечают признаком типы с возможными повторами. При занесении в базу экземпляра записи генерируют и сохраняют собственный уникальный ключ, а при наличии признака запрашивают и сохраняют централизованный уникальный ключ для экземпляра. При формировании обмена экземпляры с признаком дополняют централизованным уникальным ключом экземпляра. При приеме обмена выявляют наличие в базе данных записей, имеющихся в обменном массиве, и переадресовывают ссылки на собственные записи. Для осуществления способа система обмена содержит централизованные устройства и блоки хранения уникальных ключей типов и экземпляров записей данных, признаков необходимости сопровождения, обслуживания запросов к устройству метаданных. А в базах данных - устройства и блоки хранения уникальных ключей типов и экземпляров записей данных, признаков управления, формирования, приема, преобразования обменных массивов. 2 н.п. ф-лы, 12 ил.
Реферат
Предлагаемое изобретение относится к области технической кибернетики и может быть использовано в информационных (автоматизированных, информационно-аналитических, поддержки принятия решений) системах (ИС) для организации информационного обмена между базами данных.
Известен способ организации данных в ИС [1], в котором предлагается классификатор иерархической структуры, создаваемый в виде открытой системы, допускающей его дополнение и модернизацию (что эквивалентно также и информационному обмену), и при этом существующие формализованные данные в модернизированном или существующем виде включают в свою структуру данных.
Недостатком такого способа является иерархичность создаваемых структур данных, что не позволяет осуществлять обмен данными, например, сетевого типа.
Известен способ, принципы которого также могут быть использованы при организации обмена данными [2], при котором элементы системы представляют многопараметрические многоуровневые иерархически упорядоченные и объединенные в сетевой граф структуры и формируют сведения о непосредственной и через атрибуты (параметры) взаимосвязи элементов системы описанием связей, представленных простыми и содержательными связями с описанием содержательного характера каждой.
Недостатком этого способа является то, что система ориентирована только на информационные объекты с заранее определенной структурой и невозможна организация системы баз данных с произвольным набором данных с заранее неизвестной структурой в отдельно взятой базе данных, что не позволяет организовать в этих условиях обмен данными между различными базами данных.
Наиболее близкими к предлагаемому являются способы генерации уникальных ключей во взаимодействующих базах данных, изложенные в [3]. Наиболее перспективным считается способ генерации новых ключей для записей, загружаемых в базу данных из баз данных источников. Новый ключ генерируется с помощью специального алгоритма (чаще всего используют генерацию возрастающей последовательности целых чисел). При этом используется специальная структура метаданных (таблица или несколько таблиц) для хранения соответствий между ключами баз данных источников и ключами, сгенерированными в базе данных приемнике, а также процедуры для управления данной структурой.
Недостатком известного способа является то, что обеспечивается только уникальность записей данных в базе данных приемнике, когда данные получают от нескольких баз данных источников. В известном способе не обеспечивается исключение многократного хранения одних и тех же по содержанию данных, по тем или иным причинам повторенных при передаче от нескольких баз данных источников.
Целью предлагаемого способа является исключение повторной записи данных, которые уже занесены в базу данных приемник и которые вновь поступают в составе данных от новой базы данных источника, а также корректное совмещение данных от нескольких баз данных источников в единый логически связанный информационный массив, что существенно повышает функциональные возможности информационной системы. Еще одной целью предлагаемого способа является возможность обеспечения информационного обмена не только между базами данных, образующими иерархию ("подчиненные" базы данных источники и "центральная" принимающая база данных, как в известном способе), но и в произвольной структуре взаимодействия баз данных, предусматривающей сетевую топологию обменов, в том числе и двухсторонних обменов между произвольно взятыми отдельными базами данных информационной системы.
Цель достигается реализацией заявляемых способа информационного обмена между базами данных информационной системы и системы для его осуществления. Заявляемый способ обеспечивает, как и известный способ, генерацию новых ключей для записей, загружаемых в базу данных из баз данных источников, чем обеспечивается уникальность записей в базах данных. В то же время предлагаемый способ позволяет централизованно (в рамках информационной системы) генерировать уникальные ключи для типов записей и для отдельных экземпляров записей и в специальной структуре метаданных (несколько таблиц) хранить в базах данных соответствие между централизованно сгенерированными ключами для типов записей и для отдельных экземпляров записей и ключами, сгенерированными в базе данных, при занесении и приеме записей. Централизованная генерация уникальных ключей для типов записей и для отдельных экземпляров записей обеспечивает возможность при приеме записей в любую базу данных информационной системы (приемник) от любой другой базы данных информационной системы (источник) выполнить процедуры:
- генерации собственных (для приемника) уникальных ключей для принимаемых записей (чем обеспечить уникальность записей в базе данных);
- выявления в принимаемых записях информационных объектов уже имеющихся в базе данных и предотвращения повторной записи таких объектов;
- совмещение данных от нескольких баз данных источников в базе данных приемнике в единый логически связанный информационный массив.
В целях повышения функциональных возможностей ИС предлагается:
- формировать централизованные (в рамках информационной системы) уникальные ключи для типов записей данных (ИТО - "идентификаторы типов объектов") и указывать отдельные типы, для которых необходима централизованная идентификация экземпляров объектов;
- формировать централизованные (в рамках информационной системы) уникальные ключи для отдельных экземпляров записей данных (ЦИДЭ - "централизованные идентификаторы экземпляров");
- хранить в базах данных информационной системы таблицы соответствия ЦИДЭ и уникальных ключей базы данных (ТНЭ - "таблицы наличия экземпляров");
- хранить в базах данных информационной системы таблицы признаков необходимости сопровождения информационных объектов ЦИДЭ (ТПС - "таблицы признаков сопровождения") с привязкой этих признаков к ключам типов записей - ИТО;
- при занесении в базу данных записей по новым экземплярам информационных объектов выполнять с помощью таблицы ТПС проверку на необходимость формирования ЦИДЭ и при выявлении такой необходимости формировать в централизованную службу идентификации данных (СИД - "служба идентификации данных") информационной системы запрос на получение ЦИДЭ, в составе запроса на получение ЦИДЭ указывать ИТО вновь образованного в базе данных экземпляра объекта и значения свойств (атрибутов) данного экземпляра; заносить в таблицу ТНЭ уникальные ключи новых экземпляров и при получении результатов запроса полученные ЦИДЭ;
- при получении запроса на формирование ЦИДЭ в службе СИД выполнять проверку наличия в СИД экземпляра объекта такого типа (с совпадающим ИТО и совпадающими значениями свойств) и при наличии в СИД выдавать по запросу имеющийся ЦИДЭ, а при отсутствии - формировать новую запись в СИД, образовывать новое уникальное значение ЦИДЭ и выдавать его по запросу;
- при формировании массива записей базы данных для обмена с помощью таблицы ТНЭ выявлять наличие ЦИДЭ и сопровождать передаваемый при информационном обмене массив записей данных уникальными ключами записей данной базы данных, а также соответствующими ИТО и ЦИДЭ; отношения между экземплярами представлять ссылками на уникальные ключи записей данной базы данных или парами ссылок;
- выполнять в базах данных при приеме информационных обменов проверку наличия в данной базе таких же информационных объектов, что и в принимаемом массиве, путем сравнения ЦИДЭ сопровождающих передаваемые записи данных и ЦИДЭ из таблицы ТНЭ данной базы данных; выявлять из таблицы ТНЭ собственные (для принимающей базы данных) уникальные ключи таких объектов (выявлять ключи "собственных экземпляров");
- по результатам проверки не заносить в базу данных записи принимаемого массива, соответствующие информационным объектам "повторяющим собственные экземпляры";
- переадресовывать в принимаемом массиве ссылки (отношения) на информационные объекты, уже имеющиеся в базе данных ("переадресовывать на собственный экземпляр"), путем замены уникальных ключей записей из принимаемого массива на ключи "собственных экземпляров";
- заносить в базу данных информационные объекты из принимаемою массива, которые отсутствуют в базе данных, и запоминать полученные при записи уникальные ключи принимающей базы данных ("собственные ключи"); в случае, когда такие объекты сопровождаются ЦИДЭ, одновременно заносить в таблицу ТНЭ соответствующие сформированные "собственные ключи" и ЦИДЭ из принимаемого массива;
- переадресовывать в принимаемом массиве ссылки (в отношениях и свойствах) на информационные объекты, отсутствовавшие в базе данных, путем замены уникальных ключей записей из принимаемого массива на "собственные ключи";
- заносить в базу данных оставшиеся записи в принимаемом массиве, переадресованные на "собственные экземпляры" и на образованные "собственные ключи", - отношения, представленные парами ссылок и свойств (атрибутов) информационных объектов и их значения, в том числе атрибуты-ссылки (отношения, представленные атрибутом-ссылкой).
Данный подход позволит:
- повысить функциональные возможности ИС за счет возможности совмещение данных от нескольких баз данных источников в базе данных приемнике в единый логически связанный информационный массив;
- повысить функциональные возможности ИС за счет произвольной структуры взаимодействия баз данных, допускающей сетевую топологию обменов, в том числе и двухсторонних обменов между произвольно взятыми отдельными базами данных информационной системы;
- уменьшить затраты на эксплуатацию ИС за счет исключения необходимости систематического решения вопросов, связанных с некорректным размножением в базах данных приемниках одних и тех же информационных объектов, поступающих от нескольких баз данных приемников;
- уменьшить затраты на создание и эксплуатацию ИС за счет повышения уровня унификации программных средств, обеспечивающих прием в базы данных записей данных при информационных обменах, так как предлагаемый способ обмена универсален для различных информационных обменов между базами данных информационной системы.
Сущность предлагаемого изобретения состоит в следующем.
Создаются концептуальные схемы, представляющие собой информационные модели (предлагается наименование для таких моделей - "прикладные схемы обменов"), описывающие типы информационных объектов (сущностей) с наборами их свойств (атрибутов) и отношений между ними, которые используются при информационных обменах между базами данных информационной системы. При анализе таких схем выявляются информационные объекты, которые могут дублироваться при передачах в базы данных приемники от нескольких баз данных источников. Такие объекты выделяются метками, которые будут определять в дальнейшем "признаки сопровождения". Типам информационных объектов (сущностям), типам атрибутов, типам отношений (которые могут быть представлены и атрибутом - ссылкой на уникальный ключ) присваиваются уникальные (например, генерацией возрастающей последовательности целых чисел или использованием уникальных имен сущностей, атрибутов, отношений) ключи - ИТО.
Электронные аналоги "прикладных схем обменов", обеспечивающие идентификацию типов информационных объектов с метками необходимости сопровождения ЦИДЭ, формируют в централизованной службе СИД и рассылают по базам данных информационной системы для хранения в таблицах ТПС этих баз данных.
В процессе работы информационной системы первичное внесение в любую базу данных новых записей (экземпляров) по объектам (сущностям), помеченным в прикладных схемах обменов метками (с помощью таблиц ТПС), сопровождается инициацией процедуры запроса централизованного для информационной системы уникального ключа ЦИДЭ (формируемого, например, генерацией возрастающей последовательности целых чисел). Сгенерированный ключ ЦИДЭ и экземпляр объекта с полным набором его атрибутов или частичным (обеспечивающим уникальность совокупности значений такого набора) заносят в централизованной службе СИД, а ЦИДЭ возвращают в базу данных, запросившей ЦИДЭ. В базе данных в таблице ТНЭ заносится ЦИДЭ и собственный уникальный ключ экземпляра объекта.
Во время информационных обменов в базе данных источнике при формировании массива записей обмена по уникальным собственным ключам записей и, при необходимости, по типам записей (в случае, если уникальность ключей обеспечивается только в пределах экземпляров объектов одного типа) из таблицы ТНЭ выбираются соответствующие отдельным записям ЦИДЭ, которыми дополняется массив записей обмена.
В базе данных приемнике проводится анализ массива записей обмена с выявлением передаваемых объектов сопровождаемых ЦИДЭ и проверка наличия (по таблице ТНЭ) в базе данных таких же объектов ("собственных экземпляров"). Далее проводят первые необходимые для занесения в базу данных изменения массива записей обмена - переадресация ссылок на "собственные экземпляры". Первыми заносятся в базу данных объекты из обменного массива, не имеющиеся в базе данных. Полученные "собственные ключи" запоминаются в связке с ключами из обменного массива ("собственные ключи" подготовлены для замены ими ключей из обменного массива). При этом если объекты имели ЦИДЭ (но отсутствовали в базе данных), то одновременно с занесением объектов в базу данных ЦИДЭ из обменного массива заносятся в связке с поученным "собственным ключом" в таблицу ТНЭ. Затем проводят вторые изменения массива записей обмена - переадресация ссылок на "собственные ключи". Последними заносятся в базу данных отношения и свойства объектов, переадресованные на "собственные экземпляры" и "собственные ключи".
Это позволяет осуществить при занесении данных из обменного массива записей корректное сжатие информации (не заносятся уже имеющиеся в базе данных объекты и их свойства) и совмещение данных от нескольких баз данных источников в единый логически связанный информационный массив, что обеспечивает расширение функциональных возможностей информационной системы и сокращает затраты на эксплуатацию ИС за счет исключения необходимости систематического решения вопросов, связанных с некорректным размножением в базах данных приемниках одних и тех же информационных объектов, поступающих от нескольких баз данных приемников.
Предложенный способ информационного обмена между базами данных информационных систем и система для его осуществления поясняется фиг.1-12.
Структура информационной системы и системы для осуществления предлагаемого способа обмена приведена на фиг.1, где 1 - базы данных информационной системы, 2 - канал обмена (взаимодействия) между базами данных (например, обменные файлы, передаваемые, в частности, по телекоммуникациям информационной системы 3), 4 - устройство службы централизованной идентификации данных информационной системы (СИД), 5 - реляционная база данных (баз данных системы) 6 - устройство метаданных (баз данных системы), 7 - устройство формирования массива записей для обмена (баз данных системы), 8 - устройство приема записей при обмене (баз данных системы), 9 - первый канал - взаимодействия между СИД и устройством метаданных баз данных системы (например, обменные файлы передаваемые по телекоммуникациям информационной системы), 10 - второй канал - взаимодействия реляционной базы данных и устройства приема записей при обмене, 11 - третий канал - взаимодействия реляционной базы данных и устройства формирования массива записей для обмена, 12 - четвертый канал - взаимодействия устройства метаданных и устройства формирования массива записей для обмена, 13 - пятый канал - взаимодействия устройства метаданных и устройства приема записей при обмене, 14 шестой канал - взаимодействия реляционной базы данных и устройства метаданных.
Структура устройства службы централизованной идентификации данных информационной системы приведена на фиг.2, где 15 - блок формирования и хранения уникальных ключей для типов записей данных и признаков необходимости сопровождения, 16 - блок формирования и хранения уникальных ключей для экземпляров записей данных, 17 - блок ввода данных, 18 - блок обслуживания запросов баз данных и обмена. Первые входы блока формирования и хранения уникальных ключей для типов записей данных и признаков необходимости сопровождения соединены с выходами блока ввода данных, вторые входы и выходы - соответственно с первыми выходами и с первыми входами блока обслуживания запросов баз данных. Входы и выходы блока формирования и хранения уникальных ключей для экземпляров записей данных соединены соответственно со вторыми выходами и вторыми входами блока обслуживания запросов баз данных. Кроме того, канальные входы и канальные выходы блока обслуживания запросов баз данных соединены с первым каналом - взаимодействия между СИД и устройством метаданных баз данных системы 9.
Структура устройства метаданных баз данных информационной системы приведена на фиг.3, где 19 - блок хранения уникальных ключей для типов записей данных и признаков необходимости сопровождения, 20 - блок хранения соответствия уникальных ключей записей базы данных и ключей экземпляров (ЦИДЭ), 21 - блок обслуживания запросов к устройству метаданных. Входы и выходы блока 19 соединены соответственно с первыми выходами и первыми входами блока обслуживания запросов к устройству метаданных, входы и выходы блока хранения соответствия уникальных ключей записей базы данных и ЦИДЭ соединены соответственно с вторыми выходами и вторыми входами блока обслуживания запросов к устройству метаданных. Первые, вторые и третьи канальные входы и канальные выходы блока обслуживания запросов к устройству метаданных соединены соответственно с первым каналом взаимодействия между СИД и устройством метаданных баз данных системы 9, четвертым каналом взаимодействия устройства метаданных и устройства формирования массива записей для обмена 12 и пятым каналом взаимодействия устройства метаданных и устройства формирования массива записей для обмена и устройства приема записей при обмене 13. Четвертые канальные входы соединены с шестым каналом взаимодействия реляционной базы данных и устройства метаданных 14.
Структура устройства формирования массива записей для обмена приведена на фиг.4, где 22 - блок хранения массива записей для обмена из реляционной базы данных и 23 - блок управления формированием массива записей для обмена. Входы и выходы блока хранения массива записей для обмена из реляционной базы данных соединены соответственно с выходами и входами блока управления формированием массива записей для обмена. Первые канальные входы и первые канальные выходы блока управления формированием массива записей для обмена соединены соответственно с третьим каналом взаимодействия реляционной базы данных и устройства формирования массива записей для обмена 11 и каналом обмена между базами данных 2. Вторые канальные входы и вторые канальные выходы блока управления 23 соединены с четвертым каналом взаимодействия устройства метаданных и устройства формирования массива записей для обмена 12.
Структура устройства приема записей при обмене приведена на фиг.5, где 24 - блок хранения результатов анализа и преобразования массива записей, 25 - блок хранения массива записей, принятого при обмене, 26 - блок управления преобразованием массива и занесением записей в базу данных. Входы и выходы блока хранения результатов анализа и преобразования массива записей соединены соответственно с первыми выходами и первыми входами блока управления преобразованием массива и занесением записей в базу данных, входы и выходы блока хранения массива записей, принятого при обмене, соединены соответственно с вторыми выходами и вторыми входами блока управления преобразованием массива и занесением записей в базу данных блока управления преобразованием массива и занесением записей в базу данных. Первые и вторые канальные входы и канальные выходы блока управления 26 соединены соответственно с вторым каналом взаимодействия реляционной базы данных и устройства приема записей при обмене 10 и пятым каналом взаимодействия устройства метаданных и устройства формирования массива записей для обмена и устройства приема записей при обмене 13, третьи канальные входы соединены с каналом обмена между базами данных 2.
Блоки 15, 16, 19 и 20 могут быть выполнены в виде реляционных баз данных.
Примеры структуры первых и вторых таблиц хранения данных блоков 15 и 19 (в случае выполнения блока 15 и 19 в виде реляционной базы данных) и пример фрагмента записей в этих таблицах приведен на фиг.6. Отличие блоков 15 и 19 состоит в том, что в блоке 15 индексы ИТО формируют (при занесении новой записи ей присваивается уникальный индекс), а в блоках 19 проводят периодическое обновление записей (обменом с блоком 15), и они повторяют записи блока 15 (без самостоятельного образования индексов).
Примеры структуры таблицы хранения данных блока 16 (в случае выполнения блока 16 в виде реляционной базы данных) и пример фрагмента записей в этой таблице приведен на фиг.7.
Примеры структуры таблицы хранения данных блока 20 (в случае выполнения блока 20 в виде реляционной базы данных) и пример трех фрагментов записей в этой таблице (для трех различных баз данных информационной системы) приведен на фиг.8.
Блоки 22 устройства 7 и 24, 25 устройства 8 предназначены для временного хранения данных и могут быть выполнены в виде запоминающих устройств. Примеры структуры таблицы хранения данных блоков 22 и 25 приведены на фиг.9 и фиг.10. На фиг.9 приведен также пример данных в таблице хранения блока 22 на первоначальном этапе формирования массива записей для обмена, а на фиг.10 - пример этих же данных на заключительном этапе формирования в блоке 22 и в блоке 25.
Примеры структуры таблицы хранения данных блока 24 приведены на фиг.11 и фиг.12. На фиг.11 приведен пример данных таблицы хранения блока 24 после первого этапа анализа, преобразования массива записей и ввода данных в базу данных приемник. На фиг.12 пример данных соответствует этапу завершения анализа и преобразования массива записей.
Примеры на фиг.9-12 представляют только ту часть структуры массивов обмена, которая необходима для пояснения сущности предлагаемого способа обмена.
Реализация предлагаемого способа информационного обмена между базами данных информационных систем возможна в предлагаемой системе для его осуществления. Для осуществления возможности централизованной генерации ЦИДЭ в предлагаемую систему включено устройство 4 службы централизованной идентификации данных информационной системы (фиг.1). С помощью блока ввода данных 17 в блоке формирования и хранения уникальных ключей для типов записей данных и признаков необходимости сопровождения 15 формируются электронные аналоги прикладных схем обменов между базами данных информационной системы с указанием признаков необходимости сопровождения (первая таблица хранения, фиг.6) и с классификатором (первая и вторая таблицы хранения, фиг.6). Структура таблиц хранения электронного аналога показана на фиг.6. Первая таблица для обеспечения предлагаемого способа обмена в электронном аналоге имеет три колонки. В ней должны быть отмечены те информационные объекты, которые в процессе обменов могут дублироваться при передачах от различных баз данных источников. Такие отметки в примере на фиг.6 вводятся в третью колонку таблицы (Логическая отметка "Да" - если возможны дублирующие передачи). При внесении новых записей в блок 15 генерируется уникальный код (первая колонка таблицы). Этот код и является централизованным ключом для идентификации типов объектов - ИТО. Содержимое блока 15 с помощью блока обслуживания запросов баз данных и обмена 18, канала взаимодействия между СИД и устройством метаданных баз данных системы 9 и блока обслуживания запросов к устройству метаданных 21 повторяется в блоках хранения уникальных ключей для типов записей данных и признаков необходимости сопровождения 19 всех баз данных информационной системы. Блоки 19 имеют такую же структуру таблиц хранения (фиг.7), что и блок 15, но ключи ИТО в этих блоках только повторяют ключи из блока 15 и самостоятельно не формируются. Таблицы хранения блоков 19 и реализуют необходимые для предлагаемого способа обмена таблицы признаков сопровождения (ТПС).
В процессе работы информационной системы при внесении каких-либо новых записей в реляционные базы данных 5 по каналу 14 в устройство метаданных 6 поступают ИТО вновь образуемого объекта, ключ, образованный для этого объекта, а также ИТО и значения свойств (атрибутов) объекта. В соответствии с ИТО блок обслуживания запросов 21 выбирает из блока 19 признак необходимости сопровождения. Если этот признак имеет значение "Да", блок обслуживания запросов 21 вносит новую запись в таблицу хранения блока 20 со структурой, представленной на фиг.8. Таблица хранения блока 20 реализует необходимую для способа обмена таблицу наличия экземпляров (ТНЭ). До получения ответа по запросу из СИД в такую запись вносится только уникальный ключ экземпляра объекта, сформированный реляционной базой данных 5 и ИТО объекта. (В первую колонку этой записи записывается ключ базы данных, во вторую - ИТО объекта.) Блок 21 также формирует и отправляет в СИД 4 запрос на получение ЦИДЭ. В такой запрос включается ИТО объектов, ИТО свойств и значения свойств объекта.
При получении запроса на получение ЦИДЭ по каналу 9 блок обслуживания запросов баз данных 18 в соответствии с поступившим ключом, ИТО объекта и ИТО свойств выбирает необходимые записи из таблицы хранения блока 16 (структура таблицы приведена на фиг.7). Далее проводится сравнение с соответствующими значениями свойств. При совпадении ИТО объекта, ИТО свойств и значений свойств выбранный ЦИДЭ (первая колонка таблицы хранения, фиг.7) выдается как результат запроса базы данных. При отсутствии совпадения выводится сообщение администратору СИД и после исключения возможных несогласованных действий пользователей информационной системы при наборе значений свойств (например, при совпадении семантического содержания значений свойств) в интерактивном режиме принимается решение об образовании нового ЦИДЭ и формируется новая запись в таблицу хранения блока 16 с образованием уникального ключа ЦИДЭ, который также выдается как результат запроса базы данных.
При получении результата запроса блок дополняет полученным значением ЦИДЭ образованную при формировании запроса запись в таблице хранения блока 20 (ТНЭ). ЦИДЭ заносится в третью колонку ТНЭ (фиг.8).
При формировании массивов записей для обмена между базами данных массив записей, сформированный реляционной базой данных 5 по каналу 11 блоком управления 23, заносится в блок 22 (пример записей - фиг.9). Блок управления 23 по уникальным ключам и ИТО записей выбирает по каналу 12 из устройства метаданных 6 имеющиеся (в таблице ТНЭ) ЦИДЭ и дополняет ими массив записей для обмена (четвертая колонка таблиц). На фиг.9 представлен пример массива, передаваемого из 3-й базы (примера содержимого ТНЭ 3-й базы на фиг.8). На фиг.10 - пример массива уже с дополненными ЦИДЭ.
В виде, приведенном на фиг.10, массив обмена передается по каналу 2 от базы данных источника в базу данных приемник.
Конкретные примеры массива обмена относятся по своему содержанию к обмену между 3-й базой данных и 1-й (фиг.8). По контексту понятно, что перед поступлением данных из 3-й базы данных в 1-ю была передача из 2-й базы данных.
При приеме массива записей обмена блок управления 26 базы данных приемника (1-я база данных в примерах на фиг.11, 12) заносит массив записей в блок хранения массива 25. Блок управления 26 на первом этапе анализа, преобразования и занесения массива записей обмена по ЦИДЭ массива обмена выявляет с помощью запросов в устройство метаданных 6 своей базы данных (таблица ТНЭ) соответствующие ключи "собственных экземпляров" и вносит уникальные ключи ("собственных экземпляров") и отметки в таблицу хранения блока 24 (первая и третья колонка таблицы фиг.11). При отсутствии объекта с ЦИДЭ в собственной базе данных или, если объект не должен иметь ЦИДЭ, блок 26 по каналу 10 заносит аналогичные объекты в реляционную базу данных 5, получает "собственные ключи" и также заносит уникальные ключи ("собственные ключи") и отметки в таблицу хранения блока 24 (первая и третья колонка фиг.11). На втором этапе преобразования массива обмена блок 26 для каждого объекта проводит цикл просмотра записей массива обмена и переадресации ссылок свойств (на принадлежность свойства объекту) и ссылок, реализующих отношения на новые ключи (ключи "собственных экземпляров" и вновь образованные "собственные ключи"). Данные переадресации (новые ключи записей и соответствующие отметки) заносятся в первую (ключи принадлежности свойств объектам), вторую (ключи ссылки отношений) и третью (отметки) колонку таблицы хранения блока 24 (фиг.12). При этом свойства, принадлежащие объектам, соответствующим "собственным экземплярам", помечаются отметкой "не вносить". Пример результатов преобразования приведен на фиг.12. На последнем этапе преобразованные записи свойств и отношений заносятся в базу данных 5. При приеме не образованы повторно экземпляры объекта "Месяц" со значением свойств 01.03 и 02.03. Новый массив данных "склеен" с имеющимся в базе данных и представляет корректный массив помесячных затрат по контрактам. Распознавание классов записей (сущность, атрибут или атрибут-ссылка) осуществляется в соответствии данными второй таблицы блока 19.
В результате применения предлагаемого изобретения по сравнению с известными способами достигается первичный эффект, заключающийся в повышении функциональных возможностей ИС за счет:
- возможности совмещения данных от нескольких баз данных источников в базе данных приемнике в единый логически связанный информационный массив;
- произвольной структуры взаимодействия баз данных, допускающей сетевую топологию обменов, в том числе и двухсторонних обменов между произвольно взятыми отдельными базами данных информационной системы;
- уменьшения влияния субъективных факторов на достоверность хранимой в базах данных информации, связанных с необходимостью выполнения ручных операций по оптимизации структуры данных.
- Представленный выше подход позволит получить значительный экономический эффект за счет:
- уменьшения затрат на эксплуатацию ИС из-за исключения необходимости систематического решения вопросов, связанных с некорректным размножением в базах данных приемниках одних и тех же информационных объектов, поступающих от нескольких баз данных источников;
- уменьшения затраты на эксплуатацию ИС за счет автоматизации процессов формирования логически связанных информационных массивов по данным от нескольких баз данных источников;
- уменьшения затраты на эксплуатацию ИС за счет автоматизации переноса накопленных данных из любых баз данных ИС по любой в том числе сетевой и двусторонней топологии обменов.
От использования предлагаемого изобретения следует ожидать и вторичный эффект, заключающийся в уменьшении затрат на создание ИС за счет повышения уровня унификации программных средств, обеспечивающих прием в базы данных записей данных при информационных обменах, так как предлагаемый способ обмена универсален для различных информационных обменов между базами данных информационной системы.
Особенно актуально использование предложения в информационных системах поддержки принятия решений и информационно-аналитических системах для организации хранилищ и витрин данных. Возможно использование предложения в системах, имеющих взаимодействующие операционные базы данных, предназначенные для автоматизации функций персонала системы.
Приложение к фиг.1
Обозначения, используемые на фиг.1:
1 - базы данных информационной системы;
2 - канал обмена (взаимодействия) между базами данных;
3 - телекоммуникации информационной системы;
4 - устройство службы централизованной идентификации данных информационной системы;
5 - реляционная база данных;
6 - устройство метаданных;
7 - устройство формирования массива записей для обмена;
8 - устройство приема записей при обмене;
9 - первый канал - взаимодействия между СИД и устройством метаданных баз данных;
10 - второй канал взаимодействия реляционной базы данных и устройства приема записей при обмене;
11 - третий канал взаимодействия реляционной базы данных и устройства формирования массива записей для обмена;
12 - четвертый канал взаимодействия устройства метаданных и устройства формирования массива записей для обмена;
13 - пятый канал взаимодействия устройства метаданных и устройства приема записей при обмене;
14 шестой канал взаимодействия реляционной базы данных и устройства метаданных.
Приложение к фиг.2
Обозначения, используемые на фиг.2:
15 - блок формирования и хранения уникальных ключей для типов записей данных и признаков необходимости сопровождения;
16 - блок формирования и хранения уникальных ключей для экземпляров записей данных;
17 - блок ввода данных;
18 - блок обслуживания запросов баз данных и обмена.
Приложение к фиг.3
Обозначения, используемые на фиг.3:
19 - блок хранения уникальных ключей для типов записей данных и признаков необходимости сопровождения;
20 - блок хранения соответствия уникальных ключей записей базы данных и ключей экземпляров;
21 - блок обслуживания запросов к устройству метаданных.
Приложение к фиг.4
Обозначения, используемые на фиг.4:
22 - блок хранения массива записей для обмена из реляционной базы данных;
23 - блок управления формированием массива записей для обмена.
Приложение к фиг.5
Обозначения, используемые на фиг.5:
24 - блок хранения результатов анализа и преобразования массива записей;
25 - блок хранения массива записей, принятого при обмене;
26 - блок управления преобразованием массива и занесением записей в базу данных.
Источники информации
1. RU, заявка 2000101713, кл. G06F 17/00, 2001.
2. RU, заявка 2000112330, кл. G06N 1/00, 2002.
3. К. Лисянский. Архитектурные решения и моделирование хранилищ и витрин данных. Директор ИС, №3, 2002 г., издательство "Открытые Системы".
1. Способ информационного обмена между базами данных информационных систем, при котором для передачи данных в базе данных источнике формируют массив записей экземпляров информационных объектов с уникальными ключами базы данных источника, значений свойств (атрибутов) экземпляров объектов со ссылками на ключ объекта и отношений между экземплярами объектов, представленными атрибутами-ссылками на ключ экземпляра объекта или парами ссылок на ключи экземпляров объектов, а в базе данных приемнике заносят в базу данных экземпляры информационных объектов, значения свойств экземпляров и отношения между экземплярами и образуют взамен ключей из базы данных источника уникальные ключи базы данных приемника, отличающийся тем, что централизованно формируют уникальные ключи для типов записей данных, которые хранят в качестве метаданных в базах данных информационной системы, и для отдельных типов информационных объектов централизованно формируют уникальные ключи для экземпляров информационных объектов, образование которых выполняют при первом занесении экземпляров в одной из баз данных информационной системы и сохраняют централизованно и в базах данных, причем при выполнении информационных обменов при формировании массива записей для передачи данных в базе данных источнике дополняют массив централизованно сформированными уникальными ключами для экземпляров информационных объектов, а при приеме массива записей обмена в базе данных приемнике проверяют наличие в базе данных информационных объектов с централизованно сформированными уникальными ключами для экземпляров информационных объектов совпадающими с аналогичными ключами в массиве записей обмена, выявляют соответствующие ключи базы данных приемника и такие объекты и их свойства в базу данных не заносят, причем ссылки на такие объекты в массиве записей обмена меняют на выявленные ключи.
2. Система информационного обмена, содержащая