CN107748696B - 一种任务调度的方法及终端设备 - Google Patents

一种任务调度的方法及终端设备 Download PDF

Info

Publication number
CN107748696B
CN107748696B CN201710852637.7A CN201710852637A CN107748696B CN 107748696 B CN107748696 B CN 107748696B CN 201710852637 A CN201710852637 A CN 201710852637A CN 107748696 B CN107748696 B CN 107748696B
Authority
CN
China
Prior art keywords
task
tasks
execution
executed
scheduling
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.)
Active
Application number
CN201710852637.7A
Other languages
English (en)
Other versions
CN107748696A (zh
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.)
OneConnect Smart Technology Co Ltd
Original Assignee
OneConnect Financial Technology Co Ltd Shanghai
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 OneConnect Financial Technology Co Ltd Shanghai filed Critical OneConnect Financial Technology Co Ltd Shanghai
Priority to CN201710852637.7A priority Critical patent/CN107748696B/zh
Priority to PCT/CN2018/076287 priority patent/WO2019056695A1/zh
Publication of CN107748696A publication Critical patent/CN107748696A/zh
Application granted granted Critical
Publication of CN107748696B publication Critical patent/CN107748696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明适用于计算机技术领域,提供了一种任务调度的方法及终端设备,所述方法包括:采用实时获取或者周期获取的方式,获取待执行的任务集;根据任务集中的任务之间的依赖关系,以及对任务的历史执行数据的分析结果,设置任务的执行顺序;向后台并行发送对每个任务的网络请求,并等待后台对每个网络请求的响应结果;按照执行顺序调度任务。本发明的技术方案使得任务在被调度时已经获取到任务执行所需的网络资源和数据,从而减少了网络资源和数据的请求时间,提高了整个任务的执行效率,同时实现了根据用户对任务所对应的功能的不同使用习惯有针对性的设置任务的执行顺序,增强了智能化水平,提高终端的整体易用性。

Description

一种任务调度的方法及终端设备
技术领域
本发明属于计算机技术领域,尤其涉及一种任务调度的方法及终端设备。
背景技术
目前,智能终端等终端设备对按照一定顺序执行的多个任务往往采用串行的独立任务调度方式,即一个任务在被调度之前不会对该任务进行任何预处理,一个任务在完全执行完成后才会再调度下一个任务,这种调度方式导致任务的执行效率低。
同时,现有终端设备往往是简单的按照任务产生的先后顺序设置任务的执行顺序,任务执行顺序的设置方式单一,不够灵活,没有考虑不同用户对任务所对应的功能的不同使用习惯,智能化水平较低,影响终端的整体易用性。
发明内容
有鉴于此,本发明实施例提供了一种任务调度的方法及终端设备,以解决现有技术中串行独立任务调度方式导致任务的执行效率低,以及任务执行顺序设置方式单一,智能化水平较低的问题。
本发明实施例的第一方面提供了一种任务调度的方法,包括:
采用定期获取或者实时获取的方式,获取待执行的任务集;
根据所述任务集中的任务之间的依赖关系,以及对所述任务的历史执行数据的分析结果,设置所述任务的执行顺序;
向后台并行发送对每个所述任务的网络请求,并等待所述后台对每个所述网络请求的响应结果,其中,所述网络请求用于请求执行所述任务需要的网络资源和数据;
按照所述执行顺序调度所述任务。
本发明实施例的第二方面提供了一种终端设备,所述终端设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务调度的方法的程序,所述处理器执行所述任务调度的方法的程序时实现如下步骤:
采用定期获取或者实时获取的方式,获取待执行的任务集;
根据所述任务集中的任务之间的依赖关系,以及对所述任务的历史执行数据的分析结果,设置所述任务的执行顺序;
向后台并行发送对每个所述任务的网络请求,并等待所述后台对每个所述网络请求的响应结果,其中,所述网络请求用于请求执行所述任务需要的网络资源和数据;
按照所述执行顺序调度所述任务。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有任务调度的方法的程序,所述任务调度的方法的程序被至少一个处理器执行时,实现以下步骤:
采用定期获取或者实时获取的方式,获取待执行的任务集;
根据所述任务集中的任务之间的依赖关系,以及对所述任务的历史执行数据的分析结果,设置所述任务的执行顺序;
向后台并行发送对每个所述任务的网络请求,并等待所述后台对每个所述网络请求的响应结果,其中,所述网络请求用于请求执行所述任务需要的网络资源和数据;
按照所述执行顺序调度所述任务。
本发明实施例与现有技术相比存在的有益效果是:一方面,通过先向后台并行发送对每个任务的网络请求,再按照执行顺序调度任务,使得任务在被调度时已经获取到任务执行所需的网络资源和数据,从而减少了网络资源和数据的请求时间,提高了整个任务的执行效率;另一方面,根据任务之间的依赖关系,以及对任务的历史执行数据的分析结果,设置任务的执行顺序,实现了根据用户对任务所对应的功能的不同使用习惯有针对性的设置任务的执行顺序,从而增强了智能化水平,提高终端的整体易用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的任务调度的方法的实现流程图;
图2是本发明实施例提供的任务调度的方法中步骤S102的具体实现流程图;
图3是本发明实施例提供的任务调度的装置的示意图;
图4是本发明实施例提供的终端设备的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
请参阅图1,图1示出了本发明实施例提供的任务调度的方法的实现流程,详述如下:
S101:采用定期获取或者实时获取的方式,获取待执行的任务集。
在本发明实施例中,待执行的任务集中包含至少一个待执行的任务。获取任务集具体可以采用定期获取或者实时获取的方式。
若采用定期获取的方式,则每隔预定时间获取一次任务集,该预定时间可以根据应用的需要进行设置,此处不做限制。若采用实时获取的方式,则每当生成新的任务时,将该新的任务加入任务集中。
S102:根据任务集中的任务之间的依赖关系,以及对任务的历史执行数据的分析结果,设置任务的执行顺序。
在本发明实施例中,通过对任务的历史执行数据的分析,可以了解用户对任务所对应的功能的使用习惯,若某个任务在一段时间内被执行了多次,则说明用户频繁的使用该任务对应的功能。历史执行数据可以是任务在一段时间内的执行次数,通过对任务集中的任务的历史执行数据进行分析,得到任务的执行频率,并分析出执行频率高的任务和执行频率低的任务,再结合任务之间的依赖关系,设置任务的执行顺序。
例如,假设待执行的任务集中包含任务A、任务B、任务C和任务D,通过对历史执行数据的分析,发现任务A的执行频率高于任务B的执行频率,任务C的执行频率高于任务D的执行频率,但是任务A的执行依赖于任务D的执行,那么任务的执行顺序可以设置为按照任务C、任务D、任务A和任务B的顺序执行。
进一步地,任务的执行顺序可以通过配置文件的形式进行保存。
S103:向后台并行发送对每个任务的网络请求,并等待后台对每个网络请求的响应结果,其中,该网络请求用于请求执行任务需要的网络资源和数据。
在本发明实施例中,任务在执行之前需要先获取执行该任务的网络资源和相关数据,向后台并行发送对每个任务的网络请求,同时请求每个任务所需的网络资源和数据。
后台接收到任务的网络请求后,根据该网络请求为该任务分配相应的网络资源和数据,并返回对该网络请求的响应结果。
响应结果包括分配成功和分配失败,若分配成功,则任务在执行时可以根据该响应结果使用分配的网络资源和数据,若分配失败,则可以重新向后台发送网络请求,直到分配成功或者达到最大发送次数为止。
需要说明的是,若达到最大发送次数时网络请求的响应结果仍为分配失败,则将该任务从已经设置好的执行顺序中删除,不再执行该任务。
可以理解的是,步骤S102和步骤S103没有必然的先后执行顺序,步骤S102和步骤S103也可以同时执行,此处不做限制。
S104:按照执行顺序调度任务。
在本发明实施例中,按照步骤S102设置的任务的执行顺序对任务进行调度。
在对任务进行调度时,首先判断当前调度的任务是否已经收到后台返回的对该任务的网络请求的响应结果,若已经收到响应结果,则执行该任务,若未收到响应结果,则继续等待,待收到响应结果后执行该任务,当前调度任务执行完成后会返回对应的执行结果,当接收到当前调度任务的执行结果后,确认任务执行完毕,按照执行顺序继续调度下一个任务。
进一步地,根据任务的执行顺序将任务存入任务队列中,按照任务队列的顺序调度任务。
在图1对应的实施例中,一方面,在按照设置的执行顺序对任务进行调度之前,先向后台并行发送对每个任务的网络请求,然后再按照执行顺序调度任务进行执行,使得任务在被调度时已经获取到任务执行所需的网络资源和数据,直接根据获取的网络资源和数据执行即可,从而减少了网络资源和数据的请求时间,提高了整个任务的执行效率;另一方面,根据任务之间的依赖关系,以及对任务的历史执行数据的分析结果,设置任务的执行顺序,实现了根据用户对任务所对应的功能的不同使用习惯有针对性的设置任务的执行顺序,从而增强了智能化水平,提高终端的整体易用性。
在图1对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S102中提及的根据任务之间的依赖关系和对任务的历史执行数据的分析结果,设置任务的执行顺序的具体实现过程进行详细说明。
请参阅图2,图2示出了本发明实施例提供的S102的具体实现流程,详述如下:
S1021:获取任务在预定时间内的执行次数和取消次数。
在本发明实施例中,执行次数是指在预定时间内任务被执行完成的次数,取消次数是指在预定时间内任务被取消的次数。例如,当任务对应的功能为升级应用APP,那么在终端的显示界面上将会显示是否升级应用APP的提示对话框,并等待用户确认是否升级,当用户确认需要升级,可以点击对话框中的确认键,则该任务将被执行,当用户确认不需要升级,可以点击对话框中的取消键,则该任务将被取消。
获取预定时间内的任务的执行次数和取消次数,进而根据执行次数和取消次数判断用户对任务所对应的功能的使用习惯。
预定时间可以根据实际使用的需要进行设置,此处不做限制。
S1022:根据执行次数和取消次数计算任务的权重值。
在本发明实施例中,根据步骤S1021获取到的任务的执行次数和取消次数,计算任务的权重值。通过权重值标识任务的重要性,使得重要的任务能够获得较高的执行优先级,不重要的任务对应的执行优先级则相对较低。
进一步地,计算任务的权重值的一种具体的实现方式如下:
按照公式(1)计算任务的权重值:
Figure BDA0001413774250000061
其中,f为任务的权重值,n为该任务在预定时间内的执行次数,m为预定时间内执行的任务总数,t为该任务在预定时间内的取消次数,α为执行次数的预设权重占比,β为取消次数的预设权重占比,α+β=1。
执行次数的预设权重占比α和取消次数的预设权重占比β分别代表执行次数和取消次数在任务的权重值中所占的权重,α和β的具体取值可以根据实际应用的需要进行设置,此处不做限制,但需满足条件α+β=1。
S1023:根据权重值设置任务的优先级顺序。
在本发明实施例中,根据步骤S1022计算得到的每个任务的权重值,对任务设置优先级顺序。即权重值高的任务其优先级高,权重值低的任务其优先级低。假设待执行的任务集中包含任务A、任务B、任务C和任务D,其中,任务A的权重值为3.5,任务B的权重值为2.2,任务C的权重值为2.9,任务D的权重值为3.2,那么其优先级顺序从高到低依次为任务A、任务D、任务C和任务B。
S1024:分析每个任务之间的依赖关系。
在本发明实施例中,任务之间的依赖关系是指一个任务的执行依赖另一个任务的执行结果,即任务之间必须按照一定的执行顺序进行执行。
通过分析每个任务之间的依赖关系,确定具有先后执行顺序的任务。
S1025:按照依赖关系对任务的优先级顺序进行调整,得到任务的执行顺序。
在本发明实施例中,根据步骤S1024分析得到的依赖关系,对步骤S1023得到的任务优先级顺序进行调整,将优先级顺序中不满足依赖关系的任务的执行顺序调整为合理的执行顺序。
例如待执行的任务集中包含任务A、任务B、任务C和任务D,其优先级顺序为从高到低依次为任务A、任务D、任务C和任务B,而通过对任务A、任务B、任务C和任务D之间的依赖关系的分析,得到任务C与任务D之间存在依赖关系,即任务C需要先于任务D执行,则根据该依赖关系对优先级顺序进行调整,的奥任务的执行顺序为任务A、任务C、任务B和任务D。
在图2对应的实施例中,根据任务的执行次数和取消次数,按照公司(1)计算任务的权重值,进而根据该权重值设置任务的优先级顺序,从而在设置任务的执行顺序时能够考虑用户对任务所对应的功能的使用习惯,由于不同的用户使用习惯不同,因此得到的优先级顺序更加具有针对性,符合用户的需求,从而增强了智能化水平,提高终端的整体易用性,同时,在根据权重值得到任务的优先级顺序的基础上,考虑任务之间的依赖关系,并根据依赖关系对优先级顺序进行调整,避免任务在执行过程中由于执行顺序错误而导致执行失败,确保了设置任务的执行顺序的准确性和任务执行的成功率。
在上述实施例的基础之上,在步骤S104按照执行顺序调度任务之后,本发明实施例提供的任务调度的方法的另一个具体的实施例如下:
若在预设的等待时间内未接收到关于当前调度任务的响应结果,则删除当前调度任务,继续调度下一个任务。
在本实施例中,在对任务进行调度时,首先判断当前调度任务是否已经收到后台返回的对该任务的网络请求的响应结果,若未收到响应结果,则继续等待,但是如果在预设的等待时间内一直没有收到后台返回的响应结果,则删除当前调度任务,按照执行顺序继续调度下一个任务。
需要说明的是,预设的等待时间可以根据实际应用的需要进行设置,此处不做限制。
通过对响应结果的异常处理过程,保证了任务集中的任务能够按照设置的执行顺序处理完成,不会因为某一个任务因获取网络资源和数据出现异常而导致其他任务无法继续执行。
在上述实施例的基础之上,在步骤S104按照执行顺序调度任务之后,本发明实施例提供的任务调度的方法的另一个具体的实施例如下:
若在预设的执行时间内未接收到关于当前调度任务的执行结果,则删除当前调度任务,继续调度下一个任务。
在本实施例中,在对任务进行调度时,首先判断当前调度任务是否已经收到后台返回的对该任务的网络请求的响应结果,已经收到响应结果,则执行该任务,并等待当前调度任务的执行结果,如果在预设的执行时间内一直没有收到当前调度任务的执行结果,则删除当前调度任务,按照执行顺序继续调度下一个任务。
需要说明的是,预设的执行时间可以根据实际应用的需要进行设置,此处不做限制。
通过对执行结果的异常处理过程,保证了任务集中的任务能够按照设置的执行顺序处理完成,不会因为某一个任务因执行过程出现异常无法返回执行结果而导致其他任务无法继续执行。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的任务调度的方法,图3示出了本发明实施例提供的任务调度的装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。
请参阅图3,该任务调度的装置包括:
获取单元31,用于采用定期获取或者实时获取的方式,获取待执行的任务集;
设置单元32,用于根据待执行的任务集中的任务之间的依赖关系,以及对任务的历史执行数据的分析结果,设置任务的执行顺序;
请求单元33,用于向后台并行发送对每个任务的网络请求,并等待后台对每个网络请求的响应结果,其中,该网络请求用于请求执行任务需要的网络资源和数据;
调度单元34,用于按照任务的执行顺序调度任务。
可选地,设置单元32包括:
次数获取子单元,用于获取任务在预定时间内的执行次数和取消次数;
权重计算子单元,用于根据执行次数和取消次数计算任务的权重值;
优先级设置子单元,用于根据任务的权重值设置任务的优先级顺序;
依赖关系分析子单元,用于分析每个任务之间的依赖关系;
顺序调整子单元,用于按照依赖关系对优先级顺序进行调整,得到任务的执行顺序。
可选的,权重计算子单元还用于:
按照如下公式计算任务的权重值:
Figure BDA0001413774250000101
其中,f为任务的权重值,n为任务在预定时间内的执行次数,m为预定时间内执行的任务总数,t为任务在预定时间内的取消次数,α为执行次数的预设权重占比,β为取消次数的预设权重占比,α+β=1。
可选的,该任务调度的装置还包括:
请求异常处理单元35,用于若在预设的等待时间内未接收到关于当前调度任务的响应结果,则删除当前调度任务,继续调度下一个任务。
可选的,该任务调度的装置还包括:
执行异常处理单元36,用于若在预设的执行时间内未接收到关于当前调度任务的执行结果,则删除当前调度任务,继续调度下一个任务。
请参阅图4,图4是本发明一实施例提供的终端设备的示意图。如图4所示,该实施例的终端设备4包括:处理器40、存储器41以及存储在存储器41中并可在处理器40上运行的计算机程序42,例如任务调度的程序。处理器40执行计算机程序42时实现上述各个任务调度的方法实施例中的步骤,例如图1所示的步骤S101至步骤S104。或者,处理器40执行计算机程序42时实现上述各装置实施例中各单元的功能,例如图3所示单元31至单元36的功能。
示例性的,计算机程序42可以被分割成一个或多个单元,一个或者多个单元被存储在存储器41中,并由处理器40执行,以完成本发明。一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序42在终端设备4中的执行过程。例如,计算机程序42可以被分割成获取单元、设置单元、请求单元和调度单元,各单元具体功能如下:
获取单元,用于采用定期获取或者实时获取的方式,获取待执行的任务集;
设置单元,用于根据待执行的任务集中的任务之间的依赖关系,以及对任务的历史执行数据的分析结果,设置任务的执行顺序;
请求单元,用于向后台并行发送对每个任务的网络请求,并等待后台对每个网络请求的响应结果,其中,该网络请求用于请求执行任务需要的网络资源和数据;
调度单元,用于按照任务的执行顺序调度任务。
可选地,设置单元包括:
次数获取子单元,用于获取任务在预定时间内的执行次数和取消次数;
权重计算子单元,用于根据执行次数和取消次数计算任务的权重值;
优先级设置子单元,用于根据任务的权重值设置任务的优先级顺序;
依赖关系分析子单元,用于分析每个任务之间的依赖关系;
顺序调整子单元,用于按照依赖关系对优先级顺序进行调整,得到任务的执行顺序。
可选的,权重计算子单元还用于:
按照如下公式计算任务的权重值:
Figure BDA0001413774250000111
其中,f为任务的权重值,n为任务在预定时间内的执行次数,m为预定时间内执行的任务总数,t为任务在预定时间内的取消次数,α为执行次数的预设权重占比,β为取消次数的预设权重占比,α+β=1。
可选的,计算机程序42还可以被分割成请求异常处理单元,该单元具体功能如下:
请求异常处理单元,用于若在预设的等待时间内未接收到关于当前调度任务的响应结果,则删除当前调度任务,继续调度下一个任务。
可选的,计算机程序42还可以被分割成执行异常处理单元,该单元具体功能如下:
执行异常处理单元,用于若在预设的执行时间内未接收到关于当前调度任务的执行结果,则删除当前调度任务,继续调度下一个任务。
终端设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是终端设备4的示例,并不构成对终端设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备4还可以包括输入输出设备、网络接入设备、总线等。
处理器40可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器41可以是终端设备4的内部存储单元,例如终端设备4的硬盘或内存。存储器41也可以是终端设备4的外部存储设备,例如终端设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器41还可以既包括终端设备4的内部存储单元也包括外部存储设备。存储器41用于存储计算机程序42以及终端设备4所需的其他程序和数据。存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (9)

1.一种任务调度的方法,其特征在于,应用于终端设备,所述方法包括:
采用定期获取或者实时获取的方式,获取待执行的任务集;
根据所述任务集中的任务之间的依赖关系,以及对所述任务的历史执行数据的分析结果,设置所述任务的执行顺序;
向后台并行发送对每个所述任务的网络请求,并等待所述后台对每个所述网络请求的响应结果,其中,所述网络请求用于请求执行所述任务需要的网络资源和数据;
按照所述执行顺序调度所述任务;
其中,所述根据所述任务集中的任务之间的依赖关系,以及对所述任务的历史执行数据的分析结果,设置所述任务的执行顺序包括:
从历史执行数据中获取所述任务在预定时间内的执行次数和取消次数;
根据所述执行次数和所述取消次数计算所述任务的权重值;
根据所述权重值设置所述任务的优先级顺序;
分析每个所述任务之间的依赖关系;
按照所述依赖关系对所述优先级顺序进行调整,得到所述任务的执行顺序。
2.如权利要求1所述的方法,其特征在于,所述根据所述执行次数和所述取消次数计算所述任务的权重值包括:
按照如下公式计算所述权重值:
Figure FDA0002410854500000011
其中,f为所述权重值,n为所述任务在预定时间内的执行次数,m为所述预定时间内执行的任务总数,t为所述任务在预定时间内的取消次数,α为所述执行次数的预设权重占比,β为所述取消次数的预设权重占比,α+β=1。
3.如权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:
若在预设的等待时间内未接收到关于当前调度任务的响应结果,则删除所述当前调度任务,继续调度下一个任务。
4.如权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:
若在预设的执行时间内未接收到关于当前调度任务的执行结果,则删除所述当前调度任务,继续调度下一个任务。
5.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如下步骤:
采用定期获取或者实时获取的方式,获取待执行的任务集;
根据所述任务集中的任务之间的依赖关系,以及对所述任务的历史执行数据的分析结果,设置所述任务的执行顺序;
向后台并行发送对每个所述任务的网络请求,并等待所述后台对每个所述网络请求的响应结果,其中,所述网络请求用于请求执行所述任务需要的网络资源和数据;
按照所述执行顺序调度所述任务;
其中,所述根据所述任务集中的任务之间的依赖关系,以及对所述任务的历史执行数据的分析结果,设置所述任务的执行顺序包括:
从历史执行数据中获取所述任务在预定时间内的执行次数和取消次数;
根据所述执行次数和所述取消次数计算所述任务的权重值;
根据所述权重值设置所述任务的优先级顺序;
分析每个所述任务之间的依赖关系;
按照所述依赖关系对所述优先级顺序进行调整,得到所述任务的执行顺序。
6.如权利要求5所述的终端设备,其特征在于,所述根据所述执行次数和所述取消次数计算所述任务的权重值包括:
按照如下公式计算所述权重值:
Figure FDA0002410854500000021
其中,f为所述权重值,n为所述任务在预定时间内的执行次数,m为所述预定时间内执行的任务总数,t为所述任务在预定时间内的取消次数,α为所述执行次数的预设权重占比,β为所述取消次数的预设权重占比,α+β=1。
7.如权利要求5至6任一项所述的终端设备,其特征在于,所述处理器执行所述计算机程序时还实现如下步骤:
若在预设的等待时间内未接收到关于当前调度任务的响应结果,则删除所述当前调度任务,继续调度下一个任务。
8.如权利要求5至6任一项所述的终端设备,其特征在于,所述处理器执行所述计算机程序时还实现如下步骤:
若在预设的执行时间内未接收到关于当前调度任务的执行结果,则删除所述当前调度任务,继续调度下一个任务。
9.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的任务调度的方法的步骤。
CN201710852637.7A 2017-09-20 2017-09-20 一种任务调度的方法及终端设备 Active CN107748696B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710852637.7A CN107748696B (zh) 2017-09-20 2017-09-20 一种任务调度的方法及终端设备
PCT/CN2018/076287 WO2019056695A1 (zh) 2017-09-20 2018-02-11 任务调度的方法、装置、终端设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710852637.7A CN107748696B (zh) 2017-09-20 2017-09-20 一种任务调度的方法及终端设备

Publications (2)

Publication Number Publication Date
CN107748696A CN107748696A (zh) 2018-03-02
CN107748696B true CN107748696B (zh) 2020-05-01

Family

ID=61255741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710852637.7A Active CN107748696B (zh) 2017-09-20 2017-09-20 一种任务调度的方法及终端设备

Country Status (2)

Country Link
CN (1) CN107748696B (zh)
WO (1) WO2019056695A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725995B (zh) * 2018-06-15 2024-04-12 中国平安人寿保险股份有限公司 数据抽取任务执行方法、装置、设备及可读存储介质
CN108958920B (zh) * 2018-07-13 2021-04-06 众安在线财产保险股份有限公司 一种分布式任务调度方法及系统
CN109144762B (zh) * 2018-07-19 2022-01-07 厦门集微科技有限公司 一种修复异常调度任务的处理方法及装置
CN109062680A (zh) * 2018-08-15 2018-12-21 腾讯科技(深圳)有限公司 一种数据加载方法、装置和存储介质
CN109902819B (zh) * 2019-02-12 2023-04-18 Oppo广东移动通信有限公司 神经网络计算方法、装置、移动终端及存储介质
CN110287018B (zh) * 2019-07-04 2021-08-13 中国工商银行股份有限公司 批量任务编排方法及装置
CN113282383B (zh) * 2020-02-19 2024-03-12 中科寒武纪科技股份有限公司 任务调度方法、任务处理方法及相关产品
CN111782377A (zh) * 2020-07-24 2020-10-16 Oppo广东移动通信有限公司 一种任务执行控制方法、装置及计算机可读存储介质
CN112286661B (zh) * 2020-10-30 2021-10-15 海通证券股份有限公司 任务调度方法及装置、存储介质、终端
CN112306661B (zh) * 2020-11-06 2023-09-15 平安科技(深圳)有限公司 任务调度方法、装置、电子设备及可读存储介质
EP4322015A4 (en) * 2021-05-29 2024-05-08 Huawei Tech Co Ltd DATA PROCESSING METHOD AND DEVICE
CN115225712B (zh) * 2022-07-01 2023-11-21 福建天泉教育科技有限公司 一种接口编排方法及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103488691A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 任务调度装置和任务调度方法
CN103838621A (zh) * 2012-11-27 2014-06-04 中国电信股份有限公司 用于调度例行作业的方法和系统、调度节点
CN104142855A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 任务的动态调度方法与装置
CN105117286A (zh) * 2015-09-22 2015-12-02 北京大学 MapReduce中任务的调度方法和流水化执行方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130051076A (ko) * 2011-11-09 2013-05-20 한국전자통신연구원 응용프로그램 스케줄링 방법 및 장치
US20170024258A1 (en) * 2015-07-21 2017-01-26 Hartford Fire Insurance Company System for optimizing batch job dependencies
CN107179896A (zh) * 2016-03-09 2017-09-19 阿里巴巴集团控股有限公司 任务处理方法和装置
CN106293920A (zh) * 2016-08-15 2017-01-04 北京票之家科技有限公司 任务调度方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103838621A (zh) * 2012-11-27 2014-06-04 中国电信股份有限公司 用于调度例行作业的方法和系统、调度节点
CN104142855A (zh) * 2013-05-10 2014-11-12 中国电信股份有限公司 任务的动态调度方法与装置
CN103488691A (zh) * 2013-09-02 2014-01-01 用友软件股份有限公司 任务调度装置和任务调度方法
CN105117286A (zh) * 2015-09-22 2015-12-02 北京大学 MapReduce中任务的调度方法和流水化执行方法

Also Published As

Publication number Publication date
WO2019056695A1 (zh) 2019-03-28
CN107748696A (zh) 2018-03-02

Similar Documents

Publication Publication Date Title
CN107748696B (zh) 一种任务调度的方法及终端设备
CN108173905B (zh) 一种资源配置方法、装置及电子设备
US9720739B2 (en) Method and system for dedicating processors for desired tasks
CN107688495B (zh) 调度处理器的方法及设备
CN108052396B (zh) 一种资源分配方法及系统
US8606905B1 (en) Automated determination of system scalability and scalability constraint factors
CN111061556A (zh) 执行优先级任务的优化方法、装置、计算机设备及介质
CN108241539B (zh) 基于分布式系统的交互式大数据查询方法、装置、存储介质和终端设备
US11210127B2 (en) Method and apparatus for processing request
JP6221588B2 (ja) 情報処理システム、管理装置制御プログラム及び情報処理システムの制御方法
CN111191777A (zh) 一种神经网络处理器及其控制方法
CN115033352A (zh) 多核处理器任务调度方法、装置及设备、存储介质
CN112559147A (zh) 基于gpu占用资源特点的动态匹配算法、系统和设备
CN115098257A (zh) 一种资源调度方法、装置、设备以及存储介质
CN115237589A (zh) 一种基于sr-iov的虚拟化方法、装置和设备
CN110008187B (zh) 文件传输调度方法、装置、设备及计算机可读存储介质
US11711795B2 (en) Apparatus and method for altruistic scheduling based on reinforcement learning
CN115640113A (zh) 多平面弹性调度方法
CN104301944A (zh) 资源能力分配方法和设备
CN109462491B (zh) 用于测试服务器功能的系统、方法和装置
CN111258729B (zh) 基于Redis的任务分配方法、装置、计算机设备及存储介质
CN111858542B (zh) 数据处理方法、装置、设备及计算机可读存储介质
CN113918291A (zh) 多核操作系统流任务调度方法、系统、计算机和介质
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
CN110018906B (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
TA01 Transfer of patent application right

Effective date of registration: 20180612

Address after: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Applicant after: Shenzhen one ledger Intelligent Technology Co., Ltd.

Address before: 200000 Xuhui District, Shanghai Kai Bin Road 166, 9, 10 level.

Applicant before: Shanghai Financial Technologies Ltd

TA01 Transfer of patent application right
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1250069

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant