2

我有一个 Drupal 网站,用户在该网站上单击从内容交付网络 (CDN) 启动文件下载的链接。一个脚本正在跟踪单击链接开始下载过程的用户数量。我正在寻找有关如何跟踪成功完成下载过程的用户数量的建议。

4

1 回答 1

3

如果您只需要完成下载的数量,只需从您的 CDN 中获取原始日志并通过日志分析工具运行它们。大多数 CDN 提供日常访问日志作为标准服务。较大的玩家可以做每小时日志或更好。

最佳解决方案将取决于您的 CDN,因此如果您还没有,请与他们联系。但是,这就是我过去的做法。

对于生成的每个受保护的下载 URL,为发出请求的用户附加一个唯一的 ID。典型的 CDN 下载 URL 可能包含到期时间和哈希值以防止篡改。您需要先检查您的 CDN,以确保您选择的变量名称不会与其 API 冲突。在我们的例子中,我们同意 ign_* 的前缀(意思是忽略。)

前:

http://cdn.example.com/path/to/file.ext?e=EXPIRES&h=HASH

后:

http://cdn.example.com/path/to/file.ext?e=EXPIRES&ign_u=USERID&h=HASH

示例(用户 1234 的下载链接):

http://cdn.example.com/path/to/file.ext?e=1356088260&ign_u=1234&h=39341385b9d99730646d927f620111e1

现在,当您下载原始日志时,只需解析查询字符串,每个条目都可以与您的一个用户相关联。从这里你可以做所有事情,从计算完成下载的数量,到实现每个用户的下载报告。

在我们的例子中,我们每 15 分钟就有一次可用的日志,我自动获取和处理以启用字节级的每用户下载配额。

要记住的一件事是,如果您要自己处理日志,请将 HTTP 206 部分条目组合在一起。特别是如果您对“已完成下载的数量”感兴趣。

于 2009-12-19T00:49:46.573 回答