Web应用程序中的随机反馈

时间:2012-09-11 05:12:39

标签: java javascript jsp web-applications

我们会针对我们的应用程序显示反馈,但我们只想显示10%的用户。 对于Ex:如果总用户数为1000,则反馈应仅显示给100个用户。

有没有想法实现它的逻辑?

提前致谢

6 个答案:

答案 0 :(得分:2)

尝试使用random方法:

if(Math.random()<0.1) {
    // show feedback
}

答案 1 :(得分:0)

在您的数据库中,您可以查询

SELECT TOP X PERCENT select list
FROM TableName

通过这种方式,您只能从数据库中获取10%的记录,并将其显示在反馈模块上。

希望这就是你要找的。

答案 2 :(得分:0)

我之前发现有用的模式是&#34;标签&#34;会话开始时的一些用户(根据您所需的分布随机)。然后详细记录标记用户对您的应用程序所做的一切。然后,他们提供的任何反馈都可以放在上下文中。至于机制,我会使用Filter进行初始会话标记,然后在屏幕顶部为标记用户显示一个不显眼的栏,提示他们(很好)提供反馈。确保栏有关闭按钮。

答案 3 :(得分:0)

此代码生成一个0到9的随机数,如果randomnumber为0(10%几率),则可以添加反馈代码。

var randomnumber=Math.floor(Math.random()*10)
if (randomnumber == 0)
{  
   // do something
}

答案 4 :(得分:0)

如果你确实真的需要10%,而不是大约10%,你可以保留一个静态计数器变量,每次新会话开始时你都会增加。当它达到10时,询问用户反馈并将计数器重置为1.

但是,您可能需要同步对变量的访问以防止在不同线程上同时操作它的请求,如果您处理大量请求,这可能是性能瓶颈。

除非你有充分的理由,否则使用其他人建议的随机数方法可能要容易得多。

答案 5 :(得分:0)

我认为你需要考虑到这一点 - 你可能希望你做的不仅仅是“随机显示10%”。

如果您正在谈论使用经过身份验证的用户的应用程序,并且如果有任何潜在的需求来分析/理解该10%的响应,那么您应该执行以下操作:

  1. 在数据库中创建一个新列或表,为每个用户分配(true)或out(false)以显示反馈
  2. 使用它作为查询的基础,以确定向谁显示消息
  3. 确保将反馈请求的结果写回数据库。