1

我有一个 facebook 'like' 应用程序 - 一个虚拟白板,供多个“团队”使用,他们共享该项目共有的“墙”。我为其捕获数据的实体大约有 9-12 个。我试图让用户的主页显示自上次登录以来发生的活动的更新 - 比如 facebook 如何发布通知:

“[USER] 在 [some entity] 上进行了 [some activity] - 20 分钟前”

其中 [...] 是可点击的链接,活动主要(而只是)CRUD。

我将不得不坚持这些更新。我使用 MySQL 作为后端数据库,并考虑为每个项目创建一个可以存储活动的更新表。但似乎每个表都需要一个触发器,这只是多余的。更重要的是,由于存在许多不同的实体,因此很难确定该更新表的表格模式。

限制是使用 MySQL,但我对“如何”实现此功能的其他选项持开放态度。

有任何想法吗?

PS:使用jQuery + REST + Restlet + Glassfish + MySQL + Java

4

1 回答 1

0

它不必在数据库级别处理。您可以拥有在每个操作中调用的事务日志服务。每个事务都有一个(唯一的、顺序的)密钥。

存储人看到的最后一个项目的密钥,并显示密钥更高的任何更新,更新最后看到的密钥。

定期例程可以遍历用户帐户并查看所有用户中看到的最低事务日志密钥是什么(即所有用户已经看到的最新日志条目是什么)并删除/归档任何具有密钥<=那个的条目.

于 2011-02-09T05:46:40.627 回答