Главная Обратная связь Поможем написать вашу работу!

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Описание и состав подсистемы обмена изменениями



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

· Функции выгрузки/загрузки, запускаемые непосредственно пользователем;

· Функции контроля и управления службой автообмена (см. ниже).

Концепция регистрации изменений подсистемы обмена изменениями

Регистрация изменений фиксируется при помощи триггеров. Регистрация изменений реализована по принципу журнала. В базе данных создается специальная таблица регистрации происходящих изменений (EXP_LOG – журнальная таблица). Каждое изменение в базе данных записывается в эту таблицу и помечается идентификатором журнальной записи (ID), который при каждой записи увеличивается, для идентификатора используется последовательность Oracle – exp_log.

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

Экспорт данных

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



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

Экспорт может быть осуществлен двумя способами:

· С помощью клиентской версии программы (см. раздел 15.2.4.1);

· С помощью службы автообмена (см. ниже).

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

Ниже представлены основные положения, согласно которым осуществляется выгрузка (экспорт) данных из БД – отправителя выгрузки:

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



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

· Экспорт может быть полным и экспортом изменений, при полном экспорте журнал EXP_LOG вообще не используется, экспортируются данные в таблицы файла, и при обработке все записи считаются новыми;

· Экспорт формируется для нескольких получателей одновременно по следующему правилу – получателями выгрузки по умолчанию являются:

- подразделения, которые "выше" текущего по орг.структуре (ССД для отдела или отдел для сектора);

- ВСЕ подразделения "ниже" текущего по иерархии (сектора для отдела, или все отделы и все сектора для ССД);

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

· Информация о списке получателей файла записывается в специальную таблицу (EXP_JOURNAL_RECIPIENTS). При загрузке файла выгрузки получателями те присылают обратно свои verify-файлы, и при загрузке verify-файлов ставится отметка в EXP_JOURNAL_RECIPIENTS. Когда все получатели пришлют verify-файлы, выгрузка считается подтвержденной, и ставится признак подтверждение в самом журнале выгрузки;

· Есть возможность автоматического сжатия файла при окончании экспорта в формате ZIP.

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

· При выгрузке происходит информирование пользователя о статусе выполнения операции.



Выполнение экспорта данных

Для инициализации процедуры экспорта данных необходимо запустить соответствующую программу, для этого в окне программы-оболочки ПК ИС ЕГРПнужнонажать кнопку Универсальная оболочка ( )напанели инструментов или в меню Администрирование выполнить команду Универсальная оболочка.

После этого на экране появится основное окно программы (см.Рис. 183).

Рис. 183 Окно Универсальная оболочка

Первоначально необходимо осуществить подключение к соответствующей БД. Для этого в меню программы выбрать Действия > Новое соединение(см.Рис. 183) или нажать на кнопку на панели инструментов. Далее в появившемся окне необходимо ввести соответствующие параметры для установления соединения с базой данных (см.Рис. 184). В поле Тип подключения выбрать «Подключение к базе данных». Ввести параметры соединения: Имя пользователя, Пароль, Имя сервера БД или его IP адрес, номер его порта, SID базы данных. Параметры соединения можно сохранять с помощью флаговых полей Сохранять пароль и Сохранять параметры соединения. В левом окне можно выбирать соединения, которые были реализованы до текущего момента. После ввода параметров или выбора ранее произведенного подключения – нажать на кнопку Подключение.

Рис. 184 Окно параметров установки соединения с БД

После корректного подключения к БД на экране появится окно (см.Рис. 185). В левом поле необходимо выбрать элемент Обмен изменениями > Экспорт данных.

Рис. 185 Окно Консоли управления

Описание параметров данного окна для выгрузки данных из БД в файл см.в Табл. 9.

Табл. 9 Параметры экспорта

Параметр Описание
Каталог выгрузки Задается имя каталога для формирования выходных файлов для процедуры выгрузки данных.
В отдельный каталог Флаговое поле, позволяющее автоматически создавать отдельную директорию в каталоге выгрузки, для соответствующего файла.
Режим выгрузки полностью – выгружаются все данные всех таблиц; изменения – выгружаются только измененные данные; восстановление – выгружаются данные из ССД для восстановления данных в отделе при повреждениях БД
Выгрузка из Информационное поле, указывающее на то, из какого представительства производится выгрузка. Для режима восстановление – для какого представительства.
Получатели выгрузки Список получателей для данной выгрузки. Получателями выгрузки по умолчанию являются: 1) подразделения, которые "выше" текущего по орг.структуре (ССД для отдела или отдел для сектора); 2) все подразделения "ниже" текущего по иерархии (сектора для отдела, или все отделы и все сектора для ССД).
Дополнительная кнопка, позволяющая выделить всех получателей в приведенном списке.
Дополнительная кнопка, позволяющая отменить выделение всех получателей в приведенном списке.
Тестовая выгрузка Если будет включен данный режим, то не будет сделана запись о выгрузке в журнал выгрузок – это удобно для отладки механизма.
Записать действия в лог-файл Можно указать дополнительно лог-файл для записи журнала действий программы при выгрузке данных. Дополнительно – потому что ведется общий журнал действий программы, а если указать данную опцию, то будет еще сформирован лог-файл только по данной выгрузке.
Включить сжатие файла в архив ZIP При включении данной опции будет произведено сжатие полученного файла по стандартному алгоритму ZIP для уменьшения размеров передаваемого файла.
Пароль файла ZIP Поле для ввода пароля для защиты сжатого файла.

 

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

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

При работе процедуры экспорта выводится окно отображения статуса выгрузки (см.Рис. 186). В данном окне отображается процесс выполнения работы, выводятся различные сообщения о работе.

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

Рис. 186 Окно состояния экспорта

Импорт данных

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

Если в БД есть запись с таким же идентификатором, что и в присланном файле, то эта запись обновляется значениями из файла, если же такой записи нет, то она добавляется в базу данных.

Отдельно производится удаление удаленных записей, процедура просматривает присланный журнал (EXP_LOG), и для тех записей, которые в БД отправителя были удалены, выполняет операцию удаления.

Импорт может быть осуществлен двумя способами:

· С помощью клиентской части программы обмена данными;

· С помощью службы автообмена (см. ниже).

В обоих случаях процедура импорта идентична, действия выполняются одни и те же.

Загружаться могут следующие типы файлов:

· Файлы данных (egp) - это файлы, содержащие данные полной выгрузки или выгрузки изменений;

· Файлы подтверждений (verify-файлы, расширение vrf). При загрузке файлов данного типа устанавливается подтверждение на выгрузку;

· Файлы, содержащие данные, которые не были загружены при обработке файла из-за ошибок, возникающих при выполнении операции по изменению данных (err-файлы, расширение egp). Использование данных файлов подразумевает следующее: если исправить причины, приведшие к ошибке, и заново обработать ERR файл, причем в данном случае ошибок уже не будет, то в результате произойдет формирование подтверждения. ERR файлы имеют такой же формат, как и основные файлы данных, только содержат именно те данные, которые не смогли быть загружены;

· Сжатые файлы данных в формате ZIP. При обработке данных, сжатых с использованием ZIP, программа автоматически распаковывает данные, содержащиеся в архиве.

Ниже представлены основные положения, согласно которым осуществляется загрузка (импорт) данных:

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

1. Проверка того, что файл выгрузки предназначен для текущего представительства;

2. Проверка того, что данный файл уже загружался;

3. Если делается импорт полной выгрузки, с режимом отключения индексов, индексы переводятся в состояние UNUSABLE, это делается для ускорения загрузки;

4. Получение списка таблиц в файле из заголовка файла;

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

6. Сортировка списка таблиц в зависимости от взаимных связей в БД (foreign constraints). Наверх списка перемещаются родительские таблицы, вниз – подчиненные. Это позволяет выявить порядок обхода таблиц при загрузке.

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

7. Обновляется тело триггеров таблиц, участвующих в обработке. В тело триггеров добавляется возможность отключения триггера, посредством установки флага EXCH2.IS_IMPORTING (подробней см. ниже);

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

9. Просматривается таблица EXP_LOG в файле, и, если в ней содержатся информация об удалении записей, то согласно отсортированному списку, в обратной последовательности, т.е. с конца списка, производятся удаления в каждой из таблиц с помощью команды DELETE;

10. По каждой из таблиц в отсортированном списке, начинается вставка новых или обновление имеющихся записей. Запись считается новой всегда, не зависимо от того, добавлена она или изменена. Обработка производится по следующему алгоритму: пытаемся обновить, если не найдено записей для обновления, то вставляем запись. При выполнении этого кода используется технология передачи параметров в запрос Oracle Array Binding, что позволяет значительно ускорить процесс.

11. Копируется журнал (если есть, из EXP_LOG). Это делается для того, чтобы потом можно было выгрузить изменения в другие представительства как измененные данные. Однако журнал копируется только при загрузке из представительств нижнего уровня. Причем копируются в представление V_EXP_LOG_INS, для того, чтобы вставить изменения в конец списка изменений;

12. Отрабатываются действия по арестам, согласно алгоритмам пакета EXCH;

13. Формируется запись в EXP_IMPORTS (журнал загрузок);

14. Формируется VERIFY-файл (файл подтверждения);

15. Делается COMMIT (подтверждение) транзакции;

16. Если включен режим отключения индексов полной выгрузки, то индексы включается обратно;

17. Если во время импорта были ошибки, автоматически формируется файл, содержащий данные только по ошибкам (err_*.egp), формат данного файла такой же как формат обычного файла. Это позволяет затем произвести загрузку только тех данных, которые вызвали ошибки. Более подробно о методах исправления ошибок при загрузке данных см.п.15.2.6;

· Импорт производится только в рамках одной транзакции. При импорте другие пользователи не увидят изменений, пока полностью не будет подтверждена загрузка. Реализована одновременная работа пользователей ПК ИС ЕГРП и процесса импорта данных;

· Для полной выгрузки используется режим временного отключения индексов (настоятельно рекомендуется его использовать, так как это позволяет значительно увеличить скорость импорта);

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

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

· При загрузке verify-файлов импорт выполняется очень быстро, так как просто ставится отметка о получении и загрузке данных на удаленной стороне.

Выполнение импорта данных

На стороне клиента, импортирующего данные, запустите программу импорта данных, для этого в окне программы-оболочки ПК ИС ЕГРПнужнонажать кнопку Универсальная оболочка ( )напанели инструментов или в меню Администрирование выполнить команду Универсальная оболочка.

В результате на экране появится основное окно программы (см.Рис. 187).

Рис. 187 Окно Универсальная оболочка

Выполните команду меню Действия > Новое соединение(см.Рис. 187) или нажмите на кнопку на панели инструментов.

Далее в появившемся окне необходимо ввести соответствующие параметры для установления соединения с базой данных (см.Рис. 184). Краткое описание данных параметров приведено в п. 15.2.4.1

В левом поле просмотра выберите пункт Обмен изменениями – Импорт данных. Откроется окно ввода параметров процедуры импорта (см.Рис. 188).

Рис. 188 Окно ввода параметров импорта

Описание параметров этого окна представлено в Табл. 10.

Табл. 10 Параметры импорта

Параметр Описание
Имя файла Задается имя входного файла для процедуры загрузки данных.
Загрузка в Информационное поле, указывающее на то, в какое представительство производится загрузка файла.
Импортировать в чистую схему пользователя При включении данного параметра будет создана чистая схема данных для пользователя, которого Вы укажете, куда без изменений будут перенесены все данные из импортируемого файла. Такой режим удобно использовать при отладке или для загрузки данных из файла в базу для их просмотра.
Предложить остановить импорт при появлении более … ошибок Количество ошибок, после которого программа предложит прервать импорт или продолжить его.
Записать действия в лог-файл Можно указать дополнительный лог-файл для регистрации действий программы при загрузке данных. Дополнительный – потому что ведется общий журнал действий программы, а если указать данную опцию, то будет дополнительно сформирован лог-файл только по данной загрузке.
Дополнительные параметры: Отключить индексы во время загрузки При включении данного параметра для импорта полной выгрузки будут предварительно отключены индексы, а затем автоматически включены обратно. Это позволяет значительно ускорить процесс при импорте большого количества изменений.
Дополнительные параметры: Удалить данные перед загрузкой При включении данного параметра перед загрузкой данных в таблицу, эта таблица будет очищена. Эта опция действует только в режиме полной выгрузки.
Дополнительные параметры: Выполнять COMMIT после каждой таблицы При включении данного параметра, после загрузки каждой таблицы, будет выполнена фиксация изменений (COMMIT). Данный параметр используется в основном при отладке.

 

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

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

· Если файл представляет собой сжатый файл ZIP, то он распаковывается;

· Если загружается verify-файл, то ставится подтверждение выгрузки, информация о которой содержится в файле;

· Если загружается файл данных (обычный, или ERR-файл), то производится стандартная обработка данных по алгоритму, представленному выше.

При работе процедуры импорта выводится окно отображения статуса выгрузки (см. Рис. 189). В данном окне отображается информация о стадиях процесса, выводятся различные сообщения о работе процедуры.

Рис. 189 Окно состояния импорта

Проанализируйте результаты выполнения работы, используя справочную информацию в окне состояния (см. Рис. 189).

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

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


Просмотров 454

Эта страница нарушает авторские права




allrefrs.ru - 2021 год. Все права принадлежат их авторам!