CN104778074A - 一种计算任务处理方法及装置 - Google Patents

一种计算任务处理方法及装置 Download PDF

Info

Publication number
CN104778074A
CN104778074A CN201410015322.3A CN201410015322A CN104778074A CN 104778074 A CN104778074 A CN 104778074A CN 201410015322 A CN201410015322 A CN 201410015322A CN 104778074 A CN104778074 A CN 104778074A
Authority
CN
China
Prior art keywords
sub
calculation task
input data
queue
data processing
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
Application number
CN201410015322.3A
Other languages
English (en)
Other versions
CN104778074B (zh
Inventor
周东祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410015322.3A priority Critical patent/CN104778074B/zh
Priority to PCT/CN2015/070686 priority patent/WO2015106687A1/en
Publication of CN104778074A publication Critical patent/CN104778074A/zh
Priority to US15/185,722 priority patent/US10146588B2/en
Application granted granted Critical
Publication of CN104778074B publication Critical patent/CN104778074B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Debugging And Monitoring (AREA)
  • Processing Of Solid Wastes (AREA)

Abstract

本发明涉及一种计算任务处理方法及装置,所述方法可以包括:获取包括多个子流程的计算任务;将所述计算任务的当前子流程的输入数据存入一个队列中;从所述队列中获取第一输入数据并根据与所述当前子流程对应的逻辑进行数据处理;根据所述数据处理的结果判断是否进入下一个子流程;若进入下一个子流程则将所述数据处理的结果作为所述当前子流程的下一子流程的输入数据存入另一个队列中。上述的方法及装置可提升系统处理任务的效率,减少计算资源的浪费。

Description

一种计算任务处理方法及装置
技术领域
本发明涉及计算技术领域,特别涉及一种计算任务处理方法及装置。
背景技术
现在信息技术发展很快,信息处理量也越来越大。现有技术有同一个流程按照时间顺序执行。但是处理花费的时间较长。采用多任务并发进行处理可以提升计算任务的处理效率。然而在多任务并发处理的过程中,如果某个子流程出现处理失败,需要从头开始处理,相当于先前的数据处理操作被重复进行,造成计算资源的浪费。
发明内容
有鉴于此,本发明提供一种计算任务处理方法及装置,可以解决现有技术中计算资源的浪费。
一种计算任务处理方法,包括以下步骤:获取包括多个子流程的计算任务;将所述计算任务的当前子流程的输入数据存入一个队列中;从所述队列中获取第一输入数据并根据与所述当前子流程对应的逻辑进行数据处理;根据所述数据处理的结果判断是否进入下一个子流程;若进入下一个子流程则将所述数据处理的结果作为所述当前子流程的下一子流程的输入数据存入另一个队列中。
一种计算任务处理装置,所述装置包括:获取模块,用于接收包括多个子流程的计算任务;第一数据预存模块,用于将所述计算任务的当前子流程的输入数据存入一个队列中;子流程处理模块,用于从所述队列中获取第一输入数据并根据与所述当前子流程对应的逻辑进行数据处理;第一判断模块,用于根据数据处理的结果判断是否进入下一个子流程;以及第二数据预存模块,用于若所述第一判断模块的结果为进入下一个子流程,将所述数据处理的结果作为所述当前子流程的下一子流程的输入数据存入另一个队列中。
根据本实施例的计算任务处理方法,通过将子流程计算所需要的输入数据存储在队列里,从而解除了多个子流程之间的时序强依赖性。按照这种方式,每个任务处理线程并不需要等待前一子流程的运算结果,因此可以提升包括多个子流程的计算任务的处理效率,减少计算资源的浪费。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
图1为一个计算装置的结构框图。
图2为第一实施例提供的计算任务处理方法流程图。
图3为对应子流程创建队列的示意图。
图4为图2中的方法与一种多线程并行计算消耗时间的对比示意图。
图5为第二实施例提供的计算任务处理方法流程图。
图6为第三实施例提供的计算任务处理方法流程图。
图7为第四实施例提供的计算任务处理装置结构框图。
图8为第五实施例提供的计算任务处理装置结构框图。
图9为第六实施例提供的计算任务处理装置结构框图。
具体实施方式
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明的具体实施方式、结构、特征及其功效,详细说明如后。
本发明实施例提供一种计算任务处理方法及装置。上述的计算任务是指由计算装置进行运算而得出计算结果的任务。对于一个计算任务,其具有输入的数据以及运算逻辑,计算装置根据所述运算逻辑对输入的数据进行运算从而得出计算结果。可以理解,一个计算任务可以包括多个子流程f1、f2、f3…fn(n为自然数),而这些子流程之间可能具有强依赖性。例如,子流程f1的运算结果是子流程f2的输入。因此,只有当完成了子流程f1才能继续子流程f2的处理。
上述的计算装置的具体实例包括,但并不限于,服务器、个人计算机、智能移动终端等。图1为上述的计算装置的结构框图。如图1所示,计算装置100包括:存储器102、存储控制器104、一个或多个(图中仅示出一个)处理器106、外设接口108以及网络模块110。可以理解,图1所示的结构仅为示意,其并不对计算装置100的结构造成限定。例如,计算装置100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器102可用于存储软件程序以及模块,如本发明实施例中的计算任务处理方法及装置对应的程序指令/模块,处理器104通过运行存储在存储器102内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。
存储器102可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器102可进一步包括相对于处理器106远程设置的存储器,这些远程存储器可以通过网络连接至计算装置100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器106以及其他可能的组件对存储器102的访问可在存储控制器104的控制下进行。
外设接口108将各种输入/输入装置耦合至处理器106。处理器106运行存储器102内的各种软件、指令计算装置100执行各种功能以及进行数据处理。在一些实施例中,外设接口108、处理器106以及存储控制器104可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
网络模块110用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。在一个实例中,上述网络信号为有线网络信号。此时,网络模块110可包括处理器、随机存储器、转换器、晶体振荡器等元件。
上述的软件程序以及模块包括:操作系统122以及计算模块124。其中操作系统122例如可为LINUX,UNIX,WINDOWS,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通讯,从而提供其他软件组件的运行环境。计算模块124运行在操作系统122的基础上,其具体实现本发明实施例提供的计算任务处理方法。
第一实施例
图2为第一实施例提供的一种计算任务处理方法的流程图,其可由图1所示的计算装置100执行。如图2所示,上述方法包括以下步骤:
步骤S101、获取包括有多个子流程的计算任务。
所述计算任务包括多个子流程f1、f2、f3…fn(n为自然数),子流程之间有时序性。所述时序性是指计算任务的子流程的计算依赖于前一个子流程的计算数据。例如,子流程f1的运算结果是子流程f2的输入。因此,只有当完成了子流程f1才能继续子流程f2的处理。
所述计算任务的来源是任意的。例如,在一个实施例中,计算任务对应的输入数据以及运算逻辑是存储在本地的文件当中,通过读取并解析所述文件得到一个或多个计算任务。在另一个实例中,计算任务是从网络中获取的。例如,在计算装置100为部署在网络中的服务器,会接收客户端(其他服务器或者用户使用的个人计算机等)提交的计算任务。或者,计算装置100还可以主动从其他服务器处下载计算任务。在另一个实例中,计算装置100还可向用户提供计算任务设置界面,用户在计算任务设置界面设置计算任务,相应地,计算装置100可根据用户输入的条件生成计算任务。
步骤S102、将所述计算任务的当前子流程的输入数据存入一个队列中。
对于上述的计算任务,在初始状态下所述的当前子流程为子流程f1。但随着计算任务的进行,当前子流程也会随之变化。例如,当子流程f1结束后,且需要继续进行子流程f2,则当前子流程就相应变为子流程f2。
对于一个子流程,其具有输入数据以及运算逻辑。可以理解,运算逻辑是确定的,也就是说,相同的计算任务中,相同的子流程具有相同的运算逻辑;而输入数据是会变化的,也就是说,不同的计算任务中相同子流程的输入数据会有不同。
对于上述的计算任务,其具有子流程f1、f2、f3…fn(n为自然数)。对应于每一个子流程,可以为该子流程创建一个队列,用于存储该子流程的输入数据。因此,参阅图3,对应于子流程f1、f2、f3…fn,分别会创建队列Q1、Q2、Q3…Qn,用于存储对应的子流程的输入数据。可以理解,队列中每个项目是对应于一个计算任务的。
可以理解,若步骤S101中获取的是一个计算任务,则步骤S102中存入队列的也是一份输入数据。若步骤S101中获取的是多个计算任务,则步骤S102中存入队列的也分别是多份输入数据。
进一步地,在将当前子流程的输入数据存入对应的队列中后,还可标记对应的计算任务在该当前子流程的状态为:位于待处理队列中,用于表示该任务的该当前子流程在待处理。
步骤S103、从所述队列中获取第一输入数据并根据与所述当前子流程对应的逻辑进行数据处理。
在步骤S103之前,计算装置100还可先创建分别与每个子流程对应的任务处理线程。可以理解,对应于每个子流程,可分别创建一个或多个任务处理线程,而步骤S103可由这些对应的任务处理线程进行的。
同一子流程的多个任务处理线程可以是并行运行的,而不同子流程的任务处理线程也可以是并行运行的。
任务处理线程的处理逻辑如下:其监测对应的队列中是否有输入数据,若存在则读取一份输入数据并按照对应的逻辑进行数据处理。
以与子流程f1对应的任务处理线程为例,其可从队列Q1中获取第一数据输入101,然后按照与子流程f1对应的处理逻辑进行数据处理。
步骤S104、根据所述数据处理的结果判断是否进入下一个子流程。
一个子流程的处理结果包括但并不限于以下几种:流程正常结束,需要进入一下子流程;流程正常结束且整个计算任务结束,无须再进入下一个子流程;子流程计算异常。
步骤S105、若进入下一个子流程,则将所述数据处理的结果作为所述当前子流程的一下子流程的输入数据存入另一个队列中。
参阅图3,以上述的第一输入数据101为例,若数据处理结果表明需要进入下一个子流程,则将数据处理的结果作为输入数据存入队列Q2。可以理解,在存入队列Q2中后,会由与队列Q2对应的任务处理线程加载并进行处理。
可以理解,对于上述的步骤S102-步骤S105,一个计算任务可能会进行多次直至计算任务结束。
参阅图4,其为本实施例的方法与一种多线程并行计算消耗时间的对比示意图。以包括三个子流程的计算任务为例,三个子流程所消耗的时间分别为t1、t2与t3。如果要处理6个计算任务,分三个线程并行处理,则需要的总时间为2(t1+t2+t3)。然而,如果按照本实施例的方法,如果每个子流程也是采用三个线程并行处理,由于每个任务处理线程在完成一份输入数据的处理后,可以立刻进行下一份输入数据的处理,而与此同时,完成当前子流程的计算任务的一下子流程在被其他线程并行处理。因此,本实施例的方法所需要的时间为t1+t2+2t3。
由此,根据本实施例的计算任务处理方法,通过将子流程计算所需要的输入数据存储在队列里,从而解除了多个子流程之间的时序强依赖性。按照这种方式,每个任务处理线程并不需要等待前一子流程的运算结果,因此可以提升包括多个子流程的计算任务的处理效率,减少计算资源的浪费。
第二实施例
本实施例提供一种计算任务处理方法,本实施例与第一实施例类似,其不同之处在于,参阅图5,本实施例的方法还包括:
步骤S201、调整任务处理线程的并发数量。
可以理解,对于一个计算任务,其每个子流程的需要的处理时间是不同的。以两个子流程f1与f2为例,其处理时间分别为t1与t2,且t1<t2。如果对子流程f1与f2分别创建相同数量的任务处理线程,很明显,由于t1<t2,对于整个计算任务而言,子流程f1对应的任务处理线程在部分时间内是处理空闲状态,或者说,子流程f2对应的任务处理线程是处于堵塞状态。为了解决这种状态,可以调整每个子流程对应的任务处理线程的并发数量。在以上的实例中,可以减少子流程f1的任务处理线程的并发数量,或者增加子流程f2的任务处理线程的并发数量,以使两个子流程的处理速度达成平衡状态。
可以理解,任务处理线程的并发数量需要结合考虑所有的子流程,使得所有子流程的处理速度接近一致。
在一个实例中,步骤S201是根据用户输入的数量进行的。例如,计算装置100可以提供管理子流程任务处理线程并发数量调整的界面,用户可以根据子流程的堵塞状态设置对应的子流程的任务处理线程的并发数量。然后,计算装置100根据用户输入的数量调整任务处理线程的并发数量。
在另一个实例中,步骤S201是由计算装置100自动进行的。计算装置100监测与各子流程对应的队列的长度,然后根据预定的算法重新计算各子流程的任务处理线程的数量,然后据以调整任务处理线程的并发数量。
根据本实施例的计算任务处理方法,通过调整任务处理线程的并发数量,充分利用服务器资源,以实现全流程更大化的处理容量的提升,提高服务器处理任务效率。
第三实施例
本实施例提供一种计算任务处理方法,本实施例与第一实施例类似,其不同之处在于,参阅图6,在步骤S103之后,还包括:
步骤S301、判断数据处理是否出现异常。
步骤S302、若数据处理出现异常则缓存所述第一输入数据。
数据处理出现异常是指在数据处理的过程中,遇到各种意外而导致数据处理没有正常进行的情形,例如,某个子流程所要依赖的外部资源没有成功获取、网络错误导致请求失败、数据库连接失败等等。
在碰到数据处理异常的情形下,数据处理的逻辑可以抛出对应的异常信息,在捕获到这些异常信息后,即可判断数据处理出现了异常。此时,可以将当前子流程的输入数据,例如第一实施例中所述的第一输入数据缓存起来。
此时的数据存储可以是在内存另外开辟一个空间用于存储异常子流程的输入数据。也可以将所述异常子流程的所述输入数据直接存储至对应的队列中,如此,输入数据会被自动加载处理。
上述异常子流程的输入数据的存储方式,以及存储空间在实际运用中可以根据实际情形设置最佳的存储,而不受任何限制。
根据本实施例的计算任务处理方法,在子流程数据处理异常时将输入数据缓存,从而该计算任务可以从该出现异常的子流程开始进行处理,而无须从头开始进行计算,减少了重新进行处理浪费的时间,也提高了计算任务处理的容错率。
第四实施例
本实施例提供一种计算任务处理装置,参阅图7,所述装置包括:获取模块601,第一数据预存模块602,子流程处理模块603,第一判断模块604,以及第二数据预存模块605。
接收模块601,用于接收包括多个子流程的计算任务;
第一数据预存模块602,用于将所述计算任务的当前子流程的输入数据存入一个队列中;
子流程处理模块603,用于从所述队列中获取第一输入数据并根据与所述当前子流程对应的逻辑进行数据处理;子流程处理模块603的数量可包括多个,其并行运行,用于分别从队列中加载输入数据并处理。
第一判断模块604,用于根据数据处理的结果判断是否进入下一个子流程;
第二数据预存模块605,用于若所述第一判断模块的结果为进入下一个子流程,将所述数据处理的结果作为所述当前子流程的下一子流程的输入数据存入另一个队列中。
关于本实施例的装置的其他细节,还可参考第一实施例的方法,在此不再重复。
根据本实施例的计算任务处理装置,通过将子流程计算所需要的输入数据存储在队列里,从而解除了多个子流程之间的时序强依赖性。按照这种方式,每个任务处理线程并不需要等待前一子流程的运算结果,因此可以提升包括多个子流程的计算任务的处理效率。
第五实施例
本实施例提供一种计算任务处理装置,本实施例与第四实施例类似,其不同之处在于,参阅图8,本实施例的装置还包括:调整模块701,用于调整所述子流程处理模块603的并发数量。可以理解,对于一个计算任务,其每个子流程的需要的处理时间是不同的。以两个子流程f1与f2为例,其处理时间分别为t1与t2,且t1<t2。如果对子流程f1与f2分别创建相同数量的子流程处理模块,很明显,由于t1<t2,对于整个计算任务而言,子流程f1对应的子流程处理模块在部分时间内是处理空闲状态,或者说,子流程f2对应的子流程处理模块是处于堵塞状态。为了解决这种状态,可以调整每个子流程对应的子流程处理模块的并发数量。在以上的实例中,可以减少子流程f1的子流程处理模块的并发数量,或者增加子流程f2的子流程处理模块的并发数量,以使两个子流程的处理速度达成平衡状态。
可以理解,子流程处理模块的并发数量需要结合考虑所有的子流程,使得所有子流程的处理速度接近一致。
在一个实例中,调整是根据用户输入的数量进行的。例如,计算装置100可以提供管理子流程处理模块并发数量调整的界面,用户可以根据子流程的堵塞状态设置对应的子流程处理模块的并发数量。然后,计算装置100根据用户输入的数量调整子流程处理模块的并发数量。
在另一个实例中,调整是由调整模块701自动进行的。调整模块701监测与各子流程对应的队列的长度,然后根据预定的算法重新计算各子流程的任务处理线程的数量,然后据以调整任务处理线程的并发数量。
根据本实施例的计算任务处理方法,通过调整任务处理线程的并发数量,充分利用服务器资源,以实现全流程更大化的处理容量的提升,提高服务器处理任务效率。
第六实施例
本实施例提供一种计算任务处理装置,本实施例与第四实施例类似,其不同之处在于,参阅图9,本实施例的装置包括:
第二判断模块801,用于判断数据处理是否出现异常;以及
缓存模块802,用于若第二判断模块801的判断结果为出现异常则缓存所述第一输入数据。
第二判断模块801例如可以是由子流程处理模块603抛出的异常信息触发的,在捕获取子流程处理模块603的异常信息后,开始判断数据处理是否异常。
数据处理出现异常是指在数据处理的过程中,遇到各种意外而导致数据处理没有正常进行的情形,例如,某个子流程所要依赖的外部资源没有成功获取、网络错误导致请求失败、数据库连接失败等等。
在判断数据处理出现异常后,缓存模块802缓存第一输入数据。此时的数据存储可以是在内存另外开辟一个空间用于存储异常子流程的输入数据。也可以将所述异常子流程的所述输入数据直接存储至对应的队列中,如此,输入数据会被自动加载处理。
上述异常子流程的输入数据的存储方式,以及存储空间在实际运用中可以根据实际情形设置最佳的存储,而不受任何限制。
根据本实施例的计算任务处理装置,在子流程数据处理异常时将输入数据缓存,从而该计算任务可以从该出现异常的子流程开始进行处理,而无须从头开始进行计算,减少了重新进行处理浪费的时间,也提高了计算任务处理的容错率。
此外,本发明实施例还提供一种计算机可读存储介质,其内存储有计算机可执行指令,上述的计算机可读存储介质例如为非易失性存储器例如光盘、硬盘、或者闪存。上述的计算机可执行指令用于让计算机或者类似的运算装置完成上述计算任务处理方法及装置。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭示如上,然而并非用以限定本发明,任何本领域技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简介修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

Claims (10)

1.一种计算任务处理方法,其特征在于,所述方法包括以下步骤:
获取包括多个子流程的计算任务;
将所述计算任务的当前子流程的输入数据存入一个队列中;
从所述队列中获取第一输入数据并根据与所述当前子流程对应的逻辑进行数据处理;
根据所述数据处理的结果判断是否进入下一个子流程;
若进入下一个子流程则将所述数据处理的结果作为所述当前子流程的下一子流程的输入数据存入另一个队列中。
2.如权利要求1所述的方法,其特征在于,所述从所述队列中获取第一输入数据并根据与所述当前子流程对应的逻辑进行数据处理的步骤分别在多个任务处理线程中并行进行。
3.如权利要求2所述的方法,其特征在于,还包括:根据用户输入的数量调整所述多个任务处理线程数量。
4.如权利要求2所述的方法,其特征在于,还包括:根据所述另一个队列的长度动态调整所述多个任务处理线程的数量。
5.如权利要求1所述的方法,其特征在于,在所述根据所述数据处理的结果判断是否进入下一个流程之前还包括:判断数据处理是否出现异常,若数据处理异常则缓存所述第一输入数据。
6.一种计算任务处理装置,其特征在于,所述装置包括:
获取模块,用于接收包括多个子流程的计算任务;
第一数据预存模块,用于将所述计算任务的当前子流程的输入数据存入一个队列中;
子流程处理模块,用于从所述队列中获取第一输入数据并根据与所述当前子流程对应的逻辑进行数据处理;
第一判断模块,用于根据数据处理的结果判断是否进入下一个子流程;以及
第二数据预存模块,用于若所述第一判断模块的结果为进入下一个子流程,将所述数据处理的结果作为所述当前子流程的下一子流程的输入数据存入另一个队列中。
7.如权利要求6所述的计算任务处理装置,其特征在于,所述子流程处理模块的数量包括多个,且并行运行。
8.如权利要求7所述的计算任务处理装置,其特征在于,还包括调整模块,用于根据用户输入的数量调整所述子流程处理模块的并发数量。
9.如权利要求7所述的计算任务处理装置,其特征在于,还包括调整模块,用于根据所述另一个队列的长度动态调整所述多个子流程处理模块并发数量。
10.如权利要求6所述的计算任务处理装置,其特征在于,还包括:
第二判断模块,用于判断数据处理是否出现异常;以及
缓存模块,用于若所述第二判断模块的结果为出现异常则缓存所述第一输入数据。
CN201410015322.3A 2014-01-14 2014-01-14 一种计算任务处理方法及装置 Active CN104778074B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201410015322.3A CN104778074B (zh) 2014-01-14 2014-01-14 一种计算任务处理方法及装置
PCT/CN2015/070686 WO2015106687A1 (en) 2014-01-14 2015-01-14 Method and apparatus for processing computational task
US15/185,722 US10146588B2 (en) 2014-01-14 2016-06-17 Method and apparatus for processing computational task having multiple subflows

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410015322.3A CN104778074B (zh) 2014-01-14 2014-01-14 一种计算任务处理方法及装置

Publications (2)

Publication Number Publication Date
CN104778074A true CN104778074A (zh) 2015-07-15
CN104778074B CN104778074B (zh) 2019-02-26

Family

ID=53542412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410015322.3A Active CN104778074B (zh) 2014-01-14 2014-01-14 一种计算任务处理方法及装置

Country Status (3)

Country Link
US (1) US10146588B2 (zh)
CN (1) CN104778074B (zh)
WO (1) WO2015106687A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106992007A (zh) * 2017-03-28 2017-07-28 百度在线网络技术(北京)有限公司 基于语音识别打分系统的数据处理方法和装置
CN107944662A (zh) * 2017-10-30 2018-04-20 链家网(北京)科技有限公司 一种业务流程控制处理方法及装置
CN109284180A (zh) * 2018-08-30 2019-01-29 百度在线网络技术(北京)有限公司 一种任务调度方法、装置、电子设备及存储介质
CN110737535A (zh) * 2019-09-09 2020-01-31 平安证券股份有限公司 基于消息队列的数据处理方法、装置和计算机设备
CN111459981A (zh) * 2019-01-18 2020-07-28 阿里巴巴集团控股有限公司 查询任务的处理方法、装置、服务器及系统
CN111897653A (zh) * 2020-07-30 2020-11-06 云知声智能科技股份有限公司 一种协同计算方法、装置、系统及介质
CN111984424A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 任务处理方法、装置、设备及计算机可读存储介质
CN112506636A (zh) * 2020-12-16 2021-03-16 北京中天孔明科技股份有限公司 基于有向无环图的分布式任务调度方法、装置及存储介质
CN112540856A (zh) * 2019-09-23 2021-03-23 北京轻享科技有限公司 一种业务处理方法及电子设备
CN112541309A (zh) * 2020-12-18 2021-03-23 广东高云半导体科技股份有限公司 逻辑综合的实现控制方法及装置
CN112740174A (zh) * 2018-10-17 2021-04-30 北京比特大陆科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN113076181A (zh) * 2021-03-04 2021-07-06 山东英信计算机技术有限公司 一种数据处理流程优化方法、系统及存储介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110097179B (zh) * 2018-01-29 2020-03-10 上海寒武纪信息科技有限公司 计算机设备、数据处理方法及存储介质
CN110837414B (zh) * 2018-08-15 2024-04-12 京东科技控股股份有限公司 任务处理方法和装置
CN109408286A (zh) * 2018-09-17 2019-03-01 北京京东金融科技控股有限公司 数据处理方法、装置、系统、计算机可读存储介质
CN111240834B (zh) * 2020-01-02 2024-02-02 北京字节跳动网络技术有限公司 任务执行方法、装置、电子设备和存储介质
CN113741868B (zh) * 2020-05-29 2024-05-24 腾讯科技(深圳)有限公司 业务计算任务处理方法、装置、计算机设备和存储介质
CN111831457A (zh) * 2020-06-09 2020-10-27 西安思丹德信息技术有限公司 一种双通道地面站测试装置、工作方法、计算机设备及存储介质
CN112035225B (zh) * 2020-07-28 2022-08-05 拉扎斯网络科技(上海)有限公司 数据处理方法、装置、电子设备和计算机可读存储介质
CN113485840A (zh) * 2021-07-27 2021-10-08 中国银行股份有限公司 基于Go语言的多任务并行处理装置及方法
CN113886085A (zh) * 2021-09-30 2022-01-04 支付宝(杭州)信息技术有限公司 多方安全计算中的任务执行方法及装置
CN114595067A (zh) * 2022-03-18 2022-06-07 北京百度网讯科技有限公司 工作流节点的执行方法、装置、设备以及存储介质
CN115996197B (zh) * 2023-03-17 2023-06-16 之江实验室 一种流量拥塞前置的分布式计算流量仿真系统与方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567013A (zh) * 2009-06-02 2009-10-28 阿里巴巴集团控股有限公司 一种etl调度的实现方法及装置
CN101957744A (zh) * 2010-10-13 2011-01-26 北京科技大学 一种用于微处理器的硬件多线程控制方法及其装置
CN102508716A (zh) * 2011-09-29 2012-06-20 用友软件股份有限公司 任务控制装置和任务控制方法
CN102763086A (zh) * 2012-01-18 2012-10-31 华为技术有限公司 分布式计算任务处理系统和任务处理方法
CN103019651A (zh) * 2012-08-02 2013-04-03 青岛海信传媒网络技术有限公司 复杂任务的并行处理方法和装置
CN103428217A (zh) * 2013-08-19 2013-12-04 中国航空动力机械研究所 分布式并行计算的作业分配方法及分配系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250187A (ja) * 1992-03-06 1993-09-28 Hitachi Ltd レディ空間キューによるタスク制御方式
US5974538A (en) * 1997-02-21 1999-10-26 Wilmot, Ii; Richard Byron Method and apparatus for annotating operands in a computer system with source instruction identifiers
US7114062B2 (en) * 1999-12-31 2006-09-26 Johnson Luther A Processor which accelerates execution of binary programs intended for execution on a conventional processor core, using a reconfigurable combinational logic array, a function lookup unit, and a compatible conventional processor core, without requiring recompilation
TW540205B (en) * 2001-02-27 2003-07-01 Ind Tech Res Inst Real-time scheduling mechanism capable of controlling quality of service
US20040128658A1 (en) * 2002-12-27 2004-07-01 Guei-Yuan Lueh Exception handling with stack trace cache
US7617479B2 (en) * 2005-06-28 2009-11-10 International Business Machines Corporation Method and apparatus for generating service frameworks
US7386778B2 (en) * 2005-10-20 2008-06-10 Jon Udell Methods for distributing programs for generating test data
CN101165655A (zh) * 2006-10-20 2008-04-23 国际商业机器公司 多处理器计算系统及其任务分配方法
US20090025004A1 (en) * 2007-07-16 2009-01-22 Microsoft Corporation Scheduling by Growing and Shrinking Resource Allocation
CN101546334A (zh) 2009-04-23 2009-09-30 腾讯科技(深圳)有限公司 在浏览器中提示网页信息搜索结果的方法、装置及浏览系统
US8769539B2 (en) * 2010-11-16 2014-07-01 Advanced Micro Devices, Inc. Scheduling scheme for load/store operations
CN102708102B (zh) 2011-03-28 2016-08-31 联想(北京)有限公司 检索信息呈现方法及应用该方法的电子设备
CN102346778B (zh) 2011-10-11 2013-08-21 北京百度网讯科技有限公司 一种用于提供搜索结果的方法与设备
CN102436495A (zh) 2011-11-14 2012-05-02 百度在线网络技术(北京)有限公司 一种提供动态搜索页面的方法及其装置
CN102446225A (zh) 2012-01-11 2012-05-09 深圳市爱咕科技有限公司 一种实时搜索的方法、装置和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101567013A (zh) * 2009-06-02 2009-10-28 阿里巴巴集团控股有限公司 一种etl调度的实现方法及装置
CN101957744A (zh) * 2010-10-13 2011-01-26 北京科技大学 一种用于微处理器的硬件多线程控制方法及其装置
CN102508716A (zh) * 2011-09-29 2012-06-20 用友软件股份有限公司 任务控制装置和任务控制方法
CN102763086A (zh) * 2012-01-18 2012-10-31 华为技术有限公司 分布式计算任务处理系统和任务处理方法
CN103019651A (zh) * 2012-08-02 2013-04-03 青岛海信传媒网络技术有限公司 复杂任务的并行处理方法和装置
CN103428217A (zh) * 2013-08-19 2013-12-04 中国航空动力机械研究所 分布式并行计算的作业分配方法及分配系统

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106992007B (zh) * 2017-03-28 2020-07-28 百度在线网络技术(北京)有限公司 基于语音识别打分系统的数据处理方法和装置
CN106992007A (zh) * 2017-03-28 2017-07-28 百度在线网络技术(北京)有限公司 基于语音识别打分系统的数据处理方法和装置
CN107944662A (zh) * 2017-10-30 2018-04-20 链家网(北京)科技有限公司 一种业务流程控制处理方法及装置
CN107944662B (zh) * 2017-10-30 2020-09-11 贝壳找房(北京)科技有限公司 一种业务流程控制处理方法及装置
CN109284180A (zh) * 2018-08-30 2019-01-29 百度在线网络技术(北京)有限公司 一种任务调度方法、装置、电子设备及存储介质
CN109284180B (zh) * 2018-08-30 2021-06-18 百度在线网络技术(北京)有限公司 一种任务调度方法、装置、电子设备及存储介质
CN112740174A (zh) * 2018-10-17 2021-04-30 北京比特大陆科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN112740174B (zh) * 2018-10-17 2024-02-06 北京比特大陆科技有限公司 数据处理方法、装置、电子设备及计算机可读存储介质
CN111459981A (zh) * 2019-01-18 2020-07-28 阿里巴巴集团控股有限公司 查询任务的处理方法、装置、服务器及系统
CN111459981B (zh) * 2019-01-18 2023-06-09 阿里巴巴集团控股有限公司 查询任务的处理方法、装置、服务器及系统
CN110737535A (zh) * 2019-09-09 2020-01-31 平安证券股份有限公司 基于消息队列的数据处理方法、装置和计算机设备
CN110737535B (zh) * 2019-09-09 2023-02-07 平安证券股份有限公司 基于消息队列的数据处理方法、装置和计算机设备
CN112540856A (zh) * 2019-09-23 2021-03-23 北京轻享科技有限公司 一种业务处理方法及电子设备
CN111897653A (zh) * 2020-07-30 2020-11-06 云知声智能科技股份有限公司 一种协同计算方法、装置、系统及介质
CN111984424A (zh) * 2020-09-03 2020-11-24 深圳壹账通智能科技有限公司 任务处理方法、装置、设备及计算机可读存储介质
CN112506636A (zh) * 2020-12-16 2021-03-16 北京中天孔明科技股份有限公司 基于有向无环图的分布式任务调度方法、装置及存储介质
CN112541309A (zh) * 2020-12-18 2021-03-23 广东高云半导体科技股份有限公司 逻辑综合的实现控制方法及装置
CN112541309B (zh) * 2020-12-18 2021-11-26 广东高云半导体科技股份有限公司 逻辑综合的实现控制方法及装置
CN113076181A (zh) * 2021-03-04 2021-07-06 山东英信计算机技术有限公司 一种数据处理流程优化方法、系统及存储介质
CN113076181B (zh) * 2021-03-04 2023-09-26 山东英信计算机技术有限公司 一种数据处理流程优化方法、系统及存储介质

Also Published As

Publication number Publication date
US10146588B2 (en) 2018-12-04
US20160299791A1 (en) 2016-10-13
CN104778074B (zh) 2019-02-26
WO2015106687A1 (en) 2015-07-23

Similar Documents

Publication Publication Date Title
CN104778074A (zh) 一种计算任务处理方法及装置
US10067805B2 (en) Technologies for offloading and on-loading data for processor/coprocessor arrangements
US7441240B2 (en) Process scheduling apparatus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling
CN110896404B (zh) 数据处理的方法、装置和计算节点
US11144330B2 (en) Algorithm program loading method and related apparatus
US8595735B2 (en) Holistic task scheduling for distributed computing
CN111104208B (zh) 进程调度管理方法、装置、计算机设备及存储介质
US11941451B2 (en) Orchestration of containerized applications
CN110427258B (zh) 基于云平台的资源调度控制方法及装置
CN111381961A (zh) 一种处理定时任务的方法、装置与电子设备
CN106528065B (zh) 一种线程获取方法及设备
KR102270239B1 (ko) 전자장치에서 소프트웨어를 실행하기 위한 방법 및 장치
CN116841936B (zh) 一种多设备的数据处理方法、装置、系统和计算机设备
US9170839B2 (en) Method for job scheduling with prediction of upcoming job combinations
CN111294377A (zh) 一种依赖关系的网络请求发送方法、终端装置及存储介质
CN112015326B (zh) 集群数据处理方法、装置、设备及存储介质
CN113220429B (zh) Java线程池的任务处理方法、装置、设备和介质
US20160004576A1 (en) Apparatus for managing application program and method therefor
CN110119267B (zh) 一种对关系编程的性能提高方法及装置
CN113742059A (zh) 任务分配方法、装置、计算机设备和存储介质
CN110134502A (zh) 任务处理方法、装置、系统、计算机设备和存储介质
CN117234735A (zh) 一种虚拟机资源预留方法、电子设备、存储介质及装置
CN112015433A (zh) 一种资源调度方法、装置及电子设备和存储介质
CN113867518A (zh) 处理器低功耗阻塞式延时方法、装置及可读介质
CN114253677A (zh) 视频处理任务调度方法、线程分配信息生成方法及设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant