Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 监视应用程序的用户活动_Java_Mysql - Fatal编程技术网

Java 监视应用程序的用户活动

Java 监视应用程序的用户活动,java,mysql,Java,Mysql,我有一个java应用程序。我的应用程序有“n”个用户,具有3种类型的角色(r1、r2和r3)。我需要用户的每日使用报告。换句话说,我需要找到每天使用我的应用程序的用户数(按角色) 我需要每天的用户数, role1-456的用户, 角色2-3463等的用户 我怎样才能做到这一点。我计划将用户登录日期存储在一个单独的表中。这样我就可以很容易地按日期统计用户。但数据库中这些数据所需的存储空间可能太大 有人能告诉我上述过程是否是一种有效的方法,或者是否有任何预定义的(开源或付费)工具来跟踪用户数量(按角

我有一个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。好的,让我检查一下。谢谢。实际上你需要发送用户角色而不是名称。