一种网络访问的统计方法
技术领域
本发明涉及一种网络访问的统计方法,尤其是内容分发网络中访问的统计方法。
背景技术
随着Internet和多媒体通信的高速发展,网络用户对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,但是用户数量也在不断增加,在每一个Web网站存储有不同信息内容的情况下,由于IP网络本身访问的无地域性和距离性,分布在世界不同地点的用户均可以到相同的服务器中访问内容,这样一方面会造成服务器本身的处理速度的瓶颈,另一方面会造成骨干网络业务量的拥塞。
为解决上述处理速度和拥塞问题而产生了内容分发网络(Content DistributionNetwork,CDN),有时也被称作内容分布网络、内容传递网络(Content DeliveryNetwork)。内容分发网络是构筑在现有因特网(Internet)上的一种先进的流量分配网络。它将缓存服务器(Cache)分布到用户访问相对集中的地区或网络中,然后将网站原服务器中的内容存储到分布在各地的Cache服务器(或称边缘服务器节点)中,通过网络的动态流量分配控制器,并利用全球负载均衡技术(Global Server Load Balance;GSLB)将用户的访问指向离用户最近的工作正常的Cache服务器上,由它直接响应用户的请求,以便提高访问的响应速度和服务的可用性,从而改善Internet的服务质量。
在目前的内容分发网络中,一般是根据最新的周期性统计结果将网络内容动态地分布到不同的边缘节点服务器中。边缘节点服务器上存储的通常是最热门、最受欢迎的内容,而中央节点服务器上存储的则是最完整的内容,只有在边缘节点服务器上不具有用户所需的内容,或者边缘节点服务器忙时,才寻找其他节点。
在进行周期性统计的过程中,目前使用最多的是点击率(Hit Rate)的方法进行统计,也就是说,对节目进行播放请求的数目进行统计。但在一些情况下,终端用户会首先观看节目内容的一部分,如果终端用户在观看了这一部分节目内容后感觉对该节目不十分感兴趣,该用户可能会采取快进(Fast Forward)的方式观看此节目内容,或者直接停止观看。这种情况下终端用户实际观看的只是完整的节目内容中的一部分,甚至很少的一部分。相反,在另外一些情况下,如果终端用户发现了一个非常感兴趣的节目,该用户可能会从头至尾观看上述节目内容,甚至对非常感兴趣的情节倒回(rewind)重新观看。从这个意义上说,目前普遍使用的基于点击率的统计方法并不能真实地反映节目受欢迎的程度。
例如,在一个边缘节点服务器上存储有两个节目,分别为节目1和节目2,节目1和节目2的播放时间均为120分钟。在一个统计周期内,有100个用户对节目1发出播放请求,但其中每个用户都只观看了5分钟的节目内容便决定不再继续观看。在同样的统计周期内,有80个用户对节目2发出播放请求,其中每个用户都从始至终观看了整个节目内容,即观看了120分钟的节目内容。很明显,节目2比节目1更受欢迎。但是,如果按照现有的点击率的方法进行统计,对于节目1的点击率是100,对于节目2的点击率是80,则会得出在上述统计周期内节目1比节目2更受欢迎的错误结论。
发明内容
因此,本发明的主要目的在于针对现有网络访问统计中存在的上述问题,提供一种网络访问的统计方法,采用该统计方法能够更为真实地反映节目内容受欢迎的程度,内容分发网络可以根据上述更接近实际的统计结果对网络中的节目内容进行合理分配,从而进一步提高内容分发网络的效率。
为实现上述目的,本发明提出一种网络访问的统计方法,用于在内容分发网络中对终端用户观看的节目内容进行统计,上述内容分发网络包括至少一个中心节点服务器和至少一个边缘节点服务器,上述边缘节点服务器上存储至少一个节目内容,该方法包含以下步骤:
(1)获取每一个会话中对上述节目内容的实际观看时间;
(2)计算每一个会话中上述节目内容的内容得分;
(3)计算针对上述节目内容的所有对话中上述节目内容的内容得分之和。
根据本发明的一个方面,上述步骤(1)中,上述每一个会话中对上述节目内容的实际观看时 间为上述会话过程中以正常播放速度进行播放的时间之和。
根据本发明的一个方面,上述步骤(2)中,上述每一个会话中上述节目内容的内容得分为上述每一个会话中对上述节目内容的实际观看时间与上述节目内容时间的比值。
根据本发明的一个方面,上述步骤(3)中,计算在一个统计周期内针对上述节目内容的所有对话中上述节目内容的内容得分之和。
根据本发明的一个方面,根据上述节目内容的内容得分之和,对上述边缘节点服务器上存储的节目内容进行排序。进一步地,根据设定的比例,在上述边缘节点服务器上继续存储得分高的节目内容,并且从上述边缘节点服务器上删除得分低的节目内容。而且,还可以根据设定的比例,将得分高并且存储在上述中心节点服务器或者其他边缘节点服务器上的节目存储到上述边缘节点服务器上。
相应地,本发明还提出了一种网络访问的统计系统,用于在内容分发网络中对终端用户观看的节目内容进行统计,上述内容分发网络包括至少一个中心节点服务器和至少一个边缘节点服务器,上述中心节点服务器和/或上述边缘节点服务器上存储至少一个节目内容,其中,上述中心节点服务器或上述边缘节点服务器上设有一个计数单元,上述计数单元对每个会话中对上述节目内容的实际观看时间进行累计。
根据本发明的一个方面,在每个统计周期,上述计数单元对每个会话中对上述节目内容的实际观看时间进行累计。
根据本发明的一个方面,在每个统计周期,上述计数单元根据上述中心节点服务器或上述边缘节点服务器上的日志文件对每个会话中对上述节目内容的实际观看时间进行累计。
本发明所提供的网络访问的统计方法,能够更为真实地反映节目内容受欢迎的程度,内容分发网络可以根据上述更接近实际的统计结果对网络中的节目内容进行合理分配,从而进一步提高内容分发网络的效率。相应的网络访问的统计系统提供了实现上述方法的平台。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的描述,其中:
图1是现有技术中的内容分发网络示意图。
图2是本发明的网络访问的统计方法中获取节目内容实际观看时间的示意图。
具体实施方式
图1是现有技术中的内容分发网络示意图。在图1所示的内容分发网络中包括一个中心节点服务器(中国节点服务器)以及若干边缘节点服务器,例如海淀、朝阳、西城、虹口、闸北、徐汇等节点服务器。通常来说,中心节点服务器上存储有最完整的节目内容,而每个边缘节点服务器上存储有一部分节目内容。
下面以海淀节点服务器为例,具体说明本发明的网络访问的统计方法。假设该节点服务器上存储有100部最热门的电视剧集,分别为电视剧1到电视剧100。如果一个终端用户对其中的电视剧5感兴趣,可以向海淀节点服务器发出播放请求。从海淀节点服务器响应终端用户的一个请求开始,到终端用户观看完节目内容并退出该节目内容为止,称为一个会话(session)。也就是说,海淀节点服务器响应了终端用户发送的播放电视剧5的请求,就开始了一个会话。
根据本发明的统计方法,第一步,要获取在这个会话开始后终端用户实际观看上述节目内容的时间。图2是本发明的网络访问统计方法中获取节目内容实际观看时间的示意图。图中tplay 表示终端用户的开始观看时间,在观看了一段时间后,终端用户对这一段情节并不十分感兴趣,于是在时刻t1t开始进行第一次快进操作,快进操作持续了一段时间后,如果终端用户发现了他感兴趣的情节,则在时刻t1p第一次返回到正常播放,进行正常观看。在以后的观看过程中,上述快进、倒退以及暂停过程可能会发生若干次,假设最后一次快进是第N次,发生时刻为tnt,第N次快进操作持续了一段时间后,在时刻tnp时刻第N次返回到正常播放,进行正常观看,一直持续到时刻tstop节目结束,终端用户退出该节目内容,即上述会话结束。
在上述会话过程中,终端用户对电视剧5的实际观看时间根据公式1来计算:
实际观看时间=(t1t-tplay)+(t2t-t1p)+...+(tnt-t(n-1)p)+(tstop-tnp)(公式1)
其中,t1t,t2t,...,tnt是用户进行快进、倒退、或暂停操作的时间点。t1play,t2p,tnp是用户从快进、倒退、或暂停操作中重新回到正常播放的时间点。
公式1包含了用户在观看过程中所有可能的操作情况。通过该公式可以计算出用户实际的真正观看时间。
第二步,计算上述会话中终端用户对电视剧5的实际观看时间与电视剧5的节目内容时间的比值,得出本次会话中电视剧5的内容得分(score)。每个电视剧正常播放时都有各自的持续时间(即节目长度)。假设上述电视剧5正常播放的持续时间为Tduration,则上述比值根据公式2来计算:
本次会话中电视剧5的内容得分=实际观看时间/Tduration(公式2)
第三步,计算在设定的统计周期内电视剧5的内容总得分。在设定的周期(例如一周、一个月)之内,会有不同的终端用户对电视剧5感兴趣,这些终端用户分别向存储电视剧5的海淀节点服务器发出播放请求,海淀节点服务器分别响应这些终端用户的请求。也就是说,在上述设定的周期内有多个有关电视剧5的会话。因此在上述周期内电视剧5的内容总得分根据公式3来计算:
电视剧5的内容总得分=∑(设定周期内关于电视剧5的每个会话的内容得分)(公式3)根据上述节目内容的内容得分之和,对上述边缘节点服务器上存储的节目内容进行排序。然后根据预先设定的比例决定是否保留节目内容,例如将该比例设为20%。如果在上述海淀节点服务器上有得分位于前20%的节目内容,则海淀节点服务器继续存储上述内容。或者从上述边缘节点服务器上删除得分位于后20%的节目内容。或者,既在海淀节点服务器上继续存储得分位于前20%的节目内容,并删除得分位于后20%的节目内容。
另外,如果海淀区的用户对海淀节点服务器进行请求时,没有在海淀节点服务器上找到相应 的节目内容,则会继续向该节点服务器的同层的兄弟节点服务器(例如朝阳节点服务器)发送请求。当在同层的兄弟节点服务器上没有找到相应的节目内容,就会向上层的北京节点服务器发送请求。如果在朝阳节点服务器或者北京节点服务器上有根据海淀用户的请求得分位于前20%的节目内容,则将该节目内容存储到海淀节点服务器上。
相应地,本发明提出了一种网络访问的统计系统,用于在内容分发网络中对终端用户观看的节目内容进行统计,上述内容分发网络包括一个中心节点服务器和若干边缘节点服务器,上述中心节点服务器和/或上述边缘节点服务器上存储至少一个节目内容,上述中心节点服务器或上述边缘节点服务器上设有一个计数单元,上述计数单元对每个会话中对上述节目内容的实际观看时间进行累计。
通常是在每个统计周期(如一周),计数单元对每个会话中对上述节目内容的实际观看时间进行累计。这种累计通常是根据在上述中心节点服务器或上述边缘节点服务器上的日志文件进行的。
由上述实施例可以看出,本发明所提供的网络访问的统计方法及其系统,能够更为真实地反映节目内容受欢迎的程度,内容分发网络可以根据上述更接近实际的统计结果对网络中的节目内容进行合理分配,从而进一步提高内容分发网络的效率。