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

一种P2P网络中直播服务器动态调整收发数据的方法与流程

2022-03-16 16:07:09 来源:中国专利 TAG:

一种p2p网络中直播服务器动态调整收发数据的方法
技术领域
1.本发明涉及多媒体技术领域,具体涉及一种p2p网络中直播服务器动态调整收发数据的方法。


背景技术:

2.随着网络带宽的逐步扩大,多媒体行业的蓬勃发展,短视频和直播等业务场景的逐渐增多,视频数据的网络数据量也不断的增加。那么对于这些视频数据的提供商和运营商来说,如何降低因视频数据而产生的巨额的网络带宽费用就尤其重要,大部分的视频网站都会采用p2p技术来降低带宽费用,增加服务器并发量。
3.目前针对p2p流媒体直播服务器的视频数据推送和分发方式大多按照节目码率,固定速度去推送这些视频数据。通过搭建一个流媒体直播服务器,对视频数据进行一定的处理,然后向多个客户端传输视频数据,最终通过客户端互相通信,由客户端之间实现同一份数据的彼此共享,从而达到降低流媒体直播服务器带宽,减少运营成本的作用。
4.现有的流媒体直播服务器的传输视频数据方式大部分是通过计算节目码率,固定发送数据量,然后按照规定的速度去向客户端发送视频数据。那么这种方式就会在下面业务场景中产生一些缺点。
5.缺点:
6.1.在网络环境不好的情况下,或者在不同客户端拥有不同的网络环境的状况下,直播流媒体服务器固定发送数据会产生一定的带宽浪费。因为无法保证发送的数据对方一定能全部接收,所以就会导致一些数据在复杂的网络环境中被丢弃。
7.2.当直播流媒体服务器同时发送不同码率的节目时,无法进行动态变换,就会导致客户端播放的卡顿,无法流畅播放。
8.3.当直播流媒体服务器自身网络环境出现问题时,无法及时有效的调整发送和接收的数据量,就会造成程序的稳定性降低。


技术实现要素:

9.基于现有技术存在的问题和不足,本技术提供了一种p2p网络中直播服务器动态调整收发数据的方法,能够根据实时网络环境、不同节目码率,动态调整接收和发送数据量,能够有效的针对于不同客户端的不同网络环境动态的去调整发送的数据量,也能够按照不同的节目码率动态的调整接收的数据量,同时在自身网络环境出现问题时,及时采取对应措施,将影响降到最低。
10.具体技术方案如下:
11.一种p2p网络中直播服务器动态调整收发数据系统,其特征在于:包括主流媒体直播服务器、从流媒体直播服务器和客户端;
12.所述主流媒体直播服务器,用于从节目源处获取不同节目源数据并进行缓存,然后将节目源数据推送给从流媒体直播服务器;
13.所述从流媒体直播服务器,用于将数据进行缓存,等待客户端连接;
14.所述客户端,首先用于访问负载均衡服务器,由负载均衡服务器下发符合要求的从流媒体直播服务器,然后再用于在获取到从流媒体直播服务器与从流媒体直播服务器连接后,接收视频数据。
15.进一步地,所述主流媒体直播服务器还用于从节目源处获取节目数据及该节目的码率,并将获取的连续的节目数据按照一定数据长度进行分块后保存在一定长度的循环队列中,并赋予每个连续数据块连续且唯一的id;
16.所述主流媒体服务器还用于定时记录发送和接收到从流媒体服务器的应答时间,将此应答时间周期性保存,并判断从流媒体服务器的应答时间处于何种传输状态;
17.所述主流媒体服务器还用于按照网络传输状态和码率动态并按照一定对应的速率向从流媒体服务器发送数据块、节目码率、数据块的唯一id和循环队列的位置信息。
18.进一步地,所述从流媒体服务器还用于接收来自主流媒体服务器的视频数据和数据信息,按照对应的信息将已经划分为块的视频数据存入本地循环队列中。
19.一种p2p网络中直播服务器动态调整收发数据的方法,其特征在于,包括步骤:
20.s1,主流媒体直播服务器从节目源处获取不同节目源数据并进行缓存,然后将节目源数据推送给从流媒体直播服务器;
21.s2,从流媒体直播服务器将数据进行缓存,等待客户端连接;
22.s3,客户端首先访问负载均衡服务器,由负载均衡服务器下发符合要求的从流媒体直播服务器,然后客户端获取到从流媒体直播服务器后与从流媒体直播服务器连接,接收视频数据。
23.进一步地,步骤s3中,客户端获取到从流媒体直播服务器后与从流媒体直播服务器通过kcp协议连接。
24.进一步地,步骤s1的具体方法包括:
25.s11,主流媒体直播服务器从节目源处获取节目数据及该节目的码率,并将获取的连续的节目数据按照一定数据长度进行分块后保存在一定长度的循环队列中,并赋予每个连续数据块连续且唯一的id;
26.s12,主流媒体服务器定时记录发送和接收到从流媒体服务器的应答时间,将此应答时间周期性保存,并判断从流媒体服务器的应答时间处于何种传输状态;
27.s13,主流媒体服务器按照网络传输状态和码率动态并按照一定对应的速率向从流媒体服务器发送数据块、节目码率、数据块的唯一id和循环队列的位置信息。
28.进一步地,步骤2的具体方法包括从流媒体服务器接收来自主流媒体服务器的视频数据和数据信息,按照对应的信息将已经划分为块的视频数据存入本地循环队列中。
29.进一步地,步骤s3中,客户端获取到从流媒体直播服务器后与从流媒体直播服务器连接,接收视频数据的方法包括从流媒体服务器按照节目码率和不同客户端的应答时间动态的为客户端进行视频数据发送。
30.进一步地,从流媒体服务器按照节目码率和不同客户端的应答时间动态的为客户端进行视频数据发送时从流媒体服务器也需要获取与其所连接的客户端保持定时的应答时间,并根据客户端不同的应答时间将不同的客户端划分到不同网络状态里。
31.进一步地,步骤s3中客户端首先访问负载均衡服务器,由负载均衡服务器下发符
合要求的从流媒体直播服务器时,当从流媒体服务器因为自身网络状况不好时,或者负载过高时,从流媒体服务器将该状态信息发送给负载均衡服务器,由负载均衡服务器决定将新登陆的客户端分往另外的从流媒体服务器中。
32.有益效果:采用主从流媒体服务器架构,将视频数据处理和视频数据分发功能进行分离,减轻了服务器的压力,同时保证了多个从流媒体服务器的数据的一致性,优化了p2p网络中不同客户端的视频延迟。
33.流媒体服务器能够动态的根据不同的网络状况和网络环境做出动态的收发视频数据的处理,提升了服务器带宽的利用率,避免了带宽浪费。
34.同一个流媒体服务器能够针对多节目不同码率节目进行针对性的改变,更加符合实际业务场景的需求。
35.整套方案拓展性强,能够应对不同的并发需求,提升了流媒体服务器在传输数据中的稳定性。
附图说明
36.为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
37.图1为本发明方法的流程图;
38.图2为本发明系统的结构框图。
具体实施方式
39.下面结合附图对本发明实施例进行详细描述。
40.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
41.需要说明的是,下文描述在所附权利要求书的范围内的实施例可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本发明,所属领域的技术人员应了解,本文中所描述的单元、系统、方法及芯片可独立地实施,且可以各种方式组合两者或两者以上。举例来说,可使用本文中所阐述的任何数目个内容来实施设备及/或实践方法。另外,可使用除了本文中所阐述的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
42.如图1所示,一种p2p网络中直播服务器动态调整收发数据系统,包括主流媒体直播服务器、从流媒体直播服务器和客户端;
43.所述主流媒体直播服务器,用于从节目源处获取不同节目源数据并进行缓存,然后将节目源数据推送给从流媒体直播服务器;
44.所述从流媒体直播服务器,用于将数据进行缓存,等待客户端连接;
45.所述客户端,首先用于访问负载均衡服务器,由负载均衡服务器下发符合要求的从流媒体直播服务器,然后再用于在获取到从流媒体直播服务器与从流媒体直播服务器连接后,接收视频数据。
46.主流媒体服务器不能连接客户端只能连接从流媒体服务器,这样做是为了将视频数据处理功能和推送功能分离,并且保证客户端视频数据的一致性。主流媒体服务器和从流媒体服务器都可以部署多个,但是每台从流媒体服务器只能连接一个主流媒体服务器,每台主流媒体服务器可以挂载多个从流媒体服务器。这样做是为了提高系统的并发能力,并且分担单个流媒体服务器的压力。
47.客户端业务流程是客户端首先访问负载均衡服务器,由负载均衡服务器下发符合要求的从流媒体直播服务器,然后客户端获取到从流媒体直播服务器后对从流媒体直播服务器进行kcp协议连接,接收视频数据。
48.服务器业务流程是负载均衡服务器与主流媒体直播服务器和从流媒体直播服务器进行长连接,并实时同步服务器的网络状态和节目信息以及运行情况。主流媒体直播服务器从节目源处获取不同节目源数据并进行缓存,然后将节目源数据推送给从流媒体直播服务器,然后从流媒体直播服务器将数据进行缓存,等待客户端连接。当客户端连接后即按照规定协议发送视频数据。
49.所述主流媒体直播服务器具体用于从节目源处获取节目数据及该节目的码率,并将获取的连续的节目数据按照一定数据长度进行分块后保存在一定长度的循环队列中,并赋予每个连续数据块连续且唯一的id;
50.所述主流媒体服务器还还具体用于定时记录发送和接收到从流媒体服务器的应答时间,将此应答时间周期性保存,并判断从流媒体服务器的应答时间处于何种传输状态;
51.所述主流媒体服务器还用于按照网络传输状态和码率动态并按照一定对应的速率向从流媒体服务器发送数据块、节目码率、数据块的唯一id和循环队列的位置信息。
52.所述从流媒体服务器具体用于接收来自主流媒体服务器的视频数据和数据信息,按照对应的信息将已经划分为块的视频数据存入本地循环队列中。
53.如图2所示,一种p2p网络中直播服务器动态调整收发数据的方法,包括步骤:
54.s1,主流媒体直播服务器从节目源处获取不同节目源数据并进行缓存,然后将节目源数据推送给从流媒体直播服务器;
55.本步骤可按照以下具体流程执行:
56.s11,主流媒体直播服务器从节目源处获取节目数据及该节目的码率,并将获取的连续的节目数据按照一定数据长度进行分块后保存在一定长度的循环队列中,并赋予每个连续数据块连续且唯一的id;
57.具体的,首先主流媒体直播服务器从节目源处获取到节目数据,并计算单位时间内接收到的视频数据量,通过计算单位时间内接收到的数据量/单位时间=节目码率,初步计算出主流媒体服务器接收的这个节目的码率。
58.s12,主流媒体服务器定时记录发送和接收到从流媒体服务器的应答时间,将此应答时间周期性保存,并判断从流媒体服务器的应答时间处于何种传输状态;
59.具体的,主流媒体服务器会和连接它的所有从流媒体服务器保持长连接,并定时
计算发送和接收到从流媒体服务器的应答时间,将此应答时间周期性保存。
60.s13,主流媒体服务器按照网络传输状态和码率动态并按照一定对应的速率向从流媒体服务器发送数据块、节目码率、数据块的唯一id和循环队列的位置信息。
61.具体的,在本实施例中,主流媒体服务器将接收到的连续的视频数据按照每16k的大小进行分块,并保存至长度为1920块,即大小为30m的循环队列中。并且赋予每个连续数据块连续且唯一的id。
62.然后,按照规定的网络状态和码率进行发送块数和时间间隔的计算。例如1m码率的节目,当网络状态处于流畅时,我们可以按照1m/16k 阈值=发送块数。阈值则是我们按照不同的业务场景,为了保证播放的流畅性,会发送单位时间内多于规定数据块的数据量。如果这里1m节目码率阈值为64,我们将在一秒内发送128块数据到从流媒体直播服务器。按照这个方法,可以动态的根据实时的网络状况和节目码率来动态调整主流媒体服务器到从流媒体服务器的单位时间内的数据量,使带宽利用率提高。
63.s2,从流媒体直播服务器将数据进行缓存,等待客户端连接;
64.步骤2的具体方法包括从流媒体服务器接收来自主流媒体服务器的视频数据和数据信息,按照对应的信息将已经划分为块的视频数据存入本地循环队列中。具体的,在本步骤中,从流媒体服务器首先会创建一个和主流媒体服务器一样大小的循环队列。当从流媒体服务器接收到来自主流媒体服务器的视频数据和数据信息后,按照对应的信息将已经划分为块的视频数据存入本地循环队列中。其中,从流媒体服务器按照节目码率和不同客户端的应答时间动态的为客户端进行视频数据发送时从流媒体服务器也需要获取与其所连接的客户端保持定时的应答时间,并根据客户端不同的应答时间将不同的客户端划分到不同网络状态里。另外,需要判断从流媒体服务器的应答时间是否处于所规定的正常时间范围内。本实施例可将对不同应答时间划分成流畅、良好、很差三个状态范围,具体划分区域由实际业务所决定。例如这里可以将0ms-100ms的应答时间划分成流畅状态,101ms-300ms划分为良好状态,301ms以上划分为很差状态,赋予不同状态不同的状态码进行标记。
65.s3,客户端首先访问负载均衡服务器,由负载均衡服务器下发符合要求的从流媒体直播服务器,然后客户端获取到从流媒体直播服务器后与从流媒体直播服务器连接,接收视频数据。
66.本步骤s3中,客户端获取到从流媒体直播服务器后与从流媒体直播服务器连接,接收视频数据的方法包括从流媒体服务器根据主流媒体服务器的推流算法,从流媒体服务器会按照节目码率和不同客户端的应答时间动态的给客户端进行视频数据发送。这样就实现了同一码率节目在发往不同网络环境客户端时,可以按照不同的速率进行发送。进而避免了当对方网络状况不好时,还高频率、大数据的去发送视频数据,最终导致部分数据的浪费。
67.上述过程中,客户端首先访问负载均衡服务器,由负载均衡服务器下发符合要求的从流媒体直播服务器时,当从流媒体服务器因为自身网络状况不好时,或者负载过高时,从流媒体服务器将该状态信息发送给负载均衡服务器,由负载均衡服务器决定将新登陆的客户端分往另外的从流媒体服务器中。
68.本实施例采用主从流媒体服务器架构,将视频数据处理和视频数据分发功能进行分离。减轻了服务器的压力,同时保证了多个从流媒体服务器的数据的一致性,优化了p2p
网络中不同客户端的视频延迟,流媒体服务器能够动态的根据不同的网络状况和网络环境做出动态的收发视频数据的处理。提升了服务器带宽的利用率,避免了带宽浪费。另外,同一个流媒体服务器能够针对多节目不同码率节目进行针对性的改变,更加符合实际业务场景的需求,而且整套方案拓展性强,能够应对不同的并发需求,提升了流媒体服务器在传输数据中的稳定性。
69.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

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

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

相关文献