多层次混合分发方法、电子设备及可读存储介质与流程

文档序号:30974233发布日期:2022-08-02 22:50阅读:71来源:国知局
多层次混合分发方法、电子设备及可读存储介质与流程

1.本技术涉及网络直播技术领域,尤其涉及一种多层次混合分发方法、电子设备及计算机可读存储介质。


背景技术:

2.目前,随着互联网技术的不断发展,网络直播越来越贴近每个人的工作和生活。在直播或音视频播放时,由于用户所在的地区、使用的终端设备、网络情况等不同,而导致的网络丢包率及抖动等问题极易影响用户的播放体验。
3.针对此问题,当前常见的优化方法是使用cdnquic方式,具体是使用quic协议进行的rtmpoverquic和httpoverquic协议的使用来提高网络传输效率和降低传输时延,更好的抵抗弱网环境对网络传输带来的影响。这种方式利用了quic协议的多路复用彻底告别了http协议中队头阻塞的问题,但对丢包率和网络抖动的容忍还需进一步提高,同时,在网络不断变化的时候,单单使用一种拉流方式进行直播或音视频播放,不能很好地应对网络的变化,及为用户提供良好的观看体验。


技术实现要素:

4.有鉴于此,有必要提供一种多层次混合分发方法、电子设备及计算机可读存储介质,该方法提供三种不同的拉流方式,在网络实时变化过程中,动态调整拉流方式以提高音视频播放质量。
5.本技术一实施方式提供一种多层次混合分发方法,所述方法包括:
6.获取客户端配置服务信息;
7.基于所述客户端配置服务信息,获取拉流方式内容;
8.若所述拉流结果为空,则生成预设的第一拉流方式的拉流指令以进行拉流;
9.若所述第一拉流方式下的网络质量分数低于预期分数,则生成预设的第二拉流方式的拉流指令以进行拉流;
10.若所述第二拉流方式下的网络质量分数低于预期分数,则异步获取调度信息,将部分第二拉流方式调整为预设的第三拉流方式以进行拉流;
11.若所述第二拉流方式和第三拉流方式下的网络质量分数低于预期分数,则转至第一拉流方式进行原始拉流。
12.在一些实施例中,所述获取客户端配置服务信息,包括:
13.上传客户端信息,获取经云控服务中心计算后返回的客户端配置服务信息。
14.在一些实施例中,所述判断拉流方式内容,生成拉流结果,包括:
15.若所述拉流方式内容为第一拉流方式、第二拉流方式、第三拉流方式中的任意一个拉流方式,则生成对应的拉流方式指令。
16.在一些实施例中,所述网络质量分数为基于网络质量以及音视频质量制定的质量评分体系。
17.在一些实施例中,若所述第二拉流方式下的网络质量分数低于预期分数,则异步获取调度信息,将部分第二拉流方式调整为预设的第三拉流方式进行拉流,包括:
18.基于所述调度信息,生成调度结果,及当调度结果中包含预设的第三拉流方式对应的播放资源时,自动调整部分第二拉流方式为第三拉流方式。
19.在一些实施例中,在生成调度结果之后,所述方法还包括:
20.当调度结果中不包含预设的第三拉流方式对应的播放资源时,生成第一拉流方式的拉流指令以进行拉流。
21.在一些实施例中,第一拉流方式、第二拉流方式、第三拉流方式分别为cdntcp方式、cdnquic方式、低延时直播方式。
22.在一些实施例中,基于qos算法和实时网络情况,对第一拉流方式、第二拉流方式、第三拉流方式三种拉流方式自动升降级,及每次升降级后,基于升降级后的拉流方式,保持一个稳固时间段进行拉流。
23.本技术一实施方式还提供一种电子设备,所述电子设备包括处理器及存储器,所述存储器用于存储指令,所述处理器用于调用所述存储器中的指令,使得所述电子设备执行上述的多层次混合分发方法。
24.本技术一实施方式还一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行上述的多层次混合分发方法。
25.与现有技术相比,上述多层次混合分发方法、电子设备及计算机可读存储介质,基于客户端配置信息,实时地判断网络使用及拥塞情况,同时提供三种不同的拉流方式,在网络实时变化过程中,动态调整适应网络情况的拉流方式,提高音视频播放质量,降低成本。
附图说明
26.图1是本技术一实施方式的多层次混合分发方法的步骤流程图。
27.图2为图1的多层次混合分发方法的一步骤流程的细分流程示意图。
28.图3为本技术一实施例的电子设备的结构示意图。
29.主要元件符号说明
30.电子设备100存储器20处理器30计算机程序40
具体实施方式
31.为了能够更清楚地理解本技术的上述目的、特征和优点,下面结合附图和具体实施方式对本技术进行详细描述。需要说明的是,在不冲突的情况下,本技术的实施方式及实施方式中的特征可以相互组合。
32.在下面的描述中阐述了很多具体细节以便于充分理解本技术,所描述的实施方式仅是本技术一部分实施方式,而不是全部的实施方式。
33.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的
技术人员通常理解的含义相同。本文中在本技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本技术。
34.进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
35.本技术中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。本技术的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。
36.在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
37.本技术的多层次混合分发方法可应用在一个或者多个电子设备中。电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,例如可以是服务器、服务器集群等。
38.图1是本技术多层次混合分发方法一实施例的步骤流程图。
39.参阅图1所示,多层次混合分发方法可以包括以下步骤:
40.s100、获取客户端配置服务信息。
41.在一些实施例中,具体的,上传客户端信息,获取经云控服务中心计算后返回的客户端配置服务信息。云控服务中心是一个提供动态获取客户端配置信息能力的系统。例如,各产品只需要集成至云控服务中心,即可拥有统一的配置信息拉取、解析、配置变更通知能力,上层产品可根据通知自行决定是否立即生效。客户端通过云控服务中心将客户本地环境参数发送给云控服务中心,接着,云控服务中心根据客户本地环境参数计算返回定制化、无冗余的客户端配置环境信息。例如,用户使用终端电子设备打开客户端,客户端将客户本地环境参数发送给云控服务中心,云控服务中心返回与客户本地环境参数匹配的客户端配置服务信息至该客户端,终端电子设备可以是手机、笔记本电脑、平板电脑等设备。
42.客户端配置服务信息主要依赖于客户本地环境参数,客户本地环境参数主要包括机型、系统版本、客户端版本、网络环境、硬件设备等。不同的客户本地环境参数,将有不同的客户端配置服务信息。
43.s200、基于客户端配置服务信息,获取拉流方式内容。
44.在一些实施例中,终端设备的用户可以自主选择拉流方式,拉流方式包括第一拉流方式、第二拉流方式、第三拉流方式,根据用户选择的拉流方式,自动从图3所示的电子设备中获取拉流方式内容。若用户不选择任何一种拉流方式,该方法将默认使用第一拉流方式进行拉流。
45.s300、判断拉流方式内容,生成拉流结果。
46.在一些实施例中,若用户选择任意一种拉流方式,将根据用户选择的拉流方式内容生成相匹配的拉流结果。例如,若用户选择的拉流方式内容是第一拉流方式,则拉流结果中显示为第一拉流方式,生成第一拉流方式拉流指令进行拉流,同理,若用户选择的拉流方式内容是第二拉流方式或第三拉流方式,则拉流结果中显示为第二拉流方式或第三拉流方式,生成第二拉流方式指令或第三拉流方式拉流指令进行拉流。
47.s400、若拉流结果为空,则生成预设的第一拉流方式的拉流指令以进行拉流。
48.在一些实施例中,若用户未选择任意一种拉流方式,获取的拉流结果为空,将默认生成预设的第一拉流方式拉流指令进行拉流。
49.s500、若第一拉流方式下的网络质量分数低于预期分数,则生成预设的第二拉流方式的拉流指令以进行拉流。
50.在一些实施例中,网络质量分数为基于网络质量以及音视频质量制定的质量评分体系。根据不同的拉流方式进行不同的运算规则,得出对应的拉流方式的网络质量分数。例如,网络质量包括rtt(往返时间)、丢包率、时延变化等。音视频质量包括视频像素、音视频卡顿率等。
51.预期分数是通过对比不同分数下的音视频卡顿率、rtt、丢包率等效果来选定的。若预期分数制定的过低,则拉流方式的升降级切换触发不够灵敏,将会让网络较差的用户依旧停留在原来的拉流方式中,相反,若预期分数制定的过高,会比较容易地频发触发拉流方式的升降级,导致过多的用户切换到第三拉流方式进行拉流,从而提高成本。在本技术中,默认情况下的预期分数为80分,在其他实施例中,预期分数也可根据实际情况进行动态调整以平衡音视频播放体验和成本。
52.在一些实施例中,若第一拉流方式下的网络质量分数大于或等于预期分数,则继续保持第一拉流方式进行拉流。
53.s600、若第二拉流方式下的网络质量分数低于预期分数,则异步获取调度信息,将部分第二拉流方式调整为预设的第三拉流方式以进行拉流。
54.在一些实施例中,当用户使用的拉流方式为第二拉流方式时,判断第二拉流方式下的网络质量分数是否低于预期分数,若网络指令分数低于预期分数,证明此时用户的播放体验感可能受到影响,需要异步获取调度信息,以此判断调度信息中是否含有第三拉流方式的播放资源。
55.在一些实施例中,具体的,调度信息主要就是判断是否有可用的第三拉流方式的媒体边缘节点,第三拉流方式的最终拉流是通过连接到分配的媒体边缘节点作为服务器来进行的。可以理解的是,基于异步获取的调度信息,生成调度结果,调度结果主要是用来判断能不能使用第三拉流方式进行拉流以及使用哪个媒体边缘节点进行拉流。
56.在一些实施例中,若第二拉流方式下的网络指令分数低于预期分数,且调度信息中包含有第三拉流方式的播放资源,则将部分第二拉流方式调整为预设的第三拉流方式进行拉流,否则,若第二拉流方式下的网络指令分数大于或等于预期分数,则继续保持第二拉流方式继续拉流。
57.s700、若第二拉流方式和第三拉流方式下的网络质量分数低于预期分数,则转至第一拉流方式进行原始拉流。
58.在一些实施例中,若拉流方式为第二拉流方式和第三拉流方式两种方式,则需要
判断第二拉流方式和第三拉流方式两种拉流方式下的网络质量分数,然后将网络质量分数与预期分数进行比对,若网络质量分数低于预期分数,则将第二拉流方式和第三拉流方式全部调整为第一拉流方式进行原始拉流,否则,仍然保持第二拉流方式和第三拉流方式两种拉流方式进行拉流。
59.具体的,在一些实施例中,基于qos算法(qos,qualityofservice)和实时网络情况,对第一拉流方式、第二拉流方式、第三拉流方式三种拉流方式自动升降级,及每次升降级后,基于升降级后的拉流方式,均需要保持一个稳固时间段进行拉流。qos即网络服务质量,是网络与用户之间以及网络上互相通信的用户之间关于信息传输与共享的质的约定。例如,可将稳固时间设置为30min,同时,稳固时间也可以根据实际情况进行动态调整,避免稳固时间设计的不合理,频繁升降级拉流方式,影响用户的播放体验。
60.在一些实施例中,第一拉流方式、第二拉流方式、第三拉流方式分别为cdntcp方式、cdnquic方式、低延时直播方式。cnd即内容分发网络,是构建在现有网络基础上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需的内容,从而降低网络拥塞,提高用户访问相应速度和命中率。
61.cdntcp方式,指的是采用http和tcp协议方式进行直播拉流的方式,存在如下缺点,如高延迟、建联效率低、队头拥塞、抗弱网能力差等。
62.cdnquic方式,指的是使用quic协议(quic是谷歌公司研发的基于udp协议的下一代高质量传输协议)进行的rtmpoverquic和httpoverquic协议的使用来提高网络传输效率和降低传输时延,更好的抵抗弱网环境对网络传输带来的影响。
63.低延迟直播方式,即l3 udp方式,是基于udp协议自主研发出的一种拉流方式,能够为开发者提供多端强同步、千万级并发、毫秒级延迟的直播服务,有效优化了cdn直播场景中延迟高、弱网抗性差和内容不同步等问题。
64.本实施例的多层次混合分发方法通过实时判断网络情况及音视频播放情况,提供三种不同的拉流方式,根据网络及音视频播放质量,动态调整拉流方式,为不同地区、不同环境下的客户端,提供可靠的、高质量的音视频播放质量,提高用户的产品使用感,且设定预期分数,针对每一级拉流方式,对比不同拉流方式下的网络质量分数和预期分数,以判断是否升降级拉流方式,以此平衡音视频播放质量及成本。
65.在一些实施例中,如图2所示,步骤s600可以进一步包括:
66.s610、对比第二拉流方式下的网络质量分数和预期分数,生成对比结果。
67.在一些实施例中,若拉流方式为第二拉流方式,则需要对比第二拉流方式下的网络质量分数和预期分数,以此判断使用第二拉流方式进行拉流,是否能够满足用户的观看体验感。
68.s620、若对比结果小于零,则异步获取调度信息,生成调度结果。
69.在一些实施例中,对比结果小于零,反映出此时采用第二拉流方式进行拉流,已经有可能影响到用户的观看体验,例如,产生了音视频播放卡顿、视频画面模糊等情况。因此,需要异步获取调度信息,以此判断是否含有第三拉流方式的播放资源。
70.s621、若调度结果中包含预设的第三拉流方式对应的播放资源时,自动调整部分第二拉流方式为第三拉流方式。
71.在一些实施例中,例如,若根据调度结果,有30%的媒体边缘节点可用于使用第三拉流方式,则将调整30%的拉流方式为第三拉流方式,另外的70%继续保持第二拉流方式进行拉流。具体的,将第二拉流方式转换成第三拉流方式的比例,可根据调度结果中的媒体边缘节点的情况进行动态调整,本技术在此不进行限定。
72.s622、若调度结果中不包含预设的第三拉流方式对应的播放资源时,生成第一拉流方式的拉流指令以进行拉流。
73.在一些实施例中,基于调度结果,若调度结果中不包含第三拉流方式的播放资源,则生成第一拉流方式指令进行拉流。例如,调度结果中暂时不能使用第三拉流方式或者没有可用的媒体边缘节点可用于第三拉流方式进行拉流,则调整为第一拉流方式进行拉流。
74.在一些实施例中,本技术还公开一种电子设备100,如图3所示,电子设备100包括存储器20和处理器30,存储器20用于存储指令,处理器30用于调用存储器20中的指令,使得电子设备100执行上述实施例的多层次混合分发方法中的步骤,例如图1所示的步骤s100~s700。
75.本领域技术人员可以理解,所述示意图仅仅是电子设备100的示例,并不构成对电子设备100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备100还可以包括输入输出设备、网络接入设备、总线等。
76.处理器30可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器、单片机或者处理器30也可以是任何常规的处理器等。
77.存储器20可用于存储计算机程序40和/或模块/单元,处理器30通过运行或执行存储在存储器20内的计算机程序40和/或模块/单元,以及调用存储在存储器20内的数据,实现电子设备100的各种功能。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备100的使用所创建的数据(比如音频数据)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。
78.本技术还公开一种计算机可读存储介质存储计算机指令,当计算机指令在电子设备100上运行时,使得电子设备100执行本实施例的多层次混合分发方法。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括电载波信号和电信信号。
79.最后应说明的是,以上实施例仅用以说明本技术的技术方案而非限制,尽管参照
上述实施例对本技术进行了详细说明,本领域的普通技术人员应当理解,可以对本技术的技术方案进行修改或等同替换,而不脱离本技术技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1