一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

流媒体下载方法、电子设备及存储介质与流程

2022-03-26 06:56:33 来源:中国专利 TAG:


1.本发明实施例涉及流媒体点播领域,特别涉及一种流媒体下载方法、电子设备及存储介质。


背景技术:

2.流媒体点播,顾名思义,就是根据观众的要求播放节目,通过流媒体点播系统,把用户所点击或选择的流媒体内容,传输给所请求的用户。流媒体点播业务是近年来新兴的传媒方式,是计算机技术、网络通信技术、多媒体技术、电视技术和数字压缩技术等多领域融合的产物。其中,为了实现将用户所需的流媒体内容呈现给用户,需要用户使用流媒体点播客户端,即流媒体播放端,进行流媒体数据的下载。为了降低流媒体点播系统的成本和实现加速传输,流媒体点播系统与内容分发网络(content delivery network,简称“cdn”)技术进行结合,流媒体点播客户端使用点对服务器和点(peer to server&peer,简称“p2sp”)的方式进行流媒体数据的下载,客户端的媒体数据部分从cdn中心节点下载,cdn中心节点相当于服务器(server),部分从cdn边缘节点(peer)下载。
3.为了保证整个cdn网络的传输性能,需要对cdn网络进行负载均衡处理,提高边缘节点的利用率,然而,相较于中心节点,边缘节点的质量、稳定性和传输速度都比较差,流媒体下载过度依赖于边缘节点会导致流媒体播放的质量低,用户体验感差,如何对cdn网络进行负载均衡同时提高用户体验,是一个亟待解决的问题。


技术实现要素:

4.本技术实施例的主要目的在于提出一种流媒体下载方法、电子设备及存储介质,可以对cdn网络进行负载均衡的同时提高用户体验。
5.为实现上述目的,本技术实施例提供了一种流媒体下载方法,应用于流媒体播放端,包括:在流媒体播放时,获取当前的流媒体数据的下载速率;在获取的下载速率大于节点切换阈值的情况下,向边缘节点请求下载流媒体数据;其中,节点切换阈值根据流媒体码率确定;在获取的下载速率小于或者等于节点切换阈值的情况下,向中心节点请求下载流媒体数据。
6.为实现上述目的,本技术实施例还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述流媒体下载方法。
7.为实现上述目的,本技术的实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述流媒体下载方法。
8.本技术提出的流媒体下载方法,由于流媒体码率是流媒体数据传输时单位时间传送的数据位数,即流媒体播放时单位时间呈现的数据量,通过以流媒体码率确定节点切换阈值,在流媒体数据的下载速率大于节点切换阈值的情况下,从边缘节点进行流媒体下载,即在下载速率较大,可以满足流媒体播放需求,时,也就是当前可以保证流媒体播放质量
后,从传输速度较差的边缘节点进行流媒体下载,以提高边缘节点的利用率,对cdn网络进行负载均衡。在流媒体数据的下载速率小于或者等于节点切换阈值的情况下,从中心节点进行流媒体下载,即在下载速率较小,无法满足流媒体播放需求,时,也就是当前无法保证流媒体播放质量时,从传输速度较高的中心节点进行流媒体下载,以保证流媒体播放质量,从而提高用户体验。
9.另外,在向边缘节点请求下载流媒体数据之后,或者,在向中心节点请求下载流媒体数据之后,方法还包括:获取当前存储的未播数据量;在未播数据量大于第一下载预留阈值时,暂停流媒体下载。本技术通过在未播数据量大于第一下载预留阈值时,暂停流媒体下载,此时边缘节点和中心节点可以无需进行流媒体下载,可以将流媒体下载资源用于其他业务,从而提高整个cdn网络的传输性能。
10.另外,在暂停流媒体下载之后,方法还包括:在未播数据量回落至第二下载预留阈值时,向边缘节点请求下载流媒体数据;其中,第二下载预留阈值小于第一下载预留阈值。本技术通过在未播数据量回落至第二下载预留阈值时,从边缘节点进行流媒体下载,由于第二下载预留阈值小于第一下载预留阈值,即,在未播数据量较低,流媒体缓存量较少,将影响流媒体播放质量时,继续进行流媒体下载,以保证流媒体播放质量,提高用户体验。
11.另外,在向边缘节点请求下载流媒体数据之后,方法还包括:周期获取未播数据量;在未播数据量大于第三下载预留阈值的情况下,向边缘节点请求下载流媒体数据;其中,第三下载预留阈值根据未播数据量的获取周期和流媒体码率确定;在边缘节点的下载数据量小于或者等于第三下载预留阈值的情况下,同时向边缘节点和中心节点请求下载流媒体数据。本技术通过周期获取未播放数据量,可以对流媒体数据的下载速率和流媒体播放质量情况进行评估,在未播放数据量大于第三下载预留阈值的情况下,从边缘节点进行流媒体下载,即,可以在未播放数据量较富余时,以较慢的速率进行未播放数据量的进一步积累,保证播放质量的同时提高边缘节点的利用率;在边缘节点的下载数据量小于或者等于第三下载预留阈值的情况下,同时从边缘节点和中心节点进行流媒体下载,可以在未播放数据量较紧张时,以较快的速率进行未播放数据量的进一步积累,以保证播放质量不降低,从而提高用户体验。
附图说明
12.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
13.图1是本发明一个实施例提供的流媒体下载方法流程示意图一;
14.图2是本发明一个实施例提供的流媒体下载方法原理示意图;
15.图3是本发明一个实施例提供的流媒体下载方法流程示意图二;
16.图4是本发明一个实施例提供的电子设备结构示意图。
具体实施方式
17.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方
式中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
18.本实施例的流媒体下载方法,应用于流媒体点播系统中的客户端,即流媒体播放端,播放端运行在电子设备中,例如电脑、手机、平板等等。流媒体,包括声音流、视频流、文本流、图像流、动画流等,流媒体点播技术通过流媒体点播系统,根据观众的要求播放节目。即在接收到用户的点播请求信息后,按照用户的点播需求,从流媒体点播系统的内容源服务器为用户下载并播放用户点播的流媒体。随着互联网技术的发展,流媒体点播在日常生活中的使用频率越来越高,这就导致流媒体点播系统的服务器的压力越来越大,为了降低流媒体点播系统的服务器压力,流媒体点播系统与cdn技术进行结合,在cdn边缘节点中缓存流媒体数据,流媒体点播的播放端使用点对服务器和点p2sp的方式进行流媒体数据的下载,播放端的媒体数据部分从cdn中心节点下载,cdn中心节点即内容源服务器(server),部分从cdn边缘节点(peer)下载,而不是从内容源服务器下载全部流媒体数据,所以,播放端所在设备既需要与边缘节点进行通信连接,还要与中心节点进行通信连接。对于流媒体点播播放端而言,需要制定一种方法,在cdn边缘节点与cdn中心节点之间进行流媒体数据下载的选择和切换,才能更好地实现对cdn网络进行负载均衡同时提高用户体验。
19.本技术的流媒体下载方法,通过以流媒体码率确定节点切换阈值,以流媒体下载速率与节点切换阈值的关系,选择流媒体数据的下载节点,由于流媒体码率是流媒体数据传输时单位时间传送的数据位数,即流媒体播放时单位时间呈现的数据量,通过以流媒体码率确定节点切换阈值,在流媒体数据的下载速率大于节点切换阈值的情况下,从边缘节点进行流媒体下载,即在下载速率较大,可以满足流媒体播放需求时,也就是当前可以保证流媒体播放质量后,从传输速度较差的边缘节点进行流媒体下载,以提高边缘节点的利用率,对cdn网络进行负载均衡。在流媒体数据的下载速率小于或者等于节点切换阈值的情况下,从中心节点进行流媒体下载,即在下载速率较小,无法满足流媒体播放需求时,也就是当前无法保证流媒体播放质量时,从传输速度较高的中心节点进行流媒体下载,以保证流媒体播放质量,从而提高用户体验。
20.下面对本实施例的流媒体下载方法实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。
21.如图1所示,应用于流媒体播放端的流媒体下载方法,包括以下步骤:
22.步骤101,在流媒体播放时,获取当前的流媒体数据的下载速率;
23.步骤102,判断获取的下载速率是否大于节点切换阈值;其中,节点切换阈值根据流媒体码率确定;
24.步骤103-1,在获取的下载速率大于节点切换阈值的情况下,向边缘节点请求下载流媒体数据;
25.步骤103-2,在获取的下载速率小于或者等于节点切换阈值的情况下,向中心节点请求下载流媒体数据。
26.在步骤101中,运行流媒体点播播放端的电子设备可以在流媒体播放时,监测当前的流媒体数据下载速率。其中,此下载速率可以是一个监测时刻的瞬时下载速率,也可以是
一个监测周期中的平均下载速率。电子设备可以通过获取周期内下载的流媒体数据量,除以时长,得到此时长内的平均下载速率,此周期,可以设定为一个较小值,例如1秒,以便及时监测到下载速率的变化情况;此时长也可以设定为一个较大值,例如,5秒,以便减少电子设备的计算次数,也避免下载方式的频繁切换。此时长可以由预设一个默认值,也可以根据点播流媒体的不同,使用不同的数值,还可以根据当前网络质量对周期大小的取值进行动态调整。设备还可以从一个监测周期内,获取多个时段内下载的流媒体数据量,计算多个时段内的平均下载速率。
27.在一个例子中,在获取当前的流媒体数据的下载速率之前,电子设备还在接收到流媒体下载任务后,向中心节点请求下载第一预设大小的初始流媒体数据。
28.其中,第一预设大小可以根据流媒体码率和预设的初始播放长度确定,也可以根据流媒体码率和流媒体的时长确定,例如第一预设大小可以是四分之一的流媒体时长与流媒体码率的乘积。
29.电子设备还可以根据采集的用户观看习惯,为不同用户定制不同的第一预设大小,例如,对于喜欢用不同倍速观看流媒体的用户,可以根据其常用的播放倍速,确定不同的第一预设大小,对于看流媒体喜欢拖动进度条快进的用户,可以为其定制一个较大的第一预设大小。
30.本实施例中,通过在获取当前的流媒体数据的下载速率之前,在接收到流媒体下载任务后,从中心节点下载第一预设大小的初始流媒体数据,由于流媒体播放初始,有较高的下载速率需求,因此,在接收到流媒体下载任务后,从中心节点进行流媒体数据下载,并下载一定数据量的流媒体数据供播放,可以在流媒体点播的初始时期保证流媒体的播放质量,提高用户体验。
31.在步骤102中,电子设备判断获取的下载速率是否大于节点切换阈值,其中,节点切换阈值根据流媒体码率确定,由于流媒体码率是流媒体在播放时的单位时间传送的数据位数,可以理解为流媒体正常播放所需要使用的数据量,即,下载的流媒体数据的消耗速率。因此,下载速率与节点切换阈值的大小关系,可以反映流媒体数据的下载和消耗二者的差距多少。
32.在步骤103-1中,电子设备在下载速率大于节点切换阈值,即当前流媒体下载进度可以维持流媒体的播放消耗的情况下,向边缘节点请求下载流媒体数据。此时下载速率可以满足用户的播放需求,流媒体有较好的播放质量,向边缘节点请求下载流媒体数据,可以提高边缘节点的利用率,从而实现cdn网络的负载均衡。
33.在一个例子中,在向边缘节点请求下载流媒体数据之后,流媒体下载方法还包括:周期获取未播数据量;在未播数据量大于第三下载预留阈值的情况下,向边缘节点请求下载流媒体数据;其中,第三下载预留阈值根据未播数据量的获取周期和流媒体码率确定;在边缘节点的下载数据量小于或者等于第三下载预留阈值的情况下,同时向边缘节点和中心节点请求下载流媒体数据。
34.本实施例中,通过周期获取未播放数据量,可以对流媒体数据的下载速率和流媒体播放质量情况进行评估,在未播放数据量大于第三下载预留阈值的情况下,从边缘节点进行流媒体下载,即,可以在未播放数据量较富余时,以较慢的速率进行未播放数据量的进一步积累,保证播放质量的同时提高边缘节点的利用率;在边缘节点的下载数据量小于或
者等于第三下载预留阈值的情况下,同时从边缘节点和中心节点进行流媒体下载,可以在未播放数据量较紧张时,以较快的速率进行未播放数据量的进一步积累,以保证播放质量不降低,从而提高用户体验。
35.在步骤103-2中,电子设备在下载速率小于或者等于节点切换阈值,即当前流媒体下载进度无法维持流媒体的播放消耗的情况下,向中心节点请求下载流媒体数据。此时下载速率难以满足用户的播放需求,流媒体的播放质量较差,若向边缘节点请求流媒体数据的下载,恐怕难以满足流媒体播放的码率消耗,而向中心节点请求下载流媒体数据,可以保证后续的流媒体数据下载速率较高,保证流媒体的播放质量。
36.在一个例子中,向中心节点请求下载流媒体数据,包括:向中心节点请求下载第二预设大小的流媒体数据。其中,第二预设大小可以根据流媒体码率和一个预设时间值得到。
37.本实施例中,通过在下载速率小于或者等于节点切换阈值的情况下,从中心节点下载第二预设大小的流媒体数据,即在流媒体下载速率较低,难以保证播放质量时,先从中心节点下载一定数据量的流媒体数据,保证播放端有流媒体数据供播放,从而保证流媒体播放质量,提高用户体验。
38.在一个例子中,在向边缘节点请求下载流媒体数据之后,或者,在向中心节点请求下载流媒体数据之后,电子设备还获取当前存储的未播数据量,在未播数据量大于第一下载预留阈值时,暂停流媒体下载。为了保证流媒体的播放质量,流媒体数据的下载进度一般快于播放进度,因此流媒体数据下载后并不是马上播放的,而是会缓存在电子设备中,相应的,电子设备中存储的未播放数据量,即流媒体数据的存储量与已播放的流媒体数据量的差值,可以反应流媒体数据的下载是否能满足播放需求。当未播放数据量较大,即大于第一下载预留阈值时,表明当前下载的流媒体数据量已经足够多,可供电子设备播放较长的时间。
39.其中,电子设备可以间隔一个周期时间,检测一次当前存储的未播数据量,一旦检测到未播数据量高于第一下载预留阈值,则暂停流媒体下载,等待下一次检测时,再根据检测到的未播放数据量是否大于第一下载预留阈值,判断暂停流媒体下载还是从之前进行流媒体下载的节点继续流媒体下载。电子设备也可以设定一个暂停时长,在未播数据量高于第一下载预留阈值,暂停流媒体下载后,间隔暂停时长,再从之前进行流媒体下载的节点继续流媒体下载,或者,直接向中心节点请求流媒体下载。
40.本实施例中,通过在未播数据量大于第一下载预留阈值时,暂停流媒体下载,此时边缘节点和中心节点可以无需进行流媒体下载,可以将cdn网络的流媒体下载资源用于其他业务,从而提高整个cdn网络的传输性能。
41.在一个例子中,在暂停流媒体下载之后,电子设备还在未播数据量回落至第二下载预留阈值时,向边缘节点请求下载流媒体数据,其中,第二下载预留阈值小于第一下载预留阈值。
42.在暂停流媒体下载后,电子设备可以实时监测未播数据量,也可以周期性地对未播放数据量进行检漏计算。此外,由于此时已经停止流媒体数据的下载,而流媒体的播放码率是固定的,电子设备也可以直接计算出未播放数据量回落至第二下载预留阈值需要的时长,从而直接在经过此时长后,重新向边缘节点请求下载流媒体数据。
43.本实施例中,通过在未播数据量回落至第二下载预留阈值时,从边缘节点进行流
媒体下载,由于第二下载预留阈值小于第一下载预留阈值,即,在未播数据量较低,流媒体缓存量较少,将影响流媒体播放质量时,继续进行流媒体下载,以保证流媒体播放质量,提高用户体验。
44.在上述例子中,节点切换阈值、第一下载预留阈值、第二下载预留阈值、第三下载预留阈值不仅根据流媒体码率确定,还需要根据用户选择的流媒体播放倍速确定,流媒体码率可以在流媒体下载到一定数据量后,对流媒体数据进行解析得到。
45.本实施例中,由于各个阈值还可以根据用户选择的流媒体播放倍速确定,可以根据流媒体播放倍速这一流媒体播放需求,确定更贴合用户需求的上述各阈值,进一步提高用户体验。
46.在一个例子中,播放端所在的电子设备实现流媒体下载的原理示意如图2所示,由数据任务下载控制模块,管理所有下载行为,当下载一定流媒体数据后,进行下载文件格式的码率解析,得到流媒体码率,并根据流媒体下载速率,和流媒体码率,控制cdn下载模块和p2p下载模块的下载行为,其中,cdn下载模块用于控制设备向中心节点请求流媒体下载,p2p下载模块用于控制设备向边缘节点请求流媒体下载。
47.其中,方法的实现流程如图3所示,包括如下步骤:
48.步骤一、播放器播放端数据任务下载控制模块接收到数据下载任务时,会触发cdn下载模块去下载一个x(单位:byte)大小的数据块。若下载数据量未至x,则继续下载。
49.其中,x的取值即是流媒体数据的第一预设大小,可以根据流媒体码率、流媒体倍速和/或流媒体时长等因素确定。
50.步骤二、对下载的数据按文件格式解析获取到文件的平均码率m(单位:kpbs)。
51.步骤三、在cdn下载模块进行数据下载的时候,通过算式:下载数据量*8/下载时长,进行下载速度评估,得到下载速率:n(单位:kpbs),其中,下载数据量的单位为byte。
52.步骤四、当下载数据达到x(单位:byte)的时候,若此时n》k*m,则停止cdn下载模块的下载,开启p2p下载模块的下载,如果n《=k*m则继续由cdn下载模块进行流媒体数据下载。其中,k*m即是节点切换阈值,k为预设系数,可以根据流媒体码率和/或流媒体倍速等因素确定。
53.步骤五、开启p2p下载模块后,定期(间隔y秒)通过算式y秒*码率/8检测下载的数据量,并判断内存的未播数据量是否大于a(单位:byte),如果比a高,则p2p下载模块继续下载。如果低同时开启cdn下载模块,流程回到步骤三。
54.其中,a的取值即是第三下载预留阈值,a可以通过以下算式计算得到:a=m*h/8,h是一个预设值,是未播数据量的第三期望可播放时长。
55.步骤六、定期(间隔t秒)检测内存的未播数据量是否大于b(单位:byte),如果大于b,则说明流媒体数据内存足够,并且播放器消化缓慢,停止p2p下载模块和cdn下载模块。
56.其中,b的取值即是第一下载预留阈值,t是检测存储的未播数据量的周期时长,b可以通过以下算式计算得到:b=m*i/8,其中,i是一个预设值,是未播数据量的第一期望可播放时长,第一下载预留阈值大于第三下载预留阈值,第一期望可播放时长大于第三期望可播放时长。
57.步骤七、当内存的未播数据量从b回落到c(单位:byte)的时候,则说明流媒体数据的内存被逐步消化,可以继续开启p2p下载模块,流程回到步骤五。
58.其中,c的取值即是第二下载预留阈值,b可以通过以下算式计算得到:c=m*j/8,其中,j是一个预设值,是未播数据量的第二期望可播放时长,第二下载预留阈值小于第一下载预留阈值,第二期望可播放时长小于第一期望可播放时长。
59.上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
60.本发明的实施例还涉及一种电子设备,如图4所示,包括:至少一个处理器401;与至少一个处理器通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行上述的任一实施例的流媒体下载方法。
61.其中,存储器402和处理器401采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器401和存储器402的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器401处理的信息通过天线在无线介质上进行传输,进一步,天线还接收信息并将信息传送给处理器401。
62.处理器401负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器402可以被用于存储处理器在执行操作时所使用的信息。
63.本发明的实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
64.即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献