Научная статья на тему 'ХРАНЕНИЕ И ПОИСК СХОЖИХ ИЗОБРАЖЕНИЙ В ТЕМПОРАЛЬНЫХ БАЗАХ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПЕРЦЕПТИВНЫХ ХЭШ-СТРОК'

ХРАНЕНИЕ И ПОИСК СХОЖИХ ИЗОБРАЖЕНИЙ В ТЕМПОРАЛЬНЫХ БАЗАХ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПЕРЦЕПТИВНЫХ ХЭШ-СТРОК Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
466
65
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БАЗА ДАННЫХ / ТЕМПОРАЛЬНЫЕ ДАННЫЕ / ПЕРЦЕПТИВНЫЙ ХЭШ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Трефилов П. А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Трефилов П. А.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ХРАНЕНИЕ И ПОИСК СХОЖИХ ИЗОБРАЖЕНИЙ В ТЕМПОРАЛЬНЫХ БАЗАХ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПЕРЦЕПТИВНЫХ ХЭШ-СТРОК»

УДК 681.3 Трефилов П.А.

ФГБОУ ВО «Тамбовский государственный технический университет», Тамбов, Россия ХРАНЕНИЕ И ПОИСК СХОЖИХ ИЗОБРАЖЕНИЙ В ТЕМПОРАЛЬНЫХ БАЗАХ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ ПЕРЦЕПТИВНЫХ ХЭШ-СТРОК

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

БАЗА ДАННЫХ, ТЕМПОРАЛЬНЫЕ ДАННЫЕ, ПЕРЦЕПТИВНЫЙ ХЭШ

Основные проблемы использования беспилотных летательных аппаратов (БЛА) в гражданских целях связаны с использованием воздушного пространства, выделением частотного диапазона для управления БЛА и передачи информации с борта на землю и наоборот и, наконец, с развитием рынка гражданских услуг, который находится в стадии становления. Из поставленных гражданским сектором рынка задач применения БЛА, в первую очередь, необходимо отметить такие, которые в ближайшее время могут стать востребованными. Это, в первую очередь, контрольные функции БЛА. С помощью беспилотных систем можно контролировать техническое состояние объектов, их безопасность и функционирование, притом, что контролируемые объекты могут находиться на большом удалении (протяженные объекты).

С точки зрения функций контроля и мониторинга объектов человеческой деятельности, область применения БЛА является очень обширной: от фотосъемки массовых мероприятий до проведения поисково-спасательных работ и военных разведывательных операций. По результатам полета БЛА производит фото-видеосъемку, которую необходимо хранить и обрабатывать. Для таких функций целесообразно использовать базы данных (БД). Наиболее распространенными на сегодняшний день являются реляционные БД (РБД) и объектно-реляционные БД (ОРБД).

Существенный недостаток традиционных РБД и реляционной модели в целом - невозможность оптимально организовать процессы хранения, поиска и извлечения темпоральных данных [3], т.е. данных, привязанных к определенному моменту времени. Данный недостаток решается с использованием темпоральных баз данных (ТБД), однако на сегодняшний день не существует полноценной ТБД - существуют лишь различные модули и плагины к популярным коммерческим или открытым (open source) СУБД. Все эти надстройки обладают рядом недостатков, в частности - при проектировании темпоральной структуры не существует какого-либо универсального метода, позволяющего спроектировать гибкую логическую структуру, применимую сразу к множеству предметных областей.

Темпоральная модель данных представлена как

[1]

М = (DST, QLT, СТ)

где DS - структуры данных, QL - язык запросов, C - ограничения целостности, T - темпоральная зависимость. Все существующие модели представления темпоральных данных классифицируются по следующим признакам:

1) По типу хранимого времени. Если отношение содержит только действительное время моделируемой реальности, то такое отношение называется историческим (historical). Если отношение содержит только транзакционное время - оно называется отношением возврата (rollback). Если отношение содержит обе метки времени - оно называется би-темпоральным (bitemporal).

2) По типу нанесения временных меток (timestamping). Выделяют метки кортежей (tuple timestamping) и метки атрибутов (attribute timestamping).

3) По минимальной нормальной форме. Выделяют отношения на основе 1НФ и на основе Н1НФ. Как правило, Н1НФ соответствуют меткам атрибутов, а 1НФ - меткам кортежей.

4) По допустимому значению времени атрибутов. Различают однородные (homogeneous) и разнородные (heterogeneous). В однородных отношениях жизненный цикл атрибутов по времени должен быть одинаковым. К разнородным структурам таких требований не предъявляется.

5) По формату временной метки. Различают граничные точки (boundary points) и интервалы (interval). В случае с временными точками, метка времени содержит 2 значения - начала и конца интервала. В случае интервала метка времени представляется лишь одним значением.

Наиболее известными моделями являются модели Снодграсса, Йенсена-Снодграсса, Бен-Зви, Гадия, Тензеля [2]. На практике чаще всего применяются модели Снодграсса и Йенсена-Снодграсса [3, 4].

Рассмотрим пример разработки темпоральной схемы данных с использованием битемпоральной модели Йенсена-Снодграсса. Модель представлена как:

T = (AS, TS, AF, TF)

где AS - момент актуализации значения, TS -время записи факта в БД, AF - момент утраты актуальности, TF - время удаления факта из БД.

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

Таким образом, темпоральная база данных на сегодняшний день чаще всего представляется как темпоральная структура реляционной базы данных. Темпоральные (зависящие от времени) атрибуты образуют отдельные отношения, которые связываются с основными (нетемпоральными) данными. Рассмотрим процесс разработки темпоральной базы данных для информационной системы жизнеобеспечения города. Информационная система предназначена для мониторинга состояния коммуникаций города (канализация, теплоснабжение и т.д.) и представляет собой программируемый интерфейс (API), с помощью которого БЛА взаимодействует с ТБД - получает данные объектов, которые необходимо проверить и отмечает факт проверки и наличие аварийной ситуации. Определение аварийной ситуации происходит с помощью алгоритмов разпознавания и производится на стороне БЛА [7].

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

База данных имеет 3 таблицы:

1) Таблица checks содержит данные о проверках объектов системы жизнеобеспечения города беспилотным летательным аппаратом.

2) Таблица objects содержит данные проверяемых объектов - местоположение и тип объекта.

3) Таблица types содержит информацию о проверяемых типах объектов - водопровод, канализация, газ и т.д.

Таблица checks представлена следующими атрибутами:

- id - идентификатор (номер) произведенной проверки с помощью БЛА;

- obj_id - идентификатор проверенного объекта;

- AtS - время проверки объекта;

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

Рисунок 1 - Структура базы данных

- TtS - время записи информации о проверке объекта в базу данных;

- TtE - время утраты актуальности информации в БД (значение заполняется в момент проведения новой проверки, но, в отличие от значения атрибута AtE - это время фиксируется базой данных, а не устройством сбора информации).

- crashed - наличие аварийного состояния объекта (1 - есть авария, 0 - нет аварии).

Таблица objects представлена атрибутами:

- id - идентификатор объекта проверки;

- type - идентификатор типа проверяемого объекта;

- address - строковой адрес проверяемого объекта.

Таблица types представлена атрибутами:

- id - идентификатор типа объекта;

- name - строковое название типа объекта.

Ограничения внешнего ключа в базе данных

представлены как:

CONSTRAINT 'fk_objects_1' FOREIGN KEY ("type4) REFERENCES 'types' ('id') ON DELETE CASCADE ON UPDATE CASCADE

CONSTRAINT 'fk_checks_1' FOREIGN KEY ('obj_id') REFERENCES 'objects' ('id') ON DELETE CASCADE ON UPDATE CASCADE

Актуальной задачей является задача поиска подобных или сходных изображений с заданной точностью. Кроме того, необходимо произвести оптимизацию структуры базы данных и запросов с целью уменьшения сложности выполнения запроса, а, следовательно, уменьшения времени. Существуют различные способы нахождения схожих изображений, к которым относятся методы распознавания образов и кластерного анализа, однако практическая реализация этих методов требует серьезных вычислительных ресурсов. В качестве альтернативы этим методам предлагается использовать технологию перцептивного хэширования [5, 7].

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

Перцептивные хэш-алгоритмы описывают класс функций для генерации сравнимых хэшей [9]. Характеристики изображения используются для генерации индивидуального (но не уникального) отпечатка, и эти отпечатки можно сравнивать друг с другом. Перцептивный хеш - это отпечаток мультимедийного файла, полученный из различных функций его содержимого. В отличие от криптографи-

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

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

Существует 2 наиболее известных процедурных модели перцептивного хэширования: хэширование «по-среднему» и алгоритм pHash [8]. Блок-схема алгоритма приведена на рисунке 2.

Рассмотрим алгоритм хэширования «по-среднему»:

1. Уменьшить размер. Самый быстрый способ избавиться от высоких частот - уменьшить изображение. Изображение уменьшается до 8х8 пикселей, так что общее число пикселей составляет 64. Соблюдение пропорций необязательно, т.е. исходное изображение может быть искажено. Таким образом, хэш будет соответствовать всем вариантам изображения, независимо от размера и соотношения сторон.

2. Убрать цвет. Маленькое изображение переводится в градации серого, так что хэш уменьшается втрое: с 64 пикселей (64 значения красного, 64 зелёного и 64 синего) всего до 64 значений цвета.

3. Найти среднее. Вычисляется среднее значение для всех 64 цветов.

4. Цепочка битов. Для каждого цвета устанавливается 1 или 0 в зависимости от того, больше он или меньше среднего.

5. Построить хэш. Переводятся 64 отдельных бита в одно 64-битное значение. Порядок не имеет значения, если он сохраняется постоянным.

В свою очередь, алгоритм pHash состоит из следующего набора действий:

1. Уменьшить размер. Как и в случае хэша по среднему, pHash работает на маленьком размере картинки. Однако, здесь изображение больше и составляет 32x32 пикселя. На самом деле это делается ради упрощения DCT (дискретного косинусного

преобразования), а не для устранения высоких частот.

Рисунок 2 - Блок-схема алгоритма

2. Убрать цвет. Аналогично, цветовые каналы убирают, чтобы упростить дальнейшие вычисления.

3. Запустить дискретное косинусное преобразование. DCT разбивает картинку на набор частот и векторов. В то время как алгоритм JPEG производит DCT на блоках 8x8 пикселей, в данном алгоритме DCT работает на размере 32x32 пикселя.

4. Сократить DCT. В то время как первоначальный блок был 32x32 пикселя, сохраняется только левый верхний блок 8x8. В нём содержатся самые низкие частоты из картинки.

5. Вычислить среднее значение. Как и в хэше по среднему, здесь вычисляется среднее значение DCT, оно вычисляется на блоке 8x8 пикселя и нужно исключить из расчёта самый первый коэффициент, чтобы убрать из описания хэша пустую информацию, например, одинаковые цвета.

6. Ещё сократить DCT. Каждому из 64 DCT-зна-чений присваивается 0 или 1 в зависимости от того, оно больше или меньше среднего. Такой вариант уже выдержит без проблем гамма-коррекцию или изменение гистограммы.

7. Построить хэш. 64 бита преобразуются в 64-битное значение, здесь тоже порядок не имеет значения. Чтобы посмотреть, на что похож отпечаток визуально, можно присвоить каждому пикселю значения +255 и -255, в зависимости от того, там 1 или 0, и преобразовать DCT 32x32 (с нулями для высоких частот) обратно в изображение 32x32.

Таким образом, метод получения хэш-строки по алгоритму pHash на языке PHP:

public function hash(Image $image) {

$resized = $image->resize(static::SIZE, static::SIZE);

// Get luma value (YCbCr) from RGB colors and calculate the DCT for each row. $matrix = []; $row = []; $rows = []; $col = [];

for ($y = 0; $y < static::SIZE; $y++) { for ($x = 0; $x < static::SIZE; $x++) { $rgb = $resized->pickColor($x, $y); $row[$x] = floor(($rgb[0] * 0.299) + ($rgb[1] * 0.587) + ($rgb[2] * 0.114));

}

$rows[$y] = $this->DCT1D($row); }

// Calculate the DCT for each column.

for ($x = 0; $x < static::SIZE; $x++)

$y++) {

for ($y = 0; $y < static:: SIZE; $col[$y] = $rows[$y][$x];

}

$matrix[$x] = $this-

>DCT1D($col);

}

// Extract the top 8x8 pixels. $pixels = [];

for ($y = 0; $y < 8; $y++) {

for ($x = 0; $x < 8; $x++) {

$pixels[] = $matrix[$y][$x];

}

}

// Calculate the median. $median = $this->median($pixels); // Calculate hash.

$hash = 0; $one = 1;

foreach ($pixels as $pixel) { if ($pixel > $median) { $hash |= $one;

}

$one = $one << 1;

}

return $hash;

}

Для определения количественного показателя -расстояния между двумя изображениями используется расстояние Хэмминга, которое определяется как число отличающихся элементов в 2 векторах одинаковой размерности:

v

dH(xi, xj) = ^ Ixik — xij|

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Дальнейшим шагом является построение структуры ТБД. Примерная структура ТБД представлена на рис. 3. В приведенной схеме:

- facts - отношение, содержащее нетемпоральные факты о наблюдаемом объекте;

- temporal_1, temporal_2, temporal_3 - темпоральные атрибуты данных, выделенные в отдельные отношения.

В темпоральных отношениях temporal_1, temporal_2, temporal_3:

- A_S, T_S, A_E, T_E - временные атрибуты модели Йенсена-Снодграсса, хранящие метки действительного и транзакционного времени;

- value - значение атрибута в заданный момент времени, в нашем примере - хэш-строка изображения;

- image - название файла-изображения.

Сохранив в качестве атрибута value значение

хэш-строки хранимой картинки, становится возможным произвести поиск схожих изображений в ТБД. Для этого необходимо получить хэш-строку искомого изображения и составить SQL-запрос на поиск. Сравнение хэш-строк целесообразно выполнять с использованием встроенной функции BIT_COUNT, которая возвращает количество битов переданного аргумента. В качестве аргумента используется выражение:

Hashl Л Hash2, где Hashl - перцептивный хэш входного изображения;

- Hash2 - перцептивный хэш изображения, хранимого в БД;

- А - оператор побитового XOR.

Пример SQL-запроса, производящего выборку всех изображений, у которых расстояние Хемминга между хэшем и хэшем входного изображения меньше 5:

SELECT *, BIT_COUNT(hash1 Л :hash2) as ham-ming_distance

FROM facts

JOIN temporal_1

ON (facts.temporal_fact_1 = temporal_1.id)

k=1

HAVING hamming_distance < 5

temporall

t id : int(11) ill value : varchar(64) В image : varchar(B4) ш A_S : datetime ш T_£ : datetime ш A_E : datetime ш T E : datetime

temporal_3

в Id : int(11) 0 value : varchar(64) Ji image : varcliar(64) И A_S : datetime И T_£ : datetime Ш A_E : datetime ш T E : datetime

Q 0 pl"i<4?. UkJ facts

й id : lnt(11)

I) fact_1 vanchar(B4)

I) fact_2 varchar(64)

I) fact_3 vanchar(64)

tt tempora1_fact_1 int(11)

tt temporal_fact_2 irt(11)

tt temporal_fact_3 1пЦ11)

□ ; tetiiporai_2

I id : ¡ПЦ11)

® value : varchar(64j ® image : varchar(64) и A_S : datetime и T_S : datetime

II A_E : datetime Il T E : datetime

Рисунок 3 - Структура темпоральной базы данных

Рассмотрим зависимость расстояния между двумя хэш-строками от размерности квадрата в пикселях, до которого сжимается изображение согласно 1-му шагу алгоритма pHash. В качестве экспериментальных данных возьмем изображения, показанные на рисунках 4 (а) , 4(6), 4 (в) .

это незначительно измененное в графическом редакторе изображение 4(а) . Размеры квадратов в пикселях, до которых сжимается изображения принадлежат [16; 240] с шагом 16 пикселей. На рисунке 5 представлен график зависимости, где:

Тест 1 - расстояние между изображениями 4(а) и 4(б),

Тест 2 - расстояние между изображениями 4(а) и 4(в),

Тест 3 - расстояние между изображениями 4(б) и 4(в).

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

Рисунок 4(б) - Измененное изображение №1

Среди этих рисунков 4(а) и 4(в) - изображения, найденные в сети Интернет, а рисунок 4(б)

Рисунок 4(в) - Изображение №2

m

J f

S jT

-Тест 1 -Тест 2 -ТестЗ

50

200

250

300

100 150

Размерность

Рисунок 5 - Зависимость расстояния Хэмминга от размерности изображения

о

О 50 loo 150 200 2SO 300

Размерность

Рисунок 6 - Сравнение размерности квадратов

Сравним размерность квадрата для получения хэш-строки. Для этого возьмем данные графиков 4 (а - в) и найдем отношение расстояния Хэмминга к размерности квадрата. Затем полученные отношения сравним между собой, попарно разделив. Полученный результат показан на рис. 6.

График на рис. 6 показывает, что увеличение размерности квадрата снижает точность определения сходства изображений. Для отношений «Отношение^» и «Отношение_2», которые являются сравнениями схожих между собой изображений с не схожим, оптимальной размерностью является 16 пикселей, поскольку данная размерность дает максимальное частное от деление отношения расстояния Хэмминга к размерности и требует меньших вычислительных затрат.

Таким образом, рассмотрены основные принципы получения количественной характеристики изображения - перцептивной хэш-строки и обработки ее

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

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

ЛИТЕРАТУРА

1. Jensen C. S., Snodgrass R., Soo M. D. Extending Normal Forms to Temporal Relations. Technical Report TR-92-17. Department of Computer Science, University of Arizona, Tucson, AZ, 1992.

2. Трефилов П.А., Ивановский М.А., Шахов Н.Г., Елисеев А.И. / Анализ существующих моделей представления темпоральных данных // Информация и безопасность. 2017. Т. 20. № 4 (4). С. 598-603.

3. Jensen C. S. , Soo M. D., Snodgrass R. T. 1994: Unifying Temporal Data Models Via Conceptual Model // Information Systems V. 19, №. 7. P. 513-547.

4. M. D. Soo, R. T. Snodgrass, and C. S. Jensen. Efficient Evaluation of the Valid-Time Natural Join. In Proceedings of the IEEE International Conference on Data Engineering, pp. 282-292, Houston, Texas, February 1994.

5. Модель анализа изображений на основе метода нечёткой кластеризации / Д.В. Лакомов, В.В. Алексеев, Ю.В. Минин, Ю.В. Кулаков, Г.Н. Нурутдинов // Информация и безопасность. - Воронеж. Издательство Воронежский государственный технический университет. - 2017. -№ 4. - С. 580-583

6. Ланкин О. В. Темпорально-реляционный подход к организации информационного обеспечения автоматизированных систем управления критического применения: Монография / О.В. Ланкин. - Воронеж: Воронежский ЦНТИ - филиал ФГБУ «РЭА Минэнерго России», 2013.- 246 с.

7. Как работает перцептивный хэш [Электронный ресурс]. URL: https://habr.com/post/12 05 62/. Дата обращения: 20.03.2020

8. PHash - The open source perceptual hash library [Электронный ресурс]. URL: http://phash.org/download/. Дата обращения: 20.03.2020

9. Perceptual image hashes [Электронный ресурс]. URL: https://jenssegers.com/61/perceptual-im-age-hashes. Дата обращения: 24.03.2020

10. Zhu, G., Huang, J., Kwong, S. & Yang, J. (2010) . Fragility analysis of adaptive quantization-based image hashing, IEEE Transactions on Information Forensics and Security 5: 133-147.

11. Azhar Hadmi, William Puech, Brahim Ait Es Said and Abdellah Ait Ouahman (2012). Perceptual Image Hashing, Watermarking - Volume 2, Dr. Mithun Das Gupta (Ed.), ISBN: 97 8-953-51-0 619-7, InTech, Available from: http://www.intechopen.com/books/watermarking-volume-2/perceptual-image-hashing

12. Ланкин О. В. Темпорально-реляционный подход к организации информационного обеспечения автоматизированных систем управления критического применения: Монография / О.В. Ланкин. - Воронеж: Воронежский ЦНТИ - филиал ФГБУ «РЭА Минэнерго России», 2013.- 246 с.

13. Петухова Н.Ю. Темпоральные модели данных в информационных системах на железнодорожном транспорте: автореферат дис. ... канд. техн. наук. Рига, 2010. 58 с.

14. Тоноян С.А., Сараев Д.В. Темпоральные модели базы данных и их свойства. Инженерный журнал: наука и инновации, 2014, вып. 12. URL: http://engjournal.ru/articles/1333/1333.pdf (Дата обращения: 10.04.2020)

15. Praveen Kumar Gupta, Rahul Rishi, Ranjit Biswas. A Comparative Analysis Of Temporal Data Models // International Journal of Advanced Computational Engineering and Networking, Vol-1, 2013, Oct

i Надоели баннеры? Вы всегда можете отключить рекламу.