CN112312155B - 视频流的处理方法、装置和服务器 - Google Patents
视频流的处理方法、装置和服务器 Download PDFInfo
- Publication number
- CN112312155B CN112312155B CN202011199955.6A CN202011199955A CN112312155B CN 112312155 B CN112312155 B CN 112312155B CN 202011199955 A CN202011199955 A CN 202011199955A CN 112312155 B CN112312155 B CN 112312155B
- Authority
- CN
- China
- Prior art keywords
- video stream
- live broadcast
- service
- service port
- target
- 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.)
- Active
Links
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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
-
- 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/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26291—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44213—Monitoring of end-user related data
- H04N21/44222—Analytics of user selections, e.g. selection of programs or purchase activity
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Social Psychology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明提供了一种视频流的处理方法、装置和服务器,如果接收到对当前直播服务的升级指令,开启新直播服务对应的提供第二视频流的第二服务端口;当前直播服务的第一视频流由第一服务端口提供;从接收到的视频流获取请求中提取视频流信息;根据视频流信息判定视频流获取请求所获取的目标视频流属于第一视频流或第二视频流,以确定提供目标视频流的服务端口,通过该服务端口提供目标视频流。该方式在直播服务升级时,服务器中同时开启两组服务端口,通过第一服务端口提供原直播服务的视频流,通过第二服务端口提供新直播服务的视频流,因此无论目标视频流属于原直播服务还是新直播服务,只需一路回源获取视频流,降低了源站压力和回源成本。
Description
技术领域
本发明涉及视频处理技术领域,尤其是涉及一种视频流的处理方法、装置和服务器。
背景技术
随着直播行业的发展,需要对直播服务进行升级,以优化直播服务,该直播服务升级通常会将原直播服务更新为新启动的直播服务。
相关技术中,在直播服务升级时,通常原直播服务不再接收新的视频流获取请求,而是由新启动的直播服务接收新的视频流获取请求,但是新启动的直播服务中没有服务升级前的视频流,如果新的视频流获取请求需要获取升级前的视频流时,需要新启动的直播服务回源获取升级前的视频流;同时原直播服务还会根据升级前接收的视频流获取请求,回源获取升级前的视频流,从而导致直播服务在升级的过程中需要两路回源来获取升级前的视频流,增加了源站的压力和回源成本。
发明内容
本发明的目的在于提供一种视频流的处理方法、装置和服务器,以减少源站的压力和回源成本。
第一方面,本发明实施例提供了一种视频流的处理方法,该方法应用于直播服务器,该直播服务器中运行有第一服务端口,该第一服务端口用于提供当前直播服务的第一视频流;该方法包括:如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流;如果接收到视频流获取请求,从视频流获取请求中提取视频流信息;根据视频流信息,判定视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果;基于该判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流。
在可选的实施方式中,上述直播服务器中保存有第一视频流的视频流信息,以及第二视频流的视频流信息;上述根据视频流信息,判定视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果的步骤,包括:如果从视频流获取请求中提取的视频流信息与第一视频流的视频流信息相匹配,判定视频流获取请求所获取的目标视频流属于第一视频流;如果从视频流获取请求中提取的视频流信息与第二视频流的视频流信息相匹配,判定视频流获取请求所获取的目标视频流属于第二视频流。
在可选的实施方式中,上述基于判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流的步骤,包括:从保存的用户流数据中,查找视频流获取请求所获取的目标视频流所属的视频流的历史视频流信息;其中,用户流数据包括历史时刻向用户提供的历史视频流的历史视频流信息,以及提供历史视频流的服务端口;如果查找到历史视频流信息,将查找到的历史视频流信息对应的服务端口,确定为提供目标视频流的服务端口。
在可选的实施方式中,上述方法还包括:如果未查找到历史视频流信息,采用一致性哈希算法,从视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定提供目标视频流的服务端口。
在可选的实施方式中,上述第一服务端口包括多个;上述第二服务端口包括多个;上述采用一致性哈希算法,从视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定提供目标视频流的服务端口的步骤,包括:如果视频流获取请求所获取的目标视频流属于第一视频流,通过一致性哈希算法,从多个第一服务端口中,确定提供目标视频流的服务端口;如果视频流获取请求所获取的目标视频流属于第二视频流,通过一致性哈希算法,从多个第二服务端口中,确定提供目标视频流的服务端口。
在可选的实施方式中,上述从视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定提供目标视频流的服务端口的步骤之后,该方法还包括:将目标视频流对应的视频流信息以及确定的服务端口,关联保存至用户流数据中。
在可选的实施方式中,上述基于判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流的步骤之后,该方法还包括:判断当前直播服务中是否存在第一视频流;如果不存在,关闭第一服务端口。
第二方面,本发明实施例提供了一种视频流的处理装置,该装置设置于直播服务器,该直播服务器中运行有第一服务端口,该第一服务端口用于提供当前直播服务的第一视频流;该装置包括:新直播服务开启模块,用于如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流;请求接收模块,用于如果接收到视频流获取请求,从视频流获取请求中提取视频流信息;视频流归属判断模块,用于根据视频流信息,判定视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果;服务端口确定模块,用于基于判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流。
第三方面,本发明实施例提供了一种服务器,该服务器包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现前述实施方式任一项所述的视频流的处理方法。
第四方面,本发明实施例提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现前述实施方式任一项所述的视频流的处理方法。
本发明实施例带来了以下有益效果:
本发明提供的一种视频流的处理方法、装置和服务器,如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流;该当前直播服务对应的第一服务端口用于提供当前直播服务的第一视频流;如果接收到视频流获取请求,从该视频流获取请求中提取视频流信息;进而根据视频流信息,判定该视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果;然后基于该判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流。该方式在直播服务升级的过程中,为新直播服务开启相应的服务端口,此时服务器中同时开启两组服务端口,通过第一服务端口提供原直播服务的第一视频流,通过第二服务端口提供新直播服务的第二视频流,因此,在提供视频流获取请求所获取的目标视频流时,无论目标视频流是属于原直播服务的视频流还是新直播服务的视频流,只需一路回源获取视频流,从而降低了源站压力和回源成本。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种视频流的处理场景示意图;
图2为本发明实施例提供的一种视频流的处理方法的流程图;
图3为本发明实施例提供的另一种视频流的处理方法的流程图;
图4为本发明实施例提供的另一种视频流的处理方法的流程图;
图5为本发明实施例提供的一种视频流的处理装置的结构示意图;
图6为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,在直播服务升级的过程中,为了使原直播服务尽快退出进程,通常会将原直播服务设置为shutdown状态,也即是原直播服务对应的服务端口关闭,不再接收新的视频流获取请求;而是由新启动的直播服务接收新的视频流获取请求,但是新启动的直播服务中没有直播服务升级前的视频流,如果新的视频流获取请求需要获取升级前的视频流,则需要新启动的直播服务回源获取升级前的视频流;同时原直播服务还会根据升级前接收到的视频流获取请求,回源获取升级前的视频流,从而导致直播服务在升级的过程中需要两路回源来获取升级前的视频流,增加了源站的压力、浪费了带宽,也增加了回源成本。
基于上述问题,本发明实施例提供了一种视频流的处理方法、装置和服务器,该技术可以应用于直播服务升级的场景中,尤其是直播服务升级过程中的视频流拉取场景中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种视频流的处理方法进行详细介绍,该方法应用于直播服务器,该直播服务器为预设的多个直播服务器中的任意一个,每个直播服务器中均运行有第一服务端口,该第一服务端口用于提供当前直播服务的第一视频流,该第一视频流可以理解为视频提供者通过当前直播服务提供的视频流;如图1所示为一种视频流的处理场景示意图,图1中给出了3个直播服务器,在具体实现时,该直播服务器的数量可以为任意多个,图1中的实线表示第一视频流的获取路径,也即是第一视频流是从第一服务端口中获取的,该第一服务端口的数量可以为一个或者多个。
如图2所示,该视频流的处理方法包括如下具体步骤:
步骤S202,如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流。
上述对当前直播服务的升级指令可以是对当前直播服务的版本升级,可以是对当前直播服务中某些插件的优化,也可以是对当前直播服务中某些漏洞的修复等,通过对当前直播服务的升级可以更好地为视频提供者和观看者提供直播服务。当接收到对当前直播服务的升级指令时,开启新直播服务对应的第二服务端口,也即是开启新直播服务,此时,当前直播服务的对应的第一服务端口仍然处于开启状态;该当前直播服务即成为升级前的直播服务,该新直播服务即成为升级后的直播服务,该新直播服务对应的第二服务端口可以提供第二视频流,如图1中的虚线为第二视频流的获取路径。
该第二视频流为视频提供者通过新直播服务提供的视频流,例如,在对当前直播服务升级时,视频提供者登录直播服务时,会在新直播服务中进行登录,此时,该视频提供者将通过新直播服务提供第二视频流。在具体实现时,上述第二服务端口是与第一服务端口不同的服务端口,该第二服务端口的数量可以为一个或者多个,具体数量可以由研发人员设定。
步骤S204,如果接收到视频流获取请求,从该视频流获取请求中提取视频流信息。
上述视频获取请求通常是用户通过终端设备发送的,该终端设备可以是移动终端(例如,手机、平板电脑等),也可以是计算机等。该视频流获取请求中携带有视频流信息,该视频流信息中可以包括:视频流名称、视频流类型和视频流对应的域名等,该视频流类型包括游戏类、社交类、购物类等。
步骤S206,根据上述视频流信息,判定该视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果。
根据视频流信息可以确定出视频流获取请求所获取的目标视频流属于第一视频流,或者属于第二视频流。在具体实现时,该目标视频流也即是视频流信息对应的视频流,由于视频提供者在通过直播服务提供视频流时,直播服务器均会记录通过该直播服务提供的视频流的视频流信息,也即是会记录第一视频流的视频流信息和第二视频流的视频流信息,在确定目标视频流所属的视频流时,可以根据目标视频流的视频流信息中保存的信息,与第一视频流的视频流信息和第二视频流的视频流信息进行匹配,以从第一视频流和第二视频流中确定所属的视频流。
步骤S208,基于上述判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流。
在具体实现时,如果判定结果中指示视频流获取请求所获取的目标视频流属于第一视频流,通过第一服务端口提供目标视频流;如果判定结果中指示视频流获取请求所获取的目标视频流属于第二视频流,通过第二服务端口提供目标视频流。由于在当前直播服务升级的过程中,第一服务端口和第二服务端口均处于开启状态,所以无论目标视频流属于第一视频流还是第二视频流,视频流的获取只要进行一次回源即可,无需对第一视频流(相当于上述升级前的视频流)进行两路回源,从而降低了回源成本。
本发明实施例提供的一种视频流的处理方法,如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流;该当前直播服务对应的第一服务端口用于提供当前直播服务的第一视频流;如果接收到视频流获取请求,从该视频流获取请求中提取视频流信息;进而根据视频流信息,判定该视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果;然后基于该判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流。该方式在直播服务升级的过程中,为新直播服务开启相应的服务端口,此时服务器中同时开启两组服务端口,通过第一服务端口提供原直播服务的第一视频流,通过第二服务端口提供新直播服务的第二视频流,因此,在提供视频流获取请求所获取的目标视频流时,无论目标视频流是属于原直播服务的视频流还是新直播服务的视频流,只需一路回源获取视频流,从而降低了源站压力和回源成本。
本发明实施例还提供另一种视频流的处理方法,该方法在上述实施例所述方法的基础上实现;该方法重点描述根据视频流信息,判定视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果的具体过程(通过下述步骤S306-S310实现);如图3所示,该方法包括如下步骤:
步骤S302,如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流。
步骤S304,如果接收到视频流获取请求,从该视频流获取请求中提取视频流信息。
步骤S306,将直播服务器中保存的第一视频流的视频流信息和第二视频流的视频流信息,与从视频流获取请求中提取的视频流信息进行匹配。
上述第一视频流的视频流信息中包括第一视频流的视频流名称、视频流类型和视频流对应的域名等;上述第二视频流的视频流信息中包括第二视频流的视频流名称、视频流类型和视频流对应的域名。在具体实现时,上述第一视频流可以包括多个视频流,该第一视频流的视频流信息中包括每个第一视频流对应的视频流信息;第二视频流也可以包括多个视频流,该第二视频流的视频流信息中包括每个第二视频流对应的视频流信息。
在实际应用中,通过视频流信息的匹配,可以确定视频流获取请求中提取的视频流信息所属的视频流,该视频流信息的匹配方式可以是:在第一视频流的视频流信息和第二视频流的视频流信息中,查找视频获取请求中提取的视频流信息中的视频流名称、视频流类型和视频流对应的域名。
步骤S308,如果从视频流获取请求中提取的视频流信息与第一视频流的视频流信息相匹配,判定视频流获取请求所获取的目标视频流属于第一视频流。
视频流获取请求中提取的视频流信息与第一视频流的视频流信息相匹配可以理解为:在第一视频流的视频流信息中查找到视频流获取请求中提取的视频流信息。
步骤S310,如果从视频流获取请求中提取的视频流信息与第二视频流的视频流信息相匹配,判定视频流获取请求所获取的目标视频流属于第二视频流。
视频流获取请求中提取的视频流信息与第二视频流的视频流信息相匹配可以理解为:在第二视频流的视频流信息中查找到视频流获取请求中提取的视频流信息。
步骤S312,基于目标视频流所属的视频流,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流。
在具体实现时,如果目标视频流属于第一视频流,通过第一视频流对应的第一服务端口向发送视频流获取请求的用户提供目标视频流;如果目标视频流属于第二视频流,通过第二视频流对应的第二服务端口向发送视频流获取请求的用户提供目标视频流。
步骤S314,判断当前直播服务中是否存在第一视频流;如果存在,执行步骤S304;如果不存在,执行步骤S316。
步骤S316,关闭当前直播服务对应的第一服务端口。
在当前直播服务升级过程中,需要监控当前直播服务中是否存在第一视频流,也即是监控是否有视频提供者通过当前直播服务提供第一视频流;如果有,需要继续执行步骤S304;如果没有,此时需要关闭当前直播服务对应的第一服务端口,以完成对当前直播服务的升级。
在具体实现时,上述视频提供者通常是指主播。在当前直播服务升级之前,如果主播已经在直播,也即是该主播通过当前直播服务向直播观看者提供直播视频流,此时,如果直播观看者通过终端设备向直播服务器发送该直播视频流的视频流获取请求时,通过当前直播服务对应的第一服务端口向直播观看者提供该直播视频流。该主播下播后再次登录时,如果正在对当前直播服务升级或者已经升级完成,该主播将通过新直播服务向直播观看者提供直播视频流,此时,如果直播观看者通过终端设备向直播服务器发送该直播视频流的视频流获取请求时,通过新直播服务对应的第二服务端口向直播观看者提供该直播视频流。如果在当前直播服务升级之前已经直播的所有主播均下线后,原直播服务(相当于上述当前直播服务)将自动退出,也即是原直播服务对应的第一服务端口将关闭,此时直播服务升级完成。
上述视频流的处理方法,在当前直播服务升级的过程中,同时开启当前直播服务和新直播服务,该当前直播服务和新直播服务均可提供服务,从而保证了用户在发送升级前的视频流的视频流获取请求时,可以通过当前直播服务对应的第一服务端口提供升级前的视频流,从而避免了直播服务升级过程中两路回源的现象,同时也降低了回源成本,节省了回源贷款。
本发明实施例还提供另一种视频流的处理方法,该方法在上述实施例所述方法的基础上实现;该方法重点描述基于判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流的具体过程(通过下述步骤S408-S412实现);如图4所示,该方法包括如下步骤:
步骤S402,如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流。
步骤S404,如果接收到视频流获取请求,从该视频流获取请求中提取视频流信息。
步骤S406,根据上述视频流信息,判定该视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果。
步骤S408,判断保存的用户流数据中,是否查找到视频流获取请求所获取的目标视频流所属的视频流的历史视频流信息;如果是,指定步骤S410;否则,执行步骤S412。
上述用户流数据包括历史时刻向用户提供的历史视频流的历史视频流信息,以及提供该历史视频流的服务端口。该历史视频流信息中包括历史视频流的视频流名称、视频流类型和视频流对应的域名,在具体实现时,上述历史视频流的数量可以为多个,每个历史视频流都有各自对应的服务端口。该用户流数据通常保存在共享文件中,该共享文件中的数据可以被多个直播服务器共享。
步骤S410,将查找到的历史视频流信息对应的服务端口,确定为提供目标视频流的服务端口。
如果在用户流数据的历史视频流信息中,查找到视频流获取请求所获取的目标视频流所属的视频流的历史视频流信息,将用户流数据中,该查找到的历史视频流信息对应的服务端口,确定为提供目标视频流的服务端口。也可以理解为用户流数据中,获取每个历史视频流的服务端口是固定的,下次在接收到该历史视频流的获取请求时(也即是目标视频流属于该历史视频流时),会通过该历史视频流对应的服务端口,提供该历史视频流,从而可以节省确定获取视频流的服务端口的计算量,也可以保证视频流获取的有序进行。
步骤S412,采用一致性哈希算法,从视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定提供目标视频流的服务端口;执行步骤S414。
如果在用户流数据的历史视频流信息中,未查找到视频流获取请求所获取的目标视频流所属的视频流的历史视频流信息,需要从视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定出目标视频流的服务端口。上述一致性哈希(Hash)算法可以对视频流获取请求与提供视频流的服务端口之间的关系进行映射,以达到动态分配服务端口的目的,该一致性哈希算法可以尽量保持每个服务端口的负载均衡。
在具体实现时,第一服务端口包括多个,例如,该第一服务端口的端口号可以为1936~1949和8080~8093;第二服务端口包括多个,该第二服务端口的端口号可以为1950~1963和8094~8107;上述步骤S412可以通过下述步骤10-11实现:
步骤10,如果视频流获取请求所获取的目标视频流属于第一视频流,通过一致性哈希算法,从多个第一服务端口中,确定提供目标视频流的服务端口。
步骤11,如果视频流获取请求所获取的目标视频流属于第二视频流,通过一致性哈希算法,从多个第二服务端口中,确定提供目标视频流的服务端口。
步骤S414,将目标视频流对应的视频流信息以及确定的服务端口,关联保存至上述用户流数据中。
在步骤S412中确定出提供目标视频流的服务端口时,需要将目标视频流对应的视频流信息作为历史视频流信息,并目标视频流对应的历史视频流信息和确定出的服务端口,关联保存至用户流数据中,以使下次接收到目标视频流的视频流获取请求时,通过用户流数据中目标视频流的历史视频流信息对应的服务端口提供目标视频流,从而可以精准拉取视频流数据,也可以减少计算获取视频流的服务端口的计算量。
上述视频流的处理方法,通过保存的用户流数据,可以有效判断视频流获取请求所获取的目标视频流所属的视频流,然后通过所属的视频流对应的服务端口精确拉取流目标视频流,提高了视频流获取的效率;同时,如果目标视频流的视频流信息未保存在用户流数据中,可以通过一致性哈希算法确定获取目标视频流的服务端口,从而有效的避免多路回源的现象。
对应于上述方法实施例,本发明实施例还提供了一种视频流的处理装置,该装置设置于直播服务器,该直播服务器中运行有第一服务端口,该第一服务端口用于提供当前直播服务的第一视频流;如图5所示,该装置包括:
新直播服务开启模块50,用于如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流。
请求接收模块51,用于如果接收到视频流获取请求,从该视频流获取请求中提取视频流信息。
视频流归属判断模块52,用于根据视频流信息,判定视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果。
服务端口确定模块53,用于基于判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流。
上述视频流的处理装置,如果接收到对当前直播服务的升级指令,开启新直播服务对应的第二服务端口;该第二服务端口用于提供新直播服务的第二视频流;该当前直播服务对应的第一服务端口用于提供当前直播服务的第一视频流;如果接收到视频流获取请求,从该视频流获取请求中提取视频流信息;进而根据视频流信息,判定该视频流获取请求所获取的目标视频流属于第一视频流或者第二视频流,得到判定结果;然后基于该判定结果,确定提供目标视频流的服务端口,通过确定的服务端口提供目标视频流。该方式在直播服务升级的过程中,为新直播服务开启相应的服务端口,此时服务器中同时开启两组服务端口,通过第一服务端口提供原直播服务的第一视频流,通过第二服务端口提供新直播服务的第二视频流,因此,在提供视频流获取请求所获取的目标视频流时,无论目标视频流是属于原直播服务的视频流还是新直播服务的视频流,只需一路回源获取视频流,从而降低了源站压力和回源成本。
具体地,上述直播服务器中保存有第一视频流的视频流信息,以及该第二视频流的视频流信息;上述视频流归属判断模块52,用于:如果从视频流获取请求中提取的视频流信息与第一视频流的视频流信息相匹配,判定视频流获取请求所获取的目标视频流属于第一视频流;如果从视频流获取请求中提取的视频流信息与第二视频流的视频流信息相匹配,判定视频流获取请求所获取的目标视频流属于第二视频流。
进一步地,上述服务端口确定模块53,用于:从保存的用户流数据中,查找视频流获取请求所获取的目标视频流所属的视频流的历史视频流信息;其中,用户流数据包括历史时刻向用户提供的历史视频流的历史视频流信息,以及提供历史视频流的服务端口;如果查找到历史视频流信息,将查找到的历史视频流信息对应的服务端口,确定为提供目标视频流的服务端口。
具体地,上述服务端口确定模块53,还包括端口匹配单元,用于:如果未查找到历史视频流信息,采用一致性哈希算法,从视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定提供目标视频流的服务端口。
在具体实现时,上述第一服务端口包括多个;上述第二服务端口包括多个;上述端口匹配单元,还用于:如果视频流获取请求所获取的目标视频流属于第一视频流,通过一致性哈希算法,从多个第一服务端口中,确定提供目标视频流的服务端口;如果视频流获取请求所获取的目标视频流属于第二视频流,通过一致性哈希算法,从多个第二服务端口中,确定提供目标视频流的服务端口。
进一步地,上述装置还包括信息存储模块,用于:将目标视频流对应的视频流信息以及确定的服务端口,关联保存至用户流数据中。
进一步地,上述装置还包括服务端口关闭模块,用于:判断当前直播服务中是否存在第一视频流;如果不存在,关闭第一服务端口。
本发明实施例所提供的视频流的处理装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种服务器,如图6所示,该服务器包括处理器101和存储器100,该存储器100存储有能够被处理器101执行的机器可执行指令,该处理器101执行机器可执行指令以实现上述视频流的处理方法。
进一步地,图6所示的服务器还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,RandomAccessMemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述视频流的处理方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的视频流的处理方法、装置和服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种视频流的处理方法,其特征在于,所述方法应用于直播服务器,所述直播服务器中运行有第一服务端口,所述第一服务端口用于提供当前直播服务的第一视频流;所述方法包括:
如果接收到对所述当前直播服务的升级指令,开启新直播服务对应的第二服务端口;所述第二服务端口用于提供所述新直播服务的第二视频流;
如果接收到视频流获取请求,从视频流获取请求中提取视频流信息;
根据所述视频流信息,判定所述视频流获取请求所获取的目标视频流属于所述第一视频流或者所述第二视频流,得到判定结果;
基于所述判定结果,确定提供所述目标视频流的服务端口,通过确定的所述服务端口提供所述目标视频流。
2.根据权利要求1所述的方法,其特征在于,所述直播服务器中保存有所述第一视频流的视频流信息,以及所述第二视频流的视频流信息;
根据所述视频流信息,判定所述视频流获取请求所获取的目标视频流属于所述第一视频流或者所述第二视频流,得到判定结果的步骤,包括:
如果从所述视频流获取请求中提取的视频流信息与所述第一视频流的视频流信息相匹配,判定所述视频流获取请求所获取的目标视频流属于所述第一视频流;
如果从所述视频流获取请求中提取的视频流信息与所述第二视频流的视频流信息相匹配,判定所述视频流获取请求所获取的目标视频流属于所述第二视频流。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述判定结果,确定提供所述目标视频流的服务端口,通过确定的所述服务端口提供所述目标视频流的步骤,包括:
从保存的用户流数据中,查找所述视频流获取请求所获取的目标视频流所属的视频流的历史视频流信息;其中,所述用户流数据包括历史时刻向用户提供的历史视频流的历史视频流信息,以及提供所述历史视频流的服务端口;
如果查找到所述历史视频流信息,将查找到的所述历史视频流信息对应的服务端口,确定为提供所述目标视频流的服务端口。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果未查找到所述历史视频流信息,采用一致性哈希算法,从所述视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定提供所述目标视频流的服务端口。
5.根据权利要求4所述的方法,其特征在于,所述第一服务端口包括多个;所述第二服务端口包括多个;
所述采用一致性哈希算法,从所述视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定提供所述目标视频流的服务端口的步骤,包括:
如果所述视频流获取请求所获取的目标视频流属于第一视频流,通过一致性哈希算法,从多个所述第一服务端口中,确定提供所述目标视频流的服务端口;
如果所述视频流获取请求所获取的目标视频流属于第二视频流,通过一致性哈希算法,从多个所述第二服务端口中,确定提供所述目标视频流的服务端口。
6.根据权利要求4所述的方法,其特征在于,所述从所述视频流获取请求所获取的目标视频流所属的视频流对应的服务端口中,确定提供所述目标视频流的服务端口的步骤之后,所述方法还包括:
将所述目标视频流对应的视频流信息以及确定的所述服务端口,关联保存至所述用户流数据中。
7.根据权利要求1-2、4-6中任一项所述的方法,其特征在于,所述基于所述判定结果,确定提供所述目标视频流的服务端口,通过确定的所述服务端口提供所述目标视频流的步骤之后,所述方法还包括:
判断所述当前直播服务中是否存在所述第一视频流;
如果不存在,关闭所述第一服务端口。
8.一种视频流的处理装置,其特征在于,所述装置设置于直播服务器,所述直播服务器中运行有第一服务端口,所述第一服务端口用于提供当前直播服务的第一视频流;所述装置包括:
新直播服务开启模块,用于如果接收到对所述当前直播服务的升级指令,开启新直播服务对应的第二服务端口;所述第二服务端口用于提供所述新直播服务的第二视频流;
请求接收模块,用于如果接收到视频流获取请求,从视频流获取请求中提取视频流信息;
视频流归属判断模块,用于根据所述视频流信息,判定所述视频流获取请求所获取的目标视频流属于所述第一视频流或者所述第二视频流,得到判定结果;
服务端口确定模块,用于基于所述判定结果,确定提供所述目标视频流的服务端口,通过确定的所述服务端口提供所述目标视频流。
9.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-7任一项所述的视频流的处理方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使处理器实现权利要求1至7任一项所述的视频流的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011199955.6A CN112312155B (zh) | 2020-10-30 | 2020-10-30 | 视频流的处理方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011199955.6A CN112312155B (zh) | 2020-10-30 | 2020-10-30 | 视频流的处理方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112312155A CN112312155A (zh) | 2021-02-02 |
CN112312155B true CN112312155B (zh) | 2022-04-22 |
Family
ID=74332437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011199955.6A Active CN112312155B (zh) | 2020-10-30 | 2020-10-30 | 视频流的处理方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112312155B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967873A (zh) * | 2015-06-29 | 2015-10-07 | 上海帝联信息科技股份有限公司 | 流媒体直播调度方法、***和调度服务器 |
CN105872639A (zh) * | 2016-04-20 | 2016-08-17 | 乐视控股(北京)有限公司 | 直播方法及直播终端 |
CN107943532A (zh) * | 2017-11-06 | 2018-04-20 | 北京潘达互娱科技有限公司 | 直播软件升级包发布方法、装置、电子设备以及存储介质 |
CN108173665A (zh) * | 2016-12-07 | 2018-06-15 | 北京云中融信网络科技有限公司 | 一种备份数据的方法及装置 |
CN110572687A (zh) * | 2019-08-09 | 2019-12-13 | 北京达佳互联信息技术有限公司 | 直播回源聚合的方法、装置、***、设备及存储介质 |
CN110769289A (zh) * | 2018-07-26 | 2020-02-07 | 视联动力信息技术股份有限公司 | 一种终端升级方法和*** |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10477158B2 (en) * | 2010-11-05 | 2019-11-12 | Razberi Technologies, Inc. | System and method for a security system |
US20180160153A1 (en) * | 2016-12-05 | 2018-06-07 | Whalerock Industries, LLC | System and method for live streaming content to subscription audiences using a serverless computing system |
US20180367827A1 (en) * | 2017-06-19 | 2018-12-20 | Wangsu Science & Technology Co., Ltd. | Player client terminal, system, and method for implementing live video synchronization |
-
2020
- 2020-10-30 CN CN202011199955.6A patent/CN112312155B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967873A (zh) * | 2015-06-29 | 2015-10-07 | 上海帝联信息科技股份有限公司 | 流媒体直播调度方法、***和调度服务器 |
CN105872639A (zh) * | 2016-04-20 | 2016-08-17 | 乐视控股(北京)有限公司 | 直播方法及直播终端 |
CN108173665A (zh) * | 2016-12-07 | 2018-06-15 | 北京云中融信网络科技有限公司 | 一种备份数据的方法及装置 |
CN107943532A (zh) * | 2017-11-06 | 2018-04-20 | 北京潘达互娱科技有限公司 | 直播软件升级包发布方法、装置、电子设备以及存储介质 |
CN110769289A (zh) * | 2018-07-26 | 2020-02-07 | 视联动力信息技术股份有限公司 | 一种终端升级方法和*** |
CN110572687A (zh) * | 2019-08-09 | 2019-12-13 | 北京达佳互联信息技术有限公司 | 直播回源聚合的方法、装置、***、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
江西广电网络互动平台升级方案设计;胡蔚星;《有线电视技术》;20180715(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112312155A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9774642B2 (en) | Method and device for pushing multimedia resource and display terminal | |
CN110826799B (zh) | 业务预测方法、装置、服务器及可读存储介质 | |
US20200244444A1 (en) | Blockchain-based advertisement monitoring method and apparatus, and electronic device | |
CN108023941B (zh) | 语音控制方法及装置和电子设备 | |
CN107832142B (zh) | 应用程序的资源配置方法及设备 | |
CN108491715B (zh) | 终端指纹库的生成方法、装置和服务器 | |
CN110851359A (zh) | 应用程序测试方法、装置及服务器 | |
CN110708163A (zh) | 一种区块链的共识方法、装置、***和电子设备 | |
CN111901619B (zh) | 一种消息推送方法和装置 | |
CN109089174B (zh) | 一种多媒体数据流的处理方法及装置、计算机存储介质 | |
CN107454447B (zh) | 一种播放器的插件加载方法,装置及电视机 | |
CN113507471A (zh) | 获取终端***类型的方法、装置、路由器及存储介质 | |
CN112312155B (zh) | 视频流的处理方法、装置和服务器 | |
CN102377793B (zh) | 基于移动通讯设备终端的Flash交互方法及装置 | |
CN113259694A (zh) | 数据切片方法、装置和电子设备 | |
CN110035436B (zh) | 信息监控方法、装置、设备及存储介质 | |
CN116089912A (zh) | 软件识别信息获取方法及装置、电子设备和存储介质 | |
CN109343880B (zh) | 一种rn包更新方法、装置及可读存储介质 | |
CN111163078A (zh) | 一种网络链接拦截方法、装置、设备及介质 | |
CN115643441A (zh) | 视频播放方法、装置、设备、可读存储介质及程序产品 | |
WO2021036625A1 (zh) | 机顶盒升级方法、机顶盒升级装置、机顶盒及存储介质 | |
CN109981548B (zh) | 一种计费消息的解析方法及装置 | |
US20200145470A1 (en) | Method and apparatus for playing media file | |
CN107071548B (zh) | 一种视频处理方法及*** | |
CN112423099A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |