2016-11-19 35 views
0

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

这是一个神秘的购物平台,您登录后,选择要做的工作(如在餐厅用餐),并根据经验完成调查。

问题将是一系列的东西,如: “日期和访问时间” “?是音乐播放在适当的体积(容易有一个谈话,但仍然能听到播放内容)” “将如何你如何评估食品/ 5的质量?” 等

如何/我会在哪里存储这些调查?数据库?但它可以有〜60个+问题(因此列。) 我还需要包括其中的问题的答案 此外,其中一个独特的方面是,调查是为客户量身定做的,调查将会非常不同。数据库会限制它。

我不确定用这个进步的最好方法,你能给我一些想法吗?

回答

1

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

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

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

这样我们就可以控制消息的请求/回复流。 Protobufs也是独立于平台的,所以它可以让那些会使用你的应用程序发送并获取protobuf数据的人,并在任何地方(web,电话,另一个应用程序)显示它。卡夫卡会给你一个你需要的坚持,并且它有很好的重播每一个的能力。 因此理论上你可以看到从一开始到现在的所有调查。

我不知道这是否回答你的问题,但我希望它能给你一些见解。

啊是的,和我提到的东西的链接。 librdkafka Simple AMQP for RabbitMQ Protobuf for C++ 对于键值我们使用LevelDB 但你可以使用Redis的或MemSQL。

+0

谢谢,这是有帮助的,并给了我一些地区进行调查。 – Phauk