У меня есть приложение для сбора данных, разбитое на клиент и сервер.Ищете сетевую таблицу хэшей
сервер является неприемлемым для захвата данных с аппаратного обеспечения, проведения анализа в реальном времени и записи данных на диск при его запросе.
Клиент - это графический интерфейс, который оператор может использовать для просмотра довольно красивых графиков (генерируемых сервером), установки некоторых параметров и включения и выключения записи. Обычно он запускается на том же компьютере, что и сервер, но может запускаться с любой другой машины в сети.
Оба написаны в Qt (C++). Оба они используются в Linux.
Связь между двумя в настоящее время выполняется с помощью доморощенной библиотеки (в C++, но не Qt), которая по существу является хэш-таблицей. Сервер имеет список параметров, таких как analysis.graph.width
, и эти параметры могут быть установлены и получают как сервером, так и клиентом (ами).
Система обновляется для поддержки нового оборудования, и сейчас самое время заменить эту библиотеку, если что-то лучше. Вот некоторые требования:
- В идеале было бы хорошо играть с Qt (используя QVariant для хранения значений, с использованием сигналов/слотов)
- должны позволить ценности быть много различных типов (целые числа, строки, удваивается, Bools, списки из них)
- ключей будет строки
- должны быть быстрыми, что позволяет установить/получить операции до 30 раз в секунду
- должен позволить нескольким клиентам установить/получить параметры одновременно
Я нашел этот список: http://en.wikipedia.org/wiki/Structured_storage, но библиотеки, перечисленные там, кажутся слишком сложными (распределенными, зеркальными) или недостаточно кэбируемыми (значения могут быть только строками).
Кто-нибудь знает библиотеки, которые соответствуют некоторым или всем требованиям?