CN111526153B - 流媒体调度方法、计算机存储介质及电子设备 - Google Patents
流媒体调度方法、计算机存储介质及电子设备 Download PDFInfo
- Publication number
- CN111526153B CN111526153B CN202010357184.2A CN202010357184A CN111526153B CN 111526153 B CN111526153 B CN 111526153B CN 202010357184 A CN202010357184 A CN 202010357184A CN 111526153 B CN111526153 B CN 111526153B
- Authority
- CN
- China
- Prior art keywords
- streaming media
- distribution unit
- media distribution
- request
- load
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- 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
Abstract
本发明提供了一种流媒体调度方法、计算机存储介质及电子设备,所述方法包括以下步骤:S1、接收并解析客户端媒体数据请求;S2、接收并预估流媒体分发单元输入负载与输出负载情况;S3、选择符合用户要求网段的流媒体分发单元;S4、选择预估负载最小的流媒体分发单元;S5、调度流媒体进行媒体数据转发。根据本发明实施例的流媒体调度方法,使用流媒体转发单元的预估输入负载与预估输出负载,作为调度指标,可以提高流媒体转发单元的稳定性,该方法可以根据网络情况,调度与客户端同个网段的流媒体分发单元,减少媒体数据的传输历程,提高流媒体分发单元转发效率。
Description
技术领域
本发明涉及流媒体调度领域,更具体地,涉及一种流媒体调度方法、计算机存储介质及电子设备。
背景技术
目前,传统的流媒体调度策略存在传统轮询调度不均衡、流媒体实际负载信息反馈不及时的问题,进而导致单个流媒体分发单元负载过重或者宕机,影响整体运行;并且存在对实时媒体数据源多次引用的现象,导致数据源负载增高,对数据源性能造成不必要的影响;另外,流媒体与客户端之间存在复杂的网络,未经挑选流媒体转发服务器,可能导致媒体数据经过多余的网络,导致媒体数据传输慢,效率低,出现延迟或者丢包问题。
发明内容
有鉴于此,本发明提供一种流媒体调度方法、计算机存储介质及电子设备,可以有效提高流媒体分发单元转发效率。
为解决上述技术问题,一方面,本发明提供一种流媒体调度方法,包括以下步骤:S1、接收并解析客户端媒体数据请求;S2、接收并预估流媒体分发单元输入负载与输出负载情况;S3、选择符合用户要求网段的流媒体分发单元;S4、选择预估负载最小的流媒体分发单元;S5、调度流媒体进行媒体数据转发。
根据本发明实施例的流媒体调度方法,使用流媒体转发单元的预估输入负载与预估输出负载,作为调度指标,可以提高流媒体转发单元的稳定性,该方法可以根据网络情况,调度与客户端同个网段的流媒体分发单元,减少媒体数据的传输历程,提高流媒体分发单元转发效率。
根据本发明的一些实施例,在步骤S1中,由调度中心服务器接收并解析客户端媒体数据请求,在步骤S2中,由所述调度中心服务器接收并预估所述流媒体分发单元定时上报的输入负载与输出负载情况。
根据本发明的一些实施例,步骤S2包括:
S21、接收所述流媒体分发单元输入负载与输出负载情况;
S22、初始化所述输入负载、输出负载和预估负载为0,所述调度中心服务器缓存各个流媒体分发单元s1、s2、s3…,预估输入负载i1=0、i2=0、i3=0…,预估输出负载o1=0、o2=0、o3=0…;请求中计数Q1=0、Q2=0、Q3=0;
S23、客户端请求m1码流时,所述调度中心服务器顺位选择流媒体分发单元s1,并标记流媒体分发单元s1的码流m1正在请求计数加1,流媒体分发单元s1的预估输入负载加1,流媒体分发单元s1的预估输出负载加1;
S24、流媒体分发单元s1回复失败或者超时,减去1次流媒体分发单元s1的预估输出负载,减去1次流媒体分发单元s1对m1码流的请求Q1,当流媒体分发单元s1对m1码流预估输出负载为0时,流媒体分发单元s1的预估输入负载减去1。
根据本发明的一些实施例,步骤S2还包括:
S25、在步骤S23中,若流媒体分发单元s1回复成功,则减去1次流媒体分发单元s1对m1码流的请求Q1,其他保留;若在步骤S23客户端c1请求m1码流之后,流媒体分发单元s1回复请求之前,有客户端c2也请求m1码流,则流媒体分发单元s1的预估输出负载加1,正在请求中计数加1;
S26、在步骤S25中,若流媒体分发单元s1回复c1的m1-c1请求失败,或者超时,减去1次流媒体分发单元s1的预估输出负载,减去1次流媒体分发单元s1对m1码流的请求Q1;
S27、在步骤S26中,若流媒体分发单元s1回复m1-c2请求失败,或者超时,减去1次流媒体分发单元s1对m1码流的请求Q1,减去1次流媒体分发单元s1的预估输出负载;若流媒体分发单元s1回复m1-c2成功,则减去1次流媒体分发单元s1对m1码流的请求Q1。
根据本发明的一些实施例,步骤S2还包括:
S28、在步骤S25中,若流媒体分发单元s1回复c1的m1-c1请求成功,减去1次流媒体分发单元s1对m1码流的请求Q1,其余不变;
S29、在步骤S28中,若流媒体分发单元s1回复c2客户端的m1-c2请求失败,或者超时,减去1次流媒体分发单元s1对m1码流的请求Q1,减去1次流媒体分发单元s1的预估输出负载;如果流媒体分发单元s1回复c2客户端的m1-c2请求成功,减去1次流媒体分发单元s1对m1码流的请求Q1,其他不变。
根据本发明的一些实施例,步骤S3包括:
S31、判断是否存在符合用户要求网段的流媒体分发单元,若不存在,则返回步骤S1,若存在,则执行步骤S32;
S32、请求实时媒体数据区分实时与历史,实时可复用。
根据本发明的一些实施例,步骤S4包括:
S4a、选择预估输入负载最小的流媒体分布单元;
S4b、选择预估输出负载最小的流媒体分布单元;
步骤S32包括:
S331、判断所述流媒体分发单元是否存在可复用源,若不存在,则执行步骤S4a,若存在,则在可复用的所述流媒体分发单元中执行步骤S4b。
根据本发明的一些实施例,步骤S4a包括:
S4a1、判断是否存在预估输入负载最小的流媒体分布单元,若不存在,则客户端终止媒体数据转发,若存在,则执行步骤S4a2;
S4a2、判断预估输入负载最小的流媒体分布单元的预计输入是否超负载,若超负载,则返回步骤S4a,若未超负载,则执行步骤S5。
根据本发明的一些实施例,步骤S4b包括:
S4b1、判断是否存在预估输出负载最小的流媒体分布单元,若不存在,则执行步骤S4a,若存在,则执行步骤S4b2;
S4b2、判断预估输出负载最小的流媒体分布单元的预估输出是否超负载,若即将超负载,则以流媒体分布单元作为数据源进行转发,选择其他流媒体转发单元后,执行步骤S4a,若未超负载,则执行步骤S5。
第二方面,本发明实施例提供一种计算机存储介质,包括一条或多条计算机指令,所述一条或多条计算机指令在执行时实现如上述实施例所述的方法。
根据本发明第三方面实施例的电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令;所述处理器用于调用并执行所述一条或多条计算机指令,从而实现如上述任一实施例所述的方法。
附图说明
图1为根据本发明实施例的流媒体调度方法的流程图;
图2为根据本发明实施例的流媒体调度方法的另一流程图;
图3为本发明实施例的电子设备的示意图。
附图标记:
电子设备300;
存储器310;操作系统311;应用程序312;
处理器320;网络接口330;输入设备340;硬盘350;显示设备360。
具体实施方式
下面将结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
下面首先结合附图具体描述根据本发明实施例的流媒体调度方法。
如图1所示,根据本发明实施例的流媒体调度方法包括以下步骤:
S1、接收并解析客户端媒体数据请求;
S2、接收并预估流媒体分发单元输入负载与输出负载情况;
S3、选择符合用户要求网段的流媒体分发单元;
S4、选择预估负载最小的流媒体分发单元;
S5、调度流媒体进行媒体数据转发。
换言之,根据本发明实施例的流媒体调度方法可以应用于流媒体中心管理服务器,流媒体中心管理服务器包括客户端、中心管理、各个流媒体分发单元。所述方法可以包括:首先可以由调度中心服务器接收并解析客户端媒体数据请求,接着,由调度中心服务器接收流媒体分发单元输入负载与输出负载情况,并进一步预估流媒体分发单元输入负载与输出负载情况,然后根据客户端要求,选择符合客户端要求网段的流媒体,再在符合客户端要求网段的流媒体中选择预估负载最小的流媒体,最终由调度流媒体进行媒体数据转发,客户端终止流媒体数据转发。
由此,根据本发明实施例的流媒体调度方法,使用流媒体转发单元的预估输入负载与预估输出负载,作为调度指标,可以提高流媒体转发单元的稳定性,该方法可以根据网络情况,调度与客户端同个网段的流媒体分发单元,减少媒体数据的传输历程,提高流媒体分发单元转发效率。
下面具体描述根据本发明实施例的流媒体调度方法中接收并预估流媒体分发单元输入负载与输出负载情况的具体步骤。
根据本发明的一个实施例,步骤S2包括:
S21、接收所述流媒体分发单元输入负载与输出负载情况;
S22、初始化所述输入负载、输出负载和预估负载为0,所述调度中心服务器缓存各个流媒体分发单元s1、s2、s3…,预估输入负载i1=0、i2=0、i3=0…,预估输出负载o1=0、o2=0、o3=0…;请求中计数Q1=0、Q2=0、Q3=0;
S23、客户端请求m1码流时,所述调度中心服务器顺位选择流媒体分发单元s1,并标记流媒体分发单元s1的码流m1正在请求计数加1,流媒体分发单元s1的预估输入负载加1,流媒体分发单元s1的预估输出负载加1;
S24、流媒体分发单元s1回复失败或者超时,减去1次流媒体分发单元s1的预估输出负载,减去1次流媒体分发单元s1对m1码流的请求Q1,当流媒体分发单元s1对m1码流预估输出负载为0时,流媒体分发单元s1的预估输入负载减去1。
可选地,步骤S2还包括:
S25、在步骤S23中,若流媒体分发单元s1回复成功,则减去1次流媒体分发单元s1对m1码流的请求Q1,其他保留;若在步骤S23客户端c1请求m1码流之后,流媒体分发单元s1回复请求之前,有客户端c2也请求m1码流,则流媒体分发单元s1的预估输出负载加1,正在请求中计数加1;
S26、在步骤S25中,若流媒体分发单元s1回复c1的m1-c1请求失败,或者超时,减去1次流媒体分发单元s1的预估输出负载,减去1次流媒体分发单元s1对m1码流的请求Q1;
S27、在步骤S26中,若流媒体分发单元s1回复m1-c2请求失败,或者超时,减去1次流媒体分发单元s1对m1码流的请求Q1,减去1次流媒体分发单元s1的预估输出负载;若流媒体分发单元s1回复m1-c2成功,则减去1次流媒体分发单元s1对m1码流的请求Q1。
进一步地,步骤S2还包括:
S28、在步骤S25中,若流媒体分发单元s1回复c1的m1-c1请求成功,减去1次流媒体分发单元s1对m1码流的请求Q1,其余不变;
S29、在步骤S28中,若流媒体分发单元s1回复c2客户端的m1-c2请求失败,或者超时,减去1次流媒体分发单元s1对m1码流的请求Q1,减去1次流媒体分发单元s1的预估输出负载;如果流媒体分发单元s1回复c2客户端的m1-c2请求成功,减去1次流媒体分发单元s1对m1码流的请求Q1,其他不变。
其中需要说明的是,考虑到实时码流的可复用性,同一路码流输入会有多个码流输出,故引入码流输入负载与输出负载概念。对于录像码流,不可复用,输入与输出数量为1。
为了提高调度速度,调度中心服务与流媒体分发单元之间的调度交互信令,使用异步处理机制。流媒体分发单元的实际负载情况与调度中心缓存的负载情况,必定存在差异。为了保证流媒体分发单元的稳定性,流媒体分发单元不可超负载运行,调度中心服务需要把流媒体分发单元上传通知的负载情况,与正在请求中的负载情况,一同计算,得到预估负载情况。保证流媒体分发单元调度均衡
调度中心服务器缓存的信息包括所有流媒体分发单元的唯一ID,每个流媒体分发单元上报的码流唯一ID,每路码流的输入数量和输出数量,正在对每个流媒体分发单元请求的码流输入数量和输出数量。流媒体分发单元的定时上报自身的所有输入输出码流信息。
调度中心计算流媒体分发单元的负载总共分为两种,调度中心缓存的正在转发中的负载情况,和正在请求中的负载情况。
调度中心缓存的正在转发中的负载情况,是由调度中心往流媒体分发单元请求码流成功后,缓存码流信息,该码流信息的生命周期由流媒体分发单元的定时上报通知维持。
调度中心正在请求中的负载情况,是由调度中心往流媒体分发单元请求码流后,在收到回复之前,缓存的码流请求信息。
计算方式如下:
流媒体分发单元的预估输入负载=调度中心缓存的该流媒体分发单元正在输入中的负载情况+调度中心往该流媒体分发单元正在请求中的码流输入数量
流媒体分发单元的预估输出负载=调度中心缓存的该流媒体分发单元正在输出中的负载情况+调度中心往该流媒体分发单元正在请求中的码流输出数量
换句话说,接收并预估流媒体分发单元输入负载与输出负载情况的大致流程如下:
1、初始化时所有负载、预估负载为0,调度中心服务器缓存各个流媒体分发单元s1、s2、s3…,预估输入负载i1=0、i2=0、i3=0…,预估输出负载o1=0、o2=0、o3=0…;请求中计数Q1=0、Q2=0、Q3=0,中心初始状态如下:
S1:I1=0,O1=0,Q1=0
S2:I2=0,O2=0,Q2=0;
2、客户端请求m1码流时,由于初始负载都为0,负载能力一样,则调度中心服务器顺位选择s1,并标记s1的码流m1正在请求计数加1,s1的预估输入负载加1,s1的预估输出负载加1。
中心状态
C1→M1→S1:I1=1,O1=1,Q1=1→M1-C1→S1
S2:I2=0,O2=0,Q2=0
3、s1回复失败或者超时,减去1次s1的预估输出负载,减去1次s1对m1码流的请求q1。当s1对m1码流预估输出负载为0时,s1的预估输入负载减去1。
中心状态
S1→M1-C1失败或超时→S1:I1=0,O1=0,Q1=0
S2:I2=0,O2=0,Q2=0
4、如果流程2中,s1回复成功,则减去1次s1对m1码流的请求q1,其他保留。
中心状态
S1→M1-C1成功→S1:I1=1,O1=1,Q1=0
S2:I2=0,O2=0,Q2=0
5、如果在流程2客户端c1请求m1码流之后,s1回复请求之前,有客户端c2也请求m1码流,则调度中心发现s1已存在对m1码流的请求,调度s1进行码流转发。则s1的预估输出负载加1,正在请求中计数加1。
中心状态
C2→M1→S1:I1=1,O1=2,Q1=2→M1-C2→S1
S2:I2=0,O2=0,Q2=0
6、对于流程5,如果s1回复c1的m1-c1请求失败,或者超时,减去1次s1的预估输出负载,减去1次s1对m1码流的请求q1。由于预估输出负载减1后,还剩下1,预估输入负载还是1不变
中心状态
S1→M1-C1失败或超时→S1:I1=1,O1=1,Q1=1
S2:I2=0,O2=0,Q2=0
7、对于流程6,如果s1回复m1-c2请求失败,或者超时,减去1次s1对m1码流的请求q1,减去1次s1的预估输出负载。由于s1对m1码流预估输出负载为0,s1的预估输入负载减去1。
中心状态
S1→M1-C2失败或超时→S1:I1=0,O1=0,Q1=0
S2:I2=0,O2=0,Q2=0
8、对于流程6,如果s1回复m1-c2成功,则减去1次s1对m1码流的请求q1
中心状态
S1→M1-C2成功→S1:I1=1,O1=1,Q1=0
S2:I2=0,O2=0,Q2=0
9、对于流程5,如果s1回复c1的m1-c1请求成功,减去1次s1对m1码流的请求q1。其他不变
中心状态
S1→M1-C1成功→S1:I1=1,O1=2,Q1=1
S2:I2=0,O2=0,Q2=0
10、对于流程9,如果s1回复c2客户端的m1-c2请求失败,或者超时,减去1次s1对m1码流的请求q1,减去1次s1的预估输出负载。此时,中心状态缓存的信息为:s1对m1码流预估输出负载为1,s1的预估输入负载为1。
中心状态
S1→M1-C2失败或超时→S1:I1=1,O1=1,Q1=0
S2:I2=0,O2=0,Q2=0
11、对于流程9,如果s1回复c2客户端的m1-c2请求成功,减去1次s1对m1码流的请求q1,其他不变。此时,中心状态缓存的信息为:s1对m1码流预估输出负载为2,s1的预估输入负载为1。
中心状态
S1→M1-C2成功→S1:I1=1,O1=2,Q1=0
S2:I2=0,O2=0,Q2=0
12、在以上的流程期间或者之后,当有客户端c3请求m2码流时,由于s1的预估输入负载为1,其他流媒体分发单元的预估输入负载为0,比s1的小,则顺位选择s2转发m2码流,处理的流程与上述一致。
如图2所示,根据根据本发明的一个实施例,步骤S3包括:
S31、判断是否存在符合用户要求网段的流媒体分发单元,若不存在,则返回步骤S1,若存在,则执行步骤S32;
S32、请求实时媒体数据区分实时与历史,实时可复用。
其中,实时与历史的区分信息包含在客户端的请求参数当中,实时可复用指多个客户端请求同一路视频码流,可以由流媒体进行分发,而无需再从媒体数据源获取新的码流链路进行转发。例如,假定有一个摄像机(媒体数据源),有多个客户端请求此摄像机视频,那么流媒体单元则从摄像机获取1路码流数据,然后分发给各个客户端,复用实时码流。而历史视频由于存在客户端控制(暂停、倍速播放、拖动等操作),有唯一性,故不可复用。
可选地,步骤S4包括:
S4a、选择预估输入负载最小的流媒体分布单元;
S4b、选择预估输出负载最小的流媒体分布单元;
步骤S32包括:
S331、判断所述流媒体分发单元是否存在可复用源,若不存在,则执行步骤S4a,若存在,则在可复用的所述流媒体分发单元中执行步骤S4b。
在本发明的一些具体实施方式中,步骤S4a包括:
S4a1、判断是否存在预估输入负载最小的流媒体分布单元,若不存在,则客户端终止媒体数据转发,若存在,则执行步骤S4a2;
S4a2、判断预估输入负载最小的流媒体分布单元的预计输入是否超负载,若超负载,则返回步骤S4a,若未超负载,则执行步骤S5。
在本发明的另一些具体实施方式中,步骤S4b包括:
S4b1、判断是否存在预估输出负载最小的流媒体分布单元,若不存在,则执行步骤S4a,若存在,则执行步骤S4b2;
S4b2、判断预估输出负载最小的流媒体分布单元的预估输出是否超负载,若即将超负载,则以流媒体分布单元作为数据源进行转发,选择其他流媒体转发单元后,执行步骤S4a,若未超负载,则执行步骤S5。
其中,即将超负载是指流媒体的最大输入负载能力。假如一个流媒体单元的最大鱼预估输入负载为60,最大输出负载为300,则当预估输出负载为240(300-60)时,为即将超负载,其目的是预留输出能力。
例如有一个摄像机(媒体数据源),摄像机只能输出一路码流,有多个流媒体单元,最大输入负载60,最大输出负载300。假定在系统中,已经有一个流媒体单元S1连接到设备获取码流,并且有240个客户端连接到流媒体单元S1请求码流转发,则此时流媒体的预估输出负载达到240。那么需要选择另一个流媒体单元S2,把S1当作数据源,由S2从S1获取摄像头的码流数据,进行再转发。目的是减少对数据源的引用,降低数据源的压力。
由此,根据本发明实施例的流媒体调度方法,通过对实时媒体数据源进行复用,并且引入多级流媒体转发方案,可以尽可能地减少对实时媒体数据源的实际引用路数,减少实时媒体数据源的压力。
此外,本发明还提供一种计算机存储介质,所述计算机存储介质包括一条或多条计算机指令,所述一条或多条计算机指令在执行时实现上述任一所述的流媒体调度方法。
也就是说,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器运行时,使得所述处理器执行上述任一所述的流媒体调度方法。
如图3所示,本发明实施例提供了一种电子设备300,包括存储器310和处理器320,所述存储器310用于存储一条或多条计算机指令,所述处理器320用于调用并执行所述一条或多条计算机指令,从而实现上述任一所述的方法。
也就是说,电子设备300包括:处理器320和存储器310,在所述存储器310中存储有计算机程序指令,其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器320执行上述任一所述的方法。
进一步地,如图3所示,电子设备300还包括网络接口330、输入设备340、硬盘350、和显示设备360。
上述各个接口和设备之间可以通过总线架构互连。总线架构可以是可以包括任意数量的互联的总线和桥。具体由处理器320代表的一个或者多个中央处理器(CPU),以及由存储器310代表的一个或者多个存储器的各种电路连接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其它电路连接在一起。可以理解,总线架构用于实现这些组件之间的连接通信。总线架构除包括数据总线之外,还包括电源总线、控制总线和状态信号总线,这些都是本领域所公知的,因此本文不再对其进行详细描述。
所述网络接口330,可以连接至网络(如因特网、局域网等),从网络中获取相关数据,并可以保存在硬盘350中。
所述输入设备340,可以接收操作人员输入的各种指令,并发送给处理器320以供执行。所述输入设备340可以包括键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
所述显示设备360,可以将处理器320执行指令获得的结果进行显示。
所述存储器310,用于存储操作系统运行所必须的程序和数据,以及处理器320计算过程中的中间结果等数据。
可以理解,本发明实施例中的存储器310可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。本文描述的装置和方法的存储器310旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器310存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统311和应用程序312。
其中,操作系统311,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序312,包含各种应用程序,例如浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序312中。
本发明上述实施例揭示的方法可以应用于处理器320中,或者由处理器320实现。处理器320可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器320中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器320可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器310,处理器320读取存储器310中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ASIC)、数字信号处理器DSP)、数字信号处理设备(DSPD)、可编程逻辑设备(PLD)、现场可编程门阵列(FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
具体地,处理器320还用于读取所述计算机程序,执行上述任一所述的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种流媒体调度方法,其特征在于,包括以下步骤:
S1、接收并解析客户端媒体数据请求;
S2、接收并预估流媒体分发单元输入负载与输出负载情况;
S3、选择符合用户要求网段的流媒体分发单元;
S4、选择预估负载最小的流媒体分发单元;
S5、调度流媒体进行媒体数据转发;
在步骤S1中,由调度中心服务器接收并解析客户端媒体数据请求,在步骤S2中,由所述调度中心服务器接收并预估所述流媒体分发单元定时上报的输入负载与输出负载情况;
所述步骤S2包括:
S21、接收所述流媒体分发单元输入负载与输出负载情况;
S22、初始化所述输入负载、输出负载和预估负载为0,所述调度中心服务器缓存各个流媒体分发单元s1、s2、s3…,预估输入负载i1=0、i2=0、i3=0…,预估输出负载o1=0、o2=0、o3=0…;请求中计数Q1=0、Q2=0、Q3=0;
S23、客户端请求m1码流时,所述调度中心服务器顺位选择流媒体分发单元s1,并标记流媒体分发单元s1的码流m1正在请求计数加1,流媒体分发单元s1的预估输入负载加1,流媒体分发单元s1的预估输出负载加1;
S24、流媒体分发单元s1回复失败或者超时,减去1次流媒体分发单元s1的预估输出负载,减去1次流媒体分发单元s1对m1码流的请求Q1,当流媒体分发单元s1对m1码流预估输出负载为0时,流媒体分发单元s1的预估输入负载减去1;
步骤S3包括:
S31、判断是否存在符合用户要求网段的流媒体分发单元,若不存在,则返回步骤S1,若存在,则执行步骤S32;
S32、请求实时媒体数据区分实时与历史,实时可复用。
2.根据权利要求1所述的方法,其特征在于,步骤S2还包括:
S25、在步骤S23中,若流媒体分发单元s1回复成功,则减去1次流媒体分发单元s1对m1码流的请求Q1,其他保留;若在步骤S23客户端c1请求m1码流之后,流媒体分发单元s1回复请求之前,有客户端c2也请求m1码流,则流媒体分发单元s1的预估输出负载加1,正在请求中计数加1;
S26、在步骤S25中,若流媒体分发单元s1回复c1的m1-c1请求失败,或者超时,减去1次流媒体分发单元s1的预估输出负载,减去1次流媒体分发单元s1对m1码流的请求Q1;
S27、在步骤S26中,若流媒体分发单元s1回复m1-c2请求失败,或者超时,减去1次流媒体分发单元s1对m1码流的请求Q1,减去1次流媒体分发单元s1的预估输出负载;若流媒体分发单元s1回复m1-c2成功,则减去1次流媒体分发单元s1对m1码流的请求Q1。
3.根据权利要求2所述的方法,其特征在于,步骤S2还包括:
S28、在步骤S25中,若流媒体分发单元s1回复c1的m1-c1请求成功,减去1次流媒体分发单元s1对m1码流的请求Q1,其余不变;
S29、在步骤S28中,若流媒体分发单元s1回复c2客户端的m1-c2请求失败,或者超时,减去1次流媒体分发单元s1对m1码流的请求Q1,减去1次流媒体分发单元s1的预估输出负载;如果流媒体分发单元s1回复c2客户端的m1-c2请求成功,减去1次流媒体分发单元s1对m1码流的请求Q1,其他不变。
4.根据权利要求1所述的方法,其特征在于,步骤S4包括:
S4a、选择预估输入负载最小的流媒体分布单元;
S4b、选择预估输出负载最小的流媒体分布单元;
步骤S32包括:
S331、判断所述流媒体分发单元是否存在可复用源,若不存在,则执行步骤S4a,若存在,则在可复用的所述流媒体分发单元中执行步骤S4b。
5.根据权利要求4所述的方法,其特征在于,步骤S4a包括:
S4a1、判断是否存在预估输入负载最小的流媒体分布单元,若不存在,则客户端终止媒体数据转发,若存在,则执行步骤S4a2;
S4a2、判断预估输入负载最小的流媒体分布单元的预计输入是否超负载,若超负载,则返回步骤S4a,若未超负载,则执行步骤S5。
6.根据权利要求4所述的方法,其特征在于,步骤S4b包括:
S4b1、判断是否存在预估输出负载最小的流媒体分布单元,若不存在,则执行步骤S4a,若存在,则执行步骤S4b2;
S4b2、判断预估输出负载最小的流媒体分布单元的预估输出是否超负载,若即将超负载,则以流媒体分布单元作为数据源进行转发,选择其他流媒体转发单元后,执行步骤S4a,若未超负载,则执行步骤S5。
7.一种计算机存储介质,其特征在于,包括一条或多条计算机指令,所述一条或多条计算机指令在执行时实现如权利要求1-6中任一项所述的方法。
8.一种电子设备,包括存储器和处理器,其特征在于,
所述存储器用于存储一条或多条计算机指令;
所述处理器用于调用并执行所述一条或多条计算机指令,从而实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010357184.2A CN111526153B (zh) | 2020-04-29 | 2020-04-29 | 流媒体调度方法、计算机存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010357184.2A CN111526153B (zh) | 2020-04-29 | 2020-04-29 | 流媒体调度方法、计算机存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111526153A CN111526153A (zh) | 2020-08-11 |
CN111526153B true CN111526153B (zh) | 2023-03-07 |
Family
ID=71910780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010357184.2A Active CN111526153B (zh) | 2020-04-29 | 2020-04-29 | 流媒体调度方法、计算机存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111526153B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095372B (zh) * | 2023-04-10 | 2023-06-02 | 大能手教育科技(北京)有限公司 | 流媒体数据调度分发方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102907055A (zh) * | 2010-03-26 | 2013-01-30 | 思杰系统有限公司 | 用于在多核装置上进行链路负载平衡的系统和方法 |
WO2014173110A1 (zh) * | 2013-04-23 | 2014-10-30 | 华为技术有限公司 | 获取流媒体数据的方法、设备及系统 |
CN105744238A (zh) * | 2016-05-09 | 2016-07-06 | 金三立视频科技(深圳)有限公司 | 流媒体均衡负载的方法及系统 |
CN108123888A (zh) * | 2016-11-29 | 2018-06-05 | 中兴通讯股份有限公司 | 报文的负载均衡方法、装置及系统 |
CN109428780A (zh) * | 2017-08-30 | 2019-03-05 | 中兴通讯股份有限公司 | 一种流量监测的调度方法、装置、服务器及存储介质 |
CN110545258A (zh) * | 2019-07-25 | 2019-12-06 | 浙江大华技术股份有限公司 | 流媒体服务器资源配置方法、装置和服务器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013034801A2 (en) * | 2011-09-09 | 2013-03-14 | Nokia Corporation | Method and apparatus for processing metadata in one or more media streams |
CN108712422B (zh) * | 2018-05-18 | 2021-05-25 | 网宿科技股份有限公司 | 一种创建转码任务的方法和装置 |
-
2020
- 2020-04-29 CN CN202010357184.2A patent/CN111526153B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102907055A (zh) * | 2010-03-26 | 2013-01-30 | 思杰系统有限公司 | 用于在多核装置上进行链路负载平衡的系统和方法 |
WO2014173110A1 (zh) * | 2013-04-23 | 2014-10-30 | 华为技术有限公司 | 获取流媒体数据的方法、设备及系统 |
CN105744238A (zh) * | 2016-05-09 | 2016-07-06 | 金三立视频科技(深圳)有限公司 | 流媒体均衡负载的方法及系统 |
CN108123888A (zh) * | 2016-11-29 | 2018-06-05 | 中兴通讯股份有限公司 | 报文的负载均衡方法、装置及系统 |
CN109428780A (zh) * | 2017-08-30 | 2019-03-05 | 中兴通讯股份有限公司 | 一种流量监测的调度方法、装置、服务器及存储介质 |
CN110545258A (zh) * | 2019-07-25 | 2019-12-06 | 浙江大华技术股份有限公司 | 流媒体服务器资源配置方法、装置和服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111526153A (zh) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7773522B2 (en) | Methods, apparatus and computer programs for managing performance and resource utilization within cluster-based systems | |
KR101283864B1 (ko) | 리소스 관리 방법과 내장 장치 | |
US20160378570A1 (en) | Techniques for Offloading Computational Tasks between Nodes | |
US9979631B2 (en) | Dynamic rerouting of service requests between service endpoints for web services in a composite service | |
US20130254774A1 (en) | Method and system for autonomic application program spawning in a computing environment | |
CN110196770B (zh) | 云系统内存数据处理方法、装置、设备及存储介质 | |
US9979630B2 (en) | Optimized consumption of third-party web services in a composite service | |
US8738775B1 (en) | Managing resource dependent workflows | |
CN103108020A (zh) | 服务协作设备、服务协作方法和计算机可读记录介质 | |
CN108306717A (zh) | 数据传输方法、服务器及存储介质 | |
CN110717132A (zh) | 全链路监控系统数据收集方法、推送方法及相关设备 | |
CN111526153B (zh) | 流媒体调度方法、计算机存储介质及电子设备 | |
WO2020100581A1 (ja) | 評価装置、評価方法および評価プログラム | |
CN110764899A (zh) | 资源配额管理、资源处理方法、装置、设备、系统及介质 | |
CN114024973A (zh) | 直播云转码的资源调度方法、装置、服务器及系统 | |
CN109347982A (zh) | 一种数据中心的调度方法及装置 | |
US20090182878A1 (en) | Devices, methods, and computer program products for real-time resource capacity management | |
CN100426241C (zh) | 一种面向服务体系结构中消息层软中断处理方法 | |
CN107632890B (zh) | 一种数据流体系结构中动态节点分配方法和系统 | |
US7797368B1 (en) | Managing a network of consumer-use computing devices | |
CN116250223A (zh) | 使用两层强化学习模型的边缘集群的过载保护 | |
JP6163094B2 (ja) | メッセージ配信システム、メッセージ配信方法およびメッセージ配信プログラム | |
CN114064362B (zh) | 用于分布式存储中的数据恢复方法、系统及计算机可读存储介质 | |
CN117076057B (zh) | 一种ai服务请求调度的方法、装置、设备及介质 | |
CN112995613B (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 |