CN112312165A - 视频下发方法、装置及计算机可读存储介质 - Google Patents
视频下发方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112312165A CN112312165A CN202011118958.2A CN202011118958A CN112312165A CN 112312165 A CN112312165 A CN 112312165A CN 202011118958 A CN202011118958 A CN 202011118958A CN 112312165 A CN112312165 A CN 112312165A
- Authority
- CN
- China
- Prior art keywords
- token
- video
- client
- user
- pool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 238000009826 distribution Methods 0.000 title claims description 13
- 238000004519 manufacturing process Methods 0.000 claims description 24
- 238000002716 delivery method Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25891—Management of end-user data being end-user preferences
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例涉及数字化服务领域,公开了一种视频下发方法、装置及计算机可读存储介质,视频下发方法包括:响应于客户端发送的令牌获取请求,判断令牌池内是否存在令牌,并在判定令牌池内存在令牌时,向客户端发送令牌,其中,令牌池内预先放置多个令牌,每向客户端发送一次令牌,令牌池内的令牌数量减少预设数量;接收客户端发送的视频播放请求;根据预设的校验规则判断视频播放请求中携带的令牌是否为有效令牌,在判定令牌为有效令牌时,向客户端下发目标视频。本发明提供的视频下发方法、装置及计算机可读存储介质能够在最大程度的利用服务器的带宽资源的同时,有效防止突发的高并播放请求发导致服务器崩溃。
Description
技术领域
本发明实施例涉及数字化服务领域,特别涉及一种视频下发方法、装置及计算机可读存储介质。
背景技术
随着互联网的高速发展,用户对视频的需求量越来越大,视频网站也随之增长。与此同时,潜在的问题逐渐显现出来,如某一个视频平台同时在线播放的人数过多时,带宽和服务器资源压力过大,会导致服务器崩溃,所有人都无法在线观看视频。在现有技术中,有如下两种技术方案解决上述技术问题:1、增加服务器的带宽资源,保证有充足的资源来处理视频播放请求;2、接入CDN,通过CDN缓存减少对服务器的直接访问,以减少服务器的资源访问压力。
发明人发现现有技术中至少存在如下问题:分析第一种技术方案:如果进行资源扩充,服务会被迫中止,所有用户都会出现卡顿,崩溃的情况,且即使增加服务器的带宽资源还是会存在服务器资源的瓶颈;分析第二种技术方案:需要接入第三方服务,且需要临时中止目前的服务,经过改造之后再重新提供服务。此外,以上两种技术方案均无法应对突发的大量视频同时播放的场景。
发明内容
本发明实施方式的目的在于提供一种视频下发方法、装置及计算机可读存储介质,其能够在最大程度的利用服务器的带宽资源的同时,有效防止突发的高并发播放请求导致服务器崩溃。
为解决上述技术问题,本发明的实施方式提供了一种视频下发方法,包括:
响应于客户端发送的令牌获取请求,判断令牌池内是否存在令牌,并在判定所述令牌池内存在令牌时,向所述客户端发送令牌,其中,所述令牌池内预先放置多个令牌,每向所述客户端发送一次令牌,所述令牌池内的令牌数量减少预设数量;接收客户端发送的视频播放请求,其中,所述视频播放请求指向目标视频,所述视频播放请求中携带所述客户端接收到的令牌;根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,在判定所述令牌为有效令牌时,向所述客户端下发所述目标视频。
本发明的实施方式还提供了一种视频下发装置,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的视频下发方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的视频下发方法。
本发明的实施方式相对于现有技术而言,在客户端发送令牌获取请求时,通过在令牌池内是在令牌时向客户端发送令牌,由于令牌池的令牌个数有限,且每向一个客户端发送一次令牌,令牌池内的令牌数量都会减少,使得获得令牌的客户端的数量有限;又由于只有获得令牌的客户端才有资格向服务器请求视频播放,从而使有资格播放视频的客户端的数量有限,避免了“视频平台同时在线播放的人数过多时,带宽和服务器资源压力过大,会导致服务器崩溃,所有人都无法在线观看视频”的情况的发生,确保了至少部分客户端能够正常播放视频,从而最大程度的利用了服务器的带宽资源。此外,由于还会根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,在判定所述令牌为有效令牌时,再向所述客户端下发所述目标视频,能够在多个客户端同时(或几乎同时)向服务器发送视频请求时,直接判定这些客户端发生的令牌为无效令牌,从而有效的防止了突发的高并发播放请求导致服务器崩溃。
另外,所述令牌池内的令牌具有多种令牌种类,所述令牌获取请求中携带所述客户端的用户类型,其中,每种用户类型均与一种令牌种类的令牌匹配;所述判断令牌池内是否存在令牌,包括:获取与所述用户类型匹配的令牌种类;判断所述令牌池内是否存在与所述用户类型匹配的令牌种类的令牌。
另外,所述用户类型包括:星级用户、会员用户、活跃用户以及僵尸用户;所述令牌种类包括:星标用户令牌、会员用户令牌、活跃用户令牌以及不活跃用户令牌;其中,所述星级用户与所述星标用户令牌匹配,所述会员用户与所述会员用户令牌匹配,所述活跃用户与所述活跃用户令牌匹配,所述僵尸用户与所述不活跃用户令牌匹配。
另外,所述令牌至少包括以下信息:令牌ID、用户类型以及令牌有效时间,所述根据预设的校验规则判断所述令牌是否为有效令牌,包括:根据所述令牌ID判断所述令牌是否为伪造令牌;获取所述令牌的令牌种类,判断所述令牌种类是否与所述用户类型匹配;根据所述令牌有效时间判断所述令牌是否过期;在判定所述令牌不是伪造令牌、所述令牌种类与所述用户类型匹配、且所述令牌没有过期时,判定所述令牌为有效令牌。
另外,在判定所述令牌不是伪造令牌、所述令牌种类与所述用户类型匹配、且所述令牌没有过期后,还包括:获取所述客户端的IP地址,判断所述IP地址是否在预设的黑名单内;在判定所述IP地址不在所述黑名单内时,再判定所述令牌为有效令牌。
另外,所述令牌中还包括令牌生产批次号,在判定所述令牌不是伪造令牌、所述令牌种类与所述用户类型匹配、所述令牌没有过期后,还包括:判断服务器资源是否到达预设负载,在判定服务器资源到达预设负载时,获取无效令牌生产批次号;判断所述令牌生产批次号是否属于所述无效令牌生产批次号,在判定属于所述无效令牌生产批次号时,判定所述令牌为无效令牌;在判定不属于所述无效令牌生产批次号时,判定所述令牌为有效令牌。
另外,在判定所述令牌池内不存在令牌时,还包括:获取所述客户端的用户信息;将所述用户信息记录在失败排队队列,其中,所述失败排队队列用于存储所有未获取到所述令牌的客户端的用户信息;每隔预设时长检测所述令牌池内是否存在令牌,在检测到所述令牌池内存在令牌时,自所述失败排队队列中位置最靠前的用户信息开始,依次向与所述用户信息对应的客户端发送所述令牌,其中,客户端发送所述令牌获取请求的时间越早,该客户端对应的用户信息在所述失败排队队列中的位置越靠前。
另外,在判定所述令牌为有效令牌后,还包括:根据所述目标视频的大小、预设的客户端最大下载速率计算所述目标视频的最小传输时间;获取所述目标视频的实际传输时间,并在判定所述实际传输时间小于所述最小传输时间时,减小所述预设的客户端最大下载速率。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式提供的视频下发方法的流程图;
图2是根据本发明第一实施方式提供的令牌池的形成示意图;
图3是根据本发明第一实施方式提供的视频下发方法的工作流程图;
图4是根据本发明第一实施方式提供的令牌生产规则图;
图5是根据本发明第二实施方式提供的视频下发方法的流程图;
图6是根据本发明第二实施方式提供的令牌校验规则图;
图7是根据本发明第三实施方式提供的视频下发方法的流程图;
图8是根据本发明第四实施方式提供的视频下发方法的流程图;
图9是根据本发明第五实施方式提供的视频下发方法的流程图;
图10是根据本发明第五实施方式提供的视频下发方法的工作过程图;
图11是根据本发明第六实施方式提供的视频下发装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明所要求保护的技术方案。
本发明的第一实施方式涉及一种视频下发方法,具体流程如图1所示,包括:
S101:响应于客户端发送的令牌获取请求,判断令牌池内是否存在令牌,并在判定令牌池内存在令牌时,向客户端发送令牌。
具体的说,令牌池内预先放置多个令牌,每向所述客户端发送一次令牌,所述令牌池内的令牌数量减少预设数量。
值得一提的是,本实施方式中令牌池内的令牌具有多种令牌种类,所述令牌获取请求中携带所述客户端的用户类型,其中,每种用户类型均与一种令牌种类的令牌匹配;所述判断令牌池内是否存在令牌,包括:获取与所述用户类型匹配的令牌种类;判断所述令牌池内是否存在与所述用户类型匹配的令牌种类的令牌。具体的说,所述用户类型包括:星级用户、会员用户、活跃用户以及僵尸用户;所述令牌种类包括:星标用户令牌、会员用户令牌、活跃用户令牌以及不活跃用户令牌;其中,所述星级用户与所述星标用户令牌匹配,所述会员用户与所述会员用户令牌匹配,所述活跃用户与所述活跃用户令牌匹配,所述僵尸用户与所述不活跃用户令牌匹配。
如图2所示,本实施方式中的服务器包括令牌生产***,令牌生产***具有4种令牌生产队列,分别生产星标用户令牌以形成星标用户令牌桶;生产会员用户令牌以形成会员用户令牌桶;生产活跃用户令牌以形成活跃用户令牌桶;生产不活跃用户令牌以形成不常活跃用户令牌桶;其中,星标用户令牌桶、会员用户令牌桶、活跃用户令牌桶以及不常活跃用户令牌桶共同形成本实施方式中的令牌池。
S102:接收客户端发送的视频播放请求。
具体的说,所述视频播放请求指向目标视频,所述视频播放请求中携带所述客户端接收到的令牌。
S103:根据预设的校验规则判断视频播放请求中携带的令牌是否为有效令牌,在判定令牌为有效令牌时,向客户端下发目标视频。
具体的说,如图3所示,为本实施方式视频下发方法的整个过程。
本发明的实施方式相对于现有技术而言,在客户端发送令牌获取请求时,通过在令牌池内是在令牌时向客户端发送令牌,由于令牌池的令牌个数有限,且每向一个客户端发送一次令牌,令牌池内的令牌数量都会减少,使得获得令牌的客户端的数量有限;又由于只有获得令牌的客户端才有资格向服务器请求视频播放,从而使有资格播放视频的客户端的数量有限,避免了“视频平台同时在线播放的人数过多时,带宽和服务器资源压力过大,会导致服务器崩溃,所有人都无法在线观看视频”的情况的发生,确保了至少部分客户端能够正常播放视频,从而最大程度的利用了服务器的带宽资源。此外,由于还会根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,在判定所述令牌为有效令牌时,再向所述客户端下发所述目标视频,能够在多个客户端同时(或几乎同时)向服务器发送视频请求时,直接判定这些客户端发生的令牌为无效令牌,从而有效的防止了突发的高并发播放请求导致服务器崩溃。
本发明的第二实施方式涉及一种视频下发方法,本实施方式是对第一实施方式的进一步说明,具体说明了:如何根据根据预设的校验规则判断视频播放请求中携带的令牌是否为有效令牌。
本实施方式的具体流程如图5所示,包括:
S201:响应于客户端发送的令牌获取请求,判断令牌池内是否存在令牌,并在判定令牌池内存在令牌时,向客户端发送令牌。
S202:接收客户端发送的视频播放请求。
S203:根据令牌ID判断令牌是否为伪造令牌,在判定令牌不是伪造令牌时,执行步骤S204;否则,结束流程。
S204:获取令牌的令牌种类,判断令牌种类是否与用户类型匹配,在判定令牌种类与用户类型匹配时,执行步骤S205;否则,结束流程。
S205:根据令牌有效时间判断令牌是否过期,在判定令牌未过期时,执行步骤S206;否则,结束流程。
S206:获取客户端的IP地址,判断IP地址是否在预设的黑名单内,若不在,执行步骤S207;否则,结束流程。
S207:判定令牌为有效令牌,向客户端下发目标视频。
本发明的实施方式相对于现有技术而言,在客户端发送令牌获取请求时,通过在令牌池内是在令牌时向客户端发送令牌,由于令牌池的令牌个数有限,且每向一个客户端发送一次令牌,令牌池内的令牌数量都会减少,使得获得令牌的客户端的数量有限;又由于只有获得令牌的客户端才有资格向服务器请求视频播放,从而使有资格播放视频的客户端的数量有限,避免了“视频平台同时在线播放的人数过多时,带宽和服务器资源压力过大,会导致服务器崩溃,所有人都无法在线观看视频”的情况的发生,确保了至少部分客户端能够正常播放视频,从而最大程度的利用了服务器的带宽资源。此外,由于还会根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,在判定所述令牌为有效令牌时,再向所述客户端下发所述目标视频,能够在多个客户端同时(或几乎同时)向服务器发送视频请求时,直接判定这些客户端发生的令牌为无效令牌,从而有效的防止了突发的高并发播放请求导致服务器崩溃。
本发明的第三实施方式涉及一种视频下发方法,第三实施方式与第二实施方式大致相同,主要区别之处在于:在判定所述令牌不是伪造令牌、所述令牌种类与所述用户类型匹配、所述令牌没有过期后,还会在服务器资源到达预设负载时,直接让多个令牌无效,进一步避免了服务器因资源压力过大而崩溃。
本实施方式的具体流程如图6所示,包括:
S301:响应于客户端发送的令牌获取请求,判断令牌池内是否存在令牌,并在判定令牌池内存在令牌时,向客户端发送令牌。
S302:接收客户端发送的视频播放请求。
S303:根据令牌ID判断令牌是否为伪造令牌,在判定令牌不是伪造令牌时,执行步骤S304;否则,结束流程。
S304:获取令牌的令牌种类,判断令牌种类是否与用户类型匹配,在判定令牌种类与用户类型匹配时,执行步骤S305;否则,结束流程。
S305:根据令牌有效时间判断令牌是否过期,在判定令牌未过期时,执行步骤S306;否则,结束流程。
S306:在判定服务器资源到达预设负载时,获取无效令牌生产批次号,判断令牌生产批次号是否属于无效令牌生产批次号,若不属于,执行步骤S307;否则,结束流程。
S307:判定令牌为有效令牌,向客户端下发目标视频。
具体的说,如图7所示,令牌校验规则包括安全校验、过期校验、ip黑名单校验、重复校验以及一批次令牌失效。策略配置***包括如下几种策略:1、控制令牌有效期,保证令牌存活时间周期;2、根据用户类型控制某类令牌生产速度;3、直接控制所有令牌的生产速度;4、配置令牌生产的批次号;5、校验令牌时优先校验ip黑名单和是否过期;6、令牌策略配置有改动通过kafka,以消息模式通知到生产***和视频平台侧;7、在带宽和服务器资源到达极限负载情况下,可以通过配置中心通知校验测某批次令牌全部失效。
本发明的实施方式相对于现有技术而言,在客户端发送令牌获取请求时,通过在令牌池内是在令牌时向客户端发送令牌,由于令牌池的令牌个数有限,且每向一个客户端发送一次令牌,令牌池内的令牌数量都会减少,使得获得令牌的客户端的数量有限;又由于只有获得令牌的客户端才有资格向服务器请求视频播放,从而使有资格播放视频的客户端的数量有限,避免了“视频平台同时在线播放的人数过多时,带宽和服务器资源压力过大,会导致服务器崩溃,所有人都无法在线观看视频”的情况的发生,确保了至少部分客户端能够正常播放视频,从而最大程度的利用了服务器的带宽资源。此外,由于还会根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,在判定所述令牌为有效令牌时,再向所述客户端下发所述目标视频,能够在多个客户端同时(或几乎同时)向服务器发送视频请求时,直接判定这些客户端发生的令牌为无效令牌,从而有效的防止了突发的高并发播放请求导致服务器崩溃。
本发明的第四实施方式涉及一种视频下发方法,第四实施方式是在第一实施方式的基础上做了进一步的改进,具体改进之处在于:在第四实施方式中,在判定所述令牌池内不存在令牌时,还会将未获取到令牌的客户端放入失败排队队列中进行排队,以使客户端能够尽快播放视频,提高用户的使用体验。
本实施方式的具体流程如图8所示,包括:
S401:响应于客户端发送的令牌获取请求,判断令牌池内是否存在令牌,若是,执行步骤S402;若否,执行步骤S405。
S402:向客户端发送令牌。
S403:接收客户端发送的视频播放请求。
S404:根据预设的校验规则判断视频播放请求中携带的令牌是否为有效令牌,在判定视频播放请求中携带的令牌为有效令牌时,向客户端下发目标视频。
S405:获取客户端的用户信息。
S406:将用户信息记录在失败排队队列。
S407:每隔预设时长检测令牌池内是否存在令牌,在检测到令牌池内存在令牌时,自失败排队队列中位置最靠前的用户信息开始,依次向与用户信息对应的客户端发送令牌,并执行步骤S403。
本发明的实施方式相对于现有技术而言,在客户端发送令牌获取请求时,通过在令牌池内是在令牌时向客户端发送令牌,由于令牌池的令牌个数有限,且每向一个客户端发送一次令牌,令牌池内的令牌数量都会减少,使得获得令牌的客户端的数量有限;又由于只有获得令牌的客户端才有资格向服务器请求视频播放,从而使有资格播放视频的客户端的数量有限,避免了“视频平台同时在线播放的人数过多时,带宽和服务器资源压力过大,会导致服务器崩溃,所有人都无法在线观看视频”的情况的发生,确保了至少部分客户端能够正常播放视频,从而最大程度的利用了服务器的带宽资源。此外,由于还会根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,在判定所述令牌为有效令牌时,再向所述客户端下发所述目标视频,能够在多个客户端同时(或几乎同时)向服务器发送视频请求时,直接判定这些客户端发生的令牌为无效令牌,从而有效的防止了突发的高并发播放请求导致服务器崩溃。
本发明的第五实施方式涉及一种视频下发方法,第五实施方式是在第一实施方式的基础上做了进一步的改进,具体改进之处在于:在判定所述视频播放请求中携带的令牌为有效令牌后,还会对客户端进行限速,确保客户端不会分配过高的带宽流量,从而节约了服务器的带宽流量,提高了网络的利用率。
本实施方式的具体流程如图9所示,包括:
S501:响应于客户端发送的令牌获取请求,判断令牌池内是否存在令牌,并在判定令牌池内存在令牌时,向客户端发送令牌。
S502:接收客户端发送的视频播放请求。
S503:根据预设的校验规则判断视频播放请求中携带的令牌是否为有效令牌,在判定令牌为有效令牌时,根据目标视频的大小、预设的客户端最大下载速率计算目标视频的最小传输时间。
S504:获取目标视频的实际传输时间,判断实际传输时间是否小于最小传输时间,若是,执行步骤S505;若否,执行步骤S506。
S505:减小的客户端最大下载速率,以减小的最大下载速率向客户端下发目标视频。
S506:以预设的客户端最大下载速率向客户端下发目标视频。
具体的说,如图10所示,本实施方式对客户端的限速规则如下:
1、从配置中心获取的最大下载速率maxDownload(单位KB/s)以及从存储服务获取视频的一段视频流文件块(ts)。通过最大下载速率算出在maxDownload的速率下,通过一个视频流文件块(ts)大小的字节流所需要的时间开销timeExpensesLimit。
2、在往视频服务器写入字节时,维护已经写入的字节量bytesWriteBuffer。
3、当bytesWriteBuffer达到一个ts的大小时,检查期间消耗的时间timeExpenseskPerTs。
4、如果期间消耗的时间小于timeExpensesLimit的值,说明当前的速率已经超过了maxDownload的速率,这时候就需要让线程进入阻塞状态来限制流量,当时间达到timeExpensesLimit之后,再自动唤醒该线程。
5、如果速率没超过或者休眠完后,正常返回结果,并之后在写入数据时继续检查。
本发明的实施方式相对于现有技术而言,在客户端发送令牌获取请求时,通过在令牌池内是在令牌时向客户端发送令牌,由于令牌池的令牌个数有限,且每向一个客户端发送一次令牌,令牌池内的令牌数量都会减少,使得获得令牌的客户端的数量有限;又由于只有获得令牌的客户端才有资格向服务器请求视频播放,从而使有资格播放视频的客户端的数量有限,避免了“视频平台同时在线播放的人数过多时,带宽和服务器资源压力过大,会导致服务器崩溃,所有人都无法在线观看视频”的情况的发生,确保了至少部分客户端能够正常播放视频,从而最大程度的利用了服务器的带宽资源。此外,由于还会根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,在判定所述令牌为有效令牌时,再向所述客户端下发所述目标视频,能够在多个客户端同时(或几乎同时)向服务器发送视频请求时,直接判定这些客户端发生的令牌为无效令牌,从而有效的防止了突发的高并发播放请求导致服务器崩溃。
本发明第六实施方式涉及一种视频下发装置,如图11所示,包括:
至少一个处理器601;以及,
与至少一个处理器601通信连接的存储器602;其中,
存储器602存储有可被至少一个处理器601执行的指令,指令被至少一个处理器601执行,以使至少一个处理器601能够执行上述视频下发方法。
其中,存储器602和处理器601采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器601和存储器602的各种电路连接在一起。总线还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器601处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器601。
处理器601负责管理总线和通常的处理,还可以提供各种功能,包括定时,***接口,电压调节、电源管理以及其他控制功能。而存储器602可以被用于存储处理器601在执行操作时所使用的数据。
本发明第七实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (10)
1.一种视频下发方法,其特征在于,包括:
响应于客户端发送的令牌获取请求,判断令牌池内是否存在令牌,并在判定所述令牌池内存在令牌时,向所述客户端发送令牌,其中,所述令牌池内预先放置多个令牌,每向所述客户端发送一次令牌,所述令牌池内的令牌数量减少预设数量;
接收所述客户端发送的视频播放请求,其中,所述视频播放请求指向目标视频,所述视频播放请求中携带所述客户端接收到的令牌;
根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,在判定所述视频播放请求中携带的令牌为有效令牌时,向所述客户端下发所述目标视频。
2.根据权利要求1所述的视频下发方法,其特征在于,所述令牌池内的令牌具有多种令牌种类,所述令牌获取请求中携带所述客户端的用户类型,其中,每种用户类型均与一种令牌种类的令牌匹配;
所述判断令牌池内是否存在令牌,包括:
获取与所述用户类型匹配的令牌种类;
判断所述令牌池内是否存在与所述用户类型匹配的令牌种类的令牌。
3.根据权利要求2所述的视频下发方法,其特征在于,所述用户类型包括:星级用户、会员用户、活跃用户以及僵尸用户;
所述令牌种类包括:星标用户令牌、会员用户令牌、活跃用户令牌以及不活跃用户令牌;
其中,所述星级用户与所述星标用户令牌匹配,所述会员用户与所述会员用户令牌匹配,所述活跃用户与所述活跃用户令牌匹配,所述僵尸用户与所述不活跃用户令牌匹配。
4.根据权利要求2所述的视频下发方法,其特征在于,所述令牌至少包括以下信息:令牌ID、用户类型以及令牌有效时间,所述根据预设的校验规则判断所述视频播放请求中携带的令牌是否为有效令牌,包括:
根据所述令牌ID判断所述令牌是否为伪造令牌;
获取所述令牌的令牌种类,判断所述令牌种类是否与所述用户类型匹配;
根据所述令牌有效时间判断所述令牌是否过期;
在判定所述令牌不是伪造令牌、所述令牌种类与所述用户类型匹配、且所述令牌没有过期时,判定所述令牌为有效令牌。
5.根据权利要求4所述的视频下发方法,其特征在于,在判定所述令牌不是伪造令牌、所述令牌种类与所述用户类型匹配、且所述令牌没有过期后,还包括:
获取所述客户端的IP地址,判断所述IP地址是否在预设的黑名单内;
在判定所述IP地址不在所述黑名单内时,再判定所述令牌为有效令牌。
6.根据权利要求4所述的视频下发方法,其特征在于,所述令牌中还包括令牌生产批次号,在判定所述令牌不是伪造令牌、所述令牌种类与所述用户类型匹配、所述令牌没有过期后,还包括:
判断服务器资源是否到达预设负载,在判定服务器资源到达预设负载时,获取无效令牌生产批次号;
判断所述令牌生产批次号是否属于所述无效令牌生产批次号,在判定属于所述无效令牌生产批次号时,判定所述令牌为无效令牌;在判定不属于所述无效令牌生产批次号时,判定所述令牌为有效令牌。
7.根据权利要求1所述的视频下发方法,其特征在于,在判定所述令牌池内不存在令牌时,还包括:
获取所述客户端的用户信息;
将所述用户信息记录在失败排队队列,其中,所述失败排队队列用于存储所有未获取到所述令牌的客户端的用户信息;
每隔预设时长检测所述令牌池内是否存在令牌,在检测到所述令牌池内存在令牌时,自所述失败排队队列中位置最靠前的用户信息开始,依次向与所述用户信息对应的客户端发送所述令牌,其中,客户端发送所述令牌获取请求的时间越早,该客户端对应的用户信息在所述失败排队队列中的位置越靠前。
8.根据权利要求1所述的视频下发方法,其特征在于,在判定所述视频播放请求中携带的令牌为有效令牌后,还包括:
根据所述目标视频的大小、预设的客户端最大下载速率计算所述目标视频的最小传输时间;获取所述目标视频的实际传输时间,并在判定所述实际传输时间小于所述最小传输时间时,减小所述预设的客户端最大下载速率。
9.一种视频下发装置,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一项所述的视频下发方法。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的视频下发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011118958.2A CN112312165A (zh) | 2020-10-19 | 2020-10-19 | 视频下发方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011118958.2A CN112312165A (zh) | 2020-10-19 | 2020-10-19 | 视频下发方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112312165A true CN112312165A (zh) | 2021-02-02 |
Family
ID=74327967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011118958.2A Pending CN112312165A (zh) | 2020-10-19 | 2020-10-19 | 视频下发方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112312165A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113067875A (zh) * | 2021-03-24 | 2021-07-02 | 厦门立林科技有限公司 | 基于微服务网关动态流控的访问方法和装置以及设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686448A (zh) * | 2013-12-25 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 视频转码下载限速的方法和*** |
CN107483351A (zh) * | 2017-07-13 | 2017-12-15 | ***股份有限公司 | 一种限流方法及装置 |
US20190156001A1 (en) * | 2016-07-05 | 2019-05-23 | Alibaba Group Holding Limited | Authority revoking method and device |
CN109861920A (zh) * | 2019-01-16 | 2019-06-07 | 深圳市融汇通金科技有限公司 | 一种弹性限流的方法及装置 |
CN110198301A (zh) * | 2019-03-26 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种服务数据获取方法、装置及设备 |
CN111078391A (zh) * | 2018-10-22 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法、装置及设备 |
CN111162956A (zh) * | 2018-11-08 | 2020-05-15 | 优信数享(北京)信息技术有限公司 | 一种日志记录方法及装置 |
CN111182321A (zh) * | 2019-12-31 | 2020-05-19 | 广州博冠信息科技有限公司 | 处理信息的方法、装置和*** |
CN111404836A (zh) * | 2020-03-30 | 2020-07-10 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
-
2020
- 2020-10-19 CN CN202011118958.2A patent/CN112312165A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103686448A (zh) * | 2013-12-25 | 2014-03-26 | 乐视网信息技术(北京)股份有限公司 | 视频转码下载限速的方法和*** |
US20190156001A1 (en) * | 2016-07-05 | 2019-05-23 | Alibaba Group Holding Limited | Authority revoking method and device |
CN107483351A (zh) * | 2017-07-13 | 2017-12-15 | ***股份有限公司 | 一种限流方法及装置 |
CN111078391A (zh) * | 2018-10-22 | 2020-04-28 | 阿里巴巴集团控股有限公司 | 一种业务请求处理方法、装置及设备 |
CN111162956A (zh) * | 2018-11-08 | 2020-05-15 | 优信数享(北京)信息技术有限公司 | 一种日志记录方法及装置 |
CN109861920A (zh) * | 2019-01-16 | 2019-06-07 | 深圳市融汇通金科技有限公司 | 一种弹性限流的方法及装置 |
CN110198301A (zh) * | 2019-03-26 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种服务数据获取方法、装置及设备 |
CN111182321A (zh) * | 2019-12-31 | 2020-05-19 | 广州博冠信息科技有限公司 | 处理信息的方法、装置和*** |
CN111404836A (zh) * | 2020-03-30 | 2020-07-10 | 北京小米移动软件有限公司 | 数据传输控制方法、装置、控制中心、服务器及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113067875A (zh) * | 2021-03-24 | 2021-07-02 | 厦门立林科技有限公司 | 基于微服务网关动态流控的访问方法和装置以及设备 |
CN113067875B (zh) * | 2021-03-24 | 2023-06-02 | 厦门立林科技有限公司 | 基于微服务网关动态流控的访问方法和装置以及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290217B (zh) | 数据请求的处理方法及装置、存储介质及电子装置 | |
CN106656959B (zh) | 访问请求调控方法和装置 | |
CN107222426B (zh) | 控流的方法、装置及*** | |
US9703980B2 (en) | Centralized throttling service | |
CN110858843B (zh) | 业务请求处理方法、装置及计算机可读存储介质 | |
CN109802941A (zh) | 一种登录验证方法、装置、存储介质和服务器 | |
CN111641563B (zh) | 基于分布式场景的流量自适应方法与*** | |
CN110599136A (zh) | 区块链交易池流量管控方法以及装置 | |
US20070265976A1 (en) | License distribution in a packet data network | |
CN112187903B (zh) | 一种消息推送方法、装置及消息服务*** | |
CN113032410B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN110365598B (zh) | 心跳消息发送的方法、装置、服务器、终端及存储介质 | |
CN112312165A (zh) | 视频下发方法、装置及计算机可读存储介质 | |
CN111885057B (zh) | 消息中间件访问方法、装置、设备及存储介质 | |
CN107819754B (zh) | 一种防劫持方法、监控服务器、终端及*** | |
CN109379344B (zh) | 访问请求的鉴权方法及鉴权服务器 | |
CN116418893A (zh) | 一种数据管理的方法及相应装置 | |
CN109587270B (zh) | 一种用于移动终端省流访问网络的方法及移动终端 | |
CN111163055B (zh) | 一种非地面网络接入弱认证方法及装置 | |
CN112929347A (zh) | 一种限频方法、装置、设备及介质 | |
CN113489726B (zh) | 流量限制方法及设备 | |
CN113179247B (zh) | 拒绝服务攻击防护方法、电子装置和存储介质 | |
CN115150449B (zh) | 网络共享拒绝异常连接的方法、***、终端及存储介质 | |
CN114827281B (zh) | 一种网络请求的发送及接收方法、***及装置 | |
CN115037693B (zh) | 一种基于令牌桶的分布式限流方法和分布式限流装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210202 |