CN112527474A - 任务处理方法及装置、设备、可读介质、计算机程序产品 - Google Patents
任务处理方法及装置、设备、可读介质、计算机程序产品 Download PDFInfo
- Publication number
- CN112527474A CN112527474A CN202011457600.2A CN202011457600A CN112527474A CN 112527474 A CN112527474 A CN 112527474A CN 202011457600 A CN202011457600 A CN 202011457600A CN 112527474 A CN112527474 A CN 112527474A
- Authority
- CN
- China
- Prior art keywords
- task
- tasks
- execution
- preset
- waiting
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种任务处理方法,涉及计算机技术领域。具体实现方案为:根据获取的预设任务间的依赖关系,确定预设的每个任务在执行完成的情况下将触发的任务和每个任务在执行之前所需的等待任务数;针对执行完成的当前任务将触发的任务,更新等待任务数;获取更新后的等待任务数为零的任务,作为具备执行条件的任务,以执行具备执行条件的任务。本公开还提供了一种装置、设备、可读介质、计算机程序产品。根据本公开的任务处理方法,可以降低任务执行逻辑实现过程的复杂度。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种任务处理方法及装置、设备、可读介质、计算机程序产品。
背景技术
任务协作是指根据任务之间的依赖关系执行任务。在不同任务之间,当前任务是否执行,由当前任务所依赖的任务的执行状态来确定。例如,B任务的执行依赖A任务的完成,C任务的执行又依赖于B任务的完成和D任务的完成。
随着系统中任务的增多,任务间依赖关系的设计愈发复杂,增加了任务执行逻辑实现过程的复杂度。
发明内容
提供了一种任务处理方法及装置、设备、可读介质、计算机程序产品。
根据第一方面,提供了一种任务处理方法,包括:根据获取的预设任务间的依赖关系,确定预设的每个任务在执行完成的情况下将触发的任务和每个任务在执行之前所需的等待任务数;针对执行完成的当前任务将触发的任务,更新等待任务数;获取更新后的等待任务数为零的任务,作为具备执行条件的任务,以执行具备执行条件的任务。
根据第二方面,提供了一种任务处理装置,包括:等待任务数确定模块,用于根据获取的预设任务间的依赖关系,确定预设的每个任务在执行完成的情况下将触发的任务和每个任务在执行之前所需的等待任务数;等待任务数更新模块,用于针对执行完成的当前任务将触发的任务,更新等待任务数;执行任务确定模块,用于获取更新后的等待任务数为零的任务,作为具备执行条件的任务,以执行具备执行条件的任务。
根据第三方面,提供了一种电子设备,其包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述任意一种任务处理方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行上述任意一种任务处理方法。
根据第五方面,提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述任意一种任务处理方法。
根据本公开的技术,可以根据任务间的依赖关系,确定每个任务在执行完成的情况下将触发的任务和每个任务在执行之前所需的等待任务数,当一个任务执行完成,确定该任务将触发的任务和每个将触发的任务的等待任务数,更新每个将触发的任务的等待任务数,若将触发的任务的更新的等待任务数为零,则执行该将触发的任务。相较于按照任务间的依赖关系,每当一个任务执行完成,需要逐个检查该任务将触发的任务所依赖的所有任务是否完成,能够简化任务触发的执行逻辑,实现更加灵活的进行任务触发,提高执行效率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是本公开实施例提供的任务处理系统的场景示意图;
图2是本公开实施例提供的一种任务处理方法的流程图;
图3是本公开一实施例的任务的图结构;
图4是本公开另一实施例的任务的图结构;
图5a是任务A和任务B在同一线程中的任务执行情况;
图5b是任务A和任务B进行线程合并后的任务执行情况;
图6是本公开实施例的任务处理装置的结构示意图;
图7是用来实现本公开实施例的任务处理方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。
图1是本公开实施例提供的任务处理的场景示意图。如图1所示,任务处理系统可以包括:业务应用10、应用开发接口(Application Programming Interface,API)20和任务处理系统30。
在一个实施例中,任务处理系统30通过应用开发接口20与指定的业务应用10耦合。任务处理系统30可以用于定义业务应用10中任务间的依赖关系,并执行本公开实施例中的任务处理方法,以对业务应用10中的任务进行调度。
图2是本公开实施例提供的一种任务处理方法的流程图。
第一方面,参照图2,本公开实施例提供一种任务处理方法,包括如下步骤。
S110,根据获取的预设任务间的依赖关系,确定预设的每个任务在执行完成的情况下将触发的任务和每个任务在执行之前所需的等待任务数。
S120,针对执行完成的当前任务将触发的任务,更新等待任务数。
S130,获取更新后的等待任务数为零的任务,作为具备执行条件的任务,以执行具备执行条件的任务。
根据本公开实施例的任务处理方法,可以根据任务间的依赖关系,确定每个任务在执行完成的情况下将触发的任务和每个任务在执行之前所需的等待任务数,当一个任务执行完成,确定该任务将触发的任务和每个将触发的任务的等待任务数,更新每个将触发的任务的等待任务数,若将触发的任务的更新的等待任务数为零,则执行该将触发的任务。
相较于按照任务间的依赖关系的处理方法中,每当一个任务执行完成,需要逐个检查该任务将触发的任务所依赖的所有任务是否完成,能够简化任务触发的执行逻辑,实现更加灵活的进行任务触发,提高执行效率。
在一些实施例中,步骤S110具体可以包括如下步骤。
S11,根据获取的预设任务间的依赖关系,确定预先创建的每个任务所依赖的任务。
S12,根据每个任务所依赖的任务,构建预设任务的有向图结构,有向图结构中的每个节点用于指示一个任务,节点之间的有向边用于指示任务间的依赖关系和执行先后顺序。
S13,按照任务间的依赖关系和执行先后顺序,确定每个任务的执行完成将触发的任务,并将每个任务所依赖的任务的数量,作为执行每个任务之前所需的等待任务数。
在该实施例中,可以通过预设的任务间的依赖关系,构建有向图结构的任务信息,从而实现任务间的依赖关系和执行先后顺序的结构化数据处理,得到任务间的依赖关系的图结构数据,方便后续能够快速高效地在图结构的结构化数据中获取每个任务所依赖的任务、执行每个任务之前所需的等待的任务和任务执行先后顺序,提高了任务信息的获取效率,并可以保证任务数据的一致性。
下面通过图3,描述根据任务间依赖关系生成图结构数据的具体过程。
图3是本公开一实施例的任务的图结构。在图3中,包含5个任务节点,任务A、任务B、任务C、任务D和任务E。
应该理解,图3所示图结构中的任务节点的数量是示意性的,根据实际应用需要,可以进行灵活调整。
在一个实施例中,以图3中的上述5个任务节点为例,根据任务间依赖关系生成图结构数据的具体过程可以包括如下步骤。
S201,可以通过应用开发接口,通过任务执行器(TaskExecute)创建任务,任务执行器例如可以是一种具有处理能力的处理单元或功能单元。
作为示例,通过下述任务创建流程得到所创建的任务和任务间的依赖关系。
taskA:=taskExecute.CreatTask("TaskA",&TaskA{});
taskB:=taskExecute.CreatTask("TaskB",&TaskB{});
taskC:=taskExecute.CreatTask("taskC",&TaskC{});
taskD:=taskExecute.CreatTask("taskD",&TaskD{});
taskE:=taskExecute.CreatTask("taskE",&TaskE{});
taskB.TaskDepend(taskA);
taskB.TaskDepend(taskC);
taskD.TaskDepend(taskB);
taskE.TaskDepend(taskD)。
通过上述任务创建流程得到所创建的任务A、任务B、任务C、任务D和任务E,并得到任务间的依赖关系:taskB依赖taskA、taskB依赖taskC、taskD依赖taskB、taskE依赖taskD。
S202,根据任务间的依赖关系生成图结构。
在该步骤中,根据任务间的依赖关系构建各个任务节点,以及根据任务间依赖关系,建立各个任务节点之间的连接关系,得到各个任务节点的图结构。
如图3所示,根(Root)节点为各个任务开始执行的节点。
任务A和任务C不依赖于任何任务,则任务节点A和任务节点C可以作为Root节点的子节点。
任务B依赖任务A且任务B依赖任务C,则任务节点B可以同时作为任务节点A和任务节点C的子节点。
任务D依赖任务B,则任务节点D可以作为任务节点B的子节点。
任务E依赖任务D,则任务节点E可以任务节点D的子节点。
在图3中,两个任务节点之间的有向边标识该两个任务节点之间的依赖关系。例如,任务节点B和任务节点A之间的有向边的方向是:由任务节点B指向任务节点A,则表示任务节点B依赖任务节点A。
通过构建任务的有向图结构,方便后续能够快速高效地读取每个任务所依赖的任务、执行每个任务之前所需的等待的任务和任务执行先后顺序,提高了任务信息的获取效率,保证任务数据的一致性。
在一些实施例中,在预设任务的有向图结构中,第一节点用于指示第一任务,第一节点的节点信息包括第一节点的依赖节点和通知节点;依赖节点用于指示第一任务所依赖的任务,通知节点用于指示第一任务完成后将触发的继续执行的任务。
其中,第一节点是预设任务的有向图结构中的任一节点。
在该实施例中,通过有向图结构中的节点维护每个任务节点所依赖的任务和完成后将触发的继续执行的任务,用于后续的任务执行处理中高效的获取依赖关系和等待任务数。
继续参考图3,以任务B为例,在预设任务的有向图结构中,任务节点B用于指示任务B,由于任务taskB依赖taskA,taskB依赖taskC,则任务节点B的节点信息中,包括依赖节点和通知节点,依赖节点用于任务节点B依赖哪些节点,通知节点表示任务节点B完成后要触发哪些节点继续执行。
在一个实施例中,依赖节点和通知节点可以表示为集合或列表的形式。
以列表为例,由于任务B依赖任务A且任务B依赖任务C,则任务节点B的节点信息中,包括依赖列表waitlist,此时,任务节点B的waitlist的内容为[任务A,任务C];由于任务D依赖任务B,任务节点B的节点信息中,包括通知列表notifylist,此时,任务节点B的notifylist的内容为[任务D]。
在一些实施例中,执行完成的当前任务的数量大于或等于1;步骤S120具体可以包括如下步骤。
S21,依次获取执行完成的每个当前任务作为第一任务,将每次获取的第一任务在执行完成的情况下将触发的任务作为第二任务。
S22,对第二任务在执行之前所需的等待任务数减一,得到第二任务的新的等待任务数,以对执行完成的每个当前任务将触发的任务进行等待任务数的更新。
示例性地,任务节点A的notifylist中包括任务节点B,任务节点C的notifylist中包括任务节点B。任务节点B的waitlist的内容为[任务A,任务C],任务节点B的notifylist包括任务节点D。
此时,任务节点B的等待任务数waitnum等于2。
当任务A执行完成,通过遍历的方式获取任务A的每个通知节点,对任务A的每个通知节点的waitnum进行更新。
例如,针对任务节点A的notifylist中的任务节点B,将任务B节点的waitnum减1,此时,更新后的waitnum为1;针对任务节点C的notifylist中的任务节点B,再次将任务B节点的waitnum减1,得到更新后的waitnum为0。当waitnum为0,说明任务B已经具备执行条件,此时可以运行任务B。
在该实施例中,根据任务间的依赖关系,当一个任务执行完成,确定该任务将触发的任务和每个将触发的任务的等待任务数,更新每个将触发的任务的等待任务数,若将触发的任务的更新的等待任务数为零,则执行该将触发的任务。相较于按照任务间的依赖关系,每当一个任务执行完成,需要逐个检查该任务将触发的任务所依赖的所有任务是否完成,能够简化任务触发的执行逻辑,尤其在预定任务的图结构十分复杂的情况下,这种任务执行机制安全高效,处理方式更加灵活。
在本公开实施例中,若预定任务间的依赖关系形成环,例如任务A依赖任务B,任务B依赖任务C,任务C依赖任务A,则任务A、任务B和任务C成环,
为了在预定任务的图结构信息表示的基于任务依赖关系的任务执行过程中避免形成环,形成环后,任务将进入死锁状态,为了避免预设的任务间依赖关系成环,提供一种判断任务是否有环的解决方案。
在一些实施例中,预设任务间的依赖关系是通过N条依赖信息表示的依赖关系,每条依赖信息用于指示预设的下游任务依赖预设的上游任务,N为大于或等于2的整数。
根据获取的预设任务间的依赖关系,本公开实施例的任务处理方法还包括如下步骤。
S31,获取第i条依赖信息,其中,i为大于或等于1且小于或等于N的整数。
S32,为第i条依赖信息中的下游任务生成第一索引数据,在第一索引数据中,第i条依赖信息中的上游任务的取值为预定值。
S33,获取第j条依赖信息,其中,j为大于或等于1且小于或等于N的整数,且j不等于i。
S34,在第j条依赖信息中的上游任务等于第i条依赖信息中的下游任务的情况下,判断第一索引数据取值为预定值的任务中,是否包含第j条依赖信息中的下游任务。
S35,在判定包含第j条依赖信息中的下游任务的情况下,确定预设任务间的依赖关系成环。
在该实施例中,作为示例,若任务D依赖任务B,则将任务D表示为下游任务,任务B表示为上游任务。
通过上述步骤S31-S35,可以基于任务间的依赖关系的多条依赖信息,生成任务节点的索引数据,针对每条依赖信息,被依赖的任务被置位为预定值,并根据每一条依赖信息传递和更新该索引数据,一旦发现索引数据中取值为预定值的任务,为新获取的一条依赖信息中的需要依赖其他任务的任务,则能够确定预设任务间的依赖关系成环。相较于通过遍历的方式判断是否存在任务死锁,该方案简单有效,且处理过程耗费较小的计算资源。
在一些实施例中,在第j条依赖信息中的上游任务等于第i条依赖信息中的下游任务,且,第一索引数据中取值为预定值的任务中,不包含第j条依赖信息中的下游任务的情况下,本公开实施例的任务处理方法还可以包括如下步骤。
S41,传递第一索引数据,并在第一索引数据中增加第一值,得到第j条依赖信息中的下游任务的索引数据;其中,在第一值中,第j条依赖信息中的上游任务的取值为预定值。
在该实施例中,通过第一索引数据的传递和对索引数据的更新,对于例如对于任务D依赖任务B,任务E依赖任务B这样依赖关系向下顺序传递的场景,可以快速将任务D和任务B的依赖关系,传递至任务E,任务E只需要在任务D的索引数据中增加用于表示任务E依赖任务B的索引数据,就可以对任务D和任务B的依赖关系进行继承,从而快速确定自身与预设任务间其他节点的依赖关系,节约计算资源和数据存储空间,处理效率高。
在一些实施例中,在第j条依赖信息中的下游任务等于第i条依赖信息中的下游任务的情况下,本公开实施例的任务处理方法还可以包括如下步骤。
S51,在第一索引数据中增加第二值,得到第i条依赖信息中的下游任务的新的第一索引数据;其中,在第二值中,第j条依赖信息中的上游任务的取值为预定值。
在该实施例中,对于例如对于任务D依赖任务B,且任务D依赖任务A这样依赖关系为同一任务依赖多个任务的场景,可以在已经生成的任务D的索引数据中,继续增加用于表示任务D依赖任务A的索引数据,而不需要针对任务D依赖任务A,重新建立索引数据,从而节约计算资源和数据存储空间,提高处理效率。
为了便于理解本公开实施例的任务锁的判断过程,下面结合图4,描述如何通过生成任务索引数据来进行任务间依赖关系是否成环,以避免任务执行过程中进行任务死锁状态。
图4是本公开另一实施例的任务的图结构。如图4所示,在该图结构中,任务B依赖任务A、任务B依赖任务C、任务D依赖任务B、任务E依赖任务D、任务B依赖任务E,则根据上述实施例描述的生成图结构的方式,得到任务A至任务E的图结构。
通过图4可知,若任务间的依赖关系成环,例如任务D依赖任务B、任务E依赖任务D、任务B依赖任务E,根据如结构信息执行任务会陷入无限的死锁等待,浪费系统资源,且极大地影响任务处理效率。
在本公开实施例中,索引数据可以是位图索引(Bitmap)数据。
参考图4,本公开实施例可以在一个任务第一次依赖某任务时,生成该任务的依赖bitmap数据。
例如:任务D依赖任务B,生成任务D的依赖bitmap。为了便于理解,通过下表1表示任务D的bitmap数据。
表1任务D的bitmap数据
A | B | C | D | E |
0 | 1 | 0 | 0 | 0 |
在表1中,A、B、C、D、E分别表示预设的各任务。由于任务D依赖任务B,则任务D的bitmap数据中,任务B对应的索引数据被设置为1,其他任务对应的索引数据被设置0。
应理解,索引数据中的预设值可以根据实际情况进行用户自定义,本公开实施例不做具体限定。
获取一条新的依赖信息,若任务E依赖任务D,此时,由于任务D的bitmap数据中,任务E对应的值不是1,表示任务D、任务B和任务E之间的依赖关系没有成环,则传递任务D的依赖bitmap至任务E,并加入新的依赖节点的索引数据,得到任务E的bitmap数据。通过下表2表示任务E的bitmap数据。
表2任务E的bitmap数据
A | B | C | D | E |
0 | 1 | 0 | 1 | 0 |
在表2中,根据传递过来的表1中的bitmap数据,根据任务E依赖任务D,在表1中的bitmap数据中,增加任务D的索引数据为1。
若继续获取一条新的依赖信息,若任务B依赖任务E,此时,由于任务E的bitmap数据中,任务B对应的值为1,说明任务E已经依赖任务B,发现成环。
在上述结合图4描述的通过生成任务索引数据来进行任务间依赖关系是否成环,能够高效地判定任务间的依赖关系是否成环,避免任务执行过程中进行任务死锁状态,提高任务执行系统的稳健性,并提高了判断过程的处理效率。
在本公开实施例中,任务执行通过会使用多个计算资源,例如,通过生成多个线程来进行任务执行,但是多个线程往往会降低系统的执行效率。
在一个实施例中,在执行具备执行条件的任务之后,本公开实施例的任务处理方法还可以包括如下步骤。
S61,对于预设任务中的每个执行完成的任务,分别获取任务开始时间和任务结束时间,得到每个执行完成的任务的执行时间范围。
S62,从每个执行完成的任务中,获取至少两个第一类型任务,并将获取的第一类型任务合并到同一执行容器中,以用于通过同一执行容器再次执行第一类型任务。
其中,每个第一类型任务为网络型请求任务,并且,任意两个第一类型任务的执行时间范围之间为包含关系。
在该实施例中,在预设任务设定的最初执行阶段,所有的任务都在同一个运行容器中执行,该运行容器可以是线程或协程,其中,一个线程可以包括多个协程。在任务开始执行后,收集每个任务的开始和结束时间。若任务是网络型请求任务例如请求打开网页等任务,且多个网络型请求任务是时间包含关系,则将这些任务合并到同一个执行器执行,以节约计算资源,提高线程等资源的复用率。
下面通过图5a和图5b,描述网络请求任务的线程合并过程,该方法同样适用于网络请求任务的协程合并过程,或所使用的其他计算资源下的合并处理流程。
图5a示出任务A和任务B在同一线程中的任务执行情况;图5b示出任务A和任务B进行线程合并后的任务执行情况。
在图5a中,任务A开始执行后,收集任务A的开始时间和结束时间;任务B开始执行后,收集任务B的开始时间和结束时间;可见,任务A的开始时间在任务B的开始时间之前,任务A的结束时间在任务B的结束时间之后,所以任务A的执行时间范围和任务B的执行时间范围是包含关系,即任务A的执行时间范围包含任务B的执行时间范围,若任务A和任务B均为网络型请求任务,则可以对任务A和任务B进行线程合并。
在图5b中,将任务A和任务B合并到一个执行器中,可以节省系统资源,并在再次执行任务A和/或任务B时,触发该执行器进行任务执行相应任务。
在一个实施例中,预设任务中包括计算密集型任务,在计算密集型任务的执行资源被占用的情况下,本公开实施例的任务处理方法还可以包括如下步骤。
S71,拆分计算密集型任务,得到计算密集型任务的每个拆分任务;S72,通过其他服务器中的执行资源执行每个拆分任务,以及将每个拆分任务作为网络型请求任务;其中,其他服务器与被占用的执行资源所属的服务器不同。
在该实施例中,当执行器的资源被占用,并且该执行器执行的任务是计算密集型任务例如实时数据分析等任务,则拆分该计算密集型任务到其他服务器执行,例如通过并将此任务退化成网络型请求,以保证任务的处理处理和系统的执行效率。
图6是本公开实施例的任务处理装置的结构示意图。
第二方面,参照图6,本公开实施例提供一种任务处理装置600,可以包括如下模块。
等待任务数确定模块610,用于根据获取的预设任务间的依赖关系,确定预设的每个任务在执行完成的情况下将触发的任务和每个任务在执行之前所需的等待任务数。
等待任务数更新模块620,用于针对执行完成的当前任务将触发的任务,更新等待任务数。
执行任务确定模块630,用于获取更新后的等待任务数为零的任务,作为具备执行条件的任务,以执行具备执行条件的任务。
在一个实施例中,等待任务数确定模块,具体可以用于:根据获取的预设任务间的依赖关系,确定预先创建的每个任务所依赖的任务;根据每个任务所依赖的任务,构建预设任务的有向图结构,有向图结构中的每个节点用于指示一个任务,节点之间的有向边用于指示任务间的依赖关系和执行先后顺序;按照任务间的依赖关系和执行先后顺序,确定每个任务的执行完成将触发的任务,并将每个任务所依赖的任务的数量,作为执行每个任务之前所需的等待任务数。
在一个实施例中,在预设任务的有向图结构中,第一节点用于指示第一任务,第一节点的节点信息包括第一节点的每个依赖节点和每个通知节点;依赖节点用于指示第一任务所依赖的任务,通知节点用于指示第一任务完成后将触发的继续执行的任务。
在一个实施例中,执行完成的当前任务的数量大于或等于1;等待任务数更新模块620具体可以用于:依次获取执行完成的每个当前任务作为第一任务,将每次获取的第一任务在执行完成的情况下将触发的任务作为第二任务;对第二任务在执行之前所需的等待任务数减一,得到第二任务的新的等待任务数,以对执行完成的每个当前任务将触发的任务进行等待任务数的更新。
根据本公开实施例的任务处理装置,可以根据任务间的依赖关系,确定每个任务在执行完成的情况下将触发的任务和每个任务在执行之前所需的等待任务数,当一个任务执行完成,确定该任务将触发的任务和每个将触发的任务的等待任务数,更新每个将触发的任务的等待任务数,若将触发的任务的更新的等待任务数为零,则执行该将触发的任务。相较于按照任务间的依赖关系,每当一个任务执行完成,需要逐个检查该任务将触发的任务所依赖的所有任务是否完成,能够简化任务触发的执行逻辑,实现更加灵活的进行任务触发,提高执行效率。
在一个实施例中,预设任务间的依赖关系是通过N条依赖信息表示的依赖关系,每条依赖信息用于指示预设的下游任务依赖预设的上游任务,N为大于或等于2的整数。
在该实施例中,任务处理装置600还包括:依赖关系成环判定模块,用于:根据获取的预设任务间的依赖关系,获取第i条依赖信息,其中,i为大于或等于1且小于或等于N的整数;为第i条依赖信息中的下游任务生成第一索引数据,在第一索引数据中,第i条依赖信息中的上游任务的取值为预定值;获取第j条依赖信息,其中,j为大于或等于1且小于或等于N的整数,且j不等于i;在第j条依赖信息中的上游任务等于第i条依赖信息中的下游任务的情况下,判断第一索引数据取值为预定值的任务中,是否包含第j条依赖信息中的下游任务;在判定包含第j条依赖信息中的下游任务的情况下,确定预设任务间的依赖关系成环。
在一个实施例中,在第j条依赖信息中的上游任务等于第i条依赖信息中的下游任务,且,第一索引数据中取值为预定值的任务中,不包含第j条依赖信息中的下游任务的情况下,依赖关系成环判定模块还用于:传递第一索引数据,并在第一索引数据中增加第一值,得到第j条依赖信息中的下游任务的索引数据;其中,在第一值中,第j条依赖信息中的上游任务的取值为预定值。
在一个实施例中,在第j条依赖信息中的下游任务等于第i条依赖信息中的下游任务的情况下,依赖关系成环判定模块还用于:在第一索引数据中增加第二值,得到第i条依赖信息中的下游任务的新的第一索引数据;其中,在第二值中,第j条依赖信息中的上游任务的取值为预定值。
根据本公开实施例的任务处理装置,根据任务间的依赖关系,当一个任务执行完成,确定该任务将触发的任务和每个将触发的任务的等待任务数,更新每个将触发的任务的等待任务数,若将触发的任务的更新的等待任务数为零,则执行该将触发的任务,简化任务触发的执行逻辑,尤其在预定任务的图结构十分复杂的情况下,这种任务执行机制安全高效,处理方式更加灵活。
在一个实施例中,任务处理装置600还包括:任务合并模块,用于:对于预设任务中的每个执行完成的任务,分别获取任务开始时间和任务结束时间,得到每个执行完成的任务的执行时间范围;从每个执行完成的任务中,获取至少两个第一类型任务,并将获取的第一类型任务合并到同一执行容器中,以用于通过同一执行容器再次执行第一类型任务;其中,每个第一类型任务为网络型请求任务,并且,任意两个第一类型任务的执行时间范围之间为包含关系。
根据本公开实施例的任务处理装置,可以将满足条件的任务合并到同一个执行器执行,以节约计算资源,提高线程等计算资源的复用率。
在一个实施例中,预设任务中包括计算密集型任务,任务处理装置600还包括:任务合并模块,用于:在计算密集型任务的执行资源被占用的情况下,拆分计算密集型任务,得到计算密集型任务的每个拆分任务;通过其他服务器中的执行资源执行每个拆分任务,以及将每个拆分任务作为网络型请求任务;其中,其他服务器与被占用的执行资源所属的服务器不同。
根据本公开实施例的任务处理装置,可以对计算密集型任务进行拆分,以保证任务的处理处理和系统的执行效率。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本公开实施例的任务处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本公开所提供的非瞬时计算机可读存储介质。其中,存储器存储有可由至少一个处理器执行的指令,以使至少一个处理器执行本公开所提供的任务处理方法。本公开的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本公开所提供的任务处理方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本公开实施例中的任务处理方法对应的程序指令/模块。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的任务处理方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据任务处理方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至任务处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
任务处理方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与任务处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。服务器可以为分布式服务器,或者是结合了区块链的服务器,通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本公开实施例,还提供了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现上述实施例所描述的任一种任务处理方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (13)
1.一种任务处理方法,其特征在于,包括:
根据获取的预设任务间的依赖关系,确定预设的每个任务在执行完成的情况下将触发的任务和所述每个任务在执行之前所需的等待任务数;
针对执行完成的当前任务将触发的任务,更新等待任务数;
获取更新后的所述等待任务数为零的任务,作为具备执行条件的任务,以执行所述具备执行条件的任务。
2.根据权利要求1所述的方法,其特征在于,所述根据获取的预设任务间的依赖关系,确定预设的每个任务在执行完成的情况下将触发的任务和所述每个任务在执行之前所需的等待任务数,包括:
根据获取的预设任务间的依赖关系,确定预先创建的每个任务所依赖的任务;
根据所述每个任务所依赖的任务,构建所述预设任务的有向图结构,所述有向图结构中的每个节点用于指示一个任务,节点之间的有向边用于指示所述任务间的依赖关系和执行先后顺序;
按照所述任务间的依赖关系和执行先后顺序,确定所述每个任务的执行完成将触发的任务,并将所述每个任务所依赖的任务的数量,作为执行所述每个任务之前所需的等待任务数。
3.根据权利要求2所述的方法,其特征在于,
在所述预设任务的有向图结构中,第一节点用于指示第一任务,第一节点的节点信息包括第一节点的每个依赖节点和每个通知节点;
所述依赖节点用于指示第一任务所依赖的任务,所述通知节点用于指示第一任务完成后将触发的继续执行的任务。
4.根据权利要求1-3中任一项所述的方法,其特征在于,执行完成的所述当前任务的数量大于或等于1;所述针对执行完成的当前任务将触发的任务,更新等待任务数,包括:
依次获取执行完成的每个当前任务作为第一任务,将每次获取的第一任务在执行完成的情况下将触发的任务作为第二任务;
对所述第二任务在执行之前所需的等待任务数减一,得到所述第二任务的新的等待任务数,以对执行完成的每个当前任务将触发的任务进行等待任务数的更新。
5.根据权利要求1-3中任一项所述的方法,其特征在于,所述预设任务间的依赖关系是通过N条依赖信息表示的依赖关系,每条所述依赖信息用于指示预设的下游任务依赖预设的上游任务,N为大于或等于2的整数;
根据获取的预设任务间的依赖关系,所述方法还包括:
获取第i条依赖信息,其中,i为大于或等于1且小于或等于N的整数;
为第i条依赖信息中的下游任务生成第一索引数据,在所述第一索引数据中,所述第i条依赖信息中的上游任务的取值为预定值;
获取第j条依赖信息,其中,j为大于或等于1且小于或等于N的整数,且j不等于i;
在所述第j条依赖信息中的上游任务等于所述第i条依赖信息中的下游任务的情况下,判断所述第一索引数据取值为所述预定值的任务中,是否包含所述第j条依赖信息中的下游任务;
在判定包含所述第j条依赖信息中的下游任务的情况下,确定所述预设任务间的依赖关系成环。
6.根据权利要求5所述的方法,其特征在于,在所述第j条依赖信息中的上游任务等于所述第i条依赖信息中的下游任务,且,所述第一索引数据中取值为所述预定值的任务中,不包含所述第j条依赖信息中的下游任务的情况下,
所述方法还包括:
传递所述第一索引数据,并在所述第一索引数据中增加第一值,得到所述第j条依赖信息中的下游任务的索引数据;
其中,在所述第一值中,所述第j条依赖信息中的上游任务的取值为预定值。
7.根据权利要求5所述的方法,其特征在于,在所述第j条依赖信息中的下游任务等于所述第i条依赖信息中的下游任务的情况下,所述方法还包括:
在所述第一索引数据中增加第二值,得到所述第i条依赖信息中的下游任务的新的第一索引数据;
其中,在所述第二值中,所述第j条依赖信息中的上游任务的取值为预定值。
8.根据权利要求1-3中任一项所述的方法,其特征在于,在所述执行所述具备执行条件的任务之后,所述方法还包括:
对于所述预设任务中的每个执行完成的任务,分别获取任务开始时间和任务结束时间,得到所述每个执行完成的任务的执行时间范围;
从所述每个执行完成的任务中,获取至少两个第一类型任务,并将获取的所述第一类型任务合并到同一执行容器中,以用于通过同一所述执行容器再次执行所述第一类型任务;
其中,所述每个第一类型任务为网络型请求任务,并且,任意两个第一类型任务的执行时间范围之间为包含关系。
9.根据权利要求1-3中任一项所述的方法,其特征在于,所述预设任务中包括计算密集型任务,在所述计算密集型任务的执行资源被占用的情况下,所述方法还包括:
拆分所述计算密集型任务,得到所述计算密集型任务的每个拆分任务;
通过其他服务器中的执行资源执行所述每个拆分任务,以及将所述每个拆分任务作为网络型请求任务;其中,
所述其他服务器与所述被占用的执行资源所属的服务器不同。
10.一种任务处理装置,其特征在于,包括:
等待任务数确定模块,用于根据获取的预设任务间的依赖关系,确定预设的每个任务在执行完成的情况下将触发的任务和所述每个任务在执行之前所需的等待任务数;
等待任务数更新模块,用于针对执行完成的当前任务将触发的任务,更新等待任务数;
执行任务确定模块,用于获取更新后的所述等待任务数为零的任务,作为具备执行条件的任务,以执行所述具备执行条件的任务。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-9中任一项所述的方法。
13.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011457600.2A CN112527474B (zh) | 2020-12-10 | 2020-12-10 | 任务处理方法及装置、设备、可读介质、计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011457600.2A CN112527474B (zh) | 2020-12-10 | 2020-12-10 | 任务处理方法及装置、设备、可读介质、计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527474A true CN112527474A (zh) | 2021-03-19 |
CN112527474B CN112527474B (zh) | 2023-07-25 |
Family
ID=74999069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011457600.2A Active CN112527474B (zh) | 2020-12-10 | 2020-12-10 | 任务处理方法及装置、设备、可读介质、计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527474B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098960A (zh) * | 2021-03-31 | 2021-07-09 | 北京三快在线科技有限公司 | 服务运行方法、装置、服务器及存储介质 |
WO2023284892A1 (zh) * | 2021-07-16 | 2023-01-19 | 众安在线财产保险股份有限公司 | 可配置的数据计算方法、装置、设备及介质 |
CN115665369A (zh) * | 2022-09-09 | 2023-01-31 | 北京百度网讯科技有限公司 | 视频处理方法、装置、电子设备和存储介质 |
WO2024061135A1 (zh) * | 2022-09-22 | 2024-03-28 | 摩尔线程智能科技(北京)有限责任公司 | 处理多个任务的方法、处理设备以及异构计算系统 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173308B1 (en) * | 1994-12-07 | 2001-01-09 | International Computers Limited | Deadlock detection mechanism for data processing system, with doublechecking to confirm that detected deadlock is non-spurious |
CN101339501A (zh) * | 2008-08-12 | 2009-01-07 | 北京航空航天大学 | 基于有向图的ws-bpel控制环路检测方法 |
US20110321051A1 (en) * | 2010-06-25 | 2011-12-29 | Ebay Inc. | Task scheduling based on dependencies and resources |
CN103207903A (zh) * | 2013-03-26 | 2013-07-17 | 南京南瑞继保电气有限公司 | 一种可视化图形程序拓扑排序方法 |
CN104252381A (zh) * | 2013-06-30 | 2014-12-31 | 北京百度网讯科技有限公司 | 一种用于调度etl任务的方法与设备 |
WO2016058264A1 (zh) * | 2014-12-16 | 2016-04-21 | 北京大学深圳研究生院 | 一种适用于广义模型的死锁检测方法 |
WO2016192604A1 (zh) * | 2015-06-05 | 2016-12-08 | 阿里巴巴集团控股有限公司 | 一种全局任务节点依赖关系可视化方法、装置和系统 |
CN107193967A (zh) * | 2017-05-25 | 2017-09-22 | 南开大学 | 一种多源异构行业领域大数据处理全链路解决方案 |
CN107526631A (zh) * | 2017-09-01 | 2017-12-29 | 百度在线网络技术(北京)有限公司 | 一种任务监控方法、装置、设备和介质 |
US20180293098A1 (en) * | 2017-04-10 | 2018-10-11 | Bank Of America Corporation | Digital Processing System for Event and/or Time Based Triggering Management, and Control of Tasks |
CN110543356A (zh) * | 2019-09-11 | 2019-12-06 | 深圳前海微众银行股份有限公司 | 异常任务检测方法、装置、设备及计算机存储介质 |
CN111708520A (zh) * | 2020-06-16 | 2020-09-25 | 北京百度网讯科技有限公司 | 应用构建方法、装置、电子设备及存储介质 |
CN111831415A (zh) * | 2020-07-10 | 2020-10-27 | 广东石油化工学院 | 一种多队列多集群的任务调度方法及系统 |
-
2020
- 2020-12-10 CN CN202011457600.2A patent/CN112527474B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6173308B1 (en) * | 1994-12-07 | 2001-01-09 | International Computers Limited | Deadlock detection mechanism for data processing system, with doublechecking to confirm that detected deadlock is non-spurious |
CN101339501A (zh) * | 2008-08-12 | 2009-01-07 | 北京航空航天大学 | 基于有向图的ws-bpel控制环路检测方法 |
US20110321051A1 (en) * | 2010-06-25 | 2011-12-29 | Ebay Inc. | Task scheduling based on dependencies and resources |
CN103207903A (zh) * | 2013-03-26 | 2013-07-17 | 南京南瑞继保电气有限公司 | 一种可视化图形程序拓扑排序方法 |
CN104252381A (zh) * | 2013-06-30 | 2014-12-31 | 北京百度网讯科技有限公司 | 一种用于调度etl任务的方法与设备 |
WO2016058264A1 (zh) * | 2014-12-16 | 2016-04-21 | 北京大学深圳研究生院 | 一种适用于广义模型的死锁检测方法 |
WO2016192604A1 (zh) * | 2015-06-05 | 2016-12-08 | 阿里巴巴集团控股有限公司 | 一种全局任务节点依赖关系可视化方法、装置和系统 |
US20180293098A1 (en) * | 2017-04-10 | 2018-10-11 | Bank Of America Corporation | Digital Processing System for Event and/or Time Based Triggering Management, and Control of Tasks |
CN107193967A (zh) * | 2017-05-25 | 2017-09-22 | 南开大学 | 一种多源异构行业领域大数据处理全链路解决方案 |
CN107526631A (zh) * | 2017-09-01 | 2017-12-29 | 百度在线网络技术(北京)有限公司 | 一种任务监控方法、装置、设备和介质 |
CN110543356A (zh) * | 2019-09-11 | 2019-12-06 | 深圳前海微众银行股份有限公司 | 异常任务检测方法、装置、设备及计算机存储介质 |
CN111708520A (zh) * | 2020-06-16 | 2020-09-25 | 北京百度网讯科技有限公司 | 应用构建方法、装置、电子设备及存储介质 |
CN111831415A (zh) * | 2020-07-10 | 2020-10-27 | 广东石油化工学院 | 一种多队列多集群的任务调度方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098960A (zh) * | 2021-03-31 | 2021-07-09 | 北京三快在线科技有限公司 | 服务运行方法、装置、服务器及存储介质 |
WO2023284892A1 (zh) * | 2021-07-16 | 2023-01-19 | 众安在线财产保险股份有限公司 | 可配置的数据计算方法、装置、设备及介质 |
CN115665369A (zh) * | 2022-09-09 | 2023-01-31 | 北京百度网讯科技有限公司 | 视频处理方法、装置、电子设备和存储介质 |
CN115665369B (zh) * | 2022-09-09 | 2023-11-03 | 北京百度网讯科技有限公司 | 视频处理方法、装置、电子设备和存储介质 |
WO2024061135A1 (zh) * | 2022-09-22 | 2024-03-28 | 摩尔线程智能科技(北京)有限责任公司 | 处理多个任务的方法、处理设备以及异构计算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112527474B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806923B (zh) | 一种区块链任务的并行处理方法、装置、电子设备和介质 | |
CN112527474B (zh) | 任务处理方法及装置、设备、可读介质、计算机程序产品 | |
JP7269913B2 (ja) | ナレッジグラフ構築方法、装置、電子機器、記憶媒体およびコンピュータプログラム | |
CN111708520B (zh) | 应用构建方法、装置、电子设备及存储介质 | |
US20190317830A1 (en) | Cross-cloud orchestration of data analytics for a plurality of research domains | |
CN111488492B (zh) | 用于检索图数据库的方法和装置 | |
CN111782147A (zh) | 用于集群扩缩容的方法和装置 | |
CN112270413B (zh) | 算子合并方法、装置、电子设备及存储介质 | |
CN110619002A (zh) | 数据处理方法、装置及存储介质 | |
CN111737399A (zh) | 扩展问答集的方法、装置、电子设备和可读存储介质 | |
CN111782341B (zh) | 用于管理集群的方法和装置 | |
CN111158666A (zh) | 实体归一化处理方法、装置、设备及存储介质 | |
CN109960212B (zh) | 任务发送方法和装置 | |
CN113158098B (zh) | 页面生成方法、装置、设备和介质 | |
US10365896B2 (en) | Storing data models together | |
CN111339187A (zh) | 基于智能合约的数据处理方法、装置、设备和存储介质 | |
CN111782357B (zh) | 标签控制方法及装置、电子设备和可读存储介质 | |
CN110688229A (zh) | 任务处理方法和装置 | |
US10679184B2 (en) | Automated context-based collaborative workspace dynamic creation | |
CN111125451B (zh) | 数据生产加工方法、装置、电子设备及存储介质 | |
CN111738325A (zh) | 图像识别方法、装置、设备以及存储介质 | |
CN116069497A (zh) | 执行分布式任务的方法、装置、设备以及存储介质 | |
CN111680508B (zh) | 文本的处理方法和装置 | |
CN110515622B (zh) | 按钮状态的控制方法、装置、电子设备及存储介质 | |
CN111258954B (zh) | 数据迁移方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |