Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > ФинСофт:КупецЪ

Основы. Аудиторский след. Описание технологии. : ФинСофт:КупецЪ

23.11.2024 14:46


07.11.2014 21:46
Возможность получения и анализа информации о том, кто, что и когда изменял в базе данных, является одной из основных концепций технологии, на которой базируется проект ФинСофт:КупецЪ.

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

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

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

Физически транзакционный лог размещается в нескольких таблицах. Первая из них называется "оперативный транзакционный лог". В нее информация записывается в процессе модификации базы данных. Она же используется для наката изменений при восстановлении базы данных после сбоев. Вторая таблица называется "архив транзакционного лога". Информация в нее преливается из оперативного лога при создании резервной копии базы данных. Таким образом, при регулярном резервном копировании, таблица оперативного лога имеет маленький размер, что повышает скорость и удобство работы с ней. И, наконец, при достижении архивом больших размеров (около 2 ГБ), его можно переименовывать согласованным способом, после чего запись в файл архива лога начинается заново.
Стандартные диалоги анализа транзакционного лога работают индивидуально с выбираемой таблицей (оперативной или архивами). В бизнес-логике имеются функции, позволяющие автоматически сканировать все таблицы лога в поисках нужной информации. Эти функции используются в специализированных отчетах и обработках.

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

https://storage.olegon.ru/supermag/F..._nakl_hist.swf
Часовой пояс GMT +3, время: 14:46.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.