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

多媒体数据流的处理方法、装置、电子设备及存储介质与流程

2022-12-19 21:04:43 来源:中国专利 TAG:


1.本公开涉及人工智能领域,尤其涉及云计算、媒体云技术等技术领域,可应用在智能云场景下。


背景技术:

2.随着云计算、媒体云技术的发展。每个用户都能制作多媒体数据。例如直播平台中,每个主播都可以录制多媒体数据,将多媒体数据流推送到直播平台中,进而分发给观看直播的用户。
3.p2p(peer-to-peer,点对点网络通讯技术)/pcdn(p2p content delivery network,基于p2p的内容分发网络)系统的目标是有效利用各类边缘资源的碎片带宽和计算能力去协助传输分发多媒体数据流。
4.然而,目前的p2p/pcdn系统均采用私有协议,用户端需要安装支持该私有协议的sdk(software development kit,软件开发工具包)才能实现多媒体数据流的处理逻辑。


技术实现要素:

5.本公开提供了一种多媒体数据流的处理方法、装置、电子设备及存储介质。
6.根据本公开的一方面,提供了一种多媒体数据流的处理方法,包括:
7.将多媒体数据流的多个子流分配给多个边缘资源节点,其中,多媒体数据流划分为多个切片,每个子流包括多媒体数据流的部分切片;
8.调度多个边缘资源节点为终端设备提供多媒体数据流的多个子流。
9.根据本公开的另一方面,提供了一种多媒体数据流的处理方法,包括:
10.响应于集中调度设备的控制,从多个边缘资源节点中获取多媒体数据流的多个子流;其中,多媒体数据流划分为多个切片,每个子流包括多媒体数据的部分切片;
11.基于多个子流包含的切片,恢复多媒体数据流;
12.播放多媒体数据流。
13.根据本公开的另一方面,提供了一种多媒体数据流的处理装置,包括:
14.分配模块,用于将多媒体数据流的多个子流分配给多个边缘资源节点,其中,多媒体数据流划分为多个切片,每个子流包括多媒体数据流的部分切片;
15.调度模块,用于调度多个边缘资源节点为终端设备提供多媒体数据流的多个子流。
16.根据本公开的另一方面,提供了另一种多媒体数据流的处理装置,包括:
17.响应模块,用于响应于集中调度设备的控制,从多个边缘资源节点中获取多媒体数据流的多个子流;其中,多媒体数据流划分为多个切片,每个子流包括多媒体数据的部分切片;
18.恢复模块,用于基于多个子流包含的切片,恢复多媒体数据流;
19.播放模块,用于播放多媒体数据流。
20.根据本公开的另一方面,提供了一种电子设备,包括:
21.至少一个处理器;以及
22.与至少一个处理器通信连接的存储器;其中,
23.存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行多媒体数据流的处理方法。
24.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行多媒体数据流的处理方法。
25.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现多媒体数据流的处理方法。
26.本实施例提供的方案,将多媒体数据流划分为多个不同子流,由此能充分利用多个边缘资源节点的碎片带宽和计算能力。而且终端设备无需集成sdk,终端设备可以采用通用通信协议与不同云服务通信,各类云服务能够互通,不再相互独立。
27.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
28.附图用于更好地理解本方案,不构成对本公开的限定。其中:
29.图1是根据本公开一实施例的多媒体数据流的处理方法中系统架构示意图;
30.图2是根据本公开一实施例的多媒体数据流的处理方法的流程示意图;
31.图3是根据本公开另一实施例的多媒体数据流的处理方法的流程示意图;
32.图4是根据本公开另一实施例的多媒体数据流的处理方法的流程示意图;
33.图5是根据本公开一实施例的多媒体数据流的处理装置的结构示意图;
34.图6是根据本公开另一实施例的多媒体数据流的处理装置的结构示意图;
35.图7是用来实现本公开实施例的多媒体数据流的处理方法的电子设备的框图。
具体实施方式
36.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
37.本公开实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元。方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
38.本公开实施例涉及的边缘资源节点包括云端靠近用户侧的边缘设备,以及下沉边缘资源。下沉边缘小资源可以有公网ip或无公网ip,例如包括家庭路由器、机顶盒、pc(personal computer,个人计算机)、打印机、智能电视等。
39.相关技术中,处理多媒体数据流的流程一般为:对多媒体数据流进行切片处理;相
应边缘资源节点接收并承载这些切片,并提供给终端设备。终端设备利用sdk,通过私有协议向边缘资源节点请求获取切片。当出现问题时,由终端设备的sdk负责调度切换提供多媒体数据流的节点。
40.然而,采用不同开发商提供的云服务时,终端设备需要部署各开发商的sdk。终端设备集成了大量sdk,加重了终端设备的资源配置负担,且每种sdk只能访问各自对应的边缘资源节点,就使得各类云服务不能互通、相互独立,造成边缘资源节点无法被充分利用,一定程度上形成了资源的浪费。
41.有鉴于此,如果能替代sdk来访问边缘资源节点,就能使更多空闲的边缘资源节点得到合理有效的利用。为了达到该目的,本公开实施例提供了一种基于集中调度设备的多媒体数据流处理逻辑。本公开实施例中,终端设备无需集成sdk的控制逻辑,且通过通用的通信协议即可和不同开发商的边缘资源节点通信,以获取多媒体数据流进行播放。根据该技术构思,本公开一实施例提供了多媒体数据流处理方法。该方法适用的调度系统架构示意图如图1所示,包括切片服务101、cdn(content delivery network,内容分发网络)节点102、多个pcdn节点103(即边缘资源节点)、集中调度设备104和终端设备105。其中:
42.切片服务101,主要用于对接收到的多媒体数据流进行切片处理,将接收到的多媒体数据流切分成1kb大小的切片,对每个切片进行编号,各切片的编号作为该切片的唯一标识,所有切分好的切片组成切片流。需要说明的是切片大小并不局限于1kb,可根据实际需求进行切分。
43.cdn节点102,用于基于切片,将多媒体数据流划分为多个子流,其中每个子流包括多媒体数据流中的部分切片,也即,终端设备获取同一多媒体数据流的所有子流才能正常播放该多媒体数据流。
44.每个pcdn节点103,用于提供至少一路子流给终端设备105。
45.集中调度设备104,用于实现多媒体数据流的控制逻辑。
46.终端设备105,用于获取并播放多媒体数据流。原sdk对多媒体数据流的控制实现,交由集中调度设备104完成,且本公开实施例提供一套新的集中控制逻辑,用于充分利用边缘资源节点。
47.需要说明的是,本公开实施例中切片服务101、cdn节点102、pcdn节点103和集中调度设备可实现为服务器。
48.如图2所示,为本公开实施例中集中调度设备实现的多媒体数据流的处理方法的流程示意图,包括:
49.s201,将多媒体数据流的多个子流分配给多个边缘资源节点,其中,多媒体数据流划分为多个切片,每个子流包括多媒体数据的部分切片。
50.例如,切片服务101在接收到多媒体数据流后进行切片,每个切片有相应的切片编号。通过cdn节点将切片划分到相应的子流。假设多媒体数据流要划分为n个子流,每个子流都有对应的子流编号。子流编号=切片编号%子流数(n),也即,每个切片所归属的子流,是根据切片编号对子流数n的取模结果确定的。例如,编号为1、3、5、7的切片的取模结果为1,则编号为1、3、5、7的切片分配到子流1中,编号为2、4、6的取模结果为2,则编号为2、4、6的切片分配到子流2中,以此类推。由此可知,本公开实施例中,每个子流包括多媒体数据的部分切片。实施时,不同子流可包含多媒体数据流的不同切片。这样的划分方式对边缘资源节点
的性能要求低。当然,也可以同一切片分配到多个子流,实施时可根据情况做出选择。
51.相应的,集中调度设备在分配子流给边缘资源节点时,每个边缘资源节点可承担同一多媒体数据流中的一个或多个子流。
52.s202,调度多个边缘资源节点为终端设备提供多媒体数据流的多个子流。
53.本公开实施例中,多媒体数据流被划分为多个子流。不同子流包含多媒体数据流的部分切片,多个边缘资源节点共同承载同一多媒体数据流。这样的分配方式对边缘资源节点的性能要求低,能够符合边缘资源的特点。能够充分利用多个边缘资源节点的碎片带宽和计算能力为同一终端设备提供多媒体数据流。而且,对多媒体数据流的调度控制集中在服务端实现,终端设备可以不再集成云服务的sdk,由此减轻了终端设备的资源配置负担。无需集成sdk,则终端设备可以采用通用通信协议与不同云服务通信,对于终端设备而言,各类云服务能够互通,不再相互独立。此外,不同设备之间采用http/3协议进行通信,实现相关请求的收发,利于无公网ip的内网节点与其他设备进行通信,降低了通信门槛,扩大了p2p/pcdn系统的适用范围。
54.本公开实施例中,为了进行多媒体数据流的多个子流的合理分配,将多媒体数据流的多个子流分配给多个边缘资源节点,可实施为:
55.从边缘资源节点集合中筛选出负载情况满足预设要求的边缘资源节点作为待分配边缘资源节点。
56.其中,负载情况可以反映边缘资源节点是否有能力负载子流并提供相应服务,负载情况可能包括:边缘资源节点空闲、边缘资源节点被占用等。其中,边缘资源节点空闲还可以进一步细分为边缘资源节点空闲且剩余空间充足、边缘资源节点空闲且剩余空间不足。当边缘资源节点空闲且剩余空间充足时,确定为满足预设要求。进一步地,将满足预设要求的边缘资源节点从边缘资源节点集合中筛选出来,作为待分配边缘资源节点,用于承载相关多媒体数据流的子流。
57.其次,对多媒体数据流进行相关处理,确定多个子流中未分配边缘资源节点的待分配子流。
58.对于多媒体数据流,先将其进行切分。由cdn节点将切分好的所有切片,以单个切片大小为单位进行存储。对于同一多媒体数据流的切片,通过cdn节点来继续划定子流。每个子流包括多媒体数据流的部分切片,所有子流可覆盖多媒体数据流的全部切片。划定子流后,从划分好的多个子流中,确定未分配边缘资源节点的子流,作为待分配子流。之后,基于预设分配规则,将待分配子流分配给待分配边缘资源节点。
59.其中预设分配规则包括把每个子流分配给一个边缘资源节点,也即不同边缘资源节点负载的子流不同,这样可节约边缘资源节点的资源,从而提高边缘资源节点的利用率。当然,同一子流也可以分配给多个边缘资源节点,本公开对此不作限定。
60.本公开实施例中,在确定好待分配边缘资源节点和待分配子流后,将其按照预设分配规则进行分配,将每一个待分配子流都分配给相应的待分配边缘资源节点,能够有效的实现不同边缘资源节点的负载均衡,提高边缘资源节点的利用率。
61.多个边缘资源节点承载相应的子流后,此时,在多个pcdn节点上,已承载了多媒体数据流产生的多个子流,并随时可将这些子流提供给终端设备。其中,调度多个边缘资源节点为终端设备提供多媒体数据流的多个子流可实施为:
62.集中调度设备接收终端设备发送的针对多媒体数据流的http(hyper text transfer protocol,超文本传输协议)请求。
63.当终端设备产生播放需求时,向集中调度设备发送http播放请求,此时的发送目标对象为集中调度设备,并不需要sdk发送给边缘资源节点,本公开实施例中由集中调度设备对接收到的http请求进行统一处理。
64.集中调度设备响应于终端设备的http请求,确定承载多媒体数据流的多个边缘资源节点,并确定承载多媒体数据流的cdn节点。
65.当集中调度设备接收到来自终端设备的http请求后,对http请求进行响应。此时,集中调度设备可以控制多个边缘资源节点,使其提供各自所负载的子流到终端设备上,以供终端设备播放使用。与此同时,集中调度设备还需要确定承载多媒体数据流的cdn节点,该cdn节点中具有多媒体数据流的所有切片。
66.在确定多媒体数据流的多个边缘资源节点以及cdn节点后,集中调度设备生成响应信息,并发送响应信息给终端设备。该响应信息中包括多个边缘资源节点的地址信息以及cdn节点的地址信息。其中,cdn节点供终端设备获取起播数据,多个边缘资源节点供终端设备获取多媒体数据流中起播数据之后的数据。
67.其中,终端设备可连接cdn节点,也基于多个边缘资源节点的地址连接各边缘资源节点。如图1所示,终端设备从cdn节点获取起播数据,当cdn节点为终端设备提供完起播数据后,终端设备即断开与cdn节点的连接,并从多个边缘资源节点来获取起播数据之后的数据。
68.本公开实施例的这一实施方式中,基于http请求调度多媒体数据流的一系列连贯动作的都由服务端实现。终端设备和服务端之间基于通用通信协议,由服务端统一处理请求并收发信息,简化了原有通信过程,提高了多媒体数据流的处理效率。
69.为了便于集中调度设备管理各个边缘资源节点。本公开实施例中,各边缘资源节点可上报状态信息给集中调度设备。其中,就集中调度设备而言,其可以接收多个边缘资源节点上报的状态信息。之后可基于状态信息,调度多个边缘资源节点提供多媒体数据流的多个子流给终端设备。
70.本公开实施例的实施方式中,基于所接收到的多个边缘资源节点上报的状态信息,来作为调度多个边缘资源节点的依据,调度逻辑严谨可靠。基于状态信息可了解各边缘资源的情况,并据此可合理调度多个边缘资源节点,可避免由于边缘资源节点不适合提供服务、而导致终端设备无法正常获取多媒体数据流的情况,从而提高服务效率。
71.为描述方便后文将任一上报状态信息的边缘资源节点称之为第一边缘资源节点。针对第一边缘资源节点,其上报的状态信息包括以下至少一种:
72.1)、第一边缘资源节点的上级节点的数据传输情况;
73.其中,如图1所示,第一边缘资源节点的上级节点可能是cdn节点也可能是pcdn节点。
74.对于第一边缘资源节点,其会接收上级节点传输的数据,当数据接收较慢时,例如数据接收速率低于预设速率可理解为数据接收较慢,第一边缘资源节点可确定上级节点数据发送较慢,并上报给集中调度设备。
75.2)、第一边缘资源节点的下级节点的数据传输情况;
76.其中,如图1所示,下级节点可包括pcdn节点或终端设备。
77.类似的,第一边缘资源节点可发送数据给下级节点,第一边缘资源节点的发送速率正常,但下级节点的反馈慢时,可表示下级节点数据接收速率较低,并上报给集中调度设备。
78.3)、第一边缘资源节点的数据传输情况和负载情况。
79.例如,第一边缘资源节点发送数据时,基于发送队列发送数据,若发送队列中数据积压,长时间发送不出去或发送速率较低则上报给集中调度设备,以告知第一边缘资源节点的发送环节有问题。
80.同理,第一边缘资源节点基于接收队列接收上级节点传输的数据,当接收队列在单位时间内接收的数据量较低或长时间未接收到数据,或接收到少量数据时,可理解为接收数据出现问题,并上报给集中调度设备。
81.上述上报的数据传输情况可能包括数据链路传输过慢、无法传输数据等情况。当出现这些情况后,第一边缘资源节点可分析是由于上级节点或下级节点传输数据出现故障,也可能是第一边缘资源节点接收数据出现问题。不论出于哪种原因,都会对整个系统中数据的传输效率产生负面影响。但此时对产生的负面影响及时做出响应,即上报状态信息给集中调度设备,有利于集中调度设备对状态信息进行分析,并积极应对处理,从而可有效避免整个系统的数据传输出现故障、无法继续运行,能够提高系统运行稳定性,提高服务效率。
82.综上,通过上报上级节点的传输情况,可便于集中调度设备全面及时的了解不同节点的情况,也能够避免上级节点出现问题无法上报自身情况而导致的状态信息缺失。同理,上报下级节点的数据传输情况,能够便于集中调度设备全面及时的了解下级节点的情况,避免下级节点出现问题无法上报自身情况。第一边缘资源节点上报自身情况,能够便于了解第一边缘资源节点的具体情况,以便于对各边缘资源节点进行管理和调度。
83.在一些实施例中,集中调度设备可基于第一资源节点上报的状态信息对第一资源节点的健康状态进行分析,集中调度设备在基于第一边缘资源节点的状态信息确定第一边缘资源节点出现故障的情况下,确定第一边缘资源节点承载的目标子流。
84.其中,目标子流的确定方法可以是按照其唯一的子流编号来确定。集中调度设备可维护有各个边缘资源节点承载的子流分布列表,如表1所示,表1中记录了:边缘资源节点1承载了多媒体数据流a的子流a1,边缘资源节点2承载了多媒体数据流a的子流a2,边缘资源节点3承载了多媒体数据流b的子流b1,以此类推,可基于维护的子流分布列表,了解各个边缘资源节点提供的子流情况。需要说明的是,表1仅用于示例说明子流分布列表,并不用于限定本公开实施例。实施时,可每个多媒体梳理分布具有相应的子流分布列表,也可以如表1所示,在一个子流分布列表中记录多个多媒体数据流的子流分布情况。
85.表1
86.边缘资源节点标识多媒体数据流a多媒体数据流b边缘资源节点1子流a1 边缘资源节点2子流a2 边缘资源节点3 子流b1
………………
87.由于同一边缘资源节点中可能承载多媒体数据流的一个或多个子流,因此,本公开实施例中确定的目标子流可能是多媒体数据流的一个子流,也可能是多个子流。
88.集中调度设备会筛选出承载目标子流的第二边缘资源节点。之后,调度第二边缘资源节点为终端设备提供目标子流。
89.其中,集中调度设备当确认目标子流后,由于承载该目标子流的第一边缘资源节点出现故障,需要筛选能够承载此目标子流的第二边缘资源节点,来接替第一边缘资源节点的功能。可理解的是,第二边缘资源节点应具备正常第一边缘资源节点所具备的功能、满足负载目标子流的能力。
90.在一些实施例中,为了节约边缘资源节点的存储资源,可以每一个子流仅由一个边缘资源节点承载。当该边缘资源节点出现问题时,可重新选取一个承载该子流的边缘资源节点。重新选取的边缘资源节点在集中调度设备的控制下,向上级节点请求获取该子流,然后将获取的子流提供给终端设备。其中,在更换边缘资源节点后,集中调度设备可将更换通知发送给终端设备,该更换通知中可包括新更换的边缘资源节点的地址及其提供的子流,以便于终端设备与新更换的边缘资源节点建立连接并获取子流。该实施例中,只有在出现故障的第一边缘资源节点无法承载相应子流时,才调度可替换的第二边缘资源节点进行替代,节约了边缘资源节点的空间资源,提高了系统运行效率,满足了数据传输需求。
91.本公开实施例中,能够在确定第一边缘资源节点无法承载目标子流后,及时对出现故障的第一边缘资源节点进行替换,继续采用能承载目标子流的第二边缘资源节点来完成相应功能。由此,能够保证同一子流在出现问题时,仍能够通过调度的方式将子流提供给终端设备,保证终端设备能够及时获取多媒体数据流进行播放。
92.前文介绍了集中调度设备执行的多媒体数据流的处理方法。基于相同的技术构思,如图3所示,本公开实施例还提供了终端设备实现的多媒体数据流的处理方法,包括:
93.s301,响应于集中调度设备的控制,从多个边缘资源节点中获取多媒体数据流的多个子流;其中,多媒体数据流划分为多个切片,每个子流包括多媒体数据的部分切片。
94.其中,如何切片以及如何将切片分配给相应的子流已在前文阐述,这里不再赘述。
95.需要说明的是,每个终端设备均可从每个边缘资源节点中,获取同一多媒体数据流的子流。
96.s302,基于多个子流包含的切片,恢复多媒体数据流。
97.基于多个子流包含的切片,将获取到的子流中包含的切片,根据切片编号,按顺序排列完整,恢复成待播放的多媒体数据流。之后,终端设备可对多媒体数据流进行解码得到可播放的多媒体数据流。
98.s303,播放多媒体数据流。
99.本公开实施例中,终端设备直接响应于集中调度设备的控制,接收多个pcdn节点提供的多个子流,并将接收到的基于多个子流包含的切片,恢复成多媒体数据流。恢复完成后,可以在终端设备上,进行多媒体数据流的播放。由此,本公开实施例无需集成sdk,终端设备就可以采用通用通信协议,与不同云服务通信,对于终端设备而言,各类云服务能够互通,不再相互独立。多媒体数据流的调度控制集中在服务端实现,终端设备可以不再集成云服务的sdk,由此减轻了终端设备的资源配置负担,提高了终端设备获取多媒体数据流的效率。
100.其中,终端设备响应于集中调度设备的控制,从多个边缘资源节点中获取多媒体数据流的多个子流,可实施为:
101.终端设备发送针对多媒体数据流的http请求给集中调度设备。
102.其中,当终端设备产生播放需求时,终端设备向集中调度设备发送http播放请求,此时的发送目标对象为集中调度设备,并不需要sdk发送给边缘资源节点,本公开实施例中由集中调度对接收到的http请求进行统一处理。
103.终端设备接收集中调度设备发送的响应信息;响应信息中包括多个边缘资源节点的地址信息以及内容分发网络cdn节点的地址信息。
104.终端设备基于cdn节点的地址信息,从cdn节点中获取多媒体数据流的起播数据。
105.终端设备基于多个边缘资源节点的地址信息,从多个边缘资源节点中获取多媒体数据流中起播数据之后的数据。
106.本公开实施例的这一实施方式中,基于http请求获取直播流的控制逻辑集中由集中调度设备来完成。且终端设备基于通用通信协议即可实现播放多媒体数据流,终端设备无需集成sdk,减少了终端设备的配置负担。
107.本公开实施例中,终端设备基于集中调度设备的控制,获取到多个子流包含的切片,恢复多媒体数据流,可实施为:基于多个子流包含的切片,确定多媒体数据流缺失切片的情况下,如图1所示,终端设备从内容分发网络cdn节点中获取缺失切片。基于缺失切片恢复多媒体数据流。
108.当终端设备获取到切片时,按切片编号顺序排列,如果排序后的切片编号不连续,即所获取的多媒体数据流缺失切片。例如,多媒体数据流的切片包括1、2、3、4、5的五个切片,但终端设备只获取到了1、2、4号切片,缺失了3、5号切片;此时,终端设备重新与cdn节点连接,并在连接成功后,从cdn节点中获取缺失的3、5号切片,以保证最终获取到的多媒体数据流是完整的。终端设备基于缺失切片,从cdn节点获得相应的缺失切片后,将重新获得的切片,按照切片编号,补充到多媒体数据流中,来恢复多媒体数据流,恢复后的多媒体数据流可在终端设备播放。
109.在本公开实施例中,即使在终端设备从边缘资源节点获取子流时,缺失切片的情况下,可以基于cdn节点快速补片,提高了终端设备获取多媒体数据流的效率。
110.为便于系统性理解本公开实施例提供的多媒体数据流的处理方法,下面结合图4对此进行说明,包括:
111.s401,cdn节点确定多媒体数据流的各个切片所属的子流。
112.s402,基于集中调度设备的控制,各pcdn节点从cdn节点中请求相应的子流。
113.s403,终端设备向集中调度设备发送http请求。
114.s404,集中调度设备接收终端设备发来的http请求,并确定负载多媒体数据流的子流的各pcdn节点,并将将cdn节点和各pcdn节点地址信息作为响应信息返回给终端设备。
115.s405,终端设备连接cdn节点,并从中获取起播数据。
116.s406,终端设备与pcdn节点连接,以获取起播数据之后的数据。
117.s407,终端设备在有缺失切片的情况下,重新与cdn节点连接,从中获取缺失切片。
118.基于相同的技术构思,本公开实施例还提供一种多媒体数据流的处理装置,如图5所示,包括:
119.分配模块501,用于将多媒体数据流的多个子流分配给多个边缘资源节点,其中,多媒体数据流划分为多个切片,每个子流包括多媒体数据流的部分切片;
120.调度模块502,用于调度多个边缘资源节点为终端设备提供多媒体数据流的多个子流。
121.在一些实施例中,分配模块,包括:
122.第一筛选子模块,用于从边缘资源节点集合中筛选出负载情况满足预设要求的边缘资源节点作为待分配边缘资源节点;以及,
123.第一确定子模块,用于确定多个子流中未分配边缘资源节点的待分配子流;
124.分配子模块,用于基于预设分配规则,将待分配子流分配给待分配边缘资源节点。
125.在一些实施例中,调度模块,包括:
126.第一接收子模块,用于接收终端设备发送的针对多媒体数据流的超文本传输协议http请求;
127.第二确定子模块,用于响应于终端设备的http请求,确定承载多媒体数据流的多个边缘资源节点,并确定承载多媒体数据流的内容分发网络cdn节点;
128.生成子模块,用于生成响应信息;响应信息中包括多个边缘资源节点的地址信息以及cdn节点的地址信息;其中,cdn节点供终端设备获取起播数据,多个边缘资源节点供终端设备获取多媒体数据流中起播数据之后的数据;
129.发送子模块,用于发送响应信息给终端设备。
130.在一些实施例中,调度模块,包括:
131.第二接收子模块,用于接收多个边缘资源节点上报的状态信息;
132.第一调度子模块,用于基于状态信息,调度多个边缘资源节点提供多媒体数据流的多个子流给终端设备。
133.在一些实施例中,针对第一边缘资源节点,状态信息包括以下至少一种,第一边缘资源节点为多个边缘资源节点中的任一节点:
134.第一边缘资源节点的上级节点的数据传输情况;
135.第一边缘资源节点的下级节点的数据传输情况;
136.第一边缘资源节点的数据传输情况和负载情况。
137.在一些实施例中,调度子模块,用于:
138.在基于第一边缘资源节点的状态信息确定第一边缘资源节点出现故障的情况下,确定第一边缘资源节点承载的目标子流;
139.筛选出承载目标子流的第二边缘资源节点;
140.调度第二边缘资源节点为终端设备提供目标子流。
141.基于相同的技术构思,本公开实施例还提供一种多媒体数据流的处理装置,如图6所示,包括:
142.响应模块601,用于响应于集中调度设备的控制,从多个边缘资源节点中获取多媒体数据流的多个子流;其中,多媒体数据流划分为多个切片,每个子流包括多媒体数据的部分切片;
143.恢复模块602,用于基于多个子流包含的切片,恢复多媒体数据流;
144.播放模块603,用于播放多媒体数据流。
145.在一些实施例中,响应模块,包括:
146.发送子模块,用于发送针对多媒体数据流的超文本传输协议http请求给集中调度设备;
147.接收子模块,用于接收集中调度设备发送的响应信息;响应信息中包括多个边缘资源节点的地址信息以及内容分发网络cdn节点的地址信息;
148.第一获取子模块,用于基于cdn节点的地址信息,从cdn节点中获取多媒体数据流的起播数据;
149.第二获取子模块,用于基于多个边缘资源节点的地址信息,从多个边缘资源节点中获取多媒体数据流中起播数据之后的数据。
150.在一些实施例中,恢复模块,包括:
151.第三获取子模块,用于基于多个子流包含的切片,确定多媒体数据流缺失切片的情况下,从内容分发网络cdn节点中获取缺失切片。
152.恢复子模块,用于基于缺失切片恢复多媒体数据流。
153.本公开实施例的装置的各模块、子模块的具体功能和示例的描述,可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
154.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
155.图7示出了可以用来实施本公开的实施例的示例电子设备700的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
156.如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(rom)702中的计算机程序或者从存储单元708加载到随机访问存储器(ram)703中的计算机程序,来执行各种适当的动作和处理。在ram 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、rom 702以及ram 703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
157.设备700中的多个部件连接至i/o接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
158.计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如多媒体数据流的处理方法。例如,在一些实施例中,多媒体数据流的处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由rom 702和/或通信单元709而被载入和/或安装到设
备700上。当计算机程序加载到ram 703并由计算单元701执行时,可以执行上文描述的多媒体数据流的处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多媒体数据流的处理方法。
159.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
160.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
161.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
162.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
163.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
164.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计
算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
165.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
166.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献