CN109388482A - 任务的调度方法、装置及存储介质 - Google Patents

任务的调度方法、装置及存储介质 Download PDF

Info

Publication number
CN109388482A
CN109388482A CN201710685266.8A CN201710685266A CN109388482A CN 109388482 A CN109388482 A CN 109388482A CN 201710685266 A CN201710685266 A CN 201710685266A CN 109388482 A CN109388482 A CN 109388482A
Authority
CN
China
Prior art keywords
task
length
dispatch value
scheduling
attribute
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
Application number
CN201710685266.8A
Other languages
English (en)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201710685266.8A priority Critical patent/CN109388482A/zh
Priority to PCT/CN2018/100046 priority patent/WO2019029721A1/zh
Priority to EP18844234.7A priority patent/EP3667495A1/en
Publication of CN109388482A publication Critical patent/CN109388482A/zh
Withdrawn legal-status Critical Current

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/486Scheduler internals

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

本发明公开了一种任务的调度方法、装置及存储介质,用以至少提高现有任务调度的处理效率。所述方法包括:根据每个任务的任务属性,确定所述每个任务的调度步长;根据所述每个任务的调度步长,确定所述每个任务的调度值;根据各调度值的大小顺序,调度各调度值对应的任务执行。本发明有效地降低了现有任务调度方法的实现复杂度,有效提高任务处理效率和响应速度。

Description

任务的调度方法、装置及存储介质
技术领域
本发明涉及通讯技术领域,特别是涉及一种任务的调度方法、装置及存储介质。
背景技术
智能网是为了更灵活、方便、经济、有效地提供增值业务(即各种新业务),在传统的移动交换网中引入的一种叠加网络,整个移动网络便形成了由原有的交换层和叠加的智能层构成的网络结构,交换层负责完成基本业务呼叫连接功能,而复杂的一些增值业务则由智能层控制实现,常见的智能网业务有预付费业务、动感地带业务、充值业务等。
随着互联网应用的迅猛发展,智能网业务的管理界面接入方式发生了翻天覆地的变化,不再限于传统的电脑接入方式(例如WEB门户),手机、PAD各种终端接入方式越来越被大家认可,后台应用也在适应这种变化,将各功能独立化、模块化,避免模块间的强耦合,避免相同功能的重复开发和测试,通常会为用户通过不同渠道提交的请求建立一个或多个任务,生成任务标识写入任务表,同时将任务标识返回给渠道,由任务调度处理程序处理,处理结束后发消息给渠道通知处理结果或由渠道根据任务标识主动查询执行结果。
现有任务处理机制虽然解决了不同渠道相同功能的代码重用问题,但是在复杂的多并发多任务系统中,任务处理效率、响应速度、系统处理能力、系统开销、维护开销等方面仍需改进。
发明内容
为了克服上述缺陷,本发明要解决的技术问题是提供一种任务的调度方法、装置及存储介质,用以至少提高现有任务调度的处理效率。
为解决上述技术问题,本发明提供一种任务的调度方法,所述方法包括:
根据每个任务的任务属性,确定所述每个任务的调度步长;
根据所述每个任务的调度步长,确定所述每个任务的调度值;
根据各调度值的大小顺序,调度各调度值对应的任务执行。
可选地,所述根据每个任务的任务属性,确定所述每个任务的调度步长,包括:
根据所述每个任务的任务属性,确定所述每个任务的优先级;
根据所述每个任务的优先级,确定所述每个任务的调度步长。
具体地,所述优先级的顺序与所述调度步长的大小对应。
可选地,所述根根据每个任务的任务属性,确定所述每个任务的调度步长,包括:
根据所述每个任务的任务属性,在预设的映射表中匹配出所述每个任务的调度步长;所述映射表为任务属性和任务调度步长的映射关系表。
可选地,所述调度值的计算公式如下:
调度值=当前系统时间+调度步长。
可选地,所述调度步长由所述调度步长内的任务数量和每个任务的执行时间确定。
可选地,所述根据各调度值的大小顺序,调度各调度值对应的任务执行,包括:
将所述每个任务和所述每个任务对应的调度值写入任务队列;
在所述任务队列中,根据各调度值的大小顺序,调度各调度值对应的任务执行。
具体地,所述任务队列为单队列形式。
为解决上述技术问题,本发明提供一种任务的调度装置,所述装置包括存储器和处理器,所述存储器存储有任务的调度计算机程序,所述处理器执行所述计算机程序,以实现如上任意一项所述方法的步骤。
为解决上述技术问题,本发明提供一种计算机可读存储介质,所述介质存储有任务的调度计算机程序,所述计算机程序被至少一个处理器执行时,以实现如上任意一项所述方法的步骤。
本发明有益效果如下:
本发明中方法、装置及相应存储介质,通过根据任务的任务属性,确定所述任务的调度步长;根据所述调度步长,确定所述任务的调度值;根据所述调度值,调度所述任务执行,从而有效降低了现有任务调度方法的实现复杂度,有效解决多并发多任务系统的任务按优先级调度而存在的问题,有效提高任务处理效率和响应速度。
附图说明
图1是本发明实施例中一种任务的调度方法流程图;
图2是本发明实施例中一种任务的调度装置的结构示意图。
具体实施方式
为了解决现有技术的问题,本发明提供了一种任务的调度方法、装置及存储介质,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。
实施例一
如图1所示,本发明实施例提供一种任务的调度方法,所述方法包括:
S101,根据每个任务的任务属性,确定所述每个任务的调度步长;
S102,根据所述每个任务的调度步长,确定所述每个任务的调度值;
S103,根据各调度值的大小顺序,调度各调度值对应的任务执行。
本发明实施例中方法用于多并发多任务系统。
本发明实施例中方法可以广泛用于需要严格按照优先级调度任务的领域,例如:票务系统、订单处理系统等。
本发明实施例通过根据任务的任务属性,确定所述任务的调度步长;根据所述调度步长,确定所述任务的调度值;根据所述调度值,调度所述任务执行,从而有效降低了现有任务调度方法的实现复杂度,有效解决多并发多任务系统的任务按优先级调度存在的问题,有效提高任务处理效率和响应速度。
在上述实施例的基础上,进一步提出上述实施例的变型。
在本发明实施例中,可选地,所述根据每个任务的任务属性,确定所述每个任务的调度步长,包括:
根据所述每个任务的任务属性,确定所述每个任务的优先级;
根据所述每个任务的优先级,确定所述每个任务的调度步长。
进一步地,所述优先级的顺序与所述调度步长的大小对应。
可选地,所述根据每个任务的任务属性,确定所述每个任务的调度步长,包括:
根据所述每个任务的任务属性,在预设的映射表中匹配出所述每个任务的调度步长;所述映射表为任务属性和任务调度步长的映射关系表。
也就是说,如表1所示,任务属性-任务调度步长映射表(简称为映射表)记录了任务属性、任务的优先级和任务的调度步长的对应关系,本发明实施例中,通过映射表简化了任务优先级的判断,使优先级的设置也更加灵活,从而使队列的维护开销不会随优先级增多而指数级的增长。
在本发明实施例中,可选地,所述调度值的计算公式如下:
调度值=当前系统时间(精确到百毫秒)+调度步长(精确到百毫秒)。
本发明实施例中调度值的计算公式中包含了任务创建时间(当前系统时间)和任务的优先级信息(调度步长),从而确保了优先级最高且最先创建的任务被最先调度。
在本发明实施例中,可选地,所述调度步长由所述调度步长内的任务数量和每个任务的执行时间确定。
也就是说,本发明实施例中,各优先级任务对应的调度步长,是区分任务优先级的关键,调度步长的设定要确保在此步长时间段内所有该等级的任务都能执行完,这样才能避免发生越级调度,调度步长只影响任务的调度顺序和任务的实际调度时间无关,其中调度步长可以以天为单位配置(内部转换为百毫秒)。
可选地,所述根据各调度值的大小顺序,调度各调度值对应的任务执行,包括:
将所述每个任务和所述每个任务对应的调度值写入任务队列;
在所述任务队列中,根据各调度值的大小顺序,调度各调度值对应的任务执行。
也就是说,按照调度值从小到大的顺序,调度各调度值对应的任务执行。
进一步地,所述任务队列为单队列形式。
以下详细说明本发明实施例。
本发明实施例中采用单队列替代现有技术中的多队列,引入了调度步长,根据任务的多个属性来确定任务的优先级和调度步长,只要调度步长足够大,就能确保任务严格按照优先级来调度,同时当高优先级的任务都被执行完成后低优先级任务能被及时调度。
进一步,通过任务属性-任务调度步长映射表,来确定任务的优先级及对应的调度步长;获取任务调度步长后,根据调度值计算公式计算出此任务的调度值,按照调度值从小到大的顺序依次调度任务执行,调度时不需要关心任务的优先级,也不需要关心任务的创建时间顺序。
本发明实施例在具体实现时,可以采用软件模块的形式。例如本发明实施例中主要包括任务接收模块、映射表配置模块、调度值计算模块、任务队列、任务调度执行模块。
所述任务接收模块,主要负责接收任务请求,任务请求中包含:任务类型、任务渠道(例如;web,手机App)、任务参数等任务属性。任务接收模块提取任务属性,传递给调度值计算模块计算调度值。
所述映射表配置模块,主要负责配置任务属性对应的任务优先级和调度步长,供调度值计算模块计算调度值使用,支持多个任务属性联合确定任务优先级和调度步长。调度步长的设定要确保在此步长时间段内所有该等级的任务都能执行完,这样才能避免发生越级调度,调度步长只影响任务的调度顺序和任务的实际调度时间无关,建议以天为单位配置(内部转换为百毫秒)。
所述调度值计算模块,主要负责根据任务的属性查映射表确定任务优先级及调度步长,根据调度值计算公式计算出任务的调度值。具体公式为:
调度值=当前系统时间(精确到百毫秒)+调度步长(精确到百毫秒)。
所述任务队列存储所有未执行完的任务,按调度值为任务排序,调度值越小优先级越高调度越优先。
所述任务调度执行模块,主要负责按调度值从小到大的顺序依次从任务队列中获取任务执行并返回执行结果。
基于以上软件模块,本发明实施例的任务调度过程可以包括以下步骤:
(1)根据任务的业务需求确定任务属性对应的任务优先级和调度步长,通过映射表配置模块配置任务属性和任务优先级及任务调度步长映射关系。
(2)任务接收模块接收任务请求,解析任务属性,将任务属性传递给调度值计算模块。
(3)调度值计算模块根据任务属性查映射表获取任务调度步长。根据调度值计算公式计算出任务调度值,并将任务属性、任务优先级和调度值写入任务队列。
(4)任务调度执行模块从任务队列中获取任务调度值最小的任务调度执行。
本发明实施例中方法,与现有技术相比,可以解决复杂的多优先级多任务实时系统中任务调度优先级问题,映射表的引入简化了任务优先级的判断,使优先级的设置也更加灵活,任务队列的维护开销不会随优先级增多而指数级的增长;任务调度值的计算方法确保了任务严格按照优先级调度;任务的调度值只在任务进入调度队列前生成,不需要动态调整和修正,保证了任务调度的高效,提高了任务响应时间和处理效率。
举一具体应用例说明本发明实施例。
本应用例涉及的任务调度处理过程包括以下部分:
步骤1:根据任务属性的分类,配置业务属性对应的优先级和调度步长映射表。
步骤2:接收任务请求,解析任务属性,转入步骤3。
步骤3:根据任务属性,对照映射表获取优先级和调度步长,并根据调度值计算公式计算出调度值,转入步骤4。
步骤4:将任务的属性和优先级及调度值存储在数据库任务表中。
步骤5:从任务表中获取调度值最小的任务。
步骤6:判断是否存在任务,如果存在则下一步转入步骤7,否则转入步骤8。
步骤7:执行任务并返回执行结果。
步骤8:休眠一段时间。
实施例二
如图2所示,本发明实施例提供一种任务的调度装置,所述装置包括存储器20和处理器22,所述存储器20存储有任务的调度计算机程序,所述处理器22执行所述计算机程序,以实现如实施例一中任意一项所述方法的步骤。
本发明实施例通过根据任务的任务属性,确定所述任务的调度步长;根据所述调度步长,确定所述任务的调度值;根据所述调度值,调度所述任务执行,从而有效降低了现有任务调度方法的实现复杂度,有效解决多并发多任务系统的任务按优先级调度问题,提高任务处理效率和响应速度。
具体说,所述处理器22执行所述计算机程序,以实现如下步骤:
根据每个任务的任务属性,确定所述每个任务的调度步长;
根据所述每个任务的调度步长,确定所述每个任务的调度值;
根据各调度值的大小顺序,调度各调度值对应的任务执行。
可选地,所述根据每个任务的任务属性,确定所述每个任务的调度步长,包括:
根据所述每个任务的任务属性,确定所述每个任务的优先级;
根据所述每个任务的优先级,确定所述每个任务的调度步长。
其中,所述优先级的顺序与所述调度步长的大小对应。
可选地,所述根据每个任务的任务属性,确定所述每个任务的调度步长,包括:
根据所述每个任务的任务属性,在预设的映射表中匹配出所述每个任务的调度步长;所述映射表为任务属性和任务调度步长的映射关系表。
可选地,所述调度值的计算公式如下:
调度值=当前系统时间+调度步长。
可选地,所述调度步长由所述调度步长内的任务数量和每个任务的执行时间确定。
可选地,所述根据各调度值的大小顺序,调度各调度值对应的任务执行,包括:
将所述每个任务和所述每个任务对应的调度值写入任务队列;
在所述任务队列中,根据各调度值的大小顺序,调度各调度值对应的任务执行。
在此需要说明的是,本发明实施例在具体实现时可以参阅实施例一,也具有相应的技术效果。
实施例三
本发明实施例提供一种计算机可读存储介质,所述介质存储有任务的调度计算机程序,所述计算机程序被至少一个处理器执行时,以实现如实施例一中任意一项所述方法的步骤。
本发明实施例中计算机可读存储介质可以是RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域已知的任何其他形式的存储介质。可以将一种存储介质藕接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路中。
在此需要说明的是,本发明实施例在具体实现时可以参阅实施例一和实施例二,也具有相应的技术效果。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种任务的调度方法,其特征在于,所述方法包括:
根据每个任务的任务属性,确定所述每个任务的调度步长;
根据所述每个任务的调度步长,确定所述每个任务的调度值;
根据各调度值的大小顺序,调度各调度值对应的任务执行。
2.如权利要求1所述的方法,其特征在于,所述根据每个任务的任务属性,确定所述每个任务的调度步长,包括:
根据所述每个任务的任务属性,确定所述每个任务的优先级;
根据所述每个任务的优先级,确定所述每个任务的调度步长。
3.如权利要求2所述的方法,其特征在于,所述优先级的顺序与所述调度步长的大小对应。
4.如权利要求1所述的方法,其特征在于,所述根据每个任务的任务属性,确定所述每个任务的调度步长,包括:
根据所述每个任务的任务属性,在预设的映射表中匹配出所述每个任务的调度步长;所述映射表为任务属性和任务调度步长的映射关系表。
5.如权利要求1所述的方法,其特征在于,所述调度值的计算公式如下:
调度值=当前系统时间+调度步长。
6.如权利要求1所述的方法,其特征在于,所述调度步长由所述调度步长内的任务数量和每个任务的执行时间确定。
7.如权利要求1-4中任意一项所述的方法,其特征在于,所述根据各调度值的大小顺序,调度各调度值对应的任务执行,包括:
将所述每个任务和所述每个任务对应的调度值写入任务队列;
在所述任务队列中,根据各调度值的大小顺序,调度各调度值对应的任务执行。
8.如权利要求7所述的方法,其特征在于,所述任务队列为单队列形式。
9.一种任务的调度装置,其特征在于,所述装置包括存储器和处理器,所述存储器存储有任务的调度计算机程序,所述处理器执行所述计算机程序,以实现如权利要求1-8中任意一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述介质存储有任务的调度计算机程序,所述计算机程序被至少一个处理器执行时,以实现如权利要求1-8中任意一项所述方法的步骤。
CN201710685266.8A 2017-08-11 2017-08-11 任务的调度方法、装置及存储介质 Withdrawn CN109388482A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710685266.8A CN109388482A (zh) 2017-08-11 2017-08-11 任务的调度方法、装置及存储介质
PCT/CN2018/100046 WO2019029721A1 (zh) 2017-08-11 2018-08-10 任务的调度方法、装置、设备及存储介质
EP18844234.7A EP3667495A1 (en) 2017-08-11 2018-08-10 Task scheduling method, apparatus and device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710685266.8A CN109388482A (zh) 2017-08-11 2017-08-11 任务的调度方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN109388482A true CN109388482A (zh) 2019-02-26

Family

ID=65272794

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710685266.8A Withdrawn CN109388482A (zh) 2017-08-11 2017-08-11 任务的调度方法、装置及存储介质

Country Status (3)

Country Link
EP (1) EP3667495A1 (zh)
CN (1) CN109388482A (zh)
WO (1) WO2019029721A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10616402B2 (en) 2017-12-22 2020-04-07 FinancialForce.com, Inc. Using call data to log activities and generate activity records
US11256860B2 (en) 2018-09-13 2022-02-22 FinancialForce.com, Inc. Service provider server-based architecture for server-suggested data
CN112035237B (zh) * 2020-09-11 2023-10-24 中国银行股份有限公司 审核次序的优化调度方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346215A (zh) * 2013-08-07 2015-02-11 中兴通讯股份有限公司 一种任务调度服务系统及方法
CN104915253A (zh) * 2014-03-12 2015-09-16 中国移动通信集团河北有限公司 一种作业调度的方法及作业处理器
CN105069250A (zh) * 2015-08-24 2015-11-18 哈尔滨工程大学 一种基于调度粒度的任务优先级计算方法
US9235645B1 (en) * 2010-03-26 2016-01-12 Open Invention Network, Llc Systems and methods for managing the execution of processing jobs

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104035818A (zh) * 2013-03-04 2014-09-10 腾讯科技(深圳)有限公司 多任务调度的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9235645B1 (en) * 2010-03-26 2016-01-12 Open Invention Network, Llc Systems and methods for managing the execution of processing jobs
CN104346215A (zh) * 2013-08-07 2015-02-11 中兴通讯股份有限公司 一种任务调度服务系统及方法
CN104915253A (zh) * 2014-03-12 2015-09-16 中国移动通信集团河北有限公司 一种作业调度的方法及作业处理器
CN105069250A (zh) * 2015-08-24 2015-11-18 哈尔滨工程大学 一种基于调度粒度的任务优先级计算方法

Also Published As

Publication number Publication date
EP3667495A1 (en) 2020-06-17
WO2019029721A1 (zh) 2019-02-14

Similar Documents

Publication Publication Date Title
US20180121766A1 (en) Enhanced human/machine workforce management using reinforcement learning
CN106506670B (zh) 一种云平台虚拟资源高速调度方法与系统
CN109634748A (zh) 集群资源调度方法、装置、设备及计算机可读存储介质
CN111078436B (zh) 数据处理的方法、装置、设备及存储介质
CN106815066A (zh) 一种定时任务调度方法、装置及系统
CN109388482A (zh) 任务的调度方法、装置及存储介质
CN112465615B (zh) 账单数据的处理方法、装置及系统
CN110221927A (zh) 异步消息处理方法和装置
CN109542608A (zh) 一种基于混合排队网络的云仿真任务调度方法
CN107045696A (zh) 一种订单处理方法及装置
CN102903046A (zh) 一种移动终端的实时拼车系统
CN101702833B (zh) 一种移动网格任务调度方法
US20230032235A1 (en) Energy efficiency evaluation method and related device
CN106874079A (zh) 一种任务执行的方法及装置
CN111597035B (zh) 基于多线程的仿真引擎时间推进方法及系统
CN109947568A (zh) 定时任务处理方法、系统、计算机设备及存储介质
CN110262910A (zh) 基于延时队列的分布式任务轮询的方法
CN106845746A (zh) 一种支持大规模实例密集型应用的云工作流管理系统
CN106021512A (zh) 一种页面刷新方法及装置
CN114595051B (zh) 一种增强云计算协作数据处理的方法、系统及电子设备
CN109784506A (zh) 一种车辆救援服务系统控制方法、设备及可读存储介质
CN114710571A (zh) 数据包处理系统
CN116643854A (zh) 一种服务编排方法、装置、流程控制器及任务处理器
CN112099932A (zh) 边缘计算中软-硬截止期任务卸载的最佳定价方法及系统
CN110400043A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20190226