用于步进工作流的方法和装置制造方法及图纸

技术编号:33362639 阅读:9 留言:0更新日期:2022-05-11 22:18
本公开的各方面提供了被配置为接收工作流的工作流信息的处理电路的方法和装置。该处理电路基于工作流信息生成工作流。所述工作流包括第一缓冲任务和多个处理任务。多个处理任务包括第一处理任务和第二处理任务。使第一处理任务进入运行状态,其中在所述运行状态下,处理输入数据的子集并将所述子集作为第一已处理的子集数据输出到第一缓冲任务。基于存储在所述第一缓冲任务中的所述第一已处理的子集数据的量等于第一阈值,使所述第一处理任务从运行状态转变到非运行状态。随后,使第二处理任务进入运行状态,其中在运行状态下对第一缓冲任务中的第一已处理的子集数据进行处理。缓冲任务中的第一已处理的子集数据进行处理。缓冲任务中的第一已处理的子集数据进行处理。

【技术实现步骤摘要】
【国外来华专利技术】用于步进工作流的方法和装置
[0001]引用并入
[0002]本申请要求于2020年9月17日提交的美国专利申请第17/024,193号“用于步进工作流的方法和装置(Method and Apparatus for a Step

Enabled Workflow)”的优先权,其要求于2019年9月28日提交的美国临时申请第62/907,627号“用于云计算的步进无状态工作流(Step

Enabled Stateless Workflows for Cloud Computing)”和于2019年9月28日提交的美国临时申请第62/907,625号“用于云端分段处理的索引FIFO功能(Indexed FIFO Functions for Segmented Processing in Cloud)”的优先权。这些先前申请的全部公开内容通过引用整体并入本文。


[0003]本申请描述总体上涉及数据处理的实施例,该数据处理包括一个或多个工作流的处理。

技术介绍

[0004]本文所提供的背景描述旨在整体呈现本申请的背景。在
技术介绍
部分以及本说明书的各个方面中所描述的目前已署名的专利技术人的工作所进行的程度,并不表明其在本申请提交时作为现有技术,且从未明示或暗示其被承认为本申请的现有技术。
[0005]工作流可以用于数据处理,以处理数据处理系统中的数据,如媒体数据。在一些例子中,工作流包括大量的处理任务。当并行运行大量的任务时,数据处理系统需要投入大量的资源。/>
技术实现思路

[0006]本公开的各方面,提供一种用于处理一个或多个工作流的方法和装置。所述装置包括处理电路。处理电路被配置为接收工作流的工作流信息。处理电路基于所述工作流信息生成所述工作流,以处理输入数据。所述工作流包括多个处理任务和一个第一缓冲任务。所述多个处理任务包括第一处理任务和第二处理任务。处理电路使所述第一处理任务进入运行状态,其中在所述运行状态下,由所述第一处理任务处理所述输入数据的子集,并将所述子集作为第一已处理的子集数据输出到所述第一缓冲任务。处理电路基于存储在所述第一缓冲任务中的所述第一已处理的子集数据的量等于第一阈值,使所述第一处理任务从所述运行状态转变到非运行状态。在所述第一处理任务转变到所述非运行状态之后,处理电路使所述第二处理任务进入运行状态,其中在所述运行状态下,由所述第二处理任务对存储在所述第一缓冲任务中的所述第一已处理的子集数据进行处理。
[0007]在一个实施例中,所述第二处理任务被配置为在所述运行状态下将已处理的所述第一已处理的子集数据作为第二已处理的子集数据,输出到第二缓冲任务。处理电路使所述第二处理任务基于以下之一从所述运行状态转变到非运行状态:(i)存储在所述第二缓冲任务中的所述第二已处理的子集数据的量等于第二阈值,以及(ii)将存储在所述第一缓
冲任务中的所述第一已处理的子集数据的所述量提供给所述第二处理任务。
[0008]在一个实施例中,所述多个处理任务配置有相应的任务段持续时间(TSD)。所述多个处理任务中的每一个被配置为对数量等于所述相应的TSD的数据进行处理,所述处理独立于所述TSD之外的数据。处理电路将工作流段持续时间(WSD)确定为所述TSD的最小公倍数。所述第一阈值基于(i)所述TSD、(ii)所述WSD以及(iii)所述WSD和参数S中的一者,所述参数S指示所述第一处理任务被配置为进行连续运行的步骤数。
[0009]在一个实施例中,所述第一缓冲任务是配置有iFIFO缓冲器的索引先进先出(iFIFO)任务。所述iFIFO任务被配置为存储所述输入数据的缓冲段。每个缓冲段用开始时间、持续时间和长度进行索引。iFIFO缓冲器大小基于所述长度以及所述iFIFO缓冲器中的缓冲段的数量。所述iFIFO任务被配置为生成事件,所述事件指示存储在所述iFIFO任务中的所述第一已处理的子集数据的量等于所述第一阈值。所述iFIFO任务被配置为生成另一事件,所述另一事件指示存储在所述iFIFO任务中的所述第一已处理的子集数据的量被提供给所述第二处理任务。
[0010]在一个实施例中,所述第一缓冲任务是配置有多个iFIFO缓冲器的多索引先进先出(MiFIFO)任务。所述MiFIFO任务被配置为:为所述第一处理任务提供一个或多个输出。所述多个iFIFO缓冲器中的每一个被配置为存储所述输入数据的缓冲段。所述缓冲段来自所述一个或多个输出中的相应一个。每个缓冲段用开始时间、持续时间和长度进行索引。每个iFIFO缓冲器的缓冲大小基于所述长度以及相应的所述iFIFO缓冲器中的缓冲段的数量。所述MiFIFO任务被配置为生成事件,所述事件指示存储在所述MiFIFO任务中的所述第一已处理子集数据量等于所述第一阈值。所述MiFIFO任务被配置为生成另一事件,所述另一事件指示存储在所述MiFIFO任务中的所述第一已处理的子集数据的量被提供给所述第二处理任务。
[0011]在一个实施例中,当所述第一处理任务处于所述非运行状态时,不存储所述第一处理任务的状态信息,所述非运行状态包括空闲状态和销毁状态之一。
[0012]在一个实施例中,所述工作流包括多个缓冲任务,所述多个缓冲任务包括所述iFIFO任务。所述多个处理任务的每个输入来自所述输入数据和所述多个缓冲任务中的一个或多个缓冲任务之一。在任何时间点,仅允许所述多个处理任务中的一个处于所述运行状态。在一个实施例中,所述输入数据包括所述输入数据的子集和所述输入数据的另一子集。所述工作流包括多个缓冲任务。所述多个缓冲任务包括所述iFIFO任务。所述多个处理任务的每个输入来自所述输入数据和所述多个缓冲任务中的一个或多个缓冲任务之一。处理电路通过所述多个处理任务顺序地处理所述输入数据的所述子集。在所述多个处理任务处理所述输入数据的所述子集之后,处理电路通过所述多个处理任务顺序地处理所述输入数据的所述另一子集。所述多个处理任务中的其余处理任务处于非运行状态。在任何时间点,仅允许所述多个处理任务之一处于所述运行状态。
[0013]在一个实施例中,所述工作流包括多个缓冲任务。所述多个缓冲任务包括所述MiFIFO任务。所述多个处理任务的每个输入来自所述输入数据和所述多个缓冲任务的一个或多个中的一者。在任何时间点,仅允许所述多个处理任务中的一个处于所述运行状态。
[0014]在一个实施例中,所述输入数据包括所述输入数据的所述子集和所述输入数据的另一子集。所述工作流包括多个缓冲任务,所述多个缓冲任务包括所述MiFIFO任务。所述多
个处理任务的每个输入来自所述输入数据和所述多个缓冲任务的一个或多个中的一者。处理电路通过所述多个处理任务,按顺序处理所述输入数据的所述子集。在由所述多个处理任务处理所述输入数据的所述子集之后,处理电路通过所述多个处理任务,按顺序处理所述输入数据的所述另一子集,所述多个处理任务中的其余处理任务处于非运行状态。在任何时间点,仅允许所述多个处理任务中的一个处于所述运行状态。
[001本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于处理工作流的方法,其特征在于,所述方法包括:由处理电路接收所述工作流的工作流信息;基于所述工作流信息生成所述工作流,以处理输入数据,所述工作流包括多个处理任务和一个第一缓冲任务,所述多个处理任务包括第一处理任务和第二处理任务;使所述第一处理任务进入运行状态,其中在所述运行状态下,由所述第一处理任务处理所述输入数据的子集,并将所述子集作为第一已处理的子集数据输出到所述第一缓冲任务;基于存储在所述第一缓冲任务中的所述第一已处理的子集数据的量等于第一阈值,使所述第一处理任务从所述运行状态转变到非运行状态;以及在所述第一处理任务转变到所述非运行状态之后,使所述第二处理任务进入运行状态,其中在所述运行状态下,由所述第二处理任务对存储在所述第一缓冲任务中的所述第一已处理的子集数据进行处理。2.根据权利要求1所述的方法,其中,所述第二处理任务被配置为在所述运行状态下将已处理的所述第一已处理的子集数据作为第二已处理的子集数据,输出到第二缓冲任务;并且所述方法进一步包括:使所述第二处理任务基于以下之一从所述运行状态转变到非运行状态:(i)存储在所述第二缓冲任务中的所述第二已处理的子集数据的量等于第二阈值,以及(ii)存储在所述第一缓冲任务中的所述第一已处理的子集数据的所述量被提供给所述第二处理任务。3.根据权利要求1所述的方法,其中,所述多个处理任务配置有相应的任务段持续时间(TSD);所述多个处理任务中的每一个被配置为对数量等于所述相应的TSD的数据进行处理,所述处理独立于所述TSD之外的数据;并且所述方法进一步包括将工作流段持续时间(WSD)确定为所述TSD的最小公倍数,所述第一阈值基于(i)所述TSD、(ii)所述WSD以及(iii)所述WSD和参数S中的一者,所述参数S指示所述第一处理任务被配置为进行连续运行的步骤数。4.根据权利要求3所述的方法,其中,所述第一缓冲任务是配置有iFIFO缓冲器的索引先进先出(iFIFO)任务;并且所述iFIFO任务被配置为:存储所述输入数据的缓冲段,每个缓冲段用开始时间、持续时间和长度进行索引,iFIFO缓冲器大小基于所述长度以及所述iFIFO缓冲器中的缓冲段的数量;生成事件,所述事件指示存储在所述iFIFO任务中的所述第一已处理的子集数据的量等于所述第一阈值;以及生成另一事件,所述另一事件指示存储在所述iFIFO任务中的所述第一已处理的子集数据的量被提供给所述第二处理任务。5.根据权利要求3所述的方法,其中,所述第一缓冲任务是配置有多个iFIFO缓冲器的多索引先进先出(MiFIFO)任务;并且所述MiFIFO任务被配置为:为所述第一处理任务提供一个或多个输出,所述多个iFIFO缓冲器中的每一个被配置
为存储所述输入数据的缓冲段,所述缓冲段来自所述一个或多个输出中的相应一个,每个缓冲段用开始时间、持续时间和长度进行索引,每个iFIFO缓冲器的缓冲大小基于所述长度以及相应的所述iFIFO缓冲器中的缓冲段的数量;生成事件,所述事件指示存储在所述MiFIFO任务中的所述第一已处理的子集数据的量等于所述第一阈值;以及生成另一事件,所述另一事件指示存储在所述MiFIFO任务中的所述第一已处理的子集数据的量被提供给所述第二处理任务。6.根据权利要求1所述的方法,其中,当所述第一处理任务处于所述非运行状态时,不存储所述第一处理任务的状态信息,所述非运行状态包括空闲状态和销毁状态之一。7.根据权利要求4所述的方法,其中,所述工作流包括多个缓冲任务,所述多个缓冲任务包括所述iFIFO任务,所述多个处理任务的每个输入来自所述输入数据和所述多个缓冲任务中的一个或多个缓冲任务之一,并且在任何时间点,仅允许所述多个处理任务中的一个处于所述运行状态。8.根据权利要求4所述的方法,其中,所述输入数据包括所述输入数据的子集和所述输入数据的另一子集;所述工作流包括多个缓冲任务,所述多个缓冲任务包括所述iFIFO任务;所述多个处理任务的每个输入来自所述输入数据和所述多个缓冲任务中的一个或多个缓冲任务之一;通过所述多个处理任务顺序地处理所述输入数据的所述子集;在所述多个处理任务处理所述输入数据的所述子集之后,所述多个处理任务顺序地处理所述输入数据的所述另一子集,所述多个处理任务中的其余处理任务处于非运行状态;以及在任何时间点,仅允许所述多个处理任务之一处于所述运行状态。9.根据权利要求5所述的方法,其中,所述工作流包括多个缓冲任务,所述多个缓冲任务包括所述MiFIFO任务,所述多个处理任务的每个输入来自所述输入数据和所述多个缓冲任务的一个或多个中的一者,并且在任何时间点,仅允许所述多个处理任务中的一个处于所述运行状态。10.根据权利要求5所述的方法,其中,所述输入数据包括所述输入数据的所述子集和所述输入数据的另一子集;所述工作流包括多个缓冲任务,所述多个缓冲任务包括所述MiFIFO任务;所述多个处理任务的每个输入来自所述输入数据和所述多个缓冲任务的一个或多个中的一者;由所述多个处理任务,按顺序处理所述输入数据的所述子集;在由所述多个处理任务处理所述输入数据的所述子集之后,由所述多个处理任务,按顺序处理所述输入数据的所述另一子集,所述多个处理任务中的其余处理任务处于非运行状态;并且在任何时间点,仅允许所述多个处理任务中的一个处于所述运行状态。
11.一种用于处理多个工作流的方法,其特征在于,所述方法包括:由处理电路接收所述多个工作流的工作流信息;基于所述工作流信息生成所述多个工作流以处理输入数据,所述多个工作流中的至少一个包括多个处理任务,所述多个工作流包括第一工作流和第二工作流;使所述第一工作流进入运行状态,其中在...

【专利技术属性】
技术研发人员:伊拉吉
申请(专利权)人:腾讯美国有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1