CN112152988B - 用于异步nbmp请求处理的方法、系统以及计算机设备和介质 - Google Patents
用于异步nbmp请求处理的方法、系统以及计算机设备和介质 Download PDFInfo
- Publication number
- CN112152988B CN112152988B CN202010588812.8A CN202010588812A CN112152988B CN 112152988 B CN112152988 B CN 112152988B CN 202010588812 A CN202010588812 A CN 202010588812A CN 112152988 B CN112152988 B CN 112152988B
- Authority
- CN
- China
- Prior art keywords
- nbmp
- computer
- request
- function call
- workflow
- 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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/133—Protocols for remote procedure calls [RPC]
-
- 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/62—Establishing a time schedule for servicing the requests
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/566—Grouping or aggregating service requests, e.g. for unified processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请实施例提供了用于异步NBMP请求处理的方法、系统以及计算机设备和存储介质。该方法包括:接收与发送至工作流管理器的NBMP请求相对应的函数调用;基于接收到所述函数调用,返回第一超文本传输协议HTTP状态代码;以及在预定的时刻执行所述NBMP请求,其中,所述预定的时刻晚于接收到所述函数调用的时刻,而且,对所述NBMP请求的响应是异步执行的。
Description
相关申请的交叉引用
本申请要求于2019年6月26日提交的第62/867,178号美国临时申请以及于2020年6月23日提交的第16/909,374号美国正式申请的优先权,其全部内容通过引用并入本文。
技术领域
本申请涉及数据处理领域,并且更具体地涉及媒体处理。具体地,本申请提供了用于异步NBMP请求处理的方法、系统以及计算机设备和介质。
背景技术
开发了基于网络的媒体处理(NBMP)标准来解决分段,并提供统一的方式以在任何云平台之上和在任何IP网络上执行媒体处理。NBMP定义了接口、媒体和元数据格式,以便于实例化网络/云中的任何类型的媒体处理。NBMP依靠工作流管理器来启动和控制媒体处理,工作流管理器是通常将被虚拟化的实体。工作流管理器从NBMP源接收工作流描述(Workflow Description),该工作流描述向工作流管理器指示期望的处理以及分别要采用和产生的输入格式和输出格式。
但是,当前的NBMP设计没有定义任何异步方法。创建、更新和检索工作流或任务可能需要更多时间,并且工作流管理器/MPE可能无法立即适应该操作。因此,降低了媒体处理效率。
发明内容
本申请实施例提供了一种用于异步的基于网络的媒体处理NBMP请求处理的方法,包括:
接收与发送至工作流管理器的NBMP请求相对应的函数调用;
基于接收到所述函数调用,返回第一超文本传输协议HTTP状态代码;以及
在预定的时刻执行所述NBMP请求,其中,所述预定的时刻晚于接收到所述函数调用的时刻,而且,对所述NBMP请求的响应是异步执行的。
本申请实施例提供了一种用于异步的基于网络的媒体处理NBMP请求处理的计算机系统,包括:
接收模块,被配置为接收与发送至工作流管理器的NBMP请求相对应的函数调用;
返回模块,被配置为基于接收到所述函数调用,返回第一超文本传输协议HTTP状态代码;以及
执行模块,被配置为在预定的时刻执行所述NBMP请求,其中,所述预定的时刻晚于接收到所述函数调用的时刻,而且,对所述NBMP请求的响应是异步执行的。
本申请实施例提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现本申请任一实施例所述的方法。
本申请实施例提供了一种非暂时性计算机可读介质,其上存储有用于异步的基于网络的媒体处理NBMP请求处理的计算机程序,所述计算机程序被配置为使一个或多个计算机处理器执行本申请任一实施例所述的方法。
本申请实施例将异步响应添加到基于NBMP标准的云处理,提高了媒体处理效率,允许媒体服务的更快且更低成本的部署,以及通过利用公共、私有或混合云服务来提供大规模部署。
附图说明
这些和其它目的、特征和优点将从以下结合附图示出的说明性实施例的详细描述中变得显而易见。附图的各种特征未按比例绘制,因为图示是为了清楚起见,以便于结合详细描述来促进本领域技术人员的理解。在附图中:
图1图示了根据至少一个实施例的联网计算机环境;
图2是根据至少一个实施例的用于异步NBMP处理的系统的框图;
图3是根据至少一个实施例的图示了由用于异步NBMP处理的程序执行的步骤的操作流程图;
图4是根据至少一个实施例的图1所描绘的计算机和服务器的内部组件和外部组件的框图;
图5是根据至少一个实施例的包括图1所描绘的计算机系统的说明性云计算环境的框图;以及
图6是根据至少一个实施例的图5的说明性云计算环境的功能层的框图。
具体实施方式
本文公开了所要求保护的结构和方法的详细实施例;然而,可以理解,所公开的实施例仅仅是可以以各种形式实施的所要求保护的结构和方法的说明。然而,那些结构和方法可以以许多不同的形式来实施,并且不应当被解释为限于本文所阐述的示例性实施例。相反,提供这些示例性实施例是为了使本申请彻底和完整,并且将向本领域技术人员充分传达范围。在描述中,可以省略公知特征和技术的细节,以避免不必要地模糊所呈现的实施例。
实施例大体上涉及数据处理领域,并且更具体地,涉及媒体处理。以下描述的示例性实施例提供了一种系统、方法和计算机程序,用于异步地处理与NBMP相对应的请求等等。因此,一些实施例具有通过允许在稍后时间点响应媒体请求来改进计算领域的能力。
如前所述,开发了NBMP标准来解决分段,并提供统一的方式以在任何云平台之上和任何IP网络上执行媒体处理。NBMP定义了接口、媒体和元数据格式,以便于实例化网络/云中的任何类型的媒体处理。NBMP依靠工作流管理器来启动和控制媒体处理,工作流管理器是通常将被虚拟化的实体。工作流管理器从NBMP源接收工作流描述,该工作流描述向工作流管理器指示期望的处理以及分别要采用和产生的输入格式和输出格式。但是,当前的NBMP设计没有定义任何异步方法。创建、更新和检索工作流或任务可能需要更多时间,并且工作流管理器/MPE可能无法立即适应该操作。因此,将异步响应添加到基于NBMP标准的云处理可能是有利的,以便提高媒体处理效率,允许媒体服务的更快且更低成本的部署,以及通过利用公共、私有或混合云服务来提供大规模部署。
本文参考根据各个实施例的方法、装置(系统)和计算机可读介质的流程图图示和/或框图来描述各方面。应当理解,流程图图示和/或框图中的每个框,以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令实施。
以下描述的示例性实施例提供了用于异步NBMP请求处理的系统、方法和计算机程序。
现在参考图1,图1图示了用于异步NBMP处理的媒体处理系统100(以下称为“系统”)的联网计算机环境的功能框图。应当理解,图1仅提供了一种实施方式的图示,并不意味着对可以实施不同实施例的环境的任何限制。可以基于设计和实施方式需求对所描绘的环境进行许多修改。
系统100可以包括计算机102和服务器计算机114。计算机102可以经由通信网络110(以下称为“网络”)与服务器计算机114通信。计算机102可以包括处理器104和软件程序108,软件程序108被存储在数据存储设备106上,并且能够与用户接口并与服务器计算机114通信。如下面将参考图4讨论的,计算机102可以分别包括内部组件800A和外部组件900A,并且服务器计算机114可以分别包括内部组件800B和外部组件900B。计算机102可以例如是移动设备、电话、个人数字助理、网络手册、膝上型计算机、平板计算机、台式计算机或能够运行程序、访问网络以及访问数据库的任何类型的计算设备。
服务器计算机114还可以在如以下参考图5和图6所讨论的诸如软件即服务(SaaS)、平台即服务(PaaS)或基础设施即服务(IaaS)的云计算服务模型中操作。服务器计算机114还可以位于诸如私有云、社区云、公共云或混合云的云计算部署模型中。
可用于异步NBMP处理的服务器计算机114能够运行可以与数据库112交互的异步NBMP处理程序116(以下称为“程序”)。下面参考图3更详细地解释异步NBMP处理程序方法。在一个实施例中,计算机102可以作为包括用户接口的输入设备来操作,而程序116可以主要在服务器计算机114上运行。在替换实施例中,程序116可以主要在一个或多个计算机102上运行,而服务器计算机114可以用于处理和存储由程序116使用的数据。应当注意,程序116可以是独立程序,或者可被集成到更大的异步NBMP处理程序中。
然而,应当注意,在某些情况下,对程序116的处理可以以任何比例在计算机102和服务器计算机114之间共享。在另一实施例中,程序116可以在多于一个的计算机、服务器计算机或者计算机和服务器计算机的某种组合上操作,例如,多个计算机102通过网络110与单个服务器计算机114通信。在另一实施例中,例如,程序116可以在多个服务器计算机114上操作,多个服务器计算机114通过网络110与多个客户端计算机通信。或者,该程序可以在网络服务器上操作,该网络服务器通过网络与服务器和多个客户端计算机通信。
网络110可以包括有线连接、无线连接、光纤连接或它们的某种组合。通常,网络110可以是支持计算机102与服务器计算机114之间的通信的连接和协议的任何组合。网络110可以包括各种类型的网络,例如,局域网(LAN)、诸如因特网的广域网(WAN)、诸如公共交换电话网络(PSTN)的电信网络、无线网络、公共交换网络、卫星网络、蜂窝网络(例如,第五代(5G)网络、长期演进(LTE)网络、第三代(3G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、城域网(MAN)、专用网络、自组织网络、内联网、基于光纤的网络等,和/或这些或其它类型的网络的组合。
图1所示的设备和网络的数量和排列被作为示例来提供。实际上,与图1所示的设备和/或网络相比,可以有更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络、或排列不同的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备内实现,或者图1所示的单个设备可以实现为多个分布式设备。另外或可替代地,系统100的一组设备(例如,一个或多个设备)可以执行被描述为由系统100的另一组设备执行的一个或多个功能。
现在参考图2,描绘了示例性NBMP参考体系结构的框图200。NBMP参考体系结构可以包括云管理器202、NBMP源204、NBMP工作流管理器206、函数库208、媒体源210、媒体处理实体212和媒体接收器214等。NBMP源204可以对NBMP工作流管理器206进行API调用。对NBMP源的API调用可以包括工作流描述信息。NBMP工作流管理器206可以经由云管理器202对媒体处理实体212进行API调用。对NBMP工作流管理器206的API调用可以包括同步或异步的NMBP任务函数调用和NBMP链接函数调用。媒体处理实体212可以将媒体从媒体源210传送到媒体接收器214。工作流、任务和链接API函数调用可以支持如下定义的异步响应。
操作CreateWorkflow可以创建工作流。如果该操作成功,则可以返回HTTP状态代码200。响应的主体可以更新工作流资源以包括通用描述符的ID的值和更新的信息,更新的信息包括关于向哪里发送媒体数据、元数据和其它信息的端点信息。如果该操作失败,则可以返回HTTP状态代码4xx或5xx。响应的主体可以更新工作流资源以用信号通知失败的描述符或参数。该响应可以包括HTTP状态代码3xx,并且可以使用HTTP头中的重定向信息来提出新的请求。如果该操作被接受,但是工作流没有被立即创建,则可以返回HTTP状态代码202。HTTP头字段稍后重试(Retry-After)包括的:HTTP-日期/延迟-秒(HTTP-date/delay-seconds),可使用UpdateWorkflow操作来获得工作流资源,其中,HTTP-日期/延迟以秒为单位推荐日期或延迟(如RFC7231所定义的)。响应的主体可以更新工作流资源以包括通用描述符的ID的值。
操作UpdateWorkflow可以更新先前创建的工作流。如果该操作成功,则可以返回HTTP状态代码200。响应的主体可以更新工作流资源以包括与请求中的值相同的通用描述符的ID的值和更新的信息,更新的信息包括关于向哪里发送媒体数据、元数据和其它信息的端点信息。如果该操作失败,则可以返回HTTP状态代码4xx或5xx。响应的主体可以更新工作流资源以用信号通知失败的描述符或参数。如果该操作被接受,但是工作流没有被立即创建,则可以返回HTTP状态代码202。HTTP头字段稍后重试(Retry-After)包括的:HTTP-日期/延迟-秒(HTTP-date/delay-seconds),可使用UpdateWorkflow操作来获得工作流资源,其中,HTTP-日期/延迟以秒为单位推荐日期或延迟(如RFC7231所定义的)。响应的主体可以更新工作流资源以包括通用描述符的ID的值。
操作DeleteWorkflow可以终止先前创建的工作流。如果该操作成功,则可以返回HTTP状态代码200。如果该操作失败,则可以返回HTTP状态代码4xx或5xx,并且响应的主体可以更新工作流资源以用信号通知失败的描述符或参数。
操作RetrieveWorkflow可以检索先前配置的工作流。如果该操作成功,则可以返回HTTP状态代码200。响应的主体可以更新工作流资源以包括与请求中的值相同的通用描述符的ID的值和更新的信息,更新的信息包括关于向哪里发送媒体数据、元数据和其它信息的端点信息。如果该操作失败,则可以返回HTTP状态代码4xx或5xx。响应的主体可以更新工作流资源以用信号通知失败的描述符或参数。如果该操作被接受,但是工作流没有被立即创建,则可以返回HTTP状态代码202。HTTP头字段稍后重试(Retry-After)包括的:HTTP-日期/延迟-秒(HTTP-date/delay-seconds),可使用RetrieveWorkflow操作来获得工作流资源,其中,HTTP-日期/延迟以秒为单位推荐日期或延迟(如RFC7231所定义的)。
操作GetReports可以获得先前配置的工作流的报告。如果该操作成功,则可以返回HTTP状态代码200。响应的主体可以更新工作流资源以包括与请求中的值相同的通用描述符的ID的值和被包括在请求中的更新的报告描述符。如果该操作失败,则可以返回HTTP状态代码4xx或5xx。响应的主体可以更新工作流资源以用信号通知失败的描述符或参数。
操作CreateTask可以提供用于配置媒体处理的任务。如果该操作成功(即,在将任务实例化为空闲状态之后),则可以返回HTTP状态代码200。响应的主体可以更新任务资源以包括通用描述符的ID的值和更新的信息,更新的信息包括关于向哪里发送媒体数据、元数据和其它信息的端点信息。如果该操作失败(即,任务没有被实例化为空闲),则可以返回HTTP状态代码4xx或5xx。响应的主体可以更新任务资源以用信号通知失败的描述符或参数。如果该操作被接受,但是任务没有被立即创建,则可以返回HTTP状态代码202。HTTP头字段稍后重试(Retry-After)包括的:HTTP-日期/延迟-秒(HTTP-date/delay-seconds),可使用UpdateTask操作来获得任务资源,其中,HTTP-日期/延迟以秒为单位推荐日期或延迟(如RFC7231所定义的)。响应的主体可以更新任务资源以包括通用描述符的ID的值。
操作UpdateTask可以修改任务的配置。如果该操作成功(即,新配置有效),则可以返回HTTP状态代码200。响应的主体可以更新任务资源以包括通用描述符的ID的值和更新的信息,更新的信息包括关于向哪里发送媒体数据、元数据和其它信息的端点信息。如果该操作失败(即,没有发生新配置),则可以返回HTTP状态代码4xx或5xx。响应的主体可以更新任务资源以用信号通知失败的描述符或参数。如果该操作被接受,但是任务没有被立即创建,则可以返回HTTP状态代码202。HTTP头字段稍后重试(Retry-After)包括的:HTTP-日期/延迟-秒(HTTP-date/delay-seconds),可使用UpdateTask操作来获得任务资源,其中,HTTP-日期/延迟以秒为单位推荐日期或延迟(如RFC7231所定义的)。响应的主体可以更新任务资源以包括通用描述符的ID的值。
操作GetTask可以检索任务配置信息。如果该操作成功(即,能够接收到当前配置),则可以返回HTTP状态代码200。响应的主体可以更新任务资源以包括通用描述符的ID的值和更新的信息,更新的信息包括关于向哪里发送媒体数据、元数据和其它信息的端点信息。如果该操作失败(即,不能够接收到当前配置),则可以返回HTTP状态代码4xx或5xx。响应的主体可以更新任务资源以用信号通知失败的描述符或参数。
操作DeleteTask可以接收用于销毁任务的请求。如果该操作成功(即,在任务被销毁之后),则可以返回HTTP状态代码200和解除配置请求的状态。如果该操作失败,则可以返回HTTP状态代码4xx或5xx。响应的主体可以更新任务资源以用信号通知失败的描述符或参数。
现在参考图3,描绘了操作流程图300,操作流程图300图示了由用于异步NBMP处理的程序所执行的步骤。图3可以借助于图1和图2来描述。如前所述,异步NBMP处理程序116(图1)可以允许对可能不需要立即响应的NBMP请求进行异步处理。
在302处,接收与发送至NBMP工作流管理器的NBMP请求相对应的函数调用。函数调用可以是创建工作流、更新工作流、检索工作流、创建任务和更新任务中的一个或多个。在操作中,服务器计算机114(图1)上的异步NBMP处理程序116(图1)可以接收CreateWorkflow请求以由NMBP工作流管理器206(图2)创建工作流。
在304处,基于接收到函数调用来返回超文本传输协议(HTTP)状态代码。如果请求操作被成功执行,则HTTP状态代码可以是200,如果请求操作失败,则HTTP状态代码可以是4xx或5xx。如果请求被成功地接收,但是要稍后才可以完成,则HTTP状态代码可以是202。在操作中,NMBP工作流管理器206(图2)可以基于接收CreateWorkflow请求并将CreateWorkflow请求推迟到稍后时间来返回HTTP状态代码202。异步NBMP处理程序116(图1)可以通过通信网络110(图1)将该HTTP状态代码发送到计算机102(图1)上的软件程序108(图1)。
在306处,在预定的时刻执行该NBMP请求,从而异步地执行对该请求的响应。该预定的时刻晚于接收到所述函数调用的时刻。该预定的时刻可以由RFC7231的稍后重试功能定义,并且可以是以秒为单位的延迟或者是预定的日期和时间点。也就是说,该预定的时刻可以是由RFC7231的稍后重试Retry-After功能定义的在接收到所述函数调用的时刻经过预设的时间延迟之后的一时间点,或者是晚于接收到所述函数调用的时刻的预定的日期和时间点。在操作中,异步NBMP处理程序116(图1)可以从数据库112(图1)检索对应于以秒为单位的延迟的值。一旦该延迟已经过去,异步NBMP处理程序116可以执行CreateWorkflow命令。也即,异步NBMP处理程序116可以执行对NBMP请求的异步的非立即响应。
可以理解,图3仅提供了一种实施方式的图示,并不暗示对如何实施不同实施例的任何限制。可以基于设计和实施方式需求对所描绘的环境进行许多修改。
图4是根据说明性实施例的图1中所描绘的计算机的内部组件和外部组件的框图400。应当理解,图4仅提供了一种实施方式的图示,并不意味着对可以实施不同实施例的环境的任何限制。可以基于设计和实施方式需求对所描绘的环境进行许多修改。
计算机102(图1)和服务器计算机114(图1)可以包括图4中图示的相应的各组内部组件800A、800B和外部组件900A、900B。每组内部组件800包括一个或多个处理器820、一条或多条总线826上的一个或多个计算机可读RAM 822和一个或多个计算机可读ROM 824、一个或多个操作系统828以及一个或多个计算机可读有形存储设备830。
处理器820以硬件、固件或硬件和软件的组合来实施。处理器820是中央处理单元(CPU)、图形处理单元(GPU)、加速处理单元(APU)、微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或另一种类型的处理组件。在一些实施方式中,处理器820包括能够被编程以执行函数的一个或多个处理器。总线826包括允许内部组件800A、800B之间进行通信的组件。
服务器计算机114(图1)上的一个或多个操作系统828、软件程序108(图1)和异步NBMP处理程序116(图1)被存储在一个或多个相应的计算机可读有形存储设备830上,以由一个或多个相应的处理器820经由一个或多个相应的RAM 822(其通常包括高速缓冲存储器)来执行。在图4图示的实施例中,计算机可读有形存储设备830中的每一个是内部硬盘驱动器的磁盘存储设备。或者,计算机可读有形存储设备830中的每一个是半导体存储设备,诸如ROM 824、EPROM、闪存、光盘、磁光盘、固态盘、压缩盘(CD)、数字多功能盘(DVD)、软盘、盒式磁带、磁带和/或能够存储计算机程序和数字信息的另一种类型的非暂时性计算机可读有形存储设备。
每组内部组件800A、800B还包括R/W驱动器或接口832,以从一个或多个便携式计算机可读有形存储设备936(例如CD-ROM、DVD、记忆棒、磁带、磁盘、光盘或半导体存储设备)读取或向其写入。诸如软件程序108(图1)和异步NBMP处理程序116(图1)的软件程序可被存储在一个或多个相应的便携式计算机可读有形存储设备936上,经由相应的R/W驱动器或接口832读取并被加载到相应的硬盘驱动器830中。
每组内部组件800A、800B还包括网络适配器或接口836,诸如TCP/IP适配卡、无线Wi-Fi接口卡、或者3G、4G或5G无线接口卡或其它有线或无线通信链路。可以经由网络(例如,因特网、局域网或其它广域网)和相应的网络适配器或接口836将服务器计算机114(图1)上的软件程序108(图1)和异步NBMP处理程序116(图1)从外部计算机下载到计算机102(图1)和服务器计算机114。从网络适配器或接口836将服务器计算机114上的软件程序108和异步NBMP处理程序116加载到相应的硬盘驱动器830中。网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。
各组外部组件900A、900B中的每一组可以包括计算机显示监视器920、键盘930和计算机鼠标934。外部组件900A、900B还可包括触摸屏、虚拟键盘、触摸板、定点设备和其它人机接口设备。各组内部组件800A、800B中的每一组还包括设备驱动器840,以与计算机显示监视器920、键盘930和计算机鼠标934进行接口。设备驱动器840、R/W驱动器或接口832以及网络适配器或接口836包括硬件和软件(存储在存储设备830和/或ROM 824中)。
应预先理解,尽管本申请包括对云计算的详细描述,但此处所引用的教导的实施方式不限于云计算环境。相反,一些实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实施。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、储存器、应用、虚拟机和服务)的共享池的方便的按需网络访问,可以用最少的管理努力或与服务的提供者的交互来快速供应和释放所述可配置计算资源。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可根据需要自动地单方面提供诸如服务器时间和网络存储等计算能力,而无需与服务的提供者进行人工交互。
广泛的网络接入:能力在网络上是可用的,并且通过促进异构的瘦或胖客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问能力。
资源池化(pooling):供应商的计算资源被池化以使用多租户模型来服务多个消费者,其中,不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不了解所提供的资源的确切位置,但是能够在更高的抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速且弹性地自动提供能力以快速地向外扩展和快速地释放以向内扩展。对于消费者来说,可用于供应的能力通常看起来是无限的,并且可以在任何时间以任何数量购买。
可度量的服务:云系统通过在适合于服务类型(例如,存储、处理、带宽和活动用户帐户)的某个抽象级别利用计量能力来自动控制和优化资源使用。可以监控、控制和报告资源使用,以便为所使用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从各种客户端设备访问。消费者不管理或控制包括网络、服务器、操作系统、储存器或甚至个别应用能力的底层云基础设施,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建的或获取的应用部署到云基础设施上,这些应用是使用提供者支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或储存器的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(laaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但是具有对操作系统、存储、部署的应用的控制,以及对选择的联网组件(例如,主机防火墙)的可能的有限控制。
部署模型如下:
私有云:云基础设施仅用于组织。它可以由组织或第三方来管理,并且可以存在于内部或外部。
社区云:云基础设施由若干组织共享,并且支持具有共享的关注(例如,使命、安全要求、策略和一致性考虑)的特定社区。它可以由组织或第三方来管理,并且可以存在于内部或外部。
公共云:云基础设施可用于一般公众或大型行业组,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多个云(私有、社区或公共)的组合,所述两个或更多个云保持唯一实体,但是通过标准化或专有技术被绑定在一起,所述专有技术实现数据和应用可移植性(例如,用于云之间的负载平衡的云爆发)。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心处的是包括互连节点的网络的基础设施。
参考图5,描绘了说明性云计算环境500。如图所示,云计算环境500包括一个或多个云计算节点10,云消费者使用的本地计算设备可以与一个或多个云计算节点10进行通信,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。云计算节点10可以彼此通信。它们可以在一个或多个网络中被物理地或虚拟地分组(未示出),诸如如上所述的私有云、社区云、公共云或混合云,或者它们的组合。这允许云计算环境500提供基础设施即服务、平台即服务和/或软件即服务,云消费者不需要为该服务在本地计算设备上维护资源。应当理解,图5中所示的计算设备54A-54N的类型仅旨在是说明性的,并且云计算节点10和云计算环境500可通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备进行通信。
参考图6,示出了由云计算环境500(图5)提供的一组功能抽象层600。应当预先理解的是,图6中所示的组件、层和功能仅仅是说明性的,并且实施例不限于此。如所描绘的,提供以下层和对应的功能。
硬件和软件层60包括硬件组件和软件组件。硬件组件的示例包括:主机61、基于RISC(精简指令集计算机)体系结构的服务器62、服务器63、刀片服务器64、存储设备65、以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供以下虚拟实体的示例:虚拟服务器71、虚拟存储72、包括虚拟专用网络的虚拟网络73、虚拟应用和操作系统74、以及虚拟客户端75。
在一个示例中,管理层80可以提供下述功能。资源供应81提供计算资源和被用于在云计算环境内执行任务的其它资源的动态采购。计量和定价82提供了在云计算环境内利用资源时的成本跟踪,以及针对这些资源的消耗的开账单或开发票。在一个示例中,这些资源可包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其它资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,从而满足所需的服务级别。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中,根据SLA预期对云计算资源的未来需求。
工作负荷层90提供可以利用云计算环境的功能的示例。可从该层提供的工作负荷和功能的示例包括:映射和导航91、软件开发和生命周期管理92、虚拟课堂教学交付93、数据分析处理94、交易处理95、以及异步NBMP处理96。异步NBMP处理96可以允许对NBMP请求的异步的非立即响应。
本申请实施例提供了一种用于异步的基于网络的媒体处理NBMP请求处理的计算机系统,包括:
接收模块,被配置为接收与发送至工作流管理器的NBMP请求相对应的函数调用;
返回模块,被配置为基于接收到所述函数调用,返回第一超文本传输协议HTTP状态代码;以及
执行模块,被配置为在预定的时刻执行所述NBMP请求,其中,所述预定的时刻晚于接收到所述函数调用的时刻,而且,对所述NBMP请求的响应是异步执行的。
本申请实施例提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现本申请任一实施例所述的方法。
本申请实施例提供了一种非暂时性计算机可读介质,其上存储有用于异步的基于网络的媒体处理NBMP请求处理的计算机程序,所述计算机程序被配置为使一个或多个计算机处理器执行本申请任一实施例所述的方法。
一些实施例可以涉及在集成的任何可能的技术细节级别的系统、方法和/或计算机可读介质。计算机可读介质可以包括计算机可读的非暂时性存储介质,该计算机可读的非暂时存储介质上具有用于使处理器执行操作的计算机可读程序指令。
计算机可读存储介质可以是有形设备,该有形设备可以保存和存储供指令执行设备使用的指令。计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述内容的任何合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如在其上记录有指令的凹槽中的穿孔卡片或凸起结构)以及前述内容的任何合适的组合。本文使用的计算机可读存储介质不被解释为是瞬时信号本身,例如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,穿过光缆的光脉冲)、或通过导线传输的电信号。
本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由诸如因特网、局域网、广域网和/或无线网络的网络下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令以存储在相应的计算/处理设备内的计算机可读存储介质中。
用于执行操作的计算机可读程序代码/指令可以是汇编指令、指令集体系结构(ISA)指令、机器指令、机器依赖指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言(诸如Smalltalk、C++等)以及过程化编程语言(诸如“C”编程语言或类似编程语言)。计算机可读程序指令可以完全地在用户的计算机上执行、部分地在用户的计算机上执行、作为独立软件包执行、部分地在用户的计算机上并且部分地在远程计算机上执行或者完全地在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以使电子电路个性化,以便执行各方面或操作。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器以产生机器,使得经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于实施在流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可被存储在计算机可读存储介质中,该计算机可读存储介质可以指示计算机、可编程数据处理装置和/或其它设备以特定方式运行,使得其中存储有指令的计算机可读存储介质包括这样的制品,该制品包括实施在流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其它可编程数据处理装置或其它设备上,以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,从而产生计算机执行的过程,使得在计算机、其它可编程装置或其它设备上执行的指令实施在流程图和/或框图的一个或多个框中指定的功能/动作。
附图中的流程图和框图图示了根据各种实施例的系统、方法和计算机可读介质的可能实施方式的体系结构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、分段或部分,其包括用于实施指定逻辑功能的一个或多个可执行指令。该方法、计算机系统和计算机可读介质可以包括更多的框、更少的框、不同的框或者与附图中所描绘的那些不同地布置的框。在一些可替换的实施方式中,在框中指出的功能可以不按照附图中指出的顺序发生。例如,连续示出的两个框实际上可以同时或基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应当注意,框图和/或流程图图示中的每个框,以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实施。
显然,本文所描述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际的专用控制硬件或软件代码不限于这些实施方式。因此,在不参考特定软件代码的情况下在本文描述了系统和/或方法的操作和行为——应当理解,可以基于本文的描述来设计软件和硬件以实现系统和/或方法。
本文中使用的元件、动作或指令都不应被解释为关键的或必要的,除非明确地如此描述。此外,如本文所用,冠词“一”和“一个”旨在包括一个或多个项目,并且可与“一个或多个”互换使用。此外,如本文所用,术语“组”旨在包括一个或多个项目(例如,相关项目、不相关项目、相关和不相关项目的组合等),并且可以与“一个或多个”互换使用。当仅意指一个项目时,使用术语“仅一个”或类似语言。此外,如本文所用,术语“具有”、“有”、“具备”等旨在是开放式术语。此外,短语“基于”旨在表示“至少部分地基于”,除非另外明确声明。
已经出于说明的目的而呈现了对各方面和实施例的描述,但是这些描述并不旨在穷举或限制于所公开的实施例。虽然在权利要求中陈述和/或在说明书中公开了特征的组合,但是这些组合并不旨在对可能的实施方式的公开内容进行限制。事实上,这些特征中的许多特征可以以权利要求中未具体列举和/或说明书中未公开的方式来组合。虽然下面列出的每个从属权利要求可直接从属于仅一个权利要求,但是可能的实施方式的公开内容包括与权利要求集合中的每个其它权利要求进行组合的每个从属权利要求。在不脱离所描述的实施例的范围的情况下,许多修改和变型对于本领域的普通技术人员是显而易见的。本文使用的术语被选择为最佳地解释实施例的原理、实际应用或相对于市场中发现的技术的技术改进,或者使得本领域普通技术人员能够理解本文公开的实施例。
Claims (10)
1.一种用于异步的基于网络的媒体处理NBMP请求处理的方法,其特征在于,所述方法包括:
接收与发送至工作流管理器的NBMP请求相对应的函数调用;
基于接收到所述函数调用,返回第一超文本传输协议HTTP状态代码;以及
在预定的时刻执行所述NBMP请求,其中,所述预定的时刻晚于接收到所述函数调用的时刻,而且,对所述NBMP请求的响应是异步执行的。
2.根据权利要求1所述的方法,其特征在于,所述第一HTTP状态代码是202。
3.根据权利要求1所述的方法,其特征在于,所述预定的时刻是在接收到所述函数调用的时刻经过预设的时间延迟之后的一时间点或晚于接收到所述函数调用的时刻的预定日期和时间点。
4.根据权利要求3所述的方法,其特征在于,所述预设的时间延迟以及所述预定日期和时间点由RFC7231的稍后重试Retry-After功能定义。
5.根据权利要求1所述的方法,其特征在于,所述NBMP请求对应于以下各项中的一个或多个:创建工作流、更新工作流、检索工作流、创建任务以及更新任务。
6.根据权利要求1所述的方法,其特征在于,对所述NBMP请求的所述响应包括更新至少一个工作流资源。
7.根据权利要求1所述的方法,其特征在于,进一步包括:
基于所述函数调用失败的确定,返回第二HTTP状态代码。
8.一种用于异步的基于网络的媒体处理NBMP请求处理的计算机系统,其特征在于,所述计算机系统包括:
接收模块,被配置为接收与发送至工作流管理器的NBMP请求相对应的函数调用;
返回模块,被配置为基于接收到所述函数调用,返回第一超文本传输协议HTTP状态代码;以及
执行模块,被配置为在预定的时刻执行所述NBMP请求,其中,所述预定的时刻晚于接收到所述函数调用的时刻,而且,对所述NBMP请求的响应是异步执行的。
9.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现如权利要求1至7中的任一项所述的方法。
10.一种非暂时性计算机可读介质,其特征在于,其上存储有用于异步的基于网络的媒体处理NBMP请求处理的计算机程序,所述计算机程序被配置为使一个或多个计算机处理器执行如权利要求1至7中的任一项所述的方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962867178P | 2019-06-26 | 2019-06-26 | |
US62/867,178 | 2019-06-26 | ||
US16/909,374 US11582285B2 (en) | 2019-06-26 | 2020-06-23 | Asynchronous workflow and task api for cloud based processing |
US16/909,374 | 2020-06-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112152988A CN112152988A (zh) | 2020-12-29 |
CN112152988B true CN112152988B (zh) | 2022-07-29 |
Family
ID=73887647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010588812.8A Active CN112152988B (zh) | 2019-06-26 | 2020-06-24 | 用于异步nbmp请求处理的方法、系统以及计算机设备和介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230164210A1 (zh) |
CN (1) | CN112152988B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220321346A1 (en) * | 2021-03-31 | 2022-10-06 | Microsoft Technology Licensing, Llc | Token management for asynchronous request-reply |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761500B1 (en) * | 2000-02-29 | 2010-07-20 | Cisco Technology, Inc. | URL based communication protocol from a client computer to a network device |
CN101836436A (zh) * | 2007-10-25 | 2010-09-15 | 汤姆森许可贸易公司 | 选择音频和/或视频服务的方法 |
CN104603762A (zh) * | 2012-09-28 | 2015-05-06 | 国际商业机器公司 | 利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问 |
CN109643272A (zh) * | 2016-06-29 | 2019-04-16 | 新思科技有限公司 | 自动http用户流模拟器 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5366516B2 (ja) * | 2008-11-28 | 2013-12-11 | ソフトバンクモバイル株式会社 | 携帯情報端末装置、測位制御方法及び測位制御プログラム |
US11277598B2 (en) * | 2009-07-14 | 2022-03-15 | Cable Television Laboratories, Inc. | Systems and methods for network-based media processing |
US9830596B2 (en) * | 2011-11-01 | 2017-11-28 | Stripe, Inc. | Method for conducting a transaction between a merchant site and a customer's electronic device without exposing payment information to a server-side application of the merchant site |
US10225164B2 (en) * | 2012-09-07 | 2019-03-05 | Oracle International Corporation | System and method for providing a cloud computing environment |
US10432747B2 (en) * | 2015-06-10 | 2019-10-01 | Ricoh Company, Ltd. | Offline mobile capture |
US10873614B2 (en) * | 2018-01-17 | 2020-12-22 | Samsung Electronics Co., Ltd. | Method and apparatus for configuration and deployment of media processing in the network |
EP3925189A4 (en) * | 2019-03-18 | 2022-04-13 | Samsung Electronics Co., Ltd. | METHOD AND DEVICE FOR AUTHENTICATION IN NETWORK-BASED MEDIA PROCESSING (NBMP ) SYSTEMS |
US11694303B2 (en) * | 2019-03-19 | 2023-07-04 | Electronics And Telecommunications Research Institute | Method and apparatus for providing 360 stitching workflow and parameter |
US11582285B2 (en) * | 2019-06-26 | 2023-02-14 | Tencent America LLC | Asynchronous workflow and task api for cloud based processing |
US11063992B1 (en) * | 2020-03-30 | 2021-07-13 | Tencent America LLC | Network-based media processing (NBMP) workflow management through 5G framework for live uplink streaming (FLUS) control |
-
2020
- 2020-06-24 CN CN202010588812.8A patent/CN112152988B/zh active Active
-
2023
- 2023-01-09 US US18/151,779 patent/US20230164210A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7761500B1 (en) * | 2000-02-29 | 2010-07-20 | Cisco Technology, Inc. | URL based communication protocol from a client computer to a network device |
CN101836436A (zh) * | 2007-10-25 | 2010-09-15 | 汤姆森许可贸易公司 | 选择音频和/或视频服务的方法 |
CN104603762A (zh) * | 2012-09-28 | 2015-05-06 | 国际商业机器公司 | 利用并行文件访问协议的自动校准以及元数据管理支持对文件系统的共享存储的协调访问 |
CN109643272A (zh) * | 2016-06-29 | 2019-04-16 | 新思科技有限公司 | 自动http用户流模拟器 |
Non-Patent Citations (1)
Title |
---|
"AHVIC-195-XR5G-PD-v0.4.1".《3GPP tsg_sa\wg4_codec》.2019, * |
Also Published As
Publication number | Publication date |
---|---|
US20230164210A1 (en) | 2023-05-25 |
CN112152988A (zh) | 2020-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831517B2 (en) | Deploying a virtual machine in a computing environment | |
US11582285B2 (en) | Asynchronous workflow and task api for cloud based processing | |
US10044837B2 (en) | Generation and distribution of named, definable, serialized tokens | |
US9590859B2 (en) | Discovering resources of a distributed computing environment | |
US11546431B2 (en) | Efficient and extensive function groups with multi-instance function support for cloud based processing | |
US11627169B2 (en) | Network-based Media Processing (NBMP) workflow management through 5G Framework for Live Uplink Streaming (FLUS) control | |
US10324647B2 (en) | Dynamic compression for runtime services | |
CN117616395A (zh) | 迁移期间应用的连续活跃度和完整性 | |
US20230164210A1 (en) | Asynchronous workflow and task api for cloud based processing | |
CN116325705A (zh) | 边缘计算环境中的管理任务流 | |
US10554770B2 (en) | Dynamic cognitive optimization of web applications | |
US11438398B2 (en) | 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination | |
CN115298653A (zh) | 用于无状态服务的适应状态管理 | |
US11765236B2 (en) | Efficient and extensive function groups with multi-instance function support for cloud based processing | |
CN112148935B (zh) | 用于多实例的nbmp功能执行的方法和装置 | |
US20190069121A1 (en) | Direct update of mobile applications based on features used | |
CN114868362B (zh) | 访问实时上行链路流式传输框架(flus)信宿能力的方法和装置 | |
US11782971B2 (en) | Static and dynamic NBMP function image retrieval and scale ranking | |
US20230409628A1 (en) | Static and dynamic nbmp function image retrieval and scale ranking |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40035348 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |