从JQuery插件收集使用情况分析数据

时间:2012-12-20 01:33:19

标签: php javascript jquery pubnub

我正在完成一个JQuery插件,我需要在插件处于活动状态时收集某些活动的使用数据。这些数据需要远程存储在我的服务器上。

但是,我正试图找到最好的方法来做到这一点。我想,与网络分析数据的收集方式类似。我现在看到两个选项,我已经概述了以下基本步骤。

一个。 AJAX - 采用这种方法:

  1. 我使用JQuery在我的JQuery插件中设置Ajax请求以将数据发送到服务器
  2. 我设置此服务器以捕获POSTED数据,然后使用PHP插入数据库表
  3. B中。插座 - 采用这种方法:

    1. 我注册了像PubNub这样的服务
    2. 我在我的JQuery插件中使用PubNub Javascript SDK将消息“发布”到给定的“频道”
    3. 我设置了一个专用服务器或云端服务器,并使用SSH登录,安装了一个Web服务器+数据库+ PHP,并确保它正常工作
    4. 我创建我的PHP脚本(使用PubNub PHP SDK)“订阅”我的插件将发布消息的pubnub“频道”,然后设置机制以从消息中捕获数据并插入到数据库表中
    5. 我设置了supervisord来守护我的php脚本,然后启动守护进程,因为我需要一个长期存在的PHP进程来通过服务器运行PubNub订阅功能。
    6. 我更喜欢A,因为它对我来说是最简单的选择,我可以使用任何托管的MySQL / PHP服务器以最小的麻烦完成它。但是,我担心当插件在数千个不同的网站或几个非常繁忙的网站中使用时,这种方法的效果如何,我的远程服务器上每秒可能会提交10到100个数据库提交。

      使用B方法代替套接字会更有意义,因为PubNub订阅我可能需要更高的成本。另外,由于我不需要异步连接,因为我只需要为每个用户提供一个请求,我认为套接字可能比直接到我的服务器的可信任的'HTTP请求(与发送的消息相对)相比有点过分通过PubNub,然后到我)。

      什么是最好的方式来拉这样的东西?!

      提前致谢。

2 个答案:

答案 0 :(得分:1)

选项A肯定。另外,如果您真的担心PHP脚本的大量点击,请查看AppFog之类的内容,它们提供了相当多的免费服务,如果它成为一个问题,可能会减轻服务器的负担。

答案 1 :(得分:1)

你是对的,套接字是矫枉过正的。甚至Google Analytics也会使用HTTP请求来发送数据。这些请求不需要及时(例如毫秒无关紧要),因此没有理由打开套接字。