Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СИСТЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ.doc
Скачиваний:
73
Добавлен:
01.05.2014
Размер:
1.47 Mб
Скачать

Синхронные и несинхронные данные Обеспечение синхронности данных

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

Остановимся на вычисляемых показателях. Рассмотрим различные варианты решения проблемы синхронности для вычисляемых атрибутов:

  • функция вычисления актуализируется непосредственно пе-

ред использованием значения вычисляемого показателя;

  • функция вычисления актуализируется по требованию;

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

из аргументов.

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

Tsum = K * (Tread + Tобр ) * n , где

K - коэффициент, связанный с соотношением длины блока и

длины записи;

Tread - время чтения одной записи;

Tобр - время обработки одной записи;

n - количество записей .

При Tread = 0.002 c , Тобр = 0, К = 1 и n = 20000 Tsum = 40 c.

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

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

данных он требует расчитать их заново с учетом всех изменений, произведенных к данному моменту времени.

Интенсивность поступления первичных данных обычно не высока. Редко можно встретить системы, где за смену поступает 10000 записей первичных данных. Это составляет 0.33 записей/с или 3 с/запись. Практически имеется огромный резерв времени для первичной обработки записей в моменты их поступления.

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

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

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

синхронность обычно нескольких вычисляемых атрибутов;

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

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

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

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

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

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

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

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