视频流的访问热度的获取方法、装置、电子设备及介质与流程

文档序号:32162412发布日期:2022-11-12 03:05阅读:38来源:国知局
视频流的访问热度的获取方法、装置、电子设备及介质与流程

1.本公开涉及人工智能领域,具体涉及图像处理、内容分发网络技术,可应用在智能云、媒体云场景下,具体涉及一种视频流的访问热度的获取方法、装置、电子设备及介质。


背景技术:

2.在互联网直播中,客户端获得内容分发网络(content delivery network,cdn)节点地址后向cdn节点进行拉流,获得视频流后在客户端进行播放。不同地域,不同运营商的观众在获取所播放直播间的视频流时所请求的cdn节点不尽相同,为了便于根据cdn节点上的各视频流的访问热度对cdn节点进行调整,获取各视频流在cdn节点上的访问热度至关重要。


技术实现要素:

3.本公开提供了一种用于视频流的访问热度的获取方法、装置、电子设备及介质。
4.根据本公开的一方面,提供了一种视频流的访问热度的获取方法,通过获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数;基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数;根据次数队列,获取目标视频流的访问热度。
5.本公开能根据每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数,实时获取整个cdn节点的访问热度,粒度能够做到以秒为级别,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整。
6.根据本公开的另一方面,提供了一种视频流的访问热度的获取装置,包括第一获取模块,用于获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数;更新模块,用于基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数;第二获取模块,用于根据次数队列,获取目标视频流的访问热度。
7.本公开能根据每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数,实时获取整个cdn节点的访问热度,粒度能够做到以秒为级别,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整。
8.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述视频流的访问热度的获取方法。
9.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述视频流的访问热度的获取方法。
10.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述视频流的访问热度的获取方法。
11.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
12.附图用于更好地理解本方案,不构成对本公开的限定。其中:
13.图1是根据本公开一示例性实施例的一种视频流的访问热度的获取方法的示例性实施方式。
14.图2是根据本公开一示例性实施例的一种视频流的访问热度的获取方法的示例性实施方式。
15.图3是根据本公开一示例性实施例的根据次数队列获取第二时间段的目标第二次数的示意图。
16.图4是根据本公开一示例性实施例的基于滑动窗获取第三时间段内的修正目标第二次数的示意图。
17.图5是根据本公开一示例性实施例的一种视频流的访问热度的获取方法的示例性实施方式。
18.图6是根据本公开一示例性实施例的一种视频流的访问热度的获取方法的总体流程图。
19.图7是根据本公开一示例性实施例的一种视频流的访问热度的获取装置的示意图。
20.图8是根据本公开一示例性实施例的一种电子设备的示意图。
具体实施方式
21.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
22.人工智能(artificial intelligence,简称ai),是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术,也有软件层面的技术。人工智能硬件技术一般包括计算机视觉技术、语音识别技术、自然语言处理技术以及及其学习/深度学习、大数据处理技术、知识图谱技术等几大方面。
23.图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术,又称影像处理。图像处理一般指数字图像处理。数字图像是指用工业相机、摄像机、扫描仪等设备经过拍摄得到的一个大的二维数组,该数组的元素称为像素,其值称为灰度值。图像处理技术一般包括图像压缩,增强和复原,匹配、描述和识别3个部分。
24.内容分发网络技术(content delivery network,cdn)即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层
智能虚拟网络,cdn系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,可提供就近访问的功能,使用户可就近取得所需内容,解决internet网络拥挤的状况,提高用户访问网站的响应速度。
25.智能云是无处不在的计算,由公共云和人工智能(ai)技术支持,适用于各种智能应用和系统。将智能云视为完整的计算结构,从企业数据中心到云设施,再到一切即服务,允许这些资产在需要和适当的情况下智能地互操作并独立工作。
[0026]“媒体云”一般指基于云计算技术可用于提供媒体服务和应用的新兴媒体服务。用户可以在“媒体云”中分布式地存储和处理多媒体应用数据,不需要在计算机或终端设备上安装媒体应用软件,进而减轻了用户对多媒体软件维护和升级的负担。
[0027]
图1是本公开提出的一种视频流的访问热度的获取方法的示例性实施方式,如图1所示,该一种视频流的访问热度的获取方法,包括以下步骤:
[0028]
s101,获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数。
[0029]
内容分发网络cdn节点具有多个服务线程,每个服务线程都可接收客户端发送的视频播放请求,本公开中,为了获取目标视频流的访问热度,需要获取该cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求次数,并将每个服务线程在第一时间段内接收到目标视频流的视频播放请求次数作为该服务线程在该第一时间段内对应的第一次数。
[0030]
其中,第一时间段可以为固定时间间隔的时间段,示例性的,若固定时间间隔为1秒,则第一时间段可为x时y分z秒000毫秒~x时y分z秒999毫秒这个时间段,即第一时间段为x时y分z秒的一整秒内。需要注意的是,为了描述方便,下述中x时y分z秒均指的是x时y分z秒000毫秒~x时y分z秒999毫秒这个时间段。其中,第一时间段并不是一个固定的时刻,而是每个服务线程对接收到目标视频流的视频播放请求的次数进行统计的一个时间段,若每秒钟服务线程都对接收到目标视频流的视频播放请求的次数进行统计,则x时y分z秒是一个第一时间段,x时y分z+1秒也是一个第一时间段。
[0031]
比如说,若某cdn节点具有100个服务线程,在8:00:01内,服务线程1接收到目标视频流的视频播放请求为10次,则该服务线程1在8:00:01内的第一次数为10,若服务线程2接收到目标视频流的视频播放请求为7次,则该服务线程2在8:00:01内的第一次数为7,以此类推。
[0032]
s102,基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数。
[0033]
由于cdn节点具有多个服务线程,为了便于对整个cdn节点在同一个第一时间段内接收到目标视频流的视频播放请求次数进行统计,根据该目标视频流,从多个服务线程中,选取出一个服务线程作为该目标视频流对应的目标服务线程。
[0034]
每个服务线程在统计好该服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数后,会将该第一时间段内对应的第一次数发送给该目标视频流对应的目标服务线程,该目标服务线程将接收到的属于同一第一时间段内的第一次数进行求和,得到在该第一时间段内,整个cdn节点接收到目标视频流的视频播放请求的次数,并将该次数
作为在该第一时间段内cdn节点接收到视频播放请求的第二次数。
[0035]
示例性的,若某cdn节点具有100个服务线程,在8:00:01内,针对目标视频流,服务线程1的第一次数为10,服务线程2的第一次数为7
……
服务线程100的第一次数为3,则将服务线程1~服务线程100所对应的所有的第一次数求和,得到在8:00:01内,整个cdn节点接收到目标视频流的视频播放请求的次数,也即得到在8:00:01内,整个cdn节点接收到目标视频流的视频播放请求的第二次数。
[0036]
该目标服务线程会针对该目标视频流根据时间顺序基于第二次数生成一个次数队列,该次数队列中每个第二次数都对应一个第一时间段。不难理解的,每当服务线程将目标视频流在第一时间段内对应的第一次数发送给目标服务线程后,目标服务线程会根据新的第二次数对次数队列进行更新。可选的,根据新的第二次数对次数队列进行更新时,可将新的第二次数增加在次数队列中。
[0037]
s103,根据次数队列,获取目标视频流的访问热度。
[0038]
对次数队列内的第二次数进行分析,获取目标视频流在某个时间段的访问热度。
[0039]
可选的,若需要根据该cdn节点某秒接收到目标视频流的视频播放请求的次数,以获取该目标视频流在该秒的访问热度,则根据次数队列,获取在该秒时,该cdn节点对应的第二次数,并将该第二次数与预设阈值进行对比,以判断该目标视频流在该秒的访问热度。示例性的,若需要获取该目标视频流在8:00:01秒内的访问热度,若根据次数队列获取到8:00:01秒对应的第二次数为875,预设阈值为1000,由于875小于1000,可判断在8:00:01秒内,该目标视频流的访问热度为冷流。
[0040]
可选的,若需要根据该cdn节点某个时间段内接收到目标视频流的视频播放请求的次数,以获取该目标视频流在该时间段内的访问热度,则根据次数队列,获取在该时间段内,该cdn节点对应的第二次数,并将该第二次数与预设阈值进行对比,以判断该目标视频流在该时间段内的访问热度。示例性的,若需要获取该目标视频流在8:00:01~8:00:30共30秒内的访问热度,则根据次数队列获取在8:00:01~8:00:30共30秒内的30个第二次数,若8:00:01~8:00:30内30个第二次数之和为1345,预设阈值为1000,由于1345大于1000,可判断在8:00:01~8:00:30时间段内,该目标视频流的访问热度为热流。
[0041]
本公开实施例提出了一种视频流的访问热度的获取方法,通过获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数;基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数;根据次数队列,获取目标视频流的访问热度。本公开能根据每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数,实时获取整个cdn节点的访问热度,粒度能够做到以秒为级别,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整。
[0042]
图2是本公开提出的一种视频流的访问热度的获取方法的示例性实施方式,如图2所示,该一种视频流的访问热度的获取方法,包括以下步骤:
[0043]
s201,获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数。
[0044]
s202,基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数。
[0045]
关于步骤s201~s202的实现方式,可参照上述实施例中相关部分的介绍,在此不再进行赘述。
[0046]
s203,根据次数队列,获取在第二时间段内次数队列中至少一个目标第二次数,其中,第二时间段由至少一个第一时间段组成。
[0047]
根据上述更新后的次数队列,获取在第二时间段内次数队列中至少一个目标第二次数,其中,第二时间段由至少一个第一时间段组成。示例性的,当第二时间段由1个第一时间段组成时,若x时y分z秒是一个第一时间段,则第二时间段也可以是x时y分z秒;若第二时间段由30个第一时间段组成,若x时y分z秒是一个第一时间段,x时y分z+1秒是一个第一时间段,以此类推,每一秒都是一个第一时间段,举例说明,第二时间段可为x时y分z秒~x时y分z+29秒。
[0048]
示例性的,当第二时间段由多个第一时间段组成时,可基于预设的滑动窗对次数队列以预设的第二次数偏移值进行滑动,并将滑动窗内的第二次数作为第二时间段的目标第二次数,通过滑动窗的移动,以便于更有顺序更准确地获取每个第二时间段所对应的目标第二次数。其中,第二次数偏移值为预设的值,用于指示滑动窗每次向前滑动的队列元素个数。
[0049]
图3为根据次数队列获取第二时间段的目标第二次数的示意图,如图3所示,次数队列当前包括多个第一时间段及每个第一时间段该cdn节点所对应的第二次数,虚线框为滑动窗,若第二时间段由30个第一时间段组成,举例说明,在次数队列中第二时间段为z秒~z+29秒这个第二时间段内,目标第二次数为滑动窗内的30个第二次数,即30个目标第二次数分别为a、b、c
……
m。
[0050]
s204,对目标第二次数进行求和,获取cdn节点在第二时间段内接收视频播放请求的总次数。
[0051]
在上述确定第二时间段内次数队列中的目标第二次数后,对所有的目标第二次数进行求和,并将所得到的和值作为该cdn节点在第二时间段内接收视频播放请求的总次数。
[0052]
作为一种可实现的方式,若第二时间段由一个第一时间段组成,则该第一时间段的目标视频流对应的第二次数即为该cdn节点在第二时间段内接收视频播放请求的总次数。示例性的,若第二时间段为x时y分z秒,则x时y分z秒内目标视频流对应的第二次数即为该cdn节点在第二时间段内接收视频播放请求的总次数。
[0053]
作为另一种可实现的方式,若第二时间段由多个第一时间段组成,在确定第二时间段内次数队列中的目标第二次数后,对所有的目标第二次数进行求和,并将所得到的和值作为该cdn节点在第二时间段内接收视频播放请求的总次数。示例性的,若第二时间段为z秒~z+29秒,30个目标第二次数分别为a、b、c
……
m,则将a+b+c+
……
+m的和作为该cdn节点在z秒~z+29秒这个第二时间段内接收视频播放请求的总次数。
[0054]
s205,将总次数与预设的次数阈值进行对比,获取在第二时间段内目标视频流的访问热度。
[0055]
将上述获得的cdn节点在第二时间段内接收视频播放请求的总次数与预设的次数阈值进行对比,以获取在第二时间段内目标视频流的访问热度。
[0056]
示例性的,若总次数大于或等于次数阈值,则判断在第二时间段内目标视频流的访问热度为热流;若总次数小于次数阈值,判断在第二时间段内目标视频流的访问热度为
冷流,将目标视频流的访问热度分为冷流和热流,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整。
[0057]
本公开实施例根据次数队列,获取cdn节点在第二时间段内接收视频播放请求的总次数,并将总次数与预设的次数阈值进行对比,获取在第二时间段内所述目标视频流的访问热度,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整,以防止某个cdn节点出现冷流过多造成成本浪费,或者热流过多造成负载不均的情况。
[0058]
进一步的,在获取第二时间段内目标视频流的访问热度之后,为了实时获取目标视频流的访问热度,基于滑动窗对次数队列以第二次数偏移值再次进行滑动,以获取位于第二时间段之后的第三时间段内的所有第二次数,为了区别于上述第二时间段内的目标第二次数,将位于第三时间段内的所有第二次数称为修正目标第二次数。根据修正目标第二次数,获取在第三时间段内目标视频流的访问热度。其中,第三时间段与第二时间段和第二次数偏移值有关,示例性的,若第二时间段为z秒~z+29秒,若第二次数偏移值为1秒,则第三时间段为z+1秒~z+30秒。每次滑动窗移动,都能根据滑动窗内的第二次数获取新的一个时间段的访问热度,以便于以较小的时间粒度实时获取整个cdn节点的访问热度,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整。
[0059]
图4为基于滑动窗获取第三时间段内的修正目标第二次数的示意图,如图4所示,若第二时间段为z秒~z+29秒,当滑动窗向右移动一个单位时,则第三时间段为z+1秒~z+30秒,修正目标第二次数为b、c、
……
、m、n。在获取修正目标第二次数后,将第三时间段内所有的修正目标第二次数相加,即将b+c+
……
+m+n的和作为第三时间段内cdn节点上目标视频流的接收访问的总次数,并将该总次数与预设的次数阈值进行对比,以获取该cdn节点上第三时间段内目标视频流的访问热度。
[0060]
可以理解的是,此处的第三时间段仅为示意,滑动窗可每次都以第二次数偏移值再次进行滑动,以获取其他时间段的cdn节点上目标视频流的接收访问的总次数。
[0061]
进一步的,为了节省目标服务线程的内存,当滑动窗再次滑动以获取第三时间段cdn节点上目标视频流的访问热度时,根据第二时间段和第三时间段,获取次数队列中待删除的待删除第二次数,并将待删除第二次数从次数队列中删除。如图4所示,第三时间段为z+1秒~z+30秒,边可将z秒对应的第二次数从次数队列中删除。
[0062]
图5是本公开提出的一种视频流的访问热度的获取方法的示例性实施方式,如图5所示,该一种视频流的访问热度的获取方法,包括以下步骤:
[0063]
s501,获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数。
[0064]
关于步骤s501的实现方式,可参照上述实施例中相关部分的介绍,在此不再进行赘述。
[0065]
s502,从cdn节点的所有服务线程中,获取目标视频流的目标服务线程。
[0066]
为了有个固定的服务线程计算在每个第一时间段目标视频流所对应的第二次数,以及根据第二次数生成次数队列,本公开中,需要从cdn节点的所有服务线程中,获取目标视频流的目标服务线程。
[0067]
作为一种可实现的方式,可根据目标视频流,获取目标视频流的标识信息,并根据
该标识信息,从cdn节点的所有服务线程中,确定目标服务线程。
[0068]
可选的,可使用crc32算法对标识信息进行哈希运算,以获取目标视频流对应的哈希值,并获取cdn节点的所有服务线程的总个数,对哈希值和总个数进行取模运算,并根据运算结果,确定目标服务线程。在根据运算结果,确定目标服务线程时,可获取cdn节点的所有服务线程各自对应的线程编号,并将线程编号与运算结果进行对比,将与运算结果相同的线程编号作为目标线程编号,将目标线程编号对应的服务线程,作为目标服务线程。比如说,若服务线程的总个数为100,则用目标视频流对应的哈希值除以100,取余数,并根据该余数,确定目标服务线程,若余数为67,则目标视频流的目标服务线程为服务线程67。由此,每个目标视频流都有其对应的目标服务线程,以降低目标视频流所对应的次数队列的存储地址的偶然性。
[0069]
s503,对属于同个第一时间段内的所有第一次数进行求和,获取cdn节点在该第一时间段内接收视频播放请求的第二次数。
[0070]
由于每个服务线程都将自己在第一时间段内接收到的目标视频流对应的视频播放请求的第一次数发送给目标服务线程,在目标服务线程接收到每个服务线程发送的在第一时间段内接收到的目标视频流对应的视频播放请求的第一次数后,会将属于同个第一时间段内的所有第一次数进行求和,以获取cdn节点在该第一时间段内接收视频播放请求的第二次数。
[0071]
示例性的,若某cdn节点具有100个服务线程,在8:00:01内,针对目标视频流,服务线程1的第一次数为10,服务线程2的第一次数为7
……
服务线程100的第一次数为3,则将服务线程1~服务线程100所对应的所有的第一次数求和,得到在8:00:01内,整个cdn节点接收到目标视频流的视频播放请求的次数,也即得到在8:00:01内,整个cdn节点接收到目标视频流的视频播放请求的第二次数。
[0072]
s504,按照时间顺序对第二次数进行排序,并根据排序后的第二次数,生成次数队列。
[0073]
按照时间顺序对cdn节点上目标视频流的所有第二次数进行排序,并根据排序后的第二次数,生成次数队列。示例性的,若8:00:01该cdn节点接收到目标视频流的视频播放请求的第二次数为a,8:00:02该cdn节点接收到目标视频流的视频播放请求的第二次数为b,8:00:03该cdn节点接收到目标视频流的视频播放请求的第二次数为c,以此类推,则次数队列为a、b、c
……

[0074]
s505,基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数。
[0075]
s506,根据次数队列,获取目标视频流的访问热度。
[0076]
关于步骤s505~s506的实现方式,可参照上述实施例中相关部分的介绍,在此不再进行赘述。
[0077]
本公开实施例获取目标视频流的目标服务线程,以及获取cdn节点在第一时间段内接收视频播放请求的第二次数,以根据第二次数组成的次数队列获取目标视频流的访问热度,使得每个目标视频流都有其对应的目标服务线程,降低了目标视频流所对应的次数队列的存储地址的偶然性,而且能以较小的时间粒度实时获取整个cdn节点的访问热度,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整。
[0078]
图6是本公开提出的一种视频流的访问热度的获取方法的总体流程图,如图6所示,该一种视频流的访问热度的获取方法,包括以下步骤:
[0079]
s601,获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数。
[0080]
s602,基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数。
[0081]
关于步骤s601~s602的实现方式,可参照上述实施例中相关部分的介绍,在此不再进行赘述。
[0082]
s603,基于预设的滑动窗对次数队列以预设的第二次数偏移值进行滑动。
[0083]
s604,将滑动窗内的第二次数作为第二时间段的目标第二次数,其中,第二时间段由至少一个第一时间段组成。
[0084]
s605,对目标第二次数进行求和,获取cdn节点在第二时间段内接收视频播放请求的总次数。
[0085]
s606,将总次数与预设的次数阈值进行对比,获取在第二时间段内目标视频流的访问热度。
[0086]
关于步骤s603~s606的实现方式,可参照上述实施例中相关部分的介绍,在此不再进行赘述。
[0087]
s607,基于滑动窗对次数队列以第二次数偏移值再次进行滑动,以获取位于第二时间段之后的第三时间段内的修正目标第二次数。
[0088]
s608,根据修正目标第二次数,获取在第三时间段内目标视频流的访问热度。
[0089]
s609,根据第二时间段和第三时间段,获取次数队列中待删除的待删除第二次数。
[0090]
s610,将待删除第二次数从次数队列中删除。
[0091]
关于步骤s607~s610的实现方式,可参照上述实施例中相关部分的介绍,在此不再进行赘述。
[0092]
本公开实施例提出了一种视频流的访问热度的获取方法,通过获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数;基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数;根据次数队列,获取目标视频流的访问热度。本公开能根据每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数,实时获取整个cdn节点的访问热度,粒度能够做到以秒为级别,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整。
[0093]
图7是本公开提出的一种视频流的访问热度的获取装置的示意图,如图7所示,该视频流的访问热度的获取装置700,包括:
[0094]
第一获取模块701,用于获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数。
[0095]
更新模块702,用于基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数。
[0096]
第二获取模块703,用于根据次数队列,获取目标视频流的访问热度。
[0097]
本公开实施例提出了一种视频流的访问热度的获取装置,包括第一获取模块,用于获取内容分发网络cdn节点的每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数;更新模块,用于基于第一次数,对目标视频流对应的目标服务线程内的次数队列进行更新,其中,次数队列中包括至少一个第一时间段内cdn节点接收到视频播放请求的第二次数;第二获取模块,用于根据次数队列,获取目标视频流的访问热度。本公开能根据每个服务线程在第一时间段内接收到目标视频流的视频播放请求的第一次数,实时获取整个cdn节点的访问热度,粒度能够做到以秒为级别,以便于根据cdn节点上各视频流的访问热度情况,实时对cdn节点的播放策略进行调整。
[0098]
进一步的,第二获取模块703,还用于:根据次数队列,获取在第二时间段内次数队列中至少一个目标第二次数,其中,第二时间段由至少一个第一时间段组成;对目标第二次数进行求和,获取cdn节点在第二时间段内接收视频播放请求的总次数;将总次数与预设的次数阈值进行对比,获取在第二时间段内目标视频流的访问热度。
[0099]
进一步的,第二获取模块703,还用于:基于预设的滑动窗对次数队列以预设的第二次数偏移值进行滑动;将滑动窗内的第二次数作为第二时间段的目标第二次数。
[0100]
进一步的,第二获取模块703,还用于:响应于总次数大于或等于次数阈值,判断目标视频流的访问热度为热流;响应于总次数小于次数阈值,判断目标视频流的访问热度为冷流。
[0101]
进一步的,视频流的访问热度的获取装置700还包括生成模块704,生成模块704,用于:从cdn节点的所有服务线程中,获取目标视频流的目标服务线程;对属于同个第一时间段内的所有第一次数进行求和,获取cdn节点在该第一时间段内接收视频播放请求的第二次数;按照时间顺序对第二次数进行排序,并根据排序后的第二次数,生成次数队列。
[0102]
进一步的,生成模块704,还用于:根据目标视频流,获取目标视频流的标识信息;根据标识信息,从cdn节点的所有服务线程中,确定目标服务线程。
[0103]
进一步的,生成模块704,还用于:对标识信息进行哈希运算,获取目标视频流对应的哈希值;获取cdn节点的所有服务线程的总个数;对哈希值和总个数进行取模运算,并根据运算结果,确定目标服务线程。
[0104]
进一步的,生成模块704,还用于:获取cdn节点的所有服务线程各自对应的线程编号;将线程编号与运算结果进行对比,将与运算结果相同的线程编号作为目标线程编号;将目标线程编号对应的服务线程,作为目标服务线程。
[0105]
进一步的,第二获取模块703,还用于:基于滑动窗对次数队列以第二次数偏移值再次进行滑动,以获取位于第二时间段之后的第三时间段内的修正目标第二次数;根据修正目标第二次数,获取在第三时间段内目标视频流的访问热度。
[0106]
进一步的,第二获取模块703,还用于:根据第二时间段和第三时间段,获取次数队列中待删除的待删除第二次数;将待删除第二次数从次数队列中删除。
[0107]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0108]
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种
形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0109]
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(rom)802中的计算机程序或者从存储单元808加载到随机访问存储器(ram)803中的计算机程序,来执行各种适当的动作和处理。在ram 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
[0110]
设备800中的多个部件连接至i/o接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0111]
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如视频流的访问热度的获取方法。例如,在一些实施例中,视频流的访问热度的获取方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由rom 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到ram 803并由计算单元801执行时,可以执行上文描述的视频流的访问热度的获取方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行视频流的访问热度的获取方法。
[0112]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0113]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0114]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0115]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0116]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0117]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0118]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0119]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1