CN108132835A - 基于多进程的任务请求处理方法、装置和*** - Google Patents
基于多进程的任务请求处理方法、装置和*** Download PDFInfo
- Publication number
- CN108132835A CN108132835A CN201711469723.6A CN201711469723A CN108132835A CN 108132835 A CN108132835 A CN 108132835A CN 201711469723 A CN201711469723 A CN 201711469723A CN 108132835 A CN108132835 A CN 108132835A
- Authority
- CN
- China
- Prior art keywords
- subprocess
- task requests
- pond
- target
- host process
- 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.)
- Pending
Links
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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 the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5018—Thread allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明实施例提供一种基于多进程的任务请求处理方法、装置和***,通过主进程接收调用方发送的任务请求之后,根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,从而,避免大计算量的进程阻塞小计算量的进程,根据目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理任务请求,从而,使得每个进程池中的多个子进程之间的负载均衡,提高处理效率,目标子进程在将任务请求处理完成之后,将处理结果返回给主进程,即,通过每个子进程池的子进程与调用方之间的交互都通过主进程进行,使得会话保持,提高业务处理的可靠性。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种基于多进程的任务请求处理方法、装置和***。
背景技术
随着计算机技术的飞速发展,多进程因其能够提高任务处理效率的优点得到了广泛应用。
现有技术中,当进程管理器接收到调用方的任务请求后,采用轮询算法或者随机算法分配处理该任务请求的进程。
然而,采用现有技术的方法,多进程之间的负载不均衡。
发明内容
本发明实施例提供一种基于多进程的任务请求处理方法、装置和***,以解决现有技术中多进程之间的负载不均衡的问题。
第一方面,本发明实施例提供一种基于多进程的任务请求处理方法,应用于多进程管理***,所述多进程管理***包括主进程和多个子进程池,每个子进程池中包含至少一个子进程,所述方法包括:
所述主进程接收调用方发送的任务请求;
所述主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池,所述目标子进程池为所述多个子进程池中的一个;
所述主进程根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求;
所述主进程接收所述目标子进程返回的所述任务请求的处理结果。
可选地,所述主进程根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求之后,还包括:
将所述目标子进程的忙碌状态标记为忙碌;
所述主进程接收所述目标子进程返回的所述任务请求的处理结果之后,还包括:
所述主进程将所述目标子进程的忙碌状态更改为空闲。
可选地,所述主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池之前,还包括:
所述主进程根据计算量或者业务类型创建所述多个子进程池。
可选地,所述主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池,包括:
所述主进程根据所述任务请求的计算量或者业务类型,与所述多个子进程池对应的计算量或者业务类型进程匹配,确定相匹配的子进程池为所述任务请求对应的目标子进程池。
第二方面,本发明实施例提供一种基于多进程的任务请求处理装置,应用于多进程管理***,所述多进程管理***包括主进程和多个子进程池,每个子进程池中包含至少一个子进程,所述装置包括:
接收模块,用于接收调用方发送的任务请求;
处理模块,用于根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池,所述目标子进程池为所述多个子进程池中的一个;
所述处理模块,还用于根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求;
所述接收模块,还用于接收所述目标子进程返回的所述任务请求的处理结果。
可选地,所述处理模块还用于根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求之后,将所述目标子进程的忙碌状态标记为忙碌;
所述处理模块,还用于所述接收模块接收所述目标子进程返回的所述任务请求的处理结果之后,将所述目标子进程的忙碌状态更改为空闲。
可选地,所述处理模块还用于
根据计算量或者业务类型创建所述多个子进程池。
可选地,所述处理模块具体用于根据所述任务请求的计算量或者业务类型,与所述多个子进程池对应的计算量或者业务类型进程匹配,确定相匹配的子进程池为所述任务请求对应的目标子进程池。
第三方面,本发明实施例提供一种多进程管理***,包括:
主进程和多个子进程池,每个子进程池中包含至少一个子进程;
所述主进程用于执行第一方面任一项所述的方法;
所述子进程用于接收所述主进程发送的任务请求,对所述任务请求进程处理,并将所述任务请求的处理结果发送给所述主进程。
第五方面,本发明实施例提供一种电子设备,包括:存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面任一项所述的基于多进程的任务请求处理方法。
第六方面,本发明实施例提供一种可读存储介质,所述可读存储介质中存储有计算机程序,当基于多进程的任务请求处理装置的至少一个处理器执行所述计算机程序时,基于多进程的任务请求处理执行第一方面任一项所述的基于多进程的任务请求处理方法。
本发明实施例提供的基于多进程的任务请求处理方法、装置和***,通过主进程接收调用方发送的任务请求之后,根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,根据目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理任务请求,目标子进程在将任务请求处理完成之后,将处理结果返回给主进程,由于是根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,从而,避免大计算量的进程阻塞小计算量的进程,并且,在此目标进程池中采用负载均衡选择目标子进程对任务请求进程处理,从而,使得每个进程池中的多个子进程之间的负载均衡,提高处理效率,并且,通过每个子进程池的子进程与调用方之间的交互都通过主进程进行,使得会话保持,提高业务处理的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种多进程管理***的示意图;
图2为本发明实施例提供的一种多进程的任务请求处理方法的流程示意图;
图3为本发明实施例提供的另一种多进程的任务请求处理方法的流程示意图;
图4为本发明实施例提供的再一种多进程的任务处理方法的流程示意图;
图5为本发明实施例提供一种基于多进程的任务请求处理装置的结构示意图;
图6为本发明实施例提供另一种基于多进程的任务请求处理装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例根据计算量或者业务类型创建多个子进程池,当调用方向主进程发送任务请求之后,主进程根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,从而,避免大计算量的进程阻塞小计算量的进程;并进一步地,根据目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理任务请求,从而,使得每个进程池中的多个子进程之间的负载均衡,提高处理效率;并在目标子进程在将任务请求处理完成之后,将处理结果返回给主进程,由于每个子进程池的子进程在与调用方之间的交互都通过主进程进行,使得会话保持,提高业务处理的可靠性。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例提供的一种多进程管理***的示意图,如图1所示,该多进程管理***包括:主进程和多个子进程池,图1中以两个子进程池为例进程示出,分别为子进程池1和子进程池2,其中,每个子进程池中可以包含一个或者多个子进程,每个子进程池中包含的子进程的个数可以相同也可以不同,对此,本发明实施例不做限制,图1中以每个子进程池中包含2个子进程为例示出,分别为子进程1和子进程2。
图1中的各子进程池可以根据计算量或者业务类型进程创建。以计算量为例,子进程池1的计算量对应第一区间,子进程池2的计算量对应第二区间,也就是子进程池1中的各子进程用于处理任务量在第一区间的任务请求,子进程2中的各子进程用于处理任务量在第二区间的任务请求,其中,各区间的大小可以根据实际应用场景划分,对此,本发明实施例不做限制。以业务类型为例,子进程池1的业务类型对应业务类型1,子进程池2的业务类型对应业务类型2,也就是,子进程池1中的各子进程用于处理业务类型为业务类型1的任务请求,子进程池2中的各子进程用于处理业务类型为业务类型2的任务请求,每个子进程池也可以对应多个业务类型,各子进程池对应的业务类型的个数以及对应的具体的业务类型,可以根据实际应用场景划分,对此,本发明实施例不做限制。除此之外,也可以将计算量和业务类型相结合对子进程池进行分类,例如:子进程池1的计算量对应第一区间,业务类型对应业务类型1,也就是子进程池1中的子进程用于处理计算量在第一区间,且业务类型为业务类型1的任务请求。
图1所示实施例中的主进程用于执行下述图2~图4任一方法实施例的技术方案,子进程池中的子进程用于接收所述主进程发送的任务请求,对所述任务请求进程处理,并将所述任务请求的处理结果发送给所述主进程。
图2为本发明实施例提供的一种多进程的任务请求处理方法的流程示意图,应用于图1所示的多进程管理***中,本实施例的方法如图2所示:
S201:主进程接收调用方发送的任务请求。
S203:主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池。
其中,目标子进程池为多进程管理***的多个子进程池中的一个。
一种可能的实现方式,可以根据任务请求的统一资源定位符(Uniform ResourceLocator,URL)确定任务请求的计算量或者业务类型。
图1所示的多进程管理***中,各子进程池具有对应的计算量或者业务类型;
因此,可以根据计算量或者业务类型,从多个子进程池中确定与任务请求对应的子进程池作为目标子进程池。
例如:结合图1,从URL中确定任务请求1的和计算量为N,N在第一区间内,因此,子进程池1的计算量对应第一区间,因此,可以确定进程池1为任务请求1的目标子进程池。
再例如:结合图1,任务请求2的业务类型为业务类型2,子进程池2的业务类型对应业务类型2,因此,可以确定进程池2为任务请求2的目标进程池。
S205:主进程根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求。
其中,主进程可以通过包括但不限于如下实现方式确定各子进程的忙碌状态。
一种可能实现方式,主进程可以通过***实时监听各子进程池中的各子进程的忙碌状态。
另一种可能的实现方式,主进程可以在各子进程池的各进程开始处理任务与处理完成任务的时间点,标记各子进程的忙碌状态,并存储各子进程的忙碌状态,通过查找的方式,确定各子进程的忙碌状态。
根据各子进程的忙碌状态,采用负载均衡的方式,通常将任务请求分配给空闲时间距离当前时间最长的子进程。
主进程可以通过IPC将任务请求传入目标子进程,并监听处理结果。
S207:主进程接收所述目标子进程返回的所述任务请求的处理结果。
目标子进程将任务请求处理完成之后,将处理结果返回给主进程;主进程再将处理结果返回给调用方。
本实施例,通过主进程接收调用方发送的任务请求之后,根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,根据目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理任务请求,目标子进程在将任务请求处理完成之后,将处理结果返回给主进程,由于是根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,从而,避免大计算量的进程阻塞小计算量的进程,并且,在此目标进程池中采用负载均衡选择目标子进程对任务请求进程处理,从而,使得每个进程池中的多个子进程之间的负载均衡,提高处理效率,并且,通过每个子进程池的子进程与调用方之间的交互都通过主进程进行,使得会话保持,提高业务处理的可靠性。
图3为本发明实施例提供的另一种多进程的任务请求处理方法的流程示意图,图3是在图2所示实施例的基础上,进一步地,在S205之后,还包括:S206。在S207之后,还包括S208,如图3所示。
S201:主进程接收调用方发送的任务请求。
S203:主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池。
S205:主进程根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求。
其中,S201~S205参见图2所示实施例中详细描述,此处不再赘述。
S206:主进程将所述目标子进程的忙碌状态标记为忙碌。
S207:主进程接收所述目标子进程返回的所述任务请求的处理结果。
其中,S207参见图2所示实施例中详细描述,此处不再赘述。
S208:主进程将所述目标子进程的忙碌状态更改为空闲。
其中,一种可能的实现方式,主进程可以通过表格或者位图(bitmap)等方式记录各子进程的忙碌状态,其中,表格的方式如表1所示:
表1
子进程编号 | 忙碌状态 |
子进程池1的子进程1 | 忙碌 |
子进程池1的子进程2 | 空闲 |
bitmap的方式如每个比特对应一个子进程,比特值为1表示忙碌,比特值为0表示空闲,例如:子进程池1的bitmap为“01”,表示子进程池1的子进程1为空闲,子进程池1的子进程2为忙碌。
对于主进程对各子进程的忙碌状态的维护方式,本发明实施例不做限制。
本实施例,通过对目标子进程的忙碌状态的标记,便于主进程在采用负载均衡进行子进程的分配时,分配的更加合理。
图4为本发明实施例提供的再一种多进程的任务处理方法的流程示意图,图4是在图2或图3所示实施例的基础上,进一步地,在S203之前,还包括,如图4所示:
S201:主进程接收调用方发送的任务请求。
S202:主进程根据计算量或者业务类型创建所述多个子进程池。
其中,计算量或者业务类型可以通过统计多个任务请求的计算量或者业务类型进行确定。
S203:主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池。
相应地,S203的一种可能的实现方式:主进程根据所述任务请求的计算量或者业务类型,与所述多个子进程池对应的计算量或者业务类型进程匹配,确定相匹配的子进程池为所述任务请求对应的目标子进程池。
S205:主进程根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求。
S206:主进程将所述目标子进程的忙碌状态标记为忙碌。
S207:主进程接收所述目标子进程返回的所述任务请求的处理结果。
S208:主进程将所述目标子进程的忙碌状态更改为空闲。
其中,S201、S203、S205、S206、S207、S208参见图2或图3所示实施例中的详细描述,此处不再赘述。
本实施例,通过主进程根据计算量或者业务类型创建多个子进程池,从而,使得主进程在接收到任务请求之后,可以根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,从而,避免大计算量的进程阻塞小计算量的进程。
图5为本发明实施例提供一种基于多进程的任务请求处理装置的结构示意图,该装置应用于图1所示的多进程管理***,该装置包括:接收模块501和处理模块502,其中,接收模块501用于接收调用方发送的任务请求;处理模块502用于根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池,所述目标子进程池为所述多个子进程池中的一个;所述处理模块502还用于根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求;所述接收模块501还用于接收所述目标子进程返回的所述任务请求的处理结果。
本实施例的装置,对应地可用于执行图2所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
本实施例,通过接收模块接收调用方发送的任务请求之后,处理模块根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,根据目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理任务请求,目标子进程在将任务请求处理完成之后,将处理结果返回给接收模块,由于处理模块是根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,从而,避免大计算量的进程阻塞小计算量的进程,并且,处理模块在此目标进程池中采用负载均衡选择目标子进程对任务请求进程处理,从而,使得每个进程池中的多个子进程之间的负载均衡,提高处理效率。
本发明实施例还提供一种基于多进程的任务请求处理装置,在图5所示实施例的基础上,处理模块502还用于根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求之后,将所述目标子进程的忙碌状态标记为忙碌;所述处理模块502还用于所述接收模块接收所述目标子进程返回的所述任务请求的处理结果之后,将所述目标子进程的忙碌状态更改为空闲。
本实施例的装置,对应地可用于执行图3所示方法实施例的技术方案,其实现原理,此处不再赘述。
本实施例,通过处理模块对目标子进程的忙碌状态的标记,便于主进程在采用负载均衡进行子进程的分配时,分配的更加合理。
本发明实施例还提供一种基于多进程的任务请求处理装置,在上述装置实施例的基础上,所述处理模块502还用于根据计算量或者业务类型创建所述多个子进程池。相应地,处理模块502具体用于根据所述任务请求的计算量或者业务类型,与所述多个子进程池对应的计算量或者业务类型进程匹配,确定相匹配的子进程池为所述任务请求对应的目标子进程池。
本实施例的装置,对应地可用于执行图4所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
本实施例,通过处理模块根据计算量或者业务类型创建多个子进程池,从而,使得接收模块在接收到任务请求之后,处理模块可以根据任务请求的计算量或者业务类型,确定任务请求对应的目标子进程池,从而,避免大计算量的进程阻塞小计算量的进程。
本发明各装置实施例中可以根据上述方法示例基于多进程的任务请求处理装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明各实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图6为本发明实施例提供另一种基于多进程的任务请求处理装置的结构示意图,包括:存储器61和处理器62,其中,存储器61,用于存储程序指令,该存储器可以是flash(闪存)。处理器62,用于调用并执行存储器中的程序指令,以实现图2~图4任一所示的基于多进程的任务请求处理方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器61既可以是独立的,也可以是存储器61跟处理器62集成在一起。
本发明实施例还提供一种电子设备,该电子设备用于执行图图2~图4任一所示的基于多进程的任务请求处理方法中的各个步骤。
本发明还提供一种可读存储介质,可读存储介质中存储有计算机程序,当基于多进程的任务请求处理装置的至少一个处理器执行该计算机程序时,基于多进程的任务请求处理装置执行图2~图4任一所述的方法。
本发明还提供一种程序产品,该程序产品包括计算机程序,该计算机程序存储在可读存储介质中。基于多进程的任务请求处理装置的至少一个处理器可以从可读存储介质读取该计算机程序,至少一个处理器执行该计算机程序使得基于多进程的任务请求处理装置实施图2~图4任一所述的方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种基于多进程的任务请求处理方法,其特征在于,应用于多进程管理***,所述多进程管理***包括主进程和多个子进程池,每个子进程池中包含至少一个子进程,所述方法包括:
所述主进程接收调用方发送的任务请求;
所述主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池,所述目标子进程池为所述多个子进程池中的一个;
所述主进程根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求;
所述主进程接收所述目标子进程返回的所述任务请求的处理结果。
2.根据权利要求1所述的方法,其特征在于,所述主进程根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求之后,还包括:
所述主进程将所述目标子进程的忙碌状态标记为忙碌;
所述主进程接收所述目标子进程返回的所述任务请求的处理结果之后,还包括:
所述主进程将所述目标子进程的忙碌状态更改为空闲。
3.根据权利要去1或2所述的方法,其特征在于,所述主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池之前,还包括:
所述主进程根据计算量或者业务类型创建所述多个子进程池。
4.根据权利要求3所述的方法,其特征在于,所述主进程根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池,包括:
所述主进程根据所述任务请求的计算量或者业务类型,与所述多个子进程池对应的计算量或者业务类型进程匹配,确定相匹配的子进程池为所述任务请求对应的目标子进程池。
5.一种基于多进程的任务请求处理装置,其特征在于,应用于多进程管理***,所述多进程管理***包括主进程和多个子进程池,每个子进程池中包含至少一个子进程,所述装置包括:
接收模块,用于接收调用方发送的任务请求;
处理模块,用于根据任务请求的计算量或者业务类型,确定所述任务请求对应的目标子进程池,所述目标子进程池为所述多个子进程池中的一个;
所述处理模块,还用于根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求;
所述接收模块,还用于接收所述目标子进程返回的所述任务请求的处理结果。
6.根据权利要求5所述的装置,其特征在于,所述处理模块还用于根据所述目标子进程池中的各子进程的忙碌状态,采用负载均衡的方式,分配目标子进程处理所述任务请求之后,将所述目标子进程的忙碌状态标记为忙碌;
所述处理模块,还用于所述接收模块接收所述目标子进程返回的所述任务请求的处理结果之后,将所述目标子进程的忙碌状态更改为空闲。
7.根据权利要去5或6所述的装置,其特征在于,所述处理模块还用于根据计算量或者业务类型创建所述多个子进程池。
8.根据权利要求7所述的装置,其特征在于,所述处理模块具体用于根据所述任务请求的计算量或者业务类型,与所述多个子进程池对应的计算量或者业务类型进程匹配,确定相匹配的子进程池为所述任务请求对应的目标子进程池。
9.一种多进程管理***,其特征在于,包括:
主进程和多个子进程池,每个子进程池中包含至少一个子进程;
所述主进程用于执行如权利要求1~4任一项所述的方法;
所述子进程用于接收所述主进程发送的任务请求,对所述任务请求进程处理,并将所述任务请求的处理结果发送给所述主进程。
10.一种电子设备,其特征在于,包括:存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1~4任一项所述的基于多进程的任务请求处理方法。
11.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当基于多进程的任务请求处理装置的至少一个处理器执行所述计算机程序时,基于多进程的任务请求处理执行权利要求1~4任一项所述的基于多进程的任务请求处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711469723.6A CN108132835A (zh) | 2017-12-29 | 2017-12-29 | 基于多进程的任务请求处理方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711469723.6A CN108132835A (zh) | 2017-12-29 | 2017-12-29 | 基于多进程的任务请求处理方法、装置和*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108132835A true CN108132835A (zh) | 2018-06-08 |
Family
ID=62393998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711469723.6A Pending CN108132835A (zh) | 2017-12-29 | 2017-12-29 | 基于多进程的任务请求处理方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108132835A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271240A (zh) * | 2018-08-05 | 2019-01-25 | 温州职业技术学院 | 一种基于多核处理的进程调度方法 |
CN109327550A (zh) * | 2018-11-30 | 2019-02-12 | 网宿科技股份有限公司 | 一种访问请求的分配方法、装置、存储介质和计算机设备 |
CN109460292A (zh) * | 2018-10-11 | 2019-03-12 | 东南大学 | 无线云计算***中基于计算量差异的计算资源选择方法 |
CN110119267A (zh) * | 2019-05-14 | 2019-08-13 | 重庆八戒电子商务有限公司 | 一种对关系编程的性能提高方法及装置 |
CN111176801A (zh) * | 2019-07-17 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种多进程管理方法、装置、设备及存储介质 |
CN111858041A (zh) * | 2020-07-10 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN112104679A (zh) * | 2019-06-17 | 2020-12-18 | 北京京东尚科信息技术有限公司 | 处理超文本传输协议请求的方法、装置、设备和介质 |
CN112363847A (zh) * | 2020-10-23 | 2021-02-12 | 苏宁金融科技(南京)有限公司 | 证照文档的自动化识别方法及*** |
CN112905313A (zh) * | 2021-01-21 | 2021-06-04 | 深圳市元征科技股份有限公司 | 任务处理方法、装置及电子设备 |
CN113296848A (zh) * | 2021-06-22 | 2021-08-24 | 中国农业银行股份有限公司 | 一种业务处理方法及装置 |
CN113487900A (zh) * | 2021-07-06 | 2021-10-08 | 北京邮电大学 | 一种针对卫星图像的异步道路信息提取***及其控制方法 |
CN113938527A (zh) * | 2021-08-31 | 2022-01-14 | 阿里巴巴(中国)有限公司 | Api网关的扩展处理方法、计算设备及存储介质 |
CN116173495A (zh) * | 2023-02-09 | 2023-05-30 | 广州延利网络科技有限公司 | 游戏进程的分配控制方法、装置、电子设备以及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043675A (zh) * | 2010-12-06 | 2011-05-04 | 北京华证普惠信息股份有限公司 | 一种基于任务处理请求任务量大小的线程池管理方法 |
CN105763634A (zh) * | 2016-04-14 | 2016-07-13 | 北京思特奇信息技术股份有限公司 | 一种基于tcp长连接的服务实现方法和装置 |
CN105912386A (zh) * | 2016-05-03 | 2016-08-31 | 深圳市永兴元科技有限公司 | 线程管理方法及*** |
US20160301623A1 (en) * | 2011-12-05 | 2016-10-13 | Amazon Technologies, Inc. | Queued workload service in a multi tenant environment |
CN106095585A (zh) * | 2016-06-22 | 2016-11-09 | 中国建设银行股份有限公司 | 任务请求处理方法、装置和企业信息*** |
CN106506389A (zh) * | 2016-10-19 | 2017-03-15 | 广州华多网络科技有限公司 | 网络请求异步处理方法及装置 |
-
2017
- 2017-12-29 CN CN201711469723.6A patent/CN108132835A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102043675A (zh) * | 2010-12-06 | 2011-05-04 | 北京华证普惠信息股份有限公司 | 一种基于任务处理请求任务量大小的线程池管理方法 |
US20160301623A1 (en) * | 2011-12-05 | 2016-10-13 | Amazon Technologies, Inc. | Queued workload service in a multi tenant environment |
CN105763634A (zh) * | 2016-04-14 | 2016-07-13 | 北京思特奇信息技术股份有限公司 | 一种基于tcp长连接的服务实现方法和装置 |
CN105912386A (zh) * | 2016-05-03 | 2016-08-31 | 深圳市永兴元科技有限公司 | 线程管理方法及*** |
CN106095585A (zh) * | 2016-06-22 | 2016-11-09 | 中国建设银行股份有限公司 | 任务请求处理方法、装置和企业信息*** |
CN106506389A (zh) * | 2016-10-19 | 2017-03-15 | 广州华多网络科技有限公司 | 网络请求异步处理方法及装置 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271240A (zh) * | 2018-08-05 | 2019-01-25 | 温州职业技术学院 | 一种基于多核处理的进程调度方法 |
CN109460292A (zh) * | 2018-10-11 | 2019-03-12 | 东南大学 | 无线云计算***中基于计算量差异的计算资源选择方法 |
CN109327550B (zh) * | 2018-11-30 | 2022-02-18 | 网宿科技股份有限公司 | 一种访问请求的分配方法、装置、存储介质和计算机设备 |
CN109327550A (zh) * | 2018-11-30 | 2019-02-12 | 网宿科技股份有限公司 | 一种访问请求的分配方法、装置、存储介质和计算机设备 |
CN110119267A (zh) * | 2019-05-14 | 2019-08-13 | 重庆八戒电子商务有限公司 | 一种对关系编程的性能提高方法及装置 |
CN112104679B (zh) * | 2019-06-17 | 2024-04-16 | 北京京东尚科信息技术有限公司 | 处理超文本传输协议请求的方法、装置、设备和介质 |
CN112104679A (zh) * | 2019-06-17 | 2020-12-18 | 北京京东尚科信息技术有限公司 | 处理超文本传输协议请求的方法、装置、设备和介质 |
CN111176801A (zh) * | 2019-07-17 | 2020-05-19 | 腾讯科技(深圳)有限公司 | 一种多进程管理方法、装置、设备及存储介质 |
CN111176801B (zh) * | 2019-07-17 | 2024-04-12 | 腾讯科技(深圳)有限公司 | 一种多进程管理方法、装置、设备及存储介质 |
CN111858041B (zh) * | 2020-07-10 | 2023-06-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN111858041A (zh) * | 2020-07-10 | 2020-10-30 | 中国联合网络通信集团有限公司 | 一种数据处理方法及服务器 |
CN112363847A (zh) * | 2020-10-23 | 2021-02-12 | 苏宁金融科技(南京)有限公司 | 证照文档的自动化识别方法及*** |
CN112905313A (zh) * | 2021-01-21 | 2021-06-04 | 深圳市元征科技股份有限公司 | 任务处理方法、装置及电子设备 |
CN112905313B (zh) * | 2021-01-21 | 2024-07-12 | 深圳市元征科技股份有限公司 | 任务处理方法、装置及电子设备 |
CN113296848A (zh) * | 2021-06-22 | 2021-08-24 | 中国农业银行股份有限公司 | 一种业务处理方法及装置 |
CN113487900A (zh) * | 2021-07-06 | 2021-10-08 | 北京邮电大学 | 一种针对卫星图像的异步道路信息提取***及其控制方法 |
CN113938527A (zh) * | 2021-08-31 | 2022-01-14 | 阿里巴巴(中国)有限公司 | Api网关的扩展处理方法、计算设备及存储介质 |
CN113938527B (zh) * | 2021-08-31 | 2024-04-26 | 阿里巴巴(中国)有限公司 | Api网关的扩展处理方法、计算设备及存储介质 |
CN116173495A (zh) * | 2023-02-09 | 2023-05-30 | 广州延利网络科技有限公司 | 游戏进程的分配控制方法、装置、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108132835A (zh) | 基于多进程的任务请求处理方法、装置和*** | |
CN109582455A (zh) | 多线程任务处理方法、装置及存储介质 | |
CN110162388A (zh) | 一种任务调度方法、***及终端设备 | |
CN108846632A (zh) | 线程处理方法及装置 | |
CN106529682A (zh) | 一种在大数据集群中处理深度学习任务的方法和装置 | |
CN106254144A (zh) | 故障定位平台、故障定位方法及装置 | |
CN109710400A (zh) | 线程资源分组的方法及装置 | |
CN105979007A (zh) | 加速资源处理方法、装置及网络功能虚拟化*** | |
CN106980571A (zh) | 一种测试用例集的构建方法和设备 | |
CN111724037B (zh) | 运营资源分配方法、装置、计算机设备及可读存储介质 | |
CN110196775A (zh) | 一种计算任务处理方法、装置、设备以及可读存储介质 | |
CN106325756A (zh) | 一种数据存储、数据计算方法和设备 | |
CN108241531A (zh) | 一种在集群中为虚拟机分配资源的方法和装置 | |
CN108681481A (zh) | 业务请求的处理方法及装置 | |
CN104793996A (zh) | 一种并行计算设备的任务调度方法及任务调度装置 | |
CN107704322A (zh) | 请求分配方法及装置 | |
CN109784791A (zh) | 订单分配方法和装置 | |
CN105786619A (zh) | 虚拟机分配方法及装置 | |
CN114462849A (zh) | 任务的均衡分配方法以及任务的均衡分配装置 | |
CN107357640B (zh) | 多线程数据库的请求处理方法及装置、电子设备 | |
CN107864187A (zh) | 终端设备联机任务执行方法及服务器 | |
CN110750517A (zh) | 一种本地存储引擎***的数据处理方法、装置以及设备 | |
CN111144796A (zh) | 用于生成理货信息的方法和装置 | |
CN107402812A (zh) | 集群资源调度方法、装置、设备及存储介质 | |
CN106850822A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180608 |