Java 监视应用程序的用户活动
我有一个java应用程序。我的应用程序有“n”个用户,具有3种类型的角色(r1、r2和r3)。我需要用户的每日使用报告。换句话说,我需要找到每天使用我的应用程序的用户数(按角色) 我需要每天的用户数, role1-456的用户, 角色2-3463等的用户 我怎样才能做到这一点。我计划将用户登录日期存储在一个单独的表中。这样我就可以很容易地按日期统计用户。但数据库中这些数据所需的存储空间可能太大Java 监视应用程序的用户活动,java,mysql,Java,Mysql,我有一个java应用程序。我的应用程序有“n”个用户,具有3种类型的角色(r1、r2和r3)。我需要用户的每日使用报告。换句话说,我需要找到每天使用我的应用程序的用户数(按角色) 我需要每天的用户数, role1-456的用户, 角色2-3463等的用户 我怎样才能做到这一点。我计划将用户登录日期存储在一个单独的表中。这样我就可以很容易地按日期统计用户。但数据库中这些数据所需的存储空间可能太大 有人能告诉我上述过程是否是一种有效的方法,或者是否有任何预定义的(开源或付费)工具来跟踪用户数量(按角
有人能告诉我上述过程是否是一种有效的方法,或者是否有任何预定义的(开源或付费)工具来跟踪用户数量(按角色)和活动。或者还有其他有效的方法吗?你的想法很好。如果您只需要用户登录计数,这很好。我认为当用户登录时保存日志是很好的。我知道你不需要跟踪活动。您可以使用用户登录、登录日期等将数据保存在表中。如果数据太大,请使用非相关数据库(如MongoDB)或上个月/年的聚合数据等。我的意思是创建聚合行,如
(日期:2012-08-02,角色:Role1,计数:123),(日期:2012-08-02,角色:role2,计数:453)
等。只需保留每天角色的计数,并删除“原始”数据。我会使用一些简单的数据库来实现这些目的:我想SQLite会合适。如果您确定只需要根据3个(或更多)角色进行计数,那么我建议以下方法将节省大量空间。(假设是Oracle数据库)
- 在表中添加新的“计数器”列
- 创建一个序列
- 编写一个触发器,它将在“更新”表时执行。在这个触发器中
- 在此触发器中,从序列获取NEXTVAL并更新到“计数器”列
- 每日删除此序列并再次创建以重新发送计数器
在这种方法中,您将只有等于角色数的行。在删除序列之前,检索每个角色的“计数器”值,然后将其删除以重置。您可以进一步自动化整个过程。您好,谢谢。然后我会继续进行这项工作。但我想知道的是,您是否了解一些外部工具来监控应用程序的用户活动?也许您可以使用googleanalytics来实现这一点。只需将用户名为的登录事件传递给googleanalytics。好的,让我检查一下。谢谢。实际上你需要发送用户角色而不是名称。