CN108427603A - 一种任务分派方法方法及装置 - Google Patents
一种任务分派方法方法及装置 Download PDFInfo
- Publication number
- CN108427603A CN108427603A CN201810023108.0A CN201810023108A CN108427603A CN 108427603 A CN108427603 A CN 108427603A CN 201810023108 A CN201810023108 A CN 201810023108A CN 108427603 A CN108427603 A CN 108427603A
- Authority
- CN
- China
- Prior art keywords
- subprocess
- task
- working condition
- reports
- judging
- 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.)
- Withdrawn
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/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/5022—Workload threshold
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
技术领域
本发明涉及计算机处理技术领域,特别涉及一种任务分派方法方法及装置。
背景技术
目前数据同步服务对于不同类型的数据同步需求需要开发不同的子进程(worker),每个worker高度定制化,对于动态扩容支持较差,并非主流的Master-Worker模式,而是Master-Worker1、Worker2的模式(Worker1不具备处理Worker2业务的能力)。
该种方式动态扩容较难,需要制定要扩哪个worker,而且不具备Worker1空闲时执行Worker2任务的能力。
发明内容
本发明提供一种至少部分解决上述技术问题的任务分派方法方法及装置。
第一方面,本发明提供一种任务分派方法,包括:
主进程接收各个子进程上报的当前任务的处理结果;
根据各个子进程上报的当前任务的处理结果,判断各个子进程的工作状态是否为空闲;
根据判断结果确定是否为子进程分派新的任务。
优选的,根据判断结果确定是否为子进程分派新的任务,包括:
若判断结果为子进程的工作状态为空闲,则为该子进程分派新的任务。
优选的,根据判断结果确定是否为子进程分派新的任务,包括:
若判断结果为子进程的工作状态为繁忙,则控制该子进程继续执行当前任务。
优选的,所述当前任务的处理结果包括:子进程处理任务量;
则,根据各个子进程上报的当前任务的处理结果,判断各个子进程的工作状态是否为空闲,包括:
判断子进程上报的子进程处理任务量是否小于等于处理任务量阈值;
若是,则确认子进程的工作状态为空闲。
优选的,判断子进程上报的子进程处理任务量是否小于处理任务量阈值之后,所述方法还包括:
若否,则确认子进程的工作状态为繁忙。
第二方面,本发明还提供一种任务分派装置,包括:
接收单元,用于主进程接收各个子进程上报的当前任务的处理结果;
判断单元,用于根据各个子进程上报的当前任务的处理结果,判断各个子进程的工作状态是否为空闲;
确定单元,用于根据判断结果确定是否为子进程分派新的任务。
优选的,所述确定单元,还用于:
若判断结果为子进程的工作状态为空闲,则为该子进程分派新的任务。
优选的,所述确定单元,还用于:
若判断结果为子进程的工作状态为繁忙,则控制该子进程继续执行当前任务。
优选的,所述当前任务的处理结果包括:子进程处理任务量;
则,所述判断单元,还用于:
判断子进程上报的子进程处理任务量是否小于等于处理任务量阈值;
若是,则确认子进程的工作状态为空闲。
优选的,所述判断单元,还用于:
判断子进程上报的子进程处理任务量是否小于处理任务量阈值之后,所述方法还包括:若否,则确认子进程的工作状态为繁忙。
由上述技术方案可知,本发明可根据子进程的当前工作状态确定是否为子进程分派新的任务,从而可以为空闲的子进程分派新的任务,可见,本实施例可以使子进程不再局限于自己的任务,在空闲时可以执行新的任务,实现了子进程的非定制,能弹性扩容(能分担其他子进程的任务),充分利用资源。
附图说明
图1为本发明一实施例提供的一种任务分派方法方法的流程图;
图2为本发明另一种实施例提供的一种任务分派方法装置的原理框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的一种任务分派方法方法的流程图。
如图1所示的一种任务分派方法,包括:
S101、主进程接收各个子进程上报的当前任务的处理结果;
在一种具体实施例中,主进程启动,在判断获知配置成功(此处的配置指子进程数量配置、子进程入口函数配置等)、状态检查通过以及创建管道成功后,安装信号,并创建子进程,向各个子进程分派任务,各个子进程执行任务,此时认为该任务为当前任务,并定时向主进程上报当前任务的处理结果。
主进程和子进程的通信有两种方式,pipe文件通信、信号管理。
S102、根据各个子进程上报的当前任务的处理结果,判断各个子进程的工作状态是否为空闲;
S103、根据判断结果确定是否为子进程分派新的任务。
本实施例可根据子进程的当前工作状态确定是否为子进程分派新的任务,从而可以为空闲的子进程分派新的任务,可见,本实施例可以使子进程不再局限于自己的任务,在空闲时可以执行新的任务,实现了子进程的非定制,能弹性扩容(能分担其他子进程的任务),充分利用资源。
具体可参见下面两个优选实施例。
作为一种优选实施例,所述步骤S103,包括:
若判断结果为子进程的工作状态为空闲,则为该子进程分派新的任务。
作为一种优选实施例,所述步骤S103,包括:
若判断结果为子进程的工作状态为繁忙,则控制该子进程继续执行当前任务。
所述当前任务的处理结果包括:子进程处理任务量;
则,作为一种优选实施例,所述步骤S102,包括:
判断子进程上报的子进程处理任务量是否小于等于处理任务量阈值;
若是,则确认子进程的工作状态为空闲。
若否,则确认子进程的工作状态为繁忙。
作为一种优选实施例,所述步骤S102,包括:
将各个子进程上报的子进程处理任务量按照由大到小的顺序进行排序;
将排序结果中后面预设位数的子进程处理任务量对应的子进程的工作状态确认为空闲;
其余子进程的工作状态确认为繁忙。
所述当前任务的处理结果还可包括:错误量和存活时间。子进程上报的子进程处理任务量中包括所述错误量。根据错误量和/或存活时间确定重启子进程的时间。
举例说明本发明:
包括3个子进程,分别为worker1、worker2、worker3;处理任务量阈值为80个;其中,worker1、worker2、worker3当前上报的子进程处理任务量分别是50、70和110个,则确认worker1、worker2的工作状态为空闲,worker3的工作状态为繁忙,则为worker1、worker2再分别分派30个和50个新的任务。
可见,本发明可以使子进程不再局限于自己的任务,在空闲时可以执行新的任务,实现了子进程的非定制,能弹性扩容(能分担其他子进程的任务),充分利用资源。
图2为本发明另一种实施例提供的一种任务分派方法装置的原理框图。
如图2所示的一种任务分派装置,包括:
接收单元201,用于主进程接收各个子进程上报的当前任务的处理结果;
在一种具体实施例中,主进程启动,在判断获知配置成功(此处的配置指子进程数量配置、子进程入口函数配置等)、状态检查通过以及创建管道成功后,安装信号,并创建子进程,向各个子进程分派任务,各个子进程执行任务,此时认为该任务为当前任务,并定时向主进程上报当前任务的处理结果。
主进程和子进程的通信有两种方式,pipe文件通信、信号管理。
判断单元202,用于根据各个子进程上报的当前任务的处理结果,判断各个子进程的工作状态是否为空闲;
确定单元203,用于根据判断结果确定是否为子进程分派新的任务。
本实施例可根据子进程的当前工作状态确定是否为子进程分派新的任务,从而可以为空闲的子进程分派新的任务,可见,本实施例可以使子进程不再局限于自己的任务,在空闲时可以执行新的任务,实现了子进程的非定制,能弹性扩容(能分担其他子进程的任务),充分利用资源。
具体可参见下面两个优选实施例。
作为一种优选实施例,所述确定单元203,还用于:
若判断结果为子进程的工作状态为空闲,则为该子进程分派新的任务。
作为一种优选实施例,所述确定单元203,还用于:
若判断结果为子进程的工作状态为繁忙,则控制该子进程继续执行当前任务。
所述当前任务的处理结果包括:子进程处理任务量;
则,作为一种优选实施例,所述判断单元202,还用于:
判断子进程上报的子进程处理任务量是否小于等于处理任务量阈值;
若是,则确认子进程的工作状态为空闲。
作为一种优选实施例,所述判断单元202,还用于:
判断子进程上报的子进程处理任务量是否小于处理任务量阈值之后,所述方法还包括:若否,则确认子进程的工作状态为繁忙。
所述当前任务的处理结果还可包括:错误量和存活时间。子进程上报的子进程处理任务量中包括所述错误量。根据错误量和/或存活时间确定重启子进程的时间。
举例说明本发明:
包括3个子进程,分别为worker1、worker2、worker3;处理任务量阈值为80个;其中,worker1、worker2、worker3当前上报的子进程处理任务量分别是50、70和110个,则确认worker1、worker2的工作状态为空闲,worker3的工作状态为繁忙,则为worker1、worker2再分别分派30个和50个新的任务。
可见,本发明可以使子进程不再局限于自己的任务,在空闲时可以执行新的任务,实现了子进程的非定制,能弹性扩容(能分担其他子进程的任务),充分利用资源。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合,例如,可以将一些部件组合为单个部件,或者可以将一些部件进一步分解为更多的子部件。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上实施方式仅适于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种任务分派方法,其特征在于,包括:
主进程接收各个子进程上报的当前任务的处理结果;
根据各个子进程上报的当前任务的处理结果,判断各个子进程的工作状态是否为空闲;
根据判断结果确定是否为子进程分派新的任务。
2.根据权利要求1所述的方法,其特征在于,根据判断结果确定是否为子进程分派新的任务,包括:
若判断结果为子进程的工作状态为空闲,则为该子进程分派新的任务。
3.根据权利要求1所述的方法,其特征在于,根据判断结果确定是否为子进程分派新的任务,包括:
若判断结果为子进程的工作状态为繁忙,则控制该子进程继续执行当前任务。
4.根据权利要求1所述的方法,其特征在于,所述当前任务的处理结果包括:子进程处理任务量;
则,根据各个子进程上报的当前任务的处理结果,判断各个子进程的工作状态是否为空闲,包括:
判断子进程上报的子进程处理任务量是否小于等于处理任务量阈值;
若是,则确认子进程的工作状态为空闲。
5.根据权利要求4所述的方法,其特征在于,判断子进程上报的子进程处理任务量是否小于处理任务量阈值之后,所述方法还包括:
若否,则确认子进程的工作状态为繁忙。
6.一种任务分派装置,其特征在于,包括:
接收单元,用于主进程接收各个子进程上报的当前任务的处理结果;
判断单元,用于根据各个子进程上报的当前任务的处理结果,判断各个子进程的工作状态是否为空闲;
确定单元,用于根据判断结果确定是否为子进程分派新的任务。
7.根据权利要求6所述的装置,其特征在于,所述确定单元,还用于:
若判断结果为子进程的工作状态为空闲,则为该子进程分派新的任务。
8.根据权利要求6所述的装置,其特征在于,所述确定单元,还用于:
若判断结果为子进程的工作状态为繁忙,则控制该子进程继续执行当前任务。
9.根据权利要求6所述的装置,其特征在于,所述当前任务的处理结果包括:子进程处理任务量;
则,所述判断单元,还用于:
判断子进程上报的子进程处理任务量是否小于等于处理任务量阈值;
若是,则确认子进程的工作状态为空闲。
10.根据权利要求9所述的装置,其特征在于,所述判断单元,还用于:
判断子进程上报的子进程处理任务量是否小于处理任务量阈值之后,所述方法还包括:若否,则确认子进程的工作状态为繁忙。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810023108.0A CN108427603A (zh) | 2018-01-10 | 2018-01-10 | 一种任务分派方法方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810023108.0A CN108427603A (zh) | 2018-01-10 | 2018-01-10 | 一种任务分派方法方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108427603A true CN108427603A (zh) | 2018-08-21 |
Family
ID=63155853
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810023108.0A Withdrawn CN108427603A (zh) | 2018-01-10 | 2018-01-10 | 一种任务分派方法方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108427603A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109788325A (zh) * | 2018-12-28 | 2019-05-21 | 网宿科技股份有限公司 | 视频任务分配方法及服务器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799471A (zh) * | 2012-05-25 | 2012-11-28 | 上海斐讯数据通信技术有限公司 | 操作系统的进程回收方法及系统 |
CN104750543A (zh) * | 2013-12-26 | 2015-07-01 | 杭州华为数字技术有限公司 | 线程创建方法、业务请求处理方法及相关设备 |
CN104915246A (zh) * | 2014-03-12 | 2015-09-16 | 浙江浙大中控信息技术有限公司 | 一种基于工作流的高可配分布式实时计算引擎及控制方法 |
CN105573850A (zh) * | 2015-11-09 | 2016-05-11 | 广州多益网络科技有限公司 | 多进程交互方法、系统和服务器 |
CN106373119A (zh) * | 2016-09-05 | 2017-02-01 | 广东工业大学 | 一种纤维检测方法及系统 |
-
2018
- 2018-01-10 CN CN201810023108.0A patent/CN108427603A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799471A (zh) * | 2012-05-25 | 2012-11-28 | 上海斐讯数据通信技术有限公司 | 操作系统的进程回收方法及系统 |
CN104750543A (zh) * | 2013-12-26 | 2015-07-01 | 杭州华为数字技术有限公司 | 线程创建方法、业务请求处理方法及相关设备 |
CN104915246A (zh) * | 2014-03-12 | 2015-09-16 | 浙江浙大中控信息技术有限公司 | 一种基于工作流的高可配分布式实时计算引擎及控制方法 |
CN105573850A (zh) * | 2015-11-09 | 2016-05-11 | 广州多益网络科技有限公司 | 多进程交互方法、系统和服务器 |
CN106373119A (zh) * | 2016-09-05 | 2017-02-01 | 广东工业大学 | 一种纤维检测方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109788325A (zh) * | 2018-12-28 | 2019-05-21 | 网宿科技股份有限公司 | 视频任务分配方法及服务器 |
CN109788325B (zh) * | 2018-12-28 | 2021-11-19 | 网宿科技股份有限公司 | 视频任务分配方法及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100509794B1 (ko) | 데이터베이스 관리시스템을 이용하는 작업들의 실시간 처리를 위한 스케줄링 방법 | |
CN101778013B (zh) | 网站测试系统及方法 | |
CN105677462A (zh) | 基于物联网的分布式任务系统及业务处理方法 | |
CN110991808B (zh) | 一种任务分配方法和装置 | |
CN105100280B (zh) | 任务分配方法和装置 | |
CN110187960A (zh) | 一种分布式资源调度方法及装置 | |
CN110750339B (zh) | 一种线程调度方法、装置及电子设备 | |
CN111090519B (zh) | 任务执行方法、装置、存储介质及电子设备 | |
CN108427603A (zh) | 一种任务分派方法方法及装置 | |
CN112214288A (zh) | 基于Kubernetes集群的Pod调度方法、装置、设备和介质 | |
CN110365517A (zh) | 数据处理方法、装置、存储介质及计算机设备 | |
CN107045452B (zh) | 虚拟机调度方法和装置 | |
CN113055416B (zh) | 容器集群节点资源池的管理方法和装置 | |
CN114884560B (zh) | 一种面向多用户资源申请的弧段复用融合方法 | |
CN110135685A (zh) | 一种产品设计任务的分配方法及装置 | |
US6336127B1 (en) | Dynamic user management for timed shared computer systems | |
CN110209475B (zh) | 数据采集方法及装置 | |
CN113032092A (zh) | 分布式计算方法、装置及平台 | |
CN113301087A (zh) | 资源调度方法、装置、计算设备和介质 | |
CN113204434B (zh) | 基于k8s的计划任务执行方法、装置及计算机设备 | |
CN110045976A (zh) | 一种应用的更新方法和系统 | |
CA2313273A1 (en) | Device and method for allocating jobs in a network | |
CN109684063A (zh) | 一种任务调度方法和装置 | |
JPH1069402A (ja) | ソフトウェアの自動試験制御方法 | |
CN110138985A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180821 |
|
WW01 | Invention patent application withdrawn after publication |