服务器输出流量限速方法、装置、服务器及DNS系统制造方法及图纸

技术编号:17147100 阅读:33 留言:0更新日期:2018-01-27 17:52
本发明专利技术公开了服务器输出流量限速方法、装置、服务器和DNS系统,该方法包括:根据接收到的视频请求获取所述视频请求对应视频的码率;根据所述码率确定所述服务器的输出速率上限;根据所述输出速率上限输出所述视频请求对应视频的视频数据。本发明专利技术的技术方案,使得不同视频在下载时,所能达到的最大下载速率不会超过根据码率设置的输出速率上限,提高系统的安全性;保证请求视频的每个用户都获得流畅的视频播放体验,并且,对于码率较小的视频文件,不会分配的过高的带宽流量,大大节约了服务器的带宽流量,提高了网络的利用率。

The speed limit method, device, server and DNS system of server output flow

The invention discloses a method for limiting the output flow, server device, server and DNS system, the method comprises: according to the received video requests to obtain the corresponding video bit rate video request; according to the rate limit rate determines the output of the server; according to the request of video data corresponding to the video output of the maximum output rate video. The technical scheme of the invention, the different video download, maximum download rate can reach more than not according to the output rate limit rate setting, improve the security of the system; to ensure each user request video have smooth video playback experience, and for the smaller bit rate video files, high bandwidth traffic will not the distribution, greatly saves the bandwidth of the server, improve the network utilization rate.

【技术实现步骤摘要】
服务器输出流量限速方法、装置、服务器及DNS系统
本专利技术涉及网络流量整形
,尤其是一种服务器输出流量限速方法、装置、服务器及DNS系统。
技术介绍
随着互联网的高速发展,用户对视频的需求量越来越大,视频网站也随之增长。与此同时,潜在的问题逐渐显现出来,视频卡屏现象也是屡见不鲜。作为提供视频服务的内容分发网络(ContentDeliveryNetwork,简称CDN)需要在保证用户高质量的视频体验的前提下,降低大量用户所带来的流量对自身底层网络的冲击,同时降低网络投入成本。传统方式中普遍采用对用户的请求做接口限流的方式来降低这种风险。所谓接口限流就是限制接口的流量,包括并发的流量和一定时间内的总流量,这样可以很好地控制系统的每秒查询率(QueryPerSecond,简称QPS),从而提高保护系统的安全性和接口服务的稳定性。目前,常用的接口限流算法有a.计数器法,b.滑动窗口法,c.漏桶算法,d.令牌桶算法等几种,其中漏桶算法和令牌桶算法是属于服务质量(QualityofService,简称QoS)领域流量整形技术的实现机制。通常使用这些算法做限流,主要是为了防止系统压力过大、保证用户请求的资源保持均匀以及屏蔽恶意请求,因此实际应用场景中对所有的请求都是同等对待,只要接口流量没有超过上限,则用户的请求不受限,而一旦流量超额了,那么就会直接拒绝后续的所有请求。这在web这样的业务系统中比较适用,因为用户请求的web页面响应速度跟用户所占用的网络带宽流量是成正比的,带宽流量越高,响应越快,否则越慢,甚至会超时。但是,在在线视频业务系统中,由于视频的流畅播放体验跟视频码率相关,而不与网络带宽流量成正比,因此,使用上述几种接口限流的做法,由于对所有的视频请求都同等对待,并不能保证请求视频的每个用户都获得流畅的视频播放体验;另外,对于码率较小的视频文件,分配的带宽流量越高则对带宽流量的浪费越严重,对网络的利用率较低。
技术实现思路
本专利技术实施例所要解决的一个技术问题是:现有技术中由于对所有的视频请求都同等对待,并不能保证请求视频的每个用户都获得流畅的视频播放体验;另外,对于码率较小的视频文件,分配的带宽流量越高则对带宽流量的浪费越严重,对网络的利用率较低。本专利技术实施例一种服务器输出流量限速方法、装置、服务器及DNS系统。所述技术方案如下:根据本专利技术实施例的第一方面,提供一种服务器输出流量限速方法,包括:根据接收到的视频请求获取所述视频请求对应视频的码率;根据所述码率确定所述服务器的输出速率上限;根据所述输出速率上限输出所述视频请求对应视频的视频数据。可选的,所述根据所述码率确定所述服务器的输出速率上限,包括:设置所述输出速率上限为所述码率的N倍,其中,N大于等于1;和/或,所述根据接收到的视频请求获取所述视频请求对应视频的码率,包括:当同时接收到至少两个视频请求时,获取每个视频请求对应视频的码率;和/或,所述根据所述码率确定所述服务器的输出速率上限,包括:计算所述至少两个视频请求对应视频的码率之和;根据所述码率之和设置第一输出速率上限。可选的,所述根据所述输出速率上限输出所述视频请求对应视频的视频数据,包括:根据所述第一输出速率上限同时输出所述至少两个视频请求对应视频的视频数据;当所述至少两个视频请求中的第一视频请求对应视频的视频数据输出完毕后,根据未输出完毕的第二视频请求对应视频的码率设置第二输出速率上限;根据所述第二输出速率上限输出所述第二视频请求对应视频的视频数据。可选的,所述根据所述输出速率上限输出所述视频请求对应视频的视频数据,包括:根据所述输出速率上限读取第一数据量的视频数据;确定每次从令牌桶中请求令牌的第一个数;当所述令牌桶中的令牌个数大于或等于所述第一个数时,从所述令牌桶中获取所述第一个数个令牌;输出所述第一数据量的视频数据。可选的,所述根据所述输出速率上限输出所述视频请求对应视频的视频数据,还包括:当所述令牌桶中的令牌个数小于所述第一个数,且所述第一数据量小于或等于当前允许突发流量时,输出所述第一数据量的视频数据;刷新所述当前允许突发流量的值,将所述当前允许突发流量减掉所述第一数据量;当所述令牌桶中的令牌个数小于所述第一个数,且所述第一数据量大于所述当前允许突发流量时,延迟第一预设时间获取所述第一个数个令牌。可选的,所述方法还包括:根据所述视频请求获取请求队列;确定所述请求队列中请求数据包的大小;根据所述请求数据包的大小及本端与视频存储装置之间的带宽,计算对于所述视频存储装置的最大请求个数;从所述请求对列中按顺序获取所述最大请求个数的请求数据包进行合包,得到合并请求包;将所述合并请求包发送至所述视频存储装置,请求与所述合并请求包大小相同的视频数据包;和/或,所述方法还包括:接收所述视频数据包,所述视频数据包中包括所述最大请求个数的子视频数据包,所述子视频数据包与所述合并请求包中的请求数据包一一对应;将所述视频数据包进行拆包,得到与所述请求数据包对应的子视频数据包。根据本专利技术实施例的第二方面,提供一种服务器输出流量限速装置,包括:第一获取模块,用于根据接收到的视频请求获取所述视频请求对应视频的码率;第一确定模块,用于根据所述码率确定所述服务器的输出速率上限;输出模块,用于根据所述输出速率上限输出所述视频请求对应视频的视频数据。可选的,所述第一确定模块,用于设置所述输出速率上限为所述码率的N倍,其中,N大于等于1;和/或,所述第一获取模块,用于当同时接收到至少两个视频请求时,获取每个视频请求对应视频的码率;和/或,所述第一确定模块包括:计算子模块,用于计算所述至少两个视频请求对应视频的码率之和;设置子模块,用于根据所述码率之和设置第一输出速率上限。可选的,所述输出模块包括:输出子模块,用于根据所述第一输出速率上限同时输出所述至少两个视频请求对应视频的视频数据;设置子模块,用于当所述至少两个视频请求中的第一视频请求对应视频的视频数据输出完毕后,根据未输出完毕的第二视频请求对应视频的码率设置第二输出速率上限;所述输出子模块,用于根据所述第二输出速率上限输出所述第二视频请求对应视频的视频数据。可选的,所述输出模块包括:读取子模块,用于根据所述输出速率上限读取第一数据量的视频数据;确定子模块,用于确定每次从令牌桶中请求令牌的第一个数;获取子模块,当所述令牌桶中的令牌个数大于或等于所述第一个数时,从所述令牌桶中获取所述第一个数个令牌;输出子模块,用于输出所述第一数据量的视频数据。可选的,所述输出模块还包括:刷新子模块,所述输出子模块,用于当所述令牌桶中的令牌个数小于所述第一个数,且所述第一数据量小于或等于所述当前允许突发流量时,输出所述第一数据量的视频数据;所述刷新子模块,用于刷新所述当前允许突发流量的值,将所述当前允许突发流量减掉所述第一数据量;所述获取子模块,用于当所述令牌桶中的令牌个数小于所述第一个数,且所述第一数据量大于所述当前允许突发流量时,延迟第一预设时间获取所述第一个数个令牌。可选的,所述装置还包括:第二获取模块,用于根据所述视频请求获取请求队列;第二确定模块,用于确定所述请求队列中请求数据包的大小;计算模块,用于根据所述请求数据包的大小及本端与视频存储装置之间的带宽,计算对于所述本文档来自技高网
...
服务器输出流量限速方法、装置、服务器及DNS系统

【技术保护点】
一种服务器输出流量限速方法,其特征在于,包括:根据接收到的视频请求获取所述视频请求对应视频的码率;根据所述码率确定所述服务器的输出速率上限;根据所述输出速率上限输出所述视频请求对应视频的视频数据。

【技术特征摘要】
1.一种服务器输出流量限速方法,其特征在于,包括:根据接收到的视频请求获取所述视频请求对应视频的码率;根据所述码率确定所述服务器的输出速率上限;根据所述输出速率上限输出所述视频请求对应视频的视频数据。2.根据权利要求1所述的方法,其特征在于,所述根据所述码率确定所述服务器的输出速率上限,包括:设置所述输出速率上限为所述码率的N倍,其中,N大于等于1。和\或所述根据接收到的视频请求获取所述视频请求对应视频的码率,包括:当同时接收到至少两个视频请求时,获取每个视频请求对应视频的码率;和\或所述根据所述码率确定所述服务器的输出速率上限,包括:计算所述至少两个视频请求对应视频的码率之和;根据所述码率之和设置第一输出速率上限。3.根据权利要求2所述的方法,其特征在于,所述根据所述输出速率上限输出所述视频请求对应视频的视频数据,包括:根据所述第一输出速率上限同时输出所述至少两个视频请求对应视频的视频数据;当所述至少两个视频请求中的第一视频请求对应视频的视频数据输出完毕后,根据未输出完毕的第二视频请求对应视频的码率设置第二输出速率上限;根据所述第二输出速率上限输出所述第二视频请求对应视频的视频数据。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述根据所述输出速率上限输出所述视频请求对应视频的视频数据,包括:根据所述输出速率上限读取第一数据量的视频数据;确定每次从令牌桶中请求令牌的第一个数;当所述令牌桶中的令牌个数大于或等于所述第一个数时,从所述令牌桶中获取所述第一个数个令牌;输出所述第一数据量的视频数据。5.根据权利要求4所述的方法,其特征在于,所述根据所述输出速率上限输出所述视频请求对应视频的视频数据,还包括:当所述令牌桶中的令牌个数小于所述第一个数,且所述第一数据量小于或等于当前允许突发流量时,输出所述第一数据量的视频数据;刷新所述当前允许突发流量的值,将所述当前允许突发流量减掉所述第一数据量;当所述令牌桶中的令牌个数小于所述第一个数,且所述第一数据量大于所述当前允许突发流量时,延迟第一预设时间获取所述第一个数个令牌。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述视频请求获取请求队列;确定所述请求队列中请求数据包的大小;根据所述请求数据包的大小及本端与视频存储装置之间的带宽,计算对于所述视频存储装置的最大请求个数;从所述请求对列中按顺序获取所述最大请求个数的请求数据包进行合包,得到合并请求包;将所述合并请求包发送至所述视频存储装置,请求与所述合并请求包大小相同的视频数据包;和/或,所述方法还包括:接收所述视频数据包,所述视频数据包中包括所述最大请求个数的子视频数据包,所述子视频数据包与所述合并请求包中的请求数据包一一对应;将所述视频数据包进行拆包,得到与所述请求数据包对应的子视频数据包。7.一种服务器输出流量限速装置,其特征在于,包括:第一获取模块,用于根据接收到的视频请求获取所述视频请求对应视频的码率;第一确定模块,用于根据所述码率确定所述服务器的输出速率上限;输出模块,用于根据所述输出...

【专利技术属性】
技术研发人员:石志杰
申请(专利权)人:暴风集团股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1