【技术实现步骤摘要】
本专利技术属于计算机领域,尤其涉及一种计算机中的任务分配方法及系统。
技术介绍
在软件系统中有许多业务场景都需要定时处理任务,处理这些任务的主体通常由“进程”承担。在任务量小的情况下,一个“进程”即可完成这些任务。但在任务量大,可靠性要求高的情况下,不得不采用分布式多线程的模式来处理。一旦涉及到多线程模式,那就牵涉出了任务如何在这些“进程”之间分配的问题。Quartz是OpenSymphony开源组织在Jobscheduling领域的一个Java开源项目。Quartz框架的核心是调度器,它负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。Quartz不仅仅是进程和进程管理。为确保可伸缩性,Quartz采用了基于多进程的架构。启动时,框架初始化一套worker进程,这套进程被调度器用来执行预定的任务,这样Quartz就能并发运行多个任务。Quartz依赖一套松耦合的进程池管理部件来管理线程环境。< ...
【技术保护点】
一种计算机中的任务分配方法,用于将m个任务池中的任务分配给p个进程,其特征在于,所述m个任务池依次排列,每个任务池具有n个存储单元,方法包括:S1,对所述p个进程按顺序进行排列,得到进程队列;S2,将第i个任务池的第j个存储单元中的任务分配给第k个进程,其中,若的余数等于0,则k等于p,否则k等于的余数,m、n、p、i、j、k均为大于等于1的整数,其中,1≤i≤m,1≤j≤n,1≤k≤p。
【技术特征摘要】
1.一种计算机中的任务分配方法,用于将m个任务池中的任务分配
给p个进程,其特征在于,所述m个任务池依次排列,每个任务池具有n
个存储单元,方法包括:
S1,对所述p个进程按顺序进行排列,得到进程队列;
S2,将第i个任务池的第j个存储单元中的任务分配给第k个进程,
其中,若的余数等于0,则k等于p,否则k等于的
余数,m、n、p、i、j、k均为大于等于1的整数,其中,1≤i≤m,1≤j
≤n,1≤k≤p。
2.根据权利要求1所述的计算机中的任务分配方法,其特征在于,
在所述步骤S2之后,若所述p个进程中的一个进程结束,则在进程队列
中删除该进程,并令p=p-1,接着,执行所述步骤S1~S2。
3.根据权利要求1所述的计算机中的任务分配方法,其特征在于,
在所述步骤S2之后,若有新的进程启动,则将该加入新的进程至所述进
程队列中,并令p=p+1,接着,执行所述步骤S1~S2。
4.根据权利要求1所述的计算机中的任务分配方法,其特征在于,
在所述步骤S1之前,包括:
所述p个进程中的每个进程在启动时,为该进程分配一个标识符。
5.根据权利要求4所述的计算机中的任务分配方法,其特征在于,
所述步骤S1包括:
获取所述p个进程中每个进程的标识符,根据所述标识符的大小,对
所述p个进程进行排列,得到进程队列。
6.根据权利要求1所述的计算机中的任务分配方法,其特征在于,
在所述步骤S1中,将所述进程队列中的第一个进程作为主线程,用
于执行所述步骤S2。
7.一种计算机中的任务分配系统...
【专利技术属性】
技术研发人员:黄平,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。