АВАДС Сервер архивирования

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

Функция архивирования

Архивирование - одна из главных функций в системах управления и учета. К ней предъявляются жесткие требования по надежности хранения данных, скорости сохранения и доступа к данным, глубине хранения данных.

Сервер архивирования позволяет вести архивы технологических и коммерческих показателей в АСУ ТП, диспетчеризации объектов промышленности и ЖКХ, системах коммерческого и технического учета.

  • Надежность хранения данных

    Надежность хранения данных

  • Скорость сохранения и доступ к данным

    Скорость сохранения и доступ к данным

  • Глубина хранения данных

    Глубина хранения данных

Авадс СА Авадс СА

Инновационный продукт

Сервер архивирования зарегистрирован в реестре российского программного обеспечения Минкомсвязи России под номером № 17156 и отнесён к классу 02.07 (средства управления базами данных).

АВАДС СА разработан на базе инновационной технологии SSDS (Solid Segment Data Storage). Эта технология обеспечивает высочайшую скорость записи и извлечения данных. Она включает в себя:

  • оригинальную организацию данных
  • уникальную и очень компактную систему индексации
  • мощную система кеширования

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

Технология SSDS является продуктом разработки компании АВАДС СОФТ. Она защищена Патентом РФ № 2793082 «Способ хранения и извлечения данных».

Поддерживаемые платформы

Сервер Архивирования — кроссплатформенный продукт. Его код не содержит решений, зависящих от ОС и аппаратной платформы.

Сервер Архивирования работает на большинстве современных платформ и под управлением почти всех операционных систем.

Для облегчения интеграции других приложений с АВАДС Сервером архивирования имеются примеры исходного кода драйверов. Примеры приведены для следующих языков программирования: C#, Go, JavaScript, Python. Скачать примеры исходных текстов драйверов можно пройдя по ссылке

Поддерживаемые платформы

Платформы и ОС

  • Windows Windows на платформах X86, AMD64, ARM, ARM64
  • Linux Linux на платформах X86, AMD64, ARM, ARM64, PPC64, PPC64le, MIPS, MIPCle, MIPS64, RISCV64, S390X
  • Android Android на платформах X86, AMD64, ARM, ARM64
  • Darwin Darwin компьютеров Apple на платформах AMD64, ARM64
  • IOS IOS мобильных устройств Apple на платформе ARM64
  • NetBSD NetBSD на платформах X86, AMD64, ARM
  • FreeBSD FreeBSD на платформах X86, AMD64, ARM, ARM64
  • Plan-9 Plan9 на платформах X86, AMD64, ARM
  • OpenBSD OpenBSD на платформах X86, AMD64, ARM, ARM64
  • AIX AIX на платформе PPC64
  • DragonFly Dragonfly на платформе AMD64
  • Illumos Illumos на платформе AMD64
  • Solaris Solaris на платформе AMD64
  • Эльбрус Эльбрус на платформе VLIW (2С+, 4С, 8С, 8СВ, 2С3, 16С)

Архитектура

Сервер архивирования включает в себя Сервер БД (сервер баз данных) и Клиент администрирования.

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

Сервер БД

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

Клиент администрирования

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

Типы хранимых данных

Сервер архивирования может сохранять следующие типы данных:
Атомарные данные

Данные любых типов, размер которых не превышает 8 байт. К таким относятся, например: bool, int, long, dlong, float, dfloat...

Данные типа blob

Данные произвольного размера. Это могут быть, например, структуры, массивы, тексты, изображения и пр. Назначение и структуру записанного в blob массива байтов определяет приложение, которое его записывает.

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

Классы хранимых данных

Взаимодействие
с внешними приложениями

Сервер архивирования имеет ТРИ механизма для обмена данными с клиентами:
Api

Протокол AVADS TCP. Обеспечивает высокоскоростные методы передачи и доступа к данным, а также методы управления сервером, реализованные в рамках TCP/IP стека. Для облегчения интеграции других приложений с  Сервером архивирования предлагаются примеры исходного кода драйверов. Примеры приведены для следующих языков программирования: C#, Go, JavaScript, Python. Перейти на страницу скачивания можно по кнопке "Скачать" в верхнем меню. 

OPC UA

Для взаимодействия Сервера архивирования с клиентами по протоколу OPC UA разработана специальная программа – OPC–DB шлюз. Она взаимодействует по протоколу OPC UA с клиентами и транслирует запросы этого протокола в протокол AVADS TCP.

JSON

Протокол AVADS WEB – это WEB-API, реализованное через WEB-soсket. Используется для взаимодействия сервера с Клиентом администрирования. AVADS WEB проще в реализации, но медленнее в работе. Поэтому его не следует использовать если требуется максимальное быстродействие.

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

Зацикливание баз данных

Зацикливание баз данных Зацикливание баз данных

Сервер Архивирования обеспечивает непрерывное сохранение данных, даже при исчерпании свободного пространства на диске. Это достигается за счёт функции зацикливания.

Зацикливание баз данных может выполняться в нескольких режимах:

  • - по заданной глубине хранения данных
  • - по заданному размеру базы
  • - по исчерпанию свободного места на диске 

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

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

Зацикливание архива слабо влияет на скорость Сервера архивирования по записи и выборке данных.

Создание и восстановление бэкапов

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

Можно, например, все теги сохранять в бэкап раз в заданный период времени на сменный носитель. Это обеспечит защиту от потери данных.

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

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

Создание и восстановление бэкапов

Встроенная математическая обработка

Сервер архивирования может выполнять математическую обработку сохраненных данных. Для этого в API предусмотрены специальные команды. Запросы на обработку позволяют выполнять следующие действия:

Прореживание

Используется, например, для вывода на тренд данных за большой интервал времени – точек много больше чем пикселей в рабочем поле тренда. Прореживание сокращает объем передаваемых данных и повышает скорость отрисовки их на тренде.

Вычисление за заданный интервал:

  • Максимум
  • Минимум
  • Среднее значение
  • Интеграл
  • Наработка/простой в часах и процентах
Прореживание Прореживание

Резервирование

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

Сервер архивирования реализует горячее резервирование:

- серверов 

Два и более Серверов Архивирования могут работать на разных компьютерах в горячем резерве. Один имеет статус Мастер, остальные — Резерв. С клиентами взаимодействует Мастер. Он пересылает получаемые данные Резервным серверам, которые синхронизируют свои базы с ним. При отказе Мастера один из Резервных серверов становится Мастером..

- носителей данных (дисков)

Сервер Архивирования ведёт две одинаковые базы на двух разных дисках. Он контролирует идентичность баз и синхронизирует их. Это позволяет при обеспечении горячей замены дисков не останавливая работы сервера заменить вышедший из строя диск.

Резервировние Резервировние
Разграничение прав пользователя Разграничение прав пользователя

Разграничение прав пользователя

Разграничение прав пользователя Разграничение прав пользователя

Сервер архивирования имеет систему разграничения прав пользователей. Данные о пользователях хранятся в зашифрованном виде.

Для каждого пользователя можно задать:

  • Логин
  • Пароль
  • Право на создание и настройку баз
  • Право на удаление баз
  • Право на создание и редактирование тегов
  • Право на удаление тегов
  • Право на создание новых пользователей
  • Право на удаление пользователей
  • Право на получение данных через URL с помощью токена
  • Право на изменение данных через URL с помощью токена

Примеры производительности

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

  • Пример 1
  • Пример 2
  • Пример 3
  • Пример 4
  • Скорость чтения

На компьютере запущен Сервер архивирования и имитатор значений тегов. Второй имитатор – на удаленном компьютере. Оба имитатора 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 (0,3 ms время доступа) позволяет выбирать 1 000 000 записей в секунду

Выборка из кэша 5 000 000 записей в секунду

Многоядерность

По умолчанию Сервер архивирования запускается на 1 ядре.

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

если несколько баз и несколько клиентов

Использование многоядерного режима эффективно только при ведении нескольких баз и взаимодействии с несколькими клиентами.

если только одна база и один клиент

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

Многоядерность

Лицензирование

Сервер архивирования лицензируется по количеству тегов и по числу подключаемых клиентов. Для лицензионной защиты сервера используется программный ключ.

Имеется бесплатная версия на 16 тегов с поддержкой взаимодействия с одним клиентом.

Для полноценного тестирования имеется ДЕМО-версия Сервера Архивирования. У нее нет ограничений на число тегов и клиентов. Но она работает не более 2 месяцев с момента инсталляции.

ДЕМО-версия собрана для операционных систем Windows и Linux на платформе X86 и доступна для скачивания с сайта.

Скачать демо
АВАДС СОФТ АВАДС СОФТ

конкурентные преимущества

  • 1 Высочайшая производительность

    На обычном компьютере скорость сохранения до 2 млн. записей в секунду и скорость выборки до 3 млн. записей в секунду (параллельно с записью).

  • 2 Инновационность

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

  • 3 Широчайшая кросс-платформенность

    Работает в операционных системах Windows, Linux, Android, IOS, Darwin, Эльбрус, NetBSD, FreeBSD, OpenBSD, Plan9, AIX, Dragonfly, Illumos, Solaris на различных аппаратных платформах.

  • 4 Высочайшая надежность

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

  • 5 Мощная система бэкапов

    Можно сохранить в файл бэкапа историю изменения произвольного набора тегов за заданный интервал времени и восстановить эти данные в любую базу на том же или другом компьютере.

  • 6 Автоматическое зацикливание

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

  • 7 Встроенная математическая обработка

    Реализовано прореживание данных, получение статистики за заданный интервал и интегралов.