CN114845141A - 边缘转码方法及装置 - Google Patents

边缘转码方法及装置 Download PDF

Info

Publication number
CN114845141A
CN114845141A CN202210405410.9A CN202210405410A CN114845141A CN 114845141 A CN114845141 A CN 114845141A CN 202210405410 A CN202210405410 A CN 202210405410A CN 114845141 A CN114845141 A CN 114845141A
Authority
CN
China
Prior art keywords
edge
transcoding
edge node
node
cluster
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
Application number
CN202210405410.9A
Other languages
English (en)
Inventor
姜栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202210405410.9A priority Critical patent/CN114845141A/zh
Publication of CN114845141A publication Critical patent/CN114845141A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/442Monitoring 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/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种边缘转码方法及装置,方法包括:监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务;根据第一边缘节点选取边缘中心集群中的第二边缘节点,将转码任务重新下发第二边缘节点,以供第二边缘节点执行转码任务;其中,边缘中心集群由符合边缘中心条件的多个第二边缘节点组成。利用边缘中心集群来处理转码失败的转码任务,可以解决中心集群的单点问题,且边缘中心集群采用多中心的方式,对需要兜底转码的直播流进行分流,无需集中在单点处理,从而节约了带宽成本。

Description

边缘转码方法及装置
技术领域
本申请涉及互联网技术领域,具体涉及一种边缘转码方法及装置。
背景技术
在直播业务中,对视频流进行转码是必不可少的一个环节,通过转码,可以在不影响用户观看画质的情况下降低主播推送的音视频流的码率,降低用户观看直播时的卡顿率。
转码一般采用中心转码或边缘转码两种方式。边缘集群部署在各个城市边缘,数量较多,与用户物理距离较近,方便与用户之间的资源传输,降低传输延迟。但边缘集群在转码过程中遇到如边缘节点资源不足等情况,导致转码失败,此时,需要由中心集群来进行兜底处理,保障转码的正常执行。但若由中心集群承载所有边缘集群失败的转码任务易存在单点问题,一旦中心集群出现问题无法转码时,影响大量的转码流均无法正常转码。且由中心集群来承载大量直播流数据也会导致其带宽成本较高。若边缘集群距离中心集群距离较远时,也会使得中心集群转码的直播流数据产生流抖动,导致转码质量较差等问题。
发明内容
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的边缘转码方法及装置。
根据本申请实施例的第一方面,提供了一种边缘转码方法,其包括:
监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务;
根据第一边缘节点选取边缘中心集群中的第二边缘节点,将转码任务重新下发第二边缘节点,以供第二边缘节点执行转码任务;其中,边缘中心集群由符合边缘中心条件的多个第二边缘节点组成。
可选地,监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务进一步包括:
监控获取边缘集群中任一执行转码任务的边缘节点的转码信息;转码信息包括转码开始时间、转码完成时间和/或边缘节点的资源空闲量;
根据转码信息,判断转码信息是否符合预设转码条件;预设转码条件包括:判断转码耗时是否小于预设转码时长,和/或,边缘节点的资源空闲量是否高于转码资源阈值;
若否,确定转码失败的第一边缘节点及转码任务。
可选地,方法还包括:
按照第一预设时长间隔定期筛选边缘集群中符合边缘中心条件的第二边缘节点组成边缘中心集群;边缘中心条件包括接收的推流数量大于预设阈值。
可选地,方法还包括:
按照第二预设时长间隔定期记录边缘集群中任一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息;网络延迟信息包括延迟时长和/或丢包率。
可选地,按照第二预设时长间隔定期记录边缘集群中任一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息进一步包括:
按照第二预设时长间隔由边缘集群中任一边缘节点向边缘中心集群中各第二边缘节点分别发送Internet控制报文协议ICMP包,记录任一边缘节点至边缘中心集群中各第二边缘节点的网络延迟信息。
可选地,根据第一边缘节点选取边缘中心集群中的第二边缘节点,将转码任务重新下发第二边缘节点,以供第二边缘节点执行转码任务进一步包括:
获取第一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息,以及,第一边缘节点与各第二边缘节点间的距离差;
将各网络延迟信息以及距离差进行排序,筛选确定对应排序在先的第二边缘节点,将转码任务重新下发第二边缘节点;其中,网络延迟信息按照延迟时长和/或丢包率从小到大排序;距离差按照从小到大排序。
可选地,根据第一边缘节点选取边缘中心集群中的第二边缘节点,将转码任务重新下发第二边缘节点,以供第二边缘节点执行转码任务进一步包括:
根据第一边缘节点确定边缘中心集群中的第二边缘节点,将转码任务下发第二边缘节点;
监控第二边缘节点的转码信息,若转码失败,则按照排序,确定下一个第二边缘节点,将转码任务下发给下一个第二边缘节点,直至监控转码任务成功。
可选地,方法还包括:
若在边缘中心集群的第二边缘节点均转码失败,则将转码任务下发给中心集群。
可选地,方法还包括:
根据主播的源视频流生成转码任务,并确定转码任务待下发的边缘节点;
将转码任务下发给边缘节点,以供边缘节点根据转码任务对源视频流进行转码。
可选地,方法由服务端创建的调度服务执行。
根据本申请实施例的第二方面,提供了一种边缘转码装置,其包括:
监控模块,适于监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务;
第一下发模块,适于根据第一边缘节点选取边缘中心集群中的第二边缘节点,将转码任务重新下发第二边缘节点,以供第二边缘节点执行转码任务;其中,边缘中心集群由符合边缘中心条件的多个第二边缘节点组成。
根据本申请实施例的第三方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述边缘转码方法对应的操作。
根据本申请实施例的第四方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述边缘转码方法对应的操作。
根据本申请的提供的边缘转码方法及装置,利用边缘中心集群来处理转码失败的转码任务,可以解决中心集群的单点问题,且边缘中心集群采用多中心的方式,对需要兜底转码的直播流进行分流,无需集中在单点处理,从而节约了带宽成本。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本申请一个实施例的边缘转码方法的流程图;
图2示出了根据本申请另一个实施例的边缘转码方法的流程图;
图3示出了根据本申请一个实施例的边缘转码装置的结构示意图;
图4示出了根据本申请一个实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
转码:视频转码技术将视频信号从一种格式转换成另一种格式。
边缘节点:用户侧服务器,部署在各个城市边缘。与用户物理距离较近,传输延迟较低。
直播转码:在主播高码率的直播流进行转码,降低成低码率的直播流。
中心集群:边缘集群的相反,距离用户物理距离一般比较远,负责处理大型计算,通常会重点维护。
ICMP包测速:从一端发送ICMP数据包到另一端并等待回应,测试两者之间的时间延迟和网络丢包情况。
图1示出了根据本申请一实施例的边缘转码方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务。
边缘转码即由边缘集群完成对主播在直播时所产生的源视频流的转码处理。具体的,根据主播在直播时所产生的源视频流先生成对应的转码任务,再根据边缘节点与主播之间的地理位置距离、边缘节点当前的空闲资源信息等,将转码任务下发给边缘集群中对应的边缘节点,由边缘节点来进行转码处理。
本申请实施例在任一边缘节点执行转码任务时,实时地监控边缘节点,获取到边缘节点在转码过程中产生的转码信息。根据转码信息可以了解到转码情况,从而确定转码失败的第一边缘节点以及执行的转码任务。
确定转码失败可以根据转码信息中转码耗时是否超过预设转码时长、第一边缘节点空闲的资源是否足以满足转码任务所需等方面进行判断。如当经过预设转码时长后转码任务还未执行完成,即在预设转码时长后没有收到第一边缘节点的开播回调,则确定转码失败;或者,第一边缘节点空闲的资源不满足转码任务所需时,直接确定转码失败,将转码任务重新下发。
步骤S102,根据第一边缘节点选取边缘中心集群中的第二边缘节点,将转码任务重新下发第二边缘节点,以供第二边缘节点执行转码任务。
对于转码失败的转码任务需要重新下发再次执行,以保障转码任务被正常执行。现有技术会直接将各转码失败的转码任务都下发给中心集群,导致中心集群带宽成本较高。本申请实施例中预先从边缘集群中筛选出符合边缘中心条件的多个第二边缘节点,由多个第二边缘节点组成边缘中心集群,转码失败的转码任务会被分散下发给边缘中心集群中的多个不同的第二边缘节点,每个第二边缘节点无需如中心集群需要较高的带宽成本,避免单点问题的同时,也解决了单点处理时带宽成本过高问题。
具体的,第二边缘节点也是边缘集群中的边缘节点,其本身会正常执行下发给自身的转码任务,同时作为边缘中心集群对转码失败的转码任务进行兜底处理。边缘中心条件包括如接收的推流数量大于预设阈值的边缘节点为第二边缘节点,多个第二边缘节点组成边缘中心集群。预设阈值可以为固定值,如根据实施情况设置;或者,预设阈值可以为动态值,如统计每月(或每周,此处不做限定)内推流数量进行排序,根据排序确定预设阈值,如选择排序在第10位的推流数量作为预设阈值等,此处不做限定。根据预设阈值筛选出符合边缘中心条件的多个第二边缘节点,这些第二边缘节点组成边缘中心集群。对于这些第二边缘节点可以进行资源扩容,在保障其自身正常执行转码任务的同时,可以对转码失败的转码任务进行兜底处理。且边缘中心集群中第二边缘节点与第一边缘节点间距离和中心集群与第一边缘节点间距离相比较近,避免出现流抖动等问题。
当确定转码失败的第一边缘节点后,可以根据第一边缘节点来确定第二边缘节点,如根据第一边缘节点与第二边缘节点的地理位置距离、两个边缘节点间的传输情况等从边缘中心集群中选择一个第二边缘节点来执行转码失败的转码任务,对转码任务进行兜底处理,保障转码任务的正常执行。由于边缘中心集群中的第二边缘节点存在多个,可以避免转码失败的转码任务均由单个第二边缘节点来完成兜底处理,也减少多个源视频流均汇集在单个第二边缘节点的带宽成本。
根据本申请提供的边缘转码方法,利用边缘中心集群来处理转码失败的转码任务,可以解决中心集群的单点问题,且边缘中心集群采用多中心的方式,对需要兜底转码的直播流进行分流,无需集中在单点处理,从而节约了带宽成本。
图2示出了根据本申请一实施例的边缘转码方法的流程图,如图2所示,该方法包括以下步骤:
步骤S201,按照第一预设时长间隔定期筛选边缘集群中符合边缘中心条件的第二边缘节点组成边缘中心集群。
本申请实施例可以在服务端执行,如在服务端创建调度服务,由调度服务来执行各步骤。调度服务可以为进程或线程等,不影响服务器其它服务的执行。
考虑到当中心集群出现异常时,由中心集群对边缘转码进行的兜底处理易出现单点问题。本申请实施例采用边缘中心集群对转码失败的转码任务进行兜底处理。边缘中心集群可以筛选边缘集群中符合边缘中心条件的第二边缘节点组成边缘中心集群,如根据主播直播后产生的源视频流推流给边缘节点,线上的边缘节点接收的推流数量大于预设阈值时,确定为符合边缘中心条件的第二边缘节点。边缘中心集群中包含多个第二边缘节点,可以分散处理转码失败的转码任务,避免转码任务集中导致的带宽成本过高。
进一步,接收的推流数量可以为预设时间段内接收的推流数量,如根据实施情况确定高峰时段,对高峰时段内边缘节点接收到的推流数量进行判断,确定符合边缘中心条件的第二边缘节点。
进一步,边缘中心集群中的各个第二边缘节点可以为动态的,如按照第一预设时长间隔来定期筛选第二边缘节点,保障筛选得到的第二边缘节点均为线上活跃的、实时可用的边缘节点,避免因固定的某个第二边缘节点出现故障而无法兜底处理。资源扩容时,针对动态的第二边缘节点,当其符合边缘中心条件时对其扩容,当不符合边缘中心条件时,对应的将资源扩容至其他第二边缘节点,保证边缘中心集群中的各个第二边缘节点动态资源扩容,来执行兜底处理。
第一预设时长间隔可以为如一个月、一周等,可以根据实施情况设置,此处不做限定。
步骤S202,按照第二预设时长间隔定期记录边缘集群中任一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息。
在确定边缘中心集群中的各个第二边缘节点后,可以按照第二预设时长间隔由边缘集群中任一边缘节点向边缘中心集群中各第二边缘节点分别发送ICMP(InternetControl Message Protocol,Internet控制报文协议)包,从而可以记录任一边缘节点至边缘中心集群中各第二边缘节点的网络延迟信息。网络延迟信息包括延迟时长、丢包率等。第二预设时长间隔可以采用较短时长间隔,方便记录较新的网络延迟信息,保障执行兜底处理的第二边缘节点的转码效率,也可以及时对发生故障的第二边缘节点进行调整,不再向其下发转码任务等。
当第二边缘节点动态变化时,对应地在记录各第二边缘节点的网络延迟信息时,记录最新的第二边缘节点的网络延迟信息。
步骤S203,根据主播的源视频流生成转码任务,并确定转码任务待下发的边缘节点;将转码任务下发给边缘节点,以供边缘节点根据转码任务对源视频流进行转码。
主播直播时会相应的产生源视频流,调度服务对其进行上行调度,根据主播直播所产生的源视频流生成对应的转码任务,按照如边缘节点与主播的地理位置距离、边缘集群的资源空闲量等,确定转码任务待下发的边缘节点。如基于距离优先原则,可以降低传输延迟,确定与主播距离最近的边缘节点,使其可以快速接收到主播直播产生的源视频流,将源视频流推送给该边缘节点,边缘节点发送开播回调给调度服务,由调度服务将转码任务下发给边缘节点,边缘节点根据转码任务对源视频流进行转码。
步骤S204,监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务。
监控可以实时获取到边缘集群中任一执行转码任务的边缘节点的转码信息,转码信息包括如转码开始时间、转码完成时间、边缘节点的资源空闲量等。根据转码开始时间和转码完成时间可以得到转码耗时;边缘节点的资源空闲量可以确定边缘节点是否可以正常执行转码任务等。根据转码信息,判断转码信息是否符合预设转码条件,预设转码条件如判断转码耗时是否小于预设转码时长,当转码耗时大于预设转码时长时,可能存在转码异常等问题易导致转码失败;或者,判断边缘节点的资源空闲量是否高于转码资源阈值,转码资源阈值根据实施情况设置,保证正常转码所需的转码资源,若边缘节点的资源空闲量低于转码资源阈值时,资源不足会导致转码失败,根据判断确定转码失败的第一边缘节点及转码任务。
步骤S205,获取所述第一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息,以及,第一边缘节点与各第二边缘节点间的距离差。
在确定转码失败的第一边缘节点后,调度服务获取此前已经记录的第一边缘节点对应的其与各第二边缘节点的网络延迟信息,以及,与各第二边缘节点间的距离差。距离差即第一边缘节点与各第二边缘节点的地理位置的距离。
步骤S206,将各网络延迟信息以及距离差进行排序,筛选确定对应排序在先的第二边缘节点,将转码任务重新下发第二边缘节点。
网络延迟信息包括延迟时长和丢包率,延迟时长影响源视频流和转码流的传输时间,丢包率影响转码质量;距离差影响传输时间,也易因距离过远产生流抖动影响转码质量。本申请实施例在筛选第二边缘节点时从网络延迟信息和距离差两个方面综合排序来筛选,对于网络延迟信息,将其按照延迟时长,或者丢包率,或者综合两者权重从小到大排序,对于距离差按照从小到大排序。进一步,在排序时,可以为网络延迟信息、距离差设置不同权重,综合排序后,筛选排序在先的数据对应的第二边缘节点,调度服务将转码任务重新下发给第二边缘节点,由其来执行第一边缘节点转码失败的转码任务。
步骤S207,监控第二边缘节点的转码信息,若转码失败,则按照排序,确定下一个第二边缘节点,将转码任务下发给下一个第二边缘节点,直至监控转码任务成功。
本申请实施例还考虑到第二边缘节点也可能存在突然异常的情况,因此,在下发转码任务给第二边缘节点后,调度服务还实时监控第二边缘节点的转码信息,根据转码信息判断第二边缘节点是否转码成功,若转码成功,则执行完成;若转码失败,则按照排序,确定排序后一位(如第2位)的下一个第二边缘节点,将转码任务下发给下一个第二边缘节点,来继续执行转码任务;同时,监控第2位的第二边缘节点的转码信息,若仍转码失败,则下发转码任务给排序第3位的第二边缘节点,直至监控到转码任务成功为止。边缘中心集群中的每一个第二边缘节点均可以进行兜底处理,大大降低单点问题。
进一步,根据第一边缘节点确定第二边缘节点时,不同的第一边缘节点所确定的第二边缘节点也会存在不同,相当于将不同的转码任务分散给不同的第二边缘节点来进行兜底处理,避免了大量转码任务的源视频流聚集,降低了带宽成本。
可选地,本申请实施例还可以包括如下步骤:
步骤S208,在边缘中心集群的第二边缘节点均转码失败,将转码任务下发给中心集群。
若存在极端情况下,边缘中心集群中各个第二边缘节点执行转码任务均转码失败时,可以将转码任务下发给中心集群处理,以保障转码任务被正常执行。
根据本申请提供的边缘转码方法,筛选第二边缘节点,对其资源扩容,保障其本身转码任务正常执行的同时,可以进行兜底处理。且定期动态筛选第二边缘节点,采用非固定的第二边缘节点,保障获取的第二边缘节点都是正常运行的边缘节点,避免固定化的第二边缘节点中存在非正常运行的边缘节点。记录第一边缘节点与第二边缘节点的网络延迟信息,根据网络延迟信息以及距离差,筛选与第一边缘节点距离更近、网络延迟时长更短、丢包率更低的第二边缘节点进行兜底处理,提升转码质量。进一步,若第二边缘节点转码失败,还可以继续从边缘中心集群中筛选下一个第二边缘节点继续转码,以多中心方式进行兜底处理,保障转码任务的正常执行。
图3示出了本申请一实施例提供的边缘转码装置的结构示意图。如图3所示,该装置包括:
监控模块310,适于监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务;
第一下发模块320,适于根据第一边缘节点选取边缘中心集群中的第二边缘节点,将转码任务重新下发第二边缘节点,以供第二边缘节点执行转码任务;其中,边缘中心集群由符合边缘中心条件的多个第二边缘节点组成。
可选地,监控模块310进一步适于:
监控获取边缘集群中任一执行转码任务的边缘节点的转码信息;转码信息包括转码开始时间、转码完成时间和/或边缘节点的资源空闲量;
根据转码信息,判断转码信息是否符合预设转码条件;预设转码条件包括:判断转码耗时是否小于预设转码时长,和/或,边缘节点的资源空闲量是否高于转码资源阈值;
若否,确定转码失败的第一边缘节点及转码任务。
可选地,装置还包括:筛选模块330,适于按照第一预设时长间隔定期筛选边缘集群中符合边缘中心条件的第二边缘节点组成边缘中心集群;边缘中心条件包括接收的推流数量大于预设阈值。
可选地,装置还包括:记录模块340,适于按照第二预设时长间隔定期记录边缘集群中任一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息;网络延迟信息包括延迟时长和/或丢包率。
可选地,记录模块340进一步适于:
按照第二预设时长间隔由边缘集群中任一边缘节点向边缘中心集群中各第二边缘节点分别发送Internet控制报文协议ICMP包,记录任一边缘节点至边缘中心集群中各第二边缘节点的网络延迟信息。
可选地,第一下发模块320进一步适于:
获取第一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息,以及,第一边缘节点与各第二边缘节点间的距离差;
将各网络延迟信息以及距离差进行排序,筛选确定对应排序在先的第二边缘节点,将转码任务重新下发第二边缘节点;其中,网络延迟信息按照延迟时长和/或丢包率从小到大排序;距离差按照从小到大排序。
可选地,第一下发模块320进一步适于:
根据第一边缘节点确定边缘中心集群中的第二边缘节点,将转码任务下发第二边缘节点;
监控第二边缘节点的转码信息,若转码失败,则按照排序,确定下一个第二边缘节点,将转码任务下发给下一个第二边缘节点,直至监控转码任务成功。
可选地,装置还包括:第二下发模块350,适于若在边缘中心集群的第二边缘节点均转码失败,则将转码任务下发给中心集群。
可选地,装置还包括:第三下发模块360,适于根据主播的源视频流生成转码任务,并确定转码任务待下发的边缘节点;将转码任务下发给边缘节点,以供边缘节点根据转码任务对源视频流进行转码。
可选地,由服务端创建的调度服务执行。
以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。
根据本申请提供的边缘转码装置,利用边缘中心集群来处理转码失败的转码任务,可以解决中心集群的单点问题,且边缘中心集群采用多中心的方式,对需要兜底转码的直播流进行分流,无需集中在单点处理,从而节约了带宽成本。
本申请还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,可执行指令可执行上述任意方法实施例中的边缘转码方法。
图4示出了根据本申请一实施例的一种计算设备的结构示意图,本申请的具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述边缘转码方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行上述任意方法实施例中的边缘转码方法。程序410中各步骤的具体实现可以参见上述边缘转码实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的较佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

Claims (13)

1.一种边缘转码方法,其包括:
监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务;
根据所述第一边缘节点选取边缘中心集群中的第二边缘节点,将所述转码任务重新下发所述第二边缘节点,以供所述第二边缘节点执行所述转码任务;其中,所述边缘中心集群由符合边缘中心条件的多个第二边缘节点组成。
2.根据权利要求1所述的方法,其中,所述监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务进一步包括:
监控获取边缘集群中任一执行转码任务的边缘节点的转码信息;所述转码信息包括转码开始时间、转码完成时间和/或边缘节点的资源空闲量;
根据所述转码信息,判断所述转码信息是否符合预设转码条件;所述预设转码条件包括:判断所述转码耗时是否小于预设转码时长,和/或,所述边缘节点的资源空闲量是否高于转码资源阈值;
若否,确定转码失败的第一边缘节点及转码任务。
3.根据权利要求1所述的方法,其中,所述方法还包括:
按照第一预设时长间隔定期筛选边缘集群中符合边缘中心条件的第二边缘节点组成边缘中心集群;所述边缘中心条件包括接收的推流数量大于预设阈值。
4.根据权利要求1-3中任一项所述的方法,其中,所述方法还包括:
按照第二预设时长间隔定期记录边缘集群中任一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息;所述网络延迟信息包括延迟时长和/或丢包率。
5.根据权利要求4所述的方法,其中,所述按照第二预设时长间隔定期记录边缘集群中任一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息进一步包括:
按照第二预设时长间隔由所述边缘集群中任一边缘节点向所述边缘中心集群中各第二边缘节点分别发送Internet控制报文协议ICMP包,记录任一边缘节点至所述边缘中心集群中各第二边缘节点的网络延迟信息。
6.根据权利要求4所述的方法,其中,所述根据所述第一边缘节点选取边缘中心集群中的第二边缘节点,将所述转码任务重新下发所述第二边缘节点,以供所述第二边缘节点执行所述转码任务进一步包括:
获取所述第一边缘节点与边缘中心集群中各第二边缘节点的网络延迟信息,以及,第一边缘节点与各第二边缘节点间的距离差;
将各网络延迟信息以及距离差进行排序,筛选确定对应排序在先的第二边缘节点,将所述转码任务重新下发所述第二边缘节点;其中,所述网络延迟信息按照延迟时长和/或丢包率从小到大排序;所述距离差按照从小到大排序。
7.根据权利要求1-6中任一项所述的方法,其中,所述根据所述第一边缘节点选取边缘中心集群中的第二边缘节点,将所述转码任务重新下发所述第二边缘节点,以供所述第二边缘节点执行所述转码任务进一步包括:
根据所述第一边缘节点确定所述边缘中心集群中的第二边缘节点,将所述转码任务下发所述第二边缘节点;
监控所述第二边缘节点的转码信息,若转码失败,则按照排序,确定下一个第二边缘节点,将所述转码任务下发给下一个第二边缘节点,直至监控所述转码任务成功。
8.根据权利要求1-7中任一项所述的方法,其中,所述方法还包括:
若在所述边缘中心集群的第二边缘节点均转码失败,则将所述转码任务下发给中心集群。
9.根据权利要求1-8中任一项所述的方法,其中,所述方法还包括:
根据主播的源视频流生成转码任务,并确定所述转码任务待下发的边缘节点;
将所述转码任务下发给所述边缘节点,以供所述边缘节点根据所述转码任务对所述源视频流进行转码。
10.根据权利要求1-9中任一项所述的方法,其中,所述方法由服务端创建的调度服务执行。
11.一种边缘转码装置,其包括:
监控模块,适于监控边缘集群中任一边缘节点的转码信息,确定转码失败的第一边缘节点及转码任务;
第一下发模块,适于根据所述第一边缘节点选取边缘中心集群中的第二边缘节点,将所述转码任务重新下发所述第二边缘节点,以供所述第二边缘节点执行所述转码任务;其中,所述边缘中心集群由符合边缘中心条件的多个第二边缘节点组成。
12.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-10中任一项所述的边缘转码方法对应的操作。
13.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-10中任一项所述的边缘转码方法对应的操作。
CN202210405410.9A 2022-04-18 2022-04-18 边缘转码方法及装置 Pending CN114845141A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210405410.9A CN114845141A (zh) 2022-04-18 2022-04-18 边缘转码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210405410.9A CN114845141A (zh) 2022-04-18 2022-04-18 边缘转码方法及装置

Publications (1)

Publication Number Publication Date
CN114845141A true CN114845141A (zh) 2022-08-02

Family

ID=82564903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210405410.9A Pending CN114845141A (zh) 2022-04-18 2022-04-18 边缘转码方法及装置

Country Status (1)

Country Link
CN (1) CN114845141A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117427A1 (en) * 2001-03-16 2004-06-17 Anystream, Inc. System and method for distributing streaming media
US20130117418A1 (en) * 2011-11-06 2013-05-09 Akamai Technologies Inc. Hybrid platform for content delivery and transcoding
CN105898554A (zh) * 2015-12-18 2016-08-24 乐视云计算有限公司 实时转码的监控方法和实时转码系统
CN107707592A (zh) * 2017-01-24 2018-02-16 贵州白山云科技有限公司 任务处理方法、节点及内容分发网络
CN108174226A (zh) * 2017-12-19 2018-06-15 平安科技(深圳)有限公司 直播视频的转码装置、方法及计算机可读存储介质
CN110213603A (zh) * 2019-05-22 2019-09-06 腾讯科技(深圳)有限公司 一种直播流传输方法、装置、服务器、系统及存储介质
CN111277846A (zh) * 2020-01-15 2020-06-12 广州虎牙科技有限公司 一种直播的异常定位方法、装置、计算机设备和存储介质
CN113301102A (zh) * 2021-02-03 2021-08-24 阿里巴巴集团控股有限公司 资源调度方法、设备、边缘云网络、程序产品及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117427A1 (en) * 2001-03-16 2004-06-17 Anystream, Inc. System and method for distributing streaming media
US20130117418A1 (en) * 2011-11-06 2013-05-09 Akamai Technologies Inc. Hybrid platform for content delivery and transcoding
US20160337675A1 (en) * 2011-11-06 2016-11-17 Akamai Technologies, Inc. Segmented parallel encoding with frame-aware, variable-size chunking
CN105898554A (zh) * 2015-12-18 2016-08-24 乐视云计算有限公司 实时转码的监控方法和实时转码系统
CN107707592A (zh) * 2017-01-24 2018-02-16 贵州白山云科技有限公司 任务处理方法、节点及内容分发网络
CN108174226A (zh) * 2017-12-19 2018-06-15 平安科技(深圳)有限公司 直播视频的转码装置、方法及计算机可读存储介质
CN110213603A (zh) * 2019-05-22 2019-09-06 腾讯科技(深圳)有限公司 一种直播流传输方法、装置、服务器、系统及存储介质
CN111277846A (zh) * 2020-01-15 2020-06-12 广州虎牙科技有限公司 一种直播的异常定位方法、装置、计算机设备和存储介质
CN113301102A (zh) * 2021-02-03 2021-08-24 阿里巴巴集团控股有限公司 资源调度方法、设备、边缘云网络、程序产品及存储介质

Similar Documents

Publication Publication Date Title
CN110290180B (zh) 分布式任务调度方法、装置、计算机设备和存储介质
CN105451087B (zh) 弹幕信息的推送方法、终端、历史数据服务器及系统
CN110856018B (zh) 一种基于云计算的监控系统中的快速转码方法及系统
CN114679592A (zh) 边缘集群调度方法及装置
CN102882829A (zh) 一种转码方法及系统
CN108134814B (zh) 一种业务数据处理方法及装置
CN113630438B (zh) 流处理任务调度方法和分布式流处理系统
JP2009237918A (ja) 分散型コンテンツ配信システム、センタサーバ、分散型コンテンツ配信方法及び分散型コンテンツ配信プログラム
CN114845141A (zh) 边缘转码方法及装置
CN106254103B (zh) 一种rtmp集群系统可动态配置方法及装置
CN116382892B (zh) 一种基于多云融合以及云服务的负载均衡方法及装置
CN112543374A (zh) 一种转码控制方法、装置及电子设备
JP2005018300A (ja) コンテンツ配信システム
CN111741328A (zh) 视频分析方法、电子设备、存储介质及系统
CN107135405B (zh) 一种在线视频的播放方法及装置
CN116264592A (zh) 虚拟桌面性能探测方法、装置、设备及存储介质
CN112543354B (zh) 业务感知的分布式视频集群高效伸缩方法和系统
CN114598701A (zh) Cdn调度方法、系统、计算设备及存储介质
CN110247808B (zh) 信息发送方法、装置、设备及可读存储介质
JP5863203B2 (ja) ログ収集システム
CN114090409A (zh) 一种消息处理方法及装置
CN114679589B (zh) 直播混流服务动态调整方法及装置
JP5257373B2 (ja) パケット送信装置、パケット送信方法及びパケット送信プログラム
CN115460090B (zh) 边缘记录上传速度动态设置方法及装置
US20240098037A1 (en) Multimedia Data Stream Processing Method, Electronic Device, and Storage Medium

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