CN109684089A - 一种基于预测模型的任务调度方法、***及电子设备 - Google Patents
一种基于预测模型的任务调度方法、***及电子设备 Download PDFInfo
- Publication number
- CN109684089A CN109684089A CN201811551247.7A CN201811551247A CN109684089A CN 109684089 A CN109684089 A CN 109684089A CN 201811551247 A CN201811551247 A CN 201811551247A CN 109684089 A CN109684089 A CN 109684089A
- Authority
- CN
- China
- Prior art keywords
- task
- request
- prediction
- revocation
- queue
- 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
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/5038—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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于预测模型的任务调度方法,包括步骤S1:主控器Master接收用户提交的预测请求;步骤S2:加载计数器和撤销计数器分别计算任务队列所接收到的预测请求数量;且根据加载计数器的数值确定预测请求存储于任务队列;步骤S3:Worker执行任务队列中的加载请求以加载预测模型,Worker执行任务队列中的预测任务,通过预测模型运算以获得预测任务所对应的预测结果;及步骤S4:Worker执行任务队列中的撤销请求,根据执行的撤销请求数量控制撤销计数器的数值并根据撤销计数器的数值控制预测模型的卸载。本发明还提供了对应的基于预测模型的任务调度***及电子设备,具有任务执行效率高,相互干扰性低等优点。
Description
【技术领域】
本发明涉及人工智能领域,尤其涉及一种基于预测模型的任务调度方法、***及电子设备。
【背景技术】
在人工智能的应用中,人们往往需要同时加载模型提供预测服务,例如,某零售业电商每天需要对不同业态下的商品进行关联推荐和排序,这些预测任务的优先级往往都是一样的。在现有的预测***中,一旦用户同时提交预测请求时,会出现模型重复加载的情况。如此,导致整个预测***工作效率低下。此外,还存在预测任务完成后,模型仍然处于加载状态,未被及时释放而降低了资源利用率。
【发明内容】
为克服目前预测任务调度的缺点,本发明提出了一种基于预测模型的任务调度方法及***与电子设备。
本发明提供了一种解决上述技术问题的技术方案:一种基于预测模型的任务调度方法,其用于进行任务调度以获得用户提交的预测请求所对应的预测结果,所述基于预测模型的任务调度方法包括:步骤S1:主控器Master接收用户提交的预测请求;主控器Master所接收到的每一预测请求包括加载请求、预测任务以及撤销请求;加载计数器和撤销计数器分别计算任务队列所接收到的预测请求数量;且根据加载计数器的数值确定预测请求的加载请求、预测任务以及撤销请求被存储于任务队列或根据加载计数器的数值确定预测请求的预测任务以及撤销请求被存储于任务队列;步骤S3:Worker执行任务队列中的加载请求以加载预测模型,Worker执行任务队列中的预测任务,通过预测模型运算以获得预测任务所对应的预测结果;及步骤S4:Worker执行任务队列中的撤销请求,根据执行的撤销请求数量控制撤销计数器的数值并根据撤销计数器的数值控制预测模型的卸载。
优选地,加载计数器初始数值为0,任务队列每接收到一个预测请求所述加载计数器数值加1;步骤S2中,当加载计算器当前的数值为0时,预测请求的加载请求、预测任务以及撤销请求被存储至任务队列;当加载计算器当前的数值大于等于1时,预测请求的预测任务以及撤销请求被存储至任务队列。
优选地,撤销计数器的初始数值为0,任务队列每接收到一个预测请求所述撤销计数器的数值加1;在步骤S4中,Worker每执行一个撤销请求,所述撤销计数器的数值减1;当撤销计数器的数值为0时,所述预测模型被Worker卸载。
优选地,加载计数器初始数值为0,任务队列每接收到一个预测请求所述加载计数器数值加1;当撤销计数器为0时,所述加载计数器也被置为0。
优选地,步骤S3中,当任务队列中的预测任务多于2个且该预测任务无对应的加载请求时,Worker根据主控器Master接收所述预测任务的时间顺序来处理预测任务。
优选地,所述Worker空闲时,自动访问任务队列以确认是否有任务需要执行,所述Worker为一个或多个。
优选地,所述任务队列为多个,每一任务队列匹配一加载计数器及一撤销计数器;不同的任务队列用于存储不同类型的预测请求;步骤S1和步骤S2之间包括步骤Tm:主控器Master所接收到的预测请求之任务类型以及该任务类型对应的任务队列之ID被存储至任务统计队列;在步骤S2中,预测请求的加载请求、预测任务以及撤销请求或预测请求的预测任务以及撤销请求被存储至任务队列之ID对应用的任务队列;在步骤S3执行前包括步骤Tn1:Worker访问任务统计队列以获得当前应处理预测请求的任务类型及该任务类型对应的任务队列之ID;及步骤Tn2:Worker根据任务队列之ID访问对应的任务队列;在步骤S3中,Worker加载任务类型对应的预测模型;当步骤S4中,预测模型被卸载,则转入步骤Tn1。
本发明还提供一种基于预测模型的任务调度***,其用于进行任务调度以获得用户提交的预测请求所对应的预测结果,所述基于预测模型的任务调度***包括:主控器Master,用于接收用户提交的预测请求;主控器Master所接收到的每一预测请求包括加载请求、预测任务以及撤销请求;任务管理器,包括任务队列及对应于该任务队列的加载计数器和撤销计数器;加载计数器和撤销计数器分别用于计算任务队列所接收到的预测请求数量;任务队列用于根据加载计数器的数值存储预测请求的加载请求、预测任务以及撤销请求或存储预测请求的预测任务以及撤销请求;Worker,用于执行任务队列中的加载请求以加载预测模型,执行预测任务以获得对应的预测结果,及执行任务队列中的撤销请求,根据执行的撤销请求数量控制撤销计数器的数值并根据撤销计数器的数值控制预测模型的卸载;及预测模型,用于被Worker调度以运算以获得执行任务队列中预测任务所对应的预测结果。
优选地,所述任务队列为多个,每一任务队列匹配一加载计数器及一撤销计数器;不同的任务队列用于存储不同类型的预测请求;基于预测模型的任务调度***进一步包括:任务统计队列,用于统计主控器Master所接收到的预测请求之任务类型以及该任务类型对应的任务队列之ID;预测请求的加载请求、预测任务以及撤销请求或预测请求的预测任务以及撤销请求被存储至任务队列之ID对应用的任务队列;Worker根据任务队列之ID访问对应的任务队列并根据任务类型加载对应的预测模型,Worker根据任务统计队列所统计的未完成预测请求之任务类型顺序来执行任务。
本发明还提供一种电子设备,包括一存储介质,其存储有程序,该程序用于执行如上所述的基于预测模型的任务调度方法。
与现有技术相比,本发明所提供的基于预测模型的任务调度***通过在任务管理器中设置计算任务队列所接收到的预测请求数量加载计数器和撤销计数器,并通过加载计数器中数值判断保证任一任务队列中,任何时刻的加载请求至多为一次,如此,可以避免预测模型在重复加载导致工作效率低下的问题,此外,用户提交预测请求后,预测任务即被存储至任务队列等待Worker执行,实现了异步化,达到了提高计算效率的目的。***通过撤销计数器中数值的判断以保证预测模型可以及时被卸载,Worker可以及时得到释放,***利用率大大提高。
Worker自动访问任务队列以确认是否有任务需要执行,卸载预测模型后即处于闲置状态,可以有效释放***资源。
***中任务管理器的数量可以为多个,不同任务类型的预测任务分配于不同的任务队列,因此,不同任务类型的预测任务之间的预测过程不会相互干扰而出现竞争状态,尤其是当Worker数量为多个,更优选大于等于预测模型数量时,不同任务类型的预测请求可以同时被执行,保证了不同预测请求之间的不会相互依赖、堵塞,提高预测执行的效率及任务之间的相对公平性。
本发明所提供的基于预测模型的任务调度方法及对应可执行所述基于预测模型的任务调度方法的电子设备同样具有如上优点。
【附图说明】
图1是本发明第一实施例基于预测模型的任务调度***的模块结构示意图。
图2是本发明第二实施例基于预测模型的任务调度方法流程示意图。
图3是本发明第三实施例基于预测模型的任务调度***的模块结构示意图。
图4是本发明第四实施例基于预测模型的任务调度***的模块结构示意图。
图5是本发明第五实施例电子设备的模块结构示意图。
【具体实施方式】
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图及实施实例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,本发明第一实施例提供一种基于预测模型的任务调度***10,其用于进行任务调度以获得用户提交的预测请求所对应的预测结果。用户可以是一个或多个,本发明中以多个用户为例来进行示意说明,用户包括用户1、用户2、用户3······用户n,用户1、用户2、用户3······用户n分别对应有用户界面1、用户界面2、用户界面3······用户界面n。用户可以通过用户界面提交预测请求。用户界面可以是手机端、电脑端、穿戴设备端、电视端、车载设备端或其他可与用户进行人机互动的设备端。可以理解,不同的用户可以通过同一用户界面提交预测请求,一个用户也可以通过不同的用户界面提交预测请求。
基于预测模型的任务调度***10包括主控器Master11、任务管理器13,Worker 15以及预测模型17,主控器Master 11、任务管理器13,Worker 15以及预测模型17之间协调工作以获得用户提交的预测请求对应的预测结果。
主控器Master 11,用于接收用户提交的预测请求;主控器Master 11所接收到的每一预测请求包括加载请求、预测任务以及撤销请求。可以理解,加载请求被执行时,Worker 15加载预测模型17;预测任务被执行时,Worker15通过加载的预测模型17运算获得预测任务所对应的预测结果;撤销请求被执行时,即意味着已经完成了当前预测请求的处理。主控器Master 11数量为1个。
任务管理器13,包括任务队列131及对应于该任务队列131的加载计数器133和撤销计数器135;任务队列131用于存储预测请求的加载请求、预测任务以及撤销请求或存储预测请求的预测任务以及撤销请求;加载计数器133和撤销计数器135分别用于计算任务队列131所接收到的预测请求数量,可以理解,任务队列131接收到的预测请求的数量可以通过根据加载请求、和/或预测任务和/或撤销请求中的数量来确定。本实施例中任务管理器13数量为1个。
Worker 15,用于执行任务队列131中的加载请求以加载预测模型17,执行预测任务以获得对应的预测结果,及执行任务队列131中的撤销请求,根据执行的撤销请求数量控制撤销计数器135的数值并根据撤销计数器135的数值控制预测模型17的卸载。可以理解Worker 15的数量不做限制,其可以是一个或多个。
预测模型17,用于被Worker 15调度以运算以获得执行任务队列131中预测任务所对应的预测结果。本实施例中预测模型17为一个。
作为一种实施方式,主控器Master 11、任务管理器13,Worker 15以及预测模型17之间协调工作以获得用户提交的预测请求所对应的预测结果过程如下:主控器Master 11接收用户提交的预测请求包括加载请求、预测任务以及撤销请求,可以理解,撤销请求为用户提交的预测请求所携带的固有任务,也可以是***在用户提交预测请求后自动附加的任务。加载计数器133及撤销计数器135的初始数值为0,任务队列131每接收到一个预测请求所述加载计数器133及撤销计数器135的数值加1。主控器Master 11将预测请求存储至任务队列131,具体的,主控器Master 11先判断加载计算器当前的数值是否为0,如果为0,即任务队列131中没有任务,主控器Master 11将当前预测请求的加载请求、预测任务以及撤销请求均存储至任务队列131。如果加载计算器当前的数值大于等于1时,即任务队列131中已经有任务,主控器Master 11将当前预测请求的预测任务以及撤销请求均存储至任务队列131,即当前预测请求的加载请求被忽略而不会存储至任务队列131,如此,任何时间内,任务队列131中的加载请求至多为一个。避免所有预测请求对应的加载请求全部都存储于任务队列131后,Worker 15重复加载预测模型17带来工作效率低的问题。Worker 15空闲时,自动访问任务队列131以确认是否有任务需要执行。当任务队列131中有任务时,Worker 15开始执行任务,Worker 15执行加载请求,完成对预测模型17的加载;Worker 15执行预测任务,通过加载的预测模型17运算获得预测任务对应的预测结果;Worker 15执行撤销请求,其每执行一个撤销请求,撤销计数器135的数值减1;当撤销计数器135的数值为0时,即任务队列131中的任务均被执行完毕,所述预测模型17被Worker 15卸载,如此可以避免Worker15被预测模型17持续占用的问题,无任务执行时,Worker 15处于闲置状态。当任务队列131中的预测任务多于2个且该预测任务无对应的加载请求时,Worker 15根据主控器Master11接收所述预测任务的时间顺序来处理预测任务,如此,预测任务可以有效,公平地被执行。
本发明中所提及的加载计数器133及撤销计数器135初始值为0,可以理解为0为定义的一个基准值,该基准值具体数值可以用户自定义。本发明中所提及的加载计数器133及撤销计数器135加减1,可以理解1为定义的一个固定数值,该固定数值的大小也可以用户自定义。
以某商场中,某店铺三位不同的员工分别向基于预测模型的任务调度***10提交预测请求为例来进行说明。在该示例中,预测模型17为根据客户信息对客户购买意向进行预测的模型,如输入客户的年龄、收入及性别等可获得客户购买该店铺产品的概率。加载计数器133和撤销计数器135的初始值均为0,三位不同的员工分别为用户1、用户2及用户3,其依次向基于预测模型的任务调度***10提交单个预测请求,加载计数器133和撤销计数器135中数值变化如下表(时间T1至T6为正向时间轴所选取的6个时间点):
处于闲置状态的Worker 15在T4时间点前开始执行任务队列131中的任务,执行加载请求时,预测模型17被加载,直到用户3的预测请求被执行完时,即Worker 15执行用户3的预测请求所对应的撤销请求,撤销计数器135中数值减1,即此时撤销计数器135中数值由1变为0,撤销计数器135中数值为0时,加载计数器133中的数值被强制置为0。撤销计数器135中数值为0时,预测模型17被卸载,Worker 15被释放继续处于闲置状态。
本发明第二实施例提供一种采用第一实施例中基于预测模型的任务调度***10来实施的基于预测模型的任务调度方法,其用于进行任务调度以获得用户提交的预测请求所对应的预测结果。
基于预测模型的任务调度方法包括:
步骤S1:主控器Master接收用户提交的预测请求;主控器Master所接收到的每一预测请求包括加载请求、预测任务以及撤销请求;
步骤S2:加载计数器和撤销计数器分别计算任务队列所接收到的预测请求数量;且根据加载计数器的数值确定预测请求的加载请求、预测任务以及撤销请求被存储于任务队列或根据加载计数器的数值确定预测请求的预测任务以及撤销请求被存储于任务队列;
步骤S3:Worker执行任务队列中的加载请求以加载预测模型,Worker执行任务队列中的预测任务,通过预测模型运算以获得预测任务所对应的预测结果;及
步骤S4:Worker执行任务队列中的撤销请求,根据执行的撤销请求数量控制撤销计数器的数值并根据撤销计数器的数值控制预测模型的卸载。
加载计数器和撤销计数器的初始数值均为0,任务队列每接收到一个预测请求所述加载计数器和撤销计数器的数值加1。可以理解,任务队列接收到的预测请求的数量可以通过根据加载请求、和/或预测任务和/或撤销请求中的数量来确定。
在步骤S2中,当加载计算器当前的数值为0时,预测请求的加载请求、预测任务以及撤销请求被存储至任务队列;当加载计算器当前的数值大于等于1时,预测请求的预测任务以及撤销请求被存储至任务队列,即当加载计算器当前的数值大于等于1时,预测请求的预测任务对应的加载请求被忽略,其不会被存储至任务队列中。
在步骤S4中,Worker每执行一个撤销请求,所述撤销计数器的数值减1;当撤销计数器的数值为0时,所述预测模型被Worker卸载。当撤销计数器为0时,所述加载计数器也被置为0。
在步骤S3中,当任务队列中的预测任务多于2个且该预测任务无对应的加载请求时,Worker根据主控器Master接收所述预测任务的时间顺序来处理预测任务。
可以理解,第一实施例中所揭示的内容适用于本实施例。
请参阅图3,本发明第三实施例提供一种基于预测模型的任务调度***20,其用于进行任务调度以获得用户提交的预测请求所对应的预测结果。本实施例与第一实施例相同,其同样包括主控制器Master 21,Worker 25,其不同之处仅在于:本实施例中新增有任务统计队列22。此外,预测模型27的数量为多个,其具体包括预测模型27a、预测模型27b······预测模型27n;任务管理器23为多个,其具体包括任务管理器23a、任务管理器23b······任务管理器23n,任务管理器23a包括任务队列231a、加载计数器233a及撤销计数器235b,任务管理器23b包括任务队列231b、加载计数器233b及撤销计数器235b······任务管理器23n包括任务队列231n、加载计数器233n及撤销计数器235n。
用户通过用户界面提交预测请求。主控器Master 21、任务统计队列22、任务管理器23,Worker 25以及预测模型27之间协调工作以获得用户提交的预测请求对应的预测结果。
主控器Master 21,用于接收用户提交的预测请求;主控器Master 21所接收到的每一预测请求包括加载请求、预测任务以及撤销请求。主控器Master 21数量为1个。
任务统计队列22,用于统计主控器Master 21所接收到的预测请求之任务类型以及该任务类型对应的任务队列231之ID;可以理解,本实施例中至少存在可进行不同预测功能的二预测模型27,不同预测功能的预测模型27所对应的任务类型即不同。例如,预测模型27a执行A类预测,预测模型27b执行B类预测,用户1请求A类预测,用户2请求B类预测,任务统计队列22则会记录用户1和用户2的任务类型分别为A类预测和B类预测。不同类型的预测任务将被存储至不同任务队列231,每一预测请求均有其“专属”的任务队列231,任务统计队列22会将预测请求的任务类型连同该任务类型对应的任务队列231之ID进行统计,以方便Worker 25通过任务队列231之ID访问到对应的任务队列231。
任务管理器23为多个,每一任务管理器23包括任务队列231及对应于该任务队列231的加载计数器233和撤销计数器235;任务队列231用于存储的预测请求的加载请求、预测任务以及撤销请求或存储某一任务类型的预测请求的预测任务以及撤销请求;加载计数器233和撤销计数器233分别用于计算任务队列231所接收到的预测请求数量。
Worker 25,用于根据任务统计队列22所统计的未完成预测请求之任务类型顺序来执行任务,未完成预测请求为当前应处理预测请求,可以理解,任务类型顺序指的是当前任务统计队列22中,首次出现的任务类型的排序。如任务队列中有4个依时间顺序先后出现的预测请求,任务类型分别A类预测和B类预测、B类预测和A类预测,对应的任务类型首次出现的顺序为先A类型,后B类型,那么Worker 25将先执行A类型的预测请求,即第1个请求和第4个请求先被执行,B类型的预测请求后执行,即第2个请求和第3个请求后执行。具体地,Worker 25根据任务队列231之ID访问对应的任务队列231。Worker 25执行任务队列231中的加载请求以加载任务类型对应的预测模型27,执行预测任务以获得对应的预测结果,及执行任务队列231中的撤销请求,根据执行的撤销请求数量控制撤销计数器235的数值并根据撤销计数器235的数值控制预测模型27的卸载。可以理解Worker 25的数量不做限制,其可以是一个或多个。
预测模型27,用于被Worker 25调度以运算以获得执行任务队列231中预测任务所对应的预测结果。本实施例中预测模型27为多个。
作为一种实施方式,主控器Master 21、任务统计队列22、多个任务管理器23,Worker 25以及多个预测模型27之间协调工作以获得用户提交的预测请求所对应的预测结果过程如下:主控器Master 21接收用户提交的预测请求包括加载请求、预测任务以及撤销请求,可以理解,撤销请求为用户提交的预测请求所携带的固有任务,也可以是***在用户提交预测请求后自动附加的任务。主控器Master 21按接收到预测请求的时间顺序将预测请求对应的任务类型及该任务类型对应的任务队列231之ID统计至任务统计队列22。预测请求的加载请求、预测任务以及撤销请求或预测请求的预测任务以及撤销请求被存储至任务队列231之ID对应用的任务队列231。以用户1和用户2依次分别请求A类预测和B类预测为例来说,界定任务管理器23a用于处理A类型预测,任务管理器23b用于处理B类型预测。主控器Master 21首先将用户1的预测请求存储至任务队列231a,加载计数器233a和撤销计数器235a的初始值均由0变成1以记录任务队列231a所接收到的预测请求数量。然后,主控器Master 21再将用户2的预测请求存储至任务队列231b,加载计数器233b和撤销计数器235b的初始值均由0变成1以记录任务队列231b所接收到的预测请求数量。当用户1和用户2的预测请求还未被处理完成时,若再有用户3和用户4依次分别提交A类型预测和B类型预测时,同上描述,主控器Master 21先将其对应的任务类型以及任务类型对应的任务队列231a、231b之ID在任务统计队列22处按时间顺序做统计后再将预测请求存储至任务队列231a和任务队列231b。类同于第一实施例中的预测请求存储规则以及加载计数器131和撤销计数器135的计数规则,所述用户3和用户4所提交的预测请求之预测任务以及撤销请求分别存储至任务队列231a和任务队列231b,且加载计数器233a、233b和撤销计数器235a、235b均加1。即用户3和用户4预测请求的加载请求被忽略而不会存储至任务队列231a、231b,如此,任何时间内,任务队列231中的加载请求至多为一个。
Worker 25空闲时,自动访问任务统计队列22以确认是否有任务需要执行。接续上段中所提及的示例,界定预测模型27a执行A类预测,预测模型27b执行B类预测。任务统计队列22中依次统计有用户1、用户2、用户3及用户4的预测请求之任务类型以及任务类型对应的任务队列231a、231b之ID。Worker 25访问到用户1的任务类型以及任务类型对应的任务队列231a之ID,Worker 25根据任务队列231a之ID访问对应的任务队列231a并执行其中的任务;当撤销计数器233a之数值为0时,Worker 25将预测模型27a卸载了,再访问任务统计队列22中未被执行之预测请求的任务类型以及任务类型对应的任务队列231之ID,由于用户1和用户3的任务被执行,任务统计队列22中仅剩余用户2和用户4的请求任务未被执行,Worker 25接下来访问用户2的任务类型以及任务类型对应的任务队列231b之ID,Worker25根据任务队列231b之ID访问对应的任务队列231b并执行其中的任务;当撤销计数器235b之数值为0时,Worker 25将预测模型27b卸载。如此,不同任务类型的预测请求之间互不干扰,有序进行。
可以理解,任务队列231之ID可以是任务管理器23的访问地址,或者***自定义的可以获取任务队列访问入口的信息。
可以理解,任务队列231可以是非专属于特定任务类型的预测请求,其可以根据任务队列231的闲置情况任意进行分配。
优选地,Worker 25的数量为多个,如此,不同Worker 25可以执行不同任务队列231中任务,进一步优选,Worker 25的数量大于等于任务管理器23的数量。
可以理解,当预测请求的任务类型有且仅有一种时,***可以设置模式或主控器Master监测以使得任务统计队列闲置,预测请求无需在任务统计队列处统计,而以类似第一实施例所揭示的方式直接被存储至任务队列。
本发明第四实施例提供一种采用第三实施例中基于预测模型的任务调度***来实施的基于预测模型的任务调度方法,其用于进行任务调度以获得用户提交的预测请求所对应的预测结果。
基于预测模型的任务调度方法包括:
步骤T1:主控器Master接收用户提交的预测请求;主控器Master所接收到的每一预测请求包括加载请求、预测任务以及撤销请求;
步骤Tm:主控器Master所接收到的预测请求之任务类型以及该任务类型对应的任务队列之ID被存储至任务统计队列;
步骤T2:预测请求的加载请求、预测任务以及撤销请求或预测请求的预测任务以及撤销请求被存储于至任务队列之ID对应用的任务队列;加载计数器和撤销计数器分别计算任务队列所接收到的预测请求数量;
步骤Tn1:Worker访问任务统计队列以获得当前应处理预测请求的任务类型及该任务类型对应的任务队列之ID;
步骤Tn2:Worker根据任务队列之ID访问对应的任务队列;
步骤T3:Worker执行任务队列中的加载请求以加载任务类型对应的预测模型,Worker执行任务队列中的预测任务,通过预测模型运算以获得预测任务所对应的预测结果;及
步骤T4:Worker执行任务队列中的撤销请求,根据执行的撤销请求数量控制撤销计数器的数值并根据撤销计数器的数值控制预测模型的卸载。
当步骤S4中,预测模型被卸载,则转入步骤Tn1。
可以理解,第三实施例中所揭示的内容同样适用于本实施例。
作为本发明的一种实施例,本发明中所提及的预测结果可以通过主控器Master传送回用户界面。可以理解,本发明中所提及的预测请求可以采用实时预测模式,以API(Application Programming Interface,应用程序编程接口)调用的方式对预测请求进行实时预测,返回预测结果。作为另一种选择,预测请求可以采用批量预测模式,上传批量预测请求进行预测,返回预测结果存储位置。
可以理解,本发明中主控器Master和Worker的工作同步进行。
本发明第五实施例提供一种电子设备30,其包括一存储介质31,其存储有程序,该程序用于执行如第二实施例和第四实施例中所揭示的基于预测模型的任务调度方法。
与现有技术相比,本发明所提供的基于预测模型的任务调度***通过在任务管理器中设置计算任务队列所接收到的预测请求数量加载计数器和撤销计数器,并通过加载计数器中数值判断保证任一任务队列中,任何时刻的加载请求至多为一次,如此,可以避免预测模型在重复加载导致工作效率低下的问题,此外,用户提交预测请求后,预测任务即被存储至任务队列等待Worker执行,实现了异步化,达到了提高计算效率的目的。***通过撤销计数器中数值的判断以保证预测模型可以及时被卸载,Worker可以及时得到释放,***利用率大大提。
Worker自动访问任务队列以确认是否有任务需要执行,卸载预测模型后即处于闲置状态,可以有效释放***资源。
***中任务管理器的数量可以为多个,不同任务类型的预测任务分配于不同的任务队列,因此,不同任务类型的预测任务之间的预测过程不会相互干扰而出现竞争状态,尤其是当Worker数量为多个,更优选大于等于预测模型数量时,不同任务类型的预测请求可以同时被执行,保证了不同预测请求之间的不会相互依赖、堵塞,提高预测执行的效率及任务之间的相对公平性。
本发明所提供的基于预测模型的任务调度方法及对应可执行所述基于预测模型的任务调度方法的电子设备同样具有如上优点。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的原则之内所作的任何修改,等同替换和改进等均应包含本发明的保护范围之内。
Claims (10)
1.一种基于预测模型的任务调度方法,其用于进行任务调度以获得用户提交的预测请求所对应的预测结果,其特征在于:所述基于预测模型的任务调度方法包括:
步骤S1:主控器Master接收用户提交的预测请求;主控器Master所接收到的每一预测请求包括加载请求、预测任务以及撤销请求;
步骤S2:加载计数器和撤销计数器分别计算任务队列所接收到的预测请求数量;且根据加载计数器的数值确定预测请求的加载请求、预测任务以及撤销请求被存储于任务队列或根据加载计数器的数值确定预测请求的预测任务以及撤销请求被存储于任务队列;
步骤S3:Worker执行任务队列中的加载请求以加载预测模型,Worker执行任务队列中的预测任务,通过预测模型运算以获得预测任务所对应的预测结果;及
步骤S4:Worker执行任务队列中的撤销请求,根据执行的撤销请求数量控制撤销计数器的数值并根据撤销计数器的数值控制预测模型的卸载。
2.如权利要求1所述的基于预测模型的任务调度方法,其特征在于:加载计数器初始数值为0,任务队列每接收到一个预测请求所述加载计数器数值加1;
步骤S2中,当加载计算器当前的数值为0时,预测请求的加载请求、预测任务以及撤销请求被存储至任务队列;当加载计算器当前的数值大于等于1时,预测请求的预测任务以及撤销请求被存储至任务队列。
3.如权利要求1所述的基于预测模型的任务调度方法,其特征在于:撤销计数器的初始数值为0,任务队列每接收到一个预测请求所述撤销计数器的数值加1;
在步骤S4中,Worker每执行一个撤销请求,所述撤销计数器的数值减1;当撤销计数器的数值为0时,所述预测模型被Worker卸载。
4.如权利要求3所述的基于预测模型的任务调度方法,其特征在于:加载计数器初始数值为0,任务队列每接收到一个预测请求所述加载计数器数值加1;当撤销计数器为0时,所述加载计数器也被置为0。
5.如权利要求1所述的基于预测模型的任务调度方法,其特征在于:步骤S3中,当任务队列中的预测任务多于2个且该预测任务无对应的加载请求时,Worker根据主控器Master接收所述预测任务的时间顺序来处理预测任务。
6.如权利要求1所述的基于预测模型的任务调度方法,其特征在于:所述Worker空闲时,自动访问任务队列以确认是否有任务需要执行,所述Worker为一个或多个。
7.如权利要求1-6任一项所述的基于预测模型的任务调度方法,其特征在于:所述任务队列为多个,每一任务队列匹配一加载计数器及一撤销计数器;不同的任务队列用于存储不同类型的预测请求;
步骤S1和步骤S2之间包括步骤Tm:主控器Master所接收到的预测请求之任务类型以及该任务类型对应的任务队列之ID被存储至任务统计队列;
在步骤S2中,预测请求的加载请求、预测任务以及撤销请求或预测请求的预测任务以及撤销请求被存储至任务队列之ID对应用的任务队列;
在步骤S3执行前包括步骤Tn1:Worker访问任务统计队列以获得当前应处理预测请求的任务类型及该任务类型对应的任务队列之ID;及步骤Tn2:Worker根据任务队列之ID访问对应的任务队列;
在步骤S3中,Worker加载任务类型对应的预测模型;
当步骤S4中,预测模型被卸载,则转入步骤Tn1。
8.一种基于预测模型的任务调度***,其用于进行任务调度以获得用户提交的预测请求所对应的预测结果,其特征在于:所述基于预测模型的任务调度***包括:
主控器Master,用于接收用户提交的预测请求;主控器Master所接收到的每一预测请求包括加载请求、预测任务以及撤销请求;
任务管理器,包括任务队列及对应于该任务队列的加载计数器和撤销计数器;加载计数器和撤销计数器分别用于计算任务队列所接收到的预测请求数量;任务队列用于根据加载计数器的数值存储预测请求的加载请求、预测任务以及撤销请求或存储预测请求的预测任务以及撤销请求;
Worker,用于执行任务队列中的加载请求以加载预测模型,执行预测任务以获得对应的预测结果,及执行任务队列中的撤销请求,根据执行的撤销请求数量控制撤销计数器的数值并根据撤销计数器的数值控制预测模型的卸载;及
预测模型,用于被Worker调度以运算以获得执行任务队列中预测任务所对应的预测结果。
9.如权利要求8所述的基于预测模型的任务调度***,其特征在于:所述任务队列为多个,每一任务队列匹配一加载计数器及一撤销计数器;不同的任务队列用于存储不同类型的预测请求;
基于预测模型的任务调度***进一步包括:
任务统计队列,用于统计主控器Master所接收到的预测请求之任务类型以及该任务类型对应的任务队列之ID;
预测请求的加载请求、预测任务以及撤销请求或预测请求的预测任务以及撤销请求被存储至任务队列之ID对应用的任务队列;Worker根据任务队列之ID访问对应的任务队列并根据任务类型加载对应的预测模型,Worker根据任务统计队列所统计的未完成预测请求之任务类型顺序来执行任务。
10.一种电子设备,其特征在于:包括一存储介质,其存储有程序,该程序用于执行如权利要求1-7任一项所述的基于预测模型的任务调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551247.7A CN109684089B (zh) | 2018-12-18 | 2018-12-18 | 一种基于预测模型的任务调度方法、***及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811551247.7A CN109684089B (zh) | 2018-12-18 | 2018-12-18 | 一种基于预测模型的任务调度方法、***及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109684089A true CN109684089A (zh) | 2019-04-26 |
CN109684089B CN109684089B (zh) | 2020-08-18 |
Family
ID=66186303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811551247.7A Active CN109684089B (zh) | 2018-12-18 | 2018-12-18 | 一种基于预测模型的任务调度方法、***及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684089B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688208A (zh) * | 2019-09-09 | 2020-01-14 | 平安普惠企业管理有限公司 | 线性递增的任务处理方法、装置、计算机设备和存储介质 |
CN112162842A (zh) * | 2020-10-13 | 2021-01-01 | 北京百度网讯科技有限公司 | 用于撤销请求的方法、装置、电子设备及可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103282913A (zh) * | 2010-12-29 | 2013-09-04 | 维亚塞斯公司 | 用于加载至少一个软件模块的代码的方法 |
JP5739364B2 (ja) * | 2012-02-28 | 2015-06-24 | 株式会社日立製作所 | 時刻管理装置、方法、およびプログラム |
CN106055311A (zh) * | 2016-05-26 | 2016-10-26 | 浙江工业大学 | 基于流水线多线程的MapReduce任务并行化方法 |
CN108229671A (zh) * | 2018-01-16 | 2018-06-29 | 华南理工大学 | 一种降低加速器外部数据存储带宽需求的***和方法 |
CN108334374A (zh) * | 2017-01-18 | 2018-07-27 | 北京京东尚科信息技术有限公司 | 组件动态加载与执行的方法和装置 |
-
2018
- 2018-12-18 CN CN201811551247.7A patent/CN109684089B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103282913A (zh) * | 2010-12-29 | 2013-09-04 | 维亚塞斯公司 | 用于加载至少一个软件模块的代码的方法 |
JP5739364B2 (ja) * | 2012-02-28 | 2015-06-24 | 株式会社日立製作所 | 時刻管理装置、方法、およびプログラム |
CN106055311A (zh) * | 2016-05-26 | 2016-10-26 | 浙江工业大学 | 基于流水线多线程的MapReduce任务并行化方法 |
CN108334374A (zh) * | 2017-01-18 | 2018-07-27 | 北京京东尚科信息技术有限公司 | 组件动态加载与执行的方法和装置 |
CN108229671A (zh) * | 2018-01-16 | 2018-06-29 | 华南理工大学 | 一种降低加速器外部数据存储带宽需求的***和方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688208A (zh) * | 2019-09-09 | 2020-01-14 | 平安普惠企业管理有限公司 | 线性递增的任务处理方法、装置、计算机设备和存储介质 |
CN112162842A (zh) * | 2020-10-13 | 2021-01-01 | 北京百度网讯科技有限公司 | 用于撤销请求的方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109684089B (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ferjani et al. | A simulation-optimization based heuristic for the online assignment of multi-skilled workers subjected to fatigue in manufacturing systems | |
US8856071B2 (en) | Minimizing staleness in real-time data warehouses | |
EP2895954B1 (en) | Auction-based resource sharing for message queues in an on-demand services environment | |
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
US20140337532A1 (en) | Method and system for arbitraging computer resources in a cloud computing environment | |
US20150046279A1 (en) | Auction-based resource sharing for message queues in an on-demand services environment | |
CN108090225A (zh) | 数据库实例的运行方法、装置、***及计算机可读存储介质 | |
Yih et al. | Semi-Markov decision models for real-time scheduling | |
CN109684089A (zh) | 一种基于预测模型的任务调度方法、***及电子设备 | |
Estrin et al. | Measures, models and measurements for time-shared computer utilities | |
US20130238383A1 (en) | Auto-adjusting worker configuration for grid-based multi-stage, multi-worker computations | |
US10909495B2 (en) | Systems and methods for implementing incentive-based demand distribution techniques using queue time estimates | |
US20210352178A1 (en) | Systems and methods for routing incoming calls to operator devices based on performance analytics | |
JP2023096237A (ja) | コスト管理装置、コスト管理方法、およびプログラム | |
US20130054292A1 (en) | Determining relative criticality of service tickets in factory-style shared delivery | |
Cardonha et al. | Patience-aware scheduling for cloud services: Freeing users from the chains of boredom | |
JP7264731B2 (ja) | Apiプラン予測システム、及びapiプラン予測方法 | |
Çavdar et al. | Capacity allocation in a service system with preferred service completion times | |
US20210174295A1 (en) | Systems and methods for user selection of wearable items for next shipment in electronic clothing subscription platform | |
CN109919529B (zh) | 无人仓库的出库管理方法、装置、介质和电子设备 | |
Moreira et al. | Input-output control order release mechanism in a job-shop: how workload control improves manufacturing operations | |
CN110096364A (zh) | 一种云服务器计算集合控制方法及*** | |
Ostermeier et al. | A review and classification of scheduling objectives in unpaced flow shops for discrete manufacturing | |
US11856143B2 (en) | Systems and methods for forecasting inbound telecommunications associated with an electronic transactions subscription platform | |
Qiu et al. | Execution Time optimization of Workflow Network with Activity Lead-time |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211101 Address after: 569n, building 1, 668 SHANGDA Road, Baoshan District, Shanghai, 201900 Patentee after: Innovation wisdom (Shanghai) Technology Co.,Ltd. Address before: 510000 Room 101, building 1, No. 232 Kezhu Road, Science City, high tech Industrial Development Zone, Guangzhou, Guangdong Patentee before: ALNNOVATION (GUANGZHOU) TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |