繁体   English   中英

监视应用程序的用户活动

[英]Monitor user activities of an application

我有一个Java应用程序。 我的应用程序具有3种角色(r1,r2和r3)的用户数为n。 我需要用户的每日使用情况报告。 换句话说,我需要找到每天使用我的应用程序的用户数(按角色)。

我每天需要的用户数为:角色1-456的用户,角色2-3463的用户等。

我怎样才能做到这一点。 我打算将用户登录日期存储在单独的表中。 这样我就可以按日期轻松地计算用户数。 但是数据库中这些数据所需的存储空间可能太高。

谁能建议我上述过程是否有效,或者是否有任何预定义的(开源或付费)工具来跟踪用户数量(按角色)和活动。 还是有其他有效的方法?

你的主意很好。 如果您只需要用户登录,那很好。 我认为在用户登录时保留日志是很好的。 我了解您不需要跟踪活动。 您可以使用用户登录名,登录日期等将数据保存在表中。如果数据太大,请使用非关系型数据库(例如MongoDB)或上个月/年的汇总数据等。我的意思是创建汇总行,例如(day:2012-08-02, role:Role1, count:123),(day:2012-08-02, role:role2, count:453)等。只需保留每天的角色计数并删除“原始”数据即可。

我将出于以下目的使用一些简单的数据库:我猜想SQLite会适合。

如果您确定只需要基于3个(或更多)角色的人数,那么我建议以下方法将节省大量空间。 (假设它是Oracle数据库)

  • 在表格中添加新的“计数器”列。
  • 创建一个序列。
  • 编写一个触发器,该触发器将在表的“更新”上执行。 在此触发。
  • 在此触发器中,从序列中获取NEXTVAL并更新到“计数器”列。
  • 每天删除此序列,然后再次创建以反击计数器

在这种方法中,您将只有等于角色数量的行。 在删除序列之前,请获取每个角色的“计数器”值,然后将其删除以进行重置。 您可以进一步自动化整个过程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM