Эта функция является одной из главных в системах управления и учёта. К ней предъявляются очень жёсткие требования. По надёжности хранения данных, скорости сохранения и доступа к данным, глубине хранения данных.
Сервер Архивирования позволяет вести архивы технологических и коммерческих показателей в АСУТП, диспетчеризации объектов промышленности и ЖКХ, системах коммерческого и технического учёта.
Сервер Архивирования зарегистрирован в реестре российского программного обеспечения Минкомсвязи России под номером № 17156 и отнесён к классу 02.07 (средства управления базами данных).
Разработан на базе инновационной технологии SSDS (Solid Segment Data Storage). Эта технология обеспечивает высочайшую скорость записи и извлечения данных.
Эти решения позволяют не только получать мгновенный доступ к нужным данным, но и быстро восстановить целостность базы при частичном повреждении носителя или индекса.
Технология SSDS является продуктом разработки компании АВАДС СОФТ и полностью принадлежит ей (Патент РФ № 2793082 «Способ хранения и извлечения данных»).
Сервер Архивирования — кроссплатформенный продукт. Его код не содержит решений, зависящих от ОС и аппаратной платформы.
Сервер Архивирования работает на большинстве современных платформ и под управлением почти всех операционных систем.
Для облегчения интеграции других приложений с АВАДС Сервером архивирования имеются примеры исходного кода драйверов. Примеры приведены для следующих языков программирования: C#, Go, JavaScript, Python. Скачать примеры исходных текстов драйверов можно пройдя по ссылке
Сервер архивирования включает в себя Сервер БД (сервер баз данных) и Клиент администрирования.
Сервер архивирования не имеет ограничений по числу баз и клиентов кроме лицензионных, а также накладываемых возможностями вычислительных средств, на которых он установлен.
Обслуживает запросы клиентов, сохраняет полученные данные и предоставляет их по запросу, выполняет бекапирование и математическую обработку.
Предназначен для настройки сервера, контроля за его работой и для просмотра сохраненных данных в табличном виде и в виде трендов.
Данные любых типов, размер которых не превышает 8 байт. К таким относятся, например: bool, int, long, dlong, float, dfloat...
Данные произвольного размера. Это могут быть, например, структуры, массивы, тексты, изображения и пр. Назначение и структуру записанного в blob массива байтов определяет приложение, которое его записывает.
Механизмы хранения и доступа к данным обоих типов одинаковые. Отличие состоит в логике их обработки. Такой унифицированный подход позволяет обеспечить одинаково высокую скорость сохранения и доступа к данным независимо от их типа.
Обеспечивает высокоскоростные методы передачи и доступа к данным, а также методы управления сервером, реализованные в рамках TCP/IP стека.
Для взаимодействия Сервера архивирования с клиентами по протоколу OPC UA разработана специальная программа – OPC–DB шлюз. Она взаимодействует по протоколу OPC UA с клиентами и транслирует запросы этого протокола в протокол AVADS TCP
Это WEB-API, реализованное через WEB-soсket. Используется для взаимодействия сервера с Клиентом администрирования. JSON проще в реализации, но медленнее в работе. Поэтому его не следует использовать если требуется максимальное быстродействие.
Сервер Архивирования обеспечивает непрерывное сохранение данных, даже при исчерпании свободного пространства на диске. Это достигается за счёт функции зацикливания.
Зацикливание баз данных может выполняться в нескольких режимах:
Глубина хранения может устанавливаться для базы целиком, для группы тегов или индивидуально для каждого тега. Приоритетной будет индивидуальная настройка тега.
При достижении заданного ограничения все новые записи будут записываться поверх самых старых.
Зацикливание архива слабо влияет на скорость Сервера архивирования по записи и выборке данных.
Сервер архивирования позволяет сохранять в файл бэкапа значения произвольного набора параметров за заданный интервал времени. Затем данные из бэкапа можно восстановить в ту же или другую базу данных.
Можно, например, все теги сохранять в бэкап раз в заданный период времени на сменный носитель. Это обеспечит защиту от потери данных.
Возможность сохранить бэкап позволяет вести аналитику на отдельном компьютере не нагружая дополнительными запросами сервер, обеспечивающий сохранение данных.
Сервер архивирования может восстанавливать бэкап одновременно с записью новых данных в базу. Причем процесс восстановления почти не влияет на производительность сервера.
Прореживание
Используется, например, для вывода на тренд данных за большой интервал времени – точек много больше чем пикселей в рабочем поле тренда. Прореживание сокращает объем передаваемых данных и повышает скорость отрисовки их на тренде.
Вычисление за заданный интервал:
Сервер архивирования позволяет создавать высоконадежные резервированные системы непрерывного хранения данных. Это важно для ответственных систем и коммерческого учета.
Сервер архивирования реализует горячее резервирование:
серверов
Два и более Серверов Архивирования могут работать на разных компьютерах в горячем резерве. Один имеет статус Мастер, остальные — Резерв. С клиентами взаимодействует Мастер. Он пересылает получаемые данные Резервным серверам, которые синхронизируют свои базы с ним. При отказе Мастера один из Резервных серверов становится Мастером..
носителей данных (дисков)
Сервер Архивирования ведёт две одинаковые базы на двух разных дисках. Он контролирует идентичность баз и синхронизирует их. Это позволяет при обеспечении горячей замены дисков не останавливая работы сервера заменить вышедший из строя диск.
На компьютере запущен Сервер архивирования и имитатор значений тегов. Второй имитатор – на удаленном компьютере. Оба имитатора 10 раз в секунду по TCP/IP передают серверу значения 80 000 тегов с каждого. Данные каждого имитатора сохраняются в отдельную базу. Обе базы работают в режиме зацикливания.
Таким образом по каждой базе сохраняется 800 000 записей в секунду.
Суммарно Сервер архивирования сохраняет 1 600 000 записей в секунду.
Все теги имеют формат DFLOAT (8 байт), время изменения фиксируется с точностью до 100 ns (8 байт).
Материнская плата
Процессор
Память
Диск
Операционная система
ASUSTeK H97-PLUS
Core i7-4790 с частотой 3.60GHz
16 Гб DDR3-1600
HDD WDC WD1003FZEX-00MK2A0
Linux Mint 20.2
Сервер архивирования потребляет оперативной памяти 1,6 Гб, при максимальной загрузке процессора 14%.
На ноутбуке запущен Сервер архивирования и имитатор значений тегов, который 10 раз в секунду по TCP/IP передают серверу значения 100 000 тегов с каждого. База, в которую пишутся данные, работает в режиме зацикливания.
Суммарно Сервер архивирования сохраняет 1 000 000 записей в секунду.
Все теги имеют формат DFLOAT (8 байт), время изменения фиксируется с точностью до 100 ns (8 байт).
Модель
Материнская плата
Процессор
Память
Диск
Операционная система
ASUS
HUAWEI HLYL-WXX9-PCB
AMD Ryzen 5 Mobile с частотой 4.60GHz
16 Гб DDR4-3200
внешний HDD, подключенный через USB3
Windows 11
Сервер архивирования потребляет оперативной памяти 1,3 Гб, при максимальной загрузке процессора 11%.
На встраиваемом безвентиляторном компьютере запущен Сервер архивирования. На удаленном компьютере запущен имитатор значений тегов, который 10 раз в секунду по TCP/IP передают серверу значения 30 000 тегов. База, в которую пишутся данные, работает в режиме зацикливания.
Суммарно Сервер архивирования сохраняет 300 000 записей в секунду.
Все теги имеют формат DFLOAT (8 байт), время изменения фиксируется с точностью до 100 ns (8 байт).
Материнская плата
Процессор
Память
Диск
Операционная система
Raspberry PI 4
4 ядра Cortex A-72 с частотой 1,5 ГГц
4 Гб LPDDR4-3200
SSD, подключенный через USB 2.0
Linux Ubunta
Сервер архивирования потребляет оперативной памяти 395 Мб , при максимальной загрузке процессора 25%.
На компьютере запущен Сервер архивирования и имитатор значений тегов, который 10 раз в секунду по TCP/IP передают серверу значения 250 000 тегов. База работает в режиме зацикливания.
Суммарно Сервер архивирования сохраняет 2 500 000 записей в секунду.
Все теги имеют формат DFLOAT (8 байт), время изменения фиксируется с точностью до 100 ns (8 байт).
Материнская плата
Процессор
Память
Диск
Операционная система
ASUSTeK PRIME B460M-K
Core i9-10900K с частотой 3.70 GHz
64 Гб DDR4-3200
HDD 1 ТБ WDC WD10SPSX-00A6WT0
Linux Mint 20.2
Сервер архивирования потребляет оперативной памяти 3,2 Гб , при максимальной загрузке процессора 4%.
Скорость чтения сильно зависит от накопителя.
При испытаниях на производительность чтения Серверу архивирования посылались запросы на выборку для 100 случайно выбранных тегов по 10 000 записей.
Современный HDD (1,5 ms время доступа) позволяет получить 350 000 записей в секунду
Старый HDD (12 ms время доступа) позволяет получить 100 000 записей в секунду
SSD (NVME 1.3.0 - быстрый диск на PCIe) позволяет выбирать 2 500 000 записей в секунду
Выборка из кэша 5 000 000 записей в секунду
По умолчанию Сервер архивирования запускается на 1 ядре.
Для использования нескольких ядер предназначен специальный параметр в настройках сервера. В нем указывается число ядер, которые могут использоваться Сервером Архивирования.
Использование многоядерного режима эффективно только при ведении нескольких баз и взаимодействии с несколькими клиентами.
При работе только с одной базой и взаимодействии только с одним клиентом многоядерность снижает производительность сервера.
Сервер архивирования лицензируется по количеству тегов и по числу подключаемых клиентов. Для лицензионной защиты сервера используется программный ключ.
Имеется бесплатная версия на 16 тегов с поддержкой взаимодействия с одним клиентом.
Для полноценного тестирования имеется ДЕМО-версия Сервера Архивирования. У нее нет ограничений на число тегов и клиентов. Но она работает не более 2 месяцев с момента инсталляции.
ДЕМО-версия собрана для операционных систем Windows и Linux на платформе X86 и доступна для скачивания с сайта.
Скачать демоНа обычном компьютере скорость сохранения до 2 млн. записей в секунду и скорость выборки до 3 млн. записей в секунду (параллельно с записью).
Сервер архивирования построен на базе уникальной инновационной технологии SSDS и не имеет аналогов по производительности для своих задач.
Работает в операционных системах Windows, Linux, Android, IOS, Darwin, Эльбрус, NetBSD, FreeBSD, OpenBSD, Plan9, AIX, Dragonfly, Illumos, Solaris на различных аппаратных платформах.
Сервер архивирования АВАДС позволяет создавать высоконадежные системы хранения данных благодаря встроенным механизмам резервирования серверов и носителей.
Можно сохранить в файл бэкапа историю изменения произвольного набора тегов за заданный интервал времени и восстановить эти данные в любую базу на том же или другом компьютере.
База может зацикливаться либо по времени хранения данных, либо по доступному дисковому пространству. При исчерпании свободного места на диске производится автоматическое зацикливание по второму типу. Для каждого тега можно задать индивидуальную глубину хранения.
Реализовано прореживание данных, получение статистики за заданный интервал и интегралов.