Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Руководство администратора.doc
Скачиваний:
57
Добавлен:
12.03.2016
Размер:
14.16 Mб
Скачать
      1. Описание и состав подсистемы обмена изменениями

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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