
Эта функция является одной из главных в системах управления и учёта. К ней предъявляются очень жёсткие требования. По надёжности хранения данных, скорости сохранения и доступа к данным, глубине хранения данных.
Сервер архивирования позволяет вести архивы технологических и коммерческих показателей в АСУТП, диспетчеризации объектов промышленности и ЖКХ, системах коммерческого и технического учёта.
На обычном компьютере скорость сохранения до 2 млн. записей в секунду и скорость выборки до 3 млн. записей в секунду (параллельно с записью).
Сервер архивирования построен на базе уникальной инновационной технологии SSDS и не имеет аналогов по производительности для своих задач.
Работает в операционных системах Windows, Linux, Android, IOS, Darwin, Эльбрус, NetBSD, FreeBSD, OpenBSD, Plan9, AIX, Dragonfly, Illumos, Solaris на различных аппаратных платформах.
Сервер архивирования позволяет создавать высоконадежные системы хранения данных благодаря встроенным механизмам резервирования серверов и носителей.
Можно сохранить в файл бэкапа историю изменения произвольного набора тегов за заданный интервал времени и восстановить эти данные в любую базу на том же или другом компьютере.
База может зацикливаться либо по времени хранения данных, либо по доступному дисковому пространству. При исчерпании свободного места на диске производится автоматическое зацикливание по второму типу. Для каждого тега можно задать индивидуальную глубину хранения.
Сервер Архивирования зарегистрирован в реестре российского программного обеспечения Минкомсвязи России под номером № 17156 и отнесён к классу 02.07 (средства управления базами данных).
Разработан на базе инновационной технологии SSDS (Solid Segment Data Storage). Эта технология обеспечивает высочайшую скорость записи и извлечения данных.
Эти решения позволяют не только получать мгновенный доступ к нужным данным, но и быстро восстановить целостность базы при частичном повреждении носителя или индекса. Технология SSDS является продуктом разработки компании АВАДС СОФТ и полностью принадлежит ей (Патент РФ № 2793082 «Способ хранения и извлечения данных»).
Сервер архивирования — кроссплатформенный продукт. Его код не содержит решений, зависящих от ОС и аппаратной платформы.
Работает на большинстве современных платформ и под управлением почти всех операционных систем.
Для облегчения интеграции с другими программными продуктами имеются примеры исходного кода драйверов. Примеры приведены для следующих языков программирования: C#, Go, JavaScript, Python. Скачать примеры исходных текстов драйверов.
На платформах X86, AMD64, ARM, ARM64
На платформах X86, AMD64, ARM, ARM64, PPC64, PPC64le, MIPS, MIPCle, MIPS64, RISCV64, S390X
На платформах X86, ARM, ARM64
Компьютеров Apple на платформах Intel, ARM64
Мобильных устройств Apple на платформе ARM64
На платформах X86, AMD64, ARM
На платформах X86, AMD64, ARM, ARM64
На платформах X86, AMD64, ARM
На платформах X86, AMD64, ARM, ARM64
На платформе PPC64
На платформе AMD64
На платформе AMD64
На платформе AMD64
На платформе VLIW (2С+, 4С, 8С, 8СВ, 2С3, 16С)
Сервер архивирования — включает в себя Сервер БД (сервер баз данных) и Клиент
администрирования.
Не имеет ограничений по числу баз и клиентов кроме лицензионных, а также
накладываемых возможностями вычислительных средств, на которых он установлен.
Данные любых типов, размер которых не превышает 8 байт. К таким относятся, например: bool, int, long, dlong, float, dfloat...
Данные произвольного размера. Это могут быть, например, структуры,
массивы, тексты, изображения и пр. Назначение и структуру записанного
в blob массива байтов определяет приложение, которое его записывает.
Механизмы хранения и доступа к данным обоих типов одинаковые. Отличие состоит
в логике их обработки. Такой унифицированный подход позволяет обеспечить
одинаково высокую скорость сохранения и доступа к данным независимо от
их типа.
Обеспечивает высокоскоростные методы передачи и доступа к данным, а также методы управления сервером, реализованные в рамках TCP/IP стека.
Для взаимодействия Сервера архивирования с клиентами по протоколу OPC UA разработана специальная программа – OPC–DB шлюз. Она взаимодействует по протоколу OPC UA с клиентами и транслирует запросы этого протокола в протокол AVADS TCP.
Это WEB-API, реализованное через WEB-soсket. Используется для
взаимодействия сервера с Клиентом администрирования. JSON проще в
реализации, но медленнее в работе. Поэтому его не следует использовать
если требуется максимальное быстродействие.
Сервер архивирования может взаимодействовать с клиентами как в рамках одного
компьютера так и по сети используя одновременно оба механизма. Число
клиентов, которые могут одновременно взаимодействовать с Сервером Архивирования
ограничивается лицензией.
Сервер Архивирования обеспечивает непрерывное сохранение данных, даже при исчерпании свободного пространства на диске. Это достигается за счёт функции зацикливания.
Зацикливание баз данных может выполняться в нескольких режимах:
Глубина хранения может устанавливаться для базы целиком, для группы тегов или индивидуально для каждого тега. Приоритетной будет индивидуальная настройка тега.
При достижении заданного ограничения все новые записи будут записываться поверх самых старых.
Зацикливание архива слабо влияет на скорость Сервера архивирования по записи и выборке данных.
Сервер архивирования позволяет сохранять в файл бэкапа значения произвольного набора параметров за заданный интервал времени. Затем данные из бэкапа можно восстановить в ту же или другую базу данных.
Можно, например, все теги сохранять в бэкап раз в заданный период времени на сменный носитель. Это обеспечит защиту от потери данных.
Возможность сохранить бэкап позволяет вести аналитику на отдельном компьютере не нагружая дополнительными запросами сервер, обеспечивающий сохранение данных.
Сервер архивирования может восстанавливать бэкап одновременно с записью новых данных в базу. Причем процесс восстановления почти не влияет на производительность сервера.
Сервер архивирования может выполнять математическую обработку сохраненных данных. Для этого в API предусмотрены специальные команды.
Запросы на обработку позволяют выполнять следующие действия:
Используется, например, для вывода на тренд данных за большой интервал времени – точек много больше чем пикселей в рабочем поле тренда. Прореживание сокращает объем передаваемых данных и повышает скорость отрисовки их на тренде.
Сервер архивирования позволяет создавать высоконадежные резервированные системы непрерывного хранения данных. Это важно для ответственных систем и коммерческого учета.
Сервер архивирования реализует горячее резервирование:
Два и более Серверов Архивирования могут работать на разных компьютерах в горячем резерве. Один имеет статус Мастер, остальные — Резерв. С клиентами взаимодействует Мастер. Он пересылает получаемые данные Резервным серверам, которые синхронизируют свои базы с ним. При отказе Мастера один из Резервных серверов становится Мастером.
Сервер архивирования ведёт две одинаковые базы на двух разных дисках. Он контролирует идентичность баз и синхронизирует их. Это позволяет при обеспечении горячей замены дисков не останавливая работы сервера заменить вышедший из строя диск.
Сервер архивирования имеет систему разграничения прав пользователей. Данные о пользователях хранятся в зашифрованном виде.
Для каждого пользователя можно задать:
Сервер архивирования позволяет создавать высоконадежные резервированные системы непрерывного хранения данных. Эта особенность очень важна при автоматизации ответственных и опасных технологических объектов, а также для систем хранения коммерческой информации.
На компьютере запущен Сервер архивирования и имитатор значений тегов. Второй имитатор – на удаленном компьютере. Оба имитатора 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 |
На ноутбуке запущен Сервер архивирования и имитатор значений тегов, который 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, подключенный через USB 3.0 |
Операционная система | Windows 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 Ubuntu |
На компьютере запущен Сервер архивирования и имитатор значений тегов, который 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 |
Скорость чтения сильно зависит от накопителя.
При испытаниях на производительность чтения Серверу архивирования посылались запросы на выборку для 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 месяца с момента установки.