2016-11-19 34 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