在 Qt 中创建和存储调查

Creating and storing a survey in Qt

我正在使用 Qt 创建一个桌面应用程序作为我大学最后一年项目的一部分。

这是一个神秘购物平台,您可以在其中登录,select 完成一项工作(例如去餐厅用餐),并根据体验完成一项调查。

问题范围很广,例如: "Date and time of visit" “音乐播放的音量是否合适?(很容易进行对话,但仍能听到正在播放的内容)” "How would you rate the quality of the food /5?" 等等

How/Where 我会存储这些调查吗?数据库?但它可能有 ~60 多个问题(因此还有专栏。) 我还需要在其中包含问题的答案。 此外,其中一个独特的方面是调查是为客户量身定制的,调查会非常不同。所以有一个数据库会限制它。

我不确定最好的进展方式,你能给我一些想法吗?

有很多方法可以解决这个问题。

其中之一是为原子值(问题、答案)提供某种键值存储,或者您可以使用一些带有 JSON 交换的 NoSQL 数据库。

如果您不想使用数据库,我建议您使用我们当前项目使用的解决方案之一。 我们使用 RabbitMQ 作为消息代理,将 Google Protobuf 消息推送到各种 Kafka 主题中。

这样我们就可以控制 Request/Reply 消息流。 Protobufs 也是平台独立的,因此它允许使用您的应用程序的人发送和获取 protobuf 数据,并在任何地方显示它(web、phone、另一个应用程序)。 Kafka 会给你一个你需要的持久性,它有一个很好的重放一切的能力。 所以理论上你可以看到从一开始到现在的所有调查。

我不知道这是否回答了您的问题,但我希望它能给您一些启发。

啊,是的,还有指向我提到的内容的链接。 librdkafka Simple AMQP for RabbitMQ Protobuf for C++ 对于键值,我们使用 LevelDB 但你可以使用 Redis 或 MemSQL。