CN115668373A - 数据流中无中断且连续切换工作流或更新工作流的方法 - Google Patents
数据流中无中断且连续切换工作流或更新工作流的方法 Download PDFInfo
- Publication number
- CN115668373A CN115668373A CN202280003940.9A CN202280003940A CN115668373A CN 115668373 A CN115668373 A CN 115668373A CN 202280003940 A CN202280003940 A CN 202280003940A CN 115668373 A CN115668373 A CN 115668373A
- Authority
- CN
- China
- Prior art keywords
- workflow
- nbmp
- wdd
- mpe
- task
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 42
- 230000004044 response Effects 0.000 claims abstract description 9
- 238000013507 mapping Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 37
- 230000008569 process Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
Images
Classifications
-
- 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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/801—Real time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
-
- 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
- H04L65/765—Media network packet handling intermediate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
提供了用于管理基于网络的媒体处理(NBMP)工作流的方法和***。方法包括:获取第一基于网络的媒体处理(NBMP)工作流描述文档(WDD);创建对应于第一NBMP WDD的第一工作流;根据第一工作流来管理至少一个媒体处理实体(MPE);获取对第一NBMP WDD的更新,该更新包括第二NBMP WDD,其中,第二NBMP WDD包括连续性标志,该连续性标志指示对应于第二NBMP WDD的第二工作流是第一工作流的延续;基于第二NBMP WDD创建第二工作流;以及响应于创建了第二工作流,根据第二工作流来管理至少一个MPE。
Description
相关申请的交叉引用
本申请要求于2021年4月19日提交的美国临时申请No.63/176,761的优先权,该美国临时申请的公开内容通过引用整体并入本文中。
技术领域
本公开的实施例涉及运动图像专家组(Moving Picture Experts Group,MPEG)的基于网络的媒体处理(Network Based Media Processing,NBMP),尤其涉及管理NBMP工作流。
背景技术
MPEG的基于网络的媒体处理(NBMP)项目开发了在云上处理媒体的概念。就提高媒体处理效率,更快且成本更低地部署媒体服务,以及通过利用公共云服务、私有云服务或混合云服务提供大规模部署的能力而言,NBMP国际规范草案显示出极大的潜力。
虽然NBMP当前规范允许更新工作流,但是NBMP当前规范没有定义是否需要继续数据流,或者在更新期间是否不应丢失任何数据。
发明内容
在实施例中,一种由媒体***的工作流管理器的至少一个处理器执行的方法包括:获取第一基于网络的媒体处理(NBMP)工作流描述文档(WDD);创建对应于第一NBMP WDD的第一工作流;根据第一工作流来管理至少一个媒体处理实体(MPE);获取对第一NBMP WDD的更新,该更新包括第二NBMP WDD,其中,第二NBMP WDD包括连续性标志,该连续性标志指示对应于第二NBMP WDD的第二工作流是第一工作流的延续;基于第二NBMP WDD来创建第二工作流;以及响应于创建了第二工作流,根据第二工作流来管理至少一个MPE。
在实施例中,一种媒体***的工作流管理器包括:至少一个存储器,存储程序代码;以及至少一个处理器,配置成读取程序代码并按照程序代码的指令进行操作,程序代码包括:第一获取代码,配置成使得至少一个处理器获取第一基于网络的媒体处理(NBMP)工作流描述文档(WDD);第一创建代码,配置成使得至少一个处理器创建对应于第一NBMP WDD的第一工作流;第一管理代码,配置成使得至少一个处理器根据第一工作流来管理至少一个媒体处理实体(MPE);第二获取代码,配置成使得至少一个处理器获取对第一NBMP WDD的更新,该更新包括第二NBMP WDD,其中,第二NBMP WDD包括连续性标志,该连续性标志指示对应于第二NBMP WDD的第二工作流是第一工作流的延续;第二创建代码,配置成使得至少一个处理器基于第二NBMP WDD来创建第二工作流;以及第二管理代码,配置成使得至少一个处理器响应于创建了第二工作流,根据第二工作流来管理至少一个MPE。
在实施例中,一种非暂时性计算机可读介质,存储有计算机代码,该计算机代码配置成当由实现媒体***的工作流管理器的至少一个处理器执行时,使得至少一个处理器:获取第一基于网络的媒体处理(NBMP)工作流描述文档(WDD);创建对应于第一NBMP WDD的第一工作流;根据第一工作流来管理至少一个媒体处理实体(MPE);获取对第一NBMP WDD的更新,该更新包括第二NBMP WDD,其中,第二NBMP WDD包括连续性标志,该连续性标志指示对应于第二NBMP WDD的第二工作流是第一工作流的延续;基于第二NBMP WDD创建第二工作流;以及响应于创建了第二工作流,根据第二工作流来管理至少一个MPE。
附图说明
根据以下详细描述和附图,所公开的主题的进一步的特征、性质和各种优点将更加明显,在附图中:
图1是根据实施例的可实现本文描述的方法、装置和***的环境的图。
图2是图1的一个或多个设备的示例组件的框图。
图3是根据实施例的NBMP***的框图。
图4是根据实施例的工作流管理过程的示例的框图。
图5是根据实施例的计算机代码的示例的框图。
具体实施方式
图1是根据实施例的可实现本文描述的方法、装置和***的环境100的图。如图1所示,环境100可包括用户设备110、平台120和网络130。环境100的设备可经由有线连接、无线连接或者有线连接和无线连接的组合进行互连。
用户设备110包括能够接收、生成、存储、处理和/或提供与平台120相关联的信息的一个或多个设备。例如,用户设备110可包括计算设备(例如,台式计算机、膝上型计算机、平板计算机、手持式计算机、智能扬声器、服务器等)、移动电话(例如,智能电话、无线电电话等)、可穿戴设备(例如,智能眼镜或智能手表)或类似设备。在一些实现方式中,用户设备110可以从平台120接收信息和/或向平台120发送信息。
平台120包括如本文其它位置所描述的一个或多个设备。在一些实现方式中,平台120可包括云服务器或一组云服务器。在一些实现方式中,平台120可设计成模块化,使得可根据特定需要换入或换出软件组件。这样,可以容易地和/或快速地重新配置平台120以具有不同的用途。
在一些实现方式中,如图所示,平台120可被托管(hosted)在云计算环境122中。应注意,虽然本文描述的实现方式将平台120描述成托管在云计算环境122中,但是在一些实现方式中,平台120可以不基于云(即,可以在云计算环境之外实现)或者可部分地基于云。
云计算环境122包括托管平台120的环境。云计算环境122可提供计算、软件、数据访问、存储等服务,这些服务不需要终端用户(例如,用户设备110)了解托管平台120的***和/或设备的物理位置和配置。如图所示,云计算环境122可包括一组计算资源124(一起被称为“多个计算资源124”,单独一个计算资源称为“计算资源124”)。
计算资源124包括一个或多个个人计算机、工作站计算机、服务器设备或其它类型的计算和/或通信设备。在一些实现方式中,计算资源124可托管平台120。云资源可包括在计算资源124中运行的计算实例、在计算资源124中提供的存储设备、由计算资源124提供的数据传输设备等。在一些实现方式中,计算资源124可经由有线连接、无线连接或者有线连接和无线连接的组合与其它计算资源124通信。
如图1进一步所示,计算资源124包括一组云资源,例如一个或多个应用程序(application,“APP”)124-1、一个或多个虚拟机(virtual machine,“VM”)124-2、虚拟化存储器(virtualized storage,“VS”)124-3、一个或多个管理程序(hypervisor,“HYP”)124-4等。
应用程序124-1包括一个或多个软件应用程序,其可提供给用户设备110和/或平台120或者由用户设备110和/或平台120访问。应用程序124-1无需在在用户设备110上安装和运行软件应用程序。例如,应用程序124-1可包括与平台120相关联的软件和/或能够经由云计算环境122提供的任何其它软件。在一些实现方式中,一个应用程序124-1可经由虚拟机124-2向一个或多个其它应用程序124-1发送信息/从一个或多个其它应用程序124-1接收信息。
虚拟机124-2包括类似于物理机那样执行程序的机器(例如,计算机)的软件实现。根据虚拟机124-2对任何真机的对应程度和用途,虚拟机124-2可以是***虚拟机或过程虚拟机。***虚拟机可提供支持完整操作***(“OS”)的运行的完整***平台。过程虚拟机可运行单个程序,且可支持单个过程。在一些实现方式中,虚拟机124-2可代表用户(例如,用户设备110)来运行,且可管理云计算环境122的基础设施,例如数据管理、同步或长时间数据传输。
虚拟化存储器124-3包括在计算资源124的存储***或设备内使用虚拟化技术的一个或多个存储***和/或一个或多个设备。在一些实现方式中,在存储***的环境中,虚拟化的类型可包括块虚拟化和文件虚拟化。块虚拟化可指的是从物理存储抽象(或分离)出逻辑存储,使得可以在不考虑物理存储或异构结构的情况下访问存储***。上述分离可允许存储***的管理员在管理员如何管理终端用户的存储方面具有灵活性。文件虚拟化可消除以文件级访问的数据和物理地存储文件的位置之间的依赖性。这可实现存储器使用、服务器整合和/或无中断文件迁移性能的优化。
管理程序124-4可提供硬件虚拟化技术,硬件虚拟化技术允许多个操作***(例如“客户操作***”)在诸如计算资源124的主计算机上同时运行。管理程序124-4可以给客户操作***呈现虚拟操作平台,且可管理客户操作***的运行。各种操作***的多个实例可共享虚拟化硬件资源。
网络130包括一个或多个有线网络和/或无线网络。例如,网络130可包括蜂窝网络(例如,第五代(fifth generation,5G)网络、长期演进(Long-Term Evolution,LTE)网络、第三代(third generation,3G)网络、码分多址(Code Division Multiple Access,CDMA)网络等)、公共陆地移动网络(Public Land Mobile Network,PLMN)、局域网(Local AreaNetwork,LAN)、广域网(WAN)、城域网(Metropolitan Area Network,MAN)、电话网(例如,公共交换电话网(Public Switched Telephone Network,PSTN))、专用网络、自组织网络、内部网、因特网、基于光纤的网络等,和/或这些网络或其它类型网络的组合。
图1所示的设备和网络的数量和布置作为示例提供。在实际中,与图1所示的设备和/或网络相比,可存在额外的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或不同地布置的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备内实现,或者图1所示的单个设备可实现为多个分布式设备。另外或者替代地,环境100的一组设备(例如,一个或多个设备)可执行被描述成由环境100的另一组设备执行的一个或多个功能。
图2是图1的一个或多个设备的示例组件的框图。设备200可对应于用户设备110和/或平台120。如图2所示,设备200可包括总线210、处理器220、存储器230、存储组件240、输入组件250、输出组件260和通信接口270。
总线210包括允许设备200的组件之间进行通信的组件。处理器220以硬件、固件或硬件和软件的组合来实现。处理器220是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或另一类型的处理组件。在一些实现方式中,处理器220包括能够被编程以执行功能的一个或多个处理器。存储器230包括随机存取存储器(RAM)、只读存储器(ROM),和/或存储供处理器220使用的信息和/或指令的另一类型的动态或静态存储设备(例如,闪存、磁性存储器和/或光学存储器)。
存储组件240存储与设备200的操作和使用相关的信息和/或软件。例如,存储组件240可包括硬盘(例如,磁盘、光盘、磁-光盘和/或固态盘)、光盘(CD)、数字通用光盘(DVD)、软盘、盒式磁盘、磁带和/或另一类型的非暂时性计算机可读介质、以及相应的驱动器。
输入组件250包括允许设备200例如经由用户输入接收信息的组件(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关和/或麦克风)。另外或者替代地,输入组件250可包括用于感测信息的传感器(例如,全球定位***(GPS)组件、加速计、陀螺仪和/或致动器)。输出组件260包括提供来自设备200的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED))。
通信接口270包括类似于收发器的组件(例如,收发器和/或单独的接收器和发射器),其使得设备200能够例如经由有线连接、无线连接或者有线连接和无线连接的组合与其它设备通信。通信接口270可允许设备200接收来自另一设备的信息和/或向另一设备提供信息。例如,通信接口270可包括以太网接口、光学接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、Wi-Fi接口、蜂窝网络接口等。
设备200可执行本文描述的一个或多个过程。设备200可响应于处理器220执行由非暂时性计算机可读介质(诸如存储器230和/或存储组件240)存储的软件指令来执行这些过程。计算机可读介质在本文中定义为非暂时性存储器设备。存储器设备包括单个物理存储设备内的存储器空间或分布在多个物理存储设备上的存储器空间。
软件指令可经由通信接口270从另一计算机可读介质或从另一设备读入存储器230和/或存储组件240中。当被执行时,存储在存储器230和/或存储组件240中的软件指令可使得处理器220执行本文描述的一个或多个过程。另外或者替代地,可使用硬件连线电路来代替软件指令或者与软件指令组合,以执行本文描述的一个或多个过程。因此,本文描述的实现方式不限于硬件电路和软件的任何特定组合。
图2所示的组件的数量和布置作为示例提供。在实际中,与图2所示的组件相比,设备200可包括额外的组件、更少的组件、不同的组件、或不同地布置的组件。另外或者替代地,设备200的一组组件(例如,一个或多个组件)可执行被描述成由设备200的另一组组件执行的一个或多个功能。
在本公开的实施例中,提供了NBMP***300。参考图3,NBMP***300包括NBMP源310、NBMP工作流管理器320、功能储存库330、一个或多个媒体处理实体350、媒体源360和媒体接收器(Media sink)370。
NBMP源310可以从第三方实体接收指令,可通过NBMP工作流应用程序接口(API)392与NBMP工作流管理器320通信,以及可通过功能发现API 391与功能储存库330通信。例如,NBMP源310可以向NBMP工作流管理器320发送工作流描述文档(WDD),以及可以读取功能储存库330中存储的功能的功能描述,所述的功能是存储在功能储存库330的存储器中的媒体处理功能,例如媒体解码功能、特征点提取功能、相机参数提取功能、投影方法、接缝信息提取功能、混合功能、后处理功能以及编码功能。NBMP源310可包括至少一个处理器和存储代码的存储器,或者由至少一个处理器和存储代码的存储器实现,该代码配置成使得至少一个处理器执行NBMP源310的功能。
NBMP源310可通过发送工作流描述文档来请求NBMP工作流管理器320创建工作流,工作流包括将由一个或多个媒体处理实体350执行的任务352,工作流描述文档可包括多个描述符,每个描述符可具有多个参数。
例如,NBMP源310可选择存储在功能储存库330中的功能,并向NBMP工作流管理器320发送工作流描述文档,该工作流描述文档包括用于描述细节(例如输入和输出数据、所需的功能以及工作流的要求)的各种描述符。工作流描述文档可包括一组任务描述以及将由一个或多个媒体处理实体350执行的任务352的输入和输出的连接映射。当NBMP工作流管理器320从NBMP源310接收到此类信息时,NBMP工作流管理器320可通过基于功能名称对任务进行实例化并根据连接映射连接任务来创建工作流。
替代地或者另外,NBMP源310可请求NBMP工作流管理器320通过使用一组关键词来创建工作流。例如,NBMP源310可以向NBMP工作流管理器320发送包括一组关键词的工作流描述文档,NBMP工作流管理器320可使用这一组关键词来查找存储在功能储存库330中的合适的功能。当NBMP工作流管理器320从NBMP源310接收到此类信息时,NBMP工作流管理器320可通过使用可以在工作流描述文档的处理描述符中指定的关键词来搜索合适的功能来创建工作流,以及使用工作流描述文档中的其它描述符来配置任务,并将任务连接起来以创建工作流。
NBMP工作流管理器320可通过功能发现API 393与功能储存库330通信,功能发现API 393可以是与功能发现API 391相同或不同的API,以及NBMP工作流管理器320可通过API 394(例如,NBMP任务API)与一个或多个媒体处理实体350通信。NBMP工作流管理器320可包括至少一个处理器和存储代码的存储器,或者由至少一个处理器和存储代码的存储器实现,该代码配置成使得至少一个处理器执行NBMP工作流管理器320的功能。
NBMP工作流管理器320可使用API 394来设置、配置、管理和监督工作流的任务中可由一个或多个媒体处理实体350执行的一个或多个任务352。在一个实施例中,NBMP工作流管理器320可使用API 394来更新和销毁任务352。为了配置、管理和监督工作流的任务352,NBMP工作流管理器320可以向一个或多个媒体处理实体350发送诸如请求的消息,其中,每个消息可具有多个描述符,每个描述符具有多个参数。每个任务352可包括媒体处理功能354和媒体处理功能354的配置353。
在一个实施例中,在从NBMP源310接收到不包括任务列表(例如,包括关键词列表,但不包括任务列表)的工作流描述文档之后,NBMP工作流管理器320可基于工作流描述文档中对任务的描述来选择任务,以通过功能发现API 393搜索功能储存库330,从而查找到合适的功能以作为当前工作流的任务352运行。例如,NBMP工作流管理器320可基于工作流描述文档中提供的关键词来选择任务。在通过使用由NBMP源310提供的关键词或一组任务描述来确定合适的功能之后,NBMP工作流管理器320可通过使用API 394来配置工作流中已选择的任务。例如,NBMP工作流管理器320可以从NBMP源接收到的信息中提取配置数据,以及基于配置数据来配置任务352。
一个或多个媒体处理实体350可配置成从媒体源360接收媒体内容,根据由NBMP工作流管理器320创建的、包括任务352的工作流来处理媒体内容,以及将处理后的媒体内容输出到媒体接收器370。一个或多个媒体处理实体350中的每一个可包括至少一个处理器和存储代码的存储器,或者由至少一个处理器和存储代码的存储器实现,该代码配置成使得至少一个处理器执行媒体处理实体350的功能。
媒体源360可包括存储媒体的存储器,且可与NBMP源310集成或分离。在一个实施例中,当工作流准备好时,NBMP工作流管理器320可通知NBMP源310,且媒体源360可基于工作流准备好的通知,向一个或多个媒体处理实体350发送媒体内容。
媒体接收器370可包括至少一个处理器和至少一个显示器,或者由至少一个处理器和至少一个显示器实现,至少一个显示器配置成显示由一个或多个媒体处理实体350处理的媒体。
如上所讨论的,从NBMP源310到达NBMP工作流管理器320的消息(例如,用于请求创建工作流的工作流描述文档)以及从NBMP工作流管理器320到一个或多个媒体处理实体350的消息(例如,用于使得工作流被执行的消息)可包括多个描述符,每个描述符可具有多个参数。在实施例中,使用API在NBMP***300的任何组件之间的通信可包括多个描述符,每个描述符可具有多个参数。
实施例可提供一种在运行期间无缝切换或更新云工作流的方法,其不会在数据流中造成任何中断或丢失任何数据。因此,实施例可以将无缝连续性特征添加到NBMP规范中。
在NBMP相关的过程期间,工作流可能已工作了很长一段时间。由于数据量的增加,导致可能需要拆分工作流的一个或多个任务,以应对增加的负荷。在这种情况下,可能希望不要由于切换到新的工作流而导致数据丢失。
在一些部署中,当前任务可重复使用。因此,当前任务可用于更新后的工作流。在一些应用中,可能需要在准确时间,例如为了数据收集或计费的目的而切换到新的工作流。
在当前NBMP规范中用于更新工作流的NBMP工作流API没有任何连续性概念,其意思是NBMP工作流管理器可停止当前工作流,使用新的工作流来更新工作流,然后重新开始工作流,因此在该更新期间可能会丢失数据。
实施例可以向通用描述符添加连续性标志,例如如下面的表1和表2所示。在连续性=真的情况下,NBMP工作流管理器可以在两个工作流之间切换,而不会丢失任何数据。此外,可请求切换时间为某个时间。例如,知道切换的准确时间对上报是有用的。
表1-通用描述符
表2-通用参数
在本文的表格中,根据实施例对NBMP规范的补充可由斜体字指示。
在实施例中,两个新参数可用于工作流更新或任务更新。
在一些情况下,运行完全并行的工作流需要大量资源,云平台可偏向于在更新期间维持运行的工作流中的一些任务。
因为NBMP客户端提供新的WDD,所以工作流管理器可识别运行的工作流和新的WDD之间的差异。
NBMP客户端可通过提供以下信息来协助完成该任务:
1.发生改变的任务的列表。
2.发生改变的连接的列表。
由于在WDD中每个任务具有标识符(id),因此可容易地实现改变任务(例如,移除任务并将任务替换成新任务)或者引入新任务:
1.在运行的工作流中,每个现有任务具有id。
2.任务在运行的工作流中的位置由连接映射中的“instance”的值来标识。
3.工作流更新中的任何新任务没有设置“instance”。
考虑到上述情况,NBMP工作流管理器可容易地识别更新的工作流中哪些任务/功能实例是新的,哪些任务/功能实例是旧的。
至于提供连接列表,可通过连接映射对象的数组定义每个工作流。工作流管理器可以从工作流更新到运行的工作流对该数组中的每个对象进行比较,并识别新的或更新的连接映射对象。然而,为了简化过程,在实施例中,可以给每个连接映射对象添加id。
表3-连接映射数组元素
表4-处理参数
如上所讨论的,在本文的表格中,根据实施例对NBMP规范的补充可由斜体字指示。
因此,实施例可提供一种用于用信号表示在工作流更新期间工作流操作的无缝连续性的方法,其中,在更新期间不会丢失数据,其中,定义切换时间,并且其中,在请求的切换时间不可行的情况下,在响应中提供实际切换时间。
实施例可涉及一种用于用信号表示工作流更新中的旧连接和新连接的方法,其中,每个连接具有唯一的标识符,使得如果更新后旧连接消失了,则意味着旧连接不再有效,工作流更新中出现的新连接的id指示该连接是新的连接,具有相同id的连接被认为相同,不需要改变。
实施例可涉及一种将本文描述的任何方法一起使用来更新一部分工作流而不替换所有任务或连接且在工作流的输入和输出处保持数据流的连续性而不会丢失数据的方法。
参考图3和图4,下面描述由NBMP工作流管理器320执行的过程400。
图4是示例性过程400的流程图。
如图4所示,过程400可包括:获取第一基于网络的媒体处理(NBMP)工作流描述文档(WDD)(框410)。
进一步如图4所示,过程400可包括:创建对应于第一NBMP WDD的第一工作流(框420)。
进一步如图4所示,过程400可包括:根据第一工作流来管理至少一个媒体处理实体(MPE)(框430)。
进一步如图4所示,过程400可包括:获取对第一NBMP WDD的更新,该更新包括第二NBMP WDD,其中,第二NBMP WDD包括连续性标志,该连续性标志指示对应于第二NBMP WDD的第二工作流是第一工作流的延续(框440)。
进一步如图4所示,过程400可包括:基于第二NBMP WDD来创建第二工作流(框450)。
进一步如图4所示,过程400可包括:当创建了第二工作流时,根据第二工作流来管理至少一个MPE(框460)。
在实施例中,基于连续性标志指示第二工作流是第一工作流的延续,在根据第二工作流来管理至少一个MPE期间,可以保持与根据第一工作流来管理至少一个MPE对应的所有数据。
在实施例中,第二NBMP WDD可进一步包括语法元素,该语法元素指示从根据第一工作流来管理至少一个MPE切换到根据第二工作流来管理至少一个MPE的时间。
在实施例中,更新可以是工作流更新和任务更新中的一个。
在实施例中,第一工作流的任务可由第一NBMP WDD中的第一连接映射对象来表示,其中,该第一连接映射对象指定任务在对应于第一工作流的连接映射中的位置,以及与第一工作流中的另一元素的至少一个连接,并且其中,第一连接映射对象包括识别任务的连接标识符。
在实施例中,基于连接标识符包括在第二NBMP WDD中的第二连接映射对象中,可以在第二工作流中维持任务。
在实施例中,基于连续性标志指示第二工作流是第一工作流的延续,可以在第二工作流中维持与第一工作流中执行该任务对应的所有数据。
虽然图4示出了过程400的示例性框,但是在一些实现方式中,与图4所描绘的框相比,过程800可包括额外的框、更少的框、不同的框、或不同布置的框。另外或者替代地,过程800的两个或更多个框可并行地执行。
进一步地,所提出的方法可通过处理电路(例如,一个或多个处理器或者一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序,以执行一个或多个所提出的方法。
根据本公开的实施例,可提供至少一个处理器和存储计算机代码或程序代码的存储器。计算机代码可配置成当被至少一个处理器运行时,执行本公开的任何数量的方面。
例如,参考图5,计算机代码500可以在NBMP***300中实现。例如,计算机代码可存储在NBMP工作流管理器320的存储器中,且可由NBMP工作流管理器320的至少一个处理器执行。例如,计算机代码可包括第一获取代码510、第一推导代码520、第一管理代码530、第二获取代码540、第二推导代码550以及第二管理代码560。
在实施例中,第一获取代码510、第一推导代码520、第一管理代码530、第二获取代码540、第二推导代码550以及第二管理代码560可分别配置成使得NBMP工作流管理器320执行上文参考图4描述的过程的各方面。
本公开的实施例可单独使用,或者可以以任何顺序组合。此外,每个实施例(及其方法)可通过处理电路(例如,一个或多个处理器或者一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。
前述公开内容提供了说明和描述,但是不旨在穷举或将实现方式限制为所公开的精确形式。根据上述公开内容可进行修改和变化,或者可以从实现方式的实践中获得修改和变化。
如本文所使用的,术语“组件”旨在广义地解释为硬件、固件、或者硬件和软件的组合。
虽然在权利要求中记载和/或在说明书中公开了特征的组合,但是这些组合并不旨在限制可能的实现方式的公开内容。实际上,这些特征中的许多特征可以以未在权利要求中具体记载和/或未在说明书中公开的方式组合。虽然下面列出的每个从属权利要求可仅直接从属于一个权利要求,但是可能的实现方式的公开内容包括每个从属权利要求与权利要求集中的每一个其它权利要求的组合。
本文使用的元素、动作或指令不应理解为关键的或必要的,除非如此明确描述。此外,如本文所使用的,冠词“一”和“一个”旨在包括一个或多个项目,且可与“一个或多个”互换地使用。此外,如本文所使用的,术语“集”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关项目和不相关项目的组合等),且可与“一个或多个”互换地使用。在意图仅是一个项目的情况下,使用术语“一”或类似的语言。此外,如本文所使用的,术语“具有”、“含有”、“有”或类似术语旨在是开放式术语。此外,短语“基于”的意思旨在是“至少部分地基于”,除非另有明确说明。
Claims (20)
1.一种由媒体***的工作流管理器的至少一个处理器执行的方法,所述方法包括:
获取第一基于网络的媒体处理NBMP工作流描述文档WDD;
创建对应于所述第一NBMP WDD的第一工作流;
根据所述第一工作流来管理至少一个媒体处理实体MPE;
获取对所述第一NBMP WDD的更新,所述更新包括第二NBMP WDD,其中,所述第二NBMPWDD包括连续性标志,所述连续性标志指示对应于所述第二NBMP WDD的第二工作流是所述第一工作流的延续;
基于所述第二NBMP WDD来创建所述第二工作流;以及
响应于创建了所述第二工作流,根据所述第二工作流来管理所述至少一个MPE。
2.根据权利要求1所述的方法,其中,基于所述连续性标志指示所述第二工作流是所述第一工作流的延续,在根据所述第二工作流来管理所述至少一个MPE期间,维持与根据所述第一工作流来管理所述至少一个MPE对应的所有数据。
3.根据权利要求1所述的方法,其中,所述第二NBMP WDD进一步包括语法元素,所述语法元素指示从根据所述第一工作流来管理所述至少一个MPE切换到根据所述第二工作流来管理所述至少一个MPE的时间。
4.根据权利要求1所述的方法,其中,所述更新是工作流更新和任务更新之一。
5.根据权利要求1所述的方法,其中,通过所述第一NBMP WDD中的第一连接映射对象来表示所述第一工作流的任务,
其中,所述第一连接映射对象指定所述任务在对应于所述第一工作流的连接映射中的位置,以及与所述第一工作流中的另一元素的至少一个连接,
其中,所述第一连接映射对象包括识别所述任务的连接标识符。
6.根据权利要求5所述的方法,其中,基于所述连接标识符包括在所述第二NBMP WDD中的第二连接映射对象中,在所述第二工作流中维持所述任务。
7.根据权利要求6所述的方法,其中,基于所述连续性标志指示所述第二工作流是所述第一工作流的延续,在所述第二工作流中维持与在所述第一工作流中执行所述任务对应的所有数据。
8.一种媒体***的工作流管理器,所述工作流管理器包括:
至少一个存储器,存储程序代码;以及
至少一个处理器,配置成读取所述程序代码并按照所述程序代码的指令进行操作,所述程序代码包括:
第一获取代码,配置成使得所述至少一个处理器获取第一基于网络的媒体处理NBMP工作流描述文档WDD;
第一创建代码,配置成使得所述至少一个处理器创建对应于所述第一NBMP WDD的第一工作流;
第一管理代码,配置成使得所述至少一个处理器根据所述第一工作流来管理至少一个媒体处理实体MPE;
第二获取代码,配置成使得所述至少一个处理器获取对所述第一NBMP WDD的更新,所述更新包括第二NBMP WDD,其中,所述第二NBMP WDD包括连续性标志,所述连续性标志指示对应于所述第二NBMP WDD的第二工作流是所述第一工作流的延续;
第二创建代码,配置成使得所述至少一个处理器基于所述第二NBMP WDD来创建所述第二工作流;以及
第二管理代码,配置成使得所述至少一个处理器响应于创建了所述第二工作流,根据所述第二工作流来管理所述至少一个MPE。
9.根据权利要求8所述的工作流管理器,其中,基于所述连续性标志指示所述第二工作流是所述第一工作流的延续,在根据所述第二工作流来管理所述至少一个MPE期间,维持与根据所述第一工作流来管理所述至少一个MPE对应的所有数据。
10.根据权利要求8所述的工作流管理器,其中,所述第二NBMP WDD进一步包括语法元素,所述语法元素指示从根据所述第一工作流来管理所述至少一个MPE切换到根据所述第二工作流来管理所述至少一个MPE的时间。
11.根据权利要求8所述的工作流管理器,其中,所述更新是工作流更新和任务更新之一。
12.根据权利要求8所述的工作流管理器,其中,通过所述第一NBMP WDD中的第一连接映射对象来表示所述第一工作流的任务,
其中,所述第一连接映射对象指定所述任务在对应于所述第一工作流的连接映射中的位置,以及与所述第一工作流中的另一元素的至少一个连接,
其中,所述第一连接映射对象包括识别所述任务的连接标识符。
13.根据权利要求12所述的工作流管理器,其中,基于所述连接标识符包括在所述第二NBMP WDD中的第二连接映射对象中,在所述第二工作流中维持所述任务。
14.根据权利要求13所述的工作流管理器,其中,基于所述连续性标志指示所述第二工作流是所述第一工作流的延续,在所述第二工作流中维持与在所述第一工作流中执行所述任务对应的所有数据。
15.一种非暂时性计算机可读介质,存储有计算机代码,所述计算机代码配置成当由实现媒体***的工作流管理器的至少一个处理器执行时,使得所述至少一个处理器:
获取第一基于网络的媒体处理NBMP工作流描述文档WDD;
创建对应于所述第一NBMP WDD的第一工作流;
根据所述第一工作流来管理至少一个媒体处理实体MPE;
获取对所述第一NBMP WDD的更新,所述更新包括第二NBMP WDD,其中,所述第二NBMPWDD包括连续性标志,所述连续性标志指示对应于所述第二NBMP WDD的第二工作流是所述第一工作流的延续;
基于所述第二NBMP WDD创建所述第二工作流;以及
响应于创建了所述第二工作流,根据所述第二工作流来管理所述至少一个MPE。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,基于所述连续性标志指示所述第二工作流是所述第一工作流的延续,在根据所述第二工作流来管理所述至少一个MPE期间,维持与根据所述第一工作流来管理所述至少一个MPE对应的所有数据。
17.根据权利要求15所述的非暂时性计算机可读介质,其中,所述第二NBMP WDD进一步包括语法元素,所述语法元素指示从根据所述第一工作流来管理所述至少一个MPE切换到根据所述第二工作流来管理所述至少一个MPE的时间。
18.根据权利要求15所述的非暂时性计算机可读介质,其中,所述更新是工作流更新和任务更新之一。
19.根据权利要求15所述的非暂时性计算机可读介质,其中,通过所述第一NBMP WDD中的第一连接映射对象来表示所述第一工作流的任务,
其中,所述第一连接映射对象指定所述任务在对应于所述第一工作流的连接映射中的位置,以及与所述第一工作流中的另一元素的至少一个连接,
其中,所述第一连接映射对象包括识别所述任务的连接标识符。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,基于所述连接标识符包括在所述第二NBMP WDD中的第二连接映射对象中,在所述第二工作流中维持所述任务,
其中,基于所述连续性标志指示所述第二工作流是所述第一工作流的延续,在所述第二工作流中维持与在所述第一工作流中执行所述任务对应的所有数据。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163176761P | 2021-04-19 | 2021-04-19 | |
US63/176,761 | 2021-04-19 | ||
US17/704,760 | 2022-03-25 | ||
US17/704,760 US20220337530A1 (en) | 2021-04-19 | 2022-03-25 | Method for switching workflow or updating workflow with continuity and no interruption in dataflow |
PCT/US2022/022106 WO2022225650A2 (en) | 2021-04-19 | 2022-03-28 | Method for switching workflow or updating workflow with continuity and no interruption in dataflow |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115668373A true CN115668373A (zh) | 2023-01-31 |
Family
ID=83602949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280003940.9A Pending CN115668373A (zh) | 2021-04-19 | 2022-03-28 | 数据流中无中断且连续切换工作流或更新工作流的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220337530A1 (zh) |
EP (1) | EP4118649B1 (zh) |
JP (1) | JP7515614B2 (zh) |
KR (1) | KR20220160050A (zh) |
CN (1) | CN115668373A (zh) |
WO (1) | WO2022225650A2 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8682939B2 (en) * | 2002-05-22 | 2014-03-25 | Teac Aerospace Technologies, Inc. | Video and audio recording using file segmentation to preserve the integrity of critical data |
US20140219295A1 (en) * | 2011-03-03 | 2014-08-07 | Institut Mines-Telecom | Lossless data coding for bidirectional communication in a collaborative session of multimedia content exchange |
US20180075409A1 (en) * | 2016-09-09 | 2018-03-15 | Dematic Corp. | Communication system for operation and management of workflows and integration of multiple devices utilizing different operating platforms |
US20190364081A1 (en) * | 2018-05-24 | 2019-11-28 | Disney Enterprises, Inc. | Leveraging microservices to orchestrate media workflows in the cloud |
US20200162796A1 (en) * | 2017-05-16 | 2020-05-21 | Peter AZUOLAS | Systems, apparatus, and methods for scalable low-latency viewing of integrated broadcast commentary and event video streams of live events, and synchronization of event information with viewed streams via multiple internet channels |
WO2020116896A1 (ko) * | 2018-12-03 | 2020-06-11 | 삼성전자 주식회사 | 미디어 콘텐트 처리를 관리하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 |
CN111835549A (zh) * | 2019-04-23 | 2020-10-27 | 腾讯美国有限责任公司 | 处理媒体内容的方法、装置、计算机设备以及介质 |
US20210004273A1 (en) * | 2019-07-02 | 2021-01-07 | Nokia Technologies Oy | Methods, apparatuses and computer readable mediums for network based media processing |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10740093B2 (en) * | 2016-09-01 | 2020-08-11 | Dropbox, Inc. | Advanced packaging techniques for improving work flows |
JP2022051975A (ja) | 2019-02-12 | 2022-04-04 | ソニーグループ株式会社 | 情報処理装置および情報処理方法 |
US20210096904A1 (en) | 2019-09-28 | 2021-04-01 | Tencent America LLC | Method and apparatus for a step-enabled workflow |
-
2022
- 2022-03-25 US US17/704,760 patent/US20220337530A1/en active Pending
- 2022-03-28 KR KR1020227037230A patent/KR20220160050A/ko active Search and Examination
- 2022-03-28 EP EP22782814.2A patent/EP4118649B1/en active Active
- 2022-03-28 WO PCT/US2022/022106 patent/WO2022225650A2/en active Application Filing
- 2022-03-28 CN CN202280003940.9A patent/CN115668373A/zh active Pending
- 2022-03-28 JP JP2022563074A patent/JP7515614B2/ja active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8682939B2 (en) * | 2002-05-22 | 2014-03-25 | Teac Aerospace Technologies, Inc. | Video and audio recording using file segmentation to preserve the integrity of critical data |
US20140219295A1 (en) * | 2011-03-03 | 2014-08-07 | Institut Mines-Telecom | Lossless data coding for bidirectional communication in a collaborative session of multimedia content exchange |
US20180075409A1 (en) * | 2016-09-09 | 2018-03-15 | Dematic Corp. | Communication system for operation and management of workflows and integration of multiple devices utilizing different operating platforms |
US20200162796A1 (en) * | 2017-05-16 | 2020-05-21 | Peter AZUOLAS | Systems, apparatus, and methods for scalable low-latency viewing of integrated broadcast commentary and event video streams of live events, and synchronization of event information with viewed streams via multiple internet channels |
US20190364081A1 (en) * | 2018-05-24 | 2019-11-28 | Disney Enterprises, Inc. | Leveraging microservices to orchestrate media workflows in the cloud |
WO2020116896A1 (ko) * | 2018-12-03 | 2020-06-11 | 삼성전자 주식회사 | 미디어 콘텐트 처리를 관리하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 |
CN111835549A (zh) * | 2019-04-23 | 2020-10-27 | 腾讯美国有限责任公司 | 处理媒体内容的方法、装置、计算机设备以及介质 |
US20210004273A1 (en) * | 2019-07-02 | 2021-01-07 | Nokia Technologies Oy | Methods, apparatuses and computer readable mediums for network based media processing |
Also Published As
Publication number | Publication date |
---|---|
EP4118649A4 (en) | 2023-02-15 |
EP4118649B1 (en) | 2024-05-29 |
KR20220160050A (ko) | 2022-12-05 |
JP7515614B2 (ja) | 2024-07-12 |
JP2023525661A (ja) | 2023-06-19 |
WO2022225650A3 (en) | 2022-12-01 |
WO2022225650A2 (en) | 2022-10-27 |
EP4118649A2 (en) | 2023-01-18 |
US20220337530A1 (en) | 2022-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021207022A1 (en) | Split rendering using network based media processing workflow | |
US11356534B2 (en) | Function repository selection mode and signaling for cloud based processing | |
CN113545024B (zh) | 在运动图像专家组基于网络的媒体处理中用于包络描述符的方法和装置 | |
CN111865649A (zh) | 处理媒体内容的方法和装置、计算机设备和存储介质 | |
WO2021262713A1 (en) | Nonessential input, output and task signaling in workflows on cloud platforms | |
CN111831834A (zh) | 基于网络的媒体处理(nbmp)中处理媒体内容的方法和装置 | |
JP7515614B2 (ja) | データフローにおいて連続性を持たせかつ途切れることなしにワークフローをスイッチングする又はワークフローを更新するための方法、ワークフローマネージャ、およびコンピュータプログラム | |
CN111858967A (zh) | 基于网络的媒体处理中处理媒体内容的方法、装置以及存储介质 | |
CN111835549A (zh) | 处理媒体内容的方法、装置、计算机设备以及介质 | |
US11539776B2 (en) | Method for signaling protocol characteristics for cloud workflow inputs and outputs | |
US11838390B2 (en) | Function repository selection mode and signaling for cloud based processing | |
US20230020527A1 (en) | Method and apparatus for switching or updating partial or entire workflow on cloud with continuity in dataflow | |
US20230109209A1 (en) | Method and apparatus for signaling net-zero workflow modifications on cloud platforms | |
CN114514510A (zh) | 云服务的任务邻近性 | |
CN117015761A (zh) | 用于在具有数据流连续性的云上切换或更新部分或全部工作流的方法和装置 | |
JP2023545825A (ja) | クラウドプラットフォーム上のメディア処理においてステップベースの処理を実行する方法、装置、及びコンピュータプログラム |
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 |