Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Системы с устаревшими данными




В предыдущем разделе мы рассматривали системы, в которых только транзакции имеют временные ограничения. Однако в системах реального времени зачастую и сами данные могут иметь временную природу [79]. Например, для работы системы автопилота необходимо использовать информацию о силе и направлении ветра, а эта информация меняется непрерывно и очень быстро устаревает. Необходимость работы с устаревающими данными порождает новые проблемы.

В СУБД реального времени объекты данных делятся на два типа: дискретные и непрерывные. Дискретные данные − это «обычные» данные в смысле классических СУБД, т.е. данные, которые не связаны с реальным временем.

Непрерывные данные − это данные, связанные с внешними объектами, состояние которых непрерывно меняется во времени. Естественно, что состояние непрерывного объекта данных отображается в СУБД как дискретно обновляемая величина. Эта величина отражает состояние объекта на определенный момент времени в прошлом и с течением времени может все более отличаться от текущего состояния объекта. Например, если для расчета траектории самолета использовать данные о ветре часовой давности, то полученные результаты не будут соответствовать действительности.

Формально непрерывный объект данных можно описать при помощи следующей тройки (dvalue, dtimestamp, davi), где dvalue − состояние объекта d на момент времени dtimestamp и davi − это длина интервала, в течение которого это состояние можно считать корректным. Этот интервал называется интервалом абсолютной корректности элемента данных.

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

Все изменения состояния базы данных выполняются от имени транзакций. Это касается и изменений состояний непрерывных элементов данных. По типу изменяемых данных транзакции подразделяются на следующие классы:

Сенсорные − это транзакции, которые модифицируют базовые объекты. Такие транзакции обычно выполняются периодически и не работают с дискретными элементами данных.

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

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

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


Поделиться:

Дата добавления: 2014-11-13; просмотров: 116; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты