2016-11-19 2 views
0

Я создаю настольное приложение как часть моего проекта в прошлом году в университете, используя Qt.Создание и сохранение опроса в Qt

Это таинственная торговая платформа, на которой вы входите в систему, выбираете задание (например, отправляйтесь на еду в ресторан) и завершаете опрос, основанный на опыте.

Вопросы будет целый ряд вещей, таких как: «Дата и время посещения» «? Была музыка играет в соответствующем объеме (легко вести разговор, но все еще может услышать то, что играет)» «Как бы вы оцениваете качество еды/5?» и т.д.

Как/Где бы хранить эти обследования? База данных? Но это может иметь ~ 60 + вопросы (и, следовательно, столбцы.) я также необходимо включая ответы на вопросы в нем. Кроме того, одним из уникальных аспектов этого является то, что опросы специально разработаны для клиента, где опросы будут очень разными. база данных ограничит это.

Я не уверен, что лучший способ прогресса в этом, не могли бы вы дать мне какие-нибудь мысли?

ответ

1

Существует множество способов решения этой проблемы.

Один из них - иметь хранилище с ключом для атомных значений (quesitons, ответы), или вы можете использовать некоторую базу данных NoSQL с обменом JSON.

Если вы не хотите использовать базу данных, я бы предложил вам одно из решений, которое мы используем для нашего текущего проекта. Мы используем RabbitMQ в качестве брокера сообщений, который толкает сообщения Google Protobuf в различные темы Kafka.

Таким образом, мы контролируем поток сообщений Request/Reply. Protobufs также независимы от платформы, поэтому он позволит кому-то, кто будет использовать ваше приложение, отправлять и получать данные protobuf, и отображать его везде (веб-сайт, телефон, другое приложение). Кафка даст вам настойчивость, в которой вы нуждаетесь, и у нее есть хорошая способность воспроизводить все. Итак, теоретически вы сможете увидеть все опросы с начала и до наших дней.

Я не знаю, отвечает ли это на ваш вопрос или нет, но я надеюсь, что это даст вам некоторое представление.

Ах да, и ссылки на вещи, о которых я упоминал. librdkafka Simple AMQP for RabbitMQ Protobuf for C++ Для ключевого значения мы используем LevelDB , но вы можете использовать Redis или MemSQL.

+0

Спасибо, это полезно и дал мне несколько областей для расследования. – Phauk

Смежные вопросы