CN113873289B - 一种iptv系统直播调度的方法 - Google Patents
一种iptv系统直播调度的方法 Download PDFInfo
- Publication number
- CN113873289B CN113873289B CN202111472821.1A CN202111472821A CN113873289B CN 113873289 B CN113873289 B CN 113873289B CN 202111472821 A CN202111472821 A CN 202111472821A CN 113873289 B CN113873289 B CN 113873289B
- Authority
- CN
- China
- Prior art keywords
- channel
- node
- live broadcast
- server
- live
- 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/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2404—Monitoring of server processing errors or hardware failure
-
- 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/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明属于直播调度领域,具体涉及一种IPTV系统直播调度的方法,包括如下步骤:S1、直播服务器初始化;S2、内容管理接口服务器初始化;S3、内容调度服务器初始化;S4、直播任务分配;S5、直播任务执行;通过Zookeeper对IPTV系统资源、配置统一管理,在其根目录下创建SERVERS节点、TASKS节点、CHANNELS节点,分别构建直播服务器、监听器以及直播频道,实现直播频道的引入、相关直播服务器的建立、直播频道任务的分配和执行,实现自动化配置和统一管理,从而达到更智能化的直播调度及良好的弹性伸缩能力。
Description
技术领域
本发明属于直播调度领域,具体涉及一种IPTV系统直播调度的方法。
背景技术
IPTV系统中,直播业务主要包括单播和组播协议传输,单播业务主要包括TV、VOD、Catch-up、Timeshift、nPVR及FCC等业务。IPTV系统中采用RTSP单播协议,存储介质一般为内存,无法使用传统的CDN系统进行直播的加速和分发,需要搭建自己的直播服务器集群及直播调度系统。
现有的调度系统可以解决多直播频道的分配问题及多播放终端的调度问题,大程度上提高了系统的可用性和性能,但现有的调度系统依然存在如下弊端:
1、源站节点中服务器通过HTTP API查询其他节点频道列表,各服务器需要配置集群中其他服务器HTTP API接口地址,增加或减少集群服务器需要对所有服务器配置进行更改并重启服务,导致系统可维护性较差,不具备弹性伸缩能力;
2、边缘节点所有服务器都从源站回源拉流,同一个站点同一个频道可能存在多路回源拉流链路,造成网络资源的浪费,源站服务器负载过大;
3、源站中的频道均只有一个备份,当源站中某服务器宕机时,该服务器的频道将全网不可用,存在单点故障风险。
发明内容
本发明在于提供一种IPTV系统直播调度方法,通过Zookeeper监听功能实现直播服务器上下线监控功能,并能够及时迁移直播频道出故障直播服务器,提高系统直播服务的可用性;并依据直播服务器的负载信息判别查找合适的直播服务器,不需要人工修改配置参数,实现自动化配置,提高直播系统的可维护性,同时有效防止单一直播服务器负载过载,进而提高服务器硬件资源的利用率。
一种IPTV系统直播调度方法,包括如下步骤:
S1、直播服务器初始化:直播服务器启动,在Zookeeper根目录下中检查SERVERS节点和TASKS节点,并创建相应的SERVER_ID永久子节点、tmp临时子节点和监听器;
S2、内容管理接口服务器初始化:内容管理接口服务器启动,在Zookeeper根目录下中检查CHANNELS节点,并创建相应的CHANNEL_ID永久子节点;
S3、内容调度服务器初始化:内容调度服务器启动,在Zookeeper根目录下中检查CHANNELS节点、SERVERS节点及TASKS节点,注册监听器监听CHANNELS节点与SERVERS节点。
S4、直播任务分配:
S41、外部CMS系统注入直播频道请求,内容管理接口服务器处理请求,在CHANNEL_ID永久子节点中保存直播频道信息,CHANNEL_ID永久子节点状态为未分配状态,之后返回外部CMS处理结果,内容调度服务器通过监听器监听到CHANNELS节点的新增事件;
S42、内容调度服务器查询对应的CHANNEL_ID永久子节点,读取该CHANNEL_ID永久子节点保存的直播频道信息,同时遍历SERVERS节点,获取所有服务器的负载信息,内容调度服务器根据预设好的分配规则将该直播频道分配给某一直播服务器,在TASKS节点下查找对应的SERVER_ID永久子节点,在该SERVER_ID永久子节点下创建CHANNEL_ID1直播任务节点,CHANNEL_ID1直播任务节点保存信息,完成直播任务分配后更新CHANNELS节点下对应CHANNEL_ID永久子节点的信息;
S5、直播任务执行:直播频道分配给某一直播服务器,该直播服务器通过监听器监听到TASKS节点的新增事件,该直播服务器读取CHANNEL_ID1直播任务节点的保存信息,获取CHANNEL_ID永久子节点的直播频道信息,启动频道的接收,执行直播任务。
通过Zookeeper对IPTV系统资源、配置统一管理,在其根目录下创建SERVERS节点、TASKS节点、CHANNELS节点,分别构建直播服务器、监听器以及直播频道,实现直播频道的引入、相关直播服务器的建立、直播频道任务的分配和执行,实现自动化配置和统一管理,从而达到更智能化的直播调度及良好的弹性伸缩能力。
进一步的,所述步骤S1具体包括:
在Zookeeper根目录下中检查SERVERS节点是否存在,如果不存在则创建SERVERS节点,直播服务器在SERVERS节点下创建SERVER_ID永久子节点,用以保存直播服务器的负载信息及服务器接收的频道列表,直播服务器周期性对负载信息进行更新,直播服务器接收的频道列表信息在频道列表发生变动时,直播服务器对其进行更新;直播服务器在SERVER_ID永久子节点下创建tmp临时子节点,用于判断直播服务器的存活状态;在Zookeeper根目录下中检查TASKS节点是否存在,如果不存在创建TASKS节点,在TASKS节点下创建SERVER_ID永久子节点,并创建监听器监听该子节点。
通过设置监听器监听直播服务器的存在状态,上线直播服务器上下线的监控功能。
进一步的,所述步骤S41中在CHANNEL_ID永久子节点中保存直播频道信息为:直播频道状态、直播频道元数据信息及接收直播频道的服务器列表;
所述步骤S42中CHANNEL_ID1直播任务节点保存信息包括:任务状态、任务类型、任务ID、频道元数据,其中任务状态为未执行,任务类型为新增;完成直播任务分配后更新CHANNELS节点下对应CHANNEL_ID1永久子节点的任务状态信息为已分配;更新接收直播频道的服务器列表。
通过对任务节点信息类型及状态的实时更新和监控,直观了解各直播频道任务分配情况。
进一步的,还包括直播频道删除步骤:
外部CMS请求删除直播频道,内容管理接口服务器处理该请求,在CHANNELS节点中查找并删除对应的CHANNEL_ID永久子节点;
内容调度服务器监听到CHANNELS节点的删除事件,内容调度服务器查询出被删除的CHANNEL_ID永久子节点,遍历TASKS节点下所有的子节点,查找对应的CHANNEL_ID1直播任务节点,若查找到,则判断任务状态及其任务类型,若任务类型为新增且任务状态为未执行,则直接删除该CHANNEL_ID1直播任务节点,若任务类型为新增且任务状态为已执行,则删除该CHANNEL_ID1直播任务节点并创建一个任务类型为删除,任务状态为未执行的CHANNEL_ID1直播任务节点,之后更新CHANNELS节点下对应的CHANNEL_ID永久子节点的接收该直播频道的服务器列表;
直播服务器通过监听器监听到TASKS节点的删除事件,直播服务器读取CHANNEL_ID1直播任务节点的保存信息,获取CHANNEL_ID永久子节点的直播频道信息,获取频道元数据,停止频道的接收,更新直播服务器SERVERS节点中的频道列表。
通过对外部CMS系统发出的删除直播频道的请求,各服务器通过监听器监听并执行删除操作,完整要删除直播频道的信息,节省各服务器内存空间。
进一步的,还包括播放请求调度步骤:
请求调度服务器收到频道拉流请求,请求调度服务器解析出CHANNEL_ID永久子节点参数,然后在CHANNELS节点下查找到该CHANNEL_ID永久子节点,从该CHANNEL_ID永久子节点中读取出接收直播频道的服务器列表;
在直播服务器的SERVERS节点下依次查询出所有接收该直播频道的直播服务器的负载信息,根据预设的调度策略,将频道拉流请求重新定向到目标服务器。
通过查找需要拉流的直播频道信息,遍历SERVERS节点下所有接收该直播频道的直播服务器,依据预设调度策略,实现直播频道的拉流。
进一步的,还包括直播服务器故障迁移步骤:
某一直播服务器宕机,该直播服务器的SERVERS节点下对应的tmp临时子节点删除,内容调度服务器监听到SERVERS节点的删除事件;
内容调度服务器从该SERVERS节点下读取对应的SERVER_ID子节点获取直播服务器的频道列表,如果该频道列表不为空则遍历频道列表,执行步骤S42。
内容调度服务器通过监听器监听到发生宕机的直播服务器下线,并在该直播服务器下线后对其直播频道进行迁移,提高系统直播服务的可用性。
进一步的,还包括频道动态扩容步骤:
请求调度服务器调度直播频道请求,如果发现该直播频道所在的直播服务器负载均过载,请求调度服务器遍历其他直播服务器,查找负载小的直播服务器,然后在该直播服务器的TASKS节点对应的SERVER_ID子节点下创建CHANNEL_ID1直播任务节点,触发该直播服务器去接收需要调度的直播频道。
通过Zookeeper对IPTV系统资源和配置的统一管理,依据各直播服务器的负载信息以及各直播频道的负载信息,计算当前该直播服务器是否可承载该直播频道,依照频道动态扩容策略,适时对直播频道进行调度,有效防止直播服务器负载过载,进而提高服务器硬件资源的利用率,提高直播系统的可维护性。
本发明的有益效果为:
通过Zookeeper对IPTV系统资源、配置统一管理,在其根目录下创建SERVERS节点、TASKS节点、CHANNELS节点,分别构建直播服务器、监听器以及直播频道,实现直播频道的引入、相关直播服务器的建立、直播频道任务的分配和执行,实现自动化配置和统一化管理,从而达到更智能化的直播调度及良好的弹性伸缩能力;Zookeeper的监听功能实现直播服务器上下线监控功能,并能够及时迁移直播频道出故障直播服务器,提高系统直播服务的可用性;并依据直播服务器的负载信息判别查找合适的直播服务器,不需要人工修改配置参数,实现自动化配置,提高直播系统的可维护性,同时有效防止单一直播服务器负载过载,进而提高服务器硬件资源的利用率。
附图说明
图1为本发明中IPTV系统的示意图;
图2为本发明的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1所示的是一种IPTV系统,包括Zookeeper、请求调度服务器、内容调度服务器、直播服务器和内容管理接口服务器;Zookeeper连接请求调度服务器、内容管理服务器和直播服务器,请求调度服务器和内容管理服务器的另一端连接内容管理接口服务器,用于接收外部CMS系统发出的直播频道的请求。
通过引入开源的分布式应用程序协调服务Zookeeper对IPTV系统服务器中的请求调度服务器、内容调度服务器、直播服务器进行集中管理,实现各服务器配置参数、直播频道元数据、直播频道分配、播放请求的调度的统一管理,利用其监听机制实现各服务器间的事件通知,简化集群中各服务器间的交互,从而达到更智能的直播调度和良好的弹性伸缩能力;同时通过各服务器实现直播系统中直播频道内容的增删查改、直播频道的管理和拉流以及直播任务的执行,自动化配置,提高直播系统的可用性。
图2所示的是一种IPTV系统直播调度的方法,包括如下步骤:
S1、直播服务器初始化:直播服务器启动,在Zookeeper根目录下中检查SERVERS节点和TASKS节点,并创建相应的SERVER_ID永久子节点、tmp临时子节点和监听器;
S2、内容管理接口服务器初始化:内容管理接口服务器启动,在Zookeeper根目录下中检查CHANNELS节点,并创建相应的CHANNEL_ID永久子节点;
S3、内容调度服务器初始化:内容调度服务器启动,在Zookeeper根目录下中检查CHANNELS节点、SERVERS节点及TASKS节点,注册监听器监听CHANNELS节点与SERVERS节点;
S4、直播任务分配:
S41、外部CMS注入直播频道请求,内容管理接口服务器处理请求,在CHANNEL_ID永久子节点中保存直播频道信息,CHANNEL_ID永久子节点状态为未分配状态,之后返回外部CMS处理结果,内容调度服务器通过监听器监听到CHANNELS节点的新增事件;
S42、内容调度服务器查询对应的CHANNEL_ID永久子节点,读取该CHANNEL_ID永久子节点保存的直播频道信息,同时遍历SERVERS节点,获取所有服务器的负载信息,内容调度服务器根据预设好的分配规则将该直播频道分配给某一直播服务器,在TASKS节点下查找对应的SERVER_ID永久子节点,在该SERVER_ID永久子节点下创建CHANNEL_ID1直播任务节点,CHANNEL_ID1直播任务节点保存信息,完成直播任务分配后更新CHANNELS节点下对应CHANNEL_ID永久子节点的信息;
S5、直播任务执行:直播频道分配给某一直播服务器,该直播服务器通过监听器监听到TASKS节点的新增事件,该直播服务器读取CHANNEL_ID1直播任务节点的保存信息,获取CHANNEL_ID永久子节点的直播频道信息,启动频道的接收,执行直播任务。
通过Zookeeper对IPTV系统资源、配置统一管理,在其根目录下创建SERVERS节点、TASKS节点、CHANNELS节点,分别构建直播服务器、监听器以及直播频道,实现直播频道的引入、相关直播服务器的建立、直播频道任务的分配和执行,实现自动化配置和统一管理,从而达到更智能化的直播调度及良好的弹性伸缩能力。
在本实施例中,步骤S1具体包括如下步骤:
S11、在Zookeeper根目录下中检查SERVERS节点是否存在,如果不存在则创建SERVERS节点,直播服务器在SERVERS节点下创建SERVER_ID永久子节点,用以保存直播服务器的负载信息及服务器接收的频道列表,直播服务器周期性对负载信息进行更新,直播服务器接收的频道列表信息在频道列表发生变动时,直播服务器对其进行更新;
S12、直播服务器在SERVER_ID永久子节点下创建tmp临时子节点,用于判断直播服务器的存活状态,即创建tmp临时子节点,则表示对应的直播服务器上线,删除tmp临时子节点,则对应的直播服务器下线;
S13、在Zookeeper根目录下中检查TASKS节点是否存在,如果不存在创建TASKS节点,在TASKS节点下创建SERVER_ID永久子节点,并创建监听器监听该子节点。
通过设置监听器监听直播服务器的存在状态,上线直播服务器上下线的监控功能。
在本实施例中,步骤S41中在CHANNEL_ID永久子节点中保存直播频道信息为:直播频道状态、直播频道元数据信息及接收直播频道的服务器列表;
步骤S42中CHANNEL_ID1直播任务节点保存信息包括:任务状态、任务类型、任务ID、频道元数据,其中任务状态为未执行,任务类型为新增;完成直播任务分配后更新CHANNELS节点下对应CHANNEL_ID1永久子节点的任务状态信息为已分配;更新接收直播频道的服务器列表。
通过对任务节点信息类型及状态的实时更新和监控,直观了解各直播频道任务分配情况。
在本实施例中,还包括直播频道的删除,具体包括如下步骤:
T11:外部CMS系统发出删除直播频道的请求,内容管理接口服务器处理该请求,在CHANNELS节点中查找并删除对应的CHANNEL_ID永久子节点;
T12:内容调度服务器监听到CHANNELS节点的删除事件,内容调度服务器查询出被删除的CHANNEL_ID永久子节点,遍历TASKS节点下所有的子节点,查找对应的CHANNEL_ID1直播任务节点,若查找到,则判断任务状态及其任务类型,若任务类型为新增且任务状态为未执行,则直接删除该CHANNEL_ID1直播任务节点,若任务类型为新增且任务状态为已执行,则删除该CHANNEL_ID1直播任务节点并创建一个任务类型为删除,任务状态为未执行的CHANNEL_ID1直播任务节点,之后更新CHANNELS节点下对应的CHANNEL_ID永久子节点的接收该直播频道的服务器列表;
T13:直播服务器通过监听器监听到TASKS节点的删除事件,直播服务器读取CHANNEL_ID1直播任务节点的保存信息,获取CHANNEL_ID永久子节点的直播频道信息,获取频道元数据,停止频道的接收,更新直播服务器SERVERS节点中的频道列表。
通过对外部CMS系统发出的删除直播频道的请求,各服务器通过监听器监听并执行删除操作,完整要删除直播频道的信息,节省各服务器内存空间。
在本实施例中,还包括服务器的播放请求调度,具体包括如下步骤:
T21:请求调度服务器收到频道拉流请求,请求调度服务器解析出CHANNEL_ID永久子节点参数,然后在CHANNELS节点下查找到该CHANNEL_ID永久子节点,从该CHANNEL_ID永久子节点中读取出接收直播频道的服务器列表;
T22:在直播服务器的SERVERS节点下依次查询出所有接收该直播频道的直播服务器的负载信息,根据预设的调度策略,将频道拉流请求重新定向到目标服务器。
通过查找需要拉流的直播频道信息,遍历SERVERS节点下所有接收该直播频道的直播服务器,依据预设调度策略,实现直播频道的拉流。
在本实施例中,还包括直播服务器故障迁移,具体包括如下步骤:
T31:某单一直播服务器发生宕机,显示该直播服务器下线,该直播服务器的SERVERS节点下对应的tmp临时子节点被删除,内容调度服务器监听到SERVERS节点的删除事件;
T32:内容调度服务器从该SERVERS节点下读取对应的SERVER_ID子节点获取直播服务器的频道列表,如果该频道列表不为空则遍历频道列表,执行步骤S42。
内容调度服务器通过监听器监听到发生宕机的直播服务器下线,并在该直播服务器下线后对其直播频道进行迁移,提高系统直播服务的可用性。
在本实施例中,还包括频道动态扩容,具体包括如下步骤:
T41:请求调度服务器调度直播频道请求,如果发现该直播频道所在的直播服务器负载均过载,请求调度服务器遍历其他直播服务器,查找负载小的直播服务器,然后在该直播服务器的TASKS节点对应的SERVER_ID子节点下创建CHANNEL_ID1直播任务节点,触发该直播服务器去接收需要调度的直播频道。
通过Zookeeper对IPTV系统资源和配置的统一管理,依据各直播服务器的负载信息以及各直播频道的负载信息,计算当前该直播服务器是否可承载该直播频道,依照频道动态扩容策略,适时对直播频道进行调度,有效防止直播服务器负载过载,进而提高服务器硬件资源的利用率,提高直播系统的可维护性。
Claims (7)
1.一种IPTV系统直播调度方法,其特征在于,包括如下步骤:
S1、直播服务器初始化:直播服务器启动,在Zookeeper根目录下中检查SERVERS节点和TASKS节点,并创建相应的SERVER_ID永久子节点、tmp临时子节点和监听器;
S2、内容管理接口服务器初始化:内容管理接口服务器启动,在Zookeeper根目录下中检查CHANNELS节点,并创建相应的CHANNEL_ID永久子节点;
S3、内容调度服务器初始化:内容调度服务器启动,在Zookeeper根目录下中检查CHANNELS节点、SERVERS节点及TASKS节点,注册监听器监听CHANNELS节点与SERVERS节点;
S4、直播任务分配:
S41、外部CMS系统注入直播频道请求,内容管理接口服务器处理请求,在CHANNEL_ID永久子节点中保存直播频道信息,CHANNEL_ID永久子节点状态为未分配状态,之后返回外部CMS处理结果,内容调度服务器通过监听器监听到CHANNELS节点的新增事件;
S42、内容调度服务器查询对应的CHANNEL_ID永久子节点,读取该CHANNEL_ID永久子节点保存的直播频道信息,同时遍历SERVERS节点,获取所有服务器的负载信息,内容调度服务器根据预设好的分配规则将该直播频道分配给某一直播服务器,在TASKS节点下查找对应的SERVER_ID永久子节点,在该SERVER_ID永久子节点下创建CHANNEL_ID1直播任务节点,CHANNEL_ID1直播任务节点保存信息,完成直播任务分配后更新CHANNELS节点下对应CHANNEL_ID永久子节点的信息;
S5、直播任务执行:直播频道分配给某一直播服务器,该直播服务器通过监听器监听到TASKS节点的新增事件,该直播服务器读取CHANNEL_ID1直播任务节点的保存信息,获取CHANNEL_ID永久子节点的直播频道信息,启动频道的接收,执行直播任务。
2.根据权利要求1所述的一种IPTV系统直播调度方法,其特征在于:所述步骤S1具体包括:
在Zookeeper根目录下中检查SERVERS节点是否存在,如果不存在则创建SERVERS节点,直播服务器在SERVERS节点下创建SERVER_ID永久子节点,用以保存直播服务器的负载信息及服务器接收的频道列表,直播服务器周期性对负载信息进行更新,直播服务器接收的频道列表信息在频道列表发生变动时,直播服务器对其进行更新;直播服务器在SERVER_ID永久子节点下创建tmp临时子节点,用于判断直播服务器的存活状态;在Zookeeper根目录下中检查TASKS节点是否存在,如果不存在创建TASKS节点,在TASKS节点下创建SERVER_ID永久子节点,并创建监听器监听该子节点。
3.根据权利要求2所述的一种IPTV系统直播调度方法,其特征在于:所述步骤S41中在CHANNEL_ID永久子节点中保存直播频道信息为:直播频道状态、直播频道元数据信息及接收直播频道的服务器列表;
所述步骤S42中CHANNEL_ID1直播任务节点保存信息包括:任务状态、任务类型、任务ID、频道元数据,其中任务状态为未执行,任务类型为新增;完成直播任务分配后更新CHANNELS节点下对应CHANNEL_ID1永久子节点的任务状态信息为已分配;更新接收直播频道的服务器列表。
4.根据权利要求3所述的一种IPTV系统直播调度方法,其特征在于:还包括直播频道删除步骤:
外部CMS请求删除直播频道,内容管理接口服务器处理该请求,在CHANNELS节点中查找并删除对应的CHANNEL_ID永久子节点;
内容调度服务器监听到CHANNELS节点的删除事件,内容调度服务器查询出被删除的CHANNEL_ID永久子节点,遍历TASKS节点下所有的子节点,查找对应的CHANNEL_ID1直播任务节点,若查找到,则判断任务状态及其任务类型,若任务类型为新增且任务状态为未执行,则直接删除该CHANNEL_ID1直播任务节点,若任务类型为新增且任务状态为已执行,则删除该CHANNEL_ID1直播任务节点并创建一个任务类型为删除,任务状态为未执行的CHANNEL_ID1直播任务节点,之后更新CHANNELS节点下对应的CHANNEL_ID永久子节点的接收该直播频道的服务器列表;
直播服务器通过监听器监听到TASKS节点的删除事件,直播服务器读取CHANNEL_ID1直播任务节点的保存信息,获取CHANNEL_ID永久子节点的直播频道信息,获取频道元数据,停止频道的接收,更新直播服务器SERVERS节点中的频道列表。
5.根据权利要求2所述的一种IPTV系统直播调度方法,其特征在于:还包括播放请求调度步骤:
请求调度服务器收到频道拉流请求,请求调度服务器解析出CHANNEL_ID永久子节点参数,然后在CHANNELS节点下查找到该CHANNEL_ID永久子节点,从该CHANNEL_ID永久子节点中读取出接收直播频道的服务器列表;
在直播服务器的SERVERS节点下依次查询出所有接收该直播频道的直播服务器的负载信息,根据预设的调度策略,将频道拉流请求重新定向到目标服务器。
6.根据权利要求2所述的一种IPTV系统直播调度方法,其特征在于:还包括直播服务器故障迁移步骤:
某一直播服务器宕机,该直播服务器的SERVERS节点下对应的tmp临时子节点删除,内容调度服务器监听到SERVERS节点的删除事件;
内容调度服务器从该SERVERS节点下读取对应的SERVER_ID子节点获取直播服务器的频道列表,如果该频道列表不为空则遍历频道列表,执行步骤S42。
7.根据权利要求1所述的一种IPTV系统直播调度方法,其特征在于:还包括频道动态扩容步骤:
请求调度服务器调度直播频道请求,如果发现该直播频道所在的直播服务器负载均过载,请求调度服务器遍历其他直播服务器,查找负载小的直播服务器,然后在该直播服务器的TASKS节点对应的SERVER_ID子节点下创建CHANNEL_ID1直播任务节点,触发该直播服务器去接收需要调度的直播频道。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111472821.1A CN113873289B (zh) | 2021-12-06 | 2021-12-06 | 一种iptv系统直播调度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111472821.1A CN113873289B (zh) | 2021-12-06 | 2021-12-06 | 一种iptv系统直播调度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113873289A CN113873289A (zh) | 2021-12-31 |
CN113873289B true CN113873289B (zh) | 2022-02-18 |
Family
ID=78986021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111472821.1A Active CN113873289B (zh) | 2021-12-06 | 2021-12-06 | 一种iptv系统直播调度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113873289B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111107391A (zh) * | 2020-01-16 | 2020-05-05 | 深圳市信义科技有限公司 | 一种基于分布式的web无插件视频直播方法 |
CN112650592A (zh) * | 2021-01-06 | 2021-04-13 | 杭州当虹科技股份有限公司 | 一种基于zookeeper的任务负载均衡及高可用系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954568B2 (en) * | 2011-07-21 | 2015-02-10 | Yahoo! Inc. | Method and system for building an elastic cloud web server farm |
US10200258B2 (en) * | 2014-08-14 | 2019-02-05 | Juniper Networks, Inc. | Transaction integrity for network services configuration |
CN104834722B (zh) * | 2015-05-12 | 2018-03-02 | 网宿科技股份有限公司 | 基于cdn的内容管理系统 |
US10412158B2 (en) * | 2016-07-27 | 2019-09-10 | Salesforce.Com, Inc. | Dynamic allocation of stateful nodes for healing and load balancing |
-
2021
- 2021-12-06 CN CN202111472821.1A patent/CN113873289B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111107391A (zh) * | 2020-01-16 | 2020-05-05 | 深圳市信义科技有限公司 | 一种基于分布式的web无插件视频直播方法 |
CN112650592A (zh) * | 2021-01-06 | 2021-04-13 | 杭州当虹科技股份有限公司 | 一种基于zookeeper的任务负载均衡及高可用系统 |
Non-Patent Citations (2)
Title |
---|
ZooKeeper到底是干嘛的;哪是什么大佬;《博客园》;20180904;全文 * |
基于神经网络的IPTV用户体验预测系统设计与实现;毛佳丽;《中国优秀硕士学位论文全文数据库》;20200215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113873289A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108307198B (zh) | 流服务节点调度方法、装置及调度节点 | |
CN105392068B (zh) | 分布式多传输信道网络直播视频并行分发方法及系统 | |
Guo et al. | Scalable live video streaming to cooperative clients using time shifting and video patching | |
US8429263B2 (en) | File content distribution method, device, and system for an interactive network television system | |
US7673318B2 (en) | Channel merging method for VOD system | |
CN110971686B (zh) | 一种支持高并发、高可用的电子商城客服系统 | |
US9807163B1 (en) | Data client | |
EP2290912A1 (en) | Content distributing method, service redirecting method and system, node device | |
US8966107B2 (en) | System and method of streaming data over a distributed infrastructure | |
CN101729273A (zh) | 一种流媒体分发系统、方法及装置 | |
WO2011026430A1 (zh) | 内容分发网络中数据同步的方法及系统 | |
CN111031113B (zh) | 一种支持平台级客服系统的用户排队方法 | |
CN111131759B (zh) | 一种实时多媒体传输系统及其使用方法 | |
CN111050188B (zh) | 一种数据流调度方法、系统、设备及介质 | |
CN113485821A (zh) | 一种高可靠视频会议系统及其控制方法、存储介质 | |
Lee et al. | Design, performance analysis, and implementation of a super-scalar video-on-demand system | |
CN102143358A (zh) | 一种具有集群管理功能的转码系统 | |
CN101163230A (zh) | 通过网络摄像机进行现场直播及客户端节点调配方法 | |
CN113873289B (zh) | 一种iptv系统直播调度的方法 | |
CN110602545A (zh) | 一种网络直播的分布式录制执行方法 | |
WO2008049364A1 (fr) | Procédé de transmission d'informations par l'intermédiaire d'un réseau de canaux | |
CN112584193B (zh) | 一种利用udp特性构建实时流媒体集群调度的方法 | |
CN115134421B (zh) | 一种多源异构数据跨系统协同管理系统及方法 | |
JPH1078931A (ja) | 資源管理方法および情報サービスシステム | |
CN102905164A (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 |