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

提供云服务的方法和装置与流程

2022-03-01 20:38:17 来源:中国专利 TAG:

提供云服务的方法和装置
1.引用并入
2.本公开要求于2020年9月23日提交的美国申请第17/029,968号“提供云服务的方法和装置”的优先权,该美国申请要求了于2019年9月27日提交的美国临时申请第62/907,322号“云服务的自包含报告”,于2019年9月27日提交的美国临时申请第62/907,327号“云服务的自包含监控”,于2019年9月27日提交的美国临时申请第62/907,312号“云服务的自包含通知”的优先权。在先申请的全部内容通过引用并入本文。
技术领域
3.本公开描述了与云服务相关的实施例。


背景技术:

4.本文所提供的背景描述旨在整体呈现本技术的背景。在背景技术部分以及本说明书的各个方面中所描述的目前已署名的发明人的工作所进行的程度,并不表明其在本技术提交时作为现有技术,且从未明示或暗示其被承认为本技术的现有技术。
5.各种媒体应用和服务需要强大的处理能力。在一些示例中,云处理是首选,否则将在客户端设备上执行的工作负载可以卸载到远程服务器。由于远程服务器具有更高的计算能力,远程服务器可以执行复杂的媒体处理任务,然后将最终结果或接近最终结果发送到客户端设备。


技术实现要素:

6.本公开的各方面提供了用于云服务的方法和装置。例如,云中用于提供云服务的装置包括处理电路。处理电路接收请求,其中,该请求至少包括与变量相关联的第一特征。在示例中,所述第一特征包括描述所述变量的完整信息。所述处理电路生成消息,其中,所述消息包括与所述变量相关联的所述第一特征和所述变量的更新值,以及,所述处理电路将所述消息发送给接收方。
7.在示例中,所述第一特征至少包括所述变量的定义、所述变量的单位、所述变量的格式以及所述变量的通用标识符。
8.在一些示例中,所述处理电路可建立和管理所述云服务的工作流。
9.在一些其他示例中,所述处理电路可以执行所述云服务的工作流中的一个或多个任务。
10.在一些实施例中,所述请求至少包括与事件相关联的第二特征。所述第二特征包括描述所述事件的完整信息。处理电路可以生成所述消息,其中,所述消息包括与所述变量相关联的所述第一特征、所述变量的所述更新值、以及与所述事件相关联的所述第二特征,以指示所述事件的发生。值得注意的是,所述变量是功能变量和系统变量之一,并且所述事件是功能事件和系统事件之一。
11.在一些实施例中,所述请求包括第一报告描述符对象,所述第一报告描述符对象
至少具有与变量相关联的第一变量描述符对象、与事件相关联的第一事件描述符对象和报告间隔。在与前一条消息具有报告间隔的时间,所述处理电路生成包括第二报告描述符对象的所述消息,所述第二报告描述符对象具有针对所述变量的更新值的第二变量描述符对象,以及与所述事件的子集相关联的第二事件描述符对象。
12.在一些实施例中,所述请求包括第一通知描述符对象,所述第一通知描述符对象至少具有与变量相关联的第一变量描述符对象、与订阅事件相关联的第一事件描述符对象。当发生所述订阅事件中的至少一个时,所述处理电路生成包括第二报告描述符对象的所述消息,所述第二报告描述符对象具有针对所述变量的更新值的第二变量描述符对象,以及与所述订阅事件的子集相关联的第二事件描述符对象。
13.在一些实施例中,所述请求包括第一监控描述符对象,所述第一监控描述符对象至少具有与变量相关联的第一变量描述符对象、与事件相关联的第一事件描述符对象。所述处理电路接收监控实体发送的所述请求;响应于所述请求,生成包括第二报告描述符对象的所述消息,所述第二报告描述符对象具有针对所述变量的更新值的第二变量描述符对象,以及与所述事件的子集相关联的第二事件描述符对象。然后,所述处理电路将所述消息发送到所述监控实体。
14.需要注意的是,在一些实施例中,所述消息包括识别所述请求的请求描述符对象。
15.本公开的各方面还提供了一种非易失性计算机可读介质,其中,该非易失性计算机可读介质存储指令,当所述指令被用于云服务的计算机执行时,使得所述计算机执行上述云服务的方法。
附图说明
16.根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将进一步明确,其中:
17.图1示出了根据本公开实施例的示例性媒体处理系统。
18.图2示出了根据本公开实施例的图的示例。
19.图3示出了根据本公开一些实施例的函数中的变量列表。
20.图4示出了根据本公开一些实施例的变量的特征表。
21.图5示出了根据本公开一些实施例的变量描述符模式的示例。
22.图6示出了根据本公开一些实施例的函数中的事件列表。
23.图7示出了根据本公开一些实施例的事件特征表。
24.图8示出了根据本公开一些实施例的事件描述符模式的示例。
25.图9示出了报告描述符中的参数表和参数的相应类型。
26.图10示出了根据本公开一些实施例的报告描述符模式的示例。
27.图11示出了通知描述符中的参数表和参数的对应类型。
28.图12a-b示出了根据本公开一些实施例的通知描述符模式的示例。
29.图13示出了监控描述符中的参数表以及参数的对应类型。
30.图14示出了根据本公开一些实施例的监控描述符模式的示例。
31.图15示出了根据本公开实施例的概述过程的流程图。
32.图16示出了根据实施例的计算机系统的示意图。
具体实施方式
33.云计算是指使用托管在网络(例如,因特网)上的远程服务器的网络提供信息计算服务(例如,云服务)的实践。将云服务提供给服务消费者(例如,客户端)的网络架构(例如,包括硬件和软件)被称为云。云计算提供对诸如数据处理、媒体处理、服务器、存储、网络、应用程序、在线服务等各种服务的访问。在一些示例中,媒体处理成为计算密集型,并且因此优选媒体处理云将大量工作负载卸载到远程服务器。
34.通常,云计算系统包括网络、一个或多个服务器以及一个或多个客户端设备。网络促进了服务器与客户端设备之间的通信。客户端设备可以是例如智能手机、平板电脑、笔记本电脑、个人电脑、可穿戴设备、头戴式显示器(head-mounted display,hmd)等。服务器可以包括能够为一个或多个客户端设备提供计算服务的任何合适的计算或处理设备。例如,每个服务器可以包括一个或多个处理设备、存储指令和数据的一个或多个存储器,以及通过网络促进通信的一个或多个网络接口。在一些实施例中,服务器包括工作流管理器,该工作流管理器可以选择功能并构建工作流流水线以执行处理任务。
35.根据本公开的一些实施例,当将计算卸载到远程服务器时,客户端设备或负责提供服务的服务提供商可能需要关于服务的处理状态的信息,比如,服务的实时信息等。在一些示例中,可以在云计算系统中采取动作以向云服务中涉及的实体提供状态信息。在一个示例中,报告是定期执行(例如,基于时间间隔频繁执行)的动作,以在执行服务期间向目的地提供关于事件和变量的信息。在另一示例中,通知是当事件发生时向目的地提供信息的动作。在另一示例中,监控是实体请求信息和接收所请求的信息的动作。为了便于描述,在以下描述中,响应于动作(例如,报告、通知和监控)而生成的状态信息被称为状态报告;响应于报告动作而生成的状态信息被称为定期报告;响应于通知动作而生成的状态信息被称为通知报告;并且响应于监控动作而生成的状态信息被称为监控报告。
36.本公开的各方面提供了在云计算系统中报告、监控和通知的框架。该框架可以简化报告、监控和通知动作的设置和处理。具体地,本公开的一些方面提供用于云计算服务的自包含报告、监控和通知框架。自包含框架可以向接收者提供容器(例如,消息),该容器包括容器中接收者理解的所有必要信息,因此接收者不需要从容器中交叉引用信息来理解所接收的信息。
37.注意,在本公开中,将执行基于网络的媒体处理(network-based media processing,nbmp)的媒体处理系统(在一些示例中也称为媒体处理云)用作说明报告、监控和通知框架的示例,并且报告、监控和通知框架可以用于其它合适的云计算系统。
38.在媒体处理系统中,nbmp源描述了所请求的媒体处理,并提供关于媒体数据性质和格式的信息。因此,nbmp工作流管理器可以建立媒体处理工作流,并通知nbmp源工作流就绪,然后,可以开始媒体处理。例如,一个或多个媒体源可以随后开始向网络发送媒体以进行处理。
39.在一些实施例中,nbmp工作流包括基于媒体处理任务之间的输入/输出关系而连接的媒体处理任务。每个媒体处理任务执行媒体处理操作,诸如视频解码、视频拼接、视频编码等。在示例中,第一媒体处理任务基于输入执行媒体处理操作并生成输出。第一媒体处理任务的输出可以用作与第一媒体处理任务连接的第二媒体处理任务的输入。换言之,nbmp工作流可以被视为媒体处理任务的连接图。
40.工作流管理器可以通过配置和监控每个任务以及工作流输出,以确保工作流的正确操作。在一些示例中,将工作流管理器配置为基于从nbmp源接收的工作流描述,选择媒体处理功能,并将媒体处理功能实例化为任务。
41.在媒体处理系统中,可以执行适当的交互以建立、加载、实例化和监控将运行媒体处理任务的媒体处理实体。在一些示例中,可以在nbmp源与工作流管理器之间定义应用程序编程接口(application programming interfaces,api);工作流管理器和一个或多个任务;并且定义api以发现适当的一个或多个功能。在一些示例中,将媒体处理系统配置为与媒体格式和协议无关。媒体处理系统可以为在媒体源、工作流管理器和任务之间交换的数据识别和发信号通知媒体、元数据和辅助信息格式。
42.在一些示例中,可以定义通过数字网络连接以进行媒体处理的实体之间的接口,包括数据格式和api。用户可以远程访问和配置用户操作,以进行高效、智能的处理。可以描述和管理将应用于媒体数据的工作流。可以将媒体数据上载到网络,并且可以实例化和配置媒体处理任务。在一些实施例中,实现了媒体处理流水线的动态创建,以及实时或以延迟方式访问经处理的媒体数据和元数据。还指定了在媒体处理流水线中的媒体源、工作流管理器和媒体处理实体之间使用的媒体和元数据格式。
43.在示例中,客户端(例如,数字媒体的创建者、服务提供商和消费者)可以描述将由网络中的媒体处理实体执行的媒体处理操作。可以通过组合一组可通过接口(例如,nbmp api)访问的媒体处理函数来描述工作流。媒体处理实体(media processing entity,mpe)可以运行应用于媒体的处理任务,从媒体源接收的相关元数据或其它任务。mpe可以提供配置、管理和监控处理任务的能力。媒体处理任务可以是应用于一个或多个媒体和元数据输入的过程,产生将由媒体接收器或其它媒体处理任务消费的一个或多个数据和相关元数据输出。
44.媒体处理系统可以支持各种递送方法,比如,流式传输、文件递送、基于推送的渐进式下载、混合递送、多路径和异构网络环境。
45.图1示出了根据本公开实施例的示例性媒体处理系统(例如,nbmp系统、nbmp参考架构、nbmp架构)(100)。媒体处理系统(100)可以包括多个实体,比如,nbmp源(101)、工作流管理器(例如,nbmp工作流管理器)(103)、功能库(function repository)(105)、媒体源(111)、媒体处理实体(mpe)(113)、媒体接收器(115)、第三方实体等。媒体处理系统(100)可以包括额外的一个或多个媒体源、一个或多个媒体接收器和/或媒体处理实体。媒体处理系统(100)可以跨网络中的一个或多个处理实体处理媒体数据。可以在媒体处理系统(100)中的多个实体之间传送,诸如各种媒体和媒体的控制信息(或控制数据)的信息。
46.为了讨论目的提供上下文,下面将媒体处理系统(100)描述为nbmp系统(100)。这些描述可以适用于任何媒体处理系统。
47.nbmp源(101)可以描述或以其它方式指示网络中的媒体处理。功能库(105)可以包括各种nbmp功能的nbmp功能描述。nbmp源(101)和工作流管理器(103)可以从功能库(105)中检索nbmp功能描述或功能。nbmp功能可以指独立且自包含的媒体处理操作的实施方式,和/或,操作的对应描述。
48.处理任务或任务可以指由mpe(113)执行的nbmp功能的运行时实例。nbmp工作流或工作流可以由实现所请求的媒体处理的一个或多个连接的任务的图(例如,有向无环图
(directed acyclic graph,dag))表示。工作流管理器(103)可以提供一个或多个任务,并连接一个或多个任务,以创建、控制、管理和监控工作流,例如,基于工作流描述文档(workflow description document,wdd)。
49.媒体源(111)可以提供将由工作流处理的媒体内容(例如,媒体数据、补充信息)。补充信息可以包括与媒体数据相关的元数据或辅助信息。媒体源(111)可以向工作流提供输入。媒体接收器(115)可以使用工作流的输出。mpe(113)可以运行一个或多个媒体处理任务,以处理媒体内容。
50.nbmp系统(100)中的不同实体(例如,nbmp源(101)、工作流管理器(103)和mpe(113))可以使用api,以调用和响应媒体服务请求。api可以包括nbmp工作流api或工作流api、功能发现api和任务api。工作流api可以提供nbmp源(101)与工作流管理器(103)之间的接口。任务api可以提供工作流管理器(103)与媒体处理任务之间的接口。功能发现api可以提供工作流管理器(103)/nbmp源(101)与功能库(105)之间的接口。
51.上述nbmp接口可以用于创建和控制网络中的媒体处理工作流。可以将nbmp系统(100)分成控制平面和媒体平面(或媒体数据平面)。控制平面可以包括工作流api、功能发现api和任务api。
52.nbmp源(101)可以使用工作流api来创建和控制媒体处理工作流。nbmp源(101)可以使用工作流api与工作流管理器(103)通信,以配置和控制网络中的媒体处理。当nbmp源(101)通过在工作流api的操作中包括工作流资源(workflow resource,wr)向工作流管理器(103)发送请求时,工作流管理器(103)可以解析wr、所包括的wdd和对应的描述符,并根据所请求的操作采取适当的动作。然后,工作流管理器(103)可以用响应来确认该请求。工作流api操作可以包括创建工作流(例如,createworkflow)、更新工作流(例如,updateworkflow)、删除工作流(例如,deleteworkflow)、检索工作流(例如,retrieveworkflow)等。
53.功能发现api可以为工作流管理器(103)和/或nbmp源(101)提供方法,以发现可以作为媒体处理工作流的一部分而加载的媒体处理功能。
54.工作流管理器(103)可以使用任务api在运行时配置和监控一个或多个任务(例如,由mpe(113)运行的任务1和任务2)。例如,在mpe(113)中分配了用于任务的资源之后,任务api可以定义工作流管理器(103)用于配置媒体处理任务的接口。任务api操作可以包括创建任务(例如,createtask)、更新任务(例如,updatetask)、获取任务(例如,gettask)、删除任务(例如,deletetask)等。
55.在媒体平面上,可以定义nbmp源(111)与一个或多个任务之间,以及任务之间的媒体格式、元数据和补充信息格式。
56.可以将工作流描述(workflow description,wd)从nbmp源(101)传递到工作流管理器(103)。wd可以描述信息,比如,输入数据和输出数据、功能和工作流的其它要求等。
57.工作流管理器(103)可以从nbmp源(101)接收wdd,并且可以为请求的媒体处理构建工作流。在工作流过程中,例如,可以从功能库(105)中选择媒体处理功能,然后可以配置对应的媒体处理任务,并将配置的媒体处理任务分配到包含一个或多个mpe的一组mpe(例如,包括mpe(113))。
58.nbmp源(101)和工作流管理器(103)可以读取功能库(105)提供的功能集。在实施
例中,nbmp源(101)使用功能库(105)中的功能集,请求创建工作流。因此,将nbmp源(101)配置为为工作流选择功能。nbmp源(101)可以如下所述请求创建工作流。nbmp源(101)可以使用要创建工作流的媒体处理任务的描述,并且可以指定连接映射,从而定义媒体处理任务的输入和输出的连接。当工作流管理器(103)从nbmp源(101)接收到上述信息时,工作流管理器(103)可以基于相应的功能名称实例化媒体处理任务,并且可以根据连接映射来连接媒体处理任务。
59.或者,nbmp源(101)可以使用一组关键字请求创建工作流,工作流管理器(103)可以通过该组关键字构建工作流。因此,nbmp源(101)可能不知道将插入到工作流中的一组功能。nbmp源(101)可以请求如下所述创建工作流。nbmp源(101)可以使用一组关键字,工作流管理器(103)可以通过该组关键字找到合适的功能,并且可以使用合适的工作流描述指定工作流的要求。
60.当工作流管理器(103)从nbmp源(101)接收到上述信息(例如,该组关键字)时,工作流管理器(103)可以使用关键字,例如,在处理描述符中指定的关键字,搜索适当的功能从而创建工作流。然后,工作流管理器(103)可以使用工作流描述中的其它描述符,提供媒体处理任务,并连接媒体处理任务,以创建最终工作流。
61.工作流管理器(103)的处理模型可以描述如下。
62.工作流管理器(103)可以如下发现可用的媒体处理功能。nbmp功能库(105)可以提供功能发现接口(或api),以允许外部实体查询可以实现所请求的处理的媒体处理功能。工作流管理器(103)可以访问目录服务,该目录服务提供可搜索的媒体处理功能列表。工作流管理器(103)可以使用工作流描述中的媒体处理任务的描述,从而找到工作流的适当功能。
63.为工作流选择媒体处理任务可以描述如下。当从nbmp源(101)接收到对媒体处理的请求时,工作流管理器(103)可以搜索功能库(105),以找到能够实现工作流的所有可用功能的列表。使用来自nbmp源(101)的工作流描述,工作流管理器(103)可以从功能库(105)中找到功能以实现工作流,该工作流可以取决于来自nbmp源(101)的用于媒体处理的信息。用于媒体处理的信息可以包括输入和输出描述、所请求处理的描述,以及功能目录(105)中功能的其它描述符中的信息。将源请求映射到将包含在工作流中的适当媒体处理任务可以是网络中nbmp实现的一部分。为了在任务创建时,通过使用输入端口名和输出端口名引用和链接输入源,可以使用输入端口和输出端口引用输入流。
64.工作流管理器(103)可以使用功能发现api,搜索将被实例化为任务的适当功能。或者,工作流管理器(103)可以使用功能发现api,检索功能库(105)中的某些或所有适当功能的详细信息。然后,工作流管理器(103)可以将来自nbmp源(101)的媒体处理信息与每个功能的不同描述符进行比较。
65.可以在工作流中配置所选择的媒体处理任务。当识别出将要包含在工作流中的功能时,nbmp工作流管理器(103)可以将这些功能实例化为各自的任务,并配置这些任务,使得这些任务可以被添加到工作流中。nbmp工作流管理器(103)可以从接收自nbmp源(101)的媒体处理信息中提取配置数据,并配置对应的任务。可以使用任务api(例如,nbmp任务api)配置任务。
66.任务分配和分发可以描述如下。工作流管理器(103)可以使用工作流,执行处理部署和配置媒体处理实体。在示例中,对于计算密集型的媒体处理请求,工作流管理器(103)
可以建立多个计算实例,并在多个计算实例之间分配工作负载。因此,工作流管理器(103)可以根据需要连接和配置多个计算实例。在示例中,工作流管理器(103)将相同的任务分配给多个实例,并提供负载平衡器,以使用所选择的调度机制在多个实例之间分配工作负载。在另一个示例中,工作流管理器(103)将相同任务的不同操作分配给不同实例(例如,并行操作)。在上述两个示例中,工作流管理器(103)可以在实例之间建立工作流路径,从而可以成功地实现合适的工作负载。工作流管理器(103)可以配置任务,以将处理后的媒体数据/流(或通过拉动机制使它们可用)推送到工作流图中的下一任务。
67.当工作流管理器(103)从nbmp源(101)接收到wdd时,工作流管理器(103)可以选择即将插入到工作流中的媒体处理功能。当编译即将包含在工作流中的任务列表时,工作流管理器(103)可以连接任务以准备工作流。
68.工作流管理器(103)可以生成工作流,例如,由来自wdd的图(例如,dag)表示的工作流。图2示出了根据本公开实施例的图(例如,dag)(200)的示例。dag(200)可以包括多个节点(t1)-(t6)和多个链路(或连接)(202)-(208)。在示例中,dag(200)表示工作流(200)。
69.dag(200)的每个节点可以表示工作流(200)中的媒体处理任务。在dag(200)中,将第一节点(例如,节点(t1))连接到第二节点(例如,节点(t2))的链路(例如,链路(202))可以代表转移,该转移是将第一节点(例如,节点(t1))的输出作为第二节点(例如,节点(t2))的输入的转移。
70.通常,工作流可以包括任何合适数量的输入(或工作流输入)和任何合适数量的输出(或工作流输出)。一个或多个工作流输入可以连接到媒体源(111)、一个或多个其它工作流等,并且一个或多个工作流输出可以连接到媒体接收器(115)、一个或多个其它工作流等。工作流(200)具有输入(201)以及输出(209)和输出(210)。在一些实施例中,工作流(200)可以具有来自中间节点的一个或多个输出。
71.根据本公开的一些方面,状态报告可以包括功能的变量信息和事件信息。例如,nbmp功能是处理操作的实施方式。在一些实施例中,nbmp功能可以是独立的和自包含的媒体处理操作,以及处理操作的对应描述。在一些示例中,对于每个nbmp功能,在描述中使用两个独立的描述符。两个独立描述符之一用于nbmp功能的事件,称为事件描述符,两个独立描述符中的另一个用于变量,称为变量描述符。变量描述符包括变量的特征,比如,用于理解变量的数学定义、单位、格式、通用标识符等。因此,在一些示例中,变量描述符可以是自解释的,并且可以基于变量描述符理解变量,而无需参考变量描述符之外的其它文本。类似地,事件描述符包括用于理解事件的事件特征。因此,在一些示例中,事件描述符可以是自解释的,并且可以基于事件描述符来理解事件,而无需参考事件描述符之外的其它文本。
72.根据本公开的一方面,可以在不同系统(也称为平台、云系统)上执行服务的工作流。每个系统可以具有系统变量和系统事件。系统变量和系统事件可以包括在状态报告中。
73.在一些实施例中,基于自包含描述符定义状态报告。在一个示例中,基于自包含描述符定义定期报告,该自包含描述符称为报告描述符。例如,定期报告可以包括基于报告描述符定义的对象,并且该对象称为报告描述符对象。报告描述符对象允许定期报告包括功能变量和事件的子集,以及系统变量和事件的子集。变量(例如,功能变量和系统变量)可以包含在基于变量描述符定义的表格中,并且事件(例如,功能事件和系统事件)可以包含在基于事件描述符定义的表格中。因此,定期报告可以是自解释的,并且可以基于变量描述符
和事件描述符理解变量和事件。
74.在另一示例中,基于自包含描述符定义通知报告,其中,该自包含描述符称为通知描述符。例如,通知报告可以包括基于通知描述符定义的对象,并且该对象称为通知描述符对象。通知描述符对象允许通知报告包括功能变量和事件的子集,以及系统变量和事件的子集。变量(例如,功能变量和系统变量)可以包含在基于变量描述符定义的表格中,并且,事件(例如,功能事件和系统事件)可以包含在基于事件描述符定义的表格中。因此,通知报告可以是自解释的,并且可以基于变量描述符和事件描述符理解变量和事件。
75.在另一示例中,基于称为监控描述符的自包含描述符定义监控报告。例如,监控报告可以包括基于监控描述符定义的对象,并且该对象称为监控描述符对象。监控描述符对象允许监控报告包括功能变量和事件的子集,以及系统变量和事件的子集。变量(例如,功能变量和系统变量)可以包含在基于变量描述符定义的表格中,并且,事件(例如,功能事件和系统事件)可以包含在基于事件描述符定义的表格中。因此,监控报告可以是自解释的,并且可以基于变量描述符和事件描述符理解变量和事件。
76.具体地,在一些示例中,每个功能可以包括根据变量描述符描述的变量的列表。
77.图3示出了根据本公开一些实施例的功能中的变量列表。如图3所示,功能包括一个或多个变量,比如,变量-1、变量-2、变量-3等。响应于报告动作,变量或变量的子集可以包括在定期报告中。响应于监控动作,变量或变量的子集可以包括在监控报告中。响应于通知动作,变量或变量的子集可以包括在通知报告中。
78.在一些实施例中,根据变量描述符定义的变量描述符对象可以包括在状态报告中。变量描述符对象可以包括与变量相关联的对象数组。与变量相关联的对象可以包括变量的特征。例如,对象-1包括变量-1的特征;对象-2包括变量-2的特征;并且对象-3包括变量-3的特征。
79.图4示出了根据本公开一些实施例的变量的特征表。该表还包括特征的解释。例如,与变量相关联的对象包括变量的名称、变量的定义、变量的值、变量的单位、变量的参数类型以及变量的可能范围(包括变量的最小值和最大值)等。
80.图5示出了根据本公开一些实施例的变量描述符模式的示例。如图所示,变量描述符是与变量相关联的对象(例如,项目)的数组。
81.此外,在一些示例中,每个功能包括根据事件描述符描述的事件的列表。
82.图6示出了根据本公开一些实施例的功能中的事件列表。如图6所示,功能包括一个或多个事件,例如事件-1、事件-2等。响应于报告动作,事件或事件的子集可以包括在定期报告中。响应于监控动作,事件或事件的子集可以包括在监控报告中。响应于通知动作,事件或事件的子集可以包括在通知报告中。
83.在一些实施例中,根据事件描述符定义的事件描述符对象可以包括在状态报告中。事件描述符对象可以包括与事件相关联的对象数组。与事件相关联的对象可以包括事件的特征。例如,对象-1包括事件-1的特征;对象-2包括事件-2的特征。
84.图7示出了根据本公开一些实施例的事件的特征表。该表还包括特征的解释。例如,与事件相关联的对象包括事件的名称、事件的定义等。
85.图8示出了根据本公开一些实施例的事件描述符模式的示例。如图所示,事件描述符可以包括与事件相关联的对象(项目)数组。
86.根据本公开的一方面,报告是定期向目的地报告信息(例如,生成和发送定期报告)的行为。在一些实施例中,可以根据请求设置报告。在一些示例中,请求实体向报告实体发送请求。该请求包括根据报告描述符定义的第一报告描述符对象。第一报告描述符对象可以包括将报告的所需变量和事件的列表,发送报告的目的地等。然后,报告实体发送在第一报告描述符对象中定义的目的地、在第一报告描述符对象中描述的事件和变量值。例如,定期报告中包括与第一报告描述符对象类似的第二报告描述符对象。第二报告描述符对象可以包括变量的更新值和事件的发生信息。通常,报告描述符还包括报告的频率、报告的开始时间和定期报告的交付协议。注意,目的地可以是请求实体,并且可以是与请求实体不同的实体。
87.在媒体处理系统(100)中,请求实体可以是nbmp源(101)或工作流管理器(103)。报告实体可以是工作流管理器(103)或媒体处理任务。
88.在示例中,工作流管理器(103)可以通过任务api向媒体处理任务(例如,由mpe(113)执行的任务1)发送用于定期报告的请求。工作流管理器(103)可以在该请求的第一报告描述符对象中指定所需的变量和事件、时间间隔、分组、目的地和协议。然后,媒体处理任务可以基于时间间隔,使用第一报告描述符对象中指定的协议,向目的地发送定期报告。定期报告包括第二报告描述符对象,该第二报告描述符对象携带将报告的变量和事件信息以及其他信息,比如,时间间隔、分组、目的地、协议等。
89.在另一个示例中,nbmp源(101)可以设置一个或多个报告方案,并且可以通过工作流api向工作流管理器(103)发送用于定期报告的请求。然后,工作流管理器(103)可以生成定期报告,或,工作流管理器(103)可以请求媒体处理任务生成定期报告。nbmp源(101)可以在该请求的第一报告描述符对象中指定所需的变量和事件、时间间隔、分组、目的地和协议。然后,工作流管理器(103)或媒体处理任务可以基于时间间隔,使用第一报告描述符对象中指定的协议,向目的地发送定期报告。定期报告包括第二报告描述符对象,该第二报告描述符对象携带将报告的变量和事件信息以及其他信息,比如,时间间隔、分组、目的地和协议等。
90.在一些实施例中,http/1.1作为协议,post方法用于在post消息中发送定期报告。例如,post消息的正文(body)包括一个报告描述符对象。在一些示例中,post消息的正文(body)还包括一个请求描述符对象,以便识别报告。在示例中,请求描述符对象包括请求标识,优先级和媒体处理任务的任务标识。
91.图9示出了在报告描述符中的参数表,以及参数的相应类型,图10示出了根据本公开一些实施例的报告描述符模式的示例。需要注意的是,系统事件包括属于媒体处理系统的事件,并且可以由云以与功能的事件相同的格式提供。还应注意,系统变量包括属于媒体处理系统的变量,并且可以由云以与功能的事件相同的格式提供。还应注意,系统变量包括属于媒体处理系统的变量,并且可以由云以与功能的变量相同的格式提供。在一些实施例中,(功能)变量可以包含在第一变量描述符对象中,并且系统变量可以包含在第二变量描述符对象中。(功能)事件可以包含在第一事件描述符对象中,并且,系统事件可以包含在第二事件描述符对象中。
92.根据本公开的另一个方面,通知是当事件发生时向目的地报告信息(例如,生成和发送通知报告)的行为。在一些实施例中,通知是根据请求设置的。在一些示例中,请求实体
向通知实体发送请求。该请求包括根据通知描述符定义的第一通知描述符对象。第一通知描述符对象可以指定,例如,所需变量和事件的列表,发送报告的目的地等。然后,当第一通知描述符对象中列出的一个或多个事件发生时,通知实体发送在第一通知描述符对象中定义的目的地、在第一通知描述符对象中描述的事件和变量值。例如,通知报告包括与第一通知描述符对象类似的第二通知描述符对象。第二通知描述符对象可以包括更新后的变量值,以及事件的发生信息。通常,通知描述符还可以包括其他适合通知的信息,比如,开始时间,通知间隔,传递协议等。注意,目的地可以是请求实体,并且可以是与请求实体不同的实体。
93.在媒体处理系统(100)中,请求实体可以是nbmp源(101)或工作流管理器(103)。通知实体可以是工作流管理器(103)或媒体处理任务。
94.在示例中,工作流管理器(103)可以通过任务api向媒体处理任务(例如,由mpe(113)执行的任务1)发送通知请求。工作流管理器(103)可以在该请求的第一通知描述符对象中指定用于通知的订阅事件列表、变量列表、目的地和协议。然后,当订阅事件列表中的一个或多个事件发生时,媒体处理任务可以使用通知描述符中指定的协议向目的地发送通知报告。通知报告包括第二通知描述符对象,该第二通知描述符对象携带变量列表中的变量信息、订阅事件列表中的事件信息和其他信息。
95.在另一示例中,nbmp源(101)可以设置一个或多个通知方案,并且可以通过工作流api向工作流管理器(103)发送通知请求。然后,工作流管理器(103)可以生成通知报告,或,工作流管理器(103)可以请求媒体处理任务生成通知报告。nbmp源(101)可以在该请求的第一通知描述符对象中指定订阅事件列表、变量列表、目的地和协议。然后,当订阅事件列表中的任何事件发生时,工作流管理器(103)或媒体处理任务可以使用在通知描述符中指定的协议向目的地发送通知报告。通知报告包括第二通知描述符对象,该第二通知描述符对象携带变量信息和事件信息,以及定期报告的其他信息,比如,目的地、协议等。
96.在一些实施例中,http/1.1用作协议,并且post方法用于在post消息中发送通知报告。例如,post消息的正文(body)包括通知描述符对象。在一些示例中,post消息的正文还包括请求描述符对象,以识别通知。在示例中,请求描述符对象包括请求标识,优先级和媒体处理任务的任务标识。
97.图11示出了通知描述符中的参数表,以及参数的相应类型,图12-b示出了根据本公开一些实施例的通知描述符模式的示例。注意,系统事件包括属于媒体处理系统的事件,并且可以由云以与功能的事件相同的格式提供。还需要注意,系统变量包括属于媒体处理系统的变量,并且可以由云以与功能的变量相同的格式提供。在一些实施例中,(功能)变量可以包含在第一变量描述符对象中,并且,系统变量可以包含在第二变量描述符对象中。(功能)事件可以包含在第一事件描述符对象中,并且,系统事件可以包含在第二事件描述符对象中。
98.根据本公开的另一个方面,监控是实体请求信息和接收所请求的信息的行为。在一些实施例中,可根据请求进行监控。在一些示例中,监控实体(执行监控的实体)向被监控实体(被监控的实体)发送监控更新请求。该监控更新请求包括根据监控描述符定义的第一监控描述符对象。该第一监控描述符对象可以指定,例如,所需变量和事件的列表。响应于监控更新请求,被监控实体向监控实体发送带有第二监控描述符对象的监控报告,该第二
监控描述符对象携带所请求变量的值,以及已发生的期望事件的事件子集。
99.在媒体处理系统(100)中,监控实体可以是nbmp源(101)或工作流管理器(103)。被监控实体可以是工作流管理器(103)或媒体处理任务。
100.在示例中,工作流管理器(103)可以通过任务api向媒体处理任务(比如,mpe(113)执行的任务1)发送监控更新请求。工作流管理器(103)可以在监控更新请求中的第一监控描述符对象中指定所需的变量和事件。响应于该监控更新请求,媒体处理任务可以向工作流管理器(103)发送监控报告。该监控报告包括第二监控描述符对象,该第二监控描述符对象携带将要报告的变量和事件的信息。
101.在另一示例中,nbmp源(101)可以通过工作流api向工作流管理器(103)发送监控更新请求。nbmp源(101)可以在该监控更新请求的第一监控描述符对象中指定所需的变量和事件。响应于所述监控更新请求,工作流管理器(103)可以生成监控报告,并将监控报告发送到nbmp源(101)。监控报告包括第二监控描述符对象,该第二监控描述符对象携带将报告的变量和事件信息。
102.图13示出了监控描述符中的参数表以及参数的相应类型,并且,图14示出了根据本公开一些实施例的监控描述符模式的示例。注意,系统事件包括属于媒体处理系统的事件,并且该事件可以由云以与功能的事件相同的格式提供。还需要注意的是,系统变量包括属于媒体处理系统的变量,并且,该变量可由云以与功能的变量相同的格式提供。在一些实施例中,(功能)变量可以包含在第一变量描述符对象中,并且系统变量可以包含在第二变量描述符对象中。(功能)事件可以包含在第一事件描述符对象中,并且系统事件可以包含在第二事件描述符对象中。
103.在一些实施例中,http/1.1用作协议,并且post方法用于在post消息中发送监控报告。例如,post消息的正文(body)包括监控描述符对象。在一些示例中,post消息的正文(body)还包括请求描述符对象,以识别监控报告。
104.图15示出了根据本公开实施例的概述过程(1500)的流程图。在示例中,过程(1500)在云端执行,例如,媒体处理系统(100)等。在一些实施例中,过程(1500)在软件指令中实现。因此,当处理电路执行该软件指令时,该处理电路执行过程(1500)。该过程从(s1501)开始,并进行到(s1510)。
105.在(s1510),接收请求,其中,该请求包括与变量相关联的第一特征。与变量相关联的第一特征可以完全描述变量。例如,第一特征包括变量的定义、变量的单位、变量的格式、变量的通用标识符等。可以基于第一特征理解该变量,而无需交叉引用第一特征之外的其他文本。在一些实施例中,第一特征是第一变量描述符对象的一部分。第一变量描述符对象包括分别与变量相关联的对象数组。变量可以是功能变量或系统变量。该请求还可以包括第一事件描述符对象,该第一事件描述符对象包括分别与事件相关联的对象数组。事件可以是功能事件或系统事件。
106.在示例中,请求从nbmp源(101)发送到工作流管理器(103)。在另一示例中,请求从工作流管理器(103)发送到媒体处理任务。
107.在(s1520),生成消息。该消息包括变量的第一特征,以及变量的更新值。
108.在实施例中,该请求包括第一报告描述符对象,以请求定期报告。第一报告描述符对象可以包括与变量相关联的第一变量描述符对象,与事件相关联的第一事件描述符对
象,以及报告间隔。基于第一报告描述符对象,根据报告间隔定期生成消息。该消息可以包括第二报告描述符对象。例如,第二报告描述符对象包括与第一变量描述符对象类似的第二变量描述符对象,其中,第一变量描述符对象具有变量的更新值。消息中的第二报告描述符对象还包括第二事件描述符对象,其中,该第二事件描述符对象具有基于事件发生的事件子集。
109.在另一个实施例中,该请求包括第一通知描述符对象,以请求由事件发生触发的通知报告。第一通知描述符对象可以包括与变量相关联的第一变量描述符对象,以及与事件相关联的第一事件描述符对象。然后,响应于至少一个订阅事件的发生,生成消息。该消息包括与第一通知描述符对象类似的第二通知描述符对象。例如,第二通知描述符对象包括与第一变量描述符对象类似的第二变量描述符对象,但是该第二变量描述符对象具有更新的变量值。第二通知描述符对象还包括第二事件描述符对象,该第二事件描述符对象具有订阅事件的子集。
110.在另一实施例中,该请求包括第一监控描述符对象,以请求监控报告。该第一监控描述符对象可以包括与变量相关的第一变量描述符对象,以及与事件相关联的第一事件描述符对象。然后,响应于该请求,生成该消息。该消息包括与第一监控描述符对象类似的第二监控描述符对象。例如,第二监控描述符对象包括与第一变量描述符对象类似的第二变量描述符对象,但是该第二变量描述符对象具有变量的更新值。第二监控描述符对象还包括具有事件子集的第二事件描述符对象。
111.在(s1530),将消息发送到接收者,该过程进行到s1599并终止。
112.在定期报告的示例中,第一和第二报告描述符对象包括目的第(比如,url),并且,并将消息发送到目的地。
113.在通知报告的示例中,第一和第二通知描述符对象包括目的地(例如,url),并且将该消息发送到目的地。
114.在监控报告的示例中,将消息发送到请求来自的实体。
115.可以适当的调整过程(1500)。可以修改,和/或,省略过程(1500)中的一个或多个步骤。可以添加额外的一个或多个步骤。可以使用任何合适的实施顺序。
116.上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。
117.本公开中的方法和实施例可以单独使用或以任意顺序组合使用。此外,每个方法(或实施例)、每个功能或任务可由处理电路(例如,一个或多个处理器、或一个或多个集成电路)实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序。
118.上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图16示出了计算机系统(1600),其适于实现所公开主题的某些实施例。
119.所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由一个或多个计算机中央处理单元(cpu),图形处理单元(gpu)等直接执行或通过译码、微代码等方式执行。
120.所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板
电脑、服务器、智能手机、游戏设备、物联网设备等。
121.图16所示的用于计算机系统(1600)的组件本质上是示例性的,并不用于对实现本技术实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机系统(1600)的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。
122.计算机系统(1600)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出),对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
123.人机界面输入设备可包括以下中的一个或多个(仅绘出其中一个):键盘(1601)、鼠标(1602)、触控板(1603)、触摸屏(1610)、数据手套(未示出)、操纵杆(1605)、麦克风(1606)、扫描仪(1607)、照相机(1608)。
124.计算机系统(1600)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏(1610)、数据手套(未示出)或操纵杆(1605)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器(1609)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕(1610),其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。
125.计算机系统(1600)还可以包括人可访问的存储设备及其相关介质,如包括具有cd/dvd的高密度只读/可重写式光盘(cd/dvd rom/rw)(1620)或类似介质(1621)的光学介质、拇指驱动器(1622)、可移动硬盘驱动器或固体状态驱动器(1623),诸如磁带和软盘(未示出)的传统磁介质,诸如安全软件保护器(未示出)等的基于rom/asic/pld的专用设备,等等。
126.本领域技术人员还应当理解,结合所公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
127.计算机系统(1600)还可以包括通往一个或多个通信网络的接口。例如,网络可以是无线的、有线的、光学的。网络还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。网络还包括以太网、无线局域网、蜂窝网络(gsm、3g、4g、5g、lte等)等局域网、电视有线或无线广域数字网络(包括有线电视、卫星电视、和地面广播电视)、车载和工业网络(包括canbus)等等。某些网络通常需要外部网络接口适配器,用于连接到某些通用数据端口或外围总线(1649)(例如,计算机系统(1600)的usb端口);其它系统通常通过连接到如下所述的系统总线集成到计算机系统(1600)的核心(例如,以太网接口集成到pc计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络中的任何一个,计算机系统(1600)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如can总线到某些can总线设备),或双向的,例如
通过局域或广域数字网络到其它计算机系统。上述的每个网络和网络接口可使用某些协议和协议栈。
128.上述的人机界面设备、人可访问的存储设备以及网络接口可以连接到计算机系统(1600)的核心(1640)。
129.核心(1640)可包括一个或多个中央处理单元(cpu)(1641)、图形处理单元(gpu)(1642)、以现场可编程门阵列(fpga)(1643)形式的专用可编程处理单元、用于特定任务的硬件加速器(1644)等。这些设备以及只读存储器(rom)(1645)、随机存取存储器(1646)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘等)(1647)等可通过系统总线(1648)进行连接。在某些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(1648),以便可通过额外的中央处理单元、图形处理单元等进行扩展。外围装置可直接附接到核心的系统总线(1648),或通过外围总线(1649)进行连接。外围总线的体系结构包括外部控制器接口pci、通用串行总线usb等。
130.cpu(1641)、gpu(1642)、fpga(1643)和加速器(1644)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在rom(1645)或ram(1646)中。过渡数据也可以存储在ram(1646)中,而永久数据可以存储在例如内部大容量存储器(1647)中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与一个或多个cpu(1641)、gpu(1642)、大容量存储器(1647)、rom(1645)、ram(1646)等紧密关联。
131.所述计算机可读介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本技术的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
132.作为实施例而非限制,具有体系结构(1600)的计算机系统,特别是核心(1640),可以作为处理器(包括cpu、gpu、fpga、加速器等)提供执行包含在一个或多个有形的计算机可读介质中的软件的功能。这种计算机可读介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心(1640)的特定存储器,例如核心内部大容量存储器(1647)或rom(1645)。实现本技术的各种实施例的软件可以存储在这种设备中并且由核心(1640)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(1640)特别是其中的处理器(包括cpu、gpu、fpga等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在ram(1646)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器(1644))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(ic)),包含执行逻辑的电路,或两者兼备。本技术包括任何合适的硬件和软件组合。
133.虽然本技术已对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本技术的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本技术的原则,因此属于本技术的精神和范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献