计算流内容的总量

时间:2015-07-27 17:51:28

标签: architecture streaming scalability cdn

像spotify,pandora,netflix等流媒体内容服务可能会根据用户使用了多少内容向权利持有者支付版税。基于协商的合同和一些滥用防止策略,该版税计算模型可能是复杂的。

我的问题是我们如何计算消耗的数据量?

方法#1: 客户端应用程序(如控制台,应用程序,网站)将事件/指标发送到服务器。这些事件可以是开始播放,结束播放,总播放等。在服务器上,我们会聚合消耗的内容量。然后我们将这些数据提供给版税计算。

缺点 - 滥用:如果滥用者开始发送非合法的消费相关事件,我们最终可能会支付更多的版税。我们可以添加一些验证或加密(在两端 - 服务器和客户端)来验证合法性;但是,我们可能无法篡改数据流。

方法2: 如果内容数据(流)由直接提供的服务(而不是通过外部CDN)提供,那么服务器端将知道提供了多少数据,而不是依赖于客户端度量,我们依赖于服务端度量(更准确)。但是,让服务器提供内容是不可扩展的。大多数可扩展服务都依赖于CDN(Akamai等内容交付网络)来提供内容。这些外部CDN不会按照特许权使用费系统的要求在粒度级别发送有关消费的指标。

无论你使用多少都是全面的,恶意用户仍有机会破解。例如在方法#2中,我们仍然可以让机器人播放内容并产生版税。

如果大家可以分享他们对这个问题的想法/见解会很棒。

感谢。

1 个答案:

答案 0 :(得分:1)

广告1。

您提到“滥用”是对客户发起的事件的回应。这种滥用类似于AdSense点击欺诈。您确实可以担心客户端发送“开始”事件而不会真正从套接字中提取内容。

如果客户不在您的控制范围内,即网络播放器,这确实是一个问题。

如果您假设一个安全的客户端,您可以保持对其行为的控制,并减轻您的担忧。通过安全客户端,我会看:

  • 自我开发的app;
  • 具有足够的加密和身份验证级别;
  • 部署在受到良好保护的移动操作系统上;
  • 通过推力分销渠道。

广告2。

无论您是在计算客户端还是服务器上的数据消耗,总是有可能正确地打开和下载流,但实际上并没有人听到过。我猜任何人都可以打开Spotify应用程序,并将音量调为零。但扩大规模确实需要开发机器人。

保护可以来自两方面:

  • 保持对生态系统(包括客户)的控制,见上文;
  • 帐户数据分析

帐户数据分析可能是针对大规模欺诈的最有力的缓解措施。在同一天创建的3000个新用户都专门听同一位艺术家是没有意义的。