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

音视频码流的调度方法、系统、介质及电子装置与流程

2022-03-22 22:31:29 来源:中国专利 TAG:


1.本发明涉及音视频码流调度领域,具体而言,涉及一种音视频码流的调度方法、系统、介质及电子装置。


背景技术:

2.在互联网迅猛发展的历程中,内容分发网络(content delivery network,简称为cdn)作为缓解互联网的网络拥塞情况、提高互联网业务响应速度的重要手段,一直在互联网行业占据着重要地位。随着5g的普及,cdn通过融入边缘计算能力不断提高与用户终端之间的交互能力,为用户提供全新的视听娱乐体验。
3.在5g互联网直播的模式不断升级的环境背景下,不仅在原有视频形式下发展出8k超高清业务和虚拟现实(virtual reality,简称为vr)/增强现实(augmented reality,简称为ar)等视频形式,还出现了用户生成内容(user generated content,简称为ugc)短视频和直播等新兴视频形式。由于互联网直播具有多样性和可变性,因此,对基于边缘cdn的直播系统提出了可以根据业务需求实现弹性伸缩,提升内容调度能力和服务调度能力,以及将内容和服务准确调度到具备最佳服务能力的节点上的技术要求。
4.在对音视频码流进行推流前需要操作管理人员事先在管理平台上成功创建频道,播放器向频道指定的流媒体服务节点请求服务,否则,播放器将无法在没有频道的情况下播放音视频码流。若在播放期间有某流媒体服务节点为异常,则需要操作管理人员及时恢复流媒体服务节点或重新在管理平台上创建频道后,以通知直播前端向新的流媒体服务节点推流,否则会导致分布在该流媒体服务及节点上的频道出现无法播放的问题。另外,在相关技术方案中,在管理平台异常的情况下,会出现无法接入新的频道的问题,并影响用户的用户体验。
5.由此可见相关技术中的技术方案对人工和管理平台的依赖度较高,此时如果服务器出现问题,就可能导致无法提供正常服务,严重影响用户体验和服务质量。因此,如何在降低对人工管理的依赖性的情况下,也能实现对音视频码流的智能调度,并有效保证频道内容分布均衡和服务的稳定性,让用户顺畅地观看直播功能,就显得至关重要了。
6.因此,有必要对相关技术予以改良以克服相关技术中的所述缺陷。


技术实现要素:

7.本发明实施例提供了一种音视频码流的调度方法、系统、介质及电子装置,以至少解决相关技术中,无法在降低对人工管理的依赖性的情况下,实现对音视频码流的智能调度。
8.根据本发明实施例的一方面,提供一种音视频码流的调度方法,应用于内容调度节点,包括:从接收到的音视频码流中解析得到关键信息,并根据所述关键信息确定所述音视频码流的频道标识;根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,其中,所述内容调度节点中保存有频道标识和流媒体服务节点的第一对应
关系;在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流推送至所述目标流媒体服务节点。
9.根据本发明实施例的另一方面,还提供了一种音视频码流的调度系统,包括:内容调度节点,与所述内容调度节点连接的多个流媒体服务节点,其中,所述内容调度节点,用于从接收到的音视频码流中解析得到关键信息,并根据所述关键信息确定所述音视频码流的频道标识;以及根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,并在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流推送至所述目标流媒体服务节点,其中,所述内容调度节点中保存有频道标识和流媒体服务节点的第一对应关系。
10.根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述音视频码流的调度方法。
11.根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述音视频码流的调度方法。
12.通过本发明,通过内容调度节点根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,其中,所述内容调度节点中保存有频道标识和流媒体服务节点的第一对应关系;以及在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流推送至所述目标流媒体服务节点,能够无需管理平台,由内容调度节点根据音视频码流的关键信息和流媒体服务节点的在线情况,自动选择一个合适的流媒体服务节点进行音视频码流的转推和服务,在降低对人工管理的依赖性的情况下,实现对音视频码流的智能调度。
附图说明
13.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示例性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
14.图1是相关技术中一种音视频码流的调度系统的示意图;
15.图2是本发明实施例的执行音视频码流的调度方法的内容调度节点的硬件结构框图;
16.图3是根据本发明实施例的音视频码流的调度方法的流程图(一);
17.图4是执行本发明实施例的音视频码流的调度系统的示意图;
18.图5是根据本发明实施例的音视频码流的调度方法的流程图(二);
19.图6是根据本发明实施例的音视频码流的调度方法的流程图(三);
20.图7为根据本发明实施例的音视频码流的调度系统的结构示意图。
具体实施方式
21.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
22.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
23.接下来对本发明中使用的技术术语进行说明。
24.cdn(content delivery network)是指构建在网络之上的内容分发网络,采用了新型的网络构建方式,即将缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网络时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求,提高用户访问的响应速度和命中率。
25.vr(virtual reality,虚拟现实)是一种综合利用计算机图形系统和各种现实及控制能接口设备,由计算机生成的、可交互的三维环境。
26.ar(augmented reality,增强现实)是一种实时的计算摄像机影像的位置及角度并加上相应图像的技术。
27.ugc(user generated content,用户生成内容)是一种web环境下的一种新兴的网络信息资源创作与组织模式,即用户将个人编辑过的内容通过互联网平台展示或者提供给其他用户。
28.rtmp(real time messaging protocol,实时消息传输协议)是一个基于tcp协议的协议族,包括rtmp基本协议等多种变种协议,用来进行实时数据通信,可支持多种应用软件以及标准协议,例如支持该协议的软件包括adobe,支持的标准协议为adobe’s real time messaging protocol。
29.rtsp(real time streaming protocol,实时流传输协议)是用来控制声音或者影像的多媒体串流协议,支持的标准协议包括rfc2326。
30.flv(flash video,流媒体格式)是一种视频传播格式,可支持adobe flash video file format specification version 10.1等标准。
31.hls(http live streaming)是一种动态码率自适应技术,用于移动终端的音视频服务,可支持基于http的流媒体网络传输协议rfc8216。
32.url(uniform/universal resource locator,统一资源定位符)是一种对可以从互联网上得到的资源的位置和访问方法的一种表示形式。
33.本技术实施例中所提供的方法实施例可以在内容调度节点或者类似的运算装置中执行。以运行在内容调度节点上为例,图2是本发明实施例的执行音视频码流的调度方法的内容调度节点的硬件结构框图。如图2所示,内容调度节点可以包括一个或多个(图2中仅示出一个)处理器202(处理器202可以包括但不限于微处理器(microprocessor unit,简称是mpu)或可编程逻辑器件(programmable logic device,简称是pld))和用于存储数据的存储器204,在一个示例性实施例中,上述内容调度节点还可以包括用于通信功能的传输设
备206以及输入输出设备208。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述内容调度节点的结构造成限定。例如,内容调度节点还可包括比图2中所示更多或者更少的组件,或者具有与图2所示等同功能或比图2所示功能更多的不同的配置。
34.存储器204可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的音视频码流的调度方法对应的计算机程序,处理器202通过运行存储在存储器204内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器204可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器204可进一步包括相对于处理器202远程设置的存储器,这些远程存储器可以通过网络连接至内容调度节点。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
35.传输装置206用于经由一个网络接收或者发送数据。上述的网络具体实例可包括内容调度节点的通信供应商提供的无线网络。在一个实例中,传输装置206包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置206可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
36.在本实施例中提供了一种音视频码流的调度方法,应用于内容调度节点,图3是根据本发明实施例的音视频码流的调度方法的流程图(一),如图3所示,该流程包括如下步骤:
37.步骤s302,从接收到的音视频码流中解析得到关键信息,并根据所述关键信息确定所述音视频码流的频道标识。
38.步骤s304,根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,其中,所述内容调度节点中保存有频道标识和流媒体服务节点的第一对应关系。
39.步骤s306,在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流推送至所述目标流媒体服务节点。
40.通过上述步骤,从接收到的音视频码流中解析得到关键信息,并根据所述关键信息确定所述音视频码流的频道标识,根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,其中,所述内容调度节点中保存有频道标识和流媒体服务节点的第一对应关系,在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流推送至所述目标流媒体服务节点,能够由内容调度节点根据音视频码流的关键信息和流媒体服务节点的在线情况,自动选择一个合适的流媒体服务节点进行音视频码流的转推和服务,在降低对人工管理的依赖性的情况下,实现对音视频码流的智能调度。
41.需要说明的是,内容调度节点用于对音视频码流进行内容和服务上的调度,因此,内容调度节点也可以表示为内容和服务调度节点。
42.其中,在一个实施例中,内容调度节点可以理解为服务器,根据内容调度节点所实现的不同功能对服务器进行功能分区,例如,将服务器分为第一功能区、第二功能区和第三功能区,第一功能区用于对接收到的音视频码流进行解析以确定所述音视频码流的频道标识,第二功能区用于根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,第三功能区用于在所述目标流媒体服务节点的在线状态为在线的情况下,将
所述音视频码流推送至所述目标流媒体服务节点。
43.需要说明的是,第一对应关系可以理解为音视频码流的频道标识所对应的目标流媒体服务节点之间的映射关系。在一个实施例中,第一对应关系可以以数据表的形式表示,例如,将根据音视频码流的频道标识和目标流媒体服务节点的节点信息生成一个数据表。在已知音视频码流的频道标识或目标流媒体服务节点的节点信息中的任意一个信息时,都可以根据频道信息表确定剩下的一个信息。
44.上述频道标识可以理解为用于确定频道的唯一一个标识,表示为(channel identification,cid)。对cid的计算方法包括字符串拼接法或定长编码等,本发明不对具体计算方法做限制。
45.可选的,在一个实施例中,根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点之后的技术方案包括:获取所述目标流媒体服务节点的设备标识;根据第二对应关系获取所述目标流媒体服务节点的设备标识所对应的设备在线状态,并将所述设备在线状态作为所述目标流媒体服务节点的在线状态,其中,所述内容调度节点中保存有设备标识和设备在线状态的第二对应关系。
46.需要说明的是,第二对应关系可以理解为流媒体服务节点的设备标识与流媒体服务节点的在线状态之间的映射关系。在一个实施例中,例如,第二对应关系可以以哈希表的形式体现,在哈希表中可以包括流媒体服务节点的设备标识与流媒体服务节点的在线状态。
47.其中,上述流媒体服务节点的在线状态可以通过流媒体服务节点的心跳信息来确定。例如,在一个实施例中,如果检测不到流媒体服务节点a的心跳,则认为流媒体服务节点a异常。其中,在心跳消息中包含了流媒体服务节点当前的入向流量和出向流量等信息。在一个实施例中,如果检测到流媒体服务节点b的心跳的次数异常时,会重新确定所有流媒体服务节点的在线状态,并重新生成一张流媒体服务节点的哈希表。
48.另外,在一个实施例中,上述第二对应关系还可以表示流媒体服务节点的设备标识与流媒体服务节点的服务地址之间的映射关系,由于根据流媒体服务节点的服务地址可以确定对应的服务器,因此,已知设备标识所对应的服务地址的情况下,可以进一步确定提供服务的服务器,例如,在设备标识为q1的流媒体服务节点无法正常工作的情况下,如果确定设备标识为q1的流媒体服务节点对应的服务地址为000.000.000.00,则可以提示人工对服务地址为000.000.000.00对应的服务器q进行检修。
49.可选的,为了更好的理解步骤s304如何根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,在一个实施例中,根据所述关键信息确定所述音视频码流的频道标识之后的技术方案包括:在根据所述第一对应关系未确定出所述音视频码流的频道标识所对应的目标流媒体服务节点,或根据所述第二对应关系确定所述目标流媒体服务节点的在线状态为未在线的情况下,获取在线的各个流媒体服务节点的入向流量和出向流量;根据所述各个流媒体服务节点的入向流量和出向流量确定所述音视频码流待推送的流媒体服务节点。
50.需要说明的是,上述获取在线的各个流媒体服务节点的入向流量和出向流量的技术方案可以有多个,例如,在一个实施例中,通过代码实时监控各个流媒体服务节点的入向流量和出向流量,并实时拉取各个流媒体服务节点的入向流量和出向流量至上述流媒体服
务节点的哈希表,进而通过哈希表获取各个流媒体服务节点的最新的入向流量和出向流量,通过实时记录流媒体服务节点当前的入向流量和出向流量,能够减轻流量监控的压力,提高了对流媒体服务节点当前的入向流量和出向流量的查询速度,以及提高了确定所述音视频码流待推送的流媒体服务节点的效率。
51.或者,在其他实施例中,也可以直接使用代码拉取的各个流媒体服务节点的入向流量和出向流量来确定所述音视频码流待推送的流媒体服务节点。
52.可选的,根据所述各个流媒体服务节点的入向流量和出向流量确定所述音视频码流待推送的流媒体服务节点的技术方案包括:从所述各个流媒体服务节点中确定入口流量最小值和出口流量最小值;在所述入口流量的权重小于所述出口流量的权重的情况下,将所述出口流量最小值对应的流媒体服务节点确定为所述音视频码流待推送的流媒体服务节点;在所述入口流量的权重大于所述出口流量的权重的情况下,将所述入口流量最小值对应的流媒体服务节点确定为所述音视频码流待推送的流媒体服务节点。
53.需要说明的是,预设阈值可以为100mb/s、10mb/s、1mb/s,但不限于此,本发明不对预设阈值作任何限制。
54.在一个实施例中,在预设阈值为100mb/s的情况下,预先设置的入向流量的第一权重为0.3,出向流量的第二权重为0.7,如果流媒体服务节点e的入口流量最小值和出口流量最小值分别为50mb/s和10mb/s,流媒体服务节点f的入口流量最小值和出口流量最小值分别为30mb/s和20mb/s,则流媒体服务节点e的节点流量为(50
×
0.3 10
×
0.7)mb/s,流媒体服务节点f的节点流量为(30
×
0.3 20
×
0.7)mb/s,由于流媒体服务节点e的节点流量小于流媒体服务节点f的节点流量,流媒体服务节点e具有更小的流量压力,因此,将流媒体服务节点e作为音视频码流待推送的流媒体服务节点。
55.需要说明的是,根据所述各个流媒体服务节点的入向流量和出向流量确定所述音视频码流待推送的流媒体服务节点的技术方案还包括:预先为入向流量和出向流量分别设置第一权重和第二权重,如果预先设置的第一权重大于第二权重,则直接将入向流量小于预设阈值的流媒体服务节点作为所述音视频码流待推送的流媒体服务节点。例如,在一个实施例中,预先设置的入向流量的第一权重为0.9,出向流量的第二权重为0.4,在预设阈值为100mb/s的情况下,如果流媒体服务节点c的入口流量为50mb/s,则直接确定流媒体服务节点c为音视频码流待推送的流媒体服务节点。
56.其中,第二权重大于第一权重的技术方案可以参照上述第一权重大于第二权重的技术方案,本发明在此不做赘述。
57.可选的,在一个实施例中,通过确定所述音视频码流的事件类型;在所述事件类型指示获取所述音视频码流的事件为开始事件的情况下,根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点;在所述事件类型指示获取所述音视频码流的事件为结束事件的情况下,将所述音视频码流的频道标识从所述第一对应关系中删除。
58.可选的,在一个实施例中,还提供了一种在所述内容调度节点为多个的情况下的技术方案,包括:在多个所述内容调度节点中的任一内容调度节点接收到添加频道操作或删除频道操作的情况下,确定添加频道操作或删除频道操作执行后的第一对应关系,得到第三对应关系;将所述第三对应关系同步至其他内容调度节点,其中,所述其他内容调度节点为所述多个内容调取节点中除所述任一内容调取节点之外的其他节点。
59.需要说明的是,上述第三对应关系可以理解为确定添加频道操作或删除频道操作执行后的第一对应关系,即将多个所述内容调度节点中的任一内容调度节点接收到的添加频道操作或删除频道操作实时同步到其余的所述内容调度节点,以增强音视频码流的调度方法的稳定性。
60.在一个实施例中,内容调度节点可以和流媒体服务节点合设部署,即部署在同一台服务器上,也可以分开部署。在内容调度节点可以和流媒体服务节点部署在同一台服务器上的情况下,可以直接在同一台服务器上将流媒体服务节点的节点信息实时同步给内容调度节点。在内容调度节点可以和流媒体服务节点部署在不同的服务器上的情况下,可以在服务器之间发送消息,或者使用代理服务获取内容调度节点对应的服务器的变化情况并进一步的转发给流媒体服务节点对应的服务器。
61.其中,需要说明的是,多个内容调度节点对应的服务器和流媒体服务节点对应的服务器可以共享一个数据库,在数据库中存储有各频道的音视频码流的转推信息,能够保证在任一个流媒体服务节点对应的服务器所对应的频道服务发生异常时,其他的频道服务仍能正常进行。
62.可选的,为了更好的理解步骤s302中如何从接收到的音视频码流中解析得到关键信息,可以通过确定所述音视频码流的协议类型;根据所述协议类型从所述音视频码流中解析得到所述关键信息。
63.需要说明的是,可以根据音视频码流所使用的协议确定从音视频码流中解析到的关键信息的形式,例如,在一个实施例中,如果使用的音视频码流协议为rtmp协议,则可从url中提取domain、app、name字段信息作为频道的关键信息。如果使用的音视频码流协议为rtsp协议,则可从url中提取abs_path、content_name字段信息作为频道的关键信息。如果使用的音视频码流协议为rtmp协议和rtsp协议之外的其他协议,也可提取类似的关键信息来用于标识唯一的一个频道,本发明中对使用的音视频码流协议的类型不做限制。
64.本发明中的音视频码流的调度方法可以应用于基于各种协议类型的直播系统,直播系统既可以作为边缘直播系统部署于5g互联网环境中边缘cdn节点上,也可以作为云上直播系统部署在云中心,无论直播系统处于哪种互联网环境中的哪个节点上,对本发明的音视频码流的调度方法都没有影响,为方便介绍,本发明以直播系统处于边缘cdn节点为例进行介绍。
65.图4是执行本发明实施例的音视频码流的调度系统的示意图。如图4所示,音视频码流的调度系统可以包含直播前端、播放器、管理平台、内容和服务调度节点以及流媒体服务节点。其中,内容和服务调度节点(相当于上述图3中的内容调度节点)可以和流媒体服务节点合设部署,即部署在同一台服务器上,也可以分开部署。并且,可以在音视频码流的调度系统上部署多个内容和服务调度节点和流媒体服务节点(例如图4中的流媒体服务节点1、流媒体服务节点2和流媒体服务节点n),由管理平台负责对所有的内容和服务调度节点和流媒体服务节点进行配置管理和日志管理。
66.其中,内容和服务调度节点用于监控所有的流媒体服务节点,并将音视频码流和播放请求智能转发到对应的流媒体服务节点上。在一个实施例中,内容和服务调度节点可以包括节点管理模块、内容调度模块和服务调度模块,各模块的主要功能如下:
67.节点管理模块用于监控管理所有的流媒体服务节点,定时检测各流媒体服务节点
的心跳信息,并根据心跳信息确定各流媒体服务节点的在线状态。其中,在心跳消息中包含了流媒体服务节点当前的入向和出向流量等信息。例如,若检测不到流媒体服务节点d的心跳,则认为流媒体服务节点d的在线状态为未在线,每次内容和服务调度节点检测到流媒体服务节点的在线状态发生变化时都会根据变化后的流媒体服务节点的在线状态重新生成一张在线流媒体服务节点的哈希表。
68.内容调度模块用于实现直播前端的直播频道的内容的负载均衡,将音视频码流转推到流媒体服务节点,将音视频码流中的关键信息和流媒体服务节点的信息存储在频道信息表(相当于上述数据表)中,有音视频码流流过来时优先从频道信息表中查找对应的流媒体服务节点,若查不到或对应的流媒体服务节点未在线,则根据关键信息和流媒体服务节点的信息选择一个在线的流媒体服务节点进行转发,并重新更新频道信息表。
69.服务调度模块用于将来自播放器的播放服务请求转发到对应的流媒体服务节点,根据播放服务请求中的频道的关键信息到频道信息表中查找对应的流媒体服务节点,将播放服务请求转发给该流媒体服务节点。
70.另外,可以结合以下实施例与附图对本发明中的音视频推流的调度方法进行说明。
71.图5是根据本发明实施例的音视频码流的调度方法的流程图(二)。在本实施例中,结合图5对音视频推流的调度方法进行说明,如图5所示,音视频推流的调度方法的实施步骤具体如下:
72.步骤s502:接收来自直播前端的音视频码流。
73.步骤s504:内容和服务调度节点从音视频码流中提取出关键信息。
74.需要说明的是,若音视频码流协议为rtmp协议,则可从url中提取domain、app、name字段信息作为频道的关键信息;若音视频码流协议为rtsp协议,则可从url中提取abs_path、content_name字段信息作为频道的关键信息。另外,其它音视频码流协议也可提取类似的关键信息来唯一标识一个频道,本发明中对音视频码流协议不做限制。
75.步骤s506:根据码流中的关键信息算出频道标识cid。
76.其中,可以使用字符串拼接法或定长编码等,具体计算方法在本发明中不做限制,
77.步骤s508:内容和服务调度节点提取码流的事件类型,并确定码流的事件类型是否为开始事件。
78.步骤s510:在码流的事件类型为开始事件的情况下,启动对音视频码流的推流。
79.步骤s512:根据cid到频道信息表中查询cid对应的频道是否已存在,若存在,则确定查询成功,执行步骤s520,若不存在,则确定查询失败,执行步骤s514。
80.步骤s514:根据cid和各流媒体服务节点的入向流量与出向流量来确定选择哪个流媒体服务节点。
81.需要说明的是,在执行步骤s514之前,需要检查该频道对应的流媒体服务节点是否在线,若在线则执行步骤s520,若该流媒体服务节点未在线或频道信息表中不存在该频道,则执行步骤s516。
82.其中,选择方法可以使用哈希算法或排序算法等方法,本发明对选择的具体方法不做限制,只要确保对于入向与出向流量较低的在线流媒体服务节点被选择到的概率更高即可,从而实现内容和服务负载均衡的目的。
83.步骤s516:将音视频码流转推到步骤s514中选择的流媒体服务节点,并将该频道的cid和对应流媒体服务节点的信息的节点信息添加到频道信息表。
84.步骤s518:向其它的内容和服务调度节点发送频道同步消息。
85.在一个实施例中,在内容和服务调度节点在频道信息表中新增流媒体服务节点的信息的节点信息的情况下,需要向其它的内容和服务调度节点发送频道同步消息。
86.步骤s520:将音视频码流转推到对应的流媒体服务节点。
87.步骤s522:流媒体服务节点接收到音视频码流后,检查码流的协议类型,将码流转换为rtmp、flv、hls协议,在服务器的指定目录下生成hls索引文件(m3u8文件)和ts分片。
88.步骤s524:在码流的事件类型为结束事件的情况下,根据cid到频道信息表中查询该频道是否已存在,若存在,则确定查询成功,执行步骤s526,若不存在,则确定查询失败,执行步骤s530。
89.步骤s526:删除频道信息表中的流媒体服务节点的节点信息。
90.步骤s528:本内容和服务调度节点发现需要添加或删除频道时,需要向其它的内容和服务调度节点发送频道同步消息,这样当有播放请求过来时通过其它内容和调度节点也能正常调度到对应的流媒体服务节点上。
91.步骤s530:不予处理。
92.上述实施例提供了一种音视频推流的调度的方法及系统,音视频推流的调度系统简化了管理平台的功能,管理平台无需管理频道信息,对外提供统一固定的推流地址和服务地址,由内容和服务调度节点根据音视频码流的关键信息和流媒体服务节点的在线情况,自动选择一个合适的流媒体服务节点进行内容转推和服务,实现内容和服务智能调度的作用,既避免了对操作管理人员的过度依赖,又保证了频道内容分布均衡和异常情况下服务正常,进而提升用户体验,增强了系统的稳定性和可靠性。
93.图6是根据本发明实施例的音视频码流的调度方法的流程图(三)。在本实施例中,结合图6对音视频推流的调度方法进行说明,如图6所示,音视频推流的调度方法的实施步骤具体如下:
94.步骤s602:内容和服务调度节点接收到来自播放器的播放请求。
95.步骤s604:内容和服务调度节点提取请求消息中频道的关键信息。
96.步骤s606:根据关键信息算出频道标识cid。
97.步骤s608:根据cid到频道信息表中查询该频道对应的流媒体服务节点。若查询成功,则执行步骤s610,若查询失败,则执行步骤s614。
98.步骤s610:将播放服务请求转发给对应的流媒体服务节点。
99.需要说明的是,流媒体服务节点判断请求的协议类型,若协议类型为rtmp,则直接将rtmp协议码流转发给播放器;若协议类型是flv,则直接将rtmp码流实时地封装成flv协议码流,将flv码流返回给播放器;若协议类型是hls,播放器首先会请求一个m3u8文件,里面会有ts文件列表,通过给出的ts文件地址去依次播放,在直播的时候,播放器会不断请求m3u8文件,检查ts列表是否有新的ts切片。
100.步骤s612:通过流媒体服务节点返回对应频道的码流。
101.步骤s614:由于未查询到该频道对应的流媒体服务节点,因此返回该频道对应的流媒体服务节点的信息失败。
102.本发明提供了一种基于直播流的内容智能调度的方法,无需要操作人员在管理平台上创建、删除频道,管理平台无需管理频道信息,由内容和服务调度节点统一对频道内容和服务进行智能调度,不仅避免了对操作管理人员的过度依赖,而且极大地提高了资源的利用率,有效降低了运维成本,可随时根据实际情况添加和删除流媒体服务节点,同时还不影响现有服务,既实现了部署的灵活性,又保证了服务的稳定性,提升了用户体验。
103.上述的所有实施例均可应用于互联网直播、视频监控或视频会议等领域。
104.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
105.在本实施例中还提供了音视频码流的调度系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。尽管以下实施例所描述的设备较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
106.图7为根据本发明实施例的音视频码流的调度系统的结构示意图,如图7所示,包括:
107.内容调度节点72,与所述内容调度节点连接的多个流媒体服务节点74,其中,所述内容调度节点72,用于从接收到的音视频码流中解析得到关键信息,并根据所述关键信息确定所述音视频码流的频道标识;以及根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,并在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流推送至所述目标流媒体服务节点,其中,所述内容调度节点72中保存有频道标识和流媒体服务节点74的第一对应关系。
108.通过上述方案,从接收到的音视频码流中解析得到关键信息,并根据所述关键信息确定所述音视频码流的频道标识,根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,其中,所述内容调度节点中保存有频道标识和流媒体服务节点的第一对应关系,在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流推送至所述目标流媒体服务节点,能够由内容调度节点根据音视频码流的关键信息和流媒体服务节点的在线情况,自动选择一个合适的流媒体服务节点进行音视频码流的转推和服务,在降低对人工管理的依赖性的情况下,实现对音视频码流的智能调度。
109.可选的,所述内容调度节点,还用于获取所述目标流媒体服务节点的设备标识;以及根据第二对应关系获取所述目标流媒体服务节点的设备标识所对应的设备在线状态,并将所述设备在线状态作为所述目标流媒体服务节点的在线状态,其中,所述内容调度节点中保存有设备标识和设备在线状态的第二对应关系。
110.其中,所述在线状态至少包括以下之一:在线、未在线。
111.可选的,所述内容调度节点,还用于在根据所述第一对应关系未确定出所述音视频码流的频道标识所对应的目标流媒体服务节点,或根据所述第二对应关系确定所述目标流媒体服务节点的在线状态为未在线的情况下,获取在线的各个流媒体服务节点的入向流量和出向流量;以及根据所述各个流媒体服务节点的入向流量和出向流量确定所述音视频
码流待推送的流媒体服务节点。
112.可选的,所述内容调度节点,还用于从所述各个流媒体服务节点中确定入口流量最小值和出口流量最小值;在所述入口流量的权重小于所述出口流量的权重的情况下,将所述出口流量最小值对应的流媒体服务节点确定为所述音视频码流待推送的流媒体服务节点;在所述入口流量的权重大于所述出口流量的权重的情况下,将所述入口流量最小值对应的流媒体服务节点确定为所述音视频码流待推送的流媒体服务节点。
113.可选的,所述内容调度节点,还用于确定所述音视频码流的事件类型;在所述事件类型指示获取所述音视频码流的事件为开始事件的情况下,根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点;在所述事件类型指示获取所述音视频码流的事件为结束事件的情况下,将所述音视频码流的频道标识从所述第一对应关系中删除。
114.可选的,在所述内容调度节点为多个的情况下,多个所述内容调度节点中的任一内容调度节点,用于在接收到添加频道操作或删除频道操作的情况下,确定添加频道操作或删除频道操作执行后的第一对应关系,得到第三对应关系;以及将所述第三对应关系同步至其他内容调度节点,其中,所述其他内容调度节点为所述多个内容调取节点中除所述任一内容调取节点之外的其他节点。
115.可选的,所述内容调度节点,还用于确定所述音视频码流的协议类型;以及根据所述协议类型从所述音视频码流中解析得到所述关键信息。
116.通过本发明,从接收到的音视频码流中解析得到关键信息,并根据所述关键信息确定所述音视频码流的频道标识,根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,其中,所述内容调度节点中保存有频道标识和流媒体服务节点的第一对应关系,在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流推送至所述目标流媒体服务节点,能够由内容调度节点根据音视频码流的关键信息和流媒体服务节点的在线情况,自动选择一个合适的流媒体服务节点进行音视频码流的转推和服务,在降低对人工管理的依赖性的情况下,实现对音视频码流的智能调度。
117.在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
118.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
119.本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
120.可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
121.s1,从接收到的音视频码流中解析得到关键信息,并根据所述关键信息确定所述音视频码流的频道标识。
122.s2,根据第一对应关系确定所述音视频码流的频道标识所对应的目标流媒体服务节点,其中,所述内容调度节点中保存有频道标识和流媒体服务节点的第一对应关系。
123.s3,在所述目标流媒体服务节点的在线状态为在线的情况下,将所述音视频码流
推送至所述目标流媒体服务节点。
124.在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
125.本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
126.显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
127.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献