2016-12-18 117 views
0

我试图设计一个应用程序,用户合作,建立一个资料库,类似Quora的:如何设计类似于Quora主题的合并操作?

  • 问题,将有主题(按主题ID引用)。
  • 每个主题可以有父主题和子主题(由主题ID引用)。

我想了解如何设计合并操作。

  • 用户应该能够将其中一个合并到另一个(将维护一个合并日志)。
  • 如果发现错误,他们也应该能够取消合并。
  • 当想要找到与某个主题相关的答案时,我应该能够从当前主题和合并到此主题的那些答案中获得答案。
  • 当我访问该问题时,只有合并的主题应该可见。

的问题是

当合并发生应该进行哪些操作,应该被合并到的话题,被添加到下所有疑问或把一切都因为它而只是添加的参考合并主题

显示与某个主题相关的答案时,请搜索主题的参考ID并通过合并的参考ID进行循环。

回答

0

要做到这一点的方法是如何开发文档管理系统。 所以这个想法是在每次合并完成后编译一个文档并使其可用。

这种方式只有主题的一个副本存在,并在任何一个系统正在进行搜索,存储或负责分发时进行索引。

的话题的参考资料应保持独立,并在每一个合并,该文件应该重新

由于最终一致性是在这些情况下(因此文档能够始终保持和引用/从缓存中取消引用重要)

希望这会有所帮助。看一下twitter架构以获取近实时数据 http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active-users.html